IP Library Granted Patent US 10,581,636
Granted Patent B1
US 10,581,636 · App. 15/789,224 · Granted Mar 3, 2020

Network tunneling for virtual machines across a wide-area network

Inventors: Dmitry Skorodumov (Moscow, RU); Nikolay Dobrovolskiy (Moscow, RU); Serguei M. Beloussov (Costa Del Sol, SG); Alexey Koryakin (Moscow, RU)
Assignee: Parallels International GmbH
H04L12/4633G06F9/45558H04L12/4641H04L67/142H04L67/38G06F2009/45595H04L67/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,581,636
App. No.
15/789,224
Granted
Mar 3, 2020
Kind
B1
Abstract

Disclosed are systems and methods for exchanging network traffic between a client and a virtual machine running on a physical server. The described system provides a virtual network interface controller (NIC) that emulates access to a physical local area network of the physical server. The described system further includes server-side and client side components of a packet injection layer that exchanges guest network packets between the client and the virtual machine using a communication channel without injecting the guest network packets into the physical local network of the server.

Claims (35)

1. A method for exchanging network traffic between a client and a virtual machine, wherein the method comprises:

emulating a virtual network interface controller (NIC) of a virtual machine executing on a physical server, wherein the virtual NIC emulates access to a physical local area network of the physical server;

detecting a guest network packet at the virtual NIC to be transmitted to a client; and

transmitting the guest network packet to the client using a communication channel between the physical server and the client without injecting the guest network packet into the local area network of the physical server.

2. The method of claim 1 , wherein the communication channel between the physical server and the client comprises a wide area network (WAN).

3. The method of claim 1 , further comprising:

establishing the communication channel between a server-side packet injection layer executing on the physical server and a client-side packet injection layer executing on the client.

4. The method of claim 1 , wherein the physical local area network is isolated from network access by the virtual machine.

5. The method of claim 1 , wherein the guest network packet is received by a client-side packet injection layer and is injected into a physical network interface of the client.

6. The method of claim 1 , wherein detecting the guest network packet at the virtual NIC to be transmitted to the client further comprises:

intercepting a request to access a state of the virtual NIC by a network interface driver executing in the virtual machine.

7. A system for exchanging network traffic between a client and a virtual machine, wherein the system comprises:

a physical network interface controller (NIC);

a processor configured to:

emulate a virtual network NIC of a virtual machine corresponding to the physical NIC, wherein the virtual NIC emulates access to a physical local area network of the physical server;

detect a guest network packet at the virtual NIC to be transmitted to a client; and

transmit the guest network packet to the client using a communication channel between the physical server and the client without injecting the guest network packet into the local area network of the physical server.

8. The system of claim 7 , wherein the communication channel between the physical server and the client comprises a wide area network (WAN).

9. The system of claim 7 , wherein the processor is further configured to:

establish the communication channel between a server-side packet injection layer executing on the physical server and a client-side packet injection layer executing on the client.

10. The system of claim 7 , wherein the physical local area network is isolated from network access by the virtual machine.

11. The system of claim 7 , wherein the guest network packet is received by a client-side packet injection layer and is injected into a physical network interface of the client.

12. The system of claim 7 , wherein the processor configured to detect the guest network packet at the virtual NIC to be transmitted to the client is further configured to:

intercept a request to access a state of the virtual NIC by a network interface driver executing in the virtual machine.

13. A non-transitory computer readable medium comprising computer executable instructions for exchanging network traffic between a client and a virtual machine, including instructions for:

emulating a virtual network interface controller (NIC) of a virtual machine executing on a physical server, wherein the virtual NIC emulates access to a physical local area network of the physical server;

detecting a guest network packet at the virtual NIC to be transmitted to a client; and

transmitting the guest network packet to the client using a communication channel between the physical server and the client without injecting the guest network packet into the local area network of the physical server.

14. The non-transitory computer readable medium of claim 13 , wherein the communication channel between the physical server and the client comprises a wide area network (WAN).

15. The non-transitory computer readable medium of claim 13 , wherein the instructions further comprise instructions for:

establishing the communication channel between a server-side packet injection layer executing on the physical server and a client-side packet injection layer executing on the client.

16. The non-transitory computer readable medium of claim 13 , wherein the physical local area network is isolated from network access by the virtual machine.

17. The non-transitory computer readable medium of claim 13 , wherein the guest network packet is received by a client-side packet injection layer and is injected into a physical network interface of the client.

18. The non-transitory computer readable medium of claim 13 , wherein the instructions for detecting the guest network packet at the virtual NIC to be transmitted to the client further comprise instructions for:

intercepting a request to access a state of the virtual NIC by a network interface driver executing in the virtual machine.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Jul 18, 2019
From: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AND COLLATERAL AGENT
To: COREL CORPORATION; CLEARSLIDE, INC.; PARALLELS INTERNATIONAL GMBH
Reel/Frame 049787/0073 →
RELEASE OF SECURITY INTEREST RECORDED AT : REEL 047973 FRAME 0797 Recorded Jul 17, 2019
From: UBS AG, STAMFORD BRANCH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 049773/0590 →
SECURITY INTEREST Recorded Dec 21, 2018
From: PARALLELS INTERNATIONAL GMBH
To: UBS AG, STAMFORD BRANCH
Reel/Frame 047973/0797 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2017
From: SKORODUMOV, DMITRY; DOBROVOLSKIY, NIKOLAY; BELOUSSOV, SERGUEI M; KORYAKIN, ALEXEY
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 043913/0152 →
Cited By (1)
US 12,360,798