DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This office action is in response to applicant amendment responding to Examiner Restriction requirement, dated 5/26/2026, wherein claims 10-18 are withdrawn, and claims 19-21 and 24 were previously cancelled, claims 1-9 and 22-23 are currently pending.
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.
Claim 23 is rejected under 35 U.S.C. 101 because it is directed to non-statutory subject matter.
As for claim 23, it recites “a computer-readable storage medium, comprising instructions” and the Specification recites the computer-readable storage medium includes instructions, and the instructions instruct a device to perform the method…” (Specification paragraph 90) with no exemplary, let alone limiting embodiments of what comprises computer-readable storage medium. In that event, the claim can include transitive storage mediums which are directed to a form of energy which at present the office feels does not fall into a category of invention.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1, 4-5, 7-9, and 22-23 are rejected under 35 U.S.C. 103 as being unpatentable over Yao (“Kyuubi, Release 1.4.1-incubating”, Kyuubi.readthedocs.io/_/downloads/en/v1.4.1-incubating/pdf/, Feb 7, 2022) and further in view of Unknown Author, (“Hortonworks Data Platform – Apache Hadoop High Availability”, docs-archive.cloudera.com/HDPDocuments/HDP2/HDP-2.6.0/bk_hadoop-high-availability/bk_hadoop-high-availability.pdf, April 3, 2017) (hereafter as “HDP”).
As for claim 1, Yao teaches a task processing method, wherein the method is applied to a first server (Pg. 142, “Server is a daemon process that handles concurrent connection and query requests and converting these requests into various operations against the query engines to complete the responses to clients…”), and the method comprises:
receiving a first task processing request sent by a client (Pg. 60, Fig. Clients -> “request” -> Service Discovery/Load Balance -> Kyuubi Server, “client can specify service discovery mode…in JDBC connection string…and set zookeepernamespace=Kyuubi….pick one of the Kyuubi service uris…” and Pg. 66, “…the engines responds to various types of client requests…” and Pg. 80, “…a user or client can send multiple operation requests…including…queries, to the corresponding engine…”);
determining information of a task engine that is used to process the first task processing request (Pg. 118, “the selected Kyuubi instance will pick an available engine instance…to establish a connection…if no available instance is found, it will create a new one, wait for the engine to finish registering, and then proceed to connect…” This is understood as the server determining the engine’s registered connection information for the request received.); and
storing the information of the task engine and an identifier of the client correspondingly into an external memory (Pg. 118, “…namespace used to store the address of the engine instances are isolated based on the user…and different users cannot access other’s instance across the namespace…”, P60, “…zookeeper address via Kyuubi.ha.zookeeper.quorum…” and Pg. 94, “…Kyuubideployment for production …relies on some other external systems. For example, both Kyuubi servers and engines will use Apache Zookeeper for service discovery…” prior art teaching using zookeeper for service discovery, services’s namespace information are isolated based on engine instances and per user. Thus, it is clear zookeeper, external to the Kyuubi servers/engines, have service information related to the users and engines.).
While the claim does not explicitly state the server deployment environment is in a HiveeServer2 environment, however, in the event the environment as requiring the recited method within a HiveServer2 deployment (i.e., in view of claim 7). Examiner note for the purpose of compact prosecution, while Yao teaches Kyuubi implements the Hive Service RPC, and is functionally the same way to access data as HiveServer2 (Pg. 116), it does not explicitly teach the prior art is implemented in a HiveServer2 environment.
However, HDP teaches a method of deployment of query execution engines including a task processing method, wherein the method is applied to a server [HiveServer2 instance] and the method comprises: receiving a first task processing request by a client (Pg. 10, “…client submits a query to HS2…” and Pg. 9, “manages HiveServer2 Requests …HS2 instances register with zookeeper under a namespace…” teaching execution of query execution engines…” teaching receiving a first task processing request from client in form of query request, where HS2, having servers HV2 instances to route the request to.). This known technique is applicable to the system of Yao as they both share characteristics and capabilities, namely, they are directed to management of query processing in service environments that supports multi-client concurrency with both using zookeeper service registration.
One of ordinary skill in the art before the effective filing date of the application would have recognized that applying the known technique of HDP would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of HDP to the teachings of Yao would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such data processing features into similar systems. Further, applying a task processing method, wherein the method is applied to a HiveServer2 instance and receiving a first task processing request by a client to Yao with a task processing method, wherein the method is applied to a first server and receiving a first task processing request by a client accordingly, would have been recognized by those of ordinary skill in the art as resulting in an improved system that would improved support for open API clients with both utilizing Hive JDBC interfaces and improved high availability of services to service query requests. (HDP, Pg. 9, “…implement HiveServer2 High Availability…”).
As for claims 22 and 23, they are the system and product claims of method claim 1 above. Thus, they are rejected under the same rationales.
As for claim 4, Yao also teaches receiving a connection request sent by the client, wherein the connection request comprises the identifier of the client (Pg. 17, “…create a session for another user…named kentyao…”bin/beeline -u…-n kentyao…” explicitly teaches the input of user name as part of request. In addition, Pg. 118, Fig. Client -> Request to service discovery/load balance received. “…if the same person requests a new connection, the connection will be setup to the same or another Kyuubi instance, but the engine instance will be reused…” teaching the ability to identify the requester is the same or different person, thus, whatever specific representation the user ID takes, is understood as the identifier of the client.).
As for claim 5, Yao also teaches the information of the task engine comprises: connection information of the task engine (Pg. 118, “…namespaces used to store the address of the engine instances….” ).
HDP teaches the connection information of the task engine comprises the IP address and port number (Pg. 9-10, “…HS2 instances register with zookeeper under a namespace…adding a znode in zookeeper…serverURI=<host:port>…znode stores the server host:port as its data” ). Rationale to combine is same as claim 1 above.
As for claim 7, HDP teaches the first server is a HiveServer2 (Pg. 9-10, “…the HS2 instance register with zookeeper under a name space…”).
As for claim 8, Yao also teaches the first task processing request is a structured query language SQL statement (Pg. 115-116, “…Kyuubi is a high-performance universal…SQL execution engine…all workloads can be done…with one SQL interface…” and Pg. 119, “…Kyuubi enables clients to execute Spark SQL queries…”), and the task engine is an application master AM (Pg. 52, “…Setting spark.master=yarn tells Kyuubi to submit Spark SQL engine applications to the YARN cluster manager…”, Pg. 116, “…created…in Yarn or Kubernetes clusters in cluster deploy mode…” teaching engines can be deployed in YARN application mater, in another word, the task engine is embodied as the application’s AM.).
As for claim 9, Yao also teaches the external memory is a memory of a ZooKeeper (Pg. 60, “…when we specify the zookeeper address via Kyuubi.ha.zookeeper.quorum…load balance mode is activated by default…” and “…pick one of the Kyuubi service URIs from the specified zookeeper address in the /kyuubi path….”).
Claim(s) 2-3, and 6 are rejected under 35 U.S.C. 103 as being unpatentable over Yao and HDP, further in view of Unknown Author (“ResourceManager Restart”, hadoop.apache.org/docs/r3.3.1/hadoop-yarn/hadoop-yarn-site/ResourceManagerRestart.html, Jun 15, 2021) (hereafter as “YARN RM”).
As for claim 2, Yao and HDP do not explicitly teach the request and identifier of the client are stored in the external memory.
However, YARN RM teaches a known method of resource management of data processing application deployment using YARN including storing the first task processing request and the identifier of the client correspondingly into the external memory (Pg. 1-2, RM will save the application metadata (i.e., Application SubmissionContext) in a pluggable state-store when client submits an application…RM also saves the credentials like security keys…application metadata and ….credentials ….is available in the state-store….”, and “…RM will reload this information from state-store on restart and re-kick the previously running applications. Users are not required to re-submit the application…” and “zookeeper based state-store…” teaching user request and any identifying information of user for executing the request are stored in state-store within Zookeeper). This known technique is applicable to the system of Yao and HDP as they both share characteristics and capabilities, namely, they are directed to management of query processing in service environments that supports multi-client concurrency utilizing Hadoop YARN and using zookeeper.
One of ordinary skill in the art before the effective filing date of the application would have recognized that applying the known technique of YARN RM would have yielded predictable results and resulted in an improved system. It would have been recognized that applying the technique of YARN RM to the teachings of Yao would have yielded predictable results because the level of ordinary skill in the art demonstrated by the references applied shows the ability to incorporate such data processing features into similar systems. Further, applying storing the first task processing request and the identifier of the client correspondingly into the external memory to Yao and HDP with receiving request from client including client identification accordingly, would have been recognized by those of ordinary skill in the art as resulting in an improved system that would improve automated task restart without user involvement (YARN RM, Pg. 1).
As for claim 3, YARN RM also teaches when the first task processing request is related to a task execution environment, storing the first task processing request and the identifier of the client correspondingly into the external memory (Pg. 1-2, “…RM will reload this information from state-store…” and “…save the application metadata (i.e., ApplicationSubmisswionContext) in a plurggable state-store when client submits an application and …security keys, tokens….”). Rationale to combine is same as claim 2 above.
As for claim 6, YARN RM also teaches an identifier of the task engine (Pg. 1-2, Yarn persists state per application/task engine, and reloads the state of the application from state-store. Thus, it is clear the prior art can identify/determine the identity of the application whose state is being managed.). Rationale to combine is same as claim 2 above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KEVIN X LU whose telephone number is (571)270-1233. The examiner can normally be reached M-F 10am-6pm.
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, Lewis Bullock can be reached on 5712723759. 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.
/KEVIN X LU/Examiner, Art Unit 2199
/LEWIS A BULLOCK JR/Supervisory Patent Examiner, Art Unit 2199