Browse Prior Art Database

Asynchronous Byte Retaining Channel

IP.com Disclosure Number: IPCOM000239257D
Publication Date: 2014-Oct-23
Document File: 4 page(s) / 39K

Publishing Venue

The IP.com Prior Art Database

Abstract

A system and method for utilizing an asynchronous byte retaining channel for reading and writing data blobs and checksums are used to detect data corruption is disclosed.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 49% of the total text.

Page 01 of 4

Asynchronous Byte Retaining Channel

Disclosed is a system and method for utilizing an asynchronous byte retaining channel for reading and

writing data blobs and checksums are used to detect data corruption.

Data corruption in storage systems, where data corruption is not detected at the time it occurs, but is

detected at the time when applications access the data from storage is a serious concern. Various technologies exist to protect against this type of data corruption, including checksum generated using hash functions. The disclosed method identifies a storage system that utilizes REST APIs to clients for reading and writing data blobs and where checksums are used to detect data corruption. In a typical scenario, when a client requests storage data using representational state transfer (REST) applications programming interfaces (APIs) over Hypertext Transfer Protocol (HTTP), the storage server streams the data with the checksum in the HTTP header. Upon completion of the HTTP transfer of data, the client computes the checksum and compares with the checksum sent in the HTTP header and thus confirms data integrity. The disclosed method utilizes a "Asynchronous Byte Retaining Channel", where the client is not burdened with verification of the checksums, but rather the Asynchronous Byte Retaining Channel, is able to detect data corruption before the HTTP transfer is complete

Figure 1 depicts a typical flow where a client requests storage data using REST API over HTTP, the storage server streams the data with the checksum in the HTTP header. Upon completion of the HTTP transfer of data, the client computes the checksum and compares with the checksum sent in the HTTP header and thus confirms data integrity.

1


Page 02 of 4

Storage Server:

  Store data and compute Checksum

 HTTP Client: Requests Data

Storage Server: Reads data and checksum

 Storage Server: Send data to client with Checksum

 HTTP Client: Receive data and server checksum

HTTP Client:

   Compute Checksum for the data received

   HTTP Client: Compare the computed checksum to the checksum received from server

  Does Checksum match ?

HTTP Client: Discard Data No

Yes

HTTP Client:

Use Data

Figure 1

Figure 2 depicts of flow of the disclosed method utilizing the "Asynchronous Byte Retaining Channel", where the client is not burdened with verification of the checksums. Instead the Asynchronous Byte Retaining Channel, is able to detect data corruption before the HTTP transfer is complete.

2


Page 03 of 4

Storage Server:

  Store data and compute Checksum

 HTTP Client: Requests Data

Storage Server: Reads data and checksum

Storage Server:

  Send data asynchronously to client

Storage Server: Re-compute the checksum

   Does new checksum match the stored checksum?

No

 Storage Server: Hold the last byte. Do not send the last byte to client.

Yes

Storage Server: Close the connection

HTTP Client: Receive data

 HTTP Client: HTTP Protocol identifies the transfer as erroneous

HTTP Client:

Use Data

HTTP Client: Discar...