# US 12,182,296 B2 · Encrypted knowledge graph

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

- Number: US 12,182,296 B2
- Document ID: US12182296B2
- Status: Granted
- Kind: B2
- Application number: 17/806,067
- Filed: 2022-06-08
- Published: 2022-09-22
- Granted: 2024-12-31
- Earliest claimed: 2019-08-09
- Assignees: Kyndryl, Inc.
- Applicants: Kyndryl, Inc.
- Inventors: Tim Uwe Scheideler; Arjun Udupi Raghavendra; Matthias Seul
- Web page: https://patentgrep.com/patent/US12182296B2

## CPC

- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A computer-implemented method for managing access rights to a knowledge graph is provided. The method comprises splitting, for each user system, its respective portion of the knowledge graph into a plurality of knowledge subgraphs, encrypting each of the knowledge subgraphs, and generating a plurality of private summary graphs. The method also comprises maintaining a collaboration graph comprising one vertex per user system and edges representing collaborations between the users, mapping all private subgraphs of all user systems to one public summary graph, each vertex of the public summary graph comprises less data than the related vertex of the related private summary graphs and wherein none of the vertices of the summary graph comprises any encryption or decryption key, and granting access to a selected knowledge subgraph from a first user system to a second user system.

## Claims

### Claim 1

A computer-implemented method comprising:
splitting a respective portion of a knowledge graph into a plurality of knowledge subgraphs for respective user systems of a plurality of user systems;
encrypting respective ones of the knowledge subgraphs using an encryption key;
generating a plurality of private summary graphs comprising vertexes, wherein:
a private summary graph is generated for respective user systems; and
maintaining a collaboration graph representing collaborations between the plurality of user systems;
mapping the vertexes in the plurality of private summary graphs to a public summary graph such that the vertexes are identifiable in the public summary graph, the vertexes in the plurality of private summary graphs being associated with secure content that is inaccessible in the public summary graph; and
in response to mapping the plurality of private summary graphs of the plurality of user systems to the public summary graph, granting access to a selected knowledge subgraph from a first user system to a second user system by providing a decryption key relating to the selected knowledge subgraph from the first user system to the second user system.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the encrypting respective ones of the knowledge subgraphs using an encryption key includes encrypting the respective ones of the knowledge subgraphs using a private key of a public/private key pair.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the generating a plurality of private summary graphs includes generating a the plurality of private summary graphs using the plurality of knowledge subgraphs.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein each private summary graph comprises one vertex for each knowledge subgraph of the respective user system.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein each private summary graph comprises one vertex for each knowledge subgraph of the respective user system, and each vertex comprises a public/private key pair.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the maintaining a collaboration graph representing the collaborations between the plurality of user systems includes maintaining the collaboration graph comprising one vertex for each user system and edges representing the collaborations between the plurality of user systems.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the vertexes represent a reduced level of information in the public summary graph.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the method includes granting access to a selected knowledge subgraph from a first user system to a second user system by providing a decryption key relating to the selected knowledge subgraph from the first user system to the second user system.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the method includes granting access to a selected knowledge subgraph from a first user system to a second user system by providing a decryption key relating to the selected knowledge subgraph from the first user system to the second user system, wherein the method includes revoking access to the selected knowledge subgraph to the second user system by re-encrypting the selected knowledge subgraph with a second private key of a second key pair.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the method includes joining the collaboration graph by: creating an account for a new user system in the collaboration graph, wherein the new user system is represented by a new vertex, splitting content of a second knowledge graph into a plurality of second knowledge subgraphs, encrypting the plurality of second knowledge subgraphs, and uploading the plurality of second knowledge subgraphs to the knowledge graph.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, wherein the method includes granting access to a selected knowledge subgraph from a first user system to a second user system by providing a decryption key relating to the selected knowledge subgraph from the first user system to the second user system, wherein the method includes granting read access to a knowledge subgraph of a third user system to a fourth user system by providing a public portion of a public/private key pair of a vertex relating the knowledge graph.

### Claim 12 (depends on 11)

The computer-implemented method of claim 11, wherein the method includes adding edges between vertices of the knowledge subgraph of the third user system and the knowledge subgraph of the fourth user system by the fourth user system.

### Claim 13 (depends on 1)

The computer-implemented method of claim 1, wherein the method includes granting access to a selected knowledge subgraph from a first user system to a second user system by providing a decryption key relating to the selected knowledge subgraph from the first user system to the second user system, wherein the method includes granting write access to a knowledge subgraph of a third user system to a fourth user system by providing a public/private key pair of a vertex relating the knowledge graph to be granted access to from the third user system to the fourth user system; and enabling a rollback option for the third user system when the fourth user system has changed a vertex of a knowledge subgraph relating to the third user system.

### Claim 14 (depends on 1)

The computer-implemented method of claim 1, wherein the method includes enabling the plurality of user systems sharing access to the knowledge graph to perform the steps of splitting, encrypting, and generating.

### Claim 15

A system comprising:
a memory;
one or more processor in communication with the memory; and
program instructions executable by the one or more processor via the memory to perform a method comprising:
splitting a respective portion of a knowledge graph into a plurality of knowledge subgraphs for respective user systems of a plurality of user systems;
encrypting respective ones of the knowledge subgraphs using an encryption key;
generating a plurality of private summary graphs comprising vertexes, wherein:
a private summary graph is generated for respective user systems; and
maintaining a collaboration graph representing collaborations between the plurality of user systems;
mapping the vertexes in the plurality of private summary graphs to a public summary graph such that the vertexes are identifiable in the public summary graph, the vertexes in the plurality of private summary graphs being associated with secure content that is inaccessible in the public summary graph; and
in response to mapping the plurality of private summary graphs of the plurality of user systems to the public summary graph, granting access to a selected knowledge subgraph from a first user system to a second user system by providing a decryption key relating to the selected knowledge subgraph from the first user system to the second user system.

### Claim 16 (depends on 15)

The system of claim 15, wherein the generating a the plurality of private summary graphs includes generating a plurality of private summary graphs using the plurality of knowledge subgraphs.

### Claim 17 (depends on 15)

The system of claim 15, wherein each private summary graph comprises one vertex for each knowledge subgraph of the respective user system.

### Claim 18

A computer program product, the computer program product comprising one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions executable for performing a method comprising:
splitting a respective portion of a knowledge graph into a plurality of knowledge subgraphs for respective user systems of a plurality of user systems;
encrypting respective ones of the knowledge subgraphs using an encryption key;
generating a plurality of private summary graphs comprising vertexes, wherein:
a private summary graph is generated for respective user systems; and
maintaining a collaboration graph representing collaborations between the plurality of user systems;
mapping the vertexes in the plurality of private summary graphs to a public summary graph such that the vertexes are identifiable in the public summary graph, the vertexes in the plurality of private summary graphs being associated with secure content that is inaccessible in the public summary graph; and
in response to mapping the plurality of private summary graphs of the plurality of user systems to the public summary graph, granting access to a selected knowledge subgraph from a first user system to a second user system by providing a decryption key relating to the selected knowledge subgraph from the first user system to the second user system.
