This layer provides services to the layers above it. Depending on the user of the services, these services are classified into three sub parts.
ARC Object Services: It allows registration of newly created ARC objects, Migration (send and receive) of code and state, and activation and execution of method Trigger() on a newly arrived remote ARC object. When a migrated ARC object returns asynchronously, the object is inserted into its original location by proxy switching through ARC object proxy layer. ARC object proxy layer consists of proxies to locally registered ARC objects. The proxy layer is essential since the ARC object services are located in a different address space than that of the user programs.
Developer Services: Distributed or parallel programs uses these services through proxies, which can be obtained using .NET remoting framework. These services can also be used from ARC user lower layer. Services supported in this category are fault tolerance and auto execution, Horse Power Factor and remote slot locking and unlocking, and asynchronous object arrival intimation services.
Node Administrator Services: Node administrator can join a machine into the ARC network and also can unsubscribe a machine from the ARC network. Node administrator services include join and leave services. An active ARC computation may use one or more participating nodes at a given time.