Title:
System und Verfahren zum Bestimmen eines Mastergerätes in einem Neighborhood-aware-Netzwerk
Document Type and Number:
Kind Code:
A1

Abstract:

Die Erfindung betrifft eine Vorrichtung und ein Verfahren zum Bestimmen eines Mastergeräts in einem Neighborhood-Aware-Netzwerk (NAN). Das Verfahren umfasst das Identifizieren einer Anzahl von Peer-Geräten, die innerhalb einer ersten Kommunikationsreichweite eines ersten Geräts liegen und geeignet sind für eine Kommunikation über das NAN. Ein einem entsprechenden Gerät zugeordneter Masterrangwert wird von jeder empfangenen Antwort eingeholt. Ein erster Masterrangwert für das erste Gerät wird zumindest teilweise basierend auf der Anzahl von antwortenden Peer-Geräten berechnet. Der erste Masterrangwert wird mit den empfangenen Masterrangwerten der antwortenden Peer-Geräte verglichen. In Reaktion darauf, dass der erste Masterrangwert größer ist als jeder der empfangenen Masterrangwerte, übernimmt das erste Gerät eine Rolle als Mastergerät innerhalb einer NAN-Gruppe, die das erste Gerät und die antwortenden Peer-Geräte umfasst.





Inventors:
Gupta, Ranjeet, Ill. (Chicago, US)
Burca, Gabriel, Ill. (Palatine, US)
Balasingh, Binesh, Ill. (Naperville, US)
Hor-Lao, Mary, Ill. (Chicago, US)
Application Number:
DE102017109870A
Publication Date:
11/30/2017
Filing Date:
05/08/2017
Assignee:
Motorola Mobility LLC (Ill., Chicago, US)
International Classes:
H04W84/20; H04W88/04; H04W88/06
Attorney, Agent or Firm:
KASTEL Patentanwälte, 81669, München, DE
Claims:
1. Verfahren, umfassend:
das Identifizieren einer Anzahl von Peer-Geräten, die innerhalb einer ersten Kommunikationsreichweite eines ersten Geräts liegen und geeignet sind für eine Kommunikation mit dem ersten Gerät über ein Neighborhood-Aware-Netzwerk (NAN), an dem ersten Gerät;
das Identifizieren einer Anzahl von antwortenden Peer-Geräten basierend auf Antwortcharakteristiken, die von jedem der Peer-Geräte empfangen werden;
das Einholen eines Masterrangwerts, der einem entsprechenden Peer-Gerät zugeordnet ist, das die Antwort ausgegeben hat, von jeder Antwort; und
das Berechnen eines ersten Masterrangwerts für das erste Gerät zumindest teilweise basierend auf der Anzahl von antwortenden Peer-Geräten.

2. Verfahren nach Anspruch 1, ferner umfassend:
das Vergleichen des ersten Masterrangwerts mit den empfangenen Masterrangwerten der antwortenden Peer-Geräte; und
das Identifizieren des ersten Geräts als Mastergerät innerhalb einer NAN-Gruppe, die das erste Gerät und die antwortenden Peer-Geräte umfasst, in Reaktion darauf, dass der erste Masterrangwert größer ist als jeder der empfangenen Masterrangwerte.

3. Verfahren nach Anspruch 1 oder Anspruch 2, ferner umfassend:
das Berechnen des ersten Masterrangwerts für das erste Gerät zumindest teilweise basierend auf einer entsprechenden relativen Entfernung der Peer-Geräte.

4. Verfahren nach einem der Ansprüche 1 bis 3, wobei das Berechnen des ersten Masterrangwerts ferner umfasst:
das Bestimmen eines Masterpräferenzwerts, der die Summe einer Konstante und der Anzahl von Peer-Mobilgeräten ist.

5. Verfahren nach Anspruch 4, wobei der Masterpräferenzwert eine Summe einer NAN-Mastervariablen und der Anzahl von Peer-Geräten umfasst.

6. Verfahren nach einem der Ansprüche 1 bis 5, ferner umfassend:
das Festlegen eines Werts mindestens eines Bits eines ersten Masterrang-Byte basierend auf zumindest der Anzahl von Peer-Geräten und einem Zufallsfaktorwert, der aus einer Zufallsfaktor-Wahrscheinlichkeitsverteilungsfunktion ausgewählt wird, wobei das mindestens eine Bit anzeigt, wie geeignet das erste Gerät ist, um innerhalb der NAN-Gruppe als Mastergerät zu dienen.

7. Verfahren nach einem der Ansprüche 1 bis 6, ferner umfassend:
das Generieren einer Zufallsfaktor-Wahrscheinlichkeitsverteilungsfunktion zumindest teilweise basierend auf Signalqualitätsmessungen zwischen dem ersten Gerät und jedem der Peer-Geräte;
das zufällige Auswählen eines ersten Zufallsfaktorwerts aus der Zufallsfaktor-Wahrscheinlichkeitsverteilungsfunktion; und
das Berechnen des ersten Masterrangwerts für das erste Gerät zumindest teilweise basierend auf dem ersten Zufallsfaktorwert.

8. Verfahren nach einem der Ansprüche 1 bis 6, ferner umfassend:
das Generieren einer Zufallsfaktor-Wahrscheinlichkeitsverteilungsfunktion basierend auf einem durchschnittlichen RTT-Wert und einem Standardabweichungs-RTT-Wert;
das zufällige Auswählen eines ersten Zufallsfaktorwerts aus der Zufallsfaktor-Wahrscheinlichkeitsverteilungsfunktion;
das Berechnen eines Masterrangwerts für das erste Gerät zumindest teilweise basierend auf dem ersten Zufallsfaktorwert;
das Vergleichen des Masterrangwerts mit den empfangenen Masterrangwerten, einschließlich des Masterrangwerts des anderen Geräts, das um die Rolle des Mastergeräts konkurriert; und
das Annehmen der Rolle des Mastergeräts innerhalb der NAN-Gruppe durch das erste Gerät in Reaktion darauf, dass der Masterrangwert größer ist als jeder der empfangenen Masterrangwerte.

9. Gerät, umfassend:
eine drahtlose Kommunikationsvorrichtung, die eine drahtlose Verbindung zu und eine Kommunikation mit anderen Geräten ermöglicht;
einen Hauptspeicher, in dem sich ein Dienstprogramm befindet, das in einem Neighborhood-Aware-Netzwerk (NAN) mit mindestens einem Peer-Gerät einen Masterrang für das Gerät bestimmt; und
einen Prozessor, der mit der drahtlosen Kommunikationsvorrichtung und dem Hauptspeicher kommunizierend verbunden ist und das Dienstprogramm ausführt, wobei das Dienstprogramm ferner umfasst:
ein Geräteerfassungsmodul, das auf dem Prozessor ausgeführt wird, um:
eine Anzahl von Peer-Geräten zu identifizieren, die sich innerhalb einer ersten Kommunikationsreichweite des ersten Geräts befinden und geeignet sind für eine Kommunikation mit dem ersten Gerät über ein Neighborhood-Aware-Netzwerk (NAN);
das Identifizieren einer Anzahl von antwortenden Peer-Geräten basierend auf Antwortcharakteristiken, die einer drahtlosen Antwort zugeordnet sind, die von jedem der Peer-Geräte empfangen wird;
und das Einholen eines Masterrangswerts, der einem entsprechenden Peergerät, das die Antwort ausgegeben hat, zugeordnet ist, von jeder Antwort; und
ein Masterrangmodul, das auf dem Prozessor ausgeführt wird, um:
zumindest teilweise basierend auf der Anzahl von antwortenden Peer-Geräten einen ersten Masterrangwert für das erste Gerät zu berechnen.

10. Gerät nach Anspruch 9, wobei das Masterrangmodul den Prozessor konfiguriert, so dass
dieser den ersten Masterrangwert mit den empfangenen Masterrangwerten der antwortenden Peer-Geräte zu vergleicht; und
das erste Gerät die Rolle eines Mastergeräts innerhalb einer NAN-Gruppe, die das erste Gerät und die antwortenden Peer-Geräte umfasst, in Reaktion darauf übernimmt, dass der erste Masterrangwert größer ist als jeder der empfangenen Masterrangwerte.

11. Gerät nach Anspruch 9 oder Anspruch 10, wobei das Masterrangmodul den Prozessor konfiguriert, so dass dieser zumindest teilweise basierend auf einer entsprechenden relativen Entfernung der Peer-Geräte den ersten Masterrangwert für das erste Gerät berechnet.

12. Gerät nach einem der Ansprüche 9 bis 11, wobei zum Berechnen des ersten Masterrangwerts das Masterrangmodul den Prozessor konfiguriert, so dass der Prozessor einen Masterpräferenzwert bestimmt, der eine Summe einer Konstante und der Anzahl von Peer-Mobilgeräten ist.

13. Gerät nach Anspruch 12, wobei der Masterpräferenzwert einen der folgenden Werte umfasst: (a) eine Summe einer Konstante und der Anzahl von Peer-Geräten; und (b) eine Summe einer NAN-Master-Variablen und der Anzahl von Peer-Geräten.

14. Gerät nach einem der Ansprüche 9 bis 13, wobei das Dienstprogramm ferner ein Zufallsfaktorgenerierungsmodul umfasst, das auf dem Prozessor ausgeführt wird, um:
zumindest teilweise basierend auf Signalqualitätsmessungen zwischen dem ersten Gerät und jedem der Peer-Geräte eine Zufallsfaktor-Wahrscheinlichkeitsverteilungsfunktion zu generieren;
einen ersten Zufallsfaktorwert aus der Zufallsfaktor-Wahrscheinlichkeitsverteilungsfunktion auszuwählen; und
zumindest teilweise basierend auf dem ersten Zufallsfaktorwert den ersten Masterrangwert für das erste Gerät zu berechnen.

15. Gerät nach einem der Ansprüche 9 bis 13, wobei:
wobei das Dienstprogramm ferner ein Zufallsfaktorgenerierungsmodul umfasst, das auf dem Prozessor ausgeführt wird, um:
basierend auf einem durchschnittlichen RTT-Wert und einem Standardabweichungs-RTT-Wert eine Zufallsfaktor-Wahrscheinlichkeitsverteilungsfunktion zu generieren; und
einen ersten Zufallsfaktorwert aus der Zufallsfaktor-Wahrscheinlichkeitsverteilungsfunktion auszuwählen; und wobei das Masterrangmodul:
zumindest teilweise basierend auf dem ersten Zufallsfaktorwert einen Masterrangwert für das erste Gerät berechnet; und
den Masterrangwert mit den empfangenen Masterrangwerten vergleicht, einschließlich der Masterrangwert der anderen Geräte, die um die Rolle des Mastergeräts konkurrieren; und
das Identifizieren des ersten Geräts als Mastergerät innerhalb der NAN-Gruppe in Reaktion darauf, dass der Masterrangwert größer ist als jeder der empfangenen Masterrangwerte.

Description:
HINTERGRUND1. Technisches Gebiet

Vorliegende Erfindung betrifft allgemein elektronische Geräte. Insbesondere betrifft die Erfindung ein System und ein Verfahren zum Bestimmen eines Mastergeräts in einem Neighborhood-Aware-Netzwerk.

2. Beschreibung des Standes der Technik

Mobile elektronische Geräte wie Laptops und Mobiltelefone sind in der heutigen Gesellschaft extrem beliebt und finden breite Akzeptanz. Viele dieser Geräte verfügen über drahtlose Netzwerkmöglichkeiten, insbesondere über Wireless Fidelity (WiFi). Um ein Ad-hoc-Gerätenetz zu aktivieren und/oder zu unterstützen, wurde von WiFi Alliance ein Protokoll entwickelt, das als Neighborhood-Aware-Netzwerk (NAN) bezeichnet wird. NAN erleichtert die Service-Discovery (automatische Erkennung von Diensten) von Gerät zu Gerät unter verschiedenen WiFi-aktivierten Geräten. NAN ermöglicht die Synchronisation von mehreren WiFi-Geräten miteinander. Insbesondere können die Geräte eine Gerätegruppe bilden, die in demselben Zeitraum (als Discovery-Fenster bezeichnet) aufwachen und in dem Discovery-Fenster miteinander kommunizieren.

KURZE BESCHREIBUNG DER ZEICHNUNGEN

Die Ausführungsbeispiele werden im Zusammenhang mit den anliegenden Zeichnungen erläutert, wobei die in den Zeichnungen dargestellten Elemente der Einfachheit halber und aus Gründen der Übersichtlichkeit nicht notwendigerweise maßstabsgetreu dargestellt sind. Zum Beispiel sind die Dimensionen von manchen Elementen im Verhältnis zu den anderen Elementen übertrieben dargestellt. Ausführungsformen, in denen die Lehren der vorliegenden Erfindung enthalten sind, werden im Folgenden unter Bezugnahme auf die anliegenden Zeichnungen beschrieben.

1 zeigt schematisch die Darstellung eines Neighborhood-Aware-Netzwerksystems (NAN-Systems) gemäß einer Ausführungsform;

2 zeigt schematisch die Darstellung eines Beispiel-Elektronikgeräts mit Drahtlosverbindungen zu externen Netzwerken und Geräten, gemäß einer Ausführungsform;

3 zeigt in einem Blockdiagramm den Inhalt eines Beispiel-Gerätespeichers gemäß einer Ausführungsform;

4 ist eine schematische Darstellung eines Beispiel-NAN-Systems mit verschiedenen Peergruppen von Geräten, gemäß einer Ausführungsform;

5 ist eine schematische Darstellung eines Beispiel-NAN-Systems, das Peergruppen zeigt, die durch verschiedene Entfernungen getrennt sind, gemäß einer Ausführungsform;

6 ist ein Graph von drei Normalverteilungen, die jeweils verschiedene Durchschnittswerte und Standardabweichungen aufweisen, gemäß einer Ausführungsform;

7A und 7B sind Beispielgraphen von Wahrscheinlichkeitsverteilungen für zwei Geräte, gemäß einer Ausführungsform;

8 zeigt ein Flussdiagramm zur Darstellung der Abläufe eines Verfahrens, durch welches ein Gerät ein Master-NAN-Gerät für eine NAN-Gruppe wird, gemäß einer Ausführungsform;

9 zeigt ein Flussdiagramm zur Darstellung der Abläufe eines Verfahrens, durch welches das Gerät eine Zufallsfaktor-Wahrscheinlichkeitsverteilungsfunktion generiert und einen Zufallsfaktorwert auswählt, gemäß einer Ausführungsform; und

10 zeigt ein Flussdiagramm zur Darstellung der Abläufe eines Verfahrens, durch welches das Gerät ein Master-NAN-Gerät bestimmt, wenn die Anzahl von Peer-Geräten für mehr als ein Gerät, die die Rolle des Master-NAN-Geräts beanspruchen, gleich ist, gemäß einer Ausführungsform.

DETAILBESCHREIBUNG

Die Ausführungsbeispiele stellen ein Gerät und ein Verfahren zum Auswählen eines Mastergeräts in einer Neighborhood-Aware-Netzwerkumgebung (NAN-Umgebung) bereit. Das Verfahren umfasst das Identifizieren einer Anzahl von Peer-Geräten, die sich innerhalb einer ersten Kommunikationsreichweite eines ersten Geräts befinden und die über ein Neighborhood-Aware-Netzwerk (NAN) mit dem ersten Gerät kommunizieren können, an dem ersten Gerät. Eine relative Entfernung eines entsprechenden Peer-Geräts zu dem ersten Gerät wird basierend auf Antwortcharakteristiken identifiziert, die einer Service Discovery Frame Response (SDF-Response) zugeordnet sind, die von jedem der Peer-Geräte empfangen wird. Ein Masterrangwert, der einem entsprechenden Peer-Gerät zugeordnet ist, welches die SDF-Response ausgegeben hat, wird von jeder SDF-Response eingeholt. Ein erster Masterrangwert wird zumindest teilweise basierend auf der Anzahl von antwortenden Peer-Geräten für das erste Gerät berechnet. Der erste Masterrangwert wird mit den empfangenen Masterrangwerten der antwortenden Peer-Geräte verglichen. In Reaktion darauf, dass der erste Masterrangwert größer ist als die empfangenen Masterrangwerte, wird das erste Gerät innerhalb einer NAN-Gruppe, die das erste Gerät und die antwortenden Peer-Geräte umfasst, zu einem Mastergerät (d.h. wird als Mastergerät identifiziert oder übernimmt die Rolle eines Mastergeräts).

In der folgenden Detailbeschreibung von beispielhaften Ausführungsformen der vorliegenden Erfindung werden bestimmte Ausführungsformen, in denen die Erfindung praktisch ausgeführt werden kann, ausreichend detailliert beschrieben, so dass der Fachmann die Erfindung praktisch umsetzen kann, wobei es sich versteht, dass andere oder weitere Ausführungsformen verwendet werden können und dass innerhalb des Rahmens der vorliegenden Erfindung logische, architekturbezogene, programmbezogene, mechanische, elektrische und weitere Änderungen vorgenommen werden können. Aus diesem Grund ist die nachstehende Beschreibung in keiner Weise als Einschränkung zu verstehen. Der Schutzumfang der Erfindung wird vielmehr durch die anliegenden Ansprüche und deren Äquivalente definiert.

Es versteht sich, dass die Verwendung von bestimmten Komponentenbezeichnungen, Gerätebezeichnungen und/oder Parameterbezeichnungen (z.B. jene des vorliegend beschriebenen ausgeführten Dienstprogramms / der ausgeführten Logik) lediglich Beispiele sind und keine Einschränkung der Erfindung darstellen. Für die Implementierung der Erfindung kann somit ohne Einschränkung eine andere Nomenklatur/Terminologie verwendet werden, um die vorliegenden Komponenten/Geräte/Parameter zu beschreiben. Den Begriffen, die in der vorliegenden Beschreibung verwendet werden, soll innerhalb des Kontexts, in dem sie verwendet werden, die breitest mögliche Auslegung zugrunde gelegt werden.

In den Zeichnungsfiguren kennzeichnen gleiche oder ähnliche Zahlen und/oder Symbole ähnliche oder identische Elemente, und ähnliche Elemente können in sämtlichen Figuren ähnliche Bezeichnungen und Bezugszeichen tragen, wobei diese den Elementen zugeordneten spezifischen Kennzeichnungen/Bezeichnungen und Bezugszeichen lediglich die Beschreibung unterstützen sollen und nicht im Sinne einer Einschränkung der beschriebenen Ausführungsform (weder struktureller, funktioneller noch sonstiger Art) gedacht sind. In der Darstellung der verschiedenen Ausführungsformen können zwei verschiedene Figuren vorgesehen sein, in denen Komponenten Überschneidungen und/oder Ähnlichkeiten aufweisen, wobei diese Figuren in diesem Fall zusammen erläutert werden können, um Wiederholungen zu vermeiden. Komponenten, die sich von einer Darstellung zur nächsten nicht unterscheiden, sind zur Vereinfachung der Beschreibung dieser Figuren mit den gleichen Bezugszeichen versehen. In der Beschreibung der jeweils folgenden Figuren wird auch auf Elemente Bezug genommen, die bereits in einer oder mehreren vorausgehenden Figuren beschrieben wurden.

Die nachstehend beschriebenen Figuren zeigen Aspekte eines NAN-Systems 100. Der Fachmann wird erkennen, dass die in den 1 bis 10 dargestellten Hardwarekomponenten und Basiskonfigurationen variieren können. Die dargestellten Ausführungsformen sind nicht erschöpfend, sondern heben wesentliche Komponenten hervor, die verwendet werden können, um Aspekte der vorliegenden Erfindung praktisch umzusetzen. Zusätzlich zu der dargestellten Hardware oder an deren Stelle können andere Geräte/Komponenten verwendet werden. Das dargestellte Beispiel soll im Hinblick auf die vorliegend beschriebenen Ausführungsformen und/oder das allgemeine Konzept weder architekturbezogene noch sonstige Einschränkungen darstellen. Als allgemeine Erweiterung der Erfindung sind die Aspekte, die gemäß vorliegender Beschreibung in einem elektronischen Gerät ausgeführt sind oder die ein elektronisches Gerät einbeziehen, das als Mobilgerät dargestellt ist, lediglich als ein spezielles Beispiel oder eine spezielle Darstellung eines elektronischen Geräts zu verstehen. Die beschriebene Funktionalität ist insbesondere bei einem Computersystem anwendbar, unter anderem bei einem Desktop, einem Laptop, einem Tablet oder einer bei einem Computergerät einer anderen Art.

Es wird nunmehr auf die Figuren Bezug genommen. In 1 ist ein Neighborhood-Aware-Netzwerksystem (NAN-System) 100 dargestellt, in welchem auf vorteilhafte Weise ein Verfahren zum Bestimmen eines Mastergeräts in dem NAN ausgeführt werden kann. Das NAN-System 100 umfasst eine Beispiel-NAN-Gruppe 110, in der verschiedene elektronische Geräte 120A–D enthalten sind, die unter Verwendung eines Drahtlos-Kommunikationsprotokolls über ein Drahtlosnetzwerk Drahtlossignale 130 drahtlos kommunizieren können. Die elektronischen Geräte 120A–D können nichtmobile Geräte an einem festen Ort oder Mobilgeräte mit verschiedenen Orten sein. Beispiele von nichtmobilen elektronischen Geräten können Desktopcomputer, Server, Basisstationen und andere feste elektronische Geräte sein. Zur Beschreibung der Ausführungsbeispiele sind die elektronischen Geräte 120A–D als elektronische oder Mobilgeräte 120A–D dargestellt und beschrieben. Die Geräte 120A–D können jeweils eines einer Vielfalt von digitalen/elektronischen Geräten sein, die über eine drahtlose Übertragung über ein drahtloses Netzwerk kommunizieren können, unter anderem ein Mobiltelefon, ein Smartphone, ein persönlicher digitaler Assistent, ein Tablet-Computer oder ein anderes digitales Gerät.

In einer Ausführungsform können die Geräte 120A–D zu einer NAN-Gruppe 110 gehören und können derart konfiguriert sein, dass sie über ein eingerichtetes drahtloses Netzwerk (oder NAN) entsprechend einem oder mehreren Drahtlos-Kommunikationsprotokollen kommunizieren. Innerhalb der NAN-Gruppe 110 kann eines der Geräte 120A–D als Master-NAN-Gerät bestimmt werden, basierend auf Auswahlkriterien und einer Methodik, die vorliegend beschrieben werden, und es kann zumindest eines der Geräte 120A–D als Master-NAN-Gerät bestimmt werden. Das bestimmte Master-NAN-Gerät (vorliegend auch als das Master-NAN-Gerät bezeichnet) übernimmt dann die Aufgaben des Sendens (oder wird verantwortlich für das Senden) von Baken, um all die anderen Geräte synchronisiert zu halten und neuen Geräten zu ermöglichen, die Gruppe 110 zu finden und sich dieser anzuschließen. Zum Beispiel sendet das Master-NAN wiederholt (z.B. alle 100 ms) eine Entdeckungsbake 132. Ein weiteres Gerät kann die Entdeckungsbake dann empfangen, indem es eine Abfrage durchführt, um die Gruppe zu detektieren und sich dieser anzuschließen.

2 zeigt ein Beispiel-Gerät 120A, das WiFi-fähig ist, so dass das Gerät 120A Drahtlosverbindungen zu anderen Geräten (z.B. Peer-Geräten 120B–D) aufbauen kann und drahtlos mit solch anderen Geräten kommunizieren kann. Das Gerät 120A hat eine prozessorintegrierte Schaltung (IC) 202 mit einem Datenprozessor 204 und einem Digitalsignalprozessor 206. Die Prozessor-IC 202 befindet sich über einen Kommunikationsbus oder eine direkte Verbindung in Kommunikation mit dem Hauptspeicher 210 und dem Speicher 240. Der Hauptspeicher 210 ist ein nichttransitorisches computerlesbares Speichermedium/Gerät, das Daten und Softwareprogramme und Code speichert, die auf der Prozessor-IC 202 ausgeführt werden können. In einer Ausführungsform ist der Hauptspeicher 210 ein nichtflüchtiger Speicher. Der Hauptspeicher 210 kann ein Betriebssystem 212 und ein NAN-Dienstprogramm 215 enthalten.

Das Betriebssystem 212 verwaltet die Hardware-Ressourcen des Geräts 120A und liefert übliche Dienste für Softwareanwendungen. Das NAN-Dienstprogramm 215 läuft auf der Prozessor-IC 202, um Kommunikationen zwischen dem Gerät 120A und anderen Geräten innerhalb der Gruppe 110 zu verwalten und um verschiedene hier beschriebene funktionale Prozesse durchzuführen.

Der Speicher 240 ist ein computerlesbares Speichermedium/Gerät, das Daten und Softwareprogramme und Code speichert, die auf der Prozessor-IC 202 ausgeführt werden können. In einer Ausführungsform ist der Speicher 240 ein nichtflüchtiger Speicher. Der Speicher 240 enthält eine oder mehrere Softwareanwendungen (APP) 242, von denen ein Beispiel als APP 1 gezeigt ist. Die Softwareanwendungen 242 laufen auf dem Datenprozessor 204 der Prozessor-IC 202, um verschiedene funktionale Prozesse durchzuführen.

Das Gerät 120A umfasst ferner eine Bildaufnahmevorrichtung 216, ein Mikrophon 220, einen Lautsprecher 217, ein Tastenfeld 223 und ein Display 219, die sämtlich mit der Prozessor-IC 202 verbunden sind. Das Gerät 120A akzeptiert Nutzereingaben über das Mikrophon 220, das Tastenfeld 223 und das Display 219, wenn das Display ein Touchscreen ist. Das Gerät 120A liefert über den Lautsprecher 217 Audioausgaben an den Nutzer und über das Display 219 visuelle Ausgaben. Das Teilnehmerinformationsmodul (SIM) 222 ist mit der Prozessor-IC 202 kommunizierend verbunden. Das SIM 222 kann ein entfernbares Hauptspeichermodul sein, das verschlüsselte Zugangsdaten enthält, die dem Gerät 120A über einen entwickelten B-Knoten (eNodeB) 280 eines Netzwerks mit drahtloser Infrastruktur Zugriff auf ein drahtloses Netzwerk ermöglichen. Das Gerät 100 hat auch einen Bluetooth-Transceiver 237, einen Nahfeld-Kommunikations-Transceiver (NFC) 238 und einen WiFi-Transceiver 239. Der Bluetooth-Transceiver (237), der NFC-Transceiver 238 und der WiFi-Transceiver 239 befinden sich in Kommunikation mit der Prozessor-IC 202. Der Bluetooth-Transceiver 237, der NFC-Transceiver 238 und der WiFi-Transceiver 239 ermöglichen dem Gerät 120A eine Kommunikation mit ähnlich ausgestatteten Geräten, zum Beispiel mit Peer-Geräten 120B–D, in nächster Nähe oder über eine kurze Reichweite über Drahtlossignale 130.

Das Gerät 120A enthält ferner einen Transceiver 230, der mit der Prozessor-IC 202 und der Antenne 232 kommunizierend verbunden ist. Der Transceiver 230 ermöglicht eine Wide-Area- oder eine lokale Drahtloskommunikation zwischen dem Gerät 120A und dem entwickelten B-Knoten (eNodeB) 280 über ein Drahtlossignal 284. Das Gerät 120A kann über einen Kommunikationsweg, der den Transceiver 230, die Antenne 232, das Drahtlossignal 284 und den eNodeB 280 einbezieht, mit dem Datenverarbeitungssystem (DPS) 288 kommunizierend verbunden sein. Als Teil eines drahtlosen Kommunikationsnetzwerks ist das Gerät 120A geeignet für eine Wide-Area- oder lokale Drahtloskommunikation mit anderen drahtlosen Geräten oder mit dem eNodeB 280. Das DPS 288 kann Daten und Software zu dem Gerät 120A übertragen und kann Daten empfangen, die von dem Gerät 120A oder von anderen mit dem drahtlosen Netzwerk verbundenen Geräten gesendet werden. Das Gerät 120A enthält auch eine Stromquelle, zum Beispiel eine Batterie 260, die das Gerät 120A mit Strom versorgt.

3 zeigt ferner Details eines Beispielinhalts des Hauptspeichers 210 in dem Gerät 120A und potenziell in anderen ähnlichen Geräten (z.B. 120B–D). Der Hauptspeicher 210 enthält das Betriebssystem 212 und das NAN-Dienstprogramm 215. Das Betriebssystem 212 verwaltet die Hardware-Resourcen des Geräts 120A und liefert übliche Dienste für Softwareanwendungen. Der Hauptspeicher 210 enthält ferner ein Service Discovery Frame (SDF) (automatische Erkennung von Diensten) 310 und eine lokale SDF Response 311. Das SDF 310 wird von dem Gerät 120A zu anderen Peer-Geräten 120B–D gesendet, um die Entdeckung anderer Services zu ermöglichen, die von einem oder mehreren der Peer-Geräte 120B–D gegebenenfalls bereitgestellt oder unterstützt werden. Die Lokale SDF-Response 311 ist die Antwort, die von dem Gerät 120A generiert wird, um in Reaktion auf den Empfang einer SDF 310 von einem weiteren Gerät zu senden. Der Hauptspeicher 210 enthält auch empfangene SDF-Responses 312, die in Reaktion auf die Übertragung (oder das Senden) von SDF 310 von dem Gerät 120A von den Peer-Geräten 120B–D empfangen werden. Empfangene SDF-Responses 312 können verschiedene Parameter und Charakteristiken der Peer-Geräte 120B–D und ihrer unterstützten Dienste enthalten. In einer Ausführungsform können empfangene SDF-Responses 312 zum Bestimmen der Anzahl von antwortenden Peer-Geräten 314 genutzt werden. Jede empfangene SDF-Response 312 kann die Masterrangwerte (Master Rank Values) (MRV) der antwortenden Peer-Geräte enthalten. Der Hauptspeicher 210 enthält auch eine Tabelle 315, die den MRV jedes antwortenden Peer-Geräts enthält. Die Tabelle 315 wird basierend auf der Information, die in der empfangenen SDF-Response 312 enthalten ist, lokal generiert. In einer Ausführungsform kann die Tabelle 315 auch den berechneten MRV (326) des Geräts 120A enthalten, sobald der MRV-Wert berechnet wurde. Die Tabelle 315 kann auch einen Hinweis auf das Gerät enthalten, welches – sofern vorhanden – das aktuelle Master-NAN-Gerät 328 ist.

Der Hauptspeicher 210 speichert ferner eine Masterpräferenzkonstante 316, einen Masterpräferenzwert 318, eine NAN-Mastervariable 330, eine konfigurierbare Zufallsfaktor-Generierungsfunktion (CRFGF) 320, einen Zufallsfaktorwert 322, einen Media Access Control-Adresswert (MAC) 324 und einen berechneten Masterrangwert 326. Die Ableitung des Masterrangwerts 326 basiert auf einer von dem Gerät 120A durchgeführten Berechnung, und der Ergebniswert wird dem Gerät 120A zugeordnet und wird genutzt zum Bestimmen, welches der Geräte (von dem Gerät 120A und einem antwortenden Peer-Gerät, die einen MRV in der Tabelle 315 erhalten haben) als Master-NAN-Gerät dienen wird. Der Masterrangwert 326 wird zumindest teilweise basierend auf einem oder mehreren der folgenden Werte berechnet: der Masterpräferenzkonstante 316, dem Masterpräferenzwert 318, der NAN-Mastervariablen 330, dem Zufallsfaktorwert 322 und dem MAC-Adresswert 324.

Gemäß einem Aspekt der Erfindung stellt die NAN-Spezifikation eine feste Gruppe von Bits/Bytes zur Referenzierung des Masterrangs bereit. Von den Masterrang-Bytes kann das wichtigste Bit des wichtigsten Byte (das auch als Masterpräferenzwert bekannt ist) festgelegt werden, um anzuzeigen, ob das Gerät als Master-NAN-Gerät dienen will (1) oder nicht (0). Die verbleibenden am wenigsten wichtigen Bits des wichtigsten Byte können dem Gerät überlassen werden zum Füllen mit einem Wert, der anzeigt, wie stark das Gerät als NAN-Mastergerät dienen will. Die Erfindung sieht vor, dass diese sieben verbleibenden am wenigsten wichtigen Bits auf einen Wert gesetzt werden, der die Anzahl von sichtbaren Peer-Geräten angibt. Zentral liegende Geräte sind dann in der Lage, mehr Peers zu "sehen" und mit mehr Peers eine Schnittstelle zu bilden, wie durch den Wert dieser sieben verbleibenden Bits angegeben. Gemäß einem Aspekt gilt das Gerät (oder gelten die Geräte) mit der größeren Anzahl von registrierten sichtbaren Peer-Geräten als dasjenige (oder diejenigen), das(die) besser als NAN-Mastergerät geeignet ist(sind). Die Berechnung des Masterrangwerts 326 wird an späterer Stelle näher erläutert.

Der Hauptspeicher 210 enthält auch Signalqualitätsmesswerte wie Round-Trip-Zeitmesswerte 332 (RTT-Messwerte), die in einer Ausführungsform von Zeitwerten abgeleitet oder bestimmt werden, die den empfangenen SDF-Responses 312 zugeordnet sind. In einer Ausführungsform misst das Gerät 120A die RTT, die ein drahtloses Signal für den Weg von dem Gerät 120A zu jedem der Peer-Geräte 120B–D und zurück benötigt, und speichert diese Zeitwerte als RTT-Messwerte 332. Die RTT-Messwerte 332 sind proportional zur jeweiligen Entfernung zwischen dem Gerät 120A und jedem der Peer-Geräte 120B–D. Der Hauptspeicher 210 enthält auch Werte, die aus den gemessenen RTTs berechnet werden, unter anderem aus dem RTT-Mittelwert 334, der RTT-Standardabweichung (STD) 336 und aus einem konfigurierbaren Zufallszahlengenerator (CRFGF) 338. Der RTT-Mittelwert 334 ist der Mittelwert der RTT-Messwerte, und RTT STD 336 ist die Standardabweichung der RTT-Messwerte. Der CRFGF 338 wird basierend auf dem RTT-Mittelwert 334 und der RTT STD 336 konfiguriert. In einer Ausführungsform kann der Zufallsfaktorwert 322 aus dem CRFGF 338 ausgewählt werden. In anderen Ausführungsformen können Signalqualitätsmesswerte, die eine Signalstärke oder eine Verbindungsqualität enthalten können, zum Konfigurieren des CRFGF 338 verwendet werden.

Das NAN-Dienstprogramm 215 wird auf dem Datenprozessor 204 (in Kombination mit einer Signalverarbeitung durch den DSP 206) ausgeführt, um die Kommunikation zwischen dem Gerät 120A und den Peer-Geräten innerhalb der Gruppe 110 zu verwalten und um verschiedene funktionale Prozesse durchzuführen. Das NAN-Dienstprogramm 215 umfasst ein Geräteerfassungsmodul 350, ein Masterrangmodul 352 und ein Zufallsfaktor-Generierungsmodul 354. Das Geräteerfassungsmodul 350 ist zuständig für das Senden des SDF 310 und für den Empfang von empfangenen SDF-Responses 312 von Peer-Geräten. Das Masterrangmodul 352 berechnet den Masterrangwert 326 für das Gerät 120A. Das Zufallsfaktor-Generierungsmodul 354 verwendet den CRFGF 338 zum Berechnen des Masterrangwerts 326.

Gemäß einem Aspekt kann das Gerät 120A über den Datenprozessor 204 eine Anzahl von Peer-Geräten 120B–D identifizieren, die sich innerhalb einer ersten Kommunikationsreichwerte des Geräts 120A befinden und die über NAN 110 mit dem ersten Gerät kommunizieren können. Gemäß einem Aspekt wird die relative Entfernung des korrespondierenden Peer-Geräts 120B–D zu dem Gerät 120A basierend auf Antwortcharakteristiken identifiziert, die der empfangenen SDF-Response 312 zugeordnet sind, die von jedem der Peer-Geräte empfangen wird. Die NAN-Gruppe 110, für welche die Wahl eines Master-NAN-Geräts durchgeführt wird, wird von jedem kommunizierenden Gerät (120A–D) als das Gerät 120A und die antwortenden Peer-Geräte 120B–D enthaltend identifiziert. Der MRV 315, der dem Peer-Gerät zugeordnet ist, das die SFD-Response 312 ausgegeben hat, wird jeder SDF-Response entnommen. Gemäß einer Ausführungsform wird der berechnete MRV 326 für das Gerät 120A zumindest teilweise basierend auf der Anzahl von antwortenden Peer-Geräten 314 berechnet, und der berechnete MRV 326 wird mit den empfangenen MRVs 315 der antwortenden Peer-Geräte verglichen. In Reaktion auf einen berechneten MRV 326, der größer ist als jeder der empfangenen MRVs 315, wird das Gerät 120A innerhalb der NAN-Gruppe 110 das Master-NAN-Gerät 328 (d.h. wird als solches identifiziert oder übernimmt dessen Rolle).

4 zeigt ein weiteres Beispiel einer NAN-Gruppe 400, die eine erste Peer-Gruppe 410 und eine zweite Peer-Gruppe 412 umfasst, die zusammen die Geräte A–F repräsentieren. Innerhalb der NAN-Gruppe 400 konkurrieren zwei Geräte – das erste Gerät 420 (Gerät B) und das zweite Gerät 422 (Gerät D) – um die Rolle als Master-NAN-Gerät (für die gesamte Gruppe) innerhalb der Peer-Gruppen. In der dargestellten Ausführungsform wird angenommen, dass jedes Gerät nur drei Einheiten weiter "sehen" kann (d.h. mit anderen Geräten kommunizieren kann). Solchermaßen kann das erste Gerät 420 die Geräte A, C, D, E (d.h. insgesamt vier Geräte) und das zweite Gerät 422 die Geräte A, B, C, E, F (d.h. insgesamt fünf Geräte) erkennen. Bei dem ersten Gerät 420 beträgt die Anzahl von Peer-Geräten 430, die innerhalb der Kommunikationsreichweite des ersten Geräts 420 liegen und auf ein SDF antworten können oder geantwortet haben, das von dem/durch das erste Gerät 420 generiert wurde, vier. Bei dem zweiten Gerät 422 beträgt die Anzahl von Peer-Geräten 432, die innerhalb der Kommunikationsreichweite des zweiten Geräts 422 liegen und auf ein SDF antworten können oder geantwortet haben, das von dem/durch das zweite Gerät 422 generiert wurde, fünf.

Jedes der Geräte innerhalb der NAN-Gruppe 400 behält einen Masterrangwert bei, der die Eignung des jeweiligen Geräts für den Betrieb als Master-NAN-Gerät darstellt. Der Masterrangwert 326 wird basierend auf drei Komponenten berechnet, nämlich dem Masterpräferenzwert 318, dem Zufallsfaktorwert 322 und dem MAC-Adresswert 324.

Gemäß einer Ausführungsform wird der Masterrangwert 326 durch Gleichung (1) berechnet: Masterrangwert = Masterpräferenzwert·2^56 + Zufallsfaktorwert·2^48 + MAC-Wert [5]·2^40 + ... + MAC-Wert [0](1)

Der Masterrangwert kann basierend auf einer Masterpräferenzkonstante 316, die einem Masterpräferenzwert 318 hinzuaddiert wird (+), einem Zufallsfaktorwert 322 und einem MAC-Adresswert 324 berechnet werden. Da der Masterpräferenzwert mit einer größeren Zahl multipliziert wird (d.h. 2^56 in Gleichung (1)), ist der Masterpräferenzwert der dominante Term in Formel (1). In einer Ausführungsform kann die Masterpräferenzkonstante 128 sein, und der Masterpräferenzwert 318 wird gleichgesetzt mit der Summe der Masterpräferenzkonstante 316 und dem Zählwert der Anzahl von Peer-Geräten 430, die sich innerhalb der Kommunikationsreichweite des Geräts 420 befinden und auf das generierte SDF geantwortet haben. Bei dem ersten Gerät 420 beträgt der Masterpräferenzwert vier, bei dem zweiten Gerät 422 fünf. Durch die Anwendung der vorstehenden Gleichung und aktueller Werte lässt sich der Masterrangwert für das Gerät 420 durch Gleichung (2) berechnen: Masterrangwert = (128 + 4)·2^56 + Zufallsfaktorwert * 2^48 + MAC-Wert [5]·2^40 + ... + MAC-Wert [0](2)

Der Masterrangwert für das Gerät 422 wird anschließend durch Gleichung (3) berechnet: Masterrangwert = (128 + 5)·2^56 + Zufallsfaktorwert·2^48 + MAC-Wert [5]·2^40 + ... + MAC-Wert [0](3)

Ein höherer Zahlenwert des Masterpräferenzwerts resultiert in einem höheren Masterrangwert und weist auf eine größere Präferenz dieses Geräts als Master-NAN-Gerät hin. Da der Masterpräferenzwert (d.h. der Zählwert von antwortenden Peer-Geräten) bei dem zweiten Gerät 422 höher ist als der Masterpräferenzwert bei dem ersten Gerät 420, hat das zweite Gerät 422 den höchsten Masterpräferenzwert, ungeachtet des Zufallsfaktorwerts oder des MAC-Adresswerts, wie in 4 dargestellt.

5 zeigt eine NAN-Gruppe 500 mit einer ersten Peer-Gruppe 510 und einer zweiten Peer-Gruppe 512. Zwei Geräte – ein erstes Gerät 520 und ein zweites Gerät 522 – konkurrieren um die Rolle als NAN-Mastergerät innerhalb der Peer-Gruppen. Das erste Gerät 520 ist durch eine erste Entfernung 540 von jedem der Peer-Geräte 530 getrennt. Das erste Gerät 520 kann Signalqualitätsmesswerte wie RTT-Messwerte anhand der Zeit erstellen, die ein drahtloses Signal für seinen Weg zwischen dem Gerät 520 und jedem der Peer-Geräte 530 benötigt. In anderen Ausführungsformen können Signalqualitätsmesswerte Messwerte umfassen, die auf der Signalstärke oder der Verbindungsqualität basieren. Die RTT-Messwerte 322 werden zum Berechnen der Entfernungen 540 verwendet. Das zweite Gerät 522 ist ähnlich durch eine zweite Entfernung 542 von jedem der Peer-Geräte 532 getrennt.

In 5 haben die Geräte 520 und 522 die gleiche Anzahl von Peer-Geräten (vier) innerhalb der Kommunikationsreichweite, was dazu führt, dass der Masterpräferenzwert 318 bei beiden Geräten der gleiche ist. In dieser Situation kann gemäß einem Aspekt der Erfindung der Zufallsfaktorwert 322 aus einer Normal-Zufallsverteilung gewählt werden, wobei der Mittelwert auf den Round-Trip-Zeit-Mittelwert (RTT-Mittelwert) 344 zu den Peer-Geräten und die Standardabweichung (STD) auf die RTT STD 336 gegenüber den Peer-Geräten festgelegt ist. Jeder RTT ist proportional zur Entfernung zwischen dem Gerät und einem Peer-Gerät. Der Mittelwert des Normalverteilungsmittels ist proportional zu (255 – RTT-Mittelwert), und die Varianz ist proportional zu dem RTT STD. Der RTT-Mittelwert für das Gerät 520 kann durch Gleichung (4) berechnet werden: RTT-Mittelwert = (RTT1 + RTT2 + RTT3 + RTT4)/4(4)

6 zeigt einen Graph 600 von drei Normalverteilungen 610, 620 und 630, die jeweils andere Mittelwerte und andere Standardabweichungen aufweisen. In 6 sind an der X-Achse die Zufallsfaktorwerte in dem Intervall von 0 bis 255 angegeben, und an der Y-Achse ist die relative Wahrscheinlichkeit, dass sich der Zufallsfaktorwert einstellt oder gewählt wird, angegeben. Das PDF einer Normalverteilung wird durch folgende Gleichung angegeben:

In Gleichung (5) steht μ für den Mittelwert und σ für die Standardabweichung (STD). In 6 hat die erste Normalverteilung 610 einen Mittelwert von 128 und eine STD von 30, die zweite Normalverteilung 620 hat einen Mittelwert von 200 und eine STD von 80, und die dritte Normalverteilung 630 hat einen Mittelwert von 200 und eine STD von 50. Ein Gerät mit einer kurzen RTT zu allen seinen Peer-Geräten entspricht der Wahrscheinlichkeitsverteilung 630. Der Zufallsfaktor für das Gerät mit einer kurzen RTT würde aus der Wahrscheinlichkeitsverteilung 630 gezogen werden.

Ein weiteres Gerät mit der gleichen RTT zu seinen Peers, jedoch mit einer größeren Standardabweichung, zieht seinen Zufallsfaktorwert aus der entsprechenden Wahrscheinlichkeitsverteilung 620. Ein noch weiteres Gerät, das durchschnittlich weit von seinen Peer-Geräten entfernt ist, zieht seinen Zufallsfaktorwert aus der entsprechenden Wahrscheinlichkeitsverteilung 610. Das Gerät, dass besser als Master-NAN-Gerät geeignet ist, wählt einen Zufallsfaktor, der statistisch größer ist als bei einem Gerät, das nicht als Master-NAN-Gerät geeignet ist. Wie 6 zeigt, liegt das Gerät, das der Wahrscheinlichkeitsverteilung 630 zugeordnet ist, im Durchschnitt näher zu seinen Peer-Geräten und ist besser als Master-NAN-Gerät geeignet.

Die 7A und 7B zeigen Graphen 700 und 750 von Wahrscheinlichkeitsverteilungen 710 und 760. In den 7A und 7B sind an der X-Achse die Zufallsfaktorwerte in dem Intervall von 0 bis 255 angegeben, und an der Y-Achse ist die relative Wahrscheinlichkeit, dass sich der Zufallsfaktorwert einstellt oder gewählt wird, angegeben. Als Beispiel sei angenommen, dass sämtliche RTT-Messwerte in dem Intervall von 5 bis 100 Meter liegen und in dem Intervall von 0 bis 255 linear abgebildet sind. Der Mittelwert und die Standardabweichung dieser neuen Gruppe von Werten werden verwendet, um die Wahrscheinlichkeitsverteilungen 710 und 760 zu konstruieren, aus denen der Zufallsfaktorwert 322 zufällig ausgewählt oder gezogen wird. Die Wahrscheinlichkeitsverteilung 710 zeigt ein PDF für ein Gerät mit Peers, die sich in 10 Meter, 9 Meter, 21 Meter und 15 Meter befinden. Die Wahrscheinlichkeitsverteilung 760 zeigt ein PDF für ein Gerät mit Peers, die sich in 5 Meter, 60 Meter, 73 Meter und 85 Meter befinden. Die Wahrscheinlichkeit ist höher, dass der Zufallsfaktorwert 322, der für das der Wahrscheinlichkeitsverteilung 710 entsprechende Gerät gewählt wurde, größer ist als der Zufallsfaktorwert 322, der für das der Wahrscheinlichkeitsverteilung 760 entsprechende Gerät gewählt wurde. Die Wahrscheinlichkeit, dass das der Wahrscheinlichkeitsverteilung 710 entsprechende Gerät als Master-NAN-Gerät gewählt wird, ist ebenfalls höher, da dieses Gerät besser positioniert ist, um das Master-NAN-Gerät zu werden (d.h. dessen Rolle zu übernehmen).

Die 8 bis 10 zeigen Flussdiagramme von Abläufen von Beispielverfahren zum Bestimmen eines Master-NAN-Geräts innerhalb einer NAN-Gruppe 110. Bei der Erläuterung der 8 bis 10 wird auf Elemente Bezug genommen, die in den 1 bis 7B beschrieben wurden.

8 zeigt ein Flussdiagramm eines Ablaufs eines beispielhaften Verfahrens, durch welches das Gerät 120A feststellt bzw. bestimmt, ob es das Master-NAN-Gerät für die NAN-Gruppe 110 ist, gemäß einer illustrativen Ausführungsform. Das Verfahren 800 kann über die Ausführung von Code von dem NAN-Dienstprogramm 215 durch den Datenprozessor 204 der Prozessor-IC 202 und speziell durch die Ausführung von Code von dem Geräteerfassungsmodul 350 und dem Masterrangmodul 352 in dem Gerät 120A implementiert werden. Wie in 2 gezeigt ist, können Softwarebefehle und Code für die Durchführung des Verfahrens 800 in dem Hauptspeicher 210 zur Ausführung durch den Datenprozessor 204 der Prozessor-IC 202 gespeichert sein, wobei Kommunikationsaspekte in Verbindung mit dem DSP 206 unterstützt oder ausgeführt werden.

Das Verfahren von 8 beginnt bei Block 802. Das Gerät 120A sendet über einen WiFi-Transceiver 239 ein SDF 310 an Peer-Geräte 120B–D, die innerhalb der Kommunikationsreichweite des Geräts 120A liegen. Das Gerät 120A empfängt die entsprechenden erhaltenen SDF-Responses 312 über die WiFi-Transceiver 239 von Peer-Geräten 120B–D (Block 804). Der Datenprozessor 204 identifiziert die Anzahl von Peer-Geräten 314 anhand der empfangenen SDF-Responses 312 (Block 806). Die Peer-Geräte liegen innerhalb einer ersten Kommunikationsreichweite des Geräts 120A.

Bei Block 810 holt der Prozessor 204 von jeder SDF-Response einen Masterrangwert ein, der einem entsprechenden Peer-Gerät zugeordnet ist, welches die SDF-Response ausgegeben hat, und der Datenprozessor 204 speichert die Masterrangwerte in der MRV-Tabelle 315. Der Datenprozessor 204 berechnet einen Master-Referenzwert 318 für das Gerät 120A zumindest teilweise basierend auf der Anzahl von antwortenden Peer-Geräten 314 (Block 812). In einer Ausführungsform kann der Masterpräferenzwert 318 gleich der Summe der Masterpräferenzkonstante 316 und des Zählwerts der Peer-Geräte 314 sein. Der Datenprozessor 204 wählt zufällig einen Zufallsfaktorwert 322 aus dem (CRFGF) 320 (Block 814) aus. In einer Ausführungsform kann der Zufallsfaktorwert 322 aus einer Normal- oder logarithmischen Normalverteilung ausgewählt werden. Bei Block 816 holt der Prozessor 204 einen MAC-Adresswert 324 des Geräts 120A ein.

Bei Block 818 berechnet der Datenprozessor 204 den berechneten Masterrangwert 326 für das Gerät 120A unter Anwendung von Formel (1) und basierend auf der Anzahl von antwortenden Peer-Geräten 314, dem Zufallsfaktorwert 322 und dem MAC-Adresswert 324. Der Datenprozessor 204 vergleicht den berechneten Masterrangwert 326 mit den empfangenen Masterrangwerten 315 (aus der MVR-Tabelle) der antwortenden Peer-Geräte (Entscheidungsblock 820). In Reaktion darauf, dass der berechnete Masterrangwert 326 größer ist als jeder der empfangenen Masterrangwerte 315, wird das Gerät 120A das Mastergerät innerhalb einer NAN-Gruppe, die das Gerät und die antwortenden Peer-Geräte enthält (Block 822). Das Verfahren 800 endet hier.

In Reaktion darauf, dass der Masterrangwert 326 nicht größer ist als jeder der empfangenen Masterrangwerte 315, akzeptiert das Gerät 120A das Peer-Gerät, das den höchsten Masterrangwert als Bake gesendet hat, als Mastergerät 328 innerhalb der NAN-Gruppe (Block 824). Danach endet das Verfahren 800.

9 zeigt ein Flussdiagramm eines Ablaufs eines Beispielverfahrens, durch welches das Gerät 120A eine Zufallsfaktorgeneratorfunktion basierend auf den Signalqualitäts-Messwerten wie dem durchschnittlichen RTT-Wert und dem Standardabweichungs-RTT-Wert konfiguriert und einen Zufallsfaktorwert auswählt, gemäß einem Ausführungsbeispiel. Das Verfahren 900 kann über die Ausführung von Code von dem NAN-Dienstprogramm 215 durch den Datenprozessor 204 und insbesondere durch die Ausführung von Code von dem Masterrangmodul 352 und dem Zufallsfaktor-Generierungsmodul 354 in dem Gerät 102A implementiert werden.

Das Verfahren von 9 beginnt bei Block 902. Der Datenprozessor 204 bestimmt die Signalqualitäts-Messwerte wie beispielsweise die RTT-Messwerte 332 zwischen dem Gerät 120A und den Peer-Geräten 120B–D. In anderen Ausführungsformen können die Signalqualitäts-Messwerte Messwerte enthalten, die auf der Signalstärke oder der Verbindungsqualität basieren. Das Gerät 120A kann die RTT für ein drahtloses Signal messen, das von dem Gerät 120A zu jedem der Peer-Geräte 120B–D wandert und zurück und kann diese Zeiten als RTT-Messwerte 332 speichern. Der Datenprozessor 204 berechnet einen durchschnittlichen RTT-Wert 334 der RTT-Messwerte 332 (Block 904). Der Datenprozessor 204 berechnet einen Standardabweichungs-RTT-Wert 336 der RTT-Messwerte 332 (Block 906).

Der Datenprozessor 204 konfiguriert den CRFGF 320 basierend auf dem durchschnittlichen RTT-Wert 334 und dem Standardabweichungs-RTT-Wert 336 (Block 908). Der Datenprozessor 204 generiert einen Zufallsfaktorwert 322 unter Verwendung des CRFGF 320 (Block 910). Der Datenprozessor 204 berechnet den Masterrangwert 326 für das Gerät 120A zumindest teilweise basierend auf dem Zufallsfaktorwert 322 (Block 912). Danach endet das Verfahren 900.

10 zeigt ein Flussdiagramm eines Ablaufs eines beispielhaften Verfahrens, durch welches das Gerät 120A ein Master-NAN-Gerät bestimmt, wenn zwei oder mehr Geräte, die um die Rolle als Master-NAN-Gerät konkurrieren, die gleiche Anzahl von Peer-Geräten aufweisen, gemäß einem Ausführungsbeispiel. Das Verfahren 1000 kann über die Ausführung von Code von dem NAN-Dienstprogramm 215 durch den Datenprozessor 204 und insbesondere durch die Ausführung von Code von dem Masterrangmodul 352 und dem Zufallsfaktor-Generierungsmodul 354 in dem Gerät 102A implementiert werden.

Das Verfahren von 10 beginnt an dem Startblock und führt zu Block 1002. Der Datenprozessor 204 generiert die CRFGF 328 basierend auf dem durchschnittlichen RTT-Wert 324 und dem Standardabweichungs-RTT-Wert 326 (Block 1002). Der durchschnittliche RTT-Wert 324 und der Standardabweichungs-RTT-Wert 326 werden basierend auf den RTT-Messungen 332 berechnet, die von dem Gerät 120A durchgeführt werden. Der Datenprozessor 204 wählt zufällig einen Zufallsfaktor 322 des CRFGF 328 (Bock 1004). Der Datenprozessor 204 berechnet den neuen Masterrangwert 326 für das Gerät 120A zumindest teilweise basierend auf dem Zufallsfaktorwert 322 (Block 1006).

Der Datenprozessor 204 vergleicht den neuen Masterrangwert 326 für das Gerät 120A mit den empfangenen Masterrangwerten 315, einschließlich der Masterrangwerte der anderen Geräte, die um die Rolle als Master-NAN-Gerät miteinander konkurrieren (Entscheidungsblock 1008). In Reaktion darauf, dass der berechnete Masterrangwert 326 für das Gerät 120A größer ist als jeder der empfangenen Masterrangwerte 315, wird das Gerät 120A das Master-NAN-Gerät 328 innerhalb der NAN-Gruppe 110 (Block 1010) (d.h. wird als Master-NAN-Gerät identifiziert oder übernimmt dessen Rolle). Danach endet das Verfahren 1000.

In Reaktion darauf, dass der Masterrangwert 326 nicht größer ist als jeder der erhaltenen Rangwerte 315, wird das Peer-Gerät mit dem höchsten Masterrangwert das Master-NAN-Gerät (Block 1012). Danach endet das Verfahren 1000.

Der Fachmann wird erkennen, dass Aspekte der vorliegenden Erfindung als System oder als Verfahren realisiert werden können. Dementsprechend können Aspekte der vorliegenden Erfindung komplett als Hardware, komplett als Software (einschließlich Firmware, residente Software, Mikro-Code etc.) oder als Kombination von Software und Hardware ausgeführt sein, wobei diese Ausführungen in der vorliegenden Beschreibung allgemein als "Schaltung", "Modul" oder "System" bezeichnet sind. Ferner können Aspekte der vorliegenden Erfindung als Computerprogrammprodukt realisiert sein, das in einem oder mehreren computerlesbaren Medien verkörpert ist und einen computerlesbaren Programmcode enthält.

Aspekte der vorliegenden Erfindung werden nachstehend mit Bezug auf die Flussdiagramme und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Flussdiagramm-Darstellungen und/oder der Blockdiagramme und Kombinationen von Blöcken in den Flussdiagrammdarstellungen und/oder Blockdiagrammen durch Computerprogrammbefehle implementiert werden können. Diese Computerprogrammbefehle können an einen Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um ein Gerät dahingehend zu schaffen, dass die Befehle, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zur Umsetzung der Funktionen/Vorgänge bereitstellen, die in dem Flussdiagramm und/oder dem Blockdiagramm oder in den Blöcken spezifiziert sind.

Diese Computerprogramme können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Geräte derart anweisen kann, dass diese in einer bestimmten Weise arbeiten, so dass die Befehle, die in dem computerlesbaren Medium gespeichert sind, einen Produktionsgegenstand bilden, der Befehle enthält, welche die Funktion/den Vorgang umsetzen, die/der in dem Flussdiagramm und/oder Blockdiagramm oder in den Blöcken spezifiziert ist. Die Computerprogrammbefehle können auch auf einen Computer, eine andere Datenverarbeitungsvorrichtung oder andere Geräte geladen werden, um die Durchführung einer Reihe von Verfahrensschritten auf dem Computer, auf einer anderen programmierbaren Datenverarbeitungsvorrichtung oder auf einem anderen Gerät zu veranlassen, um ein computer-implementiertes Verfahren bereitzustellen, so dass die Befehle, die auf dem Computer oder auf einer anderen programmierbaren Vorrichtung ausgeführt werden, Verfahren zum Umsetzen der Funktionen/Vorgänge bereitstellen, die in dem Flussdiagramm und/oder Blockdiagramm oder in den Blöcken spezifiziert sind.

Ferner wird man erkennen, dass die Abläufe in den Ausführungsformen der vorliegenden Erfindung durch die Verwendung einer beliebigen Kombination von Software, Firmware oder Hardware implementiert werden können. In einem vorbereitenden Schritt für die praktische Ausführung der vorliegenden Erfindung in Software wird der Programmiercode (ob Software oder Firmware) in der typischen Weise in einer oder in mehreren maschinenlesbaren Vorrichtungen gespeichert, zum Beispiel auf (Fest)platten, Disketten, Bildplatten, Magnetbändern, Halbleiterspeichern wie ROMs, PROMs etc., wodurch ein erfindungsgemäßer Produktionsgegenstand hergestellt wird. Der Produktionsgegenstand, der den Programmcode enthält, wird verwendet, indem entweder der Code direkt aus der Speichervorrichtung ausgeführt wird, der Code von der einen auf die andere Speichervorrichtung wie beispielsweise die Festplatte, das RAM etc. kopiert wird oder der Code für eine entfernte Ausführung gesendet wird, wofür Übertragungsmedien wie digitale oder analoge Kommunikationsverbindungen verwendet werden. Die Verfahren gemäß vorliegender Erfindung können durchgeführt werden, indem eine oder mehrere maschinenlesbare Speichervorrichtungen, die den erfindungsgemäßen Code enthalten, mit geeigneter Verarbeitungshardware zum Ausführen des darin enthaltenen Codes kombiniert werden. Eine Vorrichtung zur praktischen Durchführung der Erfindung könnte in Form einer oder mehrerer Verarbeitungsvorrichtungen und Speichersysteme vorgesehen sein, die einen Netzwerkzugriff auf ein Programm oder auf Programme, die erfindungsgemäß codiert sind, enthalten oder aufweisen.

Das Ausführungsbeispiel der vorliegenden Erfindung wurde im Zusammenhang mit einem uneingeschränkt funktionsfähigen Computersystem (Serversystem) mit installierter oder ausgeführter Software beschrieben. Gleichwohl wird der Fachmann erkennen, dass die Software-Aspekte eines Ausführungsbeispiels der vorliegenden Erfindung in vielfältiger Form als Programmprodukt vertrieben werden können und dass ein Ausführungsbeispiel der vorliegenden Erfindung ungeachtet der speziellen Art der Medien, die für den tatsächlichen Vertrieb verwendet werden, gleichermaßen gilt.

Die Erfindung wurde mit Bezug auf beispielhafte Ausführungsformen beschrieben, jedoch wird der Fachmann erkennen, dass verschiedene Änderungen möglich sind und Elemente durch Äquivalente ersetzt werden können, ohne den Rahmen der Erfindung zu verlassen. Ferner können innerhalb des Schutzrahmens der Erfindung zahlreiche Modifikationen vorgenommen werden, um ein bestimmtes System, ein Gerät oder eine Komponente desselben an die Lehren der Erfindung anzupassen. Aus diesem Grund ist die Erfindung nicht auf die speziellen Ausführungsformen beschränkt, die für die praktische Durchführung der Erfindung beschrieben wurden. Gleichwohl fallen sämtliche Ausführungsformen der Erfindung in den Schutzbereich der anliegenden Ansprüche. Sofern Begriffe wie erste/r/s, zweite/r/s etc. verwendet werden, soll dadurch keine bestimmte Reihenfolge oder kein bestimmter Stellenwert zum Ausdruck gebracht werden. Diese Begriffe dienen lediglich zur Unterscheidung eines Elements von einem weiteren Element.

Die in der vorliegenden Beschreibung verwendete Terminologie dient lediglich dem Zweck der Beschreibung bestimmter Ausführungsformen, ohne die Erfindung einzuschränken. Singularformen wie "ein/e/r/s" und "der/die/das" schließen auch Pluralformen ein, sofern sich aus dem Kontext nicht ausdrücklich das Gegenteil erschließt. Die in der vorliegenden Beschreibung verwendeten Begriffe "umfassen" und/oder "umfassend" geben an, dass genannte Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponenten vorhanden sind, ohne auszuschließen, dass auch ein oder mehrere der genannten Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen derselben vorhanden sein können.

Die entsprechenden Strukturen, Materialien, Vorgänge und Äquivalente von sämtlichen funktionalen Elementen in den anliegenden Ansprüchen umfassen jede Struktur, jedes Material oder jeden Vorgang zum Ausführen der Funktion in Kombination mit anderen speziell beanspruchten Elementen. Die vorliegende Beschreibung dient lediglich zu Darstellungszwecken und ist in der vorliegenden Form keineswegs erschöpfend oder einschränkend. Wie der Fachmann erkennen wird, sind zahlreiche Modifikationen und Variationen möglich, ohne den Grundgedanken der Erfindung zu verlassen. Die Ausführungsform wurde im Hinblick auf eine bestmögliche Erläuterung der Prinzipien der Erfindung und ihrer praktischen Durchführung gewählt und soll der Fachwelt verschiedene Ausführungsformen mit verschiedenen Modifikationen zur Anpassung an den bestimmten Zweck ermöglichen.