IP Library Granted Patent US 7,200,669
Granted Patent B2
US 7,200,669 · App. 09/954,041 · Granted Apr 3, 2007

Method and system for delivering large amounts of data with interactivity in an on-demand system

Assignee: Dinastech IPR Limited
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,200,669
App. No.
09/954,041
Granted
Apr 3, 2007
Kind
B2
Abstract

A method and system for delivering data over a network to a large number of clients, which may be suitable for building large-scale Video-on-Demand (VOD) systems. In current VOD systems, the client may suffer from a long latency before starting to receive requested data that is capable of providing sufficient interactive functions, or the reverse, without significantly increasing the network load. The method utilizes two groups of data streams, one responsible for minimizing latency while the other provides the required interactive functions. In the anti-latency data group, uniform, or non-uniform or hierarchical staggered stream intervals may be used. The system may have a relatively small startup latency while users may enjoy most of the interactive functions that are typical of video recorders including fast-forward, forward-jump, and so on. Furthermore, the system can maintain the number of data streams, and therefore the bandwidth, required.

Claims (336)

1. A method for transmitting data over a network to at least one client having a latency time to initiate transmission of said data to the client, including the steps of:

generating M anti-latency data streams each containing at least a leading portion of said data for receipt by the client; and

generating N interactive data streams each containing at least a remaining portion of said data for the client to merge into after receiving at least a portion of an anti-latency data stream;

wherein the leading portion of said data can:

be generated at regular anti-latency stream intervals; and

is generated at the next earliest anti-latency stream interval after at least one client raises a request for said data;

and wherein:

data requiring a time R to be transmitted over the network is fragmented into K segments each requiring a time T to transmit over the network; and

the M anti-latency data streams each has J segments, wherein each of the M anti-latency data streams:

contains substantially identical data

can be generated at regular anti-latency time intervals T; and

is generated at the next earliest anti-latency stream interval after the client raises a request for said data; and

each of the N interactive data streams is repeated continuously within said interactive data stream, and each successive interactive data stream is staggered by an interactive time interval,

where: J, K, M and N are integers,

T is a length of time, and

M=N=J=√R/T,

 with R being the length of time required to transmit said data over the network.

2. A method for transmitting data over a network to at least one client having a latency time to initiate transmission of said data to the client, including the steps of:

generating M anti-latency data streams each containing at least a leading portion of said data for receipt by the client; and

generating N interactive data streams each containing at least a remaining portion of said data for the client to merge into after receiving at least a portion of an anti-latency data stream;

wherein the leading portion of said data can:

be generated at regular anti-latency stream intervals; and

is generated at the next earliest anti-latency stream interval after at least one client raises a request for said data;

wherein:

data requiring a time R to be transmitted over the network is fragmented into K segments each requiring a time T to transmit over the network; and

each anti-latency data stream includes:

I. a leading data stream that:

contains at least one leading segment of the leading portion of said data

can be generated at regular anti-latency time intervals ≧T; and

is generated at the next earliest anti-latency stream interval after the client raises a request for said data; and

II. a plurality of finishing data streams, wherein each of the finishing data streams:

has J segments,

contains the rest of the leading portion of said data;

corresponds to one of the leading segments; and

is generated when the corresponding leading segment is generated;

and wherein each of the N interactive data streams is repeated continuously within said interactive data stream, and each successive interactive data stream is staggered by an interactive time interval ≧JT,

where: J, K, M and N are integers,

T is a length of time, and

J=J=√12K.

3. A method for transmitting data over a network to at least one client having a latency time to initiate transmission of said data to the client, including the steps of:

generating M anti-latency data streams each containing at least a leading portion of said data for receipt by the client; and

generating N interactive data streams each containing at least a remaining portion of said data for the client to merge into after receiving at least a portion of an anti-latency data stream;

wherein the leading portion of said data can:

be generated at regular anti-latency stream intervals; and

is generated at the next earliest anti-latency stream interval after at least one client raises a request for said data;

and wherein:

data requiring a time R to be transmitted over the network is fragmented into K segments each requiring a time T to transmit over the network,

each of the N interactive data stream is repeated continuously within said interactive data stream, and each successive interactive data stream is staggered by an interactive time interval

=

K

T

N

;

an m th anti-latency data stream has F m segments, wherein F m is an m th Fibonacci number;

the F m segments can be generated at regular anti-latency stream intervals,

the first F m segment is generated at the next earliest anti-latency stream interval when the client raises a request for said data; and

subsequent F (m+1) segments are generated before all data in the preceding F m segment is received by the client;

and further including the steps of:

connecting the client to at least the m th and (m+1) th anti-latency data streams when the client raises a request for said data;

buffering the data in at least the m th and (m+ 1 ) th anti-latency data streams in the client;

subsequently connecting the client to successive anti-latency data streams; and

repeating the previous steps until all data in the leading portion is received by the client,

where: K, M and N are integers,

T is a length of time, and

m starts from 4 and the repeating 1 st , 2 nd and 3 rd anti-latency data streams have the following configuration:

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

3

2

3

2

3

2

3

2

3

2

3

2

3

2

3

2

3

2

3

4

5

6

7

4

5

6

7

4

5

6

7

4

5

6

7

4

5

6

7

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

3

2

3

2

3

2

3

2

3

2

3

2

3

4

5

6

7

4

5

6

7

4

5

6

7

4

5

4. A method for transmitting data over a network to at least one client including the steps of generating M anti-latency data streams, wherein

an m th anti-latency data stream has F m segments, and F m is an m th Fibonacci number;

the F m segments can be generated at regular anti-latency stream intervals;

the first F m segment is generated at the next earliest anti-latency stream interval when the client raises a request for said data; and

subsequent F (m+ 1) segments are generated before all data in the preceding F m segment is received by the client;

where: M is an integer, and

m starts from 4 and the repeating 1 st , 2 nd and 3 rd anti-latency data streams have the following configuration:

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

3

2

3

2

3

2

3

2

3

2

3

2

3

2

3

2

3

2

3

4

5

6

7

4

5

6

7

4

5

6

7

4

5

6

7

4

5

6

7

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

3

2

3

2

3

2

3

2

3

2

3

2

3

4

5

6

7

4

5

6

7

4

5

6

7

4

5

5. A system for transmitting data over a network to at least one client having a latency time to initiate transmission of said data to the client, including:

at least one anti-latency signal generator for generating M anti-latency data streams each containing at least a leading portion of said data for receipt by the client; and

at least one interactive signal generator for generating N interactive data streams each containing at least a remaining portion of said data for the client to merge into after receiving at least a portion of an anti-latency data stream;

wherein the leading portion of said data

can be generated at regular anti-latency stream intervals; and

is generated at the next earliest anti-latency stream interval after at least one client raises a request for said data;

and wherein:

data requiring a time R to be transmitted over the network is fragmented into K segments each requiring a time T to transmit over the network;

each of the N interactive data streams is repeated continuously within said interactive data stream, and each successive interactive data stream is staggered by an interactive time interval

=

KT

N

;

an m th anti-latency data stream has F m segments, wherein F m is an m th Fibonacci number,

the F m segments can be generated at regular anti-latency stream intervals,

the first F m segment is generated at the next earliest anti-latency stream interval when the client raises a request for said data, and

subsequent F (m+1) segments are generated before all data in the preceding F m segment is received by the client,

where: K, M and N are integers,

T is a length of time,

R is the length of time required to transmit said data over the network, and

m starts from 4 and the repeating 1 st , 2 nd and 3 rd anti-latency data streams have the following configuration:

11111111

11111111

11111111

11111111

11

23232323

23232323

23232323

23232323

23

45674567

45674567

45674567

45674567

45

6. An anti-latency signal generator for generating M anti-latency data streams to transmit data over a network to at least one client, wherein

an m th anti-latency data stream has F m segments, and F m is an m th Fibonacci number;

the F m segments can be generated at regular anti-latency stream intervals;

the first F m segment is generated at the next earliest anti-latency stream interval when the client raises a request for said data; and

subsequent F (m+1) segments are generated before all data in the preceding F m segment is received by the client;

where: M is an integer, and

m starts from 4 and the repeating 1 st , 2 nd and 3 rd anti-latency data streams have the following configuration:

11111111

11111111

11111111

11111111

11

23232323

23232323

23232323

23232323

23

45674567

45674567

45674567

45674567

45

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2001
From: CHEUNG, KWOK-WAI; CHAN, KWONG-WING RAYMOND; CHAN, GIN-MAN; LAM, WING-KAI
To: DINASTECH IPR LIMITED
Reel/Frame 012381/0479 →
Continuity (3)
Continuation In Part 0991763900 · Jul 31, 2001
Continuation In Part 0991763800 · Jul 31, 2001
Related Publication 20030093543A1 · May 15, 2003