Steve, This may be a naive question, but have you considered using Skype as a P2P mechanism?
The Skype User Agent (UA) software has been downloaded 100's of millions of times and the average number of users on-line at any given time is in the 8-11 million range. Skype publishes a (free) API specification for the UA which includes their very powerful and user-friendly chat system. This system can be used to host both group and public chats and also to upload/download any type of file (typical uneven P2P file transfer rates, but it's very reliable and accessible via the UA API). There are API's for Win32, Linux and Macintosh. There is also, if memory serves, a Java-based API that should run on any platform that has a JRE (although, the UA API is a text-based, message-passing API and is, thus, only platform dependent at what Skype calls the "Communications Layer"). And I notice just now, there's a new Python wrapper for the API (again, available on any platform that can host the Python run-time -- which list includes the usual suspects). There can be multiple programs (Texai agents?) concomitantly using the single Skype UA via the API on a single machine. Anyhow, you get a very powerful VOIP/text chat P2P user agent for free. You don't need to (can't, in fact) host the UA download site. You just put a Skype graphic on your site that points to the Skype-hosted download site. Check out Skype's developer site: https://developer.skype.com/. Cheers, Brad P.S. The Texai server(s) could just be a Skype UA, with its own Skype username. You could wrap any text-based application-layer protocol you'd want to inside the Skype chat protocol. I can't recall if there is a limit to how many users can be involved in a group or public chat session. I don't think there is any limit. ----- Original Message ----- From: Stephen Reed To: agi@v2.listbox.com Sent: Tuesday, May 06, 2008 1:04 PM Subject: Re: [agi] organising parallel processes Hi YKY, You said: The distributive agents would be owned by different people on the net, who would want their agents to do different things for them. This occurs simultaneously. We need to distinguish 2 situations: A) where all the agents cooperate to solve ONE problem B) where agents are solving their own problems Your scheme would be useful for A. But it seems that most AGI users would want B. Which problem do you intend to solve? In case B, your scheme would add a lot of complications and whether it'd be beneficial or not is rather unclear. I believe the opposite of what you say I hope that my following explanation will help converge our thinking. Let me first emphasize that I plan a vast multitude of specialized agencies, in which each agency has a particular mission. This pattern is adopted from human agencies. For example, an human advertising agency has as its mission the preparation of advertising media for its customers. Agents, who are governed by the agency, fulfill its mission by carrying out commanded tasks, responding to perceived events, reporting to superiors and controlling subordinates. In the Texai organization I envisage, it would never be the case that all agents or agencies try to solve the same problem - not (A) above. Rather, if a problem arose that is both urgent and sufficiently important, then the agency capable of solving that problem would commandeer the computing resources of other, lower priority, agencies. This is analogous to a natural disaster affecting a human organization - in a flood, everyone changes roles to move materials above the water line. In my plan for Texai, the agents could cooperate together only to the extent that the problem to be solved could be decomposed to match the capabilities of particular agencies. Agents lacking the capability to help out would be omitted from that job. From the standpoint of AGI users, a Texai agent exists for each specialized role (i.e. interest, activity-type) that the user wants - (B) above. My current thinking is to a first provide an instant-message chatbot that intelligent acquires knowledge and skills. The user would only require an instant messaging client, (e.g. text messaging on a cellphone, Google Chat, Yahoo Chat, IRC, AIM, email, etc.). The user would name one or more Texai chatbots and assign them roles (i.e. sports buddy, family buddy, work buddy, cooking buddy, financial buddy, product adviser buddy, matchmaker buddy, etc. ). The required servers would, at the kickoff, be supplied by me. Users would be offered a higher level of benefit if they agree to download a Texai instance, and to leave it running as much as possible, connected to the net. When not providing work for the owning user, it would add its agent-hosting server capability to the Texai cloud. At the time that the Texai bootstrap English dialog system is available, I'll begin fleshing out the hundreds of agencies for which I hope to recruit human mentors. Each agency I establish will have paragraphs of English text to describe its mission, including its relationship with commanding and subordinate agencies. Mentors then will use the dialog system to teach each of their respective agencies the knowledge and skills it requires for its mission. Learned skills will be compiled into Java code for execution. Hopefully this will advance into automatic programming from high level requirements, because programming is a skill which can be taught. Furthermore, I plan agencies whose missions will accomplish recursive self-improvement (e.g. propagate best practices from the discovering agency to all applicable agencies). While at Cycorp, I created two previous small versions of the agency graph, which of course were very much focused on the needs of Cycorp. Now I am inspired by the Wikipedia, to work first on agencies that are required for basic infrastructure and then let mentors, governed by locally-applicable human law, and governed by consensus, establish agencies as they see fit. When I get further along on these ideas, especially when I have an initial set of agencies and missions, I would very much like to vet that organization chart with the readers of this list, before tying to deploy it. Cheers. -Steve Stephen L. Reed Artificial Intelligence Researcher http://texai.org/blog http://texai.org 3008 Oak Crest Ave. Austin, Texas, USA 78704 512.791.7860 ----- Original Message ---- From: YKY (Yan King Yin) <[EMAIL PROTECTED]> To: agi@v2.listbox.com Sent: Tuesday, May 6, 2008 10:36:16 AM Subject: Re: [agi] organising parallel processes On 5/4/08, Stephen Reed <[EMAIL PROTECTED]> wrote: > As perhaps you know, I want to organize Texai as a vast multitude of agents situated in a hierarchical control system, grouped as possibly redundant, load-sharing, agents within an agency sharing a specific mission. I have given some thought to the message content, and assuming that my bootstrap English dialog effort actually works, then English language as an Agent Control Language vocabulary becomes possible at the more deliberative, higher levels of the hierarchy, when the duration of NL parsing and generation is small compared to the overall task duration. Let me offer my naive opinion: The distributive agents would be owned by different people on the net, who would want their agents to do different things for them. This occurs simultaneously. We need to distinguish 2 situations: A) where all the agents cooperate to solve ONE problem B) where agents are solving their own problems Your scheme would be useful for A. But it seems that most AGI users would want B. Which problem do you intend to solve? In case B, your scheme would add a lot of complications and whether it'd be beneficial or not is rather unclear. YKY ------------------------------------------------------------------------------ agi | Archives | Modify Your Subscription ------------------------------------------------------------------------------ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. ------------------------------------------------------------------------------ agi | Archives | Modify Your Subscription ------------------------------------------- agi Archives: http://www.listbox.com/member/archive/303/=now RSS Feed: http://www.listbox.com/member/archive/rss/303/ Modify Your Subscription: http://www.listbox.com/member/?member_id=8660244&id_secret=101455710-f059c4 Powered by Listbox: http://www.listbox.com