OFFERING DIFFERENTIATED SERVICES
BACKGROUND This invention relates to offering differentiated services . A differentiated services architecture is a rule-based mechanism that allows for differentiation of network services based on performance. Different types of network traffic can be identified, e.g., in a packet header, for different types of forwarding or routing across the network. Using the identification and network policies, network resources can be reserved to forward or route the network traffic across the network.
SUMMARY According to an aspect of the present invention, differentiated services are offered across multiple virtual circuits running between the same destinations and different service quality attributes are associated with the multiple virtual circuits.
According to another aspect of the present invention, quality characteristics of multiple virtual circuits running across a network between the same destinations are signaled to a destination having traffic to send across the network and it is determined which virtual circuit to shunt the traffic to based at least in part on service characteristics of the virtual circuits and on service needs of the traffic.
According to another aspect of the present invention, a process is associated with a destination and is configured to determine which of multiple virtual circuits to send traffic over based at least in part on service characteristics of the
traffic and on the service characteristics of the multiple virtual circuits.
One or more of the following advantages may be provided by one or more aspects of the invention. Offering differentiated services over a frame relay network having a plurality of virtual circuits minimizes the burden of configuration. Haying multiple virtual circuits between destinations allows traffic between two (or more) points to receive different treatment and differentiated service; the traffic is sent on a virtual circuit that can optimize the QoS (quality of service) parameters of the traffic. Deciding which virtual circuit to send traffic over before the traffic reaches the network and/or the virtual circuits prevents the network from being unable to classify the traffic because the traffic's classification information was compressed before the traffic reached the network or from having to decompress the traffic, classify it, and recompress it.
DESCRIPTION OF DRAWINGS. FIG. 1 is a diagram of a network configuration. FIG. 2 is a flowchart showing a process of offering differentiated services over a frame relay network in accordance with an embodiment of the invention.
FIG. 3 is a diagram of a network configuration.
DETAILED DESCRIPTION Referring to FIG. 1, a network arrangement 10 used to offer differentiated services is shown. A service provider (not shown) offers a frame relay network 12 including X redundant virtual circuits 14a-N (where X is an integer and N corresponds to the number of virtual circuits, X) between two destinations, e.g., a first CPE (customer premise equipment)
16 via a first switch (router) 18 and a second CPE 20 via a second switch 22. The actual destinations of the data (traffic) may be elements (not shown) having access to the CPEs 16, 18 such as telephones, servers, computers, facsimile machines, personal digital assistants, and pagers.
A frame relay protocol is a packet-switching protocol for connecting devices on a network and for transmitting data across the network in the proper order. The frame relay protocol operates between the network and an end-user device, e.g., customer premises equipment, a computer workstation, a local area network (LAN) , a router, a front-end processor, or other device. In transmitting the data, the network may use any type of transmission method compatible with the frame relay protocol. The path from an originating end-user device, through the network, and to a destination end-user device is called a virtual path or a -virtual circuit. A virtual circuit allows the originating end-user device and the destination end-user device to communicate as if they have a dedicated connection even though the data transmitted between them may travel different routes before reaching the proper destination. Virtual circuits may be permanent or temporary. Permanent virtual circuits (PVC) are permanently available, while switched virtual circuits (SVC) are set-up on an as-needed basis and must be reestablished for each data transmission. The virtual circuits 14a-N in FIG. 1 allow computer terminals 24 connected the CPE 16 via a LAN 26 and a router 28 to send data to other computer terminals 30 connected to the CPE 20 via another LAN 32 and another router 34. The virtual circuits 14a-N are redundant in the sense that they run between the same destinations. Each of the virtual circuits 14a-N has different service quality attributes. When the
first CPE 16 (or the second CPE 20) has data to send to the second CPE 20 (or the first CPE 16), the switch 18 (or the switch 22) , using a signaling routine 36, signals the quality characteristics of the virtual circuits 14a-N to the sending CPE 16 (or the CPE 20). The CPE 16 (or the CPE 20), using a decision-making routine 38, maps the virtual circuits 14a-N to differentiated service classes and allocates traffic to the virtual circuits 14a-N based on service requirements, e.g., QoS (quality of service) , of the application that issued the data. This functionality may be combined with frame relay end-to-end multilink, as defined in the August 1999 Frame Relay Forum voluntary technical standard FRF 15 entitled "End- to-End Multilink Frame Relay Implementation Agreement," to allow a single flow of data to be sent over a set of redundant virtual circuits.
Referring to FIG. 2, a process 40 offers differentiated services using the signaling routine 36 and the decision- making routine 38. The signaling routine 36 and the decision- making routine 38 may be included in a single routine (not shown) accessible by the CPE 16 and/or the switch 18. The process 40 includes three stages: initialization 42, classification 44, and transmission 46. The initialization stage 42 involves evaluating the virtual circuits 14a-N. Knowing the characteristics of the virtual circuits, 14a-N, the classification stage 44 involves examining the data to send across the virtual circuits 14a-N and choosing which virtual circuit (s) 14a-N to use to send the data. The data can then be shunted to a virtual circuit (s) 14a-N in the transmission stage 46. In the initialization stage 42, the signaling routine 36 signals 48 characteristics of each virtual circuit 14a-N to the CPE having data to send (assume here that the sending CPE
is the CPE 16) . This implies that there should be a form of signaling between the CPE 16 and the switch 18 that is richer than traditional frame relay data link control management protocols. Additionally, the switch network provisioning system is enhanced to set up multiple virtual circuits between endpoints, here the switches 18, 22. The protocol enables the CPE 16 to recognize redundant virtual circuits and integrate them into a differentiated services offering. One type of protocol that may be used includes enhanced signaling and is described in the April 6, 2000 Frame Relay Forum proposed voluntary technical standard FRF 1.2, "PVC User-to-Network Interface (UNI) Implementation Agreement."
The information that the switch 18 signals to the CPE 16 includes service parameters for each of the virtual circuits 14a-N. The service parameters provide the CPE 16 with information to determine which virtual circuit 14a-N is best suited for the particular type of- traffic that the CPE 16 has to send. The virtual circuits 14a-N have individually configurable service parameters. The service parameters have default values. The default parameters include discard and transit priorities for the virtual circuits 14a-N. For example, a standard multimedia/data service pack of virtual circuits, e.g., PVCs, is the Olympic model of a frame relay network having three virtual circuits (X = 3, N = c) , colloquially called gold, silver, and bronze virtual circuits, have default characteristics including: gold, e.g., virtual circuit 14a: high transfer and low discard priority for multimedia applications; • silver, e.g., virtual circuit 14b: medium transfer and discard priority for mission critical applications; and
• bronze, e.g., virtual circuit 14c: low transfer and discard priority for batch application.
Specific service parameters that the switch 18 signals to the
CPE 16 include: • committed burst size (Be) - the number of consecutive bits that the virtual circuit agrees to carry without discarding data;
• excess burst size (Be) - amount over the Be that the virtual circuit agrees to carry with a greater likelihood that the data will be discarded; transmission interval (T) ;
• frame transfer priority; and
• frame discard priority. At line initialization, the CPE 16 uses a protocol, e.g., an inverse (reverse) address resolution protocol (ARP) , to determine 50 the address, e.g., layer three address, at the other end of the virtual circuits 14a-N. This implies that the CPE 16 should be able to recognize common layer three addresses that are discoverable via inverse ARP. The CPE 16 can use inverse ARP to discover its own Internet Protocol (IP) address by broadcasting its physical address and receiving its layer three address back. A layer three address includes information such as message type and QoS requirements that the CPE 16 can examine and use in prioritizing the data and choosing a virtual circuit 14a-N. The CPE 16 also can group 52 all virtual circuits 14a-N that share a common layer three address into service packs.
In the classification stage 44, the CPE 16 examines 54 the priority of data it has to send across the frame relay network 12. The CPE 16 also looks at the type of data being transmitted and the choice of virtual circuits 14a-N
available. The CPE 16 makes 56 a forwarding decision based on next-hop or per hop behavior (PHB) . The CPE 16 looks for a low number of hops because the fewer the number of hops between the data's source and destination, the less time is required for the data to travel from the source to the destination.
Each virtual circuit 14a-N within a service pack can be mapped to a specific PHB. It is possible to interpret a virtual circuit 14a-N as having a PHB of a certain type based on the combination of discard and transfer priority associated with the virtual circuit 14a-N. This determination is made by bilateral agreement between the CPE 16 and the service provider. Thus, for example, a virtual circuit with a transfer priority of eight and a discard priority of seven could represent an AF12 at one frame relay network and an EF at another.
The classification of a data packet for forwarding can be done using a simple mapping of the data's differentiated services code point (DSCP) that indicates the level of service desired. The DSCP maps the data to a particular forwarding behavior, e.g., PHB, that provides service information, e.g., bandwidth, queuing, and discarding decisions, in accordance with the frame relay network 12. The CPE 16 can then choose 58 the virtual circuit 14a-N that optimizes the QoS parameters of the data stream and shunt 60 the data to the chosen virtual circuit (s) 14a-N. In this way, the virtual circuits 14a-N are chosen in a way that optimizes the QoS parameters of the traffic being sent. The CPE 16 may also transmit multiprotocol (non-IP) traffic over the virtual circuits 14a-N as long as the CPE 16 takes into account the bandwidth lost in doing so and makes sure that the virtual circuits 14a-N comply with the IP service requirements.
Referring to FIG. 3, a network arrangement 62 is shown that can implement the process 40 (FIG. 2) over multiple frame relay networks 64a-M and multiple virtual circuit segments 66a-M (a multi-network virtual circuit 68) using routines 70, 72. The routine 70 implements the signaling routine 36 while the routine 72 implements the decision-making routine 38, both described above.
A number of embodiments of the invention have been described. Other embodiments are within the scope of the following claims.