WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
General transport layer gateway for heterogeneous networks    
United States Patent5491693   
Link to this pagehttp://www.wikipatents.com/5491693.html
Inventor(s)Britton; Kathryn H. (Chapel Hill, NC); Chung; Tein-Yaw (Chung-Li, TW); Doeringer; Willibald (Langnau, CH); Dykeman; Harold D. (Dietikon, CH); Edwards; Allan K. (Raleigh, NC); Mathew; Johny (Cary, NC); Pozefsky; Diane P. (Chapel Hill, NC); Sarkar; Soumitra (Cary, NC); Turner; Roger D. (Raleigh, NC)
AbstractA multiprotocol transport network (MPTN) gateway provides transparent interconnection of two or more SPTNs running different transport layer protocols to form an integrated heterogeneous MPTN. The MPTN gateway of the present invention has no dependencies on the particular transport protocols running on the SPTNs being interconnected as it utilizes a common transport provider (a Gateway Services Protocol Boundary (GSPB)) between the SPTN transport protocols and the gateway components. The MPTN gateway supports connections between end systems across multiple intermediate networks. The MPTN gateway provides automatic routing based on dynamic participation in the routing protocols of the interconnected SPTNs so that any number of gateways may be interconnected and in any topology desired. As the MPTN gateway has a general architecture and acquires routing information automatically, it supports not only other MPTN nodes and gateways but also non-MPTN nodes and gateways.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Britton; Kathryn H. (Chapel Hill, NC); Chung; Tein-Yaw (Chung-Li, TW); Doeringer; Willibald (Langnau, CH); Dykeman; Harold D. (Dietikon, CH); Edwards; Allan K. (Raleigh, NC); Mathew; Johny (Cary, NC); Pozefsky; Diane P. (Chapel Hill, NC); Sarkar; Soumitra (Cary, NC); Turner; Roger D. (Raleigh, NC)
Owner/Assignee     International Business Machines Corporation (Armonk, NY)
Patent assignment
All assignments
Publication Date     February 13, 1996
Application Number     08/189,816
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     February 1, 1994
US Classification     370/401 709/230
Int'l Classification     H04L 012/66 H04L 029/06
Examiner     Chin; Wellington
Assistant Examiner    
Attorney/Law Firm     Keohane; Stephen T.
Address
Parent Case     RELATED APPLICATIONS AND PATENTS This application is a continuation-in-part of U.S. application Ser. No. 08/175,985, entitled "General Transport Layer Gateway for Heterogenerous Networks", filed Oct. 30, 1993.
Priority Data    
USPTO Field of Search     370/60 370/60.1 370/85.13 370/85.14 370/94.1 370/94.2 370/110.1
Patent Tags     general transport layer gateway heterogeneous 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
5309437
Perlman
370/401
May,1994

[0 after 0 votes]
5251205
Callon
370/392
Oct,1993

[0 after 0 votes]
5243595
Woest
370/469
Sep,1993

[0 after 0 votes]
5235592
Cheng

Aug,1993

[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
 


What is claimed is:

1. A gateway for being interconnected between a first single protocol transport network SPTN running a first transport provider protocol and a second SPTN running a second transport provider protocol, for receiving from a node connected to said first SPTN a basic link unit BLU having header information conforming to said first protocol, for processing said first protocol BLU to a BLU having header information conforming to said second protocol, and conveying said second protocol BLU to a node connected to said second SPTN, said gateway comprising:

a first SPTN transport provider having means for receiving said first protocol BLU and means for processing said first protocol header information into a general form;

a second SPTN transport provider having means for conveying said second protocol BLU to said second SPTN, and means for processing general form header information into header information conforming to said second protocol; and

an element for providing general gateway services for said first and second SPTN transport providers comprising means for receiving general form header information from said first SPTN transport provider, means for processing said received general form header information, means for creating new general form header information and means for building a multiprotocol transport network MPTN header and means for conveying to said second SPTN transport provider said new general form header information and said MPTN header.

2. The gateway defined in claim 1 wherein said first protocol BLU further has a first protocol BLU MPTN header and said general gateway services element further comprises means for receiving said first protocol BLU MPTN header from said first SPTN transport provider, means for processing said first protocol BLU MPTN header, and means for creating new general form header information based upon said received first protocol BLU MPTN header and means for conveying said new general form header information and said first protocol BLU MPTN header to said second SPTN transport provider.

3. The gateway defined in claim 2 wherein said first protocol BLU MPTN header processing means comprises a routing services element for determining the address of said node on said second SPTN based upon information in said first protocol BLU MPTN header.

4. The gateway defined in claim 2 wherein said first SPTN transport provider further has means for determining whether said first protocol BLU is an MPTN BLU.

5. The gateway defined in claim 1 wherein said first SPTN transport provider further comprises means for conveying said first protocol BLU to said first SPTN and said first protocol header information processing means comprises means for determining whether said first protocol BLU needs to be conveyed to another SPTN or needs to be conveyed to said first SPTN.

6. The gateway defined in claim 1 wherein said general gateway services element further comprises a routing services element for determining the address of said node on said second SPTN based upon said received general form header information.

7. The gateway defined in claim 1 further comprising, in addition to said first SPTN transport provider and said second SPTN transport provider, a plurality of unique SPTN transport providers, different from said first SPTN transport provider, from said second SPTN transport provider and from each other, each for providing an transport provider to an SPTN running a correspondingly unique transport protocol, each unique SPTN transport provider having means for receiving a BLU having header information conforming to said corresponding unique SPTN protocol, means for processing said unique SPTN protocol header information into general form header information, means for receiving from said general gateway services element and processing general form header information into unique protocol header information and means for conveying a unique protocol BLU to said unique SPTN.

8. The gateway defined in claim 1 wherein said general gateway services element further comprises a gateway services element for relaying datagrams from said first SPTN transport provider to said second SPTN transport provider.

9. The gateway defined in claim 8 wherein said gateway further comprises a relay and said gateway services element establishes connections between said first and second SPTN transport providers utilizing said relay.

10. In a gateway for being interconnected between a first SPTN running a first transport provider protocol and a second SPTN running a second protocol, said gateway comprising first and second transport providers for interfacing with said first and second SPTNs and further comprising a general gateway services element for providing gateway services to said first and second transport providers, a method of conveying a basic link unit BLU from said first SPTN to said second SPTN, said received BLU consisting of header information conforming to said first protocol, said method comprising the steps of:

receiving said BLU from said first SPTN in said first transport provider;

in said first transport provider, processing said header information into a general form understood by said general gateway services element;

conveying to said general gateway services element said general form header information;

in said general gateway services element, building a multiprotocol transport network MPTN header;

in said general gateway services element, creating new general form header information based upon said general form header information;

conveying to said second transport provider said MPTN header and said new general form header information; and

in said second transport provider, processing said new general form header information into a header information conforming to said second protocol; and

from said second transport provider, conveying, to said second SPTN, a second protocol BLU having said second protocol header information and said MPTN header.

11. The method defined in claim 10 further comprising, before said MPTN header building step, the step of examining said general form destination address and determining an intermediary address and further wherein, in said building step, said MPTN header is based upon said intermediary address.

12. The method defined in claim 11 wherein said BLU received by said first transport provider further consists of a first transport provider MPTN header of a form understood by said general gateway services element and said building step comprises the steps of examining said received first transport provider MPTN header, determining an intermediary address based upon said first transport provider MPTN header, and creating said new general form header information based on said intermediary address.

13. The method defined in claim 10 wherein said gateway further comprises a relay for establishing a connection through said gateway between said first SPTN and said second SPTN and said received BLU further has a command field conforming to said first protocol, said method further comprising the step, after said destination address processing step, of processing said command field into a general form understood by said general services element, and, before said building step, the step of examining said general form command field and, where said command is a CONNECT command, said building step comprises building a different header MPTN header having an MPTN CONNECT command.

14. The method defined in claim 10 wherein said MPTN header building step comprises the step of determining the address of said node on said second SPTN based upon information in said MPTN header.

15. A gateway for being interconnected between a first single protocol transport network SPTN running a first transport provider protocol and a second SPTN running a second transport provider protocol, for receiving from a multiprotocol transport MPTN node connected to said first SPTN a basic link unit BLU having header information conforming to said first protocol and further having MPTN header information, for processing said first protocol BLU to a BLU having header information conforming to said second protocol, and conveying said second protocol BLU to a native node connected to said second SPTN, said gateway comprising:

a first SPTN transport provider having means for receiving said first protocol BLU and means for processing said first protocol header information into a general form;

a second SPTN transport provider having means for conveying said second protocol BLU to said second SPTN, and means for processing general form header information into header information conforming to said second protocol; and

an element for providing general gateway services for said first and second SPTN transport providers comprising means for receiving general form header information and said MPTN header information from said first SPTN transport provider, means for processing said received general form header information and said MPTN header information, means for creating new general form header information and means for conveying to said second SPTN transport provider said new general form header information.

16. The gateway defined in claim 15 wherein said general gateway services element further comprises means for conveying to said second SPTN transport provider said MPTN header information.

17. The gateway defined in claim 15 wherein said MPTN header processing means comprises a routing services element for determining the address of said node on said second SPTN based upon information in said MPTN header.

18. The gateway defined in claim 15 wherein said first SPTN transport provider further has means for determining whether said first protocol BLU is an MPTN BLU.

19. The gateway defined in claim 15 wherein said first SPTN transport provider further comprises means for conveying said first protocol BLU to said first SPTN and said first protocol header information processing means comprises means for determining whether said first protocol BLU needs to be conveyed to another SPTN or needs to be conveyed to said first SPTN.

20. The gateway defined in claim 15 wherein said general gateway services element further comprises a routing services element for determining the address of said node on said second SPTN based upon said received general form header information.

21. The gateway defined in claim 15 further comprising, in addition to said first SPTN transport provider and said second SPTN transport provider, a plurality of unique SPTN transport providers, different from said first SPTN transport provider, from said second SPTN transport provider and from each other, each for providing an transport provider to an SPTN running a correspondingly unique transport protocol, each unique SPTN transport provider having means for receiving a BLU having header information conforming to said corresponding unique SPTN protocol, means for processing said unique SPTN protocol header information into general form header information, means for receiving from said general gateway services element and processing general form header information into unique protocol header information and means for conveying a unique protocol BLU to said unique SPTN.

22. The gateway defined in claim 15 wherein said general gateway services element further comprises a gateway services element for relaying datagrams from said first SPTN transport provider to said second SPTN transport provider.

23. The gateway defined in claim 22 wherein said gateway further comprises a relay and said gateway services element establishes connections between said first and second SPTN transport providers utilizing said relay.

24. In a gateway for being interconnected between a first single protocol transport network SPTN running a first transport provider protocol and a second SPTN running a second protocol, said gateway comprising first and second transport providers for interfacing with said first and second SPTNs and further comprising a general gateway services element for providing gateway services to said first and second transport providers, a method of conveying a basic link unit BLU from said first SPTN to said second SPTN, said received BLU consisting of header information conforming to said first protocol and further consisting of multiprotocol transport network MPTN header information, said method comprising the steps of:

receiving said BLU from said first SPTN in said first transport provider;

in said first transport provider, processing said header information into a general form understood by said general gateway services element;

conveying to said general gateway services element said general form header information and said MPTN header information;

in said general gateway services element, processing said MPTN header information;

in said general gateway services element, creating new general form header information based upon said general form header information;

conveying to said second transport provider said new general form header information; and

in said second transport provider, processing said new general form header information into a header information conforming to said second protocol; and

from said second transport provider, conveying, to said second SPTN, a second protocol BLU having said second protocol header information.

25. The method defined in claim 24 wherein said MPTN header information processing step comprises the steps of examining said received MPTN header, determining an intermediary address based upon said MPTN header, and creating said new general form header information based upon said intermediary address.

26. The method defined in claim 24 wherein said gateway further comprises a relay for establishing a connection through said gateway between said first SPTN and said second SPTN and said MPTN header information further has an MPTN command field, said MPTN header information processing step further comprising the step of examining said MPTN command field and, where said command is an MPTN CONNECT command, said method further comprising the step of building a general form command field having a general form CONNECT command.

27. The method defined in claim 24 wherein said MPTN header processing step comprises the step of determining the address of said node on said second SPTN based upon information in said MPTN header.
 Description Submit all comments and votes
 


This application is closely related to our own, commonly assigned U.S. Pat. No. 5,224,098, entitled "Compensation for Mismatched Transport Protocols in a Data Communication Network". The patent describes a Multi-Protocol Transport Networking (MPTN) Architecture which allows an application program running at one node in a network to communicate with a second application program running at another node in the network even where the application programming interface (API) assumes a different set of transport functions than those supported by the transport provider. In particular, it relates to a method for establishing communication, either connectionless or with a connection, between the applications and compensating for transport protocol mismatches, if any.

This application is also related to another one of our own, commonly assigned, copending application Ser. No. 07/915,969, filed Jul. 16, 1992, entitled "Protocol Selection and Address Resolution for Programs Running in Heterogeneous Networks". This copending application relates to address resolution and protocol selection among multiple transport protocols for the applications and the nodes in the MPTN.

This application is further related to another one of our own, commonly assigned, U.S. Pat. No. 5,361,256, issued on Nov. 1, 1994, entitled "Inter-Domain Multicast Routing". This Patent relates to a method of and system for multicasting messages in a complex network that is originally equipped only for unicast transmission.

BACKGROUND OF THE INVENTION

I. Field of the Invention

The present invention relates to data communications and, more particularly, to a gateway which provides transparent interconnection of two or more networks running different protocols.

II. Background and Prior Art

As communications network have evolved, independent suppliers of computer hardware and software developed different, non-compatible formats and protocols for transporting data through the communications networks. Examples of well-known communications protocols include System Network Architecture (SNA), Digital Network Architecture (DECNet), Transmission Control Protocol/Internet Protocol (TCP/IP), NetBIOS and OSI.

As networks have grown, and particularly as local area networks (LANs) have come into widespread use, many organizations have ended up with one or more physical networks that are confederations of one or more logical networks, each logical network running a different networking protocol. (A logical network runs a single networking protocol and is referred to a single protocol transport network, or SPTN. ) For example, a single organization may have dozens of SPTNs running as many as four or five different networking protocols. (Such a physical network having more than one logical networks, or SPTNs, is termed heterogeneous network.) This heterogeneity complicates communications as distributed programs are generally written for a particular application programming interface (API) which assumes a specific networking protocol, and can, therefore, only run on limited parts of the overall physical network.

In a node, if a mismatch exists between the transport protocols (the most basic end-to-end networking protocols for opening and closing connections, sending and receiving data on connections, and sending and receiving datagrams) assumed by the particular API for a company's application program and the transport protocols actually implemented in one or more of the SPTNs on which the company would like to transport the application data, compensation between the API and the transport provider may be required. This is described in greater detail in closely related U.S. Pat. No. 5,224,098.

In addition, there are addressing problems associated with the heterogeneous networks. A program today identifies itself and finds its partners using addresses associated with a particular networking protocol. (A networking protocol uses addresses to locate programs in the SPTN via existing protocol-specific means, such as local directory searches or directory broadcasts, and to route to those programs.) In order for the program to operate over multiple, different networking protocols, such as in a heterogeneous network, a mechanism is needed to bridge the gap between the specific address set used by the program and the address sets used by the networking protocols. In particular, program independence from specific network protocols requires a transport-independent mechanism for finding the source and destination application programs and the corresponding available transport protocols. In addition, a mechanism for selecting the best transport protocol to utilize, when multiple networking protocols are available, is required. This is described in greater detail in closely related patent application Ser. No. 07/915,969.

Where there are a number of SPTNs running different protocols, a gateway provides transparent interconnection of the SPTNs so that a single multiprotocol transport network, or MPTN, is formed. This MPTN appears to the end user applications, as if a single protocol was used throughout the heterogeneous network. Gateways, among other things, provide routing functions in order to enable resources to be located and to relay data between the SPTNs to achieve end-to-end connectivity.

Present gateways, however, have many limitations making the interconnection of networks running different protocols non-transparent, if the interconnection is even possible. For instance, present gateways are transport layer protocol-specific. An example of a transport layer protocol-specific gateway is one which is able to interconnect a network running one flavor of OSI with another network running another flavor of OSI. This gateway is not able to interconnect other types of networks, for example a network running TCP/IP and a network running SNA. More detail is given on an OSI gateway in an article entitled "An Approach to CO/CL Internetworking", CO/CL Internetworking Workshop, Jul. 24-26, 1990.

Another problem with present gateways is that a maximum of two networks may be interconnected, i.e., one gateway being used between the two interconnected networks. No additional networks may be added so that one continuous heterogeneous network may be formed.

Further, with current gateway solutions, all nodes in an SPTN must be upgraded to include additional functions and protocols in order to operate with the gateway. This is not feasible in many environments due to the large number of nodes and cost.

There is a need for a transport layer gateway that has a general architecture so that is has no dependencies on the transport protocols being supported by the interconnected networks. Also, there is a requirement for such a gateway to support connectivity across multiple SPTNs. This gateway should also support existing nodes running existing protocols that cannot be upgraded to include new functions.

SUMMARY OF THE INVENTION

A multiprotocol transport networking (MPTN) gateway provides transparent interconnection of two or more SPTNs running different transport layer protocols to form an integrated heterogeneous MPTN. The MPTN gateway of the present invention has no dependencies on the particular transport protocols running on the SPTNs being interconnected as it utilizes a common interface (a Gateway Services Protocol Boundary (GSPB)) between the SPTN transport protocols and the gateway components. The MPTN gateway supports connections between end systems across multiple intermediate networks. The MPTN gateway provides automatic routing based on dynamic participation in the routing protocols of the interconnected SPTNs so that any number of gateways may be interconnected and in any topology desired. As the MPTN gateway has a general architecture and acquires routing information automatically, it supports not only other MPTN nodes and gateways but also non-MPTN nodes and gateways.

BRIEF DESCRIPTION OF THE DRAWINGS

While the technical description concludes with claims particularly pointing out and distinctly claiming that which is regarded as the invention, details of a preferred embodiment of the invention may be more readily ascertained from the following technical description when read in conjunction with the accompanying drawings, where:

FIG. 1 is a diagram illustrating a multiprotocol transport network (MPTN) consisting of a number of single protocol transport networks (SPTNs) interconnected by MPTN gateways of the present invention.

FIG. 2 depicts the MPTN gateway of the present invention in block diagram form.

FIG. 3 depicts the basic format of a basic link unit (BLU) which is received by the MPTN gateway of the present invention from a native node.

FIG. 4 depicts the basic format of a BLU which is received by the MPTN gateway of the present invention from an MPTN node.

FIG. 5 illustrates the flow of messages and other information exchanged between a native node on an SPTN and the various elements of the MPTN gateway when the native node issues a native search request.

FIG. 5A illustrates, in flow chart form, the procedure followed by the Routing Services Element when routing information is requested.

FIGS. 6A and 6B illustrate the flow of messages and other information exchanged between an MPTN gateway, a native node on an SPTN and the various elements of the MPTN gateway when the MPTN gateway issues an MPTN search request.

FIG. 7 illustrates the flow of messages and other information exchanged between a native node on an SPTN and the various elements of the MPTN gateway when the native node is advertising routing information to the MPTN Gateway.

FIG. 8 illustrates the flow of messages and other information exchanged between a native node on an SPTN and the various elements of the MPTN gateway when the MPTN gateway is advertising routing information to the native node.

FIG. 9 illustrates the flow of messages and other information exchanged between nodes on the SPTNs and the various elements of the MPTN gateway during the conveyance of a datagram between a Native Node on one SPTN and another node on another SPTN.

FIG. 10 illustrates the flow of messages and other information exchanged between nodes on the SPTNs and the various elements of the MPTN gateway during the conveyance of a datagram between an MPTN node on one SPTN and another node on another SPTN.

FIGS. 11a and 11b illustrate the flow of messages and other information exchanged between nodes on the SPTNs and the various elements of the MPTN gateway during the establishment of a connection between a Native Node on one SPTN and another node on another SPTN.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 is a high-level block diagram of a multiprotocol transport network (MPTN) 10 consisting of five independent single protocol transport networks (SPTNs): an OSI SPTN (N.sub.OSI 12), a TCP/IP SPTN (N.sub.TCP 14), an SNA SPTN (N.sub.SNA 16), a NetBIOS SPTN (N.sub.NetBIOS 18), and a second SNA SPTN (N.sub.SNA 19). Each SPTN implements a different communication protocol. In particular, in this example, N.sub.OSI 12 implements the OSI communication protocol stack, N.sub.TCP 14 operates under the TCP/IP protocol, N.sub.SNA 16 operates using the SNA communication protocol, and so forth.

Each of the SPTNs has nodes connected thereto. In particular, N.sub.OSI 12 has nodes ND1 20 and ND2 21, N.sub.TCP 14 has node ND3 22, N.sub.SNA 16 has node ND4 23, N.sub.NetBIOS 18 has node ND5 24 and N.sub.SNA 19 has nodes ND6 25 and ND7 26. For simplicity, each SPTN is shown having only one or two nodes but in reality can have any number of nodes.

Some of these nodes are MPTN access nodes while others are non-MPTN access nodes or native nodes. MPTN access nodes are discussed in great detail in U.S. Pat. No. 5,224,098 and copending application Ser. No. 07/915,969. In the figure, there are three MPTN Access Nodes, ND1 20, ND5 24 and ND6 25. For the purposes of this specification, an MPTN access node is an end node which allows a first transport user (29a, for example) conforming to a particular protocol interface definition, SNA, in this example, to use a transport provider (31a) conforming to a different protocol interface definition, OSI, for conveying information over an MPTN to another transport user (29c) conforming to the first transport user's protocol interface definition (SNA). This communication may be over any number of SPTNs and protocols and is shown in FIG. 1 as dashed line 33a. As can be seen, the communication between N.sub.OSI and N.sub.NetBIOS is conveyed by an MPTN gateway (GW1 30) which will be discussed in further detail below.

Similarly, some of the nodes are non-MPTN nodes, or native nodes. In the figure, there are four native nodes, ND2 21, ND3 22, ND4 23 and ND7 26. A native node for the purposes of this specification is a node having a transport user 29d which conforms to the same protocol interface definition (OSI, in this example) as its transport provider (31b). Communication between a transport user 29d of a native node ND2 21 and another transport user 29e of an MPTN Access Node ND6 25 is shown by dashed line 33b. The vast majority of presently installed nodes in today's networks are native nodes.

Interconnecting the SPTNs N.sub.OSI 12, N.sub.TCP 14, N.sub.SNA 16, N.sub.NetBIOS 18, and N.sub.SNA 19 are MPTN gateways (GW1 30 and GW2 32) of the present invention. The MPTN gateway of the present invention has no dependencies on the transport protocols being connected, is able to concatenate two or more SPTNs to form the end-to-end connection, provides automatic routing based upon dynamic participation in the routing protocols of the concatenated SPTNs, and supports both MPTN and native nodes.

FIG. 2 illustrates the MPTN Gateway 30 of the present invention in block diagram form connected to SPTNs N.sub.OSI 12, N.sub.TCP 14, N.sub.SNA 16 and N.sub.NetBIOS 18. Gateway 30 consists of a plurality of Transport Providers TPr.sub.OSI 34a, TPr.sub.TCP 34b, TPr.sub.SNA 34c and TPr.sub.NetBIOS 34d. These Transport Providers define the transport protocols that are actually implemented when data is exchanged between nodes (or gateways) on one SPTN, plus new MPTN protocols (or deltas) to support non-MPTN nodes. In this example, TPr.sub.OSI implements the TCP protocol plus deltas, and so forth. Each of the Transport Providers performs all of the transport provider-specific functions in the MPTN Gateway. Only four Transport Providers are shown although any number of providers may be implemented in Gateway 30.

MPTN Gateway 30 further consists of an MPTN General Services Element 36 which is logically connected to each of the Transport Providers. MPTN General Services Element 36 provides various services for the Gateway 30, none of which are transport protocol-specific. MPTN General Services Element 36 is separated from the Transport Providers by a Gateway Services Protocol Boundary (GSPB) 38 which defines the interface between the Transport Providers 34a, 34b, 34c, and 34d and the MPTN General Services Element 36. Above the GSPB, no transport protocol-specific functions occur.

The use of the GSPB is important for a number of reasons. First, separating the MPTN General Services Element from the specific Transport Providers allows the MPTN General Services Element to be independent from the underlying Transport Providers.

Second, a mapping can be defined from each supported Provider to the GSPB and vice versa. This allows a much easier definition of mappings between supported Transport Providers. Rather than defining the mapping from each supported Transport Provider to each other Transport Provider (an O(N.sup.2) problem), all that is required is to define the mapping from each supported Transport Provider to the general form (an O(N) problem).

Third, enabling a new Transport Provider to be a part of an MPTN gateway is simple. The new Transport Provider merely has to map its transport protocol to the GSPB. This allows a Transport Provider to be installed without requiring changes to the MPTN General Services Element 36.

MPTN General Services Element 36 consists of a number of elements: 1) a Manager 40 for managing the activities within the MPTN General Services Element 36; 2) a Gateway Services Element 42 for relaying datagrams and establishing connections through other gateways; and 3) a Routing Services Element 44 for maintaining an address look-up table for determining the location of a requested end user (such as that defined by the Interdomain Routing Protocol, or IDRP) and for implementing multicast search and verification protocols.

Gateway 30 further consists of a Relay 48 which efficiently relays connections data through the Gateway when a connection is established between two SPTNs.

FIGS. 3 and 4 are graphical representations at a high level of the format of a basic link unit (BLU) which is routed throughout the MPTN 10 between MPTN Access Nodes, MPTN Gateways and Native Nodes. (A more thorough description of message formats can be found in copending application Ser. No. 07/915,969). A BLU, for the purposes of this specification, is a packet of information being conveyed between the SPTNs via the Gateway. The label given to the BLU is dependent upon the transport provider protocol. For instance, if the BLU is being conveyed upon a frame relay network, it is labeled a "frame". Or, if it is being conveyed via an asynchronous transfer mode (ATM) network, it is labeled a "cell". All of these various data units are BLUs for the purposes of this invention.

FIG. 3 illustrates a BLU as it is received at the MPTN Gateway 30 of the present invention from a Native Node, such as ND2 21 of FIG. 1. FIG. 4 illustrates a BLU as it is received at the MPTN Gateway 30 from an MPTN Access Node, such as ND1 20 of FIG. 1. Alternatively, the BLU illustrated in FIG. 4 could be received at an MPTN Access Node from an MPTN Gateway.

As shown in FIG. 3, Native Node BLU includes a Transport Provider-specific header and trailer (TPr Hdr, TPr Tlr, respectively). This header and trailer is used for conveying the BLU through the SPTN as is well known in the art. The Transport Protocol header consists of a number of fields: a Command Type field (Comm Type) for identifying particular BLU type, i.e., whether it is a datagram or a command; a Source Address field (Source Addr) identifying the source transport user; a Destination Address field (Dest Addr) identifying the destination transport user; and a Control field (Ctl) for providing various control functions. Following the Transport Header, a Transport User Payload field (T.sub.-- User Payload) which holds the data that is to be conveyed between the source and the destination transport users.

As shown in FIG. 4, MPTN BLU, like Native Node BLU, includes a Transport Provider-specific header and trailer. As was noted, this header and trailer is used for conveying the BLU through the SPTN as is well known in the art.

The BLU also includes an MPTN header for providing necessary information to the MPTN Gateway or Access Node. MPTN header consists of a length field (Len) indicating the length of the BLU. It also has a command-type field (Comm) for indicating the type of BLU, i.e., whether the BLU is a command such as Register, Locate or Connect, or whether it is a datagram for forwarding. A routing information field (RI) contains the destination address and the source address of the destination and source transport users. A control information field (Ctl Info) provides various BLU information such as "time to live", segment specification indicating how the BLU should be reassembled if it has been disassembled during conveyance, etc.

The BLU further has a transport user payload (T.sub.-- User Payload) which holds the data that is to be conveyed between the source and the destination transport users.

Routing in an MPTN environment involving an MPTN Gateway can be broken into three pieces:

1) from the source node to the first MPTN Gateway. If the source node is an MPTN node (such as path 33a (FIG. 1) from ND1 20 to GW1 30), routing from the source to the first MPTN Gateway uses MPTN Protocols. If the source node a native, or non-MPTN node, (such as path 33b (FIG. 1) from ND2 21 to GW1 30) routing to the first MPTN Gateway uses the native protocols of the transport provider.

2) between one or more MPTN Gateways (such as path 33b (FIG. 1) from GW1 30 to GW2 32). Routing between MPTN Gateways always uses MPTN protocols.

3) from the last MPTN Gateway to the destination node (such as path 33b (FIG. 1) from GW2 32 to ND6 25). If the destination node is an MPTN node (such as ND6 25 (FIG. 1)), routing from the last MPTN Gateway to the destination uses MPTN Protocols. Where the destination node is a native, or non-MPTN node, (such as ND7 26 (FIG. 1)), routing from the last MPTN Gateway to the destination uses the native protocols of the transport provider.

In supporting non-MPTN nodes, the MPTN gateway must support transport providers that use both search based and routing-table based routing. With search based transport providers, the route from the source to the destination is not known at the time the connection request is made (or datagram is sent). A search is conducted to find where the destination is located, and then the route to the destination is calculated. Transport providers that use search based routing include protocols for searching for the requested destination and calculating the best route once the destination is found. Examples of search based transport providers include NetBIOS and SNA.

With a routing table based protocol, the route to the destination is known before the connection request is made (or datagram sent). When a connection request is made (or datagram sent), the routing table in the node points to the "next hop" along the path in routing the request to the destination. Transport providers that use a routing table based protocol include routing protocols for building the "next hop" routing tables and for maintaining the routing tables. Examples of routing table based transport providers include OSI and TCP/IP.

To support transport providers that use a search based protocol, the MPTN Gateway must participate in the search and route calculation protocols. This involves a number of changes, or deltas, to the transport provider. This is shown in FIG. 5 where a native search request is received by MPTN Gateway 30 from a native node on SPTN 1 at 100. At 101, Transport Provider 1 parses the transport protocol-specific header and determines from the destination address field whether the search request must be forwarded to the MPTN network. If the search is to be forwarded, the transport provider will pass the search request across the GSPB to the Manager. At 102, the Manager determines that it is a search request, and forwards the request to Gateway Services. At 103, Gateway Services forwards the identification of the destination to the Routing Service Element. At 104, Routing Services Element returns the address of the "next hop" to Gateway Services Element. In order to determine the address of the next hop, the Routing Services Element must perform a number of steps. This is shown in FIG. 5A. At 140, the Routing Services Element receives the destination address from the Gateway Services Element. At 141, the Routing Services Element determines whether the destination can be reached by searching its routing tables for the NetId of the destination address. If not, at 142, the Routing Services Element returns a negative response to the requesting native node. If so, at 143, the Routing Services Element determines whether the NetId of the destination address is a split NetId (i.e., the network is split into two or more disjoint SPTNs and the destination could be in one of several SPTNs). If not, at 144, the Routing Services Element returns the next hop to the requesting native node. If it is a split NetId, at 145, the Routing Services Element determines whether there is a cache entry for the NetId of the destination address. If so, at 146, the Routing Services Element returns the cached next hop value to the requesting native node. If not, at 147, the Routing Services Element initiates a search of each potential SPTN. This is described in U.S. Pat. No. 5,361,256, entitled "Inter-Domain Multicast Routing". This procedure detailed in FIG. 5A is used whenever the Routing Services Element is requested by the Gateway Services Element for routing information.

Referring again to FIG. 5, once it is determined that the destination can be reached through this MPTN Gateway, General Services Element responds to Transport Provider 1 with the positive search response. This is shown by steps 104-106. At 107, Transport Provider 1 then responds to the original search/verification request, stating that the requested destination is located on this MPTN Gateway. The MPTN Gateway will subsequently receive a native connection request (or datagram). This is described below in conjunction with FIG. 9.

FIGS. 6A and 6B illustrate the message flows when an MPTN search is received from another MPTN Gateway (MPTN GW2). At 109, a connection is already established between the two MPTN Gateways and, at 110, Transport Provider 2 receives a BLU (representing the MPTN search request) from MPTN GW2. At 111, Transport Provider 2 parses the header and trailer and forwards the MPTN data and connection ID to the Manager. Based upon the connection ID, the Manager, at 112, forwards the MPTN search request to the Routing Services Element. At 113, the Routing Services Element determines that it is an MPTN search request and that the Destination NetId is in SPTN1 (to which MPTN GW1 is providing access). Routing Services Element initiates a search request of SPTN1 at 113. At 114, the Gateway Services Element forwards the request to the Manager which, in turn, forwards the request to the Transport Provider 1, at 115. At 116, Transport Provider 1 initiates the native search protocol for the requested destination address.

As shown on FIG. 6B, at 117, Transport Provider 1 receives a positive response to search from SPTN1. At 118, Transport Provider 1 parses the header/trailer and forwards the positive response to the Routing Services Element (via Manager, at 119, and Gateway Services Element, at 120). The Routing Services Element, at 121, builds a positive response to the MPTN search and sends to the Manager which forwards the positive response to Transport Provider 2 at 122. At 123, Transport Provider 2 forwards the positive response to the requesting MPTN GW.

Where the MPTN search request needs to be forwarded to another MPTN Gateway, Gateway Services Element will forward the MPTN search request and next hop Gateway address to Manager, which will forward the search request to the next MPTN Gateway.

To support transport providers that use a routing table based protocols, the MPTN Gateway must participate