Prosecution Insights
Last updated: April 19, 2026
Application No. 18/636,079

TECHNIQUES FOR DETERMINISTICALLY ROUTING DATABASE REQUESTS TO DATABASE SERVERS

Final Rejection §103
Filed
Apr 15, 2024
Examiner
SKHOUN, HICHAM
Art Unit
2164
Tech Center
2100 — Computer Architecture & Software
Assignee
Apple Inc.
OA Round
4 (Final)
77%
Grant Probability
Favorable
5-6
OA Rounds
3y 1m
To Grant
83%
With Interview

Examiner Intelligence

Grants 77% — above average
77%
Career Allow Rate
266 granted / 344 resolved
+22.3% vs TC avg
Moderate +6% lift
Without
With
+5.6%
Interview Lift
resolved cases with interview
Typical timeline
3y 1m
Avg Prosecution
25 currently pending
Career history
369
Total Applications
across all art units

Statute-Specific Performance

§101
13.6%
-26.4% vs TC avg
§103
41.0%
+1.0% vs TC avg
§102
27.2%
-12.8% vs TC avg
§112
8.1%
-31.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 344 resolved cases

Office Action

§103
Notice of Pre-AIA or AIA Status 1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . DETAILED ACTION 2. Claims 1-2, 4-9, 11-16, and 18-23 remain pending in the application. Claims 1, 18, and 15 have been amended. 3. This office action is in response to the REM filed 12/10/2025. 4. Claims 1, 8 and 15 are independent claims. 5. The office action is made Final. Information Disclosure Statement 6. The information disclosure statement (IDSs) submitted on 10/14/2025 was considered by the examiner. Examiner Note 8. The Examiner cites particular columns and line numbers in the references as applied to the claims below for the convenience of the Applicant(s). Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the Applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner. Claim Rejections - 35 USC § 103 9. 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 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. 10. 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) A patent may not be obtained through the invention is not identically disclosed or described as set forth in section 102 of this title, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negatived by the manner in which the invention was made. 11. Claims 1, 2, 5, 8-9, 12, 15, 16 and 19 are rejected under 35 U.S.C.103 as being unpatentable over Willehadson et al (US 20050091653 A1) hereinafter as Willehadson in view of Ford et al (US 20170041296 A1) hereinafter as Ford. 12. Regarding claim 1, Willehadson teaches A method for selecting database servers to process input/output (I/O) requests (Abstract: A method and apparatus for distributing load between a plurality of servers, for handling incoming service requests (input/output (I/O) requests) in a server system.), the method comprising, by a routing server ([0021], “a server system comprising a plurality of servers for handling incoming telecommunication service requests”, Fig 4, step 402, “The service request is received in a first step 400, wherein a primary server is assigned in a step 402 (a routing server)”, [0052]): receiving, from a client device, a request to perform an input/output operation to a database file, that corresponds to a user account ([0016], “user ID (user account)”, [0031-0032], “the service provider will request for needed user data, such as terminal capabilities and client profile, e.g., including predefined preferences and interests (user account).” [0034], “a service request may require the retrieval of certain data which is used as input for executing a specific processing task or service application (input/output operation).”, [0046], Fig 4, step 400, [0052], “The service request is received in a first step 400”); referencing a configuration file to identify a group of database servers through which the database file is accessible ([0034], [0042-0043]. [0050], “Upon receiving the request, the front-end server parses the xml (a configuration file) and extracts the information needed to execute the request. The front-end server then verifies that the client has a valid session by sending a request to one of several session servers, i.e. a secondary server. Which session server to use is determined by applying a hashing algorithm, i.e. a second scheduling algorithm, to the user ID of the client… a request is sent to an instant messaging server. The above-mentioned hashing algorithm may be used again to select the correct one.”); In line with Applicant Pre-Grant Pub [0048], “the hash function receiving the inputs “user@domain.com” and “10”, and outputting an index, name, etc. that corresponds to one of the ten database servers 114. For example, the output of the hash function can be “5”, which corresponds to a fifth one of the ten database servers 114 (e.g., a database server 114-5).”, [0066], “At step 406, the routing server 108 provides, to a hash function, (i) the user account, and (ii) a count of the group of database servers, to produce a hash value that corresponds to a particular database server within the group of database servers.” producing a hash value of the user account and a count of the group of database servers, wherein the hash value identifies a particular database server within the group of database servers ([0016-0017], “server ID=hash (user ID) modulo n (1), where n is the number of possible secondary servers, and the modulo operator providing an integer between 0 and n-1.”, [0044-0045]). and in response to determining that the particular database server is accessible: providing the request to the particular database server and in response to determining that the particular database server is inaccessible: accessing a database server information file within the configuration file to determine availability of a different database server; selecting, by the routing server, the different database server; and routing the request to the different database server ([0007], "load balancer", [0009], “The allocation scheme used for selecting a server is normally based on the current load on a predetermined set of servers, such that the server having the lowest current load, with respect to memory resources and/or CPU (Central Processing Unit) capability, etc, is selected for the client. Server allocation is typically performed by using a load manager node or the like (rooting server).” [0044-0045], Fig 4, [0052], “The service request is received in a first step 400, wherein a primary server is assigned in a step 402. The request is then processed in the assigned primary server in a step 404. Thereafter, it is checked, in a step 406, whether the request requires that a storing task is performed. If not, the request handling process ends in a step 408. Otherwise, a secondary server is assigned in a step 410 and the storing task Is performed accordingly in that server (determine availability of a different database server),”, [0055], “The computing work for selecting which server to be assigned for handling a particular request can be performed instantly, more or less, resulting in only a small limited overhead.”). Willehadson did not specifically teach wherein the database file is encrypted with an encryption key that corresponds to a user account. However, Ford teaches wherein the database file is encrypted with an encryption key that corresponds to a user account ([0257], “storing a data file as an encrypted data file along with a plurality of encryption keys in the secure database, each of the plurality of encryption keys providing access to the encrypted data file… The secure identifier may be a password. Authenticating may be performed by utilizing the user secure identifier to check the user's permission profile for permission to access the data file offline.”). It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to incorporate the concept of teachings suggested in Ford’s system into Willehadson’s and by incorporating Ford into Willehadson because both systems are related to networked secure content would secure data exchange (Ford, [0003-0004]). 13. Regarding claim 2, Willehadson and Ford teach the invention as claimed in claim 1 above and further Willehadson teaches wherein performing the input/output operation includes performing at least one read operation and a write operation to the database file ([0020], “The storing task may involve any of: storing new data, updating already stored data, and retrieving stored data”, [0034], [0048]), also Kaplan teaches the limitation at ([0035], “data read requests”). 14. Regarding claim 5, Willehadson and Ford teach the invention as claimed in claim 1 above and further Willehadson teaches wherein the configuration file is shared among a group of routing servers of which the routing server is a member ([0007], [0010], [0055], load sharing), also Kaplan teaches the limitation at ([0064], “The resulted cryptographic secrets can be shared between the load balancers and application enclaves and can be used to encrypt and authenticate any future requests from the load balancer module 410 and application enclave machine layers of the application.”, [0085], “determining, by the load balancer and for each application enclave, cryptographic information comprising at least one of: a shared cryptographic key, a cryptographic credential, or a hash authentication of an application configured to be executed by the plurality of application enclaves.”, [0087]). 15. Regarding claims 8-9 and 12, those claims recite a non-transitory computer readable storage medium configured to store instructions that, when executed by at least one processor included in a routing server, cause the routing server to performs the method of claims 1, 2 and 5 respectively and are rejected under the same rationale. 16. Regarding claims 15, 16 and 19, those claims recite a system performs the method of claims 1, 2 and 5 respectively and are rejected under the same rationale. 17. Regarding claim 23, Willehadson and Ford teach the invention as claimed in claim 8 above and further Willehadson teaches wherein the operations further includes selecting the different server on a deterministic basis ([0009], [0044], [0047-0049]). 18. Claims 4, 11 and 18 are rejected under 35 U.S.C.103 as being unpatentable over Willehadson et al (US 20050091653 A1) in view of Ford et al (US 20170041296 A1) and further in view of Shadmon (US 20120310881 A1) hereinafter as Shadmon. 19. Regarding claim 4, Willehadson and Ford teach the invention as claimed in claim 1, Willehadson and Ford do not specifically teach receiving, from the particular database server, an indication that the request could not be processed, wherein the indication identifies a different database server in possession of an exclusive lock for accessing to the database file; and providing the request to the different database server. However, Shadmon teaches receiving, from the particular database server, an indication that the request could not be processed, wherein the indication identifies a different database server in possession of an exclusive lock for accessing to the database file; and providing the request to the different database server ([0006], “two threads receive a Read Lock on the same Row such that both threads are provided with the permission to examine the content of the Row concurrently. However, the third thread that requests a Write Lock on the Row is denied, or is being placed on wait until the reading threads released their Read Lock.”, [0017]). It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to incorporate the concept of teachings suggested in Shadmon’s system into Willehadson and Ford combined system and by incorporating Shadmon into Willehadson and Ford combined system because all systems are related to databases and database management systems would reduce the time needed to satisfy lock processes that are done to manage a shared disk (and similar) database system (Shadmon, [0026]). 20. Regarding claim 11, this claim recites a non-transitory computer readable storage medium configured to store instructions that, when executed by at least one processor included in a routing server, cause the routing server to performs the method of claim 4 and is rejected under the same rationale. 21. Regarding claim 18, this claim recites a system performs the method of claim 4 and is rejected under the same rationale. 22. Claims 6, 7, 13, 14 and 20 are rejected under 35 U.S.C.103 as being unpatentable over Willehadson et al (US 20050091653 A1) in view of Ford et al (US 20170041296 A1) and further in view of Vrtiska et al (US 20240403316 A1) hereinafter as Vrtiska. 23. Regarding claim 6, Willehadson and Ford teach the invention as claimed in claim 1, Willehadson and Ford do not specifically teach detecting, through interactions with at least one database server within the group of database servers, and/or at least one other routing server, at least one change to the group of database servers; and modifying the configuration file to reflect the at least one change. However, Vrtiska teaches detecting, through interactions with (i) at least one database server within the group of database servers, and/or (ii) at least one other routing server, at least one change to the group of database servers; and modifying the configuration file to reflect the at least one change ([0279], “in response to an event on a given cluster. An event on a cluster may include one or more of: a change in status of a resource on the cluster, a change in resource capacity, a change in resource utilization, a configuration change, among other types of changes to the resources of a cluster.”). It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to incorporate the concept of teachings suggested in Vrtiska’s system into Willehadson and Ford combined system and by incorporating Vrtiska into Willehadson and Ford combined system because all systems are related to databases and database management systems would Provide multi-cluster database deployment. 24. Regarding claim 7, Willehadson, Ford and Vrtiska teach the invention as claimed in claim 6 above, and further Vrtiska teaches wherein the at least one change comprises at least one of: an addition of a new database server to the group of database servers, a removal of an existing database server from the group of database servers, or at least one change to at least one property of at least one database server within the group of database servers ([0005]) ([0279], “in response to an event on a given cluster. An event on a cluster may include one or more of: a change in status of a resource on the cluster, a change in resource capacity, a change in resource utilization, a configuration change, among other types of changes to the resources of a cluster.”). 25. Regarding claims 13 and 14, those claims recite a non-transitory computer readable storage medium configured to store instructions that, when executed by at least one processor included in a routing server, cause the routing server to performs the method of claims 6 and 7 respectively and are rejected under the same rationale. 26. Regarding claim 20, this claim recites a system performs the method of claim 6 and is rejected under the same rationale. 27. Claims 21 and 22 are rejected under 35 U.S.C.103 as being unpatentable over Willehadson et al (US 20050091653 A1) in view of Ford et al (US 20170041296 A1) and further in view of Parulka et al (US 10530858 B1) hereinafter as Parulka. 28. Regarding claim 21, Willehadson, Ford teach the invention as claimed in claim 1, Willehadson, Ford do not specifically teach selecting the different server on a random basis. However, Parulka teaches selecting the different server on a random basis (col 11, lines 24-37, “the hash function may be represented by the jump consistent hash function which inputs a key (i.e., the digital content item identifier) and a number of network nodes, and returns the identifier of one of the network nodes. The jump consistent hash function produces relatively even content distribution across the network nodes”, col 14, lines 8-19, “a requestor node was randomly selected from the node list. The requestor node implements the content look-up function to identify the network node storing a copy of the requested digital content item.”). Examiner Note: the jump consistent hash function produces a random number. It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to incorporate the concept of teachings suggested in Parulka’s system into Willehadson and Ford combined system and by incorporating Parulka into Willehadson and Ford combined system because all systems are related to databases and database management systems would Replication of Content Using Distributed Edge Cache in Wireless Mesh Networks. 29. Regarding claim 22, Willehadson and Ford teach the invention as claimed in claim 1, Willehadson and Ford do not specifically teach wherein producing the hash value comprises using a jump hash function. However, Parulka teaches wherein producing the hash value comprises using a jump hash function (col 11, lines 24-37, “the hash function may be represented by the jump consistent hash function which inputs a key (i.e., the digital content item identifier) and a number of network nodes, and returns the identifier of one of the network nodes. The jump consistent hash function produces relatively even content distribution across the network nodes”, col 14, lines 8-19, “a requestor node was randomly selected from the node list. The requestor node implements the content look-up function to identify the network node storing a copy of the requested digital content item.”). It would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention to incorporate the concept of teachings suggested in Parulka’s system into Willehadson and Ford combined system and by incorporating Parulka into Willehadson and Ford combined system because all systems are related to databases and database management systems would Replication of Content Using Distributed Edge Cache in Wireless Mesh Networks. Respond to Amendments and Arguments 30. Applicant has amended claims, 18, and 15 to recite new features and argued that Willehadson fail to teach one or more features of amended claims. For a number of reasons, including but not limited to, the following: Willehadson provides no teaching or suggestion of a "database file [] encrypted with an encryption key that corresponds to a user account.". Examiner presents the following responses to Applicant’s arguments: Applicant’s 35 U.S.C. § 102/103 arguments on claims 1-20 has been fully considered but are moot in view of the new ground of rejection necessitated by applicant’s amendment presented above, 35 USC § 103. CONCLUSION 31. The prior art made of record and not relied upon is considered pertinent to applicant s disclosure. Thomsen (US 20230195747 A1) Kaplan et al (US 20240086520 A1) Horowitz et al (US 20170262638 A1) The Applicant’s amendment necessitated a new ground of rejection. Therefore, THIS ACTION IS MADE FINAL. Applicants are reminded of the extension of time policy as set forth in 37 C.F.R. § 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to HICHAM SKHOUN whose telephone number is (571)272-9466. The examiner can normally be reached Normal schedule: Mon-Fri 10am-6: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, Amy Ng can be reached at 5712701698. 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. /HICHAM SKHOUN/Primary Examiner, Art Unit 2164
Read full office action

Prosecution Timeline

Apr 15, 2024
Application Filed
Dec 26, 2024
Non-Final Rejection — §103
Mar 18, 2025
Interview Requested
Mar 27, 2025
Applicant Interview (Telephonic)
Mar 27, 2025
Examiner Interview Summary
Mar 28, 2025
Response Filed
May 02, 2025
Final Rejection — §103
Jul 14, 2025
Interview Requested
Jul 21, 2025
Applicant Interview (Telephonic)
Jul 21, 2025
Examiner Interview Summary
Jul 30, 2025
Request for Continued Examination
Aug 05, 2025
Response after Non-Final Action
Aug 07, 2025
Non-Final Rejection — §103
Nov 11, 2025
Interview Requested
Nov 19, 2025
Examiner Interview Summary
Nov 19, 2025
Applicant Interview (Telephonic)
Dec 10, 2025
Response Filed
Jan 28, 2026
Final Rejection — §103
Apr 01, 2026
Request for Continued Examination
Apr 07, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591552
Distributed File System that Provides Scalability and Resiliency
2y 5m to grant Granted Mar 31, 2026
Patent 12561304
DISTRIBUTABLE HASH FILTER FOR NONPROBABILISTIC SET INCLUSION
2y 5m to grant Granted Feb 24, 2026
Patent 12536141
DEFRAGMENTATION FOR LOG STRUCTURED MERGE TREE TO IMPROVE READ AND WRITE AMPLIFICATION
2y 5m to grant Granted Jan 27, 2026
Patent 12511292
CLUSTER VIEWS FOR COMPUTE SCALE AND CACHE PRESERVATION
2y 5m to grant Granted Dec 30, 2025
Patent 12481672
METRICS MANAGEMENT SYSTEM
2y 5m to grant Granted Nov 25, 2025
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

5-6
Expected OA Rounds
77%
Grant Probability
83%
With Interview (+5.6%)
3y 1m
Median Time to Grant
High
PTA Risk
Based on 344 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