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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating 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
- 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.
- 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.
- 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 ofFIG. 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. - 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 toFIGS. 1 and 2 . A component (not shown) in domain A requests (1.1) a new initial context from theJNDI Naming manager 10. TheJNDI NamingManager 10 drives (1.2) a registeredJNDI context factory 12 to create (1.3) aregular naming context 14. Theregular naming context 14 is returned to the component. The component issues (2.1) a lookup request for “java:comp/env/ejb/myEJB_B” to theregular naming context 14. Theregular naming context 14 parses off URL TAG “java:” and drives (2.2) thejavaURLContextFactory 16. In general however, the regular naming context does not drive the javaURLContextFactory directly, but rather goes through theJNDI NamingManager 10 to select the URL context factory that corresponds to the specified URL_TAG:. ThejavaURLContextFactory 16 creates and returns (2.3) ajavaURLContext 18. Theregular naming context 14 forwards (2.4) the lookup request to thejavaURLContext 18. - The
javaURLContext 18 locates and reads (2.5) “comp/env/ejb/myEJB_B” from thejava namespace 22 belonging to current component. The returned data is another JNDI lookup name “df://domainB/EJB_B”, which thejavaURLContext 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 theJNDI NamingManager 10 to select the URLContextFactory that corresponds to the specified URL_TAG:. ThedfURLContextFactory 20 creates and returns (2.7) adfURLContext 24. - The
javaURLContext 18 forwards (2.8) the lookup request to thedfURLContext 24. The dfURLContext locates and reads (2.9) the entry “df/domainB” 32 from domain A'sname space 25. The returneddata 32 is a provider URL to the target domain'snamespace 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. ThedfURLContext 24 sets the provider URL value for this new InitialContext using the provider URL fordomain B 35, which was configured in the namespace ofDomain A 25. ThedfURLContext 24 creates an initial context by issuing a request for a new initial context to theJNDI NamingManager 10. TheJNDI NamingManager 10 drives the registered JNDI context factory to create the new context and theregular naming context 34 for the domain B namespace returned. ThedfURLContext 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”. ThedfURLContext 24 forwards (6.1) the lookup request to the domain Bregular JNDI context 34. The regular JNDI context (for domain B) 34 performs a lookup (6.2) in domain B'snamespace 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. TheURL context factory 62 createscontext df 64 which includesentry 66 for targetingnamespace Y 68 at location y.y.y.y. Theentry 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 areference 70 to the object “sample data”.Namespace X 60 andnamespace 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 andnamespace Y 68 communicate using any method of data communication known to one of ordinary skill in the art including propagatedsignals 76 such as those generated by electronic data communications networks. Computer program code enablingnamespace X 60 to perform a lookup innamespace Y 68 in accordance with the claimed invention is located in a computerreadable medium 72 and is received by namespace X 60 and/ornamespace 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/ornamespace Y 68. -
Namespace 60 containsentry Y 66, which contains a URL that identifies the location ofnamespace Y 68. The naming service fornamespace 60 delegates namespace requests to a3rd party provider 62.Namespace 68 contains the entry “sample” 70, which contains sample data. A client performs a lookup inlocal namespace 60 using the lookup name “df://Y/sample”. The lookup request is passed to the3rd party provider 62. The3rd party provider 62 parses the lookup string into two parts: “df://Y” and “sample”. The3rd party provider 62 uses the first part (“df://Y”) to lookup theURL namespace 68. The3rd party provider 62 then uses thatURL 66 to direct a subsequent lookup request tonamespace 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 withAE namespace 80, contains the entry wsndf/PLEX1 86 that contains the string “iiop://x.x.x.x:ppp”. An LDAP naming service, associated with 390namespace 82, contains ahome reference 88 named “ivp.policysession”. TheAE namespace 80 includes an installedURL context factory 84 named wsndf/wsndfURLContextFactory. A client (not shown) of theAE namespace 80 performs a lookup with name “wsndf://PLEX1/ivp.policysession”. The AE JNDI service matches the URL scheme, “wsndf”, with installedURL context factory 84 “wsndfURLContextFactory” and passes the lookup request to it. ThewsndfURLContextFactory 84 breaks the lookup name into two parts: “wsndf/PLEX1” and “ivp.policysession”. ThewsndfURLContextFactory 84 uses “wsndf/PLEX1” to lookup the java.naming.provider.url 86 necessary to do a lookup in 390namespace 82, then does a lookup in the 390namespace 82 for the second part of the name—“ivp.policysession”. The lookup result is returned to the client of theAE 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.
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)
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)
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)
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)
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 |
-
2002
- 2002-04-15 US US10/122,542 patent/US6947925B2/en not_active Expired - Lifetime
-
2005
- 2005-05-18 US US11/131,842 patent/US20050210033A1/en not_active Abandoned
Patent Citations (12)
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)
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 |