IP Library Granted Patent US 7,412,531
Granted Patent B1
US 7,412,531 · App. 10/060,416 · Granted Aug 12, 2008

Live stream archiving method and apparatus

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,412,531
App. No.
10/060,416
Granted
Aug 12, 2008
Kind
B1
Abstract

A method for recording a complete stream of live data packets from a server in a media cache with reduced server-cache bandwidth includes utilizing a first amount of server-cache bandwidth to receive only a portion of the complete stream of live data packets from the server, determining when the stream of live data packets from the server finishes, thereafter utilizing a second amount of server-cache bandwidth to receive missing portions of the complete stream of live data packets, and combining the portion of the complete stream of live data packets and the missing portions of the complete stream of live data packets to form the complete stream of live data packets in the memory.

Claims (36)

1. A method for recording streaming media in a cache, comprising:

requesting a live transmission of the streaming media from a server, the streaming media including chronologically ordered packets, a first set of said packets being chronologically earlier than a second set of said packets;

receiving, from the server and in response to the request for the live transmission, the second set of packets of the streaming media and designating at least a first packet of the second set of packets as an initial data packet;

providing the second set of packets of the streaming media to a client;

storing the second set of packets in the cache;

requesting a rebroadcast of the streaming media from the server;

receiving, from the server and in response to the request for the rebroadcast, the first set of packets of the streaming media;

determining whether at least a first data packet from the first set of data packets is the same as the initial data packet from the second set of data packets and, if so, terminating the request for the rebroadcast of the streaming media, otherwise storing the first set of data packets in the cache until a data packet from the first set of data packets is the same as the initial data packet from the second set of data packets, and terminating the request for rebroadcast of the streaming media, wherein P<N+M<2*P, where N represents a number of data packets in the second set of data packets; M represents a number of data packets in the first set of data packets; and P represents a number of data packets in a third set of data packets.

2. The method of claim 1 further comprising after terminating the request for the rebroadcast of the streaming media:

receiving a request from another client for a copy of the streaming media; and

sending packets from the first set of packets to the other client before sending packets from the second set of packets to the other client.

3. The method of claim 1 , wherein a streaming media protocol for the streaming media is selected from the group: Microsoft Media Streaming and Real Time Streaming Protocol.

4. The method of claim 1 , wherein requesting the live transmission of the streaming media comprises requesting currently available packets of the streaming media from the server.

5. The method of claim 4 , wherein the currently available packets are associated with presentation times later than a presentation time of an earliest packet of the streaming media.

6. The method of claim 4 , wherein the live transmission of the streaming media comprises data packets from a live source.

7. A streaming media cache, comprising:

a processor coupled to a computer-readable storage device that stores computer-readable instructions for execution by the processor, which instructions, when implemented by the processor, cause the processor to perform:

a first process configured to request a live transmission of data packets of a data stream from a server, the live transmission beginning with a currently available data packet of the data stream;

a second process configured to receive a first set of data packets of the data stream from the server, the first set of data packets including the currently available data packet;

a third process configured to store the first set of data packets in a memory;

wherein the first process is also configured to request, from the server and after the first set of data packets is received, a rebroadcast of the data packets of the data stream, the rebroadcast beginning with a first data packet of the data stream, the first data packet having a presentation time chronologically earlier than a presentation time of the currently available data packet;

wherein the second process is also configured to receive a second set of data packets of the data stream from the server, the second set of data packets including the first data packet;

wherein the third process is also configured to store the second set of data packets in the memory by determining when a data packet from the second set of data packets is the same as the currently available data packet from the first set of data packets and terminating the request for the rebroadcast of the data packets of the data stream and to combine the first set of data packets and the second set of data packets to form a third set of data packets, the third set of data packets representing the data stream in the memory; and

wherein P<N+M<2*P, where N represents a number of data packets in the first set of data packets; M represents a number of data packets in the second set of data packets; and P represents a number of data packets in a third set of data packets.

8. The streaming media cache of claim 7 , further comprising:

a fourth process configured to provide the first set of data packets of the data stream to a client contemporaneously with the third process storing the first set of data packets in the memory.

9. The streaming media cache of claim 7 , wherein the data packets are formatted in a format selected from the group: Microsoft Media Streaming and Real Time Streaming Protocol.

10. A method for reducing a complete stream of data packets of a live transmission from a server in a media cache with reduced server-cache bandwidth, comprising:

utilizing a first amount of server-cache bandwidth to receive a first portion of the complete stream of data packets of the live transmission from the server, the first portion of data packets being less than the complete stream of data packets of the live transmission and including an initial data packet as a first chronological data packet of the first portion of the complete stream of data packets;

determining when the stream of data packets from the server finishes; thereafter

utilizing a second amount of server-cache bandwidth to receive missing portions of the complete stream of data packets, the missing portions including at least some data packets having presentation times chronologically earlier than data packets of the first portion of the complete stream, until a data packet from the missing portions of the complete stream is the same as the initial data packet from the first portion of the complete stream of data packets and thereafter stopping reception of the missing portions of the complete stream of data packets; and

combining the data packets of the first portion of the complete stream of data packets and the data packets of the missing portions of the complete stream of data packets to form a stored copy of the complete stream of data packets in the memory, wherein P=<N+M<2*P, where P represents an amount of server-cache bandwidth required to provide the complete stream of data packets of the live transmission, M represents the first amount of server cache bandwidth, and N represents the second amount of server-cache bandwidth.

11. The method of claim 10 , further comprising:

while utilizing the first amount of server-cache bandwidth to receive the first portion of the complete stream of data packets of the live transmission from the server, providing the first portion of the complete stream of data packets of the live transmission to a client.

12. The method of claim 10 , further comprising:

after combining the data packets of the first portion of the complete stream of data packets and the data packets of the missing portions of the complete stream of data packets to form the stored copy of the complete stream of data packets, providing the stored copy of the complete stream of data packets from the memory to a client.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →