Check out the new USENIX Web site. nextupprevious
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