IP Library Granted Patent US 12,192,205
Granted Patent B2
US 12,192,205 · App. 17/848,896 · Granted Jan 7, 2025

Utilizing probability data structures to improve access control of documents across geographic regions

Inventors: Charitha Herath Daskon Herath Mudiyanselage (Oslo, NO); Kaare Koehler Hoevik (Porsgrunn, NO); Åge Andre Kvalnes (Fetsund, NO); Tor Kreutzer (Tromsø, NO); Mohamed Azmil Macksood (Oslo, NO)
Assignee: Microsoft Technology Licensing, LLC
H04L63/101G06N7/01
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,192,205
App. No.
17/848,896
Filed
Jun 24, 2022
Granted
Jan 7, 2025
Kind
B2
Art Unit
2493
USPC
726/28
Abstract

The present disclosure relates to systems, methods, and computer-readable media for utilizing a content access authorization system to determine user access control efficiently and flexibly for digital documents that are stored in different geographic regions. For instance, the content access authorization system can convert sensitive user information for digital documents stored in a first geographic region into a probabilistic data structure that does not include user information and share the probabilistic data structure with a second geographic region. The content access authorization system can then utilize the probabilistic data structure to efficiently pre-filter user document access control for digital documents requested by a user in the second geographic region that are stored in the first geographic region, which significantly saves on latency and computing resource usage by reducing the number of document control access queries needed to be made to the first geographic region.

Claims (46)

1. A computer-implemented method of determining user access control information for digital documents comprising:

receiving a user request for a user in a first geographic region to access a digital document stored in a second geographic region;

determining, based on a shallow version of the digital document stored in the first geographic region, that a full version of the digital document is stored in the second geographic region;

determining whether the user has permission to access the full version of the digital document stored in the second geographic region by utilizing an access control probabilistic data structure that is stored in the first geographic region, wherein the access control probabilistic data structure removes user identities; and

granting or denying the user in the first geographic region access to the full version of the digital document stored in the second geographic region based on the determination from the access control probabilistic data structure.

2. The computer-implemented method of claim 1 , wherein:

determining whether the user has permission to access the full version of the digital document stored in the second geographic region comprises utilizing, within the first geographic region, the access control probabilistic data structure to determine that the user does not have permission to access the full version of the digital document stored in the second geographic region; and

granting or denying the user in the first geographic region access to the full version of the digital document stored in the second geographic region comprises denying the user in the first geographic region access to the full version of the digital document stored in the second geographic region based on determining that the user does not have permission to access the full version of the digital document stored in the second geographic region.

3. The computer-implemented method of claim 1 , wherein the second geographic region comprises a data handling standard that prevents a user identifier of the user from being stored outside of the second geographic region.

4. The computer-implemented method of claim 1 , further comprising utilizing the access control probabilistic data structure to determine that the user does not have permission to access the full version of the digital document stored in the second geographic region by:

encoding a user identifier for the user into a number that falls within a number range of the access control probabilistic data structure; and

determining that an entry in the access control probabilistic data structure corresponding to the number does not satisfy an access control threshold.

5. The computer-implemented method of claim 1 , wherein determining whether the user has permission to access the full version of the digital document stored in the second geographic region comprises utilizing, within the first geographic region, the access control probabilistic data structure to determine that the user satisfies an access control threshold.

6. The computer-implemented method of claim 5 , further comprising:

sending a query from the first geographic region to the second geographic region based on determining that the user satisfies an access control threshold with the access control probabilistic data structure in the first geographic region; and

receiving, from the second geographic region, an indication granting or denying the user in the first geographic region access to the full version of the digital document stored in the second geographic region.

7. The computer-implemented method of claim 6 , further comprising receiving, from the second geographic region and at the first geographic region, the access control probabilistic data structure, wherein the access control probabilistic data structure corresponds to permissions associated with the digital document, and wherein the access control probabilistic data structure does not include a user identifier of the user.

8. The computer-implemented method of claim 7 , wherein the second geographic region comprises an access control block associated with the digital document that includes the user identifier and corresponding user permission granting the user within the first geographic region access to the full version of the digital document stored in the second geographic region.

9. The computer-implemented method of claim 1 , wherein the access control probabilistic data structure comprises a bloom filter.

10. The computer-implemented method of claim 1 , wherein the access control probabilistic data structure comprises a cuckoo filter, a ribbon filter, or a xor filter.

11. The computer-implemented method of claim 1 , further comprising:

determining that the user belongs to a group; and

wherein determining whether the user has permission to access the full version of the digital document stored in the second geographic region comprises utilizing a label of the group with the access control probabilistic data structure to determine whether the user has permission to access the full version of the digital document stored in the second geographic region.

12. A computer-implemented method of determining user access control information for digital documents comprising:

receiving a user request for a user in a first geographic region to access a digital document stored in a second geographic region;

determining, based on a shallow version of the digital document stored in the first geographic region, that a full version of the digital document is stored in the second geographic region;

utilizing an access control probabilistic data structure that is stored in the first geographic region to determine that the user satisfies an access control threshold, wherein the access control probabilistic data structure removes user identities;

based on the determination that the user satisfies the access control threshold, sending a query from the first geographic region to the second geographic region for the user to access the full version of the digital document stored in the second geographic region;

receiving from the second geographic region, an indication denying the user in the first geographic region access to the full version of the digital document stored in the second geographic region; and

denying the user in the first geographic region access to the full version of the digital document stored in the second geographic region based on the indication received from the second geographic region.

13. The computer-implemented method of claim 12 , wherein the user request for the user in the first geographic region to access the full version of the digital document stored in the second geographic region comprises an access request query performed as a background process.

14. The computer-implemented method of claim 13 , wherein:

the background process comprises a plurality of access request queries requesting access to a plurality of digital documents stored in the second geographic region; and

one or more results of the plurality of access request queries are used to provide document insights to the user.

15. The computer-implemented method of claim 14 , wherein the plurality of access request queries corresponds to traversing a graph that comprises the plurality of digital documents.

16. The computer-implemented method of claim 13 , wherein the background process is an automation that is triggered based on a user visiting a webpage associated with the digital document.

17. The computer-implemented method of claim 12 , wherein the shallow version of the digital document stored in the first geographic region includes metadata of the digital document comprising activity data indicating modifications to the digital document performed in both the first geographic region and the second geographic region.

18. A system, comprising:

at least one processor; and

a non-transitory computer memory comprising instructions that, when executed by the at least one processor, cause the system to:

receive a user request for a user in a first geographic region to access a digital document stored in a second geographic region;

determining, based on a shallow version of the digital document stored in the first geographic region, that a full version of the digital document is stored in the second geographic region;

determining that the user does not have permission to access the full version of the digital document stored in the second geographic region by utilizing an access control probabilistic data structure that is stored in the first geographic region, wherein the access control probabilistic data structure removes user identities; and

denying the user in the first geographic region access to the full version of the digital document stored in the second geographic region based on the determination from the access control probabilistic data structure.

19. The system of claim 18 , wherein the access control probabilistic data structure comprises a bloom filter.

20. The system of claim 18 , wherein the user request for the user in the first geographic region to access the full version of the digital document stored in the second geographic region comprises an access request query performed as a background process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2022
From: DASKON HERATH MUDIYANSELAGE, CHARITHA HERATH; HOEVIK, KAARE KOEHLER; KVALNES, AGE ANDRE; KREUTZER, TOR; MACKSOOD, MOHAMED AZMIL
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060309/0718 →
Continuity (1)
Related Publication 20230421559A1 · Dec 28, 2023
References Cited (44)
US 8554753B1 · Bullock · 2013 [cited by examiner]
US 9189496B2 · Egnor · 2015 [cited by examiner]
US 9904602B1 · Auchmoody et al. · 2018 [cited by applicant]
US 9967236B1 · Ashley · 2018 [cited by examiner]
US 10051001B1 · Ashley · 2018 [cited by examiner]
US 10075510B2 · Reilly · 2018 [cited by examiner]
US 10084877B2 · Hipsh · 2018 [cited by examiner]
US 10223393B1 · Noble · 2019 [cited by examiner]
US 10298610B2 · Ashley et al. · 2019 [cited by applicant]
US 10536465B2 · Sommerfelt et al. · 2020 [cited by applicant]
US 10650003B1 · Rubin · 2020 [cited by examiner]
US 11216581B1 · Arikapudi · 2022 [cited by examiner]
US 11308123B2 · Acheson · 2022 [cited by examiner]
US 11403269B2 · Cheru · 2022 [cited by examiner]
US 11709845B2 · Solheim · 2023 [cited by examiner]
US 20060161966A1 · Nagampalli · 2006 [cited by examiner]
US 20110252033A1 · Narang · 2011 [cited by examiner]
US 20120078643A1 · Nagpal · 2012 [cited by examiner]
US 20130226837A1 · Lymberopoulos · 2013 [cited by examiner]
US 20130275765A1 · Lay · 2013 [cited by examiner]
US 20140156793A1 · Chan · 2014 [cited by examiner]
US 20150150075A1 · Vahlis · 2015 [cited by examiner]
US 20180205739A1 · Sommerfelt · 2018 [cited by examiner]
US 20190116238A1 · Bernard · 2019 [cited by examiner]
US 20190313224A1 · Yu · 2019 [cited by examiner]
US 20200195719A1 · Mehta · 2020 [cited by examiner]
US 20210344755A1 · Mehta · 2021 [cited by examiner]
US 20220027498A1 · Vandanapu · 2022 [cited by applicant]
US 20220277340A1 · Sheppard · 2022 [cited by examiner]
US 20220300630A1 · Singh · 2022 [cited by examiner]
US 20230034392A1 · Adavi · 2023 [cited by examiner]
US 20230102392A1 · Nomura · 2023 [cited by examiner]
US 20230143933A1 · Wang · 2023 [cited by examiner]
US 20230306109A1 · Lowenhardt · 2023 [cited by examiner]
CA 2997922A1 · 2017 [cited by examiner]
CN 103078926A · 2013 [cited by examiner]
CN 112562151A · 2021 [cited by applicant]
CN 112532598B · 2021 [cited by applicant]
EP 3876127A1 · 2021 [cited by examiner]
WO WO2023049644A1 · 2023 [cited by examiner]
Author Unknown, “Morton Filter-Based Security Mechanism for Healthcare System in Cloud Computing”, Healthcare, Publication Date: Nov. 15, 2021 (Year: 2021). [cited by examiner]
Authors: Jarkko Tolvanen, Tapio Suihko, Jaakko Lipasti, and N. Asokan, “Remote Storage for Mobile Devices”, 2006 IEEE, Manuscript received: Jun. 23, 2005. (Year: 2005). [cited by examiner]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US23/021626”, Mailed Date: Aug. 18, 2023, 15 Pages. [cited by applicant]
Anandam, et al., “Network Access Control Using Bloom Filters”, Retrieved from: https://courses.cs.washington.edu/courses/csep521/07wi/prj/parvez.pdf, Mar. 12, 2007, pp. 1-6. [cited by applicant]