(57)【特許請求の範囲】
【請求項１】
テナントの印刷装置情報を複数のサーバに割り当てて、分散管理する印刷システムにおけるシステム管理サーバであって、
特定のテナントの印刷装置情報を分割し、移動させる際に、当該特定のテナントを管理するサーバを前記複数のサーバから検索する検索手段と、
前記検索手段で検索されたサーバが前記分割された印刷装置情報を格納できる場合、当該サーバを移動先のサーバに決定する決定手段と、
前記決定手段で決定された移動先のサーバに前記分割された印刷装置情報を移動させる移動手段と、
を有し、
前記移動手段は、移動元のサーバに前記特定のテナントとは別のテナントの印刷装置情報が同居している場合、前記特定のテナントの印刷装置情報のすべてを前記移動先のサーバへの移動対象とすることを特徴とするシステム管理サーバ。
【請求項２】
前記検索手段でサーバが検索されなかった場合に、前記決定手段は新規にサーバを立ち上げ、当該サーバを移動先のサーバに決定することを特徴とする請求項１に記載のシステム管理サーバ。
【請求項３】
前記特定のテナントの印刷装置情報を分割し、移動させる際に、当該印刷装置情報を更新不可に設定する設定手段を更に有することを特徴とする請求項１又は２に記載のシステム管理サーバ。
【請求項４】
前記特定のテナントの印刷装置情報を分割し、移動させる際に、前記移動手段は、当該特定のテナントでない他のテナントの印刷装置情報を移動させないことを特徴とする請求項１乃至３の何れか１項に記載のシステム管理サーバ。
【請求項５】
前記特定のテナントの印刷装置情報を分割し、移動させる際に、新規にサーバを立ち上げる場合、前記決定手段は、当該サーバの数が最小になるように移動先のサーバを決定することを特徴とする請求項１乃至４の何れか１項に記載のシステム管理サーバ。
【請求項６】
テナントの印刷装置情報を複数のサーバに割り当てて、分散管理する印刷システムにおけるシステム管理サーバで実行される管理方法であって、
検索手段が、特定のテナントの印刷装置情報を分割し、移動させる際に、当該特定のテナントを管理するサーバを前記複数のサーバから検索する検索工程と、
決定手段が、前記検索工程において検索されたサーバが前記分割された印刷装置情報を格納できる場合に、当該サーバを移動先のサーバに決定する決定工程と、
移動手段が、前記決定工程において決定された移動先のサーバに前記分割された印刷装置情報を移動させる移動工程と、
を有し、
前記移動工程において、移動元のサーバに前記特定のテナントとは別のテナントの印刷装置情報が同居している場合、前記特定のテナントの印刷装置情報のすべてを前記移動先のサーバへの移動対象とすることを特徴とする管理方法。
【請求項７】
コンピュータを、請求項１乃至５の何れか１項に記載のシステム管理サーバの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テナントの印刷文書情報及び印刷装置情報を複数のサーバに割り当てて分散管理する印刷システムにおけるシステム管理サーバ、管理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、印刷を目的とする文書データと印刷先のプリンタとを管理する印刷文書管理システムが知られている。印刷文書管理システムは、ユーザアプリケーションや別の文書管理システムから文書データを受け取り、印刷文書情報を作成し、文書データに紐づけて保持する。そして、印刷文書管理システムは、ユーザからの印刷実行リクエストに従い、印刷処理を実行し、印刷処理の結果を印刷文書の情報に反映する。
【０００３】
近年、インターネットの普及とネットワークの高速化により、従来ソフトウェアで提供されていた機能が、インターネット上のサービスとして提供されるケースが増えている。このようなサービスのバックエンドとして印刷文書管理システムも利用されている。尚、インターネット上でサービスを提供する場合、複数のテナント（企業などの契約の単位）に対してサービスを提供する必要がある。
【０００４】
複数のテナントに対してサービスを提供する場合のデータ管理方法としては、テナント毎にデータベースの領域を分けるのが一般的である。このテナント毎に異なるデータ領域を有するデータベースにアクセスするアプリケーションの開発を簡便化させることのできるデータアクセス制御方法として、特許文献１が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０２６６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、インターネット上のサービスのバックエンドとしての印刷文書管理システムは、イントラネットとは比較にならない大規模のユーザ数や印刷文書の数、プリンタ数を扱わなければならない。そのため、複数のサーバでクラスタリングすることが可能な構成である必要がある。また、ユーザの数や印刷文書の数、プリンタの数が増加しても、サーバの台数を増やすことによって対応（スケールアウト）が可能な構成である必要もある。このような構成を実現する方法としては、コンシステントハッシングと呼ばれる分散データ技術がある。
【０００７】
しかしながら、テナント毎にシステム（サーバ）を分けてしまうと、小規模のテナントにサービスを提供するシステム（サーバ）の稼働率が低くなり、サービス全体として運用コストが高くついてしまうという問題がある。一方、複数のテナントに対して単一のシステムで印刷サービスを提供する場合、テナントを意識せずにデータを分散してしまうと、テナント単位の処理（例えば、スケールアウト）にコストがかかるという問題がある。
【０００８】
本発明は、サービス全体の運用コストを抑えつつ、テナント単位の処理を容易に行える方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、テナントの印刷装置情報を複数のサーバに割り当てて分散管理する印刷システムにおけるシステム管理サーバであって、
特定のテナントの印刷装置情報を分割し、移動させる際に、当該特定のテナントを管理するサーバを前記複数のサーバから検索する検索手段と、
前記検索手段で検索されたサーバが前記分割された印刷装置情報を格納できる場合、当該サーバを移動先のサーバに決定する決定手段と、
前記決定手段で決定された移動先のサーバに前記分割された印刷装置情報を移動させる移動手段と、
を有し、
前記移動手段は、移動元のサーバに前記特定のテナントとは別のテナントの印刷装置情報が同居している場合、前記特定のテナントの印刷装置情報のすべてを前記移動先のサーバへの移動対象とすることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、サービス全体の運用コストを抑えつつ、テナント単位の処理を容易に行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】印刷文書管理システムの全体構成を示す図。
【図２】クライアント端末と各サーバのハードウェア構成を示す図。
【図３】（Ａ）は認証サーバのソフトウェア構成を示す図、（Ｂ）は印刷システム管理サーバのソフトウェア構成を示す図。
【図４】（Ａ）は印刷要求受付サーバのソフトウェア構成を示す図、（Ｂ）は印刷文書管理サーバのソフトウェア構成を示す図。
【図５】（Ａ）は印刷装置管理サーバのソフトウェア構成を示す図、（Ｂ）は印刷文書データ保存サーバの構成を示す図。
【図６】（Ａ）は認証サーバが保持するユーザ情報を示す図、（Ｂ）は印刷システム管理サーバが保持する印刷文書割当情報と、印刷装置割当情報を示す図。
【図７】印刷文書管理サーバが保持する印刷文書情報を示す図。
【図８】印刷装置管理サーバが保持する印刷装置情報を示す図。
【図９】（Ａ）は複数のサーバで分散管理される仕組みをイメージで示す図、（Ｂ）は割当情報（データベースリスト）で表した図。
【図１０】印刷文書情報又は印刷装置情報がテナント毎に複数のサーバで分散管理される仕組みをイメージで示す図。
【図１１】分散管理のイメージを割当情報（データベースリスト）で表す図。
【図１２】クライアント端末から印刷リクエストを受けて印刷を行う処理を示す図。
【図１３】印刷要求受付サーバが行う処理を示すフローチャート。
【図１４】印刷文書管理サーバの処理を示すフローチャート。
【図１５】印刷装置管理サーバの処理を示すフローチャート。
【図１６】プリンタで印刷が完了したことを検知した印刷装置管理サーバの処理を示すフローチャート。
【図１７】印刷装置管理サーバから印刷完了通知を受信した印刷文書管理サーバの処理を示すフローチャート。
【図１８】スケールアウトの指示を行うユーザインタフェースを示す図。
【図１９】スケールアウト要求を受けた印刷システム管理サーバでの処理を示すフローチャート。
【図２０】スケールアウト要求を受けた印刷システム管理サーバでの処理を示すフローチャート。
【図２１】スケールアウト要求を受けた印刷システム管理サーバでの処理を示すフローチャート。
【図２２】（Ａ）はテナントのスケールアウトにおいてデータベースを分割する処理のイメージを表す図、（Ｂ）はテナントのスケールアウトにおいて分割されたデータベースを移動する処理のイメージを表す図。
【図２３】図２２の（Ｂ）のように分割されたデータベースを移動する処理のイメージを図６の（Ｂ）の割当情報（データベースリスト）で表す図。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。まず、本発明の前提となる印刷文書管理システムを図１に示す印刷文書管理システムの全体構成図を用いて説明する。
【００１３】
図１に示すように、印刷文書管理システムには、複数のクライアント端末１０１、複数のプリンタ１０２、認証サーバ１０３、印刷システム管理サーバ１０４が含まれる。更には、印刷要求受付サーバ１０５、複数の印刷文書管理サーバ１０６、複数の印刷装置管理サーバ１０７、印刷文書データ保存サーバ１０８が含まれる。
【００１４】
尚、印刷文書管理システムに含まれる端末、プリンタ、サーバは、不図示の通信回線を介して接続されている。通信回線は、インターネットやイントラネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等の何れか又はこれらの組み合わせで実現される、所謂通信ネットワークである。また通信回線は、データの送受信が可能であればよく、クライアント端末１０１、プリンタ１０２、及び各サーバ間の通信プロトコルが異なっていてもよい。
【００１５】
クライアント端末１０１は、例えばデスクトップパソコン、ノートパソコン、モバイルパソコン、ＰＤＡ（パーソナルデータアシスタント）等であるが、プログラムの実行環境が内蔵された携帯電話であってもよい。プリンタ１０２は、ネットワークに接続が可能なプリンタ（例えば、レーザビームプリンタ等）である。
【００１６】
認証サーバ１０３は、ＬＤＡＰなどのプロトコルをサポートし、ディレクトリサービスを提供するサーバであり、本システムにおけるユーザ情報を管理する。認証サーバ１０３は、クライアント端末１０１からのリクエストを受けてユーザ認証を行う。
【００１７】
印刷システム管理サーバ１０４は、本システム全体を管理するサーバである。そして、印刷文書管理サーバ１０６と印刷文書情報の割当情報、印刷装置管理サーバ１０７と印刷装置の割当情報を管理する。印刷要求受付サーバ１０５は、クライアント端末１０１からの印刷リクエストを受信し、レスポンスを返す。
【００１８】
印刷文書管理サーバ１０６は、印刷文書データ保存サーバ１０８に保存された印刷文書データの状態を管理する。印刷装置管理サーバ１０７は、印刷リクエストを受けて、印刷文書データ保存サーバ１０８に保存された印刷文書データを読み出し、プリンタ１０２が解釈可能な形式に変換して送信する。また、プリンタ１０２の印刷ジョブを監視し、印刷が完了するまで印刷ジョブを追跡する。
【００１９】
印刷文書データ保存サーバ１０８は、ＳＭＢなどのファイル共有プロトコルに対応したファイルサーバ、ＳＡＮやＮＡＳなど、ネットワークに直接、接続することが可能なストレージで印刷文書情報に紐づく印刷文書データを保持する。ここでＳＡＮは、ストレージエリアネットワーク、ＮＡＳはネットワークアタッチドストレージの略である。
【００２０】
次に、クライアント端末１０１、認証サーバ１０３、印刷システム管理サーバ１０４、印刷要求受付サーバ１０５、印刷文書管理サーバ１０６、印刷装置管理サーバ１０７、印刷文書データ保存サーバ１０８の構成を、図２を用いて説明する。図２は、これらの基本的なハードウェア構成を示すブロック図である。
【００２１】
図２において、ＣＰＵ２１、ＲＡＭ２２、ＬＡＮアダプタ２４、ビデオアダプタ２５、入力部（キーボード）２６、入力部（マウス）２７、ハードディスク２８、ＣＤ−ＲＯＭドライブ２９は、システムバス２０を介して互いに接続されている。システムバス２０は、例えばＰＣＩバス、ＡＧＰバス、及びメモリバス等からなる。尚、図２では、各バス間の接続用チップやキーボードインタフェース、所謂ＳＣＳＩやＡＴＡＰＩのような入出力用インタフェースは省略している。
【００２２】
ＣＰＵ２１は、オペレーションシステムのプログラムやアプリケーションプログラムに基づく四則演算、比較演算等の各種の演算やハードウェアの制御を行う。ＲＡＭ２２には、ハードディスク２８やＣＤ−ＲＯＭドライブ２９に装着されたＣＤ−ＲＯＭやＣＤ−Ｒ等の記憶媒体から読み出されたオペレーションシステムのプログラムや、アプリケーションプログラム等が記憶されている。これらのプログラムはＣＰＵ２１により実行される。
【００２３】
ＲＯＭ２３には、オペレーションシステムと協働してハードディスク２８等へのデータの入出力を制御する、所謂、BIOS等が記憶される。ＬＡＮアダプタ２４は、ＣＰＵ２１によって制御されるオペレーションシステムの通信プログラムと協働してネットワークを介して接続された外部装置との通信を制御する。ビデオアダプタ２５は、ディスプレイ装置に出力する画像信号を生成する。キーボード２６やマウス２７は、クライアント端末１０１への指示を入力するために用いられる。
【００２４】
ハードディスク２８は、オペレーティングシステムやアプリケーションプログラム（例えば、印刷文書管理システムプログラム等）を記憶している。ＣＤ−ＲＯＭドライブ２９は、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ等の記憶媒体を装着してアプリケーションプログラムをハードディスク２８にインストールするのに用いられる。尚、ＣＤ−Ｒドライブ、ＣＤ−Ｒ／Ｗドライブ、ＤＶＤドライブ等を用いてもよいのは言うまでもない。
【００２５】
図３〜図５は、本システムを構成するサーバのソフトウェア構成を示す図である。尚、図３の（Ａ）は、認証サーバ１０３のソフトウェア構成を示す図である。この認証サーバ１０３は、ユーザ情報３０２を保持する。そして、クライアント端末１０１から認証リクエストを受け付け、ユーザ情報３０２に従って認証を行う認証部３０１を備える。
【００２６】
また、図３の（Ｂ）は、印刷システム管理サーバ１０４のソフトウェア構成を示す図である。印刷システム管理サーバ１０４は、印刷文書管理サーバ１０６と印刷文書情報の割当を示す印刷文書割当情報３１５と、印刷装置管理サーバ１０７と印刷装置の割当を示す印刷装置割当情報３１６を保持する。印刷文書割当情報３１５と印刷装置割当情報３１６を管理する割当情報管理部３１１を備える。テナントをスケールアウト（データベースの分割と移動）する際に、テナント毎に、スケールアウト要求を受け付けるスケールアウト要求受付部３１７を備える。スケールアウトを実行する際に、移動するデータベースを決定する移動データベース決定部３１２、データベースの移動先のサーバを決定するデータベース移動先決定部３１３、データベースの移動を実行するデータベース移動実行部３１４を備える。
【００２７】
図４の（Ａ）は、印刷要求受付サーバ１０５のソフトウェア構成を示す図である。印刷要求受付サーバ１０５は、印刷システム管理サーバ１０４から取得した印刷文書割当情報（キャッシュ）４０６を保持する。印刷システム管理サーバ１０４から印刷文書割当情報を取得する割当情報取得部４０１を備える。クライアント端末１０１から印刷要求を受け付ける印刷要求受付部４０２、認証サーバ１０３からテナント識別子を取得するテナント識別子取得部４０３を備える。印刷文書割当情報（キャッシュ）４０６に従って、印刷文書管理サーバ１０６を特定する印刷文書管理サーバ特定部４０４、印刷文書管理サーバ１０６に印刷要求を送信する印刷要求送信部４０５を備える。
【００２８】
図４の（Ｂ）は、印刷文書管理サーバ１０６のソフトウェア構成を示す図である。印刷文書管理サーバ１０６は、印刷文書データ保存サーバ１０８に保存された印刷文書データの状態を管理する印刷文書情報４１７を保持する。印刷システム管理サーバ１０４から取得した印刷装置割当情報（キャッシュ）４１８と印刷文書割当情報（キャッシュ）４１９を保持する。印刷文書情報４１７を管理する印刷文書管理部４１１を備える。印刷システム管理サーバ１０４から印刷装置割当情報を取得する割当情報取得部４１２を備える。印刷要求受付サーバ１０５から印刷要求を受信する印刷要求受信部４１３を備える。印刷装置割当情報（キャッシュ）４１８に従って、印刷装置管理サーバ１０７を特定する印刷装置管理サーバ特定部４１４、印刷装置管理サーバ１０７に印刷要求を送信する印刷要求送信部４１５を備える。印刷装置管理サーバ１０７から印刷完了通知を受信する印刷完了通知受信部４２０を備える。印刷システム管理サーバ１０４からの指示に従って、データベースを分割するデータベース分割部４１６を備える。
【００２９】
図５の（Ａ）は、印刷装置管理サーバ１０７のソフトウェア構成を示す図である。印刷装置管理サーバ１０７は、プリンタ１０２を管理する印刷装置情報５０８を保持する。印刷システム管理サーバ１０４から取得した印刷文書割当情報（キャッシュ）５０９と印刷装置割当情報（キャッシュ）５１０を保持する。印刷装置情報５０８を管理する印刷装置管理部５０１を備える。印刷システム管理サーバ１０４から印刷文書割当情報を取得する割当情報取得部５０２を備える。印刷文書管理サーバ１０６から印刷要求を受信する印刷要求受信部５０３を備える。印刷文書割当情報（キャッシュ）５０９に従って、印刷文書管理サーバ１０６を特定する印刷文書管理サーバ特定部５０４、印刷文書管理サーバ１０６に印刷結果を通知する印刷結果通知部５０６を備える。印刷システム管理サーバ１０４からの指示に従って、データベースを分割するデータベース分割部５０７を備える。図５の（Ｂ）は、印刷文書データ保存サーバ１０８の構成を示す図である。印刷文書データ保存サーバ１０８は、印刷文書データ５１１を保持する。
【００３０】
ここで、本システムを構成するサーバが保持する情報を、図６〜図８を用いて説明する。図６の（Ａ）は、認証サーバ１０３が保持するユーザ情報３０２を示す図である。ユーザ情報３０２は、ユーザリスト６０１を含む。ユーザリスト６０１は、ユーザ毎のユーザＩＤ、パスワード、テナントＩＤを含むユーザ個別情報６０２のリストを含む。
【００３１】
図６の（Ｂ）は、印刷システム管理サーバ１０４が保持する印刷文書割当情報３１５と、印刷装置割当情報３１６を示す図である。印刷文書割当情報３１５と印刷装置割当情報３１６は同じ構成であり、総称して割当情報と呼ぶ。また同様に、印刷要求受付サーバ１０５が保持する印刷文書割当情報（キャッシュ）４０６、印刷文書管理サーバ１０６が保持する印刷装置割当情報（キャッシュ）４１８、印刷装置管理サーバ１０７が保持する印刷文書割当情報（キャッシュ）５０９を示す。
【００３２】
ここで割当情報は、テナントリスト６１１を含む。テナントリスト６１１は、テナント毎のテナントＩＤ、データベースリストを含むテナント個別情報６１２のリストを含む。データベストリストは、データベース毎のデータベース名、整数値、サーバＩＰアドレス、更新不可フラグを含むデータベース個別情報６１３のリストを含む。
【００３３】
図７は、印刷文書管理サーバ１０６が保持する印刷文書情報４１７を示す図である。印刷文書情報４１７は、テナントリスト７０１を含む。テナントリスト７０１は、テナント毎のテナントＩＤ、データベースリストを含むテナント個別情報７０２のリストを含む。データベストリストは、データベース毎のデータベース名、オーナーリストを含むデータベース個別情報７０３のリストを含む。オーナーリストは、オーナーＩＤ、印刷文書リストを含むオーナー個別情報７０４のリストを含む。印刷文書リストは、印刷文書ＩＤ、ドキュメント名、受付日時、ページ数、印刷回数、ステータスを含む印刷文書個別情報７０５のリストを含む。
【００３４】
図８は、印刷装置管理サーバ１０７が保持する印刷装置情報５０８を示す図である。印刷装置情報５０８は、テナントリスト８０１を含む。テナントリスト８０１は、テナント毎のテナントＩＤ、データベースリストを含むテナント個別情報８０２のリストを含む。データベストリストは、データベース毎のデータベース名、プリンタリストを含むデータベース個別情報８０３のリストを含む。プリンタリストは、プリンタ名、モデル名、ＩＰアドレス、ステータス、印刷ジョブリストを含む印刷装置個別情報８０４のリストを含む。
【００３５】
次に、印刷文書情報又は印刷装置情報が、本システムにおいて分散管理される仕組みを、図９〜図１１を用いて説明する。図９の（Ａ）は、印刷文書情報又は印刷装置情報が、複数のサーバで分散管理される仕組みをイメージで示す図である。整数値の空間において、最大値の次の値が０となるようなリング９０１を表している。また、リング９０１上の整数値に紐づけられたデータベース９０２〜９０７を表している。リング９０１上の整数値は、リングを時計回りにたどって最初に行き当たったデータベースに割り当てられる。ここでリング９０１上の整数値９０８は、リングを時計回りにたどって最初に行き当たるデータベース９０３に割り当てられる。
【００３６】
本システムにおいて、印刷文書情報の場合は、印刷文書のオーナーのＩＤから計算したハッシュ値を、リング９０１上の整数値として割り当てるデータベースを決定する。印刷装置情報の場合は、印刷装置のプリンタ名から計算したハッシュ値を、リング９０１上の整数値として割り当てるデータベースを決定する。
【００３７】
図９の（Ｂ）は、（Ａ）の分散管理のイメージを、図６の（Ｂ）の割当情報（データベースリスト）で表した図である。データベースは、データベースを識別するためのデータベース名と、図９の（Ａ）のようなリング９０１上の整数値を属性として持つ。例えば、印刷文書のオーナーのＩＤから計算したハッシュ値が、データベース「Ａ−１」の整数値０と、データベース「Ａ−２」の整数値357913941の間の値であれば、印刷文書情報は、データベース「Ａ−２」に格納される。ハッシュ値が、データベース「Ａ−２」の整数値と、データベース「Ａ−３」の整数値の間の値であれば、データベース「Ａ−３」に格納される。ハッシュ値が、データベース「Ａ−６」の整数値1789569705より大きな値の場合は、データベース「Ａ−１」に格納される。また、データベースは、データベースが割り当てられたサーバのＩＰアドレスを属性として持つ。
【００３８】
本システムにおいて、サーバは、一つ以上のデータベースを保持する。印刷文書情報は、印刷文書管理サーバ１０６が保持するデータベースに格納され、印刷装置情報は、印刷装置管理サーバ１０７が保持するデータベースに格納される。
【００３９】
図１０は、印刷文書情報又は印刷装置情報が、テナント毎に複数のサーバで分散管理される仕組みをイメージで示す図である。図９の（Ａ）のリング９０１がテナントＡ社１００１、Ｂ社１００２、Ｃ社１００３毎に存在することを示している。また、各テナントのリング上の整数値に紐づけられたデータベース１００４〜１００６、１００７〜１００８、１００９を表している。テナントの規模によって、テナント毎のデータベースの数は異なる。テナントの規模が大きいほど、データベースの数は多くなる。また、データベースを保持するサーバ１０１１〜１０１３を示す。この例では、３つのテナントのデータベースが、３台の印刷文書管理サーバに分散して管理されている。この例で示すように、テナントのデータベースは、１台のサーバで保持されるとは限らない（Ａ社のデータベースはサーバ１とサーバ３で保持されている）。また、１台のサーバが一つのテナントのデータベースを保持するとは限らない（サーバ３は、Ａ社とＣ社のデータベースを保持している）。
【００４０】
図１１は、図１０の分散管理のイメージを、図６の（Ｂ）の割当情報（データベースリスト）で表す図である。それぞれＡ社、Ｂ社、Ｃ社の割当情報（データベースリスト）１１０１、１１０２、１１０３を示す。
【００４１】
次に、印刷文書管理システムにおいて、クライアント端末１０１から印刷リクエストを受けて印刷処理を行う処理の流れを、図１２を用いて説明する。まず、クライアント端末１０１が、ユーザからのユーザＩＤ、パスワードの入力を受け付けて認証サーバ１０３にユーザ認証リクエストを送信する（１２０１）。認証サーバ１０３は、ユーザ認証に成功すると、クライアント端末１０１にセッションＩＤを返す。クライアント端末１０１は、ユーザからの指示により、印刷要求受付サーバ１０５に認証サーバ１０３から受け取ったセッションＩＤと印刷リクエストを送信する（１２０２）。ここで、印刷リクエストには、印刷文書を識別するＩＤ、印刷文書のオーナーを識別するＩＤ及び印刷先のプリンタ名が含まれる。
【００４２】
一方、印刷リクエストを受け付けた印刷要求受付サーバ１０５は、認証サーバ１０３にセッションＩＤを送信し（１２０３）、印刷を要求したユーザの所属するテナントＩＤを取得する。印刷要求受付サーバ１０５は、認証サーバ１０３から取得したテナントＩＤと印刷リクエストに含まれる印刷文書のオーナーＩＤから印刷文書割当情報４１９に従って印刷文書管理サーバ１０６を特定する。特定された印刷文書管理サーバ１０６にテナントＩＤと印刷リクエストを送信する（１２０４）。印刷リクエストを受信した印刷文書管理サーバ１０６は、テナントＩＤと印刷リクエストに含まれるプリンタ名から印刷装置割当情報４１８に従って特定された印刷装置管理サーバ１０７にテナントＩＤと印刷リクエストを送信する（１２０５）。
【００４３】
ここで印刷リクエストの送信に成功すると、印刷文書管理サーバ１０６は、印刷文書の状態を「印刷中」に変更する。印刷リクエストを受信した印刷装置管理サーバ１０７は、印刷リクエストに含まれる印刷文書ＩＤに紐づく印刷文書データを印刷文書データ保存サーバ１０８から取得する（１２０６）。そして、印刷文書データをプリンタ１０２が解釈できる形式に変換し、プリンタ１０２に送信する（１２０７）。
【００４４】
プリンタ１０２で印刷が完了すると、印刷装置管理サーバ１０７は、印刷リクエストに含まれる印刷文書のオーナーＩＤから、印刷文書割当情報４１９に従って特定された印刷文書管理サーバ１０６に、テナントＩＤと印刷完了通知を送信する（１２０８）。ここで印刷完了通知には、印刷文書ＩＤ、印刷文書のオーナーＩＤ、印刷結果が含まれる。印刷完了通知を受信した印刷文書管理サーバ１０６は、印刷文書の状態を「印刷済」に変更し、印刷回数をカウントアップする。
【００４５】
ここで、上述の印刷要求受付サーバ１０５、印刷文書管理サーバ１０６、印刷装置管理サーバ１０７が行う処理の流れ（図１２）を、図１３〜図１７を用いて説明する。図１３は、印刷要求受付サーバ１０５が行う処理の流れを示すフローチャートである。印刷要求受付サーバ１０５は、Ｓ１３０１で、クライアント端末１０１からセッションＩＤと印刷リクエストを受信し、Ｓ１３０２で、認証サーバ１０３にセッションＩＤを送信してテナントＩＤを取得する。Ｓ１３０３で、印刷要求受付サーバ１０５で保持する印刷文書割当情報（キャッシュ）４０６のテナントリスト６１１に、取得したテナントＩＤが含まれるか否かを判定する。判定の結果、テナントＩＤが含まれている場合はＳ１３０５へ処理を進めるが、テナントＩＤが含まれていない場合はＳ１３０４へ処理を進め、印刷システム管理サーバ１０４からテナントＩＤで識別されるテナントの印刷文書割当情報を取得する。
【００４６】
Ｓ１３０５で、テナントＩＤからテナント個別情報６１２を特定し、印刷リクエストに含まれる印刷文書のオーナーＩＤから計算したハッシュ値から印刷文書情報が格納されているデータベースのデータベース個別情報６１３を特定する。次に、Ｓ１３０６で、Ｓ１３０５で特定したデータベース個別情報６１３のサーバＩＰアドレスの印刷文書管理サーバ１０６に対して、印刷リクエストとテナントＩＤを送信する。Ｓ１３０７で、印刷文書管理サーバ１０６からのレスポンスを受信し、Ｓ１３０８で、そのレスポンスが割当情報エラーか否かを判断する。ここで、割当情報エラーと判断した場合は、印刷システム管理サーバ１０４が保持する印刷文書割当情報３１５が更新されている可能性がある。そのため、Ｓ１３０４に戻り、印刷システム管理サーバ１０４から、テナントＩＤで識別されるテナントの印刷文書割当情報を取得する。一方、印刷文書管理サーバ１０６からのレスポンスが割当情報エラーでないと判断した場合はＳ１３０９へ処理を進め、クライアント端末１０１に対してレスポンスを返す。
【００４７】
尚、Ｓ１３０１、Ｓ１３０９は、印刷要求受付サーバ１０５の印刷要求受付部４０２で実行される。また、Ｓ１３０２は、テナント識別子取得部４０３で実行される。また、Ｓ１３０３〜１３０４は、割当情報取得部４０１で実行される。また、Ｓ１３０５は、印刷文書管理サーバ特定部４０４で実行される。そして、Ｓ１３０７〜１３０８は、印刷要求送信部４０５で実行される。
【００４８】
図１４は、印刷文書管理サーバ１０６の処理の流れを示すフローチャートである。印刷文書管理サーバ１０６は、Ｓ１４０１で、印刷要求受付サーバ１０５からテナントＩＤと印刷リクエストを受信する。Ｓ１４０２で、印刷文書管理サーバ１０６で保持する印刷文書割当情報（キャッシュ）４１９を参照し、テナントＩＤからテナント個別情報６１２を特定する。具体的には、印刷リクエストに含まれる印刷文書のオーナーＩＤから計算したハッシュ値から印刷文書情報が格納されているデータベースのデータベース個別情報６１３を特定する。次に、Ｓ１４０３で、印刷文書管理サーバ１０６で保持する印刷文書情報４１７に、Ｓ１４０２で特定したデータベースが含まれるか否かを判定する。含まれていないと判定した場合はＳ１４１１へ処理を進め、割当情報エラーをレスポンスとして印刷要求受付サーバ１０５に返す。また、Ｓ１４０３で、特定したデータベースが含まれると判定した場合はＳ１４０４へ処理を進め、データベース個別情報６１３の更新不可フラグが設定されているか否かを判断する。判断の結果、不可フラグが設定されている場合は、スケールアウト中なので、Ｓ１４１２へ処理を進め、更新不可エラーをレスポンスとして印刷要求受付サーバ１０５に返す。
【００４９】
一方、Ｓ１４０４で、更新不可フラグが設定されていないと判断した場合はＳ１４０５へ処理を進める。Ｓ１４０５では、印刷文書管理サーバ１０６で保持する印刷装置割当情報（キャッシュ）４１８のテナントリスト６１１に、印刷要求受付サーバ１０５から受信したテナントＩＤが含まれるか否かを判断する。判断の結果、テナントＩＤが含まれている場合はＳ１４０７へ処理を進めるが、テナントＩＤが含まれていない場合はＳ１４０６へ処理を進め、印刷システム管理サーバ１０４からテナントＩＤで識別されるテナントの印刷装置割当情報を取得する。
【００５０】
Ｓ１４０７で、テナントＩＤからテナント個別情報６１２を特定し、印刷リクエストに含まれるプリンタ名から計算したハッシュ値から、印刷装置情報が格納されているデータベースのデータベース個別情報６１３を特定する。Ｓ１４０８で、Ｓ１４０７で特定したデータベース個別情報６１３のサーバＩＰアドレスの印刷装置管理サーバ１０７に対して印刷リクエストとテナントＩＤを送信する。Ｓ１４０９で、印刷装置管理サーバ１０７からのレスポンスを受信し、Ｓ１４１０で、レスポンスが割当情報エラーか否かを判定する。ここで、割当情報エラーと判断した場合は、印刷システム管理サーバ１０４が保持する印刷文書割当情報３１５が更新されている可能性がある。そのため、Ｓ１４０６に戻り、印刷システム管理サーバ１０４から、テナントＩＤで識別されるテナントの印刷文書割当情報を取得する。一方、印刷装置管理サーバ１０７からのレスポンスが割当情報エラーでないと判定した場合はＳ１４１３へ処理を進め、印刷リクエストに含まれる印刷文書ＩＤで識別される印刷文書個別情報７０５のステータスを「印刷中」に変更する。Ｓ１４１４で、印刷要求受付サーバ１０５に対してレスポンスを返す。
【００５１】
尚、上述のＳ１４０１〜Ｓ１４０４、Ｓ１４１１、Ｓ１４１２、Ｓ１４１４は、印刷文書管理サーバ１０６の印刷要求受信部４１３で実行される。また、Ｓ１４０５〜Ｓ１４０６は、割当情報取得部４１２で実行される。また、Ｓ１４０７は、印刷装置管理サーバ特定部４１４で実行される。また、Ｓ１４０８〜Ｓ１４１０は、印刷要求送信部４１５で実行される。そして、Ｓ１４１３は、印刷文書管理部４１１で実行される。
【００５２】
図１４の処理の流れにおいて、Ｓ１４０６で、印刷要求受付サーバ１０５から受信したテナントＩＤで識別されるテナントの印刷装置割当情報を取得している。しかし、印刷要求を受け付けたタイミングとは別に、印刷システム管理サーバ１０４から、印刷装置割当情報を取得するようにしてもよい。その場合、割当情報取得部４１２が、印刷文書管理部４１１で管理する印刷文書情報のテナントＩＤで識別されるテナントの印刷装置割当情報を取得する。
【００５３】
図１５は、印刷装置管理サーバ１０７の処理の流れを示すフローチャートである。印刷装置管理サーバ１０７は、Ｓ１５０１で印刷文書管理サーバ１０６からテナントＩＤと印刷リクエストを受信する。Ｓ１５０２で、印刷装置管理サーバ１０７で保持する印刷装置割当情報（キャッシュ）５１０を参照し、テナントＩＤからテナント個別情報６１２を特定する。印刷リクエストに含まれるプリンタ名から計算したハッシュ値から印刷装置情報が格納されているデータベースのデータベース個別情報６１３を特定する。Ｓ１５０３で、印刷装置管理サーバ１０７で保持される印刷装置情報５０８に、Ｓ１５０２で特定したデータベースが含まれるか否かを判断する。含まれていないと判断した場合はＳ１５０８へ処理を進め、割当情報エラーをレスポンスとして印刷文書管理サーバ１０６に返す。
【００５４】
一方、Ｓ１５０３で、Ｓ１５０２で特定したデータベースが含まれると判断した場合はＳ１５０４へ処理を進める。このＳ１５０４で、データベース個別情報６１３の更新不可フラグが設定されているかどうかを判定する。ここで、更新不可フラグが設定されていると判定した場合は、スケールアウト中なので、Ｓ１５０７へ処理を進め、更新不可エラーをレスポンスとして印刷文書管理サーバ１０６に返す。また、更新不可フラグが設定されていないと判定した場合はＳ１５０５へ処理を進め、印刷ジョブを作成する。印刷ジョブには、印刷リクエストに含まれるテナントＩＤ、印刷文書のオーナーＩＤ、印刷文書ＩＤを保存する。そして、Ｓ１５０６で、印刷文書管理サーバ１０６にレスポンスを返す。
【００５５】
尚、上述のＳ１５０１〜Ｓ１５０４、Ｓ１５０６、Ｓ１５０７、Ｓ１５０８は、印刷装置管理サーバ１０７の印刷要求受信部５０３で実行される。また、Ｓ１５０５は、印刷処理部で実行される。
【００５６】
図１６は、プリンタ１０２で印刷が完了したことを検知した印刷装置管理サーバ１０７の処理の流れを示すフローチャートである。Ｓ１６０１で、印刷装置管理サーバ１０７が保持する印刷文書割当情報（キャッシュ）５０９のテナントリスト６１１に、印刷ジョブのテナントＩＤが含まれているか否かを判断する。ここで、テナントＩＤが含まれていると判断した場合はＳ１６０３へ処理を進めるが、テナントＩＤが含まれていないと判断した場合はＳ１６０２へ処理を進める。このＳ１６０２で、印刷システム管理サーバ１０４から、テナントＩＤで識別されるテナントの印刷文書割当情報を取得する。
【００５７】
Ｓ１６０３で、テナントＩＤからテナント個別情報６１２を特定し、印刷ジョブに含まれる印刷文書のオーナーＩＤから計算したハッシュ値から印刷文書情報が格納されているデータベースのデータベース個別情報６１３を特定する。Ｓ１６０４では、Ｓ１６０３で特定したデータベース個別情報６１３のサーバＩＰアドレスの印刷文書管理サーバ１０６に対して印刷完了通知とテナントＩＤを送信する。そして、Ｓ１６０５で、印刷文書管理サーバ１０６からのレスポンスを受信し、Ｓ１６０６で、レスポンスが割当情報エラーか否かを判断する。ここで、割当情報エラーと判断された場合は、印刷システム管理サーバ１０４が保持する印刷文書割当情報３１５が更新されている可能性がある。そのため、Ｓ１６０２に戻り、印刷システム管理サーバ１０４から、テナントＩＤで識別されるテナントの印刷文書割当情報を取得する。
【００５８】
一方、Ｓ１６０６で、印刷文書管理サーバ１０６からのレスポンスが割当情報エラーでないと判断された場合はＳ１６０７へ処理を進め、レスポンスが更新不可エラーか否かを判断する。ここで、更新不可エラーと判断した場合はＳ１６０４に戻り、再度、印刷完了通知とテナントＩＤを送信する。また、Ｓ１６０７で、更新不可エラーと判断されなかった場合はＳ１６０８へ処理を進め、印刷ジョブを削除する。
【００５９】
尚、上述のＳ１６０１〜Ｓ１６０２は、印刷装置管理サーバ１０７の割当情報取得部５０２で実行される。また、Ｓ１６０３は、印刷文書管理サーバ特定部５０４で実行される。また、Ｓ１６０４〜Ｓ１６０７は、印刷結果通知部５０６で実行される。また、Ｓ１６０８は、印刷処理部５０５で実行される。
【００６０】
図１６の処理の流れにおいて、Ｓ１６０２で、印刷ジョブのテナントＩＤで識別されるテナントの印刷文書割当情報を取得している。しかし、印刷完了を検知したタイミングとは別に、印刷システム管理サーバ１０４から、印刷文書割当情報を取得するようにしてもよい。その場合、割当情報取得部５０２が印刷装置管理部５０１で管理する印刷装置情報のテナントＩＤで識別されるテナントの印刷装置割当情報を取得する。
【００６１】
図１７は、印刷装置管理サーバ１０７から印刷完了通知を受信した印刷文書管理サーバ１０６の処理の流れを示すフローチャートである。印刷文書管理サーバ１０６は、Ｓ１７０１で、印刷装置管理サーバ１０７からテナントＩＤと印刷完了通知を受信する。Ｓ１７０２で、印刷文書管理サーバ１０６で保持する印刷文書割当情報（キャッシュ）４１９を参照し、テナントＩＤからテナント個別情報６１２を特定する。具体的には、印刷結果の通知に含まれる印刷文書のオーナーＩＤから計算したハッシュ値から印刷文書情報が格納されているデータベースのデータベース個別情報６１３を特定する。
【００６２】
Ｓ１７０３で、印刷文書管理サーバ１０６で保持する印刷文書情報４１７に、Ｓ１７０２で特定したデータベースが含まれるか否かを判断する。ここで、含まれないと判断した場合はＳ１７０８へ処理を進め、割当情報エラーをレスポンスとして印刷装置管理サーバ１０７に返す。しかし、Ｓ１７０２で特定したデータベースが含まれると判断した場合はＳ１７０４へ処理を進め、データベース個別情報６１３の更新不可フラグが設定されているか否かを判定する。ここで、更新不可フラグが設定されていると判定した場合、スケールアウト中なので、Ｓ１７０７へ処理を進め、更新不可エラーをレスポンスとして印刷装置管理サーバ１０７に返す。また、更新不可フラグが設定されていないと判定した場合はＳ１７０５へ処理を進め、印刷完了通知に含まれる印刷文書ＩＤで識別される印刷文書個別情報７０５のステータスを「印刷済」に変更する。そして、Ｓ１７０６で、印刷文書管理サーバ１０６にレスポンスを返す。
【００６３】
尚、上述のＳ１７０１〜Ｓ１７０４、Ｓ１７０６、Ｓ１７０７、Ｓ１７０８は、印刷装置管理サーバ１０７の印刷完了通知受信部４２０で実行される。また、Ｓ１７０５は、印刷文書管理部４１１で実行される。
【００６４】
次に、印刷文書管理システムにおいて、テナントを指定してスケールアウトを行う場合の処理を、図１８〜図２３を用いて説明する。スケールアウトが印刷システム管理サーバ１０４に指示されると、印刷システム管理サーバ１０４は、印刷文書管理サーバ１０６と印刷装置管理サーバ１０７が保持するデータベースを移動する。データベースを移動する際に、一時的に、データベースの更新を不可にする必要があるが、スケールアウトを実行するテナント以外のテナントに対するサービスは停止しないようにする必要がある。そのため、スケールアウトを実行するテナントのデータベースのみを移動する。ただし、テナントのデータベースが、たくさんのサーバに散らばってしまうと、テナント単位の処理を行う際の処理コストが高くついてしまう。そこで、同一のテナントを管理するサーバの数は、スケールアウト後も最小にする必要がある。
【００６５】
図１８は、印刷システム管理サーバ１０４にスケールアウトの指示を行うユーザインタフェースを示す図である。このユーザインタフェース画面１８０１は、スケールアウトを実行するテナントを選択するリストボックス１８０２と、スケールアウト後に想定されるユーザ数、プリンタ数を入力するエディットボックス１８０３、１８０４とを含む。印刷システム管理サーバ１０４は、エディットボックス１８０３、１８０４に入力された値に基づき、印刷文書情報、印刷装置情報のデータベースの数を決定し、既存のデータベースを分割、移動する。更に、このユーザインタフェース画面１８０１は、キャンセルボタン１８０５、ＯＫボタン１８０６を含み、ＯＫボタン１８０６が押されると、印刷システム管理サーバ１０４にスケールアウト要求が送信される。そして、スケールアウト要求には、スケールアウトを指示するユーザインタフェース画面１８０１によって入力された値が含まれる。
【００６６】
図１９〜図２１は、スケールアウト要求を受けた印刷システム管理サーバ１０４の処理の流れを示すフローチャートである。Ｓ１９０１で、スケールアウトの要求を受信する。スケールアウト要求には、ユーザインタフェース画面１８０１で指定されたユーザ数の値１８０２、プリンタ数の値１８０３が含まれる。Ｓ１９０２では、スケールアウト要求に含まれる値に従って印刷文書情報、印刷装置情報のデータベースの分割数を決定し、分割するデータベースを決定する。ここでは、ユーザ数が多ければ多いほど、印刷文書情報のデータベースの分割数を多くする。また、プリンタ数が多ければ多いほど、印刷装置情報のデータベースの分割数を多くする。
【００６７】
次に、Ｓ１９０３で、データベースを分割したことにより、保持するデータベース数の上限を超えてしまったサーバを検索する。そして、Ｓ１９０４で、上限を超えたサーバが見つかったと判断した場合はＳ１９０５へ処理を進め、上限を超えたサーバに、スケールアウト対象のテナント以外のテナントのデータベースが同居しているか否かを判定する。他のテナントのデータベースが同居していないと判定した場合はＳ１９０７へ処理を進め、スケールアウト対象のテナントのデータベースを全て移動対象に追加し、Ｓ１９０３に戻る。
【００６８】
一方、他のテナントのデータベースが同居していると判断した場合はＳ１９０６へ処理を進め、サーバの保持するデータベース数の上限を超えた分だけデータベースを移動対象に追加し、Ｓ１９０３に戻る。そして、Ｓ１９０４で、上限を超えたサーバが見つからなくなるまで、上述の処理を繰り返す。
【００６９】
また、上述のＳ１９０４で、上限を超えたサーバが見つからなかった場合はＳ２００１（図２０）へ処理を進め、移動対象のデータベースが全て格納できる（データベース数の上限を超えない）サーバを検索する。そして、Ｓ２００２で、サーバが見つかった場合はＳ２００３へ処理を進める。しかし、移動対象のデータベースが格納できるサーバが見つからなかった場合はＳ２００５へ処理を進め、新規サーバを立ち上げ、Ｓ２００３へ処理を進める。
【００７０】
Ｓ２００３では、Ｓ２００２で見つかったサーバ又はＳ２００５で立ち上げたサーバを、サーバで保持する上限数になるまで、データベースの移動先に決定する。Ｓ２００４で、移動対象の全てのデータベースの移動先が決定したか否かを判定し、移動先が決定していないデータベースが残っていると判定するとＳ２００１に戻る。
【００７１】
一方、移動対象の全てのデータベースの移動先が決定したと判定した場合はＳ２００５へ処理を進め、印刷システム管理サーバ１０４で保持する割当情報（３１５、３１６）にデータベースの分割を反映する。次に、Ｓ２１０１（図２１）で、スケールアウト対象のテナントの割当情報の全てのデータベース個別情報６１３の更新不可フラグを設定する。そして、Ｓ２１０２で、割当情報のキャッシュを保持するすべての印刷文書管理サーバと印刷装置管理サーバに、割当情報と割当情報更新リクエストを送信する。
【００７２】
次に、Ｓ２１０３で、図１９のＳ１９０２で分割対象となったデータベースを保持する印刷文書管理サーバと印刷装置管理サーバに、データベースの分割リクエストを送信する。データベースの分割リクエストを受けた印刷文書管理サーバは、データベース分割部４１６でデータベースの分割を実行する。データベースの分割リクエストを受けた印刷装置管理サーバは、データベース分割部５０７でデータベースの分割を実行する。そして、Ｓ２１０４で、図１９のＳ１９０６とＳ１９０７で移動対象に決定したデータベースを、図２０のＳ２００３で決定した移動先のサーバに移動する。次に、Ｓ２１０５で、スケールアウト対象のテナントの割当情報の全てのデータベース個別情報６１３の更新不可フラグをリセットし、更新可とする。そして、Ｓ２１０２で、割当情報のキャッシュを保持する全ての印刷文書管理サーバと印刷装置管理サーバに、割当情報と割当情報更新リクエストを送信する。
【００７３】
尚、図１９のＳ１９０１は、印刷システム管理サーバ１０４のスケールアウト要求受付部３１７で実行される。また、Ｓ１９０２〜Ｓ１９０５、Ｓ１９０７は、移動データベース決定部３１２で実行される。図２０のＳ２００１〜Ｓ２００４、Ｓ２００５は、データベース移動先決定部３１３で実行される。また、Ｓ２００５は、割り当て情報管理部３１１で実行される。また、図２１のＳ２１０１〜Ｓ２１０６は、データベース移動実行部３１４で実行される。
【００７４】
図２２の（Ａ）は、テナントのスケールアウトにおいて、データベースを分割する処理のイメージを表す図である。図２２の（Ａ）のリング２２０１、２２０２は、分割前と分割後の図９の（Ａ）のリング９０１に相当する。この例では、分割前はデータベース２２０３だけだったのに対して、分割後は二つのデータベース２２０４、２２０５に分割されている。この場合、分割後はデータベース２２０３に格納されていたデータの一部がデータベース２２０５に移動され、移動されなかった残りのデータがデータベース２２０４に格納されている。
【００７５】
図２２の（Ｂ）は、テナントのスケールアウトにおいて、分割されたデータベースを移動する処理のイメージを表す図である。サーバ２２１１は、Ａ社のデータベース２２１３とＣ社のデータベース２２１４を保持する。そして、サーバ２２１１のデータベース２２１４が分割されたことにより、サーバで保持するデータベースの上限を超えたため、新規に立ち上げたサーバ２２１２に、データベース２２１５、２２１６として移動されたことを示している。
【００７６】
図２３は、図２２の（Ｂ）のように分割されたデータベースを移動する処理のイメージを図６の（Ｂ）の割当情報（データベースリスト）で表す図である。この例では、分割前のＡ社、Ｂ社、Ｃ社の割当情報（データベースリスト）２３０１、２３０２、２３０３が、分割後にはＡ社、Ｂ社、Ｃ社の割当情報（データベースリスト）２３０４、２３０５、２３０６に分割される。
【００７７】
以上説明した実施形態によれば、サービス全体の運用コストを抑えつつ、テナント単位の処理を容易にすることを可能にする印刷文書管理サービスのデータ管理方法を提供することができる。
【００７８】
また、スケールアウトを実行するテナントのデータベースのみを移動することにより、スケールアウトを実行するテナント以外のテナントに対するサービスは停止することなく、スケールアウトを実行することができる。
【００７９】
また、他のテナントのデータベースが同居するサーバでデータベースを分割することでサーバが保持するデータベース数の上限を超える場合は、スケールアウト対象のテナントの全てのデータベースを新規に立ち上げたサーバに移動する。それにより、同一のテナントを管理するサーバの数を、スケールアウト後も最小にすることができる。
【００８０】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005775359.tif 000002
【図２】
0005775359.tif 000003
【図３】
0005775359.tif 000004
【図４】
0005775359.tif 000005
【図５】
0005775359.tif 000006
【図６】
0005775359.tif 000007
【図７】
0005775359.tif 000008
【図８】
0005775359.tif 000009
【図９】
0005775359.tif 000010
【図１０】
0005775359.tif 000011
【図１１】
0005775359.tif 000012
【図１２】
0005775359.tif 000013
【図１３】
0005775359.tif 000014
【図１４】
0005775359.tif 000015
【図１５】
0005775359.tif 000016
【図１６】
0005775359.tif 000017
【図１７】
0005775359.tif 000018
【図１８】
0005775359.tif 000019
【図１９】
0005775359.tif 000020
【図２０】
0005775359.tif 000021
【図２１】
0005775359.tif 000022
【図２２】
0005775359.tif 000023
【図２３】
0005775359.tif 000024