Patent Publication Number: US-7215246-B1

Title: Binding for one-way wireless transmissions

Description:
This patent application claims priority from U.S. Provisional Application Ser. No. 60/483,004 filed Jun. 27, 2003. 
    
    
     BACKGROUND 
     1. Field of the Disclosure 
     The present disclosure relates generally to wireless communications, and in particular to wireless communications between hosts and peripherals. 
     2. Background 
     In wireless communications, devices need to ‘bind’ to each other in order to establish communication. Binding is a process in which one device will establish communication with another device using a certain channel code, and from that point on a link will be established between them. Channel access codes allow two devices to communicate. One device can communicate (one-way) with another device using its channel access code. The codes are selectable in case two or more devices have the same access code. 
     Because there may be many wireless devices broadcasting at any given time, a host device may receive many unintentional ‘bind’ requests intended for other hosts. Host devices may include personal computers. The host device has to determine which bind requests are intended for it, and which to ignore. The document “WirelessUSB™ LS 1-way HID Networks” by Cypress Semiconductor Corporation gives details of an exemplary embodiments of binding procedures. HID, as used here, means Human Interface Devices, such as mice, keyboards and other wireless peripherals. 
     A conventional binding procedure generally involves a user pressing a button on the host device and pressing another button on the peripheral device that is attempting to bind. The conventional binding procedure is suitable for some applications, but may be inconvenient for users who do not want to press buttons on two devices, such as when the user is not close to the host system. It would be desirable to have a binding procedure that does not require a user to press buttons on two devices. 
     SUMMARY 
     According to an embodiment, a binding procedure in one-way wireless transmissions is described A system allows binding in a one-way wireless transmission. The system includes a transmitting wireless device having a button and a receiving wireless device having a signaling mechanism. The second wireless device receives a code transmitted from the first wireless device when the button is pressed, determines if the code has been previously received, and accepts the code if not previously received. If the code is accepted, the second wireless device signals acceptance. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Embodiments of the invention may be best understood by reading the disclosure with reference to the drawings, wherein: 
         FIGS. 1   a  and  1   b  show a conventional binding procedure for wireless devices. 
         FIGS. 2   a  and  2   b  show an improved binding procedure for one-way wireless transmissions. 
         FIG. 3  shows an exemplary system with which the improved binding procedure may be used. 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     A conventional binding system and procedure for a wireless device, as shown in  FIG. 1   a , involves a user pressing a button  12  on the host device  10  and pressing another button  16  on the peripheral device  14  that is attempting to bind. In one exemplary embodiment the host device may be a wireless keyboard, and the peripheral device may be a wireless device. 
     The process is shown in flowchart form in  FIG. 1   b . The user must first press a bind button on a first device, such as the host, at  20 . This causes the host to enter ‘wait for bind’ state at  22 . The user then presses a button on a second device, such as the peripheral  24 . This causes the device to enter an ‘attempt to bind’ state at  26 . When these two states overlap, bind is established at  28 . The order in which the buttons are pressed may be reversed, with the peripheral device having its button pressed first followed by the host. 
     This may be awkward or inconvenient for the user. For example, the user may be using a wireless interface device that is located away from the host system, but still close enough to bind the two devices. The interval that one device is waiting for binding and the time it takes the user to push the button on the other device to attempt it to bind may not be long enough. The first device may be exit the waiting state before the other one is activated to attempt to bind. 
     An embodiment of an improved binding system and procedure in one-way wireless transmissions is described in  FIGS. 2   a  and  2   b . According to the improved binding system, shown in  FIG. 2   a , each device  30  and  32  may have connect buttons  34  and  36 , respectively, for binding the devices. Again, binding is the process of selecting an access code for a device that another device will use to communicate therewith. In embodiments of the improved binding system, each device also has an LED  38  and  40 , respectively. One or the other device may not have a connect button, as it is not necessary in both devices to implement the binding, but would allow either device to be the binding requesting device. 
     An embodiment of a binding procedure using the improved system of  FIG. 2   a  is shown in  FIG. 2   b . The first device button is pressed at  50  and it sends an access code to the receiver device. The receiver determines if it has received that access code before this transmission at  52 . This may be accomplished by sorting a memory to determine if the code has been previously been stored. The memory may comprise a look up table, where the table is indexed using some portion of the received code. If the receiver has not received the access code before, it accepts the code at  54 . This accomplishes binding at  56 . The device then lights its LED, or otherwise signals acceptance, at  58  to inform the user of binding. The devices are then bound. 
     The lighting of the LED provides the user with a status of the acceptance of the code. If the LED lights, the user knows that the status of the code is ‘accepted.’ A lack of light indicates that the status of the code is ‘not accepted.’ 
     However, if the receiver device has previously received the code at  52 , then the LED does not light. In response to the failure to light, the process returns to  50 . The user presses the button again, and the transmitter then selects another code. This process repeats until the code is accepted and the LED on the receiver lights. 
     In another embodiment, the light or LED could be replaced with some other signaling mechanism such as a speaker to generate an audible signal, or another way of signaling to the user that bind has been achieved. 
     In another embodiment, the wireless host may not have a button, just a signaling mechanism. The user would then bind the peripheral to the host by pressing a button on the peripheral only and the host would signal binding. Signaling binding may include displaying a message, if the host has a display of some sort such as a monitor or computer terminal. 
     In another embodiment, the transmitting device may not have a signaling mechanism. The receiving device is the device that indicates acceptance of the currently transmitted code. The transmitting device may therefore not need a signaling mechanism, where the signaling mechanism is directed to signaling binding. 
     In another embodiment, one or the other device may have a non-binding signal in addition to the binding signal. Only having a binding signal may leave the user guessing that the two devices did not bind. The user may decide that the two devices did not bind, when in actuality the process had not finished yet. The user may press the button again, resulting in transmission of a second, unnecessary code. A second signal may indicate no binding. 
     An example would be to have two differently colored LEDs, one indicating binding and one indicating no binding. This eliminates any guesswork on the part of the user and confirms that binding either succeeded or failed. When binding fails, the user then pushes the button as required. Other non-binding signals may include an audible signal that indicates no binding, or displaying an indicator of no binding on a display. 
     In addition to allowing binding by only pressing a button on one of the device involved in the binding transaction, the use of a one-way binding procedure eliminates the need to pre-program the devices with codes. This may eliminate the requirement for non-volatile memory on the devices, previously used to store the codes. 
     A system shown in  FIG. 3  may comprise a computer system  60  in which an embodiment according to the present invention can be implemented. The computer system  60  includes a bus  62  or other communication mechanism for communicating information and a processor  64  coupled to the bus  62  for processing information. The computer system  60  also includes main memory  66 , such as a random access memory (RAM) or other dynamic storage device, coupled to the bus  62  for storing information and instructions to be executed by the processor. 
     Main memory  66  can also be used for storing temporary variables or other intermediate information during execution of instructions by the processor  64 . The computer system  60  may further include a read only memory (ROM)  68  or other static storage device coupled to the bus  62  for storing static information and instructions for the processor  64 . A storage device  70 , such as a magnetic disk or optical disk, is coupled to the bus  62  for persistently storing information and instructions. 
     The computer system  60  may be coupled via the bus  62  to a display, such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, for displaying information to a computer user. An input device  74 , such as a keyboard including alphanumeric and other keys, is coupled to the bus  62  for communicating information and command selections to the processor  64 . Another type of user input device is a cursor control  76 , such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor  64  and for controlling cursor movement on the display  72 . 
     According to one embodiment of the invention, the improved procedure may be used with or implemented as part of the computer system  60 , and the overall system may operate in response to the processor  64  executing an arrangement of instructions contained in main memory  66 . Such instructions can be read into main memory  66  from another computer-readable medium, such as the storage device  70 . Execution of the arrangement of instructions contained in main memory  66  causes the processor  64  to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in main memory  66 . 
     In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the embodiment of the present invention. As discussed above, current wireless peripherals have a button to allow binding. The current peripherals are generally accompanied by software, such as driver files that allow the host system to communicate with them during the binding process as well as in operation after binding. These driver files could be modified to allow the binding signal from the peripheral to cause a signal from the host to indicate binding or not binding. 
     For example, the host device may be a computer with a display. The peripheral may be an already-existing mouse. With a modified driver file, the mouse can be installed. When binding is performed, the display may indicate binding or no binding. There is no need to modify the existing hardware of the mouse, only the driver. 
     In another example, reconfigurable hardware such as Field Programmable Gate Arrays (FPGAs) can be used, in which the functionality and connection topology of its logic gates are customizable at run-time, typically by programming memory look up tables. Thus, embodiments of the present invention are not limited to any specific combination of hardware circuitry and software. 
     The computer system  60  also includes a communication interface  78  coupled to bus  62 . The communication interface  78  provides a two-way data communication coupling to a network link  80  connected to a local network  84 . For example, the communication interface  78  may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, a telephone modem, or any other communication interface to provide a data communication connection to a corresponding type of communication line. 
     As another example, communication interface  78  may be a local area network (LAN) card, such as for an Ethernet™ network in accordance with Institute of Electrical and Electronic Engineers (IEEE) standard 802.3, or an Asynchronous Transfer Model (ATM) network) to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. 
     In any such implementation, communication interface  78  sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Further, the communication interface  78  can include peripheral interface devices, such as a Universal Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc. Although a single communication interface  78  is depicted in  FIG. 3 , multiple communication interfaces can also be employed. 
     The network link  80  typically provides data communication through one or more networks to other data devices. For example, the network link  80  may provide a connection through local network  84  to a host computer  86 , which has connectivity to a network  82 , such as a wide area network (WAN) or the global packet data communication network now commonly referred to as the “Internet” or to data equipment operated by a service provider. The local network  84  and the network  82  both use electrical, electromagnetic, or optical signals to convey information and instructions. The signals through the various networks and the signals on the network link  80  and through the communication interface  78 , which communicate digital data with the computer system  60  are exemplary forms of carrier waves bearing the information and instructions. 
     The computer system  60  can send messages and receive data, including program code, through the network(s), the network link  80 , and the communication interface  78 . In the Internet example, a server (not shown) might transmit requested code belonging to an application program for implementing an embodiment of the present invention through the network  82 , the local network  84  and the communication interface  78 . The processor  64  may execute the transmitted code while being received and/or store the code in the storage device  70 , or other non-volatile storage for later execution. In this manner, the computer system  60  may obtain application code in the form of a carrier wave. 
     As mentioned previously, one issue that may arise in binding wireless devices is that there may be several devices that rely upon the binding procedure to establish communications. Referring to system  60 , for example, the input device  74  as well as the cursor control device  76  may require binding to establish the communications channel between these devices and the system  60 . 
     For example, assume the input device  74  is bound first, using a first channel code. When the cursor control device  76  first attempts to bind, it transmits the same channel code already in use. This will require another iteration of the binding process. If the user has to press buttons on both devices, as is required in implementations prior to this invention, this process can become inconvenient. Using embodiments of this invention make this process much more convenient for the user. 
     It should be appreciated that reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the invention. 
     Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various inventive aspects. 
     This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention. 
     Thus, although there has been described to this point a particular embodiment for a method and apparatus for one-way wireless binding between devices, it is not intended that such specific references be considered as limitations upon the scope of this invention except in-so-far as set forth in the following claims.