1 / 24

fi-ppp.eu fi-ware.eu

FI-WARE NGSI Overview Juanjo Hierro Telefonica Digital, Coordinator and Chief Architect, FI-WARE jhierro@tid.es , @ JuanjoHierro. http://www.fi-ppp.eu http://www.fi-ware.eu. 1. Index. 01. Basic concepts APIs NGSI in the FI-WARE Architecture. 02. 03. 01. Basic concepts. Context.

elysia
Télécharger la présentation

fi-ppp.eu fi-ware.eu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FI-WARE NGSI OverviewJuanjoHierroTelefonica Digital, Coordinator and Chief Architect, FI-WAREjhierro@tid.es, @JuanjoHierro http://www.fi-ppp.eu http://www.fi-ware.eu 1

  2. Index 01 Basic concepts APIs NGSI in the FI-WARE Architecture 02 03

  3. 01 Basic concepts

  4. 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, …) Applications ContextBroker

  5. 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-datalinked 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 Meta-data ContextElement ContextElementattributes • Name • Type • Value “has” “has” • EntityId • EntityType • Name • Type • Value 1 n 1 n

  6. 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

  7. 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)

  8. 02 APIs

  9. 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

  10. 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 Consumerscan retrieve data/context elements by invoking the queryContext operation on a Context Broker updateContext queryContext ContextConsumer Context Producer Context (Publish/Subscribe)Broker

  11. Basic entities and operations (2) • SomeContextProducersmayalsoexport a queryContextoperationContextBrokersmayinvoke at anygiven time toqueryonvalues of a designated set of attributeslinkedto a given set of entities. They are calledContextProviders. • 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 Application registerContext (producer URI, registration data, duration, registration_id) queryContext queryContext ContextProvider Context (Publish/Subscribe) Broker ContextConsumer

  12. 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 Application subscription_id = subscribeContext (consumer, expr, duration) notifyContext (subscription_id, data/context) Context (Publish/Subscribe) Broker ContextConsumer

  13. 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.

  14. Context Broker Federation (1) • A Context Broker may be subscribed as Context Consumer on another Context Broker Application subscr_id_1 = subscribeContext (consumer1, expr1, duration1) updateContext notifyContext queryContext ContextBroker 2 Context Producer ContextConsumer 1 query notifyContext ContextConsumer 2 subscr_id_2 = subscribeContext (ContextBroker GE 2, expr2, duration2) ContextBroker 1 Application

  15. Context Broker Federation (2) • A Context Broker may be subscribed as Context Producer on another Context Broker Application subscription_id_1 = subscribe (consumer1, expr1, duration1) updateContext notifyContext queryContext ContextBroker 2 Context Producer ContextConsumer 1 query queryContext ContextConsumer 2 registerContext (ContextBroker GE 2, what, duration2) ContextBroker 1 Application

  16. Handling multiple subscriptions • A single Context Broker GE may handle several subscriptions • A Context Consumer may be subscribed through more than one subscription • A ContextConsumermay consume eventsthroughsubscriptionsormakingexplicitqueries Context Broker GE ContextConsumers subscriptions query Context Producers update notify subscription ports update Producers port query notify

  17. 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 registerContext discoverContext Application 2 Application 1 Context (Publish/Subscribe)Broker

  18. Extended operations (2) • Some applicationscan be subscribed to registration of entities or availability of attributes and attribute domains which comply with certain conditions, using the subscribeContextAvailabilityoperation a ContextBrokermay 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 notifyContextAvailabilityoperation they export • Note that the subscriber and subscribed applications may not be the same application1 subscription_id = subscribeContextAvailability (application2, expr, duration) notifyContextAvailability (subscription_id, updates) ContextBroker application2

  19. 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

  20. 03 NGSI in the FI-WARE Architecture

  21. FI-WARE Context/Data Management Platform Applications Processing/AnalysisAlgorithms OMA NGSI-9/10 ContextBroker(Orion/CAP) Gathered data isinjectedforprocessing/analysis Data generatedeitherby CEP orBigDataispublished BigDataAnalysis/Processing (COSMOS) Gathered data injectedfor CEP-likeprocessing Directbigdatainjection DistributedContextSources ComplexEventProcessing - CEP (PROTON) Processed data isinjectedforprocessing/analysis Programming of rules Context/Data Management Platform

  22. FI-WARE IoT-M2M & Context/Management altogether Applications Directconnectionforhigher performance FI-WARE NGSI-9/10 (entities: things, other) Context Broker (Orion/CAP) CEP (PROTON) BigData Analysis (COSMOS) Other sources IoT-enabled Context Management NGSI IoT Adapter Device-level Management API FI-WARE NGSI-9/10 (entities: things) Things Management Backend Device Management (IDAS DCA) FI-WARE NGSI-9/10 Backend Backend Gateway/Device Platform GEs Gateway/Device Platform GEs

  23. FI-WARE IoT-M2M & Context/Management altogether Applications Directconnectionforhigher performance FI-WARE NGSI-9/10 (entities: things, other) Context Broker (Orion/CAP) CEP (PROTON) BigData Analysis (COSMOS) Other sources IoT-enabled Context Management NGSI IoT Adapter Device-level Management API FI-WARE NGSI-9/10 (entities: things) Things Management Backend Device Management (IDAS DCA) FI-WARE NGSI-9/10 Backend Backend Native NGSI IoT Agent Native NGSI IoT Agent Gateway/Device Platform GEs Gateway/Device Platform GEs Gateway/Device Platform GEs Gateway/Device Platform GEs

  24. Thanks !! http://www.fi-ware.eu

More Related