Automatic decomposition of scientific programs for parallel execution
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Protecting privacy using the decentralized label model
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automatic data and computation decomposition on distributed memory parallel computers
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Computer Systems (TOCS)
Horizontal data partitioning in database design
SIGMOD '82 Proceedings of the 1982 ACM SIGMOD international conference on Management of data
Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies
Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies
Source Code Analysis: A Road Map
FOSE '07 2007 Future of Software Engineering
VLDB '02 Proceedings of the 28th international conference on Very Large Data Bases
Secure web applications via automatic partitioning
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Wedge: splitting applications into reduced-privilege compartments
NSDI'08 Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation
Can we refactor conditional compilation into aspects?
Proceedings of the 8th ACM international conference on Aspect-oriented software development
On the impossibility of cryptography alone for privacy-preserving cloud computing
HotSec'10 Proceedings of the 5th USENIX conference on Hot topics in security
Cloud Hooks: Security and Privacy Issues in Cloud Computing
HICSS '11 Proceedings of the 2011 44th Hawaii International Conference on System Sciences
Sedic: privacy-aware data intensive computing on hybrid clouds
Proceedings of the 18th ACM conference on Computer and communications security
Exploring Alternative Approaches to Implement an Elasticity Policy
CLOUD '11 Proceedings of the 2011 IEEE 4th International Conference on Cloud Computing
Architectural support for secure virtualization under a vulnerable hypervisor
Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture
Introducing STRATOS: A Cloud Broker Service
CLOUD '12 Proceedings of the 2012 IEEE Fifth International Conference on Cloud Computing
Network latency impact on performance of software deployed across multiple clouds
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
Hi-index | 0.00 |
On-demand access to computing resources as-a-service has the potential to allow enterprises to temporarily scale out of their private data center into the infrastructure of a public cloud provider during times of peak demand. However, concerns about privacy and security may limit the adoption of this technique. We describe an approach to partitioning a software application (particularly a client-facing web application) into components that can be run in the public cloud and components that should remain in the private data center. Static code analysis is used to automatically establish a partitioning based on low-effort input from the developer. Public and private versions of the application are created and deployed; at runtime, user navigation proceeds seamlessly with requests routed to the public or private data center as appropriate. We present implementations for both Java and PHP web applications, tested on sample applications.