IP Library Granted Patent US 12,632,816
Granted Patent B2
US 12,632,816 · App. 16/777,801 · Granted May 19, 2026

Systems and methods for measuring and reporting collaboration parameters

Inventors: Sanjiv Ranjan Das (San Jose, CA); Ivan Galea (San Carlos, CA); Mark Scarr (Scotts Valley, CA); Anand Subramanian (Menlo Park, CA); Hariharan Swaminathan (Mountain View, CA)
Assignee: Box, Inc.
G06Q10/0639G06F16/9024G06N5/047G06Q10/10H04L65/403
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,632,816
App. No.
16/777,801
Granted
May 19, 2026
Kind
B2
Abstract

Methods, systems and computer program products for recommending remediation actions to selected users of collaboration systems. Certain disclosed techniques commence upon observing user-to-object interactions and user-to-user interactions raised by users of a collaboration system. A first specialized data structure is populated with activity values that characterize user-to-object interactions raised by individual users. A second specialized data structure is populated with sharing values that characterize observed sharing events over shared content objects. The values of the first data structure are correlated to the values of the second data structure to calculate a total contribution amount for each of the users of the collaboration system. A small set of communication recipients is identified by ranking the individual users based on a calculated total contribution amount. To avoid wasteful messaging to all users of the collaboration system, messages are sent only to the small set of recipients. The messages contain recommended remediation actions.

Claims (84)

1 . A method for reducing computer resource demands in a collaboration system having shared content objects, the method comprising:

maintaining and providing access to one or more shared content objects hosted by a collaboration system for individual users to perform user-to-object interactions within the collaboration system on the one or more shared content objects, wherein the individual users comprise a first set of users and a remaining set of users, and maintaining and providing the access to the one or more shared content objects comprises:

receiving, at a network interface of the collaboration system, a data stream representing at least the user-to-object interactions in which the individual users that collaborate on the one or more shared content objects over a time period;

tracking and writing, from within the data stream, a first set of values that characterizes user-to-object interactions of the individual users of the collaboration system into first respective memory locations for a first data structure;

reducing, by the collaboration system remote from access devices of the individual users, a list of recipient address data entries respectively corresponding to the individual users into a list of reduced recipient address data entries respectively corresponding to the first set of users based at least in part upon the first set of values stored at the first respective memory locations for the first data structure, wherein

the list of reduced recipient address data entries has a first smaller size than the list of recipient address data entries; and

tracking and writing, from within the data stream, a second set of values that characterizes a set of sharing events over the one or more shared content objects into second respective memory locations for a second data structure, wherein

the one or more shared content objects are shared between a given user and one or more other users of the individual users; and

sending, by executing a sequence of instructions at the collaboration system, a plurality of packets for an electronic communication to a targeted subset of users determined from the first set of users while avoiding broadcast of the electronic communication from the collaboration system to all of the first set of users at least by:

accessing the second respective memory locations in the memory to respectively obtain and rank the second set of values stored at the second respective memory locations in the memory based at least in part upon a first criterion, wherein the second set of values is used to determine the first set of users from the individual users;

writing a correlation relation into the memory, the correlation relation correlating the first set of values of the first data structure at the first respective memory locations with the second set of values at the second respective memory locations for the second data structure;

ranking the first set of users based at least in part upon the correlation relation;

reducing, by the collaboration system remote from the access devices of the first set of users based at least upon ranked information pertaining to the first set of users in the memory, the list of reduced recipient address data entries into a list of targeted recipient address data entries for the target subset of users at least by selecting one or more users from the first set as the targeted subset of users based at least in part upon a result of ranking the first set of users and a threshold, wherein

the list of targeted recipient address data entries has a second smaller size than the first smaller size of the list of first reduced recipient address data entries; and

respectively sending, from the network interface, the electronic communication to the list of targeted recipient address data entries for the targeted subset at least by:

composing one or more software features provided by the collaboration system into the electronic communication; and

transmitting the plurality of packets for the electronic communication via the network interface to the list of targeted recipient address data entries for corresponding access devices of the targeted subset of users within the first set of the individual users while avoiding the broadcast of the electronic communication to the list of recipient address data entries for the individual users or the reduced list of recipient address data entries for the first set of users.

2 . The method of claim 1 , further comprising:

codifying specific content and a characteristic pertaining to the user-to-object interactions and the set of sharing events into the electronic communication prior to sending the electronic communication to the targeted subset of users, wherein the electronic communication comprises a recommendation of an action that pertains to at least one of the one or more software features and is directed to at least one of the targeted subset of users.

3 . The method of claim 1 , further comprising predicting a usage pattern of the one or more software features, wherein sending the electronic communication to the targeted subset of users comprises narrowcasting the electronic communication only to the targeted subset of users that is determined from the first set of users of the individual users, and a total number of users of the individual users is greater than a total number of users of the targeted subset of users.

4 . The method of claim 3 , wherein the usage pattern corresponds to at least one of a predicted increase in collaboration system usage, or a predicted decrease in collaboration system usage, and the targeted subset of users pertains to at least one of the one or more software features that comprise a disused feature provided by the collaboration system and is not used by at least one of the first set or the targeted subset of users of the individual users.

5 . The method of claim 1 , maintaining and providing the access to the one or more shared content objects further comprising:

extracting first data for the at least one first interaction of a first interaction type or second data for the at least one second interaction of a second interaction type from the data stream, wherein

the first interaction type corresponds to the user-to-object interactions, and

the second interaction type corresponds to user-to-user interactions;

transforming the first data in the data stream into a first element in a first table or list structure in the memory or second data in the data stream into a second element in a second table or list structure in the memory;

transforming the first element or the second element into a vector for storage in the first data structure in the memory, using one or more interaction parameters that are determined at least by traversing a network model that is constructed from the data stream; and

tracking collaboration contributions based at least in part upon data in the second data structure, wherein the second data structure is constructed from a plurality of collaboration parameters comprising at least one of a company index, or a time, or a first time period and a second time period, and the data in the second data structure pertains to one or more interactions raised by at least one of the individual users upon the one or more shared content objects.

6 . The method of claim 5 , wherein a derivative of the second data structure corresponding to a first time period is persisted before creating another second data structure corresponding to a second time period.

7 . The method of claim 5 , wherein the plurality of collaboration parameters comprises at least one of an individual productivity, a file sharing quantity, a productivity measure for a user of the individual users, or a productivity measure for a collaborator group.

8 . The method of claim 1 , further comprising tracking individual contributions of the individual users based at least in part upon a total number of interactions and a total number of types of the interactions raised by the individual users; and storing a result of tracking the individual contributions in the first data structure, wherein at least one of user-to-user interactions or user-to-object interactions comprises at least one of a file open transaction, or a file preview transaction, or a download transaction.

9 . A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by one or more processors causes the one or more processors to perform a set of acts for reducing computer resource demands in a collaboration system having shared content objects, the set of acts comprising:

maintaining and providing access to one or more shared content objects hosted by a collaboration system for individual users to perform user-to-object interactions within the collaboration system on the one or more shared content objects, wherein the individual users comprise a first set of users and a remaining set of users, and maintaining and providing the access to the one or more shared content objects comprises:

receiving, at a network interface of the collaboration system, a data stream representing at least the user-to-object interactions in which the individual users that collaborate on the one or more shared content objects over a time period;

tracking and writing, from within the data stream, a first set of values that characterizes user-to-object interactions of the individual users of the collaboration system into first respective memory locations for a first data structure;

reducing, by the collaboration system remote from access devices of the individual users, a list of recipient address data entries respectively corresponding to the individual users into a list of reduced recipient address data entries respectively corresponding to the first set of users based at least in part upon the first set of values stored at the first respective memory locations for the first data structure, wherein

the list of reduced recipient address data entries has a first smaller size than the list of recipient address data entries; and

tracking and writing, from within the data stream, a second set of values that characterizes a set of sharing events over content objects into second respective memory locations for a second data structure, wherein

the one or more shared content objects are shared between a given user and other users of the individual users of the collaboration system; and

sending, by executing a sequence of instructions at the collaboration system, a plurality of packets for an electronic communication to a targeted subset of users determined from the first set of users while avoiding broadcast of the electronic communication from the collaboration system to all of the first set of users at least by:

accessing the second respective memory locations in the memory to respective obtain and rank the second set of values stored at the second respective memory locations in the memory based at least in part upon a first criterion, wherein the second set of values is used to determine the first set of users from the individual users;

writing a correlation relation in the memory, the correlation relation correlating the first set of values of the first data structure at the first respective memory locations with the second set of values at the second respective memory locations for the second data structure;

ranking the first set of users based at least in part upon the correlation relation;

reducing, by the collaboration system remote from the access devices of the first set of users based at least upon ranked information pertaining to the first set of users in the memory, the list of reduced recipient address data entries into a list of targeted recipient address data entries for the target subset of users at least by selecting one or more users from the first set as the targeted subset of users based at least in part upon a result of ranking the first set of users and a threshold, wherein

the list of targeted recipient address data entries has a second smaller size than the first smaller size of the list of first reduced recipient address data entries; and

respectively sending, from the network interface, the plurality of packets for the electronic communication to the list of targeted recipient address data entries for the targeted subset at least by:

composing one or more software features provided by the collaboration system into the electronic communication; and

transmitting the electronic communication via the network interface to the list of targeted recipient address data entries for corresponding access devices of the targeted subset of users within the first subset of the individual users while avoiding the broadcast of the electronic communication to the list of recipient address data entries for the individual users or the reduced list of recipient address data entries for the first set of users.

10 . The non-transitory computer readable medium of claim 9 , the set of acts further comprising:

codifying specific content and a characteristic pertaining to the user-to-object interactions and the set of sharing events into the electronic communication prior to sending the electronic communication to the targeted subset of users, wherein the electronic communication comprises a recommendation of an action that pertains to at least one of the one or more software features and is directed to at least one of the targeted subset of users.

11 . The non-transitory computer readable medium of claim 9 , further comprising instructions which, when stored in memory and executed by the one or more processors causes the one or more processors to perform acts of predicting a usage pattern of the one or more software features, wherein sending the electronic communication to the targeted subset of users comprises narrowcasting the electronic communication only to the targeted subset of users that is determined from the first set of users of the individual users, and a total number of users of the individual users is greater than a total number of users of the targeted subset of users.

12 . The non-transitory computer readable medium of claim 11 , wherein the usage pattern corresponds to at least one of a predicted increase in collaboration system usage, or a predicted decrease in collaboration system usage, and the targeted subset of users pertains to at least one of the one or more software features that comprise a disused feature provided by the collaboration system and is not used by at least one of the first or the targeted subset of users of the individual users.

13 . The non-transitory computer readable medium of claim 9 , the set of acts further comprising:

extracting first data for the at least one first interaction of a first interaction type or second data for the at least one second interaction of a second interaction type from the data stream, wherein

the first interaction type corresponds to the user-to-object interactions, and

the second interaction type corresponds to user-to-user interactions;

transforming the first data in the data stream into a first element in a first table or list structure in the memory or second data in the data stream into a second element in a second table or list structure in the memory;

transforming the first element or the second element into a vector for storage in the first data structure in the memory, using one or more interaction parameters that are determined at least by traversing a network model that is constructed from the data stream; and

tracking collaboration contributions based at least in part upon data in the second data structure, wherein the second data structure is constructed from a plurality of collaboration parameters comprising at least one of a company index, or a time, or a first time period and a second time period, and the data in the second data structure pertains to one or more interactions raised by at least one of the individual users upon the one or more shared content objects.

14 . The non-transitory computer readable medium of claim 13 , wherein a derivative of the second data structure corresponding to a first time period is persisted before creating another second data structure corresponding to a second time period.

15 . The non-transitory computer readable medium of claim 13 , wherein the plurality of collaboration parameters comprises at least some of an individual productivity, a file sharing quantity, a productivity measure for an employee, or a productivity measure for a collaborator group.

16 . The non-transitory computer readable medium of claim 9 , the set of acts further comprising tracking individual contributions of the individual users based at least in part upon a total number of interactions and a total number of types of the interactions raised by the individual users; and storing a result of tracking the individual contributions in the first data structure, wherein at least one of user-to-user interactions or user-to-object interactions comprises at least one of a file open transaction, or a file preview transaction, or a download transaction.

17 . A system for reducing computer resource demands in a collaboration system having 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 sequence of instructions, execution of the sequence of instructions causes the one or more processors to perform a set of acts, the set of acts comprising:

maintaining and providing access to one or more shared content objects hosted by a collaboration system for individual users to perform user-to-object interactions within the collaboration system on the one or more shared content objects, wherein the individual users comprise a first set of users and a remaining set of users, and maintaining and providing the access to the one or more shared content objects comprises:

receiving, at network interface of the collaboration system, a data stream representing at least the user-to-object interactions in which the individual users that collaborate on the one or more shared content objects over a time period;

tracking and writing, from within the data stream, a first set of values that characterizes user-to-object interactions of individual users of the collaboration system into first respective memory locations for a first data structure;

reducing, by the collaboration system remote from access devices of the individual users, a list of recipient address data entries respectively corresponding to the individual users into a list of reduced recipient address data entries respectively corresponding to the first set of users based at least in part upon the first set of values stored at the first respective memory locations for the first data structure, wherein

the list of reduced recipient address data entries has a first smaller size than the list of recipient address data entries; and

tracking and writing, from within the data stream, a second set of values that characterizes a set of sharing events over the shared content objects into second respective memory locations for a second data structure, wherein

the one or more shared content objects are shared between a given user and other users of the individual users of the collaboration system; and

sending, by executing a sequence of instructions at the collaboration system, a plurality of packets for an electronic communication to a targeted subset of users determined from the first set of users while avoiding broadcast of the electronic communication from the collaboration system to all of the first set of users at least by:

accessing the second respective memory locations in the memory to respectively obtain and rank the second set of values stored at the second respective memory locations in the memory based at least in part upon a first criterion, wherein the second set of values is used to determine the first set of users from the individual users;

writing a correlation relation into the memory, the correlation relation correlating the first set of values of the first data structure at the first respective memory locations with the second set of values at the second respective memory locations for the second data structure;

ranking the first set of users based at least in part upon the correlation relation;

reducing, by the collaboration system remote from the access devices of the first set of users based at least upon ranked information pertaining to the first set of users in the memory, the list of reduced recipient address data entries into a list of targeted recipient address data entries for the target subset of users at least by selecting one or more users from the first set as the targeted subset of users based at least in part upon a result of ranking the first set of users and a threshold, wherein

the list of targeted recipient address data entries has a second smaller size than the first smaller size of the list of first reduced recipient address data entries; and

respectively sending, from the network interface, the plurality of packets for the electronic communication to the list of targeted recipient address data entries for the targeted subset at least by:

composing one or more software features provided by the collaboration system into the electronic communication; and

transmitting the electronic communication via the network interface to the list of targeted recipient address data entries for corresponding access devices of the targeted subset of users within the first subset of the individual users while avoiding the broadcast of the electronic communication to the list of recipient address data entries for the individual users or the reduced list of recipient address data entries for the first set of users.

18 . The system of claim 17 , the set of acts further comprising: codifying specific content and a characteristic pertaining to the user-to-object interactions and the set of sharing events into the electronic communication prior to sending the electronic communication to the targeted subset of users, wherein the electronic communication comprises a recommendation of an action that pertains to at least one of the one or more software features and is directed to at least one of the targeted subset of users.

19 . The system of claim 17 , further comprising instructions which, when stored in memory and executed by the one or more processors causes the one or more processors to perform acts of predicting a usage pattern of the one or more software features, wherein sending the electronic communication to the targeted subset of users comprises narrowcasting the electronic communication only to the targeted subset of users that is determined from the first set of users of the individual users, and a total number of users of the individual users is greater than a total number of users of the targeted subset of users.

20 . The system of claim 19 , wherein the usage pattern corresponds to at least one of a predicted increase in collaboration system usage, or a predicted decrease in collaboration system usage, and the targeted subset of users pertains to at least one of the one or more software features that comprise a disused feature provided by the collaboration system and is not used by at least one of the first or the targeted subset of users of the individual users.

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 Jan 30, 2020
From: DAS, SANJIV RANJAN; GALEA, IVAN; SCARR, MARK; SUBRAMANIAN, ANAND; SWAMINATHAN, HARIHARAN
To: BOX, INC.
Reel/Frame 051678/0405 →
Continuity (2)
Provisional Application 62799019 · Jan 30, 2019
Related Publication 20200242527A1 · Jul 30, 2020
References Cited (19)
US 20170358036A1 · Kimball · 2017 [cited by examiner]
US 20200007934A1 · Ortiz · 2020 [cited by examiner]
“Wikipedia Entry: Confusion Matrix”, dated Nov. 27, 2018, URL: https://en.wikipedia.org/wiki/Confusion_matrix. [cited by applicant]
D. Acemoglu, V. M. Carvalho, A. Ozdaglar, and A. Tahbaz†Salehi. The Network Origins of Aggregate Fluctuations. Econometrica, 80(5): 1977-2016, Sep. 2012. [cited by applicant]
V. D. Blondel, J.-L. Guillaume, R. Lambiotte, and E. Lefebvre. Fast unfolding of communities in large networks. Journal of Statistical Mechanics: Theory and Experiment, 2008(10):p. 10008, Oct. 2008. [cited by applicant]
P. Bonacich. Power and Centrality: A Family of Measures. American Journal of Sociology, 92(5):1170-1182, Mar. 1987. [cited by applicant]
T. J. Chemmanur, E. Loutskina, and X. Tian. Corporate Venture Capital, Value Creation, and Innovation. Review of Financial Studies, 27(8):2434-2473, Aug. 2014. [cited by applicant]
R. L. Cross, R. D. Martin, and L. M. Weiss. Mapping the value of employee collaboration | Mckinsey. Mckinsey Quarterly, Aug. 2006. [cited by applicant]
L. C. Freeman. A Set of Measures of Centrality Based on Betweenness. Sociometry, 40(1):35-41, 1977. [cited by applicant]
B. B. Frey, J. H. Lohmeier, S. W. Lee, and N. Tollefson. Measuring Collaboration Among Grant Partners. American Journal of Evaluation, 27(3):383-392, Sep. 2006. [cited by applicant]
R. Gajda. Utilizing Collaboration Theory to Evaluate Strategic Alliances. American Journal of Evaluation, 25(1):65-77, Mar. 2004. [cited by applicant]
E. Hess and J. Liedtka. The Physics of Business Growth: Mindsets, System, and Processes. Stanford University Press, Stanford, 2012. [cited by applicant]
W. W. Leontief. Input-Output Economics. Oxford University Press, Oxford, New York, second edition, Mar. 1986. [cited by applicant]
J. Long, B. and C. Plosser. Real Business Cycles. Journal of Political Economy, 91(1):39-69, 1983. [cited by applicant]
K. Olmstead, C. Lampe, and N. B. Ellison. Social Media and the Workplace, Jun. 2016. [cited by applicant]
Kinni, T., “Does Social Media Enhance Employee Productivity?,” MIT Sloan, dated Jul. 7, 2016, URL: https://sloanreview.mit.edu/article/does-social-media-enhance-employee-productivity/. [cited by applicant]
“Tools for Measuring Collaboration,” Broadleaf Consulting, date found via Google as Dec. 8, 2015. [cited by applicant]
“Euler's Homogeneous Function Theorem,” Wolfram Mathworld, last updated Jan. 18, 2019. [cited by applicant]
“Wikipedia Entry: Herfindahl-Hirschman index,” Wikipedia, last updated on Apr. 4, 2018, URL: https://en.wikipedia.org/wiki/Herfindahl_index. [cited by applicant]