Friday, July 16, 2010

Develop Peer to Peer Java applicaions using BISSA Tuple Space

This Screen cast shows you how to develop peer 2 peer Java applicaions using BISSA Tuple Space java middleware library

Thursday, July 1, 2010

BISSA - Introductory video

BISSA introductory video that gives you a very high level overview of BISSA and its features.

Friday, June 4, 2010

Using the BISSA console


Hi all! In this article we are going to demonstrate how to use the BISSA console for basic operations. As you know, Bissa is a distributed tuple space implementation, ie, a shared memory implementation that uses only tuples. You can read a little bit more about our implementation in our article "Bissa Shaping Up".
Bissa has three basic operations used to manipulate tuples in the space, write, read and take. The write operation allows you to write tuples to the space, the read operation allows to read tuples from the space and the take operation allows you to take tuples, ie read and remove tuples from the space. Using the BISSA console you can try these operations and test BISSA global space on your network.

Starting BISSA from scratch

To start BISSA where there is no other node available you need to bootstrap the first node. For this simply go to the configuration tab in the console and make sure the local and remote ip and ports are the same and click on "start".
Once BISSA is successfully started you will see the message "BISSA started" on the console.



Adding another node to the space


To add another node to the space you need to know the ip and port of an operating BISSA node. Add those details as the remote computer in the configuration tab and start the node.
Alternatively you can start a second process in the same machine. Here only the port changes between the local and remote computer, but make sure you set the setting "allow_loopback" to "true" in the freepastry.params file.
We have shown below how a second node is added to the earlier bootstrapped node.



Basic operations on BISSA

Write
once you've set up the space by starting BISSA on one or more nodes you can write tuples to it. To write a tuple simply write the elements separated by a comma in the space given under "write operation".


Read and Take
To read a tuple from the space you need to enter the tuple template you are interested in. For example, to retrive the earlier written tuple you can request a tuple with a template "hello,???" or any combination with one or more known elements. If a tuple is successfully read or taken it will be indicated in the BISSA console as given below.


That explains how to use the basic BISSA console. Hopefully, after playing around with it you will be inspired to develop an exciting application based on our implementation. (do let us know about it!)


Monday, May 31, 2010

Bissa Screen cast

In this screen cast we present a possible use case of a BISSA in-browser tuple space. We are showing how it can be used as a pub/sub infrastructure for browser gadgets.

Sunday, May 16, 2010

Bissa Shaping Up

Its been almost a year we started discussing on a final year research project which was a requirement for the the completion of degree program of BSc(Eng) Hons University of Moratuwa. as our research been success and having a quite stable implementation at hand with amazing test results to prove our research i think its time to start taking about the work we have done.

Research was to implement a highly scalable model of tuple space implementation which can span across multiple environments ultimately giving a unified slandered easy to program communication infrastructure.In the current implementation "BISSA" we have implemented a highly scalable tuple space model that can span from browser applications to java applications.

Tuple space can be thought of as a shared space of tuples, where tuples can be put to the space, read from space and deleted from the space. The tuple space model provides a convenient programming model for communication between applications, compared to the general message passing models. In Message passing models, parties that communicate with each other have to be alive at the same time. The advantage of tuple space communication is that the parties that communicate using the tuple space need not to be available at the same time to engage in the communication. Furthermore the processes can coexist in space/network without knowing each others existence. These two factors sum up to making tuple space model time and space decoupled; a feature very few parallel/distributed processing architectures possess.
Our current implementation have a java script base in browser tuple space where it can be used to communicate between java script applications in a same page of a browser or between tabs.And also its exposed as a shindig feature where shindig is a gadget container.So the gadget programmers can use this feature as a inter gadget communication infrastructure. BISSA also consists of a peer to peer Tuple space for java applications. Peer 2 peer Tuple space can act as a Server for the browser space so that at the end of the day we have a tuple space that can span from browsers to java applications. In bissa peer to peer space java applications can use it as a library and join the space and use it. Every application will be contributing the the space and for them tuple space is viewed as a single space.
following are the main api features we give to the developers as tuple space operations.
  • write operation - write tuples to the tuple space
  • read operation - given a tuple template read the tuples from the space. We have both asynchronous and synchronous read operations.
  • take operation - this will delete tuple/s and give them to the user.
  • pub-sub mechanism - users can subscribe for tuple templates so that system will notify when a tuple matches to that template added to the system.
BISSA comes with several sample applications to show the users the example use cases.
Following is the screen-shot of simple console we have given to demonstrate the operations of the peer to peer space


BISSA team will announce its release soon.