IP Library Granted Patent US 12,386,930
Granted Patent B2
US 12,386,930 · App. 18/121,510 · Granted Aug 12, 2025

Identifier mapping techniques for cross node consistency

Inventors: Sandeep Kanyal (Bangalore, IN); Rajesh Kumar Jaiswal (Bangalore, IN)
Assignee: Rubrik, Inc.
G06F21/31G06F16/182
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,386,930
App. No.
18/121,510
Granted
Aug 12, 2025
Kind
B2
Abstract

Methods, systems, and devices for data management are described. A server hosted by a storage node within a cluster of a data management system (DMS) may receive a request to access a file stored in a distributed file system. The request may be associated with a security identifier (SID). The server may transmit an indication of the SID to a shared repository accessible to the cluster. Accordingly, the server may receive an indication of a mapping between the SID and one or both of a user identifier (UID) or a group identifier (GID) associated with the SID. The server may transmit an indication of the file and the UID/GID to the distributed file system, which may compare the UID/GID to a list of authorized identifiers for the file. If the UID/GID is on the list of authorized identifiers, the distributed file system may execute the request accordingly.

Claims (54)

1. A method for data management, comprising:

receiving, at a server hosted by a storage node within a cluster of storage nodes in a data management system (DMS), a request to access a file stored in a distributed file system of the DMS, wherein the request indicates a security identifier (SID) associated with the request;

transmitting, from the server to a shared repository that is accessible to the storage nodes within the cluster, an indication of the SID associated with the request;

receiving, at the server and from the shared repository, an indication of a mapping between the SID associated with the request and one or both of a user identifier (UID) or a group identifier (GID) associated with the SID;

transmitting, to the distributed file system, an indication of the file and one or both of the UID or the GID provided by the shared repository;

determining, by the distributed file system, whether to grant the request to access the file based at least in part on comparing the UID and the GID provided by the server to a set of identifiers stored at the distributed file system in association with the file; and

accessing, by the distributed file system, the file in accordance with the request based at least in part on determining that one or both of the UID or the GID is included in the set of identifiers stored at the distributed file system in association with the file.

2. The method of claim 1 , further comprising:

adding, to the shared repository, an entry that includes the mapping between the SID associated with the request and one or both of the UID or the GID associated with the SID in response to determining that the SID associated with the request is absent from other entries of the shared repository.

3. The method of claim 1 , further comprising:

retrieving, from the shared repository, an entry that includes the mapping between the SID associated with the request and one or both of the UID or the GID associated with the SID in response to determining that the SID associated with the request is present in the shared repository.

4. The method of claim 1 , further comprising:

providing, by the server hosted by the storage node, a server message block (SMB) share to a client associated with the SID, wherein the SMB share is used to ingest snappable data from the client or to expose snapshots of snappables to the client for restore and live mount operations.

5. The method of claim 1 , wherein accessing the file comprises:

returning, to a client associated with the SID, a read response that includes data from the file stored within the distributed file system.

6. The method of claim 1 , wherein accessing the file comprises:

creating and storing the file at the distributed file system in accordance with the request, wherein the file is stored in association with the UID and the GID.

7. The method of claim 1 , wherein the SID associated with the request is obtained from a Common Internet File System (CIFS) session between the server and a client associated with the SID.

8. The method of claim 1 , wherein each node within the cluster hosts a respective Samba server that is operable to communicate with the distributed file system and the shared repository.

9. The method of claim 1 , wherein the mapping between the SID associated with the request and one or both of the UID or the GID associated with the SID is consistent across all the storage nodes within the cluster based at least in part on the shared repository being accessible to all the storage nodes within the cluster.

10. The method of claim 1 , wherein the mapping between the SID associated with the request and one or both of the UID or the GID associated with the SID is consistent across multiple clusters of storage nodes within the DMS based at least in part on the shared repository being accessible to all the storage nodes within the multiple clusters.

11. The method of claim 1 , wherein the shared repository is hosted by a central database system within the DMS.

12. The method of claim 1 , wherein:

the request is associated with a Common Internet File System (CIFS) client of the DMS; and

the server hosted by the storage node comprises a Samba server.

13. The method of claim 1 , wherein:

the SID associated with the request is associated with a Windows operating system; and

the UID and the GID associated with the SID are associated with a Linux operating system.

14. The method of claim 1 , wherein the distributed file system comprises a Linux or Unix-based file system.

15. An apparatus for data management, comprising:

a processor;

memory coupled with the processor; and

instructions stored in the memory and executable by the processor to cause the apparatus to:

receive, at a server hosted by a storage node within a cluster of storage nodes in a data management system (DMS), a request to access a file stored in a distributed file system of the DMS, wherein the request indicates a security identifier (SID) associated with the request;

transmit, from the server to a shared repository that is accessible to the storage nodes within the cluster, an indication of the SID associated with the request;

receive, at the server and from the shared repository, an indication of a mapping between the SID associated with the request and one or both of a user identifier (UID) or a group identifier (GID) associated with the SID;

transmit, to the distributed file system, an indication of the file and one or both of the UID or the GID provided by the shared repository;

determine, by the distributed file system, whether to grant the request to access the file based at least in part on comparing the UID and the GID provided by the server to a set of identifiers stored at the distributed file system in association with the file; and

access, by the distributed file system, the file in accordance with the request based at least in part on determining that one or both of the UID or the GID is included in the set of identifiers stored at the distributed file system in association with the file.

16. The apparatus of claim 15 , wherein the instructions are further executable by the processor to cause the apparatus to:

add, to the shared repository, an entry that includes the mapping between the SID associated with the request and one or both of the UID or the GID associated with the SID in response to determining that the SID associated with the request is absent from other entries of the shared repository.

17. The apparatus of claim 15 , wherein the instructions are further executable by the processor to cause the apparatus to:

retrieve, from the shared repository, an entry that includes the mapping between the SID associated with the request and one or both of the UID or the GID associated with the SID in response to determining that the SID associated with the request is present in the shared repository.

18. The apparatus of claim 15 , wherein the instructions are further executable by the processor to cause the apparatus to:

provide, by the server hosted by the storage node, a server message block (SMB) share to a client associated with the SID, wherein the SMB share is used to ingest snappable data from the client or to expose snapshots of snappables to the client for restore and live mount operations.

19. The apparatus of claim 15 , wherein, to access the file, the instructions are executable by the processor to cause the apparatus to:

return, to a client associated with the SID, a read response that includes data from the file stored within the distributed file system.

20. A non-transitory computer-readable medium storing code for data management, the code comprising instructions executable by a processor to:

receive, at a server hosted by a storage node within a cluster of storage nodes in a data management system (DMS), a request to access a file stored in a distributed file system of the DMS, wherein the request indicates a security identifier (SID) associated with the request;

transmit, from the server to a shared repository that is accessible to the storage nodes within the cluster, an indication of the SID associated with the request;

receive, at the server and from the shared repository, an indication of a mapping between the SID associated with the request and one or both of a user identifier (UID) or a group identifier (GID) associated with the SID;

transmit, to the distributed file system, an indication of the file and one or both of the UID or the GID provided by the shared repository;

determine, by the distributed file system, whether to grant the request to access the file based at least in part on comparing the UID and the GID provided by the server to a set of identifiers stored at the distributed file system in association with the file; and

access, by the distributed file system, the file in accordance with the request based at least in part on determining that one or both of the UID or the GID is included in the set of identifiers stored at the distributed file system in association with the file.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 64659/0236 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071566/0187 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2024
From: KANYAL, SANDEEP; JAISWAL, RAJESH KUMAR
To: RUBRIK, INC.
Reel/Frame 068358/0959 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Aug 21, 2023
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 064659/0236 →
Continuity (1)
Related Publication 20240311451A1 · Sep 19, 2024
References Cited (124)
US 6618394B1 · Hilleary · 2003 [cited by examiner]
US 8176012B1 · Rabii · 2012 [cited by examiner]
US 9043890B1 · Luo · 2015 [cited by examiner]
US 9069444B1 · Hansen · 2015 [cited by examiner]
US 9319379B1 · Burcham · 2016 [cited by examiner]
US 9438604B1 · Addala · 2016 [cited by examiner]
US 9780950B1 · Dundas · 2017 [cited by examiner]
US 9942200B1 · Tan · 2018 [cited by examiner]
US 10091290B1 · Hansen · 2018 [cited by examiner]
US 10153897B1 · Jezewski · 2018 [cited by examiner]
US 10229424B1 · Liu · 2019 [cited by examiner]
US 10248973B1 · Buller · 2019 [cited by examiner]
US 10299118B1 · Karachiwala · 2019 [cited by examiner]
US 10375563B1 · Bellam · 2019 [cited by examiner]
US 10657558B1 · Lindsay · 2020 [cited by examiner]
US 10715604B1 · Bao · 2020 [cited by examiner]
US 10735398B1 · Covati · 2020 [cited by examiner]
US 10783235B1 · Agarwal · 2020 [cited by examiner]
US 10952077B1 · Holt · 2021 [cited by examiner]
US 11115410B1 · Hanson · 2021 [cited by examiner]
US 11132126B1 · Chmiel · 2021 [cited by examiner]
US 11184765B2 · Suwirya · 2021 [cited by examiner]
US 11216581B1 · Arikapudi · 2022 [cited by examiner]
US 11233636B1 · Peddada · 2022 [cited by examiner]
US 11244067B1 · Child · 2022 [cited by examiner]
US 11694213B1 · Everly · 2023 [cited by examiner]
US 11714918B1 · Kondal · 2023 [cited by examiner]
US 11863530B1 · Sreekumar · 2024 [cited by examiner]
US 20020111988A1 · Sato · 2002 [cited by examiner]
US 20030101200A1 · Koyama · 2003 [cited by examiner]
US 20060190742A1 · Ebitani · 2006 [cited by examiner]
US 20080154903A1 · Crowley · 2008 [cited by examiner]
US 20090017805A1 · Sarukkai · 2009 [cited by examiner]
US 20090300364A1 · Schneider · 2009 [cited by examiner]
US 20110093941A1 · Liu · 2011 [cited by examiner]
US 20110184993A1 · Chawla · 2011 [cited by examiner]
US 20120198268A1 · Qureshi · 2012 [cited by examiner]
US 20120221694A1 · Darcy · 2012 [cited by examiner]
US 20130024925A1 · Venkataramani · 2013 [cited by examiner]
US 20130198857A1 · Maier · 2013 [cited by examiner]
US 20130275307A1 · Khan · 2013 [cited by examiner]
US 20130333003A1 · Roy · 2013 [cited by examiner]
US 20140032708A1 · Zamir · 2014 [cited by examiner]
US 20140082138A1 · Ogura · 2014 [cited by examiner]
US 20140143153A1 · Suzuki · 2014 [cited by examiner]
US 20140279519A1 · Mattes · 2014 [cited by examiner]
US 20140282818A1 · Singer · 2014 [cited by examiner]
US 20140325640A1 · Aggarwal · 2014 [cited by examiner]
US 20140364099A1 · Pai · 2014 [cited by examiner]
US 20150033292A1 · Nguyen · 2015 [cited by examiner]
US 20150067109A1 · Tang · 2015 [cited by examiner]
US 20150112864A1 · Wallaja · 2015 [cited by examiner]
US 20150135275A1 · Matsugashita · 2015 [cited by examiner]
US 20150236908A1 · Kim · 2015 [cited by examiner]
US 20150248706A1 · Mi · 2015 [cited by examiner]
US 20150271177A1 · Mun · 2015 [cited by examiner]
US 20150304806A1 · Vincent · 2015 [cited by examiner]
US 20160134619A1 · Mikheev · 2016 [cited by examiner]
US 20160140140A1 · Darcy · 2016 [cited by examiner]
US 20160219044A1 · Karunakaran · 2016 [cited by examiner]
US 20160366225A1 · Jin · 2016 [cited by examiner]
US 20170070497A1 · McCallum · 2017 [cited by examiner]
US 20170124105A1 · Kaushik · 2017 [cited by examiner]
US 20170250972A1 · Ronda · 2017 [cited by examiner]
US 20170251025A1 · Varley · 2017 [cited by examiner]
US 20170295174A1 · Kim · 2017 [cited by examiner]
US 20170310707A1 · Amelchenko · 2017 [cited by examiner]
US 20170322992A1 · Joseph · 2017 [cited by examiner]
US 20170324729A1 · Hon · 2017 [cited by examiner]
US 20180018336A1 · Zhang · 2018 [cited by examiner]
US 20180061155A1 · Ghorpade · 2018 [cited by examiner]
US 20180069966A1 · Laden · 2018 [cited by examiner]
US 20180218168A1 · Goel · 2018 [cited by examiner]
US 20180227290A1 · Yang · 2018 [cited by examiner]
US 20180227327A1 · Blackstein · 2018 [cited by examiner]
US 20180309742A1 · Kato · 2018 [cited by examiner]
US 20180349880A1 · Steele · 2018 [cited by examiner]
US 20180357432A1 · Tang · 2018 [cited by examiner]
US 20190019185A1 · Chitalia · 2019 [cited by examiner]
US 20190037527A1 · Griffin · 2019 [cited by examiner]
US 20190058919A1 · Cahill · 2019 [cited by examiner]
US 20190132613A1 · Jiao · 2019 [cited by examiner]
US 20190138653A1 · Roller · 2019 [cited by examiner]
US 20190260741A1 · Ashok · 2019 [cited by examiner]
US 20190304609A1 · Ishikawa · 2019 [cited by examiner]
US 20190342097A1 · Wisgo · 2019 [cited by examiner]
US 20190370406A1 · Bose · 2019 [cited by examiner]
US 20200036773A1 · Dar · 2020 [cited by examiner]
US 20200036802A1 · Bullock · 2020 [cited by examiner]
US 20200059703A1 · Sonare · 2020 [cited by examiner]
US 20200084633A1 · Soliman · 2020 [cited by examiner]
US 20200092282A1 · Childress · 2020 [cited by examiner]
US 20200264690A1 · Vasipalli · 2020 [cited by examiner]
US 20200279035A1 · Chang · 2020 [cited by examiner]
US 20200304441A1 · Bradley · 2020 [cited by examiner]
US 20200311708A1 · Bermudez · 2020 [cited by examiner]
US 20200382927A1 · Leduc · 2020 [cited by examiner]
US 20210058469A1 · Popelka · 2021 [cited by examiner]
US 20210109897A1 · Brechbuhl · 2021 [cited by examiner]
US 20210111875A1 · Le Saint · 2021 [cited by examiner]
US 20210234677A1 · Isenhour · 2021 [cited by examiner]
US 20210258401A1 · Sullivan · 2021 [cited by examiner]
US 20210273817A1 · Deriso · 2021 [cited by examiner]
US 20210279295A1 · Koneru · 2021 [cited by examiner]
US 20210334094A1 · Maartens · 2021 [cited by examiner]
US 20210344492A1 · Goodsitt · 2021 [cited by examiner]
US 20220014915A1 · Chauhan · 2022 [cited by examiner]
US 20220078255A1 · Kitabatake · 2022 [cited by examiner]
US 20220104105A1 · Raffa · 2022 [cited by examiner]
US 20220116385A1 · Hertrich · 2022 [cited by examiner]
US 20220122741A1 · Mody · 2022 [cited by examiner]
US 20220209954A1 · Na · 2022 [cited by examiner]
US 20220321638A1 · Li · 2022 [cited by examiner]
US 20220345298A1 · Cap · 2022 [cited by examiner]
US 20230164140A1 · Israeli · 2023 [cited by examiner]
US 20230169195A1 · Shah · 2023 [cited by examiner]
US 20230177184A1 · Sebesta · 2023 [cited by examiner]
US 20230179998A1 · McCracken, Jr. · 2023 [cited by examiner]
US 20230188528A1 · Arora · 2023 [cited by examiner]
US 20230230067A1 · Upadhye · 2023 [cited by examiner]
US 20230237170A1 · Thummala · 2023 [cited by examiner]
US 20240031371A1 · Batni · 2024 [cited by examiner]
US 20240078297A1 · Bhatia · 2024 [cited by examiner]
US 20240095779A1 · Maity · 2024 [cited by examiner]