CA2620356C - Application driven fast unicast flow replication - Google Patents

Application driven fast unicast flow replication Download PDF

Info

Publication number
CA2620356C
CA2620356C CA2620356A CA2620356A CA2620356C CA 2620356 C CA2620356 C CA 2620356C CA 2620356 A CA2620356 A CA 2620356A CA 2620356 A CA2620356 A CA 2620356A CA 2620356 C CA2620356 C CA 2620356C
Authority
CA
Canada
Prior art keywords
unicast
server
control flows
content
network element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA2620356A
Other languages
French (fr)
Other versions
CA2620356A1 (en
Inventor
Siegfried Johannes Luft
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Coriant Communications Canada Ltd
Original Assignee
Tellabs Communications Canada Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tellabs Communications Canada Ltd filed Critical Tellabs Communications Canada Ltd
Publication of CA2620356A1 publication Critical patent/CA2620356A1/en
Application granted granted Critical
Publication of CA2620356C publication Critical patent/CA2620356C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast

Abstract

A technique to replicate unicast flows is described. A plurality of unicast control flows are received at a network element from a plurality of clients.
One of the unicast control flows is forwarded to a server. A unicast content flow is received from the server at the network element in response to forwarding the one of the unicast control flows. The unicast content flow is replicated at the network element as a plurality of replicated unicast content flows for transmission to the plurality of clients.

Description

APPLICATION DRIVEN FAST UNICAST FLOW REPLICATION
CROSS-REFERENCE TO RELATED APPLICATIONS
100011 This application claims priority benefit, under 35 U.S.C. 119(e), of U.S. Provisional Application No. 60/719,890, filed on September 9, 2005, the contents of which are incorporated herein by reference.
TECHNICAL FIELD
[0002] This disclosure relates generally to network packet processing, and in particular but not exclusively, relates to unicast flow replication.
BACKGROUND INFORMATION
[0003] A data packet (also known as a "packet") is a block of user data with address and administration information attached, usually in a packet header and/or footer, which allows a network to deliver the data packet to the correct destination. Examples of data packets include, but are not limited to, Internet Protocol ("IP") packets, asynchronous transfer mode ("ATM") cells, Ethernet frames, synchronous optical network ("SONET") frames, and Frame Relay packets.

Typically, related data packets having similar characteristics (e.g., related to the same application) and common source and destination addresses are referred to as a packet flow.
[0004] FIG. 1 represents the Open Systems Interconnect ("OSI") model of a layered network protocol stack 100 for transmitting data packets. Each layer installs its own header in the data packet being transmitted to control the packet
5 through the network. A physical layer (layer 1) 105 is used for the physical signaling. A next layer, data link layer (layer 2) 110, enables transferring of data between network entities. A network layer (layer 3) 115 contains information for transferring variable length data packet between one or more networks. For example, IP addresses are contained in network layer 115, which allows network devices (also commonly referred to a network elements) to route the data packet.
Layer 4, transport layer 120, provides transparent data transfer between end users.
A session layer (layer 5) 125, provides the mechanism for managing the dialogue between end-user applications. A presentation layer (layer 6) 130 provides independence from difference in data representation (e.g. encryption, data encoding, etc.). The final layer is an application layer (layer 7) 135, which contains the actual data used by the application sending or receiving the packet. While protocol stacks often do not exactly follow the OSI model, it is commonly used to describe networks.
[0005] FIG. 2 illustrates a typical client-server model where a plurality of client subscribers 205 receive and consume content transmitted by a content provider 210 (the server) transported via a network 215 (e.g., the Internet, a wide area network, a metro network, a local area network, or the like). Network 215 may include one or more routers 220 to switch packets carrying the content through network 215 in packet flows.
[0006] The predominant form of transmission on local area networks ("LANs"), wide area networks ("WANs"), and within the Internet is unicast transmission. Unicast is the term used to describe communication where a piece of information is sent from one point to another. In other words, there is just one sender and just one receiver. A unicast packet is a packet that has been transmitted from a single source and is addressed to a single destination. Unicast packets using the IPv4 or IPv6 standard, have specified header/footer fields set, which identify the packets as unicast packets. A flow of related unicast packets is referred to as a unicast flow. The term unicast exists in contradiction to multicast, which is communication between a single sender and multiple receivers, and anycast, which is communication between any sender and the nearest of a group of receivers in a network. Unicast packets are distinct from multicast and anycast packets not only in the techniques used to route them through a network, but also in the values and fields set in their packet headers/footers.
[0007] Accordingly, FIG. 2 illustrates content provider 210 transmitting independent and distinct unicast content flows to each client subscriber 205.
A
unicast content flow is simply a unicast flow of data packets which provides content (e.g., media content, video on demand ("VoD"), IP television ("IPTV"), streaming audio, etc.) for consumption by client subscribers 205. Client subscribers 205 may communicate back to the content provider 210 (e.g., to select the particular content desired) with control packets transmitted in unicast control flows.
[0008] Since conventional routers are limited to layer-3 processing, which include the IP address processing to make routing decisions, router 220 is labeled as an L3 router. FIG. 3 illustrates the layered network protocol stacks associated with each network element in FIG. 2. Client subscribers 205 execute protocol stacks on the client side, content provider 210 executes a protocol stack 310 on the server side, and L3 router 220 executes a protocol stack 320.
[0009] Protocol stacks 305 and 310 terminate the unicast flows, since they are the ultimate source or destination of the unicast flows. In other words, the server application executing on content provider 210 and the client applications executing on client subscribers 205 parse data communicated in the unicast flows all the way to the application layer to extract the specific application data. In the case of unicast control flows 325, this is illustrated with termination dots 330. In contrast, unicast control flow 325 is merely parsed up to the network layer in L3 router 220. L3 router 220 only unwraps or analyzes the packets of unicast control flows 325 to the network layer to effect routing decision, but is unaware of higher layer data and therefore unable to interpret application data wrapped in the application layer. L3 router 220 does not access the application data and therefore does not terminate unicast control flows 325. Similarly, unicast content flows 335 pass through L3 router 220 without termination and without the application data being parsed or analyzed.
SUMMARY OF THE INVENTION
[0009a] Accordingly, it is an object of this invention to at least partially overcome some of the disadvantages of the prior art. Also, it is an object of this invention to provide an improved type of method comprising:
receiving a plurality of unicast control flows at a network element from a plurality of clients; forwarding one of the unicast control flows with unchanged destination and source addresses to a server; performing deep packet inspection down to an application layer on the unicast control flows in real-time at line rates by bifurcating a subset from each of the unicast control flows and sending the subset for each of the unicast control flows to a compute plane of the network element for processing; determining in the compute plane whether replicating a unicast content flow is appropriate based on the subsets of the unicast control flows; receiving the unicast content flow from the server at the network element in response to forwarding the one of the unicast control flows with the unchanged destination and source addresses; and replicating the unicast content flow at the network element as a plurality of replicated unicast content flows for transmission to the plurality of clients, if replicating is determined to be appropriate, wherein the network element operates as a fully transparent intermediary by retaining the source address identifying one of the clients corresponding to the one of the unicast control flows with the unchanged destination and source addresses forwarded to the server and by retaining an address of the server as a source address in each of the plurality of replicated unicast content flows sent to the clients.
[0009b] In a further aspect, the present invention provides a machine-accessible medium that stores instructions that, if executed by a machine, will cause the machine to perform operations comprising:
executing an application in a network element, the application mimicking a 4a server-side application on a server to a plurality of clients; receiving a plurality of unicast control flows at a traffic plane of the network element from the plurality of clients; forwarding one of the unicast control flows to the server from the traffic plane; receiving a unicast content flow from the server at the traffic plane of the network element in response to forwarding the one of the unicast control flows; performing deep packet inspection down to an application layer on the unicast content flow in real-time at line rates by bifurcating a subset of the unicast content flow and sending the subset to a compute plane of the network element for processing;
determining in the compute plane whether replicating the unicast content flow is appropriate based on the subset of the unicast content flow; and replicating the unicast content flow at the network element as a plurality of replicated unicast content flows for transmission to the plurality of clients, wherein the network element operates as an apparent intermediary to the server by replacing a source address within the one of the unicast control flows forwarded to the server to identify the network element, wherein the network element operates as a transparent intermediary to the plurality of clients by retaining an address of the server as a source address in each of the plurality of replicated unicast content flows.
10009c1 In a still further aspect, the present invention resides in a network element, comprising: a chassis including an interconnect; at least one traffic module installed in the chassis and coupled to the interconnect;
4b at least one compute module installed in the chassis and coupled to the interconnect; and software components distributed across the traffic and compute modules, the software components to execute on processing elements of the traffic and compute modules to perform operations including: receiving unicast control flows addressed to a server from two or more network clients; blocking redundant unicast control flow requests during a finite window of time, the finite window of time being equal to a period of time between an arrival of a first of the unicast control flows and an arrival of a unicast content flow from the server in response to the first of the unicast control flows; performing deep packet inspection down to an application layer on the unicast control flows in real-time by bifurcating at least a subset from each of the unicast control flows at one or more of the traffic modules and sending at least the subset for each of the unicast control flows from the one or more traffic modules to one of the compute modules for processing; determining in the one of the compute modules whether replicating the unicast content flow is appropriate based on the subsets of the unicast control flows; receiving the unicast content flow from the server, the unicast content flow addressed to at least one of the two or more network clients; and replicating the unicast content flow to other clients identified in a list as replicated unicast content flows.
[0009d] In a further aspect, the present invention resides in a machine-accessible medium that stores instructions that, if executed by a 4c machine, will cause the machine to perform operations comprising:
receiving a plurality of unicast control flows at a traffic plane of a network element from a plurality of clients; forwarding one of the unicast control flows to a server from the traffic plane; performing deep packet inspection down to an application layer on the unicast control flows in real-time at line rates by bifurcating a subset from each of the unicast control flows and sending the subset for each of the unicast control flows to a compute plane of the network element for processing; determining in the compute plane whether replicating a unicast content flow is appropriate based on the subsets of the unicast control flows; receiving a unicast content flow from the server at the traffic plane of the network element in response to forwarding the one of the unicast control flows; and replicating the unicast content flow at the network element as a plurality of replicated unicast content flows for transmission to the plurality of clients.
[0009e] Further aspects of the invention will become apparent upon reading the following detailed description and drawings, which illustrate the invention and preferred embodiments of the invention.
4d BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Non-limiting and non-exhaustive embodiments of the invention are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.
[0011] FIG. 1 (Prior Art) is a block diagram illustrating the Open Systems Interconnect model of a layered network protocol stack.
[0012] FIG. 2 (Prior Art) is a block diagram illustrating unicast flows between a server and multiple clients via a layer-3 router.
[0013] FIG. 3 (Prior Art) is a block diagram illustrating network protocol stacks executed by a server, multiple clients, and a layer-3 router.
[0014] FIG. 4 is a block diagram illustrating unicast flow replication by an application router, in accordance with an embodiment of the invention.
[0015] FIG. 5 is a flow chart illustrating a process for unicast flow replication by an application router, in accordance with an embodiment of the invention.
[0016] FIG. 6 is a block diagram illustrating network protocol stacks executed by a server, multiple clients, and an application router, in accordance with an embodiment of the invention.
[0017] FIG. 7 (Prior Art) is a block diagram illustrating a system for delivering multicast content from a head end content server to a plurality of client consumers.
[0018] FIG. 8A (Prior Art) is a block diagram illustrating a multicast content flow including primary key frames and delta vectors for transporting Internet Protocol ("IP") television ("IPTV") content.
[0019] FIG. 8B (Prior Art) is a block diagram illustrating secondary key frames generated by regional or local servers to effectuate fast channel changes for an 1PTV delivery system.
[0020] FIG. 9 is a block diagram illustrating a system for delivering multicast content from a head end content server to a plurality of client consumers using unicast flow replication between regional/local servers and the client consumers, in accordance with an embodiment of the invention.
[0021] FIG. 10 is a flow chart illustrating a process for delivering multicast content from a head end content server to a plurality of client consumers using unicast flow replication between regional/local servers and the client consumers, in accordance with an embodiment of the invention.
[0022] FIG. 11 is a block diagram illustrating an exemplary configuration using an application aware network element in a metro area network, in accordance with an embodiment of the invention.
[0023] FIG. 12 is a block diagram illustrating interconnections between traffic blades and compute blades of an application aware network element, in accordance with an embodiment of the invention.
[0024] FIG. 13 is a block diagram illustrating a compute blade, in accordance with an embodiment of the invention.
[0025] FIG. 14 is a block diagram illustrating a traffic blade, in accordance with an embodiment of the invention.
[0026] FIG. 15 is a schematic diagram illustrating one configuration of an application aware network element implemented via an Advanced Telecommunication and Computing Architecture ("ATCA") chassis, in accordance with an embodiment of the invention.

DETAILED DESCRIPTION
[0027] Embodiments of a method, apparatus, and system for unicast flow replication are described herein. In the following description numerous specific details are set forth to provide a thorough understanding of the embodiments.
One skilled in the relevant art will recognize, however, that the techniques described herein can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring certain aspects.
[0028] Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0029] Throughout this specification, several terms of art are used. These terms are to take on their ordinary meaning in the art from which they come, unless specifically defined herein or the context of their use would clearly suggest otherwise. A "unicast flow" is defined herein as a plurality of related packets, cells, or frames flowing into or out of a network node and having a common source/destination address pair. A unicast flow is distinct from a multicast flow in that a unicast flow is addressed to a single destination, whereas a multicast flow is not address to a single destination. Furthermore, unicast and multicast techniques use different protocols and set different header/footer fields, as is known in the art of network communications.
[0030] FIG. 4 is a block diagram illustrating a system 400 for unicast flow replication using an application ("APP") router 405, in accordance with an embodiment of the invention. The illustrated embodiment of system 400 includes APP router 405, a content provider 410, client subscribers A, B, to N
(collectively client subscribers 415), and a network 420.
[0031] APP router 405 acts to terminate and replicate unicast flows transmitted between client subscribers 415 and content provider 410, thereby reducing bandwidth consumption along link 420 between APP router 405 and content provider 410. In one embodiment, APP router 405 includes sufficient line rate processing power and intelligence to intercept unicast flows traversing its datapaths, analyze or decode them all the way to the application layer, interpret the application data contained therein to determine whether two or more unicast control flows are redundant (i.e., requesting similar content), and terminate redundant unicast requests for the same content. When redundant unicast requests for the same content are received, APP router 405 forwards one unicast request for the content on to content provider 410, terminates and queues subsequent redundant unicast requests, and then replicates the unicast content flows to all client subscribes 415 that have requested the same unicast content.
[0032] When compared to the functionality provided by L3 router 220 illustrated in FIG. 2, L3 router 220 simply and blindly routes all unicast content and control flows between content provider 210 and client subscribers 205, without regard as to whether it is forwarding redundant unicast requests and content.
While content provider 210 must lease sufficient bandwidth along link 220 at potentially considerable cost, content provider 410 can lease substantially lower bandwidth along link 420 at potentially significant cost savings, and rely on network 420 (and APP router 405) to manage replication of redundant unicast flows to client subscribers 415. Not only do the techniques described herein equate to potential costs savings for content provider 410, but they also transfer the technical burden of high volume content delivery onto network administrates away from content provider 410 who's expertise are in generating the content¨not delivering the content to paying subscribers. The unicast replication techniques described herein are applicable to any unicast traffic, but are particularly useful for broadcast content, such as, multimedia content (e.g., streaming audio or video), video-on-demand ("VoD"), web TV or IPTV (e.g., Microsoft IPTV branded service), or the like. For example, content provider 410 may represent a news wire service (e.g., Reuters), which streams text, audio, photographs, and video of current events happening in real-time around the world.
100331 FIG. 5 is a flow chart illustrating a process 500 for unicast flow replication by APP router 405, in accordance with an embodiment of the invention.
Process 500 is described with reference to FIG. 4. The order in which some or all of the process blocks appear in each process should not be deemed limiting.
Rather, one of ordinary skill in the art having the benefit of the present disclosure will understand that some of the process blocks may be executed in a variety of orders not illustrated.

[0034] In a process block 505, one of client subscribers 415 (e.g., client subscriber A) is the first to issue a unicast request for content from content provider 410. A unicast request may be transmitted in a unicast control flow which transports application specific control data from a client application on client subscriber A to content provider 410. Since the request is transmitted using unicast protocols, the packets making up the unicast flow include specific source/destination addresses. The source address will identifying client subscriber A. The destination address will depend upon whether APP router 405 is operating as a "transparent intermediary" or an "apparent intermediary". In a transparent intermediary embodiment, the destination address of the unicast request may designate content provider 410. In an apparent intermediary embodiment, the destination address may designate APP router 405, itself.
[0035] In a process 510, APP router 405 receives the 1st unicast control flow containing the 1st unicast request. Upon receiving the 1st unicast control flow, APP router 405 inspects the packets of the unicast control flow to identify the application from which they were generated and interpret the data to determine context of the request. APP router 405 may then buffer or store this information to identify redundant unicast requests originating from different client subscribers 415 executing the same application to render unicast replication decisions. In the transparent intermediary embodiment, APP router 405 may use deep packet inspection to identify specific unicast control flows. In the apparent intermediary embodiment, a version of the application executing on client subscribers 415 may be embedded in and executing on APP router 405. In one embodiment, this embedded application may mimic the server-side application executing on content provider 410 to client subscribers 415, while appearing as a client-side application to content provider 410.
[0036] In a process block 515, APP router 405 forwards the 1st unicast request to content provider 410 using standard unicast routing protocols. In one embodiment, APP router 405 terminates the 1st unicast control flow and generates a new unicast control flow with a destination address identifying content provider 410 but a source addresses identifying APP router 405 itself. In this manner, when the associated unicast content flow returns, it goes directly to APP router 405, which can then terminate the unicast content flow and generate a new unicast content flow destined for client subscriber A. In an alternative embodiment, APP
router 405 does not change the original source/destination address of the 1st unicast control flow, but rather monitors link 420 to identify the response unicast content flow from content provider 410.
[0037] In a process block 520, APP router 405 monitors unicast traffic received from the other client subscribers B to N to identify subsequent unicast requests for the identical content from content provider 410. In one embodiment, APP router 405 identifies identical unicast requests from other client subscribers by parsing unicast packets up to the application layer to identify the originating application and interpret the application data to identify identical requests (decision block 525). If a subsequent unicast flows received from client subscribers 415 contain unique or different requests than the 1st unicast request, then the unicast traffic is routed to its destination in a process block 530. However, if a redundant unicast request is identified, then process 500 continues to a process block 535.

[0038] In process block 535, the redundant unicast requests are queued and a list of client subscribers 415 requesting the same content generated. It is noteworthy that the redundant unicast requests are queued rather than forwarded on to content provider 410. In this manner, link 420 is spared the bandwidth consumption associated with redundant unicast control flow requests arriving at APP router 405 during a finite window of time. If the unicast content being streamed from content provider 410 is being synchronously delivered to a large number of client subscribers (e.g., IPTV, VoD, streaming radio broadcasts, etc.), then the number of redundant unicast requests arriving at APP router 405 during the finite window of time may be relatively large. In one embodiment, the finite window of time is equal to the period of time it takes between the arrival of the 1st unicast control flow requesting specific content and the arrival of the requested content from content provider 410 at APP router 405 in a unicast content flow.
In a scenario where the session of a unicast content flow is long lived, APP router may enroll or join new client subscribers 415 at any time.
[0039] When the requested content arrives from content provider 410 in a unicast content flow (decision block 540), process 500 continues to a process block 545. In process block 545, the unicast content flow is forwarded to the client subscriber 415 which first requested the content (e.g., client subscriber A).
As mentioned above, in one embodiment the 1st unicast control flow may be terminated and a new unicast control flow generated with a source addressed identifying APP
router 405 prior to forwarding the new unicast control flow to content provider 410.
In this embodiment, since content provider 410 would consider APP router 405 as the destination (or the client), APP router 405 terminates the return unicast content , flow and creates a new unicast content flow with a destination address identifying the first client subscriber 415 (e.g., client subscriber A) that issued the 1st unicast control flow. If APP router 405 is operating as an apparent intermediary to client subscriber 415, then APP router 405 would create the new unicast content flow with a source address designating APP router 405, itself.
[0040] In the transparent intermediary embodiment, APP router 405 may either substitute its own address as the source address for the 1st unicast control flow that it forwards to content provider 410 or retain the source address of client subscriber A 415. In the former "partially transparent" case, APP router 405 is only transparent to client subscriber A 415, but not to content provider 410. In the latter "fully transparent" case, APP router 405 is transparent to both client subscriber A
415 and content provider 410. In the fully transparent case, APP router 405 simply inspects the application data at the application layer to identify the application and the particular content requested, then sends the unicast control flow on it way to content provider 410 undisturbed. In this fully transparent embodiment, APP
router 405 monitors unicast content flows arriving from content provider 410 to identify the requested content issued in response to the unicast request. Once identified, APP router 405 can extract the requested content or application data from the response unicast content flow for replication into other unicast content flows and then forward the response unicast content flow with the source/destination addresses undisturbed to the first client subscriber A 415 that issued the 1st unicast request.
[0041] In a process block 550, the extracted content or application data is then replicated into new unicast content flows generated by APP router 405 and each addressed to a specific client subscriber 415 that issued a redundant unicast request for the same content. As discussed above, depending upon whether APP
router 405 is operating as a transparent or apparent intermediary, the source address of the replicated unicast content flows may designate either content provider 410 or APP router 405, itself.
[0042] FIG. 6 is a block diagram illustrating network protocol stacks executed by content provider 410, APP router 405, and two client subscribers 415, in accordance with an embodiment of the invention. FIG. 6 illustrates an embodiment where all unicast flows (both unicast content flows and unicast control flows) are terminated within APP router 405; however, as discussed above, in one embodiment the unicast flows associated with the 1st unicast request may not be terminated, but merely parsed, analyzed, and application layer data interpreted, prior to forwarding the unicast flow on to its originally addressed destination.
[0043] As illustrated, APP router 405 includes a network protocol stack that goes all the way to the application layer. In this manner APP router 405 can be said to be an application aware network element. APP router 405 is capable of parsing packets to the application layer and interpreting application layer data to make intelligent replication and forwarding decisions based on application awareness.
[0044] In the transparent intermediary embodiments, APP router 405 may perform deep packet inspection of unicast packets all the way to the application layer in real-time at line rates. This may be accomplished by bifurcating a subset of the data packets that arrive at APP router 405, making duplicate packets that are sent up to a compute plane for deep packet inspection at the application layer, while the original data packet continues along the traffic/data plane as usual. A
determination of which data packets are of potential interest and therefore bifurcated, may be accomplished by a line rate 5-tuple classification executed on all packets arriving at APP router 405 along the traffic/data plane. The 5-tuple classification may be a quick technique to determine whether an arriving traffic flow is unicast traffic from a particular source address, which should be inspected in further detail at the application layer to determine whether unicast flow replication is appropriate.
[0045] In the apparent intermediary embodiments, APP router 405 may include and execute a version of the applications executing on client subscribers 415 and content provider 410. In one embodiment, this network embedded application mimics server-side functionality of content provider 410 to client subscribers 415, while mimicking client-side functionality of client subscribers 415 to content provider 410. In the apparent intermediary embodiment, APP router may include a combination of general purpose compute resources to terminate the application layer unicast control protocols and protocol termination engines to facilitate layer-7 replication of content to multiple client subscribers 415.
[0046] FIG. 7 is a block diagram illustrating a system 700 for delivering multicast content from a head end content server to a plurality of client consumers.
The illustrated embodiment of system 700 includes one or more head end content servers 705 (e.g., VoD server 705A, web TV server 705B, streaming audio server 705C, etc. ), core network(s) 710, regional router(s) 715, regional server(s) 720, local router(s) 725, local server(s) 730, access network(s) 735, and a plurality of client consumers 740.

[0047] Regional routers 715 and regional servers 720 may be located in regional central offices ("COs"), while local routers 725 and local servers 730 may be located in local COs. Core network 710 links to the content providers to deliver content to client consumers 740 via access networks 735. Access network 735 may provide access to hundreds or thousands of client consumers 740 and aggregates the traffic therefrom.
[0048] In the case of web TV server 705B, the original IPTV content is delivered in multicast flows to client consumers 740, regional servers 720, and local servers 730. The multicast protocol enables links attached to each router along the path to join the multicast session so that only a single multicast flow is delivered to each link. The multicast protocol pushes replication to the periphery of the networks so that multicast replication occurs within access network 735 to each client consumer 740 that joins a specific multicast session (i.e., IPTV
channel). It is noted that the mechanisms and packets associated with multicast are very different than those associated with unicast. Furthermore, the multicast join/depart protocol are serviced at the network or transport layers¨not the application layer.
[0049] The original IPTV content may be generated with national commercial slots 750. A portion of the national commercial slots 750 may be replaced with regional commercial slots 755 inserted at insertion points provided with the original feed at the regional COs. Similarly, a portion of the national/regional commercial slots 750/755 may be replace yet again with local commercial slots 760 inserted at one or more of the insertion points at the local COs.

[0050] To efficiently and securely deliver multicast content from web TV
server 705B to client consumers 740, compression and/or encryption algorithms may be applied to the multicast content flows. FIG. 8A illustrates a multicast content flow broadcasted using a compression algorithm including primary key frames ("PKFs") and intervening delta vectors ("DVs"). The PKFs include all the data to display a single frame image while the DVs include data describing changes to the previous PKF. By increasing the number of DVs transmitted between PKFs greater compression is achieved. However, increasing the number of intervening DVs, increases the time interval T1 between adjacent PKFs. In some cases, the time interval T1 may be as long as 2 sec to 15 sec to achieve acceptable bandwidth constraints for a given network and QoS.
[0051] However, since DVs have no meaning without the immediately preceding PKF, when a client consumer changes the channel, the client consumer must wait until the next PKF arrives to display an image. If time interval T1 is long, channel changes can become slow and channel surfing nearly impossible.
Accordingly, to overcome this drawback, local servers 730 and regional servers may continuously generate secondary key frames ("SKF") based on the PKFs and DVs received from the head end content server (e.g., web TV server 705B). FIG.

8B illustrates the continuous generation of SKFs by regional servers 720 or local servers 730. When a client consumer 740 requests a channel change, it simply departs from the original multicast broadcast session, issues a unicast request to one of regional servers 720 or local servers 730 for a unicast burst containing a SKF for the new channel, then joins the original multicast session for the new channel. The DVs received from the head end content server are then applied to the SKF to update the image displayed by the client consumer 740 until a new PKF arrives within the multicast content flow. In this manner fast channel changes can be supported while using high compression algorithms to delivery the multicast content.
[0052] The insertion of regional and local commercials may be accomplished with this same unicast solution. When client consumers 740 receive a commercial insertion trigger along with the original multicast content flow, client consumers 740 automatically change to a local/regional commercial channel, then rejoin the original channel after consuming the local/regional commercials. To smoothly integrate the channel changes into the viewing experience, the channel changes must be quick and virtually unnoticeable by the viewer. Accordingly, the unicast burst solution for a fast channel change described above may be used.
[0053] Arrival of the commercial insertion triggers to hundreds, thousands, or even millions of client consumers 740 is a synchronous event, leading to a flash flood of unicast requests for unicast content bursts from regional servers 720 and/or local servers 730. As can be seen in FIG. 7, the unicast control flows requesting the unicast bursts from client consumers 740 are each individually routed and serviced by regional servers 720 or local servers 730, even though the unicast control flows are likely all requesting the same commercial channel change.
Similarly, each regional server 720 or local server 730 responds to each redundant unicast request with an indepedent unicast content flow containing the burst of content requested. These synchronous commercial insertion triggers can swamp the access networks 735 or links between regional/local routers 715 or 725 and regional/local servers 720 or 730. Otherwise, system 700 and particularly networks 735 must be built-out to accommodate these high-bandwidth flash flood events.
[0054] FIG. 9 is a block diagram illustrating a system 900 supporting fast channel changes between multicast channels delivered from head end content servers 705 using unicast flow replication, in accordance with an embodiment of the invention. System 900 is similar to system 700 with the exception that local router 725 is replaced with an APP router 905. In one embodiment, both local router 725 and regional router 715 may be replaced with APP routers.
[0055] APP router 905 acts to reduce the burden of the synchronous commercial channel changes by filtering redundant unicast requests and replicating a unicast content flow to client consumers 740. APP router 905 forwards the 1st unicast control flow request for a SKF to one of local servers 730 or regional servers 720, while filtering and queuing subsequent redundant unicast control requests for the same SKF. Regional servers 720 and local servers 730 need only respond with a single unicast content flow containing a data burst of the SKF, while APP routers 905 acts to replicate the unicast content flow to each client consumer 740. As a consequence, fewer regional servers 720 or local servers 730 are needed to service the synchronous commercial channel change events and the bandwidth requirements of the links between APP router 905 and local servers 730 or between regional router 715 and regional server 720 are reduced.
[0056] FIG. 10 is a flow chart illustrating a process 1000 for filtering redundant unicast requests and replicating a unicast content flow to client consumers 740, in accordance with an embodiment of the invention.

[0057] In a process block 1005, client consumers 740 synchronously receive commercial insertion triggers. In a process block 1010, APP router 905 begins receiving Internet Group Management Protocol ("IGMP") depart requests from client consumers 740 to leave the current multicast channel. In a process block 1015, APP router 905 receives the 1st unicast control flow from one of client consumers 740 requesting a unicast burst containing a SKF for the commercial channel, and then forwards the 1st unicast control flow to one of local servers 730 or regional servers 720 (process block 1020). In one embodiment, the unicast request for the SKF is a transport layer security ("TLS") unicast request.
[0058] If APP router 905 operates as a transparent intermediary, then APP
router 905 may perform a deep packet inspection of the packets making up the unicast control flow to identify the client application and to interpret the character of the request. APP router 905 will use this information to subsequently identify redundant unicast requests for the same content from other client consumers 740.
As mentioned above, APP router 905 may terminate the 1st unicast control flow and generate a new one addressed to one of regional servers 720 or local servers with APP router 905 being the source address or may simply inspect the packets of the 1st unicast control flow, collected the necessary information to identify redundant requests, then forward 1st unicast control flow on and monitor the return link for a response. Alternatively, APP router 905 may operate as an apparent intermediary executing an embedded application and addressable by client consumers 740.
[0059] In a process block 1025, APP router 905 receives, identifies, and queues subsequent redundant requests for the same content from other client consumers 740, without forwarding the subsequent unicast control flows on to the servers. In a process block 1030, APP router 905 finally receives the content (e.g., a SKF for the commercial channel) requested from one of regional server 720 or local server 730 in response to the 1st unicast control flow. The requested content arrives at APP router 905 in a unicast content flow either addressed to APP
router 905 itself, or addressed to the one of client consumers 740 that issued the 1st unicast control flow, depending upon whether APP router 905 terminated the 1st unicast control flow, as discussed above.
[0060] In a process block 1035, APP router 905 replicates the unicast content flow and transmits these replicated flows to all client consumers 740 that previously issued redundant requests (process block 1040). In one embodiment, replicating the unicast content flow includes generating new unicast content flows specifically addressed to each client consumer 740. The new unicast content flows deliver payloads copied from the unicast content flow received at APP router 905 in response to the 1st unicast control flow.
[0061] Finally, in process block 1045, APP router 905 commences to receive IGMP join requests from client consumers 740 to join the multicast content flow for the commercial channel and sync up with the multicast broadcast from one of head end content providers 705.
[0062] FIG. 11 is a block diagram illustrating an exemplary configuration using an application aware network element 1101 in a metro area network 1100, in accordance with an embodiment of the invention. Application aware network element 1101 is one possible embodiment of APP router 405 or 905.

[0063] As depicted in Figure 11, a metro area network 1100 is composed of two types of networks: a core network 1102 and one of more access networks 1106. The core network 1102 communicates data traffic from one or more service providers 1104A-1104N in order to provide services to one or more subscribers 1108A-1108M. Services supported by the core network 1102 include, but are not limited to, (1) a branded service, such as a Voice over Internet Protocol ("VoIP") or lPTV, from a branded service provider; (2) a licensed service, such as Video on Demand ("VoD"), through a licensed service provider and (3) traditional Internet access through an Internet Service Provider ("ISP").
[0064] Core network 1102 supports a variety of protocols (Synchronous Optical Networking (SONET), Internet Protocol (IP), Packet over SONET (POS), Dense Wave Division Multiplexing (DWDM), OSPF, BGP, ISIS, etc.) using various types of equipment (core routers, SONET add-drop multiplexers (ADM), DWDM equipment, etc.). Furthermore, core network 1102 communicates data traffic from the service providers 1104A-1104N to access network(s) 1106 across link(s) 1112. In general, link(s) 1112 may be a single optical, copper, or wireless link or may comprise several such optical, copper or wireless link(s). In the illustrated embodiment, application aware network element 1101 is strategically positioned between core network 1102 and access network(s) 1106 along link(s) 1112.
[0065] Access network(s) 1106 complement core network 1102 by aggregating the data traffic from the subscribers 1108A-1108M. Access network(s) 1106 may support data traffic to and from a variety of types of subscribers 1108M, (e.g. residential; corporate, mobile, wireless, etc.). Although the access network(s) 1106 may not include each type of subscriber (residential, corporate, mobile, etc), access(s) network 1106 will include at least one subscriber.
Typically, access network(s) 1106 supports thousands of subscribers 1108A ¨ 1108M. Access network(s) 1106 aggregates data traffic from the subscribers over link(s) 1112 connecting to the core network 1102. Access networks support a variety of protocols (e.g., IP, Asynchronous Transfer Mode (ATM), Frame Relay, Ethernet, Digital Subscriber Line (DSL), Dynamic Host Configuration Protocol (DHCP), Point-to-Point Protocol (PPP), Point-to-Point Protocol over Ethernet (PPPoE), etc.) using various types of equipment (Edge router, Broadband Remote Access Servers (BRAS), Digital Subscriber Line Access Multiplexers (DSLAM), Switches, etc).
The access network(s) 1106 uses subscriber policy manager(s) 1110 to set policies for individual ones and/or groups of subscribers. Policies stored in a subscriber policy manager(s) 1110 allow subscribers access to different ones of the service providers 1104A-N. Examples of subscriber policies are bandwidth limitations, traffic flow characteristics, amount of data, allowable services, etc.
100661 In additional to the unicast flow replication described above, embodiments of application aware network element 1101 are capable of shaping traffic traversing link(s) 1112. Traffic shaping, a form of quality of service ("QoS"), is the process of regulating and smoothing the flow of network data traffic within a computer network. Restricting the bandwidth of the traffic flow is one way to regulate data traffic. There are a variety of ways to bring data traffic flow with a desired rate, including dropping or discarding data packets, buffering received data packets and re-transmitting the data packets at the desired rate, combinations of these (e.g., buffering packets when there is space in the buffer and dropping packets when there is not), etc. Buffering the data traffic flow allows the traffic shaping service node to smooth the data traffic flow. Smoothing removes the bursts of data traffic and shapes the data traffic into a constant flow of data traffic.
Smoothing is advantageous for applications that depend on a constant flow of data traffic. For example, video-based applications, such VoD or video conferencing, or real-time voice applications (VoIP) benefit from a constant flow of data traffic. In general, application aware network element 1101 uses the subscriber policies contained in subscriber policy manager(s) 1110 for instruction on how to shape the data traffic from service providers 1104A-1104N and/or subscribers 1108A-1108M

accordingly. Furthermore, application aware network element 1101 may use deep packet inspection at the application layer to determine what action to take on which packets or packet flows.
100671 In accordance with architecture aspects of some embodiments, the aforementioned functions may be facilitated by various processing and storage resources hosted by associated line cards and the like, which are mounted in a common chassis. As shown in FIG. 12, from a datapath perspective, the hardware architecture of one embodiment of a application aware network element 1101 can be decomposed into three entities, Traffic Blades (TB) 1200 (generically referred to as a traffic module), Compute Blades (CB) 1202 (generically referred to as a compute module) and the chassis 1204. A TB 1200 can be further reduced to its physical and link layer portions 1206 and 1208, network layer components 1210, and infrastructure components 1212. Similarly, a CB 1202 provides Service Layer termination 1213 and infrastructure components 1214. In one embodiment, a CB
can be further re-defined to be an OAMP Blade based on its slot index (within chassis 1204). OAMP blades are a functional superset of CBs, adding operations, administration, maintenance and provisioning functionality (collectively referred to as OAMP card function or OAMP CF).
[0068] As illustrated in the embodiments herein, chassis 1204 comprises an Advanced Telecommunication and Computing Architecture (ATCA or AdvancedTCAO) chassis. The ATCA Chassis provides physical connectivity between the blades via a passive backplane 1216 including a full-mesh interconnect 1218. It is noted that the ATCA environment depicted herein is merely illustrative of one modular board environment in which the principles and teachings of the embodiments of the invention described herein may be applied. In general, similar configurations may be deployed for other standardized and proprietary board environments, including but not limited to blade server environments.
[0069] The ATCA 3.0 base specification (approved December 30, 2002), which is being carried out by the PCI Industrial Computer Manufacturers Group ("PICMG"), defines the physical and electrical characteristics of an off-the-shelf, modular chassis based on switch fabric connections between hot-swappable blades.
(As used herein, the terms "board," "blade," and "card," are interchangeable.) This specification defines the frame (rack) and shelf (chassis) form factors, core backplane fabric connectivity, power, cooling, management interfaces, and the electromechanical specification of the ATCA-compliant boards. The electromechanical specification is based on the existing IEC60297 EuroCard form factor, and enables equipment from different vendors to be incorporated in a modular fashion with guaranteed interoperability. The ATCA 3.0 base specification also defines a power budget of 200 Watts (W) per board, enabling high performance servers with multi-processor architectures and multi gigabytes of on-board memory.
[0070] In addition to power input to ATCA boards, mating connectors on the boards and backplane are employed for coupling input/output (I/0) signals.

Many of the ATCA boards, as well as other modular boards used for telecommunications and computer, such as but not limited to CompactPCI, employ very-high speed I/0 channels. For example, Advanced Switching ("AS") employs a serial communication channel operating at Gigahertz+ frequencies. ATCA
boards may also provide one or more I/0 ports on their front panels, enabling an ATCA

board to be coupled to other network resources.
[0071] An exemplary architecture 1300 for a compute blade 1202 is shown in FIG. 13. In one embodiment, a single compute blade (physical) architecture is employed for both Compute Blades and OAMP CF's. More particularly, under architecture 1300, a corresponding blade may be deployed to support both Compute Blade and OAMP functionality.
[0072] Compute Blade 1202 employs four multiple processor compute nodes 130214. In general, each of compute nodes 130214 functions as multiple processor resources, with each processor resource being associated with a logical processor. Accordingly, such processor resources may be implemented using separate processors, or processor chips employing multiple processor cores.
For example, in the illustrated embodiment of FIG. 13, each of compute nodes is implemented via an associated symmetric multi-core processor. Exemplary multi-core processors that may be implemented include, but are not limited to Broadcom 1480 and 1280 devices. Each of the compute nodes 130214 is enabled to communicate with other compute nodes via an appropriate interface (e.g., bus or serial-based interfaces). For the Broadcom 1480 and 1280 devices, this interface comprises a "Hyper Transport" (HT) interface. Other native (standard or proprietary) interfaces between processors may also be employed.
100731 As further depicted in architecture 1300, each compute nodes 13021_4 is allocated various memory resources, including respective RAM 13041-4.
Under various implementations, each of compute nodes 13021_4 may also be allocated an external cache 130614, or may provide one or more levels of cache on-chip. In one embodiment, the RAM comprises ECC (Error Correction Code) RAM.
In one embodiment, each compute node employs a NUMA (Non-Uniform Memory Access) cache coherency scheme. Other cache coherency schemes, such as MESI
(Modified, Exclusive, Shared, Invalidated), may also be implemented for other embodiments.
100741 Each Compute Blade 1202 includes a means for interfacing with ATCA mesh interconnect 1218. In the illustrated embodiment of FIG. 13, this is facilitated by a Backplane Fabric Switch 1308. Meanwhile, a field programmable gate array ("FPGA") 1310 containing appropriate programmed logic is used as an intermediary component to enable each of compute nodes 13021_4 to access backplane fabric switch 1308 using native interfaces for each of the compute nodes and the fabric switch. In the illustrated embodiment, the interface between each of compute nodes 13021_4 and the FPGA 1310 comprises an SPI (System Packet Interface) 4.2 interface, while the interface between the FPGA and backplane fabric switch 1308 comprises a Broadcom HiGigTM interface. It is noted that these interfaces are merely exemplary, and that other interface may be employed depending on the native interfaces of the various blade components.
[0075] In addition to local RAM (e.g., RAM 13041), the compute node associated with the OAMP function (depicted in FIG. 13 as Compute Node #1) is provided with local SRAM 1312 and a non-volatile store (depicted as Compact flash 1314). The non-volatile store is used to store persistent data used for the OAMP function, such as provisioning information and logs. In Compute Blades that do not support the OAMP function, each compute node is provided with local RAM and a local cache.
[0076] In the embodiment illustrated in FIG. 13, compute blade 1202 is provisioned as an OAMP blade. In one configuration (as shown), one of the compute nodes is employed for performing OAMP functions (e.g., compute node 13021), while the other three compute nodes (e.g., compute nodes 13022_4) perform normal compute functions associated with compute blades, as described in further detail below. When a compute blade 1202 is provisioned as a compute blade, each of compute nodes 13021_4 is available for performing the compute functions described herein.
[0077] FIG. 14 shows an exemplary architecture 1400 for a traffic blade 1200. Architecture 1400 includes a PHY block 1402, an Ethernet MAC block 1404, a network processor unit (NPU) 1406, a host processor 1408, a SERDES
interface 1410, an FPGA 1412, a backplane fabric switch 1414, RAM 1416 and 1418 and cache 1419. The traffic blade further includes one or more I/0 ports 1420, which are operatively coupled to PHY block 1420. Depending on the particular use, the number of I/0 ports may vary from 1 to N ports. For example, under one traffic blade type a 10 x 1 Gigabit Ethernet (GigE) port configuration is provided, while for another type a 1 x 10GigE port configuration is provided.
Other port number and speed combinations may also be employed.
[0078] PHY block 1402 and Ethernet MAC block 1404 respectively perform layer 1 (Physical) and layer 2 (Data Link) functions, which are well-known in the art. In general, the PHY and Ethernet MAC functions may be implemented in hardware via separate components or a single component, or may be implemented in a combination of hardware and software via an embedded processor or the like.
[0079] One of the operations performed by a traffic blade is packet identification/classification. As discussed above, a multi-level classification hierarchy scheme is implemented for this purpose. Typically, a first level of classification, such as a 5-Tuple signature classification scheme, is performed by the traffic blade's NPU 1406. Additional classification operations in the classification hierarchy may be required to fully classify a packet (e.g., identify an application flow type). In general, these higher-level classification operations may be performed by the traffic blade's host processor 1408 and/or a processor on a compute blade, depending on the particular classification.
[0080] NPU 1406 includes various interfaces for communicating with other board components. These include an Ethernet MAC interface, a memory controller (not shown) to access RAM 1416, Ethernet and PCI interfaces to communicate with host processor 1408, and an XGMII interface. SERDES
interface 1410 provides the interface between XGMII interface signals and HiGig signals, thus enabling NPU 1406 to communicate with backplane fabric switch 1414. NPU 1406 may also provide additional interfaces to interface with other components, such as an SRAM (Static Random Access Memory) interface unit to interface with off-chip SRAM (both not shown).
[0081] Similarly, host processor 1408 includes various interfaces for communicating with other board components. These include the aforementioned Ethernet and PCI interfaces to communicate with NPU 1406, a memory controller (on-chip or off-chip - not shown) to access RAM 1418, and a pair of SPI 4.2 interfaces. FPGA 1412 is employed to as an interface between the SPI 4.2 interface signals and the HiGig interface signals.
[0082] Typically, NPUs are designed for performing particular tasks in a very efficient manner. These tasks include packet forwarding and packet classification, among other tasks related to packet processing. To support such functionality, NPU 1406 executes corresponding NPU software 1422. This software is shown in dashed outline to indicate that the software may be stored (persist) on a given traffic blade (e.g., in a flash device or the like), or may be downloaded from an external (to the traffic blade) store during initialization operations, as described below. During run-time execution, NPU software 1422 is loaded into internal SRAM 1423 provided by NPU 1406.
100831 Host processor 1408 is employed for various purposes, including lower-level (in the hierarchy) packet classification, gathering and correlation of flow statistics, and application of traffic profiles. Host processor 1408 may also be employed for other purposes. In general, host processor 1408 will comprise a general-purpose processor or the like, and may include one or more compute cores (as illustrated, in one embodiment a two-core processor is used). As with NPU

1406, the functionality performed by host processor is effected via execution of corresponding software (e.g., machine code and or virtual machine byte code), which is depicted as host software 1424. As before, this software may already reside on a traffic blade, or be loaded during blade initialization.
[0084] In one embodiment, host processor 1408 is responsible for initializing and configuring NPU 1406. Under one initialization scheme, host processor 1408 performs network booting via the DHCP (or BOOTP) protocol.
During the network boot process, an operating system is loaded into RAM 1418 and is booted. The host processor then configures and initializes NPU 1406 via the PCI
interface. Once initialized, NPU 1406 may execute NPU software 1422 on a run-time basis, without the need or use of an operating system.
[0085] FIG. 15 is a schematic diagram illustrating the cross-connectivity provided by the ATCA backplane mesh interconnect used in one embodiment of application aware network element 1101. In the exemplary configuration shown in FIG. 15, an ATCA chassis 1204 is fully populated with 14 ATCA blades, with each blade installed in a respective chassis slot ¨ in an actual implementation, the chassis may be populated with less blades or may include other types of blades in addition to compute and traffic blades. The illustrated configuration includes four compute blades 120214, and 10 traffic blades 12001-io, with one of the compute blades being provisioned to provide OAMP functions. As depicted by the interconnection mesh, each blade is communicatively-coupled with every other blade under the control of fabric switching operations performed by each blade's fabric switch. In one embodiment, mesh interconnect 1218 provides a 10 Gbps connection between each pair of blades, with an aggregate bandwidth of 280 Gbps.

[0086] In the illustrated embodiments, the application aware network element is implemented using a distributed architecture, wherein various processor and memory resources are distributed across multiple blades. To scale a system, one simply adds another blade. The system is further enabled to dynamically allocate processor tasks, and to automatically perform fail-over operations in response to a blade failure or the like. Furthermore, under an ATCA
implementation, blades may be hot-swapped without taking the system down, thus supporting dynamic scaling.
[0087] The processes explained above are described in terms of computer software and hardware. The techniques described may constitute machine-executable instructions embodied within a machine (e.g., computer) readable medium, that when executed by a machine will cause the machine to perform the operations described. Additionally, the processes may be embodied within hardware, such as an application specific integrated circuit ("ASIC") or the like.
[0088] A machine- accessible medium includes any mechanism that provides (e.g., stores) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.). For example, a machine-accessible medium includes recordable/non-recordable media (e.g., read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, etc.).
[0089] The above description of illustrated embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of,
33 and examples for, the invention are described herein for illustrative purposes, various modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.
[0090] These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.
34

Claims (24)

1. A method comprising:
receiving a plurality of unicast control flows at a network element from a plurality of clients;
forwarding one of the unicast control flows with unchanged destination and source addresses to a server;
performing deep packet inspection down to an application layer on the unicast control flows in real-time at line rates by bifurcating a subset from each of the unicast control flows and sending the subset for each of the unicast control flows to a compute plane of the network element for processing;
determining in the compute plane whether replicating a unicast content flow is appropriate based on the subsets of the unicast control flows;
receiving the unicast content flow from the server at the network element in response to forwarding the one of the unicast control flows with the unchanged destination and source addresses; and replicating the unicast content flow at the network element as a plurality of replicated unicast content flows for transmission to the plurality of clients, if replicating is determined to be appropriate, wherein the network element operates as a fully transparent intermediary by retaining the source address identifying one of the clients corresponding to the one of the unicast control flows with the unchanged destination and source addresses forwarded to the server and by retaining an address of the server as a source address in each of the plurality of replicated unicast content flows sent to the clients.
2. The method of claim 1, wherein the network element comprises an application aware router capable of terminating the unicast control flows at an application layer and capable of interpreting application layer data within the unicast control flows.
3. The method of claim 1, wherein the plurality of unicast control flows each include source and destination addresses identifying a corresponding one of the plurality of clients and the server, respectively, the method further comprising:
terminating the plurality of unicast control flows addressed to the server at the network element;
generating a list of the plurality of unicast control flows requesting content from the server; and queuing redundant requests for the content after forwarding one of the requests to the server.
4. The method of claim 3, wherein replicating the unicast content flow as the plurality of replicated unicast content flows comprises:

copying payload data containing the content received from the server at the network element into packets of the plurality of replicated content flows;
generating new destination address data addressing corresponding ones of the plurality of clients for each of the queued requests; and inserting the new destination address data into the packets of the replicated unicast content flows.
5. The method of claim 1, wherein the unicast control flows include control signals from client-side applications executing on the plurality of clients, the control signals requesting media content from a server-side application executing on the server, and wherein the unicast content flow received from the server includes the media content.
6. The method of claim 5, wherein the media content comprises a key frame of a video image for Internet Protocol ("IP") television ("IPTV").
7. The method of claim 6, wherein the server comprises a regional or local server, the method further comprising:
forwarding a first multicast broadcast for a first channel from an IPTV server to the plurality of clients, wherein receiving the plurality of unicast control flows includes receiving the plurality of unicast control flows in response to a commercial insertion trigger identifying a commercial break in the first channel, the unicast control flows requesting a channel change to a second channel to receive regional or local commercials during the commercial break, and wherein the unicast content flow comprises a burst of media content from the regional or local server to enable the plurality of clients to sync up with a second multicast broadcast from the IPTV server for the second channel.
8. A machine-accessible medium that stores instructions that, if executed by a machine, will cause the machine to perform operations comprising:
executing an application in a network element, the application mimicking a server-side application on a server to a plurality of clients;
receiving a plurality of unicast control flows at a traffic plane of the network element from the plurality of clients;
forwarding one of the unicast control flows to the server from the traffic plane;
receiving a unicast content flow from the server at the traffic plane of the network element in response to forwarding the one of the unicast control flows;

performing deep packet inspection down to an application layer on the unicast content flow in real-time at line rates by bifurcating a subset of the unicast content flow and sending the subset to a compute plane of the network element for processing;
determining in the compute plane whether replicating the unicast content flow is appropriate based on the subset of the unicast content flow;
and replicating the unicast content flow at the network element as a plurality of replicated unicast content flows for transmission to the plurality of clients, wherein the network element operates as an apparent intermediary to the server by replacing a source address within the one of the unicast control flows forwarded to the server to identify the network element, wherein the network element operates as a transparent intermediary to the plurality of clients by retaining an address of the server as a source address in each of the plurality of replicated unicast content flows.
9. The machine-accessible medium of claim 8, further storing instructions that, if executed by the machine, will cause the machine to perform further operations, comprising: interpreting application layer data within the unicast control flows; and terminating the unicast control flows at an application layer in the network element.
10. The machine-accessible medium of claim 8, the machine-accessible medium further storing instructions that, if executed by the machine, will cause the machine to perform further operations, comprising:
terminating the plurality of unicast control flows addressed to the server at the network element;
generating a list of the plurality of unicast control flows requesting identical content from the server; and queuing requests for the identical content after forwarding one of the requests to the server.
11. The machine-accessible medium of claim 10, wherein replicating the unicast content flow as the plurality of replicated unicast content flows comprises:
copying payload data containing the identical content received from the server at the network element into packets of the plurality of replicated content flows;
generating new destination address header data addressing corresponding ones of the plurality of clients for each of the queued requests; and inserting the new destination address header data into the packets of the replicated unicast content flows.
12. The machine-accessible medium of claim 8, wherein the unicast control flows include control signals from client-side applications executing on the plurality of clients, the control signals requesting media content from a server-side application executing on the server, and wherein the unicast content flow received from the server includes the media content.
13. The machine-accessible medium of claim 12, wherein the media content comprises a key frame of a video image for Internet Protocol ("IP") television ("IPTV").
14. The machine-accessible medium of claim 13, wherein the server comprises a regional or local server, the machine-accessible medium further storing instructions that, if executed by the machine, will cause the machine to perform further operations, comprising:
forwarding a first multicast broadcast for a first channel from an IPTV server to the plurality of clients, wherein receiving the plurality of unicast control flows includes receiving the plurality of unicast control flows in response to an insertion point trigger identifying a commercial break in the first channel, the unicast control flows requesting a channel change to a second channel to receive regional or local commercials during the commercial break, and wherein the unicast content flow comprises a burst of media content from the regional or local server to enable the plurality of clients to synch up with a second multicast broadcast from the IPTV server.
15. A network element, comprising:
a chassis including an interconnect;
at least one traffic module installed in the chassis and coupled to the interconnect;
at least one compute module installed in the chassis and coupled to the interconnect; and software components distributed across the traffic and compute modules, the software components to execute on processing elements of the traffic and compute modules to perform operations including: receiving unicast control flows addressed to a server from two or more network clients;
blocking redundant unicast control flow requests during a finite window of time, the finite window of time being equal to a period of time between an arrival of a first of the unicast control flows and an arrival of a unicast content flow from the server in response to the first of the unicast control flows;

performing deep packet inspection down to an application layer on the unicast control flows in real-time by bifurcating at least a subset from each of the unicast control flows at one or more of the traffic modules and sending at least the subset for each of the unicast control flows from the one or more traffic modules to one of the compute modules for processing;
determining in the one of the compute modules whether replicating the unicast content flow is appropriate based on the subsets of the unicast control flows;
receiving the unicast content flow from the server, the unicast content flow addressed to at least one of the two or more network clients;
and replicating the unicast content flow to other clients identified in a list as replicated unicast content flows.
16. The network element of claim 15 including further software components to perform operations including:
intercept the unicast control flows addressed to the server from the other clients, the unicast control flows including redundant requests for content previously requested by the network client;
terminate the unicast control flows at the network element; and generate the list based at least in part on the redundant requests of the terminated unicast control flows.
17. The network element of claim 16, wherein the software components to intercept the unicast control flows addressed to the server from the other clients include software components to classify and interpret packets of the intercepted unicast control flows at an application layer protocol.
18. The network element of claim 15, wherein the network element comprises an application aware router, and wherein the application aware router includes an application for terminating unicast control flows from the client.
19. The network element of claim 18, wherein the application mimics server-side application functionality of the server transparently to the client.
20. The network element of claim 15, wherein classifying packets of the unicast content flow to identify the application associated with the unicast content flow comprises:
executing a preliminary classification of the packets received on a data path within the traffic modules to determine whether additional classification should be executed; and replicating the packets to a compute path within the compute modules to perform additional application layer classification while the packets continue along the data path, if the preliminary classification indicated to do so.
21. The network element of claim 15, wherein the software components operate the network element as an apparent intermediary to the clients by replacing a first source address in the unicast content flow designating the server with a second source address identifying the network element in each of the replicated unicast content flows sent to the clients.
22. A machine-accessible medium that stores instructions that, if executed by a machine, will cause the machine to perform operations comprising:
receiving a plurality of unicast control flows at a traffic plane of a network element from a plurality of clients;
forwarding one of the unicast control flows to a server from the traffic plane;
performing deep packet inspection down to an application layer on the unicast control flows in real-time at line rates by bifurcating a subset from each of the unicast control flows and sending the subset for each of the unicast control flows to a compute plane of the network element for processing;

determining in the compute plane whether replicating a unicast content flow is appropriate based on the subsets of the unicast control flows;
receiving a unicast content flow from the server at the traffic plane of the network element in response to forwarding the one of the unicast control flows; and replicating the unicast content flow at the network element as a plurality of replicated unicast content flows for transmission to the plurality of clients.
23. The machine-accessible medium of claim 22, wherein the machine-accessible medium further stores instructions that, if executed by the machine, will cause the machine to perform further operations, comprising:
executing an application in the network element, the application mimicking a server-side application on the server to the plurality of clients.
24. The machine-accessible medium of claim 22, wherein the unicast control flows include control signals from client-side applications executing on the plurality of clients, the control signals requesting media content from a server-side application executing on the server, and wherein the unicast content flow received from the server includes the media content.
CA2620356A 2005-09-09 2006-09-07 Application driven fast unicast flow replication Expired - Fee Related CA2620356C (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71989005P 2005-09-09 2005-09-09
US60/719,890 2005-09-09
US11/517,853 US7719995B2 (en) 2005-09-09 2006-09-06 Application driven fast unicast flow replication
US11/517,853 2006-09-06
PCT/CA2006/001469 WO2007028245A1 (en) 2005-09-09 2006-09-07 Application driven fast unicast flow replication

Publications (2)

Publication Number Publication Date
CA2620356A1 CA2620356A1 (en) 2007-03-15
CA2620356C true CA2620356C (en) 2015-05-12

Family

ID=37835337

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2620356A Expired - Fee Related CA2620356C (en) 2005-09-09 2006-09-07 Application driven fast unicast flow replication

Country Status (4)

Country Link
US (1) US7719995B2 (en)
EP (1) EP1922852B1 (en)
CA (1) CA2620356C (en)
WO (1) WO2007028245A1 (en)

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4025593B2 (en) * 2002-07-11 2007-12-19 富士通株式会社 Broadcast communication data delivery apparatus and broadcast communication system
US20190364325A1 (en) * 2005-01-12 2019-11-28 Invidi Technologies Corporation Targeted advertising in unicast, multicast and hybrid distribution system contexts
US20070076614A1 (en) * 2005-09-01 2007-04-05 Pantech Co., Ltd. Method for changing channels in wireless communication terminal and content service system
US7978650B2 (en) * 2005-10-19 2011-07-12 Samsung Electronics Co., Ltd Apparatus and method for supporting multicast/broadcast service in broadband wireless access system
US20070097970A1 (en) * 2005-11-01 2007-05-03 Georgios Margaritis Packet retransmitter
US7929532B2 (en) * 2005-11-30 2011-04-19 Cortina Systems, Inc. Selective multicast traffic shaping
KR100656487B1 (en) * 2006-01-17 2006-12-11 삼성전자주식회사 Internet group membership protocol network device and signal process control method in digital broadcasting system thereof
US7640301B2 (en) * 2006-04-06 2009-12-29 Att Knowledge Ventures, L.P. System and method for distributing video conference data over an internet protocol television system
US7761485B2 (en) 2006-10-25 2010-07-20 Zeugma Systems Inc. Distributed database
WO2008083459A1 (en) * 2007-01-12 2008-07-17 Technologies Ezoom Exponentiel Inc. System and method for duplicating and delivering media streams using the unicast protocol
US8392593B1 (en) * 2007-01-26 2013-03-05 Juniper Networks, Inc. Multiple control channels for multicast replication in a network
WO2008092250A1 (en) * 2007-01-30 2008-08-07 Technologies Ezoom Exponentiel Inc. Cooperative system and method for duplicating and delivering media streams in a distributed manner.
US7773510B2 (en) * 2007-05-25 2010-08-10 Zeugma Systems Inc. Application routing in a distributed compute environment
US20080298230A1 (en) * 2007-05-30 2008-12-04 Luft Siegfried J Scheduling of workloads in a distributed compute environment
US7706291B2 (en) * 2007-08-01 2010-04-27 Zeugma Systems Inc. Monitoring quality of experience on a per subscriber, per session basis
US10063392B2 (en) * 2007-08-21 2018-08-28 At&T Intellectual Property I, L.P. Methods and apparatus to select a voice over internet protocol (VOIP) border element
US9258268B2 (en) 2007-08-27 2016-02-09 At&T Intellectual Property, I., L.P. Methods and apparatus to dynamically select a peered voice over internet protocol (VoIP) border element
US9124603B2 (en) * 2007-08-27 2015-09-01 At&T Intellectual Property I., L.P. Methods and apparatus to select a peered voice over internet protocol (VoIP) border element
US8527107B2 (en) 2007-08-28 2013-09-03 Consert Inc. Method and apparatus for effecting controlled restart of electrical servcie with a utility service area
US8805552B2 (en) 2007-08-28 2014-08-12 Causam Energy, Inc. Method and apparatus for actively managing consumption of electric power over an electric power grid
US8890505B2 (en) 2007-08-28 2014-11-18 Causam Energy, Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US8996183B2 (en) 2007-08-28 2015-03-31 Consert Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US7715951B2 (en) * 2007-08-28 2010-05-11 Consert, Inc. System and method for managing consumption of power supplied by an electric utility
US10295969B2 (en) 2007-08-28 2019-05-21 Causam Energy, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US20090063228A1 (en) * 2007-08-28 2009-03-05 Forbes Jr Joseph W Method and apparatus for providing a virtual electric utility
US8700187B2 (en) * 2007-08-28 2014-04-15 Consert Inc. Method and apparatus for actively managing consumption of electric power supplied by one or more electric utilities
US8396606B2 (en) * 2007-08-28 2013-03-12 Consert Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US8260470B2 (en) * 2007-08-28 2012-09-04 Consert, Inc. System and method for selective disconnection of electrical service to end customers
US9130402B2 (en) 2007-08-28 2015-09-08 Causam Energy, Inc. System and method for generating and providing dispatchable operating reserve energy capacity through use of active load management
US9177323B2 (en) 2007-08-28 2015-11-03 Causam Energy, Inc. Systems and methods for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US8806239B2 (en) 2007-08-28 2014-08-12 Causam Energy, Inc. System, method, and apparatus for actively managing consumption of electric power supplied by one or more electric power grid operators
US8131403B2 (en) * 2007-08-28 2012-03-06 Consert, Inc. System and method for determining and utilizing customer energy profiles for load control for individual structures, devices, and aggregation of same
US20100235008A1 (en) * 2007-08-28 2010-09-16 Forbes Jr Joseph W System and method for determining carbon credits utilizing two-way devices that report power usage data
US8542685B2 (en) * 2007-08-28 2013-09-24 Consert, Inc. System and method for priority delivery of load management messages on IP-based networks
US8145361B2 (en) * 2007-08-28 2012-03-27 Consert, Inc. System and method for manipulating controlled energy using devices to manage customer bills
US8855279B2 (en) * 2007-08-28 2014-10-07 Consert Inc. Apparatus and method for controlling communications to and from utility service points
US20090083811A1 (en) * 2007-09-26 2009-03-26 Verivue, Inc. Unicast Delivery of Multimedia Content
US8374102B2 (en) * 2007-10-02 2013-02-12 Tellabs Communications Canada, Ltd. Intelligent collection and management of flow statistics
US8331240B2 (en) * 2007-11-08 2012-12-11 Harris Corporation Promiscuous monitoring using internet protocol enabled devices
US8799535B2 (en) 2008-01-11 2014-08-05 Akamai Technologies, Inc. Storage of data utilizing scheduling queue locations associated with different data rates
US8364892B2 (en) 2008-01-11 2013-01-29 Verivue, Inc. Asynchronous and distributed storage of data
US8335262B2 (en) 2008-01-16 2012-12-18 Verivue, Inc. Dynamic rate adjustment to splice compressed video streams
US8520663B2 (en) 2008-02-26 2013-08-27 At&T Intellectual Property I, L. P. Systems and methods to select peered border elements for an IP multimedia session based on quality-of-service
US20100064220A1 (en) * 2008-03-27 2010-03-11 Verizon Data Services India Private Limited Method and system for providing interactive hyperlinked video
US9374603B1 (en) * 2008-04-15 2016-06-21 Sprint Communications Company L.P. Systems and methods for providing content delivery over a backhaul link in a communication system
US8626954B2 (en) * 2008-08-28 2014-01-07 Alcatel Lucent Application-aware M:N hot redundancy for DPI-based application engines
US7535904B1 (en) 2008-10-03 2009-05-19 International Business Machines Corporation Routing of streaming media
EP2202935B1 (en) * 2008-12-23 2012-06-20 Nokia Siemens Networks OY Method and device for processing data in a network
US8661155B2 (en) * 2008-12-30 2014-02-25 Telefonaktiebolaget Lm Ericsson (Publ) Service layer assisted change of multimedia stream access delivery
US20100172367A1 (en) * 2009-01-08 2010-07-08 Telefonaktiebolaget Lm Ericsson (Publ) Network based bandwidth control in ims systems
US9565397B2 (en) 2009-02-26 2017-02-07 Akamai Technologies, Inc. Deterministically skewing transmission of content streams
US9906757B2 (en) 2009-02-26 2018-02-27 Akamai Technologies, Inc. Deterministically skewing synchronized events for content streams
US8369328B2 (en) * 2009-07-14 2013-02-05 Saguna Networks Ltd. System and method for efficient delivery of multi-unicast communication traffic
US8493846B2 (en) 2009-09-30 2013-07-23 At&T Intellectual Property I, L.P. Robust multicast broadcasting
US9106563B2 (en) 2009-10-07 2015-08-11 Wichorus, Inc. Method and apparatus for switching communications traffic in a communications network
US9385970B2 (en) 2009-10-07 2016-07-05 Wichorus, Inc. Method and apparatus for assigning resources in a network node
US8531945B2 (en) * 2009-10-07 2013-09-10 Wichorus, Inc. Method and apparatus to support deep packet inspection in a mobile network
US8533360B2 (en) * 2009-10-07 2013-09-10 Wichorus, Inc. Method and apparatus to report resource values in a mobile network
US9367595B1 (en) * 2010-06-04 2016-06-14 Software AG USA Inc. Method and system for visual wiring tool to interconnect apps
KR20120052727A (en) * 2010-11-16 2012-05-24 한국전자통신연구원 Apparatus and method for transmitting contents on a relay node between transmission terminal and reception terminal
US9635064B2 (en) * 2011-05-31 2017-04-25 Amx Llc Apparatus, method, and computer program for streaming media peripheral address and capability configuration
US8761602B2 (en) * 2011-07-25 2014-06-24 Ciena Corporation Video over Ethernet bandwidth optimization
US20130298175A1 (en) * 2012-05-02 2013-11-07 International Business Machines Corporation Constructing a customized message in a video-on-demand service
US9207698B2 (en) 2012-06-20 2015-12-08 Causam Energy, Inc. Method and apparatus for actively managing electric power over an electric power grid
US9465398B2 (en) 2012-06-20 2016-10-11 Causam Energy, Inc. System and methods for actively managing electric power over an electric power grid
US9461471B2 (en) 2012-06-20 2016-10-04 Causam Energy, Inc System and methods for actively managing electric power over an electric power grid and providing revenue grade date usable for settlement
US9563215B2 (en) 2012-07-14 2017-02-07 Causam Energy, Inc. Method and apparatus for actively managing electric power supply for an electric power grid
JP5991059B2 (en) * 2012-07-27 2016-09-14 富士通株式会社 Offload device, network system, and multicast traffic handover method
US8983669B2 (en) 2012-07-31 2015-03-17 Causam Energy, Inc. System, method, and data packets for messaging for electric power grid elements over a secure internet protocol network
US8849715B2 (en) 2012-10-24 2014-09-30 Causam Energy, Inc. System, method, and apparatus for settlement for participation in an electric power grid
US10475138B2 (en) 2015-09-23 2019-11-12 Causam Energy, Inc. Systems and methods for advanced energy network
US10861112B2 (en) 2012-07-31 2020-12-08 Causam Energy, Inc. Systems and methods for advanced energy settlements, network-based messaging, and applications supporting the same on a blockchain platform
US9513648B2 (en) 2012-07-31 2016-12-06 Causam Energy, Inc. System, method, and apparatus for electric power grid and network management of grid elements
US9015274B2 (en) * 2012-10-29 2015-04-21 Comcast Cable Communications, Llc Methods and systems for delivering content
KR20140075167A (en) * 2012-12-11 2014-06-19 주식회사 케이티 Server and method for generating broadcast channel number and, apparatus for relaying broadcast
US10432688B2 (en) * 2015-03-13 2019-10-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for optimized delivery of live ABR media
US10341453B2 (en) * 2015-07-28 2019-07-02 Fortinet, Inc. Facilitating in-network content caching with a centrally coordinated data plane
US10250499B2 (en) * 2015-08-27 2019-04-02 Koninklijke Kpn N.V. Multicast transmission using programmable network
WO2017151141A1 (en) 2016-03-04 2017-09-08 Hewlett Packard Enterprise Development Lp Matching data i/o types on backplane systems
US10630743B2 (en) 2016-09-23 2020-04-21 Cisco Technology, Inc. Unicast media replication fabric using bit indexed explicit replication
US11165707B2 (en) 2019-04-12 2021-11-02 Cisco Technology, Inc. Dynamic policy implementation for application-aware routing based on granular business insights
US11909768B2 (en) * 2019-08-13 2024-02-20 Secure Telligence LLC Methods, systems, and devices related to managing in-home network security using artificial intelligence service to select among a plurality of security functions for processing
EP4036728A1 (en) * 2021-01-29 2022-08-03 Atos Integration Method for distributing information packets to a plurality of recipients in a network
WO2023069289A1 (en) * 2021-10-19 2023-04-27 Viasat, Inc. Reducing network bandwidth consumption of real-time broadcasts using generically encoded media objects
WO2023069288A1 (en) * 2021-10-19 2023-04-27 Viasat, Inc. Reducing network bandwidth consumption using generically encoded media objects

Family Cites Families (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4720850A (en) * 1986-03-14 1988-01-19 American Telephone And Telegraph Company At&T Bell Laboratories Communication system control arrangement
US4893302A (en) * 1988-03-31 1990-01-09 American Telephone And Telegraph Company, At&T Bell Laboratories Arrangement for switching concentrated telecommunications packet traffic
US4897874A (en) 1988-03-31 1990-01-30 American Telephone And Telegraph Company At&T Bell Laboratories Metropolitan area network arrangement for serving virtual data networks
US5818438A (en) * 1995-04-25 1998-10-06 Bellsouth Corporation System and method for providing television services
US6108338A (en) * 1995-12-28 2000-08-22 Dynarc Inc. Method and device for dynamic synchronous transfer mode in a dual ring topology
US5781550A (en) * 1996-02-02 1998-07-14 Digital Equipment Corporation Transparent and secure network gateway
US5892535A (en) * 1996-05-08 1999-04-06 Digital Video Systems, Inc. Flexible, configurable, hierarchical system for distributing programming
US5881050A (en) * 1996-07-23 1999-03-09 International Business Machines Corporation Method and system for non-disruptively assigning link bandwidth to a user in a high speed digital network
WO1998030059A1 (en) 1997-01-03 1998-07-09 Telecommunications Research Laboratories Method for real-time traffic analysis on packet networks
US7136359B1 (en) * 1997-07-31 2006-11-14 Cisco Technology, Inc. Method and apparatus for transparently proxying a connection
US6608832B2 (en) * 1997-09-25 2003-08-19 Telefonaktiebolaget Lm Ericsson Common access between a mobile communications network and an external network with selectable packet-switched and circuit-switched and circuit-switched services
US6779030B1 (en) * 1997-10-06 2004-08-17 Worldcom, Inc. Intelligent network
AU1421799A (en) * 1997-11-25 1999-06-15 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
US6591299B2 (en) * 1997-11-25 2003-07-08 Packeteer, Inc. Method for automatically classifying traffic with enhanced hierarchy in a packet communications network
US6718387B1 (en) 1997-12-10 2004-04-06 Sun Microsystems, Inc. Reallocating address spaces of a plurality of servers using a load balancing policy and a multicast channel
JP3844588B2 (en) * 1998-03-05 2006-11-15 富士通株式会社 Information management system, local computer, and computer-readable recording medium recording information acquisition program
US6415329B1 (en) * 1998-03-06 2002-07-02 Massachusetts Institute Of Technology Method and apparatus for improving efficiency of TCP/IP protocol over high delay-bandwidth network
US6452915B1 (en) * 1998-07-10 2002-09-17 Malibu Networks, Inc. IP-flow classification in a wireless point to multi-point (PTMP) transmission system
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6587470B1 (en) * 1999-03-22 2003-07-01 Cisco Technology, Inc. Flexible cross-connect with data plane
US7305473B2 (en) * 1999-05-28 2007-12-04 The Coca-Cola Company Provision of transparent proxy services to a user of a client device
AU4661500A (en) * 1999-06-10 2001-01-02 Cacheflow, Inc. Method and apparatus for dynamic proxy reflecting of streaming content
FI107421B (en) * 1999-06-28 2001-07-31 Stonesoft Oy Procedure for selecting connections
US6789116B1 (en) * 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US6985431B1 (en) * 1999-08-27 2006-01-10 International Business Machines Corporation Network switch and components and method of operation
US6680933B1 (en) 1999-09-23 2004-01-20 Nortel Networks Limited Telecommunications switches and methods for their operation
KR100323685B1 (en) * 1999-11-12 2002-02-07 구자홍 Method for receiving data contents and method for the same
US7243136B2 (en) * 2000-01-18 2007-07-10 Inktomi Corporation Approach for managing and providing content to users
US6873600B1 (en) * 2000-02-04 2005-03-29 At&T Corp. Consistent sampling for network traffic measurement
US6678281B1 (en) * 2000-03-08 2004-01-13 Lucent Technologies Inc. Hardware configuration, support node and method for implementing general packet radio services over GSM
US6948003B1 (en) * 2000-03-15 2005-09-20 Ensim Corporation Enabling a service provider to provide intranet services
US6976090B2 (en) * 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
US7725596B2 (en) * 2000-04-28 2010-05-25 Adara Networks, Inc. System and method for resolving network layer anycast addresses to network layer unicast addresses
JP4484317B2 (en) * 2000-05-17 2010-06-16 株式会社日立製作所 Shaping device
US6621793B2 (en) * 2000-05-22 2003-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Application influenced policy
US6996599B1 (en) * 2000-06-21 2006-02-07 Microsoft Corporation System and method providing multi-tier applications architecture
US8204082B2 (en) * 2000-06-23 2012-06-19 Cloudshield Technologies, Inc. Transparent provisioning of services over a network
WO2002019634A1 (en) * 2000-08-31 2002-03-07 Netrake Corporation Method for enforcing service level agreements
AU2001292801A1 (en) * 2000-09-11 2002-04-29 Sitara Networks, Inc. Central policy manager
US7161897B1 (en) * 2000-11-27 2007-01-09 Nortel Networks Limited Communications system, apparatus and method therefor
AU2002216279A1 (en) * 2000-12-27 2002-07-08 Cellglide Technologies Corp. Resource allocation in cellular telephone networks
US6914883B2 (en) * 2000-12-28 2005-07-05 Alcatel QoS monitoring system and method for a high-speed DiffServ-capable network element
US20020116521A1 (en) * 2001-02-22 2002-08-22 Denis Paul Soft multi-contract rate policing
JP4475835B2 (en) * 2001-03-05 2010-06-09 富士通株式会社 Input line interface device and packet communication device
US7095716B1 (en) * 2001-03-30 2006-08-22 Juniper Networks, Inc. Internet security device and method
US20020181462A1 (en) * 2001-04-24 2002-12-05 Sorin Surdila System and method for providing end-to-end quality of service (QoS) across multiple internet protocol (IP) networks
US20020176378A1 (en) * 2001-05-22 2002-11-28 Hamilton Thomas E. Platform and method for providing wireless data services
US6934745B2 (en) * 2001-06-28 2005-08-23 Packeteer, Inc. Methods, apparatuses and systems enabling a network services provider to deliver application performance management services
US20030005455A1 (en) * 2001-06-29 2003-01-02 Bowers J. Rob Aggregation of streaming media to improve network performance
US7002977B1 (en) * 2001-06-29 2006-02-21 Luminous Networks, Inc. Policy based accounting and billing for network services
US6961539B2 (en) * 2001-08-09 2005-11-01 Hughes Electronics Corporation Low latency handling of transmission control protocol messages in a broadband satellite communications system
US7006440B2 (en) * 2001-10-26 2006-02-28 Luminous Networks, Inc. Aggregate fair queuing technique in a communications system using a class based queuing architecture
US7376953B2 (en) * 2001-10-29 2008-05-20 Hewlett-Packard Development Company, L.P. Apparatus and method for routing a transaction to a server
US7453801B2 (en) * 2001-11-08 2008-11-18 Qualcomm Incorporated Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
US6661780B2 (en) * 2001-12-07 2003-12-09 Nokia Corporation Mechanisms for policy based UMTS QoS and IP QoS management in mobile IP networks
US7086075B2 (en) * 2001-12-21 2006-08-01 Bellsouth Intellectual Property Corporation Method and system for managing timed responses to A/V events in television programming
US7506058B2 (en) * 2001-12-28 2009-03-17 International Business Machines Corporation Method for transmitting information across firewalls
US7376731B2 (en) * 2002-01-29 2008-05-20 Acme Packet, Inc. System and method for providing statistics gathering within a packet network
US20030206549A1 (en) 2002-05-03 2003-11-06 Mody Sachin Satish Method and apparatus for multicast delivery of information
CA2388792A1 (en) * 2002-05-31 2003-11-30 Catena Networks Canada Inc. An improved system and method for transporting multiple services over a backplane
US6741595B2 (en) * 2002-06-11 2004-05-25 Netrake Corporation Device for enabling trap and trace of internet protocol communications
US7486696B2 (en) * 2002-06-25 2009-02-03 Avaya, Inc. System and method for providing bandwidth management for VPNs
US7251215B1 (en) * 2002-08-26 2007-07-31 Juniper Networks, Inc. Adaptive network router
US20040111461A1 (en) * 2002-08-28 2004-06-10 Claudatos Christopher H. Managing and controlling user applications with network switches
US7349921B2 (en) * 2002-09-27 2008-03-25 Walgreen Co. Information distribution system
US7318100B2 (en) * 2003-04-14 2008-01-08 Riverbed Technology, Inc. Cooperative proxy auto-discovery and connection interception
US20040128694A1 (en) * 2002-12-30 2004-07-01 International Business Machines Corporation Fast selection of media streams
US20040148520A1 (en) 2003-01-29 2004-07-29 Rajesh Talpade Mitigating denial of service attacks
JP4069818B2 (en) * 2003-07-17 2008-04-02 株式会社日立製作所 Bandwidth monitoring method and packet transfer apparatus having bandwidth monitoring function
US7545794B2 (en) * 2003-08-14 2009-06-09 Intel Corporation Timestamping network controller for streaming media applications
WO2005017707A2 (en) 2003-08-14 2005-02-24 Telcordia Technologies, Inc. Auto-ip traffic optimization in mobile telecommunications systems
US7173817B2 (en) * 2003-09-29 2007-02-06 Intel Corporation Front side hot-swap chassis management module
US20050100000A1 (en) * 2003-11-07 2005-05-12 Foursticks Pty Ltd Method and system for windows based traffic management
US7496661B1 (en) * 2004-03-29 2009-02-24 Packeteer, Inc. Adaptive, application-aware selection of differentiated network services
US20060031559A1 (en) * 2004-05-25 2006-02-09 Gennady Sorokopud Real Time Streaming Protocol (RTSP) proxy system and method for its use
CA2574998C (en) * 2004-07-23 2011-03-15 Nielsen Media Research, Inc. Methods and apparatus for monitoring the insertion of local media content into a program stream
US20060028982A1 (en) * 2004-08-06 2006-02-09 Wright Steven A Methods, systems, and computer program products for managing admission control in a regional/access network based on implicit protocol detection
US7561515B2 (en) * 2004-09-27 2009-07-14 Intel Corporation Role-based network traffic-flow rate control
US7639674B2 (en) * 2004-10-25 2009-12-29 Alcatel Lucent Internal load balancing in a data switch using distributed network processing
US7558261B2 (en) * 2004-10-28 2009-07-07 Cisco Technology, Inc. Architecture and method for accessing services in a data center
US7664879B2 (en) * 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US20060149841A1 (en) * 2004-12-20 2006-07-06 Alcatel Application session management for flow-based statistics
US7480304B2 (en) 2004-12-29 2009-01-20 Alcatel Lucent Predictive congestion management in a data communications switch using traffic and system statistics
US7751421B2 (en) * 2004-12-29 2010-07-06 Alcatel Lucent Traffic generator and monitor
US7453804B1 (en) * 2005-02-08 2008-11-18 Packeteer, Inc. Aggregate network resource utilization control scheme
US7606147B2 (en) * 2005-04-13 2009-10-20 Zeugma Systems Inc. Application aware traffic shaping service node positioned between the access and core networks
US7719966B2 (en) * 2005-04-13 2010-05-18 Zeugma Systems Inc. Network element architecture for deep packet inspection
US7508764B2 (en) * 2005-09-12 2009-03-24 Zeugma Systems Inc. Packet flow bifurcation and analysis
US7733891B2 (en) * 2005-09-12 2010-06-08 Zeugma Systems Inc. Methods and apparatus to support dynamic allocation of traffic management resources in a network element

Also Published As

Publication number Publication date
EP1922852A4 (en) 2014-08-20
US7719995B2 (en) 2010-05-18
EP1922852B1 (en) 2019-03-06
US20070058629A1 (en) 2007-03-15
CA2620356A1 (en) 2007-03-15
EP1922852A1 (en) 2008-05-21
WO2007028245A1 (en) 2007-03-15

Similar Documents

Publication Publication Date Title
CA2620356C (en) Application driven fast unicast flow replication
US11444872B2 (en) Method and system of application-aware routing with crowdsourcing
US20220337553A1 (en) Method and system of a cloud-based multipath routing protocol
US7773510B2 (en) Application routing in a distributed compute environment
US7508764B2 (en) Packet flow bifurcation and analysis
US9847951B2 (en) Dynamic bandwidth allocation systems and methods using content identification in a software-defined networking controlled multi-layer network
EP1866788B1 (en) Stream control failover
US10439879B2 (en) Bandwidth management in a non-blocking network fabric
US9774932B2 (en) Method and apparatus for data packet switching, access switch and switching system
US7570585B2 (en) Facilitating DSLAM-hosted traffic management functionality
BR112015013723B1 (en) SYSTEM AND METHOD FOR OPTIMIZING THE DISTRIBUTION OF LIVE CONTENT FROM A CONTENT DISTRIBUTION NETWORK; AND LIVE BROADCAST OPTIMIZER SERVER (LISTO) FOR IDEAL DISTRIBUTION OF LIVE MEDIA CONTENT
CN110650171B (en) Video networking service scheduling system and method
CN110661726A (en) Data sending method and device based on multilink aggregation
US7937483B2 (en) System and method of routing data packets using trunk ports and access ports
CN109861929B (en) Data caching processing method and device
CN111245592B (en) Signaling transmission method and device and computer readable storage medium

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20160907