Fakultät für Informatik TU München - Fakultät für Informatik
Lehrstuhl III: Datenbanksysteme
Technische Universität München
Home  |  Personen  |  Forschung  |  Lehre  |  Sonstiges  | 



In this section, we describe the ObjectGlobe lookup service that finds relevant resources for a query and the parser and optimizer that try to find a good plan to execute a query.

   
Lookup Service

The lookup service plays the same role in ObjectGlobe as the catalog or meta-data management of a traditional query processor. Every provider must register its services before it can participate in ObjectGlobe. The ObjectGlobe parser and optimizer consult the lookup service in order to find all relevant resources to execute a query and get statistics. Furthermore, end users can use the lookup service to browse through the meta-data and search for available query capabilities and data sources for their applications. In some sense, therefore, ObjectGlobe's lookup service can also be seen as a search engine for data and query processing capabilities; it also bears some similarity with the Jini lookup service [Wal99] or with X.500 [CCI89] and LDAP directory services [WHK97]. The difference is that the ObjectGlobe lookup service is geared to the particular requirements of an open and secure distributed query processor.

ObjectGlobe Meta-data

The ObjectGlobe lookup service records the following information:

To give a concrete example, Appendix B shows an example RDF document that can be used by a data provider that registers a hotel collection. It is important to keep in mind that all providers are autonomous and have their own local authorization policies. The meta-data kept in the lookup service mirrors that information and, thus, this meta-data can be outdated or incomplete. It is possible, for instance, that a data provider revokes the grant of some cycle providers to process its data without notifying the lookup service; as a result, the execution of an ObjectGlobe query might fail due to an authorization violation at execution time. ObjectGlobe relies on data, function, and cycle providers notifying the lookup service if important meta-data changes. If a plan fails due to stale meta-data in the lookup service, all the relevant meta-data is invalidated so that providers that do not update their meta-data do not participate in the ObjectGlobe federation. As an alternative, [CZH+99] propose to use a time-to-live scheme; in that scheme, providers must periodically contact the lookup service if they want to participate in the federation.

Implementation Details

The lookup service is currently implemented on top of a relational database system. Meta-data (i.e., RDF documents) are mapped to binary tables as described in [FK99]. Search requests are translated into SQL join queries. This translation is not one-to-one as the lookup service hides the details of how the meta-data is stored. Clients of the lookup service, for example, can ask for all cycle providers that are allowed to process objects of a specific collection; the lookup service will answer such a query considering all groups of cycle providers as well as all positive and negative authorizations. Translating search requests into SQL queries is quite complicated (albeit straightforward) and describing all the details is beyond the scope of this paper.

Currently, the lookup service is implemented as a centralized component of the ObjectGlobe system. Obviously, a centralized lookup service can easily become a bottleneck of the whole system. Therefore, we are currently working towards a distributed/hierarchical lookup service (similar to the hierarchical name server we described in [EKK97]) with domain-specific replication and caching of meta-data.


Lehrstuhl für Datenbanksysteme
Letzte Änderung: 25.05.2005 um 14:34:37
Meta Data Management