Persisting data as information

US10248345B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10248345-B1
Application numberUS-201615054728-A
CountryUS
Kind codeB1
Filing dateFeb 26, 2016
Priority dateFeb 26, 2016
Publication dateApr 2, 2019
Grant dateApr 2, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed herein are methods, systems, and processes to persist data as information. A logical container is created. The logical container is dynamically defined to correspond to a storage device. Original data or encoded data written by an application container is received. If original data is received, encoded data is generated from original data. If encoded data is received, original data is generated from encoded data. Generating encoded data from original data, and original data from encoded data involves calculating original metadata for original data, and encoded metadata for encoded data. Encoded data or original data along with original metadata and encoded metadata is transported through the logical container past a persistence boundary. In response to transporting past the persistence boundary, a confirmation is received original data has been persisted.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, at a the first logical container, original data written by an application container, wherein the first logical container does not provide persistent storage, and the application container is communicatively coupled to a non-volatile memory; subsequent to receiving the original data, generating encoded data from the original data; transporting the encoded data to a second logical container, wherein the second logical container does not provide persistent storage, and the second logical container has a higher latency than the first logical container; receiving, at the second logical container, the encoded data; subsequent to receiving the encoded data, generating the original data from the encoded data; subsequent to generating the original data from the encoded data, transporting the original data toward a storage device, wherein the storage device is one of a plurality of storage devices associated with a network, and the storage device provides persistence storage; receiving, at the storage device, at least one of the original data and the encoded data (collectively, “the data”); subsequent to receiving the data at the storage device, storing the data in the storage device, and sending an identifier to the application container, wherein the identifier comprises information identifying the storage device among the plurality of storage devices in which the data is stored; receiving the identifier at the application container; subsequent to receiving the identifier at the application container, storing the identifier in the non-volatile memory communicatively coupled to the application container; subsequent to the storing the data at the storage device, receiving a request to access the data stored in the storage device, wherein the request is received at the application container; and using the identifier to access the data stored in the storage device. 2. The method of claim 1 , wherein generating the encoded data and generating the original data also comprises calculating an original metadata for the original data, and calculating an encoded metadata for the encoded data. 3. The method of claim 2 , further comprising: transporting the encoded data or the original data along with the original metadata and the encoded metadata through a subsequent logical container past a persistence boundary. 4. The method of claim 3 , wherein the identifier is generated after the original metadata and the encoded metadata have been updated past the persistence boundary, updating the original metadata and the encoded metadata past the persistence boundary is performed by an information container, and the identifier is generated by the information container. 5. The method of claim 1 , wherein the original data is generated by an application instance, the application instance executes within the application container, and at least one of the first logical container and the second logical container is created on a non-volatile storage device. 6. The method of claim 5 , further comprising: causing the original data to be copied to a transport buffer, wherein the transport buffer is associated with the application instance, and the original data is part of an original stream; and generating an encoded stream by encoding the original data, wherein the encoded stream comprises the encoded data, and the generating the encoded stream further comprises calculating original metadata and encoded metadata. 7. The method of claim 6 , further comprising: accessing the encoded stream in the transport buffer; decoding the encoded stream, wherein the decoding comprises splitting the encoded stream into at least two original sub-streams; writing a first original sub-stream to a third logical container; and writing a second original sub-stream to a fourth logical container. 8. The method of claim 6 , wherein transporting the encoded data or the original data comprises transporting the encoded stream and decoding the encoded stream, or transporting the original stream and encoding the original stream. 9. The method of claim 7 , wherein the encoding and the decoding are performed using a symmetric encoding technique. 10. The method of claim 9 , wherein the symmetric encoding technique permits determination of an error-correcting code (ECC) from the original data or the encoded data, or identifies the original data or the encoded data from the ECC. 11. The method of claim 2 , further comprising maintaining the original data or the encoded data in the first logical container until the application container receives the identifier. 12. A non-transitory computer readable storage medium comprising program instructions executable to: receive, at a first logical container, original data written by an application container, wherein the first logical container does not provide persistent storage, and the application container is communicatively coupled to a non-volatile memory; subsequent to receiving the original data, generate encoded data from the original data; transport the encoded data to a second logical container, wherein the second logical container does not provide persistent storage, and the second logical container has a higher latency than the first logical container; receive, at the second logical container, the encoded data; subsequent to receiving the encoded data, generate the original data from the encoded data; subsequent to generating the original data from the encoded data, transport the original data toward a storage device, wherein the storage device is one of a plurality of storage devices associated with a network, and the storage device provides persistence storage; receive, at the storage device, at least one of the original data and the encoded data (collectively, “the data”); subsequent to receiving the data at the storage device, store the data in the storage device, and send an identifier to the application container, wherein the identifier comprises information identifying the storage device among the plurality of storage devices in which the data is stored; receive the identifier at the application container; subsequent to receiving the identifier at the application container, store the identifier in the non-volatile memory communicatively coupled to the application container; subsequent to storing the data at the storage device, receive a request to access the data stored in the storage device, wherein the request is received at the application container; and use the identifier to access the data stored in the storage device. 13. The non-transitory computer readable storage medium of claim 12 , wherein the program instructions are further executable to: generate the encoded data and generating the original data by calculating an original metadata for the original data, and calculating an encoded metadata for the encoded data; transport the encoded data or the original data along with the original metadata and the encoded metadata through a subsequent logical container past a persistence boundary. 14. The non-transitory computer readable storage medium of claim 13 , wherein the identifier is generated after the original metadata and the encoded metadata have been updated past the persistence boundary, updating the original metadata and the encoded metadata past the persistence boundary is performed by an information container, the identifier is generated by the information container, the original data is generated by an application instanc

Assignees

Inventors

Classifications

  • Permissions · CPC title

  • in relation to access · CPC title

  • Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10248345B1 cover?
Disclosed herein are methods, systems, and processes to persist data as information. A logical container is created. The logical container is dynamically defined to correspond to a storage device. Original data or encoded data written by an application container is received. If original data is received, encoded data is generated from original data. If encoded data is received, original data is…
Who is the assignee on this patent?
Veritas Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0631. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 02 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).