thanx, it indeed can replace DRbUndumped, but with the same consequence: it is still a pass-by-reference thing, which is rather dangerous to be used when working with tuplespace's read operation. consider this, what if two clients read the same object written by some server, and one of the client modifies the object (hoping it would only change his "copy of object"). using DRbUndumped or this alternative marshalling is a bad method, since the object would still appear changed on both clients. what i really need is a pass-by-value marshalling so that the one written into the space is actually the copy of the real object, and not the reference to it. can anyone help me? i believe the drawback of having the client to own physical copy of the object's class (i.e. the object's source code) is not something to be worried about. or is there any other disadvantage of using pass-by-value compared to using pass-by-reference, maybe speed / execution time? i currently combine Rinda::TupleSpace and Rinda::Ring instead of putting the tuplespace as a DRbServer's front object, trying to make the whole thing works like jini -- Posted via http://www.ruby-forum.com/.