IBM Skip to main content ShopIBM Support Downloads
IBM Home Products Consulting Industries News About IBM


  Computer Science  
    Research activities  
    Papers & presentations  
    Developer resources  
    Project members  
   Related links:  
    Almaden Research  
    CS Research  
   IBM Research  

TSpaces - Intelligent Connectionware

Frequently asked questions
  TSpaces is the support for software communication, like a brigde, it connects business in the information highway
General questions
  • Anyone using TSpaces commercially?
  • How does TSpaces relate to Jini?
  • How does TSpaces relate to JavaSpaces?
  • Has TSpaces been integrated with a database?
  • What documentation is available?

Known Problems and Problem Reporting
  • What are the known problems with Version 2.1.2?
  • Service Pack 2
  • What are the known problems with the TSpaces Services Suite version 1.2?
  • How do I report problems in using TSpaces for my application?

General technical questions
  • Does TSpace use reliable multicast or a socket connection for each client?
  • I would like to use a stripped-down version of TSpaces that offers just the core functionality of tuplespace systems a la Linda, i.e., no client-server access, no event service, no security, no transactions. Is that possible?
  • Will TSpaces work on all Java platforms?
  • Can I use TSpaces across a firewall?
  • How may I backup the data in a TSpaces server?
  • Are the TSpaces versions compatible?
  • I've been throwing objects into a space to see how it performs and I'm seeing it get out of memory exceptions when it hits Y MB though I have 10*Y MB of RAM. What should I do?
  • Would it potentially be better to split the unrelated spaces into separate servers to improve performance?
  • Can I write/read/take complicated objects using TSpaces, or if it is limited to simple tuples?
  • Does TSpaces support the concept of lease?
  • Is there any kind of offline TSpaces store support?
  • Can I write a C++ client that would talk to TSpaces server?
  • How to create my own handlers?
  • Can I rely on TSpaces (with persistence activated) to store my persistent information.
  • Is TSpaces expected to be faster than Javaspace in remote accesses?
  • Is there any performance measure for TSpaces?

Installation and setup
  • After installing TSpaces on Windows, I am unable to start TSpaces with the supplied bin\tspaces.bat file. What's wrong?
  • I am getting the following message when I start a sample client:
    TSCmdSocketImpl: Unable to access Host: localhost; Port: 8200
  • I am getting the following exception when I run the examples or my own application.
    TupleSpaceServerException: ClassNotFound Exception: SomeClassName
  • I cannot run Example 5. What should I do?
  • Problems with checkpointing and UNIX file permissions.

Client programming
  • How do I define a tuple in TSpaces?
  • Is there any way I can guarantee the order of the Tuples taken is the same as the order of the Tuples written?
  • Is there anything inherent in the tuplespace philosophy that prevents subsequent "reads" from reading the same record over and over?
  • Is there any limit for tuple size?
  • My client is hanging in the Event Register callback. Why?
  • What are the guidelines for EventRegister and the related callback methods?
  • I would like to selectively disconnect only one tuplespace of a given TSpaces server. What should I do?
  • If the TupleSpace object represents a "connection" to the remote server, then anything related with it should disappear when this object gets garbage collected (including the events registered). Is this true?
  • Is there any way to override the implementation of the connection object used by TSpaces? Perhaps to add SSL support
  • Is there a way to remove the named tuplespace from the server, even when other clients may still be connected to it?
  • Can a client be notified when TSpaces server goes down?
  • Can the client schedule the server shutdown?
  • How long does the shutdown process take?
  • When I issue a shutdown() or exit() command on the server and then restart it, the client won't reconnect to it. What's wrong?
  • How does TSpaces determines matches?
  • Is the matching done on server-side or on client side?
  • Is there an efficient way to do a blocking read of tuples matching a template that will only read each tuple one time?
  • Can multiple transactions within a single space overlap in time?
  • What exactly are the semantics of a transaction if a client drops out before calling commitTrans? Is there a timeout after which the transaction is rolled back? If so, can I set the timeout?
  • Is it possible to have a single transaction on multiple tuplespaces?
  • Can I put large files on the server as a tuple?
  • How can I specify that I want files to be retained indefinitely when I use URLCopy?
  • If I take the tuple that refers to the file and fail to call URLCopy.copyToLocal(String, false) on it, does the file just remain or is it garbage collected at some point?
  • How do I handle object references across TupleSpaces?
  • Is there a way to scan the space for all tuples newer than a given timestamp that match a specified template?
  • Is there a way to read all the Tuple and SubClassableTuple object at once?
  • I'm looking for an efficient way to do a blocking read of tuples matching a template that will only read each tuple one time.
  • How are queries evaluated in TSpaces?
  • I'm trying to add a "watching" thread to the worker class (in the TSpaces examples) that waits for "poison pills" to be written to a space, and terminates the worker when it eats one. Has anyone written this sort of thing yet?
  • How can I specify that Tuples should expire after some time.
  • I want to know for how long time a certain tuple has existed in a tuplespace. The timestamp gives you the time when the Tuple was posted, but how do you get time the tuple was read (i.e. the current server time)?
  • TSpaces doesn't issue an event callback when a tuple expires. Are there any workarounds to this behavior?
  • Will I experience any problems storing an array of bytes (byte[]) in my tuple?
  • I use subTuple=new Tuple("SequenceNum", new Integer(sequenceNumber)) to create a new tuple with a single field named "SequenceNum" of type Integer, however it doesn't work. What's wrong?

Server operation
  • After stopping the server in a less-than-nice manner (end task from windows) and trying to restart it, the error message told me that the space has been damaged and I need to restart with the "-b" option that would clear the information and start a fresh space. The problem is that I am using the space for both transient and persistent information, which I would not like to loose. What should I do?
  • Is there a way to shutdown TSpaces through the Web interface?
  • How can I control the expiration of tuples?
  • What is the official way to disable the Expire-Manager?
  • What is reported in the TSServer.status() method?
  • What are the meanings of the different checkpoint/file config options and how would you suggest setting them?
  • Server hangs on Sun Solaris 2.6?

Security issues
  • What security support do you have? Do you have support for users, groups, and passwords?
  • I've written a class that starts a TSpaces server, but it seems that the files acldb.ser and passwd.ser get created in my current directory whenever it starts a server. How do I describe where to put these files?
  • How do I setup who is the admin for all the spaces on the TSpaces server?
  • I want only the administrator to be able to create spaces, what do I have to do?
  • How do I create users on the fly?
  • Is there a way to choose separately if you want to restore the user and group-information?
  • I want to implement a mechanism to contact the space-admin application to create an account.
  • When I start a tuplespace in a client, if the named tuplespace does not exist on the server it is created. Is there a way to request this not happen?
  • In my application a client can access the server (which is admin of the space) via HTTP and I don't want to send the password as a string.
  • When you connect to a space from a client you are associated with your login for all further sessions. How do I disconnect as a user and reconnect as another one in the same running code?

  • I cannot get the following code to work (the server does not parse the XML). What's wrong?
  • Can you modify part of the DOM Tuple(s) once it's been entered as a complete document?
  • How an XML document is saved?
  • Can I query the TSpaces server for nodes in the DOM tree?
  • I can compile the file but whenever I run it I get many errors. What's wrong?
  • I would like to use eventRegister() for an XMLQuery object. What should I do?

PDA support
  • Where can I find information about TSpaces support for Palm?
  • Do you need KVM or other VM like Waba with TSpaces on the Palm?
  • Could I write an application that runs under KVM or Waba and takes a tuple from a TSpaces server via a MoDAL application and writes a record to a database on the Palm?




Developer resources
Mailing list
Programmers guide

Download TSpaces


If you have any feedback or questions, respond to



Privacy Legal Contact  

General questions

Back to top

Known Problems and Problem Reporting

Back to top

General technical questions

Back to top

Installation and setup

Back to top

Client programming

Back to top

Server operation

Back to top

Security Issues

Back to top


Back to top

PDA support

Back to top