WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Mobile networking method and apparatus    
United States Patent5572528   
Link to this pagehttp://www.wikipatents.com/5572528.html
Inventor(s)Shuen; Pauline (Palo Alto, CA)
AbstractAn internetwork including a plurality of local area networks may include wireless and hard-wired local area networks. The internetwork may also include wide area network links between routers. The system includes routers between networks, which may be bridged networks. Certain routers are configured as home routers. Home routers bind two addresses for each mobile node on a given network when that node logs-in with a home router. Mobile nodes log-in with a home router that assigns a virtual address that does not change throughout a session. Each time, a mobile node roams to another network across a router boundary, the virtual address remains the same and all packets directed to the mobile node are received by the home router which advertises that it can reach the mobile node. As the mobile node roams, it reports back to the home router a local address to which the home router forwards all packets directed originally by correspondent nodes to the virtual address. Mobile nodes may log-in to a router many hops removed from a local area network of the situs. Mobile nodes may also roam across wide area links. The system is transparent to a user.
   














 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 5572528
Mobile networking method and apparatus - US Patent 5572528 Drawing
Mobile networking method and apparatus
Inventor     Shuen; Pauline (Palo Alto, CA)
Owner/Assignee     Novell, Inc. (Provo, UT)
Patent assignment
All assignments
Publication Date     November 5, 1996
Application Number     08/408,230
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     March 20, 1995
US Classification     370/402 370/338
Int'l Classification     H04L 012/46
Examiner     Hsu; Alpus H.
Assistant Examiner    
Attorney/Law Firm     John, Broadbent; Berne S. Pate; A . Pierce; Gary D. , E.
Address
Parent Case    
Priority Data    
USPTO Field of Search     370/54 370/58.1 370/58.2 370/58.3 370/60 370/60.1 370/61 370/79 370/85.6 370/85.13 370/85.14 370/94.1 370/94.2 370/94.3 370/95.1 395/200 395/325 395/500 395/725 395/800 340/825.5 340/825.51
Patent Tags     mobile networking
   
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
5446736
Gleeson
370/473
Aug,1995

[0 after 0 votes]
5426637
Derby
370/401
Jun,1995

[0 after 0 votes]
5317568
Bixby
370/401
May,1994

[0 after 0 votes]
5179555
Videlock
370/402
Jan,1993

[0 after 0 votes]
5136580
Videlock
370/403
Aug,1992

[0 after 0 votes]
5086426
Tsukakoshi

Feb,1992

[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 and desired to be secured by United States Letters Patent is:

1. For interconnecting devices in an internetwork comprising multiple networks, a system comprising:

a router for receiving, transmitting, and directing data over a plurality of networks, and for providing a first signal uniquely corresponding to a network of the plurality of networks;

a plurality of nodes associated with the network and positioned to communicate data with the router;

a carrier structure operably positioned between the router and the plurality of nodes for transmitting and receiving data between the router and the plurality of nodes;

a network card operably associated with a node of the plurality of nodes for transmitting and receiving data between the node and the carrier structure, and for providing to the node a second signal unique to the network card;

the node operably connected to the router to automatically receive the first signal and the second signal and to form, in accordance with the first and second signals, a local address corresponding to the node;

a home router programmed to automatically maintain session level connectivity between the node and the home router after the node is disconnected and reconnected to the carrier structure.

2. The system of claim 1 wherein the node further comprises a processor for providing the local address and wherein the local address comprises data corresponding to the first and second signals.

3. The system of claim 1 wherein the home router is operably connected to the internetwork to provide a third signal corresponding to a virtual network.

4. The system of claim 3 wherein the home router further comprises a home processor for providing a virtual address corresponding to the node.

5. The system of claim 4 wherein the home processor is programmed to automatically provide to the router the virtual address.

6. The home router of claim 4 wherein the home processor is programmed to create the virtual address to comprise the third signal and the second signal.

7. The system of claim 1 wherein the node further comprises a node processor programmed to provide the local address comprising the first and second signals.

8. The system of claim 1 wherein the home router comprises a memory device for automatically storing the local address and a virtual address.

9. The system of claim 8 further comprising a correspondent node operably connected to the internetwork, and wherein the home router is programmable to unbind the virtual address from incoming data received from the correspondent node addressed to the virtual address, to bind to the incoming data the local address, and to forward the incoming data to the node.

10. The system of claim 8 wherein the home router is further provided with a memory device for binding the local address to the virtual address.

11. The system of claim 1 wherein the home router including a first memory location for storing the virtual network address and a second memory location for storing the local network address simultaneously.

12. The system of claim 1 wherein the node comprises a computer connectable to the network card and wherein the network card further comprises a network connector for selectively connecting the network card to communicate with the network, and for removing the network card from communication with the network.

13. The system of claim 12 further comprising a network server operably connected to the internetwork to communicate with the node the connection status corresponding to whether the computer is connected to the network, and wherein the home router is programmed to provide a virtual response to the network server when the computer is not connected to the network, the virtual response being indistinguishable by the network server from a real response provided by the computer when the computer is connected to the network.

14. The system of claim 13 wherein the computer further comprises a node processor for running an application thereon, wherein, while the application is running, the computer is selectively, physically removable from communication with the network by a process selected from moving out of range of a wireless carrier structure, de-activation of the node processor by the application, and physical disconnection of the computer from the network, and wherein the node processor is programmed to provide an instruction to prevent crashing of the application whenever the application requires a connection of the computer to the network and the computer is removed from communication with the network.

15. The system of claim 12 wherein the computer further comprises a node processor for running an application thereon, wherein the computer is selectively removable from the network while the application is running, and wherein the node processor is programmed to provide an instruction to prevent crashing of the application whenever the application requires a connection of the computer to the network and the computer is unconnected to the network.

16. The system of claim 15 wherein the node processor is programmed to provide a suspend instruction effective to suspend operation of the application whenever the application requires a connection of the computer to the network, and the network card is not connected to the computer.

17. The system of claim 12 wherein the computer further comprises a node processor for running an application thereon, the network card is removable from the computer while the application is running, and the node processor is programmed to provide an instruction to prevent crashing of the application whenever the application requires a connection of the computer to the network and the network card is absent from the computer.

18. The system of claim 17 further comprising a second network card selectively connectable between the computer and the network, and wherein the node processor is programmed to forward a resume instruction to the application to resume operation whenever the application requires connection of the computer to the network, the second network card has replaced the network card in the computer, and the computer is connected to the network.

19. The system of claim 17 further comprising a second network card selectively connectable and removable between the computer and a second network of the multiple networks comprising the internetwork, and wherein the node processor is programmed to provide a resume instruction to effect a resumption of operation by the application when the second network card has replaced the network card in the computer, and the second network card is connected to the second network.

20. An apparatus for providing automatic addressing and roaming across an internetwork, the apparatus comprising:

a first primary network;

a router connectable to the first primary network;

at least one second primary network operably connectable at a first location to the router to extend away from the first primary network;

at least one second router connectable to a second location on the second primary network, the second location being spaced away from the first location and spaced away from the first primary network;

a third primary network operably connected to a second router of the at least one second router to be extendible away from the second router and from a second network of the at least one second primary network;

a mobile node connectable to the first primary network to transmit and receive data, and to automatically provide a local address uniquely associated with the mobile node and the first primary network; and

a home router operably connected to the internetwork to provide a virtual network address uniquely corresponding to the mobile node to forward to the mobile node at the local address incoming data directed to the virtual address, and to provide continuous session level connectivity of the mobile node to the internetwork during roaming of the mobile node.

21. An apparatus for connecting a node to an internetwork, the apparatus comprising:

a network connected to an internetwork;

a node comprising a processor effective to create a local address identifying the node in the network, and for communicating the address to the internetwork;

a home router connected to the internetwork to communicate with the node, to provide a virtual address associated with the node, the node remaining continuously addressable at the virtual address during roaming by the node between the local address and a new local address, for maintaining session level connectivity of the node.

22. The apparatus of claim 21 wherein the home router comprises a processor for providing the virtual address, and wherein the virtual address corresponds to a virtual network and a virtual node number, the processor forwarding to the local address packets directed to the virtual address.

23. A method for addressing a node connected to an internetwork comprising:

connecting a node to a network in the internetwork in a session;

acquiring a network number associated with the network;

acquiring a number associated with the node;

creating a local address uniquely associated with the node in the network;

logging the node in to a home router connected to the internetwork;

providing to the home router the local address;

providing from the home router to the node a virtual address;

binding the local address to the virtual address in a memory device of the home router;

providing to another node connected to the internetwork the virtual address corresponding to the node;

forwarding to the local address packets directed to the virtual address during the session;

disconnecting the node from the network, and connecting the node to a new network in the internetwork, while maintaining session level connectivity of the node.

24. The method of claim 23 wherein connecting the node to the new network further comprises:

acquiring a new network number associated with the new network;

acquiring a new node number associated with the node; providing to the home router the new local address;

forwarding to the new local address packets directed to the virtual address .
 Description Submit all comments and votes
 


BACKGROUND

1. Field of the Invention

This invention relates to computer networks and, more particularly, to novel systems and methods for connecting a computer as a node on a network.

2. The Background Art

Computer networks are actually many networks, or are defined at several levels of grouping and communication. The terms primary (e.g. LAN), secondary (e.g. routed) and tertiary (internetworked) network indicate the extent and complexity of a "network". A primary network may be thought of as the most fundamental connecting together of two nodes (e.g. computers, workstations, devices) in some manner. A secondary network is one including at least two primary networks connected by a router. A tertiary network is one including at least first and second primary networks separated from each other by a third (intervening) primary network. The third intervening primary network is connected to the first primary network by one router, and to the second primary network by another router. A secondary network, and especially a tertiary network, may also be referred to as internetworks.

Low level networking typically involves several devices exchanging data with one another. Transmission may be facilitated by a communication link, for example a hard wire, fiber-optic cable, radio frequency transmitter/receiver, or other physical communication mechanism, connecting a series of network cards. Network cards provide a mechanical and data connection between the communication link (e.g. fiber-optic, wire, or wireless) and any device to be connected to the network. A device may typically contain a processor, such as a computer or peripheral equipment. The processor may be programmed with communication software (programming instructions) for communicating data between the device and the network communication link. Each such device (computer or peripheral) is a node on the network. Some networks have a server.

A server is a computer connected to a network via a network card and is programmed to act as a traffic manager and storage device for data being transmitted over the network by the various connected nodes. A hard wire interconnected to a group of network cards with attached computers, with one of those computers acting as a server, is a typical network. In other networks, every device is a server.

A primary network is the network with which a node communicates most directly. A primary network is the most fundamental system that can be called a network. A secondary network is a network connected in some way to a node, but exchanging data with a node through a router. A router is a computer connected to at least two primary networks.

By secondary network is meant routed networks comprised of primary networks interconnected by a router. Because a router is a computer connected to at least two networks, it may be programmed to manage the communication of data between nodes on different primary networks. Two nodes, each connected to a different primary network, with those two different primary networks directly communicating through (e.g. sharing, typically directly connected through) a single router constitute a secondary network.

A tertiary network is one in which data may be exchanged between two nodes on different primary networks, which primary networks do not share a router. When a primary network is connected to more than one router, and each such router is connected to more than one primary network, a tertiary network exists. Since tertiary networks may extend from one primary network to another through several intervening primary networks and routers, the routers must be programmed to receive and forward messages from nodes that arc foreign to any given router. Foreign may be thought of as describing any device or data pertaining to a primary network that is not connected to a router shared with the subject network. Thus, as the name network implies, a tertiary network can extend indefinitely from router to router to router via intervening primary networks. (Theoretically virtually forever, within the constraints of the laws of electrophysics.)

A wireless communication system may not require any hard wire connection. In general, a link between a node and a primary network may be wireless. Each node may contain a network card for sending and receiving data by wireless transmission with respect to another device. Thus an entire primary network may be wireless. Also, a network between two routers forming a wide area network (WAN), may be wireless. Alternatively, a network using a hard wire may have access points. An access point bridges between a hard wire associated with a primary network and a node communicating by a wireless communication link with that primary network. An access point includes a wireless transmitter and receiver for communicating with a wireless network card in a node, as well as a connector communicating with the hard wire of the network. Thus, all access point may be thought of as a transmitter and receiver for communicating data between a network and a node not hard wired into that network.

As computer network technology has grown to encompass tertiary networks, network level addressing has become more than a locally administered task. By address is not meant MAC layer address in an ISO/OSI data-link layer. That addressing is resolved by an access point as a user roams. The need is for unambiguous ISO/OSI network layer addressing during roaming and dynamic address changing.

A data package (message, packet, stream) needs to be communicated to a destination address. A source address is needed for a response to be returned. An address may be thought of as a one or more numbers, digits, characters, words, bytes, combination thereof, or the like included in a data transmission, identifying a sender or receiver.

As internetworks, (tertiary networks) become very large, a scheme is needed for easily addressing all the interconnected nodes interconnected at a network ISO/OSI level. (International Organization for Standardization Open Systems Interconnection model.) Remote (foreign, more than one hop distant) nodes are not controllable by a network. A single message to or from a foreign node must be transmissible and receivable without confusion.

For example, when a single computer connects to several peripheral devices, the computer may assign, or a user may assign, all address to each peripheral device. When several nodes (devices, computers, etc.) are connected in a network, software in a network server may control, assign, or coordinate addresses. For example, a network manager (user) may program the server on a primary network to recognize a unique number for each node connected to the network. Thus a server could receive and deliver data with respect to each node. Two routers could likewise be programmed to communicate and coordinate addresses. However, as soon as three routers are involved, foreign nodes become intractable to address without a global addressing scheme. Moreover, routers may connect without practical limitation as to numbers of primary networks to which each may connect.

To address this problem organizations exist for administering global addresses to devices that a user desires to connect to a network. Thus, schemes exist for a user to acquire a global address by which a device may be known, regardless of network connection. For example, users on a network or service receive an assigned address. Also, every network-connectable device connects to a network card, often within the envelope of the device. Each network card has assigned by the Institute for Electrical and Electronic Engineers (IEEE standard 802) identification. The identification is unique to that card at the Media Access Control, or MAC, sublayer of the ISO/OSI data-link level.

Any primary network communicates data corresponding to addresses of nodes connected to that network. Similarly, a router may communicate data associating the router with addresses of nodes connected to primary networks accessed through that router.

Unfortunately, a user logging on to a network must configure a node. Configuration may be thought of as programming a node for setting up connections and protocols. A node may need to identify other devices to be addressed, or to identify itself to a router assigning the address of the node. Thus, once configured, a node may send and receive messages. However, logging onto a network and configuring a node's system typically takes substantial time. Moreover, knowledge of certain commands, codes and the like is typically required of a user. Also, whenever a node is not going to be available any longer, a user must log off the network so that the network does not treat the absence of a node as an error.

No primary network extends indefinitely. Some limitations may arise due to security, media change, traffic load, addressing, or physical limits. For example, radio signals are shielded by metal preventing transmission. Obstructions limit an infrared line of sight. Thus, a wireless network is typically limited to a single floor of a building, and to a specific range of distance. Even hard-wired networks are constrained by limitations of power, integrity of signal transmission, and interference, associated with distances traversed by a primary network.

Because no primary network can extend indefinitely, and because of the administrative difficulties on system administrators of network servers and on individual users having to log on and off to move about between primary networks, roaming is desirable. Roaming may be thought of as communication by a node (e.g. computer, processor, peripheral device) at more than one connection point on an inter-network. That is, a roaming device may be a computer carried by an individual walking over a factory floor serviced by several wireless LANs.

Roaming may include disconnecting a node from a first primary network followed by connecting the node to a second primary network without intermediate logging off and on. Several examples of roaming situations are instructive. For example, on a factory floor, personnel may move from location to location logging data associated with manufacturing or shipping operations. With the advent of stylus based input devices, many operations formerly done by hand, such as recording counts while inventorying stock, for example, are now done with an input pad and stylus. Similarly, a host of tasks once done by hand, and involving a person who moves from location to location throughout a day, are now computerized but must still be accommodated by roaming.

Roaming is impossible in some networks. That is, a system manager must configure a network server to recognize a new node. Meanwhile, in such networks a configuration of more than one primary network to simultaneously accept a node's global address may not be possible. Thus, the node cannot be moved from one primary network to another at the will of an individual user.

Even in networks that permit roaming, addressing may present a major difficulty for secondary and tertiary networks. For example, in the addressing and routing process to reach a mobile node, three routers may typically be required to be loaded with different specialized software that must be available and upgraded in any network to which a mobile node roams in an internetwork. Networks today do not allow a node to roam to a network in an internetwork that does not have specialized software hosted on specialized processors forwarding messages, and specialized processors for logging on. That is, mobile devices may not generally log on to a network remote from their "home" network, unless the remote network includes processors programmed specifically for forwarding messages, and processors programmed specifically for logging the mobile devices on to the network. The requirements for the existence and upkeep of such systems inhibits roaming.

What is needed is a plug-and-play system. A system is needed in which all of the addressing of a node is transparent to a user. Moreover, a system is needed that requires less of a remote network, such as fewer specially-programmed processors (routers, foreign agents, etc. ) during roaming, as well as fewer upgrades of software by a system manager.

Disruption by a node may be a serious problem in network software hosted on nodes. A server may "hangup" on a node when the node has dropped out. That is, for example, a server periodically queries a node to determine whether or not the node is still connected to that network. Thus, if a proper response is not received, the server closes the "session" or data connection with the missing node, but may instead wait indefinitely for an event that never comes. One example is an application that is waiting for a response over a network, and has control over a node temporarily, that is not relinquished when the response never arrives.

An application is a computer program including one or more instructions. An application operates in the highest OSI layer. An application is also sometimes referred to as a computer program. When an application is running on a node, or when a network session is running, an application may be relying on the network connection to pass data.

When an application requires data through the network connection and the data is not forthcoming because the connection between the network and node has been disrupted, the application may "crash," or instead "hang" the node. Hanging means that a device has ceased to respond to data. That is, a processor may cease to respond to instructions, commands, inquiries and the like because some instruction is awaited by the processor, and the instruction is not forthcoming.

Hanging is different from crashing in that an application or system (operating system) may crash by ceasing all operation. Crashing usually results in the computer requiring a re-boot. Hanging may require a re-boot, but is usually characterized by the output device (e.g. monitor or display) remaining as it is without providing any further output nor prompts, and not responding to any inputs.

Another problem for mobile nodes on an interact work is system watchdogs. System watchdogs are programs resident in a server for monitoring the status of connections between the network and nodes. When a connection is disrupted the watchdogs initiate disconnection of the offending node by the server.

If a file is open and the connection is broken, the connection must come back before the node tries to read data from the server. If the connection does not come back in time, the node or application on the node may crash regardless of whether or not the router's connection can be re-established. Thus the node is crashed and the fact that the connection is remade does not bring the node back.

Node disruptions and dropouts are most often caused by events that may happen during the life of a connection (e.g. session). Generally, these events are related to activity that interrupts the continuity of a network node address, the continuity of a physical network connection, or the continuity or quality of a network session.

One need is that of dynamically resolving the changing of addresses in a network. Some causes of dynamic changing of addresses are roaming and "hot swapping" of a network interface card in a node without logging off or shutting down either the node or the hosted applications.

By hot swapping is meant the removal and replacement of a network card in the network slot of a computer without shutting down, logging off a network, or closing applications. For example, a user may withdraw a network card and replace that card later with the same or a different network card. Thus, a computer may be disconnected from a network simply by withdrawing the computer from the network card associated with the network. Similarly, a network card may be hot swapped with respect to the network carrier, such as a line, wireless connection, fiber-optic cable, twisted pair, coaxial cable, or the like that carries the electronic signal between a node and a network server or other devices on the network.

Another need is graceful recovery or adaptation to different or reduced performance by a network (e.g. by a node, router, or server), in lieu of crashing or hanging. For example, suspension and recovery from a disrupted connection resulting from sleeping, moving out of range of a wireless access point, breaking a wired connection, and or a time lag during a hot swap of network cards such as PCMCIA cards.

Another need is storing and binding two or more actual addresses, as well as a virtual address, each to be selectively useable for a single client node on a single network or an internetwork. A device may not be addressed at more than one real address at a time, although a router may present different addresses for itself to different networks. However, a need exists to selectively and dynamically switch between network interface cards in a node having multiple slots for such cards. For example, enablement of automatic switching between a default and a backup card when a default card drops out is very desireable.

A user-transparent, mobile interface for networks and internetworks is needed that permits roaming without requiring a new home router to exist at a new remote network for logging-on. Also new remote network after roaming. Moreover, a system is needed that does not require pre-existing specialized equipment at a remote location to which a node may roam on an internetwork. Rather, what is needed is a system that permits a mobile node to access the logging on and roaming features from any remote network operating under a standard network protocol (such as IPX), so long as the remote network is part of an internetwork containing a router configured for providing a constant virtual address and binding it to an actual address for the mobile node. Otherwise, mobility is impaired when a location does not have the right type of hardware or software locally resident. Moreover, software upgrading and version control become serious burdens at all the remote locations. A system that permits logging on to a home router virtually any number of hops away on an internetwork, and roaming likewise with a minimum of software and hardware is needed.

BRIEF SUMMARY AND OBJECTS OF THE INVENTION

In view of the foregoing, it is a primary object of the present invention to provide a system for providing continuous, transparent communication between a mobile node and a primary network, a mobile node and a secondary network, a mobile node and a tertiary network, and a mobile node and another node on a primary, secondary, or tertiary network.

It is an object of the invention to resolve dynamic changing of network addresses in a network, secondary network, and tertiary or internetwork.

It is an object of the invention to provide dynamic changes of addresses, for example, due to roaming or hot swapping of a network interface card in a node, without logging-off or shutting-down either the node or the hosted applications running on the node.

It is an object of the invention to enable dynamic switching between multiple network cards having respective default and backup addresses corresponding to a single node on a network, without hanging any device on the network and without crashing any device on the network.

It is an object of the invention to provide for suspension and recovery from a disrupted connection between a node and a network.

It is an object of the invention to provide for storage and access of two addresses simultaneously for a single node on a network, and for a single node in an internetwork.

It is an object of the invention to provide a virtual address that remains constant during a session, which session will not be interrupted, for example, by roaming, disconnection, or suspension of a node from a network or internetwork, and an actual or local address corresponding to a physical location of a node on a network in an internetwork.

It is an object of the invention to provide simultaneous storage for two or more addresses each corresponding to a different network cards or other interface card physically connected to a single node on a network.

It is an object of the invention to provide simultaneous loading of, and dynamic switching between, multiple network interface cards in a computer for accessing a network.

It is an object of the invention to provide a system for supporting the dynamic switching from one card to another card by a node, in which one card fails to maintain a network connection, in a manner that provides a backup connection of services through the second card.

It is an object of the invention to provide for redundant network interfaces for a node roaming across network boundaries.

It is an object of the invention to support a user-transparent, mobile node for roaming between networks in all internetwork without requiring a new home router at a new location, or a new log-on to the remote network at the new location.

It is an object of the invention to enable the user transparent, mobile network connection of applications running on a mobile node when that mobile node roams out of range of a wireless connection to a network or physically disconnects from a hard-wired connection to a network, and later re-establishes physical or data-link connections to the same or a new network.

It is an object of the invention to provide a mobile node and network in which the mobile node may roam between a selection of wireless and hard-wired connections on an internetwork connected to the network, and where the node can log-on and can maintain session continuity throughout the internetwork, even if a home router, foreign agent, or other device similarly configured is not present on a remote network to which the node attempts to connect.

It is a further object of the invention to provide a mobile network interface that may operate at any location selected by a user including a remote network removed from the network normally accessed by a user.

It is another object of the invention to provide for connection of a mobile node while requiring a reduced amount of software, and upgrading of such software, for supporting devices, such as routers, for example, in an internetwork.

It is an object of the invention to provide a network supporting a device roaming across primary networks connected in a tertiary network.

It is an object of the invention to automatically configure a network to address roaming nodes according to a method transparent to a user, without requiring intervention by a user in creating or identifying network addresses of a node in a primary, secondary or tertiary network.

It is an object of the invention to provide a system for user-transparent roaming between wireless networks, between hard-wired and wireless networks, and vice versa, and for supporting hot swapping of network cards from wireless to wire and back within a single node, without disconnecting a session.

It is an object of the invention to control data communication and addressing for a node on a primary network connected to any one of a plurality of primary networks and a home router, and automation of roaming network addressing transparently to the user.

It is an object of the invention to spoof network "watchdogs" by configuring a home router responsive to the queries of network watchdogs.

Consistent with the foregoing objects, and in accordance with the invention as embodied and broadly described herein, a method and apparatus are disclosed in one embodiment of the present invention as including a mobile host operably connectable to a network, the network being operably connected to a home router for assigning a constant address to the mobile host, and for storing the constant address, a changeable local address assigned by the mobile host, and binding data relating the constant address to the local address. The constant address is an ISO/OSI network level address corresponding to a virtual network and virtual node number created by the home router and uniquely identifying the mobile host throughout a session. The local address is an ISO/OSI network level address corresponding to a network on a router, which need not be the home router, and a unique geographical location (connection point) on the network, (to which a mobile mode might be connected only temporarily, to later be connected to another network). The local address also uniquely identifies the mobile host to the home router during the time that the mobile host is linked to the connection point of the network.

An apparatus made in accordance with one embodiment of the invention may include an internetwork including a plurality of networks interconnected by a plurality of routers. The apparatus also may include wired networks and wireless networks each network containing one or more nodes or hosts connected thereto for communicating data over the internetwork.

The apparatus may include a home router programmed to store multiple, ISO/OSI network level addresses (addresses) for nodes connected to a network. The home router may also be programmed to create for a node on a network a constant address, assign the address to the node, receive from the node a local address created by the node, bind the constant address and the local address, and store both the constant and local addresses.

The node may be programmed to be a mobile node. The mobile node may roam across multiple routers and networks, and may access the home router whenever a connection is made with another network, forwarding to the home router a new local address at each new network. The home router may be programmed to forward to the current or present local address, corresponding to the mobile node, all packets addressed to the virtual or constant address corresponding to the mobile node.

The home router may be programmed to change headers on packets addressed to the mobile node to properly direct all packets addressed to the constant address, and all packets addressed to and from the present local address corresponding to the mobile node.

Multiple home routers may be programmed to be accessible (to transmit and receive data) from mobile nodes connected to networks not containing a home router. A home router may be programmed to log a mobile node on without regard to the number of hops between the mobile node and the home router. A home router may be programmed to access the mobile node and store addresses regardless of the number of hops between the home router and the mobile node.

The mobile node may be programmed to permit a user to change the network card in the mobile node without shutting off power to the processor, without logging off the internetwork, and without closing the applications running on the mobile node. The mobile node may also include slots for multiple network cards, and may include slots for being connected to the internetwork with two network cards simultaneously. The mobile node may be programmed to transfer data via a preferred card of the multiple network cards. The mobile node may provide for transfer of data via a less preferred card of the multiple network cards upon a failure of the preferred card to maintain a data-link or other necessary connection to the internetwork. The home router may be programmed to store two or more local addresses corresponding to two or more network cards, in addition to a virtual address, all of which addresses uniquely correspond to the mobile node.

A method practiced in accordance with an embodiment of the invention may include advertising on an internetwork by a mobile mode comprising a processor. The method may include a response by a home router, and logging on to the home router by the mobile node. The mobile node may obtain from a network card associated with the mobile node, an ISO/OSI MAC layer address.

The mobile node may obtain from the home router or from a network server a network number identifying a network to which the mobile node is communicably connected by the network card. The mobile node may define a local address. The local address may include data corresponding to the MAC layer address of the network card and the network number. Because a MAC sub-layer address for each network card is unique, the mobile host may create multiple local addresses over multiple connection points, including hard-wired and wireless access points.

A user may connect a mobile node to multiple network cards, and may connect more than one of the multiple network cards to a network to be connected simultaneously. The home router may receive from the mobile node one or more local addresses, corresponding to the one or more network cards.

The home router may create a virtual network and a virtual node number. The home router may assign to the mobile node a virtual address. The virtual address may contain data corresponding to the virtual network number and the virtual node number.

The home router may bind the virtual address to one or more local addresses corresponding to the mobile node. The home router may advertise over the internetwork that the mobile node may be reached through the home router. The home router may advertise the address of the mobile node as the virtual address.

The home router may assign a priority or preference to each card, which may be identified during use with a unique local address associated with the mobile node. When multiple addresses are simultaneously associated with the mobile node, the home router may exchange data over a highest priority network card providing au available connection to the internetwork or the home router. The home router or the mobile node may select from a plurality of local addresses, associated with a mobile node, a local address providing the highest bandwidth connection for exchanging data with the mobile node.

The home router may change the header in a packet addressed to the mobile node. The home router may change the destin