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 applications into a collection of executable blocks;
forming an InitBlock Bundle comprising blocks executable during initialization of the plurality of applications, at least one block from each application being included in the InitBlock Bundle;
sending the InitBlock Bundle to a client computer; and
sending other blocks from the plurality of collections of executable blocks to the client computer subsequent to a start of execution of the InitBlock 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.
255 Citations
24 Claims
-
1. A method of transmitting executable software from a server to a client computer, the method comprising:
-
segmenting each of a plurality of applications into a collection of executable blocks;
forming an InitBlock Bundle comprising blocks executable during initialization of the plurality of applications, at least one block from each application being included in the InitBlock Bundle;
sending the InitBlock Bundle to a client computer; and
sending other blocks from the plurality of collections of executable blocks to the client computer subsequent to a start of execution of the InitBlock Bundle. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 24)
-
-
14. A method of streaming data from a server to a client computer, the method comprising:
-
sending from a server to a client a key value identifying a streamable block;
receiving a response at the server from the client indicating whether the client has a locally stored copy of the block; and
sending the block to the client if the client does not have a locally stored copy.
-
-
19. A computer system comprising:
-
a database storing a plurality of executable applications segmented into a plurality of code blocks, each application'"'"'s plurality of code blocks comprising a set of initialization code blocks;
a processor operatively coupled to a network interface, to the database and to a computer readable data storage media comprising instructions to configure the processor to;
form an initialization block comprising initialization code blocks for at least two of the plurality of applications; and
send the initialization block to a client computer operatively coupled to the network interface.
-
-
23. A computer readable data storage apparatus storing instructions for configuring a computer to:
-
send to a client terminal a key value identifying a streamable block;
receive a response from the client terminal indicating whether the client terminal has a locally stored copy of the block; and
send the block to the client terminal if the client does not have a locally stored copy.
-
Specification