-
Technisches Gebiet
-
Die
vorliegende Erfindung bezieht sich auf den Datenaustausch zwischen
elektronischen Einheiten und insbesondere auf Datenaustausch durch eine
Anzahl verschiedener elektronischer Einheiten.
-
Hintergrundtechnik
-
Heutzutage
besitzen Personen zunehmend mehrere elektronische Einheiten. Beispielsweise kann
eine Person ein Mobiltelefon, eine persönliche digitale Helfereinheit
(PDA) und einen Laptopcomputer besitzen, die sich möglicherweise
alle am selben Ort befinden. Diese elektronischen Einheiten sind
typischerweise in Einzelbetriebsarten betreibbar und können mit
einer einzelnen anderen elektronischen Einheit synchron geschaltet
sein, im Allgemeinen auf eine Benutzeranforderung oder einen Benutzereingriff
hin. Es gibt jedoch einen Trend, mehr Anschlussmöglichkeiten zwischen elektronischen
Einheiten bereitzustellen. Beispielsweise sind manche elektronische
Einheiten dazu ausgelegt, mit mehreren elektronischen Einheiten
Daten auszutauschen. Das gemeinsame Nutzen von Daten wird jedoch
typischerweise zwischen vorgegebenen Sätzen elektronischer Einheiten
und elektronischen Einheiten verwendet, die für die Daten gemeinsam dasselbe
Format nutzen.
-
Des
Weiteren gibt es, wenn zwei oder mehr Personen, die jeweils ihre
eigenen Sätze
mehrerer elektronischer Einheiten mit sich führen, elektronische Einheiten
zum Austauschen von Daten verwenden wollen, eine herkömmliche
Art zum Durchführen des
Datenaustausches zwischen zwei elektronischen Einheiten vom gleichen
Typ. Beispielsweise kann eine Person eine Datei von einem PDA zu
einem PDA einer anderen Person übertragen.
Wenn ein Benutzer jedoch Daten zwischen zwei zufällig ausgewählten elektronischen Einheiten
gemeinsam nutzen möchte,
ist das Konfigurieren der ausgewählten
elektronischen Einheiten zum Austauschen von Daten miteinander nicht
ohne Weiteres ausführbar, ohne
dass die beiden elektronischen Einheiten gemeinsame Programme ausführen und
gemeinsame physische Verbindungen verwenden. Obwohl die Anzahl der
von einer einzelnen Person verwendeten elektronischen Einheiten
weiter zunimmt, bleiben deshalb Probleme bestehen, wenn das Einrichten von
Datenübertragungen
zwischen elektronischen Einheiten versucht wird.
-
Deshalb
sind verbesserte Techniken zum gemeinsamen Nutzen von Daten zwischen
elektronischen Einheiten nötig,
um elektronischen Einheiten den Austausch von Daten zu ermöglichen.
US 2002/0049817 beschreibt
ein vereinheitlichtes Datenübertragungssystem,
das den Zugriff für
eine Vielzahl von Datenübertragungs-Einheiten
und die Speicherung von Nachrichten in einem einzigen einheitlichen
Format ermöglicht.
-
Beschreibung der Erfindung
-
Die
vorliegende Erfindung stellt unter anderem Techniken zum Austauschen
von Daten einer elektronischen Einheit, die die Daten enthält, mit
einer dynamisch ausgewählten
elektronischen Einheit bereit, die am besten zum Wiedergeben der
Daten unter den momentanen Bedingungen geeignet ist, sodass einem
Benutzer eine Menge von Einheiten zur Verfügung steht, die ihm als ein
virtueller Arbeitsraum erscheint.
-
Unter
einem Gesichtspunkt der Erfindung werden Techniken zum Bereitstellen
eines virtuellen Arbeitsraumes für
eine Anzahl elektronischer Einheiten beschrieben, in dem Daten unter
den elektronischen Einheiten über
eine Anzahl von Verbindungen zwischen den elektronischen Einheiten
ausgetauscht werden können.
Der virtuelle Arbeitsraum wird bereitgestellt, indem ein oder mehrere
Datenformate ermittelt werden, die mit den für eine oder mehrere der elektronischen
Einheiten zugänglichen
Daten verknüpft
sind. Ein Teil der Daten weist ein bestimmtes Datenformat des einen
oder der mehreren Datenformate auf. Eine elektronische Einheit wird
wenigstens teilweise aufgrund vorgegebener Bedingungen und dem bestimmten
Datenformat ausgewählt.
Ein Pfad durch die Verbindungen zu der ausgewählten elektronischen Einheit
wird ermittelt, wobei der Pfad eine bestimmte oder mehrere der Verbindungen
enthält. Zumindest
der mit dem bestimmten Datenformat verknüpfte Datenteil wird über wenigstens
eine der vorgegebenen Verbindungen geführt. Der Datenteil kann zum
Wiedergeben durch die ausgewählte
elektronische Einheit verwendet werden, wenn er von der ausgewählten elektronischen
Einheit empfangen wird.
-
Die
Daten können
sich auf einer der elektronischen Einheiten oder auf einer entfernten
elektronischen Einheit befinden, die nicht zu den elektronischen
Einheiten zählt.
Des Weiteren kann es sich bei dem Datenteil um alle oder weniger
als alle Daten handeln.
-
Die
Daten können
auf der ausgewählten elektronischen
Einheit dargestellt werden. Es sollte angemerkt werden, dass jederzeit
mehrere Einheiten ausgewählt
sein können,
wobei jede elektronische Einheit einen oder mehrere Datenteile darstellt.
-
Die
vorgegebenen Bedingungen können auch
Einheitenbedingungen wie z. B. die Bildschirmauflösung, Anwendungsprogramme
und Audio-, Video- und andere Formate, die die Einheit darstellen kann,
enthalten. Zu den vorgegebenen Bedingungen können Benutzerbedingungen gehören, z.
B. dass eine Art von Datenformat immer auf einer bestimmten elektronischen
Einheit dargestellt wird. Die Benutzerwünsche können durch die Verwendung eines mehrdimensionalen
Bewertungsergebnisses angewendet werden. Das mehrdimensionale Bewertungsergebnis
kann durch das Hinzufügen
einer Anzahl von Ausdrücken
festgelegt werden, wobei jeder Ausdruck einen Wert aufweist, der
durch das Multiplizieren einer Variablen mit einem Gewicht berechnet wird.
Das Gewicht kann einem Benutzerwunsch entsprechen, und die Variable
kann einige quantitativ bestimmbare Daten über eine elektronische Einheit wie
z. B. die Wiedergabetreue oder die Nähe zum Gesichtsfeld des Benutzers
angeben.
-
Die
Datenformate können
anhand von Dateierweiterungen, Markierungen wie z. B. Auszeichnungs-Sprachkennzeichen
oder jedem anderen Datenformat-Kennzeichner ermittelt werden.
-
Es
ist möglich,
dass der Datenteil umgewandelt werden muss, bevor er auf der ausgewählten elektronischen
Einheit dargestellt werden kann. Wenn dies der Fall ist, kann ein
Datenumwandler unter den auf den elektronischen Einheiten verfügbaren Datenumwandlern
ausgewählt
werden. Der Datenteil kann durch die elektronischen Einheiten zum
Datenumwandler und dann zur ausgewählten elektronischen Einheit
geleitet werden. Es sollte angemerkt werden, dass mehrere Datenteile
zu mehreren Datenumwandlern geleitet und von mehreren Einheiten dargestellt
werden könnten.
Der Datenteil kann von einem Datenformat in ein anderes umgewandelt und/oder
umgeschlüsselt
werden, sodass der Datenteil neu formatiert wird. Die Daten können auch
durch eine elektronische Einheit mit dem Datenumwandler geführt werden,
bevor sie zur ausgewählten
elektronischen Einheit geleitet werden.
-
Um
eine elektronische Einheit zu ermitteln, die die vorgegebenen Bedingungen
erfüllt,
kann eine Diensterkennung ausgeführt
werden. Die Diensterkennung kann durch das Zugreifen auf ein Dienstverzeichnis
ausgeführt
werden. Das Dienstverzeichnis kann Attribute über jede der elektronischen
Einheiten und Verbindungen zwischen ihnen enthalten. Das Dienstverzeichnis
kann auf jeder der elektronischen Einheiten, einer oder mehrerer
der elektronischen Einheiten oder auf einer entfernten elektronischen Einheit,
die nicht zu den elektronischen Einheiten zählt, erzeugt werden und dort
vorhanden sein.
-
Unter
einem anderen Gesichtspunkt der Erfindung werden Techniken zum Bereitstellen
eines virtuellen Arbeitsraumes für
eine Anzahl von elektronischen Einheiten bereitgestellt, worin Daten
unter elektronischen Einheiten durch eine Vielzahl von Verbindungen
zwischen den elektronischen Einheiten ausgetauscht werden können. Ein
oder mehrere Attribute werden für
eine oder mehrere der elektronischen Einheiten in dem Arbeitsraum
ermittelt, und die Attribute können
in einem oder mehreren Dienstverzeichnissen gespeichert werden.
Die Attribute können
die Fähigkeiten
der elektronischen Einheiten, die Verbindungsarten für Verbindungen
zwischen elektronischen Einheiten, die Einheitenarten für elektronische
Einheiten, die Anwendungen und Dienste, die von den elektronischen
Einheiten bereitgestellt werden können, und die Zugriffsrechte
für jeden
von einer elektronischen Einheit bereitgestellten Dienst umfassen.
Ein oder mehrere Datenformate werden ermittelt, wobei das Datenformat
oder die Datenformate mit Daten verknüpft sind, auf die wenigstens eine
der elektronischen Einheiten zugreifen kann. Ein Teil der Daten
weist ein bestimmtes Datenformat des einen oder der mehreren Datenformate
auf. Eine elektronische Einheit wird wenigstens teilweise auf der
Grundlage der Attribute und dem bestimmten Datenformat ausgewählt. Es
wird ein Pfad durch die Verbindungen zur ausgewählten elektronischen Einheit
ermittelt, der eine bestimmte oder mehrere der Verbindungen enthält. Wenigstens
der mit dem bestimmten Datenformat verknüpfte Datenteil wird durch eine
oder mehrere der Verbindungen zu der ausgewählten elektronischen Einheit
geleitet. Der Datenteil ist für
die Darstellung durch die ausgewählte
elektronische Einheit verwertbar, wenn er von der ausgewählten elektronischen
Einheit empfangen wird.
-
Ein
zweiter virtueller Arbeitsraum kann geschaffen werden, indem ein
zweites Dienstverzeichnis für
eine zweite Anzahl elektronischer Einheiten festgelegt wird. Auf
das zweite Dienstverzeichnis kann zum Auswählen einer elektronischen Einheit des
zweiten virtuellen Arbeitsraumes zugegriffen werden. Der erste und
der zweite Arbeitsraum können
verbunden werden, indem eine oder mehrere elektronische Einheiten
in dem ersten virtuellen Arbeitsraum mit einer oder mehreren elektronischen Einheiten
in dem zweiten virtuellen Arbeitsraum verbunden werden.
-
Ein
umfassenderes Verständnis
der Erfindung sowie weiteren Eigenschaften und Vorzügen der
Erfindung wird mit Bezug auf die folgende ausführliche Beschreibung und die
Zeichnungen erreicht werden.
-
Unter
einem ersten Gesichtspunkt stellt die vorliegende Erfindung ein
Verfahren zum Bereitstellen eines virtuellen Arbeitsraumes bereit,
der eine Vielzahl elektronischer Einheiten umfasst, und worin Daten
unter einer Vielzahl elektronischer Einheiten über eine Vielzahl von Verbindungen
zwischen den elektronischen Einheiten ausgetauscht werden können, wobei
das Verfahren von einer oder mehreren der elektronischen Einheiten
in dem virtuellen Arbeitsraum ausgeführt wird und die folgenden
Schritte umfasst: Ermitteln der innerhalb des virtuellen Arbeitsraumes
verfügbaren
Dienste; Ermitteln einer elektronischen Einheit in dem virtuellen
Arbeitsraum, die auf die Daten von Interesse zugreifen kann; Ermitteln
eines oder mehrerer Datenformate, die mit den Daten verknüpft sind;
Auswählen
einer elektronischen Einheit aus der Vielzahl elektronischer Einheiten
zumindest teilweise auf der Grundlage einer Vielzahl vorgegebener
Bedingungen und dem bestimmten Datenformat, die zum Darstellen wenigstens
eines Teils der Daten mit einem der Dienste geeignet ist; Ermitteln
eines Pfades durch die Vielzahl von Verbindungen zu der ausgewählten elektronischen
Einheit; und Führen
wenigstens des mit dem bestimmten Datenformat verknüpften Datenteils über zumindest einen
Teil des Pfades.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem sich die Daten
auf einer aus der Vielzahl elektronischer Einheiten oder einer entfernten
elektronischen Einheit befinden, die nicht zu den elektronischen
Einheiten gehört.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der virtuelle
Arbeitsraum einen ersten virtuellen Arbeitsraum darstellt und es
sich bei der ausgewählten
elektronischen Einheit um eine aus der Vielzahl von zweiten elektronischen
Einheiten aus einem zweiten virtuellen Arbeitsraum handelt, wobei
der erste und der zweite virtuelle Arbeitsraum durch wenigstens
eine zusätzliche
Verbindung verbunden sind.
-
Vorzugsweise
stellt die vorliegende Erfindung ein Verfahren bereit, in dem es
sich bei dem Datenteil um alle oder um weniger als alle Daten handelt.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem die ausgewählte elektronische Einheit
von einer ersten elektronischen Einheit zu einer zweiten elektronischen
Einheit wechselt, wenn eine elektronische Einheit zum virtuellen
Arbeitsraum hinzugefügt
oder aus ihm entfernt wird.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Auswählens
von einem Benutzer ausgeführt
wird.
-
Vorzugsweise
stellt die vorliegende Erfindung ein Verfahren bereit, bei dem der
Schritt des Auswählens
aufgrund einer Benutzeranforderung erneut ausgeführt wird.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem im Schritt des
Auswählens
eine elektronische Einheit zum Durchführen des Verfahrens ausgewählt wird,
wobei im Schritt des Ermittelns eines Pfades festgestellt wird,
dass der Pfad keine Verbindung aus der Vielzahl von Verbindungen
umfasst und der Schritt des Führens
das Leiten des Datenteils zu einem Dienst auf der elektronischen
Einheit umfasst, die das Verfahren ausführt.
-
Vorzugsweise
stellt die vorliegende Erfindung ein Verfahren bereit, das ferner
den Schritt des Darstellens wenigstens des Datenteils durch die
ausgewählte
elektronische Einheit umfasst.
-
Vorzugsweise
stellt die vorliegende Erfindung ein Verfahren bereit, das ferner
den Schritt des Anforderns einer Anwendung umfasst, die zum Darstellen
wenigstens des Datenteils verwendet wird.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Ermittelns eines oder mehrerer Datenformate ferner den Schritt des Ermittelns
des einen oder der mehreren Datenformate umfasst, die mit den Daten
verknüpft
sind, indem eine mit den Daten verknüpfte Dateierweiterung ermittelt
wird.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Ermittelns eines oder mehrerer Datenformate ferner den Schritt des Ermittelns
des einen oder der mehreren Datenformate umfasst, die mit den Daten
verknüpft
sind, indem eine mit den Daten verknüpfte Markierung verwendet wird.
-
Vorzugsweise
stellt die vorliegende Erfindung ein Verfahren bereit, bei dem es
sich bei der Markierung um ein Auszeichnungs-Sprachkennzeichen handelt.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem die Benutzerwünsche die
Wiedergabetreue oder die Nähe
zum Gesichtsfeld des Benutzers oder beides umfassen.
-
Vorzugsweise
stellt die vorliegende Erfindung ein Verfahren bereit, bei dem die
vorgegebenen Bedingungen Benutzerwünsche umfassen und der Schritt
des Auswählens
ferner den Schritt des Auswählens
der elektronischen Einheit auf der Grundlage eines mehrdimensionalen
Bewertungsergebnisses umfasst, das wenigstens unter Verwendung der Benutzerwünsche ermittelt
wurde.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, das ferner den Schritt
des Ermittelns des mehrdimensionalen Bewertungsergebnisses durch das
Hinzufügen
von zwei oder mehr Ausdrücken
umfasst, wobei jeder Ausdruck einen Wert aufweist, der durch das
Multiplizieren einer Variablen mit einem Gewicht festgelegt wird,
wobei jedes Gewicht einem Benutzerwunsch entspricht.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Ermittelns eines Pfades ferner den Schritt des Ermittelns der vorgegebenen
oder mehrerer Verbindungen auf der Grundlage von Leitweglenkung-Bedingungen
umfasst, um wenigstens den mit dem bestimmten Datenformat verknüpften Datenteil
zu leiten, wobei die Leitweglenkung-Bedingungen Kriterien für die Verlustleistung und/oder
Kriterien für
die Verbindungsart umfassen.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem die vorgegebenen
Bedingungen ferner Einheitenkriterien umfassen.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, das ferner den Schritt
des Ermittelns der Einheitenkriterien durch eine Diensterkennung
umfasst.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Ermittelns der Einheitenkriterien durch eine Diensterkennung ferner den
Schritt des Zugreifens auf ein Dienstverzeichnis umfasst, das eines
oder mehrere Attribute enthält, die
wenigstens einer der elektronischen Einheiten entsprechen.
-
Vorzugsweise
stellt die vorliegende Erfindung ein Verfahren bereit, das ferner
den Schritt des Erzeugens eines Dienstverzeichnisses umfasst, indem
auf jede der Vielzahl elektronischer Einheiten zugegriffen wird,
um das eine oder die mehreren Attribute zu ermitteln.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem das Dienstverzeichnis
auf einer oder mehreren der elektronischen Einheiten gespeichert
wird.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem das Dienstverzeichnis
auf einer entfernten elektronischen Einheit gespeichert wird, die
nicht zu der Vielzahl elektronischer Einheiten zählt.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Führens
ferner den Schritt des Unterbindens des Zugriffs wenigstens auf den
Datenteil auf der Grundlage einer Berechtigung des Benutzers, auf
die Daten zuzugreifen, oder einem Nachweis der Identität eines
Benutzers umfasst, der auf die Daten zuzugreifen versucht.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, das ferner den Schritt
des Umwandelns des Datenteils umfasst.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Umwandelns das Umwandeln des Datenteils von einem bestimmten Datenformat
in ein anderes Format und das Umschlüsseln des Datenteils oder beides
umfasst.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Umwandelns von einer oder mehreren aus der Vielzahl elektronischer Einheiten
ausgeführt
wird.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Umwandelns von einer bestimmten elektronischen Einheit ausgeführt wird,
bei der es sich nicht um die ausgewählte elektronische Einheit
handelt, und bei dem der Schritt des Ermittelns eines Pfades ferner
den Schritt des Ermitteln eines Pfades durch die Vielzahl von Verbindungen
und durch die besondere elektronische Einheit zu der ausgewählten elektronischen
Einheit umfasst, wobei der Pfad die vorgegebene oder mehrere aus der
Vielzahl von Verbindungen umfasst.
-
Unter
einem zweiten Gesichtspunkt betrachtet stellt die Erfindung ein
Verfahren bereit, das einen virtuellen Arbeitsraum mit einer Vielzahl
elektronischer Einheiten zur Verfügung stellt, bei dem Daten unter
der Vielzahl elektronischer Einheiten über eine Vielzahl von Verbindungen
zwischen den elektronischen Einheiten ausgetauscht werden können, und das
Verfahren die folgenden Schritte umfasst: Ermitteln eines oder mehrerer
Attribute für
wenigstens eine aus der Vielzahl elektronischer Einheiten; Ermitteln
einer elektronischen Einheit in dem virtuellen Arbeitsraum, die
auf die Daten von Interesse zugreifen kann; Ermitteln eines oder
mehrerer Datenformate der Daten, von denen ein Teil der Daten ein
bestimmtes des einen oder der mehreren Datenformate aufweist; Auswählen einer
elektronischen Einheit aus der Vielzahl elektronischer Einheiten
wenigstens teilweise auf der Grundlage der Attribute und des bestimmten
Datenformats; Ermitteln eines Pfades durch die Vielzahl von Verbindungen
zu der ausgewählten
elektronischen Einheit, wobei der Pfad eine vorgegebene oder mehrere
aus der Vielzahl von Verbindungen enthält; und Leiten wenigstens des
mit dem bestimmten Datenformat verknüpften Datenteils über wenigstens
einen Teil des Pfades.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Ermittelns eines oder mehrerer Attribute ferner den Schritt des
Zugreifens auf ein Dienstverzeichnis zum Ermitteln des einen oder
der mehreren Attribute umfasst, wobei das Dienstverzeichnis eines
oder mehrere der folgenden Attribute enthält: Fähigkeiten wenigstens einer
der elektronischen Einheiten, Verbindungsarten für Verbindungen zwischen elektronischen
Einheiten, eine Einheitenart für
wenigstens eine der elektronischen Einheiten, Anwendungen und Dienste,
die von wenigstens einer der elektronischen Einheiten bereitgestellt
werden können,
und Zugriffsrechte für
jeden Dienst, der von der wenigstens einen elektronischen Einheit
bereitgestellt wird.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem der Schritt des
Auswählens
ferner den Schritt des Auswählens
einer elektronischen Einheit aus der Vielzahl elektronischer Einheiten
wenigstens teilweise auf der Grundlage der Attribute, des bestimmten
Datenformats und den Benutzerwünschen
umfasst.
-
Vorzugsweise
stellt die Erfindung ein Verfahren bereit, bei dem es sich bei den
elektronischen Einheiten um erste elektronische Einheiten und bei dem
virtuellen Arbeitsraum um einen ersten virtuellen Arbeitsraum handelt,
und das Verfahren ferner die folgenden Schritte umfasst: Ermitteln
eines oder mehrerer Attribute von jeder aus der Vielzahl zweiter elektronischer
Einheiten, wobei die Vielzahl der zweiten elektronischen Einheiten
einen zweiten virtuellen Arbeitsraum bildet; Verbinden wenigstens
einer der ersten elektronischen Einheiten mit wenigstens einer der
zweiten elektronischen Einheiten; und Ausführen der Schritte des Ermitteln
eines oder mehrerer Datenformate, Auswählens einer elektronischen
Einheit, Ermittelns eines Pfads und der Leitweglenkung, um eine
elektronischen Einheit aus der ersten und zweiten Vielzahl elektronischer
Einheiten auszuwählen.
-
Kurze Beschreibung der Zeichnungen
-
1 stellt
eine Veranschaulichung von zwei Sätzen elektronischer Einheiten
dar, die über ein
Netzwerk Daten übertragen,
wobei jeder Satz gemäß einer
bevorzugten Ausführungsform
der Erfindung in einen persönlichen
Arbeitsraum zusammengefasst ist;
-
Die 2 bis 4 stellen
Blockschaubilder dar, die zum Veranschaulichen beispielhafter Eigenschaften
und Verbindungen für
elektronische Einheiten in persönlichen
Arbeitsräumen
gemäß einer
bevorzugten Ausführungsform
der Erfindung verwendet werden;
-
5 stellt
ein Blockschaltbild eines Beispiels von vier elektronischen Einheiten
in einem Arbeitsraum dar, die gemäß einer bevorzugten Ausführungsform
der Erfindung Daten miteinander austauschen;
-
6 stellt
ein Blockschaubild dar, worin Softwareschichten veranschaulicht
werden, die zeigen, wie eine Ausführungsform der vorliegenden
Erfindung umgesetzt werden kann;
-
7A und 7B stellen
ausführliche Flussdiagramme
eines Verfahrens zum Auswählen einer
elektronischen Einheit und zum dynamischen Führen der Daten zu der ausgewählten elektronischen
Einheit gemäß einer
bevorzugten Ausführungsform
der Erfindung dar.
-
8 stellt
ein Flussdiagramm eines beispielhaften Verfahrens zum Einrichten
eines Erkennungsverzeichnisses dar, um neu verfügbare Dienstverzeichnisse hinzuzufügen;
-
9 stellt
ein Flussdiagramm eines beispielhaften Verfahrens zum Einrichten
eines Erkennungsverzeichnisses dar, um nicht länger verfügbare Dienstverzeichnisse zu
löschen;
-
Die 10 bis 15 stellen
beispielhafte Dienstverzeichnisse dar, die in den elektronischen Einheiten
mit den Bezeichnungen 11, 12, 13, 21, 22 bzw. 23 aus
den 2 bis 4 erzeugt wurden; und
-
16 stellt
ein Übersichtsverfahren
zum Auswählen
einer elektronischen Einheit und dynamischen Führen der Daten zu der ausgewählten elektronischen
Einheit gemäß einer
bevorzugten Ausführungsform
der Erfindung dar.
-
Verfahren zum Ausführen der
Erfindung
-
Die
Gesichtspunkte der Erfindung bieten die Möglichkeit, elektronische Einheiten
miteinander zu verbinden und Daten auszutauschen. Ein Satz solcher
elektronischen Einheiten kann in einen virtuellen Arbeitsraum zusammengefasst
werden. Eine anderer Satz elektronischer Einheiten kann ebenso in
einem anderen virtuellen Arbeitsraum zusammengefasst werden. Jeder
der virtuellen Arbeitsräume
kann optional Daten über
ein Netzwerk wie z. B. das Internet, ein Intranet oder ein ad-hoc-Netzwerk übertragen.
-
Ein
Benutzer könnte
auf Daten zugreifen wollen, die auf einer der elektronischen Einheiten
in einem virtuellen Arbeitsraum vorhanden sind, der mit dem Benutzer
verknüpft
ist oder sich in einem virtuellen Arbeitsraum befindet, der mit
einem anderen Benutzer verknüpft
ist. Die vorliegende Erfindung erlaubt das Auswählen einer elektronischen Einheit aus
allen der elektronischen Einheiten in einem virtuellen Arbeitsraum,
der mit einem Benutzer oder mehreren Benutzern verknüpft ist,
um die Daten für
den Benutzer darzustellen. Die ausgewählte elektronische Einheit
wird auf der Grundlage einer Anzahl vorgegebener Bedingungen und
einem oder mehreren Datenformaten ausgewählt, die mit den Daten verknüpft sind.
-
Ein
virtueller Arbeitsraum kann vorteilhaft eine dauerhafte und zusammenhängende Darstellung
von Daten bereitstellen und den Anschein erwecken, als ob eine einzelne
Computerplattform verwendet werden würde. Wenn ein Benutzer beispielsweise
einen Satz elektronischer Einheiten miteinander verbindet und unter
bestimmten Bedingungen auf gewisse Daten zugreift, müssen die
Daten auf einer oder vielleicht mehreren elektronischen Einheiten dargestellt
werden. Solange sich die Daten, Bedingungen und die elektronischen
Einheiten nicht ändern,
müssen
die Daten auf derselben oder denselben mehreren Einheiten dargestellt
werden. Auf diese Weise kann eine allgemein nutzbare und zusammenhängende Darstellung
der Daten mit den Ausführungsformen
der vorliegenden Erfindung bereitgestellt werden.
-
Nun
wird mit Bezug auf 1 eine Veranschaulichung von
zwei Sätzen
elektronischer Einheiten gezeigt, die Daten durch ein Netzwerk 111 übertragen.
Jeder Satz elektronischer Einheiten wird in persönliche Arbeitsräume 104 und 120 zusammengefasst.
Der Satz elektronischer Einheiten im persönlichen Arbeitsraum 104 umfasst
den Tischcomputer 101, das Mobiltelefon 102 und
den PDA 113 (insgesamt die elektronischen Einheiten 101 bis 103).
Der Satz elektronischer Einheiten im persönlichen Arbeitsraum 120 umfasst
den PDA 112, das Mobiltelefon 113 und den Laptopcomputer 114 (insgesamt
die elektronischen Einheiten 112 bis 114).
-
Eine
Person, die die Vielzahl elektronischer Einheiten 101 bis 103 mit
sich führt,
kann einen dauerhaft nutzbaren und zusammenhängenden Arbeitsraum 104 unter
diesen elektronischen Einheiten wünschen. Um den dauerhaftnutzbaren
und zusammenhängenden
Arbeitsraum 104 zur Verfügung zu stellen, müssen die
elektronischen Einheiten 101 bis 103 untereinander
zusammenarbeiten, um Daten und Ressourcen gemeinsam zu nutzen, und
vorzugsweise eine virtuelle Computerplattform bilden. Für diese Person
muss der virtuelle Arbeitsraum 104 bereitstellen, was sie
zum problemlosen Ausführen
ihrer Aufgabe benötigt.
Es bietet Vorzüge,
dass diese Einheiten 101 bis 103 Daten untereinander
austauschen und eine dauerhaft nutzbare Darstellung bereitstellen,
unabhängig
davon, welche elektronische Einheit verwendet wird. Es bringt auch
Vorzüge
mit sich, die Daten zu der elektronischen Einheit zu leiten, die
als die „beste" elektronische Einheit
zum Darstellen der Daten betrachtet wird.
-
In
einer Ausführungsform
der Erfindung wird die „beste" elektronische Einheit
durch Bedingungen festgelegt, darunter die Datentypen für die Daten,
Benutzerwünsche,
die Darstellungsfähigkeiten
der elektronischen Einheit und die Anzeigefähigkeiten der elektronischen
Einheit. Beispielsweise können
die PDAs 103 und 112 zum Darstellen (wie z. B.
mit der Bezugsnummer 106 gezeigt) von Anzeigenkalender- und
Adressbuchdaten, berechtigter persönlichen Informationsmanager-(PIM)Daten 107 und
Sprachnachrichten 108 in der Lage sein. Indessen können die
Mobiltelefone 102 und 113 in der Lage sein, die Sprachnachrichten 108 und
eine einfache eMail 119 darzustellen (wie z. B. mit der
Bezugsnummer 105 gezeigt). Andererseits können ein
Tischcomputer 101 und ein Laptopcomputer 114 in
der Lage sein, Daten wie z. B. die Sprachnachrichten 108 und
eine einfache eMail 119 sowie weitere verarbeitungsintensive
Daten wie z. B. ein Telefax 117 und ein Video 118 darzustellen
(z. B. mit der Bezugsnummer 121 gezeigt).
-
Auf
der Grundlage der Benutzerwünsche und
der Anzeige- und Darstellungsfähigkeiten
der elektronischen Einheiten 101 bis 103 werden
die Daten aus den PIM-Daten 107, den Sprachnachrichten 108,
der eMail 119, dem Telefax 117 und dem Video 118 in
den persönlichen
Arbeitsraum 104 zu einer oder mehreren ausgewählten elektronischen
Einheiten geführt.
Dieses Führen
wird vorzugsweise dynamisch ausgeführt, da die momentanen Umstände bestimmte
Kriterien zum Auswählen
einer elektronischen Einheit erfüllen
können,
aber zukünftige
Zustände
andere Kriterien zum Auswählen
einer anderen elektronischen Einheit erfüllen können. Wenn ein Benutzer beispielsweise
den Tischcomputer 101 verwendet, kann der Tischcomputer 101 als
die ausgewählte
elektronische Einheit gewählt
werden, um die Audio-Sprachnachricht 108 wiederzugeben.
Wenn der Benutzer den Tischcomputer 101 ausschaltet, kann
der PDA 103 zum Wiedergeben der Audio-Sprachnachricht 108 verwendet
werden.
-
Eine
zweite Person, die ihren Satz persönlicher elektronischer Einheiten 112 bis 114 mit
sich führt,
wird ihren eigenen persönlichen
Arbeitsraum 120 haben. In dem persönlichen Arbeitsraum 120 funktioniert
jede elektronische Einheit vorteilhafterweise zum Verarbeiten einer
bestimmten Aufgabe.
-
Wenn
der persönliche
Arbeitsraum 104 und der persönliche Arbeitsraum 120 Daten
zu übertragen
haben, müssen
sie vorher verbunden werden. Eine Teilmenge elektronischer Einheiten 101 bis 103 kann
von einer ersten Person mit einer Teilmenge elektronischer Einheiten 112 bis 114,
die von der zweiten Person mit sich geführt wird, über ein Netzwerk 111 verbunden
werden, bei dem es sich um das Internet, ein Intranet, eine durch
das Bilden eines ad-hoc-Netzwerks erzeugte direkte Verbindung oder ein
beliebiges anderes Netzwerk handeln kann. Wenn diese beiden persönlichen
Arbeitsräume 104 und 120 verbunden
werden, funktioniert jeder persönliche
Arbeitsraum 104 und 120 vorzugsweise als eine
eigenständige
Einheit und die beiden persönlichen
Arbeitsräume 104 und 120 ermitteln
die „beste" elektronische Einheit
der elektronischen Einheiten 101 bis 103 und 112 bis 114 unter
Verwendung bestimmter Kriterien. Sogar mit einer eingeschränkt verfügbaren Anschlussmöglichkeit
kann jeder persönliche
Arbeitsraum 104 und 120 dynamisch einen geeigneten
Pfad zu der besten elektronischen Einheit auf der Grundlage von
Leitweglenkungs-Bedingungen ermitteln, die die Umwandlung der Daten
und die Leitweglenkungs-Fähigkeit
der elektronischen Einheit umfassen.
-
Nun
wird ein anderes Beispiel vorgestellt. Das Mobiltelefon 113 kann
als die beste elektronische Einheit zum Darstellen von PIM-Daten 107 des PDA 103 infrage
kommen, während
der Tischcomputer 101 als die beste elektronische Einheit
zum Darstellen der Präsentationsschaubilder
(nicht gezeigt) des Laptopcomputers 114 infrage kommt.
Diese Daten werden zum Mobiltelefon 113 und dem Tischcomputer 101 geleitet,
nachdem in einer Ausführungsform
jede der elektronischen Einheiten 101 bis 103 und 112 bis 114 die
Benutzerwünsche
für jeden
Benutzer und die Einheitenfähigkeiten
untersucht, wobei die letzteren beispielsweise Anzeigefähigkeiten, Videofähigkeiten
und Audiofähigkeiten
beinhalten. Der PDA 103 könnte jedoch nicht in der Lage
sein, Daten direkt mit dem Mobiltelefon 113 auszutauschen.
Gleichermaßen
könnte
der Laptopcomputer 114 nicht in der Lage sein, Daten direkt
mit dem Tischcomputer 101 auszutauschen.
-
Es
wird angenommen, dass der PDA 103 jedoch mit dem Tischcomputer 101 Daten
austauschen kann, und der Tischcomputer 101 mit dem Mobiltelefon 113 verbunden
ist. In diesem Fall kann der PDA 103 den Tischcomputer 101 als
einen Stellvertreter (proxy) zum Leiten der Daten zum Mobiltelefon 113 verwenden.
Falls die PIM-Daten 107 des PDA 103 nicht vom
Mobiltelefon 113 erkannt werden, der Tischcomputer 101 aber
das sowohl für
den PDA 103 als auch das Mobiltelefon 113 erforderliche
Format erkennt, kann in diesem Beispiel der Tischcomputer 101,
der als ein stellvertretender Leitwegrechner verwendet wird, auch
die Umwandlung des Datenformats der PIM-Daten 107 ausführen. Falls
der Tischcomputer 101 andererseits das Datenformat der PIM-Daten 107 nicht,
aber das Mobiltelefon 102 das Datenformat erkennt, kann
das Mobiltelefon 102 als ein Datenumwandler verwendet werden.
Deshalb werden die PIM-Daten 107 zur Datenumwandlung zum
Mobiltelefon 102 geführt,
bevor die PIM-Daten 107 an den Tischcomputer 101 geleitet
werden.
-
Gleichermaßen wird
angenommen, dass der Laptopcomputer 114 nicht mit dem Tischcomputer 101 verbunden
ist. In diesem Fall wird der Laptopcomputer 114 versuchen,
den PDA 112 als einen Stellvertreter für den Datenaustausch mit dem
Tischcomputer 101 zu verwenden, vorausgesetzt, dass der
PDA 112 mit dem Laptopcomputer 114 verbunden ist.
Falls andererseits der Laptopcomputer 114 Daten direkt
mit dem Tischcomputer 101 austauschen kann, kann der Laptopcomputer 114 dann
direkt mit dem Tischcomputer 101 Daten austauschen. Falls
der Datenaustausch die Umwandlung des Datenformats erfordert, wird ferner
ein geeigneter Datenumwandler entweder innerhalb desselben Arbeitsraums
oder in einem anderen Arbeitsraum gesucht werden, und die Daten
können
wie vorher beschrieben durch den Datenumwandler geführt werden.
Es ist auch möglich,
dass die Datenumwandlung von mehr als einer elektronischen Einheit
ausgeführt wird.
-
Des
Weiteren können
die Daten, obwohl in 1 nicht gezeigt, mehrere Datenformate
enthalten. Beispielsweise kann das Video 118 sowohl Audiodaten
als auch Videodaten enthalten. Die Audiodaten könnten zum Laptop 114,
während
die Videodaten zum Tischcomputer 101 geleitet werden könnten.
-
Nun
sind mit Bezug auf 2 zwei persönliche Arbeitsräume 201 und 207 gezeigt.
Die persönlichen
Arbeitsräume 201 und 207 werden
zum Veranschaulichen beispielhafter Eigenschaften und Verbindungen
für die
elektronischen Einheiten 202, 203 und 213 im
persönlichen
Arbeitsraum 201 und die elektronischen Einheiten 206, 211 und 209 im
persönlichen Arbeitsraum 207 verwendet.
-
In
diesem Beispiel sind die drei elektronischen Einheiten 202, 203 und 213,
die den ersten persönlichen
Arbeitsraum bilden, miteinander durch die elektronische Einheit 202 verbunden,
die die Einheitenkennung (device ID) 11 aufweist. Mit anderen Worten,
die elektronische Einheit 202 führt mit der Einheitenkennung 11 die
Funktion eines Leitwegrechners sowohl für die elektronische Einheit 203 mit der
Einheitenkennung 12 als auch die elektronische Einheit 213 mit
der Einheitenkennung 13 aus. Bei der Verbindungsart für die Verbindung 215,
die die elektronischen Einheiten 201 und 203 verbindet,
handelt es sich um CT1. Bei der Verbindungsart für die Verbindung 214,
die die elektronischen Einheiten 202 und 213 verbindet,
handelt es sich um CT2. Andererseits ist in dem zweiten persönlichen
Arbeitsraum 207 jede elektronische Einheit mit allen anderen
elektronischen Einheiten 206, 211 und 209 innerhalb
desselben Arbeitsraumes über
die Verbindungen 205, 208 und 210 verbunden.
Bei den Verbindungsarten für
die Verbindung 210 zwischen der elektronischen Einheit 211 mit
der Einheitenkennung 22 und der elektronischen Einheit 209 mit
der Einheitenkennung 23 kann es sich entweder um CT1 oder
CT2 handeln. Bei den Verbindungen 205 und 208 zur
elektronischen Einheit 206 mit der Einheitenkennung 21 handelt
es sich um den Typ CT1.
-
Die
elektronischen Einheit 202 und die elektronische Einheit 209 stellen
elektronische Einheiten vom D1-Typ dar, unterstützen eine Verbindungsart CT1
und CT2 und führen
Anwendungen vom Typ AT1 und AT2 aus. Die Anwendung AP1 stellt die
Anwendungsart AT1 dar und unterstützt die Eingabeformate F1,
F2 und F4 und die Ausgabeformate F1 und F2. Bei der Anwendung AP8
handelt es sich auch um die Anwendungsart AT1, und sie unterstützt die
Eingabeformate F1, F2 und F3 und die Ausgabeformate F1 und F2, während die
Anwendung AP2 eine Anwendungsart AT2 darstellt und die Eingabeformate F3,
F4 und F5 und die Ausgabeformate F1 und F3 unterstützt. Die
elektronische Einheit 202 weist eine Farbanzeige mit einer
Auflösung
von 128 × 160
Bildelementen auf und ist auch in der Lage, das Audioformat Continuous-Variable-Slope-Delta-Modulation (CVSD)
mit 8 kHz zu unterstützen.
Diese Eigenschaften der elektronischen Einheiten 202, 203, 213, 206, 211 und 209 werden
in 2 tabelliert.
-
In 2 ist
der erste persönliche
Arbeitsraum 201 mit dem zweiten persönlichen Arbeitsraum 207 durch
die elektronische Einheit 202 verbunden. Die elektronische
Einheit 202 ist an die elektronische Einheit 211 und
die elektronischen Einheit 209 mit den Verbindungen 204 bzw. 212 angeschlossen,
die jeweils eine Verbindungsart CT1 oder CT2 aufweisen. Die Daten
können
durch die Verbindungen 204 und 212 geleitet werden.
-
Nun
sind mit Bezug auf 3 die Arbeitsräume 201 und 207 in
einer anderen Konfiguration gezeigt. 3 weist
drei Verbindungen 304, 312 und 316 zwischen
den beiden Arbeitsräumen 201 und 207 auf.
In 3 können
die Daten über
die Verbindungen 304, 312 und 316 geführt werden.
Welcher Pfad ausgewählt
wird, kann beispielsweise von der ausgewählten elektronischen Einheit,
einer ggf. erforderlichen Datenumwandlung und der Verbindungsart
abhängen.
In 4 ist zwischen den Arbeitsräumen 201 und 207 nur
eine Verbindung 404 vorhanden. In dem Beispiel aus 4 werden
alle zwischen den Arbeitsräumen 201 und 207 ausgetauschten
Daten durch die Verbindung 404 geführt.
-
Nun
ist mit Bezug auf 5 ein Schaubild von vier elektronischen
Einheiten 505-1 bis 505-4 gezeigt. Jede elektronische
Einheit 505 umfasst einen Softwarespeicher 510 und
einen Prozessor-Hardwareteil 550. Es ist möglich, dass
jeder Prozessor-/Hardwareteil nur einen Prozessor, Hardware, die zum
Unterbringen und Umsetzen von Befehlen und zum Datenaustausch mit
anderen Prozessor-/Hardwareteilen 550 geeignet ist, oder
einige Kombinationen von Prozessor und Hardware umfasst. Des Weiteren
können
in dem Prozessor-/Hardwareteil 550 auch
Datenübertragungseinheiten
(nicht gezeigt) zum Bereitstellen physischer Verbindungen vorhanden sein,
wie dies in 5 gezeigt ist. Jeder Software-Stapel 510 umfasst
eine Anzahl von Anwendungen 520, eine Middleware-Schicht 530 zur
persönlichen
Zusammenarbeit und ein Betriebssystem (BS) 540. Jede persönliche Zusammenarbeits-Middleware 530 umfasst
ein Dienstverzeichnis 535. Die elektronischen Einheiten 505-1 und 505-2 senden
Daten durch einen Medienstrom 570-1 über die physische Verbindung 560-1.
Gleichermaßen
senden die elektronischen Einheiten senden die elektronischen Einheiten 505-2 und 505-3 Daten
durch einen Medienstrom 570-2 über die physische Verbindung 560-2, während die
elektronischen Einheiten 505-3 und 505-4 Daten
durch einen Medienstrom 570-3 senden und über eine
physische Verbindung 560-3 verbunden sind. In diesem Beispiel
handelt es sich bei der physischen Verbindung 560 um eine
physische Hardwareverbindung wie z. B. eine drahtlose Ethernet-Verbindung, während der
Medienstrom 570 den Strom der Daten darstellt, die auf
einer höheren
Datenübertragungs-Protokollschicht
wie z. B. dem Übertragungssteuerprotokoll/Internetprotokoll (TCP/IP)
oder einer höheren
Schicht wie z. B. einer Hyper-Text-Übertragungsprotokoll-(HTTP)Schicht gesendet
werden. Die Datenübertragung
auf höheren
Schichten wird über
die physische Verbindung ausgeführt.
-
Es
sollte angemerkt werden, dass der Prozessor-/Hardwareteil 550 und
der Softwarestapel 510 in einem Halbleiterbauteil integriert
oder in mehrere Halbleiterbauteile getrennt sein können. Des Weiteren
kann der Softwarestapel 510 durch einen oder mehrere Speicher
realisiert werden, wobei jeder Speicher eine oder mehrere Speichereinheiten
umfasst. Die Speichereinheiten können
eine magnetische oder optische Platte, einen Speicher mit wahlfreiem
Zugriff, einen Nur- Lesespeicher,
einen elektrisch löschbaren
Nur-Lesespeicher, einen Flash-Speicher, einen batteriegesicherten
Speicher, ein Bandlaufwerk oder eine andere Speichereinheit umfassen.
Als Beispiel kann ein Speicher einen Nur-Lesespeicher, der einen
Teil des BS 540 enthält, einen
Speicher mit wahlfreiem Zugriff (RAM), der einen Teil der persönlichen
Zusammenarbeits-Middleware 530 und
einen anderen Teil des BS 540 enthält, und einen nichtflüchtigen
RAM umfassen, der den gesamten Softwarespeicher 510 enthält.
-
Was
in der Middleware zur persönlichen
Zusammenarbeit 530 umgesetzt werden soll, hängt davon
ab, welche Eigenschaften das BS 540 aufweist. Die persönliche Zusammenarbeits-Middleware 530 führt die
Verfahren 700, 800, 900 und 1600 aus,
die weiter unter ausführlich
beschrieben werden, und kann die Dienstverzeichnisse 535 (sowie
Benutzerwünsche)
enthalten, die ausführlicher
mit Bezug auf die 10 bis 15 dargestellt
werden. Die persönliche
Zusammenarbeits-Middleware 530 erlaubt die Zusammenarbeit
zwischen elektronischen Einheiten. Bei der Zusammenarbeit handelt
es sich um den Datenaustausch zwischen elektronischen Einheiten,
um die Daten zu Darstellungszwecken, Benutzereingabe-Zwecken oder
beidem an eine ausgewählte
elektronische Einheit zu leiten. Allgemein sendet eine erste elektronische
Einheit Attribute bzgl. der ersten elektronischen Einheit an eine
zweite elektronische Einheit, damit die zweite elektronische Einheit ermitteln
kann, ob es sich bei der ersten elektronischen Einheit um die beste
elektronische Einheit zum Darstellen der Daten handelt. Wenn es
sich bei der ersten elektronischen Einheit um die beste elektronische
Einheit zum Darstellen der Daten handelt, sendet die zweite elektronische
Einheit die Daten an die erste elektronische Einheit. Wie in 5 gezeigt
ist, werden die Attribute für
jede elektronische Einheit in einem Dienstverzeichnis 535 gespeichert.
Des Weiteren können
andere Daten wie z. B. Nachrichten ausgetauscht werden.
-
In
dieser beispielhaften Ausführungsform führt jede
elektronische Einheit 505 eine Middleware-Schicht 530 zur
persönlichen
Zusammenarbeit über
einem Betriebssystems 540 aus, was beispielsweise die Funktionalität bereitstellt,
Daten gemeinsam zu nutzen, zu verwalten und darzustellen und die
Verbindung und Benutzerwünsche
zu verwalten, um die vorliegende Erfindung zu realisieren. Einige dieser
Funktionen können
im BS 540 oder in der persönlichen Zusammenarbeits-Middleware 530 ausgeführt werden,
da in vielen Arbeitsräumen
keine genau festgelegte Grenze zwischen dem BS 540 und
der persönlichen
Zusammenarbeits-Middleware 530 vorhanden ist.
-
Jedes
Dienstverzeichnis 535 umfasst eine Anzahl von Blockknoten,
die in 5 nicht dargestellt sind, aber mit Bezug auf die 10 bis 15 ausführlich gezeigt
werden. Ganz allgemein stellt ein Dienstverzeichnis Daten darüber bereit,
wie die elektronischen Einheiten 505 verbunden sind und
welche Fähigkeiten
sie aufweisen. Allgemein umfasst jedes Dienstverzeichnis eine Anzahl
von Blockknoten (in 5 nicht gezeigt), wobei jeder
Blockknoten Daten über
eine der elektronischen Einheiten 505 enthält. Jeder
Blockknoten enthält
auch Verbindungsdaten, die veranschaulichen, wie die zwei Blockknoten
entsprechenden beiden elektronischen Einheiten 505 verbunden
sind. Dienstverzeichnisse und Blockknoten werden ausführlicher
mit Bezug auf 10 bis 15 beschrieben.
-
In
dem Beispiel aus 5 enthält jede elektronische Einheit 505 ein
Dienstverzeichnis 535. Wie mit Bezug auf die 10 bis 15 beschrieben wurde,
ist jedes Dienstverzeichnis 535 wegen der Art und Weise,
in der jede elektronische Einheit 505 mit anderen elektronischen
Einheiten verbunden ist, leicht unterschiedlich. Es ist jedoch möglich, dass
ein Dienstverzeichnis 535 für die elektronischen Einheiten 505 vorhanden
ist. Beispielsweise könnte
ein einzelnen Dienstverzeichnis 535 auf der elektronischen Einheit 505-1 gespeichert
werden, und jede der elektronischen Einheiten 505-2, 505-3 und 505-4 würde mit
dem Dienstverzeichnis 535 in Verbindung stehen, das auf
der elektronischen Einheit 505-1 gespeichert ist.
-
Die
hier beschriebene Erfindung kann als ein Herstellungsartikel umgesetzt
werden, der ein maschinenlesbares Medium umfasst, z. B. als Teil
eines Softwarespeichers 510, der eines oder mehrere Programme
enthält,
die Ausführungsformen
der vorliegenden Erfindung umsetzen, wenn sie ausgeführt werden.
Beispielsweise kann das maschinenlesbare Medium ein Programm enthalten,
das zum Ausführen
der Schritte konfiguriert wurde, die die persönliche Zusammenarbeits-Middleware 530 ausführt. Bei dem
maschinenlesbaren Medium kann es sich beispielsweise um ein beschreibbares
Medium wie z. B. ein Festplattenlaufwerk, eine optische oder magnetische
Platte, einen elektronischen Speicher oder eine andere Speichereinheit
handeln.
-
6 stellt
ein Beispiel dar, wie die Schichten 600 für eine oder
mehrere elektronische Einheiten strukturiert sein können. Die
Bezugsnummer 628 zeigt eine Ansicht der Softwareschichten
auf hoher Ebene, wozu eine BS-Schicht 630, eine persönliche Zusammenarbeits-Schicht 631,
eine Anwendungsschicht 632 und eine Benutzerschittstellen-
und Darstellungsschicht 633 gehören. Der Benutzerschnittstellen-Teil
der Benutzerschnittstellen- und Darstellungsschicht 633 verarbeitet
die Benutzereingabe, die z. B. durch eine Tastatur, eine Maus, eine
Spracherkennung und eine Stifteingabe erfolgt, und auch die Computerausgabe
oder -Antwort an den Benutzer, z. B. über eine Anzeige, einen Drucker
und einen Lautsprecher. Der Darstellungsteil der Benutzerschnittstellen-
und Darstellungsschicht 633 verwaltet die Computerausgabe,
indem sie festlegt, wie die Datensätze für eine Ausgabeeinheit angezeigt
werden. Des Weiteren ist eine Prozessor-/Hardwareschicht 629 gezeigt.
Die Prozessor-/Hardwareschicht 629 enthält die physische Hardware,
die die elektronischen Einheiten in einem Arbeitsraum umfassen können. Diese
Hardware kann Orte umfassen, an denen aktuelle Daten zur Verwendung
gespeichert werden, Anwendungen ausgeführt werden und eine physische
Verbindung aufgebaut wird.
-
Die
Schicht 615 gibt die Funktionen an, die allgemein mit der
BS-Schicht 630 verknüpft
sind, die Schicht 613 die Funktionen, die allgemein mit
der persönlichen
Zusammenarbeits-Schicht 631 verknüpft sind, während die Schicht 609 Funktionen
angibt, die allgemein mit der Anwendungsschicht 632 verknüpft sind.
Dies stellt jedoch nur ein Beispiel dar, und einige mit einem Block
verknüpften
Funktionen können
in einigen Umsetzungen in einer anderen Schicht realisiert werden.
Beispielsweise können
bestimmte Datenverwaltungs-Funktionen 616 in der persönlichen
Zusammenarbeits-Middlewareschicht 631 anstelle der BS-Schicht 630 umgesetzt
werden, wenn es gewünscht
wird.
-
Jede
elektronische Einheit kann ihr eigenes Betriebssystem in der BS-Schicht 630 ausführen. Die BS-Schicht 630 kann
Datenverwaltungs-Funktionen 616 beinhalten, die die Datenumwandlung
abwickeln, während
der Darstellungsmanager 612, der die Daten verwendet, in
der persönlichen
Zusammenarbeits-Middlewareschicht 631 ausgeführt werden
kann. Die Datenumwandlung ist in 6 als ein Umschlüsselungs- und/oder Transformationsmodul 617 gezeigt.
Das Umschlüsseln
formatiert die Daten neu, um allgemein die Daten von einer Bildschirmgröße und -Auflösung auf
eine andere Bildschirmgröße und -Auflösung umzuformen.
Das Umschlüsseln erfordert
gewöhnlich
etwas „Codierung" wie z. B. eine Signalverarbeitung.
Beispielsweise kann eine Internet-Webseite, die für einen
Laptop vorgesehen ist, durch Skalieren passend für einen viel kleineren Bildschirm
eines PDA umgeschlüsselt
werden. Die Transformation erfordert das Umwandeln der Daten von
einem Datenformat in ein anderes. Beispielsweise kann ein für einen
Textverarbeiter formatiertes Dokument neu formatiert werden, um
es auf einem anderen Textverarbeiter darzustellen.
-
Zu
den Datenverwaltungs-Funktionen 616 kann auch die Synchronisation 618 der
Daten zwischen den elektronischen Einheiten zählen. Darüber hinaus beinhaltet die BS-Schicht 630 gewöhnlich einen
Inter-/Intra-Arbeitsraum-Übertragungsmanager 623,
der die Diensterkennung 627 und die Verbindungsverwaltung 625 verwaltet.
Bei den in der BS-Schicht 630 gezeigten Funktionen wie
z. B. die Datenverwaltung 616 und der Inter-/Intra-Arbeitsraum-Übertragungsmanager 623 handelt
es sich um zusätzliche
Funktionen, die nützlich
sind und zusätzlich
zu herkömmlichen
BS-Funktionen wie z. B. einer Speicherverwaltung, Dateiverwaltung,
Zeitplanung, Übertragungsverwaltung
und Ein-/Ausgabemanagement
vorhanden sind. Ein Teil oder alle dieser Funktionen können auch
in der persönlichen
Zusammenarbeits-Middlewareschicht 631 umgesetzt
werden, wie es vorher beschrieben wurde.
-
über diesen
werden der Darstellungsmanager 612, der Peer-Interaktionsmanager 611,
ein Dienstverzeichnis 645, eine Suchmaschine 636,
ein Zugriffs-Steuermanager 635 und eine Benutzer-Überwachungsfunktion
und Benutzerwünsche 614 in
der Schicht 613 realisiert, die der persönlichen Zusammenarbeits-Middlewareschicht 631 entspricht.
Der Darstellungsmanager 612 handhabt, wie die Daten für den Benutzer
dargestellt werden sollen. Der Peer-Interaktionsmanager 611 verwaltet
den Datenaustausch mit gleichrangigen elektronischen Einheiten sowie
den Aufruf von Ferndiensten und das Aufrufen einer Anwendung, wenn
eine solche Anforderung eines Ferndienstes empfangen wird. Der Zugriffs-Steuermanager 635 prüft, ob der
Dienst für
den Dienstanforderer verfügbar
ist. Die Suchmaschine 636 kann die elektronischen Einheiten
in dem Arbeitsraum durchsuchen, um die Attribute der Einheiten zu
ermitteln und festzustellen, auf welcher elektronischen Einheit
sich die Daten befinden. Die Benutzer-Überwachungsfunktion
und die Benutzerwünsche 614 verwalten
die Benutzerstrategien und -Wünsche
und können
Benutzerwünsche
enthalten.
-
Über der
persönlichen
Zusammenarbeits-Middlewareschicht 631 ist die Anwendungsschicht 632 vorhanden,
was mit der Schicht 609 veranschaulichend gezeigt wird.
Die Schicht 609 umfasst die folgenden Anwendungen: einen
Kalender 610; eine eMail 605 der nächsten Generation;
eine Benachrichtigung 602; und eine Aufgabenverwaltung 634.
Diese Anwendungen können
die Daten mit einer beliebigen ausgewählten und dazu fähigen elektronischen Einheit
innerhalb eines Arbeitsraums für
den Benutzer darstellen. In manchen Fällen wird ein Teil der Daten
auf einer elektronischen Einheit dargestellt, während ein anderer Teil auf
einer anderen elektronischen Einheit angezeigt wird. Bevorzugte und
dazu fähige
elektronische Einheiten werden auch zum Aufnehmen der Benutzereingabe
für den Arbeitsraum
verwendet werden. Wie jeder der funktionellen Blöcke aus 6 unterteilt
und umgesetzt wird, ist nicht Gegenstand der Erfindung, 6 veranschaulicht
aber beispielhafte Funktionen, die dazu geeignet sind, die Datenübertragung
zwischen den elektronischen Einheiten zum Leiten von Daten zu einer
oder mehreren am besten geeigneten elektronischen Einheiten – ggf. über einen
Datenumwandler – wie
in einer bevorzugten Ausführungsform
der Erfindung zu ermöglichen.
-
Die 7A und 7B zeigen
ein beispielhaftes Verfahren 700 zum Auswählen einer
elektronischen Einheit und dynamischen Führen der Daten zu der ausgewählten elektronischen
Einheit. Das Verfahren 700 wird allgemein von der persönlichen
Zusammenarbeits-Middleware ausgeführt und ist dargestellt, wie
es auf einer elektronischen Einheit ausgeführt wird. Auf diese Weise führt eine
persönliche Zusammenarbeits-Middleware
auf einer elektronischen Einheit das Verfahren 700 aus
und kann ihr eigenes Dienstverzeichnis erzeugen oder modifizieren, Daten
senden, umwandeln, empfangen oder eine Kombination davon ausführen.
-
Schritt 702 stellt
einen Warteschritt dar, in dem gewartet wird, bis ein Ereignis eintritt.
Wenn ein Ereignis eintritt, werden die Schritte 704, 703, 718 und 717 ausgeführt.
-
Innerhalb
eines persönlichen
Arbeitsraums erzeugt jede elektronische Einheit im Schritt 701 gewöhnlich ein
Dienstverzeichnis. Jedes Dienstverzeichnis wird als ein „Blockknoten" für die elektronische
Einheit bezeichnet. Ein Blockknoten enthält allgemein verschiedene Attribute
wie z. B. Informationen, die die Fähigkeiten der elektronischen
Einheit beschreiben, Verbindungsarten, Einheitenarten, Anwendungen
oder Dienste, die von der elektronischen Einheit bereitgestellt
werden, und Zugriffsrechte für jede
Einheit. Beispielhafte Dienstverzeichnisse und Blockknoten sind
mit Bezug auf die 10 bis 15 dargestellt.
Das Ermitteln des Blockknotens kann dynamisch beim Anfordern von
Daten oder zuvor ausgeführt
werden.
-
Bei
einem Dienstverzeichnis kann es sich einfach um eine einzelne Datenangabe
handeln, z. B. eine Telefonnummer, die z. B. von einer Adressbuchanwendung
gelesen werden kann. Wenn eine neue elektronische Einheit in den
Arbeitsraum eintritt oder den Arbeitsraum verlässt, wird das Dienstverzeichnis aktualisiert,
indem neu verfügbare
Blockknoten hinzugefügt
bzw. entfernt werden. Jedes Mal, wenn eine elektronische Einheit
in einen Arbeitsraum eintritt oder ihn verlässt, wird eine Meldung von
einer oder mehreren der elektronischen Einheiten in dem Arbeitsraum
erzeugt, um die Dienstverzeichnisse (Schritt 704) zu aktualisieren.
Falls beispielsweise eine elektronische Einheit ausgeschaltet wird,
kann die elektronische Einheit eine Meldung zum Aktualisieren der
Dienstverzeichnisse senden. Zusätzlich kann
eine Abfrage (polling) zum Entfernen einer elektronischen Einheit
verwendet werden, wenn die elektronische Einheit nicht auf eine
Abfrage antwortet. Darüber
hinaus kann, falls eine elektronische Einheit einen neuen Dienst
wie z. B. eine Anwendung hinzugefügt hat, die elektronische Einheit
eine Meldung zum Aktualisieren der Dienstverzeichnisse senden.
-
Wenn
ein Aktualisierung der Dienstverzeichnisse (Schritt 704 =
Ja) ausgeführt
wird, wird das Dienstverzeichnis von einer neu eingetretenen oder neu
aktualisierten elektronischen Einheit aktualisiert, um neue Blockknoten
einzuschließen.
Dies wird im Schritt 705 und Verfahren 800 aus 8 durchgeführt. Wenn
ein Blockknoten eines Dienstverzeichnisses gelöscht werden soll, z. B. wenn
eine elektronische Einheit einen Arbeitsraum verlässt und
nicht mit anderen Einheiten in dem Arbeitsraum Daten austauschen
kann oder ausgeschaltet wird, werden auch die Blockknoten im Schritt 705 und
im Verfahren 900 aus 9 gelöscht. Die
neu hinzugefügte
oder gelöschte
elektronische Einheit muss auch ihr eigenes Dienstverzeichnis aktualisieren,
was auch im Schritt 705 durchgeführt wird. Falls keine Aktualisierung
der Dienstverzeichnisse (Schritt 704 = Nein) ausgeführt wird,
wird das Verfahren 700 im Schritt 702 fortgesetzt,
um auf ein anderes Ereignis zu warten. Es sollte angemerkt werden,
dass Ereignisse in eine Warteschlange eingereiht werden können.
-
Wenn
keine Anforderung zum Senden von Daten von der elektronischen Einheit
(Schritt 703 = Nein) vorliegt, wird das Verfahren 700 im
Schritt 702 mit dem Warten auf ein anderes Ereignis fortgesetzt. Falls
eine Anforderung zum Senden von Daten von einer elektronischen Einheit
vorliegt (Schritt 703 = Ja), wird im Schritt 706 eine „beste" elektronische Zieleinheit
z. B. auf der Grundlage von Benutzerwünschen (wie es mit Bezug auf 16 beschrieben wird),
den Einheitenfähigkeiten
und der Dienstverfügbarkeit
ausgewählt
werden. Im Schritt 707 wird ermittelt, ob ein Datenumwandler erforderlich
ist. Wenn ja (Schritt 707 = Ja) wird ein „bester" Datenumwandler z.
B. auf der Grundlage von Benutzerwünschen, den Einheitenfähigkeiten
und der Dienstverfügbarkeit
ermittelt. Dies wird im Schritt 708 durchgeführt. Im Schritt 709 wird
festgestellt, ob ein Datenumwandler gefunden wurde. Wenn der Datenumwandler
auf einer anderen elektronischen Einheit verfügbar ist, kann ein Prozedur-Fernaufruf
an die andere Einheit gesendet werden.
-
Wenn
dies der Fall ist (Schritt 709 = Ja), wird ein bester Pfad
zu dem Datenumwandler, bei dem es sich allgemein um eine elektronische
Einheit handelt, auf der Grundlage der Verbindungsverfügbarkeit
und den Verbindungsanforderungen ermittelt. Dies wird im Schritt 754 durchgeführt. Die
Daten werden dann an den Datenumwandler geleitet. Das Leiten der
Daten beinhaltet das Führen
der Daten durch eine oder mehrere elektronische Einheiten bis die
elektronische Einheit mit dem Datenumwandler erreicht ist.
-
Falls
kein Datenumwandler gefunden wurde (Schritt 709 = Nein),
wird der Anforderer im Schritt 755 informiert, dass die
angeforderte Übertragung ohne
einen geeigneten Datenumwandler nicht ausgeführt werden kann.
-
Falls
kein Datenumwandler erforderlich ist (Schritt 707 = Nein),
wird der „beste" Pfad zu einer elektronischen
Zieleinheit auf der Grundlage der Verbindungsverfügbarkeit
und den Verbindungsanforderungen ermittelt. Dies wird im Schritt 751 durchgeführt. Im
Schritt 753 werden die Daten an die elektronische Zieleinheit
geleitet. Das Leiten der Daten beinhaltet das Führen der Daten durch eine oder
mehrere elektronische Einheiten bis die elektronische Einheit erreicht
wird, die als die elektronische Zieleinheit ausgewählt wurde.
-
Im
Schritt 718 wird ermittelt, ob eine Datenumwandlung erforderlich
ist. Dieser Schritt kann durch das Ermitteln, ob ein Prozedur-Fernaufruf
zum Ausführen
der Umwandlung im Auftrag der anderen elektronischen Einheit empfangen
wurde, ausgeführt werden.
Beispielsweise bietet die Sprache JAVA Anforderungen von Prozedur-Fernaufrufen
(RPC). Die Umwandlung kann auch lokal in der elektronischen Einheit,
die die Daten enthält,
angefordert werden, falls der Datenumwandler lokal verfügbar ist.
Wenn die Datenumwandlung nicht erforderlich ist (Schritt 718 =
Nein), wird das Verfahren 700 im Schritt 702 mit
dem Warten auf ein anderes Ereignis fortgesetzt. Wenn sie erforderlich
ist (Schritt 718 = Ja), wird im Schritt 719 ermittelt,
ob die elektronische Einheit tatsächlich die Datenumwandlung
ausführen
kann, indem eine Ermittlung durchgeführt wird, ob eine zum Ausführen der
Datenumwandlung verwendete Anwendung in der Lage ist, die Umwandlung
auszuführen,
und die Anwendung freigegeben ist. Wenn das Ergebnis von Schritt 719 „Nein" lautet, wird im
Schritt 720 ermittelt, ob eine bestimmte Datenumwandlung ausgeführt werden
kann. Wenn dies der Fall ist (Schritt 720 = Ja), führt die
Anwendung eine teilweise Umwandlung (Schritt 722) aus,
und die Ausgabe der Datenumwandlung wird dem nächsten Datenumwandler zugeführt (Schritt 711).
Andernfalls (Schritt 720 = Nein) findet die elektronische
Einheit einen stellvertretenden Datenumwandler (Schritt 723)
und informiert den Absender der Daten (Schritt 712) über den
stellvertretenden Datenumwandler.
-
Wenn
das Ergebnis von Schritt 719 „Ja" lautet, wird die Datenumwandlung von
der Anwendung im Schritt 721 ausgeführt, und die Ausgabe der Datenumwandlung
wird der elektronischen Zieleinheit im Schritt 710 zugeführt. Das
Verfahren 700 kehrt zum Schritt 702 zurück, um auf
das nächste
Ereignis zu warten.
-
Im
Schritt 717 wird ermittelt, ob Daten empfangen werden sollen.
Wenn nicht (Schritt 717 = Nein), wird das Verfahren 700 im
Schritt 702 fortgesetzt. Falls Daten empfangen werden sollen
(Schritt 717 = Ja), wird ermittelt, ob eine Anwendung zur
Datendarstellung in der Lage ist, die Daten wiederzugeben, und ob
die Anwendung dazu freigegeben ist. Dies wird im Schritt 716 durchgeführt. Wenn
das Ergebnis von Schritt 716 „Ja" lautet, werden die Daten empfangen
(Schritt 713) und dargestellt (Schritt 745). Wenn
das Ergebnis von Schritt 716 „Nein" lautet, wurde ein anderer möglicher
Empfänger
gefunden (Schritt 715) und der Absender über den
infrage kommenden Empfänger
informiert (Schritt 715). Das Verfahren 700 kehrt
zum Schritt 702 zurück,
um auf ein anderes Ereignis zu warten.
-
Nun
ist mit Bezug auf 8 ein beispielhaftes Verfahren 800 zum
Aufbauen eines Erkennungsverzeichnisses gezeigt, um neu verfügbare Dienstverzeichnisse
hinzuzufügen. 8 stellt
die Schritte 702, 705 und die aktualisierten Verbindungen
dar, die hinzugefügt
oder verändert
wurden (Teil von Schritt 705). Das Verfahren 800 wird
auch allgemein von einer persönlichen
Zusammenarbeits-Middleware in einer elektronischen Einheit ausgeführt. Bei
Schritt 801 handelt es sich um einen im Schritt 702 gezeigten
Warteschritt, worin ein Ereignis zu einer weiteren Aktion führt. Im
Schritt 802 wird ermittelt, ob eine Dienstverzeichnis-Aktualisierung
erforderlich ist. Wenn nicht (Schritt 802 = Nein), wird
das Verfahren im Schritt 801 fortgesetzt. Die elektronischen
Einheiten, die direkt mit den neu hinzugefügten elektronischen Einheiten
verbunden sind, führen
allgemein die Schritte zum Freigeben der Verbindungen zwischen den
elektronischen Einheiten aus. Beispielsweise wird im Schritt 803 ermittelt,
ob eine neue Einheit (d. h. „Einheit(N)") mit der Einheit,
die das Verfahren 800 ausführt (d. h. „Einheit(I)") verbunden werden soll.
Wenn nein (Schritt 803 = Nein), wird das Verfahren im Schritt 801 fortgesetzt.
Wenn ja (Schritt 803 = Ja), wird eine physische Verbindung
zwischen der momentanen Einheit und der neuen Einheit mit einer verfügbaren Verbindungsart
innerhalb eines Netzwerks aufgebaut, falls die physische Verbindung nicht
bereits aufgebaut wurde. Die Diensterkennung wird im Schritt 805 unter
Verwendung aller verfügbaren
Diensterkennungs-Protokolle ausgeführt. Zu solchen Protokollen
könnten
eine Verbindungsebenen-Diensterkennung wie z. B. das Bluetooth-Diensterkennungs-Protokoll
im Fall, dass es sich bei der Verbindungsart um eine drahtlose Bluetooth-Verbindung
handelt, oder jedes Diensterkennungs-Protokoll auf höheren Schichten
gehören
wie z. B. das Dienstortungs-Protokoll (SLP), Jini, Salutation oder universelle
Beschreibung, Erkennung und Integration (UDDI, universal description,
discovery and integration), falls das Übertragungssteuerprotokoll/Internetprotokoll
(TCP/IP) verwendet wird.
-
Im
Schritt 813 wird ermittelt, ob eine Mitteilung „Hinzufügen" für die neu
hinzugefügte
elektronische Einheit empfangen wurde. Wenn ja (Schritt 813 =
Ja), wird das Verfahren 800 im Schritt 806 fortgesetzt.
Wenn nein (Schritt 813 = Nein), wird das Verfahren im Schritt 801 fortgesetzt.
Die Schritte 812 und 813 stellen eine Benachrichtigung
in der Art eines Nachrichtensystems für das Hinzufügen elektronischer
Einheiten und Dienste bereit.
-
Es
ist möglich,
dass eine neu hinzugefügte elektronische
Einheit mit anderen elektronischen Einheiten verbunden ist und deshalb
Dienste von diesen anderen elektronischen Einheiten in dem Dienstverzeichnis
beinhaltet. Infolgedessen könnten
mehrere Blockknoten in dem Dienstverzeichnis der neu hinzugefügten elektronischen
Einheit vorhanden sein. Es ist deshalb nützlich, alle Blockknoten des
Dienstverzeichnisses der neu hinzugefügten elektronischen Einheit
aufzuzählen
und alle neuen Dienste hinzuzufügen,
die direkt oder indirekt verfügbar
sind. Um dies auszuführen,
werden die Schritte 806 bis 810 durchgeführt. Im
Schritt 806 wird anfänglich
eine Variable x initialisiert, die allgemein im Fall eines Vektorindex oder
dem Anfang einer verknüpften
Liste den Wert null aufweist. Im Schritt 807 wird ermittelt,
ob ein Blockknoten in dem Dienstverzeichnis der neu hinzugefügten elektronischen
Einheit bereits in dem Dienstverzeichnis der momentanen elektronischen Einheit
vorhanden ist, die das Verfahren 800 ausführt. Wenn
nicht (Schritt 807 = Nein), wird der Blockknoten für die neu
hinzugefügte
elektronische Einheit an das Dienstverzeichnis der momentanen elektronischen
Einheit als ein Eintrag in der verknüpften Liste angefügt. Dies
wird im Schritt 810 durchgeführt. Das Verfahren wird wieder
im Schritt 808 fortgesetzt, der auch erreicht wird, wenn
das Ergebnis von Schritt 807 „Ja" lautet. In Schritt 808 wird
ermittelt, ob weitere Blockknoten in dem Dienstverzeichnis für die neu hinzugefügte elektronische
Einheit vorhanden sind. Wenn ja (Schritt 808 = Ja), wird
die Variable x im Schritt 809 erhöht und das Verfahren 800 am
Schritt 807 fortgesetzt. Die neu hinzugefügte elektronische Einheit
muss auch dieselbe Prozedur durchlaufen, um alle neuen, direkt oder
indirekt verfügbaren Dienste
hinzuzufügen.
-
Alle
anderen elektronischen Einheiten, die indirekt mit der neuen elektronischen
Einheit verbunden sind, werden allgemein Bekanntgaben von direkt angeschlossenen
elektronischen Einheiten erhalten, wenn neue Dienste zu den direkt
angeschlossenen elektronischen Einheiten hinzugefügt werden.
Dies wird vorzugsweise folgendermaßen ausgeführt. Wenn im Schritt 808 keine
weiteren Blockknoten in dem Dienstverzeichnis der neu hinzugefügten elektronischen
Einheit (Schritt 808 = Nein) vorhanden sind, falls eine Änderung
der momentanen Dienstverzeichnisses durchgeführt wurde (Schritt 811 =
Ja), werden allen in dem momentanen Arbeitsraum verbundenen elektronischen
Einheiten die Aktualisierungen bekannt gegeben (Schritt 812).
Falls keine Änderungen
am momentanen Dienstverzeichnis ausgeführt wurden (Schritt 811 =
Nein), wird das Verfahren im Schritt 801 fortgesetzt.
-
Nun
wird mit Bezug auf 9 ein beispielhaftes Aufbauverfahren 900 eines
Erkennungsverzeichnisses zum Löschen
von Dienstverzeichnissen gezeigt, die nicht länger verfügbar sind. 9 stellt die
Schritte 702, 704 und den Teil von Schritt 705 dar, der
sich auf das Aktualisieren von Dienstverzeichnissen wegen des Löschens elektronischer
Einheiten bezieht. Wenn eine elektronische Einheit den persönlichen
Arbeitsraum verlässt,
müssen
alle Dienste, die entweder direkt oder indirekt über die austretende elektronische
Einheit verfügbar
waren, aus dem Dienstverzeichnis entfernt werden. Bei Schritt 901 handelt
es sich um einen Warteschritt, der auch im Schritt 702 in 7 gezeigt wird und auf ein Ereignis wartet.
Im Schritt 902 wird ermittelt, ob eine Dienstverzeichnis-Aktualisierung
ausgeführt
wurde. Wenn nicht (Schritt 902 = Nein), wird das Verfahren
im Schritt 901 fortgesetzt. Wenn ja (Schritt 902 =
Ja), erkennt die elektronische Einheit, die direkt mit der austretenden
elektronischen Einheit verbunden war, dass die elektronische Einheit
getrennt wurde (Schritt 903), und andere elektronische
Einheiten, die indirekt verbunden waren, erhalten im Schritt 910 „Löschen"-Bekanntgaben. Die
erkannten elektronischen Einheiten entfernen die Blockknoten in
den Schritten 904 und 907 und benachrichtigen
andere elektronische Einheiten in den Schritten 908 und 909.
Es ist möglich,
dass Dienste vorhanden sind, die von anderen elektronischen Einheiten
aus nur indirekt über
die getrennte elektronische Einheit verfügbar waren. Deshalb sollte
jede elektronische Einheit ihr Dienstverzeichnis untersuchen, ob
irgendwelche Blockknoten über
die getrennte elektronische Einheit verfügbar waren. Dies wird in den
Schritten 905 und 906 durchgeführt.
-
Da
jede elektronische Einheit schließlich die gleiche Anzahl von
Blockknoten enthalten sollte, nachdem die Diensterkennungs-Verfahren 800 und 900 abgeschlossen
sind, ist es auch möglich,
einen zentralen Dienstverzeichnis-Server zu verwenden, worin neu
hinzugefügte
oder gelöschte
Dienste oder beides gemeldet und verwaltet werden. Ein solches Modell
eines zentralen Diensterkennungs-Verzeichnisservers ist eher für mehrere
Diensterkennungs-Protokolle wie z. B. UDDI geeignet. Eine mögliche Beschränkung mit
einem solchen Ansatz besteht darin, dass die Verbindung zum zentralen
Erkennungsverzeichnis-Server jederzeit aufrechterhalten werden sollte,
sowohl wenn sich der zentrale Erkennungsverzeichnis-Server innerhalb
des persönlichen
Arbeitsraums befindet, als auch wenn er sich an dem entfernten Standort
befindet. Manchmal werden redundante zentrale Dienstverzeichnis-Server
verwendet, um sicherzustellen, dass wenigstens einer von ihnen mit
der dynamischen Umgebung verbunden ist. Wenn der zentrale Dienstverzeichnis-Server verwendet
wird, müssen
die Verbindungsdaten der physischen Verbindung zu den Dienstattributen
hinzugefügt
werden, sodass eine elektronische Einheit den optimalen Pfad für den Dienst
ermitteln kann.
-
10 veranschaulicht
ein beispielhaftes Dienstverzeichnis, das in der elektronischen
Einheit mit der Einheitenkennung 11 im persönlichen
Arbeitsraum 201 aus 2 bis 4 erzeugt
wurde. Der Blockknoten 1001 wird für die Dienste erzeugt, die
innerhalb der elektronischen Einheit 202 verfügbar sind.
Bei den Blockknoten 1004 und 1005 handelt es sich
um direkt verbundene Dienste, was durch die Verbindungsdaten 1002 und 1003 angegeben
wird. Die Blockknoten 1004 und 1005 stellen keine
anderen indirekt verfügbaren
Dienste bereit, was mit den Markierungen „Baumende" 1006 und 1007 gekennzeichnet
wird.
-
Gleichermaßen zeigt 11 ein
beispielhaftes Dienstverzeichnis, das in der elektronischen Einheit 203 mit
der Einheitenkennung 12, die in den 2 bis 4 gezeigt
ist, erzeugt wurde. Der erste Blockknoten 1101 gehört zu den
Diensten der elektronischen Einheit 203, während der
zweite Blockknoten 1103 zu den direkt angeschlossenen Diensten
gehört,
was von den Verbindungsdaten 1102 angegeben wird. Die dritten
Blockknoten 1105 gehören zu
den indirekt über
die Verbindungsdaten 1104 verfügbaren Diensten, und es sind
neben diesen Blöcken
keine weiteren indirekt verfügbaren
Dienste vorhanden, was durch die Verbindungen zu den Markierungen
des Baumendes 1106 und 1107 angegeben wird. Wenn
der mittlere Blockknoten 1103 entfernt wird, führt dies
dazu, dass auch der dritte Blockknoten 1105 automatisch
entfernt werden wird. Im zweiten Arbeitsraum 207 würde der
Hauptunterschied in denselben Beispielen jedoch darin bestehen,
dass alle Dienste direkt verbunden sind. Es ist deshalb keine Markierung
des Baumendes vorhanden. Dies führt
dazu, dass keine indirekt verfügbaren
Dienste vorhanden sind, die anschließend entfernt werden, selbst
wenn eine elektronische Einheit aus dem Arbeitsraum ausscheidet.
-
12 zeigt
ein beispielhaftes Dienstverzeichnis, das in der elektronischen
Einheit 213 mit der Einheitenkennung 13 erzeugt
wurde, die in den 2 bis 4 gezeigt
ist. Der erste Blockknoten 1201 gehört zu den Diensten der elektronischen
Einheit 213, während
der zweite Blockknoten 1103 zu den direkt verbundenen Diensten
gehört,
wie es von den Verbindungsdaten 1202 gezeigt wird. Der
dritte Blockknoten 1205 gehört zu den indirekt über die Verbindungsdaten 1204 verfügbaren Dienste,
und es sind neben diesen Blöcken
keine weiteren indirekt verfügbaren
Dienste vorhanden, was mit den Verbindungen zur Markierung des Baumendes 1206 und 1207 gekennzeichnet
wird.
-
Mit
Bezug auf die 13 bis 15 veranschaulichen
diese Figuren die jeweils in den elektronischen Einheiten 206 (Einheitenkennung 21), 211 (Einheitenkennung 22)
und 209 (Einheitenkennung 23) aus 2 bis 4 erzeugten
Dienstverzeichnisse. Die Blockknoten für die Dienste der einzelnen elektronischen
Einheiten werden als die Blockknoten 1301, 1401 und 1501 dargestellt,
und die Dienste, die über
direkt verbundene elektronische Einheiten verfügbar sind, werden als die Blockknoten 1304, 1306, 1404, 1504 und 1506 dargestellt.
Die Anschlussverbindungen zwischen den Blockknoten werden als Verbindungsdaten 1302, 1303, 1402, 1403, 1502 und 1503 dargestellt.
Es ist wichtig anzumerken, dass die Blockknoten anstelle von Markierungen
des Baumendes am Ende der sekundären
Blockknoten 1304, 1306, 1404, 1406, 1504 und 1506 durch
die Verbindungsdaten 1305, 1405, 1505 miteinander
verbunden sind.
-
Jeder
Blockknoten, der die Dienstattribute enthält, muss über Informationen bzgl. der
Fähigkeit der
elektronischen Einheiten, den Anwendungsarten, den Daten und ihre
unterstützten
Datenformate verfügen.
Die unterstützten
Datenformate werden zum Ermitteln verwendet, ob die elektronische
Einheit zum Ausführen
der Transformation des Datenformats infrage kommt. Die physischen
Verbindungen und ihre Arten stellen auch entscheidende Informationen zum
Ermitteln des besten Pfades dar. Zu den Beispielen hierfür können Informationen
zur Art der elektronischen Einheit, die elektronische Einheitenkennung,
die Anwendungsnamen und die angeschlossenen elektronischen Einheiten
sowie die für
die Verbindung verwendete physische Verbindung zählen.
-
Nun
wird mit Bezug auf 16 ein Übersichtsverfahren 1600 zum
Auswählen
einer elektronischen Einheit und dynamischen Führen der Daten zur ausgewählten elektronischen
Einheit gezeigt. In dem Verfahren 1600 wird vorzugsweise
ein persönlichen
Vorzugsprofil auf jeder elektronischen Einheit mit einer Benutzereingabe
erzeugt, sodass das persönliche
Profil als eine Strategie zum Ermitteln der besten elektronischen
Einheit und des besten Pfades zur besten elektronischen Einheit
verwendet werden kann. Dies wird im Schritt 1601 durchgeführt. Wenn der
persönliche
Arbeitsraum aufgebaut ist, wird die Diensterkennung zum Erzeugen
des Dienstverzeichnisses ausgeführt,
wie es vorher beschrieben wurde. Dies wird im Schritt 1602 ausgeführt. Sobald
jede elektronische Einheit über
alle verfügbaren
Dienste und darüber
informiert ist, wie sie erreicht werden können, ist die Einheit nun zum
Eintreten in eine Gemeinschaftssitzung bereit. Alle verfügbaren Dienste werden
dem Benutzer von jeder beliebigen elektronischen Einheit im gleichen
Arbeitsraum dargestellt, wie es im Schritt 1603 gezeigt
ist.
-
Wenn
ein Benutzer auf bestimmte Daten von einer der elektronischen Einheiten
in seinem persönlichen
Arbeitsraum zugreifen möchte,
was im Schritt 1604 passiert, müssen die elektronischen Einheiten des
persönlichen
Arbeitsraumes erkennen, wo sich die Datenquelle und die Anwendung
befinden, die die gespeicherten Daten verwendet (Schritt 1605).
Die elektronischen Einheiten des persönlichen Arbeitsraumes müssen auch überprüfen, ob
die Daten von dem Anforderer gemeinsam genutzt werden können. Dies
wird auch im Schritt 1605 durchgeführt.
-
Im
Schritt 1606 wird die „beste" elektronische Einheit zum Darstellen
der Daten auf der Grundlage der Benutzerwünsche und der Fähigkeit
der elektronischen Einheiten ermittelt. Es können mehrere verschiedene Bedingungen
zu den Benutzerwünschen gehören, z.
B. ob die Daten nur auf der elektronischen Einheit dargestellt werden
sollen, die ein identisches Anwendungsprogramm ausführt, oder
auf jeder elektronischen Einheit, die die gleiche Anwendungsart
unterstützt
und die Daten richtig darstellen kann. Darüber hinaus kann es sich bei
einem Benutzerwunsch um eine Bedingung wie z. B. einen Anzeigenvorzug,
beispielsweise ob die Daten auf der elektronischen Einheit mit dem
größten Bildschirm
oder auf der elektronischen Einheit, die einen Farbbildschirm aufweist,
angezeigt werden sollen. Zu anderen Benutzerwünschen gehört, ob die Daten auf der Grundlage
der Medienarten oder den Merkmalarten der Auszeichnungssprache geteilt
werden sollen, sodass ein Datenteil auf einer elektronischen Einheit angezeigt
wird, während
andere Teile auf anderen Einheiten dargestellt werden.
-
Es
wird davon ausgegangen, dass die „beste" elektronische Einheit durch ein mehrdimensionales
Bewertungsergebnis ermittelt wurde. Ein Polynom könnte zum
Festlegen des mehrdimensionalen Bewertungsergebnisses verwendet
werden. Beispielsweise könnten
die Variablen f, wobei f = Wiedergabetreue, und p, wobei p = Nähe zum Gesichtsfeld
des Benutzers, verwendet werden. Die Variablen entsprechen den quantitativ
bestimmbaren Daten bzgl. der Einheit wie z. B. den Anzeigefähigkeiten.
Die Variablen können
auch den Anwendungsfähigkeiten entsprechen.
Wenn beispielsweise zwei Anwendungen einen Datentyp darstellen können, aber
eine Anwendung gegenüber
der anderen bevorzugt wird, kann eine mit einem höheren Benutzervorzug
verknüpft
werden. Dann könnte
ein Polynom a0f + a1p
+ ... = S, wobei S das mehrdimensionale Bewertungsergebnis darstellt,
zum Berechnen des mehrdimensionalen Bewertungsergebnisses verwendet
werden. Die Gewichte a0, a1,
... stellen die Benutzerwünsche dar.
Es kann jede Technik verwendet werden, die ermitteln kann, welche
Benutzerwünsche
für ein
Datenformat anzuwenden sind, um eine beste elektronische Einheit
aus einer Gruppe elektronischer Einheiten auf der Grundlage von
Benutzerwünschen
zu ermitteln.
-
Nachdem
die beste elektronische Einheit ausgewählt wurde, wird festgestellt,
ob eine Umwandlung des Datenformats ausgeführt werden soll, um die Daten
an die als die „beste" elektronische Einheit
ausgewählte
Einheit zu übergeben
(Schritt 1607). Es kann mehr als eine elektronische Einheit vorhanden
sein, die die Datenumwandlung ausführen kann. Die Datenumwandlung
schließt
wie oben beschrieben die Umschlüsselung,
Transformation oder beides ein. Wenn eine Datenumwandlung erforderlich
ist, wird im Schritt 1607 versucht, einen Datenumwandler
zum Umwandeln der Daten zu finden. Es werden einer oder mehrere
Datenumwandler z. B. unter Verwendung vorgegebener Datenumwandlern für bestimmte
Datentypen und Datenumwandlungs-Fähigkeiten der elektronischen
Einheiten, darunter die Datenumwandlungs-Fähigkeiten der „besten" elektronischen Einheit,
ermittelt. Es ist auch möglich,
dass mehrere Datenumwandler zum Umwandeln der Daten in das von der
besten elektronischen Einheit benötigte Endformat erforderlich
sind. Falls der oder die erforderlichen Datenumwandler nicht verfügbar sind
(Schritt 1608 = Nein), wird die nächstbeste elektronische Einheit
im Schritt 1606 ausgewählt.
Wenn keine elektronische Einheit gefunden werden kann, die die Daten
umwandeln kann, kann der Benutzer informiert werden, dass die Daten nicht
zugänglich
sind (siehe z. B. Schritt 755 des Verfahrens 700 aus 7B),
oder ein Teil der Daten in irgendeinem auf einer beliebigen elektronischen
Einheit verfügbaren
Format z. B. auf der Grundlage eines Benutzerwunsches dargestellt
werden können.
-
Wenn
andererseits die erforderliche elektronische Einheit, die die Datenumwandlung
ausführt, gefunden
wird (Schritt 1608 = Ja), wird der „beste" Pfad zu der besten elektronischen Einheit
ermittelt. Dies wird im Schritt 1609 durchgeführt. Dieser
beste Pfad führt
durch die elektronische Einheit mit dem Datenumwandler und kann
z. B. auf der Grundlage vom Benutzer festgelegter Bedingungen wie
z. B. der Bandbreiteanforderung und -Verfügbarkeit, der Leistungsaufnahme,
dem kürzesten
Pfad, der Latenz und den Verbindungsarten ausgewählt werden. Die Daten werden
im Schritt 1609 zum Datenumwandler geführt. Wenn der Datenumwandler
nicht erforderlich war, wird im Schritt 1609 der beste
Pfad zu der besten elektronischen Einheit ermittelt, ohne ihn durch einen
Datenumwandler hindurch zu führen.
Nachdem der Pfad ermittelt wurde, müssen die Daten über diesen
Pfad gesendet werden, wobei ggf. einer oder mehrere geeignete Datenumwandler
auf dem Weg zum Endziel verwendet werden. Dies wird im Schritt 1610 durchgeführt. Alle
verfügbaren
Prozedur-Fernaufrufe wie z. B. ein einfacher Objektzugriffs-Protokoll-(SOAP)Aufruf
kann zum entfernten Aufrufen eines Datenumwandlungs-Dienstes verwendet
werden. Als weiteres Beispiel kann vor dem Senden der Daten ein
unternehmensspezifisches Nachrichtenpaket gesendet werden, um den
Datenumwandler einzurichten. Obwohl eine elektronische Einheit aus
der Sicht einer anderen elektronischen Einheit zum Ausführen der
Datenumwandlung in der Lage zu sein scheint, obliegt es der zum
Ausführen
der Decodierung ausgewählten
elektronischen Einheit zu ermitteln, ob die angeforderte Datenumwandlung
auf dieser elektronischen Einheit ausgeführt werden kann.
-
Wie
oben mit Bezug auf 7A und 7B beschrieben
wurde, ist es auch möglich,
dass die ausgewählte
elektronische Einheit nur eine teilweise Datenumwandlung ausführen kann.
Wenn die elektronische Einheit überhaupt
keine Datenumwandlung ausführen
kann, kann sie einen Stellvertreter vorschlagen, der die Datenumwandlung
ausführen kann,
und den Absender informieren. Wenn die elektronische Einheit zum
Ausführen
der angeforderten Datenumwandlung oder einer teilweisen Datenumwandlung
in der Lage ist, führt
sie die Datenumwandlung wie angefordert aus und leitet das Ergebnis
an die beste elektronische Einheit weiter. Die beste elektronische
Einheit kann die Daten auch zurückweisen, die
Daten an eine andere elektronische Einheit weiterleiten und den
Absender darüber
informieren.
-
Schließlich werden
die empfangenen Daten für
den Benutzer dargestellt, wenn sie an der besten elektronischen
Einheit ankommen. Dies wird im Schritt 1611 durchgeführt. Eine
geeignete Anwendung, die die Daten darstellen kann, sollte aufgerufen werden,
sofern die Anwendung nicht bereits verfährt und zum Empfangen der Daten
bereit ist. Es ist auch wünschenswert,
den Benutzer an der auslösenden elektronischen
Einheit zu benachrichtigen, wo die Daten dargestellt werden.
-
Der
optimale Pfad, der durch die vorher erwähnten Schritte ausgewählt wurde,
legt fest, welche elektronischen Einheiten an der persönlichen
Gemeinschaftssitzung teilnehmen werden. Der jeweilige durch den
optimalen Pfad geführte
Datenstrom stellt einen Gemeinschaftsstrom dar. Es ist auch möglich, dass
mehrere Gemeinschaftsströme
innerhalb einer Gemeinschaftssitzung vorhanden sind, da es sein kann,
dass jeder Datenstrom durch verschiedene Datenumwandler geführt werden
muss, und die verschiedenen Datenströme ihr Endziel in verschiedenen
Einheiten finden werden. Z. B. kann es sich bei einem Datenstrom
um einen MPEG-Videostrom handeln, während es sich bei einem anderer
Datenstrom um eine Unterhaltungsnachricht handeln kann, die zusammen
mit dem Videostrom gesendet wurde. Ein Audiostrom kann auch über einen
zu obigen Pfad verschiedenen Pfad gesendet werden und auf einer elektronischen
Einheit wiedergegeben werden, die die besten Lautsprecher aufweist,
während
der Videostrom auf einer elektronischen Einheit betrachtet werden
kann, die die beste Anzeigeeinheit aufweist.
-
Die
an einer Gemeinschaftssitzung teilnehmenden elektronischen Einheiten
bilden in einer Ausführungsform
einen großen
virtuellen Computer, der einen persönlichen Arbeitsraum bereitstellt.
Wenn zwei persönliche
Arbeitsräume
verbunden werden, stellen die beiden Arbeitsräume wieder einen größeren virtuellen
Computer bereit. Die für
einen anderen Benutzer verfügbare
Menge von Diensten kann jedoch durch die Zugriffsrechte eingeschränkt werden, die
durch die Benutzerwünsche
festgelegt werden.
-
Es
sollte klar sein, dass die hier gezeigten und beschriebenen Ausführungsformen
und Variationen nur die Grundgedanken dieser Erfindung veranschaulichen
und verschiedene Modifikationen vom Fachmann in dem Gebiet umgesetzt
werden können. Beispielsweise
können
die Benutzerwünsche
und das Dienstverzeichnis auf einer einzigen elektronischen Einheit
in einem Arbeitsraum untergebracht werden.