[go: up one dir, main page]

DE69122830T2 - Verteiltes Konfigurationsprofil für ein Rechnersystem - Google Patents

Verteiltes Konfigurationsprofil für ein Rechnersystem

Info

Publication number
DE69122830T2
DE69122830T2 DE69122830T DE69122830T DE69122830T2 DE 69122830 T2 DE69122830 T2 DE 69122830T2 DE 69122830 T DE69122830 T DE 69122830T DE 69122830 T DE69122830 T DE 69122830T DE 69122830 T2 DE69122830 T2 DE 69122830T2
Authority
DE
Germany
Prior art keywords
service
network
clients
name
service providers
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
DE69122830T
Other languages
English (en)
Other versions
DE69122830D1 (de
Inventor
W Lampson Butler
Steven P 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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Application granted granted Critical
Publication of DE69122830D1 publication Critical patent/DE69122830D1/de
Publication of DE69122830T2 publication Critical patent/DE69122830T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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
    • H04L61/4541Directories for service discovery
    • 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
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • 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/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • 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/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/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/133Protocols for remote procedure calls [RPC]
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

  • Die Erfindung bezieht sich auf verteilte Computersysteme, die Datenkommunikationsnetze verwenden, und insbesondere auf Verfahren zum Bereithalten von Konfigurationsinformationen für Clients in einem verteilten Berechnungssystem, die sich auf Netzdienste oder Fernprozeduraufrufe beziehen.
  • Im US-Patent 4,823,122, erteilt am 28. April 1989 an Digital Equipment Corporation, dem Anmelder dieser Erfindung, ist ein Kommunikationsnetz offenbart, das unter Verwendung einer Kommunikatonsverbindung lokale Computerarbeitsplätze mit fernen Diensteanbietern verbindet. Die lokalen Arbeitsplätze sind über Schnittstelleneinheiten an die Kommunikationsverbindungen gekoppelt, die die Netzprotokollfunktionen für die Arbeitsplätze handhaben. Eine der an den lokalen Einheiten erforderlichen Funktionen ist das Erhalten einer aktuellen Netzadresse für Dienste, die lokal nur durch ihren Dienstnamen bekannt sind. Um diese Übersetzung durchzuführen, werden von den Diensteanbietern periodisch Dienstanzeigen gesendet, wobei lokal aus diesen Anzeigen ein Diensteverzeichnis erzeugt wird. Wenn dann lokal eine Dienstanfrage erzeugt wird, wird das Diensteverzeichnis durchsucht, um die entsprechende Netzadresse des Anbieters dieses Dienstes zu finden. Wenn es für den gleichen Dienst mehrere Anbieter gibt, muß irgendeine Vorrichtung geschaffen werden, um für einen lokalen Requester den effektivsten Diensteanbieter auszuwählen und die Rechenlast in effizienter Weise auf die verschiedenen Anbieter zu verteilen.
  • In der EP-A-0 384 339 ist ein Verfahren zum Zuweisen von Betriebsmitteln innerhalb eines Computernetzes unter Verwendung eines Maklermechanismus offenbart. Dieser Maklermechanismus dient zum Überwachen einer Teilmenge aller verfügbaren Server, die den angeforderten Dienst liefern können, und zum Zuweisen auf der Grundlage einer Netzpolitik und der verfügbaren Betriebsmittel, um einem Diensterequester den Namen eines Anbieters vorzuschlagen.
  • In einem verteilten System sind häufig redundante Betriebsmittel vorhanden, um die Verfügbarkeit zu verbessern und die Rechenlast zu verteilen. Ein Problem, auf das ein Benutzer (d. h. ein Anwendungsprogrammierer) in einer solchen Umgebung trifft, ist das Auswählen eines bestimmten Betriebsmittels zur Verwendung. Der Benutzer würde eine Einrichtung bevorzugen, die ein Beispiel eines redundanten Betriebsmittels auswählt, das die Verfügbarkeit und die Rechenlastverteilung bewahrt, für die spezielle Umgebung noch optimiert werden kann und/oder an die Benutzervorgaben angepaßt werden kann. Wenn z. B. ein Fernprozeduraufrufdienst (das Betriebsmittel) verwendet wird, der eine Arbeitnehmeradressenliste liefert, kann der Fernprozeduraufrufbenutzer Betriebsmittel innerhalb desselben LAN mit verfügbarer Hochgeschwindigkeitskommunikation bevorzugt gegenuber den Betriebsmitteln auswählen, die nur über ein Weitverkehrsnetz verfügbar sind. Wenn jedoch die Betriebsmittel im lokalen LAN nicht verfügbar sind, könnte der Fernprozeduraufrufbenutzer die Fernbetriebsmittel verwenden, auf die nur über das Weitverkehrsnetz zugegriffen werden kann. Außerdem sind die Bezeichnungen lokal und entfernt relativ. Jeder Benutzer, möglicherweise an einem anderen Ort, kann verschiedene Ansichten darüber haben, was lokal ist und was entfernt ist. Daher muß es möglich sein, daß die Auswahl der Betriebsmittel an den Benutzer und/oder die lokalen Bedingungen des Benutzers angepaßt werden.
  • In einem System mit redundanten verteilten Betriebsmitteln ergibt sich anschließend die Aufgabe, eine Vorrichtung zu schaffen, die die kundenspezifische Auswahl von Betriebsmitteln in einer verteilten Umgebung unterstützt, während sie die Verfügbarkeit und die Rechenlastverteilung erhält.
  • Gemäß einer Ausführungsform der Erfindung kann ein verteiltes Berechnungssystem, das ein Datenkommunikationsnetz verwendet, mehrere Diensteanbieter für einen gegebenen Dienst oder Fernprozeduraufruf besitzen. Ein Client im Netz nimmt Bezug auf einen Namensdienst, um die Netzadresse eines dieser Diensteanbieter zu erhalten. Der Namensdienst enthält ein Konfigurationsprofil der Diensteanbieter, um das Problem der Auswahl eines der mehreren Diensteanbieter zu lösen, wenn eine Anfrage gestellt wird. Ein einzelnes Konfigurationsprofil ist eine nach Prioritäten sortierte Suchliste, die einen Dienstidentifizierer (z. B. eine Fernprozeduraufruf-Schnittstellenspezifikation) auf Diensteanbieternamen (z. B. Fernprozeduraufruf-Server) abbildet. Ein Konfigurationsprofil kann Namen für individuelle Diensteanbieter und/oder benannte Gruppen von Diensteanbietern und/oder andere Konfigurationsprofile enthalten. Konfigurationsprofile werden so gespeichert, daß über das verteilte System, z. B. im Namensdienst, auf diese zugegriffen werden kann. Konfigurationsprofile können miteinander verkettet werden, indem auf andere Konfigurationsprofile Bezug genommen wird, um eine Hierarchie von Konfigurationsprofilen zu schaffen.
  • Konfigurationsprofile beziehen sich auf mehrere verwandte Probleme in einem verteilten System. Dies geschieht ungeachtet der Tatsache, daß der zugrundeliegende Namensdienst häufig als einfach verschlüsselte Hierarchie strukturiert ist, wobei die Schlüssel nicht den Dienst wiedergeben. Sie schaffen eine Vorrichtung, um automatisch: (1) einen (ebenen) Namen eines Dienstes effizient auf einen Satz von Diensteanbietern abzubilden; (2) die Abbildung der Dienste auf die Diensteanbieter auf der Grundlage eines Benutzers, eines Systems, eines LAN, eines Orts, einer Organisation und dergleichen anzupassen; (3) einen hierarchischen Suchpfad dieser Abbildungen zu schaffen; (4) eine verbesserte Verfügbarkeit der Diensteanbieter zu unterstützen; (5) die Rechenlast unter den Diensteanbietern aufzuteilen; (6) der Auswahl eines Anbieters innerhalb eines Profils Priorität zuzuweisen; (7) gleiche Prioritäten innerhalb eines Profils zufällig auszuwählen; (8) die Profile derart zu speichern, daß sie über ein verteiltes System zugänglich sind; (9) die Konfigurationsverwaltung zu minimieren, die für die Systeme und die Benutzer erforderlich sind; und (10) die Verwendung wohlbekannter Namen zu minimieren. Diese Vorrichtungen unterstützen benutzerdefinierte oder ortsdefinierte Dienstnutzungstaktiken.
  • Die neuartigen Merkmale, die der Erfindung eigen sind, sind in den beigefügten Ansprüchen ausgeführt. Die Erfindung selbst sowie weitere Merkmale und Vorteile derselben werden jedoch am besten deutlich anhand der folgenden Beschreibung spezieller Ausführungsformen, die auf die beigefügten Zeichnungen Bezug nimmt, es zeigen:
  • Fig. 1 ein elektrisches Blockschaltbild eines verteilten Berechnungssystems, das ein Datenkommunikationsnetz verwendet und die Merkmale der Erfindung nutzt;
  • Fig. 2 eine schematische Darstellung von Prozessoren, z. B. desjenigen in Fig. 1, während der Ausführung eines Fernprozeduraufrufs;
  • Fig. 3 eine logische Darstellung der Operation eines Fernprozeduraufrufs, wie in Fig. 3 gezeigt;
  • Fig. 4 eine logische Darstellung eines Namensdienstes im System der Fig. 1 gemäß der Erfindung;
  • Fig. 5 eine logische Darstellung eines Konfigurationsprofils gemäß der Erfindung, das mit dem Namensdienst der Fig. 4 verwendet wird;
  • Fig. 6 eine logische Darstellung eines Dienstgruppeneintrags im Namensdienst der Fig. 4; und
  • Fig. 7 und 7a logische Darstellungen eines Diensteintrags im Namensdienst der Fig. 4.
  • In Fig. 1 ist ein Computernetz oder ein verteiltes System gezeigt, das Merkmale der Erfindung nutzen kann. Es wird ein Netz verwendet, das eine Kommunikationsverbindung 10 enthält, um einen Kommunikationspfad zwischen mehreren Prozessoren oder Computern zu schaffen, die die Clients 11 enthalten, die jeweils ein einzelner Host-Computer sein können oder zu mehreren Arbeitsplätzen oder Benutzerknoten 12 verbunden sein können. Die Kommunikationsverbindung kann eine einzelne lokale Schleife oder ein Bus sein (d. h. ein lokales Netz) oder kann mittels Brücken 13 mit entfernteren Netzen 10a gekoppelt sein und/oder über eine Mikrowellen- oder Satellitenverbindung 14 mit anderen entfernten Netzen 10b gekoppelt sein (d. h. mit einem Weitverkehrsnetz). Es wird angenommen, das jeder Client 11 (und die Arbeitsplätze 12) jeweils ein Prozessor ist, der seinen eigenen Code in seinem eigenen lokalen Speicher ausführt, wobei jeder Prozessor unter Verwendung eines Kommunikationsprotokolls, das herkömmlicherweise Nachrichtenpakete verwendet, über den Pfad 10 mit jedem anderen kommunizieren kann. Auf diesem Netz 10, 10a und 10b sind über die Server 15, die mit Server-1, Server-2, Server-3 usw. bezeichnet sind, Dienste zugänglich. Jeder Server 15 bietet einen oder mehrere Dienste 16 auf dem Netz an, wobei diese Dienste mit Dienst-A, Dienst-B, Dienst-C usw. bezeichnet sind. Diese Dienste können Hardwareeinrichtungen wie z. B. Hochgeschwindigkeitsdrucker, Sicherungsplattenlaufwerke oder dergleichen sein oder können Softwareeinrichtungen wie z. B. Namensdienste, globale Datenbankwerkzeuge oder dergleichen sein. Wie im folgenden diskutiert wird, können die Dienste 16 Fernprozeduraufrufe sein. Es ist zu beachten, daß die Dienste 16 auf dem Netz dupliziert werden können. Der Dienst-A ist sowohl auf Server-1 und Server-3 auf dem lokalen Netz 10, auf Server-5 auf dem Fernnetz 10a als auch auf Server-6 auf dem Fernnetz 10b verfügbar. Ein Client 11 hat von irgendeinem der Server 15, der den Dienst-A zur Verfügung stellt, auf den Dienst-A Zugriff, jedoch kann es effizienter sein, den lokalen Server-1 oder Server-2 zu verwenden, falls diese nicht beschäftigt sind, da die Antwortzeit kürzer ist und die Kommunikationseinrichtung weniger belastet wird.
  • Die Clients 11 oder Benutzerarbeitsplätze 12 können Personalcomputer, Workstations, mit Fembenutzern verbundene Modems, Videoanzeigearbeitsplätze, Verkaufsarbeitsplätze, Bankautomaten oder irgendwelche Abwandlungen solcher Vorrichtungen sein. Die Verbindungen 10, 10a oder 10b zwischen den Clients 11 und den Servern 15 können lokale Netze sein, die Technologien wie z. B. Ethernet, Token-Ring, FDDI, StarLan, oder dergleichen sind, oder können in einigen Fällen lediglich RS232- oder Rückseitenplatinen-Verbindungen sein. Der physikalische Aufbau der Kommunikationsverbindungen 10, 10a oder 10b kann sein, wie z. B. ein Koaxialkabel, ein verdrilltes Adernpaar, Glasfasern oder dergleichen. Das verwendete Kommunikationsverfahren und Kommunikationsprotokoll können ebenfalls unterschiedlichen Typs sein, wie z. B. TECnet, OSI oder TCP/IP (d. h. Protokolldienste auf höherer Ebene). Während diese gemeinsam verwendeten Kommunikationsverfahren auf einer bitseriellen Übertragung über die Verbindung 10 beruhen, sind die Merkmale der Erfindung auch auf Kommunikationsverfahren anwendbar, die eine parallele Datenübertragung über die Verbindung verwenden. Selbstverständlich kann die Kommunikationsverbindung 10 Massenübertragungseinrichtungen (Hauptleitungen) enthalten, die Multiplexing verwenden, wie z. B. T1-Schaltungen oder dergleichen. Eine Hauptübertragungseinrichtung kann auch einer der Dienste sein, die durch die Dienste 16 dargestellt sind. Das in Fig. 1 dargestellte Kommunikationsnetz kann in Abhängigkeit von der Installation hunderttausende Clients, Benutzerarbeitsplätze und Server bedienen. Da das Netz 10 der Fig. 1 über Brücken und/oder drahtlose Verbindungen (entweder durch die Dienste 16 oder auf andere Weise, d. h. für das Protokoll transparent, dargestellt) mit anderen solchen Netzen 10a und 10b verbunden sein kann, können die Anzahl der Benutzer und die Anzahl der Diensteanbieter sehr groß sein.
  • In einer bevorzugten Ausführungsform der Erfindung können alle Prozessoren 11 und 12 sowie die Server 15 Fernprozeduraufrufe an die anderen Prozessoren durchführen, wobei die Dienste 16 selbst Fernprozeduren sein können, die von anderen Prozessoren am Netz aufgerufen werden können; alternativ können Fernprozeduraufrufe verwendet werden, die auf den Servern 15 ausgeführt werden, um auf die Dienste 16 zuzugreifen (sowie für andere Zwecke). Ein Fernprozeduraufruf (RPC) ist ein Prozeduraufrufmechanismus, der erweitert ist, um eine Übertragung von Anweisungen und/oder Daten über Kommunikationsnetze wie z. B. das Netz 10 der Fig. 1 zu bieten. Wenn wie in Fig. 2 gezeigt ein Prozeß A (oder ein Teil innerhalb eines Prozesses) im Prozessor 11a ausgeführt wird, kann er einen lokalen Aufruf der Prozedur B im Adreßraum des Prozessors 11a erzeugen oder einen Fernaufruf einer Prozedur C im Adreßraum des Prozessors 15a über die RPC-Einrichtung 17 und das Netz 10 unter Verwendung der Kommunikationsschicht 18 erzeugen. Die Ausführung des Prozesses A wird angehalten, wenn der Fernaufruf erzeugt wird, woraufhin die Prozedur C ausgeführt wird, die Daten zum Prozeß A zurückgibt, dessen Ausführung dann fortgesetzt wird. Es ist zu beachten, daß für Fernprozeduraufrufe kein gemeinsamer Speicher vorhanden ist; die Prozessoren liegen gewöhnlich in zwei physikalisch getrennten Computern vor. Daher müssen die hin- und zurückgeleiteten Parameter aktuelle Werte anstelle von Zeigern sein, d. h. die Daten müssen von Maschine zu Maschine kopiert werden. Gewöhnlich ist der RPC-Mechanismus für den Benutzer (d. h. für den Ersteller des Quellcodes für ein Anwendungsprogramm) transparent; die Struktur des Aufrufs ist (vom Standpunkt des Prozesses A) die gleiche, ohne Rücksicht darauf, ob der Aufruf lokal oder entfernt ist. Wenn der Aufruf momentan ausgeführt wird, muß das System jedoch eine Adresse der Fernprozedur C einführen, so daß von der Kommunikationsschicht Nachrichtenpakete erstellt werden können, um sie über das Netz 10 zu senden. Das Bereitstellen dieser Adresse wird "Verbinden" genannt.
  • Wie in Fig. 3 gezeigt, basiert eine Programmstruktur für Fernprozeduraufrufe auf dem Konzept von Stumpfen. Wenn ein Fernaufruf erzeugt wird, sind fünf Programmteile beteiligt: das Benutzerprogramm A (wie in Fig. 2 gezeigt), der Benutzerstumpf A sowie eine Instanz der RPC- Laufzeit 17, die in der aufrufenden Maschine 11a ausgeführt werden. Die Serverprozedur C, der Server-Stumpf C und eine weitere Instanz der RPC-Laufzeit 17 werden in der aufgerufenen Maschine 15a ausgeführt. Wenn das Benutzerprogramm A einen Fernprozeduraufruf erzeugen will, erzeugt es einen lokalen Aufruf, der eine entsprechende Prozedur im Benutzerstumpf A verwendet. Der Benutzerstumpf ist für die Plazierung einer Spezifikation der Zielprozedur und der Argumente in einem oder mehreren Paketen verantwortlich und veranlaßt die RPC-Laufzeit 17, diese zuverlässig über das Netz 10 zur aufgerufenen Maschine 15a zu senden. Nach dem Empfangen dieser Pakete leitet die RPC-Laufzeit 17 in der aufgerufenen Maschine 15a diese an den Server-Stumpf C weiter, der diese auspackt und einen lokalen Aufruf erzeugt, um die entsprechende Prozedur in der Serverprozedur C zu aktivieren. Inzwischen wird der aufrufende Prozeß A in der aufrufenden Maschine angehalten, um auf ein Ergebnispaket zu warten. Wenn der Aufruf in der Serverprozedur C beendet ist, wird zum Server-Stumpf C zurückgekehrt, wobei die Ergebnisse über den Benutzerstumpf A , der diese auspackt, zum angehaltenen Prozeß A in der aufrufenden Maschine 11a zurückgeführt werden. Das RPC-Laufzeitprogramm 17 ist für die Rückübertragungen, Bestätigungen, die Paketleitung und die Entschlüsselung entweder direkt oder in Kombination mit Diensten der unteren Ebene, die im Netz angeboten werden, verantwortlich. Abgesehen von Effekten der Zwischenmaschinenverbindung findet der Aufruf unmittelbar dann statt, wenn der Benutzer die Prozedur im Server direkt verwendet; wobei das Programm immer noch funktioniert, wenn der Benutzercode A und der Server-Code C in eine einzige Maschine gebracht werden und ohne die Stümpfe A und C direkt miteinander verbunden werden. Das RPC-Laufzeitprogramm wird von Birrell u. a. in "Implementing Remote Procedure Calls", ACM Transactions on Computersystems, Februar 1984, S. 39-50, beschrieben. Die Femwirkungen sind in einer Schnittstellenerläuterung, die notwendigerweise ein Satz der (abstrakten) Prozedurdefinitionen des Ferndienstes oder des Programms sind, kombiniert mit anderen relevanten Spezifikationsinformationen definiert. Sie definiert die Fernschnittstelle zwischen dem Benutzer und dem Anbieter des Ferndienstes; die Schnittstellenerläuterung sollte in einer Schnittstellenspezifikationssprache ausgedrückt sein, die heterogene Implementierungen der Programme erlaubt, die die erläuterte Schnittstelle schaffen und verwenden. Der Programmierer des Benutzercodes und des Server-Codes muß sich nicht mit der Erzeugung der Stumpfe oder mit den Kommunikationen zum Einpacken und Auspacken befassen, sondern muß lediglich die Spezifizierung von Argumenten oder Ergebnissen vermeiden, die bei Fehlen von gemeinsam genutzten Adreßraum inkompatibel sind. Der Programmierer muß ferner Maßnahmen ergreifen, um die Zwischenmaschinenverbindung zu bewerkstelligen und das Auftreten eines Netzausfalls oder eines Sever-Ausfalls zu lösen.
  • Es sind zwei Aspekte des Verbindens zu berücksichtigen. Erstens muß der Client oder die aufrufende Maschine 11a spezifizieren, mit welchem Dienst sie verbunden werden soll, wobei dies eine Frage der Namensgebung ist. Zweitens muß der Client die Maschinenadresse einer bestimmten aufgerufenen Maschine oder eines Servers bestimmen, was eine Frage des Orts ist, und für diese aufgerufene Maschine die zu verwendende Prozedur spezifizieren. Die Verbindungsoperation dient zum Verbinden eines Importeurs einer Schnittstelle mit einem Exporteur einer Schnittstelle; nach dem Verbinden können die vom Importeur erzeugten Aufrufe Prozeduren aktivieren, die vom entfernten Exporteur implementiert werden.
  • Das Kommunikationsnetz 10 und die Kommunikationsschichten 18, die in den Fig. 1 und 2 dargestellt sind, können in einer Ausführungsform im allgemeinen dem Typ entsprechen, der im obenerwähnten US-Patent 4,823,122 offenbart ist, wobei dieses Netz ein Lokalbereichsprotokoll ausführt. Das in diesem Patent beschriebene Kommunikationsprotokoll kann virtuelle Schaltungen verwenden, um einen Zweiwegepfad zwischen einem bestimmten Server-Client und einem bestimmten Knoten oder Server 15 zu definieren. Ein Merkmal des im US-Patent 4,823,122 beschriebenen Protokolls ist die Verwendung von Anzeigenachrichten, die von den Diensteanbietern periodisch gesendet werden, um allen Clients anzuzeigen, welche Dienste auf dem Netz verfügbar sind. Zu diesem Zweck wird von jedem Diensteanbieter periodisch eine Diensteanzeigenachricht gesendet, mit der er sich selbst (durch die Netzadresse) und den Dienst oder die Dienste identifiziert, die an diesem Knoten angeboten werden. Die Dienstanzeigenachricht enthält Informationen wie z. B. die Identifikation des Sendeknotens (z. B. einen der Server 15), ein Typfeld, das diese Nachricht als Diensteanzeigenachricht identifiziert, sowie ein Mehrfachadreßfeld, das allen Knoten ermöglicht, die Nachricht zu empfangen, falls gewünscht. Im Körper der Anzeigenachricht sind alle an diesem Knoten zur Verfügung gestellten Dienste identifiziert. Das in diesem Patent beschriebene Verfahren belastet jedoch die Kommunikationsverbindung und erzeugt einen Überhang, da jeder Client-Knoten die Diensteanbieter verfolgen muß, insbesondere in Weitverkehrsnetzen mit einer großen Anzahl von Stationen.
  • Um die aktuellen Netzadressen der Einrichtungen am Netz 10 zur Verfügung zu stellen, wird als einer der Dienste 16 auf einem Netz der Fig. 1 ein Namensdienst 20 geschaffen, der über einen Server 15 für alle Benutzer zugänglich ist. Die Netzadresse des Namens-Servers 20 wird auf Anweisung oder beim Starten einem Benutzer 11, 12 oder 15 immer zugänglich gemacht, so daß dem Namens-Server 20 Auskunft erteilt werden kann, um für irgendeinen Dienst oder eine Prozedur oder eine Funktion, für die der Benutzer einen Namen, ein Pseudonym oder ein generischen Namen besitzt, eine Netzadresse zu erhalten. Eine primitive Art der Verwendung des Namensdienstes 20 wäre, daß dieser wie oben beschrieben Diensteanzeigen sammelt, statt diese Belastung den lokalen Clients 11 aufzuerlegen. Eine andere Möglichkeit ist, daß die Diensteanbieter ihre Fähigkeiten exportieren, d. h. einen Schnittstellenidentifizierer exportieren, wie im folgenden beschrieben ist. In jedem Fall ist der Namensdienst eine gemeinsam genutzte Einrichtung auf Kommunikationsnetzen und dient als Datenbank, die aktuelle Netzadressen für Dienste (oder andere bezeichnete Elemente) auf dem Netz sammelt und auf Anfragen antwortet, indem er in seiner Datenbank nach Daten sucht und die gefundenen Informationen zurückgibt.
  • Im Netz der Fig. 1, in dem mehrere Beispiele verschiedener Dienste wie z. B. der Dienst-A an verschiedenen physikalischen Orten verfügbar sein können, muß der Namensdienst 20 oder RPC-Client eine bestimmte Vorrichtung besitzen, um das eine oder andere dieser Beispiele auszuwählen, wenn eine Anfrage gestellt wird. Wenn z. B. eine Anwendung verteilt ist, werden Kopien des Servers (Dienste 16) auf mehreren Systemen (Server 15) installiert, deren Orte den Clients 11 unbekannt sind. Um einen Dienst zu nutzen, muß ein Client 11 einen kompatiblen Server 15 finden, d. h. einen Server, der eine gegebene RPC-Schnittstelle und irgendein Betriebsmittel wie z. B. eine Datenbank anbietet, die der Client 11 anfordert. Die Dienste 16 verwenden (über ihre Server 15) den Namensdienst 20, um sich selbst den Clients 11 anzubieten, wobei dieser Namensdienst ein Informationsdepot der Berechnungsbetriebsmittel ist. Wie in Fig. 4 gezeigt, enthält der Namensdienst 20 eine netzweite Datenbank 21, als Namensraum bezeichnet, der Informationen für Anwendungen und für jede verteilte Berechnungsumgebung speichert. Es ist zu beachten, daß mehr als eine verteilte Berechnungsumgebung vorhanden sein kann und somit auf einem Netz, wie z. B. demjenigen der Fig. 1, zu einem gegebenen Zeitpunkt mehr als ein Namensdienst und Namensraum 21 vorhanden sein können, wobei hier jedoch nur einer behandelt wird; ferner kann die Namensdienstdatenbank partitioniert oder repliziert sein - sie muß nicht auf einem Server angeordnet sein. Um Informationen im Namensraum 21 zu finden, muß ein Client 11 auf den Namensdienst 20 zugreifen, der den Namensraum 21 enthält. Die Informationen über einen Dienst 16 und dessen Anwendungen werden mit einer Operation, die vom Systemmanager verwendet wird, von einem Anwendungsprogramm oder von dem Server, der die Informationen exportiert, in einem Server-Eintrag 22 im Namensraum 21 plaziert. Diese Informationen enthalten den Ort (Netzadresse) und die RPC- Schnittstellen sowie die Betriebsmittel, die angeboten werden. Der Namens-Server 20 behandelt Anfragen von Clients 11 (über Nachrichten auf der Verbindung 10 empfangen) für Informationen und gibt (über Nachrichten) die Informationen über einen Dienst 16 zurück, der die Bedürfnisse des Clients zufriedenstellt, wenn ein solcher Eintrag 22 vorhanden ist.
  • Gemäß der Erfindung kann ein Eintrag, der vom Namensdienst 20 für einen Client 11 (oder eine Gruppe von Clients) erhalten wird, um eine Teilmenge der für diesen Client verfügbaren Dienste 16 aufzulisten, ein "Konfigurationsprofil" sein, wie es in Fig. 5 gezeigt ist. Ein Konfigurationsprofil 23 ist ein Dateneintrag im Namensraum 21 in Form einer nach Prioritäten sortierten Suchliste, die nach Diensten verschlüsselt ist, so daß es Informationen für mehrere Dienste 16 enthalten kann. Jeder Eintrag 23a, 23b usw. in einem Konfigurationsprofil 23 stellt einen Dienst 16 dar und kann Server-Einträge 22, Dienstgruppeneinträge 24 oder andere Konfigurationsprofileinträge 25 enthalten (wie im folgenden beschrieben).
  • Wenn auf einem Netz mehr als ein Beispiel eines Dienstes verfügbar ist, kann der Namensdienst 20 von einem Anwendungsmanager erstellt werden, um einen Dienstgruppeneintrag 24 zu definieren, wie in den Fig. 5 und 6 gezeigt ist. Eine Dienstgruppe enthält die Identitäten eines beliebigen Satzes von Servern 15, die einen Dienst 16 anbieten; der Anwendungsmanager entscheidet, daß dieser Satz als eine Gruppe behandelt werden soll. Außerdem kann ein Dienstgruppeneintrag 24 die Identität eines weiteren Dienstgruppeneintrags 24a enthalten. Das Definieren einer oder mehrerer Dienstgruppen für einen Dienst befreit die Clients 11 von der Abhängigkeit von irgendeinem Server 15. Wenn ein Client 11 eine RPC-Schnittstelle anfordert, die einer Dienstgruppe entspricht, sucht der Namensdienst 20 (im Dienstgruppeneintrag 24) Informationen über alternative Server, wählt einen kompatiblen Server 15 entsprechend einem vorgegebenen Auswahlalgorithmus aus und gibt die Verbindung (Netzadresse) an den Client 11 zurück. Der Algorithmus dient zum Verteilen der Rechenlast auf mehrere potentielle Server.
  • Der Namensdienst 20 unterstützt Konfigurationsprofile 23 gemäß der Erfindung. Wie in Fig. 5 gezeigt, bietet ein Konfigurationsprofil 22 einen Mechanismus zum Führen von Suchoperationen in einem Namensdienst. Dieses Suchen in einem Konfigurationsprofil wird anhand des Dienstes (d. h. der RPC-Schnittstellen-ID) statt anhand des Namens des Servers oder des Objekts angefordert. Ein Konfigurationsprofil 22 enthält Informationen über die Namen der Server 15, die eine gegebene RPC-Schnittstelle und zugeordnete Betriebsmittel anbieten. In einem Konfigurationsprofil 23 entspricht die ID einer RPC-Schnittstelle einer Liste von Server-Einträgen 22, Dienstgruppeneinträgen 24 und/oder anderen Konfigurationsprofileinträgen 25. Die Dienstgruppeneinträge 24 enthalten ihrerseits Server- Einträge für Dienstgruppen, wie oben beschrieben worden ist, wobei die Konfigurationsprofileinträge Server-Einträge, Dienstgruppeneinträge und/oder andere Konfigurationsprofileinträge enthalten.
  • Ein Namensraum-Konfigurationsprofileintrag 23 im Namensdienst 20 kann daher einem von drei Typen entsprechen (oder einer Zusammensetzung dieser drei Typen), wie z. B.: (1) einem Server-Eintrag 22, der einem einzelnen Beispiel eines Servers 15 entspricht, der in seinem eigenen Adreßraum läuft - der als Teil eines Startens des Servers einen Server-Eintrag 22 in einem Namensdienst erzeugt oder überprüft, in diesem Eintrag die ID und die Versionen aller Schnittstellen, die er anbietet, mit wenigstens einer Verbindung für die Schnittstelle plaziert, wobei ein Server-Eintrag 23 optional auch die Objekt-ID irgendeines Betriebsmittels enthalten kann, auf das der Server zugreifen kann; (2) einem Dienstgruppeneintrag 24, der einen Satz von Servern identifiziert; (3) einem Konfigurationsprofileintrag, der Server, Dienstgruppen und/oder andere Konfigurationsprofile für eine Schnittstelle identifiziert. Wenn alle Typen von Einträgen verfügbar sind, sucht ein Client 11, der eine Dienstschnittstelle importiert, nach Verbindungen, indem er die Einträge in der folgenden Reihenfolge verarbeitet: (1) Server-Einträge, (2) Dienstgruppen und (3) Konfigurationsprofile. Obwohl diese Verarbeitungsreihenfolge bevorzugt wird, kann eine andere Reihenfolge gewählt werden.
  • Ein Objekt im Namensraum 21 kann viele Attribute enthalten, wovon einige von den RPC-Diensten und einige von anderen Anwendungen erzeugt werden. Während ein Attribut ein Objekt als Server-Eintrag qualifiziert kann somit ein weiteres das gleiche Objekt als Dienstgruppeneintrag, als Konfigurationsprofil eintrag oder irgendeinen anderen Nicht-RPC-Eintrag qualifizieren. Ein Element 22 im Namensraum 21 besitzt somit wenigstens ein Attributfeld zum Qualifizieren des Objekts. Eines dieser Attributfelder kann ein "Prioritäts"-Attribut sein, so daß dann, wenn die Informationen zum Client zurückgegeben werden, die Einträge anhand der Priorität ausgewählt werden können. Wenn z. B. mehrere Server mit einer Priorität 1 bezeichnet sind, wird versucht, diese zuerst (in Pseudozufallsreihenfolge oder vielleicht einer bestimmten deterministischen Reihenfolge) zu verwenden, wobei dann, wenn keiner von diesen die Anforderungen für die Lieferung des Dienstes erfüllt, versucht wird, diejenigen zu verwenden, die ein Attribut Priorität 2 besitzen usw. Die Prioritätsattribute werden auf herkömmliche Weise vom Manager hinzugefügt oder modifiziert, obwohl dem Client Zugriff gewährt werden kann, um sein eigenes Konfigurationsprofil mit ausgewählten Prioritätsattributen zu erzeugen.
  • Ein Server-Eintrag 22 ist in den Fig. 7 und 7A genauer erläutert. Ein Server-Eintrag kann lediglich eine Schnittstellen-ID und deren Verbindung sein, wie in Fig. 7 gezeigt, oder kann mehrere Schnittstellen-IDs und Verbindungen enthalten, wie in Fig. 7a gezeigt ist. Der Namensdienst 20 ermöglicht einer Anwendung, jeden Namensraumeintrag 22 zu erzeugen und anhand des Namens darauf Bezug zu nehmen. Für jede RPC-Schnittstelle, die von einem RPC-Server 15 exportiert wird, enthält ein vom Namensdienst 20 gehaltener Server-Eintrag 22 (1) eine oder mehrere Schnittstellen-IDs und (2) eine oder mehrere Verbindungen zum Server 15, wobei eine Verbindung eine Netzadresse ist. Ein einzelner Eintrag 22 kann mehrere IDs und Versionen enthalten, die jeweils mit ihrem eigenen Satz von Verbindungen versehen sind, wobei zusätzlich ein Server-Eintrag optional einen Satz von RPC-Objekt-IDs enthalten kann, die jeweils einem bestimmten Betriebsmittel zugeordnet sind, das vom Server 15 angeboten wird, wie in Fig. 7a gezeigt ist. Wenn ein Client 11 irgendeine vom Server angebotene RPC-Schnittstelle importiert, kann er irgendeine der Objekt-IDs in einem Server-Eintrag anfordern. Um eine RPC-Schnittstelle zu importieren spezifiziert ein Client einen Namensdiensteintrag (oder eine Gruppe, eine Dienstgruppe oder eine Schnittstelle).
  • Die Namensdienstoperationen, die in Verbindung mit den Konfigurationsprofilen der Erfindung verwendet werden, sind: (1) Exportieren, (2) Verwalten von Dienstgruppen und Konfigurationsprofilen, (3) Importieren und (4) Deexportieren.
  • Das Exportieren ist eine Operation, mit der ein Server 15 Informationen über eine Schnittstelle in einem bezeichneten Namensraum 21 plaziert, um einen Dienst 16 zur Verwendung durch irgendeine auf einem Client 11 laufende Anwendung öffentlich anzuzeigen. Optional kann der Server die Objekt-IDs der von diesem Dienst angebotenen Betriebsmittel spezifizieren. Das Deexportieren ist eine Operation, mit der ein Server 15 eine oder mehrere Verbindungen (oder Betriebsmittel) aus einem Server-Eintrag 22 entfernt.
  • Beim Verwalten von Dienstgruppen und Konfigurationsprofilen können Clients 11, Server 15 und unabhängige Verwaltungsmodule (nicht gezeigt) den Namensdienst 20 verwenden, um auf einen Namensraum 22 zuzugreifen und Server- Einträge 22, Dienstgruppeneinträge 24 und Konfigurationsprofileinträge 23, die der Zugriffskontrolle unterliegen, zu erzeugen, zu aktualisieren, zu durchsuchen und zu entfernen.
  • Das Importieren ist eine Operation, bei der der Namensdienst eine Verbindung findet, die spezielle von einem Client spezifizierte Kriterien erfüllt, und diese Verbindung an den Client zurückgibt. Die Auswahl ist unter gewissen Umständen pseudozufällig und unter anderen deterministisch.
  • Ein bei der Verwaltung der Konfigurationsprofile erforderliches Merkmal ist ein Mechanismus zur Zyklusüberprüfung, was bedeutet, das dann, wenn ein Konfigurationsprofil hinzugefügt oder modifiziert wird, die Inhalte aller geschachtelten Konfigurationsprofile verglichen werden, um sicherzustellen, daß keines einen Eintrag enthält, der auf ein weiteres Konfigurationsprofil in derselben Kette Bezug nimmt, was eine endlose Schleife erzeugen würde.
  • Wie oben beschrieben worden ist, ist ein Konfigurationsprofil ein optionales Sollwertattribut irgendeines Eintrags im verteilten Namensraum 21. Jedes gesetzte Element spezifiziert einen Dienst oder ein Betriebsmittel 16 über eine Schnittstelle UUID (Universal Unic Identifyer) und eine Schnittstellenversion, die als Suchschlüssel innerhalb des Profils dienen. Ein Kommentarfeld wird verwendet, um den Namen der Schnittstelle zu speichern. Der Name der Dienstschnittstelle wird aus dem Namensattribut in einer RPC-Schnittstellendefinitionsdatei abgeleitet; dies ist ein lokaler Name, der möglicherweise unbestimmt ist. Jedes Element spezifiziert ferner den Namen eines Diensteanbieters und eine Priorität. Es wird erwartet, daß die Profile am häufigsten für RPC-Dienste verwendet werden, obwohl andere Dienste oder Betriebsmittel diese verwenden können, indem sie einfach ihre eigenen UUIDs erzeugen. Diensteanbieternamen beziehen sich entweder auf individuelle Server, Dienstgruppen oder andere Profile. Namensdiensteinträge für individuelle Server enthalten deren Protokolltürme (eine Datenstruktur, die die Adresse des Servers und die Hierarchie des verwendeten Netzprotokolis darstellt) einschließlich der Adressen; Einträge für Dienstgruppen enthalten eine Liste von "äquivalenten" Servern (die Namen von anderen Dienstgruppen enthalten können); Server, Dienstgruppen und Profile werden alle im Namensdienst als unterscheidbare Attribute in irgendeinem Namensdiensteintrag dargestellt. Der Prioritätswert spezifiziert eine Suchpriorität, die verwendet werden kann, um Elemente gleicher Priorität zusammenzufassen. Die Null-UUID-Schnittstelle wird als Vorgabeprofilzeiger verwendet.
  • Es gibt zwei Kategorien von Profiloperationen. Die ersten sind die primitiven Anwendungsprogramm-Schnittstellenoperationen, die verwendet werden, um die Profile zu manipulieren - die Attribute zu erzeugen, Elemente hinzuzufügen, Elemente zu löschen, Elemente zu lesen usw. Dies sind alles konzeptionell Managementoperationen, die von einer bekannten Stelle oder Gruppe oder einem Organisationsadministrator durchgeführt werden. Sie können jedoch in aktuellen RPC-Servern eingebettet sein.
  • Die zweite Kategorie der Profiloperationen sind die Anfrage-(Import- oder Such-)Operationen, die eine Profilanfrage lösen. Die Anfrageoperationen benötigen ein einzelnes Stück der Konfigurationsinformation (beim Starten durch einen Startcode zur Verfügung gestellt oder durch einen manuellen Eintrag zur Verfügung gestellt), der das Startprofil ist. Zuerst wird das Startprofil gelesen. Wenn es Elemente für den angeforderten Dienst enthält, werden die aufgeführten Elemente mit der höchsten Priorität zusammengefaßt. Dienstgruppen und andere Profile werden in einer bestimmten Reihenfolge bearbeitet. Aus der Gruppierung mit gleicher Priorität wird eine pseudozufällige Auswahl zurückgegeben. Wenn das Importieren oder eine andere Anfrageoperation befriedigt ist, ist die Anfrage erledigt. Falls nicht, werden die folgenden Auswahlelemente aus der Gruppe mit gleicher Priorität zurückgegeben. Dieser Prozeß wird fortgesetzt, bis entweder die Anfrage erfüllt ist oder alle Elemente mit gleicher Priorität ausgegeben sind. Trifft das letztere zu, wird die Teilmenge mit der nächstniedrigeren Priorität zusammengefaßt und die Auswahliteration fortgesetzt.
  • Wenn ein Profilelement auf ein weiteres Profil zeigt, wird dies in ähnlicher Weise bearbeitet. Die Profile können auf diese Weise hierarchisch verkettet werden. Wenn keines der Elemente der spezifizierten Schnittstelle die Anfrage befriedigt oder keine Elemente für die spezifizierte Schnittstelle vorhanden sind, wird die Anfrage über die folgenden Vorgabeschnittstellen-(Null-UUID)- Profilelemente fortgeführt. Die Anfrageoperation detektiert Zyklen; dies kann nicht einfach dann durchgeführt werden, wenn Profile erzeugt werden, da der ürsprüngliche Namensdienstzugriff auch verwendet werden könnte, um Profile zu manipulieren, jedoch deren Semantik nicht versteht und somit nicht die Zyklen prüfen kann.
  • Konfigurationsprofile sind für Server-Anwendungen transparent und sind für Client-Anwendungen transparent, die RPC-Import- oder Suchoperationen verwenden. Diese Client- Anwendungen bezeichnen einfach den gewünschten Dienst und die Operationen beginnen die Profilsuche mit dem Startprofil. Dieses Startprofil ist das einzige Informationsstück, das für den Zugriff auf mehrere Dienste erforderlich ist. Es kann explizit spezifiziert oder implizit aus einer Umgebungsvariablen oder einer ähnlichen Vorrichtung gelesen werden.
  • Wenn somit ein neues System ausgepackt und mit dem Netz verbunden wird, muß der Benutzer ein Startprofil in dieses System eingeben. Dies ist typischerweise das Profil des Benutzers oder des Systems und ist gleich Null, mit Ausnahme eines Vorgabeprofileintrags, der auf ein bereits definiertes Gruppen- oder Ortsprofil zeigt. Das Ortsprofil enthält normalerweise ein Vorgabeorganisationsprofil und dergleichen. Somit kann das neue System mit diesem einen Stück an Konfigurationsinformation über die gesamten definierte Suchbaumhierarchie von Profilen alle verfügbaren RPC-Dienste nutzen.
  • Da die Konfigurationsprofile im verteilten Namensdienst gespeichert sind, vereinfachen sie die Installation neuer Systeme erheblich. Ein verteilter Systemmanager kann ein neues System in der Umgebung installieren und diesem Zugriff auf alle Betriebsmittel gewähren, indem er dem neuen System für die Umgebung einfach den Namen seines Startprofils zuweist. Auf ähnliche Weise kann ein neuer Benutzer konfiguriert werden, indem ein neues Profil erzeugt wird, das gleich Null ist, mit Ausnahme einer Verbindung zu einem Vorgabeprofil, das dessen Stamm ist.

Claims (21)

1. Verfahren zum Betreiben eines verteilten Computersystems, mit den Schritten:
Anschließen einer Anzahl von Clients und einer Anzahl von Diensteanbietern an ein Kommunikationsnetz, wobei jeder Diensteanbieter einen Dienst liefert, der einen Dienstnamen besitzt, wobei jeder Client über das Netz an jeden Diensteanbieter Daten senden kann und von jedem Diensteanbieter Daten empfangen kann;
Bereithalten eines Namensdienstes als einen Dienst der Diensteanbieter, wobei der Namensdienst wenigstens ein Konfigurationsprofil enthält, das mit wenigstens einem der Clients in Beziehung steht, wobei jedes Konfigurationsprofil eine nach Priorität geordnete Suchliste enthält, die Dienstnamen auf Diensteanbieter abbildet;
Definieren eines ausgewählten der Konfigurationsprofile für wenigstens einen der Clients für die Verwendung durch diesen Client;
Tätigen einer Anforderung von einem der Clients an den Namensdienst unter Verwendung eines der Dienstnamen und Zurückschicken von Informationen von dem ausgewählten der Konfigurationsprofile zum Client, um aus der Suchliste einen der Diensteanbieter auszuwählen und dadurch für den einen Client eine Netzadresse des ausgewählten Diensteanbieters bereitzustellen;
Tätigen einer Anforderung dieses Dienstes von dem Client an den ausgewählten Diensteanbieter.
2. Verfahren nach Anspruch 1, in dem die Dienste Fernprozeduraufrufe enthalten und die Diensteanbieter für Fernprozeduraufrufe als Schnittstellenspezifikationen im Konfigurationsprofil abgebildet sind.
3. Verfahren nach Anspruch 1, in dem jedes der Konfigurationsprofile mehrere Einträge umfaßt, einschließlich:
optional eines oder mehrerer server-Einträge, wovon jeder eine Netzadresse eines der Diensteanbieter definiert;
optional einer oder mehrerer Dienstegruppen, wobei jede Dienstegruppe mehrere der Server-Einträge definiert; und
optional eines oder mehrerer anderer Konfigurationsprofile.
4. Verfahren nach Anspruch 1, in dem die Dienstnamen alphabetische Namen und numerische Namen enthalten.
5. Verfahren nach Anspruch 1, in dem das Kommunikationsnetz ein lokales Netz und ein Weitverkehrsnetz enthält und in dem wenigstens einige der Dienste im lokalen Netz und/oder im Weitverkehrsnetz dupliziert werden.
6. Verteiltes Computersystem, mit:
einem Kommunikationsnetz mit einer Anzahl von Clients und einer Anzahl von Diensteanbietern, die daran angeschlossen sind, wobei jeder Diensteanbieter einen oder mehrere Dienste liefert, wobei jeder Client über das Netz unter Verwendung einer eindeutigen Netzadresse Daten an jeden der Diensteanbieter senden und Daten von jedem der Diensteanbieter empfangen kann;
wobei einer der Diensteanbieter einen Namensdienst anbietet, wobei der Namensdienst ein Datenbankdienst ist, der Einträge für jeden der Diensteanbieter enthält und Abfragen von den Clients hinsichtlich der Identität der Diensteanbieter, die mit dem Dienstnamen bezeichnet sind, empfängt und Informationen, die die Diensteanbieter durch die Netzadresse identifizieren, zurückschickt;
wobei der Namensdienst in der Datenbank ein Konfigurationsprofil für wenigstens einen Client oder eine Gruppe von Clients enthält, wobei jedes Konfigurationsprofil mehrere Einträge umfaßt, einschließlich:
optional eines oder mehrerer Server-Einträge, wovon jeder eine Netzadresse eines der Diensteanbieter definiert;
optional einer oder mehrerer Dienstegruppen, wobei jede Dienstegruppe mehrere der Server-Einträge definiert; und
optional eines oder mehrerer anderer Konfigurationsprofile;
wobei jeder der Einträge jedes der Konfigurationsprofile des Namensdienstes Prioritätsinformationen enthält, um die Reihenfolge der Verwendung der Netzadressen durch den Client nach dem Empfang der Abfragen durch den Namensdienst zu bestimmen;
und eine Einrichtung zum Identifizieren eines oder mehrerer ausgewählter Konfigurationsprofile für den Client für die Bezugnahme nach dem Tätigen der Abfragen.
7. System nach Anspruch 6, in dem das Kommunikationsnetz ein lokales Netz und ein Weitverkehrsnetz enthält und in dem wenigstens einige der Dienste im lokalen Netz und/oder im Weitverkehrsnetz dupliziert werden.
8. System nach Anspruch 6, in dem die Dienste Fernprozeduraufrufe enthalten und die Server-Einträge Schnittstellennamen für die Fernprozeduraufrufe enthalten.
9. System nach Anspruch 6, in dem die Einträge jedes der Konfigurationsprofile eine nach Priorität geordnete Suchliste bilden.
10. Namensdiensteanbieter für die Verwendung in einem verteilten Computersystem, wobei das System ein Kommunikationsnetz mit einer Anzahl von Clients und einer Anzahl von Diensteanbietern, die daran angeschlossen sind, enthält, wobei jeder der Diensteanbieter einen Dienst liefert, der durch einen Dienstnamen identifiziert ist, wobei der Namensdiensteanbieter enthält:
einen Datenbankdienst, der Einträge für jeden der mehreren Dienste enthält, die von den Diensteanbietern geliefert werden;
eine Einrichtung zum Empfangen von Abfragen von den Clients hinsichtlich der Identität der Diensteanbieter, die mit dem Dienstnamen bezeichnet sind, sowie zum Zurückschicken von Informationen, die die Diensteanbieter durch die Netzadresse identifizieren;
wobei die Einrichtung ein in der Datenbank enthaltenes Konfigurationsprofil für einen der Clients oder für eine Gruppe der Clients enthält, wobei jedes Konfigurationsprofil mehrere Einträge umfaßt, einschließlich:
optional eines oder mehrerer Server-Einträge, wovon jeder eine Netzadresse eines der Diensteanbieter definiert;
optional einer oder mehrerer Dienstegruppen, wobei jede Dienstegruppe mehrere der Server-Einträge definiert; und
optional eines oder mehrerer anderer Konfigurationsprofile;
wobei jeder der Einträge jedes der Konfigurationsprofile des Namensdienstes Prioritätsinformationen enthält, um die Reihenfolge der Verwendung der Netzadressen durch den Client zu bestimmen;
und eine Einrichtung zum Identifizieren eines oder mehrerer ausgewählter der Konfigurationsprofile für den Client für die Bezugnahme beim Tätigen der Abfragen.
11. Namensdiensteanbieter nach Anspruch 10 in Kombination mit einem Kommunikationsnetz, das ein lokales Netz und ein Weitverkehrsnetz enthält, wobei wenigstens einige der Dienste im lokalen Netz und/oder im Weitverkehrsnetz dupliziert werden.
12. Namensdiensteanbieter nach Anspruch 10, in dem die Dienste Fernprozeduraufrufe enthalten und die Server- Einträge Schnittstellennamen für die Fernprozeduraufrufe enthalten.
13. Namensdiensteanbieter nach Anspruch 10, in dem die Einträge jedes der Konfigurationsprofile eine nach Priorität geordnete Suchliste bilden.
14. Verfahren zum Betreiben eines verteilten Computersystems, mit den Schritten:
Anschließen einer Anzahl von Clients und einer Anzahl von Diensteanbietern an ein Kommunikationsnetz, wobei jeder Diensteanbieter einen oder mehrere Dienste liefert, die durch einen Dienstnamen identifiziert sind, wobei jeder Client über das Netz unter Verwendung einer eindeutigen Netzadresse Daten an jeden der Diensteanbieter senden und Daten von jedem der Diensteanbieter empfangen kann;
Anbieten eines Namensdienstes als einen Dienst der Diensteanbieter und Speichern von Einträgen für jeden der Diensteanbieter im Namensdienst;
Empfangen von Abfragen von den Clients hinsichtlich der Identität der Diensteanbieter, die durch den Dienstnamen bezeichnet sind, durch den Namensdienst und als Antwort auf die Abfragen Zurückschicken von Informationen vom Namensdienst an die Clients, die die Diensteanbieter durch die Netzadresse identifizieren;
wobei der Namensdienst ein Konfigurationsprofil für wenigstens einen Client oder eine Gruppe von Clients bereitstellt, wobei jedes Konfigurationsprofil mehrere Einträge speichert, einschließlich:
optional eines oder mehrerer Server-Einträge, wovon jeder eine Netzadresse eines der Diensteanbieter definiert;
optional einer oder mehrerer Dienstegruppen, wobei jede Dienstegruppe mehrere der Server-Einträge definiert; und
optional eines oder mehrerer anderer Konfigurationsprofile;
und Speichern von Prioritätsinformationen in jedem der Einträge des Konfigurationsprofils des Namensdiensts, um die Reihenfolge der Verwendung der Netzadressen durch den Client zu bestimmen.
15. Verfahren nach Anspruch 14, in dem das Kommunikationsnetz ein lokales Netz und ein Weitverkehrsnetz umfaßt und in dem wenigstens einige der Dienste im lokalen Netz und/oder im Weitverkehrsnetz dupliziert werden.
16. Verfahren nach Anspruch 14, in dem die Dienste Fernprozeduraufrufe enthalten und die Server-Einträge Schnittstellennamen für die Fernprozeduraufrufe enthalten.
17. Verfahren nach Anspruch 14, in dem die Einträge des Konfigurationsprofils eine nach Priorität geordnete Suchliste bilden.
18. Kommunikationsnetz, mit:
a) einem Kommunikationsglied;
b) mehreren Clients, die an das Kommunikationsglied angeschlossen sind;
c) mehreren Diensteanbietern, die an das Kommunikationsnetz angeschlossen sind;
d) wobei jeder der Clients und jeder der Diensteanbieter Verarbeitungseinrichtungen enthält, die einen getrennten Befehlsstrom ausführen, und jeder der Clients und jeder der Diensteanbieter eine eindeutige Netzadresse im Netz besitzt;
e) wobei jeder der Clients und jeder der Diensteanbieter eine Einrichtung besitzt zum Tätigen von Fernprozeduraufrufen an die Diensteanbieter über das Kommunikationsglied bei Ausführung des Befehlsstroms;
f) wobei jeder der Clients und jeder der Diensteanbieter eine Einrichtung besitzt zum Senden und Empfangen von Nachrichten an andere bzw. von anderen Clients und Diensteanbietern über das Kommunikationsglied unter Verwendung der Netzadressen, wobei die Nachrichten beim Tätigen der Fernprozeduraufrufe verwendet werden;
g) wobei einer der Diensteanbieter ein Namensdienst ist, der in der Weise arbeitet, daß er eine die Netzadresse eines besonderen der Diensteanbieter enthaltende Nachricht als Antwort auf eine Nachricht von einem der Clients, die den Namen des Dienstes angibt, zurückschickt;
h) und einer Einrichtung, die im Namensdienst enthalten ist, um ein Konfigurationsprofil für wenigstens einen der Clients oder eine Gruppe von Clients bereitzustellen, wobei jedes Konfigurationsprofil eine nach Priorität geordnete Suchliste enthält, die Dienstnamen auf Diensteanbieter abbildet, wobei jedes Konfigurationsprofil enthält:
optional einen oder mehrere Server-Einträge, wovon jeder eine Netzadresse eines Diensteanbieters für einen gegebenen Dienstnamen definiert;
optional eine oder mehrere mit Namen versehene Dienstegruppen, wovon jede mehrere der Server- Einträge definiert; und
eines oder mehrere andere Kanfigurationsprofile;
i) einer Einrichtung zum Zuordnen der Konfigurationsprofile zu einem gegebenen Client;
j) und einer Einrichtung im Namensdienst, um bei Empfang von Abfragen von dem gegebenen Client durch den Namensdienst die Netzadressen zum gegebenen Client zurückzuschicken, um von dem Client entsprechend der Prioritätsreihenfolge der Liste verwendet zu werden.
19. Netz nach Anspruch 18, in dem der Diensteanbieter im Diensteeintrag als Fernprozeduraufruf-Schnittstellenspezifikation gekennzeichnet ist.
20. Netz nach Anspruch 18, in dem das Kommunikationsnetz ein lokales Netz und ein Weitverkehrsnetz umfaßt und in dem wenigstens einige der Dienste im lokalen Netz und/oder im Weitverkehrsnetz dupliziert werden.
21. Netz nach Anspruch 18, in dem die Dienstnamen alphabetische Namen und numerische Namen enthalten.
DE69122830T 1990-10-02 1991-09-30 Verteiltes Konfigurationsprofil für ein Rechnersystem Expired - Lifetime DE69122830T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US59178490A 1990-10-02 1990-10-02

Publications (2)

Publication Number Publication Date
DE69122830D1 DE69122830D1 (de) 1996-11-28
DE69122830T2 true DE69122830T2 (de) 1997-05-28

Family

ID=24367928

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69122830T Expired - Lifetime DE69122830T2 (de) 1990-10-02 1991-09-30 Verteiltes Konfigurationsprofil für ein Rechnersystem

Country Status (5)

Country Link
US (1) US5475819A (de)
EP (1) EP0479660B1 (de)
JP (1) JPH04230567A (de)
CA (1) CA2048306A1 (de)
DE (1) DE69122830T2 (de)

Families Citing this family (320)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0520709A3 (en) * 1991-06-28 1994-08-24 Digital Equipment Corp A method for providing a security facility for remote systems management
DE4131380A1 (de) * 1991-09-20 1993-03-25 Siemens Ag Verfahren zur adaption einer objektorientierten applikation
JPH0778776B2 (ja) * 1991-09-24 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション 分散資源部分のアクセス方法及びネットワーク
US5392398A (en) * 1992-04-20 1995-02-21 International Business Machines Corporation System and method for deallocation a first message independently of the deallocation of a second message in a bundle of messages
EP0918282B1 (de) * 1992-12-10 2003-03-05 Matsushita Electric Industrial Co., Ltd. Server und Klient
GB2273800A (en) * 1992-12-24 1994-06-29 Ibm Distributed data processing system
US6230211B1 (en) * 1993-01-19 2001-05-08 Canon Kabushiki Kaisha Container-based method for exchanging information between computer processes
EP0698238B1 (de) * 1993-05-05 1997-11-05 Apple Computer, Inc. Verfahren und vorrichtung zur kompatibilitätsverifikation zwischen komponenten in einem rechnersystem
CA2121612A1 (en) * 1993-05-21 1994-11-22 Chung-Hwa Herman Rao Methods and apparatus for making and using distributed applications
US6751796B1 (en) 1993-06-25 2004-06-15 Microsoft Corporation Integration of systems management services with an underlying system object model
CA2124720C (en) * 1993-06-25 2002-10-22 Michael R. C. Seaman Integration of systems management services with an underlying system object model
US6289390B1 (en) 1993-08-18 2001-09-11 Microsoft Corporation System and method for performing remote requests with an on-line service network
GB2281793A (en) * 1993-09-11 1995-03-15 Ibm A data processing system for providing user load levelling in a network
JP3599364B2 (ja) * 1993-12-15 2004-12-08 富士通株式会社 ネットワーク装置
US5717950A (en) * 1994-01-11 1998-02-10 Hitachi, Ltd. Input/output device information management system for multi-computer system
US5781743A (en) * 1994-02-18 1998-07-14 Hitachi, Ltd. System and method for distributed data processing using different server system specifications
AU696018B2 (en) * 1994-02-28 1998-08-27 British Telecommunications Public Limited Company Service provision in communications networks
US7143055B1 (en) 1996-10-25 2006-11-28 Ipf, Inc. Internet-based system for collecting, managing and serving consumer product-related information over the internet using trademarks and universal resource locators (urls) symbolically-linked by manufacturers of consumer products and/or their agents
US6961712B1 (en) 1996-10-25 2005-11-01 Ipf, Inc. Consumer product information request (CPIR) enabling servlets and web-based consumer product information catalogs employing the same
EP0713183A3 (de) * 1994-11-18 1996-10-02 Microsoft Corp Netzwerkunabhängige Schattendateien
US5850518A (en) * 1994-12-12 1998-12-15 Northrup; Charles J. Access-method-independent exchange
JPH0926970A (ja) * 1994-12-20 1997-01-28 Sun Microsyst Inc 情報を検索するコンピュータによる実行方法及び装置
CN1186554A (zh) * 1995-03-06 1998-07-01 贝尔通讯研究股份有限公司 业务管理的操作支持系统及其方法
JP3709895B2 (ja) * 1995-04-06 2005-10-26 ソニー株式会社 ミラーサイト情報サーバおよびミラーサイト情報提供方法
US5687366A (en) * 1995-05-05 1997-11-11 Apple Computer, Inc. Crossing locale boundaries to provide services
US6701428B1 (en) * 1995-05-05 2004-03-02 Apple Computer, Inc. Retrieval of services by attribute
US6418324B1 (en) 1995-06-01 2002-07-09 Padcom, Incorporated Apparatus and method for transparent wireless communication between a remote device and host system
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US6901433B2 (en) 1995-06-07 2005-05-31 Microsoft Corporation System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service
US6249800B1 (en) * 1995-06-07 2001-06-19 International Business Machines Corporartion Apparatus and accompanying method for assigning session requests in a multi-server sysplex environment
US5956489A (en) * 1995-06-07 1999-09-21 Microsoft Corporation Transaction replication system and method for supporting replicated transaction-based services
JPH096706A (ja) * 1995-06-22 1997-01-10 Hitachi Ltd 疎結合計算機システム
US6006251A (en) * 1995-07-11 1999-12-21 Hitachi, Ltd. Service providing system for providing services suitable to an end user request based on characteristics of a request, attributes of a service and operating conditions of a processor
US5933599A (en) * 1995-07-17 1999-08-03 Microsoft Corporation Apparatus for presenting the content of an interactive on-line network
US6047288A (en) * 1995-07-20 2000-04-04 Canon Kabushiki Kaisha Group environment setting method and system thereof to provide an equivalent environment for plural participants
US5878212A (en) * 1995-07-31 1999-03-02 At&T Corp. System for updating mapping or virtual host names to layer-3 address when multimedia server changes its usage state to busy or not busy
SE516325C2 (sv) * 1995-08-04 2001-12-17 Telia Ab Arrangemang för datorstyrd telefoni samt tillhörande publik server
US5956509A (en) * 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US6108704A (en) * 1995-09-25 2000-08-22 Netspeak Corporation Point-to-point internet protocol
US5889962A (en) * 1995-10-13 1999-03-30 Apple Computer, Inc. Method and system for providing an additional identifier for sessions in a file server
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US8037158B2 (en) 1995-11-13 2011-10-11 Lakshmi Arunachalam Multimedia transactional services
US8271339B2 (en) 1995-11-13 2012-09-18 Lakshmi Arunachalam Method and apparatus for enabling real-time bi-directional transactions on a network
US7930340B2 (en) 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
ES2108646B1 (es) * 1995-11-30 1998-07-01 Telefonica Nacional Espana Co Estructura para un sistema de informacion electronica.
US5838921A (en) * 1995-12-08 1998-11-17 Silicon Graphics, Inc. Distributed connection management system with replication
EP0779750B1 (de) * 1995-12-13 2002-04-10 Siemens Aktiengesellschaft Verfahren und Schaltungsanordnung zur Leitweglenkung und Gebührenerfassung in einer Vermittlungsstelle
US6148323A (en) * 1995-12-29 2000-11-14 Hewlett-Packard Company System and method for managing the execution of system management
US5822523A (en) * 1996-02-01 1998-10-13 Mpath Interactive, Inc. Server-group messaging system for interactive applications
US6128657A (en) * 1996-02-14 2000-10-03 Fujitsu Limited Load sharing system
US5826000A (en) * 1996-02-29 1998-10-20 Sun Microsystems, Inc. System and method for automatic configuration of home network computers
US6167432A (en) * 1996-02-29 2000-12-26 Webex Communications, Inc., Method for creating peer-to-peer connections over an interconnected network to facilitate conferencing among users
CA2199108C (en) * 1996-03-05 2002-04-23 Hirotoshi Maegawa Parallel distributed processing system and method of same
CA2198540A1 (en) * 1996-03-05 1997-09-05 Hirotoshi Maegawa Multimedia network system and method of multimedia communication of same
US5809242A (en) * 1996-04-19 1998-09-15 Juno Online Services, L.P. Electronic mail system for displaying advertisement at local computer received from remote system while the local computer is off-line the remote system
US6263442B1 (en) * 1996-05-30 2001-07-17 Sun Microsystems, Inc. System and method for securing a program's execution in a network environment
US5928323A (en) * 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5915096A (en) * 1996-05-31 1999-06-22 Sun Microsystems, Inc. Network browsing system and method
US6625641B1 (en) * 1996-06-03 2003-09-23 Sun Microsystems, Inc. Method and apparatus for providing client support without installation of server software
US6175854B1 (en) * 1996-06-11 2001-01-16 Ameritech Services, Inc. Computer system architecture and method for multi-user, real-time applications
US5862331A (en) * 1996-06-21 1999-01-19 Sun Microsystems, Inc. Name service system and method for automatic updating on interconnected hosts
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US5987245A (en) 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US6038590A (en) 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US5848246A (en) 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US6052711A (en) * 1996-07-01 2000-04-18 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session web access in an interprise computing framework system.
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US5999972A (en) 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US5748897A (en) * 1996-07-02 1998-05-05 Sun Microsystems, Inc. Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
US5818448A (en) * 1996-07-02 1998-10-06 Sun Microsystems, Inc. Apparatus and method for identifying server computer aggregation topologies
US5805786A (en) * 1996-07-23 1998-09-08 International Business Machines Corporation Recovery of a name server managing membership of a domain of processors in a distributed computing environment
US5991809A (en) * 1996-07-25 1999-11-23 Clearway Technologies, Llc Web serving system that coordinates multiple servers to optimize file transfers
US6212578B1 (en) * 1996-09-09 2001-04-03 Oracle Corporation Method and apparatus for managing dependencies in a distributed computing environment for ensuring the safety of remote procedure calls
JP3731263B2 (ja) * 1996-09-11 2006-01-05 ソニー株式会社 通信方法及び電子機器
US5978840A (en) * 1996-09-26 1999-11-02 Verifone, Inc. System, method and article of manufacture for a payment gateway system architecture for processing encrypted payment transactions utilizing a multichannel, extensible, flexible architecture
US6757729B1 (en) * 1996-10-07 2004-06-29 International Business Machines Corporation Virtual environment manager for network computers
US5948061A (en) 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6334158B1 (en) * 1996-11-29 2001-12-25 Agilent Technologies, Inc. User-interactive system and method for integrating applications
US5996012A (en) * 1996-12-10 1999-11-30 International Business Machines Corporation Application development process for use in a distributed computer enterprise environment
WO1998027690A1 (fr) * 1996-12-16 1998-06-25 Samsung Electronics Co. Ltd. Procede de transmission de messages par courrier electronique dans un reseau local et dispositif prevu a cet effet
US6026234A (en) * 1997-03-19 2000-02-15 International Business Machines Corporation Method and apparatus for profiling indirect procedure calls in a computer program
US6654933B1 (en) 1999-09-21 2003-11-25 Kasenna, Inc. System and method for media stream indexing
US6278705B1 (en) 1997-04-08 2001-08-21 3Com Corporation Integrated architecture to support a single system image across multiple network access servers
US6147987A (en) * 1997-04-08 2000-11-14 3Com Corporation Supporting load sharing across multiple network access servers
US6026085A (en) 1997-04-08 2000-02-15 3Com Corporation Architecture to support a single system image across multiple network access servers
US6401114B1 (en) * 1997-05-01 2002-06-04 Stratum Technologies Corporation Method and apparatus for dynamic programming across a computer network
US7162519B2 (en) 1998-05-01 2007-01-09 Stratum Technologies Corporation Structure and method for providing customized web pages-therefor
SE507720C2 (sv) * 1997-06-12 1998-07-06 Telia Ab Arrangemang för lastbalansering i datornät
WO1998058356A2 (en) * 1997-06-16 1998-12-23 Keilani Badieh Z Ii System and method for processing multiple financial applications using a three-tier value network
US7039599B2 (en) 1997-06-16 2006-05-02 Doubleclick Inc. Method and apparatus for automatic placement of advertising
US8516132B2 (en) 1997-06-19 2013-08-20 Mymail, Ltd. Method of accessing a selected network
US6151639A (en) * 1997-06-19 2000-11-21 Sun Microsystems, Inc. System and method for remote object invocation
US6571290B2 (en) 1997-06-19 2003-05-27 Mymail, Inc. Method and apparatus for providing fungible intercourse over a network
US6044465A (en) * 1997-07-07 2000-03-28 International Business Machines Corporation User profile storage on and retrieval from a non-native server domain for use in a client running a native operating system
US6012100A (en) * 1997-07-14 2000-01-04 Freegate Corporation System and method of configuring a remotely managed secure network interface
US6446108B1 (en) * 1997-07-18 2002-09-03 Lucent Technologies Inc. Method for wide area network service location
US6065046A (en) * 1997-07-29 2000-05-16 Catharon Productions, Inc. Computerized system and associated method of optimally controlled storage and transfer of computer programs on a computer network
US6006264A (en) * 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6076099A (en) * 1997-09-09 2000-06-13 Chen; Thomas C. H. Method for configurable intelligent-agent-based wireless communication system
US5931947A (en) * 1997-09-11 1999-08-03 International Business Machines Corporation Secure array of remotely encrypted storage devices
US6405315B1 (en) 1997-09-11 2002-06-11 International Business Machines Corporation Decentralized remotely encrypted file system
JPH1196099A (ja) * 1997-09-19 1999-04-09 Hitachi Ltd サービス提供システム
US6192408B1 (en) 1997-09-26 2001-02-20 Emc Corporation Network file server sharing local caches of file access information in data processors assigned to respective file systems
US6026438A (en) * 1997-10-31 2000-02-15 Merrill Lynch & Co., Inc. Dynamic workstation configuration processor
US6167449A (en) * 1997-11-19 2000-12-26 Apple Computer, Inc. System and method for identifying and locating services on multiple heterogeneous networks using a query by type
US6141759A (en) 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US6567774B1 (en) 1998-01-30 2003-05-20 Compaq Computer Corporation Method and system for configuring and updating networked client stations using a virtual disk and a snapshot disk
US6151624A (en) * 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
JP3450175B2 (ja) * 1998-02-19 2003-09-22 富士通株式会社 オペレータ受け答えシナリオシステム
US7007072B1 (en) 1999-07-27 2006-02-28 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US6272534B1 (en) * 1998-03-04 2001-08-07 Storage Technology Corporation Method and system for efficiently storing web pages for quick downloading at a remote device
US6681327B1 (en) 1998-04-02 2004-01-20 Intel Corporation Method and system for managing secure client-server transactions
US6912588B1 (en) * 1998-04-02 2005-06-28 Intel Corporation System and method for managing client requests in client-server networks
US6321249B1 (en) * 1998-04-28 2001-11-20 Xerox Corporation Dynamic system configuration using an object-based client-server system
US6119157A (en) * 1998-05-14 2000-09-12 Sun Microsystems, Inc. Protocol for exchanging configuration data in a computer network
EP1086560A1 (de) * 1998-06-19 2001-03-28 Netsafe, Inc. Verfahren und einrichtung zur herstellung von verbindungen über ein netz
AU5234999A (en) 1998-08-03 2000-02-28 Doubleclick Inc. Network for distribution of re-targeted advertising
US6493749B2 (en) * 1998-08-17 2002-12-10 International Business Machines Corporation System and method for an administration server
US6567849B2 (en) * 1998-08-17 2003-05-20 International Business Machines Corporation System and method for configuring and administering multiple instances of web servers
US7305451B2 (en) * 1998-08-24 2007-12-04 Microsoft Corporation System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network
US6334178B1 (en) 1998-08-31 2001-12-25 International Business Machines Corporation Multiprocessing system with automated propagation of changes to centrally maintained configuration settings
US6167408A (en) * 1998-08-31 2000-12-26 International Business Machines Corporation Comparative updates tracking to synchronize local operating parameters with centrally maintained reference parameters in a multiprocessing system
US6553421B1 (en) 1998-09-15 2003-04-22 International Business Machines Corporation Method and system for broadcast management in a data communication network that permits namesharing
US7136645B2 (en) 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7778260B2 (en) 1998-10-09 2010-08-17 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7293107B1 (en) 1998-10-09 2007-11-06 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8078727B2 (en) 1998-10-09 2011-12-13 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6546425B1 (en) 1998-10-09 2003-04-08 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US8060656B2 (en) 1998-10-09 2011-11-15 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6477543B1 (en) * 1998-10-23 2002-11-05 International Business Machines Corporation Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
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
US6571274B1 (en) 1998-11-05 2003-05-27 Beas Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
US6385643B1 (en) 1998-11-05 2002-05-07 Bea Systems, Inc. Clustered enterprise Java™ having a message passing kernel in a distributed processing system
SE523204C2 (sv) * 1998-12-01 2004-04-06 Ericsson Telefon Ab L M Arrangemang, kommunikationsnätverk och metod där en anordning hos klienter innefattandes en databas med information om resurser hos servrar, styr kommunikationen mellan klienter och servrar
SE521504C2 (sv) * 1998-12-01 2003-11-04 Ericsson Telefon Ab L M Arrangemang och metod i ett nätverk där transaktioner skapar händelser som lagras i interservermeddelanden
US6430578B1 (en) * 1998-12-04 2002-08-06 Sun Microsystems, Inc. Name service for network management architecture
US7216348B1 (en) 1999-01-05 2007-05-08 Net2Phone, Inc. Method and apparatus for dynamically balancing call flow workloads in a telecommunications system
JP3581589B2 (ja) 1999-01-11 2004-10-27 株式会社日立製作所 通信ネットワークシステムおよび通信ネットワークシステムにおけるサービス管理方法
US7676556B2 (en) * 1999-01-22 2010-03-09 Palm, Inc. Method and apparatus for configuring information for multiple network access providers
US6937597B1 (en) * 1999-02-26 2005-08-30 Lucent Technologies Inc. Signaling method for internet telephony
US6795860B1 (en) * 1999-04-05 2004-09-21 Cisco Technology, Inc. System and method for selecting a service with dynamically changing information
GB2348985A (en) * 1999-04-15 2000-10-18 Ibm Centralized affinity maintenance in a workload managed client/server system
US6920455B1 (en) * 1999-05-19 2005-07-19 Sun Microsystems, Inc. Mechanism and method for managing service-specified data in a profile service
US7882247B2 (en) 1999-06-11 2011-02-01 Netmotion Wireless, Inc. Method and apparatus for providing secure connectivity in mobile and other intermittent computing environments
US7249097B2 (en) * 1999-06-18 2007-07-24 Echarge Corporation Method for ordering goods, services, and content over an internetwork using a virtual payment account
JP5405704B2 (ja) 1999-06-18 2014-02-05 イーチャージ コーポレーション 仮想支払アカウントを用いてインターネットワークを介して商品、サービス及びコンテンツを注文する方法及び装置
US6636961B1 (en) 1999-07-09 2003-10-21 International Business Machines Corporation System and method for configuring personal systems
US6526432B1 (en) * 1999-08-31 2003-02-25 International Business Machines Corporation Relaxed quorum determination for a quorum based operation of a distributed computing system
US6490693B1 (en) 1999-08-31 2002-12-03 International Business Machines Corporation Dynamic reconfiguration of a quorum group of processors in a distributed computing system
US6289382B1 (en) * 1999-08-31 2001-09-11 Andersen Consulting, Llp System, method and article of manufacture for a globally addressable interface in a communication services patterns environment
US6438594B1 (en) * 1999-08-31 2002-08-20 Accenture Llp Delivering service to a client via a locally addressable interface
US6487678B1 (en) 1999-08-31 2002-11-26 International Business Machines Corporation Recovery procedure for a dynamically reconfigured quorum group of processors in a distributed computing system
US6542929B1 (en) 1999-08-31 2003-04-01 International Business Machines Corporation Relaxed quorum determination for a quorum based operation
US6697851B1 (en) * 1999-09-02 2004-02-24 International Business Machines Corporation Method and apparatus for identifying clients using incoming option data
JP3769999B2 (ja) * 1999-09-30 2006-04-26 富士通株式会社 サービス振り分け装置
US7328206B2 (en) * 1999-10-15 2008-02-05 Microsoft Corporation Extensions for adding and removing calculated members in a multidimensional database
US20010047408A1 (en) * 1999-12-08 2001-11-29 Jacobs Paul E. E-mail software and method and system for distributing advertisements to client devices that have such E-mail software installed thereon
AU8030500A (en) * 1999-12-08 2001-06-18 Qualcomm Incorporated Monitoring user interaction with web advertisements
US20070038728A1 (en) * 1999-12-08 2007-02-15 Jacobs Paul E A system for controlling the distribution of advertisements to informational client devices using a playlist
US20010044736A1 (en) * 1999-12-08 2001-11-22 Jacobs Paul E. E-mail software and method and system for distributing advertisements to client devices that have such e-mail software installed thereon
WO2001043012A1 (en) * 1999-12-08 2001-06-14 Qualcomm Incorporated Method and system for distributing advertisements to client devices
US7103643B1 (en) 1999-12-08 2006-09-05 Qualcomm Inc E-mail software and method and system for distributing advertisements to client devices that have such E-mail software installed thereon
US6594695B1 (en) * 1999-12-08 2003-07-15 Covad Communitions Group, Inc. Network profiling system
US20030149738A1 (en) * 1999-12-08 2003-08-07 Jacobs Paul E. E-mail software and method and system for distributing advertisements to client devices that have such e-mail software installed thereon
US8712848B2 (en) * 1999-12-08 2014-04-29 Qualcomm Incorporated Method for distributing advertisements to client devices using an obscured ad monitoring function
US20070005428A1 (en) * 1999-12-08 2007-01-04 Jacobs Paul E Method for distributing advertisements to client devices having e-mail software installed including multiple advertisement operational modes
US20030050832A1 (en) * 1999-12-08 2003-03-13 Jacobs Paul E. E-mail software and method and system for distributing advertisements to client devices that have such E-mail software installed thereon
WO2001042954A2 (en) * 1999-12-08 2001-06-14 Qualcomm Incorporated System for distributing advertisements to client devices
US7331058B1 (en) 1999-12-16 2008-02-12 International Business Machines Corporation Distributed data structures for authorization and access control for computing resources
US6854009B1 (en) 1999-12-22 2005-02-08 Tacit Networks, Inc. Networked computer system
JP2001282732A (ja) * 2000-04-03 2001-10-12 Komatsu Ltd コンピュータ間通信により遠隔のユーザへサービスを提供する方法及びシステム
US6904601B1 (en) 2000-04-07 2005-06-07 International Business Machines Corporation Method and system for providing remote procedure calls in a multiprocessing system
US7062527B1 (en) * 2000-04-19 2006-06-13 Silicon Graphics, Inc. Management and scheduling of a distributed rendering method and system
US7783695B1 (en) * 2000-04-19 2010-08-24 Graphics Properties Holdings, Inc. Method and system for distributed rendering
US7092983B1 (en) 2000-04-19 2006-08-15 Silicon Graphics, Inc. Method and system for secure remote distributed rendering
US6789112B1 (en) 2000-05-08 2004-09-07 Citrix Systems, Inc. Method and apparatus for administering a server having a subsystem in communication with an event channel
US6922724B1 (en) 2000-05-08 2005-07-26 Citrix Systems, Inc. Method and apparatus for managing server load
US6785726B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US7725525B2 (en) * 2000-05-09 2010-05-25 James Duncan Work Method and apparatus for internet-based human network brokering
BR0111119A (pt) * 2000-05-25 2004-06-22 Echarge Corp Protocolo de transação segura
US6725261B1 (en) * 2000-05-31 2004-04-20 International Business Machines Corporation Method, system and program products for automatically configuring clusters of a computing environment
US6925490B1 (en) * 2000-05-31 2005-08-02 International Business Machines Corporation Method, system and program products for controlling system traffic of a clustered computing environment
US7277956B2 (en) 2000-07-28 2007-10-02 Kasenna, Inc. System and method for improved utilization of bandwidth in a computer system serving multiple users
US6907474B2 (en) * 2000-09-15 2005-06-14 Microsoft Corporation System and method for adding hardware registers to a power management and configuration system
US6938079B1 (en) * 2000-09-19 2005-08-30 3Com Corporation System and method for automatically configuring a client device
US6978301B2 (en) * 2000-12-06 2005-12-20 Intelliden System and method for configuring a network device
US7249170B2 (en) 2000-12-06 2007-07-24 Intelliden System and method for configuration, management and monitoring of network resources
US8219662B2 (en) 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
US20020069271A1 (en) * 2000-12-06 2002-06-06 Glen Tindal Event manager for network operating system
US7054946B2 (en) * 2000-12-06 2006-05-30 Intelliden Dynamic configuration of network devices to enable data transfers
EP1366631A4 (de) * 2001-02-05 2005-11-02 Personity Inc Anwesenheits- und verfügbarkeits-verwaltungssystem
US20020116484A1 (en) * 2001-02-16 2002-08-22 Gemini Networks, Inc. System, method, and computer program product for supporting multiple service providers with a trouble ticket capability
US20040107234A1 (en) * 2001-03-02 2004-06-03 Jarno Rajahalme Addressing method and system for using an anycast address
EP1374080A2 (de) 2001-03-02 2004-01-02 Kasenna, Inc. Push-pull-modell mit metadaten-möglichkeit zur effizienten videoinhaltsverteilung mit niedriger latenz über ein netzwerk
US7027408B2 (en) * 2001-03-05 2006-04-11 Qwest Communications International, Inc Method and system for dynamic service profile integration by a service controller
US7113987B2 (en) * 2001-03-05 2006-09-26 Quest Communications International, Inc. Method and system for dynamic message registration by a service controller
US7150037B2 (en) * 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
US7246158B2 (en) * 2001-04-23 2007-07-17 Ricoh Company, Ltd. System, computer program product and method for selecting an application service provider
US7415671B2 (en) * 2001-06-08 2008-08-19 Computer Associates Think, Inc. Interactive hierarchical status display
CA2449603A1 (en) * 2001-06-08 2002-12-19 Concord Communications, Inc. Interactive hierarchical status display
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7562146B2 (en) 2003-10-10 2009-07-14 Citrix Systems, Inc. Encapsulating protocol for session persistence and reliability
US8296400B2 (en) 2001-08-29 2012-10-23 International Business Machines Corporation System and method for generating a configuration schema
US7200548B2 (en) * 2001-08-29 2007-04-03 Intelliden System and method for modeling a network device's configuration
US7644171B2 (en) 2001-09-12 2010-01-05 Netmotion Wireless, Inc. Mobile networking system and method using IPv4 and IPv6
US7240114B2 (en) * 2001-09-25 2007-07-03 Hewlett-Packard Development Company, L.P. Namespace management in a distributed file system
US20030079053A1 (en) * 2001-10-23 2003-04-24 Kevin Burns System and method for evaluating effectiveness of network configuration management tools
EP1309147A1 (de) * 2001-10-30 2003-05-07 Hewlett-Packard Company, A Delaware Corporation System und Verfahren zur Verwaltung von Profilinformationen in einer heterogeneous Netzwerkumgebung
JP2003150627A (ja) * 2001-11-13 2003-05-23 Ntt Docomo Inc サービス情報提供システム、サービス情報提供方法
US7065562B2 (en) * 2001-11-26 2006-06-20 Intelliden, Inc. System and method for generating a representation of a configuration schema
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US7661129B2 (en) 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US20030182425A1 (en) * 2002-03-01 2003-09-25 Docomo Communications Laboratories Usa, Inc. Communication system capable of executing a communication task in a manner adaptable to available distributed resources
US7206388B2 (en) 2002-03-18 2007-04-17 Openwave Systems Inc. System and method for providing voice-activated presence information
US20030182362A1 (en) * 2002-03-22 2003-09-25 Sun Microsystems, Inc. System and method for distributed preference data services
US6959329B2 (en) * 2002-05-15 2005-10-25 Intelliden System and method for transforming configuration commands
US20040003067A1 (en) * 2002-06-27 2004-01-01 Daniel Ferrin System and method for enabling a user interface with GUI meta data
US7464145B2 (en) 2002-07-11 2008-12-09 Intelliden, Inc. Repository-independent system and method for asset management and reconciliation
US7308473B1 (en) * 2002-07-29 2007-12-11 Rockwell Automation Technologies, Inc. System and methodology that facilitates client and server interaction in a distributed industrial automation environment
US7461158B2 (en) 2002-08-07 2008-12-02 Intelliden, Inc. System and method for controlling access rights to network resources
US7366893B2 (en) 2002-08-07 2008-04-29 Intelliden, Inc. Method and apparatus for protecting a network from attack
US20040030709A1 (en) * 2002-08-12 2004-02-12 Gateway, Inc. Personalized setup poster generation
JP2004102547A (ja) * 2002-09-06 2004-04-02 Nec Corp コミュニケーションシステム、コミュニケーションサーバ、及び、コミュニケーション方法
US7558847B2 (en) 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
US20050273781A1 (en) * 2002-11-01 2005-12-08 Tomonori Nakamura Service software acquiring method, system and electronic communication device used therefor
US20040117437A1 (en) * 2002-12-16 2004-06-17 Exanet, Co. Method for efficient storing of sparse files in a distributed cache
US7480657B1 (en) * 2003-01-06 2009-01-20 Cisco Technology, Inc. Caching information for multiple service applications
JP4027818B2 (ja) 2003-02-21 2007-12-26 株式会社エヌ・ティ・ティ・ドコモ マルチホップ通信システム、無線制御局、無線局及びマルチホップ通信方法
US7111188B2 (en) * 2003-07-31 2006-09-19 International Business Machines Corporation Dynamically configurable fault tolerance in autonomic computing with multiple service points
EP1695487A1 (de) * 2003-12-17 2006-08-30 Telefonaktiebolaget Lm Ericsson Verfahren und system zur herstellung und aufrechterhaltung der datenkommunikation zwischen einem ersten und einem zweiten lokalen netzwerk
US9003548B2 (en) 2004-04-13 2015-04-07 Nl Systems, Llc Method and system for digital rights management of documents
US20050243857A1 (en) * 2004-04-30 2005-11-03 Padcom, Inc. Simultaneously routing data over multiple wireless networks
US7464090B2 (en) * 2006-01-27 2008-12-09 Google Inc. Object categorization for information extraction
US8244689B2 (en) 2006-02-17 2012-08-14 Google Inc. Attribute entropy as a signal in object normalization
US7769579B2 (en) 2005-05-31 2010-08-03 Google Inc. Learning facts from semi-structured text
US7672971B2 (en) * 2006-02-17 2010-03-02 Google Inc. Modular architecture for entity normalization
US20060206586A1 (en) * 2005-03-09 2006-09-14 Yibei Ling Method, apparatus and system for a location-based uniform resource locator
US9208229B2 (en) 2005-03-31 2015-12-08 Google Inc. Anchor text summarization for corroboration
US8682913B1 (en) 2005-03-31 2014-03-25 Google Inc. Corroborating facts extracted from multiple sources
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US7953720B1 (en) 2005-03-31 2011-05-31 Google Inc. Selecting the best answer to a fact query from among a set of potential answers
US8239394B1 (en) 2005-03-31 2012-08-07 Google Inc. Bloom filters for query simulation
JP4182083B2 (ja) * 2005-05-12 2008-11-19 キヤノン株式会社 ネットワークに接続されたネットワーク機器を管理する装置、方法、及びプログラム
CN100372318C (zh) * 2005-05-20 2008-02-27 清华大学 10g网络性能测试系统并行流调度方法
US8996470B1 (en) 2005-05-31 2015-03-31 Google Inc. System for ensuring the internal consistency of a fact repository
US7831545B1 (en) 2005-05-31 2010-11-09 Google Inc. Identifying the unifying subject of a set of facts
US7657871B2 (en) 2005-07-22 2010-02-02 Sbc Knowledge Ventures, L.P. Method and system of managing configuration profiles of a plurality of deployed network elements
US8239682B2 (en) 2005-09-28 2012-08-07 Nl Systems, Llc Method and system for digital rights management of documents
US8819119B2 (en) * 2005-11-10 2014-08-26 The Mathworks, Inc. Dynamic definition for concurrent computing environments
DE602006014192D1 (de) 2005-12-02 2010-06-17 Citrix Systems Inc Uthentifizierungsbescheinigungen von einem proxy-server für eine virtualisierte berechnungsumgebung zum zugriff auf eine remote-ressource
US7454398B2 (en) * 2006-02-17 2008-11-18 Google Inc. Support for object search
US7774328B2 (en) * 2006-02-17 2010-08-10 Google Inc. Browseable fact repository
US7991797B2 (en) * 2006-02-17 2011-08-02 Google Inc. ID persistence through normalization
US7778952B2 (en) * 2006-01-27 2010-08-17 Google, Inc. Displaying facts on a linear graph
US7925676B2 (en) * 2006-01-27 2011-04-12 Google Inc. Data object visualization using maps
US8954426B2 (en) 2006-02-17 2015-02-10 Google Inc. Query language
US8055674B2 (en) 2006-02-17 2011-11-08 Google Inc. Annotation framework
US20070185870A1 (en) * 2006-01-27 2007-08-09 Hogue Andrew W Data object visualization using graphs
US8260785B2 (en) 2006-02-17 2012-09-04 Google Inc. Automatic object reference identification and linking in a browseable fact repository
US20070179965A1 (en) * 2006-01-27 2007-08-02 Hogue Andrew W Designating data objects for analysis
US7555471B2 (en) * 2006-01-27 2009-06-30 Google Inc. Data object visualization
US7793329B2 (en) 2006-02-06 2010-09-07 Kasenna, Inc. Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique
US9336333B2 (en) 2006-02-13 2016-05-10 Linkedin Corporation Searching and reference checking within social networks
US8700568B2 (en) 2006-02-17 2014-04-15 Google Inc. Entity normalization via name normalization
US7590628B2 (en) * 2006-03-31 2009-09-15 Google, Inc. Determining document subject by using title and anchor text of related documents
US7436293B2 (en) * 2006-04-21 2008-10-14 Quartet Technology, Inc System and method for configuring and maintaining individual and multiple environmental control units over a communication network from an administration system
US7436292B2 (en) * 2006-04-21 2008-10-14 Quartet Technology, Inc. System and method for controlling a network of environmental control units
US7436296B2 (en) * 2006-04-21 2008-10-14 Quartet Technology, Inc System and method for controlling a remote environmental control unit
JP4256897B2 (ja) * 2006-06-16 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション マッチング・サービスを提供するための装置、方法及びプログラム
US8954412B1 (en) 2006-09-28 2015-02-10 Google Inc. Corroborating facts in electronic documents
US8122026B1 (en) 2006-10-20 2012-02-21 Google Inc. Finding and disambiguating references to entities on web pages
US20080196094A1 (en) * 2007-02-08 2008-08-14 Dlb Finance & Consultancy B.V. Method and system for restricting access to an electronic message system
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US7739212B1 (en) 2007-03-28 2010-06-15 Google Inc. System and method for updating facts in a fact repository
US8239350B1 (en) 2007-05-08 2012-08-07 Google Inc. Date ambiguity resolution
US8239751B1 (en) 2007-05-16 2012-08-07 Google Inc. Data from web documents in a spreadsheet
US8086674B2 (en) * 2007-06-21 2011-12-27 Research In Motion Limited Attachment server network for viewing attachments on a portable electronic device
US7966291B1 (en) 2007-06-26 2011-06-21 Google Inc. Fact-based object merging
US7970766B1 (en) 2007-07-23 2011-06-28 Google Inc. Entity type assignment
US8738643B1 (en) 2007-08-02 2014-05-27 Google Inc. Learning synonymous object names from anchor texts
US8812435B1 (en) 2007-11-16 2014-08-19 Google Inc. Learning objects and facts from documents
US20090158403A1 (en) * 2007-12-14 2009-06-18 Dirk Leonard Benschop Method and system for permitting or denying service
US8239921B2 (en) 2008-01-03 2012-08-07 Dlb Finance & Consultancy B.V. System and method of retrieving a service contact identifier
EP2227892B8 (de) * 2008-01-03 2018-10-17 Koninklijke KPN N.V. Vorrichtung und verfahren zum abrufen einer dienstkontaktidentifizierung
US8463921B2 (en) 2008-01-17 2013-06-11 Scipioo Holding B.V. Method and system for controlling a computer application program
US8645972B2 (en) 2008-05-29 2014-02-04 Ebay Inc. Method and system for interface data utilization
US10755287B2 (en) * 2008-11-25 2020-08-25 Microsoft Technology Licensing, Llc Selecting between client-side and server-side market detection
US9417938B2 (en) 2009-03-17 2016-08-16 Microsoft Technology Licensing, Llc Remote procedure call chains
US9087059B2 (en) 2009-08-07 2015-07-21 Google Inc. User interface for presenting search results for multiple regions of a visual query
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US8250213B2 (en) * 2009-11-16 2012-08-21 At&T Intellectual Property I, L.P. Methods and apparatus to allocate resources associated with a distributive computing network
US8705513B2 (en) * 2009-12-15 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
US8402139B2 (en) * 2010-02-26 2013-03-19 Red Hat, Inc. Methods and systems for matching resource requests with cloud computing environments
US8627479B2 (en) * 2010-03-01 2014-01-07 Emc Corporation System and method for network security including detection of attacks through partner websites
EP2405624A1 (de) * 2010-07-09 2012-01-11 Thomson Licensing Verfahren zum Betrieb eines Handhabungsgeräts entfernter Prozeduraufrufe in einem Client und einem Server sowie Computersystem damit
US8473557B2 (en) 2010-08-24 2013-06-25 At&T Intellectual Property I, L.P. Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network
US9058323B2 (en) 2010-12-30 2015-06-16 Ss8 Networks, Inc. System for accessing a set of communication and transaction data associated with a user of interest sourced from multiple different network carriers and for enabling multiple analysts to independently and confidentially access the set of communication and transaction data
US8938534B2 (en) 2010-12-30 2015-01-20 Ss8 Networks, Inc. Automatic provisioning of new users of interest for capture on a communication network
US8972612B2 (en) 2011-04-05 2015-03-03 SSB Networks, Inc. Collecting asymmetric data and proxy data on a communication network
US9432258B2 (en) 2011-06-06 2016-08-30 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks to reduce latency
US9386035B2 (en) 2011-06-21 2016-07-05 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks for security
US10044678B2 (en) 2011-08-31 2018-08-07 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks with virtual private networks
US9792451B2 (en) 2011-12-09 2017-10-17 Echarge2 Corporation System and methods for using cipher objects to protect data
US12072989B2 (en) 2011-12-09 2024-08-27 Sertainty Corporation System and methods for using cipher objects to protect data
US9350762B2 (en) 2012-09-25 2016-05-24 Ss8 Networks, Inc. Intelligent feedback loop to iteratively reduce incoming network data for analysis
US9753784B2 (en) 2013-11-27 2017-09-05 At&T Intellectual Property I, L.P. Cloud delivery platform
US9830593B2 (en) 2014-04-26 2017-11-28 Ss8 Networks, Inc. Cryptographic currency user directory data and enhanced peer-verification ledger synthesis through multi-modal cryptographic key-address mapping
US9954832B2 (en) 2015-04-24 2018-04-24 Encryptics, Llc System and method for enhanced data protection
WO2017152037A1 (en) 2016-03-04 2017-09-08 1Usf, Inc. Systems and methods for media codecs and containers
CN106878367B (zh) * 2016-07-19 2020-04-07 阿里巴巴集团控股有限公司 服务接口异步调用的实现方法和装置
US10846070B2 (en) 2018-07-05 2020-11-24 At&T Intellectual Property I, L.P. Facilitating cloud native edge computing via behavioral intelligence
US11657391B1 (en) 2019-05-24 2023-05-23 Hiro Systems Pbc System and method for invoking smart contracts
US10699269B1 (en) * 2019-05-24 2020-06-30 Blockstack Pbc System and method for smart contract publishing
US11513815B1 (en) 2019-05-24 2022-11-29 Hiro Systems Pbc Defining data storage within smart contracts

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4395753A (en) * 1980-06-26 1983-07-26 Gte Automatic Electric Labs Inc. Allocation controller providing for access of multiple common resources by a plurality of central processing units
US4455605A (en) * 1981-07-23 1984-06-19 International Business Machines Corporation Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices
US4553202A (en) * 1982-05-06 1985-11-12 International Business Machines Corporation User controlled dialog resource switching in a multi-tasking word processor
US4814974A (en) * 1982-07-02 1989-03-21 American Telephone And Telegraph Company, At&T Bell Laboratories Programmable memory-based arbitration system for implementing fixed and flexible priority arrangements
US4823122A (en) * 1984-06-01 1989-04-18 Digital Equipment Corporation Local area network for digital data processing system
WO1989002631A1 (en) * 1987-09-08 1989-03-23 Digital Equipment Corporation Naming service for networked digital data processing system
US5167035A (en) * 1988-09-08 1992-11-24 Digital Equipment Corporation Transferring messages between nodes in a network
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
DE69030340T2 (de) * 1989-02-24 1997-11-20 Digital Equipment Corp Makler für die Auswahl von Rechnernetzwerkservern

Also Published As

Publication number Publication date
EP0479660A3 (en) 1992-11-19
JPH04230567A (ja) 1992-08-19
EP0479660B1 (de) 1996-10-23
EP0479660A2 (de) 1992-04-08
DE69122830D1 (de) 1996-11-28
US5475819A (en) 1995-12-12
CA2048306A1 (en) 1992-04-03

Similar Documents

Publication Publication Date Title
DE69122830T2 (de) Verteiltes Konfigurationsprofil für ein Rechnersystem
DE69510226T2 (de) Verfahren und vorrichtung zur aktualisierung oder änderung eines netzwerkverzeichnisses
DE60133648T2 (de) System und verfahren zum führen von laufzeitdaten in einem server-netzwerk
DE69228621T2 (de) Objektorientiertes verteiltes Rechnersystem
DE69719620T2 (de) Vorrichtung und Verfahren zur Bestimmung von Server-Cluster-Topologien
DE69030340T2 (de) Makler für die Auswahl von Rechnernetzwerkservern
DE60009489T2 (de) Vorrichtung und verfahren zum verwalten der verteilung von inhalten zu einem gerät
DE69838739T2 (de) Verfahren und Vorrichtung zum Darstellen und Verwenden von Netzwerktopologiedaten
DE69428262T2 (de) Vereinigung von Dateiverzeichnisdienst mit Dateisystemdiensten
DE69810654T2 (de) Verfahren und gerät zum führen von transaktionen in einer zustandslosen web-umgebung, welche ein deklaratives paradigma unterstützt
DE69814900T2 (de) Verfahren und system zur unterstützung verteilter software- entwicklung ohne bewusstsein der verteilten charakteristik der software
DE69916928T2 (de) Zugriffsverfahren und Server für Netzwerkverzeichnis
DE69112156T2 (de) Gerät zur Realisierung von Datenbanken zum Verschaffen von objektorientiertem Aufrufen von Anwendungsprogrammen.
DE69625633T2 (de) System und Verfahren zur Bestimmung und Behandlung von Server-Konfigurationsinformation in einer Umgebung mit verteilten Objekten
DE69630480T2 (de) Verfahren, Vorrichtung und Datenstrukturen zur Objektverwaltung
EP0825524B1 (de) Verfahren zur Verwaltung der Benennung von Objekten
DE69624579T2 (de) System und verfahren für eine verteilte objektverwaltungsumgebung an mehreren orten
DE69523939T2 (de) Verfahren zur erzeugung von objektstrukturen für den zugriff auf konventionelle, nicht objekt-orientierte geschäftsanwendungen
DE69131745T2 (de) Verfahren und Gerät zum Verschaffen einer Kundenschnittstelle zu einem objektorientierten Aufruf eines Anwendungsprogramms
DE69812899T2 (de) Webagent zur anforderung von mehreren prozessen
DE69425699T2 (de) Integrierung von Systemverwaltungsdiensten mit einem unterliegenden Systemobjektmodell
DE69625652T2 (de) Ereignisverwaltungsdienst
DE69724877T2 (de) Verfahren und Vorrichtung zum Betrieb einer Aggregation von Serverrechnern mittels eines Doppelzweck-Proxy-Servers
DE69635469T2 (de) Synchronisierung zwischen verschiedenen Computeranbieterumgebungen
DE69131245T2 (de) Verfahren und Gerät zum Verschaffen von dynamischen Aufrufen von Anwendungsprogrammen in einer verteilten heterogenen Umgebung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, 80538 MUENCHEN