Wednesday, December 3, 2014

The Viscera and the Service

I explained the function of the viscera here, so I will dispense another explanation in this entry and explain what the service is. I'll then contrast the two.

The service, like the viscera, is a Clique. Unlike the viscera, it is strictly a bipartite Clique; the owner is always an Agent Device, and the other member is an external device (which could be a View device like an administrator client which is able to view or persist Clique Space activity). External devices cannot participate in viscera because they are not Agent Devices. Agent Devices are the only type of Clique Space aware device that manifest the functionality necessary to participate in viscera; Agent Devices are the neurons of a Clique Space.

Although services are not synapses (synapses are another type of bipartite Clique) they are used where synapses connect an Agent Device with a View device. A set of synapses do not connect an Agent Device to any other type of external device other than a View device. Hence, external devices that lack a View capability are known simply as drones.

A service implements a connection between an Agent Device and some type of external device, whether that device be a View device or a drone. All external devices siphon their state into a Clique Space and accept commands from a Clique Space through one or more Agent Devices through which each device shares a service.

The basic service represents the aggregate mechanism of exchange between an Agent Device and an external device that exists beyond the synapse mechanism that Clique Space aware devices use to share information. The service may define an interface known as a service delegate which defines how external device information is exchanged between the external device and its connected Agent Device. Services are strictly bipartite because they represent the mechanism of exchange between one external device instance and the Agent Device instance that serves it.

An Agent Device can stop serving a drone by simply disbanding the associated service, while more specifically for a View device, the connected Agent Device must also disband the associated inbound and outbound synapses.

A service is not a viscera. To lightly go over that which has already been explained, a viscera is a Clique that represents all the Agent Devices that contribute to the manifestation of a Clique Space. A viscera is multipartite, and can theoretically contain an unlimited number of participants.

However, a service is a viscera in a subtle but crucial way. Just as every Agent Device obtains a non owner visceral participant to be a member of a viscera, an external device must obtain a non owner service Participant to be counted as a member of a service. This symmetry is very handy because it allows many of the mechanisms of Agent Device - Agent Device engagement to be used in Agent Device - View device engagement. The convenience of this symmetry also appears to confirm that I remain onto a real possibility with this Clique Space thing.

No comments:

Post a Comment