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
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 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.
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.
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 of this title, 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,29,12,20 are rejected under 35 U.S.C. 103 as being unpatentable over US 2015/0261696 A1 Christian et al in view of Mikmo, “Emulating a keypress”, 2007, https://forum.arduino.cc/t/emulating-a-keypress/9939
Regarding Claim 1,
POS
Christian discloses a testing apparatus using a device that simulates USB input to a testing system. (Christian, abstract, “An example embodiment may include an emulated USB (EUP) device that can emulate physical USB peripherals. This device may have a microcontroller that is programmable with software to emulate a plurality of physical USB peripheral devices by supporting multiple USB profiles. In order to emulate a specific physical USB peripheral device, the EUP device may receive specific descriptors including device identifiers related to the particular physical USB peripheral device being emulated. The EUP device may communicate with a test executor computing device that simulates the USB interactions of the physical USB peripheral device using a serial protocol. Communication between the EUP device and a computing device under test may occur via USB protocol.”) Christian discloses the device under test could be a POS. (Christian, para 0039, “[0039] FIG. 6a illustrates an example test case for a POS system. In this test case, a loyalty card is simulated as having been scanned and then two Universal Product Codes (UPCs) are simulated as having been scanned as the items being purchased. FIG. 6b illustrates the example system. A test executor computing device (601) may run one process that contains a testing framework, device emulations, and an EUP device communications driver. Alternatively, a test executor computing device (601) may run different processes for the framework, emulations, and communications drivers. An example testing framework may include: pre-test data capture, test case execution, and post-test data capture and validation. In an example system, such as the one illustrated in FIG. 6b, there may be more than one EUP device (610a, 610b) to emulate multiple peripheral devices in the system at a given time. For example, as shown in FIG. 6b, one EUP device may emulate a barcode scanner USB device (610a) and another EUP device may emulate a POS keyboard (610b). Device emulations may be stored and sent via the test executor computing device. A test executor computing device (601) will have an EUP device communications driver to communicate with the EUP devices. There may be a thread of execution for each EUP device and there may be coordination/communication between the EUP devices using input/output data. In some embodiments, one EUP device may output data that is used to time or select a response from a second EUP device. For example, in an example POS system, there may be a WAIT light on the keyboard, which if activated, stops the scanner from accepting any more scans. The software uses this relationship to avoid over-running the POS input buffer. Alternatively, an example embodiment may read the display of a POS system to determine the next key to send when there has been an error message or prompt.”)
a control circuit executing a testing program to cause one or more of the electrical switches to be selectively activated in accordance with a testing routine to output electrical signals to the keyboard circuit board which simulates actuation of individual ones of the plurality of keys without actual actuation of the plurality of keys …
Christian discloses that the USB emulator is controlled by a test executor device. (Christian, para 0036, “[0036] In some embodiments, an example emulated USB peripheral validation framework may exist on a test executor computing device. This framework may configure at least one EUP device to emulate a peripheral USB device. The framework may then run a sequence of test cases, handle unexpected output from the test cases if possible, validate that expected results were generated from each test case, and indicate the success or failure of each test case.”)
Christian does not explicitly disclose:
a keyboard circuit board for a … keyboard coupled to the … computing device, the keyboard circuit board configured to receive signals upon actuation of one or more of a plurality of keys of the … keyboard and send the signals to the … computing device to cause the … computing device to perform corresponding operations;
a testing circuit board removably connected to the keyboard circuit board and having an array of electrical switches mounted thereto, predetermined arrangements of electrical switches corresponding to predetermined keys of the … keyboard; and
…such that the keyboard circuit board outputs signaling to the POS computing device to perform the corresponding operations.
Mikmo is user forum post directed to using the Arduino open-source programmable electronics prototyping platform. Mikmo discloses that an Arduino may be used in conjunction with a keyboard circuit board to automate input into a computer through keypress emulation. (Mikmo, p.1, “One way to interface basically anything to a computer by "keypresses" is to hack an old USB keyboard.
In a USB keyboard there's a tiny little printed circuit board with two groups of connectors that are normally connected to all the keys on the keyboard. These connectors are organised in a matrix of X rows and Y coloumns. By shorting one connectore from the rows group to one connector in the coloumns group you simulate a key press. It's just a matter of trial and error to find out which connectors to short together to produce any kepress you like.
Unfortunately different USB keyboards have different layout of the connectors, so it is not possible to give any specific advice on which connectors to use.
When you know which connectors to short to produce the desired keypresses, you can hook a 4066 Quad analog switch IC up to 4 digital pins on the arduino board and the 4 switces on this IC can be used to short 4 connector pairs in the USB keyboard PCB, and in that way simulate 4 different keypresses. By closing more of the 4066 switches at the same time you can even simulate things like "SHIFT + F5" or whatever key combination you like.”) It would have been obvious to one of ordinary skill in the art at the time the invention was filed to combine Christian with the keyboard of Mikmo with the motivation of simulating keyboard input. Id.
Regarding Claim 2, Christian and Mikmo disclose the system of claim 1.
wherein a number of the array of electrical switches and a number of the plurality of keys have a 1:1 ratio.
See prior art rejection of claim 1 regarding Mikmo. Presumably any number of switches could be used to emulate a full keyboard 1:1 as desired.
Regarding Claim 9, Christian and Mikmo disclose the system of claim 1.
further comprising a verification device configured to monitor operation of the POS computing device to confirm that the simulated actuation of the individual ones of the plurality of keys caused the POS computing device to perform the corresponding operations.
(Christian Para. [0040] a validation may occur to verify that the tested keystroke performed as requested)
Regarding Claim 11, Christian and Mikmo disclose the system of claim 1.
wherein the testing program executes a plurality of routines, each of the plurality of routines configured to output a series of signals to the control circuit, the series of signals corresponding to multiple key manipulations of the plurality of keys of the POS keyboard and/or user actions of the POS computing device such that the POS computing device performs a given function.
(Christian Para. [0040] strings of commands may be performed with a single key, such as “QTY” or “TOTAL”, and the entire smart routine may be tested, monitored and analyzed for validation).
Regarding Claim 12,20
See prior art rejection of claim 1,11
Claims 3-6,13-16 are rejected under 35 U.S.C. 103 as being unpatentable over US 2015/0261696 A1 Christian et al in view of Mikmo, “Emulating a keypress”, 2007, https://forum.arduino.cc/t/emulating-a-keypress/9939 in view of Ben, “What is an Arduino?”, 2015, https://web.archive.org/web/20150919191838/https://learn.sparkfun.com/tutorials/what-is-an-arduino/all
Regarding Claim 3, Christian and Mikmo disclose the system of claim 1.
Christian does not explicitly disclose
further comprising an intermediate control circuit coupled to both the control circuit and to the array of electrical switches, the intermediate control circuit configured to control operation of the array of electrical switches.
The examiner understands that the Arduino board of Mikmo comprises a microcontroller circuit. (Ben, p.1, “Arduino is an open-source platform used for building electronics projects. Arduino consists of both a physical programmable circuit board (often referred to as a microcontroller) and a piece of software, or IDE (Integrated Development Environment) that runs on your computer, used to write and upload computer code to the physical board.”) It would have been obvious to one of ordinary skill in the art before the filing date of the invention to combine Christian and Mikmo with the circuit of Ben with the motivation of inexpensively create projects. (Id., “The Arduino hardware and software was designed for artists, designers, hobbyists, hackers, newbies, and anyone interested in creating interactive objects or environments. Arduino can interact with buttons, LEDs, motors, speakers, GPS units, cameras, the internet, and even your smart-phone or your TV! This flexibility combined with the fact that the Arduino software is free, the hardware boards are pretty cheap, and both the software and hardware are easy to learn has led to a large community of users who have contributed code and released instructions for a huge variety of Arduino-based projects.”)
Regarding Claim 4, Christian, Mikmo and Ben disclose the system of claim 3.
wherein the intermediate control circuit is mounted to the testing circuit board.
See prior art rejection of claim 3.
Regarding Claim 5, Christian and Mikmo disclose the system of claim 1.
wherein the testing circuit board further comprises a plurality of input pins and a plurality of output pins.
See prior art rejection of claim 3.
Regarding Claim 6, Christian, Mikmo and Ben disclose the system of claim 5.
wherein a number of the input pins and a number of the output pins are different.
The examiner understands a standard keyboard could have 104 keys. Accordingly, a keyboard emulator actuating every key would necessitate 104 outputs. (See prior art rejection of claim 1 regarding Mikmol; See also, Applicant’s Fig.1 illustrates a keyboard with 66 keys for example). This appears to be different than the input interface pins of the Arduino. (See prior art rejection of claim 3.)
Regarding Claim 13,14,15,16,
See prior art rejection of claim 3,3,1,3,
Claims 7,8 are rejected under 35 U.S.C. 103 as being unpatentable over US 2015/0261696 A1 Christian et al in view of Mikmo, “Emulating a keypress”, 2007, https://forum.arduino.cc/t/emulating-a-keypress/9939 in view of US 2005/0166105 A1 Warren.
Regarding Claim 7, Christian, Mikmo and Ben disclose the system of claim 6.
Christian does not explicitly disclose
wherein the output pins utilize mechanical multiplexing.
Warren teaches wherein the output pins utilize mechanical multiplexing (Warren Para. [0019] According to one aspect of the invention there is provided an integrated circuit comprising: a plurality of portions, each portion including test control circuitry; at least one test input arranged to receive test signals; and a multiplexer between said at least one test input and said test control circuitry, said multiplexer having a least one control input whereby the multiplexer is controllable to direct test signals to one of said plurality of portions; the multiplexer is between the input and output to a plurality of portions). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to combine Christian, Mikmo and Ben with the multiplexing output pins of Warren. The motivation for doing so would be to use the control circuit to test a variety of different company keyboard circuits without the need for adding new pins, especially if all of the pins are already at maximum capacity (Warren Para. [0015] One possible method of testing a plurality of CPUs on-chip would be to have individual TAP controllers for each CPU, and a set of external pins for communications off-chip for each of the TAP controllers. However, this is undesirable due to the increased number of pins required, which may not be practical if the limit of available pins has already been reached; Para. [0017]).
Regarding Claim 8, Christian, Mikmo and Ben disclose the system of claim 5.
Christian does not explicitly disclose
wherein the keyboard circuit board comprises a proprietary input and the output pins of the testing circuit board are configured to couple to the proprietary input.
Warren teaches wherein the keyboard circuit board comprises a proprietary input and the output pins of the testing circuit board are configured to couple to the proprietary input (Warren Para. [0049] In some embodiments of the invention, the data adapter and DCU structure may be unknown to the manufacturer of the chip. This may for example occur when third party proprietary circuitry is included on the integrated circuitry; the goal of Warren is to be able to fit any proprietary input with the variety of testing circuits from different companies in order to couple). It would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify Christian, Mikmo and Ben with the coupling of Warren. The motivation for doing so would be to use the control circuit to test a variety of different company keyboard circuits without the need for adding new pins, especially if all of the pins are already at maximum capacity (Warren Para. [0015] One possible method of testing a plurality of CPUs on-chip would be to have individual TAP controllers for each CPU, and a set of external pins for communications off-chip for each of the TAP controllers. However, this is undesirable due to the increased number of pins required, which may not be practical if the limit of available pins has already been reached; Para. [0017]).
Claims 17 are rejected under 35 U.S.C. 103 as being unpatentable over US 2015/0261696 A1 Christian et al in view of Mikmo, “Emulating a keypress”, 2007, https://forum.arduino.cc/t/emulating-a-keypress/9939 in view of Ben in view of Warren
Regarding Claim 17,
See prior art rejection of claim 7,
Claims 10,18,19 are rejected under 35 U.S.C. 103 as being unpatentable over US 2015/0261696 A1 Christian et al in view of Mikmo, “Emulating a keypress”, 2007, https://forum.arduino.cc/t/emulating-a-keypress/9939 in view of US 2010/0268994 A1 Chang
Regarding Claim 10, Christian and Mikmo disclose the system of claim 9.
further comprising a monitor coupled to the POS computing device, and wherein the verification device is configured to compare a display on the monitor after each of the corresponding operations to expected displays.
(Chang Para. [0023] In an embodiment, the computer is also connected with a monitor, and a testing interface is shown on the monitor), and wherein the verification device is configured to compare a display on the monitor after each of the corresponding operations to expected displays (Chang Para. [0034] A testing interface 231 is shown on the monitor 23. Via the testing interface 231, the tester can realize the testing result; Para. [0042] FIGS. 6A, 6B, 6C and 6D schematically illustrate the testing interfaces of the automatic keyboard testing system during the process of testing the keyboard circuit board. After the automatic testing program 201 is activated, a testing interface 231 is shown on the monitor 23. As shown in FIG. 6A, the testing interface 231 includes a testing key zone 2311, a key intersection point zone 2312, a testing key number indicating zone 2313, a testing status zone 2314, an abnormal status indicating zone 2315, a start selective item 2316, a stop selective item 2317 and a reset selective item 2318). It would have been obvious to one of ordinary skill in the art before the filing date of the invention to combine Christian and Mikmo with the monitor of Chang with the motivation of observing testing results. Id.
Regarding Claim 18,19
See prior art rejection of claim 10,10
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALLEN C CHEIN whose telephone number is (571)270-7985. The examiner can normally be reached Monday-Friday 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, Florian Zeender can be reached at (571) 272-6790. 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.
/ALLEN C CHEIN/Primary Examiner, Art Unit 3627