[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [koi-dev] Greetings

richard:

At 06:14 PM 4/7/2003, Richard Gray wrote:
Im interested in a couple of things -

Instant messaging
are the other solutions better than anything koi could produce?

        Actually, I think there is but I don't know if they could be done easier than in Koi. Blue-skying it here I see that Koi gives you two ways to approach IM.

        First, you could have a central Koi Server mediating the conversation. This would be sort of a store and forward IM but still quick enough. Each participant would send their message to the Koi Server. It would store them for retrieval by the other participants who would be on a tight polling loop looking for messages. Not peer to peer but the central server could also act as the "address book" for finding other users to converse with. I'm envisioning that each conversation would have some sort of unique name enabling news user to join it easily. This may be more secure than P2P because no participant has to open their machine for direct access. And the server could munge the messages in meaningful ways before passing them on. Imagine a BabelFish <http://babelfish.altavista.com> interface. I type a message in English and send it on. The server notices that Francois wants to read the message in French. A quick trip to the fish to translate the message and, voila!, when Francois checks he gets a poor but readable translation. What other IM service provides that functionality?

        Second, you can do P2P with Koi. As you allude to below it's possible to have both the Koi client and server in the same Eclipse workbench. However you get the addresses of the participants (and a central Koi server could be used) your IM client would directly send the messages there by changing the Koi Server connection on the fly. And your workbench is a server as well, filling in the chat window as messages come in.

Now, Im a 3rd year CS student, and havent actually studied networking as a module, so i may be about to suggest something that already exists, but ....

        Hey, nothing wrong with reinventing the wheel. That's how tank treads came about...

What about a system where each instance of eclipse operated as both a client and a server, maintaining a list of who is 'boss' - The boss being the instance that is currently behaving as the server.

There must be some way of dynamically controlling bosses within a group, could be implemented initally as a kind of 'ops and users', but then changed to allow the net to reassign boss if clients were lost.

This system would probably require some kind of 'sync ing' whenever new users joined the net, to ensure all files are identical. then if changes are made to the files only the patches need to be sent across the network.

        This actually sounds a lot like the way the Windows servers in a domain decide who's domain master. I don't know a lot about that but there is arbitration going on. In fact, I think you'll find that such arbitration is a fact of life in many distributed systems. I don't know of any papers to point you to off-hand but you're in school. That's what professors are for, eh? 80)

to'c

---
Consider the master's description
of awakened existence, how seemingly simple:
Hungry, I eat; sleepy, I sleep.
Is this choosing completely, or not at all?

In either case, everything seem to conspire against it.
                                        - Jane Hirshfield