Patents by Inventor Stuart Douglas

Stuart Douglas 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: 12468519
    Abstract: The present disclosure provides new and innovative systems and methods for in-place upgrades of applications. In an example, a computer-implemented method includes obtaining source code, obtaining automated tests, generating a software application based on the source code, the software application validated based on the automated tests and the software application includes the automated tests, deploying the software application to a production environment, obtaining update data, generating an updated application based on the update data, automatically validating the updated application based on the automated tests included in the software application, and deploying, based on the automatic validation, the updated application to the production environment.
    Type: Grant
    Filed: August 18, 2021
    Date of Patent: November 11, 2025
    Assignee: Red Hat, Inc.
    Inventors: Stuart Douglas, Jason Greene
  • Patent number: 12360756
    Abstract: Systems and methods for generating container images are described. An image tag comprising a set of code names is received at a virtual image server, wherein the virtual image server comprises a mapping of each code name of the set of code names to a corresponding image file. For each of the set of code names, a corresponding image file is retrieved from an image registry and an image manifest is generated by the virtual image server using the corresponding image file of each of the set of code names. The image manifest may reference the corresponding image file of each of the set of code names as a separate image layer. The virtual image server may provide the image manifest to a container host, which may build a container image based on the image manifest.
    Type: Grant
    Filed: September 14, 2022
    Date of Patent: July 15, 2025
    Assignee: Red Hat, Inc.
    Inventors: Stuart Douglas, Marek Goldman
  • Publication number: 20250004754
    Abstract: Systems, methods, and apparatuses for automatically rebuilding artifacts with code signature verification are provided herein. An example method comprises determining a first code signature of a provided artifact associated with a source code repository, rebuilding the source code repository to produce a new artifact, determining a second code signature of the new artifact, comparing the first code signature to the second code signature, and outputting a determination, wherein responsive to the new code signature matching the first code signature, the determination verifies interchangeability of the provided artifact and the new artifact, or responsive to the new code signature not matching the first code signature, the determination invalidates the new artifact.
    Type: Application
    Filed: June 30, 2023
    Publication date: January 2, 2025
    Inventors: David Walluck, Stuart Douglas
  • Publication number: 20240419424
    Abstract: Systems and methods for generating container images are described. An image definition file specifying a set of packages is received at a virtual image server. The image definition file may specify a set of packages and the virtual image server comprises a mapping of the image definition file to an image file corresponding to each of the set of packages. For each of the set of packages, the corresponding image file may be retrieved from an image registry and used to generate, by the virtual image server, an image manifest that references the corresponding image file for each of the set of packages as a separate image layer. The image manifest is provided to a container host, which may build a container image based on the image manifest.
    Type: Application
    Filed: August 29, 2024
    Publication date: December 19, 2024
    Inventors: Stuart Douglas, Marek Goldman
  • Patent number: 12093673
    Abstract: Systems and methods for generating container images are described. An image definition file specifying a set of packages is received at a virtual image server. The image definition file may specify a set of packages and the virtual image server comprises a mapping of the image definition file to an image file corresponding to each of the set of packages. For each of the set of packages, the corresponding image file may be retrieved from an image registry and used to generate, by the virtual image server, an image manifest that references the corresponding image file for each of the set of packages as a separate image layer. The image manifest is provided to a container host, which may build a container image based on the image manifest.
    Type: Grant
    Filed: September 23, 2022
    Date of Patent: September 17, 2024
    Assignee: Red Hat, Inc.
    Inventors: Stuart Douglas, Marek Goldman
  • Patent number: 12061538
    Abstract: The present disclosure provides new and innovative systems and methods for continuous testing of microservice applications. In an example, a computer-implemented method includes obtaining changes to source code, determining at least one related microservice related to the source code, determining at least one related microservice test related to the at least one microservice, executing automated tests to validate the source code, executing the at least one related microservice test to validate the at least one related microservice, generating test outcome data based on the automated tests and the at least one related microservice test, and providing a notification based on the test outcome data.
    Type: Grant
    Filed: March 23, 2022
    Date of Patent: August 13, 2024
    Assignee: Red Hat, Inc.
    Inventors: Stuart Douglas, Clement Escoffier
  • Publication number: 20240103823
    Abstract: Systems and methods for generating container images are described. An image definition file specifying a set of packages is received at a virtual image server. The image definition file may specify a set of packages and the virtual image server comprises a mapping of the image definition file to an image file corresponding to each of the set of packages. For each of the set of packages, the corresponding image file may be retrieved from an image registry and used to generate, by the virtual image server, an image manifest that references the corresponding image file for each of the set of packages as a separate image layer. The image manifest is provided to a container host, which may build a container image based on the image manifest.
    Type: Application
    Filed: September 23, 2022
    Publication date: March 28, 2024
    Inventors: Stuart Douglas, Marek Goldman
  • Publication number: 20240086168
    Abstract: Systems and methods for generating container images are described. An image tag comprising a set of code names is received at a virtual image server, wherein the virtual image server comprises a mapping of each code name of the set of code names to a corresponding image file. For each of the set of code names, a corresponding image file is retrieved from an image registry and an image manifest is generated by the virtual image server using the corresponding image file of each of the set of code names. The image manifest may reference the corresponding image file of each of the set of code names as a separate image layer. The virtual image server may provide the image manifest to a container host, which may build a container image based on the image manifest.
    Type: Application
    Filed: September 14, 2022
    Publication date: March 14, 2024
    Inventors: Stuart Douglas, Marek Goldman
  • Patent number: 11880674
    Abstract: Improved systems and methods for hot reloading software applications are provided. In one embodiment, a method is provide that includes detecting an update for a software application. It may be determined whether the update represents a change to a class structure of the software application. If the update does not represent a class change, framework metadata for a class corresponding to the update may be replaced. If the update represents a class change, a runtime executable unit of the software application may be removed and replaced. After replacing the framework metadata and/or the runtime executable unit, the software application may be executed according to the update.
    Type: Grant
    Filed: July 18, 2022
    Date of Patent: January 23, 2024
    Assignee: RED HAT, INC.
    Inventors: Stuart Douglas, Stephane Epardaud
  • Patent number: 11789762
    Abstract: A system includes a memory, a processor in communication with the memory, and a recorder. The recorder is configured to obtain a proxy for each respective real object. Each respective real object is related to a respective service. The recorder is also configured to record a sequence of each invocation on each respective proxy and generate an intermediate representation of an application that is configured to invoke the sequence of each invocation on each real object associated with each respective proxy.
    Type: Grant
    Filed: May 9, 2022
    Date of Patent: October 17, 2023
    Assignee: Red Hat, Inc.
    Inventor: Stuart Douglas
  • Publication number: 20230305951
    Abstract: The present disclosure provides new and innovative systems and methods for continuous testing of microservice applications. In an example, a computer-implemented method includes obtaining changes to source code, determining at least one related microservice related to the source code, determining at least one related microservice test related to the at least one microservice, executing automated tests to validate the source code, executing the at least one related microservice test to validate the at least one related microservice, generating test outcome data based on the automated tests and the at least one related microservice test, and providing a notification based on the test outcome data.
    Type: Application
    Filed: March 23, 2022
    Publication date: September 28, 2023
    Inventors: Stuart Douglas, Clement Escoffier
  • Patent number: 11748233
    Abstract: A system includes a memory and processor in communication with the memory. The processor is configured to receive a connection request at an emulation layer from an integrated development environment (IDE). The emulation layer connects, via a socket connection, with the IDE. Using the socket connection, the emulation layer receives a command. The command is decoded to retrieve a parameter and a reference to a native application. The command is mapped to a native debugger command and then used to debug the native application using the native debugger.
    Type: Grant
    Filed: April 30, 2020
    Date of Patent: September 5, 2023
    Assignee: Red Hat, Inc.
    Inventors: Stuart Douglas, Jason Greene
  • Patent number: 11726901
    Abstract: A system includes a processor in communication with a memory, a virtual machine running on the processor, and an application executing within the virtual machine. The virtual machine is associated with at least one testing tool configured to transform a plurality of application classes of the application, such that each respective class of the plurality of application classes is configured to track its respective usage. The testing tool is further configured to test the application with a plurality of tests, and while testing the application, map which respective classes of the plurality of application classes are used by respective tests. Additionally, the testing tool is configured to determine which class(es) is used by which tests (e.g., a subset of tests). Responsive to a first class being modified, the testing tool is configured to retest the application with the subset of tests.
    Type: Grant
    Filed: June 4, 2021
    Date of Patent: August 15, 2023
    Assignee: Red Hat, Inc.
    Inventors: Stuart Douglas, Georgios Andrianakis, Stephane Epardaud
  • Patent number: 11714657
    Abstract: A system includes a memory a processor. The processor is in communication with the memory. The processor is configured to receive an application, where the application was modified into a second configuration from a first configuration. Next, the processor determines differences in the application between the second configuration and the first configuration. A database is accessed, which includes a set of known potential modifications to the application and a set of patterns. The functionality of the known potential modifications is dependent on at least one of the set of patterns. The differences are analyzed to determine which of the set of patterns to include in the application, where the differences includes at least one of the set of known potential modifications in the application. The processor is configured to modify the application with the at least one of the set of patterns.
    Type: Grant
    Filed: August 21, 2020
    Date of Patent: August 1, 2023
    Assignee: Red Hat, Inc.
    Inventors: Stuart Douglas, Pedro Silva
  • Patent number: 11663020
    Abstract: A system includes a memory, a processor in communication with the memory, and a compiler. The compiler is configured to initialize at least one class for an application at compilation time, start a framework at compilation time, and serialize a framework container of the framework into a native image at compilation time. The processor is configured to run the native image to start the application.
    Type: Grant
    Filed: October 31, 2019
    Date of Patent: May 30, 2023
    Assignee: Red Hat, Inc.
    Inventors: Stuart Douglas, David Lloyd
  • Publication number: 20230059134
    Abstract: The present disclosure provides new and innovative systems and methods for in-place upgrades of applications. In an example, a computer-implemented method includes obtaining source code, obtaining automated tests, generating a software application based on the source code, the software application validated based on the automated tests and the software application includes the automated tests, deploying the software application to a production environment, obtaining update data, generating an updated application based on the update data, automatically validating the updated application based on the automated tests included in the software application, and deploying, based on the automatic validation, the updated application to the production environment.
    Type: Application
    Filed: August 18, 2021
    Publication date: February 23, 2023
    Inventors: Stuart Douglas, Jason Greene
  • Patent number: 11544090
    Abstract: A system includes a memory and a processor in communication with the memory. The processor is configured to process at least one application file and generate bytecode, responsive to processing the at least one application file, from the at least one application file prior to start-up time. The bytecode contains a metamodel and the metamodel controls dependency injection. Additionally, the metamodel is classified as at least one of a first class that is generated at start-up time, a second class that is generated as source files and compiled at compile time, and a third class that is generated directly as bytecode. The processor is also configured to store the bytecode associated with the third class of metamodel.
    Type: Grant
    Filed: March 26, 2021
    Date of Patent: January 3, 2023
    Assignee: Red Hat, Inc.
    Inventors: Stuart Douglas, Martin Kouba
  • Publication number: 20220391309
    Abstract: A system includes a processor in communication with a memory, a virtual machine running on the processor, and an application executing within the virtual machine. The virtual machine is associated with at least one testing tool configured to transform a plurality of application classes of the application, such that each respective class of the plurality of application classes is configured to track its respective usage. The testing tool is further configured to test the application with a plurality of tests, and while testing the application, map which respective classes of the plurality of application classes are used by respective tests. Additionally, the testing tool is configured to determine which class(es) is used by which tests (e.g., a subset of tests). Responsive to a first class being modified, the testing tool is configured to retest the application with the subset of tests.
    Type: Application
    Filed: June 4, 2021
    Publication date: December 8, 2022
    Inventors: Stuart Douglas, Georgios Andrianakis, Stephane Epardaud
  • Publication number: 20220350593
    Abstract: Improved systems and methods for hot reloading software applications are provided. In one embodiment, a method is provide that includes detecting an update for a software application. It may be determined whether the update represents a change to a class structure of the software application. If the update does not represent a class change, framework metadata for a class corresponding to the update may be replaced. If the update represents a class change, a runtime executable unit of the software application may be removed and replaced. After replacing the framework metadata and/or the runtime executable unit, the software application may be executed according to the update.
    Type: Application
    Filed: July 18, 2022
    Publication date: November 3, 2022
    Inventors: Stuart Douglas, Stephane Epardaud
  • Publication number: 20220269518
    Abstract: A system includes a memory, a processor in communication with the memory, and a recorder. The recorder is configured to obtain a proxy for each respective real object. Each respective real object is related to a respective service. The recorder is also configured to record a sequence of each invocation on each respective proxy and generate an intermediate representation of an application that is configured to invoke the sequence of each invocation on each real object associated with each respective proxy.
    Type: Application
    Filed: May 9, 2022
    Publication date: August 25, 2022
    Inventor: Stuart Douglas