1. A system providing persistent capabilities for distributed systems, comprising: a plurality of processes; programs executing in at least a subset of said processes; objects allocated in said subset of said processes; communications channels between those of said plurality of processes that are in communication; a pair of transports allocated to each pair of said processes for which inter-process communications are available, wherein a first transport of the pair of transports is located in a first process of the pair of processes and a second transport of the pair of transports is located in a second process of the pair of processes, each transport including: an in-table with indexed in-table slots; an out-table with indexed out-table slots; and a data structure for storing an encryption key, agreed upon with the other transport of the pair of transport; respective ones of said out-table slots of the first transport of said pair of transports and said in-table slots of the second transport of said pair of transports being linked; a plurality of proxies, each resident in a respective one of the processes and linked to a respective object that is resident in a different process via one of said linked slots, said proxies and pairs of transports enabling a first object in a first process to communicate transparently with a second object in a second process via a corresponding proxy in said first process linked to said second object; wherein the communications between the first and second objects are communications encrypted using the encryption key stored in the pair of transports allocated to the pair of processes comprising the first and second processes; said programs being configured, upon detecting a problem communicating with any of said remote processes via said communications channels, to disable the proxies of said plurality proxies that are no longer able to communicate with their respective objects due to the communication problem and to delete the encryption key stored in each pair of the transports corresponding to the disabled proxies and their respective objects, and when said communications problem is remedied so that communications with said affected remote processes are restored, to revive said disabled proxies and to establish and store a new encryption key in each of the corresponding pairs of transports.