Tuesday, December 28, 2010

Clique Space(TM) Progress Report

I've redone the way the Agent Device forms an Agent Collaboration's Clique. This time, I've put in a bit more thought about how the formation of the Clique Space can rely more on the core components to the Clique Space concept. I.e., how I can form an Agent Collaboration's Clique Space as if it were just like any other medium.

It appears that I've had to forsake multiparty formation. This is primarily because restricting the process to the concept's core objects leads to a small conundrum in the formation process: in what administrative domain is a Clique Space formed? Well, I've answered that in part by the concept of the Agent Device's Clique Space. The Agent Device's Clique Space is the genesis of all other (Agent Collaborations') Clique Spaces.

So, I've taken the opportunity to describe a use case scenario of how an Agent Collaboration's Clique Space can be created. This is a fairly accurate description as a version of it was accompanied by console output of the three devices (one Agent Device - AgentOne - and two Client Devices - ClientOne and ClientTwo) to someone who has expressed an ongoing interest in the concept.

So, here is the scenario:
  1. ClientOne connects, activates, and forms a serving Agent Device's Clique with AgentOne in the Clique Space known as the Agent Device's Clique Space.

  2. ClientOne instructs the Agent Device to create a new "Agent Collaboration's" Clique Space by using the same Active Affiliations that formed the Agent Device's Clique Space. The new serving Agent Device Clique is to be named "Two" and the Agent Collaboration's Clique Space is to be named "First".

    AgentOne does not know of a Clique Space named "First", so by specifying a Clique Space name that the Agent Device doesn't know of, this Clique Space will be created on AgentOne, and a Clique will form that has two Participants - both taken from AgentOne's collaborator Active Affiliation that is created in this new Clique Space so the new Clique Space itself can be modeled. This "Agent Collaboration's" Clique will also have the name "First".

    Because ClientOne is connected to AgentOne in a serving Agent Device's Clique on the Agent Device's Clique Space, the Agent Device uses these two Active Affiliations to create Participants that appear in a serving Agent Device's Clique - "Two" as named in the form operation - inside the new Agent Collaboration's Clique Space.

    These elements demonstrate one use of foreign elements in Clique Spaces that are technically federated even though they exist merely as different collections of Clique Space Elements in the same Agent Device. Although untestable until I get the Agent Collaboration truly functioning (see the first paragraph following these steps), I believe the Clique Space federation is a natural extension to what already exists.

  3. In this step, I cheat by taking advantage of the fact that I can see what Elements exist on the Agent Device through its console output. With this knowledge (a Clique Space user may not ordinarily have it) I take an identifier of one of the AgentCollaboratorParticipants (these are the Agent Device's collaborator Participants in the Clique that is modeling Clique Space "First" - mentioned in step 2) and tell ClientOne to get this identifier. Doing this creates the projection of the Clique Space's Clique - the Clique named "First" - in ClientOne.

  4. ClientOne then shows a Participant list of Clique "First", an Element list of Clique Space "First", and Element structures of the Agent Device (just another Client Device structure to Clique Space) described by both Participants of Clique "First". Both Client Device structures show that both Participants are created from the same set of six elements that describe AgentOne. In other words, both structures list the same set of six Elements; they come from the same Client (Agent) Device.

  5. ClientOne creates a new Account called "Who", an Account Profile called "Self", and an affiliation that associates the Account and Account Profile on "First" - the newly created Agent Collaboration's Clique Space.

  6. ClientTwo connects to "First" using the Account "Who" (Who is on First), activates its Connection against the Affiliation registered in the previous step, and forms a serving Agent Device's Clique with the Agent Device in Clique Space "First" called "Three".

    At this point, we can observe the element structure of this newly formed Agent Device's Clique. Doing this demonstrates that "Who" - the Account underlying the Participant which is modeling ClientTwo - is a different user to "Primary" - the Account underlying the Participant which is modeling AgentOne. This is of course what most Cliques would be representing - a collaboration between two or more Participants typically representing two or more individuals typically using two or more devices over a particular medium.

  7. To demonstrate that the Clique Space concept is robust, ClientOne is instructed to disband Clique "First". Because Clique "First" is the Clique that models the Clique Space in which it is manifest, this instruction obviously implies that Clique Space "First" is to be destroyed.

    Hence, in an orderly fashion, AgentOne disconnects ClientTwo, and ClientTwo cleans itself of Clique Space "First". Likewise, ClientOne is disconnected from "First" and cleans out its projection of the Clique Space, including both Cliques "Two" and "First".

  8. Observing the Element structures again, we can see that ClientTwo is not connected to an Agent Device, and knows of no Cliques. ClientOne remains connected to AgentOne via its Agent Device's Clique Space, and knows of Clique named "One" which models ClientOne's connection to AgentOne through this Clique Space.

  9. ClientOne disbands the serving Agent Device's Clique from "First" which removes this Clique Space from ClientOne, and finally deactivates, and disconnects itself from AgentOne. This leaves AgentOne's Clique Space container in the same state it was when it was started.
This scenario primarily represents the creation and destruction of an Agent Collaboration's Clique Space. However, Agent Devices do not currently collaborate, although I have implemented some of the infrastructure necessary to do this. My intent has always been to have Agent Devices collaborate to realise Clique Spaces; this being the prime reason I called them Agent Devices.

I think Clique Space does some unique things, and provides the potential to see some other rather unique things emerge. To me, these things appear analogous to how a central nervous system functions. It is still my belief (a believe I have held shortly after conceiving the system) that anything that would do anything similar to Clique Space would provide society with something similar to a CNS. Likewise, I believe that anything that realises a social (or possibly any synthetic) CNS is probably going to look very much like Clique Space.

Additionally, and I've seen this since putting the user case together, I've begun to question the purpose of federating an Agent Device's Clique Space when forming an Agent Collaboration's as described in the fourth paragraph of step 2. Although federations are an important component to the Clique Space concept, and although the concept of Clique Space federation should be as natural as it appears in step 2, I feel uncomfortable about federating an Agent Device's Clique Space as step 2 demonstrates. This did originally start as an appeal to some thought of algorithmic symmetry, but now, the concept of an Agent Device's Clique Space which can federate seems technically problematic.

There's still more work to be done on Clique Space formation...

No comments:

Post a Comment