AllJoyn Analytics Service Framework 1.0 Interface Definition



Similar documents
Open Sourcing the Internet of Things

Present and Act Upon. Register. Consume. Stream Analytics. Event Hubs. Field Gateway. Applications Cloud Gateway. Legacy IoT (custom protocols)

Getting Started with the AllJoyn Lighting Service Framework 14.12

IoT Cloud, All Seen Alliance. Masanari Arai 荒 井 真 成 CEO, Kii Corpora0on

AllJoyn Device System Bridge

Cid Santos Luis Matos. Introduction to AllJoyn

Secure Cloud and Remote Service Connections for AllJoyn Applications

Secure Cloud and Remote Service Connections for AllJoyn Applications

Secure Cloud and Remote Service Connections for AllJoyn Applications

The Netskope Active Platform

AllJoyn Framework System Overview

COAP: A Software-Defined Approach for Managing Residential Wireless Gateways

Getting Started Android + Linux. February 27 th, 2014

Programming the Internet of Things

RapidIO Network Management and Diagnostics

WhiteWave's Integrated Managed File Transfer (MFT)

Fast Innovation requires Fast IT

OSGi Service Platform in Integrated Management Environments Telefonica I+D, DIT-UPM, Telvent. copyright 2004 by OSGi Alliance All rights reserved.

NETWORK ACCESS CONTROL AND CLOUD SECURITY. Tran Song Dat Phuc SeoulTech 2015

Extreme Networks: A SOLUTION WHITE PAPER

Product Comparison List

Xerox Mobile Print Cloud

Hypertable Architecture Overview

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Atrium Discovery for Storage. solution white paper

SMI-S; Manage the Storage in Your Data Center PRESENTATION TITLE GOES HERE

Alliance Key Manager A Solution Brief for Technical Implementers

This presentation describes the IBM Tivoli Monitoring 6.1 Firewall Implementation: KDE Gateway Component.

API Management: Powered by SOA Software Dedicated Cloud

Enterprise Historian 3BUF D1 Version 3.2/1 Hot Fix 1 for Patch 4 Release Notes

Fairsail REST API: Guide for Developers

Building the Internet of Things Jim Green - CTO, Data & Analytics Business Group, Cisco Systems

Skynax. Mobility Management System. System Manual

Installation Guide Avi Networks Cloud Application Delivery Platform Integration with Cisco Application Policy Infrastructure

Websense Web Security Gateway: Integrating the Content Gateway component with Third Party Data Loss Prevention Applications

SDN and NFV in the WAN

About the VM-Series Firewall

Decoding DNS data. Using DNS traffic analysis to identify cyber security threats, server misconfigurations and software bugs

Application Centric Infrastructure Object-Oriented Data Model: Gain Advanced Network Control and Programmability

Connection Broker Managing User Connections to Workstations, Blades, VDI, and More. Quick Start with Microsoft Hyper-V

ONEM2M SERVICE LAYER PLATFORM

Apigee Insights Increase marketing effectiveness and customer satisfaction with API-driven adaptive apps

Redefining Oracle Database Management

File S1: Supplementary Information of CloudDOE

A304a: Understanding User Needs for Field Management Stations Part 1 Object Definitions for Signal System Masters (SSM) Based on NTCIP 1210 Standard

WebSphere MQ Oracle Enterprise Gateway Integration Guide

DCS110 CATVisor COMMANDER

HP Operations Orchestration Software

Guide to the LBaaS plugin ver for Fuel

Application Whitelisting - Extend your Security Arsenal? Mike Baldi Cyber Security Architect Honeywell Process Solutions

Cisco IP Solution Center MPLS VPN Management 5.0

Universal Event Monitor for SOA Reference Guide

The Platform is the Planet

Introduction to Windows Azure Cloud Computing Futures Group, Microsoft Research Roger Barga, Jared Jackson,Nelson Araujo, Dennis Gannon, Wei Lu, and

How To Use Mindarray For Business

Parallels Mac Management v4.0

Analyzing Call Signaling

SCA-based Enterprise Service Bus WebSphere ESB

WISE-4000 Series. WISE IoT Wireless I/O Modules

Tool for Automated Provisioning System (TAPS) Version 1.2 (1027)

CTERA Cloud Onramp for IBM Tivoli Storage Manager

Xerox Mobile Print Cloud

Hands-On Lab. Embracing Continuous Delivery with Release Management for Visual Studio Lab version: Last updated: 12/11/2013

Voice over IP. Demonstration 1: VoIP Protocols. Network Environment

Introduction to QualysGuard IT Compliance SaaS Services. Marek Skalicky, CISM, CRISC Regional Account Manager for Central & Adriatic Eastern Europe

Universal plug and play (UPnP) mapping attacks

Realtime Multi-party Video Conferencing Service over Information Centric Networks

Study and installation of a VOIP service on ipaq in Linux environment

Owner of the content within this article is Written by Marc Grote

FireEye App for Splunk Enterprise

Thingsquare Technology

High Availability Essentials

Engagement Analytics Configuration Reference Guide

Flight Workflow User's Guide. Release

Top Five Security Must-Haves for Office 365. Frank Cabri, Vice President, Marketing Shan Zhou, Senior Director, Security Engineering

Pluribus Netvisor Solution Brief

WildFire Reporting. WildFire Administrator s Guide 55. Copyright Palo Alto Networks

Grandstream Networks, Inc.

CC3100 Over-The-Air (OTA) Update. Application Note

App Orchestration 2.0

IONA Security Platform

AN-POV-011 SNMP use with POV

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

- DLP Des nuages. à la terre ferme

Product Name: ANZ egate Connect Version: Document Type: Help doc Author: Milople Inc.

Technical. Overview. ~ a ~ irods version 4.x

Frequently Asked Questions

What communication protocols are used to discover Tesira servers on a network?

BS1000 command and backlog protocol

Information Supplement: Requirement 6.6 Code Reviews and Application Firewalls Clarified

OSGi Remote Management

Introduction to BlackBerry Development using Java ME. Presented by: Sean Fenton Technical Channel Manager RIM (Research in Motion )

Integrating Oracle Sales Cloud, Release 9 with JD Edwards EnterpriseOne release 9.1 Implementation Guide

JBoss SOAP Web Services User Guide. Version: M5

Monitoring the NTP Server. eg Enterprise v6.0

AKD EtherNet/IP Communication

Transcription:

AllJoyn Analytics Service Framework 1.0 Interface Definition February 17, 2015 This work is licensed under a Creative Commons Attribution 4.0 International License. http://creativecommons.org/licenses/by/4.0/ Any and all source code included in this work is licensed under the ISC License per the AllSeen Alliance IP Policy. https://allseenalliance.org/allseen/ip-policy

Contents 1 Introduction... 4 1.1 Purpose... 4 1.2 Scope... 4 1.3 Release history... 4 1.4 References... 4 2... 5 2.1 Overview... 5 2.2 Discovery... 7 2.3 Discovery call flows... 7 2.3.1 Typical discovery flow... 7 2.3.2 Non-typical discovery flow... 7 2.4 AnalyticsEventAgent interface... 8 2.4.1 AnalyticsEventAgent call flow... 8 2.4.2 Interface name... 9 2.4.3 Properties... 9 2.4.4 Methods... 10 2.4.5 AllJoyn AnalyticsEventAgent Introspection XML... 11 ii AllSeen Alliance

Contents Figures Figure 1. Analytics service architecture within the AllJoyn framework.... 5 Figure 2. Analytics app and agent running on same physical device.... 6 Figure 3. Application with analytics core linked in.... 6 Figure 4. Typical discovery call flow (client discovers a service app)... 7 Figure 5. Non-typical discovery call flow... 8 Figure 6. AnalyticsEventAgent call flow.... 9 iii AllSeen Alliance

1 Introduction 1.1 Purpose This document describes the specification of the AllJoyn Analytics Service Interface. This interface is intended to provide a standard, vendor-agnostic method of sending analytics information from devices on the AllJoyn proximal network to analytics services in the cloud. 1.2 Scope This document is targeted to the developers for AllJoyn applications. 1.3 Release history Release version What changed 14.12! AnalyticsEventAgent interface version 1 was added. 1.4 References The following are reference documents found on the AllSeen Alliance web site's Docs and Downloads section.! Introduction to the AllJoyn Framework! Introduction to AllJoyn Thin Library 4 AllSeen Alliance

2 2.1 Overview An agent implement the analytics interface, possibly as an AllJoyn Gateway Agent. It is expected that each device manufacturer would deploy an agent specific to its devices. The agent may run on the same physical device as the client application, or on a separate device, depending on the manufacturer s requirements. Figure 1 shows the relationship between an application and the analytics agent when running on two separate devices. Figure 2 illustrates the same configuration, but with client and service running on the same physical device. Figure 3 shows the analytics core linked into the application, with AllJoyn messages replaced with direct API calls. Client Device Service Device Application Analytics Agent AllJoyn API About Interface Analytics Interface AllJoyn Core AllJoyn Platform AllJoyn Core AllJoyn Platform Device OS Device OS Figure 1. Analytics service architecture within the AllJoyn framework. 5 AllSeen Alliance

Client Device Application Analytics Agent AllJoyn API About Interface Analytics Interface AllJoyn Core AllJoyn Platform Device OS Figure 2. Analytics app and agent running on same physical device. Client Device Application Analytics Core AllJoyn API AllJoyn Core AllJoyn Platform Device OS Figure 3. Application with analytics core linked in. 6 AllSeen Alliance

2.2 Discovery A client can discover the agent via an announcement which is a sessionless signal containing the basic app information like app name, device name, manufacturer, and model number. The announcement also contains the list of object paths and service interfaces to allow the client to determine whether the app provides functionality of interest. 2.3 Discovery call flows 2.3.1 Typical discovery flow Figure 4 illustrates a typical call flow for a client to discover a service app. The client merely relies on the sessionless announcement to decide whether to connect to the service app to use its service offering. Service Client About announcement with meta data and list of interfaces Search for session- less announcements announcement session- less signal join session using sender's address and port accept connection get Version property of the target interface return version number examine announcement looking for target interface get proxy object that implements the target interface Does the app support the version of interest? uses the target interface About interface Figure 4. Typical discovery call flow (client discovers a service app) 2.3.2 Non-typical discovery flow Figure 5 illustrates a call flow for a client to discover a service app and make a request for more detailed information. 7 AllSeen Alliance

Service Client About announcement with meta data and list of interfaces Search for session- less announcements announcement session- less signal join session using sender's address and port accept connection examine announcement looking for target interface get proxy object that implements the About interface call About.GetAboutData() for all the available meta data return the meta data get Version property of the target interface get proxy object that implements the target interface return version number uses the target interface Does the app support the version of interest? About interface Figure 5. Non-typical discovery call flow 2.4 AnalyticsEventAgent interface 2.4.1 AnalyticsEventAgent call flow Figure 6 illustrates a typical call flow for the AnalyticsEventAgent interface. 8 AllSeen Alliance

Analytics Agent Client App create AllJoyn session Create session per discovery process. Secure session requirements are implementation dependent. SetVendorData SetDeviceData Prepare any vendorspecific data required to initiate posting of analytics data. Prepare device-specific information needed to establish context for event data. Events will be collected by the agent, and sent to the analytics service. SubmitEvent The analytics service has been initialized. Events may now be emitted. Subsequent calls to SetVendorData or SetDeviceData will automatically flush any pending batched events. RequestDelivery [RequestDelivery may be called to force the transmission of any batched events.] Figure 6. AnalyticsEventAgent call flow. 2.4.2 Interface name Interface name Version Secured org.allseen.analytics.analyticseventagent 1 Yes. 2.4.3 Properties Property name Signature List of values Writable Description Version q Positive integers no Interface version number 9 AllSeen Alliance

2.4.4 Methods The following methods are exposed by a BusObject that implements the org.allseen.analytics.analyticseventagent interface. 2.4.4.1 SetDeviceData Inputs Parameter name Signature List of values Description values a{sv} List of key value pairs. Values to be logically included with all events. Vendor-specific requirements may cause errors to be thrown. Example: Model version number, device serial number. Description SetDeviceData is used to provide contextual information for events being generated by the device. These typically would include the fields described in Table 2 of the AllJoyn About Feature 1.0 Interface. 2.4.4.2 SetVendorData Inputs Parameter name Signature List of values Description values a{sv} List of key value pairs. Vendor-specific settings related to the functionality of the vendor s service. This could include API keys, upload protocol settings, etc. Description Allow the device to set vendor-specific values related to the functionality of the vendor s service. 2.4.4.3 RequestDelivery Description Request batched data to be flushed to the vendor s cloud service. 10 AllSeen Alliance

2.4.4.4 SubmitEvent Inputs Parameter name Signature List of values Description name s Event name The name of the application event. timestamp t Unix epoch timestamp Time at which the event occurred. This may be set to zero if the device does not have a real-time clock. sequence u Unsigned integer A monotonically increasing value providing a relative sequencing of events. values a{sv} List of key value pairs. Event attributes. Description Log an event to the analytics service. 2.4.5 AllJoyn AnalyticsEventAgent Introspection XML The following XML defines the org.allseen.analytics.analyticseventagent interface. <node name="/analytics" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="http://www.allseenalliance.org/schemas/int rospect.xsd"> <interface name="org.allseen.analytics.analyticseventagent"> <!-- set values to be logically included with all events. --> vendor-specific validator can cause errors to be thrown. Example: Model version number, device serial number. <method name="setdevicedata"> </method> <arg name="values" type="a{sv}" direction="in"/> <!-- set analytics-vendor-specific data for this device. API keys, upload protocol information, etc. --> <method name="setvendordata"> <arg name="values" type="a{sv}" direction="in"/> </method> 11 AllSeen Alliance

<!-- request flush of any batched data to cloud. --> <method name="requestdelivery"></method> <method name="submitevent"> <!-- event type --> <arg name="name" type="s" direction="in"/> <!-- epoch timestamp or 0 --> <arg name="timestamp" type="t" direction="in"/> <!-- sequence number, or 0 --> <arg name="sequence" type="u" direction="in"/> <!-- array of field names and values--> <arg name="values" type="a{sv}" direction="in"/> </method> <annotation name="org.alljoyn.bus.secure" value="on"/> </interface> </node> 12 AllSeen Alliance