IP Library Granted Patent US 7,296,092
Granted Patent B2
US 7,296,092 · App. 10/881,858 · Granted Nov 13, 2007

Apparatus for inter-domain communications including a virtual switch for routing data packets between virtual interfaces of the virtual switch

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 7,296,092
App. No.
10/881,858
Granted
Nov 13, 2007
Kind
B2
Abstract

An apparatus for a multi-domain computer system includes multiple virtual system domains, each having an associated, independent routing instance. A virtual switch is created to forward packets between the domains. The virtual switch is configured to operate substantially as if it were a physical layer- 2 switch. The virtual switch and the virtual domains are connected together by virtual interfaces, where the virtual switch, the virtual domains, and the virtual interfaces are all created in software. Further, protocols such as ARP, IP, and/or IPv6 operate over the virtual interfaces in substantially the same way that they would over Ethernet. Also, each domain has a software driver that behaves like an Ethernet driver, and has a 48-bit Ethernet-like address that is used for the physical address.

Claims (39)

1. A network device for inter-domain communications, comprising:

a transceiver that is configured to transmit and receive packets over a network based, in part, on a network protocol; and

a processor that is configured to create a virtual switch that is configured to receive a packet at one of a plurality of interfaces associated with the virtual switch, wherein the plurality of interfaces includes a plurality of virtual interfaces, and wherein the virtual switch is configured to be associated with at least three virtual interfaces, and to provide the packet at another of the plurality of interfaces,

wherein the virtual switch is configured to provide the packet at the other of the plurality of interfaces by determining if a destination address for the packet is included in a neighbor cache table that is associated with the virtual switch, and

wherein the virtual switch is further configured to add an entry to a neighbor cache table such that the entry includes a source address of the packet, and further includes the one of the plurality of interfaces that received the packet.

2. The network device of claim 1 , wherein the processor is further configured to create a plurality of virtual network devices, wherein each of the plurality of virtual network devices is configured to receive and send received packets to a separate one of the plurality of virtual interfaces, based, in part, on the network protocol.

3. The network device of claim 2 , wherein each of the plurality of virtual network devices has a unique physical address.

4. The network device of claim 3 , wherein each of the unique physical addresses is a 48-bit Ethernet-like address.

5. The network device of claim 2 , wherein the network protocol includes at least one of an Internet protocol and an address resolution protocol.

6. The network device of claim 2 , wherein each of the plurality of virtual network devices is a virtual router.

7. The network device of claim 2 , wherein at least one of the plurality of virtual network devices includes a firewall.

8. The network device of claim 1 , wherein the virtual switch is a virtual layer- 2 switch.

9. The network device of claim 1 , wherein the virtual switch is a virtual VLAN-aware Ethernet switch.

10. The network device of claim 1 , wherein the virtual switch is configured to provide the packet at the other of the plurality of interfaces by performing actions, including:

determining if a destination address for the packet is included in the neighbor cache table that is associated with the virtual switch; and

if the destination address for the packet is included in the neighbor cache table, providing the packet at a one of the plurality of interfaces indicated for the destination address in the neighbor cache table.

11. A computer program for inter-domain communications embodied on a computer-readable storage medium, comprising components that are configured to enable actions to be performed, including:

configuring a processor to create a virtual switch that is configured to be associated with at least one of a plurality of interfaces that includes at least three virtual interfaces; and

if a packet is received by the virtual switch at one of the plurality of interfaces, employing the virtual switch to provide the packet to another of the plurality of interfaces,

wherein the virtual switch is configured to provide the packet at the other of the plurality of interfaces by determining if a destination address for the packet is included in a neighbor cache table that is associated with the virtual switch, and

wherein the virtual switch is further configured to add an entry to a neighbor cache table such that the entry includes a source address of the packet, and further includes the one of the plurality of interfaces that received the packet.

12. The computer program of claim 11 , further comprising:

creating a plurality of virtual network devices and the plurality of virtual interfaces, wherein each of the virtual network devices is associated with a separate one of the plurality of virtual interfaces, and wherein at least one of the plurality of virtual network devices is associated with a physical interface; and

for each of the plurality of virtual network devices, if a packet is received at the physical interface that is associated with the virtual network device, providing the packet to another interface that is associated with the virtual network device based, in part, on a network protocol.

13. The computer program of claim 12 , further comprising:

for each of the plurality of virtual network devices, if a packet is received, from the virtual switch, at the one of the plurality of virtual interfaces that is associated with the virtual network device, providing the packet to yet another interface that is associated with the virtual network device based, in part, on the network protocol; and

if the virtual network device provides the packet to the physical interface that is associated with the virtual network device, enabling the packet to be transmitted to the network, based, in part, on the network protocol.

14. The computer program of claim 12 , wherein the network protocol includes at least one of an Internet protocol and an address resolution protocol.

15. The computer program of claim 12 , wherein each of the plurality of virtual network devices has a unique physical address, wherein each of the unique physical addresses is a 48-bit Ethernet-like address.

16. The computer program of claim 11 , wherein the virtual switch is a virtual layer- 2 switch.

17. The computer program of claim 11 , wherein the virtual switch is a virtual VLAN-aware Ethernet switch.

18. The computer program of claim 11 , wherein employing the virtual switch to provide the packet at the other of the plurality of interfaces is accomplished by performing actions, including:

determining if a destination address for the packet is included in the neighbor cache table that is associated with the virtual switch;

if the destination address for the packet is included in the neighbor cache table, providing the packet at a one of the plurality of virtual interfaces indicated for the destination address in the neighbor cache table.

19. An apparatus for inter-domain communications, comprising:

creating means for creating a virtual switch that is configured to be associated with a plurality of interfaces that include a plurality of at least three virtual interfaces; and

employing means for, if a packet is received by the virtual switch at one of the plurality of interfaces, employing the virtual switch to provide the packet to another of the plurality of interfaces,

wherein the virtual switch is configured to provide the packet at the other of the plurality of interfaces by determining if a destination address for the packet is included in a neighbor cache table that is associated with the virtual switch, and

wherein the virtual switch is further configured to add an entry to a neighbor cache table such that the entry includes a source address of the packet, and further includes the one of the plurality of interfaces that received the packet.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035581/0816 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2014
From: NOKIA INC.
To: NOKIA CORPORATION
Reel/Frame 032188/0521 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2004
From: NGUYEN, TUYEN
To: NOKIA, INC.
Reel/Frame 015565/0889 →