DE69505561T2 - Verfahren und gerät um unterbaumstrukturen in einer netzwerkdatei zu verschieben - Google Patents
Verfahren und gerät um unterbaumstrukturen in einer netzwerkdatei zu verschiebenInfo
- Publication number
- DE69505561T2 DE69505561T2 DE69505561T DE69505561T DE69505561T2 DE 69505561 T2 DE69505561 T2 DE 69505561T2 DE 69505561 T DE69505561 T DE 69505561T DE 69505561 T DE69505561 T DE 69505561T DE 69505561 T2 DE69505561 T2 DE 69505561T2
- Authority
- DE
- Germany
- Prior art keywords
- department
- destination
- target
- copy
- move
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 19
- 230000033001 locomotion Effects 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 5
- 238000005192 partition Methods 0.000 description 16
- 230000004044 response Effects 0.000 description 14
- 238000007726 management method Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 102100033265 Integrator complex subunit 2 Human genes 0.000 description 2
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 2
- 102100039134 Integrator complex subunit 4 Human genes 0.000 description 2
- 101710092887 Integrator complex subunit 4 Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000011181 container closure integrity test Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/282—Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4517—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using open systems interconnection [OSI] directories, e.g. X.500
-
- 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/953—Organization of data
- Y10S707/955—Object-oriented
-
- 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/953—Organization of data
- Y10S707/956—Hierarchical
-
- 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/964—Database arrangement
- Y10S707/966—Distributed
-
- 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/964—Database arrangement
- Y10S707/966—Distributed
- Y10S707/971—Federated
- Y10S707/972—Partitioning
-
- 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
- Y10S707/99932—Access augmentation or optimizing
-
- 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
- Y10S707/99933—Query processing, i.e. searching
-
- 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/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
- Die vorliegende Erfindung betrifft die Handhabung verteilter Verzeichnisse in digitalen Netzwerken, und insbesondere die Bewegung eines Objekts oder Unterbaums eines verteilten Verzeichnisses eines digitalen Netzwerks innerhalb des Verzeichnisses oder zu einem anderen Verzeichnis.
- Technische Fortschritte bei der Mikroelektronik und digitalen Computersystemen haben zur Verbreitung von Digitalcomputernetzwerken geführt, was die Verteilung von Netzwerkdiensten über einen weiten Bereich von Computern ermöglicht, die an dem Netzwerk teilnehmen, und über verschiedene Kommunikationsmedien. Fortschritte bei Verteilungsanwendungen haben darüber hinaus zu einer Client- Server-Architektur für Anwendungen geführt. Bei einer derartigen Architektur sind die Anteile der Anwendung, die in Wechselwirkung mit dem Benutzer stehen, typischerweise von den Anteilen der Anmeldung getrennt, welche die Client- Verarbeitungsanforderungen erfüllen. Typischerweise werden die Anteile einer Anmeldung, die in einer Wechselwirkung mit dem Benutzer stehen, Client-Anwendungen oder Client-Software genannt, wogegen die Anteile der Anwendungen, die Anforderungen bedienen, die von den Client-Anwendungen herstammen, als Server-Anwendungen oder Server-Software bezeichnet werden. In einer Netzwerkumgebung werden die Client-Anwendungen und die Server-Anwendungen im allgemeinen auf unterschiedlichen Computern ausgeführt.
- In der Vergangenheit bestanden digitale Netzwerke in Form eines Lokalbereichnetzwerks, einer körperlichen Ansammlung von Personal Computers, die miteinander über Netzwerkkabel und Netzwerk-Schnittstellenkarten verbunden waren, aus einem einzigen Netzwerk-Server und mehreren Netzwerk-Clients. Zur Handhabung, welche Netzwerk-Clients auf den Netzwerk-Server zugreifen konnten, und welche Dateien, Drucker, Druckerwarteschlangen und Server-Anwendungen für die Netzwerk-Clients verfügbar waren, unterhielt der Netzwerk- Server Information in bezug auf jede der Ressourcen aufrecht, die mit dem Server verbunden waren, und in bezug auf die Identität der Netzwerk-Clients und der Benutzer, welche die Dienste des Netzwerk-Servers nutzen konnten, sowie in bezug auf den Umfang und die Art der Dienste, die den Netzwerk- Clients und Benutzern zur Verfügung standen.
- Mit wachsender Popularität von Lokalbereichsnetzwerken stieg der Umfang der Netzwerke an, die nunmehr mehrere Server zur Bedienung der Anforderungen von Benutzern erforderten. Mit wachsender Größe und Komplexität von Netzwerken wurde es erforderlich, eine einfachere Handhabung von Netzwerk-Servern zur Verfügung zu stellen. Benutzer benötigten den Zugriff auf eine zunehmende Anzahl an Diensten, die sich auf einer zunehmenden Anzahl von Netzwerk-Servern befanden. Verschiedene Anbieter begannen damit, vernetzt arbeitende Server anzubieten. Jeder Anbieter implementierte ein unterschiedliches Schema zur Bereitstellung von Information in bezug auf vernetzte Dienste. Darüber hinaus erforderte jeder Netzwerk-Server, infolge der Art und Weise, in welcher der Server Information nur über seine vernetzten Dienste aufrechterhielt, immer noch die Handhabung seiner Ressourcen, unabhängig von anderen Netzwerk-Servern.
- Diese isolierte Vorgehensweise in bezug auf die Aufrechterhaltung von Information bezüglich vernetzter Dienste förderte die Forschung und Entwicklung verteilter Netzwerkverzeichnisse, also Datenbanken, die vernetzt arbeitende Server überbrückten. Bislang hat die Forschung zu mehreren potentiellen Lösungen geführt. Drei Techniken sind momentan vielversprechend, die große Anzahl isolierter, idiosynkratischer Verzeichnisse zu ersetzen, die momentan zahlreiche Lokalbereichsnetzwerke und Elektronikpostsysteme vieler Firmen belasten. Eine Vorgehensweise nutzt das Dienstprotokoll X.500 für verteilte Netzwerkinformationsverzeichnisse, welches so entwickelt wurde, wie es von dem Konsortium aus CCIT und Open Systems Interconnect veröffentlicht wurde.
- Zwar scheint das X.500-Protokoll am vielversprechendsten zur Bereitstellung eines robusten, verteilten Verzeichnisses zu sein, jedoch tat sich das X.500-Protokoll schwer, akzeptiert zu werden. Das X.500-Protokoll wurde von Anfang an durch Handhabungsprobleme, Probleme in bezug auf Universalität und Sicherheit geplagt. Die Vorschriften des X.500-Protokolls beschreiben einen technischen Rahmen, Anforderungen an die Universalität sowie Verträglichkeitskriterien, jedoch werden keine spezifischen Implementierungen beschrieben. Zahlreiche Einzelheiten der Implementierung wurden daher den Systemprovidern überlassen.
- Die Vorschrift des X.500-Protokolls beschreibt ein verteiltes Verzeichnis. Das Verzeichnis stellt Informationsdienste Netzwerkklienten zur Verfügung. Die Information in dem Verzeichnis kann von Benutzern, deren Zugriffsrechte dies gestatten, sowohl gelesen als auch abgeändert werden.
- Die in dem Verzeichnis gespeicherte Information ist eine Ansammlung von Objekten mit zugehörigen Attributen oder Eigenschaften. Fig. 1 zeigt ein Objekt mit der Bezeichnung "Computer" mit einigen zugehörigen Eigenschaften, etwa Besitzer, Operator, Status, usw. Die Werte der Eigenschaften sind in der Figur nicht gezeigt, jedoch läßt sich als Beispiel für einen Wert für "Besitzer" "Fred" angeben. Objekte in dem Verzeichnis und ihre Namen entsprechen Dingen, auf die sich Menschen beziehen, wenn sie mit Computern umgehen, nämlich Benutzer, Drucker, Druckerwarteschlangen, Netzwerke und Information. Objekte wie beispielsweise Länder, Organisationen, Netzwerke, Menschen und Computer stellen ebenfalls Objekte dar, die man in dem Verzeichnis finden kann.
- Das Verzeichnis stellt Information an Benutzer dadurch zur Verfügung, daß den Benutzern eine hierarchische Darstellung der gesamten Information gegeben wird, die in dem Verzeichnis enthalten ist. Die hierarchische Darstellung weist im allgemeinen die Form eines Baums auf. Fig. 2 zeigt ein Verzeichnis. Jeder der Zweige und der Endpunkte oder Blätter repräsentiert Objekte in dem Verzeichnis. Im allgemeinen wird bei der Implementierung des Verzeichnisses eine Organisation von Objekten in Unterbäumen durchgeführt, in Abteilungen oder Bereichen. Fig. 2 zeigt ebenfalls das Verzeichnis, welches in Abteilungen oder Bereiche aufgeteilt ist. Mehrfachkopien jeder Abteilung können in dem Verzeichnis gespeichert sein. Softwareschemata definieren die Anzahl und Arten von Kopien jeder Abteilung fest und bestimmen diese.
- Mehrere Kopien einer Abteilung sind dazu erforderlich, die Anforderungen an die Netzwerkspeicherung und die Belastung zu verringern, und um das Durchsuchen von Verzeichnissen zu beschleunigen. Kopien werden in Namen-Servern gespeichert. Ein Namen-Server ist ein Computer in dem Netzwerk, gewöhnlich ein Netzwerk-Server. Mehr als eine Abteilung kann in einem Namen-Server gespeichert werden. In einem Namen-Server gespeicherte Abteilungen müssen nicht stetig aneinander anschließen.
- Der Verzeichnisbaum stellt eine logische Einrichtung für das Suchen von Information zur Verfügung. Der Baum wird normalerweise entsprechend logischer Gruppierungen aufgebaut, beispielsweise Organisationen, Organisationseinheiten, Computern und Benutzern. Diese logischen Gruppierungen sind zwar äußerst nützlich darin, Benutzern zu helfen, relevante Information aufzufinden, jedoch führen sie zu signifikanten Schwierigkeiten bei der Handhabung des Verzeichnisses.
- Jede Abteilung bildet einen Haupt-Unterbaum des Verzeichnisses. Zusammen bilden die Abteilungen eine hierarchischen Baum von Abteilungen, der zurück zu einer Wurzelabteilung führt, welche das Wurzelverzeichnis enthält. Dort, wo die Grenzen zweier Abteilungen zusammentreffen, wird die näher an der Wurzel gelegene Abteilung als übergeordnet angesehen, und die weiter von der Wurzel entfernte Abteilung als untergeordnet. Daher sind in Fig. 2 die Abteilungen E und C den anderen Abteilungen untergeordnet.
- Die vorliegende Erfindung löst eines derartiger Probleme. Wenn sich Objekte des Verzeichnisses ändern, muß auch das Verzeichnis geändert werden. Organisationen, Organisationseinheiten, Computer und Nutzungen bewegen sich alle. Heute kann die Rechtsabteilung über die Finanzabteilung berichten. Morgen könnte einer der Angestellten der Finanzabteilung ins Marketing versetzt werden. Vor der Erfindung mußten Systemverwalter, die für die Aufrechterhaltung eines Verzeichnisses verantwortlich waren, jedes Objekt in dem Verzeichnis bewegen, in Reaktion auf eine reale Änderung des Zustands des Objekts. Unglücklicherweise waren keine Möglichkeiten vorhanden, grobkörnige Objekte wie beispielsweise eine ganze Abteilung zu bewegen. Wenn die Rechtsabteilung so bewegt wurde, daß sie der Finanzabteilung berichten mußte, mußte jedes Objekt in dem Rechts-Unterbaum getrennt bewegt werden.
- Die IEE Transactions on Software Engineering, Juni 1993, USA, Vol. 19, No. 6, Seiten 613-624, RAO H. C. et al "Accessing Files in an Internet: the Jade file system" beschreibt allgemein ein System mit verteilten Dateien, welches ein verteiltes Verzeichnis unterstützen kann, das über mehrere Server arbeitet, wobei das Verzeichnis mehrere Abteilungen ("Bereiche") mit einem oder mehreren Objekten in jeder der Abteilungen aufweist, das eine Objekt oder die mehreren Objekte ein Wurzelobjekt umfassen, zumindest einer der Server eine Kopie einer oder mehrerer der mehreren Abteilungen aufweist, und mit einer Hierarchie übergeordneter und untergeordneter Objekte versehen ist, bei welcher zumindest eines der Wurzelobjekte einem übergeordneten Objekt untergeordnet ist (vgl. Seite 614, Spalte 1, Zeile 12 - Seite 615, Spalte 1, Zeile 19 sowie Fig. 1).
- Die vorliegende Erfindung stellt ein Verfahren zum Bewegen einer Abteilung in einem verteilten Netzwerkverzeichnis gemäß dem kennzeichneten Teil des Patentanspruchs 1 zur Verfügung, der nachstehend angegeben ist. Durch die vorliegende Erfindung kann jeder Abschnitt eines Verzeichnisbaums, unter der Voraussetzung, daß er sich am Ende des Baums befindet, entweder innerhalb eines Verzeichnisses oder zu einem anderen Verzeichnis bewegt werden. Infolge der Erfindung wird die Bereitstellung der Verwaltung verteilter Netzwerkverzeichnisse erleichtert. Daher wird auch die Verwendung verteilter Netzwerkverzeichnisse zunehmen, was es ermöglicht, überall Netzwerkberechnungen einzusetzen.
- Die vorliegende Erfindung läßt sich unter Bezugnahme auf die nachstehende, detaillierte Beschreibung zusammen mit den Zeichnungen besser verstehen, in denen zeigt:
- Fig. 1 ein typisches Verzeichnisobjekt, einen Computer, mit einigen seiner zugeordneten Attribute;
- Fig. 2 einen typischen Verzeichnisbaum;
- Fig. 3 ein hypothetisches Schema von Kopien;
- Fig. 4 die Art und Weise, wie externe Referenzen Rückwärtsverbindungen benutzen;
- Fig. 5 die Art und Weise, wie das NDS in die Familie von NetWare-Kommunikationsprotokollen paßt;
- Fig. 6 die Paketstruktur von NDS-Paketen;
- Fig. 7 die Sequenzen, die von der Erfindung zur Bewegung eines Blattobjekts verwendet werden;
- Fig. 8 die Bewegung eines Unterbaums.
- Die vorliegende Ausführungsform der Erfindung, der NetWare- Verzeichnisdienst von Novell oder NDS, unterstützt die Bewegung eines Endpunkts oder Blattobjekts oder eine Abteilung, damit ein Unterbaum umorganisiert werden kann. Jeder Anteil eines Verzeichnisbaums, unter der Voraussetzung, daß er sich am Ende des Baums befindet, kann entweder innerhalb eines Verzeichnisses oder zu einem anderen Verzeichnis bewegt werden.
- NDS beruht auf dem X.500-Standard und ist innerhalb des NetWare-Netzwerkbetriebssystems von Novell implementiert. Novell's Implementierung von NDS beruht auf der X.500- Standardspezifikation. Die X.500-Spezifikation stellt nicht sämtliche Einzelheiten zur Verfügung, die zur Implementierung eines verteilten Netzwerkverzeichnisses erforderlich sind.
- NDS ist innerhalb des NetWare-Netzwerkbetriebssystems anhand der NetWare-Protokolle in Maschinensprache von Novell implementiert, und anhand eines neuen Protokolls in Maschinensprache, welches als das NDS-Protokoll bezeichnet wird. Die anderen Bestandteile der Maschinenspracheprotokolle, die in dem NetWare- Netzwerkbetriebssystem implementiert sind, sind in Fig. 5 gezeigt. IPX ist das Netzwerkschichtprotokoll in Maschinensprache von NetWare. Es stellt eine bestmögliche Datagramm-Lieferung von einem Ende zum anderen zur Verfügung. Es befördert die Arbeitsbelastung über ein Lokalbereichsnetzwerk (LAN), ein Weitbereichsnetzwerk (WAN), oder über irgendein Verbundnetzwerk miteinander verbundener WAN-LAN-Datenverbindungen gleicher oder ungleicher Arten. Eine IPX-Netzwerkadresse hat drei Teile, eine Netzwerknummer (4 Byte), die ein Netzwerkssegment identifiziert, eine Knotennummer (6 Byte), die einen Computer auf diesem Segment identifiziert, und eine Sockelnummer (2 Byte), die eine Softwaregröße innerhalb des Computers identifiziert. Als Alternative zu IPX können NetWare-Protokolle über IP arbeiten.
- Das RIP (Leitweginformationsprotokoll) unterstützt die Weiterleitung von IPX-Paketen über ein Verbundnetzwerk. Leitweggeräte sind jene Geräte, die Netzwerksegmente miteinander verbinden. Herkömmlicherweise tauschen IPX- Leitweggeräte Verbindungsinformation miteinander unter Verwendung von RIP aus, um die geeigneten Wege festzulegen, welche Datenpakete nehmen sollen. RIP verwendet ein Schema mit periodischen Sendungen.
- Dem SAP (Service Ankündigungsprotokoll) liegt ein ähnliches Konzept wie RIP zu Grunde, jedoch beschreibt die ausgetauschte Information Dienste und ihre Adressen (statt der Netzwerkverbindungen). Leitweggeräte verteilen SAP- Information, wie sie es auch mit RIP tun. Über SAP können Klienten Servern vieler verschiedener Arten begegnen. SAP wird für das Bootstrap-Laden eines Klienten in die NDS-Welt verwendet: Ein Klient verwendet SAP dazu, beim Initialisieren seinen ersten NDS-Server aufzufinden.
- NLSP (NetWare-Verbindungsdienstprotokoll) ist ein neueres Leitwegprotokoll, welches dazu ausgelegt ist, eine Größenanpassung an größere Umgebungen als bei RIP und SAP zu ermöglichen. Es spielt die Rolle von RIP und SAP für große Verbundnetzwerke. Es überträgt die selbe Information wie RIP und SAP, sendet jedoch Aktualisierungen aus, wenn Änderungen auftreten, anstatt periodische Sendungen benutzen. NCP (NetWare-Kernprotokoll) implementiert NetWare-Dienste, beispielsweise den entfernten Dateizugriff. Wie in Fig. 5 gezeigt werden NDS-Pakete innerhalb von NCP-Pakten befördert. Zwar betrifft der überwiegende Anteil dieser Beschreibung NDS-Nachrichten, jedoch umfaßt die Implementierung von NDS auch einige wenige neue NCP-Verben.
- Fig. 6 zeigt den Aufbau von NDS-Paketen mit NCP-Paketen. Der Vorspann und der Nachlauf der Datenverbindung sind spezifisch für das Medium, und sind in dem Standard für jede LAN- oder WAN-Technik dokumentiert. Die Nachrichtenformate bei dieser Beschreibung legen einen Offset für jedes Feld fest. Der Offset ist gegenüber dem Start des NCP-Abschnitts des Pakets vorhanden. Das erste Byte des NCP-Vorspanns weist einen Offset von null auf. Der Anforderung/Antwortfragmentierungsvorspann ist die Einrichtung zur Übertragung einer NDS-Anforderung und einer NDS-Antwort in einer Reihe von NCP- Anforderung/Antwortaustauschvorgängen. Die Anordnung von Feldern in dem NDS-Datenabschnitt des Pakets ändert sich, in Abhängigkeit von dem Verbumfelds des NDS-Vorspanns. Spätere Abschnitte dieses Dokuments geben die Paketformate im einzelnen an.
- Ein Beendigungscodefeld existiert für NCP-Antworten und für NDS-Antworten, die innerhalb von NCP (fragmentiert) befördert werden. In beiden Fällen bedeutet der Beendigungscode gleich null "Erfolg". Werte ungleich null berichten verschiedene Fehlerzustände.
- Aus der bevorzugten Sicht eines Netzwerk-Klienten sieht die Bewegung eines Unterbaums ebenso aus wie Bewegung eines einzelnen Blattobjekts. Vom Standpunkt eines Servers aus sind die Bewegung eines Unterbaums und die Bewegung eines einzelnen Blattobjekts deutlich verschieden. Die Einzelheiten der Bewegung eines Blattobjekts sind nachstehend angegeben. Die Einzelheiten bezüglich der Bewegung eines gesamten Unterbaums, und die Bewegung von der vorteilhaften Stellung eines Servers aus, werden nachstehend überlegt. Vergleiche den nachstehenden Abschnitt "Bewegung eines Unterbaums".
- Wenn ein NDS-Netzwerkklient einen NDS-Verzeichniseintrag von einem Container-Objekt zu einem anderen in dem Baum bewegt, so ist es möglich, daß sich die Objekte des Ausgangscontainers und des Bestimmungscontainers in unterschiedlichen Abteilungen befinden. Ein Containerobjekt ist jedes Objekt, welches ein anderes Objekt enthalten kann, beispielsweise ein Unterbaum. Wenn ein Netzwerkklient den NDS-Eintrag bewegt, so kann es auftreten, daß es keine Server gibt, die eine schreibbare Kopie beider Abteilungen enthalten.
- Jede Abteilung kann Kopien auf mehreren Servern aufweisen. Es wird angenommen, daß drei NDS-Server für einen Namensbaum vorhanden sind: Die Server S, T und U. Eine mögliche Anordnung von Kopien für Fig. 2 unter den Servern ist in Fig. 3 dargestellt. Es gibt keine Einschränkungen für die gemeinsame Anordnung von Kopien auf Servern; beispielsweise müssen die Kopien, die zusammen auf einem Server gespeichert sind, keine stetig ineinander übergehenden Abteilungen repräsentieren.
- Manchmal muß ein Namens-Server Information über Objekte aufrechterhalten, die außerhalb der Kopien liegen, die in ihm enthalten sind. Die besten Beispiele sind jene Objekte, die ihren Kopien in dem Baum übergeordnet sind. Vergleiche Fig. 4. Die Objekte A und Wurzel befinden sich nicht in einer Kopie einer Abteilung auf dem Server T. Um jedoch den Namen von Objekten in Q zu wissen, benötigt T den Namen von A. Diese Information wird in einer Datenanordnung festgehalten, die als externe Referenz bezeichnet wird. Da sich eine externe Referenz nicht in einer Kopie befindet, ist sie mit anderen Servern nicht synchronisiert. Sie weist jedoch eine Eintragsidentifizierung auf, die auf dem Server gültig ist, wo sie liegt (im vorliegenden Fall: T). Ändert sich der Name von A, so muß die externe Referenz aktualisiert werden. Um dies zu gestatten weist das Objekt A einen Rückwärtsverbindungsattributwert auf, der auf jede externe Referenz zu A zeigt. Dies ist die gestrichelte Linie in Fig. 4.
- Da es möglich ist, daß keine Server vorhanden sind, die eine schreibbare Kopie beider Abteilungen enthalten, wenn ein Klient NDS-Eintrag zu bewegen versucht, umfaßt die Bewegung eines Objektes zwei Operationen: "Begin Move Entry" und "Finish Move Entry".
- Im einzelnen sind folgende Schritte zur Bewegung eines Blattobjekts vorhanden:
- 1. Der Klient identifiziert zwei Server. Der Ausgangsserver ist jener, der die Master-Kopie des Objekts hält, das bewegt wird. Der Bestimmungsserver ist jener, der die Master-Kopie des Containers hält, in welchen das Objekt bewegt wird. Manchmal handelt es sich um den gleichen Server, jedoch ist die selbe Prozedur einsetzbar.
- 2. Der Klient schickt eine Anforderung "Begin Move Entry" an den Bestimmungsserver. Zu diesem Zeitpunkt erzwingt der Bestimmungsserver eine Zugriffskontrolle, um die Operation zuzulassen oder zu verweigern. Das NDS- Protokollverb von "Begin Move Entry" hat den in Tabelle 1 angegebenen Aufbau. Tabelle 1 - Begin Move Entry-Aufbau (42 (0 · 2A))
- *Int4 - ganze Zahl mit 4 Byte, die in der Reihenfolge Low- High übertragen wird.
- *Ustring - ein Unicode-String, der mit null endet. Unicode ist ein Zeichencodierschema mit fester Länge, mit 16 Bit pro Zeichen. Es legt Codierungen aus allen Sprachen der Welt fest. Die Darstellung wurde so gewählt, daß sie eine feste Länge aufweist, um die Verarbeitung zu vereinfachen. In Unicode ist Bereich von 0 · 0000 bis 0 · 007F ASCII mit 7 Bit (also ANSI X3.4).
- *Align4 - ist ein Füllfeld von 0 bis 3 Byte, damit das nächste Feld auf eine Grenze von 2 Byte beginnt.
- *... - Wenn ein Feld mit variabler Länge auftritt, weisen die nachfolgenden Felder keinen festen Offset auf. In der Offsetspalte tauchen Ellipsen auf, um dies anzuzeigen.
- *Completion Codes Success (Erfolg der Beendigungscodes) = 0
- *DN oder Unterscheidungsname ist eine Darstellung der Abfolge hierarchischer Komponenten. Ein NDS-Objekt wird durch seinen Namen und die Namen der Objekte identifiziert, in denen es enthalten ist, in einer hierarchischen Baumanordnung. Der eigene Name des Objekts wird als Teilname oder als RDN (relativer Unterscheidungsname) bezeichnet. Geht man durch die Hierarchie nach oben, weist jedes enthaltene Objekts seinen eigenen RDN auf. Beispielsweise hat CN = Jan.O = Acme.C = US drei Teilnamen (RDNs) auf. Der gemeinsame Name ist "Jan". Der Organisationsnamen ist "Acme", und der Ländernamen ist "US".
- Diese Anforderung ist an den Server gerichtet, der die Master-Kopie des Bestimmungscontainers enthält. Das neue Elternteil des NDS-Objekts wird durch die Bestimmungselternteileintrag-ID festgelegt. Innerhalb dieses Containers ist sein relativer Unterscheidungsname New RDN. Weiterhin identifiziert der Klient den Server, der die Master-Kopie des vorhandenen Eintrags enthält, durch Aussenden des DN des Ausgangsservers.
- 3. Werden keine Anomalien festgestellt, antwortet der Bestimmungsserver mit Erfolg. Gleichzeitig zeichnet er die Einzelheiten der Bewegungsoperation auf, und startet einen Zeitgeber von zehn Minuten. Wenn der Zeitgeber vor Beendigung der Operation abläuft, löscht er seine Aufzeichnung der Bewegung, und wird Schritt 5 nicht erfolgreich beendet.
- 4. Der Klient führt eine Anforderung Finish Move Entry bei dem Ausgangsserver durch. Das NDS-Protokollverb für Finish Move Entry hat den in Tabelle 2 angegebenen Aufbau. Tabelle 2 - Finish Move Entry (43 (0 · 2B))
- Diese Anforderung richtet sich an den Server, der die Master- Kopie des bewegten Objekts enthält. Die Source Entry ID identifiziert das Objekt auf diesen Server. Der Klient identifiziert den Server, der die Master-Kopie des Bestimmungscontainers enthält, durch Aussenden von DN des Bestimmungsservers. Die Destination Parent Entry ID identifiziert den Elternteilcontainer selbst. Das neue Elternteil des NDS-Objekts wird durch die Destination Parent Entry ID identifiziert. Innerhalb dieses Containers ist sein relativer Unterscheidungsname New RDN. Wenn die Marke Remove Old Name Values gesetzt ist, bleiben alte Werte des Benennungsattributs als mehrfache Werte des Attributs vorhanden (jedoch nicht als Teil von RDN). Diese Auswahl ist unvermeidlich, wenn das Benennungsattribut einen einzelnen Wert aufweist. Ist die Marke gleich null, werden alle vorherigen Werte des Benennungsattributs gelöscht, bevor New RDN hinzugefügt wird.
- 5. Der Ausgangsserver führt eine Restore Entry-Anforderung bei den Bestimmungsserver durch, um die vollständige Objektinformation zu übertragen. Dies kann mehrere Iterationsschritte erfordern. Ist eine zeitweilige Anomalie vorhanden, wird dieser Schritt mehrfach erneut versucht, bevor er beendet ist oder abgebrochen wird. Die Struktur des NDS-Protokollverbs für Restore Entry ist in Tabelle 3 angegeben. Tabelle 3 - Restore Entry (46 (0 · 2E))
- *Request Flags - 0 · 00000001 More, 0 · 00000002 Moving
- *Reply Flags - 0 · 00000400 Reply includes the New Tuned Name
- *Completion Codes Success = 0 ! Hinweis: Das Ausgangsunterscheidungsnamenfeld ist genau nur dann vorhanden, wenn die Bewegungsanforderungsflag auf eins gesetzt ist.
- Diese Operation dient zwei Zwecken.
- (a) Wiederherstellung eines Eintrags, der vorher bei einem externen Medium gespeichert wurde.
- (b) Übertragung der Information eines Eintrags an ihren neuen Ort, wenn ein NDS-Blatteintrag bewilligt wird.
- Die Bewegungsflag gibt an, um welchen Fall es sich handelt; null für (b); eins für (b). Im Fall (b) wird eine Kollision mit einem vorhandenen Namen als Fehler angesehen.
- Die Parent Entry ID gibt das unmittelbare Elternteil des Eintrags an, der wieder hergestellt wird. Der relative Unterscheidungsnamen identifiziert den Eintrag selbst.
- Der Ausgangs-DN (Ausgangsunterscheidungsnamen) identifiziert den vorherigen Namen des Eintrags im Falle einer Bewegungsoperation.
- Die Iterationshandhabung wird hier anders als sonst verwendet. In anderen Situationen ist die Datenmenge, die vom Server zurückgeschickt wird, (potentiell) größer als eine einzelne NDS-Nachricht aufnehmen kann. Im vorliegenden Fall ist dies anders. Die Anforderung kann größer als die größte NDS-Nachricht sein. Wenn das More-Bit des Request Flag-Feldes auf eins gesetzt ist, ist die Restore Entry-Anfrage unvollständig, und muß in einer anderen Restore Entry-Anfrage fortgesetzt werden. Wenn das Bit auf null zurückgesetzt ist, zeigt der Klient die Beendigung einer Reihe von Restore Entry-Anforderungen an. Nur bei Beendigung verarbeitet der Server die Anforderung. Bei der ersten NDS-Anforderung der Reihe stellt der Klient den Iteration Handle auf 0 · FFFFFFFF; bei darauffolgenden Anforderungen auf jenen Wert, der von dem Server bei der vorherigen Antwort zurückgeschickt wurde. Das Antwortformat hängt wie voranstehend angegeben, von den Request Flags ab. Wenn ein Eintrag bewegt wird, überträgt die letzte Antwort Information über den Eintrag an seinem neuen Ort; seinen neuen DN (Unterscheidungsnamen) (in gedruckter Form), und seinen neuen abgestimmten Namen.
- 6. War der Schritt 5 erfolgreich, entfernt der Ausgangsserver den Eintrag aus seiner aktiven Datenbank. Er erzeugt eine bewegte Todesanzeige für den Eintrag, welche den Bestimmungsort identifiziert. Die Todesanzeige breitet sich zu Kopien der Ausgangsabteilung über den Synchronisationskanal aus.
- 7. Der Ausgangsserver schickt eine Anforderung Finish Move Entry an den Klienten. Fig. 7 erläutert den Austausch zwischen drei Parteien. Die zusätzlichen folgenden Schritte zeigen die Interaktion einer größeren Gruppe von Netzwerkservern.
- 8. Weist ein anderer Server eine externe Referenz zur alten Kopie des bewegten Objekts auf, so hält der Ausgangsserver ein Rückwärtsverbindungsattribut (Back Link attribute) für das Objekt fest, welches den anderen Server identifiziert. Unter Verwendung von Information in der Rückwärtsverbindung benachrichtigt er den anderen Server, die externe Referenz zu aktualisieren.
- 9. Dies verwendet die Operation Synch External Reference. Die Ausgangsquelle verwendet eine Todesanzeige "Back Link ... Moved" (Rückwärtsverbindung bewegt) für jeden anderen Server, um zu verfolgen, wer benachrichtigt wurde. Wenn neue Rückwärtsverbindungen auftauchen, während diese Operation weitergeht, werden entsprechende Todesanzeigen "Back Link ... Moved" erzeugt. Der Aufbau des NDS-Protokollverbs für Synch External Reference ist in Tabelle 4 angegeben. Tabelle 4 - Synch External Reference
- Todesanzeigeninformation
- 1) Wiederhergestellt
- 2) Tot
- 3) Bewegt
- 4) Neuer RDN
- Gemeinsame Parameter
- Typ Int2
- Flags Int2
- Unbenutzt Int4
- Erzeugungszeit Zeitstempel
- Datenparameter
- Wiederhergestellt Erzeugungszeit Wiederhergestellt CTS
- Tot NULL
- Bewegt Namen des bewegten Ziels - Tuned (abgestimmt)
- New RDN RDN-Namen
- 10. Inzwischen wird beginnend beim Schritt 3; an den Bestimmungsobjekt ein Todesanzeigenattribut Inhibit Move (Bewegungssperren) angebracht, welches anzeigt, daß momentan eine Bewegung vorgenommen wird. Solang dies Attribut vorhanden ist, kann das Objekt nicht erneut bewegt oder gelöscht werden. Dies verhindert Überlaufzustände, wenn sich die Sache beruhigt. Kopiensynchronisation befördert das neue Objekt (mit seiner Todesanzeige: Inhibit Move) durch die Kopien der Bestimmungsabteilung.
- 11. Wenn (a) die Löschung des Ausgangsobjekts durch die ganze Ausgangsabteilung verbreitet wurde, und (b) die Benachrichtigungen im Schritt 6 beendet wurden, ist das Objekt bereit, gelöscht zu werden. Der Ausgangsserver benachrichtigt den Bestimmungsserver unter Verwendung der Operation Release Moved Entry (bewegten Eintrag freigeben). Zu diesem Zeitpunkt entfernt der Bestimmungsserver das Todesanzeigenattribut Inhibit Move von dem neuen Objekt. Durch Kopiensynchronisierung breitet sich das Entfernen des Attributs zu anderen Kopien der Bestimmungsabteilung aus. Wenn dies passiert ist, und der Bestimmungsserver die Todesanzeige löscht, kann das bewegte Objekt erneut bewegt werden.
- Wie voranstehend erwähnt sieht es aus der Sicht des Klienten so aus, daß die Bewegung eines Unterbaums ebenso ist wie die Bewegung eines einzelnen Eintrags. Es gelten die selben Operationen Begin Move Entry und Finish Move Entry, wie in Fig. 3 gezeigt ist. Der Austausch zwischen Servern ist allerdings völlig anders.
- Fig. 8 zeigt die Bewegung eines Unterbaums. In dem Beispiel wird die Abteilung C unter das Objekt G bewegt. (Wie gewöhnlich wird die Abteilung durch ihr Objekt benannt, das am nächsten an der Wurzel liegt). G befindet sich in der Abteilung F. Die Abteilung A ist das Elternteil der Abteilung C.
- Drei Abteilungen nehmen an der Operation teil. Jede hat eine Master-Kopie. In der nachfolgenden, detaillierten Erläuterung der Operation zur Bewegung eines Unterbaums werden folgende Begriffe verwendet. Bei der Diskussion wird angenommen, daß einige der drei Abteilung gleich sein können, daß einige der Server gleich sein können, und daß:
- S der Server ist, der die Master-Kopie der Abteilung A enthält
- T der Server ist, der die Master-Kopie der Abteilung C enthält
- U der Server ist, der die Master-Kopie der Abteilung F enthält
- W der Server ist, der die Master-Kopie des Objekts des Servers U enthält.
- 1. Der Klient schickt eine Anforderung Begin Move Entry an U. U erzwingt seine Zugriffskontrolle, um die Bewegungsoperation zuzulassen oder zu verweigern.
- 2. Wenn alles in Ordnung ist, antwortet U mit Erfolg. Gleichzeitig zeichnet er die Einzelheiten der Operation auf, und startet einen Zeitgeber von zehn Minuten. Wenn der Zeitgeber abläuft, bevor T antwortet, löscht U seine Aufzeichnung der Einzelheiten der Bewegung, und wird die Operation nicht beendet.
- 3. Der Klient schickt eine Anforderung Finish Move Entry an T. T erzwingt seine Zugriffskontrolle und die Verzeichnisschemaregeln. Weiterhin ordnet T das Objekt, das den Server U repräsentiert, in dem Namensraum an und identifiziert den Server W, der die Master-Kopie des Objekts von U enthält. Er schickt an W eine Anforderung "Control ... Get Entry Move State", um zu bestimmen, ob sich das Objekt von U selbst bewegt. Bewegt es sich, kann die Unterbaumbewegungsoperation nicht weitergehen. Wenn irgendeine dieser Überprüfungen ein Problem anzeigt, schickt T eine Fehlerantwort an den Klienten, und wird die Operation beendet. Der Aufbau des NDS- Protokollverbs für Control ... Get Entry Move State ist in Tabelle 5 angegeben. Tabelle 5 - Control ... Get Entry Move State
- Diese Operation berichtet, ob ein Eintrag bewegt wird oder nicht. Der Eintrag wird durch Entry ID angegeben. Wenn der Eintrag bewegt wird, wird der Beendigungscode "Move In Progress" (momentane Bewegung) zurückgeschickt, und berichtet die Parent Entry ID das neue Elternteil (Parent) des Objekts.
- 4. T schickt eine Anforderung Start Move Tree an U. U überprüft die Anforderung in bezug auf die erwarteten Einzelheiten. Er überprüft auch, daß seine Softwareversion - und die Versionen von Servern, die in den Rückwärtsverbindungen des Bestimmungsabteilungswurzelobjekts (F) angegeben sind - ausreichend hohe Versionsnummern haben, daß sie die Bewegung eines Unterbaums unterstützen können. Ist alles in Ordnung, so schickt er eine Antwort "Erfolg" an T. In der Antwort wird die Flag Partition Overlap (Abteilungsüberlappung) eingestellt, wenn es sich bei den Abteilung A und F um die selbe Abteilung handelt. Der Aufbau des NDS-Protokollverbs für Start Move Tree ist in Tabelle 6 angegeben. Tabelle 6 - Start Move Tree
- Flags - Mt_Created_ExtRef
- Mt-Partition_Overlap
- 5. U stellt den Betrieb der Abteilung von F auf Move Subtree Destination ein. Dies stellt den Zustand der Abteilung und die Zustände der Kopien auf Move State 0 ein, und den Partion Control Distinguished Name (Abteilungssteuerungsunterscheidungsnamen) auf Identifizierung von C. Wenn im Verlauf der Bewegung der Blattnamen des Objekts geändert wird, wird zusätzlich eine Todesanzeige Tree Old RDN hinzugefügt, in welcher der vorherigen Namen aufgezeichnet ist. (Mit dieser Information kann ein Server wirksam nachschlagen, selbst wenn Pakete von noch nicht synchronisierten Servern ankommen, die einen unerwarteten Namen verwenden).
- Hierdurch werden auch diese Änderungen an die Kopien der Abteilung F weitergeleitet.
- 6. T stellt den Betrieb der Abteilung von C auf Move Subtree Source ein. Dies stellt die Kopienzustände auf Move State 0 ein. Hierdurch werden auch drei Abteilungssteuerattribute erzeugt. Jedes dieses drei weist State (Zustand) = Move State 0 und Operation = Move Subtree Source auf. Der Unterscheidungsname (DN) hängt wie nachstehend angegeben vom Typ ab:
- Typ Unterscheidungsname (DN)
- 0 Identifiziert G (neues Elternteilobjekt)
- 1 Identifiziert B (altes Elternteilobjekt)
- 2 Leerer String im Falle einer Überlappung von Abteilungen; anderenfalls identifiziert dies A (Wurzelobjekt der Abteilung in mittelbar oberhalb von C).
- Es wird damit begonnen, diese Änderungen an die Kopien der Abteilung C zu übertragen.
- 7. Wenn der Blattnamen (der relative Unterscheidungsnamen) des Objekts im Verlauf der Bewegung geändert wird, wird auch eine Todesanzeige Tree New RDN hinzugefügt, in welcher der neue Namen aufgezeichnet ist (mit dieser Information kann ein Server wirksam nachschlagen, selbst wenn Pakete von noch nicht synchronisierten Servern ankommen, die einen unerwarteten Namen verwenden). T erstellt eine Liste von Servern, denen die Operation mitgeteilt werden muß. Die folgenden Server sind in der Liste-enthalten- (Duplikate nicht aufgeführt):
- - Server, die Kopien der Abteilung C enthalten.
- - Server, die Kopien der Abteilung F enthalten.
- - Server, die externe Referenzen auf Objekte in C enthalten (Identifiziert durch Rückwärtsverbindungen auf den Objekten).
- Dies ist die "Notification List" ("Benachrichtigungsliste"). Sie ist als Totenanzeige für Move Subtree für jeden Server auf der Liste aufgezeichnet. T beginnt mit der Weiterleitung aller dieser Änderungen an die Kopien der Abteilung C. Wenn im Schritt 4 die Abteilungsüberlappungsflag nicht gesetzt war, schickt T eine Steueranforderung an S, welche Lock Partition (Abteilung verriegeln) für die Abteilung A anzeigt (das Elternteil von C). Dies verhindert andere Abteilungsoperationen bei der Abteilung A, während des Bewegungsvorgangs. Für Bewegungen innerhalb der selben Abteilung ist es unnötig, das Elternteil zu verriegeln.
- 9. T schickt eine Anfrage Finish Move Entry an den Klienten. Von diesem Zeitpunkt an verschwindet der Klient aus dem Bild.
- 10. T veranlaßt die Beendigung der Operation. Er schickt eine Anforderung Move Tree (Baum bewegen) an jeden Server in der Benachrichtigungsliste, veranlaßt durch die zweiten Todesanzeigen. Der Aufbau der NDS- Protokollanforderung Move Tree ist in Tabelle 7 angegeben. Tabelle 7 - Move Tree
- Hierbei werden periodisch wiederholte Versuche unternommen, bis alle Kontakte erfolgt sind. Nachdem mit jedem Server ein erfolgreicher Kontakt erfolgte, stellt T die Benachrichtigungsflag der entsprechenden Todesanzeige ein. Die Anfrage überträgt:
- - Den abgestimmten Namen des C (die Quelle)
- - Den abgestimmten Namen von G (dem Bestimmungsort)
- - Den Kopienzeiger für T (den Master-Server der Abteilung C)
- 11. T fügt seinem Eintrag für C eine bewegte Totenliste hinzu, so daß irgendwelche Anfragen nach einem Objekt in der Abteilung C unter Verwendung von dessen altem Namen korrekt behandelt werden können, während die Operation in Gang ist. Wenn ein Server W auf der Benachrichtigungsliste die Anforderung empfängt, hängt seine Tätigkeit davon ab, welche Kopien der Abteilungen C und F er enthält. In der folgenden Tabelle bedeutet:
- R, daß der Server eine Kopie der Abteilung enthält.
- E, daß der Server eine externe Referenz zum Wurzelobjekt der Abteilung enthält.
- N, daß der Server keins von beiden enthält.
- In den Fällen 1, 2, 3 und 5: W schaltet lokal seine Aufzeichnung des Elternteils von C von B auf G um.
- In den Fällen 4 und 7: W erzeugt lokal eine untergeordnete Bezugnahme für die Abteilung C. Bei der Antwort ist die Flag für Created Subordinate Reference (untergeordnete Referenz erzeugt) eingestellt, wodurch T mitgeteilt wird, die untergeordnete Referenz der Kopienliste von C hinzuzufügen.
- Im Fall 6: W erzeugt lokal eine externe Referenz für G. Bei der Antwort ist die Flag Created External Reference (externe Referenz erzeugt) gesetzt, wodurch T mitgeteilt wird, eine Rückwärtsverbindung zu W zu erzeugen.
- Im Falle 8 und 9: Diese treten nicht auf: Derartige Server befänden sich nicht auf der Benachrichtigungsliste.
- 12. Sobald eine erfolgreiche Kontaktaufnahme mit den Servern auf der Benachrichtigungsliste durchgeführt wurde, schickt T eine weitere Anforderung an die selbe Benachrichtigungsliste: End Move Subtree. Hierdurch werden die bewegten Todesanzeigen gelöscht. Jeder Server hat den neuen Namen gesehen und daher ist es nicht mehr erforderlich, mit Anforderungen fertig zu werden, welche alte Namen von, Objekten verwenden. Wenn jede Anforderung erfolgreich beendet ist, wird bei der entsprechenden Todesanzeige die Flag Purgeable (löschbar) gesetzt.
- 13. Nachdem alle Todesanzeigen Purgeable markiert wurden, schickt T eine Steueranforderung an U und (im Falle einer Nichtüberlappung von Abteilungen) an S, die Unlock Partition (Abteilung entriegeln) für A bzw. F eingibt. Ein Server, der diese Anforderung empfängt, stellt den Zustand der Abteilung und die Zustände der Kopien auf EIN ein, und überträgt die Änderung an die Kopien der Abteilung über den Synchronisationskanal. Schließlich wird T die Operation Unlock Partition selbst für C durch.
- Durch die vorliegende Erfindung kann jeder Abschnitt eines Verzeichnisbaums, unter der Voraussetzung, daß er sich am Ende des Baumes befindet, entweder innerhalb eines Verzeichnisses oder zu einem anderen Verzeichnis bewegt werden. Durch die Erfindung wird die Verwaltung verteilter Netzwerkverzeichnisse verbessert. Dies führt zu einer Zunahme des Einsatzes verteilter Netzwerkverzeichnisse, was eine allumfassende Netzwerkberechnung ermöglicht.
- Obwohl eine Ausführungsform der Erfindung erläutert und beschrieben wurde, lassen sich verschiedene Modifikationen und Änderungen von Fachleuten auf diesem Gebiet vornehmen, ohne vom Umfang der Erfindung abzuweichen.
Claims (12)
1. Verfahren zur Bewegung einer Abteilung (A, C, E, F) in
einem verteilten Verzeichnis, welches über mehrere Server (S,
T, U, W) arbeitet, wobei das Verzeichnis mehrere Abteilungen
mit einem oder mehreren Objekten (B, D, G) in jeder der
Abteilungen aufweist, das eine Objekt oder die mehreren
Objekte ein Wurzelobjekt enthalten, zumindest einer der
mehreren Server eine Kopie von einer oder mehreren der
mehreren Abteilungen aufweist, und eine Hierarchie von
übergeordneten und untergeordneten Objekten aufweist, wobei
zumindest eines der Wurzelobjekte einem übergeordneten Objekt
untergeordnet ist, dadurch gekennzeichnet, daß das Verfahren
folgende Schritte umfaßt:
(a) Identifizierung einer Zielabteilung (C), die ein
Wurzelobjekt (B) aufweist, welches einem Quellenobjekt
untergeordnet ist;
(b) Identifizierung eines Bestimmungsobjekts (G) innerhalb
einer Bestimmungsabteilung (F);
(c) Anforderung einer Bewegung der Zielabteilung (C) von dem
Quellenobjekt zu dem Bestimmungsobjekt;
(d) Identifizieren und Auswählen eines oder mehrerer Server
(S, T, U, W); der bzw. die einen oder mehrere der
folgenden Gegenstände hält bzw. halten;
(i) eine Kopie der Zielabteilung (C);
(ii) eine Kopie der Bestimmungsabteilung (F); oder
(iii) einen Bezug auf ein Objekt (D) in der
Zielabteilung; und
(e) Bewegen der Zielabteilung (C) unter Verwendung folgender
Schritte:
(i) Änderung, in jedem ausgewählten Server, der
Unterordnung des Wurzelobjekts in der
Zielabteilung (C) von dem Quellenobjekt zum
Bestimmungsobjekt, wenn ein derartiger
ausgewählter Server zumindest einen der
folgenden Gegenstände aufweist:
(A) eine Kopie der Zielabteilung (C) und eine
Kopie der Bestimmungsabteilung (F);
(B) eine Kopie der Zielabteilung (C) und einen
Bezug auf das Wurzelobjekt der
Bestimmungsabteilung (F);
(C) eine Kopie der Zielabteilung (C) und weder
eine Kopie der Bestimmungsabteilung (F) noch
einen Bezug auf das Wurzelobjekt der
Bestimmungsabteilung; oder
(D) einen Bezug auf das Wurzelobjekt der
Zielabteilung (C) und einen Bezug auf das
Wurzelobjekt der Bestimmungsabteilung (F);
(ii) Erzeugung, in jedem ausgewählten Server, eines
Bezugs auf das Wurzelobjekt der Zielabteilung
(C) , wenn ein derartiger ausgewählter Server
zumindest einen der folgenden Gegenstände
aufweist:
(A) einen Bezug auf das Wurzelobjekt der
Zielabteilung (C) und eine Kopie der
Bestimmungsabteilung (F); oder
(B) eine Kopie der Bestimmungsabteilung (F), und
weder eine Kopie der Zielabteilung (C) noch
einen Bezug auf das Wurzelobjekt der
Zielabteilung; und
(iii) Erzeugung, in jedem ausgewählten Server,
eines Bezugs auf das Bestimmungsobjekt, wenn
ein derartiger ausgewählter Server einen Bezug
auf das Wurzelobjekt der Zielabteilung (C) und
weder eine Kopie der Bestimmungsabteilung (F)
noch einen Bezug auf das Wurzelobjekt der
Bestimmungsabteilung aufweist.
2. Verfahren nach Anspruch 1, bei welchem der Schritt der
Identifizierung einer Zielabteilung (C) die Identifizierung
des Wurzelobjektes (B) der Zielabteilung umfaßt, welches
einem Quellenobjekt in einer anderen Abteilung (A)
untergeordnet ist.
3. Verfahren nach Anspruch 1, mit dem weiteren Schritt der
Überprüfung, daß die angeforderte Bewegung in dem verteilten
Verzeichnis zulässig ist.
4. Verfahren nach Anspruch 3, bei welchem der Schritt der
Bewegung der Zielabteilung abgebrochen wird, wenn er nicht
innerhalb eines vorbestimmten Zeitraums beendet ist.
5. Verfahren nach Anspruch 4, mit dem weiteren Schritt des
Startens eines Zeitgebers vor der Überprüfung, daß die
angeforderte Bewegung zulässig ist, wobei der vorbestimmte
Zeitraum von dem Zeitgeber gemessen wird.
6. Verfahren nach Anspruch 3, bei welchem der
Überprüfungsschritt die Überprüfung umfaßt, daß die
Anforderung einer Bewegung nicht mit einer Zugriffssteuerung
innerhalb des verteilten Verzeichnisses kollidiert, und den
Abbruch der Bewegung, wenn ein Konflikt vorhanden ist.
7. Verfahren nach Anspruch 3, bei welchem der
Überprüfungsschritt die Überprüfung umfaßt, daß die
angeforderte Bewegung nicht mit Verzeichnisschemaregeln
innerhalb des verteilten Verzeichnisses kollidiert, und
Abbruch der Bewegung, wenn ein derartiger Konflikt vorhanden
ist.
8. Verfahren nach Anspruch 3, bei welchem der
Überprüfungsschritt die Überprüfung umfaßt, daß die
angeforderte Bewegung nicht mit einer anderen Operation
kollidiert, welche die Zielabteilung (C) betrifft, und
Abbruch der Bewegung, wenn ein derartiger Konflikt vorhanden
ist.
9. Verfahren nach Anspruch 3, bei welchem der
Überprüfungsschritt die Überprüfung umfaßt, daß die
ausgewählten Server die angeforderte Bewegung unterstützen
können, und Abbruch der Bewegung, wenn die ausgewählten
Server die angeforderte Änderung nicht unterstützen können.
10. Verfahren nach Anspruch 3, mit dem weiteren Schritt der
Verriegelung der Kopien der Zielabteilung (C) und der
Bestimmungsabteilung (F), bis die Bewegung abgeschlossen ist.
11. Verfahren nach Anspruch 1, mit dem weiteren Schritt der
Verriegelung von Kopien der Abteilung (A), die das
Quellenobjekt enthält, wenn die Quellenobjektabteilung die
Zielabteilung (C) überlappt, bis die Bewegung beendet ist.
12. Verfahren nach Anspruch 1, bei welchem weiterhin einem
oder mehreren der ausgewählten Server (i) die Identität des
Wurzelverzeichnisses zugeführt wird; und (ii) die Identität
des Bestimmungsobjektes.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/357,466 US5608903A (en) | 1994-12-15 | 1994-12-15 | Method and apparatus for moving subtrees in a distributed network directory |
PCT/US1995/016346 WO1996018961A1 (en) | 1994-12-15 | 1995-12-14 | Method and apparatus for moving subtrees in a network directory |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69505561D1 DE69505561D1 (de) | 1998-11-26 |
DE69505561T2 true DE69505561T2 (de) | 1999-03-11 |
Family
ID=23405726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69505561T Expired - Lifetime DE69505561T2 (de) | 1994-12-15 | 1995-12-14 | Verfahren und gerät um unterbaumstrukturen in einer netzwerkdatei zu verschieben |
Country Status (7)
Country | Link |
---|---|
US (3) | US5608903A (de) |
EP (1) | EP0797807B1 (de) |
JP (1) | JP3396223B2 (de) |
AU (1) | AU4599596A (de) |
CA (1) | CA2207958C (de) |
DE (1) | DE69505561T2 (de) |
WO (1) | WO1996018961A1 (de) |
Families Citing this family (150)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289390B1 (en) | 1993-08-18 | 2001-09-11 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
US5684985A (en) | 1994-12-15 | 1997-11-04 | Ufil Unified Data Technologies Ltd. | Method and apparatus utilizing bond identifiers executed upon accessing of an endo-dynamic information node (EDIN) |
US5832487A (en) * | 1994-12-15 | 1998-11-03 | Novell, Inc. | Replicated object identification in a partitioned hierarchy |
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5956489A (en) * | 1995-06-07 | 1999-09-21 | Microsoft Corporation | Transaction replication system and method for supporting replicated transaction-based services |
US6901433B2 (en) * | 1995-06-07 | 2005-05-31 | Microsoft Corporation | System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service |
US5761499A (en) * | 1995-12-21 | 1998-06-02 | Novell, Inc. | Method for managing globally distributed software components |
US5933599A (en) * | 1995-07-17 | 1999-08-03 | Microsoft Corporation | Apparatus for presenting the content of an interactive on-line network |
US5956509A (en) * | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
US5941947A (en) * | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer network |
US6275867B1 (en) * | 1995-09-12 | 2001-08-14 | International Business Machines Corporation | Operation-partitioned off-loading of operations in a distributed environment |
SE507482C2 (sv) * | 1995-10-09 | 1998-06-15 | Ericsson Telefon Ab L M | System och förfarande för kommunikationshantering med redundans |
US5778367A (en) * | 1995-12-14 | 1998-07-07 | Network Engineering Software, Inc. | Automated on-line information service and directory, particularly for the world wide web |
US6598094B1 (en) | 1998-03-20 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for determining status of remote objects in a distributed system |
US6182083B1 (en) | 1997-11-17 | 2001-01-30 | Sun Microsystems, Inc. | Method and system for multi-entry and multi-template matching in a database |
US6438614B2 (en) | 1998-02-26 | 2002-08-20 | Sun Microsystems, Inc. | Polymorphic token based control |
US6421704B1 (en) | 1998-03-20 | 2002-07-16 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of group membership in a distributed system |
US6832223B1 (en) | 1996-04-23 | 2004-12-14 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6487607B1 (en) | 1998-02-26 | 2002-11-26 | Sun Microsystems, Inc. | Methods and apparatus for remote method invocation |
US6466947B2 (en) * | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
US6393497B1 (en) | 1998-03-20 | 2002-05-21 | Sun Microsystems, Inc. | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system |
US6560656B1 (en) | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
US6708171B1 (en) | 1996-04-23 | 2004-03-16 | Sun Microsystems, Inc. | Network proxy |
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6138238A (en) | 1997-12-11 | 2000-10-24 | Sun Microsystems, Inc. | Stack-based access control using code and executor identifiers |
US6938263B2 (en) | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
US6412017B1 (en) * | 1996-07-01 | 2002-06-25 | Microsoft Corporation | Urgent replication facility |
US6138123A (en) * | 1996-07-25 | 2000-10-24 | Rathbun; Kyle R. | Method for creating and using parallel data structures |
US5893116A (en) * | 1996-09-30 | 1999-04-06 | Novell, Inc. | Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US6728737B2 (en) | 1996-10-11 | 2004-04-27 | Sun Microsystems, Inc. | Method and system for leasing storage |
US6237009B1 (en) | 1996-10-11 | 2001-05-22 | Sun Microsystems, Inc. | Lease renewal service |
US5913025A (en) * | 1996-11-14 | 1999-06-15 | Novell, Inc. | Method and apparatus for proxy authentication |
US7136903B1 (en) | 1996-11-22 | 2006-11-14 | Mangosoft Intellectual Property, Inc. | Internet-based shared file service with native PC client access and semantics and distributed access control |
US6647393B1 (en) * | 1996-11-22 | 2003-11-11 | Mangosoft Corporation | Dynamic directory service |
US6061740A (en) * | 1996-12-09 | 2000-05-09 | Novell, Inc. | Method and apparatus for heterogeneous network management |
US6029247A (en) * | 1996-12-09 | 2000-02-22 | Novell, Inc. | Method and apparatus for transmitting secured data |
US5903720A (en) * | 1996-12-13 | 1999-05-11 | Novell, Inc. | Object system capable of using different object authorization systems |
US6424988B2 (en) * | 1997-02-19 | 2002-07-23 | Unisys Corporation | Multicomputer system |
US5878415A (en) * | 1997-03-20 | 1999-03-02 | Novell, Inc. | Controlling access to objects in a hierarchical database |
US5933826A (en) * | 1997-03-21 | 1999-08-03 | Novell, Inc. | Method and apparatus for securing and storing executable content |
US6029246A (en) * | 1997-03-31 | 2000-02-22 | Symantec Corporation | Network distributed system for updating locally secured objects in client machines |
US6189000B1 (en) * | 1997-06-30 | 2001-02-13 | Microsoft Corporation | System and method for accessing user properties from multiple storage mechanisms |
US6216140B1 (en) * | 1997-09-17 | 2001-04-10 | Hewlett-Packard Company | Methodology for the efficient management of hierarchically organized information |
US6014667A (en) * | 1997-10-01 | 2000-01-11 | Novell, Inc. | System and method for caching identification and location information in a computer network |
JP3808608B2 (ja) * | 1997-10-20 | 2006-08-16 | 富士通株式会社 | 蓄積交換型電子会議システムにおけるオブジェクトの移動処理装置及び方法並びに移動処理プログラムを記録したコンピュータ読取可能な記録媒体 |
US5987471A (en) * | 1997-11-13 | 1999-11-16 | Novell, Inc. | Sub-foldering system in a directory-service-based launcher |
US6192368B1 (en) * | 1998-02-11 | 2001-02-20 | International Business Machines Corporation | Apparatus and method for automatically propagating a change made to at least one of a plurality of objects to at least one data structure containing data relating to the plurality of objects |
US6105062A (en) * | 1998-02-26 | 2000-08-15 | Novell, Inc. | Method and system for pruning and grafting trees in a directory service |
US6604127B2 (en) | 1998-03-20 | 2003-08-05 | Brian T. Murphy | Dynamic lookup service in distributed system |
CN1298503A (zh) * | 1998-02-26 | 2001-06-06 | 太阳微系统公司 | 分布式系统中的动态查找服务 |
JP2002505473A (ja) | 1998-02-26 | 2002-02-19 | サンマイクロシステムズ インコーポレーテッド | 決定性ハッシュでリモートメソッドを識別する方法とシステム |
US6108649A (en) * | 1998-03-03 | 2000-08-22 | Novell, Inc. | Method and system for supplanting a first name base with a second name base |
US6247017B1 (en) * | 1998-03-20 | 2001-06-12 | Sun Microsystems, Inc. | Server-client communication over a network |
US6167430A (en) * | 1998-05-12 | 2000-12-26 | Unisys Corporation | Multicomputer with distributed directory and operating system |
US7305451B2 (en) * | 1998-08-24 | 2007-12-04 | Microsoft Corporation | System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network |
US6324571B1 (en) * | 1998-09-21 | 2001-11-27 | Microsoft Corporation | Floating single master operation |
US6381627B1 (en) * | 1998-09-21 | 2002-04-30 | Microsoft Corporation | Method and computer readable medium for discovering master DNS server computers for a given domain name in multiple master and multiple namespace configurations |
US6199194B1 (en) * | 1998-09-25 | 2001-03-06 | Adaptec, Inc. | Method and system for programming firmware over a computer network |
US6185612B1 (en) | 1998-10-29 | 2001-02-06 | Novell, Inc. | Secure distribution and use of weighted network topology information |
US6886012B1 (en) | 1998-11-18 | 2005-04-26 | International Business Machines Corporation | Providing traditional update semantics when updates change the location of data records |
US6308181B1 (en) | 1998-12-19 | 2001-10-23 | Novell, Inc. | Access control with delayed binding of object identifiers |
JP3490642B2 (ja) * | 1999-06-30 | 2004-01-26 | 松下電器産業株式会社 | 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法 |
US6321223B1 (en) * | 1999-07-07 | 2001-11-20 | Inventec Corp. | Method of identifying multilingual text for DOS |
US6654762B2 (en) | 1999-08-16 | 2003-11-25 | International Business Machines Corporation | Generating small footprint applications for mobile devices |
US6415323B1 (en) * | 1999-09-03 | 2002-07-02 | Fastforward Networks | Proximity-based redirection system for robust and scalable service-node location in an internetwork |
US6343296B1 (en) * | 1999-09-03 | 2002-01-29 | Lucent Technologies Inc. | On-line reorganization in object-oriented databases |
US7680819B1 (en) * | 1999-11-12 | 2010-03-16 | Novell, Inc. | Managing digital identity information |
US6424976B1 (en) | 2000-03-23 | 2002-07-23 | Novell, Inc. | Method of implementing a forward compatibility network directory syntax |
US7162499B2 (en) * | 2000-06-21 | 2007-01-09 | Microsoft Corporation | Linked value replication |
US7051078B1 (en) * | 2000-07-10 | 2006-05-23 | Cisco Technology, Inc. | Hierarchical associative memory-based classification system |
US6731927B1 (en) | 2000-07-14 | 2004-05-04 | Context Connect, Inc. | System and method for context association |
US7340048B2 (en) * | 2000-07-14 | 2008-03-04 | Context Connect Llc | System and method for directory services and e-commerce across multi-provider networks |
US7899173B2 (en) * | 2000-07-14 | 2011-03-01 | Context Connect, Llc | Communication connectivity via context association, advertising sponsorship, and multiple contact databases |
US6519610B1 (en) * | 2000-09-01 | 2003-02-11 | Novell, Inc. | Distributed reference links for a distributed directory server system |
EP2197210A3 (de) * | 2000-12-22 | 2010-08-11 | Siemens Aktiengesellschaft | Verfahren zur Verbesserung der Funktionalität der binären Repräsentation von MPEG-7 und andere XML basierten Inhaltsbeschreibungen |
US7296275B2 (en) * | 2001-01-04 | 2007-11-13 | Sun Microsystems, Inc. | Method and system for passing objects in a distributed system using serialization contexts |
US6879564B2 (en) * | 2001-02-28 | 2005-04-12 | Microsoft Corp. | Method for designating communication paths in a network |
US7047525B2 (en) * | 2001-04-02 | 2006-05-16 | American Express Travel Related Services Company, Inc. | System and method for an interoperability framework |
US20030051029A1 (en) * | 2001-09-07 | 2003-03-13 | Reedy Dennis G. | Dynamic provisioning of sevice components in a distributed system |
US7660887B2 (en) * | 2001-09-07 | 2010-02-09 | Sun Microsystems, Inc. | Systems and methods for providing dynamic quality of service for a distributed system |
US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
US7269648B1 (en) * | 2001-09-27 | 2007-09-11 | Emc Corporation | Resolving multiple master node conflict in a DDB |
US6965899B1 (en) * | 2001-09-28 | 2005-11-15 | Oracle International Corporation | Online reorganization and redefinition of relational database tables |
US7035922B2 (en) * | 2001-11-27 | 2006-04-25 | Microsoft Corporation | Non-invasive latency monitoring in a store-and-forward replication system |
JP4186456B2 (ja) * | 2001-11-28 | 2008-11-26 | 沖電気工業株式会社 | 分散ファイル共有システムおよびその制御方法 |
US6772161B2 (en) * | 2001-12-19 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Object-level migration in a partition-based distributed file system |
US6775672B2 (en) * | 2001-12-19 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Updating references to a migrated object in a partition-based distributed file system |
US6775673B2 (en) * | 2001-12-19 | 2004-08-10 | Hewlett-Packard Development Company, L.P. | Logical volume-level migration in a partition-based distributed file system |
US7185359B2 (en) * | 2001-12-21 | 2007-02-27 | Microsoft Corporation | Authentication and authorization across autonomous network systems |
US7089230B2 (en) * | 2002-06-07 | 2006-08-08 | International Business Machines Corporation | Method for efficient processing of multi-state attributes |
US8037181B2 (en) * | 2002-06-28 | 2011-10-11 | Microsoft Corporation | Re-partitioning directories |
US7805401B2 (en) * | 2003-04-14 | 2010-09-28 | Novell, Inc. | Method and apparatus for splitting a replicated volume |
US7401092B2 (en) | 2003-06-26 | 2008-07-15 | Standbysoft Llc | Method and apparatus for exchanging sub-hierarchical structures within a hierarchical file system |
US7792874B1 (en) | 2004-01-30 | 2010-09-07 | Oracle America, Inc. | Dynamic provisioning for filtering and consolidating events |
US7617501B2 (en) | 2004-07-09 | 2009-11-10 | Quest Software, Inc. | Apparatus, system, and method for managing policies on a computer having a foreign operating system |
US7904488B2 (en) * | 2004-07-21 | 2011-03-08 | Rockwell Automation Technologies, Inc. | Time stamp methods for unified plant model |
US8166005B2 (en) * | 2004-09-21 | 2012-04-24 | Emc Corporation | Pathname caching and protection of the root directory in a nested multilayer directory structure |
JP2006120056A (ja) * | 2004-10-25 | 2006-05-11 | Hewlett-Packard Development Co Lp | データベースシステムおよびその方法 |
US8244689B2 (en) | 2006-02-17 | 2012-08-14 | Google Inc. | Attribute entropy as a signal in object normalization |
US7769579B2 (en) | 2005-05-31 | 2010-08-03 | Google Inc. | Learning facts from semi-structured text |
US8682913B1 (en) | 2005-03-31 | 2014-03-25 | Google Inc. | Corroborating facts extracted from multiple sources |
US9208229B2 (en) | 2005-03-31 | 2015-12-08 | Google Inc. | Anchor text summarization for corroboration |
US7587387B2 (en) | 2005-03-31 | 2009-09-08 | Google Inc. | User interface for facts query engine with snippets from information sources that include query terms and answer terms |
US7373348B2 (en) * | 2005-04-14 | 2008-05-13 | International Business Machines Corporation | Distributed directory deployment |
US20060248092A1 (en) * | 2005-04-29 | 2006-11-02 | International Business Machines Corporation | Dynamic exception reporting service for heterogeneous structured enterprise data |
US8996470B1 (en) * | 2005-05-31 | 2015-03-31 | Google Inc. | System for ensuring the internal consistency of a fact repository |
US7831545B1 (en) | 2005-05-31 | 2010-11-09 | Google Inc. | Identifying the unifying subject of a set of facts |
US8219917B2 (en) * | 2005-07-26 | 2012-07-10 | International Business Machines Corporation | Bubbling up task severity indicators within a hierarchical tree control |
US8935294B2 (en) * | 2005-08-10 | 2015-01-13 | Oracle International Corporation | Minimizing computer resource usage when converting data types of a table column |
US20070050511A1 (en) * | 2005-08-23 | 2007-03-01 | Dias Javana G | Maintaining personal records |
US7904949B2 (en) * | 2005-12-19 | 2011-03-08 | Quest Software, Inc. | Apparatus, systems and methods to provide authentication services to a legacy application |
US8260785B2 (en) | 2006-02-17 | 2012-09-04 | Google Inc. | Automatic object reference identification and linking in a browseable fact repository |
US7991797B2 (en) | 2006-02-17 | 2011-08-02 | Google Inc. | ID persistence through normalization |
US8087075B2 (en) | 2006-02-13 | 2011-12-27 | Quest Software, Inc. | Disconnected credential validation using pre-fetched service tickets |
US8700568B2 (en) | 2006-02-17 | 2014-04-15 | Google Inc. | Entity normalization via name normalization |
US20070220029A1 (en) * | 2006-03-17 | 2007-09-20 | Novell, Inc. | System and method for hierarchical storage management using shadow volumes |
US7991798B2 (en) * | 2006-05-31 | 2011-08-02 | Oracle International Corporation | In place migration when changing datatype of column |
US8429712B2 (en) | 2006-06-08 | 2013-04-23 | Quest Software, Inc. | Centralized user authentication system apparatus and method |
US7865464B2 (en) | 2006-09-29 | 2011-01-04 | Presenceid, Inc. | Systems and methods for notifying multiple systems and applications of changes to data attributes |
US8103673B2 (en) * | 2006-10-02 | 2012-01-24 | Presenceid, Inc. | Systems and methods for provisioning content from multiple sources to a computing device |
WO2008042907A2 (en) * | 2006-10-02 | 2008-04-10 | Presenceid, Inc. | Systems and methods for managing identities in a database system |
US7788708B2 (en) | 2006-10-02 | 2010-08-31 | Presenceid, Inc. | Systems and methods for delegating information technology authorization to at least one other person |
US8122026B1 (en) | 2006-10-20 | 2012-02-21 | Google Inc. | Finding and disambiguating references to entities on web pages |
US8521706B2 (en) | 2006-10-20 | 2013-08-27 | Oracle International Corporation | Low-downtime and zero-downtime upgrades of database-centric applications |
US7895332B2 (en) | 2006-10-30 | 2011-02-22 | Quest Software, Inc. | Identity migration system apparatus and method |
US8086710B2 (en) | 2006-10-30 | 2011-12-27 | Quest Software, Inc. | Identity migration apparatus and method |
US8347202B1 (en) | 2007-03-14 | 2013-01-01 | Google Inc. | Determining geographic locations for place names in a fact repository |
US8239350B1 (en) | 2007-05-08 | 2012-08-07 | Google Inc. | Date ambiguity resolution |
US9569482B2 (en) * | 2007-05-09 | 2017-02-14 | Oracle International Corporation | Transforming default values dynamically |
US7966291B1 (en) | 2007-06-26 | 2011-06-21 | Google Inc. | Fact-based object merging |
US7970766B1 (en) | 2007-07-23 | 2011-06-28 | Google Inc. | Entity type assignment |
US8738643B1 (en) | 2007-08-02 | 2014-05-27 | Google Inc. | Learning synonymous object names from anchor texts |
US8458129B2 (en) * | 2008-06-23 | 2013-06-04 | Teradata Us, Inc. | Methods and systems for real-time continuous updates |
WO2009043030A2 (en) * | 2007-09-28 | 2009-04-02 | Xcerion Aktiebolag | Network operating system |
US7933991B2 (en) * | 2007-10-25 | 2011-04-26 | International Business Machines Corporation | Preservation of file locks during checkpoint and restart of a mobile software partition |
US8812435B1 (en) | 2007-11-16 | 2014-08-19 | Google Inc. | Learning objects and facts from documents |
US7509310B1 (en) | 2008-05-23 | 2009-03-24 | International Business Machines Corporation | Online relocation of LDAP entries and subtrees in distributed directory environment |
US8101543B2 (en) * | 2008-06-30 | 2012-01-24 | Weyerhaeuser Nr Company | Biodegradable superabsorbent particles |
US9288264B2 (en) * | 2008-08-25 | 2016-03-15 | Novell, Inc. | System and method for implementing a cloud workflow |
US9742864B2 (en) * | 2008-08-25 | 2017-08-22 | Novell, Inc. | System and method for implementing cloud mitigation and operations controllers |
US8286232B2 (en) * | 2009-03-13 | 2012-10-09 | Novell, Inc. | System and method for transparent cloud access |
US8364842B2 (en) * | 2009-03-13 | 2013-01-29 | Novell, Inc. | System and method for reduced cloud IP address utilization |
US9122533B2 (en) | 2009-03-13 | 2015-09-01 | Novell, Inc. | System and method for reducing cloud IP address utilization using a distributor registry |
JP5557840B2 (ja) * | 2008-10-03 | 2014-07-23 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 分散データベースの監視メカニズム |
US8255984B1 (en) | 2009-07-01 | 2012-08-28 | Quest Software, Inc. | Single sign-on system for shared resource environments |
US8359652B2 (en) * | 2009-10-31 | 2013-01-22 | Microsoft Corporation | Detecting anomalies in access control lists |
US9721033B2 (en) | 2011-02-28 | 2017-08-01 | Micro Focus Software Inc. | Social networking content management |
US9141635B2 (en) | 2012-09-28 | 2015-09-22 | Oracle International Corporation | Transparently upgrading derived database objects |
CN110543518B (zh) * | 2019-08-27 | 2022-10-25 | 北京奇艺世纪科技有限公司 | 一种分布式id生成方法、装置、设备及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5001628A (en) * | 1987-02-13 | 1991-03-19 | International Business Machines Corporation | Single system image uniquely defining an environment for each user in a data processing system |
US5369778A (en) * | 1987-08-21 | 1994-11-29 | Wang Laboratories, Inc. | Data processor that customizes program behavior by using a resource retrieval capability |
US5226161A (en) * | 1987-08-21 | 1993-07-06 | Wang Laboratories, Inc. | Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types |
US5113519A (en) * | 1989-05-15 | 1992-05-12 | International Business Machines Corporation | Maintenance of file attributes in a distributed data processing system |
US5418942A (en) * | 1989-07-06 | 1995-05-23 | Krawchuk; Kenneth V. | System and method for storing and managing information |
US5410691A (en) * | 1990-05-07 | 1995-04-25 | Next Computer, Inc. | Method and apparatus for providing a network configuration database |
US5032979A (en) * | 1990-06-22 | 1991-07-16 | International Business Machines Corporation | Distributed security auditing subsystem for an operating system |
US5377323A (en) * | 1991-09-13 | 1994-12-27 | Sun Microsytems, Inc. | Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems |
US5367698A (en) * | 1991-10-31 | 1994-11-22 | Epoch Systems, Inc. | Network file migration system |
US5418966A (en) * | 1992-10-16 | 1995-05-23 | International Business Machines Corporation | Updating replicated objects in a plurality of memory partitions |
US5557731A (en) * | 1993-12-28 | 1996-09-17 | International Business Machines Corporation | Method and system for detecting undefined objects in an application |
US5588147A (en) * | 1994-01-14 | 1996-12-24 | Microsoft Corporation | Replication facility |
US5560005A (en) * | 1994-02-25 | 1996-09-24 | Actamed Corp. | Methods and systems for object-based relational distributed databases |
-
1994
- 1994-12-15 US US08/357,466 patent/US5608903A/en not_active Expired - Lifetime
-
1995
- 1995-12-14 AU AU45995/96A patent/AU4599596A/en not_active Abandoned
- 1995-12-14 EP EP95944113A patent/EP0797807B1/de not_active Expired - Lifetime
- 1995-12-14 JP JP51927396A patent/JP3396223B2/ja not_active Expired - Lifetime
- 1995-12-14 CA CA002207958A patent/CA2207958C/en not_active Expired - Lifetime
- 1995-12-14 WO PCT/US1995/016346 patent/WO1996018961A1/en active IP Right Grant
- 1995-12-14 DE DE69505561T patent/DE69505561T2/de not_active Expired - Lifetime
-
1996
- 1996-10-31 US US08/741,977 patent/US5758344A/en not_active Expired - Lifetime
-
1997
- 1997-03-04 US US08/810,851 patent/US5956718A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5956718A (en) | 1999-09-21 |
WO1996018961A1 (en) | 1996-06-20 |
JP3396223B2 (ja) | 2003-04-14 |
AU4599596A (en) | 1996-07-03 |
DE69505561D1 (de) | 1998-11-26 |
EP0797807B1 (de) | 1998-10-21 |
CA2207958A1 (en) | 1996-06-20 |
US5758344A (en) | 1998-05-26 |
CA2207958C (en) | 2000-07-18 |
US5608903A (en) | 1997-03-04 |
EP0797807A1 (de) | 1997-10-01 |
JPH10510935A (ja) | 1998-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69505561T2 (de) | Verfahren und gerät um unterbaumstrukturen in einer netzwerkdatei zu verschieben | |
DE69530595T2 (de) | System und verfahren für die x.500-datenbanknorm | |
DE69916928T2 (de) | Zugriffsverfahren und Server für Netzwerkverzeichnis | |
EP0825524B1 (de) | Verfahren zur Verwaltung der Benennung von Objekten | |
DE60224030T2 (de) | Verwaltungs- und synchronisierungsapplikation für netzwerkdateisystem | |
DE3853727T2 (de) | Verzeichnisverwaltung in einem Netzwerk für verteilte Datenverarbeitungssysteme. | |
DE69231564T2 (de) | Gerät und Verfahren für ein föderales Namenssystem | |
DE69832946T2 (de) | Verteiltes System und Verfahren zur Steuerung des Zugriffs auf Netzmittel und Ereignismeldungen | |
DE69531513T2 (de) | Vervielfältigungssystem | |
DE3854909T2 (de) | Cacheverwaltungsverfahren und System in einem anteilig genutzten Dateisystem | |
DE69325049T2 (de) | Dateienverwalter für Dateien die durch verschiedene Teilnehmer geteilt werden | |
EP1194865B1 (de) | Verfahren zur datenpflege in einem netzwerk teilweise replizierter datenbanksysteme | |
DE69729399T2 (de) | Datenverwaltungssystem und Verfahren für replizierte Daten | |
DE602005002679T2 (de) | WEB-Dienst-Anwendungsprotokoll und SOAP-Verarbeitungsmodell | |
DE69510962T2 (de) | Semantisches netzwerk | |
DE69624579T2 (de) | System und verfahren für eine verteilte objektverwaltungsumgebung an mehreren orten | |
DE69333960T2 (de) | Namenauflösung in einem Mehrsystem-Netz | |
EP1258812B1 (de) | Virtuelle Datenbank heterogener Datenstrukturen | |
EP0703534B1 (de) | Speicherverwaltungssystem eines Rechnersystems | |
DE60037502T2 (de) | Domänennamen-Auflösungssystem mit einem oder mehreren Servern | |
DE69523939T2 (de) | Verfahren zur erzeugung von objektstrukturen für den zugriff auf konventionelle, nicht objekt-orientierte geschäftsanwendungen | |
DE69214828T2 (de) | Kodeserver. | |
DE69635811T2 (de) | System und verfahren für kommunikationsverwaltung mit redundanz | |
DE19734413C1 (de) | Verfahren zum Aufrüsten einer Datenbank | |
DE19926116A1 (de) | Mehr-Teilprozeß-Protokollierung in einer Konfigurationsdatenbank |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |