Method for delivering data over a network
First Claim
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 at least one of anti-latency data stream containing at least a leading portion of data for receipt by the client; and
generating at least one interactive data stream 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.
1 Assignment
0 Petitions
Accused Products
Abstract
This invention describes a new 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 the 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 one 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 being realized based on this invention 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, this invention may also be able to maintain the number of data streams, and therefore the bandwidth, required.
-
Citations
103 Claims
-
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 at least one of anti-latency data stream containing at least a leading portion of data for receipt by the client; and
generating at least one interactive data stream 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99)
-
-
74. A method for transmitting data over a network to at least one client including the step of fragmenting said data into K data segments each requiring a time T to transmit over the network, wherein each of the K data segments contain a head portion and a tail portion, and the head portion contains a portion of data of the tail portion of the immediate preceding segment to facilitate merging of the K data segments when received by the client.
-
75. 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 at least one of anti-latency data stream containing at least a leading portion of data for receipt by the client;
pre-fetching the leading portion in the client as pre-fetched data, and generating at least one interactive data steam containing at least a remaining portion of said data for the client to merge into the leading portion. - View Dependent Claims (76, 77, 78)
-
-
79. A method for transmitting data over a network to at least one client including the steps of generating a plurality of anti-latency data streams, the anti-latency data streams include:
-
a leading data stream containing at least one leading segment of a leading portion of said data being repeated continuously within the leading data stream; and
a plurality of finishing data streams, each of the finishing data streams;
containing at least the rest of the leading portion of said data; and
repeated continuously within said finishing data stream, and wherein each successive finishing data stream is staggered by an anti-latency time interval. - View Dependent Claims (80, 81)
-
-
82. A method for transmitting data over a network to at least one client including the steps of:
generating M anti-latency data streams from 1 to M, wherein an mth anti-latency data stream has Fm segments, and Fm is an mth Fibonacci number; and
wherein said Fm segments are repeated continuously within the mth anti-latency data stream.- View Dependent Claims (83, 84, 85)
-
86. A method for transmitting data over a network to at least one client, said data being fragmented into K segments each requiring a time T to transmit over the network, including the steps of:
generating M anti-latency data streams containing 1 to K anti-latency data segments, wherein the anti-latency data segments are distributed in the M anti-latency data streams such that an kth leading segment is repeated by an anti-latency time interval kT within the anti-latency data streams. - View Dependent Claims (87, 88)
-
100. A method for receiving data being transmitted over a network to at least one client, wherein said data includes a leading portion and a remaining portion, and the remaining portion is transmitted by at least one interactive data stream including the steps of:
-
pre-fetching the leading portion in the client as pre-fetched data; and
merging the pre-fetched data to the remaining portion. - View Dependent Claims (101, 102, 103)
-
Specification