Method and apparatus for a secure protocol for virtual memory managers that use memory objects
AssigneeSun Microsystems, Inc.
InventorsYousef A. Khalidi, Michael N. Nelson
Life of this patent
Estimating the term…
Abstract
The present invention is a method and apparatus for efficiently using existing cache memory in a virtual memory computer system for servicing different demands for such memory. Moreover, the method and apparatus of the present invention, provides a way for authenticating untrusted virtual memory managers (VMMs) and untrusted pagers, which use and supply such caching services. The method and apparatus for authenticating the VMM and pagers can be practiced in an object oriented programming environment or in a non-object oriented environment.
Claims34
In a virtual memory computer system having at least one central processing unit(CPU), with at least one main memory unit, with at least one executing program, and having at least one pager (the "pager"), and at least one virtual memory manager (VMM), a method performed by the computer system of managing the use of memory space in the at least one main memory unit comprising the steps of:
- a) using at least one memory object comprising a data structure which is an abstraction of memory that can be mapped into an address space, to represent an array of memory space used by the at least one executing program, and to encapsulate in the at least one memory object a value representing the length of the array of memory space and values representing the protection access rights to the array of memory space;
- b) pairing at least one cache object with at least one pager object and associating the cache object-pager object pair with the at least one memory object, wherein said at least one pager object authenticates a VMM and said VMM authenticates said at least one pager object;
- and
- c) using the cache object-pager object pair to page into and out of the at least one main memory unit, a set of data contained in the array of memory space indicated by said associated at least one memory object,
- whereby the functionality of encapsulating the representation of memory space and the values representing the memory attributes of length and access rights is separated from the functionality of paging the data into and out of the memory space represented by the values encapsulated in the memory object.
In a virtual memory computer system having at least one central processing unit (CPU), with at least one main memory unit, and having at least one pager (the "pager"), and at least one virtual memory manager (VMM), said computer system also having at least one executing program which has at least one address space and at least one array of virtual memory space, a method performed by the computer of managing the use of memory space in the computer system comprising the steps of:
- a) sending the name of the at least one VMM to the at least one pager by the at least one VMM and the at least one pager using the at least one VMM's name to authenticate the at least one VMM, said name being an identifier to distinguish said at least one VMM from other VMMs;
- and
- b) sending a unique pointer to the at least one pager by the at least one VMM and requiring the at least one pager to return the pointer to the at least one VMM,
- whereby the at least one pager authenticates the at least one VMM and the at least one VMM authenticates the at least one pager.
A computer system having at least one central processing unit(CPU), with at least one main memory unit, with at least one executing program, and having at least one pager (the "pager"), and at least one virtual memory manager (VMM), the computer system comprising;
- a) at least one memory object to represent an array of memory space used by the at least one executing program, wherein the at least one memory object encapsulates a value representing the length of the army of memory space and values representing the protection access rights to the array of memory space;
- b) a pairing device for pairing at least one cache object with at least one pager object and associating the cache object-pager object pair with the at least one memory object, wherein said at least one pager object authenticates a VMM and said VMM authenticates said at least one pager object;
- and
- c) pager circuitry for using the cache object-pager object pair to page into and out of the at least one main memory unit, a set of data contained in the range of memory space indicated by said associated at least one memory object,
- whereby the functionality of encapsulating the representation of memory space and the values representing the memory attributes of length and access rights is separated from the functionality of paging in and out the data contained in the memory space represented by the values encapsulated in the memory object.
A virtual memory computer system having at least one central processing unit (CPU), with at least one main memory unit, and having at least one pager (the "pager"), and having at least one virtual memory manager (VMM), the computer system also having at least one address space and at least one array of virtual memory space and at least one executing program, the computer system comprising:
- a) an authentication device to allow the at least one pager to use the name of the at least one VMM to authenticate the at least one VMM, said name being an identifier to distinguish said at least one VMM from other VMMs;
- and
- b) a communications device for sending a unique pointer to the at least one pager by the at least one VMM and requiring the at least one pager to return the unique pointer to the at least one VMM,
- whereby the at least one pager authenticates the at least one VMM and the at least one VMM authenticates the at least one pager.
Dependencies are inferred from the claim text.