首页> 外国专利> METHOD COMPUTER PROGRAM PRODUCT AND SYSTEM FOR NON BLOCKING DYNAMIC UPDATE OF STATICALLY TYPED CLASS BASED OBJECT ORIENTED SOFTWARE

METHOD COMPUTER PROGRAM PRODUCT AND SYSTEM FOR NON BLOCKING DYNAMIC UPDATE OF STATICALLY TYPED CLASS BASED OBJECT ORIENTED SOFTWARE

机译:基于对象的静态类型基于类的无阻塞动态更新的方法,计算机程序产品和系统

摘要

Under the present invention a method computer program product and system for non blocking dynamic update of statically typed class based object oriented software executing as byte code on a virtual machine within an actively running computer system is provided. A set of objects instantiated from an existing module or multiple modules (identifiable collections of application resources and class definitions in the form of byte code representations) is ready for execution on a virtual machine in an actively running computer system. New versions of one or more modules corresponding to those already loaded into the actively running virtual machine are dynamically loaded into the virtual machine for the purpose of updating the running software. The class definitions within the loaded modules are prepared for dynamic update by inserting byte code that enables; transparent state transfer and shared object identity between objects of a former version and the new version of a class. On the event of a software update the objects instantiated from a former version of an updated class become un initialized surrogate objects with the potential to redirect to their future corresponding objects. Corresponding objects are created lazily on first access of the declaring class members. Besides lazy redirection of the behavior of objects and classes non blocking dynamic update is achieved by lazy migration of the state of former objects and classes while locking on a temporary field access lock. Thus the algorithm for controlling field access and state migration is completely lock free both before and after state migration; hence the performance degradation is minimal. Finally any unreferenced objects are removed from memory.
机译:在本发明下,提供了一种方法计算机程序产品和系统,其用于在运行中的计算机系统内的虚拟机上无阻塞地动态更新基于静态类型的基于类的面向对象的软件,该软件作为字节代码执行。从一个或多个现有模块(以字节码表示形式的应用程序资源和类定义的可识别集合)实例化的一组对象已准备就绪,可以在运行中的计算机系统中的虚拟机上执行。为了更新正在运行的软件,将与已经加载到正在运行的虚拟机中的模块相对应的一个或多个模块的新版本动态加载到虚拟机中。通过插入启用的字节码,可以为装入的模块中的类定义进行动态更新。类的旧版本和新版本的对象之间的透明状态转移和共享对象标识。在进行软件更新时,从更新的类的先前版本实例化的对象将成为未初始化的代理对象,并有可能重定向到其将来的相应对象。相应的对象是在声明类成员的首次访问时延迟创建的。除了对对象和类的行为进行延迟重定向之外,还可以通过延迟迁移先前对象和类的状态,同时锁定临时字段访问锁来实现非阻塞动态更新。因此,用于控制字段访问和状态迁移的算法在状态迁移之前和之后都是完全无锁的。因此性能降级最小。最后,所有未引用的对象将从内存中删除。

著录项

  • 公开/公告号IN2012DN05718A

    专利类型

  • 公开/公告日2013-12-06

    原文格式PDF

  • 申请/专利权人

    申请/专利号IN5718/DELNP/2012

  • 申请日2012-06-26

  • 分类号G06F9/44;G06F11/00;G06F9/445;

  • 国家 IN

  • 入库时间 2022-08-21 15:57:39

相似文献

  • 专利
  • 外文文献
  • 中文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号