Two phase time difference of arrival location
10914814 ยท 2021-02-09
Assignee
Inventors
Cpc classification
G01S5/12
PHYSICS
H04W64/00
ELECTRICITY
G01S5/14
PHYSICS
H04W64/006
ELECTRICITY
International classification
G01S5/14
PHYSICS
G01S5/12
PHYSICS
Abstract
A method for a device for determining the location of a mobile transmitting device using a two phase time difference of arrival method and to a system using such a device are presented. There is a first radio node for calculating a location of a third radio node, for receiving, from the third radio node, a first ranging signal and for calculating, based on the first ranging signal, a first ranging parameter. The first radio node receives, from a second radio node, a second ranging signal, transmits to the second radio node a third ranging signal, calculates a phase offset between the first and second radio nodes based on the second and third ranging signals, and calculates a distance between the first and third radio nodes based on the phase offset between the first and second radio nodes based on the first ranging parameter.
Claims
1. A first radio node for calculating a location of a third radio node, wherein the first radio node is configured to: Receive, from the third radio node, a first ranging signal; Calculate, based on the first ranging signal, a first ranging parameter; Receive, from a second radio node, a second ranging signal; Transmit, to the second radio node, a third ranging signal; Receive, from the second radio node, information indicating a second ranging parameter, wherein the second ranging parameter is based on the first ranging signal; Calculate a phase offset between the first radio node and the second radio node based on the second ranging signal and the third ranging signal; and Calculate a distance between the first radio node and the third radio node based on the phase offset between the first radio node and the second radio node and based on the first ranging parameter and the information indicating the second ranging parameter.
2. The first radio node according to claim 1, wherein the first radio node is further configured to calculate the location of the third radio node based on the distance between the first radio node and the second radio node.
3. The first radio node according to claim 1, wherein the first radio node is further configured to: Calculate, based on the received second ranging signal at the first radio node, a third ranging parameter; and wherein the calculation of the phase offset between the first radio node and the second radio node is further based on the third ranging parameter.
4. The first radio according to claim 1, wherein the first radio node is further configured to: Receive, from the second radio node, information indicating a fourth ranging parameter, wherein the information indicating the fourth ranging parameter is based on the third ranging signal; and wherein the calculation of the phase offset between the first radio node and the second radio node is further based on the information indicating the fourth ranging parameter.
5. The first radio node according to claim 1, wherein the first radio node is further configured to transmit the first ranging parameter to the second radio node.
6. The first radio node according to claim 1, wherein the first radio node is further configured to: receive the information indicating the third ranging parameter from the second radio node; and wherein the calculation of the phase offset between the first radio node and the second radio node is further based on the information indicating the third ranging parameter.
7. A system comprising a first radio node and a second radio node for calculating a location of a third radio node, wherein the first radio node is configured to receive a first ranging signal from the third radio node, to calculate, based on the first ranging signal, a first ranging parameter, and to transmit a second ranging signal to the second radio node; wherein the second radio node is configured to receive the first ranging signal from the third radio node, to calculate, based on the second ranging signal, a second ranging parameter, and to transmit information indicating the second ranging parameter and a third ranging signal to the second radio node; wherein the first radio node is further configured to calculate a phase offset between the first radio node and the second radio node based on the second ranging signal and the third ranging signal and to calculate a distance between the first radio node and the third radio node based on the phase offset, the information indicating the second ranging parameter and the first ranging signal.
8. A method for calculating a location of a third radio node by a first radio node, the method comprising: Receiving, by the first radio node, a first ranging signal from the third radio node; Receiving, by the first radio node, a second ranging signal from a second radio node; Transmitting, by the first radio node, a third ranging signal to the second radio node; Receiving, by the first radio node, information indicating a second ranging parameter from the second radio node, wherein the second ranging parameter is based on the first ranging signal; Calculating a phase offset between the first radio node and the second radio node based on the second ranging signal and the third ranging signal; and Calculating a distance between the first radio node and the third radio node based on the phase offset, the information indicating the second ranging parameter and the first ranging signal.
9. The method according to claim 8, further comprising calculating the location of the third radio node based on the distance between the first radio node and the second radio node.
10. The method according to claim 8, further comprising: Calculating, based on the received second ranging signal at the first radio node, a third ranging parameter; wherein the calculation of the phase offset between the first radio node and the second radio node is further based on the third ranging parameter.
11. The method according to claim 8, further comprising: Receiving, from the second radio node, information indicating a fourth ranging parameter, wherein the information indicating the fourth ranging parameter is based on the third ranging signal; wherein the calculation of the phase offset between the first radio node and the second radio node is further based on the information indicating the fourth ranging parameter.
12. The method according to claim 8, further comprising transmitting the first ranging parameter to the second radio node.
13. The method according to claim 8, further comprising: receiving the information indicating the third ranging parameter from the second radio node; and wherein the calculation of the phase offset between the first radio node and the second radio node is further based on the information indicating the third ranging parameter.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) These and other aspects of the present invention will be discussed in more detail below, with reference to the attached drawings.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DESCRIPTION
(9) Embodiments of the present disclosure will be described herein below with reference to the accompanying drawings. However, the embodiments of the present disclosure are not limited to the specific embodiments and should be construed as including all modifications, changes, equivalent devices and methods, and/or alternative embodiments of the present disclosure.
(10) The terms have, may have, include, and may include as used herein indicate the presence of corresponding features (for example, elements such as numerical values, functions, operations, or parts), and do not preclude the presence of additional features.
(11) The terms A or B, at least one of A or/and B, or one or more of A or/and B as used herein include all possible combinations of items enumerated with them. For example, A or B, at least one of A and B, or at least one of A or B means (1) including at least one A, (2) including at least one B, or (3) including both at least one A and at least one B.
(12) The terms such as first and second as used herein may modify various elements regardless of an order and/or importance of the corresponding elements, and do not limit the corresponding elements. These terms may be used for the purpose of distinguishing one element from another element. For example, a first element may be referred to as a second element without departing from the scope the present invention, and similarly, a second element may be referred to as a first element.
(13) The terms used in describing the various embodiments of the present disclosure are for the purpose of describing particular embodiments and are not intended to limit the present disclosure. As used herein, the singular forms are intended to include the plural forms as well, unless the context clearly indicates otherwise. All of the terms used herein including technical or scientific terms have the same meanings as those generally understood by an ordinary skilled person in the related art unless they are defined otherwise. The terms defined in a generally used dictionary should be interpreted as having the same or similar meanings as the contextual meanings of the relevant technology and should not be interpreted as having ideal or exaggerated meanings unless they are clearly defined herein. According to circumstances, even the terms defined in this disclosure should not be interpreted as excluding the embodiments of the present disclosure.
(14) For the purpose of determining the extent of protection conferred by the claims of this document, due account shall be taken of any element which is equivalent to an element specified in the claims.
(15) The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of exemplary embodiments of the invention as defined by the claims and their equivalents. It includes various specific details to assist in that understanding but these are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the spirit and scope of the invention. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.
(16) The techniques disclosed herein can find utility as a method and device for determining location of a radio node by other radio nodes based on ranging signals without applying any clock synchronization among the other radio nodes. For example, in the so called relay attack in automotive key-fobs, where next to the exchange of security keys also the distance between key-fob and car is required. Current ranging solutions make use of modulated or unmodulated carriers and require some kind of synchronization among the other radio nodes. In order to avoid said synchronization, the techniques disclosed herein may be used. For instance, in a situation wherein a first radio node and a second radio node are used to determine the location of a third radio node, and there is an offset between a first clock at the first radio node and a second clock at the second radio node. In a first phase, the first radio node and the second radio node may receive ranging signals from the third radio node in order to determine a distance between the first radio node and the third radio node and/or between the second radio node and the third radio node wherein said distance may be a function of the offset between the first clock and the second clock. In a second phase, the first radio node and the second radio node may interchange further ranging signals in order to determine the offset between the first clock and the second clock such that the location of the third radio node can be calculated.
(17) Various ranging measurement methods to calculate the Time-of-Flight (ToF) for radio network with multiple radio nodes can be performed using modulated carriers, either coherent or non-coherent, or using non-modulated carriers.
(18) In the case of non-modulated carrier transmission, ranging measurements between two of the other radio nodes can be based on phase measurements of unmodulated carriers.
(19) In the case of modulated carrier transmission, ranging measurement between two of the other radio nodes may be calculated based on time of arrival of the modulated carriers.
(20)
(21) The location ranging measurements between the first radio node 100, the second radio node 200 and the third radio node 300 may be performed based on modulated and non-modulated radio carrier frequencies. Several kinds of modulations, for example, phase modulation, time width modulation, amplitude modulation etc., can be used by the radio node devices.
(22)
(23) In the alignment phase 165, the second radio node 200 transmits a ranging signal 160 to the first radio node 100, which is referred to hereinafter as the second ranging signal, to the second radio node 200. Also in the alignment phase 165, the first radio node 100 transmits a ranging signal 170 to the second radio node 200, which is referred to hereinafter as the third ranging signal. Then the first radio node 100 calculates a third ranging parameter based on the second ranging signal 160, and the second radio node 200 calculates a fourth ranging parameter based on the third ranging signal 170. Although
(24) In the data interchange phase 175, the first radio node 100 and the second radio node 200 may interchange the first, the second, the third and/or the fourth ranging parameter. For instance, the first radio node 100 may transmit the first ranging parameter and/or the third ranging parameter to the second radio node 200 via a first data interchange signal 174 and/or the second radio node 200 may transmit the second and/or the fourth ranging parameter to the first radio node 100 via a second data interchange signal 172. Optionally, only the first radio node 100 may receive the second and the fourth ranging parameters from the second radio node 200 or only the second radio node 200 may receive the first and the third ranging parameters from the first radio node 100. In another embodiment, the interchange of the first ranging parameter and/or the second ranging parameter may be performed during the broadcast phase 155 via extra data interchange signals or at any other suitable moment.
(25) The offset between the first clock signal generated by the first clock generator of the first radio node 100 and the second clock signal generated by the second clock generator of the second radio node 200 can be determined based on the third ranging parameter and the fourth ranging parameter thereby allowing to determine the location of the third radio node 300 based on said offset and the first ranging parameter and the second ranging parameter.
(26)
(27) In one example, the radio node may function as the first radio node 100 used for performing location ranging measurement, where during a broadcast phase the transceiver 102 may be configured to receive a first ranging signal 150, from a third radio node 300, using antenna 101. Under the control of the controller 104, the computing block 106 may be configured to determine a first ranging parameter based on the first ranging signal 150. During an alignment phase, the transceiver 102 may be further configured to receive a second ranging signal 160 from the third radio node 300 and to send a third ranging signal 170 to the third radio node 300. Under the control of the controller 104, the computing block 106 may be configured to determine a third ranging parameter based on the second ranging signal 170. The transceiver 102 may be configured to receive a first data interchange signal 172 comprising information indicating the second ranging parameter and the fourth ranging parameter, from the third radio node 300, using antenna 101. Under the control of the controller 103, the computing block 106 may then determine a phase offset between the first radio node 100 and the second radio node 200 based on the third ranging parameter and the fourth ranging parameter. Furthermore, also under the control of the controller 103, the computing block 106 may then determine a range of the second radio node 200 based on the phase offset, the first ranging parameter and the second ranging parameter.
(28) For example, in a system as the one shown in
t.sub.1=r/c+t.sub.0equation (1) wherein t.sub.0 represents the time at which the first ranging signal 150 was sent by the third radio node 300 and c represents the speed of light in a medium.
(29) The same modulated carrier packet sent by the radio node 300 at time t.sub.0 is received by the second radio node 200 at a time t.sub.2 after travelling over a distance dr, wherein d represents the distance between the first node 100 and the second node 200 and dr represents the distance between the second radio node 200 and the third radio node 300, the measured time of arrival of the packet relative to the clock system of the second radio node 200 (i.e., the second ranging parameter) as calculated at the second radio node 200, can be given as below:
(30)
wherein .sub.12 represents an unknown phase offset between the clock system of the first radio node 100 and the clock system of the second radio node 200. As also mentioned above, each of the first radio node and the second radio node have their own individual clock sources which are not running at exactly the same phase.
(31) Both the first and the second radio nodes need to exchange their respective time of arrival measurement results t.sub.1 and t.sub.2 (i.e., the first and the second ranging parameters) with each other. As explained with regard to
(32) Based on said time of arrival of the packet measurements t.sub.1 and t.sub.2, a distance r from the first radio node 100 to the third radio node 300 can be calculated at the first radio node 100 as a function of the unknown phase offset .sub.12 as shown below:
(33)
(34) In the same way, a distance (dr) from the second radio node 200 to the third radio node 300 can also be obtained.
(35) Thus the first radio node 100 and/or the second radio node 200 can calculate the range between each of them and the third radio node 300 as a function of the unknown phase offset. Then, the unknown phase offset .sub.12 between the local clock systems of the first radio node 100 and the second radio node 200 needs to be determined in order to obtain the location of the third radio node 300.
(36) In the alignment phase and as explained with regard to
t.sub.4=d/c.sub.12+t.sub.3equation (4)
(37) wherein t.sub.3 represents the time at which the second ranging signal 160 was sent by the second radio node 200.
(38) During alignment phase and in order to determine the phase offset .sub.12, the first radio node 100 will also transmit a modulated carrier packet (i.e., the third ranging signal 170) to the second radio node 200 at a time t.sub.5, Said modulated carrier packet (third ranging signal 170) will be received by the second radio node at a time t.sub.6 after having traveled the distance d between the first radio node 100 and the second radio node 200. The measured time (t.sub.6) of arrival of the packet relative to the clock system of the second radio node 200 (i.e., the fourth ranging parameter) can be calculated at the second radio node 200 as given below:
t.sub.6=d/c+.sub.12+t.sub.5equation (5)
(39) wherein t.sub.5 represents the time at which the third ranging signal 170 was sent by the first radio node 100.
(40) As explained in relation to
(41) Based on the time of arrival of the packet measurements t.sub.6 and t.sub.5 (i.e., based on the third and fourth ranging parameters), the first radio node 100 and/or the second radio node 200 can determine the unknown phase offset .sub.12 as shown below:
(42)
(43) As phase offset .sub.12 between the local clock system of the first radio node 100 and the local clock system of the second radio node 200 is known, the first radio node 100 can determine the range between the first radio node 100 and the third radio node 300 based on equation (3) and the second radio node 200 can determine the range between the second radio node 200 and the third radio node 300 based on equation (4).
(44) In this way, and as it has been stated before, the location of a radio node has been determined in several phases wherein first all radio nodes except the radio node to be located receive transmissions of the radio node to be located, and then all the radio nodes (except the radio node to be located) are interacting to determine their individual phases thereby allowing to determine the location of a radio node in situations in multiple stations are involved to localize a device and the system lacks legacy synchronization methods or is unpractical to have common clock distribution among the radio nodes.
(45) In real situations the phase offset .sub.12 is not a constant over time. Small clock frequency variations between the radio nodes require the time lapse between the broadcast phase and the alignment phase to be constraint. For example, for a given clock frequency offset of 10 parts per million (ppm) and a time lapse between phase 1 and phase 2 of 100 microseconds (us), the accuracy will decrease by 1 nanosecond (ns), i.e., approximately by 30 centimeter (cm).
(46) The above method could also be used if unmodulated carriers are used as ranging signals instead of using modulated carrier packets. In that case, phases of the received unmodulated carriers may be calculated and used as the ranging parameters, instead of calculating time of arrivals of packets. Using phase of the arrived signals instead of using arrival time of the signals is equivalent and well known (see for instance https://en.wikipedia.org/wiki/Multilateration). Thus, it will not be explained here.
(47) Although, the location of the third radio node has been determined based on the calculation of distances from a first radio node and a second radio node (i.e., for the one dimension case), any other number of radio nodes and distances from those radio nodes to the third radio node could be used. Also any other number of radio nodes could be located.
(48)
(49)
(50) In order to determine the position of the radio node 400-x, during a first broadcasting phase, the radio node 400-x transmits a first ranging signal at a time t.sub.0x which will be received by the radio node 400-a at a time R.sub.a1, by the radio node 400-b at a time R.sub.b1 and by the radio node 400-c at a time R.sub.c1 given by the below equations (1):
R.sub.a1=t.sub.0x+D.sub.ax/ct.sub.0a
R.sub.b1=t.sub.0x+D.sub.bx/ct.sub.0b
R.sub.c1=t.sub.0x+D.sub.cx/ct.sub.0c
(51) During the alignment phase, the radio node 400-b transmits a ranging signal to the radio node 400-a which is received at the radio node 400-a at a time R.sub.a2, the radio node 400-a transmits a ranging signal to the radio node 400-b which is received at the radio node 400-b at a time R.sub.b2, and the radio node 400-a transmits a ranging signal to the radio node 400-c which is received at the radio node 400-c at a time R.sub.c2 wherein the arriving times R.sub.a2, R.sub.b2 and R.sub.c2 are given by the below system of equations (2):
R.sub.a2=t.sub.0a+D.sub.ab/ct.sub.0b
R.sub.b2=t.sub.0b+D.sub.ab/ct.sub.0a
R.sub.c2=t.sub.0c+D.sub.ac/ct.sub.0a
(52) Instead of the radio node 400-a transmitting to the radio node 400-c, another options would be possible such that a system with 3 equations and 3 unknown parameters t.sub.0a, t.sub.0b and t.sub.0c is formed and it is possible to calculate the time references of each radio node 400-a, 400-a, and 400-c. For instance, the radio node 400-b could transmit a ranging signal to the radio node 400-c.
(53) The radio nodes 400-a, 400-b, and 400-c may then proceed to interchange the different arrival times that they have calculated such that each radio node can solve the system of equations (2) and obtain the time references t.sub.0a, t.sub.0b and t.sub.0c. another possibility would be that only one of the radio nodes 400-a, 400-b and 400-c obtains the different times of arrivals and solves the system of equations (2) and then said radio node transmits the calculated time references t.sub.0a, t.sub.0b and to t.sub.0c the other two radio nodes.
(54) Finally, as all the radio nodes 400-a, 400-b and 400-c have the time references t.sub.0a, t.sub.0b and t.sub.0c, they can solve the respective distances D.sub.ax, D.sub.bx and D.sub.cx to the radio node 400-x.
(55) By applying multilateration to the set of differential distances D.sub.ax, D.sub.bx and D.sub.cx, the position of the radio node 400-x can be determined by solving the below system of equations (3):
D.sub.ax=[(xx.sub.1).sup.2+(yy.sub.1).sup.2]
D.sub.bx=[(xx.sub.2).sup.2+(yy.sub.2).sup.2]
D.sub.cx=[(xx.sub.3).sup.2+(yy.sub.3).sup.2]
(56) Wherein the position of the radio node 400-a is known and given by the Cartesian coordinates (x.sub.1, y.sub.1), the position of the radio node 400-b is known and given by the Cartesian coordinates (x.sub.2, y.sub.2), the position of the radio node 400-c is also known and given by the Cartesian coordinates (x.sub.3, y.sub.3) and the position of the radio node 400-x is given by the Cartesian coordinates (x, y), is not known and can be determined by solving the system of equations (3).
(57)
(58) In step 301, step 301 and step 301, the broadcast phase 155 starts wherein the third radio node transmits the first ranging signal 150 and the first radio node 100 and the second radio node 200 receive the first ranging signal 150.
(59) In step 302 and step 302 of the broadcast phase 155, the first radio node 100 computes and stores the first ranging parameter based on the received first ranging signal 150, and the second radio node 200 computes and stores the second ranging parameter based on the received first ranging signal 150. For example, the first ranging parameter and the second ranging parameter can be one of phase, if the first ranging signal comprises a non-modulated carrier, or time of arrival, if the first ranging signal comprises a modulated carrier.
(60) In step 303 and step 303, the alignment phase 165 starts and the second radio node 200 transmits the second ranging signal 160 to the first radio node 100. In step 305, the first radio node 100 computes and stores the third ranging parameter based on the received second ranging signal 160. For example, the third ranging parameter can be one of phase, if the second ranging signal comprises a non-modulated carrier, or one of a time of arrival, if the second ranging signal comprises a modulated carrier.
(61) In step 306 and step 306, the first radio node 100 transmits the third ranging signal 170 to the second radio node 200. In step 307, the second radio node 200 computes and stores the fourth ranging parameter based on the received third ranging signal 170. For example, the fourth ranging parameter can be one of phase, if the third ranging signal comprises a non-modulated carrier, or one of a time of arrival, if the third ranging signal comprises a modulated carrier.
(62) In step 308, the first and the second ranging nodes interchange the first, the second, the third and the fourth ranging parameters.
(63) In step 309 and step 309, the first radio node 100 and the second radio node 200 calculate the phase offset between the clock system of the first radio node and the clock system of the second radio node. In step 310 and step 310, the first radio node 100 and the second radio node 200 calculate respectively the distance from the first radio node and from the second radio node to the third radio node based on the first ranging parameter, the second ranging parameter and the offset thereby determining the location of the third radio node 300.
(64)
(65) In step 301, step 301 and step 301, the broadcast phase 155 starts wherein the third radio node transmits the first ranging signal 150 and the first radio node 100 and the second radio node 200 receive the first ranging signal 150.
(66) In step 302 and step 302 of the first phase 155, the first radio node 100 computes and stores the first ranging parameter based on the received first ranging signal 150, and the second radio node 200 computes and stores the second ranging parameter based on the received first ranging signal 150. For example, the first ranging parameter and the second ranging parameter can be one of phase, if the first ranging signal comprises a non-modulated carrier, or time of arrival, if the first ranging signal comprises a modulated carrier. In step 302, the first and the second ranging nodes interchange the first and the second ranging parameters.
(67) In step 303 and step 303, the second phase 165 starts and the second radio node 200 transmits the second ranging signal 160 to the first radio node 100. In step 305, the first radio node 100 computes and stores the third ranging parameter based on the received second ranging signal 160. For example, the third ranging parameter can be one of phase, if the second ranging signal comprises a non-modulated carrier, or one of a time of arrival, if the second ranging signal comprises a modulated carrier.
(68) In step 306 and step 306, the first radio node 100 transmits the third ranging signal 170 to the second radio node 200. In step 307, the second radio node 200 computes and stores the fourth ranging parameter based on the received third ranging signal 170. For example, the fourth ranging parameter can be one of phase, if the third ranging signal comprises a non-modulated carrier, or one of a time of arrival, if the third ranging signal comprises a modulated carrier.
(69) In step 308, the first and the second ranging nodes interchange the third and the fourth ranging parameters.
(70) In step 309 and step 309, the first radio node 100 and the second radio node 200 calculate the phase offset between the clock system of the first radio node and the clock system of the second radio node. In step 310 and step 310, the first radio node 100 and the second radio node 200 calculate respectively the distance from the first radio node and from the second radio node to the third radio node based on the first ranging parameter, the second ranging parameter and the offset thereby determining the location of the third radio node 300.
(71)
(72) The method starts in step 501. In step 502, the first radio node 100 receives the first ranging signal 150 from the third radio node 300.
(73) In step 503, the first radio node 100 computes and stores the first ranging parameter based on the received first ranging signal 150. For example, the first ranging parameter can be one of phase, if the first ranging signal comprises a non-modulated carrier, or one of a time of arrival, if the first ranging signal comprises a modulated carrier. In step 505, the first radio node 100 receives the second ranging signal 160 from the second radio node 200. In step 506, the first radio node 100 transmits the third ranging signal 170 to the second radio node 200. In step 507, the first radio node 100 computes and stores the third ranging parameter based on the received second ranging signal 160. For example, the third ranging parameter can be one of phase, if the second ranging signal comprises a non-modulated carrier, or one of a time of arrival, if the second ranging signal comprises a modulated carrier.
(74) In step 508, the first radio node transmits the first and the third ranging parameters to the second radio node 200 and receives a second and fourth ranging parameters from the second radio node 200.
(75) In step 509, the first radio node 100 calculates the phase offset between the clock system of the first radio node and the clock system of the second radio node. In step 510, the first radio node 100 calculates the distance from the first radio node to the third radio node based on the first ranging parameter, the second ranging parameter and the offset in order to determine the location of the third radio node 300.
(76) It will be appreciated that the invention also applies to computer programs, particularly computer programs on or in a carrier, adapted to put the invention into practice. The program may be in the form of a source code, an object code, a code intermediate source and object code such as in a partially compiled form, or in any other form suitable for use in the implementation of the method according to the invention. It will also be appreciated that such a program may have many different architectural designs. For example, a program code implementing the functionality of the method or system according to the invention may be sub-divided into one or more sub-routines. Many different ways of distributing the functionality among these sub-routines will be apparent to the skilled person. The sub-routines may be stored together in one executable file to form a self-contained program. Such an executable file may comprise computer-executable instructions, for example, processor instructions and/or interpreter instructions (e.g. Java interpreter instructions). Alternatively, one or more or all of the sub-routines may be stored in at least one external library file and linked with a main program either statically or dynamically, e.g. at run-time. The main program contains at least one call to at least one of the sub-routines. The sub-routines may also comprise calls to each other. An embodiment relating to a computer program product comprises computer-executable instructions corresponding to each processing step of at least one of the methods set forth herein. These instructions may be sub-divided into sub-routines and/or stored in one or more files that may be linked statically or dynamically. Another embodiment relating to a computer program product comprises computer-executable instructions corresponding to each means of at least one of the systems and/or products set forth herein. These instructions may be sub-divided into sub-routines and/or stored in one or more files that may be linked statically or dynamically.
(77) The carrier of a computer program may be any entity or device capable of carrying the program. For example, the carrier may include a storage medium, such as a ROM, for example, a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example, a flash drive or a hard disk. Furthermore, the carrier may be a transmissible carrier such as an electric or optical signal, which may be conveyed via electric or optical cable or by radio or other means. When the program is embodied in such a signal, the carrier may be constituted by such a cable or other device or means. Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted to perform, or to be used in the performance of, the relevant method.
(78) It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. Use of the verb comprise and its conjugations does not exclude the presence of elements or steps other than those stated in a claim. The article a or an preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.