System and Method for Electronic Test Delivery
Systems and methods for electronic test delivery are described herein. A host computer is in electronic communication with one or more devices over a wireless private network. The host computer is configured to transmit data describing a plurality of test unit components to at least one of the devices. Each of the devices is configured to request from the host computer certain of the data describing the plurality of test unit components that form a test unit, receive the certain data, assemble the certain data, and display the assembled certain data as the test unit. The host computer is further configured to receive data describing one or more responses associated with the test unit from at least one of the devices.
The invention generally relates to systems and methods for electronic test delivery.
SUMMARY OF EMBODIMENTS OF THE INVENTIONThe present invention is directed to systems and methods for electronic test delivery. One embodiment includes a host computer and one or more devices in electronic communication with the host computer over a wireless private network. The host computer is configured to transmit data describing a plurality of test unit components to at least one of the devices. Each of the devices is configured to request from the host computer certain of the data describing the plurality of test unit components that form a test unit, receive the certain data, assemble the certain data, and display the assembled certain data as the test unit. The host computer is further configured to receive data describing one or more responses associated with the test unit from at least one of the devices.
In some embodiments, the test unit includes a plurality of test questions and a plurality of possible answers to each of the plurality of test questions. In other embodiments, the test unit comprises a single test question and plurality of possible answers to the single test question.
In certain embodiments, each of the devices is further configured to store data describing only one test unit at a time and only until data describing a response to the test unit is sent to the host computer. In some embodiments, the test unit comprises at least one question and the response comprises an answer to the at least one question. In some embodiments, the response comprises a request for another test unit.
In some embodiments, each of the one or more devices is further configured to communicate only with the host computer and receive input from an end user.
In some embodiments, the host computer is further configured to communicate with each of the devices independently.
In some embodiments, each of the devices is configured to store data received from the host computer only in RAM memory.
In further embodiments, in addition to receiving the requested certain data, the devices receive data unrelated to the test unit.
A further inventive embodiment includes a host computer, one or more devices in electronic communication with the host computer over a wireless private network; and a scanning device in electronic communication with the host computer. In this embodiment, the host computer is configured to transmit data describing a test unit to at least one of the devices and to receive data describing one or more responses associated with the test unit from at least one of the devices. The scanning device is configured (i) to scan an image printed on a medium associated with an end user; (ii) for each of the one or more devices, to scan an image displayed on the device; and (iii) to transmit to the host computer first data associated with the image printed on the medium and second data associated with the image displayed on the device. The host computer is further configured to associate the end user with the device based on the first data and the second data.
In certain embodiments, the host computer is further configured to verify software on the device based on the second data. In other embodiments, the host computer is further configured to verify battery life the device based on the second data. In still other embodiments, the host computer is further configured to authorize the device to communicate with the host computer over the wireless private network based on the second data.
The foregoing summary, as well as the following detailed description of various embodiments, will be better understood when read in conjunction with the appended drawings. It should be understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown.
In the drawings:
The present invention is directed to systems and methods for electronic test delivery. Generally, the system includes a host computer and one or more devices connected to the host computer within a testing room via a wireless personal network. In one embodiment, to ensure wireless coverage of the devices is evenly distributed within the testing room, the devices are wireless connected to one another within a peer-to-peer configuration. The breakdown, disappearance, or power loss of any single device will not adversely impact the proper administration of the test and collection of examination data. The host computer stores all the data that comprises the test, delivers test unit data to the devices and receives responses as they are provided by an end user using a device, as described in more detail below.
In one embodiment, the device only receives one test unit at a time from the host computer. The test unit can be a passage, one or more questions associated with the passage, and proposed responses to each question. The test unit can also be multiple passages, each passage having one or more questions associated with the passage, and proposed responses to each question. Further, the text unit may simply be one or more questions, with proposed responses to each question. An end user may respond to a question by selecting one of the proposed responses or may respond to a question by requesting that a different test unit be sent from the host computer. The different test unit may be one previously viewed by the end user or one not yet viewed.
Disk drives are encrypted at the hardware level, in one embodiment. Thus, for example, the disk encryption would have the date (or some other measure of time) as part of the determination of its decrypt key. In this example, the key would change over time and any given key would only work during a given time period. In a specific example, if the encryption is daily and resets at midnight, the key that would unlock the encryption today will not work tomorrow nor would it have worked yesterday. Today's encryption key would be needed.
In one embodiment, the host computer stores the test unit data in components. For example, the host computer may store a passage as one component, each question associated with each passage as separate component and each possible response to each question as a separate component.
Still further, in some embodiments, the test unit data (e.g., each component for those embodiments in which the test unit data is stored as components) is stored in a bit map or other image format, rather than as text, as indicated in
Still further, in some embodiments, each item of data that comprises the test unit (e.g., each item of image data) is associated with a randomly generated reference number, as illustrated in
By way of background, most random number generators in computer languages allow the input of a “seed” number and, thus, are technically Pseudorandom Number Generators. Each time the same seed number is used, the random number generator will generate the same “random” numbers. This feature is very useful in testing as the exact conditions of a failure can be reproduced by using the old seed.
For example: if RND(5), wherein “5” is the seed, produces the sequence of pseudorandom numbers, 3289, 542, 128, 8543, 7895 then anytime “5” is used as a seed the results will be 3289, 542, 128, 8543,7895. If any other number is used, as the seed the results will be entirely different. For instance, RND(6) might be 7832, 5643, 12, 456, 4569.
Using these pseudo random numbers, one number can be used to represent a string of numbers. For instance, if a sending computer wants to send to a recipient computer the numbers “3289, 542, 128, 8543, 7895”, if the sending computer knows that the recipient computer has the same pseudorandom number generator, then instead of sending the recipient computer the string of numbers, the sending computer can just send the recipient computer the number “5”. The recipient computer can then plug “5” into its pseudorandom number generator to determine the string of numbers sought to be communicated.
Furthermore, if the communication was intercepted, the intercepting device would not know the string of numbers; all it would know is the number “5”. To know the string of numbers, the intercepting device would need to know 1) the seed, in this case “5”, 2) the algorithm used by the pseudorandom number generator, and 3) the length of string of number (if not all numbers in the string are used, they might also need to know which is the first valid number).
In the described embodiment, the pseudorandom number generator that uses these seeds would be maintained only on the device(s) 200, and not on the host computer 100.
Thus, an example of how this can be used in connection with the exemplary embodiment is described as follows:
Test item:
Passage: X+2=Y
Question: If Y is equal to 4 what is the value of X?
Response 1: 1
Response 2: 2
Response 3: 3
Response 4: 3.1415
Response 5: All of the above
The test item would be associated with a seed number and each part of the test item would be assigned an index resulting from the seed. Assuming for this example the seed 11 and the first 7 numbers generated are 12, 2, 7, 5, 18, 8, 3. Then, the index numbers would be assigned as follows:
At testing time, when a device 200 employed by a test taker requests a new question from the host computer 100, the device 200 will send the host computer 100 an indication of which number question in the section they want. The host computer 100, knowing what section the candidate is on, finds the question and sends the seed value back to the device 200.
The device 200 then uses the seed value to send the string “12,2,7,5,18,8,3” to the host computer 100 which then sends back to the device 200 the text associated with those indexes. The combined text represents the test item which the device 200 then displays on the screen.
This method allows for obfuscation of the relation of parts of test items to each other in the event an intercepting device were able to break the encryption. The following is illustrative of the advantages achieved using this method:
Example of a typical implementation:
In the traditional implementation, it is easy to determine the questions.
Example of the implementation described herein:
A second table would be employed, for example, as follows:
With hundreds of questions stored this way, it would be extraordinarily difficult to determine which questions, responses and prompts go together.
Furthermore, since the random generation of numbers will leave gaps, those gaps can be filled with numbers in similar form to the actual items. For example, these gaps could be filled with material from disclosed tests or text purposefully written to mimic questions on the tests being given.
For example, filling in the gaps above might result in the following:
Devices 200 include one or more processors, memory and software stored thereon. Devices 200 are specially configured, in some embodiments, to display a user interface, receive end user input, and communicate data only to and from the host computer 100. For example, when the device 200 is identified (e.g., scanned as described more fully below), the host computer 100 sends out a sign with Media Access Control (MAC) ID of the device 200. The device 200 notes this signal and makes a connection to the network. The host computer 100 then ensures that the MAC address if valid and the device 200 sends another identifier (i.e., to prevent spoofing). The device 200 is programmed only to accept traffic from the host computer 100. In some embodiments, the devices 200 store only one test unit at a time (i.e., the test unit being displayed to the end user) and only until the end user has indicated an intent to receive another test unit (e.g., either by answering the question(s) in the test unit or by requesting a new test unit). Further, in some embodiments, test unit data is stored only in RAM of the device, which is reserved for question storage. Once the end user has indicated an intent to receive another test unit, the data in the RAM reserved for question storage will be overwritten. In one embodiment, after a certain amount of time has elapsed (e.g., 45 minutes), all data in the RAM reserved for question storage will be overwritten with default data (e.g., all 1 s).
Software updates to devices 200 may be made wirelessly or otherwise uploaded from storage media.
In some embodiments, the host computer 100 is configured to communicate with each of the devices 200 independently (i.e., not all at the same time). Thus, when devices 200 connect with the host computer 100, the host computer 100 will establish memory space for each device 200 for storing data specific to that device including data indicating the state of the device 200 (e.g., which sections and questions the device has covered).
Each of the devices 200 is configured to request from the host computer 100 certain of the data describing the plurality of test unit components that form a test unit. In particular, the device 200 includes the programming logic to know which data to ask for from the host computer 100, an example of which is described in more detail above.
In response to the request, the host computer 100 transmits data describing a plurality of test unit components to each requesting device 200. The device 200 then receives the data, assembles it, and displays the assembled data as the test unit.
The user may then indicate a response to the test unit using the device 200. The response may be a request for another test unit or an answer to a question comprising or within the test unit. The response is then received by the host computer 100 and stored.
With reference to
With reference to
In an electronic testing environment, as in the example described above with reference to
In one embodiment, the image 600 can be a 2D bar code in QR Format, as described in U.S. Pat. No. 5,726,435, and employ the following standards:
1. Symbol Version 10 (57×57)
2. Level H error Correction (high)
3. Encoding mode—0010 (alpha numeric)
4. Module size 2.0 mm2
5. Securing margin—10 mm
It will be understood by those skilled in the art that other coded images, using alternative formats, can be used in connection with the present invention.
The image 600 may include the following information:
1. Current date and time—from the clock on device 200
2. Version of the software on device 200—encoded into every release version
3. Operating System Version—for example, assuming an Android operating system on device 200, from the Android API “android.os.Build.VERSION.SDK_INT”
4. Battery life—e.g., from Android SDK ACTION_BATTERY_CHANGED
5. Wifi MAC address—e.g., from Android WiFi Manager call wifiIng.getMacAddress
In some embodiments, the MAC address may either be encrypted or, alternatively, a field generated from the MAC address using a proprietary algorithm may be added. This would ensure that a fake bar code could not be used without breaking the encryption or, in the alternative embodiment, knowing the algorithm. In some embodiments, the entire bar code is not encrypted, as it may be useful to have the unencrypted information available when servicing the devices 200 to verify battery life and version updates.
Referring back now to
The host computer 100 then logs the end user 300 onto the particular device 200, by storing an association between the first data and the second data in memory of the host computer 100.
In still other embodiments, the host computer 100 is further configured to authorize the device 200 to communicate with the host computer 100 over the wireless private network based on the second data. Thus, the host computer 100 would recognize the MAC address of the device 200 as a valid receiver. This could be accomplished, for example, by adding the MAC address to the router's table of valid MAC addresses. In addition, the host computer 100 may compare the information from the ticket 500 to the roster of test takers at the test center to ensure the test taker is on the roster.
This embodiment provides several advantages in the electronic test taking environment. First, it avoids the logistical problems associated with end users having to remember and input user names and passwords. Further, it enhances security by adding to the router's list of allowable MAC addresses (i.e., devices 200 with MAC addresses that are permitted to get through the firewall if host computer 100) only those devices that are scanned. Still further, it automates checks of the devices 200 for low battery power or incorrect software versioning.
With reference to
Claims
1.-28. (canceled)
29. A method comprising:
- receiving, from a host computer by a device in electronic communication with the host computer over a wireless private network, data describing a first test unit, the first test unit comprising data describing a question and at least two possible answers to the question;
- storing the data describing the first test unit in a temporary memory of the device;
- displaying the data describing the first test unit on a display component of the device;
- transmitting by the device to the host computer the data describing an answer responsive to the data describing the question or a request for a second test unit;
- after the transmitting to the host computer the data describing the answer or the request for the second test unit, the device erasing the data describing the first test unit from the temporary memory; and
- after the erasing the data describing the first test unit from the temporary memory, the device receiving from the host computer by the device the second test unit.
30. A system comprising:
- a host computer configured to transmit to a device in electronic communication with the host computer over a wireless private network data describing a first test unit, the first test unit comprising data describing a question and at least two possible answers to the question; and
- the device configured to store the data describing the first test unit in a temporary memory of the device; display the data describing the first test unit on a display component of the device; transmit to the host computer the data describing an answer responsive to the data describing the question or a request for a second test unit; after the transmitting to the host computer the data describing the answer or the request for the second test unit, erase the data describing the first test unit from the temporary memory; and after the erasing the data describing the first test unit from the temporary memory, receive from the host computer the second test unit.
Type: Application
Filed: Aug 14, 2018
Publication Date: Jan 3, 2019
Inventors: Troy William Lowry (Barto, PA), Hao Wang (Newtown, PA), Carl Richard Sulzer (Churchville, PA)
Application Number: 16/103,828