Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
269 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocation, the method comprising the steps of: (a) allocating memory blocks for storing tracking information wherein said step (a) of allocating memory blocks includes: (a.1) allocating a first pool of memory blocks for storing normal return information; and (a.2) allocating a second pool of memory blocks for storing exception messages; (b) identifying entry points for accessing the system memory allocation functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information, and (g) returning the received return information to the server resident program that made the system call.
Claim 2
Independent Claim
269 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocation, the method comprising the steps of: (a) allocating memory blocks for storing tracking information wherein said step (a) of allocating memory blocks includes: (a.1) allocating a first pool of memory blocks for storing normal return information; and (a.2) allocating a second pool of memory blocks for storing exception messages; (b) identifying entry points for accessing the system memory allocation functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information, and (g) returning the received return information to the server resident program that made the system call.
Claim 3
Dependent Claim
68 words
A tracking method according to claim 1 wherein said step (f) of recording includes for each call made by a server resident program to a system memory allocation function: (f.1) recording normal return information, if any, in a corresponding portion of the pre-allocated first pool of memory blocks; and (f.2) recording exception return information, if any, in a corresponding portion of the pre-allocated second pool of memory blocks.
Claim 4
Independent Claim
314 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocations and wherein said network operating system has both externally and internally listed groups of public functions that are callable by a server resident program, the method comprising the steps of: (a) allocating memory blocks for storing tracking information; (b) identifying entry points for accessing the system memory allocation functions and wherein the step (b) of identifying entry points includes: (b.1) searching the externally listed public functions for callable memory allocation functions; (b.2) searching the internally listed public functions for callable memory allocation functions; and (b.3) identifying the entry points of found memory allocation functions in both the externally and internally listed groups of public functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information, and (g) returning the received return information to the server resident program that made the system call.
Claim 5
Independent Claim
314 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocations and wherein said network operating system has both externally and internally listed groups of public functions that are callable by a server resident program, the method comprising the steps of: (a) allocating memory blocks for storing tracking information; (b) identifying entry points for accessing the system memory allocation functions and wherein the step (b) of identifying entry points includes: (b.1) searching the externally listed public functions for callable memory allocation functions; (b.2) searching the internally listed public functions for callable memory allocation functions; and (b.3) identifying the entry points of found memory allocation functions in both the externally and internally listed groups of public functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information, and (g) returning the received return information to the server resident program that made the system call.
Claim 6
Dependent Claim
29 words
A tracking method according to claim 3 further comprising: setting up a thunk structure for each callable memory allocation function identified by said step (b) of identifying entry points.
Claim 7
Dependent Claim
26 words
A tracking method according to claim 4 wherein each thunk structure includes an assembly code portion and a second portion executable at a higher language level.
Claim 8
Independent Claim
272 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocations, the method comprising the steps of: (a) allocating memory blocks for storing tracking information; (b) identifying entry points for accessing the system memory allocation functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information and wherein said step (f) of recording is limited to memory allocations and deallocations that are attempted or invoked by system calls made from an identified one of plural server resident programs running in the computer network server; and (g) returning the received return information to the server resident program that made the system call.
Claim 9
Independent Claim
272 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocations, the method comprising the steps of: (a) allocating memory blocks for storing tracking information; (b) identifying entry points for accessing the system memory allocation functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information and wherein said step (f) of recording is limited to memory allocations and deallocations that are attempted or invoked by system calls made from an identified one of plural server resident programs running in the computer network server; and (g) returning the received return information to the server resident program that made the system call.
Claim 10
Dependent Claim
29 words
A tracking method according to claim 6 further comprising the step of: spawning the identified one of the plural server resident programs after performing said steps (a) through (c).
Claim 11
Independent Claim
297 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocations, the method comprising the steps of: (a) allocating memory blocks for storing tracking information; (b) identifying entry points for accessing the system memory allocation functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information; (g) returning the received return information to the server resident program that made the system call; and (h) using the return information recorded in the allocated memory blocks for identifying improper attempts or invocations of server memory allocations and deallocations by system calls made from one or more server resident programs being tracked wherein the one or more tracked server resident programs allocate system memory after being loaded but do not deallocate the allocated system memory prior to being unloaded.
Claim 12
Independent Claim
297 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocations, the method comprising the steps of: (a) allocating memory blocks for storing tracking information; (b) identifying entry points for accessing the system memory allocation functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information; (g) returning the received return information to the server resident program that made the system call; and (h) using the return information recorded in the allocated memory blocks for identifying improper attempts or invocations of server memory allocations and deallocations by system calls made from one or more server resident programs being tracked wherein the one or more tracked server resident programs allocate system memory after being loaded but do not deallocate the allocated system memory prior to being unloaded.
Claim 13
Independent Claim
299 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocations, the method comprising the steps of: (a) allocating memory blocks for storing tracking information; (b) identifying entry points for accessing the system memory allocation functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information; (g) returning the received return information to the server resident program that made the system call; and (h) using the return information recorded in the allocated memory blocks for identifying improper attempts or invocations of server memory allocations and deallocations by system calls made from one or more server resident programs being tracked wherein the one or more tracked server resident programs attempt to deallocate system memory after being loaded but have not previously allocated system memory prior to attempting the deallocation.
Claim 14
Independent Claim
299 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocations, the method comprising the steps of: (a) allocating memory blocks for storing tracking information; (b) identifying entry points for accessing the system memory allocation functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information; (g) returning the received return information to the server resident program that made the system call; and (h) using the return information recorded in the allocated memory blocks for identifying improper attempts or invocations of server memory allocations and deallocations by system calls made from one or more server resident programs being tracked wherein the one or more tracked server resident programs attempt to deallocate system memory after being loaded but have not previously allocated system memory prior to attempting the deallocation.
Claim 15
Independent Claim
301 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocations, the method comprising the steps of: (a) allocating memory blocks for storing tracking information; (b) identifying entry points for accessing the system memory allocation functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information; (g) returning the received return information to the server resident program that made the system call; and (h) using the return information recorded in the allocated memory blocks for identifying improper attempts or invocations of server memory allocations and deallocations by system calls made from one or more server resident programs being tracked wherein the one or more tracked server resident programs attempt to deallocate system memory to a first free pool after having allocated the system memory from a different second free pool.
Claim 16
Independent Claim
301 words
A method for tracking server memory allocations and deallocations that are attempted or invoked by system calls made from one or more server resident programs running in a computer network server, where the server is operating under control of a network operating system having system memory allocation functions callable by the one or more server resident programs for making desired memory allocations and deallocations, the method comprising the steps of: (a) allocating memory blocks for storing tracking information; (b) identifying entry points for accessing the system memory allocation functions; (c) replacing initial instructions of the system memory allocation functions that are accessed by the identified entry points with jump instructions so as to cause system calls made to those system functions to be redirected to respective tracker routines; (d) in response to each system call whose execution is redirected to a respective tracker routine, executing instructions equivalent to the respectively replaced initial instructions of the called system memory allocation function, and then calling the remainder of the called system memory allocation function from the tracker routine to which the redirection jump was made; (e) receiving return information from the called remainder of the system memory allocation function at the corresponding tracker routine; (f) recording the received return information in the memory blocks allocated for storing tracking information; (g) returning the received return information to the server resident program that made the system call; and (h) using the return information recorded in the allocated memory blocks for identifying improper attempts or invocations of server memory allocations and deallocations by system calls made from one or more server resident programs being tracked wherein the one or more tracked server resident programs attempt to deallocate system memory to a first free pool after having allocated the system memory from a different second free pool.