← Back to Patent Explorer
US6708213B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method for streaming multimedia information over public networks

Assignee: Alcatel Lucent SAS
•
Filing: 2000-03-29
•
Granted: 2004-03-16
•
Expires: 2020-03-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for enhancing existing caching systems to better support streaming media over the Internet and other public network system are disclosed herein. By using helpers inside the network, which operate as caching and streaming agents, existing caching techniques are enhanced to better support streaming media over the Internet. The helpers serve to implement several methods specifically designed to support streaming media, including proxy caching, client request aggregation which describes the use of memory and disk resources at the helpers, and data transfer rate control to reduce start-up latency.The method and apparatus advantageously reduces server and network loads by employing the above methods to overcome arrival time and range heterogeneity in client requests thereby improving the quality perceived by end users.

Inventors

  • 👤 Ethendranath N. Bommaiah
  • 👤 Katherine H. Guo
  • 👤 Sanjoy Paul
  • 👤 Markus A. Hofmann

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 21:03
CPC Classifications
H; H04; H04L; H04L65/00; H04L65/80; H04L65/60; H04L65/75; H04L65/765; H04L67/00; H04L67/01; H04L67/10; H04L67/1001; H04L67/50; H04L67/56; H04L67/566; H04L67/568; H04L67/5682; H04L9/00; H04L9/40; H04L65/1066; H04L65/1101; H04L67/2866; H04L67/288; H04L67/5681; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329

Claims Analysis

Total Claims: 21
Claim 1
Independent Claim 238 words
In a network having a content server which hosts a plurality of streaming multimedia (SM) objects which comprise a plurality of time-ordered packets for distribution over said network through a plurality of helper servers (HS) to a plurality of clients, a method of reducing latency associated with distributing said plurality of SM objects from said content server and said plurality of helper servers HSs to said plurality of clients, said method comprising: servicing a first request received from one of said plurality of clients, including a requested starting position of said SM object, for one of said plurality of SM objects by allocating a first ring buffer in a memory associated with said one of said plurality of HSs for storing data representing a first portion of one of said plurality of SM objects, wherein said first portion includes a packet having an associated time-stamp approximately equal to the requested starting position; maintaining the first ring buffer in the memory as a sliding window by replacing stored data with data representing successive portions of said one of said plurality of SM objects; and allocating a second ring buffer to service a further request for said one of said plurality of SM objects received at said one of said plurality of helper servers, if it is determined that said further request cannot be serviced from said first ring buffer, otherwise servicing said further request from said first ring buffer.
Claim 2
Dependent Claim 238 words
In a network having a content server which hosts a plurality of streaming multimedia (SM) objects which comprise a plurality of time-ordered packets for distribution over said network through a plurality of helper servers (HS) to a plurality of clients, a method of reducing latency associated with distributing said plurality of SM objects from said content server and said plurality of helper servers HSs to said plurality of clients, said method comprising: servicing a first request received from one of said plurality of clients, including a requested starting position of said SM object, for one of said plurality of SM objects by allocating a first ring buffer in a memory associated with said one of said plurality of HSs for storing data representing a first portion of one of said plurality of SM objects, wherein said first portion includes a packet having an associated time-stamp approximately equal to the requested starting position; maintaining the first ring buffer in the memory as a sliding window by replacing stored data with data representing successive portions of said one of said plurality of SM objects; and allocating a second ring buffer to service a further request for said one of said plurality of SM objects received at said one of said plurality of helper servers, if it is determined that said further request cannot be serviced from said first ring buffer, otherwise servicing said further request from said first ring buffer.
Claim 3
Dependent Claim 69 words
The method according to claim 1 , wherein said further request is determined not to be serviceable from said first ring buffer by performing the following steps: calculating a temporal distance between said first request and said further request; comparing the calculated temporal distance with a buffer temporal distance associated with said first ring buffer; and determining that the calculated temporal distance is greater than the buffer temporal distance.
Claim 4
Dependent Claim 134 words
The method according to claim 2 , wherein said temporal distance is calculated as: Δ( r 1 ,r 2 )═( t 2 −p 2 )−( t 1 −p 1)−( p 2 −p 1 ) where r 1 is said first request for said one of said plurality of SM objects; r 2 is said further request for said one of said plurality of SM objects; t 1 is the request time associated with the first request; t 2 is a request time associated with the further request; P 1 is a requested starting position of said one of said plurality of SM objects, in seconds, associated with the first request; and P 2 is a requested starting position of said one of said plurality of SM objects, in seconds, associated with the further request.
Claim 5
Dependent Claim 32 words
The method according to claim 2 , wherein the temporal distance is a function of the request time and the requested starting position for said one of said plurality of SM objects.
Claim 6
Dependent Claim 58 words
The method according to claim 1 , wherein said further request is determined not to be serviceable from said first ring buffer by determining that said requested starting time is not contained in a range between a largest timestamp associated with a packet stored in the buffer and a smallest time-stamp associated a packet stored in the buffer.
Claim 7
Dependent Claim 24 words
The method according to claim 2 , wherein the buffer temporal distance is a measure of the allocated buffer size in units of time.
Claim 8
Dependent Claim 38 words
The method according to claim 1 , wherein said stored data comprises a plurality of data segments, wherein each of said plurality of data segments is sourced from one of said content server and/or said plurality of HSs.
Claim 9
Dependent Claim 61 words
The method according to claim 1 , wherein a further ring buffer associated with said one of said plurality of SM objects is allocated in the memory, if it is determined that a previously allocated ring buffer associated with said one of said plurality of SM objects cannot service a current request for said one of said plurality of SM objects.
Claim 10
Dependent Claim 26 words
The method of claim 8 , wherein the number of ring buffers capable of being allocated in memory is dependent upon the size of the memory.
Claim 11
Dependent Claim 161 words
The method according to claim 1 , further including the step of replacing stored data with data representing successive portions of said one of said plurality of SM objects, wherein said step further comprises the steps of: a) determining that said first ring buffer is full; b) initiating a garbage collector event including the steps of: i) determining that a stored packet having the lowest associated time-stamp is less than the current position associated with a most recently received request and wherein said stored packet having the associated lowest time-stamp value is less than the difference between the stored packet having an associated highest time-stamp value and the buffer temporal distance; ii) removing said stored packet from said first ring buffer, if determination step (i) is true; iii) repeating steps(i) through (ii), until determination step (i) is no longer true, iv) de-initiating said garbage collector event, until it is determined that step (a) is true again and returning to step (b).
Claim 12
Dependent Claim 27 words
The method according to claim 1 , wherein said first ring buffer is de-allocated from the memory upon removing all stored packets from said first ring buffer.
Claim 13
Dependent Claim 14 words
The method according to claim 1 , wherein said time-ordered packets are RTP packets.
Claim 14
Dependent Claim 256 words
In a network having a content server which hosts streaming multimedia (SM) objects, each of said SM objects comprising a plurality of time-ordered packets for distribution over said network through a plurality of HSs to a plurality of clients, a method of reducing latency associated with distributing said SM objects from said content server and said plurality of helpers (HS) to said plurality of clients, said method comprising: receiving a first request for an SM object, including a requested starting position, received from one of said plurality of clients at one of said plurality of HSs; allocating a first ring buffer in a memory associated with said one of said plurality of HSs upon receiving said first request; retrieving said SM object comprising said plurality of time-ordered packets from at least one of said plurality of HSs including said one of said plurality of HSs and said content server; sequentially storing said plurality of time-ordered packets from said retrieved SM object in said first ring buffer by replacing lower time-ordered packets with higher time-ordered packets; servicing a second request for said SM object from said first ring buffer, if it is determined that said subsequent request includes a starting request position within a range between a largest timestamp associated with a packet stored in the buffer and a smallest time-stamp associated a packet stored in the buffer; and allocating a second ring buffer in the memory, if it is determined at the servicing step that said second request cannot be serviced from said first ring buffer.
Claim 15
Dependent Claim 256 words
In a network having a content server which hosts streaming multimedia (SM) objects, each of said SM objects comprising a plurality of time-ordered packets for distribution over said network through a plurality of HSs to a plurality of clients, a method of reducing latency associated with distributing said SM objects from said content server and said plurality of helpers (HS) to said plurality of clients, said method comprising: receiving a first request for an SM object, including a requested starting position, received from one of said plurality of clients at one of said plurality of HSs; allocating a first ring buffer in a memory associated with said one of said plurality of HSs upon receiving said first request; retrieving said SM object comprising said plurality of time-ordered packets from at least one of said plurality of HSs including said one of said plurality of HSs and said content server; sequentially storing said plurality of time-ordered packets from said retrieved SM object in said first ring buffer by replacing lower time-ordered packets with higher time-ordered packets; servicing a second request for said SM object from said first ring buffer, if it is determined that said subsequent request includes a starting request position within a range between a largest timestamp associated with a packet stored in the buffer and a smallest time-stamp associated a packet stored in the buffer; and allocating a second ring buffer in the memory, if it is determined at the servicing step that said second request cannot be serviced from said first ring buffer.
Claim 16
Dependent Claim 40 words
The method according to claim 13 , wherein at said retrieving step, said data is retrieved from said one of said plurality of HSs, if said data is it determined to reside at said one of said plurality of HSs.
Claim 17
Dependent Claim 89 words
The method according to claim 14 , wherein said method further comprises the steps of, if it is determined a first portion of said requested SM object is not stored at said one of said plurality of HSs: forwarding said first request for said SM object from said one of said plurality of HSs to said content server; and receiving at least said first portion of said requested SM object at said one of said plurality of HSs from said content server in response to said forwarded first request.
Claim 18
Independent Claim 153 words
A method of reducing latency in a network having a content server which hosts streaming media (SM) objects which comprise a plurality of time-ordered segments for distribution over said network through a plurality of helpers (HSs) to a plurality of clients, said method comprising: receiving a request for an SM object from one of said plurality of clients at one of said plurality of helper servers; allocating a buffer at one of said plurality of HSs to cache at least a portion of said requested SM object; downloading said portion of said requested SM object to said requesting client, while concurrently retrieving a remaining portion of said requested SM object from one of another HS and said content server; and adjusting a data transfer rate at said one of said plurality of HSs for transferring data from said one of said plurality of helper servers to said one of said plurality of clients.
Claim 19
Independent Claim 153 words
A method of reducing latency in a network having a content server which hosts streaming media (SM) objects which comprise a plurality of time-ordered segments for distribution over said network through a plurality of helpers (HSs) to a plurality of clients, said method comprising: receiving a request for an SM object from one of said plurality of clients at one of said plurality of helper servers; allocating a buffer at one of said plurality of HSs to cache at least a portion of said requested SM object; downloading said portion of said requested SM object to said requesting client, while concurrently retrieving a remaining portion of said requested SM object from one of another HS and said content server; and adjusting a data transfer rate at said one of said plurality of HSs for transferring data from said one of said plurality of helper servers to said one of said plurality of clients.
Claim 20
Dependent Claim 212 words
A network of interconnected helper servers (HSs), each of said interconnected helpers comprising means for receiving and processing real-time streaming protocol (RTSP) requests from clients; means for forwarding client requests to a content server; means for streaming data to a plurality of clients using the real-time (RTP) protocol; means for managing available memory in the form of a buffer pool, each buffer in said buffer pool being associated with an SM object identified by a uniform resource locator (URL); means for mapping URLs identifying said objects received as a parameter along with an SM object request to local filenames; means for managing the disk space allocated for caching by implementing a cache replacement policy; means for recording data onto said cache and reading data from said cache; and scheduler means for managing data producer, data consumer, and garbage collector events, wherein said data producer events are events which source at least a portion of said SM object to said one of said plurality of helper servers to be stored in one of said buffers in said buffer pool, said data consumer events are RTSP requests from clients, and garbage collector events are events associated with removing a portion of said SM objects stored in said buffer pool to free the available memory.
Claim 21
Dependent Claim 212 words
A network of interconnected helper servers (HSs), each of said interconnected helpers comprising means for receiving and processing real-time streaming protocol (RTSP) requests from clients; means for forwarding client requests to a content server; means for streaming data to a plurality of clients using the real-time (RTP) protocol; means for managing available memory in the form of a buffer pool, each buffer in said buffer pool being associated with an SM object identified by a uniform resource locator (URL); means for mapping URLs identifying said objects received as a parameter along with an SM object request to local filenames; means for managing the disk space allocated for caching by implementing a cache replacement policy; means for recording data onto said cache and reading data from said cache; and scheduler means for managing data producer, data consumer, and garbage collector events, wherein said data producer events are events which source at least a portion of said SM object to said one of said plurality of helper servers to be stored in one of said buffers in said buffer pool, said data consumer events are RTSP requests from clients, and garbage collector events are events associated with removing a portion of said SM objects stored in said buffer pool to free the available memory.

References Cited (Backward Citations)

US6587480B1 Cited
US5671225A Cited
US6385693B1 Cited
US6377972B1 Cited
US6499060B1 Cited
US6405256B1 Cited
US6460082B1 Cited
US6466978B1 Cited
US6438630B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-03-16 2007-09-15 2008-03-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-03-16 2011-09-15 2012-03-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-03-16 2015-09-15 2016-03-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag