# US 10,481,960 B2 · Ingress and egress of data using callback notifications

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

- Number: US 10,481,960 B2
- Document ID: US10481960B2
- Status: Granted
- Kind: B2
- Application number: 15/343,815
- Filed: 2016-11-04
- Published: 2018-05-10
- Granted: 2019-11-19
- Earliest claimed: 2016-11-04
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Christopher L. Mullins; Henrik Frystyk Nielsen; John A. Taylor
- Web page: https://patentgrep.com/patent/US10481960B2

## CPC

- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 2209/541: Client-server
- G06F 2209/544: Remote
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Examples of the present disclosure describe systems and methods of data ingress and egress using callback notifications. In an example, a callback notification may be received. The notification may comprise one or more resources, which may be extracted. The extracted resources may be associated with resource identifiers. One or more inference rules from an inference ruleset may be applied to the extracted resources to generate any related inferred relationships. The resource identifiers and inferred relationships may be stored in an isolated collection. The content or structure of the isolated collection may satisfy a notification rule within a notification ruleset. The notification rule may be associated with a recipient. As a result of the determination, the recipient may receive a callback notification. In some examples, the callback notification may comprise a change notification or one or more resource identifiers, associated resources, or relationships from the isolated collection.

## Claims

### Claim 1

A computer-implemented method for updating an isolated collection based on received data, the method comprising:
receiving an event notification comprising event data associated with an event outside the isolated collection;
parsing the event data to generate an event resource based on the event data;
generating a resource identifier associated with the event resource;
accessing an inference ruleset associated with the isolated collection;
generating at least one inferred relationship for the event resource using the inference ruleset, wherein the at least one inferred relationship associates the event resource and one or more additional resources from the isolated collection; and
storing the generated event resource and the at least one inferred relationship in the isolated collection using the generated resource identifier, thereby incorporating the event into the isolated collection.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein generating the at least one inferred relationship further comprises:
accessing one or more pre-existing relationships in the isolated collection;
determining an update to at least one of the pre-existing relationships is required; and
in response to the determination, updating the at least one of the pre-existing relationships based on the inference ruleset and the event resource.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein generating the at least one inferred relationship further comprises:
accessing one or more pre-existing relationships or resource identifiers in the isolated collection;
determining, based on the inference ruleset, that the at least one inferred relationship will be generated; and
in response to the determination, generating at least one other inferred relationship based on the inference ruleset, the event resource, and the pre-existing relationships or resource identifiers.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein accessing the inference ruleset further comprises:
extracting one or more attributes from the event data; and
selecting the inference ruleset based on an association with the extracted attributes.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
analyzing one or more resource identifiers and relationships within the isolated collection to determine whether a notification rule has been satisfied; and
in response to determining that the notification rule has been satisfied, providing a notification to a recipient.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the recipient is identified by a recipient resource identifier associated with the notification rule.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the recipient resource identifier is associated with a resource comprising authentication information for a computer system.

### Claim 8 (depends on 6)

The computer-implemented method of claim 6, wherein the recipient resource identifier is associated with a resource comprising a uniform resource identifier and associated identity information, and wherein the computer-implemented method further comprises:
providing the notification using an application programming interface based on the uniform resource identifier and associated identity information.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the event data comprises an indication that the event data is associated with another isolated collection.

### Claim 10

A system comprising:
at least one processor; and
a memory storing instructions that when executed by the at least one processor perform a set of operations comprising:
receiving an event notification comprising event data associated with an event outside the isolated collection;
parsing the event data to generate an event resource based on the event data;
generating a resource identifier associated with the event resource;
accessing an inference ruleset associated with the isolated collection;
generating at least one inferred relationship for the event resource using the inference ruleset, wherein the at least one inferred relationship associates the event resource and one or more additional resources from the isolated collection; and
storing the generated event resource and the at least one inferred relationship in the isolated collection using the generated resource identifier, thereby incorporating the event into the isolated collection.

### Claim 11 (depends on 10)

The system of claim 10, wherein generating the at least one inferred relationship further comprises:
accessing one or more pre-existing relationships in the isolated collection;
determining an update to at least one of the pre-existing relationships is required; and
in response to the determination, updating the at least one of the pre-existing relationships based on the inference ruleset and the event resource.

### Claim 12 (depends on 10)

The system of claim 10, wherein generating the at least one inferred relationship further comprises:
accessing one or more pre-existing relationships or resource identifiers in the isolated collection;
determining, based on the inference ruleset, that the at least one inferred relationship will be generated; and
in response to the determination, generating at least one other inferred relationship based on the inference ruleset, the event resource, and the pre-existing relationships or resource identifiers.

### Claim 13 (depends on 10)

The system of claim 10, wherein accessing the inference ruleset further comprises:
extracting one or more attributes from the event data; and
selecting the inference ruleset based on an association with the extracted attributes.

### Claim 14 (depends on 10)

The system of claim 10, wherein the set of operations further comprises:
analyzing one or more resource identifiers and relationships within the isolated collection to determine whether a notification rule has been satisfied; and
in response to determining that the notification rule has been satisfied, providing a notification to a recipient.

### Claim 15 (depends on 14)

The system of claim 14, wherein the recipient is identified by a recipient resource identifier associated with the notification rule.

### Claim 16

A method for generating a notification based on an updated isolated collection, the method comprising:
receiving an event notification comprising event data associated with an event outside the isolated collection;
parsing the event data to generate an event resource based on the event data;
generating a resource identifier associated with the event resource;
generating at least one inferred relationship for the event resource using an inference ruleset, wherein the at least one inferred relationship associates the event resource and one or more additional resources from the isolated collection;
analyzing one or more resource identifiers and relationships within the isolated collection to determine whether a notification rule has been satisfied; and
in response to determining that the notification rule has been satisfied, providing a notification to a recipient.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
storing the generated event resource and the at least one inferred relationship in the isolated collection using the generated resource identifier, thereby incorporating the event into the isolated collection.

### Claim 18 (depends on 16)

The method of claim 16, wherein the recipient is identified by a recipient resource comprising a uniform resource identifier and associated identity information, and wherein the method further comprises:
providing the notification using an application programming interface based on the uniform resource identifier and associated identity information.

### Claim 19 (depends on 16)

The method of claim 16, wherein generating the at least one inferred relationship further comprises:
accessing one or more pre-existing relationships in the isolated collection;
determining an update to at least one of the pre-existing relationships is required; and
in response to the determination, updating the at least one of the pre-existing relationships based on the inference ruleset and the event resource.

### Claim 20 (depends on 16)

The method of claim 16, wherein generating the at least one inferred relationship further comprises:
accessing one or more pre-existing relationships or resource identifiers in the isolated collection;
determining, based on the inference ruleset, that the at least one inferred relationship will be generated; and
in response to the determination, generating at least one other inferred relationship based on the inference ruleset, the event resource, and the pre-existing relationships or resource identifiers.
