Patents by Inventor Zahra Ferdowsi

Zahra Ferdowsi 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: 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
  • Patent number: 11514462
    Abstract: Certain embodiments provide a computer-executed method for generating a future sales estimate for an item. The method includes programmatically accessing, from a dataset via a network device, an inventory residence time period of an item. The method also includes programmatically accessing, from the dataset via the network device, prior performance data associated with the item. The method also includes programmatically executing an inventory valuation engine to generate a future sales estimate for the item based on the inventory residence time period and the prior performance data. The method further includes executing a notification generation engine to adjust a notification policy defining a frequency or other characteristic of electronic marketing communications indicating the item transmitted to consumer devices based on the future sales estimate.
    Type: Grant
    Filed: December 1, 2020
    Date of Patent: November 29, 2022
    Assignee: GROUPON, INC.
    Inventors: Zahra Ferdowsi, Rajesh Girish Parekh
  • 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: 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
  • 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: 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
  • Publication number: 20220092620
    Abstract: Embodiments of the present invention provide methods, systems, apparatuses, and computer program products for classifying merchants. In one embodiment a method is provided comprising determining, based on a first value, a first prediction value that indicates a programmatically expected number of consumers that will request termination of an accepted first promotion; and determining, based on the first prediction value, a classification for the first entity, the classification specifying a likelihood that the transmittal of the first promotion to consumers will result in a number of terminations less than a pre-specified threshold.
    Type: Application
    Filed: September 29, 2021
    Publication date: March 24, 2022
    Inventors: Addhyan Pandey, Waigen Zhang, Zahra Ferdowsi, Angela Han
  • Patent number: 11275623
    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: Grant
    Filed: May 30, 2019
    Date of Patent: March 15, 2022
    Assignee: Snap Inc.
    Inventors: Michael Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Publication number: 20220060437
    Abstract: 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: Application
    Filed: November 3, 2021
    Publication date: February 24, 2022
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Patent number: 11258738
    Abstract: 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: Grant
    Filed: September 27, 2019
    Date of Patent: February 22, 2022
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi