IP Library Granted Patent US 12,585,805
Granted Patent B2
US 12,585,805 · App. 17/381,883 · Granted Mar 24, 2026

Identifying and resolving conflicts in access permissions during migration of data and user accounts

Inventors: Catherine Powell (Boston, MA); Joseph Daniel Powell (Boston, MA); Kevin Day (Shelburne Falls, MA); Bruce Duncan (Walkersville, MD)
Assignee: Box, Inc.
G06F21/6218G06F16/214G06F16/2246
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,585,805
App. No.
17/381,883
Granted
Mar 24, 2026
Kind
B2
Abstract

Embodiments provide for identifying and resolving conflicts in access permissions migrated data by receiving a set of mappings including path mappings of a hierarchy of data objects on the source system to locations on the target system for migrated data objects. Based on the received set of mappings, permissions controlling access to data objects of the hierarchy of data objects on the source system can be translated to permissions controlling access to the migrated data objects on the target system for one or more user accounts on the target system. One or more conflicts can be detected between permissions on the source system and permissions on the target system. A conflict resolution strategy can be selected from a plurality of conflict resolution strategies and the selected conflict resolution strategy can be applied to the permissions controlling access to the migrated data objects on the target system.

Claims (52)

1 . A method for identifying and resolving conflicts in access permissions during migration of data and user accounts from a source system to a target system, the method comprising:

receiving, by a migration control system, a set of mappings, the set of mappings comprising path mappings of a hierarchy of data objects on the source system to locations on the target system for migrated data objects and subject mappings of user accounts on the source system to user accounts on the target system, wherein the migration of data and user accounts comprises migrating the data objects from the source system to the target system and migrating existing user accounts on the source system to new user accounts on the target system;

translating, by the migration control system, based on the received set of mapping, permissions controlling access to the data objects of the hierarchy of data objects on the source system to permissions controlling access to the migrated data objects on the target system for one or more user accounts on the target system;

detecting, by the migration control system, one or more conflicts between the permissions controlling access to the data objects of the hierarchy of data objects on the source system and the permissions controlling access to the migrated data objects on the target system for at least one user account of the one or more user accounts;

selecting, by the migration control system, a conflict resolution strategy from a plurality of conflict resolution strategies, wherein the conflict resolution strategy comprises one of a warn-and-skip conflict resolution strategy, an expansive conflict resolution strategy, or a restrictive conflict resolution strategy; and

applying, by the migration control system, the selected conflict resolution strategy to the permissions controlling access to the migrated data objects on the target system for the at least one user account, wherein applying the expansive conflict resolution strategy comprises identifying permissions for a parent data object of the data object on the source system for which the conflict has been detected at a level of the hierarchy of data objects of the source system above the data object on the source system for which the conflict has been detected, removing permissions for the migrated data for which the conflict has been detected on the target system, and allowing inheritance of the identified permissions for the parent data object by each child data object on the target system for which the conflict has been detected.

2 . The method of claim 1 , wherein applying the warn-and-skip conflict resolution strategy comprises presenting an indication of the data or the user account on the source system for which a conflict has been detected.

3 . The method of claim 1 , wherein applying the restrictive conflict resolution strategy comprises:

identifying the parent data object of the data object on the source system for which the conflict has been detected;

determining whether the identified parent data object explicitly defines permissions or is a root level of the hierarchy; and

in response to determining the identified parent data object defines permissions or is the root level of the hierarchy, removing permissions for the at least one user account from the identified parent data object, adding the parent data object to a reprocessing list, identifying a child data object for the identified parent data object at a lower level of the hierarchy than the identified parent data object, and removing permissions from the identified child data object.

4 . The method of claim 3 , wherein applying the restrictive conflict resolution strategy further comprises:

determining whether additional conflicts exist;

determining whether any paths have been added to the reprocessing list;

determining whether an iteration limit for the restrictive conflict resolution strategy has been reached; and

in response to determining additional conflicts exist, determining paths have been added to the reprocessing list, and determining the iteration limit for the restrictive conflict resolution strategy has not been reached, repeating one or more conflicts between the permissions controlling access to the data objects of the hierarchy of data objects on the source system and the permissions controlling access to the migrated data objects on the target system for at least one user account of the one or more user accounts and applying the selected conflict resolution strategy to the permissions controlling access to the migrated data objects on the target system for the at least one user account until determining no paths remain on the reprocessing list or determining the iteration limit for the restrictive conflict resolution strategy has been reached.

5 . The method of claim 1 , wherein the source system comprises one of a cloud-based system or an on-premise system and the target system comprises a cloud-based system.

6 . A system comprising:

a processor; and

a memory coupled with and readable by the processor and storing therein a set of instructions which, when executed by the processor, causes the processor to identify and resolve conflicts in access permissions during migration of data and user accounts from a source system to a target system by:

receiving a set of mappings, the set of mappings comprising path mappings of a hierarchy of data objects on the source system to locations on the target system for migrated data objects and subject mappings of user accounts on the source system to user accounts on the target system, wherein the migration of data and user accounts comprises migrating the data objects from the source system to the target system and migrating existing user accounts on the source system to new user accounts on the target system;

translating based on the received set of mapping, permissions controlling access to the data objects of the hierarchy of data objects on the source system to permissions controlling access to the migrated data objects on the target system for one or more user accounts on the target system;

detecting one or more conflicts between the permissions controlling access to the data objects of the hierarchy of data objects on the source system and the permissions controlling access to the migrated data objects on the target system for at least one user account of the one or more user accounts;

selecting a conflict resolution strategy from a plurality of conflict resolution strategies, wherein the conflict resolution strategy comprises one of a warn-and-skip conflict resolution strategy, an expansive conflict resolution strategy, or a restrictive conflict resolution strategy; and

applying the selected conflict resolution strategy to the permissions controlling access to the migrated data objects on the target system for the at least one user account, wherein applying the expansive conflict resolution strategy comprises identifying permissions for a parent data object of the data object on the source system for which the conflict has been detected at a level of the hierarchy of data objects of the source system above the data object on the source system for which the conflict has been detected, removing permissions for the migrated data for which the conflict has been detected on the target system, and allowing inheritance of the identified permissions for the parent data object by each child data object on the target system for which the conflict has been detected.

7 . The system of claim 6 , wherein applying the warn-and-skip conflict resolution strategy comprises presenting an indication of the data or the user account on the source system for which a conflict has been detected.

8 . The system of claim 6 , wherein applying the restrictive conflict resolution strategy comprises:

identifying the parent data object of the data object on the source system for which the conflict has been detected;

determining whether the identified parent data object explicitly defines permissions or is a root level of the hierarchy; and

in response to determining the identified parent data object defines permissions or is the root level of the hierarchy, removing permissions for the at least one user account from the identified parent data object, adding the parent data object to a reprocessing list, identifying a child data object for the identified parent data object at a lower level of the hierarchy than the identified parent data object, and removing permissions from the identified child data object.

9 . The system of claim 8 , wherein applying the restrictive conflict resolution strategy further comprises:

determining whether additional conflicts exist;

determining whether any paths have been added to the reprocessing list;

determining whether an iteration limit for the restrictive conflict resolution strategy has been reached; and

in response to determining additional conflicts exist, determining paths have been added to the reprocessing list, and determining the iteration limit for the restrictive conflict resolution strategy has not been reached, repeating one or more conflicts between the permissions controlling access to the data objects of the hierarchy of data objects on the source system and the permissions controlling access to the migrated data objects on the target system for at least one user account of the one or more user accounts and applying the selected conflict resolution strategy to the permissions controlling access to the migrated data objects on the target system for the at least one user account until determining no paths remain on the reprocessing list or determining the iteration limit for the restrictive conflict resolution strategy has been reached.

10 . The system of claim 6 , wherein the source system comprises one of a cloud-based system or an on-premise system and the target system comprises a cloud-based system.

11 . A non-transitory, computer-readable medium comprising a set of instructions stored therein which, when executed by a processor, causes the processor to identify and resolve conflicts in access permissions during migration of data and user accounts from a source system to a target system by:

receiving a set of mappings, the set of mappings comprising path mappings of a hierarchy of data objects on the source system to locations on the target system for migrated data objects and subject mappings of user accounts on the source system to user accounts on the target system, wherein the migration of data and user accounts comprises migrating the data objects from the source system to the target system and migrating existing user accounts on the source system to new user accounts on the target system;

translating based on the received set of mapping, permissions controlling access to the data objects of the hierarchy of data objects on the source system to permissions controlling access to the migrated data objects on the target system for one or more user accounts on the target system;

detecting one or more conflicts between the permissions controlling access to the data objects of the hierarchy of data objects on the source system and the permissions controlling access to the migrated data objects on the target system for at least one user account of the one or more user accounts;

selecting a conflict resolution strategy from a plurality of conflict resolution strategies, wherein the conflict resolution strategy comprises one of a warn-and-skip conflict resolution strategy, an expansive conflict resolution strategy, or a restrictive conflict resolution strategy; and

applying the selected conflict resolution strategy to the permissions controlling access to the migrated data objects on the target system for the at least one user account, wherein applying the expansive conflict resolution strategy comprises identifying permissions for a parent data object of the data object on the source system for which the conflict has been detected at a level of the hierarchy of data objects of the source system above the data object on the source system for which the conflict has been detected, removing permissions for the migrated data for which the conflict has been detected on the target system, and allowing inheritance of the identified permissions for the parent data object by each child data object on the target system for which the conflict has been detected.

12 . The non-transitory, computer-readable medium of claim 11 , wherein applying the warn-and-skip conflict resolution strategy comprises presenting an indication of the data or the user account on the source system for which a conflict has been detected.

13 . The non-transitory, computer-readable medium of claim 11 , wherein applying the restrictive conflict resolution strategy comprises:

identifying the parent data object of the data object on the source system for which the conflict has been detected;

determining whether the identified parent data object explicitly defines permissions or is a root level of the hierarchy; and

in response to determining the identified parent data object defines permissions or is the root level of the hierarchy, removing permissions for the at least one user account from the identified parent data object, adding the parent data object to a reprocessing list, identifying a child data object for the identified parent data object at a lower level of the hierarchy than the identified parent data object, and removing permissions from the identified child data object.

14 . The non-transitory, computer-readable medium of claim 13 , wherein applying the restrictive conflict resolution strategy further comprises:

determining whether additional conflicts exist;

determining whether any paths have been added to the reprocessing list;

determining whether an iteration limit for the restrictive conflict resolution strategy has been reached; and

in response to determining additional conflicts exist, determining paths have been added to the reprocessing list, and determining the iteration limit for the restrictive conflict resolution strategy has not been reached, repeating one or more conflicts between the permissions controlling access to the data objects of the hierarchy of data objects on the source system and the permissions controlling access to the migrated data objects on the target system for at least one user account of the one or more user accounts and applying the selected conflict resolution strategy to the permissions controlling access to the migrated data objects on the target system for the at least one user account until determining no paths remain on the reprocessing list or determining the iteration limit for the restrictive conflict resolution strategy has been reached.

Assignments (2)
SECURITY INTEREST Recorded Jul 26, 2023
From: BOX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 064389/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2022
From: POWELL, CATHERINE; POWELL, JOSEPH DANIEL; DAY, KEVIN; DUNCAN, BRUCE
To: BOX, INC.
Reel/Frame 059284/0922 →
Continuity (1)
Related Publication 20230024602A1 · Jan 26, 2023
References Cited (26)
US 7529780B1 · Braginsky · 2009 [cited by examiner]
US 9153138B1 · Jewett · 2015 [cited by examiner]
US 10601876B1 · Levy · 2020 [cited by examiner]
US 11126618B1 · Padmanabhan · 2021 [cited by examiner]
US 11886611B1 · Fakhraie · 2024 [cited by examiner]
US 20100332820A1 · Matsushima · 2010 [cited by examiner]
US 20110016470A1 · Cain, III · 2011 [cited by examiner]
US 20120304247A1 · Badger · 2012 [cited by examiner]
US 20130042294A1 · Colvin · 2013 [cited by examiner]
US 20140156719A1 · Leggette · 2014 [cited by examiner]
US 20160057151A1 · Brock · 2016 [cited by examiner]
US 20160098573A1 · Yankovskiy · 2016 [cited by examiner]
US 20170093753A1 · Summers · 2017 [cited by examiner]
US 20170118244A1 · Bai · 2017 [cited by examiner]
US 20170177610A1 · Knotts · 2017 [cited by examiner]
US 20170371890A1 · Seker · 2017 [cited by examiner]
US 20200204556A1 · Smith · 2020 [cited by examiner]
US 20200364347A1 · Lewis · 2020 [cited by examiner]
US 20200387496A1 · Holmes · 2020 [cited by examiner]
US 20210056224A1 · Jaleel · 2021 [cited by examiner]
US 20210097083A1 · Harris · 2021 [cited by examiner]
US 20210117942A1 · Cottingham · 2021 [cited by examiner]
US 20210165759A1 · Bar-Nissan · 2021 [cited by examiner]
US 20210297432A1 · Hicks · 2021 [cited by examiner]
US 20220198038A1 · Passey · 2022 [cited by examiner]
US 20240031380A1 · Lal · 2024 [cited by examiner]