-
GEBIET
-
Die vorliegende Offenbarung bezieht sich allgemein auf Kanalzugriffs-Steuerungseinrichtungen und insbesondere auf eine Medienzugriffssteuerung (engl.: medium access control; MAC) für drahtlose Kommunikationssysteme.
-
HINTERGRUND
-
Bei drahtlosen Lokalbereichsnetzen (engl.: wireless local area networks; WLANs) gemäß der IEEE 802.11 Familie von Standards verwendet jede Kommunikationsquelle Medienzugriffssteuerungs-(MAC)Prozeduren, um zu bestimmen, wann ein anstehender Rahmen zu senden ist. Wenn bei einer Quelle ein Rahmen ansteht, bestimmt die Quelle, ob der Kommunikationskanal (das Medium) belegt oder frei ist. Wenn das Medium frei ist, wartet die Quelle vor einem Senden darauf, dass das Medium für mindestens eine Rahmenzwischenabstands-(engl.: inter-frame spacing; IFS)Zeit frei ist. Falls jedoch das Kommunikationsmedium belegt ist, wenn ein Rahmen bereit ist, wählen die MAC-Prozeduren aus einem Bereich von Werten zufällig einen Wettbewerbsfenster-(engl.: Contention Window; CW)Zurückhalte-(engl.: backoff)Wert x aus. Der Bereich von Werten, der Verzögerungsbereich, ist im Allgemeinen ein Bereich von ganzen Zahlen von 0 bis (C – 1). In diesem Fall definiert C den Verzögerungsbereich.
-
Gemäß der MAC-Prozedur für ein Zurückhalten wartet die Quelle auf ein Freiwerden des Mediums. Dann wartet die Quelle, bis das Medium eine kumulative Zeit, die von dem CW-Zurückhaltewert x abhängt, frei gewesen ist. Die Quelle zählt eine freie Zeit über den IFS hinaus nach jeder belegten Periode zu der kumulativen Zeit hinzu. Sobald sich die Menge einer Zeit zu dem CW-Zurückhaltewert x anhäuft, sendet die Quelle den anstehenden Rahmen. Dieses Verfahren kann unter Verwendung einer Zeitsteuerung (oder eines Rückwärtszählers) implementiert werden, wobei die Quelle eine freie Zeit über den IFS hinaus verfolgt, bis eine Zeitüberschreitung auftritt (oder der Rückwärtszähler null erreicht). Da unterschiedliche Quellen unterschiedliche CW-Zurückhaltewerte auswählen können, können dieselben vor dem Senden eine unterschiedliche Dauer warten und somit eine Kollision vermeiden. Da die Auswahl zufällig ist, können jedoch zwei oder mehr Quellen den gleichen CW-Zurückhaltewert auswählen, die gleiche Dauer warten und zu der gleichen Zeit senden. Je größer der Verzögerungsbereich, umso niedriger ist die Wahrscheinlichkeit, dass zwei oder mehr Stationen zufällig den gleichen CW-Zurückhaltewert auswählen. Kollisionen können jedoch auch auftreten, wenn Stationen unterschiedliche Zurückhaltewerte auswählen, diese Zurückhaltewerte jedoch zu der gleichen Zeit überschritten werden.
-
Gemäß den MAC-Prozeduren kann eine Quelle Sammelruf-(engl.: broadcast) und Punkt-zu-Punkt-(engl.: unicast)Rahmen unterschiedlich behandeln. Rahmen können daher aus unterschiedlichen Gründen verloren gehen. Wenn ein Unicast-Rahmen größer als eine Schwelle ist, verwendet die MAC einen Vier-Wege-Austausch (engl.: hand-shake), der eine Sendeanfrage (engl.: Request-to-Send; RTS), eine Sendefreigabe (engl.: Clear-to-Send; CTS), einen Datenrahmen und einen Bestätigungs-(engl.: acknowledgment; ACK)Rahmen umfasst. Wenn die Quelle als Antwort auf eine RTS oder einen Datenrahmen keine CTS bzw. ACK empfängt, dann kann die Quelle bestimmen, dass ein Fehler aufgetreten ist. Gemäß den MAC-Prozeduren erhöht die Quelle die obere Begrenzung des Verzögerungsbereichs, wenn ein Fehler auftritt. Gemäß den Prozeduren wird der C-Wert exponentiell inkrementiert, um höhere Potenzen von 2 anzunehmen. Selbst wenn durch die Quelle eine CTS empfangen wird, wird die ACK eventuell nicht gesendet, wenn eine andere Quelle (ein versteckter Knoten) die CTS nicht gehört hat und einen anderen Rahmen gesendet hat, der mit dem Datenrahmen der Quelle kollidierte. Broadcast-Rahmen (und Unicast-Rahmen, die kleiner als die Schwelle sind) verwenden jedoch den Austausch nicht. Für diese Rahmen ist somit die MAC-Handshake-Einrichtung nicht verfügbar, um Fehler zu erfassen, und die MAC-Prozeduren inkrementieren den Verzögerungsbereich nicht.
-
Broadcast-Rahmen von zwei Quellen können kollidieren, wenn beide Quellen versuchen, zu der gleichen Zeit zu senden. Dies kann auftreten, wenn zwei Rahmen bei zwei unterschiedlichen Quellen anstehen und diese Quellen zufällig den gleichen CW-Zurückhaltewert auswählen, was bewirkt, dass die zwei Quellen zu der gleichen Zeit senden. Ein andere Weise, auf die dies auftreten kann, besteht darin, dass die zwei Rahmen zu unterschiedlichen Zeiten anzustehen begannen, die zwei Quellen jedoch zufällig unterschiedliche CW-Zurückhaltewerte auswählten, die sich zufälligerweise um die Menge einer kumulativen freien Zeit unterscheiden, die der Differenz zwischen den Zeiten, zu denen die zwei Rahmen anzustehen begannen, entspricht.
-
Kollisionen treten auf, wenn zwei oder mehr Quellen Rahmen zu der gleichen Zeit senden. Ein Empfänger kann in der Lage sein, einen der Rahmen zu decodieren, während er den anderen verliert. Oder die Störung kann bewirken, dass der Empfänger keinen der Rahmen decodieren kann. Wenn die Rahmen Broadcast-Rahmen waren, wird das MAC-Handshake-Verfahren nicht verwendet, also sind die Quellen eventuell nicht in der Lage, zu erfassen, dass die Kollision auftrat und der Rahmen oder die Rahmen nicht empfangen wurden. Es ist daher wünschenswert, die Zurückhalteprozedur für Rahmen, die keine Fehlererfassungseinrichtung haben (wie Broadcast-Rahmen), anzupassen.
-
Die Feststellungen in diesem Abschnitt liefern lediglich Hintergrundinformationen, die auf die vorliegende Offenbarung bezogen sind, und stellen nicht unbedingt eine frühere Technik dar. Obwohl durch diese Offenbarung eine Bezugnahme auf die MAC erfolgt, versteht sich von selbst, dass die umfassenderen Aspekte dieser Offenbarung allgemeiner auf Kanalzugriffssteuerungseinrichtungen anwendbar sind.
-
Aus der
US 2006/0187840 A1 sind ein Verfahren und eine Vorrichtung zum Steuern einer drahtlosen Medienüberlastung durch Einstellen einer Inhaltsfenstergröße und Trennen von ausgewählten mobilen Stationen bekannt. Die
US 2006/0215686 A1 offenabrt ein Kommunikationsverfahren für den Zugang eines drahtlosen Mediums unter einem verbesserten verteiltenden Kanalzugang. Die
US 2007/0165665 A1 beschreibt ein System und ein Verfahren zur Zugangssteuerung in drahtlosen Netzwerk.
-
ZUSAMMENFASSUNG
-
Es wird ein Verfahren zum Anpassen eines Wettbewerbsfensters für einen gegebenen Knoten in einem drahtlosen Kommunikationssystem gemäß einem ersten Aspekt der vorliegenden Erfindung geschaffen. Das Verfahren weist ein Definieren eines Zielparameters, der eine Überlastung eines Sendemediums anzeigt, ein Bestimmen einer Zahl von sendenden Knoten, die bereit sind, auf das Sendemedium zuzugreifen, wobei das Bestimmen einer Zahl von sendenden Knoten ferner ein Beobachten einer freien Zeit zwischen Rahmen bei dem gegebenen Knoten und ein Berechnen der Zahl der sendenden Knoten als eine Funktion der beobachteten freien Zeit aufweist, ein Bestimmen eines Wettbewerbsfensters, aus dem ein Verzögerungswert zum Senden über das Sendemedium auszuwählen ist, wobei das Wettbewerbsfenster eine Funktion des Zielparameters und der Zahl der sendenden Knoten ist, und erfindungsgemäß ein Bestimmen, ob ein Rahmen auf die Anpassung anwendbar ist, und einem Anfügen von freien Zeiten zwischen zwei aufeinander folgenden anwendbaren Rahmen auf, wenn ein oder mehrere Rahmen, die nicht auf die Anpassung anwendbar sind, zwischen die zwei aufeinander folgenden anwendbaren Rahmen gebracht sind.
-
Es wird ein Verfahren zum Anpassen eines Wettbewerbsfensters für einen gegebenen Knoten in einem drahtlosen Kommunikationssystem gemäß einem zweiten Aspekt der vorliegenden Erfindung geschaffen. Das Verfahren weist ein Definieren eines Zielparameters, der eine Überlastung eines Sendemediums anzeigt, ein Bestimmen einer Zahl von sendenden Knoten, die bereit sind, auf das Sendemedium zuzugreifen, und ein Bestimmen eines Wettbewerbsfensters, aus dem ein Verzögerungswert zum Senden über das Sendemedium auszuwählen ist, wobei das Wettbewerbsfenster eine Funktion des Zielparameters und der Zahl der sendenden Knoten ist, und erfindungsgemäß ein Bestimmen eines Wettbewerbsfensters C gemäß
auf, wobei p eine Wahrscheinlichkeit eines Kollidierens eines Rahmens mit einem anderen Rahmen ist und N die Zahl der sendenden Knoten ist.
-
Es wird ein Verfahren zum Anpassen eines Wettbewerbsfensters für einen gegebenen Knoten in einem drahtlosen Kommunikationssystem gemäß einem dritten Aspekt der vorliegenden Erfindung geschaffen. Das Verfahren weist ein Definieren eines Zielparameters, der eine Überlastung eines Sendemediums anzeigt, ein Bestimmen einer Zahl von sendenden Knoten, die bereit sind, auf das Sendemedium zuzugreifen, und ein Bestimmen eines Wettbewerbsfensters, aus dem ein Verzögerungswert zum Senden über das Sendemedium auszuwählen ist, wobei das Wettbewerbsfenster eine Funktion des Zielparameters und der Zahl der sendenden Knoten ist, ein Beschränken der Zahl der sendenden Knoten innerhalb einer oberen Begrenzung, die eine Zahl von Knoten in der Nähe des gegebenen Knotens anzeigt; und erfindungsgemäß ein Bestimmen der oberen Begrenzung durch Beobachten von eindeutigen Adressen in Rahmen auf, die bei dem gegebenen Knoten von anderen Knoten empfangen werden.
-
Es wird ein Verfahren zum Anpassen eines Wettbewerbsfensters für einen gegebenen Knoten in einem drahtlosen Kommunikationssystem gemäß einem vierten Aspekt der vorliegenden Erfindung geschaffen. Das Verfahren weist ein Definieren eines Zielparameters, der eine Überlastung eines Sendemediums anzeigt, ein Bestimmen einer Zahl von sendenden Knoten, die bereit sind, auf das Sendemedium zuzugreifen, und ein Bestimmen eines Wettbewerbsfensters, aus dem ein Verzögerungswert zum Senden über das Sendemedium auszuwählen ist, wobei das Wettbewerbsfenster eine Funktion des Zielparameters und der Zahl der sendenden Knoten ist, und erfindungsgemäß ein Beschränken der Zahl der sendenden Knoten innerhalb einer unteren Begrenzung auf, wobei die untere Begrenzung mit einer Zahl von Knoten korreliert ist, von denen zwischen zwei aufeinander folgenden Rahmen, die durch den gegebenen Knoten gesendet wurden, Rahmen empfangen wurden.
-
Bei einem anderen Aspekt dieser Offenbarung wird ein Verfahren zum Bestimmen einer Zahl von Knoten, die bereit sind, auf ein Sendemedium in einem drahtlosen Kommunikationssystem zuzugreifen, geschaffen. Das Verfahren weist ein Beobachten einer freien Zeit zwischen Rahmen, die bei einem gegebenen Knoten empfangen werden, ein Bestimmen eines Wettbewerbsfensters, das durch den gegebenen Knoten aktuell in Verwendung ist, und ein Schätzen einer Zahl von Knoten, die bereit sind, auf das Sendemedium zuzugreifen, als eine Funktion der freien Zeit und des Wettbewerbsfensters, das durch den gegebenen Knoten aktuell in Verwendung ist, auf.
-
Weitere Bereiche einer Anwendbarkeit werden aus der hierin gelieferten Beschreibung offensichtlich. Es versteht sich von selbst, dass die Beschreibung und die spezifischen Beispiele lediglich für Zwecke einer Darstellung gedacht sind und den Schutzbereich der vorliegenden Offenbarung nicht begrenzen sollen.
-
ZEICHNUNGEN
-
1 ist ein Diagramm, das ein exemplarisches Verfahren zum Anpassen eines Wettbewerbsfensters in einem drahtlosen Kommunikationssystem darstellt;
-
2 ist ein Diagramm, das ein exemplarisches Verfahren zum Bestimmen der Zahl der gleichzeitig anstehenden Quellen aus einer beobachteten freien Zeit in einem drahtlosen Kommunikationssystem darstellt;
-
3 ist ein Diagramm, das eine exemplarische Zeitsteuerung von Zurückhalte-Abläufen und eine resultierende Zeit zwischen Rahmensendungen in einem drahtlosen Kommunikationssystem darstellt;
-
4 ist ein Diagramm, das ein exemplarisches Verfahren zum Bestimmen des effektiven Einflusses von Rahmen aus unterschiedlichen Prozessen auf einen Medienzugriff in einem drahtlosen Kommunikationssystem darstellt; und
-
5 ist ein Diagramm, das ein exemplarisches Verfahren zum Bestimmen einer Begrenzung der Zahl der gleichzeitig anstehenden Quellen aus einem Beobachten der Zahl von empfangenen Rahmen zwischen aufeinander folgenden Sendungen durch die gleiche Station in einem drahtlosen Kommunikationssystem darstellt.
-
Die hierin beschriebenen Zeichnungen dienen lediglich Darstellungszwecken und sollen den Schutzbereich der vorliegenden Offenbarung auf keine Weise begrenzen.
-
DETAILLIERTE BESCHREIBUNG
-
1 stellt ein exemplarisches Verfahren zum Anpassen eines Wettbewerbsfensters für einen gegebenen Knoten in einem drahtlosen Kommunikationssystem dar. Zuerst erfolgt bei 14 eine Bestimmung hinsichtlich der Zahl der sendenden Knoten, die bereit sind, auf ein Sendemedium in dem System zuzugreifen (auf dieselben ist hierin auch als gleichzeitig anstehende Quellen Bezug genommen). In diese Bestimmung können eine oder mehrere Beobachtungen eingegeben werden. Das Bestimmen der Zahl von gleichzeitig anstehenden Quellen kann beispielsweise auf einer freien Zeit zwischen Rahmen, die bei einem gegebenen Knoten empfangen werden, einer Zahl von eingreifenden Quellen, einer Zahl von Stationen oder einer Kombination derselben auf die im Folgenden beschriebene Art und Weise basieren. Andere Eingaben in diese Bestimmung sind durch diese Offenbarung ebenfalls in Betracht gezogen.
-
Bei 16 wird ein Zielbetriebsparameter definiert. Es ist im Allgemeinen wünschenswert, ein System konfigurieren zu können, das bei einem Zielbetriebspunkt funktioniert, anstatt eine spezielle Variable, wie einen Durchsatz, zu maximieren. Der Grund dafür sind Kompromisse. Ein Zielbetriebspunkt könnte beispielsweise eine verbesserte Zuverlässigkeit zum Nachteil des Durchsatzes erhalten, oder ein Maximieren des Durchsatzes könnte eine Zuverlässigkeit opfern. Zweitens wissen Funkstationen ohne ein Bestätigungsverfahren im Allgemeinen nicht, ob Rahmen kollidiert sind. Funkstationen wissen somit im Allgemeinen nicht, wie das Kommunikationssystem hinsichtlich eines Verlierens von Rahmen funktioniert oder funktionieren wird. Ferner hat die Funkstation, selbst wenn es einen Wunsch- oder Zielbetriebspunkt gibt, unzureichende Informationen, um zu bestimmen, ob das Ziel erreicht wird oder nicht. Drittens sind Schlüsselparameter, die die Wahrscheinlichkeit von Kollisionen und eines Verlusts bestimmen, im Allgemeinen unbekannt. Beispielsweise ist die Zahl der gleichzeitig anstehenden Quellen im Allgemeinen unbekannt, da der interne Zustand eines Funksendeempfängers anderen Funksendeempfängern unbekannt ist. Ob beispielsweise ein Rahmen bei einer Station bereit ist oder nicht, ist einer anderen Station im Allgemeinen unbekannt. Ein anderes Beispiel sind die internen Parameter, die durch die MAC-Schichten anderer Funkstationen verwendet werden. Obwohl all diese Informationen potenziell zwischen Stationen kommuniziert werden könnten, würde dies einen Mehraufwand (eine Last für eine Kanalkapazität) und eine Verzögerung (eine erhöhte Latenz) mit sich bringen.
-
Bei einem exemplarischen Ausführungsbeispiel ist der Zielparameter eine Wahrscheinlichkeit einer Kollision pro Runde (d. h. für N Rahmen), das heißt die Wahrscheinlichkeit, dass ein oder mehrere Rahmen aus den N anstehenden Rahmen kollidieren. Dies unterscheidet sich von der Wahrscheinlichkeit, dass ein spezieller Rahmen verloren geht, ist jedoch damit verwandt. Es könnten somit andere Wahrscheinlichkeiten als Zielparameter verwendet sein. Ferner könnten bei anderen Ausführungsbeispielen auch andere Parameter, die keine Wahrscheinlichkeiten sind, verwendet sein. Beispielsweise könnten Parameter, die eine Überlastung, eine Latenz, einen Durchsatz oder eine Last anzeigen, verwendet sein. Der Zielparameter dient als eine Zielsetzung für den Algorithmus, der den Verzögerungsbereich anpasst, da derselbe einen Betriebspunkt einstellt, um Kompromisse abzuwägen.
-
Zwischenzielparameter können ferner für eine Verwendung in einem Algorithmus zweckmäßig sein, um eine wiederholte Berechnung zu vereinfachen. Bei dem exemplarischen Ausführungsbeispiel ist ein Zwischenparameter, der auf der Wahrscheinlichkeit einer Kollision basiert, verwendet, um die Zahl der Berechnungen pro Anpassung zu reduzieren. Der Zwischenparameter ist eine Funktion des Zielparameters (der Wahrscheinlichkeit einer Kollision) und kann ein zweckmäßiges Zwischenresultat für eine Algorithmus-Implementierung sein, da derselbe einmal berechnet und dann in dem Algorithmus verwendet werden kann, während sich N ändert. Wenn sich jedoch der Zielparameter ändert, dann sollte der Zwischenparameter neu berechnet werden.
-
Ein Wettbewerbsfenster (auf das hierin auch als einen Verzögerungsbereich Bezug genommen ist) wird dann bei 18 als eine Funktion des Zielparameters und der Zahl der gleichzeitig anstehenden Quellen bestimmt. Die Zahl der gleichzeitig anstehenden Quellen N ist die Zahl der Quellen mit anstehenden Rahmen, die gleichzeitig bereit sind, auf das Medium zuzugreifen (daher die Unterscheidung zwischen Stationen, die aktuell Quellen (Sender) sind, und Stationen, die aktuell Senken (Empfänger) oder Stationen im Allgemeinen sind). Die Zahl der gleichzeitig anstehenden Stationen N ist also die Zahl der Stationen, die sich zu der gleichen Zeit bewerben, d. h. die Zahl der aktuell aktiven Stationen, ungeachtet dessen, ob jede derselben zu der gleichen Zeit bereit wurde, ein Paket zu senden oder nicht (obwohl dies im Folgenden als ein grundlegendes Beispiel betrachtet ist). Es gibt Alternativen zu einem Verwenden von N, wie ein Bestimmen eines anderen Verhaltenskriteriums, das mit dem Zielparameter verglichen werden kann.
-
Die Motivation zum Bestimmen eines Verzögerungsbereichs basiert auf Beziehungen zwischen Kollisionen und unbekannten Parametern, die ein vergangenes oder erwartetes Verhalten darstellen oder anzeigen. Wenn wir beispielsweise annehmen, dass alle Rahmen zu der gleichen Zeit bei N gleichzeitig anstehenden Quellen bereit werden, wobei jede eine Wahl von C unterschiedlichen Verzögerungswerten für den Zurückhaltewert während der gleichen belegten Periode hat, dann kann eine Kollision lediglich vermieden werden, wenn alle N gleichzeitig anstehenden Quellen unterschiedliche Werte in dem Verzögerungsbereich (dem Wettbewerbsfenster) wählen. Die Wahrscheinlichkeit keiner Kollision ist somit gleich der Zahl von Weisen, insgesamt N unterschiedliche Werte in einem Verzögerungsbereich von C eindeutigen Werten zu wählen, multipliziert mit den Permutationen von N Quellen und geteilt durch die gesamten Kombinationen von Weisen, auf die N gleichzeitig anstehende Quellen C Werte (eindeutig oder nicht) wählen könnten. Die Wahrscheinlichkeit einer Kollision ist genau Eins minus dieser Wahrscheinlichkeit keiner Kollision. Es sei jedoch bemerkt, dass dann, wenn C kleiner als N ist, mindestens zwei Quellen letztlich den gleichen Wert wählen würden und somit mindestens zwei Rahmen kollidieren würden. Schließlich sei daran erinnert, dass N im Allgemeinen unbekannt ist und der durch andere Stationen verwendete Wert von C im Allgemeinen ebenfalls unbekannt ist.
-
Rahmen können ferner kollidieren, selbst wenn sie nicht während der gleichen belegten Zeit bereit sind. Rahmen können kollidieren, wenn die Differenz zwischen den zufällig ausgewählten Zurückhaltewerten der Differenz einer freien Zeit zwischen den Zeiten, zu denen dieselben bereit sind (zu denen das Zurückhalten beginnt), entspricht. Da die Zufallswerte gleichmäßig gewählt werden, sind die zwei Situationen vergleichbar. Bei dem exemplarischen Ausführungsbeispiel ist somit dort, wo Rahmen über einen kontinuierlichen Zeitrahmen gesendet werden, die mittlere Zahl von gleichzeitig anstehenden Quellen verwendet. Wenn Rahmensendungen Schlitzen (engl.: slots) zugewiesen sind, mit der Möglichkeit, dass viele am Anfang der Zeitschlitze beginnen, dann könnte die Zahl derer, die am Anfang der Zeitschlitze beginnen, verwendet sein.
-
Schließlich wird der berechnete Verzögerungsbereich durch einen sendenden Knoten verwendet, um einen zufälligen Zurückhaltewert, der durch eine Kanalzugriffs-Steuerungseinrichtung verwendet werden kann, zu bestimmen (19). Genauer gesagt, der sendende Knoten wählt zufällig einen Wert innerhalb des Verzögerungsbereichs als eine Zurückhaltezeit aus und wartet auf ein Ablaufen der Zurückhaltezeit, bevor ein Rahmen von dem gegebenen Knoten gesendet wird.
-
Bei einigen Ausführungsbeispielen kann der Verzögerungsbereich im Laufe der Zeit angepasst werden, um Änderungen der Eingangs- und Zielparameter zu entsprechen. Bei einem Ausführungsbeispiel kann eine Zielwahrscheinlichkeit einer Kollision verwendet sein, um anhand des bestimmten Werts von N einen passenden Wert für C zu bestimmen. Die Anpassung kann periodisch, oder wenn sich Eingangs- oder Zielparameter ändern, oder gemäß einer konfigurierbaren Rate wiederholt werden. Bei einem Ausführungsbeispiel wird der Verzögerungsbereich eingestellt, um die gewünschte Wahrscheinlichkeit einer Kollision zu erreichen, die von der Zahl der Quellen und dem Verzögerungsbereich abhängt. Bei einem anderen Ausführungsbeispiel wird der Verzögerungsbereich erhöht, wenn die Wahrscheinlichkeit einer Kollision höher als gewünscht ist, und verringert, wenn die Wahrscheinlichkeit einer Kollision niedriger als gewünscht ist. Bei einem Ausführungsbeispiel beispielsweise wurde die Anpassung alle 16 freien Perioden (etwa alle 16 Rahmen) für eine Zielwahrscheinlichkeit einer Kollision (ein oder mehrere Fälle von zwei oder mehr Rahmen) pro Runde von 20% oder 40% (p = 0,2 oder 0,4) durchgeführt. Diese Zielparameterwerte entsprechen Zwischenparameterwerten von etwa 2,2 und 1. Der Verzögerungsbereich C wird bei dem bevorzugten Ausführungsbeispiel durch Multiplizieren des Quadrats von N mit dem Zwischenparameter bestimmt.
-
Die Wahrscheinlichkeit, dass ein gegebener Rahmen aufgrund einer Kollision verloren geht, wäre im Allgemeinen kleiner als die Wahrscheinlichkeit einer Kollision in einer Runde. Es sei beispielsweise N = 4 angenommen. Bei p = 40% ist der Zwischenparameter etwa 1 und somit der bestimmte Verzögerungsbereich C = 16. Für diese Werte beträgt die Wahrscheinlichkeit, dass ein spezieller Rahmen einen eindeutigen Wert wählt, etwa 82%. Die Wahrscheinlichkeit, dass ein gegebener Rahmen verloren geht, beträgt also etwa 18%, was weniger als 40% ist. Da p konfigurierbar ist, kann die Erfindung konfiguriert werden, um auf ein gewünschtes Verhalten zu zielen.
-
Bei einem Ausführungsbeispiel besteht keine Grenze für die mögliche Auswahl des Verzögerungsbereichs. Bei einem anderen Ausführungsbeispiel wird der Verzögerungsbereich schrittweise angepasst, um erlaubten Werten zu entsprechen. Der Algorithmus könnte beispielsweise den Verzögerungsbereichswert C in exponentiellen Schritten anpassen, um Potenzen von Zwei zu entsprechen. Bei einem anderen Ausführungsbeispiel ist die Verzögerungsbereichsanpassung nicht begrenzt. Bei noch einem anderen Ausführungsbeispiel sind die Verzögerungsbereichsauswahlmöglichkeiten zwischen einem Minimum und/oder einem Maximum begrenzt. C kann beispielsweise auf die Werte, die in existierenden 802.11-Standards verfügbar sind (z. B. [16, 32, 64, 128, 256, 512, 1024]), beschränkt sein und durch Multiplizieren mit oder Teilen durch 2 inkrementiert bzw. dekrementiert werden. Die Anpassung kann periodisch, oder wenn sich Eingangs- oder Zielparameter ändern, oder gemäß einer konfigurierbaren Rate wiederholt werden. Die Anpassungsrate kann ferner basierend auf der Dynamik der Situation (Mobilität, Quantität der Nachrichtenübertragung oder der Stationen etc.) geändert werden.
-
Eine optionale Verbesserung des Algorithmus besteht darin, die Schätzung von N durch die erwartete Wahrscheinlichkeit einer Kollision auszugleichen. Dieser Kollisionsausgleich kann bei einem Betrieb mit hohen Zielkollisionsraten signifikanter sein und kann somit bei niedrigen Zielkollisionsraten, die im Allgemeinen typischere angemessene Betriebspunkte wären, weggelassen werden. Die Hinzufügung eines Kollisionsausgleichs kann durch Schätzen der Wahrscheinlichkeit einer Kollision basierend auf N und C unter Verwendung der gleichen vorhergehenden Beziehung und dann Verwenden dieses Schätzwerts bei einem Neuberechnen eines Schätzwerts für N, der berücksichtigt, dass ein Bruchteil der belegten Zeiten zwischen freien Zeiten zwischen Rahmen tatsächlich auf mehrere Rahmen (Kollisionen) zurückgeht, erfolgen. Mit anderen Worten, N kann höher sein als sonst geschätzt. Dieses N kann berechnet werden, wenn die Wahrscheinlichkeit einer Kollision bekannt ist, wenn jedoch die Wahrscheinlichkeit niedrig ist, wird die Differenz klein sein und kann vernachlässigbar sein. Ein Beispiel einer Vereinfachung besteht darin, anzunehmen, dass dann, wenn Kollisionen auftreten, die Kollisionen durchschnittlich zwei Rahmen betreffen. N kann dann mit (1 + p) multipliziert werden, um einen Schätzwert des kollisionsausgeglichenen N zu erhalten.
-
Der vorhergehende Anpassungsalgorithmus kann bei einzelnen Funksendeempfängern (Stationen) implementiert sein und auf eine verteilte Weise unabhängig in Betrieb sein. Es ist keine Koordination, Signalisierung oder Synchronisation zwischen Stationen erforderlich. Es brauchen keine Informationen ausgetauscht zu werden. Es versteht sich von selbst, dass im Vorhergehenden lediglich die relevanten Schritte des Anpassungsalgorithmus erörtert sind, dass jedoch andere softwareimplementierte Anweisungen nötig sein können, um den Gesamtbetrieb der Station zu steuern und zu verwalten.
-
Bei einem anderen Ausführungsbeispiel könnte der Anpassungsalgorithmus durch eine zentralisierte Konfiguration implementiert sein, bei der ein oder mehrere zentrale Punkte gemäß der Erfindung den Verzögerungsbereich bestimmen, den andere Stationen zu verwenden haben. Der zentralisierte Punkt würde dann den Verzögerungsbereich anderen Stationen zukommen lassen, und diese Stationen würden den Wert übernehmen. Bei beiden Konfigurationen könnten Stationen Informationen darüber, ob bei der Station ein oder mehrere Rahmen anstehen oder anstehen werden oder anstanden oder nicht, oder über einen verwendeten Verzögerungsbereich oder Beobachtungen des Kanals, wie die Statistik einer freien Zeit zwischen Rahmen (die im Folgenden weiter erörtert ist), austauschen. Diese Informationen könnten in den Algorithmus eingegeben werden. Es sei jedoch bemerkt, dass das Verhalten einer zentralisierten Konfiguration durch den Mangel eines Inbetrachtziehens lokaler Bedingungen benachteiligt sein kann. Mit anderen Worten, die Zahl der gleichzeitig anstehenden Quellen aus der Perspektive einer Station kann sich von der Perspektive einer anderen Station unterscheiden, wenn unterschiedliche Stationen in Reichweite sind. Mit anderen Worten, das Ausmaß einer Kanalüberlastung kann je nach Ort variieren, und somit kann der optimale Verzögerungsbereich für den gewählten Zielparameter unterschiedlich sein. Eine verteilte Implementierung kann vorzuziehen sein, um solchen Bedingungen Rechnung zu tragen. Bei einer zentralisierten Verteilung kann jedoch der bei anderen Stationen verwendete C-Wert bekannt sein, da der zentralisierte Punkt diesen Wert Stationen für deren Verwendung zukommen ließ. Der Algorithmus kann diesen Verzögerungsbereichswert C als den C-Wert zum Schätzen der Zahl der gleichzeitig anstehenden Stationen aus der IFIT verwenden. Bei der verteilten Konfiguration verwendet der Algorithmus das lokale bei der Station verwendete C als den C-Wert für die Schätzung. Bei alternativen Ausführungsbeispielen könnte ein (im Laufe der Zeit) gefilterter C-Wert oder ein anderer Schätzwert für den C-Wert verwendet sein. Der C-Wert sollte das allgemeine C darstellen, das durch Quellen in der Nähe in Verwendung ist, wenngleich sich dieselben unterscheiden können. Der C-Wert könnte beispielsweise hin zu dem mittleren C-Wert tendieren, der durch Quellen in der Nähe in Verwendung ist. Um dies zu erreichen, könnten Stationen ihren verwendeten C-Wert per Broadcast, beispielsweise als Teil eines allgemeinen Nachrichtenkopfs, übertragen.
-
Ein anderer Aspekt dieser Offenbarung ist das Bestimmen der Zahl der gleichzeitig anstehenden Quellen N aus einer oder mehreren Beobachtungen. 2 stellt ein exemplarisches Ausführungsbeispiel dar. Bei dem exemplarischen Ausführungsbeispiel wird die Zahl der gleichzeitig anstehenden Quellen aus Beobachtungen der freien Zeit zwischen Rahmen, die bei einem gegebenen Knoten empfangen werden, und des Wettbewerbsfensters, das durch den gegebenen Knoten aktuell in Verwendung ist, geschätzt. Im Zusammenhang mit der MAC wird auf diese freie Zeit gewöhnlich als eine freie Zeit zwischen Rahmen (engl.: Inter-Frame Idle Time; IFIT) Bezug genommen und dieselbe als die aufeinander folgende freie Zeit zwischen Rahmen, die die Beiträge des Rahmenzwischenabstands (IFS) zu der freien Zeit nicht beinhaltet, definiert. Mit anderen Worten, die IFIT ist als die Zeit definiert, die zu einem Zurückhalte-Rückwärtszählen beiträgt. Bei einer Alternative könnte die IFIT die Rahmenzwischenabstands- (IFS) Zeit beinhalten. Die IFIT dient als ein Indikator der Zahl der gleichzeitig anstehenden Quellen, N, da die freien Zeiten zwischen Rahmen für den gleichen Wert von C umso kleiner werden, je höher N wird.
-
Wenn in dem Kommunikationssystem Rahmen durch andere Prozesse als diejenigen, die den Anpassungsalgorithmus verwenden, gesendet werden, dann kann die allgemeine Dauer der IFITs durch diese anderen Prozesse beeinflusst sein. Beispiele sind herkömmliche Stationen (die das Wettbewerbsfenster für Broadcasts nicht anpassen), Unicasts oder unterschiedliche QoS-Klassen (Zugriffskategorien oder Prioritätsebenen). Die Anwesenheit dieser Prozesse und der resultierenden Rahmen kann die Charakteristiken der IFITs beeinflussen. Es kann daher wünschenswert sein, diesem Einfluss Rechnung zu tragen und lediglich die Informationen zu extrahieren, die sich auf die Zahl der gleichzeitig anstehenden Rahmen, die unter Verwendung eines speziellen Prozesses gesendet wurden, beziehen. Der Wirkung kann unter Verwendung eines Verfahrens zum Berechnen virtueller IFITs Rechnung getragen werden. Dieses Verfahren beseitigt den Einfluss von Rahmen, die nicht gemäß der Erfindung gesendet werden, oder von Rahmen eines unterschiedlichen Typs, einer unterschiedlichen Klasse oder Priorität (selbst wenn dieselben andere Ausprägungen der Erfindung verwenden).
-
Das virtuelle IFIT-Verfahren weist ein Bestimmen der Anwendbarkeit eines Rahmens (ob der Rahmen auf die spezielle Anpassung anwendbar ist oder nicht) und ein Berechnen virtueller IFITs auf. Die Anwendbarkeit eines Rahmens kann durch Untersuchen der Charakteristiken oder des Inhalts des Rahmens bestimmt werden. Beispielsweise kann eine Station, die Broadcast-Wettbewerbsfenster anpasst, prüfen, ob die Adresse eines empfangenen Rahmens eine Broadcast-Adresse (anwendbar) oder eine Unicast-Adresse (nicht anwendbar) ist, und dadurch bestimmen, welche Rahmen anwendbar sind. 4 ist ein Diagramm, das ein exemplarisches virtuelles IFIT-Verfahren zum Bestimmen des effektiven Einflusses der Unicast-Rahmen auf die IFIT, wenn der Anpassungsalgorithmus lediglich auf Broadcast-Rahmen angewandt wird, darstellt. Wenn der Rahmen auf die spezielle Anpassung nicht anwendbar ist (d. h. bei dem Beispiel, kein Broadcast ist), dann fügt das Verfahren die Länge der IFIT, die dem Rahmen folgt, an die IFIT, die dem Rahmen vorausgeht, an, um eine virtuelle IFIT-Dauer für Zwecke der speziellen Anpassung (d. h. bei dem Beispiel, für Broadcasts) zu erhalten. Dieser Prozess eines Anfügens dauert an, bis die virtuelle IFIT allen IFITs (einer oder mehreren) zwischen zwei aufeinander folgenden anwendbaren Rahmen (d. h. bei dem Beispiel, zwei Broadcasts von entweder der gleichen Station oder unterschiedlichen Stationen) Rechnung trägt.
-
Es sei beispielsweise angenommen, dass zwei Stationen Broadcasts senden und eine dritte Station Unicasts sendet. Es sei angenommen, die Erfindung ist bei diesem Beispiel lediglich auf Broadcasts angewandt. Es sei ferner ein Fall betrachtet, bei dem die dritte Station zwischen zwei Broadcasts, die durch die erste und die zweite Station gesendet werden, zwei Unicasts sendet. Gemäß dem virtuellen IFIT-Verfahren würde die erste Station eine virtuelle IFIT berechnen, die gleich der Summe der drei IFITs zwischen den Broadcasts derselben ist. Diese virtuelle IFIT würde bei dem Bestimmen der Zahl der gleichzeitig anstehenden Stationen für Zwecke der Anpassung des Broadcast-Wettbewerbsfensters verwendet.
-
Das virtuelle IFIT-Verfahren kann somit für eine Rückwärtskompatibilität, einen gemischten Unicast- und Broadcast-Verkehr oder ein Anwenden der Erfindung auf Dienstqualitätsebenen oder andere Situationen, in denen die IFIT durch unterschiedliche oder gesonderte Prozesse beeinflusst wird, nützlich sein. Bei einer Dienstqualität könnte ein einziges C für alle Prioritätsebenen verwendet sein, oder ein Satz von C-Werten (einer für jede Prioritätsebene) könnte zusammen angepasst (als ein Satz inkrementiert oder dekrementiert) werden, oder ein C-Wert könnte für jede Prioritätsebene unabhängig angepasst werden.
-
3 stellt ein Beispiel dafür dar, wie freie Zeiten zwischen Rahmen (IFITs) basierend auf Zurückhaltewert-Bestimmungen auftreten. Wenn N Quellen während der gleichen belegten Periode einen Rahmenstart anstehen haben und N CW-Zurückhaltewerte wählen, kann die erwartete Differenz zwischen aufeinander folgenden Zurückhaltewerten näherungsweise als C geteilt durch N angenommen werden. Dies kann jedoch abhängig von der Zeitsteuerung der Rahmenankünfte unterschiedlich sein. Wenn diese Quellen keine neu anstehenden Rahmen haben, dann wäre die Durchschnittszahl der anstehenden Rahmen N/2. Es kann daher die mittlere Zahl verwendet werden. Die Offenbarung verwendet somit ein Maß der aktuellen freien Zeit zwischen Rahmen (IFIT), b, und das aktuelle C, um die mittlere Zahl der kontinuierlich gleichzeitig anstehenden Quellen N zu schätzen, da im Allgemeinen, selbst wenn diese gleichzeitig anstehenden Quellen Rahmen, die gesendet werden, eventuell nicht kontinuierlich mit neuen anstehenden Rahmen ersetzen, andere Quellen möglicherweise in der Zwischenzeit Rahmen anstehen haben. Bei dem exemplarischen Ausführungsbeispiel wird somit N durch Teilen von C durch das Doppelte der durchschnittlichen (oder erwarteten) IFIT b geschätzt. Es sei bemerkt, dass der durch andere Stationen verwendete C-Wert im Allgemeinen unbekannt ist. Der bei der vorhergehenden Operation verwendete C-Wert ist somit der Wert, der durch die Station (die Quelle) selbst verwendet wird.
-
Die Zahl der Stationen U in der Nähe einer Quelle oder innerhalb des Bereichs dieser Quelle kann ebenfalls ein Indikator der Zahl der gleichzeitig anstehenden Quellen N sein. Der Wert N muss kleiner oder gleich U sein (da maximal alle Stationen Rahmen bereit haben können, um diese zu der gleichen Zeit zu senden). U kann somit als eine obere Begrenzung des Schätzwerts von N verwendet sein. Bei einem exemplarischen Ausführungsbeispiel wird U durch Beobachten der eindeutigen MAC-Adressen in Rahmen, die von anderen Quellen empfangen werden, vor einem Ausfiltern derjenigen, die nicht für den Empfänger vorgesehen sind, bestimmt. Da sich Sendungen über eine Zeit erstrecken, sollte die Vielfalt der Quellen über eine Zeitperiode vor der aktuellen Zeit oder eine Zahl jüngst empfangener Rahmen beobachtet werden. Die Station sollte ferner sich selbst zählen. Wegen dieser Verwendung der MAC-Adressen sollten diese Adressen ferner eindeutig sein und sich nicht schneller als die Rate der Beobachtung ändern. Andere Adressen, wie IP-Adressen oder Mobilstationskennzeichnungen, könnten alternativ verwendet sein. Andere Verfahren zum Bestimmen von U sind durch diese Offenbarung ebenfalls in Betracht gezogen.
-
Da die Zeit zwischen zwei aufeinander folgend anstehenden Rahmen, die durch die gleiche Quelle gesendet werden (d. h. nicht notwendigerweise aufeinander folgende Rahmen in dem Medium), von der Wettbewerbseinrichtung abhängt, ist L, die Zahl der Rahmen, die in dieser Zeit durch andere Quellen (zwischen denselben) gesendet werden, ebenfalls ein Indikator für N, der Zahl der gleichzeitig anstehenden Quellen, und L wird im Allgemeinen größer oder gleich N sein. L kann bei der Erfindung somit als eine untere Begrenzung des Schätzwerts von N verwendet sein. 5 ist ein Diagramm, das dieses exemplarische Verfahren zum Bestimmen einer unteren Begrenzung L darstellt. Bei dem Beispiel ist L = 2, da es zwischen den aufeinander folgenden Rahmen von STA 1 zwei Rahmen gibt.
-
Wenn eine Station unmittelbar nach dem Senden eines Rahmens keinen anderen Rahmen bereit hat, dann kann ein alternatives Verfahren verwendet werden. Bei einem exemplarischen alternativen Verfahren wird der Wert von L durch Beobachten der Zahl der Rahmen berechnet, die während einer Zeit gesendet werden, in der eine zurückhaltende Station die durchschnittliche Zurückhalteverzögerung (z. B. (C – 1)/2) anhäufen würde, da die Station, wenn dieselbe unmittelbar aufeinanderfolgende (engl.: back-to-back) Rahmen anstehen hätte, zwischen einem Senden derselben durchschnittlich so lange warten kann. Die beobachtende Station würde 1 addieren, um sich selbst Rechnung zu tragen. Dieses Verfahren kann allgemein verwendet werden oder lediglich, wenn die Station unmittelbar nach dem Senden keinen anderen Rahmen bereit hat. Alternativ könnten dann, wenn bekannt ist, dass eine andere Station ständig Rahmen anstehen hat, andere Stationen die Zahl der Rahmen, die zwischen den aufeinander folgenden Rahmen derselben gesendet werden, beobachten, um L zu erhalten (und 1 hinzufügen, um dieser Station Rechnung zu tragen).
-
Obwohl die vorhergehenden zwei Verfahren für eine obere und eine untere Begrenzung verwendet sein können, kann alternativ eines oder das andere allein verwendet sein. Beispielsweise kann die obere Begrenzung als eine Funktion der unteren Begrenzung bestimmt sein oder umgekehrt. Bei einem Ausführungsbeispiel wurde die obere Begrenzung als 1,5 mal die untere Begrenzung berechnet. Bei einem anderen Ausführungsbeispiel wurde die untere Begrenzung als 2/3 der oberen Begrenzung berechnet. Dies kann nützlich sein, wenn eine oder die andere Beobachtung nicht verfügbar ist. Es kann ferner nützlich sein, die untere Begrenzung L nach oben zu verschieben, um eine kurzfristige Variation auszugleichen und die Konvergenzrate zu erhöhen. Bei einem Ausführungsbeispiel wurde die untere Begrenzung um einen Faktor 1,25 oder 1,5 nach oben verschoben, jedoch so, um U nicht zu überschreiten. Bei dem exemplarischen Ausführungsbeispiel werden sowohl L als auch U unter Verwendung gleitender Durchschnitte oder einer letzten Zahl von Stichproben geglättet. Bei einem Fall wurde beispielsweise U basierend auf Beobachtungen über 1 Sekunde berechnet, und L basierte auf einem Durchschnitt von Beobachtungen über etwa 100 Rahmen. Es wird vorgeschlagen, dass die Rate oder Periode einer Beobachtung der Dynamik der Situation (Mobilität der Stationen, Änderung der Quantität der sendenden Stationen etc.) entsprechen sollte und basierend auf der Dynamik angepasst werden könnte.
-
Die Basis für das im Vorhergehenden beschriebene exemplarische Ausführungsbeispiel ist im Folgenden dargelegt. Es seien N gleichzeitig anstehende Quellen betrachtet, die N Zurückhaltewerte in dem Bereich [0, C–1] bestimmen. Diese Zurückhaltewerte seien als x ^C,N = [x1, ..., xN] bezeichnet. Wenn n = 2N Quellen während der gleichen belegten Periode ein Zurückhalten mit Zufallswerten zwischen 0 und C – 1 freien Zeitschlitzen starten, dann ist die erwartete mittlere Zahl von anstehenden Rahmen über die nächsten C – 1 freien Zeitschlitze (aufeinander folgend oder nicht) N, oder E{N} = n / 2. (1-1)
-
Die mittlere Zahl von anstehenden Rahmen über eine gegebene Zeit kann somit auf die Anfangsbedingung einer gegebenen Zahl von anstehenden Rahmen bezogen werden. Da die Startzeiten streuen können und die Zufallswerte gleichmäßig verteilt sind, kann die mittlere Zahl von gleichzeitig anstehenden Rahmen für einen kontinuierlichen Betrieb auf die äquivalente Zahl, wenn alle das Zurückhalten zu der gleichen Zeit gestartet hätten, bezogen werden.
-
Wenn jede i von N gleichzeitig anstehenden Quellen vor dem Senden des bei dieser Quelle anstehenden Rahmens auf x
i freie Zeitschlitze, die keine Rahmenzwischenabstände (IFS) beinhalten, wartet, dann kann die erwartete Dauer einer freien Zeit zwischen Rahmen, die keine Rahmenzwischenabstände (IFS) beinhaltet, näherungsweise als
bestimmt werden, wobei E{b} die erwartete freie Zeit zwischen Rahmen (IFIT) ist.
-
Die Zahl von gleichzeitig anstehenden Rahmen N kann die Zahl von Stationen U nicht überschreiten,
-
Wenn eine Quelle mit kontinuierlich gleichzeitig anstehenden Rahmen zwischen Sendungen der eigenen Rahmen derselben Rahmen von L eindeutigen Quellen mit kontinuierlich gleichzeitig anstehenden Rahmen empfängt, dann kann im Allgemeinen N nicht kleiner als L + 1 sein,
-
Dies liegt daran, dass in dem schlechtesten Fall die beobachtende Station das längste Zurückhalten wählt und N – 1 Stationen vor der beobachtenden Station senden werden.
-
Ein Beobachter der freien Zeit zwischen Rahmen (IFIT), d. h. E{b}, die keinen Rahmenzwischenabstand (IFS) beinhaltet, kann N basierend auf dem Wert von C, der verwendet wurde, durch Lösen der Gleichung (2-1) bestimmen und den Schätzwert durch U und L gemäß den Gleichungen (2a-1) und (2b-1) eingrenzen. Der Algorithmus kann ferner ein Filter zum Bestimmen von N verwenden.
-
Bei einem Ausführungsbeispiel können die obere und die untere Begrenzung von N auf den Schätzwert N' angewandt werden. Alternativ könnten die Begrenzungen auf ein gefiltertes N', das auf der freien Zeit zwischen Rahmen (IFIT) b basiert, angewandt werden. Alternativ könnte die eine der Begrenzungen vor dem Filtern und die andere danach angewandt werden. Im Folgenden sind beispielsweise die oberen Begrenzungen vor dem Filtern und die unteren Begrenzungen nach dem Filtern angewandt. Bei dem Beispiel ist der Wert auf die nächste ganze Zahl aufgerundet (bei dem bevorzugten Ausführungsbeispiel nach oben verschoben), da es eine ganzzahlige Anzahl von Stationen geben muss. N'(t + 1) = ceil(max(L, kN'(t – 1) + (1 – k)min(N, U)))
-
Bei einem Ausführungsbeispiel wurde diese Kombination eines IIR-Filters und von Begrenzungen mit einem Koeffizienten k = 0,8333 verwendet (d. h. es wurde (1 – k) = 1/6 verwendet).
-
Wenn N gleichzeitig anstehende Quellen N Zurückhaltezeiten jeweils innerhalb des Bereichs [0, C – 1] als unabhängige und gleichmäßige Zufallsvariable bestimmen, dann beträgt die Wahrscheinlichkeit, dass zwei oder mehr Werte gleich sind,
-
Der Wert von p ist die Wahrscheinlichkeit einer Kollision (einer oder mehrerer mit jeweils zwei oder mehr Rahmen) über die nächsten C – 1 freien Zeitschlitze. Im Vorhergehenden wurde die Standard-Klammernform verwendet, um die Zahl von Weisen eines Wählen von j von i eindeutigen Elementen eines Satzes darzustellen:
-
Der Wert von C, der für eine spezifische Kollisionswahrscheinlichkeit p erforderlich ist, kann aus der Zahl von gleichzeitig anstehenden Quellen N näherungsweise als C ≅ N(N – 1) / 2ln(1 – p) (4-1) bestimmt werden.
-
Sobald N bestimmt wurde und eine gewünschte Kollisionswahrscheinlichkeit p bestimmt ist, kann ein für C zu verwendender Wert unter Verwendung von (4-1) oder einer zweckmäßigeren Form
bestimmt werden, wobei der Koeffizient α einmal berechnet werden kann, wenn sich p nicht ändert:
-
Bei einem Ausführungsbeispiel war p = 0,2 und α somit etwa 2,24. Bei einem anderen war p = 0,4 und α somit etwa 1.
-
Der Algorithmus kann dann den C-Wert bei der Quelle einstellen oder den aktuellen C-Wert (beispielsweise in Inkrementen von Potenzen von 2) hin zu dem bestimmten C-Wert inkrementieren oder dekrementieren. Der Algorithmus kann den C-Wert ebenfalls durch obere und untere Grenzen begrenzen.
-
Die Wahrscheinlichkeit eines gegebenen Satzes von unabhängigen Variablen beträgt
-
Die mittlere Zahl von anstehenden Rahmen über ein Intervall [0, C – 1] beträgt
-
Die zweidimensionale Summe vereinfacht sich zu einer eindimensionalen Summe in der x-Dimension:
-
Die erwartete mittlere Zahl von anstehenden Rahmen über ein Intervall [0, C – 1] ist durch die mehrdimensionale Summe
gegeben. Ein Einsetzen von vorhergehenden Gleichungen ergibt
-
Ein Neuordnen der Summierungen, um über x
i symmetrisch zu sein, ergibt eine generische Summierung
-
Ein Ersetzen der Summe der endlichen Reihe ergibt E{N} = n / 2. (1-1)
-
Die Differenz zwischen dem k + 1-ten und dem k-ten kürzesten Zurückhaltewert bestimmt die k-te freie Zeit zwischen Rahmen, die durch
b(k) = mink+1(x ^) – mink(x ^) gegeben ist, wobei der Index der Minimumfunktion das k-te Minimum anzeigt. Der erwartete Wert der freien Zeit zwischen Rahmen ist
-
Anwenden der Transformation über den Raum [0, C – 1], f(k) = rem(k – q, C - 1), um eine (q + 1)-te Zurückhaltedifferenz zu der 1-ten zu verschieben: f(q + 1) = 1 q ∊ I, C ≥ 1
-
-
Durch Symmetrie des gleichmäßigen Zufalls-Zurückhaltewertbereichs [0, C – 1]: E{b(k)} = E{b(n + 2 – k)} ∀1 ≤ k ≤ n – 1
-
Die Kombination dieser Beziehungen ergibt ein Resultat unabhängig von k,
E{b(k)} = E{b(l)} ∀1 ≤ k,l ≤ n – 1, und motiviert das Weglassen des Index k von b. Die Summe der n – 1 Zurückhalte-Differenzen plus dem Wert des kleinsten Zurückhaltewerts plus der Differenz zwischen C und dem größten Zurückhaltewert muss gleich C sein:
-
Durch Symmetrie des gleichmäßigen Zufalls-Zurückhaltewertbereichs [0, C – 1]: E{min(k)} = C – 1 – E{max(x ^)}
-
Somit gilt: (n – 1)E{b} + 2E{min(x ^)} = C – 1
-
Auflösen nach dem erwarteten b-Wert:
-
Der erwartete Wert des kleinsten Zurückhaltewerts ist:
-
Ein Teilen der mehrdimensionalen Summe in drei Teile, mit (1) alle Quellen haben Werte in dem Bereich [0, C – 2], (2) alle Permutationen von] Quellen haben einen Wert C – 1, während alle anderen Werte [0, C – 2] haben, und (3) alle Werte sind C – 1, ergibt:
-
Die Argumente der Minimumfunktion in dem zweiten Teil wurden vereinfacht, da der maximale mögliche Wert C – 1 ist. Die Wahrscheinlichkeit der Zurückhaltewerte in dem Unterraum mit allen Dimensionen [0, C – 1] kann hinsichtlich der kleineren Teilräume, in denen alle Dimensionen [0, C – d], d > 0 sind, ausgedrückt werden:
-
-
Die Summierungen in den ersten zwei Teilen motivieren eine rekursive Formel,
die analytisch gelöst werden kann, wobei die iterative Basis durch
E{min(x ^l,n)} = 0 und
gegeben ist. Die Multiplikatoren in dem dritten Teil und dieselben in dem zweiten Teil sind jedoch bezüglich des ersten Terms für ein großes n wegen des Divisorexponenten von C klein. Dennoch gilt für C >> n > 1:
Somit gilt:
E{bC,n} ≅ C – 1 / n – 1
-
Ein Ausdrücken der Erwartung in Form der durchschnittlichen Zahl von gleichzeitig anstehenden Rahmen ergibt: E{b} ≅ C – 1 / 2E{N} – 1
-
Es sei bemerkt, dass, wenn eine weitere Vereinfachung motiviert ist, für große Werte Folgendes gilt: E{b} ≅ C / 2E{N} oder
-
-
Die Wahrscheinlichkeit eines gegebenen Zurückhaltewerts ist durch die gleichmäßige Zufallsauswahl P{xi = x} = 1 / C gegeben.
-
Um eine Kollision zu vermeiden, müssen alle N Quellen unterschiedliche Zurückhaltewerte auswählen, oder xi ≠ xj ∀i ≠ j.
-
Die Zahl von Kombinationen von Zurückhaltewerten ist C
N, und die Zahl von Kombinationen von N Quellen, die unterschiedliche Zurückhaltewerte auswählen, ist die Zahl von Weisen, N von C Werten auszuwählen, und die Permutationen jeder derselben. Die Wahrscheinlichkeit einer Kollision beträgt somit:
-
Ein Umordnen und eine Verwendung des natürlichen Logarithmus ergibt:
-
Ein Einsetzen der Stirling-Näherung für eine Fakultät
und ein Vereinfachen ergibt:
-
Ein Erweitern des natürlichen Logarithmus auf der rechten Seite mit einer unendlichen Reihe ergibt:
-
Ein Erweitern auf drei Summierungen und Kürzen des N-Terms bei der ersten ergibt:
-
Ein Verschieben des Index bei der ersten, um die erste und die zweite Summierung zu kombinieren, ergibt:
-
Ein Kombinieren der zwei Summierungen ergibt:
-
Die Terme seien als
definiert. Die Größe innerhalb der dritten Klammer wird für einen Term i = j mit
j = 2N – 1 null sein. Vorhergehende Terme werden negativ sein, und anschließende Terme werden positiv sein. Die Größe dieser Terme erfüllt
wobei
-
Die Terme der Summierung erfüllen daher
|ai| ≤ hi, wobei
-
Ein Betreiben eines Systems bei N > C würde in einer Kollision resultieren und motiviert somit N < C für einen angemessenen Betriebspunkt. Eine Ableitung der Begrenzungen hinsichtlich i ergibt:
-
Eine Begrenzung des Vorhergehenden ist
wobei
-
Da sich die obere Begrenzung der Größe der Terme mit einer schnelleren Rate als eine Verringerungsrate, die zu dem Term der oberen Begrenzung selbst proportional ist, verringert, motiviert dies eine Näherung durch den ersten Term: ln(1 – p) ≅ – N(N – 1) / 2C
-
Ein Auflösen nach C ergibt: C ≅ – N(N – 1) / 2ln(1 – p)
-
Es sei bemerkt, dass wenn eine weitere Vereinfachung motiviert ist, p für N > 1 als eine verschobene Normalverteilung dargestellt werden kann:
-
-
Eine zweckmäßige Form für einen Algorithmus ist C ≅ αN2. (4-2.1)
-
Da der Koeffizient einmal berechnet werden kann, wenn sich p nicht ändert: α = – 1 / 2ln(1 – p) (4-2.2)
-
Die vorhergehende Beschreibung ist lediglich exemplarischer Natur und soll die vorliegende Offenbarung, eine Anwendung oder Verwendungen nicht begrenzen.