DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
In response to Applicant’s claims filed on October 28, 2025 claims 1-14 are now pending for examination in the application.
Priority
Acknowledgment is made of a claim for priority as a continuation of PCT/CN2024/099648, filed 06/20/2023, which claims foreign priority to CN202310755146.6, filed 06/25/2023, under 35 U.S.C. § 119(a)-(d) or (f), and is also acknowledged. Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55.
Information Disclosure Statement
The information disclosure statements (IDS) filed on 10/28/25, 07/07/26, 08/05/26 has been considered by the Examiner and made of record in the application file.
Claim Objections
Claims 1, 4-6, 8-11 are objected to because of the following informalities: There are colons within the limitation of the claims. Appropriate correction is required.
CLAIM INTERPRETATION
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
Claims 12 and 19 contain limitations invoking 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph as detailed in the following:
Claim 12:
“a data read-write apparatus..."
has been interpreted under 35 U.S.C. 112 (f), or pre-AIA 35 U.S.C. 112 sixth paragraph, because it uses generic placeholder(s) “apparatus” coupled with functional languages without reciting sufficient structure to achieve the function and equivalents thereof. Furthermore, the generic placeholder is not preceded by a structural modifier.
Claim 19:
“a data read-write apparatus..."
has been interpreted under 35 U.S.C. 112 (f), or pre-AIA 35 U.S.C. 112 sixth paragraph, because it uses generic placeholder(s) “apparatus” coupled with functional languages without reciting sufficient structure to achieve the function and equivalents thereof. Furthermore, the generic placeholder is not preceded by a structural modifier.
Since the claim limitation(s) invokes 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, claims 12 have been interpreted to cover the corresponding structure described in the specification that achieves the claimed function, and equivalents thereof.
A review of the specification shows that the following appears to be the corresponding structure described in the specification for the 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph limitation: NONE. The specification fails to show the corresponding structures of the components.
If applicant wishes to provide further explanation or dispute the examiner’s interpretation of the corresponding structure, applicant must identify the corresponding structure with reference to the specification by page and line number, and to the drawing, if any, by reference characters in response to this Office action.
If applicant does not intend to have the claim limitation(s) treated under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112 , sixth paragraph, applicant may amend the claim(s) so that it/they will clearly not invoke 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, or present a sufficient showing that the claim recites/recite sufficient structure, material, or acts for performing the claimed function to preclude application of 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
For more information, see MPEP § 2173 et seq. and Supplementary Examination Guidelines for Determining Compliance With 35 U.S.C. 112 and for Treatment of Related Issues in Patent Applications, 76 FR 7162, 7167 (Feb. 9, 2011).
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 12 and 19 is/are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
Claims 12 and 19 invoke 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. However, the written description fails to disclose the corresponding structure, material, or acts for performing the entire claimed function and to clearly link the structure, material, or acts to the function. Claims 12 are interpreted under 35 U.S.C. 112(f) (see above). Therefore Claim(s) 12 contain placeholders that require corresponding structure(s). It is unclear whether the recited structure, material, or acts in these claims are sufficient for performing the claimed function because the Specification is unclear about the corresponding structure(s) and the logic or algorithms necessary for performing the claimed functions.
Therefore, the claim is indefinite and is rejected under 35 U.S.C. 112(b) or pre-AIA 35 U.S.C. 112, second paragraph.
Applicant may:
(a) Amend the claim so that the claim limitation will no longer be interpreted as a limitation under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph;
(b) Amend the written description of the specification such that it expressly recites what structure, material, or acts perform the entire claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(c) Amend the written description of the specification such that it clearly links the structure, material, or acts disclosed therein to the function recited in the claim, without introducing any new matter (35 U.S.C. 132(a)).
If applicant is of the opinion that the written description of the specification already implicitly or inherently discloses the corresponding structure, material, or acts and clearly links them to the function so that one of ordinary skill in the art would recognize what structure, material, or acts perform the claimed function, applicant should clarify the record by either:
(a) Amending the written description of the specification such that it expressly recites the corresponding structure, material, or acts for performing the claimed function and clearly links or associates the structure, material, or acts to the claimed function, without introducing any new matter (35 U.S.C. 132(a)); or
(b) Stating on the record what the corresponding structure, material, or acts, which are implicitly or inherently set forth in the written description of the specification, perform the claimed function. For more information, see 37 CFR 1.75(d) and MPEP §§ 608.01(o) and 2181.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-patentable subject matter. The claims are directed to an abstract idea without significantly more.
Claim 1-20 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The judicial exception is not integrated into a practical application. The claims do not include additional elements that are sufficient to amount to significantly more than judicial exception. The eligibility analysis in support of these findings is provided below, on Claim Rejections - 35 USC 101 accordance with the "2019 Revised Patent Subject Matter Eligibility Guidance" (published on 1/7/2019 in Fed, Register, Vol. 84, No. 4 at pgs. 50-57, hereinafter referred to as the "2019 PEG").
Step 1. in accordance with Step 1 of the eligibility inquiry (as explained in MPEP 2106), it is first noted the claim method (claims 1-12, 15-18), device (claim 13 and 20), and medium (claim 14), and 19 are directed to one of the eligible categories of subject matter and therefore satisfies Step 1.
Step 2A. In accordance with Step 2A, prong one of the 2019 PEG, it is noted that the independent claims recite an abstract idea falling within the Mental Processes enumerated groupings of abstract ideas set forth in the 2019 PEG. Examiner is of the position that independent claims 1, 13, and 14 are directed towards the Mental Process Grouping of Abstract Ideas.
Independent claims 1, 13, and 14 recites the following limitations directed towards a Mental Processes:
determining, if the target key is different from a key of a first node of the skiplist, that a next node to which the first node points at a highest index layer is a node to be compared, and cyclically performing the following process until a preset condition is satisfied (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to compare);
comparing a second feature value of the target key with a first feature value of the node to be compared,
determining, if the second feature value of the target key is different from the first feature value of the node to be compared, a node to be compared in a next cyclic process based on a magnitude relationship indicated by a comparison result (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a difference).
Step 2A. In accordance with Step 2A, prong two of the 2019 PEG, the judicial exception is not integrated into a practical application because of the recitation in claim(s) 1, 13, and 14:
obtaining a target key of an element to be read and written (recites insignificant extra solution activity that amounts to mere data gathering).
target key after the bifurcation position (recites insignificant extra solution activity that amounts to recording data);
performing, if the preset condition is satisfied, a read-write operation on the element to be read and written based on a node to be compared in the last cyclic process (recites insignificant extra solution activity that amounts to read and writing data).
Step 2B. Similar to the analysis under 2A Prong Two, the claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception. Because the additional elements of the independent claims amount to insignificant extra solution activity and/or mere instructions, the additional elements do not add significantly more to the judicial exception such that the independent claims as a whole would be patent eligible.
Therefore, independent claims 1, 13, and 14 are rejected under 35 U.S.C. 101.
With respect to claim(s) 2:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein the element to be read and written comprises an element to be read and an element to be written;
if the element to be read and written is the element to be read, the preset condition comprises: the target key is the same as a key of the node to be compared (recites insignificant extra solution activity that amounts to read and writing data);
if the element to be read and written is the element to be written, the preset condition comprises: the target key is the same as the key of the node to be compared or a next node to be compared does not exist (recites insignificant extra solution activity that amounts to read and writing data).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 3, 19, and 20:
Step 2A, prong one of the 2019 PEG:
if nodes in the skiplist are sorted by key in ascending order, determining, if the comparison result indicates that the target key is less than a key of the node to be compared, a next node to which the predecessor node of the node to be compared points at a next index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to compare);
determining, if the comparison result indicates that the target key is greater than the key of the node to be compared, a next node to which the node to be compared points at a current index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to compare);
if nodes in the skiplist are sorted by key in descending order, determining, if the comparison result indicates that the target key is greater than the key of the node to be compared, a next node to which the predecessor node of the node to be compared points at a next index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to compare);
determining, if the comparison result indicates that the target key is less than the key of the node to be compared, a next node to which the node to be compared points at a current index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to compare).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 4, 15, and 16:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein a data type of a key stored by any node in the skiplist is a character string type (recites insignificant extra solution activity that amounts to storing data);
a first feature value of any node comprises: a first length of a common prefix between a key of the node and a key of a predecessor node, and at least some characters of the key of the node after the common prefix (recites insignificant extra solution activity that amounts to storing data); and
the second feature value of the target key comprises: a second length of a common prefix between the target key and the key of the predecessor node of the node to be compared, and at least some characters of the target key after the common prefix (recites insignificant extra solution activity that amounts to storing data).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 5:
Step 2A, prong one of the 2019 PEG:
generating, if the target key is different from the key of the first node of the skiplist, a second feature value of the target key relative to the first node (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to generating a feature value); and
if the nodes in the skiplist are sorted by key in ascending order, the determining, if the second feature value of the target key is different from the first feature value of the node to be compared, a node to be compared in a next cyclic process based on a magnitude relationship indicated by a comparison result comprises:
determining, if the second length being greater than the first length indicates that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to compare);
generating, if the second length being less than the first length indicates that the target key is greater than the key of the node to be compared, a second feature value of the target key relative to the node to be compared (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to generating a feature value), and
determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to compare);
determining, if the second length being equal to the first length and characters in the second feature value being less than characters in the first feature value indicate that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to compare);
generating, if the second length being equal to the first length and characters in the second feature value being greater than characters in the first feature value indicate that the target key is greater than the key of the node to be compared, a second feature value of the target key relative to the node to be compared (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to generating a feature value), and
determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to compare).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 6:
Step 2A, prong one of the 2019 PEG:
comparing remaining characters of the target key after the common prefix with remaining characters of the node to be compared after the common prefix if the second feature value is the same as the first feature value (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to comparing characters),
if the remaining characters of the target key after the common prefix are greater than the remaining characters of the node to be compared after the common prefix, generating the second feature value of the target key relative to the node to be compared (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to generating a feature value), and
determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node for comparison);
if the remaining characters of the target key after the common prefix are less than the remaining characters of the node to be compared after the common prefix, determining the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node for comparison);
if the remaining characters of the target key after the common prefix are equal to the remaining characters of the node to be compared after the common prefix, which represents that the target key is the same as the key of the node to be compared, terminating a cycle (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to terminate a cycle).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 7, 17, and 18:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein a key stored by any node in the skiplist is a compound key, and data types of different keys in the compound key comprise a character string type or an integer type (recites insignificant extra solution activity that amounts to storing data);
a first feature value of any node comprises an index of a bifurcated key between the node and a predecessor node (recites insignificant extra solution activity that amounts to storing data); and
if a data type of the bifurcated key is the character string type, the first feature value further comprises a first length of a common prefix between a bifurcated key of the node and a bifurcated key of the predecessor node, as well as at least some characters of the bifurcated key of the node after the common prefix (recites insignificant extra solution activity that amounts to storing data);
if the data type of the bifurcated key is the integer type and a quantity of bits is N, the first feature value further comprises upper M bits of an N-bit integer of the bifurcated key of the node, M≤N (recites insignificant extra solution activity that amounts to storing data);
the second feature value comprises an index of a bifurcated key between the target key and the predecessor node of the node to be compared (recites insignificant extra solution activity that amounts to storing data); and
if the data type of the bifurcated key is the character string type, the second feature value further comprises a second length of a common prefix between a bifurcated key of the target key and a bifurcated key of the predecessor node of the node to be compared, as well as at least some characters of the bifurcated key of the target key after the common prefix (recites insignificant extra solution activity that amounts to storing data);
if the data type of the bifurcated key is the integer type and the quantity of bits is N, the second feature value further comprises upper M bits of an N-bit integer of the bifurcated key of the target key, wherein M≤N (recites insignificant extra solution activity that amounts to storing data).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 8:
Step 2A, prong one of the 2019 PEG:
generating, if the target key is different from the key of the first node of the skiplist, a second feature value of the target key relative to the first node (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to generating a feature value); and
if the nodes in the skiplist are sorted by key in ascending order, the determining, if the second feature value of the target key is different from the first feature value of the node to be compared (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to be compared), a node to be compared in a next cyclic process based on a magnitude relationship indicated by a comparison result comprises:
determining, if an index in the second feature value being greater than an index in the first feature value indicates that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to be compared);
generating, if the index in the second feature value being less than the index in the first feature value indicates that the target key is greater than the key of the node to be compared, a second feature value of the target key relative to the node to be compared, and determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to generating a second feature);
determining, if the index in the second feature value is equal to the index in the first feature value, the node to be compared in the next cyclic process based on a magnitude relationship between the target key and the key of the node to be compared indicated by remaining content of the second feature value and remaining content of the first feature value (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to be compared).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 9:
Step 2A, prong one of the 2019 PEG:
wherein in a case that the data type of the bifurcated key is the integer type, the determining the node to be compared in the next cyclic process based on a magnitude relationship between the target key and the key of the node to be compared indicated by remaining content of the second feature value and remaining content of the first feature value comprises (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to be compared):
determining, if an integer in the second feature value being less than an integer in the first feature value indicates that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to be compared);
generating, if the integer in the second feature value being greater than the integer in the first feature value indicates that the target key is greater than the key of the node to be compared, the second feature value of the target key relative to the node to be compared, and determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to generating a second feature value).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 10:
Step 2A, prong one of the 2019 PEG:
wherein in a case that the data type of the bifurcated key is the character string type, the determining the node to be compared in the next cyclic process based on a magnitude relationship between the target key and the key of the node to be compared indicated by remaining content of the second feature value and remaining content of the first feature value comprises (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to be compared):
determining, if the second length being greater than the first length indicates that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to be compared);
generating, if the second length being less than the first length indicates that the target key is greater than the key of the node to be compared, the second feature value of the target key relative to the node to be compared (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to generating the second feature value), and
determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to be compared);
determining, if the second length being equal to the first length and characters in the second feature value being less than characters in the first feature value indicate that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to determining a node to be compared);
generating, if the second length being equal to the first length and characters in the second feature value being greater than characters in the first feature value indicate that the target key is greater than the key of the node to be compared, the second feature value of the target key relative to the node to be compared, and determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (The limitation recites a mental process of observation and/or evaluation capable of being performed by the human mind by using computer as a tool to generating the second value feature).
Step 2A Prong Two Analysis:
This judicial exception is not integrated into a practical application because there are no additional elements to provide practical application.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 11:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein a key stored by any node in the skiplist is a compound key, and data types of different keys in the compound key comprise a character string type or an integer type (recites insignificant extra solution activity that amounts to storing data);
a first feature value of any node comprises an index of a bifurcated key between the node and a predecessor node (recites insignificant extra solution activity that amounts to storing data); and
if a data type of the bifurcated key is the character string type, the first feature value further comprises a first length of a common prefix between a bifurcated key of the node and a bifurcated key of the predecessor node, as well as at least some characters of the bifurcated key of the node after the common prefix (recites insignificant extra solution activity that amounts to storing data);
if the data type of the bifurcated key is the integer type and a quantity of bits is N, the first feature value further comprises upper M bits of an N-bit integer of the bifurcated key of the node, M≤N (recites insignificant extra solution activity that amounts to storing data);
the second feature value comprises an index of a bifurcated key between the target key and the predecessor node of the node to be compared (recites insignificant extra solution activity that amounts to storing data); and
if the data type of the bifurcated key is the character string type, the second feature value further comprises a second length of a common prefix between a bifurcated key of the target key and a bifurcated key of the predecessor node of the node to be compared, as well as at least some characters of the bifurcated key of the target key after the common prefix (recites insignificant extra solution activity that amounts to storing data);
if the data type of the bifurcated key is the integer type and the quantity of bits is N, the second feature value further comprises upper M bits of an N-bit integer of the bifurcated key of the target key, wherein M≤N (recites insignificant extra solution activity that amounts to storing data).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
With respect to claim(s) 12:
Step 2A, prong one of the 2019 PEG:
Examiner is of the position the dependent claim is directed toward additional elements.
Step 2A Prong Two Analysis:
wherein the storage system comprises a data read-write apparatus and a skiplist, wherein a node in the skiplist is used for storing a key and a first feature value of a current node relative to a predecessor node (recites insignificant extra solution activity that amounts to storing data), and
the first feature value is used for recording bifurcation position information of a key of the current node and a key of the predecessor node, as well as at least some values after a bifurcation position (recites insignificant extra solution activity that amounts to recording data); and
the data read-write apparatus is configured to perform the method according to any one of claims 1 to 11 (recites insignificant extra solution activity that amounts to read-writing data).
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The claim is not patent eligible.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-5 and 7-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gold et al. (US Pub. No. 20190205344) in view of Steinemann et al. (US Pub. No. 20160171056).
With respect to claim 1, Gold et al. discloses a skiplist-based data read-write method, wherein the skiplist comprises a plurality of index layers, a node in the skiplist is used for storing a key and a first feature value, and the first feature value is used for recording a bifurcation position of a key of a current node relative to a key of a predecessor node, as well as at least some values of the key of the current node after the bifurcation position (Paragraph 9 discloses the skiplist arranged as an ordered set of nodes, each node including a single key stored in a node-list component used for arranging the respective node in the ordered set); and the method comprises:
obtaining a target key of an element to be read and written (Paragraph 9 discloses execute a range-query operation to identify at least one node of the ordered set of nodes between a first lower key value and a second upper key value). Gold et al. does not disclose determining, if the target key is different from a key of a first node of the skiplist, that a next node…; comparing a second feature value of the target key with a first feature value of the node to be compared…; determining, if the second feature value of the target key is different from the first feature value of the node to be compared, a node to be compared…; performing, if the preset condition is satisfied, a read-write operation.
However, Steinmann et al. discloses determining, if the target key is different from a key of a first node of the skiplist, that a next node to which the first node points at a highest index layer is a node to be compared, and cyclically performing the following process until a preset condition is satisfied:
comparing a second feature value of the target key with a first feature value of the node to be compared, wherein the second feature value is used for recording a bifurcation position of the target key relative to a key of a predecessor node of the node to be compared, as well as at least some values of the target key after the bifurcation position (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket); and
determining, if the second feature value of the target key is different from the first feature value of the node to be compared, a node to be compared in a next cyclic process based on a magnitude relationship indicated by a comparison result (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket); and
performing, if the preset condition is satisfied, a read-write operation on the element to be read and written based on a node to be compared in the last cyclic process (Paragraph 29 discloses the cache entry will include the copied data as well as the requested memory location. When the processor 108 needs to read or write a location in main memory).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify over Gold et al.’s skiplist data structure with Steinemann et al.’s bucket skiplists. This would have facilitated less expensive searches.
The Gold et al. reference as modified by Steinemann et al. teaches all the limitations of claim 1. Regarding claim 2, Steinemann et al. discloses the method according to claim 1, wherein the element to be read and written comprises an element to be read and an element to be written (Paragraph 29 discloses the cache entry will include the copied data as well as the requested memory location. When the processor 108 needs to read or write a location in main memory);
if the element to be read and written is the element to be read, the preset condition comprises: the target key is the same as a key of the node to be compared (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket);
if the element to be read and written is the element to be written, the preset condition comprises: the target key is the same as the key of the node to be compared or a next node to be compared does not exist (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket). The motivation to combine statement previously provided in the rejection of independent claim 1 provided above, combining the Gold et al. reference and the Steinemann et al. reference is applicable to dependent claim 2.
The Gold et al. reference as modified by Steinemann et al. teaches all the limitations of claim 1. Regarding claim 3, Steinemann et al. discloses the method according to claim 1, wherein the determining a node to be compared in a next cyclic process based on a magnitude relationship indicated by a comparison result comprises:
if nodes in the skiplist are sorted by key in ascending order, determining, if the comparison result indicates that the target key is less than a key of the node to be compared, a next node to which the predecessor node of the node to be compared points at a next index layer as the node to be compared in the next cyclic process (Paragraph 20 discloses in the bucket skiplist, each node can be associated with a plurality of values. Those values are sorted in an ascending order similar to the normal skiplist, although several values are included in a single node);
determining, if the comparison result indicates that the target key is greater than the key of the node to be compared, a next node to which the node to be compared points at a current index layer as the node to be compared in the next cyclic process (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket);
if nodes in the skiplist are sorted by key in descending order, determining, if the comparison result indicates that the target key is greater than the key of the node to be compared, a next node to which the predecessor node of the node to be compared points at a next index layer as the node to be compared in the next cyclic process (Paragraph 49 discloses A determination is now made as to where within the bucket (now containing both “3” and “5”) the new value is to be added. To find the position to insert a new value within a particular bucket, a comparison of the new value to the existing values within the bucket is performed. In the current example, the new value “4” is compared to the first value of “3.” Since “4” is greater than “3,” the next value “5” is compared to “4.” Since “4” is between “3” and “5,” the location for the insertion should be after “3” and before “5.” Since there is an empty location available within the bucket (i.e., the third position), the value “5” can be shifted back to the third position and the value “4” can be inserted into the second position previously occupied by the value “5.” Because the shift takes place within a single bucket, no links between nodes need to be adjusted);
determining, if the comparison result indicates that the target key is less than the key of the node to be compared, a next node to which the node to be compared points at a current index layer as the node to be compared in the next cyclic process (Paragraph 49 discloses A determination is now made as to where within the bucket (now containing both “3” and “5”) the new value is to be added. To find the position to insert a new value within a particular bucket, a comparison of the new value to the existing values within the bucket is performed. In the current example, the new value “4” is compared to the first value of “3.” Since “4” is greater than “3,” the next value “5” is compared to “4.” Since “4” is between “3” and “5,” the location for the insertion should be after “3” and before “5.” Since there is an empty location available within the bucket (i.e., the third position), the value “5” can be shifted back to the third position and the value “4” can be inserted into the second position previously occupied by the value “5.” Because the shift takes place within a single bucket, no links between nodes need to be adjusted). The motivation to combine statement previously provided in the rejection of independent claim 1 provided above, combining the Gold et al. reference and the Steinemann et al. reference is applicable to dependent claim 3.
The Gold et al. reference as modified by Steinemann et al. teaches all the limitations of claim 1. Regarding claim 4, Steinemann et al. discloses the method according to claim 1, wherein a data type of a key stored by any node in the skiplist is a character string type (Paragraph 65 discloses Skiplist 104 may include identifiers that map to one or more entries in database 118. For example, keywords and/or numerical values (e.g., integers, real numbers) that map to documents and/or database entries that include the keywords and/or are sorted according to the numerical values and Paragraph 65 discloses Skiplist 104 may include identifiers that map to one or more entries in database 118. For example, keywords and/or numerical values (e.g., integers, real numbers) that map to documents and/or database entries that include the keywords and/or are sorted according to the numerical values);
a first feature value of any node comprises: a first length of a common prefix between a key of the node and a key of a predecessor node, and at least some characters of the key of the node after the common prefix (Paragraph 65 discloses Skiplist 104 may include identifiers that map to one or more entries in database 118. For example, keywords and/or numerical values (e.g., integers, real numbers) that map to documents and/or database entries that include the keywords and/or are sorted according to the numerical values); and
the second feature value of the target key comprises: a second length of a common prefix between the target key and the key of the predecessor node of the node to be compared, and at least some characters of the target key after the common prefix (Paragraph 65 discloses Skiplist 104 may include identifiers that map to one or more entries in database 118. For example, keywords and/or numerical values (e.g., integers, real numbers) that map to documents and/or database entries that include the keywords and/or are sorted according to the numerical values). The motivation to combine statement previously provided in the rejection of independent claim 1 provided above, combining the Gold et al. reference and the Steinemann et al. reference is applicable to dependent claim 4.
The Gold et al. reference as modified by Steinemann et al. teaches all the limitations of claim 4. Regarding claim 5, Steinemann et al. discloses the method according to claim 4, wherein the method further comprises:
generating, if the target key is different from the key of the first node of the skiplist, a second feature value of the target key relative to the first node (Paragraph 18 discloses a new key is created and all connectors to the predecessor and successor entries are adopted); and
if the nodes in the skiplist are sorted by key in ascending order, the determining, if the second feature value of the target key is different from the first feature value of the node to be compared, a node to be compared in a next cyclic process based on a magnitude relationship indicated by a comparison result comprises:
determining, if the second length being greater than the first length indicates that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket and Paragraph 20 discloses values are sorted in an ascending order similar to the normal skiplist, although several values are included in a single node);
generating, if the second length being less than the first length indicates that the target key is greater than the key of the node to be compared, a second feature value of the target key relative to the node to be compared, and determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (Paragraph 20 discloses a new value is to be inserted between at least one pair of values currently stored within the bucket);
determining, if the second length being equal to the first length and characters in the second feature value being less than characters in the first feature value indicate that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (Paragraph 53 discloses the current level of nodes, starting at the current node, is compared to the identified value. At 420, a determination is made as to whether the first value in a bucket associated with the current node is equivalent to or matches the searched value);
generating, if the second length being equal to the first length and characters in the second feature value being greater than characters in the first feature value indicate that the target key is greater than the key of the node to be compared, a second feature value of the target key relative to the node to be compared, and determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (Paragraph 20 discloses a new value is to be inserted between at least one pair of values currently stored within the bucket). The motivation to combine statement previously provided in the rejection of dependent claim 4 provided above, combining the Gold et al. reference and the Steinemann et al. reference is applicable to dependent claim 5.
The Gold et al. reference as modified by Steinemann et al. teaches all the limitations of claim 1. Regarding claim 7, Gold et al. discloses the method according to claim 3, wherein a key stored by any node in the skiplist is a compound key, and data types of different keys in the compound key comprise a character string type or an integer type (Paragraph 13 discloses a key-range[A,B] of the range-query operation when a reference to the at least one node is inserted into a scan-set storing nodes visited by the at least one transaction execution thread, wherein the range-guard of key-range[A,B] denotes a node containing key A or containing the largest key K such that K<A);
a first feature value of any node comprises an index of a bifurcated key between the node and a predecessor node (Paragraph 13 discloses a key-range[A,B] of the range-query operation when a reference to the at least one node is inserted into a scan-set storing nodes visited by the at least one transaction execution thread, wherein the range-guard of key-range[A,B] denotes a node containing key A or containing the largest key K such that K<A); and
if a data type of the bifurcated key is the character string type, the first feature value further comprises a first length of a common prefix between a bifurcated key of the node and a bifurcated key of the predecessor node, as well as at least some characters of the bifurcated key of the node after the common prefix (Paragraph 27 discloses each node including a single key stored in a node-list component used for arranging the respective node in the ordered set, the node-list component including a forward pointer to a next node-list in the ordered set);
if the data type of the bifurcated key is the integer type and a quantity of bits is N, the first feature value further comprises upper M bits of an N-bit integer of the bifurcated key of the node, M≤N (Paragraph 13 discloses a key-range[A,B] of the range-query operation when a reference to the at least one node is inserted into a scan-set storing nodes visited by the at least one transaction execution thread, wherein the range-guard of key-range[A,B] denotes a node containing key A or containing the largest key K such that K<A);
the second feature value comprises an index of a bifurcated key between the target key and the predecessor node of the node to be compared (Paragraph 66 discloses Each level of the towers includes forward pointers connecting nodes of the ordered set at respective levels of the tower, forming a respective index-list at each level); and
if the data type of the bifurcated key is the character string type, the second feature value further comprises a second length of a common prefix between a bifurcated key of the target key and a bifurcated key of the predecessor node of the node to be compared, as well as at least some characters of the bifurcated key of the target key after the common prefix (Paragraph 13 discloses the range-guard of key-range[A,B] denotes a node containing key A or containing the largest key K such that K<A, wherein the scan-set denotes nodes traversed while executing the key-range operation);
if the data type of the bifurcated key is the integer type and the quantity of bits is N, the second feature value further comprises upper M bits of an N-bit integer of the bifurcated key of the target key, wherein M≤N (Paragraph 13 discloses the range-guard of key-range[A,B] denotes a node containing key A or containing the largest key K such that K<A, wherein the scan-set denotes nodes traversed while executing the key-range operation).
The Gold et al. reference as modified by Steinemann et al. teaches all the limitations of claim 7. Regarding claim 8, Steinemann et al. discloses the method according to claim 7, wherein the method further comprises:
generating, if the target key is different from the key of the first node of the skiplist, a second feature value of the target key relative to the first node (Paragraph 20 discloses a new value is to be inserted between at least one pair of values currently stored within the bucket); and
if the nodes in the skiplist are sorted by key in ascending order, the determining, if the second feature value of the target key is different from the first feature value of the node to be compared, a node to be compared in a next cyclic process based on a magnitude relationship indicated by a comparison result comprises:
determining, if an index in the second feature value being greater than an index in the first feature value indicates that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (Paragraph 27 discloses each node including a single key stored in a node-list component used for arranging the respective node in the ordered set, the node-list component including a forward pointer to a next node-list in the ordered set);
generating, if the index in the second feature value being less than the index in the first feature value indicates that the target key is greater than the key of the node to be compared, a second feature value of the target key relative to the node to be compared, and determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (Paragraph 20 discloses a new value is to be inserted between at least one pair of values currently stored within the bucket);
determining, if the index in the second feature value is equal to the index in the first feature value, the node to be compared in the next cyclic process based on a magnitude relationship between the target key and the key of the node to be compared indicated by remaining content of the second feature value and remaining content of the first feature value (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket). The motivation to combine statement previously provided in the rejection of dependent claim 7 provided above, combining the Gold et al. reference and the Steinemann et al. reference is applicable to dependent claim 8.
The Gold et al. reference as modified by Steinemann et al. teaches all the limitations of claim 1. Regarding claim 9, Gold et al. discloses the method according to claim 8, wherein in a case that the data type of the bifurcated key is the integer type, the determining the node to be compared in the next cyclic process based on a magnitude relationship between the target key and the key of the node to be compared indicated by remaining content of the second feature value and remaining content of the first feature value comprises:
determining, if an integer in the second feature value being less than an integer in the first feature value indicates that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (Paragraph 52 discloses the term node A (where A is a value, for example, an integer, a real number) refers to the node associated with key A and Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket);
generating, if the integer in the second feature value being greater than the integer in the first feature value indicates that the target key is greater than the key of the node to be compared, the second feature value of the target key relative to the node to be compared, and determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (Paragraph 52 discloses the term node A (where A is a value, for example, an integer, a real number) refers to the node associated with key A and Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket).
The Gold et al. reference as modified by Steinemann et al. teaches all the limitations of claim 8. Regarding claim 10, Steinemann et al. discloses the method according to claim 8, wherein in a case that the data type of the bifurcated key is the character string type, the determining the node to be compared in the next cyclic process based on a magnitude relationship between the target key and the key of the node to be compared indicated by remaining content of the second feature value and remaining content of the first feature value comprises:
determining, if the second length being greater than the first length indicates that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket and Paragraph 20 discloses values are sorted in an ascending order similar to the normal skiplist, although several values are included in a single node);
generating, if the second length being less than the first length indicates that the target key is greater than the key of the node to be compared, the second feature value of the target key relative to the node to be compared, and determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (Paragraph 55 discloses continues the comparison of the first value of the new current node to the searched value. If the result of the determination at 435 is that the current level is the lowest level in the skiplist structure, then method 400 continues at 445. At 445, the previous node is identified as a potential node associated with the searched value);
determining, if the second length being equal to the first length and characters in the second feature value being less than characters in the first feature value indicate that the target key is less than the key of the node to be compared, the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket and Paragraph 20 discloses values are sorted in an ascending order similar to the normal skiplist, although several values are included in a single node);
generating, if the second length being equal to the first length and characters in the second feature value being greater than characters in the first feature value indicate that the target key is greater than the key of the node to be compared, the second feature value of the target key relative to the node to be compared, and determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (Paragraph 55 discloses continues the comparison of the first value of the new current node to the searched value. If the result of the determination at 435 is that the current level is the lowest level in the skiplist structure, then method 400 continues at 445. At 445, the previous node is identified as a potential node associated with the searched value).
The motivation to combine statement previously provided in the rejection of independent claim 1 provided above, combining the Gold et al. reference and the Steinemann et al. reference is applicable to dependent claim 10.
The Gold et al. reference as modified by Steinemann et al. teaches all the limitations of claim 1. Regarding claim 11, Steinemann et al. discloses the method according to claim 1, wherein the first feature value further comprises a first identifier of the predecessor node (Paragraph 56 discloses determination compares the identified value to the values in the bucket, beginning with the second value in the bucket (as the first value is already known to be lower than the identified value)); and
the second feature value further comprises a second identifier of the predecessor node of the node to be compared (Paragraph 56 discloses determination compares the identified value to the values in the bucket, beginning with the second value in the bucket (as the first value is already known to be lower than the identified value));
the comparing a second feature value of the target key with a first feature value of the node to be compared comprises:
comparing, if the first identifier in the first feature value of the node to be compared is the same as the second identifier in the second feature value of the target key, other content in the second feature value of the target key with other content in the first feature value of the node to be compared (Paragraph 62 discloses a comparison of the identified value to the shifted node may be performed to determine which value should be the first value of the new node); and
the method further comprises:
comparing the target key with a key of the node to be compared if the first identifier in the first feature value of the node to be compared is different from the second identifier in the second feature value of the target key (Paragraph 62 discloses a comparison of the identified value to the shifted node may be performed to determine which value should be the first value of the new node). The motivation to combine statement previously provided in the rejection of independent claim 1 provided above, combining the Gold et al. reference and the Steinemann et al. reference is applicable to dependent claim 11.
With respect to claim 12, Gold et al. discloses a storage system, wherein the storage system comprises a data read-write apparatus and a skiplist, wherein a node in the skiplist is used for storing a key and a first feature value of a current node relative to a predecessor node, and the first feature value is used for recording bifurcation position information of a key of the current node and a key of the predecessor node, as well as at least some values after a bifurcation position; and the data read-write apparatus is configured to:
obtain a target key of an element to be read and written (Paragraph 9 discloses execute a range-query operation to identify at least one node of the ordered set of nodes between a first lower key value and a second upper key value). Gold et al. does not disclose determining, if the target key is different from a key of a first node of the skiplist, that a next node…; comparing a second feature value of the target key with a first feature value of the node to be compared…; determining, if the second feature value of the target key is different from the first feature value of the node to be compared, a node to be compared…; performing, if the preset condition is satisfied, a read-write operation.
However, Steinmann et al. discloses determine, if the target key is different from a key of a first node of the skiplist, that a next node to which the first node points at a highest index layer is a node to be compared, and cyclically performing the following process until a preset condition is satisfied:
compare a second feature value of the target key with a first feature value of the node to be compared, wherein the second feature value is used for recording a bifurcation position of the target key relative to a key of a predecessor node of the node to be compared, as well as at least some values of the target key after the bifurcation position (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket); and
determine, if the second feature value of the target key is different from the first feature value of the node to be compared, a node to be compared in a next cyclic process based on a magnitude relationship indicated by a comparison result (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket); and
perform, if the preset condition is satisfied, a read-write operation on the element to be read and written based on a node to be compared in the last cyclic process (Paragraph 29 discloses the cache entry will include the copied data as well as the requested memory location. When the processor 108 needs to read or write a location in main memory).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify over Gold et al.’s skiplist data structure with Steinemann et al.’s bucket skiplists. This would have facilitated less expensive searches.
With respect to claim 13, Gold et al. discloses an electronic device, wherein the electronic device comprises:
a processor (See Fig. 1); and
a memory (See Fig. 1)configured to store processor-executable instructions, wherein the processor is configured to run the executable instructions to:
obtain a target key of an element to be read and written (Paragraph 9 discloses execute a range-query operation to identify at least one node of the ordered set of nodes between a first lower key value and a second upper key value). Gold et al. does not disclose determining, if the target key is different from a key of a first node of the skiplist, that a next node…; comparing a second feature value of the target key with a first feature value of the node to be compared…; determining, if the second feature value of the target key is different from the first feature value of the node to be compared, a node to be compared…; performing, if the preset condition is satisfied, a read-write operation.
However, Steinmann et al. discloses determine, if the target key is different from a key of a first node of the skiplist, that a next node to which the first node points at a highest index layer is a node to be compared, and cyclically performing the following process until a preset condition is satisfied:
compare a second feature value of the target key with a first feature value of the node to be compared, wherein the second feature value is used for recording a bifurcation position of the target key relative to a key of a predecessor node of the node to be compared, as well as at least some values of the target key after the bifurcation position (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket); and
determine, if the second feature value of the target key is different from the first feature value of the node to be compared, a node to be compared in a next cyclic process based on a magnitude relationship indicated by a comparison result (Paragraph 4 discloses comparing the value to the first values in each bucket to identify a particular node in which the first value may be located, and, in response to determining that the first value of the particular node is not the same as the value to be searched, comparing the value to be searched with the ordered values in the bucket); and
perform, if the preset condition is satisfied, a read-write operation on the element to be read and written based on a node to be compared in the last cyclic process (Paragraph 29 discloses the cache entry will include the copied data as well as the requested memory location. When the processor 108 needs to read or write a location in main memory).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify over Gold et al.’s skiplist data structure with Steinemann et al.’s bucket skiplists. This would have facilitated less expensive searches.
With respect to claim 14, it is rejected on grounds corresponding to above rejected claim 1, because claim 14 is substantially equivalent to claim 1.
With respect to claim 15, it is rejected on grounds corresponding to above rejected claim 4, because claim 15 is substantially equivalent to claim 4.
With respect to claim 16, it is rejected on grounds corresponding to above rejected claim 4, because claim 16 is substantially equivalent to claim 4.
With respect to claim 17, it is rejected on grounds corresponding to above rejected claim 7, because claim 17 is substantially equivalent to claim 7.
With respect to claim 18, it is rejected on grounds corresponding to above rejected claim 7, because claim 18 is substantially equivalent to claim 7.
With respect to claim 19, it is rejected on grounds corresponding to above rejected claim 3, because claim 19 is substantially equivalent to claim 3.
With respect to claim 20, it is rejected on grounds corresponding to above rejected claim 3, because claim 20 is substantially equivalent to claim 3.
Claim(s) 6 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gold et al. (US Pub. No. 20190205344) and Steinemann et al. (US Pub. No. 20160171056) in further view of Park et al. (US Pub. No. 20210311877)
The Gold et al. reference as modified by Steinemann et al. teaches all the limitations of claim 5. Regarding claim 6, Gold et al. as modified by Steinemann et al. does not disclose comparing remaining characters of the target key after the common prefix…; if the remaining characters of the target key after the common prefix are greater…; if the remaining characters of the target key after the common prefix are less…; if the remaining characters of the target key after the common prefix are equal…
However, Park et al. discloses the method according to claim 5, wherein in a case that the characters in the first feature value and the characters in the second feature value are not all remaining characters after the common prefix, the method further comprises:
comparing remaining characters of the target key after the common prefix with remaining characters of the node to be compared after the common prefix if the second feature value is the same as the first feature value (Paragraph 67 discloses the InSDB 134 can support special operations and features on the host side 133a (e.g., iterator operations, range query operations, snapshot operations, comparator operations, transaction operations, TTL operations, key exist determination operations, column family, data compression, cyclic redundancy checks (CRC), etc.)),
if the remaining characters of the target key after the common prefix are greater than the remaining characters of the node to be compared after the common prefix, generating the second feature value of the target key relative to the node to be compared, and determining the next node to which the node to be compared points at the current index layer as the node to be compared in the next cyclic process (Paragraph 68 discloses InSDB 134 may also support special operations with relatively low overhead (e.g., range query operations, iterator/snapshot, prefix extractor, TTL, column family, etc.) and Paragraph 170 discloses the skiplist need not depend on the virtual address. In other words, the address of the next node in the skiplist may be dynamically calculated even when a different virtual address is assigned during reloading of the keymap 348 from the KVSSD 339);
if the remaining characters of the target key after the common prefix are less than the remaining characters of the node to be compared after the common prefix, determining the next node to which the predecessor node of the node to be compared points at the next index layer as the node to be compared in the next cyclic process (Paragraph 68 discloses InSDB 134 may also support special operations with relatively low overhead (e.g., range query operations, iterator/snapshot, prefix extractor, TTL, column family, etc.) and Paragraph 170 discloses the skiplist need not depend on the virtual address. In other words, the address of the next node in the skiplist may be dynamically calculated even when a different virtual address is assigned during reloading of the keymap 348 from the KVSSD 339);
if the remaining characters of the target key after the common prefix are equal to the remaining characters of the node to be compared after the common prefix, which represents that the target key is the same as the key of the node to be compared, terminating a cycle (Paragraph 68 discloses InSDB 134 may also support special operations with relatively low overhead (e.g., range query operations, iterator/snapshot, prefix extractor, TTL, column family, etc.) and Paragraph 170 discloses the skiplist need not depend on the virtual address. In other words, the address of the next node in the skiplist may be dynamically calculated even when a different virtual address is assigned during reloading of the keymap 348 from the KVSSD 339).
Therefore, it would have been obvious at the time the invention was made to a person having ordinary skill in the art to modify over Gold et al.’s skiplist data structure and Steinemann et al.’s bucket skiplists with Park et al.’s Key-Value store architecture. This would have facilitated improved data storage.
Relevant Prior Art
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US PG-PUB 20210287156 is directed to SYSTEMS AND METHODS FOR GENERATING PERFORMANCE PROFILES OF NODES: [0018] a new interactive user interface is presented. In some of the following examples, a bin adjustment mechanism is provided with the underlying data distribution as a visual reference adjacent to the bin adjustment mechanism. In some examples, the visual reference of the underlying data distribution is a histogram. In one example, a second histogram corresponding to the indicia legend (e.g., color, pattern, etc.), bin sizes, and breakpoints is shown overlaid on top of the underlying distribution. Bin adjustment control sliders are then used to manually adjust the size and breakpoint of the bins in one motion. Changes to the control slider position can be synchronized with standard manual entry boxes, such that changes to one result in a change to the other. When a change to the bins is made, the map is then updated in real-time to see the effect.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to NICHOLAS E ALLEN whose telephone number is (571)270-3562. The examiner can normally be reached Monday through Thursday 830-630.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Boris Gorney can be reached at (571) 270-5626. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/N.E.A/Examiner, Art Unit 2154
/BORIS GORNEY/Supervisory Patent Examiner, Art Unit 2154