IP Library › Granted Patent US 7,383,268
Granted Patent B2
US 7,383,268 · App. 10/631,154 · Granted Jun 3, 2008

Indexing technique for an efficient best-pattern matched lookup

Assignee: ITXC IP Holdings S.a.r.l.
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,383,268
App. No.
10/631,154
Granted
Jun 3, 2008
Kind
B2
Abstract

An indexing system in a database comprises plural levels, each representing one digit in a key of a data string and having an instruction for each constituent element at said represented digit of the key. The instruction includes one of: i) moving on to check a next level without specifying a record; ii) specifying one or more records and also moving on to check a next level; iii) specifying one or more records and not moving on to check a next level; iv) not specifying a record and not moving on to check a next level. A database so indexed facilitates an efficient recursive lookup on a best-pattern match basis, such as required in a telephony database for acquiring fast routing instructions based on a telephone number.

Claims (39)

1. A method for associating a plurality of keys with respective predetermined records, each of said keys including a data string of one or more digits, said digits having a range of values, the method comprising:

(a) providing an index having a plurality of levels, wherein each said level corresponds to a respective digit of said keys, and wherein each said level is a data field including a plurality of elements having a range of values corresponding to the range of values of said digits of said keys;

(b) for each element of each said level of said index having a value matching the value of the key digit corresponding to that level, associating an indexing instruction therewith selected from the group of indexing instructions consisting of:

i) moving on to check a next level without specifying a record; ii) specifying one or more records and also moving on to check a next level; iii) specifying one or more records and not moving on to check a next level; and

(c) associating the following indexing instruction with all elements of the index other than the matching elements of step (b): iv) not specifying a record and not moving on to check a next level.

2. The method of claim 1 wherein each of said keys represents a group of telephone numbers.

3. The method of claim 2 wherein each of said keys is a specified portion of each telephone number of said group.

4. The method of claim 3 wherein said specified portion is a starting portion of said each telephone number of said group.

5. The method of claim 4 wherein said starting portion comprises one or more digits.

6. The method of claim 2 wherein said records are call processing instructions.

7. The method of claim 6 wherein said call processing instructions are routing instructions.

8. The method of claim 1 wherein said digits are alphanumeric characters.

9. The method of claim 8 wherein each of said keys represents a group of data entries of said database.

10. The method of claim 9 wherein each of said records is a destination assigned to said group represented by said each key.

11. The method of claim 1 wherein a sequence of said plural levels corresponds to a sequence of said digits in said data strings.

12. The method of claim 11 wherein said sequence of the digits is a natural order of the digits in the data string.

13. The method of claim 1 further comprising:

providing a data string query;

identifying a key of the plurality of keys having a best pattern match with the data string query; and

returning a record for said data string query associated with said best pattern matching key.

14. The method of claim 11 wherein said sequence of the digits is determined by a specified priority of each digit in the data string.

15. The method of claim 1 further comprising:

providing a telephone number for making a telephone call;

identifying a key of the plurality of keys having a best pattern match with the telephone number;

returning a record specified for the key having the best pattern match, the record including a routing instruction for the telephone call; and

routing the telephone call to a destination in accordance with the routing instruction.

16. A method for associating a plurality of keys with respective predetermined telephone call routing instructions, each of said keys including a data string of one or more digits, said digits having a range of values, the method comprising:

(a) providing an index having a plurality of levels, wherein each said level corresponds a respective digit of said keys, and wherein each said level is a data field including a plurality of elements having a range of values corresponding to the range of values of said digits of said keys;

(b) for each element of each said level of the index having a value matching the value of the key digit corresponding to that level, associating an indexing instruction therewith selected from the group of indexing instructions consisting of:

i) moving on to check a next level of the index without specifying a routing instruction; ii) specifying one or more routing instructions and also moving on to check a next level of the index; iii) specifying one or more routing instructions and not moving on to check a next level of the index; and

(c) associating the following indexing instruction with all elements of the index other than the matching elements of step (b): iv) not specifying a record and not moving on to check a next level;

identifying a key of the plurality of keys having a best pattern match with a given telephone number;

returning a routing instruction specified for the key having the best pattern match; and

routing the telephone call to a destination in accordance with the returned routing instruction.

17. An indexing system for associating a plurality of keys with respective predetermined records, each of said keys including a data string of one or more digits, said digits having a range of values, the system comprising:

(a) an index having a plurality of levels, wherein each said level corresponds a respective digit of said keys, and wherein each said level is a data field including a plurality of elements having a range of values corresponding to the range of values of said digits of said keys, the levels of the index being linked by indexing instructions;

(b) an active indexing instruction, of said indexing instructions, associated with each element of each said level of said index having a value matching the value of the key digit corresponding to that level, the indexing instruction being selected from the group consisting of:

i) moving on to check a next level of the index without specifying a record; ii) specifying one or more records and also moving on to check a next level of the index; iii) specifying one or more records and not moving on to check a next level of the index; and

(c) a null indexing instruction, of said indexing instructions, associated with all elements of the index other than the matching elements of (b), the final indexing instruction specifying: not specifying a record and not moving on to check a next level.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE LIST OF ASSIGNED PATENTS PREVIOUSLY RECORDED AT REEL: 014871 FRAME: 0649. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 10, 2015
From: ITXC IPCO, LLC
To: ITXC IP HOLDING SARL
Reel/Frame 034925/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2004
From: ITXC IPCO #2, LLC
To: ITXC IP HOLDING 2 SARL
Reel/Frame 014871/0633 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2004
From: ITXC IP HOLDINGS 2 SARL
To: ITXC IP HOLDINGS SARL
Reel/Frame 014871/0641 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2004
From: ITXC CORP.
To: ITXC IPCO, LLC
Reel/Frame 015026/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2003
From: KROKOSZ, MATTHEW
To: ITXC CORP.
Reel/Frame 014895/0057 →
Continuity (1)
Related Publication 20050027711A1 · Feb 3, 2005