Methods and apparatus for maintaining network addresses

Abstract
This present invention relates to a method for using hypervisors to enable stable wireless network connections. The crux of the invention involves pushing the control of the networking devices from the Operating System level down to a networking front end hypervisor level. The hypervisor will control all networking devices, the authentication for these devices, and the selection of which connection to use. The hypervisor will also perform Network Address Translation (NAT) to the Operating System. Thus, the Operating System will receive a single, private IP address for use with the Operating System's applications. The hypervisor will handle the change of the IP address when roaming between networks and hide it from the Operating System through the use of the NAT.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1(
a) illustrates an example of a prior art OSI architecture.



FIG. 1(
b) illustrates an example of an OSI architecture in accordance with the instant invention.



FIG. 2 illustrates an OSI architecture in accordance with the instant invention.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As mentioned above, the present invention relates to a method for using hypervisors to enable stable wireless network connections. The crux of the invention involves pushing the control of the networking devices from the Operating System level down to a networking front end hypervisor level. The hypervisor will control all networking devices, the authentication for these devices, and the selection of which connection to use. The hypervisor will also perform Network Address Translation (NAT) to the Operating System. Thus, the Operating System will receive a single, private IP address for use with the Operating System's applications. The hypervisor will handle the change of the IP address when roaming between networks and hide it from the Operating System through the use of the NAT.


The instant invention utilizes a hypervisor in a novel way as part of the OSI (Open System Interconnection) architecture that is widely used for networking computers and transferring data from one computer to another on the Internet. FIG. 1(a) depicts the current OSI model as known in the art. The OSI model (10) defines a networking framework for implementing protocols in seven layers. The layers, in hierarchal order from top to bottom, consist of the application layer (20), the presentation layer (30), the session layer (40), the transport layer (50), the network layer (60), the data link layer (70), and finally the physical layer (80). Control is passed from one layer to the next, starting at the application layer in one system and moving from one layer to another till control is passed to the physical layer (80) which has a physical link (not shown) that passes control and data from the current system to the recipient system, in which control is passed through again through the hierarchy from the physical layer to the application layer.


The top four layers are considered to be the upper, Operating System layers (100) of the model, in which the functions and controls implemented in those layers are those done by the Operating System. The three lower layers are considered to be the lower, hardware layers (110), in which control is implemented by the underlying network hardware. The novelty of the instant invention is shown in inserting a hypervisor (120) between the upper, Operating System layers and the lower, hardware layers of the OSI model. FIGS. 1(b) and 2 depict novel models of the instant invention.


A hypervisor is a low end virtual hardware that runs a different Operating System. In a preferred embodiment, the hypervisor is always running, from power up to power down. The hypervisor must be aware of different wireless devices and maintain the drivers needed to talk to those devices. The hypervisor handles all of the logic of switching from one network to another.


The hypervisor is capable of finding a better network based on known policies, such as lower cost, higher bandwidth, and so forth. When the hypervisor recognizes that such a network exists, it switches the client from its existing network to the better network. In this case, the hypervisor maintains the old connection, allowing data flow, until the second connection is up and running. Then, the hypervisor would switch the data flow to the second connection and end the first connection. Thus, the user maintains a steady connectivity and a stable IP address.


The hypervisor is also able to recognize when the network signal has gone. In this scenario, the hypervisor searches for a different signal, and switches the client computer to the new signal. In a preferred embodiment, the hypervisor automatically looks for a wireless or wired connection, especially when the current wired or wireless connection is unavailable, unless the user specifies otherwise. While transferring to the new network, the hypervisor can buffer outgoing data, such that the client computer has no need and no awareness of a change in connection. Thus an appearance of connectivity is maintained.


In this position, the hypervisor will handle all roaming decisions as well as the authentication onto the various networks. The hypervisor will also, perform Network Address Translation (NAT) for the client system. Thus, although the IP addresses assigned to the client change as the client joins different networks, the IP address presented to the operating system and applications supported by the Operating System will remain constant. Thus, the hypervisor enables a stable connection to the networks to which the computer connects and the applications utilize.


In summary, the present invention relates to a method for using hypervisors to enable stable wireless network connections. The crux of the invention involves pushing the control of the networking devices from the Operating System level down to a networking front end hypervisor level. The hypervisor will control all networking devices, the authentication for these devices, and the selection of which connection to use. The hypervisor will also perform Network Address Translation (NAT) to the Operating System. Thus, the Operating System will receive a single, private IP address for use with the Operating System's applications. The hypervisor will handle the change of the IP address when roaming between networks and hide it from the Operating System through the use of the NAT.


It is to be understood that the present invention, in accordance with at least one presently preferred embodiment, includes elements which may be implemented on at least one general-purpose computer running suitable software programs. These may also be implemented on at least one Integrated Circuit or part of at least one Integrated Circuit. Thus, it is to be understood that the invention may be implemented in hardware, software, or a combination of both. Further, the client computer which has been mentioned throughout the disclosure can be any mobile computing device, including desktops, laptops, PDAs, and any other such devices that are known in the art.


If not otherwise stated herein, it is to be assumed that all patents, patent applications, patent publications and other publications mentioned and cited herein are hereby fully incorporated by reference herein as if set forth in their entirety herein.


Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be affected therein by one skilled in the art without departing from the scope or spirit of the invention.

Claims
  • 1. A system comprising: a hypervisor that enables more than one operating system to run concurrently;a client operating system that connects to a network;at least one application that relies on the IP address relating to the network connection;wherein the hypervisor provides a stable IP address for the client computer as the client computer roams networks.
  • 2. The system of claim 1, wherein the hypervisor performs Network Address Translation for the client system.
  • 3. The system of claim 1, wherein the hypervisor is inserted between the upper, Operating System layers and the lower, hardware layers of the OSI model.
  • 4. The system of claim 3, wherein the hypervisor handles all of the logic of switching from one network to another.
  • 5. The system of claim 4, wherein the hypervisor automatically searches and connects to wireless networks when the client computer is not currently connected.
  • 6. The system of claim 4, wherein the hypervisor buffers incoming and outgoing data from the client computer when switching from one network to another.
  • 7. The system of claim 4, wherein the hypervisor switches from one network to another based on policy.
  • 8. The system of claim 1, wherein the hypervisor is aware of all of the different wireless devices of the client computer.
  • 9. The system of claim 8, wherein the hypervisor maintains the drivers necessary to talk to the wireless devices.
  • 10. The system of claim 9, wherein the hypervisor runs from power up of the client computer to power down of the client computer.
  • 11. A method comprising: enabling more than one operating system to run concurrently through the user of a hypervisor;connecting a client operating system to a network;running at least one application that relies on the IP address relating to the network connection;wherein the hypervisor provides a stable IP address for the client computer as the client computer roams networks.
  • 12. The system of claim 11, wherein the hypervisor performs Network Address Translation for the client system.
  • 13. The system of claim 11, wherein the hypervisor is inserted between the upper, Operating System layers and the lower, hardware layers of the OSI model.
  • 14. The system of claim 13, wherein the hypervisor handles all of the logic of switching from one network to another.
  • 15. The system of claim 14, wherein the hypervisor automatically searches and connects to wireless networks when the client computer is not currently connected.
  • 16. The system of claim 14, wherein the hypervisor buffers incoming and outgoing data from the client computer when switching from one network to another.
  • 17. The system of claim 11, wherein the hypervisor is aware of all of the different wireless devices of the client computer.
  • 18. The system of claim 18, wherein the hypervisor maintains the drivers necessary to talk to the wireless devices.
  • 19. The system of claim 18, wherein the hypervisor runs from power up of the client computer to power down of the client computer.
  • 20. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps, said method comprising the steps of: enabling more than one operating system to run concurrently through the user of a hypervisor;connecting a client operating system to a network;running at least one application that relies on the IP address relating to the network connection;wherein the hypervisor provides a stable IP address for the client computer as the client computer roams networks.