IP Library Granted Patent US 9,052,739
Granted Patent B2
US 9,052,739 · App. 13/888,262 · Granted Jun 9, 2015

Method and apparatus for virtualizing hardware dongle over a wireless connection

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 9,052,739
App. No.
13/888,262
Granted
Jun 9, 2015
Kind
B2
Abstract

In a computer system configured to handle I/O signals received by the computer system from input devices and/or output signals output by the computer system, a virtual attachment module includes logic for selecting such that program code for coupling can alter the operating system's selection of I/O devices used for particular I/O device operations, coupling to a wireless I/O device at least for determining whether the wireless I/O device is available, and causing redirection of I/O signals destined to a default I/O device to be to the wireless I/O device, if the program code for coupling determines that the wireless I/O device is available. A virtual connection module could be used to intercept system messages indicating a wireless device is present and connected, determine whether the wireless device is present and/or connected, and determine which intercepted messages to forward, drop, delay or reformulate.

Claims (56)

1. A method comprising:

detecting, by an input/output (I/O) routing module executing on a computer system, that a wireless input/output (I/O) device is present on a wireless channel, where the wireless I/O device is not mechanically or electrically attached to the computer system;

in response to the detecting, simulating by the I/O routing module a physical connection of a hardware I/O device to the computer system, thereby causing an operating system of the computer system to route an I/O stream to the I/O routing module;

routing, by the I/O routing module, the I/O stream to the wireless I/O device;

determining that the wireless channel is inoperable and, in response to determining that the wireless channel is inoperable, deferring a notification to the operating system that the wireless I/O device has been disconnected; and

determining that the wireless channel has returned to operability and, in response to determining that the wireless channel has returned to operability, discarding the notification to the operating system that the wireless I/O has been disconnected.

2. The method of claim 1 , where simulating the physical connection comprises simulating the physical connection in response to receiving information describing the wireless I/O device from the wireless I/O device.

3. The method of claim 1 , further comprising:

receiving a token from the wireless I/O device identifying a session with the wireless I/O device;

determining, using the token, that the session is still available; and

reestablishing the session with the wireless I/O device.

4. The method of claim 1 , further comprising:

detecting whether the wireless I/O device is wirelessly connected or disconnected;

intercepting computer system messages related to the connection or disconnection of the wireless I/O device; and

determining whether to forward, drop, delay or reformulate the intercepted message.

5. The method of claim 1 , where deferring the notification to the operating system comprises:

maintaining variables or settings for reestablishing a session with the wireless I/O device.

6. The method of claim 1 , where determining that the wireless channel has returned to operability comprises determining that the wireless channel has returned to operability within less than a threshold time.

7. A computer system comprising:

one or more processors;

memory coupled to the one or more processors and configured to store instructions, which, when executed by the one or more processors, causes the one or more processors to perform operations comprising:

detecting, by an input/output (I/O) routing module executing on the computer system, that a wireless input/output (I/O) device is present, where the wireless I/O device is not mechanically or electrically attached to the computer system;

in response to the detecting, simulating by the I/O routing module a physical connection of a hardware I/O device to the computer system, thereby causing an operating system of the computer system to route an I/O stream to the I/O routing module;

routing, by the I/O routing module, the I/O stream to the wireless I/O device;

determining that the wireless channel is inoperable and, in response to determining that the wireless channel is inoperable, deferring a notification to the operating system that the wireless I/O device has been disconnected; and

determining that the wireless channel has returned to operability and, in response to determining that the wireless channel has returned to operability, discarding the notification to the operating system that the wireless I/O has been disconnected.

8. The system of claim 7 , where simulating the physical connection comprises simulating the physical connection in response to receiving information describing the wireless I/O device from the wireless I/O device.

9. The system of claim 7 , the operations further comprising:

receiving a token from the wireless I/O device identifying a session with the wireless I/O device;

determining, using the token, that the session is still available; and

reestablishing the session with the wireless I/O device.

10. The system of claim 7 , the operations further comprising:

detecting whether the wireless I/O device is present and wirelessly connected;

intercepting computer system messages related to a connection or disconnection of the wireless I/O device; and

determining whether to forward, drop, delay or reformulate the intercepted message.

11. The system of claim 7 , where deferring the notification to the operating system comprises:

maintaining variables or settings for reestablishing a session with the wireless I/O device.

12. The system of claim 7 , where determining that the wireless channel has returned to operability comprises determining that the wireless channel has returned to operability within less than a threshold time.

13. A non-transitory, computer-readable storage medium storing instructions, which, when executed by one or more processors, causes the one or more processors to perform operations comprising:

detecting, by an input/output (I/O) routing module executing on a computer system, that a wireless input/output (I/O) device is present, where the wireless I/O device is not mechanically or electrically attached to the computer system;

in response to the detecting, simulating by the I/O routing module a physical connection of a hardware I/O device to the computer system, thereby causing an operating system of the computer system to route an I/O stream to the I/O routing module;

routing, by the I/O routing module, the I/O stream to the wireless I/O device;

determining that the wireless channel is inoperable and, in response to determining that the wireless channel is inoperable, deferring a notification to the operating system that the wireless I/O device has been disconnected; and

determining that the wireless channel has returned to operability and, in response to determining that the wireless channel has returned to operability, discarding the notification to the operating system that the wireless I/O has been disconnected.

14. The non-transitory, computer-readable storage medium of claim 13 , where simulating the physical connection comprises simulating the physical connection in response to receiving information describing the wireless I/O device from the wireless I/O device.

15. The non-transitory, computer-readable storage medium of claim 13 , the operations further comprising:

receiving a token from the wireless I/O device identifying a session with the wireless I/O device;

determining, using the token, that the session is still available; and

reestablishing the session with the wireless I/O device.

16. The non-transitory, computer-readable storage medium of claim 13 , the operations further comprising:

detecting whether the wireless I/O device is present and wirelessly connected;

intercepting computer system messages related to a connection or disconnection of the wireless I/O device; and

determining whether to forward, drop, delay or reformulate the intercepted message.

17. The non-transitory, computer-readable storage medium of claim 13 , where deferring the notification to the operating system comprises:

maintaining variables or settings for reestablishing a session with the wireless I/O device.

18. The non-transitory, computer-readable storage medium of claim 13 , where determining that the wireless channel has returned to operability comprises determining that the wireless channel has returned to operability within less than a threshold time.

Assignments (19)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: ATMEL CORPORATION
Reel/Frame 059262/0105 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
SECURITY INTEREST Recorded Feb 10, 2017
From: ATMEL CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041715/0747 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Apr 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ATMEL CORPORATION
Reel/Frame 038376/0001 →
CHANGE OF NAME Recorded Apr 9, 2014
From: OZMO, INC.
To: ATMEL WI-FI SOLUTIONS, INC.
Reel/Frame 032639/0382 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2014
From: EDNEY, JON
To: OZMO, INC.
Reel/Frame 032639/0368 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2014
From: ATMEL WI-FI SOLUTIONS, INC.
To: ATMEL CORPORATION
Reel/Frame 032639/0404 →
PATENT SECURITY AGREEMENT Recorded Jan 3, 2014
From: ATMEL CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
Reel/Frame 031912/0173 →