US2015235015A1PendingUtilityA1

Optimized Server for Streamed Applications

Assignee: NUMECENT HOLDINGS INCPriority: Nov 6, 2000Filed: Sep 3, 2014Published: Aug 20, 2015
Est. expiryNov 6, 2020(expired)· nominal 20-yr term from priority
G06F 8/65G06F 21/105H04L 67/2857G06F 17/30132H04L 67/5683H04L 63/101G06F 21/121H04L 67/34H04L 2463/101G06F 16/172
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An optimized server for streamed applications provides a streamed application server optimized to provide efficient delivery of streamed applications to client systems across a computer network such as the Internet. The server persistently stores streamed application program sets that contain streamed application file pages. Client systems request streamed application file pages from the server using a unique set of numbers common among all servers that store the particular streamed application file pages. A license server offloads the streamed application server by performing client access privilege validations. Commonly accessed streamed application file pages are stored in a cache on the streamed application server which attempts to retrieve requested streamed application file pages from the cache before retrieving them from persistent storage. Requested streamed application file pages are compressed before being sent to a client as well as those stored in the cache.

Claims

exact text as granted — not AI-modified
1 . A method comprising:
 receiving at a client a stream application install block of a streamed application program;   beginning execution of the streamed application program at the client using the application install block;   intercepting a request for a streamed application file page of the streamed application program used to continue execution of the streamed application program;   determining if the streamed application file page is in client stream cache;   if it is determined that the streamed application file page is in the client stream cache, retrieving the streamed application file page from the client stream cache;   if it is determined that the streamed application file page is absent from the client stream cache:
 sending a request for the streamed application file page to an application server; 
 receiving the streamed application file page from the application server in response to the request for the streamed application file page; 
   continuing execution of the streamed application program using the streamed application file page.   
     
     
         2 . The method of  claim 1 , wherein the stream application install block includes a prefetch page list for the streamed application program, the method further comprising:
 sending a request for at least one streamed application file page listed in the prefetch page list to the application server;   receiving the at least one streamed application file page from the application server in response to the request for the at least one streamed application file page.   
     
     
         3 . The method of  claim 1 , further comprising:
 determining whether a user of the client has a license to execute the streamed application program;   if it is determined that the user of the client has a license to execute the streamed application program:
 sending a request for the stream application install block of the streamed application program; 
 receiving the stream application install block of the streamed application in response to the request for the stream application install block. 
   
     
     
         4 . The method of  claim 1 , wherein the client stream cache is encrypted with a key stored remotely from the client 
     
     
         5 . The method of  claim 4 , further comprising:
 receiving, at the client, the key before the beginning of execution of the streamed application;   accessing during execution of the streamed application the client stream cache using the key.   
     
     
         6 . The method of  claim 1 , further comprising:
 determining at least one additional streamed application file page of the streamed application program based on an identification of the streamed application file page and historic information of application fetching patterns for the streamed application program;   determining if the at least one additional streamed application file page is in the client stream cache;   if it is determined that the at least one streamed application file page is absent from the client stream cache:
 sending a request for the at least one streamed application file page to the application server; 
 receiving the at least one streamed application file page from the application server in response to the request for the at least one streamed application file page. 
   
     
     
         7 . The method of  claim 1 , further comprising receiving, at the client, at least one additional streamed application file page of the streamed application program determined by the application server based on patterns of requests for streamed application file pages made by the client. 
     
     
         8 . The method of  claim 1 , further comprising:
 determining whether the streamed application file page has been modified at the client after it is used in the execution of the streamed application program;   if it is determined that the streamed application file page has been modified at the client, keeping the streamed application file page in the client stream cache;   if it is determined that the streamed application file page remains original at the client, removing the streamed application file page from the client stream cache.   
     
     
         9 . The method of  claim 1 , further comprising calculating a checksum for the streamed application file page after it is received at the client, the checksum used to determine whether the streamed application file page is corrupt when it is retrieved from the client stream cache. 
     
     
         10 . The method of  claim 1 , wherein the streamed application page includes a file identifier of a file of the streamed application program that the streamed application page is part of, the file identifier used to determine whether the streamed application page needs to be retrieved again from the application server if the streamed application program is changed. 
     
     
         11 . A system comprising:
 an application streaming client configured to:
 receive a stream application install block of a streamed application program; 
 begin execution of the streamed application program at the client using the application install block; 
   a client file spoofer on the application streaming client configured to intercept a request for a streamed application file page of the streamed application program used to continue execution of the streamed application program;   a client cache manager on the application streaming client configured to:
 determine if the streamed application file page is in the client stream cache; 
 retrieve the streamed application file page from the client stream cache, if it is determined that the streamed application file page is in the client stream cache; 
   a client server interface on the application streaming client configured to if it is determined that the streamed application file page is absent from the client stream cache:
 send a request for the streamed application file page to an application server; 
 receive the streamed application file page from the application server in response to the request for the streamed application file page; 
   the application streaming client further configured to continue execution of the streamed application program using the streamed application file page.   
     
     
         12 . The system of  claim 11 , wherein the stream application install block includes a prefetch page list for the streamed application program, the system further comprising a client prefetcher on the application streaming client configured to:
 send a request for at least one streamed application file page listed in the prefetch page list to the application server;   receive the at least one streamed application file page from the application server in response to the request for the at least one streamed application file page.   
     
     
         13 . The system of  claim 11 , further comprising:
 a client license manager on the application streaming client configured to determine whether a user of the client has a license to execute the streamed application program;   the client server interface further configured to if it is determined that the user of the client has a license to execute the streamed application program:
 send a request for the stream application install block of the streamed application program; 
 receive the stream application install block of the streamed application in response to the request for the stream application install block. 
   
     
     
         14 . The system of  claim 11 , wherein the client stream cache is encrypted with a key stored remotely from the application streaming client 
     
     
         15 . The system of  claim 14 , wherein:
 the client server interface is further configured to receive the key before the beginning of execution of the streamed application;   the client cache manager is further configured to access during execution of the streamed application the client stream cache using the key.   
     
     
         16 . The system of  claim 11 , wherein:
 the client prefetcher further configured to determine at least one additional streamed application file page of the streamed application program based on an identification of the streamed application file page and historic information of application fetching patterns for the streamed application program;   the client cache manager further configured to determine if the at least one additional streamed application file page is in the client stream cache;   the client server interface further configured to if it is determined that the at least one streamed application file page is absent from the client stream cache:
 send a request for the at least one streamed application file page to the application server; 
 receive the at least one streamed application file page from the application server in response to the request for the at least one streamed application file page. 
   
     
     
         17 . The system of  claim 11 , wherein the client server interface is further configured to receive at least one additional streamed application file page of the streamed application program determined by the application server based on patterns of requests for streamed application file pages made by the application streaming client. 
     
     
         18 . The system of  claim 11 , wherein the client cache manager is further configured to:
 determine whether the streamed application file page has been modified at the client after it is used in the execution of the streamed application program;   keep the streamed application file page in the client stream cache, if it is determined that the streamed application file page has been modified at the client;   remove the streamed application file page from the client stream cache, if it is determined that the streamed application file page remains original at the client.   
     
     
         19 . The system of  claim 11 , wherein the streamed application page includes a file identifier of a file of the streamed application program that the streamed application page is part of, the file identifier used to determine whether the streamed application page needs to be retrieved again from the application server if the streamed application program is changed. 
     
     
         20 . A system comprising:
 means for receiving at a client a stream application install block of a streamed application program;   means for beginning execution of the streamed application program at the client using the application install block;   means for intercepting a request for a streamed application file page of the streamed application program used to continue execution of the streamed application program;   means for determining if the streamed application file page is in client stream cache;   means for retrieving the streamed application file page from the client stream cache, if it is determined that the streamed application file page is in the client stream cache;   means for sending a request for the streamed application file page to an application server, if it is determined that the streamed application file page is absent from the client stream cache;   means for receiving the streamed application file page from the application server in response to the request for the streamed application file page;   means for continuing execution of the streamed application program using the streamed application file page.

Join the waitlist — get patent alerts

Track US2015235015A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.