IP Library Granted Patent US 9,813,472
Granted Patent B2
US 9,813,472 · App. 15/156,079 · Granted Nov 7, 2017

System and method for minimizing network bandwidth retrieved from an external network

Inventors: Mark B. Hurst (Cedar Hills, UT); Loren Larson (American Fork, UT); David S. Anderson (Salt Lake City, UT); Lei Wang (Provo, UT)
Assignee: ECHOSTAR TECHNOLOGIES LLC
H04L65/60H04L65/80H04L67/104H04L67/1076H04L67/2885H04L67/322H04L67/42H04N7/17336H04N21/222H04N21/2393H04N21/234327H04N21/25808H04N21/25841H04N21/2662H04N21/440227H04N21/47202H04N21/632H04N21/643H04N21/8456H04L65/403H04L67/28H04L67/2842
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 9,813,472
App. No.
15/156,079
Granted
Nov 7, 2017
Kind
B2
Abstract

A system and method are provided of minimizing network bandwidth used from an external network by client peers in a local network. The method can include the operation of organizing a plurality of clients each having media streamlets and a client parent in a structure within the local network. Mapping information propagates through the structure. The mapping information represents local streamlet locations as stored by the plurality of clients. Another operation is retrieving a local streamlet from a client identified in the mapping information as having the local streamlet for the requesting client.

Claims (24)

1. A method executable by a client device operating as one of a plurality of clients during streaming of a media stream made up of a series of media segments available from an external server, the method comprising:

receiving, by the client device, segment mapping information from at least one other of the plurality of clients, the segment mapping information describing a subset of the series of media segments representing at least a portion of the media stream that was previously obtained from the external server and is now available from another of the plurality of clients, wherein the segment mapping information identifies a local location of each media segment in the subset that is available directly from the other client;

retrieving the media segments in the subset directly from the other client using the local location identified in the segment mapping information to retrieve the media segments from the other client instead of obtaining the media segments from the external server; and

playing back the media segments by the client device to thereby present the media stream to a viewer.

2. A method as in claim 1 wherein the plurality of clients is linked in a hierarchical structure.

3. The method as in claim 2 , further comprising creating a defined number of tokens for an additional client that joins the hierarchal structure.

4. The method as in claim 3 , wherein the creating a defined number of tokens comprises creating the defined number of tokens based on a maximum number of mapping information exchange connections that are supportable.

5. A method as in claim 1 further comprising:

sharing additional segment mapping information with the other client, the segment mapping information comprising an address of the at least one media segment that is usable by the other client to obtain the at least one media segment from the client device.

6. A method as in claim 5 , wherein the sharing comprises distributing segment mapping information that includes information received from the other client.

7. A method as in claim 1 wherein the retrieving comprises obtaining the media segments from the other client if the media segments are available from the other client, and otherwise obtaining the media segments from the external server.

8. A method as in claim 1 wherein the retrieving comprises retrieving the additional segments from the other client instead of the external server to thereby reduce consumption of network bandwidth.

9. A method as in claim 1 , further comprising the client device applying a priority policy rule defining segment quality priorities and network priorities that are used when obtaining the media segments for playback, and wherein the network priorities define the ordering in which media segments at defined qualities should be retrieved from other clients on the local network and servers on external networks.

10. A method as in claim 1 wherein the plurality of clients is linked in a ring structure.

11. The method of claim 1 , further comprising the client device requesting the media segments from the external server when the media segments are not available in the mapping information.

12. A client device configured to operate as one of a plurality of clients in a local area network, the client device comprising a processor, memory and an interface to the local area network, wherein the client device is configured to obtain and playback a media stream made up of a series of media segments that are each made available from an external server by executing an automated process comprising:

receiving segment mapping information from another client device of the plurality of clients, the segment mapping information comprising local addresses of media segments that are usable by the client device to obtain media segments directly from the other client device;

retrieving the series of media segments by the media player, wherein at least some of the series of media segments are retrieved directly from the other client device using the local addresses; and

playing back the media segments by the client device to thereby present the media stream to a viewer.

13. The client device of claim 12 , wherein the client device is further configured to retrieve the additional segments from the other client instead of the external server to thereby reduce consumption of network bandwidth.

14. The client device of claim 13 wherein the client device further applies a priority policy rule defining segment quality priorities and network priorities that are used when obtaining media streamlets for media playback, wherein the segment quality priorities consider the particular quality of each segment.

15. The client device of claim 14 wherein each segment comprises at least a portion of a data file that contains an individually identifiable and individually addressable portion of the media stream having a particular quality.

16. The client device of claim 12 , wherein the client device is further configured to obtain additional segment mapping information from other ones of the plurality of clients and to retrieve additional media segments of the media stream from the other clients using the additional segment mapping information during playback of the media stream by the client device.

17. The client device of claim 16 , wherein the client device is further configured to obtain the additional media segments from the other clients if the additional media segments are available from the other clients, and to otherwise obtain the additional media segments from the external server.

Assignments (4)
SECURITY INTEREST Recorded Nov 30, 2021
From: DISH BROADCASTING CORPORATION; DISH NETWORK L.L.C.; DISH TECHNOLOGIES L.L.C.
To: U.S. BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 058295/0293 →
CHANGE OF NAME Recorded Jun 18, 2018
From: ECHOSTAR TECHNOLOGIES L.L.C.
To: DISH TECHNOLOGIES L.L.C.
Reel/Frame 047264/0127 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2017
From: DISH DIGITAL L.L.C.
To: ECHOSTAR TECHNOLOGIES LLC
Reel/Frame 041018/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2016
From: HURST, MARK B.; LARSEN, LOREN; ANDERSON, DAVID S.; WANG, LEI
To: ECHOSTAR TECHNOLOGIES L.L.C.
Reel/Frame 038722/0870 →
Continuity (7)
Continuation 14531804 · Nov 3, 2014
Continuation 13757571 · Feb 1, 2013
Continuation 12075475 · Mar 10, 2008
Continuation In Part 11116783 · Apr 28, 2005
Continuation In Part 11673483 · Feb 9, 2007
Continuation In Part 11834548 · Aug 6, 2007
Related Publication 20160261662A1 · Sep 8, 2016