Method and system for on-demand software distribution
First Claim
1. A method for use in transferring computer code from a source computer to a target computer for execution, said source computer being coupled to said target computer, said method comprising:
- (a) requesting transfer of said computer code from said source computer to said target computer; and
(b) in response to said requesting, providing said source computer with an image of said computer code, said image being of paged out computer code although said computer code was not paged out and said image being pageable in by said target computer.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are presented for efficiently transferring computer code from a source computer to a target computer for execution on the target computer. A virtual memory space for the computer code is created on the target computer. The computer code is linked on the source computer such that addressing of the resulting executable version of the computer code corresponds to the allocated virtual memory space on the target computer. The executable computer code is then stored in the memory of the source computer. As the target computer executes the computer code, page faults result because its allocated virtual memory space is empty. The memory pages required to remediate the page faults are obtained from the source computer on an on-demand basis. Execution accordingly proceeds.
72 Citations
38 Claims
-
1. A method for use in transferring computer code from a source computer to a target computer for execution, said source computer being coupled to said target computer, said method comprising:
-
(a) requesting transfer of said computer code from said source computer to said target computer; and (b) in response to said requesting, providing said source computer with an image of said computer code, said image being of paged out computer code although said computer code was not paged out and said image being pageable in by said target computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for transferring computer code from a source computer to a target computer, said target computer being coupled to said source computer and comprising a virtual storage manager, said method comprising:
-
(a) allocating, on said target computer, virtual memory space corresponding to said computer code, said virtual memory space comprising a plurality of pages of memory; (b) storing an executable version of said computer code in a memory of said source computer, said executable version having addressing corresponding to said virtual memory space of said target computer; and (c) accessing, on said target computer, said virtual memory space, said virtual storage manager transferring portions of said executable version from said source computer to said target computer as page faults occur on said target computer during said accessing. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A system for use in transferring computer code from a source computer to a target computer for execution, said source computer being coupled to said target computer, said system comprising:
-
means for requesting transfer of said computer code from said source computer to said target computer; means for, in response to said requesting, providing said source computer with an image of said computer code, said image being of paged out computer code although said computer code was not paged out and said image being pageable in by said target computer. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A system for transferring computer code from a source computer to a target computer, said target computer being coupled to said source computer and comprising a virtual storage manager, said system comprising:
-
means for allocating, on said target computer, virtual memory space corresponding to said computer code, said virtual memory space comprising a plurality of pages of memory; means for storing an executable version of said computer code in a memory of said source computer, said executable version having addressing corresponding to said virtual memory space of said target computer; and means for accessing, on said target computer, said virtual memory space, said virtual storage manager transferring portions of said executable version from said source computer to said target computer as page faults occur on said target computer during said accessing. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for transferring virtual memory pages to a computer from a paging device, said paging device being coupled to said computer, said method comprising:
-
(a) storing at least one virtual memory page for said computer on said paging device, said at least one virtual memory page having not been previously paged out by said computer; and (b) paging in said at least one virtual memory page to said computer from said paging device. - View Dependent Claims (34, 35)
-
-
36. A system for transferring virtual memory pages to a computer from a paging device, said paging device being coupled to said computer, said system comprising:
-
means for storing at least one virtual memory page for said computer on said paging device, said at least one virtual memory page having not been previously paged out by said computer; and means for paging in said at least one virtual memory page to said computer from said paging device. - View Dependent Claims (37, 38)
-
Specification