DE69838739T2 - Verfahren und Vorrichtung zum Darstellen und Verwenden von Netzwerktopologiedaten - Google Patents

Verfahren und Vorrichtung zum Darstellen und Verwenden von Netzwerktopologiedaten Download PDF

Info

Publication number
DE69838739T2
DE69838739T2 DE69838739T DE69838739T DE69838739T2 DE 69838739 T2 DE69838739 T2 DE 69838739T2 DE 69838739 T DE69838739 T DE 69838739T DE 69838739 T DE69838739 T DE 69838739T DE 69838739 T2 DE69838739 T2 DE 69838739T2
Authority
DE
Germany
Prior art keywords
site
domain
network
resources
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69838739T
Other languages
English (en)
Other versions
DE69838739D1 (de
Inventor
Keith W. Redmond Logan
Pradyumna K. Redmond Misra
Paul J. Seattle Leach
Clifford P. Bellevue Van Dycke
Dave D. Redmond Straube
Arnold S. Alexandria Miller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of DE69838739D1 publication Critical patent/DE69838739D1/de
Publication of DE69838739T2 publication Critical patent/DE69838739T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

  • 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.

Claims (6)

  1. Verfahren zum Einsatz in einem Netzwerk, das eine Gruppe verbundener Standorte (2, 10; 31, 32, 33), eine Einrichtung zum Bereitstellen eines Naming-Dienstes (4, 6, 8, 12, 14, 18; 40a, 40b, 40c), die eine Liste von Ressourcen und ihrer damit zusammenhängenden Standorte und logischen Gruppe umfasst, und replizierte Ressourcen umfasst, die innerhalb mehrerer Standorte innerhalb des Netzwerkes existieren und bei den Einrichtungen zum Bereitstellen des Naming-Dienstes registriert sind, wobei das Verfahren dadurch gekennzeichnet ist, dass es ein Verfahren zum Auswählen einer der replizierten Ressourcen auf Basis logischer Gruppierung und Nähe zu einem anfordernden Client ist, und dadurch, dass das Verfahren die folgenden Schritte umfasst: Empfangen einer Anforderung zum Identifizieren eines Replikats einer Ressource innerhalb eines spezifizierten Standorts und einer logischen Gruppe, auf die der anfordernde Client (30a, 30b, 30c) Zugriff erlangen möchte, durch die Einrichtungen zum Bereitstellen des Naming-Dienstes und in Reaktion darauf Konsultieren eines Verzeichnisses (62), das die Liste von Ressourcen und damit zusammengängender Standorte umfasst; Bereitstellen einer Antwort, die Replikate der Ressource innerhalb des spezifizierten Standorts und der logischen Gruppe spezifiziert; Durchführen von Pinging (238) der bereitgestellten Replikate der Ressource durch den Client; in Reaktion auf das Pinging (276, 278) Feststellen, ob das Replikat der Ressource am nächsten an dem Client liegt; Erzeugen einer Antwortnachricht, die das Replikat der Ressource identifiziert; wenn das Replikat der Ressource am nächsten liegt, Einstellen (280) eines am nächsten liegenden Bits in der Antwortnachricht; und Unternehmen des Versuchs, auf ein in der Antwortnachricht spezifiziertes Replikat zuzugreifen.
  2. Verfahren nach Anspruch 1, das des Weiteren umfasst: Feststellen, dass keines der in der Antwort spezifizierten Replikate eine Nähe-Charakteristik erfüllt; Bestimmen eines aktuellen Standorts (31, 32, 33), innerhalb dessen der anfordernde Client (38a, 38b, 38c) resident ist; Bestimmen, dass der in der Anforderung spezifizierte Standort den aktuellen Standort (31, 32, 33) des anfordernden Client (38a, 38b, 38c), der Zugriff auf ein Replikat der Ressource wünscht, nicht identifiziert; und Unterbreiten einer zweiten Anforderung, die die logische Gruppe und den aktuellen Standort (31, 32, 33) des Client (38a, 38b, 38c) spezifiziert.
  3. Verfahren nach Anspruch 1 oder 2, das des Weiteren umfasst: Bestimmen, dass keine Replikate für die spezifizierte Seite und logische Gruppe existieren, und in Reaktion darauf Erzeugen einer Liste von Replikaten der Ressourcen, die mit der logischen Gruppe zusammenhängen, wobei die Liste ein Replikat der Ressource enthält, die eine Nähe-Charakteristik erfüllt, dem spezifizierten Standort jedoch nicht entspricht.
  4. Verfahren nach Anspruch 3, wobei das Replikat, das die Nähe-Charakteristik erfüllt, aus einer Tabelle am nächsten liegender Standort identifiziert wird, die die Standorte identifiziert, die als dem spezifizierten Standort am nächsten liegend betrachtet werden.
  5. Verfahren nach Anspruch 3 oder 4, wobei die Ressource ein Netzwerk-Anforderungsserver ist.
  6. Netzwerk, das Einrichtungen zum Bereitstellen eines Naming-Dienstes umfasst, wobei das Netzwerk eine Gruppe lokal verbundener Computer-Netzwerke, eine Gruppe entfernter Verbindungen, die die Gruppe lokal verbundener Computer-Netzwerke (2, 10; 31, 32, 33) miteinander verbindet, replizierte Ressourcen, die in der Gruppe lokal ver knüpfter Computer-Netzwerke resident sind, und Client-Computer enthält, die auf den lokal verbundenen Computer-Netzwerken resident sind und in Kommunikationsverbindungen mit den replizierten Ressourcen stehen, wobei das Netzwerk dadurch gekennzeichnet ist, dass die Einrichtung zum Bereitstellen des Naming-Dienstes (4, 6, 8, 12, 14, 16; 40a, 40b, 40c) in Kommunikationsverbindung mit den Client-Computern steht und Anfordernden Identifizierung von Ressourcen durch logische und topologische Beziehung die Ressourcen bereitstellt, und dass die Einrichtung zum Bereitstellen des Naming-Dienstes umfasst: ein Verzeichnis (62) replizierter Ressourcen, wobei das Verzeichnis von Ressourcen für Instanzen der replizierten Ressourcen ein erstes Feld, das eine logische Gruppe identifiziert, mit der eine Instanz einer Ressource zusammenhängt, und ein zweites Feld enthält, das einen Standort identifiziert, in dem die Ressource resident ist; und eine Einrichtung, die einzelne Instanzen der replizierten Ressourcen innerhalb des Verzeichnisses replizierter Ressourcen registriert.
DE69838739T 1997-08-13 1998-08-13 Verfahren und Vorrichtung zum Darstellen und Verwenden von Netzwerktopologiedaten Expired - Lifetime DE69838739T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/910,412 US5968121A (en) 1997-08-13 1997-08-13 Method and apparatus for representing and applying network topological data
US910412 1997-08-13

Publications (2)

Publication Number Publication Date
DE69838739D1 DE69838739D1 (de) 2007-12-27
DE69838739T2 true DE69838739T2 (de) 2008-04-10

Family

ID=25428746

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69829383T Expired - Lifetime DE69829383T2 (de) 1997-08-13 1998-08-13 Verfahren und vorrichtung zum darstellen und verwenden von netzwerktopologie-daten
DE69838739T Expired - Lifetime DE69838739T2 (de) 1997-08-13 1998-08-13 Verfahren und Vorrichtung zum Darstellen und Verwenden von Netzwerktopologiedaten

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69829383T Expired - Lifetime DE69829383T2 (de) 1997-08-13 1998-08-13 Verfahren und vorrichtung zum darstellen und verwenden von netzwerktopologie-daten

Country Status (6)

Country Link
US (1) US5968121A (de)
EP (2) EP1004193B1 (de)
JP (1) JP3434276B2 (de)
AT (2) ATE378768T1 (de)
DE (2) DE69829383T2 (de)
WO (1) WO1999009704A2 (de)

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412017B1 (en) * 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US6253228B1 (en) * 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
JP3731980B2 (ja) * 1997-08-20 2006-01-05 富士通株式会社 コンピュータネットワークシステム及び携帯型コンピュータ
US6125372A (en) * 1997-10-03 2000-09-26 Hewlett-Packard Company Server system and method of updating server software
US6178529B1 (en) 1997-11-03 2001-01-23 Microsoft Corporation Method and system for resource monitoring of disparate resources in a server cluster
US8296396B2 (en) 1998-02-10 2012-10-23 Level 3 Communications, Llc Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions
US7054935B2 (en) 1998-02-10 2006-05-30 Savvis Communications Corporation Internet content delivery network
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6553420B1 (en) 1998-03-13 2003-04-22 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
US6430618B1 (en) 1998-03-13 2002-08-06 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
US6374302B1 (en) * 1998-03-31 2002-04-16 At&T Corp. Method and system to provide an action control point master gatekeeper
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6449734B1 (en) 1998-04-17 2002-09-10 Microsoft Corporation Method and system for discarding locally committed transactions to ensure consistency in a server cluster
US6243825B1 (en) 1998-04-17 2001-06-05 Microsoft Corporation Method and system for transparently failing over a computer name in a server cluster
US6101541A (en) * 1998-04-21 2000-08-08 International Business Machines Corporation Active polling by network LDAP directory
US6098099A (en) * 1998-04-21 2000-08-01 International Business Machines Corporation Third-party notification by network directory server
US6963914B1 (en) * 1998-09-01 2005-11-08 Lucent Technologies Inc. Method and apparatus for retrieving a network file using a logical reference
US7155480B2 (en) * 1998-09-21 2006-12-26 Microsoft Corporation Client-server conference and user seeking through a server storing a list comprising active conference servers and excluding nonactive conference servers
US6571274B1 (en) * 1998-11-05 2003-05-27 Beas Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
US6236999B1 (en) * 1998-11-05 2001-05-22 Bea Systems, Inc. Duplicated naming service in a distributed processing system
US6581088B1 (en) 1998-11-05 2003-06-17 Beas Systems, Inc. Smart stub or enterprise javaTM bean in a distributed processing system
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
CN1284674A (zh) * 1999-08-13 2001-02-21 高建国际有限公司 促进用户浏览互联网的网络系统及方法
US6438594B1 (en) * 1999-08-31 2002-08-20 Accenture Llp Delivering service to a client via a locally addressable interface
WO2001026336A2 (en) * 1999-10-07 2001-04-12 Xbind, Inc. Program download in a network
US8543901B1 (en) 1999-11-01 2013-09-24 Level 3 Communications, Llc Verification of content stored in a network
US7054892B1 (en) 1999-12-23 2006-05-30 Emc Corporation Method and apparatus for managing information related to storage activities of data storage systems
JP2001216184A (ja) * 2000-01-31 2001-08-10 Sony Corp 送信装置、受信装置、送受信システム、送信方法、および受信方法
US6671688B1 (en) * 2000-02-10 2003-12-30 Novell, Inc. Virtual replication for a computer directory system
FR2805628B1 (fr) * 2000-02-24 2003-09-12 Bull Sa Procede d'administration deleguee des donnees d'un annuaire d'entreprise
US7006453B1 (en) * 2000-03-14 2006-02-28 Lucent Technologies Inc. Location based routing for mobile ad-hoc networks
US6725218B1 (en) * 2000-04-28 2004-04-20 Cisco Technology, Inc. Computerized database system and method
US7117293B1 (en) * 2000-05-12 2006-10-03 Apple Computer, Inc. Method and apparatus for archiving and unarchiving objects
US7401131B2 (en) 2000-05-22 2008-07-15 Verizon Business Global Llc Method and system for implementing improved containers in a global ecosystem of interrelated services
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US7162499B2 (en) 2000-06-21 2007-01-09 Microsoft Corporation Linked value replication
US7051095B1 (en) * 2000-08-30 2006-05-23 Hewlett-Packard Development Company, L.P. Locating device resources on a global scale
US6922411B1 (en) * 2000-09-29 2005-07-26 Voxeo Corporation Networked computer telephony system driven by web-based applications
US20020129111A1 (en) * 2001-01-15 2002-09-12 Cooper Gerald M. Filtering unsolicited email
US7047420B2 (en) 2001-01-17 2006-05-16 Microsoft Corporation Exclusive encryption
US20070276873A1 (en) * 2001-02-13 2007-11-29 Vahdat Amin M System and method for optimizing efficiency of replicated network services
US6879564B2 (en) * 2001-02-28 2005-04-12 Microsoft Corp. Method for designating communication paths in a network
US6915309B1 (en) 2001-03-20 2005-07-05 Cisco Technology, Inc. Automatically generating replication topology information for use by a directory service
US7043637B2 (en) 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US7062490B2 (en) 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
US6981138B2 (en) 2001-03-26 2005-12-27 Microsoft Corporation Encrypted key cache
US7734739B2 (en) * 2001-04-20 2010-06-08 Hewlett-Packard Development Company, L.P. Method and system for consolidating network topology in duplicate IP networks
US6988124B2 (en) * 2001-06-06 2006-01-17 Microsoft Corporation Locating potentially identical objects across multiple computers based on stochastic partitioning of workload
US20020194295A1 (en) * 2001-06-15 2002-12-19 Groupe 2Mb Inc. Scalable data-sharing architecture
US6618005B2 (en) * 2001-06-29 2003-09-09 Intel Corporation Determining wireless device locations
US7269648B1 (en) * 2001-09-27 2007-09-11 Emc Corporation Resolving multiple master node conflict in a DDB
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
EP1436736B1 (de) 2001-09-28 2017-06-28 Level 3 CDN International, Inc. Konfigurierbare adaptive globlale verkehrssteuerung und -verwaltung
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US20030079027A1 (en) 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US8290909B2 (en) * 2001-11-15 2012-10-16 International Business Machines Corporation Access manager for databases
CA2411806A1 (en) * 2001-11-16 2003-05-16 Telecommunications Research Laboratory Wide-area content-based routing architecture
US7035922B2 (en) * 2001-11-27 2006-04-25 Microsoft Corporation Non-invasive latency monitoring in a store-and-forward replication system
US7185359B2 (en) 2001-12-21 2007-02-27 Microsoft Corporation Authentication and authorization across autonomous network systems
EP1322094B1 (de) * 2001-12-21 2005-04-06 Castify Networks SA Verfahren zur Server-Auswahl in einem Inhaltsauslieferungsnetzwerk
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US20040036191A1 (en) * 2002-04-30 2004-02-26 Rodda Philip A. Method of making a fireproof panel
FR2841072A1 (fr) * 2002-06-14 2003-12-19 France Telecom Systeme de consultation et/ou mise a jour de serveurs dns et/ou d'annuaires ldap
US20040059706A1 (en) * 2002-09-25 2004-03-25 International Business Machines Corporation System and method for providing concurrent usage and replacement of non-native language codes
US7743022B2 (en) * 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices
US20040193730A1 (en) * 2003-03-25 2004-09-30 Vernon Stephen K. Method and computer programs for providing special processing of a communication sent across a communication network
US7640324B2 (en) * 2003-04-15 2009-12-29 Microsoft Corporation Small-scale secured computer network group without centralized management
US7278065B2 (en) * 2003-11-17 2007-10-02 Electronic Data Systems Corporation Enterprise directory service domain controller replication alert and repair
US7761514B2 (en) 2003-11-26 2010-07-20 International Business Machines Corporation Method and apparatus for providing dynamic group management for distributed interactive applications
US7734517B2 (en) * 2004-05-28 2010-06-08 Morgan Stanley Systems and method for determining the cost of a securities research department to service a client of the department
US7769654B1 (en) 2004-05-28 2010-08-03 Morgan Stanley Systems and methods for determining fair value prices for equity research
US7689490B2 (en) * 2004-05-28 2010-03-30 Morgan Stanley Matching resources of a securities research department to accounts of the department
US7925727B2 (en) * 2004-07-29 2011-04-12 Nortel Networks Limited Method and apparatus for efficient communication of management data in a telecommunications network
US7752103B2 (en) * 2004-09-10 2010-07-06 Morgan Stanley Systems and methods for auctioning access to securities research resources
US7765229B2 (en) * 2005-07-12 2010-07-27 Microsoft Corporation Single view of data in a networked computer system with distributed storage
US7958543B2 (en) * 2005-07-12 2011-06-07 Microsoft Corporation Account synchronization for common identity in an unmanaged network
US7496566B2 (en) * 2005-08-03 2009-02-24 Intenational Business Machines Corporation Priority based LDAP service publication mechanism
US7844251B2 (en) * 2005-10-12 2010-11-30 Qualcomm Incorporated Peer-to-peer distributed backup system for mobile devices
US20070178907A1 (en) * 2006-02-01 2007-08-02 Janakiraman Gopalan System and method for locating mobile devices
US8572040B2 (en) * 2006-04-28 2013-10-29 International Business Machines Corporation Methods and infrastructure for performing repetitive data protection and a corresponding restore of data
US7953652B1 (en) 2006-06-12 2011-05-31 Morgan Stanley Profit model for non-execution services
US20080046435A1 (en) * 2006-08-18 2008-02-21 Microsoft Corporation Service discovery and automatic configuration
US7680956B2 (en) * 2006-10-24 2010-03-16 Cisco Technology, Inc. Communicating additional information in a DNS update response by requesting deletion of a specific record
US8583596B2 (en) * 2006-11-29 2013-11-12 Red Hat, Inc. Multi-master referential integrity
US7941442B2 (en) * 2007-04-18 2011-05-10 Microsoft Corporation Object similarity search in high-dimensional vector spaces
US20080270596A1 (en) * 2007-04-25 2008-10-30 Mark Frederick Wahl System and method for validating directory replication
US8930538B2 (en) 2008-04-04 2015-01-06 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US8045486B2 (en) * 2008-05-15 2011-10-25 Solarwinds Worldwide, Llc Discovery and visualization of active directory domain controllers in topological network maps
US9817680B1 (en) * 2008-08-04 2017-11-14 Open Invention Network, Llc Application configuration tool
US20100125619A1 (en) * 2008-11-20 2010-05-20 Microsoft Corporation Deterministic selection of domain controllers in a multi-master database distributed directory service
JP5402782B2 (ja) 2010-03-31 2014-01-29 ブラザー工業株式会社 プリンタ検索装置、印刷仲介サーバ、及び、コンピュータプログラム
US20120191769A1 (en) * 2011-01-25 2012-07-26 Microsoft Corporation Site-aware distributed file system access from outside enterprise network
US8799217B2 (en) * 2011-06-29 2014-08-05 International Business Machines Corporation Server replication at different sites
GB2509079A (en) * 2012-12-19 2014-06-25 Control Tech Ltd Method Of Configuring A Modular System
US9998499B2 (en) * 2014-09-29 2018-06-12 Amazon Technologies, Inc. Management of application access to directories by a hosted directory service

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689700A (en) * 1993-12-29 1997-11-18 Microsoft Corporation Unification of directory service with file system services
US5701462A (en) * 1993-12-29 1997-12-23 Microsoft Corporation Distributed file system providing a unified name space with efficient name resolution
DE69601149T2 (de) * 1995-07-03 1999-08-05 Sun Microsystems Inc Systen und Verfahren zum Implementieren einer hierarchischen Politik für die Administration eines Computersystems

Also Published As

Publication number Publication date
EP1517508A3 (de) 2005-08-03
EP1004193A2 (de) 2000-05-31
WO1999009704A3 (en) 1999-04-15
EP1004193B1 (de) 2005-03-16
JP2001516093A (ja) 2001-09-25
ATE378768T1 (de) 2007-11-15
EP1517508B1 (de) 2007-11-14
DE69829383T2 (de) 2005-07-28
US5968121A (en) 1999-10-19
WO1999009704A2 (en) 1999-02-25
JP3434276B2 (ja) 2003-08-04
EP1517508A2 (de) 2005-03-23
DE69829383D1 (de) 2005-04-21
ATE291316T1 (de) 2005-04-15
DE69838739D1 (de) 2007-12-27
WO1999009704B1 (en) 1999-05-14

Similar Documents

Publication Publication Date Title
DE69838739T2 (de) Verfahren und Vorrichtung zum Darstellen und Verwenden von Netzwerktopologiedaten
DE69916928T2 (de) Zugriffsverfahren und Server für Netzwerkverzeichnis
DE60037502T2 (de) Domänennamen-Auflösungssystem mit einem oder mehreren Servern
DE69936818T2 (de) Protokoll zum Austausch von Konfigurationsdaten in einem Computernetzwerk
DE69829476T2 (de) Netzwerkverwaltungsarchitektur
DE69333960T2 (de) Namenauflösung in einem Mehrsystem-Netz
DE69732982T2 (de) Automatische konfigurierung eines internetzugriffsgeräts
US7035931B1 (en) Volume location service for a distributed file system
DE69635469T2 (de) Synchronisierung zwischen verschiedenen Computeranbieterumgebungen
US6330560B1 (en) Multiple manager to multiple server IP locking mechanism in a directory-enabled network
DE60133648T2 (de) System und verfahren zum führen von laufzeitdaten in einem server-netzwerk
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE60317925T2 (de) Steuerung von netzwerkverkehr in einer peer-to-peer umgebung
DE69832946T2 (de) Verteiltes System und Verfahren zur Steuerung des Zugriffs auf Netzmittel und Ereignismeldungen
US8285753B2 (en) Change approvals for computing systems
US6651047B1 (en) Automated referential integrity maintenance
DE19747583B4 (de) Kommunikationssystem und Verfahren
DE10148357A1 (de) System und Verfahren zur gemeinsamen Nutzung digitaler Literaturwerke mit einem Schutz gegen illegale Kopien durch Kommunikationsnetze
DE602004004991T2 (de) Automatisierte Installation von Netzgeräten mit Informationen über Regeln, Authentifizierung und gerätespezische Daten
DE10131192A1 (de) Schnittstelle zu Verzeichnisunterstützungssystemen unter Verwendung des Lightweight Directory Access Protocol
DE60316466T2 (de) Unterstüzung von mehreren nativen netzwerkprotokollimplementiurungen in einem einzigen system
DE60003278T2 (de) Hierarchische Auflösung von Adressen in einem Datennetzwerk
US9143559B2 (en) Directory server replication
US20050278385A1 (en) Systems and methods for staggered data replication and recovery
DE60035348T2 (de) Verlängerbarer Bereitstellungsmechanismus für einen Diensten-gateway

Legal Events

Date Code Title Description
8364 No opposition during term of opposition