DE69403367T2 - Verfahren und Vorrichtung zur Objektdurchquerung die für einen strukturierten Speicher aus verbundenen Objekten geeignet sind - Google Patents
Verfahren und Vorrichtung zur Objektdurchquerung die für einen strukturierten Speicher aus verbundenen Objekten geeignet sindInfo
- Publication number
- DE69403367T2 DE69403367T2 DE69403367T DE69403367T DE69403367T2 DE 69403367 T2 DE69403367 T2 DE 69403367T2 DE 69403367 T DE69403367 T DE 69403367T DE 69403367 T DE69403367 T DE 69403367T DE 69403367 T2 DE69403367 T2 DE 69403367T2
- Authority
- DE
- Germany
- Prior art keywords
- traversal
- sub
- objects
- access
- list
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 84
- 230000015654 memory Effects 0.000 title description 14
- 230000004044 response Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 21
- 238000007726 management method Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 239000003550 marker Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf eine Objektdurchquerungsvorrichtung zum Durchqueren eines Objektes in einem Computer über einen strukturierten Speicher, der durch verbundene Objekte gebildet wird, etwa ein Dateisystem, einen virtuellen Speicherraum und ein Datenbankensystem, das in Computern verwendet wird. Außerdem bezieht sich die vorliegende Erfindung auf ein Verfahren zur Objektdurchquerung zum Durchqueren eines Objektes in einem Computer.
- Hier stellt der Begriff "Objekt", der in dieser Spezifikation verwendet wird, irgendeine Sammlung von Daten dar, einschließlich nicht nur Dateien und Programme, sondern auch verschiedener Strukturen für Operationen zur zeitweiligen Verwendung im Laufe der Ausführung von Programmen.
- Ebenfalls kann eine Vielzahl von Objekten über Verbindungen miteinander in Beziehung stehen und kann gemeinsam als ein anderes Objekt behandelt werden. Im Fall des Betrachtens einer Vielzahl von Objekten zusammen als ein einzelnes Objekt können jeweilige Objekte, die das einzelne Objekt bilden, Subobjekte genannt werden.
- Herkömmlich bekannte Verfahren zur Objektdurchquerung über eine Vielzahl von verbundenen Objekten schließen ein Verfahren zum sequentiellen Verfolgen der Verbindungen ein, wie in einem Hypertextsystem, und ein Verfahren zum Wiedergewinnen und Darstellen einer relevanten Objektgruppe für einen spezifizierten Namen, wie in einem Dateisystem für einen Computer. Außerdem sind ebenfalls ein Verfahren zum Beschränken von zugreifbaren Objekten abhängig von Benutzern und ein Verfahren zum zeitweiligen Ändern eines Zugriffsrechtes bekannt.
- Außerdem ist es bekannt, daß es möglich ist, zugreifbare Objekte allgemein darzustellen und eine Vielzahl von verbundenen Objekten als kontinuierliche Daten durch Kombinieren dieser Verfahren auszulesen.
- Andererseits wird seit kurzem versucht, diese herkömmlich bekannten Verfahren zu kombinieren, in welchen zur Zeit der Konstruktion eines großen Objektes durch hierarchisches Kombinieren einer Vielzahl von Objekten, jedem Subobjekt ein Zugriffsrechtsdatum gegeben wird, und eine Prozedur zum Durchführen eines Zugriffes durch variierende Parameter verändert wird, um ein einzelnes kombiniertes Objekt darzustellen, als eine Anzahl von verschiedenen Typen von kombinierten Objekten zu erscheinen. Diese Idee wird nun detaillierter beschrieben.
- Hier wird eine beispielhafte Situation zur Erläuterung herangezogen, in welcher Herr Takahashi eine Verzeichnisdatei für Mitglieder erzeugt, die zu einer bestimmten Gruppe A gehören.
- Fig. 1 zeigt einen Zustand, in welchem das Verzeichnis von Herrn Takahashi als ein Objekt 121 erzeugt wird. In dieser Fig. 1 ist dieser Verzeichnisdatei kein Dateiname zugewiesen, jedoch kann der Dateiname an diesem Punkt zugewiesen werden, falls gewünscht.
- In diesem Objekt 121 der Fig. 1 zeigt ein Feld 1211 eine Eigentümer- ID für einen Eigentümer dieses Objektes 121, wobei eine Zahl "128", die in diesem Eigentümer-ID-Feld 1211 registriert ist, in diesem Beispiel Herrn Takahashi darstellt, wie in einem Eintrag 1311 auf einer ID-Tabelle 131, die in Fig. 2 gezeigt ist, angezeigt ist, während ein Feld 1212 eine Gruppen-ID für eine Gruppe anzeigt, zu welcher dieses Objekt 121 gehört, wobei eine Zahl "320", die in diesem Gruppen-ID-Feld 1212 registriert ist, in diesem Beispiel die Gruppe A darstellt, wie in einem Eintrag 1312 in der in Fig. 2 gezeigten ID-Tabelle 131 angezeigt ist.
- Ein Feld 1213 zeigt die Zugriffsrechte an, die dem Eigentümer dieses Objektes 121 zugewiesen sind, wobei RD-, WR- und EX- Felder Zugriffsrechte für Lesen, Schreiben bzw. Ausführung anzeigen. In diesem Fall ist dieses Objekt 121 Daten und kein Programm, so daß es nicht ausgeführt werden kann. Deshalb hat das EX-Feld einen Wert "0", während der Eigentümer dieses Objektes 121 dieses Objekt 121 sicherlich lesen oder schreiben kann, so daß die RD- und WR-Felder die Werte "1" haben.
- Ein Gebiet 1214 bezeichnet die Zugriffsrechte für dieses Objekt 121 bezüglich der Mitglieder der Gruppe A. In diesem Fall ist das Objekt 121 sicherlich für die Mitglieder der Gruppe A lesbar, weil es die Daten sind, die diese Gruppe A betreffen, so daß das RD-Feld einen Wert "1" hat, jedoch hat das WR-Feld einen Wert "0", um die Daten dieses Objektes 121 zu schützen, während das EX-Feld einen Wert "0" hat, aus demselben Grund wie in dem Feld 1213.
- Ein Feld 1215 bezeichnet die Zugriffsrechte für dieses Objekt 121 bezüglich derjenigen, die nicht zur Gruppe A gehören (Nichtmiglieder) . In diesem Fall ist das Verzeichnis der Gruppe geheim und sollte den Nichtmitgliedern nicht offenbart werden, so daß das RD-Feld einen Wert "0" hat, während die WR- und EX-Felder aus demselben Grund wie in dem Feld 1214 die Werte "0" haben.
- Ein Feld 1216 bezeichnet die tatsächlichen Daten des Verzeichnisses. Hier kann anstelle der Registrierung der eigentlichen Daten selbst in diesem Gebiet 1216, ein Zeiger auf die Daten oder eine Block-ID eines Speicherblocks, der die Daten speichert, registriert werden, falls gewünscht.
- Als nächstes wird von Herrn Takahashi zum Zweck der Verwaltung dieser Verzeichnisdatei der Fig. 1, ein in Fig. 3 gezeigtes Objekt 141 zum Registrieren von Kommentaren erzeugt.
- In diesem Objekt 141 der Fig. 3 bezeichnet ein Feld 1411 die Eigentümer-ID für Herrn Takahashi in diesem Beispiel, und ein Feld 1412 bezeichnet eine Gruppen-ID für eine Gruppe, zu welcher dieses Objekt 141 gehört, wobei eine Zahl "320", die für diese Gruppen ID 1412 registriert ist, in diesem Beispiel die Gruppe A darstellt, wie in einem Eintrag 1312 in der in Fig. 2 gezeigten ID-Tabelle 131 angezeigt ist.
- Ein Feld 1413 bezeichnet die Zugriffsrechte, die dem Eigentümer dieses Objektes 141 zugewiesen sind, ähnlich dem Feld 1213 in Fig. 1. Die Felder 1414 und 1415 bezeichnen die Zugriffsrechte für dieses Objekt 141 bezüglich der Mitglieder bzw. der Nichtmitglieder der Gruppe A. In diesem Fall sollen die Kommentare dieses Objektes 141 nicht von den Mitgliedern und nicht von den Nichtmitgliedern der Gruppe A eingesehen werden können, so daß alle Felder einschließlich der RD- Felder in diesen Feldern 1414 und 1415 Werte "0" haben. Ein Feld 1416 bezeichnet die eigentlichen Kommentare dieses Objektes 141.
- Hier ist die Zuweisung der verschiedenen Zugriffsrechte für verschiedene Objekte, wie im Fall der Objekte 121 und 141 dieses Beispiels, herkömmlich bekannt. Der oben erwähnte, jüngste Versuch zielt ferner darauf ab, diese Vielzahl von Objekten so zu behandeln, als wenn sie lediglich eine Datei wären, durch Erzeugen eines weiteren, in Fig. 4 gezeigten Objektes 151, welches sich auf das Objekt 121 mit dem Objekt 141 bezieht und für diese Objekte 121 und 141 ein einzelnes, kombiniertes Objekt darstellt.
- In diesem Objekt 151 der Fig. 4 zeigt ein Feld 1511 einen Objektnamen an, der in einem gewöhnlichen Dateisystem einem Dateinamen entspricht, und der in diesem Beispiel "Verzeichnis der Gruppe A" ist. Die Felder 1512 und 1513 sind die Eigentümer-ID und die Gruppen-ID, ähnlich den Feldern 1411 und 1412 in Fig. 3.
- Ein Feld 1514 bezeichnet die Zugriffsrechte, die dem Eigentümer dieses Objektes 151 zugewiesen sind, ähnlich dem Feld 1413 in Fig. 3, außer daß das WR-Feld einen Wert "0" hat, weil keine Notwendigkeit besteht, die Struktur dieses Objektes 151 selbst zu ändern, selbst wenn die Daten und die Kommentare für das Verzeichnis zukünftig geändert werden. Die Gebiete 1515 und 1516 bezeichnen die Zugriffsrechte für dieses Objekt 151 bezüglich der Mitglieder bzw. der Nichtmitglieder der Gruppe A. In diesem Fall gibt es keinen Grund dafür zu verbergen, daß diese Datei "Verzeichnis der Gruppe A" das Verzeichnis selbst umfaßt, und die Kommentare von irgendwem, so daß die RD-Felder die Werte "1" in diesen Feldern 1515 und 1516 haben.
- Ein Feld 1517 ist ein Bit, das die Gegenwart oder Abwesenheit von Subobjekten anzeigt, welches in diesem Beispiel einen Wert "1" hat, weil Subobjekte vorhanden sind, während ein Feld 1518 eine Anzahl solcher Subobjekte anzeigt, die in diesem Beispiel als 2 angezeigt ist. Die Gebiete 1519 und 1520 bezeichnen IDs dieser zwei Subobjekte, die in diesem Beispiel die IDs der Subobjekte 121 bzw. 141 sind.
- Durch Konstruieren dieser Objekte 121, 141 und 151, wie oben beschrieben, ist es, wenn Herr Takahashi (ID: "128") das Objekt 151 liest, das die Datei "Verzeichnis der Gruppe A" darstellt, möglich zu erfahren, daß es das Subobjekt 121 gibt, das das Verzeichnis selbst registriert, und das Subobjekt 141, das die Kommentare registriert, und Herr Takahashi kann auf diese Subobjekte 121 und 141 zugreifen, weil ihm die Zugriffsrechte für diese zugewiesen sind. Wenn andererseits irgendein Mitglied der Gruppe A (ID: "320") dieses Objekt 151 mit dem Namen "Verzeichnis der Gruppe A" liest, kann der Inhalt des Subobjektes 121 gelesen werden, welches das Verzeichnis selbst registriert, jedoch kann der Inhalt des Subobjektes 141, welches die Kommentare registriert, nicht gelesen werden, weil den Mitgliedern der Gruppe A kein Zugriffsrecht für dieses Subobjekt 141 zugewiesen ist.
- Hier ist das Zugriffsrecht zum Lesen dieses Objektes 151 ebenfalls den Nichtmitgliedern zugewiesen, so daß irgendein Nichtmitglied ebenfalls die Subobjekte 121 und 141 durch Verfolgen der Verbindungen von diesem Objekt 151 durchqueren kann, jedoch sind die Zugriffsrechte zum Lesen dieser Subobjekte 121 und 141 den Nichtmitgliedern nicht zugewiesen, so daß der Inhalt dieser Subobjekte 121 und 141 von irgendeinem Nichtmitglied nicht gelesen werden kann, und deshalb das Verzeichnis geheimgehalten werden kann.
- Auf diese Weise wird es möglich, abhängig von den Benutzern alle oder einen Teil der Objekte zugreifbar zu machen. Jedoch ist es in der oben beschriebenen Weise unmöglich, flexiblere Darstellungen zu realisieren, worin die Datei "Verzeichnis der Gruppe A" als eine Datei mit Kommentaren für Herrn Takahashi erscheint, während diese selbe Datei als eine einfache Datei ohne Kommentare für die Mitglieder der Gruppe A erscheint.
- Selbst wenn solche flexiblere Darstellungen irgendwie realisierbar sind, verbleibt immer noch das folgende Problem zu lösen.
- Es sei angenommen, daß es ein Programm gibt, das in der Lage ist, die Daten des Verzeichnisses dadurch zu drucken, daß es sie in ein geeignetes Tabellenformat formatiert, das ohne Wissen über die Gegenwart der Kommentare programmiert ist, die dem Verzeichnis beigefügt sind. Wenn dieses Programm den Mitgliedern der Gruppe A verfügbar gemacht wird, und Herr Takahashi dieses Programm ausführt, werden diese Kommentare, weil Herr Takahashi die Zugriffsrechte nicht nur für das Verzeichnis selbst, sondern auch für die Kommentare hat, die von dem Programm selbst nicht benötigt werden, zusammen mit dem Verzeichnis selbst ausgelesen, so daß dieses Programm wegen der Gegenwart der unerwarteten Daten nicht ordnungsgemäß arbeiten kann. Das heißt, selbst wenn Herr Takahashi versucht, die Datei "Verzeichnis der Gruppe A" unter Verwendung der Zugriffsrechte zu lesen, die den Mitgliedern der Gruppe A zugewiesen sind, wird der Lesevorgang aufgrund der stärkeren Zugriffsrechte, die Herrn Takahashi zugewiesen sind, für alle Objekte ausgeführt, für welche Herr Takahashi die Zugriffsrechte hat.
- Eine der weit verbreiteten Lösungen für diese Art von problematischer Situation ist das sogenannte SUID (sheet user identification) Verfahren, das in US 4 135 240 offenbart ist, welches die Zugriffsrechte zur Zeit der Ausführung des Programmes ändert. Eigentlich dient dieses SUID-Verfahren zum Andern der Rechte, die der Eigentümer-ID zugewiesen sind, so daß es nicht ohne weiteres auf das obige Problem anwendbar ist, jedoch kann dieses SUID-Verfahren modifiziert werden, um das obige Problem wie folgt zu lösen.
- Fig. 5 zeigt ein Objekt 161, welches ein gewöhnliches Programm zum Formatieren eines Verzeichnisses registriert, während Fig. 6 ein modifiziertes Objekt 171 zeigt, welches das gleiche Programm zum Verzeichnisformatieren registriert, wo den identischen Feldern dieser Objekte 161 und 171 in den Fig. 5 und 6 die identischen Bezugsziffern gegeben sind.
- In diesem Objekt 161 der Fig. 5 ist eine SAID (Set Address ID) 1611 unspezifiziert, was impliziert, daß das Programm, das in diesem Objekt 161 registriert ist, in normaler Weise arbeitet. Die Felder 1613 und 1614 sind die Eigentümer-ID und die Gruppen-ID, ähnlich den Feldern 1411 und 1412 in Fig. 3. Die Felder 1615, 1616 und 1617 bezeichnen die Zugriffsrechte für den Eigentümer, das Mitglied der Gruppe A bzw. der Nichtmitglieder, wobei das Ausführungsrecht auf den Eigentümer und das Mitglied der Gruppe A beschränkt ist, während die Lese- und Schreibrechte nur auf den Eigentümer beschränkt sind. Ein Gebiet 1618 registriert das Ausführungsprogramm selbst, welches das Objekt 151 der Fig. 4 als die Daten verwendet.
- Wenn dieses Ausführungsprogramm 1618 von irgendeinem Mitglied der Gruppe A außer Herrn Takahashi ausgeführt wird, kann das erwartete Ergebnis erhalten werden. Wird jedoch dieses Ausführungsprogramm 1618 von Herrn Takahashi ausgeführt, kann der ordnungsgemäße Ablauf des Programmes nicht erhalten werden, weil ebenfalls die nicht erwarteten Daten des Objektes 141 zusammen mit den erwarteten Daten des Objektes 121 ausgelesen werden.
- Im Gegenteil unterscheidet sich das modifizierte Objekt 171 der Fig. 6 von dem Objekt 161 der Fig. 5 darin, daß eine SAID 1612 eine ID "320" der Gruppe A hat. Wenn dieses Objekt 171 von Herrn Takahashi ausgeführt wird, werden als Ergebnis die ursprünglichen Zugriffsrechte, die Herrn Takahashi als einem Ausführenden dieses Programms zugewiesen sind, aufgegeben, und nur die Rechte, die der durch diese ID "320" angezeigten Gruppe A zugewiesen sind, registriert für die SAID 1612, werden für Herrn Takahashi verfügbar.
- Dieses Objekt 171 weist das Ausführungsprogramm 1619 auf, in welchem das Objekt 151 und die Subobjekte 121 und 141 unter Verwendung der der Gruppe A zugewiesenen Zugriffsrechte zugegriffen werden, so daß dieselben Daten zugreifbar sind, unabhängig davon, wer dieses Programm ausführt, und das erwartete Ergebnis kann von diesem Programm 1619 von irgendeinem Mitglied der Gruppe A einschließlich Herrn Takahashi erhalten werden.
- Somit kann das oben beschriebene, herkömmliche Verfahren die Objektdurchquerung unter Verwendung eines speziellen Zugriffsrechtes dafür, das Programm mit den von dem Programm zu verwendenden Daten in Zusammenhang zu bringen, realisieren, jedoch bleibt in diesem herkömmlichen Verfahren das Recht, die SAID dem Programm beizufügen, unsicher. Wenn nämlich die SAID dem Programm sehr leicht zugefügt werden kann, ist es möglich, die optionalen Zugriffsrechte als Ergebnis der Benutzung dieses Programm zu erhalten, so daß die jedem Objekt zugesprochenen Zugriffsrechte bedeutungslos werden.
- Aus diesem Grund ist es notwendig, das Recht, die SAID dem Programm zuzufügen, auf andere Weise zu verwalten, jedoch gab es bisher keine effektive Lösung für dieses Problem, und dieses Recht, die SAID dem Programm zuzufügen, wurde nur dem privilegierten Benutzer, genannt Stamm (root), zugewiesen.
- Diese Zuweisung des Rechtes, die SAID dem Programm zuzufügen, nur an den privilegierten Benutzer, stellt eine wesentliche Einschränkung dar, weil das Recht, die Zugriffsrechte für das Objekt einzustellen, prinzipiell dem Eigentümer des Objektes gegeben werden sollte. Außerdem werden bei dieser Zuweisung die Zugriffsrechte, welche den Objekten selbst zugeschrieben worden sein sollten, nur durch die Einstellung des Programms gesteuert, welches mit den Objekten selbst nicht in Beziehung steht, so daß es eine sehr unpraktische Einschränkung darstellt, die nicht wirklich den Schutzmechanismus realisieren kann, der für die Objekte erwartet wird.
- Wie beschrieben, sind in dem herkömmlich vorhandenen Verfahren nur die Zugriffsrechte zum Konditionieren der Objektdurchquerung verfügbar, so daß es schwierig war, die Weise der Objektdurchquerung gemäß verschiedenen Arten der Benutzung der Objekte zu ändern, und es war unmöglich, die geeignete Weise der Objektdurchquerung in jedem Objekt selbst zu spezifizieren.
- Außerdem war es selbst im Fall des Zugreifens auf eine Gruppe von Objekten als Ganzes durch Betrachten von diesen als einzelne Datei, solange nur die Zugriffsrechte verwendet werden, unmöglich zu spezifizieren, welche Weise von Zugriffen tatsächlich in den Objekten selbst vorgenommen werden.
- Aus UNIX System Administration Handbook von Evi Nemeth et al, Prentic Hall, Englewood Cliffs, New Jersey, 1989, ist es bekannt, Zugriffsrechte bereitzustellen, die spezifizieren, welche Operationen an einer Datei von wem durchgeführt werden können. Diese Zugriffsrechte zeigen an, ob es möglich ist, auf das Objekt für den Zweck einer bestimmten Operation (Lesen, Schreiben, Ausführen) zuzugreifen.
- Aus EP-A-0 398 645 ist es bekannt, Identifikatoren mit Benutzern zu assoziieren, um ihnen auf Anfrage zu erlauben, erkannt zu werden und auf Objekte gemäß dem ihnen zugewiesenen Recht, wie durch ihre IDs identifiziert, zuzugreifen.
- Deshalb ist es eine Aufgabe der vorliegenden Erfindung, ein Objektdurchquerungsverfahren bereitzustellen, in welchem die Durchquerungsprozedur und die Durchquerungsrechte flexibel in jedem Objekt, erzeugt von einem allgemeinen Benutzer, unabhängig von der Operation des Anwendungsprogramms spezifiziert werden können.
- Diese Aufgabe wird gelöst, wie in den Ansprüchen 1 und 13 definiert ist.
- Gemäß einem Aspekt der vorliegenden Erfindung ist eine Objektdurchquerungsvorrichtung zum Durchqueren eines Objektes vorgesehen, das aus einer Vielzahl von Subobjekten gebildet ist, mit: Speichereinrichtungen zum Speichern des Objektes mit einer Zuweisung eines Durchquerungsrechtes für jedes Subobjekt, die anzeigt, wem erlaubt ist, jedes Subobjekt zu durchqueren; Durchquerungs-ID-Listeneinrichtungen zum Spezifizieren von wenigstens einer Durchquerungs-ID zum Identifizieren eines Benutzers, der eine Anfrage stellt, auf das Objekt zuzugreifen; Objektdurchquerungs- Auswahleinrichtungen zum Auswählen der zu durchquerenden Objekte zur Zeit des Durchquerens des Objektes als Reaktion auf die Anfrage des Benutzers, der durch die Durchquerungs- IDs identifiziert wird, gemäß dem Durchquerungsrecht, das dem durch die Durchquerungs-IDs identifizierten Benutzer in dem Objekt zugewiesen ist; und Ausgabeeinrichtungen zum Ausgeben der Subobjekte, die von der Objektdurchquerungs- Auswahleinrichtung ausgewählt worden sind, als Ergebnis des Zugriffs auf das Objekt.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren zur Objektdurchquerung zum Durchqueren eines Objektes vorgesehen, das aus einer Vielzahl von Subobjekten gebildet ist, mit den Schritten: Speichern des Objektes mit einer Zuweisung eines Durchquerungsrechtes für jedes Subobjekt, welches anzeigt, wem erlaubt ist, jedes Subobjekt zu durchqueren; Spezifizieren von wenigstens einer Durchquerungs-ID zum Identifizieren eines Benutzers, der eine Anfrage stellt, auf das Objekt zuzugreifen; Auswählen der zu durchquerenden Subobjekte zur Zeit der Durchquerung des Objektes als Reaktion auf die Anfrage von dem von den Durchquerungs-IDs identifizierten Benutzer gemäß dem Durchquerungsrecht, das dem von den Durchquerungs-IDs identifizierten Benutzer in dem Objekt zugewiesen ist; und Ausgeben der Subobjekte, die in dem Auswahlschritt ausgewählt worden sind, als Ergebnis des Zugriffes auf das Objekt.
- Andere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich aus der folgenden Beschreibung im Zusammenhang mit den begleitenden Zeichnungen.
- Fig. 1 ist ein Diagramm eines Objektes, das ein Verzeichnis in einem herkömmlichen Beispielsfall darstellt.
- Fig. 2 ist ein Diagramm einer ID-Liste, die in dem herkömmlichen Beispielsfall verwendet wird.
- Fig. 3 ist ein Diagramm eines Objektes, welches Kommentare für das Verzeichnis der Fig. 1 in dem herkömmlichen Beispielsfall darstellt.
- Fig. 4 ist ein Diagramm eines Objektes zum Setzen von Objekten der Fig. 1 und 3 in dem herkömmlichen Beispielsfall in Beziehung.
- Fig. 5 ist ein Diagramm eines Objektes zum Registrieren eines Programms in dem herkömmlichen Beispielsfall.
- Fig. 6 ist ein Diagramm eines modifizierten Objektes zum Registrieren eines Programms in dem herkömmlichen Beispielsfall.
- Fig. 7 ist ein Blockdiagramm eines ersten Ausführungsbeispiels einer Objektdurchquerungsvorrichtung gemäß der vorliegenden Erfindung.
- Fig. 8 ist ein Diagramm eines Beispiels einer verbundenen Objektstruktur, die von der Vorrichtung der Fig. 7 gehandhabt wird.
- Fig. 9 ist ein Diagramm einer Datenstruktur für ein Objekt in dem Beispiel der verbundenen Objektstruktur der Fig. 8.
- Fig. 10 ist ein Diagramm der Zugriffsrechtdaten in der Datenstruktur der Fig. 9.
- Fig. 11 ist ein Diagramm der Zugriffsrechtdaten in der Datenstruktur der Fig. 9.
- Fig. 12 ist ein Diagramm eines Subobjektes des Objektes, dessen Datenstruktur in Fig. 9 gezeigt ist.
- Fig. 13 ist ein Diagramm eines Beispiels einer Anfangseinstellung der Durchquerungs-ID-Liste für einen Benutzer (Erzeuger) in der Vorrichtung der Fig. 7.
- Fig. 14 ist ein Diagramm eines Beispiels einer Anfangseinstellung der Durchquerungs-ID-Liste für einen weiteren Benutzer (Mitglied) in der Vorrichtung der Fig. 7.
- Fig. 15 ist ein Diagramm eines Beispiels einer Anfangseinstellung der Durchquerungs-ID-Liste für noch einen weiteren Benutzer (Nichtmitglied) in der Vorrichtung der Fig. 7.
- Fig. 16 ist ein Flußdiagramm eines Vorgangs zum Auswählen von zu durchquerenden Subobjekten in der Vorrichtung der Fig. 7.
- Fig. 17 ist ein Blockdiagramm eines zweiten Ausführungsbeispiels einer Objektdurchquerungsvorrichtung gemäß der vorliegenden Erfindung.
- Fig. 18 ist ein Diagramm eines Beispiels einer geänderten Einstellung der Durchquerungs-ID-Liste für einen Benutzer (Erzeuger) in der Vorrichtung der Fig. 17.
- Fig. 19 ist ein Flußdiagramm eines Vorgangs zum Auswählen von durchquerenden Subobjekten und Ändern der Durchquerungs-ID-Liste in der Vorrichtung der Fig. 17 in einer Situation.
- Fig. 20 ist ein Flußdiagramm eines Vorgangs zum Auswählen von zu durchquerenden Subobjekten und Ändern der Durchquerungs-ID-Liste in der Vorrichtung der Fig. 17 in einer anderen Situation.
- Fig. 21 ist ein Blockdiagramm eines dritten Ausführungsbeispiels einer Objektdurchquerungsvorrichtung, welche ein elektronisches Postwerkzeug gemäß der vorliegenden Erfindung eingliedert.
- Fig. 22 ist eine Darstellung eines in der Vorrichtung der Fig. 21 als Post zu behandelnden Dokumentes.
- Fig. 23 ist ein Diagramm einer Datenstruktur für das Objekt, das in der Vorrichtung der Fig. 21 das Dokument der Fig. 22 darstellt.
- Fig. 24 ist ein Diagramm eines Beispiels einer Anfangseinstellung der Durchquerungs-ID-Liste für einen Benutzer (Erzeuger) in der Vorrichtung der Fig. 21.
- Fig. 25 ist ein Diagramm eines Beispiels einer Anfangseinstellung der Durchquerungs-ID-Liste für einen anderen Benutzer (Mitglied) in der Vorrichtung der Fig. 21.
- Bezugnehmend nun auf Fig. 7 wird detailliert das erste Ausführungsbeispiel des Verfahrens und der Vorrichtung zur Objektdurchquerung gemäß der vorliegenden Erfindung beschrieben.
- Fig. 7 zeigt eine Gesamtkonfiguration einer Objektdurchquerungsvorrichtung dieses ersten Ausführungsbeispiels, welches die folgenden Elemente enthält.
- Eine virtuelle Speichermanagementeinheit 1 ist ein Manager zur Erleichterung der Verwaltung von Eingaben und Ausgaben in und aus Speichervorrichtungen. Hier verwaltet die virtuelle Speichermanagementeinheit 1 Objekte 11, die virtuell in einem virtuellen Speicherraum dieser Vorrichtung gespeichert sind, obwohl es für die vorliegende Erfindung nicht wesentlich ist, daß diese Objekte 11 virtuell gespeichert werden, und irgendein bekanntes Speichermanagementverfahren anstelle dessen verwendet werden kann. Außerdem können die Objekte 11 diejenigen einschließen, die miteinander über eine Verbindung 103 in Bezug stehen.
- Die von dieser virtuellen Speichermanagementeinheit 1 verwalteten Objektdaten werden tatsächlich in einer physikalischen Speichervorrichtung 2 oder einer sekundären Speichervorrichtung 3, etwa einem Festplattenlaufwerk einer CD-ROM oder einer IC-Karte gespeichert. Hier können die Objektdaten im Fall der semipermanenten Speicherung der Daten als dauerhafte Objekte in der sekundären Speichervorrichtung 3 gespeichert werden, und im Fall der Verwendung der sekundären Speichervorrichtung 3 als Swappgebiet für die physikalische Speichervorrichtung 2. Die sekundäre Speichervorrichtung 3 kann auch in dem Fall verwendet werden, daß die Objektdaten aus der Vorrichtung herausgetragen werden. Ebenfalls ist es möglich, die physikalische Speichervorrichtung 2 unter Verwendung von Cachespeichern oder anderen Einrichtungen in einer allgemein bekannten Weise hierarchisch zu konstruieren.
- Die virtuelle Speichermanagementeinheit 1 ist ebenfalls mit einer I/E-Vorrichtung 4 verbunden, die in dem Fall verwendet wird, daß die Objektdaten behandelt werden, die nicht tatsächlich in dieser Vorrichtung gespeichert sind und über eine Telefonleitung, Funk oder ein Netzwerk übertragen werden, als wenn sie immer in einem virtuellen Speicherraum dieser Vorrichtung vorhanden wären. Dieses kann in allgemein bekannter Weise zum Verwalten eines einzelnen virtuellen Speichers realisiert werden.
- Ein Prozessor 5 führt Programme aus, die in einer Programmspeichereinheit 6 gespeichert sind, um eine geeignete Datenverarbeitung an den Objektdaten durchzuführen, die von der virtuellen Speichermanagementeinheit 1 verwaltet werden. Dieser Prozessor 5 enthält gewöhnliche Prozessorelemente, wie etwa Register, die während der Ausführung der Anweisungen zeitweilig verwendet werden, einen Programmzähler zum Anzeigen einer Position der gegenwärtig ausgeführten Anweisung in der Programmspeichereinheit 6, einen Stackzeiger zum Anzeigen einer oberen Position von Stackdaten, usw., so daß der Prozessor 5 die Programme durch Manipulieren von Daten in diesen Prozessorelementen ausführen kann, während er das Lesen und Schreiben erforderlicher Daten bezüglich der virtuellen Speichermanagementeinheit 1 anfordert.
- Eine Zugriffsanforderungs-Zulassungseinheit 7 läßt Zugriffsanforderungen von dem Prozessor 5 zu, einschließlich verschiedener Datenverarbeitungsanforderungen, etwa die zum Datenlesen, Datenschreiben und Datenlöschen. Eine Argumenterfassungseinheit 8 erfaßt die Argumente einer jeden Zugriffsanforderung, die von der Zugriffsanforderungs- Zulassungseinheit 7 zugelassen wird, während eine Zugriffsanforderungs-Typbeurteilungseinheit 9 einen Zugriffstyp einer jeden Zugriffsanforderung beurteilt, die von der Zugriffsanforderungs-Zulassungseinheit 7 zugelassen wird. Im Fall, daß die zugelassene Zugriffsanforderung von der Zugriffstyp-Beurteilungseinheit 9 als eine Objektleseanforderung beurteilt worden ist, wird die zugelassene Anforderung dann an eine Objektlese- Ausführungseinheit 10 übertragen, die detailliert im folgenden beschrieben wird, zusammen mit den Argumenten, die von der Argumenterfassungseinheit 8 erfaßt werden.
- Eine Durchquerungs-ID-Listenspeichereinheit 12 verwaltet eine Durchquerungs-ID-Liste, die im folgenden detailliert beschrieben wird, die für jede Verarbeitungslinie (thread) vorgesehen ist, oder von einer Vielzahl von Verarbeitungslinien geteilt werden kann. In gleicher Weise verwaltet eine Zugriffsrecht-Speichereinheit 13 Zugriffsrechte für die Objekte 11 bezüglich Benutzern.
- Jedes der Elemente dieser vorangehend beschriebenen Vorrichtung kann, falls gewünscht, mit einem speziellen Server zu seiner Verwaltung versehen sein.
- In der Objektlese-Ausführungseinheit 10 weist eine Zielobjekt-Wiedergewinnungseinheit 14 das Lesen eines Zielobjektes an, das von der Objektleseanfrage von der virtuellen Speichermanagementeinheit 1 spezifiziert wird, und speichert die Durchquerungsrecht-Datenliste für dieses Zielobjekt, die in den Objektdaten für dieses Zielobjekt enthalten ist, das von der virtuellen Speichermanagementeinheit 1 verwaltet wird, in einer Durchquerungsrecht-Datenlisten-Speichereinheit 15, während das wiedergewonnene Zielobjekt an eine Objektausleseeinheit 20 geliefert wird.
- Eine Durchquerungsrecht-Datenlisten-Erfassungseinheit 16 aquiriert die Durchquerungsrechtdatenliste für das Zielobjekt aus der Durchquerungsrecht-Datenlisten-Speichereinheit 15 und liefert sie an eine Durchquerungsobjekt-Auswahleinheit 19.
- Eine Durchquerungs-ID-Listen-Erfassungseinheit 17 aquiriert eine Durchquerungs-ID-Liste betreffend einen Prozess (auf den gegenwärtig zugegriffen wird) aus dem Durchquerungs-ID- Listenspeicher 12, während eine Zugriffsrechtverifizierungseinheit 18 verifiziert, ob die Zugriffsrechte für das Zielobjekt dem gegenwärtig zugegriffenen Prozeß zugewiesen sind oder nicht, gemäß der in der Zugriffsrecht-Speichereinheit 13 gespeicherten Information.
- Die Durchquerungsobjekt-Auswahleinheit 19 beurteilt geeignete, zu durchquerende Objekte gemäß der Information, die von der Durchquerungsrecht-Datenlisten-Erfassungseinheit 16 geliefert wird, der Durchquerungs-ID-Listen- Erfassungseinheit 17, und der Zugriffsrechtverifizierungseinheit 18, mittels der im folgenden zu beschreibenen Prozedur, während ebenfalls die Wiedergewinnung zusätzlich erforderlicher Objekte bei der Zielobjekt-Wiedergewinnungseinheit 14 angefordert wird.
- Die Objektausleseeinheit 20 erhält notwendige Abschnitte der Objektdaten, d.h. Daten für alle tatsächlich durchquerten Subjekte, die durch die wiederkehrenden Operationen der Elemente dieser Objektlese-Ausführungseinheit 10 aquiriert werden, und liest diese Daten als Reaktion auf die Objektleseanforderung an den Prozessor 5 aus.
- Fig. 8 zeigt das Beispiel einer Objektstruktur in diesem ersten Ausführungsbeispiel, worin eine Vielzahl von Objekten durch Verbindungen in Beziehung stehen, um eine Datei zu bilden, die Sinn macht.
- In diesem Fall wird ein Objekt 201, das ein Verzeichnis einer Gruppe A selbst darstellt, von einem Objekt 202 begleitet, das Kommentare von einem Verzeichniserzeuger darstellt, die dem Verzeichnis des Objektes 201 beigefügt sind. Diese zwei Objekte 201 und 202 sind zu einem kombinierten Objekt 204 mittels Verbindungen 203 verbunden, das ein Verzeichnis der Gruppe A darstellt, so daß ein Satz dieser Objekte 201, 202 und 204 und die Verbindungen 203 als Ganzes als das Verzeichnis 205 der Gruppe A angesehen werden kann.
- Andererseits ist einem Verzeichnis einer Gruppe B kein Kommentar beigefügt, so daß ein Objekt 206, das das Verzeichnis der Gruppe B selbst darstellt, allein ein Gesamtverzeichnis der Gruppe B ist. In gleicher Weise hat ein Verzeichnis einer Gruppe C ebenfalls keinen beigefügten Kommentar, so daß es mit einer ähnlichen Struktur dargestellt werden kann wie das Verzeichnis der Gruppe B, jedoch ist hier ein Objekt 207, das ein Verzeichnis der Gruppe C selbst darstellt, mit einem kombinierten Objekt 208 mittels einer Verbindung 203 verbunden, das ein Verzeichnis der Gruppe C darstellt, so daß ein Satz dieser Objekte 207 und 208 und die Verbindung 203 insgesamt als das Verzeichnis 209 der Gruppe C angesehen werden können, in Vorausschau einer Möglichkeit, daß später Kommentare hinzugefügt werden.
- Das Objekt 204 für das Verzeichnis der Gruppe A, das Objekt 206 für das Verzeichnis der Gruppe B und das Objekt 208 für das Verzeichnis der Gruppe C sind über Verbindungen 203 ebenfalls mit einem Objekt 210 verbunden, das allgemein ein Gruppenverzeichnis darstellt, so daß ein Satz dieser Objekte 205, 206, 209 und 210 und alle Verbindungen 203 insgesamt als allgemeine Vorstellung eines Gruppenverzeichnisses 200 angesehen werden.
- Diesen Objekten werden eindeutig identifizierbare IDs zugewiesen, und die ID für das Objekt 210 ist eingestellt, IDM zu sein, die IDs für die Objekte 204, 206 und 208 sind auf IDGA, IDGB bzw. IDGC eingestellt, die IDs für die Objekte 201 und 207 sind auf IDGA0 bzw. IDGC0 eingestellt, und die IDs für das Objekt 202 ist auf IDGAC in einem konkreten, im folgenden Beispiel eingestellt.
- Das Objekt 210 für das Gruppenverzeichnis weist eine Datenstruktur auf, wie in Fig. 9 gezeigt, die die folgenden Felder einschließt.
- Ein Feld 301 bezeichnet eine Objekt-ID dieses Objektes 210, während ein Feld 302 eine ID eines Erzeugers dieses Objektes 210 bezeichnet. Diese ID des Erzeugers entspricht einer ID eines Eigentümers in einem herkömmlichen Dateisystem, ist jedoch nicht auf eine Benutzer-ID beschränkt und kann von einer Gruppen-ID, einer Programm-Nummer oder einer Verarbeitungslinien-Nummer gegeben werden, falls gewünscht.
- Ein Feld 303 bezeichnet eine Zugriffsrecht-Datenliste, welche die definiert, die für dieses Objekt 210 die Zugriffsrechte haben, was allgemein in Form einer Datenliste ist. In diesem Beispiel ist die Zugriffsrecht-Datenliste in einer in Fig. 10 gezeigten Form gegeben, die drei Zugriffsrechtdaten 304, 305 und 306 einschließt.
- Hier hat der Erzeuger dieses Objektes 210 die Zugriffsrechte zum Lesen und Schreiben, jedoch wird das Zugriffsrecht für die Ausführung noch nicht vergeben, so daß die Zugriffsrechtdaten 304 für den Erzeuger (ID "128") Markierungen "R" und "W" zum Anzeigen der Zuweisung von Zugriffsrechten zum Lesen und Schreiben hat. In gleicher Weise haben die Zugriffsrechtdaten 305 eine Markierung "R" zum Anzeigen der Zuweisung des Lesezugriffsrechtes für die, die die Gruppenidee "320" bis "322" haben, während die Zugriffsrechtdaten 306 eine Markierung "R" zum Anzeigen der Zuweisung eines Lesezugriffsrechtes an ein spezielles Programm anzeigt, das durch "Programm-ID" identifiziert ist. Diese Zugriffsrechtdaten 306 zeigen an, daß das Lesezugriffsrecht dem Programm mit dieser "Programm-ID" zugewiesen ist, vorausgesetzt, daß das Ausführungsergebnis dieses Programms wahr ist.
- Hier wird angemerkt, daß durch Zuweisen der eindeutig identifizierbaren Idee ähnlich den Benutzer-Ids an die Programme und Verarbeitungslinien zusätzlich zu den Benutzern und Gruppen, es überflüssig wird, in Fig. 10 ganz links ein Feld vorzusehen, welches "ID" oder "Programm" anzeigt.
- Somit wird in diesem Beispiel der Zugriff auf dieses Objekt 210 nur erlaubt, wenn die Zuweisung des Zugriffsrechtes von einem dieser drei Zugriffsrechtdaten 304, 305 und 306 angezeigt wird. Dieses ist ein sehr einfaches Beispiel, und es können kompliziertere Zugriffsrechte durch logisches Kombinieren dieser Zugriffsrechte definiert werden.
- Ein Feld 307 bezeichnet eine Durchquerungsinformation für dieses Objekt 210, welche definiert, wie zu einer Zeit der Durchquerung dieses Objektes 210 Subobjekte durchquert werden. Allgemein kann irgendeine gewünschte Weise des Durchquerens durch Einstellen einer Programm-ID eines geeigneten Durchquerungs-Steuerungsprogramms in diesem Durchquerungs-Informationsfeld 307 realisiert werden. Hier werden nur einige typische Beispiele solch eines Durchquerungs-Steuerungsprogramms beschrieben.
- Eine Markierung "Alles", die in dem Feld 307 in Fig. 9 gesetzt ist, zeigt an, daß alle durchquerbaren Subobjekte durchquert werden sollten. Es werden nämlich alle Subobjekte, für welches die Durchquerungsrechte gegeben sind, als Reaktion auf diese Markierung sequentiell ausgelesen. Diese Markierung ist so vorgesehen, daß diejenigen, die zu einer Vielzahl von Gruppen gehören, eine Vielzahl von Gruppenverzeichnissen für eine Vielzahl von Gruppen, zu denen sie gehören, lesen können. In dem Fall, daß kein durchquerbares Subobjekt vorhanden ist, führt diese Markierung zu einem Fehler "Erlaubnis verweigert". In dieser Hinsicht ist es ebenfalls möglich, diese Markierung durch eine andere Markierung "alles ruhig" zu ersetzen, die den Inhalt des Gruppenverzeichnisses als leere Datei zeigt, wenn kein durchquerbares Subobjekt vorhanden ist, ohne daß ein Fehler bewirkt wird. Mit Ausnahme dieses Objektes betreffend den Fehler sind "alles" und "alles ruhig" identisch, so daß sie im folgenden nicht explizit unterschieden werden. Auch die Erläuterung des Fehlerbehandlungsvorganges, der im Fall der Verwendung von "alles" erforderlich ist, wird ausgelassen, weil bereits bekannt und für die vorliegende Erfindung nicht wesentlich.
- Als ein weiteres Beispiel eines Durchquerungs- Steuerprogrammes kann eine Markierung "nur eins" verwendet werden, so daß nur ein durchquerbares Subobjekt durchquert wird, während alle anderen durchquerbaren Subobjekte ignoriert werden, selbst wenn sie existieren. Auch diese Markierung bewirkt einen Fehler, wenn kein durchquerbares Subobjekt vorhanden ist. In dieser Hinsicht ist es ebenfalls möglich, das Auftreten eines Fehlers dadurch zu vermeiden, daß diese Markierung durch eine andere Markierung "nur einsruhig" ersetzt wird, wie im oben beschriebenen Fall der Markierung "alles".
- Ein Feld 308 bezeichnet eine Anzahl von Subjekten für dieses Objekt 210, die in diesem Beispiel auf 3 gesetzt ist, weil für das Objekt 210 drei Subobjekte 204, 206 und 208 vorhanden sind. Diese drei Subobjekte werden von den in den Feldern 309 registrierten IDs identifiziert, und jedes Subobjekt-ID-Feld 309 wird von einem Feld 310 zum Anzeigen einer Durchquerungsrecht-Datenliste begleitet.
- In diesem Beispiel sind die Durchquerungsrecht-Datenlisten für die Subobjekte Nr. bis 3 als Durchquerungsdaten 311 in in Fig. 11 gezeigten Formen gegeben, von denen jede lediglich ein Element enthält. Gemäß diesen Durchquerungsdaten 311 der Fig. 11 sind die Durchquerungsrechte für das Subjekt Nr. 1 ausschließlich den Mitgliedern der Gruppe A zugewiesen, die durch die Gruppen ID 320 identifiziert wird, die Durchquerungsrechte für das Subobjekt Nr. 2 sind ausschließlich den Mitgliedern der Gruppe B zugewiesen, die durch die Gruppen ID 321 identifiziert wird, und die Durchquerungsrechte für das Subobjekt Nr. 3 sind ausschließlich den Mitgliedern der Gruppe C zugewiesen, die von der Gruppen-ID 322 identifiziert wird. In den jeweiligen Durchquerungsdaten 311 bezeichnen Markierungen "R", "W" und "X" die Zuweisung der Durchquerungsrechte zur Objektdurchquerung in Verbindung mit Lesen, Schreiben bzw. Ausführung dieses Objektes 210, und in diesem Beispiel werden die vollen Durchquerungsrechte einschließlich all dieser Durchquerungsrechte an die Mitglieder der jeweiligen Gruppen vergeben.
- Hier sind die Durchquerungsrechte, die von der Durchquerungsrecht-Datenliste 310 spezifiziert werden, funktionell verschieden von den Zugriffsrechten, die von der Zugriffsrechtdatenliste 303 spezifiziert werden, wie im folgenden dargelegt wird. Jedes Zugriffsrecht für ein Objekt zeigt an, ob es möglich ist, auf das Objekt zuzugreifen oder nicht, während jedes Durchquerungsrecht für ein Subobjekt anzeigt, ob das Subobjekt automatisch durchquert werden soll. Im Fall beispielsweise, daß das Zugriffsrecht gegeben ist, jedoch das Durchquerungsrecht für ein bestimmtes Subobjekt nicht gegeben ist, wenn das Objekt mit diesem bestimmten Subobjekt als einem von seinen Subobjekten geradewegs durchquert wird, wird das bestimmte Subobjekt nicht durchquert, d.h. das bestimmte Subobjekt verbleibt für den Benutzer unsichtbar, so daß sein Vorhandensein vor dem Benutzer verborgen werden kann, weil das Durchquerungsrecht nicht zugewiesen ist, während dann, wenn der Zugriff zu dem bestimmten Subobjekt durch explizites Spezifizieren dieses bestimmten Subobjektes vorgenommen wird, das bestimmte Subobjekt zugreifbar ist, weil das Zugriffsrecht zugewiesen ist.
- Es wird vermerkt, daß die Einschließung der Markierung "W" zum Schreiben in den Durchquerungsrechtdaten 311 für alle Mitglieder der Gruppe aus der Sicht des gewöhnlichen Zugriffsrechtmechanismus seltsam erscheinen mag. Jedoch zeigt dieses Durchquerungsrecht nur eine Prozedur zum Durchqueren, wie oben beschrieben, an, und es hat nichts zu tun mit dem Schutz der Objekte, was mittels der Zugriffsrechte erreicht wird. Selbst wenn demgemäß jemand versucht, tatsächlich die Daten des Verzeichnisses unter Mißbrauch der Markierung W in den Durchquerungsrechtdaten 311 neu zu schreiben, ist es solange unmöglich, die Daten zu überschreiben, wie kein Zugriffsrecht zum Schreiben zugewiesen ist.
- Hier sollte die Gegenwart oder Abwesenheit dieser Markierung "W" in den Durchquerungsrechtdaten 311 nicht als bedeutungslos angesehen werden, weil Schreiben, wenn diese Markierung "W" nicht vorhanden ist, einfach deshalb unmöglich wird, weil es unmöglich wird, mittels Durchquerens des Objektes an das Subobjekt selbst zu gelangen, während es, wenn diese Markierung "W" vorhanden ist, möglich ist, zu dem Subobjekt zu gelangen, um die Zugriffsrechte des Subobjektes zu prüfen, und eine geeignete Fehlerverarbeitung auszuführen.
- Andererseits hat das Objekt 204 für das Verzeichnis der Gruppe A eine Datenstruktur, wie in Fig. 12 gezeigt ist. Hier werden denjenigen Feldern, die ähnlich den entsprechenden Feldern in dem oben beschriebenen 210 sind, dieselben Bezugsziffern in der Figur gegeben, und ihre Beschreibungen werden ausgelassen. Auch haben das Objekt 206 für das Verzeichnis der Gruppe B und das Objekt 208 für das Verzeichnis der Gruppe C die ähnliche Struktur wie dieses Objekt 204, so daß ihre Beschreibungen ausgelassen werden.
- In diesem Objekt 204 hat das Zugriffsrecht-Datenlistenfeld 303 zwei Zugriffsrechtdaten 312, die anzeigen, daß der Erzeuger (ID: "128") die Zugriffsrechte zum Lesen und Schreiben hat, während die Mitglieder der Gruppe A (ID: "320") das Zugriffsrecht nur zum Lesen hat. Außerdem wird das Subobjekt Nr. 1 durch die registrierte ID als das Objekt 202 für die Kommentare identifiziert, während das Subobjekt Nr. 2 durch die registrierte ID als das Objekt 201 für das Verzeichnis selbst identifiziert wird. Zusätzlich haben diese Subobjekte die Durchquerungsrecht-Datenlistenfelder 310, die die Durchquerungsdaten 313 enthalten, die die vollen Durchquerungsrechte für den Erzeuger (ID: "128") bzw. die Mitglieder der Gruppe A (ID "320") anzeigen.
- Nun wird detailliert die eigentliche Prozedur der Objektdurchquerung unter Verwendung dieses konkreten, oben beschriebenen Beispiels in verschiedenen Fällen beschrieben.
- Zuerst wird vor der Objektdurchquerung die Durchquerungs-ID- Liste in der Durchquerungs-ID-Listen-Speichereinheit 12 aufgebaut. Hier kann der Benutzer irgendeine Anzahl von Durchquerungs-IDs in die Durchquerungs-ID-Liste einstellen. Jedoch sind die Durchquerungsrechte für die IDs, zu welchen der Benutzer selbst nicht gehört, für den Benutzer gewöhnlich bedeutungslos, so daß alle IDs, zu denen der Benutzer selbst gegenwärtig gehört, gewöhnlich als Standardeinstellung eingestellt sind.
- Wenn beispielsweise der Benutzer mit der ID: "128" zur Gruppe A mit der Gruppen-ID: "320" und zu einer anderen Gruppe mit der Gruppen-ID: "340" gehört, weist die ursprüngliche Einstellung 61 der Durchquerungs-ID-Liste drei Durchquerungs- IDs 611 auf, wie in Fig. 13 gezeigt ist. Natürlich ist es möglich, irgendeine andere Einstellung als die ursprüngliche Einstellung der Durchquerungs-ID-Liste einzustellen, falls gewünscht.
- Wenn in diesem Zustand die Objektdurchquerung des Objektes 204 für das Verzeichnis der Gruppe A begonnen wird, weil das Zugriffsrecht diesen Benutzer (ID: "128") in dem Zugriffsrecht-Datenlistenfeld 303 zugewiesen ist, so daß dieses Objekt 204 zugegriffen werden kann. Dann wird geprüft, ob das Subobjekt Nr. 1 dieses Objektes 204 durchquert werden kann oder nicht. In diesem Fall wird der ID "128" dieses Benutzers das Durchquerungsrecht zum Lesen zugewiesen, gemäß den Durchquerungsrechtdaten 313, die in dem Durchquerungsrecht-Datenlistenfeld 310 registriert sind, die zu einer der Durchquerungs-IDs 611 in der Durchquerungs-ID- Liste passen, so daß das Subobjekt Nr. 1 des Objektes 204 durchquert wird.
- Wenn das Durchquerungs-Informationsfeld 307 die Markierung "alles" hat, geht es weiter damit, das nächste Subobjekt Nr. 2 dieses Objektes 204 zu durchqueren. In diesem Fall wird das Durchquerungsrecht zum Lesen der ID "320" zugewiesen, zu welcher dieser Benutzer gehört, gemäß den Durchquerungsrechtdaten 313, die in dem Durchquerungsrecht- Datenlistenfeld 310 registriert sind, so daß auch das Subobjekt Nr. 2 dieses Objektes 204 durchquert wird.
- Wenn andererseits derselbe Vorgang von einem anderen Benutzer mit einer ID "129" durchgeführt wird, der ebenfalls zur Gruppe A mit der Gruppen-ID "320" und zu einer anderen Gruppe mit der Gruppen-ID "340" gehört, hat die ursprüngliche Einstellung 61 der Durchquerungs-ID-Liste drei Durchquerungs- IDs 611, wie in Fig. 14 gezeigt ist. In diesem Fall paßt zur Zeit der Objektdurchquerung für das Objekt 204, weil das Durchquerungsrecht zum Lesen der ID "129" dieses Benutzers gemäß den Durchquerungsrechtdaten 313, die in den Durchquerungsrechtdatenlisten 310 registriert sind, nicht zugewiesen ist, das Durchquerungsdatum nicht zu irgendeiner der Durchquerungs-IDs 611 in der Durchquerungs-ID-Liste, so daß das Subobjekt Nr. 1 des Objektes 204 nicht durchquert wird. Demgemäß wird das Objekt 204 diesem Benutzer präsentiert, als ob es lediglich ein Subobjekt 201 für das Verzeichnis selbst einschließen würde.
- Wenn im Gegenteil derselbe Vorgang von dem Nichtmitglied der Gruppe A durchgeführt wird, das eine ID "130" hat und zu einer anderen Gruppe mit der Gruppen-ID "321" gehört, hat die Anfangseinstellung 61 der Durchquerungs-ID-Liste zwei Durchquerungs-IDs 612, wie in Fig. 15 gezeigt ist. In diesem Fall werden zur Zeit der Objektdurchquerung für das Objekt 204 beide Subobjekte Nr. 1 und 2 nicht durchquert, weil diesen IDs "130" und "321" kein Durchquerungsrecht zugewiesen ist. Demgemäß wird das Objekt 204 diesem Benutzer so dargestellt, als ob es eine leere Datei ohne Inhalt ist.
- Wenn die Daten des Objektes 204 so modifiziert werden, daß das Durchquerungsrecht diesem Benutzer mit der ID "130" ebenfalls zugewiesen wird, während diesem Benutzer kein Zugriffsrecht zugewiesen wird, wird die Objektdurchquerung durchgeführt, jedoch wird ein Fehler bewirkt, weil das Zugriffsrecht nicht zugewiesen ist.
- Die obige Prozedur für die Objektdurchquerung kann wiederholt wie folgt ausgeführt werden.
- Wenn der Benutzer mit der ID "128" versucht, zuerst auf das Objekt 210 zuzugreifen, wird diese ID "128" in dem Zugriffsrecht-Datenlistenfeld 303 dieses Objektes 210 registriert, wie in Fig. 10 gezeigt, so daß dieses Objekt 210 zugreifbar ist, und gemäß den Daten dieses in Fig. 9 gezeigten Objektes kann erkannt werden, daß es für dieses Objekt 210 drei Subobjekte gibt.
- Dann wird sequentiell geprüft, ob jedes dieser Subobjekte des Objektes 210 durchquert werden kann oder nicht, und dabei kann erkannt werden, daß nur das Subobjekt Nr. 1, für welches die Durchquerungsrechtdatenliste die Gruppen-ID "320" der Gruppe A auflistet, zu welcher dieser Benutzer gehört, durchquerbar ist, so daß dieses Subobjekt Nr. 1, welches das Objekt 204 ist, als nächstes durchquert wird. Danach kann die bereits oben beschriebene Prozedur zur Objektdurchquerung des Objektes 204 ausgeführt werden.
- Auf diese Weise kann der Benutzer mit der ID "128" das Verzeichnis der Gruppe A selbst erhalten, und die Kommentare für dieses Verzeichnis der Gruppe A zusammen als ununterbrochene Daten dadurch, daß er auf das Objekt 210 zugreift.
- Wenn der Benutzer mit der ID "129" in gleicher Weise versucht, zuerst auf das Objekt 210 zuzugreifen, kann in gleicher Weise erkannt werden, daß unter den drei Subobjekten des Objektes 210 nur das Subobjekt Nr. 1, für welches die Durchquerungsrechtdatenliste die Gruppen-ID "320" der Gruppe A auflistet, zu welcher dieser Benutzer gehört, durchquerbar ist, so daß dieses Subobjekt Nr. 1, welches das Objekt 204 ist, als nächstes durchquer wird. Danach kann die bereits oben beschriebene Prozedur für die Objektdurchquerung des Objektes 204 ausgeführt werden. Somit kann in diesem ersten Ausführungsbeispiel der Vorgang zum Auswählen des wiederholt zu durchquerenden Subobjektes gemäß dem Flußdiagramm der Fig. 16 wie folgt durchgeführt werden.
- Wenn die Objektdurchquerung für ein bestimmtes Objekt von einem bestimmten Benutzer begonnen wird, wird zuerst in Schritt 1101 bestimmt, ob das Zugriffsrecht für dieses Objekt diesem Benutzer zugewiesen worden ist oder nicht. Falls nicht, wird der Fehler bewirkt, während anderenfalls als nächstes in Schritt 1102 die Ursprungseinstellung 61 der Durchquerungs-ID-Liste in einer oben beschriebenen Weise vorgenommen wird.
- Dann wird eine Anzahl von Subobjekten dieses Objektes in Schritt 103 auf eine variable Anzahl N eingestellt, und in Schritt 1104 wird bestimmt, ob diese Anzahl N gleich Null ist oder nicht. Wenn diese Anzahl N gleich Null ist, gibt es kein weiter zu durchquerendes Subobjekt, so daß der Prozeß endet. Anderenfalls wird als nächstes in Schritt 1105 durch Prüfen der Durchquerungsrecht-Datenliste des N-ten Subobjektes beurteilt, ob das N-te Subobjekt für diesen Benutzer durchquerbar ist oder nicht. Wenn dieses N-te Subobjekt nicht durchquerbar ist, wird die variable Zahl N auf N-1 aktualisiert, und der Prozeß kehrt zum oben beschriebenen Schritt 1104 zurück.
- Anderenfalls wird als nächstes in Schritt 1109 die Objektdurchquerung dieses N-ten Subobjektes begonnen. Wenn das N-te Subobjekt weitere Subobjekt für sich selbst enthält, wird an diesem Punkt der wiederkehrende Aufruf für dieses N- te Subobjekt vorgenommen und der Prozeß kehrt zum Start zurück, um diesen Vorgang der Fig. 16 wiederholt für das N-te Subobjekt zu wiederholen.
- Nach der Objektdurchquerung dieses N-ten Subobjektes wird in Schritt 1111 bestimmt, ob das Durchquerungs-Informationsfeld 307 in den Daten für dieses Objekt die Markierung "alles" anzeigt oder nicht. Falls nicht, endet der Prozeß, während anderenfalls der Prozeß zum oben beschriebenen Schritt 1106 zurückkehrt.
- Wie oben beschrieben, wird es gemäß diesem ersten Ausführungsbeispiel möglich, die flexiblen Darstellungen der Objekte zu realisieren, die durch die herkömmlichen Zugriffsrechte alleine nicht realisiert werden können, durch Vorsehen eines Mechanismus zum selektiven Auslesen nur der notwendigen Objekte gemäß der Beurteilung betreffend, welche Objekte zur Zeit des Durchführens eines Zugriffes zu durchqueren sind, durch Verwenden der für jedes Objekt bereitgestellten Durchquerungsrecht-Datenliste.
- Außerdem ist die Durchquerungsprozedur in jedem Objekt selbst spezifiziert, ohne daß eine spezielle Definition in einem individuellen Anwendungsprogramm erforderlich ist, so daß die flexiblen Darstellungen der Objekte von jedem Anwendungsprogramm auf sehr natürliche Weise verwendet werden können.
- Als Konsequenz ist dieses Objektdurchquerungsverfahren des ersten Ausführungsbeispiels für die Entwicklung eines neuen Programmtypus geeignet, in welchem die Zugriffsrechte der Objekte und die Erscheinungen der Objekte von den Benutzern in komplizierter Weise spezifiziert werden müssen, etwa eines Programms, das von dem kooperativen Betriebsunterstützungssystem (cooperative operation support system) benötigt wird, das in den letzten Jahren populär geworden ist.
- Außerdem ist es ebenfalls in diesem ersten Ausführungsbeispiel möglich, das herkömmliche Problem zu lösen, das sich aus der Tatsache ergibt, daß wenn die verschiedenen Zugriffsrechte aufgebaut werden, verschiedene Objekte, die ein einzelnes kombiniertes Objekt bilden, sich der Betrieb des Programms von einer Verarbeitungslinie zu einer anderen ändert, und diese Irregularität des Programmablaufs macht es sehr schwierig, Fehler zu finden.
- Somit wird es gemäß diesem ersten Ausführungsbeispiel möglich, ein Objektdurchquerungsverfahren bereitzustellen, in welchem die Objektdurchquerungsprozedur und die Durchquerungsrechte flexibel für jedes Objekt spezifiziert werden können, das von einem allgemeinen Benutzer produziert wird, unabhängig von dem Betrieb des Anwendungsprogramms, durch geschicktes Ausnutzen der funktionell verschiedenen Zugriffsrechte und der Durchquerungsrechte.
- Bezugnehmend nun auf Fig. 17 wird das zweite Ausführungsbeispiel des Verfahrens und der Vorrichtung zur Objektdurchquerung gemäß der vorliegenden Erfindung detailliert beschrieben.
- In diesem zweiten Ausführungsbeispiel weist die Objektdurchquerungsvorrichtung eine Gesamtkonfiguration, wie in Fig. 17 gezeigt auf, wo diejenigen Elemente mit denselben Bezugszifferen in der Figur versehen sind, die äquivalent den entsprechenden Elementen in dem ersten Ausführungsbeispiel der Fig. 7 sind, und ihre Beschreibungen werden ausgelassen.
- Diese Konfiguration der Fig. 17 für das zweite Ausführungsbeispiel unterscheidet sich von der der Fig. 7 für das erste Ausführungsbeispiel darin, daß die Objektlese- Ausführungseinheit 10 des weiteren eine Durchquerungs-ID- Listen-Änderungseinheit 21 zum dynamischen Ändern der Durchquerungs-ID-Liste einschließt, die zwischen die Durchquerungsobjekt-Auswahleinheit 19 und die Durchquerungs- ID-Listen-Speichereinheit 12 geschaltet ist. Spezieller fügt diese Durchquerungs-ID-Listen-Änderungseinheit 21 entweder die Durchquerungs-ID in der Durchquerungs-ID-Listen- Speichereinheit 12 gespeicherten Durchquerungs-ID-Liste hinzu oder entfernt sie gemäß der Auswahl des zu durchquerenden Subobjektes, die von der Durchquerungsobjekt-Auswahleinheit 19 vorgenommen wird.
- Zusätzlich zu der vorangehend für das erste Ausführungsbeispiel beschriebenen Funktion arbeitet die Durchquerungsobjekt-Auswahleinheit 19 ebenfalls so, daß sie das Zugriffsrecht zum Zugreifen auf das durchquerte Objekt beim Durchqueren des Objektes beurteilt und die Durchquerungs-ID-Listen-Änderungseinheit 21 anweist, die Durchquerungs-ID-Liste so zu ändern, daß der Zugriff auf das Durchquerungsobjekt mit einem geeigneten Zugriffsrecht vorgenommen werden kann.
- Dieser Betrieb des zweiten Ausführungsbeispiels wird nun detaillierter unter Verwendung eines konkreten Beispiels beschrieben.
- Es sei ein Fall des Durchquerens des Objektes 210 für das Gruppenverzeichnis allgemein betrachtet, und angenommen, daß der Benutzer mit der ID "128" zur Gruppe A mit der Gruppen-ID "320" gehört, und zu einer anderen Gruppe mit der Gruppen-ID "340", ebenso wie in dem im ersten Ausführungsbeispiel oben verwendeten Beispiel. Dann weist die ursprüngliche Einstellung 61 die Durchquerungs-ID-Liste 3 die in Fig. 13 gezeigte Durchquerungs-ID 611 auf, wie oben beschrieben wurde.
- In diesem Fall gibt es drei Subobjekte für dieses Objekt 210, und gemäß der Durchquerungsrecht-Datenliste 310 für diese drei Subobjekte ist zu erkennen, daß nur das Subobjekt Nr. 1, für welches die Durchquerungsrecht-Datenliste die Gruppen-ID "320" der Gruppe A auflistet, zu welcher dieser Benutzer gehört, durchquerbar ist, so daß nur dieses Subobjekt Nr. 1, welches das Objekt 204 ist, durchquert wird.
- Hier definiert die Durchquerungsrecht-Datenliste für die Objektdurchquerung dieses Subobjektes Nr. 1 das Durchquerungsrecht nur für die ID "320", so daß die anderen IDs als diese ID "320" in der Durchquerungs-ID-Liste unnötig sind. Demgemäß löscht die Durchquerungs-ID-Listen- Änderungseinheit 21 diese unnötigen Durchquerungs-IDs von der Durchquerungs-ID-Liste zur Zeit des Durchquerens dieses Subobjektes Nr. 1.
- Deshalb wird die Durchquerungs-ID-Liste der Fig. 13 in einen in Fig. 18 gezeigten Zustand geändert, in welchem die Durchquerungs-IDs "128" und "340" abgetrennt sind, um nur die Durchquerungs-ID "320" als Aktive zu belassen. Mit anderen Worten wird gemäß der Anzeige von der Durchquerungsrecht- Datenliste 310, daß dieses Subobjekt Nr. 1 unter dem Zugriffsrecht für die ID "320" (Gruppe A) zugegriffen werden sollte, die Durchquerungs-ID-Liste geändert, nur diese ID "320" als ordnungsgemäße Durchquerungs-ID einzustellen, um ein stärkeres Durchquerungsrecht zu unterdrücken, das dem Zugriffsrecht entspricht, das der ID "128" zugewiesen ist.
- Dann wird die Objektdurchquerung des Subobjektes Nr. 1, welches das Objekt 204 für das Verzeichnis der Gruppe A ist, gemäß den Daten für dieses Objekt 204 durchgeführt, wie in Fig. 12 gezeigt ist.
- In diesem Fall definiert die Durchquerungsrecht-Datenliste 310 des Subobjektes Nr. 1 das Durchquerungsrecht 313 für die ID "128", was die ID des gegenwärtigen Benutzers ist, weil jedoch die gegenwärtige Durchquerungs-ID-Liste als Ergebnis der oben beschriebenen Änderung diese ID "128" nicht als aktiv ausweist, wird die Durchquerung dieses Subobjektes Nr. 1, welches das Objekt 202 für die Kommentare ist, nicht ausgeführt.
- Andererseits definiert die Durchquerungsrecht-Datenliste 313 des Subobjektes Nr. 2 das Durchquerungsrecht für die ID "320", die in der gegenwärtigen Durchquerungs-ID-Liste ebenfalls aktiv ist, so daß die Durchquerung dieses Subobjektes Nr. 2, die das Objekt 201 für das Verzeichnis selbst ist, durchgeführt wird.
- Somit kann in diesem zweiten Ausführungsbeispiel der Benutzer mit der ID "128" (Erzeuger) den Inhalt nur des Objektes 201 für das Verzeichnis selbst dadurch auslesen, daß er auf das Objekt 210 für das Gruppenverzeichnis allgemein zugreift, ohne den Inhalt des Objektes 202 für die Kommentare unter den stärkeren Durchquerungsrechten, die diesem Benutzer ursprünglich zugewiesen wurden, auszulesen. Dieses steht im Gegensatz zum herkömmlichen Fall, in welchem beide Objekte 201 und 202 immer durchquert werden, weil dieser Benutzer die Zugriffsrechte für diese beiden Objekte hat, wenn nicht programmseitig ein spezielles Recht zum Zugreifen auf die Objekte definiert wird. Demgemäß kann dieses zweite Ausführungsbeispiel von diesem Benutzer auf angenehme Weise im Fall des Druckens des Verzeichnisses durch Verwenden eines Programms benutzt werden, das von dem Vorhandensein der Kommentare nichts weiß.
- Die Vorgänge für die anderen Benutzer sind im wesentlichen dieselben wie in dem ersten, ob beschriebenen Ausführungsbeispiel.
- In diesem zweiten Ausführungsbeispiel kann der Prozeß zum Auswählen des zu durchquerenden Subobjektes und Ändern der Durchquerungs-ID-Liste gemäß den Flußdiagrammen der Fig. 19 und 20 wie folgt ausgeführt werden.
- In diesem Fall wird, wenn die Objektdurchquerung für ein bestimmtes Objekt für einen bestimmten Benutzer begonnen wird, zuerst in Schritt 1001 bestimmt, ob das Zugriffsrecht für dieses Objekt diesem Benutzer zugewiesen worden ist oder nicht. Falls nicht, wird der Fehler bewirkt, während anderenfalls als nächstes in Schritt 1002 die ursprüngliche Einstellung 61 der Durchquerungs-ID-Liste in einer oben beschriebenen Weise vorgenommen wird.
- Dann wird in Schritt 1003 ein oberstes Element in der gegenwärtigen Durchquerungs-ID-Liste auf einen Zeiger P gesetzt, eine Anzahl von Subobjekten dieses Objektes wird auf eine variable Anzahl N in Schritt 1004 gesetzt, und in Schritt 1005 wird bestimmt, ob diese Anzahl N gleich Null ist oder nicht. Wenn diese Anzahl N gleich Null ist, gibt es kein Subobjekt, das von der Durchquerungs-ID durchquert werden kann, die auf den Zeiger P gesetzt ist, so daß diese Durchquerungs-ID von der Durchquerungs-ID-Liste in Schritt 1009 gelöscht wird, und der Vorgang als nächstes zum Schritt 1010 voranschreitet.
- Anderenfalls wird als nächstes in Schritt 1006 durch Prüfen der Durchquerungsrecht-Datenliste des N-ten Subobjektes beurteilt, ob das N-te Subobjekt für diesen Benutzer durchquerbar ist oder nicht. Wenn dieses N-te Subobjekt nicht durchquerbar ist, wird in Schritt 1007 die variable Anzahl N auf N-1 aktualisiert, und der Prozeß kehrt zum oben beschriebenen Schritt 1005 zurück.
- Anderenfalls wird in Schritt 1010 bestimmt, ob irgendeine andere Durchquerungs-ID in der Durchquerungs-ID-Liste übrig ist oder nicht. Wenn eine weitere Durchquerungs-ID in der Durchquerungs-ID-Liste ist, wird das nächste Element in der gegenwärtigen Durchquerungs-ID-Liste in Schritt 1008 auf den Zeiger P gesetzt, und der Prozeß kehrt zum oben beschriebenen Schritt 1004 zurück, während anderenfalls der Prozeß zu Schritt 1011 voranschreitet.
- In Schritt 1011 wird eine Anzahl von Subobjekten dieses Objektes wiederum auf eine variable Anzahl N gesetzt, und es wird in Schritt 1012 bestimmt, ob diese Anzahl N gleich Null ist oder nicht. Falls diese Anzahl N gleich Null ist, gibt es kein weiter zu durchquerendes Subobjekt, so daß der Prozeß endet.
- Anderenfalls wird in Schritt 1013 durch Prüfen der Durchquerungsrecht-Datenliste des N-ten Subobjektes beurteilt, ob das N-te Subobjekt für diesen Benutzer durchquerbar ist oder nicht. Falls dieses N-te Subobjekt nicht durchquerbar ist, wird in Schritt 1014 die variable Anzahl N auf N-1 aktualisiert, und der Prozeß kehrt zum oben beschriebenen Schritt 10, 12 zurück.
- Anderenfalls wird in Schritt 1015 die gegenwärtige Durchquerungs-ID-Liste in einen Stack gerettet, und die Objektdurchquerung dieses N-ten Subobjektes wird in Schritt 1016 begonnen. An diesem Punkt wird, falls dieses N-te Subobjekt weitere Subobjekte für sich selbst enthält, der wiederkehrende Aufruf für dieses N-te Subobjekt vorgenommen, und der Prozeß kehrt zum Beginn zurück, um diesen Vorgang der Fig. 19 wiederkehrend für das N-te Subobjekt zu wiederholen.
- Nachdem die Objektdurchquerung dieses N-ten Subobjektes beendet ist, wird als nächstes in Schritt 1017 die gerettete Durchquerungs-ID-Liste vom Stack heruntergenommen, und dann wird in Schritt 1018 bestimmt, ob das Durchquerungs- Informationsfeld 307 in den Daten für dieses Objekt die Markierung "alles" anzeigt oder nicht. Falls nicht, endet der Prozeß, während anderenfalls der Prozeß zum oben beschriebenen Schritt 10, 14 zurückkehrt.
- Andererseits kann im Fall des Änderns der Durchquerungs-ID- Liste, um die Durchquerungs-ID zu invalidieren, die kein Durchquerungsrecht für das gegenwärtig zu durchquerende Objekt hat, gemäß dem Flußdiagramm der Fig. 20 wie folgt ausgeführt werden.
- In diesem Fall wird, weil von einem bestimmten Benutzer die Objektdurchquerung für ein bestimmtes Objekt begonnen wird, zuerst in Schritt 1101 bestimmt, ob das Zugriffsrecht für dieses Objekt diesem Benutzer zugewiesen worden ist oder nicht. Falls nicht, wird der Fehler bewirkt, während anderenfalls als nächstes in Schritt 1102 die ursprüngliche Einstellung 61 der Durchquerungs-ID-Liste in einer oben beschriebenen Weise vorgenommen wird.
- Dann wird in Schritt 1103 eine Anzahl von Subobjekten dieses Objektes auf eine variable Zahl N gesetzt, und in Schritt 1104 wird bestimmt, ob diese Anzahl N gleich Null ist oder nicht. Wenn diese Anzahl N gleich Null ist, gibt es kein weiteres zu durchquerendes Objekt, so daß der Prozeß endet. Als nächstes wird in Schritt 1105 durch Prüfen der Durchquerungsrecht-Datenliste des N-ten Subobjektes beurteilt, ob für diesen Benutzer das N-te Subobjekt durchquerbar ist oder nicht. Wenn dieses N-te Subobjekt nicht durchquerbar ist, wird die variable Zahl N auf N-1 aktualisiert, und der Prozeß kehrt zum oben beschriebenen Schritt 1104 zurück.
- Anderenfalls wird die gegenwärtige Durchquerungs-ID-Liste in Schritt 1107 auf einen Stack gerettet, und die nicht in der Durchquerungsrecht-Datenliste für dieses N-te Subobjekt enthaltene Durchquerungs-ID wird in Schritt 1108 von der Durchquerungs-ID-Liste auf dem Stack gelöscht. Dann wird in Schritt 1109 die Objektdurchquerung dieses N-ten Subobjektes begonnen. Wenn an diesem Punkt das N-te Subobjekt weitere Subobjekte für sich selbst enthält, wird der wiederkehrende Aufruf für dieses N-te Subobjekt vorgenommen, und der Prozeß kehrt zum Beginn zurück, um diesen Vorgang der Fig. 20 wiederkehrend für das N-te Subobjekt zu wiederholen.
- Nachdem die Objektdurchquerung dieses N-ten Subobjektes beendet ist, wird die gerettete Durchquerungs-ID-Liste in Schritt 1110 vom Stack geholt, und in Schritt 1111 wird bestimmt, ob das Durchquerungs-Informationsfeld 307 in den Daten für dieses Objekt die Markierung "alles" anzeigt oder nicht. Falls nicht, endet der Prozeß, während anderenfalls der Prozeß zum oben beschriebenen Schritt 1106 zurückkehrt.
- Somit kann in diesem zweiten Ausführungsbeispiel der Benutzer mit der ID "128" alle Subobjekte des Objektes 204 durch explizites Zugreifen auf dieses Objekt 204, um die vollen Durchquerungsrechte zu nutzen, die diesem Benutzer zugewiesen sind, wie in dem ersten, oben beschriebenen Ausführungsbeispiel, durchqueren, während dieser Benutzer ebenfalls durch das Durchquerungsrecht auf dieses Objekt 204 zugreifen kann, das der Gruppen-ID "320" zugewiesen ist, einfach durch Zugreifen auf das Objekt 210 für das Gruppenverzeichnis im allgemeinen, weil zur Zeit des Durchquerens des Subobjektes 204 dieses Objektes 210 das Durchquerungsrecht geändert wird.
- Demgemäß wird es zur Zeit des Ausführens eines Verzeichnisformatierprogramms bezüglich der von ihm selbst erzeugten Verzeichnisdatei möglich, den fehlerhaften Betrieb des Programmes aufgrund des unerwarteten Einflusses von Daten für die Kommentare zusammen mit den Daten für das Verzeichnis selbst, zu verhindern.
- Mit anderen Worten, können in diesem zweiten Ausführungsbeispiel bezüglich der aus einer Vielzahl von Objekten konstruierten Daten nicht nur die Zugriffsrechte, sondern auch die Objektdurchquerungsprozedur für jedes Objekt separat definiert werden, während es ebenfalls möglich ist, die zu durchquerenden Objekte geeignet zu wählen, und die Durchquerungs-ID-Liste gemäß dieser Auswahl zu ändern, so daß die Objektdurchquerungsprozedur flexibel definiert werden kann, und der Schutz der Objekte einfach erzielt werden kann.
- Zur Zeit des Durchquerens einer Vielzahl von Objekten durch Betrachten von ihnen als einzelne Datei wird die Objektdurchquerung für all diese Objekte unter dem einheitlichen Durchquerungsrecht ausgeführt, anstelle des Durchquerungsrechtes, was von einer Kombination der separaten Durchquerungsrechte dieser Objekte resultiert, so daß es möglich wird, das Auftreten der Objektdurchquerungsprozedur ohne Absicht durch den Erzeuger dieser Objekte zu verhindern.
- Auch wir es zur Zeit des Auswählens der zu durchquerenden Objekte durch den Betrieb der Durchquerungs-ID-Listen- Änderungseinheit 21 möglich, eine spezielle Objektdurchquerungsprozedur nur für den Fall des Durchquerens eines speziellen Objektes zu spezifizieren.
- Hier ist es ebenfalls möglich, die Durchquerungsrechte anstelle der gewöhnlichen Zugriffsrechte durch Einstellen einer Beschränkung zu verwenden, das die nicht zum Erzeuger des Objektes gehörende ID zur Zeit des Änderns der Durchquerungs-ID-Liste, der Durchquerungs-ID-Liste nicht hinzugefügt werden kann, während nicht ordnungsgemäßer Zugriff auf das Objekt durch Mißbrauchen der speziellen Objektdurchquerungsprozedur verhindert wird.
- Außerdem wird es zur Zeit der Änderung der Durchquerungs-ID- Liste möglich, ein sogar noch flexibleres Objektdurchquerungsverfahren dadurch bereitzustellen, daß die obige Beschränkung aufgelockert wird, die Hinzufügung der Durchquerungs-ID zuzulassen, die von einem speziellen Ausführungsprogramm spezifiziert wird.
- Bezugnehmend nun auf Fig. 21 wird detailliert das dritte Ausführungsbeispiel des Verfahrens und der Vorrichtung zur Objektdurchquerung gemäß der vorliegenden Erfindung betreffend die Anwendung auf das elektronische Postwerkzeug detailliert beschrieben.
- In diesem dritten Ausführungsbeispiel hat die Objektdurchquerungsvorrichtung, die das elektronische Postwerkzeug einschließt, eine Gesamtkonfiguration, wie in Fig. 21 gezeigt, wo die Elemente, die den entsprechenden Elementen in dem zweiten Ausführungsbeispiel der Fig. 17 äquivalent sind, dieselben Bezugsziffern in der Figur haben, und ihre Beschreibungen ausgelassen werden.
- Der elektronische Postwerkzeugabschnitt umfaßt eine elektronische Posterzeugungseinheit 30 zur Verwendung zur Zeit des Erzeugens und Übertragens einer elektronischen Post, sowie eine elektronische Postempfangseinheit 40 zur Verwendung zur Zeit des Empfangens und Lesens einer elektronischen Post.
- Die elektronische Posterzeugungseinheit 30 schließt eine Dokumenteingabeeinheit 31 zum Eingeben eines Dokumentes ein, um einen Inhalt einer zu sendenden, elektronischen Post aufzumachen, sowie eine Objekterzeugungseinheit 32 zum Empfangen des an der Dokumenteingabeeinheit 31 eingegebenen Dokumentes und zum Beauftragen der virtuellen Speichermanagementeinheit 32, das empfangende Dokument in Form eines Dokumentobjektes zu speichern. Hier kann zusätzlich zu einem gewöhnlichen Text mit Buchstaben das Dokument in allgemeinen Datenformen, etwa Bildern, Sprache, Datenbanken, usw. gegeben sein. Mit anderen Worten, ist die elektronische Post dieses dritten Ausführungsbeispiels nicht notwendig, auf die herkömmlich bekannte Post beschränkt und kann allgemein irgendwelche gewünschten Daten sein, die von einer Person zu einer anderen zu übertragen sind. Beispielsweise können in dem Umfeld elektronischer Konferenzen die Präsentationsdokumente und Videodaten des Konferenraums in der elektronischen Post dieses dritten Ausführungsbeispiels eingeschlossen sein.
- Die elektronische Posterzeugungseinheit 30 schließt ebenfalls eine Durchquerungsrecht-Datenlisten-Erzeugungseinheit 33 zum Empfangen von gewünschten Durchquerungsrechten an einem Teil oder der Gesamtheit der an der Dokumenteneingabeeinheit 31 eingegebenen Dokumente gemäß Befehlen ein, die von einem Benutzer an der Dokumenteneinheit 31 eingegeben werden, und Beauftragen der Objekterzeugungseinheit 32, die gewünschten Durchquerungsrechte dementsprechend einzustellen. Dieser Vorgang der Einstellung der Durchquerungsrechte schließt gewöhnlich die Unterteilung des Objektes in Subobjekte ein.
- Die elektronische Posterzeugungseinheit 30 schließt außerdem eine Objektübertragungseinheit 34 zum Übertragen des von dieser elektronischen Posterzeugungseinheit 30 erzeugten Dokumentobjektes ein, das von der virtuellen Speichermanagementeinheit 1 gespeichert wird, durch Spezifizieren einer Postadresse 50 eines beabsichtigten Empfängers. Hier wird die Übertragung der Post dem beabsichtigten Empfänger mitgeteilt, oder es wird über ein Netzwerk eine Datenübertragung zum anderen Rechner durchgeführt, falls erforderlich, in Übereinstimmung mit der Postadresse 50 des beabsichtigten Empfängers. Dieser Betrieb der Objektübertragungseinheit 34 kann durch ein herkömmlich bekanntes Programm mit dem Namen "sendmail" realisiert werden.
- Die in dieser elektronischen Posterzeugungseinheit 30 so produzierte, elektronische Post kann von den anderen gemäß den geeigneten Durchquerungsrechten und Zugriffsrechten, die für sie eingestellt sind, gelesen werden, jedoch wird in diesem dritten Ausführungsbeispiel die elektronische Post wie bei einem herkömmlichen, elektronischen Postwerkzeug von einem Sender zu einem Empfänger übertragen.
- Andererseits schließt die elektronische Postempfangseinheit 40 eine Objektempfangseinheit 41 zum Erfassen der Ankunft der elektronischen Post ein, und eine Postleseeinheit 42 zum Anweisen des Prozessors 5, das Dokumentobjekt der empfangenen elektronischen Post zu lesen, wenn die Objektempfangseinheit 41 die ankommende elektronische Post erfaßt. Hier kann das Lesen des Dokumentobjektes durch die Objektleseausführungseinheit 10 durchgeführt werden, in ähnlicher Weise, wie für das zweite Ausführungsbeispiel oben beschrieben wurde.
- Die elektronische Postempfangseinheit 40 schließt ebenfalls eine Durchquerungs-ID-Listen-Spezifizierungseinheit 43 zum Spezifizieren der zur Zeit des Lesens der empfangenen elektronischen Post zu verwendenden Durchquerungs-ID-Liste ein, gemäß den von einem Benutzer eingegebenen Befehlen, der die empfangene elektronische Post zu lesen wünscht, sowie eine Durchquerungs-ID-Listen-Einstelleinheit 44 zum Schreiben der Durchquerungs-ID-Liste, die bei der Durchquerungs-ID- Listen-Spezifizierungseinheit 43 spezifiziert wird, in die Durchquerungs-Listen-Speichereinheit 12.
- In diesem dritten Ausführungsbeispiel zeigt die Durchquerungs-ID-Liste nur an, unter wessen Durchquerungsrecht diese Post gelesen werden soll, und offensichtlich kann ein Benutzer keine Post lesen (etwa diejenige, die an die anderen adressiert ist), für welche ein Zugriffsrecht nicht zugewiesen ist.
- Die elektronische Postempfangseinheit 40 schließt ferner eine Standarddurchquerungs-ID-Listen-Spezifizierungseinheit 45 zum Spezifizieren der Standarddurchquerungs-ID-Liste gemäß einer gegenwärtigen Situation an die Durchquerungs-ID-Listen- Einstelleinheit 44 ein, um einen möglicherweise langwierigen Vorgang, die Durchquerungs-ID-Liste an der Durchquerungs-ID- Listen-Spezifizierungseinheit 43 jedesmal dann, wenn der Benutzer die empfangene elektronische Post zu lesen wünscht, auszulassen. Hier wird die Standarddurchquerungs-ID-Liste gemäß der von der Objektübertragungseinheit 34 an die Objektempfangseinheit 41 gesendeten Postadresse 50 bestimmt, obwohl sie dadurch spezifiziert werden kann, daß eine Umgebungseinstellungsdatei, die angepaßt werden kann, verwendet wird. Beispielsweise listet in einem Fall, daß die elektronische Post an alle Mitglieder der Gruppe A adressiert ist, die Standard-Durchquerungs-ID-Liste die Durchquerungs-ID alleine für die Mitgliede der Gruppe A auf. Der Benutzer kann die Befehle zum Ändern der Einstellung der Standard- Durchquerungs-ID-Liste an diese Standard-Durchquerungs-ID Listen-Spezifizierungseinheit 45 gemäß den Neigungen des Benutzers oder nach Notwendigkeit eingeben.
- Die elektronische Postempfangseinheit 40 schließt ferner eine Postanzeigeeinheit 46 zum Anzeigen der elektronischen Post an, die von dem Prozessor 5 ausgelesen und durch die Postleseeinheit 42 übertragen wird. Es ist ebenfalls möglich, die Änderung der Durchquerungs-ID-Liste bei der Durchquerungs-ID-Listen-Spezifizierungseinheit 43 anzufordern, nachdem die Post an dieser Postanzeigeeinheit 46 unter einem bestimmten Durchquerungsrecht gelesen worden ist, und dann dieselbe Post wiederum unter einem anderen Durchquerungsrecht zu lesen, falls möglich.
- Nun wird der Betrieb und die Datenstruktur in diesem dritten Ausführungsbeispiel unter Verwendung eines konkreten Beispiels detailliert beschrieben.
- In diesem Beispiel wird angenommen, daß der Leiter einer bestimmten Gruppe ein Dokument 100, wie in Fig. 22 gezeigt, erzeugt hat, das Pläne für den gegenwärtigen Zeitraum betreffend das Projekt A und das Projekt B enthält. Hier ist es möglich, Attribute betreffend die Durchquerungsrechte dem erzeugten Dokument beizufügen, wie im rechten Rand des Dokumentes 100 selbst angezeigt ist. Gewöhnlich besteht keine absolute Notwendigkeit, für das erzeugte Dokument ein bestimmtes Durchquerungsrecht zu spezifizieren, jedoch wird in diesem Fall angenommen, daß der Leiter beabsichtigt, daß dieses Dokument 100 geheim ist, und wünscht, daß der Plan eines jeden Projektes nur denjenigen offenbart wird, die an dem jeweiligen Projekt teilnehmen. Somit ist in Fig. 22 die obere Hälfte betreffend das Projekt A als Abschnitt des Projektes A designiert, für welchen das Durchquerungsrecht alleine den Teilnehmern des Projektes A zuzuweisen ist, während die untere Hälfte betreffend das Projekt B als Abschnitt des Projektes B designiert ist, für welchen das Durchquerungsrecht alleine den Teilnehmern des Projektes B zuzuweisen ist. Zusätzlich ist der Kommentar am Ende des Abschnittes des Projektes A speziell als persönlicher Abschnitt designiert, für welchen das Durchquerungsrecht dem Leiter alleine zuzuweisen ist, weil der Inhalt dieses Abschnittes sich auf die Privatsphäre der individuellen Person bezieht.
- Gemäß dieser Abschnittsdesignierung erzeugt die elektronische Posterzeugungseinheit 30 die in Fig. 23 gezeigte Datenstruktur, die die geeigneten Durchquerungsrecht- Datenlisten enthält. Hier sind die Felder der Objektdaten 211 und 212 ähnlich denjenigen, die in den ersten und zweiten, oben beschriebenen Ausführungsbeispielen verwendet werden, jedoch in Fig. 23 nicht eingeschlossen sind, nur deshalb ausgelassen, weil sie für den Betrieb in diesem dritten Ausführungsbeispiel nicht direkt relevant sind, und diese Felder sollten als in gleicher Weise in den Objektdaten 211 und 212 vorgesehen angesehen werden.
- In diesem Beispiel gehört der Leiter zu beiden Projekten A und B, so daß dem Leiter das volle Durchquerungsrecht für das gesamte Dokument 100 gegeben wird, während das Durchquerungsrecht für den jeweiligen Abschnitt des jeweiligen Projektes nur dem Teilnehmer des jeweiligen Projektes zugewiesen ist, wie in den Durchquerungsrecht- Datenlisten 315 angezeigt ist. In der in Fig. 23 gezeigten Datenstruktur ist das Dokument 100 in drei Teile 100-1, 100-2 und 100-3 gemäß der Durchquerungsrechteinstellung unterteilt, und die Teile 100-1 und 100-2 werden als Subobjekte eines Objektes 212 angesehen, während dieses Objekt 212 und ein Teil 100-3 als Subobjekte eines Objektes 211 für das gesamte Dokument 100 angesehen werden. Hier haben die Objektdaten 211 und 212 anstelle der in den oben beschriebenen, ersten und zweiten Ausführungsbeispielen verwendeten Subobjekt-IDs Positionszeigerfelder 314 zum Registrieren von Zeigern auf die Subobjekte.
- Nun sendet der Leiter dieses Dokument 100 als elektronische Post an alle Mitglieder der Gruppe einschließlich der Teilnehmer des Projektes A und der Teilnehmer des Projektes B. Hier kann die Objektdurchquerung des Dokumentobjektes 211 zur Zeit des Sendens der elektronischen Post von der elektronischen Posterzeugungseinheit 30 durchgeführt werden, oder zur Zeit des Lesens der empfangenen elektronischen Post an der elektronischen Postempfangseinheit 40, oder beides. Im folgenden wird als Beispiel ein Fall der Objektdurchquerung auf der Seite der elektronischen Postempfangseinheit 40 beschrieben. Wenn diese elektronische Post von einem Mitglied 1 empfangen wird, das nur am Projekt A teilnimmt, stellt dieses Mitglied 1 zuerst, bevor auf den Inhalt der Post zugegriffen wird, die Ursprungseinstellung 316 der Durchquerungs-ID-Liste ein, wie in Fig. 24 gezeigt ist, die die ID: "PROJ.A" des Projektes A und die eigene ID "Mitglied 1" einschließt. In dieser Ursprungseinstellung 316 können, falls gewünscht, auch irgendwelche andere IDs eingeschlossen sein, jedoch sind solche anderen IDs ausgelassen, weil sie hier irrelevant sind.
- Dann wird die Objektdurchquerung des Dokumentobjektes 211 unter dem Durchquerungsrecht alleine für das Projekt A durchgeführt, so daß nur auf dem Teil 100-1 des Dokumentes 1 mit der Prozedur zugegriffen werden kann, die ähnlich der in den ersten und zweiten, ob beschriebenen Ausführungsbeispielen ist, so daß dieses Mitglied 1 nur das Dokument 1 100-1 lesen kann, das das Projekt A betrifft. Wenn ein Mitglied, das nur am Projekt B teilnimmt, diese elektronische Post empfängt, kann dieses Mitglied in gleicher Weise nur das Dokument 3 100-3 betreffend das Projekt B lesen.
- Wenn andererseits diese elektronische Post von einem Mitglied 2 empfangen wird, das sowohl am Projekt A als auch am Projekt B teilnimmt, stellt dieses Mitglied 2 die Ursprungseinstellung 317 der Durchquerungs-ID-Liste ein, wie in Fig. 25 gezeigt ist, die die ID: "PROJ.A" des Projektes A einschließt, die ID: "PROJ.B" des Projektes B und die eigene ID: "Mitglied 2", bevor auf den Inhalt der Post zugegriffen wird. Dann wird die Objektdurchquerung des Dokumentobjektes 211 mit den Durchquerungsrechten für das Projekt A und das Projekt B durchgeführt, und in diesem Beispiel hat das Durchquerungs-Informationsfeld 307 die Markierung "alles", so daß dieses Mitglied 2 die Inhalte sowohl des Dokumentes 100-1 betreffend das Projekt A als auch des Dokumentes 3 100-3 betreffend das Projekt B, als einzelnes verbundenes Dokument lesen kann.
- Aus der Sicht des elektronischen Postwerkzeuges kann dieses dritte Ausführungsbeispiel eine Anzahl beträchtlicher Vorteile bieten, wie im folgenden dargelegt wird.
- Zuerst besteht für den Versender der Post keine Notwendigkeit, langwierige Ausschneide- und Einfügeoperationen an dem durchzuführen, was ursprünglich als ein einzelnes Dokument verwaltet wurde, um nur einen notwendigen Abschnitt an jeden beabsichtigten Empfänger zu senden, denn sobald die Durchquerungsrecht-Datenliste für das Dokument aufgebaut ist, kann jeder beabsichtigte Empfänger nur einen notwendigen Abschnitt lesen, den von diesem beabsichtigten Empfänger zu lesen beabsichtigt ist, gemäß der Durchquerungsrecht-Datenliste, selbst wenn das gesamte Dokument an jeden beabsichtigten Empfänger gesendet wird.
- Außerdem besteht keine Gefahr, einen Abschnitt, der von einem Empfänger nicht gelesen werden soll, irrtümlich zu versenden, selbst wenn das gesamte Dokument an den Empfänger gesendet wird. Wenn beispielsweise der Kommentarabschnitt, wie etwa das Dokument 2 100-2, was sich auf die Privatsphäre des individuellen Mitglieds bezieht, in der übertragenen Ppst enthalten ist, kann der Empfänger nicht möglicherweise diesen Abschnitt lesen, solange diesem Empfänger das Durchquerungsrecht nicht zugewiesen ist.
- Zusätzlich besteht keine Gefahr, die Geheimhaltung der Post zu beschädigen, selbst wenn die Post irrtümlich an eine Person gesendet wird, die kein beabsichtigter Empfänger ist, weil die empfangene Post dieser Person als leer erscheint, weil dieser Person kein Durchquerungsrecht zugewiesen ist.
- Im Fall des Sendens zweier separater Teile des Dokumentes zu demselben beabsichtigten Empfänger, etwa in dem Fall, daß das Dokument 1 100-1 und das Dokument 3 100-3 an die Mitglieder gesendet wird, die sowohl an dem Projekt A und dem Projekt B im obigen Beispiel teilnehmen, wird es außerdem möglich, das Problem aufgrund der Tatsache zu vermeiden, daß es erforderlich war, diese beiden separaten Teile herkömmlich als separate Nachrichten zu versenden, und es unter dem Gesichtspunkt der Handhabung der empfangenen Nachrichten auf der Empfängerseite sehr unpraktisch war.
- Außerdem können in einem gegenwärtig entwickelten Betriebssystem mit dem Namen Single Virtual Memory die Zugriff auf dasselbe Objekt unter der verteilten Computerumgebung unter Verwendung derselben Adresse vorgenommen werden, so daß die Übertragung der elektronischen Post in diesem System einfach dadurch realisiert werden kann, daß der Zeiger auf das Postobjekt übergeben wird. In solch einer Umgebung müssen die Postobjektdaten für jeden Empfänger in dem herkömmlichen elektronischen Postwerkzeug modifiziert werden, so daß für jedes Postobjekt zusätzliche Speicherkapazität erforderlich ist, jedoch genügt für das elektronische Postwerkzeug dieses dritten Ausführungsbeispiels die einfache Übergabe des Zeigers auf das Postobjekt, so daß die Leistungsfähigkeit des Systems als Ganzes beträchtlich verbessert werden kann.
- Somit kann gemäß diesem dritten Ausführungsbeispiel die Effizienz und Effektivität des elektronischen Postwerkzeuges selbst für eine sehr einfache Situation beträchtlich verbessert werden, und für den Fall des Arbeitens mit einem komplizierten Objekt, das eine Anzahl von Objekten kombiniert, kann noch ein stärkerer Effekt erwartet werden.
- Neben den bereits erwähnten Modifikationen und Abwandlungen sind viele Modifikationen und Abwandlungen der obigen Ausführungsbeispiele möglich, ohne daß von den neuen und vorteilhaften Merkmalen der vorliegenden Erfindung abgewichen wird. Demgemäß sollen alle solche Modifikationen und Abwandlungen in den Umfang der beigefügten Ansprüche eingeschlossen sein.
Claims (24)
1. Objektdurchquerungsvorrichtung zum Durchqueren eines
Objektes in einem Computer, mit
Einrichtungen zum Speichern des von einer Vielzahl von
Subobjekten gebildeten Objektes; und
Durchquerungseinrichtungen zum Durchqueren des in den
Speichereinrichtungen gespeicherten Objektes als
Reaktion auf eine Anforderung von einem Benutzer, auf
das Objekt zuzugreifen;
dadurch gekennzeichnet, daß
die Speichereinrichtung angepaßt ist, auch eine
Zuweisung eines Durchquerungsrechtes für jedes Subobjekt
zu speichern, welches anzeigt, wem erlaubt ist, das
jeweilige Subobjekt des Objektes zu durchqueren,
zusammen mit dem Objekt; und
die Durchquerungseinrichtung einschließt:
eine Durchquerungs-ID-Listeneinrichtung zum
Spezifizieren wenigstens einer Durchquerungs-ID zum
Identifizieren des Benutzers, der einen Zugriff auf das
Objekt anfordert;
Durchquerungsobjekt-Auswahleinrichtungen zum Auswählen
der zu durchquerenden Subobjekte zur Zeit des
Durchquerens des Objektes gemäß dem Durchquerungsrecht,
das dem Benutzer zugewiesen ist, der durch die
Durchquerungs-IDs identifiziert wird; und
Ausgabeeinrichtungen zum Ausgeben der von den
Durchquerungsobjekt-Auswahleinrichtungen ausgewählten
Subobjekten, als Ergebnis des Zugriffes auf das Objekt.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
die Speichereinrichtung angepaßt ist, das Objekt mit
einer Zuweisung eines Zugriffsrechtes für das Objekt zu
speichern, das anzeigt, wem erlaubt ist, auf das Objekt
zuzugreifen, und die Durchquerungsobjekt-
Auswahleinrichtung angepaßt ist, die Subobjekte nur
auszuwählen, wenn das Zugriffsrecht dem durch die
Durchquerungs-IDs identifizierten Benutzer zugewiesen
ist.
3. Vorrichtung nach Anspruch 2, gekennzeichnet durch
Prozessoreinrichtungen zum Ausführen eines Programms, um
an dem Objekt zu arbeiten, durch Zugreifen auf das
Objekt unter dem Zugriffsrecht des Benutzers und
Benutzen der Subobjekte, die von der Ausgabeeinrichtung
als Ergebnis des Zugriffes auf das Objekt ausgegeben
werden.
4. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
die Speichereinrichtung angepaßt ist, das Objekt mit
einer Zuweisung eines Zugriffsrechts für das Objekt zu
speichern, welches anzeigt, wem erlaubt ist, auf das
Objekt zuzugreifen, und die Vorrichtung ferner
Zugriffsrecht-Verifizierungseinrichtungen zum
Verifizieren der Zuweisung des Zugriffsrechtes an den
von den Durchquerungs-IDs identifizierten Benutzer nur
für die Subobjekte, die von der Durchquerungsobjekt-
Auswahleinrichtung ausgewählt werden, einschließt.
5. Vorrichtung nach Anspruch 4, gekennzeichnet durch
Prozessoreinrichtungen zum Ausführen eines Programms, um
an dem Objekt durch Zugreifen auf das Objekt unter dem
Zugriffsrecht zu arbeiten, und zum Benutzen der
Subobjekte, die von der Ausgabeeinrichtung als Ergebnis
des Zugriffs auf das Objekt ausgegeben werden.
6. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
die Speichereinrichtung angepaßt ist, das Objekt als
verbundenes Objekt zu speichern, das von einer Vielzahl
der Subobjekte gebildet wird, die durch Verbindungen in
Beziehung stehen.
7. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
die Speichereinrichtung ebenfalls angepaßt ist, eine
Durchquerungsinformation zusammen mit dem Objekt zu
speichern, die eine Prozedur zum Durchqueren des
Subobjektes des Objektes anzeigt.
8. Vorrichtung nach Anspruch 1, gekennzeichnet durch
Durchquerungs-ID-Listen-Änderungseinrichtungen zum
Ändern der von der Durchquerungs-ID-Listeneinrichtung
spezifizierten Durchquerungs-IDs.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß
die Durchquerungs-ID-Listen-Änderungseinrichtung
angepaßt ist, diejenigen Durchquerungs-IDs zu löschen,
die von der Durchquerungs-ID-Listeneinrichtung
spezifiziert werden, denen das Durchquerungsrecht keines
der Subobjekte zugewiesen ist.
10. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß
eines der von der Durchquerungsobjekt-Auswahleinrichtung
ausgewählten Subobjekte wenigstens ein weiteres
Subobjekt enthält, worin die Speichereinrichtung
angepaßt ist, wenigstens das eine des Subobjektes mit
einer Zuweisung eines Durchquerungsrechtes für jedes
weitere Subobjekt zu speichern, die anzeigt, wem erlaubt
ist, jedes weitere Subobjekt zu durchqueren; und
die Durchquerungs-ID-Listen-Änderungseinrichtung
angepaßt ist, diejenigen Durchquerungs-IDs, die von der
Durchquerungs-ID-Listeneinrichtung spezifiziert werden,
zu löschen, denen das Durchquerungsrecht von keinem der
weiteren Subobjekte zugewiesen ist, zur Zeit des
Durchquerens des einen der Subobjekte.
11. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
das Durchquerungsrecht für jedes Subobjekt auch einen
Typ eines Zugriffs auf jedes Subobjekt anzeigt,
woraufhin die Durchquerung eines jeden Subobjektes
demjenigen erlaubt wird, der angezeigt ist, daß ihm
erlaubt ist, jedes Subobjekt zu durchqueren.
12. Vorrichtung nach Anspruch 1, gekennzeichnet durch ein
Postwerkzeug einschließlich
Posterzeugungseinrichtungen zum Erzeugen des Objektes
als Post durch Spezifizieren der Zuweisung des
Durchquerungsrechtes für jedes Subobjekt, und Übertragen
der erzeugten Post durch Spezifizieren einer
Postadresse; und
Postempfangseinrichtungen zum Empfangen der von den
Posterzeugungseinrichtungen übertragenen Post gemäß der
von den Posterzeugungseinrichtungen spezifizierten
Postadresse, und Wiedergewinnen der von den
Ausgabeeinrichtungen ausgegebenen Subobjekte als Inhalt
einer empfangenen Nachricht.
13. Verfahren zur Objektdurchquerung, zum Durchqueren eines
Objektes in einem Computer, mit den Schritten:
Speichern des von einer Vielzahl von Subobjekten
gebildeten Objektes; und
Durchqueren des in dem Speicherschritt gespeicherten
Objektes als Reaktion auf eine Anforderung, auf das
Objekt zuzugreifen, von einem Benutzer;
dadurch gekennzeichnet, daß
der Speicherschritt auch einen Schritt des Speicherns
einer Zuweisung eines Durchquerungsrechtes für jedes
Subobjekt umfaßt, die anzeigt, wem erlaubt ist, das
jeweilige Subobjekt des Objektes zu durchqueren,
zusammen mit dem Objekt; und
der Durchquerungsschritt das Objekt durchquert durch:
Spezifizieren von wenigstens einer Durchquerungs-ID zum
Identifizieren des Benutzers, der einen Zugriff auf das
Objekt anfordert;
Auswählen der zu durchquerenden Subobjekte zur Zeit des
Durchquerens des Objektes gemäß dem dem Benutzer, der
durch die Durchquerungs-ID identifiziert wird,
zugewiesenen Durchquerungsrecht; und
Ausgeben der in dem Auswahlschritt ausgewählten
Subobjekte als Ergebnis des Zugriffs auf das Objekt.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß
der Speicherschritt einen Schritt des Speicherns des
Objektes mit einer Zuweisung eines Zugriffsrechts für
das Objekt umfaßt, die anzeigt, wem erlaubt ist, auf das
Objekt zuzugreifen, und die Subobjekte in dem
Auswahlschritt nur ausgewählt werden, wenn das
Zugriffsrecht dem Benutzer zugewiesen ist, der durch die
Durchquerungs-IDs identifiziert wird.
15. Verfahren nach Anspruch 14, gekennzeichnet durch den
Schritt:
Ausführen eines Programms, um an dem Objekt zu arbeiten,
durch Zugreifen auf das Objekt unter dem Zugriffsrecht
des Benutzers, und Benutzen der Subobjekte, die an dem
Ausgabeschritt ausgegeben werden, als Ergebnis des
Zugriffs auf das Objekt.
16. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß
der Speicherschritt einen Schritt des Speicherns des
Objektes mit einer Zuweisung eines Zugriffsrechts für
das Objekt umfaßt, welches anzeigt, wem erlaubt ist, auf
das Objekt zuzugreifen, und das Verfahren ferner den
Schritt des Verifizierens der Zuweisung des
Zugriffsrechts an den Benutzer, der von den
Durchquerungs-IDs identifiziert wird, nur für die
Subobjekte, die in dem Auswahlschritt ausgewählt werden,
umfaßt.
17. Verfahren nach Anspruch 16, gekennzeichnet durch den
Schritt:
Ausführen eines Programms, um an dem Objekt zu arbeiten,
durch Zugreifen auf das Objekt unter dem Zugriffsrecht
des Benutzers, und Benutzen der in dem Ausgabeschritt
als Ergebnis des Zugriffs auf das Objekt ausgegebenen
Subobjekte.
18. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß
der Speicherschritt einen Schritt des Speicherns des
Objektes als verbundenes Objekt umfaßt, das von einer
Vielzahl der Subobjekte gebildet wird, die über
Verbindungen in Beziehung stehen.
19. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß
der Speicherschritt auch einen Schritt des Speicherns
einer Durchquerungsinformation zusammen mit dem Objekt
umfaßt, die eine Prozedur zum Durchqueren der Subobjekte
des Objektes anzeigt.
20. Verfahren nach Anspruch 13, gekennzeichnet durch die
Schritte:
Ändern der in dem Spezifizierungsschritt spezifizierten
Durchquerungs-IDs.
21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß
der Änderungsschritt einen Schritt des Löschens
derjenigen, in dem Spezifizierungsschritt spezifizierten
Durchquerungs-IDs umfaßt, denen das Durchquerungsrecht
von keinem der Subobjekte zugewiesen ist.
22. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß
eines der in dem Auswahlschritt ausgewählten Subobjekte
wenigstens ein weiteres Subobjekt enthält, wobei das
eine der Subobjekte mit einer Zuweisung eines
Durchquerungsrechtes für jedes weitere Subobjekt
gespeichert wird, welches anzeigt, wem erlaubt ist,
jedes weitere Subobjekt zu durchqueren; und
der Änderungsschritt einen Schritt des Löschens
derjenigen, in dem Spezifizierungsschritt spezifizierten
Durchquerungs-IDs umfaßt, denen das Durchquerungsrecht
von keinem der weiteren Subobjekte zur Zeit des
Durchquerens des einen der Subobjekte zugewiesen ist.
23. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß
in dem Speicherschritt das Durchquerungsrecht für jedes
Subobjekt auch einen Typ eines Zugriffs auf jedes
Subobjekt anzeigt, woraufhin die Durchquerung jedes
Subobjektes demjenigen erlaubt wird, der angezeigt ist,
die Erlaubnis zu haben, jedes Subobjekt zu durchqueren.
24. Verfahren nach Anspruch 13, gekennzeichnet durch die
Schritte:
Erzeugen des Objektes als Post durch Spezifizieren der
Zuweisung des Durchquerungsrechtes für jedes Subobjekt,
und Übertragen der erzeugten Post durch Spezifizieren
einer Postadresse; und
Empfangen der in dem Erzeugungsschritt übertragenen Post
gemäß der in dem Erzeugungsschritt spezifizierten
Postadresse, und Wiedergewinnen der in dem
Ausgabeschritt ausgegebenen Subobjekte als Inhalt einer
empfangenen Nachricht.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4815993 | 1993-03-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69403367D1 DE69403367D1 (de) | 1997-07-03 |
DE69403367T2 true DE69403367T2 (de) | 1997-10-09 |
Family
ID=12795608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69403367T Expired - Fee Related DE69403367T2 (de) | 1993-03-09 | 1994-03-09 | Verfahren und Vorrichtung zur Objektdurchquerung die für einen strukturierten Speicher aus verbundenen Objekten geeignet sind |
Country Status (3)
Country | Link |
---|---|
US (1) | US5574901A (de) |
EP (1) | EP0615192B1 (de) |
DE (1) | DE69403367T2 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5913032A (en) * | 1994-04-04 | 1999-06-15 | Inprise Corporation | System and methods for automatically distributing a particular shared data object through electronic mail |
JP2912840B2 (ja) * | 1994-12-07 | 1999-06-28 | 富士通株式会社 | ファイル管理システム |
US7079177B2 (en) * | 1995-02-27 | 2006-07-18 | Canon Kabushiki Kaisha | Remote control system and access control method for information input apparatus with limitation by user for image access and camemremote control |
US5737554A (en) * | 1995-10-31 | 1998-04-07 | Apple Computer, Inc. | System and method of using object sensitivity for selecting computer-generated objects |
JPH09190411A (ja) * | 1996-01-12 | 1997-07-22 | Nec Corp | 共有アプリケーションプログラムにおける操作権連動方式及び協同作業システム |
US5842219A (en) * | 1996-03-14 | 1998-11-24 | International Business Machines Corporation | Method and system for providing a multiple property searching capability within an object-oriented distributed computing network |
JP3579240B2 (ja) * | 1998-02-13 | 2004-10-20 | 富士通株式会社 | 電子メール装置及び電子メールプログラムを記録したコンピュータ読取可能な記録媒体 |
CA2395494A1 (en) * | 1999-12-27 | 2001-07-05 | Texar Software Corp. | Virtual resource attribute directory |
GB2361334A (en) * | 2000-04-13 | 2001-10-17 | Int Computers Ltd | Content store management |
US7571170B2 (en) * | 2005-10-04 | 2009-08-04 | Kyocera Mita Corporation | Electronic device, method for data management, and program recording medium |
FR2896602B1 (fr) | 2006-01-26 | 2008-06-06 | Commissariat Energie Atomique | Procede de gestion de documents electroniques |
US10866963B2 (en) | 2017-12-28 | 2020-12-15 | Dropbox, Inc. | File system authentication |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4621321A (en) * | 1984-02-16 | 1986-11-04 | Honeywell Inc. | Secure data processing system architecture |
US4956769A (en) * | 1988-05-16 | 1990-09-11 | Sysmith, Inc. | Occurence and value based security system for computer databases |
JPH087709B2 (ja) * | 1989-05-15 | 1996-01-29 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | アクセス特権制御方法及びシステム |
US5263157A (en) * | 1990-02-15 | 1993-11-16 | International Business Machines Corporation | Method and system for providing user access control within a distributed data processing system by the exchange of access control profiles |
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 |
-
1994
- 1994-03-09 EP EP94103585A patent/EP0615192B1/de not_active Expired - Lifetime
- 1994-03-09 US US08/207,745 patent/US5574901A/en not_active Expired - Lifetime
- 1994-03-09 DE DE69403367T patent/DE69403367T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0615192A1 (de) | 1994-09-14 |
DE69403367D1 (de) | 1997-07-03 |
EP0615192B1 (de) | 1997-05-28 |
US5574901A (en) | 1996-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69326874T2 (de) | Server und Klient | |
DE69934894T2 (de) | Verfahren und vorrichtung zur wahlweisen einstellung des zugangs zu anwendungsmerkmalen | |
DE3689569T2 (de) | Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung. | |
DE69728176T2 (de) | Verfahren und gerät das verteilte steuerung von gemeinsamen betriebsmitteln erlaubt | |
DE3854994T2 (de) | Mehrnutzerdatenübermittlungssystem | |
DE3889173T2 (de) | Verfahren und Vorrichtung zur Zirkulation von elektronischer Post. | |
DE69516727T2 (de) | Verfahren und system um auf daten zuzugreifen | |
DE69601149T2 (de) | Systen und Verfahren zum Implementieren einer hierarchischen Politik für die Administration eines Computersystems | |
DE69428262T2 (de) | Vereinigung von Dateiverzeichnisdienst mit Dateisystemdiensten | |
DE69736748T2 (de) | Editierumgebung für objektmodelle und verfahren zu deren anwendung | |
DE69225828T2 (de) | Verfahren zur Entdeckung inkorrekter Überschreibung gespeicherter Daten | |
DE69432332T2 (de) | Verfahren und Gerät zum Konvertieren von übertragenen digitalen Daten | |
DE69502381T2 (de) | Verfahren und vorrichtung zum steuern des zugriffs auf eine datenbank | |
DE69228621T2 (de) | Objektorientiertes verteiltes Rechnersystem | |
DE69630480T2 (de) | Verfahren, Vorrichtung und Datenstrukturen zur Objektverwaltung | |
DE69635469T2 (de) | Synchronisierung zwischen verschiedenen Computeranbieterumgebungen | |
DE69829253T2 (de) | Verfahren zum Umsetzen vom Dateiformat und Dateisystem, Informationsverarbeitungssystem und elektronisches Handelsverkehrssystem mit diesem Verfahren | |
DE69802437T2 (de) | Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen | |
DE69504965T2 (de) | Datenspeicherung | |
DE69618131T2 (de) | Anordnung und Verfahren zur Betriebsmittelverwaltung von verteilten Objekten | |
DE69803657T2 (de) | Wiederverwendbares datenbanksystem | |
DE3752196T2 (de) | Vorrichtung für Datenverarbeitungsverteilung über eine Mehrzahl von Steuerungsorten | |
DE69510251T2 (de) | Informationsverarbeitungsverfahren und -vorrichtung | |
DE69618864T2 (de) | Informationsverwaltungseinrichtung zum effizienten Verwalten von Multimedia-Titeln in einem Klient-Server-Netzwerk | |
DE202011110895U1 (de) | Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
8339 | Ceased/non-payment of the annual fee |