Patents by Inventor Farnaz Azmoodeh
Farnaz Azmoodeh 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: 20240086968Abstract: In various embodiments, boundaries of geo-fences can be made mutable based on principles described herein. The term “mutable” refers to the ability of a thing (in this case, the boundary of a geo-fence) to change and adjust. In a typical embodiment, a mutable geo-fence system is configured to generate and monitor a geo-fence that encompasses a region, in order to dynamically vary the boundary of the geo-fence based on a number of boundary variables. The term “geo-fence” as used herein describes a virtual perimeter (e.g., a boundary) for a real-world geographic area. A geo-fence could be a radius around a point (e.g., a store), or a set of predefined boundaries. Boundary variables, as used herein, refers to a set of variables utilized by the mutable geo-fence system in determining a location of the boundary of the geo-fence.Type: ApplicationFiled: November 14, 2023Publication date: March 14, 2024Inventors: Farnaz Azmoodeh, Peter Sellis, Jinlin Yang
-
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
-
Patent number: 11900418Abstract: In various embodiments, boundaries of geo-fences can be made mutable based on principles described herein. The term “mutable” refers to the ability of a thing (in this case, the boundary of a geo-fence) to change and adjust. In a typical embodiment, a mutable geo-fence system is configured to generate and monitor a geo-fence that encompasses a region, in order to dynamically vary the boundary of the geo-fence based on a number of boundary variables. The term “geo-fence” as used herein describes a virtual perimeter (e.g., a boundary) for a real-world geographic area. A geo-fence could be a radius around a point (e.g., a store), or a set of predefined boundaries. Boundary variables, as used herein, refers to a set of variables utilized by the mutable geo-fence system in determining a location of the boundary of the geo-fence.Type: GrantFiled: March 30, 2017Date of Patent: February 13, 2024Assignee: Snap Inc.Inventors: Farnaz Azmoodeh, Peter Sellis, Jinlin Yang
-
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
-
Patent number: 11853192Abstract: Systems, devices, media, and methods are presented for determining performance metrics of client devices on a network using benchmark applications. Benchmark applications are distributed to client devices to produce performance metrics for the client devices. Performance metrics of the client devices received from the client devices are grouped to obtain performance metrics for different types of client devices.Type: GrantFiled: April 16, 2019Date of Patent: December 26, 2023Assignee: Snap Inc.Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Fedir Poliakov, Cristian Zaloj, Istvan Marton
-
Patent number: 11816010Abstract: 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: May 18, 2022Date of Patent: November 14, 2023Assignee: 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: 11816506Abstract: 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: December 30, 2021Date of Patent: November 14, 2023Assignee: Snap Inc.Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Publication number: 20230362118Abstract: An example method comprises: receiving, at the 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; executing, by the server, nodes that can be executed to reach a partial decision for the applicable rule; pruning the 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 device. The pruned rule is executed on the first client device with partial decision to generate a final decision. The client feature is configured based on the decision.Type: ApplicationFiled: July 11, 2023Publication date: November 9, 2023Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang```, Zahra Ferdowsi
-
Patent number: 11800189Abstract: Aspects of the present disclosure involve systems and methods for performing operations comprising receiving, with a messaging application, user input to access a graphical image modification feature of the messaging application; in response to receiving, causing display of a video; accessing a first configuration rule of a plurality of configuration rules that associates a first device property rule with the graphical image modification feature of the messaging application; 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 display of a first plurality of graphical image modification options each associated with performing a different modification to the video.Type: GrantFiled: April 8, 2021Date of Patent: October 24, 2023Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Publication number: 20230305861Abstract: 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: ApplicationFiled: May 19, 2023Publication date: September 28, 2023Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 11750545Abstract: An example method comprises: receiving, at the 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; executing, by the server, nodes that can be executed to reach a partial decision for the applicable rule; pruning the 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 device. The pruned rule is executed on the first client device with partial decision to generate a final decision. The client feature is configured based on the decision.Type: GrantFiled: November 3, 2021Date of Patent: September 5, 2023Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 11750682Abstract: 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: GrantFiled: January 24, 2022Date of Patent: September 5, 2023Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Dhritiman Sagar
-
Publication number: 20230275953Abstract: 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: ApplicationFiled: May 4, 2023Publication date: August 31, 2023Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Dhritiman Sagar
-
Patent number: 11709531Abstract: 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: GrantFiled: June 23, 2022Date of Patent: July 25, 2023Assignee: Snap Inc.Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 11704135Abstract: 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: June 9, 2022Date of Patent: July 18, 2023Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 11683236Abstract: Systems, devices, media, and methods are presented for categorizing unknown devices using benchmark applications. Benchmark applications are distributed to client devices to produce performance metrics for the client devices. Performance metrics of the client devices are used to categorize unknown devices by comparing the performance metrics of these devices to performance metrics of known devices.Type: GrantFiled: April 12, 2019Date of Patent: June 20, 2023Assignee: Snap Inc.Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Publication number: 20230185428Abstract: Embodiments of the present disclosure relate generally to techniques for automated organization and presentation of user-selectable features within user interfaces. More particularly, but not by way of limitation, the present disclosure addresses systems and methods for presenting and accessing filters within user interfaces displaying media content items.Type: ApplicationFiled: February 3, 2023Publication date: June 15, 2023Inventors: Samir Ahmed, Farnaz Azmoodeh
-
Patent number: 11635872Abstract: Embodiments of the present disclosure relate generally to techniques for automated organization and presentation of user-selectable features within user interfaces. More particularly, but not by way of limitation, the present disclosure addresses systems and methods for presenting and accessing filters within user interfaces displaying media content items.Type: GrantFiled: June 19, 2017Date of Patent: April 25, 2023Assignee: Snap Inc.Inventors: Samir Ahmed, Farnaz Azmoodeh
-
Patent number: 11579997Abstract: Aspects of the present disclosure involve a system and method for performing operations comprising providing to a client device, a messaging application comprising multiple features; accessing a configuration rule that associates a device property rule with a feature; determining at a first point in time, that a property of the client device matches the device property rule associated with the configuration rule; in response to determining that the property of the client device matches the device property rule associated with the configuration rule, enabling the feature on the client device at the first point in time; receiving an updated property of the client device at a second point in time; and in response to determining that the updated property of the client device fails to match the device property rule associated with the configuration rule at the second point in time, disabling the feature on the client device.Type: GrantFiled: March 29, 2021Date of Patent: February 14, 2023Assignee: SNAP INC.Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 11539814Abstract: 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: GrantFiled: May 29, 2019Date of Patent: December 27, 2022Assignee: Snap Inc.Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi