# US 11,122,120 B2 · Object notification wherein compare and swap is performed

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

- Number: US 11,122,120 B2
- Document ID: US11122120B2
- Status: Granted
- Kind: B2
- Application number: 16/423,572
- Filed: 2019-05-28
- Published: 2020-12-03
- Granted: 2021-09-14
- Earliest claimed: 2019-05-28
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: David Brittain Bolen; Wesley Leggette; Brian Frederick Ober
- Web page: https://patentgrep.com/patent/US11122120B2

## CPC

- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 67/55: Push-based network services
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0667: {at data level, e.g. file, record or object virtualisation}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- 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)

## Abstract

A method, computer system, and a computer program product for object notifications is provided. The present invention may include receiving a requestor's operation. The present invention may then include determining that a notification describing the requestor's operation should be sent. The present invention may then include determining whether the requestor's operation is successful or unsuccessful, and the present invention may lastly include deleting an in-memory object.

## Claims

### Claim 1

A method for object notifications, the method comprising:
receiving, by a dispersed storage processing unit, a requestor's operation;
determining that a notification describing the requestor's operation should be sent for modifying operations, failed operations, and/or for non-modifying operations, wherein the notification describing the requestor's operation is guaranteed or non-guaranteed based on an implementation choice of a user, and indicates a name of an object, a time that the object is written, and a number of bytes of the object, and handling the requestor's operation using compare and swap instructions;
determining whether the requestor's operation is successful or unsuccessful; and
deleting an in-memory object.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining that the notification describing the requestor's operation should be sent further comprises:
processing the requestor's operation; and
determining that a requestor requires the notification describing the requestor's operation.

### Claim 3 (depends on 2)

The method of claim 2, further comprising;
writing the in-memory object in parallel with object metadata while processing the requestor's operation, wherein writing the in-memory object includes erasure coding the in-memory object and sending the in-memory object to a slicestores.

### Claim 4 (depends on 1)

The method of claim 1, wherein it is determined that the requestor's operation is successful, further comprising:
sending the notification to an external service; and
determining whether sending the notification to the external service is successful or unsuccessful.

### Claim 5 (depends on 4)

The method of claim 4, wherein it is determined that sending the notification to the external service is unsuccessful, further comprising:
ensuring that a duplicate notification is not sent to a dispersed storage network memory location by writing the notification to the dispersed storage network memory location and deleting the in-memory object as a single atomic transaction.

### Claim 6

A computer system for object notifications, comprising:
one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more tangible storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising:
receiving, by a dispersed storage processing unit, a requestor's operation;
determining that a notification describing the requestor's operation should be sent for modifying operations, failed operations, and/or for non-modifying operations, wherein the notification describing the requestor's operation is guaranteed or non-guaranteed based on an implementation choice of a user, and indicates a name of an object, a time that the object is written, and a number of bytes of the object, and handling the requestor's operation using compare and swap instructions;
determining whether the requestor's operation is successful or unsuccessful; and
deleting an in-memory object.

### Claim 7 (depends on 6)

The computer system of claim 6, wherein determining that the notification describing the requestor's operation should be sent further comprises:
processing the requestor's operation; and
determining that a requestor requires the notification describing the requestor's operation.

### Claim 8 (depends on 7)

The computer system of claim 7, further comprising;
writing the in-memory object in parallel with object metadata while processing the requestor's operation, wherein writing the in-memory object includes erasure coding the in-memory object and sending the in-memory object to a slicestores.

### Claim 9 (depends on 6)

The computer system of claim 6, wherein it is determined that the requestor's operation is successful, further comprising:
sending the notification to an external service; and
determining whether sending the notification to the external service is successful or unsuccessful.

### Claim 10 (depends on 9)

The computer system of claim 9, wherein it is determined that sending the notification to the external service is unsuccessful, further comprising:
ensuring that a duplicate notification is not sent to a dispersed storage network memory location by writing the notification to the dispersed storage network memory location and deleting the in-memory object as a single atomic transaction.

### Claim 11

A computer program product for object notifications, comprising:
one or more non-transitory computer-readable storage media and program instructions stored on at least one of the one or more non-transitory computer-readable storage media, the program instructions executable by a processor to cause the processor to perform a method comprising:
receiving, by a dispersed storage processing unit, a requestor's operation;
determining that a notification describing the requestor's operation should be sent for modifying operations, failed operations, and/or for non-modifying operations, wherein the notification describing the requestor's operation is guaranteed or non-guaranteed based on an implementation choice of a user, and indicates a name of an object, a time that the object is written, and a number of bytes of the object, and handling the requestor's operation using compare and swap instructions;
determining whether the requestor's operation is successful or unsuccessful; and
deleting an in-memory object.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein determining that the notification describing the requestor's operation should be sent further comprises:
processing the requestor's operation; and
determining that a requestor requires the notification describing the requestor's operation.

### Claim 13 (depends on 12)

The computer program product of claim 12, further comprising;
writing the in-memory object in parallel with object metadata while processing the requestor's operation, wherein writing the in-memory object includes erasure coding the in-memory object and sending the in-memory object to a slicestores.

### Claim 14 (depends on 11)

The computer program product of claim 11, wherein it is determined that the requestor's operation is successful, further comprising:
sending the notification to an external service; and
determining whether sending the notification to the external service is successful or unsuccessful.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein it is determined that sending the notification to the external service is unsuccessful, further comprising:
ensuring that a duplicate notification is not sent to a dispersed storage network memory location by writing the notification to the dispersed storage network memory location and deleting the in-memory object as a single atomic transaction.
