SlideShare a Scribd company logo
US 20050076099A1 
(19) United States 
(12) Patent Application Publication (10) Pub. No.: US 2005/0076099 A1 
Wang et al. (43) Pub. Date: Apr. 7, 2005 
(54) METHOD AND APPARATUS FOR LIVE 
STREAMING MEDIA REPLICATION IN A 
COMMUNICATION NETWORK 
(75) Inventors: Phil Yonghui Wang, Nepean (CA); 
Franco Travostino, Arlington, MA 
(US); Tal Lavian, Sunnyvale, CA (US); 
Ramesh Durairaj, Santa Clara, CA 
(Us) 
Correspondence Address: 
JOHN C. GORECKI, ESQ. 
180 HEMLOCK HILL ROAD 
CARLISLE, MA 01741 (US) 
(73) Assignee: Nortel Networks Limited, St. Laurent 
(CA) 
(21) Appl. No.: 10/745,869 
(22) Filed: Dec. 26, 2003 
Related US. Application Data 
(60) Provisional application No. 60/508,680, ?led on Oct. 
3, 2003. 
W ' 32 
| 
Replication Q 
Service 
@W 
I 
E Service Replication 
Publication Classi?cation 
(51) Int. Cl? ................................................... .. G06F 15/16 
(52) Us. 01. ............................................................ ..709/219 
(57) ABSTRACT 
Replication of live streaming media services (SMS) in a 
communication network may be enabled by introducing the 
streaming media-savvy replication service on a network 
element, through a number of functions such as client/ 
service registration and classi?cation, packet interception 
and forwarding, media replication, status monitoring and 
con?guration management. In an embodiment, client 
requests and server replies of an SMS are intercepted and 
evaluated by the network element. If the SMS is not stream 
ing through the network element, the replication service 
registers the SMS and establishes a unique SMS session for 
the requesting clients. If the SMS is already streaming 
through the network element, the replication service repli 
cates the streaming media and forwards it to the requesting 
clients. This reduces bandwidth usage on the links connect 
ing the streaming media server with the network element 
and reduces the number of client connections to the stream 
ing media provider’s servers. 
2 
i 32 
Rep lcation 
30 Service 
% 
14 
Streaming 
Media 
_3_Q Server 
m 
Replication 
Service 
32 
Rep lcatlon 
Service 
It '
Patent Application Publication Apr. 7, 2005 Sheet 1 0f 6 
Streaming 
Media Sewer 
lQ 
Network 
Element 
E 13. 
1Q 30 
26 
24  """"""""""""""" <_ 
rl’r"; I  ‘ “x x 
//  “  
  
  2s  
 
l 
l 
I 
I 
I 
/ 
/ 
/ 28 
Figure 1 
28 28 
US 2005/0076099 A1 
Metro 
Area 
Network 
Q
Patent Application Publication Apr. 7, 2005 Sheet 2 0f 6 US 2005/0076099 A1 
Figure 2 
(Prior Art) 
i 
E/l Streaming 
Media 
. Server 
1.0. 
EX , 
Mg ,/ 
Edge Network 
f A x Figure 3 
End Network 
I i 32 Backbone 
Replication f—————j———i New 14 Eva.‘ 26 m 
:: I; 32 il K Streaming 
m-Ra-léatrow'zs Media 
I p | 1Q Server 
I 28 /' ’ _1_0 EX 1 1% 
NET‘ 
W Service  32“
Patent Application Publication Apr. 7, 2005 Sheet 3 0f 6 US 2005/0076099 A1 
Figure 4 
Edge Network 
A 
r J 
End Network 
32 K—J% 
E  14 
w Streaming 
Media 
1Q Server 
/// 
Figure 5 
Edge Network 
A 
F 
End Network 
f—/% 32 
.2 
w ‘ bu 
W  
32,, 28 Streaming 
W_____I_____1 Media 1 Repllcalion L ______ _ A gm 3 
‘ SPLvic-e_ _ I  erver 
m
Patent Application Publication Apr. 7, 2005 Sheet 4 0f 6 
W I 
Q 
:I X 
Replication 
Service 
US 2005/0076099 A1 
Figure 6 
Q @ 
' 32 
Rep icationi 30 Service 
/ _ K 
>  Strearriing 
I Q 
Replication 
Replication Service 
E Service 
32 
32 
@ Rep lcatlon 
Service
Patent Application Publication Apr. 7, 2005 Sheet 5 0f 6 
50 
K 
Receive request for 
Streaming Media Session 
(SMS) from client process 
52 
ls 
client registered? 
56 
streaming media 
erver registered‘? 
0 “If 
 i‘ 
Classify client and service, 
request and reply; 
update tables 
6 
SMS already being 
rovided to another en N°+ 
US 2005/0076099 A1 
Figure 7 
54 
Register client process 
with replication service; 
update tables 
58 
Register streaming media 
server with replication 
service; update tables 
66 
K 
Issue request for SMS to 
streaming media server 
‘(is K 64 
Replicate SMS for 
68 
K 
requesting user 
I Transmit new SMS to 
requesting user; make SMS 
available to subsequent 
requesting users
Patent Application Publication Apr. 7, 2005 Sheet 6 0f 6 
Figure 8 
US 2005/0076099 A1 
86 
Replication Service Status 
Packet ‘Client/Service Replication 
Router 0/8 
.85. 
Figure 9 
76 
[Port PortJ|_Port_|| Port Port'l Pbn Port Port PortH Port" 
Switch Fabric 
1% 
it it 
ii 
Packet Queue P Packet Generator 
Q rociezssor Q 
Routing Software Controi Logic 
59. 7_4 
1 ______________________________________________ _ _ {I 
: Replication Client/Service -- ReTPHEIatiOH I 
| a es 1 } Software Client Registration : 
E Service Registration 2 
i 
1 Client Classi?cation : 
1 Packet: Service Classi?cation Repllcatlom i 
E Filtering Client setup Media Content : 
' I : Interception Packet operations Server Response : 
: Processing Media Replication Streaming Header : 
: Reassembly iP/TCP/UDP header : 
t Fonivarding Packet Forwarding : 
i 
70
US 2005/0076099 A1 
METHOD AND APPARATUS FOR LIVE 
STREAMING MEDIA REPLICATION IN A 
COMMUNICATION NETWORK 
BACKGROUND OF THE INVENTION 
[0001] 1. Field of the Invention 
[0002] The present invention relates to delivery of stream 
ing media on a communication netWork and, more particu 
larly, to a method and apparatus for live streaming media 
replication in a communication netWork. 
[0003] 2. Description of the Related Art 
[0004] Data communication netWorks may include vari 
ous computers, routers, sWitches, and other devices coupled 
to and con?gured to pass data to one another. These devices 
Will be referred to herein as “network elements.” Data is 
communicated through the data communication netWork by 
passing protocol data units, such as frames, packets, cells, or 
segments, betWeen the netWork elements by utiliZing one or 
more communication links. A particular protocol data unit 
may be handled by multiple netWork elements and cross 
multiple communication links as it travels betWeen its 
source and its destination over the netWork. 
[0005] As communication netWorks have improved, it has 
become common to stream live media across the netWork 
from a media server to a requesting end user. FIG. 1 
illustrates one eXample of a communication netWork that 
may be used to deliver a streaming media service (SMS) 
from an SMS provider having one or more streaming media 
server(s) 10 to an end user 12. As shoWn in FIG. 1, in this 
eXample, the streaming media server is connected either 
directly or via an intermediate netWork to a backbone 
netWork 14. The backbone netWork may have multiple 
netWork elements 16, such as routers and sWitches, con?g 
ured to handle high bandWidth traf?c. 
[0006] At the edge of the backbone netWork, one or more 
edge netWork devices 18 take traf?c off the backbone 
netWork and place it onto a metropolitan area netWork 20. 
The metropolitan area netWork is made up of sub-netWorks, 
referred to herein as edge netWorks 22. Each edge netWork 
may connect one or more end netWorks 24 con?gured to 
interface directly With end users 12. 
[0007] Conventionally, as shoWn in FIG. 2, if an end user 
12 desires to have access to a streaming media service 
(SMS), the end user 12 sends a request to a streaming media 
server 10. When resource is alloWed, the streaming media 
server accepts the user request and transmits the streaming 
media service to the end user 12. An SMS session is created 
for each end user, as shoWn in FIG. 2, so that each end user 
could be provided With the streaming media. 
[0008] Unfortunately, the bandWidth provided in the edge 
netWorks and end netWorks may not be suf?cient to handle 
the streaming media, or may cause provision of such ser 
vices to become prohibitively eXpensive. For eXample, it 
may take up to 5 Mbps of transmission capacity to stream 
full motion video media to an end user. If an end netWork 24 
is serving 250 end users, the end netWork Would be required 
to have purchased 1 Gbps of available bandWidth on the link 
26. In addition to this, the netWork element 28 Will also need 
to reserve bandWidth on the link 26 to ful?ll its service level 
agreements With other end users that may require bandWidth 
Apr. 7, 2005 
other than in connection With the streaming media. Thus, 
although there may be plenty of bandWidth on the backbone 
netWork to handle streaming media traffic, the metropolitan 
area netWorks, edge netWorks, and end netWorks may not 
have purchased or installed suf?cient bandWidth to provide 
streaming media to potential end users. 
[0009] One attempt to overcome this issue is to transmit 
the packets using a multicast protocol. Multicast protocols 
operate at the link level or netWork level to cause netWork 
devices to replicate packets in a tree like structure. Unfor 
tunately, to transport multicast traf?c, the streaming media 
server, the end user, and all of the netWork devices in 
betWeen must be multicast enabled and support the particu 
lar multicast protocol. Additionally, multicast protocols tend 
to be complicated, and much more dif?cult to implement 
reliably than the Well established unicast protocols. Several 
multicast protocols Will be discussed beloW. 
[0010] Internet Protocol (IP) multicasting has been pro 
posed for many years With a Well-de?ned suite of protocols, 
such as Internet Group Multicast Protocol (IGMP), Distance 
Vector Multicast Routing Protocol (DVMRP), Multicast 
eXtended Open Shortest Path First (MOSPF), Protocol Inde 
pendent Multicast (PIP)-Dense Mode (PIM-DM), PIM 
Sparse Mode (PIM-SM), and PIM-Source Speci?c Multicast 
(PIM-SSM). IP multicasting is useful, in that it replicates 
content Without redundancy throughout the netWork. HoW 
ever, IP multicasting has Weak netWork security, unidenti?ed 
members, complicated protocols, requires speci?c softWare 
and hardWare implementations, and has experienced scal 
ability problems in large netWorks. 
[0011] Mbone (Multicast backBONE) is a virtual multi 
cast netWork that provides point to point tunnels to connect 
multicast-enabled islands in the unicast ubiquitous Internet. 
Each island has one or more multicast routers that act as the 
Mbone tunnel end points. As a result, multicast content is 
encapsulated in unicast packets and transferred betWeen 
multicast routers through the Internet. But, Mbone is still 
based on IP multicasting and cannot prevent the problems 
associated With IP multicasting. 
[0012] Meta-Content multicasting introduces a Meta-Con 
tent concept and uses User Datagram Protocol (UDP) 
instead of HyperTeXt Transport Protocol/Transmission Con 
trol Protocol (HTTP/TCP) for Internet content multicast. 
Meta-content is a series of mathematical metaphors that 
represent the original content according to a special algo 
rithm. For a piece of content, a speci?c server generates a 
redundant stream of meta-content, and multicasts via UDP 
to speci?c clients. A client starts collecting pieces of meta 
content until it can restore the content. Its bene?t is that UDP 
is used to replace TCP for fast content transport and maXimal 
bandWidth utiliZation. But, this requires IP multicasting 
support and can only Work With proprietary softWare sys 
tems. 
[0013] Hop-by-hop (HBH) multicasting introduces doWn 
stream netWork hops as members in a multicast group. HBH 
uses multicast control tables for group membership infor 
mation and multicast forWard tables for content forWarding 
to reach all group members. HBH has smaller multicast 
routing tables and requires EP multicast support only on 
those routers close to the end users. But HBH still uses IP 
multicasting, and HBH-enabled routers must be deployed 
throughout the Internet to make this solution Work.
US 2005/0076099 A1 
[0014] End system multicasting, such as that described as 
the Carnegie Mellon University (CMU) Narada protocol, is 
an approach to realiZe application multicasting that moves 
the IP multicast functions from the netWork routers to end 
systems. That is, each member in a multicast group is a 
virtual “multicast router” that maintains a neighbor graph 
and replicates packets to its neighbors. End system multi 
casting does not need any multicast support from the net 
Work. HoWever, it makes an end system more complicated, 
since it requires the end system to perform multicast routing 
While it receives the content. Additionally, a neW member 
cannot join a multicast group unless it knoWs at least a live 
“end system” in its neighborhood. 
[0015] A knoWn solution that has been attempted is to 
cache streaming media in advance at a locations close to end 
netWorks, so that transmission of streaming media doesn’t 
need to travel as far over most of the communication 
netWork. There are tWo disadvantages to this. First, content 
caching netWork devices require large memories to be 
utiliZed to store the content throughout the netWork. Addi 
tionally, due to the large storage requirements, storage 
servers rather than the netWork devices 28 are generally used 
to cache all of the available media streams that may poten 
tially be requested by the end users. Hence, media caching 
is unlikely to alleviate congestion on the link 26 since the 
content servers are likely to be placed closer to the edge of 
the backbone netWork. Moreover, for live streaming media 
(streaming media that is being created contemporaneously 
With transmission) caching servers are ineffective since the 
content does not eXist beforehand and, hence, cannot be 
pre-cached. 
[0016] In addition to the potential lack of capacity on link 
bandWidth, requiring the streaming media server 10 to host 
a large number of SMS sessions may cause netWork con 
gestion and service interruption on the streaming media 
server(s) 10. One Way to ameliorate this is to use server load 
balancing. Server load balancing is Well knoWn in Internet 
Web access. Recent netWork sWitch products such as Web 
sWitches can balance the server load in a service provider 
netWork by shifting client requests from one server to 
another. Server load balancing can prevent a server from 
overloading When other servers are underloaded. HoWever, 
server load balancing neither reduces the number of client 
connections nor increases the server capacity. Once the total 
capacity of the media servers reaches a particular limit, 
service interruption problems reoccur. 
[0017] Recent proposals have been proposed to enable 
streaming media to be replicated on the netWork. A major 
proposal is to add a streaming media proxy on netWork 
devices to redirect client requests to inline streaming media 
proXy services or offline streaming media proxy server. A 
typical solution of this proposal is to combine the proXy 
mechanism With caching servers. Another proposal uses 
traf?c interception on netWork devices to detect client 
requests of particular streaming media services. While this 
proposal does not use a proXy, it also has not yet been 
developed into a feasible solution. 
[0018] Accordingly, it Would be advantageous to provide 
an apparatus con?gured to enable live streaming media to be 
transmitted to multiple end users While alleviating band 
Width requirements required to accommodate these trans 
missions. 
Apr. 7, 2005 
SUMMARY OF THE INVENTION 
[0019] The present invention overcomes these and other 
draWbacks by providing a method and apparatus for live 
streaming media replication in a communication netWork. 
Embodiments of the invention may reduce bandWidth 
requirements on the netWork and/or reduce the number of 
SMS sessions required to be hosted by the streaming media 
server, although the invention is not limited to a solution that 
achieves either or both of these potential bene?ts. According 
to one embodiment of the invention, streaming media 
requests are intercepted by a netWork element on the net 
Work. AnetWork service, referred to herein as a “replication 
service,” evaluates the request and, if the streaming media is 
not currently streaming through the netWork element, inter 
faces With the streaming media server to ful?ll the request. 
If the streaming media is already streaming through the 
netWork element, the netWork element replicates the stream 
ing media and forWards the streaming media to the request 
ing user. 
[0020] The replication service is deployed on a netWork 
element such as a router and provides a number of function 
modules, such as client/service registration, classi?cation, 
packet interception and forWarding, media replication, status 
monitoring, and con?guration management. The modules of 
the replication service interact together to form a service that 
may alloW streaming media to be replicated intermediate the 
streaming media service provider and end users. The repli 
cation service is transparent to the end users so that they can 
act normally Without any change. 
[0021] By replicating the streaming media for the user 
rather than establishing a neW SMS session from the stream 
ing media server, it is possible to reduce bandWidth on the 
links connecting the streaming media server With the repli 
cation netWork element, and hence reduce the costs associ 
ated With providing those services. Additionally, by enabling 
replication to happen in the netWork, the streaming media 
server may serve more end users Without being required to 
host an individual SMS session for each end user. This 
reduces the likelihood that the streaming media server Will 
encounter an overload condition and reduces the amount of 
bandWidth required to connect the streaming media server to 
the backbone netWork. Moreover, by utiliZing a netWork 
service on the netWork element to handle packet replication 
and employing prevailing unicast protocols to handle packet 
distribution, it is possible to replicate packets for distribution 
to mulitiple users Without requiring all netWork devices in 
the path betWeen the streaming media server and the end 
user(s) to agree on, implement, and support a multicast 
protocol. 
BRIEF DESCRIPTION OF THE DRAWINGS 
[0022] Aspects of the present invention are pointed out 
With particularity in the appended claims. The present inven 
tion is illustrated by Way of eXample in the folloWing 
draWings in Which like references indicate similar elements. 
The folloWing draWings disclose various embodiments of 
the present invention for purposes of illustration only and 
are not intended to limit the scope of the invention. For 
purposes of clarity, not every component may be labeled in 
every ?gure. In the ?gures: 
[0023] FIG. 1 is a functional block diagram of an eXample 
of a conventional netWork architecture incorporating a 
streaming media server;
US 2005/0076099 A1 
[0024] FIG. 2 is a functional block diagram of a network 
illustrating streaming media from a streaming media server 
to end users according to conventional methods; 
[0025] FIGS. 3-5 are functional block diagrams of net 
Works illustrating methods of using replication softWare to 
facilitate distribution of streaming media from a streaming 
media server to end users according to embodiments of the 
invention; 
[0026] FIG. 6 is a functional block diagram of a netWork 
illustrating a method of using the replication service at the 
ingress to the netWork adjacent the streaming media server 
as Well as at the egress from the netWork adjacent the end 
users according to an embodiment of the invention; 
[0027] FIG. 7 is a How chart illustrating an example of 
acts that may be performed by the replication service 
according to an embodiment of the invention; 
[0028] FIG. 8 is an example of a softWare package for 
deployment on a netWork element including replication 
softWare according to an embodiment of the invention; and 
[0029] FIG. 9 is a functional block diagram of a netWork 
element con?gured to implement streaming media replica 
tion according to an embodiment of the invention. 
DETAILED DESCRIPTION 
[0030] The folloWing detailed description sets forth 
numerous speci?c details to provide a thorough understand 
ing of the invention. HoWever, those skilled in the art Will 
appreciate that the invention may be practiced Without these 
speci?c details. In other instances, Well-knoWn methods, 
procedures, components, protocols, algorithms, and circuits 
have not been described in detail so as not to obscure the 
invention. 
[0031] According to embodiments of the invention, 
streaming media may be replicated at selective points in a 
communication netWork to enable bandWidth on other sec 
tions of the netWork to be reduced and reduce the burden on 
the streaming media server. According to one embodiment 
of the invention, streaming media requests are intercepted 
by a netWork element at a selected point. A netWork service, 
referred to herein as a Replication Service, evaluates the 
request and, if the streaming media is not currently stream 
ing through the netWork element, interfaces With a streaming 
media server to obtain the streaming media. If the streaming 
media is already streaming through the netWork element, the 
netWork element replicates the streaming media and for 
Wards the streaming media to the requesting user. By rep 
licating the streaming media for the user rather than estab 
lishing a neW SMS session from the streaming media server, 
it is possible to reduce bandWidth on the links connecting the 
streaming media server With the selected replication point. 
Additionally, by enabling replication to happen in the net 
Work, the streaming media server may serve more end users 
Without being required to host an individual SMS session for 
each end user. This reduces the likelihood that the streaming 
media server Will encounter an overload condition and 
reduces the amount of bandWidth required to connect the 
streaming media server to the backbone netWork. Moreover, 
By utiliZing the replication service to handle packet repli 
cation and prevailing netWork unicast protocols to handle 
packet distribution, it is possible to replicate packets for 
distribution to multiple users Without requiring all netWork 
Apr. 7, 2005 
devices in the path betWeen the streaming media server and 
the end user(s) to agree on, implement, and support a 
multicast protocol. 
[0032] FIGS. 3-5 illustrate examples of hoW the replica 
tion service according to an embodiment of the invention 
may be deployed on a netWork, such as the netWork illus 
trated in FIG. 1. In the examples shoWn in FIGS. 3-5, only 
tWo layers of netWork elements, end netWork elements 28 
and edge netWork elements 30, have been illustrated as 
implementing the replication service according to embodi 
ments of the invention. The invention is not limited to these 
illustrated examples, as the replication service may be 
implemented on other netWork devices at other places in the 
netWork as Well. Accordingly, the invention is not limited to 
deployment only in the illustrated locations in FIGS. 3-5, as 
these locations have been selected merely to illustrate poten 
tial uses of the invention on an example netWork. 
[0033] As shoWn in FIG. 3, a replication service 32 may 
be integrated With or connected to an end netWork element 
28 serving end users 12. In this embodiment, the replication 
service is con?gured to intercept requests for access to 
streaming media and interface those requests to the stream 
ing media server 10 as necessary. The replication service 32 
may be deployed in the netWork in individual end netWork 
elements 28, may be housed in a separate netWork element 
(32‘) and attached to the end netWork element 28, or may be 
a shared netWork resource 32“. The invention is not limited 
to hoW the replication service is deployed or made available 
to netWork elements 28. In one embodiment, the end net 
Work elements 28 are routers, Which can be IP routers and 
as recommended layer 4-7 content sWitches, con?gured to 
perform a variety of netWork services, such as routing 
services, and security/?reWall services, and the replication 
service is another netWork service provided by the router. 
The invention is not limited to implementation on a router, 
hoWever. In this embodiment, a router may be any netWork 
element that is con?gured to intercept, ?lter, or mirror, and 
forWard packets on the netWork. 
[0034] Optionally, Where the end netWork is a passive 
optical netWork and the backbone is also an optical netWork, 
the netWork element 28 or (30 at an edge netWork) may be 
a demarcation point betWeen tWo optical netWorks. The 
invention is thus not limited to a particular type of netWork 
and may be utiliZed in connection With many different types 
of netWorks and netWork devices. For example, the replica 
tion service may be included in a layer 3 netWork device 
such as a router, a layer 2 netWork device such as a sWitch, 
a layer 4 plus netWork device such as a content sWitch, a 
Wireless access point, a Digital Subscriber Line Access 
Multiplexer (DSLAM), an access gateWay, or any other type 
of netWork device. The replication service may be used on 
a public netWork such as the Internet, a private netWork such 
as a Local Area NetWork or in any other type of 
communication netWork. 
[0035] The replication service, at a functional level, oper 
ates to interconnect end users With a streaming media server 
to enable streaming media to be streamed to multiple end 
users Without requiring the underlying netWork to be com 
pliant With a multicast protocol. It also alloWs a streaming 
media server to serve multiple requests Without generating 
an individual media stream for each request, thus enabling 
it to serve larger numbers of end users Without encountering 
congestion.
US 2005/0076099 A1 
[0036] As discussed in greater detail below, according to 
one embodiment of the invention, the replication service is 
a netWork service that is deployed on a netWork element and 
con?gured to receive requests for streaming media from end 
users and ful?ll those requests by either requesting the 
streaming media from the streaming media server or causing 
the request to be ful?lled by replicating a streaming media 
service to the end user. AlloWing a request for streaming 
media service to be ful?lled Without generating a neW SMS 
session reduces the number of sessions that must be pro 
vided simultaneously by the streaming media server, and 
reduces the bandWidth on the link upstream from the repli 
cation service, thus loWering the cost associated With pro 
viding the streaming media services to the requesting end 
users. 
[0037] A comparison betWeen FIGS. 2 and 3 illustrates 
the bandWidth conservation on the netWork. Speci?cally, in 
FIG. 2, siX end users 12 are being supplied With streaming 
media from a streaming media server. For the sake of this 
eXample, it Will be assumed that all of the streaming media 
content is the same, such as live video coverage of a sports 
event. Accordingly, as shoWn in FIG. 2, each link 26 
connecting netWork elements 28 and 30 is required to carry 
one SMS session for each end user that Wishes to have 
access to the streaming media. By contrast, in the embodi 
ment illustrated in FIG. 3, the replication service is able to 
reduce the bandWidth on its associated link 26 to one SMS 
session by replicating the streaming media services for its 
end users. This bandWidth requirement savings is manifest 
on the backbone netWork as Well, although the backbone is 
assumed to have suf?cient bandWidth to handle any amount 
of traf?c generated by the streaming media server. 
[0038] Using a replication service, instead of a multicast 
protocol, enables staged deployment to be implemented 
Without requiring the underlying transport netWork to be 
upgraded. Speci?cally, according to embodiments of the 
invention, the replication service is a streaming media-savvy 
control mechanism deployed on a netWork element, such as 
netWork element 28 or netWork element 30, that functions to 
act as a transparent intermediary betWeen the end user and 
the streaming media server. Standard unicast protocols may 
be used to stream the media from the streaming media server 
to the netWork element hosting the replication service, and 
betWeen the netWork element hosting the replication service 
and the end users. Accordingly, an Internet Service Provider, 
providing service to end users 12 through netWork element 
28, may deploy the replication service according to an 
embodiment of the invention independently, and Without 
requiring the backbone or other netWork elements be 
upgraded to implement one of the relatively compleX mul 
ticast protocols. By making the service transparent, the end 
users are not required to adopt a special softWare package or 
utiliZe a speci?c control mechanism to enable the replication 
service to be deployed on the netWork. 
[0039] FIG. 4 illustrates another location Where the rep 
lication service may be deployed in the netWork. In this 
embodiment, the replication service 32 is deployed at the 
edge netWork level in an edge netWork element 30. The 
replication service 32 may be incorporated into the edge 
netWork element 30 (not shoWn) or provided external to the 
edge netWork element and interfaced With the edge netWork 
element (as shoWn). The invention may be deployed in 
Apr. 7, 2005 
either fashion and the invention is not limited to any 
particular deployment implementation. 
[0040] FIG. 5 illustrates another manner in Which the 
replication service may be deployed in the netWork. In the 
embodiment illustrated in FIG. 5, the replication service 
may be selectively deployed throughout the netWork so that 
replication may take place at a higher-level netWork element 
for those loWer-level netWork elements that are not capable 
of performing packet replication services. Speci?cally, as 
shoWn in FIG. 5, in this embodiment the end netWork 
element 28 has been provided or interfaced With the repli 
cation service. Accordingly, it is able to handle streaming 
media replication on behalf of the attached end users 12. The 
end netWork element 28‘ is not capable of packet replication, 
has not been provided With or interfaced to the replication 
service, or is otherWise not con?gured to participate in the 
packet replication system described herein. HoWever, the 
higher-level edge netWork element 30 has been provided 
With the replication service. Accordingly, the edge netWork 
element 30 may perform replication services on behalf of the 
end users 12 that connect through the end netWork device 
28‘. Optionally, the replication service at the higher level 
netWork element may treat the end netWork element 28 as a 
user, intercept streaming media requests from it, and further 
reduce the number of connections to the streaming media 
server 10. Thus, a layered replication services architecture 
may be implemented to further reduce the bandWidth on 
links interconnecting the netWork elements and the stream 
ing media server. 
[0041] As discussed in greater detail beloW, upon receipt 
of a streaming media request, the replication service 32 
ascertains if the requested streaming media is already 
streaming through the netWork element 28. If the streaming 
media is already being handled by the netWork element 28, 
the replication service 32 causes the netWork element to 
replicate the streaming media and additionally transmit the 
streaming media to the neW requesting end user. If the 
netWork element 28 is not handling the requested streaming 
media, the replication service alloWs the request to be passed 
to the streaming media server or generates a neW request for 
streaming media and issues the request to the streaming 
media server 10. Subsequent requests for access to this neW 
streaming media Will be intercepted, as discussed above, and 
the streaming media may be made available to neW request 
ing end users. 
[0042] Many types of media may be transmitted from a 
streaming media server. Examples of conventional stream 
ing media include audio programs such as music, audio 
video productions such as movies, sporting events, neWs 
casts, games, and computer generated data streams. The 
invention is not limited to any particular type of streaming 
media. 
[0043] The streaming media contemplated to be handled 
by the replication service, hoWever, is not to be cached by 
the replication service and transmitted by the replication 
service at a later time. Rather, the replication service, 
according to embodiments of the invention, releases a piece 
of media received just after replication and transmission to 
the intended recipients. Accordingly, the replication service 
does not require large storage resources as a caching service 
does, and as that term is used contemporaneously. Addition 
ally, the replication service is not a proXy as that term is used
US 2005/0076099 A1 
contemporaneously. Speci?cally, according to an embodi 
ment of the invention, end users do not con?gure or even 
knoW With the replication service. The replication service 
rather is con?gured to intercept streaming media requests 
generated by end users and thereby appears transparent to 
the end users. 
[0044] In the previous several embodiments, the invention 
has been described as operating at the egress to the netWork 
adjacent the end users 12. The invention is not limited in this 
manner as the replication service may similarly be utiliZed 
at the ingress to the netWork adjacent the media server. 
Using a replication service at the ingress may be particularly 
useful for entities such as small businesses, home users, and 
Wireless users, desiring to stream media from farther aWay 
from the edge of the backbone netWork. While it may also 
be used for large streaming media providers, such as neWs 
sources and other big corporations, such streaming media 
sources typically may be situated suf?ciently close to the 
ingress to the backbone to make replication on the ingress 
unnecessary. FIG. 6 illustrates one embodiment in Which the 
replication service is deployed in a netWork element at the 
ingress to the netWork adjacent the media server. Deploying 
the replication service for ingress traf?c enables the media 
server to be placed closer to the edge of the netWork and 
utiliZe loWer bandWidth communication links to host stream 
ing media sessions. This, accordingly, enables the streaming 
media service provider to reduce its costs by not requiring 
the streaming media service provider to have direct or near 
direct access to the communications backbone. 
[0045] As shoWn in FIG. 6, the streaming media server 10 
according to an embodiment of the invention is connected to 
the communications netWork 14 through an end netWork 
element 28 or an edge netWork element 30 containing or 
interfacing a replication service 32. Providing a replication 
service on one of the netWork elements connecting the 
streaming media server 10 to the communications netWork 
14 enables the streaming media server 10 to host a single 
streaming media session for all end users regardless of 
Where on the communication netWork they reside. This 
reduces the bandWidth requirements on the portion of the 
communication netWork betWeen the replication service 32 
and the streaming media server 10 to enable the streaming 
media server to be deployed closer to the edge of the 
netWork. 
[0046] For example, as shoWn in FIG. 6, in this embodi 
ment streaming media sessions from the streaming media 
server are intercepted by the replication service adjacent the 
ingress to the communication netWork and replicated at that 
point to be distributed to various edge and end netWorks 
connected to the communication netWork. These sessions 
may be further replicated at the edge or end netWork devices 
to provide streaming media services to end users 12. By 
using the replication service at several points in the netWork 
it is possible to minimiZe transmission requirements 
throughout the netWork and hence minimiZe costs associated 
With providing the streaming media services. 
[0047] FIG. 7 is a How chart illustrating the behavior of an 
example of a replication service according to an embodi 
ment of the invention. As shoWn in FIG. 7, upon receipt of 
a request for access to a streaming media service (SMS) 
from a client process (50), the replication service determines 
if the client is registered With the registration service (52). 
Apr. 7, 2005 
Registration may be important for several reasons. For 
example, the registration service may need to have identi 
?cation information associated With the client process to 
determine if the end user is able to authenticate its identity 
to the registration service, is authoriZed to receive streaming 
media services, and to establish accounting entries so that 
the client can be charged for the provision of streaming 
media services. The client registration may be used for other 
pragmatic considerations as Well, such as to exchange 
encryption keys, transmission parameters, and other items of 
information that may be useful for the parties to enable the 
streaming media to be transferred in a useable and/or secure 
format. According to one embodiment of the invention, 
registration may be performed automatically When the client 
sends a request to the streaming media server for access to 
particular streaming media services. Those clients, accord 
ing to an embodiment of the invention, may not be aWare of 
the replication service or that its request is not being handled 
directly by the streaming media server. Normally, for a 
streaming media service, there is no direct communication 
betWeen a client and the replication service, i.e., the client in 
normal operation Would not speci?cally direct communica 
tion toWard the replication service but Would instead direct 
communication toWard the streaming media server. HoW 
ever, if a client has special privilege to the replication service 
or uses a particular feature of the replication service, it may 
need to communicate With the replication service. 
[0048] If the client process is not registered With the 
replication service, the replication service Will obtain the 
client identity from the request and look up the client 
information from the service database that is set up initially 
in connection With service con?guration. Then the replica 
tion service registers the client process by adding appropri 
ate entries in the registration process update tables. (54). A 
premium client usually has its service pro?le pre-established 
With a service provider. Other processes may take place in 
connection With registration and the invention is not limited 
to these several examples. 
[0049] If the client process is registered or after the client 
process has been registered, the replication service checks to 
see if the streaming media server is registered With the 
replication service (56). Registration of the streaming media 
service may encompass logging of identity information, 
location/address information, or other information relevant 
to access to the streaming media server. Additionally, the 
media streamed to the end user, in many cases, Will be 
subject to copyright protection. In these instances, since the 
replication service is replicating the data stream, the repli 
cation service Will need to pay royalties to the copyright 
oWner for copying the streaming media on behalf of the 
clients it serves or tell the streaming media provider (inline 
or offline by its client/service and status monitoring mod 
ules) Which end users requested the content so that the end 
users may be billed for the content. The replication service 
has an extensible interface for billing clients according to 
their requested services. Registration of the streaming media 
service With the replication service, and vice versa, enables 
appropriate accounting and auditing to take place betWeen 
the participants in the streaming media replication process to 
enable the appropriate accounting to be done to the copy 
right oWner. If the streaming media service is not registered 
With the replication service, the replication service Will 
register With the streaming media server (58). Optionally, all 
of the registration processes may be performed concurrently,
US 2005/0076099 A1 
for example by making the registration of the streaming 
media service part of the client registration process dis 
cussed above, or the service registration process discussed 
below. 
[0050] Once the client and the requested streaming media 
service (SMS) are all registered and the replication service 
thus obtains appropriate information to enable streaming 
media to be delivered to the end user, the client request is 
classi?ed to ascertain What SMS is being requested by the 
client (60). Classi?cation enables the replication service to 
obtain information that it Will use to ascertain if it is 
currently handling the requested streaming media for 
another end user, or to enter into a table so that it Will be able 
to identify the streaming media at a later time if requested by 
another end user. Simulating an SMS server, the replication 
service may also reply to the client about the status of its 
request at this or at any other time during the process. 
Classi?cation may involve processing registration informa 
tion about the SMS description and about the client request 
speci?cations in order to identify an SMS desired by the end 
user. Using the same information or information derived 
from the classi?cation or identi?cation information for all 
the participants in one SMS may advantageously avoid 
inconsistencies in classi?cation by the replication service 
and further simplify implementation of the replication ser 
vice on the netWork element. Additionally, classi?cation is 
useful to enable the replication service to identify content 
provided by the streaming media provider as part of the 
streaming media service. 
[0051] Once the request is classi?ed, the replication ser 
vice ascertains Whether it is currently handling the requested 
streaming media service for another end user (62). Option 
ally, requests may occur for access to streaming media in the 
future, and the replication service may use this scheduling 
information contained in the request to ascertain Whether it 
has other requests for the same streaming media service at 
the future requested point. 
[0052] If the replication service is handling the requested 
streaming media service for another end user, it Will set the 
appropriate ?lters to capture packets from that SMS session, 
generate headers for the replicated packets, replicate the 
payload portion of the captured packets, and cause the 
captured and replicated packets to be output to the intended 
end users (64). 
[0053] If the replication service is not handling the 
requested streaming media service for another end user, it 
Will interface With the streaming media server by passing the 
request or issuing a neW or modi?ed request to the appro 
priate streaming media server to create a neW SMS session 
to the end user (66). The packets in this SMS session Will be 
passed to the end user (68). If, at a later time, the replication 
service receives a request for access to the streaming media 
service from other users, it may make the SMS session 
available to those users using the process outlined above. 
[0054] FIG. 8 illustrates one example of a replication 
service softWare environment interfaced With a routing 
softWare environment such as a router OS 84. The replica 
tion service may be physically collocated With the routing 
softWare, or mated With the routing softWare from a plug-in 
blade on a netWork element, or interfaced to the routing 
softWare from an attached netWork element, e.g., an external 
hardWare component associated With the netWork element. 
Apr. 7, 2005 
The invention is not limited to disposition of a replication 
service softWare package that is con?gured to run on a 
netWork element. 
[0055] As shoWn in FIG. 8, the replication service soft 
Ware environment has several subsystem. A ?rst subsystem, 
referred to herein as a con?guration module, provides a 
management interface to the replication service to enable the 
netWork operator to set parameters associated With provision 
of services on the netWork. Examples of aspects of service 
provision that may be set include setting the maximum 
number of different concurrent SMS sessions that may 
coexist at any one time through a given router, limiting the 
number of streaming media services that may be transmitted 
to a given end-user at any one time, setting a maximum 
transmission rate at Which the netWork element Will stream 
media in a SMS session, setting data sources such as client 
pro?les, service classes or transmission priorities, and many 
other parameters. For example, the con?guration module 
may interface With the management information base (MIB) 
to set values and read values associated With the perfor 
mance of the replication service on the netWork element. 
The invention is not limited to particular con?guration 
parameters con?gurable through this module on the repli 
cation service. Optionally, Where the routing softWare inter 
faced by the replication service has a con?guration module 
or con?guration subsystem, the replication service may be 
accessed through the routing softWare by interfacing the 
routing softWare system With the con?guration module of 
the replication service softWare system. 
[0056] The replication service softWare module also 
includes a status subsystem con?gured to enable the status 
of the SMS sessions to be monitored prior to, during, and 
after the SMS sessions have been con?gured through the 
replication service. Information collected by the status sub 
system may include information such as the identity of the 
SMS sessions handled by the registration service, the genre 
of the SMS sessions, Which end users requested access to 
Which streaming media service by identity or genera, the 
average duration of the SMS sessions, and many other 
aspects associated With the nature of the services provided 
by the replication service such as account billing. 
[0057] Additionally, the status subsystem may be used to 
monitor the status of the SMS sessions handled by the 
netWork element. SMS sessions may not have a prede?ned 
end point. For example, a professional boxing match may 
last anyWhere from a feW seconds to over an hour. If the 
streaming media service is a coverage of the professional 
boxing match, it may not be possible to specify at the outset 
the duration of the streaming media service or SMS session. 
As a given netWork element may be only able to handle a set 
number of SMS sessions, the status subsystem may detect 
When SMS sessions have terminated so that the netWork 
element may be alloWed to handle additional SMS sessions 
for its end users. 
[0058] There are several Ways of determining When an 
SMS session has ended. One Way may be through the use of 
a control packet generated by the streaming media server 
indicating that the streaming media service or SMS session 
has ended. Another Way may be to monitor traffic ?ltered out 
by the netWork element for replication or transmission to the 
end user(s). Another Way may be to monitor acknoWledge 
ment traf?c ?ltered out by the netWork element for requests
US 2005/0076099 A1 
from the end user. Where either of media or acknoWledge 
ment traffic is not received for a predetermined period of 
time, for example 30 seconds, it may be assumed that the 
SMS session has terminated. 
[0059] The main softWare subsystem associated With the 
replication service is the client/service subsystem. The cli 
ent/services subsystem controls tWo other subsystems 
(packet and replication) and manages streaming media ser 
vices and clients, including client and service registrations 
and classi?cations, and client-service connections. The cli 
ent/services subsystem also handles control messages gen 
erated in connection With providing replication services. 
One eXample control protocol that may be used to eXchange 
control messages betWeen the end users, replication service, 
and streaming media server, is the Real Time Control 
Protocol (RTCP) described in Internet Engineering Task 
Force (IETF) Request For Comments (RFC) number 3550, 
the content of Which is hereby incorporated herein by 
reference. Another eXample is the streaming acknoWledge 
ment messages such as TCP and UDP feedbacks. Other 
control protocols may be used as Well, and the invention is 
not limited to an embodiment utiliZing one of these particu 
lar mentioned control protocols. 
[0060] The client/service subsystem Works in connection 
With tWo subservient subsystems, the packet subsystem and 
the replication subsystem, to provide the replication services 
on the communication netWork. The packet operations sub 
system provides the packet processing capability over tar 
geted streaming media traffic, including packet ?ltering, 
packet interception, packet processing, packet reassembly, 
and packet forWarding. This subsystem interfaces With the 
netWork element to set ?lter rules on the netWork element, 
intercept packets associated With the streaming media ser 
vice, instruct the processor hoW to process the intercepted 
packets, set rules associated With reassembly of the packets, 
and provide rules associated With forWarding the packets on 
to the end users. 
[0061] In the embodiment shoWn in FIG. 9, the packet 
subsystem has several modules to enable it to process 
netWork traf?c. Speci?cally, in this embodiment, a ?lter 
module sets up or removes IP ?lters for traf?c redirection of 
streaming media clients and servers (to a replication ser 
vice), an interception module receives and intercepts the 
redirected traf?c, a processing module processes the proto 
col headers of the intercepted packets from clients and 
servers, a reassemble module reassembles IP packets for 
client connections and media replication, and a forWarding 
module forWards the re-assembled packets to their destina 
tions. The invention is not limited to an embodiment having 
these particular modules as other and additional modules 
may be utiliZed as Well. 
[0062] The media replication subsystem provides the 
streaming media content replications to multiple clients, 
including IP/TCP/UDP header replication, streaming proto 
col header replication, server response replication, and data 
content replication. In the embodiment shoWn in FIG. 9, the 
replication module has several modules to enable it to 
provide content replication to its clients. Speci?cally, in this 
embodiment a media content module replicates the media 
content of an SMS to a client, a server response module 
handles interactions With the streaming media server, a 
streaming header module generates the streaming protocol 
Apr. 7, 2005 
header such as RealTime Streaming Protocol (RTSP) and 
Realtime Transport Protocol (RTP) of a media content 
replication, an IP/TCP/UDP header module generates the IP 
protocol header of a media content replication, and a packet 
forWarding module uses the packet module to send the 
replication packets to the netWork. 
[0063] When an edge device starts, the replication service 
sets up traf?c ?lters such as IP (L3+) ?lters on the devices 
to intercept the netWork traf?c of preset streaming media 
services. When a client tries to connect to a streaming media 
service, the edge device intercepts the connection request 
and redirects the request to the packet module. The client 
connection request is processed so that the replication ser 
vice, through the client/service module, learns Whether this 
client is a neW client and Whether the requested service is a 
neW service. If the client is neW, the replication service 
registers this client With the requested service. If the service 
is neW, the replication service creates a media connection to 
the media server. When the server connection feedback is 
redirected, the replication service registers this service and 
starts the client connections according to the server feed 
back. When a service sends out media, the replication 
service intercepts the media traf?c by the packet module and 
uses the replication module to replicate the media content 
for each client that request the service. Then, the replication 
service also uses the packet module to forWard the media 
replication to the client destinations. 
[0064] For later clients requesting an eXisting service, the 
replication service does not create a neW connection to the 
media server. Rather, the replication service uses the server 
connection feedback to establish a neW client connection. 
Once the connection is done, the replication service repli 
cates the oncoming media content to the client in real time. 
The replication service, in this conteXt, is con?gured to 
replicate relatively contemporaneous portions of streaming 
media since the replication service is not con?gured to cache 
media for later reproduction and distribution. 
[0065] In the replication service, streaming media clients 
and servers are classi?ed by their respective information, for 
eXample source IP address, transport protocols and port 
numbers, and service names and program IDs. Thus, a client 
and a server can be identi?ed uniquely from the streaming 
protocol used. This creates an opportunity for an ISP to use 
the classi?cation capability to apply particular service 
enhancements, such as client authentication, service priori 
ties, and billing. The replication service is a con?gurable 
service so that an ISP can con?gure the replication service 
for its oWn purposes. To this end, as discussed above, the 
replication service is provided With auXiliary modules, such 
as a con?guration module for service setup, control, and 
customiZation, and a status module for service monitoring, 
reporting, and statistics generation. 
[0066] FIG. 9 illustrates a netWork element con?gured to 
perform replication services according to an embodiment of 
the invention. As shoWn in FIG. 9, the netWork element 70 
contains a processor 72 having control logic 74 con?gured 
to implement the functions associated With the replication 
services as described above in connection With FIGS. 1-7. 
[0067] Most netWork elements have tWo hardWare 
planes—a transport plane that forWards data from one port 
to another, and a control plane that controls hoW data is 
forWarded. The replication service, according to an embodi
US 2005/0076099 A1 
ment of the invention, resides in or interfaces With the 
control plane to apply intelligent control over streaming 
media traf?c and over the replication of media content to 
multiple clients. In the event that an edge device has limited 
capacity in its control plane, it can attach additional hard 
Ware such as a competent computing blade or a replication 
service-speci?c accelerator. In the embodiment illustrated in 
FIG. 9, the replication softWare may therefore be resident in 
the netWork element 70 or may be associated With the 
netWork element 70 but physically instantiated on a separate 
computing platform/environment such as in a computing 
environment on a blade server. The invention is not limited 
to a particular implementation or particular manner of 
instantiating the replication service softWare. 
[0068] In the embodiment illustrated in FIG. 9, the net 
Work element 70 includes interfaces (ports) 76 con?gured to 
interface With links on the communication netWork. Asubset 
of the ports in the netWork element are con?gured to face 
toWard netWork users to handle communications With the 
netWork users and, optionally, one or more ports may be 
con?gured to face the backbone netWork or other higher 
bandWidth netWork communication service. 
[0069] The ports 76 are connected to a sWitch fabric 78 
Which routes traf?c betWeen ports under the control of the 
processor 72 running control logic 74. A packet queue 80 
may be provided to temporarily store packets as routing/ 
sWitching decisions are being made as to hoW the packets 
should be handled by the sWitch fabric. A packet generator 
82, under the control of the netWork processor, is provided 
to inject replicated packets into the sWitch fabric to enable 
the netWork element to transmit packets to the intended 
recipients of a streaming media service. The sWitch fabric 
and netWork element operations are directed by routing 
softWare 84, Which may include an associated routing infor 
mation base and other standard netWork element softWare 
modules or subsystems. 
[0070] According to an embodiment of the invention, a the 
netWork element also includes or is interfaced to a replica 
tion softWare subsystem 86 containing data and instructions 
to enable the netWork processor to cause the netWork 
element to perform the functions ascribed to the replication 
service described above. 
[0071] The control logic of FIG. 9 may be implemented as 
a set of program instructions that are stored in computer 
readable memory Within the netWork element and eXecuted 
on a microprocessor Within the netWork element. HoWever, 
it Will be apparent to a skilled artisan that all logic described 
herein can be embodied using discrete components, inte 
grated circuitry such as an Application Speci?c Integrated 
Circuit (ASIC), programmable logic used in conjunction 
With a programmable logic device such as a Field Program 
mable Gate Array (FPGA) or microprocessor, or any other 
device including any combination thereof. Programmable 
logic can be ?Xed temporarily or permanently in a tangible 
medium such as a read-only memory chip, a computer 
memory, a disk, or other storage medium. Programmable 
logic can also be ?Xed in a computer data signal embodied 
in a carrier Wave, alloWing the programmable logic to be 
transmitted over an interface such as a computer bus or 
communication netWork. All such embodiments are 
intended to fall Within the scope of the present invention. 
[0072] It should be understood that various changes and 
modi?cations of the embodiments shoWn in the draWings 
Apr. 7, 2005 
and described in the speci?cation may be made Within the 
spirit and scope of the present invention. Accordingly, it is 
intended that all matter contained in the above description 
and shoWn in the accompanying draWings be interpreted in 
an illustrative and not in a limiting sense. The invention is 
limited only as de?ned in the folloWing claims and the 
equivalents thereto. 
What is claimed is: 
1. A method for live streaming media replication in a 
communication netWork, the method comprising the steps 
of: 
intercepting a request by a client for access to a streaming 
media service available from a streaming media pro 
vider, by a replication service on a netWork element 
intermediate the client and a streaming media provider; 
registering the client if the client is not already registered 
With the replication service; 
registering the requested streaming media service if it is 
not already registered With the replication service; 
establishing a unique streaming media session With the 
streaming media provider if the streaming media ser 
vice is not currently being handled by the replication 
service; 
con?guring the replication service to intercept protocol 
data units associated With the streaming media service; 
replicating the streaming media from the established 
streaming media session to the client, after the stream 
ing media session is established; and 
monitoring the status of streaming media sessions for 
security and accounting purposes. 
2. The method of claim 1, further comprising classifying 
the request by the intermediate netWork element to obtain a 
classi?ed request. 
3. The method of claim 1, further comprising determining 
Whether the streaming media session is being handled by the 
replication service. 
4. The method of claim 2, further comprising determining 
Whether the streaming media session is being handled by the 
replication service by comparing the classi?ed request 
against information associated With streaming media ses 
sions being handled by the replication service. 
5. The method of claim 1, further comprising scheduling 
delivery of the live streaming media session at a future point 
in time, and upon occurrence of the future point in time, 
performing the steps of obtaining and replicating. 
6. The method of claim 1, further comprising registering 
the replication service With the streaming media service. 
7. The method of claim 1, further comprising establishing 
accounting entities associated With the streaming media 
service. 
8. The method of claim 1, Wherein the step of con?guring 
the replication service to intercept protocol data units com 
prises establishing ?lters to intercept traffic in the streaming 
media service. 
9. The method of claim 1, further comprising the step of 
interfacing With the streaming media server to instruct the 
streaming media server to provide the requested streaming 
media.
US 2005/0076099 A1 
10. The method of claim 1, wherein the step of intercept 
ing, establishing, and replicating are transparent to the 
client. 
11. The method of claim 1, Wherein the request by the 
client for access to the streaming media session is generated 
by the client and addressed to the streaming media server. 
12. An apparatus for implementing live streaming media 
replication in a communication netWork, comprising: 
control logic con?gured to: 
intercept requests for access to a streaming media 
service; 
interface the intercepted request to the streaming media 
server if a streaming media session containing the 
streaming media service is not being handled by the 
apparatus; 
replicate the streaming media session to provide the 
streaming media service if the requested streaming 
media session is being handled by the apparatus. 
13. The apparatus of claim 12, Wherein the control logic 
is further con?gured to classify the requests and use the 
classi?ed requests to ascertain if the requested streaming 
media sessions are being handled by the apparatus. 
14. The apparatus of claim 12, further comprising repli 
cation tables containing information relating to streaming 
media clients and streaming media sessions. 
15. Replication softWare contained in a computer readable 
storage medium, comprising: 
program code con?gured to perform client services; 
program code con?gured to perform packet operations; 
and 
program code con?gured to perform streaming media 
replication. 
Apr. 7, 2005 
16. The replication softWare of claim 15, Wherein the 
program code con?gured to perform client services is con 
?gured to perform streaming media client registration and 
streaming media client classi?cation. 
17. The replication softWare of claim 15, Wherein the 
program code con?gured to perform client services is con 
?gured to perform streaming media service registration and 
streaming media service classi?cation. 
18. The replication softWare of claim 15, Wherein the 
program code con?gured to perform packet operations is 
con?gured to implement packet ?ltering and packet inter 
ception to ?lter and intercept packets in a streaming media 
service. 
19. The replication softWare of claim 18, Wherein the 
program code con?gured to perform packet operations is 
further con?gured to implement packet processing, packet 
reassembly, and packet forWarding, for the packets ?ltered 
and intercepted from the streaming media service. 
20. The replication softWare of claim 18, Wherein the 
program code con?gured to perform media replication is 
con?gured to header replication on packets in a streaming 
media service. 
21. The replication softWare of claim 18, Wherein the 
program code con?gured to perform header replication is 
con?gured to perform at least one of Internet Protocol (IP) 
header information replication, Transmission Control Pro 
tocol (TCP) header information replication, and User Data 
gram Protocol (UDP) header information replication. 
22. The replication softWare of claim 21, further com 
prising program code con?gured to perform streaming pro 
tocol header replication.

More Related Content

ZIP
2 applications.key
PDF
Achieving The Maximum Performance Of Baseline Hsdpa
PDF
Arin_Literature Review (Final)
PPTX
Tcp variants for data center networks
PDF
Improving QoS of VANET using Network Coding
PDF
5 hspa evolution
2 applications.key
Achieving The Maximum Performance Of Baseline Hsdpa
Arin_Literature Review (Final)
Tcp variants for data center networks
Improving QoS of VANET using Network Coding
5 hspa evolution

What's hot (19)

PPTX
DC-HSPA and Carrier Aggregation
PDF
US6970549
PDF
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
PDF
Core cs overview (1)
PPT
TLS in manet
PDF
A cross layer delay-aware multipath routing algorithm for mobile adhoc networks
PDF
A cross layer delay-aware node disjoint multipath routing algorithm for mobil...
PDF
QoS Based Capacity Enhancement for WCDMA Network with Coding Scheme
PDF
An improved radio_resource_management_wi
PDF
Dynamic routing discovery scheme for high mobility in mobile ad hoc wireless ...
PDF
Assessing Buffering with Scheduling Schemes in a QoS Internet Router
PDF
Transmitting urgent data using ANKM method.
PDF
Datasys Proposal (Bc 112906 00)
PDF
Dynamic assignment of traffic classes to a priority queue in a packet forward...
PDF
Live Streaming With Receiver-Based P2P Multiplexing for Future IPTV Network
PPTX
Unit 4
DC-HSPA and Carrier Aggregation
US6970549
Quantitative Evaluation for PMPIv6 Multicast Fast Reroute Operations
Core cs overview (1)
TLS in manet
A cross layer delay-aware multipath routing algorithm for mobile adhoc networks
A cross layer delay-aware node disjoint multipath routing algorithm for mobil...
QoS Based Capacity Enhancement for WCDMA Network with Coding Scheme
An improved radio_resource_management_wi
Dynamic routing discovery scheme for high mobility in mobile ad hoc wireless ...
Assessing Buffering with Scheduling Schemes in a QoS Internet Router
Transmitting urgent data using ANKM method.
Datasys Proposal (Bc 112906 00)
Dynamic assignment of traffic classes to a priority queue in a packet forward...
Live Streaming With Receiver-Based P2P Multiplexing for Future IPTV Network
Unit 4
Ad

Viewers also liked (20)

DOCX
Vida de javier alfonso tenorio maureira
PDF
BIO-DATA OF Pro.R.S. Chaturvedi
PPTX
Go mobile with Windows Phone
PDF
Social Media: The Web Wide World
PPTX
Mi proyecto janeth
PDF
Poster Session 18 ESTEC - Lunar Sample Return Workshop - February 2014
PDF
Investor Presentation Walkabout Resources (ASX:WKT) May 2013
PDF
Tecnología actual de tv parejo carrascal
PDF
Tetuán 30 días diciembre 2012
PPT
Gss Company Profile
PDF
Equipos para sauna mayo 2012
PPTX
He shall be like a tree
PDF
Ley de creacion distrito los chankas
PDF
Text message marketingx
PDF
Contactos
PDF
Inscritos liga vasca master 2014
PPTX
Voleibol licenal
PDF
Verde es-vida
PPSX
HERRAMIENTAS TECNOLOGICAS
Vida de javier alfonso tenorio maureira
BIO-DATA OF Pro.R.S. Chaturvedi
Go mobile with Windows Phone
Social Media: The Web Wide World
Mi proyecto janeth
Poster Session 18 ESTEC - Lunar Sample Return Workshop - February 2014
Investor Presentation Walkabout Resources (ASX:WKT) May 2013
Tecnología actual de tv parejo carrascal
Tetuán 30 días diciembre 2012
Gss Company Profile
Equipos para sauna mayo 2012
He shall be like a tree
Ley de creacion distrito los chankas
Text message marketingx
Contactos
Inscritos liga vasca master 2014
Voleibol licenal
Verde es-vida
HERRAMIENTAS TECNOLOGICAS
Ad

Similar to Method and apparatus for live streaming media replication in a communication network (20)

PDF
MULTIPATH BROADCAST AND GOSSIP BASED APPROACH FOR VIDEO CIRCULATION
PDF
Live Streaming over P2PSIP
PDF
Streaming Media On Labs
PDF
A Push-pull based Application Multicast Layer for P2P live video streaming.pdf
PDF
OMG Data-Distribution Service (DDS) Tutorial - 2009
PDF
Lecture 3 4. prnet
PPSX
Qo s provisioning for scalable video streaming over ad hoc networks using cro...
PPT
Jaimin chp-1 - introduction - 2011 batch
PDF
Experiences from a Field Test using ICN for Live Video Streaming
PPT
운영체제론 Ch14
PDF
PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLEN...
PDF
Internet TV
PDF
Audio/Video Conferencing over Publish/Subscribe Messaging Systems
PPT
29 Multimedia
PPTX
Broadcasting
PPT
16.Distributed System Structure
PPT
Edge Device Multi-unicasting for Video Streaming
PDF
Content-aware dynamic network resource allocation
PPT
Chapter 29 - Mutimedia
MULTIPATH BROADCAST AND GOSSIP BASED APPROACH FOR VIDEO CIRCULATION
Live Streaming over P2PSIP
Streaming Media On Labs
A Push-pull based Application Multicast Layer for P2P live video streaming.pdf
OMG Data-Distribution Service (DDS) Tutorial - 2009
Lecture 3 4. prnet
Qo s provisioning for scalable video streaming over ad hoc networks using cro...
Jaimin chp-1 - introduction - 2011 batch
Experiences from a Field Test using ICN for Live Video Streaming
운영체제론 Ch14
PEER-TO-PEER LIVE STREAMING AND VIDEO ON DEMAND DESIGN ISSUES AND ITS CHALLEN...
Internet TV
Audio/Video Conferencing over Publish/Subscribe Messaging Systems
29 Multimedia
Broadcasting
16.Distributed System Structure
Edge Device Multi-unicasting for Video Streaming
Content-aware dynamic network resource allocation
Chapter 29 - Mutimedia

More from Tal Lavian Ph.D. (20)

PDF
Ultra low phase noise frequency synthesizer
PDF
Ultra low phase noise frequency synthesizer
PDF
Photonic line sharing for high-speed routers
PDF
Systems and methods to support sharing and exchanging in a network
PDF
Systems and methods for visual presentation and selection of IVR menu
PDF
Grid proxy architecture for network resources
PDF
Ultra low phase noise frequency synthesizer
PDF
Systems and methods for electronic communications
PDF
Ultra low phase noise frequency synthesizer
PDF
Ultra low phase noise frequency synthesizer
PDF
Radar target detection system for autonomous vehicles with ultra-low phase no...
PDF
Grid proxy architecture for network resources
PDF
Method and apparatus for scheduling resources on a switched underlay network
PDF
Dynamic assignment of traffic classes to a priority queue in a packet forward...
PDF
Method and apparatus for using a command design pattern to access and configu...
PDF
Reliable rating system and method thereof
PDF
Time variant rating system and method thereof
PDF
Systems and methods for visual presentation and selection of ivr menu
PDF
Ultra low phase noise frequency synthesizer
PDF
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Photonic line sharing for high-speed routers
Systems and methods to support sharing and exchanging in a network
Systems and methods for visual presentation and selection of IVR menu
Grid proxy architecture for network resources
Ultra low phase noise frequency synthesizer
Systems and methods for electronic communications
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer
Radar target detection system for autonomous vehicles with ultra-low phase no...
Grid proxy architecture for network resources
Method and apparatus for scheduling resources on a switched underlay network
Dynamic assignment of traffic classes to a priority queue in a packet forward...
Method and apparatus for using a command design pattern to access and configu...
Reliable rating system and method thereof
Time variant rating system and method thereof
Systems and methods for visual presentation and selection of ivr menu
Ultra low phase noise frequency synthesizer
Ultra low phase noise frequency synthesizer

Recently uploaded (20)

PPTX
title _yeOPC_Poisoning_Presentation.pptx
PDF
Dynamic Checkweighers and Automatic Weighing Machine Solutions
PPTX
Wireless and Mobile Backhaul Market.pptx
PPTX
KVL KCL ppt electrical electronics eee tiet
PPTX
Computers and mobile device: Evaluating options for home and work
PPTX
Embedded for Artificial Intelligence 1.pptx
PPTX
Operating System Processes_Scheduler OSS
PPTX
5. MEASURE OF INTERIOR AND EXTERIOR- MATATAG CURRICULUM.pptx
PPTX
Syllabus Computer Six class curriculum s
DOCX
A PROPOSAL ON IoT climate sensor 2.docx
PPTX
Lecture-3-Computer-programming for BS InfoTech
PDF
-DIGITAL-INDIA.pdf one of the most prominent
PPTX
"Fundamentals of Digital Image Processing: A Visual Approach"
PDF
Cableado de Controladores Logicos Programables
PPTX
Sem-8 project ppt fortvfvmat uyyjhuj.pptx
PPTX
Fundamentals of Computer.pptx Computer BSC
PPTX
material for studying about lift elevators escalation
PPTX
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
PPTX
STEEL- intro-1.pptxhejwjenwnwnenemwmwmwm
PPTX
ERP good ERP good ERP good ERP good good ERP good ERP good
title _yeOPC_Poisoning_Presentation.pptx
Dynamic Checkweighers and Automatic Weighing Machine Solutions
Wireless and Mobile Backhaul Market.pptx
KVL KCL ppt electrical electronics eee tiet
Computers and mobile device: Evaluating options for home and work
Embedded for Artificial Intelligence 1.pptx
Operating System Processes_Scheduler OSS
5. MEASURE OF INTERIOR AND EXTERIOR- MATATAG CURRICULUM.pptx
Syllabus Computer Six class curriculum s
A PROPOSAL ON IoT climate sensor 2.docx
Lecture-3-Computer-programming for BS InfoTech
-DIGITAL-INDIA.pdf one of the most prominent
"Fundamentals of Digital Image Processing: A Visual Approach"
Cableado de Controladores Logicos Programables
Sem-8 project ppt fortvfvmat uyyjhuj.pptx
Fundamentals of Computer.pptx Computer BSC
material for studying about lift elevators escalation
PLC ANALOGUE DONE BY KISMEC KULIM TD 5 .0
STEEL- intro-1.pptxhejwjenwnwnenemwmwmwm
ERP good ERP good ERP good ERP good good ERP good ERP good

Method and apparatus for live streaming media replication in a communication network

  • 1. US 20050076099A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2005/0076099 A1 Wang et al. (43) Pub. Date: Apr. 7, 2005 (54) METHOD AND APPARATUS FOR LIVE STREAMING MEDIA REPLICATION IN A COMMUNICATION NETWORK (75) Inventors: Phil Yonghui Wang, Nepean (CA); Franco Travostino, Arlington, MA (US); Tal Lavian, Sunnyvale, CA (US); Ramesh Durairaj, Santa Clara, CA (Us) Correspondence Address: JOHN C. GORECKI, ESQ. 180 HEMLOCK HILL ROAD CARLISLE, MA 01741 (US) (73) Assignee: Nortel Networks Limited, St. Laurent (CA) (21) Appl. No.: 10/745,869 (22) Filed: Dec. 26, 2003 Related US. Application Data (60) Provisional application No. 60/508,680, ?led on Oct. 3, 2003. W ' 32 | Replication Q Service @W I E Service Replication Publication Classi?cation (51) Int. Cl? ................................................... .. G06F 15/16 (52) Us. 01. ............................................................ ..709/219 (57) ABSTRACT Replication of live streaming media services (SMS) in a communication network may be enabled by introducing the streaming media-savvy replication service on a network element, through a number of functions such as client/ service registration and classi?cation, packet interception and forwarding, media replication, status monitoring and con?guration management. In an embodiment, client requests and server replies of an SMS are intercepted and evaluated by the network element. If the SMS is not stream ing through the network element, the replication service registers the SMS and establishes a unique SMS session for the requesting clients. If the SMS is already streaming through the network element, the replication service repli cates the streaming media and forwards it to the requesting clients. This reduces bandwidth usage on the links connect ing the streaming media server with the network element and reduces the number of client connections to the stream ing media provider’s servers. 2 i 32 Rep lcation 30 Service % 14 Streaming Media _3_Q Server m Replication Service 32 Rep lcatlon Service It '
  • 2. Patent Application Publication Apr. 7, 2005 Sheet 1 0f 6 Streaming Media Sewer lQ Network Element E 13. 1Q 30 26 24 """"""""""""""" <_ rl’r"; I ‘ “x x // “ 2s l l I I I / / / 28 Figure 1 28 28 US 2005/0076099 A1 Metro Area Network Q
  • 3. Patent Application Publication Apr. 7, 2005 Sheet 2 0f 6 US 2005/0076099 A1 Figure 2 (Prior Art) i E/l Streaming Media . Server 1.0. EX , Mg ,/ Edge Network f A x Figure 3 End Network I i 32 Backbone Replication f—————j———i New 14 Eva.‘ 26 m :: I; 32 il K Streaming m-Ra-léatrow'zs Media I p | 1Q Server I 28 /' ’ _1_0 EX 1 1% NET‘ W Service 32“
  • 4. Patent Application Publication Apr. 7, 2005 Sheet 3 0f 6 US 2005/0076099 A1 Figure 4 Edge Network A r J End Network 32 K—J% E 14 w Streaming Media 1Q Server /// Figure 5 Edge Network A F End Network f—/% 32 .2 w ‘ bu W 32,, 28 Streaming W_____I_____1 Media 1 Repllcalion L ______ _ A gm 3 ‘ SPLvic-e_ _ I erver m
  • 5. Patent Application Publication Apr. 7, 2005 Sheet 4 0f 6 W I Q :I X Replication Service US 2005/0076099 A1 Figure 6 Q @ ' 32 Rep icationi 30 Service / _ K > Strearriing I Q Replication Replication Service E Service 32 32 @ Rep lcatlon Service
  • 6. Patent Application Publication Apr. 7, 2005 Sheet 5 0f 6 50 K Receive request for Streaming Media Session (SMS) from client process 52 ls client registered? 56 streaming media erver registered‘? 0 “If i‘ Classify client and service, request and reply; update tables 6 SMS already being rovided to another en N°+ US 2005/0076099 A1 Figure 7 54 Register client process with replication service; update tables 58 Register streaming media server with replication service; update tables 66 K Issue request for SMS to streaming media server ‘(is K 64 Replicate SMS for 68 K requesting user I Transmit new SMS to requesting user; make SMS available to subsequent requesting users
  • 7. Patent Application Publication Apr. 7, 2005 Sheet 6 0f 6 Figure 8 US 2005/0076099 A1 86 Replication Service Status Packet ‘Client/Service Replication Router 0/8 .85. Figure 9 76 [Port PortJ|_Port_|| Port Port'l Pbn Port Port PortH Port" Switch Fabric 1% it it ii Packet Queue P Packet Generator Q rociezssor Q Routing Software Controi Logic 59. 7_4 1 ______________________________________________ _ _ {I : Replication Client/Service -- ReTPHEIatiOH I | a es 1 } Software Client Registration : E Service Registration 2 i 1 Client Classi?cation : 1 Packet: Service Classi?cation Repllcatlom i E Filtering Client setup Media Content : ' I : Interception Packet operations Server Response : : Processing Media Replication Streaming Header : : Reassembly iP/TCP/UDP header : t Fonivarding Packet Forwarding : i 70
  • 8. US 2005/0076099 A1 METHOD AND APPARATUS FOR LIVE STREAMING MEDIA REPLICATION IN A COMMUNICATION NETWORK BACKGROUND OF THE INVENTION [0001] 1. Field of the Invention [0002] The present invention relates to delivery of stream ing media on a communication netWork and, more particu larly, to a method and apparatus for live streaming media replication in a communication netWork. [0003] 2. Description of the Related Art [0004] Data communication netWorks may include vari ous computers, routers, sWitches, and other devices coupled to and con?gured to pass data to one another. These devices Will be referred to herein as “network elements.” Data is communicated through the data communication netWork by passing protocol data units, such as frames, packets, cells, or segments, betWeen the netWork elements by utiliZing one or more communication links. A particular protocol data unit may be handled by multiple netWork elements and cross multiple communication links as it travels betWeen its source and its destination over the netWork. [0005] As communication netWorks have improved, it has become common to stream live media across the netWork from a media server to a requesting end user. FIG. 1 illustrates one eXample of a communication netWork that may be used to deliver a streaming media service (SMS) from an SMS provider having one or more streaming media server(s) 10 to an end user 12. As shoWn in FIG. 1, in this eXample, the streaming media server is connected either directly or via an intermediate netWork to a backbone netWork 14. The backbone netWork may have multiple netWork elements 16, such as routers and sWitches, con?g ured to handle high bandWidth traf?c. [0006] At the edge of the backbone netWork, one or more edge netWork devices 18 take traf?c off the backbone netWork and place it onto a metropolitan area netWork 20. The metropolitan area netWork is made up of sub-netWorks, referred to herein as edge netWorks 22. Each edge netWork may connect one or more end netWorks 24 con?gured to interface directly With end users 12. [0007] Conventionally, as shoWn in FIG. 2, if an end user 12 desires to have access to a streaming media service (SMS), the end user 12 sends a request to a streaming media server 10. When resource is alloWed, the streaming media server accepts the user request and transmits the streaming media service to the end user 12. An SMS session is created for each end user, as shoWn in FIG. 2, so that each end user could be provided With the streaming media. [0008] Unfortunately, the bandWidth provided in the edge netWorks and end netWorks may not be suf?cient to handle the streaming media, or may cause provision of such ser vices to become prohibitively eXpensive. For eXample, it may take up to 5 Mbps of transmission capacity to stream full motion video media to an end user. If an end netWork 24 is serving 250 end users, the end netWork Would be required to have purchased 1 Gbps of available bandWidth on the link 26. In addition to this, the netWork element 28 Will also need to reserve bandWidth on the link 26 to ful?ll its service level agreements With other end users that may require bandWidth Apr. 7, 2005 other than in connection With the streaming media. Thus, although there may be plenty of bandWidth on the backbone netWork to handle streaming media traffic, the metropolitan area netWorks, edge netWorks, and end netWorks may not have purchased or installed suf?cient bandWidth to provide streaming media to potential end users. [0009] One attempt to overcome this issue is to transmit the packets using a multicast protocol. Multicast protocols operate at the link level or netWork level to cause netWork devices to replicate packets in a tree like structure. Unfor tunately, to transport multicast traf?c, the streaming media server, the end user, and all of the netWork devices in betWeen must be multicast enabled and support the particu lar multicast protocol. Additionally, multicast protocols tend to be complicated, and much more dif?cult to implement reliably than the Well established unicast protocols. Several multicast protocols Will be discussed beloW. [0010] Internet Protocol (IP) multicasting has been pro posed for many years With a Well-de?ned suite of protocols, such as Internet Group Multicast Protocol (IGMP), Distance Vector Multicast Routing Protocol (DVMRP), Multicast eXtended Open Shortest Path First (MOSPF), Protocol Inde pendent Multicast (PIP)-Dense Mode (PIM-DM), PIM Sparse Mode (PIM-SM), and PIM-Source Speci?c Multicast (PIM-SSM). IP multicasting is useful, in that it replicates content Without redundancy throughout the netWork. HoW ever, IP multicasting has Weak netWork security, unidenti?ed members, complicated protocols, requires speci?c softWare and hardWare implementations, and has experienced scal ability problems in large netWorks. [0011] Mbone (Multicast backBONE) is a virtual multi cast netWork that provides point to point tunnels to connect multicast-enabled islands in the unicast ubiquitous Internet. Each island has one or more multicast routers that act as the Mbone tunnel end points. As a result, multicast content is encapsulated in unicast packets and transferred betWeen multicast routers through the Internet. But, Mbone is still based on IP multicasting and cannot prevent the problems associated With IP multicasting. [0012] Meta-Content multicasting introduces a Meta-Con tent concept and uses User Datagram Protocol (UDP) instead of HyperTeXt Transport Protocol/Transmission Con trol Protocol (HTTP/TCP) for Internet content multicast. Meta-content is a series of mathematical metaphors that represent the original content according to a special algo rithm. For a piece of content, a speci?c server generates a redundant stream of meta-content, and multicasts via UDP to speci?c clients. A client starts collecting pieces of meta content until it can restore the content. Its bene?t is that UDP is used to replace TCP for fast content transport and maXimal bandWidth utiliZation. But, this requires IP multicasting support and can only Work With proprietary softWare sys tems. [0013] Hop-by-hop (HBH) multicasting introduces doWn stream netWork hops as members in a multicast group. HBH uses multicast control tables for group membership infor mation and multicast forWard tables for content forWarding to reach all group members. HBH has smaller multicast routing tables and requires EP multicast support only on those routers close to the end users. But HBH still uses IP multicasting, and HBH-enabled routers must be deployed throughout the Internet to make this solution Work.
  • 9. US 2005/0076099 A1 [0014] End system multicasting, such as that described as the Carnegie Mellon University (CMU) Narada protocol, is an approach to realiZe application multicasting that moves the IP multicast functions from the netWork routers to end systems. That is, each member in a multicast group is a virtual “multicast router” that maintains a neighbor graph and replicates packets to its neighbors. End system multi casting does not need any multicast support from the net Work. HoWever, it makes an end system more complicated, since it requires the end system to perform multicast routing While it receives the content. Additionally, a neW member cannot join a multicast group unless it knoWs at least a live “end system” in its neighborhood. [0015] A knoWn solution that has been attempted is to cache streaming media in advance at a locations close to end netWorks, so that transmission of streaming media doesn’t need to travel as far over most of the communication netWork. There are tWo disadvantages to this. First, content caching netWork devices require large memories to be utiliZed to store the content throughout the netWork. Addi tionally, due to the large storage requirements, storage servers rather than the netWork devices 28 are generally used to cache all of the available media streams that may poten tially be requested by the end users. Hence, media caching is unlikely to alleviate congestion on the link 26 since the content servers are likely to be placed closer to the edge of the backbone netWork. Moreover, for live streaming media (streaming media that is being created contemporaneously With transmission) caching servers are ineffective since the content does not eXist beforehand and, hence, cannot be pre-cached. [0016] In addition to the potential lack of capacity on link bandWidth, requiring the streaming media server 10 to host a large number of SMS sessions may cause netWork con gestion and service interruption on the streaming media server(s) 10. One Way to ameliorate this is to use server load balancing. Server load balancing is Well knoWn in Internet Web access. Recent netWork sWitch products such as Web sWitches can balance the server load in a service provider netWork by shifting client requests from one server to another. Server load balancing can prevent a server from overloading When other servers are underloaded. HoWever, server load balancing neither reduces the number of client connections nor increases the server capacity. Once the total capacity of the media servers reaches a particular limit, service interruption problems reoccur. [0017] Recent proposals have been proposed to enable streaming media to be replicated on the netWork. A major proposal is to add a streaming media proxy on netWork devices to redirect client requests to inline streaming media proXy services or offline streaming media proxy server. A typical solution of this proposal is to combine the proXy mechanism With caching servers. Another proposal uses traf?c interception on netWork devices to detect client requests of particular streaming media services. While this proposal does not use a proXy, it also has not yet been developed into a feasible solution. [0018] Accordingly, it Would be advantageous to provide an apparatus con?gured to enable live streaming media to be transmitted to multiple end users While alleviating band Width requirements required to accommodate these trans missions. Apr. 7, 2005 SUMMARY OF THE INVENTION [0019] The present invention overcomes these and other draWbacks by providing a method and apparatus for live streaming media replication in a communication netWork. Embodiments of the invention may reduce bandWidth requirements on the netWork and/or reduce the number of SMS sessions required to be hosted by the streaming media server, although the invention is not limited to a solution that achieves either or both of these potential bene?ts. According to one embodiment of the invention, streaming media requests are intercepted by a netWork element on the net Work. AnetWork service, referred to herein as a “replication service,” evaluates the request and, if the streaming media is not currently streaming through the netWork element, inter faces With the streaming media server to ful?ll the request. If the streaming media is already streaming through the netWork element, the netWork element replicates the stream ing media and forWards the streaming media to the request ing user. [0020] The replication service is deployed on a netWork element such as a router and provides a number of function modules, such as client/service registration, classi?cation, packet interception and forWarding, media replication, status monitoring, and con?guration management. The modules of the replication service interact together to form a service that may alloW streaming media to be replicated intermediate the streaming media service provider and end users. The repli cation service is transparent to the end users so that they can act normally Without any change. [0021] By replicating the streaming media for the user rather than establishing a neW SMS session from the stream ing media server, it is possible to reduce bandWidth on the links connecting the streaming media server With the repli cation netWork element, and hence reduce the costs associ ated With providing those services. Additionally, by enabling replication to happen in the netWork, the streaming media server may serve more end users Without being required to host an individual SMS session for each end user. This reduces the likelihood that the streaming media server Will encounter an overload condition and reduces the amount of bandWidth required to connect the streaming media server to the backbone netWork. Moreover, by utiliZing a netWork service on the netWork element to handle packet replication and employing prevailing unicast protocols to handle packet distribution, it is possible to replicate packets for distribution to mulitiple users Without requiring all netWork devices in the path betWeen the streaming media server and the end user(s) to agree on, implement, and support a multicast protocol. BRIEF DESCRIPTION OF THE DRAWINGS [0022] Aspects of the present invention are pointed out With particularity in the appended claims. The present inven tion is illustrated by Way of eXample in the folloWing draWings in Which like references indicate similar elements. The folloWing draWings disclose various embodiments of the present invention for purposes of illustration only and are not intended to limit the scope of the invention. For purposes of clarity, not every component may be labeled in every ?gure. In the ?gures: [0023] FIG. 1 is a functional block diagram of an eXample of a conventional netWork architecture incorporating a streaming media server;
  • 10. US 2005/0076099 A1 [0024] FIG. 2 is a functional block diagram of a network illustrating streaming media from a streaming media server to end users according to conventional methods; [0025] FIGS. 3-5 are functional block diagrams of net Works illustrating methods of using replication softWare to facilitate distribution of streaming media from a streaming media server to end users according to embodiments of the invention; [0026] FIG. 6 is a functional block diagram of a netWork illustrating a method of using the replication service at the ingress to the netWork adjacent the streaming media server as Well as at the egress from the netWork adjacent the end users according to an embodiment of the invention; [0027] FIG. 7 is a How chart illustrating an example of acts that may be performed by the replication service according to an embodiment of the invention; [0028] FIG. 8 is an example of a softWare package for deployment on a netWork element including replication softWare according to an embodiment of the invention; and [0029] FIG. 9 is a functional block diagram of a netWork element con?gured to implement streaming media replica tion according to an embodiment of the invention. DETAILED DESCRIPTION [0030] The folloWing detailed description sets forth numerous speci?c details to provide a thorough understand ing of the invention. HoWever, those skilled in the art Will appreciate that the invention may be practiced Without these speci?c details. In other instances, Well-knoWn methods, procedures, components, protocols, algorithms, and circuits have not been described in detail so as not to obscure the invention. [0031] According to embodiments of the invention, streaming media may be replicated at selective points in a communication netWork to enable bandWidth on other sec tions of the netWork to be reduced and reduce the burden on the streaming media server. According to one embodiment of the invention, streaming media requests are intercepted by a netWork element at a selected point. A netWork service, referred to herein as a Replication Service, evaluates the request and, if the streaming media is not currently stream ing through the netWork element, interfaces With a streaming media server to obtain the streaming media. If the streaming media is already streaming through the netWork element, the netWork element replicates the streaming media and for Wards the streaming media to the requesting user. By rep licating the streaming media for the user rather than estab lishing a neW SMS session from the streaming media server, it is possible to reduce bandWidth on the links connecting the streaming media server With the selected replication point. Additionally, by enabling replication to happen in the net Work, the streaming media server may serve more end users Without being required to host an individual SMS session for each end user. This reduces the likelihood that the streaming media server Will encounter an overload condition and reduces the amount of bandWidth required to connect the streaming media server to the backbone netWork. Moreover, By utiliZing the replication service to handle packet repli cation and prevailing netWork unicast protocols to handle packet distribution, it is possible to replicate packets for distribution to multiple users Without requiring all netWork Apr. 7, 2005 devices in the path betWeen the streaming media server and the end user(s) to agree on, implement, and support a multicast protocol. [0032] FIGS. 3-5 illustrate examples of hoW the replica tion service according to an embodiment of the invention may be deployed on a netWork, such as the netWork illus trated in FIG. 1. In the examples shoWn in FIGS. 3-5, only tWo layers of netWork elements, end netWork elements 28 and edge netWork elements 30, have been illustrated as implementing the replication service according to embodi ments of the invention. The invention is not limited to these illustrated examples, as the replication service may be implemented on other netWork devices at other places in the netWork as Well. Accordingly, the invention is not limited to deployment only in the illustrated locations in FIGS. 3-5, as these locations have been selected merely to illustrate poten tial uses of the invention on an example netWork. [0033] As shoWn in FIG. 3, a replication service 32 may be integrated With or connected to an end netWork element 28 serving end users 12. In this embodiment, the replication service is con?gured to intercept requests for access to streaming media and interface those requests to the stream ing media server 10 as necessary. The replication service 32 may be deployed in the netWork in individual end netWork elements 28, may be housed in a separate netWork element (32‘) and attached to the end netWork element 28, or may be a shared netWork resource 32“. The invention is not limited to hoW the replication service is deployed or made available to netWork elements 28. In one embodiment, the end net Work elements 28 are routers, Which can be IP routers and as recommended layer 4-7 content sWitches, con?gured to perform a variety of netWork services, such as routing services, and security/?reWall services, and the replication service is another netWork service provided by the router. The invention is not limited to implementation on a router, hoWever. In this embodiment, a router may be any netWork element that is con?gured to intercept, ?lter, or mirror, and forWard packets on the netWork. [0034] Optionally, Where the end netWork is a passive optical netWork and the backbone is also an optical netWork, the netWork element 28 or (30 at an edge netWork) may be a demarcation point betWeen tWo optical netWorks. The invention is thus not limited to a particular type of netWork and may be utiliZed in connection With many different types of netWorks and netWork devices. For example, the replica tion service may be included in a layer 3 netWork device such as a router, a layer 2 netWork device such as a sWitch, a layer 4 plus netWork device such as a content sWitch, a Wireless access point, a Digital Subscriber Line Access Multiplexer (DSLAM), an access gateWay, or any other type of netWork device. The replication service may be used on a public netWork such as the Internet, a private netWork such as a Local Area NetWork or in any other type of communication netWork. [0035] The replication service, at a functional level, oper ates to interconnect end users With a streaming media server to enable streaming media to be streamed to multiple end users Without requiring the underlying netWork to be com pliant With a multicast protocol. It also alloWs a streaming media server to serve multiple requests Without generating an individual media stream for each request, thus enabling it to serve larger numbers of end users Without encountering congestion.
  • 11. US 2005/0076099 A1 [0036] As discussed in greater detail below, according to one embodiment of the invention, the replication service is a netWork service that is deployed on a netWork element and con?gured to receive requests for streaming media from end users and ful?ll those requests by either requesting the streaming media from the streaming media server or causing the request to be ful?lled by replicating a streaming media service to the end user. AlloWing a request for streaming media service to be ful?lled Without generating a neW SMS session reduces the number of sessions that must be pro vided simultaneously by the streaming media server, and reduces the bandWidth on the link upstream from the repli cation service, thus loWering the cost associated With pro viding the streaming media services to the requesting end users. [0037] A comparison betWeen FIGS. 2 and 3 illustrates the bandWidth conservation on the netWork. Speci?cally, in FIG. 2, siX end users 12 are being supplied With streaming media from a streaming media server. For the sake of this eXample, it Will be assumed that all of the streaming media content is the same, such as live video coverage of a sports event. Accordingly, as shoWn in FIG. 2, each link 26 connecting netWork elements 28 and 30 is required to carry one SMS session for each end user that Wishes to have access to the streaming media. By contrast, in the embodi ment illustrated in FIG. 3, the replication service is able to reduce the bandWidth on its associated link 26 to one SMS session by replicating the streaming media services for its end users. This bandWidth requirement savings is manifest on the backbone netWork as Well, although the backbone is assumed to have suf?cient bandWidth to handle any amount of traf?c generated by the streaming media server. [0038] Using a replication service, instead of a multicast protocol, enables staged deployment to be implemented Without requiring the underlying transport netWork to be upgraded. Speci?cally, according to embodiments of the invention, the replication service is a streaming media-savvy control mechanism deployed on a netWork element, such as netWork element 28 or netWork element 30, that functions to act as a transparent intermediary betWeen the end user and the streaming media server. Standard unicast protocols may be used to stream the media from the streaming media server to the netWork element hosting the replication service, and betWeen the netWork element hosting the replication service and the end users. Accordingly, an Internet Service Provider, providing service to end users 12 through netWork element 28, may deploy the replication service according to an embodiment of the invention independently, and Without requiring the backbone or other netWork elements be upgraded to implement one of the relatively compleX mul ticast protocols. By making the service transparent, the end users are not required to adopt a special softWare package or utiliZe a speci?c control mechanism to enable the replication service to be deployed on the netWork. [0039] FIG. 4 illustrates another location Where the rep lication service may be deployed in the netWork. In this embodiment, the replication service 32 is deployed at the edge netWork level in an edge netWork element 30. The replication service 32 may be incorporated into the edge netWork element 30 (not shoWn) or provided external to the edge netWork element and interfaced With the edge netWork element (as shoWn). The invention may be deployed in Apr. 7, 2005 either fashion and the invention is not limited to any particular deployment implementation. [0040] FIG. 5 illustrates another manner in Which the replication service may be deployed in the netWork. In the embodiment illustrated in FIG. 5, the replication service may be selectively deployed throughout the netWork so that replication may take place at a higher-level netWork element for those loWer-level netWork elements that are not capable of performing packet replication services. Speci?cally, as shoWn in FIG. 5, in this embodiment the end netWork element 28 has been provided or interfaced With the repli cation service. Accordingly, it is able to handle streaming media replication on behalf of the attached end users 12. The end netWork element 28‘ is not capable of packet replication, has not been provided With or interfaced to the replication service, or is otherWise not con?gured to participate in the packet replication system described herein. HoWever, the higher-level edge netWork element 30 has been provided With the replication service. Accordingly, the edge netWork element 30 may perform replication services on behalf of the end users 12 that connect through the end netWork device 28‘. Optionally, the replication service at the higher level netWork element may treat the end netWork element 28 as a user, intercept streaming media requests from it, and further reduce the number of connections to the streaming media server 10. Thus, a layered replication services architecture may be implemented to further reduce the bandWidth on links interconnecting the netWork elements and the stream ing media server. [0041] As discussed in greater detail beloW, upon receipt of a streaming media request, the replication service 32 ascertains if the requested streaming media is already streaming through the netWork element 28. If the streaming media is already being handled by the netWork element 28, the replication service 32 causes the netWork element to replicate the streaming media and additionally transmit the streaming media to the neW requesting end user. If the netWork element 28 is not handling the requested streaming media, the replication service alloWs the request to be passed to the streaming media server or generates a neW request for streaming media and issues the request to the streaming media server 10. Subsequent requests for access to this neW streaming media Will be intercepted, as discussed above, and the streaming media may be made available to neW request ing end users. [0042] Many types of media may be transmitted from a streaming media server. Examples of conventional stream ing media include audio programs such as music, audio video productions such as movies, sporting events, neWs casts, games, and computer generated data streams. The invention is not limited to any particular type of streaming media. [0043] The streaming media contemplated to be handled by the replication service, hoWever, is not to be cached by the replication service and transmitted by the replication service at a later time. Rather, the replication service, according to embodiments of the invention, releases a piece of media received just after replication and transmission to the intended recipients. Accordingly, the replication service does not require large storage resources as a caching service does, and as that term is used contemporaneously. Addition ally, the replication service is not a proXy as that term is used
  • 12. US 2005/0076099 A1 contemporaneously. Speci?cally, according to an embodi ment of the invention, end users do not con?gure or even knoW With the replication service. The replication service rather is con?gured to intercept streaming media requests generated by end users and thereby appears transparent to the end users. [0044] In the previous several embodiments, the invention has been described as operating at the egress to the netWork adjacent the end users 12. The invention is not limited in this manner as the replication service may similarly be utiliZed at the ingress to the netWork adjacent the media server. Using a replication service at the ingress may be particularly useful for entities such as small businesses, home users, and Wireless users, desiring to stream media from farther aWay from the edge of the backbone netWork. While it may also be used for large streaming media providers, such as neWs sources and other big corporations, such streaming media sources typically may be situated suf?ciently close to the ingress to the backbone to make replication on the ingress unnecessary. FIG. 6 illustrates one embodiment in Which the replication service is deployed in a netWork element at the ingress to the netWork adjacent the media server. Deploying the replication service for ingress traf?c enables the media server to be placed closer to the edge of the netWork and utiliZe loWer bandWidth communication links to host stream ing media sessions. This, accordingly, enables the streaming media service provider to reduce its costs by not requiring the streaming media service provider to have direct or near direct access to the communications backbone. [0045] As shoWn in FIG. 6, the streaming media server 10 according to an embodiment of the invention is connected to the communications netWork 14 through an end netWork element 28 or an edge netWork element 30 containing or interfacing a replication service 32. Providing a replication service on one of the netWork elements connecting the streaming media server 10 to the communications netWork 14 enables the streaming media server 10 to host a single streaming media session for all end users regardless of Where on the communication netWork they reside. This reduces the bandWidth requirements on the portion of the communication netWork betWeen the replication service 32 and the streaming media server 10 to enable the streaming media server to be deployed closer to the edge of the netWork. [0046] For example, as shoWn in FIG. 6, in this embodi ment streaming media sessions from the streaming media server are intercepted by the replication service adjacent the ingress to the communication netWork and replicated at that point to be distributed to various edge and end netWorks connected to the communication netWork. These sessions may be further replicated at the edge or end netWork devices to provide streaming media services to end users 12. By using the replication service at several points in the netWork it is possible to minimiZe transmission requirements throughout the netWork and hence minimiZe costs associated With providing the streaming media services. [0047] FIG. 7 is a How chart illustrating the behavior of an example of a replication service according to an embodi ment of the invention. As shoWn in FIG. 7, upon receipt of a request for access to a streaming media service (SMS) from a client process (50), the replication service determines if the client is registered With the registration service (52). Apr. 7, 2005 Registration may be important for several reasons. For example, the registration service may need to have identi ?cation information associated With the client process to determine if the end user is able to authenticate its identity to the registration service, is authoriZed to receive streaming media services, and to establish accounting entries so that the client can be charged for the provision of streaming media services. The client registration may be used for other pragmatic considerations as Well, such as to exchange encryption keys, transmission parameters, and other items of information that may be useful for the parties to enable the streaming media to be transferred in a useable and/or secure format. According to one embodiment of the invention, registration may be performed automatically When the client sends a request to the streaming media server for access to particular streaming media services. Those clients, accord ing to an embodiment of the invention, may not be aWare of the replication service or that its request is not being handled directly by the streaming media server. Normally, for a streaming media service, there is no direct communication betWeen a client and the replication service, i.e., the client in normal operation Would not speci?cally direct communica tion toWard the replication service but Would instead direct communication toWard the streaming media server. HoW ever, if a client has special privilege to the replication service or uses a particular feature of the replication service, it may need to communicate With the replication service. [0048] If the client process is not registered With the replication service, the replication service Will obtain the client identity from the request and look up the client information from the service database that is set up initially in connection With service con?guration. Then the replica tion service registers the client process by adding appropri ate entries in the registration process update tables. (54). A premium client usually has its service pro?le pre-established With a service provider. Other processes may take place in connection With registration and the invention is not limited to these several examples. [0049] If the client process is registered or after the client process has been registered, the replication service checks to see if the streaming media server is registered With the replication service (56). Registration of the streaming media service may encompass logging of identity information, location/address information, or other information relevant to access to the streaming media server. Additionally, the media streamed to the end user, in many cases, Will be subject to copyright protection. In these instances, since the replication service is replicating the data stream, the repli cation service Will need to pay royalties to the copyright oWner for copying the streaming media on behalf of the clients it serves or tell the streaming media provider (inline or offline by its client/service and status monitoring mod ules) Which end users requested the content so that the end users may be billed for the content. The replication service has an extensible interface for billing clients according to their requested services. Registration of the streaming media service With the replication service, and vice versa, enables appropriate accounting and auditing to take place betWeen the participants in the streaming media replication process to enable the appropriate accounting to be done to the copy right oWner. If the streaming media service is not registered With the replication service, the replication service Will register With the streaming media server (58). Optionally, all of the registration processes may be performed concurrently,
  • 13. US 2005/0076099 A1 for example by making the registration of the streaming media service part of the client registration process dis cussed above, or the service registration process discussed below. [0050] Once the client and the requested streaming media service (SMS) are all registered and the replication service thus obtains appropriate information to enable streaming media to be delivered to the end user, the client request is classi?ed to ascertain What SMS is being requested by the client (60). Classi?cation enables the replication service to obtain information that it Will use to ascertain if it is currently handling the requested streaming media for another end user, or to enter into a table so that it Will be able to identify the streaming media at a later time if requested by another end user. Simulating an SMS server, the replication service may also reply to the client about the status of its request at this or at any other time during the process. Classi?cation may involve processing registration informa tion about the SMS description and about the client request speci?cations in order to identify an SMS desired by the end user. Using the same information or information derived from the classi?cation or identi?cation information for all the participants in one SMS may advantageously avoid inconsistencies in classi?cation by the replication service and further simplify implementation of the replication ser vice on the netWork element. Additionally, classi?cation is useful to enable the replication service to identify content provided by the streaming media provider as part of the streaming media service. [0051] Once the request is classi?ed, the replication ser vice ascertains Whether it is currently handling the requested streaming media service for another end user (62). Option ally, requests may occur for access to streaming media in the future, and the replication service may use this scheduling information contained in the request to ascertain Whether it has other requests for the same streaming media service at the future requested point. [0052] If the replication service is handling the requested streaming media service for another end user, it Will set the appropriate ?lters to capture packets from that SMS session, generate headers for the replicated packets, replicate the payload portion of the captured packets, and cause the captured and replicated packets to be output to the intended end users (64). [0053] If the replication service is not handling the requested streaming media service for another end user, it Will interface With the streaming media server by passing the request or issuing a neW or modi?ed request to the appro priate streaming media server to create a neW SMS session to the end user (66). The packets in this SMS session Will be passed to the end user (68). If, at a later time, the replication service receives a request for access to the streaming media service from other users, it may make the SMS session available to those users using the process outlined above. [0054] FIG. 8 illustrates one example of a replication service softWare environment interfaced With a routing softWare environment such as a router OS 84. The replica tion service may be physically collocated With the routing softWare, or mated With the routing softWare from a plug-in blade on a netWork element, or interfaced to the routing softWare from an attached netWork element, e.g., an external hardWare component associated With the netWork element. Apr. 7, 2005 The invention is not limited to disposition of a replication service softWare package that is con?gured to run on a netWork element. [0055] As shoWn in FIG. 8, the replication service soft Ware environment has several subsystem. A ?rst subsystem, referred to herein as a con?guration module, provides a management interface to the replication service to enable the netWork operator to set parameters associated With provision of services on the netWork. Examples of aspects of service provision that may be set include setting the maximum number of different concurrent SMS sessions that may coexist at any one time through a given router, limiting the number of streaming media services that may be transmitted to a given end-user at any one time, setting a maximum transmission rate at Which the netWork element Will stream media in a SMS session, setting data sources such as client pro?les, service classes or transmission priorities, and many other parameters. For example, the con?guration module may interface With the management information base (MIB) to set values and read values associated With the perfor mance of the replication service on the netWork element. The invention is not limited to particular con?guration parameters con?gurable through this module on the repli cation service. Optionally, Where the routing softWare inter faced by the replication service has a con?guration module or con?guration subsystem, the replication service may be accessed through the routing softWare by interfacing the routing softWare system With the con?guration module of the replication service softWare system. [0056] The replication service softWare module also includes a status subsystem con?gured to enable the status of the SMS sessions to be monitored prior to, during, and after the SMS sessions have been con?gured through the replication service. Information collected by the status sub system may include information such as the identity of the SMS sessions handled by the registration service, the genre of the SMS sessions, Which end users requested access to Which streaming media service by identity or genera, the average duration of the SMS sessions, and many other aspects associated With the nature of the services provided by the replication service such as account billing. [0057] Additionally, the status subsystem may be used to monitor the status of the SMS sessions handled by the netWork element. SMS sessions may not have a prede?ned end point. For example, a professional boxing match may last anyWhere from a feW seconds to over an hour. If the streaming media service is a coverage of the professional boxing match, it may not be possible to specify at the outset the duration of the streaming media service or SMS session. As a given netWork element may be only able to handle a set number of SMS sessions, the status subsystem may detect When SMS sessions have terminated so that the netWork element may be alloWed to handle additional SMS sessions for its end users. [0058] There are several Ways of determining When an SMS session has ended. One Way may be through the use of a control packet generated by the streaming media server indicating that the streaming media service or SMS session has ended. Another Way may be to monitor traffic ?ltered out by the netWork element for replication or transmission to the end user(s). Another Way may be to monitor acknoWledge ment traf?c ?ltered out by the netWork element for requests
  • 14. US 2005/0076099 A1 from the end user. Where either of media or acknoWledge ment traffic is not received for a predetermined period of time, for example 30 seconds, it may be assumed that the SMS session has terminated. [0059] The main softWare subsystem associated With the replication service is the client/service subsystem. The cli ent/services subsystem controls tWo other subsystems (packet and replication) and manages streaming media ser vices and clients, including client and service registrations and classi?cations, and client-service connections. The cli ent/services subsystem also handles control messages gen erated in connection With providing replication services. One eXample control protocol that may be used to eXchange control messages betWeen the end users, replication service, and streaming media server, is the Real Time Control Protocol (RTCP) described in Internet Engineering Task Force (IETF) Request For Comments (RFC) number 3550, the content of Which is hereby incorporated herein by reference. Another eXample is the streaming acknoWledge ment messages such as TCP and UDP feedbacks. Other control protocols may be used as Well, and the invention is not limited to an embodiment utiliZing one of these particu lar mentioned control protocols. [0060] The client/service subsystem Works in connection With tWo subservient subsystems, the packet subsystem and the replication subsystem, to provide the replication services on the communication netWork. The packet operations sub system provides the packet processing capability over tar geted streaming media traffic, including packet ?ltering, packet interception, packet processing, packet reassembly, and packet forWarding. This subsystem interfaces With the netWork element to set ?lter rules on the netWork element, intercept packets associated With the streaming media ser vice, instruct the processor hoW to process the intercepted packets, set rules associated With reassembly of the packets, and provide rules associated With forWarding the packets on to the end users. [0061] In the embodiment shoWn in FIG. 9, the packet subsystem has several modules to enable it to process netWork traf?c. Speci?cally, in this embodiment, a ?lter module sets up or removes IP ?lters for traf?c redirection of streaming media clients and servers (to a replication ser vice), an interception module receives and intercepts the redirected traf?c, a processing module processes the proto col headers of the intercepted packets from clients and servers, a reassemble module reassembles IP packets for client connections and media replication, and a forWarding module forWards the re-assembled packets to their destina tions. The invention is not limited to an embodiment having these particular modules as other and additional modules may be utiliZed as Well. [0062] The media replication subsystem provides the streaming media content replications to multiple clients, including IP/TCP/UDP header replication, streaming proto col header replication, server response replication, and data content replication. In the embodiment shoWn in FIG. 9, the replication module has several modules to enable it to provide content replication to its clients. Speci?cally, in this embodiment a media content module replicates the media content of an SMS to a client, a server response module handles interactions With the streaming media server, a streaming header module generates the streaming protocol Apr. 7, 2005 header such as RealTime Streaming Protocol (RTSP) and Realtime Transport Protocol (RTP) of a media content replication, an IP/TCP/UDP header module generates the IP protocol header of a media content replication, and a packet forWarding module uses the packet module to send the replication packets to the netWork. [0063] When an edge device starts, the replication service sets up traf?c ?lters such as IP (L3+) ?lters on the devices to intercept the netWork traf?c of preset streaming media services. When a client tries to connect to a streaming media service, the edge device intercepts the connection request and redirects the request to the packet module. The client connection request is processed so that the replication ser vice, through the client/service module, learns Whether this client is a neW client and Whether the requested service is a neW service. If the client is neW, the replication service registers this client With the requested service. If the service is neW, the replication service creates a media connection to the media server. When the server connection feedback is redirected, the replication service registers this service and starts the client connections according to the server feed back. When a service sends out media, the replication service intercepts the media traf?c by the packet module and uses the replication module to replicate the media content for each client that request the service. Then, the replication service also uses the packet module to forWard the media replication to the client destinations. [0064] For later clients requesting an eXisting service, the replication service does not create a neW connection to the media server. Rather, the replication service uses the server connection feedback to establish a neW client connection. Once the connection is done, the replication service repli cates the oncoming media content to the client in real time. The replication service, in this conteXt, is con?gured to replicate relatively contemporaneous portions of streaming media since the replication service is not con?gured to cache media for later reproduction and distribution. [0065] In the replication service, streaming media clients and servers are classi?ed by their respective information, for eXample source IP address, transport protocols and port numbers, and service names and program IDs. Thus, a client and a server can be identi?ed uniquely from the streaming protocol used. This creates an opportunity for an ISP to use the classi?cation capability to apply particular service enhancements, such as client authentication, service priori ties, and billing. The replication service is a con?gurable service so that an ISP can con?gure the replication service for its oWn purposes. To this end, as discussed above, the replication service is provided With auXiliary modules, such as a con?guration module for service setup, control, and customiZation, and a status module for service monitoring, reporting, and statistics generation. [0066] FIG. 9 illustrates a netWork element con?gured to perform replication services according to an embodiment of the invention. As shoWn in FIG. 9, the netWork element 70 contains a processor 72 having control logic 74 con?gured to implement the functions associated With the replication services as described above in connection With FIGS. 1-7. [0067] Most netWork elements have tWo hardWare planes—a transport plane that forWards data from one port to another, and a control plane that controls hoW data is forWarded. The replication service, according to an embodi
  • 15. US 2005/0076099 A1 ment of the invention, resides in or interfaces With the control plane to apply intelligent control over streaming media traf?c and over the replication of media content to multiple clients. In the event that an edge device has limited capacity in its control plane, it can attach additional hard Ware such as a competent computing blade or a replication service-speci?c accelerator. In the embodiment illustrated in FIG. 9, the replication softWare may therefore be resident in the netWork element 70 or may be associated With the netWork element 70 but physically instantiated on a separate computing platform/environment such as in a computing environment on a blade server. The invention is not limited to a particular implementation or particular manner of instantiating the replication service softWare. [0068] In the embodiment illustrated in FIG. 9, the net Work element 70 includes interfaces (ports) 76 con?gured to interface With links on the communication netWork. Asubset of the ports in the netWork element are con?gured to face toWard netWork users to handle communications With the netWork users and, optionally, one or more ports may be con?gured to face the backbone netWork or other higher bandWidth netWork communication service. [0069] The ports 76 are connected to a sWitch fabric 78 Which routes traf?c betWeen ports under the control of the processor 72 running control logic 74. A packet queue 80 may be provided to temporarily store packets as routing/ sWitching decisions are being made as to hoW the packets should be handled by the sWitch fabric. A packet generator 82, under the control of the netWork processor, is provided to inject replicated packets into the sWitch fabric to enable the netWork element to transmit packets to the intended recipients of a streaming media service. The sWitch fabric and netWork element operations are directed by routing softWare 84, Which may include an associated routing infor mation base and other standard netWork element softWare modules or subsystems. [0070] According to an embodiment of the invention, a the netWork element also includes or is interfaced to a replica tion softWare subsystem 86 containing data and instructions to enable the netWork processor to cause the netWork element to perform the functions ascribed to the replication service described above. [0071] The control logic of FIG. 9 may be implemented as a set of program instructions that are stored in computer readable memory Within the netWork element and eXecuted on a microprocessor Within the netWork element. HoWever, it Will be apparent to a skilled artisan that all logic described herein can be embodied using discrete components, inte grated circuitry such as an Application Speci?c Integrated Circuit (ASIC), programmable logic used in conjunction With a programmable logic device such as a Field Program mable Gate Array (FPGA) or microprocessor, or any other device including any combination thereof. Programmable logic can be ?Xed temporarily or permanently in a tangible medium such as a read-only memory chip, a computer memory, a disk, or other storage medium. Programmable logic can also be ?Xed in a computer data signal embodied in a carrier Wave, alloWing the programmable logic to be transmitted over an interface such as a computer bus or communication netWork. All such embodiments are intended to fall Within the scope of the present invention. [0072] It should be understood that various changes and modi?cations of the embodiments shoWn in the draWings Apr. 7, 2005 and described in the speci?cation may be made Within the spirit and scope of the present invention. Accordingly, it is intended that all matter contained in the above description and shoWn in the accompanying draWings be interpreted in an illustrative and not in a limiting sense. The invention is limited only as de?ned in the folloWing claims and the equivalents thereto. What is claimed is: 1. A method for live streaming media replication in a communication netWork, the method comprising the steps of: intercepting a request by a client for access to a streaming media service available from a streaming media pro vider, by a replication service on a netWork element intermediate the client and a streaming media provider; registering the client if the client is not already registered With the replication service; registering the requested streaming media service if it is not already registered With the replication service; establishing a unique streaming media session With the streaming media provider if the streaming media ser vice is not currently being handled by the replication service; con?guring the replication service to intercept protocol data units associated With the streaming media service; replicating the streaming media from the established streaming media session to the client, after the stream ing media session is established; and monitoring the status of streaming media sessions for security and accounting purposes. 2. The method of claim 1, further comprising classifying the request by the intermediate netWork element to obtain a classi?ed request. 3. The method of claim 1, further comprising determining Whether the streaming media session is being handled by the replication service. 4. The method of claim 2, further comprising determining Whether the streaming media session is being handled by the replication service by comparing the classi?ed request against information associated With streaming media ses sions being handled by the replication service. 5. The method of claim 1, further comprising scheduling delivery of the live streaming media session at a future point in time, and upon occurrence of the future point in time, performing the steps of obtaining and replicating. 6. The method of claim 1, further comprising registering the replication service With the streaming media service. 7. The method of claim 1, further comprising establishing accounting entities associated With the streaming media service. 8. The method of claim 1, Wherein the step of con?guring the replication service to intercept protocol data units com prises establishing ?lters to intercept traffic in the streaming media service. 9. The method of claim 1, further comprising the step of interfacing With the streaming media server to instruct the streaming media server to provide the requested streaming media.
  • 16. US 2005/0076099 A1 10. The method of claim 1, wherein the step of intercept ing, establishing, and replicating are transparent to the client. 11. The method of claim 1, Wherein the request by the client for access to the streaming media session is generated by the client and addressed to the streaming media server. 12. An apparatus for implementing live streaming media replication in a communication netWork, comprising: control logic con?gured to: intercept requests for access to a streaming media service; interface the intercepted request to the streaming media server if a streaming media session containing the streaming media service is not being handled by the apparatus; replicate the streaming media session to provide the streaming media service if the requested streaming media session is being handled by the apparatus. 13. The apparatus of claim 12, Wherein the control logic is further con?gured to classify the requests and use the classi?ed requests to ascertain if the requested streaming media sessions are being handled by the apparatus. 14. The apparatus of claim 12, further comprising repli cation tables containing information relating to streaming media clients and streaming media sessions. 15. Replication softWare contained in a computer readable storage medium, comprising: program code con?gured to perform client services; program code con?gured to perform packet operations; and program code con?gured to perform streaming media replication. Apr. 7, 2005 16. The replication softWare of claim 15, Wherein the program code con?gured to perform client services is con ?gured to perform streaming media client registration and streaming media client classi?cation. 17. The replication softWare of claim 15, Wherein the program code con?gured to perform client services is con ?gured to perform streaming media service registration and streaming media service classi?cation. 18. The replication softWare of claim 15, Wherein the program code con?gured to perform packet operations is con?gured to implement packet ?ltering and packet inter ception to ?lter and intercept packets in a streaming media service. 19. The replication softWare of claim 18, Wherein the program code con?gured to perform packet operations is further con?gured to implement packet processing, packet reassembly, and packet forWarding, for the packets ?ltered and intercepted from the streaming media service. 20. The replication softWare of claim 18, Wherein the program code con?gured to perform media replication is con?gured to header replication on packets in a streaming media service. 21. The replication softWare of claim 18, Wherein the program code con?gured to perform header replication is con?gured to perform at least one of Internet Protocol (IP) header information replication, Transmission Control Pro tocol (TCP) header information replication, and User Data gram Protocol (UDP) header information replication. 22. The replication softWare of claim 21, further com prising program code con?gured to perform streaming pro tocol header replication.