Dynamic routing for performance partitioning in a data processing network
First Claim
1. A method of routing resource requests through a switch in a data processing network, said method comprising:
- a) storing, in a memory, routing information defining respective outputs of the switch to which resource requests received at inputs of the switch should be routed;
b) in response to resource requests being received at the inputs of the switch, routing each resource request received at each input of the switch to an output of the switch by accessing the routing information in the memory to select a respective output of the switch to which said each resource request should be routed, and routing said each resource request to the selected output of the switch to which said each resource request should be routed; and
c) changing the routing information stored in the memory based on loading characteristics of the resource requests received at the switch inputs in order to balance loading of the resource requests upon the outputs of the switch.
7 Assignments
0 Petitions
Accused Products
Abstract
A data network includes a switch that links a number of host processors to shared resources such as network ports of a cached storage subsystem. The switch routes resource requests from its inputs to selected ones of its outputs in accordance with programmed routing information. The routing information is changed dynamically based on measured loading characteristics of requests from the switch inputs or the respective hosts, in order to reduce the probability of blocked paths. In a specific example, respective subsets of output ports of the switch are assigned to each respective input port, the loading of each input port of the switch is measured, and the respective subset of output ports assigned to each input port are repetitively changed, and the respective subset of an input port is changed in response to blocking of the output ports assigned to the input port. A respective subset is selected based on the measured loading characteristics and a priority assigned to the input port, in order to balance loading on the output ports. In another specific example, a respective subset of the output ports is assigned to each host, based on host loading characteristics and a respective priority assigned to each host.
221 Citations
67 Claims
-
1. A method of routing resource requests through a switch in a data processing network, said method comprising:
-
a) storing, in a memory, routing information defining respective outputs of the switch to which resource requests received at inputs of the switch should be routed;
b) in response to resource requests being received at the inputs of the switch, routing each resource request received at each input of the switch to an output of the switch by accessing the routing information in the memory to select a respective output of the switch to which said each resource request should be routed, and routing said each resource request to the selected output of the switch to which said each resource request should be routed; and
c) changing the routing information stored in the memory based on loading characteristics of the resource requests received at the switch inputs in order to balance loading of the resource requests upon the outputs of the switch. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of routing storage access requests from host processors through a switch to a data storage subsystem, said switch having inputs coupled to the hosts to receive the storage access requests from the hosts, and said switch having outputs coupled to the data storage subsystem to transmit the storage access requests to the data storage subsystem, said method comprising:
-
a) storing, in a memory, routing information defining respective outputs of the switch to which storage access requests received at inputs of the switch should be routed;
b) in response to storage access requests being received at the inputs of the switch, routing each storage access request received at each input of the switch to an output of the switch by accessing the routing information in the memory to select a respective output of the switch to which said each storage access request should be routed, and routing said each storage access request to the selected output of the switch to which said each storage access request should be routed; and
c) changing the routing information stored in the memory based on loading characteristics of the storage access requests received at the switch inputs in order to balance loading of the storage access requests upon the outputs of the switch. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A switch for routing resource requests in a data network, said switch comprising:
-
a plurality of inputs;
a plurality of outputs; and
a switch control computer programmed for routing the resource requests from the inputs to the outputs;
wherein the switch control computer includes memory storing routing information, said routing information defining respective outputs of the switch to which resource requests received at the inputs of the switch should be routed; and
wherein the switch control computer is programmed to respond to receipt of the resource requests at the inputs of the switch by routing each resource request received at each input of the switch to an output of the switch by accessing the routing information in the memory to select a respective output of the switch to which said each resource request should be routed, and to route said each resource request to the selected output of the switch to which said each resource request should be routed; and
wherein the switch control computer is further programmed to change the routing information stored in the memory based on loading characteristics of the resource requests received at the switch inputs in order to balance loading of the resource requests upon the outputs of the switch. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A program storage device containing a program for a switch for routing resource requests in a data network according to routing information stored in a memory, said routing information defining respective outputs of the switch to which resource requests received at the inputs of the switch should be routed;
- said program being executable by the switch for responding to receipt of the resource requests at the inputs of the switch by routing each resource request received at each input of the switch to an output of the switch by accessing the routing information in the memory to select a respective output of the switch to which said each resource request should be routed, and to route said each resource request to the selected output of the switch to which said each resource request should be routed; and
wherein the program is further executable by the switch to change the routing information stored in the memory based on loading characteristics of the resource requests received at the switch inputs in order to balance loading of the resource requests upon the outputs of the switch. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
- said program being executable by the switch for responding to receipt of the resource requests at the inputs of the switch by routing each resource request received at each input of the switch to an output of the switch by accessing the routing information in the memory to select a respective output of the switch to which said each resource request should be routed, and to route said each resource request to the selected output of the switch to which said each resource request should be routed; and
-
53. A storage network comprising, in combination:
-
a cached storage subsystem including a plurality of storage devices, a cache memory linked to the storage devices for filling the cache with data from the storage devices, and a plurality of port adapters providing storage ports for access to the cache memory; and
a switch having a plurality of inputs for receiving data access requests from a plurality of hosts, and a plurality of outputs linked to the storage ports for selectively routing data access requests from the inputs of the switch to the storage ports;
wherein the storage network includes a memory containing routing information, said routing information defining respective outputs of the switch to which storage access requests received at the inputs of the switch should be routed;
said switch being programmed to respond to receipt of the storage access requests at the inputs of the switch by routing each storage access request received at each input of the switch to a selected output of the switch by accessing the routing information in the memory to select an output of the switch to which said each storage access request should be routed, and to route said each storage access request to the selected output of the switch to which said each storage access request should be routed; and
wherein the storage network includes a processor programmed to change the routing information in the memory based on loading characteristics of the storage access requests in order to balance loading of the storage access requests.- View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67)
-
Specification