第 9部

利用者情報管理395第 1章
はじめに

現在、コンピュータのネットワーク分野は大きな発展を遂げ、その規模は、１つの地域内で接続されたローカルエリアネットワークから、専用回線で接続された広域ネットワークへと、今や広範に渡るようになってきている。こうした条件の下で、情報の交換や通信が頻繁に行われているわけである。ここで、情報に関して取り上げてみると、情報はネットワークの拡大に伴ってますます増大し 、有効的に、そして、容易に情報を活用することが難しくなってくる。したがって、こうした現状を鑑みると、もともと一地域内で管理していた情報というものも、地理的あるいは管理的に異なった地域を踏まえて、円滑的に利用できるものでなければならない。情報はその性質上ローカルに管理されるものであるから、外部に負担をかけずに利用できるべきである。
一方、今までのローカルエリアネットワークも、それに接続されるコンピュータの増加に伴い独立に発達しているので、管理体系も複雑、個性化している。つまり、こうしたネットワークは独自のアドレ ス体系、名前サービスなどを持っている。広域分散環境においては、こうした独立に発達したネットワーク同志を接続する上で、このような機能をサポートすることが重要になってくる。言い換えれば、情報を提供したり受け取ったり、交換したりする必要性が当然増えてくるわけであるから、特に情報を管理する機構が必要になってくる。また、その管理もより有効的な、かつ能率的な、ネットワークへの負荷の少ないものが望ましい。
このようなことを踏まえて、本研究では、情報の中で特に、ユーザ個人の情報に的を絞り、このユーザ情報の確保、提供、必要に応じた収集、交換といった一連のユーザ情報の管理システムについて研究を行った。

397

第 2章
本研究の目的と背景

2.1

本研究の目的ネットワークの相互接続が進むにつれ 、それらのネットワーク同志で新たに必要な情報が出てくる。言い方を変えれば 、あるネットワークが別のネットワークと接続していれば 、そのネットワークに関わるユーザの情報も当然必要な場合が出てくる。例えば 、別のネットワークに属するユーザに必要な情報を送りたい場合、あるいは、直接そのユーザにアクセスしたい場合、さらには 、情報を提供してもらいたい場合である。このとき、ネットワーク単位ではなく、ユーザ単位の情報を得られることが不可欠である。それは単に位置情報に留まらず動的な情報も含めて、である。こうしたユーザ情報はユーザに負担をかけずに提供されることが望まれる。
広域分散環境のもとでのユーザ数を考えると、そのユーザ情報量がかなり多くなることは確かで、こうしたユーザ情報を一括して管理するシス
テムがあれば 、効率的に自由な情報交換をすることが可能になる。ユーザ情報を管理できるようなシステムを作ることによってネットワークの状態の動的変化にも対応できるわけである。
これらをまとめるとユーザ情報管理システムは

 ユーザに負担をかけない情報の提供
 ユーザに関する情報をサポートする機能 広域分散環境への拡張性、発展性を十分考慮したものといった背景のもとに構築された。

398

第 9部

2.2

399

利用者情報管理定義

本研究を論ずるに当たって、必要な語句を以下のように定義づけることにした。

 ド メインとは１つ又は複数のド メイン又はシステムを包含したものである。

 システムとはネットワーク上の最小のアドレスづけの単位であり、OS又はこれに準ずるソフトウェアで一括して管理されるユーザファイル、ディレクトリ、サービスなどの資源全体である。ユーザ情報管理シス
テムとは、これとは別にユーザ情報管理に関する資源全体を総称したものである。

 広域分散環境のユーザに対してネットワークレベルで提供されるアプリケーションをサービスといい、サービスはシステム又はド メインにサービス名とそのサービスを行う実体（サービスプログラム）の位置（システムのインターネットアドレスとポート番号）である。

2.3

ユーザ情報の分類

ユーザ情報を管理するに当たって、ユーザの情報の性質を理解する必要がある。下位レベルの話は保留しておくが、上位レベルでいえば 、アクセスしているホスト名から、 の種類、作業の状態まで、情報には様々な種類がある。こうしたユーザ情報はファイル保存の立場に基づくと大きく２つに分けることができる。

tty

 static な情報 dynamic な情報

static な情報とは、ユーザ名、ユーザアドレスといった固定的であり、ユーザからの特別な更新がある場合を除けば変更されることのない情報である。
この更新も、ハード ウェアレベルで 例えば 、新たに他のネットワークと接続した場合や、ローカルネットワーク内での必要に応じた更新 行なわれる場合と、ユーザ個人の要求に基づいて能動的に行なわれる場合の２つである。したがって、こうした特別な場合を除けば書き換えが行なう必要がないので、この情報は、ユーザごとにまとめてデータベースに保存することができ、照会要求が来た時にその要求に応じてデータベースを参照すればよい情報である。

()

400

1989 年度 WIDE 報告書

dynamictty idle time

な情報とは、ホスト名、 、といった刻々と一方、な情報と違って、データベースに保変化し得る情報である。これは存しようとすれば 、頻繁に情報の変更、削除、投入が行なわれる。言い換
えれば 、この情報が常に信頼性のある情報であるためには、常に変化が生じたら、データベースを更新することが必要である。さらにその更新は当然ユーザに負担をかけないものでなければならない。情報を格納するにはデータベースに依らなければならないので、その情報を取り込む時期、方法、更新の方法等を、十分考慮しなければならない。

static

第 3章
ユーザ情報管理体系

3.1

ユーザ情報管理システムにおける４つの機能

ユーザ情報の性質を理解した上で、その管理システムを円滑的に、そして能率的に構築していく必要がある。忘れてはならないことはこのシステムはローカルネットワークのみならず、今後も成長し続ける広域分散環境に耐え得るものでなければならない。これを踏まえて、ユーザ情報管理システムの仕組みをいくつかの基本的な動作を分析することにより概観する。情報を扱う点でユーザ情報管理システムには大きく分けて４つの機能がある。

 問い合わせに対する応答機能
 利用者個人情報の検索機能 利用者個人情報の収集と格納機能
 利用者個人情報データベースの更新と整合機能
以下、これら４つの機能について述べる。
3.1.1

問い合わせに対する応答機能

情報の問い合わせは情報を必要とする時に起こる。その問い合わせはユーザによって コマンド 等の形で要求されたり、あるいは 、アプ リケーションを実行した際にその プロセスの過程で要求される。いずれにせよ、問い合わせはクライアントプロセス から発せられる。こうしたクライアン
トプロセスからの照会要求により、必要な ユーザ情報を提供する。その情報は要求しているところへ確実に転送されなけれ ばならない。また、要求に迅速に対処しなければならない。基本的には、特定のサーバがその役割を果たす。サーバは照会要求がどこで生じ 、その要求の内容は何であるか、さらにはどこに提供するかを保証する。

401402
3.1.2

1989 年度 WIDE 報告書
利用者個人情報の検索機能

クライアントから発せられる照会要求は、特定のユーザに関する情報である場合と、多数のユーザの特定の情報である場合とがある。ユーザを特定している場合は、それがどのユーザの情報であるか、また、情報を特定している場合には、それが何の情報であるのかを検索する。照会要求の対象は１つあるいは複数の限定された情報であり、同時に１人あるいはそれ以上のユーザを対象とするものである。全てのユーザ情報の中からその要求に該当するものを検索し 、選出することが必要である。
3.1.3

利用者個人情報の収集と格納機能

クライアントへ情報を提供するに先立ち、管理下のユーザの情報を保存しておくことは当然である。そしてその情報は、ユーザ情報に関する全ての要求をサポートできるものでなければならない。そのためにはユーザの現時点での新しい情報を常に認識しておくべきである。したがって、情報を適宜収集し 、データベースに格納する。格納については、ユーザごとにそして種類別に整理しておくことが、検索する上でも必要である。ここ
で、情報を収集するにあたっては、信頼性を十分考慮し 、収集の時期とその過程について検討しなければならない。
3.1.4

利用者個人情報データベースの更新と整合機能

ユーザ情報が常に新しいものであるためには、データベースの更新が行なわれなければならない。その更新も、どのユーザに関してか、そして、どの情報に関してかを判別し、正確に行なわれる必要がある。また、不要な更新はさけなければならない。あるいは、古い情報の中でも不必要な情報は、データベースが無駄に大きくならないよう捨てなければならない。ネットワーク内、あるいはド メインに関わる利用者とその情報の登録、変更、抹消は必要に応じて適宜行なわれなければならない。さもなければ 、既に存在しない情報がクライアントから要求される場合が生じるし 、また、ユーザ情報データベースに不整合が生じる。この場合、整合要求によりデータベースの整合が行われる。

3.2

ユーザ情報管理システムを支える３つの基本サーバ

ユーザ情報管理システムには基本的に４つの機能があることを先に述べたが 、これらの機能を有効に働かせるためには３つの基本サーバが必要である。１つはクライアントの要求を受け、必要な情報を検索し提供する

第 9部

利用者情報管理403

サーバ、そして、もう１つは情報を収集しデータを更新するサーバ、さらには、広域分散環境を考慮し 、先のサーバの所在を示すサーバである。これらのサーバを以下のように名付けることにする。

 user server information server domain server
これら各々のサーバが相互に働きあって全体の管理システムを形成している。まず、は各ユーザの情報をそのデータベースに格納し管理は 、時間的に変化しやすいな情報している。に報告する。
を特に管理するサーバでありこれをは各ユーザに関するド メイン名ととの対応づけを行っている。
次章でそれぞれのサーバの役割と機能を示す。

user server
information serveruser serveruser server

dynamic
domain server

第 4章
user server

4.1

user server の役割とその機能

user server

は各ユーザの情報を自らのデータベースの中に格納しておき、クライアントからの照会要求に応じてその情報を提供する。データベーな情報と、な情報とが保存されており、各スにはユーザのユーザ毎に、そして情報の種類ごとに整理されている。つまり、ユーザ情報のデータベースに存在する。言い換えれば 、はすべてこのはその管理下におかれている全てのユーザの情報をデータベースに持っている。したがって、要求の対象となるユーザの情報を選出する役割も同時に果たしている。また、更新要求が発せられると、データベースのな情報に関してである 。又、ユーザ書換えを実行する この更新はの新規登録、抹消などに関しても同様である。
一方、クライアントプロセスからの要求に答えるという側面の他に 、な情報などを取り込むという側面もある。送られた情報を取り込んで、各ユーザ単位のデータベースに仕分けし 、格納する役割もある。つはユーザ情報管理システムにおいて中心的な役割をまり、この果たすと同時に重要な機能である。

staticdynamicuser server

server(userstatic)

dynamicuser server

4.2

user server の通信モデル

user server の役割は明確化されたが、user server はどのくらいの範囲でユーザ情報を管理するか、つまりどこまでのユーザをその管理下に置くかが問われる。
を構築するにあたっては、の起動、負荷を考慮した様々なモデルを想定した。なぜなら、サーバは必要最小限に、かつ効率的にその役割を果たせれば良いからである。
を各システムに１つおいた場合（図１を参照）であ
まず、るが、これは、クライアントプロセスから次々に送られてくる要求全てにuser serveruser serveruser server

404

第 9部

405

利用者情報管理

同時に答えることが困難な上に、情報を取り込む場合にも同じようなことがいえる。唯一つのサーバではかなりの負荷がかかってしまうのである。
を各ユーザと１対１に対応させた場合 図２を参照
次に、には、クライアントの要求に同時に答えることは可能であるが、可能な限り起こり得る全てのクライアントからの照会要求が生じない限り、それだを起動させることは無駄であり、通信の混乱を引き起け多くのこしやすい。
サーバの負荷、最小限の起動、といったことを満足させるために次のような通信モデルを構築した。 図３を参照
まず、を各システムに１つ置き、このはクライアントからの要求に応じて 例えば というユーザの情報を要求しして専用のとしているクライアントがあれば例えば、そのに仕事を委任する。これにより、必要はを起動させれば良いし 、複数のクライアントからの要な際ににかか求に同時に答えることが可能になる。したがって全体のる負荷も最小限に抑えられる。
は２つの構成要素を持つ
ここでuser server()user server(parent user server(PUS)()forkA user server)CUS
PUS CUS

()

A

PUS

child user server(CUS)
user serveruser server
 parent user server(PUS) child user server(CUS)PUS はシステムに１つ存在し 、ユーザ情報要求がくると、それがどのユーザに関してかを認識し 、そのユーザに関しての情報を管理する CUS を起動させる。PUS はクライアントからの要求を受けるだけで、直接それに答えることはしない。情報を取り込む場合にも、どのユーザのデータベースにに書き込まれるかを判断し 、あとはそのデータベースを管理する任せる。つまり、はクライアントからの受け口であり、その要求に見を起動させるのである。
合ったは各ユーザに対して１つ存在すると思ってよい。しかしの起動はに委ねられている。
は自分の管理すべき１人のユーザ情報をデータベースに持ち、クライアントへ必要な情報を直接提供する。まはた、更新要求があれば 、自分のデータベースを更新する。つまり、ユーザ情報の格納、更新そして、クライアントとの通信を行なっている。

CUS

PUS

CUS
CUS
PUS

CUS

CUS

CUS

4.3

データベースのフォーマット

データベースに保存される情報はデータとして、＊情報
本名、ローカル名、インターネットアドレス

static111

phone number、

406

1989 年度 WIDE 報告書

mail box＊ dynamic 情報 1 1 1 ホスト名、tty 、w 情報 (login time,idle time, what)をサポートすることにする。ここで what とはユーザのホスト上での状態のことである。このデータは、検索、更新を実行し易いように各ユーザごとに存在する。従ってこれらのデータのヘッダには、ユーザ名と、それに加えて各情報ごとのラベル付けが記されている。

第 5章
information server

5.1

information server の役割とその機能

user server によって管理されているユーザ情報のうち特に dynamic 情報が信頼性の高いものであるためには、常に変化が生じるごとに書き換えがいちいち収集するのではが必要である。そのような情報をにかけさ能率が悪い。つまり、情報を収集するという負担をせないために 、それを実行してくれる特別なサーバが必要になってくる。
はこうした機能をサポートしてくれる。データベースへの格納はに任せることにして、は情報をに報告することを役割とする。
集めて、user server

information serveruser serveruser server
5.2

user server

information server

information server の通信モデル

information server
information server(

このが情報を収集する方法としてはいくつかのモデを各システムに一つ置き、各ホルが考えられる。まず、ストに情報を転送してもらう場合 図５を参照 、このは各ホストにアクセスしているユーザの情報を取り込むわけであるが、ホストの情報を一度に取り込むような場合が生じ 、にかかる負荷も大きくなるし 、データベースに一度保存しておくにしてもそのファイルは膨大なものになってしまう。さらに重大なこととして、ホストが情報を提供できるためにはクライアントプロセスによらなければならないので、ユーザに負担をかけることに他ならない。

)

information server

serverinformation server(が情報を聞きにいくにしても 図
また、各ホストに６を参照 、ホストはそもそも簡単に増やすことができるので、ホストが増が聞きにいくホストをえるたびにのデータベースにいちいち登録しなければならない。小規模なネットワー
クであれば対応できるが、広域分散環境下においては不便である。

)

infor mation server

information server

407

408

1989 年度 WIDE 報告書

information server

は各ホストと１対１に対応するよう、ホ最終的に、スト上で常に起動させておく必要がある。 図７を参照
なぜなら、情報はいつなんどき変化するか予測がつき難いからであるし 、また、ホストが増加しても、そのホスト上でを起動し 、の所在を示すだけで容易にホストがそのシステムにに転送さ登録されるからである。各ホストの情報はそのままれ、各々のホストにアクセスしているユーザごとに割り振られ、格納されるのである。

dynamic()

information serveruser server

5.3

user server

information server の報告する情報

information server

各ホストにを置くことで、ど ういった種類の情報がに転送されるかを考える。問題なのはな情報が常にユーザサーバに取り込まれなければ現時点でのユーザの正確な情報が得られないということである。
はデータベースを持つべきかど うかがここでまず、が情報を取り込むのであれ問われる。もし 、定期的にが情報を収集するば 、データベースを持つ必要がなく、に転送すれば良い。しかし 、その場合には、どのくらと同時にいの間隔でホストに情報を聞きに行くのか、その尺度が難しい。長い間隔間の通信が多では情報は信頼性に乏しいものになり、短い間隔ではくなり、システムの負荷につながる。また、データに変化がなくても、通信が起こることは意味がない。
がデータベースを持つことにより、前後のここで、データを照合し 、変化が生じた場合のみその変化分だけをに報告することができる。無駄な通信も避けられるわけである。しかし 、データベースを持つと、ディスクへの書き込みが生じる。これが１システム内の全てのホストについてなされると、ファイルシステムの負荷につながる。
、次に情報で情報の中で、最も変化するものをあげると、情報は状態が変化するごとに報告すればよいが、はある。
以前の情報が必要である。
情報だけをのデータベー以上のことから、スに保存しておく必要がある。そして、ある一定時間経過したものを差分に報告すれば良いこととして報告するか、もしくは、定期的にになる。

user server

dynamic

information server
information server
information serveruser server

serverinformation serveruser server

idle time

what

idle time

information serveruser serverwhatidle time第 6章
domain server

6.1

domain server の役割と機能

本来、ユーザが単一のシステム内だけで作業を行なうのであれば 、ユー
ザ情報管理システムではとの２つのサーバで十分耐え得るが 、この管理システムは、広域分散環境における発展性、拡張性を十分考慮したものでなければならないので 、このが必要になる。広域分散環境下では、１人のユーザに対して２つ以上のアカウントが考えられる。例えば 、なるユーザが、

user server information server

domain server

koichi/jp/ac/u-tokyo/koichi/jp/ac/keio/koichi

といった２つのアカウントを持つことが考えられる。このように１人のゆーざが複数のシステムに跨ってアカウントを持つと、そのユーザの情報は分のシステム内での情報と、のシ散してしまう。先の例では、ステム内での情報の２つが同時に存在しかねない。従って情報の信頼性がなくなってしまう。このことから情報はいくらユーザがアカウントを持っていようとも、ユーザごとに１ヶ所にまとめて保存することが望ましい。
は、情報を取り込むにしても、提供こうしたことから、するにしても、その対象となるユーザの情報を管理するの位置をクライアントに提供する。言い換えれば 、にのアクセスポイントを返したり、クライアントプロセスに、対象であるの情報を管理する ユーザの本名の属するシステム内で起動してのアクセスポイントを返したりする。
いるu-tokyo

domain server

serveruser)user server

(409

keio

user server
information server user

410

1989 年度 WIDE 報告書