# US 11,442,901 B2 · Web application open platform interface (WOPI) server architecture and applications for distributed network computing environments

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,442,901 B2
- Document ID: US11442901B2
- Status: Granted
- Kind: B2
- Application number: 16/871,612
- Filed: 2020-05-11
- Published: 2020-10-22
- Granted: 2022-09-13
- Earliest claimed: 2017-02-01
- Assignees: Open Text SA ULC
- Applicants: Open Text SA ULC
- Inventors: Jody Hupton Palmer; Gary Clayton Cowan; Robert David James Reynolds
- Web page: https://patentgrep.com/patent/US11442901B2

## CPC

- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- G06F 16/1774: {Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files}
- G06F 16/178: Techniques for file synchronisation in file systems
- G06F 16/93: Document management systems
- G06Q 10/101: Collaborative creation, e.g. joint development of products or services
- H04L 63/0869: {for achieving mutual authentication (cryptographic mechanisms or cryptographic arrangements for mutual authentication H04L9/3273)}
- G06Q 10/103: {Workflow collaboration or project management}
- H04L 63/0807: {using tickets, e.g. Kerberos (cryptographic mechanisms or cryptographic arrangements for entity authentication using tickets or tokens H04L9/3213)}
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

An interface server (e.g., Web Application Open Platform Interface (WOPI) server) is communicatively connected to an information management (IM) server and to an online application server which acts as a client of the interface server. When a user wishes to open, create, or edit a document in an online application hosted by the online application server, the interface server is called, instead of the IM server which manages the document at the backend of an enterprise computing network. The interface server is configured for obtaining a working copy of the document from the IM server and providing the working copy to the client. The client provides the working copy to the online application for display on the user device. When the work is done, the working copy is sync'd back through the interface server to the IM server as a new draft and deleted by the interface server.

## Claims

### Claim 1

A method, comprising:
receiving, from a user device by an interface server, a request to open or create a document in an online application hosted by an online application server, the document managed or to be managed by an information management (IM) server operating in an enterprise computing environment;
performing, by the interface server, a discovery process to learn from the IM server operating in the enterprise computing environment a set of parameters needed to open or create the document in the online application hosted by the online application server;
providing, by the interface server, the set of parameters learned from the IM server operating in the enterprise computing environment to the online application server;
receiving, by the interface server from the online application server, a call with the set of parameters requesting the document from the IM server operating in the enterprise computing environment;
communicating, by the interface server, the call from the online application server to the IM server operating in the enterprise computing environment, wherein the IM server fetches or creates the document in the enterprise computing environment, makes a copy of the document, and communicates the copy of the document to the interface server;
receiving, by the interface server, the copy of the document from the IM server operating in the enterprise computing environment; and
caching, by the interface server, the copy of the document for the online application server in a local data storage, wherein the online application server operates to display the copy of the document on the user device via the online application hosted by the online application server.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the request to open or create the document is received from an IM application and comprises a document identifier for the document and a bearer token, wherein the IM application is a client of the IM server operating in the enterprise computing environment.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising:
syncing, by the interface server, the copy of the document to reflect any update to the document; and
locking, by the interface server, the copy until an unlock request is received or until a timeout condition is met.

### Claim 4 (depends on 1)

The method according to claim 1, further comprising:
prior to the communicating, determining, by the interface server, whether the document is locked; and
responsive to the document being locked, hosting an existing copy of the document for the online application server.

### Claim 5 (depends on 1)

The method according to claim 1, further comprising:
pulling, by the interface server at a predetermined interval, the online application server for updates to the document.

### Claim 6 (depends on 1)

The method according to claim 1, further comprising:
receiving, by the interface server, updates or whole files from the online application server.

### Claim 7 (depends on 1)

The method according to claim 1, further comprising:
syncing, by the interface server, the copy of the document to the IM server operating in the enterprise computing environment for creating a new object; and
deleting, by the interface server, the copy of the document from the local data storage.

### Claim 8

A system, comprising:
a processor;
a non-transitory computer-readable medium; and
stored instructions translatable by the processor for:
receiving, from a user device, a request to open or create a document in an online application hosted by an online application server, the document managed or to be managed by an information management (IM) server operating in an enterprise computing environment;
performing a discovery process to learn from the IM server operating in the enterprise computing environment a set of parameters needed to open or create the document in the online application hosted by the online application server;
providing the set of parameters learned from the IM server operating in the enterprise computing environment to the online application server;
receiving, from the online application server, a call with the set of parameters requesting the document from the IM server operating in the enterprise computing environment;
communicating the call from the online application server to the IM server operating in the enterprise computing environment, wherein the IM server fetches or creates the document in the enterprise computing environment, makes a copy of the document, and communicates the copy of the document to the system;
receiving the copy of the document from the IM server operating in the enterprise computing environment; and
caching the copy of the document for the online application server in a local data storage, wherein the online application server operates to display the copy of the document on the user device via the online application hosted by the online application server.

### Claim 9 (depends on 8)

The system of claim 8, wherein the request to open or create the document is received from an IM application and comprises a document identifier for the document and a bearer token, wherein the IM application is a client of the IM server operating in the enterprise computing environment.

### Claim 10 (depends on 8)

The system of claim 8, wherein the stored instructions are further translatable by the processor for:
syncing the copy of the document to reflect any update to the document; and
locking the copy until an unlock request is received or until a timeout condition is met.

### Claim 11 (depends on 8)

The system of claim 8, wherein the stored instructions are further translatable by the processor for:
prior to the communicating, determining whether the document is locked; and
responsive to the document being locked, hosting an existing copy of the document for the online application server.

### Claim 12 (depends on 8)

The system of claim 8, wherein the stored instructions are further translatable by the processor for:
pulling, at a predetermined interval, the online application server for updates to the document.

### Claim 13 (depends on 8)

The system of claim 8, wherein the stored instructions are further translatable by the processor for:
receiving updates or whole files from the online application server.

### Claim 14 (depends on 8)

The system of claim 8, wherein the stored instructions are further translatable by the processor for:
syncing the copy of the document to the IM server operating in the enterprise computing environment for creating a new object; and
deleting the copy of the document from the local data storage.

### Claim 15

A computer program product comprising a non-transitory computer-readable medium storing instructions translatable by a processor of an interface server for:
receiving, from a user device, a request to open or create a document in an online application hosted by an online application server, the document managed or to be managed by an information management (IM) server operating in an enterprise computing environment;
performing a discovery process to learn from the IM server operating in the enterprise computing environment a set of parameters needed to open or create the document in the online application hosted by the online application server;
providing the set of parameters learned from the IM server operating in the enterprise computing environment to the online application server;
receiving, from the online application server, a call with the set of parameters requesting the document from the IM server operating in the enterprise computing environment;
communicating the call from the online application server to the IM server operating in the enterprise computing environment, wherein the IM server fetches or creates the document in the enterprise computing environment, makes a copy of the document, and communicates the copy of the document to the interface server;
receiving the copy of the document from the IM server operating in the enterprise computing environment; and
caching the copy of the document for the online application server in a local data storage, wherein the online application server operates to display the copy of the document on the user device via the online application hosted by the online application server.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the request to open or create the document is received from an IM application and comprises a document identifier for the document and a bearer token, wherein the IM application is a client of the IM server operating in the enterprise computing environment.

### Claim 17 (depends on 15)

The computer program product of claim 15, wherein the instructions are further translatable by the processor for:
syncing the copy of the document to reflect any update to the document; and
locking the copy until an unlock request is received or until a timeout condition is met.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein the instructions are further translatable by the processor for:
prior to the communicating, determining whether the document is locked; and
responsive to the document being locked, hosting an existing copy of the document for the online application server.

### Claim 19 (depends on 15)

The computer program product of claim 15, wherein the instructions are further translatable by the processor for:
pulling, at a predetermined interval, the online application server for updates to the document; or
receiving updates or whole files from the online application server.

### Claim 20 (depends on 15)

The computer program product of claim 15, wherein the instructions are further translatable by the processor for:
syncing the copy of the document to the IM server operating in the enterprise computing environment for creating a new object; and
deleting the copy of the document from the local data storage.
