# US 2019/0171532 A1 · MANAGING BIG DATA ON DOCUMENT BASED NoSQL DATABASES

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

- Number: US 2019/0171532 A1
- Document ID: US20190171532A1
- Status: Published application
- Kind: A1
- Application number: 15/830,163
- Filed: 2017-12-04
- Published: 2019-06-06
- Earliest claimed: 2017-12-04
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Aharon Abadi; Roie Melamed; Hisham Yasin; Ashraf Haib
- Web page: https://patentgrep.com/patent/US20190171532A1

## CPC

- G06F 11/1464: {for networked environments}
- G06F 11/1443: {Transmit or communication errors}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1456: {Hardware arrangements for backup}
- G06F 11/1469: {Backup restoration techniques}
- G06F 16/2358: {Change logging, detection, and notification (replication G06F16/27)}
- H04L 67/1034: Reaction to server failures by a load balancer
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- G06F 11/202: {where processing functionality is redundant (redundant communication control functionality G06F11/2005, redundant storage control functionality G06F11/2089)}
- G06F 2201/80: Database-specific techniques
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A document management system including a document manager connected to a document storage, and a backup coordinator connected to the document manager and adapted to: continuously receive a plurality of notifications from the document manager, each including information describing a change in a document stored in the document manager's document storage; and for each notification in the plurality of notifications: select a backup agent from a plurality of backup agents connected to the backup coordinator; send a backup request to the backup agent including the information, for the purpose of updating a copy of the document stored in a backup storage connected to the backup agent; wait for an acknowledgement message from the backup agent; and send another backup request to another backup agent selected from the plurality of backup agents upon a failure to receive the acknowledgement message within an identified amount of time after sending the backup request.

## Claims

### Claim 1

A document management system comprising:
at least one local document manager, comprising at least one hardware processor connected to a local document storage; and
at least one backup coordinator comprising at least one other hardware processor connected to the at least one local document manager and adapted to:
continuously receive a plurality of change notifications from the at least one local document manager, each comprising change information describing a change in a document stored in the at least one local document manager's local document storage; and
for each notification in the plurality of change notifications:
select a backup agent from a plurality of backup agents connected to the at least one backup coordinator, wherein the backup agent comprises at least one third hardware processor;
send a backup request to the backup agent comprising the change information, for the purpose of updating a copy of the document stored in a backup storage connected to the backup agent;
wait for an acknowledgement message from the backup agent; and
send another backup request to another backup agent selected from the plurality of backup agents upon a failure to receive the acknowledgement message within an identified amount of time after sending the backup request.

### Claim 2 (depends on 1)

The system of claim 1, wherein the at least one backup coordinator is further adapted to:
receive from at least one of the at least one local document manager a first request to restore the document;
send a second request to at least one of the plurality of backup agents to restore the document;
receive from at least one of the plurality of backup agents a message comprising the document; and
send the document to the at least one of the at least one local document manager.

### Claim 3 (depends on 1)

The system of claim 1, wherein the at least one backup coordinator is further adapted to:
receive, from a local document manager of the at least one local document manager or from a user via a management interface, a document backup request comprising information identifying one or more local documents stored in the local document manager's local document storage;
retrieve the one or more local documents from the local document manager's local document storage; and
for each local document of the one or more local documents:
select an on-demand backup agent from the plurality of backup agents;
send the on-demand backup agent an on-demand backup request comprising the local document, for the purpose of updating a copy of the local document stored in the backup storage connected to the on-demand backup agent;
wait for an on-demand acknowledgement message from the on-demand backup agent; and
send another on-demand backup request to another on-demand backup agent selected from the plurality of backup agents upon a failure to receive the on-demand acknowledgement message within the identified amount of time after sending the on-demand backup request.

### Claim 4 (depends on 1)

The system of claim 1, wherein the at least one backup coordinator is connected to the at least one local document manager via a first digital communication network.

### Claim 5 (depends on 1)

The system of claim 1, wherein the at least one backup coordinator is connected to the plurality of backup agents via a second digital communication network.

### Claim 6 (depends on 1)

The system of claim 1, wherein the at least one backup coordinator is further adapted to execute at least one Representational State Transfer (REST) interface; and
wherein the at least one backup coordinator receives the plurality of change request messages via the at least one REST interface.

### Claim 7 (depends on 1)

The system of claim 1, wherein the at least one backup coordinator is further adapted to:
receive from the backup agent a failure message indicating a failure to update the copy of the document stored in the backup storage connected to the backup agent; and
send the other backup request to the other backup agent upon receiving the failure message.

### Claim 8 (depends on 1)

The system of claim 1, wherein the change information comprises a document version number.

### Claim 9 (depends on 2)

The system of claim 2, wherein the first request and the second request comprise a document version number.

### Claim 10 (depends on 1)

The system of claim 1, further comprising at least one monitor hardware processor connected to the at least one backup coordinator and the at least one backup agent, and adapted to:
detect a failure of the backup agent to update the copy of the document stored in the backup storage connected to the backup agent; and
send a monitoring message to the backup coordinator indicating the failure; and
wherein the at least one backup coordinator is further adapted to:
receive the monitoring message; and
send the other backup request to the other backup agent, upon receiving the monitoring message.

### Claim 11 (depends on 1)

The system of claim 1, wherein the at least one backup coordinator maps each of the at least one local document manager to one of the at least one backup agent; and
wherein the backup coordinator selects the backup agent according to the mapping.

### Claim 12 (depends on 1)

The system of claim 1, wherein the at least one backup coordinator comprises a primary backup coordinator.

### Claim 13 (depends on 1)

The system of claim 1, wherein the backup storage connected to the backup agent is a Hadoop File System (HDFS).

### Claim 14 (depends on 10)

The system of claim 10, wherein the at least one monitoring hardware processor executes Apache ZooKeeper.

### Claim 15 (depends on 1)

The system of claim 1, wherein the local document storage is a document-based Not Only Structured Query Language (NoSQL) database.

### Claim 16 (depends on 15)

The system of claim 15, wherein the local document storage is an International Business Machines (IBM) Cloudant database.

### Claim 17

A method for managing documents, comprising:
continuously receiving a plurality of change notifications from at least one local document manager, each of the plurality of change notifications comprising change information describing a change in a document stored in the at least one local document manager's local document storage; and
for each notification in the plurality of change notifications:
selecting a backup agent from a plurality of backup agents;
sending a backup request comprising the change information to the selected backup agent, wherein a copy of the document stored in the local document storage is updated based on the backup request;
receiving an acknowledgement message from the selected backup agent confirming a successful completion of the backup request; and
sending another backup request to another backup agent selected from the plurality of backup agents upon a failure to receive the acknowledgement message within an identified amount of time after sending the backup request.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
in response to determining the acknowledgement message was not received from the selected backup agent within a predetermined amount of time after sending the backup request:
selecting another backup agent from plurality of backup agents and
sending another backup request to the other selected another backup agent.

### Claim 19 (depends on 17)

The method of claim 17, wherein the change information comprises an instruction to create the document, an instruction to delete the document, or an instruction to modify contents of the document.
