Method, apparatus, and computer program product for indexing a file

US11314689B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11314689-B2
Application numberUS-201916249170-A
CountryUS
Kind codeB2
Filing dateJan 16, 2019
Priority dateJan 18, 2018
Publication dateApr 26, 2022
Grant dateApr 26, 2022

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.

Techniques index a file. The techniques involve: determining, based on a first mapping stored in a first inode associated with the file, whether a predetermined conversion condition is satisfied. The first mapping points to a plurality of data blocks of a file system storing the file in a first index structure. The techniques further involve, in response to determining that the predetermined conversion condition is satisfied, creating a second inode associated with the file. The techniques further involve converting the first mapping into a second mapping to be stored in the second inode. The second mapping points to the plurality of data blocks in a second index structure different from the first index structure.

First claim

Opening claim text (preview).

We claim: 1. A method of indexing a file, comprising: determining, based on a first mapping stored in a first inode associated with the file, whether a predetermined conversion condition is satisfied, the first mapping pointing to a plurality of data blocks of a file system storing the file in a first index structure; in response to determining that the predetermined conversion condition is satisfied, creating a second inode associated with the file; and converting the first mapping into a second mapping to be stored in the second inode, the second mapping pointing to the plurality of data blocks in a second index structure different from the first index structure; wherein the first mapping comprises a plurality of allocated extents, an allocated extent directly pointing to a set of consecutive data blocks in the plurality of data blocks; and wherein the determining comprises: comparing a number of the plurality of extents with a first predetermined number threshold, and in response to the number reaching the first predetermined number threshold, determining that the predetermined conversion condition is satisfied. 2. The method of claim 1 , wherein the first predetermined number threshold is smaller than a number of extents allocable in the first inode. 3. The method of claim 1 , further comprising: comparing a number of the plurality of extents with a second predetermined number threshold, the second predetermined number threshold being greater than the first predetermined number threshold; and in response to the number reaching the second predetermined number threshold, discarding the first inode. 4. The method of claim 1 , further comprising: in response to receiving a deletion request or write request for the file, updating the first mapping in the first inode and the second mapping in the second inode. 5. The method of claim 1 , wherein determining whether the predetermined conversion condition is satisfied further comprises: in response to a write request for the file, increasing the number of the plurality of extents in the first inode prior to comparing the number of the plurality of extents with the first predetermined number threshold. 6. The method of claim 1 , further comprising: accessing the file via the first inode during a first time; and accessing the file via the second inode during a second time that is different from the first time. 7. The method of claim 6 , wherein the first index structure is a pointer-based index structure; and wherein the second index structure is an extent-based index structure that is different from the pointer-based index structure. 8. The method of claim 7 , wherein accessing the file via the first inode includes: accessing data blocks of the file in accordance with the pointer-based index structure; and wherein accessing the file via the second inode includes: accessing the data blocks of the file in accordance with the extent-based index structure. 9. The method of claim 8 , wherein the pointer-based index structure includes (i) block pointers that individually point to the data blocks of the file; and (ii) indirect pointers that point to blocks containing at least some of the block pointers that individually point to the data blocks of the file; and wherein the extent-based index structure includes extent pointers that individually point to extents containing the data blocks of the file, each extent being configured to contain consecutive multiple data blocks of the file arranged consecutively. 10. A method of indexing a file, comprising: determining, based on a first mapping stored in a first inode associated with the file, whether a predetermined conversion condition is satisfied, the first mapping pointing to a plurality of data blocks of a file system storing the file in a first index structure; in response to determining that the predetermined conversion condition is satisfied, creating a second inode associated with the file; and converting the first mapping into a second mapping to be stored in the second inode, the second mapping pointing to the plurality of data blocks in a second index structure different from the first index structure; wherein the first mapping comprises at least one of a direct pointer and an indirect pointer, the direct pointer directly pointing to a single data block of the plurality of data blocks and the indirect pointer indirectly pointing to at least one of the plurality of data blocks via an indirect index block; and wherein the determining comprises: determining whether the plurality of data blocks to which the first mapping is pointed include a predetermined number of consecutive data blocks, and in response to determining that the plurality of data blocks include the predetermined number of consecutive data blocks, determining that the predetermined conversion condition is satisfied. 11. An apparatus for indexing a file, comprising: a processor; and a memory coupled to the processor and having instructions stored thereon, the instructions, when executed by the processor, causing the apparatus to perform acts comprising: determining, based on a first mapping stored in a first inode associated with the file, whether a predetermined conversion condition is satisfied, the first mapping pointing to a plurality of data blocks of a file system storing the file in a first index structure; in response to determining that the predetermined conversion condition is satisfied, creating a second inode associated with the file; and converting the first mapping into a second mapping to be stored in the second inode, the second mapping pointing to the plurality of data blocks in a second index structure different from the first index structure; wherein the first mapping comprises a plurality of allocated extents, an allocated extent directly pointing to a set of consecutive data blocks in the plurality of data blocks; and wherein the determining comprises: comparing a number of the plurality of extents with a first predetermined number threshold, and in response to the number reaching the first predetermined number threshold, determining that the predetermined conversion condition is satisfied. 12. The apparatus of claim 11 , wherein the first predetermined number threshold is smaller than a number of extents allocable in the first inode. 13. The apparatus of claim 11 , further comprising: comparing a number of the plurality of extents with a second predetermined number threshold, the second predetermined number threshold being greater than the first predetermined number threshold; and in response to the number reaching the second predetermined number threshold, discarding the first inode. 14. The apparatus of claim 11 , further comprising: in response to receiving a deletion request or write request for the file, updating the first mapping in the first inode and the second mapping in the second inode. 15. The apparatus of claim 11 , wherein determining whether the predetermined conversion condition is satisfied further comprises: in response to a write request for the file, increasing the number of the plurality of extents in the first inode prior to comparing the number of the plurality of extents with the first predetermined number threshold. 16. An apparatus for indexing a file, comprising: a processor; and a memory coupled to the processor and having instructions stored thereon, the instructions, when executed by the processor, causing the apparatus to perform acts comprising: determining, based on a first mapping stored in a first inode associated with the fi

Assignees

Inventors

Classifications

  • G06F16/13Primary

    File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06) · CPC title

  • providing write once read many [WORM] semantics · CPC title

  • in storage media based on magnetic or optical technology, e.g. disks with sectors (preventing unauthorised reproduction or copying of disc-type recordable media G11B20/00) · CPC title

  • Details of conversion of file system types or formats · 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 US11314689B2 cover?
Techniques index a file. The techniques involve: determining, based on a first mapping stored in a first inode associated with the file, whether a predetermined conversion condition is satisfied. The first mapping points to a plurality of data blocks of a file system storing the file in a first index structure. The techniques further involve, in response to determining that the predetermined co…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/13. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 26 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).