Patents by Inventor Kapil Surlaker

Kapil Surlaker 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: 7779418
    Abstract: Techniques for managing messages in computer systems are provided. In one embodiment, in response to a publisher attempting to enqueue a message in a queue, a determination is made whether a condition is satisfied. The condition is based on the current usage of the queue by the publisher. Based on whether the condition is satisfied, a decision is made whether to enqueue the message in the queue. The decision whether to enqueue the message may comprise restricting the publisher from enqueueing any more messages in the queue until the same or a different condition is satisfied.
    Type: Grant
    Filed: July 29, 2005
    Date of Patent: August 17, 2010
    Assignee: Oracle International Corporation
    Inventors: Kapil Surlaker, Neerja Bhatt, Shailendra Mishra
  • Patent number: 7761413
    Abstract: A method of ensuring availability of event notification registrations of a database management system is described and provided. The method comprises creating the event notification registrations and storing the event notification registrations in a database of the database management system. Further, the event notification registrations are replicated in a designated database management system to create replicated event notification registrations. If the database management system fails, the replicated event notification registrations are utilized.
    Type: Grant
    Filed: June 19, 2006
    Date of Patent: July 20, 2010
    Assignee: Oracle International Corporation
    Inventors: Kapil Surlaker, Shailendra Mishra
  • Publication number: 20100005077
    Abstract: Embodiments of the present invention generate and optimize query plans that are at least partially executable in hardware. Upon receiving a query, the query is rewritten and optimized with a bias for hardware execution of fragments of the query. A template-based algorithm may be employed for transforming a query into fragments and then into query tasks. The various query tasks can then be routed to either a hardware accelerator, a software module, or sent back to a database management system for execution. For those tasks routed to the hardware accelerator, the query tasks are compiled into machine code database instructions.
    Type: Application
    Filed: July 7, 2008
    Publication date: January 7, 2010
    Applicant: Kickfire, Inc.
    Inventors: Ravi Krishnamurthy, Chi-Young Ku, James Shau, Chun Zhang, Kapil Surlaker, Jeremy Branscome, Michael Corwin, Joseph I. Chamdani
  • Publication number: 20090319550
    Abstract: Embodiments of the present invention provide for batch and incremental loading of data into a database. In the present invention, the loader infrastructure utilizes machine code database instructions and hardware acceleration to parallelize the load operations with the I/O operations. A large, hardware accelerator memory is used as staging cache for the load process. The load process also comprises an index profiling phase that enables balanced partitioning of the created indexes to allow for pipelined load. The online incremental loading process may also be performed while serving queries.
    Type: Application
    Filed: June 23, 2008
    Publication date: December 24, 2009
    Applicant: Kickfire, Inc.
    Inventors: James Shau, Krishnan Meiyyappan, Hung Tran, Ravi Krishnamurthy, Kapil Surlaker, Jeremy Branscome, Joseph I. Chamdani
  • Publication number: 20090319486
    Abstract: Embodiments of the present invention provide fine grain concurrency control for transactions in the presence of database updates. During operations, each transaction is assigned a snapshot version number or SVN. A SVN refers to a historical snapshot of the database that can be created periodically or on demand. Transactions are thus tied to a particular SVN, such as, when the transaction was created. Queries belonging to the transactions can access data that is consistent as of a point in time, for example, corresponding to the latest SVN when the transaction was created. At various times, data from the database stored in a memory can be updated using the snapshot data corresponding to a SVN. When a transaction is committed, a snapshot of the database with a new SVN is created based on the data modified by the transaction and the snapshot is synchronized to the memory.
    Type: Application
    Filed: June 23, 2008
    Publication date: December 24, 2009
    Applicant: Kickfire, Inc.
    Inventors: Kapil Surlaker, Ravi Krishnamurthy, Krishnan Meiyyappan, Alan Beck, Hung Tran, Jeremy Branscome, Joseph I. Chamdani
  • 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
  • Publication number: 20090254532
    Abstract: Embodiments of the present invention provide one or more hardware-friendly data structures that enable efficient hardware acceleration of database operations. In particular, the present invention employs a column-store format for the database. In the database, column-groups are stored with implicit row ids (RIDs) and a RID-to-primary key column having both column-store and row-store benefits via column hopping and a heap structure for adding new data. Fixed-width column compression allow for easy hardware database processing directly on the compressed data. A global database virtual address space is utilized that allows for arithmetic derivation of any physical address of the data regardless of its location. A word compression dictionary with token compare and sort index is also provided to allow for efficient hardware-based searching of text. A tuple reconstruction process is provided as well that allows hardware to reconstruct a row by stitching together data from multiple column groups.
    Type: Application
    Filed: April 7, 2008
    Publication date: October 8, 2009
    Inventors: Liuxi Yang, Kapil Surlaker, Ravi Krishnamurthy, Michael Corwin, Jeremy Branscome, Krishnan Meiyyappan, Joseph I. Chamdani
  • Publication number: 20090254516
    Abstract: Embodiments of the present invention provide hardware-friendly indexing of databases. In particular, forward and reverse indexing are utilized to allow for easy traversal of primary key to foreign key relationships. A novel structure known as a hit list also allows for easy scanning of various indexes in hardware. Group indexing is provided for flexible support of complex group key definition, such as for date range indexing and text indexing. A Replicated Reordered Column (RRC) may also be added to the group index to convert random I/O pattern into sequential I/O of only needed column elements.
    Type: Application
    Filed: April 7, 2008
    Publication date: October 8, 2009
    Inventors: Krishnan Meiyyappan, Liuxi Yang, Jeremy Branscome, Michael Corwin, Ravi Krishnamurthy, Kapil Surlaker, James Shau, Joseph I. Chamdani
  • Patent number: 7487405
    Abstract: A method and mechanism for dynamically changing the logical path of a state machine to avoid conflicts or problems is provided. A toggle state is employed for a state machine that allows dynamic changes in the computation path of a state machine. By analyzing the expected response state of a remote state machine, toggle states can be inserted in the path of a local state machine to avoid conflicts. This approach can be advantageously employed to reduce or prevent half-duplex violations for communications between applications on multiple computing nodes.
    Type: Grant
    Filed: May 10, 2002
    Date of Patent: February 3, 2009
    Assignee: Oracle International Corporation
    Inventors: Kapil Surlaker, Sreenivas Gollapudi, Lakshminarayanan Chidambaran, Debashis Saha
  • Patent number: 7389284
    Abstract: A method and mechanism for reducing the expense of data transmissions and storage between a first node and a second for a remote-mapped query or a query involving a distributed join operation is disclosed. Data prefetching can be utilized to predictably retrieve information. Data redundancy management can be employed to reduce the expense of transmitting and storing redundant data.
    Type: Grant
    Filed: May 10, 2002
    Date of Patent: June 17, 2008
    Assignee: Oracle International Corporation
    Inventors: Kapil Surlaker, Sreenivas Gollapudi, Lakshminarayanan Chidambaran, Debashis Saha
  • Patent number: 7386615
    Abstract: A system and method is disclosed that allows resources to be shared among multiple entities, but which can appropriately release system resources after the failure or shutdown of the calling entity. In one approach, a monitoring entity is available to check for session failures. If a session failure is detected, the session is identified in a shared list that is accessible to other related entities. The related entities can be configured to piggyback a message to an appropriate node to kill, shutdown, or release resources associated with the failed session. Alternatively, a related entity can be specifically initiated to send a message to the appropriate node to kill, shutdown, or release the resources.
    Type: Grant
    Filed: May 10, 2002
    Date of Patent: June 10, 2008
    Assignee: Oracle International Corporation
    Inventors: Kapil Surlaker, Sreenivas Gollapudi, Lakshminarayanan Chidambaran, Debashis Saha
  • Publication number: 20070276914
    Abstract: A method of using a plurality of subscriber types in managing a message queue of a database management system is described and provided. The method comprises creating a subscriber with a set of rules to the message queue. The subscriber is designated as one or more of the plurality of subscriber types. Moreover, an event notification registration representing a request to be notified if a message to the message queue satisfies the set of rules may be created. In response to a new message for enqueuing to the message queue, it is determined whether the new message satisfies the set of rules. If the new message satisfies the set of rules and if so determined by a triggered event notification registration, a notification is performed according to the triggered event notification registration. A requirement that a receiver of the notification dequeue the new message from the message queue depends on the subscriber type designation.
    Type: Application
    Filed: June 19, 2006
    Publication date: November 29, 2007
    Applicant: Oracle International Corporation
    Inventors: Kapil Surlaker, Neerja Bhatt
  • Publication number: 20070266393
    Abstract: A method of optimizing propagation of non-persistent messages from a source database management system (DBMS) to a destination database management system (DBMS) is described and provided. The method comprises receiving one or more non-persistent messages from a source non-persistent message queue of the source DBMS at a destination non-persistent message queue of the destination DBMS. The non-persistent messages are consumed from the destination non-persistent message queue such that consumed non-persistent messages are removed from the destination non-persistent message queue.
    Type: Application
    Filed: June 19, 2006
    Publication date: November 15, 2007
    Applicant: Oracle International Corporation
    Inventors: Kapil Surlaker, Nimar Singh Arora
  • Publication number: 20070266052
    Abstract: A method of ensuring availability of event notification registrations of a database management system is described and provided. The method comprises creating the event notification registrations and storing the event notification registrations in a database of the database management system. Further, the event notification registrations are replicated in a designated database management system to create replicated event notification registrations. If the database management system fails, the replicated event notification registrations are utilized.
    Type: Application
    Filed: June 19, 2006
    Publication date: November 15, 2007
    Applicant: Orcale International Corporation
    Inventors: Kapil Surlaker, Shailendra Mishra
  • Publication number: 20070250545
    Abstract: A computer implemented method for automatically transforming an event notification within a database notification infrastructure based on client specified formatting and/or editing procedures. The method includes transforming the event notification having a format compatible with a database using a client specific format conversion procedure into a client-compatible event notification format. Further, the method may include transforming the payload portion of the event notification having a format compatible with a database using a client specific format conversion procedure into a linear event notification format. Moreover, the method may include transforming the event notification using a client specific editing procedure. The client specified procedures may be specified during event registration by the client. The transformed and/or edited event notifications may be forwarded to the client.
    Type: Application
    Filed: April 19, 2006
    Publication date: October 25, 2007
    Inventors: Kapil Surlaker, Shailendra Mishra
  • Publication number: 20070240170
    Abstract: A computer implemented method for processing an event notification within a notification infrastructure of a database system based on a client specified quality of service designation. The designation may indicate reliable transmission in which case a persistent internal queue is used. The method includes enqueuing an event notification into a persistent internal queue of said database notification infrastructure provided the client specified quality of service designation indicates reliable event notification. The event monitor then notifies the specified subscribers of the event notification. The reliable quality of service designation can be made at event registrations.
    Type: Application
    Filed: April 10, 2006
    Publication date: October 11, 2007
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Kapil Surlaker, Shailendra Mishra
  • Publication number: 20070240169
    Abstract: A computer implemented method and system for automatically removing an event registration within an event notification infrastructure of a database system is disclosed. The method includes removing an event registration from an event queue automatically if a specified active period of time has elapsed. Further, the method includes removing an event registration from an event queue automatically if the event occurred N times where N can be specified at event registration. Also, the method includes removing an event registration from an event queue automatically if either the event occurred N times where N can be specified at event registration or a specified active period of time has elapsed. Moreover, the method includes removing an event registration from an event queue if a client explicitly requests removal of said event registration.
    Type: Application
    Filed: April 10, 2006
    Publication date: October 11, 2007
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Kapil Surlaker, Neerja Bhatt
  • Patent number: 7203706
    Abstract: A buffered message queue architecture for managing messages in a database management system is disclosed. A “buffered message queue” refers to a message queue implemented in a volatile memory, such as a RAM. The volatile memory may be a shared volatile memory that is accessible by a plurality of processes. The buffered message queue architecture supports a publish and subscribe communication mechanism, where the message producers and message consumers may be decoupled from and independent of each other. The buffered message queue architecture provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage. The buffered message queue architecture provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained.
    Type: Grant
    Filed: May 21, 2003
    Date of Patent: April 10, 2007
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Neerja Bhatt, Kapil Surlaker, Krishnan Meiyyappan, Shailendra Mishra
  • Patent number: 7185034
    Abstract: A buffered message queue architecture for managing messages in a database management system is disclosed. A “buffered message queue” refers to a message queue implemented in a volatile memory, such as a RAM. The volatile memory may be a shared volatile memory that is accessible by a plurality of processes. The buffered message queue architecture supports a publish and subscribe communication mechanism, where the message producers and message consumers may be decoupled from and independent of each other. The buffered message queue architecture provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage. The buffered message queue architecture provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained.
    Type: Grant
    Filed: May 21, 2003
    Date of Patent: February 27, 2007
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Neerja Bhatt, Kapil Surlaker, Krishnan Meiyyappan, Shailendra Mishra, Bhagat Nainani
  • Patent number: 7185033
    Abstract: A buffered message queue architecture for managing messages in a database management system is disclosed. A “buffered message queue” refers to a message queue implemented in a volatile memory, such as a RAM. The volatile memory may be a shared volatile memory that is accessible by a plurality of processes. The buffered message queue architecture supports a publish and subscribe communication mechanism, where the message producers and message consumers may be decoupled from and independent of each other. The buffered message queue architecture provides all the functionality of a persistent publish-subscriber messaging system, without ever having to store the messages in persistent storage. The buffered message queue architecture provides better performance and scalability since no persistent operations are needed and no UNDO/REDO logs need to be maintained.
    Type: Grant
    Filed: May 21, 2003
    Date of Patent: February 27, 2007
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Neerja Bhatt, Kapil Surlaker, Krishnan Meiyyappan, Shailendra Mishra