Reducing latency
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for reducing latency in network communications and data presentation. In one aspect, a user session is initiated in which data related to an account is presented to the user. A user group to which the given user has been assigned is identified. A first dataset related to the account is selected based on the user group. A second dataset related to the account is selected based on types of data previously requested by various other users in the user group. A user interface for the account is updated to present at least a portion of the first dataset. Latency in updating the user interface is reduced when presenting additional portions of the first dataset or the second dataset by providing, to the client device, the second dataset prior to receiving a request for the second dataset.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method performed by data processing apparatus, the method comprising:
authenticating a given user as an authorized user of a given online account based on data submitted through a given client device of the given user; initiating, for the given user and in response to the authenticating, a user session on the given client device in which account data is presented to the user, the account data being accessible by multiple different users each having different credentials that are used to access the account data; identifying a user group to which the given user is assigned based on (i) similarities between the given user's interactions with user interface elements presented in the user interface of the given online account during previous user sessions and other interactions of other users with the user interface elements and (ii) similarities between at least one type of the account data requested by the given user during the previous user sessions and at least one type of the account data requested by other users; selecting a first dataset from the account data that includes the first dataset and a second dataset based at least on (i) the types of the account data requested by the given user during the previous user sessions, (ii) user interface elements of the given online account with which the given user has interacted during the previous user sessions, and (iii) the user group to which the given user is assigned; selecting, based on types of the account data that were previously requested for presentation after the first dataset by various other users in the user group to which the user is assigned, the second dataset from the account data that includes the first dataset and the second dataset and that differs from the first dataset; updating a user interface for the given online account that is presented at the client device during the user session to present at least a portion of the first dataset in an initial account view for the given online account, the initial account view presenting multiple different types of the account data from the first dataset that are combined into a single presentation and that provide an overview of at least a portion of the first dataset; and reducing latency of a transition, during the user session at the given client device, from the initial account view to an updated account view that presents the second dataset during the user session including providing, to the given client device and while the initial account view is presented at the given client device, at least a portion of the second dataset that is displayed in the updated account view prior to receiving a request for the second dataset from the given client device, wherein the provided portion of the second dataset is cached at the given client device while the initial account view is presented and is not presented in the initial account view.
2 . The method of claim 1 , wherein the given user and the other users are assigned to the user group using a machine learning process that creates multiple user groups and assigns users to the multiple user groups.
3 . The method of claim 1 , wherein the given user is assigned to the user group based additionally on at least one of (i) a time range of account data requested by the given user in a previous user session, (ii) account data modified by the given user, or (iii) a frequency with which the given user accesses account data related to the given online account.
4 . The method of claim 1 , wherein at least a portion of the second dataset is selected based on at least one of (i) types of the account data requested by the given user in the previous user sessions, (ii) a time range of account data requested by the given user in a previous user session, or (iii) a geographic region from which the given user has requested account data in the previous user sessions.
5 . The method of claim 1 , wherein each of the multiple users is provided a different initial account view based on types of the account data requested by each of the multiple different users.
6 . The method of claim 1 , further comprising:
updating, for each given user session initiated for the given user, a user profile for the given user with data that specifies user interface elements with which the given user interacted during the given user session and types of the account data that the given users requested during the user session; and modifying the initial account view for the given user based on the updating.
7 . The method of claim 1 , further comprising:
determining to update the cache of second dataset at the given user device based on a data cost for updating the cache of the second dataset being less than a threshold cost; and providing, to the given user device, an updated second dataset in response to determining to update the cache of the second dataset.
8 . The method of claim 1 , further comprising:
identifying two or more campaigns of the given online account that have at least one same characteristic and at least one characteristic that differs for each of the two or more campaigns; and providing account data that presents account data of each of the two or more campaigns and in a manner that highlights the at least one characteristic of each of the two or more campaigns.
9 . A system, comprising:
a first front-end server, including one or more processors, that authenticates a given user as an authorized user of a given online account based on data submitted through a given client device of the given user; and
initiates, for the given user and in response to the authenticating, a user session on the given client device in which account data is presented to the user, the account data being accessible by multiple different users each having different credentials that are used to access the account data;
a data selector, including one or more processors, that identifies a user group to which the given user is assigned based on (i) similarities between the given user's interactions with user interface elements presented in the user interface of the given online account during previous user sessions and other interactions of other users with the user interface elements and (ii) similarities between at least one type of data requested by the given user during the previous user sessions and at least one type of data requested by other users;
selects a first dataset from the account data related to the given online account that includes the first dataset and a second dataset based at least on (i) the types of the account data requested by the given user during the previous user sessions, (ii) user interface elements of the given online account with which the given user has interacted during the previous user sessions, and (iii) the user group to which the given user is assigned; and
selects, based on types of the account data that were previously requested for presentation after the first dataset by various other users in the user group to which the user is assigned, the second dataset from the account data that includes the first dataset and the second dataset and that differs from the first data set;
a user interface generator, including one or more processors, that updates a user interface for the given online account that is presented at the client device during the user session to present at least a portion of the first dataset in an initial account view for the given online account, the initial account view presenting multiple different types of the account data from the first dataset that are combined into a single presentation and that provide an overview of at least a portion of the first dataset; and a second front-end server, including one or more processors, that reduces latency of a transition, during the user session at the given client device, from the initial account view to an updated account view that presents the second dataset during the user session including providing, to the given client device and while the initial account view is presented at the given client device, at least a portion of the second dataset that is displayed in the updated account view prior to receiving a request for the second dataset from the given client device, wherein the provided portion of the second dataset is cached at the second front-end server or the given client device while the initial account view is presented and is not presented in the initial account view.
10 . The system of claim 9 , wherein the given user and the other users are assigned to the user group using a machine learning process that creates multiple user groups and assigns users to the multiple user groups.
11 . The system of claim 9 , wherein the given user is assigned to the user group based additionally on at least one of (i) a time range of account data requested by the given user in a previous user session, (ii) account data modified by the given user, or (iii) a frequency with which the given user accesses account data related to the given online account.
12 . The system of claim 9 , wherein at least a portion of the second dataset is selected based on at least one of (i) types of the account data requested by the given user in the previous user sessions, (ii) a time range of the account data requested by the given user in a previous user session, or (iii) a geographic region from which the given user has requested account data related to the given online account in the previous user sessions.
13 . The system of claim 9 , wherein each of the multiple users is provided a different initial account view based on types of the account data requested by each of the multiple different users.
14 . The system of claim 9 , further comprising an interaction logger that updates, for each given user session initiated for the given user, a user profile for the given user with data that specifies user interface elements with which the given user interacted during the given user session and types of the account data that the given users requested during the user session, wherein the user interface generator modifies the initial account view for the given user based on the updating.
15 . The system of claim 9 , wherein the data selector:
determines to update the cache of second dataset at the given user device based on a data cost for updating the cache of the second dataset being less than a threshold cost; and provides, to the given user device, an updated second dataset in response to determining to update the cache of the second dataset.
16 . The system of claim 9 , further comprising a campaign grouper that identifies two or more campaigns of the given online account that have at least one same characteristic and at least one characteristic that differs for each of the two or more campaigns, wherein the user interface generator provides account data that presents account data of each of the two or more campaigns and in a manner that highlights the at least one characteristic of each of the two or more campaigns.
17 . A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more data processing apparatus cause the data processing apparatus to perform operations comprising:
authenticating a given user as an authorized user of a given online account based on data submitted through a given client device of the given user; initiating, for the given user and in response to the authenticating, a user session on the given client device in which account data is presented to the user, the account data being accessible by multiple different users each having different credentials that are used to access the account data; identifying a user group to which the given user is assigned based on (i) similarities between the given user's interactions with user interface elements presented in the user interface of the given online account during previous user sessions and other interactions of other users with the user interface elements and (ii) similarities between at least one type of data requested by the given user during the previous user sessions and at least one type of data requested by other users; selecting a first dataset from the account data that includes the first dataset and a second dataset based at least on (i) the types of the account data requested by the given user during the previous user sessions, (ii) user interface elements of the given online account with which the given user has interacted during the previous user sessions, and (iii) the user group to which the given user is assigned; selecting, based on types of the account data that were previously requested for presentation after the first dataset by various other users in the user group to which the user is assigned, the second dataset from the account data that includes the first dataset and the second dataset and that differs from the first dataset; updating a user interface for the given online account that is presented at the client device during the user session to present at least a portion of the first dataset in an initial account view for the given online account, the initial account view presenting multiple different types of the account data from the first dataset that are combined into a single presentation and that provide an overview of at least a portion of the first dataset; and reducing latency of a transition, during the user session at the given client device, from the initial account view to an updated account view that presents the second dataset during the user session including providing, to the given client device and while the initial account view is presented at the given client device, at least a portion of the second dataset that is displayed in the updated account view prior to receiving a request for the second dataset from the given client device, wherein the provided portion of the second dataset is cached at the given client device while the initial account view is presented and is not presented in the initial account view.
18 . The non-transitory computer storage medium of claim 17 , wherein the given user and the other users are assigned to the user group using a machine learning process that creates multiple user groups and assigns users to the multiple user groups.
19 . The non-transitory computer storage medium of claim 17 , wherein the given user is assigned to the user group based additionally on at least one of (i) a time range of data requested by the given user in a previous user session, (ii) account data modified by the given user, or (iii) a frequency with which the given user accesses account data related to the given online account.
20 . The non-transitory computer storage medium of claim 17 , wherein at least a portion of the second dataset is selected based on at least one of (i) types of the account data requested by the given user in the previous user sessions, (ii) a time range of account data requested by the given user in a previous user session, or (iii) a geographic region from which the given user has requested account data in the previous user sessions.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.