http:// fi-ware ngsi overview juanjo hierro telefonica digital, coordinator and chief architect,...
Post on 31-Dec-2015
218 Views
Preview:
TRANSCRIPT
http://www.fi-ppp.euhttp://www.fi-ware.eu
FI-WARE NGSI OverviewJuanjo HierroTelefonica Digital, Coordinator and Chief Architect, FI-WAREjhierro@tid.es, @JuanjoHierro
1
Index
Basic concepts
APIs
NGSI in the FI-WARE Architecture
010203
01Basic concepts
Context
OMA NGSI Context Management is about management of Context data (aka Context Information)
Context Information is always relevant to “entities”, although entities can be anything (applications, users, things, …)
4
Context Broker
Applications
Context Elements (1/2)
Context Information in OMA NGSI is represented through data structures called context elements which have associated:• An EntityId and EntityType, uniquely identifying the entity to which context data refers.
• A sequence of one or more data element attributes (<name, type, value> triplets)
• Optional meta-data linked to attributes (also <name, type, value> triplets)
As an example, we may consider the context element reporting info on:• attributes “speed”, “geolocation”, “current established route” of a “car”, or
• attributes “last message geolocation”, “last message contents” of an “user”
The EntityId is a string, and can be used to designate “anything”, not necessarely “things” in the “real world” but also application entities
5
Meta-data
• Name• Type• Value
Context Element attributes
• Name• Type• Value
Context Element
• EntityId• EntityTyp
e 1 n 1 n
“has” “has”
Context Elements (2/2)
There may be as many kinds of Context Elements as combinations of attributes linked to an entity: • Typically a context element is generated whenever an query (update) on values of
a list of attributes linked to an entity is requested (occurs)
• Only queried/updated attributes are communicated, so the amount of information that is transmitted is minimized
Example:• Cars may have attributes “brand”, “model”, “license plate”, “established route”, “geo-
location”, “current speed”, “gas level”
• The first time existence of the car is recorded, a context element bringing values of attributes “brand”, “model”, “license plate” is generated
• Any time a route is established using the cars’ navigator, a context element bringing updated values of “established route”, “gas level” and “geo-location” is generated whenever a route is established
• A context element bringing updated values of “geo-location”, “current speed” and “gas level” is generated every x minutes
Occurrences of context elements are referred as “events” in FI-WARE
6
Conceptual model: advantages
Not linked to a particular data/context representation formalism:• Neither for transferring
• Nor storing
Can work with a standard IoT formats (SensorML) but at the same time allows to overcome the limitations derived from the adoption of a single standard format
The flexible nature of data structures linked to context elements enable an optimized communication (only information about queried or updated attributes is transferred)
7
02APIs
OMA NGSI and FI-WARE APIs
NGSI Context Management specs have been published by OMA but FI-WARE will not stick to what has been published:• Ready to change whatever makes the API more usable and useful
• Ready to incorporate extensions to make the API more powerful yet simple
• Ready to fast-track incorporated changes in OMA
That’s why we distinguish between “OMA NGSI” and “FI-WARE NGSI”
We may consider potential extensions dealing with stream-based communication in the future, for example
9
Basic entities and operations (1)
Context Producers publish data/context elements by invoking the updateContext operation on a Context (Publish/Subscribe) Broker.
Context data is kept persistent by Context Brokers and ready to be queried while not exceeding a given expiration time. This is a distinguishing feature of the OMA Context Management model as compared to some Event Brokering standards.
You can think in the Context Broker as a kind of virtual Repository/DB where producers insert context information and consumers query for it
Context Consumers can retrieve data/context elements by invoking the queryContext operation on a Context Broker
10
Context Consumer
queryContext
Context Producer Context (Publish/Subscribe)Broker
updateContext
Basic entities and operations (2)
Some Context Producers may also export a queryContext operation Context Brokers may invoke at any given time to query on values of a designated set of attributes linked to a given set of entities. They are called Context Providers.
Because Context Providers exporting the queryContext operation are typically unknown “a priori”, Context Brokers export a registerContext operation which enable to register what Context Producers may be queried
Note that the Application which subscribes a particular Context Producer may or may not be the/a Context Producer itself
11
Application
registerContext (producer URI, registration data, duration, registration_id)
Context Provider Context (Publish/Subscribe) Broker
queryContext
Context Consumer
queryContext
Basic entities and operations (3)
Some Context Consumers can be subscribed to reception of data/context elements which comply with certain conditions, using the subscribeContext operation a ContextBroker exports. Such subscriptions may have a duration.
Subscribed consumers spontaneously receive data/context elements compliant with that subscription through the notifyContext operation they export
Note that the Application which subscribes a particular Context Consumer may or may not be the/a Context Consumer itself
12
Application
subscription_id = subscribeContext (consumer, expr, duration)
Context ConsumerContext (Publish/Subscribe) Broker
notifyContext (subscription_id, data/context)
About queries, registrations and subscriptions
Queries, registrations and subscriptions requests are formulated on:• List of entity ids (these ids may include patters)
• List of attributes or “attribute domains” (identifiers used to denote a group of related attributes)
Besides, queries and subscriptions requests can be formulated so that certain restrictions, established as conditions upon values of given attributes or metadata, have to be met.
13
Context Broker Federation (1)
A Context Broker may be subscribed as Context Consumer on another Context Broker
14
Application
subscr_id_1 = subscribeContext (consumer1, expr1, duration1)
Context Consumer 1Context Broker 2
notifyContext
Context Producer
Context Consumer 2
query
notifyContext
Application
subscr_id_2 = subscribeContext (Context Broker GE 2, expr2, duration2)
Context Broker 1
updateContext
queryContext
Context Broker Federation (2)
A Context Broker may be subscribed as Context Producer on another Context Broker
15
Application
subscription_id_1 = subscribe (consumer1, expr1, duration1)
Context Broker 2
notifyContext
Context Producerquery
queryContext
Application
registerContext (Context Broker GE 2, what, duration2)
Context Broker 1
updateContext
queryContext
Context Consumer 2
Context Consumer 1
Handling multiple subscriptions
A single Context Broker GE may handle several subscriptions
A Context Consumer may be subscribed through more than one subscription
A Context Consumer may consume events through subscriptions or making explicit queries
16
Context Broker GE
ContextProducers
ContextConsumers
Producers port
subscription ports
subscriptions
update
query
notify
notify
update
query
Extended operations (1)
Context Brokers export the discoverContext operation enabling applications to discover entities or even attributes and attribute domains that have been registered in the system
17
Application 2
discoverContext
Application 1 Context (Publish/Subscribe)Broker
registerContext
Extended operations (2)Some applications can be subscribed to registration of entities or availability of
attributes and attribute domains which comply with certain conditions, using the subscribeContextAvailability operation a ContextBroker may export. Such subscriptions may have a duration.
Subscribed applications spontaneously receive updates on new entities, attributes or attribute domains compliant with that subscription through the notifyContextAvailability operation they export
Note that the subscriber and subscribed applications may not be the same
18
application1
subscription_id = subscribeContextAvailability (application2, expr, duration)
application2Context Broker
notifyContextAvailability (subscription_id, updates)
Some hints about OMA NGSI specs
Operations are grouped into two major interfaces (not clear why • NGSI-10
› updateContext
› queryContext
› subscribeContext / unsubscribeContext / updateContextSubscription
› notifyContext
• NGSI-9
› registerContext
› discoverContextAvailability
› subscribeContextAvailability / unsubscribeContextAvailability / updateContextAvailabilitySubscription
› notifyContextAvailability
19
03NGSI in the FI-WARE Architecture
FI-WARE Context/Data Management Platform
21
Context/Data Management Platform
Applications
OMA NGSI-9/10Processing/Analysis
Algorithms
Gathered data is injected for
processing/analysis
Distributed Context Sources
Complex Event Processing - CEP
(PROTON)
BigData Analysis/Processing
(COSMOS)
Context Broker (Orion/CAP)
Processed data is
injected for processing/an
alysis
Data generated either by CEP or
BigData is published
Gathered data injected for CEP-like
processing Direct bigdata injection
Programming of rules
FI-WARE IoT-M2M & Context/Management altogether
NGSI IoT Adapter
Backend Device Management (IDAS DCA)
Backend
Applications
FI-WARE NGSI-9/10
(entities: things)
(entities: things, other)
FI-WARE NGSI-9/10
Things Management
Device-level Management
API
Context Broker(Orion/CAP)
IoT-enabled Context
Management
Backend
BigData Analysis
(COSMOS)
CEP(PROTON)
Other sources
FI-WARE NGSI-9/10
Gateway/Device
Platform GEs
Direct connection for higher performance
Gateway/Device
Platform GEs
FI-WARE IoT-M2M & Context/Management altogether
NGSI IoT Adapter
Backend Device Management (IDAS DCA)
Backend
Applications
FI-WARE NGSI-9/10
(entities: things)
(entities: things, other)
FI-WARE NGSI-9/10
Things Management
Device-level Management
API
Context Broker(Orion/CAP)
IoT-enabled Context
Management
Backend
BigData Analysis
(COSMOS)
CEP(PROTON)
Other sources
FI-WARE NGSI-9/10
Gateway/Device
Platform GEs
Direct connection for higher performance
Gateway/Device
Platform GEsGateway/
Device Platform GEs
Gateway/Device
Platform GEs
Native NGSI IoT
Agent
Native NGSI IoT
Agent
Thanks !!
24
http://www.fi-ware.eu
top related