US20090198839A1 - Plug-and-play device and method of using the same - Google Patents

Plug-and-play device and method of using the same Download PDF

Info

Publication number
US20090198839A1
US20090198839A1 US12/407,994 US40799409A US2009198839A1 US 20090198839 A1 US20090198839 A1 US 20090198839A1 US 40799409 A US40799409 A US 40799409A US 2009198839 A1 US2009198839 A1 US 2009198839A1
Authority
US
United States
Prior art keywords
plug
computing device
play
display screen
screen data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/407,994
Inventor
Shymmon Banerjee
Douglas Blair Hill
David Labine
Mark McElhinney
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Smart Technologies ULC
Original Assignee
Smart Technologies ULC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Smart Technologies ULC filed Critical Smart Technologies ULC
Priority to US12/407,994 priority Critical patent/US20090198839A1/en
Publication of US20090198839A1 publication Critical patent/US20090198839A1/en
Priority to US12/611,408 priority patent/US20100115145A1/en
Priority to PCT/CA2010/000185 priority patent/WO2010105335A1/en
Priority to EP10753019A priority patent/EP2409207A4/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Definitions

  • the subject application relates generally to computer peripheral devices and, more specifically, to a plug-and-play device and a method of using the same.
  • Plug-and-play devices are well known and many types of plug-and-play standards exist, including for example universal serial bus (“USB”), IEEE1394 (“FireWire”) and PCMCIA (“PC Card”), with the most common being USB.
  • USB universal serial bus
  • Such plug-and-play devices have a set of functionality that is accessible to a computer through a plug-and-play interface.
  • the functionality of common plug-and-play devices can include, but is not limited to, storage, input registration, image capturing, audio input and output, etc.
  • the sets of functionality available on common plug-and-play devices are pre-defined as device classes. Upon connection of a plug-and-play device to a computer, an electronic circuit is completed and the operating system of the computer is alerted to the connection. The operating system in response polls the plug-and-play device to determine what functionality is available on the plug-and-play device.
  • U.S. Patent Application Publication No. 2004/0205778 to Wong et al. discloses a peripheral device that includes driver storage.
  • the peripheral device connects to a computer via a plug-and-play interface and cycles through the emulation of a number of plug-and-play device classes recognized by the operating system until one is found that permits auto-execution of a driver installation program.
  • U.S. Patent Application Publication No. 2005/0038934 to Gotze et al. discloses a USB-based peripheral printer that can be conditioned between two modes. In a first mode, the printer emulates USB mass storage to permit installation of drivers stored in memory of the printer on a computer to which the printer is connected. Once the drivers are installed on the computer, the printer is conditioned to a second mode, in which the printer behaves as a printer.
  • the need to install software/drivers can be undesirable in a number of situations, such as where a user does not possess administrative rights for the computer or simply does not desire to install yet more software on the computer, especially where connection of the plug-and-play device to the computer is infrequent or a one-time affair. Installing software may also prove to be a difficult or complicated task. For example, the user may need to download software from the Internet or may need to locate media upon which the software/drivers are located.
  • the plug-and-play device is a touch panel
  • calibration to map the coordinate system of the input field of the touch panel to the display coordinate system of the computer to which the plug-and-play device is connected is typically required in order to ensure proper registration of touch input.
  • the calibration settings are registered and stored by the computer.
  • the computer stores the calibration settings, when the touch panel is plugged into a computer to which it was not previously connected, the calibration process must be carried out again in order to establish the calibration settings on the new computer.
  • a plug-and-play device comprising: a first plug-and-play interface for establishing a connection with a first computing device; a second plug-and-play interface for establishing a connection with a second computing device; storage storing code that is automatically executed by the second computing device when said plug-and-play device is connected thereto via said second plug-and-play interface, said code when executed initiating a screen display data exchange between said first and second computing devices; and at least one controller controlling said first plug-and-play interface, said second plug-and-play interface and said storage.
  • the first plug-and-play interface comprises a wireless transceiver and establishes a wireless connection with the first computing device.
  • the wireless connection may be a secure wireless connection.
  • the storage further stores at least one of at least one key, at least one biometric and at least one code that is used to establish the secure wireless connection.
  • the plug-and-play device further comprises a physical connection to the second computing device.
  • the physical connection may be in the form of a universal serial bus cable or the plug-and-play device may be configured as a dongle.
  • the plug-and-play device comprises a physical connection to the first computing device and a physical connection to the second computing device.
  • Each physical connection may be in the form of a universal serial bus cable.
  • the screen display data exchange may comprise transmission of second computing device display screen data to the first computing device.
  • the second computing device display screen data is compressed prior to transmission to the first computing device. Differences between previously transmitted second computing device display screen data and current second computing device display screen data are transmitted.
  • the code when executed may also permit file sharing between the first and second computing devices through the plug-and-play device.
  • the screen display data exchange alternatively may comprise transmission of first computing device display screen data to the second computing device.
  • the first computing device display screen data is compressed prior to transmission to the second computing device. Differences between previously transmitted first computing device display screen data and current first computing device display screen data are transmitted.
  • FIG. 1 shows a plug-and-play device comprising a touch panel, a controller and a cable, coupled to a computer;
  • FIG. 2 is a schematic diagram of the cable of FIG. 1 ;
  • FIG. 3 is a flow chart of the general operation of the plug-and-play device of FIG. 1 ;
  • FIG. 4 shows another plug-and-play device allowing for screen sharing between a master computer and a remote computer
  • FIG. 5 is a schematic diagram of the plug-and-play device of FIG. 4 ;
  • FIG. 6 is a flow chart of the general operation of the plug-and-play device of FIG. 4 ;
  • FIG. 7 shows the plug-and-play device of FIG. 4 with a touch panel and projector communicating with the master computer
  • FIG. 8 shows yet another plug-and-play device allowing for bi-direction screen sharing between a master computer and a remote computer
  • FIG. 9 is a schematic diagram of the plug-and-play device of FIG. 8 ;
  • FIG. 10 is a flow chart of the general operation of the plug-and-play device of FIG. 8 ;
  • FIG. 11 shows the plug-and-play device of FIG. 8 with a touch panel and projector communicating with the master computer.
  • system 20 comprises a plug-and-play (PnP) device 24 for receiving and digitizing input.
  • the plug-and-play device 24 comprises an interactive input system that includes a touch panel 28 , a controller 32 and a cable 36 .
  • Touch panel 28 may be of the type employing analog resistive or machine vision technology to register pointer input such as those disclosed in U.S. Pat. Nos. 5,448,263; 6,141,000; 6,337,681; 6,747,636; 6,803,906; 7,232,986; 7,236,162; and 7,274,356 and in U.S. Patent Application Publication No.
  • touch panel 28 may be of the type employing electromagnetic, capacitive, acoustic or other technologies to register pointer input.
  • the controller 32 controls the operation of the touch panel 28 and is in communication with a computer 40 via the cable 36 .
  • the computer 40 is also connected to a projection unit 44 such as for example, a liquid crystal display (LCD) projector, via a video graphics array (VGA) cable 48 and controls the LCD projector 44 .
  • the LCD projector 44 projects images onto a touch surface 46 of the touch panel 28 .
  • the LCD projector 44 may be positioned in front of or behind the touch panel 28 .
  • the touch panel 28 provides a user with the ability to interact with the image projected onto the touch surface 46 of the touch panel 28 and inject input into an application program running on the computer 40 using an active pointer (e.g. a pointer that emits light, sound or other signal) or a passive pointer (e.g. a finger, cylinder or other object).
  • an active pointer e.g. a pointer that emits light, sound or other signal
  • a passive pointer e.g. a finger, cylinder or other object.
  • the touch panel 28 requires no extra software other than that provided by the operating system of the computer 40 in order to work as a mouse, the functionality of the touch panel 28 can be greatly enhanced by additional software not available on the operating system of the computer 40 , as will be described below.
  • the controller 32 comprises a processor (not shown) that executes firmware stored in non-volatile storage.
  • the firmware causes the controller 32 to operate in one of two operational modes.
  • the controller 32 operates two USB profiles, namely an absolute mouse human interface device (“HID”) profile and a SMARTBoard HID profile.
  • the absolute mouse HID profile enables the controller 32 to relay absolute position information for a pointer contacting the touch surface 46 of the touch panel 28 along with basic mouse functions.
  • the SMARTBoard HID profile is a device class that enables enhanced functionality for the touch panel 28 .
  • the enhanced functionality comprises all of the functionality available in the absolute mouse HID device class as well as inking information, additional tool information (buttons, eraser, pen selection, etc.) and two-way communications with the controller 32 .
  • the controller 32 terminates the absolute mouse HID profile and only operates the SMARTBoard HID profile.
  • the cable 36 comprises a USB hub component 52 having a USB interface 56 for connection to a USB cable segment 60 that extends to the touch panel 28 , and a USB interface 64 for connection to a USB cable segment 68 that extends to the computer 40 .
  • Both USB interfaces 56 , 64 are in communication with a USB hub 72 .
  • storage 76 Also in communication with the USB hub 72 is storage 76 , namely flash memory, solid-state memory or other suitable computer memory.
  • the storage 76 is configured to operate in accordance with a mass storage device and defines itself as compact disk read only memory (CD-ROM) according to the compact disk (“CD”) HID profile.
  • Storage 76 stores a set of software applications, including a user application (SMARTBoardTools.exe), a service application (SMARTBoardService.exe), a launcher application (SBLauncher.exe), a calibration application (SMARTBoardCalibrate.exe) and an autorun feature (autorun.inf) for a Windows® operating system file that references the launcher application. Further, the storage 76 stores calibration settings associated with the configuration of the system 20 . In particular, the calibration settings include data for mapping touch coordinates generated by the touch panel 28 in response to pointer contacts with the touch surface 46 to the display coordinate system of the computer 40 .
  • the SMARTBoardTools.exe user application permits a richer set of features than basic mouse functionality.
  • the SMARTBoardTools.exe user application contains a number of presentation applications, integration into popular drawing and presentation applications, and an application to allow users to ink over documents in any application or over the desktop of the graphical user interface of the computer 40 that is projected and displayed on the touch surface 46 of the touch panel 28 .
  • the method of operation of the plug-and-play device 24 when the plug-and-play device 24 is connected to a new computer 40 that has not been previously connected to the plug-and-play device, is shown in FIG. 3 .
  • the computer 40 queries the plug-and-play device 24 to determine what functionality is provided by the plug-and-play device 24 (step 108 ).
  • the USB hub 72 is connected to storage 76 as well as the controller 32 , the USB hub 72 queries both the storage 76 and the controller 32 to determine what profiles are available.
  • the storage 76 responds by indicating that it supports the CD HID profile.
  • the controller 32 in the initial mode, responds by indicating that it supports the absolute mouse HID profile and the SMARTBoard HID profile.
  • the computer 40 upon receiving the available HID profiles, detects that functionality corresponding to the absolute mouse HID profile, the SMARTBoard HID profile and CD HID profile is available (step 112 ). The computer 40 then loads the drivers for the devices recognized by the operating system for which the operating system has drivers, in this example the absolute mouse HID and CD HID (step 116 ). As each of these sets of functionality is detected by the computer 40 , the computer 40 recognizes them as separate devices. The computer 40 does not load the SMARTBoard HID profile as the operating system of the computer 40 does not possess a corresponding driver. The computer 40 then assigns the plug-and-play device 24 which is recognized as a CD HID device, the next available drive letter (step 120 ).
  • Computer 40 is configured as the majority of computers are by default; that is, the computer 40 is configured to search CD HID devices for an autorun.inf file that will direct the computer 40 to automatically execute a specific application upon connection to a CD HID device. Accordingly, the computer 40 queries the plug-and-play device 24 that has been recognized as a CD HID device for an autorun.inf file and upon receiving the autorun.inf file, loads and executes the instructions contained therein (step 124 ).
  • the autorun.inf file is used by the Microsoft Windows® family of operating systems to execute, under certain conditions, the instructions contained therein upon detection of certain types of storage devices.
  • the autorun.inf file is executed when a CD-ROM disk, containing the autorun.inf file, is inserted into the bay of a CD-ROM drive. Execution typically begins without delay after the information in the autorun.inf file becomes available to or is recognized by the computer operating system.
  • the autorun.inf file contains a pointer to the executable launcher application, SBLauncher.exe.
  • the computer 40 uses the pointer to obtain the SBLauncher.exe launcher application from the storage 76 , along with a set of corresponding dynamic link libraries (“DLLs”), and executes the SBLauncher.exe launcher application (step 128 ).
  • DLLs dynamic link libraries
  • the SBLauncher.exe launcher application when executed, directs the computer 40 to copy the SMARTBoardTools.exe user application and the SMARTBoardService.exe service application, along with some associated DLLs, from the storage 76 to a temporary directory on the computer 40 and then execute the SMARTBoardTools.exe user and SMARTBoardService.exe service applications (step 132 ).
  • the SBLauncher.exe launcher application terminates execution and the SMARTBoardService.exe service application directs the computer 40 to send a command to the controller 32 to switch the controller to the SMARTBoard HID mode (step 136 ).
  • the SMARTBoardTools.exe user application queries and obtains from storage 76 the calibration settings and other settings (step 140 ).
  • the calibration settings enable the SMARTBoardTools.exe user application to map touch input generated by the touch panel 28 in response to pointer contacts with the touch surface 46 to the display coordinate system of the computer 40 .
  • the other settings include pen tray settings, COM port settings, contact filter settings and user settings for software applications. All of these settings are stored in a standard Windows® INI file. Further, several XML files are used to store layout and menu settings for various applets forming part of the SMARTBoardTools.exe user application. These applets provide a floating window of toolbuttons for accessing various functionality, an on-screen keyboard, etc.
  • These layout and menu settings are stored in XML files in the storage 76 of the plug-and-play device 24 , and are loaded and saved in a directory (“C: ⁇ Documents and Settings ⁇ user name> ⁇ Application Data ⁇ SMART Technologies ⁇ SMARTBoard Software ⁇ ”) during execution of the SMARTBoardTools.exe user application, where ⁇ user name> is the login name of the current user.
  • the SMARTBoardTools.exe user application maps touch input generated by the touch panel 28 in response to pointer contacts with the touch surface 46 to the display coordinate system of the computer 40 . In this manner, the user is able to interact effectively with the image projected onto the touch surface 46 of the touch panel 28 by the LCD projector 44 .
  • some settings are stored in the “HKEY_CURRENT_USER” key of the registry and, in particular, in the “Software ⁇ SMART Technologies ⁇ SMARTBoard Software ⁇ ” subkey. These settings include application window positions, user settings for each application and a list of recently used files.
  • the “HKEY_CURRENT_USER” key is used as there are generally no restrictions on modifications made to this key. In addition, if there are no access restrictions on the “HKEY_LOCAL_MACHINE” key, spell checker settings are written there.
  • the computer 40 can be unplugged from the plug-and-play device 24 and removed.
  • the computer 40 notifies the SBLauncher.exe launcher application (step 144 ).
  • the SBLauncher.exe launcher application in turn proceeds to terminate execution of and delete the SMARTBoardTools.exe user application, the SMARTBoardService.exe service application, the various related DLLs and settings from the temporary locations on the computer 40 and then does the same for itself (step 148 ).
  • the SBLauncher.exe launcher application Before termination of the SBLauncher.exe launcher application, the SBLauncher.exe launcher application writes the user settings stored in the “C ⁇ Documents and Settings ⁇ user name> ⁇ Application Data ⁇ SMART Technologies Inc. ⁇ SMARTBoard Software ⁇ ” directory to XML files which it then stores in storage 76 of the plug-and-play device 24 . The SBLauncher.exe launcher application then deletes the user settings from the directory and those stored in the registry.
  • the SBLauncher.exe launcher application places an entry in the HKEY_CURRENT_USER ⁇ Software ⁇ Microsoft ⁇ Windows ⁇ CurrentVersion ⁇ RunOnce registry key which tells Windows to delete the SBLauncher.exe launcher application when the user logs in next, and then terminates execution. If the user stops the SMARTBoard software by closing the SMARTBoardTools.exe user application, then the SBLauncher.exe launcher application executes the instance of itself found in the storage 76 of the plug-and-play device 24 . Upon execution of the SBLauncher.exe launcher application instance from the plug-and-play device 24 , the instance of the SBLauncher.exe launcher application stored on the computer 40 is deleted.
  • the system 20 is calibrated. As the spatial relation between the image projected onto the touch surface 46 of the touch panel 28 by the LCD projector 44 and the touch panel 28 changes only when the LCD projector 44 and the touch panel 28 are moved relative to one another, calibration is generally performed after the touch panel 28 and LCD projector 44 are fixed at a location. In order to calibrate the system 20 , the SMARTBoardCalibrate.exe calibration application is launched.
  • the SMARTBoardCalibrate.exe calibration application is launched, the user is prompted to touch a number of points on the image that is projected onto the touch surface 46 of the touch panel 28 .
  • the resulting touch panel output is used to determine calibration settings which map the raw touch coordinates generated by the touch panel 28 in response to the pointer contacts on the touch surface 46 to the display coordinate system of the computer 40 .
  • the calibration settings are then recorded in the Windows® INI file so that they can be used by other computers to map raw touch coordinates generated by the touch panel 28 in response to the pointer contacts on the touch surface 46 to the display coordinate system of the computer 40 . This process allows for calibration at system installation and subsequent use of the calibration settings by all users of the system 20 .
  • system 220 comprises a plug-and-play device 236 , a master computer 238 and at least one remote computer 240 .
  • the plug-and-play device 236 is physically connected to the remote computer 240 and communicates with the master computer 238 over a wireless communications link.
  • plug-and-play device 236 captures and compresses screen display data generated at the remote computer 240 and allows screen sharing between the remote computer 240 and the master computer 238 by automatically launching software stored on the plug-and-play device 236 .
  • the master computer 238 comprises a wireless communication device 238 a, for example a radio frequency (RF) communication device such as a BluetoothTM, WiFi or other RF adapter, or an infrared (IR) communication device.
  • RF radio frequency
  • the master computer 238 also runs a mobile device manager software application to accept and manage connections from the remote computer 240 , provide screen sharing functionality, allow remote control from the remote computer 240 , and optionally, provide the remote computer 240 with Internet access.
  • the plug-and-play device 236 comprises an interface 256 in the form of a USB interface to wireless communication device adapter connected to a wireless transceiver 260 .
  • the wireless transceiver 260 is, for example, an RF communication device such as a BluetoothTM, WiFi or other RF adapter, or an infrared (IR) communication device.
  • the wireless communication device 238 a and wireless transceiver 260 are paired to enable a peer-to-peer wireless connection between the master computer 238 and the remote computer 240 to be established.
  • the plug-and-play device 236 also comprises an interface 264 in the form of a USB interface to computing device adapter.
  • the interface 264 comprises a port (not shown) to receive a cable segment 268 thereby to enable the physical connection to the remote computer 240 to be made.
  • Both interfaces 256 and 264 are also in communication with a controller 272 in the form of a USB hub.
  • Controller 272 also communicates with storage 276 that is configured to store and automatically launch software applications thereon via an autorun feature that the operating system of the remote computer 240 supports.
  • storage 276 is flash memory, solid-state memory or other non-volatile computer memory.
  • the storage 276 is configured to operate in accordance with a mass storage device and defines itself as compact disk read only memory (CD-ROM).
  • Storage 276 stores an executable launcher application, LinQLauncher.exe and may also store one or more access codes, biometrics or keys to automatically form a secure encrypted and authenticated wireless network connection with the master computer 238 .
  • the operation of the system 220 when a peer-to-peer wireless connection between the master computer 238 and the remote computer 240 is established, will now be described with particular reference to FIG. 6 .
  • the remote computer 240 queries the plug-and-play device 236 to determine what functionality is provided by the plug-and-play device 236 (step 308 ).
  • the controller 272 queries the wireless transceiver 260 and the storage 276 to determine what profiles or connections are available.
  • the storage 276 responds by indicating that it supports the mass storage device and the wireless transceiver 260 responds by indicating its device type, interface profile and other parameters such as for example wireless network protocol, wireless network speed, encryption keys, biometrics, etc.
  • the plug-and-play device 236 then returns the determined functionality information to the remote computer 240 .
  • the remote computer 240 upon receiving the functionality information from the plug-and-play device 236 , determines that mass storage device and wireless communications functionality for the plug-and-play device 236 is available (step 312 ). The remote computer 240 then loads at least the driver for the mass storage device recognized by its operating system and initializes the plug-and-play device 236 (step 316 ). The remote computer 240 then assigns the plug-and-play device 236 which is recognized as a mass storage device the next available drive letter (step 320 ).
  • the remote computer 240 is configured as the majority of computers are by default; that is, the remote computer 240 is configured to search mass storage devices for a file name that will direct the remote computer 240 to automatically execute instructions contained therein upon connection to a mass storage device.
  • the remote computer 240 queries the plug-and-play device 236 for the autorun.inf file and upon receiving the autorun.inf file, loads and executes the instructions contained therein (step 324 ).
  • the autorun.inf file contains a pointer to the executable launcher application, LinQLauncher.exe stored in the storage 276 .
  • the remote computer 240 uses the pointer to load a LinQ software application from the storage 276 (step 328 ).
  • the LinQLauncher.exe application directs the remote computer 240 to copy all necessary files of the LinQ software application from storage 276 to a temporary directory on the remote computer 240 and then start the LinQ software application (step 332 ).
  • the LinQ software application is used for setting up and managing the peer-to-peer wireless connection on the remote computer 240 , screen sharing and communications between the remote computer 240 and the master computer 238 .
  • the LinQ software application Upon launch, the LinQ software application loads the necessary driver for the wireless transceiver 260 , configures the wireless transceiver 260 , finds the master computer 238 and establishes the peer-to-peer wireless connection between the LinQ software application and the mobile device manager application running on the master computer 238 (step 337 ).
  • the LinQ software application which manages the peer-to-peer wireless connection on the remote computer 240 , then reads the access codes, biometrics or keys from the storage 276 .
  • the access codes, biometrics or keys are in turn exchanged with the master computer 238 and used as a parameter to create a secure authenticated and encrypted peer-to-peer wireless connection.
  • the mobile device manager application running on the master computer 238 manages the peer-to-peer wireless connection on the master computer 238 .
  • an ad-hoc network identifier may be necessary to allow the plug-and-play device 236 to determine the appropriate network to which to connect.
  • the ad-hoc network identifier is configured to be read from storage 276 in similar manner to the access codes, biometrics or keys.
  • the remote computer 240 may send a request to share the screen display data of the remote computer 240 to the master computer 238 . If a request to share the screen display data is sent to the master computer 238 and accepted, the screen display data displayed on the remote computer 240 is compressed using a suitable compression algorithm such as for example MJPEG compression. The compressed screen display data is then compared with previous screen display data sent to the master computer 238 in the same peer-to-peer wireless connection session to detect differences in the screen display data. The detected differences are then sent to the master computer 238 via the peer-to-peer wireless connection and displayed on the screen of the master computer 238 .
  • a suitable compression algorithm such as for example MJPEG compression
  • the master computer 238 passes input events, such as keyboard, mouse, trackball and/or pen-touch events, that it receives to the remote computer 240 thereby to remotely control the remote computer 240 (step 339 ).
  • input events such as keyboard, mouse, trackball and/or pen-touch events
  • the master computer 238 passes input events, such as keyboard, mouse, trackball and/or pen-touch events, that it receives to the remote computer 240 thereby to remotely control the remote computer 240 (step 339 ).
  • the time required to transmit the screen display data to the master computer 238 is reduced.
  • compressing the screen display data and only transmitting differences between screen display data reduces the amount of screen display data that needs to be transmitted to the master computer 238 during screen sharing. This of course reduces the required transmission bandwidth required for screen sharing and thus, decreases latency.
  • the peer-to-peer wireless connection is established between the master computer 238 and the remote computer 240
  • file sharing between the master computer 238 and the remote computer 240 can also be carried out.
  • one or more shared directories are set up on the master computer 238 with appropriate access right settings for the user of the remote computer 240 .
  • the user of the remote computer 240 can then open the shared directories and access the files therein.
  • shared directories can also be set up on the remote computer 240 with appropriate access right settings for the user of the master computer 238 and/or for users of other remote computers 240 .
  • the user of the master computer 238 or other remote computer 240 can similarly open the shared directories and access the files therein.
  • the LinQLauncher.exe application can be configured to send files directly to and from the master and other remote computers 238 and 240 respectively.
  • the user of the remote computer 240 may also be allowed to access the Internet through the master computer 238 .
  • the master computer 238 must be connected to the Internet via a wired or wireless local area network, dial-up network or other suitable type of network.
  • Internet access requests initiated by the remote computer 240 are transmitted to the master computer 238 over the peer-to-peer wireless connection.
  • the master computer 238 in response to received Internet access requests sends the received Internet access requests either directly to the Internet or indirectly to the Internet via a proxy server.
  • Responses returned from the Internet that are received directly by the master computer 238 or indirectly by the master computer 238 from the proxy server are returned to the remote computer 240 over the peer-to-peer wireless connection.
  • the plug-and-play device 236 can be unplugged from the remote computer 240 and removed.
  • the remote computer 240 notifies the LinQLauncher.exe application (step 344 ).
  • the LinQLauncher.exe application in turn stops the screen sharing, disconnects the peer-to-peer wireless connection with the master computer 238 , terminates the execution of the LinQ software application, deletes the files in the temporary directory on the remote computer 240 that were copied from the storage 276 , and then terminates the execution of itself (step 348 ).
  • other clean up tasks such as removing items in the system registry that were written by the LinQ software application when it was launched may also be performed upon the disconnection of the plug-and-play device 236 from the remote computer 240 .
  • FIG. 4 shows the master computer 238 communicating with a single remote computer 240 over a peer-to-peer wireless connection
  • the master computer 238 may communicate with a plurality of remote computers 240 over peer-to-peer wireless connections via respective plug-and-play interfaces 236 .
  • compressed screen display data transmitted by one remote computer 240 to the master computer 238 may also be shared by the master computer 238 with one or more other remote computers 240 .
  • a remote computer 240 establishes a connection to the master computer 238 over a peer-to-peer wireless connection and a peer-to-peer wireless connection between the master computer 238 and another remote computer 240 already exists over which screen display data is being shared, the master computer 238 can automatically share the screen display data with the newly connected remote computer 240 .
  • Control commands initiated on the newly connected remote computer 240 that are sent to the master computer 238 may be sent to the remote computer that is sharing its screen display data to remotely manipulate its operation provided that remote computer has enabled remote control.
  • the remote computer 240 is described as loading the wireless transceiver driver at step 328 when the LinQLauncher.exe application is loaded from storage 276 , if desired, the driver for the wireless transceiver 260 may be loaded at step 318 when the driver for the plug-and-play device 236 which is recognized as a mass storage device is being loaded.
  • the master computer 238 can be connected to an interactive input system 228 of one of the types described previously as shown in FIG. 7 .
  • shared screen display data received by the master computer 238 can be presented on the touch surface 246 of the interactive input system 228 via a projection device 244 that is connected to the master computer 238 by a physical cable 248 allowing a user to interact with the shared screen display data through pointer contacts with the touch surface 246 .
  • plug-and-play device 236 may be changed.
  • the plug-and-play device 236 is shown as being connected to the remote computer 240 via cable segment 268
  • the plug-and-play device 236 alternatively may take the form of a dongle similar to a USB flash drive or the like that plugs directly into the remote computer 240 .
  • the LinQ software application may be configured to direct the remote computer 240 to use its wireless network card to establish a wireless connection between the remote computer 240 and the master computer 238 over existing network infrastructure.
  • FIG. 8 illustrates yet another embodiment of a system or network 420 of operatively connected components. Similar to the embodiment of FIG. 4 , system 420 comprises a plug-and-play device 436 , a master computer 438 and at least one remote computer 440 .
  • the plug-and-play device 436 is physically connected to both the remote computer 440 and the master computer 438 .
  • the plug-and-play device 436 enables bi-directional transmission of screen display and remote control data in real-time between the master computer 438 and remote computer 440 by automatically launching software stored on the plug-and-play device 436 .
  • the master computer 438 runs a mobile device manager application to accept and manage connections from the remote computer 440 , provide bidirectional screen sharing functionality, allow remote control from the remote computer 440 , and optionally, provide the remote computer 440 with Internet access.
  • the plug-and-play device 436 comprises an interface 456 in the form of a USB interface to computing device adapter and an interface 464 also in the form of a USB interface to computing device adapter.
  • the interface 456 comprises a port (not shown) to receive a cable segment 460 that extends and connects to the master computer 438 .
  • the interface 464 also comprises a port (not shown) to receive a cable segment 468 that extends and connects to the remote computer 440 .
  • the plug-and-play device 436 also comprises a controller 472 in the form of a USB host-to-host controller, and a USB hub 478 .
  • the USB host-to-host controller 472 allows bi-direction screen data sharing in real-time between the remote computer 440 and the master computer 438 .
  • the interface 456 is in communication with the USB hub 478 and the interface 464 is in communication with the USB host-to-host controller 472 .
  • the USB hub 478 communicates with the USB host-to-host controller 472 .
  • storage 476 for example flash memory, solid-state memory or other suitable computer memory.
  • the storage 476 is configured to store and automatically launch software applications thereon via an autorun feature that the operating system of the remote computer 440 supports.
  • the storage 476 is configured to operate in accordance with a mass storage device that defines itself as a CD ROM. Similar to the previous embodiment, storage 476 stores the executable LinQLauncher.exe application.
  • the remote computer 440 queries the plug-and-play device 436 to determine what functionality is provided by the plug-and-play device 436 (step 502 ). In response to this query, the plug-and-play device 436 determines that it supports the mass storage device and USB host-to-host controller and returns this functionality information to the remote computer 440 .
  • the remote computer 440 upon receiving the functionality information from the plug-and-play device 436 , determines that mass storage device and USB host-to-host controller functionality for the plug-and-play device 436 is available (step 503 ). The remote computer 440 then loads at least the driver for the mass storage device recognized by its operating system and initializes the plug-and-play device 436 (step 504 ). The remote computer 440 then assigns the plug-and-play device 436 which is recognized as a mass storage device, the next available drive letter (step 505 ).
  • the remote computer 440 is configured as the majority of computers are by default; that is, the remote computer 440 is configured to search the mass storage devices for a file name that will direct the remote computer 440 to automatically execute instructions contained therein upon connection to the mass storage device.
  • the remote computer 440 queries the plug-and-play device 436 for the autorun.inf file and upon receiving the autorun.inf file, loads and executes the instructions contained therein (step 506 ).
  • the autorun.inf file contains a pointer to the executable launcher application, LinQLauncher.exe stored in storage 476 .
  • the remote computer 440 uses the pointer to load a LinQ software application from the storage 476 (step 507 ).
  • the LinQLauncher.exe application directs the remote computer 440 to copy all necessary files of the LinQ software application from storage 476 to a temporary directory on the remote computer 440 and then start the LinQ software application (step 508 ).
  • the LinQ software application is used for setting up and managing the connection on the remote computer 440 , screen sharing and other communications between the remote computer 440 and the master computer 438 .
  • the mass storage device functionality of the plug-and-play device 436 is only exposed to the remote computer 440 .
  • the mobile device manager software application running on the master computer 438 detects the insertion of cable segment 460 and communicates with it through a pre-installed driver on the master computer 438 .
  • the LinQ software application on the remote computer 440 finds the master computer 438 and establishes a USB host-to-host data channel between the remote computer 440 and master computer 438 and automatically connects to the mobile device manager software application running on the master computer 438 (step 509 ).
  • the mobile device manager software application running on the master computer 438 manages the connection on the master computer 438 .
  • the remote computer 440 may send a request to share the screen display data of the remote computer 440 with the master computer 438 . If a request to share the screen display data is sent to the master computer 438 and accepted, the screen display data of the remote computer 440 is compressed, sent to the master computer 438 and displayed on the screen of the master computer 438 .
  • the master computer 438 passes input events, such as keyboard, mouse, trackball and/or pen-touch events, that it receives to the remote computer 440 thereby to remotely control the remote computer 440 (step 510 ).
  • the advantage of compressing the screen display data of the remote computer 440 before sending it to the master computer 438 is that the amount of data required to be transmitted to the master computer 438 is reduced. This of course reduces the transmission bandwidth and latency required for screen sharing.
  • the remote computer 440 automatically receives the compressed screen display data from the master computer 438 , decompresses it and displays it on its display screen. Also, control commands initiated on the other remote computer 440 may be sent to the master computer 438 and then to the remote computer 440 to enable operation of the remote computer 440 to be remotely controlled provided the remote computer has enabled remote control.
  • the remote computer 440 can be configured to display the master computer desktop image on its display screen and pass input events, such as keyboard, mouse, trackball and/or pen-touch events that it receives to the master computer 438 to remotely control the master computer 438 provided the master computer has enabled remote control.
  • input events such as keyboard, mouse, trackball and/or pen-touch events that it receives to the master computer 438 to remotely control the master computer 438 provided the master computer has enabled remote control.
  • the user of the remote computer 440 may also be allowed to access Internet through the master computer 438 .
  • the master computer 438 must be connected to the Internet via a wired or wireless local area network, dial-up network or any other type of network.
  • Internet access requests initiated by the remote computer 440 are transferred to the master computer 438 .
  • Responses returned from the Internet that are received directly by the master computer 438 or indirectly by the master computer 438 from the proxy server are returned to the remote computer 440 .
  • the plug-and-play device 436 can be unplugged from the remote computer 440 and removed.
  • the remote computer 440 notifies the LinQLauncher.exe application (step 511 ).
  • the LinQLauncher.exe application in turn stops the screen sharing, disconnects the connection with the master computer 438 , terminates the execution of the LinQ software application, deletes the files in the temporary directory on the remote computer 440 that were copied from the storage 476 , and then terminates the execution of itself (step 512 ).
  • other clean up tasks for example removing items in the system registry that were written by the LinQ software application when it was launched, may be performed upon the disconnection of the plug-and-play device 436 from the remote computer 440 .
  • the mass storage device functionality of the plug-and-play device 36 is exposed to both the master and remote computers 438 and 440 so that the LinQ software application is automatically launched on both the master and remote computers 438 and 440 respectively.
  • the LinQ software application launched on the master computer 438 closes itself so the mobile device manager software can communicate with the USB host-to-host controller 472 .
  • the LinQ software application finds the master computer 438 and establishes the USB host-to-host data channel and automatically connects to the mobile device manager software application running on the master computer 438 (step 309 ).
  • the mobile device manager software application running on the master computer 438 manages the connection on the master computer 438 .
  • the master computer 438 can be connected to an interactive input system 228 of one of the types described previously as shown in FIG. 11 .
  • shared screen display data received by the master computer 438 can be presented on the touch surface 246 of the interactive input system 228 via a projection device 244 that is connected to the master computer 438 by a physical cable 248 allowing a user to interact with the shared screen display data through pointer contacts with the touch surface 246 .
  • the computers are described as using the autorun.inf file to perform auto-execution.
  • auto-execution methods such as for example Autoplay may be employed.
  • the plug-and-play devices use cable segments to connect to the remote computers and master computers, if desired, the cable segments may be retractably accommodated by the plug-and-play devices.
  • the remote computers may be directed to use their wireless network cards to establish an Internet connection over existing network infrastructure.
  • the system can be any one of a number of other devices, such as cameras, sound systems, mice, keyboards, printers, displays, etc.
  • the plug-and-play device is a sound system
  • the settings can include the output volumes for each speaker that has been previously calibrated to desired levels for the set configuration.
  • LCD projector has been described as projecting image data on the touch panel, those of skill in the art will appreciate that other devices such as with an LCD displays, plasma displays, cathode ray tubes, or other display devices known to those of skill in the art may be used to generate images that are presented on the touch panel.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Information Transfer Systems (AREA)

Abstract

A plug-and-play device comprises a first plug-and-play interface for establishing a connection with a first computing device and a second plug-and-play interface for establishing a connection with a second computing device. Storage stores code that is automatically executed by the second computing device when the plug-and-play device is connected to the second computing device via the second plug-and-play interface. The code when executed by the second computing device initiates a screen display data exchange between the first and second computing devices through the plug-and-play device. A controller controls the first plug-and-play interface, the second plug-and-play interface and the storage.

Description

    RELATED APPLICATION
  • The subject application is a continuation-in-part of U.S. patent application Ser. No. 11/420,600 to Hill et al. filed on May 26, 2006 for an invention entitled “Plug-And-Play Device And Method Of Using The Same”, the contents of which are incorporated herein by reference.
  • FIELD
  • The subject application relates generally to computer peripheral devices and, more specifically, to a plug-and-play device and a method of using the same.
  • BACKGROUND
  • Plug-and-play devices are well known and many types of plug-and-play standards exist, including for example universal serial bus (“USB”), IEEE1394 (“FireWire”) and PCMCIA (“PC Card”), with the most common being USB. Such plug-and-play devices have a set of functionality that is accessible to a computer through a plug-and-play interface. The functionality of common plug-and-play devices can include, but is not limited to, storage, input registration, image capturing, audio input and output, etc. The sets of functionality available on common plug-and-play devices are pre-defined as device classes. Upon connection of a plug-and-play device to a computer, an electronic circuit is completed and the operating system of the computer is alerted to the connection. The operating system in response polls the plug-and-play device to determine what functionality is available on the plug-and-play device.
  • Many operating systems possess a number of pre-loaded drivers for generic plug-and-play device classes, such as USB mass storage, a two-button mouse, etc. If the operating system is in possession of a driver for the device class of the plug-and-play device connected to the computer, the computer loads the driver so that the functionality of the plug-and-play device can be accessed by the computer. If the operating system does not possess a driver corresponding to the device class of the plug-and-play device, the operating system typically prompts the user to install the appropriate software to enable the computer to access the functionality of the plug-and-play device.
  • U.S. Patent Application Publication No. 2004/0205778 to Wong et al. discloses a peripheral device that includes driver storage. The peripheral device connects to a computer via a plug-and-play interface and cycles through the emulation of a number of plug-and-play device classes recognized by the operating system until one is found that permits auto-execution of a driver installation program.
  • U.S. Patent Application Publication No. 2005/0038934 to Gotze et al. discloses a USB-based peripheral printer that can be conditioned between two modes. In a first mode, the printer emulates USB mass storage to permit installation of drivers stored in memory of the printer on a computer to which the printer is connected. Once the drivers are installed on the computer, the printer is conditioned to a second mode, in which the printer behaves as a printer.
  • The need to install software/drivers can be undesirable in a number of situations, such as where a user does not possess administrative rights for the computer or simply does not desire to install yet more software on the computer, especially where connection of the plug-and-play device to the computer is infrequent or a one-time affair. Installing software may also prove to be a difficult or complicated task. For example, the user may need to download software from the Internet or may need to locate media upon which the software/drivers are located.
  • When the plug-and-play device is a touch panel, calibration to map the coordinate system of the input field of the touch panel to the display coordinate system of the computer to which the plug-and-play device is connected is typically required in order to ensure proper registration of touch input. Following the calibration process, the calibration settings are registered and stored by the computer. Unfortunately, because the computer stores the calibration settings, when the touch panel is plugged into a computer to which it was not previously connected, the calibration process must be carried out again in order to establish the calibration settings on the new computer.
  • SUMMARY
  • Accordingly, in one aspect there is provided a plug-and-play device comprising: a first plug-and-play interface for establishing a connection with a first computing device; a second plug-and-play interface for establishing a connection with a second computing device; storage storing code that is automatically executed by the second computing device when said plug-and-play device is connected thereto via said second plug-and-play interface, said code when executed initiating a screen display data exchange between said first and second computing devices; and at least one controller controlling said first plug-and-play interface, said second plug-and-play interface and said storage.
  • In one embodiment, the first plug-and-play interface comprises a wireless transceiver and establishes a wireless connection with the first computing device. The wireless connection may be a secure wireless connection. In this case, the storage further stores at least one of at least one key, at least one biometric and at least one code that is used to establish the secure wireless connection. The plug-and-play device further comprises a physical connection to the second computing device. The physical connection may be in the form of a universal serial bus cable or the plug-and-play device may be configured as a dongle.
  • In another embodiment, the plug-and-play device comprises a physical connection to the first computing device and a physical connection to the second computing device. Each physical connection may be in the form of a universal serial bus cable.
  • The screen display data exchange may comprise transmission of second computing device display screen data to the first computing device. The second computing device display screen data is compressed prior to transmission to the first computing device. Differences between previously transmitted second computing device display screen data and current second computing device display screen data are transmitted. The code when executed may also permit file sharing between the first and second computing devices through the plug-and-play device.
  • The screen display data exchange alternatively may comprise transmission of first computing device display screen data to the second computing device. Similarly, the first computing device display screen data is compressed prior to transmission to the second computing device. Differences between previously transmitted first computing device display screen data and current first computing device display screen data are transmitted.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Embodiments will now be described with reference to the accompanying drawings in which:
  • FIG. 1 shows a plug-and-play device comprising a touch panel, a controller and a cable, coupled to a computer;
  • FIG. 2 is a schematic diagram of the cable of FIG. 1;
  • FIG. 3 is a flow chart of the general operation of the plug-and-play device of FIG. 1;
  • FIG. 4 shows another plug-and-play device allowing for screen sharing between a master computer and a remote computer;
  • FIG. 5 is a schematic diagram of the plug-and-play device of FIG. 4;
  • FIG. 6 is a flow chart of the general operation of the plug-and-play device of FIG. 4;
  • FIG. 7 shows the plug-and-play device of FIG. 4 with a touch panel and projector communicating with the master computer;
  • FIG. 8 shows yet another plug-and-play device allowing for bi-direction screen sharing between a master computer and a remote computer;
  • FIG. 9 is a schematic diagram of the plug-and-play device of FIG. 8;
  • FIG. 10 is a flow chart of the general operation of the plug-and-play device of FIG. 8; and
  • FIG. 11 shows the plug-and-play device of FIG. 8 with a touch panel and projector communicating with the master computer.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS
  • Turning now to FIG. 1, a system or network 20 of operatively connected components is illustrated. As can be seen, system 20 comprises a plug-and-play (PnP) device 24 for receiving and digitizing input. In this embodiment, the plug-and-play device 24 comprises an interactive input system that includes a touch panel 28, a controller 32 and a cable 36. Touch panel 28 may be of the type employing analog resistive or machine vision technology to register pointer input such as those disclosed in U.S. Pat. Nos. 5,448,263; 6,141,000; 6,337,681; 6,747,636; 6,803,906; 7,232,986; 7,236,162; and 7,274,356 and in U.S. Patent Application Publication No. 2004/0179001 assigned to SMART Technologies ULC of Calgary, Alberta, Canada, assignee of the subject application, the contents of which are incorporated by reference. Alternatively, touch panel 28 may be of the type employing electromagnetic, capacitive, acoustic or other technologies to register pointer input. The controller 32 controls the operation of the touch panel 28 and is in communication with a computer 40 via the cable 36. The computer 40 is also connected to a projection unit 44 such as for example, a liquid crystal display (LCD) projector, via a video graphics array (VGA) cable 48 and controls the LCD projector 44. In response to image data received from the computer 40, the LCD projector 44 projects images onto a touch surface 46 of the touch panel 28. The LCD projector 44 may be positioned in front of or behind the touch panel 28.
  • The touch panel 28 provides a user with the ability to interact with the image projected onto the touch surface 46 of the touch panel 28 and inject input into an application program running on the computer 40 using an active pointer (e.g. a pointer that emits light, sound or other signal) or a passive pointer (e.g. a finger, cylinder or other object). Although the touch panel 28 requires no extra software other than that provided by the operating system of the computer 40 in order to work as a mouse, the functionality of the touch panel 28 can be greatly enhanced by additional software not available on the operating system of the computer 40, as will be described below.
  • The controller 32 comprises a processor (not shown) that executes firmware stored in non-volatile storage. Generally, the firmware causes the controller 32 to operate in one of two operational modes. In an initial mode, the controller 32 operates two USB profiles, namely an absolute mouse human interface device (“HID”) profile and a SMARTBoard HID profile. The absolute mouse HID profile enables the controller 32 to relay absolute position information for a pointer contacting the touch surface 46 of the touch panel 28 along with basic mouse functions. The SMARTBoard HID profile is a device class that enables enhanced functionality for the touch panel 28. The enhanced functionality comprises all of the functionality available in the absolute mouse HID device class as well as inking information, additional tool information (buttons, eraser, pen selection, etc.) and two-way communications with the controller 32. In a “native” operating mode, the controller 32 terminates the absolute mouse HID profile and only operates the SMARTBoard HID profile.
  • The components of the cable 36 are better illustrated in FIG. 2. As can be seen, the cable 36 comprises a USB hub component 52 having a USB interface 56 for connection to a USB cable segment 60 that extends to the touch panel 28, and a USB interface 64 for connection to a USB cable segment 68 that extends to the computer 40. Both USB interfaces 56, 64 are in communication with a USB hub 72. Also in communication with the USB hub 72 is storage 76, namely flash memory, solid-state memory or other suitable computer memory. The storage 76 is configured to operate in accordance with a mass storage device and defines itself as compact disk read only memory (CD-ROM) according to the compact disk (“CD”) HID profile. Storage 76 stores a set of software applications, including a user application (SMARTBoardTools.exe), a service application (SMARTBoardService.exe), a launcher application (SBLauncher.exe), a calibration application (SMARTBoardCalibrate.exe) and an autorun feature (autorun.inf) for a Windows® operating system file that references the launcher application. Further, the storage 76 stores calibration settings associated with the configuration of the system 20. In particular, the calibration settings include data for mapping touch coordinates generated by the touch panel 28 in response to pointer contacts with the touch surface 46 to the display coordinate system of the computer 40.
  • The SMARTBoardTools.exe user application permits a richer set of features than basic mouse functionality. In this embodiment, the SMARTBoardTools.exe user application contains a number of presentation applications, integration into popular drawing and presentation applications, and an application to allow users to ink over documents in any application or over the desktop of the graphical user interface of the computer 40 that is projected and displayed on the touch surface 46 of the touch panel 28.
  • The method of operation of the plug-and-play device 24, when the plug-and-play device 24 is connected to a new computer 40 that has not been previously connected to the plug-and-play device, is shown in FIG. 3. When a session is commenced and the plug-and-play device 24 is connected to the computer 40 (step 104), and the connection of the plug-and-play device 24 to the computer 40 is detected by the operating system of the computer 40, the computer 40 queries the plug-and-play device 24 to determine what functionality is provided by the plug-and-play device 24 (step 108). As the USB hub 72 is connected to storage 76 as well as the controller 32, the USB hub 72 queries both the storage 76 and the controller 32 to determine what profiles are available. In this embodiment, the storage 76 responds by indicating that it supports the CD HID profile. The controller 32, in the initial mode, responds by indicating that it supports the absolute mouse HID profile and the SMARTBoard HID profile.
  • The computer 40, upon receiving the available HID profiles, detects that functionality corresponding to the absolute mouse HID profile, the SMARTBoard HID profile and CD HID profile is available (step 112). The computer 40 then loads the drivers for the devices recognized by the operating system for which the operating system has drivers, in this example the absolute mouse HID and CD HID (step 116). As each of these sets of functionality is detected by the computer 40, the computer 40 recognizes them as separate devices. The computer 40 does not load the SMARTBoard HID profile as the operating system of the computer 40 does not possess a corresponding driver. The computer 40 then assigns the plug-and-play device 24 which is recognized as a CD HID device, the next available drive letter (step 120).
  • Computer 40 is configured as the majority of computers are by default; that is, the computer 40 is configured to search CD HID devices for an autorun.inf file that will direct the computer 40 to automatically execute a specific application upon connection to a CD HID device. Accordingly, the computer 40 queries the plug-and-play device 24 that has been recognized as a CD HID device for an autorun.inf file and upon receiving the autorun.inf file, loads and executes the instructions contained therein (step 124). The autorun.inf file is used by the Microsoft Windows® family of operating systems to execute, under certain conditions, the instructions contained therein upon detection of certain types of storage devices. For example, under certain conditions, the autorun.inf file is executed when a CD-ROM disk, containing the autorun.inf file, is inserted into the bay of a CD-ROM drive. Execution typically begins without delay after the information in the autorun.inf file becomes available to or is recognized by the computer operating system.
  • The autorun.inf file contains a pointer to the executable launcher application, SBLauncher.exe. Upon parsing the autorun.inf file, the computer 40 uses the pointer to obtain the SBLauncher.exe launcher application from the storage 76, along with a set of corresponding dynamic link libraries (“DLLs”), and executes the SBLauncher.exe launcher application (step 128). The SBLauncher.exe launcher application, when executed, directs the computer 40 to copy the SMARTBoardTools.exe user application and the SMARTBoardService.exe service application, along with some associated DLLs, from the storage 76 to a temporary directory on the computer 40 and then execute the SMARTBoardTools.exe user and SMARTBoardService.exe service applications (step 132). Upon execution of the SMARTBoardService.exe service application, the SBLauncher.exe launcher application terminates execution and the SMARTBoardService.exe service application directs the computer 40 to send a command to the controller 32 to switch the controller to the SMARTBoard HID mode (step 136).
  • Upon launch, the SMARTBoardTools.exe user application queries and obtains from storage 76 the calibration settings and other settings (step 140). The calibration settings enable the SMARTBoardTools.exe user application to map touch input generated by the touch panel 28 in response to pointer contacts with the touch surface 46 to the display coordinate system of the computer 40. The other settings include pen tray settings, COM port settings, contact filter settings and user settings for software applications. All of these settings are stored in a standard Windows® INI file. Further, several XML files are used to store layout and menu settings for various applets forming part of the SMARTBoardTools.exe user application. These applets provide a floating window of toolbuttons for accessing various functionality, an on-screen keyboard, etc. These layout and menu settings are stored in XML files in the storage 76 of the plug-and-play device 24, and are loaded and saved in a directory (“C:\Documents and Settings\<user name>\Application Data\SMART Technologies\SMARTBoard Software\”) during execution of the SMARTBoardTools.exe user application, where <user name> is the login name of the current user.
  • Upon obtaining the calibration settings, the SMARTBoardTools.exe user application maps touch input generated by the touch panel 28 in response to pointer contacts with the touch surface 46 to the display coordinate system of the computer 40. In this manner, the user is able to interact effectively with the image projected onto the touch surface 46 of the touch panel 28 by the LCD projector 44. During execution, some settings are stored in the “HKEY_CURRENT_USER” key of the registry and, in particular, in the “Software\SMART Technologies\SMARTBoard Software\” subkey. These settings include application window positions, user settings for each application and a list of recently used files. The “HKEY_CURRENT_USER” key is used as there are generally no restrictions on modifications made to this key. In addition, if there are no access restrictions on the “HKEY_LOCAL_MACHINE” key, spell checker settings are written there.
  • Upon termination of the session, the computer 40 can be unplugged from the plug-and-play device 24 and removed. When the plug-and-play device 24 is disconnected from the computer 40, the computer 40 notifies the SBLauncher.exe launcher application (step 144). The SBLauncher.exe launcher application in turn proceeds to terminate execution of and delete the SMARTBoardTools.exe user application, the SMARTBoardService.exe service application, the various related DLLs and settings from the temporary locations on the computer 40 and then does the same for itself (step 148). Before termination of the SBLauncher.exe launcher application, the SBLauncher.exe launcher application writes the user settings stored in the “C\Documents and Settings\<user name>\Application Data\SMART Technologies Inc.\SMARTBoard Software\” directory to XML files which it then stores in storage 76 of the plug-and-play device 24. The SBLauncher.exe launcher application then deletes the user settings from the directory and those stored in the registry. Once the settings and files are deleted from the computer 40, the SBLauncher.exe launcher application places an entry in the HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce registry key which tells Windows to delete the SBLauncher.exe launcher application when the user logs in next, and then terminates execution. If the user stops the SMARTBoard software by closing the SMARTBoardTools.exe user application, then the SBLauncher.exe launcher application executes the instance of itself found in the storage 76 of the plug-and-play device 24. Upon execution of the SBLauncher.exe launcher application instance from the plug-and-play device 24, the instance of the SBLauncher.exe launcher application stored on the computer 40 is deleted.
  • As noted above, in order for touch input generated by the touch panel 28 in response to pointer contacts with the touch surface 46 to be mapped to the display coordinate system of the computer 40, the system 20 is calibrated. As the spatial relation between the image projected onto the touch surface 46 of the touch panel 28 by the LCD projector 44 and the touch panel 28 changes only when the LCD projector 44 and the touch panel 28 are moved relative to one another, calibration is generally performed after the touch panel 28 and LCD projector 44 are fixed at a location. In order to calibrate the system 20, the SMARTBoardCalibrate.exe calibration application is launched. Once the SMARTBoardCalibrate.exe calibration application is launched, the user is prompted to touch a number of points on the image that is projected onto the touch surface 46 of the touch panel 28. The resulting touch panel output is used to determine calibration settings which map the raw touch coordinates generated by the touch panel 28 in response to the pointer contacts on the touch surface 46 to the display coordinate system of the computer 40. The calibration settings are then recorded in the Windows® INI file so that they can be used by other computers to map raw touch coordinates generated by the touch panel 28 in response to the pointer contacts on the touch surface 46 to the display coordinate system of the computer 40. This process allows for calibration at system installation and subsequent use of the calibration settings by all users of the system 20.
  • Turning now to FIG. 4, another system or network 220 of operatively connected components is shown. As can be seen, system 220 comprises a plug-and-play device 236, a master computer 238 and at least one remote computer 240. The plug-and-play device 236 is physically connected to the remote computer 240 and communicates with the master computer 238 over a wireless communications link. In this embodiment, plug-and-play device 236 captures and compresses screen display data generated at the remote computer 240 and allows screen sharing between the remote computer 240 and the master computer 238 by automatically launching software stored on the plug-and-play device 236.
  • In this embodiment, the master computer 238 comprises a wireless communication device 238 a, for example a radio frequency (RF) communication device such as a Bluetooth™, WiFi or other RF adapter, or an infrared (IR) communication device. The master computer 238 also runs a mobile device manager software application to accept and manage connections from the remote computer 240, provide screen sharing functionality, allow remote control from the remote computer 240, and optionally, provide the remote computer 240 with Internet access.
  • The components of the plug-and-play device 236 are better illustrated in FIG. 5. As can be seen, the plug-and-play device 236 comprises an interface 256 in the form of a USB interface to wireless communication device adapter connected to a wireless transceiver 260. Similar to wireless communication device 238 a, the wireless transceiver 260 is, for example, an RF communication device such as a Bluetooth™, WiFi or other RF adapter, or an infrared (IR) communication device. The wireless communication device 238 a and wireless transceiver 260 are paired to enable a peer-to-peer wireless connection between the master computer 238 and the remote computer 240 to be established. The plug-and-play device 236 also comprises an interface 264 in the form of a USB interface to computing device adapter. The interface 264 comprises a port (not shown) to receive a cable segment 268 thereby to enable the physical connection to the remote computer 240 to be made. Both interfaces 256 and 264 are also in communication with a controller 272 in the form of a USB hub.
  • Controller 272 also communicates with storage 276 that is configured to store and automatically launch software applications thereon via an autorun feature that the operating system of the remote computer 240 supports. Similar to the previous embodiment, storage 276 is flash memory, solid-state memory or other non-volatile computer memory. The storage 276 is configured to operate in accordance with a mass storage device and defines itself as compact disk read only memory (CD-ROM). Storage 276 stores an executable launcher application, LinQLauncher.exe and may also store one or more access codes, biometrics or keys to automatically form a secure encrypted and authenticated wireless network connection with the master computer 238.
  • The operation of the system 220, when a peer-to-peer wireless connection between the master computer 238 and the remote computer 240 is established, will now be described with particular reference to FIG. 6. When the plug-and-play device 236 is physically connected to the remote computer 240 via the cable segment 268 (step 304) and the connection of the plug-and-play device 236 is detected by the operating system of the remote computer 240, the remote computer 240 queries the plug-and-play device 236 to determine what functionality is provided by the plug-and-play device 236 (step 308). In particular, the controller 272 queries the wireless transceiver 260 and the storage 276 to determine what profiles or connections are available. In this embodiment, the storage 276 responds by indicating that it supports the mass storage device and the wireless transceiver 260 responds by indicating its device type, interface profile and other parameters such as for example wireless network protocol, wireless network speed, encryption keys, biometrics, etc. The plug-and-play device 236 then returns the determined functionality information to the remote computer 240.
  • The remote computer 240, upon receiving the functionality information from the plug-and-play device 236, determines that mass storage device and wireless communications functionality for the plug-and-play device 236 is available (step 312). The remote computer 240 then loads at least the driver for the mass storage device recognized by its operating system and initializes the plug-and-play device 236 (step 316). The remote computer 240 then assigns the plug-and-play device 236 which is recognized as a mass storage device the next available drive letter (step 320).
  • The remote computer 240, similar to the previous embodiment, is configured as the majority of computers are by default; that is, the remote computer 240 is configured to search mass storage devices for a file name that will direct the remote computer 240 to automatically execute instructions contained therein upon connection to a mass storage device. In this embodiment, the remote computer 240 queries the plug-and-play device 236 for the autorun.inf file and upon receiving the autorun.inf file, loads and executes the instructions contained therein (step 324).
  • The autorun.inf file contains a pointer to the executable launcher application, LinQLauncher.exe stored in the storage 276. Upon parsing the autorun.inf file, the remote computer 240 uses the pointer to load a LinQ software application from the storage 276 (step 328). The LinQLauncher.exe application directs the remote computer 240 to copy all necessary files of the LinQ software application from storage 276 to a temporary directory on the remote computer 240 and then start the LinQ software application (step 332). The LinQ software application is used for setting up and managing the peer-to-peer wireless connection on the remote computer 240, screen sharing and communications between the remote computer 240 and the master computer 238.
  • Upon launch, the LinQ software application loads the necessary driver for the wireless transceiver 260, configures the wireless transceiver 260, finds the master computer 238 and establishes the peer-to-peer wireless connection between the LinQ software application and the mobile device manager application running on the master computer 238 (step 337). The LinQ software application, which manages the peer-to-peer wireless connection on the remote computer 240, then reads the access codes, biometrics or keys from the storage 276. The access codes, biometrics or keys are in turn exchanged with the master computer 238 and used as a parameter to create a secure authenticated and encrypted peer-to-peer wireless connection. The mobile device manager application running on the master computer 238 manages the peer-to-peer wireless connection on the master computer 238. In cases where multiple systems 220 may be operating, an ad-hoc network identifier may be necessary to allow the plug-and-play device 236 to determine the appropriate network to which to connect. In such cases, the ad-hoc network identifier is configured to be read from storage 276 in similar manner to the access codes, biometrics or keys.
  • Once the remote computer 240 is connected to the master computer 238 over the peer-to-peer wireless connection, the remote computer 240 may send a request to share the screen display data of the remote computer 240 to the master computer 238. If a request to share the screen display data is sent to the master computer 238 and accepted, the screen display data displayed on the remote computer 240 is compressed using a suitable compression algorithm such as for example MJPEG compression. The compressed screen display data is then compared with previous screen display data sent to the master computer 238 in the same peer-to-peer wireless connection session to detect differences in the screen display data. The detected differences are then sent to the master computer 238 via the peer-to-peer wireless connection and displayed on the screen of the master computer 238. The master computer 238 passes input events, such as keyboard, mouse, trackball and/or pen-touch events, that it receives to the remote computer 240 thereby to remotely control the remote computer 240 (step 339). As will be appreciated, by compressing the screen display data of the remote computer 240, the time required to transmit the screen display data to the master computer 238 is reduced. Also, compressing the screen display data and only transmitting differences between screen display data, reduces the amount of screen display data that needs to be transmitted to the master computer 238 during screen sharing. This of course reduces the required transmission bandwidth required for screen sharing and thus, decreases latency.
  • When the peer-to-peer wireless connection is established between the master computer 238 and the remote computer 240, those skilled in the art will appreciate that, besides sharing the screen display data of the remote computer 240, file sharing between the master computer 238 and the remote computer 240 can also be carried out. To share files stored on the master computer 238, one or more shared directories are set up on the master computer 238 with appropriate access right settings for the user of the remote computer 240. The user of the remote computer 240 can then open the shared directories and access the files therein. Alternatively, shared directories can also be set up on the remote computer 240 with appropriate access right settings for the user of the master computer 238 and/or for users of other remote computers 240. The user of the master computer 238 or other remote computer 240 can similarly open the shared directories and access the files therein. Further, the LinQLauncher.exe application can be configured to send files directly to and from the master and other remote computers 238 and 240 respectively.
  • With the peer-to-peer wireless connection established between the master computer 238 and the remote computer 240, those skilled in the art will appreciate that the user of the remote computer 240 may also be allowed to access the Internet through the master computer 238. To enable Internet access, the master computer 238 must be connected to the Internet via a wired or wireless local area network, dial-up network or other suitable type of network. With Internet access granted by the master computer 238, Internet access requests initiated by the remote computer 240 are transmitted to the master computer 238 over the peer-to-peer wireless connection. The master computer 238 in response to received Internet access requests sends the received Internet access requests either directly to the Internet or indirectly to the Internet via a proxy server. Responses returned from the Internet that are received directly by the master computer 238 or indirectly by the master computer 238 from the proxy server are returned to the remote computer 240 over the peer-to-peer wireless connection.
  • Upon termination of the session between the remote computer 240 and the master computer 238, the plug-and-play device 236 can be unplugged from the remote computer 240 and removed. When the plug-and-play device 236 is disconnected from the remote computer 240, the remote computer 240 notifies the LinQLauncher.exe application (step 344). The LinQLauncher.exe application in turn stops the screen sharing, disconnects the peer-to-peer wireless connection with the master computer 238, terminates the execution of the LinQ software application, deletes the files in the temporary directory on the remote computer 240 that were copied from the storage 276, and then terminates the execution of itself (step 348). Those skilled in the art will appreciate that other clean up tasks, such as removing items in the system registry that were written by the LinQ software application when it was launched may also be performed upon the disconnection of the plug-and-play device 236 from the remote computer 240.
  • Although FIG. 4 shows the master computer 238 communicating with a single remote computer 240 over a peer-to-peer wireless connection, those of skill in the art will appreciate that this is simply for ease of illustration and that the master computer 238 may communicate with a plurality of remote computers 240 over peer-to-peer wireless connections via respective plug-and-play interfaces 236. In situations where the master computer 238 is communicating with multiple remote computers 240 over peer-to-peer wireless connections, compressed screen display data transmitted by one remote computer 240 to the master computer 238 may also be shared by the master computer 238 with one or more other remote computers 240. In addition, if a remote computer 240 establishes a connection to the master computer 238 over a peer-to-peer wireless connection and a peer-to-peer wireless connection between the master computer 238 and another remote computer 240 already exists over which screen display data is being shared, the master computer 238 can automatically share the screen display data with the newly connected remote computer 240. Control commands initiated on the newly connected remote computer 240 that are sent to the master computer 238 may be sent to the remote computer that is sharing its screen display data to remotely manipulate its operation provided that remote computer has enabled remote control.
  • Although the remote computer 240 is described as loading the wireless transceiver driver at step 328 when the LinQLauncher.exe application is loaded from storage 276, if desired, the driver for the wireless transceiver 260 may be loaded at step 318 when the driver for the plug-and-play device 236 which is recognized as a mass storage device is being loaded.
  • Similar to the embodiment of FIG. 3, if desired, the master computer 238 can be connected to an interactive input system 228 of one of the types described previously as shown in FIG. 7. In this case, shared screen display data received by the master computer 238 can be presented on the touch surface 246 of the interactive input system 228 via a projection device 244 that is connected to the master computer 238 by a physical cable 248 allowing a user to interact with the shared screen display data through pointer contacts with the touch surface 246.
  • Those of skill in the art will appreciate that the physical form of the plug-and-play device 236 may be changed. For example, although the plug-and-play device 236 is shown as being connected to the remote computer 240 via cable segment 268, the plug-and-play device 236 alternatively may take the form of a dongle similar to a USB flash drive or the like that plugs directly into the remote computer 240.
  • In the above embodiment, rather than establishing a peer-to-peer wireless connection, alternatively, the LinQ software application may be configured to direct the remote computer 240 to use its wireless network card to establish a wireless connection between the remote computer 240 and the master computer 238 over existing network infrastructure.
  • FIG. 8 illustrates yet another embodiment of a system or network 420 of operatively connected components. Similar to the embodiment of FIG. 4, system 420 comprises a plug-and-play device 436, a master computer 438 and at least one remote computer 440. The plug-and-play device 436 is physically connected to both the remote computer 440 and the master computer 438. The plug-and-play device 436 enables bi-directional transmission of screen display and remote control data in real-time between the master computer 438 and remote computer 440 by automatically launching software stored on the plug-and-play device 436.
  • The master computer 438, similar to the previous embodiment, runs a mobile device manager application to accept and manage connections from the remote computer 440, provide bidirectional screen sharing functionality, allow remote control from the remote computer 440, and optionally, provide the remote computer 440 with Internet access.
  • The components of the plug-and-play device 436 are better illustrated in FIG. 9. As can be seen, the plug-and-play device 436 comprises an interface 456 in the form of a USB interface to computing device adapter and an interface 464 also in the form of a USB interface to computing device adapter. The interface 456 comprises a port (not shown) to receive a cable segment 460 that extends and connects to the master computer 438. The interface 464 also comprises a port (not shown) to receive a cable segment 468 that extends and connects to the remote computer 440. The plug-and-play device 436 also comprises a controller 472 in the form of a USB host-to-host controller, and a USB hub 478. The USB host-to-host controller 472 allows bi-direction screen data sharing in real-time between the remote computer 440 and the master computer 438. The interface 456 is in communication with the USB hub 478 and the interface 464 is in communication with the USB host-to-host controller 472. The USB hub 478 communicates with the USB host-to-host controller 472.
  • Also in communication with the USB hub 478 is storage 476, for example flash memory, solid-state memory or other suitable computer memory. The storage 476 is configured to store and automatically launch software applications thereon via an autorun feature that the operating system of the remote computer 440 supports. The storage 476 is configured to operate in accordance with a mass storage device that defines itself as a CD ROM. Similar to the previous embodiment, storage 476 stores the executable LinQLauncher.exe application.
  • The operation of the system 440 when a connection between the master computer 438 and the remote computer 440 via the plug-and-play device 436 is established will now be described with particular reference to FIG. 10. When the plug-and-play device 436 is physically connected to the remote computer 440 via the cable segment 468 (step 501) and the connection of the plug-and-play device 436 is detected by the operating system of the remote computer 440, the remote computer 440 queries the plug-and-play device 436 to determine what functionality is provided by the plug-and-play device 436 (step 502). In response to this query, the plug-and-play device 436 determines that it supports the mass storage device and USB host-to-host controller and returns this functionality information to the remote computer 440.
  • The remote computer 440, upon receiving the functionality information from the plug-and-play device 436, determines that mass storage device and USB host-to-host controller functionality for the plug-and-play device 436 is available (step 503). The remote computer 440 then loads at least the driver for the mass storage device recognized by its operating system and initializes the plug-and-play device 436 (step 504). The remote computer 440 then assigns the plug-and-play device 436 which is recognized as a mass storage device, the next available drive letter (step 505).
  • The remote computer 440, similar to the previous embodiments, is configured as the majority of computers are by default; that is, the remote computer 440 is configured to search the mass storage devices for a file name that will direct the remote computer 440 to automatically execute instructions contained therein upon connection to the mass storage device. In this embodiment, the remote computer 440 queries the plug-and-play device 436 for the autorun.inf file and upon receiving the autorun.inf file, loads and executes the instructions contained therein (step 506).
  • The autorun.inf file contains a pointer to the executable launcher application, LinQLauncher.exe stored in storage 476. Upon parsing the autorun.inf file, the remote computer 440 uses the pointer to load a LinQ software application from the storage 476 (step 507). The LinQLauncher.exe application directs the remote computer 440 to copy all necessary files of the LinQ software application from storage 476 to a temporary directory on the remote computer 440 and then start the LinQ software application (step 508). The LinQ software application is used for setting up and managing the connection on the remote computer 440, screen sharing and other communications between the remote computer 440 and the master computer 438.
  • In this embodiment, the mass storage device functionality of the plug-and-play device 436 is only exposed to the remote computer 440. The mobile device manager software application running on the master computer 438 detects the insertion of cable segment 460 and communicates with it through a pre-installed driver on the master computer 438.
  • Upon launch, the LinQ software application on the remote computer 440 finds the master computer 438 and establishes a USB host-to-host data channel between the remote computer 440 and master computer 438 and automatically connects to the mobile device manager software application running on the master computer 438 (step 509). The mobile device manager software application running on the master computer 438 manages the connection on the master computer 438.
  • Once the remote computer 440 is connected to the master computer 438, the remote computer 440 may send a request to share the screen display data of the remote computer 440 with the master computer 438. If a request to share the screen display data is sent to the master computer 438 and accepted, the screen display data of the remote computer 440 is compressed, sent to the master computer 438 and displayed on the screen of the master computer 438. The master computer 438 passes input events, such as keyboard, mouse, trackball and/or pen-touch events, that it receives to the remote computer 440 thereby to remotely control the remote computer 440 (step 510). As mentioned previously, the advantage of compressing the screen display data of the remote computer 440 before sending it to the master computer 438 is that the amount of data required to be transmitted to the master computer 438 is reduced. This of course reduces the transmission bandwidth and latency required for screen sharing.
  • If at the time the remote computer 440 is connected to the master computer 438 and another remote computer 440 in the network is sharing its screen display data with the master computer 438, the remote computer 440 automatically receives the compressed screen display data from the master computer 438, decompresses it and displays it on its display screen. Also, control commands initiated on the other remote computer 440 may be sent to the master computer 438 and then to the remote computer 440 to enable operation of the remote computer 440 to be remotely controlled provided the remote computer has enabled remote control.
  • If desired, the remote computer 440 can be configured to display the master computer desktop image on its display screen and pass input events, such as keyboard, mouse, trackball and/or pen-touch events that it receives to the master computer 438 to remotely control the master computer 438 provided the master computer has enabled remote control.
  • When the connection is established between the master computer 438 and the remote computer 440, those skilled in the art will appreciate that, besides sharing the screen display data of the remote computer 440, file sharing between the master computer 438 and the remote computer 440 can also be carried out. To share files stored on the master computer 438, one or more shared directories are set up on the master computer 438 with appropriate user access right settings for the user of the remote computer 440. The user of the remote computer 440 can then open the shared directories and access the files therein. Alternatively, shared directories can also be set up on the remote computer 440 with appropriate access right settings for the user of the master computer 438 and/or for users of other remote computers 440.
  • With the connection established between the master computer 438 and the remote computer 440, those skilled in the art will appreciate that the user of the remote computer 440 may also be allowed to access Internet through the master computer 438. To enable the Internet access, the master computer 438 must be connected to the Internet via a wired or wireless local area network, dial-up network or any other type of network. With the allowance of Internet access granted by the user of the master computer 438, Internet access requests initiated by the remote computer 440 are transferred to the master computer 438. Responses returned from the Internet that are received directly by the master computer 438 or indirectly by the master computer 438 from the proxy server are returned to the remote computer 440.
  • Upon termination of the session between the remote computer 440 and the master computer 438, the plug-and-play device 436 can be unplugged from the remote computer 440 and removed. When the plug-and-play device 436 is disconnected from the remote computer 440, the remote computer 440 notifies the LinQLauncher.exe application (step 511). The LinQLauncher.exe application in turn stops the screen sharing, disconnects the connection with the master computer 438, terminates the execution of the LinQ software application, deletes the files in the temporary directory on the remote computer 440 that were copied from the storage 476, and then terminates the execution of itself (step 512). Those skilled in the art will appreciate that other clean up tasks, for example removing items in the system registry that were written by the LinQ software application when it was launched, may be performed upon the disconnection of the plug-and-play device 436 from the remote computer 440.
  • In an alternative embodiment, the mass storage device functionality of the plug-and-play device 36 is exposed to both the master and remote computers 438 and 440 so that the LinQ software application is automatically launched on both the master and remote computers 438 and 440 respectively. Because the mobile device manager software application is running on the master computer 438, the LinQ software application launched on the master computer 438 closes itself so the mobile device manager software can communicate with the USB host-to-host controller 472. Upon launch of the LinQ software application on the remote computer 440, the LinQ software application finds the master computer 438 and establishes the USB host-to-host data channel and automatically connects to the mobile device manager software application running on the master computer 438 (step 309). The mobile device manager software application running on the master computer 438 manages the connection on the master computer 438.
  • Similar to the previous embodiments, if desired, the master computer 438 can be connected to an interactive input system 228 of one of the types described previously as shown in FIG. 11. In this case, shared screen display data received by the master computer 438 can be presented on the touch surface 246 of the interactive input system 228 via a projection device 244 that is connected to the master computer 438 by a physical cable 248 allowing a user to interact with the shared screen display data through pointer contacts with the touch surface 246.
  • In the embodiments described above, the computers are described as using the autorun.inf file to perform auto-execution. Those of skill in the art will appreciate that other auto-execution methods such as for example Autoplay may be employed.
  • In the embodiments where the plug-and-play devices use cable segments to connect to the remote computers and master computers, if desired, the cable segments may be retractably accommodated by the plug-and-play devices.
  • In the embodiments of FIGS. 4 to 11, rather than carrying out Internet connections over the connections between the remote computers and master computers, if desired, the remote computers may be directed to use their wireless network cards to establish an Internet connection over existing network infrastructure.
  • While the systems have been described with specificity to USB, other types of plug-and-play architectures can be utilized. For example, those of skill in the art will readily understand how to adapt the systems described herein for use with FireWire and PCMCIA architectures and the like.
  • While embodiments have been described with reference to a touch panel, the system can be any one of a number of other devices, such as cameras, sound systems, mice, keyboards, printers, displays, etc. For example, where the plug-and-play device is a sound system, the settings can include the output volumes for each speaker that has been previously calibrated to desired levels for the set configuration.
  • While an LCD projector has been described as projecting image data on the touch panel, those of skill in the art will appreciate that other devices such as with an LCD displays, plasma displays, cathode ray tubes, or other display devices known to those of skill in the art may be used to generate images that are presented on the touch panel.
  • Although embodiments have been described with reference to the accompanying drawings, those of skill in the art will appreciate that modifications and variations may be made without departing from the spirit and scope thereof as defined by the appended claims.

Claims (47)

1. A plug-and-play device comprising:
a first plug-and-play interface for establishing a connection with a first computing device;
a second plug-and-play interface for establishing a connection with a second computing device;
storage storing code that is automatically executed by the second computing device when said plug-and-play device is connected to said second computing device via said second plug-and-play interface, said code when executed by said second computing device initiating a screen display data exchange between said first and second computing devices through said plug-and-play device; and
at least one controller controlling said first plug-and-play interface, said second plug-and-play interface and said storage.
2. The plug-and-play device of claim 1 wherein the first plug-and-play interface comprises a wireless transceiver and wherein the first plug-and-play interface establishes a wireless connection with said first computing device.
3. The plug-and-play device of claim 2 wherein said wireless connection is a secure wireless connection.
4. The plug-and-play devive of claim 3 wherein said storage further stores at least one of at least one key, at least one biometric and at least one code used to establish said secure wireless connection.
5. The plug-and-play device of claim 2 wherein the second plug-and-play interface receives a physical connection extending to said second computing device.
6. The plug-and-play device of claim 5 wherein said physical connection is a universal serial bus (USB) cable.
7. The plug-and-play device of claim 2 further comprising a physical connection to said second computing device.
8. The plug-and-play device of claim 7 wherein said physical connection is a USB cable.
9. The plug-and-play device of claim 7 wherein said wireless connection is a secure wireless connection.
10. The plug-and-play device of claim 2 wherein the plug-and-play device is configured as a dongle to plug into a port of said second computing device.
11. The plug-and-play device of claim 10 wherein said wireless connection is a secure wireless connection.
12. The plug-and-play device of claim 2 wherein the storage is non-volatile memory.
13. The plug-and-play device of claim 2 wherein the at least one controller is a USB hub.
14. The plug-and-play device of claim 13 further comprising a physical connection to said second computing device.
15. The plug-and-play device of claim 14 wherein said wireless connection is a secure wireless connection.
16. The plug-and-play device of claim 13 wherein the plug-and-play device is configured as a dongle to plug into a port of said second computing device.
17. The plug-and-play device of claim 16 wherein said wireless connection is a secure wireless connection.
18. The plug-and-play device of claim 1 wherein said screen display data exchange comprises transmission of second computing device display screen data to said first computing device.
19. The plug-and-play device of claim 18 wherein the second computing device display screen data is compressed prior to transmission to said first computing device.
20. The plug-and-play device of claim 19 wherein differences between previously transmitted second computing device display screen data and current second computing device display screen data are transmitted.
21. The plug-and-play device of claim 1 wherein said screen display data exchange comprises transmission of first computing device display screen data to said second computing device.
22. The plug-and-play device of claim 21 wherein the first computing device display screen data is compressed prior to transmission to said second computing device.
23. The plug-and-play device of claim 24 wherein differences between previously transmitted first computing device display screen data and current first computing device display screen data are transmitted.
24. The plug-and-play device of claim 18 wherein the code when executed further permits file sharing between said first and second computing devices through said plug-and-play device.
25. The plug-and-play device of claim 21 wherein the code when executed further permits file sharing between said first and second computing devices through said plug-and-play device.
26. The plug-and-play device of claim 2 wherein said screen display data exchange comprises transmission of second computing device display screen data to said first computing device.
27. The plug-and-play device of claim 26 wherein the second computing device display screen data is compressed prior to transmission to said first computing device.
28. The plug-and-play device of claim 27 wherein differences between previously transmitted second computing device display screen data and current second computing device display screen data are transmitted.
29. The plug-and-play device of claim 2 wherein said screen display data exchange comprises transmission of first computing device display screen data to said second computing device.
30. The plug-and-play device of claim 29 wherein the first computing device display screen data is compressed prior to transmission to said second computing device.
31. The plug-and-play device of claim 30 wherein differences between previously transmitted first computing device display screen data and current first computing device display screen data are transmitted.
32. The plug-and-play device of claim 7 wherein said screen display data exchange comprises transmission of second computing device display screen data to said first computing device.
33. The plug-and-play device of claim 32 wherein compresses the second computing device display screen data is compressed prior to transmission to said first computing device.
34. The plug-and-play device of claim 33 wherein differences between previously transmitted second computing device display screen data and current second computing device display screen data are transmitted.
35. The plug-and-play device of claim 7 wherein said screen display data exchange comprises transmission of first computing device display screen data to said second computing device.
36. The plug-and-play device of claim 35 wherein the first computing device display screen data is compressed prior to transmission to said second computing device.
37. The plug-and-play device of claim 38 wherein differences between previously transmitted first computing device display screen data and current first computing device display screen data are transmitted.
38. The plug-and-play device of claim 1 wherein the first plug-and-play interface receives a physical connection extending to said first computing device and wherein the second plug-and-play interface receives a physical connection extending to the second computing device.
39. The plug-and-play device of claim 38 wherein each physical connection is a USB cable.
40. The plug-and-play device of claim 1 further comprising a physical connection to said first computing device and a physical connection to said second computing device.
41. The plug-and-play device of claim 40 wherein each physical connection is a USB cable.
42. The plug-and-play device of claim 40 wherein said screen display data exchange comprises transmission of second computing device display screen data to said first computing device.
43. The plug-and-play device of claim 42 wherein the second computing device display screen data is compressed prior to transmission to said first computing device.
44. The plug-and-play device of claim 43 wherein differences between previously transmitted second computing device display screen data and current second computing device display screen data are transmitted.
45. The plug-and-play device of claim 40 wherein said screen display data exchange comprises transmission of first computing device display screen data to said second computing device.
46. The plug-and-play device of claim 45 wherein the first computing device display screen data is compressed prior to transmission to said second computing device.
47. The plug-and-play device of claim 46 wherein differences between previously transmitted first computing device display screen data and current first computing device display screen data are transmitted.
US12/407,994 2006-05-26 2009-03-20 Plug-and-play device and method of using the same Abandoned US20090198839A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US12/407,994 US20090198839A1 (en) 2006-05-26 2009-03-20 Plug-and-play device and method of using the same
US12/611,408 US20100115145A1 (en) 2006-05-26 2009-11-03 Plug-and-play device and method of using the same
PCT/CA2010/000185 WO2010105335A1 (en) 2009-03-20 2010-02-12 Plug-and-play interface device
EP10753019A EP2409207A4 (en) 2009-03-20 2010-02-12 Plug-and-play interface device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/420,600 US8190785B2 (en) 2006-05-26 2006-05-26 Plug-and-play device and method for enhancing features and settings in an interactive display system
US12/407,994 US20090198839A1 (en) 2006-05-26 2009-03-20 Plug-and-play device and method of using the same

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/420,600 Continuation-In-Part US8190785B2 (en) 2006-05-26 2006-05-26 Plug-and-play device and method for enhancing features and settings in an interactive display system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/611,408 Continuation US20100115145A1 (en) 2006-05-26 2009-11-03 Plug-and-play device and method of using the same

Publications (1)

Publication Number Publication Date
US20090198839A1 true US20090198839A1 (en) 2009-08-06

Family

ID=38778060

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/420,600 Active 2028-05-12 US8190785B2 (en) 2006-05-26 2006-05-26 Plug-and-play device and method for enhancing features and settings in an interactive display system
US12/407,994 Abandoned US20090198839A1 (en) 2006-05-26 2009-03-20 Plug-and-play device and method of using the same

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/420,600 Active 2028-05-12 US8190785B2 (en) 2006-05-26 2006-05-26 Plug-and-play device and method for enhancing features and settings in an interactive display system

Country Status (12)

Country Link
US (2) US8190785B2 (en)
EP (2) EP2485152A1 (en)
JP (1) JP2009538463A (en)
KR (1) KR20090019839A (en)
CN (1) CN101454762B (en)
AU (1) AU2007266223A1 (en)
BR (1) BRPI0712614A2 (en)
CA (1) CA2652717A1 (en)
MX (1) MX2008015010A (en)
NZ (1) NZ572701A (en)
RU (1) RU2444779C2 (en)
WO (1) WO2007137415A1 (en)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040127254A1 (en) * 2002-12-12 2004-07-01 Chang William Ho Device for wireless communication between computing devices
US20090273764A1 (en) * 2008-04-30 2009-11-05 D Alessio Samuel Nicklaus System and Method for Power Control for Information Handling System Peripherals
US20100011138A1 (en) * 2008-07-09 2010-01-14 International Business Machines Corporation Design structure for automated means for determining internet access on a system on a chip
US7805720B2 (en) 2003-04-11 2010-09-28 Flexiworld Technologies, Inc. Autorun for integrated circuit memory component
US20100245294A1 (en) * 2009-03-31 2010-09-30 Piersol Kurt W Annotating Digital Files Of A Host Computer Using Networked Tablet Computers
US20100251106A1 (en) * 2009-03-31 2010-09-30 Barrus John W Annotating Digital Files Of A Host Computer Using A Peripheral Device
US7908401B2 (en) 2002-12-12 2011-03-15 Flexiworld Technology, Inc. Method and device for wireless communication between computing devices
US20110125937A1 (en) * 2009-11-25 2011-05-26 Canon Denshi Kabushiki Kaisha Peripheral device usable without installing driver in computer beforehand
US20110157059A1 (en) * 2009-12-31 2011-06-30 Au Optronics Corporation Touch Display Panel and Touch Sensing Method Thereof
DE102011055443A1 (en) 2011-09-14 2013-03-14 Barco N.V. Electronic tool and procedure for meetings
WO2013037979A1 (en) 2011-09-14 2013-03-21 Barco N. V. Electronic tool and methods for meetings
WO2013037981A1 (en) 2011-09-14 2013-03-21 Barco N.V. Electronic tool and methods for meetings
WO2013037980A2 (en) 2011-09-14 2013-03-21 Barco N.V. Electronic tool and methods with audio for meetings
US20130171982A1 (en) * 2011-12-28 2013-07-04 Cisco Technology, Inc. Method and apparatus for remote secure access to wireless network
WO2013156092A1 (en) 2012-04-18 2013-10-24 Barco N.V. Electronic tool and methods for meetings
US20140013049A1 (en) * 2012-07-06 2014-01-09 Kabushiki Kaisha Toshiba Memory system in which extended function can easily be set
KR101377323B1 (en) * 2012-06-19 2014-03-25 인천대학교 산학협력단 Dongle, dongle module, dongle adapter and device interworking method thereof for commnication based on universal asychronous receiver transmitter
US9083769B2 (en) 2011-09-14 2015-07-14 Barco N.V. Electronic tool and methods for meetings
US9483171B1 (en) * 2013-06-11 2016-11-01 Amazon Technologies, Inc. Low latency touch input rendering
US9515419B2 (en) * 2013-08-14 2016-12-06 Mathew Inskeep High power rechargeable flashlight with two way universal serial BUS
US20170274267A1 (en) * 2016-03-28 2017-09-28 Apple Inc. Sharing updatable graphical user interface elements
US10050800B2 (en) 2011-09-14 2018-08-14 Barco N.V. Electronic tool and methods for meetings for providing connection to a communications network
US10074374B2 (en) 2014-04-07 2018-09-11 Barco N.V. Ad hoc one-time pairing of remote devices using online audio fingerprinting
US20190129681A1 (en) * 2015-06-16 2019-05-02 Guangzhou Shirui Electronics Co. Ltd. Wireless Screen Transmission Method, Extension Device, and Wireless Screen Transmission System
CN109819201A (en) * 2019-03-08 2019-05-28 厦门亿联网络技术股份有限公司 A kind of meeting secondary flow data transmission method, display methods, conference system and peripheral equipment
US20190205275A1 (en) * 2017-12-29 2019-07-04 Barco Nv Method and system for making functional devices available to participants of meetings
US10348724B2 (en) 2014-04-07 2019-07-09 Barco N.V. Ad hoc one-time pairing of remote devices using online audio fingerprinting
US10965480B2 (en) 2011-09-14 2021-03-30 Barco N.V. Electronic tool and methods for recording a meeting
US11258676B2 (en) 2011-09-14 2022-02-22 Barco N.V. Electronic tool and methods for meetings

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850077B2 (en) 2006-06-07 2014-09-30 Xerox Corporation USB portable document services environment
US7979315B2 (en) * 2007-03-14 2011-07-12 Microsoft Corporation Virtual features of physical items
JP5513018B2 (en) 2008-06-27 2014-06-04 キヤノン電子株式会社 Peripheral device and image reading device
US20100030853A1 (en) * 2008-07-09 2010-02-04 Aten International Co., Ltd. Remote desktop control system using usb interface and method thereof
US8521926B2 (en) * 2008-09-25 2013-08-27 Aten International Co., Ltd. Remote desktop control system using USB interface and method thereof
US8516079B2 (en) * 2008-09-25 2013-08-20 Aten International Co., Ltd. Remote desktop control system using USB interface and method thereof
KR20110086060A (en) 2008-10-20 2011-07-27 쓰리엠 이노베이티브 프로퍼티즈 컴파니 Touch systems and methods utilizing customized sensors and genericized controllers
NO332210B1 (en) * 2009-03-23 2012-07-30 Cisco Systems Int Sarl Interface unit between video conferencing codec and interactive whiteboard
KR101097837B1 (en) 2010-06-29 2011-12-23 이지넷소프트(주) Touch screen apparatus using human interface device and operating method thereof
JP2012123690A (en) * 2010-12-09 2012-06-28 Mitsubishi Electric Engineering Co Ltd Monitor system for network
US8549656B2 (en) * 2011-02-11 2013-10-01 Mocana Corporation Securing and managing apps on a device
US9306933B2 (en) 2011-02-11 2016-04-05 Mocana Corporation Ensuring network connection security between a wrapped app and a remote server
US8990920B2 (en) 2011-02-11 2015-03-24 Mocana Corporation Creating a virtual private network (VPN) for a single app on an internet-enabled device or system
US9537869B2 (en) 2011-02-11 2017-01-03 Blue Cedar Networks, Inc. Geographical restrictions for application usage on a mobile device
US8893298B2 (en) 2011-02-11 2014-11-18 Mocana Corporation Network linker for secure execution of unsecured apps on a device
JP5786385B2 (en) * 2011-03-15 2015-09-30 オムロン株式会社 Operation terminal, program and control system
US8973050B2 (en) * 2011-03-22 2015-03-03 Verizon Patent And Licensing Inc. Free-wheel system
DE112011105779B4 (en) * 2011-10-26 2023-08-03 Intel Corporation METHODS, DEVICES, SYSTEMS AND COMPUTER PROGRAM PRODUCTS FOR MULTI-TOUCH INTERFACE SCHEMES
JP6141596B2 (en) 2011-12-27 2017-06-07 セイコーエプソン株式会社 Display device, display system, and data supply method for display device
JP5874401B2 (en) * 2012-01-06 2016-03-02 セイコーエプソン株式会社 Display device, projector, display system, and device switching method
US8832328B2 (en) 2012-03-13 2014-09-09 Qualcomm Incorporated Data redirection for universal serial bus devices
US8677510B2 (en) * 2012-04-06 2014-03-18 Wayne Odom System, method, and device for communicating and storing and delivering data
US9043934B2 (en) * 2012-04-06 2015-05-26 Wayne Odom System, method, and device for delivering communications and storing and delivering data
JP2014021560A (en) * 2012-07-12 2014-02-03 Fluiditech Ip Ltd Cable having composite function
JP6214143B2 (en) * 2012-10-24 2017-10-18 シャープ株式会社 Information processing system and information processing apparatus
CN102981675B (en) * 2012-12-07 2015-09-09 广东威创视讯科技股份有限公司 A kind of multiple point touching data processing method and system thereof
KR102091649B1 (en) * 2013-02-27 2020-03-20 엘지전자 주식회사 Refrigerator
US9672353B2 (en) 2014-04-28 2017-06-06 Blue Cedar Networks, Inc. Securing and managing apps on a device using policy gates
US9824059B2 (en) 2014-08-30 2017-11-21 Microsoft Technology Licensing, Llc Child serial device discovery protocol
EP3619894A4 (en) * 2017-05-01 2020-11-18 Hewlett-Packard Development Company, L.P. Input data switches
US20190347084A1 (en) * 2018-05-10 2019-11-14 Dell Products, Lp Method to Dynamically Create Plug and Play Identifiers in Firmware to Facilitate Deployment of Windows Services
RU2721960C1 (en) * 2019-08-02 2020-05-25 Общество с ограниченной ответственностью "ПИРФ" (ООО "ПИРФ") Computer-implemented method of interaction between components and tasks of operating system through interface bus
US11093256B2 (en) 2019-09-12 2021-08-17 Dell Products L.P. System and method for dynamically installing driver dependencies
US11009995B2 (en) * 2019-10-16 2021-05-18 Qualcomm Incorporated Self-diagnostic methods for refining user interface operations
CN111399678A (en) * 2020-03-06 2020-07-10 广州视源电子科技股份有限公司 Data processing method, device and system, computer storage medium and related equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970145B1 (en) * 1999-11-19 2005-11-29 Ricoh Company, Ltd. Method and apparatus for controlling image-display devices collectively
US20060173980A1 (en) * 2002-11-01 2006-08-03 Shinya Kobayashi Detachable device, control circuit, control circuit firmware program, information processing method and circuit design pattern in control circuit, and log-in method
US7239346B1 (en) * 1999-10-18 2007-07-03 Priddy Dennis G System and architecture that supports a multi-function semiconductor device between networks and portable wireless communications products

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2058219C (en) * 1991-10-21 2002-04-02 Smart Technologies Inc. Interactive display system
US6141000A (en) 1991-10-21 2000-10-31 Smart Technologies Inc. Projection display system with touch sensing on screen, computer assisted alignment correction and network conferencing
US6248083B1 (en) * 1997-03-25 2001-06-19 Radi Medical Systems Ab Device for pressure measurements
US6085265A (en) * 1998-01-09 2000-07-04 Toshiba America Information Systems, Inc. System for handling an asynchronous interrupt a universal serial bus device
JP2000194645A (en) * 1998-12-28 2000-07-14 Toshiba Corp Electronic device and its control method and device
US6529992B1 (en) 1999-07-26 2003-03-04 Iomega Corporation Self-contained application disk for automatically launching application software or starting devices and peripherals
US6704824B1 (en) 1999-07-27 2004-03-09 Inline Connection Corporation Universal serial bus adapter with automatic installation
US6813650B1 (en) * 1999-10-26 2004-11-02 International Business Machines Corporation Multimode non-standard universal serial bus computer input device
US6803906B1 (en) 2000-07-05 2004-10-12 Smart Technologies, Inc. Passive touch system and method of detecting user input
US11467856B2 (en) 2002-12-12 2022-10-11 Flexiworld Technologies, Inc. Portable USB device for internet access service
TW554625B (en) * 2000-12-08 2003-09-21 Silicon Graphics Inc Compact flat panel color calibration system
JP3513147B2 (en) 2002-05-29 2004-03-31 株式会社ハギワラシスコム USB storage device and its control device
JP4245374B2 (en) * 2002-11-01 2009-03-25 株式会社サスライト Detachable device and control circuit
EP1434128A1 (en) 2002-12-27 2004-06-30 Neodio Technologies Corporation Plug-and-play interconnection architecture and method with in-device storage module in peripheral device
US7236161B2 (en) * 2003-03-21 2007-06-26 3M Innovative Properties Company Remote touch simulation systems and methods
US7331051B2 (en) 2003-04-08 2008-02-12 Synology, Inc. System and method for installing portable device drivers
US7256772B2 (en) * 2003-04-08 2007-08-14 Smart Technologies, Inc. Auto-aligning touch system and method
TW200424862A (en) * 2003-05-13 2004-11-16 Ours Technology Inc Usage of USB transmission line
JP2005056088A (en) * 2003-08-01 2005-03-03 Ricoh Co Ltd Display apparatus with touch panel, control method for display apparatus with touch panel, and program for executing the method on computer
DE10336877B3 (en) 2003-08-11 2005-02-17 Infineon Technologies Ag USB-based peripheral device and procedure for commissioning the USB-based peripheral device
US20050055690A1 (en) * 2003-09-10 2005-03-10 Microsoft Corporation System and method for communication between computers via an integrated hardware device
KR20070029125A (en) * 2003-12-15 2007-03-13 마크 이샤코브 Universal multifunctional key for input/output devices
TWI252424B (en) * 2004-04-05 2006-04-01 Genesys Logic Inc Computer operational environment transition system, related devices, method, and computer readable storage medium
US7293117B2 (en) * 2004-06-10 2007-11-06 Microsoft Corporation Self-installing peripheral device with memory wherein in response to user request for additional storage peripheral device being configured to remove installation software stored on memory
JP4209820B2 (en) 2004-07-15 2009-01-14 株式会社ハギワラシスコム Memory card system, write-once memory card used in the memory card system, system comprising host system and semiconductor storage device
US7108191B2 (en) * 2004-10-19 2006-09-19 Data Drive Thru, Inc. Intelligent computer cabling
WO2006054241A2 (en) * 2004-11-19 2006-05-26 Koninklijke Philips Electronics, N.V. Avoiding tv menu negotiation to preset configuration options
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US20070165007A1 (en) 2006-01-13 2007-07-19 Gerald Morrison Interactive input system
US20090069049A1 (en) 2007-09-12 2009-03-12 Devicefidelity, Inc. Interfacing transaction cards with host devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7239346B1 (en) * 1999-10-18 2007-07-03 Priddy Dennis G System and architecture that supports a multi-function semiconductor device between networks and portable wireless communications products
US6970145B1 (en) * 1999-11-19 2005-11-29 Ricoh Company, Ltd. Method and apparatus for controlling image-display devices collectively
US20060173980A1 (en) * 2002-11-01 2006-08-03 Shinya Kobayashi Detachable device, control circuit, control circuit firmware program, information processing method and circuit design pattern in control circuit, and log-in method

Cited By (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10359957B2 (en) 2000-11-01 2019-07-23 Flexiworld Technologies, Inc. Integrated circuit device that includes a secure element and a wireless component for transmitting protected data over short range wireless point-to-point communications
US11829776B2 (en) 2002-12-12 2023-11-28 Flexiworld Technologies, Inc. Integrated circuit device that includes a protected memory component for transmitting protected data over a communication interface
US8595717B2 (en) 2002-12-12 2013-11-26 Flexiworld Technologies, Inc. Memory controller that includes support for autorun of software or data
US11662918B2 (en) 2002-12-12 2023-05-30 Flexiworld Technologies, Inc. Wireless communication between an integrated circuit memory device and a wireless controller device
US8972610B2 (en) 2002-12-12 2015-03-03 Flexiworld Technologies, Inc. Portable communication USB device for providing mobile internet access service or for providing other communication services
US11467856B2 (en) * 2002-12-12 2022-10-11 Flexiworld Technologies, Inc. Portable USB device for internet access service
US7908401B2 (en) 2002-12-12 2011-03-15 Flexiworld Technology, Inc. Method and device for wireless communication between computing devices
US9116723B2 (en) 2002-12-12 2015-08-25 Flexiworld Technologies, Inc. Communication device or media device for providing phone calling service, internet access service, or digital content service
US10963169B2 (en) 2002-12-12 2021-03-30 Flexiworld Technologies, Inc. Integrated circuit device storing protected data for wireless transmitting, over short range wireless communication, the protected data to a wireless computing device
US8533352B2 (en) 2002-12-12 2013-09-10 Flexiworld Technologies, Inc. Method for internet access and for communication
US8296757B2 (en) 2002-12-12 2012-10-23 Flexiworld Technologies, Inc. Copy protection of software and/or data
US20040127254A1 (en) * 2002-12-12 2004-07-01 Chang William Ho Device for wireless communication between computing devices
US9043482B2 (en) 2002-12-12 2015-05-26 Flexiworld Technologies, Inc. Portable communication device for providing phone calling service
US7805720B2 (en) 2003-04-11 2010-09-28 Flexiworld Technologies, Inc. Autorun for integrated circuit memory component
US20090273764A1 (en) * 2008-04-30 2009-11-05 D Alessio Samuel Nicklaus System and Method for Power Control for Information Handling System Peripherals
US7993006B2 (en) * 2008-04-30 2011-08-09 Dell Products L. P. System and method for power control for information handling system peripherals
US20100011138A1 (en) * 2008-07-09 2010-01-14 International Business Machines Corporation Design structure for automated means for determining internet access on a system on a chip
US9134947B2 (en) * 2009-03-31 2015-09-15 Ricoh Company, Ltd. Annotating digital files of a host computer using a peripheral device
US9274624B2 (en) * 2009-03-31 2016-03-01 Ricoh Company, Ltd. Annotating digital files of a host computer using networked tablet computers
US20100251106A1 (en) * 2009-03-31 2010-09-30 Barrus John W Annotating Digital Files Of A Host Computer Using A Peripheral Device
US20100245294A1 (en) * 2009-03-31 2010-09-30 Piersol Kurt W Annotating Digital Files Of A Host Computer Using Networked Tablet Computers
US8312184B2 (en) * 2009-11-25 2012-11-13 Canon Denshi Kabushiki Kaisha Peripheral device usable without installing driver in computer beforehand
US20110125937A1 (en) * 2009-11-25 2011-05-26 Canon Denshi Kabushiki Kaisha Peripheral device usable without installing driver in computer beforehand
US8914558B2 (en) 2009-11-25 2014-12-16 Canon Denshi Kabushiki Kaisha Peripheral device usable without installing driver in computer beforehand
TWI407342B (en) * 2009-12-31 2013-09-01 Au Optronics Corp Touch panel and touch sensing method thereof
US20110157059A1 (en) * 2009-12-31 2011-06-30 Au Optronics Corporation Touch Display Panel and Touch Sensing Method Thereof
US10795832B2 (en) 2011-09-14 2020-10-06 Barco N.V. Electronic tool for communicating over a communication network
US10585814B2 (en) 2011-09-14 2020-03-10 Barco N.V. Electronic tool and methods for meetings for communicating media content from users at a meeting
US8756348B2 (en) 2011-09-14 2014-06-17 Barco N.V. Electronic tool and methods for meetings
DE102011055443A1 (en) 2011-09-14 2013-03-14 Barco N.V. Electronic tool and procedure for meetings
DE202012013297U1 (en) 2011-09-14 2016-02-12 Barco N.V. Electronic tool for meetings
US11792085B2 (en) 2011-09-14 2023-10-17 Barco N.V. Electronic tool and methods for meetings
WO2013037979A1 (en) 2011-09-14 2013-03-21 Barco N. V. Electronic tool and methods for meetings
WO2013037981A1 (en) 2011-09-14 2013-03-21 Barco N.V. Electronic tool and methods for meetings
US11422951B2 (en) 2011-09-14 2022-08-23 Barco N.V. Electronic tool and methods for meetings between two users
US11403237B2 (en) 2011-09-14 2022-08-02 Barco N.V. Electronic tool and methods with audio for meetings
US10050800B2 (en) 2011-09-14 2018-08-14 Barco N.V. Electronic tool and methods for meetings for providing connection to a communications network
US11258676B2 (en) 2011-09-14 2022-02-22 Barco N.V. Electronic tool and methods for meetings
US11216392B2 (en) 2011-09-14 2022-01-04 Barco N.V. Electronic tool and methods for meetings between multiple users
US11151060B2 (en) 2011-09-14 2021-10-19 Barco N.V. Electronic tool and methods for meetings for communicating user selected media content
WO2013037980A2 (en) 2011-09-14 2013-03-21 Barco N.V. Electronic tool and methods with audio for meetings
US10965480B2 (en) 2011-09-14 2021-03-30 Barco N.V. Electronic tool and methods for recording a meeting
US10904103B2 (en) 2011-09-14 2021-01-26 Barco N.V. Electronic tool and methods for meetings
US10762002B2 (en) 2011-09-14 2020-09-01 Barco N.V. Electronic tool and methods with audio for meetings
DE202012013707U1 (en) 2011-09-14 2019-12-09 Barco N.V. Electronic tool for meetings
US9083769B2 (en) 2011-09-14 2015-07-14 Barco N.V. Electronic tool and methods for meetings
US20130171982A1 (en) * 2011-12-28 2013-07-04 Cisco Technology, Inc. Method and apparatus for remote secure access to wireless network
US9722986B2 (en) 2012-04-18 2017-08-01 Barco N.V. Electronic tool and methods for meetings
WO2013156092A1 (en) 2012-04-18 2013-10-24 Barco N.V. Electronic tool and methods for meetings
KR101377323B1 (en) * 2012-06-19 2014-03-25 인천대학교 산학협력단 Dongle, dongle module, dongle adapter and device interworking method thereof for commnication based on universal asychronous receiver transmitter
US20140013049A1 (en) * 2012-07-06 2014-01-09 Kabushiki Kaisha Toshiba Memory system in which extended function can easily be set
US9483171B1 (en) * 2013-06-11 2016-11-01 Amazon Technologies, Inc. Low latency touch input rendering
US9515419B2 (en) * 2013-08-14 2016-12-06 Mathew Inskeep High power rechargeable flashlight with two way universal serial BUS
US10958645B2 (en) 2014-04-07 2021-03-23 Barco N.V. Ad hoc one-time pairing of remote devices using online audio fingerprinting
US10074374B2 (en) 2014-04-07 2018-09-11 Barco N.V. Ad hoc one-time pairing of remote devices using online audio fingerprinting
US10348724B2 (en) 2014-04-07 2019-07-09 Barco N.V. Ad hoc one-time pairing of remote devices using online audio fingerprinting
US20190129681A1 (en) * 2015-06-16 2019-05-02 Guangzhou Shirui Electronics Co. Ltd. Wireless Screen Transmission Method, Extension Device, and Wireless Screen Transmission System
US10922041B2 (en) * 2015-06-16 2021-02-16 Guangzhou Shirui Electronics Co. Ltd. Wireless screen transmission method, extension device, and wireless screen transmission system
CN108604327A (en) * 2016-03-28 2018-09-28 苹果公司 Shared renewable graphical user-interface element
US20170274267A1 (en) * 2016-03-28 2017-09-28 Apple Inc. Sharing updatable graphical user interface elements
US11433290B2 (en) 2016-03-28 2022-09-06 Apple Inc. Sharing updatable graphical user interface elements
US20190205275A1 (en) * 2017-12-29 2019-07-04 Barco Nv Method and system for making functional devices available to participants of meetings
US10684972B2 (en) * 2017-12-29 2020-06-16 Barco Nv Method and system for making functional devices available to participants of meetings
US11966346B2 (en) 2017-12-29 2024-04-23 Barco N.V. Method and system for making functional devices available to participants of meetings
US11966347B2 (en) 2017-12-29 2024-04-23 Barco N.V. Method and system for making functional devices available to participants of meetings
CN109819201A (en) * 2019-03-08 2019-05-28 厦门亿联网络技术股份有限公司 A kind of meeting secondary flow data transmission method, display methods, conference system and peripheral equipment

Also Published As

Publication number Publication date
RU2008151698A (en) 2010-07-10
EP2021931A4 (en) 2009-12-16
US20080005371A1 (en) 2008-01-03
JP2009538463A (en) 2009-11-05
NZ572701A (en) 2011-12-22
MX2008015010A (en) 2009-02-06
EP2485152A1 (en) 2012-08-08
BRPI0712614A2 (en) 2012-10-23
RU2444779C2 (en) 2012-03-10
EP2021931A1 (en) 2009-02-11
US8190785B2 (en) 2012-05-29
WO2007137415A1 (en) 2007-12-06
KR20090019839A (en) 2009-02-25
CN101454762B (en) 2013-06-12
AU2007266223A1 (en) 2007-12-06
CA2652717A1 (en) 2007-12-06
CN101454762A (en) 2009-06-10

Similar Documents

Publication Publication Date Title
US20090198839A1 (en) Plug-and-play device and method of using the same
US20100115145A1 (en) Plug-and-play device and method of using the same
CA2711450C (en) Method of launching a selected application in a multi-monitor computer system and multi-monitor computer system employing the same
US9934049B1 (en) Method for creation of device drivers and device objects for peripheral devices
JP3513147B2 (en) USB storage device and its control device
KR101251250B1 (en) System for performing remote control using remote device driver and method for performing the same
CN110442366B (en) Screen transmission processing method, device, equipment and storage medium
US8521926B2 (en) Remote desktop control system using USB interface and method thereof
US20070261046A1 (en) Television and display device with a USB port for updating firmware
US20060173980A1 (en) Detachable device, control circuit, control circuit firmware program, information processing method and circuit design pattern in control circuit, and log-in method
US20080307096A1 (en) Using a remote handheld device as a local device
WO2018090720A1 (en) Method and apparatus for plug and play screen mirroring
US8407810B2 (en) KVM switch, information processing apparatus, and computer readable recording medium
US10248431B2 (en) System and method for presenting driver install files when enabling a USB device
KR20200042798A (en) Method for controlling the execution of different operating systems, electronic device and storage medium therefor
US8677344B2 (en) Software upgrade using single source channel
KR100690398B1 (en) Method for authorizing usage of computer using universal serial bus port and device thereof
US8225062B2 (en) Controlling memory visibility
CN115629778A (en) UVC camera software upgrading method and device, storage medium and terminal
CN114489548A (en) Information sharing method and device, screen projector and computer readable storage medium

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION