Location data spoofing
Patent Information
- Application Number
- CN201980044972.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-07-03
- Filing Date
- 2019-06-27
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2039-06-27
AI Technical Summary
Existing data anonymization methods fail to protect privacy when decryption occurs, as they expose private information, and trajectory analysis cannot be performed effectively without simple data replacement.
A method and device for generating and randomizing relative position sequences from absolute position sequences using random number sequences, with the ability to recover the original sequences for analysis as needed, while storing seeds separately for information retrieval.
Enhances privacy by ensuring that even if intercepted, individual absolute position IDs cannot be restored, maintaining security and enabling effective information analysis.
Smart Images

Figure CN112368698B_ABST
Abstract
Description
Background Art
[0001] The present disclosure relates to pattern analysis, and more particularly, to trajectory location data disguise.
[0002] Masking refers to a data management and / or de-identification process whereby individually identifiable information within a data record is replaced with one or more artificial identifiers or pseudonyms. Summary of the invention
[0003] Aspects of the present disclosure are directed to a method for position data camouflage. The method may include generating a relative position sequence from an absolute position sequence of a moving object. The method may further include randomizing the relative position sequence using at least one random number sequence generated from at least one seed. In response to receiving an analysis job including at least one seed, the method may further include recovering the relative position sequence from the randomized sequence of relative positions. Finally, in response to receiving an analysis job derived from the absolute position sequence including both the at least one seed and the at least one absolute position, the method may include recovering the absolute position sequence from the randomized sequence of relative positions.
[0004] Aspects of the present disclosure are directed to a device for position data camouflage. The device includes a processor or a programmable circuit, and one or more computer-readable media that collectively include instructions. When executed by the processor or the programmable circuit, the instructions can be configured to generate a relative position sequence based on an absolute position sequence of a moving object. The instructions can be further configured to randomize the relative position sequence using at least one random number sequence generated from at least one seed. In response to receiving an analysis job including at least one seed, the instructions can be further configured to recover the relative position sequence from the randomized sequence of relative positions. Finally, in response to receiving an analysis job including at least one seed and at least one absolute position from the absolute position sequence, the instructions can be additionally configured to recover the absolute position sequence from the randomized relative position sequence.
[0005] Aspects of the present disclosure are further directed to a computer program product for position data camouflage. The computer program product includes one or more computer-readable storage media that collectively store program instructions that can be executed by a processor or a programmable circuit system to enable the processor or the programmable circuit system to generate a relative position sequence from an absolute position sequence of a moving object. The program instructions can also cause the processor to randomize the relative position sequence using at least one random number sequence generated from at least one seed. In response to receiving an analysis job including at least one seed, the program instructions can also cause the processor to recover the relative position sequence from the randomized sequence of relative positions. Finally, in response to receiving an analysis job including at least one seed and at least one absolute position from the absolute position sequence, the program instructions can cause the processor to recover the absolute position sequence from the randomized relative position sequence. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Preferred embodiments of the present invention will now be described, by way of example only, with reference to the following drawings:
[0007] Figure 1 is a schematic diagram of data flow in an example system for camouflage according to an embodiment of the present disclosure.
[0008] Figure 2 is a schematic diagram of an example device for a camouflage engine according to an embodiment of the present disclosure.
[0009] Figure 3 is a flow chart illustrating an example method for camouflage according to some embodiments of the present disclosure.
[0010] Figure 4 is a schematic diagram of exemplary absolute positions according to some embodiments of the present disclosure.
[0011] Figure 5 is a schematic diagram of exemplary relative positions according to some embodiments of the present disclosure.
[0012] Figure 6 is a flow chart of an example method for camouflaged recovery according to some embodiments of the present disclosure.
[0013] Figure 7 is a schematic diagram of example groups of relative positions according to some embodiments of the present disclosure.
[0014] Figure 8 is a schematic diagram of an exemplary interface message with absolute position according to some embodiments of the present disclosure.
[0015] Fig. 9 is a schematic diagram of an exemplary interface message without an absolute position according to some embodiments of the present disclosure.
[0016] Fig.10 is a schematic diagram of an exemplary hardware configuration according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0017] Embodiments of the present disclosure relate generally to pattern analysis, and more particularly to cloaking. Although the present disclosure is not necessarily limited to such applications, various aspects of the present disclosure may be appreciated through a discussion of various examples in the context of using cloaking.
[0018] In order to strengthen global regulations related to security and privacy (e.g., General Data Protection Regulation (GDPR) etc.), private information (e.g., data) has been stored through anonymization and encryption. However, along with encryption, all private information is exposed when decryption occurs, and analysis specifically targeting the trajectory cannot be performed through simple data replacement. Disguising is a form of data analysis used to protect private information from decryption.
[0019] Embodiments of the present disclosure relate to storing private information with different identification information and further recovering the stored information with a stored comparison table. The value at the beginning of data collection is stored in a separate storage area. At the completion of data collection, the seed of the pseudo-random number is stored in a separate storage area. To complete the disguise, the private information is replaced and randomized until it is deemed necessary to perform information retrieval. During information retrieval, information for canceling the disguise is initiated, and only private information specific to information analysis is recovered and disclosed.
[0020] Embodiments of the present disclosure also relate to trajectories generated by global positioning systems, and more specifically, to unregulated latitude and longitude data transmitted from vehicles (e.g., cars) and pedestrians (e.g., people). Embodiments of the present disclosure propose to regulate the latitude and longitude data transmitted from vehicles and pedestrians, hereinafter referred to as personal data, to enforce global security and privacy regulations (e.g., GDPR). The relative camouflage (e.g., vehicle trajectory shape) and encryption of absolute position data (e.g., generated trajectory) of a vehicle generated from a global positioning system (GPS) can be used for information analysis after the camouflage or encrypted data is recovered.
[0021] Embodiments of the present disclosure propose storing location data (measured in longitude and latitude) at the start of a vehicle trajectory (e.g., a directional path) in an alternative storage area, while further storing location data throughout the duration of the vehicle trajectory. At the end of the vehicle trajectory, a randomly generated disguised seed number replaces the personal identification information.
[0022] Now referring to the accompanying drawings, Figure 11 is a diagram showing the data flow in an example system 100 for camouflage according to an embodiment of the present disclosure. The system 100 can gradually camouflage location data, such as the absolute location of a moving object (e.g., a vehicle, a pedestrian, etc.). In an embodiment, the system 100 includes a data hub 110, a camouflage engine 120, a seed data storage device 130, a data lake 140, and an analysis engine 150.
[0023] Data hub 110 may serve as a hub for system 100. Data hub 110 may receive one or more absolute position data sequences of a moving object from, for example, client computer 160. Client computer 160 may include, but is not limited to, a personal computer accessing position data information and programs stored on a server as part of a network environment.
[0024] The data hub 110 may provide the absolute position data sequence to the camouflage engine 120. The data hub 110 may also receive a sequence of randomized sequences of relative position data from the camouflage engine 120, and also store the randomized sequence of relative position data in the data lake 140. The data hub 110 may be implemented by a computer.
[0025] The camouflage engine 120 may camouflage the absolute position of the moving object. In one embodiment, the camouflage engine 120 may generate a randomized sequence of relative position data of the moving object and at least one seed from the absolute position of the moving object. The camouflage engine 120 may provide the randomized sequence of relative positions of the moving object to the data hub 110. The camouflage engine 120 may then store the at least one seed and the at least one absolute position in the seed data storage device 130. In some embodiments, the at least one seed and the at least one absolute position may be included in the analysis work.
[0026] The camouflage engine 120 may receive a request to restore a relative position sequence or an absolute position sequence from the analysis engine 150, and restore the relative position sequence or the absolute position sequence. In one embodiment, the camouflage engine 120 may receive a randomized sequence of relative positions and at least one seed from the analysis engine, and restore the relative position sequence of the moving object.
[0027] In one embodiment, the camouflage engine 120 may receive the randomized sequence of relative positions, at least one seed and at least one absolute position from the analysis engine, and restore the absolute position sequence of the moving object. The camouflage engine 120 may provide the restored sequence to the analysis engine 150.
[0028] The seed data storage device 130 may store at least one seed provided by the camouflage engine 120. The seed data storage device 130 may store at least one absolute position of a moving object. The seed data storage device 130 may be implemented by one or more database servers. The seed data storage device 130 may store other data used for data analysis.
[0029] The data lake 140 may store various data for data analysis. The data lake 140 may store at least a random sequence of relative positions provided by the data hub 110. The data lake 140 may be implemented by one or more database servers. In one embodiment, the data lake 140 may be an open database open to the public.
[0030] Analysis engine 150 may receive at least one seed from, for example, client computer 170 (which may be different from or the same as client computer 160) and receive a relative position sequence of moving objects from data lake 140. Analysis engine 150 may provide at least one seed and the relative position sequence of moving objects to disguise engine 120.
[0031] The analysis engine 150 may further receive at least one absolute position of the moving object from the client computer 170 and provide the at least one absolute position to the camouflage engine 120 .
[0032] The analysis engine 150 may receive a restored sequence of relative positions of a moving object or a restored sequence of absolute positions of a moving object from the camouflage engine 120. In one embodiment, the analysis engine 150 may receive a plurality of restored sequences of relative or absolute positions of a plurality of moving objects from the camouflage engine 120. The analysis engine 150 may process analysis operations for the restored sequences of the plurality of relative or absolute positions. The analysis engine 150 may be implemented by a computer.
[0033] Notice, Figure 1 The exemplary components of the example system 100 for camouflage configuration are intended to be depicted. However, in some embodiments, the various components may have more Figure 1 Greater or less complexity than the complexity shown may exist except Figure 1 Components other than those shown or Figure 1 components other than those described herein, and the number, type, and configuration of these components may vary.
[0034] Figure 2 FIG. 2 is a schematic diagram of an example device 200 for a camouflage engine in an embodiment of the present disclosure. In some embodiments, aspects of the device 200 may be used as Figure 1 The camouflage engine 120 in.
[0035] The device 200 may include a processor and / or a programmable circuit. The device 200 may further include one or more computer-readable media that collectively include instructions. The instructions may be embodied on a computer-readable medium and / or a programmable circuit. The instructions, when executed by the processor or programmable circuit, may cause the processor or programmable circuit to operate as a plurality of operating parts.
[0036] Thus, in Figure 2 In the example, the device 200 includes: a storage part 205, an acquisition part 210, a generation part 220, a randomization part 230, a replacement part 240 and a recovery part 250.
[0037] The storage part 205 may store information for processing the processing performed by the device 200. The storage part 205 may also store various data / instructions for the operation of the device 200.
[0038] One or more other elements in the device 200 (eg, the obtaining portion 210 , the generating portion 220 , the randomizing portion 230 , the replacing portion 240 , the restoring portion 250 , etc.) may transfer data directly or via the storing portion 205 as necessary.
[0039] The storage part 205 may be implemented by a volatile or non-volatile memory of the device 200. In some embodiments, the storage part 205 may store an absolute position sequence, a relative position sequence, a randomized sequence of relative positions, and other data related thereto.
[0040] The acquisition part 210 can acquire various data required for the operation of the device 200. The acquisition part 210 can acquire the absolute position sequence of the mobile object. In one embodiment, the acquisition part 210 can obtain a plurality of vehicle detection data including the absolute position sequence of a mobile object (e.g., a car). In an embodiment, the position can correspond to the position of the car. Each car detection data may also include trip information identified by a trip ID of the trip of the mobile object. The trip information may include the vehicle ID of the mobile object (e.g., a car) and the driver ID of the driver of the mobile object. In one embodiment, the acquisition part can acquire a portion of the car detection data (e.g., the trip ID) used to manage the position of the mobile object.
[0041] The acquisition part 210 can acquire a sequence of absolute positions of moving objects when performing camouflage. When restoring absolute or relative positions, the acquisition part 210 can acquire at least one seed, a series of relative positions of moving objects, and an absolute position of at least one moving object. The acquisition part 210 can acquire other data required for operations in the device 200.
[0042] The generating part 220 may generate a relative position sequence from an absolute position sequence of the moving object.
[0043] The randomization portion 230 may randomize the relative position sequence using at least a portion of the random number sequence generated from the at least one seed, thereby generating a randomized sequence of relative positions.
[0044] The replacement section 240 may replace the ID (eg, the trip ID) acquired by the acquisition section 210 with another ID. Thus, the replacement section 240 may generate a disguised ID (eg, a disguised trip ID).
[0045] The restoration part 250 can restore the relative position sequence or the absolute position sequence of the moving object. In one embodiment, in response to receiving the at least one seed from the analysis engine, for example Figure 1 The analysis engine 150, the recovery part 250 can recover the relative position sequence from the randomized sequence of relative positions.
[0046] In one embodiment, in response to receiving the at least one seed and the at least one absolute position from the analysis engine, the recovery portion 250 can recover the sequence of absolute positions from the randomized sequence of relative positions. The at least one absolute position can be derived from the sequence of absolute positions.
[0047] Notice, Figure 2 The exemplary components of the example device 200 for camouflage engine are intended to be depicted. However, in some embodiments, the various components may have more Figure 2 Greater or less complexity than the complexity shown may exist except Figure 2 Components other than those shown or Figure 2 Additional components are shown above, and the number, type, and configuration of these components may vary.
[0048] Figure 3 3 is a flow chart of an exemplary method 300 for camouflage in an embodiment of the present disclosure. The operations of the method 300 may be performed by a system, such as the system 100, to generate and store a randomized relative position sequence of a moving object. The method 300 begins at operation 310.
[0049] In operation 310, a data hub, such as a data hub Figure 1 110, can receive an absolute position sequence of a moving object from a client computer, such as client computer 160. In an embodiment, the moving object can include a car, and the data center can receive a plurality of car detection data from the car.
[0050] In some embodiments, the plurality of car detection data may include a sequence of absolute positions of the car. The car detection data may be identified by a trip ID, and may further include a driver ID of the driver of the car and a vehicle ID of the car. The data center may obtain at least a portion of the IDs (e.g., the trip ID) in the plurality of car detection data.
[0051] The data hub can provide Figure 1 A device such as the device 200 operated by the camouflage engine 120 provides the received absolute position sequence of the moving object. In one embodiment, the data hub can provide the device with the car detection data of multiple cars with IDs (e.g., trip IDs). An acquisition part such as the acquisition part 210 of the device 200 can receive the car detection data including the absolute position sequence.
[0052] In operation 320, a part, such as Figure 2 The replacement part 240 can replace at least one ID (e.g., a trip ID) in the plurality of the automobile detection data with another ID to generate a disguised ID (e.g., a disguised travel ID) through a known disguise algorithm.
[0053] In operation 330, the acquisition portion may store at least one absolute position derived from the absolute position sequence in a file such as Figure 1 In one embodiment, the at least one absolute position derived from the absolute position sequence is an initial absolute position (eg, T1, Lt1, Ln1) of the moving object.
[0054] In one embodiment, the acquisition portion may store the at least one absolute location together with at least one of the fake IDs (eg, fake travel ID), thereby associating the at least one absolute location with the fake ID, eg, the fake travel ID.
[0055] In operation 340, such as Figure 2 A generating part such as the generating part 220 of the generating part can generate a relative position sequence of the moving object. In one embodiment, the generating part can generate a sequence of differences of absolute positions as the relative position sequence, wherein each difference is between two absolute positions at adjacent moments.
[0056] In an embodiment, the relative position sequence may include a relative latitude sequence and a relative longitude sequence of the moving object. In an embodiment, the generating part may also generate a sequence of time difference values from the time sequence as a part of the relative position sequence.
[0057] In operation 350, the randomized portion, such as Figure 2The randomization part 230 may randomize the relative position sequence using at least one random number sequence generated from at least one seed. In one embodiment, the randomization part may generate a random number sequence generated by rand n (seed) represents a random number, where rand n is a function that generates random numbers from a seed, and n is an integer. In an embodiment, the sequence of random numbers may include rand1(seed), rand2(seed), rand3(seed), ..., rand n (seed).
[0058] In one embodiment, the randomization part can prepare a sequence of relative latitudes of a first seed Lt (eg, ΔLt1, ..., ΔLt5) and a second seed Ln In one embodiment, the first seed Lt and the second seed L n , the randomization part can also prepare a third seed T is the time difference in the sequence (eg, ΔT1, ..., ΔT5).
[0059] In this embodiment, the randomization part can use the first seed Lt A sequence of generated random numbers (e.g., rand1(seed LT )...rand5(seed LT )) randomizes the relative latitude sequence (e.g., ΔLt1, ..., ΔLt5) and can use the second seed Ln A generated random number sequence (e.g., rand1(seed Ln )...rand5(seed Ln ))A sequence of randomized relative longitudes (e.g., ΔLn1, ..., ΔLn5).
[0060] In one embodiment, the randomization portion may use a random number sequence generated from a third seed T (e.g., rand1(seed T ), ..., rand5(seed T )) further randomizes the time difference sequence (eg, ΔT1, ..., ΔT5). In one embodiment, the randomization portion may include a pseudo random numbers generator that generates a series of pseudo random numbers from at least one seed.
[0061] The randomization part can generate the randomization sequence by using at least one of addition, subtraction, multiplication and division between the relative position sequence and the random number sequence. In a specific embodiment, the randomization part can calculate ΔLtn +rand n (seed Lt ) to generate a randomized relative latitude ΔLt n ′, and calculate ΔLn n +rand n (seed Ln ) to generate a randomized relative longitude ΔLn n In one embodiment, the randomization part can further calculate ΔT n +rand n (seed T ) to generate a randomized time difference ΔT n ′.
[0062] In operation 360, the randomization portion may store the randomized sequence and at least one seed. Figure 4-5 In the embodiment of the present invention, the randomization part may store ΔLt1′ ... ΔLt5′, ΔLN1′ ... ΔLN5′, ΔT1′ ... ΔT5′ as a randomized sequence and a seed as a seed. Lt ,seed Ln ,seed T .
[0063] The randomization portion may store at least one seed in a Figure 1 In one embodiment, the randomization portion may store at least one seed together with at least one disguised ID (e.g., disguised trip ID), thereby associating at least one seed with the disguised ID (e.g., disguised trip ID).
[0064] The randomization part can be done by Figure 1 Data hubs such as data hub 110 are used in Figure 1 The randomized sequence may be stored in a data lake such as the data lake 140 of FIG. 1. In one embodiment, the randomization portion may provide the randomized sequence. The data hub may store the randomized sequence in the data lake.
[0065] In an embodiment, the device 200 may perform the method 300 on a plurality of absolute position sequences and store the plurality of random sequences in the data lake via the data hub. Thus, according to one embodiment, the device may store a plurality of randomized sequences of relative positions of the cars.
[0066] Notice, Figure 3 The exemplary operations of the example method 300 for camouflage are intended to be depicted. However, in some embodiments, a single operation may have more Figure 3 Greater or less complexity than shown may exist except Figure 3 Other operations besides or in addition to those shown, and the number, type, and configuration of these operations may vary.
[0067] Figure 4 FIG. 4 is a schematic diagram showing an exemplary absolute position 400 in an embodiment of the present disclosure. Figure 4 In the embodiment of FIG. 4 , a moving object such as a car may pass through a sequence of 6 absolute positions: position 402 , position 404 , position 406 , position 408 , position 410 , and position 412 .
[0068] The sequence of absolute positions 402-412 may include the latitude and longitude of the mobile object. The sequence of absolute positions 402-412 may also include a series of times each time the mobile object was at a corresponding absolute position.
[0069] For example, the order of absolute positions 402, 404, 406, 408, 410, and 412 can indicate that the moving object passes through latitude Lt1 and longitude Ln1 at time T1, then passes through latitude Lt2 and longitude Ln2 at time T2, then passes through latitude Lt3 and longitude Ln3 at time T3, then passes through latitude Lt4 and longitude Ln4 at time T4, then passes through latitude Lt5 and longitude Ln5 at time T5, and then passes through latitude Lt6 and longitude Ln6 at time T6.
[0070] In this embodiment, the sequence of absolute positions 402-412 may include (T1, Lt1, Ln1), (T2, Lt2, Ln2), (T3, Lt3, Ln3), (T4, Lt4, Ln4), (T5, Lt5, Ln5), and (T6, Lt6, Ln6). In this embodiment, the first absolute position (T1, Lt1, Ln1) may be referred to as an initial absolute position.
[0071] Figure 5 An example of relative position 500 in an embodiment of the present disclosure is depicted. In an embodiment, Figure 4 The absolute location 402-412 can be found in Figure 5 502 - 512 , respectively. Figure 5In the implementation manner, the generating unit can generate 5 relative position sequences (ΔT1, ΔLt1, ΔLn1), (ΔT2, ΔLt2, ΔLn2), (ΔT3, ΔLt3, ΔLn3), (ΔT4, ΔLt4, ΔLn4), (ΔT5, ΔLt5, ΔLn5) by calculating (T2-T1, Lt2-Lt1, Ln2-Ln1), (T3-T2, Lt3-Lt2, Ln3-Ln2), (T4-T3, Lt4-Lt3, Ln4-Ln3), (T5-T4, Lt5-Lt4, Ln5-Ln4) and (T6-T5, Lt6-Lt5, Ln6-Ln5).
[0072] Figure 6 is a flow chart showing an example method 600 for camouflage recovery in an embodiment of the present disclosure. The example method 600 may be implemented by a system such as Figure 1 The system 100 performs the analysis operation of the method 600. In an embodiment, the method 600 operates to recover the moving object. Figure 4 The absolute position of 400 or Figure 5 The relative position 500 of . The method 600 starts in operation 610 .
[0073] In operation 610, such as Figure 1 An analysis engine such as the analysis engine 150 of Figure 1 The analysis job is received by a client computer such as client computer 170. The analysis job may include (i) at least one seed, or (ii) at least one seed and at least one absolute position of a moving object.
[0074] In one embodiment, the analysis may include (i) seed Lt ,seed Ln ,seed T or (ii) seeds Lt ,seed Ln ,seed T and Lt1, Ln1, T1. The analysis operation may further include at least one of the disguised IDs corresponding to the at least one seed, such as a disguised trip ID.
[0075] In one embodiment, the client computer can be accessed from a computer such as Figure 1 The client computer may also obtain at least one of the disguised IDs corresponding to the at least one seed, such as the disguised trip ID, from the seed data storage device 130 of the embodiment of the present invention. The client computer may then send the analysis job to the analysis engine.
[0076] In operation 620, the analysis engine may obtain a random sequence of relative positions of the moving object. In one embodiment, the analysis engine may search for a randomized sequence corresponding to a disguised ID (e.g., a disguised trip ID) included in the analysis job. In one embodiment, the analysis engine may obtain ΔLt1′...ΔLt5′, ΔLn1′...ΔLn5′, ΔT1′...ΔT5′ as a random sequence.
[0077] The analysis engine may provide the camouflage engine with the retrieved randomized sequence and (i) at least one seed of a moving object included in the analysis work, or (ii) at least one seed and at least one absolute position. A recovery portion, such as the recovery portion 250 of the device 200 used as a camouflage engine, may receive the retrieved randomized sequence and (i) at least one seed, or (ii) at least one seed and at least one absolute position of a moving object.
[0078] In decision 630, the recovery portion may determine whether the recovery portion has received the initial position from the analysis engine. In one embodiment, in operation 620, the recovery portion may determine whether the recovery portion has received (ii) at least one seed and at least one absolute position of the moving object. If the determination is positive, the recovery portion may proceed to operation 650. If the determination is negative, the recovery portion may proceed to operation 640.
[0079] In operation 640, the recovery part may recover the relative position sequence of the moving object from the random sequence of relative positions and at least one seed. The recovery part may first generate a series of random numbers from at least one seed. In one embodiment, the recovery part may generate rand1(seed), rand2(seed), rand3(seed)... from the seed. In a specific embodiment, the recovery part may generate a random number from the seed. Lt ,seed Ln and seeds T Generate rand1 (seed Lt )...rand5(seed Lt ), rand1(seed Ln )...rand5(seed Ln ) and rand1(seed T )...rand5
[0080] (Seed T).
[0081] Then, the recovery part can calculate the relative position sequence by using the randomized sequence of relative positions and the random number sequence. Figure 1 At operation 350 , the reverse operation of randomization of the randomization part is performed to calculate the relative position sequence.
[0082] In one embodiment, the recovery portion may calculate ΔLt n ′-rand n (seed Lt ) to recover the relative latitude ΔLt n , and calculate ΔLn n ′-rand n (seed Ln ) to recover the relative longitude ΔLn n In one embodiment, the randomization part can further calculate ΔT n ′-rand n (seed T ) to restore the time difference ΔT n .
[0083] The recovery part can provide the analysis engine with a recovered sequence of the relative position of the moving object. The recovered relative position sequence may include a recovered time difference sequence. In one embodiment, the recovery part may provide ΔLt1...ΔLt5, ΔLn1...ΔLn5 and ΔT1...ΔT5. In one embodiment, the recovery part may provide only some recovered relative position sequences (for example, only (ΔT1, ΔLt1, ΔLn1), (ΔT3, ΔLt3, ΔLn3) and (ΔT5, ΔLt5, ΔLn5) among (ΔT1, ΔLt1, ΔLn1)...(ΔT5, ΔLt5, ΔLn5)) to the analysis engine to maintain a high camouflage level.
[0084] In operation 650, the restoration part may restore the absolute position sequence of the moving object from the relative position randomized sequence, the at least one seed, and the at least one absolute position.
[0085] The restoration part may first restore the relative position sequence of the moving object in the same manner as explained with respect to operation 640. The restoration part may then restore the absolute position sequence from the relative position sequence and the at least one absolute position.
[0086] In one embodiment, the recovery portion may calculate Lt n +ΔLt n Generate Lt n+1 In a specific embodiment, the recovery portion may calculate Lt1+ΔLt1 from Lt1 and ΔLT1 ... ΔLT5 to generate Lt2, calculate Lt2+ΔLt2 to generate Lt3, calculate Lt3+ΔLt3 to generate Lt4, calculate Lt4+ΔLt4 to generate Lt5, and calculate Lt5+ΔLt5 to generate Lt6.
[0087] In one embodiment, the recovery portion may calculate Ln1+ΔLn1 from Ln1 and ΔLn1 ... ΔLn5 to generate Ln2, calculate Ln2+ΔLn2 to generate Ln3, calculate Ln3+ΔLn3 to generate Ln4, calculate Ln4+ΔLn4 to generate Ln5, and calculate Ln5+ΔLn5 to generate Ln6. The recovery portion may further calculate T1+ΔT1 to generate T2, calculate T2+ΔT2 to generate T3, calculate T3+ΔT3 to generate T4, calculate T4+ΔT4 to generate T5, and calculate T5+ΔT5 to generate T6 from T1 and ΔT1 ... ΔT5.
[0088] The recovery part may provide the analysis engine with a recovered sequence of absolute positions of the moving object. The recovered sequence of absolute positions may include a recovered time sequence. In one embodiment, the recovery part may provide (T1, Lt1, Ln1) ... (T5, Lt5, Ln5). In one embodiment, the recovery part may provide only some absolute position sequences (e.g., only (T1, Lt1, Ln1), (T3, Lt3, Ln3) and (T5, Lt5, Ln5) of (T1, Lt1, Ln1) ... (T5, Lt5, Ln5)) to the analysis engine to maintain a high camouflage level.
[0089] In operation 660, the analysis engine may perform analysis by using at least a relative position sequence (eg, ΔLt1 ... ΔLt5, ΔLn1 ... ΔLn5, and ΔT1 ... ΔT5) or an absolute position sequence (eg, Lt1 ... Lt5, Ln1 ... Ln5, and T1 ... T5).
[0090] In the above embodiments, the device can recover a sequence of relative or absolute positions of a moving object. However, the device can recover multiple sequences of relative or absolute positions of one or more moving objects. For example, the analysis work can include multiple sets of (i) at least one seed, or (ii) at least one seed and at least one absolute position for multiple sequences.
[0091] In one embodiment, the analysis engine can obtain multiple absolute or relative position sequences from multiple trips and / or cars and perform analysis on the multiple sequences. In one embodiment, the analysis engine can extract common patterns or features from the multiple sequences. In one embodiment, the analysis engine can construct a predictive model of car movement from the multiple sequences.
[0092] According to the above embodiment, the camouflage engine can provide position information of different camouflage levels by restoring the relative position sequence or the absolute position sequence. Figure 1 The seed data storage area may only be sent to the client computer 170. Figure 1The client computer 170 provides the seed, and the camouflage engine can only recover the relative position sequence.
[0093] Furthermore, according to the above embodiment, the relative position sequence (eg, ΔT n , ΔLt n , ΔLn n ) and the at least one absolute position (T1, Lt1, Ln1) is stored in a memory in a separate location (e.g., Figure 1 The seed data storage device 130, Figure 1 In addition, at least one of the disguised IDs, such as the disguised trip ID, is removed from the relative position sequence (eg, ΔT n , ΔLt n , ΔLn n ) are stored separately. Thus, the security of the absolute position is improved. Even if the relative position is intercepted, all the absolute position IDs (for example, the trip ID) in the vehicle detection data cannot be restored individually.
[0094] In another embodiment, the recovery part can recover a group of relative positions of the moving object. The relative positions in the group are randomly ordered, and it may be impossible to recover the trajectory of the moving object from the group.
[0095] Notice, Figure 6 The exemplary operations of the exemplary method 600 for camouflage recovery are intended to be described. However, in some embodiments, the individual operations may have different Figure 6 Greater or less complexity than the complexity shown may exist except Figure 6 Other operations besides or in addition to those shown, and the number, type, and configuration of these operations may vary.
[0096] Figure 7 An example 700 of a set of relative positions in an embodiment of the present disclosure is shown. The relative positions 700 in the set may include five relative positions (ΔT A , ΔLt A , ΔLn A ), (ΔT B , ΔLt B , ΔLn B ), (ΔT C , ΔLt C , ΔLn C ), (ΔT D , ΔLt D , ΔLn D ), (ΔT E , ΔLt E , ΔLn E). The group does not include the original order information of the relative positions. Therefore, the group represents a set of vectors that change over time. The analysis engine can perform analysis on this set of vectors.
[0097] Figure 8 800 is a schematic diagram showing an exemplary interface message 800 having an absolute position in an embodiment of the present disclosure. In one embodiment, a client computer may send an analysis job having the interface message 800 to an analysis engine.
[0098] The analysis job is a request to analyze the driver behavior and includes as the initial absolute position "orig_time": "20xx12021301" (likely corresponding to T1), "orig_lon": "28.0284711" (likely corresponding to Ln1), "orig_lat": "123.032123" (likely corresponding to Lt1). The analysis job includes a seed "seed": 1098.2342.
[0099] The analysis job also includes a range such as ““from”: “2017-04-02”, “to”: “2017-04-10”” for retrieving a random sequence. For example, the analysis engine can use the analysis job of the interface message 800 to retrieve a random sequence of relative positions recorded during 2017-04-02 to 2017-04-10.
[0100] Fig. 9 is a schematic diagram showing an exemplary interface message 900 without an absolute position in an embodiment of the present disclosure. In one embodiment, the client computer may send an analysis job with the interface message 900 to the analysis engine. The interface message 900 differs from the interface message 800 only in that it does not include an initial absolute position such as "orig_time": "20xx12021301", "orig_lon": "28.0284711", "orig_lat": "123.032123".
[0101] In the above embodiment, at least one absolute position may be an initial absolute position, such as (T1, Lt1, Ln1). In another embodiment, at least one absolute position may be the center of the absolute position of the moving object. In this embodiment, the acquisition section may calculate the center of the absolute position and store the center as at least one absolute position. For example, in Figure 1 and Figure 2 In the embodiment of Figure 4-5 , the obtained part can calculate (T1+T2+T3+T4+T5) / 5, (Lt1+Lt2+Lt3+Lt4+Lt5) / 5, (Ln1+Ln2+Ln3+Ln4+Ln5) / 5 to obtain the absolute position (Tc , Lt c , Ln c ), and stored in Figure 3 The seed data storage device of operation 330 is T c , Lt c , Ln c ).
[0102] In this embodiment, the generating unit can generate a sequence of differences of a relative position sequence, wherein each difference is between the center of an absolute position and a corresponding absolute position. For example, the generating unit can generate a sequence of 6 relative positions (ΔT1, ΔLt1, ΔLn1), (ΔT2, ΔLt2, ΔLn2), (ΔT3, ΔLt3, ΔLn3), (ΔT4, ΔLt4, ΔLn4), (ΔT5, ΔLt5, ΔLn5), (ΔT6, ΔLt6, ΔLn6) by calculating (T c -T1, Lt c -Lt1,Ln c -Ln1),(T c -T2, Lt c -Lt2,Ln c -Ln2), (T c -T3, Lt c -Lt3,Ln c -Ln3), (T c -T4, Lt c -Lt4,Ln c -Ln4), (T c -T5, Lt c -Lt5,Ln c -Ln5) and (T c -T6, Lt c -Lt6,Ln c -Ln6).
[0103] In an alternative embodiment, the absolute position may include the height of the moving object and the relative position may include a sequence of relative heights of the moving object.
[0104] Fig.10 1 is a schematic diagram showing an example hardware configuration 1000 in an embodiment of the present disclosure. In an embodiment, the hardware configuration 1000 may be a hardware configuration of a computer configured to disguise location data.
[0105] The program installed in the computer 1000 can make the computer 1000 function as the apparatus of the embodiment of the present invention or one or more parts thereof (including modules, components, elements, etc.) or operations associated therewith and / or make the computer 1000 perform the process of the embodiment of the present invention or its steps. Such a program can be executed by the CPU 1000-12 to make the computer 1000 perform certain operations associated with some or all of the blocks of the flowcharts and block diagrams described herein.
[0106] The computer 1000 according to the present embodiment includes a CPU 1000 - 12 , a RAM 1000 - 14 , a graphic controller 1000 - 16 , and a display device 1000 - 18 , which are connected to each other through a host controller 1000 - 10 .
[0107] The computer 1000 also includes input / output units such as a communication interface 1000-22, a hard disk drive 1000-24, a DVD-ROM drive 1000-26, and an IC card drive, which are connected to the host controller 1000-10 via an input / output controller 1000-20. The computer also includes conventional input / output units such as a ROM 1000-30 and a keyboard 1000-42, which are connected to the input / output controller 1000-20 via an input / output chip 1000-40.
[0108] The CPU 1000-12 operates according to the program stored in the ROM 1000-30 and the RAM 1000-14, thereby controlling each unit. The graphic controller 1000-16 obtains the image data generated by the CPU 1000-12 on a frame buffer or the like provided in the RAM 1000-14 or itself, and displays the image data on the display device 1000-18.
[0109] The communication interface 1000-22 communicates with other electronic devices via the network 1000-50. The hard disk drive 1000-24 stores programs and data used by the CPU 1000-12 in the computer 1000. The DVD-ROM drive 1000-26 reads programs or data from the DVD-ROM 1000-01 and provides the programs or data to the disk drive 1000-24 through the RAM 1000-14. The IC card drive reads programs and data from the IC card and / or writes programs and data to the IC card.
[0110] The ROM 1000-30 stores therein a boot program etc. executed by the computer 1000 at activation and / or a program depending on the hardware of the computer 1000. The input / output chip 1000-40 can connect various input / output units to the input / output controller 1000-20 through a parallel port, a serial port, a keyboard port, a mouse port, etc.
[0111] A computer-readable medium such as DVD-ROM 1000-01 or an IC card provides the program. The program is read from the computer-readable medium, installed in the hard disk drive 1000-24, RAM 1-00-14 or ROM 1000-30 (which are also examples of computer-readable media), and executed by the CPU 1000-12. The information processing described in these programs is read into the computer 1000, resulting in cooperation between the program and the various types of hardware resources described above. The device or method can be constructed by implementing the operation or processing of information according to the use of the computer 1000.
[0112] For example, when communication is performed between the computer 1000 and an external device, based on the processing described in the communication program, the CPU 1000-12 can execute the communication program loaded on the RAM 1000-14 based on the following command to instruct the communication processing to the communication interface 1000-22. The communication interface 1000-22 reads the transmission data stored in the transmission buffer area stored in the recording medium such as the RAM 1000-14, the hard disk drive 1000-24, the DVD-ROM 1000-1, or the IC card under the control of the CPU 1000-12, and sends the read transmission data to the network 1000-50, or writes the reception data received from the network 1000-50 into the reception buffer area set on the recording medium, etc.
[0113] In addition, CPU1000-12 can read all or necessary parts of a file or database, which has been stored in a hard disk drive 1000-24, a DVD-ROM drive 1000-26 (DVD-ROM1000-01), an IC card, etc., into RAM1000-14, and perform various types of processing on the data on RAM1000-14. Then, CPU1000-12 can write the processed data back to the external recording medium.
[0114] Various types of information, such as various types of programs, data, tables, and databases, can be stored in the recording medium for information processing. CPU1000-12 can perform various types of processing on the data read from RAM1000-14, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc. As described throughout the present disclosure and specified by the instruction sequence of the program, and write the results back to RAM1000-14.
[0115] In addition, the CPU 1000-12 can search for information in a file, a database, etc. in a recording medium. For example, when a plurality of entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored in a recording medium, the CPU 1000-12 can search for an entry matching its condition. The attribute value of the first attribute is specified from the plurality of entries, and the attribute value of the second attribute stored in the entry is read, thereby obtaining the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
[0116] The above-mentioned program or software module may be stored in a computer-readable medium on or near the computer 1000. In addition, a recording medium such as a hard disk or RAM in a server system connected to a dedicated communication network or the Internet may be provided as a computer-readable medium to provide the program to the computer 1000 via the network.
[0117] The present invention may be a system, method and / or computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions thereon for causing a processor to perform various aspects of the present invention. The apparatus of an embodiment of the present invention may include a computer-readable medium and a processor or programmable circuit operable to execute instructions.
[0118] The computer readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer readable storage media includes the following: a portable computer floppy disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are recorded, and any suitable combination of the foregoing. As used herein, a computer readable storage medium should not be understood as being a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through), a fiber optic cable), or an electrical signal transmitted through a wire.
[0119] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or can be downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium within the corresponding computing / processing device.
[0120] The computer-readable program instructions for performing the operation of the present invention can be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data or source code or object codes written in any combination of one or more programming languages (including object-oriented programming languages, such as Smalltalk, C++, etc.) and conventional process programming languages (such as "C" programming language or similar programming languages). The computer-readable program instructions can be executed completely on the user's computer, partially on the user's computer, partially on the user's computer, and partially on the remote computer or completely on the remote computer or server as a stand-alone software package. In the latter case, the remote computer can be connected to the user's computer through any type of network (including local area network (LAN) or wide area network (WAN)), or can be connected to an external computer (for example, by using the Internet of an Internet service provider). In some embodiments, electronic circuits including, for example, programmable logic circuits, field programmable gate arrays (FPGAs) or programmable logic arrays (PLAs) can be personalized to execute computer-readable program instructions by utilizing the state information of computer-readable program instructions. Electronic circuits, to perform aspects of the present invention. The remote computer may be connected to the user computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may establish a connection with an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuits including, for example, programmable logic circuits, field programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) may execute computer-readable program instructions by personalizing the electronic circuits with state information of the computer-readable program instructions to perform aspects of the present invention.
[0121] Various aspects of the present invention are described herein with reference to the flowcharts and / or block diagrams of methods, devices (systems) and computer program products according to embodiments of the present invention. It will be understood that each frame of the flowchart illustration and / or block diagram and the combination of frames in the flowchart illustration and / or block diagram can be implemented by computer-readable program instructions.
[0122] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that the instructions are executed via the processor of the computer or other programmable data processing. In the device, a device for implementing the functions / actions specified in the flow chart and / or block diagram box is created. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can instruct the computer, programmable data processing device, and / or other equipment to function in a particular manner.
[0123] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing device, or other device, so that a series of operating steps are performed on the computer, other programmable device, or other device to produce an implemented computer processing process, so that the instructions executed on the computer, other programmable device, or other device implement the functions / actions specified in the flowchart and / or block diagram blocks.
[0124] Flowchart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention.In this regard, each square frame in flow chart or block diagram can represent the module, fragment or part of instruction, and it comprises one or more executable instructions for realizing the logical function of specifying.In some alternative implementations, the function pointed out in the square frame can not occur in the order pointed out in the figure.For example, depending on the function involved, in fact can basically perform two frames shown continuously at the same time or sometimes can perform these frames in reverse order.
[0125] Although the embodiments of the present invention have been described, the technical scope of the present invention is not limited to the above-described embodiments. It is obvious to those skilled in the art that various changes and improvements can be made to the above-described embodiments. It is also obvious from the scope of the claims that embodiments with such changes or improvements added thereto may be included within the technical scope of the present invention.
[0126] The operations, processes, steps, and stages of each process performed by the apparatus, system, program, and method shown in the claims, embodiments, or figures may be performed in any order as long as the order is not indicated by "prior to," "previous to," or the like, and as long as the output of the previous process is not used in the subsequent process. Even if a process flow is described using phrases such as "first" or "next" in the claims, embodiments, or figures, it does not necessarily mean that the processes must be performed in that order.
[0127] As is clear from the above, embodiments of the present invention enable location data to be gradually disguised.
[0128] Descriptions of various embodiments of the present invention have been given for illustrative purposes, but these descriptions are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications of technology found in the market or technical improvements, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A method for location data camouflage, the method comprising: Generate a relative position sequence from an absolute position sequence of a moving object; randomizing the relative position sequence using at least one random number sequence generated from at least one seed, wherein the relative position sequence is a sequence of differences, each difference being between two absolute positions at adjacent times; In response to receiving an analysis job including the at least one seed, recovering the relative position sequence from the randomized relative position sequence; and In response to receiving an analysis job comprising the at least one seed and at least one absolute position from the sequence of absolute positions, the sequence of absolute positions is recovered from the randomized sequence of relative positions.
2. The method according to claim 1, wherein: The absolute position includes the latitude and longitude of the mobile object; and The relative position sequence includes a relative latitude sequence and a relative longitude sequence of the mobile object.
3. The method of claim 2, wherein said randomizing said relative position sequence using at least one random number sequence generated from at least one seed comprises: randomizing the relative latitude sequence using a random number sequence generated from a first seed; and The relative longitude sequence is randomized using a random number sequence generated from a second seed.
4. The method according to claim 2, wherein: The absolute position sequence includes a time sequence, and the mobile object is located at a corresponding absolute position at each time; and Generating a relative position sequence from the absolute position sequence includes generating a time difference sequence from the time series.
5. The method according to claim 4, wherein: Randomizing the relative position sequence using at least one random number sequence generated from at least one seed comprises: randomizing the relative latitude sequence using a random number sequence generated by a first seed of the at least one seed; randomizing the relative longitude sequence using a random number sequence generated by a second seed of the at least one seed; and The time difference sequence is randomized using a random number sequence generated by a third seed of the at least one seed.
6. The method according to claim 1, characterized in that The at least one absolute position derived from the sequence of absolute positions is an initial absolute position of the moving object.
7. The method according to claim 1, characterized in that The at least one absolute position derived from the sequence of absolute positions is the center of absolute positions of the moving object; and A relative position sequence is a sequence of differences, each difference between the center of an absolute position and the corresponding absolute position.
8. The method according to claim 1, further comprising: The sequence of relative positions and the at least one absolute position derived from the sequence of absolute positions are stored in separate locations.
9. The method according to claim 8, further comprising: acquiring a plurality of vehicle detection data including the absolute position sequence, wherein the positions correspond to vehicle positions; Replacing the IDs in the plurality of vehicle detection data; and The disguised ID is stored separately from the relative position sequence.
10. The method of claim 1, further comprising providing a portion of a recovered relative position sequence in response to receiving the at least one seed.
11. The method according to claim 1, characterized in that: Also included is providing a portion of a recovered sequence of absolute positions in response to receiving the at least one seed and at least one absolute position derived from the sequence of absolute positions.
12. A device for location data disguise, the device comprising: A processor having programmable circuitry, and The one or more computer-readable media collectively include instructions that, when executed by the processor or programmable circuit system, cause the processor or programmable circuit system to: Generating a relative position sequence from an absolute position sequence of the moving object, wherein the relative position sequence is a difference sequence, each difference being between two absolute positions at adjacent times; randomizing the sequence of relative positions using at least one random number sequence generated from at least one seed; In response to receiving an analysis job including the at least one seed, recovering the relative position sequence from the randomized relative position sequence; and In response to receiving an analysis job comprising the at least one seed and at least one absolute position from the sequence of absolute positions, the sequence of absolute positions is recovered from the randomized sequence of relative positions.
13. The device according to claim 12, wherein: The absolute position includes the latitude and longitude of the mobile object; and The relative position sequence includes a relative latitude sequence and a relative longitude sequence of the mobile object.
14. The apparatus of claim 13, wherein said randomizing said relative position sequence using at least one random number sequence generated from at least one seed comprises: randomizing the relative latitude sequence using a random number sequence generated from a first seed; and The relative longitude sequence is randomized using a random number sequence generated from a second seed.
15. The apparatus according to claim 13, wherein: The absolute position sequence includes a time sequence, and the mobile object is located at a corresponding absolute position at each time; and Generating a relative position sequence from the absolute position sequence includes generating a time difference sequence from the time series.
16. The device according to claim 15, wherein: Randomizing the relative position sequence using at least one random number sequence generated from at least one seed comprises: randomizing the relative latitude sequence using a random number sequence generated by a first seed of the at least one seed; randomizing the relative longitude sequence using a random number sequence generated by a second seed of the at least one seed; and The time difference sequence is randomized using a random number sequence generated by a third seed of the at least one seed.
17. A computer program product for location data camouflage, the computer program product comprising one or more computer-readable storage media, the computer-readable storage media collectively storing program instructions executable by a processor or programmable circuit system to cause the processor or programmable circuit system to perform operations, comprising: Generating a relative position sequence from an absolute position sequence of the moving object, wherein the relative position sequence is a difference sequence, each difference being between two absolute positions at adjacent times; randomizing the sequence of relative positions using at least one random number sequence generated from at least one seed; In response to receiving an analysis job including the at least one seed, recovering the relative position sequence from the randomized relative position sequence; and In response to receiving an analysis job comprising the at least one seed and at least one absolute position from the sequence of absolute positions, the sequence of absolute positions is recovered from the randomized sequence of relative positions.
18. The computer program product of claim 17, wherein: The absolute position includes the latitude and longitude of the mobile object; and The relative position sequence includes a relative latitude sequence and a relative longitude sequence of the mobile object.
19. The computer program product of claim 18, wherein said randomizing said relative position sequence using at least one random number sequence generated from at least one seed comprises: randomizing the relative latitude sequence using a random number sequence generated from a first seed; and The relative longitude sequence is randomized using a random number sequence generated from a second seed.
20. The computer program product of claim 18, wherein: The absolute position sequence includes a time sequence, and the mobile object is located at a corresponding absolute position at each time; and Generating a relative position sequence from the absolute position sequence includes generating a time difference sequence from the time series.
