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: 10795905Abstract: 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: GrantFiled: December 29, 2017Date of Patent: October 6, 2020Assignee: Amazon Technologies, Inc.Inventors: Marvin Michael Theimer, Gaurav D. Ghare, John David Dunagan, Gregory M. Burgess, Ying Xiong
-
Patent number: 10691716Abstract: 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: GrantFiled: July 31, 2017Date of Patent: June 23, 2020Assignee: Amazon Technologies, Inc.Inventors: Marvin Michael Theimer, Gaurav D. Ghare, John David Dunagan, Gregory M. Burgess, Ying Xiong
-
Patent number: 10635644Abstract: 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: GrantFiled: November 11, 2013Date of Patent: April 28, 2020Assignee: Amazon Technologies, Inc.Inventors: Marvin Michael Theimer, Gaurav D. Ghare, John David Dunagan, Gregory M. Burgess, Ying Xiong
-
Patent number: 10574892Abstract: 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: GrantFiled: June 18, 2018Date of Patent: February 25, 2020Assignee: Google LLCInventors: Gregory M. Burgess, Thor Carpenter
-
Publication number: 20180302565Abstract: 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: ApplicationFiled: June 18, 2018Publication date: October 18, 2018Inventors: Gregory M. Burgess, Thor Carpenter
-
Patent number: 10033926Abstract: 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: GrantFiled: November 6, 2015Date of Patent: July 24, 2018Assignee: GOOGLE LLCInventors: Gregory M Burgess, Thor Carpenter
-
Publication number: 20170357703Abstract: 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: ApplicationFiled: July 31, 2017Publication date: December 14, 2017Applicant: Amazon Technologies, Inc.Inventors: Marvin Michael Theimer, Gaurav D. Ghare, John David Dunagan, Gregory M. Burgess, Ying Xiong
-
Publication number: 20170134656Abstract: 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: ApplicationFiled: November 6, 2015Publication date: May 11, 2017Inventors: Gregory M Burgess, Thor Carpenter
-
Patent number: 9634956Abstract: 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: GrantFiled: March 10, 2016Date of Patent: April 25, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Mingqiang Xu, Jun Su, Gregory M. Burgess, Tianchi Ma, Salim Alam, Rich Ciapala
-
Publication number: 20160197841Abstract: 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: ApplicationFiled: March 10, 2016Publication date: July 7, 2016Inventors: Mingqiang Xu, Jun Su, Gregory M. Burgess, Tianchi Ma, Salim Alam, Rich Ciapala
-
Patent number: 9317334Abstract: 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: GrantFiled: February 12, 2011Date of Patent: April 19, 2016Assignee: Microsoft Technology Licensing LLCInventors: Mingqiang Xu, Jun Su, Gregory M. Burgess, Tianchi Ma, Salim Alam, Rich Ciapala
-
Patent number: 8694653Abstract: 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: GrantFiled: December 10, 2010Date of Patent: April 8, 2014Assignee: Microsoft CorporationInventors: Kevin Wood, Gregory M. Burgess, Tianchi Ma
-
Publication number: 20120209901Abstract: 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: ApplicationFiled: February 12, 2011Publication date: August 16, 2012Applicant: MICROSOFT CORPORATIONInventors: Mingqiang Xu, Jun Su, Gregory M. Burgess, Tianchi Ma, Salim Alam, Rich Ciapala
-
Publication number: 20120151074Abstract: 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: ApplicationFiled: December 10, 2010Publication date: June 14, 2012Applicant: Microsoft CorporationInventors: Kevin Wood, Gregory M. Burgess, Tianchi Ma
-
Publication number: 20100023157Abstract: 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: ApplicationFiled: July 28, 2008Publication date: January 28, 2010Inventors: Steven Michael Burgess, Gregory M. Burgess, Larisa Alexandra Elman
-
Patent number: 7599991Abstract: 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: GrantFiled: March 10, 2004Date of Patent: October 6, 2009Assignee: Microsoft CorporationInventors: Garrett R. Vargas, Steven A. Cover, Gregory M. Burgess, Robert C. Elmer, Tadd H. Giles
-
Patent number: 7191449Abstract: 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: GrantFiled: February 16, 2001Date of Patent: March 13, 2007Assignee: Microsoft CorporationInventor: Gregory M. Burgess
-
Patent number: 7047285Abstract: 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: GrantFiled: February 16, 2001Date of Patent: May 16, 2006Assignee: Microsoft CorporationInventor: Gregory M. Burgess
-
Patent number: 7013350Abstract: 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: GrantFiled: February 16, 2001Date of Patent: March 14, 2006Assignee: Microsoft CorporationInventors: Neil R. N. Enns, Gregory M. Burgess
-
Publication number: 20020156936Abstract: 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: ApplicationFiled: February 16, 2001Publication date: October 24, 2002Applicant: Microsoft CorporationInventor: Gregory M. Burgess