IP Library Granted Patent US 9,483,473
Granted Patent B2
US 9,483,473 · App. 14/474,507 · Granted Nov 1, 2016

High availability architecture for a cloud-based concurrent-access collaboration platform

Inventors: Michael Ansel (Los Altos, CA); Miles Spielberg (Sunnyvale, CA); Yuan Cheng (Los Altos, CA); Lance Co Ting Keh (Los Altos, CA); Antoine Boulanger (San Francisco, CA); Jonathan Berger (Los Altos, CA); Komal Mangtani (Los Altos, CA); Kevin Gao (San Francisco Bay, CA); Remington Wong (San Francisco Bay, CA); Naeim Semsarilar (San Carlos, CA); Yingming Chen (Los Altos, CA); Florian Jourda (San Francisco, CA)
Assignee: Box, Inc.
G06F17/30011G06F11/14G06F17/2288G06F17/3089G06Q10/10H04L29/0827H04L29/08261H04L29/08297
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 9,483,473
App. No.
14/474,507
Granted
Nov 1, 2016
Kind
B2
Abstract

Embodiments in the present disclosure include systems and methods related to a high-availability architecture for a cloud-based concurrent-access collaboration platform. The disclosed technology relates to an active data center which includes multiple document server instances that handle user requests for concurrently accessing documents. Multiple document server instances are implemented on a single physical server. This architecture uses an instance assignment manager to assign documents to the document server instances, a primary repository to store backup snapshots of the documents, and a datastore to store all changes made to the documents. The disclosed technology also involves a backup data center that can be swapped with the active data center automatically.

Claims (20)

1. A high-availability system for managing documents on a cloud-based computing platform, the system comprising:

two or more load balancers configured to route requests received from a client;

one or more document servers for handling the requests routed by the two or more load balancers,

wherein each document server includes multiple document server instances, each of which is responsible for processing edits for particular documents, and

wherein each document is dynamically associated with one document server instance;

a primary repository for periodically uploading snapshots of documents from the one or more document server instances, and

a secondary repository for storing edits to the documents.

2. The high-availability system of claim 1 wherein, in response to uploading snapshots, the primary repository generates one or more notifications for collaborators associated with respective documents for which the snapshots are uploaded.

3. The high-availability system of claim 1 , wherein the snapshots include copies of full text documents, and wherein the snapshots are uploaded to the primary repository at predetermined time intervals.

4. The high-availability system of claim 1 , wherein the edits to documents are uploaded to the secondary repository in real-time or near real-time.

5. The high-availability system of claim 1 , further comprising a security manager component for encrypting and decrypting document data for the document server instance, wherein the document data includes any one or more of: full document content, document changes and encryption keys.

6. The high-availability system of claim 1 , wherein each of the multiple document server instances includes a buffering layer implemented in an abstraction layer.

7. The high-availability system of claim 6 , wherein document data is:

stored in the buffering layer;

encrypted in the buffering layer through the security manager component; and

uploaded, in encrypted form, to the secondary repository.

8. The high-availability system of claim 7 , wherein each document server instance on a document server includes a respective upload queue, each respective upload queue including snapshots of documents queued for upload to the primary repository, and wherein the snapshots in each upload queue are associated with documents being accessed through the respective document server instance.

9. The high-availability system of claim 1 , further comprising an instance assignment manager for maintaining an assignment of each document to a document server instance on a document server, wherein, if a change in status of a document server or document server instance is detected, the instance assignment manager updates the assignment according to the change.

10. The high-availability system of claim 9 , wherein the instance assignment manager divides a document storage space into zones, associates a document server instance with one or more of the zones, and assigns the documents into the zones.

11. The high-availability system of claim 1 , wherein one or more of the load balancers is coupled to a proxy server, and wherein any requests for static assets received from the client are routed by the proxy server.

Assignments (5)
SECURITY INTEREST Recorded Jul 26, 2023
From: BOX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 064389/0686 →
RELEASE OF SECURITY INTEREST Recorded Dec 8, 2015
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: BOX, INC.
Reel/Frame 037237/0503 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2015
From: ANSEL, MICHAEL; SPIELBERG, MILES; CHENG, YUAN; KEH, LANCE CO TING; BOULANGER, ANTOINE; BERGER, JONATHAN; MANGTANI, KOMAL; GAO, KEVIN; WONG, REMINGTON; SEMSARILAR, NAEIM; CHEN, YINGMING; JOURDA, FLORIAN
To: BOX INC.
Reel/Frame 035446/0514 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER FROM 14308038 AND REPLACE WITH 14304038 PREVIOUSLY RECORDED AT REEL: 034590 FRAME: 0250. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 30, 2014
From: BOX, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 034769/0809 →
PATENT SECURITY AGREEMENT Recorded Dec 9, 2014
From: BOX, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 034590/0250 →
Continuity (2)
Provisional Application 61877938 · Sep 13, 2013
Related Publication 20150081773A1 · Mar 19, 2015