EP4256733A1 - Method, apparatus and system for retransmission of data - Google Patents
Method, apparatus and system for retransmission of dataInfo
- Publication number
- EP4256733A1 EP4256733A1 EP20820108.7A EP20820108A EP4256733A1 EP 4256733 A1 EP4256733 A1 EP 4256733A1 EP 20820108 A EP20820108 A EP 20820108A EP 4256733 A1 EP4256733 A1 EP 4256733A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- message
- messages
- information
- redundancy
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 193
- 230000004044 response Effects 0.000 claims abstract description 65
- 238000004590 computer program Methods 0.000 claims abstract description 15
- 230000033001 locomotion Effects 0.000 claims description 33
- 235000002020 sage Nutrition 0.000 claims description 24
- 235000017276 Salvia Nutrition 0.000 claims description 14
- 241001072909 Salvia Species 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 14
- 230000000295 complement effect Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 39
- 230000006854 communication Effects 0.000 description 39
- 230000005540 biological transmission Effects 0.000 description 34
- 230000000875 corresponding effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 230000001413 cellular effect Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 229910052729 chemical element Inorganic materials 0.000 description 4
- 238000005265 energy consumption Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007600 charging Methods 0.000 description 2
- 238000005562 fading Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- the present invention relates to the transmission and reception of data, and in particular relates to retransmission of data.
- a network comprises a plurality of nodes, e.g. apparatuses.
- Each apparatus of the network comprises respective means for transmitting and receiving data to or from one or more other apparatuses of the net- work.
- Apparatuses may be mobile or stationary and may comprise respective means for power- ing the apparatus, e.g. a battery and/or a power grid connection. Transmission and reception of data from one apparatus to another apparatus in the network may take place over different types of links, for instance over a wireless link, e.g.
- a radio frequency link and/or over a wired link, e.g. a cable.
- data that is transmitted from one apparatus to an- other apparatus may not be received successfully by the other apparatus, e.g. due to interference on the link, due to congestion in the network, or due to a weak or missing link.
- a weak or miss- ing link may occur for instance when the distance between the transmitting apparatus and the receiving apparatus or the distance between the transmitting apparatus and an apparatus that may forward the data to the receiving apparatus, e.g. a base station, is too large to establish or maintain a stable wireless link and no wired link is available.
- redundancy may be added to the original data before transmitting it so that a receiving apparatus may successfully obtain the original data even though parts of the transmitted data were not received successfully.
- a strategy to trigger a retransmission of the data by the transmitting apparatus comprising e.g. informing the transmitting apparatus that data was not received successfully may be applied. According to a different strategy, the transmiting apparatus may not be informed that data was not received successfully and/or may not retransmit the data.
- the reliability of data conveyance may for instance be increased by adding redundancy to the data before transmitting it.
- the probability of successful receipt of the original data increases with increasing redundancy. However, it may still happen that so little of the transmitted data is received successfully that the receiving apparatus cannot obtain the original data from it.
- the transmiting apparatus may for instance ob- tain information for every successful receipt of a data packet, e.g. an acknowledgement (ACK), so that if the transmiting apparatus does not obtain information about the successful receipt of a transmitted data packet, the transmitting apparatus knows that either the transmited data . packet and/or the acknowledgement was not conveyed successfully.
- the transmitting apparatus may then retransmit the data packet and any additional data that may be required by the receiv- ing apparatus to correctly interpret the retransmitted data.
- each of these two approaches increases the reliability of a data conveyance, they increase the energy consumption of the transmitting apparatus and possibly of further apparatuses, e.g. the receiving apparatuses and/or further nodes of a network. This is because the total amount of data that is transmited transmitting apparatus increases when redundancy is added, when a data packet is retransmitted, and when additional data that may be required by the re- ceiving apparatus to correctly interpret the retransmited data is added. Additionally, the energy consumption of the transmitting apparatus is further increased in e.g. a retransmission ap- proach that uses ACKs because the transmitting apparatus needs to listen on a channel for ACKs and receive ACKs which both costs energy.
- the additional energy consumption due to additional redundancy or retransmissions may for instance be particularly significant when the transmitting apparatus experiences varying link stability. This is because poor links may require a large amount of additional redundancy and/or result in a large amount of data that is not received successfully by the receiving apparatus.
- Link stability may vary and poor links may occur e.g. depending on the environment and the position of the transmitting apparatus. This may be particularly the case when the transmitting appa- ratus is a mobile apparatus that often changes its position and/or travels fast.
- a method comprises: transmitting first data using a first level of redundancy in a first message; storing at least part of the first data; transmitting a first downlink request message; obtaining first information in re- sponse to the first downlink request message; determining whether at least part of the first data needs to be retransmitted based on the first information, and transmitting second data using a second level of redundancy in one or more second messages when it is determined that at least part of the first data needs to be retransmitted, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises the at least part of the first data for which it was determined that it needs to be retransmitted.
- a method comprises: receiving a first downlink request message; providing first information in response to the re- ceived first downlink request message, wherein the first information is useable by an apparatus that transmitted first data using a first level of redundancy in a first message for determining whether at least part of the first data needs to be retransmitted, and at least one of: receiving at least part of second data that uses a second level of redundancy in one or more second messages, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises at least part of the first data, or receiving a second downlink request message.
- the means of the apparatus or system can be implemented in hardware and/or software. They may comprise for instance at least one processor for executing computer program code for per- forming the required function, at least one memory storing the program code and/or data, or both. Alternatively, they could comprise for instance circuitry that is designed to implement the 10 required functions, for instance implemented in a chipset or a chip, like an integrated circuit. In general, the means may comprise for instance one or more processing means or processors.
- An apparatus or system (that in particular comprises at least two apparatuses) comprising at least one processor and at least one memory including computer program code, the at least one 15 memory and the computer program code configured to, with the at least one processor, cause an apparatus or system (e.g. the apparatus or the system) at least to perform and/or control the method according to. the respective aspect of the invention.
- the disclosed apparatus performing the method according to the respective aspect of the inven- 20 tion may comprise only the disclosed components (e.g. means, processor, memory) or may fur- ther comprise one or more additional components.
- the disclosed apparatus performing the method according to the first aspect of the invention may for example be battery-operated and/or powered by a solar module and/or be powered by 25 any other energy source that does not require a permanent connection to a power grid.
- the disclosed apparatus according to the first aspect of the invention may for example be a mobile device or a tracking device for tracking of an entity.
- Such an entity could be a pallet, a roll cage, a trolley or a container.
- the tracking device for tracking of the entity may be attachable and/or connectable to the entity.
- the tracking device for tracking of the entity may alternatively 30 be a part of the entity or integrated into the entity.
- the disclosed apparatus accord- ing to the first aspect of the invention may for example comprise means or a sensor for or adapted to detecting movement, detecting a start of a movement, detecting a stop of a move- ment, detecting speed of a movement and/or detecting the distance travelled between start and stop of a movement.
- the disclosed apparatus performing the method according first as- pect of the invention may further comprise a module for or adapted to receiving and/or trans- mitting data from and/or to nodes of a network, for example wireless local area network (WLAN) access points (APs) or cellular mobile network base stations.
- WLAN wireless local area network
- APs access points
- cellular mobile network base stations for example wireless local area network (WLAN) access points (APs)
- the module may be adapted to receive identifiers of nodes or cells of a network, for example basic service set identifiers (BSSIDs) which for instance comprise the medium access control (MAC) addresses of respective WLAN APs or which comprise a random number.
- BSSIDs basic service set identifiers
- the disclosed apparatus performing the method according to the first aspect of the invention may be configured to communicate with the disclosed apparatus performing the method according to the second aspect of the in- vention, for instance based on one or more wireless communication networks such as a low- power wide area network or a cellular mobile communication network, to name but a few exam- ples.
- the disclosed apparatus performing the method according to the first aspect of the invention may be configured to communicate with a relaying device, e.g.
- the relay- ing device may be configured to forward received information to the disclosed apparatus per- forming the method according to the second aspect of the invention, for instance using a low- power wide area network or a mobile communication network, and/or to forward received in- formation to the disclosed apparatus performing the method according to the first aspect of the invention.
- the disclosed apparatus performing the method according to the second aspect of the invention may for example be a server or a cloud server. It may for instance be connected to the Internet and/or other communication networks, e.g. one or more low power wide area networks and/or other cellular networks such as 4G or 5G. Furthermore, it may for example be configured to com- municate with the apparatus according to the first aspect of the invention, e.g. using one or more of these networks.
- a computer program when executed by a processor causing an apparatus (e.g. a server or a tracking device) to perform and/or control the actions of the method according to the respective aspect of the invention.
- the computer program may be stored on computer-readable storage medium, in particular a tangible and/or non-transitory medium.
- the computer readable storage medium could for ex- ample be a disk or a memory or the like.
- the computer program could be stored in the computer readable storage medium in the form of instructions encoding the computer-readable storage medium.
- the computer readable storage medium may be intended for taking part in the opera- tion of a device, like an internal or external memory (e.g. a Read-Only Memory (ROM) or hard •disk of a computer, or be intended for distribution of the program, like an optical disc.
- ROM Read-Only Memory
- a tangible, non-transitory computer-readable medium storing a computer program code, the computer program code when executed by a processor causing an apparatus to perform and/or control the method according to the respective aspect of the invention.
- a system is dis- closed, comprising at least an apparatus or system according to the first exemplary aspect of the invention and an apparatus or system according to the second exemplary aspect of the inven- tion.
- the transmitting of any of the messages of the method according to the first aspect of the inven- tion may be a transmission from a first apparatus to a second ’apparatus.
- the first apparatus may correspond to the apparatus performing the method according to the first aspect of the in- vention, e.g. a tracking device.
- the second apparatus may correspond to the apparatus perform- ing the method according to the second aspect of the invention or to another apparatus, e.g. a server.
- one or more of the transmissions maybe to an apparatus that is configured to forward the respective message, e.g.
- any of the messages of the method according to the first aspect of the inven- tion e.g. the first message, the downlink request message, and/or the one or more second mes- sages, maybe a respective wireless transmission.
- a wireless transmission may for example be based on a low-power wide area network, e.g.
- SigFox LoRa PHY, LoRa Wide Area Network (WAN), Long Term Evolution (LTE)-M, NarrowBand-Internet of Things (loT).
- SigFox radio is for example specified in the SigFox radio specification vl.5 of February 2020.
- a wireless transmis- sion may correspond to or be based on the transmission of an uplink message or a downlink message according to this SigFox specification.
- exemplary em- bodiments of the invention may consider transmissions that are based on the general principle of a SigFox network but that deviate from the SigFox specification in specific points, e.g.
- Ra WAN may be specified according to the LoRaWAN 1.0.3 specification by the LoRa Alliance and a wireless transmission may for instance be based on an uplink message that is sent, e.g. accord- ing to LoRa PHY, by an end-device to a network server and that maybe relayed by one or more gateways, or it may be based on a downlink message that is sent, e.g. according to LoRa PHY, from the network server to one end-device and that may be relayed by one gateway.
- a wireless transmission may for example based on a cellular network, e.g.
- GSM Global Sys- tem for Mobile Communications
- GPRS General Packet Radio Service
- EDGE Enhanced Data Rates for GSM Evolution
- UMTS Universal Mobile Telecommunication System
- LTE Long Term Evolution
- LTE+ 5 th Generation
- 5G 6 th Generation
- WLAN wireless local area network
- the transmitting may then be done using one or more radio frequency bands in the respective frequency band of the network and/or the tech- noldgy, for example using one or more frequencies around 868 MHz or around 902 MHz in the short range device (SRD) band for a transmission over e.g.
- SRD short range device
- a SigFox network or a LoRaWAN us-ing one or more frequency bands in an industrial, medical and scientific (ISM) band, for example around 2.4 GHz, 5.8 GHz or 61.5 GHz for a transmission over an IEEE 802.11 network, or using one or more frequency bands in a proprietary frequency band of a GSM, GPRS, EDGE, UMTS, LTE, 5G or 6G network operator.
- the transmitting of any of the messages may be a re- spective wired transmission, for example over an Ethernet or fiber network.
- the first message may be a message of a plurality of messages.
- One or more messages of the plu- rality of messages may for instance be transmitted before and/or after the first downlink re- quest message is transmited and/or before and/or after one or more second messages are transmited.
- the first message may be transmitted after any arbitrary or random number, e.g. 1, 2, or 10, of messages of the plurality of messages has been transmitted and/or before any arbitrary or random number, e.g. 1, 2, or 10, of messages of the plurality of messages has been transmitted.
- the downlink request message may be transmitted a random, arbitrary or pre-defined time interval after the first message has been transmitted, or after a time interval determined based on a pre-defined rule. Such a time interval may correspond to less than 1 s, 1 s, 2 s, 10 s, 1 hour, 6 hours, 12 hours, 24 hours or more than 24 hours.
- the method according to the first aspect of the invention comprises obtaining, for example receiving, determining or generating, first information.
- the first information may for example be obtained by the apparatus that performs the method according to the first aspect of the invention. It may for instance be received from the apparatus that performs the method ac- cording to the second aspect of the invention and/or for instance wirelessly from or through e.g. a base station, a relaying device, or a satellite.
- the first information may for instance be com- prised in a downlink response message and/or piggybacked onto any other message.
- the first information may for example be generated by the apparatus that performs the method according to the first aspect of the invention for instance using a pre-defined rule and/or based on a timer.
- the first information may for example be generated by the apparatus that performs the method according to the first aspect of the invention in response to that a timer which was started when the first data was transmitted stops, e.g. after a pre-defined duration.
- the first information may be indicative of whether at least part of the first data was not received successfully, e.g. at the second apparatus, at a base station, at a relaying device, at a satellite, or at the apparatus performing the method according to the second aspect of the invention.
- the first information may additionally or alternatively be indicative of whether at least part of the first data should be retransmitted, for instance regardless of the fact whether the first data was received successfully or not.
- the first information may also be indicative of whether one or more respective messages of the plurality of messages of which the first message is a message were received successfully or not and/or whether a respective message should be retransmitted, for instance regardless of the fact whether the respective message was received successfully or not.
- the first information may be indicative of the above-described characteristics without further information and/or combined with further information.
- Such further information may for exam- ple be information that is stored on the apparatus obtaining the first information and/or it may be information that can be generated by the apparatus obtaining the first information according to a pre-defined rule and/or it may be information that the apparatus obtaining the first infor- mation receives in addition to the first information.
- the first information may be provided, e.g. by the apparatus performing the method according to the second aspect of the invention, in response to the received first downlink request mes- sage.
- the first information may for instance be provided only if the first downlink request mes- sage comprises a pre-defined information.
- the first information maybe provided in response to every downlink request message.
- the first information may be provided in response to the received first downlink request message only if some prerequisite is met, for example that the apparatus that provides the first information is connected to a suited network or that a pre-defined time has passed since the last providing of the first information.
- redun- dancy according to the first level of redundancy may for instance be added to the first data, e.g. by the apparatus performing the method according to the first aspect of the invention.
- redundancy may be added by making the first message comprise the first data multiple times, e.g. N times, e.g. in identical form.
- redundancy may be added by applying forward error correction codes to the first data, for example the Hamming code, the Reed Solomon code or the Viterbi code. The added redundancy may increase the probability of successfully obtaining at least parts of the first message, e.g.
- a recipient for example because the recipient may successfully recover parts of the first data based on the added redundancy that were initially received unsuccessfully.
- the recipient may for example be the apparatus ac- cording to the second aspect of theinvention and/or a base station and/or any other node of a network.
- using the first level of redundancy may also correspond to adding no redundancy or possibly even removing redundancy from the first data.
- Adding redundancy to the first data may be particularly relevant when the apparatus perform- ing the method according to the first aspect of the invention has no stable link for transmitting the first data, e.g. to a base station and/or an access point of a wireless network and/or the sec- ond apparatus, or expects to have no stable link for transmitting the first data. This may for ex- ample occur when the network over which the first data shall be transmitted has only limited coverage areas and the apparatus performing the method according to the first aspect of the in- vention is at least sometimes outside of these coverage areas, for instance because it is moving often and/or fest and/or far, e.g. inside a truck or a ship.
- redundancy according to the second level of redundancy may for instance be added to second data which comprises the at least part of the first data (or a representation thereof) for which it was determined that it needs retransmission.
- the adding of redundancy may for in- stance be done by the apparatus performing the method according to the first aspect of the in- vention.
- redundancy may be added by making the one or more second messages comprise the second data multiple times, e.g. in identical form.
- re- dundancy may be added by applying forward error correction codes to the first data, for exam- ple the Hamming code, the Reed Solomon code or the Viterbi code.
- a level of redundancy that is used for transmitting a message A may be lower than another level of redundancy that is used for transmitting another message B for instance if the entropy of the message A is higher than the entropy of the other message B assuming both messages are gener- ated based on the same input data. Assuming both messages are generated based on the same input data, message A may then be shorter than message B.
- using a lower level of redun- dancy for transmitting data may result in less total data that needs to be transmitted and/or may result in "free space" in one or more messages that may be used for additional data when com- pared with a transmissi on of the same data using a higher level of redundancy.
- Transmitting less total data and/or having "free space" in one or more messages to transmit additional data in the same messages so that additional data need not be transmitted in an additional separate mes- sage may save energy, e.g. at the apparatus transmitting the messages and/or at one or more ap- paratuses that receive and/or process those messages. This is for instance because any over- head, e.g. due to the header, need not be transmitted twice.
- the second level of redundancy may be lower than the first level of redundancy for instance if the one or more second messages comprise the second data less times than the first message comprises the first data, e.g. the one or more second messages may comprise the second data N- 1, N-2, or N-M, e.g. 1, times, where M is a positive integer, whereas the first message may com- prise the first data N times.
- the second level of redundancy may also be lower than the first level of redundancy for instance when the one or more second messages comprise only parts of the second data multiple times and parts of the second data only one time.
- redundancy according to the second level of redundancy that is lower than the first level of redundancy may be added to the second data by applying forward error correction codes to the second data using a code rate of the forward error correction code that is higher than the code rate of a forward error correction code applied to add the first level of redundancy to the first data.
- the second level of redundancy may also be zero, i.e. no redundancy is added to the second data. Using the second level of redundancy may even correspond to removing redun- dancy from the second data.
- the second data in the one or more second messages using the second level of redundancy is transmitted when it is determined that at least part of the first data needs to be retransmitted, e.g. only if it is determined that at least part of the first data needs to be retransmitted and/or always when it is determined that at least part of the first data needs to be retransmitted and/or in response to that it is determined that at least part of the first data needs to be retransmitted.
- the determining whether at least part of the first data needs to be retransmitted may for in- stance be done by the apparatus that performs the method according to the first aspect of the invention.
- the determining whether at least part of the first data needs to be retransmitted is based on the first information.
- the determining whether at least part of the first data needs to be retransmitted may additionally be based on further information.
- the first data may have a data type of a set of at least two data types such as payload data, status data, keep alive data, and control data.
- the determining may then not only be based on the first information, but additionally based on the data type of the first data. Furthermore, the determining may be based for instance on time data.
- the determining may be based on data from a sensor and/or data about a charging status, for instance data from a sensor that may be comprised in the apparatus performing the method according to the first aspect of the invention or the charg- ing status of a battery that may be comprised in the apparatus performing the method according to the first aspect of the invention.
- the second data that is transmitted in the one or more second messages using the second level of redundancy comprises the at least part of the first data for which it was determined that it needs to be retransmitted.
- the second data may comprise the entire first data (or a representation thereof).
- the second data may comprise only the part of the first data for which it was determined that it needs to be retransmitted.
- the second data may comprise additional data, for example the data from one or more messages of the plu- rality of messages of. which the first message was transmitted.
- the additional data may for example be or comprise one or more message identifiers and/or one or more timestamps and/or one or more hash values, e.g.
- the additional data may allow as- sociating the second data or parts thereof with the first data. Furthermore, the additional data may for example allow distinguishing the second data from other data, e.g. based on the one or more message identifiers, the one or more timestamps, and/or the one or more hash values and/or the one or more sequence numbers.
- the associating and/or the distinguishing may for instance be clone by the second apparatus, e.g. the apparatus performing the method according to the second aspect of the invention.
- the additional data may for example take up some or all of the "free space" in the one or more second messages that may result from transmitting the sec- ond data using a second level of redundancy in the one or more second messages, wherein the second level of redundancy is lower than the first level of redundancy. It may thus save energy to transmit the second data in one or more second messages using the second level of redun- dancy being lower than the first level of redundancy because that reduces the total amount of data that is transmitted. This may be particularly the case if no additional data needs to be trans- mitted in a separate additional message and the additional data may instead be comprised in the second data in addition to the at least part of the first data for which it was determined that it needs to be retransmitted.
- the second message is a message of a plurality of messages that are transmitted, each of which may have some or all of the characteristics described for any of the other messages of the method according to the first aspect of the invention.
- the transmitting of the second data in the one or more second messages may be over a stable link than the probability that the transmitting of the first data in the first message is over a stable link. This may for example be so if the transmitting and possibly the receiving of the downlink request message was successful and/or the obtaining, e.g. receiving, of the first information in response to the first downlink request message was successful and/or the determining whether at least part of the first data needs to be retransmitted based on the first information was suc- cessful, e.g. in response to obtaining the first information.
- One or more of these events may indi- cate that at the respective moment when the event occurred, there was a link good enough for transmitting and/or receiving a message or information, e.g. by the apparatus according to the first aspect of the invention.
- the second data in the one or more second messages may be transmited, e.g. by the apparatus performing the method according to the first aspect on the invention, shortly after or in response to the determining and/or in response to any other action of the method according to the first aspect of the invention.
- "shortly after” may mean e.g.
- the stable link may still be available and may be expected to be available, for in- stance if the average change in location or environment of the apparatus according to the first aspect of the invention is known or can be estimated.
- an event may e.g. be the successful reception of a message, for instance as described above.
- an event may be the receipt of data from a sensor or other available means, e.g. location data from a global positioning system (GPS) sensor or a similar sensor, which is indicative of a location at which a stable link can be expected, e.g. based on coverage maps.
- GPS global positioning system
- the method ac- cording to any aspect of the invention may make the transmission and reception rate of data adaptive to the environment of the apparatus performing the method according to the first as- pect of the invention.
- the methods according to any aspect of the invention may nei- ther require any explicit channel measurements for this, nor may it be required that any explicit information about the channel quality or status is transmitted as data in any of the messages of the method according to any aspect of the invention.
- the second data is transmitted in two second messages.
- a first part of the second data may be comprised in the first second message and a second part of the second data may be comprised in the second second message.
- the second data may comprises additional data, e.g. one or more timestamps and one or more message identifiers; in addition to the at least part of the first data for which it was determined that it needs to be retransmitted.
- the additional data may for instance be comprised only in one of the two messages.
- both second .messages may comprise part of the additional data, e.g.
- additional data may also be split across two second messages or even more messages.
- the second data may also be transmitted only in one second message or even in any other pre-defined or varying, e.g. accord- ing to a pre-defined rule, number of second messages.
- the at least part of the first data for which it was determined that it needs to be retransmitted and which is comprised in the sec- ond data may be comprised only in one of the one or more second messages.
- parts of the at least part of the first data for which it was determined that it needs to be retransmitted and which is comprised in the second data may be comprised in several respective second mes- sages of the one or more second messages.
- At least two second messages of the one or more second messages comprise different data.
- the part of the second data that is transmitted in the one or more second messages using the second level of redundancy corre- sponding to the at least part of the first data for which it was determined that it needs to be re- transmitted may be split across several, e.g. 2, second messages.
- each of these second messages may for example comprise a different part and/or representation of the at least part of the first data for which it was determined that it needs to be retransmitted.
- one or more (or all) second messages may comprise the same part of the second data corresponding to the at least part of the first data for which it was determined that it needs to be retransmited.
- the one or more second messages may comprise mutually different addi- tional data, e.g. each second message may have a respective unique message identifier.
- the aggregated length of the one or more second messages is shorter than the length of the first message. This may for instance always be so or only if the data type of the first data in the first message is of a pre-defined data type, e.g. payload data.
- the second level of redundancy may then be lower than the first level of redundancy in such a way that any data, e.g. one or more timestamps and/or one or more mes- sage identifiers; that needs to be transmited in addition to the at least part of the first data com- prised in the second data may still fit into the, e.g. pre-defined number of, one or more second
- the aggregated length of the one or more second messages being shorter than the length of the first message may be advantageous in that it may for instance be easily determina- ble how long the transmission of the one or more second messages takes and/or how much en- ergy the transmission of the one or more second message costs in total as compared to the transmission of the first message. This may for instance allow to calculate an expected operating time or life time of a battery-operated apparatus. This can be even more precise if the aggre- gated length of the one or more second messages is not only shorter than the length of the first message, but is shorter by a pre-defined ratio, e.g. the aggregated length of the one or more sec- ond messages may be 1/4, 1/3, 1/2, 2/3, or 3/4 of the length of the first message.
- the at least part of the first data that is stored is stored associated with a timestamp
- the second data comprises the time stamp.
- the second data may comprise the time stamp for instance in addition to the at least part of the first data.
- Storing the at least part of the first data associated with a timestamp may allow at a later point in time to determine when the at least part of the first data was initially e.g. trans- mitted, generated or obtained. The determining may for instance be done by the apparatus ac- cording to the first aspect invention and/or the apparatus according to the second aspect of the invention.
- the at least part of the first data that is stored is stored associated with one or more message identifiers
- each of the one or more second messages in which the second data is transmitted comprises a respective message identifier of the one or more message identifiers.
- the second data may comprise the one or more message identifiers for instance in addition to the at least part of the first data and for instance in addition to one or more timestamps.
- a message identifier may for instance be a respective number from a sequence and/or may for instance allow uniquely identifying the at least part of the first data that is stored or a respective partt thereof .
- the one or more message identifiers may for instance be associated with the at least part of the first data or a respective part thereof until the at least part of the first data of the respective part thereof was received successfully, for in- stance in the one or more second messages by the apparatus according to the second aspect of the invention.
- This association may be particularly useful in case the first data does not contain such a message identifier, for instance to save energy by keeping the first data in the first mes- sage small
- the first message may then only comprise a sequence number that is associated with the first message and possibly not with the first data.
- the method according to the first aspect of the invention further comprises: transmitting a second downlink request message; ob- taining second information in response to the second downlink request message, e.g. by the ap- paratus performing the method according to the first aspect of the invention and/or from the apparatus performing the method according to the second aspect of the invention; determining whether at least part of the second data needs to be retransmitted based on the second infor- mation, e.g.
- the apparatus performing the method according to the first aspect of the inven- tion; transmitting the at least part of the second data in one or more third messages using a third level of redundancy when it is determined that at least part of the second data needs to be re- transmitted; e.g. by the apparatus performing the method according to the first aspect of the in- vention.
- the at least part of the second data that is transmitted in the one or more third mes- sages may comprise the at least part of the first data which was stored. It may also comprise the one or more timestamps and the one or more message identifiers and/or it maybe the entire second data.
- the number of third messages may correspond to the number of sec- ond messages that were not received successfully.
- the one or more third messages may comprise the same respective data and/or have the same respective charac- teristics that the respective one or more second messages had, e.g. the one or more third mes- sages may represent retransmissions of one or more second messages that were not received successfully.
- the one or more third messages maybe messages of a plurality of messages that are transmited.
- the characteristics of the respective single method actions de- scribed above in this paragraph may be the same or different from those described for the re- spective first type of its kind, e.g. the obtaining of second information and the second infor- mation itself may have the same or different characteristics than the obtaining of the first infor- mation and the first information itself.
- the obtaining of the second information and the second information itself may have one or more of the characteristics described for the obtain- ing of the first information and the first information itself.
- the same principle applies for in- stance also to the third level of redundancy and the respective other method actions and objects mentioned before in this paragraph.
- the second downlink request message may have some or ail of the characteristics that were described for the first downlink request message.
- one downlink request message represents both a first and a second downlink request message. For instance, if we consider a first message A and another first message B, and message B was e.g.
- a downlink request mes- sage may represent both the second downlink request from the perspective of the first message A and the first downlink request message from the perspective of the first message B. This may for example occur when downlink request messages are transmitted in regular time intervals, e.g. every 24 hours. First messages may be transmitted irregularly and/or more often, for exam- ple in reaction to trigger events.
- the method according to the sec- ond aspect of the invention further comprises: providing, e.g. by the apparatus performing the method according to the second aspect of the invention, second information in response to re- ceiving the second downlink request message, wherein the second information is useable by an apparatus that transmitted the second data in the one or more second messages for determining whether at least part of the second data needs to be retransmitted, wherein the apparatus that transmitted the second data is the same apparatus that transmited the first data.
- the second information may for instance be generated by the apparatus performing the method according to the second aspect of the invention before providing it. It may be generated e.g. based on infor- mation about which parts of the first and/or second data were received.
- the second information may be provided after every (second) downlink request message. Furthermore, the second in- formation may be provided in response to the received second downlink request message only ifsome prerequisite is met,- for example that the apparatus that provides the second information is connected to a suited network or that a pre-defined time has passed since the providing of the first information and/or the last providing of the second information.
- the method according to the second aspect of the invention may further comprise receiving parts of the first and/or the second data and/or combining some or all of the received parts of the first and/or the second data to obtain at least parts of the data that was originally transmitted in the first message and/or in the one or more second messages. The combining may be done e.g.
- the second information may be obtained by the apparatus performing the method according to the first aspect of the inven- tion by generating it, e.g. in response to that a pre-defined time interval has passed since trans- mitting the one or more second messages, i.e. obtaining the second information by detecting that a pre-defined time interval has passed since transmitting the one or more second messages.
- At least one third message of the one or more third messages and at least one second message of the one or more second mes- sages have the same length. This may be advantageous in that it can for instance easily be deter- mined how long the transmission of the one or more third messages takes and/or how much en- ergy the transmission of the one or more third messages costs. This may also occur when a third message represents or is or corresponds to a retransmission of a second message. In some em- bodiments, all third messages of the one or more third messages and all second messages of the one or more second messages may have the same length.
- the third level of redundancy is equal to the second level of redundancy, i.e. it may be the same level as the second level of re- dundancy, e.g. if one or more third messages have the same length as one or more second mes- sages.
- the third level of redundancy may be equal to the first level of redundancy or it may be a level of redundancy that is higher or lower than any of the first and/or the second level of redundancy.
- the method according to the first aspect of the invention further comprises: determining the number of the one or more third messages, e.g. by the apparatus performing .the method according to any aspect of the invention, based on the second information.
- the second information may comprise one or more indicators based on which the number of the one or more third messages may be deter- mined.
- these one or more indicators may refer to respective one or more second messages and may indicate whether the respective second message was received successfully or not Based on this, it may be determined that the number of the one or more third messages cor- responds to the number of second messages that were not received successfully.
- the method according to the sec- ond aspect of the invention further comprises: receiving at least part of the second data in one or more third messages that use a third level of redundancy, wherein the third level of redundancy is determined by the apparatus that transmitted the one or more third messages.
- the received at least part of the second data in the one or more third messages may be combined with -previ- ously received data, e.g. the at least parts of the first data that were received, and/or the at least part of the second data that were received, e.g. in one or more second messages and/or in one or more third messages. Any of these actions may be performed e.g. by the apparatus performing the method according to the second aspect of the invention.
- the second information is based on the one or more message identifiers.
- the apparatus according to the second aspect of the invention may determine the second information based on the one or more message iden- tifiers and optionally based on further information.
- one or more messages of the plurality of messages of which the one or more second messages and/or the one or more third messages are transmitted may comprise a respective message identifier.
- the second infor- mation may be based not only on the one or more message identifiers of the one or more second messages, but additionally it may be based on one or more of the respective message identifiers of the respective messages of the plurality of messages.
- the second information may for instance indicate which at least part of the second data and/or which second message(s) of the one or more second messages was/were not received successfully, e.g. by the apparatus according to the second aspect of the invention.
- the one or more message identifiers comprised in the second data and/or in the one or more second messages and/or one or more additional message identifiers comprised in respective messages of the plurality of messages may be used, for example.
- the method according to the first aspect of the invention may further comprise: determining if a position of an apparatus that per- forms the method is moving and/or has started moving, wherein the transmitting of the first data in the first message using the first level of redundancy is performed if no movement has been detected during a pre-defined time interval or a time interval determined according to a pre-defined rule, or if a start of a movement has been detected.
- the transmitting of the first data in the first message using the first level of redundancy may be performed in re- sponse to that no movement has been detected during a pre-defined time interval or a time in- terval determined according to a pre-defined rule, or in response to that a start of a movement has been detected.
- a start of a movement may be detected if the apparatus that performs the method travels faster than a pre-defined speed, e.g. 1 km/h, 5 km/h, 10 km/h, 30 km/h, 40 km/h, SO km/h, and/or has traveled since the last stop and/or at the pre-defined speed more than a pre-defined distance, e.g.
- Transmitting of the first data in the first message if no movement has been detected during a pre-defined time interval or a time in- terval determined according to a pre-defined rule, or if a start of a movement has been detected may be particularly advantageous if the first data is related to or associated with information about the position and/or the movement of the apparatus performing the method according to the first aspect of the invention and/or the status of e.g. the link between the apparatus perform- ing the method according to the first aspect of the invention and a network node, e.g. a base sta- tion. In such a case, the first data is particularly transmitted when relevant changes might have occurred to this position and/or the movement of the apparatus. The determining may be done e.g. by the apparatus performing the method according to the first aspect of the invention.
- the first data transmitted in the first message has a data type from a set of at least two data types.
- This set of at least two data types may for instance comprise at least payload data and/or status data and/or keep alive data.
- Data of type payload data may for instance be data that comprises information useable for deter- mining the position of an apparatus, for instance the position of the apparatus performing the method according to the first aspect of the invention.
- payload data may for in- stance comprise identifiers of communication nodes, e.g. BSSIDs of WLAN APs or cell identifiers of base stations of a cellular network, which were for example received by the apparatus per- forming the method according to the first aspect of the invention, e.g. during a scan for such communication nodes.
- payload data may for instance comprise co- ordinate data, e.g. GPS data, or may for instance be otherwise indicative of a position and/or a movement, e.g. of an apparatus.
- Data of type status data may for instance comprise data that is indicative of a status, e.g. a battery status, of an apparatus according to the first aspect of the in- vention, indicative of a status change of the apparatus performingthe method according to the first aspect of the invention, e.g. a start of a movement, a long drive or similar, indicative of set- tings and/or updates for the apparatus performing the method according to the first aspect of the invention and/or indicative of a data integrity functionality to be used, e.g. actions to be taken, e.g. by the apparatus according to the first aspect of the invention, e.g. in response to ob- taining the first and/or the second information.
- a status e.g. a battery status
- Data of type status data may for instance comprise data that is indicative of a status, e.g. a battery status, of an apparatus according to the first aspect of the in- vention, indicative of a status change of the apparatus performingthe method according to the first aspect of the
- Data of type keep alive data may for instance be indicative of that the apparatus according to the first aspect of the invention is still alive, e.g. powered and/or within the network.
- the data type of the first message e.g. payload data, status data, or keep alive data, may for instance also be indicative of or associated with an importance or a priority of the data in case of a possible retransmission.
- the data type of the first data is payload data if the transmitting of the first data in the first message using the first level of redun- dancy is performed in response to that no movement has been detected in -a pre-defined time interval or a time interval determined according to a pre-defined rule
- the data type of the first data is status data if the transmitting of the first data in the first message using the first level of redundancy is performed in response to that a start of a movement has been detected.
- a scan for communication nodes may be performed in response to that no move- ment has been detected in a pre-defined time interval or a time interval determined according to a pre-defined rule, and the result of that scan, e.g.
- BSSIDs of WLAN APs or cell identifiers of base stations may be comprised in or constitute the first data.
- the first data may have the data type payload data.
- the first data may indicate the detected start of the movement
- the first data may then have the data type status data.
- the determining whether at least part of the first data needs to be retransmitted is further based on the data type of the first data.
- the determining whether at least part of the first data needs to be retransmit- ted may be based on the first information and the data type of the first data. For instance, it may first be determined whether there is a general need to retransmit at least part of the first data based on the first information, e.g. in the case that this at least part of the first data has not been received successfully. Then, it may be determined whether there is a general need to retransmit the at least part of the first data based on the data type of the first data. Alternatively, this may be done the other way around.
- the at least part of the first data needs to be retransmitted.
- This may have the advantage that the amount of data that needs to be retransmitted is kept low, e.g. by not retransmitting data that is no longer relevant, e.g. data which has the data type keep alive data and/or the data type status data, thereby saving energy.
- the determining whether at least part of the first data needs to be retransmitted it is determined that at least part of the first data needs to be retransmitted if the first information is indicative of that the at least part of the first data was not received successfully, e.g. by the second apparatus, and the data type of the first data is payload data.
- the at least part of the first data needs to be retransmitted in case that the first data is keep alive data.
- the at least part of the first data need not be retransmitted in case that the first data is status data, even if the first information is indicative of that the at least part of the first data was not received successfully.
- data of data type payload data comprises information useable for determining or indicative of the position of an apparatus that performs the method.
- data of data type payload data may comprise BSSIDs of WLAN APs or other types of cell identifiers of communication nodes.
- the corresponding WLAN APs or communication nodes may have been so dose to the apparatus performing the, method according to the first aspect of the invention that the apparatus may have received their respec- tive identifiers, e.g. BSSIDs or cell identifiers.
- information that indicate the respective positions of these WLAN APs or communica- tion nodes, such BSSIDs of WLAN APs or other types of cell identifiers of communication codes may be useable for determining the position of an apparatus that performs the method.
- coordinate data such as the data obtained using a GPS receiver maybe useable for deter- mining the position of an apparatus that performs the method.
- data useable for de- termining the position of an apparatus that performs the method may for instance be data ob- tained by calculation, e.g. using a Kalman filter, based on previously obtained coordinate data, e.g. by the apparatus performing the method.
- the determining whether at least part of the first data needs to be retransmitted is further based on the content of the first data.
- the determining whether at least part of the first data needs to be retransmit- ted may be based on the first information and the data type of the first data and the content of the first data. For instance, it may first be determined whether there is a general need to retrans- mit at least part of the first data based on the first information, e.g. in the case that this at least part of the first data has not been received successfully. Second, it may be determined whether there is a general need to retransmit the at least part of the first data based on the data type of the first data.
- the content of the first data (or at least a part thereof), is e.g. valuable and/or important.
- the value and/or importance of the content may for example be determined according to a pre-defined rule, e.g, based on its estimated value and/or importance to an apparatus determining.the position of the apparatus that transmitted the first data in the first message based on the second data.
- the content of the first data may be analyzed and/or processed.
- external factors may be taken into account for deter- mining the value and/or importance of the content of the data, e.g. if similar content was trans- mitted shortly before, e.g.
- the rule to determine what content is considered valuable and/or important may be static. Alternatively, the rule may be dynamically changed, for instance based on the status of the apparatus performing the retransmission, e.g. battery status.
- the three determining actions described above in this paragraph may be conducted one after an- other such that the next one is only conducted if, according to the preceding action, there is a need for retransmission. In other embodiments, two or all three determining actions maybe performed at the same time and/or irrespective of the result of another action.
- the order of the actions may be different to the order described before in this paragraph.
- the order of the actions may be different to the order described before in this paragraph.
- taking into account the content of the first data may allow for an even more fine-grained selection of data that needs to be retransmitted.
- the method according to the sec- ond aspect of the invention further comprises: determining, based on the content of the received at least part of the second data, whether the number of second messages that were transmitted by an apparatus from which the at least part of the second data was received corresponds to the number of the one or more second messages by which the at least part of the second data that uses a second level of redundancy was received.
- the content of the received at least part of the second data may be analyzed and/or processed. For instance, a pre-defined rule may be used.
- the pre-defined rule may be similar to the pre-defined rule that is used by an apparatus according to the first aspect of the invention for determining whether at least part of the first data needs to be retransmitted based on the content of the first data. Then, if the received at least part of the second data (or a part thereof) comprises data that, according to the pre-defined rule, is not important, it may be determined that the number of the transmitted one or more sec- ond messages corresponds to the number of received second messages. Thus, the apparatus per- forming the method according to the second aspect of the invention may know that no further second messages can be expected, and it may even adapt the second information accordingly such that no further second messages with regard to this are requested.
- the one or more second messages in which the second data is transmitted using a second level of redundancy comprise respective control data based on which the apparatus receiving one or more of the one or more second messages can determine the total number of the transmited one or more second messages. While adding such control data may simplify determining the number of the transmitted one or more second messages by the apparatus performing the method according to the second aspect of the invention as no con- tent analysis is required, it maybe less energy efficient as more control data needs to be trans- mitted and received.
- the method according to the sec- ond aspect of the invention further comprises:' determining the position of the apparatus that transmitted the first data in the first message based on the second data.
- the second data may comprise identifiers of communication nodes, e.g. BSSIDs of WLAN APs and/or cell identifiers of cells of a cellular communication network.
- the method according to the sec- ond aspect of the invention may comprise determining the position of the apparatus that trans- mitted the first data in the first message based on the second data using an additional coverage map and/or coordinate data, e.g.
- the position of the apparatus that transmitted the first data in the first message at a past time or in a past time interval may be determined, e.g. based on one or more timestamps comprised in the second data.
- the first message comprises a plurality of frames, and/or the first downlink request message comprises only one or more frames, and/or each of the one or more second messages comprises only one respective frame.
- the first message and/or the second message and/or the downlink request mes- sage may each be a respective SigFox message.
- the first message may com- prise three respective SigFox frames whereas for instance each second message only comprises, i.e. consists of, one respective SigFox frame.
- the downlink request message may comprise more than one frame, e.g. three frames or two frames, or it may comprise only one frame, i.e. consist of one frame.
- the first message and/or the second message and/or the downlink request message may also each comprise a respective different number of frames in their respective plu- rality of frames.
- the second downlink request message may comprise a different number of frames.
- the number of frames of a message e.g. a downlink request message, may even vary.
- some or all of the frames of the plurality of frames of the first message are transmitted on different frequencies, and/or some or all of the frames of the one or more frames of the first downlink request message are transmit- ted on different frequencies.
- the firstmessage may comprise three frames, whereof the first frame is transmitted on a frequency a, the second frame is transmitted on a frequency b, and the third frame is transmitted on a frequency c.
- Transmitting some or all of the frames of the respective plurality of frames of any of the above-described messages on different frequencies may have the advantage of increased ro- bustness against e.g. interference or frequency-selective fading channels, and may increase the probability of a successful conveyance.
- some or all of the one or mor e second messages may be received on different frequencies, and/or some or all of the one or more frames of the downlink request message are received on different frequencies, for instance by the apparatus performing the method according to the second aspect of the invention.
- each frame of the plurality of frames of the first message comprises the same data
- each frame of the one or more frames of the first downlink request message comprises the same data
- transmit- ting the first data in the first message using the first level of redundancy may be achieved by that each frame of the plurality of frames of the first message comprises the same data, e.g. the entire first data.
- this may correspond to that redundancy is added by making the first message comprise the first data multiple times, e.g. N times, where N corresponds to the number of frames of the plurality of frames of the first message.
- the first downlink request mes- sage may be transmitted using the first level of redundancy, e.g.
- the second data may be transmitted in the one or more second messages using the second level of redundancy that is lower than the first level of redundancy. Doing so, the at least part of the first data for which it was determined that it needs to be retransmitted may for instance be split across two or more second messages, each comprising e.g. only one frame. Using the second level of redundancy may for instance serve to make free space in the one or more second messages for data in addi- tion to the at least part of the first data comprised in the second data.
- using the second level of redundancy may still leave free space in the one or more sec- ond messages for such additional data, e.g. timestamps and/or message identifiers.
- each frame of the plurality of frames of the first message and each frame of the respective one or more second messages have the same length.
- a frame may have a pre-defined length, e.g. per se or for a certain types of messages.
- each of the one or more third mes- sages comprises one respective frame.
- each of the one or more third messages may also comprise a respective plurality of frames. Either way, these frames may also have the same length as each frame of the plurality of frames of the first message and each frame of the respective one or more second messages.
- frames may also have different l engths, e.g. frames of different messages and/or fram es of the same message.
- each frame of the plurality of frames of the first message comprises a re- spective frame id.
- the first frame may comprise the frame id 1
- the second frame may comprise the frame id 2
- the third frame may comprise the frame id 3.
- the frame id may be useable to uniquely identify one frame of the plurality of frames of the first message.
- each message of the one or more second messages comprises a respective message identifier
- the method according to the second aspect of the invention further comprises: determining the second information based on one or more message identifiers of the one or more second messages. For instance, if only one second message with one respective message identifier is received while another second mes- sage with another respective message identifier is not received successfully, it may be deter- mined, e.g. based on the message identifier of the received second message, that there must have been another message with another message identifier that was not received.
- message identifiers that are respective numbers from a sequence, wherein each number from the sequence is only used once as a message identifier, e.g. in a predefined time interval and/or until the end of the sequence is reached and the first number of the sequence is used again.
- the numbers may for instance be selected from the sequence according to a pre-defined rule, e.g. increasingly or decreasingly, e.g. by a pre-determined amount per se- lection.
- a second message with a message identifier represented by a number of the sequence it can for instance be determined that no second message was received comprising a message identifier that corresponds to an earlier number of the sequence. Based on this, the second information may be determined.
- the second information may allow for in- stance the apparatus performing the method according to the first aspect of the invention to de- termine which message identifiers comprised in respective second messages were determined to be missing.
- the determining may be done for instance by the apparatus performing the method according to the second aspect of the invention.
- each frame of the plurality of frames of the first message, and/or of the one or more respective second messages, and/or of the first downlink request message comprises a respective sequence number from a first se- quence.
- the respective sequence number from the first sequence may for instance be comprised in the respective header of the respective message.
- the sequence numbers from the first se- quence may be useable to uniquely identify any one message of the method according to the first aspect of the invention.
- the first sequence from which the sequence number originates may be a limited sequence, for example from 0 to 4095.
- all frames of one message e.g. all frames of the plurality of frames of the first message
- frames of respective other messages e.g. the one or more second messages and/or the downlink request message
- all frames of the one message e.g. the plurality of frames of the first message, comprise.
- the sequence number from the first sequence increases with every message that is transmitted. For instance, it may be in- creased in response to transmitting the first message, it may be increased again in response to transmitting the first downlink request message, and it may be increased again in response to transmitting the second message. If the first sequence is a limited sequence, the sequence num- ber may for instance restart at the beginning of the sequence after the last number of the se- quence is reached.
- the first information is based on the sequence numbers from the first sequence. For instance, comparing the sequence numbers of two or more consecutively received messages of the plurality of messages of which the first message is a message, e.g. by the apparatus according to the second aspect of the invention, may allow determining which sequence number is missing and, thus, which one or more messages of the plurality of messages were not received.
- the first information may be indicative of whether these one or more messages of the plurality of messages were received successfully or not re- ceived successfully based on the sequence numbers from the first sequence.
- each frame of the one or more frames of the first downlink request message comprises a sequence number from a first sequence
- the method according to the second aspect of the invention further comprises: determining the first information based on the sequence number from the first sequence that is comprised in each frame of the one or more frames of the first downlink request message. This may for in- stance be done by the apparatus performing the method according to the second aspect of the invention. This may for instance be done by comparing the sequence number comprised in the first downlink request message with the sequence number of the last message that was received, e.g. at the apparatus performing the method according to the second aspect of the invention. If they differ by more than a pre-defined amount, e.g.
- each frame of the one or more frames of the first downlink request message comprises a same sequence number while in other embodiments, each of the one or more frames of the first downlink request message comprises a respective sequence number.
- the first information comprises a bit field.
- This bit field may for instance be an array of bits associated with a plurality of mes- sages, each bit indicating, e.g. when set to a pre-defined value, for instance 1, that the respective message was received, or, e.g. when set to a pre-defined value, for instance 0, not received.
- the first information may for instance comprise two sequence numbers, e.g. a sequence number to indicate a first message that was not received successfully and a se- quence number to indicate a last message that was not received successfully. These sequence numbers may also indicate with which messages the bit field is associated.
- the se- quence number to indicate the first message that was not received successfully may be 30, the sequence number to indicate the last message which was not received successfully may be 43, indicating that the bit field, which may consist of 12 bits, is linearly associated with the sequence numbers 31 to 42.
- the second information com- prises a bit field. That bit field may e.g. have some or all of the characteristics described for the bit field comprised in the first information.
- the bit field in the second information may indicate that one or more second and/or third messages were not received successfully.
- one information, e.g. message can comprise both the first and the second information. This may e.g. happen because the first and/or the second information are transmitted and/or obtained in response to a downlink request message.
- one downlink request message may represent both a first and a second downlink request message, e.g. from the perspectives of re- spective different first messages, one information, e.g.
- Such a mes- sage comprising a first and a second information may for instance comprise two bit fields, wherein one bit field refers to first messages and the other bit field refers to second and/or third (and/or further) messages.
- the method according to the first aspect of the invention further comprises: adding the at least part of the first data that is stored to a first queue; removing the at least part of the first data that was added to the first queue from the first queue in response to obtaining at least the first information; adding the second data to a second queue when it' is determined that at least part of the first data needs to be retransmitted; keeping the at least part of the second data for which it was determined that it needs to be re- transmitted in the second queue; and removing at least part of the second data for which it was not determined that it needs to be retransmitted from the second queue.
- an apparatus per- forming the method’ according to the first aspect of the invention may manage retransmissions by using two queues.
- the first queue may comprise the at least part of the first data that is stored.
- the first message may be a first message of a plurality of first messages
- the first queue may com- prise a plurality of at least parts of first data transmitted in respective first messages.
- Adding an element, e.g. the at least part of the first data may be done for instance by associating that ele- ment with the first queue.
- a queue may for instance only comprise identifiers of the ele- ments it comprises and/or refer to and/or manage its elements based on the identifiers of the elements it comprises.
- each frame of the first message may comprise a sequence number from a first sequence and the sequence number from the first sequence may increase with every message that is transmitted.
- each message may e.g. be associated with one unique sequence number which the message may comprise one or more times, e.g. in each frame. Then, the adding of the at least part of the first data to a first queue may be done based on the sequence number.
- additional identifiers may be associated with elements. For instance, when adding the at least part of the first data to the first queue, the at least part of the first data 'may be associated with one or more message identifiers, e.g. two message identifiers, that can be comprised in respective one or more second messages.
- the first information that is obtained may be based on the sequence numbers from the first se- quence.
- the first information may refer to or indicate one or more elements of the first queue, e g. based on the respective sequence number of the respective at least part of the first data.
- the first information refers to or indicates an ele- ment of the first queue, e.g. the at least part of the first data
- the element may be removed from the first queue, e.g. by removing the corresponding sequence number from the first queue.
- the second data comprising the at least part of the first data for which itwas determined that it needs to be retransmited may be added to a second queue.
- the second queue may thus be a queue comprising elements each comprising at least in part respective data to be retransmitted, e.g. a plurality of elements comprising data to be retransmitted for a plural- ity of messages.
- Having two queues may for example allow to distinguish first, e.g. original, transmissions of data from retransmissions of data such that e.g. different respective transmis- sion and/or retransmission strategies can be used. This may for instance allow to manage trans- mission and retransmission of data more efficiently, e.g. so that different respective levels of re- dundancy can be used for each.
- the second queue may for instance only comprise identifiers of the elements it comprises and/or refer to and/or manage its elements based on the identifiers of the elements it com- prises.
- the at least part of the first data that is stored is stored may be associated, e.g. besides being associated with a sequence number, with one or more message identifiers, and each of the one or more second messages in which the second data is transmitted may comprise a respective message identifier of the one or more message identifiers.
- the adding of the second data to the second queue may be done based on the message identifiers of the respective one or more messages in which the second data will be transmited.
- the second data may be added as one or as multiple elements to the second queue.
- the second data may for example be added to the second queue by simply adding the one or more second messages, each as a single element, to the second queue.
- the second queue maybe based e.g. on sequence numbers like the first queue and/or other identifi- ers.
- the second 'data may then also be added based on such one or more identifiers, e.g. one or more sequence numbers.
- the apparatus managing the first and/or the second queue may fur- ther maintain a list, e.g. comprising the respective associations of current and/or former ele- ments of the first queue with current and/or former elements of the second queue.
- the apparatus performing the method according to the first aspect of the invention transmits a second downlink request message and obtains second information in re- sponse to the second downlink request message. It may then be determined whether at least part of the second data needs to be retransmitted based on the second information. The at least part of the second data for which it was determined that it needs to be retransmitted may then be kept in the second queue.
- the second queue may thus be a queue comprising elements each comprising at least in part respective data to be retransmitted, no matter whether it is a first re- transmission or a further, e.g. second, third, tenth, retransmission.
- the at least part of the second data for which it was not determined that it needs to be retransmitted may be removed from the second queue. For instance, given that the second data is transmitted in two second messages and these two second messages were added to the second queue as separate elements based on their respective message identifier, the first second message may be kept in the second queue when it is determined that this part of the second data needs to be retransmitted, e.g. because this first second message was not received successfully. This may be indicated and/or be determinable based on the second information. In some em- bodiments, a copy or representation of this second message may then be transmitted again, e.g. as a third message.
- the second second message may have been received successfully. This may also be indicated and/or be determinable based on the second information. Then, the second second message of this example may be removed from the secondqueue and e.g. not transmitted again.
- the method according to the first aspect of the invention further comprises transmitting an acknowledgement message in re- sponse to the first information.
- the acknowledgement message may allow the apparatus receiv- ing the acknowledgement message, e.g. the apparatus that provided the first information, to de- termine that the first information was received successfully.
- each frame of the first message comprises a sequence number from the first sequence
- the method according to the second aspect further comprises: determining the sequence number comprised in each frame of the plu- rality of frames of the first message based on the sequence number from the first sequence that is comprised in each frame of the one or more frames of the first downlink request message; adding the determined sequence number to a first queue; receiving an acknowledgement mes- sage in response to providing the first information; and removing the determined sequence number from the first queue in response to receiving the acknowledgement message.
- the first information may be based on sequence numbers of a first sequence.
- the first information may indicate the sequence number comprised in each frame of the plurality of frames of a first message which was not received successfully.
- each frame of the first message comprises a respective or the same sequence number from the first sequence.
- the apparatus receiving the first downlink request message may determine this se- quence number for instance based on one or more previously and/or subsequently received se- quence numbers, e.g. the sequence number comprised in each frame of the one or more frames of the first downlink request message.
- the apparatus receivingthe first information may determine based on the first information whether at least part of the first data needs, to be retransmitted, e.g. by determining based on the first information that the first mes- sage was not received successfully.
- the apparatus receiving the first information may then add the at least part of the first data for which it was determined that it needs to be retransmitted to a second queue, and it may transmit second data comprising the at least part of the .first data for which it was determined that it needs to be retransmitted in one or more second messages.
- the apparatus that is intended to receive the one or more second messages may receive only some of these one or more second messages or even none at all.
- the second messages may be messages of a plurality of second messages, some or all e.g, comprising a respective mes- sage identifier and/or a respective sequence number
- the apparatus that is intended to receive the one or more second messages may determine, based on the message identifiers and/or the sequence numbers of some or all second messages of the plurality of second messages, that one or more second messages were not received successfully, e.g. must have been lost.
- the appa- ratus that was intended to receive the one or more second messages might then provide second information in response to receiving the second downlink request message, wherein the second information is useable by an apparatus that transmitted the second data in the one or more sec- ond messages for determining whether at least part of the second data needs to be retransmit- ted.
- the apparatus might still provide e.g. first information that is useable by the apparatus that transmitted the first data in the first message for determining whether at least part of the first data needs to be retransmitted.
- the apparatus that was intended to receive the first message and that was also intended to receive the one or more second messages may indicate to the apparatus that transmitted the first message and the one or more second messages that both the first and one or more second messages may need to be retransmitted. That may for instance occur when in example embodiments each message is assigned and/or linked to one unique identifier, e.g. sequence number, instead of an individual chunk of data.
- each message is assigned and/or linked to one unique identifier, e.g. sequence number, instead of an individual chunk of data.
- the same data can be comprised in a first message and in one or more sec- ond messages and the apparatus intended to receive all these messages may request retransmis- sion of all those messages, even though they comprise the same data and retransmission of one of those message would be sufficient.
- the apparatus obtaining the first information may transmit an acknowl- edgement message in response to the first information. This may enable the apparatus receiving the acknowledgement message to determine that the apparatus has obtained the first infor- mation. The apparatus receiving the acknowledgement message may therefore determine that the apparatus obtaining the first information is able to determine whether at least part of the first data needs to be retransmitted. The apparatus receiving the acknowledgement message may then remove the determined sequence number, i.e. the sequence number comprised in each frame of the plurality of frames of the first message, from the first queue in response to receiving the acknowledgement message and may stop requesting retransmissions of the first message.
- the apparatus receiving the acknowledgement message may then remove the determined sequence number, i.e. the sequence number comprised in each frame of the plurality of frames of the first message, from the first queue in response to receiving the acknowledgement message and may stop requesting retransmissions of the first message.
- the acknowledgement information may also be comprised in the second data and thus be transmitted in the one or more second messages.
- This may be particularly efficient in case the acknowledgement infor- mation can be comprised in one or more of the second messages without requiring that the number of second messages is increased as compared to the case that no acknowledgement in- formation is comprised in the one or more second messages. This may for instance be achieved by reducing the second level of redundancy as compared to the case that no acknowledgement information is comprised in the one or more second messages.
- the acknowledgement is not received successfully, no matter whether it was transmitted as a separate acknowledgement message or comprised in one or more of the second messages.
- the at least part of the first data that was added to the first queue may only be removed from the first queue in re- sponse to obtaining two pieces of information, i.e. the first information and another information, e.g. a confirmation information.
- a confirmation information may e.g. be represented by or obtained together with or as part of the second information.
- the apparatus that was supposed to receive the acknowledgement will for instance request retransmission of an element of the first queue again, e.g.
- the apparatus that obtained the first information trans- mitted the second data in one or more second messages. This is for instance because the appa- ratus that was supposed to receive the acknowledgement did not remove the determined se- quence number, i.e. the sequence number comprised in each frame of the plurality of frames of the first message, from the first queue as there was no acknowledgement that the first infor- mation was received successfully.
- the determined se- quence number i.e. the sequence number comprised in each frame of the plurality of frames of the first message
- the apparatus obtaining the confirmation information may still be able to map the confirmation information, e.g. a bit field, to elements of the first queue.
- the first and/or second queue managed by any of the apparatuses ac- cording to the first or second aspect of the invention may have a respective limited length.
- the length may for instance be defined by the number of elements, e.g. 5 elements, 10 elements, 14 elements, 20 elements, 36 elements or any other number less or greater than the example num- bers given. Additionally or alternatively, the length may be defined by an amount of data, e.g. a length in bits or bytes.
- the length may be pre-defined and/or fixed and/or varying, for example based on the content of data and/or the amount of data previously received and/or transmitted.
- the first and/or second queue managed by an apparatus according to the first aspect of the in- vention may have the same length as the first and/or second queue managed by an apparatus according to the second aspect of the invention, respectively.
- Elements may be added or re- moved from either of the queues in response to events and/or messages, e.g. in response to ob- taining first information or in response to receiving an acknowledgement message in response to the first information.
- elements may be removed from either of the queues after a pre-defined time or at a pre-defined time interval after the respective element's timestamp.
- an element should be added to a queue while the queue has reached its respective limited length.
- the new element may then not be added to the respective queue.
- another element may be re- moved from the queue and the new element may be added. For instance, if each element in a queue is associated with a respective timestamp, the element associated with a timestamp de- termined based on a pre-defined rule, e.g. the oldest timestamp, or alternatively the latest timestamp, or alternatively the timestamp which has the minimum sum of (absolute) differences to all other timestamps, may be removed from the queue.
- a pre-defined rule e.g. the oldest timestamp, or alternatively the latest timestamp, or alternatively the timestamp which has the minimum sum of (absolute) differences to all other timestamps
- each element in a queue is associated with a respective identifier, e.g. a sequence number and/or a message identifier
- the element associated with an identifier determined based on a pre-defined rule and/or based on a received message and/or based on a transmitted message and/or based on data transmitted and/or received may be removed from the queue.
- elements may also be removed from the queue when they are associated with a timestamp and/or an identifier that is older or known and/or estimated to be older than the timestamp and/or identifier received in a message and/or by an information, e.g. by the first and/or second information.
- the number of elements in the first queue may for example be equal to the number of bits in the bit field.
- the second information comprises a bit field that represents information about a plurality of second and/or third (and/or further) messages
- the number of elements in the second queue may for example be equal to the number of bits in the bit field.
- the downlink request message is transmitted periodically.
- the downlink request message may be transmitted in equidistant time intervals, e.g. every 10 minutes, every 1 hour, every 12 hours, every 24 hours, every 3 days or every 7 days.
- the downlink request message may be transmit- ted in response to an event which is indicative for the availability of a stable link.
- an event may e.g. be the successful reception of a message.
- such an event may be the receipt of data from a sensor, e.g. location data from a global positioning system (GPS) sensor or a similar sensor, which is indicative of a location at which a stable link can be expected, e.g. based on coverage maps.
- GPS global positioning system
- the first message, the first down- link request message and the one or more second messages are transmitted over a low power wide area network, in particular Sigfox.
- any other message of the method ac- cording to the first aspect of the invention in particular the one or more third messages and/or the second downlink request message, may be transmitted over a low power wide area network, in particular Sigfox.
- the first information and/or .the second information may be obtained by receiving the first information and/or the second information over a low power wide area network, in particular Sigfox. All messages may be transmitted or received over the same low power wide area network. However, one or more messages may also be transmitted or received over different low power wide area networks.
- Fig. 1 a schematic block diagram of a system according to an exemplary embodiment of the in- vention.
- Fig. 2 a flowchart showing an example embodiment of the method according to the first aspect of the invention
- Fig. 3 a flowchart showing an example embodiment of the method according to the second as- pect of the invention.
- Fig. 4 a schematic block diagram of an apparatus according to an exemplary embodiment of the invention adapted to perform the method according to the first aspect of the invention
- Fig. 5 a schematic block diagram of an apparatus according to an exemplary embodiment of the invention adapted to perform the method according to the second aspect of the inven- tion;
- Fig. 6 an exemplary sequence of messages transmitted and/or received according to the method of the first and/or second aspect of the invention.
- Fig. 1 is a schematic block diagram of a system according to an exemplary embodiment of the in- vention.
- System 1 comprises an apparatus 100 that for instance performs the method according to the first aspect of the invention.
- system 1 comprises a server 130 that for in- stance performs the method according to the second aspect of the invention.
- the apparatus 100 and the server 130 try to communicate with each other using the low-power wide area network SigFox.
- SigFox the low-power wide area network
- other networks may be used, such as cellular networks like LTE.
- the network of system 1 comprises several base stations 110, 111. While only two base stations are shown in the exemplary system of Fig.
- Each of these base stations 110, 111 provides a wireless commu- nication interface such that the apparatus 100 can transmit and receive data over a wireless link 112 to the base station 110.
- the base station 110 forwards the data received from apparatus 100 over a communication link 113 to the server 130.
- the communication link 113 may for in- stance be a wired connection between base station 110 and server 130.
- both the base station 110 and the server 130 may be nodes of the Internet such that the communication link 113 is simply part of the Internet.
- Several or all base stations 110, 111 maybe connected to the server 130 over.a similar communication link 113, 114.
- the base station 110 forwards any messages or data received over the communication link 113 from the server 130 to the apparatus 100 using the wireless link 112.
- the apparatus 100 and the server 130 are generally able to exchange data if all communication links 112, 113 that connect them are stable and available. However, it may occur that e.g. the wireless link 112 is not stable or not available, i.e. communication over the link is not possible. Then, the apparatus 100 and the server 130 are not able to exchange in- formation, data or messages. This may occur when the signal that is transmitted by the appa- ratus 100 over the wireless communication link 112 is too weak or an interfering device trans- mits a stronger wireless signal on the same frequency.
- the appa- ratus 100 is simply too distant from any base station 110, 111 of the network such that any wireless signal transmitted from the apparatus 100 does not reach the base station 110. This may for instance occur when the apparatus 100 is moved to a new location.
- the apparatus 100 may often be moved to a new location. This may be the case when the apparatus 100 is a mobile device, e.g. a smartphone, or if the apparatus 100 is integrated into or part of a transport entity, e.g. a vehicle or a ship.
- the apparatus 100 is exemplarily embodied a tracking device for tracking entities, such as e.g. a roll cage 102.
- the apparatus 100 may be connectable or attachable to such an entity, e.g. the roll cage 102.
- the entity to be tracked may instead be a pallet, a container or some other means for grouping and transporting goods or packets.
- the roll cage 102 may then be trans- ported, e.g.
- the apparatus 100 may use the communication link 112 to a previously used base station 110 or use a communication link to another base station 111. However, sometimes none of this may be possible, for instance when all base stations 110, 111 of the network are too far away from the apparatus 100 to suc- cessfully exchange messages with the apparatus 100.
- the apparatus 100 may receive signals from one or more network nodes 120, 121, 122 of other communication networks.
- the wireless communication nodes 120, 121, 122 may for instance be WLAN APs and the apparatus 100 may be able to receive their communication node identifiers, e.g. BSSIDs.
- BSSIDs e.g. BSSIDs
- it will be referred to BSSIDs as an exemplary communication node identifier.
- other communication node identifiers of communication nodes of other networks may be used instead.
- each of the APs 120, 121, 122 may have a certain coverage area, such that, in case the apparatus 100 is within a range of, for example, 30 m around the AP 121, it re- ceives the BSSID of AP 121.
- the BSSID of an AP may for example be its MAC address or a random number and all BSSIDs in system 1 may have a pre-defined length, e.g. 6 bytes.
- server 130 may have access to maps or data bases based on which the locations of APs 120, 121, 122 can be determined. Given such information, the BSSIDs received by the apparatus 100 may be useable to determine the apparatus’ 100 posi- tion. For instance, server 130 may combine the information of the location of the APs of whichthe apparatus 100 received BSSIDs and the respective known or estimated coverage areas of some or all APs 120, 121, 122 of which the apparatus 100 received BSSIDs to obtain an estimate of the apparatus' 100 position.
- the position of the roll cage 102 and the goods or packets it contains can be determined. By doing so in regular time intervals, the position of the appa- ratus 100 - and thereby the roll cage 102 and the corresponding goods or packets - can be tracked over time. Additionally or alternatively, the position of the apparatus 100 can be tracked by determining its position in response to certain events, e.g. in response to that no movement has been detected during a pre-defmed time interval or a time interval determined according to a pre-defined rule, or if a start of a movement has been detected.
- the apparatus 100 needs to convey the BSSIDs received from APs 120, 121, 122 in its vicinity to the server 130. So for in- stance, the apparatus 100 may perform a scan for APs 120, 121, 122 in regular time intervals and then transmit the received BSSIDs as first data in a first message. Alternatively or addition- ally, the apparatus 100 may transmit first data comprising keep alive data in a first message in regular time intervals, e.g. every 24 hours. Alternatively or additionally, the apparatus 100 may be configured to detect that t has arrived at a new position. For instance, the apparatus 100 may detect a start of movement if it moves faster than a pre-defmed speed, e.g.
- the appa- ratus 100 may transmit first data in a first message to the server 130 to indicate the start of a movement.
- the first data may comprise status data.
- the apparatus 100 may detect stop of movement if the apparatus has not moved e.g. for 10 minutes since the last start has been detected. In response to detecting this, the apparatus 100 may perform a scan for APs receiving respective BSSIDs which the apparatus 100 may then transmit as first data in a first message to the server 130.
- the first data then comprises payload data, e.g. BSSIDs.
- the appa- ratus 100 can add redundancy to any data that it wants to transmit. However, even when trans- mitting first data using a first level of redundancy, it may occur that the first data is not received successfully. It may then be advantageous to retransmit important data at a later time when communication with the server 130 is possible again, e.g. due to stabilization of the wireless link 112 and/or movement of the apparatus 100.
- the apparatus 100 may for instance periodically transmit a downlink request message.
- the apparatus 100 may then determine that the commu- nication with the server 130 is possible again if it obtains first information from the server 130 in response to the downlink request message.
- the apparatus 100 may then retransmit the first data, for instance comprised in second data in one or more second messages using a second, e.g. lower, level of redundancy.
- Fig. 2 shows a flowchart 2 showing an example embodiment of the method according to the first aspect of the invention.
- first data is transmited using a first level of redundancy in a first message.
- the apparatus 100 may perform this step.
- the first message is a SigFox message and the base station 110, 111 is part of a SigFox network.
- the base stations 110, 111 may be part of a different network that is used by the appa- ratus 100 for communicating with the server 130 and the first message may be a message of a corresponding different technology or protocol.
- the first message comprises three frames. Each of the three frames of a respective message is transmit- ted on a different frequency, for instance to reduce vulnerability to frequency selective fading.
- each of the three frames comprises the same data in identical form.
- the first data comprises (pr consists of) two BSSIDs, each BSSID being 6 bytes long.
- Each frame carries 12 bytes of payload data.
- each of the three frames of the first message comprise the entire first data.
- all three frames of the first message carry the identical payload.
- the first data may be transmitted using a first level of redundancy in the first message by encoding the first data that comprises (or consists of) two BSSIDs using a forward error correc- tion code with a code rate of 1/3.
- a code with a code rate k/n is a code which, when en- coding the first data, generates encoded data that has n/k, e.g. 3, times the length of the input data, i.e. the first data. Then, for instance if the first data was encoded using a code rate of 1/3, all three frames of the first message carry one third of the encoded first data.
- each frame comprises a header.
- each message may comprise a header.
- the header comprises a sequence number from a first sequence which is increased after every message that is transmited.
- the header addi- tionally comprises a frame id.
- the frame id uniquely identifies one frame of a plurality of frames of the first message.
- step 202 at least part of the first data is stored.
- the apparatus 100 stores both BSSIDs that it transmitted comprised in the first data using the first level of redun- dancy in the first message, for instance in its main memory.
- the apparatus 100 stores the at least part of the first data associated with a timestamp.
- the apparatus 100 stores the at least part of the first data so that when accessing the at least part of the first data, it is able to uniquely identify and access the associated timestamp, for instance because the timestamp is part of the same data structure, e.g. programming data object, as the at least part of the first data, or is stored in the same position of a corresponding data array.
- the appa- ratus 100 may store the at least part of the first data so that when knowing a certain timestamp, the apparatus 100 is able to uniquely identify and access the associated at least part of the first data.
- the timestamp indicates the time that the apparatus 100 obtained the first data, e.g. re- ceived one or more of the BSSIDs from the APs 120, 121, 122 comprised in the first data. How- ever, in other embodiments, it may for example indicate the time that the apparatus 100 trans- mitted the first message.
- the at least part of the first data is stored associated with one or more message identifiers.
- the apparatus 100 stores the at least part of the first data so that when accessing the at least part of the first data, it is able to uniquely identify and access the associated message identifiers, for instance because the message identifiers are part of the same' respective data structures, e.g. programming data objects, as parts of the at least part of the first data, or are stored in the respective same positions of a corresponding data array.
- the apparatus 100 may store at least part of the first data so that when knowing a certain message identifier, the apparatus 100 is able to uniquely identify and access the associated at least part of the first data.
- a message identifier may be a number in a certain range that uniquely identifies a message and thus allows for example the server 130 to refer to certain data, e.g. the first data or a part thereof.
- the apparatus 100 may also be able to uniquely map one or more message identifiers to a corresponding sequence number of a first message in which the respective first data was transmitted.
- a first downlink request message is transmitted.
- the appa- ratus 100 does this periodically every 24 hours. Yet, in other embodiments this may be done ir- regularly or in reaction to certain events.
- first information is obtained in response to the first downlink request message.
- the apparatus 100 reserves a time slot in which it listens to a channel in order to receive a first information in response to the first downlink request message. Only listening to the channel after transmitting a downlink re- quest message and not continuously saves energy and is thus advantageous if the apparatus 100 is batery-operated.
- the server 130 in response to receiving the first downlink request message, checks the sequence number of the first downlink request message and any previously received messages. As the sequence number increases by a pre-determined amount after every message that is transmitted by the apparatus 100, the server 130 is able to determine whether it missed any message (s).
- the server 130 replies to the downlink request messages by sending first information to the apparatus 100, the first information indicating a first sequence number which was missed, a second sequence number that was missed, and a data structure, such as for in- stance a bitfield, in between, that indicates by e.g. 0 and 1 for each respective position between the first sequence number and the second sequence number whether the respective message was received or not.
- the apparatus 100 receives the first information sent by the server 130.
- step 205 it is determined whether at least part of the first data needs to be retransmitted based on the first information.
- the apparatus 100 determines which messages were not received successfully by the server 130 based on the first information, i.e. by checking the sequence numbers and data structure (e.g. a bitfield) comprised in the first information. For each of the messages that were not received successfully, the apparatus 100 checks the data type of the message. In the given embodiment, only missed messages comprising first data of data type payload data and keep alive data may be determined to be relevant for retransmission, i.e.
- the apparatus 100 determines that data of type payload data and keep alive data that was com- prised in messages that were not received successfully needs to be retransmitted while data of type status data that was comprised in messages that were not received successfully need not be retransmitted.
- all data that was com- prised in any missed message regardless of its data type may be determined to need retransmis- sion.
- step 206 sec- ond data is transmited using a second level of redundancy in one or more second messages, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises the at least part of the first data for which it was determined that it needs to be retransmitted.
- the apparatus 100 received first information from the server 130 only shortly before, it is likely that there currently is a better communication link 112 available than at the time of transmitting the first message and that it is possible to successfully convey data even with lower redundancy than what was used for transmitting the first message, e.g. when it is not known whether there is a good connection or not.
- the apparatus 100 exploits this by using a second level of redundancy that is lower than the first level of redundancy.
- the apparatus 100 transmits two second messages, each comprising one frame carrying a respective payload of 12 bytes.
- the aggregated length of the two second messages is 2 /3 of the length of the first message.
- the second message may have different characteristics and may even be transmitted over a different network, for instance using a different technology or protocol.
- the second data no t only comprises the at least part of the first data for which it was determined that it needs to be retransmitted, e.g.
- the apparatus 100 transmits two second mes- sages, the second data also comprises two message identifiers, one for each second message.
- the ap- paratus 100 is still able to transmit the entire second data which is now larger than the original first data in two second messages which have an aggregated length that is shorter than the length of the first message.
- the second data that is transmitted in two second messages may even comprises an additional third BSSID, for example a BSSID that was collected during the same scan as the other two BSSIDs.
- the apparatus 100 may therefore listen to the channel in re- sponse to transmitting the one or more second messages to be able to receive a second infor- mation, i.e. an acknowledgement. If such an acknowledgement was received, the apparatus 100 would be able to free some memory by deleting stored data which was confirmed to be received successfully in the first information.
- the apparatus 100 instead of waiting for an acknowledgement directly after transmitting the one or more second messages, the apparatus 100 may simply transmit a downlink request message every 24 hours. Thus, 24 hours after transmitting the first downlink request message, the apparatus 100 may transmit a second downlink request message.
- the apparatus 100 reserves a time slot in which it listens to a channel in order to receive a second information in response to the second downlink request message.
- the appa- ratus 100 may obtain second information in response to this second downlink request message.
- the second information may be based on the respective message identifier that was comprised in each of the second messages.
- the server 130 which generates the second information can simply refer to the respective second message and acknowledge its successful receipt or in- dicate that it was not received successfully.
- the apparatus 100' may obtain second information in response to the second downlink request message by detecting that no second information was received from the server 130 in response to the second downlink re- quest message.
- the second information indicates that no acknowledgement was received from the server 130 for data associated with a particular message identifier.
- the apparatus 100 determines whether at least part of the second data needs to be retransmitted. This may for instance always be the case or it may depend on the timestamp comprised in the second data. Then, if it is determined that at least part of the second data needs to be retransmitted, in the given embodiment e.g. both second messages (in other embodiments e.g. only one of the two), the second data is transmitted in one or more third messages using a third level of redundancy. In the given embodiment, there are two third messages, each of which represents a simple retransmission of a respective second message, e.g.
- the third level of redundancy may be equal to the second level of redundancy.
- the apparatus 100 may determine the third level of redundancy based on the length of the one or more third messages and the at least part of the second data for which it was determined that is needs to be retransmitted. So the appa- ratus 100 may make the length of the data transmitted in the one or more third messages ex- actly fit the pre-defined length of the one or more third messages.
- the apparatus 100 may determine the third level of redundancy based on the second infor- mation, e.g. the server 130 may request a particular level of redundancy in the second infor- mation and the apparatus 100 may follow that request.
- Fig. 3 shows a flowchart 3 showing an example embodiment of the method according to the sec- ond aspect of the invention.
- the method according to the second aspect of the invention is performed by a server 130.
- the method according to the second aspect maybe performed by a cloud 130 or even a system comprising several servers, clouds, base stations, networks nodes or similar devices.
- the messages received in the flowchart 3 may correspond to the respective messages transmitted in the flowchart 2.
- the message characteris- tics described for the messages of flowchart 2 may apply to the messages of flowchart 3.
- a first downlink request message is received by the server 130.
- the first downlink request message may have been transmitted by an apparatus 100 according to step 203.
- the apparatus 100 may have transmitted first data in a first message according to step 201. Yet, this first message was not received successfully or not received at all by the server 130. This may even occur despite the fact that several messages may have been exchanged success- fully between the apparatus 100 and the server 130 before.
- step 302 first information is provided in response to the received first downlink request mes- sage, wherein the first information is useable by an apparatus 100 that transmitted first data us- ing a first level of redundancy in a first message for determining whether at least part of the first data needs to be retransmitted.
- the server 130 checks the sequence number of the downlink request message received according to step 301. Based on this sequence number and the sequence numbers of previously received messages, the server 130 determines which mes- sages were not received, i.e. the first information. Then, the server 130 transmits a message comprising the first information to the apparatus 100.
- the apparatus 100 may then determine that at least part of the first data needs to be retransmit- ted based on the first information according to step 205 and may transmit second data in one or more second messages according to step 206.
- step 303 one or more messages are received, e.g. at the same time or at different times.
- the receiving of one or more messages in step 303 may correspond to or comprise receiving at least part of second data in one or more second messages that use a second level of redundancy, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises at least part of the first data (step 304: yes).
- the receiving of one or more messages in step 303 may comprise receiving a second downlink request message (step 305: yes).
- the receiving of one or more messages in step 303 may correspond to or comprise receiving at least part of second data in- one or more second messages and may not comprise receiving a second downlink request message (step 305: no), such that only at least part of second data is received in one or more second messages that use a second level of redundancy, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data com- prises at least part of the first data.
- the receiving of one or more messages in step 303 may not correspond to and not comprise- receiving at least part of second data in one or more second messages that use a sec- ond level of redundancy (step 304: no).
- the receiving of one or more messages in step 303 may comprise receiving a second downlink request message (step 306: yes). If the receiving of one or more messages in step 303 does not comprise receiving a second downlink request mes- sage either (step 306: no), one or more messages may be received at a later point in time in step 303, possibly corresponding to one or more second messages comprising at least part of second data and/or corresponding to a second downlink request message.
- the server 130 By receiving at least part of second data in one or more second messages that use a second level of redundancy, wherein the second level of redundancy is lower than the first level of redun- dancy, and wherein the second data comprises at least part of the. first data so, the server 130 obtains the first data or at least part of the first data that was initially not received successfully. If the complete first data was obtained and if the first data comprises BSSIDs of one or more APs 120, 121, 122 that the apparatus 100 received as described for system 1, the server 130 may de- termine the position of the apparatus 100 that transmitted the first data in the first message based on the second data.
- the second data comprises a timestamp. Based on this, the server 130 can determine the position of the apparatus 100 at a certain point in time. Additionally, in the embodiment of flowchart 2, it was described that each of the second messages comprises a message identifier. Based on the fact that each second mes- sage comprises such a message identifier, the server 130 is able to identify a particular second message and thereby, which of the second messages were received. Thus, the server 130 may provide second information, i.e.
- the second information is useable by an apparatus 100 that transmitted the second data in the one or more second messages for determining whether at least part of the second data needs to be retransmitted.
- the apparatus 100 that transmitted the second data is the same apparatus 100 that transmitted the first data. If the apparatus 100 determines, based on the second information, that at least part of the second data needs to be retransmitted, the server 130 receives at least part of the second data in one or more third mes- sages that use a third level of redundancy.
- the third level of redundancy may be equal to the sec- ond level of redundancy or it may for instance be determined by the apparatus that transmited the third message. However, when providing the second information, the server 130 may also indicate a level of redundancy that it deems suited for transmitting a third message.
- Fig. 4 shows a schematic block diagram of an apparatus 4 according to an exemplary embodi- ment of the invention adapted to perform the method according to the first aspect of the inven- tion.
- the apparatus 4 can represent the apparatus 100 of the system 1.
- the apparatus 4 comprises a processor 400, a program memory 401, and a main memory 402.
- the processor executes a program causing the apparatus 4 to perform and/or control the method according to the first aspect of the invention.
- the program may be stored in the program memory 401, for example as firmware.
- Main memory 402 is used particu- larly for storing temporary data during the executing of this program.
- apparatus 4 may store the first data and an associated timestamp and one or more associated message iden- tifiers in the main memory 402.
- the apparatus 4 comprises communication inter- face(s) 403.
- the apparatus 4 can use these communication interface(s) to transmit and receive messages, for instance to and from base stations 110, 111, and it may re- ceive communication node identifiers from communication nodes 120, 121, 122.
- the apparatus 4 comprises a real-time clock 404.
- This real-time dock 404 may be used by the apparatus 4 to obtain timestamps.
- the apparatus 4 may also use the real-time clock 404 for instance to generate the second information when a certain time has passed without having received second information from a server 130.
- the apparatus 4 comprises a movement detector 405.
- the movement detector 405 may be configured to detect the start or stop of a movement, e.g. by using a gyroscope or a GPS receiver or a combination of suited sensors.
- the apparatus 4 may be battery-powered. It may for instance be a batery-powered tracking de- vice for tracking an entity. However, the apparatus may for instance also be a chip, a mobile phone, or a part of a roll cage, a container, a truck or a ship.
- Fig. 5 shows a schematic block diagram of an apparatus 5 according to an exemplary embodi- ment of the invention adapted to perform the method according to the second aspect of the in- vention.
- the apparatus 5 can represent the server or cloud 130 of the system 1.
- the processor executes a program causing the apparatus 5 to perform and/or control the method according to the second aspect of the invention.
- the program may be stored in the program memory 501, for example as firmware.
- Main memory 502 is used particu- larly for storing temporary data during the executing of this program.
- apparatus 5 may store any received data, e.g. the second data, in the main memory 502.
- the ap- paratus 5 comprises communication interface(s) 503.
- the apparatus 5 can use these communication interface(s) to transmit and receive messages, for instance over the Internet, e.g. to and from base stations 110, 111.
- the apparatus 5 may be a server or a cloud or part of a distributed server network.
- Fig. 6 shows an exemplary sequence of messages 6 transmitted and/or received according to the method of the first and/or second aspect of the invention.
- This embodiment demonstrates how the method according to the first and/or second aspect of the invention works, in context of a regular data exchange between an apparatus 4 and an apparatus 5, e.g. between the apparatus 100 and the server 130 of system 1 in Fig. 1, respectively.
- the messages 601-609, 611 are transmitted by the apparatus 100 and the first information 610 is provided by the server 130.
- Any one of the messages 601-604 and .606- 608 can be considered to be a first message in the terminology of the invention and may be transmitted using a first level of redundancy.
- each of the messages 601-604 and 606- 608 comprises first data of a respective data type, i.e. message 601 comprises first data of data type payload data, message 602 comprises first data of data type status data, message 603 com- prises first data of type payload data, and so on.
- the set of data types considered in this embodi- ment comprises payload data, status data and keep alive data.
- the downlink request messages 605, 609 indicate to the server 130 that the apparatus 100 wishes to receive first information.
- the apparatus 100 determines for each message 601-609 whether the respective comprised data should be retransmited in case the respective message is not received successfully by server 130. To that end, the apparatus 100 internally manages a queue 620 and an ignore list 621. Depending on the data type of the data comprised in a message, the message is either added to the queue 620 in a storing process 630 or added to the ignore list 621 in a storing process 631.
- the storing processes 630, 631 may comprise writing data to the main memory 402 of the apparatus 100. While the storing process 630 may be similar to the storing process 631 in some embodiments, it may also differ in other embodiments.
- the storing process 630 may comprise storing the entire data and sequence number of a respective message while the storing process 631 may comprise storing the sequence number of the respective message and none or only part of the data of the respective message.
- the appa- ratus 100 determines that data of data type payload data and keep alive data should be retrans- mitted in case the initial transmission fails.
- the sequence number and data of such a mes- sage is added to the queue 620 and thus stored.
- message 601 comprises payload data. Therefore, the data and the sequence number 3384 comprised in the message 601 are added to the queue 620.
- message 607 can be considered, which comprises data of data type keep alive data.
- the data and the corresponding sequence number 3390 comprised in the message 607 are added to the queue 620.
- messages comprising data of data type status data are not added to the queue 620, but are instead added to the ignore list 621.
- downlink request messages 605, 609 are added to the ignore list 621 as these should not be retransmitted.
- the decision whether a message is added to the queue 620 or the ignore list 621 may further be based on the content of the data comprised in the message.
- the data comprised in message 606 might for instance be ana- lyzed by the apparatus 100 and the apparatus 100 might determine, for instance, that according to a pre-defined rule, the content is not important despite being of data type payload data.
- message 606 might be added to the ignore list 621 instead of being added to the queue 620.
- part of message 606 may be added to the queue 620 for potential retransmission while another part of message 606 may be added to the ignore list 621.
- the message 606 is added completely to the queue 620.
- Messages 601, 603, 604, 608, and 609 are conveyed successfully from the apparatus 100 to the server 130, i.e. a successful transmission 640 from the apparatus 100 to the server 130 took place.
- Messages 602, 605, 606, 607 are not transmitted and received successfully, i.e. a failed transmission 641 from the apparatus 100 to the server 130 occurred.
- Server 130 receives the downlink request message 609 and checks the sequence numbers 3384, 3386, 3387, 3391, and 3392 of the respective messages 601, 603, 604, 608, 609 it received. It then determines that transmission of the messages with sequence numbers 3385, 3388, 3389, and 3390 must have failed based on the fact that it received messages with all other sequence numbers between se- quence number 3384 and sequence number 3392.
- the server 130 In response to the received downlink request message 609, the server 130 provides first information 610 to apparatus 100, indicating the missing sequence numbers 3385, 3388, 3389, and 3390. In the present embodiment, this is a successful transmission 642 from the server 130 to the apparatus 100.
- the first information comprises the sequence number of the first missed message 3385, the sequence number of the last missed message 3390, and the bitfield 1100. The; first 1 of the bitfield indicates that the message with sequence number 3386 has been received successfully. Similarly, the second 1 indicates that the message with sequence number 3387 has been received successfully. The two 0’s indicate that the two messages with sequence numbers 3388 and 3389 have not been received successfully.
- Apparatus 100 receives the first information and determines for each of the. missing sequence numbers 3385, 3388, 3389, and 3390 indicated by the first information whether the respective data needs to be retransmitted. In particular, apparatus 100 checks sequence number 3385 and finds it in the ignore list 621. Thus, apparatus 100 determines that the data comprised in mes- sage 602 need not be retransmitted. Then, apparatus 100 checks sequence number 3388. Again, apparatus 100 determines that the data comprised in message 605 need not be retransmitted as the sequence number 3388 is found in the ignore list 621. Next, apparatus 100 checks sequence number 3389 and finds that the sequence number and the corresponding data is stored in the queue 620.
- apparatus 100 determines that the data that was initially comprised in mes- sage 606 needs to be retransmitted. As a consequence, apparatus 100 transmits message 611 comprising second data using a second level of redundancy, wherein the second data comprises the data of message 3389 for which it was determined that it needs to be retransmitted.
- message 611 may only comprise part of the data of message
- Mes- sage 611 may then be the first second message, comprising a first message identifier and a first part of the second data, and another second message may be transmitted, comprising a second message identifier and a second part of the second data.
- the message identifiers that are used for these second messages may have been determined earlier in the course of the storing pro- cess 630.
- the data of message 3389 may for instance have not only been stored associated with the sequence number 3389, but also with message identifiers 1 and 2. Then, in the given exam- ple, the first second message 611 may be transmitted comprising message identifier 1, and the second second message may be transmitted comprising message identifier 2.
- both of the second messages may be added to a second queue and removed from the first queue 620, for in- stance based on the first information.
- first second message 611 comprising message identifier 1
- second second message comprising message identifier 2
- the apparatus 100 may receive second information, e.g. comprising a bit field, in response to another downlink request message, indicating that only the message with message identifier 1 was received successfully. Based on this second information and the elements of the second queue, e.g.
- the apparatus 100 can determine that the second message with message identifier 1 was received successfully, whereas the second message with message iden- tifier 2 was not received successfully. As the message with message identifier 1 was received successfully, the apparatus 100 removes the message with message identifier 1 from the second queue. However, as the message with message identifier 2 was not received successfully, the ap- paratus 100 keeps the message with message identifier 2 in the second queue and transmits the data of the message with message identifier 2 again, i.e. in a third message. This third message may comprise the message identifier 2 such that the server 130 can determine that this is a re- transmission of a previous message.
- the decision whether a message or a part thereof is added to the queue 620 or the ignore list 621 may further be based on the content of the data comprised in that message.
- the first second message 611 may have been transmitted comprising message identifier 1, whereas the second second message may have not been trans- mitted.
- the server 130 may have determined that only one second message has been transmited by the apparatus 100.
- the server 130 may have known that no second second message was to be expected. Any of the methods, processes and actions described or illustrated herein may be implemented using executable instructions in a general-purpose or special-purpose processor and stored on a computer-readable storage medium (e.g., disk, memory, or the like) to be executed by such a processor. References to a 'computer-readable storage medium' should be understood to en- compass specialized circuits such as FPGAs, ASICs, signal processing devices, and other devices.
- a and/or B is considered to comprise any one of the following three scenarios: (i) A, (ii) B, (iii) A and B.
- article “a” is not to be understood as “one”, i.e. use of the expression “an element” does not preclude that also further elements are present.
- the term “comprising” is to be understood in an open sense, i.e. in a way that an object that "comprises an element A” may also comprise further elements in addition to element A.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method is disclosed, the method comprising transmitting (640, 641) first 'data using a first level of redundancy in a first message (601, 602, 603, 604, 606, 607, 608); storing (630, 631) at least part of the first data; transmitting (640, 641) a first downlink request message (605, 609); obtaining first information (610) in response to the first downlink request message (605, 609); determining whether at least part of the first data needs to be retransmitted based on the first information (610), and transmitting (640) second data using a second level of redundancy in one or more second messages (611) when it is determined that at least part of the first data needs to be retransmitted, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises the at least part of the first data for which it was determined that it needs to be retransmitted. Additionally, a method that is complementary to the above-disclosed method is disclosed. According apparatuses (4, 5, 100, 130), systems (1) and computer programs for each of the methods are also disclosed.
Description
M e t h o d , A p p a r a t u s a n d S y s t e m f o r R e t r a n s m i s s i o n o f D a t a
FIELD OF THE DISCLOSURE
The present invention relates to the transmission and reception of data, and in particular relates to retransmission of data.
BACKGROUND
Transmission, reception and retransmission of data in a network, e.g. a cellular network, a low- power wide area network, or the Internet, are known in the art. Generally, a network comprises a plurality of nodes, e.g. apparatuses. Each apparatus of the network comprises respective means for transmitting and receiving data to or from one or more other apparatuses of the net- work. Apparatuses may be mobile or stationary and may comprise respective means for power- ing the apparatus, e.g. a battery and/or a power grid connection. Transmission and reception of data from one apparatus to another apparatus in the network may take place over different types of links, for instance over a wireless link, e.g. a radio frequency link, and/or over a wired link, e.g. a cable. Under some circumstances, data that is transmitted from one apparatus to an- other apparatus may not be received successfully by the other apparatus, e.g. due to interference on the link, due to congestion in the network, or due to a weak or missing link. A weak or miss- ing link may occur for instance when the distance between the transmitting apparatus and the receiving apparatus or the distance between the transmitting apparatus and an apparatus that may forward the data to the receiving apparatus, e.g. a base station, is too large to establish or maintain a stable wireless link and no wired link is available. To increase the probability of suc- cessfully conveying the data, redundancy may be added to the original data before transmitting it so that a receiving apparatus may successfully obtain the original data even though parts of the transmitted data were not received successfully. Additionally or alternatively, a strategy to trigger a retransmission of the data by the transmitting apparatus comprising e.g. informing the transmitting apparatus that data was not received successfully may be applied. According to a different strategy, the transmiting apparatus may not be informed that data was not received successfully and/or may not retransmit the data.
SUMMARY OF SOME EXAMPLE EMBODIMENTS OF THE INVENTION
It is generally desirable to reliably convey data from a transmitting apparatus to a receiving ap- paratus. The reliability of data conveyance may for instance be increased by adding redundancy to the data before transmitting it. Generally, the probability of successful receipt of the original data increases with increasing redundancy. However, it may still happen that so little of the transmitted data is received successfully that the receiving apparatus cannot obtain the original data from it.
As an additional or alternative approach, data that was not received successfully in an earlier transmission may be retransmitted. To this end, the transmiting apparatus may for instance ob- tain information for every successful receipt of a data packet, e.g. an acknowledgement (ACK), so that if the transmiting apparatus does not obtain information about the successful receipt of a transmitted data packet, the transmitting apparatus knows that either the transmited data . packet and/or the acknowledgement was not conveyed successfully. The transmitting apparatus may then retransmit the data packet and any additional data that may be required by the receiv- ing apparatus to correctly interpret the retransmitted data.
While each of these two approaches increases the reliability of a data conveyance, they increase the energy consumption of the transmitting apparatus and possibly of further apparatuses, e.g. the receiving apparatuses and/or further nodes of a network. This is because the total amount of data that is transmited
transmitting apparatus increases when redundancy is added, when a data packet is retransmitted, and when additional data that may be required by the re- ceiving apparatus to correctly interpret the retransmited data is added. Additionally, the energy consumption of the transmitting apparatus is further increased in e.g. a retransmission ap- proach that uses ACKs because the transmitting apparatus needs to listen on a channel for ACKs and receive ACKs which both costs energy.
The additional energy consumption due to additional redundancy or retransmissions may for instance be particularly significant when the transmitting apparatus experiences varying link stability. This is because poor links may require a large amount of additional redundancy and/or result in a large amount of data that is not received successfully by the receiving apparatus. Link stability may vary and poor links may occur e.g. depending on the environment and the position
of the transmitting apparatus. This may be particularly the case when the transmitting appa- ratus is a mobile apparatus that often changes its position and/or travels fast.
In particular when a transmitting apparatus is battery-powered and/or otherwise limited in the power and/or energy that it can draw, additional energy consumption of the transmitting appa- ratus is undesired.
It is inter alia an objective of the present invention to overcome one or more of the disad- vantages stated above and/or improve and/or adapt one or more of the technologies described above.
According to a first exemplary aspect of the invention, a method is disclosed that comprises: transmitting first data using a first level of redundancy in a first message; storing at least part of the first data; transmitting a first downlink request message; obtaining first information in re- sponse to the first downlink request message; determining whether at least part of the first data needs to be retransmitted based on the first information, and transmitting second data using a second level of redundancy in one or more second messages when it is determined that at least part of the first data needs to be retransmitted, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises the at least part of the first data for which it was determined that it needs to be retransmitted.
According to a second exemplary aspect of the invention, a method is disclosed that comprises: receiving a first downlink request message; providing first information in response to the re- ceived first downlink request message, wherein the first information is useable by an apparatus that transmitted first data using a first level of redundancy in a first message for determining whether at least part of the first data needs to be retransmitted, and at least one of: receiving at least part of second data that uses a second level of redundancy in one or more second messages, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises at least part of the first data, or receiving a second downlink request message.
Furthermore, the following shall be disclosed for each of the above-described two aspects of the present invention, respectively:
(1) An apparatus or system configured to perform and/or control or comprising respective means for performing and/or controlling the method according to the respective aspect of the invention.
• 5
The means of the apparatus or system can be implemented in hardware and/or software. They may comprise for instance at least one processor for executing computer program code for per- forming the required function, at least one memory storing the program code and/or data, or both. Alternatively, they could comprise for instance circuitry that is designed to implement the 10 required functions, for instance implemented in a chipset or a chip, like an integrated circuit. In general, the means may comprise for instance one or more processing means or processors.
(2) An apparatus or system (that in particular comprises at least two apparatuses) comprising at least one processor and at least one memory including computer program code, the at least one 15 memory and the computer program code configured to, with the at least one processor, cause an apparatus or system (e.g. the apparatus or the system) at least to perform and/or control the method according to. the respective aspect of the invention.
The disclosed apparatus performing the method according to the respective aspect of the inven- 20 tion may comprise only the disclosed components (e.g. means, processor, memory) or may fur- ther comprise one or more additional components.
The disclosed apparatus performing the method according to the first aspect of the invention may for example be battery-operated and/or powered by a solar module and/or be powered by 25 any other energy source that does not require a permanent connection to a power grid. Further- more, the disclosed apparatus according to the first aspect of the invention may for example be a mobile device or a tracking device for tracking of an entity. Such an entity could be a pallet, a roll cage, a trolley or a container. The tracking device for tracking of the entity may be attachable and/or connectable to the entity. The tracking device for tracking of the entity may alternatively 30 be a part of the entity or integrated into the entity. Additionally, the disclosed apparatus accord- ing to the first aspect of the invention may for example comprise means or a sensor for or adapted to detecting movement, detecting a start of a movement, detecting a stop of a move- ment, detecting speed of a movement and/or detecting the distance travelled between start and
stop of a movement. The disclosed apparatus performing the method according first as- pect of the invention may further comprise a module for or adapted to receiving and/or trans- mitting data from and/or to nodes of a network, for example wireless local area network (WLAN) access points (APs) or cellular mobile network base stations. In particular, the module may be adapted to receive identifiers of nodes or cells of a network, for example basic service set identifiers (BSSIDs) which for instance comprise the medium access control (MAC) addresses of respective WLAN APs or which comprise a random number. The disclosed apparatus performing the method according to the first aspect of the invention may be configured to communicate with the disclosed apparatus performing the method according to the second aspect of the in- vention, for instance based on one or more wireless communication networks such as a low- power wide area network or a cellular mobile communication network, to name but a few exam- ples. Moreover, the disclosed apparatus performing the method according to the first aspect of the invention may be configured to communicate with a relaying device, e.g. a truck, a ship, a plane, or a mobile device of a person or of a truck driver or of a courier, for example using Blue- tooth and/or Near Frequency Communication (NFC) or a similar wireless technology. The relay- ing device may be configured to forward received information to the disclosed apparatus per- forming the method according to the second aspect of the invention, for instance using a low- power wide area network or a mobile communication network, and/or to forward received in- formation to the disclosed apparatus performing the method according to the first aspect of the invention.
The disclosed apparatus performing the method according to the second aspect of the invention may for example be a server or a cloud server. It may for instance be connected to the Internet and/or other communication networks, e.g. one or more low power wide area networks and/or other cellular networks such as 4G or 5G. Furthermore, it may for example be configured to com- municate with the apparatus according to the first aspect of the invention, e.g. using one or more of these networks.
(3) A computer program when executed by a processor causing an apparatus (e.g. a server or a tracking device) to perform and/or control the actions of the method according to the respective aspect of the invention.
The computer program may be stored on computer-readable storage medium, in particular a tangible and/or non-transitory medium. The computer readable storage medium could for ex- ample be a disk or a memory or the like. The computer program could be stored in the computer readable storage medium in the form of instructions encoding the computer-readable storage medium. The computer readable storage medium may be intended for taking part in the opera- tion of a device, like an internal or external memory (e.g. a Read-Only Memory (ROM) or hard •disk of a computer, or be intended for distribution of the program, like an optical disc.
(4) A tangible, non-transitory computer-readable medium storing a computer program code, the computer program code when executed by a processor causing an apparatus to perform and/or control the method according to the respective aspect of the invention.
Furthermore, according to a third exemplary aspect of the present invention, a system is dis- closed, comprising at least an apparatus or system according to the first exemplary aspect of the invention and an apparatus or system according to the second exemplary aspect of the inven- tion.
In the following, example details and further embodiments of all three exemplary aspects of the present invention presented above will be described, that shall be understood to be disclosed for the method, apparatuses /systems, computer program and computer-readable medium of each of these aspects, respectively. •
The transmitting of any of the messages of the method according to the first aspect of the inven- tion, e.g. the first message, the downlink request message, and/or the one or more second mes- sages, may be a transmission from a first apparatus to a second ’apparatus. The first apparatus may correspond to the apparatus performing the method according to the first aspect of the in- vention, e.g. a tracking device. The second apparatus may correspond to the apparatus perform- ing the method according to the second aspect of the invention or to another apparatus, e.g. a server. Alternatively, one or more of the transmissions maybe to an apparatus that is configured to forward the respective message, e.g. a relaying device and/or a node of a network like a base station of a cellular network or an AP of a WLAN network, so that the respective message may be forwarded through one or more networks to the apparatus performing the method according to the second aspect of the invention.
The transmission of any of the messages of the method according to the first aspect of the inven- tion, e.g. the first message, the downlink request message, and/or the one or more second mes- sages, maybe a respective wireless transmission. Such a wireless transmission may for example be based on a low-power wide area network, e.g. SigFox, LoRa PHY, LoRa Wide Area Network (WAN), Long Term Evolution (LTE)-M, NarrowBand-Internet of Things (loT). SigFox radio is for example specified in the SigFox radio specification vl.5 of February 2020. A wireless transmis- sion may correspond to or be based on the transmission of an uplink message or a downlink message according to this SigFox specification. However, it should be noted that exemplary em- bodiments of the invention may consider transmissions that are based on the general principle of a SigFox network but that deviate from the SigFox specification in specific points, e.g. regard- ing the' message and frame content, retransmission strategy, and so on, for example to improve current SigFox technology. Similarly, the terminology used in the following does not necessarily correspond to that in the SigFox specification or in any other specification. For instance, a Lo-
Ra WAN may be specified according to the LoRaWAN 1.0.3 specification by the LoRa Alliance and a wireless transmission may for instance be based on an uplink message that is sent, e.g. accord- ing to LoRa PHY, by an end-device to a network server and that maybe relayed by one or more gateways, or it may be based on a downlink message that is sent, e.g. according to LoRa PHY, from the network server to one end-device and that may be relayed by one gateway. Alterna- tively, such a wireless transmission may for example based on a cellular network, e.g. Global Sys- tem for Mobile Communications (GSM), General Packet Radio Service (GPRS), Enhanced Data Rates for GSM Evolution (EDGE), Universal Mobile Telecommunication System (UMTS), LTE, LTE+, 5th Generation (5G), 6th Generation (6G), or a wireless local area network (WLAN), e.g. a network according to the IEEE 802.11 standard. The transmitting may then be done using one or more radio frequency bands in the respective frequency band of the network and/or the tech- noldgy, for example using one or more frequencies around 868 MHz or around 902 MHz in the short range device (SRD) band for a transmission over e.g. a SigFox network or a LoRaWAN, us- ing one or more frequency bands in an industrial, medical and scientific (ISM) band, for example around 2.4 GHz, 5.8 GHz or 61.5 GHz for a transmission over an IEEE 802.11 network, or using one or more frequency bands in a proprietary frequency band of a GSM, GPRS, EDGE, UMTS, LTE, 5G or 6G network operator. Alternatively, the transmitting of any of the messages may be a re- spective wired transmission, for example over an Ethernet or fiber network.
The first message may be a message of a plurality of messages. One or more messages of the plu- rality of messages may for instance be transmitted before and/or after the first downlink re- quest message is transmited and/or before and/or after one or more second messages are transmited. For example, the first message may be transmitted after any arbitrary or random number, e.g. 1, 2, or 10, of messages of the plurality of messages has been transmitted and/or before any arbitrary or random number, e.g. 1, 2, or 10, of messages of the plurality of messages has been transmitted. The downlink request message may be transmitted a random, arbitrary or pre-defined time interval after the first message has been transmitted, or after a time interval determined based on a pre-defined rule. Such a time interval may correspond to less than 1 s, 1 s, 2 s, 10 s, 1 hour, 6 hours, 12 hours, 24 hours or more than 24 hours.
Additionally, the method according to the first aspect of the invention comprises obtaining, for example receiving, determining or generating, first information. The first information may for example be obtained by the apparatus that performs the method according to the first aspect of the invention. It may for instance be received from the apparatus that performs the method ac- cording to the second aspect of the invention and/or for instance wirelessly from or through e.g. a base station, a relaying device, or a satellite. The first information may for instance be com- prised in a downlink response message and/or piggybacked onto any other message. Alterna- tively, the first information may for example be generated by the apparatus that performs the method according to the first aspect of the invention for instance using a pre-defined rule and/or based on a timer. For example, the first information may for example be generated by the apparatus that performs the method according to the first aspect of the invention in response to that a timer which was started when the first data was transmitted stops, e.g. after a pre-defined duration.
The first information may be indicative of whether at least part of the first data was not received successfully, e.g. at the second apparatus, at a base station, at a relaying device, at a satellite, or at the apparatus performing the method according to the second aspect of the invention. The first information may additionally or alternatively be indicative of whether at least part of the first data should be retransmitted, for instance regardless of the fact whether the first data was received successfully or not. The first information may also be indicative of whether one or more respective messages of the plurality of messages of which the first message is a message were received successfully or not and/or whether a respective message should be retransmitted, for instance regardless of the fact whether the respective message was received successfully or not.
The first information may be indicative of the above-described characteristics without further information and/or combined with further information. Such further information may for exam- ple be information that is stored on the apparatus obtaining the first information and/or it may be information that can be generated by the apparatus obtaining the first information according to a pre-defined rule and/or it may be information that the apparatus obtaining the first infor- mation receives in addition to the first information.
The first information may be provided, e.g. by the apparatus performing the method according to the second aspect of the invention, in response to the received first downlink request mes- sage. The first information may for instance be provided only if the first downlink request mes- sage comprises a pre-defined information. Alternatively, the first information maybe provided in response to every downlink request message. Again alternatively, the first information may be provided in response to the received first downlink request message only if some prerequisite is met, for example that the apparatus that provides the first information is connected to a suited network or that a pre-defined time has passed since the last providing of the first information.
For transmitting the first data in the first message using the first level of redundancy, redun- dancy according to the first level of redundancy may for instance be added to the first data, e.g. by the apparatus performing the method according to the first aspect of the invention. For exam- ple, redundancy may be added by making the first message comprise the first data multiple times, e.g. N times, e.g. in identical form. Alternatively or additionally, redundancy may be added by applying forward error correction codes to the first data, for example the Hamming code, the Reed Solomon code or the Viterbi code. The added redundancy may increase the probability of successfully obtaining at least parts of the first message, e.g. by a recipient, for example because the recipient may successfully recover parts of the first data based on the added redundancy that were initially received unsuccessfully. The recipient may for example be the apparatus ac- cording to the second aspect of theinvention and/or a base station and/or any other node of a network. However, generally, using the first level of redundancy may also correspond to adding no redundancy or possibly even removing redundancy from the first data.
Adding redundancy to the first data may be particularly relevant when the apparatus perform- ing the method according to the first aspect of the invention has no stable link for transmitting the first data, e.g. to a base station and/or an access point of a wireless network and/or the sec-
ond apparatus, or expects to have no stable link for transmitting the first data. This may for ex- ample occur when the network over which the first data shall be transmitted has only limited coverage areas and the apparatus performing the method according to the first aspect of the in- vention is at least sometimes outside of these coverage areas, for instance because it is moving often and/or fest and/or far, e.g. inside a truck or a ship.
For transmitting the second data in the one or more second messages using the second level of redundancy, redundancy according to the second level of redundancy may for instance be added to second data which comprises the at least part of the first data (or a representation thereof) for which it was determined that it needs retransmission. The adding of redundancy may for in- stance be done by the apparatus performing the method according to the first aspect of the in- vention. For example, redundancy may be added by making the one or more second messages comprise the second data multiple times, e.g. in identical form. Alternatively or additionally, re- dundancy may be added by applying forward error correction codes to the first data, for exam- ple the Hamming code, the Reed Solomon code or the Viterbi code.
A level of redundancy that is used for transmitting a message A may be lower than another level of redundancy that is used for transmitting another message B for instance if the entropy of the message A is higher than the entropy of the other message B assuming both messages are gener- ated based on the same input data. Assuming both messages are generated based on the same input data, message A may then be shorter than message B. Thus, using a lower level of redun- dancy for transmitting data may result in less total data that needs to be transmitted and/or may result in "free space" in one or more messages that may be used for additional data when com- pared with a transmissi on of the same data using a higher level of redundancy. Transmitting less total data and/or having "free space" in one or more messages to transmit additional data in the same messages so that additional data need not be transmitted in an additional separate mes- sage may save energy, e.g. at the apparatus transmitting the messages and/or at one or more ap- paratuses that receive and/or process those messages. This is for instance because any over- head, e.g. due to the header, need not be transmitted twice.
The second level of redundancy may be lower than the first level of redundancy for instance if the one or more second messages comprise the second data less times than the first message comprises the first data, e.g. the one or more second messages may comprise the second data N-
1, N-2, or N-M, e.g. 1, times, where M is a positive integer, whereas the first message may com- prise the first data N times. The second level of redundancy may also be lower than the first level of redundancy for instance when the one or more second messages comprise only parts of the second data multiple times and parts of the second data only one time. Alternatively or addition- ally, redundancy according to the second level of redundancy that is lower than the first level of redundancy may be added to the second data by applying forward error correction codes to the second data using a code rate of the forward error correction code that is higher than the code rate of a forward error correction code applied to add the first level of redundancy to the first data. Optionally, the second level of redundancy may also be zero, i.e. no redundancy is added to the second data. Using the second level of redundancy may even correspond to removing redun- dancy from the second data.
The second data in the one or more second messages using the second level of redundancy is transmitted when it is determined that at least part of the first data needs to be retransmitted, e.g. only if it is determined that at least part of the first data needs to be retransmitted and/or always when it is determined that at least part of the first data needs to be retransmitted and/or in response to that it is determined that at least part of the first data needs to be retransmitted. The determining whether at least part of the first data needs to be retransmitted may for in- stance be done by the apparatus that performs the method according to the first aspect of the invention. The determining whether at least part of the first data needs to be retransmitted is based on the first information. The determining whether at least part of the first data needs to be retransmitted may additionally be based on further information. For instance, the first data may have a data type of a set of at least two data types such as payload data, status data, keep alive data, and control data. The determining may then not only be based on the first information, but additionally based on the data type of the first data. Furthermore, the determining may be based for instance on time data. Optionally, the determining may be based on data from a sensor and/or data about a charging status, for instance data from a sensor that may be comprised in the apparatus performing the method according to the first aspect of the invention or the charg- ing status of a battery that may be comprised in the apparatus performing the method according to the first aspect of the invention.
The second data that is transmitted in the one or more second messages using the second level of redundancy comprises the at least part of the first data for which it was determined that it needs to be retransmitted. In particular, the second data may comprise the entire first data (or a
representation thereof). Alternatively, the second data may comprise only the part of the first data for which it was determined that it needs to be retransmitted. Furthermore, the second data may comprise additional data, for example the data from one or more messages of the plu- rality of messages of. which the first message was transmitted. Instead of or in addition to that, the additional data may for example be or comprise one or more message identifiers and/or one or more timestamps and/or one or more hash values, e.g. of at least parts of the second data and/or the first data, and/or one or more sequence numbers. The additional data may allow as- sociating the second data or parts thereof with the first data. Furthermore, the additional data may for example allow distinguishing the second data from other data, e.g. based on the one or more message identifiers, the one or more timestamps, and/or the one or more hash values and/or the one or more sequence numbers. The associating and/or the distinguishing may for instance be clone by the second apparatus, e.g. the apparatus performing the method according to the second aspect of the invention. The additional data may for example take up some or all of the "free space" in the one or more second messages that may result from transmitting the sec- ond data using a second level of redundancy in the one or more second messages, wherein the second level of redundancy is lower than the first level of redundancy. It may thus save energy to transmit the second data in one or more second messages using the second level of redun- dancy being lower than the first level of redundancy because that reduces the total amount of data that is transmitted. This may be particularly the case if no additional data needs to be trans- mitted in a separate additional message and the additional data may instead be comprised in the second data in addition to the at least part of the first data for which it was determined that it needs to be retransmitted. This may be even more so if the aggregated length of the one or more second messages is shorter than the first message, despite the second data comprising such ad- ditional data. However, generally, the second message is a message of a plurality of messages that are transmitted, each of which may have some or all of the characteristics described for any of the other messages of the method according to the first aspect of the invention.
For the method according to the first aspect of the invention, there may be a higher probability that the transmitting of the second data in the one or more second messages is over a stable link than the probability that the transmitting of the first data in the first message is over a stable link. This may for example be so if the transmitting and possibly the receiving of the downlink request message was successful and/or the obtaining, e.g. receiving, of the first information in response to the first downlink request message was successful and/or the determining whether
at least part of the first data needs to be retransmitted based on the first information was suc- cessful, e.g. in response to obtaining the first information. One or more of these events may indi- cate that at the respective moment when the event occurred, there was a link good enough for transmitting and/or receiving a message or information, e.g. by the apparatus according to the first aspect of the invention. Thus, there may be this high probability that the transmitting of the second data in the one or more second messages will be over a stable link because, in the sce- nario described above, the second data in the one or more second messages may be transmited, e.g. by the apparatus performing the method according to the first aspect on the invention, shortly after or in response to the determining and/or in response to any other action of the method according to the first aspect of the invention. In particular, "shortly after" may mean e.g. within 1 s, 2 s, 10 s, 1 minute,! hour, 2 hours, or 3 hours after the respective action of the method. Thus, the stable link may still be available and may be expected to be available, for in- stance if the average change in location or environment of the apparatus according to the first aspect of the invention is known or can be estimated.
There may also be a higher probability that the transmitting of the second data in the one or more second messages is over a stable link than the probability that the transmitting of the first data in the first message is over a stable link for example in the case that the transmitting of the second data in the one or more second messages takes place shortly after or in response to an- other event which is indicative for the availability of a stable link. Such an event may e.g. be the successful reception of a message, for instance as described above. Alternatively or additionally, such an event may be the receipt of data from a sensor or other available means, e.g. location data from a global positioning system (GPS) sensor or a similar sensor, which is indicative of a location at which a stable link can be expected, e.g. based on coverage maps.
For instance due to the fact that there may be this high probability that the transmitting of the second data in the one or more second.messages is over a stable link, e.g. under the above-de- scribed circumstances, it may be advantageous to use the second level of redundancy for trans- mitting the second data in the one or more second messages that is lower than the first level of redundancy. This may increase the transmission and receive rate. In particular, the method ac- cording to any aspect of the invention may make the transmission and reception rate of data adaptive to the environment of the apparatus performing the method according to the first as- pect of the invention. Moreover, the methods according to any aspect of the invention may nei- ther require any explicit channel measurements for this, nor may it be required that any explicit
information about the channel quality or status is transmitted as data in any of the messages of the method according to any aspect of the invention.
According to an example embodiment of the present invention, the second data is transmitted in two second messages. For instance, a first part of the second data may be comprised in the first second message and a second part of the second data may be comprised in the second second message. Moreover, in some embodiments the second data may comprises additional data, e.g. one or more timestamps and one or more message identifiers; in addition to the at least part of the first data for which it was determined that it needs to be retransmitted. The additional data may for instance be comprised only in one of the two messages. However, in other embodi- ments, for example both second .messages may comprise part of the additional data, e.g. a re- spective message identifier and/or a respective timestamp. Yet, additional data may also be split across two second messages or even more messages. Similarly, the second data may also be transmitted only in one second message or even in any other pre-defined or varying, e.g. accord- ing to a pre-defined rule, number of second messages. Similarly, the at least part of the first data for which it was determined that it needs to be retransmitted and which is comprised in the sec- ond data may be comprised only in one of the one or more second messages. Alternatively, parts of the at least part of the first data for which it was determined that it needs to be retransmitted and which is comprised in the second data may be comprised in several respective second mes- sages of the one or more second messages.
According to an example embodiment of the invention, at least two second messages of the one or more second messages comprise different data. For instance, the part of the second data that is transmitted in the one or more second messages using the second level of redundancy corre- sponding to the at least part of the first data for which it was determined that it needs to be re- transmitted may be split across several, e.g. 2, second messages. Then, each of these second messages may for example comprise a different part and/or representation of the at least part of the first data for which it was determined that it needs to be retransmitted. However, in other examples, one or more (or all) second messages may comprise the same part of the second data corresponding to the at least part of the first data for which it was determined that it needs to be retransmited. Then, the one or more second messages may comprise mutually different addi- tional data, e.g. each second message may have a respective unique message identifier.
According to an example embodiment of the present invention, the aggregated length of the one or more second messages is shorter than the length of the first message. This may for instance always be so or only if the data type of the first data in the first message is of a pre-defined data type, e.g. payload data. The second level of redundancy may then be lower than the first level of redundancy in such a way that any data, e.g. one or more timestamps and/or one or more mes- sage identifiers; that needs to be transmited in addition to the at least part of the first data com- prised in the second data may still fit into the, e.g. pre-defined number of, one or more second
• messages. The aggregated length of the one or more second messages being shorter than the length of the first message may be advantageous in that it may for instance be easily determina- ble how long the transmission of the one or more second messages takes and/or how much en- ergy the transmission of the one or more second message costs in total as compared to the transmission of the first message. This may for instance allow to calculate an expected operating time or life time of a battery-operated apparatus. This can be even more precise if the aggre- gated length of the one or more second messages is not only shorter than the length of the first message, but is shorter by a pre-defined ratio, e.g. the aggregated length of the one or more sec- ond messages may be 1/4, 1/3, 1/2, 2/3, or 3/4 of the length of the first message.
According to an example embodiment of the present invention, the at least part of the first data that is stored is stored associated with a timestamp, and the second data comprises the time stamp. The second data may comprise the time stamp for instance in addition to the at least part of the first data. Storing the at least part of the first data associated with a timestamp may allow at a later point in time to determine when the at least part of the first data was initially e.g. trans- mitted, generated or obtained. The determining may for instance be done by the apparatus ac- cording to the first aspect invention and/or the apparatus according to the second aspect of the invention.
According to an example embodiment of the present in vention, the at least part of the first data that is stored is stored associated with one or more message identifiers, and each of the one or more second messages in which the second data is transmitted comprises a respective message identifier of the one or more message identifiers. The second data may comprise the one or more message identifiers for instance in addition to the at least part of the first data and for instance in addition to one or more timestamps. A message identifier may for instance be a respective number from a sequence and/or may for instance allow uniquely identifying the at least part of the first data that is stored or a respective partt thereof . The one or more message identifiers may
for instance be associated with the at least part of the first data or a respective part thereof until the at least part of the first data of the respective part thereof was received successfully, for in- stance in the one or more second messages by the apparatus according to the second aspect of the invention. This association may be particularly useful in case the first data does not contain such a message identifier, for instance to save energy by keeping the first data in the first mes- sage small The first message may then only comprise a sequence number that is associated with the first message and possibly not with the first data.
According to an example embodiment of the present invention, the method according to the first aspect of the invention further comprises: transmitting a second downlink request message; ob- taining second information in response to the second downlink request message, e.g. by the ap- paratus performing the method according to the first aspect of the invention and/or from the apparatus performing the method according to the second aspect of the invention; determining whether at least part of the second data needs to be retransmitted based on the second infor- mation, e.g. by the apparatus performing the method according to the first aspect of the inven- tion; transmitting the at least part of the second data in one or more third messages using a third level of redundancy when it is determined that at least part of the second data needs to be re- transmitted; e.g. by the apparatus performing the method according to the first aspect of the in- vention. The at least part of the second data that is transmitted in the one or more third mes- sages may comprise the at least part of the first data which was stored. It may also comprise the one or more timestamps and the one or more message identifiers and/or it maybe the entire second data. For instance, the number of third messages may correspond to the number of sec- ond messages that were not received successfully. In such an example case, the one or more third messages may comprise the same respective data and/or have the same respective charac- teristics that the respective one or more second messages had, e.g. the one or more third mes- sages may represent retransmissions of one or more second messages that were not received successfully. The one or more third messages maybe messages of a plurality of messages that are transmited. Furthermore, the characteristics of the respective single method actions de- scribed above in this paragraph may be the same or different from those described for the re- spective first type of its kind, e.g. the obtaining of second information and the second infor- mation itself may have the same or different characteristics than the obtaining of the first infor- mation and the first information itself. Thus, the obtaining of the second information and the second information itself may have one or more of the characteristics described for the obtain-
ing of the first information and the first information itself. The same principle applies for in- stance also to the third level of redundancy and the respective other method actions and objects mentioned before in this paragraph. In particular, the second downlink request message may have some or ail of the characteristics that were described for the first downlink request message. In some embodiments, it may even be possible that one downlink request message represents both a first and a second downlink request message. For instance, if we consider a first message A and another first message B, and message B was e.g. transmitted at a later point in time than message A, a downlink request mes- sage may represent both the second downlink request from the perspective of the first message A and the first downlink request message from the perspective of the first message B. This may for example occur when downlink request messages are transmitted in regular time intervals, e.g. every 24 hours. First messages may be transmitted irregularly and/or more often, for exam- ple in reaction to trigger events.
According to an example embodiment of the present invention, the method according to the sec- ond aspect of the invention further comprises: providing, e.g. by the apparatus performing the method according to the second aspect of the invention, second information in response to re- ceiving the second downlink request message, wherein the second information is useable by an apparatus that transmitted the second data in the one or more second messages for determining whether at least part of the second data needs to be retransmitted, wherein the apparatus that transmitted the second data is the same apparatus that transmited the first data. The second information may for instance be generated by the apparatus performing the method according to the second aspect of the invention before providing it. It may be generated e.g. based on infor- mation about which parts of the first and/or second data were received. The second information may be provided after every (second) downlink request message. Furthermore, the second in- formation may be provided in response to the received second downlink request message only ifsome prerequisite is met,- for example that the apparatus that provides the second information is connected to a suited network or that a pre-defined time has passed since the providing of the first information and/or the last providing of the second information. The method according to the second aspect of the invention may further comprise receiving parts of the first and/or the second data and/or combining some or all of the received parts of the first and/or the second data to obtain at least parts of the data that was originally transmitted in the first message and/or in the one or more second messages. The combining may be done e.g. based one or more
timestamps and/or one or more message identifiers. Alternatively, the second information may be obtained by the apparatus performing the method according to the first aspect of the inven- tion by generating it, e.g. in response to that a pre-defined time interval has passed since trans- mitting the one or more second messages, i.e. obtaining the second information by detecting that a pre-defined time interval has passed since transmitting the one or more second messages.
According to an example embodiment of the present invention, at least one third message of the one or more third messages and at least one second message of the one or more second mes- sages have the same length. This may be advantageous in that it can for instance easily be deter- mined how long the transmission of the one or more third messages takes and/or how much en- ergy the transmission of the one or more third messages costs. This may also occur when a third message represents or is or corresponds to a retransmission of a second message. In some em- bodiments, all third messages of the one or more third messages and all second messages of the one or more second messages may have the same length.
According to an example embodiment of the present invention, the third level of redundancy is equal to the second level of redundancy, i.e. it may be the same level as the second level of re- dundancy, e.g. if one or more third messages have the same length as one or more second mes- sages. Alternatively, the third level of redundancy may be equal to the first level of redundancy or it may be a level of redundancy that is higher or lower than any of the first and/or the second level of redundancy.
According to an example embodiment of the present invention, the method according to the first aspect of the invention further comprises: determining the number of the one or more third messages, e.g. by the apparatus performing .the method according to any aspect of the invention, based on the second information. For instance, the second information may comprise one or more indicators based on which the number of the one or more third messages may be deter- mined. For instance, these one or more indicators may refer to respective one or more second messages and may indicate whether the respective second message was received successfully or not Based on this, it may be determined that the number of the one or more third messages cor- responds to the number of second messages that were not received successfully.
According to an example embodiment of the present invention, the method according to the sec- ond aspect of the invention further comprises: receiving at least part of the second data in one or
more third messages that use a third level of redundancy, wherein the third level of redundancy is determined by the apparatus that transmitted the one or more third messages. The received at least part of the second data in the one or more third messages may be combined with -previ- ously received data, e.g. the at least parts of the first data that were received, and/or the at least part of the second data that were received, e.g. in one or more second messages and/or in one or more third messages. Any of these actions may be performed e.g. by the apparatus performing the method according to the second aspect of the invention.
According to an example embodiment of the present invention, as far as the at least part of the first data that is stored is stored associated with one or more message identifiers and each of the one or more second messages in which the second data is transmitted comprises a respective message identifier of the one or more message identifiers, the second information is based on the one or more message identifiers. For instance, the apparatus according to the second aspect of the invention may determine the second information based on the one or more message iden- tifiers and optionally based on further information. For example, one or more messages of the plurality of messages of which the one or more second messages and/or the one or more third messages are transmitted may comprise a respective message identifier. Then, the second infor- mation may be based not only on the one or more message identifiers of the one or more second messages, but additionally it may be based on one or more of the respective message identifiers of the respective messages of the plurality of messages. The second information may for instance indicate which at least part of the second data and/or which second message(s) of the one or more second messages was/were not received successfully, e.g. by the apparatus according to the second aspect of the invention. To this end, the one or more message identifiers comprised in the second data and/or in the one or more second messages and/or one or more additional message identifiers comprised in respective messages of the plurality of messages may be used, for example.
According to an example embodiment of the present invention, the method according to the first aspect of the invention may further comprise: determining if a position of an apparatus that per- forms the method is moving and/or has started moving, wherein the transmitting of the first data in the first message using the first level of redundancy is performed if no movement has been detected during a pre-defined time interval or a time interval determined according to a pre-defined rule, or if a start of a movement has been detected. In particular, the transmitting of
the first data in the first message using the first level of redundancy may be performed in re- sponse to that no movement has been detected during a pre-defined time interval or a time in- terval determined according to a pre-defined rule, or in response to that a start of a movement has been detected. A start of a movement may be detected if the apparatus that performs the method travels faster than a pre-defined speed, e.g. 1 km/h, 5 km/h, 10 km/h, 30 km/h, 40 km/h, SO km/h, and/or has traveled since the last stop and/or at the pre-defined speed more than a pre-defined distance, e.g. 100 m, 1 km, 2 km, 5 km. Transmitting of the first data in the first message if no movement has been detected during a pre-defined time interval or a time in- terval determined according to a pre-defined rule, or if a start of a movement has been detected, may be particularly advantageous if the first data is related to or associated with information about the position and/or the movement of the apparatus performing the method according to the first aspect of the invention and/or the status of e.g. the link between the apparatus perform- ing the method according to the first aspect of the invention and a network node, e.g. a base sta- tion. In such a case, the first data is particularly transmitted when relevant changes might have occurred to this position and/or the movement of the apparatus. The determining may be done e.g. by the apparatus performing the method according to the first aspect of the invention.
According to an example embodiment of the present invention, the first data transmitted in the first message has a data type from a set of at least two data types. This set of at least two data types may for instance comprise at least payload data and/or status data and/or keep alive data.
Data of type payload data may for instance be data that comprises information useable for deter- mining the position of an apparatus, for instance the position of the apparatus performing the method according to the first aspect of the invention. In particular, payload data may for in- stance comprise identifiers of communication nodes, e.g. BSSIDs of WLAN APs or cell identifiers of base stations of a cellular network, which were for example received by the apparatus per- forming the method according to the first aspect of the invention, e.g. during a scan for such communication nodes. Alternatively or additionally, payload data may for instance comprise co- ordinate data, e.g. GPS data, or may for instance be otherwise indicative of a position and/or a movement, e.g. of an apparatus. Data of type status data may for instance comprise data that is indicative of a status, e.g. a battery status, of an apparatus according to the first aspect of the in- vention, indicative of a status change of the apparatus performingthe method according to the first aspect of the invention, e.g. a start of a movement, a long drive or similar, indicative of set- tings and/or updates for the apparatus performing the method according to the first aspect of the invention and/or indicative of a data integrity functionality to be used, e.g. actions to be
taken, e.g. by the apparatus according to the first aspect of the invention, e.g. in response to ob- taining the first and/or the second information. Data of type keep alive data may for instance be indicative of that the apparatus according to the first aspect of the invention is still alive, e.g. powered and/or within the network. The data type of the first message, e.g. payload data, status data, or keep alive data, may for instance also be indicative of or associated with an importance or a priority of the data in case of a possible retransmission.
According to an example embodiment of the present invention, the data type of the first data is payload data if the transmitting of the first data in the first message using the first level of redun- dancy is performed in response to that no movement has been detected in -a pre-defined time interval or a time interval determined according to a pre-defined rule, and/or the data type of the first data is status data if the transmitting of the first data in the first message using the first level of redundancy is performed in response to that a start of a movement has been detected. For instance, a scan for communication nodes may be performed in response to that no move- ment has been detected in a pre-defined time interval or a time interval determined according to a pre-defined rule, and the result of that scan, e.g. BSSIDs of WLAN APs or cell identifiers of base stations, may be comprised in or constitute the first data. The first data may have the data type payload data. Alternatively, the first data may indicate the detected start of the movement The first data may then have the data type status data.
According to an example embodiment of the present invention, the determining whether at least part of the first data needs to be retransmitted is further based on the data type of the first data. Thus, in particular, the determining whether at least part of the first data needs to be retransmit- ted may be based on the first information and the data type of the first data. For instance, it may first be determined whether there is a general need to retransmit at least part of the first data based on the first information, e.g. in the case that this at least part of the first data has not been received successfully. Then, it may be determined whether there is a general need to retransmit the at least part of the first data based on the data type of the first data. Alternatively, this may be done the other way around. Then, if it has been determined that there is a general need to re- transmit the at least part of the first data based on the first information and, in addition to that, if it has been determined that there is a general need to retransmit the at least part of the first data based on the data type of the first data, it is determined that the at least part of the first data needs to be retransmitted. This may have the advantage that the amount of data that needs to be
retransmitted is kept low, e.g. by not retransmitting data that is no longer relevant, e.g. data which has the data type keep alive data and/or the data type status data, thereby saving energy.
According to an example embodiment of the present invention, in the determining whether at least part of the first data needs to be retransmitted, it is determined that at least part of the first data needs to be retransmitted if the first information is indicative of that the at least part of the first data was not received successfully, e.g. by the second apparatus, and the data type of the first data is payload data. Similarly, it may for instance be determined that the at least part of the first data needs to be retransmitted in case that the first data is keep alive data. By contrast, it may for instance be determined that the at least part of the first data need not be retransmitted in case that the first data is status data, even if the first information is indicative of that the at least part of the first data was not received successfully.
According to an example embodiment of the present invention, data of data type payload data comprises information useable for determining or indicative of the position of an apparatus that performs the method. For example, data of data type payload data may comprise BSSIDs of WLAN APs or other types of cell identifiers of communication nodes. The corresponding WLAN APs or communication nodes may have been so dose to the apparatus performing the, method according to the first aspect of the invention that the apparatus may have received their respec- tive identifiers, e.g. BSSIDs or cell identifiers. For instance in combination with coverage maps or position, information that indicate the respective positions of these WLAN APs or communica- tion nodes, such BSSIDs of WLAN APs or other types of cell identifiers of communication codes may be useable for determining the position of an apparatus that performs the method. Simi- larly, coordinate data such as the data obtained using a GPS receiver maybe useable for deter- mining the position of an apparatus that performs the method. Additionally, data useable for de- termining the position of an apparatus that performs the method may for instance be data ob- tained by calculation, e.g. using a Kalman filter, based on previously obtained coordinate data, e.g. by the apparatus performing the method.
According to an example embodiment of the present invention, the determining whether at least part of the first data needs to be retransmitted is further based on the content of the first data. Thus, in particular, the determining whether at least part of the first data needs to be retransmit- ted may be based on the first information and the data type of the first data and the content of
the first data. For instance, it may first be determined whether there is a general need to retrans- mit at least part of the first data based on the first information, e.g. in the case that this at least part of the first data has not been received successfully. Second, it may be determined whether there is a general need to retransmit the at least part of the first data based on the data type of the first data. Third, it may be determined whether the content of the first data (or at least a part thereof), is e.g. valuable and/or important. The value and/or importance of the content may for example be determined according to a pre-defined rule, e.g, based on its estimated value and/or importance to an apparatus determining.the position of the apparatus that transmitted the first data in the first message based on the second data. To this end, the content of the first data may be analyzed and/or processed. Optionally, external factors may be taken into account for deter- mining the value and/or importance of the content of the data, e.g. if similar content was trans- mitted shortly before, e.g. within the last 1 s, 10 s, 30 s, 1 minute, 30 minutes, 60 minutes, 12 hours, 24 hours, or any duration in between, if shortly before data was retransmitted or if there is already new data to be transmitted. The rule to determine what content is considered valuable and/or important may be static. Alternatively, the rule may be dynamically changed, for instance based on the status of the apparatus performing the retransmission, e.g. battery status. The three determining actions described above in this paragraph may be conducted one after an- other such that the next one is only conducted if, according to the preceding action, there is a need for retransmission. In other embodiments, two or all three determining actions maybe performed at the same time and/or irrespective of the result of another action. Furthermore, in some embodiments, the order of the actions may be different to the order described before in this paragraph. Overall, if it has been determined that there is a general need to retransmit the at least part of the first data based on the first information and, in addition to that, if it has been de- termined that there is a general need to retransmit the at least part of the first data based on the data type of the first data, and, in addition to that, if it has been determined that the content of the first data needs to be retransmitted, e.g. because of its importance/value, it is determined that the at least part of the first data needs to be retransmitted. This may have the advantage that the amount of data that needs to be retransmitted is kept low, e.g. by not retransmitting data that is not and/or no longer relevant, thereby saving energy. As compared to determining whether the first data needs to be retransmitted only based on the first information and/ the data type of the first data, taking into account the content of the first data may allow for an even more fine-grained selection of data that needs to be retransmitted.
According to an example embodiment of the present invention, the method according to the sec- ond aspect of the invention further comprises: determining, based on the content of the received at least part of the second data, whether the number of second messages that were transmitted by an apparatus from which the at least part of the second data was received corresponds to the number of the one or more second messages by which the at least part of the second data that uses a second level of redundancy was received. To this end, the content of the received at least part of the second data may be analyzed and/or processed. For instance, a pre-defined rule may be used. The pre-defined rule may be similar to the pre-defined rule that is used by an apparatus according to the first aspect of the invention for determining whether at least part of the first data needs to be retransmitted based on the content of the first data. Then, if the received at least part of the second data (or a part thereof) comprises data that, according to the pre-defined rule, is not important, it may be determined that the number of the transmitted one or more sec- ond messages corresponds to the number of received second messages. Thus, the apparatus per- forming the method according to the second aspect of the invention may know that no further second messages can be expected, and it may even adapt the second information accordingly such that no further second messages with regard to this are requested. In an alternative em- bodiment of the present invention, the one or more second messages in which the second data is transmitted using a second level of redundancy comprise respective control data based on which the apparatus receiving one or more of the one or more second messages can determine the total number of the transmited one or more second messages. While adding such control data may simplify determining the number of the transmitted one or more second messages by the apparatus performing the method according to the second aspect of the invention as no con- tent analysis is required, it maybe less energy efficient as more control data needs to be trans- mitted and received.
According to an example embodiment of the present invention, the method according to the sec- ond aspect of the invention further comprises:' determining the position of the apparatus that transmitted the first data in the first message based on the second data. For instance, the second data may comprise identifiers of communication nodes, e.g. BSSIDs of WLAN APs and/or cell identifiers of cells of a cellular communication network. Then, the method according to the sec- ond aspect of the invention may comprise determining the position of the apparatus that trans- mitted the first data in the first message based on the second data using an additional coverage map and/or coordinate data, e.g. in a data base, that indicates the respective positions of the
communication nodes of which the identifiers are comprised in the second data so that the posi- tion of the apparatus that transmitted the first data in the first message may then for example be determined using a triangulation based on the respective positions of the communication nodes. Additionally, in the determining of the position of the apparatus that transmitted the first data in the first message based on the second data, the position of the apparatus that transmitted the first data in the first message at a past time or in a past time interval may be determined, e.g. based on one or more timestamps comprised in the second data.
According to an example embodiment of the present invention, the first message comprises a plurality of frames, and/or the first downlink request message comprises only one or more frames, and/or each of the one or more second messages comprises only one respective frame. For instance, the first message and/or the second message and/or the downlink request mes- sage may each be a respective SigFox message. Then, for instance, the first message may com- prise three respective SigFox frames whereas for instance each second message only comprises, i.e. consists of, one respective SigFox frame. The downlink request message may comprise more than one frame, e.g. three frames or two frames, or it may comprise only one frame, i.e. consist of one frame. Thus, the first message and/or the second message and/or the downlink request message may also each comprise a respective different number of frames in their respective plu- rality of frames. Moreover, for instance also the second downlink request message may comprise a different number of frames. In some embodiments, the number of frames of a message, e.g. a downlink request message, may even vary.
According to an example embodiment of the present invention, some or all of the frames of the plurality of frames of the first message are transmitted on different frequencies, and/or some or all of the frames of the one or more frames of the first downlink request message are transmit- ted on different frequencies. For example, the firstmessage may comprise three frames, whereof the first frame is transmitted on a frequency a, the second frame is transmitted on a frequency b, and the third frame is transmitted on a frequency c. However, it may happen that due to e.g. a random selection of frequencies, two or more frames of the respective plurality of frames of any of the above-describe messages are transmitted on the same frequency and/or that two or more frames of the pluralities of frames of the above-describe messages are transmitted on the same frequency. Transmitting some or all of the frames of the respective plurality of frames of any of
the above-described messages on different frequencies may have the advantage of increased ro- bustness against e.g. interference or frequency-selective fading channels, and may increase the probability of a successful conveyance.
In some embodiments and in line with the previous paragraph, some or all of the one or mor e second messages may be received on different frequencies, and/or some or all of the one or more frames of the downlink request message are received on different frequencies, for instance by the apparatus performing the method according to the second aspect of the invention.
According to an example embodiment of the present invention, each frame of the plurality of frames of the first message comprises the same data, and/or each frame of the one or more frames of the first downlink request message comprises the same data. In particular, transmit- ting the first data in the first message using the first level of redundancy may be achieved by that each frame of the plurality of frames of the first message comprises the same data, e.g. the entire first data. Thus, this may correspond to that redundancy is added by making the first message comprise the first data multiple times, e.g. N times, where N corresponds to the number of frames of the plurality of frames of the first message. Similarly, the first downlink request mes- sage may be transmitted using the first level of redundancy, e.g. by that one or more frames of the first downlink request message comprise the same data. Lastly, the second data may be transmitted in the one or more second messages using the second level of redundancy that is lower than the first level of redundancy. Doing so, the at least part of the first data for which it was determined that it needs to be retransmitted may for instance be split across two or more second messages, each comprising e.g. only one frame. Using the second level of redundancy may for instance serve to make free space in the one or more second messages for data in addi- tion to the at least part of the first data comprised in the second data. Even if the number of frames of the plurality of frames of the first message is greater or equal to the number of second messages, using the second level of redundancy may still leave free space in the one or more sec- ond messages for such additional data, e.g. timestamps and/or message identifiers.
According to an example embodiment of the present inventi on, each frame of the plurality of frames of the first message and each frame of the respective one or more second messages have the same length. For instance, a frame may have a pre-defined length, e.g. per se or for a certain types of messages. According to an example embodiment, each of the one or more third mes- sages comprises one respective frame. However, in other embodiments, each of the one or more
third messages may also comprise a respective plurality of frames. Either way, these frames may also have the same length as each frame of the plurality of frames of the first message and each frame of the respective one or more second messages. In other embodiments, however, frames may also have different l engths, e.g. frames of different messages and/or fram es of the same message.
In some embodiments, each frame of the plurality of frames of the first message comprises a re- spective frame id. For example, if the number of frames of the plurality of frames of the first mes- sage is three, the first frame may comprise the frame id 1, the second frame may comprise the frame id 2, and the third frame may comprise the frame id 3. The frame id may be useable to uniquely identify one frame of the plurality of frames of the first message.
According to. exemplary embodiment of the present invention, each message of the one or more second messages comprises a respective message identifier, and the method according to the second aspect of the invention further comprises: determining the second information based on one or more message identifiers of the one or more second messages. For instance, if only one second message with one respective message identifier is received while another second mes- sage with another respective message identifier is not received successfully, it may be deter- mined, e.g. based on the message identifier of the received second message, that there must have been another message with another message identifier that was not received. This may for ex- ample be done by having message identifiers that are respective numbers from a sequence, wherein each number from the sequence is only used once as a message identifier, e.g. in a predefined time interval and/or until the end of the sequence is reached and the first number of the sequence is used again. The numbers may for instance be selected from the sequence according to a pre-defined rule, e.g. increasingly or decreasingly, e.g. by a pre-determined amount per se- lection. Then, when a second message with a message identifier represented by a number of the sequence is received, it can for instance be determined that no second message was received comprising a message identifier that corresponds to an earlier number of the sequence. Based on this, the second information may be determined. The second information may allow for in- stance the apparatus performing the method according to the first aspect of the invention to de- termine which message identifiers comprised in respective second messages were determined to be missing. The determining may be done for instance by the apparatus performing the method according to the second aspect of the invention.
According to an example embodiment of the present invention, each frame of the plurality of frames of the first message, and/or of the one or more respective second messages, and/or of the first downlink request message comprises a respective sequence number from a first se- quence. The respective sequence number from the first sequence may for instance be comprised in the respective header of the respective message. The sequence numbers from the first se- quence may be useable to uniquely identify any one message of the method according to the first aspect of the invention. The first sequence from which the sequence number originates may be a limited sequence, for example from 0 to 4095. In some embodiments, all frames of one message, e.g. all frames of the plurality of frames of the first message, comprise the same sequence num- ber, whereas frames of respective other messages, e.g. the one or more second messages and/or the downlink request message, comprise a sequence number different from the sequence num- ber that all frames of the one message, e.g. the plurality of frames of the first message, comprise.
According to an example embodiment of the present invention, the sequence number from the first sequence increases with every message that is transmitted. For instance, it may be in- creased in response to transmitting the first message, it may be increased again in response to transmitting the first downlink request message, and it may be increased again in response to transmitting the second message. If the first sequence is a limited sequence, the sequence num- ber may for instance restart at the beginning of the sequence after the last number of the se- quence is reached.
According to an example embodiment of the present invention, the first information is based on the sequence numbers from the first sequence. For instance, comparing the sequence numbers of two or more consecutively received messages of the plurality of messages of which the first message is a message, e.g. by the apparatus according to the second aspect of the invention, may allow determining which sequence number is missing and, thus, which one or more messages of the plurality of messages were not received. The first information may be indicative of whether these one or more messages of the plurality of messages were received successfully or not re- ceived successfully based on the sequence numbers from the first sequence.
According to an exemplary embodiment of the invention, each frame of the one or more frames of the first downlink request message comprises a sequence number from a first sequence, and the method according to the second aspect of the invention further comprises: determining the first information based on the sequence number from the first sequence that is comprised in
each frame of the one or more frames of the first downlink request message. This may for in- stance be done by the apparatus performing the method according to the second aspect of the invention. This may for instance be done by comparing the sequence number comprised in the first downlink request message with the sequence number of the last message that was received, e.g. at the apparatus performing the method according to the second aspect of the invention. If they differ by more than a pre-defined amount, e.g. 1, it may be determined that one or more messages have not been received successfully and the first information may be based on this. In some embodiments, each frame of the one or more frames of the first downlink request message comprises a same sequence number while in other embodiments, each of the one or more frames of the first downlink request message comprises a respective sequence number.
According to an example embodiment of the present invention, the first information comprises a bit field. This bit field may for instance be an array of bits associated with a plurality of mes- sages, each bit indicating, e.g. when set to a pre-defined value, for instance 1, that the respective message was received, or, e.g. when set to a pre-defined value, for instance 0, not received. In addition to the bit field, the first information may for instance comprise two sequence numbers, e.g. a sequence number to indicate a first message that was not received successfully and a se- quence number to indicate a last message that was not received successfully. These sequence numbers may also indicate with which messages the bit field is associated. For example, the se- quence number to indicate the first message that was not received successfully may be 30, the sequence number to indicate the last message which was not received successfully may be 43, indicating that the bit field, which may consist of 12 bits, is linearly associated with the sequence numbers 31 to 42.
According to an example embodiment of the present invention, the second information com- prises a bit field. That bit field may e.g. have some or all of the characteristics described for the bit field comprised in the first information. The bit field in the second information may indicate that one or more second and/or third messages were not received successfully. In some embodi- ments, one information, e.g. message, can comprise both the first and the second information. This may e.g. happen because the first and/or the second information are transmitted and/or obtained in response to a downlink request message. As one downlink request message may represent both a first and a second downlink request message, e.g. from the perspectives of re- spective different first messages, one information, e.g. message, transmitted and/or obtained in
response to such a downlink request message may also comprise a first and a second infor- mation regarding a first message and one or more second messages, respectively. Such a mes- sage comprising a first and a second information may for instance comprise two bit fields, wherein one bit field refers to first messages and the other bit field refers to second and/or third (and/or further) messages.
According to an example embodiment of the present invention, the method according to the first aspect of the invention further comprises: adding the at least part of the first data that is stored to a first queue; removing the at least part of the first data that was added to the first queue from the first queue in response to obtaining at least the first information; adding the second data to a second queue when it' is determined that at least part of the first data needs to be retransmitted; keeping the at least part of the second data for which it was determined that it needs to be re- transmitted in the second queue; and removing at least part of the second data for which it was not determined that it needs to be retransmitted from the second queue. Thus, an apparatus per- forming the method’ according to the first aspect of the invention may manage retransmissions by using two queues.
In particular, the first queue may comprise the at least part of the first data that is stored. As the first message may be a first message of a plurality of first messages, the first queue may com- prise a plurality of at least parts of first data transmitted in respective first messages. Adding an element, e.g. the at least part of the first data, may be done for instance by associating that ele- ment with the first queue. Thus, a queue may for instance only comprise identifiers of the ele- ments it comprises and/or refer to and/or manage its elements based on the identifiers of the elements it comprises. For instance, each frame of the first message may comprise a sequence number from a first sequence and the sequence number from the first sequence may increase with every message that is transmitted. Under such example circumstances, each message may e.g. be associated with one unique sequence number which the message may comprise one or more times, e.g. in each frame. Then, the adding of the at least part of the first data to a first queue may be done based on the sequence number. In some embodiments, additional identifiers may be associated with elements. For instance, when adding the at least part of the first data to the first queue, the at least part of the first data 'may be associated with one or more message identifiers, e.g. two message identifiers, that can be comprised in respective one or more second messages.
The first information that is obtained may be based on the sequence numbers from the first se- quence. The first information may refer to or indicate one or more elements of the first queue, e g. based on the respective sequence number of the respective at least part of the first data. In case (e.g. only in case and/or always in case) the first information refers to or indicates an ele- ment of the first queue, e.g. the at least part of the first data, the element may be removed from the first queue, e.g. by removing the corresponding sequence number from the first queue.
When, e.g. only when and/or always when, it is determined that at least part of the first data needs to be retransmitted, the second data comprising the at least part of the first data for which itwas determined that it needs to be retransmited may be added to a second queue. The second queue may thus be a queue comprising elements each comprising at least in part respective data to be retransmitted, e.g. a plurality of elements comprising data to be retransmitted for a plural- ity of messages. Having two queues may for example allow to distinguish first, e.g. original, transmissions of data from retransmissions of data such that e.g. different respective transmis- sion and/or retransmission strategies can be used. This may for instance allow to manage trans- mission and retransmission of data more efficiently, e.g. so that different respective levels of re- dundancy can be used for each.
Also the second queue may for instance only comprise identifiers of the elements it comprises and/or refer to and/or manage its elements based on the identifiers of the elements it com- prises. For instance, the at least part of the first data that is stored is stored may be associated, e.g. besides being associated with a sequence number, with one or more message identifiers, and each of the one or more second messages in which the second data is transmitted may comprise a respective message identifier of the one or more message identifiers. Then, the adding of the second data to the second queue may be done based on the message identifiers of the respective one or more messages in which the second data will be transmited. Thus, the second data may be added as one or as multiple elements to the second queue. In some embodiments, the second data may for example be added to the second queue by simply adding the one or more second messages, each as a single element, to the second queue. However, in other embodiments, the second queue maybe based e.g. on sequence numbers like the first queue and/or other identifi- ers. The second 'data may then also be added based on such one or more identifiers, e.g. one or more sequence numbers. The apparatus managing the first and/or the second queue may fur- ther maintain a list, e.g. comprising the respective associations of current and/or former ele- ments of the first queue with current and/or former elements of the second queue.
In some embodiments, the apparatus performing the method according to the first aspect of the invention transmits a second downlink request message and obtains second information in re- sponse to the second downlink request message. It may then be determined whether at least part of the second data needs to be retransmitted based on the second information. The at least part of the second data for which it was determined that it needs to be retransmitted may then be kept in the second queue. The second queue may thus be a queue comprising elements each comprising at least in part respective data to be retransmitted, no matter whether it is a first re- transmission or a further, e.g. second, third, tenth, retransmission. Consequently, in some em- bodiments, the at least part of the second data for which it was not determined that it needs to be retransmitted may be removed from the second queue. For instance, given that the second data is transmitted in two second messages and these two second messages were added to the second queue as separate elements based on their respective message identifier, the first second message may be kept in the second queue when it is determined that this part of the second data needs to be retransmitted, e.g. because this first second message was not received successfully. This may be indicated and/or be determinable based on the second information. In some em- bodiments, a copy or representation of this second message may then be transmitted again, e.g. as a third message. By contrast, in the given example, the second second message may have been received successfully. This may also be indicated and/or be determinable based on the second information. Then, the second second message of this example may be removed from the secondqueue and e.g. not transmitted again.
According to an example embodiment of the present invention, the method according to the first aspect of the invention further comprises transmitting an acknowledgement message in re- sponse to the first information. The acknowledgement message may allow the apparatus receiv- ing the acknowledgement message, e.g. the apparatus that provided the first information, to de- termine that the first information was received successfully.
According to an example embodiment of the present invention, each frame of the first message comprises a sequence number from the first sequence, and the method according to the second aspect further comprises: determining the sequence number comprised in each frame of the plu- rality of frames of the first message based on the sequence number from the first sequence that is comprised in each frame of the one or more frames of the first downlink request message;
adding the determined sequence number to a first queue; receiving an acknowledgement mes- sage in response to providing the first information; and removing the determined sequence number from the first queue in response to receiving the acknowledgement message. In some embodiments, the first information may be based on sequence numbers of a first sequence. For instance, the first information may indicate the sequence number comprised in each frame of the plurality of frames of a first message which was not received successfully. For instance, each frame of the first message comprises a respective or the same sequence number from the first sequence. The apparatus receiving the first downlink request message may determine this se- quence number for instance based on one or more previously and/or subsequently received se- quence numbers, e.g. the sequence number comprised in each frame of the one or more frames of the first downlink request message. The apparatus receivingthe first information, on the other hand, may determine based on the first information whether at least part of the first data needs, to be retransmitted, e.g. by determining based on the first information that the first mes- sage was not received successfully. The apparatus receiving the first information may then add the at least part of the first data for which it was determined that it needs to be retransmitted to a second queue, and it may transmit second data comprising the at least part of the .first data for which it was determined that it needs to be retransmitted in one or more second messages.
The apparatus that is intended to receive the one or more second messages may receive only some of these one or more second messages or even none at all. As also the second messages may be messages of a plurality of second messages, some or all e.g, comprising a respective mes- sage identifier and/or a respective sequence number, the apparatus that is intended to receive the one or more second messages may determine, based on the message identifiers and/or the sequence numbers of some or all second messages of the plurality of second messages, that one or more second messages were not received successfully, e.g. must have been lost. The appa- ratus that was intended to receive the one or more second messages might then provide second information in response to receiving the second downlink request message, wherein the second information is useable by an apparatus that transmitted the second data in the one or more sec- ond messages for determining whether at least part of the second data needs to be retransmit- ted. However, in addition to that, the apparatus might still provide e.g. first information that is useable by the apparatus that transmitted the first data in the first message for determining whether at least part of the first data needs to be retransmitted. So in practice, the apparatus that was intended to receive the first message and that was also intended to receive the one or more second messages may indicate to the apparatus that transmitted the first message and the
one or more second messages that both the first and one or more second messages may need to be retransmitted. That may for instance occur when in example embodiments each message is assigned and/or linked to one unique identifier, e.g. sequence number, instead of an individual chunk of data. Thus, the same data can be comprised in a first message and in one or more sec- ond messages and the apparatus intended to receive all these messages may request retransmis- sion of all those messages, even though they comprise the same data and retransmission of one of those message would be sufficient.
As a countermeasure, the apparatus obtaining the first information may transmit an acknowl- edgement message in response to the first information. This may enable the apparatus receiving the acknowledgement message to determine that the apparatus has obtained the first infor- mation. The apparatus receiving the acknowledgement message may therefore determine that the apparatus obtaining the first information is able to determine whether at least part of the first data needs to be retransmitted. The apparatus receiving the acknowledgement message may then remove the determined sequence number, i.e. the sequence number comprised in each frame of the plurality of frames of the first message, from the first queue in response to receiving the acknowledgement message and may stop requesting retransmissions of the first message.
As an alternative to transmitting a separate acknowledgement message, the acknowledgement information may also be comprised in the second data and thus be transmitted in the one or more second messages. This may be particularly efficient in case the acknowledgement infor- mation can be comprised in one or more of the second messages without requiring that the number of second messages is increased as compared to the case that no acknowledgement in- formation is comprised in the one or more second messages. This may for instance be achieved by reducing the second level of redundancy as compared to the case that no acknowledgement information is comprised in the one or more second messages.
However, it may also occur that the acknowledgement is not received successfully, no matter whether it was transmitted as a separate acknowledgement message or comprised in one or more of the second messages. For such a scenario, in some embodiments, the at least part of the first data that was added to the first queue may only be removed from the first queue in re- sponse to obtaining two pieces of information, i.e. the first information and another information, e.g. a confirmation information. Such a confirmation information may e.g. be represented by or obtained together with or as part of the second information. In the given example, if the
acknowledgement was not received successfully, the apparatus that was supposed to receive the acknowledgement will for instance request retransmission of an element of the first queue again, e.g. by indicating, e.g. in the second information, that an element of the first queue is still missing. This may even happen although the apparatus that obtained the first information trans- mitted the second data in one or more second messages. This is for instance because the appa- ratus that was supposed to receive the acknowledgement did not remove the determined se- quence number, i.e. the sequence number comprised in each frame of the plurality of frames of the first message, from the first queue as there was no acknowledgement that the first infor- mation was received successfully. By only removing the at least part of the first data that was added to the first queue from the first queue in response to obtaining two pieces of information, i.e. the first information and another information, e.g. a confirmation information, the apparatus obtaining the confirmation information may still be able to map the confirmation information, e.g. a bit field, to elements of the first queue. In some embodiments, the first and/or second queue managed by any of the apparatuses ac- cording to the first or second aspect of the invention may have a respective limited length. The length may for instance be defined by the number of elements, e.g. 5 elements, 10 elements, 14 elements, 20 elements, 36 elements or any other number less or greater than the example num- bers given. Additionally or alternatively, the length may be defined by an amount of data, e.g. a length in bits or bytes. The length may be pre-defined and/or fixed and/or varying, for example based on the content of data and/or the amount of data previously received and/or transmitted. The first and/or second queue managed by an apparatus according to the first aspect of the in- vention may have the same length as the first and/or second queue managed by an apparatus according to the second aspect of the invention, respectively. Elements may be added or re- moved from either of the queues in response to events and/or messages, e.g. in response to ob- taining first information or in response to receiving an acknowledgement message in response to the first information. As a further example, elements may be removed from either of the queues after a pre-defined time or at a pre-defined time interval after the respective element's timestamp. However, it may happen that an element should be added to a queue while the queue has reached its respective limited length. In some embodiments, the new element may then not be added to the respective queue. In other embodiments, however, another element may be re- moved from the queue and the new element may be added. For instance, if each element in a queue is associated with a respective timestamp, the element associated with a timestamp de- termined based on a pre-defined rule, e.g. the oldest timestamp, or alternatively the latest
timestamp, or alternatively the timestamp which has the minimum sum of (absolute) differences to all other timestamps, may be removed from the queue. Additionally or alternatively, if each element in a queue is associated with a respective identifier, e.g. a sequence number and/or a message identifier, the element associated with an identifier determined based on a pre-defined rule and/or based on a received message and/or based on a transmitted message and/or based on data transmitted and/or received may be removed from the queue. In some embodiments, elements may also be removed from the queue when they are associated with a timestamp and/or an identifier that is older or known and/or estimated to be older than the timestamp and/or identifier received in a message and/or by an information, e.g. by the first and/or second information. In some embodiments where the first information comprises a bit field that repre- sents information about a plurality of first messages, the number of elements in the first queue may for example be equal to the number of bits in the bit field. Similarly, in some embodiments where the second information comprises a bit field that represents information about a plurality of second and/or third (and/or further) messages, the number of elements in the second queue may for example be equal to the number of bits in the bit field.
According to an example embodiment of the present invention, the downlink request message is transmitted periodically. In particular, the downlink request message may be transmitted in equidistant time intervals, e.g. every 10 minutes, every 1 hour, every 12 hours, every 24 hours, every 3 days or every 7 days. In addition to that, the downlink request message may be transmit- ted in response to an event which is indicative for the availability of a stable link. Such an event may e.g. be the successful reception of a message. Alternatively or additionally, such an event may be the receipt of data from a sensor, e.g. location data from a global positioning system (GPS) sensor or a similar sensor, which is indicative of a location at which a stable link can be expected, e.g. based on coverage maps.
According to an example embodiment of the present invention, the first message, the first down- link request message and the one or more second messages are transmitted over a low power wide area network, in particular Sigfox. Furthermore, also any other message of the method ac- cording to the first aspect of the invention, in particular the one or more third messages and/or the second downlink request message, may be transmitted over a low power wide area network, in particular Sigfox. Moreover, also the first information and/or .the second information may be obtained by receiving the first information and/or the second information over a low power wide area network, in particular Sigfox. All messages may be transmitted or received over the
same low power wide area network. However, one or more messages may also be transmitted or received over different low power wide area networks.
Other features of the invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims. It should be further understood that the drawings are not drawn to scale and that they are merely intended to conceptually illustrate the structures and procedures described herein.
BRIEF DESCRIPTION OF THE FIGURES
It is shown in:
Fig. 1 a schematic block diagram of a system according to an exemplary embodiment of the in- vention; .
Fig. 2 a flowchart showing an example embodiment of the method according to the first aspect of the invention;
Fig. 3 a flowchart showing an example embodiment of the method according to the second as- pect of the invention;
Fig. 4 a schematic block diagram of an apparatus according to an exemplary embodiment of the invention adapted to perform the method according to the first aspect of the invention; Fig. 5 a schematic block diagram of an apparatus according to an exemplary embodiment of the invention adapted to perform the method according to the second aspect of the inven- tion;
Fig. 6 an exemplary sequence of messages transmitted and/or received according to the method of the first and/or second aspect of the invention.
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS OF THE INVENTION
In the following, a more detailed description of example embodiments of the present invention will be provided.
Fig. 1 is a schematic block diagram of a system according to an exemplary embodiment of the in- vention. System 1 comprises an apparatus 100 that for instance performs the method according to the first aspect of the invention. Additionally, system 1 comprises a server 130 that for in- stance performs the method according to the second aspect of the invention. The apparatus 100 and the server 130 try to communicate with each other using the low-power wide area network SigFox. However, it is noted that in other embodiments, also other networks may be used, such as cellular networks like LTE. The network of system 1 comprises several base stations 110, 111. While only two base stations are shown in the exemplary system of Fig. 1, a network of dozens of base stations maybe possible. Each of these base stations 110, 111 provides a wireless commu- nication interface such that the apparatus 100 can transmit and receive data over a wireless link 112 to the base station 110. The base station 110 forwards the data received from apparatus 100 over a communication link 113 to the server 130. The communication link 113 may for in- stance be a wired connection between base station 110 and server 130. For instance, both the base station 110 and the server 130 may be nodes of the Internet such that the communication link 113 is simply part of the Internet. Several or all base stations 110, 111 maybe connected to the server 130 over.a similar communication link 113, 114. When the server 130 tries to send information to the apparatus 100, the base station 110 forwards any messages or data received over the communication link 113 from the server 130 to the apparatus 100 using the wireless link 112. Thus, in system 1 the apparatus 100 and the server 130 are generally able to exchange data if all communication links 112, 113 that connect them are stable and available. However, it may occur that e.g. the wireless link 112 is not stable or not available, i.e. communication over the link is not possible. Then, the apparatus 100 and the server 130 are not able to exchange in- formation, data or messages. This may occur when the signal that is transmitted by the appa- ratus 100 over the wireless communication link 112 is too weak or an interfering device trans- mits a stronger wireless signal on the same frequency. However, it may also occur that the appa- ratus 100 is simply too distant from any base station 110, 111 of the network such that any wireless signal transmitted from the apparatus 100 does not reach the base station 110. This may for instance occur when the apparatus 100 is moved to a new location.
In exemplary embodiments, the apparatus 100 may often be moved to a new location. This may be the case when the apparatus 100 is a mobile device, e.g. a smartphone, or if the apparatus 100 is integrated into or part of a transport entity, e.g. a vehicle or a ship. In system 1, the apparatus 100 is exemplarily embodied a tracking device for tracking entities, such as e.g. a roll cage 102. The apparatus 100 may be connectable or attachable to such an entity, e.g. the roll cage 102. In
other embodiments, the entity to be tracked may instead be a pallet, a container or some other means for grouping and transporting goods or packets. The roll cage 102 may then be trans- ported, e.g. on a load area 104 of a truck 105. Alternatively, it maybe transported e.g. on a ship. Depending on the current location of the truck, it maybe possible for the apparatus 100 to use the communication link 112 to a previously used base station 110 or use a communication link to another base station 111. However, sometimes none of this may be possible, for instance when all base stations 110, 111 of the network are too far away from the apparatus 100 to suc- cessfully exchange messages with the apparatus 100.
Yet, independent of whether the apparatus 100 is too far away to successfully exchange data with the server 130 over the base stations 110, 111 of a first network, it may receive signals from one or more network nodes 120, 121, 122 of other communication networks, The wireless communication nodes 120, 121, 122 may for instance be WLAN APs and the apparatus 100 may be able to receive their communication node identifiers, e.g. BSSIDs. In the following, it will be referred to BSSIDs as an exemplary communication node identifier. However, in other embodi- ments, other communication node identifiers of communication nodes of other networks may be used instead. In system 1, each of the APs 120, 121, 122 may have a certain coverage area, such that, in case the apparatus 100 is within a range of, for example, 30 m around the AP 121, it re- ceives the BSSID of AP 121. The BSSID of an AP may for example be its MAC address or a random number and all BSSIDs in system 1 may have a pre-defined length, e.g. 6 bytes.
To determine the apparatus' 100 position based on BSSIDs that the apparatus 100 received at that position, the respective locations of APs 120, 121, 122 in a certain geographical area may be considered to be stationary. Furthermore, server 130 may have access to maps or data bases based on which the locations of APs 120, 121, 122 can be determined. Given such information, the BSSIDs received by the apparatus 100 may be useable to determine the apparatus’ 100 posi- tion. For instance, server 130 may combine the information of the location of the APs of whichthe apparatus 100 received BSSIDs and the respective known or estimated coverage areas of some or all APs 120, 121, 122 of which the apparatus 100 received BSSIDs to obtain an estimate of the apparatus' 100 position. Thus, in case the apparatus 100 is connected to a roll cage 102 or similar means for transporting goods, the position of the roll cage 102 and the goods or packets it contains can be determined. By doing so in regular time intervals, the position of the appa- ratus 100 - and thereby the roll cage 102 and the corresponding goods or packets - can be tracked over time. Additionally or alternatively, the position of the apparatus 100 can be tracked
by determining its position in response to certain events, e.g. in response to that no movement has been detected during a pre-defmed time interval or a time interval determined according to a pre-defined rule, or if a start of a movement has been detected. To enable the server 130 to determine the apparatus’ 100 position, the apparatus 100 needs to convey the BSSIDs received from APs 120, 121, 122 in its vicinity to the server 130. So for in- stance, the apparatus 100 may perform a scan for APs 120, 121, 122 in regular time intervals and then transmit the received BSSIDs as first data in a first message. Alternatively or addition- ally, the apparatus 100 may transmit first data comprising keep alive data in a first message in regular time intervals, e.g. every 24 hours. Alternatively or additionally, the apparatus 100 may be configured to detect that t
has arrived at a new position. For instance, the apparatus 100 may detect a start of movement if it moves faster than a pre-defmed speed, e.g. 40 km/h, and has moved more than e.g. 2 km since the last stop. In response to detecting this, the appa- ratus 100 may transmit first data in a first message to the server 130 to indicate the start of a movement. To this end, the first data may comprise status data. Additionally, the apparatus 100 may detect stop of movement if the apparatus has not moved e.g. for 10 minutes since the last start has been detected. In response to detecting this, the apparatus 100 may perform a scan for APs receiving respective BSSIDs which the apparatus 100 may then transmit as first data in a first message to the server 130. The first data then comprises payload data, e.g. BSSIDs.
To increase the probability that a message can be successfully received even though there is for instance a large distance between the apparatus 100 and the closest base station 110, the appa- ratus 100 can add redundancy to any data that it wants to transmit. However, even when trans- mitting first data using a first level of redundancy, it may occur that the first data is not received successfully. It may then be advantageous to retransmit important data at a later time when communication with the server 130 is possible again, e.g. due to stabilization of the wireless link 112 and/or movement of the apparatus 100. The apparatus 100 may for instance periodically transmit a downlink request message. The apparatus 100 may then determine that the commu- nication with the server 130 is possible again if it obtains first information from the server 130 in response to the downlink request message. The apparatus 100 may then retransmit the first data, for instance comprised in second data in one or more second messages using a second, e.g. lower, level of redundancy.
Fig. 2 shows a flowchart 2 showing an example embodiment of the method according to the first aspect of the invention.
In step 201, first data is transmited using a first level of redundancy in a first message. In sys- tem 1, the apparatus 100 may perform this step. The first message is a SigFox message and the base station 110, 111 is part of a SigFox network. However, as noted before, in other embodi- ments, the base stations 110, 111 may be part of a different network that is used by the appa- ratus 100 for communicating with the server 130 and the first message may be a message of a corresponding different technology or protocol. However, in the given embodiment, the first message comprises three frames. Each of the three frames of a respective message is transmit- ted on a different frequency, for instance to reduce vulnerability to frequency selective fading. To transmit first data using a first level of redundancy in a first message, in this embodiment, each of the three frames comprises the same data in identical form. For example, the first data comprises (pr consists of) two BSSIDs, each BSSID being 6 bytes long. Each frame carries 12 bytes of payload data. Then, each of the three frames of the first message comprise the entire first data. Thus, all three frames of the first message carry the identical payload. In other embod- iments, the first data may be transmitted using a first level of redundancy in the first message by encoding the first data that comprises (or consists of) two BSSIDs using a forward error correc- tion code with a code rate of 1/3. A code with a code rate k/n, e.g. 1/3, is a code which, when en- coding the first data, generates encoded data that has n/k, e.g. 3, times the length of the input data, i.e. the first data. Then, for instance if the first data was encoded using a code rate of 1/3, all three frames of the first message carry one third of the encoded first data.
In the given embodiment, each frame comprises a header. In other embodiments, each message may comprise a header. The header comprises a sequence number from a first sequence which is increased after every message that is transmited. In the given embodiment, the header addi- tionally comprises a frame id. The frame id uniquely identifies one frame of a plurality of frames of the first message.
In step 202, at least part of the first data is stored. In the given embodiment, the apparatus 100 stores both BSSIDs that it transmitted comprised in the first data using the first level of redun- dancy in the first message, for instance in its main memory. Moreover, the apparatus 100 stores the at least part of the first data associated with a timestamp. For instance, the apparatus 100 stores the at least part of the first data so that when accessing the at least part of the first data, it
is able to uniquely identify and access the associated timestamp, for instance because the timestamp is part of the same data structure, e.g. programming data object, as the at least part of the first data, or is stored in the same position of a corresponding data array. Similarly, the appa- ratus 100 may store the at least part of the first data so that when knowing a certain timestamp, the apparatus 100 is able to uniquely identify and access the associated at least part of the first data. The timestamp indicates the time that the apparatus 100 obtained the first data, e.g. re- ceived one or more of the BSSIDs from the APs 120, 121, 122 comprised in the first data. How- ever, in other embodiments, it may for example indicate the time that the apparatus 100 trans- mitted the first message. If the first data is used at a later point in time for determining a posi- tion of the apparatus 100, having the timestamp allows determining not only that the apparatus 100 was at the position, but also at what time the apparatus 100 was at the position. Further- more, the at least part of the first data is stored associated with one or more message identifiers. For instance, the apparatus 100 stores the at least part of the first data so that when accessing the at least part of the first data, it is able to uniquely identify and access the associated message identifiers, for instance because the message identifiers are part of the same' respective data structures, e.g. programming data objects, as parts of the at least part of the first data, or are stored in the respective same positions of a corresponding data array. Similarly, the apparatus 100 may store at least part of the first data so that when knowing a certain message identifier, the apparatus 100 is able to uniquely identify and access the associated at least part of the first data. A message identifier may be a number in a certain range that uniquely identifies a message and thus allows for example the server 130 to refer to certain data, e.g. the first data or a part thereof. The apparatus 100 may also be able to uniquely map one or more message identifiers to a corresponding sequence number of a first message in which the respective first data was transmitted.
In step 203, a first downlink request message is transmitted. In the given embodiment, the appa- ratus 100 does this periodically every 24 hours. Yet, in other embodiments this may be done ir- regularly or in reaction to certain events.
In step 204, first information is obtained in response to the first downlink request message. In particular, after transmiting the first downlink request message, the apparatus 100 reserves a time slot in which it listens to a channel in order to receive a first information in response to the first downlink request message. Only listening to the channel after transmitting a downlink re- quest message and not continuously saves energy and is thus advantageous if the apparatus 100
is batery-operated. The server 130, in response to receiving the first downlink request message, checks the sequence number of the first downlink request message and any previously received messages. As the sequence number increases by a pre-determined amount after every message that is transmitted by the apparatus 100, the server 130 is able to determine whether it missed any message (s). The server 130 then replies to the downlink request messages by sending first information to the apparatus 100, the first information indicating a first sequence number which was missed, a second sequence number that was missed, and a data structure, such as for in- stance a bitfield, in between, that indicates by e.g. 0 and 1 for each respective position between the first sequence number and the second sequence number whether the respective message was received or not. The apparatus 100 receives the first information sent by the server 130.
In step 205, it is determined whether at least part of the first data needs to be retransmitted based on the first information. In particular, the apparatus 100 determines which messages were not received successfully by the server 130 based on the first information, i.e. by checking the sequence numbers and data structure (e.g. a bitfield) comprised in the first information. For each of the messages that were not received successfully, the apparatus 100 checks the data type of the message. In the given embodiment, only missed messages comprising first data of data type payload data and keep alive data may be determined to be relevant for retransmission, i.e. the apparatus 100 determines that data of type payload data and keep alive data that was com- prised in messages that were not received successfully needs to be retransmitted while data of type status data that was comprised in messages that were not received successfully need not be retransmitted. However, it shall be noted, that in other embodiments, all data that was com- prised in any missed message regardless of its data type may be determined to need retransmis- sion.
If it was determined that at least part of the first data needs to be retransmitted, in step 206, sec- ond data is transmited using a second level of redundancy in one or more second messages, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises the at least part of the first data for which it was determined that it needs to be retransmitted. As the apparatus 100 received first information from the server 130 only shortly before, it is likely that there currently is a better communication link 112 available than at the time of transmitting the first message and that it is possible to successfully convey data even with lower redundancy than what was used for transmitting the first message, e.g. when it is not known whether there is a good connection or not. The apparatus 100 exploits this
by using a second level of redundancy that is lower than the first level of redundancy. In the given embodiment, the apparatus 100 transmits two second messages, each comprising one frame carrying a respective payload of 12 bytes. Thus, the aggregated length of the two second messages is 2 /3 of the length of the first message. It shall be noted, however, that in other em- bodiments, the second message may have different characteristics and may even be transmitted over a different network, for instance using a different technology or protocol. In the given em- bodiment, the second data no t only comprises the at least part of the first data for which it was determined that it needs to be retransmitted, e.g. two BSSIDs that were comprised in the first data, but also the timestamp and the message identifiers that were stored associated with the BSSIDs. In particular, as in the given embodiment the apparatus 100 transmits two second mes- sages, the second data also comprises two message identifiers, one for each second message. As the second level of redundancy is reduced as compared to the first level of redundancy, the ap- paratus 100 is still able to transmit the entire second data which is now larger than the original first data in two second messages which have an aggregated length that is shorter than the length of the first message. Moreover, in the given embodiment, as the second level of redun- dancy is so much lower than the first level of redundancy, the second data that is transmitted in two second messages may even comprises an additional third BSSID, for example a BSSID that was collected during the same scan as the other two BSSIDs.
Yet, it may occur that also one or more second messages are not received successfully by the server 130. In some embodiments, the apparatus 100 may therefore listen to the channel in re- sponse to transmitting the one or more second messages to be able to receive a second infor- mation, i.e. an acknowledgement. If such an acknowledgement was received, the apparatus 100 would be able to free some memory by deleting stored data which was confirmed to be received successfully in the first information. However, to save battery, in the given embodiment, instead of waiting for an acknowledgement directly after transmitting the one or more second messages, the apparatus 100 may simply transmit a downlink request message every 24 hours. Thus, 24 hours after transmitting the first downlink request message, the apparatus 100 may transmit a second downlink request message. Then, after transmitting the second downlink request mes- sage, the apparatus 100 reserves a time slot in which it listens to a channel in order to receive a second information in response to the second downlink request message. This way, the appa- ratus 100 may obtain second information in response to this second downlink request message. The second information may be based on the respective message identifier that was comprised in each of the second messages. Thereby, the server 130 which generates the second information
can simply refer to the respective second message and acknowledge its successful receipt or in- dicate that it was not received successfully. On the other hand, the apparatus 100' may obtain second information in response to the second downlink request message by detecting that no second information was received from the server 130 in response to the second downlink re- quest message. Then, the second information indicates that no acknowledgement was received from the server 130 for data associated with a particular message identifier. Based on the sec- ond information, the apparatus 100 determines whether at least part of the second data needs to be retransmitted. This may for instance always be the case or it may depend on the timestamp comprised in the second data. Then, if it is determined that at least part of the second data needs to be retransmitted, in the given embodiment e.g. both second messages (in other embodiments e.g. only one of the two), the second data is transmitted in one or more third messages using a third level of redundancy. In the given embodiment, there are two third messages, each of which represents a simple retransmission of a respective second message, e.g. each having the same characteristics, e.g. length, as the respective second message. Thus, the third level of redundancy may be equal to the second level of redundancy. However, if only part of the second data, e.g. only one BSSID, is retransmitted in the third data, the apparatus 100 may determine the third level of redundancy based on the length of the one or more third messages and the at least part of the second data for which it was determined that is needs to be retransmitted. So the appa- ratus 100 may make the length of the data transmitted in the one or more third messages ex- actly fit the pre-defined length of the one or more third messages. In an alternative embodiment, the apparatus 100 may determine the third level of redundancy based on the second infor- mation, e.g. the server 130 may request a particular level of redundancy in the second infor- mation and the apparatus 100 may follow that request.
Fig. 3 shows a flowchart 3 showing an example embodiment of the method according to the sec- ond aspect of the invention.
In the following, the method according to the second aspect of the invention is performed by a server 130. However, in other embodiments, the method according to the second aspect maybe performed by a cloud 130 or even a system comprising several servers, clouds, base stations, networks nodes or similar devices. The messages received in the flowchart 3 may correspond to the respective messages transmitted in the flowchart 2. In particular, the message characteris- tics described for the messages of flowchart 2 may apply to the messages of flowchart 3.
In step 301, a first downlink request message is received by the server 130. The first downlink request message may have been transmitted by an apparatus 100 according to step 203. Addi- tionally, the apparatus 100 may have transmitted first data in a first message according to step 201. Yet, this first message was not received successfully or not received at all by the server 130. This may even occur despite the fact that several messages may have been exchanged success- fully between the apparatus 100 and the server 130 before.
In step 302, first information is provided in response to the received first downlink request mes- sage, wherein the first information is useable by an apparatus 100 that transmitted first data us- ing a first level of redundancy in a first message for determining whether at least part of the first data needs to be retransmitted. In particular, the server 130 checks the sequence number of the downlink request message received according to step 301. Based on this sequence number and the sequence numbers of previously received messages, the server 130 determines which mes- sages were not received, i.e. the first information. Then, the server 130 transmits a message comprising the first information to the apparatus 100.
The apparatus 100 may then determine that at least part of the first data needs to be retransmit- ted based on the first information according to step 205 and may transmit second data in one or more second messages according to step 206. In step 303, one or more messages are received, e.g. at the same time or at different times. The receiving of one or more messages in step 303 may correspond to or comprise receiving at least part of second data in one or more second messages that use a second level of redundancy, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises at least part of the first data (step 304: yes). Additionally, the receiving of one or more messages in step 303 may comprise receiving a second downlink request message (step 305: yes). Alternatively, the receiving of one or more messages in step 303 may correspond to or comprise receiving at least part of second data in- one or more second messages and may not comprise receiving a second downlink request message (step 305: no), such that only at least part of second data is received in one or more second messages that use a second level of redundancy, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data com- prises at least part of the first data.
Alternatively, the receiving of one or more messages in step 303 may not correspond to and not comprise- receiving at least part of second data in one or more second messages that use a sec- ond level of redundancy (step 304: no). Still, the receiving of one or more messages in step 303 may comprise receiving a second downlink request message (step 306: yes). If the receiving of one or more messages in step 303 does not comprise receiving a second downlink request mes- sage either (step 306: no), one or more messages may be received at a later point in time in step 303, possibly corresponding to one or more second messages comprising at least part of second data and/or corresponding to a second downlink request message.
By receiving at least part of second data in one or more second messages that use a second level of redundancy, wherein the second level of redundancy is lower than the first level of redun- dancy, and wherein the second data comprises at least part of the. first data so, the server 130 obtains the first data or at least part of the first data that was initially not received successfully. If the complete first data was obtained and if the first data comprises BSSIDs of one or more APs 120, 121, 122 that the apparatus 100 received as described for system 1, the server 130 may de- termine the position of the apparatus 100 that transmitted the first data in the first message based on the second data.
Moreover, in the embodiment of flowchart 2 it was described that the second data comprises a timestamp. Based on this, the server 130 can determine the position of the apparatus 100 at a certain point in time. Additionally, in the embodiment of flowchart 2, it was described that each of the second messages comprises a message identifier. Based on the fact that each second mes- sage comprises such a message identifier, the server 130 is able to identify a particular second message and thereby, which of the second messages were received. Thus, the server 130 may provide second information, i.e. an acknowledgement or a part-acknowledgement indicating which of the second messages were received, in response to the received second downlink re- quest message (step 305, 306), wherein the second information is useable by an apparatus 100 that transmitted the second data in the one or more second messages for determining whether at least part of the second data needs to be retransmitted. The apparatus 100 that transmitted the second data is the same apparatus 100 that transmitted the first data. If the apparatus 100 determines, based on the second information, that at least part of the second data needs to be retransmitted, the server 130 receives at least part of the second data in one or more third mes- sages that use a third level of redundancy. The third level of redundancy may be equal to the sec- ond level of redundancy or it may for instance be determined by the apparatus that transmited
the third message. However, when providing the second information, the server 130 may also indicate a level of redundancy that it deems suited for transmitting a third message.
Fig. 4 shows a schematic block diagram of an apparatus 4 according to an exemplary embodi- ment of the invention adapted to perform the method according to the first aspect of the inven- tion. By way of example, the apparatus 4 can represent the apparatus 100 of the system 1.
The apparatus 4 comprises a processor 400, a program memory 401, and a main memory 402. By way of example, the processor executes a program causing the apparatus 4 to perform and/or control the method according to the first aspect of the invention. The program may be stored in the program memory 401, for example as firmware. Main memory 402 is used particu- larly for storing temporary data during the executing of this program. For instance, apparatus 4 may store the first data and an associated timestamp and one or more associated message iden- tifiers in the main memory 402. Additionally, the apparatus 4 comprises communication inter- face(s) 403. By way of example, the apparatus 4 can use these communication interface(s) to transmit and receive messages, for instance to and from base stations 110, 111, and it may re- ceive communication node identifiers from communication nodes 120, 121, 122.
Optionally, the apparatus 4 comprises a real-time clock 404. This real-time dock 404 may be used by the apparatus 4 to obtain timestamps. The apparatus 4 may also use the real-time clock 404 for instance to generate the second information when a certain time has passed without having received second information from a server 130.
Optionally, the apparatus 4 comprises a movement detector 405. The movement detector 405 may be configured to detect the start or stop of a movement, e.g. by using a gyroscope or a GPS receiver or a combination of suited sensors.
The apparatus 4 may be battery-powered. It may for instance be a batery-powered tracking de- vice for tracking an entity. However, the apparatus may for instance also be a chip, a mobile phone, or a part of a roll cage, a container, a truck or a ship.
Fig. 5 shows a schematic block diagram of an apparatus 5 according to an exemplary embodi- ment of the invention adapted to perform the method according to the second aspect of the in- vention. By way of example, the apparatus 5 can represent the server or cloud 130 of the system 1.
By way of example, the processor executes a program causing the apparatus 5 to perform and/or control the method according to the second aspect of the invention. The program may be stored in the program memory 501, for example as firmware. Main memory 502 is used particu- larly for storing temporary data during the executing of this program. For instance, apparatus 5 may store any received data, e.g. the second data, in the main memory 502. Additionally, the ap- paratus 5 comprises communication interface(s) 503. Byway of example, the apparatus 5 can use these communication interface(s) to transmit and receive messages, for instance over the Internet, e.g. to and from base stations 110, 111.
The apparatus 5 may be a server or a cloud or part of a distributed server network.
Fig. 6 shows an exemplary sequence of messages 6 transmitted and/or received according to the method of the first and/or second aspect of the invention. This embodiment demonstrates how the method according to the first and/or second aspect of the invention works, in context of a regular data exchange between an apparatus 4 and an apparatus 5, e.g. between the apparatus 100 and the server 130 of system 1 in Fig. 1, respectively.
In this embodiment, the messages 601-609, 611 are transmitted by the apparatus 100 and the first information 610 is provided by the server 130. Any one of the messages 601-604 and .606- 608 can be considered to be a first message in the terminology of the invention and may be transmitted using a first level of redundancy. Moreover, each of the messages 601-604 and 606- 608 comprises first data of a respective data type, i.e. message 601 comprises first data of data type payload data, message 602 comprises first data of data type status data, message 603 com- prises first data of type payload data, and so on. The set of data types considered in this embodi- ment comprises payload data, status data and keep alive data. The downlink request messages 605, 609 indicate to the server 130 that the apparatus 100 wishes to receive first information.
The apparatus 100 determines for each message 601-609 whether the respective comprised data should be retransmited in case the respective message is not received successfully by
server 130. To that end, the apparatus 100 internally manages a queue 620 and an ignore list 621. Depending on the data type of the data comprised in a message, the message is either added to the queue 620 in a storing process 630 or added to the ignore list 621 in a storing process 631. The storing processes 630, 631 may comprise writing data to the main memory 402 of the apparatus 100. While the storing process 630 may be similar to the storing process 631 in some embodiments, it may also differ in other embodiments. For instance, the storing process 630 may comprise storing the entire data and sequence number of a respective message while the storing process 631 may comprise storing the sequence number of the respective message and none or only part of the data of the respective message. In the present embodiment, the appa- ratus 100 determines that data of data type payload data and keep alive data should be retrans- mitted in case the initial transmission fails. Thus, the sequence number and data of such a mes- sage is added to the queue 620 and thus stored. For instance, message 601 comprises payload data. Therefore, the data and the sequence number 3384 comprised in the message 601 are added to the queue 620. As another example, message 607 can be considered, which comprises data of data type keep alive data. Thus, the data and the corresponding sequence number 3390 comprised in the message 607 are added to the queue 620. By contrast, messages comprising data of data type status data are not added to the queue 620, but are instead added to the ignore list 621. Similarly, downlink request messages 605, 609 are added to the ignore list 621 as these should not be retransmitted.
In some embodiments, the decision whether a message is added to the queue 620 or the ignore list 621 may further be based on the content of the data comprised in the message. Let us for in- stance consider message 606. The data comprised in message 606 might for instance be ana- lyzed by the apparatus 100 and the apparatus 100 might determine, for instance, that according to a pre-defined rule, the content is not important despite being of data type payload data. In such an embodiment, message 606 might be added to the ignore list 621 instead of being added to the queue 620. Alternatively, based on the content of the data comprised in the message, part of message 606 may be added to the queue 620 for potential retransmission while another part of message 606 may be added to the ignore list 621. Yet, in the given embodiment, the message 606 is added completely to the queue 620.
Messages 601, 603, 604, 608, and 609 are conveyed successfully from the apparatus 100 to the server 130, i.e. a successful transmission 640 from the apparatus 100 to the server 130 took place. Messages 602, 605, 606, 607 are not transmitted and received successfully, i.e. a failed
transmission 641 from the apparatus 100 to the server 130 occurred. Server 130 receives the downlink request message 609 and checks the sequence numbers 3384, 3386, 3387, 3391, and 3392 of the respective messages 601, 603, 604, 608, 609 it received. It then determines that transmission of the messages with sequence numbers 3385, 3388, 3389, and 3390 must have failed based on the fact that it received messages with all other sequence numbers between se- quence number 3384 and sequence number 3392. In response to the received downlink request message 609, the server 130 provides first information 610 to apparatus 100, indicating the missing sequence numbers 3385, 3388, 3389, and 3390. In the present embodiment, this is a successful transmission 642 from the server 130 to the apparatus 100. To indicate the missing sequence numbers, the first information comprises the sequence number of the first missed message 3385, the sequence number of the last missed message 3390, and the bitfield 1100. The; first 1 of the bitfield indicates that the message with sequence number 3386 has been received successfully. Similarly, the second 1 indicates that the message with sequence number 3387 has been received successfully. The two 0’s indicate that the two messages with sequence numbers 3388 and 3389 have not been received successfully. By using such a bitfield to indicate which messages were received and not received successfully, on average less data needs to be trans- mitted as compared to transmitting all sequence numbers of all missed messages.
Apparatus 100 receives the first information and determines for each of the. missing sequence numbers 3385, 3388, 3389, and 3390 indicated by the first information whether the respective data needs to be retransmitted. In particular, apparatus 100 checks sequence number 3385 and finds it in the ignore list 621. Thus, apparatus 100 determines that the data comprised in mes- sage 602 need not be retransmitted. Then, apparatus 100 checks sequence number 3388. Again, apparatus 100 determines that the data comprised in message 605 need not be retransmitted as the sequence number 3388 is found in the ignore list 621. Next, apparatus 100 checks sequence number 3389 and finds that the sequence number and the corresponding data is stored in the queue 620. Thus, apparatus 100 determines that the data that was initially comprised in mes- sage 606 needs to be retransmitted. As a consequence, apparatus 100 transmits message 611 comprising second data using a second level of redundancy, wherein the second data comprises the data of message 3389 for which it was determined that it needs to be retransmitted.
However, in some embodiments, message 611 may only comprise part of the data of message
3389, for instance when the data of message 3389 is transmitted in two second messages. Mes- sage 611 may then be the first second message, comprising a first message identifier and a first
part of the second data, and another second message may be transmitted, comprising a second message identifier and a second part of the second data. The message identifiers that are used for these second messages may have been determined earlier in the course of the storing pro- cess 630. The data of message 3389 may for instance have not only been stored associated with the sequence number 3389, but also with message identifiers 1 and 2. Then, in the given exam- ple, the first second message 611 may be transmitted comprising message identifier 1, and the second second message may be transmitted comprising message identifier 2. Also, both of the second messages may be added to a second queue and removed from the first queue 620, for in- stance based on the first information. In this example, it is assumed that the first second message 611 comprising message identifier 1 is transmitted successfully and the second second message comprising message identifier 2 is not transmitted successfully. Then, the apparatus 100 may receive second information, e.g. comprising a bit field, in response to another downlink request message, indicating that only the message with message identifier 1 was received successfully. Based on this second information and the elements of the second queue, e.g. the messages with message identifiers 1 and 2, the apparatus 100 can determine that the second message with message identifier 1 was received successfully, whereas the second message with message iden- tifier 2 was not received successfully. As the message with message identifier 1 was received successfully, the apparatus 100 removes the message with message identifier 1 from the second queue. However, as the message with message identifier 2 was not received successfully, the ap- paratus 100 keeps the message with message identifier 2 in the second queue and transmits the data of the message with message identifier 2 again, i.e. in a third message. This third message may comprise the message identifier 2 such that the server 130 can determine that this is a re- transmission of a previous message.
As described before, in some embodiments, the decision whether a message or a part thereof is added to the queue 620 or the ignore list 621 may further be based on the content of the data comprised in that message. In such embodiments (as opposed to the embodiment described in the previous paragraph), it might occur that only the first second message 611 was added to the queue 620 when storing the data of message 3389, whereas the second second message was added to the ignore list 621. Then, the first second message 611 may have been transmitted comprising message identifier 1, whereas the second second message may have not been trans- mitted. However, based on the content of the data of the first second message 611, the server 130 may have determined that only one second message has been transmited by the apparatus 100. Thus, the server 130 may have known that no second second message was to be expected.
Any of the methods, processes and actions described or illustrated herein may be implemented using executable instructions in a general-purpose or special-purpose processor and stored on a computer-readable storage medium (e.g., disk, memory, or the like) to be executed by such a processor. References to a 'computer-readable storage medium' should be understood to en- compass specialized circuits such as FPGAs, ASICs, signal processing devices, and other devices.
The expression "A and/or B" is considered to comprise any one of the following three scenarios: (i) A, (ii) B, (iii) A and B. Furthermore, the article "a" is not to be understood as "one", i.e. use of the expression "an element" does not preclude that also further elements are present. The term "comprising" is to be understood in an open sense, i.e. in a way that an object that "comprises an element A" may also comprise further elements in addition to element A.
It will be understood that all presented embodiments are only exemplary, and that any feature presented for a particular example embodiment may be used with any aspect of the invention on its own or in combination with any feature presented for the same or another particular exam- ple embodiment and/or in combination with any other feature not mentioned. In particular, the example embodiments presented in this specification shall also be understood to be disclosed in all possible combinations with each other, as far as it is technically reasonable and the example embodiments are not alternatives with respect to each other. It will further be understood that any feature presented for an example embodiment in a particular category (method/appa- ratus/computer program) may also be used in a corresponding manner in an example embodi- ment of any other category. It should also be understood that presence of a feature in the pre- sented example embodiments shall not necessarily mean that this feature forms an essential fea- ture of the invention and cannot be omitted or substituted.
The sequence of all method steps presented above is not mandatory, also alternative sequences may be possible. Nevertheless, the specific sequence of method steps exemplarily shown in the figures shall be considered as one possible sequence of method steps for the respective embodi- ment described by the respective figure.
The invention has been described above by means of example embodiments. It should be noted that there are alternative ways and variations which are obvious to a skilled person in the art and can be implemented without deviating from the scope of the appended claims.
Claims
C L A I M S
1. A method comprising transmitting first data using a first level, of redundancy in a first message, storing at least part of the first data, transmitting a first downlink request message, obtaining first information in response to the first downlink request message, determining whether at least part of the first data needs to be retransmitted based on the first information, and transmitting second data using a second level of redundancy in one or more second mes- sages when it is determined that at least part of the first data needs to be retransmitted, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises the at least part of the first data for which it was deter- mined that it needs to be retransmitted.
2. The method according to Claim 1, wherein the second data is transmitted in two second messages.
3. The method according to any of Claims 1-2, wherein at least two second messages of the one or more second messages comprise different data.
4. The method according to any of Claims 1-3, wherein the aggregated length of the one or more second messages is shorter than the length of the first message.
5. The method according to any of Claims 1-4, wherein the at least part of the first data that is stored is stored associated with a timestamp, and wherein the second data comprises the timestamp.
6. The method according to any of Claims 1-5, wherein the at least part of the first data that is stored is stored associated with one or more message identifiers, and wherein each of the one or more second messages in which the second data is transmitt"
The method according to any of Claims 1-6, the method further comprising: transmitting a second downlink request message, obtaining second information in response to the second downlink request message, determining whether at least part of the second data needs to be retransmitted based on the second information, transmitting the at least part of the second data using a third level of redundancy in one or more third messages when it is determined that at least part of the second data needs to be retransmitted. The method according to Claim 7, the method further comprising: adding the at least part of the first data that is stored to a first queue; removing the at least part of the first data that was added to the first queue from the first queue in response to obtaining at least the first information; adding the second data to a second queue when it is determined that at least part of the first data needs to be retransmitted; keeping the at least part of the second data for which it was determined that it needs to be retransmitted in the second queue; and removing at least part of the second data for which it was not determined that it needs to be retransmitted from the second queue. The method according to any of Claims 7-8, wherein at least one third message of the one or more third messages and at least one second message of the one or more second mes- sages have the same length. The method according to any of Claims 7-9, wherein the third level of redundancy is equal to the second level of redundancy. The method according to any of Claims 7-10, the method further comprising: determining the number of the one or more third messages based on the second infor- mation. The method according any of Claims 7-11 as far as depending on Claim 6, wherein the sec- ond information is based on the one or more message identifiers.
13. The method according to any of Claims 1-12, the method further comprising: determining if a position of an apparatus that performs the method is moving and/or has started moving, wherein the transmitting of the first data in the first message using the first level of redundancy is performed if no movement has been detected during a pre-de- fined time interval or a time interval determined according to a pre-defined rule, or if a start of a movement has been detected.
14. The method according to any of Claims 1-13, wherein the first data transmitted in the first message has a data type from a set of at least two data types.
15. The method according to Claim 14, wherein the data type of the first data is payload data if the transmitting of the first data in the first message using the first level of redundancy is performed in response to that no movement has been detected in a pre-defined time inter- val or a time interval determined according to a pre-defined rule, and wherein the data type of the first data is status data if the transmitting of the first data in the first message using the first level of redundancy is performed in response to that a start of a movement has been detected.
16. The method according to any of Claims 13-15, wherein the determining whether at least part of the first data needs to be retransmitted is further based on the data type of the first data.
17. The method according to Claim 16, wherein in the determining whether at leastpart of the first data needs to be retransmitted it is determined that at least part of the first data needs to be retransmitted if the first information is indicative of that the at least part of the first data was not received successfully and the data type of the first data is payload data.
18. The method according to any of Claims 14-17, wherein data of data type payload data comprises information useable for determining the position of an apparatus that performs the method.
19. The method according to any of Claims 13-18, the determining whether at least part of the first data needs to be retransmitted is further based on the content of the first data.
20. The method according to any of Claims 1-19, wherein the first message comprises a plural- ity of frames, and/or wherein the first downlink request message comprises only one or more frames, and/or wherein each of the one or more second messages comprises only one respective frame.
21. The method according to Claim 20 as far as depending on Claim 7, wherein each of the one or more third messages comprises one respective frame.
22. The method according to any of Claims 20-21, wherein some or all of the frames of the plu- rality of frames of the first message are transmitted on different frequencies, and/or wherein some or all of the one or more frames of the first downlink request message are transmitted on different frequencies.
23. The method according to any of Claims 20-22, wherein each frame of the plurality of frames of the first message comprises the same data, and/or wherein each frame of the one Or more frames of the first downlink request message comprises the same data.
24. The method according to any of Claims 20-23, wherein each frame of the plurality of frames of the first message and each frame of the respective one or mote second messages have the same length.
25. The method according to any of Claims 20-24, wherein each frame of the first message, and/or of the one or more respective second messages, and/or of the first downlink re- quest message comprises a respective sequence number from a first sequence.
26. The method according to Claim 25, wherein the sequence number from the first sequence increases with every message that is transmitted.
27. The method according to any of Claims 25-26, wherein the first information is based on the sequence numbers from the first sequence.
28. The method according to any of Claims 1-27, wherein the first information comprises a bit field.
29. The method according to any of Claims 7-28 as far as depending on Claim 7, wherein the second information comprises a bit field. 30. The method according to any of Claims 1-29, the method further comprising: transmitting an acknowledgement message in response to the first information,
31. The method according to any of Claims 1-30, wherein the downlink request message is transmitted periodically.
32. The method according to any of Claims 1-31, wherein the first message, the first downlink request message and the one or more second messages are transmited over a low power wide area network, in particular Sigfox. 33. A method comprising receiving a first downlink request message, providing first information in response to the received first downlink request message, wherein the first information is useable by an apparatus that transmitted first data using a first level of redundancy in a first message for determining whether at least part of the first data needs to be retransmitted, and at least one of: receiving at least part of second data that uses a second level of redundancy in one or more second messages, wherein the second level of redundancy is lower than the first level of redundancy, and wherein the second data comprises at least part of the first data, or - receiving a second downlink request message.
34. The method according to Claim 33, the method further comprising: providing second information in response to receiving the second downlink request mes- sage, wherein the second information is useable by an apparatus that transmitted the sec- ond data in the one or more second messages for determining whether at least part of the second data needs to be retransmitted, wherein the apparatus that transmitted the second data is the same apparatus that transmitted the first data.
35. The method according to any of Claims 33-34, the method further comprising:
receiving at least part of the second data that uses a third level of redundancy in one or more third messages, wherein the third level of redundancy is determined by the appa- ratus that transmitted the one or more third messages.
36. The method according to any of Claims 33-35, wherein the method further comprises: determining the position of the apparatus that transmitted the first data in the first mes- sage based on the second data.
37. The method according to any of Claims 33-36, wherein each frame of the one or more frames of the first downlink request message comprises a sequence number from a first sequence, and wherein the method further comprises: determining the first information based on the sequence number from the first sequence that is comprised in each frame of the one or more frames of the first downlink request message.
38. The method according to any of Claims 33-37, wherein each frame of the first message comprises a sequence number from the first sequence, the method further comprising determining the sequence number comprised in each frame of the plurality of frames of the first message based on the sequence number from the first sequence that is comprised in each frame of the one or more frames of the first downlink request message; adding the determined sequence number to a first queue; receiving an acknowledgement message in response to providing the first information; and removing the determined sequence number from the first queue in response to receiving the acknowledgement message.
39. The method according to any of Claims 33-38, wherein each message of the one or more second messages comprises a respective message identifier, and wherein the method fur- ther comprises: determining the second information based on one or more message identifiers of the one or more second messages. 0. The method according to any of Claims 33-39, the method further comprising: determining, based on the content of the received at least part of the second data, whether
the number of second messages that were transmitted by an apparatus from which the at least part of the second data was received corresponds to the number of the one or more second messages by which the at least part of the second data that uses a second level of redundancywas received. An apparatus comprising respective means for performing the method according to any of Claims 1-40. The apparatus according to Claim 41, wherein the apparatus is battery-operated. The apparatus according to any of Claims 41-42, wherein the apparatus is a tracking de- vice for tracking an entity. The apparatus according to Claim 41, wherein the apparatus is a server. A computer program, the computer program when executed by a processor causing an ap- paratus to perform and/or control the actions of the method of any of Claims 1-40. A computer program product comprising a computer program according to Claim 45. A system comprising at least an apparatus comprising respective means for performing the method according to any of Claims 1-32 and an apparatus comprising respective means for performing the method according to any of Claims 33-40.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/084449 WO2022117189A1 (en) | 2020-12-03 | 2020-12-03 | Method, apparatus and system for retransmission of data |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4256733A1 true EP4256733A1 (en) | 2023-10-11 |
Family
ID=73726816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP20820108.7A Pending EP4256733A1 (en) | 2020-12-03 | 2020-12-03 | Method, apparatus and system for retransmission of data |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP4256733A1 (en) |
WO (1) | WO2022117189A1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080105682A (en) * | 2007-05-31 | 2008-12-04 | 엘지전자 주식회사 | Method to configure transition event report frame for wireless network and method to report transition event |
US11251893B2 (en) * | 2016-03-21 | 2022-02-15 | Qualcomm Incorporated | Supporting high speeds in vehicle-to-vehicle communication |
US10667173B2 (en) * | 2017-02-13 | 2020-05-26 | Qualcomm Incorporated | Feedback retransmission repetition coding for wireless communications |
US11303392B2 (en) * | 2017-03-16 | 2022-04-12 | Qualcomm Incorporated | Multi-HARQ methods and apparatus for codeblock group based transmissions |
-
2020
- 2020-12-03 WO PCT/EP2020/084449 patent/WO2022117189A1/en active Search and Examination
- 2020-12-03 EP EP20820108.7A patent/EP4256733A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022117189A1 (en) | 2022-06-09 |
WO2022117189A9 (en) | 2022-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1965534B1 (en) | Apparatus and method for transmitting a control message in a wireless communication system using relaying | |
EP2056512B1 (en) | Apparatus and method for determining time to response of retransmission in a multihop relay wireless comunication system | |
US9955238B2 (en) | Methods and systems for wireless transmission of data between network nodes | |
KR101799715B1 (en) | High-reliability transmission scheme with low resource utilization | |
JP3857053B2 (en) | Cell discard notification | |
US20200220638A1 (en) | Multi-access communication system | |
CN101808362B (en) | Method and device for adjusting sleep mode of mobile station | |
US20150172031A1 (en) | Method and apparatus for retransmitting packet for low-power wireless sensor communications | |
CN107113114B (en) | Method and node in a wireless communication system | |
JP5182220B2 (en) | Base station, radio communication system, base station control method | |
US9231739B2 (en) | Wireless station, communication system, and communication method | |
US8755403B2 (en) | Block acknowledgement for wireless communication methods, apparatuses and systems | |
CA2678667A1 (en) | Apparatus and method for retransmitting request in wireless relay communication system | |
JP4967742B2 (en) | Communication terminal device | |
EP4256733A1 (en) | Method, apparatus and system for retransmission of data | |
US10849160B2 (en) | Reinstating poll retransmission timer | |
JP2022529348A (en) | How to send a message over a broadcast channel, including resending over a point-to-point link | |
WO2018207002A1 (en) | Method and apparatus for probabilistic dtx detection in a communication network | |
EP3340671A1 (en) | Data transmission method and related device | |
KR101335803B1 (en) | Method and apparatus for transmitting message adaptively in vihicle ad-hoc network | |
CN105553627B (en) | It is a kind of that quickly persistently m data validations etc. stop wireless sensor network data transmission method | |
WO2021056567A1 (en) | Methods and apparatuses for sending and receiving harq-ack codebook | |
CN109842464B (en) | Method, system and device for retransmitting data packet | |
Bodanese et al. | Rbesp: Reliable and best effort stack protocol for uav collaboration with wsn | |
CN102611539B (en) | Method for shortening length of status report, system and receiving terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
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: 20230324 |
|
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 |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) |