[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Persistant CLOS Object Store



We are developing a distributed system that runs on Sparc stations under
 OpenWindows
(SunOS 4.1.1) running Allegro Common Lisp (version 4.0.1).
This distributed system allows a number of users to log into their SUN sparc
stations, run Common Windows and send textual "messages" to each other over the
network, effectively like a mail system. Each message that each user sends is
packaged up and a CLOS object is constructed for it
which has the text of the message as one of its attributes.
Each message (CLOS object) that is sent by every user is forwarded to a
central mailer daemon (a running LISP process on a seprate machine). This then
redirects the message (CLOS object) to the intended recipient. (See diagram
below)

The mailer daemon is required to store every message (CLOS object) to disk.
The mailer will be shut down from time to time, i.e. the Lisp image which runs
the mailer daemon will be quit. When the mailer daemon starts up at a future
date I wish to read into the Lisp image some of the messages (CLOS objects) from
disk. The disk will act as a persistant store for all message over time.



		   	       (central mailer daemon is running
	   	     		on a seperate machine on the network)
	       		               
       ______network________   ________|________
      /			    \ |			|
user1 <---------------------> |			|
			      |			|
user2 <---------------------> |  CENTRAL MAILER	|------>  DISK
			      |      DAEMON	|
user3 <---------------------> |			|
	                      |			|
			       -----------------

The problem is how to store the CLOS objects so that they are persistant
over time and such that they can be read back into a lisp image.
Any suggestions would be greatly appreciated.


--
Regards,
Paul

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Paul Dongha,                  Email: dongha@sna.co.umist.ac.uk
 Dept of Computation,
 U.M.I.S.T, Manchester,        Tel: (44) 61-200-3361
 P.O. Box 88, England.         Fax: (44) 61-228-7386
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%