← Back to Patent Explorer
US5465351A Expired / Lapsed US ⏱️ 0.0 years remaining

Client-side memory management process for client-server computing

Assignee: IMPERIAL BANK
•
Filing: 1992-08-14
•
Granted: 1995-11-07
•
Expires: 2012-08-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for memory management of a client-server computing network, including passing client arguments packaged as a high level data structure across a network which automatically frees memory allocated for return arguments by chasing pointers until non-pointer data elements are encountered; determining for arguments returned by the network whether any first level data elements are pointers; automatically copying each first level data element that is not a pointer returned by the network to its corresponding memory location within the client argument, and, for first level data elements that are pointers, copying the data structures and data elements defined by the pointers, and zeroing the copied pointers to stop the network from chasing the pointers and to prevent the freeing of data elements and data structures linked to the pointers but not copied for preserving those data elements.

Inventors

  • 👤 Steven E. Lemmo

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 07:07
CPC Classifications
H; H04; H04L; H04L67/00; H04L67/01; H04L67/10; H04L9/00; H04L9/40

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 196 words
A method of managing memory in a client-server computing network including a memory management process, the method comprising: passing client arguments packaged as a high level data structure across a network which automatically frees memory allocated for return arguments from the client side of the network by chasing pointers until non-pointer data elements are encountered, the freeing of memory occurring on the client side of the network; determining for each argument returned by the network whether any first level data element is a pointer; automatically copying, for each argument that includes a first level data element that is a pointer, any data structures and data elements defined by said pointers to a client application high level data structure, and automatically copying, for all said arguments not having a first level data element that is a pointer, any first level data elements and data structures from the returned high level data structure to a client application high level data structure; and zeroing the copied data elements that are pointers to stop the network from chasing said pointers and to prevent the freeing of data elements linked to said pointers but not copied for preserving said data elements.
Claim 2
Independent Claim 196 words
A method of managing memory in a client-server computing network including a memory management process, the method comprising: passing client arguments packaged as a high level data structure across a network which automatically frees memory allocated for return arguments from the client side of the network by chasing pointers until non-pointer data elements are encountered, the freeing of memory occurring on the client side of the network; determining for each argument returned by the network whether any first level data element is a pointer; automatically copying, for each argument that includes a first level data element that is a pointer, any data structures and data elements defined by said pointers to a client application high level data structure, and automatically copying, for all said arguments not having a first level data element that is a pointer, any first level data elements and data structures from the returned high level data structure to a client application high level data structure; and zeroing the copied data elements that are pointers to stop the network from chasing said pointers and to prevent the freeing of data elements linked to said pointers but not copied for preserving said data elements.
Claim 3
Dependent Claim 61 words
The method of claim 1 further including; recognizing a network resident copy function; suspending, in response to recognition of said network resident copy function, said automatic copying and zeroing by said memory management process of any data elements and data structures of an argument to be copied by said network resident copy function; and automatically executing said network resident copy function.
Claim 4
Dependent Claim 205 words
A client-server memory management method for a network data transfer transport mechanism comprising: passing one or more server return arguments packaged as one or more levels of data elements across the network data transport mechanism to be copied into a corresponding client application; determining for each said return argument whether a pointer is present as a first level data element; resolving whether data elements traceable to said pointer are designated for copying by an extraneous function; automatically copying, for each said return argument, each first level data element and data structure that is not a pointer to its corresponding memory location within said client application, and automatically copying any second level data elements and data structures not linked to said data elements designated for copying; said copying being from the returned high level data structure to application high level data structure, zeroing any pointers automatically copied to stop the network from chasing said pointers and freeing data elements not designated for copying by said function; executing any said extraneous function to copy all data elements designated by said extraneous function; and freeing the data elements copied by said extraneous function and freeing the data elements traceable from said data elements copied by said extraneous function.
Claim 5
Dependent Claim 205 words
A client-server memory management method for a network data transfer transport mechanism comprising: passing one or more server return arguments packaged as one or more levels of data elements across the network data transport mechanism to be copied into a corresponding client application; determining for each said return argument whether a pointer is present as a first level data element; resolving whether data elements traceable to said pointer are designated for copying by an extraneous function; automatically copying, for each said return argument, each first level data element and data structure that is not a pointer to its corresponding memory location within said client application, and automatically copying any second level data elements and data structures not linked to said data elements designated for copying; said copying being from the returned high level data structure to application high level data structure, zeroing any pointers automatically copied to stop the network from chasing said pointers and freeing data elements not designated for copying by said function; executing any said extraneous function to copy all data elements designated by said extraneous function; and freeing the data elements copied by said extraneous function and freeing the data elements traceable from said data elements copied by said extraneous function.
Claim 6
Independent Claim 212 words
A method of managing memory in a client-server computing network comprising: packaging one or more client application arguments into a high level data structure; passing said high level data structure across the network to a server procedure; passing a server procedure return high level data structure across the network to the client application making the request; for each argument of said return high level data structure, recognizing whether a copy function resides in the client-side of the network to copy the argument, and executing said copy function to copy remotely returned arguments so designated into said client application; for each argument of said return high level data structure not designated for copying by said network resident copy function, determining whether the first level of said argument is a pointer, automatically copying any first level data elements or data structures that are not pointers from the returned high level data structure into said client application, automatically copying any second level data elements and data structures denoted by first level pointers and automatically zeroing copied pointers, from the returned high level data structure into said clients application, including any pointers of a copied data structure to stop the network from chasing said pointers and to preserve any data elements and data structures not copied.
Claim 7
Independent Claim 212 words
A method of managing memory in a client-server computing network comprising: packaging one or more client application arguments into a high level data structure; passing said high level data structure across the network to a server procedure; passing a server procedure return high level data structure across the network to the client application making the request; for each argument of said return high level data structure, recognizing whether a copy function resides in the client-side of the network to copy the argument, and executing said copy function to copy remotely returned arguments so designated into said client application; for each argument of said return high level data structure not designated for copying by said network resident copy function, determining whether the first level of said argument is a pointer, automatically copying any first level data elements or data structures that are not pointers from the returned high level data structure into said client application, automatically copying any second level data elements and data structures denoted by first level pointers and automatically zeroing copied pointers, from the returned high level data structure into said clients application, including any pointers of a copied data structure to stop the network from chasing said pointers and to preserve any data elements and data structures not copied.
Claim 8
Dependent Claim 172 words
In a client-server network system in which client memory is allocated whenever a data structure containing one or more levels of pointers is passed from a server process to a client application during decoding of the data structure, and such allocated memory is automatically freed by chasing non-nil pointers through the levels of pointers; a method for managing memory for arguments passed over the network, comprising: determining for each first level individual data element of each argument being passed to said client application whether a pointer exists; automatically copying each first level data element that is not a pointer to its corresponding memory location within said client application; automatically copying each second level data element and data structure defined by a first level pointer to its corresponding memory location within said client application; and automatically zeroing any pointer copied to nullify each said pointer and stop the system from chasing said pointers and to prevent the freeing of data elements linked to said pointers but not copied for preserving said data elements.
Claim 9
Dependent Claim 172 words
In a client-server network system in which client memory is allocated whenever a data structure containing one or more levels of pointers is passed from a server process to a client application during decoding of the data structure, and such allocated memory is automatically freed by chasing non-nil pointers through the levels of pointers; a method for managing memory for arguments passed over the network, comprising: determining for each first level individual data element of each argument being passed to said client application whether a pointer exists; automatically copying each first level data element that is not a pointer to its corresponding memory location within said client application; automatically copying each second level data element and data structure defined by a first level pointer to its corresponding memory location within said client application; and automatically zeroing any pointer copied to nullify each said pointer and stop the system from chasing said pointers and to prevent the freeing of data elements linked to said pointers but not copied for preserving said data elements.
Claim 10
Dependent Claim 57 words
The method of claim 5 further including: recognizing a network resident copy function; suspending, in response to recognition of said network resident copy function, said automatic copying and zeroing of any data elements and data structures traceable from data elements to be copied by said network resident copy function; and automatically executing said network resident copy function.
Claim 11
Dependent Claim 161 words
A client-side memory management method for client-server computing associated with a network data transfer system comprising: passing server data elements linked by pointers across the network to be copied into the client application; establishing which said server data elements are to be copied by a network copy function and which said server data elements are to be copied automatically; for said server data elements to be copied automatically, executing a memory management process including determining whether any first level data elements are pointers, automatically copying from the returned high level data structure to application high level data structure all first level data that is not a pointer to the client application, automatically copying all data elements and data structures defined by first level pointers, and zeroing all copied pointers to stop the network from chasing said pointers; and for said server data elements to be copied by said network copy function, suspending said memory management process and executing said copy function.
Claim 12
Dependent Claim 161 words
A client-side memory management method for client-server computing associated with a network data transfer system comprising: passing server data elements linked by pointers across the network to be copied into the client application; establishing which said server data elements are to be copied by a network copy function and which said server data elements are to be copied automatically; for said server data elements to be copied automatically, executing a memory management process including determining whether any first level data elements are pointers, automatically copying from the returned high level data structure to application high level data structure all first level data that is not a pointer to the client application, automatically copying all data elements and data structures defined by first level pointers, and zeroing all copied pointers to stop the network from chasing said pointers; and for said server data elements to be copied by said network copy function, suspending said memory management process and executing said copy function.
Claim 13
Dependent Claim 161 words
A client-side memory management method for client-server computing associated with a network data transfer system, comprising: passing of data from client to server; defining a server procedure which performs a task contingent on arguments received from a client application; executing said server procedure; passing server procedure return data structures and data elements including at least one of a number, character, and a pointer across the network to be copied into a corresponding client application; determining, for each first level individual data element of said return argument, whether a pointer exists; automatically copying each first level data element and data structure that is not a pointer to its corresponding memory location within said client application; automatically copying each second level data element and data structure defined by a first level pointer to its corresponding memory location within said client application; and zeroing each pointer copied to prevent the network data transfer system from chasing said pointers and freeing data elements not copied.
Claim 14
Dependent Claim 161 words
A client-side memory management method for client-server computing associated with a network data transfer system, comprising: passing of data from client to server; defining a server procedure which performs a task contingent on arguments received from a client application; executing said server procedure; passing server procedure return data structures and data elements including at least one of a number, character, and a pointer across the network to be copied into a corresponding client application; determining, for each first level individual data element of said return argument, whether a pointer exists; automatically copying each first level data element and data structure that is not a pointer to its corresponding memory location within said client application; automatically copying each second level data element and data structure defined by a first level pointer to its corresponding memory location within said client application; and zeroing each pointer copied to prevent the network data transfer system from chasing said pointers and freeing data elements not copied.
Claim 15
Dependent Claim 78 words
The method for managing memory of claim 8 further including; resolving whether any data elements and data structures are designated for copying by a copying function; and stopping said automatic copying and zeroing for all pointers linked to data elements so designated to facilitate the freeing of all memory allocated for said data elements so designated once said data elements are copied from returned high level data structures to another high level data structure, by said copy function.
Claim 16
Dependent Claim 21 words
The method for managing memory of claim 9 further including invoking said copy function to copy all data elements so designated.
Claim 17
Dependent Claim 159 words
A memory management system for a client-server computing network which automatically frees memory allocated for return arguments by chasing pointers until data elements not containing pointers are encountered, comprising: means for determining, for each argument on the client side returned by the network from the server, whether any first level data elements are pointers; means for automatically copying from the network into the client application, for each argument, each first level data element and data structure that is not a pointer returned by the network to its corresponding memory location within said client argument, and, for first level data elements that are pointers, for copying the data structures and data elements defined by said pointers; and means for zeroing the copied pointers to stop the network from chasing said pointers and to prevent the freeing of data elements linked to said pointers but not copied for preserving said data elements so that the client application can access said pointers.
Claim 18
Dependent Claim 159 words
A memory management system for a client-server computing network which automatically frees memory allocated for return arguments by chasing pointers until data elements not containing pointers are encountered, comprising: means for determining, for each argument on the client side returned by the network from the server, whether any first level data elements are pointers; means for automatically copying from the network into the client application, for each argument, each first level data element and data structure that is not a pointer returned by the network to its corresponding memory location within said client argument, and, for first level data elements that are pointers, for copying the data structures and data elements defined by said pointers; and means for zeroing the copied pointers to stop the network from chasing said pointers and to prevent the freeing of data elements linked to said pointers but not copied for preserving said data elements so that the client application can access said pointers.
Claim 19
Dependent Claim 59 words
The system of claim 10 further including: means to recognize a network resident copy function; means to suspend said means for automatically copying and said means for automatically zeroing for any data elements and data structures traceable from data elements and data structures to be copied by said copy function; and means to execute said network resident copy function.
Claim 20
Dependent Claim 219 words
A client-server memory management system for a network data transfer transport mechanism comprising: means for passing one or more server return arguments having one or more levels of data elements and data structures across the network data transport mechanism to be copied into a corresponding client application; means for determining for said return argument whether individual first level data elements are pointers; means for resolving whether data elements and data structures traceable to said first level pointers are designated for copying by an extraneous function; means for automatically copying, from the returned high level data structure to another high level data structure, each first level data element and data structure that is not a pointer to its corresponding memory location within said client application and automatically copying second level data elements and data structures not linked to data elements designated for copying and not linked to first level data structures copied; means for zeroing the pointers automatically copied to stop the network from chasing said pointers; means for executing any said extraneous function to copy all data elements designated by said extraneous function; and means for freeing the data elements and data structures copied by said extraneous function and freeing the data elements and data structures traceable from said data elements and data structures copied by said extraneous function.
Claim 21
Dependent Claim 219 words
A client-server memory management system for a network data transfer transport mechanism comprising: means for passing one or more server return arguments having one or more levels of data elements and data structures across the network data transport mechanism to be copied into a corresponding client application; means for determining for said return argument whether individual first level data elements are pointers; means for resolving whether data elements and data structures traceable to said first level pointers are designated for copying by an extraneous function; means for automatically copying, from the returned high level data structure to another high level data structure, each first level data element and data structure that is not a pointer to its corresponding memory location within said client application and automatically copying second level data elements and data structures not linked to data elements designated for copying and not linked to first level data structures copied; means for zeroing the pointers automatically copied to stop the network from chasing said pointers; means for executing any said extraneous function to copy all data elements designated by said extraneous function; and means for freeing the data elements and data structures copied by said extraneous function and freeing the data elements and data structures traceable from said data elements and data structures copied by said extraneous function.
Claim 22
Dependent Claim 178 words
In a client-server network in which memory is allocated whenever a data structure containing one or more levels of pointers is passed from a server process to a client application during decoding of the data structure, and such allocated memory is automatically freed by chasing non-nil pointers through the levels of pointers; a memory management system comprising; means for determining for each first level individual data element being passed to said client application whether a pointer exists; means for automatically copying, from the returned high level data structure to another high level data structure, each first level data element that is not a pointer to its corresponding memory location within said client application; means for automatically copying each second level data element defined by a first level pointer to its corresponding memory location within said client application; and means for automatically zeroing any pointers copied to nullify each said pointer and stop the system from chasing said pointers and to prevent the freeing of data elements linked to said pointers but not copied for preserving said data elements.
Claim 23
Dependent Claim 178 words
In a client-server network in which memory is allocated whenever a data structure containing one or more levels of pointers is passed from a server process to a client application during decoding of the data structure, and such allocated memory is automatically freed by chasing non-nil pointers through the levels of pointers; a memory management system comprising; means for determining for each first level individual data element being passed to said client application whether a pointer exists; means for automatically copying, from the returned high level data structure to another high level data structure, each first level data element that is not a pointer to its corresponding memory location within said client application; means for automatically copying each second level data element defined by a first level pointer to its corresponding memory location within said client application; and means for automatically zeroing any pointers copied to nullify each said pointer and stop the system from chasing said pointers and to prevent the freeing of data elements linked to said pointers but not copied for preserving said data elements.
Claim 24
Dependent Claim 62 words
The system of claim 14 further including: means for recognizing a network resident copy function; means for suspending, in response to said recognition means, said automatic copying means and said zeroing means for any data elements and data structures traceable from data elements to be copied by said network resident copy function; and means for automatically executing said network resident copy function.
Claim 25
Dependent Claim 179 words
A client-side memory management system for client-server computing associated with a network data transfer mechanism comprising: means for passing server data elements linked by pointers across the network to be copied into a client application; means for establishing which said returned server data elements are to be copied by a network copy function and which said server data elements are to be copied automatically; means for executing a memory management process, for said server data elements to be copied automatically, from the returned high level data structure to another high level, data structure including means for determining whether any first level data elements are pointers, means for automatically copying each first level data element that is not a pointer to the client application, means for automatically copying all data elements defined by first level pointers, and means for zeroing the copied pointers to stop the network from chasing said pointers; and means for suspending said means for executing, for said returned server data elements to be copied by said network copy function, including means for invoking said copy function.
Claim 26
Dependent Claim 179 words
A client-side memory management system for client-server computing associated with a network data transfer mechanism comprising: means for passing server data elements linked by pointers across the network to be copied into a client application; means for establishing which said returned server data elements are to be copied by a network copy function and which said server data elements are to be copied automatically; means for executing a memory management process, for said server data elements to be copied automatically, from the returned high level data structure to another high level, data structure including means for determining whether any first level data elements are pointers, means for automatically copying each first level data element that is not a pointer to the client application, means for automatically copying all data elements defined by first level pointers, and means for zeroing the copied pointers to stop the network from chasing said pointers; and means for suspending said means for executing, for said returned server data elements to be copied by said network copy function, including means for invoking said copy function.
Claim 27
Dependent Claim 98 words
A memory management system for a client-server computing network, including a client-side function comprising: means for passing one or more server return arguments to be copied into a client application; means for automatically copying from the returned high level data structure to another high level data structure each said argument that is not a pointer, and for automatically copying each data element and data structure defined by an argument that is a pointer; and means for automatically zeroing all copied pointers to prevent the network from chasing said pointers and freeing data elements and data structures not copied.
Claim 28
Dependent Claim 98 words
A memory management system for a client-server computing network, including a client-side function comprising: means for passing one or more server return arguments to be copied into a client application; means for automatically copying from the returned high level data structure to another high level data structure each said argument that is not a pointer, and for automatically copying each data element and data structure defined by an argument that is a pointer; and means for automatically zeroing all copied pointers to prevent the network from chasing said pointers and freeing data elements and data structures not copied.
Claim 29
Dependent Claim 40 words
The system of claim 17 further including: means for recognizing a network resident copy function for one or more said arguments; and means to suspend said client-side function for all arguments designated for copying by said network resident copy function.

References Cited (Backward Citations)

US4797810A Cited
US4819159A Cited
US4928247A Cited
US5251322A Cited
US5148527A Cited
US5163131A Cited
US5218698A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-11-06 1999-05-08 1999-11-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-11-06 2003-05-08 2003-11-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-11-06 2007-05-08 2007-11-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag