DE602004010807T2 - Techniken zur bereitstellung eines virtuellen arbeitsraums, bestehend aus einer vielzahl elektronischer einrichtungen - Google Patents

Techniken zur bereitstellung eines virtuellen arbeitsraums, bestehend aus einer vielzahl elektronischer einrichtungen Download PDF

Info

Publication number
DE602004010807T2
DE602004010807T2 DE602004010807T DE602004010807T DE602004010807T2 DE 602004010807 T2 DE602004010807 T2 DE 602004010807T2 DE 602004010807 T DE602004010807 T DE 602004010807T DE 602004010807 T DE602004010807 T DE 602004010807T DE 602004010807 T2 DE602004010807 T2 DE 602004010807T2
Authority
DE
Germany
Prior art keywords
data
electronic
electronic unit
units
electronic units
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.)
Expired - Lifetime
Application number
DE602004010807T
Other languages
English (en)
Other versions
DE602004010807D1 (de
Inventor
David Bantz
Ponani Yorktown Heights Gopalakrishnan
Daniel M. Newton GRUEN
Lorraine M. Port Chester HERGER
Nathan Junsup New City Lee
Dennis Shea
Marisa S. Dobbs Ferry VIVEROS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE602004010807D1 publication Critical patent/DE602004010807D1/de
Application granted granted Critical
Publication of DE602004010807T2 publication Critical patent/DE602004010807T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Navigation (AREA)
  • Casings For Electric Apparatus (AREA)
  • Filters And Equalizers (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

  • 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.

Claims (14)

  1. Verfahren zum Bereitstellen eines virtuellen Arbeitsraums (201, 207), der eine Vielzahl elektronischer Einheiten (202, 203, 213) umfasst, worin Daten zwischen der Vielzahl elektronischer Einheiten (202, 203, 213) über eine Vielzahl von Verbindungen (205, 208) unter den elektronischen Einheiten (202, 203, 213) ausgetauscht werden können, wobei das Verfahren von einer oder mehreren elektronischen Einheiten (202, 203, 213) in dem virtuellen Arbeitsraum ausgeführt wird und die folgenden Schritte umfasst: Ermitteln der innerhalb des virtuellen Arbeitsraums (201, 207) verfügbaren Dienste; Ermitteln einer elektronischen Einheit (202, 203, 213) in dem virtuellen Arbeitsraum (201, 207), die auf die Daten von Interesse zugreifen kann; Ermitteln (709) eines oder mehrerer mit den Daten verknüpfter Formate, wobei ein Datenteil ein bestimmtes Format aus einem oder mehreren Datenformaten aufweist; gekennzeichnet durch: das Auswählen (708) einer elektronischen Einheit (202, 203, 213) wenigstens teilweise auf der Grundlage mehrerer vorgegebener Bedingungen und dem vorgegebenen Datenformat aus der Vielzahl elektronischer Einheiten (202, 203, 213), die zum Darstellen zumindest des Datenteils mittels einem der Dienste geeignet ist; das Ermitteln (753) eines Pfads durch die Vielzahl von Verbindungen zu der ausgewählten elektronischen Einheit; und das Leiten (754) wenigstens des mit dem vorgegebenen Datenformat verknüpften Datenteils über den festgelegten Pfad.
  2. Verfahren nach Anspruch 1, wobei sich die Daten auf einer der Vielzahl elektronischer Einheiten (202, 203, 213) oder auf einer entfernten elektronischen Einheit befinden, die nicht zu den elektronischen Einheiten (202, 203, 213) gehört.
  3. Verfahren nach Anspruch 1, wobei der virtuelle Arbeitsraum (201, 207) einen ersten virtuellen Arbeitsraum (201) darstellt, und es sich bei der ausgewählten elektronischen Einheit (202, 203, 312) um eine aus der Vielzahl zweiter elektronischer Einheiten (202, 203, 213) aus einem zweiten virtuellen Arbeitsraum (207) handelt, wobei der erste und zweite virtuelle Arbeitsraum über wenigstens eine zusätzliche Verbindung verbunden sind.
  4. Verfahren nach Anspruch 1, wobei es sich bei dem Datenteil entweder um alle Daten oder weniger als alle Daten handelt.
  5. Verfahren nach Anspruch 1, wobei die ausgewählte elektronische Einheit (202, 203, 213) von einer ersten ausgewählten elektronischen Einheit zu einer zweiten elektronischen Einheit wechselt, wenn eine elektronische Einheit zum virtuellen Arbeitsraum hinzugefügt oder aus ihm entfernt wird.
  6. Verfahren nach Anspruch 1, worin die Benutzerwünsche die Wiedergabetreue oder die Nähe zum Gesichtsfeld des Benutzers oder beides umfassen.
  7. Verfahren nach Anspruch 1, worin die vorgegebenen Bedingungen Benutzerwünsche umfassen und der Schritt des Auswählens ferner den Schritt des Auswählens (1606) der elektronischen Einheit auf der Grundlage eines mehrdimensionalen Bewertungsergebnisses umfasst, das wenigstens unter Verwendung der Benutzerwünsche ermittelt wird.
  8. Verfahren nach Anspruch 7, das ferner den Schritt des Ermittelns des mehrdimensionalen Bewertungsergebnisses durch das Hinzufügen von zwei oder mehreren Ausdrücken umfasst, wobei jeder Ausdruck einen Wert aufweist, der durch das Multiplizieren einer Variable mit einem Gewicht festgelegt wird, und wobei jedes Gewicht einem Benutzerwunsch entspricht.
  9. Verfahren nach Anspruch 1, worin der Schritt des Ermittelns eines Pfades (753) ferner den Schritt des Ermittelns auf der Grundlage von Leitweglenkung-Bedingungen der vorgegebenen oder mehrerer Verbindungen umfasst, um wenigstens den mit dem Datenformat verknüpften Datenteil zu leiten, wobei die Leitweglenkung-Bedingungen Kriterien für die Verlustleistung und/oder Kriterien für die Verbindungsart umfassen.
  10. Verfahren nach Anspruch 1, worin der Schritt des Leitens ferner den Schritt des Unterbindens des Zugriffs auf wenigstens den Datenteil auf der Grundlage einer Berechtigung des Benutzers zum Zugreifen auf die Daten oder einer Ermittlung der Identität eines Benutzers umfasst, der auf die Daten zuzugreifen versucht.
  11. Verfahren nach Anspruch 1, das ferner den Schritt des Umwandelns des Datenteils umfasst.
  12. Verfahren nach Anspruch 11, worin der Schritt des Umwandelns das Umwandeln des Datenteils von einem bestimmten Datenformat in ein anderes Datenformat und/oder das Übersetzen des Datenteils umfasst.
  13. Verfahren nach Anspruch 11, worin der Schritt des Umwandelns von einer oder mehreren aus der Vielzahl elektronischen Einheiten ausgeführt wird.
  14. Verfahren nach Anspruch 11, worin der Schritt des Umwandelns von einer bestimmten elektronischen Einheit (202, 203, 213) ausgeführt wird, bei der es sich nicht um die ausgewählte elektronische Einheit (202, 203, 213) handelt, und der Schritt des Ermittelns eines Pfades ferner den Schritt des Ermittelns eines Pfades durch die Vielzahl von Verbindungen und durch die bestimmte elektronische Einheit zu der ausgewählten elektronischen Einheit umfasst, wobei der Pfad die vorgegebene oder mehrere aus der Vielzahl von Verbindungen umfasst.
DE602004010807T 2003-05-20 2004-04-12 Techniken zur bereitstellung eines virtuellen arbeitsraums, bestehend aus einer vielzahl elektronischer einrichtungen Expired - Lifetime DE602004010807T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US442218 2003-05-20
US10/442,218 US7406500B2 (en) 2003-05-20 2003-05-20 Techniques for providing a virtual workspace comprised of a multiplicity of electronic devices
PCT/US2004/011203 WO2004105325A2 (en) 2003-05-20 2004-04-12 Techniques for providing a virtual workspace comprised of a multiplicity of electronic devices

Publications (2)

Publication Number Publication Date
DE602004010807D1 DE602004010807D1 (de) 2008-01-31
DE602004010807T2 true DE602004010807T2 (de) 2008-12-04

Family

ID=33450147

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004010807T Expired - Lifetime DE602004010807T2 (de) 2003-05-20 2004-04-12 Techniken zur bereitstellung eines virtuellen arbeitsraums, bestehend aus einer vielzahl elektronischer einrichtungen

Country Status (9)

Country Link
US (2) US7406500B2 (de)
EP (1) EP1636952B1 (de)
KR (1) KR100754310B1 (de)
CN (1) CN100466633C (de)
AT (1) ATE381835T1 (de)
DE (1) DE602004010807T2 (de)
IL (1) IL172052A0 (de)
TW (1) TWI330023B (de)
WO (1) WO2004105325A2 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343566B1 (en) 2002-07-10 2008-03-11 Apple Inc. Method and apparatus for displaying a window for a user interface
US7406500B2 (en) * 2003-05-20 2008-07-29 International Business Machines Corporation Techniques for providing a virtual workspace comprised of a multiplicity of electronic devices
US20050132264A1 (en) * 2003-12-15 2005-06-16 Joshi Ajit P. System and method for intelligent transcoding
US20060047819A1 (en) * 2004-05-14 2006-03-02 Caddes Scott A Simultaneous transfer of database updates between multiple clients and a server
GB2415325A (en) * 2004-06-15 2005-12-21 Mitel Networks Corp Spontaneous discovery of remote service profiles
KR100703754B1 (ko) * 2005-04-15 2007-04-06 삼성전자주식회사 웹서비스 처리 장치 및 방법
US20080147886A1 (en) * 2006-12-14 2008-06-19 Andrew Rodney Ferlitsch Methods and Systems for Providing Peripheral Device Services
US20080162628A1 (en) * 2007-01-03 2008-07-03 Peter Hill Simultaneous visual and telephonic access to interactive information delivery
US8321449B2 (en) * 2007-01-22 2012-11-27 Jook Inc. Media rating
US8839142B2 (en) * 2007-06-08 2014-09-16 Apple Inc. Desktop system object removal
US20090019120A1 (en) * 2007-07-13 2009-01-15 International Business Machines Corporation Metadata-enhanced instant-messaging applications
US7886048B1 (en) 2007-07-31 2011-02-08 Sutus, Inc. Systems and methods for managing integrated systems with use cases
US20100146506A1 (en) * 2008-12-08 2010-06-10 Electronics And Telecommunications Research Institute SYSTEM AND METHOD FOR OFFERING SYSTEM ON DEMAND (SoD) VIRTUAL-MACHINE
US20110060816A1 (en) * 2009-04-17 2011-03-10 Prem Jothipragasam Kumar Parameter management in a personal distributed network
US20110111697A1 (en) * 2009-11-06 2011-05-12 Research In Motion Limited Device, system and method for selecting, sharing and displaying electronic content
CA2780067C (en) * 2009-11-06 2014-09-09 Research In Motion Limited Device, system and method for selecting, sharing and displaying electronic content
US20110246340A1 (en) * 2010-04-02 2011-10-06 Tracelink, Inc. Method and system for collaborative execution of business processes
US8898567B2 (en) * 2010-04-09 2014-11-25 Nokia Corporation Method and apparatus for generating a virtual interactive workspace
US9235268B2 (en) * 2010-04-09 2016-01-12 Nokia Technologies Oy Method and apparatus for generating a virtual interactive workspace
US9407718B2 (en) * 2010-07-01 2016-08-02 Broadcom Corporation Method and system for service discovery and deployment in an IP multimedia network
US9658732B2 (en) * 2010-10-19 2017-05-23 Apple Inc. Changing a virtual workspace based on user interaction with an application window in a user interface
US10740117B2 (en) * 2010-10-19 2020-08-11 Apple Inc. Grouping windows into clusters in one or more workspaces in a user interface
US9542202B2 (en) * 2010-10-19 2017-01-10 Apple Inc. Displaying and updating workspaces in a user interface
US9292196B2 (en) * 2010-10-19 2016-03-22 Apple Inc. Modifying the presentation of clustered application windows in a user interface
US8676908B2 (en) * 2010-11-25 2014-03-18 Infosys Limited Method and system for seamless interaction and content sharing across multiple networks
KR20120066529A (ko) * 2010-12-14 2012-06-22 한국전자통신연구원 가상 전자제품 제공 시스템
US10152192B2 (en) 2011-02-21 2018-12-11 Apple Inc. Scaling application windows in one or more workspaces in a user interface
US8873618B2 (en) * 2011-02-28 2014-10-28 Blackberry Limited Device to transmit data by displaying a coded image generated according to a selectable encoding scheme and associated methods
CN102662971A (zh) * 2012-03-09 2012-09-12 盛乐信息技术(上海)有限公司 基于虚拟盘的互联网信息展示方法及系统
US20130290835A1 (en) * 2012-04-30 2013-10-31 James Paul Hudetz Method and Apparatus for the Selection and Reformat of Portions of a Document
US10015720B2 (en) 2014-03-14 2018-07-03 GoTenna, Inc. System and method for digital communication between computing devices
KR102463405B1 (ko) 2015-05-21 2022-11-04 삼성전자주식회사 전자 장치, 그 동작 방법 및 기록 매체
KR102807594B1 (ko) * 2022-02-14 2025-05-13 연세대학교 산학협력단 이기종 데이터 형식을 적용한 메모리 시스템 및 이기종 데이터 형식을 적용한 메모리 시스템의 제어 방법

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0472854A (ja) 1990-07-12 1992-03-06 Oki Electric Ind Co Ltd データ収集方式
US5485634A (en) * 1993-12-14 1996-01-16 Xerox Corporation Method and system for the dynamic selection, allocation and arbitration of control between devices within a region
US5991809A (en) * 1996-07-25 1999-11-23 Clearway Technologies, Llc Web serving system that coordinates multiple servers to optimize file transfers
US6233318B1 (en) 1996-11-05 2001-05-15 Comverse Network Systems, Inc. System for accessing multimedia mailboxes and messages over the internet and via telephone
JP3180745B2 (ja) 1997-11-07 2001-06-25 日本電気株式会社 Pon伝送システム及びその帯域割当方法
SE516122C2 (sv) * 1999-02-11 2001-11-19 Ericsson Telefon Ab L M Anordning och förfarande relaterande till paketdatakommunikation och ett paketdatakommunikationssystem
EP1219098B1 (de) 1999-06-14 2018-05-23 BlackBerry Corporation Verfahren und gerät zur kommunikation über virtuelle fernsprechnebenstellen
JP2001022690A (ja) 1999-07-09 2001-01-26 Canon Inc 装置間のデータ通信方法及びそのシステム
US6498835B1 (en) * 2000-02-29 2002-12-24 Ameritech Corporation Method and system for providing visual notification in a unified messaging system
US7324226B2 (en) * 2000-05-31 2008-01-29 National Semiconductor Corporation Method, and arrangement in a communications network
WO2002009458A2 (en) * 2000-07-24 2002-01-31 Bluesocket, Inc. Method and system for enabling seamless roaming in a wireless network
JP2002101104A (ja) * 2000-09-21 2002-04-05 Toshiba Corp 無線通信システム及び電子機器検索方法
US7356347B1 (en) * 2000-09-28 2008-04-08 Palmsource, Inc. Efficient discovery of devices in a bluetooth environment
US20020059377A1 (en) * 2000-11-14 2002-05-16 Jagadish Bandhole Collaborative computing systems using dynamic computing environments
US6954790B2 (en) * 2000-12-05 2005-10-11 Interactive People Unplugged Ab Network-based mobile workgroup system
US7164885B2 (en) * 2000-12-18 2007-01-16 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for selective service access
KR100374189B1 (ko) * 2000-12-20 2003-03-04 한일시멘트 (주) 토질안정 처리재의 제조방법
US8126982B2 (en) * 2001-02-16 2012-02-28 International Business Machines Corporation Method, network device and computer program product for performing service discovery in a pervasive network
US7092740B1 (en) * 2001-04-20 2006-08-15 Trilogy Development Group, Inc. High density information presentation using space-constrained display device
US7171415B2 (en) * 2001-05-04 2007-01-30 Sun Microsystems, Inc. Distributed information discovery through searching selected registered information providers
US7099871B2 (en) * 2001-05-04 2006-08-29 Sun Microsystems, Inc. System and method for distributed real-time search
US7013303B2 (en) * 2001-05-04 2006-03-14 Sun Microsystems, Inc. System and method for multiple data sources to plug into a standardized interface for distributed deep search
US7340438B2 (en) * 2001-05-21 2008-03-04 Nokia Corporation Method and apparatus for managing and enforcing user privacy
US7194760B2 (en) * 2001-05-21 2007-03-20 Nokia Corporation Method for protecting privacy when using a Bluetooth device
US7668144B2 (en) * 2001-06-04 2010-02-23 Taylor Rebecca S Dynamically extensible communications device
FI20011239A7 (fi) * 2001-06-12 2002-12-13 Nokia Corp Tiedonsiirtomenetelmä ja -järjestely
WO2003001413A1 (en) * 2001-06-22 2003-01-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US20020049817A1 (en) * 2001-07-12 2002-04-25 Eatamar Drory Storageless system and method for unified messaging on existing mail accounts via standard internet mail protocols
US7089298B2 (en) * 2001-08-20 2006-08-08 Nokia Corporation Naming distribution method for ad hoc networks
US20030069989A1 (en) * 2001-10-05 2003-04-10 Silvester Kelan C. Extending bluetooth personal area networks
GB0126650D0 (en) * 2001-11-06 2002-01-02 Mitel Knowledge Corp System and method for the selection of electronic services from a set of resources using infrared communication
US7209705B2 (en) * 2001-11-14 2007-04-24 Samsung Electronics Co., Ltd. Method and apparatus for optional automatic configuration of wireless communications device behavior within small area transmitter service regions
US7340214B1 (en) * 2002-02-13 2008-03-04 Nokia Corporation Short-range wireless system and method for multimedia tags
US7249182B1 (en) * 2002-02-27 2007-07-24 Nokia Corporation Personal profile sharing and management for short-range wireless terminals
US7102640B1 (en) * 2002-03-21 2006-09-05 Nokia Corporation Service/device indication with graphical interface
US7324462B1 (en) * 2002-07-25 2008-01-29 3Com Corporation Methods for discovering devices within a wireless network
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
US7406500B2 (en) * 2003-05-20 2008-07-29 International Business Machines Corporation Techniques for providing a virtual workspace comprised of a multiplicity of electronic devices

Also Published As

Publication number Publication date
TWI330023B (en) 2010-09-01
US20040236818A1 (en) 2004-11-25
CN1792069A (zh) 2006-06-21
EP1636952A2 (de) 2006-03-22
KR20060018820A (ko) 2006-03-02
EP1636952B1 (de) 2007-12-19
WO2004105325A2 (en) 2004-12-02
CN100466633C (zh) 2009-03-04
US7720909B2 (en) 2010-05-18
TW200515178A (en) 2005-05-01
DE602004010807D1 (de) 2008-01-31
US7406500B2 (en) 2008-07-29
US20080256259A1 (en) 2008-10-16
WO2004105325A3 (en) 2005-02-03
ATE381835T1 (de) 2008-01-15
KR100754310B1 (ko) 2007-09-03
IL172052A0 (en) 2009-02-11

Similar Documents

Publication Publication Date Title
DE602004010807T2 (de) Techniken zur bereitstellung eines virtuellen arbeitsraums, bestehend aus einer vielzahl elektronischer einrichtungen
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE60006845T2 (de) Verfahren und vorrichtung zur zusammenarbeit bei multimediaerzeugung über einem netzwerk
DE60317925T2 (de) Steuerung von netzwerkverkehr in einer peer-to-peer umgebung
DE60306084T2 (de) Verfahren zur Rundsendung von Inhalten eines Peer-to-Peer Netzes
DE60314877T2 (de) Verfahren und vorrichtung zur bereitstellung elektronischer post an ein mobiles gerät
DE60306186T2 (de) Verfahren und system zur anordnung von dienste in einer webdienstarchitektur
DE19747583B4 (de) Kommunikationssystem und Verfahren
DE60127078T2 (de) Vorrichtung für anhaltende Chatsitzungen
DE60203798T2 (de) Mobiler instant-messaging- und präsenzdienst
DE60317403T2 (de) Mehrstufige Cache-Speicherarchitektur und Cache-Speicherverwaltungsverfahren für gleichrangiges Namensauflösungs-Protokoll
DE602004000655T2 (de) Verfahren zum initiieren einer Server-basierten gemeinsamen Bearbeitung von e-mail Anhängen
DE69730929T2 (de) System zur Verwaltung der Mitanwesenheit innerhalb Gemeinschaften
DE69719963T2 (de) Proxyserversystem zur verbesserung der funktionalität von rechnern, die auf internetserver zugreifen
DE602005002679T2 (de) WEB-Dienst-Anwendungsprotokoll und SOAP-Verarbeitungsmodell
DE60024706T2 (de) Verteiltes Parameterkontrollprotokoll
DE69605274T2 (de) System und Verfahren zur Aufmerksammachen von anderen, die ähnliche Aufgaben in einer Rechnerumgebung ausführen
DE60216918T2 (de) Verfahren und computersystem zur auswahl eines randservercomputers
DE60020518T2 (de) Verwaltung von Benutzerprofilen
DE69632121T2 (de) Universelles Nachrichtenspeichersystem
DE60317917T2 (de) Verfahren und vorrichtung zum weiterleiten von sitzungsinformationen von einem portal-server
DE60206801T2 (de) Verfahren zur übertragung von datenobjekten von einem server zu einem client-terminal, das sich einer verwaltung des cache bedient
DE112011104787B4 (de) Nutzung von Inhalten über persönliche Clouds
DE102004049502A1 (de) Vorrichtung, Verfahren und System zur Bereitstellung automatisierter Dienste für heterogene Geräte über mehrere Plattformen hinweg
DE102011010686A1 (de) Kontextabhängige Korrelationsmaschine

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: LEE, NATHAN JUNSUP, NEW CITY, NJ 10956, US

Inventor name: VIVEROS, MARISA S., DOBBS FERRY, NY 10522, US

Inventor name: HERGER, LORRAINE M., PORT CHESTER, NY 10573, US

Inventor name: GOPALAKRISHNAN, PONANI, YORKTOWN HEIGHTS, NY 1, US

Inventor name: GRUEN, DANIEL M., NEWTON, MA 02460, US

Inventor name: BANTZ, DAVID, WINCHESTER HAMPSHIRE SO21 2JN, GB

Inventor name: SHEA, DENNIS, WINCHESTER HAMPSHIRE SO21 2JN, GB

8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)