I have found it necessary to put a lot of thought toward expressing my concept in its implementation, and the most current (and possibly by all measures, the most intense) thought has been put toward the idea of a particular Clique Space manifestation that is used to group other Clique Spaces that a particular device (Agent or Client Device) knows of.
Now, an Agent Device might have complete access to all the Clique Spaces to which it is a member. That's good for the Agent Device, but not so good for the Client Device; if any Client Device had the same freedom, implementing security and anonymity may be a trickier proposition. Additionally, a particular Client Device might certainly not have the capacity to share in access to all the knowledge contained in a Clique Space, even though as just one cooperating member of a collaboration, an Agent Device doesn't require total knowledge of a Clique Space.
Anyway, for any given Clique Space, a Client Device is given information about elements that relate to the activity of users in that Clique Space that the device's operator is interested in, and has the privilege to view. The most obvious candidates are all the elements that relate to the Client Device and it's operator, and any other Client Devices that are Connected under the Account of the first Client Device's; i.e., other devices that have been registered by the same operator.
The Client Device hence receives a subset of the Clique Space through which it is connected. This Clique Space is (or rather, the relevant parts of it are) 'Projected' into the Client Device. Hence, I have called the Client Device's copy of the Clique Space it is Connected to a "Clique Space Projection".
So, how does an Agent Device manage its membership to more than one Clique Space? This question had me thinking for several weeks, and I have come up with a nice use of the Clique Space Projection to do this.
You might think it sufficient that an Agent Device simply have a collection (an map, perhaps) of Clique Spaces. That might work, but I've evolved this simple model a bit. I thought to myself that it might be better if this collection (which must exist if an Agent Device is a member of multiple Clique Spaces - it has to know each of them) were itself, a Clique Space. One might ask one's self, for what point?
Well, for this point: a Clique Space contains Clique Space elements. A user might want to view and operate all these elements (no matter from which Clique Space they may be derived) together. Similarly, the elements in one Clique Space might be related to what is transpiring in a federated neighbour. All of this activity might only work properly if it were able to be grouped together in a super group (I think this is a subset of the power set) of Clique Spaces.
Now, a device can capture all of its own activity within any Clique Space if it were to have a Clique Space that was a single point of access to the elements in the projections of all the Clique Spaces that the device was Connected to. Hence, an Agent Device, being a member of (Connected to) several Clique Spaces, not only possesses a corresponding Clique Space Projection for each, it possesses a Clique Space that contains every element that is in each of these Clique Space Projections.
Similarly, a Client Device contains not only a Clique Space Projection for every Clique Space it is Connected to, but a Clique Space that contains every projected element of every Connected Clique Space.
I have been droll, and called this Clique Space the "Clique Space Projection Clique Space".
Before I go. Some time ago, I solved the following problem: how does one administer an Agent Device that is connected to zero Clique Spaces. My solution was to distinguish real (as opposed to projected) Clique Spaces between "Device Clique Spaces" and a "Collaboration Clique Spaces". This concept has a similar Agent Device - Client Device symmetry when I realised that a Client Device must be connected to at least one Clique Space before it can be used within this environment. It is quite dandy to realise that a Client Device can be administered within its own Client Device Clique Space.
So, the elements of a "Client Device Clique Space", and, as they are known on Agent Devices, an "Agent Device Clique Space" can be projected into a Clique Space Projection on both the Client and Agent Devices respectively, along with similar elements on connected Collaboration Clique Spaces, and all these projections of Connections and other elements that the device possesses can be accessed from the one Clique Space as manifest on Agent and Client Devices: the Clique Space Projection Clique Space.
Sounds good to me...
This blog post needs an update to reflect a change in implementation pursuant to how my thinking has changed. These changes have been subtle enough not to have given me thought until just now after I re-read this blog entry to restate what is going on...
ReplyDeleteSo, I have been less droll, and called the uber Clique Space described above a Clique Space container. I also recognise that a Clique Space Element (whether projected or original) can be put in this Clique Space container, so I needn't complicate my life by creating projections on the Agent Device. Lastly, I am thinking about not distinguishing between Agent Device and Agent Collaboration Clique Spaces; the Media Profile appears to be a sufficient abstraction to encapsulate Agent Collaborations, so I'm warming to the idea that an "Agent Device" that is created when an Agent Device instance starts, simply lacks a Media Profile (an Agent Collaborator Media Profile) that ties that Clique Space to an Agent Collaboration. Of course, all other Clique Spaces use this Media Profile because it realises the interface between the Clique Space and the Agent Device's that implement the Clique Space in much the same way that another Media Profile acts as a customisation that allows another type of device to interface with a Clique Space to which it is connected.
So there we are...
Oh, things change yet again...
ReplyDeleteIt now bears apparent that the implementation has settled on a differentiation between the Agent Device's and Agent Collaboration's Clique Space. More than this, the Agent Device's Clique Space is sub-classed further into local and foreign versions. These local an foreign versions facilitate the process of Agent Device 'engagement'.