WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Message routing system for shared communication media networks    
United States Patent5095480   
Link to this pagehttp://www.wikipatents.com/5095480.html
Inventor(s)Fenner; Peter R. (600 Goodwin Dr., Richardson, TX 75081)
AbstractA plurality of disparate communication network systems communicate with each other through the use of different physical media protocols. Each of the systems has at least one input and one output. A message routing system couples a transmitter at any one system input to a receiver at any other system output using a message format that is structure independent of the location of the receiver in the system. Each receiver/transmitter device coupled to any one system input has a unique, fixed and unchangeable identification code regardless of the communication network system to which it is connected. To couple a message from any one receiver/transmitter device to a second receiver/transmitter device at an unknown location within the communication network system, a message format is transmitted from the sending location containing the fixed, unique identification code of the receiving station. A routing system having a plurality of intermediate routing devices receives the message format and couples it to the receiving station at the unknown location using only the fixed, unique identification codes of the transmitting and receiving stations and the addresses of the intermediate routing devices for determining routing.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5095480
Message routing system for shared communication media networks - US Patent 5095480 Drawing
Message routing system for shared communication media networks
Inventor     Fenner; Peter R. (600 Goodwin Dr., Richardson, TX 75081)
Owner/Assignee    
Patent assignment
All assignments
Publication Date     March 10, 1992
Application Number     07/367,012
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     June 16, 1989
US Classification     370/238 340/2.4 340/825.52 370/392 370/400 379/229
Int'l Classification     H04J 003/24
Examiner     Safourek; Benedict V.
Assistant Examiner     Hsu; Alpus H.
Attorney/Law Firm     O'Neil; Michael A.
Address
Parent Case    
Priority Data    
USPTO Field of Search     370/94.1 370/85.1 370/85.7 370/95.1 370/60 370/60.1 455/33 379/59 379/219 379/220 340/825.5 340/825.51 340/825.52 340/825.03 340/825.04 340/825.36 340/825.44
Patent Tags     message routing shared communication media networks
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4953162
Lyons
370/245
Aug,1990

[0 after 0 votes]
4912756
Hop
455/423
Mar,1990

[0 after 0 votes]
4887265
Felix
370/333
Dec,1989

[0 after 0 votes]
4875208
Furuhashi
370/400
Oct,1989

[0 after 0 votes]
4866431
Andros
340/825.02
Sep,1989

[0 after 0 votes]
4843622
Yotsutani
455/456.1
Jun,1989

[0 after 0 votes]
4742511
Johnson
370/406
May,1988

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


I claim:

1. A message routing apparatus for use in a communication system having a plurality of interconnected information networks, at least two of which have different physical media protocols, said system having an information source for transmitting a data message to an information receiver at an unknown physical location in said system comprising:

a first unique, fixed and unchangeable code identifying said source wherever said source may be located in said system;

a second unique, fixed and unchangeable code identifying said receiver wherever said receiver may be located in said system;

a plurality of network message routing devices connected to each other for forwarding to each other sequentially, both of said first and second unique codes, each network routing device having means for storing each of said first and second unique codes when received and the address of the network routing device from which the codes were received; and

one of said network routing devices receiving a data message from said source and routing said message to said receiver at said unknown location in said system; said route through said plurality of network routing devices being determined solely in accordance with said stored first and second unique identification codes and said stored addresses of said network routing devices; said message having a data format that is receiver-location structure independent with no receiver location code and network routing code therein.

2. An apparatus as in claim 1 wherein said routing devices further comprise:

a plurality of message handling network nodes forming multipath system connections between said source and said receiver;

a first one of said plurality of nodes communicating with said source and a second one of said nodes communicating with said receiver;

means in said first node for receiving said first unique code from said source and means in said second node for receiving said second unique code from said receiver, both said first and second nodes respectively forwarding said first and second unique codes to all network nodes directly connected to them for storage; and

all of said directly connected network nodes storing said first and second codes and the addresses of the forwarding nodes and further forwarding said first and second codes to all other network nodes directly connected to them as destinations within the system until all network nodes in the system have stored the first and second unique codes and the address of the directly connected forwarding nodes to enable each network node, beginning with the first node, to transmit data a message to the nearest directly connected network node from which it earlier received the unique second code thereby creating a communication path coupling the message from the source to the receiver.

3. An apparatus as in claim 2 wherein each node comprises:

a forwarding node address storage table and a destination node address table; and

routing logic connected to said forwarding node and destination node address storage tables for determining the shortest node route to said second node communicating with the receiver.

4. An apparatus as in claim 3 wherein said forwarding node and destination node addresses are processed by each node in parallel for storage in said forwarding and destination node address tables.

5. An apparatus as in claim 3 wherein said forwarding node and destination node addresses are processed serially by each node for storage in the forwarding and destination node address tables.

6. An apparatus as in claim 2 further comprising:

means for arithmetically compressing said first code to generate a respective address index that uniquely identifies a succeeding destination node address stored in said tables.

7. An apparatus as in claim 3 further comprising:

means for indicating when the node destination is a single node, when it is a group of nodes, and when it is all possible nodes; and

means in said routing logical responsive to said indicating means for routing said message packets to those nodes necessary to reach said indicated node destination.

8. In a plurality of disparate communication networks systems communicating with each other through the use of different physical media protocols, each of said systems having at least one input and one output, a message routing system for coupling any one system input to any other system output using a message format that is structure independent of the location of said other system output, said routing system comprising:

at least a first signal receiver/transmitter device coupled to said one system input and having a first identification code for transmission to said any one system input, said first code being unique, fixed and unchangeable at any location of said first device within said systems;

at least a second signal receiver/transmitter device coupled to said any other system output and having a second identification code for transmission to said any other system output, said second code being unique, fixed and unchangeable at any location of said second device within said systems;

a multiplicity of connected message routing centers, each of said routing centers being assigned a unique network address;

means for forwarding said first and second unique identification codes from said one system input and said any other system output to all routing centers in said system for storage;

means for enabling said first receiver/transmitter device to transmit said message format with said second unique fixed identification code of said second receiver/transmitter device to said any one system input; and

each routing center, in succession, beginning with said any one system input, forwarding the message to the nearest routing center from which it earlier received the forwarded unique fixed identification code of said second receiver/transmitter device thereby establishing a communication path between the source and the receiver, said path being determined only by the fixed, unique identification codes of the first and second receiver/transmitter devices and the addresses of the forwarding message routing centers.

9. A method of communication betwen at least one source and one receiver coupled to a plurality of interconnected communication networks, at least two of which have different physical media protocols, said networks being formed of a plurality of interconnected information handling nodes comprising the steps of:

assigning a unique, fixed identification code to each of said source and receiver which is unchanged regardless of the location of the source and receiver within the plurality of networks;

assigning a unique network address to each of said nodes;

transmitting said unique identification code of said source to at least one network node;

transmitting said unique identification code of said receiver to at least one network node;

forwarding said unique identification codes of said source and receiver from said network node to all other interconnected network nodes;

each network node remembering the network address of the node forwarding the unique identification codes to it;

transmitting a message from said source to a given node for said receiver at an unknown location in said communication network; and

each network node in succession, beginning with the given node, forwarding the message to the nearest node from which it earlier received the forwarded unique identification code of said receiver thereby establishing a communication path through said interconnected networks between the source and the receiver.

10. A message routing apparatus for use in a communication system having a plurality of interconnected information networks, at least two of which have different physical media protocols, said system having an information source for transmitting a data message to an information receiver at an unknown physical location in said system comprising:

a first unique, fixed and unchangeable code identifying said source wherever said source may be located in said system;

a second unique, fixed and unchangeable code identifying said receiver wherever said receiver may be located in said system;

a plurality of network message routing devices connected to each other for forwarding to each other sequentially, both of said first and second unique codes, each network routing device having means for storing each of said first and second unique codes when received and the address of each other network routing device from which the codes were received; and

one of said network routing devices receiving a data message from said source and routing said message to said receiver at said unknown location in said system; said route through said plurality of network routing devices being determined solely in accordance with said stored first and second unique identification codes and said stored addresses of said network routing devices; said message having a data format that is receiver-location structure independent with no receiver location code and network routing code therein;

said routing devices further comprised of a plurality of message handling network nodes forming multipath system connections between said source and said receiver; a first one of said plurality of nodes communicating with said source and a second one of said nodes communicating with said receiver; means in first node for receiving said first unique code from said source and means in said second node for receiving said second unique code from said receiver, both said first and second nodes respectively forwarding said first and second unique codes to all network nodes directly connected to them for storage; and all of said directly connected to them for storage; and all of said directly connected network nodes storing said first and second codes and the addresses of the forwarding nodes and further forwarding said first and second codes to all other network nodes directly connected to them as designations within the system until all network nodes in the system have stored the first and second unique codes and the address of the directly connected forwarding nodes in source and destination index tables to enable each network node, beginning with the first node, to transmit a message to the nearest directly connected network node from which it earlier received the second unique code identifying the receiver thereby creating a communication path coupling the message from the source to the receiver; and

means for a arithmetically compressing said first code to generate a respective address index that uniquely identifies a succeeding destination node address stored in said tables.

11. A message routing apparatus for use in a communication system having a plurality of interconnected information networks, at least two of which have different physical media protocols, said system having an information source for transmitting a data message to an information receiver at an unknown physical location in said system comprising:

a first unique, fixed and unchangeable code identifying said source wherever said source may be located in said system;

a second unique, fixed and unchangeable code identifying said receiver wherever said receiver may be located in said system;

a plurality of network message routing devices connected to each other for forwarding to each other sequentially, both of said first and second unique codes, each network routing device having means for storing each of said first and second unique codes when received and the address of each other network routing device from which the codes were received; and

one of said network routing devices receiving a data message from said source and routing said message to said receiver at said unknown location in said system; said route through said plurality of network routing devices being determined solely in accordance with said stored first and second unique identification codes and said stored addresses of said network routing devices; said message having a data format that is receiver-location structure independent with no receiver location code and network routing code therein;

said routing devices further including a plurality of message handling network nodes forming multipath system connections between said source and said receivers; a first one of said plurality of nodes communicating with said source and a second one of said nodes communicating with said receiver; means in said first node for receiving said first unique code from said source and means in said second node for receiving said second unique code from said receiver, both said first and second nodes respectively forwarding said first and second unique codes to all network nodes directly connected to them for storage; and all of said directly connected network nodes storing said first and second codes and the addresses of the forwarding nodes and further forwarding said first and second codes to all other network nodes directly connected to them as destinations within the system until all network nodes in the system have stored the first and second unique codes and the address of the directly connected forwarding nodes to enable each network node, beginning with the first node, to transmit a message to the nearest directly connected network node from which is earlier received the second unique code identifying the receiver thereby creating a communication path coupling the message from the source to the receiver;

each node further including a forwarding node address storage table and a destination node address table; and routing logic connected to said forwarding node and destination node address storage tables for determining the shortest node route to the said second node communicating with the receiver; and

means for indicating when the node destination is a single node, when it is a group of nodes, and when it is all possible nodes; and means in said routing logic responsive to said indicating means for routing said data messages to those nodes necessary to reach said indicating node destination.

12. A communication system of interconnected information networks in which data messages are routed between networks based on a non-hierarchical destination address for a receiver of the data message that does not change when the receiver changes networks, the system comprising:

a plurality of information networks;

a source of, and a receiver for, a data message; the data message including a unique, fixed and unchangeable destination address identifying the receiver to all of the information networks;

each information network in the plurality of information networks having a message handling node; the message handling nodes interconnected for routing the data message received by one message handling node from the source to another message handling node in communication with the receiver; and

each message handling node including means for compressing the destination code's value to an index for a memory storing a record of information with which to route the data message to a connected message handling node for eventual routing to the receiver.

13. The communications system of interconnected information networks according to claim 12 wherein the means for compressing includes means for arithmetically compressing the destination code's value.

14. The communication system of interconnected networks according to claim 13 wherein the destination code is comprised of a predetermined number of symbol positions, each position having a symbol value.

15. The communication system of interconnected networks according to claim 14 wherein the means for arithmetically compressing an index value is comprised of:

memory for storing sub-index values in a look-up table, the look-up table having one bank for each symbol position and each bank having a cell in which to store a sub-index value corresponding to each possible symbol value; and

means for combining the sub-index values for each symbol of the destination address into the index value.

16. The communication system of interconnected networks according to claim 15 further comprising means for encoding a destination address into the memory look-up table.

17. The communication system of interconnected networks according to claim 15 wherein the means of encoding a destination address is comprised of:

means for counting the number of non-zero sub-index values in each bank of the memory and incrementing the number by one;

means for electronically calculating a sub-index value for each symbol in the destination address to be encoded, the means for electronically calculating multiplying a range value for a symbol position by the number of non-zero values stored in the bank corresponding to the symbol value plus one; and

means for storing the sub-index value in a cell in the bank corresponding to the symbol value.

18. The communication system for inter-connected networks according to claim 12 wherein each message handling node transmits to the connected message handling node a unique, fixed and unchanging source address identifying the source in all of the networks, the means for generating generates from the source address an index value, and a node address identifying the connected node from which the source address was transmitted is stored in a memory at a location identified by the index value.
 Description Submit all comments and votes
 


FIELD OF THE INVENTION

The present invention relates to data communication between independent communication networks in general and in particular to message routing systems for communication between entities in point-to-point and shared media networks utilizing a message format system that is independent of location address structure.

BACKGROUND OF THE INVENTION

Data communication between computers has become a standard part of worldwide networks in many areas of endeavors. These individual networks gather data about diverse subjects and exchange information of common interest among various media groups. Most of these networks are independent communication entities that are established to serve the needs of a particular group. Some use high speed connections while others use slow speed networks. Some use one type of protocol while others use a different type of protocol. Other well-known differences between networks also exist. There has been considerable effort expended in an attempt to make it possible to interconnect disparate physical networks and make them function as a coordinated unit.

Whether they provide connections between one computer and another or between terminals and computers, communication networks are divided basically into circuit-switched or packet-switched types. Circuit-switched networks operate by forming a dedicated connection between two points. Such a dedicated circuit could be represented by a telephone connected through a circuit from the originating phone to a local switching office, across trunk lines to a remote switching office and finally to the destination telephone. When that circuit is complete, no other communications can travel over the wires that form the circuit. The advantage of such circuit lies in the fact that once it is established, no other network activity will decrease the capacity of the circuit. The disadvantage is that concurrent communication cannot take place on the line or circuit.

Packet-switched networks take an entirely different approach. In such system, traffic on the network is divided into small segments of information called packets that are multiplexed on high capacity intermachine connections. Each packet carries identification that enables other units on the network to know whether they are to receive the data or are to transmit it to another destination. The chief advantage of packet-switching is that multiple communications among information sources such as computers can proceed concurrently with connections between machines being shared by all machines that are communicating. The disadvantage is that as activity increases, a given pair of communicating devices can use less of the network capacity.

A new technology has been developed that is called Internet and it accommodates information or communication networks having multiple, diverse underlying hardware technologies, or physical media protocols, by adding both physical connections and a new set of conventions. One of the problems with the use of Internet is that addresses refer to connections and not to the device itself that is sending the information. Thus, if a communication source, such as an aircraft for example, moves from one communication network to another, its Internet address must change. Specifically, if an aircraft is transmitting a particular location address code in one communication network in the Internet system and it moves to another, its Internet address must change. It is similar to a traveler who has a personal computer operating with a first communication network. If the computer is taken on a trip and connected into the information system after reaching the new destination, a new location address for the computer must be obtained for the new destination. It is also similar to moving a telephone from one location to another. A new telephone number must be assigned to the telephone at the new location. The telephone cannot be reached at the new location with the old number. Further, when routing a signal from one station to another through a plurality of nodes forming multipath connections, the message format contains a destination location address that is used to make the routing decisions. When the system has multiple addresses, the route taken by the packets traveling to a particular station address depends upon the location code embedded in the station address.

Thus, two problems occur in such message communication networks. The first is the requirement to change the address code of the communication source when it is at different locations in the network and the second is routing the message to the receiver if the address has changed. It can be seen, then, that with the presently existing system, if host A transmits a message to host B with a specific location code, by the time the message arrives at that location, host B may have moved to a new information processing network and changed its location code to conform to the new system and thus could not receive the message transmitted by host A. Host A must know that host B has entered the new information processing system and then must change the format of the new location address in order to contact host B.

The present system overcomes the disadvantages of the prior art by simply assigning a fixed, unique and unchanging identification code to both host A and host B. As host B enters into a new network access system, it transmits its identification code to the nearest node and all of the nodes interconnecting all of the disparate networks each store, with the unique identification code of host B, the address of those nodes which can communicate with host B so that a path can be completed through the nodes between host A and host B.

In the prior art, hierarchical logical routing is used to address highly mobile end-systems (computers on ships and aircraft, etc.) that are simultaneously connected to multiple communication paths and employ multicast message traffic. Heirarchical routing schemes have great difficulty solving this combined set of problems and a new approach must be used to overcome the difficulties in using hierarchical routing to meet the user's diverse requirements.

Further, in the prior art, a logical network address of larger than 32 bits was too large to be used as a directory access method to locate a receiver at a location address specified in the message format. Specialized hierarchical address structures which embed network location information have been employed to reduce the size of the access index to the routing table and also to reduce the size of the routing table. This approach couples the address structure to the Internet routing software design.

There are various "hidden assumptions" of hierarchical addressing. These "hidden assumptions" are (1) the processing load of the router CPU increases as the size of the routing table increases and (2) computer memory is a scarce and expensive resource. The present invention overcomes the first of these problems while computer memory technology has addressed the second problem by making very large memories cost effective.

Traditional approaches for designing a network address structure have either been intimately entwined in the design of efficient routing look-up tables or assigned by a central authority such as ARPANET. Neither of these approaches gives much if any thought to the needs, desires or ease of use of the group which must make operational use of the system. In an age of fourth generation database languages and high level compilers, network addresses are basically hand-coded in low level language. Addresses and address structures are difficult to change as a mobile end-unit moves from one communication network to another. Experts are often required to ensure that operational equipment is properly integrated into the system. ISO (International Standards Organization) addressing provides a basis for a much better approach but the overall design and administration of a network addressing structure must be elevated to an easily supported, user friendly, distributed architecture to effectively support the user's long-term needs.

Traditional directory access methods, whether for Internet routing, databases or compiler symbol tables, fall into three basic categories:

(1) Sorted Tables. The keys are sorted by some rule which allows a particular search strategy (e.g., binary search) to locate the key. Associated with the key location is a pointer to the data.

(2) Tree Structures. Parts of the key field are used to traverse a tree data structure to a leaf node which holds the data or a pointer to the data.

(3) Hashing. Some arithmetic function is applied to the key which compresses the key field into a chosen integer range which is the initial directory size. This integer is the index into the directory which usually contains a pointer to the data.

Each of these techniques has advantages and disadvantages when applied to the Internet routing table access design. Sorted tables provide the potentially most compact storage utilization at the cost of having access computations which grow with the number of addresses (keys) active in the system. Computations for sorted tables grow proportional to the log of the number of keys plus one. Using sorted tables, the router processing will slow down as the number of active addresses increases. But the desirable result is to make computation independent of the number of active addresses. It has been theorized, without providing a method, that a scheme to access sorted tables could exist which always allows access in two probes. To date, no methods have been proposed which approaches this theoretical result.

Tree data structures have been widely employed for directories, particularly for file systems, such as the UNIX file system where larger amounts of auxiliary disc storage is being managed. Trees offer access times that are proportional to the length of the address (key). Trees trade off memory space for processing load. More branches at each level decreases the processing but uses much more memory. For example, a binary tree uses two locations at each level for each bit in the address field for which there is an active address. The binary tree processing of an eight bit octet requires eight memory accesses as well as unpacking the bits from the octet. On the other hand, processing a 256 way tree takes one memory access using the address octet as an index at each level. A 256 way tree requires 256 locations at the next level for every different octet active (a valid value) at the current level. An address of six octets with ten valid octet values in each octet position would require 256.times.10.sup.6 (256 million) locations, rapidly reaching an unrealizable size on current computer equipment. With current realizable computer memory sizes, pure tree structures do not appear to offer a viable structure for real time, address independent directory access method.

Hashing has often been used over the last several decades to create directories where fast access is desired. One system uses a multi-level hashing scheme as the file system directory structure. The Total database system is based on hashed key access. Many language compilers use hash tables to store symbols. Hash table schemes have good average access costs--often a single access, but can degrade drastically when the table becomes too full or the hashing function does not perform a good job of evenly distributing the keys across the table. Some techniques called "linear hashing" and "dynamic hashing" have provided the method of expanding the hash table when a particular bucket becomes too full instead of using the traditional linked list overflow methods. These techniques generally require about 40% more space than the number of active addresses (keys) to achieve single access speed without employing overflow methods.

All general hashing techniques use a variation of several common randomizing functions (such as dividing the key by a prime number and using the remainder) to "compress" the key field into a much smaller integer index into the hash table. Hashing functions have traditionally been viewed as one-way, randomized mapping of the key set into the hash space. The index computed by the hashing function could not be used to reconstruct the key. If for a particular hash function there exists a reciprocal function which maps the index to the unique key which generated the index, then the compressed keys could be stored in the directory.

The present invention overcomes the disadvantages of the prior art by considering a flat, as opposed to hierarchical, logical routing address space with unique identifiers assigned to each transmitter and receiver to vastly simplify the modern communication problems of addressing highly mobile end-systems which are simultaneously connected to multiple communication paths and employ multicast message traffic.

Further, the present invention employs a reversible arithmetic code compression technique to reduce the logical network address of up to 128 bits to a unique integer value which preserves any hierarchical ordering of the network address.

Also, the present invention employs dynamic hashing and memory allocation techniques to automatically adjust the size of the routing table directory and routing records to accommodate the number of end-system addresses currently active in the communication system. These techniques provide a selection of approaches to allow graceful degradation of the routing efficiency when the memory available for routing tables is full.

Finally, the system improves over the prior art by using a message format that is structure independent of the location of the destination of the message receiver.

Arithmetic coding, when applied to addresses as known length keys, provides several advantages for table look-up when the addresses are known or can be learned in advance as they are in communications applications. The proposed arithmetic coding routing table design provides direct support for mobile, multi-homed, shared network end-systems employing multicast and unicast messaging while minimizing the effects of the "hidden assumptions" that have lead to reducing the routing table size by embracing hierarchical routing schemes.

First, the identification encoding parameter tables are easily constructed by counting the occurrence of a particular symbol value and the accumulative distribution over all octet occurrences. That is, the tables are scaled to the statistical occurrence of each octet value. When a "bucket" overflows, dynamic hashing approaches can be used to expand the directory or parameter tables.

Secondly, arithmetic coding can be constructed to operate on each symbol position in the address field as it arrives, allowing processing to begin as soon as the first address symbol arrives.

Thirdly, arithmetic coding preserves the hierarchical (left to right precedence) of the ISO addresses being encoded. This is desirable if an Internet router only has knowledge of the network address but the Internet header carries the full destination address of a succeeding system node.

Finally, a constant known set of computations is required for each symbol of the address field independent of the number of address symbols or the number of active Internet addresses.

These features make the arithmetic coding used herein an ideal candidate for the routing table directory structure that is independent of a location address in a router, gate way or end-system.

The present invention provides a very fast, automatically expandable, source filtered Internet routing scheme totally independent of the internal logical or physical structure of the network addresses in the message format that it is routing. Addresses are just unique identification numbers represented by a string of symbols of known length. Each Internet router learns the location of these numbers within the network from the Internet protocol traffic, from the source addresses of the packets it receives, and from a network management protocol.

Address independent routing tables provides the following direct benefits:

They provide a very fast routing table access scheme that is capable of supporting fast packet switch designs for very high speed media such as FDDI (i.e., routers which begin the outbound transmission of the packet as soon as possible after receiving the Internet header and before the whole packet has been received).

They allow source address filtering for efficient multicast operation and security partitioning of the network.

They allow independent automatic generation of network addresses from a user name space by a network name service. This facilitates using the same Internet software in disconnected networks with different addressing authorities and different address structures.

They allow for orderly expansion, restructuring and redesign of the user name space without changing the Internet code or table structure.

They reduce initial system procurement and logistic support costs because no special coding is needed for different networks.

They reduce life cycle system costs because the Internet routers automatically adapt to network changes and they can be expanded without routing table modification.

The present invention combines arithmetic coding with dynamic hashing to provide a very high speed method and system for detecting the 48 bit physical addresses in a Media Access Controller (MAC). The present system guarantees the acceptance or rejection of a frame. This technique always performs address detection functions within the transmission time of the address field plus a small fixed number of octet clocks depending On the logic implementation chosen. Specifically, the present system provides the following features: (1) variable length addresses with no known internal structure and processed with a number of memory accesses and a processing time proportional to the number of octets in the address field; (2) the size of the routing tables is directly proportional to the number of active addresses known to the router and within the practical limits of currently available microprocessing systems; (3) and the computational operations required to access the routing table for any address is linearly proportional to the length of the address field and these computations are reasonably performed by currently available microprocessor systems.

SUMMARY OF THE INVENTION

Thus the present invention relates to a system for routing a message between a source and a destination and which utilizes a message format that is structure-independent of the location of the message destination, said system comprising at least a first signal transceiver device having only a first fixed unique identification code wherever the transceiver device may be located; at least a second signal transceiver device for communicating with the first transceiver device and having only a second fixed unique identification code wherever the second transceiver device may be located; and routing nodes for coupling a transmitted signal from the first transceiver device to the second transceiver device at an unknown physical location within the system using a routing message format containing only the first and second transceiver fixed unique identification codes and addresses of the routing nodes with a message format that is structure-independent of any transceiver location code.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be more fully understood in connection with the accompanying drawings in which:

FIG. 1 is a general diagrammatic representation of an Internet communication system that, as used in the prior art, uses information handling nodes and network addresses for each host that must be changed as the host moves from one communication network to another thereby requiring a complex and cumbersome system to enable data communication from a message transmitting host to a system receiving host; when modified by the present invention, the system of FIG. 1 enables a message routing system using a message format having an internal logical or physical structure that is totally independent of the message receiving host location address;

FIG. 2 is a schematic representation of the circuitry in an individual system node using parallel processing to detect the address of the next node or nodes in the system that are to receive a packet of information;

FIG. 3 is a schematic representation of an alternate circuit using serial processing at any particular node in the system to determine the address of any other node or nodes that are to receive the data packet; and

FIG. 4 is a diagrammatic representation of the circuitry for enabling the message format used by the routing system to be totally independent of the internal logical or physical structure of the address of the receiving host to whom the message format is being routed and further illustrates the manner in which a destination address or source address can be compressed to provide a usable index for accessing the address directory.

DETAILED DESCRIPTION OF THE DRAWINGS

There are many communication networks existing today which are independent entities with respect to each other such as shown in FIG. 1. Each system 1-5 uses a particular hardware technology appropriate for its own communication problems; some use high speed networks; others use slower speed networks to interconnect machines. There are long haul networks and local area networks (LANS). There are shared media networks such as ETHERNET, TOKEN RING, TOKEN BUS, FDDI and the like, each of which has a different physical media protocol. Each of these network information systems may have its own protocol for handling information within the system.

When electrical wires or cables are used to couple shared media networks, the size of the net is limited by signal attenuation to a few hundred meters; thus, the name Local Area Networks. There is no reason to limit