Patents by Inventor Yinghua Ouyang
Yinghua Ouyang 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: 12386835Abstract: The present disclosure involves systems, software, and computer implemented methods for managing database query plans with dynamic conditions. One example method includes receiving a request to process a query based on at least one dynamic condition. A serialized abstract query plan is identified, deserialized, and converted into a query optimizer tree. A condition provider procedure is invoked to generate a first filter string for each view in the query optimizer tree. Comparisons are made to determine matches between first filter strings and corresponding second filter string stored in the query optimizer tree. In response to determining that a first filter string does not match the corresponding second filter string, query plan compilation is triggered. In response to determining that each filter string matches each corresponding second filter string, a query plan is generated based on the converted query optimizer tree and the query is executed using the query plan.Type: GrantFiled: August 30, 2024Date of Patent: August 12, 2025Assignee: SAP SEInventors: Boyang Zhang, Yinghua Ouyang, Zhen Tian
-
Patent number: 12346472Abstract: 1. Implementations of the present disclosure include receiving, by a database system, a query from an entity, providing a parse tree based on the query, the parse tree including nodes representative of operations to be executed and data objects stored within the database system, generating a module tree based on the parse tree, the module tree including a set of modules provided in sequential order from a root module to a leaf module, and executing an authorization check using the module tree by, for each module, determining a set of data objects and, for each data object in the set of data objects, determining whether the entity is one or more of authorized access the data object and perform an operation on the data object.Type: GrantFiled: March 8, 2023Date of Patent: July 1, 2025Assignee: SAP SEInventors: Xun Zhang, Taehyung Lee, Yinghua Ouyang, Dongmei Xv, Yanchen Cao, Hong-Hai Do, Taeyoung Jeong, Zhen Tian
-
Publication number: 20250139276Abstract: The present disclosure involves systems, software, and computer implemented methods for user-specific access control for metadata tables. An example method includes receiving, from a user, a query that queries a metadata table. For each metadata table row, a determination is made as to whether the user owns the object represented by the metadata table row. If the user owns the object, the row is included in a result set for the query. If the user does not own the object, a determination is made as to whether the user has access permission to the object. If the user has access permission to the object, the row is included in the result set. If the user does not have access permission to the object, the row is excluded from the result set. After all metadata tables rows are processed, the result set is provided in response to the query.Type: ApplicationFiled: October 27, 2023Publication date: May 1, 2025Inventor: Yinghua Ouyang
-
Patent number: 12235839Abstract: The present disclosure involves systems, software, and computer implemented methods for processing correlated calculated fields in correlated subqueries. One example method includes receiving a request to process a database query that includes at least one subquery and processing each subquery. A determination is made as to whether each subquery includes a correlated calculated field that is a calculated field that is not included in a first datasource queried by the subquery but is included in a second datasource queried by an outer query that includes the subquery. If the subquery does not include a correlated calculated field, the subquery is processed without modification. If the subquery includes a correlated calculated field, metadata is retrieved for the outer query of the subquery that queries the second datasource and includes the correlated calculated field. The subquery is rewritten using the metadata and the rewritten subquery is processed.Type: GrantFiled: November 9, 2022Date of Patent: February 25, 2025Assignee: SAP SEInventors: Yinghua Ouyang, Zhen Tian
-
Patent number: 12174836Abstract: The present disclosure involves systems, software, and computer implemented methods for efficiently authorizing parameterized query views. An example method includes parsing a received query to generate a global query parse tree. In response to determining that the query includes a parameterized query view, the parameterized query view is parsed to generate a view parse tree which is then attached to the global query parse tree. In response to determining that an object in the global query parse tree is a parameterized query view, a view parse tree portion of the global query parse tree is traversed to identify objects associated with the parameterized query view. The parameterized query view and the identified objects are authorized in a single authorization step. For objects in the global query parse tree that are not parameterized query views, the object is authorized. In response to all objects being authorized, the query is executed.Type: GrantFiled: October 27, 2023Date of Patent: December 24, 2024Assignee: SAP SEInventor: Yinghua Ouyang
-
Patent number: 12135713Abstract: The present disclosure involves systems, software, and computer implemented methods for efficiently accessing shared operators in database query plans. One example method includes identifying a query plan tree that represents a query plan for a database query. A node identifier of each node of the query plan tree is initialized to a default node identifier value and a global node identifier counter for the query plan tree is initialized. The query plan tree is traversed including determining whether a node identifier of a current node equals the default node identifier value. If the node identifier of the current node equals the default node identifier value, the current node is processed, the node identifier of the current node is set to a current value of the global node identifier counter, and the global node identifier counter is incremented. Otherwise processing of the current node is skipped.Type: GrantFiled: November 11, 2022Date of Patent: November 5, 2024Assignee: SAP SEInventor: Yinghua Ouyang
-
Publication number: 20240303364Abstract: 1. Implementations of the present disclosure include receiving, by a database system, a query from an entity, providing a parse tree based on the query, the parse tree including nodes representative of operations to be executed and data objects stored within the database system, generating a module tree based on the parse tree, the module tree including a set of modules provided in sequential order from a root module to a leaf module, and executing an authorization check using the module tree by, for each module, determining a set of data objects and, for each data object in the set of data objects, determining whether the entity is one or more of authorized access the data object and perform an operation on the data object.Type: ApplicationFiled: March 8, 2023Publication date: September 12, 2024Inventors: Xun Zhang, Taehyung Lee, Yinghua Ouyang, Dongmei XV, Yanchen Cao, Hong-Hai Do, Taeyoung Jeong, Zhen Tian
-
Publication number: 20240273008Abstract: The present disclosure involves systems, software, and computer implemented methods for efficient memory leak detection in database systems. One example method includes receiving a query at a database system. Memory allocations and deallocations are traced during processing of the query. Each memory allocation entry in a tracing file can be processed, including determining, for each allocation, whether a memory deallocation entry exists in the tracing file. A determination can be made as to whether a memory leak has occurred in response to determining whether a memory deallocation entry corresponding to a memory allocation entry exists in the tracing file. For example, a determination can be made that a memory leak has occurred in response to determining that no memory deallocation entry corresponding to an allocated memory address exists in the tracing file. One or more actions can be performed in response to determining that a memory leak has occurred.Type: ApplicationFiled: February 15, 2023Publication date: August 15, 2024Inventors: Yinghua Ouyang, Zhen Tian
-
Patent number: 12045155Abstract: The present disclosure involves systems, software, and computer implemented methods for efficient memory leak detection in database systems. One example method includes receiving a query at a database system. Memory allocations and deallocations are traced during processing of the query. Each memory allocation entry in a tracing file can be processed, including determining, for each allocation, whether a memory deallocation entry exists in the tracing file. A determination can be made as to whether a memory leak has occurred in response to determining whether a memory deallocation entry corresponding to a memory allocation entry exists in the tracing file. For example, a determination can be made that a memory leak has occurred in response to determining that no memory deallocation entry corresponding to an allocated memory address exists in the tracing file. One or more actions can be performed in response to determining that a memory leak has occurred.Type: GrantFiled: February 15, 2023Date of Patent: July 23, 2024Assignee: SAP SEInventors: Yinghua Ouyang, Zhen Tian
-
Publication number: 20240160627Abstract: The present disclosure involves systems, software, and computer implemented methods for efficiently accessing shared operators in database query plans. One example method includes identifying a query plan tree that represents a query plan for a database query. A node identifier of each node of the query plan tree is initialized to a default node identifier value and a global node identifier counter for the query plan tree is initialized. The query plan tree is traversed including determining whether a node identifier of a current node equals the default node identifier value. If the node identifier of the current node equals the default node identifier value, the current node is processed, the node identifier of the current node is set to a current value of the global node identifier counter, and the global node identifier counter is incremented. Otherwise processing of the current node is skipped.Type: ApplicationFiled: November 11, 2022Publication date: May 16, 2024Inventor: Yinghua Ouyang
-
Publication number: 20240152513Abstract: The present disclosure involves systems, software, and computer implemented methods for processing correlated calculated fields in correlated subqueries. One example method includes receiving a request to process a database query that includes at least one subquery and processing each subquery. A determination is made as to whether each subquery includes a correlated calculated field that is a calculated field that is not included in a first datasource queried by the subquery but is included in a second datasource queried by an outer query that includes the subquery. If the subquery does not include a correlated calculated field, the subquery is processed without modification. If the subquery includes a correlated calculated field, metadata is retrieved for the outer query of the subquery that queries the second datasource and includes the correlated calculated field. The subquery is rewritten using the metadata and the rewritten subquery is processed.Type: ApplicationFiled: November 9, 2022Publication date: May 9, 2024Inventors: Yinghua Ouyang, Zhen Tian
-
Patent number: 11972012Abstract: Implementations of the present disclosure include receiving, by a database system, a query, providing, by the database system, a set of checker objects including one or more inner checker objects and an outer checker object, each checker object corresponding to a nested sub-query of the query, providing, by the database system, an authorization list associated with the outer checker object, and executing an authorization check on the query at least partially by: adding collected objects of each inner checker object to the authorization list, adding collected objects of the outer checker object to the authorization list, and determining authorization of an entity based on the authorization list.Type: GrantFiled: August 31, 2021Date of Patent: April 30, 2024Assignee: SAP SEInventor: Yinghua Ouyang
-
Patent number: 11775521Abstract: A method for workload balancing is implemented in a computer system including a primary database system and a secondary database system, the secondary database system being configured as a backup system for the primary database system. The method includes compiling a query received from a client application. The query indicates one or more source tables have corresponding replicate tables. The compiling comprises replace the one or more source tables with the corresponding replicate tables. The method can generate a query execution plan based on the compiled query, determine a per-table result lag based on minimum commit times of the corresponding replicate tables, and compare the per-table result lag with a predefined threshold. Responsive to a determination that the per-table result lag exceeds the predefined threshold, the method can recompile the query by falling back to the one or more source tables from the corresponding replicate tables.Type: GrantFiled: March 8, 2023Date of Patent: October 3, 2023Assignee: SAP SEInventors: Yinghua Ouyang, Zhen Tian
-
Publication number: 20230222122Abstract: A method for workload balancing is implemented in a computer system including a primary database system and a secondary database system, the secondary database system being configured as a backup system for the primary database system. The method includes compiling a query received from a client application. The query indicates one or more source tables have corresponding replicate tables. The compiling comprises replace the one or more source tables with the corresponding replicate tables. The method can generate a query execution plan based on the compiled query, determine a per-table result lag based on minimum commit times of the corresponding replicate tables, and compare the per-table result lag with a predefined threshold. Responsive to a determination that the per-table result lag exceeds the predefined threshold, the method can recompile the query by falling back to the one or more source tables from the corresponding replicate tables.Type: ApplicationFiled: March 8, 2023Publication date: July 13, 2023Applicant: SAP SEInventors: Yinghua Ouyang, Zhen Tian
-
Patent number: 11625397Abstract: A computer system comprises one or more processors, a primary database system, and a secondary database system. The secondary database system is configured as a hot-standby system for the primary database system. The secondary database system is capable of providing at least a minimum amount of essential functionality of the primary database system during a disruption to the primary database system. The primary database system is configured by programming instructions, executable on the computer system, to cause the one or more processors to determine from a query request from a client application directed to the primary database system that workload from a query may be shifted to the secondary database system and selectively instruct the client application to direct the secondary database system to execute the query based on a per-table calculated result lag. Related apparatus, systems, techniques and articles are also described.Type: GrantFiled: April 15, 2022Date of Patent: April 11, 2023Assignee: SAP SEInventors: Yinghua Ouyang, Zhen Tian
-
Publication number: 20230063528Abstract: Implementations of the present disclosure include receiving, by a database system, a query, providing, by the database system, a set of checker objects including one or more inner checker objects and an outer checker object, each checker object corresponding to a nested sub-query of the query, providing, by the database system, an authorization list associated with the outer checker object, and executing an authorization check on the query at least partially by: adding collected objects of each inner checker object to the authorization list, adding collected objects of the outer checker object to the authorization list, and determining authorization of an entity based on the authorization list.Type: ApplicationFiled: August 31, 2021Publication date: March 2, 2023Inventor: Yinghua Ouyang
-
Patent number: 11494359Abstract: Disclosed herein are system, method, and computer program product embodiments for providing index and storage management for multi-tiered databases. An embodiment operates by receiving a request to create an index on a multi-tiered database including both an in-memory store and a disk store. A multi-store table associated with the index is determined, wherein the multi-store table includes both a first set of data stored on the memory store and a second set of data stored on the disk store. Either the first set of data or the second set of data on which to create the index is selected based on the request. The index for the selected set of data of the multi-store table is generated. The index is stored on either the disk store or the memory store as corresponding to the selected set of data for which the index was generated.Type: GrantFiled: March 18, 2019Date of Patent: November 8, 2022Assignee: SAP SEInventors: Zhilong Hao, Priya Sharma, Yinghua Ouyang
-
Patent number: 11423024Abstract: A secondary database system is configured to act as a backup system for a primary database system. The primary database system receives a query request from a client application in advance of receiving a query. Thereafter, the primary database system determines that a routing hint in the query request indicates that workload from the query may be shifted to the secondary database system. It can then be determined that execution of the query does not involve writing data. The primary database system then determines to instruct the client application to route the query to the secondary database system based on the routing hint. The primary database system then instructs the client application to route the query to the secondary database system. The query is then compiled and executed on the secondary database system such that a replica table does not replace the source table.Type: GrantFiled: March 30, 2020Date of Patent: August 23, 2022Assignee: SAP SEInventors: Yinghua Ouyang, Zhen Tian
-
Publication number: 20220245149Abstract: A computer system comprises one or more processors, a primary database system, and a secondary database system. The secondary database system is configured as a hot-standby system for the primary database system. The secondary database system is capable of providing at least a minimum amount of essential functionality of the primary database system during a disruption to the primary database system. The primary database system is configured by programming instructions, executable on the computer system, to cause the one or more processors to determine from a query request from a client application directed to the primary database system that workload from a query may be shifted to the secondary database system and selectively instruct the client application to direct the secondary database system to execute the query based on a per-table calculated result lag. Related apparatus, systems, techniques and articles are also described.Type: ApplicationFiled: April 15, 2022Publication date: August 4, 2022Applicant: SAP SEInventors: Yinghua Ouyang, Zhen Tian
-
Patent number: 11379477Abstract: A computer system is configured to provide a database system. The computer system comprises one or more processors, a primary database system implemented by the one or more processors, and a secondary database system implemented by the one or more processors. The secondary database system is configured as a hot-standby system for the primary database system. The secondary database system is capable of providing at least a minimum amount of essential functionality of the primary database system during a disruption to the primary database system. The primary database system is configured by programming instructions, executable on the computer system, to cause the one or more processors to determine from a query request from a client application directed to the primary database system that workload from a query may be shifted to the secondary database system and selectively instruct the client application to direct the secondary database system to execute the query based on a per-table calculated result lag.Type: GrantFiled: March 31, 2020Date of Patent: July 5, 2022Assignee: SAP SEInventors: Yinghua Ouyang, Zhen Tian