Patents by Inventor Mikhail Chainani
Mikhail Chainani 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: 11669510Abstract: Technology for tracking changes to a database and providing the changes to a subscribing computing device. In an illustrative implementation, a method may involve subscribing a computing device to changes of a portion of a multi-tenant database and accessing a plurality of change events stored in a log of the multi-tenant database in parallel. The method may further involve storing the plurality of change events in a persistent data store separate from the multi-tenant database and processing the plurality of change events to create an ordered set of change events. The ordered set of change events may then be provided to the computing device that subscribed to the changes.Type: GrantFiled: May 21, 2020Date of Patent: June 6, 2023Assignee: salesforce.com, inc.Inventors: Gary Baker, Mikhail Chainani, Varun Jobanputra, William Dumaresq
-
Patent number: 11494408Abstract: A first copy of a database object may be constructed prior to applying a designated database update request to a first database. The database object may be represented by a plurality of database table rows in the first database, and the request may update one or more of the plurality of rows. The request may be applied to the first database to update the one or more of the plurality of rows in the first database. A second copy of the database object may be constructed after applying the database update request to the first database. A message identifying a difference between the first copy of the database object and a second copy of the database object may be transmitted to a remote computing device.Type: GrantFiled: September 24, 2019Date of Patent: November 8, 2022Assignee: salesforce.com, inc.Inventors: Mikhail Chainani, Xiaodan Wang, Vijayanth Devadhar
-
Patent number: 11467866Abstract: A request for an organization migration to move application data and application services of an organization hosted at a source system instance in a multi-tenant computing system to a target system instance in the multi-tenant computing system is received. Based on operational parameters, a time window is selected to execute the organization migration. Computing resource usages of one or both of the source and target system instances in the selected time window are monitored. If computing resources are available, the organization migration is enqueued.Type: GrantFiled: January 29, 2018Date of Patent: October 11, 2022Assignee: Salesforce.com, Inc.Inventors: Chen Liu, Ilya Zaslavsky, Alex Ovesea, Mikhail Chainani, Xiaodan Wang, Sridevi Gopala Krishnan
-
Patent number: 11354153Abstract: A resource utilization level and a data size may be determined for each organization within a computing pod located within an on-demand computing services organization configured to provide computing services. One of the organizations may be selected for migration away from the computing pod based on the resource utilization levels and the data sizes. The designated organization may have a respective resource utilization level that is high in relation to its respective data size.Type: GrantFiled: January 22, 2020Date of Patent: June 7, 2022Assignee: salesforce.com, Inc.Inventors: Xiaodan Wang, Ilya Zaslavsky, Prakash Ramaswamy, Sridevi Gopala Krishnan, Mikhail Chainani, Scott Ware, Lauren Valdivia
-
Patent number: 11308043Abstract: A request may be received to relocate source data within a distributed database system arranged in a hierarchy composed of a plurality of levels. The plurality of levels may include a local level that includes a plurality of pods, which may be end points in the hierarchy. The data may be stored at a source pod. The request may identify a designated level in the hierarchy at which to relocate the source data. A target pod within the distributed database system may be selected. The source pod and the target pod may be located remotely from one another. The data may be replicated to the target pod via a local change bus in communication with the source pod. The local change bus may capture changes made to data stored in the source pod and transmit the captured changes to the target pod via the hierarchy.Type: GrantFiled: November 13, 2019Date of Patent: April 19, 2022Assignee: salesforce.com, Inc.Inventors: Xiaodan Wang, Mikhail Chainani
-
Patent number: 11132383Abstract: Techniques are disclosed relating to processing data stored within database tables in a parallelized manner. In various embodiments, a computer system maintains a database having a database table storing data for a plurality of tenants and an index structure storing indexes for accessing data stored in the database table. In some embodiments, the computer system receives, from a particular tenant, a request to perform a task that includes operating on particular data. In some embodiments, the computer system determines a portion of the index structure corresponding to the particular tenant and divides a range of indexes within that portion into a plurality of index sub-ranges. In various embodiments, the computer system processes portions of the task in parallel by determining an index sub-range for each of a plurality of threads and causing each of the threads to operate on a portion of the particular data specified by its index sub-range.Type: GrantFiled: January 31, 2018Date of Patent: September 28, 2021Assignee: salesforce.com, inc.Inventors: Xiaodan Wang, Mikhail Chainani, Alan Arbizu, Ashwini Bijwe
-
Patent number: 11093485Abstract: A staging table created in a database system may store a snapshot of live database table captured prior to an unintended change to the live database table. One or more entries in the staging table may be updated to incorporate one or more intended changes to the live database table that occurred after the unintended change. The live database table may be updated by merging each of the updated entries from the staging table to the live database table. The updated database table may eliminate the unintended change.Type: GrantFiled: August 27, 2019Date of Patent: August 17, 2021Assignee: Salesforce.com, Inc.Inventors: Mikhail Chainani, Xiaodan Wang, Vijayanth Devadhar
-
Patent number: 11093294Abstract: A request may be received to migrate an organization from a first computing pod to a second computing pod located within an on-demand computing services organization configured to provide computing services. A migration resource utilization profile may be determined for the first computing pod. The migration resource utilization profile may identify one or more computing resources involved in transferring organizations from the first computing pod during one or more time windows. A migration time window for performing the requested migration may be selected based at least in part on the migration resource utilization profile.Type: GrantFiled: January 22, 2020Date of Patent: August 17, 2021Assignee: Salesforce.com, Inc.Inventors: Xiaodan Wang, Ilya Zaslavsky, Prakash Ramaswamy, Sridevi Gopala Krishnan, Mikhail Chainani, Scott Ware, Lauren Valdivia
-
Publication number: 20210224106Abstract: A resource utilization level and a data size may be determined for each organization within a computing pod located within an on-demand computing services organization configured to provide computing services. One of the organizations may be selected for migration away from the computing pod based on the resource utilization levels and the data sizes. The designated organization may have a respective resource utilization level that is high in relation to its respective data size.Type: ApplicationFiled: January 22, 2020Publication date: July 22, 2021Applicant: Salesforce.com, Inc.Inventors: Xiaodan Wang, Ilya Zaslavsky, Prakash Ramaswamy, Sridevi Gopala Krishnan, Mikhail Chainani, Scott Ware, Lauren Valdivia
-
Publication number: 20210224115Abstract: A request may be received to migrate an organization from a first computing pod to a second computing pod located within an on-demand computing services organization configured to provide computing services. A migration resource utilization profile may be determined for the first computing pod. The migration resource utilization profile may identify one or more computing resources involved in transferring organizations from the first computing pod during one or more time windows. A migration time window for performing the requested migration may be selected based at least in part on the migration resource utilization profile.Type: ApplicationFiled: January 22, 2020Publication date: July 22, 2021Applicant: Salesforce.com, Inc.Inventors: Xiaodan WANG, Ilya Zaslavsky, Prakash Ramaswamy, Sridevi Gopala Krishnan, Mikhail Chainani, Scott Ware, Lauren Valdivia
-
Publication number: 20210141770Abstract: A request may be received to relocate source data within a distributed database system arranged in a hierarchy composed of a plurality of levels. The plurality of levels may include a local level that includes a plurality of pods, which may be end points in the hierarchy. The data may be stored at a source pod. The request may identify a designated level in the hierarchy at which to relocate the source data. A target pod within the distributed database system may be selected. The source pod and the target pod may be located remotely from one another. The data may be replicated to the target pod via a local change bus in communication with the source pod. The local change bus may capture changes made to data stored in the source pod and transmit the captured changes to the target pod via the hierarchy.Type: ApplicationFiled: November 13, 2019Publication date: May 13, 2021Applicant: Salesforce.com, Inc.Inventors: Xiaodan WANG, Mikhail CHAINANI
-
Publication number: 20210089556Abstract: A first copy of a database object may be constructed prior to applying a designated database update request to a first database. The database object may be represented by a plurality of database table rows in the first database, and the request may update one or more of the plurality of rows. The request may be applied to the first database to update the one or more of the plurality of rows in the first database. A second copy of the database object may be constructed after applying the database update request to the first database. A message identifying a difference between the first copy of the database object and a second copy of the database object may be transmitted to a remote computing device.Type: ApplicationFiled: September 24, 2019Publication date: March 25, 2021Applicant: Salesforce.com, Inc.Inventors: Mikhail CHAINANI, Xiaodan WANG, Vijayanth DEVADHAR
-
Patent number: 10958505Abstract: Techniques and architectures to provide multiple application servers each having at least one connection agent and at least one enabler agent and at least one database organized as multiple nodes. An error condition between a first connection agent and a first database node is detected. The first connection agent indicates that the first database node is unavailable to stop attempts to access the first database node by a first application server. A first enabler agent periodically checks availability of the first database node. The first database node is indicated as available in response to a pre-selected number of successful attempts to contact the first database node with the first enabler agent. The first database node is accessed with the application server in response to the indication that the first database node is available.Type: GrantFiled: August 5, 2019Date of Patent: March 23, 2021Assignee: salesforce.com, inc.Inventors: Olumayokun Obembe, Chen Liu, Ping-Hsiu Hsieh, Ashwini Bijwe, Vijayanth Devadhar, Mikhail Chainani, Sridevi Gopala Krishnan, Alan Arbizu, Jesse Collins
-
Publication number: 20210064601Abstract: A staging table created in a database system may store a snapshot of live database table captured prior to an unintended change to the live database table. One or more entries in the staging table may be updated to incorporate one or more intended changes to the live database table that occurred after the unintended change. The live database table may be updated by merging each of the updated entries from the staging table to the live database table. The updated database table may eliminate the unintended change.Type: ApplicationFiled: August 27, 2019Publication date: March 4, 2021Applicant: Salesforce.com, Inc.Inventors: Mikhail Chainani, Xiaodan Wang, Vijayanth Devadhar
-
Patent number: 10936571Abstract: Methods and systems for providing a rewind of table data in a data management system include: storing a table having table data that defines a plurality of rows and a plurality of columns that define a plurality of cells; capturing change data associated with changes to at least one of the plurality of rows, the plurality of columns, and the plurality of cells; associating the change data with a transaction having a transaction identifier; storing the transaction and the change data in a change bus; retrieving the change data from the change bus based on a rewind request; performing a rewind of a subset of the changes by performing a reverse operation of the change data relating to the subset of changes and according to a reverse operation order; and outputting a clone of the table based on the rewind of the changes of the table.Type: GrantFiled: April 28, 2020Date of Patent: March 2, 2021Assignee: salesforce.com, Inc.Inventors: Mikhail Chainani, William Dumaresq, Xiaodan Wang
-
Patent number: 10817497Abstract: Migration specific action requests to perform a set of migration specific actions are sent from a source system instance to a target system instance. Migration specific action responses are received from the target system instance. Based on the migration specific action responses, traffic lights for resource utilization of the target system instance are determined. Based on the traffic lights, a concurrency limit is determined for the specific time. The concurrency limit is applied to scale a total number of ongoing migration specific actions to be requested of the target system instance at the specific time.Type: GrantFiled: January 29, 2018Date of Patent: October 27, 2020Assignee: salesforce.com, inc.Inventors: Ilya Zaslavsky, Mikhail Chainani, Alex Ovesea, Vijayanth Devadhar, Xiaodan Wang, Alan Arbizu
-
Patent number: 10776147Abstract: Migration configuration data for an organization migration to move application data and application services of a to-be-migrated organization hosted at a source system instance to a target system instance is received. Migration components respectively representing to-be-migrated systems of record in a to-be-migrated organization are registered. In response to receiving an instruction to enter a specific organization migration state, migration steps for each migration component in the migration components are identified for execution in the specific organization migration state. Each migration component in the migration components automatically executes migration steps determined for each such migration component for execution in the specific organization migration state.Type: GrantFiled: January 29, 2018Date of Patent: September 15, 2020Assignee: salesforce.com, inc.Inventors: Alex Ovesea, Ilya Zaslavsky, Chen Liu, Alan Arbizu, Mikhail Chainani, Xiaodan Wang, Sridevi Gopala Krishnan
-
Publication number: 20200285627Abstract: Technology for tracking changes to a database and providing the changes to a subscribing computing device. In an illustrative implementation, a method may involve subscribing a computing device to changes of a portion of a multi-tenant database and accessing a plurality of change events stored in a log of the multi-tenant database in parallel. The method may further involve storing the plurality of change events in a persistent data store separate from the multi-tenant database and processing the plurality of change events to create an ordered set of change events. The ordered set of change events may then be provided to the computing device that subscribed to the changes.Type: ApplicationFiled: May 21, 2020Publication date: September 10, 2020Inventors: Gary Baker, Mikhail Chainani, Varun Jobanputra, William Dumaresq
-
Patent number: 10693709Abstract: A system may identify gap events in a change detection stream. When changes in data are transmitted to a downstream system, the system may identify intermittent portions of the transmission where data is missing (e.g., a gap event). In some examples, a gap event may be caused by system maintenance or one or more system errors. After identifying the gap event, the system may bridge the gap event using metadata associated with the gap event. The associated metadata may be transmitted (e.g., via a gap event identification message) to the downstream system, which may prevent the downstream system from experiencing computational inefficiencies due to the gap event.Type: GrantFiled: March 28, 2018Date of Patent: June 23, 2020Assignee: salesforce.com, inc.Inventors: Mikhail Chainani, Vijay Devadhar, William Dumaresq, Venkat Chandrasekaran, Jia Chen, Utsavi Benani, Xiaodan Wang
-
Patent number: 10678773Abstract: Technology for tracking changes to a database and providing the changes to a subscribing computing device. In an illustrative implementation, a method may involve subscribing a computing device to changes of a portion of a multi-tenant database and accessing a plurality of change events stored in a log of the multi-tenant database in parallel. The method may further involve storing the plurality of change events in a persistent data store separate from the multi-tenant database and processing the plurality of change events to create an ordered set of change events. The ordered set of change events may then be provided to the computing device that subscribed to the changes.Type: GrantFiled: August 25, 2017Date of Patent: June 9, 2020Assignee: salesforce.com, inc.Inventors: Gary Baker, Mikhail Chainani, Varun Jobanputra, William Dumaresq