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).
-
Publication number: 20260121924Abstract: Systems, devices, media, and methods are presented for assigning configuration parameters to unknown devices by comparing characteristics of unknown devices to characteristics of known devices. Characteristics of an unknown device are compared to characteristics of known devices to identify a similar device having known configuration parameters. The unknown device is then assigned the configuration parameters of the identified similar device.Type: ApplicationFiled: December 23, 2025Publication date: April 30, 2026Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 12531782Abstract: Systems, devices, media, and methods are presented for assigning configuration parameters to unknown devices by comparing characteristics of unknown devices to characteristics of known devices. Characteristics of an unknown device are compared to characteristics of known devices to identify a similar device having known configuration parameters. The unknown device is then assigned the configuration parameters of the identified similar device.Type: GrantFiled: June 13, 2024Date of Patent: January 20, 2026Assignee: Snap Inc.Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 12474968Abstract: 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: GrantFiled: October 23, 2023Date of Patent: November 18, 2025Assignee: Snap Inc.Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Publication number: 20250251948Abstract: Providing branch prediction of APIs to determine the best API for an application to use when performing a function. An API history buffer stores a history of performance data in association with APIs when the function is performed by an application. An API map dynamically stores application performance data in association with APIs. This history data and the API map is used by a circumstance engine and a circumstance engine service to provide a suggested API to an application when it is ready to perform a function.Type: ApplicationFiled: April 24, 2025Publication date: August 7, 2025Inventors: Michael Cieslak, Jiayao Yu, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Publication number: 20250173249Abstract: 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: ApplicationFiled: January 30, 2025Publication date: May 29, 2025Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 12284107Abstract: 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: GrantFiled: March 11, 2024Date of Patent: April 22, 2025Assignee: Snap Inc.Inventors: Zahra Ferdowsi, Michael Cieslak, Michael David Marr, Aysegul Cansizoglu, Xiaolin Shi, Hussein Mehanna, Caleb Ogden, Yi Xu
-
Publication number: 20250085786Abstract: A gesture-based wake process for an AR system is described herein. The AR system places a hand-tracking input pipeline of the AR system in a suspended mode. A camera component of the hand-tracking input pipeline detects a possible visual wake command being made by a user of the AR system. On the basis of detecting the possible visual wake command, the AR system wakes the hand-tracking input pipeline and places the camera component in a fully operational mode. If the AR system, using the hand-tracking input pipeline, verifies the possible visual wake command as an actual wake command, the AR system initiates execution of an AR application.Type: ApplicationFiled: November 19, 2024Publication date: March 13, 2025Inventors: Daniel Colascione, Matthew Hanover, Sergei Korolev, Michael David Marr, Scott Myers, James Powderly
-
Patent number: 12242373Abstract: 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: GrantFiled: January 31, 2022Date of Patent: March 4, 2025Assignee: Snap Inc.Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 12229035Abstract: 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: GrantFiled: November 3, 2023Date of Patent: February 18, 2025Assignee: 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: 12175022Abstract: A gesture-based wake process for an AR system is described herein. The AR system places a hand-tracking input pipeline of the AR system in a suspended mode. A camera component of the hand-tracking input pipeline detects a possible visual wake command being made by a user of the AR system. On the basis of detecting the possible visual wake command, the AR system wakes the hand-tracking input pipeline and places the camera component in a fully operational mode. If the AR system, using the hand-tracking input pipeline, verifies the possible visual wake command as an actual wake command, the AR system initiates execution of an AR application.Type: GrantFiled: September 12, 2023Date of Patent: December 24, 2024Assignee: SNAP INC.Inventors: Daniel Colascione, Matthew Hanover, Sergei Korolev, Michael David Marr, Scott Myers, James Powderly
-
Publication number: 20240396794Abstract: 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: ApplicationFiled: August 1, 2024Publication date: November 28, 2024Inventors: 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: 12147817Abstract: 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: GrantFiled: May 19, 2023Date of Patent: November 19, 2024Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Publication number: 20240333593Abstract: Systems, devices, media, and methods are presented for assigning configuration parameters to unknown devices by comparing characteristics of unknown devices to characteristics of known devices. Characteristics of an unknown device are compared to characteristics of known devices to identify a similar device having known configuration parameters. The unknown device is then assigned the configuration parameters of the identified similar device.Type: ApplicationFiled: June 13, 2024Publication date: October 3, 2024Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 12074756Abstract: 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: GrantFiled: January 30, 2023Date of Patent: August 27, 2024Assignee: 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: 12034599Abstract: Systems, devices, media, and methods are presented for assigning configuration parameters to unknown devices by comparing characteristics of unknown devices to characteristics of known devices. Characteristics of an unknown device are compared to characteristics of known devices to identify a similar device having known configuration parameters. The unknown devise is then assigned the configuration parameters of the identified similar device.Type: GrantFiled: October 28, 2021Date of Patent: July 9, 2024Assignee: Snap Inc.Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Publication number: 20240223490Abstract: 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: ApplicationFiled: March 11, 2024Publication date: July 4, 2024Inventors: Zahra Ferdowsi, Michael Cieslak, Michael David Marr, Aysegul Cansizoglu, Xiaolin Shi, Hussein Mehanna, Caleb Ogden, Yi Xu
-
Patent number: 11949582Abstract: 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: GrantFiled: April 28, 2022Date of Patent: April 2, 2024Assignee: Snap Inc.Inventors: Zahra Ferdowsi, Michael Cieslak, Michael David Marr, Aysegul Cansizoglu, Xiaolin Shi, Hussein Mehanna, Caleb Ogden, Yi Xu
-
Publication number: 20240094823Abstract: A gesture-based wake process for an AR system is described herein. The AR system places a hand-tracking input pipeline of the AR system in a suspended mode. A camera component of the hand-tracking input pipeline detects a possible visual wake command being made by a user of the AR system. On the basis of detecting the possible visual wake command, the AR system wakes the hand-tracking input pipeline and places the camera component in a fully operational mode. If the AR system, using the hand-tracking input pipeline, verifies the possible visual wake command as an actual wake command, the AR system initiates execution of an AR application.Type: ApplicationFiled: September 12, 2023Publication date: March 21, 2024Inventors: Daniel Colascione, Matthew Hanover, Sergei Korolev, Michael David Marr, Scott Myers, James Powderly
-
Publication number: 20240070044Abstract: 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: ApplicationFiled: November 3, 2023Publication date: February 29, 2024Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Olamide Valerie Olatunji, David Boyle, Claire Reinert
-
Publication number: 20240045727Abstract: 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: ApplicationFiled: October 23, 2023Publication date: February 8, 2024Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi