-
SACHGEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung bezieht sich allgemein auf das Gebiet einer
Netzwerk-Ressource-Administration,
und, insbesondere, auf Verfahren und Einrichtungen zum Verwalten
von Ressourcen, wie beispielsweise Directory-Service-Objekte, innerhalb eines
Netzwerks, das eine Vielzahl von Benutzern und Ressourcen an kommunikativ
entfernten Stellen besitzt.
-
HINTERGRUND DER ERFINDUNG
-
Bekannte
Verzeichnisdienste (Directory Services – DSs) umfassen Verzeichnis-Informationsbäume (Directory
Information Trees – DITs),
angeordnet so, um Verzeichnisdienst-(DS)-Objekte entsprechend dem
Ort der bestimmten Objekte innerhalb des Netzwerks darzustellen
und zu organisieren (z.B. entfernte, geografische Orte, wie beispielsweise
ein Büro
in Miami, ein Büro
in New York, ein Büro
in Los Angeles, innerhalb einer Organisation, oder sogar nicht dauerhaft
verknüpfte
LAN A, LAN B und LAN C).
-
Organisierende
Verzeichnisdienste, oder irgendwelche Ressource-Zuordnungs-Mechanismen, entsprechend
zu einem Ort, arbeiten gut, wenn nach Netzwerk-Ressourcen gesucht wird und versucht wird,
auf die Netzwerk-Ressourcen, die eng an den Netzwerk-Ort gebunden
sind, zuzugreifen, wie beispielsweise dann, wenn die Research and
Development Ressourcen an einem Ort X vorhanden sind, Verkauf und
Marketing an dem Ort Y vorhanden sind, usw.. Novell Netware 4.0
umfasst einen Verzeichnisdienst, bei dem ein Netzwerk-Verzeichnis
von Ressourcen unter einem höchsten
Niveau entsprechend einem Ort und dann bei niedrigeren Niveaus zu
bestimmten, organisatorischen Gruppen von Ressourcen an jedem der
Orte, vorgesehen unter dem höchsten
Niveau, unterteilt wird.
-
Allerdings
entstehen Probleme beim Zuordnen von Ressourcen, wenn Gruppen einer
Organisation nicht lokal vorhanden sind (um die Organisation an
das Verzeichnis anzupassen). In solchen Fällen sind Ressourcen, die einer
bestimmten Gruppe zugeordnet sind, wie beispielsweise der Gruppe "Research and Development", innerhalb einer
Organisation an einer Anzahl von Knoten innerhalb eines DIT für die Firma
aufgrund der "geografischen" Diversität der Gruppe
vorhanden. Ein Suchen nach bestimmten Ressourcen erfordert ein Durchsuchen
der verschiedenen Orte des DIT.
-
Bekannte
Verzeichnisdienst-Anordnungs-Schemata umfassen auch DITs, die Verzeichnisdienst-Objekte
entsprechend einer Geschäftsstruktur
einer Organisation (z.B. Research and Development, Accounting, Marketing,
Sales, usw., ...) darstellen und organisieren. Solche DITs ermöglichen
einem Administrator, Netzwerk-Objekte entsprechend den logischen
(z.B. Geschäfts-)Beziehungen
zwischen verschiedenen Objekten in dem Netzwerk anzuordnen. Wenn
eine Organisation einen solchen Verzeichnisdienst verwendet, verkörpert der
sich ergebende DIT typischerweise den Aufbau der Geschäftsgruppen
innerhalb der Organisation und stellt sie zusammen. Ein Beispiel
eines Verzeichnisdienstes, der diesen Typ einer Objekt-Anordnung
einsetzt, wird innerhalb der Novell Netware 4.1 vorgefunden, bei
der ein Netzwerk-Verzeichnis
unter den höchsten Niveaus
in verschiedene, administrative Gruppen innerhalb einer Organisation
unterteilt wird. Niedrigere Niveaus stellen Netzwerk-Objekte dar, die
den bestimmten Gruppen, bestimmt an dem höchsten Niveau des DIT, zugeordnet
sind.
-
Ein
Organisieren eines Verzeichnisdienstes von Objekten gemäß einer
logischen (Geschäfts-)Gruppierung
liefert Vorteile gegenüber
einer geografischen Gruppierung von Objekten, wenn die Verzeichnisdienst-Ressourcen,
identifiziert innerhalb des DIT, typischerweise bestimmten Geschäftszwecken
zugeordnet sind. Zum Beispiel kann auf eine bestimmte Client-Datenbank
ausschließlich
durch einen Verkaufsbereich zugegriffen werden. Es ist vorteilhaft,
dass eine solche Ressource nicht innerhalb eines Bereichs eines
Verzeichnisdienstes von Objekten aufgelistet ist, und demzufolge
verwirrend ist, auf die durch Benutzer, die keine Verkäufer sind,
zugegriffen wird. Ein Verzeichnisdienst-Modell, das unter einem
höchsten
Niveau in organisatorische Gruppen unterteilt ist, ist besonders
dann nützlich,
wenn auf die meisten Netzwerk-Ressourcen unter relativ niedrigen
Kosten zugegriffen wird. Dies tritt wahrscheinlich nur dann auf,
wenn die Netzwerk-Ressourcen und Benutzer über permanente Verbindungen
mit hoher Kapazität
unter niedrigen Kosten verbunden sind. Andererseits werden, in vielen
Organisationen, Ressourcen, die einer gegebenen organisatorischen Gruppe
zugeordnet ist, über
das Land hinweg, oder sogar über
die Welt, verteilt, und auf diese Ressourcen wird nur unter großen Kosten
zugegriffen.
-
Noch
andere, bekannte Verzeichnisdienst-Anordnungs-Schemata umfassen
DITs, die Informationen bereitstellen, die sich sowohl auf den Ort als
auch die Organisation beziehen. Allerdings fehlt diesen bekannten
DITs eine ausreichende Allgemeingültigkeit. Insbesondere wird
eine DIT für
eine Firma, die eine Anzahl von entfernten Orten überdeckt,
zu Anfang entsprechend einem Ort unterteilt. An jedem Ort wird das
Verzeichnis entsprechend einer Geschäftseinheit unterteilt. Die
spezifischen Umsetzungen können
von System zu System in Abhängigkeit
davon variieren, wie der System-Administrator den DIT einstellt.
In jedem Fall versucht der Administrator, das Auftreten der Kosten
zum Organisieren des Baums geografisch gegenüber logisch zu minimieren.
-
Um
einen schnellen und effizienten Zugriff auf Daten zu erleichtern,
wie beispielsweise Datenbanken, Verzeichnisse und Programme, in
einem Netzwerk, das sich zu einer Anzahl von entfernten Orten erstreckt,
werden die Daten repliziert (d.h. an einer Anzahl von Orten bzw.
Stellen innerhalb des Netzwerks gespeichert). Zum Beispiel kann,
in einem Netzwerk, das mehrere Local Area Network (LANs), verbunden über nicht
permanente Verbindungen und/oder Verbindungen einer relativ niedrigeren Bandbreite
eines Wide Area Network (WAN), aufweist, ein replizierter Verzeichnisdienst
von Netzwerk-Ressourcen auf mehreren Maschinen innerhalb der kommunikativ
entfernten LANs vorhanden sein.
-
Die
Verwendung einer Informations-Einheit, um eine geografische Einheit,
ein Unternetzwerk oder ein LAN innerhalb eines Netzwerks, verbunden über eine
oder mehrere WAN-Verbindungen, zu identifizieren, ist in den Exchange
Server und System-Management-Server Produkten der Microsoft Corporation
verwendet worden.
-
Router
haben auch eine ähnliche
Identifikation verwendet. Die Network Link State und Open Shortest
Path First Protokolle liefern Mittel für einen Administrator, Kosten
zu Zwischen-Netzwerk-Verbindungen zuzuordnen. Diese Kosten werden
durch Router verwendet, um die Kosten für verschiedene Pfade von einem
Quellenknoten zu einem Bestimmungsknoten in einem Netzwerk zu bestimmen
und die berechneten Kosten dazu zu verwenden, eine geeignete Route
auszuwählen.
-
Baentsch
et al., Introducing application-level replication and naming into
today's Web, Computer Networks
and ISDN Systems, Mai 1996, vol. 28, No. 11, Seiten 921 bis 930,
offenbart eine Maßnahme
auf einem Anwendungs-Niveau, um durch ein Web hervorgerufene Bandbreiten-
und Latenz-Probleme innerhalb des Internets zu lösen, während man mit derzeitigen Mechanismen
des World-Wide Web kompatibel verbleibt. Die Maßnahme basiert auf automatisierten
Replizierungs-Schemata und komplementären Namen-Diensten. Ein erster
Aspekt ist die Verbesserung des Konzepts eines Proxi-Caching, um eine
Replizierung von URL Namen-Räumen
zu aktivieren und zu automatisieren. Ein zweiter Aspekt ist die
Einführung
von Anwendung-Niveau-Namendiensten
und ein Weiterführen
in das Web.
-
Allerdings
wendet sich keine dieser auf einem Ort basierenden Lösungen nach
dem Stand der Technik Lösungen
für das
Problem eines Zuordnens und Umsetzens von Verzeichnisdiensten von
Netzwerk-Ressourcen zu, oder schlägt sie vor, die Verzeichnis-Informationen
in einer Art und Weise präsentieren,
die eine automatisierte Entscheidung erleichtert, um effizient Netzwerk-Verzeichnisdienste zu
verwalten und auszuführen.
-
Demzufolge
ist es die Aufgabe der Erfindung, ein Verfahren und ein Netzwerk
zu schaffen, um Verzeichnisdienste von Netzwerk-Ressourcen bereitzustellen,
die Verzeichnis-Informationen in einer Art und Weise präsentieren,
die eine automatisierte Entscheidung erleichtern, um eine effiziente Verwaltung
von Netzwerk-Verzeichnisdiensten vorzunehmen und auszuführen.
-
Diese
Aufgabe wird durch den Gegenstand gelöst, wie er in den unabhängigen Ansprüchen beansprucht
ist. Bevorzugte Ausführungsformen
der Erfindung sind Ge genstände
von abhängigen
Ansprüchen.
Gemäß der Erfindung
werden eine logische und eine topologische Bestimmung von Netzwerk-Ressourcen
kombiniert.
-
Die
vorliegende Erfindung wird allgemein im Zusammenhang mit einem Netzwerk-Betriebssystem angewandt,
das eine logische Organisation von Objekten und eine topologische
Beschreibung des Netzwerks umfasst, um ein Replizieren von und ein
Zugreifen auf Objekte und Ressourcen entsprechend der Einfachheit,
mit der sie erreicht werden können, zu
erleichtern. Die topologische Beschreibung des Netzwerks wird in
Site-Objekten angegeben. Site-Objekte helfen dabei, eine Anzahl
von Problemen zu beseitigen, die beim Durchführen von verschiedenen Verzeichnisdienst-Operationen,
die Ressourcen innerhalb einer Domäne zugeordnet sind, einschließlich eines
Lokalisierens von Ressourcen, die an einer Anzahl von kommunikativ
entfernten Stellen verfügbar
sind, oder darüber
repliziert sind.
-
Die
Site-Objekte erleichtern eine allgemeine Darstellung des topologischen
Aufbaus eines Netzwerks in Bezug auf den Aspekt von Netzwerk-Kommunikations-Kosten.
Alle Maschinen innerhalb einer selben Site werden dahin angenommen,
dass sie gut verbunden sind. Die Site-Bestimmungen erleichtern eine
automatische Separation von Netzwerk-Einheiten in Gruppen entsprechend
den allgemeinen Kosten einer Kommunikation zwischen den Netzwerk-Einheiten.
-
Die
Vorteile, die durch einen Verzeichnisdienst, organisiert in der
vorstehenden Art und Weise, erzielt werden, sind klar. Zum Beispiel
kann eine Zusammenstellung von Maschinen, die innerhalb eines Verzeichnisdienstes
existieren, innerhalb des DIT entsprechend deren logischer Zugehörigkeit
zu anderen Verzeichnisdienst-Objekten dargestellt werden. Allerdings
werden sie, gemäß der vorliegenden Erfindung,
auch entsprechend deren togologischer Netzwerk-Stelle so dargestellt,
dass Verzeichnisdienst-Entscheidungen, wie beispielsweise Replizierung,
Propagation und Replika-Auswahl,
basierend auf den Kosten (wie sie durch den System-Administrator
definiert sind), einer Kommunikation einer bestimmten Stelle ausgeführt werden
können.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
beigefügten
Ansprüche
geben die Merkmale der vorliegenden Erfindung in Einzelheiten an. Die
Erfindung, zusammen mit deren Aufgaben und Vorteilen, kann am besten
anhand der nachfolgenden, detaillierten Beschreibung, vorgenommen
in Verbindung mit den beigefügten
Zeichnungen, verstanden werden, in denen:
-
1 zeigt
eine schematische Zeichnung eines beispielhaften Netzwerks, das
eine Mehrzahl von kommunikativ entfernten Sites (Stellen bzw. Orten), die
die vorliegende Erfindung einsetzen, aufweist;
-
2 zeigt
eine schematische Zeichnung, die erläuternd eine Domäne darstellt,
die drei kommunikativ entfernte Sites umfasst;
-
3 zeigt
eine erläuternde,
schematische Darstellung eines Local Area Network entsprechend zu
der Stelle bzw. Site von Los Angeles in 2;
-
4 zeigt
eine schematische Zeichnung, die funktionale Untereinheiten einer
Domäne-Steuereinheit
darstellt, die auf einer Site basierende Verzeichnisdienst-, Sicherheits-
und Dateiverwaltungs-Operationen, umfassend sich auf die Site beziehende
Verzeichnisdienst-Operationen gemäß der vorliegenden Erfindung,
erleichtert;
-
5 zeigt
erläuterndes
Beispiel eines Sites-Containers und seiner Bestandteil-Objekte, die die
vorliegende Erfindung verkörpern;
-
6 zeigt
erläuternd
einen Satz von Eigenschaften, die einer Site-Objekt-Daten-Struktur zugeordnet
sind;
-
7 zeigt
erläuternd
einen Satz von Eigenschaften, die einem einzustellenden Objekt zum
Bereitstellen von anwendungsspezifischen Site-Informationen zugeordnet
sind;
-
8 stellt
erläuternd
einen Satz von Eigenschaften dar, die einem Server-Objekt zum Bereitstellen
von Server spezifischen, sich auf eine Site beziehenden Informationen
zugeordnet sind;
-
9 zeigt
erläuternd
einen Satz von Eigenschaften, die einem Server-Verbindungs-Objekt zum Bereitstellen
von Verbindungs-Informationen, die sich auf eine spezifische Verbindung
von einem Server beziehen, zugeordnet sind;
-
10 zeigt
erläuternd
einen Satz von Eigenschaften, die einem Site-Verbindungs-Objekt zum Bereitstellen
von Fehler-Verbindungs-Informationen für irgendeine Anwendung, die
versucht, die Site-Topologie-Informationen zu verwenden, um eine Netzwerk-Funktion
durchzuführen,
zugeordnet sind;
-
11 zeigt
ein Flussdiagramm, das die Schritte, durchgeführt durch eine Client-Maschine, zusammenfasst,
um eine Domäne-Steuereinheit
zu lokalisieren, mit der ein Anrufer, der eine Anforderung ausgibt,
wünscht,
eine Verbindung einzurichten;
-
12 zeigt
ein Flussdiagramm, das die Schritte zusammenfasst, die durchgeführt werden, um
eine Domäne-Steuereinheit über ein
auf einer Site basierenden Verzeichnis zu lokalisieren;
-
13 zeigt
ein Flussdiagramm, das die Schritte zusammenfasst, die durchgeführt werden, um
eine Domäne-Steuereinheit über eine
Sekundär-Domäne-Lokator-Prozedur zu lokalisieren;
-
14 zeigt
ein Flussdiagramm, das die Schritte, durchgeführt durch eine "pinged" Domäne-Steuereinheit,
zusammenfasst, um einen Client darauf hinzuweisen, ob die pinged
Domäne-Steuereinheit
ein Kriterium einer "am
nächsten
liegenden Domäne-Steuereinheit" für den bestimmten
Client erfüllt;
-
15 zeigt
ein Fern-Zugangs-Server-Site-Objekt, das von den Site-Informationen
erzeugt ist, bereitgestellt für
eine Domäne,
und durch einen Anforderungs-Wähl-Manager verwendet
wird, um Anwähl-Dienste
für eine
Site durchzuführen;
-
16 zeigt
eine schematische Darstellung von Daten-Struktur-Elementen, die
Bereiche einer einzelnen Domäne-Aufzeichnung,
zugeordnet zu Sites, innerhalb der Domäne, gemäß einer alternativen Ausführungsform
der vorliegenden Erfindung, definiert;
-
17 zeigt
eine grafische Darstellung einer Site-Zwischenverbindungs-Kosten-Matrix zum Identifizieren
von verbundenen Sites, und die Anzahl von Verbindungen, die durchquert
werden müssen,
um Daten zwischen den identifizierten Sites zu senden und zu empfangen;
und
-
18 zeigt
eine Site-Überweisungs-Liste, berechnet
für eine
bestimmte Site, die bevorzugt Maschinen entsprechend den berechneten
Verbindungs-Kosten, bereitgestellt in der Site-Kosten-Matrix, erläuternd gezeigt
in 17, identifiziert.
-
DETAILLIERTE BESCHREIBUNG
DER ZEICHUNGEN
-
Die
vorliegende Erfindung ist besonders vorteilhaft in einer Netzwerk-Umgebung,
wo die Ressourcen, von denen Teilnehmer (d.h. Benutzer und Verzeichnisdienste)
in einem Netzwerk nach einem Zugriff suchen, manchmal repliziert
sind und an einer Anzahl von entfernten Vorrichtungen innerhalb
eines Netzwerks existieren. Die Kosten, um auf eine Ressource zuzugreifen,
angeordnet an einer bestimmten Netzwerk-Stelle, können sich von einem anderen Knoten
unterscheiden, der eine replizierte Kopie derselben Ressource besitzt.
In einem solchen Fall ist es typischerweise erwünscht, auf den Teil der Ressource
zuzugreifen, der am direktesten erreicht werden kann, und oftmals
unter niedrigsten Kosten. Die Kosten, wie sie hier verwendet werden,
entstehen aufgrund einer Anzahl von Faktoren, einschließlich, zum Beispiel:
die Anzahl von weiterführenden
Knoten, die durchquert werden müssen
("Sprünge" bzw. "hops"), die Daten-Rate
der durchquerten Verbindungen, die Priorität der anfordernden Ressource,
um die bestimmten, weiterführenden
Verbindungen zu verwenden, das Vorhandensein von durchquerten Verbindungen
(z.B. permanent verbunden oder Verbindungsaufbau) und das Verkehrsvolumen
auf Pfaden zu der bestimmten Ressource.
-
So,
wie es hier verwendet wird, stellt eine Site einen Bereich eines
Netzwerks dar, bestimmt so, um eine gute Verbindungsfähigkeit
zu haben. Eine gute Verbindungsfähigkeit
gemäß einer
Ausführungsform
der vorliegenden Erfindung ist allgemein durch Maschinen, verbunden
mit zuverlässigen
Pfaden mit relativ hoher Geschwindigkeit und geringen Kosten, charakterisiert.
Die Bestimmung der Site-Mitgliedschaft kann, zum Beispiel, basierend
auf einem oder mehreren der folgenden Faktoren be stimmt werden:
(1) Netzwerk-Typ und Verbindungen, (2) Netzwerk-Bandbreite, (3)
Netzwerk-Größe, (4)
Netzwerk-Verkehrs-Muster und Netzwerk-Protokolle.
-
Zum
Beispiel würde
ein Satz von Clients, Servern und/oder Domäne-Steuereinheiten, verbunden miteinander über eine
Ethernet-Verbindung, um ein Local-Area-Unternetzwerk zu bilden,
allgemein als eine einzelne Site in dem Zusammenhang der vorliegenden
Erfindung angesehen werden. Natürlich
ist die Definition einer "guten
Verbindungsfähigkeit" – – und demzufolge Site bzw.
Stelle – – nicht
auf dieses einzelne Beispiel beschränkt. Im Gegensatz dazu ist
eine Site eine einen Mechanismus erleichternde Gruppierung von Ressourcen
gemäß einer
relativen Netzwerk-Verbindungsfähigkeit
von weit verteilten Ressourcen. Eine relativ gute Verbindungsfähigkeit
in einem Netzwerk kann als eine relativ schlechte Verbindungsfähigkeit
in einem anderen Netzwerk angesehen werden.
-
Es
wird erwartet, dass Domänen über mehrere
Sites existieren werden. In einigen Fällen wird eine Site nur einer
einzelnen Domäne
zugeordnet sein. Allerdings wird in anderen Fällen eine einzelne Site Netzwerk-Ressourcen,
die mehreren Domänen zugeordnet
sind, umfassen. Demzufolge sollten Sites (topologische Organisations-Bestimmungen) und Domänen (logische
Bestimmungen) als unabhängige,
allerdings dennoch komplementäre,
Bestimmungen angesehen werden, die einem Netzwerk ermöglichen,
Informationen und Dienste in einer effizienten und sicheren Art
und Weise bereitzustellen und zu speichern. Ein Beispiel eines Netzwerks,
bei dem mehrere Domänen
innerhalb einzelner Sites dargestellt sind, ist erläuternd in 1,
die nachfolgend beschrieben ist, dargestellt.
-
Mehrere
Zustände
richten Kriterien zum Bestimmen von Site-Grenzen ein. Primäre Zustände bzw.
Bedingungen zum Bestimmen einer Site-Mitgliedschaft sind: (1) permanente
Netzwerk-Verbindungs-Verbindungen, (2) adäquate, verfügbare Bandbreite, um die erwarteten
Kommunikations-Niveaus innerhalb der Site zu unterstützen, und
(3) ein Sicherheits-Mechanismus für authentifizierende Anforderungen
(vorgenommen zwischen unterschiedlichen Domänen über gegenseitige Vertrauens-Beziehungen). Permanente
Netzwerk-Verbindungen stellen sicher, dass keine unnötigen Latenzzeiten
vorhanden sind, um Netzwerk-Verbindungen einzurichten. Eine adäquate Bandbreite
wird durch das Volumen eines Netzwerk-Verkehrs bestimmt und variiert deshalb
von Netzwerk zu Netzwerk. Obwohl es kein Erfordernis ist, können alle
Dienste innerhalb einer Site dieselbe Sicherheits-Service-Darstellung
verwenden, um eine Sicherheit zu vereinfachen.
-
Sekundäre Betrachtungen
zum Bestimmen einer Site-Mitgliedschaft umfassen: (1) Administrations-Erfordernisse,
(2) Verbindungs-Benutzungs-Kosten, (3) Funktions-Erfordernisse, (4) Verzeichnis-Replizierungs-Erfordernisse
und (5) organisatorische Faktoren. Ein Administrations-Overhead erhöht sich
mit der Erhöhung
der Zahl von Sites. Verbindungs-Benutzungs-Kosten können durch
Anordnen von Servern, verbunden durch eine teure WAN-Verbindung,
in separaten Sites verringert werden, um deren Austausch von Daten
zu verringern, da eine Intersite-Replizierung typischerweise weniger
häufig
als eine Intrasite-Replizierung ist. Eine Erhöhung der Anzahl von Servern
innerhalb einer einzelnen Site wird einen Verkehr in der Site erhöhen und
deshalb die Ansprechzeiten an der Site herabsetzen. Falls es für bestimmte
Server notwendig ist, konsistente, replizierte Daten zu haben, dann
wird dieses Erfordernis am besten durch Zuordnen der Server zu derselben
Site erfüllt.
Schließlich
haben Benutzer von Ressourcen unterschiedliche Bedürfnisse
nach bestimmten Ressourcen, und das Bedürfnis, solche Ressourcen gemeinsam
zu teilen. Es kann vorteilhaft sein, Personen, die zusammen innerhalb
derselben Site arbeiten, zusammenzusetzen.
-
In 1 nun
ist ein erläuterndes
Mehrfach-Site-Netzwerk, das aus mehreren Domänen besteht, angegeben. Eine
Site 2 ist schematisch gezeigt. Anhand eines Beispiels
umfasst die Site 2 eine Mehrzahl von Domäne-Steuereinheiten 4, 6 und 8. Domäne-Steuereinheiten 4 und 6 sind
einer Domäne,
identifiziert als D1, zugeordnet. Die Domäne-Steuereinheit 8 ist
ebenso der Site 2 zugeordnet. Die Domäne-Steuereinheit 8 ist einer anderen
Domäne,
identifiziert als D2, zugeordnet. Die Domäne-Steuereinheiten umfassen
auch, obwohl es nicht in 1 dargestellt ist, Replikas
von Verzeichnisdienst-Datenbanken für deren jeweilige Domänen. Fachleute
auf dem betreffenden Fachgebiet werden erkennen, dass die Sites
auch Clients, I/O-Vorrichtungen und physikalische Kommunikations-Verbindungen,
wie beispiels weise eine Ethernet-Verbindung, aufweisen, um eine
Kommunikation zwischen Maschinen innerhalb der Site zu ermöglichen.
-
Um
nun mit der Beschreibung des erläuternden
Beispiels eines Netzwerks, das die vorliegende Erfindung einsetzt,
fortzufahren, umfasst 1 auch eine Site 10,
eine Mehrzahl von Domäne-Steuereinheiten 12, 14 und 16 aufweisend.
Domäne-Steuereinheiten 12 und 14 sind
der Domäne
D1 zugeordnet. Die Domäne-Steuereinheit 16,
die auch der Site 10 zugeordnet ist, ist ein Mitglied der
Domäne
D2.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung halten Domäne-Steuereinheiten, die derselben Domäne zugeordnet
sind, Replikas von Sicherheits- und
Verzeichnis-Service-Datenbanken, zugeordnet zu deren jeweiligen
Domänen,
aufrecht und nehmen darauf Bezug. Allerdings ist das Verfahren einer
Replizierung unabhängig
für Intersite-
und Intrasite-Replizierungs-Verbindungen ausgelegt. Replikas innerhalb
einer Site werden mittels eines auf einem Hinweis basierenden Replizierungs-Protokolls
aktualisiert. Insbesondere wird eine Domäne-Steuereinheit periodisch
andere Domäne-Steuereinheiten
informieren, mit denen sie eine Intrasite-Replizierungs-Verbindung eingerichtet
hat. Die informierten Domäne-Steuereinheiten
sprechen durch Abfragen der initiierenden Domäne-Steuereinheit nach den Änderungen
an. Domäne-Steuereinheiten,
für die
eine Intersite-Replizierungs-Verbindung eingerichtet worden ist,
suchen (ziehen heran) aktualisierte Informationen von anderen Domäne-Steuereinheiten
durch Absenden von Anforderungen zu anderen Domäne-Steuereinheiten, um irgendwelche Änderungen
zu den Datenbanken nach einer bestimmten Referenzzeit zu identifizieren.
Diese bestimmten Replizierungs-Techniken
sind im Detail in hierzu in Bezug stehenden Patentanmeldungen beschrieben:
Raman et al.
US Serial No. 08/739,948 , "Replication Optimization
System and Method" und
Straube et al.,
US Serial No. 08/673,929 , "Urgent Replication
Facility".
-
Eine
Replizierung dieser Datenbanken wird durch konfigurierbare Intrasite-
und Intersite-Replizierungs-Verbindungen erleichtert. Eine Intrasite-Replizierung
zwischen Domäne-Steuereinheiten 4 und 6,
und 12 und 14, wird durch Intrasite-Replizierungs- Verbindungen 18 und 20,
jeweils, erleichtert. Eine Intersite-Replizierung zwischen Domäne-Steuereinheiten 6 und 12,
und 8 und 16, wird durch Intersite-Replizierungs-Verbindungen 22 und 24,
jeweils, erleichtert. Fachleute auf dem betreffenden Fachgebiet
werden erkennen, dass die Replizierungs-Verbindungen 18, 20, 22 und 24 nicht
die physikalische Hardware darstellen. Im Gegensatz dazu stellen
die Verbindungen 18, 20, 22 und 24 funktionale
Verbindungen dar, die letztendlich auf einer physikalischen Hardware
ausgeführt
werden, die unter der Steuerung eines Kommunikations-Protokolls
arbeitet.
-
Eine
Intrasite-Kommunikation ist relativ kostengünstiger als eine Intersite-Kommunikation. Deshalb
sollten, in dem Umfang, wie es möglich
ist, Intersite-Replizierungs-Verbindungen
durch Auswählen einer
Domäne-Steuereinheit
minimiert werden, um eine Replizierung zwischen zwei Sites durchzuführen. Zum
Beispiel sind, in 1, die Domäne-Steuereinheiten 4 und 6 beide
der Domäne
D1 zugeordnet. Allerdings ist die Domäne-Steuereinheit 6 als
die Domäne
D1 des Intersite-Replikators
zum Anfordern von aktualisierten Informationen für Site 2 von Site 10 angegeben.
Die Informationen, empfangen durch die Domäne-Steuereinheit 6 von
der Domäne-Steuereinheit 12,
werden relativ kostengünstig über eine
Intrasite-Replizierung
zu der Domäne-Steuereinheit 4 repliziert.
-
Ein
Zuordnen bestimmter Site-Identifikationen zu Domäne-Steuereinheiten erleichtert
eine automatisierte Zuordnung einer oder bevorzugter Intersite-Replizierungs-Verbindungen zwischen
irgendwelchen zwei Sites. Während
eine solche Bestimmung trivial in dem relativ einfachen Netzwerk,
das in 1 gezeigt ist, zu sein scheint, wird diese Aufgabe noch
viel schwieriger in stark komplexen Unternetzwerken. Ein Anhängen von
Site-Identifikationen an Domäne-Steuereinheiten
erleichtert die Verwendung von administrativen Software-Tools zu
Abfrage-Site-Informationen und basierend auf einem Kriterium, automatisch
die Intersite-Replikations-Domäne-Steuereinheit für bestimmte
Sites zu bezeichnen.
-
In 2 nun
ist eine erläuternde
Multi-Site-Domäne
für eine
Organisation, aufweisend eine Site 31 (Los Angeles), eine
Site 32 (Chikago) und eine Site 33 (Redmond),
schematisch dargestellt. Im Gegensatz zu 1 sind alle
der gezeigten Ma schinen einer einzelnen Domäne zugeordnet. Eine Intersite-Verbindung
verbindet Site 31 und eine Site 33. Als eine Folge
der Intersite-Verbindung 34, die eine direkte Verbindung
zwischen Site 31 und Site 33 darstellt, sind Site 31 und
Site 33 jeweils mit Nachbar-Sites in Bezug auf die andere,
direkt verbundene Site bezeichnet. In ähnlicher Weise sind Site 32 und
Site 33, direkt verbunden über eine Intersite-Verbindung 36,
auch Nachbar-Sites in Bezug zueinander. Site 31 und Site 32 sind,
obwohl sie indirekt über
Site 33 verbunden sind, nicht direkt verbunden, und sind
deshalb Nachbar-Sites in Bezug zueinander.
-
Wie
in 2 dargestellt ist, umfasst jede Site Client-Computer 38a, 38b und 38c.
Die Client-Computer 38a, 38b und 38c werden
durch Benutzer- und Service-Dienste verwendet, um Anforderungen
nach Ressourcen zu Domäne-Steuereinheiten 40a, 40b und 40c jeweils
zuzuführen.
Solche Anforderungen umfassen Anforderungen für einen Zugang zu Dateien und
anderen Ressourcen, angeordnet innerhalb von Netzwerk-Daten-Speichervorrichtungen 42a, 42b und 42c,
und/oder innerhalb dieser identifiziert. Um eine Verzögerung von
Ansprechverhalten zu Benutzer- und Service-Anforderungen zu verringern, werden
Dateien und Verzeichnis-Objekte zu anderen Sites innerhalb der Domäne so repliziert,
dass ein Original oder ein Replika des Originals in den Netzwerk-Datenspeicher-Vorrichtungen 42a, 42b und 42c gespeichert
ist.
-
In 3 nun
ist, anhand eines Beispiels, ein LAN, identifiziert als Site 31 (Los
Angeles) in 2, schematisch dargestellt.
Andere Netzwerk-Topologien für
eine Site werden für
Fachleute auf dem betreffenden Fachgebiet bekannt sein. Die Site 31 weist eine
Mehrzahl von Domäne-Steuereinheiten
und zugeordneten Netzwerk-Verzeichnis-Objekt-
und Datei-Speicher-Vorrichtungen 50a, 50n, die
verbindungsmäßig mit
einer Local Area Network Verbindung 32 verbunden sind,
zum Beispiel, eine ETHERNET Verbindung, auf. Die Vorrichtungen 50a, 50n empfangen
Anforderungen von Client-Computern 54a, 54b, 54c, 54d, 54e, 54f und 54x über die
Verbindung 52 und antworten darauf.
-
Um
Kommunikationen mit anderen Sites auszuführen, wie beispielsweise eine
Site 33 über
die Verbindung 34, umfasst Site 1 auch einen Satz von Intersite- Kommunikations-Vorrichtungen 56a, 56b und 56y.
Die Intersite-Kommunikations-Vorrichtungen 56a, 56b und 56y kommunizieren
mit den Domäne-Steuereinheiten
der Vorrichtung 50 und den Client-Computern 54 über die
Verbindung 52.
-
Site 31 umfasst
auch zusätzliche
I/O-Vorrichtungen, die für
Fachleute auf dem betreffenden Fachgebiet bekannt sein werden. Zum
Beispiel umfasst Site 31 Drucker 58a, 58b und 58z,
die kommunikationsmäßig mit
der Verbindung 52 verbunden sind. Andere I/O-Vorrichtungen
werden natürlich
durch Fachleute auf dem betreffenden Fachgebiet ersichtlich werden.
-
Nachdem
die Komponenten einer beispielhaften Site beschrieben wurden, wird
nun die Aufmerksamkeit kurz auf 4 gerichtet,
die schematisch Komponenten, die den Sites zugeordnet sind, für eine erläuternde
Domäne-Steuereinheit,
die die vorliegende Erfindung einsetzt, zeigt. Die dargestellten
Komponenten in 4 ermöglichen den Domäne-Steuereinheiten,
ein ausreichend bekanntes Domäne-Steuereinheit-Datei- und Verzeichnisdienst-(DS)-Objekt-Management
ebenso wie andere Funktionen, einschließlich eine erzwungene Netzwerk-Ressource-Sicherheit,
entsprechend einer Ausführungsform
der vorliegenden Erfindung, durchzuführen. Die Domäne-Steuereinheit umfasst
einen Schlüssel-Verteilungs-Center 60,
der ausreichend bekannte Sicherheits-Dienste für die Domäne, die dazu zugeordnet ist,
durchführt.
Der Schlüssel-Verteilungs-Center
umfasst eine Lokalisierungseinrichtung, die auf Anforderungen von
Clients während
eines Logon mit einer oder mehr Domäne-Steuereinheiten, mit denen Clients darauf
folgend Logon-Prozeduren durchführen,
anspricht und liefert Verzeichnisdienst-Anforderungen. Die Art und
Weise, in der die Lokalisierungseinrichtung die Identität bestimmt und
Informationen für
eine solche Domäne-Steuereinheit
erhält,
wird nachfolgend in Verbindung mit den 11-13 beschrieben.
Die Domäne-Steuereinheit
umfasst auch einen Verzeichnisdienst-(DS)-Server 62, der eine Vielzahl
von Aufgaben, die sich auf die Beibehaltung der DS-Objekte, auf das
Identifizieren von Netzwerk-Ressourcen (in der Form von DS-Eintritten) und den
Adressen von Ressourcen in dem Netzwerk beziehen, durchführt.
-
Der
DS weist Organisations-Einheit-(OU)-Container und Site-Objekte auf.
Die OU-Container
liefern die erwünschte,
hierarchische Anordnung von DS-Objekten (z.B. die Geschäftsgruppen).
Die Site-Objekte beschreiben Bereiche einer guten Verbindungsfähigkeit
innerhalb eines Netzwerks, zu denen DS-Objekte, identifiziert innerhalb der
OU-Container, zugeordnet sind. Die Domäne-Steuereinheit umfasst auch
einen verteilten Datei-System-Manager
64 zum Beibehalten
einer Kenntnis der Dateien, gespeichert auf verschiedenen Volumes
innerhalb einer Domäne.
Details, die sich auf die Organisation und die Betriebsweise der
Domäne-Steuereinheit
beziehen, umfassend den KDC
60, den DS-Server
62 und
den verteilten Datei-System-Manager
64,
sind in Whitney et al.,
US-Patent 5,701,462 ,
herausgegeben am 23.12.1997, und "Providing a Unified Name Space with
Efficient Name Resolution",
mit dem Titel "Distributed
File System", und
Miller et al.,
US-Patent Nr.
5,689,700 , herausgegeben am 18.11.1997, und mit dem Titel "Unification of Directory
Service With File System Services", angegeben.
-
Zuordnung von Netzwerk-Objekt-Typen
zu Sites
-
Wie
zuvor erläutert
ist, sind, in einer Ausführungsform
der vorliegenden Erfindung, spezifische Fälle von Netzwerk-Einheiten
zu nicht mehr als einer einzelnen Site zu einem gegebenen Zeitpunkt
zugeordnet. Ein momentanes DS-Objekt, identifiziert innerhalb einer
OU, ist zu jedem gegebenen Zeitpunkt einer einzelnen Site zugeordnet.
Die zugeordnete Site ist von der bestimmten, logischen Gruppe unabhängig, zu
der das DS-Objekt zugeordnet ist. Als eine Folge werden, in vielen
Fällen,
DS-Objekte, zugeordnet
zu unterschiedlichen, logischen Gruppen, an einer selben Site vorhanden
sein, und zwar basierend auf der physikalischen Stelle der Objekte
in dem Netzwerk.
-
Das
DS-Objekt, das einer Netzwerk-Server-Maschine (z.B. einem Maschinen-Objekt)
zugeordnet ist, wird dynamisch einer Site zugeordnet, die von deren
logischer Gruppierung unabhängig
ist. Zusätzliche
Server-Maschinen von unterschiedlichen, logischen Gruppen können innerhalb
einer selben Site vorhanden sein. Dieses dynamische Zuordnungs-Schema
wird in wesentlichem Detail nachfolgend beschrieben.
-
Ein
Client-Maschinen-DS-Objekt ist auch einer Site zugeordnet. Die Site
ist einem Client-Objekt basierend auf der Site des Servers, der
eine Logon-Authentifizierung des Client durchführt, wenn sich ein Benutzer
auf einem Netzwerk über
die Client- Maschine
einloggt, zugeordnet, und demzufolge ist die Site-Zuordnung für eine Client-Maschine
dynamisch.
-
Während die
allgemeinen Netzwerk-Komponenten, die einem Ausführen der vorliegenden Erfindung
zugeordnet sind, beschrieben wurden, wird die Aufmerksamkeit nun
auf die Daten-Strukturen, die die Netzwerk-Topologie und die Policy-Informationen enthalten,
zum Ausführen
von auf einer Site basierenden Netzwerk-Funktionen, gerichtet.
-
Anhand
nun der 5 wird, anhand eines Beispiels,
ein Sites-Container 70 erläuternd dargestellt. Der Sites-Container
identifiziert alle Sites in einem Enterprise, die Domäne-Steuereinheiten
in solchen Sites und die Replikations-Topologie. Demzufolge stellt
das erläuternde
Beispiel, das in 5 gezeigt und nachfolgend beschrieben
ist, einen relativ einfachen Site-Container dar, der ausreichend
ist, um die vorliegende Erfindung zu beschreiben. Allerdings werden
viele Enterprises wesentlich komplexer sein. Wenn einmal der Sites-Container
definiert ist, wird er durch verschiedene Anwendungen entsprechend den
besonderen Erfordernissen der Anwendungen verwendet. Ein Beispiel
solcher Anwendungen ist der Verzeichnis-Service bzw. Directory-Service
von Ressourcen in einem Netzwerk.
-
Der
Sites-Container 70 weist ein Objekt 72 einer Site
A und ein Objekt 74 einer Site B auf. Die Site-Objekte 72 und 74 sind
Container für
andere Objekte, die die zugeordneten Sites beschreiben. Die Komponenten
von Site-Objekten werden nachfolgend unter Bezugnahme auf 6 beschrieben.
-
Site-Objekte
umfassen anwendungsspezifische Einstellungs-Objekte. Zum Beispiel
definiert ein NTDS einstellendes Objekt Verzeichnisdienst-Informationen,
die für
eine bestimmte Site spezifisch sind. Das Objekt 72 von
Site A umfasst ein Einstellungs-Objekt 76 APP_1
(NTDS) und ein Einstellungs-Objekt 78 APP_2 (SMS).
-
Einstellungs-Objekte
umfassen Server-Proxy-Objekte für
bestimmte Anwendungen und Verbindungen, die diesen bestimmten, identifizierten
Servern zugeordnet sind. Diese Anordnung ermöglicht jeder Anwendung, unabhängig deren
Zuordnung zu bestimmten Servern zu definieren, und damit jedem Server
seine eigenen, spezifi schen Verbindungen zu definieren. Das Einstellungs-Objekt 76 APP_1
umfasst ein Server_1-Proxy-Objekt 84, das eine Verbindung 86 von
Server_2 besitzt, und ein Server_2-Proxy-Objekt 88, das
Verbindungen 90 und 92 von Server_1 und Server_4
jeweils besitzt.
-
Das
Einstellungs-Objekt 78 APP_2 umfasst keine spezifischen
Server-Proxy-Objekte.
Allerdings definiert es eine Fehler-Verbindung 94 für APP_2
von Site B, die von dem Server und der Verbindung unabhängig ist.
Dieses Beispiel hebt den Punkt hervor, dass jede Anwendung unabhängig definieren
kann, auf welche zusätzlichen
Objekte unter den Einstellungs-Objekten für eine bestimmte Site Bezug
genommen werden wird. Die Komponenten von Einstellungs-, Server-Proxy-
und Verbindungs-Objekten werden
nachfolgend unter Bezugnahme auf die 7, 8 und 9 beschrieben.
-
Das
Objekt 74 von Site B umfasst anwendungsspezifische Einstellungs-Objekte 96 und 98, umfassend
Server-Proxy-Objekte und Verbindungs-Objekte, ähnlich zu solchen, die vorstehend unter
Bezugnahme auf Site A identifiziert sind.
-
Der
Sites-Container 70 umfasst auch einen Subnet-Container 99,
aufweisend einen Satz von Subnet-Objekten. Ein Subnet ist durch
ein Subnet-Objekt in dem Konfigurations/Sites/Subnet-Container definiert.
Jedes Subnet-Objekt besitzt eine "SiteObjekt" Eigenschaft, die es zu einem Site-Objekt verbindet.
Diese Verbindung zeigt an, dass alle Clients mit einer IP-Adresse
in dem spezifizierten Subnet dahingehend angesehen werden, dass
sie sich in der spezifizierten Site befinden. Zum Beispiel könnte das
Subnet-Objekt, bezeichnet mit "157.55.80.00/20" (das Subnet von
157.55.80.00 und eine Subnet-Maske von 20 Bit anzeigen), eine SiteObjekt-Eigenschaft haben,
die sie mit dem Site-Objekt 72 der Site A verknüpft. Diese
Verknüpfung
bzw. Verbindung zeigt an, dass alle IP-Adressen in den 157.55.80.00/20
Subnet dahingehend angesehen werden, in dem Site-Objekt 72 der
Site A zu sein. In einer Ausführungsform
der vorliegenden Erfindung wird die SiteObjekt-Eigenschaft innerhalb
jedes Subnet-Objekts einzeln bewertet. Demzufolge wird ein einzelnes
Subnet zu einer einzelnen Site aufgelistet. Andererseits können mehrere
Subnet-Objekte mit einer einzelnen Site verknüpft werden.
-
Die
Objekte und deren Site-Objekt-Eigenschaften werden manuell durch
den DS-Administrator
beibehalten. Demzufolge sollte ein Sanity-Check (Prüfen eines
Löschens
von Daten auf temporär
belegten Speichermedien) der Sundry-Subnets periodisch durchgeführt werden,
damit kein Subnet durch mehr als eine Site erwähnt wird und dass alle Subnets
mit einer Site verknüpft
sind.
-
Der
Konfigurations-Container (umfassend alle der Site- und Subnet-Objekte
darin) wird zu allen Domäne-Steuereinheiten
in dem Enterprise (ein verknüpfter
Satz von Domänen)
repliziert. Jede Domäne-Steuereinheit
zählt die
Site-Objekte während
eines Hochfahrens auf. Danach wird jede Domäne-Steuereinheit über irgendwelche Änderungen, vorgenommen
an den Site-Objekten, informiert. Die Domäne-Steuereinheiten verwenden diese Informationen,
um eine sich im Speicher befindliche Subnet-Auflistungs-Struktur
aufzubauen, die dazu verwendet wird, von IP-Adressen zu Site-Namen aufzulisten.
-
In 6 nun
wird die Struktur für
einen Site-Objekt-Container dargestellt. Eine Property eines Site-Namens 100 speichert
eine Zeichenfolge, die die Site identifiziert. Eine Property einer
Site ID 102 speichert eine global eindeutige Objekt-Identifikation. Wenn
einmal die Site-ID zugeordnet ist, wird sie nicht geändert. Eine
Property für
eine Beschreibung 104 speichert einen optionalen Satz von
Kommentaren, die eine allgemeine Beschreibung der Site bereitstellen,
wie beispielsweise "alle
Maschinen auf dem North Campus".
Eine Hinweis-Liste 106 umfasst eine Liste von Sicherheits-Prinzipien, um zu
informieren, wenn Probleme an der Site entstehen. Die Anwendungen,
die den Einstellungs-Objekten zugeordnet sind, können sich auf die Hinweis-Liste 106 in
Fällen beziehen,
wo keine Prinzipien innerhalb der Einstellungs-Objekt-Hinweis-Liste für die bestimmten
Anwendungen aufgelistet sind.
-
Eine
Property für
Global Coordinates 108 speichert den Ort des globalen Positionierungs-Systems
(GPS), zugeordnet zu der Site. Auf den Wert, gespeichert in den
globalen Koordinaten 108, wird in Fällen Bezug genommen, bei denen
ein bestimmtes Server-Objekt keinen Wert besitzt, der der Property seiner
globalen Koordinaten zugeordnet ist. Eine Property für eine Listen-Referenz 110 liefert
einen Pfad zu Auf listungs-Daten, die verwendet werden können, um
grafisch die Site in dem Kontext einer größeren, geografischen Referenz
zu gestalten.
-
Eine
Property für
Metriken 112 speichert optionale Informationen, die sich
auf die erwartete Funktion oder Charakteristika von Medien innerhalb der
Site beziehen.
-
Das
Site-Objekt kann auch Replikations-Ablaufplanungs-Eigenschaften
umfassen. Diese Informationen sind nicht zwingend. Anstelle davon
werden diese Informationen als Rückgriff
für Anwendungen
verwendet, die nicht Replikations-Ablaufplanungs-Informationen, gespeichert
innerhalb deren zugeordneter Einstellungs-Objekte, haben. Ein Intersite-Replikations-Schedule 114 spezifiziert
die Häufigkeit,
mit der Anwendungen anderer Sites nach geänderten Informationen auf einer
Basis einer niedrigen, mittleren und hohen Priorität abfragen
werden. Ein Intersite-Replikations-Schedule 116 kann
die Häufigkeit
spezifizieren, mit der Anwendungen auf Hinweise von anderen Maschinen
innerhalb einer Site in Bezug auf geänderte Informationen auf einer Basis
einer niedrigen, mittleren und hohen Priorität ansprechen werden.
-
In 7 nun
ist die Struktur für
ein Einstellungs-Objekt gezeigt. Eine Property für einen Einstell-Namen 120 speichert
eine Zeichenfolge, die die Anwendung identifiziert, zu der das Einstellungs-Objekt
zugeordnet ist. Eine Property für
eine Einstellungs-ID 122 speichert eine global eindeutige
Objekt-Identifikation für
das Einstellungs-Objekt. Die Einstellungs-ID wird, wenn sie einmal
zugeordnet ist, nicht geändert.
Eine Property für
eine Beschreibung 124 speichert einen optionalen Satz von
Kommentaren, die eine allgemeine Beschreibung der Anwendung liefern,
denen das Einstellungs-Objekt zugeordnet ist. Eine Property für einen
Anwendungs-Namen 126 identifiziert die Anwendung, der das
bestimmte Einstellungs-Objekt gehört (z.B. NTDS). Eine Hinweis-Liste 128 umfasst
eine Liste von Sicherheits-Grundsätzen, um daraufhin zu weisen,
wenn Probleme an der Site, die sich auf die bestimmte Anwendung
beziehen, entstehen.
-
Jedes
Einstellungs-Objekt umfasst auch eine Property einer ConsistencyCheckerDLL 130,
die den Namen einer anwendungsspezifischen DLL spezifiziert, die
aufgerufen werden kann, um die Site/Anwendungs-Konfiguration zu
prüfen.
Eine Property einer ConsistencyChecker-ID 132 liefert den
anwendungsspezifischen Code für
die Konsistenz-Prüfeinrichtung
zur Verwendung in Verbindung mit der Benutzer-Schnittstelle. Falls
identifiziert, nimmt die Consistency-Prüfeinrichtung, identifiziert
in der Property für
die ConsistencyChecker-ID 132, eine Präzedenz über die eine, identifiziert in der Property für die ConsistencyCheckerDLL 130,
ein.
-
Ein
Intersite-Replizierungs-Schedule 130 kann die Häufigkeit
spezifizieren, mit der die Anwendung anderer Sites in Bezug auf
geänderte
Informationen auf einer Basis einer niedrigen, mittleren und hohen
Priorität
abfragen wird. Ein Intrasite-Replizierungs-Schedule 136 kann
die Häufigkeit
spezifizieren, mit der die Anwendung auf Hinweise von anderen Maschinen
innerhalb der Site auf geänderte
Informationen auf einer Basis einer niedrigen, mittleren und hohen
Priorität
in Fällen
antworten wird, bei denen ein auf einem Hinweis basierendes Abfragen
der Intrasite-Replizierungs-Mechanismus
für eine
Anwendung ist.
-
Eine
Property für
Autoverbindungen 138 hält einen
Bool'schen Wert,
umfasst in dem Fall, bei dem das Einstellungs-Objekt zu NTDS zugeordnet
ist. Die Property für
Autoverbindungen 138 zeigt an, ob das System automatische
Intrasite-Verbindungen erzeugen sollte, um eine Verbindungsfähigkeit
zu erreichen. Falls die Verbindungen nicht eingestellt sind, muss
ein Administrator die Verbindungen manuell so einstellen, dass ein
Pfad zwischen jedem Satz von Servern innerhalb der Site für die bestimmte
Anwendung existiert. Eine Property für Autoverbindungs-Optionen 140 definiert
die automatische Topologie-Erzeugungs-Maßnahme, wie beispielsweise ein
Netz, N-verbunden, usw., für
die Site.
-
In 8 nun
ist die Struktur für
ein Server-Proxy-Objekt gezeigt. Dies ist nicht das Sicherheits-Prinzip
für den
Server. Das Objekt liegt unter einem Domäne-Container vor. Da das Site-Objekt
global repliziert wird, wird es allgemein mit relativ statischen
Informationen gefüllt.
Demzufolge sollten dynamischere Charakteristika in den Anwendungen selbst
gespeichert werden.
-
Eine
Property für
einen Server-Namen 150 speichert eine Zeichenfolge, die
den Server identifiziert, zu denen das Server-Proxy-Objekt zugeordnet ist.
Eine Property für
eine Server-ID 152 speichert eine global eindeutige Objekt-Identifikation
für das Ser ver-Proxy-Objekt.
Die Server-ID wird, wenn sie einmal zugeordnet ist, nicht geändert. Eine
Property für
eine Beschreibung 154 speichert einen optionalen Satz von
Kommentaren, der eine allgemeine Beschreibung des Server-Objekts
liefert, zu dem das Server-Proxy-Objekt zugeordnet ist.
-
Eine
Property für
eine Straßen-Adresse 156 spezifiziert
die Straßen-Adresse
für den
Ort des Servers. Eine Property für
globale Koordinaten 158 speichert den Ort des globalen
Positionierungs-Systems (GPS), das dem Server zugeordnet ist. Eine
Property für
einen SecurityPrincipalName 160 spezifiziert das Server-Objekt,
das das Server-Proxy in dem Site-Objekt-Container darstellt. Der
Server-Name, gespeichert in dem SecurityPrincipalName 160,
wird dazu verwendet, auf Eigenschaften des die Maschine berücksichtigenden
Objekts für
den benannten Server zuzugreifen.
-
Eine
Property für
Hosted-Partition-Namen 162 enthält eine Liste von Domäne-Unterteilungen bzw.
Portionen, die durch den Server als Host gehalten werden. Eine Property
für einen
globalen Katalog 164 ist ein Bool'scher Wert, der anzeigt, ob dieser bestimmte
Server ein Global-Katalog-Server ist.
-
In 9 nun
ist die Struktur eines Server-Verbindungs-Objekts dargestellt. Server-Verbindungs-Objekte
stellen die ankommende Hälfte
einer Verbindung zwischen zwei Servern dar. Eine Property für einen
Verbindungs-Namen 170 speichert eine Zeichenfolge, die
die Verbindung identifiziert. Eine Property für eine Verbindungs-ID 172 speichert
eine global eindeutige Objekt-Identifikation für das Verbindungs-Objekt. Die Verbindungs-ID
wird, wenn sie einmal zugeordnet ist, nicht geändert. Eine Property für eine Beschreibung 174 speichert
einen optionalen Satz von Kommentaren, die eine allgemeine Beschreibung
der Verbindung liefern.
-
Eine
Property für
eine freigegebene Verbindung 176 speichert eine Bool'sche Variable (schreibbar
durch einen Administrator), die anzeigt, ob eine bestimmte Verbindung
momentan freigegeben ist. Eine Property FromServerName 178 identifiziert
den Source-Server (der ein entsprechendes Server-Proxy-Objekt in
dem Site-Objekt haben muss) für
die Verbindung. Eine Property für
eine Automatik 180 speichert einen Bool'schen Wert, der spezifiziert, ob die
bestimmte Verbindung automatisch erzeugt wird.
-
Eine
Property für
Replikations-Optionen 182 ist eine Bit-Maske, die spezifiziert,
wie eine Intersite-Replikation durchgeführt werden soll. Die spezifizierten
Optionen umfassen "RPC" (was einen nicht-angeforderten
Hinweis impliziert) und ein Email (das ein Scheduled pull impliziert).
Andere Optionen umfassen Authentifikations-Verfahren und Verschlüsselungs-Techniken,
die verwendet werden sollen.
-
Eine
Property für
ein Schedule 184 stellt das Nachfrage-Schedule dar, um
durch den Server verwendet zu werden, um den "FromServer", identifiziert durch die Property des
FromServerName 178, von dem Server-Verbindungs-Objekt abzurufen.
Falls die Verbindung eine Intrasite-Verbindung ist, dann ist dieser
Wert ein schlechter Fall eines Replikations-Schedule, da irgendeine Änderung
automatisch zu anderen, verbundenen Servern in einer Site repliziert
wird. Eine Property für
Kosten 186 spezifiziert einen Wert, der relative Kosten
zum Durchführen
von Kommunikationen auf der Verbindung anzeigt. Der Wert, gespeichert
in den Kosten 186, ist eine Kombination von Faktoren, wie,
zum Beispiel: (1) Bit-Übertragungs-Rate
der Leitung, die durch die Verbindung verwendet ist, (2) Typ einer
Verbindung (permanent oder angerufen), und (3) eine Priorität des Servers, um
die Leitung zu verwenden. Je größer die
Kosten sind, desto weniger sollte die bestimmte Verbindung verwendet
werden. Andere Faktoren, einschließlich tatsächlicher, momentaner Kosten
für die
Verwendung der Verbindung, können
eingeschlossen werden.
-
In 10 nun
ist die Struktur für
ein Site-Verbindungs-Objekt dargestellt. Site-Verbindungs-Objekte stellen die ankommende
Hälfte
einer Verbindung zwischen zwei Sites dar. Das Site-Verbindungs-Objekt
spezifiziert eine Fehler-Verbindung für Anwendungen, die keine Server
spezifischen Verbindungen erfordern. Eine Property für einen
Site-Verbindungs-Namen 190 speichert eine Zeichenfolge, die
die Site-Verbindung
identifiziert. Eine Property für eine
Site-Verbindungs-ID 192 speichert eine global eindeutige
Objekt-Identifikation für
das Site-Verbindungs-Objekt. Die Verbindungs-ID wird, wenn sie einmal
zugeordnet ist, nicht geändert.
Die Property für
die Beschreibung 194 speichert einen optionalen Satz von
Kommentaren, die eine allgemeine Beschreibung der Site-Verbindung
darstellen.
-
Eine
Property FromSite 196 speichert einen global eindeutigen
Identifizierer für
die Source-Site auf der Verbindung (die ein entsprechendes Site-Objekt
in dem Site-Objekt
haben muss) für
die Verbindung. Eine Property als nachfragendes Schedule 198 stellt
das nachfragende Schedule dar, das dazu verwendet wird, bei dem
From-Site nachzufragen. Eine
Property für
Kosten 199 spezifiziert einen Wert, der relative Kosten
zum Durchführen
von Kommunikationen auf der Site-Verbindung anzeigt. Die Bestimmung
der Kosten entsteht aus Kosten-Bestimmungs-Kriterien, die ein oder
mehrere der Kosten-Faktoren, beschrieben vorstehend, in Bezug auf die
Beschreibung der Server-Verbindungs-Kosten 186, darstellen.
-
Lokalisieren einer replizierten Ressource
(eine Domänen-Steuereinheit)
-
DS-Server
(z.B. DS-Server 62) innerhalb der Domäne-Steuereinheiten sind zu
einer Domäne
und einer Site zugeordnet. Als ein Domäne-Mitglied repliziert ein
DS-Server DS-Objekte zu anderen DS-Servern. Als ein Site-Mitglied
teilt der DS-Server gemeinsam eine enge Verbindungsfähigkeit
mit anderen Maschinen innerhalb der Site, um dadurch dem OS-Server
und den Clients zu ermöglichen,
lokale (Intrasite) Ressourcen zu identifizieren und bevorzugt zu
verwenden, die unter wesentlich niedrigeren Kosten als nicht lokale
(Intersite) Ressourcen erreichbar sind.
-
Die 11-14 fassen
einen Satz von Schritten, durchgeführt gemeinsam durch Client,
Verzeichnis-Servern und Domäne-Steuereinheiten,
um eine Domäne-Steuereinheit (vorzugsweise "am nächsten liegend") für einen
bestimmten Client zu lokalisieren. Allerdings werden, vor einem
Fortfahren mit dieser Beschreibung, drei Tabellen von Informationen
beschrieben, die eine integrale Rolle in der Funktionsweise der
Vorgänge
in den 11-14 durchführen.
-
Die
erste Tabelle, eine Subnet-Zu-Site-Auflistungs-Tabelle, weist eine
Liste von Subnet-Adressen und deren entsprechenden Sites auf. Diese
Liste wird durch eine Domäne-Steuereinheit
beim Beginn durch Konsultieren der Site-Objekt-Property innerhalb
jedes Subnet-Objekts innerhalb des Konfigurations-Containers erzeugt.
-
Die
zweite Tabelle, eine Liste von am nächsten liegenden Sites, weist
eine Liste von Sites auf, für die
die Domäne-Steuereinheit "am nächsten" zu Zwecken eines
Ein stellens eines "nächsten" Bits in Abhängigkeit
von einer Anfrage-Nachricht eines Clients angesehen wird. Die nächsten Sites
umfassen die Site, innerhalb der die Domäne-Steuereinheit derzeit vorhanden
ist. Die nächsten
Sites umfassen auch einen Satz von Sites, erhalten von der Site-Überdeckungs-Property
des Domäne-Objekts innerhalb
des Verzeichnisdienstes der Domäne-Steuereinheit.
Jeder Wert innerhalb der Site-Überdeckungs-Property
enthält
zwei Site-Namen. Der erste Name identifiziert eine Site, die physikalisch
Domäne-Steuereinheiten
für diese
Domäne
enthält.
Der zweite Name ist ein Site-Name für eine Site, die nicht physikalisch
eine Domäne-Steuereinheit
für die
Domäne
enthält,
die allerdings am nächsten
liegend angesehen wird. Jede Domäne-Steuereinheit
für diese Domäne in der
ersten Site wird auch sich selbst als "am nächsten" zu Clients in der
zweiten, benannten Site registrieren.
-
Schließlich ist
eine dritte Tabelle aufgebaut und wird durch den DNS-Server für alle Objekte
beibehalten. Die dritte Tabelle ist die eine, die durch den DNS-Server
verwendet wird, um eine Liste von Domäne-Steuereinheiten in Abhängigkeit
einer Anforderung eines Clients nach Domäne-Steuereinheit-Namen für eine spezifizierte
Domäne
und/oder Site zu lokalisieren und bereitzustellen. Deshalb registriert,
während
eines Anlaufens, eine Domäne-Steuereinheit
sich selbst durch Senden ihres DNS-Domäne-Name und der Site zu dem
DNS-Server. Diese Teile von Informationen sind in den Aufzeichnungen
gespeichert:
"Idap.tcp.<DomainName>" und
"Idap.tcp.<SiteName>Sites.<DomainName>"
und auf sie wird in Abhängigkeit
von Anforderungen des Client, um eine Domäne-Steuereinheit entsprechend zu Domäne-Steuereinheit-Lokalisierungs-Prozeduren,
die nachfolgend beschrieben sind, zu lokalisieren, Bezug genommen.
-
In 11 nun
zeigt ein Flussdiagramm erläuternd
die Schritte an, die in einem Netzwerk, das die vorliegende Erfindung
verkörpert,
durchgeführt werden,
um eine nächstliegende
Domäne-Steuereinheit
für einen
bestimmten Client durch Verwendung der Sites-Informationen, gehalten
durch den Directory-Server bzw. Verzeich nisdienst, zu lokalisieren.
Es ist anzumerken, dass, während
sich dieses Beispiel auf eine Bestimmung einer Domäne-Steuereinheit, die
durch einen Client verwendet werden soll, bezieht, deren allgemeine
Prinzipien bei einem Lokalisieren und Verwenden von virtuell irgendeiner
Netzwerk-Ressource anwendbar sind, die Replikas an mehreren Sites
innerhalb eines Netzwerks besitzt, oder um Verbindungen zu am nächsten liegenden Replikations-Partnern
einzustellen, um Replikations-Kosten zu optimieren.
-
Während eines
Schritts 200 sammelt ein Client die Informationen, die
benötigt
werden, um einen Aufruf einer Prozedur vorzunehmen, um eine Domäne-Steuereinheit
für eine
identifizierte Site und Domäne
zu lokalisieren, und ruft dann einen Netzwerk-Logon-Dienst auf, um die Anforderung
auszuführen,
eine Domäne-Steuereinheit
zu lokalisieren. Die gesammelten Informationen umfassen den Namen
des Servers, zu dem die Anforderung weitergeführt werden wird, um das Netzwerk-Logon
durchzuführen.
Gewöhnlich
ist der Netzwerk-Logon-Dienst auf dem aufrufenden Client vorhanden,
und deshalb ist dieses Feld NULL. Allerdings ist dies keine notwendige
Charakteristik, und tatsächlich
kann derselbe Vorgang über
einen entfernten Vorgangs-Aufruf oder einen einzelnen Vorgang an
dem Client ohne die Chaching- und Daten-Sharing-Eigenschaften eines
Dienstes, durchgeführt
werden. Die gesammelten Informationen umfassen weiterhin einen Domäne-Namen,
eine Domäne-GUID
(falls bekannt), und einen Site-Namen (falls bekannt) des Client.
-
Die
zusammengestellten Informationen umfassen auch einen Satz von Zeichen,
der die Art und Weise bezeichnet, in der die Anforderung durch den Netzwerk-Logon-Dienst gehandhabt
werden wird. Ein erstes Zeichen-Bit erzwingt die Bestimmung einer
am nächsten
liegenden Domäne-Steuereinheit, sogar
dann, wenn eine Domäne-Steuereinheit,
die diese Anforderung erfüllt,
bereits im Chache gespeichert ist. Ein zweites Zeichen fordert,
falls es eingestellt ist, dass die Domäne-Steuereinheit eine bestimmte
Version eines Verzeichnisdienstes bzw. Directory-Services unterstützt. Ein
noch anderes Zeichen spezifiziert eine Präferenz für eine bestimmte Version eines
Verzeichnisdienstes. Andere Zeichen spezifizieren zusätzliche
Anforderungen für
die Domäne-Steuereinheit,
zurückgeführt durch
den Netzwerk-Logon-Dienst,
wie beispielsweise eine Global-Katalog-Server-Fähigkeit und einen Primär- Domäne-Steuereinheit-Status.
Andere Zeichen identifizieren die Form des Domäne-Namens (z.B. flach oder DNS).
-
Am
Schritt 202 ruft der Netzwerk-Logon-Dienst den DNS-Server
auf und führt
einen Satz weiterer Operationen durch, um eine Domäne-Steuereinheit
zu lokalisieren. Die Unterschritte, durchgeführt während des Schritts 202,
sind in 12 (beschrieben nachfolgend)
zusammengefasst. Der Service-Ruf des Client kann einen Site-Namen
umfassen, zu dem der Client zuletzt zugeordnet war, oder das Site-Namen-Feld
kann NULL sein. Die Unterschritte, durchgeführt während des Schritts 202,
werden entweder ein Bündel
von Informationen, eine "pinged" Domäne-Steuereinheit
identifizieren oder einen Fehler erzeugen. Dieses Bündel an
Informationen wird eine Identifikation der pinged Domäne-Steuereinheit,
eine aktuelle Site des Client und ein "am nächsten
liegendes" Bit – – das eingestellt
wird, falls die Domäne-Steuereinheit
bestimmt worden ist, dass sie eine "nächste" Domäne-Steuereinheit
ist – – umfassen.
Die Bestimmung der "nächsten" Domäne-Steuereinheit
ist in 14 zusammengefasst, die nachfolgend
beschrieben ist.
-
Am
Schritt 204 wird, falls kein Fehler während des Vorgangs des anfänglichen
Besuchs eines Netlogon-Servers des Client, während des Schritts 202,
zurückgeführt wird,
um eine Domäne-Steuereinheit
zu lokalisieren, dann das Bündel
an Informationen, zugeordnet zu der "pinged" Domäne-Steuereinheit,
zurückgeführt, und
die Steuerung geht weiter zu Schritt 206.
-
Am
Schritt 206 geht, falls das am nächsten liegende Bit nicht eingestellt
worden ist, was einen Fehler anzeigt, eine Domäne-Steuereinheit "nahe" zu der momentanen
Site eines Clients zu finden, dann die Steuerung weiter zu Schritt 208.
-
Wie
vorstehend erwähnt
ist, enthält
das Bündel
der Informationen, zurückgeführt durch
eine pinged Domäne-Steuereinheit
während
des Schritts 202, einen Site-Namen für die momentane Site des Client,
die sich von der Site unterscheidet, die ursprünglich während der anfänglichen
Frage am Schritt 202 des Client geliefert ist. Am Schritt 208 versucht,
falls der Site-Name, zurückgeführt durch
die pinged Domäne-Steuereinheit,
nicht den Site-Name, unterbreitet durch den Client am Schritt 202,
anpasst, dann der Client erneut seinen Versuch, eine am nächsten liegende
Dora ne-Steuereinheit zu lokalisieren, durch erneutes Befragen des
DNS-Servers, und zwar während
des Schritts 210. Allerdings unterbreitet, während dieses
zweiten Durchgangs, der Client als seinen Site-Namen den Client-Site-Namen,
zurückgeführt durch
die pinged Domäne-Steuereinheit, während des
Schritts 202.
-
Unter
Abschluss des Schritts 210 wird der DNS-Server erneut versucht
haben, eine am nächsten
liegende Domäne-Steuereinheit
zu lokalisieren, und zwar unter Verwendung der besten, verfügbaren Client-Site-Informationen.
Deshalb geht, falls am Schritt 211 keine Fehler während des
zweiten Versuchs, eine Domäne-Steuereinheit
während
des Schritts 210 zu lokalisieren, vorgefunden wurden, die Steuerung
weiter zu Schritt 212, wo der Netzwerk-Logon-Dienst an
dem Client ein Bündel
von Informationen, enthaltend eine bezeichnete Domäne-Steuereinheit,
zurückführt, ungeachtet
davon, ob das "nächste" Bit eingestellt
worden ist, und die Steuerung geht weiter zu dem Ende des Domäne-Steuereinheit-Lokalisierungs-Vorgangs.
-
Das
Bündel
der Domäne-Steuereinheit-Informationen,
zurückgeführt durch
den Netzwerk-Logon-Dienst zu dem Anrufer während des Schritts 212,
umfasst: einen Domäne-Steuereinheit-Namen, spezifiziert
in der Form einer Zeichenfolge (in einem DNS-Format), eine Domäne-Steuereinheit-Adresse, spezifiziert
in der Form einer Zeichenfolge, und ein Adressen-Typ-Feld (das ein
Decodieren der empfangenen Adressen-Informationen unterstützt). Das Bündel umfasst
auch den Site-Namen und das GUID des Client, der den Anrufer veranlasste.
Falls solche Informationen für
die ausgewählte
Domäne-Steuereinheit
existieren, dann werden eine Domäne und/oder
eine Site durch den Namen und die GUID spezifiziert.
-
Die
zurückgeführten Daten
umfassen auch einen Domäne-Namen
und den Namen des Verzeichnisdienst-Baums, umfassend die benannte
Domäne.
Schließlich
umfassen die zurückgeführten Informationen
einen Satz von Zeichen, die irgendeinen speziellen Status der identifizierten
Domäne-Steuereinheit
ebenso wie das Format irgendwelcher Namen, geliefert in den zurückgeführten Daten
(z.B. DNS-Format), identifizieren. Unter diesen Zeichen ist das "nächste" Bit vorhanden.
-
Der
Domäne-Steuereinheit-Lokalisierungs-Vorgang
beruht in erster Linie auf einem DNS-Server. Allerdings geht, falls
am Schritt 204 sowohl IPs als auch DNS nicht un terstützt werden
(oder nicht verfügbar
sind) oder die Lokalisierungseinrichtung nicht in der Lage war,
irgendeine Domäne-Steuereinheit
zu finden, dann die Steuerung weiter zu Schritt 214, wo
der Netzwerk-Logon-Dienst versucht, eine Domäne-Steuereinheit mittels der Backup-Domäne-Steuereinheit-Lokalisierungseinrichtungs-Prozedur, zusammengefasst
in 13 und nachfolgend beschrieben, zu lokalisieren.
Die Steuerung geht dann weiter zu dem Ende.
-
An
dem Schritt 206 werden, falls der DNS-Server ein Bündel an
Informationen zurückführt, wo
das "nächste" Bit eingestellt
worden ist (d.h. die Domäne-Steuereinheit
erfüllt
das Nähe-Kriterium),
dann darauf folgende Rufe zu dem DNS-Server, um eine nächstliegende
Domäne-Steuereinheit
zu finden, nicht zu der Lokalisierung einer näheren Domäne-Steuereinheit führen. Die
Steuerung führt
deshalb zu Schritt 212.
-
Am
Schritt 208 werden, falls der momentane Site-Name des Client
den Site-Namen, geliefert durch den Client zu dem DNS-Server während des Schritts 202,
passt, dann darauf folgende Anrufe zu dem DNS-Server nicht wahrscheinlich
eine "nächste" Domäne-Steuereinheit
ergeben. Deshalb geht die Steuerung weiter zu Schritt 212,
und der Anrufer empfängt
das Bündel
von Domäne-Steuereinheit-Informationen,
ungeachtet der Tatsache, dass der DNS-Server nicht in der Lage war
zu schließen,
dass er der nächste
ist. Schließlich
geht, ähnlich
zu den Tests am Schritt 204, falls Fehler während des
zweiten, erneuten Versuchs am Schritt 210 erfasst werden,
die Steuerung weiter zu Schritt 214.
-
Unter
Bezugnahme nun auf 12 werden die Schritte für den DNS-Domäne-Steuereinheit-Lokalisierungseinrichtungs-Vorgang
zusammengefasst. Am Schritt 230 geht, falls ein Site-Name
in dem Anruf zu dem Netzwerk-Logon-Dienst spezifiziert ist, dann
die Steuerung weiter zu Schritt 232, wo der Netzwerk-Logon-Dienst
den DNS-Verzeichnisdienst aufruft,
um Fälle
von Domäne-Steuereinheiten
zu lokalisieren, die der Domäne
und der Site, identifiziert in der Netzwerk-Logon-Anforderung, zugeordnet sind.
Der DNS-Server konsultiert ein Directory bzw. Verzeichnis, das,
wie vorstehend erläutert
ist, so aufbereitet worden ist, um Domäne- und Site-Identifikationen
zu umfassen, und führt
Domäne-Steuereinheit-Namen
und IP-Adressen für
Domäne-Steuereinheiten,
die der spezifizierten Domäne
und der Site zugeordnet sind, zurück.
-
Am
Schritt 234 geht, falls sowohl IP als auch DNS durch einen
DNS-Server unterstützt
werden, dann die Steuerung weiter zu Schritt 236. Am Schritt 236 geht,
falls der Client eine Return-Nachricht von dem DNS-Server empfängt, die
eine oder mehrere der Domäne-Steuereinheiten
innerhalb der spezifizierten Domäne
und Site identifiziert, dann die Steuerung weiter zu Schritt 238.
-
An
dem Schritt 238 spricht der Client jede der Domäne-Steuereinheiten,
identifiziert durch den DNS-Server, während des Schritts 232,
an. Jede der angesprochenen Domäne-Steuereinheiten
führt Vorgänge durch,
um eine Return-Nachricht zu erzeugen, die die Domäne-Steuereinheit
identifiziert, was die tatsächliche
Site des Client identifiziert (basierend auf der vorstehend beschriebenen
Subnet-Zu-Site-Auflistungstabelle,
erzeugt beim Startup durch die Domäne-Steuereinheit), und sie
identifiziert, ob die Domäne-Steuereinheit
eine "nächste" Domäne-Steuereinheit
ist. Die Vorgänge
zum Bestimmen einer nächsten
Domäne-Steuereinheit
werden hier nachfolgend in Verbindung mit den Schritten, zusammengefasst
in 14, beschrieben.
-
Es
wird nun mit der Beschreibung des Schritts 238 fortgefahren,
da die Liste der Domäne-Steuereinheiten,
geliefert zu dem Client während des
Schritts 232, mehrere, potenzielle Domäne-Steuereinheiten identifizieren
kann, bei denen sich der Client anmelden kann. Während andere Domäne-Steuereinheit-Auswahl-Vorgänge verwendet
werden können,
versucht der Client, in einer Ausführungsform der vorliegenden
Erfindung, alle der aufgelisteten Domäne-Steuereinheiten anzusprechen, und
verwendet dann die Informationen, enthalten innerhalb des ersten
Ansprechens, eine verfügbare Domäne-Steuereinheit
anzeigend.
-
Am
Schritt 239 geht, falls keine Antwort von einer qualifizierten
Domäne-Steuereinheit durch
die Domäne-Steuereinheit
während
des Schritts 238 empfangen wurde, dann die Steuerung weiter
zu Schritt 246. Wenn allerdings eine antwortende bzw. ansprechende
Domäne-Steuereinheit
identifiziert ist, dann geht die Steuerung weiter zu dem Ende.
-
Andererseits
geht, am Schritt 234, falls sowohl IP als auch DNS nicht
durch einen DNS-Server unterstützt
werden, dann die Steuerung weiter zu Schritt 240, wo ein
Fehler registriert wird und die Steuerung zu dem Ende geht.
-
An
dem Schritt 230 geht, falls die Anforderung von dem Anrufer
nicht eine Site-Identifikation umfasst,
dann die Steuerung weiter zu Schritt 242. Am Schritt 242 ruft
der Netzwerk-Logon-Dienst an dem Client den DNS-Server an, um irgendwelche Domäne-Steuereinheiten,
ungeachtet einer Site-Zugehörigkeit,
zu lokalisieren. In diesem Schritt wird auch von dem Schritt 236 aus
eingetreten, falls der DNS-Server nicht irgendwelche für die Site
spezifischen Fälle
von Domäne-Steuereinheiten
für die spezifizierte
Domäne
und Site lokalisieren kann. Der DNS-Server konsultiert seine Liste
von Domäne-Objekten
(beschrieben vorstehend) und identifiziert die Namen und die IP-Adressen
der Domäne-Steuereinheiten,
die die benannte Domäne
spezifizieren. Falls irgendwelche Domäne-Steuereinheiten für die spezifizierte
Domäne
identifiziert sind, dann werden sie zu dem Client zurückgeführt.
-
Am
Schritt 244 geht, falls eine oder mehrere Domäne-Steuereinheit(en)
innerhalb der Return-Nachricht von dem DNS-Server zu dem Client aufgelistet
ist bzw. sind, dann die Steuerung weiter zu Schritt 238,
wo der DNS-Server die Liste von Domäne-Steuereinheiten (oder falls die Liste
umfangreich ist einen bestimmten Bereich davon) zurück zu dem anrufenden
Netzwerk-Logon-Dienst führt.
-
Ansonsten
geht, falls keine Domäne-Steuereinheit-Identifikationen
durch den DNS-Server
zurückgeführt wurden,
die Steuerung dann weiter von Schritt 244 zu Schritt 246,
wo der Netzwerk-Logon-Dienst einen Fehler registriert, der anzeigt,
dass keine Domäne-Steuereinheiten
für die
spezifizierte Domäne
durch den DNS-Server lokalisiert wurden. Die Steuerung geht dann
weiter zu dem Ende.
-
Es
ist anzumerken, dass in dem Fall, bei dem keine Domäne-Steuereinheit
für eine
identifizierte Site lokalisiert wurde, falls der Netzwerk-Logon-Dienst
auf einer Domäne-Steuereinheit
läuft,
er die Site-Topologie-Informationen innerhalb seiner Datenbank konsultieren
könnte,
um eine "nächste" Domäne-Steuereinheit
auszuwählen,
mit der zu verbinden ist, und zwar von der Liste verfügbarer Domäne-Steuereinheiten,
erhalten während
des Schritts 242.
-
In 13 nun
werden die Schritte für
den Sekundär-Domäne-Steuereinheit-Lokalisierungseinrichtungs-Vorgang,
der dann aufgerufen wird, wenn der primäre, auf einem DNS-Server basierende
Vorgang fehlschlägt,
eine Domäne-Steuereinheit
zu gestalten, mit der sich der Client verbinden kann, zusammengefasst.
Am Schritt 250 richtet der Client, der wünscht, eine
Verbindung mit einer Domäne-Steuereinheit
einzurichten, eine Netzwerk-Logon-Anforderung zu dem Netzwerk mit
der geeigneten Domäne-Bezeichnung
ein. Als nächstes
empfängt,
am Schritt 252, der Client Antwort-Nachrichten von Domäne-Steuereinheiten
in der identifizierten Domäne. Die
zurückgeführten Informationen
werden, in Fällen, bei
denen eine Domäne-Steuereinheit Sites-Bestimmungen
unterstützt,
eine Site-Identifikation innerhalb der Antwort-Nachricht umfassen.
-
Am
Schritt 254 versucht der Client eine Domäne-Steuereinheit
innerhalb derselben Site zu identifizieren. Falls eine solche Domäne-Steuereinheit
identifiziert ist, dann geht die Steuerung weiter zu Schritt 256,
wo die Netzwerk-Logon-Prozedur die Domäne-Steuereinheit-Informationen
für die
Domäne-Steuereinheit
zurückführt, die
innerhalb der Site vorhanden sind. Die Steuerung geht dann weiter
zu dem Ende.
-
Falls
an dem Schritt 254 keine Domäne-Steuereinheiten innerhalb
der Site des Client angeordnet sind, geht die Steuerung weiter zu
Schritt 258. Am Schritt 258 geht, falls irgendeine
Domäne-Steuereinheit
auf die Logon-Anforderung geantwortet hat, dann die Steuerung weiter
zu Schritt 256, wo der Netzwerk-Logon-Vorgang die Domäne-Steuereinheit-Informationen
für eine
der antwortenden Sites zurückführt. Die
erste Domäne-Steuereinheit
auf die Antwort ist gewöhnlich
die eine, die in den Informationen, zurückgeführt während des Schritts 256, identifiziert
ist.
-
Am
Schritt 258 hat keine DC auf die Netzwerk-Logon-Anforderung
geantwortet, wobei dann die Steuerung zu Schritt 260 weiter
geht. Am Schritt 260 erzeugt der Netzwerk-Logon-Vorgang
eine Fehler-Nachricht, die anzeigt, dass keine Domäne-Steuereinheit auf
die Netzwerk-Logon-Anforderung antwortete. Die Steuerung geht dann
weiter zu dem Ende.
-
In 14 nun
werden die Schritte für
eine Domäne-Steuereinheit
zusammengefasst, die bestimmt, ob sie eine "nächste" Domäne-Steuereinheit für einen
bestimmten Client ist, und zwar basierend auf dem momentanen Ort
des Client. Als ein primärer Gegenstand
wird angeführt,
dass die Domäne-Steuereinheit
eine erste Tabelle aufrechterhält,
die Subnets zu Sites auflistet. Eine zweite Tabelle, aufgebaut und
gehalten durch die Domäne-Steuereinheit,
listet jede der Sites auf, für
die sie dahin angesehen wird, dass sie "nahe" ist,
und zwar für
Zwecke eines Einstellens des "nächsten" Bits in der Return-Nachricht zu
einem Client nach Empfang einer Anfrage von dem Client. Wie nachfolgend
erläutert
werden wird, erleichtern die erste und die zweite Tabelle, in Kombination,
die Bestimmung durch Domäne-Steuereinheiten,
ob sie "am nächsten" zu einer momentanen Site
eines bestimmten Clients liegen.
-
Während des
Schritts 270 vergleicht der Netzwerk-Logon-Dienst der Domäne-Steuereinheit die
Internet-Protokoll-Adresse des Client mit dem Satz von Subnets,
enthalten innerhalb der ersten Tabelle, bei der Suche nach einer "besten Anpassung" für den Client.
Eine "beste Anpassung" bezieht sich, in
dem Fall von mehreren, passenden Gegenständen in der Subnet zu Site-Auflistungstabelle
für eine
gegebene Client-Adresse, auf das Subnet, identifiziert durch die
größte Zahl
von Subnet-Bits. Am Schritt 272 wird, falls keine Anpassung
lokalisiert ist, dann, am Schritt 274, eine Nachricht zurückgeführt, die
anzeigt, dass kein entsprechendes Subnet in der Auflistungstabelle
Subnet zu Site der Domäne-Steuereinheit
für die
momentane IP-Adresse des Client vorhanden ist, indem ein NULL Wert
in dem Client-Site-Feld angeordnet wird. Die Domäne-Steuereinheit-Informationen
werden in der Return-Nachricht
zu dem Client zugeführt,
allerdings wird das nächstliegende
Bit nicht eingestellt werden. Die Steuerung geht dann zu dem Ende.
-
Falls
eine Subnet-Anpassung während
des Schritts 272 identifiziert ist, dann durchsucht, am Schritt 276,
die Domäne-Steuereinheit
deren Tabelle mit den "nächsten Sites" nach einem Eintritt,
der dieselbe Site wie die eine, angezeigt für das Subnet des Client in
dem Subnet der Domäne-Steuereinheit
zu der Auflistungs-Tabelle, enthält.
Am Schritt 278 stellt, falls die Site des Client in der
Tabelle der "nächsten" Sites angeordnet
ist, dann die Domäne-Steuereinheit das "nächste" Bit in die Return-Nachricht zu dem Client während des
Schritts 280 ein. Am Schritt 282 vervollständigt die
Domäne-Steuereinheit
das Rückführ-Bündel zu
dem Client (unter Heranziehen des zuvor eingestellten oder nicht
eingestellten, nächsten Bits)
durch Hinzufügen
der Informationen der Domäne-Steuereinheit
und der Site-Identifikation für
den Client. Die Steuerung geht dann zu dem Ende. Falls die Site
des Client in der Tabelle für
die "nächsten Sites" während des
Schritts 278 angeordnet ist, dann geht die Steuerung weiter
zu Schritt 282 ohne Einstellen des "nächsten" Bits.
-
Es
ist anzumerken, dass die Schritte der Flussdiagramme in den 11, 12, 13 und 14 in
dem Zusammenhang eines Netzwerk-Logon-Dienstes, der an dem Client
vorhanden ist, beschrieben wurden. Allerdings werden, in Fällen eines entfernten
Netzwerk-Logon-Dienstes, die vorstehenden Funktionen in im Wesentlichen
derselben Art und Weise durchgeführt.
Nur kleine Modifikationen werden vorgenommen, um das Erfordernis
zu berücksichtigen,
entfernte Anrufe zu einer anderen Maschine vorzunehmen, um den Netzwerk-Logon-Dienst durchzuführen.
-
Weiterhin
sind die vorstehenden Vorgänge für ein Einloggen
auf einem Netzwerk und zum Einrichten einer Verbindung mit einer
Domäne-Steuereinheit
zu Zwecken eines Durchführens
von Netzwerk-Verzeichnisdienst-Funktionen nur ein Beispiel von vielen
potenziellen, nützlichen
Anwendungen für die
Sites-Informationen und die Anordnung dieser Informationen in einer
Netzwerk-Topologie-Datenbank, wie dies erläuternd in den 5-10 dargestellt ist.
Viele andere, potenzielle Verwendungen sind vorgesehen, einschließlich solcher,
die hier nachfolgend beschrieben sind.
-
Replizierung
-
Sites
spielen eine wichtige Rolle bei der Synchronisierung von replizierten
Informationen innerhalb eines Netzwerks. Benachbarte Sites in einem Netzwerk
synchronisieren Zeit- und Domäne-Informationen.
Site-Bezeichnungen werden auch verwendet, um die Art und Weise zu
bestimmen, in der eine Replizierung zwischen bestimmten Maschinen
in einem Netzwerk auftreten wird.
-
Anhand
des Beispiels, das kurz vorstehend beschrieben ist, führen, falls
eine bestimmte Domäne mehrere
Domäne-Steuereinheiten
innerhalb einer Site besitzt, dann die Domäne-Steuereinheiten eine Intrasite-DS-Objekt-Replikation
entsprechend einem Hinweis, basierend auf einem Intrasite-Objekt-Replikations- Algorithmus, durch.
Da dies eine relativ kostengünstige
Kommunikation ist, wird sie auf einer benötigten Basis durchgeführt (nach
einer relativ kurzen Verzögerung).
-
Allerdings
sind, per Definition, Intersite-Kommunikationen relativ kostspielig,
und deshalb sollten sie weniger oft dort, wo dies möglich ist,
durchgeführt werden.
Deshalb informiert, in der erläuternden
Ausführungsform,
eine Domäne-Steuereinheit
nicht andere Domäne-Steuereinheiten,
für was
sie Intersite-Replikations-Verbindungen
eingerichtet hat, wenn die Änderungen
auftreten. An Stelle davon tritt eine Informations-Synchronisation über Intersite-Replikations-Verbindungen über ein
periodisches "Nachfragen" auf, das durch die
Empfänger
von aktualisierten Informationen initiiert wird.
-
Demzufolge
werden, in einer Replikations-Umgebung, die mehrere Sites aufweist,
die Site-Informationen dazu verwendet, den Typ einer Replikation,
der durchgeführt
werden soll, um replizierte Informationen zu synchronisieren, um
eine effiziente Benutzung von potenziell kostspieligen Kommunikations-Verbindungen
zu erleichtern, zu bestimmen.
-
Das
Schedule bzw. der Ablauf einer Propagation zwischen Sites wird durch
dieselben Wiederholungs-Perioden, verwendet für eine Interdomäne-Propagation,
geleitet. Der Verzeichnisdienst bzw. Directory Service (innerhalb
der KDC) konsultiert die geeigneten Abläufe innerhalb der Domänen-Aufzeichnung,
um zu bestimmen, wann eine Replikation zu anderen Sites zu initiieren
ist, und um zu bestimmen, ob es wahrscheinlich ist, dass andere
Sites die Bemühung
akzeptieren werden. Andererseits wird eine Propagation von Änderungen
innerhalb einer Site durch einen vollständig unterschiedlichen Satz von
Replikations-Regeln geleitet – – es wird
an die wesentlich niedrigeren Kosten in propagierenden Änderungen
unter replizierten Datenbanken in einer selben Site erinnert.
-
Eine
Intersite-Replikation wird vollständig mittels eines Polled-Pulling
von Intersite-Replikations-Partnern
eines Servers (d.h. solche, für
die eine Intersite-Replikations-Verbindung
existiert) durchgeführt.
Ein Nachfragen durch den Server seiner Replikations-Partner wird
durch das Auftreten eines Ereignisses aufgerufen, das nicht zu einer Änderung
in dem Inhalt einer Datenbank eines Intersite-Replikations-Partners in
Bezug steht. Beispiele solcher Ereignisse sind der Ablauf einer
vorkonfigurierten Zeitperiode, wenn eine bestimmte Replikations-Verbindung On-Line
gebracht wird, oder wenn der Server erfasst, dass die Verbindung
eine niedrige Belastung zeigt.
-
Im
Gegensatz dazu werden, in der erläuternden Ausführungsform
der vorliegenden Erfindung, Intrasite-Replikations-Transaktionen
durch einen Server initiiert, zum Beispiel einen Server_A, nachdem eine Änderung
in seinen Informationen aufgetreten ist (z.B. ein Benutzer-Passwort
ist modifiziert). Wenn eine solche Änderung erfasst ist, wird das
Replikations-Programm des Server_A aufgerufen und die geänderten
Daten werden in einem Puffer platziert, und der Server_A lädt andere
Server, mit denen der Server_A eine Intrasite-Replikations-Verbindung
aufrechterhält,
ein, den Puffer des Server_A, der die Modifikations-Informationen
enthält,
abzufragen.
-
Es
ist anzumerken, dass, in einer erläuternden Ausführungsform
der vorliegenden Erfindung, der Server_A, im Gegensatz dazu, unmittelbar
seine Replikations-Partner zu informieren, diesen Hinweis-Vorgang
nach dem Ablauf einer konfigurierten Zeitperiode durchführt. Genauer
gesagt prüft,
wenn der Server_A eine Änderung
in Bezug auf seine Informationen registriert, er, um zu sehen, ob
die konfigurierte Zeitperiode begonnen hat. Falls die Zeitperiode nicht
begonnen hat, dann beginnt der Server_A diese Warteperiode. Falls
der Server_A weitere Änderungen
in Bezug auf seine Informationen während dieser Periode empfängt, dann
puffert der Server_A die Änderungen.
Dies ermöglicht
dem Server, einen Satz von eng beabstandeten Änderungen zu akkumulieren und
dadurch die Replikations-Kommunikations-Belastung an dem System
zu verringern. Unter Ablauf der Zeitperiode informiert der Server_A
seine Replikations-Partner und deaktiviert die konfigurierte Zeitperiode
in Vorausschau des Empfangs einer nächsten Änderung, die erneut den Perioden-Zeitgeber
starten wird.
-
Andererseits
stellt, wenn ein Replikations-Partner die Hinweis-Nachricht von
dem Server_A empfängt,
er die Nachricht in eine Warteschlange. Ein separater Verzögerungs-Zeitgeber prüft periodisch
die Nachrichten-Warteschlange. Falls Nachrichten in dieser Warteschlange
registriert worden sind, fragt der Replikations-Partner den Puffer
des Server_A nach den Änderungen
ab, die noch nicht bis jetzt zu ihm repli ziert worden sind. Er kehrt dann
zu einem Schlaf-Zustand zurück,
bevor seine Warteschlange in Bezug auf darauf folgende Änderungen
geprüft
wird.
-
Obwohl
ein Verfahren zum Ausführen
sowohl einer Intersite- als auch einer Intrasite-Replikation offenbart worden ist, sollte
ersichtlich sein, dass viele andere Replikations-Schemata entsprechend zu
anderen Ausführungsformen
der vorliegenden Erfindung verwendet werden können. Allerdings ist ein wichtiges
Merkmal innerhalb jedes davon, das durch die vorliegende Erfindung
ausgeführt
wird, die Fähigkeit
der Server, Intrasite- und Intersite-Replikations-Verbindungen zu
erkennen und zu unterscheiden. Dies ermöglicht wiederum Feinabstimmungs-Replikations-Algorithmen,
um angemessen aktuelle Replikas beizubehalten, ohne unangemessene
Netzwerk-Kommunikations-Kosten
zu verursachen.
-
Demand-Dial-Manager und Sites
-
Das
Sites-Objekt wird auch durch Transport-Router verwendet, um Route-Auswahl-Algorithmen auszuführen. Von
den Site-Informationen ebenso wie von anderen Informationen, die
sich auf die Verbindungen zwischen Sites, gebildet durch die Domain
Link Record List, beziehen, baut ein Demand-Dial-Manager ein Router-Site-Objekt 300 auf, wie
dies in 15 dargestellt ist. Das Router-Site-Objekt 300 umfasst
Erreichbarkeits-Informationen 302, die einen Satz von "n" Router-Aufzeichnungen entsprechend zu den "n" Routern, vorhanden an der Site, aufweisen.
Jeder der "n" Router-Aufzeichnungen
umfasst eine Router-Identifikation 304, wie beispielsweise
einen Router-Namen. Jede Router-Aufzeichnung umfasst auch eine Liste
von Adressen/Telefonnummern und Sub-Entries vom Media-Typ, wie beispielsweise
den Entry bzw. Eintritt 306 (eines ausreichend bekannten
Aufbaus).
-
Das
Router-Site-Objekt 300 umfasst auch Interface-Informationen 308,
die einen Satz von "m" Eintritten (z.B.
Eintritt 310) entsprechend zu dem Satz von "m" identifizierten Transport-Protokollen, vorgesehen
durch die Site und die statistischen Routen, zu denen jedes Transport-Protokoll
zugeordnet ist, aufweisen.
-
Das
Router-Site-Objekt 300 umfasst auch eine Liste von benachbarten
Site-Aufzeichnungen 312.
Jede Site-Aufzeichnung, zum Beispiel Site-Aufzeichnung 314, entspricht
einer direkt verbindbaren Site, und umfasst einen Site-Namen 316 und
Filter-Informationen 318.
-
Die
Site-Aufzeichnung 314 umfasst auch Schedule-Informationen 320,
die die Häufigkeit
identifizieren, mit der die Router-Informationen durch den Demand-Dial-Manager aktualisiert
werden. Ein Primär-Router-Maschinen-Name 322 in
der Site-Aufzeichnung 314 spezifiziert
den Namen des primären Routers
innerhalb der benachbarten Site. Bandbreiten-On-Demand-Informationen 324 spezifizieren,
ob eine angeforderte Bandbreite durch die Site verwendet wird oder
nicht. Falls die angeforderte Bandbreite verwendet wird, dann werden
die maximale Bandbreite oder die WAN-Ressourcen, verfügbar für die Verbindung,
gespeichert. Die Informationen 324 umfassen auch den Bandbreiten-Benutzungs-Pegel
des oberen Schwellwerts, der, wenn er überschritten wird, zusätzliche
WAN-Ressourcen erfordert. Die Informationen 324 umfassen
auch einen unteren Schwellwert, unterhalb dem WAN-Ressourcen überlassen
werden. Die Informationen 324 umfassen auch eine Verzögerungs-Periode,
die eine Verbindungs-Benutzung überschreiten
muss oder unterhalb der Schwellwerte fallen muss, bevor die WAN-Ressourcen
hinzugefügt
oder überlassen
werden.
-
Die
Site-Aufzeichnung 314 umfasst auch Steuer-Protokoll-Informationen 326,
die einen Satz von Aufzeichnungen identifizierender Transport-Protokolle
aufweisen, verwendet durch die angrenzende Site, und deren zugeordnete
Steuer-Protokoll-Informationen.
Diese Informationen sind ausreichend im Stand der Technik bekannt
und werden deshalb hier nicht wiederholt. Die Funktion dieser Steuer-Protokoll-Informationen ist
diejenige, einem Router zu ermöglichen,
ein bestimmtes Transport-Protokoll
auszuwählen,
das durch eine angrenzende Site vorgesehen ist, und dann einen Router
an der Site des Routers zu initialisieren, um mit der anderen Site
zu kommunizieren, und zwar unter Verwendung des ausgewählten Transportprotokolls.
-
Die
vorliegende Erfindung sieht verschiedene Anordnungen zum Aufnehmen
der Sites-Informationen für
ein Netzwerk vor. 16 offenbart eine solche alternative
Anordnung, bei der die Sites-Informationen innerhalb eines Domäne-Containers
an geordnet sind. Die Domäne-Aufzeichnung
umfasst eine Domäne-Verbindungs-Bezeichnung 450,
die identifiziert, ob eine bestimmte Domäne lokal, verknüpft oder
entfernt ist. Eine lokale Bestimmung zeigt an, dass die Domäne ohne
einen Umweg mit einer nicht-lokalen Netzwerk-Kommunikations-Verbindung,
wie beispielsweise einer Telefonleitung, verbunden ist. Eine verbundene
Domäne
ist eine Domäne,
die, während
sie nicht lokal ist, über
eine eingerichtete Netzwerk-Verbindung erreichbar ist. Schließlich kann
eine Domäne,
bezeichnet als "entfernt", direkt über eine
Verbindung erreicht werden. Allerdings kann eine "entfernte" Domäne über eine
oder mehrere, lokale oder verbundene Zwischen-Domänen erreicht
werden.
-
Weiterhin
umfasst eine Domäne-Aufzeichnung
eine geordnete Liste von DS-Server-Aufzeichnungen 452 entsprechend
zu jedem DS-Server (auch bezeichnet allgemein als Domäne-Steuereinheit
oder DC) in der Domäne,
die der Domäne-Aufzeichnung
der 16 entspricht. Die Liste von Domäne-Site-Aufzeichnungen
ist so geordnet, dass die bevorzugten Intersite- und Intrasite-Propagator-Verzeichnisdienst-Server
später
in der Liste der DS-Server-Aufzeichnungen 452 angeordnet
sind.
-
Interfaces
bzw. Schnittstellen zum Auflisten, Positionieren und Entfernen von
DS-Server-Aufzeichnungen
in der Liste 452 ermöglichen
einem Administrator, das Vorhandensein und die Präferenz (Listen-Reihenfolge)
eines DS-Servers zu betrachten und zu modifizieren. Ein Entfernen
einer DS-Server-Aufzeichnung von der Liste 452 entfernt
nicht die zugeordnete Domäne-Steuereinheit
des DS-Servers von der Domäne.
Tatsächlich
wird die Domäne-Steuereinheit
die Liste der DS-Server unter Verwendung einer Betrachtungs-Schnittstelle
aufzählen,
das Nichtvorhandensein eines entsprechenden Eintritts identifizieren
und ein erneutes Einsetzen einer DS-Server-Aufzeichnung in der Liste der
DS-Server-Aufzeichnung 452 anfordern. Anstelle davon wird ein
Entfernen einer Domäne-Steuereinheit
durch Zugreifen der Domäne-Steuereinheit
selbst durchgeführt.
-
Jede
DS-Server-Aufzeichnung in der Liste 452 weist einen DS-Server-Namen 454 auf,
der eine Textfolge ist. Jede DS-Server-Aufzeichnung umfasst auch
eine DS-Server-ID 456,
die durch das Domäne-Sicherheits-System
zugeordnet ist, wenn eine Domäne-Steuereinheit,
innerhalb der DS-Server vorhanden ist, der Domäne zuge ordnet wird. Die DS-Server-ID 456 ist
aus allen anderen DS-Server-ID's,
zugeordnet innerhalb der Domäne,
bestimmt. Jede DS-Server-Aufzeichnung umfasst auch eine Site-ID 458,
die die Site identifiziert, zu der ein DS-Server zugeordnet ist.
-
Wenn
ein Propagator für
eine bestimmte Site benötigt
wird, um eine Replikation durchzuführen, beginnt die Suche nach
einem geeigneten DS-Server an dem Ende der Liste, die, in dem vorliegenden
Beispiel, die Aufzeichnung des Server_4 ist. Falls die Site-ID für die Aufzeichnung
des Server_4 die Site, die von Interesse ist, bezeichnet, endet
die Suche nach einem geeigneten Site-Propagator. Ansonsten geht der
Suchmechanismus zu der Aufzeichnung des DS-Servers unmittelbar oberhalb
der Aufzeichnung des Server_4 und führt dieselbe Site-ID-Frage
durch. Diese DS-Server-Aufzeichnungs-Frage
fährt fort,
bis ein DS-Server identifiziert ist, der die geeignete Site-ID zum
Durchführen
einer Replikation besitzt, oder der Suchmechanismus die Oberseite
der DS-Server-Aufzeichnungs-Liste 452 erreicht.
-
Um
die "Sites" innerhalb einer
Domäne
zu definieren und zu identifizieren, umfasst die Domäne-Aufzeichnung
einen Satz von Site-Aufzeichnungen 460. Wie erläuternd in 16 dargestellt
ist, umfassen die Aufzeichnung Site 1 und alle Site-Aufzeichnungen eine
Anzahl von Eintritten, die beschreibende Informationen für eine Site
enthalten. Die Site-ID 462 ist ein global eindeutiger Identifizierer (GUID),
der der Site zugeordnet ist. Er ist der autoritative Wert zum Identifizieren
einer Site. Aufgrund seiner Wichtigkeit beim Identifizieren der
Site wird die Site-ID 462, wenn sie einmal einer Site zugeordnet ist,
nicht geändert.
Ein Site-Name 464 ist ein String-Name für eine Site. In dem Fall der
Site 31 (2) ist der Site-Name 46 "Los Angeles". Der Site-Name ist
nicht, während
er zum Identifizieren einer Site nützlich ist, autoritativ und
kann geändert
werden.
-
Jede
Site-Aufzeichnung umfasst einen SitelsHeadquarter Bool'schen Wert 466.
Falls der Wert 466 wahr ist, muss die Site Kopien aller
DS-Objekte in der Domäne
haben. Falls der Wert 466 falsch ist, was anzeigt, dass
die Site einem Branch-Office oder einer schwer zu erreichenden Site
zugeordnet ist, wo vollständige
Kopien entweder nicht notwendig oder nicht praktisch sind, dann
wird nur ein Teil der DS-Objekte zu der Site kopiert.
-
Als
nächstes
ist, zu Zwecken einer Administration und eines besseren Verständnisses
einer bestimmten Site, eine Site-Beschreibung 468 enthalten. Die
Site-Beschreibung
(Site Description) 468 gibt wichtige Zusammenfassungs-Informationen
an, die sich auf die Site beziehen, zu der sie zugeordnet ist. Die
Site-Beschreibung 468 ist nicht, während sie nützlich ist, zwangsläufig. Ein
Site-Kontakt 470 identifiziert typischerweise eine Person,
die zum Administrieren und Aufrechterhalten der Site verantwortlich ist.
Diese Informationen sind auch optional.
-
Jede
Site-Aufzeichnung umfasst auch Intersite-Verbindungs-Informationen 472.
Die Intersite-Verbindungs-Informationen 472 weisen eine
Liste von Link-IDs auf, die, durch GUID, Links bzw. Verbindungen
identifizieren, die die Site mit anderen, benachbarten Sites verbinden.
Die Verbindungs-GUIDs werden dazu verwendet, um auf spezifische
Link-Informations-Eintritte innerhalb von Link-Informations-Aufzeichnungen 474,
beschrieben nachfolgend, Bezug zu nehmen. Ein Satz von Interface-Funktionen
ist vorgesehen, die einem Administrator ermöglichen, einen Link bzw. eine
Verbindung zu einer Site hinzuzufügen, die Sites, verknüpft mit
der Site, aufzuzählen,
und einen Link zu der Site zu entfernen.
-
Die
Verbindungs-Informations-Aufzeichnungen 474 werden durch
einen DS-Server verwendet, um eine Site-Zwischen-Verbindungs-Kosten-Matrix 476 zu
berechnen. In einer Ausführungsform
der Erfindung identifiziert die Site-Zwischen-Verbindungs-Kosten-Matrix 476,
erläuternd
dargestellt in 17, alle verbundenen Sites und
die Anzahl von Links bzw. Verbindungen, die durchquert werden müssen, um
Daten zwischen den identifizierten Sites zu senden und zu empfangen.
Demzufolge sind die Kosten zum Erreichen einer gegebenen Bestimmungs-Site
von einer Ursprungs-Site
die Zahl von "Sprüngen".
-
Andere,
anspruchsvollere Kosten-Matrizes können solche Faktoren, wie Bandbreiten-Begrenzungen,
Verbindungs-Verkehr, Berechnung pro Benutzung der Leitung (zum Beispiel
Gebühren
für die Telefonleitung),
usw., umfassen. Allerdings stellen, wie durch Fachleute auf dem
betreffenden Fachgebiet ersichtlich werden wird, solche Informationen
einen zusätzlichen
berechnungsmäßigen und
administrativen Overhead dar.
-
17 zeigt
erläuternd
die Site-Verbindungs-Kosten für
den Satz von Sites, gezeigt in 2. Die Werte
der Intersite-Kosten-Matrix 476 werden aus vom Administrator
zugeführten
Verbindungs-Informationen berechnet. Site 3 ist direkt mit Sites
1 und 2 verbunden, und deshalb sind die Intersite-Kosten zwischen
solchen Sites "1" – – oder 1 Sprung. Aus diesen
Werten werden andere Eintritte für
die Intersite-Kosten-Matrix 476 berechnet. Insbesondere
sind Site 1 und Site 2 über
Site 3 verbunden, und deshalb sind die Intersite-Kosten zwischen
Site 1 und Site 2 "2" – – oder 2 Sprünge. Eintritte
entlang einer Diagonalen der Site-Kosten-Matrix (z.B. Site 1 zu
Site 2) sind nicht in dieser Ausführungsform einer Intersite-Verbindungs-Kosten-Matrix 476 anwendbar. Es
ist anzumerken, dass Domäne-Sites,
während
sie nicht in der beispielhaften Domäne, dargestellt in 1,
umfasst sind, mit Sites in anderen Domänen verbunden sein können. In
einem solchen Fall sind diese Site-Verbindungen und deren zugeordnete Kosten
in der Intersite-Kosten-Matrix 476 umfasst.
-
Wie
weiterhin die Beschreibung der 16 zeigt,
umfasst jede Site-Aufzeichnung ein site-spezifisches Schedule 478.
Das site-spezifische Schedule-Feld 478 umfasst sechs (6)
Unterfelder. Ein Intersite-Feld mit hoher Priorität definiert
die Häufigkeit, unter
der die Site, entsprechend zu der Site-Aufzeichnung, "dringende" Änderungen zu benachbarten Sites
(entweder in der, oder außerhalb
der, selben Domäne)
repliziert. Der Voreinstellungswert für eine Intersite-Austausch-Häufigkeit
mit hoher Priorität
ist einmal jede Stunde. Als nächstes
identifiziert ein Intersite-Schedule mit normaler Priorität die normale
Wiederholungs-Periode zum Replizieren von Änderungen zu benachbarten Sites.
Der Voreinstellungswert für
eine Intersite-Replikation mit normaler Priorität ist vier (4) Stunden. Ein
Intersite-Schedule mit niedriger Priorität identifiziert die Wiederholungs-Periode
zum Replizieren von Änderungen
mit niedriger Priorität
zu benachbarten Sites. Der Voreinstellungswert für eine Intersite-Replikation
mit niedriger Priorität
ist zwölf
(12) Stunden.
-
Die
drei verbleibenden Unterfelder in dem site-spezifischen Schedule-Feld 478 sind
site-spezifische Werte, die Wiederholungs-Perioden zum Replizieren
von Änderungen
zu anderen Domäne-Steuereinheiten
innerhalb der Sites spezifizieren. Insbesondere spezifiziert ein
Intrasite-Feld mit hoher Priorität eine
Wiederholungs-Periode,
die die Rate definiert, unter der Domäne-Steuereinheiten "dringende" Ände rungen zu anderen Domäne-Steuereinheiten
innerhalb einer selben Site replizieren. Der Voreinstellungswert
für eine
Intrasite-Austausch-Häufigkeit
mit hoher Priorität
ist einmal jede Stunde. Als nächstes identifiziert
ein Intrasite-Schedule mit normaler Priorität die normale Wiederholungs-Periode
zum Replizieren von Änderungen
zu anderen Domäne-Steuereinheiten
innerhalb der Site. Der Voreinstellungswert für eine Intrasite-Replikation
mit normaler Priorität
ist acht (8) Stunden. Ein Intrasite-Schedule mit niedriger Priorität identifiziert
die Wiederholungs-Periode zum Replizieren von Änderungen mit niedriger Priorität zu anderen
Domäne-Steuereinheiten
innerhalb der Site. Der Voreinstellungswert für eine Intrasite-Replikation mit
niedriger Priorität
ist vierundzwanzig (24) Stunden.
-
Obwohl
es nicht notwendig ist, können
Sites in einer Hierarchie einer Baumstruktur angeordnet sein. In
solchen Fällen
wird eine einzelne Parent-Site durch die Domäne-ID und die Site-ID in einer Parent-Site 80 identifiziert.
Zusätzlich
kann die Site Child-Sites
haben. Die Child-Sites sind in einem Feld von Domäne-ID/Site-ID-Paaren
in einem Child-Sites-Array 82 gespeichert.
-
In
einer Ausführungsform
der vorliegenden Erfindung enthalten verbundene Domänen nur
eine Site-Aufzeichnung in der Domain-Site-Record-List 60.
Dies ist sogar dann der Fall, wenn eine verbundene Domäne mehr
als eine Site besitzt. Der Grund für diese Regel in dieser Ausführungsform
der Erfindung resultiert aus dem Wunsch, nur eine Site innerhalb
einer Domäne,
bezeichnet als eine Inter-Domäne-Propagator-Site,
zu haben, und deshalb benötigt
der Locator von einer KDC (z.B. KDC 30) Informationen nur für diese
Site. Als eine Folge führt
der gesamte Inter-Domäne-Verkehr
durch einen der DS-Server in die einzelne, identifizierte Site.
Nicht-verbundene
Domänen
haben auch, während
sie möglicherweise mehrere
Sites umfassen, eine unterschiedliche Site innerhalb der Domäne, die
zum Propagieren von Informationen innerhalb der Domäne verantwortlich
ist.
-
Nachdem
die Inhalte der Domain-Site-Record-List 460 beschrieben
ist, wird die Aufmerksamkeit nun auf die Domain-Link-Record-List 474 gerichtet,
die Eintritte enthält,
die die Verbindungen, die die Sites der Domäne mit anderen Sites sowohl
innerhalb als auch außerhalb
der Domäne
verbinden, enthält.
Jede Verbindungs- Aufzeichnung,
wie beispielsweise Link-Record 1, umfasst eine Mehrzahl von Feldern,
die einen Link zwischen zwei Sites und Informationen, die sich auf
die Verwendung der Verbindung beziehen, umfasst. Jede Verbindungs-Aufzeichnung
umfasst eine Link-ID 484, die einer GUID entsprechend zu
einer GUID, spezifiziert in den Intersite Connection Information 472 für eine Site,
entspricht. Die Ursprungs-Site eines Link bzw. einer Verbindung
ist durch den Site-Name 464 spezifiziert, zu der eine Link-Aufzeichnung
zugeordnet ist, und die Partner-Site (das andere Ende der Verbindung)
ist in dem Partner-Site-Name 486 identifiziert. Zusätzlich sind
Verbindungs-Kosten 488 für die Verbindung spezifiziert.
In einer Ausführungsform
der vorliegenden Erfindung ist der Wert der Verbindungs-Kosten 488 ein
relativer Wert, der den allgemeinen Wunsch nach einer einfachen
Kommunikation auf der zugeordneten Verbindung darstellt. Wenn eine
bestimmte Ressource über
zwei oder mehr bestimmte Verbindungen erhalten werden kann, wird
ein Vergleich in Bezug auf die Verbindungen ausgeführt, um
zu bestimmen, welche Verbindung zu benutzen ist. Jede Verbindungs-Aufzeichnung
ist dazu geeignet, ein verbindungs-spezifisches Schedule 490 zu
spezifizieren, das das site-spezifische Schedule in dem Fall überlaufen
wird, dass die Periode, angegeben in dem site-spezifischen Schedule,
geringer als die Periode ist, die in dem entsprechenden verbindungs-spezifischen
Schedule spezifiziert ist, um eine Überbenutzung der Verbindung
zu verhindern. Die Voreinstellungs-Perioden, spezifiziert in dem
verbindungs-spezifischen Schedule, sind dieselben wie die Voreinstellungen,
die vorstehend in Bezug auf das site-spezifische Schedule 478 beschrieben
sind.
-
Schließlich spezifiziert
die Domäne-Aufzeichnung
auch einen Satz von Voreinstellungs-Replikations-Perioden in einem
Domgin-Default-Replication-Schedule 492. Die Voreinstellungswerte
sind identisch zu den Werten, die vorstehend für das site-spezifische Schedule 478 spezifiziert
sind. Die Werte, die innerhalb des Domain-Default-Replication-Schedule 492 spezifiziert
sind, belegen die unterste Priorität in Bezug auf die Replikations-Schedules 478, 490 und 492.
Deshalb wird, in dem Fall, dass eine Periode, spezifiziert in dem
Unterfeld des Domain-Default-Replication-Schedule 492, geringer als eine
entsprechende Periode in entweder dem site-spezifischen Schedule 478 oder
dem verbindungs-spezifischen Schedule 490 ist, dann der
größere Wert,
spezifiziert in dem site-spezifischen Schedule 478 oder
dem verbindungs-spezifischen Schedule 490, verwendet, um
eine Replikation durchzuführen.
-
Obwohl
es nicht in dem Fall der Domäne-Steuereinheit-Locator-Prozedur,
zusammengefasst in 11-14, notwendig
ist, kann, in anderen Fällen,
bei denen die Suchmechanismen nicht zu dem Zeitpunkt angewandt werden,
zu dem eine Anforderung zugeführt
wird, eine Referenz-Reihenfolge eingerichtet werden, die die Verbindungsfähigkeit
eines bestimmten Satzes von Ressourcen berücksichtigt. In 18 nun
ist eine Referenz-Ordnung bzw. -Reihenfolge, erzeugt durch einen
DS-Server, erläuternd dargestellt,
die der Intersite-Verbindungs-Kosten-Matrix, gezeigt in 17,
entspricht. Die Referenz-Reihenfolge wird dazu verwendet, eine Präferenz-Liste zum Verbinden
mit einer Source für
ein bestimmtes, angefordertes Objekt einzurichten. Zum Beispiel
verwenden, falls ein Volume repliziert wird, die Clients die Referenz-Reihenfolge,
um mit einem Replika-Server mit den geringsten, zugeordneten Kosten
zu verbinden. Site-Markers separieren Gruppen von Maschinen, die
gleich zugänglich
sind (d.h. angeordnet an derselben Site). Die Referenz-Reihenfolge spezifiziert
keine Kosten, nur gleich bevorzugte Maschinen von dem Standpunkt
einer Zugänglichkeit
in einer Reihenfolge-Liste entsprechend einer relativen Zugänglichkeit
bzw. Verfügbarkeit.
-
Insbesondere
greift, unter Bezugnahme auf 18, ein
Client, der an Site 1 vorhanden ist, bevorzugt auf Maschine (1,1)
und Maschine (1,2) zu, die auch an Site 1 angeordnet sind. Die Maschinen
(3,1) und (3,2), die zu Site 2 zugeordnet sind, sind weniger bevorzugt
gegenüber
den Maschinen der Site 1. Schließlich ist Maschine (2,1), die
zu Site 2 zugeordnet ist, noch weniger bevorzugt, da, wie in 1 dargestellt
ist, zwei Verbindungen durchquert werden müssen.
-
Die
Ausführungsformen
der vorliegenden Erfindung, dargestellt in den Zeichnungen und diskutiert
vorstehend, wurden ausgewählt
und beschrieben, um die Prinzipien der Erfindung und deren praktische
Anwendung darzustellen, um dadurch einen Fachmann auf dem betreffenden
Fachgebiet in die Lage zu versetzen, die Erfindung entsprechend
den offenbarten Ausführungsformen
und verschiedenen, vorgeschla genen Modifikationen zu benutzen, um
sie an bestimmte andere, vorgesehene Benutzungen der Erfindung anzupassen.
Solche Modifikationen und Variationen liegen innerhalb des Schutzumfangs der
Erfindung, wie er durch die beigefügten Ansprüche beansprucht ist, wenn sie
entsprechend dem Gedanken ausgelegt werden, zu dem sie passen, legal sind
und entsprechend zugeordnet sind.