Method for managing the frequency of message transmission on a communication link
11621901 · 2023-04-04
Assignee
Inventors
Cpc classification
H04L43/103
ELECTRICITY
International classification
Abstract
A method for managing message transmission times from a first device to a destination of a second device. The devices have respective electrical load levels at a given time. The method includes receiving a request to change message transmission times, the request including the current electrical load level associated with the second device; and determining transmission times by taking into account the load levels of the first and/or second device.
Claims
1. A method for managing device transmission times of messages, a first device emitting messages with first transmission times, and receiving messages from a second device with second transmission times, the first and second devices having respective levels of electric charge at a given time, wherein the method is implemented by the first device and comprises: receiving a request to modify at least one of the transmission times of the messages, the request including the current level of electric charge associated with the second device; comparing the level of electric charge of the first device and the level of electric charge of the second device; and modifying the transmission times of at least one of the first device or the second device based on a result of the comparing the levels of electric charge of the first device and the second device.
2. The management method as claimed in claim 1, wherein the request furthermore includes desired sending times of the messages to the second device, and wherein, in the modifying, the transmission times are set to the desired sending times.
3. The management method as claimed in claim 1 wherein the receiving is followed by comparing the current level of electric charge of the first device with a predefined charge value, and wherein the modifying takes place if the current level of charge is greater than the predefined charge value.
4. The management method as claimed in claim 1, wherein the modifying is followed by transmission, to the second device, of information in relation to the modified transmission times.
5. The method as claimed in claim 3, further comprising, when several modification requests are received from several second devices, including electrical statuses associated with the several second devices and desired durations, respectively, selecting desired transmission times associated with the second device that has the lowest level of electric charge value.
6. A first device for managing transmission times of messages, said first device emitting messages with first transmission times, and receiving messages from a second device with second transmission times, the first and second devices having respective levels of electric charge at a given time, wherein the first device comprises: a processor; and a non-transitory computer-readable medium comprising instructions stored thereon which when executed by the processor configure the first device to: receive a request to modify at least one of the transmission times of the messages, the request including the current level of electric charge associated with the second device; compare the level of electric charge of the first device and the level of electric charge of the second device; and modifying the transmission times of at least one of the first device or the second device based on a result of the comparing the levels of electric charge of the first device and the second device.
7. A non-transitory computer-readable medium comprising a computer program product stored thereon comprising program code instructions for implementing a management method transmission times of messages, when the instructions are executed by a processor of the first device, said first device emitting messages with first transmission times, and receiving messages from a second device with second transmission times, wherein the first and second devices have respective levels of electric charge at a given time, and wherein the instructions configure the first device to: receive a request to modify at least one of the transmission times of the messages, the request including the current level of electric charge associated with the second device; compare the level of electric charge of the first device and the level of electric charge of the second device; and modify the transmission times of at least one of the first device or the second device based on a result of the comparing the levels of electric charge of the first device and the second device.
Description
(1) The invention will be better understood upon reading the following description, given by way of example and made with reference to the appended drawings, in which:
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION OF EMBODIMENTS ILLUSTRATING THE INVENTION
(6)
(7) The first device DISP1 and a second device MOB21/MOB22 communicate with one another via a communication link RES. The devices are supplied with electrical energy by way of an electrical energy source. The energy source is of any type; it may originate from an electricity grid or be embedded in the devices, such as for example cells, batteries, etc.
(8) The invention is applicable to all energy sources; the invention is however particularly beneficial when one or the other of the devices is supplied by way of an embedded electricity source, for example a battery, the energy of which decreases over time when the battery is not recharged. In our example, the devices are supplied with electrical energy by way of an electrical energy source BAT.
(9) In our example, the first device DISP1 is a decoder and the second devices MOB21/MOB22 are two smartphones.
(10) A management entity ENT1 installed in the first device DISP1 has the role of defining the sending time of the messages from the smartphone. It will be seen hereinafter that each control point MOBn also has an entity ENT2n (n is an integer) that will manage the sending frequency of the M-SEARCH messages on the basis of the decision made by the management entity ENT1. In our example, the system SYS comprises two entities ENT21 and ENT22 installed in the smartphones MOB21 and MOB22, respectively.
(11) The second device, MOB21 or MOB22, and the first device DISP1 communicate directly with one another without an intermediary or via an intermediary, such as a home gateway.
(12) If the two devices communicate via a home gateway, in a preliminary step (not shown), the first and the second device may also, rather than connecting directly to one another, first connect to the local area network, that is to say to the service gateway GTW of the local area network. Next, once the two equipments are connected to the network via the service gateway, they establish communication with one another via the gateway.
(13) In our example, the protocol that is used between the second and the first device is the UPnP protocol. In this context, the second device performs the role of the control point. It will be recalled just that a control point is a controller that is capable of discovering and of controlling peripherals, such as the first device. A control point conventionally transmits messages, called discovery messages (M-SEARCH), to the various terminals of the network in order to recover in return a description of the devices corresponding to the request. These discovery messages are more often than not transmitted in point-to-multipoint communication mode, also called multicast mode, from the control point to the devices. A terminal equipment compatible with the UPnP standard, for example the first device, responds to these request messages and also transmits presence messages (SSDP:ALIVE) at a regular frequency in order to signify that it is active and connected to the network. The control point of the local area network, which is located in this case on the mobile device, transmits search messages (M-SEARCH) in multicast mode.
(14) The sending frequency of the SSDP:ALIVE messages is set beforehand. The UPnP protocol imposes a sending frequency of 1800 seconds; if, after this duration, the control point has not received any new SSDP:Alive messages, then the control point may consider that the first device is disconnected.
(15) In order to detect the disconnection of the remote UPnP device more quickly, the invention proposes to modify the sending times of the SSDP:ALIVE messages under certain conditions.
(16) According to the invention, the steps executed by the management entity ENT1 are as follows: a. a step of receiving a request to modify the transmission times of the messages to the first device, the request including a current level of electric charge associated with the second device (MOB21, MOB22); b. a step of determining the transmission times by taking into account at least the level of charge of the second device.
(17) Following the determination step, the transmission times may be modified or retained.
(18) More precisely, according to one embodiment, following the reception step, the method comprises a step of comparing the level of electric charge of the first device and the level of electric charge of the second device; the transmission times are then determined on the basis of the result of the comparison step. For example, if the level of charge of the first device is greater than that of the second device, then, in this case, the first device may modify the transmission times, for example by increasing the frequency to a frequency value desired by the second device in the M-SEARCH message.
(19) According to the invention, the messages transmitted by the second devices MOB21/MOB22, control points, include attributes that will be taken into account by the management entity ENT1 in order to decide on the sending times of messages, in particular of the SSDP:Alive messages. Following the taking into account, the management entity ENT1 executes an algorithm for dynamically adapting the sending frequency of the messages. In definitive terms, the entity ENT1 decides whether the frequency should be modified (reduced or increased) or kept at the same value.
(20)
(21) The steps are as follows; in order to simplify the disclosure, the steps will be described with reference to one control point, for example the smartphone MOB21. The other control point MOB22 performs the same steps as the first control point, the only difference being that the values of the attributes may be different.
(22) In a first step ET1, the second device MOB21 transmits an M-SEARCH ( . . . ERB, IES, . . . ) message including several attributes, including the following: a first second ERB attribute in order to indicate to the first device the remaining energy in the battery of the second device MOB21, for example in the form of a percentage: 100%, 50%, 10%. a second IES attribute in order to indicate to the first device DISP1 the desired transmission times of the messages by the first device, for example every X seconds in order to indicate that the control point wishes to receive SSDP:Alive messages every X seconds.
(23) In a second step ET2, the first device DISP1 receives RCP the M-SEARCH ( . . . , ERB, IES, . . . ) message originating from the second device and recovers the attributes, in particular the ERB attribute and the IES attribute.
(24) Next, depending on the energy constraints received from the second device MOB21, specifically the remaining electrical energy level of the second device MOB21, and on the remaining electrical energy level of the first device DISP1, the first device decides to adapt ADPT or not to adapt the sending frequency of the SSDP:Alive messages to the second device.
(25) In our exemplary embodiment, a threshold energy level NEs is defined beforehand.
(26) In a third step ET3, the module ENT1 compares COMP the current energy level NEc of the first device DISP1 with the threshold energy level NEs.
(27) If the current energy level NEc is lower than the threshold energy level NEs (step 4a), in our example, the first device does not adapt the sending frequency. In other words, the sending frequency is retained.
(28) If the current energy level NEc is greater than the threshold energy level NEs (step 4b), in our example, the first device adapts the sending frequency by increasing the sending frequency with a frequency corresponding to the second IES attribute defined above.
(29) Once the sending frequency has been set, the first device, in a fifth step ET5, transmits to the second device MOB21 an acknowledgement message ACK with the new duration set by the first device as parameter. This acknowledgement message allows the second device to adapt its own operation when it receives this acknowledgement message, without waiting to receive an SSDP:Alive message.
(30) Such an acknowledgement message is of the following type:
(31) HTTP/1.1 200 OK
(32) CACHE-CONTROL: max-age=seconds until advertisement expires
(33) DATE: when response was generated
(34) EXT:
(35) LOCATION: URL for UPnP description for root device
(36) SERVER: OS/version UPnP/1.0 product/version
(37) ST: search target
(38) USN: advertisement UUID
(39) The parameter “max-age” indicates the new sending frequency of the SSDP:Alive messages.
(40) Next, in a sixth step ET6, the first device transmits SSDP:Alive messages at the set frequency FRQ1.
(41) Such an SSDP:Alive message may take the following form:
(42) NOTIFY*HTTP/1.1
(43) HOST: 239.255.255.250:1900
(44) CACHE-CONTROL: max-age=seconds until advertisement expires
(45) LOCATION: URL for UPnP description for root device
(46) NT: search target
(47) NTS: ssdp:alive
(48) SERVER: OS/version UPnP/1.0 product/version
(49) USN: advertisement UUID
(50) As indicated above, the invention is applicable to an indeterminate number of second devices MOB2n. If consideration is given to two second devices MOB21, MOB22 transmitting different M-SEARCH ( . . . , ERB, IES, . . . ) messages to the first device in the first step; in this case, if the received first ERB attributes are different, the first device DISP1 selects a first attribute from among the received first attributes, for example the one corresponding to the second device having the least remaining energy.
(51) Optionally, following the setting of the new sending frequency FRQ of the SSDP:Alive messages by the first device DISP1, in our example, each control point MOB21/MOB22 will take into account this new value and proceed to adapt its own parameters for sending M-SEARCH messages, in particular the sending frequency of the M-SEARCH messages. If the system comprises two control points MOB21/MOB22, each point may modify the sending frequencies FRQ21/FRQ22 of the M-SEARCH messages, respectively.
(52) More precisely, in step 4b, in our example, if the first device adapts the sending frequency by increasing the sending frequency with a frequency corresponding to the second IES attribute of a first control point MOB21, the second control point MOB22 may then, on the basis of the set frequency, adapt its transmission frequency of M-SEARCH messages. For example, if the frequency FRQ1 set by the first device is lower than the value of the IES attribute requested by the second device in question MOB22; in this case, the second device in question MOB22 may deactivate the sending of the M-SEARCH messages. On the other hand, if the set frequency is greater, the second device in question MOB22 may modify the sending frequency of the M-SEARCH messages to the requested IES attribute in the M-SEARCH message transmitted to the first device DISP1.
(53) It should be noted that the sending times of the messages are managed by another management entity. Hereinafter, the management entity that manages the sending time of the SSDP:Alive messages is called first management entity ENT1; and the management entity that manages the sending time of the M-SEARCH messages is called second management entity ENT2n.
(54) Some examples will be described below for implementing the algorithm described with reference to
(55) With reference to
(56) Several examples will be described with reference to
(57) In all of these exemplary embodiments, a threshold energy level NEs=50% is defined beforehand.
(58) A first example is illustrated in
(59) In this first example, the first device is charged to 100%; this first device is for example a decoder connected to the mains.
(60) The first device receives the M-SEARCH ( . . . , ERB, IES, . . . ) message originating from the second device and recovers the ERB and IES attributes of each second device MOB21, MOB22: For the second device MOB21 ERB=10%, meaning that the battery of the second device MOB21 has 10% remaining energy; IES=60 s, meaning that the second device wishes to receive SSDP:Alive messages every 60 s rather than 1800 s.
(61) For the second device MOB22 ERB=50%, meaning that the battery of the second device MOB21 has 50% remaining energy; IES=90 s, meaning that the second device wishes to receive the SSDP:Alive messages every 90 s rather than 1800 s.
(62) The module ENT1 compares the current energy level NEc of the first device DISP1 with the threshold energy level NEs of the second device in question. The level NEc is 100%, and therefore greater than the level NEs of 50%.
(63) In this case, the first device DISP1 adapts the sending frequency by increasing the sending frequency with a frequency corresponding to the first attribute defined above.
(64) Since several second devices MOB21, MOB22 are involved, the first device selects a first attribute from among the received first attributes, for example the one corresponding to the second device that has the least remaining energy, that is to say 60 s.
(65) Once the sending frequency has been set, the first device transmits, to the second device MOB21, an acknowledgement message of the type described above.
(66) Next, the first device transmits SSDP:Alive messages at the set frequency of 60 s.
(67) In addition, depending on the frequency set by the first device DISP1, the second devices MOB21 and MOB22 decide or do not decide to transmit an M-SEARCH message or to adapt the sending frequency of this message. In the present case, the duration set by the first device is less than or equal to the received IES attribute values. In this case, the control points deactivate the sending of the M-SEARCH messages, respectively.
(68) A second example is illustrated in
(69) In this second example, the first device is charged to 40%. This first device could be a mobile telephone equipped with a battery.
(70) The first device DISP1 receives the M-SEARCH ( . . . , ERB, IES, . . . ) message originating from the second device and recovers the ERB and IES attributes in relation to each device MOB21 and MOB22:
(71) For the second device MOB21 ERB=80%, meaning that the battery of the second device MOB21 has 80% remaining energy; IES=90 s, meaning that the second device wishes to receive the SSDP:Alive messages every 90 s rather than 1800 s.
(72) For the second device MOB22 ERB=50%, meaning that the battery of the second device MOB21 has 50% remaining energy; IES=1800 s, meaning that the second device wishes to receive the SSDP:Alive messages every 1800 s.
(73) Next, depending on the energy constraints received from the second device MOB21, specifically the remaining electrical energy level of the second device, and on the remaining electrical energy level of the first device, the first device decides to adapt or not to adapt the sending frequency of the SSDP:Alive messages to the second device. In this case, the module ENT1 compares the current energy level NEc of the first device DISP1 with the threshold energy level NEs.
(74) In this second example, the current energy level NEc (40%) is lower than the threshold energy level NEs (50%). In our example, the first device does not adapt the sending frequency. In other words, the sending frequency of 1800 s is retained.
(75) Once the sending frequency has been set, the first device transmits, to the second device MOB21, an acknowledgement message and then transmits SSDP:Alive messages at the set frequency of 1800 s.
(76) Optionally, once the new duration has been set, the control points will proceed to adapt the sending frequency of the M-SEARCH messages. The sending duration of the SSDP:Alive messages (1800 s) is greater than the requested durations, specifically 60 s and 90 s. In this case, the second devices decide to modify the sending frequency of the M-SEARCH messages to 60 s and 90 s, respectively, specifically in order to meet their need.
(77) A third example is illustrated in
(78) In this third example, the first device is again charged to 100%, just as in the first example.
(79) The first device receives the M-SEARCH ( . . . , ERB, IES, . . . ) message originating from the second device and recovers the ERB and IES attributes in relation to each device MOB21 and MOB22:
(80) For the second device MOB21 ERB=50%, meaning that the battery of the second device MOB21 has 50% remaining energy; IES=60 s, meaning that the second device wishes to receive the SSDP:Alive messages every 60 s rather than 1800 s.
(81) For the second device MOB22 ERB=10%, meaning that the battery of the second device MOB21 has 100% remaining energy; IES=90 s, meaning that the second device wishes to receive the SSDP:Alive messages every 90 s.
(82) Next, depending on the energy constraints received from the second device MOB21, specifically the remaining electrical energy level of the second device, and on the remaining electrical energy level of the first device, the first device decides to adapt or not to adapt the sending frequency of the SSDP:Alive messages to the second device. In this case, the module ENT1 compares the current energy level NEc of the first device DISP1 with the threshold energy level NEs.
(83) In this third example, the current energy level NEc (100%) is greater than the threshold energy level NEs (50%). In our example, the first device will therefore adapt the sending frequency by setting it to 90 s.
(84) Optionally, once the new duration has been set by the first device DISP1, the control points, depending on the set duration, will accordingly adapt or not adapt the sending frequency of the M-SEARCH messages.
(85) In our example, the frequency used by the second device MOB21 is 60 s; this frequency is lower than the set duration of 90 s. As a result, the second device modifies its sending frequency of the M-SEARCH messages to 60 s.
(86) In our example, the frequency used by the second device MOB21 is 90 s. Unlike the second device MOB21, the second device MOB22 does not modify the sending frequency of the M-SEARCH messages, since the frequency that it uses is equal to the frequency set by the first device DISP1.
(87) The control points may also be supplied other than by a battery; they may be supplied by an electricity grid. In this case, assuming that the first device is supplied with a battery, the first module ENT1 asks the control points to modify their own sending frequency of the M-SEARCH messages so as not to consume the energy of the first device; the first device may in this case maintain the sending frequency of the SSDP:Alive messages or even reduce the sending frequency.
(88) It should be noted that the sending times of the messages are managed by another management entity. Hereinafter, the management entity that manages the sending time of the SSDP:Alive messages is called first management entity ENT1; and the management entity that manages the sending time of the M-SEARCH messages is called second management entity ENT2n.
(89) Also, when a second device MOB21/MOB22 is connected to the mains, the ERB attribute is set to 100% without it being necessary to perform a calculation. The attribute may then have a value of 100% or any other information that will be understood by the first device to mean a device supplied by the mains.
(90) As a variant, rather than using an ERB attribute in the M-SEARCH message, the first device, with or without using the home gateway described above, might attempt to use other means to determine the energy class of the device in question and its battery level. In particular, it would be possible to detect devices connected to the mains in order to assign them an energy of 100%.
(91) By way of example, the detection of a device connected to the mains may consist in recovering the DHCP name or the DNS name and using these names to determine whether the device in question is for example a smartphone, which is therefore probably battery-operated, or a fixed computer, which is therefore connected to the mains.
(92) The detection of a device connected to the mains may also consist in determining a type of connection used by a device: Ethernet, Wi-Fi, etc. If the connection is an Ethernet connection, this probably means that the device in question is a computer connected to the mains.
(93) The detection of a device connected to the mains may also consist in determining the duration for which the device has been connected to the network. For example, if the connection has not been broken for several days, this means that the device is probably supplied by the mains.
(94) Lastly, the detection of a device connected to the mains may also consist in calculating the trend of the strength of the signal originating from the device. If the strength is virtually constant, it may be concluded that the device is not moving and is therefore probably a PC, a decoder, etc. connected in Wi-Fi mode and supplied by the mains.
(95) In our example, the management entities are installed in the devices in question, but may very well be located outside of the devices, for example on a server able to communicate with a device.
(96) It should be stated here that the devices MOB21/MOB22/DISP1 all have the hardware architecture of a conventional computer. They in particular have a processor PRO, a random access memory RAM and a read-only memory in which a computer program Pg according to the invention is recorded. The first device comprises a program Pg containing instructions for executing the steps of the method whose flowchart is given in
(97) In our example, the program stored in the first device DISP1 is the entity ENT1; the program stored in the second devices MOB21/MOB22 are entities ENT21/ENT22, respectively.
(98) It should be stated here that the term module or entity may correspond equally well to a software component, a computer program, as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subroutines or, more generally, to any element of a program able to implement a function or a set of functions as described for the modules in question. In the same way, a hardware component corresponds to any element of a hardware assembly able to implement a function or a set of functions for the module in question (integrated circuit, chip card, memory card, etc.).
(99) Lastly, in order to implement the invention, the first management entity ENT1 comprises a. a module for receiving a request to modify the transmission times of the messages, the request including the current level of electric charge associated with the second device MOB21, MOB22; b. a module for determining the transmission times by taking into account the levels of charge of the first and/or the second device.
(100) In order to implement the invention, a second management entity ENT21/ENT22 comprises a. a module for transmitting a request to modify the transmission times of the messages, the request including the current level of electric charge associated with the second device; b. a module for receiving information in relation to the new transmission times set by the first device; c. a module for comparing the transmission times received from the first device with the current times used by the second device; d. a module for adapting the transmission times of the messages transmitted by the second device on the basis of the comparison step.
(101) The examples have been described with several second devices; the principle of the invention is however applicable to an indeterminate number of second devices.