System and Method for Assigning Paths for Data Flows Through a Wide-Area Network
First Claim
1. A computer-implemented method for assigning paths for data flows through a wide-area network, comprising:
- at a computer system including one or more processors and memory storing one or more programs, the one or more processors executing the one or more programs to perform the operations of;
receiving a plurality of data flows, wherein a respective data flow in the plurality of data flows and includes a respective source address and a respective destination address;
generating, without regard to priorities associated with the plurality of data flows, an ordering of the plurality of data flows;
iteratively modifying, without regard to the priorities, the ordering of the plurality of data flows by applying a randomization algorithm to the plurality of data flows, until a cost associated with path assignments for the ordering of the plurality of data flows satisfies a predetermined condition, wherein a respective path assignment for a respective data flow specifies a respective path from a respective source address to a respective destination address; and
executing the data flows based on the path assignments for the ordering of the plurality of data flows having the cost that satisfies the predetermined condition,
0 Assignments
0 Petitions
Accused Products
Abstract
A method includes, receiving a plurality of data flows. A respective data flow includes a respective source address and a respective destination address. The method further includes generating, without regard to priorities associated with the plurality of data flows, an ordering of the plurality of data flows; and iteratively modifying, without regard to the priorities, the ordering of the plurality of data flows by applying a randomization algorithm to the plurality of data flows, until a cost associated with path assignments for the ordering of the plurality of data flows satisfies a predetermined condition. A respective path assignment for a respective data flow specifies a respective path from a respective source address to a respective destination address. The method also includes executing the data flows based on the path assignments for the ordering of the plurality of data flows having the cost that satisfies the predetermined condition.
-
Citations
20 Claims
-
1. A computer-implemented method for assigning paths for data flows through a wide-area network, comprising:
-
at a computer system including one or more processors and memory storing one or more programs, the one or more processors executing the one or more programs to perform the operations of; receiving a plurality of data flows, wherein a respective data flow in the plurality of data flows and includes a respective source address and a respective destination address; generating, without regard to priorities associated with the plurality of data flows, an ordering of the plurality of data flows; iteratively modifying, without regard to the priorities, the ordering of the plurality of data flows by applying a randomization algorithm to the plurality of data flows, until a cost associated with path assignments for the ordering of the plurality of data flows satisfies a predetermined condition, wherein a respective path assignment for a respective data flow specifies a respective path from a respective source address to a respective destination address; and executing the data flows based on the path assignments for the ordering of the plurality of data flows having the cost that satisfies the predetermined condition, - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing system, comprising:
-
one or more processors; memory; and one or more programs stored in the memory, the one or more programs comprising instructions when executed cause the computing system to perform the operations of; receiving a plurality of data flows, wherein a respective data flow in the plurality of data flows and includes a respective source address and a respective destination address; generating, without regard to priorities associated with the plurality of data flows, an ordering of the plurality of data flows; iteratively modifying, without regard to the priorities, the ordering of the plurality of data flows by applying a randomization algorithm to the plurality of data flows, until a cost associated with path assignments for the ordering of the plurality of data flows satisfies a predetermined condition, wherein a respective path assignment for a respective data flow specifies a respective path from a respective source address to a respective destination address; and executing the data flows based on the path assignments for the ordering of the plurality of data flows having the cost that satisfies the predetermined condition - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computing system, the one or more programs comprising instructions which when executed cause the computing system to perform the operation of:
-
receiving a plurality of data flows, wherein a respective data flow in the plurality of data flows and includes a respective source address and a respective destination address; generating, without regard to priorities associated with the plurality of data flows, an ordering of the plurality of data flows; iteratively modifying, without regard to the priorities, the ordering of the plurality of data flows by applying a randomization algorithm to the plurality of data flows, until a cost associated with path assignments for the ordering of the plurality of data flows satisfies a predetermined condition, wherein a respective path assignment for a respective data flow specifies a respective path from a respective source address to a respective destination address; and executing the data flows based on the path assignments for the ordering of the plurality of data flows having the cost that satisfies the predetermined condition, - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification