Software streaming system and method
First Claim
1. A method comprising:
- sending from a server to a client data sufficient for the client to build a virtual directory structure to facilitate executing a software program;
uploading to the client blocks associated with the software program until an executable threshold is reached;
initiating execution of the software program when the executable threshold is reached;
continuing to upload blocks associated with the software program while the software program is executed;
streaming additional blocks associated with the software program to the client on demand.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for streaming software may include downloading blocks associated with a software title until an executable threshold is reached, initiating execution of the software title, and continuing to download blocks of the software title while the software title is executed. Another method for streaming software may include sending to a client data sufficient for the client to build a virtual directory structure for use in executing a software title, streaming a subset of blocks associated with the software title to the client, and streaming additional blocks associated with the software title to the client on demand. A system for streaming software may include a server computer and a client computer. The server computer may include a program database and a streaming engine. In operation the streaming engine may stream an executable streaming application from the program database to the client.
-
Citations
19 Claims
-
1. A method comprising:
-
sending from a server to a client data sufficient for the client to build a virtual directory structure to facilitate executing a software program; uploading to the client blocks associated with the software program until an executable threshold is reached; initiating execution of the software program when the executable threshold is reached; continuing to upload blocks associated with the software program while the software program is executed; streaming additional blocks associated with the software program to the client on demand. - View Dependent Claims (2, 3, 4)
-
-
5. A system comprising:
-
a server computer including; first memory having modules stored therein, the modules including; a program database that includes one or more executable streaming applications; a streaming engine; a first processor, coupled to the memory, for accessing modules stored in the first memory; a first communication interface, coupled to the first processor, for forwarding data with respect to a network; wherein, in operation, the first processor runs the streaming engine, which streams an executable streaming application from the program database through the first communication interface; a client computer including; second memory having modules stored therein, the modules including; a virtual environment; a cache; a second processor, coupled to the second memory, for accessing modules stored in the second memory; a second communication interface, coupled to the second processor, for forwarding data with respect to the network; wherein, in operation, the second processor runs the virtual environment, which receives said executable streaming application from the program database through the second communication interface and stores at least some of the executable streaming application in the cache, and wherein the second processor executes the executable streaming application prior to receiving the entire executable streaming application.
-
-
6. A method comprising:
-
activating a program on a client computer; unless a minimum number of files needed for execution of the program are locally available, until the minimum number of files needed for execution of the program are locally available, repeat;
downloading files associated with the program from a server;executing the program using locally available files; streaming files associated with the program as appropriate. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
a network; a server, coupled to the network, executing server software operable to flip files associated with a program as appropriate to clients; a client computer executing a virtual environment and an operating system, the virtual environment including; a streaming module operable to execute the program when a minimum number of files required to execute the program are locally available on the client computer and to receive files from the server as appropriate for continued execution of the program; an error module operable to trap errors related to the execution of the program and request files associated with the errors. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification