PDS: a virtual execution environment for software deployment

  • Authors:
  • Bowen Alpern;Joshua Auerbach;Vasanth Bala;Thomas Frauenhofer;Todd Mummert;Michael Pigott

  • Affiliations:
  • IBM Thomas J. Watson Research Center, Hawthorne, NY;IBM Thomas J. Watson Research Center, Hawthorne, NY;IBM Thomas J. Watson Research Center, Hawthorne, NY;IBM Thomas J. Watson Research Center, Hawthorne, NY;IBM Thomas J. Watson Research Center, Hawthorne, NY;IBM Thomas J. Watson Research Center, Hawthorne, NY

  • Venue:
  • Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Progressive Deployment System (PDS) is a virtual execution environment and infrastructure designed specifically for deploying software, or "assets", on demand while enabling management from a central location. PDS intercepts a select subset of system calls on the target machine to provide a partial virtualization at the operating system level. This enables an asset's install-time environment to be reproduced virtually while otherwise not isolating the asset from peer applications on the target machine. Asset components, or "shards", are fetched as they are needed (or they may be pre-fetched), enabling the asset to be progressively deployed by overlapping deployment with execution. Cryptographic digests are used to eliminate redundant shards within and among assets, which enables more efficient deployment. A framework is provided for intercepting interfaces above the operating system (e.g., Java class loading), enabling optimizations requiring semantic awareness not present at the OS level. The paper presents the design of PDS, motivates its "porous isolation model" with respect to the challenges of software deployment, and presents measurements of PDS's execution characteristics.