Patents by Inventor Bo Norregaard Jorgensen

Bo Norregaard Jorgensen has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9639329
    Abstract: A system and method for automatic invocation of object initializers, or constructors, for superclasses featuring the ability to modify the contents of classes of existing applications at runtime, which includes adding new superclasses to the class inheritance hierarchy of the existing classes. The system redefines the content of classes of the existing classes and the new superclasses during the loading of the classes to additionally include code statements that invoke constructors of the redefined classes and the new superclasses. The invocation of the constructors at runtime performs the initialization of the objects.
    Type: Grant
    Filed: June 11, 2013
    Date of Patent: May 2, 2017
    Assignee: Syddansk Universitet
    Inventors: Allan Raundahl Gregersen, Michael Rasmussen, Bo Norregaard Jorgensen
  • Patent number: 9141415
    Abstract: A method for dynamically transforming bytecode of Java Virtual Machine (JVM) bootstrap classes during program startup uses a JVM agent to intercept startup of a JVM compliant computer program to transform the bytecode of already loaded JVM bootstrap classes and store the resulting set of modified bootstrap classes. Subsequently, the JVM Agent intercepts all class loading events to transform the bytecode of classes declaring special program startup method “<clinit>”, by inserting bytecode at the beginning of the method to invoke a callback method declared within the JVM Agent and passing the arguments passed to the JVM upon program startup as callback method parameters. Subsequently, when the callback method intercepts the execution flow of the computer program, the callback method starts a second JVM instance, passing parameters including the obtained input parameters, the main method arguments, and a JVM input argument for accessing the stored set of modified bootstrap classes.
    Type: Grant
    Filed: November 2, 2011
    Date of Patent: September 22, 2015
    Assignee: Syddansk Universitet
    Inventors: Michael Rasmussen, Allan Raundahl Gregersen, Bo Norregaard Jorgensen
  • Patent number: 9015659
    Abstract: 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.
    Type: Grant
    Filed: March 5, 2014
    Date of Patent: April 21, 2015
    Assignee: Syddansk Universitet
    Inventors: Allan Raundahl Gregersen, Michael Rasmussen, Bo Norregaard Jorgensen
  • Publication number: 20140189672
    Abstract: 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 (identi-fiable collections of application resources and class defini-tions 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.
    Type: Application
    Filed: March 5, 2014
    Publication date: July 3, 2014
    Applicant: Syddansk Universitet
    Inventors: Allan Raundahl Gregersen, Michael Rasmussen, Bo Norregaard Jorgensen
  • Patent number: 8707287
    Abstract: 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.
    Type: Grant
    Filed: November 16, 2010
    Date of Patent: April 22, 2014
    Assignee: Syddansk Universitet
    Inventors: Allan Raundahl Gregersen, Michael Rasmussen, Bo Norregaard Jorgensen
  • Publication number: 20140075422
    Abstract: Under the present invention, a method for dynamically transforming the bytecode of Java Virtual Machine (JVM) bootstrap classes during program startup is provided. A JVM agent is used to intercept the execution flow before the execution of the special program startup-method of a JVM compliant computer program. The said JVM Agent executes code to transform the bytecode of the already loaded JVM bootstrap classes, storing the new set of modified bootstrap classes onto data storage. Subsequently, the JVM Agent intercepts all class loading events transforming the bytecode of classes declaring a special program statrup-method. In those classes the bytecode within the method body of the special class-initialize method, as defined in the present JVM class file format as “<clinit>”, is removed to avoid any side-effects in the program.
    Type: Application
    Filed: November 2, 2011
    Publication date: March 13, 2014
    Applicant: Syddansk Universitet
    Inventors: Michael Rasmussen, Allan Raundahl Gregersen, Bo Norregaard Jorgensen
  • Publication number: 20130339926
    Abstract: A system and method for automatic invocation of object initializers, or constructors, for superclasses featuring the ability to modify the contents of classes of existing applications at runtime, which includes adding new superclasses to the class inheritance hierarchy of the existing classes. The system redefines the content of classes of the existing classes and the new superclasses during the loading of the classes to additionally include code statements that invoke constructors of the redefined classes and the new superclasses. The invocation of the constructors at runtime performs the initialization of the objects.
    Type: Application
    Filed: June 11, 2013
    Publication date: December 19, 2013
    Inventors: Allan Raundahl Gregersen, Michael Rasmussen, Bo Norregaard Jorgensen
  • Publication number: 20110283256
    Abstract: 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.
    Type: Application
    Filed: November 16, 2010
    Publication date: November 17, 2011
    Applicant: Syddansk Universitet
    Inventors: Allan Raundahl Gregersen, Michael Rasmussen, Bo Norregaard Jorgensen