Patent ID: 8447963

Claim:
A method for receiving and executing, on one of a plurality of servers, a system call from a software application program, the method comprising the steps of: (a) providing a representation of a plurality of servers as a single virtual server, the representation of the single virtual server implemented by a virtual server client and a plurality of virtual server agents, at least one virtual server agent running on each one of the plurality of servers; (b) receiving, by the virtual server client from a client-side software application program, an abstract system call that requests a service from an operating system of at least one of the plurality of servers, the abstract system call generated by the client-side software application program in response to a command and with indifference to the operating system used by the at least one server; and (c) instantiating in a thread-safe manner the abstract system call by: identifying, by the virtual server client, a target server to receive the abstract system call and a corresponding virtual server agent associated with the target server; transmitting the abstract system call to the identified agent for translation of the abstract system call into an operating system-specific system call for execution on the target server; mapping a user identity for a user of the client-side software application program to an associated local user identity for the target server; authorizing the abstract system call for the mapped local user identity based on at least one of role-based access control model and an access control list; executing the operating system-specific system call using the mapped local user identity on the target server; and receiving execution results from the virtual server agent.