Patents by Inventor Michael Ronald Cieslak

Michael Ronald Cieslak 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: 20230362118
    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: July 11, 2023
    Publication date: November 9, 2023
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang```, Zahra Ferdowsi
  • Patent number: 11800189
    Abstract: 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: Grant
    Filed: April 8, 2021
    Date of Patent: October 24, 2023
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Publication number: 20230305861
    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: May 19, 2023
    Publication date: September 28, 2023
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Patent number: 11750682
    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: January 24, 2022
    Date of Patent: September 5, 2023
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Dhritiman Sagar
  • Patent number: 11750545
    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: November 3, 2021
    Date of Patent: September 5, 2023
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Publication number: 20230275953
    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: May 4, 2023
    Publication date: August 31, 2023
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Dhritiman Sagar
  • Patent number: 11704135
    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: June 9, 2022
    Date of Patent: July 18, 2023
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • Patent number: 11579997
    Abstract: 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: Grant
    Filed: March 29, 2021
    Date of Patent: February 14, 2023
    Assignee: SNAP INC.
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
  • 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
  • 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: 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
  • 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
  • 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: 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
  • Publication number: 20210400442
    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.
    Type: Application
    Filed: September 1, 2021
    Publication date: December 23, 2021
    Inventors: Michael Ronald Cieslak, Zahra Ferdowsi, Jun Huang, Michael David Marr, Jiayao Yu, Finn Parnell, Aleksandr Zhang, Chao Pang
  • Patent number: 11122396
    Abstract: The subject technology accesses, by at least one processor, device capabilities for each of a plurality of recipient devices. The subject technology clusters, by the at least one processor, the plurality of recipient devices into a plurality of groups of recipient devices based on device capabilities. The subject technology determines, for each group of recipient devices, a set of content parameters compatible with the device capabilities of the plurality of recipient devices of a group of client devices. Further, the subject technology generates, for each group of recipient devices, a version of the content according to an associated set of content parameters.
    Type: Grant
    Filed: July 2, 2020
    Date of Patent: September 14, 2021
    Assignee: Snap Inc.
    Inventors: Michael Ronald Cieslak, Zahra Ferdowsi, Jun Huang, Michael David Marr, Jiayao Yu, Finn Parnell, Aleksandr Zhang, Chao Pang
  • Publication number: 20210227293
    Abstract: 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: Application
    Filed: April 8, 2021
    Publication date: July 22, 2021
    Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi