-
公开(公告)号:US11636075B2
公开(公告)日:2023-04-25
申请号:US15133972
申请日:2016-04-20
Applicant: Oracle International Corporation
Inventor: Vidya Hegde , Jean de Lavarene , Douglas Surber , Mark Dilman , Leonid Novak , Wei Ming Hu , Ashok Shivarudraiah , Tong Zhou , Ilya Taranov
IPC: G06F16/00 , G06F16/22 , G06F16/25 , G06F16/2455 , G06F16/27
Abstract: In accordance with an embodiment, described herein are systems and methods for providing direct access to a sharded database. A shard director provides access by software client applications to database shards. A connection pool (e.g., a Universal Connection Pool, UCP) and database driver (e.g., a Java Database Connectivity, JDBC, component) can be configured to allow a client application to provide a shard key, either during connection checkout or at a later time; recognize shard keys specified by the client application; and enable connection by the client application to a particular shard or chunk. The approach enables efficient re-use of connection resources, and faster access to appropriate shards.
-
12.
公开(公告)号:US11409721B2
公开(公告)日:2022-08-09
申请号:US16724909
申请日:2019-12-23
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Vidya Hegde , Jean de Lavarene , Douglas Surber , Mark Dilman , Leonid Novak , Wei Ming Hu , Ashok Shivarudraiah , Tong Zhou , Ilya Taranov
IPC: G06F16/20 , G06F16/22 , G06F16/25 , G06F16/2455 , G06F16/27
Abstract: In accordance with an embodiment, the system enables access to a sharded database using a cache and a shard topology. A shard-aware client application connecting to a sharded database can use a connection pool (e.g., a Universal Connection Pool, UCP), to store or access connections to different shards or chunks of the sharded database within a shared pool. As new connections are created, a shard topology layer can be built at the database driver layer, which learns and caches shard key ranges to locations of shards. The shard topology layer enables subsequent connection requests from a client application to use a fast key path access to the appropriate shard or chunk.
-
13.
公开(公告)号:US11204813B2
公开(公告)日:2021-12-21
申请号:US17068555
申请日:2020-10-12
Applicant: Oracle International Corporation
Inventor: Yuri Dolgov , Douglas Surber , Jean De Lavarene
IPC: G06F9/52 , G06F9/50 , G06F16/245 , G06F16/28 , G06F16/22
Abstract: In accordance with an embodiment, a system enables multidimensional search within a resource pool, to support complex borrow operations such as, for example, specifying ranges for particular connection properties. As threads access the pool, attempting to borrow connections having particular connection properties, one or more skipped pool elements can be represented as skip lists within a k-dimensional tree (KD-tree) or other data structure that enables searching across multiple dimensions. In response to receiving a request to borrow a connection having particular connection properties, a multidimensional search can be performed within the KD-tree to determine the availability of a connection having the requested properties.
-
公开(公告)号:US10678761B2
公开(公告)日:2020-06-09
申请号:US15912861
申请日:2018-03-06
Applicant: Oracle International Corporation
Inventor: Carol Colrain , Kevin Neel , Pablo Silberkasten , Michael McMahon , Saurabh Verma , Douglas Surber , Jean De Lavarene
IPC: G06F16/21 , G06F16/2455 , G06F16/958 , G06F1/30 , H04L29/08 , G06F16/25
Abstract: In accordance with an embodiment, described herein is a system and method for high availability and load balancing in a database environment. A transparency engine can be provided between client applications and a database, and can operate as a proxy engine for the database and as a session abstraction layer for the client applications, to enable the client applications to utilize database features provided by the connection pool without code changes to the client applications. The transparency can keep track of session states, request boundaries and cursors to efficiently reuse the database connections across the client applications. The transparency engine can use the request boundaries and indicators from the database to detect safe places to drain database connections in the event of database outages.
-
公开(公告)号:US10318520B2
公开(公告)日:2019-06-11
申请号:US15087896
申请日:2016-03-31
Applicant: Oracle International Corporation
Inventor: Paul Parkinson , Todd J. Little , Carol Colrain , Jean De Lavarene , Vivekanandhan Raja , Douglas Surber , Stefan Roesch , Nancy Ikeda , Kevin Neel
Abstract: A system and method for reducing communications overhead in a distributed transaction processing environment such as an XA environment. In accordance with an embodiment communication overhead is reduced in a transaction by deferring a transaction end communication. The deferred transaction end communication is determined from a subsequent XA transaction communication thereby reducing the number of networks calls required for each transaction and enhancing system performance.
-
16.
公开(公告)号:US09747341B2
公开(公告)日:2017-08-29
申请号:US14253573
申请日:2014-04-15
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Vidya Hegde , Jean de Lavarene , Pankaj Chand , Douglas Surber , Tong Zhou
CPC classification number: G06F17/3048
Abstract: Described herein is a system and method for providing a shareable global cache for use with a database environment. In accordance with an embodiment, a shareable global cache is used for caching connections to database instances. When a request is received for a particular service, the system looks for an idle connection to that service, and, if none is available, locates an existing connection to a database instance serving that service and switches a service on the existing connection to that service.
-
公开(公告)号:US11556500B2
公开(公告)日:2023-01-17
申请号:US16147367
申请日:2018-09-28
Applicant: Oracle International Corporation
Inventor: Jonathan Giloni , Kevin S. Neel , Carol L. Colrain , Douglas Surber , Ravi Thammaiah , Tong Zhou , Arturo Ismael Quinto , Manoj Dhanapal
IPC: G06F16/00 , G06F16/11 , H04L67/141 , H04L67/142 , G06F16/21 , G06F16/25 , G06F11/20
Abstract: Techniques are disclosed herein for identifying, recording and restoring the state of a database session and various aspects thereof. A session template data structure is generated that includes session attribute values describing various aspects of the session that is established between a client system and a database management system (DBMS and enables the client system to issue to the DBMS commands for execution. Based on the session attribute values, DBMS may generate a template identifier corresponding to the session template data structure. The template identifier may be stored in an association with the session state that it partially (or in whole) represents. In an embodiment, when another state of a session is captured, if the template identifier for the state is the same, then rather than storing the attribute-value pairs for the other state, the template identifier is further associated with the other state. In an embodiment, a request boundary is detected where the session is known to be at a recoverable point. If recovery of the session is needed, the session state is restored, and replay of commands start from this point. Each command replayed is verified to produce the same session state as it produced at original execution. If the session is determined to be a safe point, then all the commands recorded for replay prior to the safe point may be deleted.
In an embodiment, the template is used to set the initial state when borrowing from a session pool The state tracking is also used to know that the session can be failed over safely during planned operation as the session is unlikely to drain by itself even when not used.-
18.
公开(公告)号:US10545935B2
公开(公告)日:2020-01-28
申请号:US15133979
申请日:2016-04-20
Applicant: Oracle International Corporation
Inventor: Vidya Hegde , Jean de Lavarene , Douglas Surber , Mark Dilman , Leonid Novak , Wei Ming Hu , Ashok Shivarudraiah , Tong Zhou , Ilya Taranov
IPC: G06F16/00 , G06F16/22 , G06F16/25 , G06F16/2455
Abstract: In accordance with an embodiment, the system enables access to a sharded database using a cache and a shard topology. A shard-aware client application connecting to a sharded database can use a connection pool (e.g., a Universal Connection Pool, UCP), to store or access connections to different shards or chunks of the sharded database within a shared pool. As new connections are created, a shard topology layer can be built at the database driver layer, which learns and caches shard key ranges to locations of shards. The shard topology layer enables subsequent connection requests from a client application to use a fast key path access to the appropriate shard or chunk.
-
公开(公告)号:US20190075170A1
公开(公告)日:2019-03-07
申请号:US15912861
申请日:2018-03-06
Applicant: Oracle International Corporation
Inventor: Carol Colrain , Kevin Neel , Pablo Silberkasten , Michael McMahon , Saurabh Verma , Douglas Surber , Jean De Lavarene
Abstract: In accordance with an embodiment, described herein is a system and method for high availability and load balancing in a database environment. A transparency engine can be provided between client applications and a database, and can operate as a proxy engine for the database and as a session abstraction layer for the client applications, to enable the client applications to utilize database features provided by the connection pool without code changes to the client applications. The transparency can keep track of session states, request boundaries and cursors to efficiently reuse the database connections across the client applications. The transparency engine can use the request boundaries and indicators from the database to detect safe places to drain database connections in the event of database outages.
-
公开(公告)号:US09880938B2
公开(公告)日:2018-01-30
申请号:US14864192
申请日:2015-09-24
Applicant: ORACLE INTERNATIONAL CORPORATION
Inventor: Ashok Shivarudraiah , Douglas Surber , Jean De Lavarene
IPC: G06F12/08 , G06F12/0871 , G06F17/30
CPC classification number: G06F12/0871 , G06F17/30132 , G06F17/30492 , G06F2212/1044 , G06F2212/465
Abstract: In accordance with an embodiment, described herein is a system and method for compacting a pseudo linear byte array, for use with supporting access to a database. A database driver (e.g., a Java Database Connectivity (JDBC) driver) provides access by software application clients to a database. When a result set (e.g., ResultSet) is returned for storage in a dynamic byte array (DBA), in response to a database query (e.g., a SELECT), the database driver determines if the DBA is underfilled and, if so, calculates the data size of the DBA, creates a static byte array (SBA) in a cache at the client, compacts the returned data into the SBA, and stores the data size as part of the metadata associated with the cache. In accordance with an embodiment, the DBA and the SBA can use a same interface for access by client applications.
-
-
-
-
-
-
-
-
-