Re: entry ordering for blackboard-style communication?

Shay Hassidim <[email protected]>
Newsgroups gmane.comp.java.sun.javaspaces
Message-ID <[email protected]>
Sam,
Any chance this is what you are looking for:
Take operation based on write order (FIFO):
http://www.gigaspaces.com/docs/doc/FIFO.htm - See EAG 4. 1 example:
\GigaSpaces4.1\examples\Getting_Started\fifo

Notification based on write order (FIFO):
http://www.gigaspaces.com/docs/doc/notifications_intro.htm - See EAG 4. 1
example:
\GigaSpaces4.1\examples\Getting_Started\notify

Please note GigaSpaces provide ability to perform also read and take with
SQL capabilities:
http://www.gigaspaces.com/docs/doc/Querying_the_Space.htm

You will see that most of the options you got as part of T Spaces exists
also with GigaSpaces.

Best Regards,
        Shay
----------------------------------------------------
Shay Hassidim
Product Manager, GigaSpaces Technologies
Website: www.gigaspaces.com



-----Original Message-----
From: Sam Preston [mailto:[email protected]]
Sent: Saturday, December 03, 2005 12:52 AM
To: [email protected]
Subject: Re: entry ordering for blackboard-style communication?

Dan,

I should explain in a bit more detail:

The paper I referenced above was for an event framework for
coordinating applications and devices in an 'interactive workspace',
basically a room with lots of input devices, sensors, computers, and
displays which can be used by applications in a fairly free-form way.

My problem is very similar.  I have multiple devices I'm working with
(video feeds, microphones, trackers, etc., as well as multiple
programs trying to coordinate data), and most of the work I do is at a
prototype level (applications are buggy, and configurations change
constantly).

I'm working on a very general communication architecture to replace a
whole lot of socket connections I currently have coordinating all of
this.  The reason for this would be to 'decouple' the applications so
that the whole system was more failure tolerant, as well as allowing
applications to find each other based on the data they produce and
consume, instead of the IP address of a specific machine.

The original implementation of this model from the paper above was
built on top of T Spaces, which was replaced in a later version by a
custom java tuplespace-like implementation.  I know T Spaces allowed
for more general matching criteria, which made the ordering
requirement much simpler.  I wanted to use JavaSpaces if possible,
however, as it has an open implementation and an active user
community, as well as being integrated with the rest of the Jini
architecture.

Because this communication architecture is meant to be used by many
diverse applications, I don't want to impose any restrictions on the
type of entries that can be written to the space.  I had planned on
writing a service that 'wrapped' a javaspace, and the only restriction
on the entries is that they must extend a base class I was going to
provide which would add some standard fields (producer ID, and
whatever I needed to facilitate ordering).  However, as I said, I've
been having trouble coming up with a solution.

To answer your questions directly:

>
> (1)     How timely does "delivery" of these events need to be from a
> client's perspective?
>

I do have data that needs to be delivered quite quickly, such as data
from trackers, as well as far less frequent events--commands from
users, application heartbeats, etc.  I would like the best performance
possible, but at the moment I just want to see how feasible this model
is.

> (2)     How many different fields do you think you might be matching on?
>

As I said, I'd like to leave this up to the individual applications,
but in general not too many--mostly just matching class types, as well
as matching on producer ID or something similar.  However, the types
of data transmitted will vary widely, from sensor data to user
commands to transferring serialized objects between applications.

> (3)     How much variation are you expecting in the values of those
fields?
>

Once again, I'd like not to make too many assumptions about how this
will be used, but probably a lot.

> (4)     Does a consumer have interest in particular producers or just some
> types of event in general or both?
>

Both, in general a consumer will just be looking for relevant data,
but it should be able to specify a particular producer to receive
from.

Thanks for the help -- hopefully this clarifies my requirements a bit,
but feel free to ask any questions you have.

Also, Lutz-

I haven't purchased that book yet, I was hoping to get a better idea
of the possibility of what I wanted to do before I proceed.  However,
if you think what I'm proposing is possible (and that using JavaSpaces
is the best approach), then I'll certainly be ordering a copy.

Thanks again,

-Sam

--
--------------------
J. Samuel Preston
Research Associate
Center for Advanced Engineering Environments
Old Dominion University Research Foundation

===========================================================================
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff JAVASPACES-USERS".  For general help, send email to
[email protected] and include in the body of the message "help".

To view past JAVASPACES-USERS postings, please see:
http://archives.java.sun.com/archives/javaspaces-users.html

===========================================================================
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff JAVASPACES-USERS".  For general help, send email to
[email protected] and include in the body of the message "help".

To view past JAVASPACES-USERS postings, please see:
http://archives.java.sun.com/archives/javaspaces-users.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.