Home / Architecture / Protocol

TinyTM - Protocol

The protocol is the core of TinyTM. The protocol sits between the clients and the server and defines a common language for all participating applications.

A Simple Example

TinyTM V0.1 uses plain SQL in order to access the server-side data. The following code shows how to retreive a list of fuzzy matches from the TinyTM-Server:


SELECT *
FROM tinytm_get_fuzzy_matches(
	'en', 'de', 
	'THE EUROPEAN ECONOMIC COMMUNITY', 
	'', ''
);

So retreiving fuzzy matches is not precisely rocket science as you can see. We have taken great care when designing TinyTM to keep access to the TinyTM server as simple as possible.

The following lines represent the result that comes back from the database as a reply to the initial "tinytm_get_fuzzy_matches" request.

You can see that the TinyTM server returns a list of (original) source segments, plus their matching score and their translation.


 score |              source_text               |                     target_text
-------+----------------------------------------+-----------------------------------------------------
  96.9 | THE EUROPEAN ECONOMIC COMMUNITY,       | DIE EUROPAEISCHE ATOMGEMEINSCHAFT:
  96.9 | THE EUROPEAN ECONOMIC COMMUNITY,       | DIE EUROPAEISCHE GEMEINSCHAFT:
  62.5 | THE EUROPEAN ATOMIC ENERGY COMMUNITY:  | DIE EUROPAEISCHE ATOMGEMEINSCHAFT:
  59.4 | THE EUROPEAN COAL AND STEEL COMMUNITY: | DIE EUROPAEISCHE GEMEINSCHAFT FUER KOHLE UND STAHL:
(4 rows)


Protocol Layers

Looking one step deeper into the The TinyTM protocol, we can identify two different "layers":

Functional Protocol V0.1 Calls

The TinyTM protocol V0.1 consists of the following main calls:

Other Functional Protocol V0.1 Elements

For Protocol V0.1 we have decided to skip additional API calls for auxilary tables such as languages, groups, segment types etc. Instead, the following tables are readable for the client:

We will replace the direct access to these tables in the next Protocol version by a number of Pl/SQL API calls.