IP Library Granted Patent US 10,867,209
Granted Patent B2
US 10,867,209 · App. 16/154,668 · Granted Dec 15, 2020

Combining outputs of data processing services in a cloud-based collaboration platform

Inventors: Andrew Coven (Los Gatos, CA); Benjamin John Kus (Alameda, CA); Faizan Nabi Buzdar (Redwood City, CA); Matthew Self (Emerald Hills, CA)
Assignee: Box, Inc.
G06K9/6227G06F8/60G06F9/4411G06F9/44505G06F9/44526G06F9/5027G06F9/542G06F16/1734G06K9/6289G06N20/00H04L12/1831H04L67/10H04L67/34H04N21/23418H04N21/4788H04N21/84H04L67/1014
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,867,209
App. No.
16/154,668
Granted
Dec 15, 2020
Kind
B2
Abstract

Systems and methods for combining two or more outputs of two or more data processing services. A method embodiment commences upon receiving an event indication and a content item from a cloud-based collaboration platform. The method analyzes the event and the content item to determine two or more data processing services to apply to the content item. The method further determines a common metric to use to correlate two or more different outputs from the two or more data processing services. The method invokes both of the two or more data processing services, which in turn each generate respective outputs. Metadata that relates the respective outputs based on the common metric as well as the outputs themselves are stored for retrieval by the cloud-based collaboration platform. A query is executed to retrieve at least portions of the respective outputs and corresponding metadata. The retrieved data is correlated in a display.

Claims (63)

1. A method of combining two or more outputs of two or more data processing services, the method comprising:

detecting an event in a cloud-based collaboration platform in a network, the event corresponding to at least one content item in the cloud-based collaboration platform;

in response to detection of the event, triggering an analysis of the event and the at least one content item at least to:

determine a first data processing service and a second data processing service to apply to the at least one content item; and

determine a common metric to correlate a first output and a second output;

invoking the first and the second data processing services to respectively generate the first and the second outputs, wherein

the first output is generated by the first data processing service to satisfy a first output requirement of a first vendor that provides the first data processing service from a first external network, and

the second output is generated by the second data processing service to satisfy a second output requirement of a second vendor that provides the second data processing service from a second external network;

storing, in stored data, at least respective portions of the first and the second outputs and corresponding metadata that relates a first respective portion of the first output and a second respective portion of the second output based at least in part on the common metric; and

combining the first respective portion of the first output and the second respective portion of the second output at least by accessing a query interface to the stored data to retrieve at least the first and the second respective portions and the corresponding metadata and further by transforming the first respective portion or the second respective portion to satisfy an output requirement of the cloud-based collaboration platform, wherein the output requirement pertains to at least one permissible combination relationship between the first and the second outputs.

2. The method of claim 1 , further comprising:

transforming the first respective portion of the first output or the second respective portion of the second output to one or more widgets based at least in part upon am intermediate markup language schema to satisfy the output requirement of the cloud-based collaboration platform; and

determining two representations respectively corresponding to the first and the second outputs.

3. The method of claim 2 , wherein the two representations comprise two graphical display elements, wherein the intermediate markup language schema is defined to facilitate communications between the cloud-based collaboration platform and a first computing system in the first external network providing the first data processing service or a second computing system in the second external network providing the second data processing service.

4. The method of claim 3 , further comprising parsing the first respective portion or the second respective portion for a correct form, correct syntax, or correct semantic based at least in part upon the intermediate markup language schema, wherein the two graphical display elements comprise correlated controls.

5. The method of claim 1 , wherein the query interface receives a query in a query language, an interest capture module formulates the query based at least in part upon a request of a user on the cloud-based collaboration platform, the request includes information concerning a first content portion and a second content portion of the at least one content item, and the first and the second content portions are respectively determined by the first and the second data processing services.

6. The method of claim 5 , wherein the query language comprises at least one of one or more search terms, one or more search predicates, or one or more query results output specifications, and the query comprises a specification of the common metric.

7. The method of claim 1 , further comprising:

receiving a first metric corresponding to the common metric from the first data processing service in the first external network;

receiving a second metric corresponding to the common metric from the second data processing service in the second external network; and

transforming the first respective portion into for a widget or a visual indication; and

presenting the first respective portion and the second respective portion to a user on the cloud-based collaboration platform so that the widget or the visual indication, when actuated, triggers the first data processing service to output of processing a corresponding portion of the at least one content item, wherein the corresponding portion corresponds to the widget or the visual indication determined from the first respective portion.

8. The method of claim 1 , wherein the common metric to correlate outputs from the first and the second data processing services comprises at least one of a timecode, a page number, a slide number, or an index marker.

9. The method of claim 1 , wherein the first and the second data processing services comprises two or more of video analytics processing, face recognition from the at least one content item, recognition of textual information from an image, replay of a multimedia content service, a language translation service, or a sentiment analysis service.

10. The method of claim 1 , further comprising:

determining one or more relationships between a first representation of the first respective portion and a second representation of the second respective portion, wherein the one or more aspects comprise at least one of a juxtaposition relationship or a control relationship.

11. The method of claim 1 , wherein at least one of the outputs or the corresponding metadata that relates the two or more outputs based on the common metric comprises an indication of a face, a keyword, an object, a topic, or a sound, and the first and the second processing services applied to the at least one content item are executed in parallel.

12. The method of claim 1 , further comprising:

receiving the first respective portion of the first output generated from the at least one content item by the first data processing service in the first external network; and

combining the first respective portion and the second respective portion at least by receiving the second respective portion from the second data processing service in the second external network, wherein the second data processing service processes the first respective portion to generate at least the second respective portion.

13. The method of claim 1 ,

receiving the first respective portion of the first output generated from the at least one content item by the first data processing service in the first external network; and

combining the first respective portion and the second respective portion at least by receiving the second respective portion from the second data processing service in the second external network, wherein the second data processing service processes the first respective portion to generate at least the second respective portion, wherein

the first and the second data processing services to apply to the at least one content item are executed serially, wherein the first output from the first data processing service of the first and the second data processing services is used as an input to the second data processing service of the first and the second data processing services.

14. The method of claim 1 , wherein the at least one content item comprises a first content item and a second content item, a plurality of users collaborate on the at least one content item stored in the cloud-based collaboration platform at least by performing a function on the at least one content item, and the function comprises at least one of reading the at least one content item, viewing the at least one content item, or modifying the at least one content item.

15. The method of claim 14 , wherein the first content item is a file of a first file type, and the second content item is a file of a second file type.

16. The method of claim 1 , wherein the first output is in a first format, the second output is in a second format, and the first and the second outputs are respectively converted into a form that complies with a syntax requirement and a semantic requirement of the cloud-based collaboration platform.

17. The method of claim 16 , further comprising verifying validity of the at least one content item based at least in part upon the first respective portion of the first output and the second respective portion of the second output, wherein the first output is produced by the first data processing service in the first external network provided by the first vendor and the second output is produced by the second data processing service in the second external network provided by the second vendor.

18. 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 combining two or more outputs of two or more data processing services, the set of acts comprising:

detecting an event in a cloud-based collaboration platform in a network, the event corresponding to at least one content item in the cloud-based collaboration platform;

in response to detection of the event, triggering an analysis of the event and the at least one content item to:

determine a first data processing service and a second data processing service to apply to the at least one content item; and

determine a common metric to correlate a first output and a second output;

invoking the first and the second data processing services to respectively generate the first and the second outputs, wherein

the first output is generated by the first data processing service to satisfy a first output requirement of a first vendor that provides the first data processing service from a first external network, and

the second output is generated by the second data processing service to satisfy a second output requirement of the second vendor that provides the second data processing service from a second external network;

storing, in stored data, at least respective portions of the first and the second outputs and corresponding metadata that relates the a first respective a first respective portion of the first output and a second respective portion of the second output based at least in part on the common metric; and

combining the first respective portion of the first output and the second respective portion of the second output at least by accessing a query interface to the stored data to retrieve at least the first and the second respective portions and the corresponding metadata and further by transforming the first respective portion or the second respective portion to satisfy an output requirement of the cloud-based collaboration platform, wherein the output requirement pertains to at least one permissible combination relationship between the first and the second outputs.

19. A system of combining two or more outputs of two or more data processing services, 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 to cause the one or more processors to perform a set of acts, the set of acts comprising,

detecting an event in a cloud-based collaboration platform in a network, the event corresponding to at least one content item of a cloud-based collaboration platform;

in response to detection of the event, triggering an analysis of the event and the at least one content item at least to:

determine a first data processing service and a second data processing service to apply to the at least one content item; and

determine a common metric to correlate a first output and a second output;

invoking the first and the second data processing services to respectively generate the first and the second outputs, wherein

the first output is generated by the first data processing service to satisfy a first output requirement of a first vendor that provides the first data processing service from a first external network, and

the second output is generated by the second data processing service to satisfy a second output requirement of the second vendor that provides the second data processing service from a second external network;

storing, in stored data, at least respective portions of the first and the second outputs and corresponding metadata that relates a first respective portion of the first output and a second respective portion of the second output based at least in part on the common metric; and

combining the first respective portion of the first output and the second respective portion of the second output at least by accessing a query interface to the stored data to retrieve at least the first and the second respective portions and the corresponding metadata and further by transforming the first respective portion or the second respective portion to satisfy an output requirement of the cloud-based collaboration platform, wherein the output requirement pertains to at least one permissible combination relationship between the first and the second outputs.

20. The system of claim 19 , execution of the sequence instructions by the one or more processors further causes the one or more processors to perform the set of acts that further comprises:

transforming the first respective portion of the first output or the second respective portion of the second output to one or more widgets based at least in part upon am intermediate markup language schema to satisfy the output requirement of the cloud-based collaboration platform; and

determining two representations respectively corresponding to the first and the second outputs.

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 27, 2019
From: COVEN, ANDREW; KUS, BENJAMIN JOHN; BUZDAR, FAIZAN NABI; SELF, MATTHEW
To: BOX, INC.
Reel/Frame 048718/0805 →
Continuity (4)
Provisional Application 62570075 · Oct 9, 2017
Provisional Application 62569859 · Oct 9, 2017
Provisional Application 62691549 · Jun 28, 2018
Related Publication 20190108419A1 · Apr 11, 2019
Cited By (2)
US 12,238,101 US 12,474,997