Patents by Inventor Jean-François Denise

Jean-François Denise 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: 10635483
    Abstract: Aspects of the disclosure provide for mechanisms for automatic generating synopsis data of command-line commands. A method of the disclosure includes processing source code implementing a command; identifying, in view of the processing, a plurality of command options related to the command; generating, by a processing device, relationship data representing dependencies of the command options; and generating, by the processing device, synopsis data for the command in view of the relationship data. In some embodiments, the relationship data may include a graph, wherein the graph including an arc that associates a first node of the graph with a second node of the graph. The first node may correspond to the first command option. The second node may correspond to the second command option.
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: April 28, 2020
    Assignee: Red Hat, Inc.
    Inventors: Jean Francois Denise, Oleksiy Lubyanskyy, Ståle Waage Pedersen
  • Patent number: 10489130
    Abstract: The disclosed embodiments provide a system that facilitates execution of a software program. During operation, the system obtains one or more user-defined rules for configuring a memory layout of an object instance in a software program, wherein the one or more user-defined rules are created separately from source code for the software program. Next, the system generates the memory layout of the object instance by applying the one or more user-defined rules to one or more fields of the object instance. The system then executes the software program using the generated memory layout of the object instance.
    Type: Grant
    Filed: September 24, 2015
    Date of Patent: November 26, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Charles J. Hunt, Jean-François Denise, Steven J. Drach
  • Patent number: 10353793
    Abstract: The disclosed embodiments provide a system that facilitates the execution of a software program. During operation, the system determines a structure of a software program and an execution context for the software program from a set of possible execution contexts for the software program, wherein the software program includes one or more object instances. Next, the system uses the structure and the execution context to identify a portion of an object instance from the one or more object instances that is determined to inefficiently use memory space in the software program. The system then provides a refactoring of the object instance that reduces use of the memory space in the object instance.
    Type: Grant
    Filed: November 5, 2014
    Date of Patent: July 16, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Steven J. Drach, Jean-Francois Denise, Charles J. Hunt
  • Patent number: 10275154
    Abstract: The disclosed embodiments provide a system that facilitates the execution of a software program. During operation, the system obtains a set of artifacts associated with executing a software program. Next, the system uses the set of artifacts to determine an inheritance hierarchy associated with an artifact from the set of artifacts. The system then uses the inheritance hierarchy and the set of artifacts to generate a memory layout of an object instance represented by the artifact, wherein the memory layout includes a set of fields associated with a set of levels of the inheritance hierarchy.
    Type: Grant
    Filed: November 5, 2014
    Date of Patent: April 30, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Charles J. Hunt, Steven J. Drach, Jean-Francois Denise
  • Publication number: 20190102218
    Abstract: Aspects of the disclosure provide for mechanisms for automatic generating synopsis data of command-line commands. A method of the disclosure includes processing source code implementing a command; identifying, in view of the processing, a plurality of command options related to the command; generating, by a processing device, relationship data representing dependencies of the command options; and generating, by the processing device, synopsis data for the command in view of the relationship data. In some embodiments, the relationship data may include a graph, wherein the graph including an arc that associates a first node of the graph with a second node of the graph. The first node may correspond to the first command option. The second node may correspond to the second command option.
    Type: Application
    Filed: September 29, 2017
    Publication date: April 4, 2019
    Inventors: Jean Francois Denise, Oleksiy Lubyanskyy, Ståle Waage Pedersen
  • Patent number: 10217254
    Abstract: The disclosed embodiments provide a system that facilitates execution of a software program. During operation, the system displays a visualization of a memory layout of an object instance in a software program, wherein the visualization includes one or more fields in the object instance. Next, the system receives user input that customizes the memory layout. The system then processes the user input by updating the displayed visualization to reflect customization of the memory layout by the user input and storing, in association with the software program, one or more rules that, when processed during instantiation of the object instance, configure the memory layout of the object instance based on the user input.
    Type: Grant
    Filed: September 24, 2015
    Date of Patent: February 26, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Jean-Francois Denise, Charles J. Hunt, Steven J. Drach
  • Patent number: 10127136
    Abstract: The disclosed embodiments provide a system that facilitates execution of a software program. During operation, the system obtains an execution unit associated with execution of a software program, wherein the execution unit includes a start and an end. Next, the system identifies a set of fields accessed within the execution unit. The system then calculates one or more memory distances among the set of fields from a set of memory addresses of the set of fields during runtime of the software program on the computer system, wherein the one or more memory distances include a difference in memory address between a first field and a second field in the set of fields. Finally, based at least in part on a memory distance in the one or more memory distances exceeding a threshold, the system stores an indication that the execution unit has a suboptimal memory layout.
    Type: Grant
    Filed: January 22, 2016
    Date of Patent: November 13, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Jean-François Denise, Charles J. Hunt, Steven J. Drach
  • Patent number: 9910591
    Abstract: The disclosed embodiments provide a system that facilitates the execution of a software program. During operation, the system obtains a memory layout for an object instance in a software program, wherein the memory layout includes a set of offsets and a set of allocated sizes of a set of components associated with the object instance. Next, the system uses the memory layout to determine a first memory space occupied by data in the object instance and a second memory space occupied by padding in the object instance. The system then displays a visualization of the memory layout on the computer system, wherein the visualization includes a first graphical distinction between the first memory space and the second memory space.
    Type: Grant
    Filed: November 5, 2014
    Date of Patent: March 6, 2018
    Assignee: Oracle International Corporation
    Inventors: Jean-Francois Denise, Steven J. Drach, Charles J. Hunt
  • Patent number: 9841953
    Abstract: The disclosed embodiments provide a system that facilitates controlling and customizing the process of generating a software program image. During operation, the system receives a set of files for building a software program, wherein at least one of the files in the set is an intermediate code file that was at least partially compiled from a source code file of the software program. The system then applies a plurality of pluggable transforms to a plurality of states of the set of files to produce a particular subsequent state of the set of files. The system then produces a runtime-image of the software program from at least the particular subsequent state of the set of files, the runtime-image including one or more files for execution by a virtual machine and one or more output resources to be accessed by the one or more executed files.
    Type: Grant
    Filed: July 14, 2016
    Date of Patent: December 12, 2017
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: James M. Laskey, Jean-Francois Denise
  • Publication number: 20170090757
    Abstract: The disclosed embodiments provide a system that facilitates execution of a software program. During operation, the system obtains one or more user-defined rules for configuring a memory layout of an object instance in a software program, wherein the one or more user-defined rules are created separately from source code for the software program. Next, the system generates the memory layout of the object instance by applying the one or more user-defined rules to one or more fields of the object instance. The system then executes the software program using the generated memory layout of the object instance.
    Type: Application
    Filed: September 24, 2015
    Publication date: March 30, 2017
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Charles J. Hunt, Jean-François Denise, Steven J. Drach
  • Publication number: 20170091070
    Abstract: The disclosed embodiments provide a system that facilitates execution of a software program. During operation, the system obtains an execution unit associated with execution of a software program, wherein the execution unit includes a start and an end. Next, the system identifies a set of fields accessed within the execution unit. The system then calculates one or more memory distances among the set of fields from a set of memory addresses of the set of fields during runtime of the software program on the computer system, wherein the one or more memory distances include a difference in memory address between a first field and a second field in the set of fields. Finally, based at least in part on a memory distance in the one or more memory distances exceeding a threshold, the system stores an indication that the execution unit has a suboptimal memory layout.
    Type: Application
    Filed: January 22, 2016
    Publication date: March 30, 2017
    Applicant: Oracle International Corporation
    Inventors: Jean-François Denise, Charles J. Hunt, Steven J. Drach
  • Publication number: 20170091966
    Abstract: The disclosed embodiments provide a system that facilitates execution of a software program. During operation, the system displays a visualization of a memory layout of an object instance in a software program, wherein the visualization includes one or more fields in the object instance. Next, the system receives user input that customizes the memory layout. The system then processes the user input by updating the displayed visualization to reflect customization of the memory layout by the user input and storing, in association with the software program, one or more rules that, when processed during instantiation of the object instance, configure the memory layout of the object instance based on the user input.
    Type: Application
    Filed: September 24, 2015
    Publication date: March 30, 2017
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Jean-Francois Denise, Charles J. Hunt, Steven J. Drach
  • Publication number: 20170052764
    Abstract: The disclosed embodiments provide a system that facilitates controlling and customizing the process of generating a software program image. During operation, the system receives a set of files for building a software program, wherein at least one of the files in the set is an intermediate code file that was at least partially compiled from a source code file of the software program. The system then applies a plurality of pluggable transforms to a plurality of states of the set of files to produce a particular subsequent state of the set of files. The system then produces a runtime-image of the software program from at least the particular subsequent state of the set of files, the runtime-image including one or more files for execution by a virtual machine and one or more output resources to be accessed by the one or more executed files.
    Type: Application
    Filed: July 14, 2016
    Publication date: February 23, 2017
    Applicant: Oracle International Corporation
    Inventors: James M. Laskey, Jean-Francois Denise
  • Patent number: 9552192
    Abstract: The disclosed embodiments provide a system that facilitates execution of a software program. During operation, the system determines a structure of a software program and an execution context for the software program from a set of possible execution contexts for the software program. Next, the system generates memory layouts for a set of object instances in the software program at least in part by applying the execution context to the structure independently of a local execution context on the computer system. The system then stores the memory layouts in association with the software program.
    Type: Grant
    Filed: November 5, 2014
    Date of Patent: January 24, 2017
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Jean-Francois Denise, Steven J. Drach, Charles J. Hunt
  • Patent number: 9430222
    Abstract: In general, in one aspect, the invention relates to a computer readable medium including software instructions for performing a method, the method including receiving, by a content server, a first request from a client for an application content file, wherein the application content file is associated with a first Java network launch protocol (JNLP) file, providing, in response to the first request, the application content file; receiving, from the client, a second request to edit the application content file, providing, in response to the second request, an application designer tool to the client; receiving, from the client, an altered application content file generated using the application designer tool, generating a second JNLP file associated with the altered application content file, and providing, to a webserver, the second JNLP file.
    Type: Grant
    Filed: May 24, 2010
    Date of Patent: August 30, 2016
    Assignee: Oracle International Corporation
    Inventors: Jean-Francois Denise, Andrew Allenson, Anthony Rogers, Eamonn P. Mcmanus
  • Publication number: 20160124725
    Abstract: The disclosed embodiments provide a system that facilitates the execution of a software program. During operation, the system determines a structure of a software program and an execution context for the software program from a set of possible execution contexts for the software program, wherein the software program includes one or more object instances. Next, the system uses the structure and the execution context to identify a portion of an object instance from the one or more object instances that is determined to inefficiently use memory space in the software program. The system then provides a refactoring of the object instance that reduces use of the memory space in the object instance.
    Type: Application
    Filed: November 5, 2014
    Publication date: May 5, 2016
    Inventors: Steven J. Drach, Jean-Francois Denise, Charles J. Hunt
  • Publication number: 20160124718
    Abstract: The disclosed embodiments provide a system that facilitates execution of a software program. During operation, the system determines a structure of a software program and an execution context for the software program from a set of possible execution contexts for the software program. Next, the system generates memory layouts for a set of object instances in the software program at least in part by applying the execution context to the structure independently of a local execution context on the computer system. The system then stores the memory layouts in association with the software program.
    Type: Application
    Filed: November 5, 2014
    Publication date: May 5, 2016
    Inventors: Jean-Francois Denise, Steven J. Drach, Charles J. Hunt
  • Publication number: 20160124645
    Abstract: The disclosed embodiments provide a system that facilitates the execution of a software program. During operation, the system obtains a memory layout for an object instance in a software program, wherein the memory layout includes a set of offsets and a set of allocated sizes of a set of components associated with the object instance. Next, the system uses the memory layout to determine a first memory space occupied by data in the object instance and a second memory space occupied by padding in the object instance. The system then displays a visualization of the memory layout on the computer system, wherein the visualization includes a first graphical distinction between the first memory space and the second memory space.
    Type: Application
    Filed: November 5, 2014
    Publication date: May 5, 2016
    Inventors: Jean-Francois Denise, Steven J. Drach, Charles J. Hunt
  • Publication number: 20160124646
    Abstract: The disclosed embodiments provide a system that facilitates the execution of a software program. During operation, the system obtains a set of artifacts associated with executing a software program. Next, the system uses the set of artifacts to determine an inheritance hierarchy associated with an artifact from the set of artifacts. The system then uses the inheritance hierarchy and the set of artifacts to generate a memory layout of an object instance represented by the artifact, wherein the memory layout includes a set of fields associated with a set of levels of the inheritance hierarchy.
    Type: Application
    Filed: November 5, 2014
    Publication date: May 5, 2016
    Inventors: Charles J. Hunt, Steven J. Drach, Jean-Francois Denise
  • Patent number: 9104579
    Abstract: Methods and apparatuses are presented for managing remote computers that are separated from their manager by a firewall. In one or more embodiments, the apparatus includes one or more computer sub-systems managed by the remote manager. Each sub-system includes a processor and a communication interface coupled to the processor, where the communication interface is further coupled to the remote manager via a network. A firewall is implemented between each sub-system and the remote manager such that the firewall blocks accesses to the sub-system from the remote manager. Notwithstanding the presence of the firewall, and without an specific routing through the firewall, each sub-system receives configuration commands from the remote manager through as a text feed.
    Type: Grant
    Filed: July 23, 2008
    Date of Patent: August 11, 2015
    Assignee: Oracle America, Inc.
    Inventors: Nick Stephen, Thierry Roussel, Jean-Francois Denise