DE10107207A1 - Verfahren und Vorrichtung zur Kommunikation zwischen Anwendungen in drahtlosen Netzen - Google Patents
Verfahren und Vorrichtung zur Kommunikation zwischen Anwendungen in drahtlosen NetzenInfo
- Publication number
- DE10107207A1 DE10107207A1 DE10107207A DE10107207A DE10107207A1 DE 10107207 A1 DE10107207 A1 DE 10107207A1 DE 10107207 A DE10107207 A DE 10107207A DE 10107207 A DE10107207 A DE 10107207A DE 10107207 A1 DE10107207 A1 DE 10107207A1
- Authority
- DE
- Germany
- Prior art keywords
- unit
- identifier
- units
- data element
- wireless network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006854 communication Effects 0.000 title claims abstract description 68
- 238000004891 communication Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000008569 process Effects 0.000 title claims abstract description 10
- 238000004519 manufacturing process Methods 0.000 claims abstract 3
- 238000012545 processing Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000002372 labelling Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
Ein Verfahren zum Bereitstellen einer Kommunikation zwischen Anwendungen zwischen einer Sendeeinheit und einer oder mehreren Empfangseinheiten in einem drahtlosen Netz umfasst die folgenden Schritte: DOLLAR A (i) in der Sendeeinheit Kennzeichnen eines Datenelementes mit einem Bezeichner, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und der einen oder den mehreren Empfangseinheiten eindeutig ist; DOLLAR A (ii) in der Sendeeinheit Rundsenden des gekennzeichneten Datenelementes im drahtlosen Netz; DOLLAR A (iii) in einer Empfangseinheit Empfangen des Rundsendedatenelementes, wenn sich die Empfangseinheit innerhalb eines Funkbereichs der Sendeeinheit befindet; und (iv) in einer Empfangseinheit Annehmen des Datenelementes zur Verarbeitung, wenn der Bezeichner im Wesentlichen mit einem Bezeichner übereinstimmt, der von einer der Empfangseinheit zugeordneten Anwendung erwartet wird; wobei die Sendeeinheit und die Empfangseinheit keine Kenntnis vom Vorhandensein der jeweils anderen Einheit haben.
Description
Die vorliegende Erfindung betrifft das Gebiet der
Kommunikation zwischen Anwendungen und insbesondere
Verfahren und Vorrichtungen zur Ermöglichung einer
Kommunikation zwischen Anwendungen für Einheiten, die unter
Verwendung drahtloser Netze miteinander in Wechselwirkung
stehen.
Für diese Beschreibung wird ein drahtloses Netz definiert
als ein mobiles Netz, das durch drahtlose Verbindungen, das
Fehlen einer zentralen Infrastruktur (beispielsweise
Domänennamendienst (Domain Name Service)) und häufige
Hostmobilität (host mobility) (die zu Änderungen in der
Kommunikationsfähigkeit zwischen Einheiten führt)
gekennzeichnet ist. Ein Beispiel für ein drahtloses Netz ist
ein Netz, das zur Kommunikation Funksignale verwendet. Die
Stärke eines Funksignals bestimmt den Bereich, in dem das
Signal empfangen werden kann. Dieser Bereich wird hier als
der "Funkbereich" für eine Sendeeinheit definiert. In einem
auf Funkübertragung beruhenden, drahtlosen Netz können zwei
Einheiten miteinander kommunizieren, wenn sie sich im
Funkbereich der jeweils anderen Einheit befinden;
vorausgesetzt, sie sind zur Kommunikation aufeinander
abgestimmt (verwenden dieselbe Frequenz). Zwei Einheiten
stellen die Kommunikation ein, falls sich eine Einheit aus
dem Funkbereich der anderen Einheit bewegt. Der Funkbereich
für eine Einheit ist abhängig von der Stärke des Funksenders
auf einzelnen Einheiten. Der Bereich könnte von ca. 30 Metern
(in Bluetooth-Einheiten (Bluetooth enabled devices))
über ca. 200 Meter (in drahtlosen LAN-Einheiten) bis hin zu
ca. 150 Kilometern (in einer Übertragung durch
Funkstationen) variieren. Es ist möglich, den Funkbereich
einer Einheit zu erweitern, indem Verstärkerknoten (repeater
nodes) im drahtlosen Netz installiert werden.
Verstärkerknoten senden das gesendete Signal erneut rund,
wodurch der Funkbereich für eine einzelne Sendeeinheit
vergrößert wird. Für die Ausführungsformen dieser
Beschreibung können zwei Einheiten in einem drahtlosen Netz
miteinander kommunizieren; vorausgesetzt, sie befinden sich
im Funkbereich der jeweils anderen Einheit und verwenden
dieselbe Funkfrequenz. Fig. 1A zeigt ein Beispiel, in dem
zwei Einheiten 102 sich im Funkbereich 104 der jeweils
anderen Einheit befinden und folglich miteinander
kommunizieren können. Wenn sich die beiden Einheiten
voneinander weg bewegen, stellen sie die Kommunikation ein,
sobald sie sich aus dem Funkbereich der jeweils anderen
Einheit bewegen. Dies wird in Fig. 1B dargestellt.
Herkömmliche Beispiele für die Kommunikation zwischen
Anwendungen beinhalten entweder eine direkte Kommunikation,
bei der die kommunizierenden Anwendungen direkt Kenntnis
voneinander haben, oder eine mittelbare (mediated)
Kommunikation, bei der die kommunizierenden Anwendungen
einen allgemein bekannten und erreichbaren Vermittler
(mediator) verwenden.
Bei einer Form der direkten Kommunikation "entnimmt" ein
Empfänger die Daten aus einem Sender (z. B. Web-Browsing).
Hier hat ein Empfänger ausdrücklich Kenntnis vom Sender und
kommuniziert mit dem Sender unter Verwendung eines gut
bekannten Netznamens oder einer Netzadresse. Eine solches
Empfänger-"Entnahme"-Modell (receiver "pull" model) einer
direkten Kommunikation wird in Fig. 2 gezeigt. In diesem
Beispiel sendet jede Anwendung im Empfänger 202, der an
einem Datenempfang von einem Sender 208 interessiert ist,
eine Anforderungsnachricht 204 zu einem bestimmten Anschluss
(port) des Senders. Der Vorsatz der Anforderungsnachricht
kennzeichnet den Typ der Anforderung zusammen mit der
Identität der Daten (falls vorhanden). Die Anwendung im
Sender verarbeitet die Anforderung und sendet die
angeforderten Daten als Teil der Antwort 206 zurück zur
Empfängeranwendung. Wenn dieses Beispiel auf drahtlose Netze
angewandt wird, besteht der Hauptschwachpunkt darin, dass
jede Anwendung im Empfänger die Position und Adresse der
Anwendung im Sender kennen muss.
Bei einer anderen Form der direkten Kommunikation
"registriert" ein Empfänger zunächst seine Absicht zum
Empfang von Datenelementen von einem Sender. Ein solches
Empfänger-"Eingabe"-Modell (receiver "push" model) einer
direkten Kommunikation wird in den Fig. 3A und 3B gezeigt.
Während der Registrierungsphase (registration phase) (Fig.
3A) informiert ein Empfänger 302 den Sender 306 über den Typ
von Daten, die er empfangen möchte (Registrierungsschritt
304). Wenn die Daten verfügbar werden, "gibt" der Sender 306
die Daten (Schritt 308) während der Antwortphase (Fig. 3B)
in den Empfänger ein (z. B. Marimba-Kanäle -
http://www.marimba.com; PointCast - http:www.pointcast.com).
Wenn diese Lösung auf drahtlose Netze angewandt wird,
besteht der Hauptschwachpunkt darin, dass sowohl der Sender
als auch der Empfänger die Position des jeweils anderen mit
Hilfe eines Netznamens oder einer Netzadresse, an die sie
senden bzw. von der sie empfangen können, kennen müssen.
Eine in der Literatur vorgeschlagene, alternative Einrichtung
einer direkten Kommunikation beruht auf dem als "Broadcast
Disks" bezeichneten Verfahren (beschrieben in "Broadcast
Disks: Data Management for Asymmetric Communication
Environments" von S. Acharya, R. Alonso, M. Franklin und S.
Zdonik, In Proceedings of ACM SIGMOD Conference, Mai 1995).
Dieses Verfahren erhöht die Speicherhierarchie von Clients
(clients) in asymmetrischen Kommunikationsumgebungen durch
Rundsenden von Daten von einem feststehenden Server an
Clients mit weniger leistungsfähigen Maschinen (die mobil
sein könnten). Clients, die an einer Suche nach
Datenelementen interessiert sind, die in ihrem lokalen
Speicher fehlen, rufen Daten aus dem Rundsendekanal ab, wenn
die Daten "durchlaufen". Da das Verfahren in erster Linie
für die Verbreitung (dissemination) von einer einzigen
Quelle vorgesehen ist, besteht sein Hauptschwachpunkt darin,
dass es keine willkürliche Feinkommunikation zwischen
Anwendungen bei mobilen Clients unterstützt.
Mittelbare Kommunikationsvorgänge werden in tupelgestützten
(tuple based) Systemen verwendet (z. B. Linda-Tupel, wie sie
in "Generative Communication in Linda", David Gelernter, ACM
Transactions on Programming Languages and Systems, Band 7,
Nr. 1, Januar 1985, Seiten 80 bis 112, und "Distributed
Communication via Global Buffer", David Gelernter und A. J.
Bernstein, In Proceedings of the ACM Principles of
Distributed Computing Conference, 1982, Seiten 10 bis 18,
beschrieben werden; JavaSpaces, wie sie in "JavaSpaces
Specification", http://java.sun.com/
products/javaspaces/specs/js.ndf, Sun Microsystems, Juli
1998, beschrieben werden; und TSPaces, wie sie in "TSpaces",
P. Wycoff, S. W. McLaugry, T. J. Lehman, D. A. Ford, The IBM
Systems Journal, August 1998, beschrieben werden), oder
warteschlangengestützte (queue-based) Systeme (z. B.
MQSeries, wie sie in "MQSeries",
http://www.software.ibm.com/mqseries, IBM, beschrieben
werden). In diesen Systemen können zwei Anwendungen
kommunizieren, indem gekennzeichnete Datenwerte in einem
Tupelspeicherbereich (tuplespace) oder in einer
Warteschlange hinterlegt und daraus entnommen werden, ohne
dass sie ausdrücklich Kenntnis voneinander haben.
Fig. 4 zeigt ein Beispiel eines warteschlangengestützten
Modells einer direkten Kommunikation. Der Empfänger 402
schreibt die Anforderungsnachricht mit Hilfe des
Warteschlangenverwalters (Queue Manager) 408 in eine
Warteschlange (Schritt 404). Der Sender 414 ruft die
Anforderungsnachricht aus der Warteschlange ab (Schritt
412). Nach der Verarbeitung der Anforderung schreibt der
Sender die Antwortnachricht (Schritt 410) mit Hilfe des
Warteschlangenverwalters in eine Warteschlange. Der
Empfänger liest sodann die Antwortnachricht aus der
Warteschlange (Schritt 406). Die Realisierung eines
Tupelspeicherbereichs oder einer Warteschlange wird durch
eine dritte Instanz (entity) ausgeführt. Diese Instanz ist
unabhängig von den Kommunikationsanwendungen. Der
Hauptschwachpunkt dieser Lösung besteht darin, dass sie auf
dem ständigen Vorhandensein eines Vermittlers (z. B. eines
Warteschlangenverwalters) beruht. Falls der Vermittlerknoten
aus irgendwelchen Gründen ausfällt oder ein Fehler auf
diesem auftritt, können zwei Anwendungen die Kommunikation
nicht fortsetzen. Die Verfügbarkeit und Erreichbarkeit eines
vermittelnden, dritten Teilnehmers ist unwahrscheinlich in
drahtlosen Netzen, die sich dynamisch bilden (wenn Einheiten
in den Kommunikationsbereich der jeweils anderen Einheiten
gelangen) und auflösen (wenn sich Einheiten weg bewegen).
Diese vorliegende Erfindung kombiniert die
Rundsendefähigkeiten der drahtlosen Netze mit eindeutig
gekennzeichneten Datenelementen zum Ausführen einer
sofortigen Kommunikation zwischen Anwendungen ohne die
obigen lästigen Erfordernisse, die mit Hilfe von
herkömmlichen Beispielen für die Kommunikation zwischen
Anwendungen dargelegt werden. Das heißt, ein Sender von
Datenelementen muss keine Kenntnis vom Vorhandensein der
Empfänger der Datenelemente haben. Ähnlich muss der
Empfänger keine Kenntnis vom Vorhandensein des Senders
haben. In der Erfindung kennzeichnet der Sender eines
Datenelementes das Datenelement mit einem Bezeichner
(identifier), der im Kontext der vorgesehenen Kommunikation
eindeutig ist, und sendet anschließend das gekennzeichnete
Datenelement im drahtlosen Netz rund. Eine Anwendung, die
das Datenelement empfangen möchte, nimmt das Datenelement
an, falls die angehängte Kennzeichnung (tag) mit der von der
empfangenden Anwendung erwarteten Kennzeichnung
übereinstimmt. Daher kommunizieren zwei (oder mehr)
Anwendungen einfach dadurch, dass sie sich im Funkbereich
(physische Nähe) der jeweils anderen Einheit befinden und in
Bezug auf Kennzeichnungswerte übereinstimmen. Es gibt
zahlreiche Mittel, in denen die Sender- und
Empfängeranwendungen hinsichtlich der Kennzeichnungswerte
übereinstimmen können. Beispielsweise können
Kennzeichnungswerte für Datenelemente in den Anwendungen
vorkonfiguriert werden oder durch einen Außerband-
Kommunikationsvorgang zu Benutzern der Anwendungen
übertragen werden. Eine Anwendung, die nur
Bestandsberechnungen (stock quotes) anzeigt, kann
beispielsweise festverdrahtet werden, um ausschließlich
Kennzeichnungen für Bestandsberechnungen zu verarbeiten.
Eine anpassungsfähigere Anwendung kann einen Benutzer zur
Eingabe von Datenkennzeichnungswerten auffordern, die die
Anwendung verarbeiten soll. Informationen über Typen von
verfügbaren Kennzeichnungen können unter Verwendung eines
Außerband-Mittels (out-of-band means), beispielsweise einem
Benutzerhandbuch oder einer Benutzeranzeige, zum Benutzer
übertragen werden. Es sollte jedoch klar sein, dass die
Erfindung nicht auf irgendein bestimmtes Kennzeichnungswert-
Übereinstimmungsmittel (tag value agreeing means) begrenzt
ist. Es sollte klar sein, dass sich der Begriff "Anwendung"
im Allgemeinen auf ein oder mehrere Softwareprogramme
bezieht, die zur Ausführung oder Bereitstellung einer oder
mehrerer bestimmter Funktionen geschrieben wurden. Die
Anwendungen können von der Ausführung einfacher Funktionen
bis hin zu komplexen Funktionen reichen. Die Methodik der
vorliegenden Erfindung ist jedoch nicht auf irgendeine
spezifische Anwendung begrenzt und kann in der Tat auf die
einfache Kommunikation von Daten oder einer anderen
Signalübertragung zwischen zwei Einheiten in einem Netz
angewandt werden.
Vorteilhafterweise müssen kommunizierende Anwendungen gemäß
der vorliegenden Erfindung keine direkte Kenntnis mehr vom
Vorhandensein der jeweils anderen Anwendung haben,
beispielsweise in Form einer festgelegten Adresse, und
müssen keinen allgemeinen Vermittler verwenden.
Diese und andere Aufgaben, Merkmale und Vorteile der
vorliegenden Erfindung gehen aus der folgenden ausführlichen
Beschreibung von erläuternden Ausführungsformen davon
hervor, die in Verbindung mit den begleitenden Zeichnungen
gelesen werden soll.
Fig. 1A und 1B sind Darstellungen, die das Konzept eines
Funkbereichs in einem drahtlosen Netz veranschaulichen;
Fig. 2 ist eine Darstellung, die ein Empfänger-"Entnahme"-
Beispiel einer direkten Kommunikation veranschaulicht;
Fig. 3A und 3B sind Darstellungen, die ein Sender-
"Eingabe"-Beispiel einer direkten Kommunikation
veranschaulichen;
Fig. 4 ist eine Darstellung, die ein mittelbares
Kommunikationsmodell zwischen Anwendungen veranschaulicht;
Fig. 5 ist eine Darstellung, die eine beispielhafte
Systemumgebung veranschaulicht, auf die die vorliegende
Erfindung angewandt werden kann;
Fig. 6 ist eine Darstellung, die eine beispielhafte
Software-Architektur einer Einheit in einem drahtlosen Netz
veranschaulicht, die die Methodik zur Kommunikation zwischen
Anwendungen der vorliegenden Erfindung verwendet;
Fig. 7 ist eine Darstellung, die eine
Anwendungsprogrammschnittstelle veranschaulicht, die von
einem Datenaustauschdienst (Data Exchange Service) einer
Einheit in einem drahtlosen Netz exportiert (exported) wird,
die die Methodik zur Kommunikation zwischen Anwendungen der
vorliegenden Erfindung verwendet;
Fig. 8 ist ein Flussdiagramm, das Schritte darstellt, die
von einer Anwendung ausgeführt werden, um Daten gemäß einer
Ausführungsform der vorliegenden Erfindung zu senden, und
Fig. 9 ist ein Flussdiagramm, das Schritte darstellt, die
von einem Datenaustauschdienst zur Verarbeitung einer
Rundsendenachricht ausgeführt werden, die von einer Einheit
empfangen und gemäß einer Ausführungsform zur Kommunikation
zwischen Anwendungen der vorliegenden Erfindung zu einer
Anwendung übertragen wurden.
Die vorliegende Erfindung wird unten im Zusammenhang mit
einem veranschaulichenden, drahtlosen Netz erläutert. Es muss
jedoch klar sein, dass die vorliegende Erfindung nicht auf
irgendeine bestimmte Realisierung eines drahtlosen Netzes
begrenzt ist. Stattdessen kann die Erfindung im Allgemeinen
auf jedes beliebige Netz angewandt werden, in dem es
wünschenswert ist, dass Anwendungen ohne direkte Kenntnis
voneinander, z. B. in Form einer festgelegten Adresse, und
ohne die notwendige Verwendung eines allgemeinen Vermittlers
kommunizieren.
Mit Bezugnahme auf Fig. 5 wird nun eine beispielhafte
Systemumgebung gezeigt, auf die die vorliegende Erfindung
angewandt werden kann. Die Umgebung umfasst
Datenverarbeitungseinheiten, beispielsweise Laptop-Computer
512, Mobiltelefone (hand held phones) und Terminplaner
(organizers) 502, intelligente Telefonstationen (smart
phones) 508, Anrufmelder (pagers) 504 und periphere
Einheiten (peripheral devices), beispielsweise Drucker 510,
usw. Jede Einheit kann unter Verwendung von drahtlosen
Medien mit einer anderen Einheit kommunizieren. Zu diesem
Zweck umfasst jede Einheit einen drahtlosen Sender und einen
drahtlosen Empfänger. Zwei Einheiten kommunizieren, wenn sie
sich im Funkbereich der jeweils anderen Einheit befinden,
wie in Fig. 1A dargestellt wird. Die Kommunikation wird
eingerichtet, nachdem zwei Einheiten in den Funkbereich
gelangt sind und ein Netz einrichten, um die Kommunikation
zu erleichtern. Die verschiedenen Einheiten können über ein
Netz 506 miteinander kommunizieren, solange sie sich im
Funkbereich der jeweils anderen Einheit befinden. Das Netz
506 kann irgendein Netz sein, das zum Ermöglichen einer
Kommunikation zwischen den Einheiten geeignet ist. Die
Erfindung ist nicht auf irgendeine bestimmte
Netzrealisierung begrenzt. In dieser Ausführungsform ist der
primäre Kommunikationsmodus der Rundsendebetrieb, d. h., wenn
eine Einheit Informationen senden möchte, sendet sie den
Inhalt der Informationen unter Verwendung ihres drahtlosen
Senders rund. Irgendeine andere Einheit, die sich innerhalb
des Empfangsbereichs der Rundsendung befindet, kann diese
Übertragung empfangen. Dies bringt es mit sich, dass der
Sender keine Kenntnis davon hat, wer der Empfänger ist, und
der Empfänger keine Kenntnis davon hat, wer der Sender ist.
Es muss verstanden werden, dass jede in Fig. 5 gezeigte
Einheit einen Prozessor umfassen kann, der funktionsmäßig
mit Speicher- und E/A-Einheiten verbunden ist. Es muss
verstanden werden, dass der Begriff "Prozessor", wie er
hierin verwendet wird, eine beliebige Verarbeitungseinheit
beinhalten kann, beispielsweise eine Einheit, die eine CPU
(Zentraleinheit) enthält. Der Begriff "Speicher", wie er
hierin verwendet wird, kann einen beliebigen Speicher
beinhalten, der mit einem Prozessor oder einer CPU verbunden
ist, beispielsweise einen RAM, einen ROM, eine feste
Speichereinheit (fixed memory device) (z. B.
Festplattenlaufwerk (hard drive)), eine austauschbare
Speichereinheit (removable memory device) (z. B. Diskette),
einen Flash-Speicher (flash memory) usw. Außerdem kann der
Begriff "Ein-/Ausgabeeinheiten" oder "E/A-Einheiten", wie er
hierin verwendet wird, beispielsweise eine oder mehrere
Eingabeeinheiten, z. B. Tastatur, Mikrofon, usw., zum
Eingeben von Daten in die Verarbeitungseinheit und/oder eine
oder mehrere Ausgabeeinheiten beinhalten, z. B. eine Anzeige
mit Katodenstrahlröhre (CRT), einen Lautsprecher, usw., um
die der Verarbeitungseinheit zugeordneten Ergebnisse
darzustellen. Es muss außerdem klar sein, dass "Prozessor"
sich auf mehr als eine Verarbeitungseinheit beziehen kann
und dass verschiedene mit einer Verarbeitungseinheit
verbundene Elemente von anderen Verarbeitungseinheiten
gemeinsam genutzt werden können. Dementsprechend können
Softwarekomponenten oder Module, die Befehle oder einen Code
zur Ausführung der Methodik der Erfindung enthalten, wie sie
hierin beschrieben wird, in einer oder mehreren der
angeschlossenen Speichereinheiten (z. B. ROM, fester oder
austauschbarer Speicher) gespeichert und, wenn sie zur
Nutzung bereit sind, teilweise oder im Ganzen geladen (z. B.
in einen RAM) und von einer CPU ausgeführt werden.
Mit Bezugnahme auf Fig. 6 wird nun ein beispielhafter
Softwarestapelspeicher (software stack) gezeigt, der mit
jeder Einheit im drahtlosen Netz verbunden ist. Jede Einheit
ist mit einem drahtlosen Sender 608 und einem Empfänger 610
ausgestattet. Der Sender 608 sendet Funksignale auf einer
spezifischen vom Netz verwendeten Frequenz, während der
Empfänger 610 eine spezifische Frequenz abhört, um Daten von
anderen Einheiten zu empfangen (wir gehen davon aus, dass
die beiden Einheiten zum Erhalten der Kommunikation dasselbe
Frequenzsprungschema (frequency hopping) verwenden würden).
Der Sender und der Empfänger werden vom Kommunikationsmodul
(communication modul) 606 zum Senden und Empfangen von Daten
verwendet. Das Kommunikationsmodul 606 stellt einem als
Datenaustauschdienst (Data Exchange Service - DES) 604
bezeichneten Softwaremodul Funktionen bereit, um Nachrichten
unter Verwendung des Senders und des Empfängers zu senden
und zu empfangen. Das DES-Modul befindet sich über der
Kommunikationsebene (communication layer). Das DES-Modul
stellt den Anwendungen eine Anwendungsprogrammschnittstelle
(Application Programming Interface - API) bereit, um unter
Verwendung der hierin beschriebenen Mechanismen Daten zu
senden und zu empfangen. Die APIs werden in Fig. 7 gezeigt.
Die für die Einheit (602) geschriebenen Anwendungen
verwenden die DES-APIs zum Kommunizieren mit anderen
Anwendungen, die auf anderen Einheiten ablaufen.
Die vorliegende Erfindung führt das Konzept der Verwendung
eines global eindeutigen Datenbezeichners (Globally Unique
Data Identifier) (GUDI) im Zusammenhang mit der
Kommunikation zwischen Anwendungen ein. Ein GUDI ist ein
global eindeutiger 128-Bit-Bezeichner, wie er im Microsoft
Visual C++ Software-Development-Kit beschrieben wird
(erhältlich von Microsoft Corporation, Redmond, WA).
12345678-1234-1234-123456789ABC ist beispielsweise ein
syntaktisch korrekter GUDI. Ein GUDI wird unter Verwendung
einer Kombination aus dem aktuellem Datum und der aktuellen
Uhrzeit, der aktuellen Taktfolge, einem automatisch
(forcibly) erhöhten Zählerwert und einem Maschinen-
(Einheiten-)Bezeichner erzeugt. Ein GUDI stellt eine
bestimmte Kategorie von Datenwerten oder einen einzelnen
Datenwert dar. Gemäß der Erfindung wird er verwendet, um
alle Datenelemente zu kennzeichnen, die während der
Kommunikation zwischen Anwendungen ausgetauscht werden.
Fig. 7 zeigt die Programmschnittstelle, die das DES-Modul zu
den Anwendungen exportiert. Vor der Verwendung des DES-
Moduls initialisiert die Anwendung das Modul unter
Verwendung der Funktion 704 "DESInitialize()". Jede
Anwendung kann auswählen, ob sie Datenübertragungen
(communications) von anderen Anwendungen asynchron oder
synchron empfängt. Um asynchrone Datenübertragungen von
anderen Anwendungen zu empfangen, verwendet eine Anwendung
die Funktion 706 "DESRegister()". Als Argument (argument)
verwendet die Funktion eine Liste von GUDIs und einen Zeiger
auf die Rückruffunktion, die die Anwendung realisiert hat.
Die Signatur (signature) der Rückruffunktion 702 wird in
Fig. 7 gezeigt. Um ein Datenelement zu anderen Anwendungen
zu senden, verwendet eine Anwendung die Funktion 708
"DESSend()". Als Argument verwendet die Funktion eine Liste
von GUDIs und einen Zeiger auf den Puffer, den die Anwendung
senden möchte. Die Liste von GUDIs wird von der DES-Laufzeit
(DES runtime) verwendet, um Datenelemente vor dem Senden zu
kennzeichnen. Eine Anwendung kann außerdem einen synchronen
Empfang von Daten von anderen Anwendungen unter Verwendung
der Funktion 710 "DESReceive()" wählen. Die Funktion
"DESReceive" blockt (wartet), bis ein Datenelement verfügbar
ist, das mit dem in der Funktion angegebenen GUDI
übereinstimmt. Eine Anwendung entscheidet, ob sie Daten
synchron oder asynchron empfängt. Eine Anwendung kann den
Empfang von Daten beenden, indem sie die Funktion 712
"DESTerminate()" aufruft. Im Anschluss an den Aufruf von
"DESTerminate" werden keine Datenelemente mehr zu der
Anwendung gesendet.
Mit Bezugnahme auf Fig. 8 wird nun ein Flussdiagramm der
Schritte gezeigt, die von einer Anwendung ausgeführt werden,
um eine Kommunikation zwischen Anwendungen gemäß einer
Ausführungsform der vorliegenden Erfindung zu verwenden. Zum
Zeitpunkt der Initialisierung führt die Anwendung die
Funktion "DESInitialize()" aus (Schritt 802). Im Schritt 804
registriert die Anwendung eine Liste von GUDIs, für die die
Anwendung Daten empfangen möchte. Außerdem registriert die
Anwendung im Schritt 806 eine Rückruffunktion mit dem DES-
Modul. Die Rückruffunktion wird vom DES zum Benachrichtigen
der Anwendung verwendet, wenn ein Datenelement mit diesem
GUDI empfangen wird. Auf den Registrierungsprozess
(registration process) vom Schritt 806 hin speichert das
DES-Modul eine Liste von GUDIs und die Anwendungs-
Rückrufbearbeitung (application callback handle) in seinen
internen Datenstrukturen. Im Schritt 808 kann eine Anwendung
unter Verwendung der Funktion "DESSend()" Daten zu anderen
Anwendungen senden. Im Schritt 810 kennzeichnet der DES
Datenelemente, die er mit von der Anwendung angegebenen
GUDIs rundsenden möchte. Die gekennzeichneten Datenelemente
werden sodann in das Netz gesendet. Anschließend kann die
Anwendung mit einer anderen Anwendungslogik fortfahren.
Mit Bezugnahme auf Fig. 9 wird nun ein Flussdiagramm
gezeigt, das Schritte darstellt, die von einem
Datenaustauschdienst zur Verarbeitung einer GUDI-
Rundsendenachricht (GUDI broadcast message) ausgeführt
werden, die gemäß einer Ausführungsform zur Kommunikation
zwischen Anwendungen der vorliegenden Erfindung empfangen
wurde. Im Schritt 902 wartet das DES-Modul auf den Empfang
irgendeiner Rundsendenachricht. Nach dem Empfang einer
Nachricht überprüft es im Schritt 904, ob die Nachricht ein
gültiges Format hat, d. h. einen gültigen GUDI enthält. Falls
die Nachricht ungültig ist, wartet der DES weiterhin auf
weitere Nachrichten, d. h. kehrt zum Schritt 902 zurück.
Falls die Nachricht ein gültiges Format hat, extrahiert der
DES im Schritt 906 den GUDI und den Nachrichteninhalt aus
der Nachricht. Anschließend überprüft er im Schritt 908
seine internen Datenstrukturen, um alle Anwendungen zu
kennzeichnen, die auf diesen GUDI warten oder für diesen
blockiert sind. Falls keine Anwendungen warten oder
blockiert sind, wird die Nachricht im Schritt 910 gelöscht,
und der DES wartet weiterhin auf neue Rundsendenachrichten,
d. h. kehrt zum Schritt 902 zurück. Falls eine Anwendung
wartet, extrahiert das DES-Modul im Schritt 912 die
Anwendungs-Rückrufbearbeitung und benachrichtigt die
Anwendung über die Nachricht. Alle blockierten Anwendungen
werden ebenfalls benachrichtigt. Nach der erfolgreichen
Zustellung der Nachricht zu allen wartenden und blockierten
Anwendungen setzt der DES das Warten auf weitere Nachrichten
fort.
Obwohl veranschaulichende Ausführungsformen der vorliegenden
Erfindung hierin mit Bezugnahme auf die begleitenden
Zeichnungen beschrieben wurden, muss klar sein, dass die
Erfindung nicht auf genau diese Ausführungsformen begrenzt
ist und dass ein Fachmann verschiedene andere Änderungen
daran vornehmen kann, ohne vom Umfang oder von der Wesensart
der Erfindung abzuweichen.
Claims (19)
1. Verfahren zur Verwendung in einer Sendeeinheit zur
Bereitstellung einer Kommunikation zwischen Anwendungen
zwischen der Sendeeinheit und einer oder mehreren
anderen Einheiten in einem drahtlosen Netz, wobei das
Verfahren die folgenden Schritte umfasst:
Kennzeichnen eines Datenelementes mit einem Bezeichner, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und der einen oder den mehreren anderen Einheiten eindeutig ist; und
Rundsenden des gekennzeichneten Datenelementes im drahtlosen Netz zum Empfang durch eine oder mehrere andere Einheiten im drahtlosen Netz, die sich innerhalb eines der Sendeeinheit zugeordneten Funkbereichs befinden, ohne dass diese Kenntnis vom Vorhandensein der einen oder mehreren Einheiten hat.
Kennzeichnen eines Datenelementes mit einem Bezeichner, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und der einen oder den mehreren anderen Einheiten eindeutig ist; und
Rundsenden des gekennzeichneten Datenelementes im drahtlosen Netz zum Empfang durch eine oder mehrere andere Einheiten im drahtlosen Netz, die sich innerhalb eines der Sendeeinheit zugeordneten Funkbereichs befinden, ohne dass diese Kenntnis vom Vorhandensein der einen oder mehreren Einheiten hat.
2. Verfahren nach Anspruch 1, wobei der Bezeichner unter
Verwendung von mindestens einem der folgenden Faktoren
erzeugt wird: einem aktuellen Datum und einer aktuellen
Uhrzeit, einer aktuellen Taktfolge, einem erhöhten
Zeigerwert und einer Einheitkennung.
3. Verfahren nach Anspruch 1, wobei die Kennzeichnungs- und
Rundsendevorgänge von einer der Sendeeinheit
zugeordneten Anwendung in Übereinstimmung mit einer
Anwendungsprogrammschnittstelle ausgeführt werden.
4. Verfahren zur Verwendung in einer Empfangseinheit zur
Bereitstellung einer Kommunikation zwischen Anwendungen
zwischen der Empfangseinheit und einer oder mehreren
anderen Einheiten in einem drahtlosen Netz, wobei das
Verfahren die folgenden Schritte umfasst:
Empfangen eines Rundsendedatenelementes, wenn sich die Empfangseinheit innerhalb eines Funkbereichs einer Einheit befindet, die das Datenelement sendete, ohne dass sie Kenntnis vom Vorhandensein der Sendeeinheit hat, wobei das Datenelement mit einem Bezeichner gekennzeichnet ist, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und einer oder mehreren anderen Einheiten im drahtlosen Netz eindeutig ist; und
Annehmen des Datenelementes zur Verarbeitung, wenn der Bezeichner im Wesentlichen mit einem Bezeichner übereinstimmt, der von einer der Empfangseinheit zugeordneten Anwendung erwartet wird.
Empfangen eines Rundsendedatenelementes, wenn sich die Empfangseinheit innerhalb eines Funkbereichs einer Einheit befindet, die das Datenelement sendete, ohne dass sie Kenntnis vom Vorhandensein der Sendeeinheit hat, wobei das Datenelement mit einem Bezeichner gekennzeichnet ist, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und einer oder mehreren anderen Einheiten im drahtlosen Netz eindeutig ist; und
Annehmen des Datenelementes zur Verarbeitung, wenn der Bezeichner im Wesentlichen mit einem Bezeichner übereinstimmt, der von einer der Empfangseinheit zugeordneten Anwendung erwartet wird.
5. Verfahren nach Anspruch 4, wobei der Bezeichner unter
Verwendung von mindestens einer der folgenden
Informationen erzeugt wird: einem aktuellen Datum und
einer aktuellen Uhrzeit, einer aktuellen Taktfolge,
einem erhöhten Zählerwert und einer Einheitkennung.
6. Verfahren nach Anspruch 4, wobei die Empfangs- und
Sendevorgänge von der Anwendung in Übereinstimmung mit
einer Anwendungsprogrammschnittstelle ausgeführt werden.
7. Verfahren nach Anspruch 4, das außerdem vor dem
Empfangen eines Rundsendedatenelementes den Schritt des
Registrierens von einem oder mehreren Bezeichnern
umfasst, für die die Empfangseinheit ein oder mehrere
Datenelemente empfangen möchte.
8. Verfahren nach Anspruch 7, wobei der Annahmevorgang das
Vergleichen des Bezeichners des empfangenen
Datenelementes mit dem einen oder den mehreren
registrierten Bezeichnern umfasst, um festzustellen, ob
das Datenelement eines ist, das die Empfangseinheit
empfangen möchte.
9. Verfahren zum Bereitstellen einer Kommunikation zwischen
Anwendungen zwischen einer Sendeeinheit und einer oder
mehreren Empfangseinheiten in einem drahtlosen Netz,
wobei das Verfahren die folgenden Schritte umfasst:
in der Sendeeinheit Kennzeichnen eines Datenelementes mit einem Bezeichner, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und der einen oder den mehreren Empfangseinheiten eindeutig ist;
in der Sendeeinheit Rundsenden des gekennzeichneten Datenelementes im drahtlosen Netz;
in einer Empfangseinheit Empfangen des Rundsendedatenelementes, wenn sich die Empfangseinheit innerhalb eines Funkbereichs der Sendeeinheit befindet; und
in einer Empfangseinheit Annehmen des Datenelementes zur Verarbeitung, wenn der Bezeichner im Wesentlichen mit einem Bezeichner übereinstimmt, der von einer der Empfangseinheit zugeordneten Anwendung erwartet wird;
wobei die Sendeeinheit und die Empfangseinheit keine Kenntnis vom Vorhandensein der jeweils anderen Einheit haben.
in der Sendeeinheit Kennzeichnen eines Datenelementes mit einem Bezeichner, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und der einen oder den mehreren Empfangseinheiten eindeutig ist;
in der Sendeeinheit Rundsenden des gekennzeichneten Datenelementes im drahtlosen Netz;
in einer Empfangseinheit Empfangen des Rundsendedatenelementes, wenn sich die Empfangseinheit innerhalb eines Funkbereichs der Sendeeinheit befindet; und
in einer Empfangseinheit Annehmen des Datenelementes zur Verarbeitung, wenn der Bezeichner im Wesentlichen mit einem Bezeichner übereinstimmt, der von einer der Empfangseinheit zugeordneten Anwendung erwartet wird;
wobei die Sendeeinheit und die Empfangseinheit keine Kenntnis vom Vorhandensein der jeweils anderen Einheit haben.
10. Vorrichtung zum Bereitstellen einer Kommunikation
zwischen Anwendungen zwischen einer oder mehreren
Einheiten in einem drahtlosen Netz, wobei die
Vorrichtung Folgendes umfasst:
eine Sendeeinheit, die für die folgenden Vorgänge funktionsfähig ist: (i) Kennzeichnen eines Datenelementes mit einem Bezeichner, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und der einen oder den mehreren anderen Einheiten eindeutig ist; und (ii) Rundsenden des gekennzeichneten Datenelementes im drahtlosen Netz zum Empfang durch eine oder mehrere andere Einheiten im drahtlosen Netz, die sich innerhalb eines der Sendeeinheit zugeordneten Funkbereichs befinden, ohne dass sie Kenntnis vom Vorhandensein der einen oder mehreren Einheiten hat.
eine Sendeeinheit, die für die folgenden Vorgänge funktionsfähig ist: (i) Kennzeichnen eines Datenelementes mit einem Bezeichner, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und der einen oder den mehreren anderen Einheiten eindeutig ist; und (ii) Rundsenden des gekennzeichneten Datenelementes im drahtlosen Netz zum Empfang durch eine oder mehrere andere Einheiten im drahtlosen Netz, die sich innerhalb eines der Sendeeinheit zugeordneten Funkbereichs befinden, ohne dass sie Kenntnis vom Vorhandensein der einen oder mehreren Einheiten hat.
11. Vorrichtung nach Anspruch 10, wobei der Bezeichner unter
Verwendung von mindestens einem der folgenden
Informationen erzeugt wird: einem aktuellen Datum und
einer aktuellen Uhrzeit, einer aktuellen Taktfolge,
einem erhöhten Zählerwert und einer Einheitkennung.
12. Vorrichtung nach Anspruch 10, wobei die Kennzeichnungs-
und Rundsendevorgänge von einer der Sendeeinheit
zugeordneten Anwendung in Übereinstimmung mit einer
Anwendungsprogrammschnittstelle ausgeführt werden.
13. Vorrichtung zum Bereitstellen einer Kommunikation
zwischen Anwendungen zwischen einer oder mehreren
Einheiten in einem drahtlosen Netz, wobei die
Vorrichtung Folgendes umfasst:
eine Empfangseinheit, die für die folgenden Vorgänge funktionsfähig ist: (i) Empfangen eines Rundsendedatenelementes, wenn sich die Empfangseinheit innerhalb eines Funkbereichs einer Einheit befindet, die das Datenelement sendete, ohne dass sie Kenntnis vom Vorhandensein der Sendeeinheit hat, wobei das Datenelement mit einem Bezeichner gekennzeichnet ist, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und einer oder mehreren anderen Einheiten im drahtlosen Netz eindeutig ist; und (ii) Annehmen des Datenelementes zur Verarbeitung, wenn der Bezeichner im Wesentlichen mit einem Bezeichner übereinstimmt, der von einer der Empfangseinheit zugeordneten Anwendung erwartet wird.
eine Empfangseinheit, die für die folgenden Vorgänge funktionsfähig ist: (i) Empfangen eines Rundsendedatenelementes, wenn sich die Empfangseinheit innerhalb eines Funkbereichs einer Einheit befindet, die das Datenelement sendete, ohne dass sie Kenntnis vom Vorhandensein der Sendeeinheit hat, wobei das Datenelement mit einem Bezeichner gekennzeichnet ist, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und einer oder mehreren anderen Einheiten im drahtlosen Netz eindeutig ist; und (ii) Annehmen des Datenelementes zur Verarbeitung, wenn der Bezeichner im Wesentlichen mit einem Bezeichner übereinstimmt, der von einer der Empfangseinheit zugeordneten Anwendung erwartet wird.
14. Vorrichtung nach Anspruch 13, wobei der Bezeichner unter
Verwendung von mindestens einer der folgenden
Informationen erzeugt wird: einem aktuellen Datum und
einer aktuellen Uhrzeit, einer aktuellen Taktfolge,
einem erhöhten Zählerwert und einer Einheitkennung.
15. Vorrichtung nach Anspruch 13, wobei die Empfangs- und
Sendevorgänge von der Anwendung in Übereinstimmung mit
einer Anwendungsprogrammschnittstelle ausgeführt werden.
16. Vorrichtung nach Anspruch 13, die vor dem Empfangen
eines Rundsendedatenelementes außerdem den Vorgang des
Registrierens von einem oder mehreren Bezeichnern
umfasst, für die die Empfangseinheit ein oder mehrere
Datenelemente empfangen möchte.
17. Vorrichtung nach Anspruch 16, wobei der Annahmevorgang
das Vergleichen des Bezeichners des empfangenen
Datenelementes mit dem einen oder den mehreren
registrierten Bezeichnern umfasst, um festzustellen, ob
das Datenelement eines ist, das die Empfangseinheit
empfangen möchte.
18. Fertigungsartikel zur Verwendung in einer Sendeeinheit
zum Bereitstellen einer Kommunikation zwischen
Anwendungen zwischen der Sendeeinheit und einer oder
mehreren anderen Einheiten in einem drahtlosen Netz, der
einen maschinenlesbaren Datenträger umfasst, der ein
oder mehrere Programme enthält, die bei Ausführung die
folgenden Schritte realisieren:
Kennzeichnen eines Datenelementes mit einem Bezeichner, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und der einen oder den mehreren anderen Einheiten eindeutig ist; und
Rundsenden des gekennzeichneten Datenelementes im drahtlosen Netz zum Empfang durch eine oder mehrere andere Einheiten im drahtlosen Netz, die sich innerhalb eines der Sendeeinheit zugeordneten Funkbereichs befinden, ohne dass diese Kenntnis vom Vorhandensein der einen oder mehreren Einheiten hat.
Kennzeichnen eines Datenelementes mit einem Bezeichner, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und der einen oder den mehreren anderen Einheiten eindeutig ist; und
Rundsenden des gekennzeichneten Datenelementes im drahtlosen Netz zum Empfang durch eine oder mehrere andere Einheiten im drahtlosen Netz, die sich innerhalb eines der Sendeeinheit zugeordneten Funkbereichs befinden, ohne dass diese Kenntnis vom Vorhandensein der einen oder mehreren Einheiten hat.
19. Fertigungsartikel zur Verwendung in einer
Empfangseinheit zum Bereitstellen einer Kommunikation
zwischen Anwendungen zwischen der Empfangseinheit und
einer oder mehreren anderen Einheiten in einem
drahtlosen Netz, der einen maschinenlesbaren Datenträger
umfasst, der ein oder mehrere Programme enthält, die bei
Ausführung die folgenden Schritte realisieren:
Empfangen eines Rundsendedatenelementes, wenn sich die Empfangseinheit innerhalb eines Funkbereichs einer Einheit befindet, die das Datenelement sendete, ohne dass sie Kenntnis vom Vorhandensein der Sendeeinheit hat, wobei das Datenelement mit einem Bezeichner gekennzeichnet ist, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und einer oder mehreren anderen Einheiten im drahtlosen Netz eindeutig ist; und
Annehmen des Datenelementes zur Verarbeitung, wenn der Bezeichner im Wesentlichen mit einem Bezeichner übereinstimmt, der von einer der Empfangseinheit zugeordneten Anwendung erwartet wird.
Empfangen eines Rundsendedatenelementes, wenn sich die Empfangseinheit innerhalb eines Funkbereichs einer Einheit befindet, die das Datenelement sendete, ohne dass sie Kenntnis vom Vorhandensein der Sendeeinheit hat, wobei das Datenelement mit einem Bezeichner gekennzeichnet ist, der für eine vorgesehene Kommunikation zwischen der Sendeeinheit und einer oder mehreren anderen Einheiten im drahtlosen Netz eindeutig ist; und
Annehmen des Datenelementes zur Verarbeitung, wenn der Bezeichner im Wesentlichen mit einem Bezeichner übereinstimmt, der von einer der Empfangseinheit zugeordneten Anwendung erwartet wird.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/523,894 | 2000-03-13 | ||
US09/523,894 US6816881B1 (en) | 2000-03-13 | 2000-03-13 | Method and apparatus for inter-application communication in wireless networks |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10107207A1 true DE10107207A1 (de) | 2001-09-27 |
DE10107207B4 DE10107207B4 (de) | 2010-03-18 |
Family
ID=24086871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10107207A Expired - Lifetime DE10107207B4 (de) | 2000-03-13 | 2001-02-16 | Verfahren und Vorrichtung zur Kommunikation zwischen Anwendungen in drahtlosen Netzen |
Country Status (4)
Country | Link |
---|---|
US (1) | US6816881B1 (de) |
KR (1) | KR100496712B1 (de) |
DE (1) | DE10107207B4 (de) |
TW (1) | TW507439B (de) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024464B1 (en) | 2000-06-29 | 2006-04-04 | 3Com Corporation | Dynamic content management for wireless communication systems |
US7136363B2 (en) * | 2001-01-09 | 2006-11-14 | Nokia Corporation | Method and apparatus for improving radio spectrum usage and decreasing user data delay when providing packet PSI status |
US7715533B2 (en) * | 2001-04-27 | 2010-05-11 | Hewlett-Packard Development Company, L.P. | Brokering of information acquisition by devices in a wireless network |
US6968178B2 (en) * | 2001-04-27 | 2005-11-22 | Hewlett-Packard Development Company, L.P. | Profiles for information acquisition by devices in a wireless network |
US7177658B2 (en) * | 2002-05-06 | 2007-02-13 | Qualcomm, Incorporated | Multi-media broadcast and multicast service (MBMS) in a wireless communications system |
US20040203350A1 (en) * | 2002-05-07 | 2004-10-14 | Intel Corporation | Wireless communication device and method for information retrieval using a universal identity metatag |
US7551199B2 (en) * | 2003-05-05 | 2009-06-23 | Microsoft Corporation | Computer camera system and method for reducing parallax |
US7827232B2 (en) * | 2003-05-05 | 2010-11-02 | Microsoft Corporation | Record button on a computer system |
US20040240650A1 (en) | 2003-05-05 | 2004-12-02 | Microsoft Corporation | Real-time communications architecture and methods for use with a personal computer system |
US7221331B2 (en) | 2003-05-05 | 2007-05-22 | Microsoft Corporation | Method and system for auxiliary display of information for a computing device |
US20040235520A1 (en) | 2003-05-20 | 2004-11-25 | Cadiz Jonathan Jay | Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer |
GB0313473D0 (en) * | 2003-06-11 | 2003-07-16 | Koninkl Philips Electronics Nv | Configuring a radio network for selective broadcast |
US7216221B2 (en) | 2003-09-30 | 2007-05-08 | Microsoft Corporation | Method and system for unified audio control on a personal computer |
US7548255B2 (en) | 2003-09-30 | 2009-06-16 | Microsoft Corporation | Method and system for capturing video on a personal computer |
US10445799B2 (en) | 2004-09-30 | 2019-10-15 | Uber Technologies, Inc. | Supply-chain side assistance |
US9747579B2 (en) | 2004-09-30 | 2017-08-29 | The Invention Science Fund I, Llc | Enhanced user assistance |
US9307577B2 (en) * | 2005-01-21 | 2016-04-05 | The Invention Science Fund I, Llc | User assistance |
US8704675B2 (en) * | 2004-09-30 | 2014-04-22 | The Invention Science Fund I, Llc | Obtaining user assistance |
US20100146390A1 (en) * | 2004-09-30 | 2010-06-10 | Searete Llc, A Limited Liability Corporation | Obtaining user assestance |
US9098826B2 (en) * | 2004-09-30 | 2015-08-04 | The Invention Science Fund I, Llc | Enhanced user assistance |
US7798401B2 (en) * | 2005-01-18 | 2010-09-21 | Invention Science Fund 1, Llc | Obtaining user assistance |
US8341522B2 (en) | 2004-10-27 | 2012-12-25 | The Invention Science Fund I, Llc | Enhanced contextual user assistance |
US10514816B2 (en) | 2004-12-01 | 2019-12-24 | Uber Technologies, Inc. | Enhanced user assistance |
US8762839B2 (en) * | 2004-09-30 | 2014-06-24 | The Invention Science Fund I, Llc | Supply-chain side assistance |
US7694881B2 (en) * | 2004-09-30 | 2010-04-13 | Searete Llc | Supply-chain side assistance |
US20060090132A1 (en) * | 2004-10-26 | 2006-04-27 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Enhanced user assistance |
US7922086B2 (en) | 2004-09-30 | 2011-04-12 | The Invention Science Fund I, Llc | Obtaining user assistance |
US8282003B2 (en) * | 2004-09-30 | 2012-10-09 | The Invention Science Fund I, Llc | Supply-chain side assistance |
US20060206817A1 (en) * | 2005-02-28 | 2006-09-14 | Jung Edward K | User assistance for a condition |
US10687166B2 (en) * | 2004-09-30 | 2020-06-16 | Uber Technologies, Inc. | Obtaining user assistance |
US7664736B2 (en) * | 2005-01-18 | 2010-02-16 | Searete Llc | Obtaining user assistance |
US9038899B2 (en) * | 2004-09-30 | 2015-05-26 | The Invention Science Fund I, Llc | Obtaining user assistance |
US7581034B2 (en) * | 2004-11-23 | 2009-08-25 | Microsoft Corporation | Sending notifications to auxiliary displays |
US7711868B2 (en) | 2004-11-23 | 2010-05-04 | Microsoft Corporation | Waking a main computer system to pre-fetch data for an auxiliary computing device |
US7634780B2 (en) * | 2004-11-23 | 2009-12-15 | Microsoft Corporation | Method and system for exchanging data between computer systems and auxiliary displays |
US7784065B2 (en) * | 2005-02-07 | 2010-08-24 | Microsoft Corporation | Interface for consistent program interaction with auxiliary computing devices |
US8358976B2 (en) | 2006-03-24 | 2013-01-22 | The Invention Science Fund I, Llc | Wireless device with an aggregate user interface for controlling other devices |
US20100274568A1 (en) * | 2009-04-22 | 2010-10-28 | Nokia Corporation | Method and apparatus for monitoring user activity in linked services |
US20100318987A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Bootstrapping streamed and virtualized applications |
TW201501560A (zh) * | 2013-03-15 | 2015-01-01 | Interdigital Patent Holdings | 點對點通訊情境感知同步方法及裝置 |
US9552559B2 (en) | 2014-05-06 | 2017-01-24 | Elwha Llc | System and methods for verifying that one or more directives that direct transport of a second end user does not conflict with one or more obligations to transport a first end user |
US9483744B2 (en) | 2014-05-06 | 2016-11-01 | Elwha Llc | Real-time carpooling coordinating systems and methods |
US10458801B2 (en) | 2014-05-06 | 2019-10-29 | Uber Technologies, Inc. | Systems and methods for travel planning that calls for at least one transportation vehicle unit |
US11100434B2 (en) | 2014-05-06 | 2021-08-24 | Uber Technologies, Inc. | Real-time carpooling coordinating system and methods |
US9591685B2 (en) * | 2015-07-21 | 2017-03-07 | Qualcomm Incorporated | Efficient application synchronization using out-of-band device-to-device communication |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4430755A (en) * | 1981-05-14 | 1984-02-07 | Motorola, Inc. | Portable radio telephone |
IT1183820B (it) * | 1985-05-06 | 1987-10-22 | Fiat Auto Spa | Sistema di comunicazione e segnalazione automatica fra una pluralita di autoveicoli |
DE4034681A1 (de) * | 1990-10-31 | 1992-05-14 | Norm Pacific Automat Corp | System zur uebertragung von verkehrsinformationen zwischen fahrzeugen und zur steuerung |
JP2864743B2 (ja) * | 1990-12-20 | 1999-03-08 | 日本電気株式会社 | 無線選択呼出し方式およびそれに用いる受信機 |
US5561702A (en) * | 1994-01-18 | 1996-10-01 | Uniden America Corporation | Pager having remotely programmable canned messages |
US5701418A (en) * | 1994-03-31 | 1997-12-23 | Chrysler Corporation | Intra-vehicular LAN and method of routing messages along it using hash functions |
US5522077A (en) * | 1994-05-19 | 1996-05-28 | Ontos, Inc. | Object oriented network system for allocating ranges of globally unique object identifiers from a server process to client processes which release unused identifiers |
FR2720580B1 (fr) * | 1994-05-26 | 1996-06-21 | France Telecom | Procédé de programmation à distance de terminaux de communication et dispositif de mise en Óoeuvre de ce procédé. |
US5481532A (en) * | 1994-06-29 | 1996-01-02 | General Electric Company | Mobile telecommunications device and service |
US5732282A (en) * | 1995-06-30 | 1998-03-24 | Sun Microsystems, Inc. | Virtual device driver registry having a globally unique identifier supplying virtual driver call information to the requesting program |
US6694372B1 (en) * | 1997-06-17 | 2004-02-17 | Advanced Micro Devices, Inc. | Method and system for effective network communication of an unsupported media standard by encapsulated packet tagging |
DE19903909A1 (de) * | 1999-02-01 | 2000-08-03 | Delphi 2 Creative Tech Gmbh | Verfahren und Vorrichtung zur Gewinnung von relevanter Verkehrsinformation und zur dynamischen Routenoptimierung |
-
2000
- 2000-03-13 US US09/523,894 patent/US6816881B1/en not_active Expired - Lifetime
-
2001
- 2001-02-16 DE DE10107207A patent/DE10107207B4/de not_active Expired - Lifetime
- 2001-02-24 KR KR10-2001-0009501A patent/KR100496712B1/ko not_active IP Right Cessation
- 2001-03-15 TW TW090105507A patent/TW507439B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE10107207B4 (de) | 2010-03-18 |
KR20010091910A (ko) | 2001-10-23 |
TW507439B (en) | 2002-10-21 |
US6816881B1 (en) | 2004-11-09 |
KR100496712B1 (ko) | 2005-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10107207B4 (de) | Verfahren und Vorrichtung zur Kommunikation zwischen Anwendungen in drahtlosen Netzen | |
DE3750941T2 (de) | Multiaufgabenteilnehmerverfahren für das Wiederauffinden von Daten. | |
DE69730690T2 (de) | Verfahren und apparat zum dynamischen austausch von objekt-nachrichten zwischen objekt-modellen | |
DE69032191T2 (de) | Anordnung und Verfahren zur Realisierung von Hochleistungskommunikation zwischen Softwareprozessen | |
DE3689990T2 (de) | Flexible Datenübertragung für nachrichtenorientierte Protokolle. | |
DE60028561T2 (de) | Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen | |
DE602005006391T2 (de) | System und verfahren zum asynchronen kommunizieren mit web-diensten unter verwendung von nachrichtensatzdefinitionen | |
DE69127919T4 (de) | Gerät und Verfahren zur Durchführung einer anwendungsbestimmten Operation auf Daten als Teil einer systembestimmten Operation auf die Daten | |
DE60121987T2 (de) | Zugreifen auf Daten, die bei einer Zwischenstation gespeichert sind, von einem Dienst aus | |
DE60120920T2 (de) | Nachrichtenübermittlungssystem | |
DE69624579T2 (de) | System und verfahren für eine verteilte objektverwaltungsumgebung an mehreren orten | |
DE10117282B4 (de) | System und Verfahren zur gleichzeitigen Ausführung von POP E-Mailing und Chatten sowie Verwendung des Verfahrens in einem Internet-Einkaufszentrum | |
DE69810654T2 (de) | Verfahren und gerät zum führen von transaktionen in einer zustandslosen web-umgebung, welche ein deklaratives paradigma unterstützt | |
DE60027897T2 (de) | Drahtlose teilnehmereinheit und verfahren zur verwaltung chipkartendaten. | |
DE69429333T2 (de) | Vereinbarung von protokollen, klassen und optionen in netzwerken | |
DE69734432T2 (de) | Verfahren und Vorrichtung zur Absendung von Clientverfahrenanrufen in einem Server Rechnersystem | |
DE60103610T2 (de) | Bereitstellung von Diensten für tragbare Informationsgeräte über ein Informationstechnologienetz | |
US7756949B2 (en) | System of handling a web service call | |
DE112008001729T5 (de) | Systeme und Verfahren zum Schieben von Nachrichten auf Mobilendgeräte | |
DE112006003087T5 (de) | Handgerätgestütztes Inhaltsübermittlungssystem für Weitbereichsnetzwerke und Verfahren zur Nutzung desselben | |
EP1182625A1 (de) | Einleitung einer elektronischen Zahlungstransaktion | |
DE10205108A1 (de) | System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung | |
DE112012000989B4 (de) | Peet-To-Peer-Kooperation von Herausgebern in einer Publikations-Abonnement-Umgebung | |
DE69133025T2 (de) | Multiprozessorsystem | |
DE60302368T2 (de) | System und Verfahren um den Transfer von Daten zwischen beliebigen Komponenten untereinander zu ermöglichen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8120 | Willingness to grant licences paragraph 23 | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7 |
|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: INTERNATIONAL BUSINESS MACHINES CORP., ARMONK,, US |
|
R071 | Expiry of right |