EP3241118A1 - Boitier de communication et de gestion d'equipements - Google Patents
Boitier de communication et de gestion d'equipementsInfo
- Publication number
- EP3241118A1 EP3241118A1 EP15817467.2A EP15817467A EP3241118A1 EP 3241118 A1 EP3241118 A1 EP 3241118A1 EP 15817467 A EP15817467 A EP 15817467A EP 3241118 A1 EP3241118 A1 EP 3241118A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- communication
- communication box
- equipment
- platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
- 238000004891 communication Methods 0.000 title claims abstract description 348
- 238000005259 measurement Methods 0.000 claims abstract description 46
- 238000011084 recovery Methods 0.000 abstract description 2
- 230000009471 action Effects 0.000 description 150
- 230000007246 mechanism Effects 0.000 description 77
- 230000006870 function Effects 0.000 description 50
- 238000000034 method Methods 0.000 description 43
- 238000013523 data management Methods 0.000 description 24
- 238000012517 data analytics Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 15
- 238000013519 translation Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 11
- 108700023290 Stanford University protocol Proteins 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 239000011800 void material Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000005611 electricity Effects 0.000 description 4
- 238000010438 heat treatment Methods 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 244000309464 bull Species 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241001101988 Proxys Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000009529 body temperature measurement Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000005204 segregation Methods 0.000 description 2
- 239000000344 soap Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011330 nucleic acid test Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 230000036642 wellbeing Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
- H04L12/2818—Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/803—Application aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
Definitions
- the invention relates to a communication and equipment management box, in a multi-vendor and multi-service system, for managing the data of a set of objects or equipment connected to a network.
- o to automate actions thanks to geolocation for example: open a gate, switch on the heating, manage the lighting, activate an alarm;
- Internet of Things actors are numerous and varied, as examples: connected equipment manufacturers, publishers / distributors of residential services, telecommunications operators, energy companies, insurers.
- an actor proposes an offer based on a certain number of equipment, sensors, and / or actuators selected from another identified supplier. This therefore requires close collaborative work between the concerned actor and the research and development teams of the identified supplier, in order to propose a product integration solution.
- Some Internet of Things players for their part, offer a wide variety of connected devices, while remaining, sometimes, their own developer of user services. Although collaboration with research and development teams is then facilitated, these actors are still unable to integrate equipment from different providers in their platforms, these platforms being proprietary. More generally, all of the solutions integrated into the same platform are currently solutions that integrate a priori equipment vendors determined. The possibilities of retrospective integration of equipment, sensors, and / or actuators remain very limited. These possibilities are, moreover, dependent on the characteristics of the supplier solutions that have to evolve, for example depending on the proprietary protocols employed and their evolutions. Therefore, these solutions lack adaptability;
- a communication box commonly referred to as "box” then interconnects the various equipment, sensors or actuators with service platforms or external networks.
- the user is often obliged to use a communication box by vendor, which implies ergonomic problems in his home;
- providers in charge of developing user services may want to access a set of reliable data in order, for example, to design residential services without necessarily being an equipment supplier.
- equipment Generally, equipment suppliers offer equipment with the possibility to remotely control them, access their data, set up scenarios, and support protocols (eg KNX, Zigbee,
- the present invention aims to address the aforementioned problems.
- a communication box for managing a plurality of user equipment including sensors and actuators installed in a predefined environment comprising
- a first communication interface for recovering at least one measurement measured by at least one of said plurality of user equipment
- a second communication interface for communicating at least one command to at least one actuator of said plurality of user equipments
- this communication box said measurement is recovered according to a first communication protocol and said command is communicated according to a second communication protocol, the first protocol being different from the second protocol.
- this communication box is, furthermore, configured to transmit at least one datum to a central data platform.
- this communication box has a non-addressable private address from said central data platform.
- said datum is a parameter associated with a piece of equipment of said plurality of user equipments.
- this communication box further comprises an application programming interface.
- this communication box is, furthermore, configured to receive said command.
- this local area network further comprises an integrated access device interfaced with said communication box.
- Fig. 1 is a diagram showing a multi-vendor and multi-service data management system according to one embodiment
- Fig. 2 is a data modeling relational schema according to one embodiment
- Fig. 3 is a class diagram of a node of the data modeling relational schema according to one embodiment
- Fig. 4 is a class diagram of another node of the data modeling relational schema according to one embodiment
- Fig. 5 is a topological diagram describing another node of the data modeling relational schema according to one embodiment
- FIG. 6 is a topological diagram describing another node of the data modeling relational schema according to one embodiment
- Fig. 7 is a topological subset describing another node of the data modeling relational schema according to one embodiment
- Fig. 8 is a diagram illustrating the elements relating to a service according to one embodiment
- Fig. 9 is a diagram illustrating the relationship between different services according to one embodiment.
- Fig. 10 is a figure illustrating an action manager according to one embodiment
- FIG. 11 illustrates a data flow relating to an action consumer according to one embodiment
- Figure 12 illustrates the establishment of a tunnel, for a communication mechanism between a communication box and a proxy according to one embodiment
- FIG. 13 illustrates remote handling of the communication box for the communication mechanism with a proxy according to one embodiment
- Fig. 14 illustrates transmission of an action request to an equipment associated actuator for the proxy communication mechanism according to one embodiment
- FIG. 15 illustrates the feedback of a measurement of a sensor associated with an equipment for the communication mechanism with a proxy according to one embodiment
- FIG. 16 illustrates the establishment of a connection between a central platform and a communication box for a communication mechanism implementing the UPnP protocol according to one embodiment
- FIG. 17 illustrates the remote control of the communication box for the communication mechanism implementing the UPnP protocol according to one embodiment
- Fig. 18 illustrates transmission of an action request to an equipment associated actuator for the communication mechanism implementing the UPnP protocol according to one embodiment
- FIG. 19 illustrates the feedback of a measurement of a sensor associated with an item of equipment for the communication mechanism implementing the UPnP protocol according to one embodiment
- FIG. 20 illustrates the establishment of a connection between a central platform and a communication box for a communication mechanism implementing the XMPP protocol according to one embodiment
- FIG. 21 illustrates remote handling of the communication box for the communication mechanism implementing the XMPP protocol according to one embodiment
- Fig. 22 illustrates the transmission of an action request to an equipment associated actuator for the communication mechanism implementing the XMPP protocol according to one embodiment
- FIG. 23 illustrates the feedback of a measurement of a sensor associated with an equipment for the communication mechanism implementing the XMPP protocol according to one embodiment
- FIG. 24 illustrates the establishment of a connection between a central platform and a communication box for a communication mechanism implementing the STUN protocol according to one embodiment
- FIG. 25 illustrates remote handling of the communication box for the communication mechanism implementing the STUN protocol according to one embodiment
- Fig. 26 illustrates the transmission of an action request to an equipment associated actuator for the communication mechanism implementing the STUN protocol according to one embodiment
- Fig. 27 illustrates the operation of a software platform according to one embodiment
- FIG. 28 illustrates an example of distribution of the elements of the software platform according to one embodiment
- FIG. 29 illustrates the realization of the unified access structure according to one embodiment
- FIG. 30 illustrates an operation of the unified access structure with equipment operating in a synchronous mode according to one embodiment
- FIG. 31 illustrates an operation of the unified access structure with equipment operating according to an asynchronous mode according to one embodiment.
- Fig. 1 is a diagram showing a multi-vendor and multi-service data management system 100 according to one embodiment.
- the data management system 100 is interfaced with the following entities:
- Equipment 1 disposed locally in a place or a predefined physical environment, for example in an indoor environment such as a home or office.
- Equipment 1 is provided (arrow 3) by equipment suppliers 2, that is to say technology manufacturers.
- the equipment 1 comprises sensors and makes it possible to go back to a central data platform 4, via a box-type communication box 5, of the quantifiable data and / or of the change of states associated with the data. measurements or status reports of said sensors (eg temperature measurement, position of a switch associated with a lighting system).
- the equipment 1 is connected to the communication box 5 via a wired or wireless network.
- the communication box 5 exchanges, locally or remotely, data with the central data platform 4, via another network, for example the Internet.
- the equipment 1 can perform physical actions (eg turn on the heating) via one or more actuators.
- an actuator performs an action following receipt of an action notification communicated from the communication box 5.
- the data exchanged between each equipment item 1 and the communication box 5, for example data transmission measured by the sensors or action notifications to an actuator of a device 1, are communicated according to one or more protocols 6 symbolized by a double arrow.
- a protocol 6 associated with a device can be a KNX, Zigbee, Wifi or Z-wave protocol;
- user service providers 7 typically players in the Internet world, developing and providing the user with user services targeted to a particular domain, for example security services, comfort, or well-being.
- these user service providers 7 have a complete business logic and perform user services based on data and basic services, provided prior to the central data platform 4.
- these user service providers 7 interface (arrow 8) with the central data platform 4 in a service architecture oriented mode, commonly referred to as SOA (acronym for "Oriented Service! Architecture");
- - data providers 9 of the Internet world providing for example meteorological data, news or social networks, to trace quantifiable data (eg weather measurements) or change of state data.
- these data providers 9 interface (arrow 10) also with the central data platform 4 in an SOA service oriented mode;
- elementary service providers 11 actors of the internet world, providing basic services to the central data platform 4 (eg implementation of a notification service), these services being used by the user service providers 7, as services "Basic" to realize the user services.
- these basic service providers 11 interface (arrow 12) also with the central data platform 4 in an SOA service architecture oriented mode.
- any provider may optionally play a plurality of roles.
- a data provider 9 may also be an equipment provider 2 and a user service provider 7.
- the data management system 100 takes into account several dimensions:
- a multi-service dimension that is to say integrates and proposes a plurality of types of user services, for example home automation and e-health;
- the equipment 1 supported by the system 100 can come from different manufacturers, and include characteristics specific to each of these manufacturers;
- the system 100 performs an analysis of data provided by equipment 1 or data providers 9, these data possibly being abstracted in advance to preserve their confidentiality. The results of the analysis then allow the system 100 to provide correlations, trends, predictions on these data;
- the data management system 100 comprises the following entities, the operation of which will be detailed later:
- the box-type communication box 5 can, for example, be deployed in the user's home.
- This box makes it possible to interconnect one or more devices 1 via a wired or wireless link according to a predetermined protocol that is a function of the manufacturer (ex: TCP / IP, ZigBee, Wifi) and to exchange data with the central data platform 4.
- a predetermined protocol that is a function of the manufacturer (ex: TCP / IP, ZigBee, Wifi) and to exchange data with the central data platform 4.
- the communication box 5 allows
- multi-vendor equipment that is to say, supports and manages a plurality of protocols, as well as the identifications and isolations of the data / resources of each of the services executed in parallel in this box; o guarantee secure and reliable communication with the central data platform 4; o to provide the central data platform 4 with exploitable multi-vendor data from the sensors of the equipment 1;
- the central data platform 4 concentrating and federating all the data coming from the communication boxes 5 deployed in various places (eg homes, offices), the data coming from the data providers, as well as the basic services necessary for the development of new user services.
- the central data platform 4 is configured to:
- raw data from sensors can be formatted / structured by the central data platform 4 in a pivot format, making it possible to abstract these data, such as an XML type format;
- a user service provider may have limited access to a certain type of data; o ensure the segregation of data and basic services.
- this makes it possible, in a multi-vendor environment, to make available to a set of providers 7 of user services the rich and multiple nature of the data, and this in a controlled manner by
- o ensure the confidentiality of data, for example, an anonymization of data via an abstraction method (eg abstraction of data in the same pivot format); o federate a set of basic services provided by the 11 basic service providers, in order to have a global, coherent and controlled ecosystem; o provide the basic services to the user service providers 7 for carrying out these services, as examples, of the workflow-type services
- Big Data Analytics provides usable data to an analytics mega-data module called Big Data Analytics
- a mega-data analysis module 13 (called “Big Data Analytics”) configured to analyze the data of the central data platform 4 with which it is interfaced.
- the mega-data analytics module 13 makes it possible, in particular, to establish, and then make available to the user service providers 7, correlations, trends, and / or predictions of the data recorded in the central data platform 4, by generating data reports. 'analysis (reporting services).
- FIGS. 2 to 7 illustrate a pre-established data topology embodiment, according to a unified modeling language, UML, the acronym for "Unified Modeling Language", this topology is detailed later.
- a data topology is used by the central platform 4 or the Big Data Analytics 13 module to classify the data recorded in the central data platform 4.
- a data topology describing a data classification pattern is prerecorded in the central data platform 4, and leveraged by the latter to classify the data.
- the central data platform 4 is configured to identify the source of a data, for example a measurement resulting from a sensor by reading its sound at the head, and then according to its source to classify it according to the topology. prerecorded.
- a pre-established topology is prerecorded in the mega-data analytic module 13.
- the latter is then configured to order / structure the data of the central data platform 4 in a database of this platform (eg a NoSQL database).
- a database of this platform eg a NoSQL database.
- the functions of the central data platform 4 and the mega-data analytic module 13 are performed by a single module (not shown).
- the data recorded / manipulated in the central data platform 4 is in the form of business objects, that is to say relative data structures, as examples, to equipment 1, objects Meus or entities interfacing and exchanging data with the data management system 100.
- the data management system 100 comprises the following business objects:
- Each home is associated with a unique identifier on the platform, identified by a type (eg individual, business) and associated with its own characteristics (boxes, equipment, sensors, actuators);
- Box this object designates any communication box 5 encapsulating services / functionalities and supporting different communication protocols.
- at least one communication unit 5 is associated, that is to say a "box” object, this object comprising a unique identifier;
- Equipment each equipment 1 is installed in a home, is connected only to a single communication box 5, and includes a unique identifier;
- Sensor a sensor makes it possible to measure a physical quantity or to identify a change and is associated with a single piece of equipment 1;
- an actuator is used to trigger an action following an event and is associated with a single device 1.
- FIG. 2 An example of a topology is shown in Figure 2, in the form of a tree structure composed of nodes and stops, in accordance with the UML standard.
- This tree includes, here, a root node "Root”, the other nodes pertaining to the entities of the platform. More particularly, each node of this model is associated with a class diagram, which will be described later.
- the relationship between each entity is represented by a stop (link) and a cardinality.
- the cardinalities of FIG. 2 are here proposed by way of purely illustrative example. For example, in this figure we see that the cardinality of the stop connecting the "Root" node to the "Entity” node is here "1. * ", which means that the "Root” node has one or more class instances. described in the "Entity” class.
- the arrows in this figure illustrate the dependencies between the different nodes, the nodes of this model being the following ones:
- Entity node this node designates a place, a person, an animal
- Data node this node represents the data of the central data platform 4.
- the sources of these data are the sensors, the aggregate data of a sensor, the data from the data providers 9 (ex: data environmental, data from social networks, or more generally any internet data);
- infrastructure node this node describes the different objects relating to the home environment, such as the objects "Box”, “Equipment”, “Sensor”, “Actuator” previously mentioned.
- infrastructure There are two types of infrastructure: managed or unmanaged.
- managed infrastructure denotes any object associated with a communication box 5 and, more generally, any connected object that can exchange data with the central data platform 4 and that can be supervised by the data management system 100. .
- a managed infrastructure is inventoried in the data management system 100 and configurable under the responsibility of this system.
- unmanaged infrastructure means any object or equipment 1 that can not be supervised by the data management system 100.
- Such an infrastructure remains however inventoried, that is to say, known data management system 100;
- actor node such a node designates the actors of the platform.
- An actor may be a user of the platform, a user service provider 7, a equipment supplier 2 or a service consumer.
- the role of each actor makes it possible to define the access rights to the data and services;
- ITN Provider Information Technology Provider
- this node describes all the providers of the central data platform 4: service providers 7 and / or service providers 11 elementary;
- “Client Account” node this node describes the account of a customer who subscribes to a set of services offered by the central data platform 4, or any user having equipment 1 supporting services offered by the central data platform 4 .
- FIG. 3 then describes the class diagram associated with the "Data" node previously described, that is to say the classes inheriting the "Data” node to classify the different types of data.
- a data item may include a measurement unit, for example refer to a temperature or a pressure measured by a sensor.
- a physical quantity may be associated with a plurality of measurement units.
- a temperature measurement it is possible to associate Celsius and Fahrenheit units; a data item may not include a measurement, for example when it relates to a state (eg: open or closed state of a door);
- a data item may be of the media type, for example text, an image or video.
- Data may furthermore comprise a plurality of sources
- “Sensor data” these data come from sensors, and are for example raw data (untreated) returned by the sensors, or a set of aggregated data according to a predetermined structure (eg structured according to a pivot format), this together relating to the measurements of at least one sensor; “Environmental data”: these are data that are not provided by the system 100. These data relate to a set of aggregated data of a predetermined geographical area (eg region, city) and may relate as examples temperatures, pressures or particle levels; "Internet data” says “web data”: this data can be text, image, video or any other multimedia support provided by a data provider 9.
- Figure 4 illustrates a class diagram describing the instances of the "Entity” node.
- a datum relating to the "Entity” class may be classified in one of the following instances (“subclasses”):
- “Place” class any space equipped with sensors, for example a business or a home;
- Object class generally any object placed in a physical space (eg office, home) using one or more sensors to measure a physical quantity or a state.
- a physical space e.g office, home
- an object may be a refrigerator equipped with a temperature sensor and transmission / reception means.
- a place may comprise a plurality of objects.
- Figure 5 is a topological diagram describing the different types of place and their compositions.
- the system 100 aims to manage all the equipment 1 or connected objects deployed in different locations, said equipment 1 or objects being themselves arranged in specific areas and provided with sensors.
- a place is either a business or a home.
- data relating to the "Location" class can be categorized in the "Home” or "Company” instances.
- the “Home” class includes here for instance the following classes: “Kitchen”, “Dining room”, “Stay”, “Room”, “Guest room”, “Cellar”, “Garden”, “Garage”.
- the “Enterprise” class can be implemented by the following bodies: “Home”, “Meeting Room”, “Office”, “Executive Office”, “Open Area” commonly referred to as “Open Space” Anglicism , “Technical Room”, “Archive”, “Sanitary”.
- the characteristics of the "Sensor" class introduced in FIG. 2 make it possible to provide data to the basic service providers 11 for the development of reliable services.
- a sensor can be described not the following characteristics:
- reaction time of the sensor
- Figure 6 illustrates a topological diagram for classifying a data pertaining to the "Sensor" class.
- the "Sensor" class includes for instances:
- a class "physical magnitude sensor” this type of sensor allows measurement of a physical quantity such as a flow of water, gas, electricity consumption, a temperature value, pressure, or a humidity rate ;
- Sensor of state this type of sensor makes it possible to identify the state of an object, for example the state of a door (closed or opened).
- Other examples include a presence sensor, or an image sensor.
- the "Actor” node of FIG. 2 comprises for instance the "Role” node, an actor of the system 100 that can combine different roles.
- Figure 7 illustrates the topological subset relating to this latter entity.
- the "Role” class includes the following instances:
- Data Provider class: a data provider 9 provides data that will be exploited by the services offered by the central data platform 4;
- Equipment Provider an equipment supplier 2 provides hardware objects for the system 100 such as sensors, equipment 1, actuators;
- Service Provider class: a user service provider 7 provides and exposes the user services on the central data platform 4;
- Service consumer class refers to the actors operating the services exposed by the central data platform 4.
- a builder Household appliance equipment can leverage data from the 4 Central Data Platform to adapt its offer.
- a user service provider 7 or equipment provider 2 can use services exposed by the central data platform 4.
- the actor is both a service / equipment provider and a service consumer;
- User class designates a person, situated for example in a home or a company, having at least one communication box 5 of type
- FIG. 8 is a topological diagram illustrating, according to the UML standard, the modeling of a service.
- the node symbolizing the "Service” class is connected by stops to the following instances: "Supplier”, “Consumer”, “Interface”, “Type of service”.
- a service of the data management system 100 has the following characteristics:
- the data management system 100 makes it possible to provide user services and manage these services from their technical design to their deployment.
- the central data platform 4 offers basic services and elaborate services, the latter being carried out via a fixed number of basic services.
- Figure 9 illustrates the topological relationship between these different services, we distinguish:
- request-type services these services concern the data.
- the data can be raw data relating to sensors or aggregated data;
- notification services these services perform a set of specific operations, relying on the data stored in the central data platform 4.
- these services make it possible to carry out a diagnosis, or to recommend a scenario relating to equipment 1, in order to optimize the consumption of non-renewable energies such as electricity, gas, and water;
- these services are performed according to a predetermined sequence of workflows, commonly referred to as the "workflow”. These services make it possible to carry out a set of operations by making common use of the basic services.
- the set of previously described nodes, as well as their topological subsets constitute a semantic data model.
- the Big Data Analytics mega-data module 13 (or the central data platform 4) is configured to apply a processing on the data recorded in the central platform 4.
- the analytic mega-data module 13 classifies, segments, aggregates, abstracts and / or formats any data from the central platform 4.
- each data item includes a characteristic identifier of its origin, for example an identifier relating to the address of an internet network or a communication box
- the analytics module 13 of big data classifies according to these identifiers the raw or aggregated user data from the sensors, or the data internet provided by 9 data providers.
- the mega-data analytics module 13 optionally proceeds to this data at an abstraction / anonymization step, making it possible to preserve their confidentiality, and then makes them accessible to the user service providers 7.
- the mega-data analytics module 13 provides services for different phases of use of the data stored in the central data platform 4. We distinguish the following phases:
- this phase identifies trends by analyzing data from the internet and social networks.
- the analytic mega-data module 13 provides data analysis tools and methods (eg Pig / Hive) for the user service providers 7.
- these tools enable the user service providers 7 to identify subjects relating to the data recorded in the central data platform 4, and to develop statistical indicators with respect to these subjects.
- the mega-data analytics module 13 conducts analysis on data from social networks or search engine queries, which data is provided by the data providers 9 to the central data platform 4.
- the result of the analysis carried out by the mega-data analytics module 13 is then returned to the user service provider 7 in the form of keywords, enabling it to identify a relevant topic of topicality with a view to realizing user services;
- the central data platform 4 provides reliable (possibly abstract) data
- the analytic mega-data module 13 offers tools for the analysis of these data.
- the analytic mega-data module 13 proposes statistical tools based on
- PCA principal component analysis
- MCA multiple correspondence analysis
- clustering o methods of grouping data commonly referred to as "clustering".
- the reliable data analyzed / correlated by the analytic mega-data module 13 are made available to the various user service providers 7 via a reporting service (of the "reporting" type) and refer, by way of examples. , sensor data, environmental data, or user data;
- this phase allows different providers 7 of user services to deploy their services in the data management system 100.
- the analytic mega-data module 13 provides the user service providers 7 with service lifecycle management tools and control tools capable of guaranteeing prerequisites for the deployment of a service. in the data management system 100;
- this phase implements recommendation algorithms to recommend services to data management system 100 stakeholders. For example, during this phase, it is recommended that basic services to user service providers 7, user services and / or user service usage scenarios to individuals be used.
- the recommendation services provided by the data management system 100 are based on collaborative filtering methods.
- a Collaborative filtering is carried out, for example, by the analytic mega-data module 13 by applying a method able to compare the users with each other (eg type of service used, type of data consumed, user behavior), or elements noted in advance (eg user services previously noted by their customers).
- the data management system 100 proposes during this phase an equipment self-tuning service 1. To do this, the setting of a device 1 is stored for a predefined period in the central platform 4.
- a "best scenario" service is provided by the data management system 100, in order to advocate or reproduce the best scenario for a user service, such as setting up a device or managing a device. a resource (eg water, gas, electricity).
- a resource eg water, gas, electricity.
- the recommendation of the best scenario is based on the result of an analysis conducted by the analytic mega-data module 13, this analysis being performed on information reported by equipment 1 of a similar category of users. To do this, we use clustering algorithms of the "k-means" or "canopy” type.
- the implementation of the best scenario service is carried out via the following steps:
- the data management system 100 proposes to customers to note the user services they use in an online shop, or to the user service providers 7 to note the basic services made available to them for carrying out the services. users.
- a phase makes it possible to anticipate the obsolescence of the services.
- the platform uses learning algorithms based on statistical methods, such as logistic regression methods or tree methods.
- the mega-data analytics module 13 is configured to associate each service with a threshold, and calculate a score relating to said service. If the service score is below the threshold, then the service then identified by the mega-data analytics module 13 as obsolete, the user service providers 7 are then notified.
- the central data platform 4 relates to access (with segregation) to data and user services.
- the central data platform 4 indeed plays a pivotal role in the management and transmission of data with the communication boxes 5, the analytic big data analytics module 13 (Big Data Analytics) and the various data actors / consumers. such as the user service providers 7.
- the central data platform 4 is associated with equipment implementing the AAA protocol.
- the central data platform 4 exhibits a or several application programming interfaces called “API” (acronym for “Application Programming Interface”), and optionally a graphical user interface called "GUI" (Graphical User Interface), allowing the data provisioning of data consumers (customers, suppliers). user services), applications that consume data, and to manage data access permissions, for example based on preconfigured roles and thresholds.
- API application programming interface
- GUI graphical user interface
- the exposure of one or more API application programming interfaces by the central data platform 4 is dedicated to the suppliers and allows:
- the exposure of one or more application programming API interfaces dedicated to the end users allows through a front layer (eg: website, mobile applications) to propose
- end users of equipment the purchase of online user services, for example via an online store offered by an application;
- the integration of the data in the central data platform 4 is seen by the different entities as an intermediate layer, ensuring the transit of information flows between:
- the communication boxes 5 that is to say the information from the sensors of each equipment 1;
- semantic base such as the semantic data model previously described
- a service management portal facilitates automated interactions with the equipment 1 or information systems suppliers.
- the various devices (equipment 1, sensors, actuators) connected to a communication box 5 can come from different vendors, who do not have prior knowledge of each other, these devices being at the supported by the communication box 5 and the central data platform 4.
- the central data platform 4 then trivializes the data coming from said devices, exposing them as services (eg action, alert, data), thus allowing the development of services relating to multiple devices and / or multiple vendors, these services being subsequently deployed at the level of the central data platform 4 or the different communication boxes 5.
- the integration of the data into the central data platform 4 makes it possible subsequently to undertake a list of actions communicated by the central data platform 4 to at least one communication box 5, said box being connected to a certain number of equipments 1.
- these actions are determined according to the semantic model, and are possibly related:
- a preconfigured action trigger event for example, an action configured to be triggered at a predefined date or time
- the central data platform 4 when receiving an event such as a notification or a metric, the central data platform 4 via a data integration layer:
- the event may optionally contain parameters associated with a specific equipment 1;
- using the mega-data analytics module 13 classifies the event with the help of a semantic database, and establishes a correlation between this event and an associated service;
- an execution mechanism eg associated with the equipment 1
- said mechanism being configured to generate an action associated with the service as well as the event
- a communication box 5 in the downward direction: from the central data platform 4 to a communication box 5, for example when sending a command to a device 1 of the actuator type; in the uplink direction: from a communication box 5 to the central data platform 4, for example when a measurement coming from a sensor of a device 1 is being raised.
- a communication box 5 is located in an "internal" local network (eg LAN) and connects to an "external" remote network (eg Internet) via an integrated access device, commonly referred to as IAD ("Integrated") Access Device ").
- IAD integrated access device
- the integrated access device IAD is provided by an Internet access provider and allows to exchange data streams of different types via a single connection.
- each previously described communication box 5 connects to the central data platform 4 behind an integrated access device IAD.
- the integrated access device IAD establishes a connection with the central data platform 4.
- the integrated access device IAD and the central data platform 4 have public addresses, while the communication box 5, located behind the integrated access device IAD, has a private address, not addressable from the central data platform 4.
- such an architecture makes it possible for any communication box 5 located behind the integrated access device IAD to be able to initiate a data connection (uplink) to any broad internet platform while remaining protected from external threats.
- any communication box 5 arrives via the integrated access device IAD to reach the central data platform 4, for example during the feedback of measurements or events returned by sensors.
- the central data platform 4 has no means to reach the communication box 5, because of its private addressing behind the integrated IAD access device.
- the communication box 5 may be temporarily unavailable from the point of view of the integrated access device IAD, for example in case of temporary disconnection or a simple electrical disconnection.
- any integrated access device IAD provides a network address translation rules function, commonly referred to as NAT ("Network Address Translation"), for matching a public address / an output port of the integrated access device IAD a private address / an input port relating to a communication box 5.
- NAT Network Address Translation
- Such a function is however not performed by default and requires for its activation the configuration of rules.
- the remote control and the sending of action to one or more devices 1, connected to a communication box 5, from the central data platform 4, are realized by the implementation of four mechanisms whose general operation is briefly recalled here:
- a box-type communication box 5 establishes a connection via a transmission control protocol, hereinafter referred to as TCP, the acronym for Transmission Control Protocol.
- TCP transmission control protocol
- This connection is established via the creation of a tunnel from the communication box 5 to a proxy server associated with a remote platform.
- a tunnel is established between a communication box 5 and a proxy disposed in the central platform 4 data.
- the tunnel is then kept open by the communication box 5, for example by sending dummy packets ("dummy packets"), or re-opened in case of disconnection.
- the creation of this tunnel takes place in the uplink direction, that is to say from the communication box 5 to the central data platform 4.
- the establishment of the tunnel then allows the flow of information rising or falling between the communication box 5 and the central platform 4 data.
- the central data platform 4 sees the communication box 5, as if the IAD integrated access device was absent and implements a bidirectional data exchange mechanism.
- Such a mechanism nevertheless remains highly resource-consuming on the proxy servers by maintaining open TCP connections with the different communication boxes;
- IGD protocol Internet protocol
- the IGD protocol is described in the UPnP (Universal Plug and Play) standard.
- UPnP Universal Plug and Play
- the "boxes" of the operators that is to say the integrated access devices IAD in this document, propose functions of the router type, "firewall” ("firewall” in English) and
- UPN User Planar Planar Planar Planar Planar Planar Planar Planar Planar Planar Planar
- Some network applications such as peer-to-peer P2P applications, sometimes offer when installing on a computer machine an automatic configuration option via the use of a "UPnP” type mechanism.
- the principle of this mechanism consists, via a UPnP controller present in the integrated access device IAD, to configure via the IGD protocol, a NAT "Network Address Translation" function of the traffic light.
- This configuration makes it possible in particular to establish a mapping between the public ports / public addresses of the IAD, and the private ports / private addresses of connected objects behind the firewall of the IAD, and this in a manner transparent to the user.
- the IGD protocol establishes, via the NAT function, a correspondence between a private address and a private port to a communication box deployed in a local network, and a public address and a public port to the central data platform 4 deployed. on the Internet.
- this mechanism then allows the central data platform 4 to then see the communication box 5, as if the integrated access device IAD was absent and proposes a bidirectional data exchange mechanism.
- This mechanism nevertheless presents risks of the security type: the reconfiguration of the firewall is potentially open to any third party software connected to the local network of the IAD, and once the "mapping" set up, the communication box 5 is potentially exposed to risks of attacks from the Internet.
- This messaging protocol is based on the TCP, XML protocols and replaces the Jabber protocol which is an instant messaging protocol.
- the XMPP protocol is described in specification TR-069. In particular, Annex K.2 of Version 1.4 of this specification
- a CPE is, for example, the communication box 5 deployed in a local area network.
- this appendix is summarized here, additional details can be found in this one:
- Auto-Configuration Server establishes a connection with an XMPP server.
- the ACS self-configuration server and the XMPP server are, for example, installed in an Internet network;
- said self-configuration server ACS activates the use of the XMPP protocol at a CPE by configuring an XMPP object "XMPP Connection object", optionally providing a set of authorized Jabber identifiers;
- said CPE establishes an XMPP connection (by the uplink) with the XMPP server; o
- the ACS self-configuration server tries to communicate with the CPE, it sends an "XMPP Connection Request” message to the XMPP server.
- This message is an XMPP "stanza”, commonly referred to as “XMPP IQ Stanza”, and includes a "Connection Request” connection request indicating an authorized Jabber identifier for origin, referring to the ACS auto-configuration server, and indicating for destination an identifier relating to the CPE.
- the XMPP server then sends the message "XMPP IQ
- the ACS auto-configuration server is associated with the central data platform 4.
- this then makes it possible to implement an "alarm clock” type mechanism, making it possible to reduce the consumption of resources compared with the preceding mechanisms: any CPE, for example each communication box, is warned (“awakening") that it must contact the central data platform 4 with a rising stream in order to retrieve the downstream data stream in return.
- any CPE for example each communication box, is warned (“awakening") that it must contact the central data platform 4 with a rising stream in order to retrieve the downstream data stream in return.
- such a mechanism makes it possible to improve the security of the communication box 5;
- STUN simple traversal through NAT
- CPE eg the communication box
- IAD Internet-connected device
- NAT Network-on-distance Protocol
- UDP User Datagram Protocol
- the use of this protocol requires the assistance of a third party, namely a STUN server deployed in a public network such as the Internet.
- the STUN protocol is described in the TR-111 specification ("Applying TR-069 to Remote Management of Home Networking Devices", December 2005).
- the "2.2 Procedures” part of this specification describes the procedure of the STUN protocol so that a CPE can receive a UDP connection request from a remote ACS auto-configuration server.
- the ACS autoconfiguration server and the STUN server are deployed on the public address side of the NAT function of the integrated access device IAD.
- Part 2 of the TR-111 specification is summarized here, additional details can be found in this:
- the ACS auto-configuration server enables the use of the STUN protocol for the CPE (if this configuration is not enabled by default) and designates a STUN server to communicate with the CPE;
- the CPE uses the STUN protocol, to find out if it is behind a NAT gateway with an allocated private address;
- the CPE uses the procedure defined by the STUN standard to discover the expiration of its data link behind the NAT gateway ("binding timeout");
- the CPE In order to perform the "mapping" step, the CPE periodically sends STUN link requests to the STUN server, called "STUN Binding Requests". This makes it possible to keep the link of the STUN server.
- the CPE determines the public IP address and the public port used for the link of the NAT gateway (used to listen for "UDP Connection Requests")
- the CPE transfers the determined “mapping" information to the server.
- ACS auto-configuration, for example by sending a "STUN Binding Request" message;
- the ACS auto-configuration server then establishes a UDP connection with the CPE, by sending a message of "UDP Connection Request" UDP connection request to the port and public address of the NAT gateway, determined by the CPE;
- the ACS auto-configuration server and the STUN server are associated with the central data platform 4.
- this then makes it possible to implement an "alarm clock” type mechanism, making it possible to reduce the consumption of resources compared with the preceding mechanisms: any CPE, for example each communication box, is warned (“awakening") that it must contact the central data platform 4 with a rising stream in order to retrieve the downstream data stream in return.
- any CPE for example each communication box, is warned (“awakening") that it must contact the central data platform 4 with a rising stream in order to retrieve the downstream data stream in return.
- such a mechanism is relatively resource-inefficient on the central data platform 4.
- the periodic sending of requests "STUN
- Binding request "which leaves open the NAT gateway, potentially exposes the CPE to external attacks.
- each of the mechanisms introduced above will be able to offer remote handling, as well as sending action to equipment 1 connected to a communication box 5.
- one or more of these four mechanisms are chosen according to the technical constraints and operational.
- a single mechanism is selected for each communication box 5 based, as examples, the security level of the mechanism, its complexity of implementation, its resource consumption, and / or its level of security. dependency on the IAD integrated access device. This choice can, for example, rely on the table previously exposed.
- ACS auto-configuration servers are then deployed, making it possible to manage the communication boxes 5 and the initialization of the various mechanisms.
- an abstraction layer is also implemented via a manager 14 of actions, integrated at the level of the central data platform 4, offering a unified interface, that is to say independent of the type of mechanism implemented and therefore the protocol used by this mechanism.
- the abstraction layer for example, is made using a method for formatting the data received / recorded by this layer in a pivot format.
- the manager 14 is configured to manage
- each communication box 5 uses a single mechanism of "tunnel via proxy", "UPnP", “XMPP” type, or "STUN”, selected at the time of their deployment and in accordance with the operational constraints.
- the selected mechanism is stored in the central data platform 4 via a database associated with the action manager 14.
- the action manager 14 is configured to:
- Setting waiting is particularly advantageous when the communication box 5 is temporarily unavailable, for example during a loss of connection with the central data platform 4;
- o to process the action request 16 for example: identify the targeted equipment (identifier, address), identify the communication box to which it is connected, identify the communication mechanism to be used with said communication box 5 to transmit the action request 16. These different identifications are, for example, made by comparing the identifier of the equipment with a set of pre-recorded information in the database;
- the mechanisms based on the XMPP and STUN protocols are of the "wake up" type: the communication box 5 is warned that it must contact the central data platform 4 by a rising stream in order to recover in return the descending data stream. In order to support this mechanism, two components are then realized:
- a wakeup agent made on the communication box 5 by the establishment of a middleware layer, commonly referred to as angling "middleware” layer.
- angling Middleware
- the production of such a layer allows any application of the communication box 5 to subscribe to a wake up service, allowing it to be woken by a central application;
- Wakeup Server via the realization of a middleware layer on the central data platform 4, allowing any "consumer” action service (integrated or not on the central data platform 4) to wake up an application of the communication box 5.
- FIG. 11 illustrates the functional flow of data relating to an action consumer, such as a user service provider 7: the action consumer 17 pushes (stream 18) an action request 16 to the action manager 14 of the central data platform 4.
- This request 16 action includes information on the type of action to be performed and the equipment 1 targeted by this action (eg equipment identifier, description of the action).
- This action request 16 may optionally be accompanied by a validity expiry date and an address, for example a "uniform resource locator" address, referred to as the URL, for notifying the reception and / or processing of the request. 16 by the communication box 5;
- the stock manager 14 stores (stream 19) queued in the database 15 this request and acknowledges (stream 20) the action request 16 issued to notify the consumer 17 of action that it has well taken into account;
- the actions manager 14 identifies the communication box 5 and its corresponding access mechanism, then transmits the action request 16 to the communication box 5.
- the transmission of the action request 16 depends on the type of communication mechanism, two situations that may arise
- ⁇ manager 14 shares contacts the housing 5 via the public communication address provided by the tunnel, or the integrated access device IAD in the case of a UPnP mechanism;
- the action manager 14 sends (stream 21) a request to the communication box 5 to provide it with the request 16 for action. Otherwise, the action manager 14 waits for the re-establishment of the tunnel or UPnP reconfiguration to then send the action request 16, possibly managing the expiry dates of the action request 16;
- the action manager 14 contacts the alarm server ( "Wakeup Server” middleware layer) of the platform 4 data central;
- this wake-server attempts to wake housing 5 of communication by a low level protocol (XMPP in STUN or as appropriate).
- a low level protocol XMPP in STUN or as appropriate.
- the content of the alarm message to the communication box 5 is limited, and can be limited to the type of alarm, for example: an alarm for action on the equipment 1 or an alarm clock for a remote control of
- this message relates ideally to a protocol in non-connected mode, for example to the "user datagram protocol" said UDP.
- the wake-up server also manages retransmission functions, because the communication box 5 is not necessarily accessible at the time of removal of the action;
- the alarm message reaches the alarm agent ( "Wakeup Agent") of the latter, which is then in charge of analyzing the type of alarm and initiating the connection to platform 4 central data and towards the right application to recover the pending actions;
- the communication box 5 then executes or transmits to the equipment 1 to which it is connected, the action request 16 and returns (stream 22) a report to the manager 14 of actions;
- the stock manager 14 (flow 23) then reports to the consumer 17 shares, the proper execution of the action associated with its initial application (if specified in the initial application).
- Figure 12 illustrates the main flows of a communication mechanism, for implementing a tunnel between the communication box 5 and a proxy server 24.
- a communication box 5 is interfaced with an integrated access device IAD, via a first communication port, the communication box 5 being only addressable via a private address located behind the integrated access device IAD.
- the integrated access device IAD has, moreover, a second communication port, allowing it to be addressable from an external network 26, for example an Internet network, via a public address.
- a central data platform 4 includes an action manager 14 associated with a database, as well as an ACS auto-configuration server 27 as described in specification TR-069.
- the proxy server 24 is deployed in a proxy platform 28, able to exchange data with the central data platform 4.
- each communication box 5 being permanently connected with a proxy server
- such an architecture allows a same proxy server to manage a plurality of communications boxes in a specific proxy platform.
- Each proxy platform 28 uses a certain number of TCP connections with the central data platform 4, this number being independent of the number of communication boxes to which it is connected. To do this, it is possible to use multiplexing techniques.
- such an architecture allows the 24 proxys servers to be seen from the central data platform 4, as virtual instances of the communication boxes 5, but deployed on a public network (eg Internet). Such a configuration is particularly advantageous because it makes it possible to overcome the problems concerning the addressing of the communication boxes 5 in a private network.
- the self-configuration server ACS 27 located in the central data platform 4 makes it possible to inform any communication box 5 during its initialization of the proxy server to which it is attached.
- the establishment of the tunnel between the communication box 5 and the proxy server 24 is now described. The establishment of this tunnel occurs at each initialization of the communication box 5 and comprises the following steps:
- this communication is declared to the central data platform 4 via the autoconfiguration server 27 ACS according to the management protocol TR-069;
- the communication box 5 is then taken into account by the central data platform 4, and the latter chooses a proxy server 24 to establish a tunnel with the communication box 5, and associates it with the communication box 5 .
- the proxy server 24 is chosen by the central data platform 4, according to geographical proximity and availability;
- the communication box 5 establishes (flow 30 of the figure) then a TCP connection with the proxy server 24, and sends a message (non-standard) link "BIND" to indicate its identification.
- the "BIND" message comprises the identifier of the communication box 5, as well as the parameters of the TCP connection (ex: address and remote port, socket).
- the receipt of this message by the proxy server 24 will therefore allow the latter to manage the virtual instance of the box 5 of communication, retaining for this instance the identifier of the communication box 5, as well as the parameters of the TCP connection;
- this TCP connection is then kept permanently open by the communication box 5.
- FIG. 13 then illustrates, for the preceding architecture, the main data flows enabling remote handling of the communication box 5 and / or equipment 1:
- an external actor 31 such as a user service provider 7, sends (stream 32) a start-up request, for a communication box 5 or a device 1, to the autoconfiguration server 27 ACS;
- the autoconfiguration server 27 ACS sends (stream 33) then a connection request message "Connection Request", in accordance with the specification TR-069, to the proxy server 24, specifying in this message a identifier relating to the recipient final grip, for example relating to a communication box 5 (or a device 1) targeted;
- the proxy server 24 selects the virtual instance of the communication box 5, and therefore the corresponding tunnel 34;
- the proxy server 24 then transmits via the corresponding tunnel 34 the connection request "Connection Request” to the communication box 5 (stream 35);
- the communication box 5 then processes the request and transmits
- FIG. 14 illustrates, for the same architecture, the main data streams making it possible to transmit an action request 16 to an actuator associated with a device 1: an external actor 37 such as an action consumer sends (stream 38) an action request 16 to the action manager 14 of the central data platform 4;
- an external actor 37 such as an action consumer sends (stream 38) an action request 16 to the action manager 14 of the central data platform 4;
- the stock manager 14 then stores said action request 16 in the database 15 and then sends the action request 16 to the proxy server.
- the action manager 14 opens a TCP connection and is configured to send (stream 39) two requests to the proxy server 24:
- a first request which is a (non-standard) connection request "CONNECT", including the identification of the targeted communication box 5.
- CONNECT non-standard connection request
- the "CONNECT" message makes it possible to specify to the proxy server 24 that the following requests, namely the requests for action, must address the communication box 5; a second request corresponding to the action request 16, according to a syntax identical to the case of a communication unit 5 directly visible from the Internet, for example a syntax http (s);
- the proxy server 24 selects the virtual instance of the target communication box 5 and the corresponding tunnel 34.
- this realizes a temporary association within the proxy server, between the connection of the actions manager 14 to this server and the tunnel 34 of the communication box 5;
- the proxy server 24 then acknowledges the actions manager 14 the good reception of the connection request message "CONNECT". As long as the action manager 14 does not receive this acknowledgment, for example when the tunnel 34 is not established, the action manager 14 is configured to periodically reissue this message or wait for the restoration of the tunnel 34;
- the action manager 14 when the acknowledgment of the "CONNECT" message is received by the action manager 14, the latter then transmits the second request, ie the action request 16 to the server
- the proxy server 24 sends (stream 40) then through the tunnel 34 the action request 16 as received to the targeted communication box 5;
- the communication box 5 then executes the requested action or else transmits it to the device 1 concerned for execution, then returns (flow 41) then a report to the proxy server 24 via the tunnel 34;
- the server 24 proxy transmits (flow 42) then the report as received to the manager 14 actions;
- the action manager 14 if requested, the action manager 14 then notifies (stream 43) the external actor 37 of the good execution of its initial action request by the communication box 5 or the equipment 1 concerned.
- FIG. 15 again illustrates, for the same mechanism, the main data flows making it possible to trace a measurement of a sensor associated with a piece of equipment 1.
- the central data platform 4 furthermore comprises a manager 44 of measurements associated with a data base 441, making it possible to manage (store and / or make available) the data associated with the sensors of the different equipment 1.
- the process of measurement feedback to the central data platform 4 from the sensor of a Equipment 1 connected to a communication box 5 is as follows: the communication box 5 retrieves the measurement from said sensor and transmitted by the equipment 1;
- the communication box 5 sends (stream 45) then to the proxy server 24, via the previously established tunnel 34, the measurement by a message indicating that the target is the measurement manager 44, for example by using a message of the "GET" type http (s) ";
- the proxy server 24 then initiates a TCP connection to the measurement manager 44 and transmits (flow 46) the measurement.
- FIG. 16 illustrates the main flows implemented for establishing a connection between the central data platform 4 and a communication box 5 for a communication mechanism implementing the UPnP protocol.
- the communication box 5 is interfaced with an integrated access device IAD, via a first communication port, the communication box 5 being only addressable via a private address;
- the integrated access device IAD has a second communication port, enabling it to be addressable from an external network, for example an internet network, via a public address;
- the central data platform 4 comprises an action manager 14 associated with a database 15 (not shown in this figure), as well as an ACS auto-configuration server 27 as described in the specification TR-069 .
- the box 5 communicates to the central data platform 4 by the autoconfiguration server ACS 27 via the management protocol TR-069;
- the communication box 5 is then taken into account by the central data platform 4, and the latter activates in the communication box 5 the use of the UPnP protocol;
- the communication box 5 then transmits UPnP requests to the integrated access device IAD, in order to open a public TCP communication port, thereby enabling activation (stream 47) of the NAT network address translation function;
- the communication box 5 transmits (stream 48) then to the server
- FIG. 17 then illustrates, for the preceding mechanism, the main data streams, allowing remote handling of the communication box 5 and / or equipment 1:
- an external actor 31 such as a user service provider 7 sends (flow 49) a start-up request to the autoconfiguration server 27 ACS;
- the autoconfiguration server 27 ACS sends (stream 50) a "Connection Request” message, in accordance with the specification TR-069, to the communication box 5. To do this, it sends the "Connection Request” message to the public address of the integrated access device IAD, on the public TCP port opened during UPnP establishment. The integrated access device IAD then transmits the message to the communication box 5 by applying the NAT network address translation function;
- the communication box 5 then processes the command and sends (stream 51) back an "Inform request" message, in accordance with the standard TR-069, to the server 27 for auto-configuration ACS to notify the processing the request;
- the handling of the communication box 5 then follows the protocol TR-069, as any type of network topology with a CPE (here the box 5 communication).
- FIG. 18 illustrates, for the same mechanism, the main data streams making it possible to transmit an action request to an actuator associated with a device 1:
- an external actor 37 such as a post action consumer (stream 52) a request for action to the stock 14 data center platform manager 4;
- the stock manager 14 then stores said request in the database 15 and then sends (stream 53) the request to the communication box 5. To do this, it sends the request to the public address of the integrated access device IAD on the open public TCP port when establishing the UPnP.
- the device
- the integrated access access IAD then transmits via the use of the NAT network address translation function the request to the communication box;
- the communication box 5 then executes the requested action, or otherwise transmits it to the equipment 1 concerned for execution, then returns (flow 54) then a report to the action manager 14.
- the action manager 14 is configured to periodically reissue this message or wait for the reset function to resume.
- NAT UPnP network address translation if requested, the stock manager 14 (flow 55) then informs the external actor 37 of the proper execution of its initial action request by the communication box 5 or the equipment 1 concerned.
- FIG. 19 again illustrates, for the same mechanism, the main data flows making it possible to trace a measurement of a sensor associated with a device 1, towards the central data platform measurement manager 44:
- the communication box 5 retrieves the measurement from said sensor and transmitted by the equipment 1;
- the communication box 5 initiates (stream 56) then a connection, for example of the type "http (s)" to the manager 44 of measurements of the platform 4 central data;
- the communication box 5 finally transmits the measurement by a message indicating that the target is the measurement manager 44, for example by using a message of the type "GET http (s)".
- FIG. 20 then illustrates the main flows implemented for establishing a connection between the central data platform 4 and a communication box 5 for a communication mechanism implementing the XMPP protocol. Just as before:
- the communication box 5 is interfaced with an integrated access device IAD, via a first communication port, the communication box 5 being only addressable via a private address;
- the integrated access device IAD has a second communication port, enabling it to be addressable from an external network 26, for example an internet network, via a public address;
- the central data platform 4 comprises an action manager 14 associated with a data base, as well as an ACS auto-configuration server 27 as described in the specification TR-069.
- an http proxy server 57 and an XMPP proxy server 58 are deployed in a platform 28 proxy, the platform 28 proxy being able to exchange data with the platform 4 central data.
- each communication box 5 is permanently connected to an XMPP proxy server 58.
- the realization of such an architecture allows a same XMPP proxy server 58 to manage a plurality of communication boxes 5 in a specific platform 28.
- the HTTP proxy servers 57 will be used for the upload of measurements or the recovery of actions via http requests.
- Each platform 28 proxy uses, for its part, a fixed number of connections with the platform 4 central data, this number of connections being independent of the number of communication box 5 to which it is connected. To do this, it is possible to use multiplexing techniques. Furthermore, depending on the number of communication boxes 5, it is possible, if necessary, to add additional proxy platforms, as well as XMPP proxy servers 57 and HTTP proxy servers 57, thus participating in the extensibility of this architecture.
- the autoconfiguration server 27 ACS located in the central data platform 4 then makes it possible to inform any communication box 5 when it initializes the XMPP proxy server 58 to which it is attached. Similarly, during the configuration of the communication box 5, when it is started, the ACS self-configuration server 27 is in charge of informing the communication box 5 of its proxy proxy server 57.
- the establishment of an XMPP connection between the communication box 5 and the XMPP proxy server 58 is now described.
- the establishment of this connection occurs at each initialization of the communication box 5 and comprises the following steps:
- the communication box 5 reports to the central data platform 4 by the autoconfiguration server 27 ACS via the management protocol TR-069;
- the communication box 5 is then taken into account by the central data platform 4, and the latter chooses a proxy proxy server XMPP 58, for example according to a geographical proximity and a server availability 58 proxy
- the self-configuration server ACS 27, establishes (stream 59) then a connection with the XMPP proxy server 58, which will then be kept open by the ACS self-configuration server 27; then via the "SetParameterValues" message of the protocol TR-069, the server 27 of ACS self-configuration active in the communication box 5, the use of the XMPP protocol by providing (stream 60) the address of the server, and as Jabber credentials allowed.
- the identifiers the identifiers
- Authorized Jabbers are declared identically in the XMPP proxy server 58 and the ACS auto-configuration server 27, and allow any XMPP client, for example the communication box 5, to identify themselves during the XMPP exchanges; -
- the communication box 5 establishes (stream 61 of the figure) then an XMPP connection with the XMPP proxy server 58, this connection will then be kept permanently open by the communication box 5.
- FIG. 21 illustrates, for the architecture and the preceding mechanism, the main data flows enabling remote handling of the communication box 5 and / or equipment 1:
- an external actor 31 such as a user service provider 7 sends (flow 62) a start-up request to the autoconfiguration server 27 ACS;
- the autoconfiguration server 27 ACS sends (stream 63) then, in accordance with appendix K.2 of the specification TR-069, a connection request message "Connection Request" in XMPP ("stanza” XMPP) of type “XMPP IQ Stanza") to the XMPP proxy server 58.
- the autoconfiguration server 27 ACS specifies in this message, the final recipient of the grip, for example a targeted communication box 5, and the source of this message identified by an authorized Jabber identifier.
- the structure of such a message is in particular detailed in the appendix K.2.3.1 of specification TR-069;
- the XMPP proxy server 58 (stream 64) then transmits the message to the communication box 5 via the XMPP protocol; the communication box 5 then receives the message, and generates an XMPP response message ("XMPP IQ Stanza” XMPP stanza) of the "result" type if the previous message is correctly taken into account, or of type "Error” otherwise.
- the structures of these response messages are respectively detailed in Annex K.2.3.2 and K.2.3.3 of Specification TR-069;
- the communication box 5 then processes the request and sends (stream 65) an "Inform request" message, in accordance with the specification TR-069, to the autoconfiguration server 27 ACS to notify it of the processing.
- the request ; the handling of the communication box 5 (or equipment 1), then follows the protocol TR-069, as any type of network topology with a CPE (here the box 5 communication).
- FIG. 22 illustrates, for the same architecture and the same protocol, the main data streams making it possible to transmit an action request 16 to an actuator associated with a device 1:
- an external actor 37 such as an action consumer sends (stream 66) an action request 16 to the action manager 14 of the central data platform 4;
- the action manager 14 then stores said action request 16 in the database 15, then sends the action request 16 via an "Action Request” message in XMPP ("XMPP IQ Stanza” type message) to the server 58 XMPP proxy.
- the "Action Request” message comprises an originator Jabber authorized and recipient as the box 5 communication.
- the "Action Request” message since the "Action Request” message is not described in the specification TR-069, it is possible to draw inspiration from the structure of the "Connection Request” message described in appendix K.2.3.1 of this specification. specification, to implement this message.
- An exemplary embodiment of the "Action Request” message is given below.
- the XMPP proxy server 58 receives the "Action Request” message, and then acts as a "wake-up server", by transmitting (stream 68) this message to the communication box 5 via the XMPP protocol .
- the XMPP proxy server 58 is capable of storing said message if the communication box 5 is disconnected, and then reissuing it when reconnecting the communication box 5;
- the communication box 5 then receives the message, and generates an XMPP response message (XMPP stanza "XMPP IQ Stanza") of the "result" type if the previous message is correctly taken into account, or of the "error” type otherwise .
- XMPP response message XMPP stanza "XMPP IQ Stanza" of the "result" type if the previous message is correctly taken into account, or of the "error” type otherwise .
- the structures of these response messages are respectively detailed in Annex K.2.3.2 and K.2.3.3 of Specification TR-069;
- the communication box 5 then initiates an http (s) connection to retrieve requests for pending actions.
- This connection is established (stream 69) with proxy server 57 of proxy platform 28, which itself will interrogate (stream 70) the stock manager 14 with a view to retrieving the requests for actions, for example via a message of the type "GET http".
- the use of the http proxy server 57 in the proxy platform 28 then makes it possible to optimize the resources of the central data platform 4 by avoiding multiple http connections initiated directly from the different communications boxes 5; the action manager 14 then provides in response the action requests to the communication box 5 via the connection established with the XMPP proxy server 58.
- the action manager 14 manages, moreover, the expiry of the requests for actions according to two modes:
- the communication box 5 then executes the requested action or else transmits it to the device 1 concerned for execution, then returns, via the http proxy server 57, a report to the action manager 14;
- the share manager 14 if requested, the share manager 14 then notifies (stream 71) the external actor 37 of the good execution of its initial action request by the communication box 5 or the equipment 1 concerned.
- FIG. 23 again illustrates, for the same architecture, the main data flows making it possible to trace a measurement of a sensor associated with a piece of equipment 1.
- the central data platform 4 comprises a measurement manager 44 associated with a data base 441, making it possible to manage (store and / or make available) the data associated with the sensors of the different equipment 1.
- the process of measurement feedback to the central data platform 4 from the sensor of a connected equipment 1 to a communication box 5 is as follows:
- the communication box 5 retrieves the measurement from said sensor and transmitted by the equipment 1;
- the communication box 5 initiates (stream 72) an http (s) connection to the proxy proxy http server 57 of the platform 28: the http proxy server 57 then initiates an http (s) connection to the metrics manager 44 of the central data platform 4;
- the communication box 5 sends (stream 73) then to the server 57 http proxys, via the http (s) established connection, the measurement by a message indicating that the target is the manager 44 measures, for example using a message of the type "GET http
- FIG. 24 illustrates the main flows implemented for the establishment of a tunnel, for a communication mechanism between the communication box 5 and the central data platform 4, for a communication mechanism implementing the STUN protocol.
- the communication box 5 is interfaced with an integrated access device IAD, via a first communication port, the communication box 5 being only addressable via a private address.
- This private address is, as an example, addressable via a gateway / NAT network address translation function constituting the integrated access device IAD;
- the integrated access device IAD has a second communication port, enabling it to be addressable from an external network, for example an internet network, via a public address;
- the central data platform 4 comprises an action manager 14 associated with a database 15 (not shown in this figure), as well as an ACS auto-configuration server 27 as described in the specification TR-069 .
- the central data platform 4 includes a STUN server 74, in accordance with the TR-111 specification. As explained below, such a server will establish a "tunnel" awakening between the central platform 4 data and the communication box 5.
- the establishment of the connection between the communication box 5 and the central data platform 4 is now described.
- the establishment of this connection occurs at each initialization of the communication box 5 and comprises the following steps: at the time of its initialization, the communication box 5 declares itself to the central data platform 4 by the autoconfiguration server 27 ACS via the management protocol TR-069;
- the communication box 5 is then taken into account by the central data platform 4, and the latter activates in the communication box the use of the STUN protocol;
- the communication box 5 transmits (stream 75) STUN Binding Requests STUN link requests to the STUN server 74 of the central data platform 4, in accordance with part 2.2 of the TR-111 specification.
- the responses of the STUN server 74 to these requests then allow the communication box 5 to discover the public address of the integrated access device IAD.
- the communication box 5 transmits (stream 76) then the identified public address of the integrated access device IAD, to the auto-configuration server ACS 27 via the management protocol TR-069.
- the identification of the public address of the integrated access device IAD enables the communication box 5 to discover the presence of a gateway / NAT function in the integrated access device IAD, and to establish through this gateway / function a UDP connection with the server 74 STUN in order to keep this connection open, the communication box 5 sends (flow 77) then periodically a STUN link request message of type "Binding
- this period is configured in such a way that the integrated access device IAD does not deactivate the NAT function after a period of inactivity, and is at the same time sufficiently long in order to avoid saturation in server resources. 74 STUN.
- the communication box 5 performs a learning mechanism, initially sending "Binding Request" connection request messages with a low period, and then progressively increasing the transmission period of these messages. . This determines a limit period for which the box no longer receives a "Binding Response" connection response from the server 74 STUN. From this state, the period identified as usable by the communication box 5 is the period before this period.
- FIG. 25 illustrates, for the preceding mechanism, the main data flows allowing remote handling of the communication box 5 and / or equipment 1:
- an external actor 31 such as a user service provider 7 sends (stream 78) a start-up request to the ACS auto-configuration server 27;
- the autoconfiguration server 27 ACS contacts (stream 79) the server 74 STUN, in accordance with the specification TR-111, and asks it to send a connection request message "Connection Request" according to the UDP protocol, destination of the communication box 5.
- the realization of such a message is described in section 2.2.2.3 of this specification.
- the STUN server 74 is then the only element allowed by the integrated access device IAD to use the NAT network address translation function to the communication box. In fact, following the establishment of the connection with the STUN server 74, the integrated access device IAD only knows the address relating to the STUN server 74 and the UDP port used with this server;
- the STUN server 74 (stream 80) then sends a connection request UDP message to the communication box 5 to the public UDP port of the integrated access device IAD (used by the translation gateway function / gateway). NAT network address to establish the connection with the communication box 5).
- the integrated access device IAD then transmits this message to the communication box 5 via the NAT network address translation gateway function;
- the communication box 5 then processes the command and sends back an "Inform request" message, in accordance with the TR-069 standard, to the ACS auto-configuration server 27 (stream 81) to inform it of the processing of the request;
- FIG. 26 illustrates, for the same mechanism, the main data streams making it possible to transmit an action request 16 to an actuator associated with a device 1:
- an external actor 37 such as an action consumer sends (stream 82) an action request 16 to the action manager 14 of the central data platform 4;
- the action manager 14 then stores said action request 16 in the database 15, and then contacts the server 74 STUN (stream 83), in accordance with the specification TR-111, and asks it to send a message "Action Request" in
- the message "Action Request” is not described in the specification TR-111, we can be inspired by the structure of the message “Connection Request” described in section 2.2.2.3 of this specification, for implement this message.
- An exemplary embodiment of the "Action Request” message is given below. This specifies a non-empty path associated with the uniform resource identifier called "URI” of this message. To build this message, add the highlighted path “ActionRequest”, between a field of type "hostname”, here "10.1.1.1:8080", and the arguments of this message specified after the "? »:
- the STUN server 74 is then the only element allowed by the integrated access device IAD to use the NAT function to the communication box. In fact, following the establishment of the connection with the STUN server 74, the integrated access device IAD only knows the address relating to the STUN server 74 and the UDP port used with this server;
- the server 74 STUN sends (flow 84) then to the communication box 5 a UDP action request message "Action Request" to the public UDP port of the integrated access device IAD (used by the translation gateway function). NAT network address to establish the connection with the communication box 5). The integrated access device IAD transmits then this message to the communication box 5 by applying the NAT network address translation function;
- the communication box 5 receives the message and sends an acknowledgment message (action response) "Action Response", in accordance with the TR-111 standard, to the server 74 STUN.
- the "Action Response” message is a UDP message made similarly to the "Action Request” message, via the use of a non-empty path.
- An example embodiment for this message is given below:
- the server 74 STUN does not receive this response response acknowledgment "Action Response", for example when the NAT UDP function is not established, the server 74 STUN is configured to periodically reissue the UDP message "Action Request" or wait the restoration of the NAT network address translation function;
- the communication box 5 then initiates (uplink) an http (s) connection to the stock manager (stream 85) in order to retrieve the requests for pending actions;
- the action manager 14 then provides in response the action requests to the communication box 5, while managing the expiry of the requests for actions according to two modes:
- the communication box 5 then executes the requested action or otherwise transmits it to the device 1 concerned for execution, then returns a report to the action manager 14; if requested, the stock manager 14 (flow 86) then informs the external player 37 of the good execution of his request 16 initial action by the communication box 5 or the equipment 1 concerned.
- the communication box 5 retrieves the measurement from said sensor and transmitted by the equipment 1;
- the communication box 5 initiates (stream 56) then a connection, for example of the "http (s)" type, to the data manager 44 of the central data platform 4;
- the communication box 5 finally transmits the measurement by a message indicating that the target is the measurement manager 44, for example by using a message of the type "GET http (s)".
- a communication box 5 (box type) is deployed in a specific environment or physical location, comprising one or more equipment 1, each of these equipment 1 providing user services.
- each communication box 5 serves:
- the communication box 5 is also shared between several actors, for example equipment vendors 1 or 7 providers of user services. Therefore, the communication box 5 houses common and specific software components (including user services) to said actors, to manage the communication with the different equipment 1 or perform a local data processing on the data from these equipments 1. In this context, it is commonly spoken of architecture "multi-tenants".
- the communication box 5 thus implements a platform i ntergi sky services. On this platform, the functions specific to each actor, for example the communication protocol used with a device 1 or the specific processing of data associated with a device 1, are deployed by the actors in the form of service-oriented software components. .
- a failure or a diversion of a software component associated with an actor therefore, must not impact and degrade the behaviors of the software components relating to the other actors hosted on the same platform. For example, a memory overflow resulting from a coding anomaly of a service must not propagate in the platform, under the risk of causing the "crash" of the other services.
- the equipment 1 connected to the communication box 5 is heterogeneous and based on different communication protocols. Thus, commonly a software component initially communicating with equipment 1 according to a protocol, will evolve when the equipment 1 changes because the associated protocol is also evolve. In addition, the change of a device 1 can also cause a modification of the access method of the communication box 5 to the data of the equipment 1.
- the communication box 5 initially accesses the data of the device 1. 1 equipment via a method of "pull" type: the equipment 1 exposes an API application programming interface and the communication box 5 takes the initiative to recover the measurements of a sensor associated with this equipment 1. A change this equipment 1 then leads to the use of a push access method: the data are pushed at the initiative of the equipment 1 to the communication box 5. As a result, the software component to communicate with this equipment must also evolve.
- a multi-tenant java platform providing isolation between services hosted by the platform.
- a Java / OSGi platform based on a Haas model (hardware as a service) is implemented via application components placed in a shared container called "Kernel” and in separate and sealed containers. "Features”.
- a platform is made so that the memory space allocated to each container is accessible only if the latter is configured to allow access.
- the access of an authorized user to a container is then performed through an API programming application interface, which limits the access of the user to the strict necessary. It is thus impossible to use stack overflow techniques to circumvent the control and illicit access to the container's memory zone from the outside.
- the container memory can not be accessed or corrupted from outside the container, the "Kernel” shared container and the “Features” sealed containers running within a Java JVM, and this one authorizing only the execution of isolated or communicating containers only through explicitly exposed and controlled methods.
- the programming code components of the "Kernel” is then considered as reliable (without anomalies), while the user services are grouped in separate "Features” specific to each provider.
- such a structure then guarantees a strong isolation between the user services, preventing any failure of one service having an impact on the others, ensures a management of the material resources (ex: memory occupation, computing resources) by "Feature” and limits the error propagation of any software component.
- Figure 27 illustrates the operating concept of a software platform 87 with the previously described features.
- the software platform 87 is a platform shared between several users, two in this example, and hosts all the services of the users each relating to a device.
- a first service 88 refers to a first equipment 89
- a second service 90 relates to a second equipment 91.
- the first equipment 89 and the second equipment 91 are connected externally to the software platform 87 of the housing 5 of communication, and use for their exchanges respectively a first and a second protocol.
- any remote / remote service accessible via an API application programming interface, can substitute for a device 89, 91.
- any service allowing generalization can be understood.
- the element 91 may be a remote service instead of the second equipment, this service using the second protocol.
- the specific software components, including the services 88, 90, specific to each user are respectively isolated in sealed containers 92, 93, commonly referred to as "sandbox" or "Feature”.
- a unified API application programming interface 94 then makes it possible to access the devices 89, 91 or remote services from the services 88, 90 applications, or more generally to any external software or hardware element, called “eThing", connected to the platform 87 software of the communication box 5.
- a first and a second adapter 95, 96 protocol is respectively associated with the first and second equipment 89,91, each of these adapters being respectively interfaced with a first and a second adapter 97,98 "eThing
- the adapters specific to the same equipment are isolated in the same sealed container ("Feature").
- the protocol adapters 95, 96 and the adapters 97, 98 of "eThing" element are respectively deployed in the containers 92, 93.
- the same protocol adapter may possibly be shared between several users.
- the unified API application programming interface 94, the protocol adapters 95, 96 and the adapters 97, 98 of "eThing" elements thus constitute a unified access structure ("framework"). say an access layer to connected equipment 1, 89, 91.
- FIG. 28 illustrates an example of distribution of the elements of the software platform 87 previously described, combined with a Java / OSGi approach based on a Haas model (acronym for "Hardware as a Service") produced by application components placed in a container 100 shared said "Kernel”, and in separate containers 101, 102 and sealed says "Features”.
- a Haas model ascronym for "Hardware as a Service
- Java interfaces 103 constituting the unified API application programming interface 94, detailed later, and data classes corresponding to the objects exchanged at the application programming interface 94, for example structured data (eg binary, Boolean) recovered by the equipment 1, 89, 91;
- structured data eg binary, Boolean
- protocol adapters 104 shared by all users, that is to say shared by different services, for example Zigbee adapters, or serial ports; o common user services 105, for example a rules engine, and a service for publishing data to a REST-type interface (acronym for "Representational State Transfer”);
- each container 101, 102 separate "Features” (software components), specific to a user, embarks
- User-specific services 106, 107 for example preprocessing services on the data of a device 1, 89, 91;
- protocol adapters 108, 109 specific to their equipment
- Adapters 110, 111 of "eThing" elements implementing the unified API application programming interface interface 94.
- Figure 29 illustrates the realization of the unified access framework (framework) 99, including the unified API application programming interface 94.
- the latter is interfaced with an "eThing" element adapter via an interface designated hereafter as interface element 112 "eThing", this interface being an OSGi service.
- interface element 112 "eThing" is the "eThing” element adapter 97 of the first device 89 (not shown).
- the element adapter 97 "eThing” is itself interfaced with the protocol adapter 95.
- the unified API 94 application programming interface, the "eThing" element adapter 97 and the protocol adapter 95 thus constitute the unified access structure 99.
- each device 89 or more generally any connected "eThing" element, is represented in the unified access structure 99 by an OSGi service implementing the "eThing" element interface 112, this service comprising the following attributes : a state, a unique identifier, a name, a seller, a version, a serial number, a description.
- an element adapter 97 "eThing” implements the OSGi interface “eThing”, is interfaced with a protocol adapter 95 via a "bindProtocolAdapter ()” method, this method being able to associate any protocol adapter 95 with any "eThing” element, and includes for fields: a "Status” status, a unique identifier "UID”, a name “NAME”, a vendor “VENDOR”, a "VERSION” version, a number of series “SERIAL_NUMBER", a description "DESCRIPTION”
- the functions of the equipment 1, 89, 91 are represented by OSGi services implementing an abstract element function interface 113 named "eThingFunction" and three basic interfaces:
- Control Control Interface 116 for controlling the state of a device and / or acting on it, and comprising two functions
- BinaryControl in the case where the state associated with the sensor of a device is of binary type.
- the value of this state is then represented by a class named "BinaryData”;
- MultiLevelControl in the case where the state of the sensor associated with a device comprises several states (multivalued).
- the value of this state is then represented by a class named "MultiLevelData”;
- a sensor interface 119 called "Sensor”, for collecting, periodically or not, a value from a sensor of a device 1, 89, 91, according to two functions:
- BinarySensor if the associated sensor is of binary type.
- MultiLevelSensor a multi-level sensor function 121 named "MultiLevelSensor", if the associated sensor case is multivalued. The value is then represented by the class named "MultiLevelData”.
- a new equipment 1, 89, 91 or added service is supported in the system by the addition of adapter 97 elements "eThing" via an "eThingAdapter” class implementing the previously described interfaces.
- the element adapter 97 "eThing" is connected to the protocol adapter 95, the latter exposing a service with an OSGi interface adapted to the specific communication protocol of this equipment 89.
- the specific interfaces adapted to the communication protocols comprise two basic interfaces named "CommProtocolAdapter" and
- Each service in the "ProtocolAdapter” interface exposes at least the following two properties: type, vendor.
- Each type of protocol adapter 95 then defines an OSGi interface that extends the "CommProtocolAdapter" interface.
- an interface composed of associated methods, parameters and return values
- each protocol adapter is associated with a Protocol Adapter Factory (PAF), which enables the creation of a protocol adapter with appropriate properties.
- PAF Protocol Adapter Factory
- each PAF protocol adapter factory defines an interface that extends the "ProtocolAdapterFactory” interface.
- the protocol adapter created by the PAF protocol adapter factory is then associated with an "eThing" element adapter.
- the "eThing" element adapter can then optionally notify the PAF protocol adapter factory that it no longer uses the protocol adapter, thereby freeing up any resources.
- An exemplary embodiment of protocol adapter 95, extending the OSGi class "ProtocolAdapter”, presenting for properties a type “TYPE” and a vendor “VENDOR” is given below:
- each protocol adapter is associated with a PAF protocol adapter factory, extending the "ProtocolAdapterFactory" interface and realized as follows:
- ProtocolAdapterFactory ⁇
- ProtocolA dapterException
- ProtocolA dapterException
- the unified access framework 99 comprises the following two programmatic interfaces:
- a publication / subscription interface 122 named "publish / subscribe”, allowing, according to an event mode o the asynchronous reception of events or data originating from a device 1, 89, 91 or from a service, after a step d subscription / subscription of the user, to the structure 99 ("framework") unified access (eg to a specific service 88, 90);
- Asynchronous publishing from the unified access framework eg: from a specific 88, 90 service, data or events to a device 1, 89, 91 or service related to one or more subscribed users;
- a request interface 123 allowing, according to a synchronous mode, the retrieval, reading / writing of data from / to equipment 1, 89, 91 or service, to / from the structure 99 ( "Framework”) unified access (eg to / from a specific service 88, 90).
- the request interface 123 named “request” makes it possible to send requests on the data reading equipment 1 (89, 91) ("GET” type message) or write (message “eThing") of type "SET” on an attribute or invocation of an operation).
- a static method comprising as arguments the "uid” identifier of the "eThing” element, as well as the name the "eThingFunction” element function.
- the publication / subscription interface 122 named "publish / subscribe”, in turn:
- ⁇ D extends Data> publishDatafD publisher data, String eThingName, eThingVersion String, String eThingUid, String eThingFunctionName)
- this makes it possible to reinject data from an application service or at a higher level than the unified API application programming interface interface 94 on this interface, for example, from a complex event processing engine CEP, acronym for "Complex". Event Processing ".
- CEP complex event processing engine
- Such a CEP engine can be both a consumer and a producer of data on the API application programming interface 94.
- the production of data results from the creation of a new event by the CEP engine (eg by correlation of other events), these data being then consumed by applications via the publication / subscription interface 122 publish / subscribe "; to subscribe to data produced on "eThings" elements, by defining an event filter called “EventFilter”, allowing to record an event "listener” on the service, commonly designated by anglicism "Listener”.
- EventFilter an event filter
- a callback function is used, commonly referred to as "callback”.
- the "callback" callback function makes it possible to implement an event interface 124 relating to the "eThing" element function called interface "EThingFunctionEvent" which has only one method:
- EventFilter eventFilter EventFilter.eventFilter (context);
- eventFilter registerEThingFunctionEventHandlerfhdl, Data .class, getNamef), getVersionf), getUidf), null);
- the set of user application services are based on the unified API application programming interface 94, allowing an abstraction of the devices 1, 89, 91 and the underlying communication protocols.
- the unified API application programming interface 94 offers a means of abstracting the access mode to the devices 1, 89, 91 that it is synchronous (pull data mode) for the reading or the data writing, or whether it is asynchronous or linked to an event (pushed data mode "push") for reading data from the equipment 1, 89, 91, via the interfaces 122, 123 of publication / subscription "publish” / subscribe “and” request "request.
- any mode not implemented natively by a device 1, 89, 91 is then simulated by the structure 99 ("framework") unified access.
- FIG. 30 illustrates, by way of example, a piece of equipment 1 operating in a synchronous mode (pull mode), interfaced with the structure 99
- a unified access framework comprising the unified API application programming interface 94, which structure is interfaced with a first user service 125 based on synchronous mode, and a second user service 126 based on an asynchronous mode.
- the first user service 125 therefore uses the request interface 123 "request", while the second service 126 user uses the publication / subscription interface 122 "publish / subscribe" of the API 94 application unified application programming interface.
- Unified Access Framework 99 In this example, the request modes emanating from the first user service 125 are represented by the arrow 127, while the publication / subscription modes "publish / subscribe" are respectively represented by the arrows 128, 129.
- the synchronous mode "request” in writing and reading is implemented by a simple delegation, that is to say by a simple method call, on the native interface of the equipment 1: we then use messages like "SET” in propagated writing (arrow 130) on the equipment 1 and "GET” in reading returning the last value / data read on the equipment 1.
- the latter mode is then simulated by the unified access framework 99 by retrieving periodically (arrow 131), via the request interface 123, the data on the equipment. and memorizing the last data read. The latter data is then sent to the publication / subscription interface "publish / subscribe" 122.
- FIG. 31 illustrates a piece of equipment 1 operating in an event mode (push mode) interfaced with the unified access structure (framework) 99 comprising the unified API application programming interface 94, this structure being interfaced with a first synchronous mode based user service 125, and a second user service based on an asynchronous mode.
- the first user service 125 therefore uses the request interface 123 "request”, while the second service 126 user uses the publication / subscription interface "publish / subscribe” of the unified API application programming interface interface 94.
- structure 99 ("framework") unified access.
- the request modes emanating from the first user service 125 are represented by the arrow 127, while the publication / subscription modes "publish / subscribe” are respectively represented by the arrows 128, 129.
- the equipment 1 pushes its data to the publication / subscription interface 122 "publish / subscribe”.
- the arrow 128 relates to the propagation of the data that the equipment 1 pushes (arrow 132) at each new event.
- the equipment 1 being this time based on asynchronous mode, the structure 99 ("framework") unified access simulates this time the synchronous mode by storing the last data pushed by the equipment 1 via the interface 122 publication / subscription "Publish / subscribe”. This data is then sent to the request interface 123 "request”.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Telephonic Communication Services (AREA)
- Selective Calling Equipment (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1463494A FR3031208B1 (fr) | 2014-12-31 | 2014-12-31 | Boitier de communication et de gestion d'equipements |
PCT/FR2015/053305 WO2016107996A1 (fr) | 2014-12-31 | 2015-12-03 | Boitier de communication et de gestion d'equipements |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3241118A1 true EP3241118A1 (fr) | 2017-11-08 |
Family
ID=52988244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP15817467.2A Ceased EP3241118A1 (fr) | 2014-12-31 | 2015-12-03 | Boitier de communication et de gestion d'equipements |
Country Status (4)
Country | Link |
---|---|
US (1) | US10505750B2 (fr) |
EP (1) | EP3241118A1 (fr) |
FR (1) | FR3031208B1 (fr) |
WO (1) | WO2016107996A1 (fr) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102015200210A1 (de) * | 2015-01-09 | 2016-07-14 | Siemens Aktiengesellschaft | Sichere Übermittlung von sensiblen Messdaten in einemAutomatisierungsnetzwerk |
WO2018198460A1 (fr) * | 2017-04-28 | 2018-11-01 | 日本電信電話株式会社 | Système et procédé de conversion d'espace d'id |
CA3110691A1 (fr) * | 2018-08-24 | 2020-02-27 | Lutron Technology Company Llc | Dispositif de detection d'occupant |
US11394627B1 (en) * | 2019-07-31 | 2022-07-19 | Express Scripts Strategie Development, Inc. | Systems and methods for monitoring inter-application communications in complex computing ecosystems |
CN112073244A (zh) * | 2020-09-09 | 2020-12-11 | 上海诺行信息技术有限公司 | 基于tr069协议的消息处理方法及系统 |
CN113315824B (zh) * | 2021-05-26 | 2023-04-18 | 武汉悦学帮网络技术有限公司 | 一种应用的灰度发布方法、装置及应用的灰度发布系统 |
CN114500612B (zh) * | 2022-04-06 | 2022-07-05 | 深圳航天信息有限公司 | 物联网本地组网的方法、装置、电子设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2015179A1 (fr) * | 2007-07-13 | 2009-01-14 | Alcatel Lucent | Système de gestion à distance et procédé pour objets de service |
CN201854450U (zh) * | 2010-11-19 | 2011-06-01 | 上海波顿无线传感技术有限公司 | 用于环境监测物联网的网关模块 |
US9413827B2 (en) * | 2013-02-25 | 2016-08-09 | Qualcomm Incorporated | Context aware actions among heterogeneous internet of things (IOT) devices |
US9350550B2 (en) * | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
US9814084B2 (en) * | 2014-08-07 | 2017-11-07 | Belkin International Inc. | Location and pairing of devices on a local area network using a unique identifier |
US20160028856A1 (en) * | 2014-07-24 | 2016-01-28 | Miiicasa Taiwan Inc. | Method, system and apparatus for providing services across networks |
WO2016097822A1 (fr) * | 2014-12-17 | 2016-06-23 | Nokia Technologies Oy | Procédé et appareil de surveillance locale de données et commande d'actionneur dans un réseau de l'internet des objets |
TWI663782B (zh) * | 2016-10-14 | 2019-06-21 | 天邁科技股份有限公司 | 具導電膠天線之殼體結構 |
-
2014
- 2014-12-31 FR FR1463494A patent/FR3031208B1/fr active Active
-
2015
- 2015-12-03 WO PCT/FR2015/053305 patent/WO2016107996A1/fr active Application Filing
- 2015-12-03 EP EP15817467.2A patent/EP3241118A1/fr not_active Ceased
- 2015-12-03 US US15/541,215 patent/US10505750B2/en active Active
Non-Patent Citations (1)
Title |
---|
GAMA KIEV ET AL: "Towards Dynamic Component Isolation in a Service Oriented Platform", 24 June 2009, SAT 2015 18TH INTERNATIONAL CONFERENCE, AUSTIN, TX, USA, SEPTEMBER 24-27, 2015; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 104 - 120, ISBN: 978-3-540-74549-5, XP047385759 * |
Also Published As
Publication number | Publication date |
---|---|
US20180152313A1 (en) | 2018-05-31 |
US10505750B2 (en) | 2019-12-10 |
FR3031208B1 (fr) | 2018-02-02 |
WO2016107996A1 (fr) | 2016-07-07 |
FR3031208A1 (fr) | 2016-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3241118A1 (fr) | Boitier de communication et de gestion d'equipements | |
EP3241121A1 (fr) | Systeme de gestion de donnees d'equipements utilsateurs | |
CN105706469B (zh) | 管理机器对机器设备 | |
Kleinfeld et al. | glue. things: a Mashup Platform for wiring the Internet of Things with the Internet of Services | |
Fazio et al. | The need of a hybrid storage approach for iot in paas cloud federation | |
Di Martino et al. | A semantic IoT framework to support RESTful devices' API interoperability | |
EP3241308B1 (fr) | Boitier d'interconnexion d'equipements utilisateurs | |
EP3241316B1 (fr) | Methode de communication entre un gestionnaire d'action distant et un boitier de communication | |
Zhurakovskyi et al. | Smart House Management System | |
EP3318017A1 (fr) | Procédé de découverte de la configuration d'une installation domotique | |
FR3076022A1 (fr) | Virtualisation d'un objet connecte | |
EP3817294B1 (fr) | Procede et module pour la regulation de la connectivite d objets connectes | |
Almeida | Plataforma de Monitorização em IoT de Recolha de Dados Sobre o Conforto Térmico Interior | |
Rachidi | Design and implementation of a framework for self-configuring devices using TR-069 | |
Rodrigues | Large scale interoperability in the context of Future Internet | |
FR3017505A1 (fr) | Procedes de controle et de proposition de controle d'un equipement connecte a un reseau de communication, equipements, systeme, produits programmes d'ordinateur et supports de donnees correspondants | |
FR3082028A1 (fr) | Agregation d'objets connectes. | |
FR2980664A1 (fr) | Prise en compte de la localisation dans la determination de la disponibilite des objets physiques dans l'internet des objets | |
Sun et al. | Handbook of Research on Demand-Driven Web Services: Theory, Technologies, and | |
Thomsen | Home Appliance Integration by Pervasive Computing | |
FR3026517A1 (fr) | Dispositif et procede de transfert bidirectionnel de donnees entre un terminal de communication et un module compatible isobus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20170630 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20201019 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230330 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20230911 |