IP Library › Granted Patent US 12,531,782
Granted Patent B2
US 12,531,782 · App. 18/742,132 · Granted Jan 20, 2026

Device configuration parameter determination

Inventors: Michael Cieslak (Los Angeles, CA); Jiayao Yu (Venice, CA); Kai Chen (Manhattan Beach, CA); Farnaz Azmoodeh (Venice, CA); Michael David Marr (Monroe, WA); Jun Huang (Beverly Hills, CA); Zahra Ferdowsi (Marina del Rey, CA)
Assignee: Snap Inc.
H04L41/0846H04L41/0866H04L67/125H04L67/303
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,531,782
App. No.
18/742,132
Granted
Jan 20, 2026
Kind
B2
Abstract

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.

Claims (43)

1 . A system for determining a device configuration of a client device, the system comprising:

a server system comprising a processor that runs a device characteristic collection engine and a similarity detection and assignment system, the device characteristic collection engine configured to distribute device characteristic capture applications associated with an application running on a plurality of client devices and to collect device characteristics of each client device provided by the distributed device characteristic capture applications, and the similarity detection and assignment system configured to analyze collected device characteristics to develop signatures including features categories based on device characteristics received from the plurality of client devices where each features category is associated with one or more features of the application running on the plurality of client devices and each feature having a feature level selected from a plurality of feature levels, to compare signatures of client devices having an unknown device type to signatures of client devices having a known device type, to assign configuration parameters from client devices of the known device type to client devices of the unknown device type that are most similar to the client devices of the known device type, and to identify one or more feature levels associated with the assigned configuration parameters for the client devices of the unknown device type; and

a configuration database that stores the device characteristics for the plurality of client devices,

wherein the device characteristic collection engine distributes configuration parameters of the feature levels identified for the client devices of the unknown device type for configuring features of the application running on the client devices of the unknown device type.

2 . The system of claim 1 , wherein the similarity detection and assignment system assigns a client device having the unknown device type into one of a plurality of features categories associated with one of the client devices having the known device type according to similarity of the collected device characteristics of the client device having the unknown device type to the device characteristics of the one of the client devices having the known device type.

3 . The system of claim 1 , wherein the similarity detection and assignment system compares signatures of client devices having the unknown device type to signatures of client devices having the known device type by:

generating a signature from the device characteristics of the client devices having the unknown device type; and

comparing the signature to signatures of the client devices having known device types,

wherein the similarity detection and assignment system assigns the device configuration parameters to the client devices having the unknown device type responsive to comparing the signatures.

4 . The system of claim 3 , wherein the signature is a multi-dimensional signature and the similarity detection and assignment system identifies a closest match in a multi-dimensional space.

5 . The system of claim 4 , wherein the similarity detection and assignment system applies fuzzy logic to compare the multi-dimensional signature with signatures of other client devices to determine similarity between the signatures.

6 . The system of claim 3 , wherein the similarity detection and assignment system compares the signature to the signatures of the client devices having known device types by applying principal component analysis.

7 . The system of claim 1 , wherein the application running on the plurality of client devices comprises a social media application and the similarity detection and assignment system assigns device configuration parameters of the client devices having the known device type to the client devices having the unknown device type for more efficient processing of the social media application.

8 . The system of claim 1 , wherein the configuration database stores client device configuration parameters and the device characteristics of the client devices of the known device types.

9 . The system of claim 1 , wherein the device characteristics include two or more of central processing unit (CPU) model number, graphics processing unit (GPU) model number, cellular capability level, or application version of the application.

10 . The system of claim 1 , wherein the server further runs a feature controller that receives a device type identifier and associated feature levels for each client device of the unknown device type and distributes the feature levels to the client devices of the unknown device type based on the device type identifier.

11 . The system of claim 10 , wherein the feature levels are communicated using a configuration synchronization request/reply during device characteristics collection by the device characteristic collection engine.

12 . A method of determining a device configuration of a client device, comprising:

distributing, by a server system, device characteristic capture applications associated with an application running on a plurality of client devices to the plurality of client devices;

collecting, by the server system, device characteristics of each client device using the device characteristic capture applications;

analyzing, by the server system, collected device characteristics to develop signatures including features categories based on device characteristics received from the plurality of client devices where each features category is associated with one or more features of the application running on the plurality of client devices and each feature having a feature level selected from a plurality of feature levels;

comparing, by the server system, signatures of client devices having an unknown device type to signatures of client devices having a known device type;

assigning, by the server system, configuration parameters from client devices of the known device type to client devices of the unknown device type that are most similar to the client devices of the known device type;

identifying one or more feature levels associated with the assigned configuration parameters for the client devices of the unknown device type; and

distributing, by the server system, configuration parameters of the feature levels identified for the client devices of the unknown device type for configuring features of the application running on the client devices of the unknown device type.

13 . The method of claim 12 , further comprising assigning a client device having the unknown device type into one of a plurality of features categories associated with one of the client devices having the known device type according to similarity of the collected device characteristics of the client device having the unknown device type to the device characteristics of the one of the client devices having the known device type.

14 . The method of claim 12 , wherein comparing signatures of client devices having the unknown device type to signatures of client devices having the known device type comprises:

generating a signature from the device characteristics of the client devices having the unknown device type; and

comparing the signature to signatures of the client devices having known device types,

wherein the device configuration parameters are assigned to the client devices having the unknown device type responsive to comparing the signatures.

15 . The method of claim 14 , wherein the signature is a multi-dimensional signature, further comprising identifying a closest match of the signature to signatures of the client devices having known device types in a multi-dimensional space.

16 . The method of claim 15 , wherein identifying the closest match comprises comparing the multi-dimensional signature with signatures of the client devices having known device types by applying fuzzy logic or principal component analysis.

17 . The method of claim 12 , wherein the device characteristics include two or more of central processing unit (CPU) model number, graphics processing unit (GPU) model number, cellular capability level, or application version of the application.

18 . The method of claim 12 , further comprising receiving a device type identifier and associated feature levels for each device of the unknown device type and distributing the feature levels to the devices of the unknown device type based on the device type identifier.

19 . The method of claim 18 , further comprising communicating feature levels using a configuration synchronization request/reply during device characteristics collection.

20 . A non-transitory processor-readable storage medium storing processor-executable instructions that, when executed by a processor of a machine, cause the machine to perform operations comprising:

distributing device characteristic capture applications associated with an application running on a plurality of client devices to the plurality of client devices;

collecting device characteristics of each client device using the device characteristic capture applications;

analyzing collected device characteristics to develop signatures including features categories based on device characteristics received from the plurality of client devices where each features category is associated with one or more features of the application running on the plurality of client devices and each feature having a feature level selected from a plurality of feature levels;

comparing signatures of client devices having an unknown device type to signatures of client devices having a known device type;

assigning configuration parameters from client devices of the known device type to client devices of the unknown device type that are most similar to the client devices of the known device type;

identifying one or more feature levels associated with the assigned configuration parameters for the client devices of the unknown device type; and

distributing configuration parameters of the feature levels identified for the client devices of the unknown device type for configuring features of the application running on the client devices of the unknown device type.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2024
From: CIESLAK, MICHAEL; YU, JIAYAO; CHEN, KAI; AZMOODEH, FARNAZ; MARR, MICHAEL DAVID; HUANG, JUN; FERDOWSI, ZAHRA
To: SNAP INC.
Reel/Frame 067723/0497 →
Continuity (3)
Continuation 17513556 · Oct 28, 2021
Continuation 16418135 · May 21, 2019
Related Publication 20240333593A1 · Oct 3, 2024
References Cited (49)
US 7346512B2 · Li-Chun et al. · 2008 [cited by applicant]
US 8224308B1 · Gavrylyako et al. · 2012 [cited by applicant]
US 8584114B2 · Rabinovich et al. · 2013 [cited by applicant]
US 10242193B1 · Babun et al. · 2019 [cited by applicant]
US 10868788B1 · Underwood et al. · 2020 [cited by applicant]
US 11240104B1 · Cieslak et al. · 2022 [cited by applicant]
US 11683236B1 · Cieslak et al. · 2023 [cited by applicant]
US 11853192B1 · Cieslak et al. · 2023 [cited by applicant]
US 12034599B2 · Cieslak et al. · 2024 [cited by applicant]
US 20020178241A1 · Eriksson · 2002 [cited by applicant]
US 20030046189A1 · Asayama · 2003 [cited by applicant]
US 20090119256A1 · Waters · 2009 [cited by examiner]
US 20100066983A1 · Jun et al. · 2010 [cited by applicant]
US 20110173247A1 · Hubbard et al. · 2011 [cited by applicant]
US 20120110174A1 · Wootton · 2012 [cited by examiner]
US 20130139263A1 · Beyah · 2013 [cited by examiner]
US 20130267255A1 · Liu et al. · 2013 [cited by applicant]
US 20150074656A1 · Eramian · 2015 [cited by applicant]
US 20150193651A1 · Gleim et al. · 2015 [cited by applicant]
US 20160062867A1 · Rodriguez et al. · 2016 [cited by applicant]
US 20160098561A1 · Keller · 2016 [cited by examiner]
US 20160173321A1 · Gukal et al. · 2016 [cited by applicant]
US 20160283853A1 · Lee et al. · 2016 [cited by applicant]
US 20160321594A1 · Linde et al. · 2016 [cited by applicant]
US 20170118510A1 · Stathacopoulos et al. · 2017 [cited by applicant]
US 20170206707A1 · Guay · 2017 [cited by examiner]
US 20170250879A1 · Chadha et al. · 2017 [cited by applicant]
US 20170261949A1 · Hoffmann et al. · 2017 [cited by applicant]
US 20170288965A1 · Cebere · 2017 [cited by applicant]
US 20170317905A1 · Schimmelpfeng et al. · 2017 [cited by applicant]
US 20180032418A1 · Wang et al. · 2018 [cited by applicant]
US 20180191593A1 · Knijf et al. · 2018 [cited by applicant]
US 20180350015A1 · Gordon et al. · 2018 [cited by applicant]
US 20180367560A1 · Mahaffey et al. · 2018 [cited by applicant]
US 20190020659A1 · Loni et al. · 2019 [cited by applicant]
US 20190042303A1 · Chen et al. · 2019 [cited by applicant]
US 20190096280A1 · Saunders et al. · 2019 [cited by applicant]
US 20190114417A1 · Subbarayan et al. · 2019 [cited by applicant]
US 20190215227A1 · Bonanni et al. · 2019 [cited by applicant]
US 20190230474A1 · Lanes et al. · 2019 [cited by applicant]
US 20200067777A1 · Tandel et al. · 2020 [cited by applicant]
US 20200067919A1 · Patwardhan et al. · 2020 [cited by applicant]
US 20200118039A1 · Kocberber et al. · 2020 [cited by applicant]
US 20220052918A1 · Cieslak et al. · 2022 [cited by applicant]
“On Using Pattern Matching Algorithms in MapReduce Applications”, IEEE (Year: 2011). [cited by examiner]
J.A. Mathew et al., “Analysis and Development of Java Grande Benchmarks,” 1999, ACM, 72-80 (Year: 1999). [cited by applicant]
Rizvandi et al. “On Using Pattern Matching Algorithms in MapReduce Applications”, 2011, IEEE (Year: 2011). [cited by applicant]
Unpublished U.S. Appl. No. 16/382,365 to Cieslak et al. filed Apr. 12, 2019 entitled Benchmarking to Infer Configuration of Similar Devices. [cited by applicant]
Unpublished U.S. Appl. No. 16/385,305 to Cieslak et al. filed Apr. 16, 2019 entitled Network Device Performance Metrics Determination. [cited by applicant]