DELEGATE GROUP OWNERSHIP IN PEER-TO-PEER NETWORKS
A ranking list in P2P networks addresses the challenge of GO delegation by selecting a new GO based on intent and reachability values, ensuring uninterrupted network connectivity through secure transitions.
Patent Information
- Application Number
- DE102025110653
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-03
- Filing Date
- 2025-03-19
- Publication Date
- 2025-10-09
AI Technical Summary
Current implementations of peer-to-peer (P2P) networks face challenges in delegating group ownership effectively, leading to network disconnection when the group owner (GO) leaves, especially when potential new GOs are out of communication range, resulting in incomplete network connectivity.
A ranking list is maintained for station devices in P2P networks, incorporating intent and reachability values to determine a suitable new GO, ensuring seamless delegation and maintaining network connectivity by providing role-related information and secure connections.
The solution ensures continuous network connectivity by designating a new GO with the highest ranking score, reducing disruptions and maintaining stable communication among devices.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL FIELD
[0001] This disclosure relates to peer-to-peer (P2P) networks and, in particular, to the delegation of group ownership in P2P networks. BACKGROUND
[0002] Wireless local area network (WLAN) peer-to-peer (P2P) networks are a type of wireless network configuration in which multiple client devices, also known as station devices, communicate directly with each other without relying on a centralized access point, such as a router. It serves as a flexible way to create temporary networks, small home networks, in situations where a central access point is not readily available. Typically, these WLAN P2P networks facilitate file sharing between station devices. SHORT DESCRIPTION OF THE CHARACTERS
[0003] Aspects and implementations of the present disclosure will become more fully understood from the following detailed description and the accompanying drawings of various aspects and implementations of the disclosure, which, however, should not be construed as limiting the disclosure to the specific aspects or implementations, but are provided for purposes of explanation and understanding only. Fig. 1A is a block diagram of an exemplary representation of a station device according to implementations of the present disclosure. Fig. 1B is a block diagram of an exemplary representation of an environment in which one or more station devices establish a WLAN P2P network, according to implementations of the present disclosure. Fig. 2 illustrates the established WLAN P2P network based on various delegation techniques according to implementations of the present disclosure. Fig. 3 illustrates a ranking list used to facilitate delegating group ownership from one station device to another station device, according to implementations of the present disclosure. Fig. 4 illustrates a flowchart of an example method for delegating group ownership from one station device to another station device according to implementations of the present disclosure. Fig. 5 illustrates a flowchart of an exemplary method for maintaining a ranking list for delegating group ownership from one station device to another station device, according to implementations of the present disclosure. DETAILED DESCRIPTION
[0004] Aspects of the present disclosure relate to delegating group ownership in P2P networks. The Wi-Fi P2P network (simply referred to as a P2P network) refers to a network of interconnected nodes (e.g., station devices) that establish a Wi-Fi connection without an intervening wireless access point, router, or Internet connection. P2P networks are established by station devices discovering each other. Once station devices have discovered each other, a station device is designated as a group owner (GO). This is typically determined through a negotiation process that can be initiated by any of the station devices. The negotiation process decides which station device (STA) will be the GO based on factors such as power source (battery-powered versus plugged-in) and network conditions. The device designated as the GO (e.g.,The STA designated by the GO is responsible for managing network settings and controlling access to the network (e.g., accepting new connections or disconnecting existing connections). Once the P2P network is established, data can be transferred directly between station devices. This can include file sharing, media streaming, or sharing internet connectivity if the GO has access to another network (such as a mobile data connection).
[0005] Typically, station devices that are not designated as GOs (or STAs designated as group clients (GCs)) (e.g., GCs) may wish to leave the P2P network or terminate the P2P network session. When GCs leave the P2P network, they disconnect from the P2P network without affecting the P2P network itself (i.e., the GO and other GCs can continue to communicate within the P2P network). However, in current implementations, when the GO wishes to leave the P2P network, the P2P network is dissolved due to the GO's inability to delegate its ownership of the P2P network to another GC. If a new station device joins the P2P network that is more suitable as a GO, the new station device cannot be designated as a GO.
[0006] In current implementations, a GO can delegate its ownership of the P2P network to a GC based on the capabilities of the station device. Specifically, when the GO wants to leave the P2P network, the GO sends a request to obtain an intent value from each GC of the P2P network. The intent value sent by each GC of the P2P network can be based on details such as cross-connections, services offered, device capabilities, etc. The intent values received by the GO from each GC of the P2P network can be used to select a GC among the GCs of the P2P network (e.g., a new GO). The method for selecting the new GO may vary depending on the algorithm used (e.g., selecting the GC with the highest intent value).
[0007] Once the new GO is selected from among the GCs of the P2P network, the GO sends a delegation confirmation to the new GO. Upon receiving the delegation confirmation from the GO, the new GO accepts or rejects the delegation confirmation. If the new GO rejects the delegation confirmation, the GO negotiates with other GCs of the P2P network. If the new GO accepts the delegation confirmation, the GO performs a handshake with the new GO to send designation-related information, such as Dynamic Host Configuration Protocol (DHCP) server details, a peer-to-peer device and interface address, group identification, client state, and so on. The GO also sends a notification to other GCs of the P2P network, identifying the new GO as a GO.
[0008] While the current implementation provides the ability for a station device of the P2P network (e.g., a GO) to delegate its ownership of the P2P network to another station device (e.g., a new GO) based on its capabilities, one or more GCs of the P2P network may not be within the communication range of the new GO. Accordingly, the one or more GCs of the P2P network that are not within the communication range of the new GO, but were within the communication range of the GO, are no longer able to communicate with other GCs of the P2P network. As a result, if the communication range of the P2P network associated with the new GO includes a small subset of GCs, the delegation of ownership from the GO to the new GO would be tantamount to dissolving the P2P network.
[0009] Aspects and embodiments of the present disclosure address these and other limitations of existing technology by creating and maintaining a list (e.g., a ranking list) of the one or more station devices (e.g., STAs) to enable delegation of the GO role from one GO to another GC. The ranking list includes, for each GC, an intent value, a reachability value, and a ranking score calculated based on the intent value and the reachability value. The intent value is a predefined value indicating a preference of the GO. The reachability value is a value indicating a number of GCs communicatively accessible by a respective GC.The reachability value can be determined using various methods, such as reading, among other information, various packets, frames, and / or messages sent by nearby GCs. The intent value, and in some embodiments, the reachability value, are received by a GO from the one or more GCs during the negotiation. The GO periodically updates the ranking list at predetermined time intervals based on reachability values periodically sent by each GC to the GO.
[0010] During the delegation of the GO role from a GO to a GC, the GO obtains, from the ranking list, a GC (or station device) with a highest ranked score (e.g., the highest ranked station or the highest ranked STA). In some embodiments, additional logic may be implemented in selecting the highest ranked STA. The GO delegates the GO role to the highest ranked STA before disconnecting from the P2P network by providing role-related information including the intent value for each GC to be used by the highest ranked STA to create a ranking list. In some embodiments, the GO may further establish secure connections on behalf of the highest ranked STA with other GCs using a secure connection method, such as a push-button configuration (e.g.,Wi-Fi Protected Setup (WPS)), and provide the highest-ranked STA access to the established secure connection.
[0011] Aspects of the present disclosure overcome these and other deficiencies by maintaining a ranking list used to facilitate delegation of group ownership and maintaining the connection of GCs to the P2P network during delegation of group ownership, thereby reducing the sensing and energy overhead of GCs and maintaining a constant connection to the P2P network.
[0012] Fig. 1A is a block diagram of an exemplary representation of a station device (e.g., station device 110). In at least some embodiments, station device 110 includes, but is not limited to, a transmitter 102A, a receiver 104A, a communications interface 106, a transmitter (TX) antenna 102B coupled to transmitter 102A, a receiver (RX) antenna 104B coupled to receiver 104A, a memory 108, one or more input / output (I / O) devices 112 (such as a display screen, a touchscreen, a keyboard, and the like), and a processor 114. In some cases, one or more of the components, such as memory 108, may be coupled to a communications bus 116. In some embodiments, aspects of the communication interface 106 operate with the processor 114 to perform operations or functions as a processing device of the station device 110.In some embodiments, there is a single antenna and multiplexing logic to switch the use of the antenna between the transmitter 102A and the receiver 104A. In various embodiments, front-end components, such as the transmitter 102A, the receiver 104A, the communication interface 106, and the one or more antennas (e.g., the TX antenna 102B and / or the RX antenna 104B) described herein in various devices, are adapted or configured with WLAN and Personal Area Network (PAN)-based frequency bands, e.g., Bluetooth® (BT), Bluetooth Low Energy (BLE), Wi-Fi™, Zigbee®, Z-wave™, and the like. The processor 114 may include a role delegation component 115.
[0013] Although Fig. While Figure 1A provides an illustration of one or more components of station device 110, station devices 120, 130, 140, 150, 160, 170, and 180 include similar components. Accordingly, each STA of the plurality of STAs includes, but is not limited to, a transmitter, a receiver, a communications interface, a transmitter (TX) antenna coupled to the transmitter, a receiver (RX) antenna coupled to the receiver, memory, and a processor including the role delegation component 115.
[0014] Fig. 1B is a block diagram of an exemplary representation of an environment 100 including a plurality of station devices (STAs) (e.g., STAs 110-180), according to implementations of the present disclosure. The plurality of STAs may establish a wireless network, such as a WLAN P2P network (e.g., a P2P network). In particular, an STA of the plurality of STAs (e.g., an initiating STA of the plurality of STAs) initiates a discovery of other STAs in the vicinity (e.g., within the environment 100) that may establish a P2P network and are set as discoverable (e.g., the remaining STAs of the plurality of STAs). In particular, the initiating STA transmits discovery signals or probes. The remaining STAs of the environment 100 respond to the discovery signals of the initiating STA (e.g., acknowledge the discovery signals).This response typically includes information necessary to establish a connection, such as device name, device type, supported services, and connection parameters.
[0015] After discovery, the plurality of STAs can conduct negotiations to determine which STA of the plurality of STAs will assume the role of group owner (e.g., GO) and which STAs will assume the role of group client (e.g., GC). Specifically, the plurality of STAs share their intentions to become a GO. An STA's intentions can be represented as an intent value. The intent value is a predefined value indicating a preference to operate as a GO, which is influenced (or determined) by the STA's processing power, connectivity options, battery life, etc. Based on the shared intentions, the plurality of STAs agree on which STA (e.g., STA 110) will become a GO and designate that STA as the GO. Typically, the plurality of STAs agree that the STA with the highest intent will become a GO. Each of the remaining STAs (e.g., STAs 120, 130, 140, 150, 160, 170, and 180) is considered a GC (e.g.,A large number of GCs are designated. The GO acts as an access point in a conventional Wi-Fi network. It manages the P2P network settings, including the SSID (Service Set Identifier) and security settings, and controls access to the P2P network. The GCs connect to and communicate with the GO.
[0016] After negotiation, the plurality of GCs establishes direct P2P connections 125-185, which are used to establish the P2P network. Specifically, each GC of the plurality of GCs establishes a secure connection (e.g., one of the direct P2P connections 125-185) with the GO using secure connection methods, such as, for example, a personal identification number (PIN) entry, a push-button configuration (e.g., Wi-Fi Protected Setup (WPS), or near-field communication (NFC). Each GC exchanges connection information with the GO, which may include the Service Set Identifier (SSID), security settings, and other network configuration details that ensure the GO and the GC are configured to communicate effectively. Using the exchanged connection information, the plurality of GCs connects to the GO, and the GO accepts the connection.The GO can assign network addresses (such as IP addresses) to the multitude of GCs. Once secure connections (e.g., direct P2P connections 125-185) are established, the multitude of GCs can begin communicating, enabling data transfer, file sharing, streaming, or any other P2P network activity. The GO manages the P2P network, controlling access and communication between the multitude of GCs. It can also handle new STAs (e.g., new GCs) joining the P2P network or existing STAs (e.g., existing GCs) leaving it.
[0017] As noted above, each of the STAs 110-180 may include a role delegation component similar to the role delegation component 115 (e.g., the role delegation component 191-198) that enables delegation of the GO's role. In particular, the GO's role delegation component 191 (e.g., STA 110 or a first station device) maintains a list of the plurality of GCs (e.g., a ranking list) used to enable delegation of the GO's role from the GO to a GC of the plurality of GCs. The GO's role delegation component 191 establishes a list of the plurality of GCs with their corresponding intents (e.g., intent value) during negotiation (i.e., inserting each GC with its corresponding intent value into the list). The list of the plurality of GCs (or the ranking list) may be stored in the GO.In some embodiments, the role delegation component 192-198 of the plurality of STAs may share their reachability value during negotiation. The reachability value is a value indicating a number of STAs within the environment 100 that can be communicatively accessed. The role delegation component 191-198 of each STA may determine its reachability value using various methods, such as reading, among other information, various packets, frames, and / or messages sent by nearby STAs. Packets may include, for example, the Transmission Control Protocol (TCP). Frames may include, for example, beacon frames. Messages may include, for example, keep-alive messages. Accordingly, the role delegation component 191 of the GO may include its corresponding reachability value during the creation of the list of the plurality of GCs with their corresponding intents (e.g., intent value).
[0018] The role delegation component 191 of the GO may calculate a ranking score for each STA in the list of the plurality of GCs and include the calculated ranking score with a respective STA in the list of the plurality of GCs. The ranking score is calculated using an intent value of the STA and a reachability value of the STA. In some embodiments, the ranking score may be calculated by adding the intent value and the reachability value (e.g., sum). In some embodiments, the ranking score may be calculated by averaging the intent value and the reachability value. In some embodiments, the ranking score may be calculated by applying a weight value to the intent value and / or the reachability value and adding the intent value and the reachability value (e.g., weighted sum).
[0019] In some embodiments, the role delegation component 192-198 of each GC of the plurality of GCs may share its reachability value with the GO after establishment of the wireless network at regular intervals specified by a respective GC. For example, the regular intervals of one or more GCs of the plurality of GCs may be the same or different. The role delegation component 191 of the GO may, at periodic time intervals, update the reachability value of each GC of the plurality of GCs in the ranking list. In particular, the most recently received reachability value for a respective GC of the plurality of GCs is used to replace the reachability value of the respective GC of the plurality of GCs in the ranking list. Accordingly, the ranking score is recalculated based on the replaced (or updated) reachability value in the ranking list.
[0020] The GO's role delegation component 191 may initiate a delegation of the GO role from the GO to a GC of the plurality of GCs. In some embodiments, the initiation of the GO role delegation may occur in response to the GO indicating an impending disconnection from the P2P network (e.g., due to loss of GO performance or an intent to disconnect). In some embodiments, the initiation of the GO role delegation may occur in response to a new GC joining the P2P network. In some embodiments, the initiation of the GO role delegation may occur in response to a ranking score of a GC of the plurality of GCs in the ranking list exceeding a ranking score of the GO. Other conditions and / or scenarios are contemplated for initiating a GO role delegation.The GO role delegation component 191 identifies, from the ranking list, a GC of the plurality of GCs with the highest ranked score. In some embodiments, the GO role delegation component 191 may determine that one or more GCs of the plurality of GCs have the highest ranked score. Accordingly, the GO role delegation component 191 may prioritize selecting, from the one or more GCs of the plurality of GCs with the highest ranked score, a GC of the one or more GCs using one or more criteria. The one or more criteria may include, among other criteria considered, power source (e.g., AC-powered versus battery-powered) and highest battery percentage among the battery-powered GCs.
[0021] For example, in some cases, the GO role delegation component 191 may prioritize selecting, from the one or more GCs of the plurality of GCs with the highest ranked score, a GC of the one or more GCs using an alternating current (AC) connection (e.g., mains-powered). In some cases, the GO role delegation component 191 may determine that the one or more GCs of the plurality of GCs with the highest ranked score are all battery-powered. Thus, the GO role delegation component 191 may prioritize selecting, from the one or more GCs of the plurality of GCs with the highest ranked score, a GC of the one or more GCs with the highest battery percentage.In some cases, the GO role delegation component 191 may determine that the one or more GCs of the plurality of GCs with the highest ranked score have the same battery percentage. Thus, the GO role delegation component 191 may randomly select a GC of the one or more GCs from the one or more GCs of the plurality of GCs with the highest ranked score. The GC of the plurality of GCs selected by the GO role delegation component 191 is designated as a highest ranked station or a highest ranked STA (e.g., a second station device).
[0022] The role delegation component 191 of the GO delegates the GO's role to the highest-ranked STA. Specifically, the GO provides role-related information (e.g., DHCP server details, group identification, client state, etc.) to the highest-ranked STA. The role-related information may include the intent value for each GC of the plurality of GCs to be used by the highest-ranked STA to create a ranking list.
[0023] In some embodiments, the GO may have sufficient time before disconnecting from the P2P network. Accordingly, to delegate the GO's role, the GO's role delegation component 191 establishes the secure connection on behalf of the highest-ranking STA using a secure connection method, such as push-button configuration (e.g., Wi-Fi Protected Setup (WPS)). For example, the GO generates the encryption keys for the plurality of GCs using a current secure connection with the GO and provides the encryption keys for the plurality of GCs to the highest-ranking STA. Thus, the highest-ranking STA can establish the secure connection with the plurality of GCs using the encryption keys.
[0024] Once the GO provides the encryption keys for the plurality of GCs to the highest-ranked STA, the GO may disconnect from the P2P network. Since the GO may not have much time before disconnecting from the P2P network, in other embodiments, the GO disconnects after providing the role-related information, which includes the intent value for each GC of the plurality of GCs, to be used by the highest-ranked STA to create a ranking list. Thus, the process of establishing the secure connection between the highest-ranked STA and the plurality of GCs is left to the highest-ranked STA. Specifically, the highest-ranked STA may establish the secure connection using the secure connection method.
[0025] Fig. 2 is a block diagram of an exemplary representation of the environment 100 of Fig. 1, in which a delegation of the GO role influences the P2P network, according to implementations of the present disclosure. Similar to Fig. 1, the environment 100 includes a plurality of station devices (STAs) (e.g., STAs 110-180).
[0026] The STA 110 of the plurality of STAs can be assigned the role of GO (e.g., GO), and the STAs 120-180 can be assigned the role of GC (e.g., GCs). A communication range 210 of the STA 180 enables the establishment of a P2P network (via direct P2P connections between the STA 110 and the STAs 120-180, not shown). The communication range, such as the communication range 210, 240, and 260, refers to the maximum distance over which a station (e.g., the STA 110, the STA 140, and the STA 160, respectively) can effectively transmit and receive signals.
[0027] In response to initiating the delegation of the GO role, the STA 110 may determine, based on the intent value, that the GO role should be delegated to the STA 160. A communication area 260 of the STA 160 enables the establishment of a P2P network (via direct P2P connections between the STA 160 and the STA 170, not shown). As a result, the STAs 120, 130, 140, 150, and 180 are disconnected from the P2P network.
[0028] In response to initiating the delegation of the GO role, the STA 110 may determine that the GO role should be delegated to the STA 140 based on a ranking score obtained from a ranking list of the STA 110. The communication area 240 of the STA 140 enables the establishment of a P2P network (via direct P2P connections between the STA 140 and the STAs 120, 130, 150, 160, 170, and 180, not shown). As a result, no (or fewer) STAs were inadvertently disconnected from the P2P network.
[0029] Fig. 3 is a representation of a ranking list 300 maintained by a GO of the P2P network, according to implementations of the present disclosure. The ranking list 300 includes a plurality of entries. Each entry of the plurality of entries corresponds to an STA of the plurality of STAs (e.g., STAs 120, 130, 140, 150, 160, 170, and 180 of Fig. 1). Each entry includes an identifier of the STA of the plurality of STAs, an intent value, a reachability score, and a ranking score.
[0030] The intent value for a specific STA is a predefined value that indicates a preference for the specific STA to operate as a GO, which is influenced (or determined) by the processing power, connectivity options, battery life, etc. of the specific STA. The reachability value for a specific STA is a value that indicates a number of STAs within the environment 100 that fall within a communication range of the specific STA (i.e., that can be communicatively accessed). With quick reference to Fig. 2, while the intent score for STA 160 (e.g., 12) is greater than the intent score for STA 140 (e.g., 10), the reachability score for STA 160 (e.g., 1) is smaller than the reachability score for STA 140 (e.g., 6). Consequently, a ranking score for STA 160 (e.g., 13) is smaller than a ranking score for STA 140 (e.g., 16), indicating that STA 140 is better suited for the role of GO than STA 160.
[0031] Fig. 4 is a flowchart of a method 400 for delegating group ownership from one station device to another station device according to implementations of the present disclosure. The method 400 may be performed by processing logic that may include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, device hardware, integrated circuit, etc.), software (e.g., instructions executing on a processing device), or a combination thereof. In some embodiments, the method 400 is performed by the GO implementing the role delegation component 115 (of Fig. 1), the role delegation component 191-198 (from Fig. 2) and / or the processor (e.g. the processing device).
[0032] At operation 410, the processing logic determines whether a GO has initiated delegation of its role as a GO in a P2P network. As previously described, initiation of delegation of the role as a GO may occur in response to the GO indicating an impending disconnection from the P2P network (e.g., due to loss of performance of the GO or an intent to disconnect), a new GC joining the P2P network, or a ranking score of a GC in the ranking list exceeding a ranking score of the GO. The ranking list stored in the GO includes, for each GC, an intent value, a reachability value, and a ranking score calculated based on the intent value and the reachability value. The intent value is a predefined value indicating a preference of the GO. The reachability value is a value indicating a number of GCs communicatively accessible by a respective GC.
[0033] At operation 420, the processing logic obtains a station device from the GO's ranking list to delegate a GO role. As previously described, the station device may be selected from the ranking list by identifying the station device (or GC) with the highest ranked score. In some embodiments, if more than one station device (or GC) has the highest ranked score, the station device using an AC connection is prioritized. If the more than one station device with the highest ranked score is battery-powered instead of an AC connection, the station device of the more than one station device with the highest ranked score with the highest battery percentage is prioritized.If more than one station device with the highest ranked score has the same battery percentage, one station device from the one station device with the highest ranked score is randomly selected. Alternatively, instead of prioritizing an AC connection and / or battery percentage, one station device from the one station device with the highest ranked score is randomly selected.
[0034] At operation 430, the processing logic delegates the GO role from the GO to the station device. As previously described, the GO delegates the role to the station device by providing the role-related information, including the intent value for each station (or GC) of the plurality of station devices (e.g., GCs), to be used by the highest-ranked STA to create a new ranking list. Depending on the amount of time the GO has before disconnecting from the P2P network, the GO may establish secure connections on behalf of the station device with the remaining station devices using various secure connection methods. Once established, the GO provides information regarding the secure connection (e.g., encryption keys) to the station device.The GO establishes secure connections on behalf of the station device if sufficient time remains before disconnection.
[0035] Fig. 5 is a flowchart of a method 500 for maintaining a ranking list for delegating group ownership from one station device to another station device, according to implementations of the present disclosure. The method 500 may be performed by processing logic that may include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, device hardware, integrated circuit, etc.), software (e.g., instructions executing on a processing device), or a combination thereof. In some embodiments, the method 500 is performed by the GO, including the role delegation component 115 (of Fig. 1), the role delegation component 191-198 (from Fig.2) and / or the processor (e.g. the processing device).
[0036] At operation 510, the processing logic creates a ranking list. As previously described, in some embodiments, during negotiation to establish a P2P network with a plurality of station devices, a station device designated as a GO (e.g., GO) may receive an intent value from each station device of the remaining station devices of the plurality of station devices designated as a GC (e.g., a plurality of GCs). In some embodiments, each GC of the plurality of GCs may share a reachability value in addition to the intent value. The reachability value is a value indicating a number of GCs of the plurality of GCs that can be communicatively accessed.The reachability score may be determined using various methods, such as reading, among other information, various packets, frames, and / or messages sent by nearby station devices. The GO may calculate a ranking score for each GC of the plurality of GCs based on a respective intent score and a respective reachability score. In some embodiments, the ranking score may be calculated by adding the intent score and the reachability score. In some embodiments, the ranking score may be calculated by averaging the intent score and the reachability score. In some embodiments, the ranking score may be calculated by applying a weighting value to the intent score and / or the reachability value and adding the intent score and the reachability value.
[0037] At operation 520, the processing logic determines whether a periodic interval has been reached. The periodic interval may be a period of time between actions taking place. At operation 530, in response to determining that the periodic interval has been reached, the processing logic updates the ranking list. As previously described, a most recently received reachability value for each GC of the plurality of GCs is used to replace the reachability value of a respective GC of the plurality of GCs in the ranking list. Accordingly, the ranking score is recalculated based on the replaced (or updated) reachability value in the ranking list.
[0038] At operation 540, in response to determining that the periodic interval has not been reached, the processing logic receives a reachability value from each station device of the P2P network. At regular intervals, each GC of the plurality of GCs shares its reachability value with the GO based on its (e.g., respective GC) predetermined intervals. In summary, the ranking list is not updated based on receiving reachability values from the plurality of GCs, but is triggered in response to each periodic interval of the GO being reached.
[0039] Reference in this specification to "an implementation," "an embodiment," means that a particular feature, structure, or characteristic described in connection with the implementation and / or embodiment is included in at least one implementation and / or embodiment. Thus, the appearances of the phrase "in exactly one implementation" or "in an implementation" in various places in this specification may refer to the same implementation, depending on the circumstances, but are not necessarily required. Furthermore, the particular features, structures, or characteristics may be combined in one or more implementations in any suitable manner.
[0040] To the extent that the terms "comprises," "comprising," "having," "containing," variations thereof, and other similar words are used in either the detailed description or the claims, these terms are intended to be inclusive in a manner similar to the term "including" as an open transition word, without excluding additional or different elements.
[0041] As used in this application, the terms "component," "module," "system," or the like are generally intended to refer to a computer-related entity, either hardware (e.g., a circuit), software, a combination of hardware and software, or an entity related to an operating machine with one or more specific functionalities. For example, a component may be, but is not limited to, a process running on a processor (e.g., a digital signal processor), a processor, an object, an executable file, a thread of execution, a program, and / or a computer. For illustrative purposes, both an application running on a controller and the controller may be a component. One or more components may be located within a process and / or thread of execution, and a component may be localized on one computer and / or distributed between two or more computers.Furthermore, a "device" may be in the form of specially designed hardware; generalized hardware that is specialized by executing software that enables hardware to perform specific functions (e.g., generating points of interest and / or descriptors); software on a computer-readable medium; or a combination thereof.
[0042] The above-mentioned systems, circuits, modules, and so forth have been described in terms of the interaction between multiple components and / or blocks. It is understood that such systems, circuits, components, blocks, and so forth may include these components or specified subcomponents, some of the specified components or subcomponents, and / or additional components, and according to various permutations and combinations of the foregoing. Subcomponents may also be implemented as components that are communicatively coupled to other components, rather than being included in higher-level components (hierarchically).Additionally, it should be noted that one or more components may be combined into a single component providing aggregated functionality or may be divided into multiple separate subcomponents, and one or more intermediate layers, such as a management layer, may be provided to communicatively couple with such subcomponents to provide integrated functionality. Any components described herein may also interact with one or more other components not specifically described herein but known to those skilled in the art.
[0043] Furthermore, the words "example" or "exemplary" are used herein to serve as an example, instance, or illustration. Any aspect or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, the use of the words "example" or "exemplary" is intended to illustrate concepts in a concrete manner. As used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise stated or clear from the context, "X uses A or B" is intended to mean any of the natural inclusive permutations. That is, if X uses A; X uses B; or X uses both A and B, then "X uses A or B" is satisfied under any of the foregoing circumstances.Furthermore, as used in this application and the appended claims, the articles "a" and "an" should generally be construed to mean "one or more" unless otherwise indicated or unless it is clear from the context that they are directed to a singular form.
[0044] Finally, implementations described here include a collection of data describing a user and / or a user's activities. In one implementation, such data is collected only if the user provides consent to the collection of such data. In some implementations, a user is prompted to explicitly allow data collection. Furthermore, the user can choose to participate or not to participate in such data collection activities. In one implementation, the collected data is anonymized before any analysis is performed to obtain statistical patterns, so that the user's identity cannot be determined from the collected data.
Claims
[1] A first station device of a plurality of station devices in a peer-to-peer (P2P) network, wherein a processor of the first station device is to perform operations including: in response to an impending disconnection of the first station device from the P2P network, identifying, from a list of the plurality of station devices maintained by the first station device, a second station device to delegate ownership of the P2P network; and Delegating ownership from the first station device to the second station device. [2] The first station device of claim 1, wherein delegating ownership from the first station device to the second station device includes: Providing an intent value associated with each station device in the list to the second station device; and Causing the second station device to take ownership of the P2P network. [3] The first station device of claim 1, wherein delegating ownership from the first station device to the second station device includes: generating one or more encryption keys for the plurality of station devices; Providing the one or more encryption keys to the second station device; Providing, from the list, an intent value associated with each station device of the plurality of station devices to the second station device; and Causing the second station device to take ownership of the P2P network. [4] The first station device according to claim 1, wherein the processor of the first station device is to perform operations further including: in response to establishing the P2P network, receiving, from each station device of the plurality of station devices, an intent value and a reachability value; and Creating the list by inserting, into the list, each station device of the plurality of station devices having a corresponding intent value and a corresponding reachability value. [5] The first station device according to claim 4, wherein the reachability value is a number of station devices of the plurality of station devices that are within a communication range of each station device. [6] The first station device according to claim 1, wherein the processor of the first station device is to perform operations further including: Receiving, from the plurality of station devices, a plurality of reachability values, wherein each reachability value of the plurality of reachability values corresponds to a station device of the plurality of station devices; Updating the list based on the plurality of accessibility values; and Identifying a station device in the list that is identified as a highest ranked station device based on the intent score and the reachability score. [7] The first station device according to claim 1, wherein the P2P network is a wireless local area network (WLAN) established among the plurality of station devices. [8] A wireless network that includes: a first station device of a plurality of station devices operating as an owner of the wireless network, wherein a processor of the first station device is to perform operations including: periodically receiving, from the plurality of station devices, a plurality of reachability values, each reachability value of the plurality of reachability values corresponding to a station device of the plurality of station devices; for each predetermined time interval, updating, using the plurality of reachability values, a list of the plurality of station devices maintained by the first station device, each station device in the list including a corresponding intent value and a corresponding reachability value; and Identifying, based on the list, a station device in the list that is designated as a highest-ranked station device to delegate ownership in response to a pending separation of the first station device. [9] The wireless network according to claim 8, wherein the wireless network is a wireless local area network (WLAN) established among the plurality of station devices. [10] The wireless network of claim 8, wherein the processor of the first station device is to perform operations further including: in response to the pending disconnection of the first station device, obtaining, from the list, the highest ranked station device; and Delegating ownership to the highest ranked station device. [11] The wireless network of claim 10, wherein delegating ownership to the highest ranked station device includes: Provide an intent value associated with each station device in the list for the highest ranked station device. [12] The wireless network of claim 10, wherein delegating ownership to the highest ranked station device includes: generating one or more encryption keys for the plurality of station devices; Providing the one or more encryption keys to the highest-ranked station device; and Provide an intent value associated with each station device in the list for the highest ranked station device. [13] The wireless network of claim 8, wherein each reachability value is a number of station devices of the plurality of station devices that are within a communication range of a respective station device. [14] A procedure that includes: Maintaining, by a first station device of a plurality of station devices of a wireless network, a list of the plurality of station devices, each station device in the list including an intent value and a reachability value. [15] The method of claim 14, further comprising: in response to an impending disconnection of the first station device, delegating ownership of the wireless network from the first station device to a station device identified as a highest ranked station device in the list based on the intent value and the reachability value. [16] The method of claim 14, wherein the wireless network is a wireless local area network (WLAN) established among the plurality of station devices. [17] A method according to claim 14, further comprising: in response to establishing the wireless network for the plurality of station devices, generating, by the first station device, the list. [18] The method of claim 17, wherein generating, by the first station device, the list includes: Receiving, by the first station device, an intent value and a reachability value from each station device of the plurality of station devices; and Inserting, by the first station device into a list, each station device of the plurality of station devices having a corresponding intent value and a corresponding reachability value; and Save, by the first station device, the list. [19] The method of claim 14, wherein maintaining, by the first station device, the list includes: Receiving, by the first station device, a current reachability value from each station device of the plurality of station devices; and for each predetermined time interval, updating, by the first station device, a reachability value of each station device in the list with a corresponding current reachability value. [20] The method of claim 14, wherein the reachability value is a number of station devices of the plurality of station devices that are within a communication range of a respective station device.