IP Library Granted Patent US 10,075,518
Granted Patent B2
US 10,075,518 · App. 15/092,458 · Granted Sep 11, 2018

Collaborator network creation using cloud-based metadata

Inventors: Matthew A. Basta (Redwood City, CA); Christopher Ling (Los Altos, CA); Tarrence Van As (Los Altos, CA)
Assignee: Box, Inc.
H04L67/1042H04L65/1003H04L65/403H04L67/141
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,075,518
App. No.
15/092,458
Granted
Sep 11, 2018
Kind
B2
Abstract

Systems for managing user collaboration over objects stored on a cloud-based service platform. A server in a cloud-based platform maintains a set of read/write metadata that is associated in one-to-one correspondence to stored objects that are accessible by two or more collaborators. The server does not maintain a list of peers that communicate over peer-to-peer connections, rather the server exposes a semaphore for access to the metadata that pertains to a particular one of the stored objects. The server responds to download requests from the collaborators so as to deliver executable signaling protocol computer code to the collaborators' user devices. The signaling protocol code includes semaphore access by the collaborators' user devices using an application programming interface. Two or more accesses over the same semaphore establishes a leader and at least one follower. Corresponding ephemeral peer-to-peer connections are established between the leader and the at least one follower.

Claims (37)

1. A method comprising:

maintaining, in a cloud-based environment, a set of metadata at a server that is interfaced with one or more storage devices that hold stored objects accessible by one or more collaborators, wherein the server does not maintain a list of peers that form a plurality of peer-to-peer connections;

exposing at least one semaphore formed by metadata pertaining to a particular one of the stored objects, the semaphore to coordinate access to the metadata;

downloading, from the server in the cloud-based environment to one or more user devices associated with the collaborators, a set of signaling protocol code;

performing at least a first portion of a signaling protocol between the server and one or more of the user devices, the first portion of the signaling protocol comprising processing at least one semaphore access request by the one or more of the user devices; and

establishing one or more of the peer-to-peer connections between two or more of the user devices to form at least one collaborator network.

2. The method of claim 1 , wherein the semaphore access comprises at least one of, a compare and swap operation, or a read operation, or a modification operation, or any combination thereof.

3. The method of claim 1 , wherein the metadata access is authenticated based at least in part on one or more user attributes.

4. The method of claim 1 , wherein the metadata access is facilitated by a metadata API.

5. The method of claim 1 , wherein the metadata comprises at least one of, one or more atomic variables, or one or more key-value pairs, or any combination thereof.

6. The method of claim 1 , wherein at least one server connection is used to perform the signaling protocol is an ephemeral connection.

7. The method of claim 1 , wherein the peer-to-peer connections are WebRTC connections.

8. The method of claim 1 , wherein at least one of the peer-to-peer connections is established based at least in part on performing a portion of a node-to-node communication protocol, the portion of the node-to-node communication protocol performed to result in a change of connection data pertaining to the connected nodes.

9. The method of claim 1 , further comprising determining a leader from the one or more of the user devices, based at least in part on a second portion of the signaling protocol, the second portion of the signaling protocol comprising at least one metadata access by the one or more of the user devices.

10. The method of claim 1 , further comprising determining one or more followers from the one or more of the user devices, based at least in part on a third portion of the signaling protocol, the third portion of the signaling protocol comprising at least one metadata access by the one or more of the user devices.

11. The method of claim 1 , further comprising delivering an application to the user devices to facilitate establishing the one or more of the peer-to-peer connections.

12. The method of claim 1 , wherein a message from a first connected node is transported by a second connected node to one or more connected nodes in the collaborator network.

13. A computer readable medium, embodied in a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor causes the processor to perform a set of acts, the acts comprising:

maintaining, in a cloud-based environment, a set of metadata at a server that is interfaced with one or more storage devices that hold stored objects accessible by one or more collaborators, wherein the server does not maintain a list of peers that form a plurality of peer-to-peer connections;

exposing at least one semaphore formed by metadata pertaining to a particular one of the stored objects, the semaphore to coordinate access to the metadata;

downloading, from the server in the cloud-based environment to one or more user devices associated with the collaborators, a set of signaling protocol code;

performing at least a first portion of a signaling protocol between the server and one or more of the user devices, the first portion of the signaling protocol comprising processing at least one semaphore access request by the one or more of the user devices; and

establishing one or more of the peer-to-peer connections between two or more of the user devices to form at least one collaborator network.

14. The computer readable medium of claim 13 , wherein the semaphore access comprises at least one of, a compare and swap operation, or a read operation, or a modification operation, or any combination thereof.

15. The computer readable medium of claim 13 , wherein the metadata access is authenticated based at least in part on one or more user attributes.

16. The computer readable medium of claim 13 , wherein the metadata access is facilitated by a metadata API.

17. The computer readable medium of claim 13 , wherein the metadata comprises at least one of, one or more atomic variables, or one or more key-value pairs, or any combination thereof.

18. The computer readable medium of claim 13 , wherein at least one server connection is used to perform the signaling protocol is an ephemeral connection.

19. A system comprising:

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

a processor or processors that execute the instructions to cause the processor or processors to perform a set of acts, the acts comprising,

maintaining, in a cloud-based environment, a set of metadata at a server that is interfaced with one or more storage devices that hold stored objects accessible by one or more collaborators, wherein the server does not maintain a list of peers that form a plurality of peer-to-peer connections;

exposing at least one semaphore formed by metadata pertaining to a particular one of the stored objects, the semaphore to coordinate access to the metadata;

downloading, from the server in the cloud-based environment to one or more user devices associated with the collaborators, a set of signaling protocol code;

performing at least a first portion of a signaling protocol between the server and one or more of the user devices, the first portion of the signaling protocol comprising processing at least one semaphore access request by the one or more of the user devices; and

establishing one or more of the peer-to-peer connections between two or more of the user devices to form at least one collaborator network.

20. The system of claim 19 , wherein the semaphore access comprises at least one of, a compare and swap operation, or a read operation, or a modification operation, or any combination thereof.

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 Jul 19, 2017
From: BASTA, MATTHEW A.; LING, CHRISTOPHER; VAN AS, TARRENCE
To: BOX, INC.
Reel/Frame 043048/0511 →
Continuity (1)
Related Publication 20170295226A1 · Oct 12, 2017
Cited By (1)
US 12,501,225