Source: https://patents.google.com/patent/US9474094B2/en
Timestamp: 2018-11-19 14:52:32
Document Index: 722824512

Matched Legal Cases: ['art 11', 'art 300', 'art 300', 'art 400', 'art 400', 'Application No. 13827722']

US9474094B2 - Methods and arrangements to establish peer-to-peer link - Google Patents
Methods and arrangements to establish peer-to-peer link Download PDF
US9474094B2
US9474094B2 US13730873 US201213730873A US9474094B2 US 9474094 B2 US9474094 B2 US 9474094B2 US 13730873 US13730873 US 13730873 US 201213730873 A US201213730873 A US 201213730873A US 9474094 B2 US9474094 B2 US 9474094B2
US13730873
US20140045422A1 (en )
FIGS. 1A-D depict embodiments of Device Discovery frames, Service Query and Response frames and Permission Request and Response frames for communications between wireless communication devices;
FIG. 1E depicts an embodiment of phases of communications between wireless communication devices to establish an application session based secure peer-to-peer (P2P) link;
FIG. 1F depicts embodiments of methods of initiating a P2P connection in the form of a TABLE 1;
FIG. 2 depicts an embodiment of an apparatus to generate, transmit, receive and interpret frames for communications between wireless communication devices;
FIG. 3 depicts an embodiment of a flowchart for a new device to establish an application session based secure peer-to-peer (P2P) link; and
FIG. 4 depicts another embodiment of a flowchart to establish an application session based secure peer-to-peer (P2P) link.
Embodiments may enable a number of Wireless Fidelity (Wi-Fi) enabled mobile devices to establish Peer-to-Peer connectivity to allow users to connect their devices in an easy and convenient manner to, e.g., share, show, print, and synchronize content. Some embodiments may provide or enable interoperability between services/applications from multiple vendors. Users may experience consistency due to services interoperability. Many embodiments provide a procedure to enable multiple vendor's applications and services interoperability via methods and arrangements to enable Peer-to-Peer (P2P) connection limited to allow traffic from user-invoked services on, e.g., a Wi-Fi Direct connection.
Many embodiments proceed through a number of phases to enable the establishment of a P2P connection such as a device discovery phase, a service discovery phase, a permission phase, a P2P initiation phase if necessary, a P2P connection phase, and a service performance phase. Several embodiments involve a communication of a device discovery frame such as a probe frame or a beacon frame during the device discovery phase from a first device attempting to find a second device or multiple receiving devices that support a selected service type. In some embodiments, the selected service type may be selected by a user of the first device and may comprise, e.g., a file transfer such as a photo transfer. The second device or receiving devices may respond to the device discovery frame indicating the capability to support the selected service type.
In some embodiments, the two devices may communicate service discovery frames such as service query and service response frames during a service discovery phase. For instance, the first device may transmit a service query frame to the receiving device and the second device or receiving devices may transmit service response frame(s) to the first device to indicate supported service protocols of two devices. In many embodiments, during the permission phase, the first device may select one or more devices and, e.g., one or more files to transfer, and transmit a permission request frame to request permission to transfer the one or more files.
The second device or the receiving devices may receive the permission request and respond by transmitting a permission response frame with, e.g., an indication of a permission acceptance or a permission denial. When the second device transmits an acceptance, either the first device or the second device may initiate a peer-to-peer (P2P) connection. For instance, for a one device to one device case, i.e., One Sender to One Receiver:
In some embodiments, if Sender and Receiver are in the same P2P group, the existing P2P group can be used for communication. For instance, the Sender and Receiver may use an Intra-Basic Service Set (BSS) Distribution or a Tunneled Direct Link Setup (TDLS) link within P2P group during the P2P connection phase. In some embodiments, if both Sender and Receiver are not in a P2P group, use Group Owner (GO) negotiation to start a new group in the P2P initiation phase. In some embodiments, if either Sender or Receiver is in a P2P group, the device that is in the group sends the P2P Invitation to invite the other device to join the group in the P2P initiation phase.
In some embodiments, during the P2P initiation phase, if the Sender and Receiver are in different P2P groups, the follow rules may be applied:
If the Sender is a GO, the Sender shall send P2P Invitation to invite the other device to join.
Else, if the Group Owner is the Receiver, the Receiver should send a P2P Invitation to invite the Sender to join. For example, this may be the case if the Sender is a Client of another group.
Else, in some embodiments, the Sender may send a P2P Invitation to invite the other device to join. In this case, neither the Sender nor the Receiver is the GO. In alternative embodiments, the Receiver may send the P2P Invitation to invite the Sender to join. In some embodiments, whether the Sender or the Receiver sends the invitation may be based upon policies of the Sender and/or the Receiver. Several embodiments may have a policy negotiation to determine which device should send the invitation.
As a further illustration, for a 1 device to N devices case, e.g., one Sender to multiple Receivers:
In some embodiments, if the Sender and all Receivers are in the same P2P group, the existing P2P group can be used for communication. The Sender and Receivers may use an Intra-Basic Service Set (BSS) Distribution or a direct link within the P2P group. Otherwise, the Sender may start an autonomous P2P Group as a GO, and send a P2P Invitation to all the Receivers to invite them to join the group. The Receivers may choose to accept or reject the invitation.
In several embodiments, the data exchanges may include one or more of any number of unicast transmissions, and may include Generic Advertisement Service (GAS), Access Network Query Protocol (ANQP), Association, Robust Security Network Association (RSNA) authentication, etc.
Various embodiments may be designed to address different technical problems associated with P2P connectivity. For instance, some embodiments may be designed to address one or more technical problems such as the interoperability between services and/or applications from multiple vendors. The technical problem of the interoperability between services and/or applications from multiple vendors may involve a lack of a standard procedure to enable multiple vendors' applications and services interoperability.
Different technical problems such as those discussed above may be addressed by one or more different embodiments. For instance, some embodiments that are designed to address the interoperability between services and/or applications from multiple vendors may do so by one or more different technical means such as establishing a procedure to enable P2P connection limited to allow traffic from user-invoked services on a Wireless Fidelity (Wi-Fi) Direct connection. Some embodiments may take advantage of Wi-Fi network ubiquity, enabling new communications among Wi-Fi Direct devices. Wi-Fi generally refers to devices that implement the IEEE 802.11-2007 and other related wireless standards.
Some embodiments implement Institute of Electrical and Electronic Engineers (IEEE) 802.11 systems such as IEEE 802.11 ah systems. The IEEE 802.11 wireless standard defines EDCA (enhanced distributed channel access), which is a prioritized carrier sense multiple access with collision avoidance (CSMA/CA) access mechanism. IEEE 802.11-2007, IEEE Standard for Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements—Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications (http://standards.ieee.org/getieee802/download/802.11-2007.pdf).
Several embodiments comprise devices such as routers, switches, servers, workstations, netbooks, mobile devices (Laptop, Smart Phone, Tablet, and the like), as well as sensors, meters, controls, instruments, monitors, appliances, and the like.
Turning now to FIG. 1, there is shown an embodiment of a wireless communication system 1000. The wireless communication system 1000 comprises a communications device 1010 that may be wire line and wirelessly connected to a network 1005. In many embodiments, the network 1005 may represent a logical affiliation of the devices 1010, 1030, 1050, and 1055 to a peer-to-peer (P2P) group. In other embodiments, the devices 1010, 1030, 1050, and 1055 may physically connect to a network infrastructure but have the capabilities of peer-to-peer communications.
The communications device 1010 may communicate wirelessly with a plurality of communication devices 1030, 1050, and 1055 as part of a P2P group. The communications device 1010 may comprise a mobile phone. The communications device 1030 may comprise a low power communications device such as a consumer electronics device, a personal mobile device, or the like. And communications devices 1050 and 1055 may comprise sensors, stations, access points, hubs, switches, routers, computers, laptops, netbooks, cellular phones, smart phones, PDAs (Personal Digital Assistants), or other wireless-capable devices. Thus, communications devices may be mobile or fixed.
Initially, a user of the communications device 1010 may decide to transmit a file such as a digital photograph from communications device 1010 to the communications device 1030. The user may first instruct the communications device 1010 to discover devices that support file transfers. The communications device 1010 may respond by transmitting a device discovery request frame 1014 in, e.g., the form of a probe frame or a beacon frame. In many embodiments, the device discovery request frame 1014 may comprise a source identifier to identify the source of the request and an indication that the communications device 1010 is seeking responses from communications devices that support a type of service such as a file transfer service.
The communications devices 1030, 1050, and 1055 may receive the discovery request frame and determine responses, if any. The communications device 1030 may determine that the communications device 1030 can support a file transfer and may respond with a device discovery response frame 1034 that indicates that the device 1030 can support the service type.
In many embodiments, after discovering one or more communications devices that support a particular service type such as the file transfer, the communications device 1010 may transmit a service query frame to the communications device 1030 to determine one or more protocols that can be implemented to perform the service type such as transferring the file and the communications device 1030 may respond with a Service Response frame to indicate that the communications device 1030 can support the service type with one or more specific file transfer protocols.
The communications device 1050 may also respond with an indication that the communications device 1050 can support the service type with a discovery response frame and can support file transfers with one or more file transfer protocols via a service response frame. Furthermore, the communications device 1055 may determine that the communications device 1055 does not support file transfer protocols. In many embodiments, the communications device 1055 may not respond to the device discovery frame 1014 since the communications device 1055 does not support the appropriate service type. In alternative embodiments, the communications device 1055 may respond with an acknowledgement or may respond with a frame indicating that file transfer is not supported.
In other embodiments, the communications device 1010 may include indications of one or more file transfer protocols in the discovery request frame 1014 and the communications devices 1030 and 1050 may respond with acknowledgement frames to acknowledge that one or more of the file transfer protocols is supported.
The user of the communications device 1010 may receive the responses from the communications devices 1030 and 1050 via a user interface on the communications device 1010 and may select the communications device 1030 for the file transfer. In other embodiments, the user may select both the communications devices 1030 and 1050 to transmit the file to both communications devices.
After the user selects the communications device 1030 to transfer the file, the communications device 1010 may transmit a request for permission to transmit the selected file to the communications device 1030 and the communications device 1030 may determine, based upon, e.g., the file type to be transferred, authentication information from the communications device 1010, an identification of the communications device 1010, and/or information about the user of the communications device 1010, that the communications device 1030 grants permission to the communications device 1010 to transfer the file to the communications device 1030 through a peer-to-peer connection. In other situations, the communications device 1030 may deny or reject the request for permission based upon, e.g., the file type to be transferred, authentication information from device 1010, identification of the device 1010, and/or information about the user of device 1010. In further embodiments, the communications device 1030 may request that the user of the communications device 1030 approve or disapprove the transfer via a user interface. In still other embodiments, the communications device 1030 may receive instructions from the user of the communications device 1030 to request additional information about the communications device 1010, the file, user of the communications device 1010, and/or other information and the communications device 1030 may include a request for such information in a permission response frame.
After the communications device 1030 responds to the communications device 1010 with a permission response frame indicating that the request for permission to transfer the file is granted, either the communications device 1010 or the communications device 1030 may initiate P2P communications with the other communications device. For instance, in some embodiments, if the communications device 1010 and the communications device 1030 are in the same P2P group (e.g., network 1005), the existing P2P group can be used to transfer the file from the communications device 1010 to the communications device 1030. The communications device 1010 and the communications device 1030 may use, e.g., an Intra-Basic Service Set (BSS) Distribution, a Tunneled Direct Link Setup (TDLS) link, or another type of link within P2P group. In some embodiments, if both the communications device 1010 and the communications device 1030 are not in a P2P group, the communications devices 1010 and 1030 may use Group Owner (GO) negotiation to start a new group. In some embodiments, if either the communications device 1010 or the communications device 1030 is in a P2P group, the communications device that is in the group sends the P2P Invitation to invite the other communications device to join the group.
In other situations, the communications device 1010 and the communications device 1030 may be in different P2P groups. In such situations, if the communications device 1010 is a Group Owner (GO) of its P2P group, the communications device 1010 may send a P2P Invitation to invite the communications device 1030 to join the P2P group. If the communications device 1030 is a GO, the communications device 1030 may send a P2P Invitation to invite the communications device 1010 to join. Furthermore, if neither the communications device 1010 nor the communications device 1030 is a GO, the communications device 1010 may send a P2P Invitation to invite the communications device 1030 to join. In alternative embodiments, if neither the communications device 1010 nor the communications device 1030 is a GO, the communications device 1030 may send a P2P Invitation to invite the communications device 1010 to join.
As a further illustration, if the user of the communications device 1010 decides to transmit the file to both the communications device 1030 and the communications device 1050, the communications device 1010 may use an existing P2P group if the communications device 1010, the communications device 1030, and the communications device 1050 are all joined with the same P2P group. Otherwise, the communications device 1010 may start an autonomous P2P group as the GO and may send invitations to both the communications device 1030 and the communications device 1050 to join the P2P group. The communications devices 1030 and 1050 may each accept or reject the invitation to joint the autonomous P2P group.
The network 1005 may be a P2P group or may represent an interconnection of a number of networks. For instance, the network 1005 may couple with a wide area network such as the Internet or an intranet and may interconnect local devices wired or wirelessly interconnected via one or more hubs, routers, or switches. In the present embodiment, network 1005 communicatively couples any joined communications devices of the communications devices 1010, 1030, 1050, and 1055.
The communication devices 1010 and 1030 comprise memory 1011 and 1031, and Media Access Control (MAC) sublayer logic 1018 and 1038, respectively. The memory 1011 and 1031 may comprise a storage medium such as Dynamic Random Access Memory (DRAM), read only memory (ROM), buffers, registers, cache, flash memory, hard disk drives, solid-state drives, or the like. The memory 1011 and 1031 may store the frames and/or frame structures, or portions thereof such as a beacon, device discovery request, device discovery response, service query, service response, permission request, and permission response frames such as those illustrated in FIGS. 1A-D to perform actions represented in FIG. 1E and/or FIG. 1F (TABLE 1).
The MAC sublayer logic 1018, 1038 may comprise logic to implement functionality of the MAC sublayer of the data link layer of the communications device 1010, 1030. The MAC sublayer logic 1018, 1038 may generate the frames such as management frames and the physical layer logic 1019, 1039 may generate physical layer protocol data units (PPDUs) based upon the frames. More specifically, the frame builders 1013 and 1033 may generate frames 1014, 1034 and the data unit builders of the physical layer logic 1019, 1039 may encapsulate the frames with preambles to generate PPDUs for transmission via a physical layer device such as the transceivers (RX/TX) 1020 and 1040.
An OFDM system uses several carriers, or “tones,” for functions including data, pilot, guard, and nulling. Data tones are used to transfer information between the transmitter and receiver via one of the channels. Pilot tones are used to maintain the channels, and may provide information about time/frequency and channel tracking Guard tones may be inserted between symbols such as the short training field (STF) and long training field (LTF) symbols during transmission to avoid inter-symbol interference (ISI), which might result from multi-path distortion. These guard tones also help the signal conform to a spectral mask. The nulling of the direct component (DC) may be used to simplify direct conversion receiver designs.
FIGS. 1A-D depict embodiments of Device Discovery frames, Service Query and Response frames and Permission Request and Response frames for communications between wireless communication devices. Note that these are frames that may be implemented in some embodiments and that other embodiments may use some, all, or none of these frame formats and/or may use other frame formats.
FIG. 1A depicts an embodiment of a device discovery request/response frame 1060 for communications between wireless communication devices such as communications devices 1010, 1030, 1050, and 1055 in FIG. 1. The device discovery request/response frame 1060 may be used to as a discovery request frame and, in some embodiments, as a discovery response frame. In other embodiments, the discovery response frame may differ. For instance, the discovery response frame may be an acknowledgement frame or the like that acts as an affirmative response to the discovery request frame with regard to the indicated service type. In further embodiments, the discovery response frame may include a list of service types that are supported by the device. In further embodiments, the discovery response frame may include a list of service types that were included in the discovery request frame that are supported by the responding communications device.
The device discovery request/response frame 1060 may comprise a header 1061, a frame body, and a frame check sequence (FCS) field 1076. The MAC header 1061 may comprise the frame control field 1062 and other header fields 1068. The frame control field 1062 may be two octets and may identify the type and subtype of the device discovery request frame 1060. The other header fields 1068 may comprise, for example, one or more address fields, identification fields, control fields, or the like. In many embodiments, the number of octets may differ. The frame body may comprise a service type field 1070 that identifies the type of service that the device intends to perform such as a file transfer service. In further embodiments, the service type field 1070 may identify more than one service types. The other fields 1074 may comprise other information. In one embodiment, the other fields may comprise indications of one or more protocols associated with the service type 1070 that the device 1010 supports. In other embodiments, specific protocols of the service type may be included in one or more fields of a service query frame and/or a service response frame.
FIG. 1B depicts an embodiment of a service query frame 1200. The service query frame 1200 may be used to identify service protocols that may be available to perform a service type. In some embodiments, the communications device that initiates the service query may include protocol information such as a list of protocols that the communications device has available to perform the service type. In other embodiments, the communications device that transmits the service query may not include protocol information but may request the protocol information from other communications devices and may select a protocol received in response for performing the service type.
The service query frame 1200 may comprise a header 1201, a frame body, and a frame check sequence (FCS) field 1216. The MAC header 1201 may comprise the frame control field 1202 and other header fields 1204. The frame control field 1202 may be two octets and may identify the type and subtype of the service query frame 1200. The other header fields 1208 may comprise, for example, one or more address fields, identification fields, control fields, or the like. The frame body may comprise a protocol information field 1200 in some embodiments and may not comprise such a field in other embodiments.
FIG. 1C depicts an embodiment of a service response frame 1300. The service response frame 1300 may be used to identify, and in some embodiments, negotiate service protocols that may be available to perform a service type. For instance, a communications device that responds to a service query frame may negotiate for the lowest power consumption protocol by selecting the lowest power consumption protocol from a list of protocols provided in the service query frame, if any, or by including a list of protocols in an order based upon power consumption.
The service response frame 1300 may comprise a header 1301, a frame body, and a frame check sequence (FCS) field 1316. The MAC header 1201 may comprise the frame control field 1302 and other header fields 1304. The frame control field 1302 may be two octets and may identify the type and subtype of the service response frame 1300. The other header fields 1208 may comprise, for example, one or more address fields, identification fields, control fields, or the like. The frame body may comprise a protocol information field 1200 that indicates one or more protocols that are available for performing the service type. In some embodiments, protocols for more than one service type may be requested in the service query frame so the service response frame may comprise one or more protocols for each of the service types.
FIG. 1D depicts an embodiment of a permission request/response frame 1400. The permission request/response frame 1400 may be used for permission requests in some embodiments and may be used for permission responses in some embodiments. The permission request/response frame 1400 may comprise a header 1401, a frame body, and a frame check sequence (FCS) field 1416. The MAC header 1401 may comprise the frame control field 1402 and other header fields 1404. The frame control field 1402 may be two octets and may identify the type and subtype of the permission request/response frame 1400. The other header fields 1068 may comprise, for example, one or more address fields, identification fields, control fields, or the like. The frame body may comprise a metafile 1410, e.g. for file transfer, contents 1412 of a DLNA protocol, a printing protocol, an application enabler, and a port number 1413 for port number negotiation for secure session setup.
FIG. 1E depicts an embodiment of an interaction between a User 1510 and a Sender 1520 for requesting and implementing a file transfer, between the Sender 1520 and a Receiver 1530 to accomplish the file transfer, and between the Receiver 1530 and a User 1540 to grant permission for the file transfer. Note that the sender 1520 and receiver 1530 may represent communications devices such as communications devices 1010, 1030, 1050, and 1055 in FIG. 1. The users 1510 and 1540 may represent actual persons that are using the sender 1520 and receiver 1530, and/or may represent logic such as software or hardware integrated with or coupled with the sender 1520 and receiver 1530. Also note that while this embodiment describes a service type of a file transfer, any other service type may be supported in a similar manner such as file retrieval, application execution services, application disablement services, synchronization services, remote control/operation services, messaging services, and other services.
The present embodiment describes in an order that may be different from the order in other embodiments, wherein the upper most action at the device discovery phase 1550, i.e., of finding devices that support file transfer, occurs first and progresses to the last action in the service performance phase 1575 of reporting the file transfer progress to the user 1540. Furthermore, the actions between the user 1510 and the sender 1520 may comprise a user interface of the sender 1520. The actions between the sender 1520 and the receiver 1530 may represent wireless communication. And the actions between the receiver 1530 and the user 1540 may comprise a user interface of the receiver 1530.
After the user 1510 requests that the sender 1520 find a device that supports file transfer during the device discovery phase 1550, the sender 1520 may transmit a discovery request frame indicating a file transfer service type to the receiver 1530 and the receiver 1530 may respond with a discovery response frame indicating the capability to support file transfer.
During the service discovery phase 1555, after the receiver 1530 responds to the sender 1520 with the discovery response frame, the sender 1520 may transmit a service query frame to the receiver 1530 to determine protocols that are supported by the receiver 1530. The receiver 1530 may respond with a service response frame indicating supported protocols and the sender 150 may report to the user 1510 that the receiver 1530 is a device that has been found that can support the service type of file transfer.
During the permission phase 1560, the user 1510 may select the receiver 1530 and files to transfer to the receiver 1530 and initiate a request for permission to transfer the files to the receiver 1530 via the user interface of the sender 1520. The sender 1520 may, in response, transmit a permission request frame to the receiver 1530. The receiver 1530 may request that the user 1540 grant or deny the request for permission to make the file transfer and may provide the user 1540 with information about the files to be transferred, the user 1510, the sender 1520, and/or other information. The user 1540 may grant permission for the file transfer via the user interface of the receiver 1530. And the receiver 1530 may respond to the sender 1520 with a permission response frame that indicates that the permission request is granted. The sender 1520 may receive the permission response frame and communicate the grant of permission to the user 1510 via the user interface of the sender 1520.
During the P2P initiation phase 1565, after the user 1510 receives the grant of permission for the file transfer, the user 1510 may initiate a P2P connection by a process such as GO negotiation, P2P invitation, and provision discovery request/response, which includes a request that the user 1540 provide a user input of a credential such as a user personal identification number (PIN) to verify that the user 1540 is authorized to receive the files via the user interface of sender 1520. In response, the sender 1520 may initiate a P2P connection with the receiver 1530 that requests that the user 1540 provide the correct credential.
In response to the user providing the correct credential, during the P2P connection phase 1570, the sender 1520 may establish a P2P connection with the receiver 1530. For instance, the establishment of the P2P connection may comprise a Wi-Fi Simple Configuration (WSC) exchange, a 4-way handshake, and an association.
During the service performance phase 1575, after the P2P connection between the sender 1520 and the receiver 1530 is established, the sender 1520 may begin to transmit the files to the receiver 1530 and the receiver 1530 may inform the user 1540 of the progression of the file transfer via the user interface of the receiver 1530.
FIG. 1F depicts a TABLE 1, which depicts other embodiments of some of the potential scenarios based upon P2P interfaces in a P2P topology to initiate a P2P connection between two or more devices for various types of services such as file transfer services, application execution services, application disablement services, synchronization services, remote control/operation services, messaging services, and other services. The column headers describe the association of the receiver with a P2P group and the row headers indicate the association of the sender with a P2P group. The header “P2P Device” indicates that the device is capable of the P2P connection but not joined with a P2P group. The header “P2P GO” indicates that the device is capable of the P2P connection and is a group owner of a P2P group. And the header “P2P Client” indicates that the device is capable of the P2P connection and is joined with but not a group owner of a P2P group.
In accordance with the present embodiment, if the receiver is a P2P device and the sender is a P2P device, one of the receiver or sender may start a new group and then invite the other device to join. If the receiver is a P2P device and the sender is a P2P GO, the sender may invite the receiver to join the P2P group. And if the receiver is a P2P device and the sender is a P2P Client, the sender may either invite the receiver to join the P2P group or disassociate from the P2P group and start a new P2P group.
In accordance with the present embodiment, if the receiver is a P2P GO and the sender is a P2P device, the receiver may invite the sender to join. If the receiver is a P2P GO and the sender is a P2P GO, the sender or the receiver may invite the other device to join the P2P group. And if the receiver is a P2P GO and the sender is a P2P Client, the receiver may invite the sender to join the P2P group.
In accordance with the present embodiment, if the receiver is a P2P Client and the sender is a P2P device, the receiver may either invite the sender to join the P2P group or disassociate from the P2P group and start a new P2P group. If the receiver is a P2P Client and the sender is a P2P GO, the sender may invite the receiver to join the P2P group. And if the receiver is a P2P Client and the sender is a P2P Client, the receiver or sender may either invite the other device to join their P2P group or disassociate from the P2P group and start a new P2P group.
FIG. 2 depicts an embodiment of an apparatus to generate, transmit, receive, and interpret frames such as device discovery request/response frames, permission request/response frames, and other P2P related frames. The apparatus comprises a transceiver 200 coupled with Medium Access Control (MAC) sublayer logic 201. The MAC sublayer logic 201 may determine a frame and the physical layer (PHY) logic 250 may determine the PPDU by encapsulating the frame with a preamble to transmit via transceiver 200.
In many embodiments, the MAC sublayer logic 201 may comprise a frame builder 202 to generate frames (MPDUs) such as one of the frames 1060, 1100, 1200, and 1300 illustrated in FIGS. 1A-D.
Persons of skill in the art will recognize that a transceiver may comprise numerous additional functions not shown in FIG. 2 or many less functions than shown and that the receiver 204 and transmitter 206 can be distinct devices rather than being packaged as one transceiver. For instance, embodiments of a transceiver may comprise a Dynamic Random Access Memory (DRAM), a reference oscillator, filtering circuitry, synchronization circuitry, an interleaver and a deinterleaver, possibly multiple frequency conversion stages and multiple amplification stages, etc. Further, some of the functions shown in FIG. 2 may be integrated. For example, digital beam forming may be integrated with orthogonal frequency division multiplexing.
The MAC sublayer logic 201 may parse the MPDU to determine the particular type of frame. For instance, the MAC sublayer logic 201 may parse and interpret frames (MPDUs) such as one of the frames 1060, 1100, 1200, and 1300 illustrated in FIGS. 1A-D.
FIGS. 3-4 illustrate embodiments of devices establishing application session based secure peer-to-peer links. FIG. 3 depicts an embodiment of a flowchart 300 for a new device to establish an application session based secure peer-to-peer (P2P) link. The flowchart 300 begins with transmitting, by a first device, a device discovery request frame comprising an indication of a type of service (element 305). In some embodiments, transmitting the device discovery frame comprises transmitting a beacon frame or a probe frame. In further embodiments, transmitting the device discovery frame comprises transmitting a frame comprising data identifying the first device and a service type.
The first device may, in response, receive a response to the device discovery frame indicating a second device (element 310). For instance, the first device may receive an acknowledgement or a discovery response frame from the second device that indicates that the second device can support the service type indicated in the device discovery request frame.
After discovering another device that supports the service type, the first device may transmit a service query comprising an indication of type of service protocols of the first device (element 315). In some embodiments, transmitting the service query comprises transmitting a service query frame. In further embodiments, transmitting the service query frame comprises transmitting a frame comprising data identifying the first device.
In response to the service query, the first device may receive a service response comprising an indication of type of service protocols of the second device (element 320). The first device may, in response, transmit a permission request to the second device (element 325). In some embodiments, transmitting the permission request comprises transmitting a metafile. In some embodiments, transmitting the permission request comprises transmitting content for Digital Living Network Alliance (DLNA) interoperability support. In many embodiments, transmitting the permission request comprises transmitting content for printing and application enablement support. In further embodiments, transmitting the permission request comprises transmitting a port number negotiation for secure session setup to determine the specific port.
After transmitting the permission request, the first device may receive a permission response from the second device (element 335). For instance, the second device may determine that permission is granted based upon information provided to the second device in the permission request frame.
In response to receiving a grant of permission, the first device may establish a peer-to-peer connection, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device (element 345). In some embodiments, establishing, by the first device with the second device, a peer-to-peer connection comprises initiating an Intra-Basic Service Set (BSS) Distribution link or a Tunneled Direct Link Setup (TDLS) link between the first device and the second device within an existing P2P group to which both the first device and the second device are currently joined. And the first device may transmit data to the second device via the service, and the only traffic data that is related to the service is permitted via a specific port (element 355). In other words, the traffic data that is the only traffic data related to this service type is permitted to transmit via a specific port.
Some embodiments further comprise initiating, by the first device, a peer-to-peer connection. For instance, if the first device and the second device are not currently joined with the same P2P group, the first and the second devices perform actions to be joined with the same P2P group. In some embodiments, initiating, by the first device, a peer-to-peer connection comprises the first device transmitting beacon frames to start a new group. In some embodiments, initiating, by the first device, a peer-to-peer connection comprises initiating a group owner negotiation to start a new group. In many embodiments, initiating, by the first device, a peer-to-peer connection comprises transmitting an invite to the second device to request that the second device join a group, wherein the first device is joined with the group. In several embodiments, initiating a peer-to-peer connection comprises receiving an invite from the second device to request that the first device join a group, wherein the second device is joined with the group. In further embodiments, initiating, by the first device, a peer-to-peer connection comprises initiating an Intra-Basic Service Set (BSS) Distribution link or a Tunneled Direct Link Setup (TDLS) link.
FIG. 4 depicts another embodiment of a flowchart 400 to establish an application session based secure peer-to-peer (P2P) link. The flowchart 400 begins with receiving, by a first device from a second device, a device discovery request frame comprising an indication of a type of service (element 405). In some embodiments, receiving the device discovery frame comprises receiving a beacon frame or a probe frame. In further embodiments, receiving the device discovery frame comprises receiving a frame comprising data identifying the second device.
If the first device supports the service type, the first device may transmit a response to the device discovery request frame (element 410) and then the first device may receive a service query frame comprising an indication of type of service protocols of the first device (element 415). The service query frame may comprise an indication that the second device can support certain protocols or may just be a request to indicate supported protocols. In response, the first device may transmit a service response comprising an indication of type of service protocols of the second device (element 417).
If the first device supports a protocol for the service type that the second device supports, the first device may receive a permission request (element 420). The permission request may comprise a metafile, content for Digital Living Network Alliance (DLNA) interoperability support, content for printing and application enablement support, a port number negotiation for secure session setup to determine a specific port for securely communicating data related to the service, and/or the like.
If the user of the first device grants permission, the first device may transmit a permission response to the second device (element 430) that grants the request for permission. If the user of the first device does not grant permission, the first device may transmit a permission response to the second device (element 430) that denies the request for permission.
Some embodiments may further comprise initiating, by the first device, a peer-to-peer connection. Initiating, by the first device, a peer-to-peer connection may comprise initiating a group owner negotiation to start a new group. In some embodiments, initiating, by the first device, a peer-to-peer connection comprises transmitting an invite to the second device to request that the second device join a group, wherein the first device is joined with the group. In several embodiments, initiating a peer-to-peer connection comprises receiving an invite from the second device to request that the first device join a group, wherein the second device is joined with the group. In further embodiments, initiating, by the first device, a peer-to-peer connection comprises initiating an Intra-Basic Service Set (BSS) Distribution link or a Tunneled Direct Link Setup (TDLS) link.
Thereafter, the first device may establish a peer-to-peer connection, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device (element 440). And the first device may receive data from the second device via the service (element 450).
The following examples pertain to further embodiments. One example comprises a method. The method may involve transmitting, by a first device, a device discovery request frame comprising an indication of a type of device and service; receiving a response to the device discovery frame indicating a second device; transmitting a service query frame comprising an indication of type of service protocols of the first device; receiving a service response frame comprising an indication of type of service protocols of the second device; transmitting a permission request frame to the second device; receiving a permission response frame from the second device; establishing a peer-to-peer connection, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device; and transmitting data by the first device to the second device via the service, and the traffic data that is related to the service is permitted via a specific port.
In some embodiments, the method may further comprise initiating, by the first device, a peer-to-peer connection. In some embodiments, initiating, by the first device, a peer-to-peer connection comprises the first device transmitting beacon frames to start a new group. In many embodiments, initiating, by the first device, a peer-to-peer connection comprises initiating an Intra-Basic Service Set (BSS) Distribution link or a Tunneled Direct Link Setup (TDLS) link. In some embodiments, the method may further comprise storing, by the medium access control sublayer logic, at least part of the frame in memory. In several embodiments, transmitting the device discovery request frame comprises transmitting a beacon frame or a probe frame. In further embodiments, transmitting the device discovery request frame comprises transmitting a frame comprising data identifying the first device. And in some embodiments, transmitting the permission request frame comprises transmitting at least a metafile, content for Digital Living Network Alliance (DLNA) interoperability support, content for printing and application enablement support, or a port number negotiation for secure session setup to determine the specific port.
Another example comprises an apparatus. The apparatus may comprise a memory; and a medium access control sublayer logic coupled with the memory to transmit a device discovery request frame comprising an indication of a type of service; receive a response to the device discovery frame indicating a second device; transmit a service query frame to the second device; receive a service response from the second device; transmit a permission request frame to the second device; receive a permission response frame from the second device; establish a peer-to-peer connection, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device; and transmit data by the first device to the second device via the service.
In some embodiments, the apparatus may further comprise a transmitter coupled with the medium access control logic to transmit the frame. In some embodiments, the apparatus may further comprise an antenna coupled with the transmitter to transmit the frame. In further embodiments of the apparatus, the medium access control sublayer logic comprises logic to initiate a peer-to-peer connection. In some embodiments of the apparatus, the medium access control sublayer logic comprises logic to transmit a frame comprising data identifying the first device and a service type. And in some embodiments of the apparatus, the medium access control sublayer logic comprises logic to transmit at least a metafile, content for Digital Living Network Alliance (DLNA) interoperability support, content for printing and application enablement support, or a port number negotiation for secure session setup to determine a specific port number for communicating data related to the service.
Another example comprises a system. The system may comprise a memory; and a medium access control sublayer logic coupled with the memory to transmit a device discovery request frame comprising an indication of a type of service; receive a response to the device discovery frame indicating a second device; transmit a service query frame to the second device; receive a service response from the second device; transmit a permission request frame to the second device; receive a permission response frame from the second device; establish a peer-to-peer connection, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device; and transmit data by the first device to the second device via the service; and an antenna coupled with physical layer logic to transmit and receive frames.
Another example comprises a method. The method may involve receiving, by a first device from a second device, a device discovery frame comprising an indication of a type of service; transmitting a response to the device discovery request frame; transmitting a service query frame comprising an indication of type of service protocols of the first device; receiving a service response frame comprising an indication of type of service protocols of the second device; receiving a permission request frame; transmitting a permission response frame to the second device; establishing a peer-to-peer connection, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device; and receiving data from the second device via the service.
In some embodiments, the method may further comprise initiating, by the first device, a peer-to-peer connection. In some embodiments, initiating, by the first device, a peer-to-peer connection comprises at least initiating a group owner negotiation to start a new group; initiating a group owner negotiation to start a new group; transmitting an invite to the second device to request that the second device join a group, wherein the first device is joined with the group; receiving an invite from the second device to request that the first device join a group, wherein the second device is joined with the group; or initiating an Intra-Basic Service Set (BSS) Distribution link or a Tunneled Direct Link Setup (TDLS) link. In many embodiments, receiving the device discovery request frame comprises receiving a frame comprising data identifying the second device and a service type. In some embodiments, the method may further comprise storing, by the medium access control sublayer logic, at least part of the frame in memory. And in some embodiments, receiving the permission request comprises receiving a port number negotiation for secure session setup to determine a specific port for securely communicating data related to the service.
Another example comprises an apparatus. The apparatus may comprise a memory; and a medium access control sublayer logic coupled with the memory to receive, by the device from a second device, a device discovery request frame comprising an indication of a type of service; transmit a response to the device discovery request frame; receive a service query frame; transmit a response to the service query frame; receive a permission request frame; transmit a response to the permission request frame to the second device; establish a peer-to-peer connection, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device; and receive data from the second device via the service.
In some embodiments, the apparatus may further comprise a transmitter coupled with the medium access control logic to transmit the frame. In some embodiments, the apparatus may further comprise an antenna coupled with the transmitter to transmit the frame. In further embodiments of the apparatus, the medium access control sublayer logic comprises logic to initiate a peer-to-peer connection. In some embodiments of the apparatus, the medium access control sublayer logic comprises logic to receive the device discovery frame comprises logic to interpret and to respond to the device discovery request frame. And in some embodiments of the apparatus, the medium access control sublayer logic comprises logic to interpret a port number negotiation for secure session setup and to determine a port number based upon the port number negotiation to determine a specific port to be utilized only for data related to the service.
Another example comprises a system. The system may comprise a memory; and a medium access control sublayer logic coupled with the memory to receive, by the device from a second device, a device discovery request frame comprising an indication of a type of service; transmit a response to the device discovery request frame; receive a service query frame; transmit a response to the service query frame; receive a permission request frame; transmit a response to the permission request frame to the second device; establish a peer-to-peer connection, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device; and receive data from the second device via the service; and an antenna coupled with physical layer logic to transmit and receive frames.
It will be apparent to those skilled in the art having the benefit of this disclosure that the present disclosure contemplates methods and arrangements for establishing application session based secure peer-to-peer links. It is understood that the form of the embodiments shown and described in the detailed description and the drawings are to be taken merely as examples. It is intended that the following claims be interpreted broadly to embrace all variations of the example embodiments disclosed.
after discovering that a second device supports a type of a service with a service protocol, transmitting, by a first device, a permission request frame to the second device, the permission request frame to request permission to establish a peer-to-peer connection to transmit data to the second device via the service;
receiving a response to the permission request frame from the second device;
the first device determining a specific port for communicating data related to the service by port number negotiation with the second device;
in response to receiving a grant of permission to establish the peer-to-peer connection to transmit the data to the second device in the response to the permission request frame from the second device, establishing the peer-to-peer connection between the first device and the second device, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device; and
after establishing the peer-to-peer connection between the first device and the second device in the group, transmitting the data by the first device to the second device via the service, wherein the data that is related to the service is permitted to transmit via the specific port.
transmitting, by the first device, a device discovery request frame comprising an indication of a type of device and the type of the service;
receiving a response to the device discovery request frame indicating the second device;
transmitting a service query frame comprising an indication of service protocols of the first device associated with the type of the service; and
receiving a service response frame comprising an indication service protocols of the second device associated with the type of the service.
3. The method of claim 2, wherein transmitting the device discovery request frame comprises transmitting a beacon frame or a probe frame.
4. The method of claim 2, wherein transmitting the device discovery request frame comprises transmitting a frame comprising data identifying the first device.
5. The method of claim 1, further comprising initiating, by the first device, a peer-to-peer connection comprising the first device transmitting beacon frames to start a new group; initiating a group owner negotiation to start a new group; transmitting an invite to the second device to request that the second device join a group, wherein the first device is joined with the group; or receiving an invite from the second device to request that the first device join a group, wherein the second device is joined with the group.
6. The method of claim 1, further comprising initiating, by the first device, a peer-to-peer connection comprising initiating an Intra-Basic Service Set (BSS) Distribution link or a Tunneled Direct Link Setup (TDLS) link.
7. The method of claim 1, further comprising storing, by the medium access control sublayer logic, at least part of the frame in memory.
a medium access control logic coupled with the memory to, after discovering that a second device supports a type of a service with a service protocol, transmit a permission request frame to the second device, the permission request frame to request permission to establish a peer-to-peer connection to transmit data to the second device via the service; receive a response to the permission request frame from the second device; the device to determine a specific port for communicating data related to the service by port number negotiation with the second device; in response to receiving a grant of permission to establish the peer-to-peer connection to transmit the data to the second device, establish the peer-to-peer connection between the device and the second device, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the device and the second device; and, after establishing the peer-to-peer connection between the device and the second device in the group, transmit the data by the device to the second device via the service, wherein the data that is related to the service is permitted to transmit via the specific port.
10. The device of claim 9, further comprising a transmitter coupled with the medium access control logic to transmit the frame and an antenna coupled with the transmitter to transmit the frame.
11. The device of claim 10, further comprising logic to transmit a device discovery request frame comprising an indication of the type of the service; receive a response to the device discovery frame indicating the second device; transmit a service query frame to the second device; and receive a service response from the second device.
13. The device of claim 9, wherein the medium access control logic to transmit the device discovery request frame comprises logic to transmit a frame comprising data identifying the device.
14. The device of claim 9, wherein the medium access control logic to transmit the permission request frame comprises logic to transmit at least a metafile, content for Digital Living Network Alliance (DLNA) interoperability support, content for printing and application enablement support, or a port number negotiation for secure session setup to determine the specific port number for communicating data related to the service.
after indicating, by a first device, support of a type of a service with a service protocol to a second device, receiving a permission request frame from the second device, the permission request frame to request permission to establish a peer-to-peer connection to transmit data to the first device via the service;
transmitting, by the first device, a permission response frame to the second device, the permission response frame to grant permission to establish a peer-to-peer connection to transmit data from the second device to the first device via the service;
in response to transmitting a grant of permission to establish the peer-to-peer connection to transmit the data to the second device from the first device, establishing the peer-to-peer connection between the first device and the second device, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device; and
after establishing the peer-to-peer connection between the first device and the second device in the group, receiving the data from the second device via the service, wherein the data that is related to the service is permitted to transmit via the specific port.
receiving, by the first device from a second device, a device discovery frame comprising an indication of a type of the service;
transmitting a response to the device discovery request frame;
receiving a service response frame comprising an indication of service protocols of the second device associated with the type of the service.
18. The method of claim 15, wherein receiving the device discovery request frame comprises receiving a frame comprising data identifying the second device.
19. The method of claim 15, wherein receiving the permission request comprises receiving a port number negotiation for secure session setup to determine the specific port for securely communicating data related to the service.
a medium access control logic coupled with the memory to after indicating, by the device, support of a type of a service with a service protocol to a second device, receive a permission request frame from the second device, the permission request frame to request permission to establish a peer-to-peer connection to transmit data to the device via the service; transmit a response to the permission request frame to the second device, the response to the permission request frame to grant permission to establish a peer-to-peer connection to transmit data from the second device to the device via the service; the device determining a specific port for communicating data related to the service by port number negotiation with the second device; in response to transmitting a grant of permission to establish the peer-to-peer connection to transmit the data to the second device from the device, establish the peer-to-peer connection between the device and the second device, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the device and the second device; and after establishing the peer-to-peer connection between the device and the second device in the group, receive data from the second device via the service, wherein the data that is related to the service is permitted to transmit via the specific port.
21. The device of claim 20, further comprising a transmitter coupled with the medium access control logic to transmit the frame and an antenna coupled with the transmitter to transmit the frame.
22. The device of claim 20, further comprising logic to receive, from a second device, a device discovery request frame comprising an indication of a type of service; transmit a response to the device discovery request frame; receive a service query frame; and transmit a response to the service query frame.
25. The device of claim 20, wherein the medium access control logic to receive the permission request comprises logic to interpret a port number negotiation for secure session setup and to determine a port number based upon the port number negotiation to determine the specific port to be utilized only for data related to the service.
26. A non-transitory computer readable medium comprising instructions to be executed by a processor-based device, wherein the instructions, when executed by the processor-based device, perform operations, the operations comprising:
in response to receiving a grant of permission to establish the peer-to-peer connection to transmit the data to the second device, establishing the peer-to-peer connection between the first device and the second device, wherein the peer-to-peer connection establishes communications between devices of a group, the group comprising at least the first device and the second device; and
27. The medium of claim 26, wherein transmitting the permission request comprises transmitting a port number negotiation for secure session setup to determine the specific port for securely communicating data related to the service and only data related to the service.
28. A non-transitory computer readable medium comprising instructions to be executed by a processor-based device, wherein the instructions, when executed by the processor-based device, perform operations, the operations comprising:
29. The medium of claim 28, wherein receiving the permission request comprises receiving a port number negotiation for secure session setup to determine the specific port to be used for traffic data related to the service.
US13730873 2012-08-07 2012-12-29 Methods and arrangements to establish peer-to-peer link Active 2033-05-13 US9474094B2 (en)
US201261680695 true 2012-08-07 2012-08-07
US13730873 US9474094B2 (en) 2012-08-07 2012-12-29 Methods and arrangements to establish peer-to-peer link
US20140045422A1 true US20140045422A1 (en) 2014-02-13
US9474094B2 true US9474094B2 (en) 2016-10-18
ID=50066543
US13730873 Active 2033-05-13 US9474094B2 (en) 2012-08-07 2012-12-29 Methods and arrangements to establish peer-to-peer link
US (1) US9474094B2 (en)
EP (1) EP2883410B1 (en)
CN (1) CN104813734A (en)
WO (1) WO2014025475A1 (en)
WO2015067982A1 (en) * 2013-11-07 2015-05-14 Sony Corporation Directional proximity detection
US20160174139A1 (en) * 2014-12-16 2016-06-16 Intel Corporation Ranging profiling for neighbor awareness networking
US20070162583A1 (en) 2006-01-11 2007-07-12 Fujitsu Limited Information providing device, device discovering method, and computer product
US20110051733A1 (en) 2009-08-27 2011-03-03 Emulex Corporation System and Method for Direct Communications Between FCoE Devices
US8570950B2 (en) * 2000-12-11 2013-10-29 Sharp Kabushiki Kaisha Wireless communication system
WO2014025475A1 (en) 2012-08-07 2014-02-13 Intel Corporation Methods and arrangements to establish peer-to-peer link
US20150271657A1 (en) * 2014-03-24 2015-09-24 Intel IP Corporation Apparatuses, systems, and methods for differentiation of payload size for d2d discovery
US20160113049A1 (en) * 2014-10-20 2016-04-21 Electronics And Telecommunications Research Institute Method and apparatus for discovering target in device-to-device direct communication
CN101035111B (en) * 2007-04-13 2010-10-13 北京启明星辰信息技术股份有限公司 Intelligent protocol parsing method and device
CN101426000A (en) * 2007-10-30 2009-05-06 北京启明星辰信息技术有限公司 General protocol parsing method and system
CN101442519B (en) * 2007-11-22 2012-06-20 北京启明星辰信息技术股份有限公司 Method and system for monitoring P2P software
Extended Search Report received for European Patent Application No. 13827722.3, mailed Feb. 25, 2016, 9 pages.
International Preliminary Report on Patentability and Written Opinion received for PCT Patent Application No. PCT/US2013/048813, mailed on Feb. 19, 2015, 10 pages.
International Search Report and Written Opinion received for PCT Patent Application No. PCT/US2013/048813, mailed on Oct. 18, 2013, 14 pages.
Wi-Fi Alliance: "Wi-Fi Peer-to-Peer (P2P) Technical Specification v1.1", Wi-Fl Alliance Specification, Jan. 1, 2010, Doc. No. XP009163866, 159 pages.
EP2883410B1 (en) 2018-02-28 grant
EP2883410A4 (en) 2016-03-30 application
WO2014025475A1 (en) 2014-02-13 application
US20140045422A1 (en) 2014-02-13 application
CN104813734A (en) 2015-07-29 application
EP2883410A1 (en) 2015-06-17 application
US20090323569A1 (en) 2009-12-31 Systems and Methods of Combined Bluetooth and WLAN Signaling
US20110305233A1 (en) 2011-12-15 Coexistent channel access method
US20160286574A1 (en) 2016-09-29 Schedule selection and connection setup between devices participating in a nan data link
US20150382333A1 (en) 2015-12-31 Method and device for transmitting/receiving frame in accordance with bandwidth thereof in wlan system
US20130266136A1 (en) 2013-10-10 Method, system, and devices for fast session transfer of wireless devices from one frequency band to another
CN101513114A (en) 2009-08-19 System and method for high speed local connectivity between local devices
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:QI, EMILY H.;MCCALL, DAVID J.;SIGNING DATES FROM 20130623 TO 20131104;REEL/FRAME:032199/0098