DE10313874A1 - Bestimmung eines verfügbaren Servers - Google Patents

Bestimmung eines verfügbaren Servers

Info

Publication number
DE10313874A1
DE10313874A1 DE10313874A DE10313874A DE10313874A1 DE 10313874 A1 DE10313874 A1 DE 10313874A1 DE 10313874 A DE10313874 A DE 10313874A DE 10313874 A DE10313874 A DE 10313874A DE 10313874 A1 DE10313874 A1 DE 10313874A1
Authority
DE
Germany
Prior art keywords
server
synchronized
unsynchronized
network
group
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.)
Withdrawn
Application number
DE10313874A
Other languages
English (en)
Inventor
Patrick Weldon Fulghum
Theresa A Burkes
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE10313874A1 publication Critical patent/DE10313874A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0641Change of the master or reference, e.g. take-over or failure of the master
    • 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]

Abstract

Bei einem Verfahren wird ein erster verfügbarer Server unter einem oder mehreren Servern ansprechend auf ein Anforderungspaket bestimmt. Die Netzzeit von dem ersten verfügbaren Server wird auf einen Client angewendet, um seinen Systemtakt zu synchronisieren.

Description

  • Diese Erfindung bezieht sich allgemein auf Computernetze. Spezieller bezieht sich die Erfindung auf eine Zeitsynchronisierung innerhalb eines Netzes.
  • Herkömmliche Computersysteme unterhalten typischerweise einen internen Takt (z. B. einen Systemtakt), um das Datum und die Uhrzeit eines Tages zu verfolgen. Bei vielen verschiedenen Anwendungen, z. B. dem Verwalten und Aufspüren einer elektronischen Post (E-Mail), dem zeitlichen Bestimmen von Sicherungskopien von Daten auf einem Netz, dem Synchronisieren von Kommunikationen zwischen Clients und Servern, dem Verwalten von Multimediatelekonferenzen etc., sind exakte Zeit- und Datumsmessungen erforderlich. Zeittakte, die durch die meisten Computersysteme unterhalten werden, unterliegen tendenziell einem bestimmten Fehlerbetrag oder einer "Drift". Daher wird notwendig, solche Takte zu verschiedenen Uhrzeiten auf einen exakten Referenztakt zu synchronisieren, um dadurch die Genauigkeit der Anwendungen zu erhöhen.
  • Eine Anzahl von Lösungen ist zum Synchronisieren der Systemtakte von Computersystemen entwickelt worden. Bei einer Lösung stellt der Benutzer eines Computersystems den Takt manuell ein, immer wenn der Takt scheinbar gedriftet ist. Diese Technik ist jedoch sowohl für den Benutzer unpraktisch als daß sie auch ihren eigenen Ungenauigkeiten unterliegt.
  • Eine höher entwickelte Lösung macht von einem Server Gebrauch, der auf ein Netz, wie z. B. dem Internet, arbeitet. Das Servercomputersystem unterhält einen hochgenauen Zeittakt, wie z. B. eine Atomuhr, und liefert exakte Zeitlesungen an andere Computersysteme auf dem Netz unter Verwendung eines Kommunikationsprotokolls, wie z. B. NTP (NTP = Network Time Protocol = Netzzeitprotokoll) oder SNTP (SNTP = Simple Network Time Protocol = einfaches Netzzeitprotokoll). Bei dieser Art der Anordnung kann ein Client- Computersystem eine Anforderung nach einer genauen Zeitlesung über das Internet an den NTP- oder SNTP-Server senden, wenn es notwendig ist, seinen internen Takt zu synchronisieren. Die Anforderung kann zu einem von einer Anzahl von sekundären Servern geroutet werden, die als Mittler zwischen den Client-Systemen, die eine Taktsynchronisierung erfordern, und einem primären NTP- oder SNTP-Server funktionieren. Die Verwendung von solchen sekundären Servern soll allgemein das Laden auf dem primären NTP- oder SNTP-Server reduzieren. Ein primärer NTP- oder SNTP-Server kann beispielsweise durch eine Regierungsentität unterhalten werden, während der Zugriff auf die primären NTP- oder SNTP- Server durch sekundäre NTP- oder SNTP-Server reguliert wird, die beispielsweise durch Universitäten und gewerbliche Unternehmen zur Verwendung durch ihre Studenten bzw. Mitarbeiter unterhalten werden.
  • Die bekannten Lösungen weisen jedoch bestimmte Haken und Nachteile auf. Ein exemplarisches Problem, das den bekannten NTP- und SNTP-basierten Taktsynchronisierungstechniken zugeordnet ist, ist, daß die sekundären Server durch die Synchronisierungsanforderungen tendenziell überlastet werden können. Dieses Problem kann bei den sekundären Servern, die große Netze bedienen, üblicher sein. Ein großes gewerbliches Unternehmen kann beispielsweise einen sekundären Server unterhalten, der hunderte oder taüsende von Client-Systemen bedient. Daher kann das Eintreten von einer großen Anzahl von Synchronisierungsanforderungen innerhalb eines kurzen Zeitraums den Betrieb des sekundären Servers beträchtlich verlangsamen. Dieser Effekt ist unerwünscht, speziell wenn der sekundäre Server auch für andere Dienste verantwortlich ist.
  • Andere Probleme, die den bekannten Taktsynchronisierungstechniken zugeordnet sind, sind eine unpraktische Handhabung für Benutzer und eine Unterbrechung der Aktivitäten des Benutzers. Die Synchronisierung eines Zeittaktes eines Computersystems wird typischerweise unter der Steuerung einer Netzanwendungssoftware ausgeführt, die auf dem Computersystem ausgeführt wird, das die Kommunikationsvorrichtung des Computersystems betreibt, um auf einen Netzserver zuzugreifen. In einer Privathaushaltsumgebung, in der der Zugriff auf das Internet typischerweise durch die Verwendung eines Modems bereitgestellt wird, muß die Netzsoftware eine Modemeinwahlroutine ausführen, um eine Verbindung zum Internet einzurichten. Es ist für ein Computersystem nicht wünschenswert, ein Hinauswählen von alleine zu initiieren, immer wenn eine Taktsynchronisierung erforderlich ist, da sich dies störend auf den Benutzer auswirken kann. Folglich sind Netzsoftwareprodukte üblicherweise konfiguriert, um den Zeittakt nur zu synchronisieren, wenn bestimmt worden ist, daß eine aktive Netzverbindung existiert. Dieser Lösungsansatz weist den Nachteil auf, daß der Zeittakt in einer Situation im Privathaushalt nur synchronisiert wird, wenn der Benutzer tatsächlich auf das Internet zugreift, was nicht mit der erforderlichen Häufigkeit geschieht, um die Genauigkeit des Takts beizubehalten.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zu schaffen, die eine zuverlässige Synchronisation zwischen einem Client und einem Netz ermöglichen.
  • Diese Aufgabe wird durch ein Verfahren gemäß den Ansprüchen 1 und 43, eine Vorrichtung gemäß Anspruch 17, ein System gemäß Anspruch 30 sowie ein computerlesbares Medium gemäß Anspruch 55 gelöst.
  • Gemäß einem Ausführungsbeispiel bezieht sich die vorliegende Erfindung auf ein Verfahren zum Synchronisieren eines Takts in einem Client mit einer Netzzeit von einem Server. Bei dem Verfahren wird ein Anforderungspaket übertragen, und es werden ein oder mehrere Datenpakete von zumindest einem Server ansprechend auf das Anforderungspaket empfangen. Die ein oder mehreren Datenpakete werden basierend auf der Reihenfolge des Empfangs von jedem der ein oder mehreren Datenpakete sortiert. Ein Test wird ausgeführt, um das erste synchronisierte Paket von den ein oder mehreren Datenpaketen zu bestimmen. Zusätzlich wird ein erster synchronisierter Server ansprechend auf ein Finden des ersten synchronisierten Pakets ausgewählt.
  • Gemäß einem anderen Ausführungsbeispiel bezieht sich die vorliegende Erfindung auf eine Vorrichtung zum Synchronisieren eines Systemtakts in einem Client. Die Vorrichtung umfaßt eine Einrichtung zum Übertragen einer Anforderung nach einer Zeitsynchronisierung, eine Einrichtung zum Empfangen von Antworten von einer Mehrzahl von Servern, eine Einrichtung zum Bestimmen, eine Einrichtung zum Speichern der Reihenfolge des Empfangs der Antworten und eine Einrichtung zum Bestimmen, ob eine beliebige der Antworten von einem synchronisierten Server ist.
  • Gemäß noch einem weiteren Ausführungsbeispiel bezieht sich die vorliegende Erfindung auf ein System zur Synchronisierung eines Systemtakts in einem Client. Das System umfaßt ein Zeit-Synchronisations-Modul, das zur Speicherung und Ausführung auf dem Client konfiguriert ist. Zusätzlich ist das Zeit-Synchronisations-Modul betreibbar, um eine Anforderung nach einer Zeitsynchronisierung an einen oder mehrere Server zu übertragen und Antworten von dem einen oder den mehreren Servern zu empfangen. Das Zeit- Synchronisations-Modul ist ferner konfiguriert, um zu bestimmen, ob die antwortenden Server synchronisiert sind, sowie die Reihenfolge, in der die Server antworteten, und um die Netzzeit von dem ersten synchronisierten Server zum Antworten anzuwenden.
  • Gemäß einem weiteren Ausführungsbeispiel bezieht sich die vorliegende Erfindung auf ein Verfahren. Bei dem Verfahren wird ein erster verfügbarer Server aus einem oder mehreren Servern ansprechend auf ein Anforderungspaket bestimmt. Zusätzlich wird eine Netzzeit von dem ersten verfügbaren Server angewendet.
  • Gemäß einem anderen Ausführungsbeispiel bezieht sich die vorliegende Erfindung auf ein computerlesbares Speicherungsmedium, auf dem ein oder mehrere Computerprogramme eingebettet sind. Das eine oder die mehreren Computerprogramme implementieren ein Verfahren und umfassen einen Satz von Anweisungen zum Bestimmen eines ersten verfügbaren Servers aus einer Mehrzahl von Servern ansprechend auf ein Anforderungspaket und zum Anwenden einer Netzzeit von dem ersten verfügbaren Server.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend, Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • Fig. 1 ein vereinfachtes Diagramm eines exemplarischen Netzes gemäß einem Ausführungsbeispiel der Erfindung,
  • Fig. 2 ein Blockdiagramm einer exemplarischen Rechenplattform, in der ein Ausführungsbeispiel der Erfindung implementiert ist,
  • Fig. 3 ein exemplarisches Blockdiagramm einer Architektur für eine Netzvorrichtung, die in Fig. 1 gezeigt ist, gemäß einem Ausführungsbeispiel der Erfindung,
  • Fig. 4A bis 4B zusammen ein Flußdiagramm für einen Betriebsmodus des Zeit-Synchronisations-Moduls, das in Fig. 3 gezeigt ist, gemäß einem Ausführungsbeispiel der Erfindung,
  • Fig. 5A zusammen ein Flußdiagramm gemäß einem anderen bis 5B Ausführungsbeispiel der vorliegenden Erfindung und
  • Fig. 6 ein Flußdiagramm, das eine Betriebsweise eines Servers gemäß einem Ausführungsbeispiel der Erfindung darstellt.
  • Der Einfachheit halber und zu Darstellungszwecken werden die Grundsätze der vorliegenden Erfindung durch überwiegende Bezugnahme auf ein exemplarisches Ausführungsbeispiel derselben beschrieben. In der nachstehenden Beschreibung sind zahlreiche spezifische Einzelheiten aufgeführt, um ein eingehendes Verständnis der vorliegenden Erfindung zu ermöglichen. Fachleute mit Durchschnittsqualifikation werden jedoch darauf hingewiesen, daß die vorliegende Erfindung ohne Einschränkung auf diese spezifischen Einzelheiten praktiziert werden kann. In anderen Fällen sind bekannte Verfahren und Strukturen nicht ausführlich beschrieben worden, um das Verstehen der vorliegenden Erfindung nicht in unnötiger Weise zu erschweren.
  • Ein Ausführungsbeispiel der vorliegenden Erfindung bezieht sich auf ein Synchronisieren von Takten in Netzvorrichtungen, z. B. Druckern, Photokopierern, Personalcomputern und ähnlichen Vorrichtungen. Spezieller kann ein Zeitsynchronisierungsmodul (das nachstehend als "Zeit-Sync"-Modul bezeichnet wird), das auf einer Netzvorrichtung ausgeführt wird, konfiguriert sein, um den Systemtakt einer Netzvorrichtung auf einen Netzserver zu synchronisieren. Das Zeit- Synchronisations-Modul kann die Synchronisierung unter Nutzung des SNTP ausführen. Das Zeit-Synchronisations-Modul kann in Verbindung mit der Client-Software, die auf der Netzvorrichtung ausgeführt wird, arbeiten. Alternativ kann das Zeit-Synchronisations-Modul in die Client-Software integriert sein.
  • Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung kann ein Zeit-Synchronisations-Modul konfiguriert sein, um eine Synchronisierungsanforderungsnachricht an ein Netz rundzusenden (oder sammelzusenden), wobei das Netz mehrere Netzserver enthalten kann. Das Zeit-Synchronisations-Modul kann konfiguriert sein, um Datenpakete von den antwortenden Netzservern zu analysieren, und zu bestimmen, ob ein antwortender Server synchronisiert ist. Wenn das Zeit- Synchronisations-Modul bestimmt hat, daß ein antwortender Server synchronisiert ist, kann das Zeit-Synchronisations- Modul die Zeit von einem Antwortpaket des ersten antwortenden synchronisierten Servers verwenden und den Systemtakt für die Netzvorrichtung aktualisieren.
  • Bei einem anderen Ausführungsbeispiel der vorliegenden Erfindung kann das Zeit-Synchronisations-Modul konfiguriert sein, um eine Synchronisierungsanforderungsnachricht an ein Netz rundzusenden (oder sammelzusenden), wobei das Netz mehrere Netzserver enthalten kann. Das Zeit- Synchronisations-Modul kann die Antwortpakete von den antwortenden Netzservern sortieren. Das Zeit- Synchronisations-Modul kann die Antwortpakete in zwei Gruppen auf Grundlage dessen, ob der Server synchronisiert ist, organisieren: (1) Wenn der antwortende Server synchronisiert ist, wird die Serveradresse und die entsprechende Netzzeit in eine geordnete Gruppe basierend auf der Reihenfolge des Empfangs plaziert und (2) wenn der antwortende Server nicht synchronisiert ist, wird die Serveradresse und die entsprechende Netzzeit in eine zweite geordnete Gruppe basierend auf der Reihenfolge des Empfangs plaziert.
  • Wenn ein Zeit-Synchronisations-Modul die Antwortpakete von den synchronisierten Servern enthält, kann das Zeit- Synchronisations-Modul konfiguriert sein, um eine Durchschnittszeit und Standardabweichung für die synchronisierten Server zu berechnen. Das Zeit-Synchronisations-Modul kann dann den ersten synchronisierten Server, der in ein gegebenes Vielfaches der berechneten Standardabweichung fällt, durch die Reihenfolge in der Gruppe wählen. Das Zeit-Synchronisations-Modul kann anschließend die Zeit von dem ausgewählten Netzserver verwenden, um den Systemtakt zu aktualisieren.
  • Wenn das Zeit-Synchronisations-Modul bestimmt hat, daß nur nicht synchronisierte Netzserver antworteten, kann das Zeit-Synchronisations-Modul konfiguriert sein, um eine Durchschnittszeit und Standardabweichung für die nicht synchronisierten Server zu berechnen. Das Zeit- Synchronisations-Modul kann dann den ersten nichtsynchronisierten Server, der in ein gegebenes Vielfaches der berechneten Standardabweichung fällt, durch Reihenfolge des Empfangs in der Gruppe wählen. Das Zeit-Synchronisations- Modul kann anschließend die Zeit von dem ausgewählten Netzserver verwenden, um den Systemtakt zu aktualisieren.
  • Dementsprechend kann eine Netzvorrichtung Antworten von den Netzservern, die im wesentlichen weniger beschäftigt sind und sich (netztechnisch) in nächster Nähe befinden, bevor die Netzvorrichtung Antworten von stärker belasteten Servern oder Netzservern empfängt, die sich in relativ weiter Entfernung befinden, durch Nutzung eines Ausführungsbeispiels des Zeit-Synchronisations-Moduls empfangen. Durch Auswählen des ersten synchronisierten Servers, der in das ausgewählte Vielfache der Standardabweichung fällt, kann die Last auf mehreren Servern und die Last auf dem Netz besser ausbalanciert werden. Bei einer großen Netzkonfiguration kann dies den Verkehr über ein Teilnetz hinaus wesentlich reduzieren.
  • Fig. 1 stellt ein Blockdiagramm eines exemplarischen Netzes 10 dar, wobei ein Ausführungsbeispiels der vorliegenden Erfindung praktiziert werden kann. Fachleute mit Durchschnittsqualifikation werden darauf hingewiesen, daß das Netz 10, das in Fig. 1 dargestellt ist, eine verallgemeinerte schematische Darstellung darstellt und daß andere Komponenten hinzugefügt oder existierende Komponenten entfernt oder modifiziert werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen.
  • Wie in Fig. 1 gezeigt ist, kann das Netz 10 ein LAN (LAN = Local Area Network - lokales Netz), ein weites Netz, ein globales Telekommunikationssystem, z. B. das Internet, oder eine bestimmte Kombination aus denselben sein. Zusätzlich kann das Netz 10 eine Mehrzahl aus Teilnetzen 12 und 14 umfassen, die verbunden sind, um das Netz 10 über Router 18 zu bilden. Alternativ können Netzschalter, Brücken und anderen ähnlichen Vorrichtungen ersetzt oder in Verbindung mit den Routern 18 verwendet werden.
  • Das Netz 10, einschließlich der Teilnetze 12 und 14, kann eine Mehrzahl von Servern 20 bis 30 umfassen. Einige der Server 20 bis 30 können Server aufweisen, z. B. primäre oder sekundäre Server. Die verbleibenden Server 20 bis 30 können konzipiert sein, um im Netz 10 Netzdienste auszuführen (z. B. um Softwareanwendungen, Datenspeicherung etc. bereitzustellen). Zusätzlich können einige der Server 20 bis 30 eine Kombination aus verschiedenen Funktionen ausführen (z. B. Zeitdienste, Datenspeicherung, etc.).
  • Das Netz 10 kann auch eine Mehrzahl von Netzvorrichtungen 32 bis 42 umfassen. Die Netzvorrichtungen 32 bis 42 können Personalcomputer, Laptops, persönliche digitale Assistenten, Drucker und ähnliche Vorrichtungen umfassen, die an das Netz 10 durch jeweilige Netzschnittstellen angebracht sein können.
  • Das Netz 10 und die Teilnetze 12 bis 14 können Kommunikationsdienste an die Clients 32 bis 43 durch ein verdrahtetes Protokoll, wie z. B. IEEE 802.3, einen Token-Ring, X.25 etc., drahtlose Protokolle, wie z. B. Cellular Digital Packet Data (Zellulare digitale Paketdaten), Mobitex, IEEE 801.11b, Wireless Application Protocol (drahtloses Anwendungsprotokoll), Global System for Mobiles (globales System für Mobiltelephone) etc., oder eine Kombination aus denselben liefern.
  • Fig. 2 stellt ein Blockdiagramm einer exemplarischen Rechenplattform 200 dar, die für einige oder für alle Netzvorrichtungen 32 bis 42 und/oder die Server 20 bis 30 in Fig. 1 repräsentativ ist. Fachleute werden darauf hingewiesen, daß an der dargestellten Konfiguration in Übereinstimmung mit den hierin beschriebenen Techniken viele Variationen vorgenommen werden können. Die Rechenplattform 200 kann beispielsweise für einen Drucker verändert werden, wobei eine Maus und eine ausbaubare Speicherungseinheit ausgelassen werden.
  • Die Rechenplattform 200 umfaßt einen oder mehrere Prozessoren, wie z. B. einen Prozessor 202, der konfiguriert ist, um eine Ausführungsplattform für eine Netzvorrichtung, wie z. B. eine Netzvorrichtung 32 (Fig. 1), bereitzustellen. Befehle und Daten vom Prozessor 202 können über ein Kommunikationsbus 204 kommuniziert werden.
  • Die Rechenplattform 200 umfaßt auch einen Hauptspeicher 206, vorzugsweise einen RAM (RAM = Random Access Memory- Direktzugriffsspeicher), wobei die Software für die Netzvorrichtung 32 während einer Laufzeit ausgeführt werden kann. Zusätzlich kann ein sekundärer Speicher 208 ebenfalls in der Rechenplattform 200 umfaßt sein. Der sekundäre Speicher 208 umfaßt beispielsweise ein Festplattenlaufwerk 210 und/oder ein ausbaubares Speicherungslaufwerk 212, das ein Diskettenlaufwerk, ein Magnetbandlaufwerk, ein Kompaktdisklaufwerk und dergleichen darstellt. Das ausbaubare Speicherungslaufwerk 212 kann eine Kopie der Software für die Speicherungsvorrichtung 32 speichern. Zusätzlich kann das ausbaubare Speicherungslaufwerk 212 von einer ausbaubaren Speicherungseinheit 214, z. B. einer Diskette, Kompaktdisk etc., lesen und/oder an dieselbe schreiben.
  • Ein Benutzer kann sich mit der Rechenplattform 200 durch eine Tastatur 216, eine Maus 216 und eine Anzeige 220 schnittstellenmäßig verbinden. Ein Anzeigeadapter 222 kann zwischen dem Kommunikationsbus 204 und der Anzeige 220schnittstellenmäßig verbunden sein, um Anzeigedaten vom Prozessor 202 zu empfangen und um die Anzeigedaten in Anzeigebefehle, die auf der Anzeige 220 sichtbar sind, umzuwandeln. Die Rechenplattform 200 kann mit einem Netz durch eine Netzschnittstelle 224 schnittstellenmäßig verbunden sein.
  • Einige oder alle Aspekte des Zeit-Synchronisations-Moduls, die hierin beschrieben sind, können in einer Software verkörpert sein. Das Zeit-Synchronisations-Modul kann beispielsweise in einem Client 32 bis 42 ansprechend auf seinen Prozessor 202, der Sequenzen von Anweisungen ausführt, die in einem Speicher, z. B. dem Speicher 208, enthalten sind, ausgeführt werden. Die Anweisungen können vom Hauptspeicher 206, z. B. dem RAM, ausgeführt und von einem permanenten Speicher, wie z. B. einer Massenspeicherungsvorrichtung und/oder einer oder mehreren anderen Fernnetzvorrichtungen, geladen werden. In letzterem Fall kann die Netzvorrichtung eine Sequenz von Anweisungen über ein Netz an eine Fernnetzvorrichtung ansprechend auf eine Nachricht, die an die Netzvorrichtung übertragen wurde, übertragen. Während die Netzvorrichtung die Anweisungen über die Netzverbindung von der Fernnetzvorrichtung empfängt, speichert die Netzvorrichtung die Anweisungen in einem Speicher, z. B. zur späteren Ausführung oder zur Ausführung während des Empfangs der Anweisungen.
  • Fig. 3 stellt ein Blockdiagramm einer exemplarischen Architektur 300 für eine Netzvorrichtung 32 bis 42, die in Fig. 1 gezeigt ist, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung dar. Fachleute mit Durchschnittsqualifikation werden darauf hingewiesen, daß die Architektur 300, die in Fig. 3 dargestellt ist, eine verallgemeinerte Darstellung darstellt und daß andere Komponenten hinzugefügt oder existierende Komponenten ausgebaut oder modifiziert werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen.
  • Wie in Fig. 3 gezeigt ist, umfaßt die Architektur 300 ein Zeit-Synchronisations-Modul 310, ein Betriebssystem 320 und eine Netzschnittstelle 330. Das Zeit-Synchronisations-Modul 310 kann konfiguriert sein, um eine Synchronisierungsanforderungsnachricht an eine Mehrzahl von Netzservern, z. B. die Server 20 bis 30, wenn diese aufgerufen worden sind, zu senden (z. B. sammelsenden oder rundsenden). Das Zeit- Synchronisations-Modul 310 kann auch konfiguriert sein, um Antwortpakete von den antwortenden Netzservern zu analysieren, um zu bestimmen, ob der antwortende Server synchronisiert ist. Wie nachstehend ausführlicher beschrieben ist, kann die Analyse der Antwortpakete dazu verwendet werden, um zu bestimmen, ob die antwortenden Server synchronisiert oder nichtsynchronisiert sind. Wenn das Zeit- Synchronisations-Modul 310 bestimmt hat, daß der Server synchronisiert ist, kann das Zeit-Synchronisations-Modul 310 die Zeit von einem Antwortpaket verwenden und den Systemtakt für den Client, der das Zeit-Synchronisations- Modul ausführt, synchronisieren.
  • Bei einem anderen Ausführungsbeispiel der vorliegenden Erfindung kann das Zeit-Synchronisations-Modul 310 konfiguriert sein, um eine Synchronisierungsanforderungsnachricht an eine Mehrzahl von Servern, z. B. Server 20 bis 30, zu senden. Das Zeit-Synchronisations-Modul 310 kann die Antwortpakete von den antwortenden Netzservern gemäß der Reihenfolge ihres Empfangs sortieren. Das Zeit- Synchronisations-Modul 310 kann die Antwortpakete in zwei Gruppen auf Basis der Synchronisierung der antwortenden Server organisieren: (1) Wenn der antwortende Server synchronisiert ist, kann die Serveradresse und die entsprechende Netzzeit in eine geordneten Gruppe basierend auf der Empfangsreihenfolge plaziert werden und (2) wenn der antwortende Server nicht synchronisiert ist, können die Serveradresse und die entsprechende Netzzeit in eine zweite geordnete Gruppe basierend auf der Empfangsreihenfolge plaziert werden.
  • Das Zeit-Synchronisations-Modul 310 kann konfiguriert sein, um eine Durchschnittszeit und Standardabweichung von den Datenpaketen, die von den synchronisierten Servern empfangen wurden, zu berechnen. Das Zeit-Synchronisations-Modul 310 kann dann den ersten synchronisierten Server, der in ein gegebenes Vielfaches der berechneten Standardabweichung fällt, durch die Reihenfolge in der Gruppe wählen. Das Zeit-Synchronisations-Modul 310 kann anschließend die Zeit von dem ausgewählten Netzserver verwenden, um den Systemtakt zu aktualisieren.
  • Wenn das Zeit-Synchronisations-Modul 310 bestimmt hat, daß keine synchronisierten Netzserver antworteten, kann das Zeit-Synchronisations-Modul 310 konfiguriert sein, um eine Durchschnittszeit und Standardabweichung für die nicht synchronisierten Server zu berechnen. Das Zeit- Synchronisations-Modul 310 kann dann den ersten nicht synchronisierten Server, der in ein gegebenes Vielfaches der berechneten Standardabweichung fällt, durch die Reihenfolge des Empfangs in der Gruppe wählen. Das Zeit- Synchronisations-Modul 310 kann anschließend die Zeit von dem ausgewählten Netzserver verwenden, um den Systemtakt zu aktualisieren.
  • Das Zeit-Synchronisations-Modul 310 kann ferner konfiguriert sein, um mit dem Betriebssystem 320 schnittstellenmäßig verbunden zu sein. Spezieller kann das Zeit- Synchronisations-Modul 310 mit dem Betriebssystem 320 durch eine API (API = Application Program Interface = Anwendungsprogrammschnittstelle, nicht gezeigt) schnittstellenmäßig verbunden sein. Das Betriebssystem 320 kann konfiguriert sein, um die Softwareanwendung, Daten und jeweiligen Hardwarekomponenten (z. B. Anzeigen, Plattenlaufwerke etc.) der Netzvorrichtung, z. B. 32 bis 42, zu verwalten. Die MICROSOFT-WINDOWS-Familie von Betriebssystemen, UNIX, HEWLETT- PACKARD HP-UX, LINUX, RIM OS und andere ähnliche Betriebssysteme können das Betriebssystem 320 implementieren.
  • Das Betriebssystem 320 kann mit der Netzschnittstelle 330 durch einen Vorrichtungstreiber (nicht gezeigt) gekoppelt sein. Die Netzschnittstelle 330 (z. B. die Netzschnittstelle 224, die in Fig. 2 gezeigt ist) kann konfiguriert sein, um einen Kommunikationsport für die Netzvorrichtung, z. B. 36, über das Netz 10 (in Fig. 1 gezeigt) bereitzustellen. Die Netzschnittstelle 330 kann unter Verwendung einer Netzschnittstellenkarte, einer drahtlosen Schnittstellenkarte oder einer anderen ähnlichen Eingabe- /Ausgabevorrichtung implementiert sein.
  • Fig. 4A bis 4B stellen zusammen ein Flußdiagramm für einen exemplarischen Betriebsmodus 400 des Zeit-Synchronisations- Moduls 310, das in Fig. 3 gezeigt ist, gemäß einem Ausführungsbeispiel der Erfindung dar. Daneben stellen die Fig. 5A bis 5B zusammen ein Flußdiagramm für einen exemplarischen Betriebsmodus 500 des Zeit-Synchronisations-Moduls 310, das in Fig. 3 gezeigt ist, gemäß einem anderen Ausführungsbeispiel der Erfindung dar. Fachleute mit Durchschnittsqualifikation werden darauf hingewiesen, daß die Betriebsmodi 400 und 500 verallgemeinerte Darstellungen darstellen und daß andere Schritte hinzugefügt oder existierende Schritte entfernt oder modifiziert werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen.
  • Die in den Betriebsmodi 400 und 500 dargestellten Schritte können jeweils als ein Hilfsprogramm, Programm, Teilprogramm und in einem beliebigen gewünschten computerzugreifbaren Medium enthalten sein. Zusätzlich können die Betriebsmodi 400 und 500 jeweils durch ein Computerprogramm, das in einer Vielfalt an Formen sowohl aktiv als auch inaktiv existieren kann, verkörpert sein. Jeder der Betriebsmodi 400 und 500 kann beispielsweise als ein Softwareprogramm (Softwareprogramme) existieren, das (die) aus Programmanweisungen in einem Quellencode, Objektcode, ausführbaren Code oder anderem Format besteht (bestehen). Ein beliebiger Teil der vorstehenden Aufzählung kann auf einem computerlesbaren Medium verkörpert sein, das Speicherungsvorrichtungen und Signale in komprimierter oder unkomprimierter Form enthält.
  • Exemplarische computerlesbare Speicherungsvorrichtungen umfassen einen herkömmlichen Computersystem-RAM, -ROM, -EPROM, -EEPROM und magnetische oder optische Platten oder Bänder. Exemplarische computerlesbare Signale, egal ob diese unter Verwendung eines Trägers moduliert sind oder nicht, sind Signale, für die ein Computersystem, das das Computerprogramm hostet oder betreibt, für einen Zugriff auf dieselben konfiguriert sein kann, einschließlich Signale, die durch das Internet oder andere Netze heruntergeladen werden. Konkrete Beispiele des vorhergehenden umfassen eine Verteilung der Programme auf einem CD-ROM oder über einen Internet-Download. In gewissem Sinne ist das Internet an sich als eine abstrakte Entität ein computerlesbares Medium. Das gleiche gilt für Computernetze im allgemeinen. Obwohl in den nachstehenden Beschreibungen von Fig. 4A bis 4B und Fig. 5A bis 5B auf das Sync-Modul 310, das in Fig. 3 dargestellt ist, wo es bestimmte Funktionen ausführt, speziell Bezug genommen wird, wird darauf hingewiesen, daß jene Funktionen durch eine beliebige elektronische Vorrichtung, die die vorstehend beschriebenen Funktionen ausführen kann, ausgeführt werden können.
  • Unter erstmaliger Bezugnahme auf Fig. 4A kann das Zeit- Synchronisations-Modul 310 konfiguriert sein, um bei Schritt 405 in einem Ruhezustand oder Leerlaufzustand (idle state) zu sein. Das Zeit-Synchronisations-Modul 310 kann konfiguriert sein, um ein Anforderungspaket bei Schritt 410 zu erzeugen. Spezieller kann das Anforderungspaket durch Instantiieren eines SNTP-Pakets mit Nullen erzeugt werden. Zusätzlich kann das Zeit-Synchronisations-Modul 310 konfiguriert sein, um das Versionsfeld auf drei zu setzen und auch das Modusfeld auf drei des SNTP-Pakets zu setzen. Bei Schritt 415 kann das Zeit-Synchronisations-Modul 310 konfiguriert sein, um das Anforderungspaket beispielsweise mit einer Adresse von 244.0.0.1 auf einem Port 123 sammelzusenden. Alternativ kann das Zeit-Synchronisations-Modul 310 konfiguriert sein, um das Anforderungspaket in einer beliebigen bekannten Weise zu formatieren, um eine Sammelsendung an eine Mehrzahl von Servern auszuführen.
  • Das Zeit-Synchronisations-Modul 310 kann konfiguriert sein, um zu bestimmen, ob irgendwelche Antwortpakete bei Schritt 420 empfangen worden sind. Bei Schritt 425 wird bestimmt, ob irgendwelche Antworten innerhalb einer vorbestimmten Zeitdauer empfangen wurden. Daher kann durch einen Auswahl- ()-Befehl ein Zeitablauf implementiert werden. Alternativ kann ein Zeitgeber, z. B. ein Zeitgebermodul (nicht gezeigt), in der Netzvorrichtung 32 bis 42 vorgesehen sein, der nach der Ausführung der Sammelsendung initiiert werden kann. Es wird darauf hingewiesen, daß die vorbestimmte Zeitdauer gemäß den individuellen Präferenzen eingestellt werden kann und abhängig von verschiedenen Faktoren, z. B. einer Zeitsynchronisierungsoptimierung, Last auf den Servern etc., variieren kann.
  • Wenn bei Schritt 425 kein Zeitablauf eingetreten ist, kann der Betriebsmodus 400 zu Schritt 420 zurückkehren, um zu bestimmen, ob beliebige Antwortpakete empfangen worden sind. Dieser Prozeß kann fortgesetzt werden, bis bei Schritt 425 ein Zeitablauf eintritt.
  • Wenn zumindest ein Antwortpaket nicht innerhalb der vorbestimmten Zeitdauer empfangen worden ist, kann das Zeit- Synchronisations-Modul 310 konfiguriert sein, um eine Rundsendung des Anforderungspakets z. B. mit einer Adresse von 255.255.255.255 auf dem Port 123 bei Schritt 430 auszuführen. Es wird darauf hingewiesen, daß die Rundsendung mit einer beliebigen angemessenen geeigneten Adresse und einem beliebigen angemessenen geeigneten Port ausgeführt werden kann. Bei Schritt 435 wird bestimmt, ob beliebige Antwortpakete empfangen worden sind. Bei Schritt 440 wird bestimmt, ob ein Zeitablauf eingetreten ist. Diesbezüglich kann ein Zeitgeber, z. B. ein Zeitgebermodul (nicht gezeigt), in der Netzvorrichtung 32 bis 42 vorgesehen sein, der nach dem Ausführen der Rundsendung initiiert werden kann. Alternativ kann die Zeitmessung eine Fortsetzung des Zeitgebers sein, der nach der Ausführung der Rundsendung initiiert wurde. In jeder Hinsicht wird darauf hingewiesen, daß die vorbestimmte Zeitdauer gemäß individueller Präferenzen eingestellt werden kann und abhängig von verschiedenen Faktoren, z. B. der Zeitsynchronisierungsoptimierung, der Last auf den Servern etc., variieren kann.
  • Wenn bei Schritt 440 kein Zeitablauf eingetreten ist, kann der Betriebsmodus 400 zu Schritt 420 zurückkehren, um zu bestimmen, ob beliebige Antworten von der Sammelsendung (Schritt 415) oder der Rundsendung (Schritt 430) empfangen worden sind. Dieser Prozeß kann fortgesetzt werden, bis ein Zeitablauf bei Schritt 440 eintritt. Wenn eine Zeitablauf eintritt, kann der Betriebsmodus 400 das Zeit- Synchronisations-Modul 310 in den Ruhezustand bei Schritt 405 zurücksetzen.
  • Unter Bezugnahme auf Fig. 4B, wenn zumindest eine Antwort durch das Zeit-Synchronisations-Modul 310 bei Schritt 420 oder Schritt 435 empfangen worden ist, können die Datenpakete von den Servern, die den empfangenen Antwortpaketen zugeordnet sind, durch das Zeit-Synchronisations-Modul 310 bei Schritt 445 gelesen werden. Das Datenpaket kann Informationen enthalten, die sich auf die Serveradresse beziehen, die die Antwort sowie einen Hinweis darüber, ob die Zeit synchronisiert worden ist, sendete. Das Zeit- Synchronisations-Modul 310 kann eine oder mehrere Antworten bei Schritt 420 oder Schritt 435 empfangen.
  • Bei Schritt 450 wird das Datenpaket verwendet, um zu bestimmen, ob ein beliebiger der antwortenden Server synchronisiert worden ist. Bei einem Ausführungsbeispiel kann bestimmt werden, daß der Server synchronisiert ist, indem bestimmt wird, ob das Sprunganzeigefeld Null (0), das Modusfeld vier (4), das Versionsfeld entweder drei (3) oder vier (4) ist, das Stratumfeld sich im Bereich von 1 bis einschließlich 15 befindet und der Übertragungszeitstempel anzeigt, daß der Zeitpunkt älter als der 1. Juni 2001 ist. Die vorstehend umrissenen Informationen können von den empfangenen Datenpaketen gelesen werden. Es wird darauf hingewiesen, daß bestimmt werden kann, daß ein Server in einer beliebigen anderen angemessenen geeigneten Weise, die Fachleuten allgemein bekannt ist, synchronisiert ist.
  • Wenn der antwortende Server synchronisiert ist, wird die Netzzeit von diesem Server angewendet, um den Systemtakt bei Schritt 455 zu aktualisieren. Im Anschluß an die Anwendung der Netzzeit, kann das Zeit-Synchronisations-Modul 310 konfiguriert sein, um zum Ruhezustand (Schritt 405) zurückzukehren.
  • Wenn keiner der antwortenden Server synchronisiert werden soll, d. h. die antwortenden Server sollen bei Schritt 450 nicht synchronisiert werden, kann bei Schritt 460 bestimmt werden, ob das Datenpaket, das von diesem Server empfangen wurde, das erste empfangene Paket ist, z. B. der erste Server ist, um zu antworten. Wenn das Datenpaket bei Schritt 465 das erste Datenpaket sein soll, werden die Informationen, die in dem Datenpaket enthalten sind, beispielsweise im Hauptspeicher 206 (Fig. 2) gespeichert. Das Zeit-Synchronisations-Modul 310 kann dann ein Datenpaket von einem anderen Server bei Schritt 445 lesen und bestimmen, ob dieser Server, beispielsweise in der vorstehend beschriebenen Weise, synchronisiert worden ist.
  • Bei Schritt 460, wenn bestimmt worden ist, daß das Datenpaket nicht das erste Paket ist, z. B. nach zumindest einmaliger Wiederholung der Schritte 445 und 450, kann dann das Zeit-Synchronisations-Modul 310 bei Schritt 470 bestimmen, ob das Datenpaket das letzte empfangene Datenpaket ist. Wenn das Datenpaket nicht das letzte Paket ist, dann kann bei Schritt 445 ein anderes Datenpaket gelesen werden, um zu bestimmen, ob der antwortende Server synchronisiert ist. Wenn bestimmt wird, daß der Server synchronisiert worden ist, kann die Netzzeit von diesem Server bei Schritt 455 wieder auf den Systemtakt angewendet werden. Diesbezüglich kann der Systemtakt der Netzvorrichtung der Netzzeit des ersten synchronisierten Servers, der antwortete, entsprechen.
  • Wenn das Datenpaket bei Schritt 470 das letzte Datenpaket sein soll, dann kann die Netzzeit von dem ersten gespeicherten Paket (von Schritt 465) auf den Systemtakt der Netzvorrichtung bei Schritt 475 angewendet werden. Im Anschluß an die Anwendung der Netzzeit von dem ersten nicht synchronisierten Server kann das Zeit-Synchronisations- Modul 310 konfiguriert sein, um zum Ruhezustand zurückzukehren (Schritt 405).
  • Fig. 5A und 5B stellen zusammen ein Flußdiagramm eines Betriebsmodus 500 gemäß einem anderen Ausführungsbeispiel der Erfindung dar. Die Schritte 405 bis 414 sind mit jenen Schritten, die in Fig. 4A dargestellt und vorstehend beschrieben sind, identisch. Daher wird von einer ausführlichen Beschreibung der Schritte 405 bis 440 in Fig. 5A aus praktischen Gründen abgesehen. Statt dessen stützt sich die Beschreibung, die vorstehend im Hinblick auf Fig. 4A vorgesehen wurde, auf die Unterstützung der nachstehenden Beschreibung von Fig. 5A.
  • In Fig. 5A, wobei bei Schritt 420 begonnen wird, werden die Datenpakete, wenn beliebige Antworten von beliebigen Servern empfangen werden, bei Schritt 505 von den Servern gelesen. Bei Schritt 510 werden die Datenpakete in einem Speicher, z. B. dem Speicher 210 (Fig. 2), gespeichert. Die Reihenfolge des Empfangs der Datenpakete und ihre entsprechenden Server können ebenfalls im Speicher gespeichert werden. Zusätzlich können die Server in zwei Kategorien gespeichert werden, einer Kategorie für synchronisierte Server und einer anderen für nicht synchronisierte Server.
  • Daher kann z. B. eine Datenbank, eine verknüpfte Liste, eine Tabelle etc. (nicht gezeigt) im Speicher 206 mit Eingaben von den synchronisierten Servern, die in der Reihenfolge angeordnet sind, in der sie durch das Zeit- Synchronisations-Modul 310 empfangen wurden, und von nicht synchronisierten Servern, die in der Reihenfolge angeordnet sind, in der sie empfangen wurden, erzeugt werden. Es wird darauf hingewiesen, daß das unmittelbare Ausführungsbeispiel der Erfindung jene Situationen umfaßt, in denen alle antwortenden Server synchronisiert oder nicht synchronisiert sind.
  • Dieser Prozeß kann so lange fortgesetzt werden, bis ein Zeitablauf eintritt, wie bei Schritt 515 angezeigt ist. Spezieller können vor dem Eintreten des Zeitablaufs zusätzliche Datenpakete von den Servern gelesen (Schritt 505) und gespeichert werden (Schritt 510). Wie vorstehend festgestellt wurde, kann ein Zeitgeber, z. B. ein Zeitgebermodul (nicht gezeigt) in der Netzvorrichtung 32 bis 42 vorgesehen sein und nach dem Empfang eines ersten Datenpakets initiiert werden. Es wird darauf hingewiesen, daß die vorbestimmte Zeitdauer gemäß individueller Präferenzen eingestellt und abhängig von verschiedenen Faktoren, z. B. der Zeitsynchronisierungsoptimierung, der Last auf den Servern etc. variieren kann.
  • Nach dem Eintreten des Zeitablaufs bei Schritt 515 kann das Zeit-Synchronisations-Modul 310 bestimmen, ob ein beliebiger der antwortenden Server bei Schritt 520 synchronisiert worden ist. Die Bestimmung, ob die antwortenden Server synchronisiert sind, kann gemäß der Art und Weise, die vorstehend im Hinblick auf Fig. 4B beschrieben wurde, vorgenommen werden.
  • Wenn beliebige Pakete von den synchronisierten Servern empfangen worden sind, kann das Zeit-Synchronisations-Modul 310 die Netzzeiten von diesen Servern bei Schritt 525 mitteln. Das Zeit-Synchronisations-Modul 310 kann auch eine Standardabweichung der Netzzeiten bei Schritt 530 berechnen. Bei Schritt 535 kann sich das Zeit-Synchronisations- Modul 310 durch die geordnete Liste von synchronisierten Servern gemäß ihrer Empfangsreihenfolge tasten und bei Schritt 540 den ersten synchronisierten Server wählen, der in ein vorbestimmtes Vielfaches der Standardabweichung fällt. Das vorbestimmte Vielfache der Standardabweichung kann gemäß individueller Implementierungen ausgewählt werden und gemäß verschiedener Aspekte, z. B. dem Genauigkeitspegel, der von dem Systemtakt in der Netzvorrichtung erfordert wird, variieren. Daher kann das vorbestimmte Vielfache der Standardabweichung, wenn z. B. eine Systemtaktimplementierung einen hohen Genauigkeitspegel erfordert, relativ niedrig eingestellt werden.
  • Bei Schritt 545 kann die Netzzeit von dem Server, der bei Schritt 540 ausgewählt wurde, auf den Systemtakt der Netzvorrichtung angewendet werden. Das Zeit-Synchronisations- Modul 310 kann dann konfiguriert sein, um zum Ruhezustand bei Schritt 405 zurückzukehren.
  • Wenn keiner der Server synchronisiert worden ist (Schritt 520), kann das Zeit-Synchronisations-Modul 310 konfiguriert sein, um die Netzzeiten von den ansprechenden nicht synchronisierten Servern bei Schritt 550 zu mitteln. Das Zeit- Synchronisations-Modul 310 kann auch eine Standardabweichung der Netzzeiten bei Schritt 555 berechnen. Bei Schritt 560 kann sich das Zeit-Synchronisations-Modul 310 durch die geordnete Liste von nicht synchronisierten Servern nach ihrer Empfangsreihenfolge tasten und den ersten nicht synchronisierten Server auswählen, der in ein vorbestimmtes Vielfaches der Standardabweichung bei Schritt 565 fällt. Das vorbestimmte Vielfache der Standardabweichung kann gemäß individueller Implementierungen ausgewählt werden und gemäß verschiedener Überlegungen, z. B. dem Genauigkeitspegel, der von dem Systemtakt in der Netzvorrichtung erfordert wird, variieren. Daher kann das vorbestimmte Vielfache der Standardabweichung, z. B. wenn eine Systemtaktimplementierung einen hohen Genauigkeitspegel erfordert, relativ niedrig eingestellt werden.
  • Bei Schritt 570 kann die Netzzeit von dem Server, der bei Schritt 565 ausgewählt wurde, auf den Systemtakt der Netzvorrichtung angewendet werden. Das Zeit-Synchronisations- Modul 310 kann dann konfiguriert sein, um zum Ruhezustand bei 405 zurückzukehren.
  • Fig. 6 stellt ein exemplarisches Flußdiagramm für einen Betriebsmodus 600 eines Servers, z. B. des Servers 20, der in Fig. 1 gezeigt ist, gemäß einem Ausführungsbeispiel der Erfindung dar. Fachleute mit Durchschnittsqualifikation werden darauf hingewiesen, daß der Betriebsmodus 600 eine verallgemeinerte Darstellung darstellt und daß andere Schritte hinzugefügt oder existierende Schritte entfernt oder modifiziert werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen.
  • Die im Betriebsmodus 600 dargestellten Schritte können als ein Hilfsprogramm, Programm oder Teilprogramm in einem beliebigen gewünschten computerzugreifbaren Medium enthalten sein. Zusätzlich kann der Betriebsmodus 600 durch ein Computerprogramm verkörpert sein, das in einer Vielfalt an Formen sowohl aktiv als auch inaktiv existieren kann. Der Betriebsmodus 600 kann beispielsweise als ein Softwareprogramm existieren, das aus Programmanweisungen in einem Quellencode, Objektcode, ausführbaren Code oder anderen Formaten besteht. Ein beliebiger Punkt der vorstehenden Aufzählung kann als ein computerlesbares Medium verkörpert sein, das Speicherungsvorrichtungen und Signale in komprimierter oder unkomprimierter Form umfaßt.
  • Exemplarische computerlesbare Speicherungsvorrichtungen umfassen einen herkömmlichen Computersystem-RAM, -ROM, -EPROM, -EEPROM und magnetische oder optische Platten oder Bänder. Exemplarische computerlesbare Signale, ob unter Verwendung eines Trägers moduliert oder nicht, sind Signale, für die ein Computersystem, das das Computerprogramm hostet oder betreibt, konfiguriert sein kann, um auf dieselben zuzugreifen, einschließlich Signale, die durch das Internet oder andere Netze heruntergeladen werden. Konkrete Beispiele der vorstehenden Ausführungen umfassen eine Verteilung der Programme auf einem CD-ROM oder über einen Internet-Download. In gewissem Sinne ist das Internet an sich, als eine abstrakte Entität, ein computerlesbares Medium. Das gleiche gilt für Computernetze im allgemeinen.
  • Ein Server, z. B. der Server 20, kann sich bei Schritt 605 in einem Ruhezustand befinden. Bei Schritt 610 kann der Server eine Anforderung nach einer Zeitsynchronisierung, z. B. von einem Zeit-Synchronisations-Modul 310, empfangen. Diese Anforderung kann in einem beliebigen angemessenen geeigneten Format, z. B. Sammelsenden, Rundsenden oder dergleichen, erfolgen. Ansprechend auf die Anforderung kann der Server bei Schritt 615 ein Antwortpaket einschließlich beispielsweise der Netzzeit und der Serveradresse zur Übertragung an die anfordernde Netzvorrichtung erzeugen. Bei Schritt 620 kann der Server das Antwortpaket an die Netzvorrichtung übertragen, wo es durch das Zeit- Synchronisations-Modul 310 empfangen werden kann. Der Server kann dann in den Ruhezustand bei Schritt 605 zurückkehren.

Claims (62)

1. Verfahren (400) zum Synchronisieren eines Systemtakts in einem Client mit einer Netzzeit von einem Server (20-30), wobei das Verfahren (400) folgende Schritte aufweist:
Übertragen (415, 430) eines Anforderungspakets;
Empfangen (42-0, 435) von einem oder mehreren Datenpaketen von zumindest einem Server (20-30) ansprechend auf das Anforderungspaket;
Durchführen eines Tests (505) bezüglich eines ersten synchronisierten Pakets von dem einen oder den mehreren Datenpaketen; und
Auswählen (540) eines ersten synchronisierten Server (20-30) ansprechend auf ein Finden des ersten synchronisierten Pakets.
2. Verfahren (400) gemäß Anspruch 1, das ferner folgenden Schritt aufweist: Anwenden (455, 475) einer Netzzeit des ersten synchronisierten Server (20-30) auf den Systemtakt des Client.
3. Verfahren (400) gemäß Anspruch 1 oder 2, bei dem der Schritt des Übertragens (415, 430) des Anforderungspakets ein Ausführen eines Sammelsendens des Zeitanforderungspakets aufweist.
4. Verfahren (400) gemäß einem der Ansprüche 1 bis 3, das ferner folgenden Schritt aufweist: Erwarten von Antworten von dem zumindest einen Server (20-30) ansprechend auf einen nicht abgelaufenen Zeitablaufwert.
5. Verfahren (400) gemäß Anspruch 4, das ferner folgenden Schritt aufweist: Ausführen eines Rundsendens des Anforderungspakets ansprechend auf den abgelaufenen Zeitablaufwert.
6. Verfahren (400) gemäß einem der Ansprüche 1 bis 5, das ferner folgende Schritte aufweist:
Sortieren (505) des einen oder der mehreren Datenpakete basierend auf der Reihenfolge des Empfangs von jedem der einen oder mehreren Datenpakete;
Bestimmen (450), ob ein Datenpaket von einem nicht synchronisierten Server (20-30) ein erstes Datenpaket ist, das ansprechend darauf, daß keine synchronisierten Server (20-30) antworten, empfangen wurde; und
Speichern des Datenpakets von dem nicht synchronisierten Server (20-30) ansprechend darauf, dass der nicht synchronisierte Server (20-30) ein erster nicht synchronisierter Server (20-30) ist, der geantwortet hat.
7. Verfahren (400) gemäß Anspruch 6, das ferner folgende Schritte aufweist:
Bestimmen (450), ob das Datenpaket von dem nicht synchronisierten Server (20-30) ein letztes Datenpaket ist, das ansprechend darauf, dass der nicht synchronisierte Server (20-30) nicht der erste nicht synchronisierte Server (20-30) ist, der geantwortet hat, empfangen wurde; und
Anwenden (455, 475) einer Netzzeit auf den Client von dem gespeicherten Datenpaket ansprechend darauf, daß das Datenpaket von dem nicht synchronisierten Server (20-30)das letzte Datenpaket ist, das empfangen wurde.
8. Verfahren (400) gemäß einem der Ansprüche 1 bis 7, das ferner folgende Schritte aufweist:
Kategorisieren (505) von antwortenden Servern (20-30) in eine synchronisierte Gruppe oder einer nicht synchronisierte Gruppe; und
Ordnen (505) der synchronisierten Gruppe und der nicht synchronisierten Gruppe auf Basis der Reihenfolge des Empfangs.
9. Verfahren (400) gemäß Anspruch 8, das ferner folgenden Schritt aufweist: Mitteln (550) der Netzzeiten von der synchronisierten Gruppe.
10. Verfahren (400) gemäß Anspruch 9, das ferner folgenden Schritt aufweist: Berechnen (525) einer Standardabweichung der Netzzeiten von der synchronisierten Gruppe.
11. Verfahren (400) gemäß Anspruch 10, das ferner folgende Schritte aufweist:
Tasten (535) durch die geordnete synchronisierte Servergruppe; und
Auswählen (540) eines ersten synchronisierten Server (20-30), der in ein vorbestimmtes Vielfaches der berechneten Standardabweichung fällt.
12. Verfahren (400) gemäß Anspruch 11, das ferner folgenden Schritt aufweist: Anwenden (445) der Netzzeit von dem ersten synchronisierten Server (20-30) zum Synchronisieren des Systemtakts auf dem Client.
13. Verfahren (400) gemäß Anspruch 8, das ferner folgenden Schritt aufweist: Mitteln (550) der Netzzeiten von den Datenpaketen der nicht synchronisierten Gruppe.
14. Verfahren (400) gemäß Anspruch 13, das ferner folgenden Schritt aufweist: Berechnen (555) einer Standardabweichung der Netzzeiten von den Datenpaketen der nicht synchronisierten Gruppe.
15. Verfahren (400) gemäß Anspruch 14, das ferner folgenden Schritt aufweist:
Tasten (560) durch die geordnete nicht synchronisierte Servergruppe; und
Auswählen (565) eines ersten nicht synchronisierten Server (20-30), der in ein vorbestimmtes Vielfaches der berechneten Standardabweichung fällt.
16. Verfahren (400) gemäß Anspruch 15, das ferner folgenden Schritt aufweist: Anwenden (570) der Netzzeit von dem ausgewählten nicht synchronisierten Server (20-30) zum Synchronisieren des Systemtakts auf dem Client.
17. Vorrichtung zum Synchronisieren eines Systemtakts in einem Client, wobei die Vorrichtung folgende Merkmale aufweist:
eine Einrichtung zum Übertragen einer Anforderung für eine Zeitsynchronisierung;
eine Einrichtung zum Empfangen von Antworten von einer Mehrzahl von Servern (20-30);
eine Einrichtung zum Bestimmen der Reihenfolge des Empfangs der Antworten; und
eine Einrichtung zum Bestimmen, ob eine beliebige der Antworten von einem synchronisierten Server (20-30) ist.
18. Vorrichtung gemäß Anspruch 17, die ferner folgendes Merkmal aufweist: eine Einrichtung zum Anwenden der Netzzeit von dem ersten antwortenden synchronisierten Server (20-30).
19. Vorrichtung gemäß Anspruch 17 oder 18, die ferner folgende Merkmale aufweist:
eine Einrichtung zum Speichern der Reihenfolge des Empfangs der Antworten;
eine Einrichtung zum Bestimmen, ob ein Datenpaket von einem ersten antwortenden nicht synchronisierten Server (20-30) ist ansprechend darauf, daß keine synchronisierten Server (20-30) antworten; und
eine Einrichtung zum Speichern des Datenpakets ansprechend darauf, daß das Datenpaket von dem ersten antwortenden nicht synchronisierten Server (20-30) ist.
20. Vorrichtung gemäß Anspruch 19, die ferner folgende Merkmale aufweist:
eine Einrichtung zum Bestimmen, ob das Datenpaket von einem nicht synchronisierten Server (20-30) das letzte Datenpaket ist, das ansprechend darauf, daß der nicht synchronisierten Server (20-30) nicht der erste nicht synchronisierte Server (20-30) ist, der antworten soll; und
eine Einrichtung zum Anwenden einer Netzzeit auf die Netzvorrichtung von dem gespeicherten Datenpaket ansprechend darauf, daß das Datenpaket von dem nicht synchronisierten Server (20-30) das letzte Datenpaket ist, das empfangen wurde.
21. Vorrichtung gemäß einem der Ansprüche 17 bis 20, bei dem die Einrichtung zum Bestimmen und Speichern der Reihenfolge des Empfangs der Antworten eine Einrichtung zum Gruppieren der antwortenden Server (20-30) in eine synchronisierte Gruppe oder eine nicht synchronisierte Gruppe aufweist.
22. Vorrichtung gemäß Anspruch 21, die ferner folgendes Merkmal aufweist: eine Einrichtung zum Mitteln der Netzzeiten von der synchronisierten Gruppe.
23. Vorrichtung gemäß Anspruch 22, die ferner folgendes Merkmal aufweist: eine Einrichtung zum Berechnen (530) einer Standardabweichung der Netzzeiten der synchronisierten Gruppe.
24. Vorrichtung gemäß Anspruch 23, die ferner folgende Merkmale aufweist:
eine Einrichtung zum Tasten durch die geordnete synchronisierte Servergruppe; und
eine Einrichtung zum Auswählen (540) des ersten synchronisierten Servers (20-30), der in ein vorbestimmtes Vielfaches der berechneten Standardabweichung fällt.
25. Vorrichtung gemäß Anspruch 24, die ferner folgendes Merkmal aufweist: eine Einrichtung zum Anwenden der Netzzeit von dem ersten synchronisierten Server (20-30).
26. Vorrichtung gemäß Anspruch 21, die ferner folgendes Merkmal aufweist: eine Einrichtung zum Mitteln der Netzzeiten von der nicht synchronisierten Gruppe.
27. Vorrichtung gemäß Anspruch 26, die ferner folgendes Merkmal aufweist: eine Einrichtung zum Berechnen einer Standardabweichung der Netzzeiten der nicht ynchronisierten Server (20-30).
28. Vorrichtung gemäß Anspruch 27, die ferner folgende Merkmale aufweist:
eine Einrichtung zum Tasten durch die geordnete nicht synchronisierte Servergruppe; und
eine Einrichtung zum Auswählen eines ersten nicht synchronisierten Servers, der in ein vorbestimmtes Vielfaches der berechneten Standardabweichung fällt.
29. Vorrichtung gemäß Anspruch 28, die ferner folgendes Merkmal aufweist: eine Einrichtung zum Anwenden der Netzzeit von dem ersten nicht synchronisierten Server (20-30) zum Synchronisieren des Systemtakts auf dem Client.
30. System zum Synchronisieren eines Systemtakts in einem Client, wobei das System folgende Merkmale aufweist: ein Zeit-Synchronisations-Modul (310), das zur Speicherung und Ausführung auf dem Client konfiguriert ist, wobei das Zeit-Synchronisations-Modul betreibbar ist, um eine Anforderung nach einer Zeit an einen oder mehrere Server (20-30) zu übertragen, um Antworten von dem einen oder den mehreren Servern (20-30) zu empfangen, um zu bestimmen, ob die antwortenden Server (20-30) synchronisiert oder nicht synchronisiert sind, und die Reihenfolge, in der die Server (20-30) antworteten, zu bestimmen und um die Netzzeit von dem ersten synchronisierten Server (20-30), der antwortet, anzuwenden.
31. System gemäß Anspruch 30, das ferner folgende Merkmale aufweist:
ein Netz (10); und
eine Mehrzahl von Servern (20-30);
wobei das Zeit-Synchronisations-Modul (310) konfiguriert ist, um zumindest entweder eine Rundsende- oder eine Sammelsendeanforderung nach einer Zeitsynchronisierung an die Mehrzahl von Servern (20-30) durch das Netz (10) zu übertragen.
32. System gemäß Anspruch 30 oder 31, bei dem das Zeit- Synchronisations-Modul (310) konfiguriert ist, um ein Datenpaket von einem ersten nicht synchronisierten Server (20-30), der antwortet, ansprechend darauf, daß keine synchronisierten Server (20-30) antworten, zu speichern.
33. System gemäß Anspruch 32, bei dem das Zeit- Synchronisations-Modul (310) ferner konfiguriert ist, um die Netzzeit von dem gespeicherten Datenpaket ansprechend darauf, daß keine weiteren Antworten von dem einen oder den mehreren Servern (20-30) empfangen werden, anzuwenden.
34. System gemäß einem der Ansprüche 30 bis 33, bei dem das Zeit-Synchronisations-Modul (310) konfiguriert ist, um geordnete Gruppen von synchronisierten und nicht synchronisierten Servern (20-30) zu speichern.
35. System gemäß Anspruch 34, bei dem das Zeit- Synchronisations-Modul (310) konfiguriert ist, um die Netzzeiten von der synchronisierten Gruppe zu mitteln.
36. System gemäß Anspruch 35, bei dem das Zeit- Synchronisations-Modul (310) ferner konfiguriert ist, um eine Standardabweichung der Netzzeiten zu berechnen.
37. System gemäß Anspruch 36, bei dem das Zeit- Synchronisations-Modul (310) ferner konfiguriert ist, um sich durch die geordnete Liste von synchronisierten Servern (20-30) zu tasten und um einen ersten synchronisierten Server (20-30) auszuwählen, der in einer vorbestimmtes Vielfaches der berechneten Standardabweichung fällt.
38. System gemäß Anspruch 37, bei dem das Zeit- Synchronisations-Modul (310) ferner konfiguriert ist, um die Netzzeit von dem ersten synchronisierten Server (20-30) anzuwenden, um den Systemtakt auf dem Client zu synchronisieren.
39. System gemäß Anspruch 34, bei dem das Zeit- Synchronisations-Modul (310) konfiguriert ist, um die Netzzeiten von der nicht synchronisierten Gruppe zu mitteln.
40. System gemäß Anspruch 39, bei dem das Zeit- Synchronisations-Modul ferner konfiguriert ist, um eine Standardabweichung der Netzzeiten zu berechnen.
41. System gemäß Anspruch 40, bei dem das Zeit- Synchronisations-Modul (310) ferner konfiguriert ist, um sich durch die geordnete Liste von nicht synchronisierten Servern (20-30) zu tasten und um einen ersten nicht synchronisierten Server (20-30) auszuwählen, der in ein vorbestimmtes Vielfaches der berechneten Standardabweichung fällt.
42. System gemäß Anspruch 41, bei dem das Zeit- Synchronisations-Modul (310) ferner konfiguriert ist, um die Netzzeit von dem nicht synchronisierten Server (20-30) anzuwenden, um den Systemtakt auf der Netzvorrichtung zu synchronisieren.
43. Verfahren (400), das folgende Schritte aufweist:
Bestimmen (450) eines ersten verfügbaren Server (20-30) aus einem oder mehreren Servern (20-30) ansprechend auf ein Anforderungspaket; und
Anwenden (455, 475) einer Netzzeit von dem ersten verfügbaren Server (20-30).
44. Verfahren (400) gemäß Anspruch 43, bei dem der Schritt des Anwendens (455, 475) der Netzzeit von dem ersten verfügbaren Server (20-30) ein Anwenden (455, 475) der Netzzeit von dem ersten verfügbaren synchronisierten Server (20-30) aufweist,
45. Verfahren (400) gemäß Anspruch 43 oder 44, das ferner folgenden Schritt aufweist: Speichern (465) eines Datenpakets von einem ersten verfügbaren nicht synchronisierten Server (20-30) ansprechend darauf, dass keine Antwort von einem synchronisierten Server (20-30) erhalten wird.
46. Verfahren (400) gemäß Anspruch 45, das ferner folgenden Schritt aufweist: Anwenden (455, 475) der Netzzeit von dem gespeicherten Datenpaket ansprechend auf ein finales Datenpaket, das empfangen wird.
47. Verfahren (400) gemäß einem der Ansprüche 43 bis 46, das folgende Schritte aufweist:
Empfangen (420, 435) einer Mehrzahl von Datenpaketen von einem oder mehreren Servern (20-30);
Durchführen eines Tests (505) bezüglich eines synchronisierten Pakets von der Mehrzahl von Datenpaketen; und
Sortieren (505) der Mehrzahl von Datenpaketen basierend auf der Reihenfolge des Empfangs der Mehrzahl von Datenpaketen.
48. Verfahren (400) gemäß Anspruch 47, das ferner folgende Schritte aufweist:
Kategorisieren (505) des einen oder der mehreren Server (20-30) in eine synchronisierte Gruppe oder nicht synchronisierte Gruppe; und
Ordnen (505) der synchronisierten Gruppe oder nicht synchronisierten Gruppe.
49. Verfahren (400) gemäß Anspruch 48, das ferner folgenden Schritt aufweist: Mitteln (525) der Netzzeiten von der synchronisierten Gruppe.
50. Verfahren (400) gemäß Anspruch 49, das ferner folgenden Schritt aufweist: Berechnen (530) einer Standardabweichung der Netzzeiten der synchronisierten Gruppe.
51. Verfahren (400) gemäß Anspruch 50, das ferner folgende Schritte aufweist:
Tasten (535) durch die geordnete synchronisierte Gruppe;
Auswählen (540) eines ersten synchronisierten Server (20-30), der in ein vorbestimmtes Vielfaches der berechneten Standardabweichung fällt; und
Anwenden (545) der Netzzeit von dem ersten synchronisierten Server (20-30), um den Systemtakt auf dem Client zu synchronisieren.
52. Verfahren (400) gemäß Anspruch 48, das ferner folgenden Schritt aufweist: Mitteln (550) der Netzzeit von der nicht synchronisierten Gruppe.
53. Verfahren (400) gemäß Anspruch 52, das ferner folgenden Schritt aufweist: Berechnen (555) einer Standardabweichung der Netzzeiten der nicht synchronisierten Server (20-30).
54. Verfahren (400) gemäß Anspruch 53, das ferner folgende Schritte aufweist:
Tasten (560) durch die geordnete nicht synchronisierte Gruppe;
Auswählen (565) eines ersten nicht synchronisierten Server (20-30), der in ein vorbestimmtes Vielfaches der berechneten Standardabweichung fällt; und
Anwenden (570) der Netzzeit von dem ersten nicht synchronisierten Server (20-30), um den Systemtakt auf dem Client zu synchronisieren.
55. Computerlesbares Speicherungsmedium, auf dem ein oder mehrere Computerprogramme eingebettet sind, wobei das eine oder die mehreren Computerprogramme ein Verfahren implementieren, wobei das eine oder die mehreren Computerprogramme einen Satz von Anweisungen aufweisen, um folgende Schritte auszuführen:
Bestimmen (450) eines ersten verfügbaren Server (20-30) aus einem oder mehreren Servern (20-30) ansprechend auf ein Anforderungspaket; und
Anwenden (455, 475) einer Netzzeit von dem ersten verfügbaren Server (20-30).
56. Computerlesbares Speicherungsmedium gemäß Anspruch 55, bei dem das eine oder die mehreren Computerprogramme ferner einen Satz von Anweisungen aufweisen: wobei der Schritt des Anwendens (455, 475) der Netzzeit von dem ersten verfügbaren Server (20-30) ein Anwenden (545) der Netzzeit von dem ersten verfügbaren synchronisierten Server (20-30) aufweist.
57. Computerlesbares Speicherungsmedium gemäß Anspruch 55 oder 56, bei dem das eine oder die mehreren Computerprogramme ferner einen Satz von Anweisungen aufweisen, um folgende Schritte auszuführen:
Speichern (465) eines Datenpakets von einem ersten verfügbaren nicht synchronisierten Server (20-30) ansprechend darauf, daß keine Antwort von einem synchronisierten Server (20-30) erhalten wird; und
Anwenden (455, 475) der Netzzeit von dem gespeicherten Datenpaket ansprechend auf ein finales Datenpaket, das empfangen wird.
58. Computerlesbares Speicherungsmedium gemäß einem der Ansprüche 55 bis 57, bei dem das eine oder die mehreren Computerprogramme ferner einen Satz von Anweisungen aufweisen, um folgende Schritte auszuführen:
Empfangen (420, 435) einer Mehrzahl von Datenpaketen von einem oder mehreren Server (20-30)n;
Durchführen eines Tests (505) bezüglich eines synchronisierten Pakets von der Mehrzahl von Datenpaketen; und
Sortieren (505) der Mehrzahl von Datenpaketen basierend auf der Reihenfolge des Empfangs der Mehrzahl von Datenpaketen.
59. Computerlesbares Speicherungsmedium gemäß Anspruch 58, bei dem das eine oder die mehreren Computerprogramme ferner einen Satz von Anweisungen aufweisen, um folgende Schritte auszuführen:
Kategorisieren (505) des einen oder der mehreren Server (20-30) in eine synchronisierte Gruppe oder in eine nicht synchronisierte Gruppe;
Ordnen (505) der synchronisierten Gruppe und der nicht synchronisierten Gruppe;
Mitteln (525) der Netzzeiten von der synchronisierten Gruppe; und
Berechnen (530) einer Standardabweichung der Netzzeiten der synchronisierten Gruppe.
60. Computerlesbares Speicherungsmedium gemäß Anspruch 59, bei dem das eine oder die mehreren Computerprogramme einen Satz von Anweisungen aufweisen, um folgende Schritte auszuführen:
Tasten (535) durch die geordnete synchronisierte Gruppe;
Auswählen (540) eines ersten synchronisierten Server (20-30), der in ein vorbestimmtes Vielfaches der berechneten Standardabweichung fällt; und
Anwenden (455, 475) der Netzzeit von dem ersten synchronisierten Server (20-30), um den Systemtakt auf dem Client zu synchronisieren.
61. Computerlesbares Speicherungsmedium gemäß Anspruch 58, bei dem das eine oder die mehreren Computerprogramme ferner einen Satz von Anweisungen aufweisen, um folgende Schritte auszuführen:
Kategorisieren (505) des einen oder der mehreren Server (20-30) in eine synchronisierte Gruppe oder eine nicht synchronisierte Gruppe;
Ordnen (505) der synchronisierten Gruppe und der nicht synchronisierten Gruppe; und
Mitteln (550) der Netzzeit für die nicht synchronisierte Gruppe; und
Berechnen (555) einer Standardabweichung der Netzzeiten der nicht synchronisierten Server (20-30).
62. Computerlesbares Speicherungsmedium gemäß Anspruch 61, bei dem das eine oder die mehreren Computerprogramme ferner einen Satz von Anweisungen aufweisen, um folgende Schritte auszuführen:
Tasten (560) durch die geordnete nicht synchronisierte Gruppe;
Auswählen (565) eines ersten nicht synchronisierten Server (20-30), der in ein vorbestimmtes Vielfaches der berechneten Standardabweichung fällt; und
Anwenden (570) der Netzzeit von dem ersten nicht synchronisierten Server (20-30), um den Systemtakt auf dem Client zu synchronisieren.
DE10313874A 2002-04-19 2003-03-21 Bestimmung eines verfügbaren Servers Withdrawn DE10313874A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/125,507 US7185111B2 (en) 2002-04-19 2002-04-19 Available server determination

Publications (1)

Publication Number Publication Date
DE10313874A1 true DE10313874A1 (de) 2003-11-13

Family

ID=29214798

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10313874A Withdrawn DE10313874A1 (de) 2002-04-19 2003-03-21 Bestimmung eines verfügbaren Servers

Country Status (2)

Country Link
US (1) US7185111B2 (de)
DE (1) DE10313874A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10249296A1 (de) * 2002-10-22 2004-05-06 Jetter Ag Verfahren zur Synchronisation von Teilnehmern eines Netzwerkes
US7539777B1 (en) * 2002-10-25 2009-05-26 Cisco Technology, Inc. Method and system for network time protocol forwarding
EP1553713A1 (de) * 2004-01-09 2005-07-13 Thomson Multimedia Broadband Belgium Vorrichtung und Verfahren zur Zeitsynchronisierung und zugehörige Produkte
JP4537133B2 (ja) * 2004-07-09 2010-09-01 キヤノン株式会社 プリンタ及び制御方法及びプログラム並びに記憶媒体
US8180882B2 (en) * 2004-07-22 2012-05-15 Tyco Electronics Subsea Communications Llc Distributed messaging system and method for sharing network status data
US7899894B2 (en) 2006-08-30 2011-03-01 International Business Machines Corporation Coordinated timing network configuration parameter update procedure
US7689718B2 (en) 2007-01-31 2010-03-30 International Business Machines Corporation Channel subsystem server time protocol commands and system therefor
US9112626B2 (en) * 2007-01-31 2015-08-18 International Business Machines Corporation Employing configuration information to determine the role of a server in a coordinated timing network
US8738792B2 (en) * 2007-01-31 2014-05-27 International Business Machines Corporation Server time protocol messages and methods
US7925916B2 (en) 2008-04-10 2011-04-12 International Business Machines Corporation Failsafe recovery facility in a coordinated timing network
US8416811B2 (en) * 2008-04-10 2013-04-09 International Business Machines Corporation Coordinated timing network having servers of different capabilities
US7873862B2 (en) * 2008-10-21 2011-01-18 International Business Machines Corporation Maintaining a primary time server as the current time server in response to failure of time code receivers of the primary time server
US7991833B2 (en) * 2008-10-24 2011-08-02 Seiko Epson Corporation User interface for projection device remote control
CN102546135B (zh) * 2010-12-31 2016-08-03 富泰华工业(深圳)有限公司 主备服务器切换系统及方法
IN2015CH03249A (de) * 2015-06-27 2015-07-10 Wipro Ltd

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602992A (en) * 1993-11-29 1997-02-11 Intel Corporation System for synchronizing data stream transferred from server to client by initializing clock when first packet is received and comparing packet time information with clock
US5812749A (en) * 1996-12-27 1998-09-22 Mci Communication Corporation Method of and system for testing network time protocol client accuracy
US5968133A (en) * 1997-01-10 1999-10-19 Secure Computing Corporation Enhanced security network time synchronization device and method
US6094672A (en) * 1997-05-19 2000-07-25 Novell, Inc. Method and system for time synchronization management
US6351467B1 (en) * 1997-10-27 2002-02-26 Hughes Electronics Corporation System and method for multicasting multimedia content
US6327274B1 (en) * 1998-09-15 2001-12-04 Nokia Telecommunications, Inc. Method for estimating relative skew between clocks in packet networks
US6311283B1 (en) * 1998-09-17 2001-10-30 Apple Computer, Inc. Need based synchronization of computer system time clock to reduce loading on network server
US6711137B1 (en) * 1999-03-12 2004-03-23 International Business Machines Corporation System and method for analyzing and tuning a communications network
US6581110B1 (en) * 1999-12-07 2003-06-17 International Business Machines Corporation Method and system for reading and propagating authenticated time throughout a worldwide enterprise system
US7023816B2 (en) * 2000-12-13 2006-04-04 Safenet, Inc. Method and system for time synchronization
US7194556B2 (en) * 2001-03-30 2007-03-20 Intel Corporation Method and apparatus for high accuracy distributed time synchronization using processor tick counters

Also Published As

Publication number Publication date
US7185111B2 (en) 2007-02-27
US20030200338A1 (en) 2003-10-23

Similar Documents

Publication Publication Date Title
DE10313874A1 (de) Bestimmung eines verfügbaren Servers
DE112004002233B4 (de) Zeit- und Datensynchronisation zwischen Netzwerkeinrichtungen
DE102006032108B4 (de) System und Verfahren für eine Mehr-Ort-Testausführung
DE69909791T2 (de) Verteilte rechnerumgebung mit echt-zeit ablauffolgenlogik und zeit-deterministischer architektur
Shoch et al. The “worm” programs—early experience with a distributed computation
DE10105153B4 (de) System zur automatischen Konfiguration eines tragbaren Gerätes eines Nutzers, wie insbesondere eines tragbaren Computergerätes, Software-Produkt und Verfahren zur automatischen Konfiguration eines Computersystems eines Nutzers und Programmierbares Speichermedium
EP0765062B1 (de) Synchronisierung zwischen verschiedenen Computeranbieterumgebungen
DE112012004025B4 (de) Systeme und Verfahren, die randomisierte Taktfrequenzen verwenden, um systematische Zeitstempel-Granularitätsfehler in Netzwerk-Paketkommunikationen zu verringern
DE102012218528B4 (de) Verwendung von Push-Benachrichtigungen zur Verringerung offener Browser-Verbindungen
DE69937715T2 (de) Verbessertes Zwei-Phasen-Bindungsprotokoll
DE102005051980B4 (de) System und Verfahren zur Netzwerkübertragung eines Informationsverarbeitungssystem-Images
DE69837431T2 (de) Verfahren zur verfügungsstellung von zeitsynchronisierung in einem netzwerk
DE112011104955T5 (de) Master-Vorrichtung und Slave-Vorrichtung und Zeitsynchronisationsverfahren
DE112018007914T5 (de) Kommunikationsvorrichtung, kommunikationssystem, kommunikationsverfahren und kommunikationsprogramm
DE112017007691T5 (de) Kommunikationssystem, Master-Einrichtung und Slave-Einrichtung
Branco et al. Managing very large distributed data sets on a data grid
EP1198911A1 (de) Synchronisierungsverfahren und -system für taktquellen bei insbesondere paketvermittelnden kommunikationssystemen
DE112018007928B4 (de) Zeitsynchronisationssystem, Zeitmaster, Verwaltungsmaster und Zeitsynchronisationsverfahren
DE112012005046B4 (de) Koordinieren von Schreiboperationsabfolgen in einem Datenspeichersystem
DE112018008085B4 (de) Kommunikationssystem, Listenverbreitungsstation, Kommunikationsverfahren und Kommunikationsprogramm
DE112018007913B4 (de) Kommunikationsvorrichtung, kommunikationssystem, kommunikationsverfahren und kommunikationsprogramm
DE60301873T2 (de) Internes zeichengabeverfahren zur unterstützung der taktsynchronisation von über ein drahtloses lokales netzwerk verbundenen knoten
DE60038589T2 (de) Verfahren und Einrichtung zur Steuerung der Synchronisation zwischen zwei seriellen Kommunikationsbussen eines Netzes
EP1754128A1 (de) Dezentrale zeitintervallsynchronisation in verteilten netzwerken
DE102022117904A1 (de) System und verfahren zum konfigurieren mehrerer ptp-ports einer netzvorrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8130 Withdrawal