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: 12287777Abstract: 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: GrantFiled: October 14, 2022Date of Patent: April 29, 2025Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: 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: 11640380Abstract: 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: GrantFiled: March 10, 2021Date of Patent: May 2, 2023Assignee: Oracle International CorporationInventors: Hui Zhang, Zhen Hua Liu, Ying Lu, Beda Christoph Hammerschmidt, Douglas James McMahon, Denis B. Mukhin
-
Patent number: 11550785Abstract: 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: GrantFiled: April 19, 2019Date of Patent: January 10, 2023Inventors: Beda Christoph Hammerschmidt, Zhen Hua Liu, Vikas Arora, Chandrasekharan Iyer, Beethoven Cheng, Ying Hu, Douglas James McMahon
-
Patent number: 11409741Abstract: 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: GrantFiled: May 30, 2018Date of Patent: August 9, 2022Assignee: Oracle International CorporationInventors: Beda Christoph Hammerschmidt, Zhen Hua Liu, Vikas Arora, Prakashkumar Thiagarajan, Douglas James McMahon
-
Publication number: 20220229971Abstract: 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: ApplicationFiled: April 7, 2022Publication date: July 21, 2022Inventors: Zhen Hua Liu, Beda Christoph Hammerschmidt, Douglas James McMahon, Joshua Jeffrey Spiegel
-
Patent number: 11341317Abstract: 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: GrantFiled: April 30, 2020Date of Patent: May 24, 2022Assignee: Oracle International CorporationInventors: Zhen Hua Liu, Beda Christoph Hammerschmidt, Douglas James Mcmahon, Joshua Jeffrey Spiegel
-
Publication number: 20200334244Abstract: 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: ApplicationFiled: April 19, 2019Publication date: October 22, 2020Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Beda Christoph HAMMERSCHMIDT, Zhen Hua LIU, Vikas ARORA, CHANDRASEKHARAN IYER, Beethoven CHENG, Ying HU, Douglas James McMahon
-
Publication number: 20200117736Abstract: 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: ApplicationFiled: May 30, 2018Publication date: April 16, 2020Inventors: Beda Christoph Hammerschmidt, Zhen Hua Liu, Vikas Arora, Prakashkumar Thiagarajan, Douglas James McMahon
-
Patent number: 10528538Abstract: 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: GrantFiled: September 30, 2016Date of Patent: January 7, 2020Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Zhen Hua Liu, Aleksandra Czarlinska, Douglas James McMahon, Asha Makur
-
Publication number: 20190370373Abstract: 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: ApplicationFiled: May 30, 2018Publication date: December 5, 2019Inventors: Beda Christoph Hammerschmidt, Zhen Hua Liu, Vikas Arora, Prakashkumar Thiagarajan, Douglas James McMahon
-
Publication number: 20180096007Abstract: 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: ApplicationFiled: September 30, 2016Publication date: April 5, 2018Inventors: Zhen Hua Liu, Aleksandra Czarlinska, Douglas James McMahon, Asha Makur
-
Patent number: 7627615Abstract: 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: GrantFiled: October 30, 2006Date of Patent: December 1, 2009Assignee: Oracle International CorporationInventor: Douglas James McMahon
-
Patent number: 7412700Abstract: 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: GrantFiled: May 18, 2004Date of Patent: August 12, 2008Assignee: Oracle International CorporationInventors: Mohammad Shoaib Lari, Rajendra S. Pingte, Srinath Krishnaswamy, Douglas James McMahon
-
Publication number: 20080104141Abstract: 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: ApplicationFiled: October 30, 2006Publication date: May 1, 2008Inventor: Douglas James McMahon
-
Patent number: 7281003Abstract: 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: GrantFiled: September 15, 2004Date of Patent: October 9, 2007Assignee: Oracle International CorporationInventors: Chon Hei Lei, Douglas James McMahon
-
Patent number: 6631371Abstract: 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: GrantFiled: September 18, 2002Date of Patent: October 7, 2003Assignee: Oracle International CorporationInventors: Chon Hei Lei, Douglas James McMahon
-
Patent number: 6606627Abstract: 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: GrantFiled: August 27, 2001Date of Patent: August 12, 2003Assignee: Oracle CorporationInventors: Christine Pae Guthrie, Jesper Andersen, Douglas James McMahon
-
Patent number: 6587854Abstract: 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: GrantFiled: May 31, 2001Date of Patent: July 1, 2003Assignee: Oracle CorporationInventors: Christine Pae Guthrie, Jesper Andersen, Chon Hei Lei, Douglas James McMahon
-
Patent number: 6487552Abstract: 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: GrantFiled: October 5, 1998Date of Patent: November 26, 2002Assignee: Oracle CorporationInventors: Chon Hei Lei, Douglas James McMahon
-
Patent number: 5787410Abstract: 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: GrantFiled: February 20, 1996Date of Patent: July 28, 1998Assignee: Oracle CorporationInventor: Douglas James McMahon