Patents by Inventor Douglas James McMahon

Douglas James 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: 12287777
    Abstract: JSON Duality Views are object views that return JDV objects. JDV objects are virtual because they are not stored in a database as JSON objects. Rather, JDV objects are stored in shredded form across tables and table attributes (e.g. columns) and returned by a DBMS in response to database commands that request a JDV object from a JSON Duality View. Through JSON Duality Views, changes to the state of a JDV object may be specified at the level of a JDV object. JDV objects are updated in a database using optimistic lock.
    Type: Grant
    Filed: October 14, 2022
    Date of Patent: April 29, 2025
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Zhen Hua Liu, Juan R. Loaiza, Sundeep Abraham, Shubha Bose, Hui Joe Chang, Shashank Gugnani, Beda Christoph Hammerschmidt, Tirthankar Lahiri, Ying Lu, Douglas James McMahon, Aurosish Mishra, Ajit Mylavarapu, Sukhada Pendse, Ananth Raghavan
  • Patent number: 11640380
    Abstract: Herein is acceleration for JavaScript object notation (JSON) documents in a relational database based on multilevel, multifield, multivalued indexing and querying. In an embodiment, into a table in a relational database, a computer stores many hierarchical data objects that respectively contain multiple levels that respectively contain one or more fields. An index is generated for indexed values in fields in at least two of the multiple levels. Based on the index, a database statement that references the table in the relational database and at least one of the indexed fields is executed. Indices herein provide matching to more fields in more levels of hierarchical data objects thereby decreasing or eliminating further filtering by brute force after index access. Matching ordinal positions within an array field needs no further filtration after index access. A single index provides increased spatial locality of index entries for acceleration. Index maintenance is minimized for acceleration.
    Type: Grant
    Filed: March 10, 2021
    Date of Patent: May 2, 2023
    Assignee: Oracle International Corporation
    Inventors: Hui Zhang, Zhen Hua Liu, Ying Lu, Beda Christoph Hammerschmidt, Douglas James McMahon, Denis B. Mukhin
  • Patent number: 11550785
    Abstract: Described is a system, method, and computer program product to perform bi-directional mapping of hierarchical data (e.g. JSON, XML) to database object types (e.g., user defined database object types).
    Type: Grant
    Filed: April 19, 2019
    Date of Patent: January 10, 2023
    Inventors: Beda Christoph Hammerschmidt, Zhen Hua Liu, Vikas Arora, Chandrasekharan Iyer, Beethoven Cheng, Ying Hu, Douglas James McMahon
  • Patent number: 11409741
    Abstract: Functionalities of new data types are enabled for data stored using native data types (“recognized data types”) supported by DBMSs. Values having a latent data type may be stored using a recognized data type of a DBMS. That is, a value stored in a database table may be recognized by a DBMS as having a recognized data type (e.g., character string) but the value may also include information that indicates the value conforms to a particular latent data type. DBMSs compile database statements. The database statement can contain multiple expressions that may specify a latent data type or that may have a recognized data type but that also imply latent data types. By determining that various expressions have latent data types, operations that rely on the expressions as having a latent data type may be validated in a query and executed accordingly.
    Type: Grant
    Filed: May 30, 2018
    Date of Patent: August 9, 2022
    Assignee: Oracle International Corporation
    Inventors: Beda Christoph Hammerschmidt, Zhen Hua Liu, Vikas Arora, Prakashkumar Thiagarajan, Douglas James McMahon
  • Publication number: 20220229971
    Abstract: Herein are fine grained updates to pieces of JavaScript object notation (JSON) documents by database statements that can update, delete, and insert parts of JSON documents. In an embodiment, a computer receives a request that specifies a modification of a JSON document that is stored in a compressed format in persistent storage. The modification adds additional content to the JSON document, and/or replaces an old value in the JSON document with a new value that is not a same size as the old value. The modification is recorded in a change log. The change log is eventually applied to the compressed format of the JSON document in the persistent storage without entirely rewriting the compressed format of the JSON document in the persistent storage.
    Type: Application
    Filed: April 7, 2022
    Publication date: July 21, 2022
    Inventors: Zhen Hua Liu, Beda Christoph Hammerschmidt, Douglas James McMahon, Joshua Jeffrey Spiegel
  • Patent number: 11341317
    Abstract: Herein are fine grained updates to pieces of JavaScript object notation (JSON) documents by database statements that can update, delete, and insert parts of JSON documents. In an embodiment, a computer receives a request that specifies a modification of a JSON document that is stored in a compressed format in persistent storage. The modification adds additional content to the JSON document, and/or replaces an old value in the JSON document with a new value that is not a same size as the old value. The modification is recorded in a change log. The change log is eventually applied to the compressed format of the JSON document in the persistent storage without entirely rewriting the compressed format of the JSON document in the persistent storage.
    Type: Grant
    Filed: April 30, 2020
    Date of Patent: May 24, 2022
    Assignee: Oracle International Corporation
    Inventors: Zhen Hua Liu, Beda Christoph Hammerschmidt, Douglas James Mcmahon, Joshua Jeffrey Spiegel
  • Publication number: 20200334244
    Abstract: Described is a system, method, and computer program product to perform bi-directional mapping of hierarchical data (e.g. JSON, XML) to database object types (e.g., user defined database object types).
    Type: Application
    Filed: April 19, 2019
    Publication date: October 22, 2020
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Beda Christoph HAMMERSCHMIDT, Zhen Hua LIU, Vikas ARORA, CHANDRASEKHARAN IYER, Beethoven CHENG, Ying HU, Douglas James McMahon
  • Publication number: 20200117736
    Abstract: Functionalities of new data types are enabled for data stored using native data types (“recognized data types”) supported by DBMSs. Values having a latent data type may be stored using a recognized data type of a DBMS. That is, a value stored in a database table may be recognized by a DBMS as having a recognized data type (e.g., character string) but the value may also include information that indicates the value conforms to a particular latent data type. DBMSs compile database statements. The database statement can contain multiple expressions that may specify a latent data type or that may have a recognized data type but that also imply latent data types. By determining that various expressions have latent data types, operations that rely on the expressions as having a latent data type may be validated in a query and executed accordingly.
    Type: Application
    Filed: May 30, 2018
    Publication date: April 16, 2020
    Inventors: Beda Christoph Hammerschmidt, Zhen Hua Liu, Vikas Arora, Prakashkumar Thiagarajan, Douglas James McMahon
  • Patent number: 10528538
    Abstract: Techniques are described herein for using user-defined aggregate functions for updating inverted index tables. A user-defined aggregate function is registered in a database system for updating an index table based on changes stored in a staging table. A query specifying the user-defined aggregate function may be executed in parallel to parallelize the updating of the index table.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: January 7, 2020
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Zhen Hua Liu, Aleksandra Czarlinska, Douglas James McMahon, Asha Makur
  • Publication number: 20190370373
    Abstract: Functionalities of new data types are enabled for data stored using native data types (“recognized data types”) supported by DBMSs. Values having a latent data type may be stored using a recognized data type of a DBMS. That is, a value stored in a database table may be recognized by a DBMS as having a recognized data type (e.g., character string) but the value may also include information that indicates the value conforms to a particular latent data type. DBMSs compile database statements. The database statement can contain multiple expressions that may specify a latent data type or that may have a recognized data type but that also imply latent data types. By determining that various expressions have latent data types, operations that rely on the expressions as having a latent data type may be validated in a query and executed accordingly.
    Type: Application
    Filed: May 30, 2018
    Publication date: December 5, 2019
    Inventors: Beda Christoph Hammerschmidt, Zhen Hua Liu, Vikas Arora, Prakashkumar Thiagarajan, Douglas James McMahon
  • Publication number: 20180096007
    Abstract: Techniques are described herein for using user-defined aggregate functions for updating inverted index tables. A user-defined aggregate function is registered in a database system for updating an index table based on changes stored in a staging table. A query specifying the user-defined aggregate function may be executed in parallel to parallelize the updating of the index table.
    Type: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Zhen Hua Liu, Aleksandra Czarlinska, Douglas James McMahon, Asha Makur
  • Patent number: 7627615
    Abstract: Approach for versioning of documents is described. A version accumulator structure stores one or more version values indicating different versions of a data object. The data object is decomposable into a plurality of nodes. One or more copies of each node of the plurality of nodes are stored, where the one or more copies are associated with non-overlapping version ranges. A first request to perform a change to the data object is received. The first request specifies an effective version value for the change, which involves a particular node. The change is performed based on the effective version value and without making a deep copy of the data object. A second request to retrieve a certain version of the data object is received. The certain version is retrieved based on the version ranges associated with the one or more copies of each node of the plurality of nodes.
    Type: Grant
    Filed: October 30, 2006
    Date of Patent: December 1, 2009
    Assignee: Oracle International Corporation
    Inventor: Douglas James McMahon
  • Patent number: 7412700
    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: Grant
    Filed: May 18, 2004
    Date of Patent: August 12, 2008
    Assignee: Oracle International Corporation
    Inventors: Mohammad Shoaib Lari, Rajendra S. Pingte, Srinath Krishnaswamy, Douglas James McMahon
  • Publication number: 20080104141
    Abstract: Approach for versioning of documents is described. A version accumulator structure stores one or more version values indicating different versions of a data object. The data object is decomposable into a plurality of nodes. One or more copies of each node of the plurality of nodes are stored, where the one or more copies are associated with non-overlapping version ranges. A first request to perform a change to the data object is received. The first request specifies an effective version value for the change, which involves a particular node. The change is performed based on the effective version value and without making a deep copy of the data object. A second request to retrieve a certain version of the data object is received. The certain version is retrieved based on the version ranges associated with the one or more copies of each node of the plurality of nodes.
    Type: Application
    Filed: October 30, 2006
    Publication date: May 1, 2008
    Inventor: Douglas James McMahon
  • Patent number: 7281003
    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: Grant
    Filed: September 15, 2004
    Date of Patent: October 9, 2007
    Assignee: Oracle International Corporation
    Inventors: Chon Hei Lei, Douglas James McMahon
  • Patent number: 6631371
    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: Grant
    Filed: September 18, 2002
    Date of Patent: October 7, 2003
    Assignee: Oracle International Corporation
    Inventors: Chon Hei Lei, Douglas James McMahon
  • Patent number: 6606627
    Abstract: Techniques for allowing an application designed to store data for one group of users to store data for a plurality of groups of users include modifying the application to cause the application to indicate a routine to a database server that stores data for the application in a database. The routine provides modifications to queries of the database, which limit access based on the groups to which belong users that cause the queries to be submitted. In response to receiving a query involving the database and caused by a particular user, the database server locates the routine, and, prior to executing the query, modifies the query. Modifying the query includes invoking the routine. The modification to the query thereby limits access of the particular user to data that is associated with the group of users to which the particular user belongs.
    Type: Grant
    Filed: August 27, 2001
    Date of Patent: August 12, 2003
    Assignee: Oracle Corporation
    Inventors: Christine Pae Guthrie, Jesper Andersen, Douglas James McMahon
  • Patent number: 6587854
    Abstract: A method and apparatus are provided for storing data of multiple enterprises in a set of database objects in a database system and allowing multiple enterprises to interact with the database system as if those database objects contained only their data. According to an aspect of the present invention, a database command issued against a database object by a user is modified by adding predicates that limit access to data associated with the enterprise in which the user has data access. The predicates may specify conditions based on a column in the database object that identifies the enterprise. When a user issues a database command to add data to the database object, the column is populated in a manner transparent to the user. The data in the database object that is associated with a particular enterprise is stored in a separate tablespace.
    Type: Grant
    Filed: May 31, 2001
    Date of Patent: July 1, 2003
    Assignee: Oracle Corporation
    Inventors: Christine Pae Guthrie, Jesper Andersen, Chon Hei Lei, Douglas James McMahon
  • Patent number: 6487552
    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: Grant
    Filed: October 5, 1998
    Date of Patent: November 26, 2002
    Assignee: Oracle Corporation
    Inventors: Chon Hei Lei, Douglas James McMahon
  • Patent number: 5787410
    Abstract: The present invention provides a computer implemented method and apparatus for storing and retrieving data in a database management system (DBMS) in multiple languages, simultaneously, using a fully-populated Sub-Table. In one embodiment, the method and apparatus include generating a Base Table and a Translation Sub-Table. The Base Table includes base rows, each having a primary key and zero or more untranslatable values, exclusive of translatable data values. The Translation Sub-Table includes sets of sub-table rows, wherein each set of sub-table rows corresponds to a base row in the Base Table. In each set of sub-table rows, a sub-table row is provided for each operational language having at least one translatable data value corresponding to the primary key of the respective base row.
    Type: Grant
    Filed: February 20, 1996
    Date of Patent: July 28, 1998
    Assignee: Oracle Corporation
    Inventor: Douglas James McMahon