IP Library Granted Patent US 12711248
Granted Patent B2
US 12711248 · App. 18/665,043 · Granted Aug 18, 2026

Distributed user data management systems with local data storage

Inventors: Jethro Gideon Beekman (Eindhoven, NL); Pieter Davy Johan Agten (Hechtel-Eksel, BE)
Assignee: Fortanix, Inc.
G06F21/602G06F2221/2111G06F2221/2117
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12711248
App. No.
18/665,043
Granted
Aug 18, 2026
Kind
B2
Abstract

A request to enroll a first user in a distributed user data management system is received by a processing device of a first user data management server. The request comprises an identifier of the first user. The first server is associated with a first region. An anonymous representation of the first user is determined based at least on the identifier and a one-way function. A mapping of the anonymous representation to the first region is stored in a first mapping store of the first server. An indication to synchronize the first mapping store with a second mapping store of a second user data management server is received from the second server. The indication comprises a mapping of an anonymous representation of the second user to a second region. The mapping of the anonymous representation to the second region is added to the first mapping store to synchronize the mapping stores.

Claims (68)

1 . A method comprising:

receiving, by a processing device of a first user data management server of a distributed user data management system, a request to enroll a first user in the distributed user data management system, wherein the request comprises an identifier of the first user, and wherein the first user data management server is associated with a first region of the distributed user data management system;

determining an anonymous representation of the first user based at least on the identifier of the first user and a one-way function;

storing, in a first mapping store of the first user data management server, a mapping of the anonymous representation of the first user to the first region;

receiving, from a second user data management server of the distributed user data management system, an indication to synchronize the first mapping store with a second mapping store of the second user data management server, the indication comprising a mapping of an anonymous representation of a second user to a second region of the distributed user data management system;

receiving, at the first user data management server, a second request directed to data of the second user, wherein the second request comprises an identifier of the second user, and wherein the data of the second user is stored at the second user data management server in accordance with a data use policy associated with the second region; and

synchronizing the first mapping store with the second mapping store by adding, to the first mapping store, the mapping of the anonymous representation of the second user to the second region of the distributed user data management system.

2 . The method of claim 1 , wherein determining the anonymous representation of the first user comprises:

combining the identifier of the first user with a salt value;

generating a first hash output of a cryptographic hash function using the combined identifier of the first user and salt value as input to the cryptographic hash function; and

generating a second hash output of the cryptographic hash function using the first hash output as input to the cryptographic hash function.

3 . The method of claim 1 , wherein the request to enroll the first user further comprises an indication that the first user is associated with the first region.

4 . The method of claim 1 , further comprising:

identifying the second user data management server based at least on the identifier of the second user, the one-way function, and the first mapping store, wherein the second user data management server is associated with the second region;

providing, to the second user data management server, a third request directed to the data of the second user, wherein the third request comprises an identifier associated with the first region; and

receiving a determination of the second user data management server indicating that the third request is to be fulfilled based at least on the data use policy associated with the second region and the identifier associated with the first region.

5 . The method of claim 4 , wherein identifying the second user data management server comprises:

determining the anonymous representation of the second user based on the identifier of the second user and the one-way function; and

identifying the second region based on the anonymous representation of the second user and the mapping of the anonymous representation of the second user to the second region added to the first mapping store.

6 . The method of claim 4 , wherein the determination of the second user data management server comprises at least one of: the data of the second user, a transaction completion message indicating that a transaction with the data of the second user was completed in the second region, or the data use policy associated with the second region.

7 . The method of claim 4 , wherein the data of the second user is associated with a first data sensitivity level, wherein the second request is further directed to second data of the second user associated with a second data sensitivity level, and wherein the method further comprises:

identifying a third user data management server based at least on the identifier of the second user and the second data sensitivity level, wherein the third user data management server is associated with the second region and a third region, and wherein the second data of the second user is stored at the third user data management server;

providing, to the third user data management server, a fourth request directed to the second data of the second user, wherein the fourth request comprises the identifier associated with the first region; and

receiving a determination of the third user data management server indicating that the fourth request is to be fulfilled based at least on a second data use policy associated with the second and third regions.

8 . The method of claim 4 , wherein the second request is received from the second user, wherein the second user is located in the first region, wherein the third request further comprises an indication that the second request is received from the second user, and wherein the determination of the second user data management server is further based on the second request being received from the second user.

9 . A system comprising:

a memory device; and

a processing device coupled to the memory device, the processing device to perform operations comprising:

receiving, at a first user data management server of a distributed user data management system, a request to enroll a first user in the distributed user data management system, wherein the request comprises an identifier of the first user, and wherein the first user data management server is associated with a first region of the distributed user data management system;

determining an anonymous representation of the first user based at least on the identifier of the first user and a one-way function;

storing, in a first mapping store of the first user data management server, a mapping of the anonymous representation of the first user to the first region;

receiving, from a second user data management server of the distributed user data management system, an indication to synchronize the first mapping store with a second mapping store of the second user data management server, the indication comprising a mapping of an anonymous representation of a second user to a second region of the distributed user data management system;

receiving, at the first user data management server, a second request directed to data of the second user, wherein the second request comprises an identifier of the second user, and wherein the data of the second user is stored at the second user data management server in accordance with a data use policy associated with the second region; and

synchronizing the first mapping store with the second mapping store by adding, to the first mapping store, the mapping of the anonymous representation of the second user to the second region of the distributed user data management system.

10 . The system of claim 9 , wherein determining the anonymous representation of the first user comprises:

combining the identifier of the first user with a salt value;

generating a first hash output of a cryptographic hash function using the combined identifier of the first user and salt value as input to the cryptographic hash function; and

generating a second hash output of the cryptographic hash function using the first hash output as input to the cryptographic hash function.

11 . The system of claim 9 , wherein the request to enroll the first user further comprises an indication that the first user is associated with the first region.

12 . The system of claim 9 , the operations further comprising:

identifying the second user data management server based at least on the identifier of the second user, the one-way function, and the first mapping store, wherein the second user data management server is associated with the second region;

providing, to the second user data management server, a third request directed to the data of the second user, wherein the third request comprises an identifier associated with the first region; and

receiving a determination of the second user data management server indicating that the third request is to be fulfilled based at least on the data use policy associated with the second region and the identifier associated with the first region.

13 . The system of claim 12 , wherein identifying the second user data management server comprises:

determining the anonymous representation of the second user based on the identifier of the second user and the one-way function; and

identifying the second region based on the anonymous representation of the second user and the mapping of the anonymous representation of the second user to the second region added to the first mapping store.

14 . The system of claim 12 , wherein the determination of the second user data management server comprises at least one of: the data of the second user, a transaction completion message indicating that a transaction with the data of the second user was completed in the second region, or the data use policy associated with the second region.

15 . The system of claim 12 , wherein the data of the second user is associated with a first data sensitivity level, wherein the second request is further directed to second data of the second user associated with a second data sensitivity level, and wherein the operations further comprise:

identifying a third user data management server based at least on the identifier of the second user and the second data sensitivity level, wherein the third user data management server is associated with the second region and a third region, and wherein the second data of the second user is stored at the third user data management server;

providing, to the third user data management server, a fourth request directed to the second data of the second user, wherein the fourth request comprises the identifier associated with the first region; and

receiving a determination of the third user data management server indicating that the fourth request is to be fulfilled based at least on a second data use policy associated with the second and third regions.

16 . A non-transitory computer-readable medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

receiving, at a first user data management server of a distributed user data management system, a request to enroll a first user in the distributed user data management system, wherein the request comprises an identifier of the first user, and wherein the first user data management server is associated with a first region of the distributed user data management system;

determining an anonymous representation of the first user based at least on the identifier of the first user and a one-way function;

storing, in a first mapping store of the first user data management server, a mapping of the anonymous representation of the first user to the first region;

receiving, from a second user data management server of the distributed user data management system, an indication to synchronize the first mapping store with a second mapping store of the second user data management server, the indication comprising a mapping of an anonymous representation of a second user to a second region of the distributed user data management system;

receiving, at the first user data management server, a second request directed to data of the second user, wherein the second request comprises an identifier of the second user, and wherein the data of the second user is stored at the second user data management server in accordance with a data use policy associated with the second region; and

synchronizing the first mapping store with the second mapping store by adding, to the first mapping store, the mapping of the anonymous representation of the second user to the second region of the distributed user data management system.

17 . The non-transitory computer-readable medium of claim 16 , the operations further comprising:

receiving, at the first user data management server, a second request directed to data of the second user, wherein the second request comprises an identifier of the second user;

identifying the second user data management server based at least on the identifier of the second user, the one-way function, and the first mapping store, wherein the second user data management server is associated with the second region;

providing, to the second user data management server, a third request directed to the data of the second user, wherein the third request comprises an identifier associated with the first region; and

receiving a determination of the second user data management server indicating that the third request is to be fulfilled based at least on the data use policy associated with the second region and the identifier associated with the first region.

18 . The non-transitory computer-readable medium of claim 17 , wherein identifying the second user data management server comprises:

determining the anonymous representation of the second user based on the identifier of the second user and the one-way function; and

identifying the second region based on the anonymous representation of the second user and the mapping of the anonymous representation of the second user to the second region added to the first mapping store.

19 . The non-transitory computer-readable medium of claim 17 , wherein the determination of the second user data management server comprises at least one of: the data of the second user, a transaction completion message indicating that a transaction with the data of the second user was completed in the second region, or the data use policy associated with the second region.

20 . The non-transitory computer-readable medium of claim 17 , wherein the second request is received from the second user, wherein the second user is located in the first region, wherein the third request further comprises an indication that the second request is received from the second user, and wherein the determination of the second user data management server is further based on the second request being received from the second user.