Secure coordinate identification method, system and program

Information

  • Patent Grant
  • 7962757
  • Patent Number
    7,962,757
  • Date Filed
    Wednesday, March 24, 2004
    20 years ago
  • Date Issued
    Tuesday, June 14, 2011
    13 years ago
Abstract
A method, program and system (10) for processing data are disclosed. The method, program and system comprising the steps of: (a) receiving data representing a location of an item (e.g., people, personal property, real property, organizations, chemical compounds, organic compounds, proteins, biological structures, biometric values or atomic structures), (c) determining a plurality of fixed coordinates that represent the location (e.g., by “rounding” and/or comparing to a reference grid), (d) utilizing an algorithm (e.g., encryption, encoding and/or one-way function) to process the plurality of fixed coordinates (each separately or together), and (e) comparing the processed data to at least a portion of secondary data (perhaps comprising data previously stored in a database).
Description
FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable.


TECHNICAL FIELD

This invention generally relates to processing data and, more particularly, to the identification, processing, and comparison of location coordinates in a confidential and anonymous manner.


BACKGROUND

Identifying and sharing a location of an item (e.g., individual, personal property, or real property) in a confidential manner is an important goal in various situations. For example, United States army personnel may have identified the location of a first target and may wish to determine whether a second target identified by a foreign army's personnel is the same in a greater effort of coordinating strike options, while at the same time not disclosing: (a) to the foreign army's personnel the location of the first target if the second target is not the same, (b) to the United States army personnel the location of the second target if the second target is not the same as the first target and/or (c) to any third person either the United States army personnel's knowledge of the first target or the foreign army's personnel's knowledge of the second target.


However, there are no existing systems that use a cryptographic algorithm to identify, disclose and compare location coordinates representing the locations of particular items in a secure and confidential manner.


The present invention is provided to address these and other issues.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a functional block diagram of the system in accordance with the invention;



FIG. 2 is a functional block diagram of the System block of FIG. 1; and,



FIG. 3 is a representation of a non-uniform grid system.





DETAILED DESCRIPTION

While this invention is susceptible of embodiment in many different forms, there is shown in the drawing, and will be described herein in detail, specific embodiments thereof with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the invention to the specific embodiments illustrated.


A data processing system 10 for processing data is illustrated in FIG. 1. The system 10 includes at least one conventional computer 12 having a processor 14 and memory 16. The memory 16 is used both for storage of the executable software to operate the system 10 as well as for storage of the data in a database and random access memory. All or part of the software may be embodied within various applications and equipment, depending upon the relevant confidentiality and security requirements. For example, the software may be embodied, stored or provided on any computer readable medium utilizing any of the following, at a minimum: (a) an installed software application on the source system, (b) a box unit that self-destroys the unit upon any tampering, and/or (c) a CD, DVD, floppy disc or other removable media. The system 10 may effect all or part of the processing of the item location data on one or more computers 12 at the source location and/or may effect all or part of the processing with one or more computers 12 at a location different from the source (e.g., a central processing system).


To keep the item location more secure, the item location data can be encrypted. However, due to the nature of the mathematics, when values are processed, for example, by encryption or hashing, and are compared to another location data, there will only be a match when the two item location data being compared match identically. That is, data of two item locations that vary by only one unit of measurement will not be identifiable as having a potential relationship.


To overcome this potential misidentification, a system can determine a fixed coordinate grid point corresponding to the item location, with the fixed coordinate grid point then processed for use in the comparison process. This ensures that the encrypted values are matchable to previously stored data (i.e. previously stored fixed coordinate grid points). However, this raises the possibility that two item locations that are close enough to warrant a match may be assigned to two different fixed coordinate grid points and would fail to match after being processed.


Assigning the item location to more than one fixed coordinate grid point addresses the issue of incorrectly failed matching. By determining more than one of the nearest fixed coordinates to a given item location and using each in a comparison process, failed matches can be reduced. When each of the fixed coordinate grid points is processed, a set of results is available for comparison. If any element of the set matches with known data, the item location may be worthy of further investigation.


As illustrated in FIG. 2, in a step 18 the system 10 receives data representing the location of a particular item (e.g., natural person, organization, chemical compound, organic compound, protein, biological structure, biometric value, atomic structure, inventory item, real property, personal property). In a step 20 the system then determines a plurality of fixed coordinates that represent the location by several processes, for example, rounding or comparison to a predetermined grid. Rounding calculates values on a virtual grid based upon the location. Comparing the location to the pre-determined grid finds the nearest and/or surrounding fixed coordinates. The pre-determined grid may be uniform (e.g., equal spacing between grid points), non-uniform (e.g., equal spacing in a first portion of grid points, but differential spacing in a second portion of grid points), multiple, tiered and/or three-dimensional, four dimensional or more multi-dimensional. For example, where the data representing the location consists of latitude (x), longitude (y), height (z) and time (t) variables, the system in a multiple grid circumstance compares the data to a four-dimensional non-uniform grid representing latitude, longitude, height and time dimensions to establish a plurality of fixed coordinates which would also allow for comparisons of moving targets.


While the embodiment can use just two fixed coordinates, using only two fixed coordinates creates a greater possibility that two item locations, which may be infinitesimally close to each other, may be determined to be near separate pairs of fixed coordinates. For example, the two fixed coordinates corresponding with one of the two item locations are determined to be different, and perhaps significantly farther from the two fixed coordinates corresponding with the other of the two item locations. As such, the grid would preferably have at least three (3) fixed coordinates (creating a triangle-type shape if lines were to connect the fixed coordinates on the grid), with scaled positioning of other coordinates through the grid based upon a user-defined criterion, such as spacing of a particular distance or time (e.g., one (1) minute) and potentially subdividing the coordinates according to quantity (e.g., population density). In addition, the coordinates may cover a several areas or layers, for example, the system can determine the nearest three fixed coordinates and an additional three fixed coordinates surrounding those, creating a broader matching region.


Several grids and grid combinations may be used in determining fixed coordinates. For example, an item location on a rectangular grid could be assigned to the three nearest grid coordinates. Similarly, an item location could be assigned to all the coordinates of the grid encompassing the item location. Both of these examples involve simple geometric and trigonometric calculations. When the grid system is more complex, as discussed above, these simple techniques may not be sufficient.


Referring briefly to FIG. 3, an illustration of a non-uniform grid system 30 is shown. The non-uniform grid system 30 has a plurality of triangular grids that may relate to population density, terrain features or other criteria. Coordinates x, y, z, m, n, o, p, q, represent a plurality of fixed coordinates. Item location A is within a bounding triangle defined by the fixed coordinates x, y and z. The closest fixed grid points are, in this case, x, y and z, which would be used for comparison with previously stored data. It can be seen that point B, while within a bounding triangle m, n, o, may actually be closer to fixed coordinates outside that bounding triangle, such as points x, z and q. If so, point B, when using nearest fixed coordinates, would be associated with the fixed coordinate grid points x, z and q when being compared to previously stored data. Point C appears closest to point m of its bounding triangle m, o, p. The system, if using nearest fixed coordinates, can use mathematical evaluation to determine the other two fixed coordinates closest to C.


The use of more complex mathematics can help ensure that the most relevant fixed coordinates represent an item location, particularly in the case of non-uniform or high-dimension grid systems. One useful technique is the affine transform, which allows transformation to a coordinate system that preserves linearity and spacing. A high level overview of the use of an affine transform in this respect is illustrated below.


By way of a detailed example of one embodiment of how the system determines 20 three (3) fixed coordinates that represent the location, given a uniform triangular grid with spacing of one (1) minute, the system processes data by: (a) taking a given (x, y) where x is longitude and y is latitude in degrees corresponding to the location, (b) multiplying the given (x, y) by sixty (60) to scale to minutes, (c) taking an affine transformation (x′, y′)=(x−½y, y), which transforms the uniform triangular grid into a uniform rectangular grid (i.e., creating a rectangle-type shape if lines were to connect four (4) fixed coordinates on the uniform rectangular grid) and enabling the point (x′, y′) to fall within the uniform rectangular grid that corresponds to two (2) three fixed coordinate areas in the uniform triangular grid, (d) set (x0, y0)=(└x′┘, └y′┘) to establish the lower left corner on the uniform rectangular grid, (e) set P1=(x0+1, y0) and P2=(x0, y0+1) to determine two (2) fixed coordinates on the uniform rectangular grid, (f) calculate (x′−x0)+(y′−y0) to determine a third fixed coordinate on the uniform rectangular grid, which, depending upon whether the third fixed coordinate is in the top right or lower left area of the uniform rectangular grid, is P0=(x0+1, y0+1) if the result of the calculation is greater than 1 or P0=(x0, y0) if the result of the calculation is less than 1, (g) transform the resulting three (3) fixed coordinates back to the uniform triangular grid by applying the affine transformation (x′, y′)=(x+½y, y) to each of P0, P1 and P2 (which may be implemented using integers), resulting in an integral number of half minutes, which may be converted to a number from 0 to 43199 to take into account the international date line, and P0, P1 and P2 being the three (3) nearest fixed coordinates on the uniform triangular grid representing the location.


The system then: (a) processes each of the plurality of fixed coordinates through a cryptographic algorithm (e.g., encryption, encoding, one-way function such as MD-5) to render the plurality of fixed coordinates confidential (“Processed Coordinates”) in step 22 and (b) compares the Processed Coordinates to secondary data (e.g., previously saved data) and matches any data reflecting one or more identical fixed coordinate in step 24. For example, where the plurality of fixed coordinates associated with a first location is determined to be 1, 2, 3 and the plurality of fixed coordinates associated with a second location is determined to be 2, 3, 5, the system 10 processes each of the plurality of fixed coordinates through the cryptographic algorithm, such as MD-5, and combines salt to the plurality of fixed coordinates in step 22, causing each resulting Processed Coordinate to be confidential. Then, the comparison between the resulting Processed Coordinates would identify the match of the respective Processed Coordinate associated with the 2 and 3 of the plurality of fixed coordinates common between the first location and the second location.


Thereafter, the Processed Coordinates and any matches are stored in a database in step 26 and the system issues a signal (e.g., match or no match) based upon user-defined rules and policies in step 28, such as transferring the Processed Coordinates to other systems for analysis and coordination.


From the foregoing, it will be observed that numerous variations and modifications may be effected without departing from the spirit and scope of the invention. It is to be understood that no limitation with respect to the specific apparatus illustrated herein is intended or should be inferred. It is, of course, intended to cover by the appended claims all such modifications as fall within the scope of the claims.

Claims
  • 1. A computer-implemented method for identification, processing, and comparison of location coordinate data in a confidential and anonymous manner, comprising: receiving, in a computer, a plurality of fixed coordinates, each of the fixed coordinates representing a location of an item comprising an individual, personal property or real property, and the plurality of fixed coordinates being generated by more than one process;utilizing, in the computer, a cryptographic algorithm to encrypt the plurality of fixed coordinates, thereby forming a processed data; andcomparing, in the computer, the encrypted fixed coordinates of the processed data to at least a portion of secondary data that comprises one or more encrypted fixed coordinates to determine whether a relationship exists between the encrypted fixed coordinates of the processed data and the encrypted fixed coordinates of the secondary data.
  • 2. The method of claim 1 further comprising the step of receiving data representing the location of the item and determining the plurality of fixed coordinates that represent the location of the item prior to receiving the plurality of fixed coordinates.
  • 3. The method of claim 1 further comprising the step of storing the processed data in a database.
  • 4. The method of claim 1 wherein the step of comparing the processed data to at least a portion of secondary data includes the secondary data comprising data previously stored in a database.
  • 5. The method of claim 1 further comprising the step of matching the processed data to the at least a portion of secondary data that is determined to reflect an identical one of the plurality of fixed coordinates.
  • 6. The method of claim 1 further comprising the step of issuing a signal based upon a user-defined rule.
  • 7. The method of claim 1 wherein the step of determining the plurality of fixed coordinates that represent the location occurs in relation to a grid.
  • 8. The method of claim 7 wherein the grid comprises a uniform grid.
  • 9. The method of claim 7 wherein the grid comprises a non-uniform grid.
  • 10. The method of claim 7 wherein the grid is a multi-dimensional grid.
  • 11. The method of claim 7 wherein the grid is based upon a user-defined criterion.
  • 12. The method of claim 11 wherein the user-defined criterion corresponds with quantity.
  • 13. The method of claim 11 wherein the user-defined criterion corresponds to time.
  • 14. The method of claim 1 wherein the step of determining the plurality of fixed coordinates that represent the location includes the step of determining a nearest of the plurality of fixed coordinates.
  • 15. The method of claim 1 wherein the step of determining a plurality of fixed coordinates that represent the location includes the step of determining the plurality of fixed coordinates surrounding the location.
  • 16. A non-transitory computer readable medium containing program instructions for execution by a computer for performing a method of identification, processing, and comparison of location coordinate data in a confidential and anonymous manner, comprising: receiving, in a computer, a plurality of fixed coordinates, each of the fixed coordinates representing a location of an item comprising an individual, personal property or real property, and the plurality of fixed coordinates being generated by more than one process;utilizing, in the computer, a cryptographic algorithm to encrypt the plurality of fixed coordinates, thereby forming a processed data; andcomparing, in the computer, the encrypted fixed coordinates of the processed data to at least a portion of secondary data that comprises one or more encrypted fixed coordinates to determine whether a relationship exists between the encrypted fixed coordinates of the processed data and the encrypted fixed coordinates of the secondary data.
  • 17. The computer readable medium for performing the method of claim 16 further comprising the step of receiving data representing the location of the item and determining the plurality of fixed coordinates that represent the location of the item prior to receiving the plurality of fixed coordinates.
  • 18. The computer readable medium for performing the method of claim 16 further comprising the step of storing the processed data in a database.
  • 19. The computer readable medium for performing the method of claim 16 wherein the step of comparing the processed data to at least a portion of secondary data includes the secondary data comprising data previously stored in a database.
  • 20. The computer readable medium for performing the method of claim 16 further comprising the step of matching the processed data to the at least a portion of secondary data that is determined to reflect an identical one of the plurality of fixed coordinates.
  • 21. The computer readable medium for performing the method of claim 16 further comprising the step of issuing a signal based upon a user-defined rule.
  • 22. The computer readable medium for performing the method of claim 16 wherein the step of determining the plurality of fixed coordinates that represent the location occurs in relation to a grid.
  • 23. The computer readable medium for performing the method of claim 22 wherein the grid comprises a uniform grid.
  • 24. The computer readable medium for performing the method of claim 22 wherein the grid comprises a non-uniform grid.
  • 25. The computer readable medium for performing the method of claim 22 wherein the grid is a multi-dimensional grid.
  • 26. The computer readable medium for performing the method of claim 22 wherein the grid is based upon a user-defined criterion.
  • 27. The computer readable medium for performing the method of claim 26 wherein the user-defined criterion corresponds with quantity.
  • 28. The computer readable medium for performing the method of claim 26 wherein the user-defined criterion corresponds to time.
  • 29. The computer readable medium for performing the method of claim 16 wherein the step of determining the plurality of fixed coordinates that represent the location includes the step of determining the nearest of the plurality of fixed coordinates.
  • 30. The computer readable medium for performing the method of claim 16 wherein the step of determining a plurality of fixed coordinates that represent the location includes the step of determining the plurality of fixed coordinates surrounding the location.
CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of provisional application No. 60/457,119, filed in the United States Patent Office on Mar. 24, 2003.

US Referenced Citations (95)
Number Name Date Kind
1261167 Russell Apr 1918 A
3659085 Porter Apr 1972 A
3793634 Heller et al. Feb 1974 A
4232313 Fleishman Nov 1980 A
4981370 Dziewit et al. Jan 1991 A
5010478 Deran Apr 1991 A
5229764 Matchett et al. Jul 1993 A
5403639 Belsan et al. Apr 1995 A
5454101 Mackay et al. Sep 1995 A
5534855 Shockley et al. Jul 1996 A
5555409 Leenstra et al. Sep 1996 A
5560006 Layden et al. Sep 1996 A
5608907 Fehskens et al. Mar 1997 A
5659731 Gustafson Aug 1997 A
5675785 Hall et al. Oct 1997 A
5758343 Vigil et al. May 1998 A
5764977 Oulid-Aissa et al. Jun 1998 A
5778375 Hecht Jul 1998 A
5781911 Young et al. Jul 1998 A
5784464 Akiyama et al. Jul 1998 A
5794246 Sankaran et al. Aug 1998 A
5799309 Srinivasan Aug 1998 A
5819263 Bromley et al. Oct 1998 A
5848373 Delorme et al. Dec 1998 A
5878416 Harris et al. Mar 1999 A
5892828 Perlman Apr 1999 A
5933831 Jorgensen Aug 1999 A
5991408 Pearson et al. Nov 1999 A
5991733 Aleia et al. Nov 1999 A
5991758 Ellard Nov 1999 A
5991765 Vethe Nov 1999 A
5995097 Tokumine et al. Nov 1999 A
5995973 Daudenarde Nov 1999 A
6014670 Zamanian et al. Jan 2000 A
6032158 Mukhopadhyay et al. Feb 2000 A
6035295 Klein Mar 2000 A
6035300 Cason et al. Mar 2000 A
6035306 Lowenthal et al. Mar 2000 A
6041410 Hsu et al. Mar 2000 A
6044378 Gladney Mar 2000 A
6049805 Drucker et al. Apr 2000 A
6052693 Smith et al. Apr 2000 A
6058477 Kusakabe et al. May 2000 A
6065001 Ohkubo et al. May 2000 A
6073140 Morgan et al. Jun 2000 A
6076167 Borza Jun 2000 A
6092199 Dutcher et al. Jul 2000 A
6122641 Williamson et al. Sep 2000 A
6122757 Kelley Sep 2000 A
6160903 Hamid et al. Dec 2000 A
6167517 Gilchrist et al. Dec 2000 A
6185557 Liu Feb 2001 B1
6202151 Musgrave et al. Mar 2001 B1
6208990 Suresh et al. Mar 2001 B1
6263446 Kausik et al. Jul 2001 B1
6272495 Hetherington Aug 2001 B1
6317834 Gennaro et al. Nov 2001 B1
6334132 Weeks Dec 2001 B1
6339775 Zamanian et al. Jan 2002 B1
6357004 Davis Mar 2002 B1
6385604 Bakalash et al. May 2002 B1
6418450 Daudenarde Jul 2002 B2
6446210 Borza Sep 2002 B1
6460037 Weiss et al. Oct 2002 B1
6523041 Morgan et al. Feb 2003 B1
6674860 Pirila Jan 2004 B1
6684334 Abraham Jan 2004 B1
6697947 Matyas, Jr. et al. Feb 2004 B1
6734783 Anbai May 2004 B1
6743022 Sarel Jun 2004 B1
6819797 Smith Nov 2004 B1
6886747 Snapp May 2005 B2
6948062 Clapper Sep 2005 B1
6968338 Gawdiak et al. Nov 2005 B1
7007168 Kubo et al. Feb 2006 B2
7143289 Denning et al. Nov 2006 B2
7177426 Dube Feb 2007 B1
7249257 Brundage et al. Jul 2007 B2
7254839 Fahraeus et al. Aug 2007 B2
7512234 McDonnell et al. Mar 2009 B2
20020023088 Thwaites Feb 2002 A1
20020184509 Scheidt et al. Dec 2002 A1
20030097380 Mulhern et al. May 2003 A1
20030108202 Clapper Jun 2003 A1
20030154194 Jonas Aug 2003 A1
20030182018 Snapp Sep 2003 A1
20030182568 Snapp et al. Sep 2003 A1
20030191739 Chatterjee et al. Oct 2003 A1
20040007616 Snapp Jan 2004 A1
20040049682 Wilson et al. Mar 2004 A1
20040128274 Snapp et al. Jul 2004 A1
20040162802 Jonas Aug 2004 A1
20040210763 Jonas Oct 2004 A1
20050060556 Jonas Mar 2005 A1
20060010119 Jonas Jan 2006 A1
Foreign Referenced Citations (8)
Number Date Country
10154231 Jun 1998 JP
10327142 Dec 1998 JP
11224236 Aug 1999 JP
11265432 Sep 1999 JP
2002222170 Aug 2002 JP
2008305662 Dec 2008 JP
2009204401 Sep 2009 JP
9852317 Nov 1998 WO
Related Publications (1)
Number Date Country
20050066182 A1 Mar 2005 US
Provisional Applications (1)
Number Date Country
60457119 Mar 2003 US