DE69835845T2 - Umgebung mit zwischen Mehreren geteilten Daten in der jede Datei unabhängige Sicherheitseigenschaften hat - Google Patents

Umgebung mit zwischen Mehreren geteilten Daten in der jede Datei unabhängige Sicherheitseigenschaften hat Download PDF

Info

Publication number
DE69835845T2
DE69835845T2 DE69835845T DE69835845T DE69835845T2 DE 69835845 T2 DE69835845 T2 DE 69835845T2 DE 69835845 T DE69835845 T DE 69835845T DE 69835845 T DE69835845 T DE 69835845T DE 69835845 T2 DE69835845 T2 DE 69835845T2
Authority
DE
Germany
Prior art keywords
file
user
identification number
files
pointer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69835845T
Other languages
English (en)
Other versions
DE69835845D1 (de
Inventor
Brian C. Pittsford Falkenhainer
Mitchell Fairport Garnaat
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Application granted granted Critical
Publication of DE69835845D1 publication Critical patent/DE69835845D1/de
Publication of DE69835845T2 publication Critical patent/DE69835845T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Description

  • 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.
  • Tabelle
    Figure 00110001
  • Figure 00120001
  • 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.

Claims (6)

  1. Verfahren zum Handhaben einer Vielzahl von Dateien (12), die in einem elektronischen Dateisystem, das mit einem Netzwerk verbunden ist, gespeichert sind, wobei das Verfahren folgende Schritte umfasst: Zuweisen einer eindeutigen Identifikationsnummer an jede Datei; Zuweisen einer eindeutigen Identifikationsnummer an jeden Benutzer (10) mit Zugriff auf die Datei (12) in dem Dateisystem; Bereitstellen einer Objektdatenbank (20), wobei die Objektdatenbank (20) für jede Datei (12) in dem Dateisystem ein Objekt einschließt, das der Datei zugeordnet ist, wobei das Objekt die Identifikationsnummer der Datei, eine Identifikationsnummer des Besitzers, eine Liste von Identifikationsnummern von solchen Benutzern (10), denen der Besitzer den Lesezugriff auf die Datei (12) erlaubt, und eine Liste von Identifikationsnummern von solchen Benutzern (10), denen der Besitzer den Schreibzugriff auf die Datei (12) erlaubt, einschließt; gekennzeichnet durch Bereitstellen einer Softwareeinrichtung, wobei jede Identifikationsnummer, die einer Datei (12) zugeordnet ist, mit einer Zeiger-basierenden, handle-based, URL verbunden ist; wenn ein Benutzer (10) die Zeiger-basierende URL einer gewünschten Datei (12) aufruft, Bestimmen der Identifikationsnummer der gewünschten Datei (12), Bestimmen der Identifikationsnummer des Benutzers (10), und unter Verwendung der Identifikationsnummer der gewünschten Datei und der Identifikationsnummer des Benutzers wie vorher bestimmt, zu Rate ziehen des Objekts, das der gewünschten Datei (12) zugeordnet ist, um zu bestimmen, ob der Benutzer (10) die Erlaubnis hat, auf die Datei (12) zuzugreifen; und wobei der Schritt des Zuweisens der eindeutigen Identifikationsnummer an den Benutzer folgendes einschließt: Bereitstellen einer Softwareeinrichtung, wobei der Benutzer (10) beantragen kann, dass ihm die Identifikationsnummer zugewiesen wird; und wenn der Benutzer (10) die Identifikationsnummer beantragt, die Softwareeinrichtung die Identifikationsnummer erzeugt und die Identifikationsnummer an ein Cookie anhängt, das verwendet wird, um den Benutzer im Netzwerk zu identifizieren.
  2. Verfahren nach Anspruch 1, das weiterhin den Schritt des Umwandelns einer Ortsangaben-basierenden URL einer Datei (12) in eine Zeiger-basierende URL, die eine Identifikationsnummer einschließt, die von der Softwareeinrichtung verwendet werden kann, umfasst.
  3. Verfahren nach Anspruch 2, wobei jedem Benutzer ein Speicher zum Aufbewahren der URLs zugeordnet ist, wobei das Verfahren weiterhin den Schritt umfasst: Bewirken, dass ein Benutzer (10) die Zeiger-basierende URL einer Datei (12), die von einem Benutzer (10) gewünscht wird, im Speicher behält.
  4. Verfahren nach Anspruch 1, worin ein Objekt in der Objektdatenbank (20) die Identifikationsnummern einer Vielzahl von Dateien (12) einschließt.
  5. Verfahren nach Anspruch 1, das weiterhin den Schritt umfasst: Bereitstellen einer Softwareeinrichtung, wobei ein Benutzer ein Objekt erzeugen kann mit einer Identifikationsnummer einer Datei (12) in dem Dateisystem.
  6. Verfahren nach Anspruch 5, das weiterhin den Schritt umfasst: Bereitstellen einer Softwareeinrichtung, wobei jeder Benutzer (10) mit einer ihm zugeordneten Identifikationsnummer ein Objekt erzeugen kann mit einer Identifikationsnummer einer Datei (12) in dem Dateisystem.
DE69835845T 1997-03-07 1998-03-06 Umgebung mit zwischen Mehreren geteilten Daten in der jede Datei unabhängige Sicherheitseigenschaften hat Expired - Lifetime DE69835845T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US4011497P 1997-03-07 1997-03-07
US40114P 1997-03-07
US5100097P 1997-06-27 1997-06-27
US51000P 1997-06-27
US961002 1997-10-30
US08/961,002 US5930801A (en) 1997-03-07 1997-10-30 Shared-data environment in which each file has independent security properties

Publications (2)

Publication Number Publication Date
DE69835845D1 DE69835845D1 (de) 2006-10-26
DE69835845T2 true DE69835845T2 (de) 2007-01-04

Family

ID=27365660

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69835845T Expired - Lifetime DE69835845T2 (de) 1997-03-07 1998-03-06 Umgebung mit zwischen Mehreren geteilten Daten in der jede Datei unabhängige Sicherheitseigenschaften hat

Country Status (5)

Country Link
US (1) US5930801A (de)
EP (1) EP0863453B1 (de)
JP (1) JP4008089B2 (de)
BR (1) BR9800850B1 (de)
DE (1) DE69835845T2 (de)

Families Citing this family (306)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058726B1 (en) 1996-07-08 2006-06-06 Internet Number Corporation Method and systems for accessing information on a network using message aliasing functions having shadow callback functions
US6061738A (en) * 1997-06-27 2000-05-09 D&I Systems, Inc. Method and system for accessing information on a network using message aliasing functions having shadow callback functions
US7546346B2 (en) * 1997-07-28 2009-06-09 Juniper Networks, Inc. Workflow systems and methods for project management and information management
US5978836A (en) 1997-07-28 1999-11-02 Solectron Corporation Workflow systems and methods
US7031954B1 (en) * 1997-09-10 2006-04-18 Google, Inc. Document retrieval system with access control
US6038597A (en) * 1998-01-20 2000-03-14 Dell U.S.A., L.P. Method and apparatus for providing and accessing data at an internet site
US6151622A (en) * 1998-02-02 2000-11-21 International Business Machines Corp. Method and system for portably enabling view synchronization over the world-wide web using frame hierarchies
US7269585B1 (en) 1998-06-26 2007-09-11 Alexander James Burke User interface and search system for local and remote internet and other applications
US6665687B1 (en) 1998-06-26 2003-12-16 Alexander James Burke Composite user interface and search system for internet and multimedia applications
US6731612B1 (en) * 1998-06-29 2004-05-04 Microsoft Corporation Location-based web browsing
US6308179B1 (en) * 1998-08-31 2001-10-23 Xerox Corporation User level controlled mechanism inter-positioned in a read/write path of a property-based document management system
US6562076B2 (en) 1998-08-31 2003-05-13 Xerox Corporation Extending application behavior through active properties attached to a document in a document management system
US6266682B1 (en) 1998-08-31 2001-07-24 Xerox Corporation Tagging related files in a document management system
GB2343764A (en) * 1998-11-10 2000-05-17 Int Computers Ltd Data processing system for integrated business solution
US6453339B1 (en) * 1999-01-20 2002-09-17 Computer Associates Think, Inc. System and method of presenting channelized data
US6507848B1 (en) * 1999-03-30 2003-01-14 Adobe Systems Incorporated Embedded dynamic content in a static file format
WO2000060435A2 (en) * 1999-04-07 2000-10-12 Rensselaer Polytechnic Institute System and method for accessing personal information
TW428146B (en) * 1999-05-05 2001-04-01 Inventec Corp Data file updating method by increment
US6754665B1 (en) * 1999-06-24 2004-06-22 Sony Corporation Information processing apparatus, information processing method, and storage medium
US6275860B1 (en) * 1999-09-09 2001-08-14 Emc Corporation Method and apparatus for synchronizing function values in a multiple protocol system
GB2355904B (en) * 1999-10-05 2002-03-20 Authoriszor Ltd System and method for managing pseudo uniform resource locators in a security system
GB2355905B (en) * 1999-10-05 2002-03-20 Authoriszor Ltd System and method for providing security for a network site
US20020055903A1 (en) * 1999-11-01 2002-05-09 Neal Solomon System, method, and apparatus for a cooperative communications network
US20030074301A1 (en) * 1999-11-01 2003-04-17 Neal Solomon System, method, and apparatus for an intelligent search agent to access data in a distributed network
US20020046157A1 (en) * 1999-11-01 2002-04-18 Neal Solomon System, method and apparatus for demand-initiated intelligent negotiation agents in a distributed network
US20020069134A1 (en) * 1999-11-01 2002-06-06 Neal Solomon System, method and apparatus for aggregation of cooperative intelligent agents for procurement in a distributed network
KR100317481B1 (ko) * 1999-11-05 2001-12-24 김근태 서로 다른 두개의 인터넷 서비스의 회원을 연합하는 방법
US7039722B1 (en) * 1999-11-12 2006-05-02 Fuisz Richard C Method and apparatus for translating web addresses and using numerically entered web addresses
JP3609307B2 (ja) * 1999-12-07 2005-01-12 シャープ株式会社 文書管理装置
US6954799B2 (en) * 2000-02-01 2005-10-11 Charles Schwab & Co., Inc. Method and apparatus for integrating distributed shared services system
WO2001057738A1 (en) * 2000-02-07 2001-08-09 Dahong Qian Group-browsing system
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US8051184B2 (en) * 2000-03-27 2011-11-01 Roberts David R Method for assigning random pairings to data entries
US7177798B2 (en) 2000-04-07 2007-02-13 Rensselaer Polytechnic Institute Natural language interface using constrained intermediate dictionary of results
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
KR100656150B1 (ko) * 2000-06-09 2006-12-12 안종선 커뮤니티 자동 생성 시스템 및 방법
WO2002006976A2 (en) * 2000-07-18 2002-01-24 Koninklijke Philips Electronics N.V. Electronically accessible user specific information
US6804699B1 (en) 2000-07-18 2004-10-12 Palmone, Inc. Identifying and locating lost or stolen personal digital assistant devices via a landline- or wireless-connected web server
GB0025299D0 (en) * 2000-10-13 2000-11-29 Ibm Request tracking for analysis of website navigation
JP2002132566A (ja) * 2000-10-27 2002-05-10 Ntt Me Corp データ管理システム及び方法、並びにコンピュータ読取可能な記録媒体
KR20020033356A (ko) * 2000-10-31 2002-05-06 김유봉 컴퓨터를 이용하여 그룹 및 개인에게 공유정보를 제공하는방법 및 시스템
US6957390B2 (en) * 2000-11-30 2005-10-18 Mediacom.Net, Llc Method and apparatus for providing dynamic information to a user via a visual display
US20020099832A1 (en) * 2001-01-22 2002-07-25 Tal Yaegerman Method for accessing the internet
US20020165883A1 (en) * 2001-02-26 2002-11-07 Xerox Corporation Electronic document management system
US7024662B2 (en) 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US20020133535A1 (en) * 2001-03-14 2002-09-19 Microsoft Corporation Identity-centric data access
US7539747B2 (en) * 2001-03-14 2009-05-26 Microsoft Corporation Schema-based context service
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US7240117B2 (en) * 2001-04-04 2007-07-03 Hall Aluminum Llc Method and apparatus for preventing overload using scaled recovery
US20070038632A1 (en) * 2001-05-31 2007-02-15 Engstrom G E Time slot based calendar access control
JP3932476B2 (ja) 2001-06-28 2007-06-20 ソニー株式会社 情報提供システム、情報処理装置および方法、記録媒体、並びにプログラム
US7505760B2 (en) * 2001-07-06 2009-03-17 Nokia Corporation Method and apparatus for the superdistribution of content in a network including stationary and mobile stations
CA2354993C (en) 2001-08-10 2010-11-09 Ibm Canada Limited-Ibm Canada Limitee Method of indicating links to external urls
ITFI20010199A1 (it) 2001-10-22 2003-04-22 Riccardo Vieri Sistema e metodo per trasformare in voce comunicazioni testuali ed inviarle con una connessione internet a qualsiasi apparato telefonico
US20030101269A1 (en) * 2001-11-26 2003-05-29 Eastman Kodak Company Device interface agent
US7596805B2 (en) 2001-12-13 2009-09-29 Sony Corporation Device and method for controlling access to open and non-open network segments
US7305702B2 (en) * 2002-01-09 2007-12-04 Xerox Corporation Systems and methods for distributed administration of public and private electronic markets
US7591020B2 (en) * 2002-01-18 2009-09-15 Palm, Inc. Location based security modification system and method
US20030187763A1 (en) * 2002-03-26 2003-10-02 The Regents Of The University Of California Intelligent inter-organizational system for procurement and manufacturing
US7010528B2 (en) * 2002-05-23 2006-03-07 International Business Machines Corporation Mechanism for running parallel application programs on metadata controller nodes
US8140622B2 (en) 2002-05-23 2012-03-20 International Business Machines Corporation Parallel metadata service in storage area network environment
US20030220943A1 (en) * 2002-05-23 2003-11-27 International Business Machines Corporation Recovery of a single metadata controller failure in a storage area network environment
US7448077B2 (en) 2002-05-23 2008-11-04 International Business Machines Corporation File level security for a metadata controller in a storage area network
US9886309B2 (en) 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US7246122B2 (en) * 2002-06-28 2007-07-17 Microsoft Corporation Schema-based services for identity-based data access to favorite website data
US8245137B2 (en) * 2002-07-25 2012-08-14 Xerox Corporation Electronic filing system with scan-placeholders
US6868424B2 (en) * 2002-07-25 2005-03-15 Xerox Corporation Electronic filing system with file-placeholders
US6999962B2 (en) * 2002-08-13 2006-02-14 Xerox Corporation Shared document repository with coupled recommender system
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
US20060069726A1 (en) * 2002-12-11 2006-03-30 Leader Technologies, Inc. Hospitality environment communications architecture
US8195714B2 (en) * 2002-12-11 2012-06-05 Leaper Technologies, Inc. Context instantiated application protocol
US7925246B2 (en) * 2002-12-11 2011-04-12 Leader Technologies, Inc. Radio/telephony interoperability system
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7769794B2 (en) 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7454786B2 (en) * 2003-03-27 2008-11-18 International Business Machines Corporation Method for integrated security roles
US7536386B2 (en) * 2003-03-27 2009-05-19 Microsoft Corporation System and method for sharing items in a computer system
US7925682B2 (en) * 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US7650575B2 (en) 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
KR100781730B1 (ko) * 2003-07-03 2007-12-03 제너럴 모터즈 코오포레이션 복합 문서를 전자적으로 관리하는 시스템 및 방법
US20050071369A1 (en) * 2003-09-29 2005-03-31 Peter Lang Object tailoring
EP1591903B1 (de) * 2003-10-22 2013-07-10 Olympus Corporation Verfahren zur änderung der dateinamen
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US8171426B2 (en) 2003-12-29 2012-05-01 International Business Machines Corporation Method for secondary selection highlighting
US7908566B2 (en) 2003-12-29 2011-03-15 International Business Machines Corporation System and method for scrolling among categories in a list of documents
US8151214B2 (en) 2003-12-29 2012-04-03 International Business Machines Corporation System and method for color coding list items
EP1787219A4 (de) * 2004-01-15 2009-07-29 Resonant Software Adaptive verfahrenssysteme und verfahren zur verwaltung von geschäftsverfahren
US7577742B1 (en) * 2004-02-11 2009-08-18 Adaptec, Inc. Account creation method and apparatus
JP2005236515A (ja) * 2004-02-18 2005-09-02 Seiko Epson Corp スキャンファイル生成システム
US7694236B2 (en) 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US7657846B2 (en) 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US7739303B2 (en) * 2004-07-22 2010-06-15 International Business Machines Corporation Method, system and program product for verifying access to a data object
US8412685B2 (en) * 2004-07-26 2013-04-02 Riverbed Technology, Inc. Method and system for managing data
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US8171479B2 (en) 2004-09-30 2012-05-01 Citrix Systems, Inc. Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US8613048B2 (en) 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US7664751B2 (en) 2004-09-30 2010-02-16 Google Inc. Variable user interface based on document access privileges
CA2581304A1 (en) * 2004-09-30 2006-04-13 Citrix Systems, Inc. A method and apparatus for assigning access control levels in providing access to networked content files
US7680758B2 (en) 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US7748032B2 (en) 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US8095940B2 (en) 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US7603355B2 (en) 2004-10-01 2009-10-13 Google Inc. Variably controlling access to content
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
JP4525358B2 (ja) * 2005-01-20 2010-08-18 ソニー株式会社 コンテンツを公開又は非公開とする方法、情報提供システム及び情報提供プログラム
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US7644286B1 (en) * 2005-03-03 2010-01-05 Adobe Systems, Incorporated System and method for restricting data access
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US7574746B2 (en) 2005-03-31 2009-08-11 International Business Machines Corporation Access validation and management of access permissions to referenced shared resources in a networked environment
US7614016B2 (en) 2005-04-21 2009-11-03 Microsoft Corporation Multiple roots in navigation pane
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
JP2006323721A (ja) * 2005-05-20 2006-11-30 Fuji Xerox Co Ltd データ管理システム及びデータサーバ及びデータ管理方法
JP4729987B2 (ja) * 2005-06-02 2011-07-20 富士ゼロックス株式会社 データ管理システム及びデータサーバ
US7552383B2 (en) 2005-06-23 2009-06-23 International Business Machines Corporation Method for efficiently processing comments to records in a database, while avoiding replication/save conflicts
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
JP4852938B2 (ja) * 2005-09-02 2012-01-11 富士ゼロックス株式会社 データサーバ及びデータ管理方法及びプログラム
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7779034B2 (en) 2005-10-07 2010-08-17 Citrix Systems, Inc. Method and system for accessing a remote file in a directory structure associated with an application program executing locally
US8131825B2 (en) 2005-10-07 2012-03-06 Citrix Systems, Inc. Method and a system for responding locally to requests for file metadata associated with files stored remotely
JP2007108905A (ja) * 2005-10-12 2007-04-26 Fuji Xerox Co Ltd ファイルサーバ、ファイル提供方法及びプログラム
US20070150498A1 (en) * 2005-12-23 2007-06-28 Xerox Corporation Social network for distributed content management
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7676505B2 (en) * 2006-01-27 2010-03-09 International Business Machines Corporation System, method and computer program product for shared user tailoring of websites
US7627652B1 (en) * 2006-01-31 2009-12-01 Amazon Technologies, Inc. Online shared data environment
US9754119B1 (en) 2006-03-07 2017-09-05 Emc Corporation Containerized security for managed content
US9519399B1 (en) 2006-03-07 2016-12-13 Emc Corporation Providing a visual indication that stored content is associated with a collaboration environment
US7512578B2 (en) * 2006-03-30 2009-03-31 Emc Corporation Smart containers
US7958562B2 (en) * 2006-04-27 2011-06-07 Xerox Corporation Document access management system
US7933924B2 (en) * 2006-07-14 2011-04-26 Xerox Corporation Document objects
US8931055B2 (en) * 2006-08-31 2015-01-06 Accenture Global Services Gmbh Enterprise entitlement framework
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8645906B2 (en) * 2006-09-12 2014-02-04 Sandeep Jain Method for enforcing change policy based on project state
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
US7603435B2 (en) * 2006-11-15 2009-10-13 Palm, Inc. Over-the-air device kill pill and lock
US8135798B2 (en) * 2006-11-15 2012-03-13 Hewlett-Packard Development Company, L.P. Over-the-air device services and management
US20080133726A1 (en) * 2006-12-01 2008-06-05 Microsoft Corporation Network administration with guest access
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10210340B2 (en) 2007-07-05 2019-02-19 Blackberry Limited File sharing with a hostile system
US9798784B1 (en) * 2008-08-22 2017-10-24 Salesforce.Com, Inc. System, method and computer program product for defining custom junction objects in an on-demand database service
US8260770B2 (en) * 2007-09-21 2012-09-04 Universities Space Research Association Systems and methods for an extensible business application framework
US9053089B2 (en) 2007-10-02 2015-06-09 Apple Inc. Part-of-speech tagging using latent analogy
US7925694B2 (en) 2007-10-19 2011-04-12 Citrix Systems, Inc. Systems and methods for managing cookies via HTTP content layer
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8090877B2 (en) 2008-01-26 2012-01-03 Citrix Systems, Inc. Systems and methods for fine grain policy driven cookie proxying
US8065143B2 (en) 2008-02-22 2011-11-22 Apple Inc. Providing text input using speech data and non-speech data
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8464150B2 (en) 2008-06-07 2013-06-11 Apple Inc. Automatic language identification for dynamic text processing
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8768702B2 (en) 2008-09-05 2014-07-01 Apple Inc. Multi-tiered voice feedback in an electronic device
US8898568B2 (en) 2008-09-09 2014-11-25 Apple Inc. Audio user interface
US8712776B2 (en) 2008-09-29 2014-04-29 Apple Inc. Systems and methods for selective text to speech synthesis
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8862252B2 (en) 2009-01-30 2014-10-14 Apple Inc. Audio user interface for displayless electronic device
US8380507B2 (en) 2009-03-09 2013-02-19 Apple Inc. Systems and methods for determining the language to use for speech generated by a text to speech engine
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US10540976B2 (en) 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US8615713B2 (en) * 2009-06-26 2013-12-24 Xerox Corporation Managing document interactions in collaborative document environments of virtual worlds
US20100332998A1 (en) * 2009-06-26 2010-12-30 Xerox Corporation Collaborative document environments in three-dimensional virtual worlds
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8352218B2 (en) * 2009-07-08 2013-01-08 Graphisoft Active building information modeling apparatus and method
US9031990B2 (en) * 2009-08-11 2015-05-12 Q2 Management Inc. Data processing system for manufacturing quality inspection management system
US9032288B2 (en) * 2009-09-11 2015-05-12 Xerox Corporation Document presentation in virtual worlds
US8682649B2 (en) 2009-11-12 2014-03-25 Apple Inc. Sentiment prediction from textual data
US8311838B2 (en) 2010-01-13 2012-11-13 Apple Inc. Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts
US8381107B2 (en) 2010-01-13 2013-02-19 Apple Inc. Adaptive audio feedback system and method
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
DE202011111062U1 (de) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Vorrichtung und System für eine Digitalkonversationsmanagementplattform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US20110307831A1 (en) * 2010-06-10 2011-12-15 Microsoft Corporation User-Controlled Application Access to Resources
US20110314392A1 (en) * 2010-06-17 2011-12-22 Cisco Technology, Inc. Incorporating calendar interfaces to dynamically adjust presentation information
US8713021B2 (en) 2010-07-07 2014-04-29 Apple Inc. Unsupervised document clustering using latent semantic density analysis
US8719006B2 (en) 2010-08-27 2014-05-06 Apple Inc. Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis
US8719014B2 (en) 2010-09-27 2014-05-06 Apple Inc. Electronic device with text error correction based on voice recognition data
US10515147B2 (en) 2010-12-22 2019-12-24 Apple Inc. Using statistical language models for contextual lookup
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US8781836B2 (en) 2011-02-22 2014-07-15 Apple Inc. Hearing assistance system for providing consistent human speech
US9836485B2 (en) * 2011-02-25 2017-12-05 International Business Machines Corporation Auditing database access in a distributed medical computing environment
JP2012198597A (ja) * 2011-03-18 2012-10-18 Brother Ind Ltd 制御装置及びコンピュータプログラム
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US20120310642A1 (en) 2011-06-03 2012-12-06 Apple Inc. Automatically creating a mapping between text data and audio data
US8812294B2 (en) 2011-06-21 2014-08-19 Apple Inc. Translating phrases from one language into another using an order-based set of declarative rules
US10242208B2 (en) 2011-06-27 2019-03-26 Xerox Corporation System and method of managing multiple levels of privacy in documents
US8706472B2 (en) 2011-08-11 2014-04-22 Apple Inc. Method for disambiguating multiple readings in language conversion
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US8762156B2 (en) 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US8775442B2 (en) 2012-05-15 2014-07-08 Apple Inc. Semantic search using a single-source semantic model
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
WO2013185109A2 (en) 2012-06-08 2013-12-12 Apple Inc. Systems and methods for recognizing textual identifiers within a plurality of words
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US8935167B2 (en) 2012-09-25 2015-01-13 Apple Inc. Exemplar-based latent perceptual modeling for automatic speech recognition
US8819587B1 (en) 2012-10-30 2014-08-26 Google Inc. Methods of managing items in a shared workspace
JP2016508007A (ja) 2013-02-07 2016-03-10 アップル インコーポレイテッド デジタルアシスタントのためのボイストリガ
US10642574B2 (en) 2013-03-14 2020-05-05 Apple Inc. Device, method, and graphical user interface for outputting captions
US10572476B2 (en) 2013-03-14 2020-02-25 Apple Inc. Refining a search based on schedule items
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US9733821B2 (en) 2013-03-14 2017-08-15 Apple Inc. Voice control to diagnose inadvertent activation of accessibility features
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US9977779B2 (en) 2013-03-14 2018-05-22 Apple Inc. Automatic supplementation of word correction dictionaries
KR101759009B1 (ko) 2013-03-15 2017-07-17 애플 인크. 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
CN105190607B (zh) 2013-03-15 2018-11-30 苹果公司 通过智能数字助理的用户培训
CN112230878A (zh) 2013-03-15 2021-01-15 苹果公司 对中断进行上下文相关处理
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN110442699A (zh) 2013-06-09 2019-11-12 苹果公司 操作数字助理的方法、计算机可读介质、电子设备和系统
CN105265005B (zh) 2013-06-13 2019-09-17 苹果公司 用于由语音命令发起的紧急呼叫的系统和方法
JP6163266B2 (ja) 2013-08-06 2017-07-12 アップル インコーポレイテッド リモート機器からの作動に基づくスマート応答の自動作動
US9584565B1 (en) 2013-10-08 2017-02-28 Google Inc. Methods for generating notifications in a shared workspace
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10277601B1 (en) 2015-05-11 2019-04-30 Google Llc System and method for recursive propagating application access control
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US10601593B2 (en) * 2016-09-23 2020-03-24 Microsoft Technology Licensing, Llc Type-based database confidentiality using trusted computing
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179718A (en) * 1988-11-29 1993-01-12 International Business Machines Corporation Method of filing having a directed relationship through defining a staple relationship within the context of a folder document
US5560008A (en) * 1989-05-15 1996-09-24 International Business Machines Corporation Remote authentication and authorization in a distributed data processing system
JPH087709B2 (ja) * 1989-05-15 1996-01-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン アクセス特権制御方法及びシステム
US5162992A (en) * 1989-12-19 1992-11-10 International Business Machines Corp. Vector relational characteristical object
US5414844A (en) * 1990-05-24 1995-05-09 International Business Machines Corporation Method and system for controlling public access to a plurality of data objects within a data processing system
US5388196A (en) * 1990-09-07 1995-02-07 Xerox Corporation Hierarchical shared books with database
US5132900A (en) * 1990-12-26 1992-07-21 International Business Machines Corporation Method and apparatus for limiting manipulation of documents within a multi-document relationship in a data processing system
JP3274151B2 (ja) * 1991-05-13 2002-04-15 株式会社東芝 分散ファイルシステム
JP3303926B2 (ja) * 1991-09-27 2002-07-22 富士ゼロックス株式会社 構造化文書分類装置及び方法
US5423034A (en) * 1992-06-10 1995-06-06 Cohen-Levy; Leon Network file management with user determined hierarchical file structures and means for intercepting application program open and save commands for inputting and displaying user inputted descriptions of the location and content of files
US5649099A (en) * 1993-06-04 1997-07-15 Xerox Corporation Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
JP3053153B2 (ja) * 1993-09-20 2000-06-19 株式会社日立製作所 文書管理システムのアプリケーション起動方法
JP2912840B2 (ja) * 1994-12-07 1999-06-28 富士通株式会社 ファイル管理システム
US5696898A (en) * 1995-06-06 1997-12-09 Lucent Technologies Inc. System and method for database access control
US5708780A (en) * 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5708709A (en) * 1995-12-08 1998-01-13 Sun Microsystems, Inc. System and method for managing try-and-buy usage of application programs
US5778367A (en) * 1995-12-14 1998-07-07 Network Engineering Software, Inc. Automated on-line information service and directory, particularly for the world wide web
US5745750A (en) * 1995-12-15 1998-04-28 International Business Machines Corporation Process and article of manufacture for constructing and optimizing transaction logs for mobile file systems
US5794230A (en) * 1996-03-15 1998-08-11 Microsoft Corporation Method and system for creating and searching directories on a server
US5727156A (en) * 1996-04-10 1998-03-10 Hotoffice Technologies, Inc. Internet-based automatic publishing system

Also Published As

Publication number Publication date
BR9800850A (pt) 1999-11-23
US5930801A (en) 1999-07-27
DE69835845D1 (de) 2006-10-26
JP4008089B2 (ja) 2007-11-14
EP0863453A1 (de) 1998-09-09
BR9800850B1 (pt) 2011-08-23
JPH113265A (ja) 1999-01-06
EP0863453B1 (de) 2006-09-13

Similar Documents

Publication Publication Date Title
DE69835845T2 (de) Umgebung mit zwischen Mehreren geteilten Daten in der jede Datei unabhängige Sicherheitseigenschaften hat
DE60120822T2 (de) Meta-Dokument und Verfahren zum Verwalten von Meta-Dokumenten
DE69729926T2 (de) Netzwerkbrowser
DE10052313B4 (de) Verfahren und Vorrichtung zur Beschränkung des freien Verweisens (Hyperlinking) auf Webseiten der ursprünglichen Inhaltserzeuger (Content producers) durch Internet-Inhaltsverteiler (Content distributors)
DE19718834B4 (de) Navigation in Hypermedien unter Verwendung weicher Hyperlinks
DE69736748T2 (de) Editierumgebung für objektmodelle und verfahren zu deren anwendung
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE60022767T2 (de) Mehrpunkten dateibank synchronisierungsprotokoll um datenverfalschung zu vermeiden.
DE10042601B4 (de) Sprache für XML-Server-Seiten
DE60319229T2 (de) Verfahren und system zur erweiterung der api eines dateisystems
DE69833033T2 (de) Verfahren und system um auf information in einem netzwerk zuzugreifen
DE60038707T2 (de) Internet-Schnittstellensystem
DE69636869T2 (de) Server mit automatischer Menüladefunktion
DE202008018623U1 (de) Steuerung der Kommunikation innerhalb eines Containerdokuments
DE60003278T2 (de) Hierarchische Auflösung von Adressen in einem Datennetzwerk
DE10122197A1 (de) Verfahren und System zum Zugreifen auf Information auf einem Netzwerk unter Verwendung von Nachrichten-Verknüpfungsfunktionen mit Schatten-Rückruffunktionen
DE102013222384A1 (de) Sicherheits-Screening auf Kontextgrundlage für Zugriff auf Daten
DE10051021A1 (de) System, Verfahren und Computerprogramm zur Veröffentlichung interaktiver Web-Inhalte in einer statisch verknüpften Web-Hierarchie
EP1311989A2 (de) Verfahren zur automatischen recherche
DE10135444A1 (de) Verfahren für die Neuausrichtung der Quelle eines in einem HTML-Dokument dargestellten Datenobjekts
DE112019005881T5 (de) Kryptografische überprüfung von datenbanktransaktionen
DE602004013397T2 (de) Verfahren und Apparat zum Verschieben von Daten zwischen Speichersystemen
DE60104545T2 (de) Adressieren von fernen datenobjekten über ein rechnernetzwerk
CA2356846A1 (en) Generalized multi-interfaced extensible content management and delivery system, and on-line calendar
DE112019005879T5 (de) Indizes für nicht materialisierte ansichten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 863453

Country of ref document: EP

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE