-
Diese
Erfindung betrifft drahtlose Netze und insbesondere ein Warteschlangenverfahren
und -system für
drahtlose Router bzw. LAN-Router.
-
Die Übermittlung
von textbasierten Mitteilungen (d.h. Datenpaketen) von einer Sendevorrichtung zu
einer oder mehreren Empfangsvorrichtungen über ein drahtloses LAN, wie
beispielsweise aus
US6134432 bekannt,
bringt besondere Herausforderungen mit sich. Typischerweise wird
die Mitteilung durch eine drahtlose Überleiteinrichtung geleitet,
wo sie vorübergehend
gespeichert wird, bis sie zu einem Server für elektronische Post des Datennetzes
gesendet und in diesem gespeichert worden ist. Daraufhin sind Empfangsvorrichtungen
in der Lage, nach Bedarf gespeicherte Mitteilungen aus dem Server
für elektronische
Post abzurufen. Die Geschwindigkeit, mit der elektronische Mitteilungen
von einer Sendevorrichtung zu einer Empfangsvorrichtung gesendet werden,
hängt teilweise
davon ab, wie effizient Datenpakete von einer sendenden Mobilvorrichtung durch
drahtlose Kommunikationsnetze zu einem Server für elektronische Post transportiert
werden.
-
Wenn
eine drahtlose Überleiteinrichtung
ein Datenpaket über
ein drahtloses Netz von einer Mobilvorrichtung empfängt, wird
das empfangene Datenpaket zu einem Zielserver für elektronische Post gesendet.
Um jedoch sicherzustellen, dass das Datenpaket erfolgreich zum Zielserver
für elektronische Post
gesendet wird und nicht zwischenzeitlich verloren geht, speichert
die drahtlose Überleiteinrichtung im
Allgemeinen das Datenpaket in einer internen permanenten Speichervorrichtung
(z.B. einem Datenbankserver oder einem Dateisystem), bevor das Datenpaket
gesendet wird. Typischerweise wartet die drahtlose Überleiteinrichtung,
bis die permanente Speichervorrichtung die Speicherung des Datenpakets
bestätigt,
bevor zur Verarbeitung des Datenpakets übergegangen wird oder sogar
eine Bestätigung des
Empfangs des Datenpakets zurück
zur Mobilvorrichtung gesendet wird. Diese Art von Speicherverfahren
verlangsamt die Verarbeitung von Datenpaketen im Router merklich.
-
Die
Erfindung schafft in einem Gesichtspunkt ein Verfahren zur Verarbeitung
und Leitung eines Datenpakets von einem drahtlosen Mobilnetz zu
einem Zielserver, wobei das Verfahren folgende Schritte umfasst:
- (a) Empfangen des ankommenden Datenpakets von
dem drahtlosen Mobilnetz;
- (b) Initiieren der Speicherung des Datenpakets in einer permanenten
Speichervorrichtung basierend auf einer Warteschlange des permanenten Speichers;
- (c) gleichzeitige Übermittlung
des Datenpakets zum Zielserver basierend auf einer Hauptwarteschlange;
- (d) Ermitteln, ob der Zielserver den Empfang des Datenpakets
bestätigt
hat; und
- (e) Abbrechen der Speicherung des Datenpakets in der permanenten
Speichervorrichtung, wenn der Zielserver den Empfang des Datenpakets
bestätigt
hat und wenn die Speicherung des Datenpakets nicht vollendet wurde.
-
In
einem anderen Gesichtspunkt schafft die vorliegende Erfindung ein
System zur Verarbeitung und Leitung eines ankommenden Datenpakets
von einem drahtlosen Mobilnetz zu einem Zielserver, wobei das System
Folgendes umfasst:
- (a) ein drahtloses Transportmodul
zum Empfang des ankommenden Datenpakets von dem drahtlosen Mobilnetz;
- (b) eine permanente Speichervorrichtung, die dem drahtlosen
Transportmodul zugeordnet ist, und das Datenpaket zu speichern,
bis der Zielserver den Empfang des Datenpakets bestätigt;
- (c) eine Datenbankkette, die dem drahtlosen Transportmodul zugeordnet
ist und dafür
ausgelegt ist, die Vorgänge
zu verwalten, die an dem Datenpaket ausgeführt werden, und die Speicherung
des Datenpakets in einer permanenten Speichervorrichtung basierend
auf einer Warteschlange des permanenten Speichers zu initiieren;
- (d) eine Hauptkette, die dem drahtlosen Transportmodul zugeordnet
ist, um das Datenpaket dem Zielserver basierend auf einer Hauptwarteschlange
gleichzeitig zu übermitteln,
- (e) wobei das drahtlose Transportmodul dafür ausgelegt ist, zu ermitteln,
ob der Zielserver den Empfang des Datenpakets bestätigt hat,
und die Speicherung des Datenpakets in der permanenten Speichervorrichtung
abzubrechen, wenn der Zielserver den Empfang des Datenpakets bestätigt hat
und wenn die Speicherung des Datenpakets nicht vollendet wurde.
-
In
einem anderen Gesichtspunkt schafft die vorliegende Erfindung ein
computerlesbares Medium, in dem ein Anweisungssatz gespeichert ist,
wobei der Anweisungssatz, wenn er ausgeführt wird, die Schritte ausführt, die
Folgendes umfassen:
- (a) Empfangen eines ankommenden
Datenpakets von einem drahtlosen Mobilnetz;
- (b) Initiieren der Speicherung des Datenpakets in einer permanenten
Speichervorrichtung basierend auf einer Warteschlange des permanenten Speichers;
- (c) gleichzeitige Übermittlung
des Datenpakets zum Zielserver basierend auf einer Hauptwarteschlange;
- (d) Ermitteln, ob der Zielserver den Empfang des Datenpakets
bestätigt
hat; und
- (e) Abbrechen der Speicherung des Datenpakets in der permanenten
Speichervorrichtung, wenn der Zielserver den Empfang des Datenpakets
bestätigt
hat und wenn die Speicherung des Datenpakets nicht vollendet wurde.
-
Weitere
Gesichtspunkte und Vorteile der Erfindung werden aus der folgenden
Beschreibung zusammen mit den beigefügten Zeichnungen ersichtlich.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
In
den beigefügten
Zeichnungen:
-
ist 1 eine
schematische Zeichnung einer Ausführungsform der drahtlosen Überleiteinrichtung der
vorliegenden Erfindung und der umgebenden Netzumgebung;
-
ist 2 eine
schematische Zeichnung der Datenbankkette, die die Warteschlange
des permanenten Speichers verwaltet, die in dem drahtlosen Transportmodul
implementiert ist und zur Speicherung von Datenpaketen in der permanenten
Speichervorrichtung aus 1 verwendet wird;
-
ist 3 ein
Ereignisabfolgeplan, der den typischen Datenfluss eines Datenpakets
zeigt, das durch das drahtlose Anschlusssystem aus 1 von einer
Mobilvorrichtung zu einem Zielserver für elektronische Post gesendet
wird;
-
ist 4 eine
Darstellung einer Maschine endlicher Zustände der Funktionalität der Datenbankkette
aus 2; und
-
ist 5 eine
schematische Zeichnung, die ein Beispiel einer Warteschlange des
permanenten Speichers veranschaulicht, die zur Speicherung von Datenpaketvorgängen in
der permanenten Speichervorrichtung aus 1 verwendet
wird.
-
BESCHREIBUNG
BEVORZUGTER AUSFÜHRUNGSFORMEN
-
1 veranschaulicht
die Hauptelemente einer drahtlosen Überleiteinrichtung 10,
die gemäß einer
bevorzugten Ausführungsform
der Erfindung gebaut ist. Insbesondere ist die drahtlose Überleiteinrichtung 10 dafür ausgelegt,
Datenpakete 15, die über
das drahtlose Mobilnetz 16 von einer mobilen Datenkommunikationsvorrichtung 14 empfangen wurden,
durch ein drahtloses Anschlusssystem 20 zu einem Zielserver 18 für elektronische
Post zu leiten. Insbesondere ermöglicht
das drahtlose Kommunikationsnetz 10 eine effizientere Leitung
von Datenpaketen 15 (d.h. Mitteilungen) von der Mobilvorrichtung 14 durch
die drahtlose Überleiteinrichtung 10 zum
Zielserver 18 für
elektronische Post, während
nach wie vor ein hoher Grad an Datenpaketsicherheit bereitgestellt
wird.
-
Die
Mobilvorrichtung 14 ist jede beliebige im Handel erhältliche
mobile Datenkommunikationsvorrichtung, die dafür ausgelegt ist, Datenpakete 15 zum drahtlosen
Mobilnetz 16 (z.B. Standard IEEE 802.11) oder zu jedem
beliebigen anderen Drahtlosprotokoll für die drahtlose Kommunikation
zu senden. Bei einer bevorzugten Ausführungsform ist die Mobilvorrichtung 14 eine
drahtlose Zwei-Weg-Personenrufhandvorrichtung,
jedoch könnte
die Mobilvorrichtung 14 alternativ jeder beliebige andere
Typ von Mobilkommunikationsvorrichtung sein, der in der Lage ist,
Mitteilungen über
ein drahtloses Mobilnetz 16 zu senden und zu empfangen,
wie beispielsweise Zwei-Weg-Personenrufcomputer, persönliche digitale
Assistenten (PDAs), tragbare elektronische Mitteilungsvorrichtungen,
Mobiltelefone oder E-Mail-Handklientgeräte.
-
Das
drahtlose Mobilnetz 16 ist vorzugsweise ein drahtloses
Paketdatennetz (z.B. MobitexTM oder DataTACTM), das eine Funkabdeckung für Mobilvorrichtungen 14 bereitstellt und
begrenzte Bandbreitenfähigkeiten
aufweist, obwohl es sich um einen von beliebigen anderen Typen von
im Handel erhältlichen drahtlosen
Netzen handeln könnte.
Abhängig
vom Typ des verwendeten drahtlosen Mobilnetzes 16 kann
es erforderlich sein, unter Verwendung eines Zwischenleitmechanismus,
der TCP-Klienten Zugriff auf eine X.25-Verbindung bereitstellt,
Datenpakete 15 von einer Verbindung einer drahtlosen TCP-Überleiteinrichtung 10 zu
einer X.25- oder IP-Adressenmobilnetzverbindung zu leiten und umgekehrt.
Wie bekannt ist, könnte
ein derartiger drahtloser Mechanismus NET ID (DataTAC) oder FST
MAN (Mobitex) verwenden, um mit dem drahtlosen Mobilnetz 16 eine Verbindung
herzustellen.
-
Die
drahtlose Überleiteinrichtung 10 bildet eine
Verbindung oder Brücke
zwischen den Servern und den drahtlosen Netzen, die zu einer drahtlosen E-Mail-Kommunikation
gehören.
Insbesondere ist die drahtlose Überleiteinrichtung 10 zwischen
dem drahtlosen LAN 16 und dem festverdrahteten Datennetz
gekoppelt, das ein drahtloses Anschlusssystem 20 und einen
Zielserver 18 für
elektronische Post umfasst. Die drahtlose Überleiteinrichtung 10 umfasst eine
permanente Speichervorrichtung 22 und ein drahtloses Transportmodul 24.
-
Die
permanente Speichervorrichtung 22 kann mit Hilfe jedes
beliebigen im Handel erhältlichen Datenbankservers
mit der geeigneten Geschwindigkeit und Speicherkapazität implementiert
werden. Die permanente Speichervorrichtung 22 enthält Systemkonfigurationsinformationen,
Systemzustandsdaten und Tabellen, die Informationen der Mobilvorrichtung 14 speichern.
-
Das
drahtlose Transportmodul 24 bildet die Schnittstelle zwischen
der Mobilvorrichtung 14 und der drahtlosen Überleiteinrichtung 10.
Insbesondere kommuniziert das drahtlose Transportmodul 24 mit dem
drahtlosen Mobilnetz 16 unter Verwendung des oben erörterten
Zwischenleitmechanismus (stellt TCP-Klienten Zugriff auf eine X.25-
oder UDP-Verbindung bereit) und setzt Datenpakete 15 zusammen,
die über
das drahtlose Mobilnetz 16 von der Mobilvorrichtung 14 empfangen
werden. Sobald die Datenpakete 15 zusammengesetzt sind,
werden sie zur oberen Schicht des drahtlosen Transportmoduls 24 zur
gleichzeitigen Speicherung in der permanenten Speichervorrichtung 22 und
zur Verarbeitung durch die drahtlose Überleiteinrichtung 10 zum
drahtlosen Anschlusssystem 20 und schließlich zur
Zielüberleiteinrichtung 18 für elektronische
Post gesendet.
-
Das
drahtlose Anschlusssystem 20 ist Teil des verdrahteten
Fernnetzes und ist mit der drahtlosen Überleiteinrichtung 10 gekoppelt.
Das drahtlose Anschlusssystem 20 kommuniziert mit der drahtlosen Überleiteinrichtung 10 und
mit jedem Server für elektronische
Mitteilungen, der mit der drahtlosen Überleiteinrichtung als eindeutige
Adresse, die als UDO oder SRP ID bezeichnet wird, eine Verbindung herstellt.
-
Der
Zielserver 18 für
elektronische Post ist mit dem drahtlosen Anschlusssystem 20 gekoppelt und
ist ein herkömmlicher
Server für
elektronische Post (z.B. Exchange Server, hergestellt von Microsoft in
Seattle, Washington). Es versteht sich, dass jeder beliebige andere
im Handel erhältliche
Server für elektronische
Post innerhalb der drahtlosen Überleiteinrichtung 10 verwendet
werden könnte.
Zum Zweck der Veranschaulichung wurde nur der Zielserver 18 für elektronische
Post als mögliches
Ziel erörtert,
obwohl ersichtlich ist, dass das erfinderische Verfahren der drahtlosen Überleiteinrichtung 10 auf unterschiedliche
Typen von Zielvorrichtungen und Kommunikationsdiensten (z.B. Wetterdienste,
Nachrichtendienste, Aktiennotierungsdienste usw.) angewendet werden
kann.
-
Wenn
die drahtlose Überleiteinrichtung 10 vom
drahtlosen Mobilnetz 16 ein Datenpaket 15 empfängt, leitet
das drahtlose Transportmodul 24 unter Bezugnahme auf 1 und 2 gemäß dem Warteschlangenverfahren
der vorliegenden Erfindung das Datenpaket zum Server 18 für elektronische
Post (Pfad A in 1), während das Datenpaket 15 gleichzeitig
in die permanente Speichervorrichtung 22 geschrieben wird
(Pfad B in 1). Diese beiden Vorgänge werden
unter Verwendung separater, jedoch gleichzeitig ausgeführter Rechenketten
parallel durchgeführt.
Insbesondere wird eine Datenbankkette verwendet, um das Datenpaket 15 in
die permanente Speichervorrichtung 22 zu schreiben, und
eine Hauptkette wird verwendet, um das Datenpaket 15 zum
Zielserver 18 weiterzuleiten.
-
Die
Hauptkette wird verwendet, um das Datenpaket 15 durch das
drahtlose Anschlusssystem 20 zum Zielserver 18 für elektronische
Post weiterzuleiten. Die Hauptkette verwaltet den Transport von Datenpaketen 15 zum
Zielserver 18 für
elektronische Post unter Verwendung einer Hauptwarteschlange. In
vielen Fällen
kann die drahtlose Überleiteinrichtung 10 unter
Verwendung der Hauptkette ein Datenpaket schneller zu einer Zieladresse
(z.B. einem Zielserver 18 für elektronische Post) leiten
als sie das Datenpaket in die permanente Speichervorrichtung 22 schreiben
kann. In solchen Fällen
erreicht das Verfahren der vorliegenden Erfindung einen effizienteren
Durchfluss des Datenpakets 15 durch die drahtlose Überleiteinrichtung 10,
da es nicht erforderlich ist, der Speicherung des Datenpakets 15 in
der permanenten Speichervorrichtung 22 Verarbeitungszeit zu
widmen.
-
Die
Datenbankkette, die in 2 gezeigt ist, wird zur Verwaltung
und Koordination der Speicherung von Datenpaketen 15 in
der permanenten Speichervorrichtung 22 verwendet. Die Datenbankkette verwaltet
die Speicherung der Datenpakete 15 in der permanenten Speichervorrichtung 22 unter
Verwendung einer Warteschlange des permanenten Speichers. Individuelle
Arbeitsketten (nicht gezeigt) sind den drei grundlegenden Vorgängen zugeordnet,
die an den Datenpaketen 15 durchgeführt werden, und zwar "Einfügen", "Aktualisieren" und "Löschen". Wenn die drahtlose Überleiteinrichtung 10 von
der Mobilvorrichtung 14 eine Mitteilung empfängt, wird ein "Einfügungsvorgang" eingegeben. Wenn
der Endpunkt der Überleitung
(d.h. der Verbindungspunkt) innerhalb der drahtlosen Überleiteinrichtung 10 lokalisiert
wurde, wird die Mitteilung unter Verwendung des "Aktualisierungsvorgangs" in der permanenten
Speichervorrichtung 22 aktualisiert, um die Leitinformationen
innerhalb der drahtlosen Überleiteinrichtung 10 wiederzuspiegeln.
Die Leitdaten der drahtlosen Überleiteinrichtung 10 werden
im Fall eines Komponentenausfalls oder einer Arbeitsneuverteilung
gespeichert. Wenn das drahtlose Anschlusssystem 20 eine "Empfangsbestätigungsmitteilung" empfängt, wird
ein "Löschen"-Vorgang eingegeben.
-
Die
Datenbankkette verfolgt (und aktualisiert nach Bedarf) den Vorgang,
der an dem Datenpaket durchgeführt
wird und wirkt als intelligenter Puffer zwischen dem drahtlosen
Transportmodul 24 und der permanenten Speichervorrichtung 22.
Zu jedem beliebigen Zeitpunkt liegt höchstens ein einziger ausstehender
Vorgang vor. Es wird darauf hingewiesen, dass das Datenpaket 15 zusammen
mit dem zugehörigen
Warteschlangeneintrag innerhalb der Datenbankkette vor Ort (d.h.
innerhalb der drahtlosen Überleiteinrichtung 24)
bearbeitet wird, um Speicherplatz und CPU-Mehraufwand zu verringern,
wenn ein "Aktualisierungsvorgang" empfangen wird,
der auf den anfänglichen "Einfügungsvorgang" folgt. Wenn des
Weiteren ein "Aktualisierungsvorgang" eingegeben wird,
bevor der "Einfügungsvorgang" stattfinden kann,
wird das einzufügende
Datenpaket 15 geändert,
um die gegenwärtige
Aktualisierung wiederzuspiegeln. Der "Einfügungsvorgang" fährt daraufhin auf
normale Weise fort. Wenn ein "Aktualisierungsvorgang" eingegeben wird,
nachdem der "Einfügungsvorgang" vollendet wurde,
wird der "Aktualisierungsvorgang" zur Warteschlange
des permanenten Speichers gesendet. Wenn der "Löschvorgang" eingegeben wird,
bevor ein "Aktualisierungsvorgang" stattfinden kann,
wird der "Aktualisierungsvorgang" aus der Warteschlange
des permanenten Speichers entfernt und durch den "Löschvorgang" ersetzt. Demgemäß spiegelt der Arbeitszustand
in der Warteschlange den gegenwärtigen
Zustand bzw. Vorgang der Mitteilung wieder. Dadurch kann die drahtlose Überleiteinrichtung 10 Datenmitteilungen
effizienter verarbeiten, da keine Speicherung von zusätzlichen Vorgängen vorgenommen
wird, wie es normalerweise der Fall ist.
-
3 ist
ein Ereignisablaufplan, der einen beispielhaften Datenfluss des
Datenpakets 15 veranschaulicht, das von der Mobilvorrichtung 14 zum
Zielserver 18 für
elektronische Post gesendet wird.
-
Insbesondere
wird das Datenpaket 15 bei (100) von der Mobilvorrichtung 14 zum
drahtlosen Transportmodul 22 gesendet. Bei (102) initiiert
das drahtlose Transportmodul 24 die Speicherung des Datenpakets 15 in
einer Tabelle innerhalb der permanenten Speichervorrichtung 22 mit
Hilfe des zugehörigen "Einfügungsvorgangs" innerhalb der Warteschlange
des permanenten Speichers. Der spezifische Vorgang der Warteschlange
des permanenten Speichers ist weiter unten im Zusammenhang mit 4 ausführlich beschrieben.
Das Datenpaket 15 wird daraufhin bei (104) gleichzeitig
zum Zielserver 18 für
elektronische Post weitergeleitet. Insbesondere ermittelt das drahtlose
Transportmodul 24 den Typ der Zielvorrichtung, zu der das
Datenpaket 15 gesendet wird, und implementiert abhängig von
dem Typ der Zielvorrichtung geeignete Datenpakethandhabungsschritte.
-
Wenn
die Position des Endpunkts der Überleitung
innerhalb der drahtlosen Überleiteinrichttung 10 ermittelt
ist, gibt das drahtlose Transportmodul 24 bei (105) einen "Aktualisierungsvorgang" von der Mobilvorrichtung 14 ein.
Das heißt,
dass die Mitteilung in der permanenten Speichervorrichtung 22 aktualisiert werden
muss, um diese entdeckten Überleitinformationen
wiederzuspiegeln. Bei (106) sendet der Zielserver 18 für elektronische
Post eine Empfangsbestätigung
(oder Ablehnung) zum drahtlosen Transportmodul 24. Als
Reaktion führt
das drahtlose Transportmodul 24 bei (108) den "Löschvorgang" aus. Insbesondere in dem Fall, in dem
das Datenpaket 15 bereits in die permanente Speichervorrichtung 22 eingefügt worden
ist, löscht
das drahtlose Transportmodul 24 das Datenpaket 15 aus
der permanenten Speichervorrichtung 22. In dem Fall, in
dem sich der "Einfügungsvorgang", der zu dem Datenpaket 15 gehört, noch
in der Warteschlange des permanenten Speichers befindet, entfernt
das drahtlose Transportmodul 24 alternativ diesen "Einfügungsvorgang" aus der Warteschlange
des permanenten Speichers, so dass das Datenpaket 15 nicht
in die permanente Speichervorrichtung 22 geschrieben wird.
Es versteht sich, dass diese Vorgänge von dem drahtlosen Transportmodul 24 auch
in dem Fall durchgeführt
würden,
in dem das Datenpaket 15"abgelaufen" ist, und es ist nicht
möglich,
das beabsichtigte Ziel innerhalb einer konfigurierbaren Zeitspanne
zu erreichen. Das drahtlose Transportmodul 24 sendet eine
interne Statusbestätigung,
die bestätigt,
dass die Übermittlung
der Mitteilung vollendet ist, nachdem das Datenpaket 15 in
die permanente Speichervorrichtung 22 eingefügt ist oder
wenn das Datenpaket 15 dem Zielserver 18 übermittelt
ist. Dieser Schritt kann ebenfalls das Löschen des Datenpakets 15 aus
unterschiedlichen anderen lokalen Speichern innerhalb der drahtlosen Überleiteinrichtung 10 umfassen.
-
4 ist
eine Maschine endlicher Zustände, die
veranschaulicht, wie die Datenbankkette die "Einfügungs-", "Aktualisierungs-" und "Lösch-"Vorgänge verwaltet,
die auf ein Datenpaket 15 innerhalb der Warteschlange des
permanenten Speichers angewendet werden. Wie oben erörtert, verwaltet
die Datenbankkette die Position und den Inhalt der unterschiedlichen
Vorgänge
innerhalb der Warteschlange des permanenten Speichers, um eine effiziente
Verwendung der permanenten Speichervorrichtung 22 bereitzustellen.
Insbesondere kombiniert die Datenbankkette die Vorgänge des
Datenpakets 15, um die Anzahl der Speichervorgänge zu minimieren.
Das heißt,
dass höchstens
ein einziger Vorgang für
jedes beliebige Datenpaket 15 innerhalb der Warteschlange
des permanenten Speichers vorhanden ist. Die Datenbankkette ordnet
die Vorgänge
des Datenpakets 15 innerhalb der Warteschlange des permanenten
Speichers ebenfalls nach Priorität,
um die Anzahl der Speichervorgänge
zu minimieren, wie unter Bezugnahme auf 5 erörtert wird.
-
Wie
gezeigt, empfängt
das drahtlose Transportmodul 22 bei (200) zuerst
einen "Einfügungsvorgang" für das Datenpaket 15.
Daraufhin gibt die Datenbankkette den "Einfügungsvorgang" bei (202) gleichzeitig
in die Warteschlange des permanenten Speichers und in die Hauptwarteschlange
ein.
-
Wenn
der Zielserver 18 für
elektronische Post bei (202) eine "Empfangsbestätigung" bei (204) sendet, wird bei (206) der
ausstehende "Einfügungsvorgang" für das Datenpaket 15 aus
der Warteschlange des permanenten Speichers entfernt. Das heißt, dass
es in dem Fall, in dem das Datenpaket 15 schneller zum
Zielserver 18 übertragen
wird als die Datenbankkette das Datenpaket 15 veranlasst,
in die permanente Speichervorrichtung 22 eingefügt zu werden,
möglich
ist, den Zugriff auf die permanente Speichervorrichtung 22 zu
vermeiden.
-
Dementsprechend
ist es abhängig
von der Verfügbarkeit
und der Ansprechzeit der betreffenden Zielvorrichtungen möglich, einen
wesentlichen Teil des Zugriffs auf die permanente Speichervorrichtung 22 zu
beseitigen.
-
Wenn
alternativ der "Einfügungsvorgang" bei (202) das
obere Ende der Warteschlange des permanenten Speichers bei (205) erreicht,
wird das Datenpaket 15 bei (207) in die permanente
Speichervorrichtung 22 geschrieben. Wenn der Zielserver 18 für elektronische
Post bei (222) eine "Empfangsbestätigung" sendet, wird bei (224) der "Löschvorgang" in die Warteschlange des permanenten
Speichers eingegeben, um die Entfernung des Datenpakets 15 aus der
entsprechenden Speichertabelle in der permanenten Speichervorrichtung 22 vorzunehmen.
Wenn bei (214) vor der "Empfangsbestätigung" vom Zielserver 18 (222) ein "Aktualisierungsvorgang" empfangen wird,
wird der "Aktualisierungsvorgang" bei (216) in
die Warteschlange des permanenten Speichers eingegeben. Nachdem
der Zielserver 18 die "Empfangsbestätigung" empfangen hat, wird
der "Aktualisierungsvorgang" in der Warteschlange
des permanenten Speichers bei (221) durch einen "Löschvorgang" ersetzt.
-
Wenn
die drahtlose Überleiteinrichtung 10 bei (202) alternativ
einen "Aktualisierungsvorgang" bei (208) eingibt
(d.h. der Endpunkt der Überleitung wurde
ermittelt), wird der anfängliche "Einfügungsvorgang" bei (210) durch
einen überarbeiteten "Einfügungsvorgang" in der Warteschlange
des permanenten Speichers ersetzt, bevor das Datenpaket 15 den Zielserver 18 für elektronische
Post erreicht und der Empfang von diesem bestätigt wird und bevor das obere
Ende der Warteschlange des permanenten Speichers erreicht ist. Dieser überarbeitete "Einfügungsvorgang" besteht aus einer
aktualisierten Version des ursprünglichen
Datenpakets 15, das anfänglich
eingefügt
werden sollte. Das heißt,
wenn ein Einfügungsvorgang
in der permanenten Speichervorrichtung 22 noch nicht ausgeführt wurde
(d.h. der "Einfügungsvorgang" befindet sich noch
in der Warteschlange des permanenten Speichers), werden der anfängliche "Aktualisierungsvorgang" und der später gesendete "Einfügungsvorgang" zu einem neuen "Einfügungsbefehl" kombiniert. Dementsprechend werden
diese beiden Vorgänge
zu einem Vorgang zusammengefasst, um ihn in der Warteschlange des permanenten
Speichers anzuordnen, wodurch potenzielle Speichervorgänge verringert
werden.
-
Wenn
der "Einfügungsvorgang" bei (210) das
obere Ende der Warteschlange des permanenten Speichers bei (209) erreicht,
wird das Datenpaket 15 bei (207) gemäß dem überarbeiteten "Einfügungsvorgang" (der den ursprünglichen "Einfügungsvorgang" und den "Aktualisierungsvorgang" kombiniert hatte)
in die permanente Speichervorrichtung 22 geschrieben. Wenn
vom Zielserver 18 für
elektronische Post bei (222) eine "Empfangsbestätigung" erhalten wird, wird der "Löschvorgang" bei (224) in die Warteschlange
des permanenten Speichers eingegeben, um die Entfernung des Datenpakets 15 aus
der Tabelle in der permanenten Speichervorrichtung 22 zu bewirken.
Wenn wiederum bei (214) vor der "Empfangsbestätigung" vom Zielserver 18 ein "Aktualisierungsvorgang" empfangen wird,
wird der "Aktualisierungsvorgang" bei (216) in
die Warteschlange des permanenten Speichers eingegeben. Nachdem
die "Empfangsbestätigung" vom Zielserver 18 empfangen
wurde, wird der "Aktualisierungsvorgang" in der Warteschlange
des permanenten Speichers bei (221) durch einen "Löschvorgang" ersetzt.
-
Wenn
bei (210) der Server 18 für elektronische Post alternativ
bei (212) eine "Empfangsbestätigung" sendet, wird der
ausstehende "Einfügungsvorgang" bei (213) aus
der Warteschlange des permanenten Speichers entfernt. Dies erfolgt,
da das Datenpaket 15 nicht in die permanente Speichervorrichtung 22 geschrieben
wurde und demgemäß kein Bedarf
besteht, den "Löschvorgang" aufzurufen, um es
aus dem Speicher zu entfernen.
-
5 veranschaulicht
ein Beispiel einer Warteschlange des permanenten Speichers für das drahtlose
Transportmodul 24 der drahtlosen Überleiteinrichtung 10.
Jedes Datenpaket 15 in der Warteschlange des permanenten
Speichers wird dort angeordnet, um zur permanenten Speichervorrichtung 22 zur
Speicherung weitergeleitet zu werden, und jeder Datenpaketvorgang
ist einer bestimmten Zielvorrichtung zugeordnet. Während die
Zielvorrichtung in dem veranschaulichenden Beispiel aus 1 wieder ein
Zielserver 18 für
elektronische Post ist, ist ersichtlich, dass unterschiedliche Typen
von Zielvorrichtungen angepasst werden könnten.
-
Die
Datenbankkette des drahtlosen Transportmoduls 22 optimiert
die Verarbeitung der Datenpakete 15 durch eine strategische
Anordnung von Vorgängen
der Datenpakete 15 in der Warteschlange des permanenten
Speichers. Normalerweise sind Elemente der Warteschlange basierend
auf der Reihenfolge der Ankunft der Mitteilung von der Mobilvorrichtung 22 in
der Warteschlange des permanenten Speichers geordnet. Das heißt, dass
die Einfügung eines "Aktualisierungsvorgangs" oder eines "Löschvorgangs" die Reihenfolge der Elemente in der
Warteschlange nicht ändert.
Jedoch ordnet die Datenbankkette in der drahtlosen Überleiteinrichtung 10 Vorgänge des
Datenpakets 15 in der Warteschlange des permanenten Speichers
nach Priorität
entsprechend der Zeit, die benötigt
wird, um das Datenpaket 15 zu senden und die Empfangsbestätigung von
einer Zielvorrichtung für
eine bestimmte Zielvorrichtung zu empfangen. Insbesondere führt die
Datenbankkette ein laufendes Datensatzprotokoll der durchschnittlichen
Zeitdauer, die im Durchschnitt benötigt wird, um ein Datenpaket 15 zu
einer bestimmten Zielvorrichtung zu senden. Daraufhin wird die Umkehrung
eines Maßes
der durchschnittlichen Übermittlungszeit
verwendet, um Vorgänge
des Datenpakets 15 in der Warteschlange des permanenten Speichers
anzuordnen. Das heißt,
wenn bekannt ist, dass eine Zielvorrichtung einer drahtlosen Überleiteinrichtung 10 schnell
antwortet (d.h. sie hat in der Vergangenheit einer drahtlosen Überleiteinrichtung 10 schnell
geantwortet), dann ist es vorteilhaft, den zugehörigen Vorgang des Datenpakets 15 in
der Nähe
des unteren Endes der Warteschlange des permanenten Speichers anzuordnen,
um eine Verzögerung
bereitzustellen und eine Verarbeitung des zugehörigen Vorgangs des Datenpakets 15 (d.h.
die Speicherung des Datenpakets oder eine Aktualisierung im permanenten
Speicher) zu vermeiden. Auf diese Weise können Speicherverarbeitungskosten
im Zusammenhang mit der Speicherung von Datenpaketen 15 in
der permanenten Speichervorrichtung 22 verringert werden.
-
Es
ist vorzuziehen, die Umkehrung des gleitenden Durchschnitts der Übermittlungszeit
des Datenpakets 15 zu einer Zielvorrichtung anstelle der durchschnittlichen Übermittlungszeit
zu verwenden, um die Position eines Vorgangs des Datenpakets 15 innerhalb
der permanenten Speichervorrichtung 22 zu ermitteln. Insbesondere
wurde festgestellt, dass es wünschenswert
ist, die Übermittlungszeiten
für die letzten
10 Mitteilungen zu verfolgen. Unter Verwendung eines Maßes des
gleitenden Durchschnitts ist die drahtlose Überleiteinrichtung 10 in
der Lage, auf Änderungen
des Zustands der Zielvorrichtung und des gesamten Kommunikationnetzes
wesentlich schneller zu reagieren. Wenn beispielsweise eine Zielvorrichtung
ausfällt
(d.h. unerreichbar wird), spiegelt der gleitende Durchschnitt die
Verzögerung
bei der Paketübermittlung
für diese
Zielvorrichtung wesentlich schneller wieder als eine durchschnittliche Zählung. Ein
anderes Beispiel, bei dem das Konzept des gleitenden Durchschnitts
vorzuziehen ist, liegt vor, wenn die Zielvorrichtung mit Arbeitsvorgängen zu überlastet
(d.h. "zu beschäftigt") ist, um zu antworten.
-
Wie
gezeigt, ist beispielsweise der Datenpaketvorgang "X" am oberen Ende der Warteschlange des
permanenten Speichers angeordnet und ist dem Datenpaket X und der
Zielvorrichtung A zugeordnet. Der Datenpaketvorgang "Y" ist in der Nähe des unteren Endes der Warteschlange
des permanenten Speichers angeordnet und ist dem Datenpaket Y und der
Zielvorrichtung B zugeordnet. Wie gezeigt, wird der Datenpaketvorgang "Z" jetzt von der Datenbankkette in die
Warteschlange des permanenten Speichers eingegeben. Wenn ermittelt
wird, dass die durchschnittliche Übermittlungszeit des Datenpakets Z
zur Zielvorrichtung C (d.h. die Zeit, die erforderlich ist, um zur
Zielvorrichtung zu senden und von dieser eine Empfangsbestätigung zu
erhalten) kürzer
ist als die, die dem Datenpaketvorgang "Y" zugeordnet
ist, wird der Datenpaketvorgang "Z", wie gezeigt, in
der Warteschlange des permanenten Speichers unterhalb von "Y" angeordnet. Da der Datenpaketvorgang "Z" unterhalb des Datenpaketvorgangs "Y" angeordnet wird, nimmt die Wahrscheinlichkeit
zu, dass die Zielvorrichtung C den Empfang des Datenpakets Z bestätigt, bevor
der Datenpaketvorgang "Z" das obere Ende der
Warteschlange erreicht. In einem solchen Fall wird die Verarbeitungszeit,
die mit dem Speichern des Datenpakets Z im Zusammenhang steht, eingespart.
-
Des
Weiteren werden andere Faktoren im Zusammenhang mit der Zugänglichkeit
der betreffenden Zielvorrichtung berücksichtigt, wenn ein Vorgang eines
Datenpakets 15 in der Warteschlange des permanenten Speichers
angeordnet wird. In einem Fall, in dem beispielsweise ermittelt
wird, dass eine Zielvorrichtung nicht in dem Netz 10 angeschlossen
ist, ordnet die Datenbankkette den zugehörigen Vorgang des Datenpakets 15 automatisch
am oberen Ende der Warteschlange des permanenten Speichers an. Wenn
die mit dem Datenpaket 15 spezifizierte Zielvorrichtung "ungültig" ist, veranlasst
die Hauptkette das drahtlose Transportmodul 24 entsprechend,
eine Notmitteilung zurück
zur Mobilvorrichtung 14 zu senden.
-
Schließlich wird
bevorzugt, dass die Hauptkette Vorgänge des Datenpakets 15 in
der Hauptwarteschlange basierend auf der Übermittlungszeit des gleitenden
Durchschnitts für
vorherige Daten, die zur Zielvorrichtung gesendet wurden, anordnet.
Jedoch kann die Hauptkette ebenfalls Vorgänge des Datenpakets 15 gemäß dem Zuerst-Hinein-Zuerst-Hinaus-Standard (FIFO-Standard)
anordnen. Das heißt, dass
die Elemente der Warteschlange basierend auf der Ankunft der Mitteilung
von der Mobilvorrichtung 14 in der Hauptwarteschlange geordnet
werden.
-
Die
Erfinder haben festgestellt, dass die Effizienz der Speichervorgänge wesentlich
verbessert werden kann, indem die Warteschlange des permanenten
Speichers in einer Weise konstruiert wird, dass die Speichervorgänge zuerst
in Fällen
durchgeführt
werden, in denen es unwahrscheinlich ist, dass das Datenpaket 15 von
dem Zielserver 18 für
elektronische Post empfangen und der Empfang von diesem bestätigt wurde,
bevor es in der permanenten Speichervorrichtung 22 gespeichert
werden kann (d.h. im Fall langsamer oder ausgeschalteter Zielvorrichtungen).
Des Weiteren wurden erhöhte
Durchsätze
von Datenpaketen 15 beobachtet, und zwar eine Zunahme der
Mitteilungsverarbeitung von etwa 12 Mitteilungen pro Sekunde auf
etwa 200 Mitteilungen pro Sekunde unter Spitzenlast und etwa 150
Mitteilungen pro Sekunde bei einer anhaltenden Last.
-
Während die
spezifische Kommunikationsausrüstung
für veranschaulichende
Zwecke ausgewählt
und erörtert
wurde, wird darauf hingewiesen, dass die vorliegende Erfindung auf
jede Art von Netzüberleitsystem,
einschließlich
drahtlose LAN-Router, LAN-LAN-Router, routerbasierte Kommunikationsnetze
mit Einwahlbenutzern und andere allgemeine routerbasierte Kommunikationsnetze
angewendet werden kann.
-
Demgemäß ermöglicht die
drahtlose Überleiteinrichtung 10 eine
verbesserte Überleitung
von Datenpaketen zu einem Zielserver 18, während nach wie
vor ein hoher Grad an Datensicherheit garantiert wird. Durch gleichzeitige
Weiterleitung von Datenpaketen 15 zur permanenten Speichervorrichtung 22 und
zum Zielserver 18 für
elektronische Post besteht in den Fällen, in denen Datenpakete 15 von
einer Zielvorrichtung empfangen und aus der Warteschlange des permanenten
Speichers entfernt werden, insbesondere kein Bedarf, aufwändige Vorgänge zur permanenten
Speicherung durchzuführen.
Durch Verringern der Anzahl von Schreibvorgängen zur permanenten Speichervorrichtung
ist die drahtlose Überleiteinrichtung 10 in
der Lage, ein wesentlich höheres
Volumen an Mitteilungen zu handhaben als es andernfalls der Fall
wäre, wenn
die Datenpakete 15 zuerst in einer drahtlosen Überleiteinrichtung
gespeichert werden, bevor sie zu einer Zielvorrichtung weitergeleitet
werden. Des Weiteren wird durch dieses Konzept der Netzverkehr zwischen
dem drahtlosen Transportmodul 24 und der permanenten Speichervorrichtung 22 sowie
die Verwendung der zugehörigen
CPU sowohl für
das drahtlose Transportmodul 24 als auch die permanente
Speichervorrichtung 22 verringert. Schließlich werden
durch dieses Konzept die effektiven Hardware-Kosten verringert,
da es möglich
ist, unter Verwendung derselben Hardware ein höheres Verarbeitungsvolumen
zu erzielen.
-
Wie
Fachleuten ersichtlich ist, sind verschiedene Modifikationen und
Anpassungen der oben beschriebenen Konstruktion möglich, ohne
von der vorliegenden Erfindung abzuweichen, deren Bereich in den
angehängten
Ansprüchen
abgegrenzt ist.
-
Übersetzung
der Figuren
-
1
- 15
- Datenpaket
- 20
- drahtloses
Anschlusssystem
- 18
- Zielserver
für elektronische
Post
- 10
- drahtlose Überleiteinrichtung
- 22
- permanente
Speichervorrichtung
- 24
- drahtloses
Transportmodul
- 16
- drahtloses
Mobilnetz
- 14
- Mobilvorrichtung
-
2
- "insert"
- "Einfügen"
- "update"
- "Aktualisieren"
- "delete"
- "Löschen"
- database
thread
- Datenbankkette
- 22
- permanente
Speichervorrichtung
-
3
- 14
- Mobilvorrichtung
- 24
- drahtloses
Transportmodul
- 22
- permanente
Speichervorrichtung
- 18
- Zielserver
- (100)
- Mitteilung
- (102)
- Einfügung initiieren
- (104)
- Zum
Ziel weiterleiten
- (105)
- Aktualisieren
- (106)
- Empfang
bestätigen
- (108)
- Einfügung aus
Warteschlange entfernen oder aus Speicher löschen
-
4
- (200)
- "Einfügungsvorgang" wurde empfangen
- (224)
- "Löschvorgang" in Warteschlange des permanenten Speichers
anordnen
- (222)
- "Empfangsbestätigung" wurde empfangen
- (205)
- oberes
Ende der Warteschlange des permanenten Speichers wurde erreicht
- (207)
- in
permanente Speichervorrichtung schreiben
- (202)
- "Einfügungsvorgang" in Warteschlange des
permanenten Speichers und in Zielwarteschlangeanordnen
- (209)
- oberes
Ende der Warteschlange des permanenten Speichers wurde erreicht
- (204)
- "Empfangsbestätigung" wurde empfangen
- (208)
- "Aktualisierungsvorgang" wurde empfangen
- (214)
- "Aktualisierungsvorgang" wurde empfangen
- (206)
- ausstehenden "Einfügungsvorgang" aus Warteschlange
des permanenten Speichers entfernen
- (210)
- anfänglichen "Einfügungsvorgang" durch einen überarbeiteten "Einfügungsvorgang" in der Warteschlange
des permanenten Speichers ersetzen
- (212)
- "Empfangsbestätigung" wurde empfangen
- (213)
- "Einfügungsvorgang" aus Warteschlange des
permanenten Speichers entfernen
- (216)
- "Aktualisierungsvorgang" in Warteschlange
des permanenten Speichers anordnen
- (220)
- "Empfangsbestätigung" wurde empfangen
- (221)
- "Aktualisierungsvorgang" durch "Löschvorgang" in Warteschlange des permanenten Speichers
ersetzen
-
5
- X
- Datenpaket
X einfügen
(Ziel A)
- Y
- Datenpaket
Y einfügen
(Ziel B)
-
- Warteschlange
des permanenten Speichers