EP1649394A2 - Verfahren und vorrichtung zum abrufen und sortieren von einträgen aus einem verzeichnis - Google Patents

Verfahren und vorrichtung zum abrufen und sortieren von einträgen aus einem verzeichnis

Info

Publication number
EP1649394A2
EP1649394A2 EP04777946A EP04777946A EP1649394A2 EP 1649394 A2 EP1649394 A2 EP 1649394A2 EP 04777946 A EP04777946 A EP 04777946A EP 04777946 A EP04777946 A EP 04777946A EP 1649394 A2 EP1649394 A2 EP 1649394A2
Authority
EP
European Patent Office
Prior art keywords
entries
directory
sorting
unique predetermined
predetermined identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP04777946A
Other languages
English (en)
French (fr)
Inventor
Christopher Betts
Tony C/O Computer Associates Think Inc. ROGERS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CA Inc
Original Assignee
Computer Associates Think Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Computer Associates Think Inc filed Critical Computer Associates Think Inc
Publication of EP1649394A2 publication Critical patent/EP1649394A2/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present disclosure relates generally to directory services and, more particularly, to a method and apparatus for retrieving and sorting entries from a directory.
  • a directory is a structure that allows users to store and organize information on a computer system.
  • Computer system(s) as referred to herein may include(s) individual computers, servers, computing resources, networks, etc.
  • Directories are specialized databases optimized for reading, browsing, and searching for data and may contain descriptive, attribute based information.
  • the "Lightweight Directory Access Protocol" (LDAP) is a protocol for accessing directory services, such as X.500 based directory services.
  • data objects often referred to as data entries, are arranged in a hierarchical tree-like structure that may reflect geographic and/or organizational boundaries or may reflect Internet domain names.
  • Each data entry (except the root entry) in the directory may have a parent entry and a local name, often referred to as a "Relative Distinguished Name” (RDN), or the name of the entry itself.
  • RDN Relative Distinguished Name
  • the sum of a data entry's RDN, and all of its parents' RDNs comprise a "Distinguished Name” (DN).
  • DN is used to refer to each data entry unambiguously and identifies each data entry uniquely in the directory. Therefore, an entry may be referenced by its DN, which may be constructed by taking the RDN and concatenating the names of its ancestor entries.
  • Figure 1 is a block diagram illustrating an example directory tree using naming.
  • the LDAP search operation may allow a portion of the directory to be searched for entries that may match some criteria specified by a search filter. Information may be requested from each entry that matches the filter. For example, a user may want to search the entries directly below the state New York 103 and country United States 102 for organizations with the string "A" 104 in their name, and that have an employee "Charlie" 109. A user may want to search a directory for a list of DNs that match a particular search criterion and read the results back in the order that they may have been added to the directory. However, one way of executing this search may result in decreased performance for both a client and a server.
  • the server has to return entry attributes in addition to entry names and the client has to maintain the association between the entry name and the timestamp while the server is processing the request.
  • a user may want to search a directory for a list of DNs and sort the list to recreate the tree structure that the DNs had when they were first stored in the directory. For example, this may be done for display to users, but may also be required for efficient writing to other directories and data stores.
  • the DNs may be searched and sorted by using string sorts; however, because the DNs are returned in an arbitrary order, a degree of string parsing may also be required. For example, a depth first tree sort may be performed where sibling entries may be sorted alphabetically by RDN. However, the string parsing involved in sorting operations may also result in decreased performance for both a client and a server. Accordingly, it is desirable to have reliable and effective tools for retrieving and sorting entries from a directory in order to ensure optimum performance.
  • a method for retrieving and sorting entries from a directory comprises storing a unique predetermined identifier in a directory, and assigning as a relative distinguished name (RDN) the unique predetermined identifier for at least two entries in the directory, wherein the unique predetermined identifier is monotonically increased for each entry.
  • RDN relative distinguished name
  • a system for retrieving and sorting entries from a directory comprises a storing layer for storing a unique predetermined identifier in a directory, and an assigning layer for assigning as a relative distinguished name (RDN) the unique predetermined identifier for at least two entries in the directory, wherein the unique predetermined identifier is monotonically increased for each entry.
  • a computer storage medium including computer executable code for retrieving and sorting entries from a directory comprises code for storing a unique predetermined identifier in a directory, and code for assigning as a relative distinguished name (RDN) the unique predetermined identifier for at least two entries in the directory, wherem the unique predetermined identifier is monotonically increased for each entry.
  • Figure 1 shows a block diagram illustrating an example directory tree using naming
  • Figure 2 shows a block diagram of an exemplary computer system capable of implementing the method and system of the present disclosure
  • Figure 3A shows a block diagram illustrating an apparatus for retrieving and sorting entries from a directory, according to an embodiment of the present disclosure
  • Figure 3B shows a flow chart illustrating a method for retrieving and sorting entries from a directory, according to an embodiment of the present disclosure
  • Figure 4 shows a block diagram illustrating assigning as a relative distinguished name the predetermined numeric identifiers, according to an embodiment of the present disclosure
  • Figure 5 shows is a block diagram illustrating the distinguished name (DN) ordering methodology, according to an embodiment of the present disclosure.
  • DN distinguished name
  • the present disclosure provides tools (in the form of methodologies, apparatuses, and systems) for retrieving and sorting entries from a directory.
  • the tools may be embodied in one or more computer programs stored on a computer readable medium or program storage device and/or transmitted via a computer network or other transmission medium.
  • the following exemplary embodiments are set forth to aid in an understanding of the subject matter of this disclosure, but are not intended, and should not be construed, to limit in any way the claims which follow thereafter. Therefore, while specific terminology is employed for the sake of clarity in describing some exemplary embodiments, the present disclosure is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents which operate in a similar manner.
  • Figure 2 shows an example of a computer system 200 which may implement the method and system of the present disclosure.
  • the system and method of the present disclosure may be implemented in the form of a software application running on a computer system, for example, a mainframe, personal computer (PC), handheld computer, server, etc.
  • the software application may be stored on a recording media locally accessible by the computer system, for example, floppy disk, compact disk, hard disk, etc., or may be remote from the computer system and accessible via a hard wired or wireless connection to a network, for example, a local area network, or the Internet.
  • the computer system 200 can include a central processing unit (CPU) 202, program and data storage devices 204, a printer interface 206, a display unit 208, a (LAN) local area network data transmission controller 210, a LAN interface 212, a network controller 214, an internal bus 216, and one or more input devices 218 (for example, a keyboard, mouse etc.).
  • CPU central processing unit
  • program and data storage devices 204 program and data storage devices 204
  • printer interface 206 e.g., a printer interface 206
  • display unit 208 e.g., a printer interface 206
  • a display unit 208 e.g., a printer interface 206
  • a display unit 208 e.g., a printer interface 206
  • a display unit 208 e.g., a printer interface 206
  • display unit 208 e.g., a printer interface 206
  • display unit 208 e.g., a printer interface 206
  • the system 200 may be connected to a database 220, via a link 222.
  • the specific embodiments described herein are illustrative, and many variations can be introduced on these embodiments without departing from the spirit of the disclosure or from the scope of the appended claims. Elements and/or features of different illustrative embodiments may be combined with each other and/or substituted for each other within the scope of this disclosure and appended claims.
  • An apparatus for retrieving and sorting entries from a directory will be discussed below with reference to Figure 3A.
  • the apparatus 30 includes a storing layer 31 and a assigning layer 32.
  • the storing layer 31 may store a unique predetermined identifier in a directory (Step S301).
  • the assigning layer 32 may assign a relative distinguished name (RDN) the unique predetermined identifier stored by the storing layer 31 for at least two entries in the directory (Step S302).
  • RDN relative distinguished name
  • the unique predetermined identifier is monotonically increased for each entry.
  • the unique predetermined identifier may be a number that represents a timestamp or is issued in time order and may be provided from a source which has system wide application
  • the method for retrieving and sorting entries from a directory may further comprise sorting the unique predetermined identifiers for at least two entries.
  • the sorting may include searching entries stored in the directory, returning at least two entries, and sorting the returned entries according to their assigned RDN.
  • tree structure sorting and date sorting may be simultaneously performed.
  • each data entry in a directory may be given an RDN containing as its value a sequential unique predetermined numeric identifier.
  • monotonically increasing numeric identifiers may be assigned at every level. In other words, the numeric identifier is incremented before the data entry is stored in the directory, resulting in data entries stored in order. Therefore, by sorting these RDN values, a user can implicitly obtain the entries in date order and may also simultaneously perform efficient reconstruction of tree structured data.
  • DN ordering may be performed in a conventional way where the most specific RDNs (e.g., the Entry or rightmost RDNs) for a given DN may be sorted first, followed by each remaining RDN sorted in numerical order, according to an embodiment of the present disclosure. For example, for a pair of DNs, the most specific RDNs (e.g., Entry or rightmost RDNs) of both DNs may be analyzed. If the most specific RDNs are different, the values are compared and placed in numerical order. However, if the most specific RDNs are the same, then the Parent of the most specific RDN is analyzed and compared.
  • the most specific RDNs e.g., the Entry or rightmost RDNs
  • FIG. 5 is a block diagram illustrating the DN ordering methodology, according to an embodiment of the present disclosure.
  • DNs 501 and 503 may be converted to DNs 502 and 504, respectively, by using embodiments of the present disclosure.
  • the rightmost RDNs are 402 and are the same for both DNs 503 and 504. Therefore, the next rightmost pair of RDNs, 403 for both DNs 503 and 504 are compared.
  • RDN 406 for DN 503 is different from RDN 405 for DN 504, and because RDN
  • DN 504 can sort before DN 503.
  • data entries may easily be obtained in both tree structure order and date order. For example, after sorting the directory tree shown in Figure 4 by using the method of the present disclosure, the results may be the
  • the numeric identifier may be stored in the directory and incremented by the directory by using, for example, an atomic LDAP "replace value X with value Y" operation. This operation may ensure that different applications or application threads cannot simultaneously update the global numeric identifier, and will always get unique numeric identifiers (the replace "X" operation will fail if X has already been replaced). According to an embodiment of the present disclosure, a range of numeric identifiers may be acquired when a large number of data entries are being written, thus ensuring local consistency and reducing the number of directory calls.
  • the above search results provide the correct order
  • the method for retrieving and sorting entries from a directory may be used for local sub-trees in a directory.
  • Each subtree may have its own "sub-tree identifier" which can be sequentially incremented for each data entry in the directory. This may be useful when fast sorting may be required for sub- trees.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
EP04777946A 2003-07-11 2004-07-09 Verfahren und vorrichtung zum abrufen und sortieren von einträgen aus einem verzeichnis Ceased EP1649394A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48678403P 2003-07-11 2003-07-11
PCT/US2004/022167 WO2005008541A2 (en) 2003-07-11 2004-07-09 Method and apparatus for retrieving and sorting entries from a directory

Publications (1)

Publication Number Publication Date
EP1649394A2 true EP1649394A2 (de) 2006-04-26

Family

ID=34079300

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04777946A Ceased EP1649394A2 (de) 2003-07-11 2004-07-09 Verfahren und vorrichtung zum abrufen und sortieren von einträgen aus einem verzeichnis

Country Status (2)

Country Link
EP (1) EP1649394A2 (de)
WO (1) WO2005008541A2 (de)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2005008541A2 *

Also Published As

Publication number Publication date
WO2005008541A3 (en) 2005-04-28
WO2005008541A2 (en) 2005-01-27

Similar Documents

Publication Publication Date Title
US6625615B2 (en) Data processing system and method for multi-level directory searches
US7065523B2 (en) Scoping queries in a search engine
JP6006267B2 (ja) 索引キーを使用して検索を絞込むシステムおよび方法
US7188094B2 (en) Indexing virtual attributes in a directory server system
US6085188A (en) Method of hierarchical LDAP searching with relational tables
US7440964B2 (en) Method, device and software for querying and presenting search results
CN100432921C (zh) 将异源的搜索引擎结果混合为一个搜索结果的方法与系统
US7058639B1 (en) Use of dynamic multi-level hash table for managing hierarchically structured information
JP5373846B2 (ja) リレーショナルシステムにおける階層的に編成された情報にアクセスするための階層的インデックス付け
US7747617B1 (en) Searching documents using a dimensional database
US7194472B2 (en) Extending role scope in a directory server system
US6983269B2 (en) Apparatus for indirect directory searches and method therefor
WO2000041098A1 (en) System and method for rewriting queries in distributed directory services
EP2304609A1 (de) Paging hierarchischer daten
CN115623008B (zh) 一种Kubernetes资源的索引构建方法及系统
US7627547B2 (en) Processing path-based database operations
JP2007501476A (ja) オブジェクトおよび従属オブジェクトをドロップしないデータベースシステム
US7779057B2 (en) Method and apparatus for retrieving and sorting entries from a directory
EP1649394A2 (de) Verfahren und vorrichtung zum abrufen und sortieren von einträgen aus einem verzeichnis
CN114968926A (zh) 一种数据管理方法、装置、设备及存储介质
CA2537269C (en) Method, device and software for querying and presenting search results
US8745030B2 (en) Fast searching of directories
Wright et al. Using the ebXML registry repository to manage information in an Internet travel support system
HK1118402A1 (zh) 提供日志服务的方法及系统
HK1118402B (en) Method and system for providing log services

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060206

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20070129

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20090702