Method and apparatus for caching for streaming data
First Claim
1. A method of caching in a system for transmitting a plurality of media data titles to one or more client(s) from a central server computer system and a proxy server computer system located in a computer network, said proxy server computer system located in the network between the central server computer system and the one or more client(s), wherein each media data title is divided into blocks to be transmitted to the one or more client(s) in a time sequence, and each block is divided into sub-blocks, comprising:
- causing the central server computer system to transmit data in the media data titles to the proxy server computer system via a backbone network connection, and the proxy server computer system to transmit data in the media data titles to one or more client(s) via a local network connection;
identifying which sub-blocks from different blocks of each media data title that are to be cached, wherein the identified sub-blocks include some sub-blocks in each of the blocks of at least one media data title;
caching only the identified sub-blocks at the proxy server computer system to reduce the transmission bit rate of the central server computer system in the network for transmitting data in the media data titles to the proxy server computer system; and
combining sub-blocks of a media data title cached at the proxy server computer system with sub-blocks of the media data title not cached at the proxy server computer system and transmitted from the central server computer system to the proxy server computer system through the network, for delivery to the one or more client(s), wherein a peak transmission rate in the backbone network connection for the central server computer system to transmit data in the media data titles to the proxy server computer system is reduced;
wherein the media data titles include video titles and the sub-blocks comprise partial information of video frames, wherein the video frames are to be transmitted sequentially wherein the combining combines the partial information of video frames from the proxy server computer system with complementary partial information of such video frames from the central server computer system into complete video frames and sending the complete video frames to the client(s); and
wherein the partial information comprise video information obtained at a set of sampling times and at a first sampling rate lower than that of a video source from which said information originates, and wherein the combining combines the video information at the lower first sampling rate from the proxy server computer system with complementary video information taken at sampling times different from the set of sampling times of such video frames from the central server computer system into video data at a sampling rate higher than the first sampling rate and sending the video data at the higher sampling rate to the client(s).
2 Assignments
0 Petitions
Accused Products
Abstract
Streaming video data from the video title is delivered to a client from a central server and a proxy server. To reduce the backbone bandwidth required, a portion of the video title is cached at the proxy server where the portion cached is distributed over the video title so as to reduce the peak bit rate required for the central server to send the remaining portion of the video title. The amount cached at the proxy server may be adjusted in accordance with access profile of video titles to improve caching efficiency. The portion cached may be the basic layer in a scalable multilayer approach where only the basic layer may be sent to a client who has limited bandwidth while clients with higher bandwidth capability may also receive the enhancement layer(s) for improved video reception.
-
Citations
66 Claims
-
1. A method of caching in a system for transmitting a plurality of media data titles to one or more client(s) from a central server computer system and a proxy server computer system located in a computer network, said proxy server computer system located in the network between the central server computer system and the one or more client(s), wherein each media data title is divided into blocks to be transmitted to the one or more client(s) in a time sequence, and each block is divided into sub-blocks, comprising:
-
causing the central server computer system to transmit data in the media data titles to the proxy server computer system via a backbone network connection, and the proxy server computer system to transmit data in the media data titles to one or more client(s) via a local network connection; identifying which sub-blocks from different blocks of each media data title that are to be cached, wherein the identified sub-blocks include some sub-blocks in each of the blocks of at least one media data title; caching only the identified sub-blocks at the proxy server computer system to reduce the transmission bit rate of the central server computer system in the network for transmitting data in the media data titles to the proxy server computer system; and combining sub-blocks of a media data title cached at the proxy server computer system with sub-blocks of the media data title not cached at the proxy server computer system and transmitted from the central server computer system to the proxy server computer system through the network, for delivery to the one or more client(s), wherein a peak transmission rate in the backbone network connection for the central server computer system to transmit data in the media data titles to the proxy server computer system is reduced; wherein the media data titles include video titles and the sub-blocks comprise partial information of video frames, wherein the video frames are to be transmitted sequentially wherein the combining combines the partial information of video frames from the proxy server computer system with complementary partial information of such video frames from the central server computer system into complete video frames and sending the complete video frames to the client(s); and wherein the partial information comprise video information obtained at a set of sampling times and at a first sampling rate lower than that of a video source from which said information originates, and wherein the combining combines the video information at the lower first sampling rate from the proxy server computer system with complementary video information taken at sampling times different from the set of sampling times of such video frames from the central server computer system into video data at a sampling rate higher than the first sampling rate and sending the video data at the higher sampling rate to the client(s). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for delivering media information;
- the system comprising;
a plurality of proxy server computer systems, each servicing a number of terminal devices via a local network connection and receiving a request from one of said terminal devices when a user of said one of said terminal devices desires for a media data title among a plurality of media data titles, said media data titles divided into units that are transmitted in a time sequence to one or more of the terminal devices;
each of said proxy server computer systems comprising a cache memory for storing information in units of at least some of the media data titles;
wherein amount of information in the units of each of said at least some media data titles stored or replaced in the cache memory is determined by a request frequency to said each of said media data titles; anda central server computer system coupled to said proxy server computer systems via a backbone connection in a network, said proxy server computer systems located in the network between the central server computer system and one or more client(s), wherein the central server computer system transmits data in the media data titles to the proxy server computer systems, and each of the proxy server computer systems transmits data in the media data titles to one or more terminal devices; said central server computer system having a storage space for storing a plurality of said media data titles and providing data from one or more of said media data titles when receiving a proxy request from one of said proxy server computer systems, wherein the units of at least one of said media data titles containing information cached in the cache memory of said one proxy server computer system are divided into sub-blocks, and wherein the sub-blocks stored in the cache memory of said one proxy server computer system include some sub-blocks in each of the units of said at least one media data title; said one proxy server computer system combining the sub-blocks in cached units with uncached sub-blocks in units received through the network from the central server computer system to form a data stream of complete media data title(s) and transmitting the combined sub-blocks in units of such media data title(s) to one or more terminal devices, so that the transmission bit rate of the central media server computer system in the backbone connection of the network for transmitting data from the at least some media data titles to said one of the proxy server computer systems is reduced, wherein the media data titles include video titles, and the sub-blocks comprise partial information of video frames, wherein the video frames are to be transmitted sequentially wherein said one proxy server computer system combines the partial information of video frames from the proxy server computer system with complementary partial information of such video frames from the central server computer system into complete video frames and sending the complete video frames to the clients); wherein the partial information comprise video information obtained at a set of sampling times and at a first sampling rate lower than that of a video source from which said information originates, and wherein said one proxy server computer system combines the video information at the lower first sampling rate from the proxy server computer system with complementary video information taken at sampling times different from the set of sampling times of such video frames from the central server computer system into video data at a sampling rate higher than the first sampling rate and sending the video data at the higher sampling rate to the client(s).
- the system comprising;
-
22. A system for delivering media information;
- the system comprising;
a plurality of proxy server computer systems, each servicing a number of terminal devices and receiving a request from one of said terminal devices when a user of said one of said terminal devices desires a media data title from a plurality of media data titles;
wherein at least one of said proxy server computer systems comprises a cache memory; anda central server computer system coupled to said proxy server computer systems in a network, said proxy server computer systems located in the network between the central server computer system and one or more client(s), wherein the central server computer system transmits data in the media data titles to the proxy server computer systems, and the proxy server computer systems transmit data in the media data titles to one or more client(s);
said central server computer system having a storage space for storing a plurality of said media data titles and providing data from one of said media data titles when receiving a proxy request from said at least one of said proxy server computer systems, said cache memory of said at least one proxy server computer system caching only some of the units of said at least one media data title, said at least one proxy server computer system combining the cached units with uncached units received through the network from the central server computer system to form a data stream of a complete media data title and transmitting such media data title to one or more client(s), so that the transmission bit rate of the central server computer system in the network for transmitting the at least one media data title to said at least one proxy server computer system is reduced, wherein said at least one of said You media data titles includes video frames to be transmitted in a time sequence, each frame being divided into sub-blocks, each of the sub-blocks comprising partial information of a video frame, wherein said units of said at least one media data title cached at said proxy server computer system comprise partial information of substantially all of the video frames in said at least one eel media data title so that said one proxy server computer system combines the cached partial information of substantially all of the video frames in said at least one media data title with complementary partial information of such video frames from the central server computer system into complete video frames and sends the complete video frames to terminal devices;wherein the partial information comprise video information obtained at a set of sampling times and at a first sampling rate lower than that of a video source from which said information originates, and wherein said one proxy server computer system combines the video information at the lower first sampling rate from said one proxy server computer system with complementary video information taken at sampling times different from the set of sampling times of such video frames from the central server computer system into video data at a sampling rate higher than the first sampling rate and sending the video data at the higher sampling rate to terminal devices. - View Dependent Claims (23, 24, 25, 26, 27, 56)
- the system comprising;
-
28. A method of caching in a system for transmitting a plurality of media data titles to one or more client(s) from a central server computer system and a proxy server computer system in a network, said proxy server computer system located in the network between the central server computer system and the one or more client(s), wherein each media data title is divided into blocks to be transmitted to the one or more client(s) in a time sequence, and each block is divided into sub-blocks, comprising:
-
identifying which sub-blocks from different blocks of each media data title that are to be cached, wherein the identified sub-blocks include sub-blocks that are distributed over the blocks of at least one media data title; caching only the identified sub-blocks at the proxy server computer system to reduce the transmission bit rate of the central server computer system in the network for transmitting data in the media data titles to the proxy server computer system; and combining sub-blocks of a media data title cached at the proxy server computer system with sub-blocks of the media data title not cached at the proxy server computer system and transmitted from the central server computer system through the network to the proxy server computer system, for delivery to the one or more client(s), wherein the cached sub-blocks of at least one of said media data titles comprise partial information of video frames, wherein the video frames are to be transmitted sequentially, and wherein said one proxy server computer system combines the cached partial information of video frames with complementary partial information of such video frames from the central server computer system into complete video frames and sends the complete video frames to the one or more client(s); wherein the partial information comprise video information obtained at a set of sampling times and at a first sampling rate lower than that of a video source from which said information originates, and wherein said combining combines the video information at the lower first sampling rate from the proxy server computer system with complementary video information taken at sampling times different from the set of sampling times of such video frames from the central server computer system into video data at a sampling rate higher than the first sampling rate and sending the video data at the higher sampling rate to the client(s). - View Dependent Claims (29, 30, 57, 60)
-
-
31. A computer readable storage device embodying a program of instructions executable by a computer to perform a method of caching in a system for transmitting a plurality of media data titles to one or more client(s) from a central server computer system and a proxy server computer system in a network, said proxy server computer system located in the network between the central server computer system and the one or more client(s), wherein each media data title is divided into blocks to be transmitted to the one or more client(s) in a time sequence, and each block is divided into sub-blocks, said method comprising:
-
identifying which sub-blocks from different blocks of each media data title that are to be cached, wherein the identified sub-blocks include sub-blocks that are distributed over the blocks of at least one media data title; caching the identified sub-blocks under the control of the proxy server computer system to reduce the transmission bit rate of the central server computer system in the network for transmitting data in the media data titles to the proxy server computer system; and combining sub-blocks of a media data title cached at the proxy server computer system with sub-blocks of the media data title not cached at the proxy server computer system and transmitted from the central server computer system through the network to the proxy server computer system, wherein the cached sub-blocks of at least one of said media data titles comprise partial information of video frames, wherein the video frames are transmitted sequentially to the one or more client(s), and wherein said one proxy server computer system combines the cached partial information of video frames with complementary partial information of such video frames from the central server computer system into complete video frames and sends the complete video frames to the one or more client(s); wherein the partial information comprise video information obtained at a set of sampling times and at a first sampling rate lower than that of a video source from which said information originates, and wherein said combining combines the video information at the lower first sampling rate from the proxy server computer system with complementary video information taken at sampling times different from the set of sampling times of such video frames from the central server computer system into video data at a sampling rate higher than the first sampling rate and sending the video data at the higher sampling rate to the client(s). - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 58, 61)
-
-
51. A method for transmitting a program of instructions executable by a computer to perform a process of caching in a system for transmitting a plurality of media data titles to one or more client(s) from a central server computer system and a proxy server computer system in a network, said proxy server computer system located in the network between the central server computer system and the one or more client(s), wherein each media data title is divided into blocks to be transmitted to the one or more client(s) in a time sequence, and each block is divided into sub-blocks, said method comprising:
-
transmitting to a client device a program of instructions; and enabling the client device to perform, by means of such program, the following process; identifying which sub-blocks from different blocks of each media data title that are to be cached, wherein the identified sub-blocks include sub-blocks that are distributed over the blocks of at least one media data title; and caching the identified sub-blocks under the control of the proxy server computer system to reduce the transmission bit rate of the central server computer system in the network for transmitting data in the media data titles to the proxy server computer system; and combining sub-blocks of a media data title cached at the proxy server computer system with sub-blocks of the media data title not cached at the proxy server computer system and transmitted from the central server computer system through the network to the proxy server computer system, for delivery to the one or more client(s), wherein at least one of said media data titles cached includes a media data title divided into blocks to be transmitted in a time sequence, and each block is divided into sub-blocks some of which are cached, and the cached sub-blocks comprise partial information of video frames, wherein the video frames are to be transmitted sequentially, and wherein said proxy server computer system combines the partial information of video frames with complementary partial information of such video frames from the central server computer system into complete video frames and sends the complete video frames to client(s); wherein the partial information comprise video information obtained at a set of sampling times and at a first sampling rate lower tan that of a video source from which said information originates, and wherein said combining, combines the video information at the lower first sampling rate from the proxy server computer system with complementary video information taken at sampling times different from the set of sampling times of such video frames from the central server computer system into video data at a sampling rate higher than the first sampling rate and sending the video data at the higher sampling rate to the client(s). - View Dependent Claims (52, 53, 54, 55, 59, 62)
-
-
63. A method of caching in a system for transmitting a plurality of media data titles to one or more client(s) from a central server computer system and a proxy server computer system located in a computer network, said proxy server computer system located in the network between the central server computer system and the one or more client(s), wherein each media data title is divided into blocks each divided into sub-blocks comprising partial information of video frames, wherein the video frames are to be sequentially transmitted to the one or more client(s), comprising:
-
causing the central server computer system to transmit data in the media data titles to the proxy server computer system via a backbone network connection, and the proxy server computer system to transmit data in the media data titles to one or more client(s) via a local network connection; identifying which sub-blocks from different blocks of each media data title that are to be cached, wherein the identified sub-blocks include some sub-blocks in each of the blocks of at least one media data title; caching only the identified sub-blocks at the proxy server computer system to reduce the transmission bit rate of the central server computer system in the backbone network connection for transmitting data in the at least one media data title to the proxy server computer system; and
transmitting sub-blocks of the media data titles cached at the proxy server computer system to the one or more client(s);wherein the cached sub-blocks comprise partial video frames obtained at a set of sampling times and at a first sampling rate lower than that of a video source from which said information originates, said method further comprising combining the cached sub-blocks at the lower first sampling rate from the proxy server computer system with complementary uncached sub-blocks of such video frames taken at sampling times different from the set of sampling times of such video frames from the central server computer system into video data at a sampling rate higher than the first sampling rate and sending the video data at the higher sampling rate to the client(s). - View Dependent Claims (64, 65, 66)
-
Specification