throbber
(12) United States Patent
`Dolganow et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,165,024 B2
`Apr. 24, 2012
`
`USOO81 65024B2
`
`(54) USE OF DPI TO EXTRACT AND FORWARD
`APPLICATION CHARACTERISTICS
`
`(75) Inventors: Andrew Dolganow, Kanata (CA); Keith
`Allan, Kanata (CA); Colin Leon Kahn,
`Morris Plains, NJ (US)
`
`(73) Assignee: Alcatel Lucent, Paris (FR)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`past iy c.listed under 35
`M
`YW-
`y
`ayS.
`(21) Appl. No.: 12/078,701
`
`(22) Filed:
`(65)
`
`Apr. 3, 2008
`Prior Publication Data
`US 2009/O252148A1
`Oct. 8, 2009
`(51) Int. Cl
`(2006.01)
`itouL i2/26
`(200 6. 01)
`H04L 2/56
`(52) U.S. Cl. ........ irr 370/237; 370/235; 370/395.43
`(58) Field of Classification Search ............... ... ... None
`See application file for complete search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`6,320,863 B1 * 1 1/2001 Ramfelt ........................ 370/404
`6,587,470 B1* 7/2003 Elliot et al. ................... 370/404
`
`
`
`6,678,832 B1* 1/2004 Gotanda ....................... T13/400
`6,741,595 B2* 5/2004 Maher et al. ...
`370,392
`6,799,030 B2 * 9/2004 Barber et al. ......
`... 455,343.1
`7,362,763 B2 * 4/2008 Wybenga et al. .......... 370/395.1
`7,508,764 B2* 3/2009 Backet al. ...
`370,235
`7,606,147 B2 * 10/2009 Luft et al. ......
`370,229
`2007/0162289 A1* 7/2007 Olsson et al. ..................... 705/1
`2008/O123660 A1* 5, 2008 Sammour et al. ........ 370,395.21
`2008/0214189 A1* 9/2008 Taaghol ..................... 455,432.2
`* cited by examiner
`
`Primary Examiner — Chi Pham
`Assistant Examiner — Soon-Dong Hyun
`(74) Attorney, Agent, or Firm — Kramer & Amado P.C.
`
`ABSTRACT
`(57)
`Various exemplary embodiments are a method and related
`device and computer-readable medium including one or more
`of the following: receiving a packet sent from the source node
`to the destination node; associating the packet with an active
`flow by accessing information in the packet; performing deep
`packet inspection (DPI) to identify an application associated
`with the active flow; determining a classification for the
`packet based on characteristics of the identified application;
`associating, with the packet, information identifying the clas
`sification; forwarding the packet including the information
`identifying the classification towards the destination node:
`and performing processing on the packet at a downstream
`device by extracting the classification from the packet.
`
`25 Claims, 4 Drawing Sheets
`
`150
`
`Microsoft
`Ex. 1001 - Page 1
`
`

`

`U.S. Patent
`
`Apr. 24, 2012
`
`Sheet 1 of 4
`
`US 8,165,024 B2
`
`
`
`Microsoft
`Ex. 1001 - Page 2
`
`

`

`U.S. Patent
`
`Apr. 24, 2012
`
`Sheet 2 of 4
`
`US 8,165,024 B2
`
`an
`
`220
`
`230
`
`240
`
`250
`
`SOURCE
`ADDRESS
`
`DESTINATION
`ADDRESS
`
`APPLICATION
`INFO
`
`DATA
`
`FIG. 2
`
`on,
`
`310
`
`
`
`320
`
`330
`
`340
`
`350
`
`PROTOCOL
`
`SEOUENCE
`
`PAYLOAD
`
`FIG. 3
`
`Microsoft
`Ex. 1001 - Page 3
`
`

`

`U.S. Patent
`
`Apr. 24, 2012
`
`Sheet 3 of 4
`
`US 8,165,024 B2
`
`ty
`
`410
`
`420
`
`43O
`
`HIGH PRIORITY MEDIUM PRIORITY LOW PRIORITY
`DATA
`DATA
`DAA
`
`FIG. 4
`
`co
`
`510
`
`
`
`520
`
`530
`
`540
`
`FRAME
`
`PFRAME
`
`B FRAME 1
`
`B FRAME 2
`
`FIG. 5
`
`Microsoft
`Ex. 1001 - Page 4
`
`

`

`U.S. Patent
`
`Apr. 24, 2012
`
`Sheet 4 of 4
`
`US 8,165,024 B2
`
`600 Ya
`
`610
`
`START
`
`
`
`RECEIVE A PACKET
`
`PERFORM DP PROCESSING
`
`CLASSIFY PACKET
`
`ASSOCATE INFORMATION
`WITH PACKET
`
`FORWARD PACKET
`
`PERFORM
`APPLICATION-SPECIFIC
`PROCESSING
`
`680
`
`STOP
`
`FIG. 6
`
`630
`
`640
`
`650
`
`660
`
`670
`
`Microsoft
`Ex. 1001 - Page 5
`
`

`

`US 8,165,024 B2
`
`1.
`USE OF DIP TO EXTRACT AND FORWARD
`APPLICATION CHARACTERISTICS
`
`FIELD OF THE INVENTION
`
`This invention relates generally to communication of infor
`mation regarding characteristics of an application associated
`with a data packet.
`
`DESCRIPTION OF RELATED ART
`
`10
`
`2
`of unique values, such that the network can effectively man
`age only a small number of applications.
`Still further, current implementations treat all data packets
`associated with an application in the same manner. For
`example, a current implementation might modify a quality of
`service assigned to every packet in a data flow. Accordingly,
`current implementations fail to consider that some packets
`associated with an application flow are more important than
`others and therefore fail to most efficiently utilize bandwidth
`in the network.
`Accordingly, there is a need for an in-line device that
`identifies characteristics of applications associated with data
`packets and conveys this information for downstream pro
`cessing. There is also a need for associating application char
`acteristic information with data packets without requiring the
`packet to be marked at end-user equipment. In addition, there
`is a need for packet marking in a mobile network that utilizes
`a packet marking scheme such that a large number of appli
`cations and application characteristics may be identified at
`any location in the network, without requiring Deep Packet
`Inspection (DPI) processing to be performed at each location.
`Furthermore, there is a need for identifying characteristics of
`applications to allow downstream processing of packets
`based on the importance of the packets to the application flow.
`The foregoing objects and advantages of the invention are
`illustrative of those that can be achieved by the various exem
`plary embodiments and are not intended to be exhaustive or
`limiting of the possible advantages which can be realized.
`Thus, these and other objects and advantages of the various
`exemplary embodiments will be apparent from the descrip
`tion herein or can be learned from practicing the various
`exemplary embodiments, both as embodied herein or as
`modified in view of any variation that may be apparent to
`those skilled in the art. Accordingly, the present invention
`resides in the novel methods, arrangements, combinations,
`and improvements herein shown and described in various
`exemplary embodiments.
`
`SUMMARY OF THE INVENTION
`
`In light of the present need for in-band DPI application
`awareness propagation enhancements, a brief Summary of
`various exemplary embodiments is presented. Some simpli
`fications and omissions may be made in the following Sum
`mary, which is intended to highlight and introduce some
`aspects of the various exemplary embodiments, but not to
`limit the scope of the invention. Detailed descriptions of a
`preferred exemplary embodiment adequate to allow those of
`ordinary skill in the art to make and use the inventive concepts
`will follow in later sections.
`In various exemplary embodiments, a DPI device is placed
`in-line in a non-mobile portion of a mobile network, Such that
`packets pass through the DPI device prior to being forwarded.
`Thus, in various exemplary embodiments, the DPI device
`identifies and classifies traffic passing through the mobile
`network based on information extracted from the header and/
`or data portion of the incoming packets. Using the informa
`tion extracted from the packets, the DPI device may add an
`application classification to the packets, thereby allowing
`downstream devices to identify the packet and perform appli
`cation-specific processing.
`Accordingly, in various exemplary embodiments, a
`method of processing packets sent from a source node to a
`destination node and a related computer-readable medium
`comprise: receiving a packet sent from the Source node to the
`destination node; associating the packet with an active flow
`by accessing information in the packet; performing deep
`
`15
`
`25
`
`30
`
`35
`
`40
`
`As streaming video, peer-to-peer networking, and other
`high bandwidth applications become the norm, the burdens
`placed on the underlying network architecture increase expo
`nentially. When designing the congestion management sys
`tems, service providers did not contemplate the use of the
`Internet for streaming video, peer-to-peer applications, and
`other high bandwidth uses. As a result, when a large number
`ofusers run high-bandwidth applications, the best effort, high
`oversubscription rate architecture frequently experiences
`congestion, thereby interfering with the user experience.
`These problems are particularly salient in the context of
`mobile networks, where bandwidth is even more limited.
`Mobile networks are seeing a gradual transformation from
`Voice-only services to data or mixed Voice-data services. As
`per-user bandwidth requirements have increased, the burdens
`placed on the mobile network architecture have also
`increased.
`Service providers, particularly mobile network service
`providers, must therefore decide between several options:
`continue providing best effort service; increase bandwidth
`and essentially become a transport “utility”; or sell applica
`tion-specific services based on the requirements of the indi
`vidual users. Service providers view the first two options as
`unsatisfactory, as users are dissatisfied with best effort ser
`vice, while indiscriminately increasing bandwidth would
`result in additional costs to the service provider with no
`corresponding increase in revenue. Selling application-spe
`cific services, on the other hand, would allow users to pay for
`the services they desire to receive, while eliminating the need
`for the service provider to exponentially increase bandwidth.
`In order to sell application-specific services, however, Ser
`vice providers must first modify the underlying network
`architecture to identify and gather information about appli
`45
`cations. In the radio portion of mobile networks, the use of
`per-application traffic management is especially critical, as
`bandwidth is limited due to the inherent restrictions of radio
`frequencies. Consequently, mobile operators frequently uti
`lize packet marking, such as Type of Service (ToS) marking to
`prioritize and forward packets.
`In existing mobile network architectures, however, the net
`work relies on end-user equipment for proper marking of
`packets. Thus, for example, a user's mobile handset could
`mark Voice packets as having a higher priority than data
`packets, thereby ensuring the quality of calls placed over the
`mobile network.
`In these current implementations, because the network
`relies on end-user equipment to mark packets, the mobile
`network cannot effectively prioritize packets without
`involvement of end-user equipment Supported by the mobile
`network. In addition, because values must be predefined and
`implemented in the end-user equipment, the mobile network
`operator lacks the flexibility to define new applications and
`markings without modifying the behavior of the end-user
`equipment. Furthermore, current implementations rely on
`packet marking protocols that include only a limited number
`
`50
`
`55
`
`60
`
`65
`
`Microsoft
`Ex. 1001 - Page 6
`
`

`

`US 8,165,024 B2
`
`10
`
`15
`
`30
`
`35
`
`40
`
`3
`packet inspection (DPI) to identify an application associated
`with the active flow; determining a classification for the
`packet based on characteristics of the identified application;
`associating, with the packet, information identifying the clas
`sification; forwarding the packet including the information
`identifying the classification towards the destination node:
`and performing processing on the packet at a downstream
`device by extracting the classification from the packet.
`In various exemplary embodiments, the packet is an IP
`packet and the information identifying the classification is
`placed in aheader extension of the IP packet. Alternatively, in
`various exemplary embodiments, the packet is formatted
`according to a proprietary protocol and the information iden
`tifying the classification is placed in a proprietary protocol
`extension of the packet. In addition, in various exemplary
`embodiments, the packet is a Generic Routing Encapsulation
`(GRE) packet and the information identifying the classifica
`tion is placed in a key field of the GRET packet or a sequence
`number of the GRE packet.
`In various exemplary embodiments, the step of determin
`ing a classification for the packet considers at least one of an
`effect of the packet on a user experience and an importance of
`the packet to an application. Furthermore, in various exem
`plary embodiments, the step of performing processing on the
`25
`packet at a downstream device comprises performing a traffic
`management function on the packet, which may include drop
`ping the packet and modifying a quality of service associated
`with the packet.
`Finally, in various exemplary embodiments, a device for
`processing traffic in a network comprises: a communication
`module that receives and forwards a packet sent from a source
`node to a destination node; and a processor configured to
`identify an active flow associated with the packet by access
`ing information stored in the packet, perform deep packet
`inspection (DPI) to identify an application associated with the
`active flow, determine a classification for the packet based on
`characteristics of the identified application, and associate,
`with the packet, information identifying the classification,
`wherein the information identifying the classification is
`extracted from the packet by a downstream device.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`45
`
`50
`
`In order to better understand various exemplary embodi
`ments, reference is made to the accompanying drawings,
`wherein:
`FIG. 1 is a schematic diagram of an exemplary mobile
`network utilizing in-line DPI in a mobile part of a network;
`FIG. 2 is a schematic diagram of an exemplary L3 packet
`including a field for storing application information;
`FIG.3 is a schematic diagram of an exemplary GRE packet
`including key and sequence number fields;
`FIG. 4 is a schematic diagram of an exemplary set of data
`frames associated with an application;
`55
`FIG. 5 is a schematic diagram of an exemplary set of
`MPEG-4 data frames; and
`FIG. 6 is a flowchart of an exemplary embodiment of a
`method for using deep packet inspection to extract and for
`ward application characteristics.
`
`60
`
`DETAILED DESCRIPTION OF THE PREFERRED
`EMBODIMENTS OF THE INVENTION
`
`Referring now to the drawings, in which like numerals
`refer to like components or steps, there are disclosed broad
`aspects of various exemplary embodiments.
`
`65
`
`4
`FIG. 1 is a schematic diagram of an exemplary mobile
`network 100 utilizing in-line DPI in a mobile part of the
`network 100. Exemplary mobile network 100 includes user
`node 110, wireless base station 120, network 130, radio net
`work controller 140, deep packet inspection device 150,
`packet data serving node 160, and network 170.
`In various exemplary embodiments, user node 110 is a
`device operated by a user that enables access to mobile net
`work 100. More specifically, in various exemplary embodi
`ments, user node 110 is a cell phone, personal digital assis
`tant, personal or laptop computer, wireless email device, or
`any other device that Supports wireless communications. Fur
`thermore, in various exemplary embodiments, user node 110
`generates and sends data packets related to one or more appli
`cations.
`In various exemplary embodiments, wireless base station
`120 is a device including an antenna to wirelessly exchange
`data with user node 110 over a plurality of radio channels.
`Furthermore, wireless base station 120 includes a wire line
`interface to forward data into network 130. Thus, in various
`exemplary embodiments, wireless base station 120 is a Node
`B in a 3G network or another base transceiver station com
`municating in a Global System for Mobile Communications
`(GSM), Universal Mobile Telecommunications System
`(UMTS), Long Term Evolution (LTE), or other wireless net
`work.
`Additionally, in various exemplary embodiments, network
`130 provides a connection between wireless base station 120
`and radio network controller 140. It should be apparent that
`network 130 may be any network capable of sending data and
`requests between wireless base station 120 and radio network
`controller 140. Accordingly, network 130 may comprise a
`plurality of routers, Switches, bridges, and other components
`Suitable for receiving and forwarding data packets.
`In various exemplary embodiments, radio network control
`ler 140 controls and manages a plurality of wireless base
`stations 120. Thus, radio network controller 140 directs the
`transmission and reception of data in wireless base station
`120 by controlling the radio transmitters and receivers in
`wireless base station 120. Furthermore, in various exemplary
`embodiments, radio network controller 140 receives and
`transmits packet-switched data between wireless base station
`120 and packet data serving node 160. It should be apparent
`that radio network controller 140 may be replaced by a base
`station controller or another device capable of directing the
`operation of wireless base station 120 and receiving and
`transmitting data packets.
`In various exemplary embodiments, radio network control
`ler 140 utilizes application information inserted into a data
`packet by deep packet inspection device 150 to manage the
`flow of data. More particularly, in various exemplary embodi
`ments, radio network controller 140 identifies a classification
`of a packet inserted by DPI device 150 and performs quality
`of service processing based on the classification, such as
`determining whether to allow or drop the packet.
`In addition, in various exemplary embodiments, mobile
`network 100 includes a deep packet inspection device 150
`that intercepts, "sniffs.” or otherwise receives packets trans
`mitted from user node 110 to a destination in network 170 or
`from a point in network 170 to user node 110. More specifi
`cally, as described further below with reference to FIG. 6, DPI
`device 150 receives a packet, identifies characteristics of an
`application associated with the packet, and adds a marking or
`other information to the packet to allow downstream applica
`tion-specific processing and forwarding.
`In various exemplary embodiments, DPI device 150 com
`prises specialized hardware and/or software that is capable of
`
`Microsoft
`Ex. 1001 - Page 7
`
`

`

`5
`examining data packets received from or transmitted to radio
`network controller 140 to identify information associated
`with the packets. Thus, in various exemplary embodiments,
`DPI device 150 includes a storage medium that stores infor
`mation used to identify flows, a processor for performing
`analysis, and a communication module to receive and trans
`mit packets.
`In addition, in various exemplary embodiments, DPI
`device 150 is integrated into radio network controller 140,
`packet data Switching node 160, a network element that is part
`of a network (not shown) providing connectivity between
`radio network controller 140 and packet data switching node
`160, or into a network element that is part of network 170. In
`various exemplary embodiments, the network providing con
`nectivity comprises a plurality of routers, Switches, bridges,
`and other components suitable for receiving and forwarding
`data packets. Alternatively, in various exemplary embodi
`ments, DPI device 150 is placed or integrated into wireless
`base station 120 or a network element that is part of network
`130.
`In various exemplary embodiments, DPI device 150 exam
`ines any combination of information in layers 2 through 7 of
`the Open Systems Interconnection (OSI) model. Thus, in
`various exemplary embodiments, DPI device 150 performs a
`“deep' analysis of one or more packets in order to identify an
`application associated with the packets. For example, DPI
`device 150 may analyze a packet to determine whether the
`packet relates to email, streaming video, web browsing, peer
`to-peer transfer, or any other application of interest to the
`service provider. In addition, in various exemplary embodi
`ments, DPI device 150 classifies the packet based on under
`lying characteristics of the application, such as the compres
`sion Scheme, data structure, or any other application
`characteristic. Furthermore, in various exemplary embodi
`ments, DPI device 150 performs traffic management opera
`tions, then forwards the packet to radio network controller
`140 or to packet data serving node 160.
`It should be apparent, that although illustrated as a standa
`lone device, in various exemplary embodiments, DPI device
`150 is a component integrated into a router. Thus, in various
`exemplary embodiments, DPI device 150 analyzes each
`packet received by the router before the router forwards the
`packet to the next hop. Furthermore, in various exemplary
`embodiments, DPI device 150 instead resides between packet
`switching data node 160 and network 170.
`Furthermore, it should be apparent that DPI device 150 is
`illustrated as directly connected to radio network controller
`140 and packet data serving node 160 for the sake of simplic
`ity. Accordingly, in various exemplary embodiments, one or
`more Switches, routers, bridges, or other network elements
`are placed between DPI device 150 and radio network con
`troller 140 or packet data serving node 160.
`In various exemplary embodiments, packet data serving
`node 160 serves as a connection between mobile network 100
`and one or more IP networks (not shown). Thus, in various
`exemplary embodiments, packet data serving node 160 for
`wards packets between the Internet and radio network con
`troller 140. It should be apparent that packet data serving
`node 160 may be replaced by a Gateway General Packet
`Radio Service Support Node (GGSN), a Serving Gateway
`General Packet Radio Service Support Node (SGSN). Access
`Serving Gateway, or any other node capable of providing a
`connection between mobile network 100 and an IP network.
`In various exemplary embodiments, network 170 receives
`data from and transmits data to packet data serving node 160.
`Thus, in various exemplary embodiments, network 170 com
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 8,165,024 B2
`
`10
`
`15
`
`6
`prises a plurality of routers, Switches, bridges, user nodes and
`other components suitable for sending, receiving and for
`warding data packets.
`As described further below with reference to FIG. 6, packet
`data serving node 160, radio network controller 140, or one or
`more network elements that are part of network 130, 170 or a
`network between radio network controller 140 and packet
`data serving node 160 utilize application characteristic infor
`mation inserted into a data packet by deep packet inspection
`device 150 to manage the flow of data. More particularly, in
`various exemplary embodiments, any of the above mentioned
`nodes identifies the application and associated characteristics
`using information found in the data packet and performs
`quality of service processing, such as determining whether to
`allow or drop the packet upon congestion.
`It should be apparent that, although illustrated as a 3G
`wireless mobile network, network 100 may be a different type
`network. Thus, in various exemplary embodiments, network
`100 is a cellular network operating under a different standard,
`a satellite network, a wired network, or some other type of
`network in which application-specific processing is desired.
`FIG. 2 is a schematic diagram of an exemplary L3 packet
`200 including one or more fields for storing application infor
`mation. In various exemplary embodiments, L3 packet 200
`includes, among other fields, packet header 210, Source
`address 220, destination address 230, application information
`240, and data 250.
`In various exemplary embodiments, packet header 210
`includes data used to forward packet 200 from a source to a
`destination. Thus, in various exemplary embodiments, packet
`header 210 includes a source address 220, which may include
`a source IP address and a source port. Furthermore, in various
`exemplary embodiments, packet header 210 includes desti
`nation address 230, which may include a destination IP
`address and a destination port.
`Furthermore, packet 200 includes application information
`240, which, in various exemplary embodiments, identifies an
`application associated with packet 200. In various exemplary
`embodiments, application information 240 is placed into an
`IP header extension, which may be an additional header
`inserted between packet header 210 and data 250 of packet
`200. Thus, in various exemplary embodiments, application
`information 240 consists of one or more type length values
`(TLV) indicating a name, alphanumeric identifier, or other
`information identifying an application associated with packet
`2OO.
`Furthermore, in various exemplary embodiments, applica
`tion information 240 includes an alphanumeric value that
`classifies the packet based on importance, priority, or any
`other characteristic of the underlying application. It should be
`apparent that, instead of an alphanumeric value, any informa
`tion Suitable for identifying the application and associated
`characteristics may be placed in application information 240.
`Furthermore, it should be apparent that packet header 210
`is shown as including only source address field 220 and
`destination address 230 for the sake of simplicity. Thus, in
`various exemplary embodiments, packet header 210 includes
`additional fields including, but not limited to, a protocol num
`ber, traffic class, flow label, payload length, next header, and
`hop limit. Furthermore, it should be apparent that packet 200
`may be an IP packet, Transmission Control Protocol (TCP)
`packet, User Datagram Protocol (UDP) packet, a packet for
`matted according to a proprietary protocol, or a packet for
`matted in any other protocol that may be modified to include
`application information and classification information.
`FIG. 3 is a schematic diagram of an exemplary Generic
`Routing Encapsulation packet 300 including key and
`
`Microsoft
`Ex. 1001 - Page 8
`
`

`

`US 8,165,024 B2
`
`10
`
`15
`
`7
`sequence number fields. GRE is a tunneling protocol used to
`encapsulate network layer packets inside of an IP tunneling
`packet. Thus, in various exemplary embodiments, GRE
`packet 300 includes, among other fields, version 310, proto
`col type 320, key 330, sequence number 340, and payload
`packet 350.
`GRE packet 300 includes version 310, which specifies a
`GRE protocol version with which the packet is associated.
`Furthermore, GRE packet 300 includes protocol type 320,
`which specifies the underlying protocol used for the packet
`encapsulated as payload packet 350.
`In addition, in various exemplary embodiments, GRE
`packet 300 includes key 330, which is a field inserted by the
`device or party that performs the encapsulation. Thus, in
`various exemplary embodiments, prior to forwarding packet
`300, DPI device 150 inserts application information into key
`330. Furthermore, in various exemplary embodiments, key
`330 includes an alphanumeric value that identifies an impor
`tance, priority, or other characteristic of the packet based on
`analysis of the underlying application. Accordingly, devices
`or parties that receive packet 300 downstream may extract the
`application information from key 330 and perform applica
`tion-specific processing based on the identified application
`and application characteristics.
`Furthermore, in various exemplary embodiments, GRE
`25
`packet 300 includes sequence number 340, which is a field
`inserted by the device or party that performs the encapsula
`tion. Sequence number 340 may be used to establish the order
`in which packets have been transmitted to the receiving
`device. Alternatively, in various exemplary embodiments,
`prior to forwarding packet 300, DPI device 150 inserts appli
`cation information and/or application characteristic informa
`tion into sequence number 340. Accordingly, devices or par
`ties that receive packet 300 downstream may extract the
`application information from sequence number 340 and per
`form application-specific processing based on the identified
`application and application characteristics.
`In various exemplary embodiments, GRE packet 300 also
`includes payload packet 350, which stores a packet that is
`encapsulated and routed. Accordingly, information contained
`in a delivery header (not shown) is used to forward packet 300
`from a source node to a destination node, while ignoring the
`routing information contained in payload packet 350.
`FIG. 4 is a schematic diagram of an exemplary set of data
`frames 400 associated with an application. Thus, exemplary
`set of data frames 400 includes high priority data frame 410.
`medium priority data frame 420, and low priority data frame
`430.
`Thus, as illustrated in FIG. 4, data associated with a par
`ticular application may be classified into multiple groups. In
`various exemplary embodiments, data frames associated with
`an application are grouped based on importance to the user
`experience, needs of the application, frames types used for an
`encoding scheme, or some other criterion. Accordingly, as
`described further below with reference to FIG. 6, DPI device
`150 receives a data packet, analyzes the packet to determine
`underlying characteristics, and associates the determined
`application characteristics with the packet.
`It should be apparent that data frames 400 may be associ
`ated with any application in which some frames have a greater
`effect on the user experience or should somehow be treated
`differently as they are forwarded through the network. Thus,
`data frames 400 may be MPEG-4 data frames, described in
`detail below with reference to FIG.5. Alternatively, in various
`exemplary embodiments, data frames 400 are encoded in
`another video format, such as Windows Media, a Real Media,
`or QuickTime. Furthermore, in various exemplary embodi
`
`35
`
`8
`ments, data frames 400 are audio files inaformat such as MP3
`Audio, Ogg Vorbis Audio, Windows Media, or any other
`audio encoding format. It should be apparent, however, that
`data frames 400 are not limited to audio and video files.
`It should also be apparent that an application may have any
`positive integer number of priorities or classes of data. Fur
`thermore, any characteristic of the underlying application
`may be used to classify, group, or otherwise characterize data
`frames received by DPI device 150.
`FIG. 5 is a schematic diagram of an exemplary set of
`MPEG-4 data frames 500. In various exemplary embodi
`ments, video encoded according to the MPEG-4 standard
`includes three types of frames: I frames, B frames, and P
`frames. Thus, exemplary set 500 includes I frame 510, P
`frame 520, B frame 1530, and B frame 2540.
`I frame 510, also called an Intra-frame, provides a full
`frame of data and can therefore be decoded without referenc
`ing another frame. P frame 520, also called a predicted frame,
`is deduced from the last frame, which inset 500 is I frame 510.
`B frame 1530 and B frame 2540, also called bidirectional
`predicted frames, are deduced from the previous and next I or
`P frames. Thus, although P frame 520 is located after B
`frames 530, 540, P frame 520 must be sent to the decoder
`prior to B frames 530, 540.
`Accordingly, to provide the best possible experience when
`streaming an MPEG-4 video during periods of network con
`gestion, the user should receive I frames with the highest
`priority, P frames with a medium priority, and B frames with
`a lowest priority. Thus, as described further below with ref
`erence to FIG. 6, when DPI device 150 receives a data packet
`associated with a flow identified as an MPEG-4 video stream,
`DPI device 150 analyzes the packet to determine the type of
`frame. Prior to forwarding the packet, DPI device 150 asso
`ciates, with the packet, information identifying the applica
`tion and/or classification information identifying the type of
`frame. The classification information associated with the
`frame may then be used by a downstream device to provide
`preferential treatment to I frames.
`FIG. 6 is a flowchart of an exemplary embodiment of a
`method 600 for using deep packet inspection to extract and
`forward application characteristics. Exemplary method starts
`in step 610 and proceeds to step 620, where DPI device 150
`intercepts, Sniffs, or otherwise receives a packet transmitted
`from a source node to a destination node.
`Exemplary method 600 then proceeds to step 630, where
`DPI device 150 identifies a flow associated with the packet
`using header information from the packet, then performs DPI
`processing on the identified flow. Thus, in various exemplary
`embodiments, DPI device 150 examines any combination of
`information in OSI layers 3 through 7 of one or more packets
`to identify an application associated with the flow. For
`example, DPI device 150 may analyze one or

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