Low-Disruptive and Timely Dynamic Software Updating of Smart Grid Components

Components in the power grid require security, high availability and real-time communications for reliable operation. But these components are based on software that contains issues that need to be fixed. Timely installation of software updates allows securing vulnerable software quickly but conventionally disrupts availability and communications. Rolling updates on redundant systems prevent such disruptions but delay update installations as they need to be prepared carefully to update reliably. Dynamic Software Updating shortens the installation duration of updates by implementing them in-memory, allowing timely hot-fixing and installation of new features without service disruption or degradation in soft real-time communications. As the Smart Grid settles on standardization and common technologies for interoperability, the need for timely hot-fixing and updating of software applications and libraries which are in widespread use increases.

[1]  Christian Wimmer,et al.  Unrestricted and safe dynamic code evolution for Java , 2013, Sci. Comput. Program..

[2]  Lars Bak,et al.  The hotspot TM serviceability agent: an out-of-process high level debugger for a Java TM virtual machine , 2001 .

[3]  Michael Hicks,et al.  Dynamic software updating , 2005 .

[4]  Gunter Saake,et al.  JavAdaptor—Flexible runtime updates of Java applications , 2013, Softw. Pract. Exp..

[5]  Wilhelm Hasselbring,et al.  Xbase: implementing domain-specific languages for Java , 2012, GPCE '12.

[6]  Tudor Dumitras,et al.  Why Do Upgrades Fail and What Can We Do about It? , 2009, Middleware.

[7]  Manuel Oriol,et al.  Practical dynamic software updating for C , 2006, PLDI '06.

[8]  Tony Tung,et al.  Scaling Memcache at Facebook , 2013, NSDI.

[9]  Eric A. Brewer,et al.  Lessons from Giant-Scale Services , 2001, IEEE Internet Comput..

[10]  Kathryn S. McKinley,et al.  Dynamic software updates: a VM-centric approach , 2009, PLDI '09.

[11]  Michael Hicks,et al.  Mutatis Mutandis : Safe and predictable dynamic software updating , 2007 .

[12]  Jian Lu,et al.  Javelus: A Low Disruptive Approach to Dynamic Software Updates , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[13]  Michael Hicks,et al.  Evaluating Dynamic Software Update Safety Using Systematic Testing , 2012, IEEE Transactions on Software Engineering.

[14]  Andrew Götz,et al.  TANGO V8 - Another Turbo Charged Major Release , 2013 .

[15]  Liuba Shrira,et al.  Modular Software Upgrades for Distributed Systems , 2006, ECOOP.

[16]  Luís Veiga,et al.  Rubah: DSU for Java on a stock JVM , 2014, OOPSLA.

[17]  Gerald Brose JacORB: Implementation and Design of a Java-ORB , 1997, DAIS.

[18]  Vern Paxson,et al.  The Matter of Heartbleed , 2014, Internet Measurement Conference.