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: 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: 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
-
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
-
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: 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: 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: 11564069Abstract: 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: GrantFiled: September 1, 2021Date of Patent: January 24, 2023Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Zahra Ferdowsi, Jun Huang, Michael David Marr, Jiayao Yu, Finn Parnell, Aleksandr Zhang, Chao Pang
-
Publication number: 20220300297Abstract: 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: June 9, 2022Publication date: September 22, 2022Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 11405341Abstract: 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: GrantFiled: June 26, 2019Date of Patent: August 2, 2022Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Zahra Ferdowsi, Jun Huang, Michael David Marr, Jiayao Yu, Finn Parnell, Aleksandr Zhang, Chao Pang
-
Patent number: 11385907Abstract: 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: April 17, 2019Date of Patent: July 12, 2022Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Publication number: 20220150330Abstract: 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: January 24, 2022Publication date: May 12, 2022Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Dhritiman Sagar
-
Patent number: 11317129Abstract: 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: GrantFiled: June 26, 2019Date of Patent: April 26, 2022Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Zahra Ferdowsi, Jun Huang, Michael David Marr, Jiayao Yu, Finn Parnell, Aleksandr Zhang, Chao Pang
-
Patent number: 11290576Abstract: 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: February 27, 2020Date of Patent: March 29, 2022Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi, Dhritiman Sagar
-
Publication number: 20220060437Abstract: 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: November 3, 2021Publication date: February 24, 2022Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Patent number: 11258738Abstract: 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: September 27, 2019Date of Patent: February 22, 2022Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi
-
Publication number: 20210400442Abstract: 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: ApplicationFiled: September 1, 2021Publication date: December 23, 2021Inventors: Michael Ronald Cieslak, Zahra Ferdowsi, Jun Huang, Michael David Marr, Jiayao Yu, Finn Parnell, Aleksandr Zhang, Chao Pang
-
Patent number: 11122396Abstract: 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: GrantFiled: July 2, 2020Date of Patent: September 14, 2021Assignee: Snap Inc.Inventors: Michael Ronald Cieslak, Zahra Ferdowsi, Jun Huang, Michael David Marr, Jiayao Yu, Finn Parnell, Aleksandr Zhang, Chao Pang
-
Publication number: 20210227293Abstract: 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: ApplicationFiled: April 8, 2021Publication date: July 22, 2021Inventors: Michael Ronald Cieslak, Jiayao Yu, Kai Chen, Farnaz Azmoodeh, Michael David Marr, Jun Huang, Zahra Ferdowsi