(57)【要約】【課題】  新たに属性を追加する場合における負荷を軽減する。【解決手段】  情報処理装置は、ディレクトリサーバが記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶する記憶手段と、ディレクトリサーバから情報を受信する受信手段と、情報が識別子と属性値とを含むか否かを判定する判定手段と、情報が識別子を含み属性値を含まない場合、情報に含まれる識別子に基づいて記憶手段における第２の属性値を検索し、情報に含まれる識別子に関連する第２の属性値を出力する検索手段と、検索手段が出力した第２の属性値と情報に含まれる識別子とをディレクトリサーバに送信する送信手段とを含む。【選択図】  図１
2020160931.tif 000002
【特許請求の範囲】
【請求項１】
ディレクトリサーバが記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶する記憶手段と、
前記ディレクトリサーバから情報を受信する受信手段と、
前記情報が識別子と属性値とを含むか否かを判定する判定手段と、
前記情報が識別子を含み属性値を含まない場合、前記情報に含まれる識別子に基づいて前記記憶手段における前記第２の属性値を検索し、前記情報に含まれる識別子に関連する前記第２の属性値を出力する検索手段と、
前記検索手段が出力した前記第２の属性値と前記情報に含まれる識別子とを前記ディレクトリサーバに送信する送信手段と
を含む情報処理装置。
【請求項２】
前記情報が識別子と属性値とを含む場合、前記記憶手段が、前記情報に含まれる識別子に関連付けて、前記情報に含まれる属性値を前記第２の属性値として記憶する
請求項１に記載の情報処理装置。
【請求項３】
属性値の一部である第１の属性値を、識別子と関連付けて記憶する記憶手段と、
他の装置から、識別子と属性とを含む第１の情報を受信する受信手段と、
前記第１の情報に含まれる属性が、前記記憶手段が記憶する前記第１の属性値に関連する第１の属性であるか否かを判定する判定手段と、
前記第１の情報に含まれる属性が前記第１の属性の場合、前記第１の情報に含まれる識別子に基づいて前記記憶手段における前記第１の属性値を検索し、前記第１の情報に含まれる識別子に関連する前記第１の属性値を出力する検索手段と、
前記第１の情報に含まれる属性が前記第１の属性の場合、前記検索手段が出力した前記第１の属性値と前記第１の情報に含まれる識別子とを前記他の装置に送信し、前記第１の情報に含まれる属性が前記第１の属性ではない場合、前記第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、前記第１の情報に含まれる識別子を含む第２の情報を送信する送信手段と
を含むディレクトリサーバ。
【請求項４】
前記第１の情報がさらに属性値を含む場合において、
前記第１の情報に含まれる属性が前記第１の属性の場合、前記記憶手段が、前記第１の情報に含まれる識別子と属性とに関連付けて、前記第１の情報に含まれる属性値を前記第１の属性値として記憶し、
前記第１の情報に含まれる属性が前記第１の属性ではない場合、前記送信手段が、前記第１の情報に含まれる属性値をさらに含む第２の情報を前記情報処理装置に送信する
請求項３に記載のディレクトリサーバ。
【請求項５】
属性値の一部である第１の属性値を、識別子と関連付けて記憶する第１の記憶手段と、
他の装置から、識別子と属性とを含む第１の情報を受信する第１の受信手段と、
前記第１の情報に含まれる属性が、前記第１の記憶手段が記憶する前記第１の属性値に関連する第１の属性であるか否かを判定する第１の判定手段と、
前記第１の情報に含まれる属性が前記第１の属性の場合、前記第１の情報に含まれる識別子に基づいて前記第１の記憶手段における前記第１の属性値を検索し、前記第１の情報に含まれる識別子に関連する前記第１の属性値を出力する第１の検索手段と、
前記第１の情報に含まれる属性が前記第１の属性の場合、前記第１の検索手段が出力した前記第１の属性値と前記第１の情報に含まれる識別子とを前記他の装置に送信し、前記第１の情報に含まれる属性が前記第１の属性ではない場合、前記第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、前記第１の情報に含まれる識別子を含む第２の情報を送信する第１の送信手段と
を含むディレクトリサーバと、
前記第２の属性値を、識別子と関連付けて記憶する第２の記憶手段と、
前記ディレクトリサーバから前記第２の情報を受信する第２の受信手段と、
前記第２の情報が識別子と属性値とを含むか否かを判定する第２の判定手段と、
前記第２の情報が識別子を含み属性値を含まない場合、前記第２の情報に含まれる識別子に基づいて前記第２の記憶手段における前記第２の属性値を検索し、前記第２の情報に含まれる識別子に関連する前記第２の属性値を出力する第２の検索手段と、
前記第２の検索手段が出力した前記第２の属性値と前記第２の情報に含まれる識別子とを前記ディレクトリサーバに送信する第２の送信手段と
を含む情報処理装置と
を含む情報処理システム。
【請求項６】
情報処理装置が、
ディレクトリサーバが記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶し、
前記ディレクトリサーバから情報を受信し、
前記情報が識別子と、属性値とを含むか否かを判定し、
前記情報が識別子を含み属性値を含まない場合、前記情報に含まれる識別子に基づいて前記第２の属性値を検索し、前記情報に含まれる識別子に関連する前記第２の属性値を出力し、
出力した前記第２の属性値と前記情報に含まれる識別子を前記ディレクトリサーバに送信する
情報処理方法。
【請求項７】
ディレクトリサーバが
属性値の一部である第１の属性値を、識別子と関連付けて記憶し、
他の装置から、識別子と属性とを含む第１の情報を受信し、
前記第１の情報に含まれる属性が、記憶する前記第１の属性値に関連する第１の属性であるか否かを判定し、
前記第１の情報に含まれる属性が前記第１の属性の場合、前記第１の情報に含まれる識別子に基づいて前記第１の属性値を検索し、前記第１の情報に含まれる識別子に関連する前記第１の属性値を出力し、
前記第１の情報に含まれる属性が前記第１の属性の場合、出力した前記第１の属性値と前記第１の情報に含まれる識別子とを前記他の装置に送信し、前記第１の情報に含まれる属性が前記第１の属性ではない場合、前記第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、前記第１の情報に含まれる識別子を含む第２の情報を送信する
情報処理方法。
【請求項８】
ディレクトリサーバが、
属性値の一部である第１の属性値を、識別子と関連付けて記憶し、
他の装置から、識別子と属性とを含む第１の情報を受信し、
する第１の受信手段と、
前記第１の情報に含まれる属性が、記憶する前記第１の属性値に関連する第１の属性であるか否かを判定し、
前記第１の情報に含まれる属性が前記第１の属性の場合、前記第１の情報に含まれる識別子に基づいて前記第１の属性値を検索し、前記第１の情報に含まれる識別子に関連する前記第１の属性値を出力する第１の検索手段と、
前記第１の情報に含まれる属性が前記第１の属性の場合、前記第１の検索手段が出力した前記第１の属性値と前記第１の情報に含まれる識別子とを前記他の装置に送信し、前記第１の情報に含まれる属性が前記第１の属性ではない場合、前記第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、前記第１の情報に含まれる識別子を含む第２の情報を送信し、
情報処理装置が、
前記第２の属性値を、識別子と関連付けて記憶し、
前記ディレクトリサーバから前記第２の情報を受信し、
前記第２の情報が識別子と属性値とを含むか否かを判定し、
前記第２の情報が識別子を含み属性値を含まない場合、前記第２の情報に含まれる識別子に基づいて前記第２の属性値を検索し、前記第２の情報に含まれる識別子に関連する前記第２の属性値を出力し、
出力した前記第２の属性値と前記第２の情報に含まれる識別子とを前記ディレクトリサーバに送信する
情報処理方法。
【請求項９】
ディレクトリサーバが記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶する処理と、
前記ディレクトリサーバから情報を受信する処理と、
前記情報が識別子と、属性値とを含むか否かを判定する処理と、
前記情報が識別子を含み属性値を含まない場合、前記情報に含まれる識別子に基づいて前記第２の属性値を検索し、前記情報に含まれる識別子に関連する前記第２の属性値を出力する処理と、
出力した前記第２の属性値と前記情報に含まれる識別子とを前記ディレクトリサーバに送信する処理と
をコンピュータに実行させるプログラム。
【請求項１０】
属性値の一部である第１の属性値を、識別子と関連付けて記憶する処理と、
他の装置から、識別子と属性とを含む第１の情報を受信する処理と、
前記第１の情報に含まれる属性が、記憶する前記第１の属性値に関連する第１の属性であるか否かを判定する処理と、
前記第１の情報に含まれる属性が前記第１の属性の場合、前記第１の情報に含まれる識別子に基づいて前記第１の属性値を検索し、前記第１の情報に含まれる識別子に関連する前記第１の属性値を出力する処理と、
前記第１の情報に含まれる属性が前記第１の属性の場合、出力した前記第１の属性値と前記第１の情報に含まれる識別子とを前記他の装置に送信し、前記第１の情報に含まれる属性が前記第１の属性ではない場合、前記第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、前記第１の情報に含まれる識別子を含む第２の情報を送信する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の記憶及び管理に関する。
【背景技術】
【０００２】
一般的な情報処理システムでは、複数の情報処理装置が、所定のネットワークを介して接続されている。このような情報処理システムでは、データを記憶する記憶装置など複数のリソースが、ネットワーク上に分散配置されている。ネットワークに分散配置されているリソースを管理する技術の一つとして、ディレクトリサービスが用いられている。
【０００３】
ディレクトリサービスの一例として、ＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）が、用いられている（特許文献１を参照）。特許文献１に記載のディレクトリ情報提供装置は、複数のディレクトリサーバから効率的にディレクトリ情報を取得する。
【０００４】
なお、ＬＤＡＰは、国際電気電信連合の「勧告Ｘ．５００」をより使いやすいように、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）において開発された規格である（非特許文献１を参照）。
【０００５】
ＬＤＡＰにおいて、管理対象となるデータは、少なくとも１つの属性に関連する値（以下、「属性値」と呼ぶ）を含む。そして、データは、データを一意に識別するための識別子（以下、「キー」と呼ぶ場合もある）に関連付けられている。
【０００６】
ＬＤＡＰにおいては、専用の装置が、キーを含め、データを管理する。ＬＤＡＰにおいて、データを管理する装置は、ディレクトリサーバと呼ばれている。なお、ディレクトリサーバとの用語は、ＬＤＡＰに限らず、他のディレクトリサービスにおいても、データを管理する装置の呼称として用いられている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−２３８１５５号公報
【非特許文献】
【０００８】
【非特許文献１】W. Yeong, T. Howes, S. Kille, "X.500 Lightweight Directory Access Protocol", ISODE Consortium, July 1993, Network Working Group, Request for Comments: 1487, [平成３０年２月４日検索], インターネット<URL:https://www.rfc-editor.org/rfc/rfc1487.txt>
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ディレクトリサーバにおいて新たに属性を追加する場合、全てのディレクトリサーバにおいて、新たに追加される属性（追加属性）に関連する属性値を記憶する領域の確保、及び、追加属性に関連する属性値を記憶する処理が発生する。
【００１０】
つまり、特許文献１及び非特許文献１に記載の発明は、属性を追加のための負荷が大きいという問題点があった。
【００１１】
本開示の目的は、上述した課題を鑑み、新たに属性を追加する場合における負荷を低減する情報処理装置などを提供することにある。
【課題を解決するための手段】
【００１２】
本開示の一形態における情報処理装置は、
ディレクトリサーバが記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶する記憶手段と、
ディレクトリサーバから情報を受信する受信手段と、
情報が識別子と属性値とを含むか否かを判定する判定手段と、
情報が識別子を含み属性値を含まない場合、情報に含まれる識別子に基づいて記憶手段における第２の属性値を検索し、情報に含まれる識別子に関連する第２の属性値を出力する検索手段と、
検索手段が出力した第２の属性値と情報に含まれる識別子とをディレクトリサーバに送信する送信手段と
を含む。
【００１３】
本開示の一形態におけるディレクトリサーバは、
属性値の一部である第１の属性値を、識別子と関連付けて記憶する記憶手段と、
他の装置から、識別子と属性とを含む第１の情報を受信する受信手段と、
第１の情報に含まれる属性が、記憶手段が記憶する第１の属性値に関連する第１の属性であるか否かを判定する判定手段と、
第１の情報に含まれる属性が第１の属性の場合、第１の情報に含まれる識別子に基づいて記憶手段における第１の属性値を検索し、第１の情報に含まれる識別子に関連する第１の属性値を出力する検索手段と、
第１の情報に含まれる属性が第１の属性の場合、検索手段が出力した第１の属性値と第１の情報に含まれる識別子とを他の装置に送信し、第１の情報に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、第１の情報に含まれる識別子を含む第２の情報を送信する送信手段と
を含む。
【００１４】
本開示の一形態における情報処理システムは、
属性値の一部である第１の属性値を、識別子と関連付けて記憶する第１の記憶手段と、
他の装置から、識別子と属性とを含む第１の情報を受信する第１の受信手段と、
第１の情報に含まれる属性が、第１の記憶手段が記憶する第１の属性値に関連する第１の属性であるか否かを判定する第１の判定手段と、
第１の情報に含まれる属性が第１の属性の場合、第１の情報に含まれる識別子に基づいて第１の記憶手段における第１の属性値を検索し、第１の情報に含まれる識別子に関連する第１の属性値を出力する第１の検索手段と、
第１の情報に含まれる属性が第１の属性の場合、第１の検索手段が出力した第１の属性値と第１の情報に含まれる識別子とを他の装置に送信し、第１の情報に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、第１の情報に含まれる識別子を含む第２の情報を送信する第１の送信手段と
を含むディレクトリサーバと、
第２の属性値を、識別子と関連付けて記憶する第２の記憶手段と、
ディレクトリサーバから第２の情報を受信する第２の受信手段と、
第２の情報が識別子と属性値とを含むか否かを判定する第２の判定手段と、
第２の情報が識別子を含み属性値を含まない場合、第２の情報に含まれる識別子に基づいて第２の記憶手段における第２の属性値を検索し、第２の情報に含まれる識別子に関連する第２の属性値を出力する第２の検索手段と、
第２の検索手段が出力した第２の属性値と第２の情報に含まれる識別子とをディレクトリサーバに送信する第２の送信手段と
を含む情報処理装置と
を含む。
【００１５】
本開示の一形態における情報処理方法は、
情報処理装置が、
ディレクトリサーバが記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶し、
ディレクトリサーバから情報を受信し、
情報が識別子と、属性値とを含むか否かを判定し、
情報が識別子を含み属性値を含まない場合、情報に含まれる識別子に基づいて第２の属性値を検索し、情報に含まれる識別子に関連する第２の属性値を出力し、
出力した第２の属性値と情報に含まれる識別子をディレクトリサーバに送信する。
【００１６】
本開示の一形態における情報処理方法は、
ディレクトリサーバが
属性値の一部である第１の属性値を、識別子と関連付けて記憶し、
他の装置から、識別子と属性とを含む第１の情報を受信し、
第１の情報に含まれる属性が、記憶する第１の属性値に関連する第１の属性であるか否かを判定し、
第１の情報に含まれる属性が第１の属性の場合、第１の情報に含まれる識別子に基づいて第１の属性値を検索し、第１の情報に含まれる識別子に関連する第１の属性値を出力し、
第１の情報に含まれる属性が第１の属性の場合、出力した第１の属性値と第１の情報に含まれる識別子とを他の装置に送信し、第１の情報に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、第１の情報に含まれる識別子を含む第２の情報を送信する。
【００１７】
本開示の一形態における情報処理方法は、
ディレクトリサーバが、
属性値の一部である第１の属性値を、識別子と関連付けて記憶する第１の記憶手段と、
他の装置から、識別子と属性とを含む第１の情報を受信し、
第１の情報に含まれる属性が、第１の記憶手段が記憶する第１の属性値に関連する第１の属性であるか否かを判定し、
第１の情報に含まれる属性が第１の属性の場合、第１の情報に含まれる識別子に基づいて第１の属性値を検索し、第１の情報に含まれる識別子に関連する第１の属性値を出力し、
第１の情報に含まれる属性が第１の属性の場合、出力した第１の属性値と第１の情報に含まれる識別子とを他の装置に送信し、第１の情報に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、第１の情報に含まれる識別子を含む第２の情報を送信し、
情報処理装置が、
第２の属性値を、識別子と関連付けて記憶し、
ディレクトリサーバから第２の情報を受信し、
第２の情報が識別子と属性値とを含むか否かを判定し、
第２の情報が識別子を含み属性値を含まない場合、第２の情報に含まれる識別子に基づいて第２の属性値を検索し、第２の情報に含まれる識別子に関連する第２の属性値を出力し、出力した第２の属性値と第２の情報に含まれる識別子とをディレクトリサーバに送信する。
【００１８】
本開示の一形態におけるプログラムは、
ディレクトリサーバが記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶する処理と、
ディレクトリサーバから情報を受信する処理と、
情報が識別子と、属性値とを含むか否かを判定する処理と、
情報が識別子を含み属性値を含まない場合、情報に含まれる識別子に基づいて第２の属性値を検索し、情報に含まれる識別子に関連する第２の属性値を出力する処理と、
出力した第２の属性値と情報に含まれる識別子とをディレクトリサーバに送信する処理と
をコンピュータに実行させる。
【００１９】
本開示の一形態におけるプログラムは、
属性値の一部である第１の属性値を、識別子と関連付けて記憶する処理と、
他の装置から、識別子と属性とを含む第１の情報を受信する処理と、
第１の情報に含まれる属性が、記憶する第１の属性値に関連する第１の属性であるか否かを判定する処理と、
第１の情報に含まれる属性が第１の属性の場合、第１の情報に含まれる識別子に基づいて第１の属性値を検索し、第１の情報に含まれる識別子に関連する第１の属性値を出力する処理と、
第１の情報に含まれる属性が第１の属性の場合、出力した第１の属性値と第１の情報に含まれる識別子とを他の装置に送信し、第１の情報に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、第１の情報に含まれる識別子を含む第２の情報を送信する処理と
をコンピュータに実行させる。
【発明の効果】
【００２０】
本開示に基づけば、新たに属性を追加する場合における負荷を軽減するとの効果を奏することができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、第１の実施形態における、情報処理システムの構成の一例を示すブロック図である。
【図２】図２は、第１の実施形態における、情報処理装置の構成の一例を示すブロック図である。
【図３】図３は、第１の実施形態における、ディレクトリサーバの構成の一例を示すブロック図である。
【図４】図４は、第１の実施形態における、属性値を取得する動作の一例を示すシーケンス図である。
【図５】図５は、第１の実施形態における、属性値を設定する動作の一例を示すシーケンス図である。
【図６】図６は、変形例における、ディレクトリサーバの構成の一例を示すブロック図である。
【図７】図７は、情報処理装置のハードウェア構成の一例を示すブロック図である。
【図８】図８は、一般的なディレクトリサーバを含む情報処理システムを示すブロック図である。
【図９】図９は、一般的なディレクトリサーバにおいて、新たに追加される属性に関連する属性値の追加を説明するための図である。
【発明を実施するための形態】
【００２２】
次に、本発明の実施形態について図面を参照して説明する。
【００２３】
なお、各図面は、本発明における実施形態を説明するためのものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を省略する場合がある。また、以下の説明に用いる図面において、各実施形態の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。
【００２４】
なお、各実施形態において、データは、少なくとも一つの属性に関連する属性値を含む。そして、各データは、データを一意に識別するための識別子（以下、「キー」と呼ぶ場合もある）と関連付けられている。
【００２５】
また、以下の説明において、識別子（キー）に関連してデータを記憶する装置の一例として、ＬＤＡＰにおけるディレクトリサーバを用いて説明する。ただし、これは、各実施形態をＬＤＡＰに限定するものではない。ディレクトリサーバは、ディレクトリサービスに用いられるサーバであればよい。例えば、ディレクトリサーバは、ドメインネームを管理するドメインネームサーバでもよい。
【００２６】
＜関連技術＞
まず、図面を参照して、一般的なディレクトリサーバを説明する。
【００２７】
図８は、一般的なディレクトリサーバを含む情報処理システムを示すブロック図である。なお、図８において、情報処理システムは、複数のディレクトリサーバを備える。ディレクトリサーバは、直接的に接続されている。ただし、これは、説明の便宜のためである。ディレクトリサーバは、図示しないネットワークを介して接続してもよい。
【００２８】
図８において、データは、属性Ａに関連する属性値を含む。ディレクトリサーバ９１０ないし９４０は、データを分散して記憶する。具体的には、各ディレクトリサーバは、キーに関連付けて、分散されたデータを記憶する。例えば、ディレクトリサーバ９１０は、キー１及び２に関連するデータ（分散されたデータ）を記憶する。ディレクトリサーバ９２０は、キー１０及び１１に関連するデータを記憶する。ディレクトリサーバ９３０は、キー２０及び２１に関連するデータを記憶する。ディレクトリサーバ９４０は、キー１００及び１０１に関連するデータを記憶する。
【００２９】
あるキーに関連する属性値の取得を希望する装置（依頼元装置）が、図８に示す情報処理システムにアクセス可能であるとする。依頼元装置は、ディレクトリサーバ９１０ないし９４０のいずれかに、キーと、属性の指定（例えば、属性名）を送付する。なお、図８における属性Ａは、属性名の一例である。
【００３０】
依頼を受けたディレクトリサーバは、受信したキーに関連するデータを記憶している場合、キーに基づいて、指定された属性に関連する属性値を検索し、キーに関連する属性値を出力する。
【００３１】
受信したキーに関連するデータを記憶していない場合、ディレクトリサーバは、データの分散の規則（例えば、ＬＤＡＰの規格）に沿って、キーと属性の指定とを所定のディレクトリサーバに転送する。
【００３２】
例えば、ディレクトリサーバ９２０が「キー１０及び属性Ａの指定」を受信した場合、ディレクトリサーバ９２０は、キー１０に関連する属性Ａの属性値「Ａ１０」を依頼元装置に出力する。あるいは、ディレクトリサーバ９２０が「キー１及び属性Ａの指定」を受信した場合、ディレクトリサーバ９２０は、「キー１及び属性Ａの指定」をディレクトリサーバ９１０に転送する。そして、「キー１及び属性Ａの指定」を転送されたディレクトリサーバ９１０は、キー１に関連する属性Ａの属性値「Ａ１」を、依頼元装置に出力する。
【００３３】
図８に示されているディレクトリサーバにおいて新たに属性を追加する場合、全てのディレクトリサーバにおいて、新たに追加される属性（追加属性）に関連する属性値を記憶する領域の確保、及び、追加属性に関連する属性値を設定する処理が発生する。
【００３４】
図９は、一般的なディレクトリサーバにおいて、新たに追加される属性に関連する属性値の追加を説明するための図である。
【００３５】
図９は、属性Ｂに関連する属性値を追加する場合を示している。例えば、ディレクトリサーバ９１０は、キー１及び２における追加属性（属性Ｂ）に関連する属性値（図９のＢ１及びＢ２）を記憶する領域を確保し、確保した領域に属性値「Ｂ１」及び「Ｂ２」を記憶する。他のディレクトリサーバも同様である。
【００３６】
図９は、４台のディレクトリサーバを備える情報処理システムを示している。しかし、実際の情報処理システムには、ネットワークに分散した多数のディレクトリサーバが存在する。そのため、一般的なディレクトリサーバを含む情報処理システムにおいては、多数のディレクトリサーバにおいて、ネットワークを介したデータ通信を用いて、上記の追加属性に関連する属性値を設定する処理を実行させる必要があった。
【００３７】
＜第１の実施形態＞
以下、図面を参照して、第１の実施形態について説明する。
【００３８】
［構成の説明］
まず、図面を参照して、第１の実施形態における、情報処理システム１０の構成について説明する。
【００３９】
図１は、第１の実施形態における、情報処理システム１０の構成の一例を示すブロック図である。
【００４０】
情報処理システム１０は、情報処理装置１００と、ディレクトリサーバ２００とを含む。
【００４１】
図１に例示されているデータは、２つの属性（属性Ａと属性Ｂ）に関連する属性値を含む。図１に示されているように、属性Ａは、ディレクトリサーバ２００が記憶する属性値に関連する属性である。一方、属性Ｂは、情報処理装置１００が記憶する属性値に関連する属性である。後ほど説明するように情報処理装置１００は、新たに追加される属性に関連する属性値を記憶する。つまり、図１に示されている属性Ｂは、新たに追加される属性の一例である。
【００４２】
ただし、データが含む属性値の数は、上記に限定されない。ディレクトリサーバ２００及び情報処理装置１００の少なくとも１つは、複数の属性に関連する属性値を記憶してもよい。
【００４３】
また、データは、識別子（キー）に関連付けられている。図１において、キー１に関連するデータは、ディレクトリサーバ２００に記憶されている属性Ａの属性値Ａ１と、情報処理装置１００に記憶されている属性Ｂの属性値Ｂ１とを含む。
【００４４】
ディレクトリサーバ２００は、データに含まれる少なくとも一つの属性（例えば、属性Ａ）の属性値を、キーと関連付けて記憶する。図１に示されているように、データは、複数のディレクトリサーバ２００に分散され記憶されている。
【００４５】
ただし、複数のディレクトリサーバ２００は、それぞれ、異なるキーに関連する、分散されたデータの属性値を、記憶する。１つのキーに関連づけられる属性値は、１つのディレクトリサーバ２００と情報処理装置１００とに記憶される。１つのキーに関連づけられた属性値が、複数のディレクトリサーバ２００に記憶されることはない。
【００４６】
情報処理装置１００は、新たに追加される属性（追加属性、例えば、属性Ｂ）に関連する属性値を、キーに関連付けて記憶する。
【００４７】
ここで、一般的なディレクトリサービスにおけるディレクトリサーバと、ディレクトリサーバ２００及び情報処理装置１００との違いを説明する。
【００４８】
図８に示すように、一般的なディレクトリサービスにおいて、各ディレクトリサーバは、データの全ての属性に関連する属性値を記憶する領域を確保して、属性値を記憶する。そのため、図９に示すように、データに新たに属性が追加される場合、一般的なディレクトリサーバは、記憶する全てのデータにおいて、追加属性に関連する属性値を記憶するための領域を確保し、確保した領域に追加属性に関連する属性値を記憶する。
【００４９】
これに対し、第１の実施形態において、ディレクトリサーバ２００は、データに新たな属性が追加される場合、追加属性を記憶する領域を確保しない。つまり、ディレクトリサーバ２００は、追加属性に関連する属性値を記憶しない。ディレクトリサーバ２００は、新たに属性が追加される場合、情報処理装置１００と通信するための情報（例えば、情報処理装置１００のアドレス）を記憶する。
【００５０】
なお、情報処理システム１０を管理する管理者が、情報処理装置１００を情報処理システム１０に組み込む際に、ディレクトリサーバ２００に情報処理装置１００と通信するための情報を設定する。また、情報処理システム１０の管理者が、情報処理装置１００に、ディレクトリサーバ２００と通信するための情報を設定する。
【００５１】
情報処理装置１００は、新たに追加する属性（属性Ｂ）に関連する属性値を記憶する。一方、情報処理装置１００は、ディレクトリサーバ２００が記憶する属性（属性Ａ）に関連する属性値を記憶しない。すなわち、情報処理装置１００は、ディレクトリサーバ２００が記憶する属性値に関連する属性（属性Ａ）とは異なる属性（属性Ｂ）に関連する属性値を記憶する。なお、異なる属性（属性Ｂ）は、ディレクトリサーバ２００が構築された後に新たに追加される属性（追加属性）である。
【００５２】
さらに、情報処理装置１００は、新たに追加される属性に関連する属性値として、全てのキーに関連する属性値を記憶する。
【００５３】
図１に示されているデータを参照して、さらに説明する。
【００５４】
図１において、情報処理装置１００と、各ディレクトリサーバ２００のブロックに示されているキーと属性値との表は、各装置に記憶されているデータに含まれる属性値と、その属性値に関連するキーとを示す。
【００５５】
例えば、左上のディレクトリサーバ２００は、「キー１」及び「キー２」に関連するデータとして、「属性Ａ」に関連する属性値（Ａ１及びＡ２）を記憶している。あるいは、右下のディレクトリサーバ２００は、「キー１００」及び「キー１０１」に関連するデータとして、「属性Ａ」に関連する属性値（Ａ１００及びＡ１０１）を記憶している。なお、各ディレクトリサーバ２００は、キーに関連するデータとして、属性値以外のデータを記憶してもよい。
【００５６】
ディレクトリサーバ２００は、他のディレクトリサーバ２００が記憶する属性値に関連するキーとは異なるキーに関連するデータの属性値を記憶している。例えば、キー１に関連する属性値は、左上のディレクトリサーバ２００に記憶され、他のディレクトリサーバ２００には記憶されない。
【００５７】
これに対し、情報処理装置１００は、ディレクトリサーバ２００が記憶する属性値に関連する属性（属性Ａ）とは異なる、新たに追加される属性（属性Ｂ）に関連する属性値を記憶する。さらに、情報処理装置１００は、全てのキーに関連する属性値を記憶する。
【００５８】
次に、図面を参照して、情報処理装置１００とディレクトリサーバ２００の構成について説明する。
【００５９】
図２は、第１の実施形態における、情報処理装置１００の構成の一例を示すブロック図である。
【００６０】
情報処理装置１００は、記憶部１１０と、受信部１２０と、判定部１３０と、検索部１４０と、送信部１５０とを含む。
【００６１】
記憶部１１０は、ディレクトリサーバ２００が記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶する。受信部１２０は、ディレクトリサーバ２００から情報を受信する。判定部１３０は、情報が識別子と属性値とを含むか否かを判定する。検索部１４０は、情報が識別子を含み属性値を含まない場合、情報に含まれる識別子に基づいて記憶部１１０における第２の属性値を検索し、情報に含まれる識別子に関連する第２の属性値を出力する。送信部１５０は、検索部１４０が出力した第２の属性値と情報に含まれる識別子とをディレクトリサーバ２００に送信する。
【００６２】
このように構成された情報処理装置１００は、新たに追加される属性に関連する属性値を記憶し、ディレクトリサーバ２００から受信したキーに関連する属性値をディレクトリサーバ２００に送信する。
【００６３】
情報処理装置１００は、第２の属性に関連する第２の属性値を記憶する。そのため、新たに属性を追加する場合におけるディレクトリサーバ２００における負荷が、低減される。この場合に低減される負荷とは、少なくとも新たに追加される属性（追加属性）に関連する属性値を記憶する領域を確保する動作と、追加属性に関連する属性値を記憶する動作を含む。
【００６４】
具体的に、記憶部１１０は、ディレクトリサーバ２００が記憶する属性値に関連する属性（属性Ａ）とは異なる属性（属性Ｂ）に関連する属性値を、識別子（例えば、キー）と関連付けて記憶する。属性Ａと異なる属性（属性Ｂ）は、追加属性である。記憶部１１０は、全てのキーに関連付けて、追加属性（属性Ｂ）の属性値を記憶する。
【００６５】
記憶部１１０は、記憶手段の一例である。属性Ａが、第１の属性の一例であり、追加属性である属性Ｂが、第２の属性の一例である。属性Ａに関連する属性値は、第１の属性値の一例であり、属性Ｂに関連する属性値は、第２の属性値の一例である。
【００６６】
記憶部１１０は、ディレクトリサーバ２００から追加属性の値を要求される前であれば、追加属性に関連する属性値を記憶するタイミングを限定されない。記憶部１１０は、予め、追加属性に関連する属性値を全て記憶してもよい。あるいは、記憶部１１０は、追加属性に関連する属性値を記憶する領域を確保し、属性値が取得された場合に属性値を保存してもよい。
【００６７】
情報処理装置１００において、追加属性の属性値を記憶するやり方は、限定されない。
【００６８】
例えば、情報処理システム１０に新たに属性を追加するときに、情報処理システム１０の管理者が、所定の操作を用いて、情報処理装置１００の記憶部１１０に追加属性に関連する属性値を記憶する領域を確保する。そして、管理者は、確保した領域に、追加属性に関連する属性値を記憶させればよい。
【００６９】
あるいは、情報処理装置１００は、ディレクトリサーバ２００又は図示しない装置から追加属性に関連する属性値を受信した場合に、追加属性に関連する属性値を記憶してもよい。
【００７０】
なお、情報処理システム１０が、情報処理装置１００に追加属性に関連する属性値を記憶するための領域を確保する機能と、情報処理装置１００に追加属性に関連する属性値を記憶する機能とを、備えていてもよい。この場合、情報処理システム１０の管理者は、新たに属性を追加する際に、その機能を用いて、情報処理装置１００の記憶部１１０に追加属性に関連する属性値を記憶させてもよい。
【００７１】
受信部１２０は、ディレクトリサーバ２００から情報を受信する。受信部１２０は、受信手段の一例である。
【００７２】
判定部１３０は、受信部１２０がディレクトリサーバ２００から受信した情報を判定する。第１の実施形態における情報処理装置１００は、ディレクトリサーバ２００から受信する情報として、次のいずれかの情報に対して動作する。以下の説明では、その他の情報を受信した場合の説明を省略し、次に説明する情報を受信した場合について説明する。
（１）キー（識別子）を含み属性値を含まない情報
（２）キー（識別子）及び属性値を含む情報
（１）又は（２）の情報を使って、判定部１３０は、ディレクトリサーバ２００からの情報が、識別子と属性値を含むか否かを判定する。具体的には、判定部１３０は、受信部１２０がディレクトリサーバ２００から受信した情報が、「キーを含み属性値を含まない情報」であるか、「キー及び属性値を含む情報」であるかを判定する。判定部１３０は、判定手段の一例である。
【００７３】
なお、後ほど詳細に説明するように、キーを含み属性値を含まない情報を受信した場合、情報処理装置１００は、受信した情報の含まれるキーに関連する属性値を、ディレクトリサーバ２００に送信する。一方、キー及び属性値を含む情報を受信した場合、情報処理装置１００は、受信した情報に含まれる属性値を、受信した情報に含まれるキーに関連して記憶する。
【００７４】
言い換えると、判定部１３０は、ディレクトリサーバ２００から、属性値を依頼されたか、属性値の保存を依頼されたかを判定している。
【００７５】
なお、上記の情報は、他の情報（例えば、属性値に関連する属性を指定する情報）を含んでもよい。以下の説明において、「属性値に関連する属性を指定する情報」を、単に「属性」と呼ぶ場合もある。属性の一例は、属性名である。つまり、受信部１２０がディレクトリサーバ２００から受信する情報は、属性を含んでいてもよい。
【００７６】
なお、ディレクトリサーバ２００から受信した情報がキー（識別子）を含まない場合、情報処理装置１００は、動作を終了する。
【００７７】
また、記憶部１１０が複数の属性に関連する属性値を記憶する場合、情報処理装置１００は、属性値に関連する属性を指定する情報（属性）を必要とする。そこで、記憶部１１０が複数の属性に関連する属性値を記憶する場合において、ディレクトリサーバ２００から受信した情報が属性値に関連する属性を指定する情報（属性）を含まない場合、情報処理装置１００は、動作を終了する。あるいは、情報処理装置１００は、ディレクトリサーバ２００に属性について問い合わせてもよい。
【００７８】
判定部１３０が、ディレクトリサーバ２００から受信した情報を、キーを含み属性値を含まないと判定した場合、検索部１４０は、受信した情報に含まれるキーに基づいて、記憶部１１０に記憶されている属性値を検索する。そして、検索部１４０は、受信した情報に含まれるキーに関連する属性値を出力する。検索部１４０は、検索手段の一例である。
【００７９】
記憶部１１０が複数の属性に関連する属性値を記憶する場合、検索部１４０は、受信した情報に含まれるキーと属性とに基づいて、記憶部１１０に記憶されている属性値を検索し、属性値を出力する。
【００８０】
記憶部１１０が属性値を記憶していない場合、検索部１４０は、属性値を出力できない。この場合、検索部１４０は、所定のエラー通知（例えば、属性値未記憶を示すコード）を出力すればよい。
【００８１】
送信部１５０は、検索部１４０が出力した属性値と、受信した情報に含まれるキーとを、ディレクトリサーバ２００に送信する。送信部１５０は、送信手段の一例である。
【００８２】
記憶部１１０が複数の属性に関連する属性値を記憶する場合、送信部１５０は、検索部１４０が出力した属性値と、受信した情報に含まれるキーと、属性とを、ディレクトリサーバ２００に送信してもよい。
【００８３】
検索部１４０が所定のエラー通知を出力した場合、送信部１５０は、ディレクトリサーバ２００に、エラー通知を送信する。
【００８４】
なお、送信部１５０は、情報処理システム１０の仕様に沿って、検索部１４０が出力した属性値などを、ディレクトリサーバ２００とは異なる送信先に送信してもよい。
【００８５】
例えば、後ほど説明するように、第１の実施形態において、ディレクトリサーバ２００が、情報処理装置１００から受信した属性値を、属性値の依頼元装置に送る。この場合、属性値は、情報処理装置１００からディレクトリサーバ２００へと、ディレクトリサーバ２００から依頼元装置への、二回送信される。そこで、属性値の送信に回数を削減するため、情報処理装置１００が、属性値を、依頼元装置に送信してもよい。
【００８６】
判定部１３０が、ディレクトリサーバ２００から受信した情報を、キー及び属性値を含むと判定した場合、判定部１３０からの指示に基づいて、記憶部１１０は、受信した情報に含まれるキーに関連づけて、受信した情報に含まれる属性値を記憶する。なお、記憶部１１０が受信した情報に含まれるキーに関連した属性値を記憶済みの場合、記憶部１１０は、属性値を更新する。
【００８７】
記憶部１１０が複数の属性に関連する属性値を記憶する場合、記憶部１１０は、受信した情報に含まれるキーと属性とに基づいて、受信した情報に含まれる属性値を記憶する。
【００８８】
図３は、第１の実施形態における、ディレクトリサーバ２００の構成の一例を示すブロック図である。
【００８９】
ディレクトリサーバ２００は、記憶部２１０と、受信部２２０と、判定部２３０と、検索部２４０と、送信部２５０とを含む。
【００９０】
記憶部２１０は、キーに関連付けて、少なくとも一つの属性（例えば、図１では属性Ａ）に関連する属性値を記憶する。記憶部２１０は、記憶手段の一例である。
【００９１】
受信部２２０は、他の装置（例えば、依頼元装置）から情報を受信する。受信部２２０は、受信手段の一例である。
【００９２】
判定部２３０は、受信部２２０が受信した情報を判定する。判定部２３０は、判定手段の一例である。
【００９３】
第１の実施形態におけるディレクトリサーバ２００は、他の装置（例えば、依頼元装置）から受信する情報として、次に示す情報に対して動作する。そこで、以下の説明では、その他の情報を受信した場合の説明を省略し、以下では、他の装置から次に説明する情報を第１の情報として受信した場合について説明する。
【００９４】
（１）属性値取得依頼
属性値取得依頼とは、キーに関連するデータに含まれる属性値の取得を依頼する情報である。属性値取得依頼は、例えば、あるキーに関連するデータにおける属性値の取得を希望する装置（依頼元装置）から、送信される。属性値取得依頼は、少なくとも、属性値を含むデータの識別子（キー）と、属性値に関連する属性を指定する情報（属性）とを含む。
【００９５】
なお、上記の「属性値を含むデータの識別子」及び「属性値に関連する属性を指定する情報」は、「属性値取得依頼」に含まれる情報の一例である。属性値取得依頼に含まれる情報は、上記に限定されない。属性値取得依頼は、他の情報を含んでもよい。ただし、属性値取得依頼は、属性値を含まない。
【００９６】
（２）属性値設定依頼
属性値設定依頼とは、キーに関連するデータに含まれる属性値の設定を依頼する情報である。属性値設定依頼は、例えば、あるキーに関連するデータにおける属性値の設定を希望する装置（設定元装置）から、送信される。属性値設定依頼は、少なくとも、属性値を含むデータの識別子（キー）と、属性値に関連する属性を指定する情報（属性）と、設定する属性値とを含む。属性値設定依頼は、他の情報を含んでもよい。
【００９７】
判定部２３０は、受信した情報が、属性値取得依頼であるか、属性値設定依頼であるかを判定する。
【００９８】
上記の、属性値取得依頼と、属性値設定依頼との差は、属性値を含むか否かである。ただし、上記の、属性値取得依頼及び属性値設定依頼は、データ形式の一例である。属性値取得依頼と、属性値設定依頼とは、別のデータ形式を用いてもよい。
【００９９】
例えば、属性値取得依頼と、属性値設定依頼とは、取得依頼と設定依頼とを識別する情報を保存する領域を備えた同じ形式のデータでもよい。この場合、識別する情報の領域の値が異なる。判定部２３０は、上記の領域の値の違いに基づいて、受信部２２０が受信した情報を判定すればよい。
【０１００】
ディレクトリサーバ２００は、属性値取得依頼を受信した場合と、属性値設定依頼を受信した場合とで、動作が異なるため、それぞれの場合に分けて説明する。
【０１０１】
なお、受信部２２０は、他のディレクトリサーバ２００から属性値取得依頼及び属性値設定依頼を受信する場合もある。この場合も、ディレクトリサーバ２００は、以下で説明する動作を実行する。
【０１０２】
まず、受信部２２０が、属性値取得依頼を受信した場合について説明する。
【０１０３】
判定部２３０が、受信部２２０が受信した情報を属性値取得依頼と判定した場合（例えば、受信部２２０が属性値を含まない情報を受信した場合）、判定部２３０は、記憶部２１０が属性値取得依頼に含まれるキーに関連する属性値を記憶するか否かを判定する。
【０１０４】
属性値取得依頼に含まれるキーが、記憶部２１０に記憶されている属性値に関連するキーではない場合、送信部２５０は、ディレクトリサービスの規格（例えば、ＬＤＡＰの規格）に沿って、他のディレクトリサーバ２００に属性値取得依頼を転送する。この動作は、情報処理システム１０が用いているディレクトリサービスの規格に沿った動作のため、詳細な説明を省略する。
【０１０５】
属性値取得依頼に含まれるキーが、記憶部２１０に記憶されている属性値に関連するキーの場合、判定部２３０は、属性値取得依頼に含まれる属性が、記憶部２１０に記憶されている属性値に関連する属性であるか否かを判定する。
【０１０６】
属性値取得依頼に含まれる属性が記憶部２１０に記憶されている属性値に関連する属性の場合、検索部２４０は、属性値取得依頼に含まれるキーに基づいて、記憶部２１０の属性値を検索し、属性値取得依頼に含まれるキーに関連する属性値を出力する。検索部２４０は、検索手段の一例である。
【０１０７】
なお、記憶部２１０が複数の属性に関連する属性値を記憶している場合、検索部２４０は、属性値取得依頼に含まれるキーと属性とに基づいて、記憶部２１０の属性値を検索し、属性値取得依頼に含まれるキーと属性とに関連する属性値を出力する。
【０１０８】
そして、属性値取得依頼に含まれる属性が記憶部２１０に記憶されている属性値に関連する属性の場合、送信部２５０は、検索部２４０が出力した属性値と、属性値取得依頼に含まれるキーとを、依頼元装置に送信する。送信部２５０は、送信手段の一例である。
【０１０９】
属性値取得依頼に含まれる属性が記憶部２１０に記憶されている属性値に関連する属性ではない場合、送信部２５０は、情報処理装置１００に、属性値取得依頼に含まれるキーを含み、属性値を含まない情報を、第２の情報として送信する。
【０１１０】
なお、送信部２５０は、情報処理装置１００に、受信部２２０が受信した属性値取得依頼を送信してもよい。図３は、この場合の例示として、破線を用いて、受信部２２０と送信部２５０とを接続している。
【０１１１】
例えば、情報処理装置１００が複数の属性に対応する属性値を記憶する場合、情報処理装置１００は、属性の指定を受信することが必要である。そのため、この場合、送信部２５０は、情報処理装置１００に、第２の情報として、属性値取得依頼を送信すればよい。
【０１１２】
送信部２５０が、キーを含み属性値を含まない情報を、情報処理装置１００に送信した場合、受信部２２０は、応答として、情報処理装置１００から、属性値を含む情報を、第３の情報として受信する。
【０１１３】
この場合、ディレクトリサーバ２００は、次のように動作する。
【０１１４】
情報処理装置１００から第３の情報を受信した場合、判定部２３０は、情報処理装置１００から受信した第３の情報に含まれるキーが、情報処理装置１００に送信したキー（第２の情報に含まれるキー）であるか否かを判定する。
【０１１５】
情報処理装置１００から受信した第３の情報に含まれるキーが、情報処理装置１００に送信したキーでない場合、ディレクトリサーバ２００は、動作を終了する。
【０１１６】
情報処理装置１００から受信した第３の情報に含まれるキーが、情報処理装置１００に送信したキーである場合、送信部２５０は、依頼元装置に、情報処理装置１００から受信した第３の情報に含まれるキーと属性値とを送信する。
【０１１７】
次に、受信部２２０が、属性値設定依頼を受信した場合について説明する。
【０１１８】
判定部２３０が、受信部２２０が受信した情報を属性値設定依頼と判定した場合（例えば、受信部２２０が属性値を含む情報を受信した場合）、判定部２３０は、記憶部２１０が属性値設定依頼に含まれるキーに関連する属性値を記憶するか否かを判定する。
【０１１９】
属性値設定依頼に含まれるキーが、記憶部２１０に記憶されている属性値に関連するキーではない場合、送信部２５０は、ディレクトリサービスの規格（例えば、ＬＤＡＰの規格）に沿って、他のディレクトリサーバ２００に属性値設定依頼を転送する。この動作は、情報処理システム１０が用いているディレクトリサービスの規格に沿った動作のため、詳細な説明を省略する。
【０１２０】
属性値設定依頼に含まれるキーが、記憶部２１０に記憶されている属性値に関連するキーの場合、判定部２３０は、属性値設定依頼に含まれる属性が、記憶部２１０に記憶されている属性値に関連する属性であるか否かを判定する。
【０１２１】
属性値設定依頼に含まれる属性が記憶部２１０に記憶されている属性値に関連する属性の場合、記憶部２１０は、属性値設定依頼に含まれるキーに基づいて、属性値設定依頼に含まれる属性値を記憶する。
【０１２２】
なお、記憶部２１０が複数の属性に関連する属性値を記憶している場合、記憶部２１０は、属性値設定依頼に含まれるキーと属性とに基づいて、属性値設定依頼に含まれる属性値を記憶する。
【０１２３】
属性値設定依頼に含まれる属性が記憶部２１０に記憶されている属性値に関連する属性ではない場合、送信部２５０は、情報処理装置１００に、属性値設定依頼に含まれるキーと属性値とを含む情報を送信する。
【０１２４】
なお、送信部２５０は、情報処理装置１００に、受信部２２０が受信した属性値設定依頼を送信してもよい。図３は、この場合の例示として、破線を用いて、受信部２２０と送信部２５０とを接続している。
【０１２５】
例えば、情報処理装置１００が複数の属性に対応する属性値を記憶する場合、情報処理装置１００は、属性値に関連する属性を指定する情報（属性）を必要とする。そのため、この場合、送信部２５０は、情報処理装置１００に、属性値設定依頼を送信すればよい。
【０１２６】
［動作の説明］
次に、図面を参照して、第１の実施形態における、情報処理システム１０に含まれる各装置の動作について説明する。
【０１２７】
ディレクトリサーバ２００がキーに関連するデータの属性値を記憶していない場合、ディレクトリサーバ２００は、一般的なディレクトリサーバと同様に動作すればよい。そのため、ディレクトリサーバ２００がキーに関連するデータの属性値を記憶していない場合における動作の詳細な説明を省略する。
【０１２８】
また、以下の説明において、情報処理装置１００及びディレクトリサーバ２００は、動作に必要な情報を記憶済みであるとする。
【０１２９】
図４は、第１の実施形態における、属性値を取得する動作の一例を示すシーケンス図である。
【０１３０】
ディレクトリサーバ２００の記憶部２１０は、属性値の一部である属性値（第１の属性値）を、識別子（キー）と関連付けて記憶する。情報処理装置１００の記憶部１１０は、ディレクトリサーバ２００が記憶する属性値（第１の属性値）に関連する属性（第１の属性）とは異なる属性（第２の属性）の属性値を、識別子（キー）と関連付けて記憶する。第１の属性の一例が、図１の属性Ａである。第２の属性の一例が、図１の属性Ｂである。
【０１３１】
ディレクトリサーバ２００の受信部２２０は、依頼元装置（他の装置の一例）から、属性値取得依頼を受信する（Ｓ４０１）。属性値取得依頼は、第１の情報の一例である。属性値取得依頼は、少なくとも、キーと、属性を指定する情報（属性）とを含む。
【０１３２】
ディレクトリサーバ２００の判定部２３０は、属性値取得依頼に含まれる属性が、記憶部２１０が記憶する属性値（第１の属性値）に関連する属性（第１の属性）であるか否かを判定する（Ｓ４０３）。
【０１３３】
属性値取得依頼に含まれる属性が、記憶部２１０が記憶する属性値（第１の属性値）に関連する属性（第１の属性）の場合（Ｓ４０３でＹｅｓ）、ディレクトリサーバ２００の検索部２４０は、属性値を検索する（Ｓ４０５）。詳細には、検索部２４０は、属性値取得依頼（第１の属性）に含まれるキー（識別子の一例）に基づいて、記憶部２１０における属性値（第１の属性値）を検索する。そして、検索部２４０は、属性値を送信部２５０に出力する。
【０１３４】
ディレクトリサーバ２００の送信部２５０は、検索部２４０が出力した属性値（第１の属性値）と、属性値取得依頼に含まれるキーとを、依頼元装置に送信する（Ｓ４１３）。
【０１３５】
Ｓ４１３の処理の後、ディレクトリサーバ２００は、処理を終了する。
【０１３６】
属性値取得依頼に含まれる属性が、記憶部２１０が記憶する属性値（第１の属性値）に関連する属性（第１の属性）ではない場合（Ｓ４０３でＮｏ）、ディレクトリサーバ２００の送信部２５０は、情報処理装置１００に情報を送信する。送信部２５０が情報処理装置１００に送信する情報（第２の情報）は、属性値取得依頼に含まれるキーを含む（Ｓ４０７）。
【０１３７】
ディレクトリサーバ２００は、属性値とキーとの受信を待つ。
【０１３８】
情報処理装置１００の受信部１２０は、ディレクトリサーバ２００からキーを含む情報（第２の情報）を受信する（Ｓ５０１）。
【０１３９】
情報処理装置１００の判定部１３０は、受信した情報（第２の情報）が属性値の取得の依頼か否かを判定する（Ｓ５０３）。つまり、判定部１３０は、受信した情報（第２の情報）が、キーを含み、属性値を含まないかを判定する。
【０１４０】
受信した情報（第２の情報）が属性値の取得の依頼でない場合（Ｓ５０３でＮｏ）、受信した情報（第２の情報）は、属性値の設定の依頼である。そこで、情報処理装置１００の記憶部１１０は、受信した情報（第２の情報）に含まれるキーに関連づけて、受信した情報（第２の情報）に含まれる属性値を記憶する（Ｓ５０９）。
【０１４１】
Ｓ５０９の処理の後、情報処理装置１００は、動作を終了する。
【０１４２】
なお、図４は、属性値取得依頼の場合の動作のため、情報処理装置１００は、図４の場合には、Ｓ５０９を実行しない。そのため、図４は、Ｓ５０９に関連する部分を破線としている。
【０１４３】
受信した情報（第２の情報）が属性値の取得の依頼の場合（Ｓ５０３でＹｅｓ）、情報処理装置１００の検索部１４０は、受信した情報（第２の情報）に含まれるキーに基づいて記憶部１１０の属性値（第２の属性値）を検索する（Ｓ５０５）。検索部１４０は、キーに関連する属性値（第２の属性値）を出力する。
【０１４４】
情報処理装置１００の送信部１５０は、検索部１４０が出力した属性値（第２の属性値）と、受信した情報（第２の情報）に含まれるキーとを、ディレクトリサーバ２００に、第３の情報として送信する（Ｓ５０７）。
【０１４５】
Ｓ５０７の処理の後、情報処理装置１００は、動作を終了する。
【０１４６】
ディレクトリサーバ２００の受信部２２０は、情報処理装置１００から属性値とキーとを含む情報（第３の情報）を受信する（Ｓ４０９）。
【０１４７】
判定部２３０は、情報処理装置１００から受信した情報（第３の情報）が応答か否かを判定する（Ｓ４１１）。詳細には、判定部２３０は、情報処理装置１００から受信した情報（第３の情報）に含まれるキーが、情報処理装置１００に送信した情報（第２の情報）に含まれるキーか否かを判定する。
【０１４８】
情報処理装置１００から受信した情報（第３の情報）に含まれるキーが、情報処理装置１００に送信した情報（第２の情報）に含まれるキーの場合（Ｓ４１１でＹｅｓ）、送信部２５０は、依頼元装置に応答する。つまり、送信部２５０は、依頼元装置に、属性値とキーとを送信する（Ｓ４１３）。詳細には、送信部２５０は、情報処理装置１００から受信した情報（第３の情報）に含まれる属性値（第２の属性値）と、属性値取得依頼に含まれるキーとを、依頼元装置（他の装置）に送信する（Ｓ４１３）。なお、この場合に送信部２５０が送るキーは、情報処理装置１００に送信した情報（第２の情報）に含まれるキー、又は、情報処理装置１００から受信した情報に含まれるキーでもよい。
【０１４９】
Ｓ４１３の処理の後、ディレクトリサーバ２００は、動作を終了する。
【０１５０】
情報処理装置１００から受信した情報（第３の情報）に含まれるキーが、情報処理装置１００に送信した情報（第２の情報）に含まれるキーでない場合（Ｓ４１１でＮｏ）、ディレクトリサーバ２００は、属性値とキーとの受信を待つ。
【０１５１】
図５は、第１の実施形態における、属性値を設定する動作の一例を示すシーケンス図である。
【０１５２】
なお、情報処理装置１００の動作は、図４を用いた説明と同様である。そのため、ディレクトリサーバ２００の動作を中心に説明する。ただし、第１の情報が属性値設定依頼であるので、情報処理装置１００は、Ｓ５０９を実行し、Ｓ５０５とＳ５０７を実行しない。そのため、図５は、Ｓ５０５及びＳ５０７に関連する部分を破線としている。
【０１５３】
ディレクトリサーバ２００の受信部２２０は、設定元装置（他の装置の一例）から、属性値設定依頼を受信する（Ｓ４２１）。属性値設定依頼は、第１の情報の一例である。属性値設定依頼は、少なくとも、キーと、属性を指定する情報と、属性値とを含む。
【０１５４】
ディレクトリサーバ２００の判定部２３０は、属性値設定依頼に含まれる属性が、記憶部２１０が記憶する属性値（第１の属性値）に関連する属性（第１の属性）であるか否かを判定する（Ｓ４０３）。この動作は、図４と同様である。
【０１５５】
属性値設定依頼に含まれる属性が、記憶部２１０が記憶する属性値（第１の属性値）に関連する属性（第１の属性）の場合（Ｓ４０３でＹｅｓ）、ディレクトリサーバ２００の記憶部２１０は、キーに関連づけて属性値を記憶する（Ｓ４２５）。
【０１５６】
ディレクトリサーバ２００は、処理を終了する。
【０１５７】
属性値設定依頼に含まれる属性が、記憶部２１０が記憶する属性値（第１の属性値）に関連する属性（第１の属性）ではない場合（Ｓ４０３でＮｏ）、送信部２５０は、情報処理装置１００に情報を送信する（Ｓ４０７）。送信部２５０が情報処理装置１００に送信する情報（第２の情報）は、少なくとも属性値設定依頼に含まれるキーを含む。ただし、図５においては、送信部２５０は、情報処理装置１００に送信する情報（第２の情報）にキーに加え、属性値を含ませる。
【０１５８】
その後、ディレクトリサーバ２００は、動作を終了する。
【０１５９】
情報処理装置１００は、ディレクトリサーバ２００から受信した属性値を記憶する。
【０１６０】
なお、上記の図５の動作は、新たに追加された属性（追加属性）に関連する属性値を記憶する場合に限らず、追加属性に関連する属性値の更新において用いられてもよい。
【０１６１】
［効果の説明］
次に第１の実施形態における、情報処理システム１０の効果について説明する。
【０１６２】
第１の実施形態における、情報処理システム１０は、新たに属性を追加する場合における負荷を軽減するとの効果を奏することができる。
【０１６３】
その理由は、次のとおりである。
【０１６４】
情報処理システム１０は、情報処理装置１００と、ディレクトリサーバ２００とを含む。ディレクトリサーバ２００は、記憶部２１０と、受信部２２０と、判定部２３０と、検索部２４０と、送信部２５０とを含む。記憶部２１０は、属性値の一部である第１の属性値を、識別子（例えば、キー）と関連付けて記憶する。受信部２２０は、依頼元装置（他の装置の一例）から、識別子と属性とを含む属性値取得依頼を受信する。判定部２３０は、属性値取得依頼に含まれる属性が、記憶部２１０が記憶する第１の属性値に関連する第１の属性（例えば、属性Ａ）であるか否かを判定する。検索部２４０は、属性値取得依頼に含まれる属性が第１の属性の場合、属性値取得依頼に含まれるキーに基づいて記憶部２１０における第１の属性値を検索する。そして、検索部２４０は、属性値取得依頼に含まれるキーに関連する第１の属性値を出力する。送信部２５０は、属性値取得依頼に含まれる属性が第１の属性の場合、検索部２４０が出力した第１の属性値と、属性値取得依頼に含まれる識別子とを依頼元装置（他の装置の一例）に送信する。検索部２４０は、属性値取得依頼に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性（例えば、属性Ｂ）の属性値である第２の属性値を記憶する情報処理装置１００に、第２の情報を送信する。第２の情報は、属性値取得依頼に含まれるキーを含む情報である。情報処理装置１００は、記憶部１１０と、受信部１２０と、判定部１３０と、検索部１４０と、送信部１５０とを含む。記憶部１１０は、第２の属性値を、キーと関連付けて記憶する。受信部１２０は、ディレクトリサーバ２００から第２の情報を受信する。判定部１３０は、第２の情報がキーと属性値とを含むか否かを判定する。検索部１４０は、第２の情報がキーを含み属性値を含まない場合、第２の情報に含まれるキーに基づいて記憶部１１０における第２の属性値を検索し、第２の情報に含まれるキーに関連する第２の属性値を出力する。送信部１５０は、検索部１４０が出力した第２の属性値と第２の情報に含まれるキーとをディレクトリサーバ２００に送信する。
【０１６５】
このように構成された情報処理システム１０において、ディレクトリサーバ２００は、追加属性に関連する属性値を記憶しない。そのため、情報処理システム１０は、新たに属性を追加する場合に、ディレクトリサーバ２００に対して、追加属性に関連する属性値を記憶するための領域の確保、及び、追加属性に関連する属性値を設定する必要がない。
【０１６６】
ディレクトリサーバ２００に必要となる修正は、属性を判定する処理と、情報処理装置１００への属性値取得依頼を送信する処理との追加である。属性を判定する処理と、情報処理装置１００への属性値取得依頼を送信する処理とは、どちらも単純な処理である。したがって、この修正は、ディレクトリサーバ２００に対しての負荷が小さい。
【０１６７】
さらに、第２の属性（追加属性）に関連する第２の属性値は、情報処理装置１００に記憶される。そのため、情報処理システム１０において、第２の属性に関連する第２の属性値を取得する動作は、全ての情報処理装置１００へのアクセスとなる。このように、第２の属性に関連する第２の属性値を取得する動作は、簡便な動作となる。
【０１６８】
また、第２の属性に関連する第２の属性値の設定は、全て、情報処理装置１００に属性値を送信する動作である。この動作も、簡便な動作である。
【０１６９】
情報処理システム１０は、ディレクトリサーバ２００及び情報処理装置１００を用いて、第２の属性に関連する第２の属性値の取得、及び、第２の属性に関連する第２の属性値の設定における負荷を軽減する。
【０１７０】
［実施形態の変形例］
なお、図１に示されている情報処理システム１０は、１台の情報処理装置１００を含む。ただし、情報処理システム１０の構成は、図１に限定されない。情報処理システム１０は、複数の情報処理装置１００を含んでもよい。
【０１７１】
この場合、複数の情報処理装置１００は、それぞれが第１の属性と異なる第２の属性（追加属性）に関連する第２の属性値を記憶する。ただし、この場合でも、情報処理装置１００の構成は、図２に示されている構成と同様である。そのため、変形例における、情報処理装置１００の説明を省略する。
【０１７２】
以下、図面を参照して、変形例におけるディレクトリサーバ２０１の構成を説明する。
【０１７３】
図６は、変形例における、ディレクトリサーバ２０１の構成の一例を示すブロック図である。
【０１７４】
図６に示されているディレクトリサーバ２０１は、図３に示されているディレクトリサーバ２００の構成に加え、記憶部２６０と、判定部２７０とを含む。ディレクトリサーバ２００と同様の構成の説明を省略し、ディレクトリサーバ２０１に特有の構成を中心に説明する。記憶部２６０は、記憶部２１０に対して、第２の記憶部である。また、判定部２７０は、判定部２３０に対して第２の判定部である。
【０１７５】
記憶部２６０は、情報処理装置１００が記憶する属性値に関連する属性と、情報処理装置１００とを関連づけて記憶する。
【０１７６】
判定部２７０は、属性値取得依頼及び属性値設定依頼に含まれる属性と、記憶部２６０に記憶されている属性とに基づいて、属性値取得依頼及び属性値設定依頼に含まれる属性に対応する属性値を記憶する情報処理装置１００を識別する。
【０１７７】
送信部２５０は、情報処理装置１００に情報を送信する場合に、判定部２７０が識別した情報処理装置１００に情報を送信する。例えば、属性値取得依頼に含まれる属性が、記憶部２１０が記憶する属性値に関連する属性でない場合、送信部２５０は、判定部２７０が識別した情報処理装置１００に、属性値取得依頼に含まれるキーを含む情報を送信する。
【０１７８】
変形例は、第１の実施形態の効果に加え、複数の情報処理装置１００を用いて動作できるとの効果を奏する。
【０１７９】
その理由は、ディレクトリサーバ２０１が、記憶部２６０及び判定部２７０を用いて、情報を送信する情報処理装置１００を判定できるためである。
【０１８０】
［ハードウェア構成］
次に、図面を参照して、情報処理装置１００及びディレクトリサーバ２００のハードウェア構成を説明する。なお、情報処理装置１００及びディレクトリサーバ２００は、同様の構成を用いて実現できる。そのため、以下の説明では、特に分けて説明する必要がない場合、情報処理装置１００を用いて説明する。
【０１８１】
情報処理装置１００の各構成部は、ハードウェア回路で構成されてもよい。
【０１８２】
あるいは、情報処理装置１００において、各構成部は、ネットワークを介して接続した複数の装置を用いて、構成されてもよい。
【０１８３】
あるいは、情報処理装置１００において、複数の構成部は、１つのハードウェアで構成されてもよい。
【０１８４】
あるいは、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とを含むコンピュータ装置として実現されてもよい。情報処理装置１００は、上記構成に加え、さらに、入出力接続回路（ＩＯＣ：Ｉｎｐｕｔ  ａｎｄ  Ｏｕｔｐｕｔ  Ｃｉｒｃｕｉｔ）を含むコンピュータ装置として実現されてもよい。情報処理装置１００は、上記構成に加え、さらに、ネットワークインターフェース回路（ＮＩＣ：Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｉｒｃｕｉｔ）を含むコンピュータ装置として実現されてもよい。
【０１８５】
図７は、情報処理装置１００のハードウェア構成の一例である情報処理装置６００の構成を示すブロック図である。
【０１８６】
情報処理装置６００は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを含み、コンピュータ装置を構成している。
【０１８７】
ＣＰＵ６１０は、ＲＯＭ６２０及び／又は内部記憶装置６４０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを制御する。
【０１８８】
そして、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図２に示されている、記憶部１１０と、受信部１２０と、判定部１３０と、検索部１４０と、送信部１５０としての各機能を実現する。なお、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図３に示されている、記憶部２１０と、受信部２２０と、判定部２３０と、検索部２４０と、送信部２５０としての各機能を実現してもよい。
【０１８９】
ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０又は内部記憶装置６４０を、プログラムの一時記憶媒体として使用してもよい。
【０１９０】
また、ＣＰＵ６１０は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体７００が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、ＣＰＵ６１０は、ＮＩＣ６８０を介して、図示しない外部の装置からプログラムを受け取り、ＲＡＭ６３０又は内部記憶装置６４０に保存して、保存したプログラムを基に動作してもよい。
【０１９１】
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐ−ＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ−ＲＯＭ）又はフラッシュＲＯＭである。
【０１９２】
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄ−ＲＡＭ（Ｄｙｎａｍｉｃ−ＲＡＭ）である。
【０１９３】
内部記憶装置６４０は、情報処理装置６００が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置６４０は、ＣＰＵ６１０の一時記憶装置として動作してもよい。内部記憶装置６４０は、記憶部１１０、記憶部２１０、又は、記憶部２６０として動作してもよい。内部記憶装置６４０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）又はディスクアレイ装置である。
【０１９４】
ＲＯＭ６２０と内部記憶装置６４０とは、不揮発性（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）の記憶媒体である。一方、ＲＡＭ６３０は、揮発性（ｔｒａｎｓｉｔｏｒｙ）の記憶媒体である。そして、ＣＰＵ６１０は、ＲＯＭ６２０、内部記憶装置６４０、又は、ＲＡＭ６３０に記憶されているプログラムを基に動作可能である。つまり、ＣＰＵ６１０は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
【０１９５】
ＩＯＣ６５０は、ＣＰＵ６１０と、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯＣ６５０は、例えば、ＩＯインターフェースカード又はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）カードである。さらに、ＩＯＣ６５０は、ＵＳＢのような有線に限らず、無線を用いてもよい。
【０１９６】
入力機器６６０は、情報処理装置６００の操作者からの入力指示を受け取る機器である。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【０１９７】
表示機器６７０は、情報処理装置６００の操作者に情報を表示する機器である。表示機器６７０は、例えば、液晶ディスプレイ、有機エレクトロルミネッセンス・ディスプレイ、又は、電子ペーパーである。
【０１９８】
ＮＩＣ６８０は、ネットワークを介した外部装置（図示せず）とのデータのやり取りを中継する。ＮＩＣ６８０は、受信部１２０及び送信部１５０、又は、受信部２２０及び送信部２５０として動作してもよい。ＮＩＣ６８０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）カードである。さらに、ＮＩＣ６８０は、有線に限らず、無線を用いてもよい。
【０１９９】
このように構成された情報処理装置６００は、情報処理装置１００及びディレクトリサーバ２００と同様の効果を得ることができる。
【０２００】
その理由は、情報処理装置６００のＣＰＵ６１０が、プログラムに基づいて情報処理装置１００及びディレクトリサーバ２００と同様の機能を実現できるためである。
【０２０１】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２０２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０２０３】
（付記１）
ディレクトリサーバが記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶する記憶手段と、
ディレクトリサーバから情報を受信する受信手段と、
情報が識別子と属性値とを含むか否かを判定する判定手段と、
情報が識別子を含み属性値を含まない場合、情報に含まれる識別子に基づいて記憶手段における第２の属性値を検索し、情報に含まれる識別子に関連する第２の属性値を出力する検索手段と、
検索手段が出力した第２の属性値と情報に含まれる識別子とをディレクトリサーバに送信する送信手段と
を含む情報処理装置。
【０２０４】
（付記２）
情報が識別子と属性値とを含む場合、記憶手段が、情報に含まれる識別子に関連付けて、情報に含まれる属性値を第２の属性値として記憶する
付記１に記載の情報処理装置。
【０２０５】
（付記３）
属性値の一部である第１の属性値を、識別子と関連付けて記憶する記憶手段と、
他の装置から、識別子と属性とを含む第１の情報を受信する受信手段と、
第１の情報に含まれる属性が、記憶手段が記憶する第１の属性値に関連する第１の属性であるか否かを判定する判定手段と、
第１の情報に含まれる属性が第１の属性の場合、第１の情報に含まれる識別子に基づいて記憶手段における第１の属性値を検索し、第１の情報に含まれる識別子に関連する第１の属性値を出力する検索手段と、
第１の情報に含まれる属性が第１の属性の場合、検索手段が出力した第１の属性値と第１の情報に含まれる識別子とを他の装置に送信し、第１の情報に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、第１の情報に含まれる識別子を含む第２の情報を送信する送信手段と
を含むディレクトリサーバ。
【０２０６】
（付記４）
送信手段が第２の情報を情報処理装置に送信した後、受信手段が情報処理装置から識別子と属性値とを含む第３の情報を受信した場合、判定手段が、第３の情報に含まれる識別子が、第２の情報に含まれる識別子であるか否かを判定し、
第３の情報に含まれる識別子が、第２の情報に含まれる識別子である場合、送信手段が、他の装置に、第３の情報に含まれる識別子と属性値とを送信する
付記３に記載のディレクトリサーバ。
【０２０７】
（付記５）
第１の情報がさらに属性値を含む場合において、
第１の情報に含まれる属性が第１の属性の場合、記憶手段が、第１の情報に含まれる識別子と属性とに関連付けて、第１の情報に含まれる属性値を第１の属性値として記憶し、
第１の情報に含まれる属性が第１の属性ではない場合、送信手段が、第１の情報に含まれる属性値をさらに含む第２の情報を情報処理装置に送信する
付記３又は４に記載のディレクトリサーバ。
【０２０８】
（付記６）
情報処理装置が記憶する第２の属性値に関連する第２の属性を、情報処理装置に関連付けて記憶する第２の記憶手段と、
第１の情報に含まれる属性と第２の記憶手段が記憶する第２の属性とに基づいて、第１の情報に含まれる属性に関連する属性値を第２の属性値として記憶する情報処理装置を判定する第２の判定手段と
をさらに含み、
送信手段が、第１の情報に含まれる属性が第１の属性ではない場合、第２の情報を、第２の判定手段が判定した情報処理装置に送信する
付記３ないし５のいずれか１項に記載のディレクトリサーバ。
【０２０９】
（付記７）
属性値の一部である第１の属性値を、識別子と関連付けて記憶する第１の記憶手段と、
他の装置から、識別子と属性とを含む第１の情報を受信する第１の受信手段と、
第１の情報に含まれる属性が、第１の記憶手段が記憶する第１の属性値に関連する第１の属性であるか否かを判定する第１の判定手段と、
第１の情報に含まれる属性が第１の属性の場合、第１の情報に含まれる識別子に基づいて第１の記憶手段における第１の属性値を検索し、第１の情報に含まれる識別子に関連する第１の属性値を出力する第１の検索手段と、
第１の情報に含まれる属性が第１の属性の場合、第１の検索手段が出力した第１の属性値と第１の情報に含まれる識別子とを他の装置に送信し、第１の情報に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、第１の情報に含まれる識別子を含む第２の情報を送信する第１の送信手段と
を含むディレクトリサーバと、
第２の属性値を、識別子と関連付けて記憶する第２の記憶手段と、
ディレクトリサーバから第２の情報を受信する第２の受信手段と、
第２の情報が識別子と属性値とを含むか否かを判定する第２の判定手段と、
第２の情報が識別子を含み属性値を含まない場合、第２の情報に含まれる識別子に基づいて第２の記憶手段における第２の属性値を検索し、第２の情報に含まれる識別子に関連する第２の属性値を出力する第２の検索手段と、
第２の検索手段が出力した第２の属性値と第２の情報に含まれる識別子とをディレクトリサーバに送信する第２の送信手段と
を含む情報処理装置と
を含む情報処理システム。
【０２１０】
（付記８）
情報処理装置が、
ディレクトリサーバが記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶し、
ディレクトリサーバから情報を受信し、
情報が識別子と、属性値とを含むか否かを判定し、
情報が識別子を含み属性値を含まない場合、情報に含まれる識別子に基づいて第２の属性値を検索し、情報に含まれる識別子に関連する第２の属性値を出力し、
出力した第２の属性値と情報に含まれる識別子をディレクトリサーバに送信する
情報処理方法。
【０２１１】
（付記９）
ディレクトリサーバが
属性値の一部である第１の属性値を、識別子と関連付けて記憶し、
他の装置から、識別子と属性とを含む第１の情報を受信し、
第１の情報に含まれる属性が、記憶する第１の属性値に関連する第１の属性であるか否かを判定し、
第１の情報に含まれる属性が第１の属性の場合、第１の情報に含まれる識別子に基づいて第１の属性値を検索し、第１の情報に含まれる識別子に関連する第１の属性値を出力し、
第１の情報に含まれる属性が第１の属性の場合、出力した第１の属性値と第１の情報に含まれる識別子とを他の装置に送信し、第１の情報に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、第１の情報に含まれる識別子を含む第２の情報を送信する
情報処理方法。
【０２１２】
（付記１０）
ディレクトリサーバが、
属性値の一部である第１の属性値を、識別子と関連付けて記憶し、
他の装置から、識別子と属性とを含む第１の情報を受信し、
第１の情報に含まれる属性が、第１の記憶手段が記憶する第１の属性値に関連する第１の属性であるか否かを判定し、
第１の情報に含まれる属性が第１の属性の場合、第１の情報に含まれる識別子に基づいて第１の属性値を検索し、第１の情報に含まれる識別子に関連する第１の属性値を出力し、
第１の情報に含まれる属性が第１の属性の場合、出力した第１の属性値と第１の情報に含まれる識別子とを他の装置に送信し、第１の情報に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、第１の情報に含まれる識別子を含む第２の情報を送信し、
情報処理装置が、
第２の属性値を、識別子と関連付けて記憶し、
ディレクトリサーバから第２の情報を受信し、
第２の情報が識別子と属性値とを含むか否かを判定し、
第２の情報が識別子を含み属性値を含まない場合、第２の情報に含まれる識別子に基づいて第２の属性値を検索し、第２の情報に含まれる識別子に関連する第２の属性値を出力し、
出力した第２の属性値と第２の情報に含まれる識別子とをディレクトリサーバに送信する
情報処理方法。
【０２１３】
（付記１１）
ディレクトリサーバが記憶する属性値である第１の属性値に関連する第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を、識別子と関連付けて記憶する処理と、
ディレクトリサーバから情報を受信する処理と、
情報が識別子と、属性値とを含むか否かを判定する処理と、
情報が識別子を含み属性値を含まない場合、情報に含まれる識別子に基づいて第２の属性値を検索し、情報に含まれる識別子に関連する第２の属性値を出力する処理と、
出力した第２の属性値と情報に含まれる識別子とをディレクトリサーバに送信する処理と
をコンピュータに実行させるプログラム。
【０２１４】
（付記１２）
属性値の一部である第１の属性値を、識別子と関連付けて記憶する処理と、
他の装置から、識別子と属性とを含む第１の情報を受信する処理と、
第１の情報に含まれる属性が、記憶する第１の属性値に関連する第１の属性であるか否かを判定する処理と、
第１の情報に含まれる属性が第１の属性の場合、第１の情報に含まれる識別子に基づいて第１の属性値を検索し、第１の情報に含まれる識別子に関連する第１の属性値を出力する処理と、
第１の情報に含まれる属性が第１の属性の場合、出力した第１の属性値と第１の情報に含まれる識別子とを他の装置に送信し、第１の情報に含まれる属性が第１の属性ではない場合、第１の属性とは異なる第２の属性に関連する属性値である第２の属性値を記憶する情報処理装置に、第１の情報に含まれる識別子を含む第２の情報を送信する処理と
をコンピュータに実行させるプログラム。
【符号の説明】
【０２１５】
１０    情報処理システム
１００    情報処理装置
１１０    記憶部
１２０    受信部
１３０    判定部
１４０    検索部
１５０    送信部
２００    ディレクトリサーバ
２０１    ディレクトリサーバ
２１０    記憶部
２２０    受信部
２３０    判定部
２４０    検索部
２５０    送信部
２６０    記憶部
２７０    判定部
６００    情報処理装置
６１０    ＣＰＵ
６２０    ＲＯＭ
６３０    ＲＡＭ
６４０    内部記憶装置
６５０    ＩＯＣ
６６０    入力機器
６７０    表示機器
６８０    ＮＩＣ
７００    記憶媒体
９１０    ディレクトリサーバ
９２０    ディレクトリサーバ
９３０    ディレクトリサーバ
９４０    ディレクトリサーバ
【図１】
2020160931.tif 000003
【図２】
2020160931.tif 000004
【図３】
2020160931.tif 000005
【図４】
2020160931.tif 000006
【図５】
2020160931.tif 000007
【図６】
2020160931.tif 000008
【図７】
2020160931.tif 000009
【図８】
2020160931.tif 000010
【図９】
2020160931.tif 000011