Next Patent: Method and device for message communication for programmable controller
Next Patent: Method and device for message communication for programmable controller
Plaque It!
Sponsored by: Flash of Genius |
[0001] 1. Field of the Invention
[0002] The present invention relates to a system bus and method for using the system bus. More particularly, the invention relates to a system bus and method that provides wireless communication with various input and output devices.
[0003] 2. Description of the Related Art
[0004] Unlike their desktop counterparts, handheld computers have limited capabilities because of limitations on size and power availability. The small size means that the display must be small, the interior space for hardware is cramped, connections for peripherals are minimal, expanding or upgrading the system is cumbersome, and the space and weight allowed for batteries or other power sources is quite small. While handheld computers are generally provided with power adapters for home or office use, it is generally necessary for the batteries to last several hours without a charge in order for the handheld to deliver the full benefits of portability that users expect from a handheld computer.
[0005] Furthermore, cabling to external input and output devices present usability and portability problems. Expansion cards are now available for adding various functions to the handheld, such as additional memory, backups, modems, games and the like. However, only one or two cards can be used at one time and any additional cards must be carried separately. If peripheral devices are going to be used with the computer, it is necessary to keep and use cables that add bulk, weight and spacing limitations to the system. Furthermore, the cables themselves are subject to damage and can prevent successful use of the peripherals to which the cables are connected.
[0006] The use of peripherals also increases the amount of power that must be available to the computer. Consequently, the computer must have a much bigger battery than would otherwise be required to merely operate the computer.
[0007] Another problem with connecting peripheral devices to a computer through cables is that increasing the number of peripheral connections increases the bulk and cost of the system. For example, a Universal Serial Bus (“USB”), supporting data transfer rates of 12 Mbps (12 million bits per second), can be used to connect up to 127 peripheral devices, such as mice, modems, and keyboards. However, peripheral devices must be connected through a hub, such as a 4 or 6 port hub. If the number of peripheral devices later exceeds the number of ports, then the hub must either be replaced with a hub having more ports or a second hub must be daisychained with the first hub, further exacerbating the cabling problem.
[0008] It is also common that older handheld computers will not support new input and output devices due to architectural limitations. While most personal computers have been designed with backward compatibility as an important consideration, handheld computers do not always provide this compatibility. Consequently, it may be necessary to replace the handheld with a newer model in order to support the use of recently developed input and output devices.
[0009] One attempt to address these problems is the use of docking stations, such as that described in U.S. Pat. No. 6,088,752 entitled METHOD AND APPARATUS FOR EXCHANGING INFORMATION BETWEEN BUSES IN A PORTABLE COMPUTER AND DOCKING STATION THROUGH A BRIDGE EMPLOYING A SERIAL LINK. A docking station is a platform into which a portable computer can be installed. The docking station typically contains slots for expansion cards, bays for storage devices, and connectors for peripheral devices, such as printers and monitors. Once inserted in a docking station, the portable computer essentially becomes a desktop model computer. When it is taken out, it becomes a portable computer again. More importantly, some data is accessible in both modes because it resides on the portable computer's drives. The idea behind docking stations is to combine the expansion possibilities of desktop model computers with the portability of notebook computers. In addition, the docking station enables use of a full-size keyboard or a monitor, and provides access to other peripherals or resources.
[0010] However, docking stations and personal computers have their own limitations. For example, docking stations must be made specifically for a given portable computer, because there is no standard for docking stations. Also, both docking stations and personal computers require nests of cables and wires in order to achieve the level of connectivity of which they are capable. And while these systems have more expansion capabilities than handheld or portable computers, it is still necessary to purchase expansion cards and cables, and then configure them to communicate with the system. Also, portability is inhibited because of cabling portability challenges and power limitations.
[0011] Therefore, despite the foregoing developments, there remains a need for a computer that has greater capacity for supporting multiple input and output devices. There is also a need for a computer that would provide greater compatibility so that the computer can support old and new input and output devices. It would be desirable if this improved support of input and output devices could be accomplished using a standard communication protocol that would allow the computer to communicate with various input and output devices or peripherals regardless of brand, physical connector type, or power consumption. It would also be desirable if two or more computers could directly share one or more peripheral devices without the need for expensive hardware.
[0012] The present invention provides a method comprising: (a) establishing a wireless communication link between a computer through a first transceiver communicatively coupled to a bus in the computer, and a second transceiver communicatively coupled to a peripheral device through a control unit, wherein the computer is configured to operate under the control of an operating system and one or more application programs; (b) providing identification of the peripheral device to a driver via the first transceiver, wherein the driver is stored in a memory device that is coupled to the bus; and (c) communicating commands between the one or more application programs and the peripheral device through the operating system, the driver, the first transceiver, the second transceiver, and the control unit. In one embodiment, the method includes transmitting a device discovery signal from the second transceiver at a device discovery frequency, receiving the device discovery signal at the first transceiver, and communicating the device discovery from the first transceiver over the bus to the driver. The method will preferably include communicating a request for identification from the driver to the control unit of the peripheral device. In accordance with user preferences, the method may further comprise automatically configuring the driver for communication with the identified peripheral device. Alternatively, the method may include informing a user of the computer that the peripheral device has been identified, and querying the user whether to accept and configure the peripheral device.
[0013] The wireless communication link between the computer system bus and a peripheral device may incorporate security measures including, but not limited to, encryption, passwords, and frequency hopping. The discovery and configuration of the wireless peripheral is accomplished using a secure access protocol. A preferred security protocol can be an encoded communications data stream using a cryptographic algorithm.
[0014] Further, the method may comprise: (a) establishing a wireless communication link between a wireless bus extender in a computer and a transceiver communicatively coupled to a peripheral device through a control unit; (b) providing identification of the peripheral device to a driver via the first transceiver, wherein the driver is stored in a memory device that is coupled to the bus; and (c) communicating commands between the one or more application programs and the peripheral device through the operating system, the driver, the first transceiver, the second transceiver, and the control unit. It is preferred that the wireless bus extender comprise a transceiver for transmitting and receiving wireless signals selected from radio frequency, infrared, or combinations thereof.
[0015] In accordance with the wireless system bus and wireless bus extender of the present invention, it is possible to communicate wirelessly using either serial or parallel communications. Wireless serial communications or signals are transmitted at a single frequency and provide digital information at a given clock speed. Such transmission may be thought of as a sort of square wave signal, including both return-to-zero and non-return-to-zero signals. In order for such information to be useful to a computer or peripheral device, the signals must generally be deserialized. On the other hand, parallel communications or signals are transmitted using a separate frequency for each of the parallel channels required. For example, eight bit parallel communications would require that each of the eight bits be transmitted at the same time or clock pulse over eight different frequencies.
[0016] Another aspect of the invention provides a computer system comprising: (a) a system bus providing communication lines between a memory device, a central processing unit, an input/output controller, and a user input device; (b) a wireless system bus extender coupled to the system bus; and (c) bus extender driver code stored in the memory and executing on the central processing unit to establish wireless communication with a wireless peripheral device. Preferably, the wireless system bus extender and the bus extender driver code cooperate to either (1) discover the wireless peripheral device, (2) request and receive identification of the wireless peripheral device, (3) communicate a bus address to the wireless peripheral device, or (4) a combination thereof. The computer system may also provide an operating system stored in the memory and executing on the central processing unit to execute commands from one or more application programs stored in the memory and executing on the central processing unit, wherein the bus extender driver code makes wireless peripheral devices accessible to the operating system. The wireless communication system may be selected from serial and parallel communications using wireless signals.
[0017] The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of a preferred embodiment of the invention, as illustrated in the accompanying drawings wherein like reference numbers represent like parts of the invention.
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026] FIGS.
[0027] FIGS.
[0028]
[0029] The present invention provides a computer having a system bus that is exposed externally using a wireless transceiver so that input and output devices within proximity of the computer can be configured for immediate use by the device. The wireless system bus of the invention provides discovery and acceptance of wireless peripheral devices within the range of the wireless transmissions. It should be recognized that the wireless system bus may be incorporated into any type of computer, specifically including, without limitation, desktop personal computers and portable computers, such as laptop computers, notebook computers, handheld computers, and personal digital assistants. While much of the following description is directed to handheld computers, the invention lends itself equally to other computer architectures.
[0030] As used herein, “handheld personal computer” (H/PC) means a small general computing device having a processing unit that is capable of running one or more application programs, a display, and an input mechanism that is typically something other than a full-size keyboard. The input mechanism might be a keypad, a touch-sensitive screen, a track ball, a touch-sensitive pad, a miniaturized QWERTY keyboard, or the like. The term “wireless”, as used herein, shall be taken to include any communication means without wires, such as radio frequency transmissions and infrared transmissions.
[0031] The term “system bus”, as used herein, shall be taken to include the internal bus and any expansion bus, such as an ISA or PCI bus, coupled to the internal bus through a bridge. While a wireless expansion bus is within the scope of the present invention, the preferred wireless system bus is a wireless internal bus providing either serial or parallel communications. Where a wireless expansion bus is being used, the bus may be a PCI bus or other parallel communications bus, or a USB or other serial communications bus.
[0032] Because the connection between computers and peripheral devices of the present invention are wireless, it is possible to share peripheral devices among a plurality of computers. Furthermore, this sharing may be accomplished without additional cables and without expensive hardware such as a multipath I/O device. The sharing of peripheral devices is accomplished simply by providing contention management within the software of the peripheral device. Contention management gives control over the peripheral device to one computer at a time. Any contention management scheme currently being used with multipath I/O devices may be implemented in software or hardware for use in accordance with the present invention.
[0033]
[0034] Handheld computing device
[0035]
[0036] One or more application programs
[0037] The H/PC
[0038]
[0039]
[0040] Computer system
[0041] A bus
[0042] Mass storage of data may be provided by a flash memory diskette, CD ROM
[0043] User input to computer system
[0044] Operation of computer system
[0045]
[0046] The wireless peripheral device
[0047]
[0048]
[0049] Incoming wireless transmissions
[0050] The architecture shown in
[0051] It should be recognized that the digital transceivers
[0052]
[0053]
[0054] In state
[0055] Returning to the peripheral device, the I/O controller determines, in state
[0056] In the computer, the bus driver receives and stores the peripheral device identification in state
[0057] FIGS.
[0058] In state
[0059] In state
[0060] In states
[0061] However, the peripheral device preferably executes a state
[0062] In state
[0063] An alternative method for determining whether to remove the peripheral device identification and configuration from the bus driver, requires that the peripheral device transmit a continuous signal at a unique, device-specific frequency in order to make its presence continuously detectable by the computer. Accordingly, if the computer cannot detect the unique frequency at any given time, then peripheral device identification and configuration are removed from the bus driver.
[0064] It is an important feature of the invention that the peripheral identification and addressing process allows for the discovery, addressing and utilization of multiple peripheral devices. Accordingly, the user can accept a wireless printer, a wireless display device, and a wireless keyboard, and have them each configured and available simultaneously. If the transceivers are all communicating at the same frequency, however, then the computer can communicate with only one device at a time. Even so, by repeatedly switching the transmission between the data and address of one peripheral to the data and address of one or more other peripherals, it is possible to achieve communications that appear to be simultaneous.
[0065] In order to achieve true multi-channel communications with multiple peripherals, each of the transceivers, such as the 8 transceivers facilitating the 8-bit communication of
[0066] It is an optional feature of the present invention to allow the user to set up certain preferences about how the bus driver will operate. It is anticipated that the user may desire to establish a preference that would always automatically accept peripheral devices, as in state
[0067] Finally,
[0068] It will be understood from the foregoing description that various modifications and changes may be made in the preferred embodiment of the present invention without departing from its true spirit. It is intended that this description is for purposes of illustration only and should not be construed in a limiting sense. The scope of this invention should be limited only by the language of the following claims.