Monitor Bot Design

This is a project to allow the control and use of invisable "monitor bot"s within Second Life.

The project will have 5 major components:

1. Monitor bots within SL. These invisable bot can be created and assigned a UUID to follow. They will sit idle until the target appears, at which time the bot will follow them, recording all chat content they and anyone in range of them enters. If the target leaves, the bots with sit idle until the target returns. The bots can also be sent a message to terminate operatations. All chat information will be send directly the data collection agent (Java program) for storage, and then forgotten locally.

2. Over Mind within SL. This will have the job of creating, starting and stoping monitor bots. It will maintain a list of UUID's to monitor, and associated CID's of monitors bots monitoring this UUIDS. It will query the Java Monitor Control program once a minute, asking for the current list of UIID's to monitor. It will take this list and compare it own list . From this is will do the following:

  • If a monitor bot is already in the local list (and thus running), it will allow the monitor bot to keep monitoring this UUID.
  • If a new UUID is recieved, it will create and start a new monitor bot to monitor this UUID.
  • If a UUID is being monitored, but is NOT in this lis, it will kill the associated montior bot, and remove it from it's local list of monitors UUID's.
In additon, it a monitor bot disappears, but it is still i nthe monitor list, it will restart it.

3. A data collection agent running on a server (Java). This program (written in Java) will run continuously, waiting for messages from monitor bots. The messages will contain the following fields:

  • TargetUUID - Varchar(36) - uuid of the target being followed
  • MessageUUID - Varchar(36) - uuid of the chating avatar (may be the same as the TargetUUID )
  • MessTimeStamp - Timestamp - time of the message.
  • TargetX, TargetY, TargetZ - INT(4) - position of the Target. (Skip for now)
  • CID - Varchar(36) - Id of the monitor bot
Theis data will all be written to the YFC mySQL database as records in the Comm table.

This will have it's own TCP port.

4. A Monitor control program running on the server (Java)

This is respond to requests from the Over Mind with a list of UUID's that are currently in the Monitored table in the YFC Database.

This will have it's own TCP port.

5. A web based control and monitor application. The program (written in PHP) will allow the user to do the following operations:

  • View a list of past and current visitors to the island
  • Select vistors of for monitoring. This will place an entry in a Database Table Monitored, with the following fields:
    • TargetUUID - Varchar(36) - Avatar to be followed
  • Start the monitoring process. Once an avatar has been selected for monitoring, the system will send a message to a the Monitor control bot, which will start the monitoring activity.
  • View a list currently monitored UUIDs.
  • Stop a monitor in the list monitored UUID's.
  • View all messages related to a given target UUID, in time order.

This topic: Main > WebHome > OpenSimulatorProject > MonitorBotDesign
Topic revision: r3 - 2011-06-30 - JimSkon
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback