# US 2018/0027045 A1 · Systems and methods for event aggregation to reduce network bandwidth and improve network and activity feed server efficiency

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0027045 A1
- Document ID: US20180027045A1
- Status: Published application
- Kind: A1
- Application number: 15/216,027
- Filed: 2016-07-21
- Published: 2018-01-25
- Earliest claimed: 2016-07-21
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: André Miguel Coelho de Oliveira RODRIGUES; Ilya GREBNOV; Sunay VAISHNAV; Samuel Lenz BANINA
- Web page: https://patentgrep.com/patent/US20180027045A1

## CPC

- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- G06F 3/14: Digital output to display device {; Cooperation and interconnection of the display device with other functional units}
- G06F 16/2453: Query optimisation
- G06F 16/2477: {Temporal data queries}
- H04L 67/52: specially adapted for the location of the user terminal
- H04L 67/62: Establishing a time schedule for servicing the requests
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A client device includes a processor and memory. An operating system and a client application are executed by the processor and memory. The client application is configured to determine first and second coordinated universal time (UTC) time intervals for a first non-UTC time interval associated with a first event type and a second non-UTC time interval associated with the first event type; generate a single request for the remote activity feed server to aggregate corresponding events during the first UTC time interval and the second UTC time interval; and send the single request via a network interface to the remote activity feed server.

## Claims

### Claim 1

A client device comprising:
a processor and memory;
an operating system executed by the processor and memory;
a network interface;
a client application that is executed by the processor and memory and that is configured to:
determine first and second coordinated universal time (UTC) time intervals for a first non-UTC time interval associated with a first event type and a second non-UTC time interval associated with the first event type;
generate a single request for the remote server to aggregate corresponding events during the first UTC time interval and the second UTC time interval; and
send the single request via the network interface to the remote server.

### Claim 2 (depends on 1)

The client device of claim 1, wherein the client application is further configured to receive a single response from the remote server corresponding to the single request.

### Claim 3 (depends on 1)

The client device of claim 1, wherein the client application generates the single request using hypertext transfer protocol.

### Claim 4 (depends on 1)

The client device of claim 1, wherein the client application determines the first UTC time interval and the second UTC time interval by:
sending a request to the operating system of the client device including the first non-UTC time interval of the first event type and the second non-UTC time interval of the first event type; and
receiving a response from the operating system of the client device.

### Claim 5 (depends on 1)

The client device of claim 1, wherein the first non-UTC time interval corresponds to a relative time period that is dependent upon a geographic location of the client device.

### Claim 6 (depends on 2)

The client device of claim 2, wherein the client application interprets the single response and updates an event summary screen of the client application based thereon.

### Claim 7 (depends on 2)

The client device of claim 2, wherein the client application interprets the single response and updates an event summary screen of the client application by updating a first count corresponding to the first non-UTC time interval of the first event type and updating a second count corresponding to the second non-UTC time interval of the first event type.

### Claim 8 (depends on 1)

The client device of claim 1, wherein the first non-UTC time interval overlaps the second non-UTC time interval.

### Claim 9 (depends on 1)

The client device of claim 1, wherein the first non-UTC time interval has a different duration than the second non-UTC time interval.

### Claim 10 (depends on 1)

The client device of claim 1, wherein the first non-UTC time interval does not overlap the second non-UTC time interval.

### Claim 11 (depends on 1)

The client device of claim 1, wherein the first non-UTC time interval has the same duration as the second non-UTC time interval.

### Claim 12

A server for aggregating events for remote client devices, comprising:
a processor and memory;
a network interface;
an event database;
an activity feed application that is executed by the processor and memory and that is configured to:
receive a single request from a client device via the network interface, wherein the single request includes a first coordinated universal time (UTC) time interval associated with a first event type and a second UTC time interval associated with the first event type;
aggregate corresponding events of the first event type in the event database for the client device during the first UTC interval and the second UTC interval; and
generate a single response to the client device.

### Claim 13 (depends on 12)

The server of claim 12, wherein the server is further configured to transmit the single response to the client device via the network interface.

### Claim 14 (depends on 12)

The server of claim 12, wherein the activity feed application generates the single request using hypertext transfer protocol.

### Claim 15

A server for aggregating events for remote client devices, comprising:
a processor and memory;
a network interface;
an event database;
an activity feed application that is executed by the processor and memory and that is configured to:
pre-aggregate events for a plurality of client devices by event type during time windows to generate pre-aggregated event counts;
receive a single request from one of the client devices via the network interface including a first coordinated universal time (UTC) time interval associated with a first event type and a second UTC time interval associated with the first event type;
generate a first count and a second count by aggregating corresponding pre-aggregated event counts during the first UTC interval for the first event type and the second UTC interval for the first event type, respectively; and
generate a single response for the client device including the first count and the second count.

### Claim 16 (depends on 15)

The server of claim 15, wherein the server is further configured to transmit the single response to the client device via the network interface.

### Claim 17 (depends on 15)

The server of claim 15, wherein the activity feed application generates the single request in hypertext transfer protocol.
