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 .
DETAILED ACTION
This is a Non-Final Action of the instant application 18/242,124 (hereinafter the ‘124 application), filed 9/5/2023 and assigned to International Business Machines Corporation.
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-20 are rejected under 35 U.S.C. 103 as being unpatentable over Chakraborti et., U.S. Publication No. 2022/0269519, hereinafter Chakraborti and Lan et., U.S. Publication No. 2024/0028357, hereinafter Lan.
With regard to claims 1, 13, and 20, which teach “A method (computer program product and apparatus), in a data processing system, for simulating operating systems, the method comprising: training, for each operating system of one or more operating systems, a corresponding artificial intelligence (AI) computer model that learns, by way of machine learning training, patterns of input features of inputs to the operating system and corresponding responses from the operating system; receiving, from a requestor computing device, a request to simulate a requested operating system; receiving, from the requestor computing device, a simulation input whose processing by the requested operating system is to be simulated; retrieving an AI computer model corresponding to the requested operating system; executing the retrieved AI computer model on the simulation input to simulate processing, by the request operating system, of the simulation input to generate a simulated response; and returning the simulated response to the requestor computing device as a simulated output of the requested operating system responsive to the input”; Chakraborti teaches a command line interface for operating system integration, which “integrates artificial intelligence (e.g., via command line orchestration component 110 and command line plugins 120)” (see [18] and [21]) for the purpose of OS simulation, testing, and improvment. Here the command line orchestration component includes a training component that uses AI pattern matching to evaluate response to input and the associated response, to best approach a desired result (see [22-24]). The results of this training enable improvements to the operating system (see [24]). The command line plugins 120 execute “functions of the operating system 130 based on user input” (see paragraph 28). Here the “method of training a machine learning model” comprises “receiving text input from a training user via a command line interface”; “receiving candidate response to the text input from a plurality of command line plugins”, selecting a response to the text input from among the candidate responses using a command line orchestration component comprising a reinforcement learning model” (see claim 16). Thereby Chakraborti teaches receiving simulation input to test the system, running the input through the model to generate a response, and evaluating the returned response against expected results [23-28].
Chakraborti, however, doesn’t specifically teach the simulation / training of models of a plurality of operating systems (one or more operating systems) as requested.
Lan teaches a system for simulating operating systems, similar to that of Chakroborti. Lan teaches a testing a simulation system for simulating a virtual environment including via computer visualization which “encapsulat[es] a physical computing machine platform into a virtual machine(s) (VM(s)), executing under control of virtualization software on a hardware computing platform or “host.”” (see paragraph 2). The Lan system further specifically teaches, using a virtualization simulator to simulate a plurality of hosts, simulating a “plurality of guest operating systems (OSs)” (see paragraph 20), as requested by a user / administrator (see paragraphs 44, 50, and 54). Control and management of the simulation is handled via a container orchestration system (see paragraphs 45 and 50), similar to that of Chakroborti.
It would be obvious to one of ordinary skill in the art at the time of the invention to enable the system of Chakroborti to simulate one or more requested operating systems, as did Lan, in order to evaluate multiple system configurations.
With regard to claims 2 and 14, which teach “wherein the corresponding AI computer model is a command line interface (CLI) computer model that maps patterns of input features of commands input to a CLI of the operating system with corresponding CLI responses”; Chakroborti teaches, as noted above, use of a command line interface to interact with the operating system (see above and paragraph 18).
With regard to claims 3 and 15, which teach “wherein the request is a request to simulate a CLI of the requested operating system and wherein the input whose processing by the requested operating system is to be simulated is a command to the CLI”; Chakroborti teaches, as noted above, use of a command line interface to interact with the operating system requesting simulation of the OS, providing input and evaluating results (see above combination and paragraphs 18, 27, 28, and 31 as well as claim 16).
With regard to claims 4 and 16, which teach “wherein the simulation input is a command for a command line interface (CLI) of the requested operating system, and wherein the simulated output is a simulated CLI response generated by simulating the requested operating system based on the retrieved AI computer model”; Chakroborti teaches, as noted above, use of a command line interface to interact with the operating system requesting simulation of the OS, providing input and evaluating results (see above combination and paragraphs 18, 27, 28, and 31 as well as claim 16).
With regard to claims 5 and 17, which teach “wherein returning the simulated response to the requestor computing device as a simulated output of the requested operating system responsive to the input comprising returning the simulated CLI response in a simulated user interface mimicking a command line interface of the requested operating system”; Chakroborti teaches “receiving candidate response to the text input from a plurality of command line plugins” and “selecting a response to the text input from among the candidate responses using a command line orchestration component comprising a reinforcement learning model” and “presenting the selected response to the user via the command line interface” (see claim 16).
Lan further teaches the simulation mocking the virtual environment used for testing through experimentation and learning (see paragraph 6).
With regard to claims 6 and 18, which teach “wherein the patterns of input features comprise patterns of operating system commands input to a command line interface of the operating system, and corresponding options for those operating system commands”; <<< see above <<<
With regard to claims 7 and 19, which teach “wherein: the one or more operating systems comprises a plurality of operating systems, training the AI computer model comprises training a separate AI computer model for each different operating system in the plurality of operating systems, and each of the AI computer models are trained to simulate a same set of command line interface commands but with regard to a corresponding operating system, in the plurality of operating systems”; Lan teaches, as noted above, a system for simulating operating systems, using a virtualization simulator to simulate a plurality of hosts, simulating a “plurality of guest operating systems (OSs)” (see paragraph 20), as requested by a user / administrator (see paragraphs 44, 50, and 54), with the control and management of the simulation is handled via a container orchestration system (see paragraphs 45 and 50). Lan further teaches running each of the OSs through an automation script to test functionality (see paragraphs 6 and 69). Where this could equally be accomplished using the command line interface of Chakroborti.
With regard to claim 8, which teaches “wherein the AI computer model is trained based on a machine learning processing of a training data set comprising a set of command line interface commands, options for the command line interface commands, and expected command line interface outputs for the commands and options based on an ingested corpus of source documents comprising operating system design documents, support hubs, and man pages”; Chakroborti further teaches the AI computer model training system ingesting documentation into the system to help troubleshoot faults and errors, such as but not limited to software developers documentation, web forums, etc. (see paragraph 33). Chakroborti further teaches reinforcement learning using CLI commands (see paragraph 63).
With regard to claim 9, which teaches “wherein the request is a natural language request submitted via a chatbot interface and specifies the requested operating system and the simulating input whose processing by the requested operating system is to be simulated”; Chakroborti further teaches a “natural language interface to the command line interface” for use in interpreting “user intents” (see paragraph 66).
With regard to claims 10 and 11, which teaches “further comprising: receiving a user profile specifying a subset of operating systems to simulate, wherein the training of the corresponding AI computer model is performed for each of the operating systems specifies in the user profile”/ “wherein the user profile further specifies, for the subset of operating systems, a scope of commands that are to be learned by the training of the corresponding AI computer models, and a default set of environment variables to use in simulating the subset of operating systems”; Chakroborti further teaches the system starting with a “specific user profile” (see paragraph 77). Where the above referenced “command line interface… integrates artificial intelligence… to generalize the command line interface environment for various users” (see paragraph 14), training the system using an input, output, evaluate, adapt model (supra).
With regard to claim 12, which teaches “further comprising: receiving user feedback information in response to the simulated response indicating whether the simulated response is correct or incorrect; and updating a training of the retrieved AI computer model based on the user feedback information”; Chakroborti further teaches the AI computer model training system ingesting documentation into the system to help troubleshoot faults and errors, such as not limited to software developers documentation, web forums, etc. (see paragraph 33). This enables the above referenced system of receiving feedback, responding to the system, and updating (see claim 16). Chakroborti further teaches reinforcement learning using CLI commands (see paragraph 63).
Summary
Claims 1-20 are REJECTED.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: Roll et al., U.S. Publication No. 2020/0349041; Wall et al., U.S. Publication No. 2015/0355997; Phadte et al., U.S. Patent No. 11,349,714; and Arunachalam et al., U.S. Patent No. 10,795,793.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to DENNIS G BONSHOCK whose telephone number is (571)272-4047. The examiner can normally be reached M-F 7:15 - 4:45.
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, Alexander Kosowski can be reached at (571) 272-3744. 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.
/DENNIS G BONSHOCK/ Primary Examiner, Art Unit 3992