events contact us
Search the complete PARC site
 

Obje™ Meta-interfaces

The Obje™ software architecture uses several generic meta-interfaces to reduce the number of agreements that must be made between communicating entities. All Obje-enabled devices or services, which are called “components,” implement and make use of one or more of the following meta-interfaces.

Devices use The Obje interoperability platform's four meta-interfaces to communicate and exchange data.
diagram of multiple components connecting via Obje Meta-interfaces

Aggregation/Discovery

One of the basic interfaces allows a component to represent a collection of other components. For example, a file system component is an aggregation of the components that are its directories and files. The aggregation interface is also used for discovery, i.e., to find other components on the network. Obje discovery components can “wrap” the discovery mechanisms of other standards such as Jini or Bluetooth, thus unifying them.

Once discovered, another basic agreement is how to negotiate a connection. The discovery component includes the ability for third party Obje components to serve as bridges. This means that two devices can interoperate without direct physical connectivity if they can find a device with connectivity to both or a chain of devices that can connect them.

Data transfer

The Obje platform's basic view of interoperation is (1) send data, (2) do something to data, and (3) sometimes, return a result. It allows data transfer between components to occur in ways that are not only independent of the underlying wire protocol, but also independent of the format of the data being transferred.

In the Obje platform, components that are capable of sending data provide "custom objects" that extend the behavior of potential receivers in specific ways. While the Obje platform defines the interface common to all custom objects, the implementations of these objects can leverage mobile code to provide dynamic, runtime extensibility to new wire protocols and data formats.

User Interface/Control

Critical to successful interoperation is that the "something" that is done to the data depends on what component it is sent to. The control meta-interface allows the user to provide application semantics by directing the interoperation.

Instead of having different agreements for showing a picture on a display or printing a page on a printer, the Obje platform needs only the data transfer agreement. The user making the connection provides the semantics by sending the data, and adds additional information such as size of print or number of copies. This is key to allowing end-user assembly of solutions.

Metadata/Context

The final Obje component interface returns a custom object that provides contextual metadata about a component. The context custom object returned by this interface provides access to a set of attributes describing the component that returns it: name, location, administrative domain, and so on. The goal of this interface is primarily to allow sense making by users, and secondarily to allow programs to use metadata in their interactions.

Expressing functionality in terms of these meta-interfaces allows entities to use new components that appear in their environment without explicit rewriting, updates, or installation of drivers.

Obje is a trademark of Palo Alto Research Center Incorporated

BUSINESS CONTACT
David Weinerth
Director of Business Development, Computing Science Laboratory
650-812-4428
RELATED INFORMATION

Obje Overview

Obje FAQ

NEWS AND PUBLICATIONS

Obje Interoperability Framework (whitepaper, pdf)

Wireless Networking Everywhere, PC Magazine, September 3, 2002

The Almanac: Mobile/Wireless, ComputerWorld, December 16, 2002

Designing for Serendipity: Supporting End-User Configuration of Ubiquitous Computing Environments

The Case for Recombinant Computing

   

  (Logo/Homepage) PARC - Palo Alto Research Center

Copyright © 2002-2007 Palo Alto Research Center Incorporated. All Rights Reserved.
PARC, the PARC Logo, AspectJ, DataGlyph, Obje, Silx, StressedMetal, and ClawConnect
are trademarks or registered trademarks of Palo Alto Research Center Incorporated.