Patents by Inventor Douglas McMahon

Douglas McMahon 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: 10262012
    Abstract: Techniques related to binary encoding of hierarchical data objects to support efficient path navigation of the hierarchical data objects are disclosed. A hierarchical data object may include field names that are associated with field values. A method may involve generating a plurality of hash codes, each hash code corresponding to a respective field name. The method may involve generating a hash-code mapping that maps each hash code to a respective field-name identifier. The method may involve generating a field-name mapping that maps each field name to a respective field-name identifier. The method may involve generating a hierarchical tree of nodes that includes non-leaf nodes and leaf nodes. A particular non-leaf node may include a child node mapping that maps the particular non-leaf node to one or more child nodes and may include a field-name-identifier-to-child mapping that maps a respective field-name identifier to each of the one or more child nodes.
    Type: Grant
    Filed: August 26, 2015
    Date of Patent: April 16, 2019
    Assignee: Oracle International Corporation
    Inventors: Zhen Hua Liu, Beda Hammerschmidt, Douglas McMahon
  • Patent number: 10191944
    Abstract: Techniques are provided for de-normalizing semi-structured hierarchical data into a virtual table. At least a portion of semi-structured data document collection is denormalized for improving the execution of queries that involves a traversal of the semi-structured data hierarchy of the semi-structured data document collection, in an embodiment. Based on the extracted schema of the semi-structured data, a de-normalized arrangement is generated, in which the hierarchical relationship of the semi-structured data is converted into a set of columns. The denormalized arrangement is materialized by applying the de-normalized arrangement onto the semi-structured data. The materialized arrangement, the virtual table, may be stored on a persistent storage or kept in volatile memory. The virtual table may be stored in one format on the persistent storage and in another format in the volatile memory.
    Type: Grant
    Filed: March 23, 2016
    Date of Patent: January 29, 2019
    Assignee: Oracle International Corporation
    Inventors: Zhen Hua Liu, Beda Hammerschmidt, Douglas McMahon, Ying Lu
  • Patent number: 9864816
    Abstract: A data guide is dynamically generated. The data guide describes the structures of hierarchical data objects added to a collection of hierarchical data objects. Examples of hierarchical data objects are documents that conform to XML (Extensible Mark-up Language) or data objects that conform to JSON (JavaScript Object Notation). The data guide may be created and/or updated as hierarchical data objects are added to the collection.
    Type: Grant
    Filed: April 29, 2015
    Date of Patent: January 9, 2018
    Assignee: Oracle International Corporation
    Inventors: Zhen Hua Liu, Beda Christoph Hammerschmidt, Ying Lu, Rahul Manohar Kadwe, Douglas McMahon
  • Patent number: 9659045
    Abstract: Hierarchical data objects are indexed using an index referred to herein as a hierarchy-value index. A hierarchy-value index has, as index keys, tokens (tag name, a word in node string value) that are extracted from hierarchical data objects. Each token is mapped to the locations that correspond to the data for the token in hierarchical data objects. A token can represent a non-leaf node, such as an XML element or a JSON field. A location can be a region covering and subsuming child nodes. For a token that represents a non-leaf node, a location to which the token is mapped contains the location of any token corresponding to a descendant node of the non-leaf node. Thus, token containment based on the locations of tokens within a hierarchical data object may be used to determine containment relationships between nodes in a hierarchical data object.
    Type: Grant
    Filed: September 26, 2014
    Date of Patent: May 23, 2017
    Assignee: Oracle International Corporation
    Inventors: Zhen Hua Liu, Beda Hammerschmidt, Douglas McMahon
  • Publication number: 20170116273
    Abstract: Techniques are provided for de-normalizing semi-structured hierarchical data into a virtual table. At least a portion of semi-structured data document collection is denormalized for improving the execution of queries that involves a traversal of the semi-structured data hierarchy of the semi-structured data document collection, in an embodiment. Based on the extracted schema of the semi-structured data, a de-normalized arrangement is generated, in which the hierarchical relationship of the semi-structured data is converted into a set of columns. The denormalized arrangement is materialized by applying the de-normalized arrangement onto the semi-structured data. The materialized arrangement, the virtual table, may be stored on a persistent storage or kept in volatile memory. The virtual table may be stored in one format on the persistent storage and in another format in the volatile memory.
    Type: Application
    Filed: March 23, 2016
    Publication date: April 27, 2017
    Inventors: ZHEN HUA LIU, BEDA HAMMERSCHMIDT, DOUGLAS MCMAHON, YING LU
  • Publication number: 20170060912
    Abstract: Techniques related to binary encoding of hierarchical data objects to support efficient path navigation of the hierarchical data objects are disclosed. A hierarchical data object may include field names that are associated with field values. A method may involve generating a plurality of hash codes, each hash code corresponding to a respective field name. The method may involve generating a hash-code mapping that maps each hash code to a respective field-name identifier. The method may involve generating a field-name mapping that maps each field name to a respective field-name identifier. The method may involve generating a hierarchical tree of nodes that includes non-leaf nodes and leaf nodes. A particular non-leaf node may include a child node mapping that maps the particular non-leaf node to one or more child nodes and may include a field-name-identifier-to-child mapping that maps a respective field-name identifier to each of the one or more child nodes.
    Type: Application
    Filed: August 26, 2015
    Publication date: March 2, 2017
    Inventors: ZHEN HUA LIU, BEDA HAMMERSCHMIDT, DOUGLAS McMAHON
  • Publication number: 20160321375
    Abstract: A data guide is dynamically generated. The data guide describes the structures of hierarchical data objects added to a collection of hierarchical data objects. Examples of hierarchical data objects are documents that conform to XML (Extensible Mark-up Language) or data objects that conform to JSON (JavaScript Object Notation). The data guide may be created and/or updated as hierarchical data objects are added to the collection.
    Type: Application
    Filed: April 29, 2015
    Publication date: November 3, 2016
    Inventors: Zhen Hua Liu, Beda Christoph Hammerschmidt, Ying Lu, Rahul Manohar Kadwe, Douglas McMahon
  • Publication number: 20150134670
    Abstract: Hierarchical data objects are indexed using an index referred to herein as a hierarchy-value index. A hierarchy-value index has, as index keys, tokens (tag name, a word in node string value) that are extracted from hierarchical data objects. Each token is mapped to the locations that correspond to the data for the token in hierarchical data objects. A token can represent a non-leaf node, such as an XML element or a JSON field. A location can be a region covering and subsuming child nodes. For a token that represents a non-leaf node, a location to which the token is mapped contains the location of any token corresponding to a descendant node of the non-leaf node. Thus, token containment based on the locations of tokens within a hierarchical data object may be used to determine containment relationships between nodes in a hierarchical data object.
    Type: Application
    Filed: September 26, 2014
    Publication date: May 14, 2015
    Inventors: Zhen Hua Liu, Beda Hammerschmidt, Douglas McMahon
  • Publication number: 20050262502
    Abstract: Files of software to be installed in a computer are packaged as follows. A source file is prepared to contain at least a declaration of an array of sufficient space to accommodate the files to be packaged. The source file is compiled into an executable file. Thereafter, the array in the executable file is overwritten with data from each file being packaged. Depending on the embodiment, the address of where each file begins in the executable file and each file's name may be stored in the same executable file or in a different file. The stored file names are used to identify an address of a file from its name, when the named file is first accessed. In several embodiments, the operating system loads the executable file as a library that is automatically shared by multiple instances of the application (or by multiple applications), to efficiently use physical memory.
    Type: Application
    Filed: May 18, 2004
    Publication date: November 24, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mohammad Lari, Rajendra Pingte, Srinath Krishnaswamy, Douglas McMahon
  • Publication number: 20050038783
    Abstract: A method and mechanism are provided for accessing data. Values are stored for a set of context attributes associated with a session between a database user and a database server. The database system includes an attribute setting mechanism that selectively restricts access to the set of context attributes based on a policy. During the session, the database server executes a query that contains a reference to one or more of the context attributes. For example, the query may contain a predicate that requires a comparison between a context attribute value and a constant. The database server processes the query based on current values of the one or more of the context attributes referenced in the query. A mechanism is also provided for dynamically attaching predicates to queries, where the predicates are attached based on a policy. For example, the database system detects that a query is issued against a database object.
    Type: Application
    Filed: September 15, 2004
    Publication date: February 17, 2005
    Inventors: Chon Lei, Douglas McMahon