# US 11,907,750 B2 · Rate limiting of cloud account change events and state management

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

- Number: US 11,907,750 B2
- Document ID: US11907750B2
- Status: Granted
- Kind: B2
- Application number: 17/988,356
- Filed: 2022-11-16
- Published: 2023-05-18
- Granted: 2024-02-20
- Earliest claimed: 2021-11-16
- Assignees: VMware, Inc.
- Applicants: VMware LLC
- Inventors: Ajay Shekar; Deep Pradeep Desai
- Web page: https://patentgrep.com/patent/US11907750B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Rate limiting of cloud account change events and state management is described herein. One embodiment includes instructions to process each of a first stream of change events received from a cloud provider and associated with any assets of a particular public cloud account, determine that the first stream of change events exceeds a rate threshold, discard each of a second stream of change events received from the public cloud provider and associated with any assets of the particular public cloud account, query the cloud provider to perform a collection on all the assets of the particular public cloud account after a particular delay period, and process each of a third stream of change events received from the cloud provider and associated with any assets of the particular public cloud account responsive to a completion of the collection.

## Claims

### Claim 1

A non-transitory machine-readable medium having instructions stored thereon which, when executed by a processor, cause the processor to:
process each of a first stream of change events received from a cloud provider and associated with any assets of a particular public cloud account;
determine that the first stream of change events exceeds a rate threshold;
discard each of a second stream of change events received from the public cloud provider and associated with any assets of the particular public cloud account;
query the cloud provider to perform a collection on all the assets of the particular public cloud account after a particular delay period; and
process each of a third stream of change events received from the cloud provider and associated with any assets of the particular public cloud account responsive to a completion of the collection.

### Claim 2 (depends on 1)

The medium of claim 1, wherein each change event is configured to trigger collection for a particular asset associated with the change event.

### Claim 3 (depends on 1)

The medium of claim 1, including instructions to perform a check for a flag associated with the particular public cloud account indicating that the first stream of change events exceeds the rate threshold.

### Claim 4 (depends on 3)

The medium of claim 3, including instructions to discard each of the second stream of change events received from the public cloud provider and associated with any assets of the particular public cloud account responsive to determining a presence of the flag.

### Claim 5 (depends on 3)

The medium of claim 3, including instructions to determine, for each change event of the first stream of change events, whether that change event causes the first stream of change events to exceed the rate threshold responsive to determining a lack of the flag.

### Claim 6 (depends on 5)

The medium of claim 5, including instructions to process a change event of the first stream of change events responsive to a determination that the change event does not cause the first stream of change events to exceed the rate threshold.

### Claim 7 (depends on 5)

The medium of claim 5, including instructions to associate the flag with the particular public cloud account indicating that the first stream of change events exceeds the rate threshold responsive to a determination that a change event of the first stream of change events causes the first stream of change events to exceed the rate threshold.

### Claim 8 (depends on 1)

The medium of claim 1, wherein the first stream of change events includes a plurality of event types, and wherein the instructions include instructions to:
determine that a particular one of the plurality of event types included in the first stream of change events exceeds the rate threshold;
discard each of a second stream of change events of the particular event type received from the public cloud provider and associated with the particular public cloud account;
query the cloud provider to perform the collection on all the assets of the particular public cloud account after the particular delay period; and
process each of the third stream of change events received from the cloud provider and associated with any assets of the particular public cloud account responsive to the completion of the collection, wherein the third stream of change events includes the plurality of event types.

### Claim 9 (depends on 1)

The medium of claim 1, wherein the instructions include instructions to:
process each of a first stream of change events received from the cloud provider and associated with any asset types of the particular public cloud account;
determine that change events corresponding to a particular asset type of the public cloud account included in the first stream of change events exceeds the rate threshold;
discard each of a second stream of change events of the particular asset type received from the public cloud provider and associated with the particular public cloud account;
query the cloud provider to perform the collection on all the assets of the particular public cloud account after the particular delay period; and
process each of a third stream of change events received from the cloud provider and associated with any asset types of the particular public cloud account responsive to a completion of the collection, wherein the third stream of change events includes the plurality of event types.

### Claim 10 (depends on 1)

The medium of claim 1, wherein the instructions include instructions to:
determine that change events corresponding to a particular asset of the public cloud account included in the first stream of change events exceeds the rate threshold;
discard each of a second stream of change events corresponding to the particular asset received from the public cloud provider and associated with the particular public cloud account;
query the cloud provider to perform the collection on all the assets of the particular public cloud account after the particular delay period; and
process each of the third stream of change events received from the cloud provider and associated with any assets of the particular public cloud account responsive to the completion of the collection.

### Claim 11

A method, comprising:
processing each of a first stream of change events received from a cloud provider and associated with any assets of a particular public cloud account, wherein the first stream of change events includes a plurality of event types;
determining that a particular one of the plurality of event types included in the first stream of change events exceeds a rate threshold;
discarding each of a second stream of change events of the particular event type received from the public cloud provider and associated with the particular public cloud account;
querying the cloud provider to perform a collection on all the assets of the particular public cloud account after a particular delay period; and
processing each of a third stream of change events received from the cloud provider and associated with any assets of the particular public cloud account responsive to a completion of the collection, wherein the third stream of change events includes the plurality of event types.

### Claim 12 (depends on 11)

The method of claim 11, wherein the method includes determining the particular delay period based on an expected reduction in a rate of received change events.

### Claim 13 (depends on 11)

The method of claim 11, wherein the collection on all the assets of the particular public cloud account includes a collection of a current state of all the assets of the particular public cloud account.

### Claim 14 (depends on 11)

The method of claim 11, wherein the method includes updating a graph model associated with the particular public cloud account subsequent to the performance of the collection.

### Claim 15

A system, comprising:
a first stream engine configured to process each of a first stream of change events received from a cloud provider and associated with any assets of a particular public cloud account;
a threshold engine configured to determine that the first stream of change events exceeds a rate threshold;
a discard engine configured to discard each of a second stream of change events received from the public cloud provider and associated with any assets of the particular public cloud account;
a collection engine configured to query the cloud provider to perform a collection on all the assets of the particular public cloud account after a particular delay period; and
a third stream engine configured to process each of a third stream of change events received from the cloud provider and associated with any assets of the particular public cloud account responsive to a completion of the collection.

### Claim 16 (depends on 15)

The system of claim 15, wherein the threshold engine is configured to perform a check for a flag associated with the particular public cloud account indicating that the first stream of change events exceeds the rate threshold.

### Claim 17 (depends on 16)

The system of claim 16, wherein the discard engine is configured to discard each of the second stream of change events received from the public cloud provider and associated with any assets of the particular public cloud account responsive to determining a presence of the flag.

### Claim 18 (depends on 16)

The system of claim 16, wherein the threshold engine is configured to determine, for each change event of the first stream of change events, whether that change event causes the first stream of change events to exceed the rate threshold responsive to determining a lack of the flag.

### Claim 19 (depends on 18)

The system of claim 18, wherein the first stream engine is configured to process a change event of the first stream of change events responsive to a determination that the change event does not cause the first stream of change events to exceed the rate threshold.

### Claim 20 (depends on 18)

The system of claim 18, wherein the threshold engine is configured to associate the flag with the particular public cloud account indicating that the first stream of change events exceeds the rate threshold responsive to a determination that a change event of the first stream of change events causes the first stream of change events to exceed the rate threshold.
