CA2517538C

Organizing resources into collections to facilitate more efficient and reliable resource access

Abstract

The present invention extends to methods, systems, and computer program products for organizing resources into collections to facilitate more efficient and reliable resource access. Namespace managers communicate with one another to form a federation namespace infrastructure. The infrastructure can efficiently route, migrate, and process namespace requests, such as, for example, namespace registration requests from providers requesting to manage portions of namespaces and lookup requests from consumers requesting access to managed resources. Resources can be registered in and made accessible from multiple different namespaces. Resources can be identified using nested queries that filter results at multiple levels of a hierarchical namespace.

CA2517538C, drawing sheet 1
Sheet 1 of 14

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Granted
  4. Today

22 claims: 17 independent, 5 dependent

  1. 1
    CA 02517538 2013-09-23 51007-73 CLAIMS:1. In a namespace federation infrastructure comprising a plurality of computers, wherein at least one of the plurality of computers executes a method for registering a resource in a plurality of different namespaces of a hierarchical structure wherein the resource is accessible via a traversable namespace path in each of the plurality of different namespaces of the hierarchical structure, the different namespaces comprising various network communications schemes, wherein at least two of the various network communication schemes have different resource identifying syntax for identifying the resource in a particular namespace, the method comprising: establishing a unique resource identifier for the resource, wherein the resource is identifiable in the plurality of different namespaces of the hierarchical structure using the unique resource identifier, each namespace in the plurality of different namespaces of the hierarchical structure comprising a different network communication scheme from the various network communication schemes, the unique resource identifier being unique across all namespaces implemented in the namespace federation infrastructure, the resource is accessed via the traversable namespace path;publishing the availability of the resource in a first namespace in the plurality of different namespaces of the hierarchical structure having a first network communication scheme from the various network communication schemes;linking the unique resource identifier to a first namespace node resource in the first namespace in the plurality of different namespaces of the hierarchical structure wherein the first namespace in the plurality of different namespaces of the hierarchical structure is traversed using a first network communication scheme syntax to identify the resource;traversing the traversable namespace path in the first namespace in the plurality of different namespaces of the hierarchical structure to locate the resource published in the first namespace in the plurality of different namespaces of the hierarchical structure, the traversing comprising navigating to one or more namespace node resources in the first -58CA 02517538 2013-09-23 51007-73 namespace in the plurality of different namespaces of the hierarchical structure to determine a namespace location of the resource within the first namespace in the plurality of different namespaces of the hierarchical structure;publishing the availability of the resource in a second namespace in the plurality of different namespaces of the hierarchical structure having a second network communication scheme from the various network communication schemes, the publishing comprising broadcasting a notification to notify at least a plurality of nodes in the second namespace in the plurality of different namespaces of the hierarchical structure of the resource's presence in the second namespace in the plurality of different namespaces of the hierarchical structure;linking the unique resource identifier to a second namespace node resource in the second namespace in the plurality of different namespaces of the hierarchical structure wherein the second namespace in the plurality of different namespaces of the hierarchical structure is traversed using a second network communication scheme syntax to identify the resource;and traversing the traversable namespace path from any node in the second namespace in the plurality of different namespaces of the hierarchical structure that received the broadcasted notification of the resource's presence to locate the resource published in the second namespace in the plurality of different namespaces of the hierarchical structure, the traversing comprising navigating to one or more namespace node resources in the second namespace in the plurality of different namespaces of the hierarchical structure that received the broadcasted notification of the resource's presence to determine the namespace location of the resource within the second namespace in the plurality of different namespaces of the hierarchical structure.
  2. 2
    The method as recited in claim 1, wherein the publishing the availability of the resource in the first namespace in the plurality of different namespaces of the hierarchical structure comprises publishing the availability of the resource in the first namespace in the -59CA 02517538 2013-09-23 51007-73 plurality of different namespaces of the hierarchical structure from among a plurality of namespaces that partition resources to provide a basis for namespace scoping.
  3. 3
    The method as recited in claim 1, wherein the publishing the availability of the resource in the first namespace in the plurality of different namespaces of the hierarchical structure comprises publishing the availability of the resource in the first namespace in the plurality of different namespaces of the hierarchical structure having a staffing namespace node resource that is queried by other resources to identify the resource within the first namespace in the plurality of different namespaces of the hierarchical structure.
  4. 4
    The method as recited in claim 1, wherein the linking the unique resource identifier to the first namespace node resource in the first namespace in the plurality of different namespaces of the hierarchical structure wherein the first namespace in the plurality of different namespaces of the hierarchical structure is traversed using the first network communication scheme syntax to identify the resource comprises associating a uniform resource identifier (URI) with the resource.
  5. 5
    The method as recited in claim 4, wherein the associating the URI with the resource in the first namespace in the plurality of different namespaces of the hierarchical structure comprises assigning a unique URI with the resource wherein the unique URI is used to access the resource singularly.
  6. 6
    The method as recited in claim 5, further comprising:assigning one or more additional URIs to the resource, each of the one or more additional URIs for accessing additional resources from within one of the plurality of different namespaces of the hierarchical structure.
  7. 7
    The method as recited in claim 1, wherein linking the unique resource identifier to the first namespace node resource in the first namespace in the plurality of different namespaces of the hierarchical structure wherein the first namespace in the plurality of different namespaces of the hierarchical structure is traversed using the first network -60CA 02517538 2013-09-23 51007-73 communication scheme syntax to identify the resource comprises forming a namespace segment between the resource and the first namespace node resource.
  8. 8
    The method as recited in claim 1, wherein the publishing the availability of the resource in the second namespace in the plurality of different namespaces of the hierarchical structure comprises publishing the availability of the resource in the second namespace in the plurality of different namespaces of the hierarchical structure from among a plurality of namespaces that partition resources to provide a basis for namespace scoping.
  9. 9
    The method as recited in claim 1, wherein the publishing the availability of the resource in the second namespace in the plurality of different namespaces of the hierarchical structure comprises publishing the availability of the resource in the second namespace in the plurality of different namespaces of the hierarchical structure having a starting namespace node resource that is queried by other resources to identify the resource within the second namespace in the plurality of different namespaces of the hierarchical structure.
  10. 10
    The method as recited in claim 1, wherein the linking the unique resource identifier to the second namespace node resource in the second namespace in the plurality of different namespaces of the hierarchical structure wherein the second namespace in the plurality of different namespaces of the hierarchical structure is traversed using the second network communication scheme syntax to identify the resource comprises associating a uniform resource identifier (URI) for the second namespace in the plurality of different namespaces of the hierarchical structure with the resource.
  11. 11
    The method as recited in claim 1, wherein the linking the unique resource identifier to the second namespace node resource in the second namespace in the plurality of different namespaces of the hierarchical structure wherein the second namespace in the plurality of different namespaces of the hierarchical structure is traversed using the second network communication scheme syntax to identify the resource comprises forming a namespace segment between the resource and the second namespace node resource. -61 CA 02517538 2013-09-23 51007-73
  12. 12
    The method as recited in claim 1, wherein the resource is a namespace node resource.
  13. 16
    A computer program product for use in a namespace federation infrastructure, the computer program product for implementing a method for registering a resource in a plurality of different namespaces of a hierarchical structure wherein the resource is accessible via a traversable namespace path in each of the plurality of different namespaces of the hierarchical structure, the different namespaces comprising various network communications schemes, wherein at least two of the various network communication schemes have different resource identifying syntax, the computer program product comprising one or more recordable-type computer-readable media having stored thereon computer-executable instructions that, when executed by a processor, cause the namespace federation infrastructure to perform the following:establish a unique resource identifier for the resource, wherein the resource is identifiable in the plurality of different namespaces of the hierarchical structure using the unique resource identifier, each namespace in the plurality of different namespaces of the hierarchical structure comprising a different network communication scheme from the various network communication schemes, the unique resource identifier being unique across all -62CA 02517538 2013-09-23 51007-73 namespaces implemented in the namespace federation infrastructure, the resource is accessed via the traversable namespace path;publish the availability of the resource in a first namespace in the plurality of different namespaces of the hierarchical structure having a first network communication scheme from the various network communication schemes;link the unique resource identifier to a first namespace node resource in the first namespace in the plurality of different namespaces of the hierarchical structure wherein the first namespace in the plurality of different namespaces of the hierarchical structure is traversed using a first network communication scheme syntax to identify the resource;traverse the traversable namespace path in the first namespace in the plurality of different namespaces of the hierarchical structure to locate the resource published in the first namespace in the plurality of different namespaces of the hierarchical structure, the traversing comprising navigating to one or more namespace node resources in the first namespace in the plurality of different namespaces of the hierarchical structure to determine a namespace location of the resource within the first namespace in the plurality of different namespaces of the hierarchical structure;publish the availability of the resource in a second namespace in the plurality of different namespaces of the hierarchical structure having a second network communication scheme from the various network communication schemes, the publishing comprising broadcasting a notification to notify at least a plurality of nodes in the second namespace in the plurality of different namespaces of the hierarchical structure of the resource's presence in the second namespace in the plurality of different namespaces of the hierarchical structure;link the unique resource identifier to a second namespace node resource in the second namespace in the plurality of different namespaces of the hierarchical structure wherein the second namespace in the plurality of different namespaces of the hierarchical structure is traversed using a second network communication scheme syntax to identify the resource;and -63CA 02517538 2013-09-23 51007-73 traverse the traversable namespace path from any node in the second namespace in the plurality of different namespaces of the hierarchical structure that received the broadcasted notification of the resource's presence to locate the resource published in the second namespace in the plurality of different namespaces of the hierarchical structure, the traversing comprising navigating to one or more namespace node resources in the second namespace in the plurality of different namespaces of the hierarchical structure that received the broadcasted notification of the resource's presence to determine the namespace location of the resource within the second namespace in the plurality of different namespaces of the hierarchical structure.
  14. 17
    The computer program product as recited in claim 16, wherein computerexecutable instructions, that when executed, cause the namespace federation infrastructure to link the unique resource identifier to the first namespace node resource in the first namespace in the plurality of different namespaces of the hierarchical structure comprise computer-executable instructions, that when executed, cause the namespace federation infrastructure to form a namespace segment between the resource to the first namespace node resource.
  15. 18
    The computer program product as recited in claim 16, wherein computerexecutable instructions, that when executed, cause the namespace federation infrastructure to link the unique resource identifier to the second namespace node resource in the second namespace in the plurality of different namespaces of the hierarchical structure comprise computer-executable instructions, that when executed, cause the namespace federation infrastructure to form a namespace segment between the resource to the second namespace node resource.
  16. 19
    In a namespace federation infrastructure comprising a plurality of computers, wherein at least one of the plurality of computers executes a method for registering a resource in a plurality of different namespaces of a hierarchical structure wherein the resource is accessible via a traversable namespace path in each of the plurality of different namespaces of the hierarchical structure, the method comprising:-64CA 02517538 2013-09-23 51007-73 establishing a unique resource identifier for the resource, wherein the resource is identifiable in the plurality of different namespaces of the hierarchical structure using the unique resource identifier, each namespace in the plurality of different namespaces of the hierarchical structure comprising a different network communication scheme, the unique resource identifier being unique across all namespaces implemented in the namespace federation infrastructure, the resource being accessible via the traversable namespace path;publishing a notification message to subscribers of an event topic indicating availability of the resource in a first namespace in the plurality of different namespaces of the hierarchical structure having a first network communication scheme in a first format unique to the first namespace in the plurality of different namespaces of the hierarchical structure, the first format unique to the first namespace including semantics recognized by other namespace node resources in the first namespace in the plurality of different namespaces of the hierarchical structure, wherein the event topic is named after the unique resource identifier for the resource;linking the unique resource identifier to a first namespace node resource in the first namespace in the plurality of different namespaces of the hierarchical structure wherein the first namespace in the plurality of different namespaces of the hierarchical structure is traversed using a first network communication scheme syntax to identify the resource;traversing the traversable namespace path in the first namespace in the plurality of different namespaces of the hierarchical structure using the first format unique to the first namespace in the plurality of different namespaces of the hierarchical structure to locate the resource published in the first namespace in the plurality of different namespaces of the hierarchical structure;publishing the notification message to the subscribers of the event topic indicating the availability of the resource in a second namespace in the plurality of different namespaces of the hierarchical structure having a second network communication scheme in a second format unique to the second namespace in the plurality of different namespaces of the hierarchical structure, wherein the event topic is named after the unique resource identifier for -65 CA 02517538 2013-09-23 51007-73 the resource, the second format unique to the second namespace in the plurality of different namespaces of the hierarchical structure including semantics recognized by other namespace node resources in the second namespace in the plurality of different namespaces of the hierarchical structure, the publishing comprising broadcasting a notification to notify at least a plurality of nodes in the second namespace in the plurality of different namespaces of the hierarchical structure of the resource's presence in the second namespace in the plurality of different namespaces of the hierarchical structure;linking the unique resource identifier to a second namespace node resource in the second namespace in the plurality of different namespaces of the hierarchical structure wherein the second namespace in the plurality of different namespaces of the hierarchical structure is traversed using a second network communication scheme syntax to identify the resource;and traversing the traversable namespace path from any node in the second namespace in the plurality of different namespaces of the hierarchical structure that received the broadcasted notification of the resource's presence to locate the resource published in the second namespace in the plurality of different namespaces of the hierarchical structure.
  17. 22
    A computer-readable medium having computer-executable instructions stored thereon that, when executed by a computer, cause the computer to perform the method of any one of claims 19 to 21.
Independent claims17