Main Page   Modules   Data Structures   File List   Globals  

SUMA : Symmetrically United Machines Architecture (for P2P applications)

0.1.2

Summary Requirements Installation Running Status Documents Thanks Copyright

suma-1.jpg

Summary

SUMA (symmetrically united machines architecture) is a core communication engine which is embedded in applications to construct a huge network of computers which is suitable to run P2P applications.

SUMA also includes APIs (in C language) to write P2P applications easily on both w*ndows and linux.

fig.jpg

SUMA's core comunication engine is designed for so-called 'pure p2p' which does not need any centralized servers.

SUMA library (sumalib.a/sumalib.lib) contains APIs below:

With some of these APIs, you can write a talk-routine of Instant Messanger like this:

        static void talk(char *friend_name, char *uuid, char *msg)
        {
          p2p_channel_t *chann;
          char *friend_name, *uuid;
          char buf[2048];

          chann = p2p_create_unicast_channel(IM_PORT, uuid);
          sprintf(buf, "talk %s %s %s", myname, friend_name, rest);
          p2p_write(chann, buf, strlen(buf) + 1);
          p2p_close_channel(chann);
        }

Please see more detail in src/c-sample/im.c.

As one of libraries, we are planning to develop the APIs to a distributed file system which involves the Block Managers on each suma nodes. The Block Manager will be implemented as a basic application of suma core APIs. With this distributed file system (suma file system), you will be able to implement BBS, Schedule Management System and/or other groupware applications.

Possible SUMA applications other than Instant Messanger are listed below:

You can implement other language bindings than C. We include Tix (kind of Tcl/Tk) language binding and a sample implementation of Instant Messanger in Tix in this distribution.

SUMA is also available from SourceForge (http://www.sourceforge.net/projects/suma/). This is work in progress.

One of our contributor Sunnet Inc. has a plan to derive a product version of SUMA which has more secure communication core and rich tools for application development.

Requirements

Platforms

SUMA was successfully compiled and run on the following platforms :

Software

The following softwares are needed to generate SUMA:

if you want to develop SUMA with us, you will also need:

Installation

Building from source tarballs on Linux

Download tarball from SourceForge:

you need softwares below:

currently, no configure(.in).

'cd' to top directory.

type 'make all'.

if you installed openssl other directory than /usr or /usr/local/ssl, you have to adjust Makefiles below:

Building from source tarballs on Linux

Download zip file from SourceForge:

< installation of apr,apr-util and apr-iconv >

< installation of perl >

in order to build openssl on win32, you are required to build perl. you cannot use perl on cygwin.

< installation of openssl >

< building sumalib.a >

< building c-sample >

< building tix >

< SUMA simulator >

Binary distribution for Windows

this is the binary distribution of our sample implementation of Instant Messanger in Tix in which we embedded SUMA library.

Download installer (exe file) from SourceForge:

install and double-click setup.exe which will be newly created on your desktop.

Running

Running Sample (Simple) Instant Messanger

screenshot001.jpg

Customizing Sample (Simple) Instant Messanger

Status

SUMA is in a very early stage of development. No security, no robustness, many bugs and unstable. Do not use this for serious purpose.

Documents

Currently, no documents which we encourage you to read. Some fragments exist in /doc in Japanese only.

Thanks

thanks to all developpers of great softwares which we are using to develop and to run SUMA.

Copyright

All software in this package is Copyright 2002 Masao Onishi <masatchi@alto.ocn.ne.jp> and is distributed under the GPL License. See the COPYING file for full legal details.

SourceForge Logo

suma-5.jpg


Generated on Wed Aug 28 14:45:08 2002 for suma by doxygen1.2.17