US 12,321,763 B2
Adapting client application of feature phone based on experiment parameters
Diego Accame, San Francisco, CA (US); Abraham Lee, Belmont, CA (US); Yujie Wan, Mountain View, CA (US); Shriya Raghunathan, Redwood City, CA (US); Raymond Carino, San Francisco, CA (US); Feng Ji, Burlingame, CA (US); Shashwat Lal Das, San Francisco, CA (US); and Nickolas Westman, San Jose, CA (US)
Assigned to GOOGLE LLC, Mountain View, CA (US)
Filed by GOOGLE LLC, Mountain View, CA (US)
Filed on Dec. 18, 2023, as Appl. No. 18/543,936.
Application 18/543,936 is a continuation of application No. 17/552,921, filed on Dec. 16, 2021, granted, now 11,966,764.
Application 17/552,921 is a continuation of application No. 16/606,050, granted, now 11,216,292, issued on Jan. 4, 2022, previously published as PCT/US2019/048324, filed on Aug. 27, 2019.
Claims priority of provisional application 62/723,442, filed on Aug. 27, 2018.
Prior Publication US 2024/0118910 A1, Apr. 11, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/00 (2018.01); G06F 9/445 (2018.01); G06F 9/451 (2018.01); G06F 9/455 (2018.01); G10L 15/22 (2006.01); G10L 15/30 (2013.01)
CPC G06F 9/453 (2018.02) [G06F 9/44557 (2013.01); G06F 9/455 (2013.01); G10L 15/22 (2013.01); G10L 2015/228 (2013.01); G10L 15/30 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A client device comprising:
memory storing instructions;
one or more processors operable to execute the instructions to:
while a client application is executing in the foreground of an operating system of the client device, interface with a remote configuration server to fetch experiment parameters for the client application, wherein the fetched experiment parameters comprise:
one or more client flag values that, when committed, alter one or more aspects of the client application, and
one or more server tokens that, when committed, are incorporated in requests, by the client application to a remote server, to cause the remote server to generate responses that are tailored to the one or more server tokens;
write the fetched experiment parameters to local storage of the client device, wherein writing the fetched experiment parameters to the local storage queues the fetched experiment parameters for implementing as committed parameters in response to occurrence of a committing condition of the client application, without immediately implementing the fetched experiment parameters as the committed parameters;
detect an occurrence of the committing condition;
in response to detecting the occurrence of the committing condition:
commit the fetched experiment parameters as committed parameters of the client application;
subsequent to committing the fetched experiment parameters as committed parameters and when the client application is closed:
receive a request to open the client application;
in response to receiving the request, opening the client application, opening the client application including reading the one or more client flag values and the one or more server tokens of the committed parameters to in-memory cache for the client application, wherein reading the one or more client flag values to the in-memory cache causes the one or more aspects of the client application to be altered, and wherein reading the one or more server tokens to the in-memory cache causes the one or more server tokens to be included in a request, by the client application, to the remote server.