Distributed file system providing a unified name space with efficient name resolution
First Claim
1. In a distributed system having a distributed name space of objects wherein each object has both a logical name uniquely identifying the object in the distributed name space and a corresponding address, the objects being grouped into logical domains which are organized into a hierarchical structure wherein each domain may have one superior domain in the hierarchical structure and one or more subordinate domains in the hierarchical structure, a computer implemented method for accessing an object comprising the steps of:
- providing a domain controller component for each domain, each domain controller component holding a prefix table which stores an entry for a logical name in the distributed name space of a domain controller component for any immediately superior domain and an entry for the logical name in the distributed name space for any domain controller component in any immediately subordinate domain, each said entry specifying an address of the respective domain controller component;
providing a first computer component for processing requests for information from the distributed system, the first computer component including another prefix table which stores entries for prefixes of logical names in the distributed name space and each entry specifies an address of a selected object in the distributed system that is named by the prefix;
receiving a request to access the selected object at the first computer component, wherein the request includes a logical name for the selected object to be accessed in the distributed system;
determining if an entry for a prefix of the logical name for the selected object from the request is stored in the prefix table of the first computer component;
in response to a determination that an entry for a prefix of the logical name for the selected object is not stored in the prefix table of the first computer component,retrieving from the prefix table of the first computer component the address of the domain controller component for the domain containing the first computer component;
sending the logical name for the selected object from the request to the domain controller component for the domain containing the first computer component;
retrieving from the prefix table of the domain controller component for the domain containing the first computer component, an address of the selected object; and
accessing the object at the address that was retrieved from prefix table of the domain controller component which contains the first computer component.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed file system uses objects to model the behavior of components of the distributed file system. Each object has an associated logical path name and physical address. An aggregation of all the logical path names comprises a distributed name space which can be logically partitioned into domains. Each domain includes a domain folder object which maps logical path names of objects in the domain containing the domain folder object, into addresses in the distributed system where the objects are stored. The addresses of the objects are used to access the objects in order to retrieve information from the distributed system.
-
Citations
16 Claims
-
1. In a distributed system having a distributed name space of objects wherein each object has both a logical name uniquely identifying the object in the distributed name space and a corresponding address, the objects being grouped into logical domains which are organized into a hierarchical structure wherein each domain may have one superior domain in the hierarchical structure and one or more subordinate domains in the hierarchical structure, a computer implemented method for accessing an object comprising the steps of:
-
providing a domain controller component for each domain, each domain controller component holding a prefix table which stores an entry for a logical name in the distributed name space of a domain controller component for any immediately superior domain and an entry for the logical name in the distributed name space for any domain controller component in any immediately subordinate domain, each said entry specifying an address of the respective domain controller component; providing a first computer component for processing requests for information from the distributed system, the first computer component including another prefix table which stores entries for prefixes of logical names in the distributed name space and each entry specifies an address of a selected object in the distributed system that is named by the prefix; receiving a request to access the selected object at the first computer component, wherein the request includes a logical name for the selected object to be accessed in the distributed system; determining if an entry for a prefix of the logical name for the selected object from the request is stored in the prefix table of the first computer component; in response to a determination that an entry for a prefix of the logical name for the selected object is not stored in the prefix table of the first computer component, retrieving from the prefix table of the first computer component the address of the domain controller component for the domain containing the first computer component; sending the logical name for the selected object from the request to the domain controller component for the domain containing the first computer component; retrieving from the prefix table of the domain controller component for the domain containing the first computer component, an address of the selected object; and accessing the object at the address that was retrieved from prefix table of the domain controller component which contains the first computer component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a distributed system having its components logically partitioned into self-contained domains, wherein each domain includes a domain controller holding information about what is included in the domain and included in said components is a workstation having local storage, a method comprising the steps of:
-
providing a distributed file system that furnishes a distributed name space for objects in the distributed system; receiving a request at the workstation to access a selected object in the distributed name space, said request identifying the selected object by its logical name in the distributed name space; providing a first cache of logical names of objects and associated resolved addresses of the objects at the workstation; accessing the first cache at the workstation to locate a longest matching portion of the logical name of the selected object to which access is requested that has already been resolved to an address; where it is determined by accessing the first cache that a portion of the logical name of the selected object has not already been resolved to an address, forwarding the request to a domain controller for the domain that contains the workstation; providing a second cache at the domain controller of associated resolved addresses for logical names; accessing the second cache to determine if a portion of the logical name of the selected object to which access is requested has already been resolved to an address; where it is determined by accessing the second cache that a portion of the logical name of the selected object to which access is requested has been resolved to an address, forwarding the portion of the logical name of the selected object that has been resolved and the address to which the portion of the logical name of the selected object has been resolved to the workstation; storing the portion of the logical name and the address to which the portion of the logical name of the selected object has been resolved in the first cache at the workstation; and repeating the above steps beginning with the accessing the first cache step. - View Dependent Claims (10, 11, 12, 13)
-
-
14. In a distributed system organized hierarchically into logical domains, including a first domain and a second domain, a method comprising the steps of:
-
providing a distributed name space of objects wherein each object has a logical name that identifies the object within the name space and a corresponding address; providing a domain controller for each domain, each domain controller holding a prefix table storing entries wherein each entry holds an address for a corresponding prefix of a logical name; receiving a request to access an object in the first domain from the second domain; providing a first referral in the prefix table in the domain controller of the second domain that refers to the domain controller in the first domain; accessing the prefix table in the domain controller of the second domain to obtain the first referral that refers to the domain controller in the first domain; providing a second referral in the prefix table in the domain controller in the first domain; using the first referral to access the prefix table in the domain controller in the first domain to obtain the second referral; and using the second referral to access the object. - View Dependent Claims (15, 16)
-
Specification