WO2004045167A1 - Method for selecting a logical link for a packet in a router - Google Patents

Method for selecting a logical link for a packet in a router Download PDF

Info

Publication number
WO2004045167A1
WO2004045167A1 PCT/SE2003/001754 SE0301754W WO2004045167A1 WO 2004045167 A1 WO2004045167 A1 WO 2004045167A1 SE 0301754 W SE0301754 W SE 0301754W WO 2004045167 A1 WO2004045167 A1 WO 2004045167A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
router
packets
logical link
traffic
Prior art date
Application number
PCT/SE2003/001754
Other languages
French (fr)
Inventor
Jan Berglund
Dusan Stevanovic
Original Assignee
Operax Ab
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 Operax Ab filed Critical Operax Ab
Priority to JP2004551338A priority Critical patent/JP2006506845A/en
Priority to EP03811172A priority patent/EP1561317A1/en
Priority to AU2003276806A priority patent/AU2003276806A1/en
Publication of WO2004045167A1 publication Critical patent/WO2004045167A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/626Queue scheduling characterised by scheduling criteria for service slots or service orders channel conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Definitions

  • the present invention relates generally to a method and apparatus for packet-based data transfer over a router.
  • the invention is concerned with ensuring a certain level of service quality for transferred data packets.
  • Communicated data packets are individually handled along the transmission path, which may comprise various networks, switches, gateways, routers and interfaces. Therefore, individual data packets of a communication session may be subjected to different delays and may arrive in a different order than they were sent. Moreover, some packets may be lost or discarded during transfer, for example due to excessive delay or signal distortion or in overload situations. When received at their destination, the packets are typically arranged in the correct sequence order, and measures may be taken to compensate for any lost packets. The encoded information in the data packets can then be decoded and be presented or played in a user interface at the receiving end.
  • the sending and receiving parties may utilise any type of end-stations capable of handling data packets, such as fixed or mobile phones, computers, servers, game consoles, TV sets, etc.
  • Each type of service requires a specific Quality of Service (QoS) with respect to, e.g., needed bandwidth or data rate, packet losses, delay or latency, and variations in delay, sometimes referred to as jitter.
  • QoS Quality of Service
  • Packet-based services are delay sensitive to a varying extent, and packets are often classified accordingly for selecting suitable transmission mechanisms and protocols.
  • the most delay sensitive service applications such as voice and video telephony, are sometimes referred to as real-time services, demanding a total transmission time from sender to receiver of not more than approximately 200 milliseconds.
  • the least delay sensitive applications such as messaging and downloading of homepages from the Internet, are sometimes referred to as best effort services, for which a transmission time of a couple of seconds or more is mostly acceptable.
  • best effort services for which a transmission time of a couple of seconds or more is mostly acceptable.
  • data packets may be transmitted over various networks and a plurality of routers.
  • a router is a transmission node, either within a network or interconnecting different networks for transferring data packets there between.
  • a certain delay in each router of the transmission path cannot be avoided, but it is highly desirable to minimise such delay and also packet losses.
  • IP Internet Protocol
  • IP routers within a network or from one network to another, during a communication session.
  • a router generally comprises ingress interface units for receiving packets coming from sending parties, and egress interface units for transmitting packets towards receiving parties.
  • the router further comprises a central switching unit interconnecting the ingress and egress interface units.
  • an IP router may also perform other activities, such as security control, packet scheduling, format translation and transcoding. For example, the IP router may decide whether to forward an incoming packet or not, based on predetermined security policies. It may be checked at so-called domain edge routers that a data flow entering a predefined domain does not violate any agreements or reservations.
  • QoS Quality of Service
  • Different data sessions may thus have different QoS requirements, e.g., regarding delays, data rate and packet loss, and are classified accordingly.
  • End-user subscriptions may also have differentiated QoS classes.
  • queues are maintained for data packets scheduled for output and further transmission, e.g., to the next router in the transmission path towards the final receiver.
  • the scheduling mechanisms attempt to both fulfil differentiated QoS demands for individual packets, and to distribute traffic evenly over the available transmission resources.
  • resource conflicts may occur during overload, resulting in congestion where packets are delayed or dropped.
  • Packet loss or delay may be caused by various factors, such as signal distortion resulting in bit errors, limited data rate capacity, discrepancy between offered and executed traffic, etc. Congestion may also occur in links or routers further on in the path due to lack of transmission resources or other reasons, which is not taken into account in previous scheduling mechanisms.
  • Fig. 1 is a schematic view of an exemplary communication system for transferring data.
  • Fig. 2 is a detailed view of ingress and egress parts of a router.
  • Fig. 3 is a schematic view of an exemplary external network structure.
  • Fig. 4 is an illustration of logical links from an egress unit.
  • Fig. 5 is a simplified exemplary data structure of a logical link descriptor.
  • Fig. 6 is an illustration of a scheduling scheme of packet queues in a logical link.
  • FIG. 1 is a simplified overview of an exemplary communication system in which the inventive method and apparatus for transferring data packets can be applied.
  • a router 100 acts as a connection node between a plurality of networks 102 for enabling communications between end-stations, not shown, being connected to different networks 102. Alternatively, the router 100 may transfer packets within a network.
  • the router 100 is capable of communicating data packets in different formats between a multitude of different end-stations or terminals, such as fixed or mobile phones, computers, game consoles, servers, etc.
  • the networks 102 may be any type of networks, such as mobile or fixed networks, private or public networks, backbone IP (Internet Protocol) networks, the Internet etc.
  • the router 100 basically comprises a number of network interface units 104 which are interconnected by means of a central switching unit 106. Each interface unit 104 is connected to and handles communication with one or more networks 102.
  • An interface unit 104 may include both ingress and egress packet processing functionality for processing incoming packets from and outgoing packets to the network or networks connected thereto. Logically, an interface unit 104 can be divided into ingress and egress units, depending on the traffic direction.
  • Fig. 2 illustrates the router 100 in more detail, where only two interface units 104 are shown.
  • An ingress packet processing unit 104i receives data packets 200 from different end-stations, and an egress packet processing unit 104e sends out packets 202 to their destined end-stations.
  • the ingress and egress packet processing units 104i, 104e are adapted to process individual packets according to predefined rules, demands and policies, and will hereafter be referred to as ingress unit 104i and egress unit 104e for short.
  • the ingress and egress units 104i,e are further interconnected by means of the switching unit 106.
  • the outgoing packets 202 launched from the egress unit 104e constitutes aggregated traffic from many different ingress units of the router 100, for example the shown ingress unit 104i, as indicated by plural arrows pointing towards the egress unit 104e.
  • the incoming packets 200 may be directed to different egress units, e.g. the shown egress unit 104e, as indicated by plural arrows pointing from the ingress unit 104i.
  • the incoming data packets 200 may arrive from different sources in different networks. Each incoming packet normally belongs to an established communication session which can be identified by reading certain fields in the packet, unless the packet is a first packet of a new session. A packet may thus be processed and possibly modified in one or both of the ingress and egress units 104i,e according to an identified or created session context, before being launched among the outgoing packets 202. Modifying a packet may include changing packet format or encoding scheme as well as adding, removing or updating certain header fields therein. Naturally, the outgoing packets 202 may likewise be transmitted to different destinations in different networks. In the router 100, it may be decided whether a packet is to be transferred or dropped, based on various conditions or criteria.
  • a suitable and acceptable packet delay may also be determined. These decisions may be taken in accordance with the established session, in particular with respect to a required QoS.
  • a packet scheduling mechanism is used in a router, where the above-mentioned decisions are taken in order to police and shape the traffic for distributing load to utilise transmission resources in an effective way, which will be described in more detail below.
  • Packet scheduling principally involves determining when and in which order individual packets from different buffer queues are output on one or more shared transmission links. In the present invention, the scheduling is optimised with respect to the following factors:
  • - Resulting delay or latency should be kept at acceptable levels for delay-sensitive traffic. - Required bandwidth or data rate should be guaranteed for traffic according to predefined QoS demands.
  • the interface units 104 in the router are connected to an external network structure comprising one or more networks, such as the networks 102 illustrated in Fig. 1.
  • a network structure 300 external to the router 100 may thus comprise a multitude of routing or switching nodes 302 interconnected by physical and/or logical links 304.
  • the network structure 300 is only schematically illustrated in Fig. 3 and may comprise any number of nodes and links in any pattern.
  • a path selected for sending a certain data packet comprises one or more such nodes and links, terminating in a destined end-station 306, of which only two are shown in Fig. 3.
  • Each node 302 or link 304 is capable of providing a certain packet throughput or transmission bandwidth. The total end result with respect to transmission delay and quality is therefore dependent on the sum of all nodes and links in the taken path.
  • the router 100 performs traffic shaping and packet scheduling, based on knowledge of the network structure 300.
  • the router 100 may thus store a known topology of the network structure 300.
  • the router 100 may further store parameters describing various individual components of the network structure, or at least some known parts thereof.
  • the router may be a gateway of an access network and will then have detailed knowledge of the access network structure and all its components.
  • the stored network component parameters may include capability parameters related to currently available bandwidth, buffering capability and/or data throughput in each or at least some of the nodes 302 and links. 304. Further, such parameters may preferably be updated dynamically depending on the current traffic load and current resource availability in each node and link.
  • the scheduling of individual data packets may include selecting suitable nodes and links for the transmission path, based on the stored capability parameters for the selected nodes and links.
  • a forwarding decision is taken for the session, which includes selecting a suitable egress unit for sending the packet to its destination, by reading an address field in a header of the packet. Moreover, certain predefined rules may be taken into consideration for taking the forwarding decision.
  • the egress unit 104e is selected for output launch from the router.
  • the ingress unit 104i also classifies the first packet with respect to a QoS required for the new session, including, e.g., needed bandwidth or data rate, packet losses, packet burst size, delay or latency, and jitter. If the new session requires a certain QoS, the router will make a commitment to satisfy that QoS requirement during the session. If no such QoS requirement can be detected, the session packets will be treated as best effort packets. Thus, a distinction is made between "committed traffic" and "best effort traffic". A required QoS may be determined by monitoring control signalling preceeding the actual payload session.
  • the monitoring of control signals may be executed, as described in the co-pending patent applications PCT/SE02/00356 and SE 0201346-4, by forwarding packets containing control signals to a specific control unit in the router, referred to as an ALG (Application Layer Gateway).
  • ALG Application Layer Gateway
  • This QoS classification thus indicates a packet priority which is used for scheduling following packets of the session, typically together with packets of other ongoing sessions, for output from the selected egress unit 104e over a shared communication resource, such as a cable connection.
  • the determined QoS classification is also used by the ingress unit 104i for retrieving and applying policy rules for the session.
  • the policy rules may state a maximum bandwidth which is allowed to be used and an interval length over which the maximum bandwidth is determined, allowing for both constant and variable bit rate traffic.
  • RED Random Early Drop
  • the packet is transferred to the selected egress unit 104e over the switching unit 106, together with the taken forwarding decision and the determined QoS classification which are stored in the egress unit 104e.
  • traffic shaping can be performed for aggregated traffic from several ingress units. Thereby, QoS requirements for each session can be satisfied such that the packet transfer may be executed as if over a dedicated connection.
  • the following packets can be treated uniformly by recognising a session context.
  • the forwarding decision is taken and the QoS classification is determined when establishing the session context, based on the first packet.
  • the session context can be recognised by extracting a session key or the like from each following received packet.
  • an egress unit 104e may be connected to other routers, gateways or switches in the external network structure by means of a plurality of logical links 400, as illustrated in Fig. 4.
  • the forwarding decision mentioned above includes selecting and assigning a specific logical link, based on the destination address, leading towards the destination of that session.
  • Each logical link 400 thus terminates in a specific end-terminal.
  • Each logical link 400 represents a particular transmission path to the destination through the external network, including known path elements such as nodes and links as far ahead as being known to the router.
  • each logical link 400 is associated with a specific total bandwidth for that path.
  • a logical link may be directed to an ATM (Asynchronous Transmission Mode) virtual circuit on an ASDL (Asymmetric Digital Subscriber Loop) or a specific port on an Ethernet switch identified by a WLAN (Wireless Local Area Network).
  • ATM Asynchronous Transmission Mode
  • ASDL Asymmetric Digital Subscriber Loop
  • WLAN Wireless Local Area Network
  • the bandwidth of a specific logical link is dictated by the maximum bitrate that currently can be offered on the link, depending on, e.g., any bottlenecks that may occur along the path.
  • the maximum bitrate, or "link speed”, may equal the physical link speed, or may be less if the physical resource is shared with others by means of allocation.
  • Link parameters related to available bandwidth and a current packet queue status are stored for each logical link in the router 100.
  • Link parameters for a logical link may be stored in a "logical link descriptor", which is a data structure representing the current state of the logical link and being stored in the egress unit 104e.
  • An exemplary data structure of a logical link descriptor is schematically illustrated in Fig. 5.
  • a logical link descriptor 500 comprises a set of "intermediate link descriptors" 502, each describing the current state of a particular path element in the corresponding logical link.
  • a "path element" may in this context represent a node, a link between two nodes, or a path segment including a series of nodes and/or links.
  • the intermediate link descriptors are preferably represented in the data structure by a set of pointers to the corresponding intermediate link descriptors, which in turn are stored in a separate memory or data structure. In this way, each intermediate link descriptor can be stored in only one place, even if it is valid for plural logical links, thereby saving memory space.
  • the intermediate link descriptors 502 are dynamically updated by monitoring the traffic over the corresponding path element.
  • the logical link descriptor 500 further comprises a set of packet queues
  • each queue is associated with a certain traffic class.
  • a logical link may comprise any number of queues.
  • a queue is created for each data session and may thus contain one or more packets of that session waiting for launch from the egress unit, basically in accordance with the QoS classification made for the session.
  • each packet queue has its own latency depending on how many packets are waiting therein to be launched.
  • each packet queue has a certain bitrate according to the associated traffic class. Packets are launched in turn from the queues according to a predetermined schedule as dictated by the bitrates of the respective queues and their traffic classes.
  • Traffic classes are defined with respect to a packet burst size in relation to a committed bandwidth. Packets are typically transmitted in bursts of a specific size, depending on the traffic type. In this way, various types of traffic can be classified, such as:
  • the logical link descriptor 500 further comprises dynamic capability parameters 506, including current values of the total bandwidth available for the logical link and the earliest possible launch time on the logical link for a next packet to be scheduled from the queues.
  • dynamic capability parameters 506 including current values of the total bandwidth available for the logical link and the earliest possible launch time on the logical link for a next packet to be scheduled from the queues.
  • FIG. 6 an exemplary launch schedule is schematically illustrated for launching packets from three different packet queues 600a-c on a logical link from a router.
  • a first queue 600a is assigned a traffic class with twice the bitrate than that of a second queue 600b and a third queue 600c, respectively. Packets from the queues 600a-c are thus scheduled, according to their respective bitrates, for launch in a total output stream 602 on the logical link.
  • a first packet Pla is launched from the first queue 600a.
  • a second packet P2b is launched from the second queue 600b.
  • a third packet P3a is launched, again from the first queue 600a.
  • a fourth packet P4c is launched from the third queue 600c, after which a fifth packet P5a is launched from the first queue 600a, and so forth.
  • the total bandwidth on a certain logical link that can be offered corresponds to the possible bitrate of the total output stream 602;
  • the total output bitrate can be estimated by determining the current state of all known path elements in the logical link in question.
  • the intermediate link descriptors stored in the egress unit for a logical link, describe the current state of the path elements in that logical link.
  • the intermediate link descriptors are retrieved, each of which may comprise a set of variables of a suitable algorithm used for monitoring the bandwidth of respective path elements.
  • a number of known bandwidth monitoring algorithms are available, such as "token bucket", "leaky bucket” and "coloured meters".
  • a procedure is described below under paragraphs 1-6, for scheduling received packet for output from an egress unit 104e, in accordance with the present invention.
  • the Reddo Revelation gathers information about the traffic source by listening into the control signaling between the end points in the network (client - server; server - server).
  • This control signaling can be e.g. RTSP, SIP, H.323, SAP/IGMP.
  • session description protocol e.g. SDP, part of RTSP/SIP/SAP
  • SAP/IGMP SAP/IGMP.
  • information can be gathered about the source. This information can be explicitly described such as bandwidth or it can be derived implicitly by interpreting e.g. the codec type that will be used in the session. The information gathered in this processes is normalized to a form that is used to describe all traffic sources.
  • the normalized form consist of six parameters:
  • Reddo Revelation is based on a micro flow model.
  • a micro flow is defined by all packets with the same combination of layer 3 (OSI model) destination and source addresses or all the packets with the same combination of layer 3, layer 4 addresses and protocol type.
  • OSI model OSI model
  • layer 4 addresses and protocol type OSI model
  • the router determines the path packets within that micro flow will take.
  • the path can be the whole path from end to end or a segment of the total path.
  • the path it will take is determined by the basis of the routing protocols and the structure of the layer 2 network out side the router.
  • the router keeps a model of the network.
  • the network model is described in three dimensions
  • the queue mechanisms support a few basic characteristics 1)
  • the system supports a number of strict priority queues for each subscriber and/or network element connected to the router.
  • the system supports traffic shaping for groups of queues to maintain maximum line speeds. This prevents packets from being lost later in the network.
  • This model is used to describe both traffic sources and capabilities of network elements.
  • the network elements and the links are mapped to the model by associating CIR to the line speed and CBS/EBS to the egress buffer space.
  • the recalculation includes compensation for transport and link header sizes and L2 imperfections, e.g. frame gapping on Ethernet or the cell segmentation on ATM.
  • the pre-roll video servers often do an extra burst in the beginning to quickly fill decode buffers expressed by the EBS parameter can be managed. This is done in temporal domain with dynamic allocation scheme. The dynamic allocation is done by forecasting resource utilization of the egress buffer space for the one time pre-roll traffic. The TotalRouterEgressBuffer must be sufficient to hold the pre-roll and there must be sufficient bandwidth to empty the pre-roll.
  • packets come in from different sources, some which feed the router with committed traffic and some that feeds the traffic with non committed traffic.
  • the traffic is sorted and executed in strict priority.
  • the sorting order is depending on the relation between the burst size and the committed information rate (statement 2 in mathematical proof).
  • the sorting is made so that if a packet is within CBS (green packet) it is assigned to a queue that is only used for this CBS/CIR value. In best case the number of queues would be infinite (this is what is assumed in the mathematics behind this). In the real world infinite is not and option, therefore the number of queue are limited to memory and processing capabilities of the underlying technology.

Abstract

A method and apparatus for transferring data packets over a router (100) comprising interface units (104) and a central switching unit (106). When a packet is received in the router, a logical link is selected for outputting the packet towards its destination, wherein the logical link comprises a plurality of packet queues with differentiated traffic classes. Further, a packet queue of the logical link is selected, and the packet is scheduled for launch from the selected queue, based on retrieved intermediate link descriptors and further based on a required QoS.(Fig. 1)

Description

METHOD FOR SELECTING A LOGICAL LINK FOR A PACKET IN A ROUTER
TECHNICAL FIELD The present invention relates generally to a method and apparatus for packet-based data transfer over a router. In particular, the invention is concerned with ensuring a certain level of service quality for transferred data packets.
BACKGROUND OF THE INVENTION AND PRIOR ART In recent years, systems and solutions have been developed for providing packet-based transmission of digitally encoded information for a variety of services, such as voice telephony, video telephony, television and video distribution, in addition to Internet browsing and messaging. The information to be transmitted, such as voice, audio and video files, text or images, is digitally encoded at the sending side and arranged into data packets of a specific format according to a selected coding scheme. Data packets are thus transferred between different senders and receivers over a common packet infrastructure using shared transmission resources, such as switches, routers and links.
Communicated data packets are individually handled along the transmission path, which may comprise various networks, switches, gateways, routers and interfaces. Therefore, individual data packets of a communication session may be subjected to different delays and may arrive in a different order than they were sent. Moreover, some packets may be lost or discarded during transfer, for example due to excessive delay or signal distortion or in overload situations. When received at their destination, the packets are typically arranged in the correct sequence order, and measures may be taken to compensate for any lost packets. The encoded information in the data packets can then be decoded and be presented or played in a user interface at the receiving end. The sending and receiving parties may utilise any type of end-stations capable of handling data packets, such as fixed or mobile phones, computers, servers, game consoles, TV sets, etc. Each type of service requires a specific Quality of Service (QoS) with respect to, e.g., needed bandwidth or data rate, packet losses, delay or latency, and variations in delay, sometimes referred to as jitter.
Packet-based services are delay sensitive to a varying extent, and packets are often classified accordingly for selecting suitable transmission mechanisms and protocols. The most delay sensitive service applications, such as voice and video telephony, are sometimes referred to as real-time services, demanding a total transmission time from sender to receiver of not more than approximately 200 milliseconds. The least delay sensitive applications, such as messaging and downloading of homepages from the Internet, are sometimes referred to as best effort services, for which a transmission time of a couple of seconds or more is mostly acceptable. Thus, when limited transmission resources are shared, real-time data is typically given priority over best effort data.
As mentioned above, data packets may be transmitted over various networks and a plurality of routers. A router is a transmission node, either within a network or interconnecting different networks for transferring data packets there between. A certain delay in each router of the transmission path cannot be avoided, but it is highly desirable to minimise such delay and also packet losses.
The Internet Protocol (IP) is extensively used today as a transmission standard for communication within and between networks. Thus, data packets are typically transferred over IP routers, within a network or from one network to another, during a communication session.
A router generally comprises ingress interface units for receiving packets coming from sending parties, and egress interface units for transmitting packets towards receiving parties. The router further comprises a central switching unit interconnecting the ingress and egress interface units.
In addition to simply receiving and forwarding data packets, an IP router may also perform other activities, such as security control, packet scheduling, format translation and transcoding. For example, the IP router may decide whether to forward an incoming packet or not, based on predetermined security policies. It may be checked at so-called domain edge routers that a data flow entering a predefined domain does not violate any agreements or reservations.
It may also be necessary to employ some scheduling mechanism for multiplexing plural incoming packets of different communication sessions over shared transmission resources, e.g., based on Quality of Service (QoS) policies and priority classifications. Different data sessions may thus have different QoS requirements, e.g., regarding delays, data rate and packet loss, and are classified accordingly. End-user subscriptions may also have differentiated QoS classes.
There are a number of available and known techniques used within routers for providing a required QoS. In the egress interface units, queues are maintained for data packets scheduled for output and further transmission, e.g., to the next router in the transmission path towards the final receiver. The scheduling mechanisms attempt to both fulfil differentiated QoS demands for individual packets, and to distribute traffic evenly over the available transmission resources. However, since transmission resources are shared by traffic sessions with sometimes very different QoS demands, resource conflicts may occur during overload, resulting in congestion where packets are delayed or dropped. Packet loss or delay may be caused by various factors, such as signal distortion resulting in bit errors, limited data rate capacity, discrepancy between offered and executed traffic, etc. Congestion may also occur in links or routers further on in the path due to lack of transmission resources or other reasons, which is not taken into account in previous scheduling mechanisms.
It is thus a problem to assure that QoS demands with respect to packet loss and delays are fulfilled in a transmission path comprising plural links and routers.
SUMMARY OF THE INVENTION
It is an object of the present invention to overcome the drawbacks outlined above, and to provide a reliable yet simple scheduling mechanism for data packets in a router, ensuring quality and security of packet data transmissions. It is also an object to optimise the use of available transmission resources, and to minimise packet delays and losses during the transfer of packets. These and other objects are achieved by a simple solution for transferring and scheduling data packets over a router between a sending end station and a receiving end station.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will now be described in more detail and with reference to the accompanying drawings, in which:
Fig. 1 is a schematic view of an exemplary communication system for transferring data. Fig. 2 is a detailed view of ingress and egress parts of a router.
Fig. 3 is a schematic view of an exemplary external network structure.
Fig. 4 is an illustration of logical links from an egress unit.
Fig. 5 is a simplified exemplary data structure of a logical link descriptor.
Fig. 6 is an illustration of a scheduling scheme of packet queues in a logical link.
DESCRIPTION OF PREFERRED EMBODIMENTS
As mentioned in the background section, data packets are typically transmitted end-to-end between end-stations over a number of interconnected routers or switches. The basic structure of a router includes interface units interconnected by means of a switch core. Fig. 1 is a simplified overview of an exemplary communication system in which the inventive method and apparatus for transferring data packets can be applied. A router 100 acts as a connection node between a plurality of networks 102 for enabling communications between end-stations, not shown, being connected to different networks 102. Alternatively, the router 100 may transfer packets within a network.
The router 100 is capable of communicating data packets in different formats between a multitude of different end-stations or terminals, such as fixed or mobile phones, computers, game consoles, servers, etc. Further, the networks 102 may be any type of networks, such as mobile or fixed networks, private or public networks, backbone IP (Internet Protocol) networks, the Internet etc. The router 100 basically comprises a number of network interface units 104 which are interconnected by means of a central switching unit 106. Each interface unit 104 is connected to and handles communication with one or more networks 102. An interface unit 104 may include both ingress and egress packet processing functionality for processing incoming packets from and outgoing packets to the network or networks connected thereto. Logically, an interface unit 104 can be divided into ingress and egress units, depending on the traffic direction.
Fig. 2 illustrates the router 100 in more detail, where only two interface units 104 are shown. An ingress packet processing unit 104i receives data packets 200 from different end-stations, and an egress packet processing unit 104e sends out packets 202 to their destined end-stations. The ingress and egress packet processing units 104i, 104e are adapted to process individual packets according to predefined rules, demands and policies, and will hereafter be referred to as ingress unit 104i and egress unit 104e for short. The ingress and egress units 104i,e are further interconnected by means of the switching unit 106.
The outgoing packets 202 launched from the egress unit 104e constitutes aggregated traffic from many different ingress units of the router 100, for example the shown ingress unit 104i, as indicated by plural arrows pointing towards the egress unit 104e. Similarly, the incoming packets 200 may be directed to different egress units, e.g. the shown egress unit 104e, as indicated by plural arrows pointing from the ingress unit 104i.
The incoming data packets 200 may arrive from different sources in different networks. Each incoming packet normally belongs to an established communication session which can be identified by reading certain fields in the packet, unless the packet is a first packet of a new session. A packet may thus be processed and possibly modified in one or both of the ingress and egress units 104i,e according to an identified or created session context, before being launched among the outgoing packets 202. Modifying a packet may include changing packet format or encoding scheme as well as adding, removing or updating certain header fields therein. Naturally, the outgoing packets 202 may likewise be transmitted to different destinations in different networks. In the router 100, it may be decided whether a packet is to be transferred or dropped, based on various conditions or criteria. If transferred, a suitable and acceptable packet delay may also be determined. These decisions may be taken in accordance with the established session, in particular with respect to a required QoS. In the present invention, a packet scheduling mechanism is used in a router, where the above-mentioned decisions are taken in order to police and shape the traffic for distributing load to utilise transmission resources in an effective way, which will be described in more detail below.
When a first data packet of a new data session is received in the router 100, the packet is classified and a forwarding decision is taken. The classification and the forwarding decision are also stored in the router. The router then processes each following incoming data packet basically by identifying the packet as belonging to the established session, applying the forwarding decision taken for that session, and by scheduling the packet accordingly for output launch. Packet scheduling principally involves determining when and in which order individual packets from different buffer queues are output on one or more shared transmission links. In the present invention, the scheduling is optimised with respect to the following factors:
- Resulting delay or latency should be kept at acceptable levels for delay-sensitive traffic. - Required bandwidth or data rate should be guaranteed for traffic according to predefined QoS demands.
- Overload or congestion should be avoided in the external transmission network outside the router.
- Packet traffic should be shaped with respect to the network structure outside the router.
The interface units 104 in the router are connected to an external network structure comprising one or more networks, such as the networks 102 illustrated in Fig. 1. With reference to Fig. 3, a network structure 300 external to the router 100 may thus comprise a multitude of routing or switching nodes 302 interconnected by physical and/or logical links 304. The network structure 300 is only schematically illustrated in Fig. 3 and may comprise any number of nodes and links in any pattern. Typically, there are several possible different transmission paths between two communicating end-stations. A path selected for sending a certain data packet comprises one or more such nodes and links, terminating in a destined end-station 306, of which only two are shown in Fig. 3. Each node 302 or link 304 is capable of providing a certain packet throughput or transmission bandwidth. The total end result with respect to transmission delay and quality is therefore dependent on the sum of all nodes and links in the taken path.
In the present invention, the router 100 performs traffic shaping and packet scheduling, based on knowledge of the network structure 300. The router 100 may thus store a known topology of the network structure 300. The router 100 may further store parameters describing various individual components of the network structure, or at least some known parts thereof. For example, the router may be a gateway of an access network and will then have detailed knowledge of the access network structure and all its components. The stored network component parameters may include capability parameters related to currently available bandwidth, buffering capability and/or data throughput in each or at least some of the nodes 302 and links. 304. Further, such parameters may preferably be updated dynamically depending on the current traffic load and current resource availability in each node and link. Hence, the scheduling of individual data packets may include selecting suitable nodes and links for the transmission path, based on the stored capability parameters for the selected nodes and links.
Returning to Fig. 2, when a first packet of a new session is received at the ingress unit 104i, a forwarding decision is taken for the session, which includes selecting a suitable egress unit for sending the packet to its destination, by reading an address field in a header of the packet. Moreover, certain predefined rules may be taken into consideration for taking the forwarding decision. In this example, the egress unit 104e is selected for output launch from the router.
The ingress unit 104i also classifies the first packet with respect to a QoS required for the new session, including, e.g., needed bandwidth or data rate, packet losses, packet burst size, delay or latency, and jitter. If the new session requires a certain QoS, the router will make a commitment to satisfy that QoS requirement during the session. If no such QoS requirement can be detected, the session packets will be treated as best effort packets. Thus, a distinction is made between "committed traffic" and "best effort traffic". A required QoS may be determined by monitoring control signalling preceeding the actual payload session. The monitoring of control signals may be executed, as described in the co-pending patent applications PCT/SE02/00356 and SE 0201346-4, by forwarding packets containing control signals to a specific control unit in the router, referred to as an ALG (Application Layer Gateway). This QoS classification thus indicates a packet priority which is used for scheduling following packets of the session, typically together with packets of other ongoing sessions, for output from the selected egress unit 104e over a shared communication resource, such as a cable connection.
The determined QoS classification is also used by the ingress unit 104i for retrieving and applying policy rules for the session. The policy rules may state a maximum bandwidth which is allowed to be used and an interval length over which the maximum bandwidth is determined, allowing for both constant and variable bit rate traffic. There are several well-known policing methods that can be used, such as "Leaky Bucket", "Token Bucket" and "Random Early Drop" (RED). Next, the packet is transferred to the selected egress unit 104e over the switching unit 106, together with the taken forwarding decision and the determined QoS classification which are stored in the egress unit 104e. By using the QoS classification for scheduling packets, traffic shaping can be performed for aggregated traffic from several ingress units. Thereby, QoS requirements for each session can be satisfied such that the packet transfer may be executed as if over a dedicated connection.
Once a traffic session has been established based on a first received packet, the following packets can be treated uniformly by recognising a session context. Thus, when receiving the first packet, the forwarding decision is taken and the QoS classification is determined when establishing the session context, based on the first packet. Thereafter, the session context can be recognised by extracting a session key or the like from each following received packet. The co-pending patent applications PCT/SE02/00356 and SE 0201346-4 describe how data packet streams can be transferred over a router in this way.
As mentioned above, an egress unit 104e may be connected to other routers, gateways or switches in the external network structure by means of a plurality of logical links 400, as illustrated in Fig. 4. The forwarding decision mentioned above includes selecting and assigning a specific logical link, based on the destination address, leading towards the destination of that session. Each logical link 400 thus terminates in a specific end-terminal. Each logical link 400 represents a particular transmission path to the destination through the external network, including known path elements such as nodes and links as far ahead as being known to the router. Hence, each logical link 400 is associated with a specific total bandwidth for that path. For example, a logical link may be directed to an ATM (Asynchronous Transmission Mode) virtual circuit on an ASDL (Asymmetric Digital Subscriber Loop) or a specific port on an Ethernet switch identified by a WLAN (Wireless Local Area Network).
The bandwidth of a specific logical link is dictated by the maximum bitrate that currently can be offered on the link, depending on, e.g., any bottlenecks that may occur along the path. The maximum bitrate, or "link speed", may equal the physical link speed, or may be less if the physical resource is shared with others by means of allocation.
In order to schedule packets from plural queues for launch from the router in a way that satisfies any required QoS, link parameters related to available bandwidth and a current packet queue status are stored for each logical link in the router 100. Link parameters for a logical link may be stored in a "logical link descriptor", which is a data structure representing the current state of the logical link and being stored in the egress unit 104e. An exemplary data structure of a logical link descriptor is schematically illustrated in Fig. 5.
A logical link descriptor 500 comprises a set of "intermediate link descriptors" 502, each describing the current state of a particular path element in the corresponding logical link. A "path element" may in this context represent a node, a link between two nodes, or a path segment including a series of nodes and/or links.
In practice, the intermediate link descriptors are preferably represented in the data structure by a set of pointers to the corresponding intermediate link descriptors, which in turn are stored in a separate memory or data structure. In this way, each intermediate link descriptor can be stored in only one place, even if it is valid for plural logical links, thereby saving memory space. The intermediate link descriptors 502 are dynamically updated by monitoring the traffic over the corresponding path element. The logical link descriptor 500 further comprises a set of packet queues
504, where each queue is associated with a certain traffic class. A logical link may comprise any number of queues. A queue is created for each data session and may thus contain one or more packets of that session waiting for launch from the egress unit, basically in accordance with the QoS classification made for the session. Thus, each packet queue has its own latency depending on how many packets are waiting therein to be launched. Further, each packet queue has a certain bitrate according to the associated traffic class. Packets are launched in turn from the queues according to a predetermined schedule as dictated by the bitrates of the respective queues and their traffic classes. Traffic classes are defined with respect to a packet burst size in relation to a committed bandwidth. Packets are typically transmitted in bursts of a specific size, depending on the traffic type. In this way, various types of traffic can be classified, such as:
- flash management traffic, - real-time delay-sensitive traffic,
- real-time traffic with constant or variable bitrate, and
- best effort traffic.
The logical link descriptor 500 further comprises dynamic capability parameters 506, including current values of the total bandwidth available for the logical link and the earliest possible launch time on the logical link for a next packet to be scheduled from the queues. In Fig. 6, an exemplary launch schedule is schematically illustrated for launching packets from three different packet queues 600a-c on a logical link from a router. In this simplified example, a first queue 600a is assigned a traffic class with twice the bitrate than that of a second queue 600b and a third queue 600c, respectively. Packets from the queues 600a-c are thus scheduled, according to their respective bitrates, for launch in a total output stream 602 on the logical link. In this simplified example, a first packet Pla is launched from the first queue 600a. Next, a second packet P2b is launched from the second queue 600b. Then, a third packet P3a is launched, again from the first queue 600a. Next, a fourth packet P4c is launched from the third queue 600c, after which a fifth packet P5a is launched from the first queue 600a, and so forth.
Hence, the total bandwidth on a certain logical link that can be offered corresponds to the possible bitrate of the total output stream 602; The total output bitrate can be estimated by determining the current state of all known path elements in the logical link in question. As mentioned above, the intermediate link descriptors, stored in the egress unit for a logical link, describe the current state of the path elements in that logical link. Thus, the intermediate link descriptors are retrieved, each of which may comprise a set of variables of a suitable algorithm used for monitoring the bandwidth of respective path elements. A number of known bandwidth monitoring algorithms are available, such as "token bucket", "leaky bucket" and "coloured meters".
A procedure is described below under paragraphs 1-6, for scheduling received packet for output from an egress unit 104e, in accordance with the present invention.
Description QoS
To make the QoS system work three different basic characteristics must be met. 1. Model of the traffic sources 2. Knowledge of the path a specific packet takes and path characteristics 3. Sufficient queue mechanisms
Below it is explained how those three basic points are solved in the Reddo Revelation.
2 Traffic source model acquisition The Reddo Revelation gathers information about the traffic source by listening into the control signaling between the end points in the network (client - server; server - server).
This control signaling can be e.g. RTSP, SIP, H.323, SAP/IGMP. By extracting information out of the session description protocol - SDP(part of RTSP/SIP/SAP) or an equivalent protocol, information can be gathered about the source. This information can be explicitly described such as bandwidth or it can be derived implicitly by interpreting e.g. the codec type that will be used in the session. The information gathered in this processes is normalized to a form that is used to describe all traffic sources.
The normalized form consist of six parameters:
1) Bandwidth requirements, CIR (Committed information rate)
2) Burst size in normal mode, CBS (Committed burst size)
3) Maximum excess burst size, EBS (Excess burst size) 4) Average payload size
5) Transport protocol overhead
6) Type Audio/Video, Data
These six parameters describe the traffic from the source.
3 Knowledge of the packet path
Reddo Revelation is based on a micro flow model. A micro flow is defined by all packets with the same combination of layer 3 (OSI model) destination and source addresses or all the packets with the same combination of layer 3, layer 4 addresses and protocol type. When a micro flow is established the router determines the path packets within that micro flow will take. The path can be the whole path from end to end or a segment of the total path. The path it will take is determined by the basis of the routing protocols and the structure of the layer 2 network out side the router. The router keeps a model of the network. The network model is described in three dimensions
1) How the network elements are connected to each other
2) What the link speed are between the network elements 3) The amount of egress buffer space on each network element for specific outgoing links and traffic types (Best effort, Committed traffic)
4 Sufficient queue mechanism
The queue mechanisms support a few basic characteristics 1) The system supports a number of strict priority queues for each subscriber and/or network element connected to the router.
2) The system supports traffic shaping for groups of queues to maintain maximum line speeds. This prevents packets from being lost later in the network.
5 The method
To be able to practically design a system that can guarantee that latency and bandwidth for different traffic sources the sources must be modeled in a common way. By using a common model where the sources only affect the parameters in the model, it is possible to calculate if the system will be able to deliver deterministic characteristics. The choice of model for this method is based on the model for three colored meters i.e.
Bandwidth (CIR-Committed Information Rate), maximum allowed burst for information (CBS — committed burst size), excess burst size (BBS). In addition and average payload size, transport protocol overhead and the traffic type, describing the traffic source, are needed for the calculations.
This model is used to describe both traffic sources and capabilities of network elements. The network elements and the links are mapped to the model by associating CIR to the line speed and CBS/EBS to the egress buffer space.
To determine these parameters for the source the method described under "Traffic source model acquisition" is used.
Once this has been done the parameters have to be transformed to the same model but for the line utilization. The recalculation includes compensation for transport and link header sizes and L2 imperfections, e.g. frame gapping on Ethernet or the cell segmentation on ATM.
After this it is possible to determine if a specific micro flow with that model can be guarantied its characteristics through the router and the know path of the packet.
This is done by checking that • 1) Linebandwitdh > previouslyCommittedlnformationRate + CIRnewfl0W (statement 1 in mathematical proof) for all logical and physical links in the system.
2) TotalRouterEgressBuffer > previouslyCommittedBurstsizes + CBSnewflow If the distribution of packets are known or a large number of micro flows are aggregated a more sophisticated model based on a statistical model can be used to calculate a tolerable loss of packets due to insufficient egress buffer space. A reasonable number to head for would be 10"6.
3) For A/V (audio video) type of traffic, the pre-roll (video servers often do an extra burst in the beginning to quickly fill decode buffers) expressed by the EBS parameter can be managed. This is done in temporal domain with dynamic allocation scheme. The dynamic allocation is done by forecasting resource utilization of the egress buffer space for the one time pre-roll traffic. The TotalRouterEgressBuffer must be sufficient to hold the pre-roll and there must be sufficient bandwidth to empty the pre-roll.
For committed data traffic (not audio video) check 3 is not done, as excess burst is treated as best effort traffic. The static model of the traffic is verified and the new stream can be committed.
5.1 Packet Dynamics
In the real world packets come in from different sources, some which feed the router with committed traffic and some that feeds the traffic with non committed traffic. To make the scheduling work, so that it fulfills the requirements from the various sources, the traffic is sorted and executed in strict priority. The sorting order is depending on the relation between the burst size and the committed information rate (statement 2 in mathematical proof). The sorting is made so that if a packet is within CBS (green packet) it is assigned to a queue that is only used for this CBS/CIR value. In best case the number of queues would be infinite (this is what is assumed in the mathematics behind this). In the real world infinite is not and option, therefore the number of queue are limited to memory and processing capabilities of the underlying technology. This makes packets belonging to different micro flows with approximately the same CBS/CIR value group together in a common queue. This approximation can be tolerated by the applications. If a micro flow goes beyond its planned model, i.e. exceeds the burst beyond the CBS value, the packets that are exceeding (yellow packets) are assigned a different queue corresponding to EBS/CIR. This way guaranteeing that committed burst speed are upheld. The burst speed is defined as the time it would take for a burst to be passed on a line if the available bandwidth would be CIR i.e. CBS/CIR or EBS/CIR in our case. The importance of guaranteeing the burst speeds comes from the application it self. Burst chucks of data that are related for use in e.g. decoding. The relation for audio video application is in often in the temporal domain. l)We_have_enough_bandwidth TBW = CIRa + CIRb + α α=residualbandwidth
TBW = totalbandwidth
2)Traffic_is_sorted CBSa/ CIRa < CBSb/ CIRb 3) To Prove
(CBSa + CBSb)/TBW < CBSb/ CIRb (TBW * (CBSa + CBSb))/ TBW < (TBW * CBSb)/ CIRb From (1) follows
CBSa + CBSb < (CBSb * CIRay CIRb + CBSb + (α * CBSb)/ CIRb From (2) follows
(CBSb * CIRa)/ CIRb + CBSb < CBSb * CIRa)/ CIRb + CBSb + (α * CBSb)/ CIRb i.e.
Figure imgf000018_0001
WhichShouldProve (3)
The statement (3) [to prove] states, if two micro flows a & b are sent over the same line, the a committed burst for micro flow b will always travel through the system faster or equally fast (that regardless of packet order) as if it had been transmitted over its own line with the speed CIRb separately. This applies if (1) the total bandwidth is larger than the committed bandwidth and (2) packets from micro flow a are scheduled on to the shared line with strict priority over packets from micro flow b. The proof can be used to prove that an additional micro flows will be ensured the same characteristic (burst speed guarantee) through induction.
To ensure that the sources keep the traffic models the system police packets on ingress using the estimated model with the three-color meter. Red packets are immediately discarded. Different queues are assigned depending on green or yellow colour (CBS/CIR and EDS/CIR queues). In the aggregation of the micro flows in the queue system a number subsequent modified three colour meters are used representing each link and egress buffer space on the network elements in the path. This is to ensure that the queuing systems of the network elements will be able to serve all packets inserted into the queue. The modification (three colour meters) of how fill the buckets is made to ensure committed packets access to buffer space.
6 Benefits
1) System does not require manual reconfiguration of queue system when new traffic classes are introduced into network.
2) System can guarantee bandwidth on a per session basis (micro flow)dynamically
3) System can guarantee timely delivery of bursts on a per session basis (micro flow) dynamically.
While the invention has been described with reference to specific exemplary embodiments, the description is only intended to illustrate the inventive concept and should not be taken as limiting the scope of the invention. Various alternatives, modifications and equivalents may be used without departing from the spirit of the invention, which is defined by the appended claims.

Claims

1. A method of transferring data packets over a router between a sending end station and a receiving end station, comprising the steps of: A) receiving a data packet from the sending end station,
B) reading a destination address in a header field of the received packet,
C) selecting a logical link on which to output the packet based on the read destination address, wherein the logical link comprises a plurality of packet queues with differentiated traffic classes, D) determining a required QoS for the packet, characterised by the further steps of:
E) retrieving stored intermediate link descriptors, comprising state variables of link components in a transmission path corresponding to the selected logical link, and
F) selecting a packet queue of the logical link and scheduling the packet in the selected queue, based on the intermediate link descriptors retrieved in step E) and further based on the required QoS determined in step D).
2. A method according to claim 1, characterised in that steps A) - D) are performed in an ingress unit to which the sending end station is connected, and that steps E) and F) are performed in an egress unit to which the receiving end station is connected.
PCT/SE2003/001754 2002-11-13 2003-11-13 Method for selecting a logical link for a packet in a router WO2004045167A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004551338A JP2006506845A (en) 2002-11-13 2003-11-13 How to select a logical link for a packet in a router
EP03811172A EP1561317A1 (en) 2002-11-13 2003-11-13 Method for selecting a logical link for a packet in a router
AU2003276806A AU2003276806A1 (en) 2002-11-13 2003-11-13 Method for selecting a logical link for a packet in a router

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE0203362-9 2002-11-13
SE0203362A SE0203362D0 (en) 2002-11-13 2002-11-13 A method and apparatus for transferring data packets in a router

Publications (1)

Publication Number Publication Date
WO2004045167A1 true WO2004045167A1 (en) 2004-05-27

Family

ID=20289559

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2003/001754 WO2004045167A1 (en) 2002-11-13 2003-11-13 Method for selecting a logical link for a packet in a router

Country Status (6)

Country Link
EP (1) EP1561317A1 (en)
JP (1) JP2006506845A (en)
KR (1) KR20050086537A (en)
AU (1) AU2003276806A1 (en)
SE (1) SE0203362D0 (en)
WO (1) WO2004045167A1 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008515348A (en) * 2004-09-29 2008-05-08 ソーナス ネットワークス, インコーポレイテッド Logical trunk group for packet-based networks
WO2008112252A1 (en) * 2007-03-13 2008-09-18 Ntt Docomo, Inc. A method and apparatus for prioritized information delivery with network coding over time-varying network topologies
WO2010042578A1 (en) * 2008-10-08 2010-04-15 Citrix Systems, Inc. Systems and methods for real-time endpoint application flow control with network structure component
US8027407B2 (en) 2006-11-06 2011-09-27 Ntt Docomo, Inc. Method and apparatus for asynchronous space-time coded transmission from multiple base stations over wireless radio networks
US8064548B2 (en) 2007-05-18 2011-11-22 Ntt Docomo, Inc. Adaptive MaxLogMAP-type receiver structures
US8194760B2 (en) 2006-06-01 2012-06-05 Ntt Docomo, Inc. Method and apparatus for distributed space-time coding in wireless radio networks
US8229443B2 (en) 2008-08-13 2012-07-24 Ntt Docomo, Inc. Method of combined user and coordination pattern scheduling over varying antenna and base-station coordination patterns in a multi-cell environment
US8279954B2 (en) 2008-03-06 2012-10-02 Ntt Docomo, Inc. Adaptive forward-backward soft output M-algorithm receiver structures
US8325840B2 (en) 2008-02-25 2012-12-04 Ntt Docomo, Inc. Tree position adaptive soft output M-algorithm receiver structures
US8451951B2 (en) 2008-08-15 2013-05-28 Ntt Docomo, Inc. Channel classification and rate adaptation for SU-MIMO systems
US8505013B2 (en) 2010-03-12 2013-08-06 Lsi Corporation Reducing data read latency in a network communications processor architecture
US8514874B2 (en) 2010-03-12 2013-08-20 Lsi Corporation Thread synchronization in a multi-thread network communications processor architecture
US8514961B2 (en) 2010-02-04 2013-08-20 Ntt Docomo, Inc. Method and apparatus for distributed space-time coding in wireless radio networks
US8537832B2 (en) 2010-03-12 2013-09-17 Lsi Corporation Exception detection and thread rescheduling in a multi-core, multi-thread network processor
US8542640B2 (en) 2008-08-28 2013-09-24 Ntt Docomo, Inc. Inter-cell approach to operating wireless beam-forming and user selection/scheduling in multi-cell environments based on limited signaling between patterns of subsets of cells
US8565329B2 (en) 2008-06-03 2013-10-22 Ntt Docomo, Inc. Soft output M-algorithm receiver structures with generalized survivor selection criteria for MIMO systems
US8705484B2 (en) 2008-08-15 2014-04-22 Ntt Docomo, Inc. Method for varying transmit power patterns in a multi-cell environment
US8855221B2 (en) 2008-09-15 2014-10-07 Ntt Docomo, Inc. Method and apparatus for iterative receiver structures for OFDM/MIMO systems with bit interleaved coded modulation
US8868889B2 (en) 2010-03-12 2014-10-21 Lsi Corporation Instruction breakpoints in a multi-core, multi-thread network communications processor architecture
US8935483B2 (en) 2009-04-27 2015-01-13 Lsi Corporation Concurrent, coherent cache access for multiple threads in a multi-core, multi-thread network processor
US9048977B2 (en) 2009-05-05 2015-06-02 Ntt Docomo, Inc. Receiver terminal driven joint encoder and decoder mode adaptation for SU-MIMO systems
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011041054A (en) * 2009-08-12 2011-02-24 Alaxala Networks Corp Packet transfer device
JP6401546B2 (en) * 2014-08-21 2018-10-10 日本放送協会 Content distribution server and content distribution program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0526104A2 (en) * 1991-08-02 1993-02-03 AT&T Corp. Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
US5959993A (en) * 1996-09-13 1999-09-28 Lsi Logic Corporation Scheduler design for ATM switches, and its implementation in a distributed shared memory architecture
WO2000016577A1 (en) * 1998-09-14 2000-03-23 Nokia Mobile Phones Ltd. Handover between mobile communication networks
WO2000028706A1 (en) * 1998-11-10 2000-05-18 Odyssia Systems, Inc. Method and apparatus to minimize congestion in a packet switched network
EP1235461A2 (en) * 1995-11-30 2002-08-28 Lucent Technologies Inc. A method of admission control and routing of virtual circuits

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0526104A2 (en) * 1991-08-02 1993-02-03 AT&T Corp. Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
EP1235461A2 (en) * 1995-11-30 2002-08-28 Lucent Technologies Inc. A method of admission control and routing of virtual circuits
US5959993A (en) * 1996-09-13 1999-09-28 Lsi Logic Corporation Scheduler design for ATM switches, and its implementation in a distributed shared memory architecture
WO2000016577A1 (en) * 1998-09-14 2000-03-23 Nokia Mobile Phones Ltd. Handover between mobile communication networks
WO2000028706A1 (en) * 1998-11-10 2000-05-18 Odyssia Systems, Inc. Method and apparatus to minimize congestion in a packet switched network

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008515348A (en) * 2004-09-29 2008-05-08 ソーナス ネットワークス, インコーポレイテッド Logical trunk group for packet-based networks
US8194760B2 (en) 2006-06-01 2012-06-05 Ntt Docomo, Inc. Method and apparatus for distributed space-time coding in wireless radio networks
US8027407B2 (en) 2006-11-06 2011-09-27 Ntt Docomo, Inc. Method and apparatus for asynchronous space-time coded transmission from multiple base stations over wireless radio networks
WO2008112252A1 (en) * 2007-03-13 2008-09-18 Ntt Docomo, Inc. A method and apparatus for prioritized information delivery with network coding over time-varying network topologies
US8064548B2 (en) 2007-05-18 2011-11-22 Ntt Docomo, Inc. Adaptive MaxLogMAP-type receiver structures
US8325840B2 (en) 2008-02-25 2012-12-04 Ntt Docomo, Inc. Tree position adaptive soft output M-algorithm receiver structures
US8279954B2 (en) 2008-03-06 2012-10-02 Ntt Docomo, Inc. Adaptive forward-backward soft output M-algorithm receiver structures
US8565329B2 (en) 2008-06-03 2013-10-22 Ntt Docomo, Inc. Soft output M-algorithm receiver structures with generalized survivor selection criteria for MIMO systems
US8229443B2 (en) 2008-08-13 2012-07-24 Ntt Docomo, Inc. Method of combined user and coordination pattern scheduling over varying antenna and base-station coordination patterns in a multi-cell environment
US8451951B2 (en) 2008-08-15 2013-05-28 Ntt Docomo, Inc. Channel classification and rate adaptation for SU-MIMO systems
US8705484B2 (en) 2008-08-15 2014-04-22 Ntt Docomo, Inc. Method for varying transmit power patterns in a multi-cell environment
US8542640B2 (en) 2008-08-28 2013-09-24 Ntt Docomo, Inc. Inter-cell approach to operating wireless beam-forming and user selection/scheduling in multi-cell environments based on limited signaling between patterns of subsets of cells
US8855221B2 (en) 2008-09-15 2014-10-07 Ntt Docomo, Inc. Method and apparatus for iterative receiver structures for OFDM/MIMO systems with bit interleaved coded modulation
US8589579B2 (en) 2008-10-08 2013-11-19 Citrix Systems, Inc. Systems and methods for real-time endpoint application flow control with network structure component
WO2010042578A1 (en) * 2008-10-08 2010-04-15 Citrix Systems, Inc. Systems and methods for real-time endpoint application flow control with network structure component
US9479447B2 (en) 2008-10-08 2016-10-25 Citrix Systems, Inc. Systems and methods for real-time endpoint application flow control with network structure component
US8935483B2 (en) 2009-04-27 2015-01-13 Lsi Corporation Concurrent, coherent cache access for multiple threads in a multi-core, multi-thread network processor
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US9048977B2 (en) 2009-05-05 2015-06-02 Ntt Docomo, Inc. Receiver terminal driven joint encoder and decoder mode adaptation for SU-MIMO systems
US8514961B2 (en) 2010-02-04 2013-08-20 Ntt Docomo, Inc. Method and apparatus for distributed space-time coding in wireless radio networks
US8537832B2 (en) 2010-03-12 2013-09-17 Lsi Corporation Exception detection and thread rescheduling in a multi-core, multi-thread network processor
US8514874B2 (en) 2010-03-12 2013-08-20 Lsi Corporation Thread synchronization in a multi-thread network communications processor architecture
US8505013B2 (en) 2010-03-12 2013-08-06 Lsi Corporation Reducing data read latency in a network communications processor architecture
US8868889B2 (en) 2010-03-12 2014-10-21 Lsi Corporation Instruction breakpoints in a multi-core, multi-thread network communications processor architecture

Also Published As

Publication number Publication date
EP1561317A1 (en) 2005-08-10
JP2006506845A (en) 2006-02-23
SE0203362D0 (en) 2002-11-13
KR20050086537A (en) 2005-08-30
AU2003276806A1 (en) 2004-06-03

Similar Documents

Publication Publication Date Title
EP1561317A1 (en) Method for selecting a logical link for a packet in a router
US6188698B1 (en) Multiple-criteria queueing and transmission scheduling system for multimedia networks
US9344369B2 (en) System and methods for distributed quality of service enforcement
KR100823785B1 (en) Method and system for open-loop congestion control in a system fabric
US8532130B2 (en) Service interface for QoS-driven HPNA networks
US6094435A (en) System and method for a quality of service in a multi-layer network element
US7936770B1 (en) Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces
CA2302218C (en) Packet network
EP2302843B1 (en) Method and device for packet scheduling
EP1345365A2 (en) Weighted fair queuing (WFQ) shaper
US20060268692A1 (en) Transmission of electronic packets of information of varying priorities over network transports while accounting for transmission delays
US20080056295A1 (en) Internet protocol quality of service apparatus and method
US20100195492A1 (en) Controlling Traffic in a Packet Switched Communications Network
US20030169690A1 (en) System and method for separating communication traffic
US8031682B2 (en) Apparatus and method for aggregating and switching traffic in subscriber network
CN116506365B (en) Multi-network outlet intelligent load balancing method, system and storage medium
US7289525B2 (en) Inverse multiplexing of managed traffic flows over a multi-star network
US20030156538A1 (en) Inverse multiplexing of unmanaged traffic flows over a multi-star network
Cisco QC: Quality of Service Overview
Cisco Quality of Service Solutions Configuration Guide Cisco IOS Release 12.0
Hai et al. Dynamic-distributed differentiated service for multimedia applications
Ito et al. Media synchronization quality of packet scheduling algorithms
Tawfeeq Network Congestion and Quality of Service Analysis Using OPNET
Radivojević et al. Quality of Service Implementation
Hou et al. A core-stateless buffer management mechanism for differentiated services Internet

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2003811172

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020057008429

Country of ref document: KR

Ref document number: 2004551338

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 2003811172

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020057008429

Country of ref document: KR