IP Library Granted Patent US 9,805,106
Granted Patent B2
US 9,805,106 · App. 14/170,369 · Granted Oct 31, 2017

Hybrid synchronization between cloud and on-premise systems in a content management system

Inventors: Neil McErlean (Winchester, GB); Tuna Aksoy (Maidenhead, GB); Nick Burch (Maidenhead, GB); Michael Farman (Maidenhead, GB); Paul Holmes-Higgin (Maidenhead, GB); John Newton (Maidenhead, GB); Brian Remmington (Maidenhead, GB); Mark Rogers (Maidenhead, GB); Jan Vonka (Maidenhead, GB); David Webster (Maidenhead, GB)
Assignee: Alfresco Software, Inc.
G06F17/30575G06F8/61G06F17/30174G06F17/30581H04L63/02H04L63/10H04L67/1095
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,805,106
App. No.
14/170,369
Granted
Oct 31, 2017
Kind
B2
Abstract

Content maintained in a first repository of a first installation (which can optionally be an on-premise installation) of a content management system, as well as metadata associated with the content, can be shared via an approach in which content items maintained in the first repository are synchronized with a copy of the content items maintained in a second repository of a second installation (which can optionally be a cloud-based installation). The first installation can be optionally firewall protected. The copy of the content items can be accessed by collaborative users both within and external to a firewall. Related systems, methods, products, etc. are described.

Claims (41)

1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations of a first installation of a content management system, the first installation comprising a first repository storing content and within a firewall of an enterprise, the firewall protecting the first repository from access by users external to the firewall, the operations comprising:

sending, by the first installation, a request for a change manifest to a second installation of the content management system managing a second repository, the second repository being outside of the firewall and maintaining a copy of some of the content to enable collaboration between a plurality of users external to the firewall who have appropriate permissions for accessing a tenant of the second installation of the content management system outside of the firewall, the request comprising a repository identifier identifying a first repository managed by the first installation of the content management system, the first repository storing content items included in one or more synchronization sets defining linked content for synchronization between the first repository and the second repository;

receiving, by the first installation, the change manifest from the second installation, the change manifest comprising a synchronization set identifier identifying a changed synchronization set of the one or more synchronization sets, the changed synchronization set comprising a content item of the linked content that has been changed at the second repository subsequent to a previous synchronization between the first repository and the second repository;

requesting, by the first installation from the second installation based on the change manifest, a detailed record of changes made at the second repository to the content item; and

receiving, at the first installation from the second installation, a set of change descriptions comprising the detailed record of changes to the content item.

2. A computer program product as in claim 1 ,

wherein the operations further comprise: modifying the at least one content item at the first repository based on the set of change descriptions.

3. A computer program product as in claim 1 , wherein the second repository comprises a cloud-based tenant repository comprising a plurality of sites; and the synchronization set defines content for synchronization between the first repository comprising an on-premise repository and a site of the plurality of sites, and wherein the operations further comprise allowing access by a user external to the firewall to the site according to a set of read/write permissions defining user access to content contained in the site.

4. A computer program product as in claim 1 , wherein the operations further comprise: selecting the at least one content item for inclusion in the synchronization set and a destination in the second repository to which the at least one content item in the synchronization set is to be synchronized.

5. A computer program product as in claim 4 , wherein the destination comprises at least one of a tenant, a site, a folder, and a file maintained at the second installation.

6. A computer program product as in claim 1 , wherein the detailed record of changes to the at least one content item comprise at least one of metadata changes and content changes to the at least one content item at the second repository.

7. A computer program product as in claim 1 , wherein the operations further comprise:

generating a second set of change descriptions comprising a second detailed record of changes to at least another content item occurring at the first repository, the generating comprising reading from a first audit log maintained at the first repository, the first audit log recording changes made at the first repository to the content defined by the synchronization set; and

pushing the second detailed record of changes to the second installation for modifying of the at least another content item at the second repository based on the second set of change descriptions.

8. A computer program product as in claim 1 , wherein the change manifest is generated based on a second audit log maintained at the second repository, the second audit log recording changes made at the second repository to the content defined by the synchronization set.

9. A computer program product as in claim 1 , wherein the at least one content item comprises one or more of a file, a folder, and a directory structure.

10. A computer program product as in claim 1 , wherein the change manifest further comprises a content item identifier identifying the content item.

11. A system comprising:

computer hardware configured to perform operations of a first installation of a content management system, the first installation comprising a first repository storing content of an enterprise within a firewall of the enterprise, the firewall protecting the first repository from access by users external to the firewall, the operations comprising:

sending, by the first installation, a request for a change manifest to a second installation of the content management system managing a second repository, the second repository being outside of the firewall and maintaining a copy of some of the content to enable collaboration between a plurality of users external to the firewall who have appropriate permissions for accessing a tenant of the second installation of the content management system outside of the firewall, the request comprising a repository identifier identifying a first repository managed by the first installation of the content management system, the first repository storing content items included in one or more synchronization sets defining linked content for synchronization between the first repository and the second repository;

receiving, by the first installation, the change manifest from the second installation, the change manifest comprising a synchronization set identifier identifying a changed synchronization set of the one or more synchronization sets, the changed synchronization set comprising a content item of the linked content that has been changed at the second repository subsequent to a previous synchronization between the first repository and the second repository;

requesting, by the first installation, from the second installation based on the change manifest, a detailed record of changes made at the second repository to the content item; and

receiving, at the first installation from the second installation, a set of change descriptions comprising the detailed record of changes to the content item.

12. A system as in claim 11 , wherein the computer hardware comprises at least one programmable processor and a machine-readable medium storing instructions that, when executed by the at least one processor, cause the at least one programmable processor to perform the operations.

13. A system as in claim 11 , wherein the operations further comprise: modifying the at least one content item at the first repository based on the set of change descriptions.

14. A system as in claim 11 , wherein the second repository comprises a cloud-based tenant repository comprising a plurality of sites; and the synchronization set defines content for synchronization between the first repository comprising an on-premise repository and a site of the plurality of sites, and wherein the operations further comprise allowing access by a user external to the firewall to the site according to a set of read/write permissions defining user access to content contained in the site.

15. A system as in claim 11 , wherein the operations further comprise selecting the at least one content item for inclusion in the synchronization set and a destination in the second repository to which the at least one content item in the synchronization set is to be synchronized.

16. A system as in claim 11 , wherein the operations further comprise:

generating a second set of change descriptions comprising a second detailed record of changes to at least another content item occurring at the first repository, the generating comprising reading from a first audit log maintained at the first repository, the first audit log recording changes made at the first repository to the content defined by the synchronization set; and

pushing the second detailed record of changes to the second installation for modifying of the at least another content item at the second repository based on the second set of change descriptions.

17. A system as in claim 11 , wherein the change manifest is generated based on a second audit log maintained at the second repository, the second audit log recording changes made at the second repository to the content defined by the synchronization set.

18. A computer-implemented method comprising:

sending a request for a change manifest to a second installation of a content management system managing a second repository, the request comprising a repository identifier identifying a first repository managed by a first installation of the content management system, the first repository storing content items included in one or more synchronization sets defining linked content for synchronization between the first repository and the second repository, the first installation comprising a first repository storing content of an enterprise within a firewall of the enterprise, the firewall protecting the first repository from access by users external to the firewall, the second repository being outside of the firewall and maintaining a copy of some of the content to enable collaboration between a plurality of users external to the firewall who have appropriate permissions for accessing a tenant of the second installation of the content management system outside of the firewall;

receiving, by the first installation, the change manifest from the second installation, the change manifest comprising a synchronization set identifier identifying a changed synchronization set of the one or more synchronization sets, the changed synchronization set comprising a content item of the linked content that has been changed at the second repository subsequent to a previous synchronization between the first repository and the second repository;

requesting, by the first installation from the second installation based on the change manifest, a detailed record of changes made at the second repository to the content item; and

receiving, at the first installation from the second installation, a set of change descriptions comprising the detailed record of changes to the content item.

19. A computer-implemented method comprising:

receiving, at a second installation of a content management system managing a second repository, a request from a first installation of the content management system for a change manifest, the request comprising a repository identifier identifying a first repository managed by the first installation of the content management system, the first repository storing content items included in one or more synchronization sets defining linked content for synchronization between the first repository and the second repository, the first installation comprising a first repository storing content of an enterprise within a firewall of the enterprise, the firewall protecting the first repository from access by users external to the firewall, the second repository being outside of the firewall and maintaining a copy of some of the content to enable collaboration between a plurality of users external to the firewall who have appropriate permissions for accessing a tenant of the second installation of the content management system outside of the firewall;

sending the change manifest from the second installation to the first installation, the change manifest comprising a synchronization set identifier identifying a changed synchronization set of the one or more synchronization sets, the changed synchronization set comprising a content item of the linked content that has been changed at the second repository subsequent to a previous synchronization between the first repository and the second repository;

receiving, at the second installation from the first installation, a request based on the change manifest for a detailed record of changes made at the second repository to the content item; and

sending, to the first installation from the second installation, a set of change descriptions comprising the detailed record of changes to the content item.

Assignments (11)
SECURITY INTEREST Recorded Jan 17, 2024
From: HYLAND UK OPERATIONS LIMITED
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 066339/0332 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 055820/0369 Recorded Sep 24, 2023
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, A BRANCH OF CREDIT SUISSE
To: ALFRESCO SOFTWARE LIMITED (K/N/A HYLAND UK OPERATIONS LIMITED)
Reel/Frame 065018/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 55820/0343 Recorded Sep 21, 2023
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, A BRANCH OF CREDIT SUISSE
To: ALFRESCO SOFTWARE LIMITED (K/N/A HYLAND UK OPERATIONS LIMITED)
Reel/Frame 064974/0425 →
CHANGE OF NAME Recorded Oct 13, 2021
From: ALFRESCO SOFTWARE LIMITED
To: HYLAND UK OPERATIONS LIMITED
Reel/Frame 057909/0840 →
SECURITY AGREEMENT SUPPLEMENT (FIRST LIEN) Recorded Mar 26, 2021
From: ALFRESCO SOFTWARE LIMITED
To: CREDIT SUISSE
Reel/Frame 055820/0343 →
SECURITY AGREEMENT SUPPLEMENT (SECOND LIEN) Recorded Mar 26, 2021
From: ALFRESCO SOFTWARE LIMITED
To: CREDIT SUISSE
Reel/Frame 055820/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: ALFRESCO SOFTWARE, INC.
To: ALFRESCO SOFTWARE LIMITED
Reel/Frame 054935/0642 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 50372/0079 Recorded Oct 27, 2020
From: GUGGENHEIM CREDIT SERVICES, LLC, AS COLLATERAL AGENT
To: ALFRESCO SOFTWARE, INC.
Reel/Frame 054229/0133 →
NOTICE OF ASSIGNMENT OF PATENT SECURITY AGREEMENT RECORDED AT R/F 045602/0578 Recorded Sep 13, 2019
From: GUGGENHEIM CORPORATE FUNDING, LLC, AS RETIRING AGENT
To: GUGGENHEIM CREDIT SERVICES, LLC, AS SUCCESSOR AGENT
Reel/Frame 050372/0079 →
PATENT SECURITY AGREEMENT Recorded Mar 14, 2018
From: ALFRESCO SOFTWARE, INC.
To: GUGGENHEIM CORPORATE FUNDING, LLC
Reel/Frame 045602/0578 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2014
From: MC ERLEAN, NEIL; ROGERS, MARK; VONKA, JAN; AKSOY, TUNA; BURCH, NICK; FARMAN, MICHAEL; HOLMES-HIGGIN, PAUL; NEWTON, JOHN; REMMINGTON, BRIAN; WEBSTER, DAVID
To: ALFRESCO SOFTWARE, INC.
Reel/Frame 033535/0297 →
Continuity (2)
Provisional Application 61887277 · Oct 4, 2013
Related Publication 20150101021A1 · Apr 9, 2015