IP Library Granted Patent US 9,244,871
Granted Patent B2
US 9,244,871 · App. 14/731,548 · Granted Jan 26, 2016

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,244,871
App. No.
14/731,548
Granted
Jan 26, 2016
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 (63)

1. A method comprising:

detecting that a wireless input/output (I/O) device is connected to a wireless channel;

establishing a session between the wireless I/O device and an operating system of the computer system;

receiving a request to maintain the session for a specified time period after the wireless I/O device has been disconnected from the wireless channel to thereby maintain the operating system in a state that treats the wireless I/O device as still being connected to the wireless channel; and

in response to a determination that the wireless channel is inoperable, maintaining the session for the specified time period to defer a notification to the operating system that the wireless I/O has been disconnected from the wireless channel.

2. The method of claim 1 , further comprising:

determining that the wireless channel has returned to operability within the specified time period after the wireless I/O device has been disconnected, in response, discarding the notification to the operating system that the wireless I/O device has been disconnected.

3. The method of claim 2 , further comprising:

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

determining that the wireless channel has returned to operability within the specified time period after the wireless I/O device has been disconnected; and

reestablishing, using the token, a connection with the wireless I/O device.

4. The method of claim 1 , further comprising:

determining that the wireless channel has not returned to operability within the specified time period after the wireless I/O device has been disconnected, in response, issuing the notification to the operating system that the wireless I/O device has been disconnected.

5. The method of claim 1 , further comprising:

in response to receiving, from the wireless I/O device, information describing the wireless I/O device, simulating a physical connection of a hardware I/O device to the computer system.

6. 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 delay the intercepted messages.

7. The method of claim 1 , wherein deferring the notification to the operating system comprises:

maintaining at least one of a variable, a setting, or a buffer for reestablishing a connection with the wireless I/O device.

8. 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 that a wireless input/output (I/O) device is connected to a wireless channel;

establishing a session between the wireless I/O device and an operating system of the computer system;

receiving a request to maintain the session for a specified time period after the wireless I/O device has been disconnected from the wireless channel to thereby maintain the operating system in a state that treats the wireless I/O device as still being connected to the wireless channel; and

in response to a determination that the wireless channel is inoperable, maintaining the session for the specified time period to defer a notification to the operating system that the wireless I/O has been disconnected from the wireless channel.

9. The computer system of claim 8 , wherein the operations further comprise:

determining that the wireless channel has returned to operability within the specified time period after the wireless I/O device has been disconnected, in response, discarding the notification to the operating system that the wireless I/O device has been disconnected.

10. The computer system of claim 9 , wherein the operations further comprise:

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

determining that the wireless channel has returned to operability within the specified time period after the wireless I/O device has been disconnected; and

reestablishing, using the token, a connection with the wireless I/O device.

11. The computer system of claim 8 , wherein the operations further comprise:

determining that the wireless channel has not returned to operability within the specified time period after the wireless I/O device has been disconnected, in response, issuing the notification to the operating system that the wireless I/O device has been disconnected.

12. The computer system of claim 8 , wherein the operations further comprise:

in response to receiving, from the wireless I/O device, information describing the wireless I/O device, simulating a physical connection of a hardware I/O device to the computer system.

13. The computer system of claim 8 , wherein the operations further comprise:

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 delay the intercepted messages.

14. The computer system of claim 8 , wherein deferring the notification to the operating system comprises:

maintaining at least one of a variable, a setting, or a buffer for reestablishing a connection with the wireless I/O device.

15. 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 that a wireless input/output (I/O) device is connected to a wireless channel;

establishing a session between the wireless I/O device and an operating system of the computer system;

receiving a request to maintain the session for a specified time period after the wireless I/O device has been disconnected from the wireless channel to thereby maintain the operating system in a state that treats the wireless I/O device as still being connected to the wireless channel; and

in response to a determination that the wireless channel is inoperable, maintaining the session for the specified time period to defer a notification to the operating system that the wireless I/O has been disconnected from the wireless channel.

16. The computer-readable storage medium of claim 15 , wherein the operations further comprise:

determining that the wireless channel has returned to operability within the specified time period after the wireless I/O device has been disconnected, in response, discarding the notification to the operating system that the wireless I/O device has been disconnected.

17. The computer-readable storage medium of claim 16 , wherein the operations further comprise:

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

determining that the wireless channel has returned to operability within the specified time period after the wireless I/O device has been disconnected; and

reestablishing, using the token, a connection with the wireless I/O device.

18. The computer-readable storage medium of claim 15 , wherein the operations further comprise:

in response to receiving, from the wireless I/O device, information describing the wireless I/O device, simulating a physical connection of a hardware I/O device to the computer system.

19. The computer-readable storage medium of claim 15 , wherein the operations further comprise:

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 delay the intercepted messages.

20. The computer-readable storage medium of claim 15 , wherein deferring the notification to the operating system comprises:

maintaining at least one of a variable, a setting, or a buffer for reestablishing a connection with the wireless I/O device.

Assignments (20)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS ERRONEOUSLY EXCLUDED FROM TERMINATION PREVIOUSLY RECORDED ON REEL 038375 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL. Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ATMEL CORPORATION
Reel/Frame 040575/0567 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Apr 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ATMEL CORPORATION
Reel/Frame 038375/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 20, 2015
From: ATMEL CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037150/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2015
From: EDNEY, JONATHAN
To: OZMO INC.
Reel/Frame 036247/0994 →
MERGER Recorded Aug 4, 2015
From: OZMO, INC.
To: ATMEL WI-FI SOLUTIONS, INC.
Reel/Frame 036248/0504 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2015
From: ATMEL WI-FI SOLUTIONS, INC.
To: ATMEL CORPORATION
Reel/Frame 036248/0580 →