IP Library Granted Patent US 11,593,158
Granted Patent B2
US 11,593,158 · App. 16/896,917 · Granted Feb 28, 2023

Universal peripheral extender for communicatively connecting peripheral I/O devices and smart host devices

Inventor: Ben Wei Chen (Fountain Valley, CA)
Assignee: KINGSTON DIGITAL INC.
G06F9/4881G06F1/24G06F9/30065G06F11/0772G06F13/126G06K7/042
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 11,593,158
App. No.
16/896,917
Granted
Feb 28, 2023
Kind
B2
Abstract

A universal peripheral extender architecture, system, and method is disclosed that addresses the need of communicatively connecting peripheral I/O devices and the smart host devices in legacy, medical, and industrial applications. As disclosed, a universal peripheral extender includes an I/O device translation & management module that has a device-side utility, a host-side I/O device translation & management utility, and a host/device translation & management scheduler utility.

Claims (209)

1. A universal peripheral extender system, comprising:

a universal peripheral extender, including:

a computing device;

an I/O device translation & management module;

a plurality of I/O interfaces;

an energy storing unit;

a power management/charging unit; and

a plurality of interface connections,

wherein the I/O device translation & management module comprises:

a device-side utility of the I/O device translation & management module;

a host-side I/O device translation & management utility of the I/O device translation & management module; and

a host/device translation & management scheduler utility;

at least one interface channel;

at least one smart host;

at least one peripheral I/O device;

at least one power source; and

at least one corresponding application utility associated with at least one target I/O device, respectively;

wherein the universal peripheral extender is communicatively coupled, via the at least one interface channel to: the at least one smart host, the target I/O device, and the at least one peripheral I/O device, respectively;

wherein the at least one peripheral I/O device includes an interface connection communicatively coupled to the at least one interface channel;

wherein the corresponding application utility associated with the target I/O device is installed in the at least one smart host to perform a function of the target I/O device,

wherein the I/O device translation & management module including the device-side utility, that in response to execution, causes the computing device to perform operations comprising:

enumerating the target I/O device;

conducting a check to determine if the target I/O device is present;

in response to the target I/O device not being present, returning the operations to the enumerating the target I/O device;

in response to the target I/O device being present, adding the target I/O device to an endpoint list;

issuing a RESET command to the target I/O device;

obtaining a Descriptor from the target I/O device;

assigning a device address to the target I/O device;

obtaining a Descriptor table from the target I/O device;

conducting a check to determine if the target I/O device is serviceable;

in response to the target I/O device not being serviceable, then encountering an error and the process returns to the enumerating the target I/O device;

in response to the target I/O device not being serviceable, then activating configurations on the target I/O device;

configuring target I/O device attributes in target I/O device translation & management tables;

interacting with the targeted I/O device;

launching a host/device translation & management scheduler;

conducting a check to determine if the application utility is to end;

in response to the application utility ending, the application utility exits;

in response to the application utility continuing, conducting another check to determine if the host session ends;

in response to the host session ending, returning the operation to enumerating the target I/O device; and

in response to the host session continuing, continue interacting with the target I/O device.

2. The universal peripheral extender system of claim 1 , wherein the enumerating the target I/O device is a process by which the target I/O device is attached to the universal peripheral extender system and is assigned a specific numerical address that is used to access the target I/O device.

3. The universal peripheral extender system of claim 1 , wherein the enumerating includes a time at which the smart host queries the target I/O device to decide what type of device the target I/O device is in order to assign an appropriate driver for the target I/O device.

4. A universal peripheral extender system, comprising:

a universal peripheral extender, including:

a computing device;

an I/O device translation & management module;

a plurality of I/O interfaces;

an energy storing unit;

a power management/charging unit; and

a plurality of interface connections,

wherein the I/O device translation & management module comprises:

a device-side utility of the I/O device translation & management module;

a host-side I/O device translation & management utility of the I/O device translation & management module; and

a host/device translation & management scheduler utility;

at least one interface channel;

at least one smart host;

at least one peripheral I/O device;

at least one power source; and

at least one corresponding application utility associated with a least one target device, respectively;

wherein the universal peripheral extender is communicatively coupled, via the at least one interface channel to: the at least one smart host, the target I/O device, and the at least one peripheral I/O device, respectively;

wherein the at least one peripheral I/O device includes an interface connection communicatively coupled to the at least one interface channel;

wherein the corresponding application utility associated with the target I/O device is installed in the at least one smart host to perform a function of the target device;

wherein the I/O device translation & management module including the a host-side I/O device translation & management utility, that in response to execution, causes the computing device to perform further operations comprising:

listening to the interface;

conducting a check is to determine if the universal peripheral extender is discovered by the at least one smart host;

in response to the universal peripheral extender not being discovered by the at least one smart host, returning the operation to waiting in a loop to the listening to the interface;

in response to the universal peripheral extender being discovered by the at least one smart host, configuring host/device attributes in host/device translation & management tables;

waiting for the smart host request;

in response to receiving the smart host request, starting a host session;

processing the smart host request;

launching a host/device translation & management scheduler;

conducting a check to determine if the host session ends;

in response to the host session not ending, returning the operation to the waiting for the smart host request;

in response to the host session ending, returning to the listening to the interface; and

restarting the operations.

5. A universal peripheral extender system, comprising:

a universal peripheral extender, including:

a computing device;

an I/O device translation & management module;

a plurality of I/O interfaces;

an energy storing unit;

a power management/charging unit; and

a plurality of interface connections,

wherein the I/O device translation & management module comprises:

a device-side utility of the I/O device translation & management module;

a host-side I/O device translation & management utility of the I/O device translation & management module; and

a host/device translation & management scheduler utility;

at least one interface channel;

at one smart host;

at least one peripheral I/O device;

at least one power source; and

at least one corresponding application utility associated with at least one target I/O device, respectively;

wherein the universal peripheral extender is communicatively coupled, via the at least one interface channel to: the at least one smart host, the target I/O device, and the at least one peripheral I/O device, respectively;

wherein the at least one peripheral I/O device includes an interface connection communicatively coupled to the at least one interface channel;

wherein the corresponding application utility associated with the target I/O device is installed in the at least one smart host to perform a function of the target I/O device;

wherein the I/O device translation & management module including the host/device translation & management scheduler utility, that in response to execution, causes the computing device to perform further operations comprising:

looking up the host/device translation & management tables;

conducting a check to determine if the at least one smart host and the target I/O device are compatible;

in response to the at least one smart host and the target I/O device not being compatible, ending the host session;

in response to the at least one smart host and the target I/O device being compatible, processing and scheduling host-side request from the at least one smart host;

translating the smart host request for the target I/O device;

passing the request to the target I/O device on the device-side;

waiting for the target I/O device response and translating the device response for the at least one smart host;

passing the response back to the at least one smart host on the host-side;

conducting a check to determine if there is a command to end the host session;

in response to the host session not ending, returning to processing and scheduling the host-side request;

in response to a command to end the host session, ending the host session and exiting.

6. A universal peripheral extender, comprising:

an I/O device translation & management module including:

a device-side utility;

a host-side I/O device translation & management utility; and

a host/device translation & management scheduler utility; wherein executing the device-side utility of the I/O device translation & management module causes a computing device of the universal peripheral extender to perform operations comprising:

enumerating the target I/O device;

conducting a check to determine if the target I/O device is present;

in response to the target I/O device not being present, returning the operations to the enumerating the target I/O device;

in response to the target I/O device being present, adding the target I/O device to an endpoint list;

issuing a RESET command to the target I/O device;

obtaining a Descriptor from the target I/O device;

assigning a device address to the target I/O device;

obtaining a Descriptor table from the target I/O device;

conducting a check to determine if the target I/O device is serviceable;

in response to the target I/O device not being serviceable, then encountering an error and the process returns to the enumerating the target I/O device;

in response to the target I/O device not being serviceable, then activating configurations on the target I/O device;

configuring target I/O device attributes in target I/O device translation & management tables;

interacting with the targeted I/O device;

launching a host/device translation & management scheduler;

conducting a check to determine if the application utility is to end;

in response to the application utility ending, the application utility exits;

in response to the application utility continuing, conducting another check to determine if the host session ends;

in response to the host session ending, returning the operation to enumerating the target I/O device; and

in response to the host session continuing, continue interacting with the target I/O device.

7. A universal peripheral extender, comprising:

an I/O device translation & management module including:

a device-side utility;

a host-side I/O device translation & management utility; and

a host/device translation & management scheduler utility; wherein executing the host-side I/O device translation & management utility of the I/O device translation & management module causes the computing device of the universal peripheral extender to perform operations comprising:

listening to an interface;

conducting a check is to determine if the universal peripheral extender is discovered by a smart host;

in response to the universal peripheral extender not being discovered by the smart host, returning the operation to waiting in a loop to the listening to the interface;

in response to the universal peripheral extender being discovered by the smart host, configuring host/device attributes in host/device translation & management tables;

waiting for a smart host request;

in response to receiving the smart host request, starting a host session;

processing the smart host request;

launching a host/device translation & management scheduler;

conducting a check to determine if the host session ends;

in response to the host session not ending, returning the operation to the waiting for the smart host request;

in response to the host session ending, returning to the listening to the interface; and

restarting the operations.

8. A universal peripheral extender, comprising:

an I/O device translation & management module including:

a device-side utility;

a host-side I/O device translation & management utility; and

a host/device translation & management scheduler utility; wherein executing the host/device translation & management scheduler utility of the I/O device translation & management module causes the computing device of the universal peripheral extender to perform further operations comprising:

looking up host/device translation & management tables;

conducting a check to determine if a smart host and a target I/O device are compatible;

in response to the smart host and the target I/O device not being compatible, ending the host session;

in response to the smart host and the target I/O device being compatible, processing and scheduling host-side request from a smart host;

translating a smart host request for the target I/O device;

passing the smart host request to the target I/O device on the device-side;

waiting for the target I/O device response and translating the device response for the smart host;

passing the target I/O device response back to the smart host on the host-side;

conducting a check to determine if there is a command to end the host session;

in response to the host session not ending, returning to processing and scheduling the host-side request;

in response to a command to end the host session, ending the host session and exiting.

9. A non-transitory computer-readable medium storing executable instructions to communicatively connect a target I/O device and a smart host by an I/O device translation & management module of a universal peripheral extender so that, in response to execution, cause a computing device of the universal peripheral extender to execute a device-side utility of the I/O device translation & management module to perform operations comprising:

enumerating the target I/O device;

conducting a check to determine if the target I/O device is present;

in response to the target I/O device not being present, returning the operations to the enumerating the target I/O device;

in response to the target I/O device being present, adding the target I/O device to an endpoint list;

issuing a RESET command to the target I/O device;

obtaining a Descriptor from the target I/O device;

assigning a device address to the target I/O device;

obtaining a Descriptor table from the target I/O device;

conducting a check to determine if the target I/O device is serviceable;

in response to the target I/O device not being serviceable, then encountering an error and the process returns to the enumerating the target I/O device;

in response to the target I/O device not being serviceable, then activating configurations on the target I/O device;

configuring target I/O device attributes in target I/O device translation & management tables;

interacting with the targeted I/O device;

launching a host/device translation & management scheduler;

conducting a check to determine if the application utility is to end;

in response to the application utility ending, the application utility exits;

in response to the application utility continuing, conducting another check to determine if the host session ends;

in response to the host session ending, returning the operation to enumerating the target I/O device; and

in response to the host session continuing, continue interacting with the target I/O device.

10. The non-transitory computer-readable medium of claim 9 , storing further executable instructions to communicatively connect the target I/O device and the smart host by the I/O device translation & management module of the universal peripheral extender so that, in response to execution, cause the computing device of the universal peripheral extender to execute a host-side I/O device translation & management utility of the I/O device translation & management module to perform further operations comprising:

listening to the interface;

conducting a check is to determine if the universal peripheral extender is discovered by the smart host;

in response to the universal peripheral extender not being discovered by the smart host, returning the operation to waiting in a loop to the listening to the interface;

in response to the universal peripheral extender being discovered by the smart host, configuring host/device attributes in host/device translation & management tables;

waiting for a smart host request;

in response to receiving the smart host request, starting a host session;

processing the smart host request;

launching a host/device translation & management scheduler;

conducting a check to determine if the host session ends;

in response to the host session not ending, returning the operation to the waiting for the smart host request;

in response to the host session ending, returning to the listening to the interface; and

restarting the operations.

11. The non-transitory computer-readable medium of claim 10 , storing further executable instructions to communicatively connect the target I/O device and smart host by the I/O device translation & management module of the universal peripheral extender so that, in response to execution, cause the computing device of the universal peripheral extender to execute a host/device translation & management scheduler utility of the I/O device translation & management module to perform further operations comprising:

looking up the host/device translation & management tables;

conducting a check to determine if the smart host and the target I/O device are compatible;

in response to the smart host and the target I/O device not being compatible, ending the host session;

in response to the smart host and the target I/O device being compatible, processing and scheduling a host-side request from the smart host;

translating the smart host request for the target I/O device;

passing the request to the target I/O device on the device-side;

waiting for the target I/O device response and translating the device response for the smart host;

passing the response back to the smart host on the host-side;

conducting a check to determine if there is a command to end the host session;

in response to the host session not ending, returning to processing and scheduling the host-side request;

in response to a command to end the host session, ending the host session and exiting.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2020
From: CHEN, BEN WEI
To: KINGSTON DIGITAL INC.
Reel/Frame 052883/0850 →
Continuity (1)
Related Publication 20210382749A1 · Dec 9, 2021