Claims Analysis
Total Claims: 31
Claim 1
Independent Claim
184 words
A method for dynamically binding a root fragment and a plurality of dynamically linked libraries into an executable process on a computer system comprising the steps of: storing a DLL collection of standard dynamically linked libraries and phantom dynamically linked libraries in a memory of a computer system; receiving a bind command within an operating system function executing on said computer system to bind dynamically linked libraries with a root fragment into a new executable process, said operating system function initiating a binding manager executing on said computer system to perform the binding process, said binding manager having access to said DLL collection; determining within said binding manager which standard dynamically linked libraries are needed by said root fragment, wherein said standard dynamically linked libraries are known to at least one of said root fragment and another of said standard dynamically linked libraries; and determining which phantom dynamically linked libraries are to be used within said executable process, wherein said phantom dynamically linked libraries are not known to either of said root fragment or said standard dynamically linked libraries needed by said root fragment.
Claim 2
Independent Claim
184 words
A method for dynamically binding a root fragment and a plurality of dynamically linked libraries into an executable process on a computer system comprising the steps of: storing a DLL collection of standard dynamically linked libraries and phantom dynamically linked libraries in a memory of a computer system; receiving a bind command within an operating system function executing on said computer system to bind dynamically linked libraries with a root fragment into a new executable process, said operating system function initiating a binding manager executing on said computer system to perform the binding process, said binding manager having access to said DLL collection; determining within said binding manager which standard dynamically linked libraries are needed by said root fragment, wherein said standard dynamically linked libraries are known to at least one of said root fragment and another of said standard dynamically linked libraries; and determining which phantom dynamically linked libraries are to be used within said executable process, wherein said phantom dynamically linked libraries are not known to either of said root fragment or said standard dynamically linked libraries needed by said root fragment.
Claim 3
Dependent Claim
113 words
A method as recited in claim 1 wherein said step of determining which phantom dynamically linked libraries are to be used within said executable process includes the substeps of: selecting a phantom dynamically linked library; and determining that said selected phantom dynamically linked library is to be used within said executable process if said selected phantom dynamically linked library is intended to patch a first dynamically linked library, said first dynamically linked library being selected from a set of libraries including at least said root fragment, said standard dynamically linked libraries needed by said root fragment, and any phantom dynamically linked libraries which have been determined to be used within said executable process.
Claim 4
Dependent Claim
81 words
A method as recited in claim 2 wherein said step of determining which phantom dynamically linked libraries are to be used within said executable process further includes the substep of determining that said selected phantom dynamically linked library is not to be used within said executable process if it is determined that said selected phantom dynamically linked library is intended to patch said first dynamically linked library and if said first dynamically linked library is not needed by said root fragment.
Claim 5
Dependent Claim
63 words
A method as recited in claim 2 wherein it is determined that said selected phantom dynamically linked library is intended to patch said first dynamically linked library and that said first dynamically linked library is needed by said root fragment, the method further including the step of asking said binding manager to include said selected phantom dynamically linked library within said executable process.
Claim 6
Dependent Claim
50 words
A method as recited in claim 2 wherein it is determined that said selected phantom dynamically linked library is not intended to patch a dynamically linked library, the method further including the step of asking said binding manager to include said selected phantom dynamically linked library within said executable process.
Claim 7
Dependent Claim
28 words
A method as recited in claim 5 wherein said selected phantom dynamically linked library is operable to self-determine if it is to be used in said executable process.
Claim 8
Dependent Claim
45 words
A method as recited in claim 1 wherein said step of determining which phantom dynamically linked libraries are to be used within said executable process includes the substep of each phantom dynamically linked library self-determining if it is to be used in said executable process.
Claim 9
Dependent Claim
105 words
A method as recited in claim 1 further including the step of storing a list of dynamically linked libraries each having a corresponding set of at least one phantom dynamically linked library, wherein said step of determining which phantom dynamically linked libraries are to be used within said executable process includes the substeps of: determining which dynamically linked libraries from said list are needed by said root process; and for each dynamically linked library from said list which is needed by said root process, determining that said corresponding set of at least one phantom dynamically linked library is to be used within said executable process.
Claim 10
Dependent Claim
39 words
A method as recited in claim 8 further including the step of asking said binding manager to include each corresponding set of at least one phantom dynamically linked library which is determined to be used within said executable process.
Claim 11
Dependent Claim
66 words
A method as recited in claim 1 wherein said operating system function is a process manager which is operable to provide access to said DLL collection and further manage scheduling and execution of a plurality of processes, said process manager having a process manager root bound to a plurality of dynamically linked libraries, wherein one of said plurality of dynamically linked libraries is said binding manager.
Claim 12
Dependent Claim
37 words
A method as recited in claim 1 wherein one of said phantom dynamically linked libraries calls at least one of said root fragment and said standard dynamically linked libraries to register its existence within said executable process.
Claim 13
Dependent Claim
82 words
A method as recited in claim 11 wherein said operating system function is an event manager which allows said operating system to monitor computer system inputs and said one of said phantom dynamically linked libraries is a virtual user, said virtual user operable to drive said event manager in such a way that said virtual user mimics operations which a user of said computer system may perform, said operations including pointing with a mouse, typing on a keyboard, and depressing a keypad.
Claim 14
Dependent Claim
31 words
A method as recited in claim 1 wherein said step of determining which phantom dynamically linked libraries are to be used within said executable process is performed by said binding manager.
Claim 15
Dependent Claim
77 words
A structure for an executable process comprising: a root fragment including a root functionality of a desired process; and at least one phantom dynamically linked library bound to said executable process, wherein said at least one phantom dynamically linked library performs a phantom library function that is not known by said root fragment, wherein the combination of said root fragment and said at least one phantom dynamically linked library comprises an executable process on a computer system.
Claim 16
Dependent Claim
77 words
A structure for an executable process comprising: a root fragment including a root functionality of a desired process; and at least one phantom dynamically linked library bound to said executable process, wherein said at least one phantom dynamically linked library performs a phantom library function that is not known by said root fragment, wherein the combination of said root fragment and said at least one phantom dynamically linked library comprises an executable process on a computer system.
Claim 17
Dependent Claim
43 words
A structure as described in claim 14 further including at least one standard dynamically linked library bound to said root fragment, said at least one standard dynamically linked library including a desired library function that is known and called by said root functionality.
Claim 18
Dependent Claim
42 words
A structure as described in claim 15 wherein said root fragment comprises: a call symbol to an import symbol corresponding to said desired library function; and a table of contents including said import symbol and a pointer to said desired library function.
Claim 19
Dependent Claim
31 words
A structure as described in claim 14 wherein said at least one phantom dynamically linked library is a patch operable to augment a given function already implemented on said computer system.
Claim 20
Dependent Claim
31 words
A structure as described in claim 14 wherein said at least one phantom dynamically linked library is a patch operable to replace a given function already implemented on said computer system.
Claim 21
Dependent Claim
29 words
A structure as described in claim 14 wherein said at least one phantom dynamically linked library is operable to call said root fragment during execution of said executable process.
Claim 22
Dependent Claim
26 words
A structure as described in claim 19 wherein said call is arranged to register said at least one phantom dynamically linked library with said root fragment.
Claim 23
Dependent Claim
44 words
A computer system comprising: a central processing unit; memory accessible by said central processing unit; and at least one executable process implemented on said central processing unit and said memory, said at least one executable process having a structure as described in claim 14.
Claim 24
Dependent Claim
185 words
A binding system for binding dynamically linked libraries to a root process comprising: a computer system including a central processing unit and memory coupled to said central processing unit; a DLL collection stored in said memory, said DLL collection including standard dynamically linked libraries and phantom dynamically linked libraries; a root fragment stored in said memory; a binding manager stored in said memory and executing on said central processing unit, said binding manager having access to said DLL collection and said root fragment, said binding manager determining which standard dynamically linked libraries are needed by said root fragment, wherein said standard dynamically linked libraries are known to at least one of said root fragment and another of said standard dynamically linked libraries; and a service stored in said memory and executing on said central processing unit, said service having access to said DLL collection and said root fragment, said service determining which phantom dynamically linked libraries are to be used with said root fragment, wherein said phantom dynamically linked libraries are not known to either of said root fragment or said standard dynamically linked libraries.
Claim 25
Dependent Claim
185 words
A binding system for binding dynamically linked libraries to a root process comprising: a computer system including a central processing unit and memory coupled to said central processing unit; a DLL collection stored in said memory, said DLL collection including standard dynamically linked libraries and phantom dynamically linked libraries; a root fragment stored in said memory; a binding manager stored in said memory and executing on said central processing unit, said binding manager having access to said DLL collection and said root fragment, said binding manager determining which standard dynamically linked libraries are needed by said root fragment, wherein said standard dynamically linked libraries are known to at least one of said root fragment and another of said standard dynamically linked libraries; and a service stored in said memory and executing on said central processing unit, said service having access to said DLL collection and said root fragment, said service determining which phantom dynamically linked libraries are to be used with said root fragment, wherein said phantom dynamically linked libraries are not known to either of said root fragment or said standard dynamically linked libraries.
Claim 26
Dependent Claim
19 words
A binding system as recited in claim 22 wherein said binding manager and said service are one computer process.
Claim 27
Dependent Claim
62 words
A binding system as described in claim 22 wherein said root fragment comprises: a call to an import symbol corresponding to a desired library function from a standard dynamically linked library; and a table of contents including: said import symbol; and a data field corresponding to said import symbol, said data field intended to hold a pointer to said desired library function.
Claim 28
Dependent Claim
27 words
A binding system as described in claim 24 wherein said binding manager is operable to store a pointer to said desired library function in said data field.
Claim 29
Dependent Claim
41 words
A binding system as described in claim 22 wherein at least one phantom dynamically linked library which is determined to be used with said root fragment is a patch operable to augment a given function already implemented on said computer system.
Claim 30
Independent Claim
306 words
A method for dynamically binding a root fragment and a plurality of dynamically linked libraries into an executable process on a computer system comprising the steps of: (a) storing a DLL collection of standard dynamically linked libraries and phantom dynamically linked libraries in a memory of a computer system; (b) receiving a bind command within a service executing on said computer system to bind dynamically linked libraries with a root fragment into a new executable process, said service initiating the binding process; (c) determining which standard dynamically linked libraries are needed by said root fragment, wherein said standard dynamically linked libraries are known to at least one of said root fragment and another of said standard dynamically linked libraries, said phantom dynamically linked libraries not known to either of said root fragment or said standard dynamically linked libraries needed by said root fragment; (d) selecting an unprocessed phantom dynamically linked library; (e) determining if said selected phantom dynamically linked library is intended to patch a one of said standard dynamically linked libraries needed by at least one of said root fragment and another of said standard dynamically lined libraries needed by said root fragment, and, if so, requesting that said selected phantom dynamically linked library be added into said executable process; (f) requesting that said selected phantom dynamically linked library be added into said executable process if it is determined in step (e) that said selected phantom dynamically linked library is not intended to patch; (g) marking said selected phantom dynamically linked library as processed; (h) marking each phantom dynamically linked library which has not been added into said executable process as unprocessed when said selected phantom dynamically linked library is added to said executable process in step (e); and (i) repeating steps (d)-(h) until each of the phantom dynamically linked libraries are marked as processed.
Claim 31
Independent Claim
306 words
A method for dynamically binding a root fragment and a plurality of dynamically linked libraries into an executable process on a computer system comprising the steps of: (a) storing a DLL collection of standard dynamically linked libraries and phantom dynamically linked libraries in a memory of a computer system; (b) receiving a bind command within a service executing on said computer system to bind dynamically linked libraries with a root fragment into a new executable process, said service initiating the binding process; (c) determining which standard dynamically linked libraries are needed by said root fragment, wherein said standard dynamically linked libraries are known to at least one of said root fragment and another of said standard dynamically linked libraries, said phantom dynamically linked libraries not known to either of said root fragment or said standard dynamically linked libraries needed by said root fragment; (d) selecting an unprocessed phantom dynamically linked library; (e) determining if said selected phantom dynamically linked library is intended to patch a one of said standard dynamically linked libraries needed by at least one of said root fragment and another of said standard dynamically lined libraries needed by said root fragment, and, if so, requesting that said selected phantom dynamically linked library be added into said executable process; (f) requesting that said selected phantom dynamically linked library be added into said executable process if it is determined in step (e) that said selected phantom dynamically linked library is not intended to patch; (g) marking said selected phantom dynamically linked library as processed; (h) marking each phantom dynamically linked library which has not been added into said executable process as unprocessed when said selected phantom dynamically linked library is added to said executable process in step (e); and (i) repeating steps (d)-(h) until each of the phantom dynamically linked libraries are marked as processed.