throbber
I 1111111111111111 11111 lllll lllll lllll 111111111111111 11111 111111111111111111
`US008514871B2
`
`c12) United States Patent
`Anschutz et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 8,514,871 B2
`Aug. 20, 2013
`
`(54) METHODS, SYSTEMS,AND COMPUTER
`PROGRAM PRODUCTS FOR MARKING
`DATA PACKETS BASED ON CONTENT
`THEREOF
`
`(75)
`
`Inventors: Thomas Arnold Anschutz, Conyers, GA
`(US); Edgar Vaughan Shrum, Jr.,
`Smyrna, GA (US)
`
`(73) Assignee: AT&T Intellectual Property I, L.P.,
`Reno, NV (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 501 days.
`
`(21) Appl. No.: 11/491,859
`
`(22) Filed:
`
`Jul. 24, 2006
`
`(65)
`
`Prior Publication Data
`
`US 2008/0019371 Al
`
`Jan.24,2008
`
`(51)
`
`(2006.01)
`(2006.01)
`
`Int. Cl.
`H04L 12128
`H04L 12156
`(52) U.S. Cl.
`USPC ............................ 370/412; 370/235; 370/468
`( 58) Field of Classification Search
`USPC .......................................................... 370/235
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`6,205,150 Bl*
`3/2001 Ruszczyk ..................... 370/412
`6,222,841 Bl*
`4/2001 Taniguchi ..................... 370/389
`6,381,649 Bl*
`4/2002 Carlson ......................... 709/235
`2/2006 Agrawal et al.
`7,006,440 B2
`7,114,002 Bl*
`9/2006 Okumura et al. ............. 709/232
`
`7,320,037 Bl*
`2001/0036157 Al *
`2003/0112814 Al
`2004/0085964 Al *
`2005/0163048 Al*
`2006/0164978 Al *
`2006/0174035 Al *
`2010/0091676 Al*
`
`.......... 709/236
`1/2008 Maturi et al.
`11/2001 Blanc et al. ................... 370/235
`6/2003 Modali et al.
`5/2004 Vaananen .................. 370/395.4
`7/2005 Arora et al. ................... 370/230
`7/2006 Werner et al.
`. ......... 370/229
`8/2006 Tufail
`........................... 709/239
`4/2010 Moran et al. .................. 370/252
`
`OTHER PUBLICATIONS
`
`Chen et al. "Network Architecture to Support QoS in Mobile Ad Hoc
`Networks", Dept. Elec. and Comp. Eng. Univ. of Rochester, NY pp.
`1-4.
`G. Jin "Packet Drop Avoidance for High-speed Network Transmis(cid:173)
`sion Protocol", Distributed Systems Dept. Lawrence Berkeley Nat.
`Lab. pp. 1-5.
`"Digital Video Broadcasting (DVB); Transport of MPEG-2 Based
`DVB Services over IP Based Networks", ETSI TS 102 034vl.l.l pp.
`1-91 (2005).
`
`* cited by examiner
`
`Jae Y Lee
`Primary Examiner -
`(74) Attorney, Agent, or Firm - Myers Bigel Sibley &
`Sajovec, P.A.
`
`ABSTRACT
`(57)
`A method of encoding data for distribution over a network
`includes determining a relative importance of content of a
`data packet associated with a predetermined class-of-service
`as compared to content of other data packets associated with
`the predetermined class-of-service. The data packet is
`marked to indicate the relative importance of the content
`thereof within the predetermined class-of-service. For
`example, based on the information contained in the data
`packet, the data packet may be marked as discard-eligible.
`The data packet is selectively discarded based on the marking
`thereof. Related methods, systems, and devices are also dis(cid:173)
`cussed.
`
`6 Claims, 5 Drawing Sheets
`
`Router
`lli
`
`326c
`
`399a
`
`I .._I __ 39_9_b __,
`Outgoing Packets m
`
`High Priority Queue 305
`
`3268
`1..-0-•E-2 -30-4a-
`
`0~2 304b
`
`DE1
`
`304c
`
`304d
`
`326b
`
`314b
`
`I ~I __ 31_4c___,I ~I __ 31_4d___,~
`
`396
`I
`I DE
`
`394c
`
`I ~I __ 39_4d_J,
`
`Incoming Packets 302
`
`Medium Priority Queue .3.10.
`
`330
`
`327
`
`340
`
`324b
`
`I I ~ - -~
`
`324c
`
`DE
`
`324d
`
`Low Priority Queue ill
`
`VMWARE 1020
`
`

`

`"'""' = N
`
`-....l
`00
`"'""' ~
`tit
`00
`d r.,;_
`
`112
`
`Data Out
`
`lli
`
`Destination Device
`
`11l
`
`Decoder
`
`0 ....
`....
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`Ul
`
`0 ....
`N
`~o
`N
`~
`~
`
`~
`
`~ = ~
`
`~
`~
`~
`
`00 .
`~
`
`115b
`Router
`
`-I
`
`111111
`
`llQ
`
`Inspection
`
`Packet
`Deep
`
`FIG. 1
`
`120
`
`Network
`
`/100
`
`125
`
`Gateway
`
`115a
`Router
`
`Fire H
`
`108
`wall
`
`Encoder
`
`107
`
`.1Q.5.
`
`Source Device
`
`102
`
`Data In
`
`

`

`U.S. Patent
`U.S. Patent
`
`Aug. 20, 2013
`0
`
`Sheet 2 of 5
`5
`
`us 8,514,871 B2
`
`US 8,514,871 B2
`
`
`
`
`
`2EEm3wVNNNNN8Ng{¥M<
`
`
`
`
`
`
`
`
`
`
`
`.3me.owwNhmwmENMN}NIIWII}3\J\JWJ\llrl\1ENDflDAMA
`
`
`
`owE>uwNzwxoma.wuoocmUNONQNONnNONmNom
`
`
`
`
`
`MON
`
`033uwNzwxomaMdum.
`
`Emgw82>
`
`
`
`
`
`
`
`
`
`.mBUMDMDIIEEAAUa2EmwbmowE>aFLMJ\
`
`.38.8828”Sow
`
`
`
`UVONovomnvommvom
`
`WII}I)\II
`
`NGE
`
`
`
`

`

`"'""' = N
`
`-....l
`00
`"'""' ~
`tit
`00
`d r.,;_
`
`FIG. 3
`
`~
`
`('D
`('D
`
`0 ....
`.....
`rJJ =(cid:173)
`
`Ul
`
`0 ....
`N
`~o
`N
`~
`~
`
`~
`
`~ = ~
`
`~
`~
`~
`
`00 .
`~
`
`Low Priority Queue 325
`
`'324d
`
`324c I
`
`l I
`
`324b
`
`340
`
`327
`
`330
`
`Outgoing Packets 320
`
`\
`
`399b
`
`] I
`
`399a
`
`Medium Priority Queue 310
`
`Incoming Packets 302
`
`314d
`
`I I
`
`314c
`
`I I
`
`314b
`
`326b
`
`394d 1
`
`1
`
`I I
`
`394c
`
`I bE
`L
`396
`
`~04d
`
`I ,□E1 304c
`
`I DE2 304b
`
`I
`
`304a
`
`~E2
`
`326c
`
`High Priority Queue 305
`
`326a't
`
`ill
`Router
`
`

`

`U.S. Patent
`
`Aug. 20, 2013
`
`Sheet 4 of 5
`
`US 8,514,871 B2
`
`Begin
`
`Determine A Relative Importance Of Content Of
`A Data Packet Associated With A Predetermined
`Class-Of-Service As Compared To Content Of
`Other Data Packets Associated With The
`Predetermined Class-Of-Service
`
`Mark The Data Packet To Indicate The Relative
`Importance Of The Content Thereof Within The
`Predetermined Class-Of-Service
`
`400
`
`410
`
`End
`
`FIG. 4
`
`Begin
`
`Begin
`
`Selectively Discard A Data Packet Associated
`With A Predetermined Class-Of-Service
`Based On A Marking Thereof Indicating A
`Relative Importance Of Content Of The Data
`Packet As Compared To Content Of Other
`Data Packets Associated With The
`Predetermined Class-Of-Service
`
`600
`
`End
`
`FIG. 6
`
`Determine Information Contained In A Data
`Packet
`
`Mark The Data Packet As Discard-Eligible
`Based On The Information Contained Therein
`
`500
`
`510
`
`End
`
`FIG. 5
`
`

`

`U.S. Patent
`
`Aug. 20, 2013
`
`Sheet 5 of 5
`
`US 8,514,871 B2
`
`Begin
`
`Determine Content Of A Data
`Packet Associated With An MPEG(cid:173)
`Encoded Video Stream
`
`Mark The Data Packet As Discard(cid:173)
`Eligible When The Content Of The
`Data Packet Does Not Include An
`Intra-Coded (I) Picture Of The
`MPEG-Encoded Video Stream
`
`Selectively Discard The Data
`Packet Based On The Marking
`Thereof Indicating That The
`Content Thereof Does Not
`Comprise An Intra-Coded (I)
`Picture Of A MPEG-Encoded Video
`Stream
`
`700
`
`710
`
`720
`
`End
`
`FIG. 7
`
`

`

`US 8,514,871 B2
`
`1
`METHODS, SYSTEMS, AND COMPUTER
`PROGRAM PRODUCTS FOR MARKING
`DATA PACKETS BASED ON CONTENT
`THEREOF
`
`FIELD OF THE INVENTION
`
`The present invention relates to connnunications networks,
`and, more particularly, to the distribution of data packets over
`communications networks.
`
`BACKGROUND OF THE INVENTION
`
`Connnunications networks are widely used for nationwide
`and worldwide connnunication of voice, multimedia and/or
`data. As used herein, connnunications networks include pub(cid:173)
`lic connnunications networks, such as the Public-Switched
`Telephone Network (PSTN), terrestrial and/or satellite cellu(cid:173)
`lar networks, and/or the Internet.
`Current network technology may provide connnunication
`services using packet technology. Packetization is the break(cid:173)
`ing-up of a data file and/or continuous stream of data into
`discrete segments. As such, a packet may include a relatively
`small portion of the data, which may be transmitted as a single
`unit from a source node on a network to a destination node on
`the network. The packet may include the data as well as
`addressing, routing, and/or reliability information in the form
`of headers and/or trailers to enable the network's connnuni(cid:173)
`cation protocols to deliver the data within the packet to the
`intended recipient, and to ensure that the data arrives intact
`and/or without corruption. Breaking connnunications into
`packets may also allow the same data path to be shared among
`many users in the network. Such use, however, may result in
`network congestion and resultant delays in receipt of com(cid:173)
`munications. For example, network traffic may fill input
`queues in destination systems faster than processing mecha(cid:173)
`nisms can distribute the content, which may thereby cause a
`bottleneck in the connnunication process.
`It is known to utilize various methods of traffic manage(cid:173)
`ment in an attempt to alleviate bottlenecks of this kind. For
`example, multiple transmit queues may be made available in
`order to provide enhanced quality of service ("QoS") based
`on the preferential treatment of some packets over others.
`More particularly, queues of varying priority levels ( e.g., one
`queue per priority level) may be provided into which packets
`may be stored while awaiting transmission on a network. For
`example, voice and/or video traffic may be sensitive to net(cid:173)
`work delays, and as such, may be assigned to a higher priority
`queue than other data. Many network communication proto(cid:173)
`cols, such as the Internet Protocol (IP), may provide the
`capability to specify a priority for a packet as a part of an IP
`header. Providing queues of varying priority levels may
`enable the network adapter to transmit higher priority packets
`before lower priority packets, even though the higher priority
`packets may have been queued subsequent to the lower pri(cid:173)
`ority packets.
`
`SUMMARY OF THE INVENTION
`
`According to some embodiments of the present invention,
`a method of encoding data packets for distribution over a
`network includes determining a relative importance of con(cid:173)
`tent of a data packet associated with a predetermined class(cid:173)
`of-service as compared to content of other data packets asso(cid:173)
`ciated with the predetermined class-of-service. The data
`packet is marked to indicate the relative importance of the
`content thereof within the predetermined class-of-service.
`
`2
`For example, the data packet may include a header section
`and a payload section, and the relative importance of the
`content of the pay load section may be determined. As such, a
`marker may be provided in the header section of the data
`packet to indicate the relative importance of the content of the
`payload section within the predetermined class-of-service.
`In some embodiments, the relative importance of the con(cid:173)
`tent of the data packet may be determined based on an amount
`of information carried in the payload section and/or based on
`10 particular information contained in the payload section.
`In other embodiments, the data packet may be marked as
`discard-eligible based on the relative importance of the con(cid:173)
`tent thereof. More particularly, the relative importance of the
`content of the data packet may be determined based on
`15 whether a file and/or data stream associated with the packet
`can be presented at a predetermined level of quality by a
`destination device coupled to the network if the data packet is
`not received by a receiver thereof. As such, the data packet
`may be marked as discard-eligible when the file and/or data
`20 stream can be presented at the predetermined level of quality
`if the data packet is not received by the receiver.
`In some embodiments, the data stream may be a real-time
`data stream including voice data (such as IP telephony data),
`audio/video data (such as streaming multimedia data and/or
`25 video teleconferencing data), and/or interactive gaming data.
`In other embodiments, the data packet may be marked with
`a specific level of discard-eligibility based on the relative
`importance of the content thereof as compared to the content
`of the other data packets associated with the predetermined
`30 class-of-service.
`In some embodiments, the file and/or data stream may be
`an MPEG-encoded video stream. As such, the data packet
`may be marked as discard-eligible when the content of the
`data packet does not comprise an intra-coded (I) picture of the
`35 MPEG-encoded video stream. For example, the data packet
`may be marked as discard-eligible when the content of the
`data packet comprises a forward-predicted (P) picture and/or
`a bi-predictive (B) picture of the MPEG-encoded video
`stream. In addition, the data packet may be marked at a higher
`40 level of discard-eligibility when the content of the data packet
`comprises a bi-predictive (B) picture of the MPEG-encoded
`video stream.
`In other embodiments, the data packet may be selectively
`discarded based on the marking thereof indicating the relative
`45 importance of the content of the data packet.
`In some embodiments, the header of the data packet may be
`marked at an Application Layer of the Open Systems Inter(cid:173)
`connection (OSI) Reference Model.
`According to other embodiments of the present invention,
`50 a network device is provided that is configured to determine a
`relative importance of content of a data packet associated
`with a predetermined class-of-service as compared to content
`of other data packets associated with the predetermined class(cid:173)
`of-service. The network device is further configured to mark
`55 the data packet to indicate the relative importance of the
`content thereof within the predetermined class-of-service.
`For example, the network device may be an encoder, a fire(cid:173)
`wall, gateway, and/or deep packet inspection (DPI) router.
`According to further embodiments of the present inven-
`60 tion, a method of encoding data packets for distribution over
`a network includes determining information contained in a
`data packet. Based on the information contained in the data
`packet, the data packet is marked as discard-eligible. For
`example, in some embodiments, the information contained in
`65 the data packet may be a portion of an associated file and/or
`data stream. As such, an importance of the data packet to
`rendering the associated file and/or data stream at a destina-
`
`

`

`US 8,514,871 B2
`
`4
`In some embodiments, the data packet may be selectively
`discarded at a Network Layer of the Open Systems Intercon(cid:173)
`nection (OSI) Reference Model based on the marking of a
`header thereof.
`According to still further embodiments of the present
`invention, a network router device is provided that is config(cid:173)
`ured to selectively discard a data packet associated with a
`predetermined class-of-service based on a marking thereof.
`The marking indicates a relative importance of content of the
`data packet as compared to content of other data packets
`associated with the predetermined class-of-service. In addi-
`tion, the router may be configured to selectively discard the
`data present based on a marking thereof indicating that the
`data packet is discard-eligible.
`Other methods, systems, devices, and/or computer pro(cid:173)
`gram products according to other embodiments of the inven(cid:173)
`tion will become apparent to one with skill in the art upon
`review of the following drawings and detailed description. It
`is intended that all such additional methods, systems, devices,
`20 and/or computer program products be included within this
`description, be within the scope of the present invention, and
`be protected by the accompanying claims.
`
`15
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG.1 is a block diagram that illustrates a system for packet
`distribution according to some embodiments of the present
`invention.
`FIG. 2 is a block diagram illustrating an encoder config-
`30 ured to packetize data for distribution over a network accord(cid:173)
`ing to some embodiments of the present invention.
`FIG. 3 is a block diagram illustrating packet queuing in a
`router according to some embodiments of the present inven(cid:173)
`tion.
`FIG. 4 is a flowchart illustrating operations for packet
`distribution according to some embodiments of the present
`invention.
`FIG. 5 is a flowchart illustrating operations for packet
`distribution according to other embodiments of the present
`40 invention.
`FIG. 6 is a flowchart illustrating operations for packet
`distribution according to further embodiments of the present
`invention.
`FIG. 7 is a flowchart illustrating exemplary operations for
`packet distribution according to still further embodiments of
`the present invention.
`
`3
`tion device may be determined based on the information
`contained therein, and the data packet may be marked as
`discard-eligible based on the importance thereof.
`In some embodiments, the data packet may be marked with
`a specific level of discard-eligibility based on a relative
`importance thereof as compared to other data packets asso(cid:173)
`ciated with the file and/or data stream. For example, the data
`stream may be an MPEG-encoded video stream, and a data
`packet containing a bi-predictive (B) picture of the MPEG
`encoded video stream may be marked with a higher level of 10
`discard-eligibility than a data packet that does not contain a
`bi-predictive (B) picture, such as data packets containing
`intra-coded (I) pictures and/or data packets containing only
`forward-predicted (P) pictures of the MPEG encoded video
`stream.
`In other embodiments, the data packet may be associated
`with a predetermined class-of-service. The data packet may
`be marked with a specific level of discard-eligibility based on
`the relative importance thereof as compared to other data
`packets associated with the predetermined class-of-service.
`In some embodiments, the data packet may be selectively
`discarded based on the marking thereof indicating the relative
`importance of the information contained therein.
`According to still other embodiments of the present inven(cid:173)
`tion, a method of distributing data packets over a network 25
`includes selectively discarding a data packet associated with
`a predetermined class-of-service based on a marking thereof.
`The marking indicates a relative importance of content of the
`data packet as compared to content of other data packets
`associated with the predetermined class-of-service.
`In some embodiments, the data packet may be selectively
`discarded from a queue corresponding to the predetermined
`class-of-service based on the marking thereof. More particu(cid:173)
`larly, the data packet may be selectively discarded based on
`the marking thereof as compared to markings of other data 35
`packets stored in the queue and/or incoming data packets
`associated with the queue. For example, the data packet may
`be selectively discarded when a buffer of the queue is full
`and/or when network congestion exceeds a predetermined
`threshold.
`In other embodiments, the data packet may be selectively
`discarded from a first queue based on the marking thereof as
`compared to markings of data packets stored in and/or incom(cid:173)
`ing to a second queue. As such, bandwidth may be dynami(cid:173)
`cally allocated to the second queue based on an available 45
`bandwidth in the first queue after selectively discarding the
`data packet from the first queue.
`In some embodiments, the data packet may be selectively
`discarded based on a marking thereof indicating that the
`content of the data packet is discard-eligible. For example, the 50
`data packet may be selectively discarded based on the mark(cid:173)
`ing thereof indicating that the content thereof does not com(cid:173)
`prise an intra-coded (I) picture of a MPEG-encoded video
`stream. More particularly, the data packet may be selectively
`discarded based on the marking thereof indicating that the 55
`content of the data packet comprises a forward-predicted (P)
`picture and/or a bi-predictive (B) of the MPEG-encoded
`video stream.
`In other embodiments, the data packet may be selectively
`discarded based on the marking thereof indicating a specific 60
`level of discard-eligibility based on a relative importance of
`the content of the data packet as compared to information
`contained in other data packets. For example, the data packet
`may be selectively discarded based on the marking thereof
`indicating a higher level of discard-eligibility when the con(cid:173)
`tent of the data packet comprises a B picture of the MPEG(cid:173)
`encoded video stream.
`
`DETAILED DESCRIPTION OF EMBODIMENTS
`OF THE INVENTION
`
`Specific exemplary embodiments of the invention will now
`be described with reference to the accompanying drawings.
`This invention may, however, be embodied in many different
`forms and should not be construed as limited to the embodi-
`ments set forth therein. Rather, these embodiments are pro(cid:173)
`vided so that this disclosure will be thorough and complete,
`and will fully convey the scope of the invention to those
`skilled in the art. The terminology used in the detailed
`description of the particular exemplary embodiments illus-
`trated in the accompanying drawings is not intended to be
`limiting of the invention. In the drawings, like numbers refer
`to like elements.
`As used herein, the singular forms "a," "an," and "the" are
`intended to include the plural forms as well, unless expressly
`65 stated otherwise. It will be further understood that the terms
`"includes," "comprises," "including," and/or "comprising,"
`when used in this specification, specify the presence of stated
`
`

`

`US 8,514,871 B2
`
`5
`features, integers, steps, operations, elements, and/or compo(cid:173)
`nents, but do not preclude the presence or addition of one or
`more other features, integers, steps, operations, elements,
`components, and/or groups thereof. It will be understood that
`when an element is referred to as being "connected" or
`"coupled" to another element, it can be directly connected or
`coupled to the other element or intervening elements may be
`present. Furthermore, "connected" or "coupled" as used
`herein may include wirelessly connected or coupled. As used
`herein, the term "and/or" includes any and all combinations
`of one or more of the associated listed items.
`The present invention is described hereinafter with refer(cid:173)
`ence to flowchart and/or block diagram illustrations of sys(cid:173)
`tems, methods, and computer program products in accor(cid:173)
`dance with some embodiments of the invention. These 15
`flowchart and/or block diagrams further illustrate exemplary
`operations of the system and device architectures of FIGS. 1
`to 7. It will be understood that each block of the flowchart
`and/or block diagram illustrations, and combinations of
`blocks in the flowchart and/or block diagram illustrations,
`may be implemented by computer program instructions and/
`or hardware operations. These computer program instruc(cid:173)
`tions may be provided to a processor of a general purpose
`computer, a special purpose computer, or other program(cid:173)
`mable data processing apparatus to produce a machine, such
`that the instructions, which execute via the processor of the
`computer or other programmable data processing apparatus,
`create means for implementing the functions specified in the
`flowchart and/or block diagram block or blocks.
`These computer program instructions may also be stored in
`a computer usable or computer-readable memory that may
`direct a computer or other programmable data processing
`apparatus to function in a particular manner, such that the
`instructions stored in the computer usable or computer-read(cid:173)
`able memory produce an article of manufacture including
`instructions that implement the function specified in the flow(cid:173)
`chart and/or block diagram block or blocks.
`The computer-usable or computer-readable medium may
`be, for example but not limited to, an electronic, magnetic,
`optical, electromagnetic, infrared, or semiconductor system,
`apparatus, or device. More specific examples (a nonexhaus(cid:173)
`tive list) of the computer-readable medium would include the
`following: a portable computer diskette, a random access
`memory (RAM), a read-only memory (ROM), an erasable
`programmable read-only memory (EPROM or Flash 45
`memory), and a compact disc read-only memory (CD-ROM).
`Note that the computer-usable or computer-readable medium
`could even be paper or another suitable medium upon which
`the program is printed, as the program can be electronically
`captured, via, for instance, optical scanning of the paper or 50
`other medium, then compiled, interpreted, or otherwise pro(cid:173)
`cessed in a suitable marmer, if necessary, and then stored in a
`computer memory.
`The computer program instructions may also be loaded
`onto a computer or other programmable data processing 55
`apparatus to cause a series of operational steps to be per(cid:173)
`formed on the computer or other programmable apparatus to
`produce a computer implemented process such that the
`instructions that execute on the computer or other program(cid:173)
`mable apparatus provide steps for implementing the func-
`tions specified in the flowchart and/or block diagram block or
`blocks.
`Computer program code for carrying out operations of
`systems, methods, and computer program products according
`to embodiments of the present invention discussed below
`may be written in a high level programming language, such as
`C or C++, for development convenience. In addition, com-
`
`6
`puter program code for carrying out operations of embodi(cid:173)
`ments of the present invention may also be written in other
`programming languages, such as, but not limited to, inter(cid:173)
`preted languages. Some modules or routines may be written
`in assembly language or even micro-code to enhance perfor(cid:173)
`mance and/or memory usage. It will be further appreciated
`that the functionality of any or all of the program modules
`may also be implemented using discrete hardware compo(cid:173)
`nents, one or more application specific integrated circuits
`10 (ASICs), or a progranimed digital signal processor or micro(cid:173)
`controller.
`As used herein, the term "packet" may refer to a unit of
`information and/or a block of data that may be transmitted
`electronically as a whole or via segments from one device to
`another. Accordingly, as used herein, the term "packet" may
`encompass such terms of art as "frame" and/or "message,"
`which may also be used to refer to a unit of transmission. In
`addition, as used herein, the term "multimedia device" may
`20 include any device that is capable of receiving and displaying
`audio and/or video content, and may include a television; a
`set-top box for a television; a satellite or cellular radiotele(cid:173)
`phone with or without a multi-line display; a Personal Com(cid:173)
`munications System (PCS) terminal that may combine a cel-
`25 lular radiotelephone with data processing, facsimile and data
`communications capabilities; a PDA that can include a radio(cid:173)
`telephone, pager, Internet/intranet access, Web browser, orga(cid:173)
`nizer, calendar and/or a global positioning system (GPS)
`receiver; and a personal computer (mobile or stationary) that
`30 includes a modem or other network transceiver. Also, "media
`services" or "multimedia content" may include audio and/or
`video content, applications and/or services.
`Unless otherwise defined, all terms (including technical
`and scientific terms) used herein have the same meaning as
`35 commonly understood by one of ordinary skill in the art to
`which this invention belongs. It will be further understood
`that terms, such as those defined in commonly used dictio(cid:173)
`naries, should be interpreted as having a meaning that is
`consistent with their meaning in the context of the present
`40 application and the relevant art, and will not be interpreted in
`an idealized or overly formal sense unless expressly so
`defined herein.
`Some embodiments of the present invention may arise
`from a realization that when a router queue level exceeds a
`predetermined threshold, such as during periods of high net(cid:173)
`work congestion, incoming packets of a corresponding prior-
`ity level may be randomly dropped or discarded, which may
`negatively affect quality of service. For example, in order to
`render video data, such as an MPEG-encoded video stream, it
`may be necessary to receive and present packets in the correct
`order, with little or no packet loss, and with smooth, continu-
`ous timing, or else essential information may be missing. As
`such, the dropped packets may have to be retransmitted,
`which may result in inefficiency, distribution delays, and/or
`reduced service quality. Accordingly, rather than indiscrimi(cid:173)
`nately dropping data packets during periods of network con-
`gestion, it may be desirable for a network router to selectively
`drop data packets based on the importance of the data con(cid:173)
`tained therein to a destination device that is configured to
`present a file associated with the data packet. Thus, some
`embodiments of the present invention provide methods, sys-
`tems, and devices for prioritizing data packets based on an
`importance of the content of a data packet, for example,
`within a predetermined class-of-service. In addition, certain
`65 packets may be marked as discard-eligible based on the
`importance of the content of the data packet to the destination
`device.
`
`60
`
`

`

`US 8,514,871 B2
`
`7
`FIG. 1 is a block diagram illustrating systems, methods,
`and computer program products for packet distribution
`according to some embodiments of the present invention.
`Referring now to FIG. 1, a packet distribution system 100
`includes a source device 105 that is configured to provide
`packetized data to a destination device 110 via one or more
`communications networks, such as network 120. For
`example, the source device 105 may be a multimedia service
`provider configured to provide multimedia services, such as
`digital telephone, digital cellular phone, internet, and/or digi- 10
`ta! television services to one or more destination devices, such
`as the destination device 110. Accordingly, the destination
`device 110 may be a multimedia device that is configured to
`decode and present the received packetized data to a user. For
`example, the source device 105 and the destination device 15
`110 may be voice-over Internet Protocol (VoIP) enabled tele(cid:173)
`phones configured to transmit and receive voice data there be(cid:173)
`tween over the network 120. As such, the destination device
`110 and/or the source device 105 may also include a user
`interface (not shown) to present the received data. More gen- 20
`erally, although termed as a source device 105 and a destina(cid:173)
`tion device 110 inFIG.1, it is to be understood that the device
`105 may be a destination device and the device 110 may be a
`source device according to some embodiments of the present
`invention.
`The network 120 may represent a global network, such as
`the Internet, and/or other publicly accessible network. The
`network 120 may also, however, represent a wide area net(cid:173)
`work, a local area network, an Intranet, and/or other private
`network, which may not accessible by the general public.
`Furthermore, the network 120 may represent a combination
`of one or more wired and/or wireless public and/or private
`networks and/or virtual private networks (VPN). The network
`120 may be circuit-switched network, such as the Public(cid:173)
`Switched Telephone Network (PSTN), and/or a packet(cid:173)
`switched network, such as the Internet. More generally, the
`network 120 may be any network that is configured to dis(cid:173)
`tribute packetized data from the source device 105 to the
`destination device 110. For example, in some embodiments,
`the network 120 may be coupled to and/or may include an IP
`Multimedia Subsystem (IMS) network. IMS is a standard that
`has been developed to provide for control and integration of
`multimedia services in a packet-switched network. In particu(cid:173)
`lar, the IMS architecture defines a set oflogical functions that
`use a signaling protocol, known as session initiation protocol
`(SIP), to setup, maintain, and terminate packet-switched
`voice and data. As such, an IMS network may provide a
`standardized way to connect IP devices and networks.
`The source device 105 and the destination device 110 may
`be coupled to the network 120 by several other network
`devices. More particularly, as shown in FIG. 1, the source
`device 105 is connected to the network 120 via a firewall 108,
`a router 115a, and a gateway device 125. Similarly, the des(cid:173)
`tination device 110 is connected to the network 120 via a
`firewall 118, a router 115b, and a deep-packet inspection
`device 130. As is well known in the art, the firewalls 108 and
`118 may be configured to intercept, inspect, and/or block
`further distribution of packets traveling to or from an appli(cid:173)
`cation to prevent unwanted outside traffic from reaching
`devices coupled thereto. The routers 115a and 115b may be
`configured to sel

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