tripcom
Tripcom - Triple Space Communication. This is the official website of the Specific target research project tripcom. tripcom is to be funded by the european commission under the 6th framework programme, priority 2 information society technologies (IST) under the project number IST-4-027324-STP
tripcom tripcom tripcom tripcom
Home
News
Events
Mission
Showcase
Project
Description of Work
Workpackages
Deliverables
Publications
Reading List
Links
Management
Project Management Board
Technical Management Board
Exploitation Board
Partners
Download
Contact

tripcomSourceForge.net Logo

tripcomdoap.rdf

tripcom

 

Tripcom FAQ

We received many questions of what the Tripcom project really is, and what it distinguishes from other technologies. In the following, we try to answer the most common questions as clear as possible. If there are however some questions left unanswered, please feel free to [contact] us.

 

TripCom and related technologies

Tuple Spaces (Semantic) Web Services Semantic Web

 

 

TripCom and related technologies

What does TripCom stand for and what are the main technologies involved in the project?

TripCom refers to Triple Space Communication, a new form of network-based communication which replaces message-based point-to-point communication methods typical of Web services with communication via publication in a shared space known as tuplespace.

The main technologies involved are tuplespace computing, Web services, and the Semantic Web. Triple Space is the name we give to a type of tuplespace extended to support the publication and exchange of semantic data which is based on the RDF data model, consisting of triples of the form subject-property-object which build statements of knowledge.

What are the advantages of triplespace computing against related approaches?

The closest similar technology is enterprise service buses (ESBs [5]), which are based on a set of publicly accepted definitions, providing comfortable integration environments that allow "integration eco-systems" of interacting applications and services to be established on top of them. 

The TripCom core mechanism is embodied by the Triple Space API (TS-API). A data space ontology built on this API would allow for the establishment of similar integration eco-systems.  With such an ontology, the differences in the approach between Triple Spaces and ESB would be:

(a) All interacting Triple Space partners are autonomous and the space is always passive. This should result in better resiliency against failures, simpler work load management, and a more robust deployment model.

(b) A data space paradigm provides a more intuitive approach to security: the boundary of the space is the security boundary. ESB's - like all infrastructures that expose a communication paradigm - rely on the management of each communication path: a very tedious and complex task in large integration projects. As a paradigm, the data space is simpler to manage.  One could compare it to a file system - which is something like a primitve space: Securing each communication path requires that each access to the files be reviewed and managed individually.   The data space (or file system) can define access rules (policies) on its top nodes, securing the boudaries of the space.  Modifications to these access rules can be stated for subsets of the space (file system). The OS translates these definitions into access checks at runtime.  This simple example shows that a security definition on the space level is more expressive than a security definition on the communication level.

(c) And finally, TripCom has the benefits of semantics. Semantic data can be easily merged in a triple space and it is no longer necessary to manage separate documents, messages or data sources, on top of managing the data structures. Semantic data allows inference, therefore the processing code and queries need not implement the parts that can be expressed in the ontology; for instance, the transitivity of some data relationships. This reduces redundancy in the various components and simplifies access to data. And while querying data is simpler than programming, semantic queries can be quite powerful and make use of data relations that were not anticipated by the designers of the system. This increases the flexibility and agility of the system.

How do tuplespaces differ from messaging systems?

At first sight, both technologies may indeed look very similar. They expose similar interfaces - two operations in the case of messaging (GET, PUT) and three in the case of tuplespaces (IN, OUT, READ). Both contain the concept of a container called a "space" in one case and "queue" in the other, to refer to a set of message (or tuples). These findings have been extensively discussed in [1]. A closer look at both however reveals the following fundamental differences:

  1. Messages in a Queue have a defined ordering and can only be retrieved in that order (e.g. FIFO or priority ordering). In contrast, clients have random access to all the tuples stored in a tuplespace.
  2. Tuples in a tuplespace are accessed by content using a template-based mechanism that is somewhat similar to "query by example" known from database technology. Messages however are consumed exactly in the order the messaging system stores them in the queue. It is not possible to randomly access messages.
  3. Tuplespaces are a means to separate the "coordination" (communication and cooperation between processes) aspect of an application from "computation" (the act of manipulating data), thus leading to a much clearer application design. This separation is not facilitated by messaging systems since - as their name suggests - their sole means is to allow message-based communication between applications.

A comparison of two implementations standing for each of the technologies discussed above can be found here: http://today.java.net/pub/a/today/2005/06/03/loose.html

Is TripCom a database?

Although Triple Space provides many features found in (semantic) databases, it should not be considered as a replacement for a traditional database. The Triple Space provides a platform allowing for coordinated access to distributed semantic data. The design goals of Triple Space differ from the design goals of a traditional database:

  • A Triple Space allows many different clients to interact, each client publishing data with different semantics into the space.
  • Triple Space is designed for use with semantic data formats (such as the Resource Description Framework (RDF)).
  • Triple Space allows for coordinated access to data through an extended Linda coordination model
  • Triple Space is intended as a scalable communication infrastructure for (Semantic) Web services
Besides the differences, Triple Space has a number of features in common with databases:
  • Data retrieval based on query languages
  • Concurrency
  • Data distribution
  • Fault tolerance
  • Access control

What does TripCom contribute over existing standards?

TripCom aims at exploiting the synergies which arise from a novel combination of the Tuple Space, Semantic Web and Web service technology. We expect, that existing standards in these fields can benefit from the mutual influences between the aforementioned technologies. A number of potential areas for both contributing to the extension of existing standards and the definition of new standards have been identified.

  • Since one of the major objectives of TripCom is to provide a web-scalable implemenation of a space-based middleware, TripCom's architecture can serve as a reference architecture for scalable space-based middleware systems.
  • TripCom can serve as a transport for Web service communication. A TripCom binding for Web services will be specified, bringing the reliable and asynchronous communication platform based on the paradigm of "persistently publish and read" to the Web service world to complement existing Web service transports such as HTTP.
  • TripCom combines existing template-based approaches to content-based access in Space-based computing with the power of an RDF query language to enable sophisticated querying. Based on the experiences we gain in this field, Tripcom aims at influencing RDF query languages like e.g. SPARQL.

What is the difference between TripCom and the WWW?

As TripCom's vision - "Triplespace may become the web for machines as the web based on HTML became the Web for humans" - states, the goal of the project is to provide an infrastructure for the "web of machines" based on the principles of the web for humans. Obviously, the web of machines requires a different set of technologies as the web for humans does:

  • Rather than using a browser as the interface between humans, machines need an API that is specified in a machine processable format. We fulfill this requirement by leveraging Web service and Semantic Web technologies in order to describe the operations and semantics of interfaces.
  • Rather than using markup language (HTML) to describe data to make it human readable and understandable, we use Semantic Web technologies to be able to communicate machine understandable knowledge rather than pure data.
  • TripCom uses a very basic approach to coordination amongst partners in a semantic interaction. As the HTML-Web is a place for persitent publication of textual information, Triplespace provides a place for persistent publication of information. This intelligent medium decouples the provider and user of an information both in space, time and reference. It is therefore more powerful than traditional RPC-based interaction styles with fixed roles and tight coupling.

How does TripCom relate to Cloud computing?

TripCom provides a Web scale infrastructure for managing distributed semantic data. The spaces concept of TripCom provides an abstraction medium that virtualizes the distributed semantic repositories and decouples its clients from the storage facilities and protocols of the data providers. In that sense, TripCom delivers a first version of a semantic data cloud, also termed the knowledge cloud [7].

With its support for coordination of distributed applications and services, and through the integration of Web service technologies, TripCom provides even more than a cloud for semantic artifacts. TripCom exploits the fundamental building blocks of a (semantic) service cloud.

Tuple Spaces

What are tuplespaces about?

Tuplespaces are shared virtual dataspaces which are designed for concurrent access by multiple processes. The data published and exchanged in the space is generally expressed as an atomic unit, which is called a tuple. Processes interact with tuplespaces through a minimal language or an interface which expresses a coordination model with concurrency. A tuplespace provides data to an accessing process which need not be aware of the data's physical location and the coordination model allows access to messages with an arbitrary delay after time of publication. This decoupling of data in time and space is seen as a key advantage of tuplespaces, and supports the building of loosely coupled systems.

How is data published and retrieved?

Interaction with tuplespaces is based on the ideas from a simple coordination language known as Linda [6]. This language has three core primitives: out - for the adding of a tuple to the space; rd - for the reading a copy of a tuple from the space; in - for the reading and removing of a tuple. Retrieval in a Linda-based coordination model is based on associative addressing, as opposed to data addressing. A template is used to construct a request for a type of data (generally following the structure of the tuple in the space with some values replaced by variables which need to be matched to concrete values). A tuple is returned which "matches" the template, where the matching rules can be defined in the tuplespace system, e.g. based on data typing.

In Linda, retrieval operations block until a match is found, hence supporting a simple yet powerful form of coordination (the retrieval request can take place before the publication of the requested data, and rather than simply receiving a 'match not found' response, the request blocks and returns once the matching data is published). As Linda-based systems have been applied to various uses, many extensions have been defined to expand the coordination model, e.g. publish-subscribe interaction allows for clients to request notification when a matching tuple is published.

(Semantic) Web Services

What are Web services / Semantic Web services?

According to the definition of the W3C, "a Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by internet protocols."

While in "traditional", non-semantic, Web services, service interfaces are only described on a syntactic level, Semantic Web services provide and extend formal description of their interfaces through annotation of Web service interfaces with concepts from application domains [2], enabling, e.g., automated service discovery based on interface semantics rather than a syntactic representation.

How does TripCom integrate with existing Web Service technologies?

TripCom integrates with Semantic Web services with regard to storage and communication. The integration of the Web Service Execution Environment - WSMX (which is our reference implementation of a Semantic Web services conceptual model) and Triple Space Computing has been proposed in the following four aspects [2]:

  1. Enabling component management in WSMX using Triple Space Computing,
  2. Allowing external communication grounding in WSMX,
  3. Providing resource management, and
  4. Enabling communication and coordination between different interconnected WSMX systems.
Triple Space Computing acts as a middleware for WSMX, Web Services, other Semantic Web applications, and users to communicate with each other based on the principle of publication and reading of semantic data.

Semantic Web

What is the Semantic Web?

"The Semantic Web is about two things. It is about common formats for integration and combination of data drawn from diverse sources, where [as] the original Web mainly concentrated on the interchange of documents. It is also about language for recording how the data relates to real world objects. That allows a person, or a machine, to start off in one database, and then move through an unending set of databases which are connected not by wires but by being about the same thing." - see http://www.w3.org/2001/sw/.

Also see the Semantic Web FAQ

What is the benefit of using RDF as data format?

RDF is designed to represent knowledge in a distributed world. It was originally designed to support the exchange of knowledge on the Web. RDF represents data and the semantics of these data in a single unit. Systems that adhere to the RDF Standards allow logical inferences between facts and allow querying for facts in a large datasets of RDF knowledge.

The very generic data model - as compared to, e.g., various data base dialects - makes RDF the ideal data format for integrating data from different sources without custom programming, for offering data to other parties, and for decentralizing data in a way where no single party "owns" all the data.

In TripCom the use of RDF is essential since TripCom is meant to be an information sharing platform on a Web scale without any prior agreement between information publishers and information consumers.

 


[1] Frank Leymann, Space-based Computing and Semantics: A Web Service Purist's Point-Of-View, Universitat Stuttgart, Fakultat Informatik, Elektrotechnik und Informationstechnik, Fakultatsbericht Nr. 2006/05, TR-2006-05

[2] Omair Shafiq, Reto Krummenacher, Francisco Martin-Recuerda, Ying Ding, Dieter Fensel, Triple Space Computing middleware for Semantic Web Services, The 2006 Middleware for Web Services (MWS 2006) Workshop at 10th IEEE International Enterprise Computing Conference (EDOC 2006), 16-20 October 2006, Hong Kong.

[3] http://www.w3.org/TR/2002/WD-ws-arch-20021114/

[4] S. Weerawarana, F. Curbera, F. Leymann, T. Storey, and D. F. Ferguson. Web Services Platform Architecture. Prentice Hall PTR, 2005.

[5] Chappell, D.A., Enterprise Service Bus, O'Reilly, 2004

[6] Gelernter, D., Generative communication in Linda, ACM Transactions on Programming Languages and Systems, p80-112, 1985

[7] Davide Cerri, Emanuele Della Valle, David De Francisco Marcos, Fausto Giunchiglia, Dalit Naor, Lyndon Nixon, Dietrich Rebholz-Schuhmann, Reto Krummenacher, and Elena Simperl: Towards Knowledge in the Cloud. International Workshop On Semantic Extensions to Middleware: Enabling Large Scale Knowledge Applications (OTM), Monterrey, Mexico, Nov 2008.

 

tripcom tripcom tripcom tripcom
tripcom (c) 2006 by TripCom - Contact
EC 6th Framework Programme, Information Society Technologies (IST)
project number: IST-4-027324-STP
tripcom