[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: BotTalk


On Fri, 21 Jan 2000, root wrote:
> Bot networks should be grouped into an AS(autonomus system).
> Auth info may or may not be required.
> Each bot holds a status table, consisting of the name of the each member
> in the AS, ID#, Ping time, and LastSpoken time.
> This Status. Table serves as the routing table for the AS.
> The first issue, is the glue that makes up the AS. How the entities
> exchange status infomation in a sane way. I prefer learning most 
> info passively, and when circumstance require actively.
> When a bot connects, it's gets a copy of a status table, then says hello
> to everybody. When it says hello to everyone, and everyone says hi back.
> It remembers how long it took. Now, everyone has a clear picture of the
> AS. Now lets Chat!
> One to one message types are obviously one to one.
> General queries should broadcast, because it saves time, and it
> saves bandwidth. If you go with a token model, you need to have ACKS to
> ensure continuity.  

I don't think we want to get into ACKs.  I would vote for the UDP theory
since it's essentially asynchronous communication.  Send out a request and
move on, wait for, or process the next event.  If you get a response(s),
great, deal with it, if not, you've already moved on anyway, but perhaps
come back to acknowledge the original request with "I dunno".  It might be
different if we're talking threads... But UDP would be less overhead

> Token messages should be used for HELLO type messages, and other status
> messages. The protocol goes like so, the originator sends out the token 
> to it's speediest friend. He looks at it, adds his name, and sends it to
> his speediest friend. If his friend doesn't answer he drops his friends
> name from his table and sends a CHECK{FRIEND} token out. He sends the
> original token on it's merry way, minus his sleeping friend. If somebody
> notices a name that they don't have, he requests this unknown guy to
> re-authenticate to everyone using his table.. This uses the same method
> used when a new bot connects. When it gets to the last friend, he 
> realizes this because the token has everyone else in it, he adds himself
> and sends it to the originator. This one token has threaded out to other
> tokens and synchronized the
> status table. Tokens require ack and should be used sparingly.

Yeah, I could see this kind of thing for initializing interbot
communication... but I'm not quite kosher with the notion of tokens,
unfortunately we'd probably want to 'sign' each message for verification,
thus just blast what ya got out there.

> Thats basically what I think, any suggestions?

Yeah, sign your email and use something other than "root" to send email ;)