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. Claim Objections Claims FILLIN "Enter claim indentification information" \* MERGEFORMAT 1, 3-4, 6-11, and 20-27 objected to because of the following informalities: Claim 1 , line 2 , “ the steps of ” should read “ steps of ” . Claim 1 , line 5 , “ the functions ” should read “ functions ” . Claim 1 , line 1 3 , “ the performance of the simulation computer program code ” should read “a performance of the simulation computer program code ” . Claim 3 , line 2 , “ the steps of running the simulation computer program code ” should read “ steps of running the simulation computer program code ” . Claim s 4, 6, 7, 10, 20, 24, and 27 , have multiple instances of “ client device ” or “ client device s” that should read “remote client device ” or “remote client devices” or make distinction between them. Furthermore, check for antecedent basis in each instance of the claim language. Claim s 6 and 7 , line 2, “ the step of the operator ” should read “a step of an operator ” . Claim 8 , line 2 , “ the step of allowing ” should read “a step of allowing ” . Claim 9 , line 2 , “ the step of ” should read “a step of ” . Claim 9 , line 2 , “ a server ” should read “the server ” . Claim 9 , line 3 , “ a remote client device ” should read “the remote client device ” . Claim 10 , line 2 , “ the steps of ” should read “ steps of ” . Claim 10 , line 8 , “ each of the client's browsers ” should read “each remote client's browsers ” . Claim 11 , line 3 , “ the steps of ” should read “ steps of ” . Claim 11 , line 6 , “ the functions ” should read “ functions ” . Claim 11 , line 1 4 , “ the performance of the simulation computer program code ” should read “a performance of the simulation computer program code ” . Claim 20 , line 2 , “ program instructions ” should read “the program instructions ” . Claim 20 , line 3 , “ the step of ” should read “a step of ” . Claim 20, line 9 , “ each of the client's browsers ” should read “each remote client's browsers ” . Claim 2 1 , line 5 , “ the functions of the physics engine ” should read “ functions of the physics engine ” . Claim 2 1 , line 1 3 , “ the performance of the simulation computer program code ” should read “a performance of the simulation computer program code ” . Claim 2 3 , line 3 , “ a plurality of remote client devices ” should read “the plurality of remote client devices ” . Claim 2 5 , line 1, “ claim 20 ” should read “ claim 2 1 ” . Claim 2 6 , line 2 , “ the operator ” should read “ an operator ” . Appropriate correction is required. Claim Rejections - 35 USC § 103 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 FILLIN "Insert the claim numbers which are under rejection." \d "[ 1 ]" 1-28 are rejected under 35 U.S.C. 103 as being unpatentable over FILLIN "Insert the prior art relied upon." \d "[ 2 ]" Kam Ming LAU (US 20170316714 A1; hereinafter LAU) in view of Shah et al. (US 20200276708 A1; hereinafter Shah) in view of Ribeira et al. (US 2017/0213473 A1; hereinafter Ribeira ) . Regarding claims 1, 11, and 21 , LAU discloses a computer implemented method (use of computer; ¶2) of providing a virtual robotics (providing virtual robots; ¶2) programming competition (virtual robots are programmed and used in competitions; ¶6), the method comprising the steps of: on a server (server; ¶13), providing access for a remote client device (control device as a tablet; ¶13) to a physics engine (simulating a physical robot into a virtual robot inherently requires the use of a physics engine) and a rendering engine (simulating a physical robot into a virtual robot inherently uses a rendering engine); setting a programming challenge for a user operating the remote client device (a competition inherently has challenges in the virtual world in ¶18 and programming is used for the virtual robots in the virtual world in ¶6 ); receiving, over a communication network, a simulation computer program code for a virtual robot from the remote client device (virtual robots are inherently simulated by program code and the virtual robot simulated on the control device/tablet shown in Fig 2); running the simulation computer program code for the virtual robot received from the remote client device in a challenge environment (the simulation is happening in a virtual world; ¶6) . LAU does not explicitly disclose access for a remote client device to a physics library and an application programming interface (API) mapping the functions of the physics engine to the rendering engine ; grading the performance of the simulation computer program code. However, Shah focuses on the structure and behavior of simulated robots inside a virtual environment which relates to LAU because LAU simulates virtual robots inside a virtual environment. Shah teaches access for a remote client device to a physics library (the physics engine can include PhysX, which is a physics library; ¶32) ; and an application programming interface (API) mapping the functions of the physics engine to the rendering engine (PhysX inherently uses an API to map the functions of the physics engine to the rendering engine; ¶32) Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified LAU to implement the teachings of Shah because the API allows us to bridge the physics engine with the rendering engine . This mapping is necessary to simulate a virtual robot, otherwise it would just be a 3D animation. Ribeira focuses on virtual reality simulator for professional and educational training. This relates to LAU because the virtual environment can have a movable 3D or virtual object, similar to the architecture of virtual robots in a virtual environment. Ribeira teaches grading the performance of the simulation computer program code (evaluating performance of the simulation in the training environment; ¶33). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified LAU to implement the teachings of Ribeira for the benefit of providing the proper feedback or score in a robotics competition to determine who the winner is. Regarding claims 2 and 2 2 , LAU does not explicitly disclose the remote client device accesses the physics library, the physics engine, the rendering engine and the API through a web browser on the client device. Regarding additional limitations of claim 22, LAU does not explicitly disclose the remote client devices each have a web browser for accessing the physics library . However, Shah focuses on the structure and behavior of simulated robots inside a virtual environment which relates to LAU because LAU simulates virtual robots inside a virtual environment. Shah teaches the remote client device accesses the physics library (PhysX is a physics library; ¶32), the physics engine ( ¶32 ), the rendering engine (simulating a physical robot into a virtual robot inherently uses a rendering engine) and the API (PhysX inherently uses an API to map the functions of the physics engine to the rendering engine; ¶32) through a web browser on the client device (browser is executed on the client device; ¶17). Shah also teaches the remote client devices each have a web browser for accessing the physics library (¶17 also mentions that there can be client devices instead of just a client device) . Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified LAU to implement the teachings of Shah because accessing these features through a web browser is affordable and accessible without requiring expensive workstations or complex installations . Regarding claims 3 and 2 3 , LAU does not explicitly disclose the steps of running the simulation computer program code for the virtual robot received from a plurality of remote client devices simultaneously in the challenge environment , but examiner notes that LAU discloses multiple virtual robots from the same control device as a remote client device, but does not explicitly mention using multiple remote client devices simultaneously in the challenge environment. However, Shah focuses on the structure and behavior of simulated robots inside a virtual environment which relates to LAU because LAU simulates virtual robots inside a virtual environment. Shah teaches the steps of running the simulation computer program code for the virtual robot received from a plurality of remote client devices (client devices; ¶17) simultaneously in the challenge environment (these client devices interact with the robot simulation server; ¶18). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified LAU to implement the teachings of Shah because having multiple remote client devices will allow multiple users to participate in the virtual environment with the virtual robots. Regarding claims 4 and 2 4 , LAU does not explicitly disclose displaying the virtual robot operated by the simulation computer program code of the other client device on each client device. However, Shah focuses on the structure and behavior of simulated robots inside a virtual environment which relates to LAU because LAU simulates virtual robots inside a virtual environment. Shah teaches displaying the virtual robot operated by the simulation computer program code of the other client device on each client device (these devices can collectively interact with the robot simulation server 130 in ¶19 and users can control one or more virtual robots from the virtual environment in ¶28). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified LAU to implement the teachings of Shah because all virtual robots competing in virtual environment should be displayed on each client device for the benefit of having every user to see and keep track of each virtual robot participating in the competition . Regarding claims 5 and 2 5 , LAU does not explicitly disclose receiving and running the simulation computer program code for the virtual robot in the challenge environment in real time . However, Shah focuses on the structure and behavior of simulated robots inside a virtual environment which relates to LAU because LAU simulates virtual robots inside a virtual environment . Shah teaches receiving and running the simulation computer program code for the virtual robot in the challenge environment in real time (re - customize the robot in real time during the simulation; abstract). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified LAU to implement the teachings of Shah for the benefit of allowing every user to see and keep track of each virtual robot participating in the competition in real time and make modifications or changes in real time . Regarding claims 6 and 2 6 , LAU does not explicitly disclose the operator of a client device modifying their simulation computer program code for the virtual robot in real time . However, Shah focuses on the structure and behavior of simulated robots inside a virtual environment which relates to LAU because LAU simulates virtual robots inside a virtual environment . Shah teaches the operator of a client device modifying their simulation computer program code for the virtual robot in real time (re - customize the robot in real time during the simulation in abstract and users interact with virtual robots through their client device in ¶16). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified LAU to implement the teachings of Shah for the benefit of allowing every user to see and keep track of each virtual robot participating in the competition in real time and make modifications or changes in real time. Regarding claims 7 and 2 7 , LAU disclose s the operator of the client device using a block code editor on their client device to provide their simulation computer program code for the virtual robot (block code editor is a type of Visual programming Language (VP L ) software and here it's using new educational blocks; ¶6). Regarding claims 8 and 2 8 , LAU discloses the simulation computer program code for the virtual robot received from the remote client device is being run (the simulation for virtual robot running on a control device; abstract). LAU does not explicitly disclose allowing a third party operating a third party device to view the challenge environment . However, Ribeira focuses on virtual reality simulator for professional and educational training. This relates to LAU because the virtual environment can have a movable 3D or virtual object, similar to the architecture of virtual robots in a virtual environment. Ribeira teaches allowing a third party operating a third party device to view the challenge environment (a simulation can be viewed by a training moderator through a laptop; ¶72) . Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified LAU to implement the teachings of Ribeira for the benefit of having other users (such as judges) spectate the virtual robots in order to grade or score their performance. Regarding claim 9 , LAU discloses on a server, providing access for a remote client device to a simulated 3D object (robot has a 3D model which is integrated through the control device; ¶14). Regarding claim s 10 and 20 , LAU does not explicitly disclose the method comprises the steps of: on a client device, issuing a web page load request through a browser; establishing a communication link between the client device and at least one other client device; loading the API and the simulation computer program code onto each of the client devices; simulating a 3D object in each of the client's browsers, and, for each subsequent frame: receiving a simulated 3D object manipulation instruction from one client device; updating the rendered simulated 3D object by using the physics engine to generate position and rotation data for the simulated 3D object and sending that position and rotation data to the rendering engine on each of the client devices; the rendering engine updating the rendered simulated 3D object based on the position and rotation data received from the physics engine and displaying the updated rendered simulated 3D object on each of the client devices. However, Shah focuses on the structure and behavior of simulated robots inside a virtual environment which relates to LAU because LAU simulates virtual robots inside a virtual environment . Shah teaches the method comprises the steps of: on a client device, issuing a web page load request through a browser (use of a browser, which inherently issues a web page load request; ¶17); establishing a communication link between the client device and at least one other client device (client devices all interact with the robot simulation server so there is a communication link ; ¶16); loading the API and the simulation computer program code onto each of the client devices (implementation of the physics engine and physics library like PhysX inherently uses an API); simulating a 3D object in each of the client's browsers (there can be multiple client devices and client devices executes a browser application in ¶17 and a virtual robot is a 3d object), and, for each subsequent frame (continuously updated and in real-time; ¶55) : receiving a simulated 3D object manipulation instruction from one client device (moving and simulating behavior for the robots from inputs of one or more clients; ¶5 3 ); updating the rendered simulated 3D object by using the physics engine to generate position and rotation data for the simulated 3D object and sending that position and rotation data to the rendering engine on each of the client devices ( u ser can customize the position and orientation of the virtual robot; ¶42); the rendering engine updating the rendered simulated 3D object based on the position and rotation data received from the physics engine (The physics engine with the PhysX library and rendering engine, they all inherently work together in this type of structure to be able to render and update changes to the virtual robot) and displaying the updated rendered simulated 3D object on each of the client devices (all these client devices are connected to the same network in ¶15, updates to the virtual robots will be able to be shown properly on every device). Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified LAU to implement the teachings of Shah because continually updating the position and orientation of a virtual robot based on input from the user is necessary in a virtual robotics competition . When receiving a manipulation instruction at every frame , the virtual robot updates position and orientation based on these instructions, and provides the benefit of having the performance of the virtual robot to be scored or graded properly because each position or orientation of that frame is a direct result of the manipulation instructions given by the user. Basically, t his ensures that updating the position and orientation data at every frame is a direct and perfect reflection of what is being rendered (displayed to other users and judges) . Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to FILLIN "Examiner name" \* MERGEFORMAT JOSE ANGELES whose telephone number is FILLIN "Phone number" \* MERGEFORMAT (703)756-5338 . The examiner can normally be reached FILLIN "Work Schedule?" \* MERGEFORMAT Mon-Fri 8am-5pm . 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, FILLIN "SPE Name?" \* MERGEFORMAT Dmitry Suhol can be reached at FILLIN "SPE Phone?" \* MERGEFORMAT (571) 272-4430 . 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. /JOSE ANGELES/ Examiner, Art Unit 3715 /STEVE ROWLAND/ Primary Examiner, Art Unit 3715