Patents by Inventor Atul Adya
Atul Adya 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).
-
Publication number: 20240064196Abstract: Methods, systems, and apparatus for automatic sharding and load balancing in a distributed data processing system. In one aspect, a method includes determining workload distribution for an application across worker computers and in response to determining a load balancing operation is required: selecting a first worker computer having a highest load measure relative to respective load measure of the other work computers; determining one or more move operations for a partition of data assigned to the first worker computer and a weight for each move operation; and selecting the move operation with a highest weight the selected move operation.Type: ApplicationFiled: November 2, 2023Publication date: February 22, 2024Applicant: Google LLCInventors: Alexander Shraer, Kfir Lev-Ari, Arif Abdulhusein Merchant, Vishesh Khemani, Atul Adya
-
Patent number: 11838356Abstract: Methods, systems, and apparatus for automatic sharding and load balancing in a distributed data processing system. In one aspect, a method includes determining workload distribution for an application across worker computers and in response to determining a load balancing operation is required: selecting a first worker computer having a highest load measure relative to respective load measure of the other work computers; determining one or more move operations for a partition of data assigned to the first worker computer and a weight for each move operation; and selecting the move operation with a highest weight the selected move operation.Type: GrantFiled: May 16, 2022Date of Patent: December 5, 2023Assignee: Google LLCInventors: Alexander Shraer, Kfir Lev-Ari, Arif Merchant, Vishesh Khemani, Atul Adya
-
Publication number: 20220272148Abstract: Methods, systems, and apparatus for automatic sharding and load balancing in a distributed data processing system. In one aspect, a method includes determining workload distribution for an application across worker computers and in response to determining a load balancing operation is required: selecting a first worker computer having a highest load measure relative to respective load measure of the other work computers; determining one or more move operations for a partition of data assigned to the first worker computer and a weight for each move operation; and selecting the move operation with a highest weight the selected move operation.Type: ApplicationFiled: May 16, 2022Publication date: August 25, 2022Applicant: Google LLCInventors: Alexander Shraer, Kfir Lev-Ari, Arif Merchant, Vishesh Khemani, Atul Adya
-
Patent number: 11363096Abstract: Methods, systems, and apparatus for automatic sharding and load balancing in a distributed data processing system. In one aspect, a method includes determining workload distribution for an application across worker computers and in response to determining a load balancing operation is required: selecting a first worker computer having a highest load measure relative to respective load measure of the other work computers; determining one or more move operations for a partition of data assigned to the first worker computer and a weight for each move operation; and selecting the move operation with a highest weight the selected move operation.Type: GrantFiled: December 23, 2019Date of Patent: June 14, 2022Assignee: Google LLCInventors: Alexander Shraer, Kfir Lev-Ari, Arif Abdulhusein Merchant, Vishesh Khemani, Atul Adya
-
Publication number: 20200137149Abstract: Methods, systems, and apparatus for automatic sharding and load balancing in a distributed data processing system. In one aspect, a method includes determining workload distribution for an application across worker computers and in response to determining a load balancing operation is required: selecting a first worker computer having a highest load measure relative to respective load measure of the other work computers; determining one or more move operations for a partition of data assigned to the first worker computer and a weight for each move operation; and selecting the move operation with a highest weight the selected move operation.Type: ApplicationFiled: December 23, 2019Publication date: April 30, 2020Inventors: Alexander Shraer, Kfir Lev-Ari, Arif Abdulhusein Merchant, Vishesh Khemani, Atul Adya
-
Patent number: 10530844Abstract: Methods, systems, and apparatus for automatic sharding and load balancing in a distributed data processing system. In one aspect, a method includes determining workload distribution for an application across worker computers and in response to determining a load balancing operation is required: selecting a first worker computer having a highest load measure relative to respective load measure of the other work computers; determining one or more move operations for a partition of data assigned to the first worker computer and a weight for each move operation; and selecting the move operation with a highest weight the selected move operation.Type: GrantFiled: February 9, 2017Date of Patent: January 7, 2020Assignee: Google LLCInventors: Alexander Shraer, Kfir Lev-Ari, Arif Abdulhusein Merchant, Vishesh Khemani, Atul Adya
-
Patent number: 10268742Abstract: Application data is synchronized with a database where changes to object data maintained by an application is expressed according to an application schema. Changes to the object data are identified as corresponding to an entity schema. Changes to views of database tables are applied by translation rules to the set of changed entities. The database tables conforming to a database schema are thereafter updated.Type: GrantFiled: July 22, 2016Date of Patent: April 23, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Atul Adya, Sergey Melnik, Zlatko Michailov, Colin Joseph Meek
-
Publication number: 20170353536Abstract: Methods, systems, and apparatus for automatic sharding and load balancing in a distributed data processing system. In one aspect, a method includes determining workload distribution for an application across worker computers and in response to determining a load balancing operation is required: selecting a first worker computer having a highest load measure relative to respective load measure of the other work computers; determining one or more move operations for a partition of data assigned to the first worker computer and a weight for each move operation; and selecting the move operation with a highest weight the selected move operation.Type: ApplicationFiled: February 9, 2017Publication date: December 7, 2017Inventors: Alexander Shraer, Kfir Lev-Ari, Arif Abdulhusein Merchant, Vishesh Khemani, Atul Adya
-
Patent number: 9686320Abstract: Technologies, systems, and methods for ordered message delivery that avoid message races or crisscrosses between communicating nodes. For example, if Node A sends message 3 towards Node B and, shortly thereafter, Node B sends message X to Node A, Node A would like to know whether or not message X reflects Node B's state after receiving message 3. If Node B received message 3 prior to sending message X, then proper state may be maintained between the nodes. But if messages 3 and X crisscrossed, or if message 3 was never properly received by Node B, then the state between the nodes may be corrupt. Technologies, systems, and methods are provided to avoid such corruption.Type: GrantFiled: December 16, 2015Date of Patent: June 20, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Atul Adya, Alastair Wolman, John D Dunagan
-
Publication number: 20170039260Abstract: Application data is synchronized with a database where changes to object data maintained by an application is expressed according to an application schema. Changes to the object data are identified as corresponding to an entity schema. Changes to views of database tables are applied by translation rules to the set of changed entities. The database tables conforming to a database schema are thereafter updated.Type: ApplicationFiled: July 22, 2016Publication date: February 9, 2017Inventors: Atul Adya, Sergey Melnik, Zlatko Michailov, Colin Joseph Meek
-
Patent number: 9430552Abstract: A database update pipeline may be incorporated into a data access architecture for providing data services to applications, thereby bridging the gap between application data and data as persisted in databases. The update pipeline has the ability to translate changes made to object instances into data store change constructs, and carry those changes over to a data store. Such a pipeline can also advantageously perform the reverse operation, allowing applications to query using the database update pipeline, and receive materialized object instances.Type: GrantFiled: March 16, 2007Date of Patent: August 30, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Atul Adya, Sergey Melnik, Zlatko Michailov, Colin Joseph Meek
-
Patent number: 9413588Abstract: Clients may subscribe to resources for the purpose of receiving notifications of changes in the resource (e.g., a file is added to a shared folder). Storing subscriptions within persistent storage provides data security in the event of a service failure, at the cost of high latency in accessing subscription data. An efficient method for tracking a resource is provided herein. A subscription service creates subscriptions and monitors resources for a client. Upon a subscribed resource change, a notification service stores a notification of the change into a queue associated with the client. Efficient resource tracking is achieved because notification and subscription data is stored in low latency soft memory. The notification service is configured to detect a failure in the notification service and/or subscription service. In the event a service fails, the client provides a recovery mechanism by resubscribing to resources with which the client has an interest.Type: GrantFiled: December 10, 2012Date of Patent: August 9, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Abolade Gbadegesin, Viraj B. Mody, David C. Steere, William Michael Zintel, Bruce W. Copeland, Atul Adya, Thomas W. Kleinpeter
-
Publication number: 20160105464Abstract: Technologies, systems, and methods for ordered message delivery that avoid message races or crisscrosses between communicating nodes. For example, if Node A sends message 3 towards Node B and, shortly thereafter, Node B sends message X to Node A, Node A would like to know whether or not message X reflects Node B's state after receiving message 3. If Node B received message 3 prior to sending message X, then proper state may be maintained between the nodes. But if messages 3 and X crisscrossed, or if message 3 was never properly received by Node B, then the state between the nodes may be corrupt. Technologies, systems, and methods are provided to avoid such corruption.Type: ApplicationFiled: December 16, 2015Publication date: April 14, 2016Inventors: Atul Adya, Alastair Wolman, John D. Dunagan
-
Patent number: 9219673Abstract: Technologies, systems, and methods for ordered message delivery that avoid message races or crisscrosses between communicating nodes. For example, if Node A sends message 3 towards Node B and, shortly thereafter, Node B sends message X to Node A, Node A would like to know whether or not message X reflects Node B's state after receiving message 3. If Node B received message 3 prior to sending message X, then proper state may be maintained between the nodes. But if messages 3 and X crisscrossed, or if message 3 was never properly received by Node B, then the state between the nodes may be corrupt. Technologies, systems, and methods are provided to avoid such corruption.Type: GrantFiled: April 17, 2015Date of Patent: December 22, 2015Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Atul Adya, Alastair Wolman, John D Dunagan
-
Publication number: 20150222518Abstract: Technologies, systems, and methods for ordered message delivery that avoid message races or crisscrosses between communicating nodes. For example, if Node A sends message 3 towards Node B and, shortly thereafter, Node B sends message X to Node A, Node A would like to know whether or not message X reflects Node B's state after receiving message 3. If Node B received message 3 prior to sending message X, then proper state may be maintained between the nodes. But if messages 3 and X crisscrossed, or if message 3 was never properly received by Node B, then the state between the nodes may be corrupt. Technologies, systems, and methods are provided to avoid such corruption.Type: ApplicationFiled: April 17, 2015Publication date: August 6, 2015Inventors: Atul Adya, Alastair Wolman, John D. Dunagan
-
Patent number: 9015349Abstract: Technologies, systems, and methods for ordered message delivery that avoid message races or crisscrosses between communicating nodes. For example, if Node A sends message 3 towards Node B and, shortly thereafter, Node B sends message X to Node A. Node A would like to know whether or not message X reflects Node B's state after receiving message 3. If Node B received message 3 prior to sending message X, then proper state may be maintained between the nodes. But if messages 3 and X crisscrossed, or if message 3 was never properly received by Node B, then the state between the nodes may be corrupt. Technologies, systems, and methods are provided to avoid such corruption.Type: GrantFiled: November 22, 2012Date of Patent: April 21, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Atul Adya, Alastair Wolman, John D Dunagan
-
Patent number: 8745638Abstract: A distributed network system includes at least one server having memory and one or more processors. The server performs the following operations in connection with propagating object updates to respective client devices: receiving a first object update message from an application server, the first object update message including a first object identifier and a first object version; updating an object update record that includes the first object identifier using the first object version, wherein the object update record includes a first client identifier; propagating the first object version from the object update record to a client-object registration record that includes the first client identifier; and sending a second object update message to a first client device associated with the first client identifier, wherein the second object update message includes the first object identifier and the first object version.Type: GrantFiled: September 30, 2011Date of Patent: June 3, 2014Assignee: Google Inc.Inventors: Atul Adya, Gregory H. Cooper, Daniel Sumers Myers, John Reumann
-
Patent number: 8713098Abstract: A computer-implemented method in a distributed network system is disclosed. The computer-implemented method includes: receiving, at a server, a first object update message from a server-side application, wherein the first object update message includes a first object identifier; identifying, among a plurality of object-client registration records, an object-client registration record that includes the first object identifier; updating the object-client registration record in accordance with the first object update message; selecting a set of client identifiers associated with the first object identifier from the object-client registration record; and, for a first client identifier in the selected set of client identifiers, sending a second object update message to a first client device associated with the first client identifier, wherein the second object update message includes the first object identifier.Type: GrantFiled: September 30, 2011Date of Patent: April 29, 2014Assignee: Google Inc.Inventors: Atul Adya, Gregory H. Cooper, Daniel Sumers Myers, Arunabha Ghosh
-
Patent number: 8707318Abstract: The application discloses a generic partitioning manager for partitioning resources across one or more owner nodes. In illustrated embodiments described, the partitioning manager interfaces with the one or more owner nodes through an owner library. A lookup node or application interfaces with the partitioning manager through the lookup library to lookup address or locations of the partitioned resources. In illustrated embodiments, resources are partitioned via the partitioning manager in response to lease request messages from an owner library. In illustrated embodiments, the lease grant message includes a complete list of the leases for the owner node.Type: GrantFiled: December 18, 2007Date of Patent: April 22, 2014Assignee: Microsoft CorporationInventors: Atul Adya, Alastair Wolman, John D. Dunagan
-
Patent number: 8667057Abstract: A distributed network system includes at least one server and one client device, each having memory and one or more processors. The server performs the following operations: selecting a first client-object registration record including a first client identifier and a first object identifier; retrieving a pair of server-side object version and client-side object version from the first client-object registration record; determining a first set of incremental payloads to be delivered to the client device associated with the first client identifier in accordance with the pair of server-side object version and client-side object version; retrieving the first set of incremental payloads from a first object update record including the first object identifier; and sending a first object update message to the first client device, wherein the first object update message includes the first object identifier, the server-side object version and the retrieved first set of incremental payloads.Type: GrantFiled: September 30, 2011Date of Patent: March 4, 2014Assignee: Google Inc.Inventors: Atul Adya, Gregory H. Cooper, Daniel Sumers Myers, Michael Piatek