Patents by Inventor Kiran Goyal

Kiran Goyal 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: 8892905
    Abstract: One embodiment of the present invention provides a system for performing selective encryption/decryption in a data storage system. During operation, the system receives a data block from a storage medium at an input/output layer, wherein the input/output layer serves as an interface between the storage medium and a buffer cache. Next, the system determines whether the data block is an encrypted data block. If not, the system stores the data block in the buffer cache. Otherwise, if the data block is an encrypted data block, the system retrieves a storage-key, wherein the storage-key is associated with a subset of storage, which is associated with the encrypted data block. Using the storage-key, the system then decrypts the encrypted data block to produce a decrypted data block. Finally, the system stores the decrypted data block in the buffer cache, wherein the data block remains encrypted in the storage medium.
    Type: Grant
    Filed: March 21, 2007
    Date of Patent: November 18, 2014
    Assignee: Oracle International Corporation
    Inventors: Adam Y. Lee, Varun Malhotra, Daniel ManHung Wong, Tirthankar Lahiri, Kiran Goyal, Juan R. Loaiza, Paul Youn
  • Patent number: 7783852
    Abstract: Allocation of memory is optimized across multiple pools of memory, based on minimizing the time it takes to successfully retrieve a given data item from each of the multiple pools. First data is generated that indicates a hit rate per pool size for each of multiple memory pools. In an embodiment, the generating step includes continuously monitoring attempts to access, or retrieve a data item from, each of the memory pools. The first data is converted to second data that accounts for a cost of a miss with respect to each of the memory pools. In an embodiment, the second data accounts for the cost of a miss in terms of time. How much of the memory to allocate to each of the memory pools is determined, based on the second data. In an embodiment, the steps of converting and determining are automatically performed, on a periodic basis.
    Type: Grant
    Filed: December 23, 2003
    Date of Patent: August 24, 2010
    Assignee: Oracle International Corporation
    Inventors: Tirthankar Lahiri, Poojan Kumar, Brian Hirano, Arvind Nithrakashyap, Kant Patel, Kiran Goyal, Juan R. Loaiza
  • Patent number: 7734580
    Abstract: A standby database system or another replica data system replicates changes, made to data blocks at a source database system or another primary data copy, to replicas of the data blocks at the standby database system or other replica. While replicating the changes to the data blocks thereof, the standby database system (or other replica) receives queries (or reads) issued thereto and computes the queries based on data read from the data blocks thereof.
    Type: Grant
    Filed: January 29, 2007
    Date of Patent: June 8, 2010
    Assignee: Oracle International Corporation
    Inventors: Tirthankar Lahiri, Kiran Goyal, Jia Shi, Wei-Ming Hu, Neil MacNaughton, Jaebock Lee, Bharat Baddepudi, Yunrui Li, J. William Lee, Vipin Gokhale, Mark Dilman, Niloy Mukherjee, Vinay Srihari, Kumar Rajamani, Hochak Hung
  • Patent number: 7600063
    Abstract: Techniques are provided for performing changes to a resource governed by a locking mechanism. An entity (such as a server instance in a database system cluster) requests permission to modify the resource. In response to the request, the entity receives a first lock on the resource, which grants permission to perform the change to the resource without making the change permanent. After receiving the first lock, the entity performs the change to a copy of the resource that resides in shared memory without making another copy of the resource. After performing the change and until receiving permission to make the change permanent, the entity prevents the change to the resource from becoming permanent. After performing the change, the entity receives a second lock on the resource, which grants the entity permission to make the change permanent. After receiving the second lock, the entity ceases to prevent the change to the resource from becoming permanent.
    Type: Grant
    Filed: September 15, 2006
    Date of Patent: October 6, 2009
    Assignee: Oracle International Corporation
    Inventors: Juan Loaiza, Neil MacNaughton, Eugene Ho, Vipin Gokhale, Kiran Goyal, Tirthankar Lahiri
  • Publication number: 20080235291
    Abstract: A standby database system or another replica data system replicates changes, made to data blocks at a source database system or another primary data copy, to replicas of the data blocks at the standby database system or other replica. While replicating the changes to the data blocks thereof, the standby database system (or other replica) receives queries (or reads) issued thereto and computes the queries based on data read from the data blocks thereof.
    Type: Application
    Filed: January 29, 2007
    Publication date: September 25, 2008
    Inventors: Tirthankar Lahiri, Kiran Goyal, Jia Shi, Wei-Ming Hu, Neil MacNaughton, Jaebock Lee, Bharat Baddepudi, Yunrui Li, J. William Lee, Vipin Gokhale, Mark Dilman, Niloy Mukherjee, Vinay Srihari, Kumar Rajamani, Hochak Hung
  • Publication number: 20080232592
    Abstract: One embodiment of the present invention provides a system for performing selective encryption/decryption in a data storage system. During operation, the system receives a data block from a storage medium at an input/output layer, wherein the input/output layer serves as an interface between the storage medium and a buffer cache. Next, the system determines whether the data block is an encrypted data block. If not, the system stores the data block in the buffer cache. Otherwise, if the data block is an encrypted data block, the system retrieves a storage-key, wherein the storage-key is associated with a subset of storage, which is associated with the encrypted data block. Using the storage-key, the system then decrypts the encrypted data block to produce a decrypted data block. Finally, the system stores the decrypted data block in the buffer cache, wherein the data block remains encrypted in the storage medium.
    Type: Application
    Filed: March 21, 2007
    Publication date: September 25, 2008
    Inventors: Adam Y. Lee, Varun Malhotra, Daniel ManHung Wong, Tirthankar Lahiri, Kiran Goyal, Juan R. Loaiza, Paul Youn
  • Publication number: 20080071997
    Abstract: Techniques are provided for performing changes to a resource governed by a locking mechanism. An entity (such as a server instance in a database system cluster) requests permission to modify the resource. In response to the request, the entity receives a first lock on the resource, which grants permission to perform the change to the resource without making the change permanent. After receiving the first lock, the entity performs the change to a copy of the resource that resides in shared memory without making another copy of the resource. After performing the change and until receiving permission to make the change permanent, the entity prevents the change to the resource from becoming permanent. After performing the change, the entity receives a second lock on the resource, which grants the entity permission to make the change permanent. After receiving the second lock, the entity ceases to prevent the change to the resource from becoming permanent.
    Type: Application
    Filed: September 15, 2006
    Publication date: March 20, 2008
    Inventors: Juan Loaiza, Neil MacNaughton, Eugene Ho, Vipin Gokhale, Kiran Goyal, Tirthankar Lahiri
  • Patent number: 7194589
    Abstract: An electronic and computerized system that coalesces write operations using a buffer cache which stores data waiting to be written back to a disk of the electronic and computerized system is described. Dirty data blocks with consecutive data block addresses in the buffer cache are coalesced and written to the disk together. The disk head movements for performing the disk IOs are significantly reduced, thereby allowing the electronic and computerized system to maintain a high IO throughput and high peak performance with fewer disks.
    Type: Grant
    Filed: August 22, 2003
    Date of Patent: March 20, 2007
    Assignee: Oracle International Corporation
    Inventors: Tirthankar Lahiri, Juan R. Loaiza, Richard L. Frank, Kiran Goyal
  • Publication number: 20060224594
    Abstract: A computer-implemented method of generating a list of K most frequently accessed ones of a plurality of data blocks in a database may include steps of selecting the number K; building the list of K blocks by storing an identification of and maintaining a running count for up to selected K ones of the data blocks by iteratively carrying out a single step for each of the plurality of data blocks, the single step being selected from an incrementing step to increment the count, a decrementing step to decrement the count, an adding step to add a data block to the list and to set a count of the added data block and a replacing step to replace an existing data block of the list with a new data block and to set a count of the new data block, and providing the list of K most frequently accessed blocks.
    Type: Application
    Filed: April 4, 2005
    Publication date: October 5, 2006
    Applicant: Oracle International Corporation
    Inventors: Kiran Goyal, Tudor Bosman, Tirthankar Lahiri
  • Publication number: 20050114621
    Abstract: Allocation of memory is optimized across multiple pools of memory, based on minimizing the time it takes to successfully retrieve a given data item from each of the multiple pools. First data is generated that indicates a hit rate per pool size for each of multiple memory pools. In an embodiment, the generating step includes continuously monitoring attempts to access, or retrieve a data item from, each of the memory pools. The first data is converted to second data that accounts for a cost of a miss with respect to each of the memory pools. In an embodiment, the second data accounts for the cost of a miss in terms of time. How much of the memory to allocate to each of the memory pools is determined, based on the second data. In an embodiment, the steps of converting and determining are automatically performed, on a periodic basis.
    Type: Application
    Filed: December 23, 2003
    Publication date: May 26, 2005
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Tirthankar Lahiri, Poojan Kumar, Brian Hirano, Arvind Nithrakashyap, Kant Patel, Kiran Goyal, Juan Loaiza
  • Publication number: 20050044311
    Abstract: A method and system for implementing coalescing write IOs for an electronic and computerized system is disclosed. The electronic and computerized system has a buffer cache storing data blocks waiting for being written into a disk of the electronic and computerized system. Dirty data blocks with consecutive data block addresses in the buffer cache are coalesced and written to the disk together. Thus, the disk head movements for performing the write IOs are significantly reduced, thereby allowing the electronic and computerized system to maintain a high IO throughput and high peak performance with fewer disks.
    Type: Application
    Filed: August 22, 2003
    Publication date: February 24, 2005
    Inventors: Tirthankar Lahiri, Juan Loaiza, Richard Frank, Kiran Goyal