Patents by Inventor Lakshminarayanan Chidambaran

Lakshminarayanan Chidambaran 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: 11947534
    Abstract: A server system provided according to an aspect of the present disclosure provides a shared connection pool to parallel execution entities accessing database instances of a distributed database when processing requests. A shared connection pool implies that each pool connection of the connection pool may be used for serving different execution entities requiring access to different database instances. In an embodiment, the database instances correspond to shards together implementing a distributed database, and the parallel execution entities correspond to threads.
    Type: Grant
    Filed: December 31, 2019
    Date of Patent: April 2, 2024
    Assignee: Oracle International Corporation
    Inventors: Sumit Sahu, Lakshminarayanan Chidambaran, Krishna Itikarlapalli, Srinath Krishnaswamy
  • Patent number: 11907251
    Abstract: Upon receiving a query at a local database server from a client directed to a LOB stored at a remote database server, a remote LOB locator is created comprising a local LOB locator indicating the LOB's location and a database link associated with the remote database server. The remote LOB locator is communicated to the client, which submits a request to the local database server to perform an operation directed to the LOB. The request is forwarded to the remote database server using the remote LOB locator, where the operation is performed. This mechanism is extended to work with sharded databases. Character set conversions are minimized when returning data to the client from the remote database server. Remote LOB locators may serve as bind variables for DML statements directed to local or remote tables. Local LOB locators may serve as bind variables for DML statements directed to remote tables.
    Type: Grant
    Filed: August 30, 2017
    Date of Patent: February 20, 2024
    Assignee: Oracle International Corporation
    Inventors: Lakshminarayanan Chidambaran, Srividya Tata, Geeta Arora, Rajendra S. Pingte, Sneha Chandrababu, Ramkrishan Kanodia
  • Patent number: 11277435
    Abstract: Techniques described herein improve database security by reducing network attack surface area in conjunction with deep input validation. In an embodiment, a database session receives one or more network packets sent via a network, the database session including a database session state that specifies one or more database privileges. The database session reads said one or more network packets into one or more request-packet-buffers, wherein said one or more request-packet-buffers include an RPC op code for a database operation. Based on the one or more database privileges associated with the user associated with the database session, the database session determines whether the RPC op code may be executed. In response to determining that the RPC op code may be executed by said database session, the RPC op code is executed. In response to determining that the op code may not be executed by said database session, the execution of the RPC op code is prevented.
    Type: Grant
    Filed: September 14, 2017
    Date of Patent: March 15, 2022
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Krishna Mohan Itikarlapalli, Santanu Datta, Srinath Krishnaswamy, Lakshminarayanan Chidambaran, Rajesh Kumar, Sumit Sahu, Rajendra Pingte
  • Publication number: 20210200765
    Abstract: A server system provided according to an aspect of the present disclosure provides a shared connection pool to parallel execution entities accessing database instances of a distributed database when processing requests. A shared connection pool implies that each pool connection of the connection pool may be used for serving different execution entities requiring access to different database instances. In an embodiment, the database instances correspond to shards together implementing a distributed database, and the parallel execution entities correspond to threads.
    Type: Application
    Filed: December 31, 2019
    Publication date: July 1, 2021
    Inventors: Sumit Sahu, Lakshminarayanan Chidambaran, Krishna Itikarlapalli, Srinath Krishnaswamy
  • Patent number: 10296629
    Abstract: A method, system, and computer program product is disclosed for interacting with a client supported by a client-side cache. Embodiments of a method, a system, and a computer program product are disclosed that retrieve a first snapshot, indicating a state of the database after a last database request by the client, associated with the client, determine any number of invalid cached results for the client based on the first snapshot, and transmit the any number of invalid cached results and a second snapshot, an update for the first snapshot.
    Type: Grant
    Filed: October 22, 2007
    Date of Patent: May 21, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Lakshminarayanan Chidambaran, Mehul Dilip Bastawala, Srinath Krishnaswamy, Tirthankar Lahiri, Juan R. Loaiza, Bipul Sinha, Srinivas S. Vemuri
  • Publication number: 20180077196
    Abstract: Techniques described herein improve database security by reducing network attack surface area in conjunction with deep input validation. In an embodiment, a database session receives one or more network packets sent via a network, the database session including a database session state that specifies one or more database privileges. The database session reads said one or more network packets into one or more request-packet-buffers, wherein said one or more request-packet-buffers include an RPC op code for a database operation. Based on the one or more database privileges associated with the user associated with the database session, the database session determines whether the RPC op code may be executed. In response to determining that the RPC op code may be executed by said database session, the RPC op code is executed. In response to determining that the op code may not be executed by said database session, the execution of the RPC op code is prevented.
    Type: Application
    Filed: September 14, 2017
    Publication date: March 15, 2018
    Inventors: Krishna Mohan Itikarlapalli, Santanu Datta, Srinath Krishnaswamy, Lakshminarayanan Chidambaran, Rajesh Kumar, Sumit Sahu, Rajendra Pingte
  • Publication number: 20180060362
    Abstract: Upon receiving a query at a local database server from a client directed to a LOB stored at a remote database server, a remote LOB locator is created comprising a local LOB locator indicating the LOB's location and a database link associated with the remote database server. The remote LOB locator is communicated to the client, which submits a request to the local database server to perform an operation directed to the LOB. The request is forwarded to the remote database server using the remote LOB locator, where the operation is performed. This mechanism is extended to work with sharded databases. Character set conversions are minimized when returning data to the client from the remote database server. Remote LOB locators may serve as bind variables for DML statements directed to local or remote tables. Local LOB locators may serve as bind variables for DML statements directed to remote tables.
    Type: Application
    Filed: August 30, 2017
    Publication date: March 1, 2018
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Lakshminarayanan CHIDAMBARAN, Srividya TATA, Geeta ARORA, Rajendra S. PINGTE, Sneha CHANDRABABU, Ramkrishan KANODIA
  • Patent number: 9697253
    Abstract: A method, system, and computer program product is disclosed for caching results in a client-side cache. Embodiments of a method, a system, and a computer program product are disclosed that associate a first snapshot of a database with a client that indicates a state of the database after a last database request by the client, and indicate any number of invalid cached results in the client cache for the client based upon the first snapshot. In some embodiments, the method further includes receiving a second snapshot that indicates a state of the database upon receipt of a database server request by the client, and updating the first snapshot with the second snapshot.
    Type: Grant
    Filed: October 19, 2007
    Date of Patent: July 4, 2017
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Lakshminarayanan Chidambaran, Mehul Dilip Bastawala, Srinath Krishnaswamy, Tirthankar Lahiri, Juan R. Loaiza, Bipul Sinha, Srinivas S. Vemuri
  • Patent number: 9582375
    Abstract: Some embodiments are directed to a method and apparatus for implementing an automatic failover mechanism for a resource. A client accesses a source through a first server using a first session. During the session, the client stores checksum information corresponding to data received via the session with the first server. When it is detected that the session between the first server and the client has failed, the client is automatically connected with second server that has access to the resource. The checksum information is transmitted from the client to the second server, where it is compared with checksum information calculated at the second server, so that a determination can be made as to whether the client can continue processing where it left off when connected to the second server.
    Type: Grant
    Filed: May 7, 2014
    Date of Patent: February 28, 2017
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mehul Dilip Bastawala, Srinath Krishnaswamy, Nancy Reiko Ikeda, Lakshminarayanan Chidambaran
  • Patent number: 9569514
    Abstract: Techniques for replicating data in database systems are described. In an example embodiment, a set of changes is received at a destination database, where the set of changes has been applied at a source database and is being replicated from the source database to the destination database. The set of changes is analyzed and it is determined that the set of changes includes two or more of: a subset of row-level changes, a subset of statement-level changes, and a subset of procedure-level changes. A set of dependencies is determined at least between the changes that are included in the subsets of changes. The changes, in the subsets of changes, are assigned to two or more processing elements. The set of changes is applied to the destination database by executing the two or more processing elements in parallel to each other and based on the set of dependencies.
    Type: Grant
    Filed: October 11, 2013
    Date of Patent: February 14, 2017
    Assignee: Oracle International Corporation
    Inventors: Edwina M. Lu, James W. Stamos, Nimar S. Arora, Lik Wong, Haobo Xu, Thuvan Hoang, Byron Wang, Lakshminarayanan Chidambaran
  • Publication number: 20150324259
    Abstract: Some embodiments are directed to a method and apparatus for implementing an automatic failover mechanism for a resource. A client accesses a source through a first server using a first session. During the session, the client stores checksum information corresponding to data received via the session with the first server. When it is detected that the session between the first server and the client has failed, the client is automatically connected with second server that has access to the resource. The checksum information is transmitted from the client to the second server, where it is compared with checksum information calculated at the second server, so that a determination can be made as to whether the client can continue processing where it left off when connected to the second server.
    Type: Application
    Filed: May 7, 2014
    Publication date: November 12, 2015
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mehul Dilip BASTAWALA, Srinath KRISHNASWAMY, Nancy Reiko IKEDA, Lakshminarayanan CHIDAMBARAN
  • Patent number: 8713186
    Abstract: A server side connection pool provides pooling of server connections. Thus, client side processes do not create groups of dedicated resources. Clients are provided the capability to communicate to a server side connection broker process to GET a pooled server connection comprising connection state plus a thread of execution for doing some work, whereby requesting the work can bypass the connection broker process and go directly to the assigned pooled connection. Once the client issues a RELEASE to release the pooled connection back to the pool, a completely different client process on potentially a different client middle tier machine can reuse the same pooled connection. The server-side connection pool can be logically partitioned into sub-pools that correspond to connection classes that typically correspond to respective applications. A client process can request a pooled connection having a particular state, where a stored procedure can be executed to generate such state.
    Type: Grant
    Filed: March 12, 2008
    Date of Patent: April 29, 2014
    Assignee: Oracle International Corporation
    Inventors: Lakshminarayanan Chidambaran, Srinath Krishnaswamy, Krishna Mohan Itikarlapalli, Kevin Neel, Sreekumar K. Seshadri, Jonathan Giloni, Scot McKinley, Ravi Thammaiah
  • Publication number: 20140040203
    Abstract: Techniques for replicating data in database systems are described. In an example embodiment, a set of changes is received at a destination database, where the set of changes has been applied at a source database and is being replicated from the source database to the destination database. The set of changes is analyzed and it is determined that the set of changes includes two or more of: a subset of row-level changes, a subset of statement-level changes, and a subset of procedure-level changes. A set of dependencies is determined at least between the changes that are included in the subsets of changes. The changes, in the subsets of changes, are assigned to two or more processing elements. The set of changes is applied to the destination database by executing the two or more processing elements in parallel to each other and based on the set of dependencies.
    Type: Application
    Filed: October 11, 2013
    Publication date: February 6, 2014
    Applicant: Oracle International Corporation
    Inventors: Edwina M. Lu, James W. Stamos, Nimar S. Arora, Lik Wong, Haobo Xu, Thuvan Hoang, Byron Wang, Lakshminarayanan Chidambaran
  • Patent number: 8365193
    Abstract: An approach provides for recovery of message driven directors responsible for dynamically allocating resources within a multi-node database system. The receipt of a message, the action taken in response to it, and other messages sent in furtherance of the action, are performed within a single transaction. In this way, the messages and other data are left in a state consistent with the message and action taken in response being fully processed or not processed at all. A standby director, stepping in for a crashed director, inherits a state consistent with where a crashed director last successfully completed an action. The approach insulates directors from the special perils of performing high latency actions by delegating the performance of such actions to a job, (i.e. another process).
    Type: Grant
    Filed: August 12, 2004
    Date of Patent: January 29, 2013
    Assignee: Oracle International Corporation
    Inventors: Lakshminarayanan Chidambaran, Debashish Chatterjee
  • Patent number: 8161536
    Abstract: Techniques for authenticating users when an operation requested by a user in one of the systems of a distributed system is redirected to another system of the distributed system. The user is authenticated in the usual way to the one system but is authenticated to the other system for the redirected operation by an authentication proxy in the first system. The fact that the authentication proxy is providing a redirected operation means that the user who requested the operation has been authenticated to the one system. The other system is thus able to authenticate the user for the redirected operation with different authentication information than would otherwise be required. An example of how the techniques are used is a distributed database system where one of the database systems in the distributed system is a cache for another of the database systems.
    Type: Grant
    Filed: June 14, 2001
    Date of Patent: April 17, 2012
    Assignee: Oracle International Corporation
    Inventors: Mahesh Subramaniam, Debashish Chatterjee, Debashis Saha, Lakshminarayanan Chidambaran
  • Patent number: 7930344
    Abstract: An approach migrates database sessions from a database server on which performance and resource availability requirements are not being met to another database server. Because workload is removed from the database server not meeting these requirements, improved performance there is promoted. Furthermore, the approach switches the users in a way that attempts to keep performance and resource availability levels at the database server receiving the database sessions within goals for performance and resource availability.
    Type: Grant
    Filed: December 18, 2008
    Date of Patent: April 19, 2011
    Assignee: Oracle International Corporation
    Inventors: Lakshminarayanan Chidambaran, Debashish Chatterjee, James W. Stamos
  • Patent number: 7743333
    Abstract: A system, method, computer program and system for suspending a result set and continuing from a suspended result set for a scrollable cursor is disclosed. The rows from a row source corresponding to the scrollable cursor result set are suspended into storage so that when a fetch is requested the data can be sent (continued) from the suspended storage and does not depend on the original scrollable cursor row source or session to be available.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: June 22, 2010
    Assignee: Oracle International Corporation
    Inventors: Mehul D. Bastawala, Lakshminarayanan Chidambaran, Sreenivas Gollapudi, Sanjay Kaluskar, Srinath Krishnaswamy, Debashish Chatterjee
  • Patent number: 7624112
    Abstract: A method and apparatus for asynchronously storing transaction information related to a transaction is provided. A client process executing on a client may initiate a transaction request with a server. The server processes the transaction, commits the transaction, and writes transaction information associated with the transaction to memory without durably storing the transaction information. Thereafter, the server processing the transaction returns a message to the client that the transaction has been committed. A server process, which performed the transaction, may be reassigned to commit new work. Additional information that may be useful for the client about the result of the transaction may be contained in the message. Next, transaction information stored in memory is durably stored. A log writer may be used to durably store the transaction information to a log file. The client is subsequently notified that the transaction information has been durably stored at a client listening process.
    Type: Grant
    Filed: April 3, 2003
    Date of Patent: November 24, 2009
    Assignee: Oracle International Corporation
    Inventors: Amit Ganesh, Bipul Sinha, Lakshminarayanan Chidambaran
  • Patent number: 7613710
    Abstract: A system, method, computer program and system for suspending a result set and continuing from a suspended result set for a cursor is disclosed. The rows from a row source corresponding to the cursor result set are suspended into storage so that when a fetch is requested the data can be sent (continued) from the suspended storage and does not depend on the original cursor row source or session to be available.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: November 3, 2009
    Assignee: Oracle International Corporation
    Inventors: Mehul D. Bastawala, Lakshminarayanan Chidambaran, Sreenivas Gollapudi, Sanjay Kaluskar, Srinath Krishnaswamy, Debashish Chatterjee
  • Patent number: 7610351
    Abstract: A method and mechanism for implementing pipelined prefetching in a computer system is disclosed. Data prefetching is utilized to predictably retrieve information between multiple levels of nodes in the computer system, in which a first server may receive prefetched data from a second server, the second server receives prefetched data from a third server, with the chain of prefetching extending as long as needed/desired to effect efficient data transfers between the nodes.
    Type: Grant
    Filed: May 10, 2002
    Date of Patent: October 27, 2009
    Assignee: Oracle International Corporation
    Inventors: Sreenivas Gollapudi, Lakshminarayanan Chidambaran, Debashis Saha, Kapil Surlaker