EP4144045A1 - Devices and methods for allocating transmission rights in communication networks - Google Patents

Devices and methods for allocating transmission rights in communication networks

Info

Publication number
EP4144045A1
EP4144045A1 EP21716705.5A EP21716705A EP4144045A1 EP 4144045 A1 EP4144045 A1 EP 4144045A1 EP 21716705 A EP21716705 A EP 21716705A EP 4144045 A1 EP4144045 A1 EP 4144045A1
Authority
EP
European Patent Office
Prior art keywords
client
node
transmission permission
routing
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP21716705.5A
Other languages
German (de)
French (fr)
Inventor
Dirk Trossen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of EP4144045A1 publication Critical patent/EP4144045A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/788Autonomous allocation of resources

Definitions

  • the present disclosure relates to communication networks in general. More specifically, the present disclosure relates to devices and methods for allocating transmission rights in a communication network for transmitting data from a plurality of clients to a server.
  • Routing plays an important role in optimizing the overall pipeline of networking as well as computing resources for demanding applications such as real-time multimedia communication or industrial machine remote control.
  • a network node for communicating with a plurality of clients over a communication network.
  • the communication network comprises a plurality of routing nodes for routing data over the communication network.
  • the network node may be, for instance, a server, and the plurality of routing nodes may comprise, for instance, a plurality of network routers and/or network switches in an IP-based communication network.
  • the network node is configured to, in response to receiving a first transmission request from a first client of the plurality of clients, transmit a first transmission permission token to the first client, wherein the first transmission permission token is configured to permit the first client to transmit data to the network node along a first path through the communication network.
  • the network node is configured to, in response to receiving a second transmission request from a second client of the plurality of clients, transmit a second transmission permission token to a selected routing node of the plurality of routing nodes, wherein the second transmission permission token is configured to permit the second client to transmit data to the network node along a second path through the communication network.
  • the selected routing node of the plurality of routing nodes is a joint routing node of the first path and the second path through the communication network.
  • the selected routing node of the plurality of routing nodes is one of the routing nodes defining the first path as well as one of the routing nodes defining the second path through the communication network.
  • a network node is provided for scheduled routing of data in a communication network in an end-to-end, i.e. , from client to server, manner.
  • the selected routing node of the plurality of routing nodes is the joint routing node of the first path and the second path through the communication network that is closest to the second client, e.g. the joint routing node of the first path and the second path with the smallest number of hops to the second client.
  • the network node is further configured to, in response to a third transmission request from a third client of the plurality of clients, transmit a third transmission permission token to a further selected routing node of the plurality of routing nodes for permitting the third client to transmit, based on the third transmission permission token, data to the network node along a third path through the communication network.
  • the further selected routing node of the plurality of routing nodes is a joint routing node of the second path and the third path through the communication network.
  • the network node is further configured to schedule the first transmission permission token and the second transmission permission token to the first client and the second client on the basis of a token scheduling policy, for instance, a "first come first serve" scheduling policy.
  • the network node is further configured to receive data from the first client along the first path through the communication network.
  • the first transmission permission token comprises at least one of a first token identifier and an address or identifier of the first client.
  • the second transmission permission token comprises at least one of a second token identifier and an address or identifier of the second client.
  • a method for communicating with a plurality of clients over a communication network comprises a plurality of routing nodes for routing data over the communication network.
  • the method comprises the following steps performed by a network node: in response to receiving a first transmission request from a first client of the plurality of clients, transmitting a first transmission permission token to the first client, wherein the first transmission permission token permits the first client to transmit data to the network node along a first path through the communication network; and, in response to receiving a second transmission request from a second client of the plurality of clients, transmitting a second transmission permission token to a selected routing node of the plurality of routing nodes, wherein the second transmission permission token permits the second client to transmit data to the network node along a second path through the communication network, wherein the selected routing node is a joint routing node of the first path and the second path through the communication network.
  • a routing node for routing data from a plurality of clients over a communication network to a network node
  • the communication network comprises a plurality of routing nodes.
  • the routing node is configured to forward a first transmission permission token received from the network node to a first client of the plurality of clients, wherein the first transmission permission token permits the first client to transmit data to the network node along a first path through the communication network.
  • the routing node is configured to cache a second transmission permission token received from the network node.
  • the routing node is further configured to, in response to receiving information that the first transmission permission token is no longer used by the first client, forward the second transmission permission token to a second client of the plurality of clients, wherein the second transmission permission token permits the second client to transmit data to the network node along a second path through the communication network.
  • the routing node is a joint routing node of the first path and the second path through the communication network.
  • the routing node is configured to forward the second transmission permission token to the second client, in response to receiving the first transmission permission token from the first client or a request for releasing the first transmission permission token from the first client.
  • the routing node is further configured to forward the information that the first transmission permission token is no longer used by the first client to the network node.
  • the routing node is further configured to route data from the first client along the first path through the communication network to the network node.
  • the first transmission permission token comprises at least one of a first token identifier and an address or identifier of the first client.
  • the second transmission permission token comprises at least one of a second token identifier and an address or identifier of the second client.
  • the network node is a server of the communication network.
  • a method for routing data from a plurality of clients over a communication network to a network node comprises a plurality of routing nodes.
  • the method comprises the following steps performed by a routing node of the plurality of routing nodes: forwarding a first transmission permission token received from the network node to a first client of the plurality of clients, wherein the first transmission permission token permits the first client to transmit data to the network node along a first path through the communication network; caching a second transmission permission token received from the network node; and, in response to receiving information that the first transmission permission token is no longer used by the first client, forwarding the second transmission permission token to a second client of the plurality of clients, wherein the second transmission permission token permits the second client to transmit data to the network node along a second path through the communication network, wherein the routing node is a joint routing node of the first path and the second path through the communication network.
  • a computer program product comprising program code which causes a computer or a processor to perform the method according to the second aspect or the method according to the fourth aspect, when the program code is executed by the computer or the processor, is provided.
  • Fig. 1 shows a schematic diagram illustrating a communication network including a network node according to an embodiment and a routing node according to an embodiment
  • Figs. 2 to 7 show the communication network of figure 1 during different stages of exchanging transmission permission tokens between the network node according to an embodiment and the routing node according to an embodiment;
  • Fig. 8 shows a flow diagram illustrating different aspects implemented by the network node according to an embodiment and the routing node according to an embodiment
  • Fig. 9 shows a flow diagram illustrating a method for communicating with a plurality of clients over a communication network implemented by the network node according to an embodiment
  • Fig. 10 shows a flow diagram illustrating a method for routing data from a plurality of clients over a communication network to a network node implemented by routing node according to an embodiment
  • Fig. 11 shows a diagram illustrating a further communication network including a network node according to an embodiment and a routing node according to an embodiment.
  • a disclosure in connection with a described method may also hold true for a corresponding device or system configured to perform the method and vice versa.
  • a corresponding device may include one or a plurality of units, e.g. functional units, to perform the described one or plurality of method steps (e.g. one unit performing the one or plurality of steps, or a plurality of units each performing one or more of the plurality of steps), even if such one or more units are not explicitly described or illustrated in the figures.
  • a specific apparatus is described based on one or a plurality of units, e.g.
  • a corresponding method may include one step to perform the functionality of the one or plurality of units (e.g. one step performing the functionality of the one or plurality of units, or a plurality of steps each performing the functionality of one or more of the plurality of units), even if such one or plurality of steps are not explicitly described or illustrated in the figures. Further, it is understood that the features of the various exemplary embodiments and/or aspects described herein may be combined with each other, unless specifically noted otherwise.
  • Figure 1 shows a schematic diagram illustrating a communication network 100 including a network node 110, in particular a server 110.
  • the server 110 is configured to receive data from a plurality of clients 130a-c over the communication network 100.
  • the communication network 100 comprises a plurality of routing nodes 120a-f for routing the data over the communication network 100 to the server 110.
  • the plurality of routing nodes 120a-f may comprise, for instance, a plurality of network routers and/or network switches connected by communication links, such as L3 links, for supporting an IP-based communication network
  • routing node 120a any of the other routing nodes 120b-f, may have the same functionality as the exemplary routing node 120a described in more detail in the following.
  • the server 110 may comprise a communication interface, such as a network interface 113 configured to receive one or more data packets from the plurality of routing nodes 112a-f.
  • the server 110 may further comprise one or more processors 111 for processing the data and a memory 115 for storing data.
  • the exemplary routing node 120a may comprise a communication interface 123a, such as a network interface 123a configured to receive and route one or more data packets within the communication network 100.
  • the exemplary routing node 120a may further comprise one or more processors 121a for processing the data and a memory 125a for storing data, such as a routing table.
  • the processor 111 of the server 110 and/or the processor 121a of the exemplary routing node 120a may be implemented in hardware and/or software.
  • the hardware may comprise digital circuitry, or both analog and digital circuitry.
  • Digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), digital signal processors (DSPs), or general-purpose processors.
  • the memory 115 of the server 110 may be configured to store data and executable program code which, when executed by the processor 111 causes the server 110 to perform the functions, operations and methods described herein.
  • the memory 125a of the exemplary network node 120a may be configured to store data and executable program code which, when executed by the processor 121 causes the exemplary routing node 120a to perform the functions, operations and methods described herein.
  • the server 110 is configured to, in response to receiving a first transmission request from a first client 130a of the plurality of clients 130a-c, transmit a first transmission permission token 140 to the first client 130.
  • the first transmission permission token 140 is configured to permit the first client 130a to transmit data to the server 110 along a first path through the communication network 100.
  • the server 110 is configured to, in response to receiving a second transmission request from a second client 130b of the plurality of clients 130a-c, transmit a second transmission permission token 150 to a selected routing node of the plurality of routing nodes 120a-f (which in the embodiment shown in figures 1 to 7 may be the exemplary routing node 120a).
  • the second transmission permission token 150 is configured to permit the second client 130b to transmit data to the server 110 along a second path through the communication network 100.
  • the selected routing node 120a is a joint routing node of the first path and the second path through the communication network 100.
  • the selected routing node 120a of the plurality of routing nodes is one of the routing nodes defining the first path as well as one of the routing nodes defining the second path through the communication network 100.
  • the exemplary routing node 120a i.e. the selected routing node 120a being a joint routing node of the first path and the second path through the communication network 100, is configured to forward the first transmission permission token 140 received from the server 110 to the first client 130a.
  • the exemplary routing node 120a is configured to cache the second transmission permission token 150 received from the server 110.
  • the exemplary routing node 120a is further configured to, in response to receiving information that the first transmission permission token 140 is no longer used by the first client 130a, forward the second transmission permission token 150 to the second client 130b.
  • Figures 1 to 7 show the communication network 100 during different stages of exchanging the first transmission permission token 140 and the second transmission permission token 150 between the server 110 according to an embodiment and the plurality of clients 130a-c via the plurality of routing nodes 120a-f, including the exemplary selected routing node 120a according to an embodiment.
  • both the first transmission permission token 140 and the second transmission permission token 150 are located at the server 110.
  • the first permission token 140 and the second permission token are configured such that a respective client 130a-c holding the respective transmission permission token 140, 150 is permitted, i.e. allowed to transmit data to the server 110.
  • the server 110 may be configured to generate the first and the second transmission permission token 140, 150.
  • the server 110 receives a first transmission request from the first client 130a for instance, because the first client 130a wants to transmit data to the server 110.
  • the server receives this transmission request via a communication path defined by the first base station 135a and the routing nodes 120e, 120a and 120b.
  • the server 110 in response to receiving the first transmission request from the first client 130a, the server 110 is configured to transmit the first transmission permission token 140 to the first client 130a for allowing the first client 130a to transmit data to the server. As illustrated in figure 2, the server 110 may have transmitted the first transmission permission token 140 to the first client 130a via the first communication path defined by the first base station 135a and the routing nodes 120e, 120a and 120b.
  • the server 110 may receive the second transmission request from the second client 130b via the communication path defined by the second base station 135b and the routing nodes 120f, 120a and 120b, as illustrated in figure 3.
  • the server 110 is configured to transmit the second transmission permission token 150 to the selected routing node 120a, because the selected routing node 120a is the is a joint routing node of the first path and the second path through the communication network 100 that is closest to the second client 130b, which is illustrated in figure 4.
  • the routing node 120f would be even closer to the second client 130b than the selected routing node 120a, but the routing node 120f is not a joint routing node of the first path and the second path through the communication network 100.
  • the server 110 may receive a third transmission request from a third client 130c via a third communication path defined by the third base station 135c and the routing nodes 120f, 120a and 120b, as illustrated in figure 5.
  • the server 110 may transmit a third transmission permission token (not shown in the figures) to the further selected routing node 120f for permitting the third client 130c to transmit, based on the third transmission permission token, data to the server 110 along a third path through the communication network 100. Similar to the selected routing node 120a the further selected routing node 120f is that joint routing node of the second path and the third path through the communication network 110 that is closest to the third client.
  • the first client 130a may release the first transmission permission token 140 by returning it to the server 110 via the first communication path defined by the defined by the first base station 135a and the routing nodes 120e, 120a and 120b.
  • the selected routing node 120a caching the second transmission permission token 150 intended for the second client 130b may forward, as illustrated in figure 7, the second transmission permission token 150 via the routing node 120f and the second base station 135b to the second client 130b.
  • the server 110 may forward the first transmission token 140 (for serving the third transmission request by the third client 130c) to the further selected routing node 120f as the joint routing node that is connected to both the second client 130b and the third client 130c and closest to the third client 130c.
  • FIG 8 shows a flow diagram illustrating different aspects and processing steps implemented by the exemplary selected routing node 120a according to an embodiment (some of which already have been described in the context of figures 1 to 7).
  • a transmission permission token such as the first transmission permission token 140 is received by the selected routing node 120a to be returned to the server 110.
  • the exemplary selected routing node 120a is configured to check whether there are any outstanding transmission, i.e. token requests from one of the plurality of clients 130a-c. If this not the case, the token is returned to the server 110 (step 806). Otherwise, the exemplary selected routing node 120a may change the status of the received transmission permission token from "current" to "next" and forward this information to the server 110.
  • the exemplary selected routing node 120a may retrieve any client from token response information for the received token identifier (this may be based on a token response table 808). In 809 the exemplary selected routing node 120a may change the status of the token from "next" to "current” and forward it to the client.
  • the exemplary selected routing node 120a receives a token response intended for one of the clients 130a-c. In 813 of figure 8 the exemplary selected routing node 120a checks if the response in 811 belongs to the current token. If this is the case, the exemplary selected routing node 120a may store the client address and the token identifier in its memory 125a (step 815) and forward the response to the client (step 817). Otherwise, the exemplary selected routing node 120a may retrieve any interface information from token responses information for the received token identifier (step 819). In step 821 the exemplary selected routing node 120a is configured to check whether the incoming client is on the same interface as the stored token response.
  • the exemplary selected routing node 120a may store, in step 810, the incoming client interface information and the token identifier to hold the token response in the token responses table 808.
  • the first transmission permission token 140 and the second transmission permission token 150 may be different states, such as "current” and "next", of a transmission permission token.
  • the selected routing node 120a receives a "next" state token from the server 110, it will not be sent it down a link, if a client 130a-c along another link is currently holding a "current” state token. Instead, it will be temporarily stored at the selected routing node 120a, until the "current" state token will be released.
  • any pending "next" token request may be turned into a "current” token request and forwarded towards the requesting client 130a-c.
  • the server 110 is configured to couple the assignment of the transmission right by means of the first transmission permission token 140 and the second transmission permission token 150 with other policies, such as a constraint-based client selection beyond simple bandwidth management or it may choose a random assignment of clients to incoming requests.
  • the server 110 is the central coordinator for the handing out of the transmission permission tokens 140, 150.
  • the server 110 avoids conflicts in sending and reduces possible congestion and buffer overflow in the selected routing node 120a. Tokens are ultimately sent to clients by router that is closest to server on joint path with current owner. Embodiments disclosed herein allow minimizing the delay in sending those permission tokens to the clients which requested them. In the worst case, the delay may be (max path length - 1) * hop latency, if the second transmission permission token 150 is held at the selected routing node 120a closest to the server 110. In this case delay is still better than a pure server realization. In the best case, the delay may correspond to a one hop latency, i.e. optimal latency, if the second transmission permission token 150 token is held at the selected routing node 120a closest to client 130a-c.
  • Embodiments disclosed herein may be implemented using, for instance, the Internet Control Message Protocol (ICMP) or similar protocols.
  • the transmission permission tokens could be implemented as bits or bit sequences.
  • token information of the "current" and “next” interim token could be done as numbers (with 0 being current, and anything >0 being next in an ordered manner). This allows for easily maintaining more than one "next” token with procedures adjusted accordingly. Moreover, it also allows for granting more than one ‘current’ token (in case the server 110 can process more than one task assigned to the token).
  • the strict synchronization through the server 110 may be relaxed.
  • the second transmission permission token 150 may be released, when ‘last of flow’ packet is recognized at the selected routing node 120a, instead of AFTER the packet has been fully received (reduces latency by local node reception time). If flow length is known, the second transmission permission token150 may be released while packets of the currently transmitting client are still arriving, using delay estimates obtained, for instance, through telemetry means.
  • Figure 9 shows a flow diagram illustrating a method 900 for communicating with the plurality of clients 130a-c over the communication network 100.
  • the method 900 comprises the following steps performed by the network node, e.g. server 110: in response to receiving a first transmission request from the first client 130a of the plurality of clients 130a-c, a first step 901 of transmitting the first transmission permission token 140 to the first client 130a, wherein the first transmission permission token 140 permits the first client 130a to transmit data to the network node 110 along a first path through the communication network 100; and, in response to receiving a second transmission request from the second client 130b of the plurality of clients 130a-c, a further step 903 of transmitting the second transmission permission token 150 to the selected routing node 120a of the plurality of routing nodes 120a-f, wherein the second transmission permission token 150 permits the second client 130b to transmit data to the network node, e.g. server 110 along a second path through the communication network 100.
  • the selected routing node 120a is
  • Figure 10 shows a flow diagram illustrating a method 1000 for routing data from the plurality of clients 130a-c over the communication network 100 to the network node, i.e. server 110.
  • the method 1000 comprises the following steps performed by the exemplary selected routing node 120a: a first step 1001 of forwarding the first transmission permission token 140 received from the server 110 to the first client 130a of the plurality of clients 130a-c, wherein the first transmission permission token 140 permits the first client 130a to transmit data to the server 110 along a first path through the communication network 100; a further step 1003 of caching the second transmission permission token 150 received from the server 110; and, in response to receiving information that the first transmission permission token 140 is no longer used by the first client 130a, a further step 1005 of forwarding the second transmission permission token to the second client 130b of the plurality of clients 130a-c, wherein the second transmission permission token 150 permits the second client 130b to transmit data to the server 110 along a second path through the communication network 100.
  • the routing node 120a is
  • Figure 11 shows a diagram illustrating a further embodiment of the communication network 100 including the network node, e.g. server 110 according to an embodiment and a plurality of routing nodes 120a-f, including the selected routing node 120a according to an embodiment.
  • the plurality of clients 130a-n may transmit based on the allocation of the first and the second transmission permission tokens 140, 150 (and possibly further transmission permission tokens) image data via the plurality of routing nodes 120a-f to the network node, e.g. server 110.
  • the network node, e.g. server 110 may comprise a buffer for storing this image data, before it is forwarded to a plurality of processing nodes 160a-m for further processing the image data.
  • the plurality of processing nodes 160a-m may implement machine learning for further processing the image data received from the network node, e.g. server 110.
  • the token assignment implemented by the network node, e.g. server 110 and the selected routing node 120a generates a kind of pipeline of image data being sent (and then pushed for further processing to the processing nodes 160a-m) that requires less network resources than a conventional system, where all clients may transmit simultaneously.
  • the processing of the image data in the processing nodes 160a-m is less than the time to receive an image at the network node 110 from any of the clients 130a-n, the number m of required processing nodes is 1.
  • the number m of processing nodes will be somewhere between >1 and n (e.g., if the processing takes roughly as long as receiving an image, n processing nodes will be required for processing the n received images). This is due to the unsynchronized nature of the sending of images from the clients to the network node in a conventional system.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the described embodiment of an apparatus is merely exemplary.
  • the unit division is merely logical function division and may be another division in an actual implementation.
  • a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed.
  • the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces.
  • the indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
  • the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • functional units in the embodiments of the invention may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A network node (110) for communicating with a plurality of clients (130a-c) over a communication network (100), the communication network (100) comprising a plurality of routing nodes (120a-f) for routing data, is disclosed. The network node (110) is configured to, in response to a first transmission request from a first client (130a), transmit a first token (140) to the first client (130a) permitting the first client (130a) to transmit data to the network node (110) along a first path. Moreover, the network node (110) is configured to, in response to a second transmission request from a second client (130b), transmit a second token (150) to a selected routing node (120a) permitting the second client (130b) to transmit data to the network node (110) along a second path. The selected routing node (120a) is a joint routing node of the first path and the second path through the communication network (110).

Description

Devices and methods for allocating transmission rights in communication networks
TECHNICAL FIELD
The present disclosure relates to communication networks in general. More specifically, the present disclosure relates to devices and methods for allocating transmission rights in a communication network for transmitting data from a plurality of clients to a server.
BACKGROUND
Routing, and its optimization, plays an important role in optimizing the overall pipeline of networking as well as computing resources for demanding applications such as real-time multimedia communication or industrial machine remote control.
SUMMARY
It is an objective of the present disclosure to provide improved devices and methods for allocating transmission rights in a communication network for transmitting data from a plurality of clients to a server.
The foregoing and other objectives are achieved by the subject matter of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the figures.
According to a first aspect, a network node for communicating with a plurality of clients over a communication network is provided. The communication network comprises a plurality of routing nodes for routing data over the communication network. The network node may be, for instance, a server, and the plurality of routing nodes may comprise, for instance, a plurality of network routers and/or network switches in an IP-based communication network.
The network node is configured to, in response to receiving a first transmission request from a first client of the plurality of clients, transmit a first transmission permission token to the first client, wherein the first transmission permission token is configured to permit the first client to transmit data to the network node along a first path through the communication network. Moreover, the network node is configured to, in response to receiving a second transmission request from a second client of the plurality of clients, transmit a second transmission permission token to a selected routing node of the plurality of routing nodes, wherein the second transmission permission token is configured to permit the second client to transmit data to the network node along a second path through the communication network. The selected routing node of the plurality of routing nodes is a joint routing node of the first path and the second path through the communication network. In other words, the selected routing node of the plurality of routing nodes is one of the routing nodes defining the first path as well as one of the routing nodes defining the second path through the communication network. Thus, advantageously, a network node is provided for scheduled routing of data in a communication network in an end-to-end, i.e. , from client to server, manner.
In a further possible implementation form of the first aspect, the selected routing node of the plurality of routing nodes is the joint routing node of the first path and the second path through the communication network that is closest to the second client, e.g. the joint routing node of the first path and the second path with the smallest number of hops to the second client.
In a further possible implementation form of the first aspect, the network node is further configured to, in response to a third transmission request from a third client of the plurality of clients, transmit a third transmission permission token to a further selected routing node of the plurality of routing nodes for permitting the third client to transmit, based on the third transmission permission token, data to the network node along a third path through the communication network. The further selected routing node of the plurality of routing nodes is a joint routing node of the second path and the third path through the communication network.
In a further possible implementation form of the first aspect, the network node is further configured to schedule the first transmission permission token and the second transmission permission token to the first client and the second client on the basis of a token scheduling policy, for instance, a "first come first serve" scheduling policy.
In a further possible implementation form of the first aspect, the network node is further configured to receive data from the first client along the first path through the communication network.
In a further possible implementation form of the first aspect, the first transmission permission token comprises at least one of a first token identifier and an address or identifier of the first client. In a further possible implementation form of the first aspect, the second transmission permission token comprises at least one of a second token identifier and an address or identifier of the second client.
According to a second aspect, a method for communicating with a plurality of clients over a communication network is provided, wherein the communication network comprises a plurality of routing nodes for routing data over the communication network. The method comprises the following steps performed by a network node: in response to receiving a first transmission request from a first client of the plurality of clients, transmitting a first transmission permission token to the first client, wherein the first transmission permission token permits the first client to transmit data to the network node along a first path through the communication network; and, in response to receiving a second transmission request from a second client of the plurality of clients, transmitting a second transmission permission token to a selected routing node of the plurality of routing nodes, wherein the second transmission permission token permits the second client to transmit data to the network node along a second path through the communication network, wherein the selected routing node is a joint routing node of the first path and the second path through the communication network.
According to a third aspect, a routing node for routing data from a plurality of clients over a communication network to a network node is provided, wherein the communication network comprises a plurality of routing nodes. The routing node is configured to forward a first transmission permission token received from the network node to a first client of the plurality of clients, wherein the first transmission permission token permits the first client to transmit data to the network node along a first path through the communication network. Moreover, the routing node is configured to cache a second transmission permission token received from the network node. The routing node is further configured to, in response to receiving information that the first transmission permission token is no longer used by the first client, forward the second transmission permission token to a second client of the plurality of clients, wherein the second transmission permission token permits the second client to transmit data to the network node along a second path through the communication network. The routing node is a joint routing node of the first path and the second path through the communication network. Thus, advantageously, a routing node for low-latency routing of transmission permission tokens in a communication network is provided. In a further possible implementation form of the third aspect, the routing node is the joint routing node of the first path and the second path through the communication network that is closest to the second client.
In a further possible implementation form of the third aspect, the routing node is configured to forward the second transmission permission token to the second client, in response to receiving the first transmission permission token from the first client or a request for releasing the first transmission permission token from the first client.
In a further possible implementation form of the third aspect, the routing node is further configured to forward the information that the first transmission permission token is no longer used by the first client to the network node.
In a further possible implementation form of the third aspect, the routing node is further configured to route data from the first client along the first path through the communication network to the network node.
In a further possible implementation form of the third aspect, the first transmission permission token comprises at least one of a first token identifier and an address or identifier of the first client.
In a further possible implementation form of the third aspect, the second transmission permission token comprises at least one of a second token identifier and an address or identifier of the second client.
In a further possible implementation form of the third aspect, the network node is a server of the communication network.
According to a fourth aspect, a method for routing data from a plurality of clients over a communication network to a network node is provided, wherein the communication network comprises a plurality of routing nodes. The method comprises the following steps performed by a routing node of the plurality of routing nodes: forwarding a first transmission permission token received from the network node to a first client of the plurality of clients, wherein the first transmission permission token permits the first client to transmit data to the network node along a first path through the communication network; caching a second transmission permission token received from the network node; and, in response to receiving information that the first transmission permission token is no longer used by the first client, forwarding the second transmission permission token to a second client of the plurality of clients, wherein the second transmission permission token permits the second client to transmit data to the network node along a second path through the communication network, wherein the routing node is a joint routing node of the first path and the second path through the communication network.
According to a fifth aspect, a computer program product comprising program code which causes a computer or a processor to perform the method according to the second aspect or the method according to the fourth aspect, when the program code is executed by the computer or the processor, is provided.
Details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description, drawings, and claims.
BRIEF DESCRIPTION OF THE DRAWINGS
In the following, embodiments of the present disclosure are described in more detail with reference to the attached figures and drawings, in which:
Fig. 1 shows a schematic diagram illustrating a communication network including a network node according to an embodiment and a routing node according to an embodiment;
Figs. 2 to 7 show the communication network of figure 1 during different stages of exchanging transmission permission tokens between the network node according to an embodiment and the routing node according to an embodiment;
Fig. 8 shows a flow diagram illustrating different aspects implemented by the network node according to an embodiment and the routing node according to an embodiment;
Fig. 9 shows a flow diagram illustrating a method for communicating with a plurality of clients over a communication network implemented by the network node according to an embodiment;
Fig. 10 shows a flow diagram illustrating a method for routing data from a plurality of clients over a communication network to a network node implemented by routing node according to an embodiment; and Fig. 11 shows a diagram illustrating a further communication network including a network node according to an embodiment and a routing node according to an embodiment.
In the following, identical reference signs refer to identical or at least functionally equivalent features.
DETAILED DESCRIPTION OF THE EMBODIMENTS
In the following description, reference is made to the accompanying figures, which form part of the disclosure, and which show, by way of illustration, specific aspects of embodiments of the present disclosure or specific aspects in which embodiments of the present disclosure may be used. It is understood that embodiments of the present disclosure may be used in other aspects and comprise structural or logical changes not depicted in the figures. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims.
For instance, it is to be understood that a disclosure in connection with a described method may also hold true for a corresponding device or system configured to perform the method and vice versa. For example, if one or a plurality of specific method steps are described, a corresponding device may include one or a plurality of units, e.g. functional units, to perform the described one or plurality of method steps (e.g. one unit performing the one or plurality of steps, or a plurality of units each performing one or more of the plurality of steps), even if such one or more units are not explicitly described or illustrated in the figures. On the other hand, for example, if a specific apparatus is described based on one or a plurality of units, e.g. functional units, a corresponding method may include one step to perform the functionality of the one or plurality of units (e.g. one step performing the functionality of the one or plurality of units, or a plurality of steps each performing the functionality of one or more of the plurality of units), even if such one or plurality of steps are not explicitly described or illustrated in the figures. Further, it is understood that the features of the various exemplary embodiments and/or aspects described herein may be combined with each other, unless specifically noted otherwise.
Figure 1 shows a schematic diagram illustrating a communication network 100 including a network node 110, in particular a server 110. The server 110 is configured to receive data from a plurality of clients 130a-c over the communication network 100. To this end, the communication network 100 comprises a plurality of routing nodes 120a-f for routing the data over the communication network 100 to the server 110. The plurality of routing nodes 120a-f may comprise, for instance, a plurality of network routers and/or network switches connected by communication links, such as L3 links, for supporting an IP-based communication network
100. In the following embodiments will be described with respect to the server 110 and an exemplary routing node 120a. As will be appreciated, however, any of the other routing nodes 120b-f, may have the same functionality as the exemplary routing node 120a described in more detail in the following.
As illustrated in figure 1, the server 110 may comprise a communication interface, such as a network interface 113 configured to receive one or more data packets from the plurality of routing nodes 112a-f. The server 110 may further comprise one or more processors 111 for processing the data and a memory 115 for storing data. Likewise, the exemplary routing node 120a may comprise a communication interface 123a, such as a network interface 123a configured to receive and route one or more data packets within the communication network 100. The exemplary routing node 120a may further comprise one or more processors 121a for processing the data and a memory 125a for storing data, such as a routing table. The processor 111 of the server 110 and/or the processor 121a of the exemplary routing node 120a may be implemented in hardware and/or software. The hardware may comprise digital circuitry, or both analog and digital circuitry. Digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), digital signal processors (DSPs), or general-purpose processors. The memory 115 of the server 110 may be configured to store data and executable program code which, when executed by the processor 111 causes the server 110 to perform the functions, operations and methods described herein. Likewise, the memory 125a of the exemplary network node 120a may be configured to store data and executable program code which, when executed by the processor 121 causes the exemplary routing node 120a to perform the functions, operations and methods described herein.
As will be described in more detail below, the server 110 is configured to, in response to receiving a first transmission request from a first client 130a of the plurality of clients 130a-c, transmit a first transmission permission token 140 to the first client 130. The first transmission permission token 140 is configured to permit the first client 130a to transmit data to the server 110 along a first path through the communication network 100. Moreover, the server 110 is configured to, in response to receiving a second transmission request from a second client 130b of the plurality of clients 130a-c, transmit a second transmission permission token 150 to a selected routing node of the plurality of routing nodes 120a-f (which in the embodiment shown in figures 1 to 7 may be the exemplary routing node 120a). The second transmission permission token 150 is configured to permit the second client 130b to transmit data to the server 110 along a second path through the communication network 100. The selected routing node 120a is a joint routing node of the first path and the second path through the communication network 100. In other words, the selected routing node 120a of the plurality of routing nodes is one of the routing nodes defining the first path as well as one of the routing nodes defining the second path through the communication network 100.
Complementary to the server 110, the exemplary routing node 120a, i.e. the selected routing node 120a being a joint routing node of the first path and the second path through the communication network 100, is configured to forward the first transmission permission token 140 received from the server 110 to the first client 130a. Moreover, the exemplary routing node 120a is configured to cache the second transmission permission token 150 received from the server 110. The exemplary routing node 120a is further configured to, in response to receiving information that the first transmission permission token 140 is no longer used by the first client 130a, forward the second transmission permission token 150 to the second client 130b.
Figures 1 to 7 show the communication network 100 during different stages of exchanging the first transmission permission token 140 and the second transmission permission token 150 between the server 110 according to an embodiment and the plurality of clients 130a-c via the plurality of routing nodes 120a-f, including the exemplary selected routing node 120a according to an embodiment.
In figure 1, both the first transmission permission token 140 and the second transmission permission token 150 are located at the server 110. The first permission token 140 and the second permission token are configured such that a respective client 130a-c holding the respective transmission permission token 140, 150 is permitted, i.e. allowed to transmit data to the server 110. In an embodiment, the server 110 may be configured to generate the first and the second transmission permission token 140, 150. The server 110 receives a first transmission request from the first client 130a for instance, because the first client 130a wants to transmit data to the server 110. The server receives this transmission request via a communication path defined by the first base station 135a and the routing nodes 120e, 120a and 120b.
As already described above, in response to receiving the first transmission request from the first client 130a, the server 110 is configured to transmit the first transmission permission token 140 to the first client 130a for allowing the first client 130a to transmit data to the server. As illustrated in figure 2, the server 110 may have transmitted the first transmission permission token 140 to the first client 130a via the first communication path defined by the first base station 135a and the routing nodes 120e, 120a and 120b.
While the first client 130a is in possession of the first transmission permission token 140, the server 110 may receive the second transmission request from the second client 130b via the communication path defined by the second base station 135b and the routing nodes 120f, 120a and 120b, as illustrated in figure 3. In response thereto, the server 110 is configured to transmit the second transmission permission token 150 to the selected routing node 120a, because the selected routing node 120a is the is a joint routing node of the first path and the second path through the communication network 100 that is closest to the second client 130b, which is illustrated in figure 4. As will be appreciated from figure 4, the routing node 120f would be even closer to the second client 130b than the selected routing node 120a, but the routing node 120f is not a joint routing node of the first path and the second path through the communication network 100.
While the first client 130a is still in possession of the first transmission permission token 140 and the second transmission permission token 150 is cached by the selected routing node 120a for being supplied to the second client 130b, the server 110 may receive a third transmission request from a third client 130c via a third communication path defined by the third base station 135c and the routing nodes 120f, 120a and 120b, as illustrated in figure 5.
In an embodiment, in response to the third transmission request from the third client 130c, the server 110 may transmit a third transmission permission token (not shown in the figures) to the further selected routing node 120f for permitting the third client 130c to transmit, based on the third transmission permission token, data to the server 110 along a third path through the communication network 100. Similar to the selected routing node 120a the further selected routing node 120f is that joint routing node of the second path and the third path through the communication network 110 that is closest to the third client.
As illustrated in figure 6, once the first client 130a has finished its data transmission to the server 110, it may release the first transmission permission token 140 by returning it to the server 110 via the first communication path defined by the defined by the first base station 135a and the routing nodes 120e, 120a and 120b. Once the selected routing node 120a caching the second transmission permission token 150 intended for the second client 130b receives the first transmission permission token 140 from the routing node 120e, it may forward, as illustrated in figure 7, the second transmission permission token 150 via the routing node 120f and the second base station 135b to the second client 130b. As further illustrated in figure 7, once the first transmission permission token 140 released by the first client 130a has been returned to the server 110, the server 110 may forward the first transmission token 140 (for serving the third transmission request by the third client 130c) to the further selected routing node 120f as the joint routing node that is connected to both the second client 130b and the third client 130c and closest to the third client 130c.
Figure 8 shows a flow diagram illustrating different aspects and processing steps implemented by the exemplary selected routing node 120a according to an embodiment (some of which already have been described in the context of figures 1 to 7). In 801 a transmission permission token, such as the first transmission permission token 140 is received by the selected routing node 120a to be returned to the server 110. In 803 the exemplary selected routing node 120a is configured to check whether there are any outstanding transmission, i.e. token requests from one of the plurality of clients 130a-c. If this not the case, the token is returned to the server 110 (step 806). Otherwise, the exemplary selected routing node 120a may change the status of the received transmission permission token from "current" to "next" and forward this information to the server 110. In 807 the exemplary selected routing node 120a may retrieve any client from token response information for the received token identifier (this may be based on a token response table 808). In 809 the exemplary selected routing node 120a may change the status of the token from "next" to "current" and forward it to the client.
In 811 of figure 8 the exemplary selected routing node 120a receives a token response intended for one of the clients 130a-c. In 813 of figure 8 the exemplary selected routing node 120a checks if the response in 811 belongs to the current token. If this is the case, the exemplary selected routing node 120a may store the client address and the token identifier in its memory 125a (step 815) and forward the response to the client (step 817). Otherwise, the exemplary selected routing node 120a may retrieve any interface information from token responses information for the received token identifier (step 819). In step 821 the exemplary selected routing node 120a is configured to check whether the incoming client is on the same interface as the stored token response. If this is the case, it is forwarded to the client 130a-c in step 821. Otherwise, the exemplary selected routing node 120a may store, in step 810, the incoming client interface information and the token identifier to hold the token response in the token responses table 808.
Thus, in an embodiment, the first transmission permission token 140 and the second transmission permission token 150 may be different states, such as "current" and "next", of a transmission permission token. In an embodiment, if the selected routing node 120a receives a "next" state token from the server 110, it will not be sent it down a link, if a client 130a-c along another link is currently holding a "current" state token. Instead, it will be temporarily stored at the selected routing node 120a, until the "current" state token will be released.
Once the token release request has been received by the selected routing node 120a (and forwarded towards the server), any pending "next" token request may be turned into a "current" token request and forwarded towards the requesting client 130a-c.
In an embodiment, the server 110 is configured to couple the assignment of the transmission right by means of the first transmission permission token 140 and the second transmission permission token 150 with other policies, such as a constraint-based client selection beyond simple bandwidth management or it may choose a random assignment of clients to incoming requests.
As will be appreciated, in the embodiments described above the server 110 is the central coordinator for the handing out of the transmission permission tokens 140, 150. The server 110 avoids conflicts in sending and reduces possible congestion and buffer overflow in the selected routing node 120a. Tokens are ultimately sent to clients by router that is closest to server on joint path with current owner. Embodiments disclosed herein allow minimizing the delay in sending those permission tokens to the clients which requested them. In the worst case, the delay may be (max path length - 1) * hop latency, if the second transmission permission token 150 is held at the selected routing node 120a closest to the server 110. In this case delay is still better than a pure server realization. In the best case, the delay may correspond to a one hop latency, i.e. optimal latency, if the second transmission permission token 150 token is held at the selected routing node 120a closest to client 130a-c.
Embodiments disclosed herein may be implemented using, for instance, the Internet Control Message Protocol (ICMP) or similar protocols. The transmission permission tokens could be implemented as bits or bit sequences. For instance, token information of the "current" and "next" interim token could be done as numbers (with 0 being current, and anything >0 being next in an ordered manner). This allows for easily maintaining more than one "next" token with procedures adjusted accordingly. Moreover, it also allows for granting more than one ‘current’ token (in case the server 110 can process more than one task assigned to the token).
In a further embodiment, the strict synchronization through the server 110 may be relaxed. For instance, the second transmission permission token 150 may be released, when ‘last of flow’ packet is recognized at the selected routing node 120a, instead of AFTER the packet has been fully received (reduces latency by local node reception time). If flow length is known, the second transmission permission token150 may be released while packets of the currently transmitting client are still arriving, using delay estimates obtained, for instance, through telemetry means.
Figure 9 shows a flow diagram illustrating a method 900 for communicating with the plurality of clients 130a-c over the communication network 100. The method 900 comprises the following steps performed by the network node, e.g. server 110: in response to receiving a first transmission request from the first client 130a of the plurality of clients 130a-c, a first step 901 of transmitting the first transmission permission token 140 to the first client 130a, wherein the first transmission permission token 140 permits the first client 130a to transmit data to the network node 110 along a first path through the communication network 100; and, in response to receiving a second transmission request from the second client 130b of the plurality of clients 130a-c, a further step 903 of transmitting the second transmission permission token 150 to the selected routing node 120a of the plurality of routing nodes 120a-f, wherein the second transmission permission token 150 permits the second client 130b to transmit data to the network node, e.g. server 110 along a second path through the communication network 100. The selected routing node 120a is a joint routing node of the first path and the second path through the communication network 100.
Figure 10 shows a flow diagram illustrating a method 1000 for routing data from the plurality of clients 130a-c over the communication network 100 to the network node, i.e. server 110. The method 1000 comprises the following steps performed by the exemplary selected routing node 120a: a first step 1001 of forwarding the first transmission permission token 140 received from the server 110 to the first client 130a of the plurality of clients 130a-c, wherein the first transmission permission token 140 permits the first client 130a to transmit data to the server 110 along a first path through the communication network 100; a further step 1003 of caching the second transmission permission token 150 received from the server 110; and, in response to receiving information that the first transmission permission token 140 is no longer used by the first client 130a, a further step 1005 of forwarding the second transmission permission token to the second client 130b of the plurality of clients 130a-c, wherein the second transmission permission token 150 permits the second client 130b to transmit data to the server 110 along a second path through the communication network 100. As already described above, the routing node 120a is a joint routing node of the first path and the second path through the communication network 100.
Figure 11 shows a diagram illustrating a further embodiment of the communication network 100 including the network node, e.g. server 110 according to an embodiment and a plurality of routing nodes 120a-f, including the selected routing node 120a according to an embodiment. In the embodiment shown in figure 11 the plurality of clients 130a-n may transmit based on the allocation of the first and the second transmission permission tokens 140, 150 (and possibly further transmission permission tokens) image data via the plurality of routing nodes 120a-f to the network node, e.g. server 110. As illustrated in figure 11, the network node, e.g. server 110 may comprise a buffer for storing this image data, before it is forwarded to a plurality of processing nodes 160a-m for further processing the image data. In an embodiment, the plurality of processing nodes 160a-m may implement machine learning for further processing the image data received from the network node, e.g. server 110. As will be appreciated, the token assignment implemented by the network node, e.g. server 110 and the selected routing node 120a generates a kind of pipeline of image data being sent (and then pushed for further processing to the processing nodes 160a-m) that requires less network resources than a conventional system, where all clients may transmit simultaneously. Specifically, if we assume that the processing of the image data in the processing nodes 160a-m is less than the time to receive an image at the network node 110 from any of the clients 130a-n, the number m of required processing nodes is 1. If we instead assume the sending of image data in an unsynchronized manner, i.e. , without the token assignment, the number m of processing nodes will be somewhere between >1 and n (e.g., if the processing takes roughly as long as receiving an image, n processing nodes will be required for processing the n received images). This is due to the unsynchronized nature of the sending of images from the clients to the network node in a conventional system.
The person skilled in the art will understand that the "blocks" ("units") of the various figures (method and apparatus) represent or describe functionalities of embodiments of the present disclosure (rather than necessarily individual "units" in hardware or software) and thus describe equally functions or features of apparatus embodiments as well as method embodiments (unit = step).
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described embodiment of an apparatus is merely exemplary. For example, the unit division is merely logical function division and may be another division in an actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
In addition, functional units in the embodiments of the invention may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.

Claims

1. A network node (110) for communicating with a plurality of clients (130a-c) over a communication network (100), the communication network (100) comprising a plurality of routing nodes (120a-f) for routing data, wherein the network node (110) is configured to: in response to a first transmission request from a first client (130a) of the plurality of clients (130a-c), transmit a first transmission permission token (140) to the first client (130a), wherein the first transmission permission token (140) is configured to permit the first client (130a) to transmit data to the network node (110) along a first path through the communication network (100); and in response to a second transmission request from a second client (130b) of the plurality of clients (130a-c), transmit a second transmission permission token (150) to a selected routing node (120a) of the plurality of routing nodes (120a-f), wherein the second transmission permission token (150) is configured to permit the second client (130b) to transmit data to the network node (110) along a second path through the communication network (100), wherein the selected routing node (120a) of the plurality of routing nodes (120a-f) is a joint routing node of the first path and the second path through the communication network (110).
2. The network node (110) of claim 1, wherein the selected routing node (120a) of the plurality of routing nodes (120a-f) is the joint routing node of the first path and the second path through the communication network (100) that is closest to the second client (130b).
3. The network node (110) of claim 1 or 2, further configured to, in response to a third transmission request from a third client (130c) of the plurality of clients (130a-c), transmit a third transmission permission token to a further selected routing node of the plurality of routing nodes (120a-f) for permitting the third client (130c) to transmit, based on the third transmission permission token, data to the network node (110) along a third path through the communication network (100), wherein the further selected routing node of the plurality of routing nodes (120a-f) is a joint routing node of the second path and the third path through the communication network (110).
4. The network node (110) of any one of the preceding claims, wherein the network node (110) is further configured to schedule the first transmission permission token (140) and the second transmission permission token (150) to the first client (130a) and the second client (130b) on the basis of a token scheduling policy.
5. The network node (110) of any one of the preceding claims, wherein the network node (110) is further configured to receive data from the first client (130a) along the first path through the communication network (100).
6. The network node (110) of any one of the preceding claims, wherein the first transmission permission token (140) comprises at least one of a first token identifier and an address or identifier of the first client (130a).
7. The network node (110) of any one of the preceding claims, wherein the second transmission permission token (150) comprises at least one of a second token identifier and an address or identifier of the second client (130b).
8. The network node (110) of any one of the preceding claims, wherein the network node (110) is a server (110) of the communication network (100).
9. A method (900) for communicating with a plurality of clients (130a-c) over a communication network (100), the communication network (100) comprising a plurality of routing nodes (120a-f) for routing data, wherein the method (900) comprises the following steps performed by a network node (110): in response to receiving a first transmission request from a first client (130a) of the plurality of clients (130a-c), transmitting (901) a first transmission permission token (140) to the first client (130a), wherein the first transmission permission token (140) permits the first client (130a) to transmit data to the network node (110) along a first path through the communication network (100); and in response to receiving a second transmission request from a second client (130b) of the plurality of clients (130a-c), transmitting (903) a second transmission permission token (150) to a selected routing node (120a) of the plurality of routing nodes (120a-f), wherein the second transmission permission token (150) permits the second client (130b) to transmit data to the network node (110) along a second path through the communication network (100), wherein the selected routing node (120a) is a joint routing node of the first path and the second path through the communication network (100).
10. A routing node (120a) for routing data from a plurality of clients (130a-c) over a communication network (100) to a network node (110), the communication network (100) comprising a plurality of routing nodes (120a-f), wherein the routing node (120a) is configured to: forward a first transmission permission token (140) received from the network node (110) to a first client (130a) of the plurality of clients (130a-c), wherein the first transmission permission token (140) permits the first client (130a) to transmit data to the network node (110) along a first path through the communication network (100); cache a second transmission permission token (150) received from the network node (110); and in response to receiving information that the first transmission permission token (140) is no longer used by the first client (130a), forward the second transmission permission token (150) to a second client (130b) of the plurality of clients (130a-c), wherein the second transmission permission token (150) permits the second client (130b) to transmit data to the network node (110) along a second path through the communication network (100), wherein the routing node (120a) is a joint routing node of the first path and the second path through the communication network (100).
11. The routing node (120a) of claim 10, wherein the routing node (120a) is the joint routing node of the first path and the second path through the communication network (100) that is closest to the second client (130b).
12. The routing node (120a) of claim 10 or 11 , wherein the routing node (120a) is configured to forward the second transmission permission token (150) to the second client (130b), in response to receiving the first transmission permission token (140) from the first client (130a) or a request for releasing the first transmission permission token (140) from the first client (130a).
13. The routing node (120a) of any one of claims 10 to 12, wherein the routing node (120a) is further configured to forward the information that the first transmission permission token (140) is no longer used by the first client (130a) to the network node (110).
14. The routing node (120a) of any one of claims 10 to 13, wherein the routing node (120a) is further configured to route data from the first client (130a) along the first path through the communication network (100) to the network node (110).
15. The routing node (120a) of any one of claims 10 to 14, wherein the first transmission permission token (140) comprises at least one of a first token identifier and an address or identifier of the first client (130a).
16. The routing node (120a) of any one of claims 10 to 15, wherein the second transmission permission token (150) comprises at least one of a second token identifier and an address or identifier of the second client (130b).
17. The routing node (120a) of any one of claims 10 to 16, wherein the network node (110) is a server (110) of the communication network (100).
18. A method (1000) for routing data from a plurality of clients (130a-c) over a communication network (100) to a network node (110), the communication network (100) comprising a plurality of routing nodes (120a-f), wherein the method (1000) comprises the following steps performed by a routing node (120a) of the plurality of routing nodes (120a-f): forwarding (1001) a first transmission permission token (140) received from the network node (110) to a first client (130a) of the plurality of clients (130a-c), wherein the first transmission permission token (140) permits the first client (130a) to transmit data to the network node (110) along a first path through the communication network (100); caching (1003) a second transmission permission token (150) received from the network node (110); and in response to receiving information that the first transmission permission token (140) is no longer used by the first client (130a), forwarding (1005) the second transmission permission token (150) to a second client (130b) of the plurality of clients (130a-c), wherein the second transmission permission token (150) permits the second client (130b) to transmit data to the network node (110) along a second path through the communication network (100), wherein the routing node (120a) is a joint routing node of the first path and the second path through the communication network (100).
19. A computer program product comprising a non-transitory computer-readable storage medium for storing program code which causes a computer or a processor to perform the method (900) of claim 9 or the method (1000) of claim 18 when the program code is executed by the computer or the processor.
EP21716705.5A 2021-04-01 2021-04-01 Devices and methods for allocating transmission rights in communication networks Pending EP4144045A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2021/058657 WO2022207113A1 (en) 2021-04-01 2021-04-01 Devices and methods for allocating transmission rights in communication networks

Publications (1)

Publication Number Publication Date
EP4144045A1 true EP4144045A1 (en) 2023-03-08

Family

ID=75396782

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21716705.5A Pending EP4144045A1 (en) 2021-04-01 2021-04-01 Devices and methods for allocating transmission rights in communication networks

Country Status (2)

Country Link
EP (1) EP4144045A1 (en)
WO (1) WO2022207113A1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7710932B2 (en) * 2005-12-14 2010-05-04 Motorola, Inc. Method and apparatus for encouraging routing in a network
CN109068367B (en) * 2018-09-29 2021-11-19 湖南基石通信技术有限公司 Wireless token passing method, device, equipment and readable storage medium

Also Published As

Publication number Publication date
WO2022207113A1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
JP3279487B2 (en) High-speed data communication modem
JP3150624B2 (en) Communication system and communication path control method
JP3577393B2 (en) High-speed data communication modem
US9172550B2 (en) Management of a multicast system in a software-defined network
US20060149840A1 (en) End-to-end publish/subscribe middleware architecture
EP1849092A2 (en) End-to-end publish/subscribe middleware architecture
US6810452B1 (en) Method and system for quarantine during bus topology configuration
US9258336B2 (en) Dynamic modification of a subscriber connection
JP6265058B2 (en) Network transmission system, its master node, slave node
JP6627964B2 (en) SDN-based ARP implementation method and apparatus
JP2003298635A (en) Source address selection system, router equipment, communication node and source address selection method
US6374316B1 (en) Method and system for circumscribing a topology to form ring structures
US20010040896A1 (en) Method and device for communicating between a first and a second network
US6647446B1 (en) Method and system for using a new bus identifier resulting from a bus topology change
US6751697B1 (en) Method and system for a multi-phase net refresh on a bus bridge interconnect
US6910090B1 (en) Maintaining communications in a bus bridge interconnect
CN112838992B (en) Message scheduling method and network equipment
US6584539B1 (en) Method and system for message broadcast flow control on a bus bridge interconnect
CN109788075B (en) Private network system, data acquisition method and edge server
US20200186463A1 (en) Method and system for name-based in-networking processing
CN110661728A (en) Buffer design method and device combining sharing and privately using in multi-virtual channel transmission
CN111106986A (en) Router with enhanced robustness for controller area networks
EP4144045A1 (en) Devices and methods for allocating transmission rights in communication networks
WO2014022424A1 (en) Phase-based packet prioritization
JP4122328B2 (en) Transmission equipment

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20221129

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS