Method and apparatus for generating a large payload file
First Claim
1. A method for generating a large payload file from non-contiguous segments of block files comprising:
- receiving a request at a network node for a portion of a large payload file;
obtaining information about assembling said portion of said large payload file by including information indicating whether said large payload is linear, wherein said large payload file is linear if substantive content of said large payload file is located at a starting end of said large payload file;
obtaining a plurality of block files of said large payload file from a plurality of storage devices associated with said network node;
creating a virtual representation of said portion of said large payload file from said plurality of block files using said assembling information; and
transmitting said portion of said large payload file in response to said request.
5 Assignments
0 Petitions
Accused Products
Abstract
Large payload files are selectively partitioned in blocks and the blocks distributed to a plurality of distribution stations at the edge of the network qualified to have the data. Each qualified station decides how much and what portion of the content to save locally, based on information such as network location and environment, usage, popularity, and other distribution criteria defined by the content provider. Different pieces of a large payload file may be available from different nodes, however, when a user requests access to the large payload file, for example, through an application server, a virtual file control system creates an illusion that the entire file is present at the connected node. However, since only selective portions of the large payload file may actually be resident at that node'"'"'s storage at the time of request, a cluster of distribution servers at the distribution station may download the non-resident portions of the file as the application server is servicing the user. The download may be in parallel and usually from the least congested nodes. New nodes added to the network learn from other nodes in the network what content they should have and download the required content, in a desired amount, onto their local storage devices from the nearest and least congested nodes without interrupting network operation. Each node manages its local storage and decides what content to prune based on information such as usage patterns.
-
Citations
46 Claims
-
1. A method for generating a large payload file from non-contiguous segments of block files comprising:
-
receiving a request at a network node for a portion of a large payload file; obtaining information about assembling said portion of said large payload file by including information indicating whether said large payload is linear, wherein said large payload file is linear if substantive content of said large payload file is located at a starting end of said large payload file; obtaining a plurality of block files of said large payload file from a plurality of storage devices associated with said network node; creating a virtual representation of said portion of said large payload file from said plurality of block files using said assembling information; and transmitting said portion of said large payload file in response to said request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for generating a large payload file from non-contiguous segments of lock files comprising:
-
receiving a request at a network node for a portion of a large payload file, said request having an offset into said large payload file and a length of said portion of said large payload file; obtaining information about assembling said portion of said large payload file by including information indicating whether said large payload is linear, wherein said large payload file is linear if substantive content of said large payload file is located at a starting end of said large payload file; obtaining a plurality of block files of said large payload file from a plurality of storage devices associated with said network node; creating a virtual representation of said portion of said large payload file from said plurality of block files using said assembling information; and transmitting said portion of said large payload file in response to said request. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for satisfying a client request for content with portions of said content distributed amongst a plurality of network nodes comprising:
-
receiving a first request at a first node from a client for content, wherein said first node comprises one of a plurality of nodes of a network, said first node having a portion of said content, wherein said content is distributed in subsets of block files amongst one or more of said plurality of nodes; preparing a virtual image of said content using data in a file metadata of said content available in said first node, said file metadata having information about reassembling said file, said virtual image providing an illusion to said client that said content is fully available at said first node; beginning transmission of said content to said client starting from said portion of said content available at said first node; and obtaining non-resident portions of said content while said transmission is progressing, said obtaining non-resident portions comprising; sending a second request to determine nodes in said plurality of nodes that have said non-resident portions of said content, wherein one or more of said plurality of nodes may have same portion of said content; receiving a response from each responding node having said content, said response specifying the portion of said content and performance characteristics of said responding node; and determining from said response which of said responding nodes are a desired set of nodes to download said non-resident portions of said content from; and
downloading said non-resident portions of said content from said desired set of nodes and storing said non-resident portions onto said requesting node.
-
-
16. A computer program product comprising:
-
a computer usable medium comprising computer readable code for generating a large payload file from non-contiguous segments of block files, said computer readable program code configured to; receive a request at a network node for content of a large payload file; obtain information about assembling said large payload file by including information indicating whether said large payload is linear, wherein said large payload file is linear if substantive content of said large payload file is located at a starting end of said large payload file, obtain a plurality of block files of said large payload file from a plurality of storage devices of said node; create a virtual representation of said large payload file from said plurality of block files using said assembling information; and transmit said large payload file in response to said request. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. An apparatus for generating a large payload file from non-contiguous segments of block files comprising:
-
a network with a plurality of nodes; a plurality of storage devices in each of said plurality of nodes to store a plurality of block files in non-contiguous form; and a first server in a first server cluster of a node of said network receiving a request for content of a large payload file, said first server cluster having one or more first servers, said first server obtaining information about assembling said large payload file by including information indicating whether said large payload is linear, wherein said large a load file is linear if substantive content of said large a load file is located at a starting end of said large payload file, said first server obtaining said plurality of block files of said large payload file from said plurality of storage devices of said node, said first server creating a virtual representation of said large payload file from said plurality of block files using said assembling information, and transmitting said large payload file in response to said request. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
Specification