Apparatus and method for delay management in a data communications network
First Claim
1. A method for managing delay of data in a data communications device, the method comprising the steps of:
- configuring a predetermined number of storage locations to store data passing through the data communications device, each storage location having an associated delay;
determining a direction and speed in which to traverse the predetermined number of storage locations to adjust the associated delay over time for data deposited in each of the predetermined number of storage locations;
accepting data;
determining a delay associated with the data;
depositing the data into a selected storage location selected from the predetermined number of storage locations, the selected storage location having an associated delay generally corresponding to the delay determined to be associated with the data;
adjusting the associated delay over time of data deposited in each of the predetermined number of storage locations; and
transmitting data deposited in a storage location that has an associated delay generally equal to a predetermined delay transmit value.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus are provided for scheduling delays of data in a data communications device within a network. A network policy can be obtained and analyzed to determined various delay categories associated data having various attributes. The delay categories having associated delay values can be used to configure a number of storage locations preferably interconnected in a series. Each storage location has an associated delay. When data arrives, an attribute of the data allows a determination to be made of which delay category and therefore what delay is associated with the data. The data is then deposited into a storage location having an associated delay that generally corresponds to the delay associated with the data. The delay of data is adjusted over time for each storage location, preferably by shifting the data from one storage location to the next. When data exists in a storage location having a predetermined delay transmit value, it is transferred to a transmission buffer, at which point the data has been delayed by the prescribed amount specified in the network policy. The system allows changes to be made in the network policy which can be dynamically accounted for in the delay management configuration by reconfiguring the storage location to account for any added or removed data attributes and delay categories.
-
Citations
24 Claims
-
1. A method for managing delay of data in a data communications device, the method comprising the steps of:
-
configuring a predetermined number of storage locations to store data passing through the data communications device, each storage location having an associated delay;
determining a direction and speed in which to traverse the predetermined number of storage locations to adjust the associated delay over time for data deposited in each of the predetermined number of storage locations;
accepting data;
determining a delay associated with the data;
depositing the data into a selected storage location selected from the predetermined number of storage locations, the selected storage location having an associated delay generally corresponding to the delay determined to be associated with the data;
adjusting the associated delay over time of data deposited in each of the predetermined number of storage locations; and
transmitting data deposited in a storage location that has an associated delay generally equal to a predetermined delay transmit value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
determining a required number of delay categories associated with data that can be transmitted through the data communications device;
determining the predetermined number of storage locations to establish based upon the required number of delay categories determined to be required; and
determining a rate at which to adjust the associated delay over time for data deposited in each of the predetermined number of storage locations, wherein a total number of the predetermined number of storage locations determines an overall maximum delay associated with the predetermined number of storage locations.
-
-
3. The method of claim 2 wherein the step of determining the predetermined number of storage locations includes the step of:
selecting the predetermined number of storage locations from a series of interconnected registers, wherein each register selected corresponds to one of the delay categories.
-
4. The method of claim 2 wherein the step of determining a required number of delay categories determines the number of delay categories based upon a network policy provided by a network policy server.
-
5. The method of claim 1 wherein;
-
the step of adjusting the associated delay over time for data deposited in each of the predetermined number of storage locations transfers the data in each respective storage location to a storage location having a lower associated delay, such that successive adjusting steps move data from storage locations having high associated delays to storage locations having lower associated delays; and
wherein the step of transmitting data transmits data deposited in a storage location having a lowest delay transmit value.
-
-
6. The method of claim 1 wherein:
-
the step of accepting data accepts data from a network port of the data communications device; and
wherein the step of transmitting data transmits data to a data processor within the data communications device, such that the delay associated with data is controlled as the data arrives at the data communications device.
-
-
7. The method of claim 1 wherein:
-
the step of accepting data accepts data from a data processor within the data communications device; and
wherein the step of transmitting data transmits data to a network port of the data communications device, such that the delay associated with data is controlled as the data awaits transmission from the data communications device.
-
-
8. The method of claim 1 wherein the step of determining a delay associated with the data includes the steps of:
-
determining an attribute associated with the data; and
assigning the delay associated with the data based upon the attribute determined.
-
-
9. The method of claim 8 wherein the step of determining the attribute selects an attribute based upon one of a source of the data, a destination of the data, a protocol used to transfer the data, an application associated with the data, a type of service associated with the data, and a data type associated with the data.
-
10. The method of claim 8 wherein the step of determining an attribute associated with the data determines the attribute based upon information contained within the data itself.
-
11. The method of claim 1 wherein:
-
the step of configuring a predetermined number of storage locations configures the storage locations based on delay categories defined in a network policy, and a plurality of storage locations are configured for each delay category; and
wherein the step of adjusting collectively adjusts the delay for each storage location associated with each delay category so as to concurrently adjust the delays for all storage locations associated with a particular delay; and
wherein the step of transmitting data concurrently transmits data deposited into each of the plurality of storage locations associated with a delay category resulting in a bulk on transfer of data.
-
-
12. The method of claim 1 wherein the step of configuring a predetermined number of storage locations configures the predetermined number of storage locations based upon a network policy and wherein the method further includes the steps of:
-
obtaining an update to the network policy; and
reconfiguring the predetermined number of storage locations during operation of the data communications device to allow controlling a delay for data to be transmitted through the data communications device according to the update to the network policy.
-
-
13. A computer for managing delay of data in a data communications device, the computer configured to:
-
configure a predetermined number of storage locations to store data passing through the data communications device, each storage location having an associated delay;
determine a direction and speed in which to traverse the predetermined number of storage locations to adjust the associated delay over time for data deposited in each of the predetermined number of storage locations;
accept data;
determine a delay associated with the data;
deposit the data into a selected storage location selected from the predetermined number of storage locations, the selected storage location having an associated delay generally corresponding to the delay determined to be associated with the data;
adjust the associated delay over time of data deposited in each of the predetermined number of storage locations; and
transmit data deposited in a storage location that has an associated delay generally equal to a predetermined delay transmit value. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
determine a required number of delay categories associated with data that can be transmitted through the data communications device;
determine the predetermined number of storage locations to establish based upon the required number of delay categories determined to be required; and
determine a rate at which to adjust the associated delay over time for data deposited in each of the predetermined number of storage locations, wherein a total number of the predetermined number of storage locations determines an overall maximum delay associated with the predetermined number of storage locations.
-
-
15. The computer of claim 14 wherein, when determining the predetermined number of storage locations, the computer is configured to:
select the predetermined number of storage locations from a series of interconnected registers, wherein each register selected corresponds to one of the delay categories.
-
16. The method of claim 14 wherein, when determining a required number of delay categories, the computer is configured to determine the number of delay categories based upon a network policy provided by a network policy server.
-
17. The computer of claim 13 wherein:
-
when adjusting the associated delay over time for data deposited in each of the predetermined number of storage locations, the computer is configured to transfer the data in each respective storage location to a storage location having a lower associated delay, such that successive adjusting steps move data from storage locations having high associated delays to storage locations having lower associated delays; and
when transmitting data, the computer is configured to transmit data deposited in a storage location having a lowest delay transmit value.
-
-
18. The computer of claim 13 wherein:
-
when accepting data, the computer is configured to accept data from a network port of the data communications device; and
when transmitting data, the computer is configured to transmit data to a data processor within the data communications device, such that the delay associated with data is controlled as the data arrives at the data communications device.
-
-
19. The computer of claim 13 wherein:
-
when accepting data, the computer is configured to accept data from a delta processor within the data communications device; and
when transmitting data, the computer is configured to transmit data to a network port of the data communications device, such that the delay associated with data is controlled as the data awaits transmission from the data communications device.
-
-
20. The computer of claim 13 wherein, when determining a delay associated with the data, the computer is configured to:
-
determine an attribute associated with the data; and
assign the delay associated with the data based upon the attribute determined.
-
-
21. The computer of claim 20 wherein, when determining the attribute, the computer is configured to select an attribute based upon one of a source of the data, a destination of the data, a protocol used to transfer the data, an application associated with the data, a type of service associated with the data, and a data type associated with the data.
-
22. The computer of claim 20 wherein, when determining an attribute associated with the data, the computer is configured to determine the attribute based upon information contained within the data itself.
-
23. The computer of claim 13 wherein:
-
when configuring a predetermined number of storage locations, the computer is configured to configure the storage locations based on delay categories defined in a network policy, and a plurality of storage locations are configured for each delay category;
when adjusting, the computer is configured to collectively adjust the delay for each storage location associated with each delay category so as to concurrently adjust the delays for all storage locations associated with a particular delay; and
when transmitting data, the computer is configured to concurrently transmit data deposited into each of the plurality of storage locations associated with a delay category resulting in a bulk transfer of data.
-
-
24. The computer of claim 13 wherein, when configuring a predetermined number of storage locations, the computer is configured to configure the predetermined number of storage locations based upon a network policy and wherein the computer is further configured to:
-
obtain an update to the network policy; and
reconfigure the predetermined number of storage locations during operation of the data communications device to allow controlling a delay for data to be transmitted through the data communications device according to the update to the network policy.
-
Specification