DE19936604C1 - Memory access to memory device with directory structure - Google Patents
Memory access to memory device with directory structureInfo
- Publication number
- DE19936604C1 DE19936604C1 DE19936604A DE19936604A DE19936604C1 DE 19936604 C1 DE19936604 C1 DE 19936604C1 DE 19936604 A DE19936604 A DE 19936604A DE 19936604 A DE19936604 A DE 19936604A DE 19936604 C1 DE19936604 C1 DE 19936604C1
- Authority
- DE
- Germany
- Prior art keywords
- directory
- access
- dir
- findextension
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
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
Description
Die Erfindung betrifft ein Verfahren und eine Anordnung für einen Speicherzugriff einer Applikation auf ein eine Ob jekthierarchie aufweisendes Verzeichnis, insbesondere über einen sogenannten ODBC-(Open DataBase Connectivity) und einen sogenannten LDAP-(Light weight Directory Access Protocol)- Treiber.The invention relates to a method and an arrangement for an application's memory access to an ob directory hierarchy, especially about a so-called ODBC (Open DataBase Connectivity) and one so-called LDAP (Light Weight Directory Access Protocol) Driver.
Ein Speicherzugriff auf eine Datenbank ausgehend von einer auf einer Datenverarbeitungseinrichtung laufenden Datenbank anwendung unter dem Betriebssystem 'Microsoft Windows' er folgt in der Regel mittels eines sogenannten ODBC-Treibers (Open DataBase Connectivity). Diese ODBC-Softwareschnitt stelle steuert den bidirektionalen Datenaustausch zwischen der Datenbankanwendung und der Datenbank. Die ODBC-Soft wareschnittstelle realisiert dabei einen Datenbankzugriff auf eine sogenannte relationale Datenbank. Relationale Datenban ken weisen eine Tabellenstruktur auf, so daß die Datenbank in über Spalten und Zeilen adressierbare Felder untergliedert ist. Ein Beispiel für eine relationale Datenbank mit einer derartigen Tabellenstruktur ist die bekannte Datenbank 'Mi crosoft Access'.A memory access to a database from a database running on a data processing device application under the operating system 'Microsoft Windows' er usually follows using a so-called ODBC driver (Open DataBase Connectivity). This ODBC software interface controls the bidirectional data exchange between the database application and the database. The ODBC-Soft The goods interface realizes database access a so-called relational database. Relational database Ken have a table structure, so that the database in Fields that can be addressed using columns and rows is. An example of a relational database with a Such a table structure is the well-known database 'Mi crosoft Access'.
Des weiteren ist beispielsweise aus der deutschen Offenle gungsschrift DE 195 41 315 A1 eine mit einer Datenverarbei tungseinrichtung verbundene Kommunikationsanlage bekannt, wo bei ein Zugriff einer auf der Kommunikationsanlage ablaufen den Applikation auf eine in der Datenverarbeitungseinrichtung gespeicherte relationale Datenbank über eine derartige ODBC- Softwareschnittstelle erfolgt.Furthermore, for example, from the German Offenle supply document DE 195 41 315 A1 with a data processing device connected communication system known where when an access is run on the communication system the application to one in the data processing device stored relational database via such an ODBC Software interface is done.
Für einen Zugriff auf eine Datenbank mit einer Verzeichnis struktur - in der Literatur häufig als Directory bezeichnet - ist eine weitere Softwareschnittstelle zur Umsetzung des ODBC-Protokolls notwendig. Diese Umsetzung erfolgt beispiels weise mittels eines sogenannten LDAP-Treibers (Light weight Directory Access Protocol), der das für einen Zugriff auf ei ne Tabellenstruktur definierte ODBC-Protokoll in das für ei nen Zugriff auf ein Verzeichnis definierte LDAP-Protokoll um wandelt.For access to a database with a directory structure - often referred to in the literature as a directory - is another software interface for implementing the ODBC protocol required. This implementation takes place, for example wise using a so-called LDAP driver (Light weight Directory Access Protocol), which is used to access an e ne table structure defined ODBC protocol in the for ei access to a directory defined LDAP protocol changes.
Aus der europäischen Offenlegungsschrift EP 0 955 761 A1 ist beispielsweise ein, z. B. in einer Datenverarbeitungseinrich tung implementierter Mechanismus für einen Zugriff auf ein Verzeichnis bekannt, bei dem der Zugriff durch das LDAP-Pro tokoll gesteuert wird.From European patent application EP 0 955 761 A1 for example a, e.g. B. in a data processing facility device implemented mechanism for access to a Directory known in which access by the LDAP-Pro tooll is controlled.
Das Verzeichnis weist in der Regel eine Verzeichnishierarchie bestehend aus einzelnen Objekten und Unterobjekten auf, so daß eine Baumstruktur, der sogenannte Verzeichnisbaum ent steht. Durch eine Kombination aus ODBC- und LDAP-Treiber er folgt eine eindeutige Zuordnung der Objekte und von den Ob jekten zugeordneten Attributen des Verzeichnisses zu Feldern einer Tabelle für die Datenbankanwendung. Hierbei werden die Objekte und Attribute des Verzeichnisses nach einem fest vor gegebenen Verfahren den einzelnen Feldern der Tabelle zuge ordnet.The directory usually has a directory hierarchy consisting of individual objects and sub-objects, so that a tree structure, the so-called directory tree ent stands. Through a combination of ODBC and LDAP drivers follows a clear assignment of the objects and of the ob Attributes of the directory assigned to fields in fields a table for the database application. Here, the Objects and attributes of the directory after a fixed before given procedures to the individual fields of the table arranges.
In Fällen, in denen eine eindeutige Zuordnung der Objekte und Attribute des Verzeichnisses auf eine Tabellenstruktur - bei spielsweise bei kundenindividuellen Verzeichnissen - nicht möglich ist, ist eine Entwicklung spezieller, auf das ODBC- und das LDAP-Protokoll aufbauender Zusatzmodule für den LDAP- Treiber notwendig. Die Entwicklung dieser Zusatzmodule ist jedoch mit einem erheblichen Aufwand verbunden.In cases where the objects and objects are clearly assigned Attributes of the directory on a table structure - at for example with customer-specific directories - not is possible, is a development of special, on the ODBC- and the LDAP protocol of additional modules for the LDAP Driver necessary. The development of these additional modules is however, involves considerable effort.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Anordnung der angegebenen Art anzugeben, durch welche der Auf wand für derartige Speicherzugriffe auf ein Verzeichnis redu ziert werden kann. The present invention is based on the object To specify methods and an arrangement of the type specified by which the Auf wall for such memory access to a directory redu can be decorated.
Die Lösung dieser Aufgabe erfolgt erfindungsgemäß mit den Merkmalen des Patentanspruchs 1 bzw. 8.This object is achieved according to the invention with the Features of claims 1 and 8 respectively.
Ein wesentlicher Vorteil des erfindungsgemäßen Verfahrens bzw. der erfindungsgemäßen Anordnung besteht darin, daß durch die Erweiterung eines die Objektstruktur des Verzeichnisses für die Datenbankanwendung abbildenden Schemas um mindestens ein frei konfigurierbares, eine Zusatzfunktion repräsentie rendes Quasiobjekt die aus dem Verzeichnis auslesbare Daten menge auf einfache Weise um die Resultate der Zusatzfunktion erweiterbar ist.A major advantage of the method according to the invention or the arrangement according to the invention is that by the extension of the object structure of the directory for the database application mapping schemes by at least represent a freely configurable, an additional function quasi-object the data readable from the directory easily the results of the additional function is expandable.
Ein weiterer Vorteil der Erfindung besteht darin, daß die in einer beliebigen Programmiersprache implementierbaren Zusatz funktionen auf standardmäßig vorhandene Module des ODBC- und des LDAP-Treibers aufbauen, so daß der Implementierungsauf wand für diese Zusatzfunktionen, im Gegensatz zu den Zusatz modulen für den LDAP-Treiber, gering ist.Another advantage of the invention is that the in add-on that can be implemented in any programming language functions on standard ODBC and of the LDAP driver so that the implementation wall for these additional functions, in contrast to the addition modules for the LDAP driver, is low.
Vorteilhafte Weiterbildungen der Erfindung sind in den Un teransprüchen angegeben.Advantageous developments of the invention are in the Un claims specified.
Ein Ausführungsbeispiel der Erfindung wird im folgenden an hand der Zeichnung näher erläutert.An embodiment of the invention will follow hand of the drawing explained in more detail.
Dabei zeigen:Show:
Fig. 1: ein Strukturbild zur schematischen Darstellung der für einen Lesezugriff einer Datenbankanwendung auf eine Datenbank wesentlichen Funktionseinheiten; FIG. 1 is a structural diagram schematically showing the essential for a read access of a database application on a database function units;
Fig. 2: ein Strukturbild zur schematischen Darstellung ei ner für den Lesezugriff durch die Datenbankanwen dung erforderlichen Tabellenstruktur; Fig. 2 is a structural diagram schematically showing egg ner for read access by the database table structure required appli cation;
Fig. 3: ein Strukturbild zur schematischen Darstellung der für einen Lesezugriff auf ein Verzeichnis wesentli chen Funktionseinheiten einer erfindungsgemäßen Anordnung; Fig. 3 is a structural diagram schematically illustrating the wesentli chen for a read access to a directory functional units of an inventive arrangement;
Fig. 4: ein Ablaufdiagramm zur Veranschaulichung der bei einem Lesezugriff auf das Verzeichnis ablaufenden wesentlichen Verfahrensschritte. Fig. 4 is a flow diagram illustrating the processes involved in a read access to the directory essential process steps.
Fig. 1 zeigt ein Strukturbild mit den wesentlichen, für einen Lesezugriff einer Datenbankanwendung DB-A auf unterschiedlich strukturierte Datenbanken notwendigen Funktionseinheiten. Bei den Datenbanken wird hierbei zwischen relationalen, d. h. ge mäß einer Tabellenstruktur untergliederten Datenbanken und Verzeichnissen, d. h. gemäß einer Baumstruktur untergliederten Datenbanken unterschieden. Für den Lesezugriff auf eine Da tenbank ist die Datenbankanwendung DB-A mit einem den Lesezu griff steuernden ODBC-Manager ODBC-M (Open DataBase Connecti vity) verbunden, wobei die Datenbankanwendung DB-A die für den Lesezugriff notwendigen Anweisungen mittels sogenannter SQL-Antragen (Structured Query Language) an den ODBC-Manager ODBC-M übermittelt. SQL ist eine speziell für Abfragen aus relationalen Datenbanken entwickelte Datenbank-Abfragespra che. Der ODBC-Manager ODBC-M wandelt die empfangenen SQL- Abfragen in entsprechende ODBC-Meldungen um und leitet diese in Abhängigkeit der Art der adressierten Datenbank - relatio nale Datenbank oder Verzeichnis - an unterschiedliche, den Lesezugriff ausführende Treibereinheiten weiter. Fig. 1 shows a structure diagram with the essential and necessary for a read access of a database application DB-A to differently structured databases functional units. In the case of the databases, a distinction is made between relational databases, that is, databases that are subdivided according to a table structure, and databases, that is, databases that are subdivided according to a tree structure. For read access to a database, the database application DB-A is connected to an ODBC manager ODBC-M (Open DataBase Connectivity) that controls the read access, whereby the database application DB-A provides the instructions necessary for read access by means of so-called SQL requests (Structured Query Language) to the ODBC manager ODBC-M. SQL is a database query language specially developed for queries from relational databases. The ODBC manager ODBC-M converts the received SQL queries into corresponding ODBC messages and forwards them depending on the type of the addressed database - relational database or directory - to different driver units that carry out read access.
Erfolgt der Lesezugriff auf eine relationale Datenbank DB1, DB2, . . ., DBn, leitet der ODBC-Manager die entsprechenden, für einen Zugriff auf eine Tabellenstruktur ausgebildeten ODBC- Abfragen an einen ODBC-Treiber ODBC-T1, ODBC-T2, . . ., ODBC-T3 weiter, der den Lesezugriff ohne weitere Umwandlungen aus führt und die gewonnenen Ergebnisse an die Datenbankanwendung DB-A übergibt. Ein Beispiel für eine derartige relationale Datenbank DB1, DB2, . . ., DBn ist die bekannte Datenbank 'Micro soft Access'. Erfolgt der Lesezugriff dagegen auf ein Ver zeichnis DIR, leitet der ODBC-Manager die entsprechenden ODBC-Abfragen an einen für einen Lesezugriff auf das Ver zeichnis DIR speziell ausgestalteten, sogenannten LDAP- Treiber LDAP-T (Light weight Directory Access Protocol) wei ter. Der LDAP-Treiber LDAP-T wandelt die für einen Zugriff auf eine Tabellenstruktur ausgebildeten ODBC-Abfragen in spe zielle für einen Zugriff auf ein Verzeichnis DIR ausgebildete LDAP-Abfragen um und führt den Lesezugriff auf das Verzeich nis DIR aus. Die ermittelten Daten werden daraufhin durch den LDAP-Treiber LDAP-T in eine Tabellenstruktur eingefügt und an die Datenbankanwendung DB-A übergeben.If there is read access to a relational database DB1, DB2,. . ., DBn, the ODBC manager directs the appropriate for access to a table structure trained ODBC Queries to an ODBC driver ODBC-T1, ODBC-T2,. . ., ODBC-T3 continue reading out without further conversions leads and the results obtained to the database application DB-A passes. An example of such a relational Database DB1, DB2,. . ., DBn is the well-known database 'Micro soft access'. On the other hand, if the read access is to a Ver DIR, the ODBC manager directs the appropriate ODBC queries to one for read access to the ver DIR specially designed, so-called LDAP Driver LDAP-T (Light weight Directory Access Protocol) white ter. The LDAP driver LDAP-T converts those for access on a table structure trained ODBC queries trained for access to a directory DIR LDAP queries and performs read access to the directory nis YOU. The data determined are then processed by the LDAP driver LDAP-T inserted in a table structure and on hand over the database application DB-A.
Für eine Erweiterung des Funktionsumfangs des LDAP-Treibers LDAP-T ist dieser im vorliegenden Ausführungsbeispiel mit ei ner spezifischen Erweiterungseinheit KSE verbunden. Der ODBC- Manager, der LDAP-Treiber und die Erweiterungseinheit KSE werden zusammengefaßt als Zugriffseinheit ZE für das Ver zeichnis DIR bezeichnet. For an expansion of the functional scope of the LDAP driver LDAP-T is this with egg in the present exemplary embodiment ner specific expansion unit KSE connected. The ODBC Manager, the LDAP driver and the expansion unit KSE are summarized as an access unit ZE for the Ver drawing DIR.
Im weiteren wird von einem Lesezugriff auf ein 'Corporate Di rectory' ausgehend von einer elektronischen Telefonbuch-Ap plikation als Datenbankanwendung DB-A ausgegangen. Ein Bei spiel für eine derartige Telefonbuch-Applikation ist das elektronische Telefonbuch DS-Win V2.0 unter dem Betriebssys tem 'Microsoft Windows'.Read access to a 'Corporate Di rectory 'based on an electronic phone book ap application as a database application DB-A. A case game for such a phone book application is electronic phone book DS-Win V2.0 under the operating sys Microsoft Windows.
Fig. 2 zeigt ein Strukturbild einer für den Lesezugriff der Telefonbuch-Applikation mittels einer SQL-Abfrage erforderli chen Tabellenstruktur. Die Figur zeigt eine Tabelle 'Teilneh mer' mit den einem Teilnehmer zugeordneten Attributen Nachna me, Vorname, Organisation Org, Telefonnummer TelNum und in vertierter Telefonnummer InvTelNum. Die invertierte Telefon nummer InvTelNum wird in der Regel ohne die führenden Nullen abgespeichert und dient einer Identifikation eines rufenden Teilnehmers bei einem an der Telefonbuch-Applikation einge henden Ruf. Die im Rahmen eines Rufaufbaus an der Telefon buch-Applikation empfangene Rufnummer weist in Abhängigkeit der lokalen Entfernung des rufenden Teilnehmers eine Mehrzahl von führenden Nullen auf. Befindet sich der rufende Teilneh mer beispielsweise in einer anderen Region im Inland, so weist die empfangene Rufnummer in der Regel eine führende Null auf. Befindet sich der rufende Teilnehmer dagegen im Ausland so weist die empfangene Rufnummer in der Regel zwei führende Nullen auf. Für eine eindeutige Identifikation des rufenden Teilnehmers wird die empfangene Rufnummer durch die Telefonbuch-Applikation gespiegelt und der Teilnehmer wird durch einen Vergleich der letzten Ziffern der invertierten empfangenen Rufnummer mit der in der Datenbank gespeicherten invertierten Telefonnummer InvTelNum eindeutig identifiziert. Beispielhaft ist ein Datensatz eines Teilnehmers mit dem Nachnamen Nachname = Spangehl, dem Vornamen Vorname = Peter, der Organisation Org = ICN TE der Telefonnummer TelNum = 00498972231950 und der invertierten Telefonnummer InvTelNum = 059132279894 dargestellt. Fig. 2 shows a structure diagram of a table structure required for read access of the telephone book application by means of an SQL query. The figure shows a table 'Participant' with the attributes assigned to a participant surname, first name, organization Org, telephone number TelNum and in a vertical telephone number InvTelNum. The inverted telephone number InvTelNum is usually saved without the leading zeros and is used to identify a calling subscriber when a call arrives at the telephone book application. Depending on the local distance of the calling subscriber, the number received as part of a call setup on the telephone book application has a plurality of leading zeros. If the calling subscriber is located in another region in Germany, for example, the received number usually has a leading zero. If, on the other hand, the calling subscriber is abroad, the received number usually has two leading zeros. For a unique identification of the calling subscriber, the received phone number is mirrored by the phone book application and the subscriber is clearly identified by comparing the last digits of the inverted received phone number with the inverted telephone number InvTelNum stored in the database. An example is a data record of a participant with the last name last name = Spangehl, the first name first name = Peter, the organization Org = ICN TE of the telephone number TelNum = 00498972231950 and the inverted telephone number InvTelNum = 059132279894.
Für einen Lesezugriff ausgehend von der Telefonbuch-Applika tion auf das Verzeichnis DIR mittels der Zugriffseinheit ZE ist es notwendig, daß die Baumstruktur des Verzeichnisses DIR in der Zugriffseinheit ZE bekannt und auf die für den Lesezu griff durch die Telefonbuch-Applikation notwendige Tabellen struktur abbildbar ist.For read access based on the phone book application tion on the directory DIR using the access unit ZE it is necessary that the tree structure of the directory DIR known in the access unit ZE and to those for reading reached through the phone book application necessary tables structure can be mapped.
Fig. 3 zeigt ein Strukturbild der für den Lesezugriff auf das Verzeichnis DIR wesentlichen Funktionseinheiten der Zugriffs einheit ZE. Hierfür ist ein Ausschnitt des Verzeichnisbaums VB des Verzeichnisses DIR dargestellt. Die Knoten des Ver zeichnisbaums VB werden in der Literatur dabei häufig als Ob jekte bezeichnet, denen jeweils eine bestimmte Objektklasse OC zugeordnet ist. Der Ursprung des Verzeichnisbaums VB ist dabei in der Regel durch die Objektklasse OC = Root gekenn zeichnet. Den Objekten zugeordnete Eigenschaften werden in der Literatur häufig als Attribute bezeichnet. Im vorliegen den Ausführungsbeispiel ist für den Verzeichnisbaum VB ein Objekt mit der Objektklasse OC = Firma dargestellt, dem wie derum mehrere Unterobjekte mit der Objektklasse OC = Person zugeordnet sind. Den Unterobjekten mit der Objektklasse OC = Person sind dabei Attribute sn (entspricht dem Nachnamen), gn (entspricht dem Vornamen), or (entspricht der Organisation) und tel (entspricht der Telefonnummer) zugeordnet. Beispiel haft sind zwei Objekte der Objektklasse OC = Person mit den Attributen sn = Spangehl, gn = Peter, or = ICN TE, tel = 00498972231950 und sn = Maier, gn = Daniel, or = ZT PA, tel = 00498963682308 dargestellt. Fig. 3 shows a structural diagram of the functional units of the access unit ZE which are essential for read access to the directory DIR. For this, a section of the directory tree VB of the directory DIR is shown. The nodes of the directory tree VB are often referred to in the literature as objects, each of which a specific object class OC is assigned. The origin of the directory tree VB is usually identified by the object class OC = Root. Properties assigned to objects are often referred to in the literature as attributes. In the present exemplary embodiment, an object with the object class OC = company is shown for the directory tree VB, to which, in turn, several sub-objects with the object class OC = person are assigned. The sub-objects with the object class OC = Person are assigned attributes sn (corresponds to the last name), gn (corresponds to the first name), or (corresponds to the organization) and tel (corresponds to the telephone number). Two objects of the object class OC = Person are exemplarily shown with the attributes sn = Spangehl, gn = Peter, or = ICN TE, tel = 00498972231950 and sn = Maier, gn = Daniel, or = ZT PA, tel = 00498963682308.
Für eine Abbildung des Verzeichnisbaumes VB des Verzeichnis ses DIR auf die für den Lesezugriff durch die Telefonbuch- Applikation mittels einer SQL-Abfrage erforderliche Tabellen struktur (siehe Fig. 2) sind im LDAP-Treiber LDAP-T der Zu griffseinheit ZE drei unterschiedliche Konfigurationen hin terlegt. To map the directory tree VB of the directory DIR to the table structure required for read access by the telephone book application using an SQL query (see FIG. 2), three different configurations are available in the LDAP driver LDAP-T of the access unit ZE submits.
Hierbei wird in einem ersten Schritt die Objekthierarchie des Verzeichnisbaums VB in einer Schemakonfiguration SK abgebil det. Die durch den Verzeichnisbaum fest vorgegebene Schema konfiguration SK wird dabei erfindungsgemäß durch mindestens ein Quasi-Objekt erweitert. Im vorliegenden Ausführungsbei spiel ist ein Quasi-Objekt Ext:FindExtension dargestellt, dessen Funktion unter Bezugnahme auf Fig. 4 näher erläutert wird. Durch die Kennzeichnung des Objektes mit dem Präfix 'Ext:' wird verdeutlicht, daß diesem Objekt in der Schemakon figuration SK kein direktes Objekt im Verzeichnisbaum VB zu geordnet werden kann, sondern daß ein Zugriff des LDAP-Trei bers LDAP-T auf das Verzeichnis DIR über eine in der Erweite rungseinheit KSE hinterlegte Zusatzfunktion - im vorliegenden Ausführungsbeispiel über die Zusatzfunktion FindExtension - erfolgen soll.In a first step, the object hierarchy of the directory tree VB is mapped in a schema configuration SK. The schema configuration SK predetermined by the directory tree is expanded according to the invention by at least one quasi-object. In the present exemplary embodiment, a quasi-object Ext: FindExtension is shown, the function of which is explained in more detail with reference to FIG. 4. Marking the object with the prefix 'Ext:' makes it clear that this object cannot be assigned to a direct object in the directory tree VB in the schema configuration SK, but that the LDAP driver LDAP-T can access the directory DIR via an additional function stored in the expansion unit KSE - in the present exemplary embodiment via the additional function FindExtension.
In einem zweiten Schritt werden im LDAP-Treiber LDAP-T in ei ner Feldkonfiguration FK Felder F definiert. Die Felddefini tion erfolgt dabei beispielsweise durch Angabe eines Feldna mens, der Länge des zu definierenden Felds, des Typs des zu definierenden Felds, der Objektklasse OC des zugehörigen Ob jektes im Verzeichnisbaum VB und des diesem Objekt zugeordne ten Attributs. Beispielhaft ist analog zu der unter Bezugnah me auf Fig. 2 beschriebenen für einen Lesezugriff der Tele fonbuch-Applikation mittels einer SQL-Abfrage notwendigen Ta bellenstruktur jeweils ein Feld F für den Nachnamen und den Vornamen eines Teilnehmers definiert. Beide Felder F weisen jeweils eine Länge von 50 Zeichen und einen Feldtyp 'String' auf. Durch die angegebene Objektklasse OC = Person und das Attribut sn bzw. gn werden diesen Feldern F jeweils alle Ein träge des Verzeichnisbaums VB mit der Objektklasse OC = Person und dem Attribut sn bzw. gn zugeordnet. Des wei teren ist analog zu der unter Bezugnahme auf Fig. 2 be schriebenen für einen Lesezugriff der Telefonbuch-Applikation mittels einer SQL-Abfrage notwendigen Tabellenstruktur ein Feld F für die invertierte Telefonnummer eines Teilnehmers definiert, welches eine Länge von 20 Zeichen und einen Feld typ 'Integer' aufweist. Da den Objekten des Verzeichnisses DIR kein Attribut für eine invertierte Telefonnummer eines Teilnehmers zugeordnet sind, ist in diesem Fall eine direkte Zuordnung eines Objektes und eines Attributes des Verzeich nisses DIR zu diesem Feld F nicht möglich. Durch die für die ses Feld F angegebene Quasi-Objektklasse OC = Ext:FindExten sion und das Attribut tin wird erfindungsgemäß ein Zugriff des LDAP-Treibers LDAP-T auf die in der Erweiterungseinheit KSE hinterlegte Zusatzfunktion FindExtension definiert, wel che für diesen Fall den Lesezugriff auf das Verzeichnis DIR steuert.In a second step, FK fields F are defined in a field configuration in the LDAP driver LDAP-T. The field definition takes place, for example, by specifying a field name, the length of the field to be defined, the type of the field to be defined, the object class OC of the associated object in the directory tree VB and the attribute assigned to this object. As an example, a table F is defined for the last name and the first name of a subscriber, analogously to the table structure necessary for read access of the telephone book application by means of an SQL query, as described with reference to FIG. 2. Both fields F each have a length of 50 characters and a field type 'string'. Through the specified object class OC = person and the attribute sn or gn, all fields of the directory tree VB with the object class OC = person and the attribute sn or gn are assigned to these fields F. The wei direct is a field F defined analogously to the be described with reference to FIG. 2 registered for a read access the phonebook application using an SQL query required table structure for the inverted phone number of a subscriber which has a length of 20 characters and a field type Has 'integer'. Since the objects of the directory DIR are not assigned an attribute for an inverted telephone number of a subscriber, a direct assignment of an object and an attribute of the directory DIR to this field F is not possible in this case. The quasi-object class OC = Ext: FindExtension specified for this field F and the attribute tin define, according to the invention, access by the LDAP driver LDAP-T to the additional function FindExtension stored in the expansion unit KSE, which means read access in this case controls on the directory DIR.
In einem dritten Schritt können beliebige in der Feldkonfigu ration definierte Felder F in einer Tabellenkonfiguration TK zu der für einen Lesezugriff der Telefonbuch-Applikation mit tels einer SQL-Abfrage notwendigen Tabellenstruktur T zusam mengefaßt werden. Beispielhaft ist analog zu der unter Bezug nahme auf Fig. 2 beschriebenen Tabellenstruktur T eine Ta belle 'Teilnehmer' dargestellt. Die Tabellenstruktur T zur Übergabe an die Telefonbuch-Applikation wird dabei durch An gabe des den jeweiligen Feldnamen zugeordneten Attributs, des Feldtyps Typ und der Objektklasse OC definiert.In a third step, any fields F defined in the field configuration can be combined in a table configuration TK to form the table structure T required for read access by the telephone book application by means of an SQL query. As an example, similar to the table structure T described with reference to FIG. 2, a table 'subscriber' is shown. The table structure T for transfer to the telephone book application is defined by specifying the attribute assigned to the respective field name, the field type and the object class OC.
Fig. 4 zeigt nun ein Ablaufdiagramm zur Veranschaulichung der
bei einem Lesezugriff auf das Verzeichnis DIR ausgehend von
der Datenbankanwendung DB-A ablaufenden wesentlichen Verfah
rensschritte. Bei einem ankommenden Ruf an der Datenbankan
wendung DB-A - im vorliegenden Ausführungsbeispiel an der Te
lefonbuch-Applikation - wird eine im Rahmen des Rufaufbaus
mitübermittelte Rufnummer TelNum = 00498972231950 für eine
Identifizierung des rufenden Teilnehmers gespiegelt. An
schließend übermittelt die Datenbankanwendung DB-A eine SQL-
Abfrage:
Fig. 4 now shows a flowchart to illustrate the essential procedural steps for a read access to the directory DIR starting from the database application DB-A. In the case of an incoming call to the database application DB-A - in the present exemplary embodiment to the telephone book application - a call number TelNum = 00498972231950, which is also transmitted as part of the call set-up, is mirrored for identification of the calling subscriber. The DB-A database application then sends an SQL query:
SELECT * FROM Teilnehmer WHERE InvTelNum = 059132279894
SELECT * FROM participant WHERE InvTelNum = 059132279894
an den ODBC-Manager ODBC-M. Durch die SQL-Abfrage sollen die jenigen Daten, die in der fiktiven Tabelle "Teilnehmer" der invertierten Telefonnummer InvTelNum = 059132279894 zugeord net sind an die Datenbankanwendung DB-A übergeben werden.to the ODBC manager ODBC-M. Through the SQL query the those data that are in the fictitious table "participants" of the inverted telephone number InvTelNum = 059132279894 net are to be passed to the database application DB-A.
In einem nächsten Schritt überprüft der ODBC-Manager ODBC-M, ob die adressierte Datenbank ein Verzeichnis DIR ist. Ist dies nicht der Fall, übermittelt der ODBC-Manager ODBC-M eine der empfangenen SQL-Abfrage entsprechende ODBC-Abfrage an ei nen ODBC-Treiber ODBC-T1, ODBC-T2, . . ., ODBC-Tn, der die Daten aus der entsprechenden relationalen Datenbank DB1, DB2, . . ., DBn ausliest und an die Datenbankanwendung DB-A übergibt. Ist die adressierte Datenbank - wie im vorliegenden Ausführungsbei spiel - ein Verzeichnis DIR, übermittelt der ODBC-Manager ODBC-M eine der empfangenen SQL-Abfrage entsprechende ODBC- Abfrage an den LDAP-Treiber LDAP-T welcher die der invertier ten Telefonnummer InvTelNum zugeordnete Objektklasse OC er mittelt. Ist die ermittelte Objektklasse OC ungleich der Ob jektklasse OC = Ext:FindExtension erfolgt ein Lesezugriff auf das Verzeichnis DIR auf herkömmliche Weise über vorhandene Standardmodule des LDAP-Treibers LDAP-T. Ist dagegen - wie im vorliegenden Ausführungsbeispiel - die ermittelte Objektklas se OC gleich der Objektklasse OC = Ext:FindExtension so ruft der LDAP-Treiber LDAP-T die in der Erweiterungseinheit KSE gespeicherte Zusatzfunktion FindExtension mit dem Parameter InvTelNum = 059132279894 auf. Die Zusatzfunktion FindExtensi on spiegelt die übergebene invertierte Telefonnummer InvTel- Num = 059132279894 und initiiert einen Lesezugriff auf das Verzeichnis DIR mit der nun gespiegelten invertierten Tele fonnummer, die der Telefonnummer TelNum = 498972231950 ent spricht.In a next step, the ODBC manager ODBC-M checks whether the addressed database is a directory DIR. Is if this is not the case, the ODBC manager ODBC-M sends one the ODBC query corresponding to the SQL query received ODBC driver ODBC-T1, ODBC-T2,. . ., ODBC-Tn, the data from the corresponding relational database DB1, DB2,. . ., DBn reads out and transfers it to the database application DB-A. Is the addressed database - as in the present execution game - a directory DIR, reports the ODBC manager ODBC-M an ODBC- corresponding to the SQL query received Query to the LDAP driver LDAP-T which the inverted th phone number InvTelNum assigned object class OC er averages. If the determined object class OC is not equal to Ob Object class OC = Ext: FindExtension is read-only the DIR directory in a conventional manner over existing ones Standard modules of the LDAP driver LDAP-T. Is against - as in present embodiment - the determined object class se OC is the same as the object class OC = Ext: FindExtension the LDAP driver LDAP-T in the expansion unit KSE saved additional function FindExtension with the parameter InvTelNum = 059132279894. The additional function FindExtensi on reflects the inverted telephone number InvTel- Num = 059132279894 and initiates read access to the Directory DIR with the inverted tele now mirrored Phone number that corresponds to the phone number TelNum = 498972231950 speaks.
Die in dem Verzeichnis DIR ermittelten zugehörigen Daten sn = Spangehl, gn = Peter, or = ICN TE und tel = 00498972231950 und die invertierte Telefonnummer mit dem Attribut tin = 059132279894 werden durch den LDAP-Treiber LDAP-T in entspre chender Weise in die Tabelle "Teilnehmer" eingetragen und an die Datenbankanwendung DB-A übergeben.The associated data sn = determined in the directory DIR Spangehl, gn = Peter, or = ICN TE and tel = 00498972231950 and the inverted phone number with the attribute tin = 059132279894 are complied with by the LDAP driver LDAP-T accordingly entered in the table "Participants" hand over the database application DB-A.
Durch die Erweiterung der, die Objektstruktur des Verzeich nisses DIR für die Datenbankanwendung DB-A abbildenden Sche makonfiguration SK um mindestens ein frei konfigurierbares, eine Zusatzfunktion FindExtension repräsentierendes Quasiob jekt kann die aus dem Verzeichnis DIR auslesbare Datenmenge auf einfache Weise um die Resultate der Zusatzfunktion, z. B. die invertierte Telefonnummer InvTelNum erweitert werden.By expanding the, the object structure of the directory nisse DIR for the DB-A mapping application makonfiguration SK by at least one freely configurable, a quasiob representing an additional function FindExtension jekt can read the amount of data that can be read from the DIR directory in a simple way around the results of the additional function, e.g. B. the inverted telephone number InvTelNum can be expanded.
Ein weiterer Vorteil der Erfindung besteht darin, daß die in einer beliebigen Programmiersprache implementierbaren Zusatz funktionen auf standardmäßig vorhandene Module des ODBC- und des LDAP-Treibers LDAB-T aufbauen, so daß der Implementie rungsaufwand für diese Zusatzfunktionen, im Gegensatz zur Entwicklung neuer Zusatzmodule für den LDAP-Treiber LDAP-T, relativ gering ist.Another advantage of the invention is that the in add-on that can be implemented in any programming language functions on standard ODBC and of the LDAP driver LDAB-T so that the implementation effort for these additional functions, in contrast to Development of new add-on modules for the LDAP driver LDAP-T, is relatively small.
Claims (11)
bei dem die Objekthierarchie mittels eines verzeichnisindivi duellen Schemas (SK) in einer den Speicherzugriff der Rech neranwendung (DB-A) auf das Verzeichnis (DIR) steuernden Zu griffseinheit (ZE) abgebildet wird,
bei dem das Schema (SK) um mindestens ein frei konfigurierba res Objekt (Ext:FindExtension) erweitert wird, und
bei dem bei einem Zugriff auf das frei konfigurierbare Objekt (Ext:FindExtension) eine den Speicherzugriff steuernde Kon vertierungsfunktion (FindExtension) ausgeführt wird.1. Method for memory access of an application (DB-A) to a directory (DIR) having an object hierarchy,
in which the object hierarchy is represented by means of a directory-specific schema (SK) in an access unit (ZE) controlling the memory access of the computer application (DB-A) to the directory (DIR),
in which the scheme (SK) is expanded by at least one freely configurable object (Ext: FindExtension), and
in which when the freely configurable object (Ext: FindExtension) is accessed, a conversion function (FindExtension) that controls memory access is carried out.
- - in der eine die Objekthierarchie des Verzeichnisses (DIR) abbildende verzeichnisindividuelle Schemakonfiguration (SK) angeordnet ist, wobei die Schemakonfiguration (SK) um min destens ein frei konfigurierbares Objekt (Ext:FindExten sion) erweitert ist, und
- - in der eine Erweiterungseinheit (KSE) zur Speicherung min destens einer Konvertierungsfunktion (FindExtension) ange ornet ist, anhand der bei einem Zugriff auf das frei konfi gurierbare Objekt (Ext:FindExtension) ein Speicherzugriff ausgeführt wird.
- - In which a directory-specific schema configuration (SK) depicting the object hierarchy of the directory (DIR) is arranged, the schema configuration (SK) being expanded by at least one freely configurable object (ext: FindExtension), and
- - In which an expansion unit (KSE) for storing at least one conversion function (FindExtension) is arranged, on the basis of which access to the freely configurable object (Ext: FindExtension) is used to access the memory.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19936604A DE19936604C1 (en) | 1999-08-04 | 1999-08-04 | Memory access to memory device with directory structure |
EP00963866A EP1266306A2 (en) | 1999-08-04 | 2000-08-01 | Method and device for accessing a storage device with a directory structure |
PCT/DE2000/002541 WO2001011494A2 (en) | 1999-08-04 | 2000-08-01 | Method and device for accessing a storage device with a directory structure |
JP2001516075A JP2003522352A (en) | 1999-08-04 | 2000-08-01 | Method and apparatus for memory access to a memory device having a directory structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19936604A DE19936604C1 (en) | 1999-08-04 | 1999-08-04 | Memory access to memory device with directory structure |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19936604C1 true DE19936604C1 (en) | 2001-01-25 |
Family
ID=7917093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19936604A Expired - Fee Related DE19936604C1 (en) | 1999-08-04 | 1999-08-04 | Memory access to memory device with directory structure |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1266306A2 (en) |
JP (1) | JP2003522352A (en) |
DE (1) | DE19936604C1 (en) |
WO (1) | WO2001011494A2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19541315A1 (en) * | 1995-11-06 | 1996-10-02 | Siemens Ag | Telecommunication device with relational database |
EP0955761A1 (en) * | 1998-03-03 | 1999-11-10 | Sun Microsystems, Inc. | Network directory access mechanism |
-
1999
- 1999-08-04 DE DE19936604A patent/DE19936604C1/en not_active Expired - Fee Related
-
2000
- 2000-08-01 EP EP00963866A patent/EP1266306A2/en not_active Withdrawn
- 2000-08-01 WO PCT/DE2000/002541 patent/WO2001011494A2/en active Application Filing
- 2000-08-01 JP JP2001516075A patent/JP2003522352A/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19541315A1 (en) * | 1995-11-06 | 1996-10-02 | Siemens Ag | Telecommunication device with relational database |
EP0955761A1 (en) * | 1998-03-03 | 1999-11-10 | Sun Microsystems, Inc. | Network directory access mechanism |
Also Published As
Publication number | Publication date |
---|---|
JP2003522352A (en) | 2003-07-22 |
WO2001011494A2 (en) | 2001-02-15 |
EP1266306A2 (en) | 2002-12-18 |
WO2001011494A3 (en) | 2002-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69801816T2 (en) | DEVICE AND METHOD FOR UPDATING AND SYNCHRONIZING INFORMATION BETWEEN A CLIENT AND A SERVER | |
DE69916928T2 (en) | Access method and server for network directory | |
DE69131543T2 (en) | Method for controlling the transfer of data between heterogeneous database systems | |
DE10051021B4 (en) | System, method and computer program for providing interactive web content in statically linked files | |
DE69026252T2 (en) | Method and device for electronic data exchange | |
DE69924553T2 (en) | Dialing procedure in a mobile phone | |
DE69327423T2 (en) | Procedure for route selection in a switching network | |
DE69328400T2 (en) | Auxiliary procedures for query optimization of a relational database management system and the resulting syntactical analysis procedure | |
EP1188297B1 (en) | Extended telephone directory for a mobile telephone | |
EP0520083B1 (en) | Consistency protection of data in a digital telecommunications exchange system | |
DE19621768B4 (en) | Telephone with a recording device for a telephone memory card and method for transferring data from a telephone memory card | |
EP1175071B1 (en) | Method for searching of data in at least two databases and database system with at least two databases | |
EP1062790B1 (en) | Method for detecting and processing information relevant to establishing a telephone connection in a cti system and corresponding cti system | |
DE69517887T2 (en) | Method and system for establishing connections in a database system | |
DE69434184T2 (en) | PROCEDURE FOR THE AVOIDANCE OF UNWANTED INTERFERENCE BETWEEN SERVICES | |
DE19936604C1 (en) | Memory access to memory device with directory structure | |
DE69229491T2 (en) | Method and device for determining the lexical properties of compound words | |
DE60017435T2 (en) | LANGUAGE-CONTROLLED CALLING PROCEDURES AND CORRESPONDING PROVIDERS | |
DE2304925C3 (en) | Circuit arrangement for a computer-controlled telephone exchange | |
EP1052579A1 (en) | Method to manage bookmarks in an Internet Browser | |
DE3632827C2 (en) | ||
DE1487637B2 (en) | PROCEDURE AND ARRANGEMENT FOR SEARCHING FOR DIRECTIONS IN COUPLING PANELS CONSTRUCTED WITH SWITCHING MATRICES | |
DE19714719C1 (en) | Storage requirement reduction method for data base | |
DE19835905B4 (en) | Method of creating a database access table from records | |
WO1999007128A1 (en) | Method for accessing a classified telephone directory, in a mobile telephone, through an interface for external control (remote-control interface), using one or several letters as search keys, and device for implementing said method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of the examined application without publication of unexamined application | ||
D1 | Grant (no unexamined application published) patent law 81 | ||
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
R082 | Change of representative |
Representative=s name: FRITZSCHE PATENT, DE |
|
R081 | Change of applicant/patentee |
Owner name: SIEMENS ENTERPRISE COMMUNICATIONS GMBH & CO. K, DE Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE Effective date: 20130313 Owner name: UNIFY GMBH & CO. KG, DE Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE Effective date: 20130313 |
|
R082 | Change of representative |
Representative=s name: FRITZSCHE PATENT, DE Effective date: 20130313 Representative=s name: FRITZSCHE PATENTANWAELTE, DE Effective date: 20130313 |
|
R082 | Change of representative |
Representative=s name: FRITZSCHE PATENT, DE |
|
R081 | Change of applicant/patentee |
Owner name: UNIFY GMBH & CO. KG, DE Free format text: FORMER OWNER: SIEMENS ENTERPRISE COMMUNICATIONS GMBH & CO. KG, 81379 MUENCHEN, DE Effective date: 20131112 |
|
R082 | Change of representative |
Representative=s name: FRITZSCHE PATENT, DE Effective date: 20131112 Representative=s name: FRITZSCHE PATENTANWAELTE, DE Effective date: 20131112 |
|
R081 | Change of applicant/patentee |
Owner name: UNIFY GMBH & CO. KG, DE Free format text: FORMER OWNER: UNIFY GMBH & CO. KG, 81379 MUENCHEN, DE |
|
R082 | Change of representative |
Representative=s name: FRITZSCHE PATENTANWAELTE, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |