IP Library Granted Patent US 9,258,193
Granted Patent B2
US 9,258,193 · App. 14/154,349 · Granted Feb 9, 2016

Method, apparatus, and computer program product for wireless network cluster discovery and concurrency management

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,258,193
App. No.
14/154,349
Granted
Feb 9, 2016
Kind
B2
Abstract

Embodiments enable discovery of networks in a wireless communications medium. In example embodiments, a method comprises identifying, by an apparatus, a plurality of wireless network clusters by receiving wireless synchronization messages from one or more member devices of each of the plurality of wireless network clusters; calculating, by the apparatus, a cluster grade for each of the plurality of identified wireless network clusters based on information of the received wireless synchronization messages; selecting, by the apparatus, a wireless network cluster from the plurality of identified wireless network clusters, having a highest cluster grade for joining and operating in said wireless network cluster; and ranking, by the apparatus, non-selected wireless network clusters based on predefined criteria applied to information received by the apparatus characterizing the non-selected wireless network clusters.

Claims (65)

1. A method, comprising:

identifying, by an apparatus, a plurality of wireless network clusters by receiving wireless synchronization messages from one or more member devices of each of the plurality of wireless network clusters;

calculating, by the apparatus, a cluster grade for each of the plurality of identified wireless network clusters based on information of the received wireless synchronization messages;

selecting, by the apparatus, a wireless network cluster from the plurality of identified wireless network clusters, having a highest cluster grade for joining and operating in said wireless network cluster; and

ranking, by the apparatus, non-selected wireless network clusters for concurrent operation, while operating in said selected cluster, based on predefined criteria applied to service identifier information received by the apparatus characterizing the non-selected wireless network clusters.

2. The method of claim 1 , further comprising:

determining, by the apparatus, whether to operate in one or more of the non-selected wireless network clusters based on the ranking of the non-selected wireless network clusters.

3. The method of claim 2 , further comprising:

determining, by the apparatus, time allocations for operation in the one or more of the non-selected wireless network clusters based on the ranking of said one or more non-selected wireless network clusters.

4. The method of claim 1 , further comprising:

wherein the predefined criteria includes counting a respective number of at least one of published and subscribed services for member devices of each of the non-selected wireless network clusters.

5. The method of claim 4 , further comprising:

comparing, by the apparatus, the respective counts of the at least one of published and subscribed services for the member devices of each of the non-selected wireless network clusters; and

ranking, by the apparatus, a wireless network cluster having a highest count from the non-selected wireless network clusters as highest ranked wireless network cluster from the non-selected wireless network clusters.

6. The method of claim 5 , further comprising:

ranking, by the apparatus, a wireless network cluster having a highest cluster grade as highest ranked wireless network cluster from the non-selected wireless network clusters, if the respective counts are equivalent for the non-selected wireless network clusters.

7. The method of claim 1 , further comprising:

wherein the predefined criteria is based on cluster grades calculated for each of the non-selected wireless network clusters.

8. The method of claim 1 , further comprising:

maintaining, by the apparatus, a list of available wireless network clusters, the list containing those wireless network clusters in which the apparatus operates or has recently operated, and those other wireless network clusters that have been discovered by receiving one or more wireless synchronization messages from wireless devices in the other wireless network clusters.

9. The method of claim 1 , further comprising:

maintaining, by the apparatus, a list of available wireless network clusters, the list containing those wireless network clusters in which the apparatus operates or has recently operated, and those other wireless network clusters that have been discovered by receiving one or more wireless synchronization messages from wireless devices in the other wireless network clusters; and

passively scanning, by the apparatus, to discover wireless network clusters and after each scan, updating the list by deleting wireless network clusters that are no longer available.

10. The method of claim 1 , further comprising:

controlling, by the apparatus, a number of wireless network clusters that the apparatus is capable of concurrently operating in, based on at least one of a battery level of a battery powering the apparatus and a duration required for the apparatus to perform other operations.

11. An apparatus, comprising:

at least one processor;

at least one memory including computer program code;

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

identify a plurality of wireless network clusters by receiving wireless synchronization messages from one or more member devices of each of the plurality of wireless network clusters;

calculate a cluster grade for each of the plurality of identified wireless network clusters based on information of the received wireless synchronization messages;

select a wireless network cluster from the plurality of identified wireless network clusters, having a highest cluster grade for joining and operating in said wireless network cluster; and

rank non-selected wireless network clusters for concurrent operation, while operating in said selected cluster, based on predefined criteria applied to service identifier information received by the apparatus characterizing the non-selected wireless network clusters.

12. The apparatus of claim 11 , further comprising:

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

determine whether to operate in one or more of the non-selected wireless network clusters based on the ranking of the non-selected wireless network clusters.

13. The apparatus of claim 12 , further comprising:

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

determine time allocations for operation in the one or more of the non-selected wireless network clusters based on the ranking of said one or more non-selected wireless network clusters.

14. The apparatus of claim 11 , further comprising:

wherein the predefined criteria includes counting a respective number of at least one of published and subscribed services for member devices of each of the non-selected wireless network clusters.

15. The apparatus of claim 14 , further comprising:

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

compare the respective counts of the at least one of published and subscribed services for the member devices of each of the non-selected wireless network clusters; and

rank a wireless network cluster having a highest count from the non-selected wireless network clusters as highest ranked wireless network cluster from the non-selected wireless network clusters.

16. The apparatus of claim 15 , further comprising:

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

rank a wireless network cluster having a highest cluster grade as highest ranked wireless network cluster from the non-selected wireless network clusters, if the respective counts are equivalent for the non-selected wireless network clusters.

17. The apparatus of claim 11 , further comprising:

wherein the predefined criteria is based on cluster grades calculated for each of the non-selected wireless network clusters.

18. The apparatus of claim 11 , further comprising:

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

maintain a list of available wireless network clusters, the list containing those wireless network clusters in which the apparatus operates or has recently operated, and those other wireless network clusters that have been discovered by receiving one or more wireless synchronization messages from wireless devices in the other wireless network clusters.

19. The apparatus of claim 11 , further comprising:

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

maintain a list of available wireless network clusters, the list containing those wireless network clusters in which the apparatus operates or has recently operated, and those other wireless network clusters that have been discovered by receiving one or more wireless synchronization messages from wireless devices in the other wireless network clusters; and

passively scanning, by the apparatus, to discover wireless network clusters and after each scan, updating the list by deleting wireless network clusters that are no longer available.

20. The apparatus of claim 11 , further comprising:

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

control a number of wireless network clusters that the apparatus is capable of concurrently operating in, based on at least one of a battery level of a battery powering the apparatus and a duration required for the apparatus to perform other operations.

21. A computer program product comprising computer executable program code recorded on a computer readable non-transitory storage medium, the computer executable program code comprising:

code for identifying, by an apparatus, a plurality of wireless network clusters by receiving wireless synchronization messages from one or more member devices of each of the plurality of wireless network clusters;

code for calculating, by the apparatus, a cluster grade for each of the plurality of identified wireless network clusters based on information of the received wireless synchronization messages;

code for selecting, by the apparatus, a wireless network cluster from the plurality of identified wireless network clusters, having a highest cluster grade for joining and operating in said wireless network cluster; and

code for ranking, by the apparatus, non-selected wireless network clusters for concurrent operation, while operating in said selected cluster, based on predefined criteria applied to service identifier information received by the apparatus characterizing the non-selected wireless network clusters.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2024
From: RPX CORPORATION
To: NETSKOPE, INC.
Reel/Frame 067918/0690 →
RELEASE OF SECURITY INTEREST IN SPECIFIED PATENTS Recorded May 31, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 067596/0606 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2017
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 040946/0993 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2014
From: KASSLIN, MIKA; RANTALA, ENRICO; MARIN, JANNE
To: NOKIA CORPORATION
Reel/Frame 032170/0741 →