US20050210033A1 - System and method for performing lookups across namespace domains using universal resource locators - Google Patents

System and method for performing lookups across namespace domains using universal resource locators Download PDF

Info

Publication number
US20050210033A1
US20050210033A1 US11/131,842 US13184205A US2005210033A1 US 20050210033 A1 US20050210033 A1 US 20050210033A1 US 13184205 A US13184205 A US 13184205A US 2005210033 A1 US2005210033 A1 US 2005210033A1
Authority
US
United States
Prior art keywords
url
context
namespace
lookup
naming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/131,842
Inventor
Russell Newcombe
Christopher Vignola
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US11/131,842 priority Critical patent/US20050210033A1/en
Publication of US20050210033A1 publication Critical patent/US20050210033A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Definitions

  • Naming services and directory services provide a way of identifying and associating names with data. Similarly, naming and directory services may also be used for referencing data and data locations using more easily comprehendible names.
  • NIS and NIS+ are naming services developed by Sun Microsystems for allowing users to access files and applications on any NIS host using a single login name and password.
  • DNS an Internet naming service, associates people-friendly names with computer network addresses.
  • Additional naming and/or directory services include LDAP (Lightweight Directory Access Protocol), NDS (Novell Directory Services), and COS (Common Object Services). While normally having similar basic functionality, each naming or directory service may specify its own protocols, syntax, nomenclature, naming conventions, etc.
  • a naming service When a naming service is implemented in accordance with such specifications, the implementation is often referred to as a namespace.
  • a namespace For example, a person using a web browser on a personal computer to access a web page via a friendly DNS name (ie. www.ibm.com), is considered to be utilizing the DNS namespace.
  • APIs such as the Java Naming and Directory Interface (“JNDI”) provide an interface for communication between namespaces.
  • JNDI Java Naming and Directory Interface
  • namespace A and namespace B have been implemented in accordance with JNDI
  • a request for data from namespace B by a host in namespace A may be satisfied without requiring the host to be configured as a node of namespace B.
  • a request for data from namespace A by a host in namespace B may be satisfied without requiring the host to be configured as a node of namespace A.
  • inter-namespace data exchange APIs such as JNDI require that a request for data from a foreign namespace by a host in a local namespace include specific location/naming information.
  • a system and method for performing a lookup in a second namespace the lookup being performed from a first namespace, whereby a component performing the lookup is not required to be configured for performing a lookup in the second namespace, the system and method further comprising: parsing a first lookup request for a URL tag, the first lookup request for an object located in the second namespace, the lookup request including a symbolic name corresponding to a target location in the second namespace, the URL tag corresponding to a URL context; searching the URL context for a provider URL corresponding to the symbolic name; and creating a second lookup request, the second lookup comprising the provider URL and the object's name.
  • FIG. 1 shows the flow of an exemplary lookup request across namespaces.
  • FIG. 2 is a continuation of FIG. 1 and shows the flow of an exemplary lookup request across namespaces.
  • FIG. 3 shows an exemplary system for performing a lookup request across namespaces.
  • FIG. 4 shows an alternative exemplary system for performing a lookup request across namespaces.
  • the invention is used in conjunction with naming services that support namespace lookups via universal resource locators (URLs) and that include a mechanism for delegating namespace requests to a third party provider.
  • URLs universal resource locators
  • the claimed invention is used in conjunction with the JNDI SPI/API to satisfy these requirements. It is understood that the claimed invention may be implemented in conjunction with any namespace API/SPI or similar mechanism known to one of ordinary skill in the art without exceeding the scope of this disclosure.
  • JNDI itself describes the use of URLs in lookup names, this usage incorporates explicit network location information in the URL itself.
  • the claimed invention uses only symbolic names in a federation URL that is mapped locally within the local namespace to the actual network location information, to achieve namespace federation.
  • the claimed invention provides for the insulation of applications from namespace reconfiguration and changes to topography by prescribing a method to map the application's lookup name to the actual lookup name.
  • the claimed invention advantageously allows programming model neutrality by prescribing a method to map the facilities of a particular naming system to the underlying federation interface (JNDI, for example) without requiring an additional API set that is separate and distinct from the underlying naming interface API set.
  • JNDI federation interface
  • JNDI provides a NamingManager that manages naming context creation.
  • Naming contexts are the programming implements used to perform namespace operations, such as lookup and bind.
  • Actual naming contexts are produced by context factories, which are registered with the NamingManager.
  • the JNDI NamingManager using a context factory registered specifically for the purpose of creating regular naming contexts, creates regular naming contexts.
  • Instantiating a new InitialContext object creates a regular naming context in the Java programming language. All JNDI contexts must support URL composite name syntax. This syntax is of the form:
  • URL_TAG identifies the type of URL context and “location-information” identifies the location of the object (i.e. “JNDI-name”) bound in a namespace.
  • JNDI-name the location of the object bound in a namespace.
  • a JNDI context is required to process a URL composite name by stripping off the “URL_TAG” from the composite name and then requesting a new naming context from the JNDI directory manager that supports the specified “URL_TAG”.
  • the returned naming context is known as a “URL naming context”.
  • the naming context request in process must be forwarded to the newly created URL naming context.
  • the JNDI NamingManager using a URL context factory registered specifically for a particular “URL_TAG”, creates URL naming contexts that correspond to a specified “URL_TAG”. This is accomplished through an interaction between a naming context and the JNDI NamingManager, as described in the preceding paragraph.
  • the J2EE architecture defines a particular URL context factory and context that use the URL_TAG name of “java”.
  • the java namespace is defined as a local, in-memory name space for use by a J2EE component. Names in this namespace are unique with respect to a particular component: each of two components can independently use the same unique name within their java namespace; each component's use of the name need not correspond to the same namespace binding.
  • the J2EE architecture specifies that components use local, composite lookup names of the form:
  • the J2EE architecture specifically requires an administrative action during component deployment to map the component's local lookup name to an actual lookup name.
  • This mapping information is specific to the environment in which the component is deployed. Furthermore, this mapping information is retained as part of the component's configuration data. When a J2EE server loads a component, this configuration information is used to construct the local, in-memory java namespace.
  • the claimed invention introduces a specific URL context factory and context for use in achieving namespace federation.
  • the chosen URL_TAG is “df”.
  • Each namespace to be bound together in a federation has a name context bound to the namespace root context by the name “df”.
  • Within the “df” naming context are bound linkages to other namespaces.
  • Each such binding contains the necessary “provider url” information necessary to establish a regular naming context into another namespace.
  • the java property “java.naming.provider.url” is the architectured mechanism by which one identifies to the JNDI NamingManager the location of the target namespace, when creating a regular naming context.
  • provider URLs are typically for the iiop protocol, and take either the form “corbaloc:iiop:ip-name:port” or the form “iiop://ip-name:port” which identifies the iiop (CORBA) protocol for connecting to the namespace located at Internet address and port number referred to as ip-name:port.
  • FIGS. 1 and 2 collectively describe the flow of an exemplary JNDI Lookup across domains where the claimed invention has been implemented. Lookups are implemented using a URL syntax that designates a component namespace (i.e. Java:) to be performed.
  • the component namespace reference is configured using a URL that designates a federated lookup and the local namespace includes URL information referencing the target namespace.
  • a component (not shown) in domain A requests ( 1 . 1 ) a new initial context from the JNDI Naming manager 10 .
  • the JNDI NamingManager 10 drives ( 1 . 2 ) a registered JNDI context factory 12 to create ( 1 . 3 ) a regular naming context 14 .
  • the regular naming context 14 is returned to the component.
  • the component issues ( 2 . 1 ) a lookup request for “java:comp/env/ejb/myEJB_B” to the regular naming context 14 .
  • the regular naming context 14 parses off URL TAG “java:” and drives ( 2 . 2 ) the javaURLContextFactory 16 .
  • the regular naming context does not drive the javaURLContextFactory directly, but rather goes through the JNDI NamingManager 10 to select the URL context factory that corresponds to the specified URL_TAG:.
  • the javaURLContextFactory 16 creates and returns ( 2 . 3 ) a javaURLContext 18 .
  • the regular naming context 14 forwards ( 2 . 4 ) the lookup request to the javaURLContext 18 .
  • the javaURLContext 18 locates and reads ( 2 . 5 ) “comp/env/ejb/myEJB_B” from the java namespace 22 belonging to current component.
  • the returned data is another JNDI lookup name “df://domainB/EJB_B”, which the javaURLContext 18 uses recursively to continue the lookup.
  • the javaURLContext 18 parses off URL TAG “df:” and drives ( 2 . 6 ) the dfURLContextFactory 20 to create a corresponding URL context.
  • a naming context does not drive a URLContextFactory directly, but rather goes through the JNDI NamingManager 10 to select the URLContextFactory that corresponds to the specified URL_TAG:.
  • the dfURLContextFactory 20 creates and returns ( 2 . 7 ) a dfURLContext 24 .
  • the javaURLContext 18 forwards ( 2 . 8 ) the lookup request to the dfURLContext 24 .
  • the dfURLContext locates and reads ( 2 . 9 ) the entry “df/domainB” 32 from domain A's name space 25 .
  • the returned data 32 is a provider URL to the target domain's namespace 35 , which is used to create a regular context for that namespace.
  • the dfURLContext 24 creates a Java Properties object (as per JNDI specification) to configure a new InitialContext.
  • the dfURLContext 24 sets the provider URL value for this new InitialContext using the provider URL for domain B 35 , which was configured in the namespace of Domain A 25 .
  • the dfURLContext 24 creates an initial context by issuing a request for a new initial context to the JNDI NamingManager 10 .
  • the JNDI NamingManager 10 drives the registered JNDI context factory to create the new context and the regular naming context 34 for the domain B namespace returned.
  • the dfURLContext 24 strips the JNDI lookup name from the URL composite name following the ⁇ location-information> portion of the name yielding the lookup name “EJB_B”.
  • the dfURLContext 24 forwards ( 6 . 1 ) the lookup request to the domain B regular JNDI context 34 .
  • the regular JNDI context (for domain B) 34 performs a lookup ( 6 . 2 ) in domain B's namespace 35 and returns the lookup result.
  • FIG. 3 shows an exemplary system for implementing a lookup request across namespaces.
  • Namespace X at 60 is located at x.x.x.x and includes URL context factory df at 62 , where df includes references to a logical set of namespaces to be federated.
  • the URL context factory 62 creates context df 64 which includes entry 66 for targeting namespace Y 68 at location y.y.y.y.
  • the entry 66 comprises the following:
  • URL_scheme://y.y.y.y:zzz is an exemplary scheme and location and that a scheme and location may comprise any scheme and location type known to one of ordinary skill in the art including a DNS scheme/IP location having a form similar to 192.168.0.1:88.
  • namespace Y 68 includes a reference 70 to the object “sample data”.
  • Namespace X 60 and namespace Y 68 each comprise at least one computer or other data device as is known to one of ordinary skill in the art.
  • namespace X 60 and namespace Y 68 communicate using any method of data communication known to one of ordinary skill in the art including propagated signals 76 such as those generated by electronic data communications networks.
  • Computer program code enabling namespace X 60 to perform a lookup in namespace Y 68 in accordance with the claimed invention is located in a computer readable medium 72 and is received by namespace X 60 and/or namespace Y 68 via a propagated signal 74 or via any mechanism known to one of ordinary skill in the art.
  • the computer readable program code may be integrated into a component of namespace X 60 and/or namespace Y 68 .
  • Namespace 60 contains entry Y 66 , which contains a URL that identifies the location of namespace Y 68 .
  • the naming service for namespace 60 delegates namespace requests to a 3rd party provider 62 .
  • Namespace 68 contains the entry “sample” 70 , which contains sample data.
  • a client performs a lookup in local namespace 60 using the lookup name “df://Y/sample”.
  • the lookup request is passed to the 3rd party provider 62 .
  • the 3rd party provider 62 parses the lookup string into two parts: “df://Y” and “sample”.
  • the 3rd party provider 62 uses the first part (“df://Y”) to lookup the URL 64 , 66 that locates namespace 68 .
  • the 3rd party provider 62 uses that URL 66 to direct a subsequent lookup request to namespace 68 and uses the remaining part of the original lookup name—“sample”—as the lookup name passed to namespace 68 .
  • the result of this lookup is passed to the client that performed the original lookup.
  • FIG. 4 shows an alternative exemplary embodiment using a WEB server product such as IBM WEBSPHERE.
  • a CosNaming service associated with AE namespace 80 , contains the entry wsndf/PLEX1 86 that contains the string “iiop://x.x.x.x:ppp”.
  • An LDAP naming service associated with 390 namespace 82 , contains a home reference 88 named “ivp.policysession”.
  • the AE namespace 80 includes an installed URL context factory 84 named wsndf/wsndfURLContextFactory.
  • a client (not shown) of the AE namespace 80 performs a lookup with name “wsndf://PLEX1/ivp.policysession”.
  • the AE JNDI service matches the URL scheme, “wsndf”, with installed URL context factory 84 “wsndfURLContextFactory” and passes the lookup request to it.
  • the wsndfURLContextFactory 84 breaks the lookup name into two parts: “wsndf/PLEX1” and “ivp.policysession”.
  • the wsndfURLContextFactory 84 uses “wsndf/PLEX1” to lookup the java.naming.provider.url 86 necessary to do a lookup in 390 namespace 82 , then does a lookup in the 390 namespace 82 for the second part of the name—“ivp.policysession”.
  • the lookup result is returned to the client of the AE namespace 80 .
  • the computer program code segments configure the microprocessor to create specific logic circuits.

Abstract

A system and method for performing a lookup in a second namespace, the lookup being performed from a first namespace, whereby a component performing the lookup is not required to be configured for performing a lookup in the second namespace, the system and method further comprising: parsing a first lookup request for a URL tag, the first lookup request for an object located in the second namespace, the lookup request including a symbolic name corresponding to a target location in the second namespace, the URL tag corresponding to a URL context; searching the URL context for a provider URL corresponding to the symbolic name; and creating a second lookup request, the second lookup comprising the provider URL and the object's name.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a divisional of U.S. patent application Ser. No. 10/122,542 filed Apr. 15, 2002, the contents of which are incorporated by reference herein in their entirety.
  • BACKGROUND
  • Naming services and directory services provide a way of identifying and associating names with data. Similarly, naming and directory services may also be used for referencing data and data locations using more easily comprehendible names. For example, NIS and NIS+ are naming services developed by Sun Microsystems for allowing users to access files and applications on any NIS host using a single login name and password. DNS, an Internet naming service, associates people-friendly names with computer network addresses. Additional naming and/or directory services include LDAP (Lightweight Directory Access Protocol), NDS (Novell Directory Services), and COS (Common Object Services). While normally having similar basic functionality, each naming or directory service may specify its own protocols, syntax, nomenclature, naming conventions, etc. When a naming service is implemented in accordance with such specifications, the implementation is often referred to as a namespace. For example, a person using a web browser on a personal computer to access a web page via a friendly DNS name (ie. www.ibm.com), is considered to be utilizing the DNS namespace.
  • Application programming interfaces (“APIs”) such as the Java Naming and Directory Interface (“JNDI”) provide an interface for communication between namespaces. For example, where namespace A and namespace B have been implemented in accordance with JNDI, a request for data from namespace B by a host in namespace A may be satisfied without requiring the host to be configured as a node of namespace B. Likewise, a request for data from namespace A by a host in namespace B may be satisfied without requiring the host to be configured as a node of namespace A. However, inter-namespace data exchange APIs such as JNDI require that a request for data from a foreign namespace by a host in a local namespace include specific location/naming information. Solutions have been offered that require special mechanisms within a naming service itself to create, recognize, and traverse federated junctions between namespaces, however such solutions require participation by the naming service and are therefore limited to naming services that implement identical federation schemes. To the contrary, the claimed invention does not require specific federation support from the naming service itself. Thus, naming services that either do not explicitly support federation or that implement federation in a proprietary fashion may be federated together. The claimed invention provides for the federation of namespace domains using universal resource locators.
  • SUMMARY OF THE INVENTION
  • A system and method for performing a lookup in a second namespace, the lookup being performed from a first namespace, whereby a component performing the lookup is not required to be configured for performing a lookup in the second namespace, the system and method further comprising: parsing a first lookup request for a URL tag, the first lookup request for an object located in the second namespace, the lookup request including a symbolic name corresponding to a target location in the second namespace, the URL tag corresponding to a URL context; searching the URL context for a provider URL corresponding to the symbolic name; and creating a second lookup request, the second lookup comprising the provider URL and the object's name.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows the flow of an exemplary lookup request across namespaces.
  • FIG. 2 is a continuation of FIG. 1 and shows the flow of an exemplary lookup request across namespaces.
  • FIG. 3 shows an exemplary system for performing a lookup request across namespaces.
  • FIG. 4 shows an alternative exemplary system for performing a lookup request across namespaces.
  • DETAILED EMBODIMENT
  • In an exemplary embodiment, the invention is used in conjunction with naming services that support namespace lookups via universal resource locators (URLs) and that include a mechanism for delegating namespace requests to a third party provider. For purposes of explanation and example, the claimed invention is used in conjunction with the JNDI SPI/API to satisfy these requirements. It is understood that the claimed invention may be implemented in conjunction with any namespace API/SPI or similar mechanism known to one of ordinary skill in the art without exceeding the scope of this disclosure. While JNDI itself describes the use of URLs in lookup names, this usage incorporates explicit network location information in the URL itself. The claimed invention uses only symbolic names in a federation URL that is mapped locally within the local namespace to the actual network location information, to achieve namespace federation. Thus, the claimed invention provides for the insulation of applications from namespace reconfiguration and changes to topography by prescribing a method to map the application's lookup name to the actual lookup name. Moreover, the claimed invention advantageously allows programming model neutrality by prescribing a method to map the facilities of a particular naming system to the underlying federation interface (JNDI, for example) without requiring an additional API set that is separate and distinct from the underlying naming interface API set. Thus, the claimed invention provides for federation without the need for disparate namespaces to explicitly participate in a federation scheme.
  • JNDI provides a NamingManager that manages naming context creation. Naming contexts are the programming implements used to perform namespace operations, such as lookup and bind. Actual naming contexts are produced by context factories, which are registered with the NamingManager. As prescribed by JNDI, there are both regular and URL (universal resource locator) contexts and context factories. The JNDI NamingManager, using a context factory registered specifically for the purpose of creating regular naming contexts, creates regular naming contexts. Instantiating a new InitialContext object creates a regular naming context in the Java programming language. All JNDI contexts must support URL composite name syntax. This syntax is of the form:
      • URL_TAG:<location-information>/<JNDI-name>
  • “URL_TAG” identifies the type of URL context and “location-information” identifies the location of the object (i.e. “JNDI-name”) bound in a namespace. A JNDI context is required to process a URL composite name by stripping off the “URL_TAG” from the composite name and then requesting a new naming context from the JNDI directory manager that supports the specified “URL_TAG”. The returned naming context is known as a “URL naming context”. The naming context request in process must be forwarded to the newly created URL naming context.
  • The JNDI NamingManager, using a URL context factory registered specifically for a particular “URL_TAG”, creates URL naming contexts that correspond to a specified “URL_TAG”. This is accomplished through an interaction between a naming context and the JNDI NamingManager, as described in the preceding paragraph.
  • The J2EE architecture defines a particular URL context factory and context that use the URL_TAG name of “java”. The java namespace is defined as a local, in-memory name space for use by a J2EE component. Names in this namespace are unique with respect to a particular component: each of two components can independently use the same unique name within their java namespace; each component's use of the name need not correspond to the same namespace binding.
  • The J2EE architecture specifies that components use local, composite lookup names of the form:
      • java:comp/env/<JNDI name>
  • The J2EE architecture specifically requires an administrative action during component deployment to map the component's local lookup name to an actual lookup name. This mapping information is specific to the environment in which the component is deployed. Furthermore, this mapping information is retained as part of the component's configuration data. When a J2EE server loads a component, this configuration information is used to construct the local, in-memory java namespace.
  • The claimed invention introduces a specific URL context factory and context for use in achieving namespace federation. In the preferred embodiment, the chosen URL_TAG is “df”. Each namespace to be bound together in a federation has a name context bound to the namespace root context by the name “df”. Within the “df” naming context are bound linkages to other namespaces. Each such binding contains the necessary “provider url” information necessary to establish a regular naming context into another namespace. The java property “java.naming.provider.url” is the architectured mechanism by which one identifies to the JNDI NamingManager the location of the target namespace, when creating a regular naming context. For use by applications following the J2EE architecture, provider URLs are typically for the iiop protocol, and take either the form “corbaloc:iiop:ip-name:port” or the form “iiop://ip-name:port” which identifies the iiop (CORBA) protocol for connecting to the namespace located at Internet address and port number referred to as ip-name:port.
  • FIGS. 1 and 2 collectively describe the flow of an exemplary JNDI Lookup across domains where the claimed invention has been implemented. Lookups are implemented using a URL syntax that designates a component namespace (i.e. Java:) to be performed. The component namespace reference is configured using a URL that designates a federated lookup and the local namespace includes URL information referencing the target namespace. Referring now to FIGS. 1 and 2. A component (not shown) in domain A requests (1.1) a new initial context from the JNDI Naming manager 10. The JNDI NamingManager 10 drives (1.2) a registered JNDI context factory 12 to create (1.3) a regular naming context 14. The regular naming context 14 is returned to the component. The component issues (2.1) a lookup request for “java:comp/env/ejb/myEJB_B” to the regular naming context 14. The regular naming context 14 parses off URL TAG “java:” and drives (2.2) the javaURLContextFactory 16. In general however, the regular naming context does not drive the javaURLContextFactory directly, but rather goes through the JNDI NamingManager 10 to select the URL context factory that corresponds to the specified URL_TAG:. The javaURLContextFactory 16 creates and returns (2.3) a javaURLContext 18. The regular naming context 14 forwards (2.4) the lookup request to the javaURLContext 18.
  • The javaURLContext 18 locates and reads (2.5) “comp/env/ejb/myEJB_B” from the java namespace 22 belonging to current component. The returned data is another JNDI lookup name “df://domainB/EJB_B”, which the javaURLContext 18 uses recursively to continue the lookup.
  • The javaURLContext 18 (as with all contexts) parses off URL TAG “df:” and drives (2.6) the dfURLContextFactory 20 to create a corresponding URL context. As stated previously, a naming context does not drive a URLContextFactory directly, but rather goes through the JNDI NamingManager 10 to select the URLContextFactory that corresponds to the specified URL_TAG:. The dfURLContextFactory 20 creates and returns (2.7) a dfURLContext 24.
  • The javaURLContext 18 forwards (2.8) the lookup request to the dfURLContext 24. The dfURLContext locates and reads (2.9) the entry “df/domainB” 32 from domain A's name space 25. The returned data 32 is a provider URL to the target domain's namespace 35, which is used to create a regular context for that namespace.
  • The dfURLContext 24 creates a Java Properties object (as per JNDI specification) to configure a new InitialContext. The dfURLContext 24 sets the provider URL value for this new InitialContext using the provider URL for domain B 35, which was configured in the namespace of Domain A 25. The dfURLContext 24 creates an initial context by issuing a request for a new initial context to the JNDI NamingManager 10. The JNDI NamingManager 10 drives the registered JNDI context factory to create the new context and the regular naming context 34 for the domain B namespace returned. The dfURLContext 24 strips the JNDI lookup name from the URL composite name following the <location-information> portion of the name yielding the lookup name “EJB_B”. The dfURLContext 24 forwards (6.1) the lookup request to the domain B regular JNDI context 34. The regular JNDI context (for domain B) 34 performs a lookup (6.2) in domain B's namespace 35 and returns the lookup result.
  • FIG. 3 shows an exemplary system for implementing a lookup request across namespaces. Namespace X at 60 is located at x.x.x.x and includes URL context factory df at 62, where df includes references to a logical set of namespaces to be federated. The URL context factory 62 creates context df 64 which includes entry 66 for targeting namespace Y 68 at location y.y.y.y. The entry 66 comprises the following:
      • Y=URL_scheme://y.y.y.y:zzz.
  • It is understood that URL_scheme://y.y.y.y:zzz is an exemplary scheme and location and that a scheme and location may comprise any scheme and location type known to one of ordinary skill in the art including a DNS scheme/IP location having a form similar to 192.168.0.1:88. For example, namespace Y 68 includes a reference 70 to the object “sample data”. Namespace X 60 and namespace Y 68 each comprise at least one computer or other data device as is known to one of ordinary skill in the art. In addition, namespace X 60 and namespace Y 68 communicate using any method of data communication known to one of ordinary skill in the art including propagated signals 76 such as those generated by electronic data communications networks. Computer program code enabling namespace X 60 to perform a lookup in namespace Y 68 in accordance with the claimed invention is located in a computer readable medium 72 and is received by namespace X 60 and/or namespace Y 68 via a propagated signal 74 or via any mechanism known to one of ordinary skill in the art. Alternatively, the computer readable program code may be integrated into a component of namespace X 60 and/or namespace Y 68.
  • Namespace 60 contains entry Y 66, which contains a URL that identifies the location of namespace Y 68. The naming service for namespace 60 delegates namespace requests to a 3rd party provider 62. Namespace 68 contains the entry “sample” 70, which contains sample data. A client performs a lookup in local namespace 60 using the lookup name “df://Y/sample”. The lookup request is passed to the 3rd party provider 62. The 3rd party provider 62 parses the lookup string into two parts: “df://Y” and “sample”. The 3rd party provider 62 uses the first part (“df://Y”) to lookup the URL 64, 66 that locates namespace 68. The 3rd party provider 62 then uses that URL 66 to direct a subsequent lookup request to namespace 68 and uses the remaining part of the original lookup name—“sample”—as the lookup name passed to namespace 68. The result of this lookup is passed to the client that performed the original lookup.
  • FIG. 4 shows an alternative exemplary embodiment using a WEB server product such as IBM WEBSPHERE. A CosNaming service, associated with AE namespace 80, contains the entry wsndf/PLEX1 86 that contains the string “iiop://x.x.x.x:ppp”. An LDAP naming service, associated with 390 namespace 82, contains a home reference 88 named “ivp.policysession”. The AE namespace 80 includes an installed URL context factory 84 named wsndf/wsndfURLContextFactory. A client (not shown) of the AE namespace 80 performs a lookup with name “wsndf://PLEX1/ivp.policysession”. The AE JNDI service matches the URL scheme, “wsndf”, with installed URL context factory 84 “wsndfURLContextFactory” and passes the lookup request to it. The wsndfURLContextFactory 84 breaks the lookup name into two parts: “wsndf/PLEX1” and “ivp.policysession”. The wsndfURLContextFactory 84 uses “wsndf/PLEX1” to lookup the java.naming.provider.url 86 necessary to do a lookup in 390 namespace 82, then does a lookup in the 390 namespace 82 for the second part of the name—“ivp.policysession”. The lookup result is returned to the client of the AE namespace 80.
  • The description applying the above embodiments is merely illustrative. As described above, embodiments in the form of computer-implemented processes and apparatuses for practicing those processes may be included. Also included may be embodiments in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. Also included may be embodiments in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or as a data signal transmitted, whether a modulated carrier wave or not, over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
  • While the invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims.

Claims (5)

1. A method of federating at least two namespaces, said two namespaces being enabled for JNDI communication, wherein said first and second namespaces may be disparate namespaces, comprising:
a JNDI context factory creating a regular naming context in response to receiving a first lookup request from a component in a first of said two namespaces, said first lookup request for an object located in a second of said two namespaces;
said regular naming context driving a java URL context factory in response to a java URL tag, said java URL tag being derived from said first lookup request;
said java URL context factory creating a java URL naming context, said java URL naming context receiving said first lookup request from said regular naming context;
a URL naming context driving a JNDI naming context in response to a provider URL, said provider URL being derived from said first lookup request, said provider URL indicative of a target location in said second namespace.
2. The method of claim 1 wherein:
said java URL naming context drives a URL context factory in response to a URL tag indicative of said second namespace.
3. The method of claim 2 wherein:
said URL context factory creates a URL naming context corresponding to said URL tag, said URL naming context receiving said first lookup request from said java URL naming context.
4. The method of claim 1 wherein:
said JNDI context factory creating an initial context including said provider URL, said initial context having a provider URL value set to said provider URL.
5. The method of claim 4 wherein:
said second namespace receiving a second lookup request from said initial context, said second lookup request including said object and said target location of said object.
US11/131,842 2002-04-15 2005-05-18 System and method for performing lookups across namespace domains using universal resource locators Abandoned US20050210033A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/131,842 US20050210033A1 (en) 2002-04-15 2005-05-18 System and method for performing lookups across namespace domains using universal resource locators

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/122,542 US6947925B2 (en) 2002-04-15 2002-04-15 System and method for performing lookups across namespace domains using universal resource locators
US11/131,842 US20050210033A1 (en) 2002-04-15 2005-05-18 System and method for performing lookups across namespace domains using universal resource locators

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/122,542 Division US6947925B2 (en) 2002-04-15 2002-04-15 System and method for performing lookups across namespace domains using universal resource locators

Publications (1)

Publication Number Publication Date
US20050210033A1 true US20050210033A1 (en) 2005-09-22

Family

ID=28790564

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/122,542 Expired - Lifetime US6947925B2 (en) 2002-04-15 2002-04-15 System and method for performing lookups across namespace domains using universal resource locators
US11/131,842 Abandoned US20050210033A1 (en) 2002-04-15 2005-05-18 System and method for performing lookups across namespace domains using universal resource locators

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/122,542 Expired - Lifetime US6947925B2 (en) 2002-04-15 2002-04-15 System and method for performing lookups across namespace domains using universal resource locators

Country Status (1)

Country Link
US (2) US6947925B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015761A1 (en) * 2003-07-17 2005-01-20 International Business Machines Corporation Method and system for application installation and management using an application-based naming system including aliases
US7698351B1 (en) 2006-04-28 2010-04-13 Netapp, Inc. GUI architecture for namespace and storage management
US20100174752A1 (en) * 2009-01-06 2010-07-08 International Business Machines Corporation Validation and correction in a distributed namespace
US8151360B1 (en) 2006-03-20 2012-04-03 Netapp, Inc. System and method for administering security in a logical namespace of a storage system environment
US8635247B1 (en) * 2006-04-28 2014-01-21 Netapp, Inc. Namespace and storage management application infrastructure for use in management of resources in a storage system environment
US9118697B1 (en) 2006-03-20 2015-08-25 Netapp, Inc. System and method for integrating namespace management and storage management in a storage system environment

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523170B1 (en) * 2002-06-24 2009-04-21 Cisco Technology, Inc. Service locator technique implemented in a data network
US20040054808A1 (en) * 2002-09-13 2004-03-18 Sun Microsystems, Inc. Method and apparatus for bi-directional translation of naming service data
US7584219B2 (en) * 2003-09-24 2009-09-01 Microsoft Corporation Incremental non-chronological synchronization of namespaces
US7743029B2 (en) * 2003-12-30 2010-06-22 Sap Ag Log configuration and online deployment services
US7472391B2 (en) * 2004-02-20 2008-12-30 Microsoft Corporation Resource loader for applications that utilize relative uniform resource identifiers
GB0411331D0 (en) * 2004-05-21 2004-06-23 Qinetiq Ltd Hyperlinks
US8028002B2 (en) 2004-05-27 2011-09-27 Sap Ag Naming service implementation in a clustered environment
US7721256B2 (en) * 2004-05-27 2010-05-18 Sap Ag Method and system to provide access to factories in a naming system
US20060116879A1 (en) * 2004-11-29 2006-06-01 International Business Machines Corporation Context enhancement for text readers
US8140499B2 (en) * 2005-04-08 2012-03-20 International Business Machines Corporation Context based cache infrastructure to enable subset query over a cached object
US7770188B2 (en) * 2006-04-20 2010-08-03 Microsoft Corporation Winsock APIs
US7711853B2 (en) * 2006-07-14 2010-05-04 Microsoft Corporation Resolving names to network endpoints
US8515946B2 (en) * 2008-02-28 2013-08-20 Microsoft Corporation Location description for federation and discoverability
US20090265358A1 (en) * 2008-04-22 2009-10-22 Morris Robert P Methods, Systems, And Computer Program Products For Accessing Metadata Associated With A Network-Accessible Resource
US20100250729A1 (en) * 2009-03-30 2010-09-30 Morris Robert P Method and System For Providing Access To Metadata Of A Network Accessible Resource
US20100250591A1 (en) * 2009-03-30 2010-09-30 Morris Robert P Methods, Systems, And Computer Program Products For Providing Access To Metadata For An Identified Resource
US9984083B1 (en) 2013-02-25 2018-05-29 EMC IP Holding Company LLC Pluggable storage system for parallel query engines across non-native file systems
US10120900B1 (en) 2013-02-25 2018-11-06 EMC IP Holding Company LLC Processing a database query using a shared metadata store
CN104503751B (en) * 2014-12-16 2018-07-10 深圳中兴网信科技有限公司 Data source switch method based on SOA and the data source switching system based on SOA

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377323A (en) * 1991-09-13 1994-12-27 Sun Microsytems, Inc. Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems
US5745683A (en) * 1995-07-05 1998-04-28 Sun Microsystems, Inc. System and method for allowing disparate naming service providers to dynamically join a naming federation
US5890171A (en) * 1996-08-06 1999-03-30 Microsoft Corporation Computer system and computer-implemented method for interpreting hypertext links in a document when including the document within another document
US6061695A (en) * 1996-12-06 2000-05-09 Microsoft Corporation Operating system shell having a windowing graphical user interface with a desktop displayed as a hypertext multimedia document
US6061743A (en) * 1998-02-19 2000-05-09 Novell, Inc. Method and apparatus for aggregating disparate namespaces
US6167427A (en) * 1997-11-28 2000-12-26 Lucent Technologies Inc. Replication service system and method for directing the replication of information servers based on selected plurality of servers load
US6175863B1 (en) * 1996-07-17 2001-01-16 Microsoft Corporation Storage of sitemaps at server sites for holding information regarding content
US6442590B1 (en) * 1999-05-27 2002-08-27 Yodlee.Com, Inc. Method and apparatus for a site-sensitive interactive chat network
US6571285B1 (en) * 1999-12-23 2003-05-27 Accenture Llp Providing an integrated service assurance environment for a network
US6625604B2 (en) * 2001-03-09 2003-09-23 Hewlett-Packard Development Company, L.P. Namespace service in a distributed file system using a database management system
US6778979B2 (en) * 2001-08-13 2004-08-17 Xerox Corporation System for automatically generating queries
US6820075B2 (en) * 2001-08-13 2004-11-16 Xerox Corporation Document-centric system with auto-completion

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675355B1 (en) * 2000-03-16 2004-01-06 Autodesk, Inc. Redline extensible markup language (XML) schema
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377323A (en) * 1991-09-13 1994-12-27 Sun Microsytems, Inc. Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems
US5745683A (en) * 1995-07-05 1998-04-28 Sun Microsystems, Inc. System and method for allowing disparate naming service providers to dynamically join a naming federation
US6175863B1 (en) * 1996-07-17 2001-01-16 Microsoft Corporation Storage of sitemaps at server sites for holding information regarding content
US5890171A (en) * 1996-08-06 1999-03-30 Microsoft Corporation Computer system and computer-implemented method for interpreting hypertext links in a document when including the document within another document
US6061695A (en) * 1996-12-06 2000-05-09 Microsoft Corporation Operating system shell having a windowing graphical user interface with a desktop displayed as a hypertext multimedia document
US6167427A (en) * 1997-11-28 2000-12-26 Lucent Technologies Inc. Replication service system and method for directing the replication of information servers based on selected plurality of servers load
US6061743A (en) * 1998-02-19 2000-05-09 Novell, Inc. Method and apparatus for aggregating disparate namespaces
US6442590B1 (en) * 1999-05-27 2002-08-27 Yodlee.Com, Inc. Method and apparatus for a site-sensitive interactive chat network
US6571285B1 (en) * 1999-12-23 2003-05-27 Accenture Llp Providing an integrated service assurance environment for a network
US6625604B2 (en) * 2001-03-09 2003-09-23 Hewlett-Packard Development Company, L.P. Namespace service in a distributed file system using a database management system
US6778979B2 (en) * 2001-08-13 2004-08-17 Xerox Corporation System for automatically generating queries
US6820075B2 (en) * 2001-08-13 2004-11-16 Xerox Corporation Document-centric system with auto-completion

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015761A1 (en) * 2003-07-17 2005-01-20 International Business Machines Corporation Method and system for application installation and management using an application-based naming system including aliases
US7210125B2 (en) * 2003-07-17 2007-04-24 International Business Machines Corporation Method and system for application installation and management using an application-based naming system including aliases
US8151360B1 (en) 2006-03-20 2012-04-03 Netapp, Inc. System and method for administering security in a logical namespace of a storage system environment
US9118697B1 (en) 2006-03-20 2015-08-25 Netapp, Inc. System and method for integrating namespace management and storage management in a storage system environment
US7698351B1 (en) 2006-04-28 2010-04-13 Netapp, Inc. GUI architecture for namespace and storage management
US8065346B1 (en) 2006-04-28 2011-11-22 Netapp, Inc. Graphical user interface architecture for namespace and storage management
US8635247B1 (en) * 2006-04-28 2014-01-21 Netapp, Inc. Namespace and storage management application infrastructure for use in management of resources in a storage system environment
US20100174752A1 (en) * 2009-01-06 2010-07-08 International Business Machines Corporation Validation and correction in a distributed namespace
US8195704B2 (en) * 2009-01-06 2012-06-05 International Business Machines Corporation Validation and correction in a distributed namespace

Also Published As

Publication number Publication date
US20030195870A1 (en) 2003-10-16
US6947925B2 (en) 2005-09-20

Similar Documents

Publication Publication Date Title
US20050210033A1 (en) System and method for performing lookups across namespace domains using universal resource locators
RU2359314C2 (en) Web-SERVICE FOR DETECTING REMOTE APPLICATIONS
US8151281B2 (en) Method and system of mapping at least one web service to at least one OSGi service
US7565402B2 (en) Sitemap access method, product, and apparatus
US7167918B2 (en) Macro-based access control
US6701374B2 (en) Method and apparatus for dynamic proxy insertion in network traffic flow
US7111079B2 (en) Architecture of a bridge between a non-IP network and the web
MXJL02000042A (en) System and methods of accessing network resources.
US20050198206A1 (en) Method and apparatus for dynamically selecting functionally equivalent Web services through a single autonomic proxy
US20060218289A1 (en) Systems and methods of registering and utilizing domain names
JP2003006074A (en) Reverse proxy mechanism
EP1253766A2 (en) Peer group name server
US20080016233A1 (en) Methods, systems, products, and devices for processing dns friendly identifiers
RU2490814C2 (en) Dynamic dns system for private networks
CN105635338B (en) A kind of data transmission method and device
JP2001290724A (en) Framework having plug-and-play function and its reconstructing method
CN102577303A (en) Systems and methods for generating a dns query to improve resistance against a dns attack
WO2010083889A1 (en) Identity management scheme
JP2005535032A (en) Internal natural domain service system with local name server for flexible top level domain
KR100593334B1 (en) Home server access system including server and access control method
US20050278417A1 (en) Client access to web services
EP2562961A1 (en) Smart card and method of operation thereof
EP1754145A1 (en) Method and apparatus for supporting multiple versions of a web services protocol
US8224996B2 (en) Directory viewports
US20030088614A1 (en) Directory server mapping tree

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION