Today data may reside at various databases connected in local or global networks. Similarly, service providers offering services performing various data processes, may reside at various locations in the networks. A network may be partitioned to create multiple distinct domains, which are mutually isolated so that packets can only pass between them via one or more gateways or routers. An example of such a domain is a virtual local area network, virtual LAN or VLAN. Inside a domain, a process and data is considered as trusted, whereas data originating outside the domain or with unknown source is considered as untrusted.
For different reasons, an entity requesting a service may desire to process data outside a domain; the requested service does currently not exist within the domain or is performed more efficiently or cheaper outside the domain.
Thus, an increasing amount of data processing is performed in the so-called cloud, i.e. in data centers around the globe with no concern or control of the data flow of data; which data may be sensitive. From the service requester's point of view, the important issue for a cloud provider is to create an illusion of unlimited computing resources that never fails; how and where those resources are physically manifested is of less importance.
When considering moving to cloud computing, many customers who are handling sensitive data, e.g. hospitals, banks, schools, and governmental institutions, are faced with legal and practical issues of not having control of how and where data is processed and stored in the current cloud offerings from various players (such as Amazon™, Google™, and Microsoft™).