-
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Verfahren, System und Computerprogrammprodukt
zum Bereitstellen eines Ereignisdienstes in Abhängigkeit von Standorten mobiler
Anwender.
-
ALLGEMEINER STAND DER TECHNIK
-
Mobile
Kommunikations- und Datenverarbeitungseinrichtungen haben in letzter
Zeit breite Anwendung erlangt. Diese Einrichtungen stellen Kommunikations-,
Datenverarbeitungs- und Verbindungsfähigkeiten in kleinen, leicht
transportierten Einheiten bereit. Beispiele für solche Einrichtungen umfassen Mobiltelefone
und Kleinstcomputer, Personal Digital Assistants (PDAs). Eine Fähigkeit,
die bei diesen Einrichtungen verfügbar wird, ist eine Positionsmessfähigkeit,
die ermöglicht,
dass die Einrichtung und/oder ein Kommunikationsnetz, mit dem die
Einrichtung verbunden ist, die Position der Einrichtung bestimmt. Die
Positionsmessfähigkeit
ermöglicht
eine Unterstützung
des Fähigseins
zu standortabhängigen
Ereignissen. Ein standortabhängiges
Ereignis wird ausgelöst,
wenn ein standortbezogenes Merkmal eines mobilen Anwenders oder
einer Gruppe von mobilen Anwendern, das anhand der Standorte der
mobilen Einrichtungen der Anwender bestimmt wird, einer vorher definierten
Regel genügt.
Beispiele für
standortbezogene Merkmale schließen einen Standort, eine Geschwindigkeit
oder andere standortbezogene Aktivität ein. Zum Beispiel könnte ein
Anwender eine Regel definieren, dass dann, wenn die Person A in eine
bestimmte Region gelangt und die Person B innerhalb von 2 Meilen
von einer bestimmten Adresse geortet wird, eine Nachricht an eine
dritte Person C gesendet wird.
-
Ein
System, das standortabhängige
Ereignisse unterstützt,
muss die Standorte der mobilen Anwender des Systems aktualisieren. Üblicherweise werden
die Standorte der mobilen Anwender anhand eines festen, periodischen
Plans aktualisiert. Es wird eine periodische Aktualisierung angewendet,
weil es wegen der Kosten und Kompliziertheit der Standortbestimmung
einer mobilen Einrichtung sehr teuer und schwierig ist, die Standorte
mobiler Anwender in Echtzeit zu verfolgen. Ein typisches Mobilfunknetz kann
mehrere Tausend oder Millionen mobile Anwender umfassen. Es entsteht
insofern ein Problem, als das Netzverkehrsmehraufkommen, das mit
dem Aktualisieren der Standorte mobiler Anwender auf der Grundlage
eines festen, periodischen Plans verbunden ist, sehr hoch ist. Es
entsteht ein Bedarf an einer Technik, die für ein Aktualisieren der Standorte
mobiler Anwender sorgt, aber das Netzverkehrsmehraufkommen im Vergleich
zu herkömmlichen
Techniken verringert.
-
US-A-6 263 209 offenbart
ein drahtloses Kommunikationssystem, in dem die Position einer tragbaren
Teilnehmereinheit eines Anwenders bestimmt und mit aufgezeichneten
Informationen, wie etwa dem Ort eines Treffens, an dem teilzunehmen der
Anwender geplant hat, verglichen wird. Bei einer Entsprechung macht
das System den Anwender und/oder andere Parteien auf die Situation
aufmerksam. Der Anwenderstandort wird zu vorgegebenen Zeiten ohne
Rücksicht
auf das hohe Netzverkehrsmehraufkommen, das sich daraus ergibt,
aktualisiert.
-
WO-A-00/22 860 offenbart
ein System zur Verwendung mit drahtlosen Kommunikationsnetzen, das
einem ersten Anwender das Nahen eines zweiten Anwenders innerhalb
einer bestimmten Umgebung meldet. Die Position der Kommunikationseinrichtung
jedes Anwenders ist dem drahtlosen Netz bekannt, jedoch ist nicht
offenbart, wie dies erreicht wird, und das zuvor erwähnte Problem
des starken Netzverkehrs wird nicht angegangen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Die
vorliegende Erfindung ist ein Verfahren, System und Computerprogrammprodukt
zum Bereitstellen eines Ereignisdienstes in Abhängigkeit von Standorten mobiler
Anwender. Die vorliegende Erfindung sorgt für eine verbesserte Effizienz
durch Verwendung eines "Standort-Caches", um neueste Standortinformationen über mobile
Anwender zu speichern, wodurch sich der Bedarf an teuren und zeitaufwändigen Ortungsabfragen
vermindert, und durch intelligentes Planen der Zeiten, zu denen Standortbestimmungen
durchzuführen
sind. Die vorliegende Erfindung verwaltet Informationen über die Ereignisbedingungen
und mit dem Ereignis im Zusammenhang stehende frühere Standorte, Geschwindigkeiten
der Anwender und weitere Informationen. Ein Datensatz für ein Ereignis
wird erzeugt, wenn ein standortabhängiges Ereignis registriert wird,
und wird ungültig,
sobald das Ereignis ausgelöst
worden ist. Für
jeden Anwender, der einem Ereignis zugeordnet ist, hält das System
die vorhergesagte Ereigniszeit, zu der der Anwenderstandort die Ereignisbedingung
erfüllt.
Die vorhergesagte Ereigniszeit bestimmt, wann die nächste Ortung
durchgeführt
wird. Zur vorhergesagten Zeit wird eine Ortungsabfrage ausgesendet,
um einen Ist-Standort des mobilen Anwenders zu erhalten. In Abhängigkeit von
dem Ortungsergebnis löst
das Ereignismanagementmodul entweder das Ereignis aus oder aktualisiert
die vorhergesagte Zeit und die letzten Standorte des Anwenders.
Die vorhergesagte Zeit wird als eine Funktion der Informationen über frühere Standorte und
Geschwindigkeiten der Anwender, der Zielortinformationen und der
Charakteristik des Ereignisses berechnet.
-
Ein
Verfahren zum Bereitstellen eines standortabhängigen Ereignisdienstes, gemäß der vorliegenden
Erfindung, umfasst die folgenden Schritte: a) Gewinnen von Informationen,
die einen aktuellen Standort mindestens eines mobilen Anwenders
angeben, wobei der mindestens eine mobile Anwender einen ausgewählten mobilen
Anwender umfasst, b) Bestimmen, ob mindestens eine Bedingung in
Bezug auf die Standorte einer Vielzahl von mobilen Anwendern, einschließlich des
ausgewählten
mobilen Anwenders, erfüllt
ist, anhand des angegebenen aktuellen Standorts des ausgewählten mobilen
Anwenders, c) Vollbringen mindestens eines Ereignisses, wenn die
mindestens eine Bedingung erfüllt
ist, und d) Bestimmen eines Zeitintervalls, das abzuwarten ist,
bevor die Schritte a) bis c) wiederholt werden, dadurch gekennzeichnet,
dass der Schritt des Bestimmens eines Zeitintervalls, das abzuwarten
ist, die Schritte umfasst: Auswählen,
als ausgewählten
mobilen Anwender, des mobilen Anwenders aus der Vielzahl von mobilen
Anwendern, der am wenigsten wahrscheinlich herbeiführt, dass
die mindestens eine Bedingung erfüllt ist, und Bestimmen des
Zeitintervalls, das abzuwarten ist, anhand des ausgewählten mobilen
Anwenders.
-
Der
Schritt des Bestimmens eines Zeitintervalls, das abzuwarten ist,
anhand des ausgewählten mobilen
Anwenders kann die folgenden Schritte umfassen: Schätzen der
Zeit, zu der der ausgewählte mobile
Anwender wahrscheinlich eine Bedingung erfüllt, anhand der Entfernung
des aktuellen Standorts des ausgewählten mobilen Anwenders von
einer Region, die für
die Bedingung relevant ist, oder/und der Geschwindigkeit des ausgewählten mobilen
Anwenders, und Bestimmen des Zeitintervalls, das abzuwarten ist,
anhand der geschätzten
Zeit, zu der der ausgewählte
mobile Anwender wahrscheinlich eine Bedingung erfüllt, und
einer Zeittoleranz. Der Gewinnungsschritt kann die folgende Schritte
umfassen:
Durchsuchen eines Caches, der so betriebsfähig ist, dass
er Informationen speichert, die Standorte von mobilen Anwendern
angeben, nach Informationen, die einen Standort des mindestens einen
mobilen Anwenders angeben, Verwenden der Informationen, die den
Standort des mindestens einen mobilen Anwenders angeben, als die
Informationen, die den aktuellen Standort des mindestens einen mobilen
Anwenders angeben, wenn die Informationen, die den Standort des
mindestens einen mobilen Anwenders angeben, in dem Cache gefunden
werden, und Abfragen mindestens eines Mobilfunk-Lokalisierungsservers,
um Informationen zu gewinnen, die den aktuellen Standort des mindestens
einen mobilen Anwenders angeben, wenn die Informationen, die den Standort
des mindestens einen mobilen Anwenders angeben, nicht in dem Cache
gefunden werden.
-
Das
mindestens eine Ereignis kann ein Senden einer Nachricht umfassen.
Die Nachricht kann an einen mobilen Anwender oder an einen nicht-mobilen Anwender
gesendet werden. Die mindestens eine Bedingung kann sich außerdem auf
eine Zeit beziehen.
-
KURZBESCHREIBUNG DER ZEICHNUNG
-
Die
Einzelheiten der vorliegenden Erfindung, sowohl ihren Aufbau als
auch ihre Funktionsweise betreffend, können am besten unter Bezugnahme
auf die beigefügte
Zeichnung verstanden werden, in der gleiche Bezugszeichen und Benennungen
auf gleichartige Elemente verweisen.
-
1 ist
ein beispielhaftes Blockdiagramm eines Netzsystems 100,
in dem die vorliegende Erfindung umgesetzt werden kann.
-
2 ist
ein beispielhaftes Blockdiagramm des in 1 gezeigten
Standortmanagementsystems.
-
3 ist
ein beispielhaftes Blockdiagramm des Zusammenspiels der in 2 gezeigten
Verarbeitungsmodule, die in dem Standortmanagementsystem enthalten
sind.
-
4 ist
ein beispielhafter Ablaufplan eines Prozesses des Betriebs des Standortgewinnungsmoduls,
das in 3 gezeigt ist.
-
5 ist
ein beispielhafter Datenflussplan des Betriebs des in 3 gezeigten
Standortgewinnungsmoduls.
-
6 ist
ein beispielhafter Ablaufplan eines Teilprozesses eines Schritts
des in 4 gezeigten Prozesses.
-
7 ist
ein Beispiel für
eine Anwendung einer Zeitintervallbestimmung gemäß der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
In 1 ist
ein beispielhaftes Blockdiagramm eines Netzsystems 100,
in dem die vorliegende Erfindung umgesetzt werden kann, gezeigt.
Das Netzsystem 100 umfasst ein Netz 102. Das Netz 102 stellt
Kommunikationsverbindungen zwischen einer Vielzahl von Einrichtungen,
wie etwa mobilen Anwendereinrichtungen 104A bis 104F und
Netzeinrichtungen 106A bis 106C, bereit. Das Netz 102 kann
sowohl drahtlose als auch drahtgebundene Netze umfassen, die, wie
jeweils anwendbar, zusammengeschaltet sind. In einem drahtlosen
Netz ist das Übertragungsmedium üblicherweise
elektromagnetische Strahlung, wie etwa Funkwellen oder Licht. In
einem drahtgebundenen Netz ist das Übertragungsmedium üblicherweise
Kupferkabel oder Glasfaserkabel.
-
Das
Netz 102 kann ein oder mehrere lokale Netze (LANs), ein
oder mehrere Weitverkehrsnetze (WANs) oder beide, LANs und WANs,
umfassen. Ein oder mehrere Netze können in dem Netz 102 enthalten
sein und können
sowohl öffentliche
Netze wie das Internet, als auch private Netze umfassen und können eine
beliebige Vernetzungstechnologie und ein beliebiges Protokoll anwenden,
wie etwa Ethernet, Token Ring, Transmission Control Protocol/Internet Protocol
(TCP/IP) usw. Obwohl dies in 1 nicht gezeigt
ist, kann das Netz 102 mit einen oder mehreren weiteren
drahtlosen Netzen oder mit einem oder mehreren Leitungsnetzen verbunden,
zusammengeschaltet oder gekoppelt sein.
-
Mobile
Anwendereinrichtungen 104A bis 104F können jede
Art von mobilem elektronischem Datenverarbeitungssystem oder mobiler
Kommunikationseinrichtung, das bzw. die von einem mobilen Anwender
des drahtlosen Netzes betrieben oder besessen wird, umfassen. Beispiele
für solche
elektronischen Datenverarbeitungssysteme schließen Personalcomputersysteme
wie etwa Tischcomputer oder Laptops, Personal Digital Assistants
(PDAs), drahtlose Kommunikationseinrichtungen wie etwa Funktelefone
usw. ein. In einer Ausführungsform,
in der die mobilen Anwendereinrichtungen Computersysteme sind, können die
Computersysteme direkt mit dem Netz 102 verbunden sein
oder die Computersysteme können über ein
oder mehrere weitere Netze, Netzübergänge, Firewalls
usw. indirekt mit dem Netz 102 verbunden sein. In einer
Ausführungsform,
in der die mobilen Anwendereinrichtungen andere Typen von Einrichtungen
sind, wie etwa PDAs oder Einrichtungen zur drahtlosen Kommunikation,
kann die Verbindung zum Netz 102 direkt oder indirekt,
drahtgebunden oder drahtlos oder eine Kombination aus drahtgebunden
und drahtlos, wie es zweckmäßig ist,
sein. Üblicherweise
ist die Anwenderschnittstelle der mobilen Anwendereinrichtungen 104A bis 104F eine grafische
Anwenderschnittstelle; es können
jedoch auch andere Schnittstellen verwendet werden. Beispielsweise
können
die Client-Systeme Funktelefone umfassen, die mit einer Tonwahl-Antworteinheit
oder einer Sprachausgabeeinheit kommunikativ verbunden sind, die
Tonwahl- oder Sprachbefehle entgegennimmt und sie über das
Netz 102 sendet und die über das Netz 102 Antworten
empfängt,
die empfangenen Antworten in Audiosignale umsetzt und die empfangenen
Antworten an die Client-Systeme
sendet.
-
Die
Netzeinrichtungen 106A bis 106C können jede
Art von elektronischem Datenverarbeitungssystem oder von Kommunikationseinrichtung, das
bzw. die von einem nicht-mobilen Anwender des drahtlosen Netzes
betrieben oder besessen wird, umfassen. Beispiele für solche
elektronischen Datenverarbeitungssysteme schließen Server, Router, Vermittlungsstellen,
Sprach- oder Tonausgabeeinheiten usw. ein. Die Netzeinrichtungen 106A bis 106C können direkt
mit dem Netz 102 verbunden sein oder sie können über ein
oder mehrere weitere Netze, Netzübergänge, Firewalls
usw. indirekt mit dem Netz 102 verbunden sein.
-
Das
Standortmanagementsystem 108 ist ebenfalls mit dem Netz 102 kommunikativ
verbunden. Das Standortmanagementsystem 108 koppelt mit
dem Netz 102 sowie mit mobilen Anwendereinrichtungen 104A bis 104F und
Netzeinrichtungen 106A bis 106C, die an das Netz 102 angeschlossen sind,
und stellt Dienste in Abhängigkeit
von Standorten mobiler Anwendern bereit – wie durch mobile Anwendereinrichtungen,
die von diesen mobilen Anwendern betrieben oder besessen werden,
bestimmt.
-
Ein
beispielhaftes Blockdiagramm eines Standortmanagementsystems 108,
in 1 gezeigt, ist in 2 gezeigt.
Das Standortmanagementsystem 108 ist typisch ein programmiertes
Universalcomputersystem, wie etwa ein Personalcomputer, eine Arbeitsstation,
ein Serversystem und ein Minicomputer oder Großrechner. Das Standortmanagementsystem 108 umfasst
einen oder mehrere Prozessoren (CPUs) 202A bis 202N,
eine Eingabe/Ausgabe-Schaltungsanordnung 204, einen Netzadapter 206 und
Speicher 208. Die CPUs 202A bis 202N arbeiten
Programmanweisungen ab, um die Funktionen der vorliegenden Erfindung
zu erfüllen.
Typisch sind die CPUs 202A bis 202N ein oder mehrere
Mikroprozessoren, wie beispielsweise ein INTEL PENTIUM®-Prozessor. 2 veranschaulicht
eine Ausführungsform,
in der das System 108 als ein einzelnes Multiprozessor-Computersystem
implementiert ist, in dem mehrere Prozessoren 202A bis 202N Systembetriebsmittel
wie etwa den Speicher 208, die Eingabe/Ausgabe-Schaltungsanordnung 204 und den
Netzadapter 206 gemeinsam nutzen. Die vorliegende Erfindung
zieht jedoch auch Ausführungsformen
in Betracht, in denen das System 108 als mehrere vernetzte
Computersysteme implementiert ist, die Monoprozessor-Computersysteme,
Multiprozessor-Computersysteme
oder eine Mischung davon sein können.
-
Die
Eingabe/Ausgabe-Schaltungsanordnung 204 ermöglicht,
dass Daten in das Standortmanagementsystem 108 eingegeben
oder aus diesem ausgegeben werden können. Die Eingabe/Ausgabe-Schaltungsanordnung
kann beispielsweise Eingabegeräte
wie Tastaturen, Mäuse,
Touchpads, Trackballs, Scanner usw., Ausgabegeräte wie Grafikkarten, Monitore,
Drucker usw. und Eingabe/Ausgabe-Geräte wie etwa
Modems usw. umfassen. Der Netzadapter 206 koppelt das Standortmanagementsystem 108 mit
dem Netz 102.
-
Der
Speicher 208 speichert Programmanweisungen, die von der
CPU 202 abgearbeitet werden, und Daten, die von der CPU 202 verwendet
und verarbeitet werden, um die Funktionen des Standortmanagementsystems 108 zu
erfüllen.
Der Speicher 208 kann elektronische Speicherbausteine wie
etwa Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), programmierbaren
Nur-Lese-Speicher (PROM), elektrisch löschbaren, programmierbaren Nur-Lese-Speicher
(EEPROM), Flash-Speicher usw. und elektromechanischen Speicher wie
etwa Magnetdiskettenlaufwerke, Bandlaufwerke, Laufwerke für optische
Speicherplatten usw. umfassen, die eine Integrated Drive Electronics-(IDE-)Schnittstelle
oder eine Variante oder Verbesserung davon, wie etwa eine Enhanced-IDE
(EIDE) oder einen Ultradirektspeicherzugriff (UDMA) oder eine Schnittstelle
basierend auf Small Computer System Interface (SCSI) oder eine Variante
oder Verbesserung davon wie Fast-SCSI, Wide-SCSI, Fast and Wide-SCSI
usw. oder aber eine Fiber-Channel
Arbitrated Loop-(FC-AL-)Schnittstelle verwenden können.
-
Der
Speicher 208 enthält
das Ereignismanagementmodul 210, das Standortgewinnungsmodul 212,
die Mobilanwendungen 214A und 214B und das Betriebssystem 216.
Das Ereignismanagementmodul 210 managt Standorte mobiler
Anwender und Ereignisbedingungen, die in Abhängigkeit von den Standorten
der mobilen Anwender definiert sind, um die standortabhängige Ereignisverarbeitung
der vorliegenden Erfindung auszuführen. Das Standortgewinnungsmodul 212 kommuniziert
mit Systemen, die die Standorte mobiler Einrichtungen, die von mobilen Anwendern
betrieben oder besessen werden, bestimmen, um Informationen zu gewinnen,
die die Standorte der mobilen Anwender angeben. Die Mobilanwendungen 214A und 214B führen eine
weitere standortabhängige
Verarbeitung durch. Das Betriebssystem 216 sorgt für die Funktionalität des Gesamtsystems.
Für eine
bessere Leistungsfähigkeit des
Systems umfasst das Standortgewinnungsmodul 212 einen Standort-Cache 218,
der für
eine Cache-Speicherung
der Standortinformationen sorgt.
-
Wie
in 2 gezeigt ist, zieht die vorliegende Erfindung
sowohl eine Implementierung auf einem System oder auf Systemen,
die eine Multiprozessor-, Multitasking-, Multiprocessing- und/oder
Multithread-Datenverarbeitung bereitstellen, als auch eine Implementierung
auf Systemen, die nur einen einzigen Prozessor, eine Verarbeitung
eines einzelnen Threads bereitstellen, in Betracht. Multiprozessor-Datenverarbeitung
bedeutet Durchführen
der Datenverarbeitung unter Verwendung von mehr als einem Prozessor.
Multitasking-Datenverarbeitung bedeutet Durchführen der Datenverarbeitung
unter Verwendung von mehr als einer Betriebssystem-Task. Eine Task
ist ein Betriebssystemkonzept, das auf die Kombination aus einem
Programm, das abgearbeitet wird, und organisatorischen Informationen,
die von dem Betriebssystem verwendet werden, verweist. Wann immer
ein Programm abgearbeitet wird, erzeugt das Betriebssystem dafür eine neue
Task. Die Task ist wie eine Hülle
für das
Programm, insofern als sie das Programm mit einer Task-Nummer identifiziert
und ihm weitere organisatorische Informationen zuordnet. Viele Betriebssysteme,
darunter UNIX®, OS/2® und
WINDOWS® sind
fähig,
viele Tasks gleichzeitig auszuführen,
und werden Multitasking-Betriebssysteme genannt. Multitasking ist
die Fähigkeit eines
Betriebssystems, mehr als eine ausführbare Einheit gleichzeitig
abzuarbeiten. Jede ausführbare Einheit
läuft in
ihrem eigenen Adressraum, was bedeutet, dass die ausführbaren
Einheiten keineswegs ihren Speicher gemeinsam zu nutzen haben. Dies hat
Vorteile, da es für
ein Programm unmöglich
ist, die Abarbeitung irgendeines der anderen Programme, die auf
dem System laufen, zu beeinträchtigen. Jedoch
haben die Programme keineswegs Informationen auszutauschen, außer über das
Betriebssystem (oder durch Lesen von Dateien, die im Dateisystem
gespeichert sind). Die Multiprocessing-Datenverarbeitung ist der
Multitasking-Datenverarbeitung ähnlich,
da die Begriffe Task und Prozess häufig austauschbar verwendet
werden, obwohl einige Betriebssysteme zwischen den beiden unterscheiden.
-
Ein
beispielhaftes Blockdiagramm des Zusammenspiels der in 2 gezeigten
Verarbeitungsmodule, die in dem Standortmanagementsystem 108 enthalten
sind, ist in 3 gezeigt. Das Standortmanagementsystem 108 gewinnt
Standortinformationen, die sich auf mobile Anwender beziehen, speichert
und managt diese Informationen und bestimmt unter Verwendung der
Standortinformationen, ob standortabhängige Bedingungen, die definiert
worden sind, erfüllt
sind. Das Standortmanagementsystem 108 umfasst das Standortgewinnungsmodul 212,
das Ereignismanagementmodul 210 und kann weitere Mobilanwendungen,
wie etwa die Mobilanwendungen 214A und 214B, umfassen.
Das Standortgewinnungsmodul 212 umfasst den Standort-Cache 218 und
kommuniziert über
das Netz 102 mit Mobilfunk-Lokalisierungsservern 310.
Das Ereignismanagementmodul 210 fragt Standortinformationen über mobile
Anwender ab, deren Standorte vom Standortgewinnungsmodul 212 verfolgt
werden. Wenn bei einem Standortgewinnungsmodul 212 eine Positionsabfrage
eingeht, wird zuerst der Standort-Cache nach Informationen durchsucht,
die der Abfrage entsprechen. Die in dem Cache gespeicherten Informationen
können
Informationen wie etwa eine Identifikation einer mobilen Einrichtung,
die von einem mobilen Anwender betrieben oder besessen wird, Informationen
in Bezug auf frühere
Standorte des mobilen Anwenders, wie etwa die letzten n Positionen
der mobilen Einrichtung, und andere standortbezogene Informationen
einschließen.
-
Wenn
als Antwort auf eine Abfrage ein Objekt in dem Cache gefunden wird,
dann wird bestimmt, ob das Objekt zu alt ist, um verwendet zu werden.
Jedes Cache-Objekt
wird nach einer bestimmten Zeit, die eine heuristische Funktion
der Geschwindigkeit eines Anwenders, früherer Positionen des Anwenders
und der anwendungsspezifischen Güte
der Standortparameter ist, ungültig.
Falls in dem Standort-Cache 218 Informationen gefunden werden,
die der Abfrage entsprechen, werden die im Cache gespeicherten Informationen
zurückgeschickt und
es wird keine Messung der tatsächlichen
Position durchgeführt.
Falls keine Informationen, die der Abfrage entsprechen, in dem Standort-Cache 218 gefunden
werden, wird eine Messung der tatsächlichen Position durchgeführt und
der Standort-Cache 218 wird mit den gewonnenen Informationen
aktualisiert.
-
Mobilfunk-Lokalisierungsserver 310 kommunizieren
mit mobilen Einrichtungen, üblicherweise über ein
drahtloses Netz, und gewinnen Informationen, die Positionen der
mobilen Einrichtungen angeben. Falls in dem Standort-Cache 218 keine
Informationen gefunden werden, die der Abfrage entsprechen, fragt
das Standortgewinnungsmodul 212 Standortinformationen über mobile
Anwender ab, deren Standorte von Mobilfunk-Lokalisierungsservern 310 verfolgt
werden.
-
Sobald
die Informationen, die für
die Abarbeitung der Abfrage benötigt
werden, erhalten wurden, sendet der Standort-Cache 212 die
Informationen an das Ereignismanagementmodul 210 und kann
außerdem
die Informationen an weitere Mobilanwendungen, wie etwa die Mobilanwendungen 214A und 214B,
senden. Das Ereignismanagementmodul 210 verwendet die empfangenen
Informationen, um zu bestimmen, ob eine standortabhängige Bedingung,
die für
einen bestimmten mobilen Anwender definiert ist, erfüllt ist.
Wenn ja, löst
das Ereignismanagementmodul 210 das Vollbringen eines Ereignisses
aus.
-
Das
Ereignismanagementmodul 210 steht an der Spitze des Standortgewinnungsmoduls 212. Es
verwaltet die Informationen über
die Ereignisbedingung und ereignisbezogene frühere Positionen, Geschwindigkeiten
des Anwenders und weitere Informationen. Ein Datensatz für ein Ereignis
wird erzeugt, wenn ein standortabhängiges Ereignis registriert
wird, und wird ungültig,
sobald das Ereignis ausgelöst
worden ist. Für
jeden Anwender, der einem Ereignis zugeordnet ist, hält das System
die vorhergesagte Ereigniszeit, zu der der Standort des Anwenders
die Ereignisbedingung erfüllt.
Die vorhergesagte Ereigniszeit bestimmt, wann die nächste Ortung durchgeführt wird,
mit einem Anfangswert, der garantiert vor dem Zeitpunkt des realen
Ereignisses liegt. Zur vorhergesagten Zeit wird eine Ortungsabfrage
an das Ortungsmodul des Systems geschickt. In Abhängigkeit
von dem Ortungsergebnis löst
das Ereignismanagementmodul 210 entweder das Ereignis aus oder
aktualisiert die vorhergesagte Zeit und die letzten Positionen des
Anwenders. Die vorhergesagte Zeit wird als eine Funktion der Informationen über frühere Positionen
und Geschwindigkeiten der Anwender, der Zielortinformationen, der
Abstände
zwischen früher
vorhergesagten Ereigniszeitpunkten und der Charakteristik des Ereignisses
berechnet.
-
Ein
beispielhafter Ablaufplan eines Prozesses 400 des Betriebs
des in 3 gezeigten Standortgewinnungsmoduls 212 ist
in 4 gezeigt. Er wird am besten zusammen mit 5,
einem beispielhaften Datenflussplan des Betriebs des Standortgewinnungsmoduls 300,
betrachtet. Der Prozess 400 beginnt mit dem Schritt 402,
in dem ein aktueller Standort eines mobilen Anwenders gewonnen wird.
-
Das
Ereignismanagementmodul 210 fragt Standortinformationen über mobile
Anwender ab, deren Standorte vom Standortgewinnungsmodul 212 verfolgt
werden. Wenn bei dem Standortgewinnungsmodul 212 eine Positionsabfrage
eingeht, wird zuerst der Standort-Cache nach Informationen durchsucht, die
der Abfrage entsprechen. Die im Cache gespeicherten Informationen
können
Informationen wie eine Identifikation einer mobilen Einrichtung,
die von dem mobilen Anwender betrieben oder besessen wird, Informationen
in Bezug auf frühere
Standorte des mobilen Anwenders, wie etwa die letzten n Positionen
der mobilen Einrichtung, und weitere standortbezogene Informationen
umfassen.
-
Jedes
Cache-Objekt wird nach einer bestimmten Zeit, die eine heuristische
Funktion der Geschwindigkeit eines Anwenders und früherer Positionen
des Anwenders ist, ungültig.
Wenn in dem Standort-Cache 218 Informationen gefunden werden,
die der Abfrage entsprechen, wird keine Messung der realen Position
durchgeführt.
Stattdessen werden die im Cache gespeicherten Informationen, wie
etwa eine frühere
Position des mobilen Anwenders, oder Informationen, die auf im Cache
gespeicherten Informationen basieren, wie etwa eine extrapolierte
Position, die als eine Funktion früherer Positionen und Geschwindigkeiten
berechnet ist, zurückgeschickt.
Falls in dem Standort-Cache 218 keine Informationen gefunden
werden, die der Abfrage entsprechen, sendet der Standort-Cache eine
Positionsabfrage an Mobilfunk-Lokalisierungsserver 310.
Die Positionsabfrage 502 umfasst Informationen, die einen
oder mehrere mobile Anwender und/oder mobile Einrichtungen, die
von mobilen Anwendern betrieben oder besessen werden, identifizieren.
Falls die Positionsabfrage 502 einen mobilen Anwender identifizierende
Informationen umfasst, werden diese Informationen in eine mobile
Einrichtung identifizierende Informationen überführt. Üblicherweise kommunizieren Mobilfunk-Lokalisierungsserver 310 über ein
drahtloses Netz mit der identifizierten mobilen Einrichtung und
erhalten Informationen, die eine Position der mobilen Einrichtung
angeben. Mobilfunk-Lokalisierungsserver 310 senden das
Positionsergebnis 504, das Informationen umfasst, die eine
Position der mobilen Einrichtung angeben, an den Standort-Cache 218. Typisch
umfasst das Positionsergebnis 504 Positionsinformationen
in Form der geografischen Breite und Länge der mobilen Einrichtung.
-
Der
Standort-Cache 212 speichert die in dem Positionsergebnis 504 enthaltenen
Standortinformationen zwischen und sendet die Standortinformationen
an das Ereignismanagementmodul 210.
-
Im
Schritt 404 verwendet das Ereignismanagementmodul 210 die
Standortinformationen, um zu bestimmen, ob irgendeine Ereignisbedingung,
die für
den mobilen Anwender definiert ist, für den Standortinformationen
gewonnen worden sind, erfüllt
ist. Das Ereignismanagementmodul 210 verwaltet Informationen über die
Ereignisbedingung und Informationen, die sich auf dem Ereignis zugeordnete
mobile Anwender beziehen, wie etwa frühere Standorte der mobilen
Anwender, Geschwindigkeiten der mobilen Anwender, und weitere Informationen.
In einer Ereignis-Datenbank wird ein Datensatz oder Eintrag für ein Ereignis
erzeugt, wenn ein standortabhängiges
Ereignis registriert wird. Der Datensatz wird ungültig, sobald
die Ereignisbedingung erfüllt
und das Ereignis ausgelöst
ist. Die Informationen in dem Positionsergebnis 504 werden
mit standortabhängigen
Ereignisbedingungen verglichen, die definiert worden sind. Zum Beispiel
könnte
eine Bedingung definiert sein als: innerhalb von zwei Meilen von
einer bestimmten Adresse. Um den Vergleich durchzuführen, werden die
geografische Breite und die geografische Länge von einem allgemein verfügbaren Geocodierungsdienst
oder aus einer allgemein verfügbaren
Geocodierungsdatenbank erhalten, und die Entfernung zwischen der
geografischen Breite und Länge
der Adresse und der geografischen Breite und Länge, die im Positionsergebnis 504 enthalten
sind, wird leicht berechnet. Die Bedingung ist erfüllt, wenn
die Entfernung kleiner als zwei Meilen ist. Durch die vorliegende
Erfindung können
Bedingungen mit jeder erforderlichen Komplexität definiert und beurteilt werden.
Beispielsweise können
zusätzlich
zu Bedingungen, die nur vom Standort abhängig sind, auch Bedingungen definiert
sein, die von der Zeit oder von der Kombination aus Zeit und Standort
abhängig
sind. Ein Beispiel für
solch eine Bedingung könnte
definiert sein als: innerhalb von zwei Meilen von einer bestimmten Adresse,
heute nach 14.00 Uhr.
-
Wenn
im Schritt 406 bestimmt wird, dass eine Ereignisbedingung
erfüllt
wurde, dann geht der Prozess 400 mit dem Schritt 408 weiter,
in dem die definierte Ereignisverarbeitung ausgeführt wird.
Die Ereignisverarbeitung kann so komplex wie nötig sein, schließt aber üblicherweise
ein Senden einer oder mehrerer Nachrichten an eine oder mehrere
Parteien ein. Wenn beispielsweise bestimmt wird, dass sich ein mobiler
Anwender innerhalb von zwei Meilen von einer bestimmten Adresse
befindet, kann an diese Adresse eine Nachricht gesendet werden,
die dementsprechende Informationen enthält. Dies könnte beispielsweise verwendet
werden, um anzuzeigen, dass eine Partei fast an einen Ziel angekommen
ist, damit jene am Ziel die Partei, die in Kürze eintreffen müsste, erwarten
kann. Ebenso kann eine Nachricht an eine oder mehrere weitere Parteien
gesendet werden, um diese Parteien über die Erfüllung der Bedingung zu informieren.
-
Im
Schritt 410 findet eine Nachbearbeitung des Ereignisses
statt.
-
Wenn
im Schritt 406 bestimmt wird, dass keine Ereignisbedingung
erfüllt
war, dann geht der Prozess 400 mit dem Schritt 412 weiter,
in dem eine vorhergesagte Zeit für
die nächste
Standortaktualisierung bestimmt wird. Das Ereignismanagementmodul 210 verwaltet
Informationen über
die Ereignisbedingung und Informationen, die sich auf dem Ereignis zugeordnete
mobile Anwender beziehen, wie etwa frühere Standorte der mobilen
Anwender, Geschwindigkeiten der mobilen Anwender, und weitere Informationen.
In einer Ereignisdatenbank wird ein Datensatz oder Eintrag erzeugt,
wenn ein standortabhängiges
Ereignis registriert wird. Der Datensatz wird ungültig, sobald
die Ereignisbedingung erfüllt
und das Ereignis ausgelöst
ist. Für
jeden mobilen Anwender, der einem Ereignis zugeordnet ist, bestimmt
und verwaltet das Ereignismanagementmodul 210 eine vorhergesagte
Ereigniszeit, die eine Zeit ist, zu der nach der Vorhersage der
Standort eines mobilen Anwenders eine Ereignisbedingung erfüllen wird.
Die vorhergesagte Ereigniszeit wird verwendet, um zu bestimmen,
wann die nächste
Abfrage bezüglich
des Standorts des mobilen Anwenders gesendet wird. Die vorhergesagte
Zeit wird so eingestellt, dass gewährleistet ist, dass die Standortabfrage
stattfinden wird, bevor die Ereignisbedingung tatsächlich erfüllt ist,
so dass die Erfüllung
der Ereignisbedingung weder verpasst, noch verzögert wird.
-
Zum
Beispiel können
ein Standort und eine Geschwindigkeit eines mobilen Anwenders verwendet
werden, um eine vorhergesagte Zeit wie folgt zu bestimmen:
Zwischen
dem Standort des mobilen Anwenders und dem nächstgelegenen Standort, der
in einer dem mobilen Anwender zugeordneten Ereignisbedingung enthalten
ist, wird die Entfernung bestimmt. Diese Entfernung wird dann durch
die Geschwindigkeit des mobilen Anwenders dividiert, um eine Mindestzeit
zu bestimmen, die es geben soll, bevor der Standort des mobilen
Anwenders die Ereignisbedingung erfüllen könnte. Die Mindestzeit kann
verkürzt
werden, um sicherzustellen, dass die Standortabfrage geschehen wird,
bevor die Ereignisbedingung tatsächlich
erfüllt ist.
Die Mindestzeit wird dann zu der momentanen Zeit addiert, um die
vorhergesagte Zeit zu bestimmen.
-
Im
Schritt 414 wartet der Prozess bis zur vorhergesagten Zeit
ab und springt dann zum Schritt 402 zurück, in dem eine Standortaktualisierung durchgeführt wird.
-
Ein
beispielhafter Ablaufplan eines Teilprozesses des Schritts 412,
in dem die vorhergesagte Zeit bestimmt wird, ist in 6 gezeigt.
Der Teilprozess des Schritts 412 beginnt mit dem Schritt 602,
in dem bestimmt wird, ob der richtige mobile Anwender verfolgt wird.
Der richtige mobile Anwender, der für eine gegebene Ereignisbedingung
verfolgt werden sollte, ist der mobile Anwender, der am wenigsten wahrscheinlich
herbeiführt,
dass die ihm zugeordneten Ereignisbedingungen erfüllt sind.
Zum Beispiel kann dies der mobile Anwender, der am weitesten von
einer relevanten Region entfernt ist, der sich am langsamsten von
der Stelle bewegende Anwender usw. sein. Wenn der mobile Anwender,
der am wenigsten wahrscheinlich als Erster die Ereignisbedingung
erfüllt,
nicht für
eine Verfolgung ausgewählt
ist, dann wird im Schritt 604 der mobile Anwender, der am
wenigsten wahrscheinlich als Erster die Ereignisbedingung erfüllt, für eine Verfolgung
ausgewählt. Der
Prozess geht dann mit dem Schritt 606 weiter. Wenn im Schritt 602 bestimmt
wird, dass der mobile Anwender, der am wenigsten wahrscheinlich
als Erster die Ereignisbedingung erfüllt, für eine Verfolgung ausgewählt ist,
dann geht der Prozess direkt zum Schritt 606 weiter.
-
Im
Schritt 606 wird der ausgewählte mobile Anwender verfolgt
und anhand dieses ausgewählten Anwenders
wird die vorhergesagte Zeit für
Standortaktualisierungen festgesetzt. Die vorhergesagte Zeit wird
unter Verwendung einer heuristischen Funktion bestimmt. Zum Beispiel
kann die heuristische Funktion auf der Entfernung der aktuellen
Position des ausgewählten
mobilen Anwenders von der relevanten Region, der Geschwindigkeit
des ausgewählten
mobilen Anwenders, einschließlich
der Schnelligkeit und der Richtung, in die sich der ausgewählte mobile
Anwender bewegt, den früheren
Positionen des ausgewählten
mobilen Anwenders und einer Zeittoleranz beruhen. In einigen Fällen, beispielsweise
wenn ein mobiler Anwender in der Nähe des Ziels ist, kann die heuristische
Funktion eine einfache Berechnung sein, während in anderen Fällen, beispielsweise wenn
der mobile Anwender weit weg vom Ziel ist, die heuristische Funktion
verbessert werden muss, um abzudecken, dass Veränderungen bei der Fortbewegung
des mobilen Anwenders auftreten können. Zum Beispiel würde bei
einem mobilen Anwender, der 1000 Meilen von einem Ziel entfernt
ist und sich mit 50 Meilen pro Stunde fortbewegt, eine einfache
Berechnung eine vorhergesagte Zeit von 20 Stunden ergeben. Dies
sollte jedoch nicht als vorhergesagte Zeit verwendet werden, da
sich die Fortbewegung des Anwenders ändern kann – der mobile Anwender kann
ein Flugzeug nehmen und viel früher
am Ziel ankommen. Folglich ist es vorteilhaft, eine niedrigere Schranke
für die
Geschwindigkeit zu verwenden, wenn der mobile Anwender weit weg
vom Ziel ist, damit die vorhergesagte Zeit nicht zu spät sein wird.
-
Die
Zeittoleranz spezifiziert das Ausmaß der Ungenauigkeit bei der
Erfassung der Erfüllung
einer Bedingung, das toleriert werden kann. Mit anderen Worten:
Für eine
gegebene Zeittoleranz t muss die Erfassung der Erfüllung einer
Ereignisbedingung innerhalb der Zeit t, nachdem die Ereignisbedingung erfüllt worden
ist, geschehen.
-
Wenn
beispielsweise die Zeittoleranz auf 10 Minuten festgesetzt ist und
die Bedingung ist, dass ein mobiler Anwender in eine Region gelangt,
dann muss das System innerhalb von 10 Minuten nach dem tatsächlichen
Hineingelangen des mobilen Anwenders in die Region erfassen, dass
der mobile Anwender in die Region gelangt ist. Die Zeittoleranz kann
entweder eine systemweite Voreinstellung sein oder sie kann durch
den mobilen Anwender für
ein bestimmtes Ereignis spezifiziert sein.
-
Wenn
der ausgewählte
mobile Anwender weit weg von der Region ist oder sich langsam von der
Stelle bewegt oder beides, dann ist die geschätzte Zeit, bis der ausgewählte mobile
Anwender in die Region gelangt, lang, und das berechnete Zeitintervall
bis zur vorhergesagten Zeit ist entsprechend groß. Wenn der ausgewählte mobile
Anwender in der Nähe
der Region ist oder sich schnell von der Stelle bewegt oder beides,
dann ist die geschätzte
Zeit, bis der ausgewählte
mobile Anwender in die Region gelangt, kurz, und das berechnete
Zeitintervall bis zur vorhergesagten Zeit ist entsprechend klein.
Wenn jedoch die berechneten Zeitintervalle kleiner als die Zeittoleranz
werden, werden die Zeitintervalle auf die Zeittoleranz und eben
nicht auf den kleineren, berechneten Wert festgesetzt. Dies verbessert
die Systemleistungsfähigkeit
durch die Verringerung der Anzahl der Positionsabfragen und stellt
dennoch weiterhin die Erfassung der Erfüllung der Bedingung innerhalb
der Zeittoleranz sicher.
-
Ein
einfacher Fall liegt vor, wenn ein einziger Anwender in eine Region
gelangt oder eine Region verlässt.
Tatsächlich
kann ein standortabhängiges Ereignis
eine komplizierte Bedingung haben. Zum Beispiel gelangt ein mobiler
Anwender in eine Region hinein, ein mobiler Anwender verlässt eine
Region, mehrere mobile Anwender sind innerhalb einer Region, mehrere
mobile Anwender sind außerhalb
einer Region, ein mobiler Anwender gelangt in eine Region hinein/verlässt eine
Region, wenn andere mobile Anwender innerhalb der Region sind usw.
Ferner können
verschiedene Bedingungen durch logische Verknüpfungen kombiniert werden.
Jedoch kann zu jedem vorgegebenen Zeitpunkt eine komplexe Bedingung bewertet
werden, indem der Standort eines einzigen mobilen Anwenders bewertet
wird.
-
Die
folgende Ereignisbedingung sei als ein Beispiel betrachtet:
Wenn
die drei mobilen Anwender A, B und C alle in Kalifornien geortet
werden, sende eine Nachricht an D.
-
Angenommen,
das Ereignis wird um 13.00 Uhr registriert. Wenn zu dieser Zeit
die Bedingung bereits erfüllt
ist, dann wird das Ereignis ausgelöst und das war's. Andernfalls muss
es mindestens einen mobilen Anwender außerhalb Kaliforniens geben.
Angenommen, A und B sind schon in Kalifornien und C ist außerhalb.
Dann ist es nur erforderlich C zu verfolgen, statt die Positionen
aller drei mobiler Anwender im Auge zu behalten. In diesem Fall
wird C als der mobile Anwender bestimmt, der am wenigsten wahrscheinlich
als Erster die Bedingung erfüllt, und
C wird als der zu verfolgende Anwender ausgewählt.
-
Angenommen,
C gelangt um 16.00 Uhr nach Kalifornien. Innerhalb der 3 Stunden
wurde der Standort von C zehnmal bestimmt, wobei zwischen den ersten
5 Positionsabfragen große
Zeitintervalle sind, da es unwahrscheinlich war, dass C rasch ankommt.
Die letzten 5 Ortungsabfragen haben ein festes Intervall, das gleich
der Zeittoleranz ist, da C sich dem Ziel nähert. Aber während dieser
3 Stunden sind die Standorte von A und B nie durch das Ereignissystem
bestimmt worden. Wenn der ausgewählte
mobile Anwender, C, die Bedingung erfüllt, indem er nach Kalifornien
gelangt, gewinnt das System die Standorte aller drei mobiler Anwender,
um zu bestimmen, ob der vollständigen
Bedingung genügt
wird. Wenn die Bedingung erfüllt
ist (alle drei sind in Kalifornien), dann wird das Ereignis ausgelöst. Wenn
die Bedingung nicht erfüllt
ist, dann muss A oder B oder müssen
beide außerhalb
Kaliforniens sein. Wieder wird der mobile Anwender für die Verfolgung
ausgewählt, der
am wenigsten wahrscheinlich die Bedingung als Erster erfüllt. Selbst
wenn der mobile Anwender, der für
ein Verfolgen ausgewählt
ist, vor anderen mobilen Anwendern in die Region gelangt, wird das
Ereignis noch richtig erfasst. Das System kann mehr Ortungsabfragen
vornehmen, als notwendig gewesen waren, wenn es den „richtigen" mobilen Anwender
für das Verfolgen
ausgewählt
hätte,
aber das Ereignis wird nach wie vor richtig erfasst.
-
Der
in 4 gezeigte Prozess wiederholt sich, bis das Ereignis
ausgelöst
oder durch den Administrator oder Anwender vom System gelöscht ist. In
dem obigen Beispiel kann die vollständige Ereignisbedingung als
eine Verknüpfung
von drei Bedingungselementen angegeben werden: A ist in Kalifornien,
B ist in Kalifornien und C ist in Kalifornien. Bei dieser Art von
Bedingung, bei der die Bedingungselemente UND-verknüpft sind,
braucht nur ein mobiler Anwender verfolgt zu werden und die Bedingung
ist, dass der mobile Anwender entweder in eine Region gelangt oder
eine Region verlässt.
Wenn Bedingungselemente in einer komplizierten Bedingung ODER-verknüpft sind,
dann können
die Bedingungselemente als mehrere Ereignisse mit der gleichen Wirkung
behandelt werden. Zum Beispiel, wenn eine Bedingung ist:
Wenn
A oder B nach Kalifornien gelangt, sende eine Nachricht an D,
dann
kann das Ereignis wie zwei separate Ereignisse behandelt werden:
(1) Wenn A nach Kalifornien gelangt, sende eine Nachricht an D und
(2) wenn B nach Kalifornien gelangt, sende eine Nachricht an D. Beide
mobile Anwender müssen
verfolgt werden, da diese Bedingung tatsächlich zwei separate Ereignisse
darstellt. Jede dieser Bedingungen hängt von einem einzigen Anwender
ab, der in eine Region gelangt/eine Region verlässt. Sobald eines dieser Ereignisse
ausgelöst
ist, ist die Gesamtbedingung erfüllt
und es ist nicht länger
erforderlich, das andere Ereignis oder die anderen Ereignisse zu
verfolgen, das bzw. die dann gelöscht
werden sollten.
-
In 7 ist
ein mobiler Anwender gezeigt, der sich auf eine Region R zu bewegt.
Die augenblickliche Entfernung des mobilen Anwenders von der Region
ist D und die Geschwindigkeit ist v. Hier ist D die kürzeste Strecke
zwischen dem mobilen Anwender und der Region und berücksichtigt
nicht die Bewegungsrichtung. Das Ereignis hat eine Zeittoleranz
t. Um die letzten n Positionen des Anwenders darzustellen, wird
ein Vektor p verwendet. Die heuristische Funktion, die ein Zeitintervall
für die
Bestimmung einer vorhergesagten Zeit ausgibt, kann dann als T =
f(D, v, p, t) geschrieben werden. Es ist zu beachten, dass D auch
als eine Heuristik aufgefasst werden kann, die den Standort und
die Geschwindigkeit des Anwenders und die Zielregion einbezieht. Folglich
kann D als D = h(R, l, v) definiert sein, wobei R die Zielregion
ist, l der Standort des Anwenders ist und v die Geschwindigkeit
des Anwenders ist.
-
Es
sollte unbedingt beachtet werden, dass, obwohl die vorliegende Erfindung
im Kontext eines voll funktionsfähigen
Datenverarbeitungssystems beschrieben worden ist, der Durchschnittsfachmann
erkennen wird, dass die Prozesse der vorliegenden Erfindung in Form
eines computerlesbaren Mediums mit Anweisungen und in verschiedenen
Formen verbreitet werden können
und dass die vorliegende Erfindung genauso, ungeachtet des besonderen
Typs der Signalträgermedien,
die tatsächlich
verwendet werden, um die Verbreitung zu erreichen, angewendet wird.
Beispiele für
computerlesbare Medien schließen
sowohl Medien vom auszeichnungsfähigen
Typ wie etwa eine Magnetdiskette, ein Festplattenlaufwerk, RAM und
CD-ROMs als auch Medien vom Übertragungstyp,
wie etwa digitale und analoge Kommunikationsverbindungen, ein.
-
Obwohl
besondere Ausführungsformen
der vorliegenden Erfindung beschrieben worden sind, versteht sich
für den
Fachmann, dass es weitere Ausführungsformen
gibt, die den beschriebenen Ausführungsformen äquivalent
sind. Es versteht sich folglich, dass die Erfindung nicht durch
die besonderen veranschaulichten Ausführungsformen, sondern nur durch
den Schutzumfang der beigefügten
Ansprüche
beschränkt
sein soll.