Patents by Inventor Gregory M. Burgess

Gregory M. Burgess 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: 10795905
    Abstract: A programmatic interface is implemented, enabling a client of a stream management service to select a data ingestion policy for a data stream. A client request selecting an at-least-once ingestion policy is received. In accordance with the at-least-once policy, a client may transmit an indication of a data record one or more times to the service until a positive acknowledgement is received. In response to receiving a plurality of transmissions indicating a particular data record, respective positive acknowledgements are sent to the client. Based on a persistence policy selected for the stream, copies of the data record are stored at one or more storage locations in response to one particular transmission of the plurality of transmissions.
    Type: Grant
    Filed: December 29, 2017
    Date of Patent: October 6, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Marvin Michael Theimer, Gaurav D. Ghare, John David Dunagan, Gregory M. Burgess, Ying Xiong
  • Patent number: 10691716
    Abstract: A partitioning policy, comprising an indication of an initial mapping of data records of a stream to a plurality of partitions, is selected to distribute data records of a data stream among a plurality of nodes of a stream management service. Data ingestion nodes and storage nodes are configured according to the initial mapping. In response to a determination that a triggering criterion for dynamically repartitioning the data stream has been met, a modified mapping is generated, and a different set of ingestion and storage nodes are configured. For at least some time during which arriving data records are stored in accordance with the modified mapping, data records stored at the first set of storage nodes in accordance with the initial mapping are retained.
    Type: Grant
    Filed: July 31, 2017
    Date of Patent: June 23, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Marvin Michael Theimer, Gaurav D. Ghare, John David Dunagan, Gregory M. Burgess, Ying Xiong
  • Patent number: 10635644
    Abstract: A control node of a multi-tenant stream processing service receives a request indicating an operation to be performed on data records of a particular data stream. Based on a stream partitioning policy, the control node determines an initial number of worker nodes to be used. The control node configures a worker node to perform the operation on received records. In response to a determination that the worker node is in an unhealthy state, the control node configures a replacement worker node.
    Type: Grant
    Filed: November 11, 2013
    Date of Patent: April 28, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Marvin Michael Theimer, Gaurav D. Ghare, John David Dunagan, Gregory M. Burgess, Ying Xiong
  • Patent number: 10574892
    Abstract: A processing device collects depth data for frames in a sequence of images of a video stream being provided by a source device to a target device as part of a communication session. The depth data is created by a depth aware camera of the source device. The processing device maps, using the depth data, feature locations of the features of an object in a frame to feature locations of the features of the object in other frames, determines overlapping frame sections between the frames using the mapped feature locations, modifies, in the sequence of images, a set of images corresponding to the frames based on the overlapping frame sections to create a stabilized stream of images for the video stream, and provides the stabilized stream of images in the video stream as part of the communication session.
    Type: Grant
    Filed: June 18, 2018
    Date of Patent: February 25, 2020
    Assignee: Google LLC
    Inventors: Gregory M. Burgess, Thor Carpenter
  • Publication number: 20180302565
    Abstract: A processing device collects depth data for frames in a sequence of images of a video stream being provided by a source device to a target device as part of a communication session. The depth data is created by a depth aware camera of the source device. The processing device maps, using the depth data, feature locations of the features of an object in a frame to feature locations of the features of the object in other frames, determines overlapping frame sections between the frames using the mapped feature locations, modifies, in the sequence of images, a set of images corresponding to the frames based on the overlapping frame sections to create a stabilized stream of images for the video stream, and provides the stabilized stream of images in the video stream as part of the communication session.
    Type: Application
    Filed: June 18, 2018
    Publication date: October 18, 2018
    Inventors: Gregory M. Burgess, Thor Carpenter
  • Patent number: 10033926
    Abstract: A processing device collects depth data for frames in a sequence of images of a video stream being provided by a source device to a target device as part of a communication session. The depth data is created by a depth aware camera of the source device. The processing device maps, using the depth data, feature locations of the features of an object in a frame to feature locations of the features of the object in other frames, determines overlapping frame sections between the frames using the mapped feature locations, modifies, in the sequence of images, a set of images corresponding to the frames based on the overlapping frame sections to create a stabilized stream of images for the video stream, and provides the stabilized stream of images in the video stream as part of the communication session.
    Type: Grant
    Filed: November 6, 2015
    Date of Patent: July 24, 2018
    Assignee: GOOGLE LLC
    Inventors: Gregory M Burgess, Thor Carpenter
  • Publication number: 20170357703
    Abstract: A partitioning policy, comprising an indication of an initial mapping of data records of a stream to a plurality of partitions, is selected to distribute data records of a data stream among a plurality of nodes of a stream management service. Data ingestion nodes and storage nodes are configured according to the initial mapping. In response to a determination that a triggering criterion for dynamically repartitioning the data stream has been met, a modified mapping is generated, and a different set of ingestion and storage nodes are configured. For at least some time during which arriving data records are stored in accordance with the modified mapping, data records stored at the first set of storage nodes in accordance with the initial mapping are retained.
    Type: Application
    Filed: July 31, 2017
    Publication date: December 14, 2017
    Applicant: Amazon Technologies, Inc.
    Inventors: Marvin Michael Theimer, Gaurav D. Ghare, John David Dunagan, Gregory M. Burgess, Ying Xiong
  • Publication number: 20170134656
    Abstract: A processing device collects depth data for frames in a sequence of images of a video stream being provided by a source device to a target device as part of a communication session. The depth data is created by a depth aware camera of the source device. The processing device maps, using the depth data, feature locations of the features of an object in a frame to feature locations of the features of the object in other frames, determines overlapping frame sections between the frames using the mapped feature locations, modifies, in the sequence of images, a set of images corresponding to the frames based on the overlapping frame sections to create a stabilized stream of images for the video stream, and provides the stabilized stream of images in the video stream as part of the communication session.
    Type: Application
    Filed: November 6, 2015
    Publication date: May 11, 2017
    Inventors: Gregory M Burgess, Thor Carpenter
  • Patent number: 9634956
    Abstract: An application combines on-site and cloud-based calculations. The application selects a cloud computing broker from a list sorted by load. The broker receives computation requests from the application, sends corresponding load-balanced requests to local application service hosts and cloud proxies, receives responses, and sends the responses to the application without identifying the response source as local versus non-local. Each proxy has a logical-physical mapping of cloud-resident worker nodes. A scheduler receives session requests from applications, allocates local and cloud computing resources to a session, and tracks resource usage by session. An application previously run only on-premises can be executed partially on cloud worker nodes without modification. The proxy re-routes unfulfilled requests from a failed worker, undetected by the broker. If all workers assigned to that proxy fail, then the broker reassigns unfulfilled requests to another proxy, undetected by the application.
    Type: Grant
    Filed: March 10, 2016
    Date of Patent: April 25, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mingqiang Xu, Jun Su, Gregory M. Burgess, Tianchi Ma, Salim Alam, Rich Ciapala
  • Publication number: 20160197841
    Abstract: An application combines on-site and cloud-based calculations. The application selects a cloud computing broker from a list sorted by load. The broker receives computation requests from the application, sends corresponding load-balanced requests to local application service hosts and cloud proxies, receives responses, and sends the responses to the application without identifying the response source as local versus non-local. Each proxy has a logical-physical mapping of cloud-resident worker nodes. A scheduler receives session requests from applications, allocates local and cloud computing resources to a session, and tracks resource usage by session. An application previously run only on-premises can be executed partially on cloud worker nodes without modification. The proxy re-routes unfulfilled requests from a failed worker, undetected by the broker. If all workers assigned to that proxy fail, then the broker reassigns unfulfilled requests to another proxy, undetected by the application.
    Type: Application
    Filed: March 10, 2016
    Publication date: July 7, 2016
    Inventors: Mingqiang Xu, Jun Su, Gregory M. Burgess, Tianchi Ma, Salim Alam, Rich Ciapala
  • Patent number: 9317334
    Abstract: An application combines on-site and cloud-based calculations. The application selects a cloud computing broker from a list sorted by load. The broker receives computation requests from the application, sends corresponding load-balanced requests to local application service hosts and cloud proxies, receives responses, and sends the responses to the application without identifying the response source as local versus non-local. Each proxy has a logical-physical mapping of cloud-resident worker nodes. A scheduler receives session requests from applications, allocates local and cloud computing resources to a session, and tracks resource usage by session. An application previously run only on-premises can be executed partially on cloud worker nodes without modification. The proxy re-routes unfulfilled requests from a failed worker, undetected by the broker. If all workers assigned to that proxy fail, then the broker reassigns unfulfilled requests to another proxy, undetected by the application.
    Type: Grant
    Filed: February 12, 2011
    Date of Patent: April 19, 2016
    Assignee: Microsoft Technology Licensing LLC
    Inventors: Mingqiang Xu, Jun Su, Gregory M. Burgess, Tianchi Ma, Salim Alam, Rich Ciapala
  • Patent number: 8694653
    Abstract: The present invention extends to methods, systems, and computer program products for targeted data transfer data between operational domains. Embodiments of the invention facilitate moving data between operational domains inside and outside of a resource cloud. A proxy runs on the boundary of each operational domain, such as, for example, an on premise cluster and a resource cloud. The proxies are capable of resolving the location of the targeted entity and forwarding the data or request on to the next hop, which may either be another proxy or the worker module running on the target node. A proxy can run on the head node of an on premise cluster so that compute nodes on private networks can be targeted. A proxy can also run on a public endpoint within the resource cloud to make nodes within the resource cloud available.
    Type: Grant
    Filed: December 10, 2010
    Date of Patent: April 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Kevin Wood, Gregory M. Burgess, Tianchi Ma
  • Publication number: 20120209901
    Abstract: An application combines on-site and cloud-based calculations. The application selects a cloud computing broker from a list sorted by load. The broker receives computation requests from the application, sends corresponding load-balanced requests to local application service hosts and cloud proxies, receives responses, and sends the responses to the application without identifying the response source as local versus non-local. Each proxy has a logical-physical mapping of cloud-resident worker nodes. A scheduler receives session requests from applications, allocates local and cloud computing resources to a session, and tracks resource usage by session. An application previously run only on-premises can be executed partially on cloud worker nodes without modification. The proxy re-routes unfulfilled requests from a failed worker, undetected by the broker. If all workers assigned to that proxy fail, then the broker reassigns unfulfilled requests to another proxy, undetected by the application.
    Type: Application
    Filed: February 12, 2011
    Publication date: August 16, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Mingqiang Xu, Jun Su, Gregory M. Burgess, Tianchi Ma, Salim Alam, Rich Ciapala
  • Publication number: 20120151074
    Abstract: The present invention extends to methods, systems, and computer program products for targeted data transfer data between operational domains. Embodiments of the invention facilitate moving data between operational domains inside and outside of a resource cloud. A proxy runs on the boundary of each operational domain, such as, for example, an on premise cluster and a resource cloud. The proxies are capable of resolving the location of the targeted entity and forwarding the data or request on to the next hop, which may either be another proxy or the worker module running on the target node. A proxy can run on the head node of an on premise cluster so that compute nodes on private networks can be targeted. A proxy can also run on a public endpoint within the resource cloud to make nodes within the resource cloud available.
    Type: Application
    Filed: December 10, 2010
    Publication date: June 14, 2012
    Applicant: Microsoft Corporation
    Inventors: Kevin Wood, Gregory M. Burgess, Tianchi Ma
  • Publication number: 20100023157
    Abstract: A method for fabricating a component using a tool is provided. The method includes determining a model tool contact path for the component based on a component geometry, nominal tool tip path, tool geometry, the component geometry including a grid system having a plurality of elements and nodes at an intersection of the elements. The method also includes measuring a geometric property of the component relative to the model component geometry, generating a tool contact path and tool tip path corresponding to the measured geometric property, and at least partially fabricating the component using the generated tool contact path.
    Type: Application
    Filed: July 28, 2008
    Publication date: January 28, 2010
    Inventors: Steven Michael Burgess, Gregory M. Burgess, Larisa Alexandra Elman
  • Patent number: 7599991
    Abstract: Described is a system and method for filtering messages received by a message-handling program, that leverage the existing message-handling architecture of computer devices to trigger events and perform other actions instead of (or in addition to) displaying the messages to users. One or more rule clients, e.g., COM objects, register for processing messages. When an appropriate message is received, the message-handling mechanism passes the message to a rule client. Depending on how that rule client responds, the message-handling mechanism determines what to do with the message, e.g., discontinue the message. Messages that are not discontinued are passed to another rule client, if any, or displayed in the user interface, if not. Rule clients may be read only, or may have write access, to modify messages. Messages may be hidden from a user by a rule client, modified before being display to a user, or left intact.
    Type: Grant
    Filed: March 10, 2004
    Date of Patent: October 6, 2009
    Assignee: Microsoft Corporation
    Inventors: Garrett R. Vargas, Steven A. Cover, Gregory M. Burgess, Robert C. Elmer, Tadd H. Giles
  • Patent number: 7191449
    Abstract: Described is a system and method for managing and displaying messages within a mobile device. The invention provides a method for centrally controlling data flow throughout the communication system. The invention provides a means to receive a message over a communications medium, identify a registered form to handle the message, and to pass it to the registered form for display.
    Type: Grant
    Filed: February 16, 2001
    Date of Patent: March 13, 2007
    Assignee: Microsoft Corporation
    Inventor: Gregory M. Burgess
  • Patent number: 7047285
    Abstract: Described is a system and method for receiving and distributing messages within a mobile device using multiple communication protocols. The invention provides a method for centrally controlling data flow throughout the communication system. The invention provides a means to receive a message over a communications medium, translate it to a first format for general use and further translate it to a second format for data storage. In one implementation, a data storage component communicates with an application, a form, a transport, and a data store. The application, the form, and the transport each communicate with the storage component by passing properties of a message to the storage component in a first format. The storage component translates the properties from the first format to a second format. The storage component then stores the translated properties in the data store in the second format.
    Type: Grant
    Filed: February 16, 2001
    Date of Patent: May 16, 2006
    Assignee: Microsoft Corporation
    Inventor: Gregory M. Burgess
  • Patent number: 7013350
    Abstract: A method and system for sending a message to multiple recipients using multiple transports from the same user interface is provided. The method allows a user to specify recipients and associated transports explicitly or implicitly. The user may explicitly associate a transport with a recipient by selecting the recipient's address from a contact list. The user may implicitly associate a transport with a recipient by entering the literal address of the recipient, such as an email address or a wireless address. When the user enters one or more literal addresses, the system parses the one or more addresses to determine which transport should deliver the message to each address, respectively. As it parses the addresses and makes its determinations, it sets flags appropriately. Then, each transport uses the flags to determine if it has a message to deliver, and if so, delivers the message.
    Type: Grant
    Filed: February 16, 2001
    Date of Patent: March 14, 2006
    Assignee: Microsoft Corporation
    Inventors: Neil R. N. Enns, Gregory M. Burgess
  • Publication number: 20020156936
    Abstract: Described is a system and method for managing and displaying messages within a mobile device. The invention provides a method for centrally controlling data flow throughout the communication system. The invention provides a means to receive a message over a communications medium, identify a registered form to handle the message, and to pass it to the registered form for display.
    Type: Application
    Filed: February 16, 2001
    Publication date: October 24, 2002
    Applicant: Microsoft Corporation
    Inventor: Gregory M. Burgess