Aspects of the present disclosure relate generally to wireless docking systems, and more particularly, to systems and methods of establishing a direct pairing between a dockee and one or more peripherals in a wireless docking system.
Wireless communication networks are widely deployed to provide various communication services such as telephony, video, data, messaging, broadcasts, and so on. Such networks, which are usually multiple access networks, support communications for multiple users by sharing the available network resources.
Recent interest has been directed toward WLAN connectivity, where a dockee, e.g., a mobile device such as a cellular telephone, can utilize a WLAN interface (e.g., an IEEE 802.11 “Wi-Fi” interface) to establish wireless communication links with one or more peripheral devices. Here, peripheral devices can be any of numerous types, such as a mouse, keyboard, display, printer, camera, speakers, mass storage devices, media servers, sensors, and many others. Some such WLAN-enabled devices are configured for direct connectivity between devices, e.g., without the need of an intermediate wireless router or docking host. For example, Wi-Fi Direct is a known standard for direct connectivity between a device such as a mobile phone with peripheral devices.
As the demand for mobile broadband access continues to increase, research and development continue to advance wireless technologies not only to meet the growing demand for mobile broadband access, but to advance and enhance the user experience with mobile communications.
The following presents a simplified summary of one or more aspects of the present disclosure, in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated features of the disclosure, and is intended neither to identify key or critical elements of all aspects of the disclosure nor to delineate the scope of any or all aspects of the disclosure. Its sole purpose is to present some concepts of one or more aspects of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
Various aspects of the present disclosure enable a docking procedure where a dockee, when docking with a docking host that manages a docking environment, can become directly paired with the peripherals in the docking environment in a straightforward fashion. Furthermore, a persistent direct pairing may be established such that after a first docking session, subsequent docking sessions where the dockee is directly paired with the same peripherals can further be expedited.
In one aspect, the disclosure provides a method operable at a docking host for direct pairing between a dockee and a peripheral paired with the docking host, the method including the steps of establishing a first communication link with the peripheral such that the docking host is a P2P group owner (GO) and the peripheral is a P2P client of the docking host, establishing a second communication link with the dockee such that the dockee is a P2P client of the docking host, and transmitting information to the dockee over the second communication link to enable the dockee to establish a tunneled direct link setup (TDLS) connection with the peripheral.
In another aspect, the disclosure provides a method operable at a dockee for direct pairing with a peripheral in a docking environment managed by a docking host, the method including the steps of establishing a first communication link with the docking host such that the docking host is a P2P group owner (GO) and the dockee is a P2P client of the docking host, receiving information from the docking host over the first communication link to enable the dockee to establish a tunneled direct link setup (TDLS) connection with the peripheral, and establishing a second communication link with the peripheral utilizing TDLS in accordance with the received information.
In another aspect, the disclosure provides a method operable at a docking host for direct pairing between a dockee and a peripheral paired with the docking host, the method including the steps of establishing a first communication link with the peripheral such that the docking host is a P2P group owner (GO) and the peripheral is a P2P client of the docking host, establishing a second communication link with the dockee such that the dockee is a P2P GO and the docking host is a P2P client of the dockee, and receiving a request from the dockee over the second communication link for information enabling establishment of a direct pairing between the dockee and the peripheral.
In another aspect, the disclosure provides a method operable at a dockee for direct pairing with a peripheral in a docking environment managed by a docking host, the method including the steps of establishing a first communication link with the docking host such that the dockee is a P2P group owner (GO) and the docking host is a P2P client of the dockee, transmitting a request to the docking host over the first communication link for information enabling establishment of a direct pairing between the dockee and the peripheral, and establishing a second communication link with the peripheral in accordance with the received information.
In another aspect, the disclosure provides a method operable at a dockee for direct pairing with a peripheral in a docking environment managed by a docking host, the method including the steps of establishing an initial docking session with the docking host, receiving information from the docking host to enable a direct pairing between the dockee and the peripheral, communicating with the peripheral to obtain a persistent key adapted to enable a persistent direct pairing between the dockee and the peripheral, and communicating with the peripheral to obtain a session key adapted to enable secure communication during a first direct pairing session.
In another aspect, the disclosure provides a method operable at a docking host for direct pairing between a dockee and a peripheral paired with the docking host, the method including the steps of establishing a docking session with the dockee, transmitting information to the dockee to enable a direct pairing between the dockee and the peripheral, determining that the dockee and the peripheral have engaged in direct pairing in a prior docking session, and transmitting a request for direct pairing to at least one of the peripheral or the dockee.
In another aspect, the disclosure provides a docking host configured for direct pairing between a dockee and a peripheral paired with the docking host, including at least one processor, a transceiver communicatively coupled to the at least one processor, and a memory communicatively coupled to the at least one processor, wherein the at least one processor is configured to establish a first communication link with the peripheral such that the docking host is a P2P group owner (GO) and the peripheral is a P2P client of the docking host, to establish a second communication link with the dockee such that the dockee is a P2P client of the docking host, and to transmit information to the dockee over the second communication link to enable the dockee to establish a tunneled direct link setup (TDLS) connection with the peripheral.
In another aspect, the disclosure provides a dockee configured for direct pairing with a peripheral in a docking environment managed by a docking host, including at least one processor, a transceiver communicatively coupled to the at least one processor, and a memory communicatively coupled to the at least one processor, wherein the at least one processor is configured to establish a first communication link with the docking host such that the docking host is a P2P group owner (GO) and the dockee is a P2P client of the docking host, to receive information from the docking host over the first communication link to enable the dockee to establish a tunneled direct link setup (TDLS) connection with the peripheral, and to establish a second communication link with the peripheral utilizing TDLS in accordance with the received information.
In another aspect, the disclosure provides a docking host configured for direct pairing between a dockee and a peripheral paired with the docking host, including at least one processor, a transceiver communicatively coupled to the at least one processor, and a memory communicatively coupled to the at least one processor, wherein the at least one processor is configured to establish a first communication link with the peripheral such that the docking host is a P2P group owner (GO) and the peripheral is a P2P client of the docking host, to establish a second communication link with the dockee such that the dockee is a P2P GO and the docking host is a P2P client of the dockee, and to receive a request from the dockee over the second communication link for information enabling establishment of a direct pairing between the dockee and the peripheral.
In another aspect, the disclosure provides a dockee configured for direct pairing with a peripheral in a docking environment managed by a docking host, including at least one processor, a transceiver communicatively coupled to the at least one processor, and a memory communicatively coupled to the at least one processor, wherein the at least one processor is configured to establish a first communication link with the docking host such that the dockee is a P2P group owner (GO) and the docking host is a P2P client of the dockee, to transmit a request to the docking host over the first communication link for information enabling establishment of a direct pairing between the dockee and the peripheral, and to establish a second communication link with the peripheral in accordance with the received information.
In another aspect, the disclosure provides a dockee configured for direct pairing with a peripheral in a docking environment managed by a docking host, including at least one processor, a transceiver communicatively coupled to the at least one processor, and a memory communicatively coupled to the at least one processor, wherein the at least one processor is configured to establish an initial docking session with the docking host, to receive information from the docking host to enable a direct pairing between the dockee and the peripheral, to communicate with the peripheral to obtain a persistent key adapted to enable a persistent direct pairing between the dockee and the peripheral, and to communicate with the peripheral to obtain a session key adapted to enable secure communication during a first direct pairing session.
In another aspect, the disclosure provides a docking host configured for direct pairing between a dockee and a peripheral paired with the docking host, including at least one processor, a transceiver communicatively coupled to the at least one processor, and a memory communicatively coupled to the at least one processor, wherein the at least one processor is configured to establish a docking session with the dockee, to transmit information to the dockee to enable a direct pairing between the dockee and the peripheral, to determine that the dockee and the peripheral have engaged in direct pairing in a prior docking session, and to transmit a request for direct pairing to at least one of the peripheral or the dockee.
In another aspect, the disclosure provides a docking host configured for direct pairing between a dockee and a peripheral paired with the docking host, including means for establishing a first communication link with the peripheral such that the docking host is a P2P group owner (GO) and the peripheral is a P2P client of the docking host, means for establishing a second communication link with the dockee such that the dockee is a P2P client of the docking host, and means for transmitting information to the dockee over the second communication link to enable the dockee to establish a tunneled direct link setup (TDLS) connection with the peripheral.
In another aspect, the disclosure provides a dockee configured for direct pairing with a peripheral in a docking environment managed by a docking host, including means for establishing a first communication link with the docking host such that the docking host is a P2P group owner (GO) and the dockee is a P2P client of the docking host, means for receiving information from the docking host over the first communication link to enable the dockee to establish a tunneled direct link setup (TDLS) connection with the peripheral, and means for establishing a second communication link with the peripheral utilizing TDLS in accordance with the received information.
In another aspect, the disclosure provides a docking host configured for direct pairing between a dockee and a peripheral paired with the docking host, including means for establishing a first communication link with the peripheral such that the docking host is a P2P group owner (GO) and the peripheral is a P2P client of the docking host, means for establishing a second communication link with the dockee such that the dockee is a P2P GO and the docking host is a P2P client of the dockee, and means for receiving a request from the dockee over the second communication link for information enabling establishment of a direct pairing between the dockee and the peripheral.
In another aspect, the disclosure provides a dockee configured for direct pairing with a peripheral in a docking environment managed by a docking host, including means for establishing a first communication link with the docking host such that the dockee is a P2P group owner (GO) and the docking host is a P2P client of the dockee, means for transmitting a request to the docking host over the first communication link for information enabling establishment of a direct pairing between the dockee and the peripheral, and means for establishing a second communication link with the peripheral in accordance with the received information.
In another aspect, the disclosure provides a dockee configured for direct pairing with a peripheral in a docking environment managed by a docking host, including means for establishing an initial docking session with the docking host, means for receiving information from the docking host to enable a direct pairing between the dockee and the peripheral, means for communicating with the peripheral to obtain a persistent key adapted to enable a persistent direct pairing between the dockee and the peripheral, and means for communicating with the peripheral to obtain a session key adapted to enable secure communication during a first direct pairing session.
In another aspect, the disclosure provides a docking host configured for direct pairing between a dockee and a peripheral paired with the docking host, including means for establishing a docking session with the dockee, means for transmitting information to the dockee to enable a direct pairing between the dockee and the peripheral, means for determining that the dockee and the peripheral have engaged in direct pairing in a prior docking session, and means for transmitting a request for direct pairing to at least one of the peripheral or the dockee.
In another aspect, the disclosure provides a computer-readable storage medium including instructions for causing a computer at a docking host to establish a first communication link with a peripheral such that the docking host is a P2P group owner (GO) and the peripheral is a P2P client of the docking host, to establish a second communication link with a dockee such that the dockee is a P2P client of the docking host, and to transmit information to the dockee over the second communication link to enable the dockee to establish a tunneled direct link setup (TDLS) connection with the peripheral.
In another aspect, the disclosure provides a computer-readable storage medium including instructions for causing a computer at a dockee to establish a first communication link with a docking host such that the docking host is a P2P group owner (GO) and the dockee is a P2P client of the docking host, to receive information from the docking host over the first communication link to enable the dockee to establish a tunneled direct link setup (TDLS) connection with a peripheral, and to establish a second communication link with the peripheral utilizing TDLS in accordance with the received information.
In another aspect, the disclosure provides a computer-readable storage medium including instructions for causing a computer at a docking host to establish a first communication link with a peripheral such that the docking host is a P2P group owner (GO) and the peripheral is a P2P client of the docking host, to establish a second communication link with a dockee such that the dockee is a P2P GO and the docking host is a P2P client of the dockee, and to receive a request from the dockee over the second communication link for information enabling establishment of a direct pairing between the dockee and the peripheral.
In another aspect, the disclosure provides a computer-readable storage medium including instructions for causing a computer at a dockee to establish a first communication link with a docking host such that the dockee is a P2P group owner (GO) and the docking host is a P2P client of the dockee, to transmit a request to the docking host over the first communication link for information enabling establishment of a direct pairing between the dockee and a peripheral, and to establish a second communication link with the peripheral in accordance with the received information.
In another aspect, the disclosure provides a computer-readable storage medium including instructions for causing a computer at a dockee to establish an initial docking session with a docking host, to receive information from the docking host to enable a direct pairing between the dockee and a peripheral, to communicate with the peripheral to obtain a persistent key adapted to enable a persistent direct pairing between the dockee and the peripheral, and to communicate with the peripheral to obtain a session key adapted to enable secure communication during a first direct pairing session.
In another aspect, the disclosure provides a computer-readable storage medium including instructions for causing a computer at a docking host to establish a docking session with a dockee, to transmit information to the dockee to enable a direct pairing between the dockee and a peripheral, to determine that the dockee and the peripheral have engaged in direct pairing in a prior docking session, and to transmit a request for direct pairing to at least one of the peripheral or the dockee.
These and other aspects of the invention will become more fully understood upon a review of the detailed description, which follows.
The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known structures and components are shown in block diagram form in order to avoid obscuring such concepts.
In this example, the processing system 114 may be implemented with a bus architecture, represented generally by the bus 102. The bus 102 may include any number of interconnecting buses and bridges depending on the specific application of the processing system 114 and the overall design constraints. The bus 102 links together various circuits including one or more processors (represented generally by the processor 104), a memory 105, and computer-readable media (represented generally by the computer-readable medium 106). The bus 102 may also link various other circuits such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further. A bus interface 108 provides an interface between the bus 102 and a transceiver 110. The transceiver 110 provides a means for communicating with various other apparatus over a transmission medium. Depending upon the nature of the apparatus, a user interface 112 (e.g., keypad, display, speaker, microphone, joystick) may also be provided.
The processor 104 is responsible for managing the bus 102 and general processing, including the execution of software stored on the computer-readable medium 106. The software, when executed by the processor 104, causes the processing system 114 to perform the various functions described infra for any particular apparatus. The computer-readable medium 106 may also be used for storing data that is manipulated by the processor 104 when executing software.
One or more processors 104 in the processing system may execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. The software may reside on a computer-readable medium 106. The computer-readable medium 106 may be a non-transitory computer-readable medium. A non-transitory computer-readable medium includes, by way of example, a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip), an optical disk (e.g., a compact disc (CD) or a digital versatile disc (DVD)), a smart card, a flash memory device (e.g., a card, a stick, or a key drive), a random access memory (RAM), a read only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), a register, a removable disk, and any other suitable medium for storing software and/or instructions that may be accessed and read by a computer. The computer-readable medium may also include, by way of example, a carrier wave, a transmission line, and any other suitable medium for transmitting software and/or instructions that may be accessed and read by a computer. The computer-readable medium 106 may reside in the processing system 114, external to the processing system 114, or distributed across multiple entities including the processing system 114. The computer-readable medium 106 may be embodied in a computer program product. By way of example, a computer program product may include a computer-readable medium in packaging materials. Those skilled in the art will recognize how best to implement the described functionality presented throughout this disclosure depending on the particular application and the overall design constraints imposed on the overall system.
One or more aspects of the disclosure relate to wireless docking systems. A wireless docking system can provide seamless connectivity, enabling a portable device such as a mobile handset, PDA, tablet computer, etc. to connect with a group of peripheral devices without needing wires or a docking connector, a PIN code or elaborate pairing process for between the dockee and each individual peripheral. The peripherals in any docking environment may act as a group, which needs only to be set up once. Many different types of peripherals may be supported in a docking environment, including the bridging of legacy peripherals. Ideally, the best link, protocol, and QoS would be automatically set up for each type of peripheral connection. The best connection may be selected depending on the application (e.g., for a productivity application, for watching videos, or for playing games, etc.), and the environment (e.g., the home enterprise, internet café, etc.). Here, existing application sessions/connections may be left intact.
In various aspects of the disclosure, the communication interface 212 may be a wireless interface configured for communication with a docking host 220. For example, the communication interface 212 may include a Wi-Fi interface compatible with any of the family of standards defined under the IEEE 802.11 standards, an IEEE 802.15.1 “Bluetooth” interface, an IEEE 802.15.4 “ZigBee” interface, or any other suitable wireless communication interface. Of course, some examples of a peripheral 210 may include two or more of the above-described or other communication interfaces. In a particular example described in further detail below, the communication interface 212 may be configured to be compatible with Wi-Fi Direct protocols. Further, when included in a peripheral 210, the peripheral function circuitry 214 may be embodied in any number of ways, including for example a user interface, a display, microphone, speaker, network interface, etc.
Further, in the illustrated example, the docking host 220 includes at least one processor 221, a communication interface 222 communicatively coupled to the at least one processor 221, and a memory 223 communicatively coupled to the at least one processor 221. In some aspects of the disclosure, the at least one processor 221 may be the processor 104 included in the processing system 114 described above and illustrated in
In various aspects of the disclosure, the communication interface 222 may include a Wi-Fi interface compatible with any of the family of standards defined under the IEEE 802.11 standards, an IEEE 802.15.1 “Bluetooth” interface, an IEEE 802.15.4 “ZigBee” interface, or any other suitable wireless communication interface. Of course, some examples of a docking host 220 may include two or more of the above-described or other communication interfaces. In a particular example described in further detail below, the communication interface 222 may be configured to be compatible with Wi-Fi Direct protocols.
Still further, in the illustrated example, the dockee 230 includes at least one processor 231, a communication interface 232 communicatively coupled to the at least one processor 231, a memory 233 communicatively coupled to the at least one processor 231, and a user interface 234 communicatively coupled to the at least one processor 231. In some aspects of the disclosure, the at least one processor 231 may be the processor 104 included in the processing system 114 described above and illustrated in
In various aspects of the disclosure, the communication interface 232 may include a Wi-Fi interface compatible with any of the family of standards defined under the IEEE 802.11 standards, an IEEE 802.15.1 “Bluetooth” interface, an IEEE 802.15.4 “ZigBee” interface, or any other suitable wireless communication interface. Of course, some examples of a dockee 230 may include two or more of the above-described or other communication interfaces. In a particular example described in further detail below, the communication interface 232 may be configured to be compatible with Wi-Fi Direct protocols.
In a further aspect of the disclosure, the dockee 230 may include a user interface 234 for input/output functionality enabling communication between a user and the wireless docking system. As an illustrative but non-limiting example, the dockee 230 may be embodied as a smartphone or tablet device, including a touch-screen interface providing user input and output functionality.
A wireless docking system may provide a wireless connection between a wireless dockee and a wireless docking environment.
The dockee 230 may be any suitable device capable of wirelessly connecting to the wireless docking environment 306 utilizing any suitable communication protocol, which may include but is not limited to IEEE 802.11 “Wi-Fi.” By connecting to the wireless docking environment 306, the dockee 230 may be capable of connecting directly or indirectly to each of the peripherals 210 that are part of the wireless docking environment 306.
The wireless docking environment 306 is a group of one or more physical devices, including one or more wireless docking hosts 220 and one or more peripherals 210. A wireless docking environment 306 can take any suitable configuration or topology, for example, including nothing more than a wireless docking host 220, or additionally including one or more peripherals 210.
The peripherals 210 may represent logical peripheral functions. In general, a peripheral function may be any I/O function implemented in a wireless docking host 220 that can be made available to a wireless dockee 230 through any of various suitable wireless interfaces; any I/O function in an external peripheral device that can be made available to the wireless dockee 230 through the wireless docking host 220, where the external peripheral device may be directly connected to the wireless docking host 220; or any I/O function in an external peripheral device that can be connected directly to the wireless dockee 230, and whose connection to the wireless dockee 230 is set up utilizing information provided by the wireless docking host 220. Peripherals 210 may in some examples be embodied as physical devices having wired and/or wireless interfaces for communicating with the wireless dockee 230 through the wireless docking host 220. Some nonlimiting examples of peripherals might include LCD monitors or other display devices, utilizing, e.g., an HDMI or VGA interface; speakers, microphones a keyboard, mouse, printer, scanner, camera, a mass storage device, etc. utilizing any suitable wired or wireless interface, such as USB; general purpose USB ports or hubs for coupling any suitable USB-compatible device; Ethernet ports for coupling to a network; or any other suitable device.
In the illustration, some peripherals 210 are shown in the wireless docking environment 306, and an extra peripheral 310 is shown outside the wireless docking environment 306. Here, this extra peripheral 310 illustrates that not necessarily all peripherals 210, 310 that are paired with the wireless docking host 220 are included in a particular wireless docking environment 306. That is, a wireless docking environment 306 associated with a wireless docking host 220 may include only a subset of the peripherals 210, 310 that are paired with, or in communication with the docking host 220. Moreover, the extra peripheral 310 may be one of numerous extra peripherals 310, and further, the wireless docking host may provide a plurality of wireless docking environments such as the environment 306. Here, the set of peripherals in a particular wireless docking environment may include any number, from zero or greater, of peripherals, and further, in some examples, a particular peripheral 210, 310 may be included in zero, one, two, or more established wireless docking environments 306.
The wireless docking host 220 may be any suitable device capable of connecting to the wireless dockee 230 and one or more peripherals 210. For example, a wireless docking host 220 may make available to a wireless dockee 230 peripheral functions on external peripherals 210 that are connected to the docking host 220 directly, as well as peripheral functions the wireless docking host 220 itself may implement (e.g., a display).
The docking host 220 may provide different docking experiences or docking environments 306 to different dockees 230. For example, at a given time a dockee 230 may have a particular need for certain peripheral functions, and upon learning of this need, the docking host 220 may therefore provide a corresponding docking environment 306 for that dockee.
One example of a way for a docking host 220 to provide these capabilities to different dockees 230 is for the docking host 220 to preconfigure multiple docking environments 306. That is, multiple groups of peripherals 210 can be preconfigured at the docking host 220, e.g., by randomly selecting groups of available peripherals 210 or by selecting certain peripherals to be grouped together. Here, each group may be a logical group including suitable peripherals 210, which may be manually or automatically configured with the docking host 220.
In this example, the docking host 220 may group its attached and/or wirelessly paired peripherals 210 into multiple hierarchical groups and enable each dockee to use one group. For example, assume that a particular docking host 220 has peripherals A-G available. Here, peripherals A, B, and C may be grouped together into a first group, and peripherals D, E, F, and G may be grouped together into a second group. This way, the groups may be disjoint groups of peripherals. In another example, peripherals A, B, and C may be grouped together into a first group, and peripherals C, D, and E may be grouped together into a second group. This way, the groups may have some intersection or overlap of peripherals.
With a hierarchical grouping, separate groups of peripherals might be disjoint groups, and separate groups might have a common parent. For the common parent, peripherals A, B, C, D, E, and F might be a parent group in the hierarchy, and at the next level of the hierarchy, groups might include, for example, peripherals A, B, and C as a first group; and peripherals D, E, and F as a second group. By utilizing such groups of peripherals, each such group can be considered a separate wireless docking environment 306 as discussed above. That is, a particular wireless docking host 220 may be capable of providing any from a plurality of wireless docking environments 306 to a particular wireless dockee 230, each wireless docking environment 306 including a different group of peripherals that may be one of a plurality of preconfigured hierarchical groups.
In any wireless docking system utilizing docking environments as described above, there are certain disadvantages relating to the use of the docking host 220 in maintaining the docking session. For example, due to the interposition of the docking host 220 between the dockee 230 and the peripherals 210, there can be a reduced efficiency according to any latency added by processing and communication at the docking host 220. Furthermore, it may be the case that the docking host 220 is managing docking sessions for large numbers of dockees 230, which can ultimately overload the processing and/or communication capabilities of the docking host 220.
Therefore, in accordance with an aspect of the disclosure, a direct pairing between the dockee 230 and one or more peripherals 210 may be enabled. For example,
To enable the direct pairing between the wireless dockee 230 and the one or more peripherals 210, it may be desirable to simplify a transition from the existence of the conventional docking environment (as in
One technology that may enable such a direct communication link 506 between the dockee 230 and the peripheral 210 without the use of a LAN access point such as the docking host 220 is frequently referred to as Wi-Fi Direct. Wi-Fi Direct is an existing, published standard that enables such wireless devices to communicate directly with one another, without requiring an intermediate wireless access point. In accordance with various aspects of the present disclosure, wireless LAN communication may utilize the Wi-Fi standard, the Wi-Fi Direct standard, or any other suitable standard for wireless communication over a LAN. For ease of explanation, in the description that follows, the dockee 230 and the peripheral 210 include a communication interface 232, 212, respectively, configured for communication utilizing the Wi-Fi Direct standard.
Various aspects of the present disclosure provide a dockee 230 with a capability to pair directly with one or more peripherals 210 paired with a docking host 220 within a docking environment 306. Further aspects of the disclosure provide a persistent direct pairing capability, wherein the dockee 230 may return to the docking host 220 at a later time and the direct docking between the dockee 230 and the one or more peripherals 210 may be efficiently re-established.
Among various possible configurations, below, two potential use cases are discussed. In a first example, the docking host 220 may be configured as a P2P group owner (GO), with the dockee 230 being configured as a P2P client of the docking host 220; in another example, the dockee 230 may be configured as a P2P (GO), such that the docking host 220 is a P2P client of the dockee 230.
In an example where the dockee 230 is a client (e.g., a P2P client) of the docking host 220, it is generally the case that one or more peripherals 210 would additionally be P2P clients of the docking host 220. In this case, tunneled direct link setup (TDLS) may be utilized directly to connect the dockee 230 with the one or more peripherals 210. Because TDLS is standardized, such a direct pairing can be simplified. That is, the dockee 230 may initiate the TDLS procedure through the docking host 220, and accordingly, the dockee 230 can directly connect with the one or more peripherals 210.
At 606, the dockee 230 may establish a docking session with the docking host 220, joining as a P2P client of the P2P group of which the docking host 220 is the P2P GO. Here, in some aspects of the disclosure, the attachment of the dockee 230 with the docking host 220 may include some manual operation on the part of the user; however, in a further aspect of the disclosure, the handing over of the peripheral(s) 210 to the dockee 230 for direct pairing need not include any further manual pairing operations.
Here, if TDLS is enabled, then at step 610, in a connection negotiation phase, the dockee 230 may transmit to the docking host 220 a request to utilize TDLS as its payload connection type to directly communicate with the peripheral(s) 210. Once accepted, at 612 the dockee 230 may communicate with the docking host 220 to establish the TDLS direct communication link 506 between the dockee 230 and the peripheral(s) 210 for direct communication, and at 614 the direct communication link 506 utilizing TDLS may be established between the dockee 230 and the peripheral(s) 210.
Referring now to the second example introduced above, a direct pairing between a dockee 230 and one or more peripherals 210 may be enabled utilizing wherein the dockee 230 is a P2P group owner (GO), and the docking host 220 is a P2P client for the dockee 230.
At 706, the dockee 230 may establish a docking session with the docking host 220 by inviting the docking host 220 to join a P2P Group of which the dockee 230 is the P2P GO. Next, at 708, the dockee 230 may dock with the docking host 220 and transmit to the docking host 220 a request to communicate with the one or more peripheral(s) 210 directly; and at 710, the dockee 230 and peripheral(s) 210 may establish a direct communication link 506 wherein the dockee 230 is the P2P GO of a group including the peripheral(s) 210.
In various aspects of the disclosure, as a part of the process of step 710, the docking host 220 may assist the peripheral(s) 210 to directly connect to the dockee 230 in various suitable manners. Below, three examples are provided for the docking host 220 to assist the peripheral 210 to establish the direct communication link 504 with the dockee 230. In a first example, the peripheral 210 connects to the dockee 230 as a P2P client connects to a P2P GO, e.g., by going first through a PIN-based Wi-Fi Simple Configuration (WSC) procedure, wherein the PIN is dynamically generated and given by the docking host 220 to the dockee 230. In a second example, the peripheral 210 may connect to the dockee 230 as a P2P Client connects to a P2P GO, utilizing the P2P Group Credential. In a third example, the peripheral 210 may connect to the dockee 230 as a legacy STA connects to an infrastructure AP, utilizing a credential created by the docking host 220. Each of these examples is described in further detail below.
804A and 804B illustrate two examples of different ways that PIN or other suitable credential information may be provided to the dockee 230 and/or the peripheral 210 to enable the direct pairing communication link 504 between the dockee 230 and the peripheral 210.
At 804A, as one alternative, either in response to a request from the dockee 230 to retrieve a PIN, or in some examples upon the initiative of the docking host 220, the docking host 220 may transmit a request to the peripheral 210 to retrieve the identification information such as the PIN corresponding to the peripheral 210 for the provisioning of the dockee 230. In response, the peripheral 210 may transmit the corresponding identification information to the docking host 220 for provisioning the dockee 230. Here, the identification information may be generated for the dockee 230. For example, the identification information may be different from identification information utilized for pairing the peripheral 210 with the docking host. 220. For example, if a first PIN were used for pairing the docking host 220 with the peripheral 210, a second PIN different from the first PIN may be provided from the peripheral 220 to the docking host 220 in response to the request for provisioning information for the dockee 230. In this fashion, in some examples, different identification information may be provided by the peripheral 210 corresponding to each dockee that wishes to employ a direct pairing. The identification information received at the docking host 220 may then be transmitted from the docking host 220 to the dockee 230 in a forwarding message, so that the dockee 230 may register the peripheral 210 utilizing the received identification information. For example, the dockee 230 may include a WTS registrar for registering the peripheral 210 utilizing a received PIN.
At 804B, as another alternative, in an aspect of the disclosure, the docking host 220 may dynamically generate a PIN for a WSC procedure for direct pairing between the dockee 230 and the peripheral 210, and transmit the generated PIN to the peripheral 210 and the dockee 230. In some examples, the docking host 220 may additionally transmit the P2P Device Address of the peripheral 210 to the dockee 230, and may complementarily send the P2P Device Address of the dockee 230 to the peripheral 210, indicating that the PIN is used for the WSC procedure between the peripheral 210 and the dockee 230. In some examples, here, the P2P Group Operating Channel of the dockee 230 may be included, as well as a docking host-assigned direct link expiration time.
Following either alternative 804A or 804B, the dockee 230 may begin a process to contact with the peripheral 210. Thus, at 806 a device phase may begin. Here, the dockee 230 may request the docking host 220 to make the peripheral 210 discoverable, and then invite the peripheral 210 to join the P2P Group of which the dockee 230 is the GO.
For example, the dockee 230 may transmit a device discovery request for the peripheral 210 to the docking host 220; and the docking host 220 may forward the discoverability request as a GO discoverability request to the peripheral 210. This discoverability request may be configured to inform the peripheral 210 about its needed availability on a particular channel used by the dockee 230, or other communication information for use between the dockee 230 and the peripheral 210. The docking host 220 may further transmit a device discovery response for the peripheral 210 to the dockee 230, such that the dockee 230 is configured with information for communicating with the peripheral 210.
Thereafter, at 808 the dockee 230 may configure its communication interface 232 to utilize the configuration information received above so that it may communicate with the peripheral 210, and accordingly transmit a P2P group invitation request directly to the peripheral 210. The peripheral 210 may accordingly respond with a P2P group invitation response to the dockee 230. Next, the dockee 230 and the peripheral 210 may enter into an authentication phase 810.
As illustrated, two authentication phases 810 and 814 are utilized. Here, the first authentication phase 810 may establish a persistent key for implementing a persistent direct pairing between the dockee 230 and the peripheral 210; and the second authentication phase 814 may establish a session key for implementing a particular direct pairing session between the dockee 230 and the peripheral 210. The persistent direct pairing and the session are described in further detail below.
That is, the first authentication message 810 may include an authentication request that may specify the dockee 230 or the peripheral 210. The authentication may utilize the identification information (e.g., a PIN) provided to the dockee 230 by the docking host 220 (as described above in alternatives 804A and 804B). Following the first authentication phase 810, provisioning may be implemented utilizing a Wi-Fi Simple Configuration (WSC) exchange 812. At this point, both entities, i.e., the dockee 230 and the peripheral 210, will have a persistent key to utilize to communicate with one another. Here, the persistent key may be a different entity than the identification information discussed above, and may be a secret key shared only by the dockee 230 and the peripheral 210. From that time, the dockee 230 and the peripheral 210 may utilize the second authentication message 814, an association message, and a 4-way handshake 816 to establish a session key to be utilized for the current pairing session. Once the session key is established during the 4-way handshake 816 for the current pairing session, data 818 may begin to flow between the dockee 230 and the peripheral 210 in a secure fashion.
Furthermore, with the persistent key established at the first authentication phase 810 described above, a persistent direct pairing session may be established between the dockee 230 and the peripheral 210. That is, the above-described process shown and described in relation to
Referring once again to
In this example, as above, while the peripheral 210 is connected to the docking host 220 as a P2P client, the dockee 230 approaches the docking host 220 and establishes a communication link 502 such that the dockee 230 is a P2P GO.
At step 902, the docking host 220 may forward the Group Credentials and P2P Group ID of the P2P GO (i.e., the dockee) to the peripheral 210. In some examples, at step 904 the docking host 220 may additionally forward the P2P Group Operating Channel of the dockee 230 and the docking host-assigned direct link expiration time to the peripheral 210.
At step 906, the docking host 220 may then request the peripheral 210 to disconnect the first communication link 504 from the docking host 220, and instead find the dockee 230. Upon the expiration of a timer, at 908 the peripheral 210 may reconnect to the docking host to check whether the establishment of the direct communication link 506 can continue. Finally, at step 910 the dockee 230 and the peripheral 210 may find each other and establish the direct communication link 506 utilizing the P2P Group, i.e., utilizing the Group Credentials received at step 902.
Referring yet again to
In this example, as above, while the peripheral 210 is connected to the docking host 220 as a P2P client, the dockee 230 approaches the docking host 220 and establishes a communication link 502 such that the dockee 230 is a P2P GO. However, here, the docking host may serve as an external registrar for the dockee's direct connection to the peripheral 210, and therefore may push the credential for the direct connection to the dockee 210 utilizing an EAP procedure.
At step 1002, the docking host 220 may transmit to the peripheral 210 an SSID of the dockee 230 and a P2P group credential for the direct connection. In some examples, at step 1004 the docking host 220 may additionally transmit a docking host-assigned direct link expiration time to the peripheral 210.
At step 1006, the docking host 220 may then request the peripheral 210 to disconnect the first communication link 504 from the docking host 220, and instead find the dockee 230. Upon the expiration of a timer, at 1008 the peripheral 210 may reconnect to the docking host 220 to check whether the direct communication link 506 can continue. Finally, at step 1010 the dockee 220 and the peripheral 210 may then find each other and establish the direct communication link 506 utilizing the dockee's SSID and Group Credential received at step 1002 to authenticate each other and to directly connect to one another.
As described above, once an initial direct pairing session has been established between a dockee 230 and one or more peripherals 210 in a wireless docking environment, the pairing between the dockee 230 and the peripherals 210 may persist and accordingly enable the establishment of subsequent docking sessions to become even more efficient, as described below.
At this time, dockee 230 may wish to end the docking session with the docking host 220, thereby accordingly resulting in an ending of the direct pairing between the dockee 230 and the peripheral 210. Therefore, at step 508 the dockee 230 may communicate with the docking host 220 to sever the docking session. For example, the user of the dockee 230 may explicitly indicate an instruction utilizing the user interface 234, or in another example, the user may simply pick up the dockee 230 and walk away. In any case, the direct communication link 506 between the dockee 230 and the peripheral 210 may be disconnected. Once the direct pairing is disconnected, at 1106, the peripheral 210 may pair back with the docking host 220 so that it may be utilized within a docking environment in the future by one or more dockees as needed.
At 1108, the dockee 230 may return to the docking host 220, and may once again dock with the docking host 220, requesting to utilize a docking environment 306 that includes the peripheral 210. In this case, in accordance with an aspect of the present disclosure, the persistent pairing described above may be enabled to simplify the re-establishment of a direct pairing between the dockee 230 and the peripheral 210.
That is, the docking host 220 may recognize that the dockee 230 and the peripheral 210 have utilized a direct pairing in a previous docking session. For example, the docking host 220 may determine that a direct pairing previously occurred in accordance with the direct pairing complete indication 1102 previously received from either the dockee 230 or the peripheral 210. In this case, the docking host 230 may suggest to the dockee 230 or the peripheral 210 to utilize direct pairing once again. Two alternatives are described herein for the docking host to suggest direct pairing between the dockee 230 and the peripheral 210, and illustrated as alternatives 1110A and 1110B. In an aspect of the disclosure, a process may choose to implement one or the other of 1110A or 1110B.
In some aspects of the disclosure, as illustrated at 1110A, in one alternative the docking host 220 may transmit to the peripheral 210 a request for direct pairing between the dockee 230 and the peripheral 210.
In another aspect of the disclosure, as another alternative as illustrated at 1110B, the docking host 220 may transmit a request to the dockee 230 for direct pairing. Here, the dockee 230 may respond with a device discovery request for the peripheral 210, and the docking host 220 may transmit a corresponding GO discoverability request to the peripheral 210. Further, the docking host 220 may transmit a device discovery response to the dockee 230.
Thereafter, the dockee 230 and the peripheral 210 may be configured to communicate on a suitable channel and may be enabled for direct communication with one another. As described above, the dockee 230 and the peripheral 210 are already provisioned with a persistent key to be utilized for persistent pairing. Thus, at 1112, the dockee 230 and the peripheral 210 may undergo authentication and association to establish a session key for the current pairing session, and at 1114 they may engage in a 4-way handshake.
At this time, the dockee 230 and the peripheral 210 are paired, and thus, in an aspect of the disclosure (as described above at 1102), at 1116 a direct pairing complete indication may be transmitted from the dockee 230 to the docking host 220, as well as a direct pairing complete indication may be transmitted from the peripheral 210 to the docking host 220 to inform the docking host 220 that the dockee 230 and the peripheral 210 are directly paired, and thus, the docking host 220 need not act as an intermediate host between the dockee 230 and the peripheral 210. Thereafter, data 1118 may be transferred directly between the dockee 230 and the docking host 210 utilizing the direct communication link 506.
Several aspects of a wireless docking system have been presented with reference to a system utilizing IEEE 802.11 “Wi-Fi” communication protocols. As those skilled in the art will readily appreciate, various aspects described throughout this disclosure may be extended to other communication systems, network architectures and communication standards. The actual telecommunication standard, network architecture, and/or communication standard employed will depend on the specific application and the overall design constraints imposed on the system.
It is to be understood that the specific order or hierarchy of steps in the methods disclosed is an illustration of exemplary processes. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the methods may be rearranged. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented unless specifically recited therein.
The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language of the claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. A phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover: a; b; c; a and b; a and c; b and c; and a, b and c. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.”
This application claims priority to and the benefit of provisional patent application No. 61/649,863, titled “SYSTEM AND METHOD FOR WIRELESS DOCKING UTILIZING A WIRELESS DOCKING PROFILE” and filed in the United States Patent and Trademark Office on May 21, 2012; provisional patent application No. 61/651,991, titled “APPARATUS AND METHOD FOR PERSISTENT WIRELESS DOCKING” and filed in the United States Patent and Trademark Office on May 25, 2012; provisional patent application No. 61/658,352, titled “APPARATUS AND METHOD FOR DIRECT PAIRING IN A WIRELESS DOCKING SYSTEM” and filed in the United States Patent and Trademark Office on Jun. 11, 2012; and provisional patent application No. 61/658,363, titled “APPARATUS AND METHOD FOR WIRELESS DOCKING UTILIZING A WIRELESS DOCKING PROFILE IN THE PRESENCE OF WIRELESS DOCKING ENVIRONMENTS” and filed in the United States Patent and Trademark Office on Jun. 11, 2012, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61649863 | May 2012 | US | |
61651991 | May 2012 | US | |
61658352 | Jun 2012 | US | |
61658363 | Jun 2012 | US |