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: 8892905Abstract: 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: GrantFiled: March 21, 2007Date of Patent: November 18, 2014Assignee: Oracle International CorporationInventors: Adam Y. Lee, Varun Malhotra, Daniel ManHung Wong, Tirthankar Lahiri, Kiran Goyal, Juan R. Loaiza, Paul Youn
-
Patent number: 7783852Abstract: 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: GrantFiled: December 23, 2003Date of Patent: August 24, 2010Assignee: Oracle International CorporationInventors: Tirthankar Lahiri, Poojan Kumar, Brian Hirano, Arvind Nithrakashyap, Kant Patel, Kiran Goyal, Juan R. Loaiza
-
Patent number: 7734580Abstract: 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: GrantFiled: January 29, 2007Date of Patent: June 8, 2010Assignee: Oracle International CorporationInventors: 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: 7600063Abstract: 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: GrantFiled: September 15, 2006Date of Patent: October 6, 2009Assignee: Oracle International CorporationInventors: Juan Loaiza, Neil MacNaughton, Eugene Ho, Vipin Gokhale, Kiran Goyal, Tirthankar Lahiri
-
Publication number: 20080235291Abstract: 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: ApplicationFiled: January 29, 2007Publication date: September 25, 2008Inventors: 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: 20080232592Abstract: 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: ApplicationFiled: March 21, 2007Publication date: September 25, 2008Inventors: Adam Y. Lee, Varun Malhotra, Daniel ManHung Wong, Tirthankar Lahiri, Kiran Goyal, Juan R. Loaiza, Paul Youn
-
Publication number: 20080071997Abstract: 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: ApplicationFiled: September 15, 2006Publication date: March 20, 2008Inventors: Juan Loaiza, Neil MacNaughton, Eugene Ho, Vipin Gokhale, Kiran Goyal, Tirthankar Lahiri
-
Patent number: 7194589Abstract: 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: GrantFiled: August 22, 2003Date of Patent: March 20, 2007Assignee: Oracle International CorporationInventors: Tirthankar Lahiri, Juan R. Loaiza, Richard L. Frank, Kiran Goyal
-
Publication number: 20060224594Abstract: 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: ApplicationFiled: April 4, 2005Publication date: October 5, 2006Applicant: Oracle International CorporationInventors: Kiran Goyal, Tudor Bosman, Tirthankar Lahiri
-
Publication number: 20050114621Abstract: 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: ApplicationFiled: December 23, 2003Publication date: May 26, 2005Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Tirthankar Lahiri, Poojan Kumar, Brian Hirano, Arvind Nithrakashyap, Kant Patel, Kiran Goyal, Juan Loaiza
-
Publication number: 20050044311Abstract: 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: ApplicationFiled: August 22, 2003Publication date: February 24, 2005Inventors: Tirthankar Lahiri, Juan Loaiza, Richard Frank, Kiran Goyal