Network streaming of multi-application program code
First Claim
1. A method of transmitting executable software from a server to a client computer, the method comprising:
- segmenting each of a plurality of software applications into a collection of executable blocks, to form a plurality of collections of executable blocks;
forming a startup block bundle comprising blocks executable during initialization of the plurality of software applications, at least one executable block from each of the plurality of software applications being included in the startup block bundle;
sending the startup block bundle to a client computer to enable the client computer to execute the plurality of software applications in a streaming mode; and
sending other blocks from the plurality of collections of executable blocks to the client computer subsequent to a start of execution of the startup block bundle.
4 Assignments
0 Petitions
Accused Products
Abstract
Executable software sent from an application service provider to a client computer can be arranged as a bundle of executable code blocks that are used during initialization of a group of applications (at least one initialization block from each application being included in the bundle). The bundle can include code for applications that are subscribed to by a user as well as for applications not subscribed to. As the subscribed applications are executed, usage data sent to a server may be monitored to determine unsubscribed applications that may be of interest to the user. Subscription offers may be automatically generated and sent to the user in response to processing of the usage data. Transmission efficiency of the code blocks may be improved by exchanging identification codes between the server and client to determine code blocks already present at the client.
231 Citations
18 Claims
-
1. A method of transmitting executable software from a server to a client computer, the method comprising:
-
segmenting each of a plurality of software applications into a collection of executable blocks, to form a plurality of collections of executable blocks; forming a startup block bundle comprising blocks executable during initialization of the plurality of software applications, at least one executable block from each of the plurality of software applications being included in the startup block bundle; sending the startup block bundle to a client computer to enable the client computer to execute the plurality of software applications in a streaming mode; and sending other blocks from the plurality of collections of executable blocks to the client computer subsequent to a start of execution of the startup block bundle. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system comprising:
-
a database storing a plurality of software applications segmented into a plurality of executable code blocks, each said software application'"'"'s plurality of executable code blocks comprising a set of executable initialization code blocks; a processor operatively coupled to the database; and
a computer readable data storage medium comprising instructions to configure the processor to;form an initialization block comprising executable initialization code blocks from each of the plurality of software applications; and send the initialization block to a client computer via a network to enable the client computer to execute the plurality of software applications in a streaming mode. - View Dependent Claims (15, 16, 17)
-
-
18. An apparatus comprising:
-
means for segmenting each of a plurality of software applications into a collection of executable blocks, to form a plurality of collections of executable blocks; means for forming a startup block bundle comprising blocks executable during initialization of the plurality of software applications, at least one executable block from each of the plurality of software applications being included in the startup block bundle; means for sending the startup block bundle to a client computer to enable the client computer to execute the plurality of software applications in a streaming mode; and means for sending other blocks from the plurality of collections of executable blocks to the client computer subsequent to a start of execution of the startup block bundle.
-
Specification