IP Library › Granted Patent US 11,609,841
Granted Patent B2
US 11,609,841 · App. 17/163,377 · Granted Mar 21, 2023

Systems and methods for testing models

Inventors: Rahul D. Sharnagat (Sunnyvale, CA); Sreenivasa Prasad Sista (Cupertino, CA); Min Xie (Santa Clara, CA)
Assignee: Walmart Apollo, LLC
G06F11/3684G06F11/3608
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 11,609,841
App. No.
17/163,377
Granted
Mar 21, 2023
Kind
B2
Abstract

This application relates to systems and methods for automatically generating experiments based on experiment requests routed to micro-services (model sub-components) using a prefix-based routing mechanism. In some examples, experiment requests may parsed to determine lower layer services (e.g., components) whose properties need to be changed for a model iteration. Prefixes in requests may be used to route the experiment requests and portions thereof to appropriate services or layers for configuration at the micro-service level. Routing tables at each higher layer may be utilized to determine the correct sub-layers to redirect a request and/or portion thereof. At micro-service level, each micro-service may store and use a configuration table to match a received parameter in a request with a property and its corresponding value for the experiment.

Claims (43)

1. A system comprising: a computing device comprising a user interface, a non-transitory computer readable medium storing instructions, and at least one processor communicatively coupled to the user interface and the non-transitory computer readable medium, wherein the at least one processor is configured to execute the instructions to:

receive an experiment request, the experiment request including a prefix of a pre-determined length;

determine a first service based, at least in part, on the prefix;

transmit a portion of the experiment request to the first service;

analyze, at the first service, the portion of the experiment request to determine a plurality of pairs of sub-prefixes and configuration parameters, each pair including a corresponding sub-prefix and a corresponding configuration parameter;

transmit each of the configuration parameters to a second service of a plurality of second services such that each of the configuration parameters is included in a respective pair of the plurality of pairs and is transmitted to a different second service based on a respective corresponding sub-prefix included in the respective pair, wherein each of the configuration parameters is associated with a configuration property and a value;

determine the configuration property and the value based at least in part on a model configuration table and a respective corresponding configuration parameter included in the respective pair; and

generate an experiment by modifying the plurality of second services based at least in part on the configuration parameters.

2. The system of claim 1 , wherein modifying the plurality of second services includes modifying the configuration property based on the value.

3. The system of claim 2 , wherein the modifying the configuration property based on the value includes changing a global value of the configuration property to the value.

4. The system of claim 3 , wherein the global value is one of a default value or a pre-experiment value of the configuration property.

5. The system of claim 1 , wherein the computing device is further configured to:

determine a corresponding configuration property and a corresponding value based at least in part on a configuration path corresponding to each of the configuration parameters; and

modify a corresponding second service based at least in part on the corresponding configuration property and the corresponding value.

6. The system of claim 1 , wherein the computing device is further configured to determine the plurality of second services by comparing corresponding one or more sub-prefixes to a routing table associated with the first service.

7. The system of claim 6 , wherein the routing table includes a plurality of suffixes, each suffix associated with a service, and a service location.

8. A method comprising:

receiving an experiment request, the experiment request including a prefix of a pre-determined length;

determining a first service based, at least in part, on the prefix;

transmitting a portion of the experiment request to the first service;

analyzing, at the first service, the portion of the experiment request to determine a plurality of pairs of sub-prefixes and configuration parameters, each pair including a corresponding sub-prefix and a corresponding configuration parameter;

transmitting each of the configuration parameters to a second service of a plurality of second services such that each of the configuration parameters is included in a respective pair of the plurality of pairs and is transmitted to a different second service based on a respective corresponding sub-prefix included in the respective pair, wherein each of the configuration parameters is associated with a configuration property and a value;

determining the configuration property and the value based at least in part on a model configuration table and a respective corresponding configuration parameter included in the respective pair; and

generating an experiment by modifying the plurality of second services based at least in part on the configuration parameters.

9. The method of claim 8 , wherein modifying the plurality of second services includes modifying the configuration property based on the value.

10. The method of claim 9 , wherein the modifying the configuration property based on the value includes changing a global value of the configuration property to the value.

11. The method of claim 10 , wherein the global value is one of a default value or a pre-experiment value of the configuration property.

12. The method of claim 8 , the method further comprising:

determining a corresponding configuration property and a corresponding value based at least in part on a configuration path corresponding to each of the configuration parameters; and

modifying a corresponding second service based at least in part on the corresponding configuration property and the corresponding value.

13. The method of claim 8 , the method further comprising determining the plurality of second services by comparing corresponding one or more sub-prefixes to a routing table associated with the first service.

14. The method of claim 13 , wherein the routing table includes a plurality of suffixes, each suffix associated with a service, and a service location.

15. A non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed by at least one processor, cause a computing device to perform operations comprising:

receiving an experiment request, the experiment request including a prefix of a pre-determined length;

determining a first service based, at least in part, on the prefix;

transmitting a portion of the experiment request to the first service;

analyzing, at the first service, the portion of the experiment request to determine a plurality of pairs of sub-prefixes and configuration parameters, each pair including a corresponding sub-prefix and a corresponding configuration parameter;

transmitting each of the configuration parameters to a second service of a plurality of second services such that each of the configuration parameters is included in a respective pair of the plurality of pairs and is transmitted to a different second service based on a respective corresponding sub-prefix included in the respective pair, wherein each of the configuration parameters is associated with a configuration property and a value;

determining the configuration property and the value based at least in part on a model configuration table and a respective corresponding configuration parameter included in the respective pair; and

generating an experiment by modifying the plurality of second services based at least in part on the configuration parameters.

16. The non-transitory computer readable medium of claim 15 , wherein modifying the plurality of second services includes modifying the configuration property based on the value.

17. The non-transitory computer readable medium of claim 15 , the instructions, when executed by the at least one processor further cause the computing device to perform operations that include determining the plurality of second services by comparing corresponding one or more sub-prefixes to a routing table associated with the first service.

18. The non-transitory computer readable medium of claim 17 , wherein the routing table includes a plurality of suffixes, each suffix associated with a service, and a service location.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2021
From: SHARNAGAT, RAHUL D.; SISTA, SREENIVASA PRASAD; XIE, MIN
To: WALMART APOLLO, LLC
Reel/Frame 055606/0543 →
Continuity (1)
Related Publication 20220245058A1 · Aug 4, 2022