Patents by Inventor Michael David Marr

Michael David Marr 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: 11575559
    Abstract: Generally described, systems and methods are provided for monitoring and detecting causes of failures of network paths. The system collects performance information from a plurality of nodes and links in a network, aggregates the collected performance information across paths in the network, processes the aggregated performance information for detecting failures on the paths, analyzes each of the detected failures to determine at least one root cause, and initiates a remedial workflow for the at least one root cause determined. In some aspects, processing the aggregated information may include performing a statistical regression analysis or otherwise solving a set of equations for the performance indications on each of a plurality of paths. In another aspect, the system may also include an interface which makes available for display one or more of the network topology, the collected and aggregated performance information, and indications of the detected failures in the topology.
    Type: Grant
    Filed: September 17, 2020
    Date of Patent: February 7, 2023
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: Richendra Khanna, Edward L. Wallace, Jagwinder Singh Brar, Michael David Marr, Samuel J. McKelvie, Peter N. DeSantis, Ian P. Nowland, Matthew D. Klein, Justin Mason, Jacob Gabrielson
  • Patent number: 11564069
    Abstract: The subject technology determines, by at least one processor, that a value of a capability parameter is not available for a first recipient device, the first recipient device being one of a plurality of recipient devices. The subject technology receives, from the first recipient device, a value of the capability parameter. The subject technology clusters, by at least one processor, the plurality of recipient devices into a plurality of groups of recipient devices based on device capabilities including an available storage space. The subject technology determines, for each group of recipient devices, a set of content parameters compatible with device capabilities of the plurality of recipient devices of a group of client devices. The subject technology generates, for each group of recipient devices, a version of content according to an associated set of content parameters.
    Type: Grant
    Filed: September 1, 2021
    Date of Patent: January 24, 2023
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Zahra Ferdowsi, Jun Huang, Michael David Marr, Jiayao Yu, Finn Parnell, Aleksandr Zhang, Chao Pang
  • Patent number: 11539814
    Abstract: Friend capability caching designed to allow a user of an application to improve a user's experience based on the shared capabilities of a set of friends. Communication between client devices can be improved by knowing the shared capabilities, such as a device type, media format and media size. The client devices store capabilities of friends devices such that a client device can communicate with other client devices as a function of the friend device capabilities.
    Type: Grant
    Filed: May 29, 2019
    Date of Patent: December 27, 2022
    Assignee: Snap Inc.
    Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Publication number: 20220317746
    Abstract: The systems and methods manage thermal states of a device through user configuration of a client application on the device. The systems and methods set thermal thresholds associated with the device. The systems and methods infer the thermal thresholds from information gathered by a client application running on the device. The systems and methods implement a stored policy associated with a violation of one of the thermal thresholds by one of the monitored thermal states.
    Type: Application
    Filed: June 23, 2022
    Publication date: October 6, 2022
    Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Publication number: 20220300297
    Abstract: Aspects of the present disclosure involve systems and methods for performing operations comprising providing a messaging application comprising a feature to a client device, the feature being implemented by operations having alternative complexity levels, wherein a first complexity level represents a first amount of device resources consumed by a first set of operations, and wherein a second complexity level represents a second amount of device resources consumed by a second set of operations; determining that the first configuration rule is satisfied by a first property of the client device; and in response to determining that the first configuration rule is satisfied by the first property of the client device, causing the feature to be implemented on the client device by the first set of operations having the first complexity level that consume a greater amount of device resources than the second set of operations having the second complexity level.
    Type: Application
    Filed: June 9, 2022
    Publication date: September 22, 2022
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Patent number: 11442513
    Abstract: The systems and methods manage thermal states of a device through user configuration of a client application on the device. The systems and methods set thermal thresholds associated with the device. The systems and methods infer the thermal thresholds from information gathered by a client application running on the device. The systems and methods implement a stored policy associated with a violation of one of the thermal thresholds by one of the monitored thermal states.
    Type: Grant
    Filed: April 16, 2019
    Date of Patent: September 13, 2022
    Assignee: Snap Inc.
    Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Publication number: 20220279031
    Abstract: The systems and methods monitor thermal states associated with a device. The systems and methods set thermal thresholds associated with the device. The systems and methods infer the thermal thresholds from information gathered by a client application running on the device. The systems and methods implement a stored policy associated with a violation of one of the thermal thresholds by one of the monitored thermal states.
    Type: Application
    Filed: May 18, 2022
    Publication date: September 1, 2022
    Inventors: Michael Cieslak, Michael David Marr
  • Publication number: 20220276947
    Abstract: Systems, devices, media, and methods are presented for releasing an application feature in incremental stages while monitoring the application for anomalies. The feature includes a package of code and an action setting. The methods in some implementations include identifying active devices on which the application has been installed, monitoring the application according to a set of metrics, activating the feature by changing its action setting for a first segment of the active devices, pausing the feature if an anomaly is detected among the set of metrics, and generating a repair ticket. As long as no anomaly is detected, the activating step proceeds for subsequent segments of the active devices, iteratively, until the release is completed. A feature rank may be used to process and release a plurality of features in order of priority.
    Type: Application
    Filed: May 18, 2022
    Publication date: September 1, 2022
    Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Olamide Valerie Olatunji, David Boyle, Claire Reinert
  • Patent number: 11422839
    Abstract: The transmission of data on computer networks according to one or more policies is disclosed. A policy may specify, among other things, various parameters which are to be followed when transmitting initiating network traffic. Multiple network interfaces may be installed on a server to enable transmission of data from the single server according a number of discrete configuration settings implicated by the various policies. The multiple network interfaces may correspond to separate physical components, with each component configured independently to implement a feature of a policy. The multiple network interfaces may also correspond to a single physical component that exposes multiple network interfaces, both to the network and to the server on which it is installed.
    Type: Grant
    Filed: June 10, 2021
    Date of Patent: August 23, 2022
    Assignee: Amazon Technologies, Inc.
    Inventors: Matthew D. Klein, Michael David Marr, Samuel J. McKelvie
  • Publication number: 20220255833
    Abstract: Clustering a plurality of client devices running an application as a function of a data structure such that the plurality of client devices are each assigned a cluster. Client devices having similar performance metrics are assigned the same cluster. An operation of the application is modified as a function of the performance metrics of the client device. The modification of application operation is performed by turning certain features of the application on and off using a rule based on device cluster.
    Type: Application
    Filed: April 28, 2022
    Publication date: August 11, 2022
    Inventors: Zahra Ferdowsi, Michael Cieslak, Michael David Marr, Aysegul Cansizoglu, Xiaolin Shi, Hussein Mehanna, Caleb Ogden, Yi Xu
  • Patent number: 11405341
    Abstract: Aspects of the present disclosure involve a system and method for optimizing a content shared via a messaging system based on an expected audience for the content. A content is received from a publisher client device associated with a publisher. A list of content versions associated with the publisher is accessed form a database, each content version being associated with an associated set of content parameters. The one or more content versions of the content are generated. When an access request is received from a viewer client device, an optimal content version is identified for the viewer client device based on the device capabilities of the viewer client device. An updated list of content versions is associated with the publisher by aggregating the optimal content versions identified for a plurality of viewer client devices, and the database is updated with the updated list of content versions associated with the publisher.
    Type: Grant
    Filed: June 26, 2019
    Date of Patent: August 2, 2022
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Zahra Ferdowsi, Jun Huang, Michael David Marr, Jiayao Yu, Finn Parnell, Aleksandr Zhang, Chao Pang
  • Patent number: 11385907
    Abstract: Aspects of the present disclosure involve systems and methods for performing operations comprising providing a messaging application comprising a feature to a client device, the feature being implemented by operations having alternative complexity levels, wherein a first complexity level represents a first amount of device resources consumed by a first set of operations, and wherein a second complexity level represents a second amount of device resources consumed by a second set of operations; determining that the first configuration rule is satisfied by a first property of the client device; and in response to determining that the first configuration rule is satisfied by the first property of the client device, causing the feature to be implemented on the client device by the first set of operations having the first complexity level that consume a greater amount of device resources than the second set of operations having the second complexity level.
    Type: Grant
    Filed: April 17, 2019
    Date of Patent: July 12, 2022
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Patent number: 11368558
    Abstract: The systems and methods monitor thermal states associated with a device. The systems and methods set thermal thresholds associated with the device. The systems and methods infer the thermal thresholds from information gathered by a client application running on the device. The systems and methods implement a stored policy associated with a violation of one of the thermal thresholds by one of the monitored thermal states.
    Type: Grant
    Filed: June 14, 2021
    Date of Patent: June 21, 2022
    Assignee: Snap Inc.
    Inventors: Michael Cieslak, Michael David Marr
  • Patent number: 11341017
    Abstract: Systems, devices, media, and methods are presented for releasing an application feature in incremental stages while monitoring the application for anomalies. The feature includes a package of code and an action setting. The methods in some implementations include identifying active devices on which the application has been installed, monitoring the application according to a set of metrics, activating the feature by changing its action setting for a first segment of the active devices, pausing the feature if an anomaly is detected among the set of metrics, and generating a repair ticket. As long as no anomaly is detected, the activating step proceeds for subsequent segments of the active devices, iteratively, until the release is completed. A feature rank may be used to process and release a plurality of features in order of priority.
    Type: Grant
    Filed: April 24, 2019
    Date of Patent: May 24, 2022
    Assignee: Snap Inc.
    Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Olamide Valerie Olatunji, David Boyle, Claire Reinert
  • Patent number: 11343160
    Abstract: Clustering a plurality of client devices running an application as a function of a data structure such that the plurality of client devices are each assigned a cluster. Client devices having similar performance metrics are assigned the same cluster. An operation of the application is modified as a function of the performance metrics of the client device. The modification of application operation is performed by turning certain features of the application on and off using a rule based on device cluster.
    Type: Grant
    Filed: April 30, 2019
    Date of Patent: May 24, 2022
    Assignee: Snap Inc.
    Inventors: Zahra Ferdowsi, Michael Cieslak, Michael David Marr, Aysegul Cansizoglu, Xiaolin Shi, Hussein Mehanna, Caleb Ogden, Yi Xu
  • Publication number: 20220156179
    Abstract: Systems, devices, media, and methods are presented for testing the capability of a mobile device to run a particular feature of an application. Each feature may include a package of code, a call, a state, and a condition; each condition correlated with a specific state. The call is a query that includes instructions to evaluate whether the application will run successfully if a particular feature is running. If the call fails, the feature condition remains Off, resulting in a rollback of the feature. If the call succeeds, the feature condition is changed to On. The system may include an experimentation framework on each mobile device for registering features, executing calls, logging results, and maintaining states and conditions.
    Type: Application
    Filed: January 31, 2022
    Publication date: May 19, 2022
    Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Publication number: 20220150330
    Abstract: An example method comprises: receiving, at a server from a first client device, a request for access to a client feature on the first client device; determining, by the server, an applicable rule for the access request, the applicable rule having a plurality of nodes; determining, by the server, device capabilities needed for the determined rule; determining, by the server, nodes that can be executed and nodes that cannot be executed, based on the device capabilities, the nodes that can be executed including device hardware capabilities and the nodes that cannot be executed including real-time device capabilities; executing, by the server nodes that can be executed to reach a partial decision for the applicable rule; pruning the applicable rule to remove executed nodes and generate a pruned rule that includes nodes that cannot be executed; transmitting the pruned rule and partial decision to the first client device.
    Type: Application
    Filed: January 24, 2022
    Publication date: May 12, 2022
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Dhritiman Sagar
  • Patent number: 11317129
    Abstract: Aspects of the present disclosure involve a system and method for providing the best available version of a content to a viewer client device considering the device capabilities of the viewer client device. To access the content, a viewer client device sends an access request comprising its device capabilities. Upon receiving the access request, the server computer generates a ranked list of all possible content versions for the viewer client device, the content versions being ranked based on their compatibility with the device capabilities of the viewer client device. The server computer selects, among the one or more available versions of the content, the content version ranked first in the ranked list and provides the selected content version to the viewer client device.
    Type: Grant
    Filed: June 26, 2019
    Date of Patent: April 26, 2022
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Zahra Ferdowsi, Jun Huang, Michael David Marr, Jiayao Yu, Finn Parnell, Aleksandr Zhang, Chao Pang
  • Publication number: 20220121492
    Abstract: Systems, devices, media, and methods are presented for throttling (i.e., adjusting) the workload of an application (e.g., number of task requests) in order to improve processor core usage within a heterogeneous multiprocessor system. When high-performance processing is beneficial to the application, the number of task requests may be increased in order to have high-performance processor cores within the heterogeneous multiprocessor system core processor perform the tasks. On the other hand, when high-performance processing is not beneficial, the number of task requests may be decreased in order to have low-performance processor cores within the heterogeneous multiprocessor system perform the tasks. Processor core usage is monitored, and the number of tasks being performed are adjusted to match the processor core usage to a target processor core usage for functions the application is performing.
    Type: Application
    Filed: December 30, 2021
    Publication date: April 21, 2022
    Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Patent number: 11290576
    Abstract: An example method comprises: receiving, at a server from a first client device, a request for access to a client feature on the first client device; determining, by the server, an applicable rule for the access request, the applicable rule having a plurality of nodes; determining, by the server, device capabilities needed for the determined rule; determining, by the server, nodes that can be executed and nodes that cannot be executed, based on the device capabilities, the nodes that can be executed including device hardware capabilities and the nodes that cannot be executed including real-time device capabilities; executing, by the server nodes that can be executed to reach a partial decision for the applicable rule; pruning the applicable rule to remove executed nodes and generate a pruned rule that includes nodes that cannot be executed; transmitting the pruned rule and partial decision to the first client device.
    Type: Grant
    Filed: February 27, 2020
    Date of Patent: March 29, 2022
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Dhritiman Sagar