Patents by Inventor Aditya Sawhney

Aditya Sawhney 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: 11726979
    Abstract: Techniques for determining a chronological order of transactions executed in relation to an object stored in a storage system are disclosed. A transaction history, stored in association with an object, includes information identifying transactions executed in relation to the object. A transaction history manager obtains information describing a state machine from a data repository. The state machine defines a finite set of states that may be assumed by objects stored in the storage system. The state machine specifies transaction types that may be executed from each state. Based on the state machine, the messaging service determines a sequence of states assumed by the object. The messaging service determines a particular transaction that is executable from each state assumed by the object. Hence, the messaging service determines a chronological order of the transactions stored in the transaction history.
    Type: Grant
    Filed: December 6, 2016
    Date of Patent: August 15, 2023
    Assignee: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Patent number: 11599504
    Abstract: Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
    Type: Grant
    Filed: June 9, 2022
    Date of Patent: March 7, 2023
    Assignee: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Publication number: 20220318193
    Abstract: Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
    Type: Application
    Filed: June 9, 2022
    Publication date: October 6, 2022
    Applicant: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Patent number: 11386045
    Abstract: Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
    Type: Grant
    Filed: November 4, 2020
    Date of Patent: July 12, 2022
    Assignee: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Patent number: 11379415
    Abstract: Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
    Type: Grant
    Filed: November 4, 2020
    Date of Patent: July 5, 2022
    Assignee: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Patent number: 10983877
    Abstract: In an embodiment, automatic verification of a system backup operation is provided. This verification is achieved by copying executable files to a writeable file system representing a backup recovery point and configuring an operating system within the writeable file system to execute a particular service upon startup of the operating system. Moreover, a validation virtual machine (VM) associated with a backup recovery point is launched from the writeable file system and a first and second validation operation are performed by the validation VM. Results of the first validation operation are used to select the second validation operation, and the validation VM is determined to have completed successfully based on the results of the second validation operation. In one embodiment, a repair operation may be performed, based on the first set of results, to repair the operating system of the computing device and/or backup data of the computing device.
    Type: Grant
    Filed: October 29, 2019
    Date of Patent: April 20, 2021
    Assignee: eFolder Inc.
    Inventors: Kevin John Hoffman, Aditya Sawhney, Nikolay Stanislavovich Semchenkov, Konstantin Sergeevich Germanov, Dmitry Valerevich Stepanov
  • Publication number: 20210103558
    Abstract: Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
    Type: Application
    Filed: November 4, 2020
    Publication date: April 8, 2021
    Applicant: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Patent number: 10956051
    Abstract: Techniques are described for organizing data within a storage system. In one or more embodiments, a storage system monitors access to a first set of objects comprising (a) a first subset of objects associated with at least a first attributes and (b) a second subset of objects associated with at least a second attribute. Based on the monitoring, the storage system identifies a pattern of accessing objects in the second subset of objects subsequent to accessing objects in the first subset of objects. Responsive to receiving a request to store a second set of objects, the storage system generates a file in which a first object associated with at least the first attribute and a second object associated with at least the second object are stored consecutively.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: March 23, 2021
    Assignee: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Publication number: 20210049129
    Abstract: Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
    Type: Application
    Filed: November 4, 2020
    Publication date: February 18, 2021
    Applicant: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Patent number: 10860534
    Abstract: Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
    Type: Grant
    Filed: October 27, 2016
    Date of Patent: December 8, 2020
    Assignee: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Patent number: 10733159
    Abstract: Techniques for maintaining immutable data and mutable metadata in a storage system are disclosed. Each object is associated with one or more data records and one or more metadata records. Responsive to a request to modify the data of an object, a new data record and a new metadata record are generated for the object. The new data record stores the new data of the object. The new metadata record stores the new metadata corresponding to the new data of the object. Responsive to a request to modify the metadata of an object, an existing metadata record of the object is identified. The existing metadata record is overwritten with the new metadata of the object. No new data records or metadata records are generated.
    Type: Grant
    Filed: December 5, 2016
    Date of Patent: August 4, 2020
    Assignee: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Patent number: 10664309
    Abstract: Concurrent processing of objects is scheduled using time buckets of different time bucket generations. A time bucket generation includes a configuration for time buckets associated with that time bucket generation. The concurrent use of different time bucket generations includes the concurrent processing of objects referenced by time buckets of different time bucket generations.
    Type: Grant
    Filed: November 27, 2018
    Date of Patent: May 26, 2020
    Assignee: Oracle International Corporation
    Inventors: Aditya Sawhney, Christopher Fagiani
  • Patent number: 10664329
    Abstract: A consumer transmits a set of system updates corresponding to an initial set of events retrieved from an event stream. The consumer determines that acknowledgement of the transmission of the initial set of events has not been received. The consumer executes another retrieval operation to retrieve events from the event stream which results in retrieving an updated set of events. The updated set of events includes the initial set of events and one or more additional events. The consumer trims the updated set of events to remove the one or more additional events and obtains the initial set of events. The consumer re-determines and re-transmits the system updates corresponding to the initial set of events that were obtained by trimming the updated set of events.
    Type: Grant
    Filed: November 20, 2018
    Date of Patent: May 26, 2020
    Assignee: Oracle International Corporation
    Inventors: Aditya Sawhney, Venkat Pavan Kumar Bellapu Konda
  • Patent number: 10275177
    Abstract: Techniques are described for migrating data between storage components. In one or more embodiments, a storage system receives a request to migrate data from a first storage component to a second storage component. Responsive to the request, the storage system initiates migration of the data from the first storage component to the second storage component. While migration is ongoing, the storage system may receive a request to access the data. Responsive to receiving a write request, the storage system executes the write request on the second storage component without executing the write request on the first storage component. Responsive to determining that the second request is a read request, the storage system selects one of the first storage component or the second storage component to execute the read request based on a first attribute associated with the first storage component and/or a second attribute associated with the second storage component.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: April 30, 2019
    Assignee: Oracle International Corporation
    Inventors: Aditya Sawhney, Atiq Ahamad
  • Publication number: 20190095248
    Abstract: Concurrent processing of objects is scheduled using time buckets of different time bucket generations. A time bucket generation includes a configuration for time buckets associated with that time bucket generation. The concurrent use of different time bucket generations includes the concurrent processing of objects referenced by time buckets of different time bucket generations.
    Type: Application
    Filed: November 27, 2018
    Publication date: March 28, 2019
    Applicant: Oracle International Corporation
    Inventors: Aditya Sawhney, Christopher Fagiani
  • Publication number: 20190087242
    Abstract: A consumer transmits a set of system updates corresponding to an initial set of events retrieved from an event stream. The consumer determines that acknowledgement of the transmission of the initial set of events has not been received. The consumer executes another retrieval operation to retrieve events from the event stream which results in retrieving an updated set of events. The updated set of events includes the initial set of events and one or more additional events. The consumer trims the updated set of events to remove the one or more additional events and obtains the initial set of events. The consumer re-determines and re-transmits the system updates corresponding to the initial set of events that were obtained by trimming the updated set of events.
    Type: Application
    Filed: November 20, 2018
    Publication date: March 21, 2019
    Applicant: Oracle International Corporation
    Inventors: Aditya Sawhney, Venkat Pavan Kumar Bellapu Konda
  • Patent number: 10191936
    Abstract: Systems and methods for implementing a two-tier commit protocol are described herein. In one or more embodiments, a storage system is configured to receive a request to store an object within a storage system, the object comprising (a) data and (b) metadata. Responsive to the request, the metadata is transmitted to a metadata tier of the storage system, which generates a first acknowledgment that a metadata record has been created in the metadata tier with a pending status. Responsive to the first acknowledgment, the object data is transmitted to a data tier of the storage system. A second acknowledgment is then generated indicating that a data record has been created with a pending status. Responsive to the second acknowledgement, the metadata record is updated to a committed status. The data record in the data tier is then updated to a committed status.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: January 29, 2019
    Assignee: Oracle International Corporation
    Inventor: Aditya Sawhney
  • Patent number: 10180863
    Abstract: A consumer transmits a set of system updates corresponding to an initial set of events retrieved from an event stream. The consumer determines that acknowledgement of the transmission of the initial set of events has not been received. The consumer executes another retrieval operation to retrieve events from the event stream which results in retrieving an updated set of events. The updated set of events includes the initial set of events and one or more additional events. The consumer trims the updated set of events to remove the one or more additional events and obtains the initial set of events. The consumer re-determines and re-transmits the system updates corresponding to the initial set of events that were obtained by trimming the updated set of events.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: January 15, 2019
    Assignee: Oracle International Corporation
    Inventors: Aditya Sawhney, Venkat Pavan Kumar Bellapu Konda
  • Patent number: 10169081
    Abstract: Concurrent processing of objects is scheduled using time buckets of different time bucket generations. A time bucket generation includes a configuration for time buckets associated with that time bucket generation. The concurrent use of different time bucket generations includes the concurrent processing of objects referenced by time buckets of different time bucket generations.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: January 1, 2019
    Assignee: Oracle International Corporation
    Inventors: Aditya Sawhney, Christopher Fagiani
  • Publication number: 20180121457
    Abstract: Each object is associated with one root metadata record and one or more version-specific metadata records, each corresponding to a version of object data. A conditional command may be conditioned upon whether an object is stored in a storage system. Whether the condition is satisfied is determined based on whether a root metadata record of the object exists. If the condition is satisfied, then metadata is updated to reflect execution of the conditional command. A conditional command may be conditioned upon whether a data version identifier or a metadata version identifier equals a particular value. A conditional command execution engine retrieves the relevant version identifier from a version-specific metadata record, and performs a check on whether the condition is satisfied. If the condition is satisfied, the engine ensures that the version-specific record has not been modified during the check, and updates metadata to reflect execution of the conditional command.
    Type: Application
    Filed: October 27, 2016
    Publication date: May 3, 2018
    Applicant: Oracle International Corporation
    Inventor: Aditya Sawhney