System and method for data communication with data link backup
According to one embodiment of the invention, there is provided a data communication device for processing a data stream, including a runtime virtual machine (VM) and a mirror VM. The two VMs are independently running on the same physical hardware of the data communication device. The runtime VM is operable for receiving the data stream and establishing a plurality of data links to process the data stream. The mirror VM is operable for backing up the data links established by the runtime VM. The data stream is switched from the runtime VM to the mirror VM for processing if a predetermined condition occurs in the runtime VM.
1 . A data communication device comprising:
a runtime virtual machine (VM) running on a physical hardware device and operable for receiving a data stream and for establishing a plurality of data links to process said data stream; and
a mirror VM running on said physical hardware device and operable for backing up said plurality of data links,
wherein said data stream is switched from said runtime VM to said mirror VM for processing if a predetermined condition occurs in said runtime VM.
2 . The data communication device of claim 1 , wherein said mirror VM backs up said plurality of data links in a real time fashion.
3 . The data communication device of claim 1 , wherein said mirror VM operates according to said plurality of data links for continuously processing said data stream, if said predetermined condition occurs in said runtime VM.
4 . The data communication device of claim 1 , further comprising:
a virtual machine monitor operable for monitoring said runtime VM and said mirror VM.
5 . The data communication device of claim 1 , wherein said predetermined condition comprises an error.
6 . The data communication device of claim 1 , wherein each of said runtime VM and said mirror VM comprises a high availability module, and wherein said high availability module of said mirror VM is capable of acquiring information from said runtime VM.
7 . The data communication device of claim 1 , further comprising:
a switch controller being capable of switching said data stream from said runtime VM to said mirror VM, if said predetermined condition occurs in said runtime VM.
8 . The data communication device of claim 1 , further comprising:
a host operating system (host OS) running on said data communication device, wherein said runtime VM and said mirror VM are running inside said host operating system.
9 . The data communication device of claim 1 , wherein said data communication device comprises a firewall/VPN device.
10 . A method for data communication, comprising:
processing a data stream by a first virtual machine (VM);
establishing a plurality of data links by said first VM;
backing up said plurality of data links by a second VM; and
switching said data stream from said first VM to said second VM if a predetermined condition occurs in said first VM.
11 . The method of claim 10 , further comprising:
processing said data stream by said second VM.
12 . The method of claim 10 , further comprising:
monitoring said first and second VMs.
13 . The method of claim 10 , further comprising:
monitoring said first VM by said second VM.
14 . The method of claim 10 , further comprising:
rebooting said first VM if said predetermined condition occurs in said first VM.
15 . The method of claim 10 , further comprising:
running a host operating system on said data processing device,
wherein said first VM and said second VM are running inside said host operating system.
16 . A data communication device comprising:
a runtime virtual machine (VM) running on a physical hardware device and operable for receiving a data stream and for establishing a plurality of data links to process said data stream;
a mirror VM running on said physical hardware device and operable for backing up said plurality of data links; and
a virtual machine monitor in communication with said runtime VM and said mirror VM, and operable for monitoring said runtime VM and for switching said data stream from said runtime VM to said mirror VM for processing if a predetermined condition occurs in said runtime VM.
17 . The data communication device of claim 16 , wherein said predetermined condition comprises an error.
18 . The data communication device of claim 16 , wherein each of said runtime VM and said mirror VM comprises a high availability module which is in communication with said virtual machine monitor, and wherein said high availability module of said mirror VM is capable of acquiring information from said runtime VM and informing said virtual machine monitor about a status of said runtime VM.
19 . The data communication device of claim 16 , wherein said virtual machine monitor further comprises a switch controller being capable of forwarding said data stream to said mirror VM and stopping forwarding said data stream to said runtime VM, if a predetermined condition occurs in said runtime VM.
20 . The data communication device of claim 16 , further comprising:
a host operating system (host OS) running on said data communication device, wherein said virtual machine monitor, said runtime VM, and said mirror VM are running inside said host operating system.
21 . The data communication device of claim 16 , wherein said data communication device comprises a firewall/VPN device.
22 . The data communication device of claim 16 , wherein said mirror VM backs up said plurality of data links in a real time fashion.