Patent ID: 7467158

Claim:
A computing system comprising a data processor and memory, the memory storing computer executable code that, when executed by the data processor of the computing system, creates virtual objects suitable for accessing data stored in the memory of the computing system, the computer executable code defining: spaces in which objects accessible in one space may not be accessible in other spaces, each space being isolated from one another, the spaces including physical space in which the objects exist and virtual spaces in which the objects do not exist, wherein the virtual spaces are spaces in which the object is accessible in accordance with at least one of the object's metadata, an execution context of a component seeking access, and a type of access the component is seeking, and wherein the physical space is the space in which objects are accessible when no object's metadata is present; a hierarchy of layers of spaces, the hierarchy including a physical layer and a plurality of virtual layers, the physical layer containing the physical space in which objects are accessible, the virtual layers containing a plurality of virtual spaces; an object having metadata identifying which of the virtual layers in the hierarchy of layers have spaces in which the object is accessible, the metadata comprising an ordered list of layers in which the object is accessible, the ordered list corresponding to the hierarchy of layers, the ordered list reflecting an order in which attempts to access the object are performed, the ordered list beginning with the layer containing the greatest number of intersections of categories of attributes; a first interface to the object for facilitating a virtualization of the object, wherein the virtualization includes the generation of the metadata identifying the layers that have spaces in which the object is accessible and the generation of an ordered list of layers in which the object is accessible; and a second interface to the object for determining in which of the spaces in the identified layers the object should be accessed and an order of the spaces in the identified layers in which the object should be accessed, wherein the order of the spaces in the identified layers in which the object should be accessed is determined in accordance with the hierarchy of layers of the spaces, and wherein determining in which of the spaces in the identified layers the object should be accessed occurs in response to a request from a calling software component to access the object.