分享
 
 
 

RFC1804 - Schema Publishing in X.500 Directory

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Network Working Group G. Mansfield

Request for Comments: 1804 AIC Laboratories

Category: EXPerimental P. Rajeev

Hughes Software Systems

S. Raghavan

Indian Institute of Technology, Madras

T. Howes

University of Michigan

June 1995

Schema Publishing in X.500 Directory

Status of this Memo

This memo defines an Experimental Protocol for the Internet

community. This memo does not specify an Internet standard of any

kind. Discussion and suggestions for improvement are requested.

Distribution of this memo is unlimited.

Abstract

The X.500 directory provides a powerful mechanism for storing and

retrieving information about objects of interest. To interpret the

information stored in the directory, the schema must be known to all

the components of the directory. Presently, there are no means other

than FTP to distribute schema information across the Internet. This

is proving to be a severe constraint as the Directory is growing.

This document presents a solution to the schema distribution problem

using the existing mechanisms of the directory. A naming scheme for

naming schema objects and a meta-schema for storing schema objects is

presented. The procedures for fetching unknown schema from the

directory at runtime are described.

Table of Contents

1. IntrodUCtion 2

2. Schema Management 2

3. Storage of Schema Information in the Directory 3

4. Retrieval of Schema from the Directory 5

5. The Meta-Schema 6

6. References 9

7. Security Considerations 9

8. Authors' Addresses 10

1. Introduction

The X.500 Directory [1] is now used for a wide range of applications

from name/address lookup to network management, from restaurant

information to bibliographic information services. This information

is distributed and managed across a network of many autonomous sites.

In order to interpret the information stored in the directory, the

components of the directory must have knowledge about the structure

and representation (schema) of the information held within the

directory.

The distributed nature of the network and the relatively slow process

of standardization have given rise to the challenging task of making

Accessible the information about the schema rules themselves. A

mechanism for making the schema accessible to the functional

components of the directory is urgently required.

The 1993 X.500 Directory Standard [2] has attempted to address the

problem of schema management and distribution. The 1993 framework

does provide the means for storing and retrieving schema information

in the directory. However, the resolution of unknown OIDs will

require both the DUA and the DSA to be compliant with [2].

In this document we propose a solution using the existing mechanisms

of the directory [1] itself. We present a naming scheme for naming

schema objects and a meta-schema for storing schema objects in the

directory. The proposal allows the algorithmic resolution of unknown

objects in the directory and in the absence of 1993 X.500 Directory

Standard implementations provides an interim solution to the schema

publishing problem.

2. Schema Management

The storage and retrieval mechanism provided by the directory is

powerful and flexible. However, the key to the directory is the

knowledge of the schema rules defined for the objects represented in

the directory. To facilitate the diffusion of this knowledge

appropriate schema management mechanisms need to be designed. Schema

management involves:

o Storage of schema information in the directory

o Algorithmic access to and retrieval of schema information

in the directory

o Definition of rules for schema modification

o Propagation of schema information from one component of the

directory to other components of directory

In this document we concentrate on the ASPect of schema

access/retrieval from the directory. Since schema objects are defined

and employed, the modification , addition and deletion of schema

objects can be carried out using existing directory mechanisms. But

the operational issue of synchronizing the schema with the DIB will

require further attention. Similarly the issue of schema propagation

requires further work and is outside the scope of this document. The

strategy proposed in this document has a very simple and workable

approach. No added DAP/DSP functionality is envisaged. At the same

time by using the directory's distributed framework scalability

problems are avoided. In essence, it allows the distributed storage

of schema objects and proposes a naming scheme which allows

algorithmic schema retrieval. Of course, on the down side, more than

one directory read operation may be required to retrieve the

information about an object and its attributes, as objects and

attributes are stored as separate entries in the directory.

As schema information of all objects in a naming context are stored

below the root entry of that naming context, the same DSA will be

able to supply the schema information stored in that DSA. Thus there

is no need to contact another DSA for resolving the schema of an

object stored in the local DSA.

3. Storage of Schema Information in the Directory

The schema information may be stored and distributed using mechanisms

external to the X.500 directory standard [5]. This document proposes

storing schema information in the directory. It has the following

advantages:

o The components of the directory can access the schema

information using the standard directory protocols.

o The nature of the directory naturally allows the schema

to be distributed. Schema used locally can be kept in the

local DSA itself whereas schema for general objects like

person, organization etc can be made available to all

components of the directory by publishing it.

In the operational model, the schema information in the directory is

expected to complement the schema information held in central

repositories.

3.1 Naming Scheme for the Schema

The schema information is stored in a distributed manner. We propose

a model in which each naming context stores the schema relevant to

it.

Root

+-------------\----------------------+

C=IN DSA-1

/ \

/ \

/ \

/ \

/ cn=subschema

/ / / \ \ \

/ / / \ \ \

/ oid= oid=

+--/---------------------------------+

/

+----------------------/----------------------+

o=IIT, Madras DSA-2

/ \

/ \

/ \

/ \

ou=CSE cn=subschema

/ \ / / \ \ \

/ \ / / \ \ \

ipni=spark cn=Rajeev oid=ipni oid=

+---------------------------------------------+

Figure 1: DIT with schema objects

To store the schema information, an object called subschema object is

defined. This object can come anywhere in the Directory Information

Tree (DIT). The subschema is defined as a subclass of Top. The

subschema entry is stored below the root entry of a naming context.

The root entry of a naming context must contain a subschema subentry,

named {CN= Subschema}. This standard naming methodology is necessary

so that the components of the directory can easily and

algorithmically locate the schema entries. All schema information

relevant to that naming context is stored below the subschema entry.

Children of the subschema entry store information about objects,

attribute types, attribute syntaxes or matching rules. The DIT

structure for storing schema information is shown in Figure 1.

Schema for these objects are given in section 5.

4. Retrieval of Schema from the Directory

When an unknown object is encountered by any component of directory

during a directory operation, it proceeds the following way to

resolve the schema.

The RDN component at the leaf-end of the name of the object whose

schema is to be resolved is replaced by the RDNs "oid=<object

identifier of the new object>, CN=subschema" and a read request is

initiated for the newly formed name. If the entry is not found, two

RDN components from the leaf-end of the name of the object are

replaced by the RDNs "oid=<object identifier of the new object>,

CN=subschema" and another read is attempted. The process continues

until the read succeeds. For example, while resolving the schema of

the object "IPNI=spark, OU=Department of Computer Science, O=Indian

Institute of Technology, Madras , C=IN", if the schema of the object

IPNI (IP Node Image) is not known to a component of the directory,

the following procedure will be adopted.

Let the object id for the object IPNI be ipni. The RDN "IPNI=spark"

is removed from the distinguished name of the entry and the RDNs

"oid=ipni, CN= Subschema" is appended. The name thus formed is

"oid=ipni, CN=subschema, OU=Department of Computer Science, O=Indian

Institute of Technology, Madras, C=IN" A read request is initiated on

this name. If the distinguished name "OU= Department of Computer

Science, O=Indian Institute of Technology, Madras, C=IN" is the

context prefix of a naming context, this read request will result in

the directory returning the schema for the object IPNI. If it is not,

the read operation will fail. In that case, a read operation is

initiated with distinguished name "oid=ipni, CN= subschema, O=Indian

Institute of Technology, Madras, C=IN". For the DIT structure shown

in Figure-1, this query will succeed and the schema information will

be returned. The schema for the requested object will always be

located below the starting entry of the naming context in which the

entry is located.

5. The Meta-Schema

experimental = 1.3.6.1.3

schema OBJECT IDENTIFIER

::= {experimental 65}

schemaObjectClass OBJECT IDENTIFIER

::= {schema.1}

schemaAttribute OBJECT IDENTIFIER

::= {schema.2}

subschema OBJECT CLASS

Subclass of TOP

MUST CONTAIN {

commonName

- - For naming

}

::= {schemaObjectClass.1}

objectClass OBJECT CLASS

Subclass of TOP

MUST CONTAIN {

objectIdentifier

- - This field stores the object identifier of object

- - represented by an object class entry. This attribute

- - is used for naming an object class entry.

}

MAY CONTAIN {

commonName,

- - This field is used to store the name of the object

mandatoryNamingAttributes,

mandatoryAttributes,

optionalNamingAttibutes,

optionalAttributes,

obsolete,

description,

subClassOf

}

::= {schemaObjectClass.2}

attributeType OBJECT CLASS

Subclass of Top

MUST CONTAIN {

objectIdentifier

}

MAY CONTAIN {

commonName,

- - used to store the name of the attribute type

constraint,

attributeSyntax,

multivalued,

obsolete,

matchRules,

description

}

::= {schemaObjectClass.3}

matchingRule OBJECT CLASS

Subclass of Top

MUST CONTAIN {

objectIdentifier

}

MAY CONTAIN {

commonName,

matchtype,

description,

obsolete

}

::= {schemaObjectClass.4}

objectIdentifier ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

objectIdentifierSyntax

::= {schemaAttribute.1}

mandatoryNamingAttributes ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

SET OF OBJECT IDENTIFIER

::= {schemaAttribute.2}

mandatoryAttributes ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

SET OF OBJECT IDENTIFIER

::= {schemaAttribute.3}

optionalNamingAttibutes ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

SET OF OBJECT IDENTIFIER

::= {schemaAttribute.4}

optionalAttibutes ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

SET OF OBJECT IDENTIFIER

::= {schemaAttribute.5}

obsolete ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

BOOLEAN

-- DEFAULT FALSE

::= {schemaAttribute.6}

subClassOf ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

SET OF OBJECT IDENTIFIER

::= {schemaAttribute.7}

constraint ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

Constraint

::= {schemaAttribute.8}

Constraint ::=Choice {

StringConstraint,

IntegerConstraint

}

StringConstraint ::= SEQUENCE {

shortest INTEGER,

longest INTEGER

}

IntegerConstraint ::= SEQUENCE {

lowerbound INTEGER,

upperbound INTEGER OPTIONAL

}

attributeSyntax ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

ASN1DataType

::= {schemaAttribute.9}

multivalued ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

BOOLEAN -- DEFAULT FALSE

::= {schemaAttribute.10}

matchRules ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

SET OF OBJECT IDENTIFIER

::= {schemaAttribute.11}

matchtype ATTRIBUTE

WITH ATTRIBUTE-SYNTAX

INTEGER {

PRESENT (0),

EQUALITY (1),

ORDERING (2),

CASESENSITIVEMATCH (3),

CASEINSENSITIVEMATCH (4)

}

::= {schemaAttribute.12}

6. References

[1] CCITT. "Data Communication Networks: Directory", Recommendations

X.500 - X.521 1988.

[2] CCITT. "Data Communication Networks: Directory", Recommendations

X.500 - X.525 1993.

[3] Barker, P., and S. Kille, "The COSINE and Internet X.500 Schema",

RFC1274, University College London, November 1991.

[4] Howes, T., "Schema Information in the X.500 Directory", Work in

Progress, University of Michigan, July 1992.

[5] Howes, T., Rossen, K., Sataluri, S., and R. Wright, "Procedures

for Formalization, Evolution, and Maintenance of the Internet

X.500 Directory Schema", Work in Progress, June 1995.

7. Security Considerations

Security issues are not discussed in this memo.

8. Authors' Addresses

Glenn Mansfield

AIC Systems Laboratories,

6-6-3, Minami Yoshinari, Aoba-Ku, Sendai,

Japan

Phone: +81 (22) 279-3310

Fax: +81 (22) 279-3640

EMail: glenn@aic.co.jp

P. V. Rajeev

Hughes Software Systems,

2nd Floor, International Trade Tower,

Nehru Place, New Delhi,

India

EMail: rajeev%hss@lando.hns.com

S. V. Raghavan

Department of Computer Science and Engineering,

Indian Institute of Technology, Madras 600 036,

India

EMail: svr@iitm.ernet.in

Tim Howes

University of Michigan

ITD Research Systems

535 W William St.

Ann Arbor, MI 48103-4943, USA

Phone: +1 (313) 747-4454

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有