WIPO logo
Mobile | Deutsch | Español | Français | 日本語 | 한국어 | Português | Русский | 中文 | العربية |
PATENTSCOPE

Search International and National Patent Collections
World Intellectual Property Organization
Search
 
Browse
 
Translate
 
Options
 
News
 
Login
 
Help
 
maximize
Machine translation
1. (WO2018019361) RESOURCE EFFICIENT FORWARDING OF GUARANTEED AND NON-GUARANTEED DATA PACKETS
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

Claims

1 . A method of handling data traffic in a data network, the method comprising:

a node (120; 800; 900) of the data network receiving data packets (200);

for at least one of the received data packets (200), the node (120; 800; 900) determining whether the data packet is a guaranteed data packet which is subject to a guarantee that the data packet (200) is not dropped and not delayed by more than a certain delay limit or a non-guaranteed data packet which is not subject to the guarantee;

based on a worst case calculation of a delay experienced by a data packet forwarded by the node (120; 800; 900), the node (120; 800; 900) configuring a resource contingent with a maximum amount of resources which is more than a minimum amount of resources required to meet the guarantee;

the node (120; 800; 900) assigning resources to the resource contingent and identifying resources in excess of the minimum amount as excess resources; and

in response to determining that the data packet (200) is a non-guaranteed data packet and determining that sufficient excess resources are present, the node (120; 800; 900) forwarding the data packet (200) based on the excess resources.

2. The method according to claim 1 , comprising:

in response to determining that the data packet (200) is a guaranteed data packet, the node (120; 800; 900) forwarding the data packet based on the resources from the resource contingent.

3. The method according to claim 1 or 2,

wherein the resource contingent is managed on the basis of a token bucket (410); and wherein the node (120; 800; 900) assigns resources to the resource contingent by adding tokens to the token bucket (410).

4. The method according to claim 3,

wherein a size of the token bucket (410) corresponds to the maximum amount of resources of the resource contingent.

5. The method according to claim 3, comprising:

the node (120; 800; 900) configuring the token bucket (410) with a size corresponding to the minimum amount of resources required to meet the guarantee; and

the node (120; 800; 900) configuring a further token bucket (420) for the excess resources and adding tokens to the further token bucket (420) only if the token bucket (410) is full.

6. The method according to any one of the preceding claims,

wherein the received data packets (200) are part of multiple flows;

wherein for each of the flows the node (120; 800; 900) configures a corresponding resource contingent with a maximum amount of resources which is more than a minimum amount of resources required to meet the guarantee;

wherein for each of the flows the node (120; 800; 900) assigns resources to the corresponding resource contingent and identifies resources in excess of the minimum amount as excess resources; and

in response to determining that the data packet (200) is a non-guaranteed data packet and determining that sufficient excess resources are present, the node (120; 800; 900) forwarding the data packet (200) based on the excess resources.

7. The method according to claim 6, comprising:

in response to determining that the data packet (200) is a guaranteed data packet, the node (120; 800; 900) forwarding the data packet based on based on the resources in the resource contingent corresponding to the flow the data packet (200) is part of.

8. The method according to claim 6 or 7,

wherein for each of the flows the corresponding resource contingent is managed on the basis of a corresponding token bucket (410); and

wherein for each of the flows the node (120; 800; 900) assigns resources to the corresponding resource contingent by adding tokens to the corresponding token bucket (410).

9. The method according to claim 8,

wherein for each of the flows a size of the corresponding token bucket (410) corresponds to the maximum amount of resources of the corresponding resource contingent.

10. The method according to claim 8, comprising:

for each of the flows, the node (120; 800; 900) configuring the corresponding token bucket (410) with a size corresponding to the minimum amount of resources required to meet the guarantee; and

the node (120; 800; 900) configuring a further token bucket (420) for the excess resources and adding tokens to the further token (420) bucket only if one of the corresponding token buckets (410) of the resource contingents for the flows is full.

1 1. The method according to any one of the preceding claims,

wherein each of the received data packets (200) is marked with a value and, depending on the value, the node (120; 800; 900) determines whether the data packet (200) is a guaranteed data packet or a non-guaranteed data packet.

12. The method according to claim 1 1 , comprising:

by comparing the value to a threshold, the node (120; 800; 900) determining whether the data packet (200) is a guaranteed data packet or a non-guaranteed data packet.

13. The method according to claim 1 1 or 12, comprising:

in response to determining that the data packet (200) is a non-guaranteed data packet, the node (120; 800; 900) deciding depending on the value whether to drop the data packet.

14. The method according to any one of claims 1 1 to 13, comprising:

depending on the value and a size of the data packet (200), the node (120; 800; 900) deciding whether the data packet (200) is a guaranteed data packet or a non-guaranteed data packet.

15. The method according to any one of claims 1 1 to 14, comprising:

depending on the value and a size of the data packet (200), the node (120; 800; 900) determining whether the sufficient excess resources are present.

16. The method according to any one of the preceding claims, comprising:

the node (120; 800; 900) maintaining a queue (320) for temporarily storing the received data packets (200); and

in response to determining that at least one of the received data packets (200) is a non-guaranteed data packet, the node (120; 800; 900) deciding between the storing the non-guaranteed data packet in the input queue and dropping the non-guaranteed data packet.

17. A node (120; 800; 900) for a data network, node (120; 800; 900) being configured to:

- receive data packets (200);

- for at least one of the received data packets (200), determine whether the data packet is a guaranteed data packet which is subject to a guarantee that the data packet (200) is not dropped and not delayed by more than a certain delay limit or a non-guaranteed data packet which is not subject to the guarantee;

based on a worst case calculation of a delay experienced by a data packet forwarded by the node (120; 800; 900), the node (120; 800; 900) configuring a resource contingent with a maximum amount of resources which is more than a minimum amount of resources required to meet the guarantee;

- assign resources to the resource contingent and identify resources in excess of the minimum amount as excess resources; and

- in response to determining that the data packet (200) is a non-guaranteed data packet and determining that sufficient excess resources are present, forward the data packet (200) based on the excess resources.

18. The node (120; 800; 900) according to claim 17,

wherein the node (120; 800; 900) is configured to:

- in response to determining that the data packet (200) is a guaranteed data packet, the node (120; 800; 900) forwarding the data packet based on the resources from the resource contingent.

19. The node (120; 800; 900) according to claim 17 or 18,

wherein the node (120; 800; 900) is configured to manage the resource contingent on the basis of a token bucket (410); and

wherein the node (120; 800; 900) is configured to assign resources to the resource contingent by adding tokens to the token bucket (410).

20. The node (120; 800; 900) according to claim 19,

wherein a size of the token bucket (410) corresponds to the maximum amount of resources of the resource contingent.

21 . The node (120; 800; 900) according to claim 20,

wherein the node (120; 800; 900) is configured to:

- configure the token bucket (410) with a size corresponding to the minimum amount of resources required to meet the guarantee; and

- configure a further token bucket (420) for the excess resources and add tokens to the further token bucket (420) only if the token bucket (410) is full.

22. The node (120; 800; 900) according to any one of claims 17 to 21 ,

wherein the received data packets (200) are part of multiple flows;

wherein the node (120; 800; 900) is configured to:

- for each of the flows, configure a corresponding resource contingent with a maximum amount of resources which is more than a minimum amount of resources required to meet the guarantee;

- for each of the flows, assign resources to the corresponding resource contingent and identify resources in excess of the minimum amount as excess resources; and

- in response to determining that the data packet (200) is a non-guaranteed data packet and determining that sufficient excess resources are present, forward the data packet (200) based on the excess resources.

23. The node (120; 800; 900) according to claim 22,:

wherein the node (120; 800; 900) is configured to:

- in response to determining that the data packet (200) is a guaranteed data packet, forward the data packet based on based on the resources in the resource contingent corresponding to the flow the data packet (200) is part of.

24. The node (120; 800; 900) according to claim 22 or 23,

wherein the node (120; 800; 900) is configured to:

- for each of the flows, manage the corresponding resource contingent on the basis of a corresponding token bucket (410); and

- for each of the flows, assign resources to the corresponding resource contingent by adding tokens to the corresponding token bucket (410).

25. The node (120; 800; 900) according to claim 24,

wherein for each of the flows a size of the corresponding token bucket (410) corresponds to the maximum amount of resources of the resource contingent.

26. The node (120; 800; 900) according to claim 24, comprising:

wherein the node (120; 800; 900) is configured to:

for each of the flows, the node (120; 800; 900) configuring the corresponding token bucket (410) with a size corresponding to the minimum amount of resources required to meet the guarantee; and

the node (120; 800; 900) configuring a further token bucket (420) for the excess resources and adding tokens to the further token (420) bucket only if one of the corresponding token buckets (410) of the resource contingents for the flows is full.

27. The node (120; 800; 900) according to any one of claims 17 to 26,

wherein each of the received data packets (200) is marked with a value and the node (120; 800; 900) is configured to determine, depending on the value, whether the data packet (200) is a guaranteed data packet or a non-guaranteed data packet.

28. The node (120; 800; 900) according to claim 27,

wherein the node (120; 800; 900) is configured to:

- by comparing the value to a threshold, determine whether the data packet (200) is a guaranteed data packet or a non-guaranteed data packet.

29. The node (120; 800; 900) according to claim 27 or 28,

wherein the node (120; 800; 900) is configured to:

- in response to determining that the data packet (200) is a non-guaranteed data packet, decide depending on the value whether to drop the data packet.

30. The node (120; 800; 900) according to any one of claims 27 to 29,

wherein the node (120; 800; 900) is configured to:

- depending on the value and a size of the data packet (200), decide whether the data packet (200) is a guaranteed data packet or a non-guaranteed data packet.

31 . The node (120; 800; 900) according to any one of claims 27 to 30,

wherein the node (120; 800; 900) is configured to:

- depending on the value and a size of the data packet (200), determine whether the sufficient excess resources are present.

32. The node (120; 800; 900) according to any one of claims 17 to 31 ,

wherein the node (120; 800; 900) is configured to:

- maintain a queue (320) for temporarily storing the received data packets (200); and

- in response to determining that at least one of the received data packets (200) is a non-guaranteed data packet, decide between storing the non-guaranteed data packet in the queue (320) and dropping the non-guaranteed data packet.

33. A computer program comprising program code to be executed by at least one processor (950) of a node (120; 800; 900) for a data network, wherein execution of the program code causes the (120; 800; 900) to perform the steps of a method according to any one of claims 1 to 16.

34. A computer program product comprising program code to be executed by at least one processor (950) of a node (120; 800; 900) for a data network, wherein execution of the program code causes the (120; 800; 900) to perform the steps of a method according to any one of claims 1 to 16.