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: 20240064196
    Abstract: 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: Application
    Filed: November 2, 2023
    Publication date: February 22, 2024
    Applicant: Google LLC
    Inventors: Alexander Shraer, Kfir Lev-Ari, Arif Abdulhusein Merchant, Vishesh Khemani, Atul Adya
  • Patent number: 11838356
    Abstract: 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: Grant
    Filed: May 16, 2022
    Date of Patent: December 5, 2023
    Assignee: Google LLC
    Inventors: Alexander Shraer, Kfir Lev-Ari, Arif Merchant, Vishesh Khemani, Atul Adya
  • Publication number: 20220272148
    Abstract: 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: Application
    Filed: May 16, 2022
    Publication date: August 25, 2022
    Applicant: Google LLC
    Inventors: Alexander Shraer, Kfir Lev-Ari, Arif Merchant, Vishesh Khemani, Atul Adya
  • Patent number: 11363096
    Abstract: 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: Grant
    Filed: December 23, 2019
    Date of Patent: June 14, 2022
    Assignee: Google LLC
    Inventors: Alexander Shraer, Kfir Lev-Ari, Arif Abdulhusein Merchant, Vishesh Khemani, Atul Adya
  • Publication number: 20200137149
    Abstract: 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: Application
    Filed: December 23, 2019
    Publication date: April 30, 2020
    Inventors: Alexander Shraer, Kfir Lev-Ari, Arif Abdulhusein Merchant, Vishesh Khemani, Atul Adya
  • Patent number: 10530844
    Abstract: 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: Grant
    Filed: February 9, 2017
    Date of Patent: January 7, 2020
    Assignee: Google LLC
    Inventors: Alexander Shraer, Kfir Lev-Ari, Arif Abdulhusein Merchant, Vishesh Khemani, Atul Adya
  • Patent number: 10268742
    Abstract: 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: Grant
    Filed: July 22, 2016
    Date of Patent: April 23, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Atul Adya, Sergey Melnik, Zlatko Michailov, Colin Joseph Meek
  • Publication number: 20170353536
    Abstract: 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: Application
    Filed: February 9, 2017
    Publication date: December 7, 2017
    Inventors: Alexander Shraer, Kfir Lev-Ari, Arif Abdulhusein Merchant, Vishesh Khemani, Atul Adya
  • Patent number: 9686320
    Abstract: 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: Grant
    Filed: December 16, 2015
    Date of Patent: June 20, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Atul Adya, Alastair Wolman, John D Dunagan
  • Publication number: 20170039260
    Abstract: 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: Application
    Filed: July 22, 2016
    Publication date: February 9, 2017
    Inventors: Atul Adya, Sergey Melnik, Zlatko Michailov, Colin Joseph Meek
  • Patent number: 9430552
    Abstract: 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: Grant
    Filed: March 16, 2007
    Date of Patent: August 30, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Atul Adya, Sergey Melnik, Zlatko Michailov, Colin Joseph Meek
  • Patent number: 9413588
    Abstract: 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: Grant
    Filed: December 10, 2012
    Date of Patent: August 9, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Abolade Gbadegesin, Viraj B. Mody, David C. Steere, William Michael Zintel, Bruce W. Copeland, Atul Adya, Thomas W. Kleinpeter
  • Publication number: 20160105464
    Abstract: 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: Application
    Filed: December 16, 2015
    Publication date: April 14, 2016
    Inventors: Atul Adya, Alastair Wolman, John D. Dunagan
  • Patent number: 9219673
    Abstract: 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: Grant
    Filed: April 17, 2015
    Date of Patent: December 22, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Atul Adya, Alastair Wolman, John D Dunagan
  • Publication number: 20150222518
    Abstract: 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: Application
    Filed: April 17, 2015
    Publication date: August 6, 2015
    Inventors: Atul Adya, Alastair Wolman, John D. Dunagan
  • Patent number: 9015349
    Abstract: 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: Grant
    Filed: November 22, 2012
    Date of Patent: April 21, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Atul Adya, Alastair Wolman, John D Dunagan
  • Patent number: 8745638
    Abstract: 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: Grant
    Filed: September 30, 2011
    Date of Patent: June 3, 2014
    Assignee: Google Inc.
    Inventors: Atul Adya, Gregory H. Cooper, Daniel Sumers Myers, John Reumann
  • Patent number: 8713098
    Abstract: 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: Grant
    Filed: September 30, 2011
    Date of Patent: April 29, 2014
    Assignee: Google Inc.
    Inventors: Atul Adya, Gregory H. Cooper, Daniel Sumers Myers, Arunabha Ghosh
  • Patent number: 8707318
    Abstract: 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: Grant
    Filed: December 18, 2007
    Date of Patent: April 22, 2014
    Assignee: Microsoft Corporation
    Inventors: Atul Adya, Alastair Wolman, John D. Dunagan
  • Patent number: 8667057
    Abstract: 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: Grant
    Filed: September 30, 2011
    Date of Patent: March 4, 2014
    Assignee: Google Inc.
    Inventors: Atul Adya, Gregory H. Cooper, Daniel Sumers Myers, Michael Piatek