Mechanism to improve preemption behavior of resource reservations
First Claim
1. A method for a network node in a computer network to allocate network resources for a new data flow, the method comprising:
- receiving a request to reserve network resources for the new data flow;
determining whether the requested network resources are available;
if the requested resources are determined to be unavailable, performing the steps of;
(i) selecting an existing data flow to preempt based on a predefined set of rules, the predefined set of rules being common to a plurality of nodes in the computer network;
(ii) preempting the selected data flow, thereby freeing network resources previously reserved for the selected data flow; and
(iii) reallocating the freed network resources for the new data flow.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique is provided for one or more network nodes to deterministically select data flows to preempt. In particular, each node employs a set of predefined rules which instructs the node as to which existing data flow should be preempted in order to admit a new high-priority data flow. The rules are precisely defined and are common to all nodes configured in accordance with the present invention. Illustratively, a network node not only selects a data flow to preempt, but additionally may identify other “fate sharing” data flows that may be preempted. As used herein, a group of data flows has a fate-sharing relationship if the application instance(s) containing the data flows functions adequately only when all the fate-shared flows are operational. In a first illustrative embodiment, after a data flow in a fate-sharing group is preempted, network nodes may safely tear down the group'"'"'s remaining data flows. In a second illustrative embodiment, when a data flow is preempted, all its fate-shared data flows are marked as being “at risk.” Because the at-risk flows are not immediately torn down, it is less likely that resources allocated for the at-risk flows may be freed then subsequently used to establish relatively lower-priority data flows instead of relatively higher-priority data flows.
69 Citations
39 Claims
-
1. A method for a network node in a computer network to allocate network resources for a new data flow, the method comprising:
-
receiving a request to reserve network resources for the new data flow;
determining whether the requested network resources are available;
if the requested resources are determined to be unavailable, performing the steps of;
(i) selecting an existing data flow to preempt based on a predefined set of rules, the predefined set of rules being common to a plurality of nodes in the computer network;
(ii) preempting the selected data flow, thereby freeing network resources previously reserved for the selected data flow; and
(iii) reallocating the freed network resources for the new data flow. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for a network node in a computer network to allocate network resources for a new data flow, the method comprising:
-
receiving a request to reserve network resources for the new data flow;
determining whether the requested network resources are available;
if the requested resources are determined to be unavailable, performing the steps of;
(i) selecting an existing “
at-risk”
data flow to preempt, the at-risk data flow participating in a fate-sharing group of data flows where at least one data flow in the fate-sharing group has already been preempted;
(ii) preempting the selected at-risk data flow, thereby freeing network resources previously reserved for the selected at-risk data flow; and
(iii) reallocating the freed network resources for the new data flow. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A network node configured to allocate network resources for a new data flow, the network node comprising:
-
means for selecting an existing data flow to preempt based on a predefined set of rules, the predefined set of rules being common to a plurality of nodes in a computer network;
means for preempting the selected data flow, thereby freeing network resources previously reserved for the selected data flow; and
means for reallocating the freed network resources for the new data flow. - View Dependent Claims (26, 27, 28)
-
-
29. A network node configured to allocate network resources for a new data flow, the network node comprising:
-
means for selecting an existing “
at-risk”
data flow to preempt, the at-risk data flow participating in a fate-sharing group of data flows where at least one data flow in the fate-sharing group has already been preempted;
means for preempting the selected at-risk data flow, thereby freeing network resources previously reserved for the selected at-risk data flow; and
means for reallocating the freed network resources for the new data flow.
-
-
30. A network node configured to allocate network resources for a new data flow, the network node comprising:
-
a processor; and
a memory configured to store a reservation data structure accessible by the processor, the reservation data structure being adapted to store a fate-sharing identifier associated with a fate-sharing group of data flows which includes the new data flow, where utility of data flows in the fate-sharing group depends on all data flows in the fate-sharing group being operational. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
-
38. A network node configured to allocate network resources for a new data flow, the network node comprising:
-
a processor; and
a memory configured to store instructions executable by the processor for performing the steps of;
selecting an existing data flow to preempt based on a predefined set of rules, the predefined set of rules being common to a plurality of nodes in the computer network;
preempting the selected data flow, thereby freeing network resources previously reserved for the selected data flow; and
reallocating the freed network resources for the new data flow.
-
-
39. A network node configured to allocate network resources for a new data flow, the network node comprising:
-
a processor; and
a memory configured to store instructions executable by the processor for performing the steps of;
selecting an existing “
at-risk”
data flow to preempt, the at-risk data flow participating in a fate-sharing group of data flows where at least one data flow in the fate-sharing group has already been preempted;
preempting the selected at-risk data flow, thereby freeing network resources previously reserved for the selected at-risk data flow; and
reallocating the freed network resources for the new data flow.
-
Specification