-
GEBIET DER
ERFINDUNG
-
Diese
Erfindung bezieht sich auf das Gebiet des Dokumentenmanagement,
und im Speziellen auf ein Verfahren und System zum Beginnen und
Managen von serverbasierter Zusammenarbeit.
-
HINTERGRUND
DER ERFINDUNG
-
Computersysteme
erlauben es Benutzern Dokumente unter Verwendung verschiedener Anwendungen
zu erzeugen, anzusehen und zu verändern. Ein Dokument ist eine
Sammlung von Daten in einer oder mehreren Dateien. Z.B. können Daten
in einem Dokument Text, Grafik, Tabellenkalkulation, Audio, Video,
Metadata bezüglich
des Dokuments, oder irgendeine Kombination von zwei oder mehreren
dieser Möglichkeiten
darstellen.
-
Es
gibt oft die Notwendigkeit, dass mehrere Benutzer an einem einzelnen
Dokument zusammenarbeiten. Dies kann durch Senden des Dokuments als
ein Anhang an einer E-Mailnachricht geschehen. Ein erster Benutzer,
der mit anderen zusammenarbeitet (und im folgenden Kollaborateur
genannt wird), und der das Dokument hat, beginnt die Zusammenarbeit
durch Anhängen
einer Kopie des Dokumentes an eine E-Mailnachricht und Senden der
Nachricht zu den anderen Kollaborateuren. Die Kollaborateure können dann
das Dokument ansehen und verändern. Ein
Problem bei dieser Form der Zusammenarbeit ist das Koordinieren
der Veränderungen,
die durch die verschiedenen Kollaborateure gemacht wurden. Z.B. wenn
A, B und C Kollaborateure sind, die an einem Dokument zusammenarbeiten,
welches per E-Mail zu B und C durch A gesendet worden ist, dann
wird jeder von A, B und C eine Kopie des Dokuments haben. Jede Kopie
der Kollaborateure von dem Dokument ist separat durch diesen Kollaborateur
bearbeitet. Kollaborateure können
widersprüchliche Änderungen
in dem Dokument machen. Eine E-Mail kann zwischen den Kollaborateuren
ausgetauscht werden, inklusive Kommentaren zu der Zusammenarbeit. Eine
E-Mail kann auch dazu verwendet werden, verschiedene Versionen des
Dokuments zu senden. An einem Punkt wird es notwendig sein, Veränderungen, die
die Kollaborateure in ihren separaten Kopien gemacht haben, zu untersuchen
und Konflikte abstimmen, um ein einzelnes Dokument zu erzeugen,
welches das Ergebnis der Zusammenarbeit enthält.
-
Die
Notwendigkeit, Konflikte zu klären,
kann durch Verwenden eines allgemeinen Servers zur Dokumentzusammenarbeit
vermieden werden. Kollaborateure haben (z.B. über ein Netzwerk) Zugriff auf
ein Dokument, das auf dem Server liegt. Die Verwendung eines solchen
Servers für
Zusammenarbeit kann Konflikte vermeiden, z.B. dadurch, dass es nur einem
Kollaborateur jeweils erlaubt ist, das Dokument zu bearbeiten. Jedoch
kann das Aufsetzen eines Servers für die Zusammenarbeit schwierig
sein. Ein Benutzer muss mindestens einen Server identifizieren,
Zugriffsrechte für
Kollaborateure vergeben, und das Dokument auf den Server laden.
Das managen eines Servers für
die Zusammenarbeit ist auch schwierig. Z.B. ist es schwierig, aber
wünschenswert, neuen
Benutzern Zugriff zu einem Dokument zu erlauben, oder Zugriffsrechte
für bestehende
Kollaborateure zu verändern
oder zu entfernen. Zusätzlich
ist es schwierig Benutzer zu ermutigen, den Server für Zusammenarbeit
zum Bearbeiten zu verwenden, als lieber ihre individuelle Kopie
zu bearbeiten.
-
Kollaborateure,
die ein Dokument auf einem Server für Zusammenarbeit betrachten
und verändern,
können
in der Lage sein, Kommentare von Mitkollaborateuren in dem Dokument
zu sehen. Z.B. erlaubt es die Microsoft WORD Textverarbeitungssoftware
Benutzern Kommentardaten in einem Dokument einzuschließen, welche
an den Seitenrändern eines
Dokuments oder in einem separaten Fensterausschnitt angezeigt werden
können.
Jedoch wird zwischen den Kollaborateuren der Austausch von anderen
Kommentaren als jenen, die in dem Dokument eingeschlossen sind,
nicht von dem Server für Zusammenarbeit
unterstützt.
-
Novell
Inc.: "User's Guide for Windows 32-bit"; Kapitel 3; Kapitel
9; Groupwise Version 5.5; 26. September 2000 bezieht sich auf das
Arbeiten mit Elementen in einer Mailbox und das Erzeugen und Arbeiten
mit Dokumenten in GroupWise. Dateien können an Nachrichten angehängt werden,
und wenn die Datei ein Dokument ist, welches in GroupWise Library
gespeichert ist, kann stattdessen eine Referenz auf das Dokument
angehängt
werden. Wenn irgendein Empfänger
nicht ausreichende Dokumentenrechte besitzt oder wenn sie kein E-Mailprodukt
benut zen, dass GroupWise Library unterstützt, oder wenn die Library
nicht verfügbar
ist, wird sich nur eine Kopie des Dokuments öffnen, wenn ein Empfänger einen
Anhang öffnet.
Weil GroupWise alle Dokumente in der GroupWise Library speichert, können mehrere
Dokumentverweise, welche Links zu dem eigentlichen Dokument in der
Bibliothek sind, zu demselben Dokument zeigen. Des Weiteren ist
es möglich,
ein Dokument dadurch gemeinsam zu benutzen, dass angegeben wird,
mit welchen Benutzern oder Gruppe das Dokument gemeinsam benutzt wird,
und welche Rechte jeder Benutzer haben wird. Diese Rechte schließen Betrachten,
Bearbeiten, Löschen
oder gemeinsames Benutzen eines Dokuments ein.
-
KURZFASSUNG
DER ERFINDUNG
-
Es
ist die Aufgabe der Erfindung ein einfacheres System und Verfahren
zum Managen eines Servers für
Zusammenarbeit bereitzustellen.
-
Diese
Aufgabe wird durch die Erfindung gelöst, wie es in den unabhängigen Ansprüchen beansprucht
wird.
-
Bevorzugte
Ausführungsformen
sind durch die abhängigen
Ansprüche
definiert.
-
Die
Erfindung stellt Verfahren und Systeme zum Beginnen und Managen
von serverbasierter Zusammenarbeit zur Verfügung. Die Erfindung erlaubt es
einem Benutzer die Zusammenarbeit auf einem Server für Zusammenarbeit
unter Verwendung von einer E-Mail an Kollaborateure zu beginnen
und zu managen. Dadurch sind die Vorteile der Zusammenarbeit durch
Verwendung einer E-Mail mit Anhängen kombiniert
mit den konfliktvorbeugenden Vorteilen der Zusammenarbeit unter
Verwendung eines Servers für
Zusammenarbeit.
-
KURZE BESCHREIBUNG
DER FIGUREN
-
Die
vorangegangene Kurzfassung sowie die folgende detailliertere Beschreibung
der bevorzugten Ausführungsformen
kann besser verstanden werden, wenn sie zusammen mit den anhängenden
Zeichnungen gelesen werden. Zum Zweck der Darstellung der Erfindung
werden in den Zeichnungen exemplarische Ausführungs formen der Erfindung
gezeigt; jedoch ist die Erfindung nicht auf diese spezifischen Verfahren
und offenbarten Mittel begrenzt. In den Zeichnungen ist:
-
1 ein
Blockdiagramm, dass eine exemplarische Computerumgebung zeigt, in
welcher Aspekte der Erfindung implementiert werden können;
-
2 ein
funktionelles Diagramm, das ein Beispiel einer Beziehung zwischen
einem ersten Computer, einem Netzwerk, einem Server für Zusammenarbeit,
und einem anderen Computern darstellt; und
-
3 ein
Ablaufdiagramm, das den Beginn einer Zusammenarbeit gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt.
-
DETAILLIERTE
BESCHREIBUNG DER VERANSCHAULICHENDEN AUSFÜHRUNGSFORMEN
-
Serverbasierte
Zusammenarbeit wird durch eine E-Mail ausgelöst. Wenn der Benutzer die E-Mailnachricht
mit Anhängen
erzeugt, wird eine Zusammenarbeits-Website vorgesehen. Die Zusammenarbeits-Website
erlaubt das Zusammenarbeiten an den angehängten Dokumenten durch die
Empfänger
der Nachricht. Die Erleichterung der Zusammenarbeit mit E-Mail und
die Vorteile des Servers für
Zusammenarbeit stehen somit beide dem Benutzer zur Verfügung.
-
EXEMPLARISCHES
COMPUTERGERÄT
-
1 und
die folgende Diskussion zielt darauf ab, eine kurze allgemeine Beschreibung
einer geeigneten Computerumgebung zur Verfügung zu stellen, in der die
Erfindung implementiert werden kann. Es sollte jedoch verstanden
sein, dass Handheld, portable und andere Computergeräte und Computerobjekte
jeglicher Art zur Verwendung in Verbindung mit der vorliegenden
Erfindung in Betracht gezogen werden können, wie oben beschrieben.
Während
unten ein Allzweckcomputer beschrieben wird, ist dies allerdings
nur ein Beispiel, und die vorliegende Erfindung kann mit anderen
Computergeräten
implementiert werden, sowie z.B. einem Thinclient, der Netzwerk-Bus-Interoperabilität und -Interaktion
besitzt. Deshalb kann die vorliegende Erfindung in einer Umgebung
von netzwerkbetriebenen Services implementiert werden, in welchen
sehr wenige oder minimale Client Ressourcen impliziert sind, z.B.
eine Netzwerkumgebung, in welcher das Client Gerät lediglich als eine Schnittstelle
zu dem Netzwerk/Bus dient, sowie ein Objekt, das in einer Anwendung
untergebracht ist, oder auch andere Computergeräte und Objekte. Im Wesentlichen
ist alles, wo Daten gespeichert werden können oder von wo Daten abgerufen
werden können,
eine wünschenswerte
oder passende Umgebung zur Funktionsausführung gemäß der Erfindung.
-
Obwohl
nicht notwendig, kann die Erfindung über ein Betriebssystem implementiert
werden zur Verwendung durch einen Entwickler für Services für ein Gerät oder Objekt,
und/oder innerhalb einer Anwendungssoftware eingeschlossen sein,
die gemäß der Erfindung
funktioniert. Software kann in dem allgemeinen Kontext von computerausführbaren
Instruktionen beschrieben werden, sowie z.B. Programmmodulen, die
durch einen oder mehrere Computer ausgeführt werden, sowie Client-Workstations, Servern
oder anderen Geräten.
Im Allgemeinen enthalten Programmmodule Routinen, Programme, Objekte,
Komponenten, Datenstrukturen und ähnliches die bestimmte Aufgabe
ausführen
oder bestimmte abstrakte Datentypen implementieren. Üblicherweise können die
Funktionalitäten
von Programmmodulen kombiniert oder verteilt werden, wie es in verschiedenen
Ausführungsformen
gewünscht
ist. Außerdem werden
es Fachkundige begrüßen, dass
die Erfindung mit anderen Computerkonfigurationen ausgeführt werden
kann. Andere bekannte Computersysteme, Umgebungen, und/oder Konfigurationen,
die für die
Verwendung mit der Erfindung geeignet sind, schließen Personalcomputer
(PCs), Geldautomaten, Servercomputer, Handheld oder Laptop-Geräte, Mehrprozessorsysteme,
mikroprozessorbasierte Systeme, programmierbare Unterhaltungselektronik, Netzwerk-PCs,
Anwendungen, Lichter, Umgebungskontrollelemente, Minicomputer, Mainframe-Computer
und ähnliches
ein, ist aber nicht darauf begrenzt. Die Erfindung kann auch in
einer verteilten Computerumgebung ausgeführt werden, wo Aufgaben durch
Remote-Processing-Geräte
durchgeführt
werden, die durch ein Kommunikationsnetzwerk/Bus oder anderes Übertragungsmedium
verbunden sind. In einer verteilten Computerumgebung können Programmmodule
sowohl in lokalen als auch Remote-Computerspeichermedien, einschließlich Speichergeräten, liegen,
und können
Client-Knoten sich hingegen wie Serverknoten verhalten.
-
1 stellt
deshalb ein Beispiel einer passenden Computersystemumgebung 100 dar,
in welcher die Erfindung implementiert werden kann, obwohl, wie
oben klargestellt, die Computersystemumgebung 100 nur ein
Beispiel einer passenden Computerumgebung ist und es nicht beabsichtigt
ist, eine Begrenzung des Umfangs der Verwendung oder Funktionalität der Erfindung
vorzuschlagen. Weder sollte die Computerumgebung 100 interpretiert
werden als hätte
sie irgendwelche Abhängigkeiten
oder Erfordernisse bezüglich
irgendeiner oder Kombination von Komponenten, die in der exemplarischen
Arbeitsumgebung 100 dargestellt sind.
-
Mit
Bezug auf 1 schließt ein exemplarisches System
zum Implementieren der Erfindung einen Allzweckcomputer in Form
des Computersystems 110 ein. Komponenten des Computersystem 110 können eine
Prozessoreinheit 120, einen Systemspeicher 130,
und einen Systembus 121, der verschiedene Systemkomponenten
einschließlich
des Systemspeichers mit der Prozessoreinheit 120 verbindet,
einschließen,
ist aber nicht darauf begrenzt. Der Systembus 121 kann
irgendeiner von verschiedenen Typen von Busstrukturen haben, einschließlich eines
Speicherbus oder Speichercontroller, eines Peripheriebus, und eines
lokalen Busses, der irgendeine Art einer Busarchitektur verwendet.
Als Beispiel und nicht Einschränkung
schließen
solche Architekturen Industry Standard Architecture (ISA) Bus, Micro
Channel Architecture (MCA) Bus, Enhanced ISA (EISA) Bus, Video Electronics
Standards Association (VESA) Lokal Bus und Peripheral Component
Interconnect (PCI) Bus (auch bekannt als Mezzanine Bus) ein.
-
In
das Computersystem 110 schließt üblicherweise eine Vielfalt
von computerlesbaren Medien ein. Computerlesbare Medien können irgendwelche
verfügbaren
Medien sein, auf die durch das Computersystem 110 zugegriffen
werden kann und schließt
beides volatile und nicht-volatile Medien, entfernbare und nicht
entfernbare Medien ein. Als Beispiel und nicht Einschränkung können computerlesbare
Medien, Computerspeichermedien und Kommunikationsmedien einschließen. Computerspeichermedien
schließen
volatile und nicht-volatile, entfernbare und nicht entfernbare Medien
ein, die durch irgendein Verfahren oder Technologie zum Speichern von
Informationen implementiert sind, so wie z.B. computerlesbare Instruktionen,
Datenstrukturen, Programmmodule oder andere Daten. Computerspeichermedien
schließen
ein, sind aber nicht darauf begrenzt, Random Access Memory (RAM),
Read Only Memory (ROM), Electrically Erasable Programmable Read
Only Memory (EEPROM), Flashspeicher oder andere Speichertechnologien,
Compact Disk Read Only Memory (CDROM), Digital Versatile Disks (DVD)
oder andere optische Diskspeicher, magnetische Kassetten, magnetische
Bänder,
magnetische Diskspeicher oder andere magnetische Speichergeräte, oder
irgendein anderes Medium, welches zum Speichern der gewünschten
Informationen verwendet werden kann und auf weiches durch das Computersystem 110 zugegriffen
werden kann. Kommunikationsmedien enthalten üblicherweise computerlesbare
Instruktionen, Datenstrukturen, Programmmodule oder andere Daten
in einem modulierten Datensignal sowie einer Übertragungswelle oder anderem
Transportmechanismus und schließt
irgendwelche Informationsliefermedien ein. Der Begriff „moduliertes
Datensignal" meint
ein Signal, das eines oder mehrere seiner Charakteristiken in solch
einer Weise gesetzt oder verändert
hat, um Informationen in dem Signal zu kodieren. Als Beispiel und
nicht Einschränkung
schließen
Kommunikationsmedien verkabelte Medien sowie ein Kabelnetzwerk oder
eine Direktkabelverbindung, und kabellose Medien sowie Akustik,
RF, Infrarot und andere kabellose Medien ein. Kombinationen von
irgendwelchen der oben genannten sollten auch im Umfang der computerlesbaren
Medien eingeschlossen sein.
-
Der
Systemspeicher 130 schließt Computerspeichermedien in
der Form von flüchtigem
und/oder nichtflüchtigem
Speicher sowie Read Only Memory (ROM) 131 und Random Access
Memory (RAM) 132 ein. Ein Basic Input/Output System 133 (BIOS),
welches die grundlegenden Routinen enthält, die helfen, Informationen
zwischen den Elementen innerhalb des Computersystems 110 zu übertragen,
sowie während
des Starts, ist üblicherweise
in dem ROM 131 gespeichert. RAM 132 enthält üblicherweise
Daten und/oder Programmmodule, auf die sofort zugegriffen werden
kann und/oder auf denen gerade durch die Prozessoreinheit 120 gearbeitet
wird. Als Beispiel und nicht Einschränkung zeigt 1 ein
Betriebssystem 134, Anwendungsprogramme 135, andere
Programmmodule 136, und Programmdaten 137.
-
Das
Computersystem 110 kann auch andere entfernbare/nicht-entfernbare
volatile/nicht-volatile Computerspeichermedien einschließen. Lediglich
als Beispiel stellt 1 ein Festplattenlaufwerk 141 dar, das
liest oder schreibt von oder zu nicht-entfernbaren, nicht volatilen magnetischen
Medien, einem magnetischen Disklaufwerk 151, welches liest
oder schreibt von oder zu einer entfernbaren, nicht-volatilen magnetischen
Disk 152, und ein optisches Disklaufwerk 155,
das liest oder schreibt von oder zu einer entfernbaren nicht volatilen
optischen Disk 156, sowie einer CDROM oder anderem optischen
Medium. Andere entfernbare/nicht-entfernbare volatile/nicht-volatile
Computerspeichermedien, die in der exemplarischen Arbeitsumgebung
verwendet werden können,
schließen
ein, sind aber nicht darauf begrenzt, magnetische Bandkassetten,
Flash Memory Karten, Digital Versatile Discs, digitale Videobänder, Solid
State RAM, Solid State ROM, und ähnliches. Das
Festplattenlaufwerk 141 ist üblicherweise mit dem Systembus 121 durch
eine nicht-entfernbare Speicherschnittstelle verbunden, sowie Schnittstelle 140,
und das magnetische Disklaufwerk 151 und optische Disklaufwerk 155 sind üblicherweise
mit dem Systembus 121 durch eine entfernbare Speicherschnittstelle
verbunden, sowie Schnittstelle 150.
-
Die
Laufwerke und deren zugehörige
Computerspeichermedien, die oben diskutiert und in 1 dargestellt
sind, stellen die Speicherung von computerlesbaren Instruktionen,
Datenstrukturen, Programmmodulen und anderen Daten für das Computersystem 110 zur
Verfügung.
In 1 ist z.B. das Festplattenlaufwerk 141 so
dargestellt, dass es das Betriebssystem 144, Anwendungsprogramme 145, andere
Programmmodule 146 und Programmdaten 147 speichert.
Es ist zu beachten, dass diese Komponenten dieselben oder verschieden
von dem Betriebssystem 134, Anwendungsprogrammen 135,
anderen Programmmodulen 136, und Programmdaten 137 sein
können.
Betriebssysteme 144, Anwendungsprogramme 145,
andere Programmmodule 146, und Programmdaten 147 wurden
hier mit anderen Nummern versehen, um darzustellen, dass sie mindestens
verschiedene Kopien sind. Ein Benutzer kann Kommandos und Informationen
in das Computersystem 110 durch Eingabegeräte, wie
ein Keyboard 162 und ein Anzeigegerät 161, allgemein bekannt
als eine Mouse, Track Ball oder Touch Pad, eingeben. Andere Eingabegeräte (nicht
gezeigt) können
ein Mikrofon, einen Joy Stick, ein Game Pad, Satellitenschüssel, Scanner
oder ähnliches
einschließen.
-
Diese
und andere Eingabegeräte
sind oft mit der Prozessoreinheit 120 durch eine Benutzereingabeschnittstelle 160 verbunden,
welche mit dem Systembus 121 gekoppelt ist, kann aber durch
andere Schnittstellen und Busstrukturen verbunden sein, sowie einen
Parallel-Port, Game Port oder einen Universal Serial Bus (USB).
Eine Grafikschnittstelle 182 sowie Northbridge, kann auch
mit dem Systembus 121 verbunden sein. Northbridge ist ein
Chipset, das mit der CPU, oder Host Prozessoreinheit 120 kommuniziert
und die Verantwortung für
Accelerated Graphics Port (AGP) Kommunikationen übernimmt. Eine oder mehrere
grafische Prozessoreinheiten (GPUs) 184 können mit
der Grafikschnittstelle 182 kommunizieren. Dafür enthalten
die GPUs 184 im Allgemeinen On-Chip-Speicher, sowie Register-Speicher, und die GPUs 184 kommunizieren
mit einem Videospeicher 186. Die GPUs 184 sind
jedoch ein Beispiel eines Coprozessors, und deshalb kann eine Auswahl
von Coprozessorgeräten
in dem Computersystem 110 eingeschlossen sein. Ein Monitor 191 oder
anderer Typ von Anzeigegerät
ist auch mit dem Systembus 121 über eine Schnittstelle, wie
z.B. einer Videoschnittstelle 190 verbunden, welche wiederum
mit dem Videospeicher 186 kommuniziert. Zusätzlich zu dem
Monitor 191, kann das Computersystem auch andere periphere
Ausgabegeräte,
wie z.B. Lautsprecher 197 und Drucker 196 einschließen, welche durch
eine Ausgabeperipherieschnittstelle 195 verbunden sind.
-
Das
Computersystem 110 kann in einer Netzwerk- oder dezentralen
Umgebung unter Verwendung logischer Verbindungen zu einem oder mehreren
Remote Computern arbeiten, sowie z.B. Remote Computer 180.
Der Remote Computer 180 kann ein Personal Computer, ein
Server, ein Router, ein Netzwerk PC, ein Peer Gerät oder anderer
allgemeiner Netzwerkknoten sein und schließt üblicherweise viele oder alle
der Elemente ein, die oben bezüglich
dem Computersystem 110 beschrieben sind, obwohl nur ein
Speichergerät 181 in 1 dargestellt
ist. Die logischen Verbindungen, die in 1 gezeigt
sind, schließen
ein Local Area Network (LAN) 171 und Wide Area Network
(WAN) 173 ein und können
aber auch andere Netzwerke und Busse einschließen. Solche Netzwerkumgebungen
sind alltäglich
in Privathaushalten, Büros,
unternehmensweiten Computernetzwerken, Intranets und dem Internet.
-
Wenn
in einer LAN Netzwerkumgebung verwendet, ist das Computersystem 110 mit
dem LAN 171 durch eine Netzwerkschnittstelle oder Adapter 170 verbunden.
Wenn in einer WAN Netzwerkumgebung verwendet, schließt das Computersystem 110 üblicherweise
ein Modem 172 oder andere Mittel zum Herstellen einer Verbindung über das
WAN 173, wie z.B. dem Internet, ein. Das Modem 172,
welches intern oder extern sein kann, kann mit dem Systembus 121 über die
Benutzereingabeschnittstelle 160 oder einem anderen passenden
Mechanismus verbunden sein. In einer Netzwerkumgebung können Programmmodule,
die bezüglich
des Computersystems 110 beschrieben sind, oder Teile davon
in dem Remote Speichergerät
gespeichert sein. Als Beispiel und nicht Einschränkung stellt 1 Remote-Anwendungsprogramme 185 so
dar, dass sie auf dem Speichergerät 181 liegen. Es wird
begrüßt, dass
die gezeigten Netzwerkverbindungen exemplarisch sind und andere
Mittel zum Herstellen einer Verbindung zwischen den Computern verwendet
werden können.
-
Verschiedene
verteilte Computing Frameworks sind und werden angesichts der Konvergenz von
Personalcomputing und dem Internet entwickelt. Sowohl Individuen
als auch geschäftlichen
Benutzern steht eine nahtlose vollständig kompatible und webfähige Schnittstelle
für Anwendungen
und Computergeräte
zur Verfügung,
welche Computeraktivitäten
zunehmend Webbrowser- oder Netzwerk orientiert machen.
-
Z.B.
schließt
die Microsoft.NET Plattform Server, Bausteinservices, sowie webbasierte
Datenspeicherung, und herunterladbare Gerätesoftware ein. Während exemplarische
Ausführungsformen
in Verbindung mit Software beschrieben sind, die auf einem Computergerät liegt,
können
eine oder mehrere Teile der Erfindung auch über ein Betriebssystem, eine
Application Programming Interface (API) oder ein „Mittelmann" Objekt zwischen
irgendeinem von einem Coprozessor, einem Anzeigegerät und abfragendem
Objekt implementiert werden, so dass Funktionen gemäß der Erfindung
durchgeführt
werden können,
dabei unterstützt
in oder zugegriffen über alle
von .NETs Sprachen und Services, und auch in anderen verteilten
Computingframeworks.
-
BEGINNEN VON
SERVERBASIERTER ZUSAMMENARBEIT
-
Wie
in 2 gemäß einer
Ausführungsform der
Erfindung gezeigt, erzeugt ein initiierender Kollaborateur, um eine
Zusammenarbeit zu beginnen, eine elektronische Nachricht unter Verwendung
eines ersten Computers 200 und elektronischer Messaging
Software 210. Die elektronische Messaging Software 210 kann
z.B. eine E-Mail-Clientanwendung sein, die für diese Erfindung verändert wurde. Die
elektronische Nachricht, die durch den Benutzer erzeugt wurde, schließt eine
Verteilerliste mit einer oder mehrerer Empfängeradressen ein. Diese Empfängeradressen
sind die Adressen für
die anderen Kollaborateure. Der initiierende Kollaborateur schließt das Dokument
oder die Dokumente für
die Zusammenarbeit als ein oder mehr Anhänge an die elektronische Nachricht
ein. Ein Dokument kann irgendein Typ von Computerdatendatei mit
irgendeinem Dateiformat, verwendbar mit irgendeiner Anwendung, sein.
-
In
einer Ausführungsform
stellt die elektronische Messaging Software 210 eine Dialogbox
zur Verfügung,
die anfordert, dass der Benutzer einen zu verwendenden Server für Zusammenarbeit
von einer Anzahl von möglichen
Servern für
Zusammenarbeit auswählt.
Die möglichen
Server für
Zusammenarbeit, die dargestellt werden, sind auf jene begrenzt,
durch die der initiierende Kollaborateur eine Website zur Verfügung stellen
kann und jene, unter Verwendung von Informationen von der einen
oder mehreren Empfängeradresse,
auf welche die anderen Kollaborateure zugreifen können. Der
Server für
Zusammenarbeit, der durch den Benutzer von der Liste ausgewählt wurde,
wird der Server für
Zusammenarbeit 220 sein, durch welchen die Zusammenarbeit
bewerkstelligt wird.
-
Wenn
nur ein Server für
Zusammenarbeit dem initiierenden Kollaborateur zur Verfügung steht, wird
in einer Ausführungsform
eine List dem Benutzer angezeigt, die nur die Identität des einen
Servers für
Zusammenarbeit enthält.
In einer anderen Ausführungsform
wird der Server 220 für
Zusammenarbeit ausgewählt,
ohne die Dialogbox anzuzeigen. In einer Ausführungsform schließt die Dialogbox
auch ein Gebiet ein, wo der Benutzer einen Server für Zusammenarbeit
zur Auswahl eingeben kann oder es dem Benutzer erlaubt, nach möglichen
Servern für Zusammenarbeit
zu suchen. Die Liste mit Servern für Zusammenarbeit schließt in einer Ausführungsform die
erst kürzlich
verwendeten Server für
Zusammenarbeit oder den/die kürzlich
besuchten Server für
Zusammenarbeit ein.
-
In
anderen Ausführungsformen
wird keine Dialogbox durch die elektronische Messaging Software 210 präsentiert,
und der Server 220 für
Zusammenarbeit, der verwendet wird, ist ein vorselektierter Server.
In anderen Ausführungsformen
berücksichtigt
die Liste der möglichen
Server für
Zusammenarbeit nicht die Empfängeradressen.
-
Zusätzlich zu
dem angehängten
Dokument und der Verteilerliste kann der Benutzer optional andere
Informationen in die elektronische Nachricht einschließen. Z.B.
kann der Benutzer die angehängte Nachricht,
den Grund der Zusammenarbeit beschreiben oder irgendwelche anderen
Informationen einschließen,
die durch die elektronische Messaging Software 210 akzeptiert
werden können.
-
Sobald
der initiierende Kollaborateur der elektronischen Messaging Software 210 angibt,
dass die elektronische Nachricht fertig zum Versenden ist, wird
eine Website zur Zusammenarbeit zur Verfügung gestellt, unter Verwendung
des Servers 220 für Zusammenarbeit,
den der initiierende Kollaborateur ausgewählt hat (oder der eine, der
vorher spezifiziert wurde oder der einzig verfügbare Server für Zusammenarbeit,
in anderen Ausführungsformen).
In einer Ausführungsform
wird dies durch Mittel der Übertragung über ein
Netzwerk 230 getan.
-
Sobald
die Website für
Zusammenarbeit zur Verfügung
gestellt worden ist, werden die Empfänger, die in der Verteilerliste
aufgelistet sind, zu der Zugriffskontrollliste (Access Control List – ACL) 240 für den Server 220 für Zusammenarbeit
hinzugefügt,
um ihnen Zugriff auf die Website für Zusammenarbeit zu geben.
In einer Ausführungsform
werden die Adressen in der Verteilliste verifiziert oder in einen
anderen Berechtigungsnachweis konvertiert, um zu der ACL für den Server
für Zusammenarbeit
hinzugefügt
zu werden. Dies hängt
von dem verwendeten Server für Zusammenarbeit
ab. In einer Ausführungsform
werden die Adressen in der Verteilliste unter Verwendung von HTTP
SOAP hinzugefügt.
HTTP (Hyper Text Transfer Protocol) ist ein Protokoll zum Kommunizieren über ein
Netzwerk. SOAP (Simple Object Access Protocol) ist ein Protokoll,
welches in Kombination mit HTTP verwendet werden kann, welches ein
Framework zur Verfügung
stellt, um zu beschreiben, was in einer Nachricht, einer Reihe von
Kodierungsregeln zum Ausdrücken
von Daten, und einer Konvention zum Repräsentieren von Remote Procedure
Calls und Responses einschließt.
Eine HTTP SOAP Anfrage kann verwendet werden, um den Server 220 für Zusammenarbeit
aufzufordern, die Website für
Zusammenarbeit zu erzeugen und die Adressen aus der Verteilliste
zu der ACL hinzuzufügen.
-
Der
Anhang oder die Anhänge
der elektronischen Nachricht werden zu der Dokumentsammlung 250 des
Servers 220 für
Zusammenarbeit hinzugefügt.
Wo der Server 220 für
Zusammenarbeit Diskussionsmöglichkeiten
einschließt,
um einem Kollaborateur zu erlauben, in einer Diskussion durch Senden von
Nachrichten teilzuhaben, wird in einer Ausführungsform der Hauptteil der
elektronischen Nachricht zu der Diskussionssammlung 260 des
Servers 220 für
Zusammenarbeit hinzugefügt.
In einer alternativen Ausführungsform
wird eine Aufgabenliste oder ein Kalender auf dem Server 220 für Zusammenarbeit
geführt,
zur Verwendung durch die Kollaborateure in der Zusammenarbeit. Den
Empfängern,
die in der ACL 240 aufgelistet sind, wird Zugriff auf diese Dokumente
in der Dokumentensammlung 250 (und falls vorhanden, zugehörige Diskussionsnachrichten in
der Diskussionssammlung 260) des Servers 220 für Zusammenarbeit über die
Website für
Zusammenarbeit gewährt.
Diese Benutzer können
auf die Website für
Zusammenarbeit durch andere Zusammenarbeitscomputer 270 zugreifen,
welche mit der Website für
Zusammenarbeit verbunden sind, z.B. über das Internet oder andere
Computernetzwerke.
-
Zusätzlich zur
Konfiguration und Bestückung des
Servers 220 für
Zusammenarbeit sendet die elektronische Messaging Software 210 elektronische Nachrichten
an einen elektronischen Nachrichtenserver zur Auslieferung. Die
elektronische Nachricht ist in einer Ausführungsform verändert worden,
um einen Hyperlink zu der Website für Zusammenarbeit und optional
erläuternden
Text einzuschließen.
-
Wie
in 3 gezeigt, beginnt das Verfahren der Erfindung
mit Schritt 300, in welchem eine Nachricht, einschließlich Empfängerinformation,
und ein oder mehrere angehängte
Dokumente akzeptiert werden. In Schritt 310 wird eine Anfrage
an einen Server für
Zusammenarbeit gesendet, um die Zusammenarbeit unter den Empfängern an
dem einen oder den mehreren angehängten Dokumenten zu beginnen.
In Schritt 320 wird die Nachricht an die Empfänger gesandt.
-
Die
verwendete elektronische Nachricht kann irgendeine Art von elektronischen
Nachrichten sein. Z.B. kann eine E-Mailnachricht, eine Konferenzanfrage,
oder andere elektronische Nachricht verwendet werden, um das Teilen
zu initiieren.
-
In
einer Ausführungsform
können
die Zulassungen zu dem Server für
Zusammenarbeit auch durch Verwendung dieses elektronischen Messagings
gesetzt werden. Z.B. können
Benutzer, die in dem „An:"-Kopf der E-Mail
gelistet sind, Lese- und Schreibrechte für die angehängten Dokumente auf der Zusammenarbeitsseite
erhalten, während
Benutzer gelistet in dem „Cc:" (Carbon Copy) Kopf
nur Leserechte haben. Ein Benutzer, gelistet in einem „Bcc:" (Blind Carbon Copy)
Kopf kann keine Rechte erhalten. In einer Ausführungsform kann das Rechte-Level
jedes Benutzers durch den initiierenden Kollaborateur durch einen
Tool Tipp oder andere Auswahlmittel angepasst werden.
-
Die
elektronische Messaging Software dient als Eintrittspunkt für die Zusammenarbeit.
Gemäß einer
Ausführungsform
hat der Benutzer von diesem Eintrittspunkt für Zusammenarbeit zwei Optionen. Erstens
kann der Benutzer eine elektronische Nachricht mit Anhängen senden,
ohne eine Zusammenarbeitsseite zu erzeugen. Zweitens kann der Benutzer anfragen,
dass eine Zusammenarbeit initiiert wird. Dies hat zur Folge, dass
eine neue Zusammenarbeitsseite erzeugt wird, mit den Anhängen, kopiert auf
diese Seite. Zusätzlich
wird die E-Mail zu den Kollaborateuren gesendet. Angehängt an die
E-Mail sind die Anhänge,
die auf der Zusammenarbeitsseite eingegeben worden sind.
-
Für manche
Anhänge
kann eine Anwendung zum Öffnen
oder anderweitigen Verwenden des Anhangs dafür bekannt sein, erweiterte
Verknüpfungsfunktionalitäten zu haben,
die es der Anwendung ermöglichen,
den Anhang als ein Zusammenarbeitsdokument zu erkennen. Für solche
Anhänge
(„qualifizierende
Anhänge") kann ein Link eingefügt werden. Wenn
ein Anhang durch die Anwendung geöffnet wird, zeigt der Link,
dass das Dokument der Gegenstand einer Zusammenarbeit ist, so dass
Updates auf dem lokalen Gerät
zu der Zusammenarbeitsseite eingegeben werden, und so dass, wenn
das Dokument zum Lesen oder Bearbeiten auf dem lokalen Gerät geöffnet wird,
die Version auf der Zusammenarbeitsseite überprüft wird, um zu ermitteln, ob
eine neuere Version existiert.
-
Z.B.,
wenn ein erster Benutzer ein Präsentationsdokument
unter Verwendung einer Präsentationssoftware
vorbereitet und möchte
mit einem zweiten und einem dritten Benutzer zusammenarbeiten, erzeugt
der erste Benutzer eine E-Mailnachricht, die an den zweiten und
dritten Benutzer adressiert ist. In ihr schreibt der erste Benutzer
eine Nachricht, um Hilfe mit dem Dokument anzufordern. Der erste
Benutzer hängt
das Dokument an die E-Mail als einen Anhang an. Ein User Inferface
Bereich erlaubt es dem ersten Benutzer Zusammenarbeit und einen
Server für
Zusammenarbeit auszuwählen.
Der erste Benutzer sendet dann die E-Mail. Eine Zusammenarbeitsseite
wird zur Verfügung
gestellt. Information bezüglich
des Servers für
Zusammenarbeit wird in die E-Mailnachricht eingefügt und ein
Link wird in den E-Mailanhang
eingefügt,
wodurch die Präsentationssoftware
zugelassen wird, die von dem zweiten und dritten Benutzer verwendet
wird. Wenn z.B. der zweite Benutzer das Präsentationsdokument bearbeitet, wird
die Version auf der Zusammenarbeitsseite aktualisiert. Anschließend, wenn
der dritte Benutzer das Präsentationsdokument öffnet, überprüft die Präsentationssoftware
die Version auf der Zusammenarbeitsseite, ermittelt, dass es eine
neuere Version auf dem Server gibt und öffnet diese Version für den dritten
Benutzer zur Bearbeitung. Der erste Benutzer kann daraufhin die
Bearbeitungen des zweiten und dritten Benutzers auf einmal sehen,
ohne die Bearbeitungen von zwei verschiedenen Dokumenten zu sehen
und zu synchronisieren. Eine Diskussion bezüglich des Dokuments kann auch
auf der Zusammenarbeitsseite stattfinden.
-
Um
einen Kollaborateur hinzuzufügen,
wird die elektronische Nachricht an einen anderen Empfänger weitergeleitet.
In einer Ausführungsform
kann nur der initiierende Kollaborateur einen Kollaborateur auf
diese Weise hinzufügen.
In einer anderen Ausführungsform
kann der initiierende Kollaborateur Rechte zum Hinzufügen zusätzlicher
Kollaborateure zu irgendeinem oder allen der anderen Kollaborateure
zuweisen. In einer Ausführungsform
fügt das
Weiterleiten eines geteilten Dokuments einen neuen Kollaborateur
zu der aktuellen Zusammenarbeitsseite hinzu. Dies erzeugt nicht
eine zweite geteilte Kopie in einer neuen Zusammenarbeitsseite.
In dieser Ausführungsform
würde das
Teilen des gleichen Dokuments mit zwei verschiedenen Gruppen es
erfordern, dass der initiierende Kollaborateur zwei Kopien des Dokuments
besitzt. In einer anderen Ausführungsform,
wird eine zweite Zusammenarbeit begonnen, wenn ein geteiltes Dokument
weitergeleitet wird; und in einer anderen Ausführungsform wird dem Benutzer,
der ein geteiltes Dokument in einer E-Mail weiterleitet, die Möglichkeit
gegeben, zu entscheiden, ob eine neue Zusammenarbeit begonnen wird
oder neue Kollaborateure zu einer bestehenden Zusammenarbeit eingeladen
werden.
-
ERGEBNIS
-
Während, wie
oben erwähnt,
exemplarische Ausführungsformen
der vorliegenden Erfindung in Verbindung mit verschiedenen Computergeräten und Netzwerkarchitekturen
beschrieben worden sind, können
die zugrundeliegenden Konzepte auf irgendeinem Computergerät oder System
angewandt werden, indem es gewünscht
ist, den Beginn einer serverbasierten Zusammenarbeit zu implementieren. Deshalb
können
die Verfahren und Systeme der vorliegenden Erfindung auf eine Vielzahl
von Anwendungen und Geräten
angewandt werden. Während exemplarische
Programmiersprachen, Namen und Beispiele hier als Repräsentation
von verschiedenen Möglichkeiten
gewählt
wurden, sind diese Sprachen, Namen und Beispiele nicht als beschränkend gedacht.
Jemand vom Fach wird es begrüßen, dass
es eine Vielzahl von Wegen gibt, um Objektcode zur Verfügung zu
stellen, der das Gleiche, Ähnliches oder
gleiche Systeme und Verfahren erreicht, wie durch die Erfindung
erreicht.
-
Die
verschiedenen Techniken, die hier beschrieben sind, können in
Verbindung mit Hardware oder Software implementiert werden oder,
wo angemessen, mit einer Kombination von beidem. Deshalb können die
Verfahren und Geräte
der vorliegenden Erfindung oder bestimmte Aspekte oder Teile davon die
Form von Programmcode (das sind Instruktionen) einnehmen, die in
handfesten Medien sowie Floppy Disks, CD-ROMs, Festplatten, oder
irgendwelche anderen maschinenlesbaren Speichermedien verkörpert sind,
wobei, wenn der Programmcode in eine Maschine geladen wird und durch
die Maschine ausgeführt
wird, so wie z.B. einem Compu ter, wird die Maschine eine Vorrichtung
zum Ausführen
der Erfindung. In dem Fall der Ausführung von Programmcode auf
programmierbaren Computern, wird das Computergerät im Allgemeinen einen Prozessor,
ein Speichermedium lesbar durch den Prozessor (einschließlich flüchtigem
und nichtflüchtigem
Speicher und/oder Speicherelementen), mindestens einem Eingabegerät, und mindestens
einem Ausgabegerät einschließen. Ein
oder mehrere Programme, die die signalverarbeitenden Services der
vorliegenden Erfindung verwenden können, z.B. durch die Verwendung
von datenverarbeitenden API oder ähnlichem, sind möglichst
in einer high-level-procedural oder objektorientierten Programmiersprache
zu implementieren, um mit einem Computer zu kommunizieren. Das/die
Programm(e) können
jedoch, falls gewünscht,
in Assembly oder Maschinensprache implementiert sein. In jedem Fall
kann die Sprache eine kompilierte oder interpretierte Sprache sein
und mit Hardwareimplementationen kombiniert sein.
-
Die
Verfahren und Vorrichtungen der vorliegenden Erfindung können auch
durch Kommunikationen betrieben werden, die in Form von Programmcode
verkörpert
sind, der über
irgendein Übertragungsmedium übermittelt
wird, sowie z.B. über
elektrische Verkabelung oder Verdrahtung, durch Faseroptik, oder über irgendeine
andere Form von Übertragung,
wobei, wenn der Programmcode empfangen wird und in eine Maschine
geladen wird und durch die Maschine ausgeführt wird, so wie z.B. ein EPROM, ein
Gate Array, ein Programmable Logic Device (PLD), ein Client Computer,
ein Videorekorder oder ähnliches,
oder eine empfangende Maschine, die die signalverarbeitenden Möglichkeiten
hat, die in exemplarischen Ausführungsformen
oberhalb beschrieben sind, wird eine Vorrichtung zum Ausführen der
Erfindung. Wenn auf einem Allzweckprozessor implementiert, wird
der Programmcode mit dem Prozessor kombiniert, um eine einzigartige
Vorrichtung zur Verfügung
zu stellen, die bewirkt, dass die Funktionalität der vorliegenden Erfindung
aufgerufen wird. Zusätzlich
können
irgendwelche Speichertechniken, die in Verbindung mit der vorliegenden
Erfindung verwendet werden, ausnahmslos eine Kombination von Hardware
und Software sein.
-
Während die
vorliegende Erfindung in Verbindung mit den bevorzugten Ausführungsformen der
verschiedenen Figuren beschrieben worden sind, gilt es als verstanden,
dass andere ähnliche
Ausführungsformen
verwendet werden können oder
Modifikationen und Ergänzungen
zu der beschriebenen Ausführungsform
gemacht werden können,
um dieselbe Funktion der vorliegenden Erfindung auszuführen, ohne
davon abzuweichen. Des Weiteren soll betont werden, dass eine Auswahl
von Computerplattformen, einschließlich Handheld-Betriebssystemen und
anderen anwendungsspezifischen Betriebssystemen genannt sind, besonders
nachdem die Anzahl von kabellosen Netzwerkgeräten sich zunehmend vermehrt.
Daher sollte die vorliegende Erfindung nicht auf eine einzelne Ausführungsform
begrenzt sein, sondern sollte eher in der Breite und dem Umfang
gemäß den anhängigen Ansprüchen ausgelegt werden.