Patents by Inventor Alexander R. Buckley

Alexander R. Buckley 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: 11048489
    Abstract: An annotation is applicable to a module element if a particular condition is satisfied; the annotation is not applicable (and an error or warning may be presented) if the particular condition is not satisfied. In an embodiment, a condition for applicability of an annotation to a module element requires that a module descriptor associated with a defining module declares use of at least one implementation of the module element. A condition associated with an annotation may be specified in a meta-annotation annotating a declaration of an annotation type associated with the annotation.
    Type: Grant
    Filed: June 4, 2019
    Date of Patent: June 29, 2021
    Assignee: Oracle International Corporation
    Inventor: Alexander R. Buckley
  • Publication number: 20210036944
    Abstract: Techniques for ranking service implementations for a service interface are disclosed. Each module that includes a service implementation may be referred to as a “service provider module.” The ranking of the service implementations, for the particular service interface, may be based on modular information. Modular information includes information associated with module dependencies and/or service dependencies corresponding to one or more of a candidate set of service provider modules. Additionally or alternatively, the ranking of the service implementations, for the particular service interface, may be based on statically-available information and/or dynamically-available information associated with one or more of a candidate set of service implementations.
    Type: Application
    Filed: October 19, 2020
    Publication date: February 4, 2021
    Applicant: Oracle International Corporation
    Inventors: Alexander R. Buckley, Eric Sutton
  • Patent number: 10848410
    Abstract: Techniques for ranking service implementations for a service interface are disclosed. Each module that includes a service implementation may be referred to as a “service provider module.” The ranking of the service implementations, for the particular service interface, may be based on modular information. Modular information includes information associated with module dependencies and/or service dependencies corresponding to one or more of a candidate set of service provider modules. Additionally or alternatively, the ranking of the service implementations, for the particular service interface, may be based on statically-available information and/or dynamically-available information associated with one or more of a candidate set of service implementations.
    Type: Grant
    Filed: March 29, 2017
    Date of Patent: November 24, 2020
    Assignee: Oracle International Corporation
    Inventors: Alexander R. Buckley, Eric Sutton
  • Patent number: 10846417
    Abstract: Techniques for identifying permitted illegal access operations in a module system are disclosed. An operation, expressed in a first module, that attempts to access a module element of a second module is identified. Based on a module declaration associated with the second module, the module element is determined inaccessible to the first module. Additionally or alternatively, based on an access modifier associated with the module element, the module element is determined inaccessible to the operation. The operation is determined as an illegal access operation. The illegal access operation is permitted to access the module element. A warning corresponding to the illegal access operation is generated.
    Type: Grant
    Filed: October 17, 2017
    Date of Patent: November 24, 2020
    Assignee: Oracle International Corporation
    Inventors: Alan Bateman, Chris Hegarty, Alexander R. Buckley, Brian Goetz, Mark B. Reinhold
  • Publication number: 20200264846
    Abstract: A runtime environment generates a proxy class in response to detecting a request for a proxy object. The proxy class implements a set of interfaces specified by the request for the proxy object. The runtime environment selects or generates a proxy module, in a module system, to include the proxy class. The runtime environment exposes interfaces from other modules to the proxy module using a qualified export that does not expose the interfaces to modules other than the proxy module. The runtime environment does not expose the proxy class, of the proxy module, to other modules in the module system.
    Type: Application
    Filed: May 6, 2020
    Publication date: August 20, 2020
    Applicant: Oracle International Corporation
    Inventors: Alexander R. Buckley, Mandy Chung, Alan Bateman
  • Publication number: 20200249940
    Abstract: Techniques for inferring code deprecation from module deprecation are disclosed. A system detects a reference to a type. The system determines that a particular module, in a plurality of modules in a module system, exposes the referenced type. The system determines that the particular module is associated with a deprecation status. Responsive to determining that the particular module is associated with the deprecation status, the system presents information indicating that the reference references a deprecated module.
    Type: Application
    Filed: April 23, 2020
    Publication date: August 6, 2020
    Applicant: Oracle International Corporation
    Inventors: Chris Hegarty, Alexander R. Buckley, Stuart Warren Marks
  • Patent number: 10713025
    Abstract: Declarations of annotation types, which specify annotations, are themselves annotated by meta-annotations. Meta-annotations define constraints based on modular dependencies.
    Type: Grant
    Filed: February 28, 2019
    Date of Patent: July 14, 2020
    Assignee: Oracle International Corporation
    Inventor: Alexander R. Buckley
  • Patent number: 10684827
    Abstract: A runtime environment generates a proxy class in response to detecting a request for a proxy object. The proxy class implements a set of interfaces specified by the request for the proxy object. The runtime environment selects or generates a proxy module, in a module system, to include the proxy class. The runtime environment exposes interfaces from other modules to the proxy module using a qualified export that does not expose the interfaces to modules other than the proxy module. The runtime environment does not expose the proxy class, of the proxy module, to other modules in the module system.
    Type: Grant
    Filed: August 23, 2018
    Date of Patent: June 16, 2020
    Assignee: Oracle International Corporation
    Inventors: Alexander R. Buckley, Mandy Chung, Alan Bateman
  • Patent number: 10671383
    Abstract: Techniques for inferring code deprecation from module deprecation are disclosed. A system detects a reference to a type. The system determines that a particular module, in a plurality of modules in a module system, exposes the referenced type. The system determines that the particular module is associated with a deprecation status. Responsive to determining that the particular module is associated with the deprecation status, the system presents information indicating that the reference references a deprecated module.
    Type: Grant
    Filed: December 4, 2017
    Date of Patent: June 2, 2020
    Assignee: Oracle International Corporation
    Inventors: Chris Hegarty, Alexander R. Buckley, Stuart Warren Marks
  • Patent number: 10521200
    Abstract: A runtime environment identifies a request for a proxy object whose class implements a plurality of interfaces. Responsive to the request, the runtime object generates a class for the proxy object. Generating the class comprises determining that two or more interfaces, of the plurality of interfaces, define a respective method body with a same method signature. Responsive to determining that the two or more interfaces define a respective method body with a same method signature, the runtime environment may (a) omit a method body, in the class, for a particular method corresponding to the method signature, (b) include a method body that triggers a runtime error, or (c) include a method body that includes operations to select a default method declared in one of the two or more interfaces.
    Type: Grant
    Filed: November 9, 2017
    Date of Patent: December 31, 2019
    Assignee: Oracle International Corporation
    Inventors: Alexander R. Buckley, Lai Hung Mandy Chung
  • Patent number: 10459708
    Abstract: A bridge module is generated to bridge standard modules in a module system and non-module code in a non-module system. The bridge module includes explicit dependencies associated with a namespace, such as a dependency path corresponding to the non-module code. The bridge module exposes packages of the non-module code at least to the standard modules. Operations are performed on a code base that uses standard modules, bridge modules, and non-module code.
    Type: Grant
    Filed: March 1, 2017
    Date of Patent: October 29, 2019
    Assignee: Oracle International Corporation
    Inventors: Alexander R. Buckley, Mark B. Reinhold, Jonathan J. Gibbons, Alan E. Bateman, Mandy L. Chung
  • Publication number: 20190286431
    Abstract: Declarations of annotation types, which specify annotations, are themselves annotated by meta-annotations. Meta-annotations define constraints based on modular encapsulation.
    Type: Application
    Filed: June 4, 2019
    Publication date: September 19, 2019
    Applicant: Oracle International Corporation
    Inventor: Alexander R. Buckley
  • Patent number: 10394610
    Abstract: Techniques for managing split packages in a module system are disclosed. A code conflict exists between two packages, in different modules, based at least in part on the packages being named identically and including executable code. No code conflict exists between two other identically-named packages, in different modules, based at least in part on the packages not including any executable code. Managing split packages may be based, at least in part, on module membership records associated with the modules.
    Type: Grant
    Filed: September 30, 2017
    Date of Patent: August 27, 2019
    Assignee: Oracle International Corporation
    Inventors: Alexander R. Buckley, Lai Hung Mandy Chung, Mark B. Reinhold, Alan Bateman
  • Patent number: 10367822
    Abstract: Access to a module element within a first module by a second module is prohibited if the module element within the first module has not been exposed to the second module. If a particular module element within a first module has been exposed to a second module, then access to the particular module element by the second module may or may not be allowed depending on: (a) whether the particular module element has been declared with a public or non-public access modifier, (b) whether a second exposed module element, which includes the particular module element, has been declared with a public or non-public access modifier, (c) a level of access associated with the operation that attempts to access the particular module element of the first module, and/or (d) whether an accessibility override configuration is set for accessing the particular module element.
    Type: Grant
    Filed: August 23, 2018
    Date of Patent: July 30, 2019
    Assignee: Oracle International Corporation
    Inventors: Alexander R. Buckley, Mark B. Reinhold, Alan Bateman, Paul Sandoz, Chris Hegarty
  • Patent number: 10360008
    Abstract: Declarations of annotation types, which specify annotations, are themselves annotated by meta-annotations. Meta-annotations define constraints based on modular encapsulation.
    Type: Grant
    Filed: June 29, 2017
    Date of Patent: July 23, 2019
    Assignee: Oracle International Corporation
    Inventor: Alexander R. Buckley
  • Patent number: 10346225
    Abstract: Techniques for renaming a module in a module system are disclosed. It is determined that a first module is declared with a corresponding first module name. It is determined that the first module is associated with a second module name. Responsive to determining that the first module is associated with the second module name: a second module declared with the second module name is synthesized, and a dependency of the second module, with the second module name, is declared on the first module with the first module name.
    Type: Grant
    Filed: September 14, 2017
    Date of Patent: July 9, 2019
    Assignee: Oracle International Corporation
    Inventors: Alexander R. Buckley, Alan Bateman
  • Publication number: 20190196799
    Abstract: Declarations of annotation types, which specify annotations, are themselves annotated by meta-annotations. Meta-annotations define constraints based on modular dependencies.
    Type: Application
    Filed: February 28, 2019
    Publication date: June 27, 2019
    Applicant: Oracle International Corporation
    Inventor: Alexander R. Buckley
  • Publication number: 20190171444
    Abstract: Techniques for inferring code deprecation from module deprecation are disclosed. A system detects a reference to a type. The system determines that a particular module, in a plurality of modules in a module system, exposes the referenced type. The system determines that the particular module is associated with a deprecation status. Responsive to determining that the particular module is associated with the deprecation status, the system presents information indicating that the reference references a deprecated module.
    Type: Application
    Filed: December 4, 2017
    Publication date: June 6, 2019
    Applicant: Oracle International Corporation
    Inventors: Chris Hegarty, Alexander R. Buckley, Stuart Warren Marks
  • Patent number: 10282184
    Abstract: Declarations of annotation types, which specify annotations, are themselves annotated by meta-annotations. Meta-annotations define constraints based on modular dependencies.
    Type: Grant
    Filed: June 29, 2017
    Date of Patent: May 7, 2019
    Assignee: Oracle International Corporation
    Inventor: Alexander R. Buckley
  • Publication number: 20190102230
    Abstract: Techniques for managing split packages in a module system are disclosed. A code conflict exists between two packages, in different modules, based at least in part on the packages being named identically and including executable code. No code conflict exists between two other identically-named packages, in different modules, based at least in part on the packages not including any executable code. Managing split packages may be based, at least in part, on module membership records associated with the modules.
    Type: Application
    Filed: September 30, 2017
    Publication date: April 4, 2019
    Applicant: Oracle International Corporation
    Inventors: Alexander R. Buckley, Lai Hung Mandy Chung, Mark B. Reinhold, Alan Bateman