The management of changing types in an object-oriented database
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The Evolving Philosophers Problem: Dynamic Change Management
IEEE Transactions on Software Engineering
On dynamically updating a computer program: from concept to prototype
Journal of Systems and Software - Special issue on software maintenance
A framework for dynamic reconfiguration of distributed programs
A framework for dynamic reconfiguration of distributed programs
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Wide-area cooperative storage with CFS
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Lessons from Giant-Scale Services
IEEE Internet Computing
Providing Persistent Objects in Distributed Systems
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
A Model for Versioning of Classes in Object-Oriented Databases
BNCOD 10 Proceedings of the 10th British National Conference on Databases: Advanced Database Systems
Enabling Flexible Cross-Version Interoperability for Distributed Services
DOA '99 Proceedings of the International Symposium on Distributed Objects and Applications
A Dynamic Reconfiguration Service for CORBA
CDS '98 Proceedings of the International Conference on Configurable Distributed Systems
How to design a system in which modules can be changed on the fly
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Live Upgrades of CORBA Applications Using Object Replication
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
TOWARDS A THEORY FOR ABSTRACT DATA TYPES
TOWARDS A THEORY FOR ABSTRACT DATA TYPES
Decentralized user authentication in a global file system
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Lazy modular upgrades in persistent object stores
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Mutatis mutandis: safe and predictable dynamic software updating
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic software upgrades for distributed systems
Automatic software upgrades for distributed systems
Democratizing content publication with coral
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
TESLA: a transparent, extensible session-layer architecture for end-to-end network services
USITS'03 Proceedings of the 4th conference on USENIX Symposium on Internet Technologies and Systems - Volume 4
Autopilot: automatic data center management
ACM SIGOPS Operating Systems Review - Systems work at Microsoft Research
Efficient distributed subtyping tests
Proceedings of the 2007 inaugural international conference on Distributed event-based systems
Designing Run-Time Fault-Tolerance Using Dynamic Updates
SEAMS '07 Proceedings of the 2007 International Workshop on Software Engineering for Adaptive and Self-Managing Systems
Extensible encoding of type hierarchies
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ASM-based model of dynamic service update in OSGi
ACM SIGSOFT Software Engineering Notes
Controlled, systematic, and efficient code replacement for running java programs
Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
Dynamic rebinding for marshalling and update, via redex-time and destruct-time reduction
Journal of Functional Programming
Consistently applying updates to compositions of distributed OSGi modules
Proceedings of the 1st International Workshop on Hot Topics in Software Upgrades
HYDRAstor: a Scalable Secondary Storage
FAST '09 Proccedings of the 7th conference on File and storage technologies
Migrating protocols in multi-threaded message-passing systems
Proceedings of the 2nd International Workshop on Hot Topics in Software Upgrades
Dynamic Classes: Modular Asynchronous Evolution of Distributed Concurrent Objects
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Dynamic updates for web and cloud applications
APLWACA '10 Proceedings of the 2010 Workshop on Analysis and Programming Languages for Web Applications and Cloud Applications
In vivo evolution of policies that govern a distributed system
POLICY'09 Proceedings of the 10th IEEE international conference on Policies for distributed systems and networks
To upgrade or not to upgrade: impact of online upgrades across multiple administrative domains
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Dynamic software update for component-based distributed systems
Proceedings of the 16th international workshop on Component-oriented programming
Version-consistent dynamic reconfiguration of component-based distributed systems
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Evaluating the impacts of dynamic reconfiguration on the QoS of running systems
Journal of Systems and Software
Specifying and verifying the correctness of dynamic software updates
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
Local dynamic update for component-based distributed systems
Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering
Abstractions for network update
Proceedings of the ACM SIGCOMM 2012 conference on Applications, technologies, architectures, and protocols for computer communication
Abstractions for network update
ACM SIGCOMM Computer Communication Review - Special october issue SIGCOMM '12
Safe and automatic live update for operating systems
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
Broken sets in software repository evolution
Proceedings of the 2013 International Conference on Software Engineering
Mobile applications need targeted micro-updates
Proceedings of the 4th Asia-Pacific Workshop on Systems
On software component co-installability
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Back to the future: fault-tolerant live update with time-traveling state transfer
LISA'13 Proceedings of the 27th international conference on Large Installation System Administration
Hi-index | 0.00 |
Upgrading the software of long-lived, highly-available distributed systems is difficult. It is not possible to upgrade all the nodes in a system at once, since some nodes may be unavailable and halting the system for an upgrade is unacceptable. Instead, upgrades must happen gradually, and there may be long periods of time when different nodes run different software versions and need to communicate using incompatible protocols. We present a methodology and infrastructure that make it possible to upgrade distributed systems automatically while limiting service disruption. We introduce new ways to reason about correctness in a multi-version system. We also describe a prototype implementation that supports automatic upgrades with modest overhead.