IP Library Granted Patent US 9,538,561
Granted Patent B2
US 9,538,561 · App. 14/035,276 · Granted Jan 3, 2017

Systems and methods for enabling service interoperability functionality for WiFi Direct devices connected to a network via a wireless access point

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,538,561
App. No.
14/035,276
Granted
Jan 3, 2017
Kind
B2
Abstract

Certain embodiments herein are directed to enabling service interoperability functionality for wireless fidelity (WiFi) Direct devices connected to a network via a wireless access point. A WiFi Direct device may identify various other WiFi Direct devices on a WiFi network for performing a requested service, such as printing content or displaying content to a screen. In so doing, the device may share information associated with an access point to which the device is connected with the other devices, which may also share information associated with an access point to which they are connected. In this way, WiFi Direct devices may discover their connectivity with respect to other devices to utilize a broader array of connection options for implementing a desired service, and hence, may leverage application programming interface (API) modules directed at providing service interoperability functionality between software applications and services requested by the software applications.

Claims (56)

1. A device comprising:

one or more radios;

one or more antennas;

at least one memory that stores computer-executable instructions; and

at least one processor configured to access the at least one memory, wherein the at least one processor is configured to execute the computer-executable instructions to:

generate a probe request comprising a request for a service and first information associated with a first wireless access point to which the device is connected on a wireless fidelity (WiFi) network;

send the probe request to one or more service devices within range of the device;

receive a respective response to the probe request comprising an identification of the requested service and second information associated with a second wireless access point to which the one or more service devices are connected on the WiFi network;

generate a session frame comprising information associated with the requested service and one or more first connection capabilities of the device;

determine a first bit and a second bit included in the session frame and associated with the one or more first connection capabilities;

determine a type of connection for a subsequent communication with the one or more service devices based at least in part on the first bit and the second bit, wherein the type of connection is an access point connection when the first bit is set to a first value and the second bit is set to a second value, the first value being different from the second value, wherein the type of connection is a Tunneled Direct Link Setup (TDLS) connection when the second bit is set to the first value and the first bit is set to the second value, and wherein the type of connection is a peer-to-peer connection when the first bit and the second bit are set to a same value; and

invoke one or more application programming interface (API) modules associated with a WiFi Direct protocol that provide interoperability between the requested service and a software application stored in the at least one memory that requests the service.

2. The device of claim 1 , wherein providing interoperability comprises communicating information between the software application and the requested service via the determined type of connection.

3. The device of claim 1 , the at least one processor further configured to execute the computer-executable instructions to:

send the session frame to the one or more service devices; and

receive, from the one or more services devices, a respective response to the session frame comprising an indication of a different type of connection to be used for performing the service.

4. The device of claim 1 , the at least one processor further configured to execute the computer-executable instructions to:

determine that a first BSSID of the first wireless access point matches a second BSSID of the second wireless access point; and

send a discovery request comprising a request for information associated with the service to the one or more service devices using a Bonjour protocol or a Universal Plug and Play (UPnP) protocol.

5. The device of claim 1 , the at least one processor further configured to execute the computer-executable instructions to:

determine that a first BSSID of the first wireless access point does not match a second BSSID of the second wireless access point; and

send a discovery request comprising a request for information associated with the service to the one or more service devices using the peer-to-peer protocol.

6. The device of claim 1 , wherein the probe request is sent via the peer-to-peer protocol, and the probe response is received via the peer-to-peer protocol.

7. The device of claim 1 , wherein the device and the one or more service devices are connected to a WiFi network and each of the devices is configured to communicate with one another using the WiFi Direct protocol.

8. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by at least one processor, configure the at least one processor to perform operations comprising:

generating a probe request comprising a request for a service and first information associated with a first wireless access point on a wireless fidelity (WiFi) network to which a requester device comprising the least one processor is connected;

sending the probe request to one or more service devices within range of the requester device;

receiving a respective response to the probe request comprising an identification of a requested service and second information associated with a second wireless access point to which the one or more service devices are connected on the WiFi network;

generating a session frame comprising information associated with the requested service and one or more first connection capabilities of the device;

determining a first bit and a second bit included in the session frame and associated with the one or more first connection capabilities;

determining a type of connection for a subsequent communication with the one or more service devices based at least in part on the first bit and the second bit, wherein the type of connection is an access point connection when the first bit is set to a first value and the second bit is set to a second value, the first value being different from the second value, wherein the type of connection is a Tunneled Direct Link Setup (TDLS) connection when the second bit is set to the first value and the first bit is set to the second value, and wherein the type of connection is a peer-to-peer connection when the first bit and the second bit are set to a same value; and

invoking one or more application programming interface (API) modules associated with a WiFi Direct protocol that provide interoperability between the requested service and a software application stored in the at least one memory that requests the service.

9. The one or more computer-readable media of claim 8 , wherein providing interoperability comprises the at least one processor being further configured to execute the computer-executable instructions to perform the operation comprising communicating information between the software application and the requested service via the determined type of connection.

10. The one or more computer-readable media of claim 8 , the at least one processor further configured to execute the computer-executable instructions to perform the operations comprising:

sending the session frame to the one or more service devices; and

receiving, from the one or more services devices, a respective response to the session frame comprising an indication of a different type of connection to be used for performing the service.

11. The one or more computer-readable media of claim 8 , the at least one processor further configured to execute the computer-executable instructions to perform the operation comprising:

determining that a first BSSID of the first wireless access point matches a second BSSID of the second wireless access point; and

sending a discovery request comprising a request for information associated with the service to the one or more service devices using a Bonjour protocol or a Universal Plug and Play (UPnP) protocol.

12. The one or more computer-readable media of claim 8 , the at least one processor further configured to execute the computer-executable instructions to perform the operation comprising:

determining that a first BSSID of the first wireless access point does not match a second BSSID of the second wireless access point; and

sending a discovery request comprising a request for information associated with the service to the one or more service devices using the peer-to-peer protocol.

13. The one or more computer-readable media of claim 8 , wherein the probe request is sent via the peer-to-peer protocol and the probe response is received via the peer-to-peer protocol.

14. The one or more computer-readable media of claim 8 , wherein the requester device and the one or more service devices are connected to a WiFi network and each of the devices is configured to communicate with one another using the WiFi Direct protocol.

15. A method comprising:

determining, by a service device associated with a first wireless access point, one or more first connection capabilities, wherein at least one of the first connection capabilities is based at least in part on an access point to which the service device is connected on a wireless fidelity (WiFi) network;

receiving, by the service device from a requester device, a session frame comprising an indication of one or more second connection capabilities of the requester device associated with a second wireless access point and a request for the service device to perform a service;

determining, by the service device, a first bit and a second bit included in the session frame;

determining, by the service device, a type of connection for a subsequent communication with the requester device based at least in part on the first bit and the second bit, wherein the type of connection is an access point connection when the first bit is set to a first value and the second bit is set to a second value, the first value being different from the second value, wherein the type of connection is a Tunneled Direct Link Setup (TDLS) connection when the second bit is set to the first value and the first bit is set to the second value, and wherein the type of connection is a peer-to-peer connection when the first bit and the second bit are set to a same value; and

sending, by the service device, information associated with performing the service to the requester device using the determined type of connection.

16. The method of claim 15 , wherein the determined type of connection comprises at least one of the access point, a Tunneled Direct Link Setup (TDLS) link, or a peer-to-peer connection.

17. The method of claim 15 , further comprising receiving, by the service device from a software application of the requester device, a request to perform the service, wherein interoperability between the software application and the service is provided by an application programming interface (API) module associated with a WiFi Direct protocol.

18. The method of claim 15 , wherein the access point comprises a first access point, the further comprising:

receiving, by the service device, a probe request comprising an identification of a second access point to which the requester device is connected on the WiFi network, wherein the probe request is received via the peer-to-peer protocol; and

generating, by the service device, a probe response comprising the first access point; and

sending, by the service device, the probe response to the requester device via the peer-to-peer protocol.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2021
From: INTEL IP CORPORATION
To: INTEL CORPORATION
Reel/Frame 056524/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2017
From: QI, EMILY H.; CORDEIRO, CARLOS; VENKATESAN, GANESH; SADEGHI, BAHAREH
To: INTEL IP CORPORATION
Reel/Frame 043393/0127 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2016
From: INTEL CORPORATION
To: INTEL IP CORPORATION
Reel/Frame 040726/0049 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2013
From: QI, EMILY H.; CORDEIRO, CARLOS; VENKATESAN, GANESH; SADEGHI, BAHAREH
To: INTEL CORPORATION
Reel/Frame 031276/0237 →