IP Library › Granted Patent US 9,258,254
Granted Patent B2
US 9,258,254 · App. 13/909,460 · Granted Feb 9, 2016

Virtual router and switch

Inventors: Arvind Srinivasan (San Jose, CA); Shimon Muller (Sunnyvale, CA)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L49/3009H04L45/58H04L49/70
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,258,254
App. No.
13/909,460
Granted
Feb 9, 2016
Kind
B2
Abstract

An input/output (I/O) switch fabric includes input physical ports that convey packets associated with at least a first network flow. Moreover, virtual routers in the I/O switch fabric, which have associated routing tables, provide types of service and/or routes for different source-destination pairs based on link-layer information and network-layer information in the packets. Note that different virtual routers can provide different types of service and/or different routes. For example, a type of service associated with a first virtual router may include changing packet headers when crossing service domains in a global network, and a type of service associated with a second virtual router may avoid changing packet headers when providing connectivity in the network. Furthermore, the I/O switch fabric includes output physical ports that convey packets associated with at least a second network flow. The virtual routers may facilitate InfiniBand inter-subnet crossing.

Claims (29)

1. An input/output (I/O) switch fabric, comprising:

input physical ports, wherein a given input physical port is configured to convey packets associated with at least a first network flow;

virtual routers, coupled to the input physical ports, having associated routing tables, wherein a given virtual router is a resource that can be enabled on any given physical port, wherein the given virtual router provides a type of service for a given source-destination pair based on network-layer information in the packets, wherein different virtual routers can provide one of: different types of service and different routes, wherein a type of service associated with a first virtual router includes changing packet headers when crossing service domains in a global network, and wherein a type of service associated with a second virtual router avoids changing packet headers when providing connectivity in the network; and

output physical ports, wherein a given output physical port is configured to convey packets associated with at least a second network flow.

2. The I/O switch fabric of claim 1 , wherein the I/O switch fabric further comprises classifiers, coupled to the input physical ports, configured to separate packets for network flows associated with one of: the different types of service and the different routes and to convey the packets to the virtual routers.

3. The I/O switch fabric of claim 1 , wherein the virtual routers facilitate different paths, including paths from different output physical ports to a common destination.

4. The I/O switch fabric of claim 3 , wherein the paths are specified deterministically in the routing tables based on predefined output physical ports.

5. The I/O switch fabric of claim 3 , wherein the paths are specified in the routing tables using a hashing technique to determine particular output physical ports.

6. The I/O switch fabric of claim 3 , wherein the different paths are selected based on one or more of: source information; destination information, a load-balancing parameter, a redundancy parameter, and a hop-count policy.

7. The I/O switch fabric of claim 1 , wherein the virtual routers facilitate InfiniBand inter-subnet crossing.

8. A system, comprising an input/output (I/O) switch fabric, wherein the I/O switch fabric includes:

input physical ports, wherein a given input physical port is configured to convey packets associated with at least a first network flow;

virtual routers, coupled to the input physical ports, having associated routing tables, wherein a given virtual router is a resource that can be enabled on any given physical port, wherein the given virtual router provides a type of service for a given source-destination pair based on network-layer information in the packets, wherein different virtual routers can provide one of: different types of service and different routes, wherein a type of service associated with a first virtual router includes changing packet headers when crossing service domains in a global network, and wherein a type of service associated with a second virtual router avoids changing packet headers when providing connectivity in the network; and

output physical ports, wherein a given output physical port is configured to convey packets associated with at least a second network flow.

9. The system of claim 8 , wherein the I/O switch fabric further comprises classifiers, coupled to the input physical ports, configured to separate packets for network flows associated with one of: the different types of service and the different routes and to convey the packets to the virtual routers.

10. The system of claim 8 , wherein the virtual routers facilitate different paths, including paths from different output physical ports to a common destination.

11. The system of claim 10 , wherein the paths are specified deterministically in the routing tables based on predefined output physical ports.

12. The system of claim 10 , wherein the paths are specified in the routing tables using a hashing technique to determine particular output physical ports.

13. The system of claim 10 , wherein the different paths are selected based on one or more of: source information; destination information, a load-balancing parameter, a redundancy parameter, and a hop-count policy.

14. The system of claim 8 , wherein the virtual routers facilitate InfiniBand inter-subnet crossing.

15. A method for routing and switching packets, wherein the method comprises:

using an input/output (I/O) switch fabric, receiving the packets on physical input ports, wherein a given physical input port conveys packets associated with at least a first network flow;

separating the packets associated with the routing from the packets associated with the switching;

processing the packets associated with the switching;

for the packets associated with the routing, selecting paths for the packets using virtual routers having associated routing tables, wherein a given virtual router is a resource that can be enabled on any given physical port, wherein the given virtual router provides a type of service for a given source-destination pair based on network-layer information included in the packets, wherein different virtual routers can provide one of: different types of service and different routes, wherein a type of service associated with a first virtual router includes changing packet headers when crossing service domains in a global network, and wherein a type of service associated with a second virtual router avoids changing packet headers when providing connectivity in the network; and

providing the packets associated with the switching and the routing on physical output ports, wherein a given physical output provides packets associated with at least a second network flow.

16. The method of claim 15 , wherein the method further comprises modifying headers of the packets associated with the routing.

17. The method of claim 15 , wherein the virtual routers facilitate different paths including different output physical ports to a common destination.

18. The method of claim 15 , wherein the virtual routers facilitate InfiniBand inter-subnet crossing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2013
From: SRINIVASAN, ARVIND; MULLER, SHIMON
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 030778/0928 →
Continuity (2)
Provisional Application 61799455 · Mar 15, 2013
Related Publication 20140269686A1 · Sep 18, 2014