IP Library › Granted Patent US 8,195,442
Granted Patent B2
US 8,195,442 · App. 12/946,721 · Granted Jun 5, 2012

Use of hardware peripheral devices with software simulations

Assignee: Ionipas Transfer Company, LLC
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,195,442
App. No.
12/946,721
Granted
Jun 5, 2012
Kind
B2
Abstract

A system and method is described for connecting a logic circuit simulation to a hardware peripheral that includes a computer running software for communicating data to and from the hardware peripheral. The software transmits the data received from the hardware peripheral to the device being simulated by the logic circuit simulation. The computer also transmits the data received from the device being simulated by the electronic circuit simulation to the hardware peripheral. This allows the user to test the device being simulated using real hardware for input and output instead of simulated hardware.

Claims (31)

1. A method, comprising:

receiving data at a program running on a host computer, wherein the data is received from a hardware peripheral device via a device driver of an operating system that is also running on the host computer, wherein the hardware peripheral device is not a hardware emulator configurable to emulate functionality identical to that of another hardware peripheral device, and wherein the data is received by the host computer at a first rate;

the program buffering the data; and

the program transmitting the data to a software simulation running on the host computer, wherein the software simulation is of an electronic device designed to interact with the hardware peripheral device, and wherein said transmitting is at a second rate slower than the first rate.

2. The method of claim 1 , wherein a first thread of the program performs said receiving data from the hardware peripheral device, the method further comprising:

responsive to the program transmitting data to the software simulation, a second thread of the program receiving data from the software simulation; and

responsive to the second thread receiving data from the software simulation, the second thread transmitting data to the hardware peripheral device.

3. The method of claim 1 , wherein the software simulation running on the host computer is unable to receive and process data sent at the first rate.

4. The method of claim 3 , wherein the electronic device is designed to receive and process data at the first rate.

5. The method of claim 1 , wherein the data is received at the program in a first format, the method further comprising:

the program repackaging the data into a second format prior to said transmitting the data to the software simulation.

6. The method of claim 1 , wherein the device driver is received from a manufacturer of the hardware peripheral device.

7. An apparatus, comprising:

a host computer configured to receive data from a hardware peripheral device, wherein the host computer includes a processor and a memory, and wherein the hardware peripheral device is not a hardware emulator configurable to emulate functionality identical to that of another hardware peripheral device;

wherein the memory includes computer instructions executable by the host computer to cause the apparatus to perform operations, the computer instructions including:

instructions to receive data at a program running on the host computer from the hardware peripheral device via a device driver of an operating system also for execution on the host computer, and wherein the data is received by the host computer at a first rate;

instructions to buffer the data; and

instructions to originate a transmission of the data from the program to a software simulation at a second rate slower than the first rate, wherein the software simulation is running on the host computer, and wherein the software simulation is of an electronic device designed to interact with the hardware peripheral device.

8. The apparatus of claim 7 , wherein the computer instructions include instructions to reformat the data prior to originating the transmission of the data to the software simulation, wherein said reformatting renders the data usable by the software simulation.

9. The apparatus of claim 7 , wherein the host computer includes a non-network interface configured to connect to the hardware peripheral device.

10. The apparatus of claim 9 , wherein the non-network interface is configured to transmit data for a display device.

11. The apparatus of claim 9 , wherein the non-network interface is configured to transmit data for a USB device.

12. A computer-readable storage medium having stored thereon instructions executable by a processor to cause a computing device to perform operations, the instructions comprising:

instructions to receive data sent from a hardware peripheral device at a first rate, wherein the hardware peripheral device is not a hardware emulator configurable to emulate functionality identical to that of another hardware peripheral device, and wherein the data is received at a program running on the computing device via a device driver of an operating system for execution on the computing device; and

instructions to transmit the data at a second rate from the program running on the computing device to a software simulation running on the computing device, wherein the second rate is slower than the first rate, and wherein the software simulation is of an electronic device designed to interact with the hardware peripheral device.

13. The computer-readable storage medium of claim 12 , wherein the software simulation is not configured to receive and process data that is sent in an output format of the hardware peripheral device.

14. The computer-readable storage medium of claim 12 , wherein the device driver implements one or more application program interfaces (APIs) configured to interact with the hardware peripheral.

15. The computer-readable storage medium of claim 12 , wherein the data received by the program from the hardware peripheral device is in a first format; and

wherein the instructions comprise instructions to cause the program to transmit the data to the software simulation in a second format compatible with the software simulation.

16. The computer-readable storage medium of claim 12 , wherein the device driver is provided by a manufacturer of the hardware peripheral device.

17. The computer-readable storage medium of claim 12 , wherein the electronic device is a storage device.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 056981 FRAME: 0631. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 16, 2022
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED BROADBAND, INC.
Reel/Frame 059907/0563 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 054443 FRAME: 0958. ASSIGNOR(S) HEREBY CONFIRMS THE LICENSE. Recorded Feb 4, 2021
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED BROADBAND, INC.
Reel/Frame 056981/0631 →
LICENSE Recorded Nov 5, 2020
From: COMMWORKS SOLUTIONS, LLC
To: UNWIRED SOLUTIONS, INC.
Reel/Frame 054443/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2020
From: INTELLECTUAL VENTURES ASSETS 130 LLC
To: COMMWORKS SOLUTIONS, LLC
Reel/Frame 051463/0026 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2019
From: OL SECURITY LIMITED LIABILITY COMPANY
To: INTELLECTUAL VENTURES ASSETS 130 LLC
Reel/Frame 050886/0662 →
MERGER Recorded Jan 26, 2016
From: IONIPAS TRANSFER COMPANY, LLC
To: OL SECURITY LIMITED LIABILITY COMPANY
Reel/Frame 037588/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2010
From: ZEIDMAN, ROBERT M.
To: ZEIDMAN TECHNOLOGIES
Reel/Frame 025476/0929 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2010
From: ZEIDMAN, ROBERT M.
To: IONIPAS TRANSFER COMPANY, LLC
Reel/Frame 025494/0366 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2010
From: ZEIDMAN TECHNOLOGIES, INC.
To: ZEIDMAN, ROBERT
Reel/Frame 025763/0880 →
Continuity (5)
Continuation 11557064 · Nov 6, 2006
Continuation 10158648 · May 31, 2002
Continuation In Part 09751573 · Dec 28, 2000
Provisional Application 60193169 · Mar 28, 2000
Related Publication 20110125479A1 · May 26, 2011