Patent ID: 7444357

Claim:
A method of searching for metadata divided into fragments and stored in a computer-readable storage medium, using an index having a key index list section having a list of multi-keys and location information for defining the multi-keys, a key index section, and a sub-key index section, the method comprising: searching for and locating a multi-key in the index, wherein the multi-key meets search conditions of a combination of fields of the metadata; and extracting a fragment of the metadata from the computer-readable storage medium by using the located multi-key, wherein the multi-key is a plurality of keys used simultaneously to locate and extract the fragment of metadata; wherein with respect to comparison of values of a multi-key in size, the multi-key comprises fields (k1, k2, k3. . . kn) of the metadata which are prioritized (k1>k2>k3>. . . Kn), and the combined fields are compared in sequence, starting from a first field having a highest order of priority, wherein the values are compared on an arithmetic basis where the values of the multi-key are alphabetical, wherein for two multi-key values, (a1, a2, . . . , an) and (b1, b2. . . , bn): (a1, a2, . . . , an) is larger than (b1, b2, . . . , bn) if and only if there exists an integer i (0<i<n−1) such that for every j (0<i<n−1), aj=bj and ai<bi; (a1, a2, . . . , an) is smaller than (b1, b2, . . . , bn) if and only if there exists an integer i (0<i<n−1) such that for every j (0<i<n−1), aj=bj and ai <bi; and (a1, a2, . . . , an) is equal to (b1, 2, . . . , bn) if and only if for every i (0<i<n−1), ai=bi.