Re: entry ordering for blackboard-style communication?
Sam Preston <[email protected]>
| Newsgroups | gmane.comp.java.sun.javaspaces |
|---|---|
| Message-ID | <[email protected]> |
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