IP Library Granted Patent US 7,039,640
Granted Patent B2
US 7,039,640 · App. 10/159,195 · Granted May 2, 2006

System and method for geocoding diverse address formats

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,039,640
App. No.
10/159,195
Granted
May 2, 2006
Kind
B2
Abstract

A method and system for providing geocodes in response to complete or partial address information is disclosed. The disclosure teaches embodiments that are naturally upgraded to integrate changing spatial information due to addition of countries, better data, political changes, and other similar changes in geographical data. A single geocoding engine is capable of handling the various address formats in use in different countries and jurisdictions. The disclosed embodiments are error tolerant and capable of overcoming many errors due to spelling, variety of languages and formats used to provide and address. The diversity in addresses due to, for instance country-specific formats such as postal-codes are naturally integrated into existing database of geocoding information. Preferably, the embodiments are based on JAVA to allow platform independence and use XML based communication to use networks without requiring excessive resources while providing fast services.

Claims (43)

1. A computer implemented system for providing spatial information to a plurality of users, the plurality of users employing a plurality of formats, the system comprising:

a generic matcher module for identifying at least one geocode corresponding to a query;

a generic interpolator module for determining at least one geocode datum in a database in response to receiving an input address;

at least one servlet implemented on a local server for managing local requests by preprocessing and forwarding an input received from a client to a geocode engine and receiving a response from the geocoding engine and forwarding the response to the client;

the geocode engine for coordinating at least one interpolator, at least one matcher module, and at least one database containing geocode data by determining whether customized data is available in preference to default data in response to the input received from the at least one servlet;

a parser coupled to the geocode engine for parsing a user request; and

a data constructor module for accepting input from a local data source and converting the data into at least one designated binary format suitable for a common database.

2. The system of claim 1 further including a local matcher module.

3. The system of claim 1 further including a local interpolator module.

4. The system of claim 1 wherein the servlet is executing on a machine supporting multithreaded operations.

5. The system of claim 1 wherein the servlet is executing on a machine supporting single threaded operations in a thread_safe — mode.

6. The system of claim 1 wherein the servlet is executing on a machine having multiple processing units.

7. The system of claim 1 wherein the geocode engine handles each input from the at least one servlet independently.

8. The system of claim 7 wherein the geocode engine handles each input from the at least one servlet on a separate thread.

9. The system of claim 1 wherein a single geocoding engine handles all user requests for geocodes for addresses encompassing more than one country.

10. A computer implemented system for providing spatial information to a plurality of users, the plurality of users employing addresses in a plurality of formats, the system comprising:

a generic matcher module for identifying at least one geocode corresponding to an input address;

a generic interpolator module for determining at least one geocode datum in a database in response to receiving an input address;

at least one servlet implemented on a server for managing local requests by preprocessing and forwarding an input received from a client to a geocode engine and receiving a response from the geocoding engine and forwarding the response to the client;

the geocode engine for coordinating at least one interpolator, at least one matcher module, and at least one database containing geocode data by determining whether customized data is available in preference to default data in response to the input received from the at least one servlet;

a parser coupled to the geocode engine for parsing a user request; and

a data constructor module for accepting input from a local data source and converting the data into at least one designated binary format suitable for a common database.

11. The system of claim 10 further including a local matcher module.

12. The system of claim 10 further including a local interpolator module.

13. The system of claim 10 wherein the servlet is executing on a machine supporting multithreaded operations.

14. The system of claim 10 wherein the servlet is executing on a machine supporting single threaded operations in a thread_safe_mode.

15. The system of claim 10 wherein the servlet is executing on a machine having multiple processing units.

16. The system of claim 10 wherein the geocode engine handles each input from the at least one servlet independently.

17. The system of claim 16 wherein the geocode engine handles each input from the at least one servlet on a separate thread.

18. The system of claim 10 wherein a single geocoding engine handles all user requests for geocodes for addresses encompassing more than one country.

19. The system of claim 10 further including a local server.

20. A computer implemented method for providing spatial information to a plurality of users employing addresses in a plurality of formats comprising the acts of:

receiving an input request from a user wherein said input request contains address data;

evaluating said request for identifying at least one geocode corresponding to said request, said identifying further comprising matching at least one geocode corresponding to an input address;

transmitting said request to a server comprising at least one servlet wherein said server being adapted to manage local requests by preprocessing and forwarding an input received from a user to a geocode engine and receiving a response from the geocoding engine and forwarding the response to the user;

determining at least one geocode datum in a database in response to receiving an input address;

determining through a geocode engine whether customized data is available in preference to default data in response to said request from said servlet wherein the geocode engine coordinates at least one interpolator, at least one matcher module, and at least one database containing geocode data;

receiving a response and forwarding said response to said user; and

accepting through a data constructor module input from a local data source and converting the data into at least one designated binary format suitable for a common database.

21. The method of claim 20 , further comprising evaluating a request to determine whether said request contains a country code.

22. The method of claim 21 , wherein if a country code is detected, said request is stored in a country specific data structure.

23. The method of claim 21 , wherein if a country code is not detected, a default country code is employed.

24. The method of claim 20 , wherein said request is an XML message.

Assignments (15)
FIRST LIEN GRANT OF SECURITY INTEREST IN PATENTS Recorded Jul 17, 2025
From: PRECISELY SOFTWARE INCORPORATED; VISIONS SOLUTIONS, INC.; PITNEY BOWES SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072019/0370 →
SECOND LIEN GRANT OF SECURITY INTEREST IN PATENTS Recorded Jul 17, 2025
From: PRECISELY SOFTWARE INCORPORATED; VISIONS SOLUTIONS, INC.; PITNEY BOWES SOFTWARE INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 072019/0382 →
MERGER AND CHANGE OF NAME Recorded Mar 11, 2022
From: PITNEY BOWES MAPINFO CORPORATION; GROUP 1 SOFTWARE INC.
To: PITNEY BOWES SOFTWARE INC.
Reel/Frame 059242/0249 →
CHANGE OF NAME Recorded Mar 11, 2022
From: MAPINFO CORPORATION
To: PB MAPINFO CORPORATION
Reel/Frame 059241/0668 →
MERGER Recorded Mar 11, 2022
From: PITNEY BOWES SOFTWARE INC.
To: PRECISELY SOFTWARE INCORPORATED
Reel/Frame 059242/0493 →
CHANGE OF NAME Recorded Mar 11, 2022
From: PB MAPINFO CORPORATION
To: PITNEY BOWES MAPINFO CORPORATION
Reel/Frame 059362/0595 →
SECOND LIEN RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 26, 2021
From: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
To: VISION SOLUTIONS, INC.; PRECISELY SOFTWARE INCORPORATED (F/K/A SYNCSORT INCORPORATED); PITNEY BOWES SOFTWARE INC.
Reel/Frame 056107/0233 →
FIRST LIEN RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 26, 2021
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: VISION SOLUTIONS, INC.; PRECISELY SOFTWARE INCORPORATED (F/K/A SYNCSORT INCORPORATED); PITNEY BOWES SOFTWARE INC.
Reel/Frame 056038/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION. PATENT NUMBERS 10003946 AND 10119825 WERE INCORRECTLY DESIGNATED AS APPLICATION NUMBERS. PREVIOUSLY RECORDED ON REEL 052323 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF SECURITY INTEREST IN PATENTS. Recorded Apr 14, 2021
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: JEFFERIES FINANCE LLC, AS SUCCESSOR AGENT
Reel/Frame 056304/0891 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION. PATENT NUMBERS 10003946 AND 10119825 WERE INCORRECTLY DESIGNATED AS APPLICATION NUMBERS. PREVIOUSLY RECORDED ON REEL 052323 FRAME 0304. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF SECURITY INTEREST IN PATENTS. Recorded Apr 14, 2021
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: GOLUB CAPITAL MARKETS LLC, AS SUCCESSOR AGENT
Reel/Frame 056305/0117 →
ASSIGNMENT OF SECURITY INTEREST IN PATENTS Recorded Apr 6, 2020
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: JEFFERIES FINANCE LLC, AS SUCCESSOR AGENT
Reel/Frame 052323/0254 →
ASSIGNMENT OF SECURITY INTEREST IN PATENTS Recorded Apr 6, 2020
From: BANK OF AMERICA, N.A., AS EXISTING AGENT
To: GOLUB CAPITAL MARKETS LLC, AS SUCCESSOR AGENT
Reel/Frame 052323/0304 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Dec 20, 2019
From: PITNEY BOWES SOFTWARE INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 051383/0344 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Dec 20, 2019
From: PITNEY BOWES SOFTWARE INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 051383/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2002
From: MILLER, JULIA K.; SCHWERIN, CHUCK
To: MAPINFO CORPORATION
Reel/Frame 012960/0760 →