Prosecution Insights
Last updated: April 19, 2026
Application No. 18/544,255

TECHNIQUES FOR ORGANIZING DATA TO REDUCE SEARCH TIME

Non-Final OA §103
Filed
Dec 18, 2023
Examiner
SYED, FARHAN M
Art Unit
2161
Tech Center
2100 — Computer Architecture & Software
Assignee
Apple Inc.
OA Round
3 (Non-Final)
75%
Grant Probability
Favorable
3-4
OA Rounds
3y 9m
To Grant
98%
With Interview

Examiner Intelligence

Grants 75% — above average
75%
Career Allow Rate
621 granted / 829 resolved
+19.9% vs TC avg
Strong +23% interview lift
Without
With
+23.4%
Interview Lift
resolved cases with interview
Typical timeline
3y 9m
Avg Prosecution
29 currently pending
Career history
858
Total Applications
across all art units

Statute-Specific Performance

§101
16.8%
-23.2% vs TC avg
§103
46.1%
+6.1% vs TC avg
§102
20.8%
-19.2% vs TC avg
§112
4.8%
-35.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 829 resolved cases

Office Action

§103
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 . Status of Claims In response to communications filed on 30 December 2025, claims 1, 3-5, 7, 9, and 13-24 are presently pending in the application, of which, claims 1, 13 and 14 are presented in independent form. The Examiner acknowledges canceled claims 2, 6, 8, and 10-12, and newly added claims 15-24. Priority Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55. Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 30 December 2025 has been entered. Allowable Subject Matter Claims 3, 15, and 20 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Response to Remarks/Arguments All objections and/or rejections issued in the previous Office Action, mailed 07 October 2025, have been withdrawn, unless otherwise noted in this Office Action. Applicant’s arguments with respect to claims 1-20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. 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. Claims 1, 3-5, 7, 9, and 13-24 are rejected under 35 U.S.C. 103 as being unpatentable by Harshivardhan, Sharangpani (U.S. 2019/0138500 and known hereinafter as Harshivardhan) in view of Lakshman, Sarath et al (U.S. 2024/0028596m filed July 18th, 2023, claiming priority to Indian Provisional Application No. 20224104186, filed 20 July 2022, and known hereinafter as Lakshman)(newly presented). As per claim 1, Harshivardhan teaches a method, comprising: receiving a request to add first data to memory (e.g. Harshvardhan, see paragraphs [0085-0089], which discloses input data is received and organized into a data memory stream.); and in response to receiving the request to add the first data to the memory (e.g. Harshvardhan, see paragraphs [0087-0091], which discloses the prime data sieve can be initialized with a set of prime data elements whose values are spread across the data space, which starts out empty and then can be dynamically added, thereby caching (e.g. storing) the input data stream.): identifying a first node in a tree structure (e.g. Harshvardhan, see paragraphs [0115-0119], which discloses enabling the use of a tree structure that enables efficient content-based lookups, allow new elements to be efficiently added to the tree structure, and is cost-effective in terms of the incremental storage needed for the tree structure.); identifying a first location within the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses fingerprinting can be applied to the content of the elements to determine the locations of the various signatures of the data structure within the content of the element.); shifting the second data in the first node from a first location in the first node to a second location in the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses prime data elements in the sieve in tree form may be traversed through different locations, where candidate elements may reside in a prospective location.), wherein the second location is different from the first location (Harishivardhan teaches, see paragraphs [0093-0107], Figures 1B-1E], where the Prime Data Seive or Prime Data store serves as the first location where data is stored and, where when the data is derived, the first dataset becomes subset data (or second or other data), which are parsed and stored in a derived element, which constitutes a second location, where when a reconstitution program is called, the derived element, which contains the second data is then moved to the distilled data, which then becomes the first location and where the reconstitution program serves to add the data to the prime data store); and storing the first data in the first location in the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses the prime data element may be added to the storage based on fingerprinting which identifies the locations of fields that contains content.). Although Harshivardhan teaches identifying a first location within the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses fingerprinting can be applied to the content of the elements to determine the locations of the various signatures of the data structure within the content of the element.), it does not explicitly teach wherein the first node includes one or more data elements including a second data while receiving the request to add the first data to the memory Lakshman teaches identifying a first location within the first node (e.g. Lakshman, see paragraph [0048], which discloses the system tracks the number of mutation records in the cache memory, where the system implements a B+ Tree modification that involves read-modify-write-scheme for the B+ Tree page, where the a record that needs to be added or removed to the copy-on-write B+ Tree, the system locates the leaf page where the record key belongs, as further disclosed in paragraph [0032].), wherein the first node includes one or more data elements including a second data while receiving the request to add the first data to the memory (e.g. Lakshman, see paragraphs [0032-0033], which discloses if a record is modified or added, the system may have to copy a leaf node, an intermediate node, and a root node, where the modifications in the page is performed in units of a single page, where every leaf page modification results in multiple pages to be rewritten. Additionally, see paragraphs [0040-0041], which discloses a write-cache in-memory component is used to buffer key-value pairs and provide large sequential writes to the persistent storage, and the write-ahead log is appended-only log where the incoming key-value pair writes are initially written to provide durability, where writes are initially buffered in the write-cache and also written to the write-ahead log, thereby establishing a firs node, a first data, a second data, and a memory storage). Harshivardhan is directed to using a distributed prime data sieve for efficient lossless reduction, search, and retrieval of data. Lakshman is directed to compaction of documents in a high-density data storage system. Both are analogous art because they are directed to memory node manipulation and therefore it would have been obvious to one of ordinary skilled in the art at the time the invention was filed to modify the teachings of Harshivardhan with the teachings of Lakshman to include the claimed features with the motivation to improve memory efficiency by organizing data in memory. As per claim 13, Harshivardhan teaches a non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system, the one or more programs including instructions for: receiving a request to add first data to memory (e.g. Harshvardhan, see paragraphs [0085-0089], which discloses input data is received and organized into a data memory stream.); and in response to receiving the request to add the first data to the memory (e.g. Harshvardhan, see paragraphs [0087-0091], which discloses the prime data sieve can be initialized with a set of prime data elements whose values are spread across the data space, which starts out empty and then can be dynamically added, thereby caching (e.g. storing) the input data stream.): identifying a first node in a tree structure (e.g. Harshvardhan, see paragraphs [0115-0119], which discloses enabling the use of a tree structure that enables efficient content-based lookups, allow new elements to be efficiently added to the tree structure, and is cost-effective in terms of the incremental storage needed for the tree structure.); identifying a first location within the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses fingerprinting can be applied to the content of the elements to determine the locations of the various signatures of the data structure within the content of the element.); shifting the second data in the first node from a first location in the first node to a second location in the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses prime data elements in the sieve in tree form may be traversed through different locations, where candidate elements may reside in a prospective location.), wherein the second location is different from the first location (Harishivardhan teaches, see paragraphs [0093-0107], Figures 1B-1E], where the Prime Data Seive or Prime Data store serves as the first location where data is stored and, where when the data is derived, the first dataset becomes subset data (or second or other data), which are parsed and stored in a derived element, which constitutes a second location, where when a reconstitution program is called, the derived element, which contains the second data is then moved to the distilled data, which then becomes the first location and where the reconstitution program serves to add the data to the prime data store); and storing the first data in the first location in the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses the prime data element may be added to the storage based on fingerprinting which identifies the locations of fields that contains content.). Although Harshivardhan teaches identifying a first location within the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses fingerprinting can be applied to the content of the elements to determine the locations of the various signatures of the data structure within the content of the element.), it does not explicitly teach wherein the first node includes one or more data elements including a second data while receiving the request to add the first data to the memory Lakshman teaches identifying a first location within the first node (e.g. Lakshman, see paragraph [0048], which discloses the system tracks the number of mutation records in the cache memory, where the system implements a B+ Tree modification that involves read-modify-write-scheme for the B+ Tree page, where the a record that needs to be added or removed to the copy-on-write B+ Tree, the system locates the leaf page where the record key belongs, as further disclosed in paragraph [0032].), wherein the first node includes one or more data elements including a second data while receiving the request to add the first data to the memory (e.g. Lakshman, see paragraphs [0032-0033], which discloses if a record is modified or added, the system may have to copy a leaf node, an intermediate node, and a root node, where the modifications in the page is performed in units of a single page, where every leaf page modification results in multiple pages to be rewritten. Additionally, see paragraphs [0040-0041], which discloses a write-cache in-memory component is used to buffer key-value pairs and provide large sequential writes to the persistent storage, and the write-ahead log is appended-only log where the incoming key-value pair writes are initially written to provide durability, where writes are initially buffered in the write-cache and also written to the write-ahead log, thereby establishing a firs node, a first data, a second data, and a memory storage). Harshivardhan is directed to using a distributed prime data sieve for efficient lossless reduction, search, and retrieval of data. Lakshman is directed to compaction of documents in a high-density data storage system. Both are analogous art because they are directed to memory node manipulation and therefore it would have been obvious to one of ordinary skilled in the art at the time the invention was filed to modify the teachings of Harshivardhan with the teachings of Lakshman to include the claimed features with the motivation to improve memory efficiency by organizing data in memory. As per claim 14, Harshivardhan teaches a computer system, comprising: one or more processors (e.g. Harshvardhan, see paragraphs [0214], which discloses one or more processors coupled to memory.); and memory storing one or more programs configured to be executed by the one or more processors (e.g. Harshvardhan, see paragraphs [0214], which discloses one or more processors coupled to memory.), the one or more programs including instructions for: receiving a request to add first data to memory (e.g. Harshvardhan, see paragraphs [0085-0089], which discloses input data is received and organized into a data memory stream.); and in response to receiving the request to add the first data to the memory (e.g. Harshvardhan, see paragraphs [0087-0091], which discloses the prime data sieve can be initialized with a set of prime data elements whose values are spread across the data space, which starts out empty and then can be dynamically added, thereby caching (e.g. storing) the input data stream.): identifying a first node in a tree structure (e.g. Harshvardhan, see paragraphs [0115-0119], which discloses enabling the use of a tree structure that enables efficient content-based lookups, allow new elements to be efficiently added to the tree structure, and is cost-effective in terms of the incremental storage needed for the tree structure.); identifying a first location within the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses fingerprinting can be applied to the content of the elements to determine the locations of the various signatures of the data structure within the content of the element.); shifting the second data in the first node from a first location in the first node to a second location in the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses prime data elements in the sieve in tree form may be traversed through different locations, where candidate elements may reside in a prospective location.), wherein the second location is different from the first location (Harishivardhan teaches, see paragraphs [0093-0107], Figures 1B-1E], where the Prime Data Seive or Prime Data store serves as the first location where data is stored and, where when the data is derived, the first dataset becomes subset data (or second or other data), which are parsed and stored in a derived element, which constitutes a second location, where when a reconstitution program is called, the derived element, which contains the second data is then moved to the distilled data, which then becomes the first location and where the reconstitution program serves to add the data to the prime data store); and storing the first data in the first location in the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses the prime data element may be added to the storage based on fingerprinting which identifies the locations of fields that contains content.). Although Harshivardhan teaches identifying a first location within the first node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses fingerprinting can be applied to the content of the elements to determine the locations of the various signatures of the data structure within the content of the element.), it does not explicitly teach wherein the first node includes one or more data elements including a second data while receiving the request to add the first data to the memory Lakshman teaches identifying a first location within the first node (e.g. Lakshman, see paragraph [0048], which discloses the system tracks the number of mutation records in the cache memory, where the system implements a B+ Tree modification that involves read-modify-write-scheme for the B+ Tree page, where the a record that needs to be added or removed to the copy-on-write B+ Tree, the system locates the leaf page where the record key belongs, as further disclosed in paragraph [0032].), wherein the first node includes one or more data elements including a second data while receiving the request to add the first data to the memory (e.g. Lakshman, see paragraphs [0032-0033], which discloses if a record is modified or added, the system may have to copy a leaf node, an intermediate node, and a root node, where the modifications in the page is performed in units of a single page, where every leaf page modification results in multiple pages to be rewritten. Additionally, see paragraphs [0040-0041], which discloses a write-cache in-memory component is used to buffer key-value pairs and provide large sequential writes to the persistent storage, and the write-ahead log is appended-only log where the incoming key-value pair writes are initially written to provide durability, where writes are initially buffered in the write-cache and also written to the write-ahead log, thereby establishing a firs node, a first data, a second data, and a memory storage). Harshivardhan is directed to using a distributed prime data sieve for efficient lossless reduction, search, and retrieval of data. Lakshman is directed to compaction of documents in a high-density data storage system. Both are analogous art because they are directed to memory node manipulation and therefore it would have been obvious to one of ordinary skilled in the art at the time the invention was filed to modify the teachings of Harshivardhan with the teachings of Lakshman to include the claimed features with the motivation to improve memory efficiency by organizing data in memory. As pers claims 3, 15, and 20, the modified teachings of Harshivardhan with Lakshman teaches the method of claim 1, the non-transitory computer-readable medium of claim 13, and the computer system of claim 14, respectively, further comprising: receiving a second request to add second data to the memory (e.g. Harshvardhan, see paragraphs [0085-0089], which discloses input data is received and organized into a data memory stream.); and in response to receiving the second request to add the second data to the memory: identifying a fifth node in the tree structure (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses prime data elements in the sieve in tree form may be traversed through different locations, where candidate elements may reside in a prospective location.); in accordance with a determination that the fifth node does not include a void element and in accordance with a determination that a sixth node in the tree structure includes a respective void element, shifting third data from a location in the fifth node to a location in the sixth node (e.g. Harshivardhan, see paragraph [0047], which discloses the portion of the data structure is a tree data structure, where navigating through the portion of the data structure comprises traversing a sequence of edges in the tree data structure, where each edge in the sequence corresponds to a portion of the name, where each portion of the name is used to navigate to a node in the tree data structure that corresponds to content that is present in all prime data elements that are within a subtree rooted at the node. See further Figure 3B for illustration.); and updating a state of the tree structure to reflect shifting the third data (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses the prime data element may be added to the storage based on fingerprinting which identifies the locations of fields that contains content.). As per claims 4, 16, and 21, the modified teachings of Harshivardhan with Lakshman teaches the method of claim 1, the non-transitory computer-readable medium of claim 13, and the computer system of claim 14, respectively, further comprising: in accordance with a determination that the tree structure needs additional void elements, adding one or more void elements to the tree structure at a predetermined location of the memory (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses prime data elements in the sieve in tree form may be traversed through different locations, where candidate elements may reside in a prospective location.). As per claims 5, 17, and 22, the modified teachings of Harshivardhan with Lakshman teaches the method of claim 4, the non-transitory computer-readable medium of claim 16, and the computer system of claim 21, respectively, wherein the tree structure includes an eighth node and a ninth node different from the eighth node, the method further comprising: after adding the one or more void elements to the tree structure at the predetermined location of the memory (e.g. Harshvardhan, see paragraphs [0085-0089], which discloses input data is received and organized into a data memory stream.): in accordance with a determination that the eighth node needs an additional void element (e.g. Harshvardhan, see paragraphs [0087-0091], which discloses the prime data sieve can be initialized with a set of prime data elements whose values are spread across the data space, which starts out empty and then can be dynamically added, thereby caching (e.g. storing) the input data stream.): adding, using the one or more void elements, a first number of void elements to the eighth node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses prime data elements in the sieve in tree form may be traversed through different locations, where candidate elements may reside in a prospective location.); and modifying a value of a ninth node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses fingerprinting can be applied to the content of the elements to determine the locations of the various signatures of the data structure within the content of the element.); and in accordance with a determination that the eighth node does not need an additional void element: forgoing adding the first number of void elements to the eighth node (e.g. Harshvardhan, see paragraphs [0087-0091], which discloses the prime data sieve can be initialized with a set of prime data elements whose values are spread across the data space, which starts out empty and then can be dynamically added, thereby caching (e.g. storing) the input data stream.); and forgoing modifying the value of the ninth node (e.g. Harshvardhan, see paragraphs [0087-0091], which discloses the prime data sieve can be initialized with a set of prime data elements whose values are spread across the data space, which starts out empty and then can be dynamically added, thereby caching (e.g. storing) the input data stream.). As per claims 7, 18, and 23, the modified teachings of Harshivardhan with Lakshman teaches the method of claim 4, the non-transitory computer-readable medium of claim 16, and the computer system of claim 21, respectively, wherein the tree structure includes an eleventh node and a twelfth node different from the eleventh node, the method further comprising: after adding the one or more void elements to the tree structure at the predetermined location of the memory (e.g. Harshvardhan, see paragraphs [0085-0089], which discloses input data is received and organized into a data memory stream.): adding, using the one or more void elements, a third number of void elements to the eleventh node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses the prime data element may be added to the storage based on fingerprinting which identifies the locations of fields that contains content.); and adding, using the one or more void elements, the third number of void elements to the twelfth leaf node (e.g. Harshvardhan, see paragraphs [0114-0119], which discloses the prime data element may be added to the storage based on fingerprinting which identifies the locations of fields that contains content.). As pers claim 9, 19, and 24, the modified teachings of Harshivardhan with Lakshman teaches the method of claim 4, the non-transitory computer-readable medium of claim 16, and the computer system of claim 21, respectively, further comprising: in accordance with a determination that a respective node in the tree structure includes less than a predetermined number of void elements, requesting, by the respective node, one or more additional void elements (e.g. Harshvardhan, see paragraphs [0087-0091], which discloses the prime data sieve can be initialized with a set of prime data elements whose values are spread across the data space, which starts out empty and then can be dynamically added, thereby caching (e.g. storing) the input data stream.), wherein determining whether the eighth node needs an additional void element includes determining whether the eighth node has requested one or more additional void elements (e.g. Harshivardhan, see paragraph [0047], which discloses the portion of the data structure is a tree data structure, where navigating through the portion of the data structure comprises traversing a sequence of edges in the tree data structure, where each edge in the sequence corresponds to a portion of the name, where each portion of the name is used to navigate to a node in the tree data structure that corresponds to content that is present in all prime data elements that are within a subtree rooted at the node. See further Figure 3B for illustration.). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure. See attached PTO-892 that includes additional prior art of record describing the general state of the art in which the invention is directed to. Contact Information Any inquiry concerning this communication or earlier communications from the examiner should be directed to FARHAN M SYED whose telephone number is (571)272-7191. The examiner can normally be reached M-F 8:30AM-5:30PM. 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, Apu Mofiz can be reached at 571-272-4080. 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. /FARHAN M SYED/Primary Examiner, Art Unit 2161 January 22, 2026
Read full office action

Prosecution Timeline

Dec 18, 2023
Application Filed
Mar 22, 2025
Non-Final Rejection — §103
Jun 27, 2025
Response Filed
Oct 03, 2025
Final Rejection — §103
Dec 30, 2025
Request for Continued Examination
Jan 18, 2026
Response after Non-Final Action
Jan 22, 2026
Non-Final Rejection — §103
Apr 10, 2026
Interview Requested

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602674
SYSTEM AND METHOD FOR REMOTELY MODIFYING CLOUD-BASED CLIENT APPLICATIONS
2y 5m to grant Granted Apr 14, 2026
Patent 12597071
SYSTEMS AND METHODS OF SWITCHING BETWEEN A FIRST EXECUTION MODE AND SECOND EXECUTION MODE FOR MATCH PROCESSING
2y 5m to grant Granted Apr 07, 2026
Patent 12591792
DYNAMICALLY ENRICHING SHARED KNOWLEDGE GRAPHS
2y 5m to grant Granted Mar 31, 2026
Patent 12579470
SYSTEMS AND METHODS FOR DISTRIBUTING LAYERS OF SPECIAL MIXTURE-OF-EXPERTS MACHINE LEARNING MODELS
2y 5m to grant Granted Mar 17, 2026
Patent 12579207
LOCATION-BASED SEARCHING USING A SEARCH AREA THAT CORRESPONDS TO A GEOGRAPHICAL LOCATION OF A COMPUTING DEVICE
2y 5m to grant Granted Mar 17, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
75%
Grant Probability
98%
With Interview (+23.4%)
3y 9m
Median Time to Grant
High
PTA Risk
Based on 829 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month