throbber
(12) United States Patent
`Olsson et al.
`
`USOO6577596B1
`US 6,577,596 B1
`Jun. 10, 2003
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) METHOD AND APPARATUS FOR PACKET
`DELAY REDUCTION USING SCHEDULING
`AND HEADER COMPRESSION
`
`(75) Inventors: Gunnar Olsson, Tumba (SE); Simon
`Rahlén, Tullinge (SE)
`(73) Assignee: Telefonaktiebolaget LN Ericsson
`(publ), Stockholm (SE)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/451,081
`(22) Filed:
`Nov.30, 1999
`(51) Int. Cl." ................................................ H04L 12/26
`(52) U.S. Cl. ................................... 370/230; 370/395.42
`(58) Field of Search ................................. 370/229, 230,
`370/230.1, 231,395.4, 395.41, 395.42,
`395.43, 428,429, 412, 413, 415, 417, 468,
`477
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`5,231,633 A * 7/1993 Hluchy et al. ............. 370/429
`5,293,379 A
`3/1994 Carr
`5,978,386 A 11/1999 Hämäläinen et al.
`5.987,022 A 11/1999 Geiger et al.
`5.999,528 A * 12/1999 Chow et al. ................ 370/365
`6.269,079 B1 * 7/2001 Marin et al. ...
`... 370/230
`6,324,165 B1
`11/2001 Fan et al. ................... 370/232
`6,449.255 B1 * 9/2002 Waclawsky ................. 370/236
`FOREIGN PATENT DOCUMENTS
`
`WO
`
`99/13624
`
`3/1999
`
`OTHER PUBLICATIONS
`W. Storz and G. Beling “Transmitting time-critical data over
`heterogeneous Subnetworks using Standardized protocols',
`Mobile Networks and Applicatiosn 2 (1997) pp. 243-249,
`document No. XP-000853528.
`
`“Open Systems Interconnect (OSI)-New International
`Standards Architectures and Protocols for Distributed Infor
`mation Systems”, Special issue, Proceedings of the IEEE,
`H.C. Folts and R. des Jardins, eds., vol. 71, No. 12, Dec.
`1983.
`“Internet Protocol Specification’, E.J. Postel, SRI Interna
`tional, Menlo Park, CA, Sep. 1981, RFC791.
`“The Point to Point Protocol" editor W. Simpson, Network
`ing Group Request for Comments RFC 1661, Jul. 1994.
`“Cisco IOSTM Software Quality of Service Solutions”, Apr.
`8, 1999, by Cisco Systems.
`“Multi-Class Extension to Multi-Link PPP, Carsten Bor
`man, Internet Engineering Task Force (IETF), Dec. 1999.
`“Providing Integrated Services Over Low-bitrate Links”, by
`Carsten Borman, Jun. 1999.
`“Compressing TCP/IP Headers for Low-Speed Serial
`Links”, editor V. Jacobson, Feb. 1990.
`* cited by examiner
`Primary Examiner Kwang Bin Yao
`(57)
`ABSTRACT
`A method and apparatus for reducing delay in the transmis
`Sion of a plurality of packets by performing IP Scheduling
`and header compression at various layers in a multilayer
`architecture having a plurality of classifications includes
`Scheduling packets according to classifications. If conges
`tion occurs during Scheduling, packets may be discarded.
`Some packet headers may be compressed thereafter. Packets
`may further be queued in a first and a second queue, after
`Scheduling, discarding, and compressing, according to at
`least two classifications. Best Efforts packets may be queued
`into the lower priority Second queue. Classifications may be
`asSociated with, for example, QoS levels, delay factors, LFI,
`and Multilink PPP. Scheduling is performed at higher or
`lower layers in a multi-layer protocol. The lower layer
`includes a PPP layer. The lower layer may also include an
`HDLC layer which creates a tag for packets prior to com
`pression being performed thereupon. The tag may be added
`to packets at Some point thereafter. Tags are removed prior
`to transmission. An outbound packet queue having a queue
`depth of no greater than one ensures no more than one Best
`Efforts packet wait time.
`23 Claims, 8 Drawing Sheets
`
`
`
`
`
`
`
`Afip
`AA
`Apass.
`
`ASA:
`AAEf
`
`-552
`
`Af
`AAA
`iPassi:
`
`582
`
`
`
`
`
`AB 2, 2, ...,ty
`pais F.
`A. App
`
`563
`
`
`
`55
`
`552d
`
`Stifs
`ApAffisii
`Aaaaiii
`Affilia AAA
`
`P
`falafi 9ts
`Atti,
`A.
`
`AAESS Flais FApp -553
`
`557
`
`i, 20ftf
`
`
`
`555
`
`2 taif
`Apr.
`
`556
`
`A
`
`Bita
`-;
`ipf2
`
`it
`At
`564 - AAFS
`Appa
`
`
`
`Aft
`
`Appi Atar
`is App
`
`
`
`AF
`Af
`PS
`
`EX 1009 Page 1
`
`

`

`U.S. Patent
`
`Jun. 10, 2003
`
`Sheet 1 of 8
`
`US 6,577,596 B1
`
`A/G f
`
`93b
`193C
`
`93d
`93e
`
`93f
`193g
`
`
`
`193C
`
`
`
`artz o.
`f :
`
`as a viv -193
`It
`(OWWAA/70//WAAA ()
`-194
`
`/A (AZAS//
`
`95
`
`2
`y
`4
`
`-93h
`(WPGAA/WA0/W/AA (W)
`–93;
`r a wov ()
`-193k
`--- 4 Acr (a)
`4 stovsc, (s)-93.
`---A p in ()|-193m
`
`- - - - - - - - - - - - - - - - - - - - - - -
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
`
`EX 1009 Page 2
`
`

`

`U.S. Patent
`US. Patent
`
`Jun. 10, 2003
`Jun. 10, 2003
`
`Sheet 2 of 8
`Sheet 2 0f 8
`
`US 6,577,596 B1
`US 6,577,596 B1
`
`Off?
`SN
`
`com
`
`
`
`27 59/-/
`
`35£538N65K
`
`2N
`
`EX 1009 Page 3
`
`EX 1009 Page 3
`
`

`

`U.S. Patent
`US. Patent
`
`Jun. 10, 2003
`Jun. 10, 2003
`
`Sheet 3 of 8
`Sheet 3 0f 8
`
`US 6,577,596 B1
`US 6,577,596 B1
`
`
`
`
`

`
`£2
`
`m,“9K
`2° 0/-/
`
`EX 1009 Page 4
`
`EX 1009 Page 4
`
`
`
`

`

`U.S. Patent
`
`Jun. 10, 2003
`
`Sheet 4 of 8
`
`US 6,577,596 B1
`
`40
`
`420
`
`
`
`O
`43
`
`440
`AAF () ()
`
`450
`
`-- peopoa II so
`
`460
`
`43
`
`
`
`432
`
`AAFWF (A/A
`
`A/G 44
`
`460
`
`even
`
`460
`
`A f (IASS 450
`430
`--
`
`pore pasto a an on
`
`N--
`4
`
`480
`
`470
`
`
`
`
`
`
`
`
`
`
`
`410
`
`420
`
`a
`
`460
`
`40
`
`420
`
`460
`
`A/G 4A
`
`Yo
`
`430
`
`0/ASS
`AAF
`MM
`
`450
`
`-- peopoa II score
`
`N--
`442
`460
`
`470
`
`400
`
`APA/AWW (A/A
`
`AAAAAW MJA
`
`A/G 4C
`
`EX 1009 Page 5
`
`

`

`U.S. Patent
`US. Patent
`
`Jun. 10, 2003
`Jun. 10, 2003
`
`Sheet 5 0f 8
`Sheet 5 of 8
`
`US 6,577,596 B1
`US 6,577,596 B1
`
`
`
`\l
`V:
`0,79
`3w:
`u:
`E
`
`7%)/6/////
`
`R
`
`%
`
`OOI
`
`009
`
`!)
`
`§_%

`LO
`
`0
`K
`3““g
`
`[‘3
`Q5
`L?
`
`3S
`VMSB
`\l
`U")
`
`|
`
`511
`
`512
`
`515
`
`514
`
`EX 1009 Page 6
`
`EX 1009 Page 6
`
`

`

`US. Patent
`
`Jun. 10, 2003
`
`Sheet 6 0f 8
`
`US 6,577,596 B1
`
`EE§Q
`
`-5%«xx&§§§£2$33
`
`3%:..@é§
`
`
`
`EEKKb§§Sm.3:588
`
`«3E
`
`&Q33%fi§§§§
`
`KKKKKKK
`
`KKKEK
`
`KKQQKKKS»
`
`xx”KmE
`
`«$th
`
`§$K$$wSKKKuw
`
`%E3KEKV3%quKK
`
`KKKIEEEEGVK
`
`t§¢§§
`
`
`
`KKKI3.3KKKKK“5%qumwKuKKK
`
`‘KKKKKK
`
`KKKRVK
`
`KKRQKKKKK
`
`
`
`KKKSK
`
`w2%$§
`
`§§\K
`
`NEE
`
`mm“9K
`
`NEE
`
`5%\é
`
`awnK.NSK
`
`KKKIa.
`
`NEE
`
`“ERé
`
`MESé
`NEE
`
`EX 1009 Page 7
`
`EX 1009 Page 7
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`US. Patent
`
`Jun. 10, 2003
`Jun. 10, 2003
`
`Sheet 7 of 8
`Sheet 7 0f 8
`
`US 6,577,596 B1
`US 6,577,596 B1
`
`
`
`S.
`540
`
`3.
`600
`
`s
`F/G.6
`
` PHYS/6,41
`
`EX 1009 Page 8
`
`EX 1009 Page 8
`
`

`

`U.S. Patent
`US. Patent
`
`Jun. 10,2003
`Jun. 10, 2003
`
`Sheet 8 0f8
`Sheet 8 of 8
`
`US 6,577,596 B1
`US 6,577,596 B1
`
`541
`
`2
`CNU
`
`1
`y
`
`s
`1000
`/ 3 Sr:
`s is
`s
`\-A
`/
`”—
`V
`I
`
`s
`F/G.7,4
`
`
`
`s s
`”,7=55
`
`”AI—I
`
`E
`711
`
`ic
`611
`
`S
`723
`
`S.
`724
`
`WW
`WN-.x
`
`S
`‘1‘
`S C
`¥__$
`SS S Q

`10
`K
`
`o
`E
`§‘—f&‘
`
`S C s-s
`
`F76373
`
`7346'
`
`s
`752
`
`e
`751
`
`e
`750
`
`o
`K
`3:“:
`
`O
`$““25
`
`EX 1009 Page 9
`
`EX 1009 Page 9
`
`

`

`US 6,577596 B1
`
`1
`METHOD AND APPARATUS FOR PACKET
`DELAY REDUCTION USING SCHEDULING
`AND HEADER COMPRESSION
`
`BACKGROUND
`The present invention relates to multiplex communication
`Systems for transferring information in packets and more
`particularly, to Scheduling and header compression of pack
`ets in a multilayered network architecture.
`Modern communications networks carry increasing
`amounts of packet traffic which is associated with real-time
`Voice, Video, and related data. The Internet, for example, is
`Seeing many new applications which take advantage of what
`is a relatively less costly alternative to conventional tele
`phone call connections for Sending a variety of data includ
`ing real time Voice and Video. Trends toward real time
`applications over the Internet are driven in part by increas
`ingly powerful computers being installed in private homes
`and the proliferation of the Internet as a focal point for
`Various on-line activities Such as holding voice
`conversations, listening to music, watching video clips, and
`the like. Unlike Internet communications which occur
`between computers on high bandwidth commercial
`connections, bandwidth in a typical home is limited by
`connectivity constraints imposed by modem Speed, line
`quality, and the like.
`Further compounding the basic problem of limited
`bandwidth, is the limitation on the amount of actual infor
`mation transmitted as a result of packet Overhead due to
`protocol headers. Basic Internet protocols were developed
`primarily for making Sure that packets were delivered accu
`rately end to end at a time when little consideration was paid
`to real time issues.
`Three layer interface architectures including protocols
`Such as X.25, for example, were developed for controlling
`transfer at the lower levels while higher layer protocols were
`developed to control more Sophisticated functions (see,
`“Open Systems Interconnect (OSI)-New International
`Standards Architectures and Protocols for Distributed Infor
`mation Systems,” special issue, Proceedings of the IEEE, H.
`C. Folts and R. des Jardins, eds., vol. 71, no. 12, December
`1983). According to the design philosophy, lower layer
`functions were contemplated to be “transparent to higher
`layer functionality and thus much of what can be accom
`plished at the lower layers is limited only by the ability of
`lower layer hardware and Software to preserve that trans
`parency. At the lowest layer, the Physical Layer, a protocol
`Specification governs the physical connection between
`devices, Such as, for example, the X.21 protocol. Next, the
`Data Link Layer Specifies the protocol for, for example,
`accepting packets from higher layerS and placing them into,
`for example, HDLC frames for transfer across the Physical
`Layer. The Data Link layer further may accept framed
`information from the Physical Layer and unpack it for
`transfer up to the Network Layer. At the Network Layer, or
`packet layer, multiple logical connections may be estab
`lished and addresses attached to packets based on Several
`assumptions including that Successful end to end delivery is
`not guaranteed, that orderly delivery is not guaranteed, and
`that packets or "datagrams' are delivered one at a time each
`containing information Such as destination address, and the
`like.
`It is important to note that while various lower layers are
`discussed herein, datagrams from higher layerS may form
`the input to a Network Layer proceSS or System, which in
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`turn provide input to Successively lower layers, and even
`tually to the destination. Higher layer datagrams input to a
`Network Layer entity may be input from, for example, a
`Transport Layer process or System. A typical and well know
`transport layer protocol is the Transport Control Protocol
`(TCP) although other Transport Layer protocols are known
`and used. In particular, the User Datagram Protocol (UDP)
`may often be used as a Transport Layer protocol. UDP is a
`protocol which defines a connectionless datagram Service. A
`Transport Layer process or System implementing UDP may
`produce Self-contained data packets which include destina
`tion routing information.
`A ubiquitous protocol for Network Layer communica
`tions over the Internet is the Internet Protocol (IP). The IP
`Specification includes an enumeration of fields associated
`with the IP header which fields contain information about an
`asSociated packet including information for determining
`how the packet should be delivered. The IP header fields will
`be described in greater detail herein below. For a more
`complete understanding of the contents of the IP header, See
`“Internet Protocol Specification”, E. J. Postel, SRI
`International, Menlo Park, Calif., September 1981, RFC791.
`For Data Link Layer communications, Point-to-Point
`Protocol (PPP) has become a dominant protocol. PPP
`includes three main components: a method of encapsulating
`multi-protocol datagrams, a datagram being a unit of trans
`mission in the network layer (Such as IP), a link control
`protocol (LCP) for establishing, configuring and testing the
`data-link connection, and a family of network control pro
`tocols (NCP) for establishing and configuring different
`network-layer protocols.
`PPP is designed to transport packets between two
`So-called peers, i.e. the two ends of a link conforming to the
`protocol. Accordingly, the LCP may be used to agree upon
`the encapsulation format options, handle varying limits on
`sizes of packets, detect configuration errors, and terminate
`the link. Other optional facilities are the authentication of the
`identity of its peer on the link, and the determination when
`a link is functioning properly and when it is failing. PPP
`linkS-provide full-duplex Simultaneous bidirectional opera
`tion. A definition of PPP may be found in the Networking
`Group Request for Comments RFC 1661, “The Point to
`Point Protocol” editor W. Simpson, July 1994.
`Communication across a link established using PPP is
`accomplished Such that a datagram associated with a pro
`tocol may be encapsulated into one or more frames. A frame,
`as described above, may include a header and/or a trailer,
`along with Some number of units of data. However, it is
`conventional that an entire packet is mapped into a frame.
`Conventional framing breaks down however during condi
`tions of heavy network congestion where fragmentation
`methods may be used to improve flow control management.
`Such congestion has arisen due to, among other factors, the
`increase in traffic caused by increased numbers of greater
`bandwidth connections provided by, for example, multilink
`service. Since both basic and primary rate ISDN, for
`example, allow for multiple Simultaneous channels between
`Systems to allow for bandwidth on demand, problems asso
`ciated with Such Services must be addressed. Congestion
`giving rise to latency may be a particular problem for real
`time data Such as voice or video, VoIP. Telnet, and the like.
`Such real time data formats have little or no tolerance to
`packet latency, jitter, packet reordering and related prob
`lems. Problems associated with the multilink environment
`only amplify the unique real time packet data requirements.
`To ease congestion in the multilink environment, one
`Solution known as Link Fragmentation and Interleaving
`
`EX 1009 Page 10
`
`

`

`US 6,577596 B1
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`15
`
`3
`(LFI) is proposed in the White Paper entitled “Cisco IOSTM
`Software Quality of Service Solutions”, Apr. 8, 1999, by
`Cisco Systems. In LFI, delay and jitter are reduced by
`breaking up large datagrams and interleaving time Sensitive
`packets with the resulting packet fragments. LFI is contem
`plated for relatively low speed links where Serialization
`delay is the predominant delay factor. LFI Simply requires
`that PPP be configured to allow for interleaving. Otherwise,
`LFI is transparent to PPP.
`A similar Solution is proposed in Internet Engineering
`Task Force (IETF), INTERNET-DRAFT, “Multi-Class
`Extension to Multi-Link PPP”, June 1999, expires: Decem
`ber 1999, by Carsten Borman. Here, a fragment oriented
`Solution may be found for the real time encapsulation of
`format which is part of the standard architecture of, for
`example, integrated Services communications linkS.
`Certain problems associated with conventional LFI,
`multi-link PPP, and related data transfer may best be illus
`trated by an example. The transfer of a 1.5 kbyte packet on
`a 28.8 kbit/s modem link may occupy the link, making it
`unavailable for data transfer of packets associated with other
`links in the multi-link environment, for upwards of 400 ms.
`Such delay may create round trip delays associated with
`interactive real time data, Such as a Voice conversation, of
`close to a Second. By fragmenting packets of various pri
`orities larger than a predetermined size high priority packets
`or fragments thereof may be sent between fragments of
`lower priority packets. Existing multi-link PPP specifica
`tions already provide for fragmentation by providing
`sequence numbers and begin and end bits in the PPP
`encapsulation format. However, existing multi-link PPP
`does not provide for the Suspension of transfer of fragments
`of one packet in order to Send another, due to contiguous
`packet numbering Schemes. The Solution proposed by
`Borman, Supra, includes running multiple multi-link proto
`col instances on the same link allowing for nesting of
`multiple Suspendable classes using unused bits in the multi
`link PPP protocol to specify class numbers. Accordingly,
`fragments belonging to a particular class can be sent without
`the multi-link header and four to twelve levels of suspension
`may be achieved depending on the number of header bits.
`Regardless of the methods of Scheduling fragments
`contemplated, problems arise in implementation. In
`particular, it should be noted that the lower three protocol
`layerS and associated protocols including, for example,
`UDP, IP, and PPP, along with the physical layer typically
`reside on hardware resources, Such as routers, which may
`introduce limitations that are detrimental to the benefits
`gained from fragmentation and other Scheduling methods. In
`particular, a router, for example, may typically queue out
`bound packets together in the same transmit queue once
`priority or the like has been established. The configuration of
`a typical outbound packet queue is generally First In First
`Out (FIFO) and has a level of intrinsic delay associated with
`the queue depth. Further, a router experiencing high traffic
`levels and using a typical outbound packet queue raises the
`possibility of packet dropping when congestion occurs, even
`when using LFI, multi-link PPP or the like. If packets are
`forced to be dropped from downstream queues after IP
`Scheduling occurs, problems related to packets received out
`of Sequence may occur. Depending on the link configuration,
`request for retransmission of the missing packets, for
`example, may cause delay and degradation of real time data.
`Packet dropping can be particularly troubleSome when
`used in conjunction with other methods of reducing con
`65
`gestion Such as, for example, header compression. By com
`pressing or discarding certain portions of information con
`
`4
`tained in a typical header, header compression methods
`reduce the Overall size of the datagram or packet. This is
`particularly important in the case of Small packets typically
`used for real time data transfer applications where the header
`may represent close to 100% packet overhead. Although,
`header compression may be performed at various Stages,
`problems arise due to an assumption which must be made in
`the art when using header compression that packet reorder
`ing or resequencing, including the effects of packet
`dropping, will not occur. Approaches for dealing with this
`problem adds nearly as much header overhead as was Saved
`originally with header compression techniques. For more
`general information on header compression See Internet
`Engineering Task Force (IETF), INTERNET-DRAFT, “Pro
`viding Integrated Services Over Low-bitrate Links”, June
`1999, expires: December 1999, by Carsten Borman, and see
`also Networking Group Request for Comments RFC 1144,
`“Compressing TCP/IP Headers for Low-Speed Serial
`Links”, editor V. Jacobson, February 1990.
`On Slow links, as described, time Sensitive packets can not
`afford to wait for the completion of, for example a long Best
`Efforts (BE) data packet. Using IP fragmentation may
`improve latency for Such packets, but at a cost of adding a
`header of around 20 bytes for each Segment. Another Solu
`tion is to use Multi-link PPP segmentation that adds a header
`of 2 or 4 bytes to each Segment. Such headers are designed
`to propagate Scheduling information to the Segments or
`fragments. Header compression, however, makes IP Sched
`uling difficult. When header compression is used, informa
`tion including the identification field in the IP header
`becomes unavailable to lower layers after compression. If a
`HC packet is dropped, the resulting missing Sequence num
`ber at the receiver will cause problems on the link, as
`previously described, Since the receiver will, for example,
`request retransmission of the dropped packet and the layer
`responsible will be unable to identify which packet was
`dropped and will thus be unable to request the dropped
`packet from higher layers, introducing further delay and
`degradation of quality.
`Therefore, it would be appreciated in the art for a method
`and apparatus which handles Scheduling and reduces the
`adverse effects on Scheduling imposed by header compres
`Sion on dropped packets. Such a method and apparatus
`would operate without disruption of the operation of the IP
`layer allowing generic IPScheduling on pure IP packets with
`header compression.
`
`SUMMARY
`It is therefore an object of the present invention to provide
`a method and apparatus for reducing packet delay using
`Scheduling and header compression.
`It is a further object of the present invention to provide
`Such a method and apparatus at various layers within a
`multi-layer protocol implementation.
`Therefore, in accordance with one aspect of the present
`invention, the foregoing and other objects are achieved in a
`method and apparatus for reducing delay in the transmission
`of a plurality of packets. The packets may have a plurality
`of classifications according to a multi-layer protocol having
`at least a higher layer, and a lower layer. Packets may be
`Scheduled according the associated classifications. If con
`gestion occurs during Scheduling, packets which cannot be
`Scheduled may be discarded. After Scheduling and discard
`ing Some packet headers may be compressed and,
`accordingly, Sequence information may be preserved.
`In accordance with another embodiment of the present
`invention, packets may be queued in a first and a Second
`
`EX 1009 Page 11
`
`

`

`S
`queue, after Scheduling, discarding, and compressing,
`according to at least two of the plurality of classifications,
`the first queue having priority over the Second queue. For
`example, one the two possible classifications may include
`Best Efforts classification Such that queuing would include
`determining whether packets are classified as Best Efforts
`packet and if So, queuing Best Efforts packets into, for
`example, the Second queue.
`It should be understood that a number of classifications
`may be included which may be associated with, for example,
`QoS levels as may be found in an IP header associated with
`a packet. Classifications may also be associated with a
`plurality of delay factors and it may be preferable to estab
`lish a plurality of queues based on the plurality of classifi
`cations. Accordingly, each packet may be queued into one of
`the plurality of queues based on an associated classification.
`In accordance with yet another embodiment of the present
`invention, the plurality of classification may be associated
`with Link Fragmentation and Interleaving (LFI) as described
`herein above. Alternatively, the plurality of classifications
`may be associated with Multilink PPP as also described
`herein above.
`It should further be noted that in accordance with the
`present invention, Scheduling may be performed at the
`higher or lower layers, wherein the lower layer may include
`a PPP layer as described above. The lower layer may further
`include an HDLC layer and when scheduling is performed
`therein, a tag may be created for each of the packets prior to
`header compression. The tag may be added thereafter and
`may be removed prior to transmitting. Each packet from the
`first and the Second queue may be queued in an outbound
`packet queue having a queue depth of no greater than one.
`BRIEF DESCRIPTION OF THE DRAWINGS
`The objects and advantages of the invention will be
`understood by reading the following detailed description in
`conjunction with the drawings, in which:
`FIG. 1 is a diagram illustrating an exemplary compressed
`datagram and format using TCP/IP;
`FIG. 2 is a diagram illustrating exemplary Link Fragmen
`tation and Interleaving;
`FIG. 3 is a diagram illustrating exemplary priority queu
`Ing,
`FIG. 4A is a diagram illustrating an exemplary fragmen
`tation format for multilink PPP;
`FIG. 4B is a diagram illustrating an exemplary fragmen
`tation format accommodating multiple classes and short
`sequence numbers for multilink PPP;
`FIG. 4C is a diagram illustrating an exemplary fragmen
`tation format accommodating multiple classes and long
`sequence numbers for multilink PPP;
`FIG. 5A is a diagram illustrating exemplary pure IP
`Scheduling in accordance with the present invention;
`FIG. 5B is a flowchart illustrating exemplary pure IP
`Scheduling in accordance with the present invention;
`FIG. 6 is a diagram illustrating exemplary IPScheduling
`at the PPP layer in accordance with the present invention;
`FIG. 7A is a diagram illustrating exemplary IPScheduling
`at the HDLC layer in accordance with the present invention;
`and
`FIG. 7B is a diagram illustrating exemplary tag attached
`to a compressed header at the HDLC layer in accordance
`with the present invention.
`DETAILED DESCRIPTION
`Therefore in accordance with the present invention a
`method and apparatus are provided which allow header
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,577596 B1
`
`6
`compression to be used in conjunction with IPScheduling at
`various layers in a network node Such as a router, line
`interface card, or the like.
`It should be noted that in accordance with the present
`invention, header compression of IP packets may be per
`formed as described herein at various Stages according to
`particular embodiments of the present invention. An exem
`plary compressed header format is illustrated in FIG. 1
`which might result from, for example, a header compression
`operation on a typical TCP/IP header. As was previously
`noted, TCP is used herein to exemplify a transport layer
`protocol although other transport layer protocols, preferably
`UDP, may also be used in accordance with the present
`invention. AS can be seen, important information may be
`carried over into the compressed packet and may be inter
`preted through processing of, for example, change mask 193
`which indicates which of the fields expected to change
`actually change. Bits 193a–193g may be used to indicate
`these changes as the compressed header format may typi
`cally be made up of the fields which are expected to change
`during the course of a connection or packet Session. Con
`nection number field 194 may contain a value which allows
`a receiver to locate a Saved copy of the last packet from the
`particular connection indicated for the purposes of compar
`ing the previous value of, for example, change mask 193
`with its present value. TCP checksum field 195 contains a
`checksum for the compressed header calculated in a manner
`known in the art. Urgent pointer 193h contains a value
`pointing to urgent data. The remaining fields represent
`changes in the values for the associated fields, for example,
`A window field 193j represents the change in window field
`and thus may be represented using a Smaller value reducing
`the size of the field from two octets to one. Likewise, A ack
`field 193k, represents the change in acknowledgment num
`ber field and uses one octet instead of four. A sequence field
`193l represents the change in Sequence number field and,
`again, results in a reduction from four octets to one. A IP ID
`field 193m represents the change in Packet ID field from an
`asSociated IP header and may result in a reduction in size
`from two octets to one. Finally data field 196 may follow at
`the end of compressed header fields as shown. It should be
`noted that in the case where, for example, no changes are
`present between packets, fields 193h-193m may be omitted
`and data field 196 may follow directly behind TCP check
`Sum field 195. It should be noted that the above mentioned
`fields may be associated with an exemplary IP packet with
`header compression performed thereon. It may further be
`possible to reduce the number of fields compressed or to
`compress an incoming IP packet and Simply include a tag in
`accordance with the teachings of the present invention.
`With an understanding of the fundamental nature of
`multilayer protocols, it is possible to appreciate the prob
`lems associated with congestion control in links carrying
`multiple data types, (e.g. real time, Best Efforts, and the like)
`which may be header compressed. These problems are
`particularly troublesome at layers below the layer which
`header compression occurred on especially when packets are
`Scheduled prior to header compression and then discarded
`due to congestion after compression has been performed.
`During periods of congestion it is often the case that packets
`awaiting transfer must be Scheduled or queued using Several
`known methods. FIG. 2 illustrates an exemplary network
`node 200 using a typical network Service Stack having the
`lower three layers. Exemplary data packets 211, 212, and
`213 are shown entering network layer 210, where process
`215 may decide based on the time sensitivity, shown, for
`example with reference to packet 212 as D, with D
`
`EX 1009 Page 12
`
`

`

`7
`indicating the highest time Sensitivity and D indicating a
`relatively lower time Sensitivity, where to position incoming
`packets for transfer within queues 221, 222, 223, 224 of
`Link Fragmentation and Interleaving (LFI) layer 220. It can
`be seen that LFI layer 220 may occupy at least a portion of
`data link layer 230. Packets in queue D 224 may be sent
`first, then D 223, D 222, and D 221. Long packets Such
`as represented by packet 213 may be fragmented into
`Smaller packets as represented by packetS 213a, 213b, and
`213d. AS long packets are generally of a lower priority, high
`priority packets associated more often with real time data
`Such as voice, audio, or Video, Such as represented by
`packets 214a, 214b, and 214c may be accumulated prior to
`transfer in queue 224. AS packets enter queues 221-224 they
`are transferred to the physical layer by process 231 which
`may be a typical data link proceSS Such as HDLC or the like
`where they can be processed in FIFO transmit queue 232 and
`output to physical link 233.
`Notwithstanding LFI methods as described above, once
`packets are fragmented, they may be queued according to,
`for example, a conventional priority queuing Scheme, an
`example of which is illustrated in FIG. 3, or may be queued
`according to a Suitable derivative thereof. Exemplary net
`work node 300 is shown having a priority queuing imple
`mentation with queues 311-314 ranging from Low to High
`priority respectively. Packets 315, 316, and 317, for
`example, arrive at network layer 210 with different priorities
`as may be determined by the contents of, for example, QoS
`information included with an IP header typically associated
`with each of packets 315, 316, and 317 respectively. High
`priority packet 317, for example, may be placed in high
`priority queue 314 by process 320. Incoming medium pri
`ority packet 315 and low priority packet 316 may be placed
`respectively in medium priority queue 313 and low priority
`queue 311 by process 320 when arriving at network layer
`210. Priority queuing may take place at layer 310 which may
`be equivalent to data link layer 230 or an alternative protocol
`layer such as a PPP layer or the like which interfaces with
`data link layer 230. Outbound packets 318a–318d are sent to
`proceSS 231 for queuing in transmit queue 232 according to
`priority with high priority outbound packet 318a being sent
`first as shown. Outbound packets 318a–318d may then be
`transferred to the physical layer by process 231 which may
`be a typical data link process such as HDLC or the like
`where they can be processed in FIFO transmit queue 232 and
`output to physical link 233.
`While LFI and priority queuing described in conjunction
`with FIG. 2 and FIG. 3 may allow for packets to be
`processed more efficiently, it is important to note that
`efficient processing relies on accurate header information
`most often associated with, for example, an IP header for
`priority queuing and for packets which have been
`fragmented, Sequence information is crucial. At lower layers
`however, Such information may not be as readily available
`and in the case of compressed IP headers, Such information
`is unavailable until the IP packet is decompressed. Frag
`mentation at lower layerS require additional header infor
`mation to track fragments peer to peer. It should be noted
`that in a layered protocol it is possible to have fragmentation
`at multiple layers, however each layer must track fragmen
`tation and certain data types may not tolerate certain anoma
`lies which are m

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket