[go: up one dir, main page]

DE10131192A1 - Schnittstelle zu Verzeichnisunterstützungssystemen unter Verwendung des Lightweight Directory Access Protocol - Google Patents

Schnittstelle zu Verzeichnisunterstützungssystemen unter Verwendung des Lightweight Directory Access Protocol

Info

Publication number
DE10131192A1
DE10131192A1 DE10131192A DE10131192A DE10131192A1 DE 10131192 A1 DE10131192 A1 DE 10131192A1 DE 10131192 A DE10131192 A DE 10131192A DE 10131192 A DE10131192 A DE 10131192A DE 10131192 A1 DE10131192 A1 DE 10131192A1
Authority
DE
Germany
Prior art keywords
ldap
database
compatible
location
search arguments
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.)
Ceased
Application number
DE10131192A
Other languages
English (en)
Inventor
Martin A Ambrosini
Edward E Huth
Victor S Moore
Wendi L Nusbickel
Brian E Yoder
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10131192A1 publication Critical patent/DE10131192A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein Verfahren zum Abbilden einer LDAP-Schnittstelle (Lightweight Directory Access Protocol, einfaches Verzeichniszugriffsprotokoll) auf ein DA-System (Directory Assistance, Verzeichnisunterstützung) kann die folgenden Schritte umfassen. Erstens können LDAP-kompatible Suchargumente zum Durchsuchen einer LDAP-Datenbank aus einer LDAP-Anforderung extrahiert werden. Zweitens können die LDAP-kompatiblen Suchargumente in Suchargumente, die mit einer Datenbank eines DA-Systems kompatibel sind, umgewandelt werden. Drittels kann die Datenbank des DA-Systems unter Verwendung der umgewandelten Suchargumente abgefragt werden. Viertens kann von der Datenbank des DA-Systems als Antwort auf die Abfrage eine Ergebnismenge von Einträgen erhalten werden. Schließlich kann die Ergebnismenge in eine LDAP-kompatible Ergebnismenge umgewandelt werden. Vorzugsweise kann jeder der fünf Schritte in einem Plug-In zum LDAP-Server ausgeführt werden. Das Verfahren kann außerdem den Schritt des Empfangens der LDAP-Anforderung von einem LDAP-Client enthalten. Überdies kann das Verfahren den Schritt des Empfangens der LDAP-Anforderung in einem LDAP-Server enthalten.

Description

HINTERGRUND DER ERFINDUNG Technisches Gebiet
Diese Erfindung betrifft das Gebiet der Netzverzeichnisdienste und insbesondere ein System und ein Verfahren zum Verbinden eines Verzeichnisunterstützungssystems (Directory Assistance System) mit einer LDAP-Schnittstelle (Lightweight Directory Access Protocol, einfaches Verzeichniszugriffsprotokoll) mit Baumstruktur.
Beschreibung der zugrunde liegenden Technik
Ein Verzeichnis ist ein Mechanismus, den Clients verwenden können, um Einträge und Attribute dieser Einträge zu lokalisieren. Clients sind oftmals Personen (z. B. jemand, der "das Verzeichnis abfragt"), sie können jedoch auch Programme sein (z. B. eine Anwendung, die ein Attribut zu einem Benutzer nachschlägt). Einträge können Netzressourcen wie einen Drucker oder Webseiten oder Personen beinhalten (ein Verzeichnis in der Art eines Telefonbuchs). Außer Clients und Einträgen ist ebenfalls der Typ der Abfrage wichtig, der für den Zugriff auf die Informationen verwendet wird. Die Abfragestruktur definiert die Semantik zum Abrufen von Informationen aus dem Verzeichnis. Verschiedene Kombinationen aus Clienttyp, Eintragstyp und Abfragetyp ergeben unterschiedliche Arten von Verzeichnis- Anwendungen. Zusammenfassend kann man sich Verzeichnisse als Datenbanken mit dem wichtigen Merkmal vorstellen, dass die Anzahl der Datenbank-Leseoperationen im Allgemeinen die Anzahl der Schreiboperationen um wenigstens eine Größenordnung übersteigt. Außerdem können Verzeichnis-Server als Repositories von Attribut/Wert-Paaren definiert werden, die Clients verwenden können, um Einträge und Attribute unter Verwendung von strukturierten Abfragen zu lokalisieren.
DA-Lösungen (Directory Assistance, Verzeichnisunterstützung) enthalten Verzeichnisse und Verzeichnis-Server, die Telefonnummern, welche in den Verzeichnissen gespeichert sind, über ein Vermittlungszentrum dem Anrufer bereitstellen können. Ein Anrufer wählt üblicherweise die "Auskunft" (z. B. "411" in den USA), um die Telefonnummer einer Person oder einer Firma zu bekommen. Anschließend verwendet das System einen Mechanismus der indizierten Bezugnahme, um die benötigte Information zu erhalten. Heutige DA-Systeme besitzen eine proprietäre Schnittstelle zum Zugreifen auf darin enthaltene Informationen.
Üblicherweise organisiert jedes DA-System darin enthaltene Daten anders als andere Daten, die in anderen DA-Systemen gespeichert sind. Es gibt jedoch trotzdem ein geschäftliches Interesse für Kunden von DA-Systemen, z. B. Telekommunikationsfirmen, einen Zugriff auf ungleichartig organisierte Informationen, die in jedem DA-System gespeichert sind, gemeinsam zu nutzen oder diesen sogar zu verkaufen. Nichtsdestoweniger ist jedoch bisher das Problem der gemeinsamen Nutzung oder des Verkaufs des Zugriffs auf Kundendaten in DA-Systemen sowohl in einer Standardumgebung als auch in der Umgebung offener Systeme nicht gelöst worden.
Gegenwärtige Kommunikationsmechanismen zwischen unterschiedlichen DA-Systemen und unterschiedlichen Installationen des gleichen DA- Systems sind in geschlossenen kontrollierten Umgebungen implementiert worden. Beispielsweise ist ein angepasstes Internet-Programm in Kombination mit HMTL-Seiten (Hypertext Markup Language) Benutzern bereitgestellt worden, um einen Intranet-Zugang zu einem proprietären DA-System, das sich hinter einer Firewall befindet, zu gewähren. Es ist jedoch keine Lösung vorgeschlagen worden, die einen offenen Standard schafft, um den Datenaustausch zwischen ungleichen DA-Systemen zu vereinfachen, der zum Implementieren keine speziell geschriebenen Anwendungen oder eine Programmiererunterstützung benötigt.
Überdies verwenden gegenwärtige DA-Systeme proprietäre Schnittstellen, die nicht in einfacher Weise direkt mit extern laufenden Anwendungen verwendet werden können. Insbesondere beinhaltet das Schaffen eines externen Zugriffs auf ein DA-System Sicherheitsbedenken sowie Trainingsprobleme an der Schnittstelle selbst. Beispielsweise kann die Freigabe der proprietären Schnittstelle eines DA-Systems die Schaffung eines Sicherheitsmechanismus erfordern, um den Zugriff auf das System zu kontrollieren. Überdies kann die Freigabe der proprietären Schnittstelle eines DA-Systems das Training der Benutzer für die Verwendung des DA-Systems erfordern. Bemerkenswerterweise kann das Training außerdem die Erstellung von Dokumentation und den Aufbau eines Unterstützungsteams beinhalten. Das Training kann erforderlich sein, da die proprietäre Schnittstelle zum DA-System nicht immer intuitiv ist. Folglich müssen Benutzer des Systems die proprietäre Natur der im DA-System gespeicherten zugrunde liegenden Informationen kennen, um diese zu verwenden.
Schließlich kann das Schaffen eines externen Zugriffs auf ein DA- System für Benutzer, die von einem proprietären DA-System migrieren, ein Migrationsproblem erzeugen. Insbesondere können Anwendungen, die dafür vorgesehen sind, mit der proprietären Schnittstelle zum DA-System zusammenzuwirken, beeinträchtigt werden, wenn zu einem anderen DA-System oder zu einer anderen Schnittstelle zum DA-System übergegangen wird.
Im Unterschied zu den proprietären Schnittstellen gegenwärtiger DA-Systeme ist das Lightweight Directory Access Protocol (LDAP) ein Verzeichnisdienst-Protokoll mit offenem Industriestandard, der ein konsistentes und kontrolliertes System zum Zugreifen auf Daten gewährleisten kann. Das LDAP stellt einen einfachen, jedoch leistungsstarken Verzeichnisdienst dar, der in der Lage ist, Abfragen des leistungsstarken Verzeichnisdienstes ausführen zu können, und auch ermöglichen kann, dass Clients Befehle ausgeben können, die Verzeichnisdiensteinträge hinzufügen, löschen oder modifizieren können. Obwohl die zugrunde liegende Speicherung der Informationen zwischen LDAP-Servern ungleichartig sein kann, ist durch das LDAP diese Unterschiedlichkeit für den Benutzer einer LDAP-Schnittstelle nicht erkennbar. Beim LDAP ist die Grundeinheit der Information ein Eintrag. Einträge werden in Verzeichnissen gespeichert. Verzeichniseinträge werden in einer hierarchischen baumartigen Struktur, die die Grenzen der reellen Welt, z. B. einen Ort oder eine Organisation, widerspiegeln kann, angeordnet. Die hierarchische baumähnliche LDAP-Struktur ermöglicht es den Benutzern eines Verzeichnisdienstes, in bekannter Weise durch die darin gespeicherten Informationen zu navigieren. Überdies ist das Schema oder die Organisation der Attribute in einem LDAP-Verzeichnis über Standard-Schnittstellen verfügbar. Demzufolge können LDAP-Anwendungen, z. B. LDAP-fähige Web-Browser wie der Netscape Communicator oder der Microsoft Internet Explorer, eine LDAP-Verzeichnisschnittstelle verwenden, ohne dass seine Benutzer ein spezielles Training oder Kenntnis des zugrunde liegenden Informationssystems benötigen.
Das LDAP, eine Vereinfachung des X.500 Directory Access Protocol (DAP), ist in der Aufforderung zur Stellungnahme RFC-1777, "Lightweight Directory Access Protocol" definiert, die vom Internic HTTP-Server mit der vollständigen URL:
ds.internic.net/rfc/rfc1777.txt verfügbar ist und durch die Bezugnahme Bestandteil dieses Patents ist. Das LDAP definiert insbesondere einen in vernünftiger Weise einfachen Mechanismus für Internet-Clients, um eine beliebige Datenbank mit hierarchischen Attribut/Wert-Paaren über eine TCP/IP-Verbindung unter Verwendung des Ports 389 abzufragen und zu verwalten.
Das LDAP-Verzeichnisdienstmodell basiert auf Einträgen. Ein Eintrag ist eine Sammlung von Filterattributen, die einen Namen besitzt, der als ein registrierter Name oder DN (distinguished name) bezeichnet wird. Der DN kann verwendet werden, um den Eintrag eindeutig zu bezeichnen. Jedes der Attribute eines Eintrags kann einen Typ und einen oder mehrere Werte besitzen. Die Typen sind üblicherweise mnemonische Zeichenfolgen, z. B. "cn" für allgemeiner Name (common name) oder "mail" für e-Mail- Adresse (e-mail address). Die Werte können vom Typ des entsprechenden Attributs abhängen. Zum Beispiel kann ein Mail- Attribut den Wert "johnd@xyz.com" enthalten. In ähnlicher Weise kann ein jpeg photo-Attribut ein Photo im binären JPEG-Format enthalten. Ein DN eines Eintrags kann in der Weise aufgebaut sein, dass der Name des Eintrags selbst genommen wird, als der relative registrierte Name bzw. RDN (relative distinguished name) bezeichnet wird und die Namen der übergeordneten Einträge des RDN verknüpft werden. Zum Beispiel kann der Eintrag für John Doe einen RDN von "cn=John Doe" und einen DN von "cn=John Doe, o=xyz, c=US" aufweisen.
Beim LDAP sind Verzeichniseinträge in einer hierarchischen baumähnlichen Struktur angeordnet, die politische, geografische und/oder organisatorische Grenzen widerspiegelt. Einträge, die Länder darstellen, können an der Spitze des Baumes erscheinen. Unter den Ländereinträgen sind Einträge, die Bundesstaaten oder nationale Organisationen repräsentieren. Unter den Bundesstaaten oder nationalen Organisationen können Einträge vorhanden sein, die Menschen, Organisationseinheiten, Drucker, Dokumente oder weitere kategorisierbare Untereinheiten repräsentieren. Bemerkenswerterweise ist die Hierarchie beim LDAP eine Hierarchie der Einträge in einer Datenbank, keine Hierarchie der Serververbindungen oder weiterer Informationen der Netzkonfiguration.
LDAP-Einträge werden im Allgemeinen durch ein Attribut der Objektklasse typisiert. Um beispielsweise die Suche eines Verzeichnisses auf Einträge zu beschränken, die ausschließlich Zugriffskontrolllisten (access control lists) enthalten, kann die Suchangabe "objectclass=acl" so spezifiziert werden, dass lediglich Einträge lokalisiert werden, die vorgeben, Zugriffskontrolllisten zu sein. Das LDAP ermöglicht einem Benutzer zu steuern, welche Attribute für eine bestimmte Objektklasse erforderlich und zugelassen sind, wodurch die schematischen Regeln bestimmt werden, denen der Eintrag entsprechen muss. Die Wahl der Attributnamen und der hierarchischen Struktur des LDAP werden von den X.500-Wurzeln des LDAP abgeleitet. Es ist jedoch wichtig anzumerken, dass das LDAP kein X.500-Verzeichnis ist. Es ist statt dessen das Protokoll zwischen geschäftlich verbundenen Teilnehmern in Bezug auf ein beliebiges hierarchisches attributgestütztes Verzeichnis. Im vereinfachten Fall kann die Hierarchie eine Einebenen-Hierarchie sein und die Attribute könnten willkürlich proprietär sein.
Das LDAP definiert Operationen zum Abfragen und Aktualisieren des Verzeichnisses. Außerdem gewährleistet das LDAP Operationen zum Hinzufügen und zum Löschen eines Eintrags aus dem Verzeichnis, zum Ändern eines vorhandenen Eintrags und zum Ändern des Namens eines Eintrags. Trotzdem ist die Hauptoperation des LDAP die Suche nach Informationen, die in dem Verzeichnis gespeichert sind. Demzufolge ermöglicht die LDAP-Suchoperation, dass ein gewisser Teil des Verzeichnisses nach Einträgen durchsucht wird, die mit einem Kriterium übereinstimmen, das durch ein Suchfilter spezifiziert wurde. Ein Client kann von jedem Eintrag Informationen anfordern, der mit dem Kriterium übereinstimmt. Zum Beispiel kann ein Benutzer den gesamten Verzeichnis-Unterbaum der Firma XYZ nach Personen durchsuchen, die den Namen John Doe besitzen, und die e-Mail-Adressen von jedem gefundenen Eintrag abrufen. Alternativ ermöglicht das LDAP einem Benutzer, die Einträge direkt unter dem Eintrag für die Vereinigten Staaten (c=US) nach Organisationen zu durchsuchen, die im Organisationsnamen die Zeichenfolge "Acme" enthalten und außerdem eine Fax-Nummer besitzen. RFC-1558, "A String Representation of LDAP Search Filters", die vom Internic HTTP-Server mit der vollständigen URL: ds.internic.net/rfc/rfc1558.txt verfügbar ist und durch die Bezugnahme Bestandteil dieses Patents ist, spezifiziert die Syntax für die Filter, die eine Suche definieren können. Unter Verwendung der Sucheinrichtung können Client- Entwickler in einfacher Weise leistungsstarke Suchmöglichkeiten schaffen.
Bei der Ausführung einer Verzeichnisabfrage können LDAP-Clients Filterattribute im Verzeichnisbaum wählen, z. B. einen Suchort, und die Suche von dort filtern. "Basis"-Werte können beispielsweise enthalten "st=FL. . .c=us" oder "I=Boca Raton, I=Highland Beach Directory, st=FL, . . ., c=us". Außerdem kann eine LDAP-Suche an nahezu jedem Knoten im LDAP- Verzeichnisbaum beginnen. Der LDAP-Client kann lediglich die Suchbasis einstellen, um den Punkt im Baum zu bestimmen, an dem die Suche beginnen soll. Eine LDAP-Suche kann vorteilhafterweise eine Ergebnismenge unter Bezugnahme auf die Lokation im LDAP- Verzeichnisbaum eines jeden zutreffenden Eintrags liefern. Die Ergebnismenge kann unter Verwendung eines registrierten LDAP- Namens (DN), der dem LDAP-Client den Pfad zum LDAP- Verzeichniseintrag anzeigt, an den LDAP-Client übertragen werden, z. B. "dn: cn=John Doe, I=Boca Raton, I=Highland Beach Directory, st=FL, . . ., c=us". In diesem Beispiel befindet sich "John Doe" in der Stadt "Boca Raton", im Verzeichnis "Highland Beach", im Bundesstaat "FL" und im Land "US".
Der LDAP-Verzeichnisdienst basiert auf einem Client-Server- Modell. Genauer enthalten ein oder mehrere LDAP-Server die Daten, die den LDAP-Verzeichnisbaum umfassen. Ein LDAP-Client kann eine Verbindung zu einem LDAP-Server herstellen und eine Datenanforderung übertragen. Der Server kann entweder mittels der Daten antworten oder, wenn die Daten nicht zur Verfügung stehen, versuchen, mit einem weiteren Server zu verbinden, der üblicherweise ein weiterer LDAP-Server ist, der dann die Anforderung erfüllen kann. Das LDAP verwendet diese Bezugsmöglichkeit, um zusammenwirkende Gemeinschaften von nicht miteinander verbundenen LDAP-Servern zu implementieren und um zu erzwingen, dass alle Datenbankänderungen auf bestimmte Master- LDAP-Server bezogen werden. Bemerkenswerterweise hat der angeschlossene Client dieselbe Sicht auf das Verzeichnis, wenn die LDAP-Server dieselbe Bezeichnungskonvention verwenden, unabhängig davon, zu welchem LDAP-Server ein Client eine Verbindung herstellt. Das heißt, ein Name, der einem LDAP-Server angeboten wird, bezieht sich auf den gleichen Eintrag, auf den er sich auch in einem anderen LDAP-Server beziehen würde.
Auf der untersten Ebene stellt ein Client, der Zugang zu Verzeichnisinformationen anfordert, über eine TCP/IP-Verbindung einen Anschluss zu einem LDAP-Server her. Anschließend kann der Client über die TCP/IP-Verbindung LDAP-Befehle zum LDAP-Server übertragen. Bemerkenswerterweise werden zum Übertragen eines LDAP-Befehls lediglich ein Name des Domainnamensystems (DNS, Domain Name System) oder eine explizite Internet-Protokolladresse für den LDAP-Server und eine Portnummer, z. B. Port 389, benötigt. Beim Empfangen des übertragenen LDAP-Befehls kann der LDAP-Server den LDAP-Befehl verarbeiten und, wenn dies möglich ist, mit den Verzeichnisinformationen antworten. Somit könnte ein Client zum Befehligen eines LDAP-Servers mit der URL directory.xyz.com in einem LDAP-Client "Idap:/ / directory.xyz.com/<LDAP command<" angeben, wobei Idap: den Port 389 aufruft, directory.xyz.com ein gültiger DNS-Name und <LDAP command< ein Befehl des LDAP-Protokolls ist, der vom LDAP- Client an den LDAP-Server ausgegeben wird.
Der folgende Quellencode, der in der Programmiersprache "C" geschrieben ist, erläutert ein beispielhaftes Verfahren zum Ausgeben eines LDAP-Befehls von einem Client an einen LDAP-Server und zum Empfangen der Verzeichnisinformationen als Antwort vom LDAP-Server:
LDAPv3.1 stellt eine "Plug-In"-Architektur dar, die es einem dritten Leistungsanbieter (Provider) ermöglicht, Dienste in einen LDAP-Server zu integrieren und nachfolgend die Verarbeitungssteuerung zu erlangen, wenn ein Benutzer des Host- LDAP-Servers den Knoten des Plug-In in der LDAP-Baumstruktur spezifiziert. Ein Plug-In des LDAP-Servers ist ein gemeinsam genutztes Objekt oder eine gemeinsam genutzte Bibliothek, die Funktionen enthält, die außerhalb der Funktionen liegen, die mit dem LDAP-Server bereitgestellt werden. Plug-In-Funktionen können geschrieben werden, um die folgenden Tasks auszuführen: Prüfen von Daten, bevor der Server eine LDAP-Operation an den Daten ausführt; Ausführen einer benutzerdefinierten Aktion, nachdem der Server eine LDAP-Operation beendet hat; und Ausführen erweiterter Operationen; Bereitstellen von alternativen Abgleichsregeln beim Vergleichen bestimmter Attributwerte. In der vorliegenden Erfindung wird das LDAP-Plug-In verwendet, um eine vorhandene Back-End-Datenbank durch die Datenbank eines proprietären DA- Systems zu ersetzen.
Wenn ein Plug-In eines LDAP-Servers verwendet wird, kann der LDAP-Server beim Einschalten das spezifizierte gemeinsam genutzte Objekt oder die gemeinsam genutzte Bibliothek laden und während der Verarbeitung verschiedener LDAP-Anforderungen die darin gespeicherten Plug-In-Funktionen aufrufen. Bemerkenswerterweise kann der LDAP-Server eine Plug-In-Funktion an mehreren Punkten im Verarbeitungsprozess einer LDAP-Anforderung aufrufen. Der LDAP- Server kann beispielsweise die Plug-In-Funktionen des LDAP- Servers aufrufen, bevor er die LDAP-Operation ausführt; wenn der LDAP-Server Einträge in der Datenbank hinzufügen, modifizieren, löschen oder finden soll; vor dem Schreiben eines Eintrags in die Datenbank; nach dem Lesen eines Eintrags aus der Datenbank; nach dem Ausführen einer LDAP-Operation; wenn eine LDAP-Anforderung eine erweiterte Operation enthält; wenn der LDAP-Server ein Attribut indiziert; und wenn ein LDAP-Server Kandidaten für Suchergebnisse auf der Grundlage eines Attributs filtert. In der vorliegenden Erfindung kann die Plug-In-Funktion während der Ausführung einer LDAP-Operation aufgerufen werden.
In den meisten Fällen leitet der LDAP-Server dann, wenn der LDAP- Server eine Plug-In-Funktion des LDAP-Servers aufruft, einen Parameterblock zur Plug-In-Funktion. Der Parameterblock kann Daten enthalten, die für die Operation, die durch die Plug-In- Funktion ausgeführt wird, relevant sind. Zum Beispiel kann der Parameterblock bei einer LDAP-Hinzufügungsoperation den Eintrag, der dem Verzeichnis hinzugefügt werden soll, und den registrierten Namen (DN) dieses Eintrags enthalten. Folglich kann die Plug-In-Funktion des Servers auf Daten im Parameterblock zugreifen und diese modifizieren. Ferner kann die Plug-In- Funktion dann, wenn die Plug-In-Funktion des LDAP-Servers aufgerufen wird, bevor eine LDAP-Operation ausgeführt wird, die Ausführung der LDAP-Operation verhindern. Eine Plug-In-Funktion kann beispielsweise Daten auf Gültigkeit prüfen, bevor dem Verzeichnis ein neuer Eintrag hinzugefügt wird. Wenn die Daten ungültig sind, kann die Plug-In-Funktion die LDAP- Hinzufügungsoperation abbrechen und eine Fehlermeldung an den LDAP-Client zurücksenden.
Trotzdem ist das LDAP in gegenwärtige DA-Systeme nicht integriert worden. Die Integration des LDAP in vorhandene DA-Systeme könnte sich tatsächlich als problematisch erweisen, insbesondere dort, wo die Daten im DA-System in einer solchen Weise strukturiert sind, die mit der hierarchischen baumähnlichen Struktur herkömmlicher Systeme, die dem LDAP entsprechen, inkompatibel ist. Somit besteht ein Bedarf nicht nur an einem Verfahren und einem System zum Anwenden des LDAP auf vorhandene DA-Systeme, sondern auch an einem Verfahren zum Umwandeln des zugrunde liegenden DA-Systems, sodass die darin enthaltenen Daten so erscheinen, dass sie strukturell in einer typischen hierarchischen baumähnlichen Verzeichnisstruktur organisiert sind.
ZUSAMMENFASSUNG DER ERFINDUNG
Große DA-Systeme (Directory Assistance, Verzeichnisunterstützung) verwenden proprietäre Datenbankstrukturen mit proprietärem Zugriff, um Zugriffszeiten und das gesamte Skalieren von Millionen von Verzeichniseinträgen zu minimieren. Der moderne Trend zu einem offenen, auf Standards basierenden Zugriff auf Verzeichnisinformationen, der am Lightweight Directory Access Protocol (LDAP) veranschaulicht wird, zwingt die Operatoren von proprietären DA-Systemen, Parallelsysteme zu verwenden, wobei deren Implementierung und Unterhaltung teuer sein kann.
Ein System und ein Verfahren gemäß der erfindungsgemäßen Anordnung ermöglicht Operatoren von proprietären DA-Systemen, ein einzelnes DA-System zu implementieren und zu unterhalten, das infolge der vorliegenden Erfindung mehrere Zugriffstypen unterstützen kann.
Ein Verfahren zum Abbilden einer LDAP-Schnittstelle auf ein DA- System kann die folgenden Schritte enthalten. Erstens können LDAP-kompatible Suchargumente zum Durchsuchen einer LDAP- Datenbank aus einer LDAP-Anforderung extrahiert werden. Zweitens können die LDAP-kompatiblen Suchargumente in Suchargumente umgewandelt werden, die mit einer Datenbank des DA-Systems kompatibel sind. Drittens kann die Datenbank des DA-Systems unter Verwendung der umgewandelten Suchargumente abgefragt werden. Viertens kann als Antwort auf die Abfrage eine Ergebnismenge von Einträgen aus der Datenbank des DA-Systems empfangen werden. Schließlich kann die Ergebnismenge in eine LDAP-kompatible Ergebnismenge umgewandelt werden.
Vorzugsweise kann jeder der fünf Schritte in einem Plug-In zum LDAP-Server ausgeführt werden. Außerdem kann das Verfahren den Schritt des Empfangens der LDAP-Anforderung in einem LDAP-Client enthalten. Des Weiteren kann das Verfahren den Schritt des Empfangens einer LDAP-Anforderung in einem LDAP-Server umfassen.
In der bevorzugten Ausführungsart ist die LDAP-Anforderung ein LDAP-gefiltertes Attribut. Demzufolge kann in der bevorzugten Ausführungsart der Schritt des Umwandelns den Schritt des Abbildens von Suchargumenten in den gefilterten Attributen auf Suchargumente enthalten, die mit der Datenbank des DA-Systems kompatibel sind. Bemerkenswerterweise kann der Abbildungsschritt das Konsultieren einer Datenbank zur Standortauflösung umfassen, wobei jeder Eintrag in der Datenbank zur Standortauflösung einen Standort auf eine Menge von Standortkennungen abbildet, und wobei bei der Standortauflösung ein Datensatz in der Datenbank den Suchargumenten entsprechend identifiziert wird, sowie das Bilden einer Abfrageaussage für die Datenbank des DA-Systems anhand einer im identifizierten Datensatz angegebenen Menge von Standortkennungen enthalten. Außerdem kann die Menge von Standortkennungen wenigstens einen Bereichscode, ein Adressbuch oder einen Standort enthalten.
Ein System zum Abbilden einer LDAP-Schnittstelle auf ein DA- System kann die folgenden Komponenten enthalten: einen LDAP- Client zum Übertragen von LDAP-Anforderungen nach Verzeichnisinformationen; einen LDAP-Server zum Empfangen und Verarbeiten der LDAP-Anforderungen; ein DA-System zum Bereitstellen der Verzeichnisinformationen als Antwort auf mit dem DA-System kompatiblen Anforderungen nach Verzeichnisinformationen des DA-Systems, wobei die Verzeichnisinformationen des DA-Systems in einer Datenbank des DA-Systems gespeichert sind; und ein Plug-In, das mit dem LDAP- Server verbunden ist. Es ist kennzeichnend, dass das Plug-In die LDAP-Anforderungen empfangen kann, daraus die LDAP-kompatiblen Suchargumente zum Durchsuchen einer LDAP-Datenbank extrahieren kann und die LDAP-kompatiblen Suchargumente in Suchargumente umwandeln kann, die mit der Datenbank des DA-Systems kompatibel sind. Außerdem kann das Plug-In das DA-System mit den umgewandelten Suchargumenten abfragen, von diesem als Antwort auf die Abfrage eine Ergebnismenge von Einträgen empfangen, die Ergebnismenge in eine LDAP-kompatible Ergebnismenge umwandeln und die LDAP-kompatible Ergebnismenge zum LDAP-Server leiten. Schließlich kann der LDAP-Server die LDAP-kompatible Ergebnismenge dem LDAP-Client zur Verfügung stellen.
In der bevorzugten Ausführungsart ist die LDAP-Anforderung eine LDAP-kompatible Suche. Das Plug-In kann vorzugsweise die LDAP- kompatiblen Suchargumente in Suchargumente umwandeln, die mit der Datenbank des DA-Systems kompatibel sind, indem Suchargumente im gefilterten Attribut auf Suchargumente abgebildet werden, die mit der Datenbank des DA-Systems kompatibel sind. Wenn dies erfolgt, kann das System weiter eine Datenbank zur Standortauflösung enthalten, wobei die Abbildung durch die Datenbank zur Standortauflösung bestimmt ist und jeder Eintrag in der Datenbank zur Standortauflösung einen Standort auf eine Menge von Standortkennungen abbildet. Außerdem enthält die Menge von Standortkennungen wenigstens einen Bereichscode, ein Adressbuch oder einen Standort.
Das System kann ferner ein Datei-Aktualisierungsprogramm zum Laden der Standort- und Verzeichnisinformationen in die Datenbank des DA-Systems und einen Standortprozessor zum Erzeugen einer Ladedatei auf Grundlage der Standortinformationen enthalten. Bemerkenswerterweise kann die Ladedatei die Datenbank zur Standortauflösung mit dem Plug-In verbinden. Des Weiteren kann die Ladedatei auch eine LDAP-Datenbank mit dem Plug-In verbinden.
KURZBESCHREIBUNG DER ZEICHNUNGEN
Es werden in den Zeichnungen Ausführungsarten gezeigt, die gegenwärtig bevorzugt sind, wobei jedoch verständlich ist, dass die Erfindung nicht auf die genauen dargestellten Anordnungen und Ausrüstungen beschränkt ist.
Fig. 1 ist eine schematische Darstellung eines Computer- Kommunikationsnetzes, das ein DA-System, einen LDAP-Server und einen LDAP-Client verbindet.
Fig. 2 ist eine bildliche Darstellung eines Client-Computers, der geeignet ist, um einen LDAP-Client aufzunehmen.
Fig. 3 ist eine bildliche Darstellung eines zur Aufnahme eines LDAP-Servers geeigneten Serverrechners, der über das Computer- Kommunikationsnetz von Fig. 1 mit einem zur Aufnahme eines DA- Systems geeigneten Serverrechner verbunden ist.
Fig. 4 ist eine schematische Darstellung eines Systems zum Hinzufügen von Standorten zu einem DA-System mit Unterstützung der LDAP-Schnittstelle der erfindungsgemäßen Anordnung.
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
Eine LDAP-Schnittstelle zu einem DA-System kann eine in einem LDAP-Server integrierte Softwareschicht zur Verfügung stellen, die das LDAP-Schema an das proprietäre DA-System anpassen kann und umgekehrt. Genauer kann die LDAP-Schnittstelle die Daten, die im DA-System enthalten sind, in ein LDAP-Schema abbilden, sogar wenn das DA-System selbst nicht in einer baumähnlichen LDAP- Struktur organisiert ist. Folglich können Clients unter Verwendung einer Standard-LDAP-Schnittstelle auf das DA-System zugreifen, ohne die proprietäre Natur der Informationen preiszugeben oder die Sicherheit der DA-Daten zu verletzen.
Fig. 1 erläutert eine typische Netzumgebung 1, in der eine LDAP- Schnittstelle zu einem DA-System 18 betrieben werden kann. Diese Netzumgebung 1 enthält ein Computer-Kommunikationsnetz 10, das mehrere Clientrechner 12 und mehrere Server 14 verbindet, wobei der Server wenigstens eine LDAP-Serveranwendung 16 und wenigstens eine DA-Systemanwendung 18 enthält, obwohl in der Figur zur Einfachheit der Erläuterung lediglich ein einziger Client 12, ein einziger LDAP-Server 16 und ein einziges DA-System 18 gezeigt werden. Üblicherweise könnte die Netzumgebung 1 jedoch potentiell Millionen von Clients 12 und Tausende LDAP-Server 16 und DA- Systeme 18 enthalten.
Das Computer-Kommunikationsnetz 10 kann ein nicht öffentlich zugängliches Netz, wie ein LAN (local area network, Lokalnetz) oder ein WAN (wide area network, Fernnetz), oder vorzugsweise das Internet sein. Die Verbindungen zwischen den LDAP-Servern 16, den DA-Systemen 18 und den Clients 12 kann man sich als virtuelle Schaltungen vorstellen, die zum Zwecke der schnellen Kommunikation zwischen den LDAP-Servern 16, den DA-Systemen 18 und den Clients 12 aufgebaut werden. Im Betrieb können die Clients 12 über das Computer-Kommunikationsnetz 10 eine Verbindung mit einem LDAP-Server 16 herstellen, um eine Anforderung nach Daten, die im DA-System 18 gespeichert sind, zu übertragen. Die Daten können üblicherweise Daten sein, die die Telekommunikation betreffen, z. B. ein Verzeichniseintrag.
Wie in Fig. 1 dargestellt, enthält jeder Server 14 vorzugsweise einen Computer, der eine zentrale Verarbeitungseinheit (central processing unit, CPU) 26, eine interne Speichervorrichtung 24 wie einen Arbeitsspeicher (random access memory, RAM), einen Festspeicher 22 wie ein Festplattenlaufwerk (hard disk drive, HDD) enthält. Der Server 14 enthält außerdem eine Netzschnittstellenschaltung (network interface circuitry, NIC) 28 zur Kommunikationsverbindung des Servers 14 mit dem Computer- Kommunikationsnetz 10. Wahlweise kann der Server 14 ferner eine (nicht abgebildete) Tastatur und wenigstens eine (nicht abgebildete) Benutzerschnittstellen-Anzeigeeinheit wie ein Video- Anzeigeterminal (video display terminal, VDT) enthalten, die für den Zweck des Zusammenwirkens mit dem Server 14 mit diesem betriebsfähig verbunden sind. Die Erfindung ist jedoch in dieser Hinsicht nicht beschränkt. Vielmehr benötigt der Server 14 weder eine Tastatur noch ein VDT, um gemäß der erfindungsgemäßen Anordnungen zu arbeiten.
Wie dem Fachmann wohlbekannt ist, kann die CPU 26 jeden geeigneten Mikroprozessor oder eine andere elektronische Verarbeitungseinheit enthalten. Beispiele einer geeigneten CPU können einen Intel Pentium®-Prozessor, einen IBM PowerPC®- Prozessor oder einen AMD Athlon®-Prozessor enthalten. Der Festspeicher 22 kann ein Betriebssystem, z. B. IBM AIX® (nicht abgebildet), speichern. Außerdem kann dort, wo der Server 14 eine LDAP-Serveranwendung beinhaltet, der Festspeicher 22 eine LDAP- Serveranwendung 16 speichern, die LDAP-Anforderungen nach Verzeichnisinformationen verarbeiten kann. Dort, wo der Server 14 im Gegensatz ein DA-System beinhaltet, kann sich die DA- Systemanwendung 18 in ähnlicher Weise im Festspeicher 22 befinden. Überdies kann in der bevorzugten Ausführungsart die Datenbank 30 der Verzeichnisinformationen in einer Datenbank im Festspeicher 22 gespeichert sein, die Erfindung ist jedoch in dieser Hinsicht nicht beschränkt. Statt dessen kann die Datenbank eine verteilte Datenbank sein, die in einem Festspeicher irgendwo im Computer-Kommunikationsnetz 10 gespeichert ist. Außerdem ist die Erfindung nicht im Hinblick auf die Trennung der LDAP- Serveranwendung 16 von der DA-Systemanwendung 18 beschränkt. Statt dessen können sich beide in demselben Festspeicher 22 befinden und in demselben Server 14 ausgeführt werden.
In einem Serverrechner 14, der einen LDAP-Server 16 beinhaltet, kann der Festspeicher 22 ferner ein LDAP-Plug-In 20 zum LDAP- Server 16 speichern. Das LDAP-Plug-In 20 kann eine Funktion enthalten, um eine LDAP-Schnittstelle mit einem DA-System kommunikationstechnisch zu verbinden. In der bevorzugten Ausführungsart kann die Plug-In-Funktion durch einen Programmierer mit branchenüblichen Kenntnissen implementiert werden, indem wohlbekannte LDAP-Programmierungsverfahren unter Verwendung der Technologie einer Sprache der dritten Generation, wie z. B. ANSI C, verwendet werden. Diese Verfahren können in die Plug-In-Funktion unter Verwendung kommerziell verfügbarer Entwicklungswerkzeuge für die oben beschriebenen Betriebssysteme implementiert und eingeschlossen werden. Die Erfindung ist jedoch nicht durch die für das Implementieren des Plug-In verwendete Programmiersprachentechnologie beschränkt.
In Fig. 2 enthalten die Clients 12 in ähnlicher Weise wie der Server 14 vorzugsweise einen Computer mit einer CPU 32, einer internen Speichervorrichtung 34, einem Festspeicher 36 und einer Netzschnittstellen-Schaltungsanordnung 38, wie im Wesentlichen oben beschrieben wurde. In der bevorzugten Ausführungsart ist der Client 12 ein Personal Computer. Somit kann der Client 12 ferner eine Tastatur 40 und wenigstens eine Anzeigeeinheit 42 mit Benutzerschnittstelle, wie ein Video-Anzeigeterminal (VDT) enthalten, die für den Zweck des Zusammenwirkens mit dem Client 12 mit diesem betriebsfähig verbunden sind. Außerdem kann der Client 12 ferner eine Zeigereinheit 44 enthalten. Wie dem Fachmann wohlbekannt ist, kann die CPU 32 wie im Fall des Servers 14 einen geeigneten Mikroprozessor oder eine andere elektronische Verarbeitungseinheit enthalten. Beispiele einer geeigneten CPU können einen Intel Pentium-Prozessor, einen IBM PowerPC-Prozessor oder einen AMD Athlon-Prozessor enthalten.
Der Festspeicher 36 kann jeweils ein Betriebssystem 46 und eine Browseranwendung 48 für Hypermediadokumente zum Anzeigen von Hypermediadokumenten 50, z. B. Web-Seiten, speichern.
Vorzugsweise können sowohl das Betriebssystem 46 als auch die Browseranwendung 48 für Hypermediadokumente bei der Initialisierung in die interne Speichervorrichtung 34 geladen werden. Vorzugsweise ermöglicht die Browseranwendung 48 für Hypermediadokumente dem Client 12, Anforderungen für Hypermediadokumente 50 an Web-Server, die mit dem Computer- Kommunikationsnetz 10 kommunikationstechnisch verbunden sind, zu senden und von diesen zu empfangen. Außerdem kann der Browser für Hypermediadokumente das LDAP-Protokoll als ein LDAP-Client unterstützen. Deswegen kann der Browser 48 für Hypermediadokumente LDAP-Anforderungen nach Verzeichnisinformationen über das Computer-Kommunikationsnetz 10 zu den Servern 14 übertragen. In der bevorzugten Ausführungsart kann die Browseranwendung 48 für Hypermediadokumente ein LDAP- fähiger Web-Browser sein, z. B. der Netscape Communicator® oder der Microsoft Internet Explorer®.
Obwohl das Voranstehende eine bevorzugte Implementierung der Erfindung für ein von der International Business Machines Corporation hergestelltes DA-System beschreibt, das eine proprietäre Datenbank aufweist und als "Listing Services Inquiry Program for AIX" (LSIP) bezeichnet wird, ist die Erfindung nicht auf das IBM DA-System oder auf die LSIP-Abfrage-Datenbank beschränkt. Vielmehr wird das IBM DA-System nur als ein Beispiel eines proprietären DA-Systems zur Verwendung in der vorliegenden Erfindung dargestellt.
Im IBM DA-System ist die Datenbank 30 des DA-Systems eine LSIP- Abfrage-Datenbank, die unter Verwendung der Menge von LSIP- Standortkennungen eine hierarchische Sicht auf die Kundenstandorte enthält. Bemerkenswerterweise ist die LSIP- Abfrage-Datenbank eine unstrukturierte Datenbank. Als Folge der Verwendung der unstrukturierten LSIP-Abfrage-Datenbank liefert das Plug-In 20 bei der Umwandlung der LDAP-Anforderung in eine LSIP-kompatible Anforderung eine Umwandlung eines vollkommen verschiedenartigen Datenschemas in ein anderes. Insbesondere wird in der bevorzugten Ausführungsart das telefonbuchartige LDAP- Schema, das eine standortgestützte Baumstruktur enthält, in die proprietäre unstrukturierte LSIP-Abfrage-Datenbank umgewandelt und entsteht aus dieser. Die Umwandlungsebene des Plug-In 20 kann jedoch für den LDAP-Server das Aussehen einer virtuellen LDAP- Baumstruktur bei Abfrageergebnissen sowohl in Eingaberichtung als auch in Ausgaberichtung aufweisen.
Um diese Umwandlung auszuführen, kann das Plug-In 20 ein ankommendes LDAP-kompatibles Suchargument, das in einer LDAP- Anforderung enthalten ist, in das proprietäre LSIP-Format abbilden. In der bevorzugten Ausführungsart kann das LDAP- kompatible Suchargument beispielsweise ein standortgestützter registrierter Name (DN) sein. Zum Vergleich, eine LSIP- Anforderung kombiniert ein NPA (Bereichscode), Book (Buch, bezeichnet ein Hardcopy-Telefonbuch) und die Standortkennung Loc ID (spezieller Standort für die LSIP-Suche). Somit kann in einem Beispiel, das durch eine Eingabesuchbasis von "I=Boca Raton, I=Highland Beach Directory, st=FL, . . ., c=us" gegeben ist, das Plug-In 20 basierend auf NPA, Book und Loc ID diesen standortgestützten registrierten Namen (DN) in eine LSIP- Anforderung umwandeln, um eine Suche nach Einträgen auszuführen. Das Plug-In 20 kann die Werte NPA, Book und Loc ID ableiten, indem sie aus dem Eingabe-DN Suchargumente für die Abfrage einer LSIP-Datenbank zur Standortauflösung zusammensetzt. Eine LSIP- Datenbank zur Standortauflösung kann ein Feld "Caption Set Level (Tabellenkopf, Ebene)", ein Feld "Search/Display Name (Name suchen/anzeigen)", ein Feld "Alternate Finding Name (Alternativer Suchbegriff)" und ein Feld "Locality ID Set (Standortkennung) enthalten. Die Suchabfrage der LSIP-Datenbank zur Standortauflösung kann Werte für NPA, Book und Loc ID ergeben, die verwendet werden, um eine normale LSIP-Abfrage von Einträgen auszuführen.
In Fig. 3 kann die LDAP-Serveranwendung 16 im Betrieb LDAP- Anforderungen von Clients 12 akzeptieren, um übertragene Anforderungen nach Daten, die in der Datenbank 30 des DA-Systems gespeichert sind, auszuführen. Genauer können LDAP-Anforderungen über das Computer-Kommunikationsnetz 10 in der Netzschnittstellen-Schaltungsanordnung 28A empfangen werden. Die Netzschnittstellen-Schaltungsanordnung 28A kann die LDAP- Anforderungen zum (nicht abgebildeten) Betriebssystem leiten, das wiederum die LDAP-Anforderungen zu der LDAP-Serveranwendung 16 leiten kann, die im Festspeicher 22A gespeichert ist und im Speicher 24A ausgeführt wird. Anschließend kann das LDAP-Plug-In 20 die Anforderung empfangen und diese in eine Abfrage umwandeln, die von der DA-Systemanwendung 18 erkannt werden kann.
Das Plug-In 20 kann die zum DA-System kompatible Anforderung zur DA-Systemanwendung 18 übertragen. Genauer kann das Plug-In 20 die Anforderung unter Verwendung des TCP/IP-Kommunikationsprotokolls zum (nicht abgebildeten) Betriebssystem leiten, das wiederum die Anforderung über die Netzschnittstellen-Schaltungsanordnung 28A zum Computer-Kommunikationsnetz 10 leiten kann. Die zum DA-System kompatiblen Anforderungen können über das Computer- Kommunikationsnetz 10 in der Netzschnittstellen- Schaltungsanordnung 28B empfangen werden. Die Netzschnittstellen- Schaltungsanordnung 28B kann die LDAP-Anforderungen zum (nicht abgebildeten) Betriebssystem leiten, das wiederum die LDAP- Anforderungen zur DA-Systemanwendung 18, die im Festspeicher 22B gespeichert ist und im Speicher 24B ausgeführt wird, leiten kann.
Anschließend kann die DA-Systemanwendung 18 eine Suche in der Datenbank 30 gemäß der Abfrage ausführen und die Ergebnismenge über das Plug-In 20 an die LDAP-Serveranwendung 16 zurückgeben. Genauer kann die DA-Systemanwendung 18 die Ergebnismenge unter Verwendung des TCP/IP-Kommunikationsprotokolls zum (nicht abgebildeten) Betriebssystem leiten, das wiederum die Anforderung über die Netzschnittstellen-Schaltungsanordnung 28B an das Computer-Kommunikationsnetz 10 übertragen kann. Die Ergebnismenge kann über das Computer-Kommunikationsnetz 10 in der Netzschnittstellen-Schaltungsanordnung 28A empfangen werden. Die Netzschnittstellen-Schaltungsanordnung 28A kann die Ergebnismenge zum (nicht abgebildeten) Betriebssystem leiten, das wiederum die Ergebnismenge zum Plug-In 20 leiten kann. Das Plug-In 20 kann wiederum die zum DA-System kompatible Ergebnismenge in ein LDAP- kompatibles Format umwandeln und dieses zur LDAP-Serveranwendung 16 leiten. Die LDAP-Serveranwendung 16 kann daraufhin die Ergebnismenge zum anfordernden LDAP-Client übertragen, der sich im Client 12 befindet und dort ausgeführt wird.
Nach dem Umwandeln der LDAP-Anforderung kann das Plug-In 20 die umgewandelte zum DA-System kompatible Anforderung, z. B. eine LSIP-Anforderung, zum DA-System 18 übertragen. Genauer kann das Plug-In 20 die Anforderung unter Verwendung des TCP/IP- Kommunikationsprotokolls zum (nicht abgebildeten) Betriebssystem leiten, das wiederum die Anforderung über die Netzschnittstellen­ Schaltungsanordnung 28A an das Computer-Kommunikationsnetz 10 übertragen kann. Die zum DA-System kompatiblen Anforderungen können im DA-System 18 über das Computer-Kommunikationsnetz 10 und über die Netzschnittstellen-Schaltungsanordnung 28B empfangen werden. Genauer kann die Netzschnittstellen-Schaltungsanordnung 28B die Datenpakete empfangen, die die zum DA-System kompatiblen Anforderungen enthalten, und kann die zum DA-System kompatiblen Anforderungen zur DA-Systemanwendung 18, die im Festspeicher 22B gespeichert ist und im Speicher 24B ausgeführt wird, leiten.
Anschließend kann das DA-System 18 eine Durchsuche der Datenbank 30 gemäß der zum DA-System kompatiblen Anforderung ausführen. Wenn die Einträge von der Datenbank 30 erhalten werden, kann eine Ergebnismenge erzeugt werden. Zum Beispiel können im Fall des IBM DA-Systems dann, wenn die Einträge von der LSIP-Abfragedatenbank erhalten werden, jeweils die Werte von NPA, Book und Loc, die einem übereinstimmenden Eintrag entsprechen und in jedem übereinstimmenden Datensatz enthalten sind, als eine Ergebnismenge zurückgegeben werden. Das DA-System 18 kann die Ergebnismenge unter Verwendung des TCP/IP- Kommunikationsprotokolls zum (nicht abgebildeten) Betriebssystem übertragen, das wiederum die Anforderung über die Netzschnittstellen-Schaltungsanordnung 28B an das Computer- Kommunikationsnetz 10 übertragen kann. Die Ergebnismenge kann über das Computer-Kommunikationsnetz 10 in der Netzschnittstellen-Schaltungsanordnung 28A empfangen werden. Die Netzschnittstellen-Schaltungsanordnung 28A kann die Ergebnismenge zum (nicht abgebildeten) Betriebssystem übertragen, das wiederum die Ergebnismenge zum Plug-In 20 leiten kann. Es ist bedeutsam, dass das Plug-In 20 wiederum die zum DA-System kompatible Ergebnismenge in ein LDAP-kompatibles Format umwandeln kann und dieses zu einer LDAP-Serveranwendung 16 leiten kann. Das heißt, die Ergebnismenge kann zurück in einen registrierten Namen (DN) für LSIP-gestützte Einträge umgewandelt werden, um einen relativen Standort der Ergebnismenge in der virtuellen LSAP- Baumstruktur anzuzeigen. Die LDAP-Serveranwendung 16 kann daraufhin die Ergebnismenge zum anfragenden LDAP-Client übertragen, der sich im Client 12 befindet und dort ausgeführt wird.
Fig. 4 erläutert ein bevorzugtes Verfahren zum Implementieren einer LDAP-Schnittstelle in einem DA-System. Um die Standorte der Kundendaten in geeigneter Weise darzustellen, kann in gegenwärtigen DA-Systemen eine geografische Darstellung definiert werden, um alle Standorte mit den Einträgen eines Kunden einzuschließen. Dieser Vorgang kann durch einen Vorgang 54 eines Datei-Aktualisierungsprogramms (File Update Program, FUP) ausgeführt werden. In der vorliegenden Erfindung kann dem FUP- Vorgang 54 ein zusätzlicher Schritt zum Laden der Kundendaten angefügt werden. Genauer kann der zusätzliche Schritt sowohl die Erzeugung der auf den LDAP-Standort basierten Organisation der Verzeichnisinformationen als auch der auf den LSIP-Standort basierten Organisation von Verzeichnisinformationen unterstützen. Um das eine auf dem anderen abzubilden, muss ferner die Datenbank 70 zur Standortauflösung erzeugt werden.
Beim Empfang einer Standorteingabe 52 und möglicherweise einer weiteren Eingabe 58 kann der FUP-Prozess 54 die Standorte 60, die Domains 62 und die Einträge 64 jeweils in der LocMenu-Datenbank 68, in der Domain-Datenbank 66 bzw. in der LSIP-Abfrage-Datenbank 30 aktualisieren. Außerdem kann ein Standort-Prozessor 56 die vorhandenen Standort- und Domain-Informationen 60, 62, die in den vorhandenen Datenbanken 66, 68 gespeichert sind, verwenden, um sowohl für LSIP als auch für das LDAP Ladedateien zu bilden. Vorzugsweise werden alle Standorte des Kunden in den Standort- Prozessor 56 eingegeben, der eine Domain/Standort-Ladedatei 72 erzeugen kann, die das Zwischenaufzeichnungsformat (Intermediate Record Format, IRF) 76 und das LDAP-Verzeichnisinformationsformat (LDAP Directory Information Format, LDIF) 74 parallel handhaben kann.
Bemerkenswerterweise wird das LDIF 74 vorzugsweise lediglich dann verwendet, wenn der Kunde erweiterte Einträge aufweist, die sich im Gegensatz zur LSIP-Datenbank 30 in einer aktuellen "wahren" LDAP-Verzeichnisdatenbank 40 befinden. LDIF 74 kann eine von oben nach unten gerichtete standortgestützte Hierarchie der Einträge enthalten. Somit könnte dann, wenn ein Knoten oder ein registrierter Name (DN) im Verzeichnis "cn=John Doe, I=Boca Raton Window, I=Highland Beach Directory, st=FL, . . ., c=us" enthält, eine entsprechende LDIF-Darstellung Folgendes umfassen:
Da die Einträge von dieser Standorthierarchie in deren registrierten Namen abhängen, wird vorzugsweise eine LDIF-Datei der Standorte für den Kunden als Voraussetzung für das Laden der tatsächlichen Datensätze geladen.
In ähnlicher Weise kann das IRF eine Hierarchie von Standorten, die in der LSIP-Datenbank 70 zur Standortauflösung indiziert sind, darstellen. Das IRF kann z. B. die folgende Hierarchie der in der Datenbank 70 zur Standortauflösung gespeicherten Standorte darstellen:
Zusammenfassend sind in der bevorzugten Ausführungsart der vorliegenden Erfindung die Standorte eines Kunden vorzugsweise in zwei Formaten, (1) IRF für das Laden der LSIP-Abfrage-Datenbank 70 und (2) LDIF für das Laden der LDAP-Datenbank 40, dargestellt, wenn der Kunde erweiterte Einträge besitzt, die sich nicht in der LSIP-Abfrage-Datenbank 70 befinden.

Claims (22)

1. Verfahren zum Abbilden einer LDAP-Schnittstelle (Lightweight Directory Access Protocol, einfaches Verzeichniszugriffsprotokoll) auf ein DA-System (Directory Assistance, Verzeichnisunterstützung), das die folgenden Schritte umfasst:
  • a) Extrahieren von LDAP-kompatiblen Argumenten aus einer LDAP-Anforderung zum Durchsuchen einer LDAP-Datenbank;
  • b) Umwandeln der LDAP-kompatiblen Argumente in Suchargumente, die mit einer Datenbank des DA-Systems kompatibel sind;
  • c) Abfragen der Datenbank des DA-Systems mit den umgewandelten Suchargumenten;
  • d) Empfangen einer Ergebnismenge von Einträgen aus der Datenbank des DA-Systems als Antwort auf die Abfrage; und
  • e) Umwandeln der Ergebnismenge in eine LDAP-kompatible Ergebnismenge.
2. Verfahren gemäß Anspruch 1, das ferner den folgenden Schritt umfasst:
Empfangen der LDAP-Anforderung von einem LDAP-Client.
3. Verfahren gemäß Anspruch 1, das ferner den folgenden Schritt umfasst:
Empfangen der LDAP-Anforderung in einem LDAP-Server.
4. Verfahren gemäß Anspruch 1, bei dem die LDAP-Anforderung ein LDAP-gefilteres Attribut enthält.
5. Verfahren gemäß Anspruch 4, bei dem der Schritt des Umwandelns den folgenden Schritt umfasst:
Abbilden von Suchargumenten in dem gefilterten Attribut auf Suchargumente, die mit der Datenbank des DA-Systems kompatibel sind.
6. Verfahren gemäß Anspruch 5, bei dem der Schritt des Abbildens die folgenden Schritte umfasst:
Konsultieren einer Datenbank zur Standortauflösung, wobei jeder Datensatz in der Datenbank zur Standortauflösung einen Standort auf eine Menge von Standortkennungen abbildet;
Identifizieren eines den Suchargumenten entsprechenden Datensatzes in der Datenbank zur Standortauflösung; und
Bilden einer Abfrageanweisung für die Datenbank des DA- Systems mit einer Menge von Standortkennungen, die in dem identifizierten Datensatz enthalten ist.
7. Verfahren gemäß Anspruch 6, bei dem die Menge von Standortkennungen wenigstens einen Bereichscode, ein Telefonbuch oder einen Ort umfasst.
8. Verfahren gemäß Anspruch 3, bei dem jeder der Schritte a) bis e) in einem Plug-In zum LDAP-Server ausgeführt wird.
9. System zum Abbilden einer LDAP-Schnittstelle auf ein DA- System, das Folgendes umfasst:
einen LDAP-Client zum Übertragen von LDAP-Anforderungen nach Verzeichnisinformationen;
einen LDAP-Server zum Empfangen und Verarbeiten der LDAP- Anforderungen;
ein DA-System zum Bereitstellen von Verzeichnisinformationen als Antwort auf zum DA-System kompatible Anforderungen nach den Verzeichnisinformationen des DA-Systems, wobei die Verzeichnisinformationen des DA-Systems in einer Datenbank des DA-Systems gespeichert sind; und
ein Plug-In, das mit dem LDAP-Server verbunden ist, wobei das Plug-In die LDAP-Anforderungen empfängt, aus den LDAP- Anforderungen LDAP-kompatible Suchargumente zum Durchsuchen einer LDAP-Datenbank extrahiert, die LDAP-kompatiblen Suchargumente in Suchargumente umwandelt, die mit der Datenbank des DA-Systems kompatibel sind, das DA-System mit den umgewandelten Suchargumenten abfragt, eine Ergebnismenge von Einträgen von dem DA-System als Antwort auf die Abfrage erhält, die Ergebnismenge in eine LDAP-kompatible Ergebnismenge umwandelt, und die LDAP-kompatible Ergebnismenge zum LDAP-Server leitet, wobei der LDAP-Server die LDAP-kompatible Ergebnismenge dem LDAP-Client bereitstellt.
10. System gemäß Anspruch 9, bei dem die LDAP-Anforderung ein registrierter Name ist.
11. System gemäß Anspruch 10, bei dem das Plug-In die LDAP- kompatiblen Suchargumente in Suchargumente umwandeln kann, die mit der Datenbank des DA-Systems kompatibel sind, indem Suchargumente in dem registrierte Namen auf Suchargumente abgebildet werden, die mit der Datenbank des DA-Systems kompatibel sind.
12. System gemäß Anspruch 11, das ferner eine Datenbank zur Standortauflösung enthält, bei dem die Abbildung durch die Datenbank zur Standortauflösung bestimmt ist, wobei jeder Datensatz der Datenbank zur Standortauflösung einen Standort auf eine Menge von Standortkennungen abbildet.
13. System gemäß Anspruch 12, bei dem die Menge von Standortkennungen wenigstens einen Bereichscode, ein Telefonbuch oder einen Ort umfasst.
14. System gemäß Anspruch 12, das ferner Folgendes umfasst:
ein Datei-Aktualisierungsprogramm zum Laden von Standort- und Verzeichnisinformationen in die Datenbank des DA-Systems; und
einen Standortprozessor zum Erzeugen einer Ladedatei, die auf den Standortinformationen basiert, wobei die Ladedatei die Datenbank zur Standortauflösung mit dem Plug-In verbindet.
15. System gemäß Anspruch 14, bei dem die Ladedatei ferner eine LDAP-Datenbank mit dem Plug-In verbindet.
16. Maschinenlesbare Speichervorrichtung, in der ein Computerprogramm gespeichert ist, das mehrere Codeabschnitte zum Abbilden einer LDAP-Schnittstelle auf ein DA-System aufweist, wobei die Codeabschnitte durch eine Maschine ausführbar sind, um zu bewirken, dass die Maschine die folgenden Schritte ausführt:
  • a) Extrahieren von LDAP-kompatiblen Suchargumenten aus einer LDAP-Anforderung zum Durchsuchen einer LDAP-Datenbank;
  • b) Umwandeln der LDAP-kompatiblen Suchargumente in Suchargumente, die mit einer Datenbank des DA-Systems kompatibel sind;
  • c) Abfragen der Datenbank des DA-Systems mit den umgewandelten Suchargumenten;
  • d) Empfangen einer Ergebnismenge von Einträgen aus der Datenbank des DA-Systems als Antwort auf die Abfrage; und
  • e) Umwandeln der Ergebnismenge in eine LDAP-kompatible Ergebnismenge.
17. Maschinenlesbare Speichervorrichtung gemäß Anspruch 16, die ferner bewirkt, dass die Maschine den folgenden Schritt ausführt:
Empfangen der LDAP-Anforderung von einem LDAP-Client.
18. Maschinenlesbare Speichervorrichtung gemäß Anspruch 16, die ferner bewirkt, dass die Maschine den folgenden Schritt ausführt:
Empfangen der LDAP-Anforderung in einem LDAP-Server.
19. Maschinenlesbare Speichervorrichtung gemäß Anspruch 16, wobei die LDAP-Anforderung ein registrierter LDAP-Name ist.
20. Maschinenlesbare Speichervorrichtung gemäß Anspruch 19, wobei der Schritt des Umwandelns den folgenden Schritt umfasst:
Abbilden der Suchargumente in dem registrierten Namen auf Suchargumente, die mit der Datenbank des DA-Systems kompatibel sind.
21. Maschinenlesbare Speichervorrichtung gemäß Anspruch 20, wobei der Schritt des Abbildens die folgenden Schritte umfasst:
Konsultieren einer Datenbank zur Standortauflösung, wobei jeder Datensatz in der Datenbank zur Standortauflösung einen Standort auf eine Menge von Standortkennungen abbildet;
Identifizieren eines den Suchargumenten entsprechenden Datensatzes in der Datenbank zur Standortauflösung; und
Bilden einer Abfrageanweisung für die Datenbank des DA- Systems mit einer Menge von Standortkennungen, die in dem identifizierten Datensatz enthalten ist.
22. Maschinenlesbare Speichervorrichtung gemäß Anspruch 21, wobei die Menge von Standortkennungen wenigstens einen Bereichscode, ein Telefonbuch oder einen Ort umfasst.
DE10131192A 2000-07-17 2001-06-28 Schnittstelle zu Verzeichnisunterstützungssystemen unter Verwendung des Lightweight Directory Access Protocol Ceased DE10131192A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/617,560 US6609121B1 (en) 2000-07-17 2000-07-17 Lightweight directory access protocol interface to directory assistance systems

Publications (1)

Publication Number Publication Date
DE10131192A1 true DE10131192A1 (de) 2002-02-07

Family

ID=24474138

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10131192A Ceased DE10131192A1 (de) 2000-07-17 2001-06-28 Schnittstelle zu Verzeichnisunterstützungssystemen unter Verwendung des Lightweight Directory Access Protocol

Country Status (3)

Country Link
US (2) US6609121B1 (de)
JP (1) JP2002108683A (de)
DE (1) DE10131192A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10330826B4 (de) * 2002-07-15 2008-07-03 Hewlett-Packard Development Co., L.P., Houston Bestimmen einer Ziel-E-Mail-Adresse zum Senden gescannter Dokumente
US20230006895A1 (en) * 2019-12-03 2023-01-05 Telefonaktiebolaget Lm Ericsson (Publ) Discovery of a Service-Providing Network Function

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228300B2 (en) 1998-10-05 2007-06-05 Oracle International Corporation Caching the results of security policy functions
US7366708B2 (en) 1999-02-18 2008-04-29 Oracle Corporation Mechanism to efficiently index structured data that provides hierarchical access in a relational database system
US6954778B2 (en) * 2000-07-12 2005-10-11 Microsoft Corporation System and method for accessing directory service via an HTTP URL
US7197555B1 (en) * 2000-09-13 2007-03-27 Canon Kabushiki Kaisha Directory server tracking tool
US7127517B2 (en) * 2000-12-27 2006-10-24 International Business Machines Corporation Protocol adapter framework for integrating non-IIOP applications into an object server container
US7016945B2 (en) * 2001-04-27 2006-03-21 Sun Microsystems, Inc. Entry distribution in a directory server
US7328210B2 (en) * 2001-08-01 2008-02-05 At&T Mobility Ii Llc Attribute rule enforcer for a directory
US6970873B2 (en) * 2001-08-02 2005-11-29 Sun Microsystems, Inc. Configurable mechanism and abstract API model for directory operations
US7519575B1 (en) * 2001-08-31 2009-04-14 Novell, Inc. Method and apparatus for presenting, searching, and viewing directories
US7003514B2 (en) 2001-09-13 2006-02-21 International Business Machines Corporation Method and apparatus for restricting a fan-out search in a peer-to-peer network based on accessibility of nodes
US7051039B1 (en) * 2001-09-28 2006-05-23 Oracle International Corporation Mechanism for uniform access control in a database system
US7047250B1 (en) 2001-09-28 2006-05-16 Oracle International Corporation Indexing to efficiently manage versioned data in a database system
US7092945B2 (en) * 2001-10-25 2006-08-15 Hewlett-Packard Development Company, L.P. Method and system for obtaining a user's personal address information
US20030088648A1 (en) * 2001-11-02 2003-05-08 Gilles Bellaton Supporting access control checks in a directory server using a chaining backend method
US20030088656A1 (en) * 2001-11-02 2003-05-08 Wahl Mark F. Directory server software architecture
US7783593B2 (en) * 2002-04-04 2010-08-24 Verizon Business Global Llc Method, device and computer program product including a lightweight directory access protocol client
US20030191750A1 (en) * 2002-04-04 2003-10-09 Mayel Espino Method, system and computer program product for lightweight directory access protocol applications
US20030191748A1 (en) * 2002-04-04 2003-10-09 Mayel Espino Method, device and computer program product including a lightweight directory access protocol client architecture
US20030191749A1 (en) * 2002-04-04 2003-10-09 Mayel Espino Lightweight directory access protocal method, system and computer program product
WO2004054152A1 (en) * 2002-12-09 2004-06-24 Bea Systems, Inc. System and method for single security administration
US7076488B2 (en) * 2003-01-29 2006-07-11 Hewlett-Packard Development Comapny, L.P. XML-LDAP adapters and methods therefor
US7873660B1 (en) 2003-02-27 2011-01-18 Oracle International Corporation Enforcing data privacy aggregations
US7756750B2 (en) 2003-09-02 2010-07-13 Vinimaya, Inc. Method and system for providing online procurement between a buyer and suppliers over a network
US8694510B2 (en) 2003-09-04 2014-04-08 Oracle International Corporation Indexing XML documents efficiently
US8229932B2 (en) 2003-09-04 2012-07-24 Oracle International Corporation Storing XML documents efficiently in an RDBMS
US7818759B2 (en) 2003-11-24 2010-10-19 Ebay Inc. API and business language schema design framework for message exchanges
US7844639B2 (en) * 2003-11-24 2010-11-30 Ebay Inc. Backward compatibility in database schemas
US7356814B1 (en) 2003-12-15 2008-04-08 Electronic Data Systems Corporation System, method, and computer program product for communicating with an LDAP server
US7310647B2 (en) * 2003-12-24 2007-12-18 Oracle International Corporation Column masking of tables
US8825702B2 (en) * 2004-02-24 2014-09-02 Oracle International Corporation Sending control information with database statement
JP3935889B2 (ja) * 2004-02-27 2007-06-27 シャープ株式会社 データ処理装置、データ処理方法、データ処理プログラム、およびデータ処理プログラムを記録した記録媒体
US7440954B2 (en) 2004-04-09 2008-10-21 Oracle International Corporation Index maintenance for operations involving indexed XML data
US7499915B2 (en) 2004-04-09 2009-03-03 Oracle International Corporation Index for accessing XML data
US7930277B2 (en) 2004-04-21 2011-04-19 Oracle International Corporation Cost-based optimizer for an XML data repository within a database
US8205254B2 (en) * 2004-05-20 2012-06-19 International Business Machines Corporation System for controlling write access to an LDAP directory
US7610585B2 (en) 2004-06-03 2009-10-27 Intel Corporation Thread synchronization methods and apparatus for managed run-time environments
US7567963B2 (en) * 2004-06-28 2009-07-28 Intel Corporation Thread synchronization with lock inflation methods and apparatus for managed run-time environments
US8566300B2 (en) 2004-07-02 2013-10-22 Oracle International Corporation Mechanism for efficient maintenance of XML index structures in a database system
US7885980B2 (en) 2004-07-02 2011-02-08 Oracle International Corporation Mechanism for improving performance on XML over XML data using path subsetting
US7779022B2 (en) * 2004-09-01 2010-08-17 Oracle International Corporation Efficient retrieval and storage of directory information system knowledge referrals
US7577132B2 (en) 2004-10-28 2009-08-18 Microsoft Corporation User interface for securing lightweight directory access protocol traffic
US20060092948A1 (en) * 2004-10-28 2006-05-04 Microsoft Corporation Securing lightweight directory access protocol traffic
US7760746B2 (en) * 2004-11-30 2010-07-20 Computer Associates Think, Inc. Cascading configuration using one or more configuration trees
US7962484B2 (en) * 2004-12-03 2011-06-14 Oracle International Corporation LDAP bulk append
JP4658617B2 (ja) * 2005-01-07 2011-03-23 株式会社リコー 通信装置、通信方法、プログラム及び記録媒体
US20070016605A1 (en) * 2005-07-18 2007-01-18 Ravi Murthy Mechanism for computing structural summaries of XML document collections in a database system
EP1768035A1 (de) * 2005-09-26 2007-03-28 Research In Motion Limited Proxy System und Verfahren zur Datenbankabbildung von LDAP nach SQL
US8412750B2 (en) 2005-09-26 2013-04-02 Research In Motion Limited LDAP to SQL database proxy system and method
US8073841B2 (en) 2005-10-07 2011-12-06 Oracle International Corporation Optimizing correlated XML extracts
US8949455B2 (en) 2005-11-21 2015-02-03 Oracle International Corporation Path-caching mechanism to improve performance of path-related operations in a repository
US7933928B2 (en) 2005-12-22 2011-04-26 Oracle International Corporation Method and mechanism for loading XML documents into memory
JP4200456B2 (ja) * 2005-12-28 2008-12-24 ブラザー工業株式会社 周辺装置、プログラム、制御方法
US7730032B2 (en) 2006-01-12 2010-06-01 Oracle International Corporation Efficient queriability of version histories in a repository
US9229967B2 (en) * 2006-02-22 2016-01-05 Oracle International Corporation Efficient processing of path related operations on data organized hierarchically in an RDBMS
US20070233745A1 (en) * 2006-03-29 2007-10-04 Ori Pomerantz Data Flow Optimization in Meta-Directories
US20070239861A1 (en) * 2006-04-05 2007-10-11 Dell Products L.P. System and method for automated operating system installation
US20070250527A1 (en) * 2006-04-19 2007-10-25 Ravi Murthy Mechanism for abridged indexes over XML document collections
US8510292B2 (en) * 2006-05-25 2013-08-13 Oracle International Coporation Isolation for applications working on shared XML data
US8639655B2 (en) * 2006-08-31 2014-01-28 Red Hat, Inc. Dedicating threads to classes of LDAP service
US7734658B2 (en) * 2006-08-31 2010-06-08 Red Hat, Inc. Priority queue to determine order of service for LDAP requests
US8301666B2 (en) * 2006-08-31 2012-10-30 Red Hat, Inc. Exposing file metadata as LDAP attributes
US7921104B2 (en) * 2006-08-31 2011-04-05 Red Hat, Inc. Invoking actions on data via LDAP requests
US7797310B2 (en) 2006-10-16 2010-09-14 Oracle International Corporation Technique to estimate the cost of streaming evaluation of XPaths
US7933935B2 (en) * 2006-10-16 2011-04-26 Oracle International Corporation Efficient partitioning technique while managing large XML documents
US20080092037A1 (en) * 2006-10-16 2008-04-17 Oracle International Corporation Validation of XML content in a streaming fashion
US7647307B2 (en) * 2006-11-01 2010-01-12 Red Hat, Inc. Reverse attribute pointers
US7730084B2 (en) * 2006-11-01 2010-06-01 Red Hat, Inc. Nested queries with index
US8073842B2 (en) * 2006-11-01 2011-12-06 Red Hat, Inc. Deriving cross-organizational relationships from LDAP source data
US7734662B2 (en) 2006-11-01 2010-06-08 Red Hat, Inc. Extension of organizational chart dynamic group lists based on LDAP lookups
US7734611B2 (en) * 2006-11-01 2010-06-08 Red Hat, Inc. Dynamic views based on LDAP
US7562075B2 (en) * 2006-12-07 2009-07-14 International Business Machines Corporation Change approvals for computing systems
US7580942B2 (en) * 2007-01-12 2009-08-25 Microsoft Corporation Indexing and ranking processes for directory assistance services
US8095625B2 (en) 2007-02-28 2012-01-10 Red Hat, Inc. Directory server plug-in call ordering
CN101295306B (zh) * 2007-04-26 2012-09-05 国际商业机器公司 目录服务器中的修改条目名称操作方法和相应设备
US7836098B2 (en) * 2007-07-13 2010-11-16 Oracle International Corporation Accelerating value-based lookup of XML document in XQuery
US20090024570A1 (en) * 2007-07-20 2009-01-22 Oracle Internatonal Corporation User defined query rewrite mechanism
US7840609B2 (en) * 2007-07-31 2010-11-23 Oracle International Corporation Using sibling-count in XML indexes to optimize single-path queries
US8078595B2 (en) * 2007-10-09 2011-12-13 Oracle International Corporation Secure normal forms
US7991768B2 (en) 2007-11-08 2011-08-02 Oracle International Corporation Global query normalization to improve XML index based rewrites for path subsetted index
US8250062B2 (en) 2007-11-09 2012-08-21 Oracle International Corporation Optimized streaming evaluation of XML queries
US8543898B2 (en) * 2007-11-09 2013-09-24 Oracle International Corporation Techniques for more efficient generation of XML events from XML data sources
US9842090B2 (en) * 2007-12-05 2017-12-12 Oracle International Corporation Efficient streaming evaluation of XPaths on binary-encoded XML schema-based documents
US8429196B2 (en) 2008-06-06 2013-04-23 Oracle International Corporation Fast extraction of scalar values from binary encoded XML
US7958112B2 (en) * 2008-08-08 2011-06-07 Oracle International Corporation Interleaving query transformations for XML indexes
US8219563B2 (en) * 2008-12-30 2012-07-10 Oracle International Corporation Indexing mechanism for efficient node-aware full-text search over XML
US8126932B2 (en) * 2008-12-30 2012-02-28 Oracle International Corporation Indexing strategy with improved DML performance and space usage for node-aware full-text search over XML
US10007729B1 (en) 2009-01-23 2018-06-26 Zakta, LLC Collaboratively finding, organizing and/or accessing information
US9607324B1 (en) 2009-01-23 2017-03-28 Zakta, LLC Topical trust network
US10191982B1 (en) 2009-01-23 2019-01-29 Zakata, LLC Topical search portal
US8239396B2 (en) * 2009-03-20 2012-08-07 Oracle International Corporation View mechanism for data security, privacy and utilization
US9020985B2 (en) 2009-08-25 2015-04-28 International Business Machines Corporation System and method for managing directories for a database system having an in-memory database
US9230006B2 (en) * 2010-09-30 2016-01-05 Bullhorn, Inc. Remote access to tracking system contact information
US10068266B2 (en) 2010-12-02 2018-09-04 Vinimaya Inc. Methods and systems to maintain, check, report, and audit contract and historical pricing in electronic procurement
EP2687002B1 (de) * 2011-03-14 2015-03-11 Telefonaktiebolaget L M Ericsson (PUBL) LDAP-Operation für mehrere Telefonbucheinträge
US9100398B2 (en) 2011-04-27 2015-08-04 International Business Machines Corporation Enhancing directory service authentication and authorization using contextual information
US9063971B2 (en) * 2012-12-03 2015-06-23 Red Hat Israel, Ltd. Schema and query abstraction for different LDAP service providers
GB2530472A (en) * 2014-05-21 2016-03-30 Euronet Usa Llc Financial switching engine
DE102015117668B4 (de) * 2015-10-16 2017-10-26 Frank Sax Verfahren zur Ablage von Daten und zur Abfrage derselben
US10057214B2 (en) * 2016-07-09 2018-08-21 Richard Lamb DNSSEC lightweight database access protocol gateway
US10643178B1 (en) 2017-06-16 2020-05-05 Coupa Software Incorporated Asynchronous real-time procurement system
US11575645B2 (en) * 2018-04-28 2023-02-07 Oracle International Corporation LDAP query optimization with smart index selection
JP7017660B1 (ja) 2021-05-18 2022-02-08 株式会社ラキール 情報処理装置、情報処理システム、情報処理方法及びプログラム
US12218906B1 (en) * 2022-11-02 2025-02-04 Morgan Stanley Services Group Inc. Centralized technology access control

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE239257T1 (de) * 1994-09-01 2003-05-15 Computer Ass Think Inc System und verfahren für die x.500-datenbanknorm
US6061448A (en) * 1997-04-01 2000-05-09 Tumbleweed Communications Corp. Method and system for dynamic server document encryption
US6085188A (en) * 1998-03-30 2000-07-04 International Business Machines Corporation Method of hierarchical LDAP searching with relational tables
US6356892B1 (en) * 1998-09-24 2002-03-12 International Business Machines Corporation Efficient implementation of lightweight directory access protocol (LDAP) search queries with structured query language (SQL)
US6366913B1 (en) * 1998-10-21 2002-04-02 Netscape Communications Corporation Centralized directory services supporting dynamic group membership
US6360215B1 (en) * 1998-11-03 2002-03-19 Inktomi Corporation Method and apparatus for retrieving documents based on information other than document content
US6347312B1 (en) * 1998-11-05 2002-02-12 International Business Machines Corporation Lightweight directory access protocol (LDAP) directory server cache mechanism and method
US6161008A (en) * 1998-11-23 2000-12-12 Nortel Networks Limited Personal mobility and communication termination for users operating in a plurality of heterogeneous networks

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10330826B4 (de) * 2002-07-15 2008-07-03 Hewlett-Packard Development Co., L.P., Houston Bestimmen einer Ziel-E-Mail-Adresse zum Senden gescannter Dokumente
US20230006895A1 (en) * 2019-12-03 2023-01-05 Telefonaktiebolaget Lm Ericsson (Publ) Discovery of a Service-Providing Network Function
US11979302B2 (en) * 2019-12-03 2024-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Discovery of a service-providing network function

Also Published As

Publication number Publication date
US6609121B1 (en) 2003-08-19
US6732160B2 (en) 2004-05-04
JP2002108683A (ja) 2002-04-12
US20030191757A1 (en) 2003-10-09

Similar Documents

Publication Publication Date Title
DE10131192A1 (de) Schnittstelle zu Verzeichnisunterstützungssystemen unter Verwendung des Lightweight Directory Access Protocol
US6208986B1 (en) Web interface and method for accessing and displaying directory information
DE69832406T2 (de) Kombiniertes internet-und datenzugangssystem
DE60019839T2 (de) Verfahren zum Austauch von Daten zwischen einer Javasystemdatenbank und einem LDAP Verzeichnis
DE69617318T2 (de) Verfahren für die Ausführung verteilter Aufgaben von Netzbrowseranträgen
DE69833033T2 (de) Verfahren und system um auf information in einem netzwerk zuzugreifen
US6260039B1 (en) Web interface and method for accessing directory information
US6192362B1 (en) System and method for creating a search form for accessing directory information
US6195666B1 (en) Web interface and method for displaying directory information
DE60037502T2 (de) Domänennamen-Auflösungssystem mit einem oder mehreren Servern
DE602005003449T2 (de) Verbesserte benutzerschnittstelle
US5878219A (en) System for integrating access to proprietary and internet resources
DE69523939T2 (de) Verfahren zur erzeugung von objektstrukturen für den zugriff auf konventionelle, nicht objekt-orientierte geschäftsanwendungen
DE69916928T2 (de) Zugriffsverfahren und Server für Netzwerkverzeichnis
US5793966A (en) Computer system and computer-implemented process for creation and maintenance of online services
US6026433A (en) Method of creating and editing a web site in a client-server environment using customizable web site templates
DE69610026T2 (de) Verfahren, um Anträge eines Netzbrowsers auszuführen
DE69838739T2 (de) Verfahren und Vorrichtung zum Darstellen und Verwenden von Netzwerktopologiedaten
DE60003278T2 (de) Hierarchische Auflösung von Adressen in einem Datennetzwerk
DE10122197A1 (de) Verfahren und System zum Zugreifen auf Information auf einem Netzwerk unter Verwendung von Nachrichten-Verknüpfungsfunktionen mit Schatten-Rückruffunktionen
US6970873B2 (en) Configurable mechanism and abstract API model for directory operations
KR20030064828A (ko) 네트워크 클라이언트로부터의 정보에 대한 리퀘스트 수행방법 및 시스템
DE60129335T2 (de) Lokales informationsbereitstellungssystem und verfahren unter verwendung des realnamens
US7734662B2 (en) Extension of organizational chart dynamic group lists based on LDAP lookups
DE60113559T2 (de) Interaktives persönliches telefonbuch

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection