IP Library › Granted Patent US 12,242,426
Granted Patent B2
US 12,242,426 · App. 17/462,789 · Granted Mar 4, 2025

Bi-directional synchronization of content and metadata between repositories

Inventors: Pardeep Kumar (Bangalore, IN); Vikash Sharma (Bangalore, IN); Varun Pandit (Bangalore, IN); Anusha Hemanth Veda (Bangalore, IN)
Assignee: OPEN EXT HOLDINGS, INC.
G06F16/178G06F16/176G06F16/2358G06F16/256G06F16/258
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 12,242,426
App. No.
17/462,789
Filed
Aug 31, 2021
Granted
Mar 4, 2025
Kind
B2
Art Unit
2162
USPC
707/610
Abstract

Systems, methods and products for synchronization of content and metadata where the content and metadata are shared from a source repository to a target repository. One embodiment of a repository connector system utilizes a monolithic robotic server for scheduled synchronization and a second monolithic manual server for processing manual synchronization requests. A metadata server in the connector system enables sharing and synchronization of mapped metadata between content objects in the source and target repositories. A notification server is provided in the connector system to track notifications of changes to shared content in the target repository, and to replicate these notifications in a local database that is accessible by the synchronization servers to identify changes to the content in the second repository. Each of the servers is coupled to a service registry in the connector system to enable discovery and interaction between the connector system components.

Claims (36)

1. A repository connector system for synchronization comprising:

a synchronization server including a processor and a memory, the synchronization server communicatively connected to a first data repository, the synchronization server communicatively connected to a second data repository, the memory storing instructions executable by the processor for:

configuring one or more content shares from the first data repository to the second data repository, in accordance with one or more user defined mappings of content from the first data repository to the second data repository; and

for each content share;

instantiating a notification service instance associated with a notification service running on a notification server of the repository connector system,

creating a robot account as a collaborator on the content share, the robot account, as a collaborator, monitoring changes on the each content share on the second data repository,

the notification service instance initiating replication of notification records in the second data repository corresponding to the robot account to a local notification database that is local to the notification server and to the repository connector system, and that is remote from the second data repository, and

accessing the local notification database at predetermined regular intervals to identify notification records in the local notification database indicating changes in the second data repository to data of the content share, and synchronizing the changes to the first data repository to synchronize the content share to the first data repository.

2. The system of claim 1 , wherein each of the one or more content shares comprises a mapped content share, the mapped content share mapping a selected subset of content folders on the first data repository to a corresponding set of content folders on the second data repository.

3. The system of claim 2 , wherein each of the selected subset of content folders on the first data repository and the corresponding set of content folders on the second data repository contains one or more content objects, each of the content objects having corresponding metadata.

4. The system of claim 1 , wherein the server configures the one or more content shares according to administrative user input received via an administrative configuration interface.

5. The system of claim 1 , wherein the notification service instance performs a replication loop in which notification records corresponding to the robot account are identified and replicated to the local notification database according to a predetermined schedule.

6. The system of claim 1 , wherein the server performs, according to a predetermined schedule, a synchronization loop in which the server accesses the notification records in the local notification database and synchronizes changes corresponding to the notification records from the second data repository to the first data repository.

7. The system of claim 6 , wherein in the synchronization loop the server parses the notification records in the local notification database, identifies from the notification records changes to specific content objects in the second data repository, and makes identified changes to specific content objects in the first data repository corresponding to the specific content objects in the second data repository.

8. A computer implemented repository connector method for synchronization comprising:

configuring, in a synchronization server of a repository connector system, one or more content shares from a first data repository which is coupled to the synchronization server to a second data repository which is coupled to the synchronization server, in accordance with one or more user defined mappings of content from the first data repository to the second data repository; and

for each content share:

instantiating a notification service instance associated with a notification service running on a notification server of the repository connector system,

creating a robot account as a collaborator on the content share, the robot account, as a collaborator, monitoring changes on the each content share on the second data repository,

the notification service instance initiating replication of notification records in the second data repository corresponding to the robot account to a local notification database that is local to the notification server and to the repository connector system, and that is remote from the second data repository, and

accessing the local notification database at predetermined regular intervals to identify notification records in the local notification database indicating changes in the second data repository to data of the content share, and synchronizing the changes to the first data repository to synchronize the content share to the first data repository.

9. The method of claim 8 , wherein each of the one or more content shares comprises a mapped content share, the mapped content share mapping a selected subset of content folders on the first data repository to a corresponding set of content folders on the second data repository, and wherein each of the selected subset of content folders on the first data repository and the corresponding set of content folders on the second data repository contains one or more content objects, each of the content objects having corresponding metadata.

10. The method of claim 8 , further comprising performing, by the notification service instance, a replication loop in which notification records corresponding to the robot account are identified and replicated to the local notification database according to a predetermined schedule.

11. The method of claim 8 , further comprising performing, by the server according to a predetermined schedule, a synchronization loop in which the server accesses the notification records in the local notification database and synchronizes changes corresponding to the notification records from the second data repository to the first data repository.

12. The method of claim 11 , further comprising, by the server in the synchronization loop, parsing the notification records in the local notification database, identifying from the notification records changes to specific content objects in the second data repository, and making identified changes to specific content objects in the first data repository corresponding to the specific content objects in the second data repository.

13. A computer program product comprising a non-transitory computer-readable medium storing instructions executable by one or more processors to perform:

configuring one or more content shares from a first data repository which is coupled to a synchronization server of a repository connector system, to a second data repository which is coupled to the synchronization server, in accordance with one or more user defined mappings of content from the first data repository to the second data repository;

for each content share;

instantiating a notification service instance associated with a notification service running on a notification server of the repository connector system,

creating a robot account as a collaborator on the content share, the robot account, as a collaborator, monitoring changes on the each content share on the second data repository,

the notification service instance initiating replication of notification records in the second data repository corresponding to the robot account to a local notification database that is local to the notification server and to the repository connector system, and that is remote from the second data repository; and

accessing the local notification database at predetermined regular intervals to identify notification records in the local notification database indicating changes in the second data repository to data of the content share, and synchronizing the changes to the first data repository to synchronize the content share to the first data repository.

14. The computer program product of claim 13 , wherein each of the one or more content shares comprises a mapped content share, the mapped content share mapping a selected subset of content folders on the first data repository to a corresponding set of content folders on the second data repository, and wherein each of the selected subset of content folders on the first data repository and the corresponding set of content folders on the second data repository contains one or more content objects, each of the content objects having corresponding metadata.

15. The computer program product of claim 13 , wherein the instructions are further executable by the one or more processors to perform a replication loop in which notification records corresponding to the robot account are identified and replicated to the local notification database according to a predetermined schedule.

16. The computer program product of claim 13 , wherein the instructions are further executable by the one or more processors to perform, according to a predetermined schedule, a synchronization loop in which the server accesses the notification records in the local notification database and synchronizes changes corresponding to the notification records from the second data repository to the first data repository.

17. The computer program product of claim 16 , wherein the instructions are further executable by the one or more processors to perform, in the synchronization loop, parsing the notification records in the local notification database, identifying from the notification records changes to specific content objects in the second data repository, and making identified changes to specific content objects in the first data repository corresponding to the specific content objects in the second data repository.

Assignments (2)
MERGER Recorded May 4, 2026
From: OPEN TEXT HOLDINGS, INC.
To: OPEN TEXT INC.
Reel/Frame 074548/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2021
From: KUMAR, PARDEEP; SHARMA, VIKASH; PANDIT, VARUN; VEDA, ANUSHA HEMANTH
To: OPEN TEXT HOLDINGS, INC.
Reel/Frame 057379/0708 →
Continuity (2)
Provisional Application 63078826 · Sep 15, 2020
Related Publication 20220083510A1 · Mar 17, 2022
References Cited (41)
US 7860826B2 · Freedman · 2010 [cited by examiner]
US 8504519B1 · Sachs · 2013 [cited by examiner]
US 8745072B2 · Sharma · 2014 [cited by examiner]
US 8799212B2 · Rusch · 2014 [cited by examiner]
US 8868666B1 · Hellwege · 2014 [cited by examiner]
US 9348802B2 · Massand · 2016 [cited by examiner]
US 9479567B1 · Koorapati · 2016 [cited by examiner]
US 9519682B1 · Pujara · 2016 [cited by examiner]
US 10055474B1 · Wei · 2018 [cited by examiner]
US 10216852B1 · Gupta · 2019 [cited by examiner]
US 11531682B2 · Kramer · 2022 [cited by examiner]
US 20080162588A1 · Rusch · 2008 [cited by examiner]
US 20090113076A1 · Long · 2009 [cited by examiner]
US 20130138608A1 · Smith · 2013 [cited by examiner]
US 20130292443A1 · Brown · 2013 [cited by examiner]
US 20130347117A1 · Parks · 2013 [cited by examiner]
US 20140324770A1 · Marceau · 2014 [cited by examiner]
US 20150019480A1 · Maquaire · 2015 [cited by examiner]
US 20150101021A1 · McErlean · 2015 [cited by examiner]
US 20160291856A1 · von Muhlen · 2016 [cited by examiner]
US 20160292179A1 · von Muhlen · 2016 [cited by examiner]
US 20160292443A1 · von Muhlen · 2016 [cited by examiner]
US 20170017665A1 · Savenok · 2017 [cited by examiner]
US 20170085668A1 · Gasser · 2017 [cited by examiner]
US 20170091300A1 · Goldberg · 2017 [cited by examiner]
US 20170169049A1 · Zhu · 2017 [cited by examiner]
US 20170199921A1 · Khanlarov · 2017 [cited by examiner]
US 20170220605A1 · Nivala · 2017 [cited by examiner]
US 20190079986A1 · Nichols · 2019 [cited by examiner]
US 20190238619A1 · Mantrana-Exposito · 2019 [cited by examiner]
US 20210342785A1 · Mann · 2021 [cited by examiner]
US 20230222531A1 · Cella · 2023 [cited by examiner]
CN 109564512A · 2019 [cited by examiner]
CN 109829679A · 2019 [cited by examiner]
CN 110083579A · 2019 [cited by examiner]
CN 110309161A · 2019 [cited by examiner]
FR 3096799A1 · 2020 [cited by examiner]
JP 2019105964A · 2019 [cited by examiner]
WO WO2016041529A1 · 2016 [cited by examiner]
WO WO2018128432A1 · 2018 [cited by examiner]
CN 109829679 A—Project Management Method, Device, Computer Device And Storage Medium, Guo, Jin-hong (Year: 2019). [cited by examiner]