1. Field of Invention
The present invention relates to advertising information available in a apparatus, and more specifically, to a system and/or strategy for advertising at least apparatus identification and communication profile information in an apparatus that may have a plurality of profiles.
2. Background
Wireless apparatuses have become prevalent in today's society. This popularity may, at least in part, be fueled by rapid technological development in the area of multifunction wireless communication apparatuses (WCD). Consumers may now replace common standalone productivity apparatuses like computers, laptops, facsimile machines, personal digital assistants, etc. with a solitary apparatus capable of performing all of these functions. Apparatuses with these abilities have been embraced by business people who often find that work can now be completed during time that was previously wasted (commutes to and from work, home, etc.)
However, while a WCD may be empowered with many beneficial features, the small size and power constraints of these apparatuses may also create a hindrance for the user. The operator interfaces installed in these apparatuses are often small, and therefore, may not be conducive to high throughput. As a result, users may rely on peripheral input apparatuses such as keyboards, mice, headsets, etc. in order to perform their work. Further, the small size of many apparatuses today also implies that there is a lack of physical connections to connect wired apparatuses. Therefore, a WCD should not only be able to support wireless communications with one peripheral apparatus, but it should also be able to support connections with multiple peripheral apparatuses being operated concurrently.
Apparatuses may interact with each other through the provision of introductory information that communicates information that may be used to determine both whether to, and how to, connect to another apparatus. Introductory information may include at least apparatus identification information and interface and/or functionality-related information communicated, for example, in the form of a communication profile. Communication profiles may, for example, define how applications on an apparatus may wirelessly gain access to remote resources residing on another apparatus. Simple apparatuses (e.g., sensors, headsets, computer mice, etc.) may include a relatively limited command set accessible by other apparatuses, and therefore, may only include a single communication profile. However, complex apparatuses may include more than one communication profile corresponding to various wirelessly-accessible functionalities.
In at least one scenario, a more complex wireless communication apparatus may assume various roles when interacting with other apparatuses. A apparatus including an alphanumeric keyboard may, for example, serve as a user input interface providing information to a apparatus without such capability via wireless communication. The same complex apparatus may also include a cellular data communication profile that may allowing another apparatus (e.g., a laptop or other computing apparatus) to access the internet, a data storage profile for storing information received by wireless communication to a fixed or removable medium, a video streaming profile, etc. However, difficulty may be experienced when trying to advertise various profiles to potential consumers as a component of the overall introductory information.
The present invention may include a method, apparatus, computer program and system for conveying introductory information between an advertising apparatus (advertiser) and a scanning apparatus (scanner). As part of providing introductory information, an advertiser may inform a scanner of identification information and one or more communication profiles available on the advertiser that are usable for accessing various functionality. Identification and profile information may be provided in together in the same message, or as part of multiple messages. Introductory information may be conveyed using an established wireless connection between apparatuses, or alternatively, may be part of a broadcast message that may be received in the scanner without the need to first negotiate a formal wireless link to the advertiser.
In at least one embodiment of the present invention, an advertising strategy may be employed to facilitate the communication of introductory information that can account for multiple communication profiles. This strategy for communicating introductory information from apparatuses having multiple profiles, or multiple introduction advertising (MIA) strategy, may advertise different sets of introductory information in different patterns that may indicate to a receiving apparatus that more than one profile is accessible on the advertiser.
For example, an MIA strategy may communicate different sets of introductory information repeatedly in a set sequence. During this interaction, another apparatus may establish a wireless link to the advertiser over which identification information and information related to available profiles may be transferred. Exemplary communication profile information may include the identification of individual communication profiles, a list of all available communication profiles, a flag indicating that additional communication profiles are available, etc. In another exemplary configuration of the present invention, the MIA strategy may utilize a connectionless data transfer. For example, an advertising apparatus may broadcast introductory information including identification and profile information in a set pattern without having to deal with the formality of first establishing a wireless link with another apparatus.
The invention may be further understood from the following detailed description of various exemplary embodiments, taken in conjunction with appended drawings, in which:
While the present invention has been described below in terms of multiple exemplary embodiments, various changes can be made therein without departing from the spirit and scope of the invention, as described in the appended claims.
As previously set forth, the present invention, in accordance with at least one embodiment, may be implemented utilizing a variety of apparatuses. Therefore, establishing an understanding of wirelessly-enabled apparatuses that may be used in implementing these various exemplary embodiments may aid in comprehending the following disclosure. For example, in the case of a cellular handset, palmtop or laptop computer, wireless communicator or other handheld wireless apparatus, the integrated data handling capabilities of the apparatus may play an important role in facilitating transactions between the transmitting and receiving apparatuses.
Control module 110 may regulate the operation of the apparatus. Inputs into control module 110 may be received from various other modules included within WCD 100. For example, interference sensing module 120 may use various techniques known in the art to sense sources of environmental interference within transmission range of WCD 100. Control module 110 may interpret these inputs, and in response, may issue control commands to other modules.
Communications module 130 may generally incorporate all of the wired and/or wireless communication features of WCD 100. As shown in
User interface module 140 includes visual, audible and tactile elements which allow a user to receive data from, and enter data into, the apparatus. The data entered by a user may be interpreted by control module 110 to affect the behavior of WCD 100. User-inputted data may also be transmitted by communications module 130 to other apparatuses within transmission range (e.g., for wireless communication). Conversely, other apparatuses may also send information to WCD 100 via communications module 130, and control module 110 may cause this information to be transferred to user interface module 140 for presentment to the user.
Applications module 180 may incorporate all other hardware and/or software resources on WCD 100. Applications in this module may include sensors, interfaces, utilities, interpreters, data applications, or any other functionality executable on WCD 100. Applications within application module 180 may be invoked by control module 110 to, for example, read information provided by various modules and in turn supply information to requesting modules.
Memory 152 may include fixed and/or removable memory media (e.g., magnetic, optical, etc.) that may comprise, for example, random access memory (RAM), read only memory (ROM), rewritable solid state memory like flash, etc. Memory 152 may store information in the form of data and software components (also referred to herein as modules). The data stored by memory 152 may be associated with particular control, application or database modules such as command databases, contacts databases or business databases for scheduling, email, etc.
The software components stored by memory 152 may include computer-readable instructions that can be executed by processor 150. Various types of software components may be stored in memory 152. For instance, memory 152 may store software components that control communication sections 154, 158 and 166. Memory 152 may also store software components related to operating system components, user interfaces, applications, utilities, security, entertainment and any communication utilities modules required to support WCD 100.
Long-range communications 154 may perform activities related to the exchange of information over large geographic areas (such as cellular network communication). These long-range network technologies have traditionally been classified by generations, starting in the late 1970s to early 1980s with first generation (1G) analog cellular telephones that provided baseline voice communication, to modern digital cellular telephones. Global System for Mobile Communications (GSM) is an example of a widely employed 2G digital cellular network communicating in the 900 MHZ/1.8 GHZ bands in Europe and at 850 MHz and 1.9 GHZ in the United States. In addition to voice functionality (e.g., via GSM), long-range communications 154 may operate to establish wireless data communication sessions, such as General Message Radio Service (GPRS) sessions and/or Universal Mobile Telecommunications System (UMTS) sessions. Long-range communications 154 may also operate to transmit and receive text messages, such as via the short messaging service (SMS), and/or multimedia content via multimedia messaging service (MMS) messages.
As a subset of long-range communications 154, or alternatively operating as an independent module separately coupled to processor 150, broadcast receivers 156 allows WCD 100 to receive unsolicited wireless communication via mediums such as Digital Video Broadcast for Handheld Apparatuses (DVB-H). Transmissions may be encoded so that only certain apparatuses may access transmission content, and may contain text, audio or video information. In at least one example, WCD 100 may receive broadcasts and/or information within the broadcast signal to determine if the apparatus is permitted to view the received content.
Short-range communications 158 may support the exchange of information across short-range wireless networks. As described above and depicted in
Short-range input device 166, also depicted in
As further shown in
WCD 100 may also include one or more transponders 168. A transponder may be an essentially passive apparatus that may be programmed by processor 150 with information to be delivered in response to a scan from an outside source. For example, an RFID scanner mounted in an entryway may continuously emit radio frequency waves. When an apparatus containing transponder 168 passes through the entryway, the transponder may be energized and may respond with information identifying the apparatus, person, security information (e.g., security codes), etc. In addition, a reader may be mounted (e.g., as discussed above with regard to examples of short-range input device 166) in WCD 100 so that it can read information from other transponders in the vicinity.
Hardware corresponding to communications sections 154, 156, 158 and 166 provide for the transmission and reception of signals. Accordingly, these sections may include components (e.g., electronics) that perform functions such as modulation, demodulation, amplification, and filtering. These sections may be locally controlled, or may be controlled by processor 150 in accordance with software communication components stored in memory 152.
The elements shown in
During exemplary apparatus operation, user interface 160 may interact with one or more communication software components (e.g., stored in memory 152) that may provide for the establishment of communication service sessions using long-range communications 154 and/or short-range communications 158. The communication utility software components may include various routines that allow for the transmission and reception of information and services from remote apparatuses according to mediums such as the Wireless Application Medium (WAP), Hypertext Markup Language (HTML) variants like Compact HTML (CHTML), etc.
In accordance with at least one exemplary embodiment, the present invention may be implemented with a short-range wireless communication medium. Bluetooth™ is an example of a commonly employed short-range wireless technology. A Bluetooth™-enabled WCD may transmit and receive data, for example, at a rate of 720 Kbps within a range of 10 meters, and may transmit up to 100 meters with additional power boosting. Current Bluetooth™-enabled apparatuses may operate at a nominal rate of 1 Mbps. A user does not have to actively instigate a Bluetooth™ network. Instead, a plurality of apparatuses within communication range of each other may automatically form a network group called a “piconet”. Any apparatus may promote itself to be the master of the piconet, allowing it to manage data exchanges between up to seven “active” slaves and 255 “parked” slaves. Active slaves may exchange data based on the clock timing of the master. Parked slaves may monitor a beacon signal in order to stay synchronized with the master apparatus, and wait for one of the seven active slots to become available. The networked Bluetooth™ apparatuses may continually switch between active and power saving modes in order to conserve resources when not communicating with other piconet members. In addition to Bluetooth™ other popular short-range wireless networks include WLAN (of which “Wi-Fi” local access points communicating in accordance with the IEEE 802.11 standard, is an example), WUSB, UWB, ZigBee (802.15.4, 802.15.4a), ULP-BT and UHF RFID.
The present invention, in accordance with various exemplary embodiments, may be implemented with any communication configuration enabled to operate in a manner similar to the above identified exemplary communication mediums. While ULP-BT will be used for the sake of explanation in the following disclosure, as previously set forth, the following exemplary embodiments of the present invention are not specifically limited to this wireless communication medium. ULP-BT is an open standard industry initiative that was initially called Wibree at its introduction, but has since been adopted by the Bluetooth™ Users Group for use in extending local connectivity to small apparatuses. ULP-BT may enable close range communication with Bluetooth™-like performance of 1 Mbps in the 0-10 meter range. ULP-BT may be optimal for installations requiring extremely low power consumption, small size and low cost. ULP-BT may be implemented either as stand-alone chip or as Bluetooth™ ULP-BT dual-mode chip.
Now referring to
After the application and/or target peripheral apparatus (or apparatuses) have been established, any information to be sent must be prepared for transmission. L2CAP level 204 may include at least a logical link controller and adaptation protocol. This protocol may support higher level protocol multiplexing message segmentation and reassembly, and the conveying of quality of service information. The information prepared by L2CAP level 204 may then be passed to an application-optional host controller interface (HCI) 206. This layer may provide a command interface to the lower link manager protocol (LMP) layers, link manager (LM) 208 and link controller (LC) 210. LM 208 may establish the link setup, authentication, link configuration and other protocols related to establishing a wireless link between two or more apparatuses. Further, LC 210 may manage active links between two or more apparatuses by handling low-level baseband protocols. Wireless communication may then be established and conducted using hardware (modem, antenna, etc.) residing in physical layer (PHY) 212. Of course, the above identified layers of Bluetooth™ stack 200 may also be utilized in an order reversed from that disclosed above in order to receive a wireless transmission into WCD 100 from a peripheral apparatus.
The layers in the standalone ULP-BT stack 220 are similar to the elements previously described. However, due to the relative simplicity of ULP-BT when compared to Bluetooth™, there may actually be fewer layers utilized to achieve wireless communication. ULP-BT Profiles 222, similar to the profiles used in Bluetooth™, may specify applications that can use ULP-BT for communication, as well as peripheral apparatuses with which a ULP-BT modem may wirelessly communicate. An adaptation layer 224 may be used to prepare the information for transmission via wireless communication. Adaptation layer 224 may be, for example, a Profile Adaptation Layer (PAL) or an L2CAP similar to Bluetooth™, but configured for simplified and/or low-power operation. Host interface (HIF) layer 226 may provide an interface between the upper layers communicating with applications and schedulers in WCD 100, and the lower layers of the ULP-BT stack 220 which establish and maintain the links to peripheral apparatuses. Lower layers of the ULP-BT stack 220 may further include at least link layer (LL) 228. LL 228 may both establish and maintain wireless communications with other wireless enabled apparatuses through the use of Physical Layer (PHY) 230. However, LL 228 as shown in the ULP-BT stack may differ significantly from LM 208 and LC 210 in Bluetooth™.
In
Application layer 400 may include, for example, various programs executable by a computing apparatus. Exemplary applications may include communication, entertainment or productivity programs running on WCD 100. An application may use ULP-BT Profiles 222 in ULP-BT (e.g. Profile 1, Profile 2, etc.) in order to send information into the ULP-BT protocol stack 220 in a transaction supervised by Host Manager 404. The information may then be prepared by adaptation layer 224 and GAP 406 for routing to ULP-BT radio 408, wherein LL 228 may both establish new wireless connections and manage existing connections with peripheral apparatuses through the resources (modem, antenna, etc.) included in PHY layer 230.
V. Communication Between an Advertiser and at Least One Receiving Apparatus with Connection.
Referring now to
As set forth above, advertiser 510 may broadcast a signal to all apparatuses within transmission range. The advertising signal may be repeated periodically, may be triggered by another apparatus (e.g., a motion sensor) alerting advertiser 510 to the presence of a potential scanning apparatus 500, etc. Information included in the broadcast signal, ADV_IND, may include introductory information at least identifying advertiser 510, for example in the form of a dedicated apparatus name, and possibly also including profile information. This identification may be public (e.g., the actual fixed apparatus address) or may be private (e.g., a dynamically generated pseudonym that receiving apparatuses can decode, using an algorithm, and compare to stored information to determine whether advertiser 510 is the same device as previously encountered without disclosing the public address of the advertiser). For security reasons, there are few scenarios where an apparatus would actually need to disclose it's public address. The ADV_IND message may be broadcast, according to at least one embodiment of the present invention, on an advertising channel. All potential scanners 500 may be aware that any broadcast messages should be expected on the designated advertising channel (also, in some instance, called the initialization channel). In a more specific scenario, ULP-BT may include three predetermined advertising channels. Therefore, scanner 500 and advertiser 510, when using ULP-BT, may be able to utilize one or more of the three advertising channels in a strategy to enhance broadcast coverage in view of advertising channel availability.
Scanner 500, upon receiving the ADV_IND message from advertiser 510, may either ignore the message and continue listening for another ADV_IND message with different content, or initiate communications with advertiser 510. At least one scenario where scanner 500 may continue to listen to the advertising signal may be in order to collect all available introductory information from advertiser 510 (e.g., advertiser identification and available profile information). Scanner 500 may respond, for example, if advertiser 510 is identified and/or recognized as having information of interest to a apparatus user. This recognition may occur automatically, or alternatively, the user may be alerted to the presence of advertiser 510, whereby the user may act manually by prompting scanner 500 (e.g., WCD 100) to respond to the advertising message. Alternatively, scanner 500 may respond simply by acknowledging the reception of information from advertiser 510. Scanner 500 may then transmit a message requesting a formal network connection with advertiser 510. If advertiser 510 is in a condition to honor the request (e.g., advertiser 510 is, for example, not already connected to another apparatus/exceeded maximum connections, has adequate power, etc.) a formal network connection may be established between the two apparatuses 500 and 510.
A formal network connection, such as shown in
Scanner 500 may respond to ADV_IND message 550 and may request further information about advertiser 510 with a SCAN_REQ message 552. Scanner 500 may request a LL 228 connection to advertiser 510 using a CONNECT_REQ message. Scanner 500 is allowed to transmit their own request messages only after successfully received ADV_IND messages.
After every ADV_IND message transmission, advertiser 510 shall listen for a SCAN_REQ and CONNECT_REQ message on the same channel. If no message is received on the advertising channel, Advertiser 510 may move to the next predetermined advertising channel to transmit another ADV_IND message, or to close the event. The time between the beginning of two consecutive ADV_IND messages within an event shall be less than or equal to 1.5 ms. However, if advertiser 510 receives a correct SCAN_REQ message 552 from an approved or recognized apparatus (e.g., scanner 500), it may reply with SCAN_RSP message 554 after the end of the SCAN_REQ message. Otherwise, the message may be ignored if the apparatus is not approved. After SCAN_RSP 554 transmission, advertiser 510 may either move to the next used advertising channel to transmit another ADV_IND message, or to close the event.
An exemplary payload for SCAN_RSP 554 is shown in
A connectionless advertising event may contain information only from advertiser 510. This message may be used, for example, to broadcast information from advertiser 510 without the need of establishing a formal connection to another apparatus (e.g., scanner 500). Advertiser 510 may transmit only ADV_NONCONN_IND messages 558, and may ignore any request for further information about advertiser 510 or for a LL connection from other apparatuses. Scanner 500 may not actively participate in this transaction (e.g., send messages). Each event shall contain one ADV_NONCONN_IND message 558 on every used advertising channel. Advertising channel usage may be determined by advertiser 510. After every ADV_NONCONN_IND message 558 transmission, advertiser 510 may either move to the next used advertising channel to transmit another ADV_NONCONN_IND message 558, or to close the event. An event may also be closed, for example, after completion of advertising message transmission in every used advertising channel.
ADV_NONCONN_IND message 558 may have a structure and content as shown in
In view of this example, simple apparatus 600 may include only one profile (e.g., sensor profile 602). Apparatuses wishing to obtain information from simple apparatus 600 may utilize this profile for establishing communication. On the other hand, complex apparatus 610 may be, for example, a wireless communicator, laptop or palmtop computer, personal digital assistant (PDA), a cellular handset, etc. As complex apparatus 610 may include many features, such as one or more of the features discussed above with respect to WCD 100, multiple profiles may exist on the apparatus. Exemplary profiles as shown in
In view of the example of
The profile UUID attribute may hold a UUID that can identify a single profile that this apparatus supports. This attribute can be repeated a number of times, enabling one or more profiles to be enumerated. For example, if the attribute value is 2 octets in size, then this UUID shall be interpreted as a 16 bit ULP-BT UUID. If the attribute value is 16 octets in size, then this UUID shall be interpreted as a 128 bit UUID. All attribute handles for a given Profile may be sequential. In some instances there may be gaps in the attribute handles for a given profile, but other profile UUIDs cannot be placed in the middle of another profile's attribute handles. The Profile UUID attribute shall have the smallest handle number in the profile range.
The profile UUID attribute described above may be used to communicate identification data to encountered apparatuses (e.g., scanner 500), as well as information related to various profiles that may be available in a apparatus (e.g., advertiser 510). The challenge then becomes to devise a strategy for communicating this information.
As further depicted in
Now referring to
In example 900 disclosed in
In examples 902 and 904 of
A flowchart for an exemplary process for advertising introductory information including information on one or more profiles available on an apparatus, in accordance with at least one exemplary embodiment of the present invention, is now disclosed with respect to
If a scanner desires to access the advertised profile, which may be visualized on a display in the scanner and may involve a user interaction, for example, for selecting a profile from the device information shown on the displayed user interface (e.g., sensor icon with the device name). Then in step 1006 a wireless link may be established between the scanner and advertiser to grant access to the profile. This communication may take place in step 1008. If the connection is determined to be broken in step 1010 due to, for example, interference, moving out of transmission range, communications being disabled in an apparatus, etc, then the process may return to step 1002 to reinitiate the advertising of the introductory information. However, if no break in communication is detected in step 1010, then the process may move to step 1012 where communication using the profile may continue (e.g., may return to step 1008) until completed. The process may return to step 1000 to wait for the advertising apparatus to again become active.
However, if a determination is made in step 1002 that multiple communication profiles are available in an advertiser, then in step 1014 an inquiry may be made as to whether the advertiser is enabled to advertise introductory information including multiple profiles (e.g., whether the apparatus can implement a MIA strategy). If this functionality is not available, then the apparatus may only advertise using a single communication profile, which is represented by return to step 1004. On the other hand, if the ability to advertise multiple profiles is available, then in step 1016 a MIA strategy may be selected. Step 1016 has been represented as optional (i.e., with a dotted outline) as the selection of a MIA strategy would only be necessary in the instance where the advertiser has more than one MIA strategy available.
In step 1018, the advertiser may cycle the advertised introductory information by including, for example, information related to advertiser identification and each available communication profile in accordance with any of the previously described connection-based or connectionless MIA strategies. The order of the advertised profiles may be determined in view of apparatus, profile or environmental parameters. Apparatus-related parameters may include, for example, power level, current apparatus mode (active, high security, sleep, etc.), a number of active radios or active communication links in the apparatus, a manually or automatically set configuration in the apparatus, etc. Profile-related parameters may include, for example, the frequency that a profile is accessed, the resources required to support each profile, a number of devices current accessing each profile, etc. Environmental-related parameters may include, for example, general electronic signal interference or other active communication signals detected near an advertiser, other devices sensed in proximity to an advertiser, etc. A scanner may receive advertised introductory information, and based on the communication profile information included in the introductory information, may make a determination as to a profile to select and access in step 1020. The process may then proceed to step 1006 where a connection may be established for granting the scanner access to the selected communication profile.
Accordingly, it will be apparent to persons skilled in the relevant art that various changes in form a and detail can be made therein without departing from the spirit and scope of the invention. The breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.