IP Library Granted Patent US 12,069,136
Granted Patent B2
US 12,069,136 · App. 17/817,968 · Granted Aug 20, 2024

Activity-based application recommendations

Inventors: Daniel Wayne Morkovine (San Carlos, CA); Michelle Sangeun Oh (San Francisco, CA); Faizan N. Buzdar (Redwood City, CA); Derrik R. Lansing (North Ogden, UT); Christopher Tucker (San Francisco, CA); Victoria Wee (Coquitlam, CA); Prachi Subhash Jadhav (Emerald Hills, CA); Dhiraj Sekhri (Santa Clara, CA); Pal Ramanathan (Foster City, CA)
Assignee: Box, Inc.
H04L67/141G06F9/451G06F16/9535G06F16/9536G06F16/9558G06F21/629H04L65/1083H04L65/4015H04L65/403H04L67/535H04L67/10
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,069,136
App. No.
17/817,968
Granted
Aug 20, 2024
Kind
B2
Abstract

Methods, systems and computer program products for shared content management systems. In a content management system that supports multiple applications that operate on shared documents, multiple modules are operatively interconnected to make and present activity-based application recommendations. Techniques for making activity-based application recommendations include recording a series of interaction events from multiple users, which events correspond to a series of interactions performed by a plurality of applications over a shared content object. Constituent interaction events from the series of interactions are analyzed to determine a set of recommended applications. The set of recommended applications is presented to a user in a dynamically-populated user interface.

Claims (34)

1. A method for determining activity-based application recommendations by a content management system, the method comprising:

maintaining a plurality of shared content objects at the content management system, wherein the plurality of shared content objects are accessible to a plurality of users and are to be operated over by a plurality of applications;

recording interaction events representing interactions between respective users of the plurality of users and respective shared content objects of the plurality of shared content objects, the interactions using one or more applications of the plurality of applications;

receiving a request associated with a shared content object of the plurality of shared content objects and a user of the plurality of users; and

processing, in response to receipt of the request, the interaction events to determine a recommended application of the plurality of applications to use to interact with the shared content object, wherein the recommended application is determined based on at least the user and interaction events representing use of the recommended application to interact with the shared content object by respective users of the plurality of users.

2. The method of claim 1 , wherein the recommended application is presented in a dynamically-populated user interface.

3. The method of claim 1 , wherein the recommended application is determined based at least in part on scores assigned to two or more of the plurality of applications.

4. The method of claim 3 , wherein the scores represent a quantitative measure of relevancy.

5. The method of claim 1 , wherein the recommended application is determined based at least in part on one or more permissions constraints, the one or more permissions constraints corresponding to at least one of, at least one user, or at least one of the plurality of applications, or the shared content object.

6. The method of claim 1 , wherein the recommended application is determined based at least in part on an application activity graph, the application activity graph being constructed from at least a portion of the interaction events.

7. The method of claim 1 , wherein an application programming interface (API) is accessed by at least one of the plurality of applications to record at least some of the interaction events.

8. The method of claim 1 , wherein a graph service is used to retrieve at least some of the interaction events.

9. The method of claim 1 , wherein the interaction events from the plurality of users comprises at least one user-to-user interaction and at least one user-to-content interaction.

10. The method of claim 1 , wherein the interaction events correspond to an older timestamped interaction event followed in a series of later timestamped interaction event.

11. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor causes a set of acts for determining activity-based application recommendations by a content management system, the set of acts comprising:

maintaining a plurality of shared content objects at the content management system, wherein the plurality of shared content objects are accessible to a plurality of users and are to be operated over by a plurality of applications;

recording interaction events representing interactions between respective users of the plurality of users and respective shared content objects of the plurality of shared content objects, the interactions using one or more applications of the plurality of applications;

receiving a request associated with a shared content object of the plurality of shared content objects and a user of the plurality of users; and

processing, in response to receipt of the request, the interaction events to determine a recommended application of the plurality of applications to use to interact with the shared content object, wherein the recommended application is determined based on at least the user and interaction events representing use of the recommended application to interact with the shared content object by respective users of the plurality of users.

12. The non-transitory computer readable medium of claim 11 , wherein the recommended application is presented in a dynamically-populated user interface.

13. The non-transitory computer readable medium of claim 11 , wherein the recommended application is determined based at least in part on scores assigned to two or more of the plurality of applications.

14. The non-transitory computer readable medium of claim 13 , wherein the scores represent a quantitative measure of relevancy.

15. The non-transitory computer readable medium of claim 11 , wherein the recommended application is determined based at least in part on one or more permissions constraints, the one or more permissions constraints corresponding to at least one of, at least one user, or at least one of the plurality of applications, or the shared content object.

16. The non-transitory computer readable medium of claim 11 , wherein the recommended application is determined based at least in part on an application activity graph, the application activity graph being constructed from at least a portion of the interaction events.

17. The non-transitory computer readable medium of claim 11 , wherein an application programming interface (API) is accessed by at least one of the plurality of applications to record at least some of the interaction events.

18. The non-transitory computer readable medium of claim 11 , wherein a graph service is used to retrieve at least some of the interaction events.

19. A system for determining activity-based application recommendations by a content management system, the system comprising:

a storage medium having stored thereon a sequence of instructions; and

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

maintaining a plurality of shared content objects at the content management system, wherein the plurality of shared content objects are accessible to a plurality of users and to be operated over by a plurality of applications;

recording interaction events representing interactions between respective users of the plurality of users and respective shared content objects of the plurality of shared content objects, the interactions using one or more applications of the plurality of applications;

receiving a request associated with a shared content object of the plurality of shared content objects and a user of the plurality of users; and

processing, in response to receipt of the request, the interaction events to determine a recommended application of the plurality of applications to use to interact with the shared content object, wherein the recommended application is determined based on at least the user and interaction events representing use of the recommended application to interact with the shared content object by respective users of the plurality of users.

20. The system of claim 19 , wherein the recommended application is presented in a dynamically-populated user interface.

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 Jun 7, 2023
From: MORKOVINE, DANIEL WAYNE; OH, MICHELLE SANGEUN; BUZDAR, FAIZAN N.; LANSING, DERRICK R.; TUCKER, CHRISTOPHER; WEE, VICTORIA; JADHAV, PRACHI SUBHASH; SEKHRI, DHIRAJ; RAMANATHAN, PAL
To: BOX, INC.
Reel/Frame 063873/0275 →
Continuity (3)
Continuation 16552884 · Aug 27, 2019
Provisional Application 62723336 · Aug 27, 2018
Related Publication 20230094015A1 · Mar 30, 2023