Published just last week, a new BlackBerry patent application would greatly ease connections between a BlackBerry and other devices.
The patent app is named "Universal peripheral connector." I've just linked you to the app as published on the website of the U.S. Patent and Trademark Office. And that's a pix of the cover page at the top of this post.
Too early in the morning for eyestrain, so let's start with this Patent application's Abstract. It reads:
A universal connector apparatus for a mobile device and in communication with the mobile device, the apparatus comprising: at least one universal serial bus (USB) connector providing at least one connection; at least one USB host controller configured to control the at least one USB connection; a microprocessor configured to control the at least one USB host controller, the microprocessor having an operating system; a USB device control interface on the mobile device configured to communicate and control the universal connector apparatus; and a USB driver configured to operate within the operating system to enable the mobile device to connect to one or more peripherals via the at least one USB connector.
It's now time to get into the meat about how this is supposed to work. After the jump, I will show you a key piece of art from the App.
Because the art contains an extremely detailed diagram with lots of reference points, considerable explanatory text is necessary next.
FIG. 1 shows a universal peripheral connector 10 for connecting a mobile data device 15 with a USB peripheral 20 or another peripheral 25. Since many mobile devices 15 do not include a USB port that can be a host USB port, universal peripheral connector 10 is required in order to connect the mobile data device 15 to a peripheral 20. Universal peripheral connector 10 is connected to mobile data device through a USB connection 30. As will be appreciated by those skilled in the art, USB connection 30 can either be a USB cable, a connector connecting directly to mobile data device 15, or other known connection.
Universal peripheral connector 10 includes a mobile data device USB driver 32 for use in driving USB connection 30 to communicate with mobile data device 15.
Universal peripheral connector 10 further includes a USB host controller 34 in order to control the USB port or USB ports on the universal peripheral connector. Since the universal peripheral connector can connect to USB peripherals or other peripherals, at least one USB port is included on universal peripheral controller, but multiple ports could exist.
A microprocessor 36 on universal peripheral connector 10 is configured to control the USB host controller and an operating system 38 is adapted to execute on the microprocessor.
Universal peripheral connector 10 may further include a number of active drivers 40 which are the commonly used drivers to drive USB and other peripherals.
Mobile data device 15, an exemplary version of which is described in more detail below, includes a UPC USB control software module 50 that is used to control the universal peripheral connector. Thus, even though the mobile data device is the client device for the universal peripheral connector's host USB port, control of the universal peripheral connector lies within the mobile data device.
Mobile data device 15 further includes cached drivers 52 which are stored to provide universal peripheral connector 10 with drivers necessary to drive various USB and other peripherals. Cached drivers 52 could be uploaded into universal peripheral connector if universal peripheral connector 10 does not include the driver in its active drivers module 40.
As is described in more detail below, mobile data device 15 further includes cached client applications 54 which are used to exchange data with the USB and other peripherals.
Universal peripheral connector 10 preferably includes a USB connector 60 to connect with a USB peripheral 20. Multiple connectors 60 could exist for universal peripheral connector 10.
As illustrated in FIG. 1, a VGA port 65 is also optionally a part of universal peripheral connector 10. VGA port 65 is used to connect to peripherals such as a monitor 67 or a projector 69. Other ports could also exist on universal peripheral connector 10 to accommodate peripherals that do not use either USB or VGA ports.
Examples of universal serial bus peripherals 20 could include storage devices 70, printers 72, external drives 74, cameras 76, or keyboards 78. Other devices are contemplated to also be within the scope of the present application, and the application is not limited by the specific type of peripheral used. In operation, a universal peripheral connector 10 is connected to a mobile data device 15 through USB port 30.
Mobile data device driver 32 is used to establish communication with mobile data device 15 and UPC USB controls software communicates with microprocessor 34 to control a USB host controller 36 to a control USB host controller 34. If a peripheral is connected to USB port 60, USB host controller 34 attempts to determine the appropriate driver for the peripheral. It looks in active driver module 40 to determine whether the active driver is located on the universal peripheral connector. If the relevant driver is not located within the active driver module, universal peripheral connector 10 asks mobile data device 15 for the appropriate driver.
Mobile data device 15 then looks in its cached driver storage 52 to determine whether the appropriate driver exists on the mobile data device. If the cached driver storage 52 does not contain the appropriate driver, mobile data device 15 uses an air interface to obtain the appropriate device driver. The air interface 80 can thus be used to obtain a driver from driver repository 82 which stores drivers for the UPC operating system in its storage 84. It can also be used to obtain client applications 86.
The appropriate driver is then sent over the air back to mobile data device 15 which then can send the driver to USB host controller 34. Microprocessor 36 could optionally tell the universal peripheral connector to store the driver in its active driver storage.
Once the device is connected to the universal peripheral connector and to a peripheral, the client application 54 can be used to communicate with the peripheral device. For example, if the mobile data device is being used for email and the user connects the mobile data device to a printer to print out the email, the mail application can include a print option. The print option could send the data to the printer through USB port 30 and USB port 60. One skilled in the art will realize that various options exist for sending data to a peripheral device and these would be known to those skilled in the art.
In the above printing example, the mobile data device could for example use TCP/IP for printing. The email program could include a local loopback interface in which the application printed to a port with the address 127.0.0.n where n is a number between 0 and 255. The print driver could look to this port and send the data on this port through the USB connection. Other options could include, for example, FTP.
I know this sounds overly detailed, but consider the source.
BlackBerry is made by Research In Motion. And I'd say the above is an example of the "Research."