(57)【要約】【課題】提供するサービスの機能に応じた適切な単位でリストを生成することが可能な管理サーバシステムを提供すること。【解決手段】管理サーバシステム１０３は、顧客に属する複数のグループのそれぞれをテナントで管理し、管理サーバシステム１０３が提供する複数の機能のそれぞれに関して、処理対象を、テナント単位とするかグループ単位とするかを設定し、複数のグループの中の１つのグループに属する拠点を、当該グループとは異なるテナントで管理し、処理対象がグループ単位である機能ではテナントとして管理された拠点は処理対象とせず、処理対象がテナント単位である機能ではテナントとして管理された前記拠点も処理対象とする。【選択図】図１
2015075880.tif 000002
【特許請求の範囲】
【請求項１】
顧客のネットワーク上に設置されたネットワークデバイスの稼働情報を管理する管理サーバシステムであって、
前記顧客に属する複数のグループのそれぞれをテナントで管理する管理手段と、
前記管理サーバシステムが提供する複数の機能のそれぞれに関して、処理対象を、テナント単位とするかグループ単位とするかを設定する設定手段と、を有し、
前記管理手段は、複数のグループの中の１つのグループに属する拠点を、当該グループとは異なるテナントで管理し、
前記設定に従い、処理対象がグループ単位である機能ではテナントとして管理された前記拠点は処理対象とせず、処理対象がテナント単位である機能ではテナントとして管理された前記拠点も処理対象とする、
ことを特徴とする管理サーバシステム。
【請求項２】
前記設定に従い、前記処理対象がグループ単位である機能では前記異なるテナントとして管理された前記拠点をリストに出力せず、前記処理対象がテナント単位である機能では前記異なるテナントとして管理された前記拠点もリストに出力する出力手段をさらに備える
ことを特徴とする請求項１に記載の管理サーバシステム。
【請求項３】
前記管理手段は、前記グループを階層構造を用いて管理しており、前記複数のグループの中の１つのグループに属する拠点を、当該グループとは異なるテナントで管理する場合に、前記異なるテナントを、前記グループのテナントの下位テナントとして管理する
ことを特徴とする請求項１または２に記載の管理サーバシステム。
【請求項４】
前記出力手段は、前記処理対象がグループ単位である機能では、前記下位テナントとして管理された前記拠点を上位テナントとして処理することにより前記拠点をリストに出力せず、前記処理対象がテナント単位である機能では、前記上位テナントと区別して前記下位テナントが表示されるように各テナントをリストに出力する
ことを特徴とする請求項３に記載の管理サーバシステム。
【請求項５】
前記管理手段は、前記複数のグループの中の１つのグループまたはいずれかのグループに属する拠点に対するサービスの委託が要求された場合に、前記異なるテナントを前記グループのテナントの下位テナントとして管理する
ことを特徴とする請求項３または４に記載の管理サーバシステム。
【請求項６】
前記管理手段は、前記下位テナントとしてテナント種別が変更された拠点のさらに下位の拠点について、前記変更に伴い当該下位の拠点のテナント種別を変更する
ことを特徴とする請求項５に記載の管理サーバシステム。
【請求項７】
前記出力手段は、前記顧客により当該顧客のネットワーク上のネットワークデバイスの稼働情報を要求された場合に、前記下位テナントとして管理された前記拠点を前記上位テナントに含めることにより前記拠点をリストに出力せず、前記顧客のネットワークデバイスを管理するサービスプロバイダからネットワークデバイスの稼働情報を要求された場合に、前記上位テナントと区別して前記下位テナントが表示されるように前記各テナントをリストに出力する
ことを特徴とする請求項４または５に記載の管理サーバシステム。
【請求項８】
顧客のネットワーク上に設置されたネットワークデバイスの稼働情報を管理する管理サーバシステムにおける制御方法であって、
前記顧客に属する複数のグループのそれぞれをテナントで管理する管理工程と、
前記管理サーバシステムが提供する複数の機能のそれぞれに関して、処理対象を、テナント単位とするかグループ単位とするかを設定する設定工程と、を含み、
前記管理工程では、複数のグループの中の１つのグループに属する拠点が、当該グループとは異なるテナントで管理され、
前記設定に従い、処理対象がグループ単位である機能ではテナントとして管理された前記拠点は処理対象とされず、処理対象がテナント単位である機能ではテナントとして管理された前記拠点も処理対象とされる
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層化されたテナントを管理し、管理対象のテナントの情報をリスト表示する管理システム、およびその制御方法に関する。
【背景技術】
【０００２】
クラウドシステムなどを利用して、顧客のデータを顧客ごとの専用領域であるテナントの単位で管理する管理システムが提供されている。管理システムは、顧客ユーザが自分の所属するテナントのデータにしかアクセスできないようにアクセス制御する。この管理システムを利用して、サービスプロバイダが顧客から業務委託されて顧客のデータを管理するというサービスが提供されている。このようなサービスを行うために、管理システムは、サービスプロバイダが管理対象の顧客テナントのデータにアクセスできるように、サービスプロバイダにもアクセス権を付与する。
【０００３】
業務委託の増加に伴い、サービスプロバイダが複数のグループ会社や複数の拠点が存在する大規模な顧客を管理することがある。このような場合、１つのサービスプロバイダでは顧客の管理が困難である。そのため、サービスプロバイダが別のサービスプロバイダに業務委託をすることがある。別のサービスプロバイダに業務委託するためには、委託対象の顧客の会社や拠点を別のテナントとして分割する。そして、分割したテナントに対して、別のサービスプロバイダのアクセス権を付与する。このようにすることで、各サービスプロバイダは、管理する顧客の範囲、アクセス可能なデータの範囲を明確に区別して、顧客の管理ができる。特許文献１には、顧客情報を管理する顧客情報管理サーバの技術が開示されている。これによれば、管理サーバは、キーワードを基に顧客ＩＤで管理している顧客情報を抽出し、顧客リストを生成・出力する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１３４２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の管理サーバは、顧客ＩＤ単位の顧客のリストを生成し出力している。しかしながら、特許文献１に記載の管理サーバでは、別のサービスプロバイダに業務が委託されることが想定されていない。サービスプロバイダが顧客を管理・操作する機能においては、テナント単位の顧客リストで問題ない。しかし、顧客が情報を閲覧することが目的であるレポート機能においては、サービスプロバイダが業務委託する目的で分割した拠点のテナントも、分割前の会社のテナントの情報として扱いたい。そのため、このような機能においては、テナント単位の顧客リストは適していない。
【０００６】
本発明は、提供するサービスの機能に応じた適切な単位でリストを生成することが可能な管理サーバシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態の管理サーバシステムは、顧客のネットワーク上に設置されたネットワークデバイスの稼働情報を管理する。前記管理サーバシステムは、前記顧客に属する複数のグループのそれぞれをテナントで管理する管理手段と、前記管理サーバシステムが提供する複数の機能のそれぞれに関して、処理対象を、テナント単位とするかグループ単位とするかを設定する設定手段と、を有する。前記管理手段は、複数のグループの中の１つのグループに属する拠点を、当該グループとは異なるテナントで管理し、前記設定に従い、処理対象がグループ単位である機能ではテナントとして管理された前記拠点は処理対象とせず、処理対象がテナント単位である機能ではテナントとして管理された前記拠点も処理対象とする。
【発明の効果】
【０００８】
本発明の管理サーバシステムによれば、提供するサービスの機能に応じた適切な単位でリストを生成することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態におけるテナント管理システムの構成を示す。
【図２】ホストコンピュータと管理サーバの内部構成の一例を示すブロック図である。
【図３】ホストコンピュータの機能構成の一例を示すブロック図である。
【図４】管理サーバの機能構成の一例を示すブロック図である。
【図５】テナント情報管理部が管理するテーブルの一例を示す図である。
【図６】テナント種別の階層構造の一例を示す図である。
【図７】テナントの階層構造の一例を示す図である。
【図８】グループ情報管理部が管理するテーブルの一例を示す図である。
【図９】各テナント内の拠点グループの階層構造の一例を示す図である。
【図１０】各テナント内の組織グループの階層構造の一例を示す図である。
【図１１】デバイス情報管理部が管理するテーブルの一例を示す図である。
【図１２】リスト作成部が管理するテーブルの一例を示す図である。
【図１３】テナント情報変更画面の一例を示す図である。
【図１４】設定可能テナント種別判定処理の一例を示すフローチャートである。
【図１５】下位テナントの種別変更判定処理の一例を示すフローチャートである。
【図１６】リスト生成処理の処理手順の一例を示すフローチャートである。
【図１７】テナントリスト生成処理の一例を示すフローチャートである。
【図１８】下位テナントのデータ取得処理の一例を示すフローチャートである。
【図１９】データ生成処理の一例を示すフローチャートである。
【図２０】テナント管理機能と会社別レポート機能のテナントリスト表示の一例を示す図である。
【図２１】グループリスト生成処理の一例を示すフローチャートである。
【図２２】下位テナントのデータ取得処理の一例を示すフローチャートである。
【図２３】グループ階層変更処理の一例を示すフローチャートである。
【図２４】複数テナントのデバイスグループ（拠点）管理機能のグループリスト表示の一例を示す図である。
【図２５】複数テナントの拠点別レポート機能のグループリスト表示の一例を示す図である。
【図２６】複数テナントのデバイスグループ（組織）管理機能と複数会社の組織別レポート機能のグループリスト表示の一例を示す図である。
【発明を実施するための形態】
【００１０】
＜実施例１＞
＜システム構成の説明＞
図１は、本発明の一実施形態におけるテナント管理システムの構成を示す模式図である。テナント管理システムは、ホストコンピュータ１０１，１０２と管理サーバ１０３を備える。図１において、ホストコンピュータ１０１は、サービスプロバイダのユーザが使用する。サービスプロバイダのユーザは、管理サーバ１０３に保持される顧客テナントのデータ管理や、顧客に提供するレポートの作成指示などの操作を行う。また、サービスプロバイダのユーザは、顧客テナントを管理サーバに登録し、顧客テナントの情報の設定や変更を行う。図示していないが、ホストコンピュータ１０１は、サービスプロバイダやサービスプロバイダのユーザごとに複数存在する。
【００１１】
ホストコンピュータ１０２は、顧客のユーザが使用する。顧客のユーザは、管理サーバ１０３に保持される顧客テナントのデータ管理や、サービスプロバイダから提供されたレポートの取得や閲覧などの操作を行う。図示していないが、ホストコンピュータ１０２は、顧客や顧客のユーザごとに複数存在する。
【００１２】
管理サーバ１０３は、顧客に属する会社など複数のグループのそれぞれを顧客テナントで管理し、またその顧客テナントのデータを管理する。具体的には、管理サーバは、顧客のネットワーク上に設置されたプリンタなどのネットワークデバイスの稼働情報を管理する。また、顧客のユーザからアクセスされた場合には、所属する顧客テナントのデータのみにアクセスできるように制御する。さらに、サービスプロバイダのユーザからアクセスされた場合には、そのサービスプロバイダのユーザがアクセス許可された顧客テナントのデータのみにアクセスできるように制御する。また、本実施形態では、管理サーバ１０３は、一つのサーバで構成されているが、管理サーバの機能的構成単位（例えばストレージ）などで複数の管理サーバに分割してもよく、管理サーバシステムとして機能する。また、ホストコンピュータ１０１と１０２、管理サーバ１０３はＬＡＮやインターネットなどの既知の技術によるネットワーク１０４により相互に通信可能に接続されている。
【００１３】
＜コンピュータの内部構成＞
図２は、ホストコンピュータ１０１，１０２、管理サーバ１０３を構成する情報処理装置の内部構成の一例を示すブロック図である。ホストコンピュータ１０１，１０２、管理サーバ１０３は、ＣＰＵ２０１乃至ＨＤ２１１を備える。ＣＰＵ２０１はシステムバス２０５に接続される各ハードウェアを総括的に制御する。また、ＣＰＵ２０１は、ＲＯＭ２０２、あるいは記憶装置であるハードディスク（ＨＤ）２１１に記憶されたソフトウエアを実行する。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称である。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。
【００１４】
ネットワークインターフェースカード（ＮＩＣ）２０４は、ネットワーク１０４を介して、他のノードと双方向にデータをやりとりする。キーボードコントローラ（ＫＢＤＣ）２０６は、ＰＣに備えられたキーボード（ＫＢＤ）２０９からの指示入力を制御する。ディスプレイコントローラ（ＤＩＳＰＣ）２０７は、例えば液晶ディスプレイなどで構成される表示モジュール（ＤＩＳＰＬＡＹ）２１０の表示を制御する。ディスクコントローラ（ＤＫＣ）２０８は、大容量記憶装置であるハードディスク（ＨＤ）２１１を制御する。
【００１５】
＜ホストコンピュータの機能構成＞
図３は、図１に示したホストコンピュータ１０１，１０２の機能構成の一例を示すブロック図である。ホストコンピュータは、Ｗｅｂブラウザ３０１とＨＴＴＰ通信部３０２を備えるＷｅｂブラウザ３０１は、ＨＴＭＬデータを解釈し、表示モジュール２１０へ画面描画を行い、キーボード等からのユーザ操作を受け付け、ＨＴＴＰ通信部３０２へ要求を送信する。ＨＴＴＰ通信部３０２は、Ｗｅｂブラウザからの通信要求を受けてＮＩＣ２０４を経由してＨＴＴＰまたはＨＴＴＰＳプロトコルを用いて管理サーバ１０３と通信を行いＷｅｂページの要求、Ｗｅｂページデータの受信等を行う。
【００１６】
＜管理サーバの機能構成＞
図４は、図１に示した管理サーバ１０３の機能構成の一例を示すブロック図である。管理サーバ１０３は、インターフェース部４０１、テナント情報管理部４０２、グループ情報管理部４０３、デバイス情報管理部４０４、リスト生成部４０５を備える。インターフェース部４０１はり、図２に示したＮＩＣ２０４を通じてネットワーク１０４を経由して、ホストコンピュータ１０１との通信を行う。インターフェース部４０１は、ホストコンピュータからＨＴＴＰまたはＨＴＴＰＳによるＷｅｂページへの要求があると、アクセス許可状態などを判断したのち、ＨＴＭＬデータを返す。
【００１７】
テナント情報管理部４０２は、テナント種別情報テーブル、テナント情報テーブル、テナントアクセス権情報テーブルを備え、テナントに関する情報を保持する。グループ情報管理部４０３は、グループ種別情報テーブル、グループ情報テーブルを備え、テナント内のデバイスなどのデータのグルーピングに関する情報を保持する。デバイス情報管理部４０４は、デバイス情報テーブル、デバイスグループ情報テーブルを備え、デバイスに関する情報を保持する。リスト生成部４０５はリスト情報テーブルを備え、ホストコンピュータ１０１，１０２からテナントやグループなどのリスト表示などの指示を受けると、表示するテナントリストやグループリストを生成する。
【００１８】
＜テナント種別情報テーブル＞
図５（Ａ）は、テナント情報管理部４０２が管理するテナント種別情報の構成の一例を示す、テナント種別情報テーブルの図である。テナント種別とは、例えば、“会社”という単位で作成したテナント、または“拠点”という単位で作成したテナントのように、テナントの種別を示すものである。さらに、テナント種別は階層構造も有する。例えば、会社の一部として拠点がある場合、テナント種別の拠点は、テナント種別の会社の下位のテナント種別となる。本テーブルでは、テナント種別情報として、テナント種別間の階層関係を示す情報も管理する。
【００１９】
図５（Ａ）に示すテナント種別情報テーブルは、テナント種別ＩＤ５０１、テナント種別名５０２、上位テナント種別ＩＤから構成される。テナント種別ＩＤ５０１の列は、テナント種別をシステム内で一意に識別するＩＤを示す。テナント種別名５０２の列は、テナント種別の名称を示す。上位テナント種別ＩＤ５０３の列は、上位階層のテナント種別のＩＤを示す。テナント種別情報テーブルの各設定値は、管理サーバ１０３の入力装置より値を設定・変更することもできる。
【００２０】
図６は、図５（Ａ）に示したテナント種別情報により表現されるテナント種別の階層構造を示す図である。本実施例では、テナント種別として、会社の下位階層に拠点と組織があるという例を使用して説明する。また、本実施例では、テナント種別の階層は一つだが、複数の階層があってもよい。
【００２１】
＜テナント情報テーブル＞
図５（Ｂ）は、テナント情報管理部４０２が管理するテナント情報の構成の一例を示す、テナント情報テーブルの図である。本テーブルでは、テナント情報として、テナント間の階層関係を示す情報も管理する。
【００２２】
図５（Ｂ）に示すテナント情報テーブルは、テナントＩＤ５１１、テナント名５１２、テナント種別ＩＤ５１３、上位テナントＩＤ５１４から構成される。テナントＩＤ５１１の列は、テナントをシステム内で一意に識別するＩＤを示す。テナント名５１２の列は、テナントの名称を示す。テナント種別ＩＤ５１３の列は、どのテナント種別のテナントかを示す。上位テナントＩＤ５１４の列は、上位階層のテナントのＩＤを示す。テナント情報テーブルの各設定値は、管理サーバ１０３の入力装置より値を設定・変更することもできる。また、テナント情報テーブルは、テナントごとに作成するように構成してもよい。
【００２３】
＜テナントアクセス権情報テーブル＞
図５（Ｃ）は、テナント情報管理部４０２が管理するテナントアクセス権情報の構成の一例を示す、テナントアクセス権情報テーブルの図である。図５（Ｃ）に示すテナントアクセス権情報テーブルは、テナントＩＤ５３１およびアクセス許可５３２から構成される。テナントＩＤ５３１で示されるテナントは、アクセス許可５３２で示されるサービスプロバイダにアクセス権がある。テナントアクセス権情報テーブルの各設定値は、管理サーバ１０３の入力装置より値を設定・変更することもできる。また、テナントアクセス権情報テーブルは、テナントごとに作成するように構成してもよい。さらに、本実施例ではアクセス許可をサービスプロバイダ単位で管理しているが、ユーザ単位などで管理するように構成してもよい。
【００２４】
図７は、図５（Ｂ）に示したテナント情報により表現されるテナントの階層構造を示す図である。ここで、Ｓｅａｔｔｌｅ以外は会社を示すテナントだが、ＳｅａｔｔｌｅはＡＢＣ  ＵＳＡの拠点を示すテナントである。ＡＢＣ  ＵＳＡ内の一拠点であるＳｅａｔｔｌｅは、ＡＢＣ  ＵＳＡを管理するサービスプロバイダによって別のサービスプロバイダに業務委託されたため、別のテナントとして分割されている。
【００２５】
＜グループ種別情報テーブル＞
図８（Ａ）は、グループ情報管理部４０３が管理するグループ種別情報の構成の一例を示す、グループ種別情報テーブルの図である。テナント内のデータは、グループ化されて管理される。例えば、テナントが管理するデバイスの情報は、デバイスが属する拠点や組織といった単位でグループ化されて管理される。この拠点や組織といった単位が、グループ種別である。
【００２６】
図８（Ａ）に示すグループ種別情報テーブルは、グループ種別ＩＤ８０１、グループ種別名８０２、対象データ８０３から構成される。グループ種別ＩＤ８０１の列は、グループ種別をシステム内で一意に識別するＩＤを示す。グループ種別名８０２の列は、グループ種別の名称を示す。対象データ８０３の列はグループ対象であり、何のデータのグループかを示す。グループ種別情報テーブルの各設定値は、管理サーバ１０３の入力装置より値を設定・変更することもできる。
【００２７】
＜グループ情報テーブル＞
図８（Ｂ）は、グループ情報管理部４０３が管理するグループ情報の構成の一例を示す、グループ情報テーブルの図である。本テーブルでは、グループ情報として、グループ間の階層関係を示す情報も管理する。図８（Ｂ）に示すグループ情報テーブルは、テナントＩＤ８１１、グループＩＤ８１２、グループ種別ＩＤ８１３、グループ名８１４、上位グループＩＤ８１５から構成される。テナントＩＤ８１１の列は、どのテナントのグループかを示す。グループＩＤ８１２の列は、グループをテナント内で一意に識別するＩＤを示す。グループ種別ＩＤ８１３の列は、どのグループ種別のグループかを示す。グループ名８１４の列は、グループの名称を示す。上位グループＩＤ８１５の列は、上位階層のグループのＩＤを示す。グループ情報テーブルの各設定値は、管理サーバ１０３の入力装置より値を設定・変更することもできる。また、グループ情報テーブルは、テナントごとに作成するように構成してもよい。
【００２８】
図９および図１０は、図８（Ｂ）に示したグループ情報により表現されるグループの階層構造を示す図である。図９（Ａ）は、テナントＩＤが３であるＡＢＣ  ＵＳＡテナント内の拠点グループの階層構造を示す図である。図９（Ｂ）は、テナントＩＤが５であるＳｅａｔｔｌｅテナント内の拠点グループの階層構造を示す図である。Ｓｅａｔｔｌｅは図９（Ａ）で示したＡＢＣ  ＵＳＡ内のＮｅｗ  ＹｏｒｋやＶｉｒｇｉｎｉａといった第一階層のグループと同じ位置付けである。よって、Ｓｅａｔｔｌｅの第一階層のグループ（Ｅａｓｔ  Ｂｌｄｇ．およびＷｅｓｔ  Ｂｌｄｇ．）は、図９（Ａ）で示したＡＢＣ  ＵＳＡ内の第二階層のグループと同じ位置付けである。図９（Ｃ）は、ＡＢＣ  Ｆｉｎａｎｃｅテナント内の拠点グループの階層構造を示す図である。
【００２９】
図１０（Ａ）は、ＡＢＣ  ＵＳＡテナント内の組織グループの階層構造を示す図である。図１０（Ｂ）は、Ｓｅａｔｔｌｅテナント内の組織グループの階層構造を示す図である。ＳｅａｔｔｌｅはＡＢＣ  ＵＳＡと同じ会社であるため、Ｓｅａｔｔｌｅの組織であるＳａｌｅｓは、図１０（Ａ）で示したＡＢＣ  ＵＳＡ内の組織であるＳａｌｅｓと、同じ組織である。図１０（Ｃ）は、ＡＢＣ  Ｆｉｎａｎｃｅテナント内の組織グループの階層構造を示す図である。
【００３０】
＜デバイス情報テーブル＞
図１１（Ａ）は、図４に示したデバイス情報管理部４０４が管理するデバイス情報の構成の一例を示す、デバイス情報テーブルの図である。図１１（Ａ）に示すデバイス情報テーブルは、テナントＩＤ１１０１、デバイスＩＤ１１０２、デバイス名１１０３、機種名１１０４、ＩＰアドレス１１０５から構成される。テナントＩＤ１１０１の列は、どのテナントのデバイスかを示す。デバイスＩＤ１１０２の列は、デバイスをテナント内で一意に識別するＩＤを示す。デバイス名１１０３の列は、デバイスの名称を示し、デバイス情報テーブル内で一意に識別する名称が格納される。機種名１１０４の列は、デバイスの機種の名称を示す。ＩＰアドレス１１０５の列は、デバイスのＩＰアドレスを示す。デバイス情報テーブルの各設定値は、管理サーバ１０３の入力装置より値を設定・変更することもできる。また、デバイスから取得した値を設定することもできる。また、デバイス情報テーブルは、テナントごとに作成するように構成してもよい。
【００３１】
＜デバイスグループ情報テーブル＞
図１１（Ｂ）は、図４に示したデバイス情報管理部４０４が管理するデバイスグループ情報の構成の一例を示す、デバイスグループ情報テーブルの図である。図１１（Ｂ）に示すデバイスグループ情報テーブルは、テナントＩＤ１１１１、デバイスＩＤ１１１２、グループＩＤ１１１３から構成される。テナントＩＤ１１１１のテナントのデバイスＩＤ１１１２で示されるデバイスは、グループＩＤ１１１３で示されるグループに所属する。例えば、テナントＩＤが３であり、デバイスＩＤが１００であり、グループＩＤが１０である行を考えると、デバイスＩＤが１００のデバイスは、ＡＢＣ  ＵＳＡのＮｅｗ  Ｙｏｒｋに属する。また、デバイスはグループ種別の異なるグループであれば、複数のグループに所属することができる。デバイスグループ情報テーブルの各設定値は、管理サーバ１０３の入力装置より値を設定・変更することもできる。また、デバイスグループ情報テーブルは、テナントごとに作成するように構成してもよい。
【００３２】
＜リスト情報テーブル＞
図１２は、リスト生成部４０５が管理するリスト情報の構成の一例を示す、リスト情報テーブルの図である。リスト情報とは、各機能においてどのようなリストを表示するかの情報である。また、このテーブルは、ホストコンピュータ１０１，１０２からレポート等を要求された際に応答として返す画面を生成する際に使用されてもよい。
【００３３】
図１２に示すリスト情報は、リストＩＤ１２０１、機能名１２０２、リスト単位１２０３、複数テナントリスト１２０４、テナント別リスト１２０５、テナント種別ＩＤ１２０６、グループ種別ＩＤ１２０７から構成される。リストＩＤ１２０１の列は、リスト情報をシステム内で一意に識別するＩＤを示す。機能名１２０２の列は、リストを表示する機能の名称を示す。リスト単位１２０３の列は、テナント単位でリストを表示するか、グループ単位でリストを表示するか、いずれかの単位が格納される。
【００３４】
複数テナントリスト１２０４の列は、単一テナントを対象にしたリスト表示の場合はＹｅｓ、複数テナントを対象にしたリスト表示の場合はＮｏが設定されている。テナント別リスト１２０５の列は、単純なテナントごとの表示の場合はＹｅｓ、そうでない場合はＮｏが設定されている。またこの情報は、複数テナントを対象にしたリスト表示（複数テナントリスト１２０４がＹｅｓ）の場合のみに設定されている。テナント種別ＩＤ１２０６の列は、単純なテナントごとの表示ではない（複数テナントリスト１２０４がＮｏ）場合に、どのテナント種別単位のリスト表示かを示す。グループ種別ＩＤ１２０７の列は、グループリスト表示（リスト単位がグループ）の場合に、どのグループ種別単位のリスト表示かを示す。
【００３５】
＜設定可能テナント種別判定処理＞
図１３は、テナント情報変更画面の一例を示す図である。テナント情報変更画面は、図４に示したテナント情報管理部４０２が保持するテナントに関する情報を変更する画面である。テナント情報変更画面では、テナントＩＤ１３０１に該当するテナントのテナント種別１３０２やテナント名１３０３を変更できる。ユーザがこれらの情報を変更し更新ボタン１３０４を押下すると、変更内容がＨＴＴＰリクエストに設定され、管理サーバ１０３に送信される。管理サーバ１０３は、インターフェース部４０１がＨＴＴＰリクエストを受信し、入力情報をチェックし問題がなければ、テナント情報管理部４０２にテナント情報変更リクエストを送信する。テナント情報管理部４０２は、テナント情報変更リクエストを受信すると、テナント情報管理テーブルの該当するテナントの情報を変更する。
【００３６】
図１４は、図４に示したテナント情報管理部４０２が実行する設定可能テナント種別判定処理の手順例を示すフローチャートである。なお、本例は、図１に示した管理サーバ１０３が情報処理装置として処理を行う例である。管理サーバ１０３では、図１３に示したテナント情報変更画面が表示されるときに本処理を実行する。本処理により、選択可能だと判定されたテナント種別を、図１３に示したテナント情報変更画面のテナント種別１３０２の選択肢として設定可能にする。なお、Ｓ１４０１〜Ｓ１４０６は各ステップを示し、各ステップは、ＣＰＵ２０１がＨＤ２１１、ＲＯＭ２０２等より制御プログラムをＲＡＭ２０３にロードして実行することで実現される。
【００３７】
設定可能テナント種別判定処理を開始すると、Ｓ１４０１で、テナント情報管理部４０２は、テナント情報テーブル（図５（Ｂ））に保管されているテナント情報から、情報変更対象のテナントの情報を取得する。続いてＳ１４０２で、テナント情報管理部４０２は、テナント種別情報テーブルに保管されているテナント種別情報を取得する。続いてＳ１４０３で、テナント情報管理部４０２は、Ｓ１４０１で取得したテナント情報の上位テナントＩＤ５１４をもとに、上位テナントが存在するか（上位テナントＩＤ５１４があるか）否かを判定する。ここで、テナント情報管理部４０２が、上位テナントが存在すると判定した場合はＳ１４０４に進む。一方、テナント情報管理部４０２が、上位テナントが存在しないと判定した場合はＳ１４０６に進む。続いてＳ１４０４で、テナント情報管理部４０２は、Ｓ１４０１で取得したテナント情報の上位テナントＩＤ５１４をもとに、テナント情報テーブルに保管されているテナント情報から、一階層上位のテナントの情報を取得する。
【００３８】
続いてＳ１４０５で、テナント情報管理部４０２は、Ｓ１４０４で取得した上位テナント情報のテナント種別よりも下位のテナント種別を、テナント種別情報テーブルから取得する。そして、取得した下位のテナント種別を設定可能なテナント種別と判断し、本処理を終了する。一方Ｓ１４０６で、テナント情報管理部４０２は、テナント種別情報から最上位の（上位テナント種別ＩＤ５０３がない）テナント種別を取得する。そして、取得した最上位のテナント種別を設定可能なテナント種別と判断し、本処理を終了する。
【００３９】
＜下位テナントの種別変更判定処理＞
図１５は、図４に示したテナント情報管理部４０２が実行する下位テナントの種別変更判定処理の手順例を示すフローチャートである。なお、本例は、図１に示した管理サーバ１０３が情報処理装置として処理を行う例である。管理サーバ１０３では、図１３に示したテナント情報変更画面でテナント種別１３０２が更新されたときに本処理を実行する。本処理により、テナント種別が更新されたテナントの下位テナントのテナント種別の変更が必須か否かを判定する。テナント種別の変更が必須と判定された下位テナントについては、テナント情報変更画面に誘導して設定変更をさせる。または、設定可能と判断したテナント種別に強制的に設定変更するなどの方法が考えられる。なお、Ｓ１４１１〜Ｓ１４１９は各ステップを示し、各ステップは、ＣＰＵ２０１がＨＤ２１１、ＲＯＭ２０２等より制御プログラムをＲＡＭ２０３にロードして実行することで実現される。
【００４０】
下位テナントの種別変更判定処理を開始すると、Ｓ１４１１で、テナント情報管理部４０２は、テナント情報テーブルに保管されているテナント情報から、テナント種別を変更したテナントの情報を取得する。続いてＳ１４１２で、テナント情報管理部４０２は、テナント種別情報テーブルに保管されているテナント種別情報を取得する。続いてＳ１４１３で、テナント情報管理部４０２は、テナント情報テーブルに保管されているテナント情報から、Ｓ１４０１で取得したテナントよりも下位のテナントを検索し、情報を取得する。続いてテナント情報管理部４０２は、Ｓ１４１３で取得した下位テナントの内、Ｓ１４１４〜Ｓ１４１９までのフローを未処理の下位テナントについて、１件ずつ処理を繰り返す。
【００４１】
続いてＳ１４１５で、テナント情報管理部４０２は、処理中の下位テナントのテナント種別が、設定変更したテナントのテナント種別よりも、下位のテナント種別か否かを判定する。ここで、テナント情報管理部４０２が、下位のテナント種別ではないと判定した場合はＳ１４１６に進む。一方、テナント情報管理部４０２が、下位のテナント種別であると判定した場合はＳ１４１７に進む。例えば、Ｓｅａｔｔｌｅのテナント種別が会社（テナント種別ＩＤ  １）から拠点（テナント種別ＩＤ  ２）に変更されたことを想定する。そうすると、Ｓｅａｔｔｌｅの下位テナントの種別は拠点（テナント種別ＩＤ  ２）か組織（テナント種別ＩＤ  ３）なので、Ｓｅａｔｔｌｅの下位のテナント種別ＩＤとならない。従って、Ｓ１４１６の処理では、テナント情報管理部４０２は、処理中の下位テナントについて、テナント種別の設定変更は必須であると判定する。
【００４２】
続いてＳ１４１８で、テナント情報管理部４０２は、設定変更したテナントのテナント種別よりも下位のテナント種別を、テナント種別情報テーブルから取得する。そして、取得した下位のテナント種別を、処理中の下位テナントに対して設定可能なテナント種別と判断する。一方Ｓ１４１７で、テナント情報管理部４０２は、処理中の下位テナントについて、テナント種別の設定変更は非必須であると判定する。
【００４３】
続いてＳ１４１９で、テナント情報管理部４０２は、Ｓ１４１４〜Ｓ１４１９の処理を行っていない下位テナントがあるか否かを判定する。ここで、テナント情報管理部４０２が、Ｓ１４１４〜Ｓ１４１９の処理を行っていない下位テナントがあると判定した場合はＳ１４１４に戻り処理を繰り返す。一方、テナント情報管理部４０２が、Ｓ１４１４〜Ｓ１４１９の処理を行っていない下位テナントがないと判定した場合は、本処理を終了する。
【００４４】
＜リスト生成処理＞
図１６は、図４に示したリスト生成部４０５が実行するリスト生成処理の手順例を示すフローチャートである。なお、本例は、図１に示した管理サーバ１０３が情報処理装置として処理を行う例である。管理サーバ１０３では、図１２に示したリスト情報をもとに、各機能において適切なテナントまたはグループのリストが生成される。本処理により生成されたリストは、各機能の画面やレポートなどに出力される。なお、Ｓ１５０１〜Ｓ１５０５は各ステップを示し、各ステップは、ＣＰＵ２０１がＨＤ２１１、ＲＯＭ２０２等より制御プログラムをＲＡＭ２０３にロードして実行することで実現される。
【００４５】
リスト生成処理を開始すると、Ｓ１５０１で、リスト生成部４０５は、図１２のリスト情報テーブルに保管されているリスト情報から、リスト生成対象の機能に該当するリスト情報を取得する。続いてＳ１５０２で、リスト生成部４０５は、テナント情報テーブルに保管されているテナント情報（図５（Ｂ））から、生成対象のリストで表示対象のテナントの情報をすべて取得する。
【００４６】
続いてＳ１５０３で、リスト生成部４０５は、Ｓ１５０３で取得したリスト情報のリスト単位情報１２０３がテナントか否かを判定する。つまり、生成対象のリストがテナントリストかグループリストかを判定する。ここで、リスト生成部４０５が、リスト単位情報１２０３がテナントであると判定した場合はＳ１５０４に進む。例えば、図１２のリストＩＤが１や８であれば、リスト単位情報１２０３がテナントであるため、処理はＳ１５０４に進む。一方、リスト生成部４０５が、リスト単位情報１２０３がテナントではないと判定した場合はＳ１５０５に進む。例えば、図１２のリストＩＤが４や９であれば、リスト単位情報１２０３がグループであるため、処理はＳ１５０５に進む。続いてＳ１５０４で、リスト生成部４０５は、テナントリスト生成処理を行い、本処理を終了する。テナントリスト生成処理の詳細については後述する。一方Ｓ１５０５で、リスト生成部４０５は、グループリスト生成処理を行い、本処理を終了する。グループリスト生成処理の詳細については後述する。
【００４７】
＜テナントリスト生成処理＞
図１７は、図１６に示したＳ１５０４で実行されるテナントリスト生成処理の詳細手順例を示すフローチャートである。例えば、処理対象が、図１２のリストＩＤが１または８であれば、管理サーバ１０３は本フローチャートに従ってテナント管理機能または会社別レポート機能を提供する。本処理により、各機能において適切なテナントリストが生成される。なお、Ｓ１６０１〜Ｓ１６１１は各ステップを示し、各ステップは、ＣＰＵ２０１がＨＤ２１１、ＲＯＭ２０２等より制御プログラムをＲＡＭ２０３にロードして実行することで実現される。
【００４８】
テナントリスト生成処理を開始すると、リスト生成部４０５は、Ｓ１５０２で取得したテナントの内、Ｓ１６０１〜Ｓ１６１１までのフローを未処理のテナントについて、１件ずつ処理を繰り返す。続いてＳ１６０２で、リスト生成部４０５は、Ｓ１５０１で取得したリスト情報のテナント別リスト１２０５がＹｅｓか否かを判定する。つまり、生成対象のテナントリストが単純なテナント別のリストか否かを判定する。
【００４９】
ここで、リスト生成部４０５が、リストＩＤ１２０１が１であれば、テナント別リスト１２０５がＹｅｓであると判定して処理はＳ１６０３に進む。一方、リスト生成部４０５が、リストＩＤ１２０１が８であれば、テナント別リスト１２０５がＹｅｓではないと判定して処理はＳ１６０４に進む。
【００５０】
続いてＳ１６０３で、リスト生成部４０５は、管理サーバ１０３が保持するデータの内、生成対象のテナントリストで使用する、処理中のテナントについてのデータを取得する。一方Ｓ１６０４で、リスト生成部４０５は、処理中のテナントのテナント種別ＩＤ５１３と、Ｓ１５０１で取得したリスト情報のテナント種別ＩＤ１２０６が一致するか否かを判定する。つまり、リストに表示するテナント種別のテナントか否かを判定する。テナントＩＤが８の行では、テナント種別ＩＤは１であるため、ＩＤ５１３が１であれば、リスト生成部４０５が、二つのテナント種別ＩＤが一致すると判定し処理はＳ１６０８に進む。一方、リスト生成部４０５が、二つのテナント種別ＩＤが一致しないと判定した場合はＳ１６０５に進む。
【００５１】
続いてＳ１６０５で、リスト生成部４０５は、処理中のテナントの上位テナントＩＤ５１４をもとに、上位テナントが存在するか（上位テナントＩＤ５１４があるか）否かを判定する。例えば処理中のテナントがＳｅａｔｔｌｅであれば、リスト生成部４０５が、上位テナントが存在すると判定し処理はＳ１６０６に進む。一方、リスト生成部４０５が、上位テナントが存在しないと判定した場合はＳ１６１１に進む。続いてＳ１６０６で、リスト生成部４０５は、処理中のテナントの上位テナントＩＤ５１４をもとに、テナントアクセス権情報テーブルに保管されているテナントアクセス権情報から、一階層上位のテナントのアクセス権情報を取得する。例えば処理中のテナントがＳｅａｔｔｌｅであれば、上位テナントＩＤが３である。従って、リスト生成部４０５は、アクセス権情報としてＳｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ  ＵＳＡを取得する。
【００５２】
続いてＳ１６０７で、リスト生成部４０５は、Ｓ１６０６で取得した上位のテナントのアクセス権情報をもとに、リスト生成対象の機能を実行したユーザに上位テナントへのアクセス権があるか否かを判定する。つまり、処理中のテナントについて、リストに表示するテナント種別のテナントでなくても、リスト生成対象の機能を実行したユーザのアクセス可能範囲内で最上位のテナントの場合は、リストに表示すると判定する。これは、処理中のテナントのデータがリストに含まれなくなることを防ぐための処理である。
【００５３】
例えば、Ｓｅａｔｔｌｅであればアクセス権情報テーブルにＳｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ  ＵＳＡが格納されているため、リスト生成部４０５が、上位テナントへのアクセス権があると判定した場合はＳ１６１１に進む。一方、リスト生成部４０５が、上位テナントへのアクセス権がないと判定した場合はＳ１６０８に進む。
【００５４】
続いてＳ１６０８で、リスト生成部４０５は、管理サーバ１０３が保持するデータの内、生成対象のテナントリストで使用する、処理中のテナントについてのデータを取得する。続いてＳ１６０９で、リスト生成部４０５は、下位テナントのデータ取得処理を行う。下位テナントのデータ取得処理の詳細については後述する。続いてＳ１６１０で、リスト生成部４０５は、データ生成処理を行う。データ生成処理の詳細については後述する。続いてＳ１６１１で、リスト生成部４０５は、Ｓ１６０１〜Ｓ１６１１の処理を行っていないテナントがあるか否かを判定する。ここで、リスト生成部４０５が、Ｓ１６０１〜Ｓ１６１１の処理を行っていないテナントがあると判定した場合はＳ１６０１に戻り処理を繰り返す。一方、リスト生成部４０５が、Ｓ１６０１〜Ｓ１６１１の処理を行っていないテナントがないと判定した場合は、本処理を終了する。
【００５５】
＜下位テナントのデータ取得処理（テナントリスト生成）＞
図１８は、図１７に示したＳ１６０９で実行される下位テナントのデータ取得処理の詳細手順例を示すフローチャートである。会社別レポート機能を提供する場合、本フローチャートを適用することになる。本処理では、処理中のテナントのデータとして扱う下位テナントのデータを取得する。なお、Ｓ１６２１〜Ｓ１６２６は各ステップを示し、各ステップは、ＣＰＵ２０１がＨＤ２１１、ＲＯＭ２０２等より制御プログラムをＲＡＭ２０３にロードして実行することで実現される。
【００５６】
下位テナントのデータ取得処理を開始すると、Ｓ１６２１で、リスト生成部４０５は、テナント情報テーブルに保管されているテナント情報から、処理中のテナントよりも一階層下位のテナントを検索し、情報を取得する。続いてリスト生成部４０５は、Ｓ１６２１で取得した下位テナントの内、Ｓ１６２２〜Ｓ１６２６までのフローを未処理の下位テナントについて、１件ずつ処理を繰り返す。
【００５７】
続いてＳ１６２３で、リスト生成部４０５は、処理中の下位テナントのテナント種別ＩＤ５１３と、Ｓ１５０１で取得したリスト情報のテナント種別ＩＤ１２０６が一致するか否かを判定する。つまり、処理中の下位テナントについて、リストに表示するテナント種別のテナントか否かを判定する。本判定は、リストに表示しないテナント種別のテナントの場合は、処理中の下位テナントのデータを上位テナントのデータとして扱うために行う。
【００５８】
ここで、リスト生成部４０５が、二つのテナント種別ＩＤが一致すると判定した場合はＳ１６２６に進む。一方、リスト生成部４０５が、二つのテナント種別ＩＤが一致しないと判定した場合はＳ１６２４に進む。続いてＳ１６２４で、リスト生成部４０５は、管理サーバ１０３が保持するデータの内、生成対象のテナントリストで使用する、処理中の下位テナントについてのデータを取得する。続いてＳ１６２５で、リスト生成部４０５は、処理中の下位テナントについて、下位テナントのデータ取得処理を行う。リスト生成部４０５は、取得した下位テナントのデータを上位テナントのデータに加算する。続いてＳ１６２６で、リスト生成部４０５は、Ｓ１６２２〜Ｓ１６２６の処理を行っていない下位テナントがあるか否かを判定する。ここで、リスト生成部４０５が、Ｓ１６２２〜Ｓ１６２６の処理を行っていない下位テナントがあると判定した場合はＳ１６２２に戻り処理を繰り返す。一方、リスト生成部４０５が、Ｓ１６２２〜Ｓ１６２６の処理を行っていない下位テナントがないと判定した場合は、本処理を終了する。
【００５９】
＜データ生成処理＞
図１９は、図１７に示したＳ１６１０で実行されるデータ生成処理の詳細手順例を示すフローチャートである。本処理では、Ｓ１６０３またはＳ１６０８およびＳ１６０９で取得したデータを使用し、処理中のテナントのリストに表示するデータを生成する。処理中のテナントのリストに表示するデータには、Ｓ１６０９で取得した処理中のテナントのデータとして扱う下位テナントのデータも含まれる。本処理では、下位テナントのデータをどのように含めるかを示す。なお、Ｓ１６３１〜Ｓ１６３７は各ステップを示し、各ステップは、ＣＰＵ２０１がＨＤ２１１、ＲＯＭ２０２等より制御プログラムをＲＡＭ２０３にロードして実行することで実現される。
【００６０】
データ生成処理を開始すると、リスト生成部４０５は、生成対象のリストに表示する項目の内、Ｓ１６３１〜Ｓ１６３７までのフローを未処理の表示項目について、１件ずつ処理を繰り返す。続いてＳ１６３２で、リスト生成部４０５は、処理中の項目が、計算が必要な項目か否かを判定する。計算が必要な項目とは、名称のような文字列データではなく、各対象テナント（処理中のテナントおよび下位テナント）のデータの合計値とすべき項目や、各対象テナントのデータから再計算する必要がある項目を示す。ここで、リスト生成部４０５が、計算が必要な項目であると判定した場合はＳ１６３３に進む。一方、リスト生成部４０５が、計算が必要な項目ではないと判定した場合はＳ１６３６に進む。
【００６１】
続いてＳ１６３３で、リスト生成部４０５は、処理中の項目が、各対象テナントのデータの合計値が正確な値となる項目か否かを判定する。合計値が正確な値となる項目とは、例えば管理デバイス数などの各対象テナントの合計値を表示すれば良い項目を指す。一方、合計値が正確な値とならない項目としては、例えば割合値などの各対象テナントのデータを使用して再計算が必要な項目を指す。ここで、リスト生成部４０５が、合計値が正確な値となる項目であると判定した場合はＳ１６３４に進む。一方、リスト生成部４０５が、合計値が正確な値となる項目ではないと判定した場合はＳ１６３５に進む。続いてＳ１６３４で、リスト生成部４０５は、各対象テナントのデータの合計値を計算し、処理中の項目の表示データとする。
【００６２】
一方Ｓ１６３５で、リスト生成部４０５は、各対象テナントのデータを使用して正確な値を計算し、処理中の項目の表示データとする。一方Ｓ１６３６で、リスト生成部４０５は、処理中の最上位のテナントの値を、処理中の項目の表示データとする。続いてＳ１６３７で、リスト生成部４０５は、Ｓ１６３１〜Ｓ１６３７の処理を行っていない表示項目があるか否かを判定する。ここで、リスト生成部４０５が、Ｓ１６３１〜Ｓ１６３７の処理を行っていない表示項目があると判定した場合はＳ１６３１に戻り処理を繰り返す。一方、リスト生成部４０５が、Ｓ１６３１〜Ｓ１６３７の処理を行っていない表示項目がないと判定した場合は、本処理を終了する。
【００６３】
＜テナントリスト表示例＞
図２０は、図１６乃至図１９に示したテナントリスト生成処理により生成されたテナントリストの表示例を示す図である。図２０（Ａ）は、図１２に示したリスト情報テーブルのリストＩＤが１のテナント管理機能のテナントリストの表示例を示す図である。本機能は、サービスプロバイダが各テナントを管理する目的で使用する想定である。サービスプロバイダは、本機能でテナントを選択して操作する。
【００６４】
図２０（Ａ）に示すテナント管理画面例は、テナント名１７０１乃至Ｔｙｐｅ  Ｃ割合１７０６から構成される。図２０（Ａ）において、テナント名１７０１の列では、テナント毎の名称が表示される。操作１７０２の列では、テナントを操作する機能に遷移する操作ボタンが表示される。管理デバイス数１７０３の列では、テナント内の管理デバイス数が表示される。Ｔｙｐｅ  Ａ割合１７０４の列では、テナント内の管理デバイス数に対する機種がＴｙｐｅ  Ａのデバイス数の割合が表示される。Ｔｙｐｅ  Ｂ割合１７０５の列では、テナント内の管理デバイス数に対する機種がＴｙｐｅ  Ｂのデバイス数の割合が表示される。Ｔｙｐｅ  Ｃ割合１７０６の列では、テナント内の管理デバイス数に対する機種がＴｙｐｅ  Ｃのデバイス数の割合が表示される。
【００６５】
ここで、ＡＢＣ  ＵＳＡはテナント種別が会社で、Ｓｅａｔｔｌｅはテナント種別が拠点（ＡＢＣ  ＵＳＡの会社の一拠点）であり、テナント種別が異なる。そのため、本機能ではＡＢＣ  ＵＳＡとＳｅａｔｔｌｅは区別して表示している。これは、サービスプロバイダはテナント単位での管理が必要であるためである。つまり、本機能では、テナント単位でのリスト表示が適している。
【００６６】
図２０（Ｂ）は、図１２に示したリスト情報テーブルのリストＩＤが８の会社別レポート機能のテナントリスト表示例を示す図である。本機能は、顧客が各会社の情報を閲覧する目的で使用する想定である。図２０（Ｂ）に示す会社別レポート例は、会社名１７１１乃至Ｔｙｐｅ  Ｃ割合１７１５から構成される。図２０（Ｂ）において、会社名１７１１の列では、テナント名が会社名として表示される。管理デバイス数１７１２の列では、会社内の管理デバイス数が表示される。Ｔｙｐｅ  Ａ割合１７１３の列では、会社内の管理デバイス数に対する機種がＴｙｐｅ  Ａのデバイス数の割合が表示される。Ｔｙｐｅ  Ｂ割合１７１４の列では、会社内の管理デバイス数に対する機種がＴｙｐｅ  Ｂのデバイス数の割合が表示される。Ｔｙｐｅ  Ｃ割合１７１５の列では、会社内の管理デバイス数に対する機種がＴｙｐｅ  Ｃのデバイス数の割合が表示される。
【００６７】
ここで、ＡＢＣ  ＵＳＡはテナント種別が会社で、Ｓｅａｔｔｌｅはテナント種別が拠点（ＡＢＣ  ＵＳＡの会社の一拠点）であり、テナント種別が異なる。しかし、本機能ではＳｅａｔｔｌｅの情報はＡＢＣ  ＵＳＡの情報として表示している。例えば、ＡＢＣ  ＵＳＡの管理デバイス数１７１２は、ＡＢＣ  ＵＳＡテナントの管理デバイス数と、Ｓｅａｔｔｌｅテナントの管理デバイス数の合計値である。各機種の割合１７１３〜１７１５は、ＡＢＣ  ＵＳＡテナントの各機種のデバイス数と、Ｓｅａｔｔｌｅテナントの各機種のデバイス数を使用し、再計算した値である。これは、Ｓｅａｔｔｌｅはサービスプロバイダの都合でテナントになっていて、顧客が各会社の情報を閲覧する目的で使用する本機能においては区別しないで表示する必要があるためである。つまり、本機能では、テナント単位ではなく、会社単位のリスト表示が適している。
【００６８】
＜グループリスト生成処理＞
図２１は、図１６のＳ１５０５で実行されるグループリスト生成処理の詳細手順例を示すフローチャートである。本処理により、各機能において適切なグループリストが生成される。なお、Ｓ１８０１〜Ｓ１８１３は各ステップを示し、各ステップは、ＣＰＵ２０１がＨＤ２１１、ＲＯＭ２０２等より制御プログラムをＲＡＭ２０３にロードして実行することで実現される。
【００６９】
グループリスト生成処理を開始すると、リスト生成部４０５は、Ｓ１５０２で取得したテナントの内、Ｓ１８０１〜Ｓ１８１３までのフローを未処理のテナントについて、１件ずつ処理を繰り返す。続いてＳ１８０２で、リスト生成部４０５は、Ｓ１５０１で取得したリスト情報のテナント別リスト１２０５がＹｅｓか否かを判定する。つまり、生成対象のテナントリストが単純なテナント別のリストか否かを判定する。例えば、図１２のリストＩＤが４または５であれば、リスト生成部４０５が、テナント別リスト１２０５がＹｅｓであると判定し、処理はＳ１８０３に進む。一方、図１２のリストＩＤが９または１０であれば、リスト生成部４０５が、テナント別リスト１２０５がＹｅｓではないと判定し、処理はＳ１８０４に進む。
【００７０】
続いてＳ１８０３で、リスト生成部４０５は、グループ情報テーブルに保管されているグループ情報から、Ｓ１５０１で取得したリスト情報のグループ種別ＩＤ１２０７に一致するグループの情報を取得する。続いてＳ１８０４で、リスト生成部４０５は、管理サーバ１０３が保持するデータの内、生成対象のグループリストで使用する、処理中のテナントについてのデータを取得する。
【００７１】
一方Ｓ１８０５で、リスト生成部４０５は、処理中のテナントのテナント種別ＩＤ５１３と、Ｓ１５０１で取得したリスト情報のテナント種別ＩＤ１２０６が一致するか否かを判定する。つまり、リストに表示するテナント種別のテナントか否かを判定する。ここで、リスト生成部４０５が、二つのテナント種別ＩＤが一致すると判定した場合はＳ１８０９に進む。一方、リスト生成部４０５が、二つのテナント種別ＩＤが一致しないと判定した場合はＳ１８０６に進む。
【００７２】
続いてＳ１８０６で、リスト生成部４０５は、処理中のテナントの上位テナントＩＤ５１４をもとに、上位テナントが存在するか（上位テナントＩＤ５１４があるか）否かを判定する。ここで、リスト生成部４０５が、上位テナントが存在すると判定した場合はＳ１８０７に進む。一方、リスト生成部４０５が、上位テナントが存在しないと判定した場合はＳ１８１３に進む。
【００７３】
続いてＳ１８０７で、リスト生成部４０５は、処理中のテナントの上位テナントＩＤ５１４をもとに、テナントアクセス権情報テーブルに保管されているテナントアクセス権情報から、一階層上位のテナントのアクセス権情報を取得する。
【００７４】
続いてＳ１８０８で、リスト生成部４０５は、Ｓ１８０７で取得した上位のテナントのアクセス権情報をもとに、リスト生成対象の機能を実行したユーザに上位テナントへのアクセス権があるか否かを判定する。つまり、処理中のテナントについて、リストに表示するテナント種別のテナントでなくても、リスト生成対象の機能を実行したユーザのアクセス可能範囲内で最上位のテナントの場合は、リストに表示すると判定する。これは、処理中のテナントのデータがリストに含まれなくなることを防ぐための処理である。ここで、リスト生成部４０５が、上位テナントへのアクセス権があると判定した場合はＳ１８１３に進む。一方、リスト生成部４０５が、上位テナントへのアクセス権がないと判定した場合はＳ１８０９に進む。
【００７５】
続いてＳ１８０９で、リスト生成部４０５は、グループ情報テーブルに保管されているグループ情報から、Ｓ１５０１で取得したリスト情報のグループ種別ＩＤ１２０７に一致する、処理中のテナントについてのグループ情報を取得する。続いてＳ１８１０で、リスト生成部４０５は、管理サーバ１０３が保持するデータの内、生成対象のグループリストで使用する、処理中のテナントについてのデータを取得する。続いてＳ１８１１で、リスト生成部４０５は、下位テナントのデータ取得処理を行う。下位テナントのデータ取得処理の詳細については後述する。
【００７６】
続いてＳ１８１２で、リスト生成部４０５は、Ｓ１８０３および１８０４、またはＳ１８００〜Ｓ１８１１で取得したデータを使用し、データのグルーピング処理を行い、処理中のテナントのグループリストに表示するデータを生成する。処理中のテナントのグループリストに表示するデータには、Ｓ１８１１で取得した処理中のテナントのデータとして扱う下位テナントのデータも含まれる。つまり、下位テナントのデータについても、処理中のテナントのデータと同様に扱い、グルーピング処理を行う。
【００７７】
続いてＳ１８１３で、リスト生成部４０５は、Ｓ１８０１〜Ｓ１８１３の処理を行っていないテナントがあるか否かを判定する。ここで、リスト生成部４０５が、Ｓ１８０１〜Ｓ１８１３の処理を行っていないテナントがあると判定した場合はＳ１８０１に戻り処理を繰り返す。一方、リスト生成部４０５が、Ｓ１８０１〜Ｓ１８１３の処理を行っていないテナントがないと判定した場合は、本処理を終了する。
【００７８】
＜下位テナントのデータ取得処理（グループリスト生成）＞
図２２は、図２１に示したＳ１８１１で実行される下位テナントのデータ取得処理の詳細手順例を示すフローチャートである。拠点別レポート機能や組織別レポート機能を提供する場合、本フローチャートを適用することになる。本処理では、処理中のテナントのデータとして扱う下位テナントのデータを取得する。また、処理中のテナントのデータとして扱うと判定した下位テナントについて、グループ階層変更処理を行う。グループ階層変更処理の詳細については後述する。なお、Ｓ１８２１〜Ｓ１８２８は各ステップを示し、各ステップは、ＣＰＵ２０１がＨＤ２１１、ＲＯＭ２０２等より制御プログラムをＲＡＭ２０３にロードして実行することで実現される。
【００７９】
下位テナントのデータ取得処理を開始すると、Ｓ１８２１で、リスト生成部４０５は、テナント情報テーブルに保管されているテナント情報から、処理中のテナントよりも一階層下位のテナントを検索し、情報を取得する。続いてリスト生成部４０５は、Ｓ１８２１で取得した下位テナントの内、Ｓ１８２２〜Ｓ１８２８までのフローを未処理の下位テナントについて、１件ずつ処理を繰り返す。
【００８０】
続いてＳ１８２３で、リスト生成部４０５は、処理中の下位テナントのテナント種別ＩＤ５１３と、Ｓ１５０１で取得したリスト情報のテナント種別ＩＤ１２０６が一致するか否かを判定する。つまり、処理中の下位テナントについて、リストに表示するテナント種別のテナントか否かを判定する。本判定は、リストに表示しないテナント種別のテナントの場合は、処理中の下位テナントのデータを上位テナントのデータとして扱うために行う。ここで、リスト生成部４０５が、二つのテナント種別ＩＤが一致すると判定した場合はＳ１８２８に進む。一方、リスト生成部４０５が、二つのテナント種別ＩＤが一致しないと判定した場合はＳ１８２４に進む。
【００８１】
続いてＳ１８２４で、リスト生成部４０５は、グループ情報テーブルに保管されているグループ情報から、Ｓ１５０１で取得したリスト情報のグループ種別ＩＤ１２０７に一致する、処理中の下位テナントについてのグループ情報を取得する。続いてＳ１８２５で、リスト生成部４０５は、管理サーバ１０３が保持するデータの内、生成対象のグループリストで使用する、処理中の下位テナントについてのデータを取得する。
【００８２】
続いてＳ１８２６で、リスト生成部４０５は、グループ階層変更処理を行う。グループ階層変更処理の詳細については後述する。続いてＳ１８２７で、リスト生成部４０５は、処理中の下位テナントについて、下位テナントのデータ取得処理を行う。続いてＳ１８２８で、リスト生成部４０５は、Ｓ１８２２〜Ｓ１８２８の処理を行っていない下位テナントがあるか否かを判定する。ここで、リスト生成部４０５が、Ｓ１８２２〜Ｓ１８２８の処理を行っていない下位テナントがあると判定した場合はＳ１８２２に戻り処理を繰り返す。一方、リスト生成部４０５が、Ｓ１８２２〜Ｓ１８２８の処理を行っていない下位テナントがないと判定した場合は、本処理を終了する。
【００８３】
＜グループ階層変更処理＞
図２３は、図２２に示したＳ１８２６で実行されるグループ階層変更処理の詳細手順例を示すフローチャートである。本処理では、処理対象のテナント内のグループにおける階層情報を変更する。図９（Ａ）および図９（Ｂ）で示したように、Ｓｅａｔｔｌｅは図９（Ａ）で示したＡＢＣ  ＵＳＡ内のＮｅｗ  ＹｏｒｋやＶｉｒｇｉｎｉａといった第一階層のグループと、同じ位置付けである。会社別の拠点単位のリスト表示をする場合、ＳｅａｔｔｌｅはＡＢＣ  ＵＳＡの第一階層のグループとして表示したい。そのような場合に、本処理によってテナントであるＳｅａｔｔｌｅをグループの第一階層とし、Ｓｅａｔｔｌｅの第一階層であったグループを第二階層とするといったように、階層情報を変更する。なお、Ｓ１８３１〜Ｓ１８３６は各ステップを示し、各ステップは、ＣＰＵ２０１がＨＤ２１１、ＲＯＭ２０２等より制御プログラムをＲＡＭ２０３にロードして実行することで実現される。
【００８４】
グループ階層変更処理を開始すると、Ｓ１８３１で、リスト生成部４０５は、図２２の下位テナントのデータ取得処理において、処理中の下位テナントを処理対象のテナントと判断する。続いてＳ１８３２で、リスト生成部４０５は、処理対象のテナントのテナント種別ＩＤ５１３に対応するテナント種別名５０２と、Ｓ１５０１で取得したリスト情報のグループ種別ＩＤ１２０７に対応するグループ種別名８０２が一致するか否かを判定する。つまり、テナントの種別が、リストに表示するグループ種別かを判定する。例えば、Ｓｅａｔｌｅのテナント種別ＩＤ  ２は、グループ種別ＩＤ  １に一致するためリスト生成部４０５が、二つのテナント種別名が一致すると判定し、処理はＳ１８３３に進む。一方、リスト生成部４０５が、二つのテナント種別名が一致しないと判定した場合は、本処理を終了する。
【００８５】
続いてＳ１８３３で、リスト生成部４０５は、処理対象のテナントのテナント名をグループ名とし、Ｓ１８２４で取得したグループ情報の一階層目として追加する。これにより、既存のグループ情報の一階層目は二階層目となる。なお、一階層目の追加処理は、生成対象のリストのための一時的な処理である。そのため、一階層目の追加処理結果はグループ情報テーブルには保管はしない。
【００８６】
続いてＳ１８３４で、リスト生成部４０５は、処理対象のテナントの上位テナントＩＤ５１４をもとに、上位テナントが存在するか（上位テナントＩＤ５１４があるか）否かを判定する。ここで、リスト生成部４０５が、上位テナントが存在すると判定した場合はＳ１８３５に進む。一方、リスト生成部４０５が、上位テナントが存在しないと判定した場合は、本処理を終了する。続いてＳ１８３５で、リスト生成部４０５は、処理対象のテナントの上位テナントＩＤ５１４をもとに、テナント情報テーブルに保管されているテナント情報から、一階層上位のテナントの情報を取得する。続いてＳ１８３６で、リスト生成部４０５は、Ｓ１８３６で取得した一階層上位のテナントを処理対象のテナントとして、Ｓ１８３２に戻り処理を繰り返す。
【００８７】
＜グループリスト表示例＞
図２４、２５は、図２１乃至図２３に示したグループリスト生成処理により生成されたグループリストの表示例を示す図である。図２４は、図１２に示したリスト情報テーブルのリストＩＤが４の複数テナントのデバイスグループ（拠点）管理機能のグループリストの表示例を示す図である。本機能は、サービスプロバイダが各テナントのグループを管理する目的で使用することを想定している。サービスプロバイダは、本機能でグループを選択して操作する。
【００８８】
図２４において、デバイスグループ管理リスト例は、テナント名１９０１乃至Ｔｙｐｅ  Ｃ割合１９０８から構成される。テナント名１９０１の列では、１つのグループに属する各テナントの名称が表示される。拠点名１９０２の列では、第一階層のグループ名が表示される。拠点名１９０３の列では、第二階層のグループ名が拠点名として表示される。操作１９０４の列では、グループを操作する機能に遷移する操作ボタンが表示される。管理デバイス数１９０５の列では、拠点名１９０３毎に管理デバイス数が表示される。Ｔｙｐｅ  Ａ割合１９０６の列では、拠点名１９０３毎の管理デバイス数に対する機種がＴｙｐｅ  Ａのデバイス数の割合が表示される。Ｔｙｐｅ  Ｂ割合１９０７の列では、拠点名１９０３毎の管理デバイス数に対する機種がＴｙｐｅ  Ｂのデバイス数の割合が表示される。Ｔｙｐｅ  Ｃ割合１９０８の列では拠点名１９０３毎の管理デバイス数に対する機種がＴｙｐｅ  Ｃのデバイス数の割合が表示される。
【００８９】
ここで、ＡＢＣ  ＵＳＡはテナント種別が会社で、Ｓｅａｔｔｌｅはテナント種別が拠点（ＡＢＣ  ＵＳＡの会社の一拠点）であり、テナント種別が異なる。そのため、本機能ではＡＢＣ  ＵＳＡとＳｅａｔｔｌｅは区別して表示されている。これは、サービスプロバイダはテナント単位での管理が必要であるためである。つまり、本機能では、テナント別のグループ単位でのリスト表示が適している。
【００９０】
図２５は、図１２に示したリスト情報テーブルのリストＩＤが９の複数テナントの拠点別レポート機能のグループリストの表示例を示す図である。本機能は、顧客が各会社の拠点別の情報を閲覧する目的で使用する想定である。
【００９１】
図２５の拠点レポートリストは、会社名１９１１乃至Ｔｙｐｅ  Ｃ割合１９１７から構成される。参照符号１９１１の列では、テナント名が会社名として表示される。拠点名１９１２の列では、第一階層のグループ名が拠点名として表示される。拠点名１９１３の列では、第二階層のグループ名が拠点名として表示される。管理デバイス数１９１４の列では、拠点名１９１３毎の管理デバイス数を表示している。Ｔｙｐｅ  Ａ割合１９１５の列では、拠点名１９１３毎の管理デバイス数に対する機種がＴｙｐｅ  Ａのデバイス数の割合が表示される。Ｔｙｐｅ  Ｂ割合１９１６の列では、拠点名１９１３毎の管理デバイス数に対する機種がＴｙｐｅ  Ｂのデバイス数の割合が表示される。Ｔｙｐｅ  Ｃ割合１９１７の列では、拠点名１９１３毎の管理デバイス数に対する機種がＴｙｐｅ  Ｃのデバイス数の割合が表示される。
【００９２】
ここで、ＡＢＣ  ＵＳＡはテナント種別が会社で、Ｓｅａｔｔｌｅはテナント種別が拠点（ＡＢＣ  ＵＳＡの会社の一拠点）であり、テナント種別が異なる。しかし、本機能ではＳｅａｔｔｌｅの情報はＡＢＣ  ＵＳＡの情報として表示されている。これは、Ｓｅａｔｔｌｅはサービスプロバイダの都合でテナントになっていて、顧客が各会社の拠点別の情報を閲覧する目的で使用する本機能においては区別しないで表示する必要があるためである。さらに、ＳｅａｔｔｌｅはＡＢＣ  ＵＳＡ内の拠点の第一階層として表示している。これは、本来Ｓｅａｔｔｌｅは、ＡＢＣ  ＵＳＡのＮｅｗ  ＹｏｒｋやＶｉｒｇｉｎｉａなどの他拠点と同じ扱いである。そのため、顧客が各会社の拠点別の情報を閲覧する目的で使用する本機能においては、ＡＢＣ  ＵＳＡの他の拠点と同階層として表示する必要があるためである。つまり、本機能では、テナント別のグループ単位ではなく、会社別の拠点単位のリスト表示が適している。
【００９３】
図２６（Ａ）は、図１２に示したリスト情報テーブルのリストＩＤが５の複数テナントのデバイスグループ（組織）管理機能のグループリストの表示例を示す図である。本機能は、サービスプロバイダが各テナントのグループを管理する目的で使用する想定である。サービスプロバイダは、本機能でグループを選択して操作する。
【００９４】
図２６（Ａ）に示すデバイスグループ管理画面例は、テナント名２００１乃至Ｔｙｐｅ  Ｃ割合２００７から構成される。図２６（Ａ）において、テナント名２００１の列では、テナント毎の名称が表示される。組織名２００２の列では、第一階層のグループ名が組織名として表示される。操作２００３の列では、グループを操作する機能に遷移する操作ボタンが表示される。で管理デバイス数２００４の列では、グループ内の管理デバイス数が表示される。Ｔｙｐｅ  Ａ割合２００５の列では、組織名２００２内の管理デバイス数に対する機種がＴｙｐｅ  Ａのデバイス数の割合が表示される。Ｔｙｐｅ  Ｂ割合２００６の列では、組織名２００２内の管理デバイス数に対する機種がＴｙｐｅ  Ｂのデバイス数の割合を表示している。Ｔｙｐｅ  Ｃ割合２００７の列では、組織名２００２内の管理デバイス数に対する機種がＴｙｐｅ  Ｃのデバイス数の割合を表示している。
【００９５】
ここで、ＡＢＣ  ＵＳＡはテナント種別が会社で、Ｓｅａｔｔｌｅはテナント種別が拠点（ＡＢＣ  ＵＳＡの会社の一組織）であり、テナント種別が異なる。そのため、本機能ではＡＢＣ  ＵＳＡとＳｅａｔｔｌｅは区別して表示されている。これは、サービスプロバイダはテナント単位での管理が必要であるためである。つまり、本機能では、テナント別のグループ単位でのリスト表示が適している。
【００９６】
図２６（Ｂ）は、図１２に示したリスト情報テーブルのリストＩＤが１０の複数テナントの組織別レポート機能のグループリストの表示例を示す図である。本機能は、顧客が各会社の組織別の情報を閲覧する目的で使用する想定である。
【００９７】
図２６（Ｂ）の組織別レポート例は、会社名２０１１乃至Ｔｙｐｅ  Ｃ割合２０１６から構成される。図２６（Ｂ）において、会社名２０１１の列では、テナント名が会社名として表示される。組織名２０１２の列では、第一階層のグループ名が組織名として表示される。管理デバイス数２０１３の列では、グループ内の管理デバイス数が表示される。Ｔｙｐｅ  Ａ割合２０１４の列では、階層１内の管理デバイス数に対する機種がＴｙｐｅ  Ａのデバイス数の割合が表示される。Ｔｙｐｅ  Ｂ割合２０１５の列では、階層１内の管理デバイス数に対する機種がＴｙｐｅ  Ｂのデバイス数の割合が表示される。Ｔｙｐｅ  Ｃ割合２０１６の列では、階層１内の管理デバイス数に対する機種がＴｙｐｅ  Ｃのデバイス数の割合を表示している。
【００９８】
ここで、ＡＢＣ  ＵＳＡはテナント種別が会社で、Ｓｅａｔｔｌｅはテナント種別が拠点（ＡＢＣ  ＵＳＡの会社の一組織）であり、テナント種別が異なる。しかし、本機能ではＳｅａｔｔｌｅの情報はＡＢＣ  ＵＳＡの情報として表示される。例えば、ＡＢＣ  ＵＳＡ内のＳａｌｅｓの管理デバイス数２０１３は、ＡＢＣ  ＵＳＡ内のＳａｌｅｓの管理デバイス数と、Ｓｅａｔｔｌｅ内のＳａｌｅｓの管理デバイス数の合計値である。これは、Ｓｅａｔｔｌｅはサービスプロバイダの都合でテナントになっていて、顧客が各会社の情報を閲覧する目的で使用する本機能においては区別しないで表示する必要があるためである。つまり、本機能では、テナント別のグループ単位ではなく、会社別の組織単位のリスト表示が適している。以上、本発明の管理サーバシステムによれば、提供するサービスの機能によって適切な単位でリストを生成することが可能となる。
【００９９】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2015075880.tif 000003
【図２】
2015075880.tif 000004
【図３】
2015075880.tif 000005
【図４】
2015075880.tif 000006
【図５】
2015075880.tif 000007
【図６】
2015075880.tif 000008
【図７】
2015075880.tif 000009
【図８】
2015075880.tif 000010
【図９】
2015075880.tif 000011
【図１０】
2015075880.tif 000012
【図１１】
2015075880.tif 000013
【図１２】
2015075880.tif 000014
【図１３】
2015075880.tif 000015
【図１４】
2015075880.tif 000016
【図１５】
2015075880.tif 000017
【図１６】
2015075880.tif 000018
【図１７】
2015075880.tif 000019
【図１８】
2015075880.tif 000020
【図１９】
2015075880.tif 000021
【図２０】
2015075880.tif 000022
【図２１】
2015075880.tif 000023
【図２２】
2015075880.tif 000024
【図２３】
2015075880.tif 000025
【図２４】
2015075880.tif 000026
【図２５】
2015075880.tif 000027
【図２６】
2015075880.tif 000028