Patents by Inventor Lawrence E. Greenfield

Lawrence E. Greenfield 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: 11539636
    Abstract: The present disclosure relates to dynamically scheduling resource requests in a distributed system based on usage quotas. One example method includes identifying usage information for a distributed system including atoms, each atom representing a distinct item used by users of the distributed system; determining that a usage quota associated with the distributed system has been exceeded based on the usage information, the usage quota representing an upper limit for a particular type of usage of the distributed system; receiving a first request for a particular atom requiring invocation of the particular type of usage represented by the usage quota; determining that a second request for a different type of usage of the particular atom is waiting to be processed; and processing the second request for the particular atom before processing the first request.
    Type: Grant
    Filed: February 22, 2021
    Date of Patent: December 27, 2022
    Inventors: Lawrence E. Greenfield, Sean Quinlan, Priyanka Gupta
  • Publication number: 20220066811
    Abstract: A system including a data plane including a first virtual machine designated as a primary node and a second virtual machine designated as a secondary node, and a lock service configured to control changes in designation of the primary node and the secondary node. The first virtual machine repeatedly issues requests to the second virtual machine or lock service extending designation as the primary node for a first duration. The request is repeatedly issued within a duration shorter than the first duration. The second virtual machine receives an indication of the designation of the first virtual machine as the primary node being extended, issues a request to the lock service to change the designation of the primary node after passage the first duration of time without further indication of first virtual machine being extended as primary node, and receives confirmation from the lock service of the change in designation.
    Type: Application
    Filed: August 31, 2021
    Publication date: March 3, 2022
    Inventors: Zhenyu Zhao, Zachary Fewtrell, Srishti Srivastava, Prajakta Joshi, Nikhil Kothari, Nayer Naguib, Lawrence E. Greenfield, Huseyin Simitci, Gopal Ashok, Cristopher Whitton Shumate
  • Patent number: 10931592
    Abstract: The present disclosure relates to dynamically scheduling resource requests in a distributed system based on usage quotas. One example method includes identifying usage information for a distributed system including atoms, each atom representing a distinct item used by users of the distributed system; determining that a usage quota associated with the distributed system has been exceeded based on the usage information, the usage quota representing an upper limit for a particular type of usage of the distributed system; receiving a first request for a particular atom requiring invocation of the particular type of usage represented by the usage quota; determining that a second request for a different type of usage of the particular atom is waiting to be processed; and processing the second request for the particular atom before processing the first request.
    Type: Grant
    Filed: April 8, 2019
    Date of Patent: February 23, 2021
    Assignee: Google LLC
    Inventors: Lawrence E. Greenfield, Sean Quinlan, Priyanka Gupta
  • Patent number: 10257111
    Abstract: The present disclosure relates to dynamically scheduling resource requests in a distributed system based on usage quotas. One example method includes identifying usage information for a distributed system including atoms, each atom representing a distinct item used by users of the distributed system; determining that a usage quota associated with the distributed system has been exceeded based on the usage information, the usage quota representing an upper limit for a particular type of usage of the distributed system; receiving a first request for a particular atom requiring invocation of the particular type of usage represented by the usage quota; determining that a second request for a different type of usage of the particular atom is waiting to be processed; and processing the second request for the particular atom before processing the first request.
    Type: Grant
    Filed: August 29, 2017
    Date of Patent: April 9, 2019
    Assignee: Google LLC
    Inventors: Lawrence E. Greenfield, Sean Quinlan, Priyanka Gupta
  • Patent number: 9781054
    Abstract: The present disclosure relates to dynamically scheduling resource requests in a distributed system based on usage quotas. One example method includes identifying usage information for a distributed system including atoms, each atom representing a distinct item used by users of the distributed system; determining that a usage quota associated with the distributed system has been exceeded based on the usage information, the usage quota representing an upper limit for a particular type of usage of the distributed system; receiving a first request for a particular atom requiring invocation of the particular type of usage represented by the usage quota; determining that a second request for a different type of usage of the particular atom is waiting to be processed; and processing the second request for the particular atom before processing the first request.
    Type: Grant
    Filed: July 27, 2015
    Date of Patent: October 3, 2017
    Assignee: Google Inc.
    Inventors: Lawrence E. Greenfield, Sean Quinlan, Priyanka Gupta
  • Publication number: 20160132263
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on storage nodes. In one aspect, a method includes receiving a file to be stored across a plurality of storage nodes each including a cache. The is stored by storing portions of the file each on a different storage node. A first portion is written to a first storage node's cache until determining that the first storage node's cache is full. A different second storage node is selected in response to determining that the first storage node's cache is full. For each portion of the file, a location of the portion is recorded, the location indicating at least a storage node storing the portion.
    Type: Application
    Filed: January 19, 2016
    Publication date: May 12, 2016
    Inventors: Andrew Kadatch, Lawrence E. Greenfield
  • Patent number: 9262093
    Abstract: A storage system may include a set of storage devices; a controller; and a management device. The controller may arbitrate among operations for execution by the set of storage devices, where the operations are received from users that are associated with priority levels. The controller may maintain queues, corresponding to the users, to queue operations from the users. The controller may additionally include a scoring component and a scheduler. The scoring component may maintain a score for each queue. The scheduler may choose, from the queues and based on the score of each queue, one of the operations to service. The management device may receive usage updates, from the controller, reflecting usage of the set of storage devices; calculate a maximum allowed usage levels, based on the received usage updates, for each user; and transmit the calculated maximum usage levels to the controller.
    Type: Grant
    Filed: December 16, 2013
    Date of Patent: February 16, 2016
    Assignee: Google Inc.
    Inventors: Lawrence E. Greenfield, Alexander Khesin
  • Patent number: 9250830
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on storage nodes. In one aspect, a method includes receiving a file to be stored across a plurality of storage nodes each including a cache. The is stored by storing portions of the file each on a different storage node. A first portion is written to a first storage node's cache until determining that the first storage node's cache is full. A different second storage node is selected in response to determining that the first storage node's cache is full. For each portion of the file, a location of the portion is recorded, the location indicating at least a storage node storing the portion.
    Type: Grant
    Filed: June 2, 2014
    Date of Patent: February 2, 2016
    Assignee: Google Inc.
    Inventors: Andrew Kadatch, Lawrence E. Greenfield
  • Publication number: 20140281233
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on storage nodes. In one aspect, a method includes receiving a file to be stored across a plurality of storage nodes each including a cache. The is stored by storing portions of the file each on a different storage node. A first portion is written to a first storage node's cache until determining that the first storage node's cache is full. A different second storage node is selected in response to determining that the first storage node's cache is full. For each portion of the file, a location of the portion is recorded, the location indicating at least a storage node storing the portion.
    Type: Application
    Filed: June 2, 2014
    Publication date: September 18, 2014
    Applicant: Google Inc.
    Inventors: Andrew Kadatch, Lawrence E. Greenfield
  • Patent number: 8745329
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on storage nodes. In one aspect, a method includes receiving a file to be stored across a plurality of storage nodes each including a cache. The is stored by storing portions of the file each on a different storage node. A first portion is written to a first storage node's cache until determining that the first storage node's cache is full. A different second storage node is selected in response to determining that the first storage node's cache is full. For each portion of the file, a location of the portion is recorded, the location indicating at least a storage node storing the portion.
    Type: Grant
    Filed: January 20, 2011
    Date of Patent: June 3, 2014
    Assignee: Google Inc.
    Inventors: Andrew Kadatch, Lawrence E. Greenfield
  • Patent number: 8612990
    Abstract: A storage system may include a set of storage devices; a controller; and a management device. The controller may arbitrate among operations for execution by the set of storage devices, where the operations are received from users that are associated with priority levels. The controller may maintain queues, corresponding to the users, to queue operations from the users. The controller may additionally include a scoring component and a scheduler. The scoring component may maintain a score for each queue. The scheduler may choose, from the queues and based on the score of each queue, one of the operations to service. The management device may receive usage updates, from the controller, reflecting usage of the set of storage devices; calculate a maximum allowed usage levels, based on the received usage updates, for each user; and transmit the calculated maximum usage levels to the controller.
    Type: Grant
    Filed: October 25, 2011
    Date of Patent: December 17, 2013
    Assignee: Google Inc.
    Inventors: Lawrence E. Greenfield, Alexander Khesin
  • Patent number: 8484222
    Abstract: One embodiment of the present invention provides a system that automatically determines if a location is a standalone location, which can be unambiguously identified by a name for the location alone. During operation, the system determines a name score for the location which indicates a popularity of the name for the location. The system also obtains a signature for the location, wherein the signature is a set of combinations of location specifiers, wherein each combination of location specifiers refers to the location. The system then determines a signature score for the location which indicates a popularity of the signature for the location. Finally, the system determines whether the location is a standalone location based on the name score and the signature score.
    Type: Grant
    Filed: December 1, 2006
    Date of Patent: July 9, 2013
    Assignee: Google Inc.
    Inventors: Xin Li, Jiang Qian, Daniel T. Egnor, Lawrence E. Greenfield
  • Publication number: 20120191912
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on storage nodes. In one aspect, a method includes receiving a file to be stored across a plurality of storage nodes each including a cache. The is stored by storing portions of the file each on a different storage node. A first portion is written to a first storage node's cache until determining that the first storage node's cache is full. A different second storage node is selected in response to determining that the first storage node's cache is full. For each portion of the file, a location of the portion is recorded, the location indicating at least a storage node storing the portion.
    Type: Application
    Filed: January 20, 2011
    Publication date: July 26, 2012
    Applicant: GOOGLE INC.
    Inventors: Andrew Kadatch, Lawrence E. Greenfield
  • Patent number: 8046371
    Abstract: A system may identify a first document associated with a geographic location within a geographical area and identify a second document associated with a geographic location outside the geographical area. The system may also assign a first score to the first document based on a first scoring function and assign a second score to the second document based on a second scoring function.
    Type: Grant
    Filed: September 29, 2010
    Date of Patent: October 25, 2011
    Assignee: Google Inc.
    Inventors: Brian O'Clair, Daniel Egnor, Lawrence E Greenfield
  • Publication number: 20110022604
    Abstract: A system may identify a first document associated with a geographic location within a geographical area and identify a second document associated with a geographic location outside the geographical area. The system may also assign a first score to the first document based on a first scoring function and assign a second score to the second document based on a second scoring function.
    Type: Application
    Filed: September 29, 2010
    Publication date: January 27, 2011
    Applicant: GOOGLE INC.
    Inventors: Brian O'Clair, Daniel Egnor, Lawrence E. Greenfield
  • Patent number: 7822751
    Abstract: A system may identify a first document associated with a geographic location within a geographical area and identify a second document associated with a geographic location outside the geographical area. The system may also assign a first score to the first document based on a first scoring function and assign a second score to the second document based on a second scoring function.
    Type: Grant
    Filed: May 27, 2005
    Date of Patent: October 26, 2010
    Assignee: Google Inc.
    Inventors: Brian O'Clair, Daniel Egnor, Lawrence E. Greenfield