-
Beanspruchung
der Priorität
von vorläufigen
Patentanmeldungen
-
Die
vorliegende Anmeldung beansprucht für unterschiedliche Teile von
Offenbarungen davon die Priorität
der vorläufigen
US-Patentanmeldung 60/040,114, eingereicht am 7. März 1997,
und der vorläufigen US-Patentanmeldung
60/051,000, eingereicht am 27. Juni 1997.
-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung betrifft eine Softwareumgebung, in der eine
Vielzahl von Benutzern Dokumentensätze oder Dateien erzeugen und
gemeinsam nutzen können.
-
Hintergrund der Erfindung
-
In
Arbeitsumgebungen, in der eine große Anzahl von Benutzern Daten
in Form von Dokumenten, Dateien oder anderen Einheiten untereinander
austauschen, besteht die Notwendigkeit, gemeinsame Ressourcen bereitzustellen,
in der jeder einer Anzahl von Benutzern auf ein bestimmtes Dokument
zugreifen kann, das an einem „öffentlichen
Ort" für alle verfügbar ist. Ähnlich besteht
eine Notwendigkeit für
einen Mechanismus, durch den ein Benutzer, der ein Dokument oder
eine Datei erzeugt hat, seine Arbeit in diesem öffentlichen Bereich platzieren
kann, so dass sie von anderen eingesehen werden kann, und so dass
sie, falls erwünscht,
von anderen editiert werden kann. Zur selben Zeit ist es wünschenswert,
in einem gemeinsamen Dateisystem einen Sicherheitsmechanismus für die öffentlich
verfügbaren
Dokumente zu haben, so dass es eine gewisse Ordnung und Kontrolle über die
Inhalte der Dokumente gibt.
-
Im
Stand der Technik sind verschiedene Techniken bekannt, um solch
eine gemeinsame Dateiumgebung oder eine gemeinsame Dokumentenumgebung
zu erleichtern. Ein Typ von Mehrbenutzersoftware, ein Beispiel davon
ist Xerox® GlobalView® Software,
stellt ein Konzept der „gemeinsamen
Dateischubladen" bereit. Eine
gemeinsame Dateischublade ist ein Icon, das auf den Bildschirmen
einer Reihe von Benutzern vorhanden ist, und der Inhalt dieser Schublade
kann durch jeden mit Zugriff auf die Schublade verändert werden
(obwohl bestimmte Dokumente als „nur Lese"-Dokumente gesichert sein können). Jedoch
ist mit GlobalView® der grundlegende Zugriff
auf die Schublade auf solche Benutzer beschränkt, denen das Icon für die Schublade durch
einen Systemadministrator zugewiesen wurde. Weiterhin wird einer
Person mit Zugriff auf eine bestimmte Schublade zumindest nur Lesezugriff
auf jedes Dokument in der Schublade haben.
-
Die
Variante des „gemeinsame
Schublade" Konzepts
ist das „gemeinsame
Laufwerke"-System, das von Novell® Network
Drives vertraut ist. Noch einmal, einer Reihe von Benutzern muss
der Zugriff auf eine bestimmte Schublade von einem Systemadministrator
erlaubt werden und für
den größten Teil
hat eine Person mit Zugriff auf das Laufwerk vollständigen Zugriff
auf jede Datei in dem Laufwerk. Ein anderer Nachteil des Netzwerklaufwerksystems
ist, dass die Organisation des Laufwerkes aus der Sicht des einzelnen
Benutzers eng mit der Hardwarestruktur des lokalen Netzwerkes (LAN)
verbunden ist.
-
Ein
anderer Mechanismus, der die gemeinsame Benutzung von Dateien oder
Dokumenten möglich macht,
beruht auf einem „Internet"- oder Webseiten"-Modell. In diesem
Modell können
Dokumente über
Hypertext oder andere Verknüpfungen
von einer Homepage aus bestehen. Während bestimmte Dokumente,
die mit einer bestimmten Webseite verknüpft sind, Sicherheitseigenschaften
aufweisen können,
die damit assoziiert sind, wie z.B. eine Notwendigkeit für ein Passwort,
hat dieses Modell noch einmal den Nachteil, dass ein „Webmaster" erforderlich ist,
um den gesamten Sicherheitsapparat zu kontrollieren, sehr ähnlich zu
der Art und Weise eines Systemadministrators in dem oben beschriebenen
System. Die Anwesenheit eines Webmasters oder Systemadministrators
stellt einen Flaschenhals in der Verwendbarkeit eines Systems dar,
so dass sehr oft keine neuen Dokumente verfügbar gemacht werden können ohne
Erlaubnis des Webmasters. Weiterhin muss ein Webmaster aktiv fortlaufend
für das
Management einer Webseite zugewiesen werden und Hypertextverknüpfungen
innerhalb der Webseite können
ungültig
werden, d.h. können
zu einem Dokument führen, das
nicht mehr existiert, weil der Webmaster keine Eigentumsrechte auf
bestimmte Dokumente besitzt, die mit der Webseite verknüpft sind.
-
Brown
S. et al beschreibt in „Location
independent naming for virtual distributed software repositories" auf dem Symposium
für Softwarezuverlässlichkeit,
SSR 95 in Seattle, USA, 28. April 1994–30. April 1995, das Problem
der Bereitstellung eines Namensgebungssystems, das es leicht und
effizient ermöglicht,
in virtuell verteilten Software Speicherorten zu suchen und abzufragen,
wobei das Namensgebungssystem die Konsistenz-, Au thentizität- und Integritätsüberprüfung erlaubt,
insbesondere wenn Elemente des virtuellen Speicherorts gespiegelt
oder auf den neuesten Stand gebracht werden. Die Offenbarung adressiert
auch das Problem, dass URLs ungültig
werden, wenn Dateien bewegt werden. Das Problem wird gelöst, indem
ein zweistufiges Namenssystem implementiert wird. Eine Anfrage in
diesem Namensgebungssystem wird zu einer Datenbank weitergegeben
unter Verwendung einer speziellen Kommandosyntax. Eine Anfrage für eine Datei
in diesem Namensgebungssystem verursacht die Rückgabe der URL der Datei.
-
EP-A-0398645
offenbart ein System zur Kontrolle von überflüssigen Privilegien auf Daten
innerhalb eines Datenverarbeitungssystems. Gemäß dieser Offenbarung ist sich
ein Objektdatenmanager der Zuweisung und Autorisierung jedes Objekts
wegen der absoluten Zugriffssteuerungsverfahrensweise bewusst. Dieses
System ist jedoch nicht in einem Dateisystem verwendbar, das in
einer World-wide-web ähnlichen
Struktur verteilt ist.
-
Ingham
et al beschreibt in „W3Objects:
Bringing Object-Oriented Technology to the Web" ein System, wo Netzressourcen als Objekte
verkapselt werden mit genau definierten Schnittstellen, über die
Interaktion möglich
ist. Das Dokument beschreibt eine Prototypimplementierung, wo Objektzustände in ihren
natürlichen Formaten
gespeichert werden, z.B. HTML Dateien). Das Dokument offenbart Lösungen für das Problem,
Verschiebungen von Netzressourcen transparent zu machen und bezieht
sich auf Zugriffssteuerung auf einer Benutzerebene.
-
Es
existiert deshalb eine Notwendigkeit für eine gemeinsame Datenumgebung,
die die obigen praktischen Nachteile überwindet.
-
Zusammenfassung
-
Gemäß der vorliegenden
Erfindung wird ein Verfahren zur Handhabung einer Vielzahl von Dateien,
die in einem elektronischen Dateisystem gespeichert sind, das mit
einem Netzwerk verbunden ist, bereitgestellt. Eine einheitliche
Identifikationsnummer wird jeder Datei in dem Dateisystem zugewiesen.
Eine einheitliche Identifikationsnummer wird einem Benutzer mit
Zugriff auf eine Datei in dem Dateisystem zugewiesen. Eine Objektdatenbank
wird bereitgestellt, wobei die Objektdatenbank ein Objekt einschließt, das
mit jeder Datei in dem Dateisystem assoziiert ist, wobei das Objekt
die Identifikationsnum mer der Datei, eine Identifikationsnummer
des Besitzers, eine Liste von Identifikationsnummern solcher Benutzer,
denen der Besitzer Lesezugriff auf die Datei erlaubt, und eine Liste
der Identifikationsnummern von solchen Benutzern, denen der Besitzer Schreibzugriff
auf die Datei erlaubt, einschließt. Ein Softwaremechanismus
wird bereitgestellt, wobei jede Identifikationsnummer, die einer
Datei zugewiesen ist, mit einer zeigerbasierenden URL assoziiert
ist. Wenn ein Benutzer die zeigerbasierende URL einer gewünschten
Datei eingibt, wird die Identifikationsnummer der gewünschten
Datei bestimmt, die Identifikationsnummer des Benutzers wird bestimmt,
und unter Verwendung der Identifikationsnummer der gewünschten
Datei und der Identifikationsnummer des Benutzers, wie sie vorher
bestimmt wurden, wird das Objekt, das mit der gewünschten
Datei assoziiert ist, aufgerufen, um zu bestimmen, ob der Benutzer
Zugriff auf die Datei hat. Der Schritt des Zuweisens der einzigartigen
Identifikationsnummer an den Benutzer schließt die Bereitstellung eines
Softwaremechanismusses ein, wobei der Benutzer die Identifikationsnummer,
die ihm zugewiesen wird, beantragen kann, und wenn der Benutzer
die Identifikationsnummer beantragt, erzeugt der Softwaremechanismus
die Identifikationsnummer und hängt
die Identifikationsnummer an ein Cookie an, das verwendet wird,
um den Benutzer in dem Netzwerk zu identifizieren.
-
Kurze Beschreibung
der Zeichnungen
-
In
den Zeichnungen ist:
-
1 ein
Diagramm, das die grundsätzliche
Funktionalität
der Umgebung gemäß der vorliegenden Erfindung
zeigt;
-
2 ein
Beispielfenster, durch das ein Benutzer Erlaubnisse für ein Objekt,
das er erzeugt hat, eingeben kann; und
-
3 ein
Diagramm, das eine Beispielbeziehung zwischen Datenobjekten innerhalb
der Umgebung der vorliegenden Erfindung veranschaulicht.
-
Ausführliche
Beschreibung der Erfindung
-
Systemüberblick
-
In
der folgenden Diskussion werden drei spezielle Ausdrücke definiert:
eine „Datei" ist eine Datei mit Daten,
die zur Ansicht und zum Editieren aufgerufen werden kann, wie z.B.
in einem Textverarbeitungs-, Graphik- oder Tabellenformat. Ein „Objekt" ist ein kleineres
Bruchstück
von Metadaten, das bestimmte dauerhafte Attribute einer Datei beschreibt.
Ein „Zeiger" ist einfach eine
Identifizierungsnummer, durch die eine Datei (oder eine andere Dateneinheit)
in einem Dateisystem dem Objekt, das es beschreibt, zugeordnet wird.
-
1 ist
ein vereinfachtes Diagramm, das die grundsätzlichen Elemente einer Ausführungsform
der Umgebung gemäß der vorliegenden
Erfindung zeigt. Ein Gesamtnutzen der Umgebung der vorliegenden
Erfindung ist, einer großen
Anzahl von Benutzern, die hier mit dem Bezugszeichen 10 bezeichnet
werden, Zugriff auf verschiedene Dateien, wie z.B. Textverarbeitungs-
oder Tabellenkalkulationsdokumente, die in einem Dateisystem 12,
das z.B. auf einer Festplatte oder einem Netzwerkserver realisiert
sein kann, zu erlauben.
-
Gemäß der vorliegenden
Erfindung sind individuelle Dateien innerhalb des Dateisystems 12 jeweils etwas
zugeordnet, was hier ein „Objekt" genannt wird. Im
vorliegenden Kontext ist ein „Objekt", das mit einer Datei
in einem Dateisystem 12 assoziiert wird, ein Satz von Metadaten,
oder mit anderen Worten ein Feld oder eine Kette von Daten, die
die Zugriffseigenschaften (Lese- und/oder Schreiberlaubnis), hierarchische
Beziehungen und andere Eigenschaften der Datei beschreiben. Gemäß der vorliegenden
Erfindung ist das „Objekt", das mit jeder Datei
assoziiert ist, im Wesentlichen permanent mit dieser Datei assoziiert,
solange die Datei in dem Dateisystem 12 existiert, egal
ob sie z.B. editiert oder neu benannt oder anders geartet verändert wird.
-
Geht
man genauer durch 1, sind eine Vielzahl von Benutzern 10,
wobei jeder davon Kontrolle über z.B.
einen Personalcomputer hat, über
ein Netzwerk 14 mit einem Server 16 verbunden.
Gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung ist der Server 16 ein http Server,
auf den über
das Netzwerk 14 über
einen Standard Internet Browser auf dem Personalcomputer von jedem
Benutzer 10 zugegriffen wird. Die Benutzer 10 greifen
auf den Server 16 über
Standard URLs („universal
resource locators")
auf eine Weise zu, die in Netzwerk oder Internet Kommunikation vertraut
ist.
-
Der
http-Server 16 kommuniziert mit etwas, was hier ein „Kommandodienstprogramm" 18 genannt wird.
Das Kommandodienstprogramm 18 ist ein Satz von Programmen
oder Unterprogrammen, wobei jedes Programm einem Kommando entspricht,
das ein „Objekt" beeinflusst, wie
oben definiert wurde. Diese Objekte werden in einer Objektdatenbank 20 gehalten,
wobei jedes Objekt einem oder mehreren Dateien in dem Dateisystem 12 zugeordnet
ist. Die Objekte in der Objektdatenbank 20 sind jeweils
mit einer identifizierten Datei in dem Dateisystem 12 verknüpft, oder
könnten
alternativ mit Verknüpfungen
(wie z.B. über
ein anderes Netzwerk) zu anderen Quellen oder Dateien assoziiert
sein.
-
Wenn
ein Benutzer 10 wünscht,
eine Datei zu erzeugen, wie z.B. ein Dokument, bei dem er wünscht, dass über das
Netzwerk 14 nur eine Untergruppe von Benutzern in dem Netzwerk 14 Zugriff
haben, schickt der Benutzer das Dokument über das Netzwerk 14 und
den http-Server 16 zu dem Kommandodienstprogramm 18 mit
einem Kommando wie z.B. „Füge Datei
hinzu" oder „Erzeuge
Datei". In Reaktion
auf diese Anfrage von dem Benutzer 10 schickt dann das
Kommandodienstprogramm 18 an den bestimmten Benutzer 10 ein
Formular zurück,
das auf dem Bildschirm des Benutzers 10 erscheint, welches
der Benutzer 10 ausfüllt
hinsichtlich der Datei, die er an das Dateisystem 12 geschickt
hat.
-
Unter
den erforderlichen Informationen für das Kommandodienstprogramm 18 (die
ausführlichst
unten beschrieben werden) sind: der Name des Benutzers, der die
Datei abschickt (der der „Besitzer" der Datei wird), eine
Liste von Namen von anderen Benutzern, denen der Besitzer Lese-
und/oder Schreibzugriff auf die Datei erlaubt; und eine Liste von
hierarchischen „Eltern" und „Kindern" des Dokumentes (d.h.
ob die neue Datei Teil einer größeren Ansammlung
von Dateien werden soll, wie z.B. eine „November"-Datei, die innerhalb einer Sammlung
von „Monatsberichte" platziert werden
soll). All diese Metadaten, die der Benutzer in dem Feld abschickt,
werden Teile des „Objekts", welches dann durch
das Kommandodienstprogramm 18 in der Objektdatenbank 20 abgelegt
wird. Weiterhin erzeugt das Kommandodienstprogramm 18 beim
Abschicken dieser Datei und bei der Erstellung des Objektes durch
das Kommandodienstprogramm 18 auch eine einzigartige Identifikationsnummer,
welche im vorliegenden Kontext ein „Zeiger" genannt wird, und assoziiert diesen
Zeiger permanent mit dem Objekt und zu der Datei, die mit Objekt
assoziiert ist. Auf diese Weise wird am Ende des Verfahrens die
Datei, die durch den Benutzer 10 erzeugt wurde, in dem
Dateisystem 12 gespeichert und das Objekt wird in der Datenbank 20 gespeichert.
Die Datei und das Objekt werden einander zugeordnet durch ihren gemeinsamen
Zeiger. Das Objekt in der Datenbank 20 schließt alle
Daten ein, die die Erlaubnisse, Hierarchie, Besitz etc. der Datei,
die durch den Zeiger identifiziert wird, beschreiben.
-
Wie
genauer unten beschrieben wird, erzeugt das Kommandodienstprogramm 18 eine
neue URL, sobald eine Datei (oder eine Sammlung oder andere Einheit)
in dem Dateisystem 12 erzeugt und einem Zeiger zugeordnet
wurde, wobei die neue URL den Zeiger, welcher der Datei zugeordnet
wurde, spezifiziert. Diese neue zeigerbasierende URL ersetzt letztendlich
die originale netzwerkbasierende URL, die die Datei ursprünglich gehabt
haben mag. Diese neue URL wird dann an den Browser des Benutzers 10 geschickt,
und zukünftig bezieht
der Browser (z.B. als ein Lesezeichen (Bookmark) darin) des Benutzers 10 die
Datei exklusiv über
seine zeigerbasierende URL und nicht über seine Original URL. Diese
Merkmal ist wichtig vom Standpunkt der Vermeidung von „abgelaufenen
Verknüpfungen", die auftreten,
wenn eine URL als Artefakte von seinem ursprünglichen Ort enthält.
-
Zu
einer späteren
Zeit, wenn ein anderer Benutzer 10 die Datei in dem Dateisystem 12 zu
sehen wünscht,
fordert der Benutzer, der die Datei zu lesen wünscht, die Datei durch den
http-Server 16 an. Im allgemeinen wird die Datei, weiche
zu lesen gewünscht
wird, von dem Benutzer durch ihren allgemeinen Namen aufgerufen,
z.B. „Verkaufsbericht
für November", entweder indem
der allgemeine Name eingegeben wird, indem der Zeiger eingegeben
wird, oder indem der Name der gewünschten Datei angeklickt wird,
wenn er in einem Menü oder
einem Suchmaschinenbericht angezeigt wird. Der allgemeine Name der
gewünschten
Datei wird dann durch den Server 16 durchgereicht, über ein
http oder ein anderes Protokoll, und dann wird dieser Aufruf an
das Kommandodienstprogramm 18 weitergeschickt. Das Kommandodienstprogramm 18 lokalisiert das
Objekt der gewünschten
Datei in der Objektdatenbank 20, welches umgekehrt die
entsprechende Datei oder die Dateien (im Falle einer Sammlung von
Dateien) im Dateisystem 12 lokali siert, um es an den Benutzer zurückzuübermitteln.
Der Zeiger, der das Objekt der Datei zuordnet, kann gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung gegenüber
einem Benutzer in dem Netzwerk 14 vollständig unsichtbar gemacht
werden. Weiterhin bleibt gemäß einer
bevorzugten Ausführungsform
der Erfindung der Zeiger für
eine bestimmte Datei bestehen, selbst wenn die Datei nachfolgend
umbenannt wird: Das Kommandodienstprogramm 18 ändert nur
den allgemeinen Dateinamen, der dem Zeiger zugeordnet ist, wobei
der allgemeine Titel einer Datei nur eine von verschiedenen Variablen
ist, die in dem Objekt definiert sind, das der Datei zugeordnet ist.
-
Bezeichnenderweise
sind die Dateien, die in dem Dateisystem 12 platziert sind,
auch in keiner bestimmten Reihenfolge, müssen an keinem bestimmten Platz
in dem Dateisystem 12 sein und bezeichnen vorzugsweise
keinerlei hierarchische Beziehungen zu anderen Dateien. Vorzugsweise
werden alle Beziehungen zwischen den Dateien in dem Dateisystem 12 nur
innerhalb der Objekte in der Datenbank 16 spezifiziert.
Es muss keine inhärente
Hierarchie der Ordner und der Dateien etc. innerhalb des Dateisystems 12 geben.
-
Wie
detailliert unten beschrieben wird, kann es eine Anzahl von bestimmten
Typen von Objekten geben, wobei jedes Objekt einen bestimmten Dateityp
beschreibt, der in dem Dateisystem 12 aufbewahrt wird. Zum
Beispiel ist das, was als eine „Datei" bekannt ist, einfach ein Dokument,
wie es z.B. in Textverarbeitungs- oder Tabellenkalkulationsformat
auftreten würde.
Eine „Sammlung" bezieht sich auf
eine Ansammlung von „Dateien", wie z.B. die Sammlung „Monatsberichte", die die einzelnen
Dateien für „Januar", „Februar" etc. einschließt. Das
Objekt für
eine Sammlung schließt
u.a. Metadaten einer Liste von Zeigern von Dateien oder anderen
Sammlungen darin ein, die „Kinder" dieser Sammlung
sind. Deshalb wird der Zeiger für „Monatsberichte" eine Liste von Zeigern
für Dateien
einschließen,
die mit jedem Monatsbericht assoziiert sind. Bezeichnenderweise
ist ein Attribut des Systems der vorliegenden Erfindung, dass die
hierarchischen Beziehungen zwischen den Dateien in den Objekten
gehalten werden, die den einzelnen Dateien zugeordnet sind, und
nicht inhärent sind
zu einer hierarchischen Struktur der Daten. Zum Beispiel kann eine
Datei, die z.B. als „Rechnungsbericht vom
New Yorker Büro
von November" beschrieben
werden könnte,
in zwei oder mehr getrennten Sammlungen erscheinen, wie z.B. „Monatsberichte", „Berichte
vom New Yorker Büro" und „Berichte
der Buchhaltung".
Obwohl dieselbe Datei in drei unterschiedlichen Sammlungen erscheint, wird
die Datei selbst an nur einem physikalischen Platz in dem Dateisystem 12 gehalten,
und Sammlungen oder Dateien werden auf einer ad hoc Basis zusammengeführt, nur
wenn es von einem bestimmten Benutzer, der eine Sammlung sehen will,
angefordert wird.
-
Andere
Typen von Objekten und zugeordneten Dateien, die von der Umgebung
der vorliegenden Erfindung erzeugt werden können, schließen einen
Kalender, der Felder entsprechend den Tagen, an denen Ereignisse
eingetragen werden können,
einschließt,
ein. Die Ereignisse selbst werden durch einen Objekttyp beschrieben
und können
jeweils zu ihrer eigenen Datei korrespondieren. Auf diese Weise
wird, sollte der Besitzer einer Datei, das ein Ereignis beschreibt,
wollen, die Beschreibung des Ereignisses zu ändern, eine Änderung der
Beschreibung des Ereignisses in den Kalendern von jedem Benutzer,
in dem das Ereignis erscheint, erscheinen. Noch einmal, obwohl jeder
Benutzer seinen oder ihren eigenen Kalender haben kann, existieren
die Ereignisse innerhalb des Kalenders, die Dateien sind, die durch
Objekte beschrieben sind, unabhängig
zu dem Kalender.
-
Noch
andere Typen von Objekten, die Dateien beschreiben, schließen „kurze
Bekanntmachungen" (Bulletins)
und "Schwarze Bretter" (Bulletin boards)
ein. Im allgemeinen sind kurze Bekanntmachungen kurze ASCII-Meldungen,
die in einer Sammlung gesammelt werden, die „schwarzes Brett" genannt wird, wobei
das Schwarze Brett typischerweise einfach eine Sammlung mit einer
großen
Anzahl von Benutzern ist mit folgenden Zugriffsrechten für die Bekanntmachungen:
Lesen/Schreiben/Zufügen
und Entfernen der Bekanntmachung. Weiterhin kann ein Objekt eine
Datei beschreiben, die tatsächlich
eine URL einem anderen Netzwerkstandort ist. Ein möglicher
Vorteil davon ist, eine nützliche
Webseite innerhalb einer Sammlung zu platzieren, die für andere
Dateien in der Sammlung relevant ist.
-
Objekte und
Zeiger
-
Nachdem
jetzt die allgemeine Funktion des System der vorliegenden Erfindung
erläutert
würde,
richtet sich nun die Aufmerksamkeit auf eine detaillierte Umsetzung
der Zeiger, die durch das Kommandodienstprogramm 18 erzeugt
werden, und der Objekte, die in der Objektdatenbank 20 gehalten
werden. Wie oben erwähnt
wurde, gibt es im allgemei nen zwei Typen von Dateien, die in den
Dateisystemen 12 gehalten werden, wobei jede davon durch
ein „Objekt" in der Objektdatenbank 20 beschrieben
wird: „Dateien", die einfach eine Menge
von Daten sind, wie z.B. in einem Textverarbeitungsdokument, und „Sammlungen", die Objekte sind, die
auf eine Vielzahl von Dateien zeigen.
-
Wenn
ein Objekt in der Objektdatenbank 20 und im Dateisystem 12 platziert
wird, erzeugt das Kommandodienstprogramm 18 eine einzigartige
Identifikationsnummer oder einen „Zeiger", der permanent mit dem Objekt identifiziert
wird, und der es möglich
macht, dass das Objekt, mit der Datei oder den Dateien in dem Dateisystem 20 zugeordnet
wird. Für
eine einfache Datei, d.h. eine bloße Ansammlung von Daten wie
in einem Textverarbeitungsdokument, wäre ein typischer Zeiger FILE-2523.
Wichtig ist, was im Detail unten beschrieben werden wird, dass der
Zeiger wie die einfache skalare Zahl in dem Beispiel „nicht
ortsbasierend" ist, in
dem Sinne, dass er sich auf einen bestimmten Ort der Datei, z.B.
auf einem Server, bezieht (in der folgenden Diskussion werden vierstellige
Zufallszahlen verwendet, um unterschiedliche Zeiger zu veranschaulichen,
und die Zufallszahlen selbst haben keine Bedeutung über die
Identifizierung eines bestimmten Objektes und einer Datei hinaus).
Innerhalb der Objektdatenbank 20 schließt der Zeiger ein paar Zeichen
oder Zahlen ein, die den Objekttyp anzeigen, in diesem Fall eine
Datei, und dann die aktuelle Identifikationsnummer. Typischerweise werden
Identifikationsnummern für
Zeiger in numerischer Reihenfolge gegeben, wenn neue Dateien, Sammlungen,
etc. erzeugt werden.
-
Ein
Zeiger für
eine Sammlung würde
in etwa folgendermaßen
aussehen: COLLECTION-5811
(d.h. ein Code, der anzeigt, dass sich die folgenden Steilen auf
eine Sammlung beziehen. und nachfolgend die Zahlen), und das Objekt,
das dieser Sammlung entspricht, würde darin eine Liste von Dateien
einschließen,
die in der Sammlung zusammengefasst sind, z.B. Collection-5811:
(File-0871, File-7737, File-4391). Dies zeigt an, dass auf die Dateien,
die durch diese bestimmten Zeiger identifiziert werden, „gezeigt
wird", wenn der
Zeiger für
die Sammlung durch einen Benutzer angefordert wird. Noch einmal,
während
eine Datei nur an einem Ort in dem Dateisystem 12 existiert,
kann sein Zeiger in dem Zeiger von einer Anzahl von Sammlungen erscheinen,
in welcher ein Erscheinen der Datei erwünscht ist. Nur wenn ein Benutzer
anfragt, eine bestimmte Sammlung einzusehen, werden die Dateien
innerhalb der Sammlung „zusammengeführt", um sie einem Benutzer
zu dieser bestimmten Zeit anzuzeigen. Individuelle Dateien werden in
dem Dateisystem nicht in irgendeiner hierarchischen Art gespeichert.
Solche Hierarchien wie „Monatsberichte" werden nur auf einer
ad-hoc Basis erzeugt, wenn das Objekt der Sammlung, das solch eine
Hierarchie beschreibt, aufgerufen wird.
-
Für Sammlungen
innerhalb von Sammlungen, wie z.B. die Hierarchie „Verkaufsberichte/Monatsberichte/November" kann das Sammlungsobjekt „Verkaufsberichte" Zeiger für eine Anzahl
von Sammlungsobjekten einschließen,
von denen die „Monatsberichte" nur eine davon ist.
Umgekehrt schließt
die Sammlung „Monatsberichte" Zeiger auf Dateien
für jeden
Monatsbericht ein.
-
In
einer Ausführungsform
der vorliegenden Erfindung ist die Datenbank 16 ein relativ
kleiner elektronischer Speicher, der von dem elektronischen Speicher,
der das Dateisystem 12 bildet, getrennt ist. Das Dateisystem 12 könnte in
der Tat verschiedene elektronische Speicher umfassen, die untereinander
durch ein Netzwerk interagieren. Die Datenbank 16 könnte in
einem bestimmten Bereich eines größeren elektronischen Speichers,
in dem das Dateisystem 12 eingeschlossen ist, definiert
sein.
-
Unten
befindet sich eine Tabelle, die „Attribute" oder detaillierte Informationen beschreibt,
die innerhalb jedes Objektes, das in der Datenbank 20 gehalten
wird, enthalten sein können.
In allen Fällen
ist jedes Attribut ein Variablen-Typ, und eine Sammlung dieser Variablen,
die aneinandergereiht sind, bilden das vollständige Objekt.
-
-
-
Objektkommandos
-
Wie
oben mit Bezug auf die 1 erwähnt wurde, wird auf die Objekte,
die verschiedene Dateien und Sammlungen beschreiben, durch Kommandos
eingewirkt, die letztend lich mit den Benutzern 10 im Netzwerk 14 ins
Leben gerufen werden. Es ist eine Funktion eines Servers 16,
den Klartext oder die Internetkommandos von den Benutzern 10 in
Kommandos umzuwandeln, die durch das Kommandodienstprogramm 18 ausgeführt werden
können.
Bestimmte Kommandos, wie z.B. um eine Datei oder eine Sammlung hinzuzufügen (d.h.
zu erzeugen), und um eine Datei oder eine Sammlung zu betrachten,
wurden kurz oben beschrieben. Jedoch ist die folgende Diskussion
eine Reihe von ausführlichen
Beschreibungen der Vorgänge
hinter den Kommandos in einer derzeit bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
Betrachten:
Dies ist ein Kommando, wenn ein Benutzer eine Datei oder eine Sammlung
von Dateien im Dateisystem 12 betrachten möchte. Wenn
die angeforderte Datei oder Sammlung durch ihren Titel aufgerufen
wird, kann das Kommandodienstprogramm 18 die „Titel" Variablen in den
Objekten in der Datenbank 20 absuchen, um das Objekt zu
finden, das der angeforderten Datei oder Sammlung zugeordnet ist.
In dem Fall einer Sammlung erzeugt das Kommandodienstprogramm eine
Bildschirmmaske, die zur Betrachtung durch den Benutzer geeignet
ist, wie z.B. eine Liste von Titeln (abgeleitet aus den Objekten)
für jede
Datei innerhalb der Sammlung. So wird letztendlich auf seinem Bildschirm
eine Liste von Titeln der Monatsberichte, aus denen er wählen kann,
erscheinen, wenn ein Benutzer die „Monatsberichte" anfordert in dieser
bestimmten Ausführungsform;
im Allgemeinen wird mit der einfachen „Betrachte"-Funktion keine Datei aus dem Dateisystem 12 aufgerufen.
-
Holen:
Dies ist ähnlich
zu dem „Betrachten"-Kommando, wird jedoch
nur auf Dateien angewendet, und erlaubt es dem anfragenden Benutzer,
die Datei selbst zu sehen, wie z.B. in Form eines Dokumentes zur
Textverarbeitung, einer Graphik oder einer Tabellenkalkulation.
Das Kommandodienstprogramm 18 lokalisiert das Objekt anhand
des Titels, sieht auf den Zeiger des Objekts und ruft dann die Datei
aus dem Dateisystem 12 unter Verwendung des Zeigers auf.
Für Dateien
ist ein Teil des Objekts, das die Datei beschreibt, der „Mimetyp", der den Typ des
Dokumentenformats anzeigt, in dem die Datei ist. Das Kommandodienstprogramm 18 veranlasst
dann die Bereitstellung der Datei aus dem Dateisystem 12 und
schickt dann die Datei an den Benutzer gemäß des Mimetyps.
-
Hinzufügen: Dieses
Kommando wird bei der Erzeugung oder Übertragung einer Datei an das
Dateisystem 12 verwendet oder bei der Erzeugung oder Übertragung
einer neuen Sammlung von Dateien, die durch ein neues Objekt identifiziert
werden muss. Als Antwort auf solch ein Kommando von einem Benutzer
erzeugt das Kommandodienstprogramm 18 einen Prototypen
des Typs des gewünschten
Objekts, wie z.B. einen Kalender oder eine leere Sammlung. Das Kommandodienstprogramm
veranlasst dann, dass ein Bild zu dem Benutzer zurückgeschickt
wird, wobei das Bild ein Eingangsformular ist, das von dem Benutzer
im Falle eines z.B. Kalenders oder einer Sammlung ausgefüllt werden
muss, bei dem der Benutzer in die leeren Felder in dem Formular
eintragen muss, welche Dateien er in den leeren Prototypen eingesetzt
haben möchte.
Nachdem die Formularbildschirmmaske ausgefüllt ist, klickt der Benutzer
auf einen „Abschicken"-Knopf. In Reaktion auf dieses „Abschicken"-Kommando erzeugt
das Kommandodienstprogramm 18 ein Objekt des gewünschten Zeigers
unter Verwendung der Daten, die von dem Benutzer abgeschickt wurden,
wenn er das Formular auf dem Bildschirm ausgefüllt hat, und erzeugt dann einen
Zeiger (wie z.B. von einem Zähler
innerhalb des Kommandodienstprogramms 18), um eine einzigartige
Identifikationsnummer zuzuweisen, die den Zeiger für das Objekt
bildet. Das neue Objekt mit seinem neuen Zeiger wird dann in die
Objektdatenbank 20 eingetragen. Wenn eine Datei zugefügt wird,
sendet das Kommandodienstprogramm 18 die Datei, die nur
durch den Zeiger identifiziert wird, der gerade erzeugt worden ist,
auch an das Dateisystem 12. Jeder gemeinsame Originalname der
Datei, wie z.B. „November-Bericht", wird nur als Zeichenvariable
innerhalb des Objekts als ein Attribut wie in der obigen Tabelle
behalten.
-
Anzeigeeigenschaften
und Editiereigenschaften: Dies ist ein Kommando für einen
Benutzer, der typischerweise der Besitzer des fraglichen Objektes
ist, um die Eigenschaften, die in dem Objekt eingebettet sind, zu
betrachten und, falls wünschenswert,
zu editieren. Wie unten mit Bezug auf die „Erlaubnisse" erklärt werden wird,
ist nur der Besitzer autorisiert, Änderungen der Attribute durchzuführen. Wenn
ein Kommando betreffend die Eigenschaften von einem Benutzer an
das Kommandodienstprogramm 18 abgeschickt wird, zeigt das Kommandodienstprogramm 18 die
Daten innerhalb des Objektes in verwendbarer Form auf dem Bildschirm des
Benutzers an. Wenn der Benutzer so autorisiert ist, kann der Benutzer
Kraft dessen das Objekt von einer Sammlung zu einer anderen bewegen
oder kopieren, indem er die „Eltern" oder „Kinder"-Felder ändert, und kann
auch die Liste der Benutzer ändern,
die Lese- und/oder Schreiberlaubnis in Bezug auf das Objekt und seine
darunter liegenden Dateien haben. Auch hat nur der Besitzer eines Objektes
die Autorität,
ein Objekt vollständig
aus der Datenbank 20 zu löschen, und umgekehrt die darunter
liegenden Dateien aus dem Dateisystem 12 zu löschen.
-
Versionsnummer:
In Situationen, wo verschiedene Versionen von etwas existieren können, was
als das „selbe"-Dokument angesehen
wird, wie z.B. in dem Fall von editierten Versionen eines Textverarbeitungsdokuments,
oder aktualisierte Versionen einer Tabellenkalkulationstabelle,
ist das Kommandodienstprogramm 18 in der Lage, „überarbeitete" Zeiger zu erzeugen,
während
eine Verbindung zwischen unterschiedlichen Versionen von dem, was
als dieselbe Datei angesehen wird, beibehalten wird. Zum Beispiel,
falls einem Entwurf eines Dokuments die Nummer FILE-3672 gegeben
wird, kann einer editierten Version des Entwurfs, die dem Dateisystem 12 später hinzugefügt wird,
der Zeiger FILE-3672-2 gegeben werden. In der Objektdatenbank 20 können Vorkehrungen
getroffen werden, um eine Vielzahl von Versionen von Objekten mit
demselben Zeiger aufzubewahren (alternativ dazu kann eine „Versionsnummer" in einem Feld innerhalb
eines Objektes hinzugefügt
werden). Somit kann es leicht Kommandos geben, um „alle Versionen" einer Datei oder
nur die „letzte
Version" oder die „erste
Version" einer Datei
von dem Dateisystem 12 aufzurufen. Das Kommandodienstprogramm 18 kann
dann aus der Objektdatenbank 16 den entsprechenden Zeiger,
der der speziellen gewünschten
Version der Datei entspricht, auswählen.
-
Erlaubnisse
-
Wie
oben erwähnt
wurde, ist eine praktische Einschränkung der meisten Systeme des
Standes der Technik für
gemeinsam genutzte Daten, dass bei der Sicherheit hinsichtlich einzelner
Dokumente, die in verschiedenen Sammlungen gespeichert sind, „alles
oder nichts" gilt.
Das heißt,
in einem gemeinsam genutzten Ordner oder in einem gemeinsam genutzten
Laufwerksystem sind jemandem alle Dokumente darin zugänglich,
wenn eine Person einmal auf den Ordner oder das Laufwerk Zugriff
erhalten hat, wobei ein Systemadministrator den Zugriff auf den
Ordner selbst einschränken
kann. Wenn unterschiedliche Sicherheitsstufen für unterschiedliche Typen von
Dokumenten gewünscht
sind, wobei unterschiedliche Untergruppen von Benutzern der Zugriff
auf unterschiedliche Untergruppen von Dokumenten erlaubt wird, wäre die einzige
Lösung,
eine Vielzahl von Ordnern bereitzustellen, wobei jeder Ordner eine
unterschiedliche Untergruppe von Benutzern hat.
-
Bei
dem System der vorliegenden Erfindung sind jedoch die Sicherheitseigenschaften
eines Objektes in der Liste von „Lesern" und „Schreibern", die in dem Objekt
selbst aufgelistet sind, eingebettet. Deshalb bestehen die Sicherheitseigenschaften
für eine
Datei, die unter einem entsprechenden Objekt liegt, in dem Objekt
(ob das Objekt die Datei selbst beschreibt oder ob die Datei Teil
einer Sammlung ist, die von einem Objekt beschrieben ist). Wenn
eine Datei zu unterschiedlichen Zeiten an unterschiedlichen Orten
platziert wird, bleiben die Sicherheitseigenschaften bei der Datei,
weil die Datei selbst ein Objekt hat, mit einer Liste von Lesern und
Schreibern, die damit assoziiert sind.
-
Gemäß einer
gegenwärtig
bevorzugten Ausführungsform
der vorliegenden Erfindung hat ein Objekt, das eine Datei, eine
Sammlung oder ein anderes Objekt, wie z.B. einen Kalender, beschreibt,
innerhalb seiner Objektdaten die „Zeiger" seines Besitzers, seiner Leser und
seiner Schreiber (es kann weiterhin auch eine Klasse von Benutzern
geben, die „Manager" genannt werden,
die dieselben Privilegien wie die Besitzer haben, die jedoch nicht
die Besitzer sind). Die Leser sind solche Benutzer, die nur Lesezugriff
auf die Datei oder die Sammlung haben. Die Schreiber sind solche
Benutzer, die Schreibzugriff haben, und die Besitzer sind die Benutzer,
die die Möglichkeit
zum Ändern
des Objektes selbst und des Löschens
einer darunter liegenden Datei oder eines Teils davon, haben.
-
Gemäß einer
derzeit bevorzugten Ausführungsform
der Erfindung kann einer Vielzahl von Benutzern „Besitzer"-Rechte an einem Objekt und seinen darunter
liegenden Dateien gegeben werden, und die „Besitzer"-Rechte schließen die Fähigkeit an, die Erlaubnisse
ihrer Benutzer mit Lese- und/oder Schreibzugriff auf das Objekt
editieren.
-
Weiterhin
gemäß einer
gegenwärtig
bevorzugten Ausführungsform
der Erfindung müssen
alle Benutzer des Systems in 1, die irgendeine
Art des Zugriffs auf gesicherte Dateien in dem Dateisystem 12 wünschen,
ab einem bestimmten Punkt mit dem Kommandodienstprogramm 18 „ein Konto
erstellen". Wie
in der obigen Tabelle der Attribute innerhalb eines Objektes erwähnt wurde,
sind Benutzer selbst Zeiger, die durch das Kommandodienstprogramm 18 zum
Zeitpunkt der Registrierung zugewiesen wurden, als ob die Benutzer Dateien
in einer Sammlung wären.
Das heißt,
trotz des Namens oder der Internet- oder der E-Mail-Adresse eines
bestimmten Benutzers ordnet das Kommandodienstprogramm 18 bei
der Erzeugung eines Kontos für einen
Benutzer den Namen oder die Adresse des Benutzers einem neu erzeugten
Zeiger zu, der noch einmal einfach eine Identifikationsnummer ist,
die mit dem Benutzer für
immer bestehen bleibt. Mit den Besitzer, Lese- und Schreib-Attributen
innerhalb eines Objektes werden die Benutzer nicht durch ihre Namen
oder Adressen, sondern durch ihre Zeiger identifiziert.
-
Wenn
ein Benutzerkonto erzeugt wird, erzeugt ein Hilfsprogramm innerhalb
des Kommandodienstprogramms 18, das „Gemeinschaftsregistrierung" genannt wird, ein
neues Objekt, das Daten einschließt, die den Benutzer beschreiben.
Der Registrierungsprozeß schließt ein,
dass der Benutzer ein elektronisches Formular ausfüllt, wobei
die Daten daraus in dem Benutzerobjekt verwendet werden. Solche
Benutzerinformationen können
z.B. den legalen Namen, Hardkopie und e-mail-Adressen, Webseiten-URL
des Benutzers und die Namen von Benutzergruppen, denen er wünscht, zugeordnet
zu werden, einschließen
(dies ist äquivalent
zum Benennen der „Eltern"-Sammlungen für den Benutzer,
wenn man annimmt, dass die Benutzergruppen Zeiger und Objekte, die
damit assoziiert sind, haben, und kann Gegenstand von Sicherheitsbetrachtungen
sein). Auch wird vorzugsweise an diesem Punkt der neue Benutzer
gefragt, ein Passwort einzugeben, das er für das zukünftige Einwählen in das System verwenden
wird. Das Passwort wird von dem Kommandodienstprogramm 18 in
Zukunft jedes Mal überprüft, wenn
sich der Benutzer in das System einwählt.
-
Wenn
ein Benutzer sich nicht registrieren will, d.h. ein Benutzerobjekt
hinsichtlich des Systems erzeugen will, wird das Kommandodienstprogramm
ihn, wann immer er sich einwählen
will, als einen „Gast" identifizieren.
Ein Gast muss kein Passwort eingeben, hat jedoch nur Zugriff auf
solche Objekte und darunter liegenden Dateien mit uneingeschränkter Leseerlaubnis
und hätte
natürlich
keine Schreib- oder Besitzerzugriffsrechte auf irgendeine Datei.
Typischerweise hat nur ein registrierter Benutzer mit einem Benutzerobjekt
die Fähigkeit,
Objekte in der Objektdatenbank 16 zu erzeugen oder Dateien
dem Dateisystem 12 hinzuzufügen.
-
Einleitend
zur Aktivierung jedes der obigen Kommandos, wie z.B. Hinzufügen, Betrachten
etc. führt das
Kommandodienstprogramm 18 eine Erlaubnisüberprüfung des
Benutzers durch, der das Kommando initiiert. Demnach überprüft das Kommandodienstprogramm 18 den
Zeiger des Benutzers gegenüber
der Liste der Benutzerzeiger in dem Besitzer-, Lesen- und Schreiben-Feldern,
wenn ein Kommando von einem Benutzer he rausgegeben wird, und bestimmt
dann, ob das bestimmte Kommando von dem Benutzer angefordert werden
kann. (Natürlich
kann eine Platzhalter (Wild Card) Variable oder ein Äquivalent
in den „Lesen" oder selbst „Schreiben"-Feldern in dem Objekt
platziert werden für
ungesicherte Dateien und Sammlungen).
-
Die
Implementierung des Zuweisens von Zeigern an Benutzer, wenn Benutzerobjekte
erzeugt werden, und dann die Verwendung der zugewiesenen Zeiger,
um die Erlaubnis zu überprüfen, um
bestimmte Kommandos durchzuführen,
wird mit einer Variation des bekannten „Cookie"-Systems zur Identifizierung von Benutzern in
einem Internetprotokoll durchgeführt.
Wenn ein neues Objekt für
den Benutzer durch das Kommandodienstprogramm 18 erzeugt
wird, wird dessen Zeiger an das „Cookie", das verwendet wird, um den Benutzer
im Netzwerk 14 zu identifizieren, angehängt. Dieses „Cookie" bleibt dann bei
dem Benutzer für
alle zukünftigen
Einwählvorgänge. Somit
vergleicht das Kommandodienstprogramm 18 zuerst den Zeiger
innerhalb des Cookies des Benutzers mit der Liste von Benutzerzeigern
in dem „Lese"-Feld, wenn ein bestimmtes
Objekt von einem bestimmten Benutzer gewünscht wird; nur wenn der Zeiger
in dem Cookie zu einem in dem Lese-Feld passt, wird dem Benutzer
der Zugriff gewährt.
-
Durch
die Gesamtstruktur von Erlaubnissen wird unterstellt, daß ein Vererbbarkeitsprinzip
unterstützt wird,
da sie sich auf Dateien und Sammlungen von Dateien beziehen. Das
heißt,
weil jede individuelle Datei eine damit zugeordnete Sicherheit aufweist
in Form von Lese- und Schreiberlaubnissen in seinem Objekt, selbst
wenn eine bestimmte Datei zu einem Teil einer Sammlung gemacht wird,
bleiben die Sicherheitseigenschaften bei der Datei, selbst wenn
die größere Sammlung
einen breiteren Erlaubnisbereich aufweist (d.h. mehr Menschen dürfen auf
die Sammlung als Ganzes zugreifen). Gemäß einer Ausführungsform
der vorliegenden Erfindung ist es möglich, einen Softwaremechanismus
bereitzustellen, in dem, falls gewünscht, die Erlaubnisse, die
einer Sammlung zugeordnet sind, niemals breiter sind als die Erlaubnisse
irgendeiner Datei innerhalb der Sammlung. Dies kann z.B. durch eine
Programm innerhalb des Kommandodienstprogramms 18 durchgeführt werden,
das die Erlaubnisse, die einer Sammlung zugeordnet sind, mit den
Dateien innerhalb der Sammlung abstimmt. Diese Abstimmung kann automatisch
durchgeführt
werden, wobei das Objekt, das mit den Dateien in dem Dateisystem 12 assoziiert
ist, geändert
werden, und die Dateien selbst müssen
niemals aufgerufen werden, um die Erlaubnisse abzustimmen.
-
2 ist
ein Beispiel einer Bildschirmmaske, die einem Benutzer (typischerweise
der Besitzer oder Manager eines Objekts) vorgelegt werden kann,
wenn es gewünscht
wird, die Erlaubnisse des Objekts zu editieren. Eine Matrix wird
angezeigt mit einer Liste von möglichen
Benutzern und/oder Personen, die gegenwärtig zumindest Lesezugriff
haben (beginnend mit Objekt Besitzer) in der ersten Spalte und den
unterschiedlichen Typen von Erlaubnissen (einschließlich einer
Option zum Entfernen von vorher aufgelisteten Personen von der Zugriffsliste,
die sich über
die Spalten erstrecken. Der Besitzer oder andere Manager kann die
Erlaubnisse editieren, indem geeignete Boxen innerhalb der Matrix
angeklickt werden.
-
Erzeugen von
Dokumenten mit dynamischem Inhalt
-
3 ist
ein Diagramm, das die Beziehung zwischen Objekten zeigt für ein Beispiel
eines Ereignisses, bei dem eine Anzahl von Benutzern beiwohnen,
und bei dem es eine Sammlung von Dateien zum Vor-Lesen geben kann,
wenn die Objekte innerhalb einer Objektdatenbank 20 existieren
würden.
Beginnend im Bild oben kann man sehen, dass drei Benutzer, wobei
jeder seinen eigenen Kalender hat, jeweils die „Ereignisse" auf dem entsprechenden
Tag für
seinen bestimmten Kalender aufgelistet hat. Ein Objekt, das das
Ereignis beschreibt, existiert nur an einem Platz in der Objektdatenbank 20,
aber die Kalender von jedem Benutzer oben in der Figur enthalten
alle in ihren Kalenderobjekten einen Zeiger auf dieses Ereignis.
Weiterhin schließt
jedes Objekt, das einen Kalender beschreibt, einen Zeiger ein, der
auf ein Objekt zeigt, das den Benutzer oder Besitzer des Kalenders
beschreibt.
-
Innerhalb
des Zeigers, das das Ereignis beschreibt, kann es verschiedene unterschiedliche
Typen von Objekten geben, auf das das Ereignisobjekt zeigt. Zum
Beispiel, wenn es einige Dateien zum Vor-Lesen für das Ereignis gibt, kann das
Ereignisobjekt ein Sammlunsobjekt beschreiben, wie in der Figur
gezeigt wird, welches umgekehrt Zeiger einschließt, die auf die Dateien zum
Vor-Lesen zeigen, wie gezeigt wird. Das Ereignisobjekt schließt weiterhin
einen Zeiger ein, der auf diejenigen Benutzer zeigt, die zu dem
Ereignis eingeladen sind. Die Zeiger für diese Benutzer können in
Form eines Objekts sein, das die Zeiger eine Gruppe von Benutzern
enthält,
z.B. ein Benutzergruppenobjekt, das „Ingenieure im Programm Z" genannt wird, wäre ein Sammlungsobjekt
einschließlich
den Zeigern für
alle die Personen in dieser Klasse. Eine unbegrenzte Anzahl von
ad hoc Benutzergruppen kann von jedem Benutzer erzeugt werden, ohne
an die Erlaubnisse in den Benutzerobjekten gebunden zu sein. Die
Benutzergruppe ist einfach eine Sache des Erzeugens eines „Sammlungs"-Objekts mit einer
Zeigerliste der Benutzer, die in der Gruppe sein sollen. Natürlich könnte das „Ereignis" Sammlungsobjekt
auch Zeiger auf Benutzer einschließen, die nicht in einer Gruppe
gezeigt sind, und eine Benutzergruppe kann auch Zeiger auf Benutzer
einschließen
ohne gewöhnlichen
Zugriff auf das Ereignisobjekt, wie in der Figur gezeigt ist.
-
Ein
anderes mögliches
Objekt, das in dem „Ereignis"-Objekt gesammelt
werden kann, ist ein Objekt für
eine Bekanntmachung (Bulletinobjekt), welches, wie in der Figur
gezeigt ist, Teil eines Schwarzen Brettes sein kann mit anderen
Bekanntmachungen neben denen, die in dem Ereignis beschrieben werden.
Typischerweise möchte
man, dass auch ein Schwarzes Brett eine breite Zugriffserlaubnis
aufweist, und ein Benutzer mit keinem sonstigen Zugriff auf das
Ereignis soll in der Lage sein, die Bekanntmachung, die das Ereignis
beschreibt, zu sehen.
-
Ein
anderes Objekt, das in einem „Ereignis"-Sammelobjekt erscheinen
könnte,
ist die URL, z.B. einer Homepage einer Sponsororganisation, wie
gezeigt ist. Auch kann die Ereignissammlung Vorkehrungen zum Abspeichern
von Texten im Objekt davon einschließen, und dieser Text kann Verknüpfungen
zu externen Webseiten einschließen.
-
Ein
signifikantes Merkmal der vorliegenden Erfindung, das die Tatsache
betrifft, dass zugrundeliegende Dateien, die von den Objekten beschrieben
werden, nicht hierarchisch gespeichert sind, betrifft die Fähigkeit
eines Objekttyps, dass er gleichzeitig „innerhalb" und „außerhalb" eines anderen Objektes ist. Zum Beispiel
ist bei dem Ereignis, das in 3 gezeigt
ist, das Benutzergruppensammlungsobjekt, das die Benutzer beschreibt,
die zu dem Ereignis eingeladen werden sollen, innerhalb des Ereignisobjekts,
während
das Ereignis „innerhalb" des Kalenders einer
Anzahl von Benutzern ist. Wie durch die gepunktete Linie in der
Figur gezeigt ist, wird ein Benutzer, der das Ereignis auf seinem
Kalender hat, der aber auch als jemand aufgelistet ist, der zu dem
Ereignis eingeladen werden soll, durch ein Objekt beschrieben, das
ein „Kind" des Ereignisses
ist, der aber auch der Besitzer des Kalenderobjekts ist, welches
ein „Vorgänger" des Ereignisses
ist. Der Punkt ist, dass die Hierarchie, ob eine Datei innerhalb
einer Sammlung ist, immer ad-hoc abhängig von der Betrachtungsweise
einer bestimmten Datei ist, die von einem bestimmten Benutzer betrachtet
werden soll, und kann, was am Wichtigsten ist, unabhängig von
den Dateien, die unter den Objekten liegen, die auf dem Dateiserver 12 gespeichert
sind, erzeugt werden. In dem vorliegenden Beispiel beeinflussen
dies Änderungen
nur die Objekte in der Objektdatenbank 20, egal ob Benutzer
einer Liste der Personen, die zu dem Ereignis eingeladen werden
sollen, hinzugefügt
werden oder entfernt werden (und diejenigen, die ihren Zeiger in
dem Ereignisobjekt gesammelt haben), und hat absolut keine Wirkung
auf die darunter liegenden Dateien in dem Dateisystem 12. Ähnlich tritt
die Aktualisierung für
das Vor-Lesen der Dateien in der Sammlung nur bei den Dateien an
einer Stelle in dem Dateisystem auf, selbst wenn sie ständig aktualisiert
werden, da die Dateien selbst nur an einer Stelle existieren, und
die Aktualisierungen haben keine Effekt auf die Objektdatenbank.
Der Gesamteffekt ist, dass die vorliegende Erfindung nur einen sehr
kleinen Zusatzaufwand erzeugt, wenn eine große Anzahl von Dateien aktualisiert
werden müssen,
selbst wenn eine Liste von Einzuladenden ständig geändert wird oder der Inhalt
von Vor-zulesenden Dateien ständig
geändert
werden.
-
Ein
anderer Zusammenhang, in dem das System der vorliegenden Erfindung
große
Verwendbarkeit findet, ist im Kontext einer Universität mit Zugriff
auf digitalisiertes Kursmaterial, das als eine Reihe von Artikeln gespeichert
werden könnte,
jeder davon als getrennte Datei in dem Dateisystem 12.
Wenn Professor A, der einen Kurs vorbereitet, eine Sammlung von
Artikeln XYZ erzeugen möchte,
während
Professor B ein Kurspaket mit den Artikeln WXZ erzeugen möchte, braucht
die Datei WXYZ nur an einer Stelle in dem Dateisystem 12 existieren.
Professor A und Professor B müssen
jeweils eine Sammlung erzeugen, die auf die Objekte der Artikel,
die er wünscht,
für Zugriff
und/oder Ausdruck Bezug nehmen. Der praktische Vorteil, jeden Artikel WXYZ
an einem Ort in dem Dateiserver zu halten, ist, dass man zum Zweck
von Gebührenzahlungen
die Anzahl der Gesamtanfragen zum Ausdrucken jedes bestimmten Artikels
WXYZ leicht erhalten kann, egal wer den Artikel anfordert. Weiterhin,
wenn z.B. Artikel Z auf einer monatlichen Basis aktualisiert wird,
benötigen
die Aktualisierungen nur die Adresse eines Ortes in dem Dateisystem 12 und
würde dann
beide Professoren bedienen.
-
Praktische
Ausführungsform
-
Das „Herz" des Systems der
vorliegenden Erfindung ist das Kommandodienstprogramm 18.
Die Gesamtfunktion des Kommandodienstprogramms 18 ist,
die grundlegenden Kommandos wie z.B. holen, betrachten, hinzufügen etc.,
die oben beschrieben wurden, und die auf Objekte in der Datenbank 20 wirken,
zu implementieren. In einer praktischen Ausführungsform der vorliegenden
Erfindung existieren diese Kommandos in dem Kommandodienstprogramm 18 als
Sätze von
Instruktionen in der „Python" Scriptsprache, die
automatisch durch das Common Gateway Interface (CGI), der in dem
HTTP 1.0 Standard definiert ist, aufgerufen wird. Die Verwendung
irgendeiner Programmiersprache durch das CGI oder irgendeine netzspezifische
Schnittstelle ermöglicht
es, die Kommandos in einem Netzserver, wie z.B. einem HTTP-Server 16 einzubetten.
-
Ein
anderes wichtiges Hilfsmittel, das mit dem Kommandodienstprogramm 18 zusammenhängt, ist das,
was als ein „Sitzungsmanager" bekannt ist, weiches
ein kurzes Programm ist, das Identifikationsnummern herausgibt,
wenn Zeiger benötigt
werden, wenn Objekte erzeugt werden. Verschiedene Wege neue Zeiger
für verschiedene
Typen von Objekten herauszugeben, wie z.B. Aufwärtszählen für jeden Objekttyp, oder Erzeugen
von Zufallszahlen, sind offensichtlich.
-
Eine
andere Art von Instruktion, die im Allgemeinen mit dem Kommandodienstprogramm 18 zusammenhängt, ist
bekannt als eine „Objektdatenbankroutine". Diese Routine arbeitet
als eine Brücke
zwischen einfachen Zeichenketten von Variablen, die Objekte sind,
da sie tatsächlich
gespeichert werden, und ein „Fenster", durch das ein Objekt
und die Eigenschaften darin auf dem Bildschirm eines Benutzers betrachtet
werden können,
z.B. zum Editieren.
-
Ein
anderes Hilfsprogramm, das mit dem Kommandodienstprogramm 18 zusammenhängt, ist
ein „Dokumentenmanager". Die allgemeine
Funktion des Dokumentenmanagers ist, Kontrolle über eine Vielzahl von Versionen
der „selben" Datei oder Dokuments,
das sich in dem Dateisystem 12 befindet, zu behalten. Der
Dokumentenmanager gibt Versionsnummern heraus, die an neue Dateien
angehängt
werden, die von einem Benutzer zu einer neuen Version einer vorangegangenen
Datei 3 erklärt
werden. Der Do kumentenmanager weist der neuen Version einen Zeiger
zu, der identisch ist zur vorangegangenen Version, gefolgt von einer
Versionsnummer.
-
Schließlich kann
die vorliegende Erfindung leicht in Verbindung mit einer Suchmaschine
verwendet werden, die auf den Dateien in dem Dateisystem 12 betrieben
wird, und/oder auf den Variablen in den Objekten in der Datenbank 20.
Die vorliegende Erfindung verstärkt
die Nützlichkeit
einer Suchmaschine dadurch, dass, wenn eine Suchmaschine verwendet
wird, um bestimmte wichtige Dateien in dem Dateisystem 12 zu
lokalisieren, die Objekte, die mit diesen Dateien assoziiert sind,
verwendet werden können,
um zugeordnete Dateien über
die „Eltern" der lokalisierten
Dateien zu finden. Weiterhin können
die Objekte der lokalisierten Dateien verwendet werden, um andere
Dateien zu finden, die von demselben Autor geschrieben oder verändert wurden, oder
um Ereignisse zu finden, die aufgetreten sind, oder Dateien, die
an dem selben Tag erzeugt wurden. Auf diese Weise kann die vorliegende
Erfindung einer Person helfen, einen Punkt zu untersuchen, in dem
die Einschränkungen
der Textsuche überwunden
werden.
-
Ständige Zeiger, um ungültige Netzverknüpfungen
zu vermeiden
-
Mit
besonderem Augenmerk auf http (oder Internet) Server 16 ist
ein besonderes Merkmal einer praktischen Ausführungsform der vorliegenden
Erfindung, dass die gemeinsam genutzte Datenumgebung „im Netz" existiert, d.h.,
dass sie über
ein Internetprotokoll zugänglich
ist. Jedoch ist, wie man an der Beziehung zwischen http-Server 16 und
Kommandodienstprogramm 18 sehen kann, die „Grenze" der gemeinsam genutzten
Datenumgebung markiert durch eine Umwandlung von URLs im Internetstiel
auf Zeiger, die ex-clusiv für die
gemeinsam genutzte Datenumgebung sind. Mit anderen Worten, eine
Schlüsselfunktion
des Kommandodienstprogramms 18 ist es, URLs, die im allgemeinen
verständlich
sind, im Internet, in Zeiger umzuwandeln, die permanent mit Dateien
in dem Dateisystem 12 verknüpft sind. Diese Umwandlung
von URLs in Zeiger markiert einen praktischen Schlüsselvorteil
der vorliegenden Erfindung, nämlich
die Vermeidung von „veralteten Verknüpfungen", die alltäglich sind,
z.B. bei der Instandhaltung von Internetwebseiten.
-
Eine
typische URL, die eine bestimmte Seite identifiziert, die über das
Internet zugänglich
ist, spezifiziert eine hierarchische Ordnung, durch die ein Benutzer
sich „durchkli cken" muss, um auf die
bestimmte Seite Zugriff zu erhalten. Zum Beispiel eine URL einer
Seite, die eine Preisliste vom Januar 1995 für die XEROX Corp. beschreibt,
kann die URL haben: www.xerox.com/pr/news/1995/january/prices/index.html.
Anzumerken ist, dass die URL selbst (die im Web zum Namen der Datei
wird) eine Hierarchie von Dateien innerhalb von Dateien spezifiziert,
so dass ein Benutzer die gewünschte
Preisliste erreicht. Das praktische Problem tritt auf, wenn die
Webseite geändert
oder neu organisiert wird, und die notwendige Reihenfolge von „Klicks", um eine bestimmte
Seite zu erreichen, nicht mehr existiert. Es wird dann viel härter oder
weniger intuitiv für
einen Benutzer, auf eine bestimmte gewünschte Seite Zugriff zu erhalten.
Darauf wird im Allgemeinen als eine „veraltete Verknüpfung" Bezug genommen.
-
Das
System der vorliegenden Erfindung kann das Problem der „veralteten
Verknüpfung" hinsichtlich den
Dateien, die in dem Dateisystem 12 abgespeichert sind, überwinden.
Zum Beispiel, wenn die Xerox Webseite, die darin die oben erwähnte Preisliste
enthält,
von dem Xerox-Systemadministrator oder Netzmeister (Webmaster) reorganisiert
wird, könnte
dieselbe Preisliste, die man vorher durch die obige URL erreichen konnte,
reorganisiert werden, dass sie an einem anderen Ort liegt. Wenn
z.B. der Netzmeister die Xeroxwebseite nach Produkt und nicht nach
Datum reorganisiert, ändert
sich die neue URL der ursprünglichen
Januar 1995 Preisliste in etwas wie www.xerox.com/products/prices/index.html.
Typische Internetbrowsingsoftware stellt ein System von „Lesezeichen" bereit, unter dem
die URLs von allgemein verwendeten oder zugegriffenen Dateien als
Schnellverweis abgelegt werden. Das Problem entsteht, wenn die URL,
die die ortsbasierende Adresse ist, einer bestimmten gewünschten
Seite geändert
wird. Wird die URL einer Datei einmal geändert, ist die Original-URL
jetzt sofort unbrauchbar; und weiterhin, es kann nicht immer möglich sein,
für einen
Benutzer, der einen Internetbrowser verwendet, die gewünschte Seite
der organisierten Webseite zu finden.
-
Mit
Bezug wieder auf 1 weist das Kommandodienstprogramm 18 nicht
nur Zeiger zu (d.h. die Identifikationsnummern zu Dateien, die Netzverknüpfungen
einschließen
könnten),
die in dem Dateisystem 12 angeordnet sind, sondern bewirken
auch eine „Neubenennung" der Original-URL
einer Datei, indem die originale, ortsbasierende, „hierarchische" URL durch eine neue
URL ersetzt wird, die nicht ortsbasierend und nicht hierarchisch,
oder mit anderen Worten ortsunabhängig, ist. Zum Beispiel wird
die Original- URL,
die oben erwähnt
wurde, wenn sie in dem Dateisystem 12 eingetragen wird,
effektiv umbenannt in http:/www.xerox.com/get/file-0039, wobei „file-0039" in diesem Beispiel
nur eine zufällige
Zeigernummer ist. In dieser neuen URL erkennt man, dass der erste
Teil einfach der Name des World Wide Web Servers ist; der zweite
Teil ist ein Kommando, wie es ausführlich oben beschrieben wurde;
und der letzte Teil ist ein Zeiger auf die Datei, die in dem Dateisystem 12 angeordnet
ist. Es ist diese neue URL, die z.B. innerhalb des Browsers oder
anderer Speicher eines Benutzers 10 auf dem Netzwerk 14 angeordnet
ist (Zeichendatei oder einem äquivalenten
System, wie z.B. einer Netzwerkverknüpfung). Auf diese Weise wird
sich das nächste
Mal, wenn ein Benutzer 10, auf diese bestimmte Datei zugreifen
möchte,
sein Browser auf die Datei über
die neue, nicht hierarchische URL beziehen und nicht über die
Original-URL, die vielleicht veraltet oder durch Reorganisation
der Webseite „ungültig" gemacht worden ist.
Kurz gesagt, wenn Benutzer auf Dateien im Dateisystem 12 zugreifen,
beziehen sie sich auf die Dateien nicht über eine ortsbasierende hierarchische
URL, die veraltet oder ungültig
gemacht werden kann, sondern eher durch eine ortsunabhängige URL,
die nur den Zeiger auf die gewünschte
Datei enthält.
Diese Zeiger basierende URL wird auf diese Weise jede nachfolgende
Reorganisation der originalen Quelle der Datendatei überleben,
weil sie nicht ortsbasierend ist und nicht auf einen höher geordneten
Ordner verweist, der verschwinden kann.
-
Natürlich, wenn
ein Benutzer sich entschließt,
eine Original-Hierarchie von Internetordnern beizubehalten, und
einen oder mehrere der Ordner innerhalb des Dateisystems 12 beizubehalten,
können
die Ordner höherer
Ordnung (im obigen Fall z.B. „PR", „Neuigkeiten", „1995", „Januar") als Sammlungen
innerhalb des Dateisystems 12 beibehalten werden, wobei
jeder nachgeordnete Ordner der Hierarchie ein Kind des vorhergehenden
ist. Wichtig ist, dass das System der vorliegenden Erfindung einen
essentiellen Schritt zur Neubenennung hierarchischer, ortsbasierender
URLs mit nicht hierarchischen, ortsunabhängigen URLs bereitstellt, die
nur einen Zeiger auf die Datei oder Sammlung einschließt. Dieses
Merkmal ermöglicht
es dem System der vorliegenden Erfindung, das Problem der „ungültigen Verknüpfungen" zu überwinden.
-
Da
das Kommandodienstprogramm 18 URLs in Zeiger umwandelt,
die permanent mit jeder Datei assoziiert sind, bleibt bei einer Änderung
der Hierarchie von „Klicks", durch die ein Benutzer
auf eine Seite zugreift, eine Webseite zugreifbar. Mit einer typischen URL,
wie oben ausgeführt
wird, ist der Name einer Datei nicht von dem Pfad durch die Hierarchie,
durch die sie erreicht wurde, unterscheidbar; mit dem Zeigersystem der
vorliegenden Erfindung kann eine Datei unabhängig von irgendeiner Hierarchie
existieren; in der Tat kann, wie oben beschrieben wurde, jeder individuelle
Benutzer seine eigene Hierarchie erzeugen, oder eine Datei kann
ohne irgendeine Hierarchie überhaupt
existieren.
-
Instandhaltung
der Gemeinschaft
-
Ein
anderes Schlüsselmerkmal
der vorliegenden Erfindung ist die Tatsache, dass sie durch die
Gemeinschaft instand gehalten werden kann. Praktisch ausgedrückt ist
die Essenz der „Instandhaltung" durch die Gemeinschaft", dass kein Superuser,
wie z.B. eine Systemadministrator, Netzmeister oder eine andere
Person, mit außergewöhnlichen
Benutzerprivilegien erforderlich ist, das „Gesamtsystem" zu überblicken.
Typischerweise besitzt, wie z.B. bei einer Webseite, eine bestimmte
Person oder Personen, die als „Netzmeister" bezeichnet werden,
spezielle Privilegien, um anderen bestimmten Benutzern Zugriff auf
die gesamte Webseite oder Teilen der Webseite zu erlauben. Mit der
vorliegenden Erfindung wird die Sicherheit auf einer Datei-für-Datei-Basis
ausgeführt,
weil die individuelle Datei ihre eigenen Zugriffserlaubnisse definiert,
und kein solcher Superuser wird benötigt.
-
Wenn
eine Person ohne vorherigen Kontakt mit der gemeinsam genutzten
Datenumgebung der vorliegenden Erfindung zum ersten Mal auf den
http-Server 16 über
das Internet zugreift, identifiziert das Kommandodienstprogramm 18 den
Benutzer als nicht registriert. Wenn der Benutzer wählt, sich
nicht mit dem System registrieren zu lassen, identifiziert das Kommandodienstprogramm 18 diesen
fremden Benutzer als bloßen „Gast". Wie oben erwähnt wurde,
muss ein Gast ein Konto mit dem Kommandodienstprogramm 18 eröffnen, um
Zugriff auf „eingeschränkte Dateien" in dem Dateisystem 12 zu
bekommen. Vom Standpunkt der „Instandhaltung
durch die Gemeinschaft" ist
die wichtige Tatsache hier, dass ein Gast, der das System betritt,
ein Konto aus eigenem Antrieb eröffnet
und keine spezielle Erlaubnis von irgendeiner Art Superuser, wie
z.B. einem Netzmeister, oder einem Systemadministrator, erhalten
muss (zum Betreten des Systems als Ganzes). Die vorliegende Erfindung
stellt einen automatischen Mechanismus bereit, bei dem ein Benutzer
ohne vorherigen Kontakt zu dem System einen Benutzerstatus bean tragen
kann, z.B. indem ein Konto eröffnet
wird, und diese Kontoeröffnung
wird automatisch durch das System erzeugt. Mit der vorliegenden
Erfindung arbeitet jede individuelle Datei als ihr eigener Systemadministrator
und kontrolliert, welche Personen darauf Zugriff haben. Diese Sicherheitsvorkehrung
auf der Ebene von individuellen Dateien und nicht auf der Ebene
des Gesamtsystems ist ein anderer wichtiger Aspekt der Eigenschaft
der „Instandhaltung
durch die Gemeinschaft" des Systems
der vorliegenden Erfindung.
-
Systemzusammenfassung
-
Das
oben beschriebene System schließt
viele Merkmale ein, die in dem System der vorliegenden Erfindung
zusammenwirken, obwohl es möglich
ist, dass sie in anderen gemeinsam genutzten Datensystemen einzeln
verfügbar
sind, um einen ungewöhnlich
flexiblen Server für
ihre Benutzer bereitzustellen. Von den vielen Merkmalen der Erfindung
sind die drei bedeutendsten: 1) die Umwandlung von Netzwerk URLs
in ortsunabhängige
Zeiger; 2) die Bereitstellung von einheitlichen Zugriffsrechten
für jedes
Objekt in der Datenbank, und damit für jede Datei in dem Dateisystem;
und 3) das Konzept der „Instandhaltung
durch die Gemeinschaft", in
der kein einzelner Superuser erforderlich ist, um einem Benutzer,
der Zugriff auf einen bestimmten Teil des Systems wünscht, die
Erlaubnis zu gewähren.
-
Diese
drei Merkmale der vorliegenden Erfindung wirken synergetisch zusammen.
Die Tatsache, dass jede Datei in dem System ihre eigenen individuellen
Zugriffsrechte hält,
bedeutet, dass jede individuelle Datei sich selbst schützt, und
deshalb ist kein Superuser erforderlich, um als ein Torwächter für das Gesamtsystem zu
wirken. Die Bereitstellung von einzigartigen Zugriffsrechten, die
an jeder Datei anhängen,
erleichtert deshalb die Besonderheit der „Instandhaltung durch die
Gemeinschaft", bei
der sich die Benutzer selbst registrieren, ohne einen größeren Sicherheitsbruch
zu verursachen. Weiterhin wird es durch das Konzept, dass Netzwerk
ortsbasierende URLs in nicht ortsbasierende URLs für Dateien
in dem Dateisystem umgewandelt werden, den individuellen Benutzern
ermöglicht,
ihre eigene Hierarchie der Dateien in dem Dateisystem zu erzeugen.
Dadurch befreit der nicht ortsgebundene Zeiger, der mit jeder Datei
assoziiert ist, die Datei, wenn der Originalautor der Datei (ob
innerhalb des Dateisystems 12 oder anderswo) eine Hierarchie
von Ordnern oder Dateien aufstellt, wenn diese Dateien einmal in
dem Dateisystem 12 platziert sind, so dass andere Benutzer
die Datei in Hierarchien nach ihrer eigenen Phantasie platzieren
können.
Der Aspekt der ortsungebundenen URL der vorliegenden Erfindung ist
synergetisch mit der Eigenschaft der einzigartigen Zugriffsrechte
für jede
Datei, um ein System zu erzeugen, wobei jeder Benutzer, egal auf
weiche Dateien er zugreifen kann, nach seinem eigenen Geschmack
organisieren kann. Auf diese Weise wirken die drei essentiellen
Attribute des Systems der vorliegenden Erfindung zusammen, um ein
System zu erzeugen, in dem jeder Benutzer sich eine große Menge
an Information, wie sie der Benutzer benötigt, maßschneidern kann.
-
Während die
Erfindung in Bezug auf die offenbarte Struktur geschrieben wurde,
ist sie nicht auf die Details, die dort ausgeführt wurden, beschränkt, sondern
soll solche Modifikationen oder Änderungen
abdecken, wie sie sich im Rahmen der folgenden Ansprüche ergeben.