IP Library Granted Patent US 12683862
Granted Patent B1
US 12683862 · App. 17/941,948 · Granted Jul 14, 2026

Client manifest

Inventors: Johnathon Jamison (Fremont, CA); Phuoc Huynh (Sacramento, CA); Justin Sievenpiper (Folsom, CA); Travis Westbrook (Woodinville, WA); Zach Sperske (Los Angeles, CA)
Assignee: Workday, Inc.
H04L41/0853
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 12683862
App. No.
17/941,948
Granted
Jul 14, 2026
Kind
B1
Abstract

A client manifest identifier is received from a client device. One or more features to include in a response to the client device are determined based on a client manifest corresponding to the client manifest identifier. A feature of the one or more features is associated with a capability indicated by the client manifest. The response is provided to the client device. The response has a particular structure based on the one or more features.

Claims (49)

1 . A method, comprising:

receiving, by a server, a request from a client device, wherein the request comprises a client manifest identifier;

determining, by the server, a client manifest corresponding to the client manifest identifier;

obtaining, by the server, the client manifest from a manifest store, wherein the client manifest comprises (i) a list of one or more capabilities of the client device to run executable code and (ii) a first tag, wherein the list of the one or more capabilities of the client device comprises a first data type that the client device is capable of handling;

selecting, by the server, to at least one of include or exclude one or more features in a response to the client device based on the one or more capabilities of the client device listed in the client manifest and the first tag, wherein the selecting comprises (i) selecting to include one or more first features associated with the first data type in the response and (ii) selecting to include first data associated with the first tag in the response;

providing, by the server, the response to the client device, wherein the response is different than the client manifest, wherein the response has a particular structure tailored to the client device based on the selected included or excluded one or more features; and

after providing the response to the client device, updating the client manifest to an updated version of the client manifest in response to at least one of:

determining the response was erroneously executed by the client device,

determining a feature was erroneously executed by the client device, or

determining a capability of the one or more capabilities of the client device listed in the client manifest is associated with an erroneous feature that causes the client device to experience one or more errors.

2 . The method of claim 1 , wherein the client manifest identifier is a string.

3 . The method of claim 1 , wherein the client manifest identifier is a numerical value.

4 . The method of claim 1 , wherein the first data type that the client device is capable of handling comprises a new addition to a client/server data protocol.

5 . The method of claim 1 , wherein the first data selected to include in the response includes data associated with a user interface (UI) widget having the first tag.

6 . The method of claim 1 , further comprising receiving the updated version of the client manifest.

7 . The method of claim 6 , wherein the updated version of the client manifest includes one or more additional capabilities associated with the client device.

8 . The method of claim 6 , wherein the client manifest includes one or more tags associated with the client device, and wherein the updated version of the client manifest includes one or more additional tags associated with the client device.

9 . The method of claim 6 , wherein the updated version of the client manifest comprises an updated list that does not include at least one capability of the one or more capabilities of the client device listed in the client manifest.

10 . The method of claim 6 , wherein the client manifest includes one or more tags associated with the client device, and wherein the updated version of the client manifest does not include at least one tag of the one or more tags associated with the client device.

11 . The method of claim 6 , further comprising providing to the client device a new client manifest identifier corresponding to the updated version of the client manifest.

12 . A system, comprising:

a processor configured to:

receive a request from a client device, wherein the request comprises a client manifest identifier;

determine a client manifest corresponding to the client manifest identifier;

obtain the client manifest from a manifest store, wherein the client manifest comprises a list of one or more capabilities of the client device to run executable code;

select to at least one of include or exclude one or more features in a response to the client device based on the one or more capabilities of the client device listed in the client manifest;

provide the response to the client device, wherein the response is different than the client manifest, wherein the response has a particular structure tailored to the client device based on the selected included or excluded one or more features; and

after providing the response to the client device, update the client manifest to an updated version of the client manifest in response to at least one of:

determining the response was erroneously executed by the client device,

determining a feature was erroneously executed by the client device, or

determining a capability of the one or more capabilities of the client device listed in the client manifest is associated with an erroneous feature that causes the client device to experience one or more errors; and

a memory coupled to the processor and configured to provide the processor with instructions.

13 . The system of claim 12 , wherein the client manifest identifier is a string.

14 . A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving, by a server, a request from a client device, wherein the request comprises a client manifest identifier;

determining, by the server, a client manifest corresponding to the client manifest identifier;

obtaining, by the server, the client manifest from a manifest store, wherein the client manifest comprises a list of one or more capabilities of the client device to run executable code;

selecting, by the server, to at least one of include or exclude one or more features in a response to the client device based on the one or more capabilities of the client device listed in the client manifest;

providing, by the server, the response to the client device, wherein the response is different than the client manifest, wherein the response has a particular structure tailored to the client device based on the selected included or excluded one or more features; and

after providing the response to the client device, updating the client manifest to an updated version of the client manifest in response to at least one of:

determining the response was erroneously executed by the client device,

determining a feature was erroneously executed by the client device, or

determining a capability of the one or more capabilities of the client device listed in the client manifest is associated with an erroneous feature that causes the client device to experience one or more errors.

15 . The method of claim 1 , wherein selecting comprises comparing the one or more capabilities listed in the client manifest to a plurality of available features.

16 . The method of claim 1 , wherein a selected excluded feature of the one or more features is a current version the feature.

17 . The method of claim 1 , wherein a selected included feature of the one or more features is a previously known working version of the feature.

18 . The method of claim 1 , wherein the client manifest comprises at least one of a JSON file or a binary object file.

19 . The system of claim 12 , wherein the client manifest identifier is a numerical value.

20 . The system of claim 12 , wherein the response includes data associated with a user interface (UI) widget having a tag.