`
`(12) United States Patent
`Page et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,324.462 B1
`Jan. 29, 2008
`
`(54) METHODS FOR DISCOVERING DEVICES
`WITHIN A WIRELESS NETWORK
`(75) Inventors: Kenin Page, Sandy, UT (US); Elwin
`Hunt, Sandy, UT (US)
`(73) Assignee: 3Com Corporation, Marlborough, MA
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 891 days.
`(21) Appl. No.: 10/206,488
`(22) Filed:
`Jul. 25, 2002
`
`(*) Notice:
`
`(51) Int. Cl.
`(2006.01)
`H04L 2/28
`(52) U.S. Cl. ....................................... 370/255; 370/349
`(58) Field of Classification Search ................ 370/230,
`370/248,252,310, 255,349,328,322,310.1,
`370/329, 401, 402, 338, 341, 348
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`7,020,456 B2 * 3/2006 Smeets et al. .............. 455,411
`2002/0078149 A1* 6/2002 Chang et al. ............... TO9,203
`
`* cited by examiner
`
`Primary Examiner Brenda Ph.
`rimary Examiner—Brenda Finam
`(57)
`ABSTRACT
`An improved method for wireless device discovery that
`enables a user to select devices by a descriptive identifier
`rather than a unique alphanumeric identifier. In addition, the
`method allows for certain wireless devices to be pre-con
`figured for connection Such that if they are requested, the
`method automatically connects the requesting device with
`the selected device.
`4 Claims, 5 Drawing Sheets
`
`505
`
`500
`
`User enters a descriptive
`identifier Corresponding to a
`wireless device
`
`ls the descriptive
`identifier a pre-configured
`device
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Automatically connect to
`pre-conges wireless
`evice
`
`Wireless device discovery
`
`Display list of descriptive
`identifiers corresponding to the
`devices located in the device
`discovery
`
`
`
`
`
`
`
`
`
`User selects wireless
`device from list
`
`Establish Connection to
`selected wireless device
`
`520
`
`525
`
`530
`
`535
`
`Petitioners' Ex. 1019, Page 1 of 13
`Hewlett Packard Enterprise Co. et al. v. BillJCo, LLC
`IPR2022-00420
`
`
`
`Petitioners' Ex. 1019, Page 2 of 13
`Hewlett Packard Enterprise Co. et al. v. BillJCo, LLC
`IPR2022-00420
`
`
`
`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 2 of 5
`
`US 7,324.462 B1
`
`
`
`20
`CONNECTION
`MANAGER
`
`
`
`
`
`DATABASE
`293
`
`APPLICATION -205
`GROUP
`
`MIDDEWARE
`Pgp,
`
`10
`
`220
`
`VOICE
`
`2CAP
`
`200
`/
`
`225
`ty."
`
`227
`
`
`
`HOST CONTROLLER
`INTERFACE
`
`BLUETOOTH RADIO MODULE
`
`FG, 2
`
`Petitioners' Ex. 1019, Page 3 of 13
`Hewlett Packard Enterprise Co. et al. v. BillJCo, LLC
`IPR2022-00420
`
`
`
`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 3 of 5
`
`US 7,324.462 B1
`
`300 \
`
`305
`
`
`
`COMPUTER
`
`PRINTER
`
`
`
`
`
`
`
`ACCESS
`POINT
`
`II
`SCANNER
`
`
`
`NOTEBOOK
`COMPUTER
`
`Petitioners' Ex. 1019, Page 4 of 13
`Hewlett Packard Enterprise Co. et al. v. BillJCo, LLC
`IPR2022-00420
`
`
`
`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet 4 of 5
`
`US 7,324.462 B1
`
`405
`
`400
`
`User enters a descriptive
`identifier corresponding to a
`wireless device
`
`Wireless device discovery
`
`410
`
`
`
`Yes
`
`Does the descriptive
`identifier match any of
`the descriptive identifiers
`Corresponding to the
`located wireless devices?
`
`415
`NO
`
`
`
`Automatically Connect to
`matching device
`
`420
`
`Display list of descriptive
`identifiers Corresponding to the
`devices located in the device
`discovery
`
`
`
`User Selects wireless
`device from list
`
`Establish connection to
`Selected wireless device
`
`FG, 4
`
`425
`
`430
`
`435
`
`Petitioners' Ex. 1019, Page 5 of 13
`Hewlett Packard Enterprise Co. et al. v. BillJCo, LLC
`IPR2022-00420
`
`
`
`U.S. Patent
`
`Jan. 29, 2008
`
`Sheet S of 5
`
`US 7,324.462 B1
`
`505
`
`500
`
`User enters a descriptive
`identifier corresponding to a
`Wireless device
`
`
`
`Yes
`
`
`
`
`
`ls the descriptive
`identifier a pre-configured
`device?
`
`50
`NO
`
`
`
`Automatically connect to
`pre-contg
`wireless
`evice
`
`515
`
`Wireless device discovery
`
`
`
`Display list of descriptive
`identifiers corresponding to the
`devices located in the device
`discovery
`
`User selects wireless
`device from list
`
`Establish Connection to
`Selected wireless device
`
`FG, 5
`
`520
`
`525
`
`530
`
`535
`
`Petitioners' Ex. 1019, Page 6 of 13
`Hewlett Packard Enterprise Co. et al. v. BillJCo, LLC
`IPR2022-00420
`
`
`
`US 7,324.462 B1
`
`1.
`METHODS FOR DISCOVERING DEVICES
`WITHIN A WIRELESS NETWORK
`
`BACKGROUND OF THE INVENTION
`
`2
`transport protocol group is comprised of a radio, a baseband
`controller, a link manager, a logical link control and adap
`tation protocol (L2CAP), and a host controller interface
`(HCI). The baseband controller defines how devices search
`for one another and how they connect to one another via a
`Bluetooth Device Discovery and Connection process. The
`baseband controller also defines the master and slave roles
`between devices. The link manager Supervises the creation
`of pairing between devices and the encryption of data. The
`link manager also Supervises power control among devices.
`For example, the link manager can initiate a low power
`adjustment between devices to conserve energy. The L2CAP
`Supports the protocol multiplexing that allows multiple
`protocols to utilize the same air-interface. It also maintains
`the desired level of service among devices. The HCI allows
`higher layers of the stack to access the baseband controller
`and link manager. The HCI is not a required part of the
`Bluetooth specification and it can be located above or below
`the L2CAP depending on the configuration of the particular
`Bluetooth system. The radio, link manager and baseband
`controller are sometimes grouped together to form what is
`referred to as a Bluetooth module. The remaining compo
`nents of the transport layer are typically located on the actual
`Bluetooth host device.
`The middleware protocol group is directed to functional
`ity that facilitates communication between host applications
`and the Bluetooth module. The protocols can include both
`third-party protocols and industry standard protocols speci
`fied by the Bluetooth SIG. The middleware protocol group
`specifically includes a RFCOMM, a service discovery pro
`tocol (SDP), a set of IrDa interoperability protocols, and a
`telephony control protocol (TCS). The RFCOMM protocol
`creates virtual serial ports to facilitate the replacement of
`cables with a wireless Bluetooth interface. The SDP protocol
`defines a standard method for Bluetooth devices to discover
`and learn about the services offered by other Bluetooth
`devices within the network. The set of IrDa interoperability
`protocols helps to define the syntax of the data to be
`exchanged between devices. The TCS protocol is designed
`to control the exchange of Voice protocols between devices.
`The application protocol group consists of the various
`applications that utilize Bluetooth communications. The
`applications may be unaware that data is being transmitted
`over a Bluetooth air-interface rather than a standard cable, or
`the application may be specifically designed to interact with
`Bluetooth devices.
`Bluetooth devices form what are known ad “piconets”
`with one another. A piconet is comprised of one Bluetooth
`device acting as a master and numerous other devices acting
`as slaves. Both the master and the slave devices can transmit
`and receive data from one another. However, the master
`device defines the data hopping sequence and is usually the
`device that initiates the communication. Initiation of a
`communication depends, in part, on the configuration state
`of a device. For example, an “active state' is a system
`configuration in which the slave device is always listening
`for transmissions from the master. In a “parked state' the
`slave device is only periodically listening to the master.
`Thus, a parked slave must become active before it can
`communicate normally with the master. In addition, there is
`a sniff state and a hold state, both of which are considered
`active states. The Sniff and hold states are used as alterna
`tives to the full active state for the purpose of conserving
`power. A slave device in a Sniff mode essentially commu
`nicates with the master at regular intervals rather than
`always listening. A slave device in a hold mode essentially
`stops listening to the master for a specified period of time.
`
`1. The Field of the Invention
`This invention relates generally to the field of network
`communications. In particular, embodiments of the present
`invention relate to a method for discovering devices con
`nected within a wireless network.
`2. The Relevant Technology
`Short range wireless communication schemes are increas
`ingly used as an alternative to wire-based networks to
`interconnect computers and computer devices. The use of
`wireless communications provides a number of advantages,
`including the elimination of complex, expensive, and incon
`venient wire-based connection schemes. While a number of
`wireless communications standards have been developed for
`Such applications, one popular example is known as "Blue
`tooth.” The Bluetooth standard uses low power radio fre
`quencies to allow communication between various devices
`Such as mobile phones, laptop and desktop computers,
`printers, modems, PDAs, etc. This technology was origi
`nally envisioned for the purpose of replacing cabling and
`other hardwired connection schemes 4used to connect aux
`iliary devices to a desktop or laptop computer. However,
`Bluetooth has further evolved into a method of sending both
`data and Voice signals between a wide range of devices. For
`example, a Bluetooth-enabled PDA can be configured to
`automatically connect to a Bluetooth-enabled communica
`tions line within a building, therefore gaining wireless
`access to computing resources, such as printers, an Internet
`portal, etc.
`In an effort to ensure compatibility among Bluetooth
`implementations, a Bluetooth special interest group (SIG)
`was formed. One of the main objectives of the Bluetooth
`SIG is to formulate a standardized specification for every
`element of Bluetooth. The specification dictates numerous
`Software and hardware characteristics So that devices made
`by different manufacturers will be compatible with one
`another. The specification dictates all aspects of Bluetooth
`technology from the software stack necessary to run Blue
`tooth devices to the actual hardware requirements.
`As per this standard, Bluetooth compatible technology is
`composed of multiple components that together provide for
`wireless communication capabilities. For example, each
`Bluetooth-compatible device is configured with a radio that
`can transmit and receive wireless signals on a particular
`frequency band. In addition, there are certain structural
`elements required for connecting the radio to the specific
`host device. Further, each Bluetooth-compatible device is
`also configured with particular software to allow the device
`to properly process and route data or voice signals. This
`software is typically referred to as the “protocol stack”
`because it is composed of numerous components that are
`each configured to perform a particular function. Informa
`tion is generally passed between the respective layers of the
`stack either from the bottom of the stack to the top or vice
`versa, depending on the direction of the communication
`involved. The protocol stack is further broken up into a
`“transport protocol group,” a “middleware protocol group'
`and an “application protocol group.
`In general, the transport protocol group includes func
`tional components that are designed to allow Bluetooth
`devices to locate one another within a Bluetooth network,
`and to manage the links that allow higher layer protocols and
`applications to pass data through the transport protocols. The
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Petitioners' Ex. 1019, Page 7 of 13
`Hewlett Packard Enterprise Co. et al. v. BillJCo, LLC
`IPR2022-00420
`
`
`
`US 7,324.462 B1
`
`3
`There are several limitations present in the Bluetooth
`standard that can degrade the overall operating efficiency of
`a Bluetooth network. One limitation relates to a user's
`ability to locate and connect to other Bluetooth devices that
`may be available within a given location. For example, when
`the user of a Bluetooth-enabled host device (e.g., a PDA or
`other portable computing device) wishes to establish a
`connection with another Bluetooth device (e.g., a printer),
`and does not know the Bluetooth Device Address
`BD ADDR of the remote device, a Bluetooth device dis
`covery routine must be performed to first locate available
`devices before a connection can be established. The Service
`Discovery Protocol (SDP) in the Bluetooth protocol stack
`controls the operation of finding services provided by new
`wireless devices. The searching device acts as a master and
`attempts to transmit wireless signals in an effort to locate all
`devices within range. The location of devices involves
`transmitting a search signal and receiving an acceptance
`signal that contains information about the device. The
`located devices transmit back at least a unique identifier
`BD ADDR that distinguishes the particular device from all
`other devices. These unique identifiers are then displayed for
`a use to select a device. Unfortunately, the unique identifier
`is generally a series of numbers and characters that do not
`provide the user with any useful information relating to what
`the device is, or what its functional capabilities are. Because
`of this, a user who is unsophisticated or unfamiliar with the
`particular device identifiers will have difficulty determining
`which devices to connect with. Each device does contain a
`friendly name that is meant to describe the wireless device
`but to obtain the friendly name of a particular device an
`additional query must be performed which is relatively time
`consuming.
`Therefore, there is a need for an improved method of
`device discovery that is both user-friendly and efficient. In
`35
`addition, the method should allow certain devices to be
`pre-configured as defaults so as to minimize connection
`steps required by a user. Such a method should increase both
`efficiency and versatility of a wireless network.
`
`10
`
`15
`
`25
`
`30
`
`4
`Manager” or simply “Connection Manager.” The software
`module is incorporated into and interfaced with functions of
`the Bluetooth protocol stack that resides in all Bluetooth
`wireless devices. More particularly, preferred embodiments
`utilize various protocols present within the Bluetooth pro
`tocol stack to perform various functions relating to device
`discovery and connection.
`In one preferred embodiment, the program method begins
`with a user of a host device specifying a descriptive iden
`tifier for the remote wireless device that the user wishes to
`connect with. For example, a user with a Bluetooth-enabled
`PDA may travel to a building or office that is equipped with
`a Bluetooth-based network. The PDA user may require the
`services of a network-based device, such as a color printer.
`Utilizing one method of the present invention, the user
`would execute an executable software routine on the PDA
`(the Connection Manager), which first prompts the user for
`a descriptive identifier corresponding to the color printer
`(e.g., “HP XXXX color printer). In a Bluetooth context, this
`descriptive identifier may correspond to what is commonly
`referred to as a “friendly name.” The Connection Manager
`will then proceed with a standard Bluetooth Discovery
`process to locate all available devices. It then ascertains if
`the specified descriptive identifier corresponds with any of
`the located devices. If more than one device corresponds to
`this particular identifier, the user would then be prompted to
`select from the list of devices. Once it is determined that a
`device corresponds to the specified descriptive identifier, the
`routine proceeds to automatically connect the user's device
`with the specified device. Note that in this implementation
`the user need only specify a device using a descriptive and
`intuitive identifier. The user does not need to have any
`knowledge of the underlying cryptic unique identifiers of
`network devices.
`In certain embodiments, connections with wireless
`devices within a network are already pre-configured with
`connection profiles store in a connection profile database. In
`this scenario, if a user selects a device that is already
`pre-configured, there is no need to perform the time-con
`Suming device discovery process. Instead, the specified
`device is automatically connected to the requesting device in
`accordance with the relevant connection parameters con
`tained within the connection profile for that device. Only
`when the user specifies a device that is not pre-configured
`will the method perform a standard Bluetooth device dis
`covery routine, in the manner described above. The method
`will then establish a connection with the specified device,
`assuming it is available.
`Consequently, the methodology of the present invention
`provides a user with a connection scheme that is both user
`friendly, and much more efficient that traditional connection
`schemes. First, a user can specify a connection to a desired
`device by using a descriptive, easy-to-remember identifier
`and need not have any knowledge of the device's underlying
`unique—and difficult to remember identifier. In addition,
`in the event that a connection to a particular device is
`pre-configured, a connection can be established without first
`having to complete a time consuming device discovery
`process. This greatly enhances the overall efficiency of the
`connection process.
`These and other objects and features of the present
`invention will become more fully apparent from the follow
`ing description and appended claims, or may be learned by
`the practice of the invention as set forth hereinafter.
`
`SUMMARY OF EMBODIMENTS OF THE
`INVENTION
`
`40
`
`45
`
`50
`
`These and other problems in the prior art are addressed by
`embodiments of the present invention, which relate gener
`ally to methods for locating a device within a wireless
`network. More particularly, location of the network devices
`is accomplished using a descriptive identifier, instead of the
`more complex, difficult to remember alphanumeric-type
`identifiers used in prior art solutions. In addition to provid
`ing a means by which a network device can be located easily,
`in preferred embodiments networked devices can be pre
`configured in manner Such that a connection can be auto
`matically initiated without first having to perform a cum
`berSome and time-consuming device discovery operation.
`55
`The approach thus increases the ease of use of a wireless
`network by providing a much more user-friendly process for
`locating and connecting to wireless devices within a net
`work. Moreover, it increases the ease and efficiency by
`which a device is connected to another wireless device.
`While not limited to any one particular wireless connec
`tion scheme, illustrative embodiments are described in the
`context of a Bluetooth-based wireless environment. Also, in
`the illustrated embodiments, the process steps that Support
`the method of device discovery are implemented via com
`65
`puter executable instructions in the form of a software
`module, referred to herein as a “Bluetooth Connection
`
`60
`
`Petitioners' Ex. 1019, Page 8 of 13
`Hewlett Packard Enterprise Co. et al. v. BillJCo, LLC
`IPR2022-00420
`
`
`
`US 7,324.462 B1
`
`5
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`In order that the manner in which the above recited and
`other advantages and features of the invention are obtained,
`a more particular description of the invention briefly
`described above will be given by making reference to a
`specific embodiment that is illustrated in the appended
`drawings. These drawings depict only one embodiment of
`the invention and are not to be considered limiting of its
`Scope:
`FIG. 1 illustrates a processing system that provides an
`example of one Suitable operating environment for embodi
`ments of the present invention;
`FIG. 2 illustrates a functional block diagram of an
`example of a Bluetooth protocol stack implemented in
`accordance with the teachings of the present invention;
`FIG. 3 is a schematic diagram of an example of a network
`environment in which one embodiment of the present inven
`tion could be implemented and utilized;
`FIG. 4 is a flow chart illustrating of one presently pre
`ferred embodiment of the process steps that can be used to
`implement one aspect of the present invention; and
`FIG. 5 is a flow chart illustrating yet another embodiment
`of the process steps that can be used to implement an aspect
`of the present invention.
`
`10
`
`15
`
`25
`
`DETAILED DESCRIPTION OF PRESENTLY
`PREFERRED EMBODIMENTS
`
`6
`tures, etc. that perform particular tasks or implement par
`ticular
`abstract
`data
`types.
`Computer-executable
`instructions, associated data structures, and program mod
`ules represent examples of the program code means for
`executing steps of the methods disclosed herein. The par
`ticular sequence of Such executable instructions or associ
`ated data structures represents examples of corresponding
`acts for implementing the functions described in Such steps.
`Those skilled in the art will appreciate that embodiments
`of the invention may be practiced in network computing
`environments with many types of computer system configu
`rations, including personal computers, hand-held devices,
`mobile telephones, personal digital assistants (“PDAs),
`multi-processor Systems, microprocessor-based or program
`mable consumer electronics, network PCs, minicomputers,
`mainframe computers, and the like. The invention may also
`be practiced in distributed computing environments where
`local and remote processing devices are linked (either by
`hardwired links, wireless links, or by a combination of
`hardwired or wireless links) through a communications
`network and both the local and remote processing devices
`perform tasks.
`With reference to FIG. 1, an example system for imple
`menting embodiments of the invention includes a general
`purpose computing device, one example of which is shown
`in the form of a conventional computer 120. Computer 120
`includes a processing unit 121, a system memory 122, and
`a system bus 123 that couples various system components
`including the system memory 122 to the processing unit 121.
`The system bus 123 may be any of several types of bus
`structures including a memory bus or memory controller, a
`peripheral bus, and a local bus using any of a variety of bus
`architectures. The system memory includes read only
`memory (ROM) 124 and random access memory (RAM)
`125. A basic input/output system (BIOS) 126, containing the
`basic routines that help transfer information between ele
`ments within the computer 120. Such as during start-up, may
`be stored in ROM 124.
`The computer 120 may also include a magnetic hard disk
`drive 127 for reading from and writing to a magnetic hard
`disk 139, a magnetic disk drive 128 for reading from or
`writing to a removable magnetic disk 129, and/or an optical
`disk drive 130 for reading from or writing to removable
`optical disk 131 such as a CD-ROM or other optical media.
`In this particular example, the magnetic hard disk drive 127,
`magnetic disk drive 128, and optical disk drive 130 are
`connected to the system bus 123 by a hard disk drive
`interface 132, a magnetic disk drive-interface 133, and an
`optical drive interface 134, respectively. The drives and their
`associated computer-readable media provide nonvolatile
`storage of computer-executable instructions, data structures,
`program modules and other data for the computer 120. Of
`course, other types of computer readable media for storing
`data can be used, including magnetic cassettes, flash
`memory cards, digital versatile disks, Bernoulli cartridges,
`RAMs, ROMs, and the like.
`Program code means comprising one or more program
`modules may be stored on the hard disk 139, magnetic disk
`129, optical disk 131, ROM 124 and/or RAM 125. Examples
`include an operating system 135, one or more application
`programs 136, other program modules 137, and program
`data 138. A user may enter commands and information into
`the computer 120 through keyboard 140, pointing device
`142, or other input devices (not shown), such as a micro
`phone, joy stick, game pad, satellite dish, Scanner, or the
`like. These and other input devices are often connected to the
`processing unit 121 through a serial port interface 146
`
`30
`
`35
`
`45
`
`Reference will now be made to the drawings to describe
`presently preferred embodiments of the invention. It is to be
`understood that the drawings are diagrammatic and sche
`matic representations of the presently preferred embodi
`ments, and are not limiting of the present invention, nor are
`they necessarily drawn to scale.
`In general, the present invention relates to an improved
`method for locating devices within a network environment,
`Such as a wireless network. More particularly, devices can be
`located by way of a simple and easy to remember descriptive
`identifier, as opposed to an arbitrary and difficult to remem
`40
`ber identifier typically used in current solutions. In addition,
`methods of the present invention further allow for wireless
`devices to be pre-configured so that, once discovered, they
`can be automatically connected to a requesting device with
`little or no interaction from the user. This method of device
`discovery provides an environment that is easy to use from
`a user's perspective, both in terms of locating a suitable
`wireless device for a particular application, as well as in
`establishing a connection with the device.
`For purposes of illustration, embodiments of the present
`invention are described in the context of a Bluetooth-based
`wireless computer network. However, it will be appreciated
`that the teachings of the present invention are applicable to
`other applications and network environments as well. For
`example, a similar method could be implemented in con
`nection with other types of networks and wireless environ
`ments and Standards.
`FIG. 1 and the following discussion are intended to
`provide a brief, general description of an example of a
`Suitable computing environment in which embodiments of
`the present invention may be implemented. Although not
`required, embodiments of the invention may be described in
`the general context of computer-executable instructions,
`Such as program modules, being executed by computers
`operating within network environments. Generally, the term
`“program modules” is intended to include, without limita
`tion, routines, programs, objects, components, data struc
`
`50
`
`55
`
`60
`
`65
`
`Petitioners' Ex. 1019, Page 9 of 13
`Hewlett Packard Enterprise Co. et al. v. BillJCo, LLC
`IPR2022-00420
`
`
`
`7
`coupled to system bus 123. Alternatively, the input devices
`may be connected by other interfaces, such as a wireless
`interface, a parallel port, a game port, a universal serial bus
`(USB) and the like. A monitor 147 or another display device
`is also connected to system bus 123 via an interface. Such as
`video adapter 148. In addition to the monitor, some com
`puters may include other peripheral output devices (not
`shown), such as speakers and printers.
`The computer 120 may be operatively connected to a
`networked environment, an example of which is designated
`in FIG. 1 as network 155. As is well known, network 155
`may be used to connect computer 120 to other remote
`computers, which may be personal computers, servers, rout
`ers, network PCs, peer devices or other common network
`nodes, and typically include many or all of the elements
`described above relative to the computer 120. Examples of
`various logical connections to network 155 are depicted in
`FIG. 1 include a wireless network 167, a wired local area
`network (LAN) 161, and a wide area network (WAN) 163.
`Each of the logical connections 167, 161, 163 represent a
`different way for the computer 120 to connect to the network
`155. The wireless network 167 may utilize radio frequen
`cies, microwaves, infrared light, etc. to transmit signals via
`the wireless interface 156 to the network 155. The wire
`based LAN 161 utilizes, for example, an Ethernet, a USB
`network, or a token ring network to transmit signals from the
`network interface 153 to the network 155. The WAN 163
`utilizes a modem 154 to decode the signals and a standard
`telephone line, wireless telephone line, coaxial cable, or
`fiber optic cable to transmit the signals from the serial port
`interface 146 to the networks 155. Such networking envi
`ronments are commonplace in office-wide or enterprise
`wide computer networks, intranets and the Internet.
`By way of example, the wireless interface 156 could be
`implemented as a short range radio transceiver that prefer
`ably utilizes low power radio frequencies to transmit infor
`mation over relatively short distances. For example, the
`wireless interface could be implemented as a Bluetooth oran
`802.11 transceiver module, or any other equivalent type of
`wireless transceiver that is capable of wireless communica
`40
`tion. In this way, the wireless interface 156 could be used to
`wirelessly connect the computer 120 to a wide range of
`external devices, computing devices, networks, etc. For
`example, a Bluetooth module may be connected to the
`computer 120 to allow for a wireless connection between the
`computer 120 and a PDA 158 similarly equipped with a
`Bluetooth module. In addition, the wireless interface 156
`can connect to devices that typically use other interfaces
`when communicating with the computer 120. For example,
`keyboards are typically connected to the computer 120 via
`the serial port interface 146, but may also be connected with
`a Bluetooth module. To do so, the wireless interface 156
`typically includes a protocol that is capable of emulating a
`standard interface communication sequence, Such as a serial
`port. For example, in a Bluetooth system, the RFCOMM
`55
`protocol can be used to create virtual serial ports so that
`serial devices can be wirelessly connected to the computer
`120 via the wireless interface 156 without extensive manipu
`lation of existing software drivers, application Software, etc.
`For purposes of illustration, wireless transceiver module
`156 in FIG. 1 is implemented as a Bluetooth compatible
`wireless transceiver or radio. As previously discussed, a
`Bluetooth transceiver device 156 is configured with a radio
`that can transmit and receive signals on a particular fre
`quency band. In addition, the device is typically program
`mable, and is configured with Software to process and route
`wireless signals. This software is implemented as a protocol
`
`50
`
`35
`
`45
`
`60
`
`65
`
`US 7,324.462 B1
`
`10
`
`15
`
`25
`
`30
`
`8
`stack, which is comprised of functional components that are
`organized within adjacent layers to form a logical stack.
`Also, depending on the implementation scheme, certain of
`the components of the stack reside within the host device
`(such as computer 120) memory and are executed by the
`host processor (121 in FIG. 1), and other components of the
`stack are stored and executed at the Bluetooth module itself
`(e.g., 156 in FIG. 1).
`Reference is next made to FIG. 2, which is a functional
`block diagram illustrating a presently preferred embodiment
`of a host-based Bluetooth protocol stack, designated gener
`ally at 200, that is implemented in accordance with the
`teachings of the present invention. In the illustrated
`example, the protocol stack 200 is comprised of multiple
`Sub-elements that are arranged in logical layers to indicate a
`sequence of communication. Typically, information is
`passed either from the bottom to the top or vice versa. The
`uppermost element of the protocol stack 200 is the Appli
`cation Group 210. The Application Group 210 represents
`higher level applications—such as word processors, spread
`sheets, communications programs and the like—that directly
`interact with the user. The application often sends com
`mands to devices that may be connected via a Bluetooth
`radio Such as a printer, a modem, a fax, etc.
`The next functional layer in the protocol stack 200 is
`referred to as the Middleware Protocol Group, designated at
`215. The Middleware Protocol Group 215 represents the
`various protocols that are used as a communication inter
`face, or channel, between the applications residing in the
`Application Group 210 and the lower levels of the protocol
`stack, designated at 227. Exemplary protocols include TCP,
`TCS-BIN, P