SYSTEM FOR CONTROLLING INPUT AND OUTPUT RESOURCES FOR ADDRESSABLE DEVICES
A system and method for a establishing a data connection between peripherals through a global computer network. The global computer network having at least two computerized addressable stations connected to a network, and each of the stations including at least one input and at least one output. A computerized server with a storage assembly with software that includes sufficient data and instructions to communicate with the stations to keep a database with information of the station's peripheral resources updated. Each station includes a service software that initiates upon booting the station and keeps track of the peripheral resources and assigned address (ex. IP address) for periodically updating the server's database with changes. Users with friendly interfaces have access to the subscribed stations and their resources as requested and target stations.
1. Field of the Invention
The present invention relates to a system for controlling input and output peripheral resources for addressable devices, and more particularly, to selectively and remotely coordinate the interaction of the peripheral resources through the devices.
2. Description of the Related Art
Several designs for systems that control the input and output resources for addressable devices have been designed in the past. None of them, however, include a means of creating a network connection allowing for peripherals of addressable devices to be remotely controlled. One of the advantages of the present invention is to provide a user-friendly means of controlling input and output resources for subscribed addressable devices.
Applicant believes that the closest reference corresponds to U.S. patent application publication No. US2010/0031371A1 issued to Neil Adams on Feb. 4, 2010. Adam's publication includes a network to allow a mobile device to handle the data connection to a multitude of peripherals. However, it differs from the present invention because it does not teach the ability to transfer control and data signals between addressable devices with peripherals by selectively choosing peripherals in a device and allowing it to control peripherals in another. The present invention establishes a data control signal connection between devices with peripherals through a network that allows the user to select which inputs and outputs he/she would like to relay data and control signals to and from.
Other documents or references describing the closest subject matter provide for a number of more or less complicated features that fail to solve the problem in an efficient and economical way. None of these patents suggest the novel features of the present invention.
SUMMARY OF THE INVENTIONIt is one the objects of this invention to provide a system for remotely controlling the input and output peripheral resources of at least one subscribed addressable device.
With the above and other related objects in view, the invention consists in the details of construction and combination of parts as will be more fully understood from the following description, when read in conjunction with the accompanying drawings in which:
The present invention is generally referred to with numeral 10, it can be observed that it basically includes a network 20, computerized addressable stations 21; 22 as shown in
For the purposes of this invention, the following terms will have the meanings described below:
Station or Device.
-
- A device or station will be a computerized addressable device connected to a network, such as the Internet, or any other suitable network. A device includes a predetermined number of input and output ports to which peripherals are connected.
Subscribed Station.
-
- A subscribed station is subscribed to the system when its profile is stored in the server. A subscribed station includes one device and at least one peripheral 30.
User Station.
-
- A user station is a computerized device with access to network 20 and privileges to access the software in server 60 to operate system 10. A user station can also be used as a requested station or a target station at any time by a user if it is a subscribed station.
Input Ix.
-
- It is the input port of a device to which an input peripheral (i.e. mouse, scanner, etc.) is connected. A virtual input (such as a virtual keyboard) will also be defined as an input peripheral, even if virtual.
Output Ox.
-
- An output port of a device to which an output peripheral (monitor, printer, etc.) is connected. A virtual output (such as a virtual map) will also be defined as an output peripheral, even if virtual.
Peripheral.
-
- A peripheral 30 is a hardware apparatus or software that is connected to an input, output or both. If connected to both, it will be considered as two peripherals, one for its connection to a device's input and the other one for its connection to a device's output.
Server 60.
-
- The server in this invention acts as a clearinghouse for the different requests submitted by the approved users. Server 60 includes a database and preferably provides a website which can host content data and tools representing the subscribed stations and reachable peripherals.
User Station 50.
-
- A user station is authorized to access the system's server 60. A user can access the system through a user-friendly browser or interface (GUI) provided by server 60. A user station 50 selects which of the subscribed stations will act as a requested station and which one(s) will be the target station(s). Intermediate stations will be considered requested stations.
Reachable Peripherals.
-
- The peripherals in the subscribed stations that have been made available to the users of system 10.
Client's Software.
-
- This is the software that resides in addressable stations, for example, stations 21, 22, 23, 24, and 25, that report to the server the inputs and outputs that the stations make available to system 10 along with information as to the peripherals connected to their inputs and outputs. Also, the client's software monitors the software resources of the station, such as the peripheral devices, and its updated versions, to periodically transmit this information to server 60.
Server's Software.
-
- The software residing in the server includes tables for keeping the profiles of the subscribed stations with their peripherals and software resources. The server's software also maintains databases for the approved users along with passwords and other information.
This is a simplified system with only five stations for illustration purposes but a larger number of stations (2x, where “x” could be any number) can be subscribed limited only by the capacity of the resources of each server station 60. Server station 60 has for each station 21, 22, 23, 24 and 25 the profile that includes the reachable peripheral devices connected to their respective inputs 1x, such as keyboards, scanners, mouse devices, writing pads, and the like. The profile also includes the stations' respective and reachable peripherals connected to their respective outputs Ox, such as printers, fax, monitors, speakers, and the like.
Each station 21, 22, 23, 24 and 25 will have the ability to interact with server station 60 to cause one or more inputs Ix and one or more outputs Ox of a requested station to connect with the inputs of target stations. Stations 21, 22, 23, 24 and 25 are referred to as the requested stations when these stations' inputs and/or outputs are connected through server 60 to another requested station or target station. The stations with their inputs connected through server 60 to requested stations are referred to as target stations. A user station 50 using network 20 can access system 10 if issued the pertinent passcode. In one of the embodiments, user station 50 accesses server 60 through a website portal with user-friendly representations of stations that can be used as requested and target station.
Network 20 is implemented preferably through a global computer network such as the Internet. However, any other type of network would be equivalent provided it permits connection of addressable devices.
Peripherals 30 include any apparatuses y3x (where “y” refers to a station to which the peripheral is connected and “x” refers to a peripheral number) that have at least one input y3x′ and at least one output y3x″. Examples of peripherals include keyboards, mouse devices, faxes, speakers, monitors, scanners, printers, joysticks, writing pads, and the like. Virtual peripherals are also included. For example, a scanner is connected to input i2 of device 23. See
Server station 60 includes software with programmable databases 70 that includes the hardware and software resources of each station 2x and reachable peripherals. The term 2x includes stations 21; 22; 23, etc. The characteristics of the hardware and software resources will include information regarding the drivers and updates for each peripheral and will be stored in databases 70. Peripherals 30 are connected directly to network 20 also through computerized stations 2x. Furthermore, server station 60 can also be included as a requested station and/or target station should a user choose to transmit data and store it to a server station 60.
Since different devices operate with different operational systems, the server needs to identify the hardware it is accessing to redirect the site to the correct software download. For instance, a device might have a Windows OS, Windows Mobile Edition, Mac OS, iPhone/iPad OS, or a Linux based OS.
Different operational systems have different ways to compile and link objects with the need to have the same resources and functions, but for different operational systems.
The software download will include:
-
- executable software that will basic handle GUI (graphic user interface) directly or by accessing the server's web site;
- libraries to make connections work between different subscribed devices and access the drivers for reachable peripherals; and
- audio, video, and images with compression and decompression software.
Each device is registered or subscribed with server 60. Once a subscribed station 2x downloads the tools, the installation will start.
The first thing that needs to be done is to install in each subscribed station or device a service software, which is software that starts automatically when the device is booted. The reason for this service to be installed is that it is going to be responsible for sending crucial information to the server, like its address (i.e. IP or internet protocol address).
Then communication is established so that when a device boots up it will automatically update its IP address in the server's IP list (database 70) and register this IP address in its own memory. If for some reason the device changes its IP address, the service will check if the new IP address is different from the old one registered in memory. If it is, it will update the server with the new IP address. The service at station 2x will also act as a “mini server” so a user can, at any time, “wakeup” the station by the server. Each device 2x will act as client and server at the same time. For this to work, server 60 needs to have a fixed IP address so that each device knows “where” to look to update its IP address in the server's database 70. Once server 60 knows the device's IP address, server 60 can connect back to device 2x that is waiting for that connection. This is why it will also act as a “mini-server”. The connection is synchronous since, otherwise, the user would need to set a timer to each device to check from time to time if the device is needed (asynchronous way).
Once a device 2x knows is requested, a library (preferably written in a low level language, such as Assembly or C/C++) will identify every reachable peripheral connected to that device. The list of reachable peripherals is sent to server 60 for distribution to the requested device(s). The GUI (either a downloaded application or a web browser) permits a user to connect peripherals from different subscribed stations 2x.
Once each subscribed station, and its peripherals, is listed on the GUI of the requested device, the user will start the connections using the available inputs and outputs of reachable peripherals in each station.
For every connection attempt, the server will check if the connection is possible. For instance, the user can't connect the microphone to a printer, so if the user tries to drag and drop a microphone from the requested computer and drag and drop a printer from the remote device and start the connection, the server will identify that this connection is impossible at that time and it will refuse it. But if the user has a STT (Speech To Text) software running in our server, we can make this connection available to the user.
The following example is representative of the way the system works:
-
- A) User selects the microphone at the requested device and selects the printer at the target device. It activates the connect/play button. After that, a string of characters will be shown with the following:
- a string asking the server if the connection that is being requested by the user is possible: ?
- requested peripheral at the requested device; in this case it is going to be the microphone at the office computer: |OFFICE_PC|MICROPHONE
- target peripheral at the target device; in this case it is going to be the printer at the home computer: |HOME_PC|PRINTER|
- and an ending string: ?
- A) User selects the microphone at the requested device and selects the printer at the target device. It activates the connect/play button. After that, a string of characters will be shown with the following:
So at the end the string will look something like this:
-
- ?|OFFICE_PC|MICROPHONE|HOME_PC|PRINTER|?
The string will be sent to the user's server, and the server will:
-
- 1) break the string in pieces to check if the connection is possible, considering that the user has a STT in the server. The libraries will have already checked that the user has the microphone connected in the requested device (office_pc) and that the printer is connected in the target device (home_pc). The server will only check if the server can handle the connection between the microphone and the printer: MICROPHONE?PRINTER.
- 2) check the string with the user's database; in this case, the result is going to return “success”.
- 3) a new string will be sent from the server to the requested device (office_pc), saying that the connection can be completed: !|SUCCESS|! Otherwise it would return !|FAILED|!
Once the device receives the SUCCESS notification, the connection can be completed.
The user will open the microphone and start to record the audio to a data buffer. Once the user is satisfied, he/she can hit the stop button. This audio buffer will be converted to a new buffer and this new buffer will have the original audio buffer, but it will be compressed using an audio codec available from the requested device (office_pc).
The compressed audio buffer will be sent to the server that will have the same codecs (compression and decompression) as the downloaded ones from the user.
The compressed audio buffer is decompressed by server 60. The user will then have a new data buffer with the original audio from the requested device (office_pc). This new data buffer will feed the STT application and transform it to another buffer, but this time, it will be a text data buffer.
Now server 60 will:
-
- 1) build a new string to be sent to the requested device (home_pc), notifying it to execute an order: !|RENDER
- 2) notify the requested device (home_pc) which attached peripheral will handle the information (data buffer) that it is about to be received: |PRINTER
- 3) add to this string the text data buffer itself: <DATA_BUFFER>|
- 4) an ending string: !
So at the end the string will look something like this:
-
- !|RENDER|PRINTER|<DATA_BUFFER>|!
Now each user station 50 will have a receive this string, break it into pieces, and collect the crucial information, namely, the peripheral that is going to be used (in this case a printer) and the data buffer (this data buffer will feed the printer driver in the target computer). When the printing thread is done, the target device (home_pc) will send a string back to the server noifying that it is ready for a new connection.
-
- !|RENDER|PRINTER|SUCCESS|!
When server 60 receives this string it passes to the requesting device 2x (office_pc), notifying it that the application is ready for a new connection. Other variations in the strings to request and provide similar information for the user are considered equivalents.
One embodiment in the present system includes the use of a graphic user interface (GUI) in a screen to represent the different addressable stations or devices 2x and available peripherals connected to each of the devices or stations. As it can be seen in
In
In
In
The foregoing description conveys the best understanding of the objectives and advantages of the present invention. Different embodiments may be made of the inventive concept of this invention. It is to be understood that all matter disclosed herein is to be interpreted merely as illustrative, and not in a limiting sense.
Claims
1. A system for controlling input and output peripherals connected to addressable stations, comprising:
- A) a global computer network;
- B) at least two computerized addressable stations connected to said network, each of said at least two stations including at least one input for receiving input peripheral signals and at least one output for generating output peripheral signals and an operating software that includes service software that is initiated upon booting said stations and said service software having stored information about the station where it is installed including said station's assigned address and reachable peripherals;
- C) at least one input peripheral with associated drive software connected to one of said at least one input of one of said at least two stations and at least one output peripheral with associated drive software connected to said at least one output of another station of said at least two stations; and
- D) a computerized server having a storage assembly with control software that includes sufficient data and instructions to permit a user to communicate with said at least two stations and connect to at least one of said at least one input and said at least one output of one of said at least two stations with the input of another of said at least two stations to activate at least one output of said another station, said storage assembly further including a database for storing said drive software for each of said peripherals and said operating software of each of said stations, wherein said control software selectively connects at least one of said inputs or outputs of one of said at least two stations, as a requested station, to at least one of said inputs of another of said at least two stations, as a target station, to generate an output signal on said at least one output of said target station and said control software further including means for translating said input and output signals of said inputs and outputs of said requested station to compatible input and output signals for said at least one input of said target station utilizing said database thereby permitting a user to remotely activate the reachable peripherals of said addressable stations.
2. The system set forth in claim 1 wherein said control software includes a user interface that provides an icon that represents each of said at least two stations.
3. The system set forth in claim 2 wherein said user interface includes a graphic user interface, accessible through said network by a user, displaying graphic representations of said stations and peripherals and further including means for selecting and connecting said stations to identify a requested station and a target station, and each of said selected station displaying the peripherals physically connected thereto and made available through a subscription to the system.
4. The system set forth in claim 3 wherein said control software further includes means for validating the selection and connection of said peripherals and software pursuant to a pre-established criterion.
5. The system set forth in claim 4 wherein said at least two computerized addressable stations communicate with said server through a synchronous connection.
6. The system set forth in claim 5 wherein said control software periodically monitors said service software of each of said at least two stations to update said database on the drive software existing in each of said stations at any given time.
7. A system for controlling input and output peripherals connected to addressable stations, comprising:
- A) a global computer network;
- B) at least two computerized addressable stations connected to said network, each of said at least two stations including at least one input for receiving input peripheral signals and at least one output for generating output peripheral signals and an operating software that includes service software that is initiated upon booting said stations and said service software having stored information about the station where it is installed including said station's assigned address and reachable peripherals;
- C) at least one input peripheral with associated drive software connected to one of said at least one input peripheral of one of said at least two stations and at least one output peripheral with associated drive software connected to said at least one output of another station of said at least two stations; and
- D) a computerized server having a storage assembly with control software that includes sufficient data and instructions to permit a user to communicate with said at least two stations and connect to at least one of said at least one input and said at least one output of one of said at least two stations with the input of another of said at least two stations to activate at least one output of said another station, said storage assembly further including a database for storing said drive software for each of said peripherals and said operating software of each of said stations, wherein said control software selectively connects at least one of said inputs of one of said at least two stations, as a requested station, to at least one of said inputs of another of said at least two stations, as a target station, to generate an output signal on said at least one output of said target station and said control software further including means for translating said input and output signals of said inputs and outputs of said requested station to compatible input and output signals for said at least one input of said target station utilizing said database thereby permitting a user to remotely activate the reachable peripherals of said addressable stations.
8. The system set forth in claim 7 wherein said control software includes a user interface that provides an icon that represents each of said at least two stations.
9. The system set forth in claim 8 wherein said user interface includes a graphic user interface, accessible through said network by a user, displaying graphic representations of said stations and peripherals and further including means for selecting and connecting said stations to identify a requested station and a target station, and each of said selected station displaying the peripherals physically connected thereto and made available through a subscription to the system.
10. The system set forth in claim 9 wherein said control software further includes means for validating the selection and connection of said peripherals and software pursuant to a pre-established criterion.
11. The system set forth in claim 10 wherein said at least two computerized addressable stations communicate with said server through a synchronous connection.
12. The system set forth in claim 11 wherein said control software periodically monitors said service software of each of said at least two stations to update said database on the drive software existing in each of said stations at any given time.
13. A system for controlling input and output peripherals connected to addressable stations, comprising:
- A) a global computer network;
- B) at least two computerized addressable stations connected to said network, each of said at least two stations including at least one input for receiving input peripheral signals and at least one output for generating output peripheral signals and an operating software that includes service software that is initiated upon booting said stations and said service software having stored information about the station where it is installed including said station's assigned address and reachable peripherals;
- C) at least one input peripheral with associated drive software connected to one of said at least one input peripheral of one of said at least two stations and at least one output peripheral with associated drive software connected to said at least one output of another station of said at least two stations; and
- D) a computerized server having a storage assembly with control software that includes sufficient data and instructions to permit a user to communicate with said at least two stations and connect to at least one of said at least one input and said at least one output of one of said at least two stations with the input of another of said at least two stations to activate at least one output of said another station, said storage assembly further including a database for storing said drive software for each of said peripherals and said operating software of each of said stations, wherein said control software selectively connects at least one of said outputs of one of said at least two stations, as a requested station, to at least one of said inputs of another of said at least two stations, as a target station, to generate an output signal on said at least one output of said target station and said control software further including means for translating said input and output signals of said inputs and outputs of said requested station to compatible input and output signals for said at least one input of said target station utilizing said database thereby permitting a user to remotely activate the reachable peripherals of said addressable stations.
14. The system set forth in claim 13 wherein said control software includes a user interface that provides an icon that represents each of said at least two stations.
15. The system set forth in claim 14 wherein said user interface includes a graphic user interface, accessible through said network by a user, displaying graphic representations of said stations and peripherals and further including means for selecting and connecting said stations to identify a requested station and a target station, and each of said selected station displaying the peripherals physically connected thereto and made available through a subscription to the system.
16. The system set forth in claim 15 wherein said control software further includes means for validating the selection and connection of said peripherals and software pursuant to a pre-established criterion.
17. The system set forth in claim 16 wherein said at least two computerized addressable stations communicate with said server through a synchronous connection.
18. The system set forth in claim 17 wherein said control software periodically monitors said service software of each of said at least two stations to update said database on the drive software existing in each of said stations at any given time.
19. A method for controlling input and output peripherals connected to addressable stations comprising the steps of:
- A) setting up a network with a server and at least two interconnected addressable stations, each of said stations including at least one input and at least one output, and each of said at least two stations including at least one reachable peripheral connected to said input or output;
- B) booting up said stations to transmit their respective addresses and a list of reachable peripherals to said server;
- C) activating the software in said server to provide the software drivers for each of said peripherals upon demand and further providing software for exchanging information between said driver software; and
- D) generating a user-friendly interface for making the selected connections of peripherals and means for monitoring the progress of their performance.
Type: Application
Filed: Mar 28, 2011
Publication Date: Oct 4, 2012
Patent Grant number: 8407383
Inventors: Mauricio De Souza (Florianopolis), Sergio Vargas De Souza (Florianopolis)
Application Number: 13/073,096
International Classification: G06F 3/00 (20060101);