DE10131192A1 - Schnittstelle zu Verzeichnisunterstützungssystemen unter Verwendung des Lightweight Directory Access Protocol - Google Patents
Schnittstelle zu Verzeichnisunterstützungssystemen unter Verwendung des Lightweight Directory Access ProtocolInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/282—Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
| 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)
| 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)
| 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 |
-
2000
- 2000-07-17 US US09/617,560 patent/US6609121B1/en not_active Expired - Lifetime
-
2001
- 2001-06-28 DE DE10131192A patent/DE10131192A1/de not_active Ceased
- 2001-07-17 JP JP2001216454A patent/JP2002108683A/ja active Pending
-
2003
- 2003-04-08 US US10/409,232 patent/US6732160B2/en not_active Expired - Lifetime
Cited By (3)
| 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 |