MULTI-HOMED NETWORK COMPUTERS
RELATED APPLICATIONS
This application claims the benefit of U.S. Patent Provisional Application Serial No. 60/034,534, filed January 6, 1997, entitled "MULTI-HOMED NETWORK COMPUTERS" which is hereby incorporated by reference.
FIELD OF THE INVENTION
The present invention relates to the field of networked computers. More particularly, the present invention relates to multi-homed network computers.
BACKGROUND OF THE INVENTION
It is well known in the art for three or more computers that are geographically separated but connected to a data- communications network (also known more simply as "a network") to mutually cooperate in a computerized application that exchanges data between the computers. The computer application programs used in this context are known as distributed applications .
Referring to Fig 1, a schematic representation of a prior art data-communications network 1 is shown. Multi-ported digital devices that receive and retransmit data known as routers 20, 21, 22, 23, 24, and 25 are shown. Some of the routers are shown to be inter-connected by point to point data- communications links 2, 3, 4, 5, and 6. Moreover, routers 22, 23, and 24 are shown to be interconnected by a multi-point data- communications link 12. Computers known as Servers 30, 31, and 32 are shown. As shown, Servers may be connected to routers by way of a point to point link 7, or a multipoint link 12. In addition a number of computers known as Clients 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, and 52 are shown. Some Clients 40, 41, 42, 43, and 44 are shown to be connected to a router 21 by means of a multipoint link 11. Another Client 45 is shown
connected to a router 25 by a point to point link 8.
Further Clients 46, 48, 49, 50, 51, and 52 are shown connected by dial-up Modem data-communications links 60, 61, 62, 63, 64, and 65 which utilize the Public Switched Telephone Network (PSTN) 80. Client 47 is shown as not presently connected to the network, it may become connected by the ordinary telephone call setup procedure known as dialing on the PSTN 80. Dialing could be used to complete a link between Modem and telephone line 70 at the client to (for example) Modem and telephone line 71 at the router. Such a network as described is well known in the art, however, the network described above is much smaller than the typical network which more likely has thousands of Clients and dozens of routers and Servers.
It is further well known in the art for a plurality of data-communications networks to be interconnected to form a larger network, commonly termed an internetwork. Perhaps the best known example of an internetwork is the Internet, which allows networks distributed over the globe to interconnect provided those networks all support the use of the Internet Protocol (IP) suite. The IP suite comprises Transmission Control Protocol (TCP/IP) , User Datagram Protocol (UDP/IP) and other protocols. Distributed applications that use an internetwork for data-communications are known as distributed internetworked applications. Another class of applications well known in the art is the Client-Server class of applications. Client-Server applications typically, but not always, have one or more computers (known as Client computers or simply Clients) continually attended by persons and one or more computers (known as Server computers or simply Servers) that are not typically attended by persons. Client-Server applications are most commonly distributed applications. Distributed internetworked applications that are also Client-Server applications are termed multi-user internetworked Client-Server applications. Typical examples of multi-user internetworked Client-Server applications are the multi-player games found in the online gaming industry.
In an online multi-player game a plurality of persons each uses his or her own Client (also known as Client computer) .
Typically, each Client computer connects through an internetwork
to the same Server computer shared by all the Client computers that participate in the game, or alternatively, each Client computer connects through an internetwork to the same set of Server computers shared by all the Client computers that participate in the game.
In such an online game the quality of game play is likely to depend upon the properties of the data-communications links between Clients and Server or Servers, since each Client needs to interact with Server or Servers by means of data message transmissions. The salient properties of these links include the speed or bandwidth of the link in bit/s. and the data message transit time. Data messages are also known as packets. The packet transit time is termed the latency of the link. Depending upon the nature of the game and how it is programmed, both the average latency and the variability of the latency of the links have the potential to profoundly affect the quality of game play. It is often the variability of latency that causes the most intractable and most annoying impairments to game play quality. Internetworks in general, and the Internet in particular, have a relatively few choke points through which packets pass from one network to another and back. The internetwork choke points are known as Internet Exchange Points (IXPs) . Packet loss is said to occur when a packet cannot be delivered to its destination in a timely manner and is discarded.
Referring to Fig. 2., five networks 130, 131, 132, 133, 134 are shown, each network has a multiplicity of routers Servers and Clients, but for simplicity in representation, for each network only the router 20 that communicates outside the network is shown. Networks 132, 133, 134 are shown to be interconnected by way of multipoint link 111. This link 111 is shown as being of ring topology and constitutes an IXP. These network interconnection links are typically of ring topology using Synchronous Optical Network (SONET) technology. However, any multipoint topology may be used provided it is of a high bandwidth and degrades gracefully under overload conditions. The other two networks 130, 131 are connected to a different IXP 110. The two IXPs are connected together by way of routers 101,
102 and a high speed point to point link 120. The entirety of Fig. 2 represents a small internetwork and for the internetwork as drawn every packet of data that travels from a source computer in one network to a destination computer in another network must pass through one or more IXPs. Such internetworking is well known in the art.
Flow control for an IP based internetwork functions by dint of the packet sending computer's ability to detect packet loss within the internetwork. Well behaved sending computers slow down their rate of sending when they detect packet loss. Badly behaved packet sending computers fail to slow down their sending rate and, as a result, tend to experience severe packet loss rates at times. Moreover under some protocols (such as TCP/IP) lost packets are retransmitted thus severely aggravating the loss rate for badly behaved packet sending computers. Congestion at IXPs is thus a common condition for IP based internetworks as a direct consequence of the design of the flow control mechanism. Thus, some packet loss is a fairly normal operating condition for any large internetwork including the Internet. A small to moderate rate of packet loss is not considered undesirable since if there were no packet loss then the flow control mechanism could not operate and the internetwork would be severely under utilized (which is not considered to be a good price/performance tradeoff point) . Data communication between internetworked computers, especially computers on the Internet, is based upon the use of a hierarchical addressing scheme. The hierarchical nature of the addressing scheme make it possible for packets to be correctly routed from one network to another with each network knowing little or nothing of the address to circuit mapping of the other network. Since the size of a network is constrained, inter alia, by the computational effort of administering the address to circuit mappings, the use of hierarchical addressing becomes mandatory for a large internetwork. The information which represents these addresses to circuit mappings is sometimes known as routing tables. The computational effort referred to is that of maintaining and distributing the routing tables which are somewhat volatile owing to their nature. In
the case of the Internet, the volatility of the routing tables is due in large measure to the enormous size of the internetwork and the finite rate of information propagation within it.
Some networks have dedicated bilateral links with each other, commonly to try to bypass congestion at the IXPs. The use of such links may avoid congestion in some instances but it complicates address mappings and thus increases the routing load on each network. Indeed if, in the limiting case, two networks were joined by extremely fast bilateral links then the two networks would behave (from a performance standpoint) as though they were one larger networks and the combined network could be larger than the optimum size for each network based on routing computational load. If the bilateral links carry much the same types of traffic as the IXP they bypass, they would typically be subject to the same types of congestion, mitigated by the additional capacity introduced and aggravated by the additional routing computational load and slight fragmentation of the hierarchical addressing so introduced. Such bilateral links therefore are of significant benefit where the traffic between the two networks is atypical of the traffic patterns in the internetwork more generally. But bilateral links tend to be ineffective in linking general purpose networks such as the networks operated by common carrier style network providers unless those networks are significantly smaller than the typical network in the internetwork.
Where multi-player games implemented as multi-user internetworked Client-Server applications are used and where the Clients reside on different networks then game play quality is likely to be impaired due to the congestion discussed above. Installing extra network capacity does not provide a cost- effective solution since, as discussed, traffic is somewhat self regulating. Additionally, for the Internet, it is an empirical fact that capacity attracts traffic so that any gains tend to be transitory. One partial solution that has been adopted is to persuade all the Clients wishing to play a particular game to join the same network, and to manage the traffic on that network carefully. However, no network is universally available, and that is a major attraction of using internetworking especially
the Internet.
What is reguired is a communication network system that permits network computers to efficiently communicate with other computers. The communication network should provide speed and bandwidth at a good balance between price and performance. Packet loss should be maintained at an appropriate rate. The communication network should provide data-communication links between computers in a manner that increases the quality of game play.
SUMMARY OF THE INVENTION
The present invention is a novel multi-homed computer network system and method that permits network computers to efficiently communicate with other computers. The multi-homed computer network system is a communication network that provides speed and bandwidth at a good balance between price and performance. Packet loss is maintained at an appropriate rate. The multi-homed computer network system provides data- communication links between computers in a manner that increases the quality of game play. In one embodiment, the present invention comprises a multi- homed computer network system. The multi-homed computer network system includes a server computer, a client computer, and a communication network. The server computer has multiple different addresses that identify the server computer. The communication network couples the server computer and the client computer, such that the communication network server computer and the client computer are able to communicate with each other. The communication network provides at least two communication paths between the server computer and the client computer.
DESCRIPTION OF THE DRAWINGS
The accompanying drawings which are incorporated in and form a part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention:
Figure 1 shows a schematic representation of a prior art
data-communications network 1.
Figure 2 shows multiple networks with a plurality Servers, Clients, and routers that communicate outside each network
Figure 3 shows part of an internetwork with Client computers residing on separate networks sharing the use of a Server.
DETAILED DESCRIPTION OF THE INVENTION
Reference will now be made in detail to the preferred embodiments of the invention, a multi-homed network computer system, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one ordinarily skilled in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the current invention.
The invention provides for the possibility of more than one data communications route being in use, either simultaneously or not, between each Client and each Server. Multiple packets that travel between the same endpoints use better or worse data communications routes according to adjudged need and to deter over-subscription of at least one of the said data communications routes. Typically non-priority traffic between networks passes through one or more IXPs whereas priority traffic bypasses one or more IXPs. It is a feature of the invention that at least one Server
computer may be reached by the use of any one of two or more internetwork addresses. Such a Server computer is termed a multi-homed Server. It is a further feature of the invention that traffic from any or all of the Client computers may be routed to particular internetwork addresses on any of the said multi-homed Server depending upon criteria that include the nature of the traffic to be routed.
Where multi-user internetworked Client-Server applications are deployed, a number of networked computers are connected together by means of a data-communications internetwork.
A number of Client computers each interconnect to the same Server computer in order to exchange data with each other or with a shared data set or a shared program or any combination thereof. The Server computer has more than one internetwork address associated with it and correspondingly more than one data-communication route exists between each Client computer and the Server computer.
As an example, referring to Fig. 3, a part of an internetwork is shown. Client computers 260, 261 which reside on separate networks are to share the use of a Server 250. Data exchanged between Client 260 and Server 250 remains entirely within one network. Data exchanged between Client 261 and Server 250 must travel between the two networks shown, such data must travel either by way of router 221 and IXP 300 or else it must travel by way of router 231 and dedicated bilateral link 290. Both routes will be used depending on the perceived priority of the particular packet, with the lower priority packets using the IXP. Note that, as drawn, if Server 251 were to be used instead of Server 250 then all traffic between Client 261 and Server 251 would have to travel by way of the IXP 300 and could not travel by way of the dedicated bilateral link 290.
One of the network addresses of the Server computer is designated as its default address. Typically, though not necessarily, the Server computer is located in physical proximity to routers and data communication trunk circuits belonging to the network that has a hierarchical network address directly above the default address of the Server computer. This network is said to be the home network and is said to own the
default address of the Server computer.
Non priority packet traffic to and from the Server uses the default address in all cases. Priority traffic to and from the Server computer may use any of the addresses. Since the Server computer is not typically physically located at an IXP it will not typically be physically located near the router or trunks of any network except its home network. In order to preserve hierarchical addressing and to minimize the undesirable routing of any priority traffic through IXPs, it becomes necessary that a dedicated communications link be provided between the Server computer and a high speed port of a router on each network that owns a non-default address assigned to the Server computer. Internet routers with high speed ports are well known in the art. The dedicated circuits carry only traffic originating in or destined for the Server computer. The Server computer does not export routing capability into the home network in order to avoid any possibility of attracting non-priority traffic to any of the dedicated circuits. For non-priority purposes such as software downloads or game match-making the Client computer locates the Server computer's default address. This default address may be obtained by methods well known in the art such as Domain Network Services (DNS) . At an appropriate time, when it is determined that the
Client computer's traffic is to be given priority, the Client computer starts to use one of the non-default addresses. Each Client computer may use various means to discover the various network addresses associated with each Server computer. Each Client computer may then select the most beneficial internetwork address for the data-communications route between that Client computer and the Server computer. The Client computers may select the internetwork address of the Server computer based on a variety of performance criteria. Alternatively a third-party arbitrating computer program located in a Server may assign to the Client the address to be used for priority traffic.
In a further embodiment of the invention a device, known as an address translation unit (ATU) , is placed between one of the
Client computers and one of the Server computers. The ATU forwards packets between the said Client and Server computers converting one of the internetwork addresses of the Server computer to another one of the internetwork addresses of the Server computer. In this embodiment the Server computer behaves in the same manner as in the preferred embodiment but the ATU takes over some of the functions undertaken by the Client computer in the preferred embodiment.
In a still further embodiment of the invention, knowledge of particular subsets of internetwork addresses that are owned by the home network is propagated through routers on other networks and priority traffic is addressed to the said particular subsets of internetwork addresses. In this embodiment one or more routers one the network that is not the home network is equipped with a trunk circuit that connects to a router or Server computer on the home network.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.