IP Library › Granted Patent US 9,130,867
Granted Patent B2
US 9,130,867 · App. 13/137,619 · Granted Sep 8, 2015

Flow control for virtualization-based server

Inventor: Shuichi Karino (Tokyo, JP)
Assignee: NEC Corporation
H04L45/38H04L45/586
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 9,130,867
App. No.
13/137,619
Granted
Sep 8, 2015
Kind
B2
Abstract

A server includes a processor, a network adapter connected to the processor and a route switcher. The processor includes a virtual machine and a virtual switch relaying packets exchanged between the virtual machine and an exterior. The network adapter has a transfer function of transmitting and receiving packets to and from the virtual machine not through the virtual switch. The route switcher dynamically switches a flow of the packets transmitted and received by the virtual machine between first and second route pattern flows. And, the route switcher instructs the transfer function to process the first route pattern flow instructs the virtual switch to process the second route pattern flow.

Claims (102)

1. A server, comprising:

a processor;

a physical network adapter connected to said processor; and

a route switcher, wherein said processor includes:

virtual machines; and

a virtual switch relaying packets exchanged between said virtual machines and an exterior,

wherein said physical network adapter has a transfer function comprising transmitting and receiving packets to and from said virtual machines other than through said virtual switch,

wherein said route switcher dynamically switches a specific flow of packets transmitted and received by one of said virtual machines between first and second route pattern flows,

wherein said first route pattern flow comprises a flow in which packets are directly transmitted and received between said physical network adapter and the one of said virtual machines other than through said virtual switch by using said transfer function, and

wherein said second route pattern flow comprises a flow in which packets are transmitted and received between said physical network adapter and the one of said virtual machines through said virtual switch other than through direct connections between said physical network adapter and said virtual machines,

wherein said physical network adapter includes:

a reception filter receiving a reception packets;

a storage unit storing a reception filter table indicating a relation between flows and reception actions;

first reception queues each storing packets to be directly transmitted to an associated one of said virtual machines; and

a second reception queue storing packets to be transmitted to said virtual switch,

wherein said reception filter refers to said reception filter table and performs a reception action correlated to a flow of said reception packet selected from said reception actions on said reception packet,

wherein, when switching the specific flow to the first route pattern flow, said route switcher sets said reception filter table so that the specific flow of the packets transmitted and received by the one of said virtual machines is correlated to a first reception action,

wherein, when switching the specific flow to the second route pattern flow, said route switcher sets said reception filter table so that the specific flow of the packets transmitted and received by the one of said virtual machines is correlated to a second reception action,

wherein said first reception action comprises storing said reception packets into a reception queue associated with the one of the virtual machines of the first reception queues, and transmitting said reception packets to the one of said virtual machines from the associated reception queue by using said transfer function,

wherein said second reception action comprises storing said reception packets into said second reception queue and transmitting said reception packet to said virtual switch from said second reception queue, and

wherein said reception filter refers to said reception filter table to perform the reception action correlated to the specific flow on the reception packets.

2. The server according to claim 1 ,

wherein said physical network adapter further includes:

transmission queues each storing packets directly received from associated one of said virtual machines by using said transfer function; and

a transmission filter receiving transmission packets from the transmission queues,

wherein said storage unit further stores a transmission filter table indicating a relation between flows and transmission actions,

wherein, when switching the specific flow to the first route pattern flow, said route switcher sets said transmission filter table so that the specific flow of the packets transmitted and received by the one of said virtual machines is correlated to a first transmission action,

wherein, when switching the specific flow to the second route pattern flow, said route switcher sets said transmission filter table so that the specific flow of the packets transmitted and received by the one of said virtual machines is correlated to a second transmission action,

wherein said first transmission action comprises transmitting transmission packets received from the one of said virtual machines and stored in a transmission queue associated with the one of said virtual machines of the transmission queues to the exterior,

wherein said second transmission action comprises looping back said transmission packets received from the one of said virtual machines from the transmission queue associated with the one of said virtual machines to said reception filter as said reception packets, and

wherein said transmission filter refers to said transmission filter table to perform the transmission action correlated to the specific flow on the transmission packets.

3. The server according to claim 1 , wherein each of said virtual machines includes:

a first transmission/reception function transmitting and receiving packets to and from said physical network adapter, other than through said virtual switch;

a second transmission/reception function transmitting and receiving packets to and from said virtual switch; and

a branching function referring a flow table indicating a relation between flows and packet transfer destinations and forwarding a transmission packet from said each of said virtual machines to a packet transfer destination correlated to a flow of said transmission packet selected from said packet transfer destinations,

wherein said route switcher sets said flow table so that said first route pattern flow is correlated to a first packet transfer destination and said second route pattern flow is correlated to a second packet transfer destination,

wherein said first packet transfer destination comprises said first transmission/reception function, and

wherein said second packet transfer destination comprises said second transmission/reception function.

4. The server according to claim 1 ,

wherein said route switcher measures a load of the specific flow, based on the packets transmitted and received by the one of said virtual machines,

and

wherein, when the load of the specific flow exceeds a predetermined threshold, said route switcher switches said specific flow to said first route pattern flow.

5. The server according to claim 1 , wherein, upon reception of a predetermined packet belonging to the specific flow, said route switcher switches said specific flow to said first route pattern flow.

6. The server according to claim 5 , wherein said predetermined packet comprises a first packet of the specific flow.

7. The server according to claim 5 , wherein said predetermined packet comprises a packet including a Hypertext Transfer Protocol (HTTP) request Uniform Resource Locator (URL).

8. The server according to claim 1 , wherein said route switcher is incorporated in said virtual switch.

9. The server according to claim 1 , wherein said route switcher is incorporated in said physical network adapter.

10. A non-transitory recording medium recording a flow control program which causes a server to provide a route switching function,

wherein said server includes:

a processor; and

a physical network adapter,

wherein said processor includes:

virtual machines; and

a virtual switch relaying packets exchanged between said virtual machines and an exterior,

wherein said physical network adapter has a transfer function comprising transmitting and receiving packets to and from said virtual machines other than through said virtual switch,

wherein said route switching function dynamically switches a specific flow of packets transmitted and received by one of said virtual machines between first and second route pattern flows, and

wherein said first route pattern flow comprises a flow in which packets are directly transmitted and received between said physical network adapter and the one of said virtual machines other than through said virtual switch by using said transfer function, and

wherein said second route pattern flow comprises a flow in which packets are transmitted and received between said physical network adapter and the one of said virtual machines through said virtual switch other than through direct connections between said physical network adapter and said virtual machines,

wherein said physical network adapter includes:

a reception filter receiving a reception packets;

a storage unit storing a reception filter table indicating a relation between flows and reception actions;

first reception queues each storing packets to be directly transmitted to an associated one of said virtual machines; and

a second reception queue storing packets to be transmitted to said virtual switch,

wherein said reception filter refers to said reception filter table and performs a reception action correlated to a flow of said reception packet selected from said reception actions on said reception packet,

wherein, when switching the specific flow to the first route pattern flow, said route switcher sets said reception filter table so that the specific flow of the packets transmitted and received by the one of said virtual machines is correlated to a first reception action,

wherein, when switching the specific flow to the second route pattern flow, said route switcher sets said reception filter table so that the specific flow of the packets transmitted and received by the one of said virtual machines is correlated to a second reception action,

wherein said first reception action comprises storing said reception packets into a reception queue associated with the one of the virtual machines of the first reception queues, and transmitting said reception packets to the one of said virtual machines from the associated reception queue by using said transfer function,

wherein said second reception action comprises storing said reception packets into said second reception queue and transmitting said reception packet to said virtual switch from said second reception queue, and

wherein said reception filter refers to said reception filter table to perform the reception action correlated to the specific flow on the reception packets.

11. A physical network adapter to be connected to a processor of a server, said processor including virtual machines and a virtual switch relaying packets exchanged between said virtual machines and an exterior,

wherein said physical network adapter has a transfer function transmitting and receiving packets to and from said virtual machines,

wherein said physical network adapter comprises a route switcher,

wherein said route switcher dynamically switches a specific flow of packets transmitted and received by one of said virtual machines between first and second route pattern flows,

wherein said first route pattern flow comprises a flow in which packets are directly transmitted and received between said physical network adapter and the one of said virtual machines other than through said virtual switch by using said transfer function, and

wherein said second route pattern flow comprises a flow in which packets are transmitted and received between said physical network adapter and the one of said virtual machines through said virtual switch other than through direct connections between said physical network adapter and said virtual machines,

wherein said physical network adapter includes:

a reception filter receiving a reception packets;

a storage unit storing a reception filter table indicating a relation between flows and reception actions;

first reception queues each storing packets to be directly transmitted to an associated one of said virtual machines; and

a second reception queue storing packets to be transmitted to said virtual switch,

wherein said reception filter refers to said reception filter table and performs a reception action correlated to a flow of said reception packet selected from said reception actions on said reception packet,

wherein, when switching the specific flow to the first route pattern flow, said route switcher sets said reception filter table so that the specific flow of the packets transmitted and received by the one of said virtual machines is correlated to a first reception action,

wherein, when switching the specific flow to the second route pattern flow, said route switcher sets said reception filter table so that the specific flow of the packets transmitted and received by the one of said virtual machines is correlated to a second reception action,

wherein said first reception action comprises storing said reception packets into a reception queue associated with the one of the virtual machines of the first reception queues, and transmitting said reception packets to the one of said virtual machines from the associated reception queue by using said transfer function,

wherein said second reception action comprises storing said reception packets into said second reception queue and transmitting said reception packet to said virtual switch from said second reception queue, and

wherein said reception filter refers to said reception filter table to perform the reception action correlated to the specific flow on the reception packets.

12. A flow control method for a server including a processor and a physical network adapter connected to said processor, said processor including virtual machines; and a virtual switch relaying packets exchanged between said virtual machines and an exterior, and said physical network adapter having a transfer function comprising transmitting and receiving packets to and from said virtual machines other than through said virtual switch,

said method comprising:

dynamically switching a specific flow of packets transmitted and received by one of said virtual machines between first and second route pattern flows,

wherein said first route pattern flow comprises a flow in which packets are directly transmitted and received between said physical network adapter and the one of said virtual machines other than through said virtual machine by using said transfer function, and

wherein said second route pattern flow comprises a flow in which packets are transmitted and received between said physical network adapter and the one of said virtual machines through said virtual switch other than through direct connections between said physical network adapter and said virtual machines,

wherein said physical network adapter includes:

a reception filter receiving a reception packets;

a storage unit storing a reception filter table indicating a relation between flows and reception actions;

first reception queues each storing packets to be directly transmitted to an associated one of said virtual machines; and

a second reception queue storing packets to be transmitted to said virtual switch,

wherein said reception filter refers to said reception filter table and performs a reception action correlated to a flow of said reception packet selected from said reception actions on said reception packet,

wherein, when switching the specific flow to the first route pattern flow, said route switcher sets said reception filter table so that the specific flow of the packets transmitted and received by the one of said virtual machines is correlated to a first reception action,

wherein, when switching the specific flow to the second route pattern flow, said route switcher sets said reception filter table so that the specific flow of the packets transmitted and received by the one of said virtual machines is correlated to a second reception action,

wherein said first reception action comprises storing said reception packets into a reception queue associated with the one of the virtual machines of the first reception queues, and transmitting said reception packets to the one of said virtual machines from the associated reception queue by using said transfer function,

wherein said second reception action comprises storing said reception packets into said second reception queue and transmitting said reception packet to said virtual switch from said second reception queue, and

wherein said reception filter refers to said reception filter table to perform the reception action correlated to the specific flow on the reception packets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2011
From: KARINO, SHUICHI
To: NEC CORPORATION
Reel/Frame 026901/0241 →
Priority Claims (1)
JP 2009-276679 · Dec 4, 2009 · national
Continuity (2)
Continuation PCTJP2010071316 · Nov 30, 2010
Related Publication 20110320632A1 · Dec 29, 2011