IP Library › Granted Patent US 12,743,538
Granted Patent B2
US 12,743,538 · App. 18/496,471 · Granted Sep 22, 2026

Systems and methods for scrambling cells of a data structure

Inventors: Radhika Ravindranath (South Plainfield, NJ); James Paul Black (Sunnyvale, CA); Jacques Mouton (Tampa, FL); Frankie Lamar, Jr. (New York, NY); Dev Narendrabhai Patel (Gujarat, IN); Benjamin Kaplan (Los Angeles, CA)
Assignee: Google LLC
G06F21/6227G06F21/45G06F2221/2113
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 12,743,538
App. No.
18/496,471
Granted
Sep 22, 2026
Kind
B2
Abstract

A method includes identifying, by a processing device, a data structure including cells to store data, wherein the cells are arranged within rows and columns of the initial data structure. A scrambled data structure is created in which at least a subset of cells of the initial data structure is rearranged such that each cell of the rearranged subset of cells is located in at least one of a different row or a different column of the initial data structure. Responsive to receiving a user request to access the data of the initial data structure, the processing device determines whether to provide the user with access to the initial data structure or the scrambled data structure.

Claims (28)

1 . A method comprising:

identifying an initial data structure storing data comprising a plurality of personal data records each associated with a corresponding unique personal identifier of a plurality of personal identifiers, wherein the initial data structure comprises a plurality of cells arranged within a plurality of rows and a plurality of columns of the initial data structure;

creating a scrambled data structure in which each of the plurality of personal data records is disassociated from the corresponding unique personal identifier by rearranging each personal data record to a different row than a row containing the corresponding unique personal identifier in the initial data structure, and wherein the rearranging further comprises rearranging at least a subset of cells of the plurality of cells of the initial data structure such that each cell of the at least a subset of cells is located in a different column of the plurality of columns of the initial data structure; and

responsive to receiving a user request of a user to access the data of the initial data structure, determining, based on a user privilege level of the user, whether to provide the user with access to the initial data structure or the scrambled data structure, wherein a different user privilege level is required to provide the user with access to the initial data structure than to provide the user with access to the scrambled data structure.

2 . The method of claim 1 , further comprising, providing the user with access to the initial data structure responsive to determining that the user privilege level is a first user privilege level.

3 . The method of claim 1 , further comprising, providing the user with access to the scrambled data structure responsive to determining that the user privilege level is a second user privilege level.

4 . The method of claim 1 , wherein the user privilege level is defined by an administrator of a system hosting the initial data structure.

5 . The method of claim 1 , wherein the scrambled data structure is stored in a memory in association with the initial data structure.

6 . The method of claim 1 , wherein the subset of cells of the initial data structure is determined by an administrator of a computer system associated with the initial data structure.

7 . The method of claim 1 , wherein the initial data structure corresponds to a table within a relational database.

8 . The method of claim 1 , wherein the subset of cells of the initial data structure is rearranged based on one of an irreversible cryptographic algorithm or a reversible cryptographic algorithm according to access controls corresponding to the user.

9 . A system comprising:

a memory device; and

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

identifying an initial data structure storing data comprising a plurality of personal data records each associated with a corresponding unique personal identifier of a plurality of personal identifiers, wherein the initial data structure comprises a plurality of cells arranged within a plurality of rows and a plurality of columns of the initial data structure;

creating a scrambled data structure in which each of the plurality of personal data records is disassociated from the corresponding unique personal identifier by rearranging each personal data record to a different row than a row containing the corresponding unique personal identifier in the initial data structure, and wherein the rearranging further comprises rearranging at least a subset of cells of the plurality of cells of the initial data structure such that each cell of the at least a subset of cells is located in a different column of the plurality of columns of the initial data structure; and

responsive to receiving a user request of a user to access the data of the initial data structure, determining, based on a user privilege level of the user, whether to provide the user with access to the initial data structure or the scrambled data structure, wherein a different user privilege level is required to provide the user with access to the initial data structure than to provide the user with access to the scrambled data structure.

10 . The system of claim 9 , the operations further comprising, providing the user with access to the initial data structure responsive to determining that the user privilege level is a first user privilege level.

11 . The system of claim 9 , the operations further comprising, providing the user with access to the scrambled data structure responsive to determining that the user privilege level is a second user privilege level.

12 . The system of claim 9 , wherein the user privilege level is defined by an administrator of a system hosting the initial data structure.

13 . The system of claim 9 , wherein the scrambled data structure is stored in a memory in association with the initial data structure.

14 . The system of claim 9 , wherein the subset of cells of the initial data structure is determined by an administrator of a computer system associated with the initial data structure.

15 . The system of claim 9 , wherein the initial data structure corresponds to a table within a relational database.

16 . The system of claim 9 , wherein the subset of cells of the initial data structure is rearranged based on one of an irreversible cryptographic algorithm or a reversible cryptographic algorithm according to access controls corresponding to the user.

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

identifying an initial data structure storing data comprising a plurality of personal data records each associated with a corresponding unique personal identifier of a plurality of personal identifiers, wherein the initial data structure comprises a plurality of cells arranged within a plurality of rows and a plurality of columns of the initial data structure;

creating a scrambled data structure in which each of the plurality of personal data records is disassociated from the corresponding unique personal identifier by rearranging each personal data record to a different row than a row containing the corresponding unique personal identifier in the initial data structure, and wherein the rearranging further comprises rearranging at least a subset of cells of the plurality of cells of the initial data structure such that each cell of the at least a subset of cells is located in a different column of the plurality of columns of the initial data structure; and

responsive to receiving a user request of a user to access the data of the initial data structure, determining, based on a user privilege level of the user, whether to provide the user with access to the initial data structure or the scrambled data structure, wherein a different user privilege level is required to provide the user with access to the initial data structure than to provide the user with access to the scrambled data structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2023
From: RAVINDRANATH, RADHIKA; BLACK, JAMES PAUL; MOUTON, JACQUES; LAMAR, FRANKIE, JR; PATEL, DEV NARENDRABHAI; KAPLAN, BENJAMIN
To: GOOGLE LLC
Reel/Frame 065404/0361 →
Continuity (1)
Related Publication 20250139277A1 · May 1, 2025
References Cited (30)
US 7743069B2 · Chitkara · 2010 [cited by examiner]
US 7797342B2 · Banks · 2010 [cited by examiner]
US 7809142B2 · Bohush · 2010 [cited by examiner]
US 8639947B2 · Elovici · 2014 [cited by examiner]
US 9069987B2 · Branish, II · 2015 [cited by examiner]
US 9514169B2 · Mattsson · 2016 [cited by examiner]
US 9720943B2 · Mattsson · 2017 [cited by examiner]
US 10055444B2 · Arora · 2018 [cited by examiner]
US 11316658B2 · Kurian · 2022 [cited by examiner]
US 11755560B2 · Arora · 2023 [cited by examiner]
US 12079360B2 · Aggarwal · 2024 [cited by examiner]
US 20060053112A1 · Chitkara · 2006 [cited by examiner]
US 20080033960A1 · Banks · 2008 [cited by examiner]
US 20080133935A1 · Elovici · 2008 [cited by examiner]
US 20080317242A1 · Bohush · 2008 [cited by examiner]
US 20120246696A1 · Boukobza · 2012 [cited by examiner]
US 20140101438A1 · Elovici · 2014 [cited by examiner]
US 20140380051A1 · Branish, II · 2014 [cited by examiner]
US 20150089574A1 · Mattsson · 2015 [cited by examiner]
US 20170053135A1 · Mattsson · 2017 [cited by examiner]
US 20170177888A1 · Arora · 2017 [cited by examiner]
US 20190034476A1 · Arora · 2019 [cited by examiner]
US 20200327244A1 · Blass · 2020 [cited by examiner]
US 20210019434A1 · Bibliowicz · 2021 [cited by examiner]
US 20220021516A1 · Kurian · 2022 [cited by examiner]
US 20220253464A1 · Sloane · 2022 [cited by examiner]
US 20220253545A1 · Sloane · 2022 [cited by examiner]
US 20230334039A1 · Arora · 2023 [cited by examiner]
US 20240005016A1 · Aggarwal · 2024 [cited by examiner]
Tieming Geng et al., Securing Relational Database Storage with Attribute Association Aware Shuffling 2019, IEEE Conference on Dependable and Secure Computing (DSC), Hangzhou, China, pp. 1-8, doi: 10.1109/DSC47296.2019.8… [cited by examiner]