Next:Setting
up a VirtualUp:The
Virtual Service AbstractionPrevious:The
Virtual Service Abstraction
System Model
Our approach uses tags OS entities, such as processes, sockets, IPC shared
memory segments, etc., with VS information. All modern OS's have these
entities and already tag them with other information. We also have to assume
that all requests for service are received via explicit system calls, such
as communication sockets, IPC shared memory segments, message queues or
pipes. This restriction is due to the fact that automatic tracking of changes
in VS-membership depends on being able to intercept the interaction between
cooperating services. This means that VSs cannot manage services that hide
their relaying of work. For example, if two services use some VS-unaware
server as a message relay, it is impossible to infer their cooperation.
User-level thread libraries are another form of hidden communication since
the application's switching between different requests is hidden from the
OS. Here, the thread library must rebind the process to the correct VS
every time a thread-switch occurs.
Figure 3:A VS and its members
|