Client installation and execution system for streamed applications
First Claim
1. A process for installing a streamed application program on a client system and executing said streamed application program on said client while concurrently streaming portions of said streamed application program from a server in a computer environment, comprising the steps of:
- receiving an installation information block for said streamed application program from said server;
providing file redirection means on said client for redirecting file accesses from said client'"'"'s local file system to the streaming server'"'"'s file system;
providing a file mapping database that persistently stores on said client;
a bi-directional mapping of the client file system to the streaming server file system after termination of said streamed application;
wherein said file mapping database is updated with said streamed application program'"'"'s file mapping data obtained from said installation information;
wherein said file redirection means performs said redirection using said file mapping database;
providing registry interception means on said client for intercepting all registry calls on said client and redirecting calls that manipulate certain registries to an alternate path;
providing a registry spoof database that persistently stores on said client;
mappings of original registry paths to new alternate registry paths after termination of said streamed application;
wherein said registry spoof database is updated with said streamed application program'"'"'s registry mapping data obtained from said installation information;
wherein said registry interception means uses said registry spoof database to redirect registry calls;
providing an application page cache on said client;
providing application page prefetching means on said client for requesting application pages of said streamed application program from said server;
wherein said application page prefetching means initially populates said application page cache with an initial set of application pages when said streamed application program is installed on said client, said initial set of application pages are specified in said installation information; and
installing the proper icons, aliases, and description onto said client that give the user the proper look and feel of the original application program.
10 Assignments
0 Petitions
Accused Products
Abstract
A client installation and execution system for streamed applications requires the user or administrator to obtain a subscription to the streamed application program from a subscription server before installation of the streamed application program begins. The client then obtains an encrypted access token for the streamed application program from a license server upon acknowledgment of a valid license, receives an installation information block from the server, and installs the proper icons, aliases, and description onto the client that give the user the proper look and feel of the original application program. A file spoofer is installed on the client that redirects file accesses from the client'"'"'s local file system to the streaming server'"'"'s file system. A registry spoofer is provided on the client for intercepting all registry calls on the client and redirecting calls that manipulate certain registries to an alternate path specified in a registry database on the client. An application page cache is also provided on the client that is managed by a cache manager that requests application pages of the streamed application program from the server. During execution of the streamed application program, page requests are generated and the cache manager requests any application pages from the server that are not resident in the application page cache and places the requested application pages in the application page cache.
-
Citations
66 Claims
-
1. A process for installing a streamed application program on a client system and executing said streamed application program on said client while concurrently streaming portions of said streamed application program from a server in a computer environment, comprising the steps of:
-
receiving an installation information block for said streamed application program from said server;
providing file redirection means on said client for redirecting file accesses from said client'"'"'s local file system to the streaming server'"'"'s file system;
providing a file mapping database that persistently stores on said client;
a bi-directional mapping of the client file system to the streaming server file system after termination of said streamed application;
wherein said file mapping database is updated with said streamed application program'"'"'s file mapping data obtained from said installation information;
wherein said file redirection means performs said redirection using said file mapping database;
providing registry interception means on said client for intercepting all registry calls on said client and redirecting calls that manipulate certain registries to an alternate path;
providing a registry spoof database that persistently stores on said client;
mappings of original registry paths to new alternate registry paths after termination of said streamed application;
wherein said registry spoof database is updated with said streamed application program'"'"'s registry mapping data obtained from said installation information;
wherein said registry interception means uses said registry spoof database to redirect registry calls;
providing an application page cache on said client;
providing application page prefetching means on said client for requesting application pages of said streamed application program from said server;
wherein said application page prefetching means initially populates said application page cache with an initial set of application pages when said streamed application program is installed on said client, said initial set of application pages are specified in said installation information; and
installing the proper icons, aliases, and description onto said client that give the user the proper look and feel of the original application program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus for installing a streamed application program on a client system and executing said streamed application program on said client while concurrently streaming portions of said streamed application program from a server in a computer environment, comprising:
-
a module for receiving an installation information block for said streamed application program from said server;
file redirection means on said client for redirecting file accesses from said client'"'"'s local file system to the streaming server'"'"'s file system;
a file mapping database that persistently stores on said client;
a bi-directional mapping of the client file system to the streaming server file system after termination of said streamed application;
wherein said file mapping database is updated with said streamed application program'"'"'s file mapping data obtained from said installation information;
wherein said file redirection means performs said redirection using said file mapping database;
registry interception means on said client for intercepting all registry calls on said client and redirecting calls that manipulate certain registries to an alternate path;
a registry spoof database that persistently stores on said client;
mappings of original registry paths to new alternate registry paths after termination of said streamed application;
wherein said registry spoof database is updated with said streamed application program'"'"'s registry mapping data obtained from said installation information;
wherein said registry interception means uses said registry spoof database to redirect registry calls;
an application page cache on said client;
application page prefetching means on said client for requesting application pages of said streamed application program from said server;
wherein said application page prefetching means initially populates said application page cache with an initial set of application pages when said streamed application program is installed on said client, said initial set of application pages are specified in said installation information; and
a module for installing the proper icons, aliases, and description onto said client that give the user the proper look and feel of the original application program. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A program storage medium readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for installing a streamed application program on a client system and executing said streamed application program on said client while concurrently streaming portions of said streamed application program from a server in a computer environment, comprising the steps of:
-
receiving an installation information block for said streamed application program from said server;
providing file redirection means on said client for redirecting file accesses from said client'"'"'s local file system to the streaming server'"'"'s file system;
providing a file mapping database that persistently stores on said client;
a bi-directional mapping of the client file system to the streaming server file system after termination of said streamed application;
wherein said file mapping database is updated with said streamed application program'"'"'s file mapping data obtained from said installation information;
wherein said file redirection means performs said redirection using said file mapping database;
providing registry interception means on said client for intercepting all registry calls on said client and redirecting calls that manipulate certain registries to an alternate path;
providing a registry spoof database that persistently stores on said client;
mappings of original registry paths to new alternate registry paths after termination of said streamed application;
wherein said registry spoof database is updated with said streamed application program'"'"'s registry mapping data obtained from said installation information; and
wherein said registry interception means uses said registry spoof database to redirect registry calls;
providing an application page cache on said client;
providing application page prefetching means on said client for requesting application pages of said streamed application program from said server;
wherein said application page prefetching means initially populates said application page cache with an initial set of application pages when said streamed application program is installed on said client, said initial set of application pages are specified in said installation information; and
installing the proper icons, aliases, and description onto said client that give the user the proper look and feel of the original application program. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A process for installing a streamed application program on a client system and executing said streamed application program on said client while concurrently streaming portions of said streamed application program from a server in a computer environment, comprising the steps of:
-
providing file redirection means on said client for redirecting file accesses from said client'"'"'s local file system to the streaming server'"'"'s file system;
providing a file mapping database that persistently stores on said client a bi-directional mapping of the client file system to the streaming server file system after termination of said streamed application;
wherein said file redirection means performs said redirection using said file mapping database;
providing registry interception means on said client for intercepting all registry calls on said client and redirecting calls that manipulate certain registries to an alternate path;
providing a registry spoof database that persistently stores on said client;
mappings of original registry paths to new alternate registry paths after termination of said streamed application;
wherein said registry interception means uses said registry spoof database to redirect registry calls;
providing an application page cache on said client;
providing application page prefetching means on said client for requesting application pages of said streamed application program from said server; and
wherein during execution of said streamed application program said streamed application program generates page requests, said application page prefetching means requests application pages from said server that are not resident in said application page cache and places said requested application pages in said application page cache. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. An apparatus for installing a streamed application program on a client system and executing said streamed application program on said client while concurrently streaming portions of said streamed application program from a server in a computer environment, comprising:
-
file redirection means on said client for redirecting file accesses from said client'"'"'s local file system to the streaming server'"'"'s file system;
a file mapping database that persistently stores on said client a bi-directional mapping of the client file system to the streaming server file system after termination of said streamed application;
wherein said file redirection means performs said redirection using said file mapping database;
registry interception means on said client for intercepting all registry calls on said client and redirecting calls that manipulate certain registries to an alternate path;
a registry spoof database that persistently stores on said client;
mappings of original registry paths to new alternate registry paths;
wherein said registry interception means uses said registry spoof database to redirect registry calls;
an application page cache on said client;
application page prefetching means on said client for requesting application pages of said streamed application program from said server; and
wherein during execution of said streamed application program said streamed application program generates page requests, said application page prefetching means requests application pages from said server that are not resident in said application page cache and places said requested application pages in said application page cache. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A program storage medium readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for installing a streamed application program on a client system and executing said streamed application program on said client while concurrently streaming portions of said streamed application program from a server in a computer environment, comprising the steps of:
-
providing file redirection means on said client for redirecting file accesses from said client'"'"'s local file system to the streaming server'"'"'s file system;
providing a file mapping database that persistently stores on said client;
a bi-directional mapping of the client file system to the streaming server file system after termination of said streamed application;
wherein said file redirection means performs said redirection using said file mapping database;
providing registry interception means on said client for intercepting all registry calls on said client and redirecting calls that manipulate certain registries to an alternate path;
providing a registry spoof database that persistently stores on said client;
mappings of original registry paths to new alternate registry paths after termination of said streamed application;
wherein said registry interception means uses said registry spoof database to redirect registry calls;
providing an application page cache on said client;
providing application page prefetching means on said client for requesting application pages of said streamed application program from said server; and
wherein during execution of said streamed application program said streamed application program generates page requests, said application page prefetching means requests application pages from said server that are not resident in said application page cache and places said requested application pages in said application page cache. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66)
-
Specification