DETAILED ACTION
1. This office action is in response to application 18/882,541 filed on 9/11/2024. Claims 1-20 are pending in this office action.
Notice of Pre-AIA or AIA Status
2. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
3. 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.
Claim(s) 1-11, 13-18 and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2023/0315529 (hereinafter Gristede) in view of US 2018/0322168 (hereinafter Levine).
As for claim 1 Gristede discloses: A computer-implemented method of managing execution of database queries associated with a plurality of user accounts (See paragraphs 0026 and 0032-0034 note the system uses a multi-tenant distributed cloud computing system to manage the data and interactions with the data), comprising: distributing a plurality of permits to utilize computing resources to the plurality of user accounts (See paragraphs 0063-0067 note a ticket/permit is assigned to compute tasks based on the user account); maintaining a queue for each user account of one or more user accounts of the plurality of user accounts (See paragraphs 0034, 0061-0067 note a queue is maintained for each user account through the user portal).
While Gristede discloses user accounts and tickets based on resources (see above). Gristede does not explicitly disclose: receiving a first set of database queries associated with a first user account of the one or more user accounts; creating an execution plan for the first set of database queries that specifies a plurality of portions that correspond to a plurality of subsets of the first set of database queries and that are to be implemented sequentially; determining pausing execution of the first set of database queries and no computing resource is available; computing a current priority for each user account of a subset of user accounts of the plurality of user accounts based on an intensity of query execution related to the user account over a period of time; selecting a specific user account from the subset of user accounts based on the set of current priorities; determining that the specific user account is not the first user account; saving the execution plan and a state of execution for the first set of database queries into the queue for the first user account; executing a specific set of database queries associated with the specific user account based on a specific execution plan and a specific state of execution for the specific set of database queries, wherein the method is performed by one or more processors.
Levine however discloses: receiving a first set of database queries associated with a first user account of the one or more user accounts (See paragraphs 003-004, 0013-0019 note the system receives and processes queries in a multi-tenant environment); creating an execution plan for the first set of database queries that specifies a plurality of portions that correspond to a plurality of subsets of the first set of database queries and that are to be implemented sequentially (See paragraphs 0018 and 0061-0063 note the system creates a query plan to retrieves portions of the data that is distributed throughout the system and the priority maintains the sequential nature); determining pausing execution of the first set of database queries and no computing resource is available (See paragraph 0063 note the system calculates system resources and will pause jobs or task when no computing resources are available); computing a current priority for each user account of a subset of user accounts of the plurality of user accounts based on an intensity of query execution related to the user account over a period of time (See paragraphs 0063-0064 note a priority parameter is established for each user); selecting a specific user account from the subset of user accounts based on the set of current priorities; determining that the specific user account is not the first user account (See paragraphs 0024 and 0032-0037 and 0045 note within a multi-tenant environment users are differentiated by their credentials and information accessible to the particular user and queries can be handles at the user level); saving the execution plan and a state of execution for the first set of database queries into the queue for the first user account (See paragraph 0063 note a pausing of the execution saves the current state to continue when resources are available); executing a specific set of database queries associated with the specific user account based on a specific execution plan and a specific state of execution for the specific set of database queries (See paragraphs 0017 ad 0068 note the system generates and executes a specific query plan), wherein the method is performed by one or more processors (See paragraphs 0036-0038 note the system uses processors to execute the code of the method). It would have been obvious to an artisan of ordinary skill in the pertinent at the time the instantly claimed invention was filed to have incorporated the teaching of Levine into the system of Gristede. The modification would have been obvious because the two references are concerned with the solution to problem of optimizing resource utilization (See Levine and Gristede abstracts) therefore there is an implicit motivation to combine these references (i.e. motivation from the references themselves). In other words, the ordinary skilled artisan, during his/her quest for a solution to the cited problem, would look to the cited references at the time the invention was made. Consequently, the ordinary skilled artisan would have been motivated to combine the cited references since Levine’s teaching would enable users of the Gristede system to have more efficient processing.
As for claim 2 the rejection of claim 1 is incorporated and further Gristede discloses: the creating comprising selecting at least one breakpoint in the execution plan each breakpoint separating two portions of the plurality of portions of the execution plan, an amount of state information to be saved at a breakpoint of the at least one breakpoint being below a threshold (See paragraphs 0073 note the breakpoint is set as a certain amount of time subsequent to the creating of the request).
As for claim 3 the rejection of claim 1 is incorporated and further Gristede discloses: determining that an unused permit exists for the first user account; implementing a portion of the plurality of portions of the execution plan using the unused permit, leading to the pausing execution of the first set of database queries (See paragraphs 0074-0079 note the system tracks tickets/permits using multiple policies and implements access to portions based on the tickets/permits).
As for claim 4 the rejection of claim 1 is incorporated and further Gristede discloses: receiving a second set of database queries associated with a second user account of the one or more user accounts; determining that no computing resources is available and no unused permit exists for the second user account; determining that a length of time since a set of database queries associated with the second user account was last received exceed a threshold (See figure 6 and paragraphs 0064-0068 note the system has a timeout threshold to automatically save the in process execution); While Levine discloses: saving an execution plan for the second set of database queries into the queue for the second user account (See paragraph 0063 note the system calculates system resources and will pause jobs or task when no computing resources are available resulting in saving the current progress of the task). It would have been obvious to an artisan of ordinary skill in the pertinent at the time the instantly claimed invention was filed to have incorporated the teaching of Levine into the system of Gristede. The modification would have been obvious because the two references are concerned with the solution to problem of optimizing resource utilization (See Levine and Gristede abstracts) therefore there is an implicit motivation to combine these references (i.e. motivation from the references themselves). In other words, the ordinary skilled artisan, during his/her quest for a solution to the cited problem, would look to the cited references at the time the invention was made. Consequently, the ordinary skilled artisan would have been motivated to combine the cited references since Levine’s teaching would enable users of the Gristede system to have more efficient processing.
As for claim 5 the rejection of claim 1 is incorporated and further Gristede discloses: the intensity of query execution being expressed an inverse of a amount of time since a last time any set of database queries was executed for the user account or as an inverse of an average amount of time each set of database queries stayed in the queue for the user account (See paragraphs 0065, 0073, 0077 note the amount of time elapsed is used in a function to determine how resources should be allocated).
As for claim 6 the rejection of claim 1 is incorporated and further Gristede discloses: further based on a number of unused permits for the user account or a complexity of a set of database queries to be executed associated with the user account (See paragraphs 0034, 0061-0067 note a queue is maintained for each user account through the user portal).
As for claim 7 the rejection of claim 6 is incorporated and further Gristede discloses: the complexity of the set of database queries being related to a type of the set of the database queries or an estimated cost of executing the set of database queries (See paragraphs 0020 and 0061 note the system can use a cost-function to determine how to use the shared resources).
As for claim 8 the rejection of claim 1 is incorporated and further Levine discloses: The plurality of user accounts being organized in a hierarchy of nodes, the selecting comprising iteratively from a top level of the hierarchy down, identifying a node at a current level that is a child of any node identified at a previous level and that has a highest aggregated current priority over user accounts in descendants of the node (See paragraph 0035 note a hierarchy role model has users at levels, parent or child allowing for access at the child level but not the parent level and the highest level is used to allocate priority).
As for claim 9 the rejection of claim 1 is incorporated and further Levine discloses: receiving a second set of database queries associated with a second user account of the one or more user accounts; determining that execution of the second set of database queries is paused and no computing resource is available (See paragraph 0063 note the system has to determine which instances are paused in order to restart the query); computing a current priority of each user account of a second subset of the plurality of user accounts based on an intensity of query execution related to the user account over a second period of time (See paragraph 0063 further note the system uses priority and trigger events/intensity to also determine which queries to pause or restart); identifying the second user account as having a highest current priority; causing further executing of the second set of database queries (See paragraphs 0063 note the system dynamically adjust the queries and the based on all of the previous factors including priority).
As for claim 10 the rejection of claim 1 is incorporated and further Gristede discloses: in response to the saving, releasing a computing resource utilized in executing the first set of database queries and a corresponding permit for the first user account (See paragraphs 0028 and 0083-0086 note the system will release resources based on the tickets/buffer or memory size using priority).
As for claim 11 the rejection of claim 1 is incorporated and further Levine discloses removing a particular set of database queries from the queue for the specific user account (See paragraphs 0013, 0016 and 0059 note the system allows for the canceling/removing of jobs based on a specific user).
Claims 13-18 are system claims substantially corresponding to the method of claims1-2, 4, 6, 9 and 11 and are thus rejected for the same reasons as set forth in the rejection of claims 1-2, 4, 6, 9 and 11.
Claim 20 is non-transitory computer readable medium substantially corresponding to the method of claim 1 and is thus rejected for the same reasons as set forth in the rejection of claim 1.
4. Claim(s) 12 and 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Gristede and Levine as applied to claims 1 and 13 above, and further in view of US 2006/0248045 (hereinafter Toledano).
While respect to claims 12 and 19 while Levine discloses a hierarchical based access system (See above) neither Gristede nor Levine explicitly disclose: receiving an ontology query for querying an ontology from the first user account; the ontology including a definition for each ontology entity type of a plurality of ontology entity types and a plurality of ontology entities instantiated from the plurality of ontology entity types, each ontology entity type of the plurality of ontology entity types having one or more properties; identifying a set of permissions for accessing the ontology associated with the first user account; transforming the ontology query to the first set of database queries; causing the execution of the first set of database queries based on the set of permissions. Toledano however discloses: receiving an ontology query for querying an ontology from the first user account (See paragraphs 0060 and 0070-0082 note the system receives a user query); the ontology including a definition for each ontology entity type of a plurality of ontology entity types and a plurality of ontology entities instantiated from the plurality of ontology entity types, each ontology entity type of the plurality of ontology entity types having one or more properties (See paragraph 0136 note each entity type has one or more properties); identifying a set of permissions for accessing the ontology associated with the first user account; transforming the ontology query to the first set of database queries (See paragraphs 0003, 0140-0143 and 0146 note the system allows for the user to query the high level ontology and the system translates/transforms the query into a database query); causing the execution of the first set of database queries based on the set of permissions (See paragraphs 0149 and 0161 note the system executes/carryout the query). It would have been obvious to an artisan of ordinary skill in the pertinent at the time the instantly claimed invention was filed to have incorporated the teaching of Toledano into the system of Gristede and Levine. The modification would have been obvious because the three references are concerned with the solution to problem of optimizing resource utilization (See Toledano, Levine and Gristede abstracts) therefore there is an implicit motivation to combine these references (i.e. motivation from the references themselves). In other words, the ordinary skilled artisan, during his/her quest for a solution to the cited problem, would look to the cited references at the time the invention was made. Consequently, the ordinary skilled artisan would have been motivated to combine the cited references since Toledano’s teaching would enable users of the Gristede and Levine system to have more efficient processing.
Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ELIYAH STONE HARPER whose telephone number is (571)272-0759. The examiner can normally be reached on Monday-Friday 10:00 am - 6:00 pm.
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, Sanjiv Shah can be reached on (571) 272-4098. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Eliyah S. Harper/Primary Examiner, Art Unit 2166 December 27, 2025