Mapping table lookup optimization system
First Claim
1. A method for mapping addresses in a first messaging format into a second messaging format using table lookup optimization, said method comprising:
- constructing a plurality of mapping tables into at least one lookup tree, saidat least one lookup tree comprising at least one lookup tree root and at least one subdomain tree linked to said lookup tree root, said subdomain tree comprising at least one subdomain tree root;
searching said at least one lookup tree, said step of searching comprising;
receiving an address in a first messaging format;
dividing said address into a plurality of component parts;
matching at least one of said component parts with one of said at least one lookup tree;
using a hash function to operate upon said at least one lookup tree to select a lookup tree root;
accessing a per process cache to determine if said lookup tree root matches a selected cache entry;
returning a result in a second messaging format if a match is found;
if a match is not found, proceeding to linearly search said at least one subdomain tree root linked by said lookup tree root; and
returning a best match subdomain root corresponding to said address in a second messaging format.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a system and method for creating lookup trees of mapping specifications for multiprotocol messaging environments. Source data, which is preferably updated infrequently, is compiled into a hierarchical tree, which is stored in a file. The file contains internal data structures that can be used simultaneously by multiple processes at different virtual addresses. A lookup code finds the longest match, if any, for a given key, in a very efficient manner. In a preferred embodiment, the present invention efficiently maps names between X.400 and SMTP per the RFC1327 specification. The organization of the keys, along with the present invention'"'"'s partial match characteristics, may also be used to efficiently retrieve domain specific configuration data for an SMTP Message Transfer Agent
87 Citations
25 Claims
-
1. A method for mapping addresses in a first messaging format into a second messaging format using table lookup optimization, said method comprising:
-
constructing a plurality of mapping tables into at least one lookup tree, said at least one lookup tree comprising at least one lookup tree root and at least one subdomain tree linked to said lookup tree root, said subdomain tree comprising at least one subdomain tree root; searching said at least one lookup tree, said step of searching comprising; receiving an address in a first messaging format; dividing said address into a plurality of component parts; matching at least one of said component parts with one of said at least one lookup tree; using a hash function to operate upon said at least one lookup tree to select a lookup tree root; accessing a per process cache to determine if said lookup tree root matches a selected cache entry; returning a result in a second messaging format if a match is found; if a match is not found, proceeding to linearly search said at least one subdomain tree root linked by said lookup tree root; and returning a best match subdomain root corresponding to said address in a second messaging format. - View Dependent Claims (2, 3, 4)
-
-
5. A system for mapping table lookup optimization comprising:
-
a sender, said sender communicating with a first messaging protocol; at least one receiver, said receiver communicating with a second messaging protocol; and at least one messaging gateway in communication with said sender and said at least one receiver, said messaging gateway comprising a shared memory mapped file; and a per process memory cache; wherein said shared memory mapped file comprises; at least one table offset; a domain table; a plurality of domain data; and at least one domain string; wherein said table offset constructs a plurality of pointers into said domain table, into said plurality of domain data, and into said at least one domain string. - View Dependent Claims (6)
-
-
7. A system for mapping table lookup optimization for use in a messaging system having at least one client operating with a first message protocol and at least one other client operating with a second message protocol said system comprising:
-
a messaging gateway; a shared memory mapped file, wherein said shared memory mapped file further comprises mapping tables configured as hierarchical trees; wherein said hierarchical trees comprise; at least one domain table, at least one domain data list, and at least one domain string; said hierarchical trees further comprising table offsets, which construct pointers into said shared memory mapped file; and a per process memory cache. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for mapping table lookup optimization for use in a messaging system having at least one client operating with a first message protocol and at least one other client operating with a second message protocol said system comprising:
-
messaging gateway means; shared memory mapped file means, wherein said shared memory mapped file means further comprise mapping table means configured as hierarchical tree means; wherein said hierarchical tree means comprises; domain table means; domain data list means, and domain string means; said hierarchical tree means further comprising table offset means, which construct pointer means into said shared memory mapped file means; and a per process memory cache means. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer usable medium having computer readable code embodied therein for enabling a system for mapping table lookup optimization for use in a messaging system having at least one client operating with a first message protocol and at least one other client operating with a second message protocol said system comprising:
-
a messaging gateway; computer readable code that identifies a shared memory mapped file, wherein said shared memory mapped file further comprises computer readable code identifying mapping tables configured as computer readable code for hierarchical trees; wherein said computer readable code for hierarchical trees comprises; computer readable code for at least one domain table, computer readable code for at least one domain data list, and computer readable code for at least one domain data string; said computer readable code for hierarchical trees further comprising computer readable code for table offsets, which construct computer readable code for pointers into said computer readable code that identifies a shared memory mapped file; and computer readable code for a per process memory cache.
-
Specification