IP Library Granted Patent US 10,585,854
Granted Patent B2
US 10,585,854 · App. 15/491,923 · Granted Mar 10, 2020

Establishing and enforcing selective object deletion operations on cloud-based shared content

Inventors: Emrah Seker (San Jose, CA); Alam Karim (Burnaby, CA); Jessica Lynn Fain (San Francisco, CA); Joy Keiko Ebertz (San Jose, CA); Raymond Louis Thang (Sunnyvale, CA); Steven La (Sunnyvale, CA); Shengzhi Sun (San Jose, CA); Ryan Taylor Churchill (San Francisco, CA); Anne Elizabeth Hiatt Pearl (San Francisco, CA)
Assignee: Box, Inc.
G06F16/162G06F16/122
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 10,585,854
App. No.
15/491,923
Granted
Mar 10, 2020
Kind
B2
Abstract

Systems for enforcing multiple object deletion policies over shared content objects that are accessible in a cloud-based service platform. A method embodiment commences upon receiving two or more sets of file deletion parameters that describe respective two or more object deletion policies covering a portion of the shared content objects. Records that form associations between the file deletion parameters and at least some of the shared content objects are made available to event listeners in the system. Upon detecting events associated with access to the shared content by the users, the event listeners analyze the events to identify objects of the shared content that are associated with the multiple object deletion policies. If an object is covered by conflicting deletion policy actions, then actions of the deletion policy having a higher priority are applied. Some actions prevent or delay modification of the objects. Lower priority data retention deletions are suppressed.

Claims (30)

1. A method implemented on a processor of a computing device for reconciling multiple object deletion policies over shared content objects, the method comprising:

identifying at least two of the multiple object deletion policies, wherein a first object deletion policy corresponds to a first set of one or more first file deletion parameters that covers at least a portion of the shared content objects, a second object deletion policy corresponds to a second set of one or more second file deletion parameters that covers the at least a portion of the shared content objects, the first object deletion policy having a first priority and the second object deletion policy having a second priority, and associations are created between at least some of the file deletion parameters and the at least a portion of the shared content objects;

storing a set of policy actions for the first and second object deletion policies in columns of a table data structure comprising at least two action columns that correspond to at least one higher-ordered action column and at least one lower-ordered action column, wherein a column priority ordering is based at least in part on determining which of the multiple object deletion policies has a higher priority, wherein a first policy action for the first object deletion policy is stored in a first one of the at least two action columns and a second policy action for the second object deletion policy is stored in a second one of the at least two action columns; and

determining whether or not a conflict exists for the at least a portion of the shared content objects by processing the table data structure by:

determining existence of the conflict by identifying that the first policy action in the first one of the at least two action columns conflicts with the second policy action in the second one of the at least two action columns, wherein the conflict is resolved by choosing the first policy action when the first policy action corresponds to the at least one higher-ordered action column and initiating the first policy action rather than the second policy action;

determining that the conflict does not exist by determining that the first policy action in the first one of the at least two action columns does not conflict with the second policy action in the second one of the at least two action columns, and allowing both policy actions to be performed.

2. The method of claim 1 , wherein a first one of the at least two of the multiple object deletion policies is a legal hold policy and wherein a second one of the at least two of the multiple object deletion policies is a data retention policy.

3. The method of claim 2 , wherein the legal hold policy comprises a “deny delete” action.

4. The method of claim 2 , wherein the data retention policy comprises an “OK to delete” action.

5. The method of claim 1 , further comprising determining at least one of the policy actions to take based on at least one of one or more properties of access event records, or one of the access event records.

6. The method of claim 5 , wherein at least one of the policy actions to take is to disallow at least one of a delete operation, or a move operation.

7. The method of claim 5 , wherein at least one of the policy actions to take is based at least in part on one of a user, a folder, a file version, or a file type.

8. The method of claim 1 , wherein one or more access event records are received for processing by listening to an event stream, the one or more access event records corresponding to one or more assignment records for the first or second object deletion policies.

9. The method of claim 1 , wherein the initiating comprises initiating an approval action.

10. A system for reconciling multiple object deletion policies over shared content objects, the system comprising:

a non-transitory storage medium having stored thereon a sequence of instructions; and

one or more processors that execute the instructions to cause the one or more processors to perform a set of acts, the acts comprising:

identifying at least two of the multiple object deletion policies, wherein a first object deletion policy corresponds to a first set of one or more first file deletion parameters that covers at least a portion of the shared content objects, a second object deletion policy corresponds to a second set of one or more second file deletion parameters that covers the at least a portion of the shared content objects, the first object deletion policy having a first priority and the second object deletion policy having a second priority, and associations are created between at least some of the file deletion parameters and the at least a portion of the shared content objects;

storing a set of policy actions for the first and second object deletion policies in columns of a table data structure comprising at least two action columns that correspond to at least one higher-ordered action column and at least one lower-ordered action column, wherein a column priority ordering is based at least in part on determining which of the multiple object deletion policies has a higher priority, wherein a first policy action for the first object deletion policy is stored in a first one of the at least two action columns and a second policy action for the second object deletion policy is stored in a second one of the at least two action columns; and

determining whether or not a conflict exists for the at least a portion of the shared content objects by processing the table data structure by:

determining existence of the conflict by identifying that the first policy action in the first one of the at least two action columns conflicts with the second policy action in the second one of the at least two action columns, wherein the conflict is resolved by choosing the first policy action when the first policy action corresponds to the at least one higher-ordered action column and initiating the first policy action rather than the second policy action;

determining that the conflict does not exist by determining that the first policy action in the first one of the at least two action columns does not conflict with the second policy action in the second one of the at least two action columns, and allowing both policy actions to be performed.

11. The system of claim 10 , wherein a first one of the at least two of the multiple object deletion policies is a legal hold policy and wherein a second one of the at least two of the multiple object deletion policies is a data retention policy.

12. The system of claim 11 , wherein the legal hold policy comprises a “deny delete” action.

13. The system of claim 11 , wherein the data retention policy comprises an “OK to delete” action.

14. The system of claim 10 , further comprising instructions to cause the one or more processors to perform the acts further comprising determining at least one of the policy actions to take based on at least one of one or more properties of access event records, or one of the access event records.

15. The system of claim 14 , wherein at least one of the policy actions to take is to disallow at least one of a delete operation, or a move operation.

16. The system of claim 14 , wherein at least one of the policy actions to take is based at least in part on one of a user, a folder, a file version, or a file type.

17. The system of claim 10 , wherein one or more access event records are received for processing by listening to an event stream, the one or more access event records corresponding to one or more assignment records for the first or second object deletion policies.

18. The system of claim 10 , wherein the initiating comprises initiating an approval action.

Assignments (3)
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 Jul 18, 2018
From: SEKER, EMRAH; KARIM, ALAM; FAIN, JESSICA LYNN; THANG, RAYMOND LOUIS; PEARL, ANNE ELIZABETH HIATT
To: BOX, INC.
Reel/Frame 046387/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2017
From: EBERTZ, JOY KEIKO; LA, STEVEN; SUN, SHENGZHI; CHURCHILL, RYAN TAYLOR
To: BOX, INC.
Reel/Frame 042071/0150 →
Continuity (2)
Provisional Application 62354621 · Jun 24, 2016
Related Publication 20170371890A1 · Dec 28, 2017