(57)【要約】【課題】サーバの負荷を分散することができるメッセージ処理方法、情報処理装置及びプログラムを提供することにある。【解決手段】複数の送信装置３の夫々から複数の制御装置１，２の夫々を介して一又は複数の宛先へメッセージを送信するに際し、該メッセージを割り当てる制御装置１、２を特定する情報処理装置１が実行するメッセージ処理方法であって、前記情報処理装置１は、前記送信装置３からメッセージを取得し、取得したメッセージのデータ量と、該メッセージにおける宛先の数とに基づいて、該メッセージの送信を制御する制御装置１、２を特定する。【選択図】図１
2015153243.tif 000002
【特許請求の範囲】
【請求項１】
複数の送信装置の夫々から複数の制御装置の夫々を介して一又は複数の宛先へメッセージを送信するに際し、該メッセージを割り当てる制御装置を特定する情報処理装置が実行するメッセージ処理方法であって、
前記情報処理装置は、
前記送信装置からメッセージを取得し、
取得したメッセージのデータ量と、該メッセージにおける宛先の数とに基づいて、該メッセージの送信を制御する制御装置を特定する
ことを特徴とするメッセージ処理方法。
【請求項２】
前記情報処理装置は、
複数の制御装置の夫々と、前記情報処理装置にメッセージを送信する送信装置の数とを対応づけ、
取得したメッセージのデータ量と、該メッセージにおける宛先の数と、複数の制御装置の夫々に対応づけられた送信装置の数とに基づいて、前記メッセージの送信を制御する制御装置を特定することを特徴とする請求項１に記載のメッセージ処理方法。
【請求項３】
前記情報処理装置は、前記メッセージの送信を制御する制御装置を示す制御情報を記憶部に記憶し、
一又は複数の宛先から前記メッセージの送信要求を受信した場合、前記記憶部から制御情報を読み出すことにより、送信要求を受信したメッセージの送信を制御する制御装置を特定することを特徴とする請求項１又は請求項２に記載のメッセージ処理方法。
【請求項４】
複数の宛先を含むメッセージの出力先を特定する特定部と、前記メッセージを取得する取得部とを備えるメッセージ処理装置であって、
前記取得部で取得したメッセージのデータ量と、該取得部で取得したメッセージにおける宛先の数とに基づいて、該取得部で取得したメッセージの出力先を特定する特定部を備える
ことを特徴とする情報処理装置。
【請求項５】
複数の送信装置の夫々から複数の制御装置の夫々を介して一又は複数の宛先へメッセージを送信するに際し、該メッセージを割り当てる制御装置を特定する情報処理装置に、
前記メッセージのデータ量と、前記メッセージにおける宛先の数とに基づいて、該メッセージの送信を制御する制御装置を特定し、
特定した制御装置に前記メッセージの送信を指示する指示命令を出力する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置から送信されるメッセージを処理するメッセージ処理方法、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年、一の端末装置から他の端末装置に対して送信するメッセージデータ（メッセージ）をサーバコンピュータ（サーバ）に記憶し、サーバに記憶したメッセージを他の端末装置に送信する情報処理システムが存在する。このような情報処理システムでは、サーバが複数の端末装置からメッセージの送信要求を受信した場合、サーバの処理負担の増加によりメッセージの送信が遅延してしまう。
【０００３】
そこでサーバの処理負担を軽減させる方法として、複数のサーバの夫々にキャッシュを生成し、生成した各キャッシュに複数のメッセージの夫々を記憶させることでメッセージの送信の遅延を防止する技術が知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１５５７１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし従来の技術では、他のメッセージに比べて処理負担が多いメッセージが一部のサーバに集中した場合、サーバの負荷がキャッシュを用いて処理できる量を超えることでメッセージの送信の遅延を発生させるという問題がある。
【０００６】
一つの側面では、本発明は、サーバの負荷を分散することができるメッセージ処理方法、情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
一態様によれば、メッセージ処理方法は、複数の送信装置の夫々から複数の制御装置の夫々を介して一又は複数の宛先へメッセージを送信するに際し、該メッセージを割り当てる制御装置を特定する情報処理装置が実行するメッセージ処理方法であって、前記情報処理装置は、前記送信装置からメッセージを取得し、取得したメッセージのデータ量と、該メッセージにおける宛先の数とに基づいて、該メッセージの送信を制御する制御装置を特定する。
【発明の効果】
【０００８】
一態様によれば、サーバの負荷を分散することができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理システムの概要を示す模式図である。
【図２】情報処理装置のハードウェア群を示すブロック図である。
【図３】サーバ装置のハードウェア群を示すブロック図である。
【図４】端末装置のハードウェア群を示すブロック図である。
【図５】メッセージテーブルのレコードレイアウトの一例を示す説明図である。
【図６】登録テーブルのレコードレイアウトの一例を示す説明図である。
【図７】キャッシュテーブルのレコードレイアウトの一例を示す説明図である。
【図８】情報処理システムの処理手順の一例を示すフローチャートである。
【図９】情報処理システムの処理手順の一例を示すフローチャートである。
【図１０】情報処理システムの処理手順の一例を示すフローチャートである。
【図１１】情報処理システムの処理手順の一例を示すフローチャートである。
【図１２】実施の形態２に係るキャッシュテーブルのレコードレイアウトの一例を示す説明図である。
【図１３】実施の形態２に係るメッセージテーブルのレコードレイアウトの一例を示す説明図である。
【図１４】実施の形態２に係る情報処理システムの処理手順の一例を示すフローチャートである。
【図１５】実施の形態３に係るメッセージテーブルのレコードレイアウトの一例を示す説明図である。
【図１６】実施の形態３に係る情報処理システムの処理手順の一例を示すフローチャートである。
【図１７】実施の形態４に係る情報処理装置のハードウェア群を示すブロック図である。
【図１８】実施の形態４に係る情報処理装置の機能ブロック図である。
【発明を実施するための形態】
【００１０】
実施の形態１
以下実施の形態を、図面を参照して説明する。図１は情報処理システムの概要を示す模式図である。情報処理システムは情報処理装置（制御装置）１、サーバ装置（制御装置）２Ａ〜２Ｂ（以下、場合により２で代表する）、端末装置（送信装置）３Ａ〜３Ｂ（以下、場合により３で代表する）等を含む。情報処理装置１、サーバ装置２、端末装置３はインターネット、ＬＡＮ(Local Area Network)または携帯電話網等の通信網Ｎにより相互に接続されている。サーバ装置２は複数のサーバ装置２Ａ〜２Ｂ等により構成され、通信網Ｎを介して、情報処理装置１との間で情報の送受信を行っている。端末装置３は複数の端末装置３Ａ〜３Ｂ等により構成され、通信網Ｎを介して、情報処理装置１、サーバ装置２との間で情報の送受信を行っている。
【００１１】
端末装置３は、メール、音声データ、動画データ等のメッセージデータ（メッセージ）を送信するコンピュータであり、例えばパーソナルコンピュータ、ＰＤＡ（Personal Digital Assistance）、携帯電話機又はブックリーダ等である。本実施形態では端末装置３Ａ〜３Ｂは一例としてパーソナルコンピュータであるものとする。またメッセージにはメッセージに関する各種情報が含まれている。メッセージに関する各種情報とは送信要求を受け付ける端末装置３を示す宛先、宛先の数、メッセージのデータ量等である。端末装置３は、メッセージを情報処理装置１へ送信する。
【００１２】
情報処理装置１は複数の送信装置の夫々から複数の宛先へ送信されるメッセージを処理するコンピュータであり、例えばサーバコンピュータ（サーバ）またはパーソナルコンピュータ等である。以下では情報処理装置１が一例として、サーバであるものとして説明する。情報処理装置１は端末装置３からメッセージを受信した場合、後述するプログラム１２Ｐに基づいてメッセージを送信するサーバ装置２を特定し、特定したサーバ装置２へメッセージを送信する。また情報処理装置１は端末装置３からメッセージの送信要求を受信した場合、特定したサーバ装置２へメッセージの送信要求を送信する。
【００１３】
あるいは情報処理装置１はメッセージをサーバ装置２に送信せずに、メッセージを情報処理装置１の後述するＲＡＭ（メッセージ記憶部）１３に記憶してもよい。情報処理装置１は一又は複数の端末装置３からメッセージの送信要求を受信した場合、記憶したメッセージを一又は複数の端末装置３に送信する。
【００１４】
サーバ装置２はデータの送信を制御するコンピュータであり、例えばサーバ又はパーソナルコンピュータ等である。以下では情報処理装置１が一例として、サーバであるものとして説明する。サーバ装置２は情報処理装置１からメッセージを受信した場合、メッセージを後述するＲＡＭ２３に記憶する。サーバ装置２は一又は複数の端末装置３からメッセージの送信要求を受信した場合、記憶したメッセージを一又は複数の端末装置３に送信する。以下詳細を説明する。
【００１５】
図２は情報処理装置１のハードウェア群を示すブロック図である。図２に示す情報処理装置１は、ＣＰＵ(Central Processing Unit)１１、記憶部１２、ＲＡＭ１３、入力部１４、表示出力部１５、通信部１６を備える。
【００１６】
ＣＰＵ１１は、バスを介してハードウェア各部と接続されている。ＣＰＵ１１は例えば一又は複数のＣＰＵ又はマルチコアＣＰＵ等を備える。ＣＰＵ１１は、記憶部１２に記憶されたプログラム（プログラム）１２Ｐに従いハードウェアの各部を制御する。
【００１７】
記憶部１２は例えばハードディスクまたは大容量メモリ等である。記憶部１２にはＣＰＵ１１が処理を行う際に必要とする種々のデータ、プログラム１２Ｐ、キャッシュテーブルＴ１、メッセージテーブルＴ２、登録テーブルＴ３を格納する。
【００１８】
ＲＡＭ１３は例えばＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等である。ＲＡＭ１３は、記憶部としても機能し、ＣＰＵ１１による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００１９】
入力部１４はマウス、キーボード又はタッチパネル等の入力デバイスであり、受け付けた操作情報をＣＰＵ１１へ出力する。表示出力部１５は表示装置（図示せず）に表示させる画像データを出力する。通信部１６は、例えば無線ＬＡＮカード又は携帯電話用通信モジュール等であり、通信網Ｎを介して各種情報をサーバ装置２、端末装置３等との間で送受信する。
【００２０】
図３はサーバ装置２のハードウェア群を示すブロック図である。図３に示すサーバ装置２は、ＣＰＵ２１、記憶部２２、ＲＡＭ（メッセージ記憶部）２３、入力部２４、表示出力部２５、通信部２６を備える。
【００２１】
ＣＰＵ２１は、バスを介してハードウェア各部と接続されている。ＣＰＵ２１は例えば一又は複数のＣＰＵ又はマルチコアＣＰＵ等を備える。ＣＰＵ２１は、記憶部２２に記憶されたプログラム２２Ｐに従いハードウェアの各部を制御する。
【００２２】
記憶部２２は例えばハードディスクまたは大容量メモリ等である。記憶部２２にはＣＰＵ２１が処理を行う際に必要とする種々のデータ、プログラム２２Ｐを格納する。
【００２３】
ＲＡＭ２３は例えばＳＲＡＭ、ＤＲＡＭ、フラッシュメモリ等である。ＲＡＭ２３は、記憶部としても機能し、ＣＰＵ２１による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００２４】
入力部２４はマウス、キーボード又はタッチパネル等の入力デバイスであり、受け付けた操作情報をＣＰＵ２１へ出力する。表示出力部２５は表示装置（図示せず）に表示させる画像データを出力する。通信部２６は、例えば無線ＬＡＮカード又は携帯電話用通信モジュール等であり、通信網Ｎを介して各種情報を情報処理装置１との間で送受信する。
【００２５】
図４は端末装置３のハードウェア群を示すブロック図である。図４に示す端末装置３は、ＣＰＵ３１、記憶部３２、ＲＡＭ３３、入力部３４、表示出力部３５、通信部３６を備える。
【００２６】
ＣＰＵ３１は、バスを介してハードウェア各部と接続されている。ＣＰＵ３１は例えば一又は複数のＣＰＵ又はマルチコアＣＰＵ等を備える。ＣＰＵ３１は、記憶部３２に記憶されたプログラム３２Ｐに従いハードウェアの各部を制御する。
【００２７】
記憶部３２は例えばハードディスクまたは大容量メモリ等である。記憶部３２にはＣＰＵ３１が処理を行う際に必要とする種々のデータ、プログラム３２Ｐを格納する。
【００２８】
ＲＡＭ３３は例えばＳＲＡＭ、ＤＲＡＭ、フラッシュメモリ等である。ＲＡＭ３３は、記憶部としても機能し、ＣＰＵ３１による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
【００２９】
入力部３４はマウス、キーボード又はタッチパネル等の入力デバイスであり、受け付けた操作情報をＣＰＵ３１へ出力する。表示出力部３５は表示装置（図示せず）に表示させる画像データを出力する。通信部３６は、例えば無線ＬＡＮカード又は携帯電話用通信モジュール等であり、通信網Ｎを介して各種情報を情報処理装置１との間で送受信する。
【００３０】
図５はメッセージテーブルＴ２のレコードレイアウトの一例を示す説明図である。メッセージテーブルＴ２はメッセージに含まれる各種情報を記憶するテーブルである。メッセージテーブルＴ２は受信番号列、宛先数列、サイズ列等を備える。受信番号列には、情報処理装置１が受信したメッセージの順番を示す番号が記憶される。宛先数列には宛先数が記憶される。サイズ列にはメッセージのデータ量が記憶され、単位はＢｙｔｅである。
【００３１】
図６は登録テーブルＴ３のレコードレイアウトの一例を示す説明図である。登録テーブルＴ３はサーバ列、登録数列、対応端末列等を備える。登録テーブルＴ３は一の端末装置３から一の宛先に送信されるメッセージを記憶するサーバと、一の宛先とを対応づけたテーブルである。宛先とは例えば端末装置３である。サーバ列にはメッセージの送信を制御するサーバが記憶される。サーバは例えば、情報処理装置１、サーバ装置２Ａ、サーバ装置２Ｂ等である。登録数列にはサーバに対応づけられた宛先の数を示す登録数が記憶される。対応端末列にはサーバに対応づけられた端末装置３が記憶されている。
【００３２】
図７はキャッシュテーブルＴ１のレコードレイアウトの一例を示す説明図である。キャッシュテーブルＴ１はメッセージにより生じるサーバの負荷を示す評価値（積算値）を記憶するテーブルである。キャッシュテーブルＴ１は受信番号列、情報処理装置１列、サーバ装置２Ａ列、サーバ装置２Ｂ列等を備える。受信番号列には情報処理装置１が受信したメッセージの順番を示す番号が記憶される。情報処理装置１列、サーバ装置２Ａ列、サーバ装置２Ｂ列には評価値が記憶される。
【００３３】
ＣＰＵ１１は例えば（１）の演算式により評価値を算出する。
【００３４】
評価値＝登録数×宛先数×メッセージのデータ量  …（１）
あるいはＣＰＵ１１は（２）の演算式により評価値を算出してもよい。
【００３５】
評価値＝ｋ１×登録数＋ｋ２×宛先数＋ｋ３×メッセージのデータ量  …（２）
但し、ｋ１、ｋ２、ｋ３は所定の係数であり、例えば１，２，３等の整数である。
本実施形態では評価値を算出する演算式は一例として（１）であるものとする。
【００３６】
次に本実施形態の情報システムにより行われる処理を図５〜７を参照しつつ説明する。ＣＰＵ１１が端末装置３から送信されたメッセージを通信部１６で受信した場合、登録テーブルＴ３に基づいてサーバと端末装置３とを対応づける。ＣＰＵ１１は受信したメッセージに含まれる各種情報をメッセージテーブルＴ２に記憶する。ＣＰＵ１１はメッセージテーブルＴ２を参照する。
【００３７】
ＣＰＵ１１は宛先数が複数であるか否かを判定する。ＣＰＵ１１は宛先数が複数であると判定した場合、キャッシュテーブルＴ１を参照する。ＣＰＵ１１は各サーバに割り当てられた評価値を示す割当評価値（積算値）が最少のサーバを特定する。ＣＰＵ１１は宛先数が複数でないと判定した場合、宛先の端末装置３に対応づけられたサーバを特定する。
【００３８】
ＣＰＵ１１は特定したサーバ及びメッセージの各種情報に基づいて評価値を算出する。具体的にはＣＰＵ１１は（１）の演算式により評価値を算出する。
【００３９】
ＣＰＵ１１は特定したサーバの割当評価値に評価値を加算する。
【００４０】
具体的にはＣＰＵ１１がサーバに評価値を割り当てる処理は以下の通りである。図７に示すように、初期状態における情報処理装置１、サーバ装置２Ａの割当評価値は２０００００００であり、サーバ装置２Ｂの割当評価値は０である。ＣＰＵ１１は通信部１６で１通目のメッセージを受信した場合、割当評価値が最少のサーバがサーバ装置２Ｂであると特定する。
【００４１】
図５、６に示すように、ＣＰＵ１１は特定したサーバ装置２Ｂの登録数が２０であり、メッセージの宛先数が１００であり、メッセージのデータ量が１０キロバイトであるので、２０００００００を評価値として算出する。ＣＰＵ１１はサーバ装置２Ｂの割当評価値である０に評価値である２０００００００を加算する。
【００４２】
以上の処理を行ったＣＰＵ１１は特定したサーバが情報処理装置１であるか否か判定する。ＣＰＵ１１は特定したサーバが情報処理装置１でないと判定した場合、メッセージを通信部１６からサーバ装置２に送信する。サーバ装置２のＣＰＵ２１はメッセージを通信部２６で受信する。ＣＰＵ２１はＲＡＭ１３上にメッセージを一時記憶するための記憶領域を示すキャッシュを生成する。ＣＰＵ２１はキャッシュにメッセージを記憶する。ＣＰＵ１１は特定したサーバが情報処理装置１でないと判定する。ＣＰＵ１１はメッセージを通信部１６からサーバ装置２Ｂに送信する。
【００４３】
ＣＰＵ１１が端末装置３からのメッセージの送信要求を通信部１６で受信した場合、キャッシュテーブルＴ１を参照する。ＣＰＵ１１はキャッシュが生成されたサーバを特定する。ＣＰＵ１１は特定したサーバが情報処理装置１であるか否かを判定する。
【００４４】
ＣＰＵ１１は特定したサーバが情報処理装置１でないと判定した場合、メッセージの送信要求を通信部１６からサーバ装置２に送信する。サーバ装置２のＣＰＵ２１はメッセージの送信要求を通信部２６で受信する。ＣＰＵ２１はメッセージを端末装置３に通信部２６から送信する。
【００４５】
ＣＰＵ１１は特定したサーバが情報処理装置１であると判定した場合、メッセージを通信部１６から送信する。端末装置３のＣＰＵ３１はメッセージを通信部３６で受信する。
【００４６】
次に、情報処理システムの動作について説明する。図８〜１１は情報処理システムの処理手順の一例を示すフローチャートである。端末装置３のＣＰＵ３１は入力部３４でメッセージの入力を受け付ける（ステップＳ１）。ＣＰＵ３１は入力されたメッセージを通信部３６から情報処理装置１に送信する（ステップＳ２）。なお、ＣＰＵ３１は予め記憶部３２に記憶されたメッセージを送信してもよい。
【００４７】
情報処理装置１のＣＰＵ１１は送信したメッセージを通信部１６で受信する（ステップＳ３）。ＣＰＵ１１は登録テーブルＴ３に基づいてサーバ装置２と端末装置３とを対応づける（ステップＳ４）。ＣＰＵ１１は受信したメッセージに含まれる各種情報をメッセージテーブルＴ２に記憶する（ステップＳ５）。ＣＰＵ１１はメッセージテーブルＴ２を参照する（ステップＳ６）。
【００４８】
ＣＰＵ１１は宛先数が複数であるか否かを判定する（ステップＳ７）。ＣＰＵ１１は宛先数が複数でないと判定した場合（ステップＳ７：ＮＯ）、端末装置３に対応づけられたサーバを特定し（ステップＳ９）、ステップＳ１３に処理を移す。ＣＰＵ１１は宛先数が複数であると判定した場合（ステップＳ７：ＹＥＳ）、キャッシュテーブルＴ１を参照する（ステップＳ８）。
【００４９】
ＣＰＵ１１は割当評価値が最少のサーバを特定する（ステップＳ１０）。ＣＰＵ１１は特定したサーバ及びメッセージの各種情報に基づいて評価値を算出する（ステップＳ１１）。ＣＰＵ１１は特定したサーバの割当評価値に評価値を割り当てる（ステップＳ１２）。具体的にはＣＰＵ１１は特定したサーバの割当評価値に評価値を加算する。
【００５０】
ＣＰＵ１１は特定したサーバが情報処理装置１であるか否か判定する（ステップＳ１３）。ＣＰＵ１１は特定したサーバが情報処理装置１でないと判定した場合（ステップＳ１３：ＮＯ）、メッセージを通信部１６からサーバ装置２に送信する（ステップＳ１４）。サーバ装置２のＣＰＵ２１はメッセージを通信部２６で受信する（ステップＳ１５）。
【００５１】
ＣＰＵ２１はＲＡＭ２３上にキャッシュを生成する（ステップＳ１６）。ＣＰＵ２１はキャッシュにメッセージを記憶する（ステップＳ１７）。ＣＰＵ１１は特定したサーバが情報処理装置１であると判定した場合（ステップＳ１３：ＹＥＳ）、ＲＡＭ１３上にキャッシュを生成する（ステップＳ１８）。ＣＰＵ１１はキャッシュにメッセージを記憶する（ステップＳ１９）。
【００５２】
端末装置３のＣＰＵ３１はメッセージの送信要求を通信部３６から情報処理装置１に送信する（ステップＳ２０）。情報処理装置１のＣＰＵ１１はメッセージの送信要求を通信部１６で受信する（ステップＳ２１）。ＣＰＵ１１はキャッシュテーブルＴ１を参照する（ステップＳ２２）。ＣＰＵ１１はキャッシュが生成されたサーバを特定する（ステップＳ２３）。
【００５３】
ＣＰＵ１１は特定したサーバが情報処理装置１であるか否かを判定する（ステップＳ２４）。ＣＰＵ１１は特定したサーバが情報処理装置１でないと判定した場合（ステップＳ２４：ＮＯ）、メッセージの送信要求を通信部１６からサーバ装置２に送信する（ステップＳ２５）。サーバ装置２のＣＰＵ２１はメッセージの送信要求を通信部２６で受信する（ステップＳ２６）。ＣＰＵ２１はメッセージを端末装置３に通信部２６から送信する（ステップＳ２７）。
【００５４】
ＣＰＵ１１は特定したサーバが情報処理装置１であると判定した場合（ステップＳ２４：ＹＥＳ）、メッセージを通信部１６から送信する（ステップＳ２８）。端末装置３のＣＰＵ３１はステップＳ２７又はステップＳ２８の処理を終了した後、メッセージを通信部３６で受信し（ステップＳ２９）、処理を終了する。なお、他の端末装置３のＣＰＵ３１が送信要求を通信部３６で送信した場合、情報システムはステップＳ２０〜ステップＳ２９と同様の処理を行う。
【００５５】
本実施の形態では、サーバの負荷を効率的に分散することができる。
【００５６】
本実施の形態では、情報処理装置１が一括して送信要求を管理することによりメッセージの送信管理が容易になる。
【００５７】
本実施の形態では、ＣＰＵ１１が評価値をサーバに割り当てることで、容易に負荷の小さいサーバを特定することができる。
【００５８】
本実施の形態では、ＣＰＵ１１が適切なサーバのキャッシュにメッセージを記憶することにより、メッセージの送信の遅延を防止できる。
【００５９】
実施の形態２
図１２は実施の形態２に係るキャッシュテーブルＴ１のレコードレイアウトの一例を示す説明図である。図１３は実施の形態２に係るメッセージテーブルＴ２のレコードレイアウトの一例を示す説明図である。以下、特に説明する構成、作用以外の構成及び作用は実施の形態１と同等であり、簡潔のため記載を省略する。
【００６０】
実施の形態２に係る情報システムにより行われる処理を図１２、１３を参照しつつ説明する。ＣＰＵ１１は割当評価値が最少のサーバを特定した後、特定したサーバが複数あるか否かを判定する。ＣＰＵ１１は特定したサーバが複数ないと判定した場合、特定したサーバ及びメッセージの各種情報に基づいて評価値を算出する。ＣＰＵ１１は特定したサーバが複数あると判定した場合、特定した複数のサーバの登録数が同一であるか否かを判定する。ＣＰＵ１１は特定した複数のサーバの登録数が同一でないと判定した場合、特定した複数のサーバの内、登録数が最少の一のサーバを特定する。ＣＰＵ１１は特定した複数のサーバの登録数が同一であると判定した場合、特定した複数のサーバの内、ランダムで一のサーバを特定する。ＣＰＵ１１はメッセージの各種情報及び特定したサーバに基づいて評価値を算出する。以下、実施の形態１と同様の処理であるため、記載を省略する。
【００６１】
具体的にはＣＰＵ１１がプログラム１２Ｐにより行われる処理は以下の通りである。図１２に示すように、初期状態における情報処理装置１、サーバ装置２Ａ、サーバ装置２Ｂの各サーバの割当評価値は０である。ＣＰＵ１１は通信部１６で１通目のメッセージを受信した場合、割当評価値が最少のサーバが情報処理装置１、サーバ装置２Ａ及びサーバ装置２Ｂであると特定する。ＣＰＵ１１は特定したサーバが複数であると判定する。図５、６に示すように、ＣＰＵ１１は情報処理装置１の登録数が５０であり、サーバ装置２Ａの登録数が３０であり、サーバ装置２Ｂの登録数が２０であるので、特定した複数のサーバの登録数が同一でないと判定する。ＣＰＵ１１は登録数が最少であるサーバ装置２Ｂを特定する。
【００６２】
図６、１３に示すように、ＣＰＵ１１は特定したサーバ装置２Ｂの登録数が２０であり、メッセージの宛先数が１００であり、メッセージのデータ量が１０キロバイトであるので、２０００００００を評価値として算出する。ＣＰＵ１１はサーバ装置２Ｂの割当評価値である０に評価値である２０００００００を加算する。
【００６３】
ＣＰＵ１１は特定したサーバが情報処理装置１でないと判定する。ＣＰＵ１１はメッセージを通信部１６からサーバ装置２Ｂに送信する。
【００６４】
ＣＰＵ１１は通信部１６で２通目のメッセージを受信した場合、ＣＰＵ１１は割当評価値が最少のサーバが情報処理装置１及びサーバ装置２Ａであると特定する。ＣＰＵ１１は特定したサーバが複数であると判定する。ＣＰＵ１１は情報処理装置１の登録数が５０であり、サーバ装置２Ａの登録数が３０であるので、特定した複数のサーバの登録数が同一でないと判定する。ＣＰＵ１１は登録数が最少であるサーバ装置２Ａを特定する。
【００６５】
ＣＰＵ１１は特定したサーバ装置２Ａの登録数が３０であり、メッセージの宛先数が１００であり、メッセージのデータ量が１００キロバイトであるので、３００００００００を評価値として算出する。ＣＰＵ１１はサーバ装置２Ａの割当評価値である０に評価値である３００００００００を加算する。
【００６６】
ＣＰＵ１１は特定したサーバが情報処理装置１でないと判定する。ＣＰＵ１１はメッセージを通信部１６からサーバ装置２Ａに送信する。
【００６７】
ＣＰＵ１１は通信部１６で３通目のメッセージを受信した場合、ＣＰＵ１１は割当評価値が最少のサーバが情報処理装置１であると特定する。
【００６８】
ＣＰＵ１１は特定した情報処理装置１の登録数が５０であり、メッセージの宛先数が１００であり、メッセージのデータ量が１００キロバイトであるので、５００００００００を評価値として算出する。ＣＰＵ１１は情報処理装置１の割当評価値である０に評価値である５００００００００を加算する。
【００６９】
ＣＰＵ１１は特定したサーバが情報処理装置１であると判定する。ＣＰＵ１１はキャッシュを生成する。
【００７０】
ＣＰＵ１１は通信部１６で４通目のメッセージを受信した場合、ＣＰＵ１１は割当評価値が最少のサーバがサーバ装置２Ｂであると特定する。
【００７１】
ＣＰＵ１１は特定したサーバ装置２Ｂの登録数が２０であり、メッセージの宛先数が１００であり、メッセージのデータ量が５キロバイトであるので、１０００００００を評価値として算出する。ＣＰＵ１１は情報処理装置１の割当評価値である２０００００００に評価値である１０００００００を加算する。
【００７２】
ＣＰＵ１１は特定したサーバが情報処理装置１でないと判定する。ＣＰＵ１１はメッセージを通信部１６からサーバ装置２Ｂに送信する。
【００７３】
図１４は実施の形態２に係る情報処理システムの処理手順の一例を示すフローチャートである。ステップＳ１〜ステップＳ２９の処理は上述の実施の形態１に係る情報処理システムと同様であるので、簡潔のため説明を省略する。ＣＰＵ１１はステップＳ１０の処理を終了した後、特定したサーバが複数であるか否かを判定する（ステップＳ４０）。
【００７４】
ＣＰＵ１１は特定したサーバが複数でないと判定した場合（ステップＳ４０：ＮＯ）、処理をステップＳ１１に移す。ＣＰＵ１１は特定したサーバが複数であると判定した場合（ステップＳ４０：ＹＥＳ）、登録数が同一であるか否かを判定する（ステップＳ４１）。ＣＰＵ１１は登録数が同一でないと判定した場合（ステップＳ４１：ＮＯ）、登録数が最少のサーバを特定し（ステップＳ４２）、処理をステップＳ１１に移す。ＣＰＵ１１は登録数が同一であると判定した場合（ステップＳ４１：ＹＥＳ）、ランダムでサーバを特定し（ステップＳ４３）、処理をステップＳ１１に移す。
【００７５】
本実施の形態では、登録数に基づいて負荷の小さいサーバを特定することができる。このことによりさらに効率的にサーバの負荷を分散することができる。
【００７６】
本実施の形態では、割当評価値が同一であっても、登録数により負荷の小さいサーバを特定することができる。このことによりさらに効率的にサーバの負荷を分散することができる。
【００７７】
実施の形態３
図１５は実施の形態３に係るメッセージテーブルＴ２のレコードレイアウトの一例を示す説明図である。以下、特に説明する構成、作用以外の構成及び作用は実施の形態２と同等であり、簡潔のため記載を省略する。メッセージテーブルＴ２はさらに既読数列を備える。既読数列には受信した送信要求の数を示す既読数が記憶される。
【００７８】
図１６は実施の形態３に係る情報処理システムの処理手順の一例を示すフローチャートである。ステップＳ１〜ステップＳ４３の処理は上述の実施の形態２に係る情報処理システムと同様であるので、簡潔のため説明を省略する。
【００７９】
ＣＰＵ１１はステップＳ２５又はステップＳ２８の処理を終了した後、既読数をインクリメントする（ステップＳ５１）。通信部１６で既読数が宛先数の所定の割合以上であるか否かを判定する（ステップＳ５２）。所定の割合とは例えば９割である。ＣＰＵ１１は既読数が宛先数の所定の割合以上でないと判定した場合（ステップＳ５２：ＮＯ）、ステップＳ２１に処理を移し、メッセージの送信要求を受信するまで待機する。
【００８０】
ＣＰＵ１１は既読数が宛先数の所定の割合以上であると判定した場合（ステップＳ５２：ＹＥＳ）、キャッシュテーブルＴ１を参照する（ステップＳ５３）。ＣＰＵ１１はキャッシュが生成されたサーバを特定する（ステップＳ５４）。ＣＰＵ１１は特定したサーバは情報処理装置１であるか否かを判定する（ステップＳ５５）。
【００８１】
ＣＰＵ１１は特定したサーバが情報処理装置１でないと判定した場合（ステップＳ５５：ＮＯ）、メッセージ及びキャッシュの削除要求を通信部１６からサーバ装置２に送信する（ステップＳ５６）。サーバ装置２のＣＰＵ２１は削除要求を通信部２６で受信する（ステップＳ５７）。ＣＰＵ２１はメッセージを削除する（ステップＳ５８）。ＣＰＵ２１はキャッシュを削除する（ステップＳ５９）。
【００８２】
ＣＰＵ１１は特定したサーバが情報処理装置１であると判定した場合（ステップＳ５５：ＹＥＳ）、メッセージを削除する（ステップＳ６０）。ＣＰＵ２１はキャッシュを削除し（ステップＳ６１）、処理を終了する。なお、他の端末装置３のＣＰＵ３１が送信要求を通信部３６で送信した場合、情報システムはステップＳ２１〜ステップＳ６１の処理を行う。
【００８３】
本実施の形態では、キャッシュを削除することでハードウェア資源を有効に活用することができる。
【００８４】
実施の形態４
以下本発明の実施の形態４をその実施の形態を示す図面に基づいて詳述する。図１７は実施の形態４に係る情報処理装置１のハードウェア群を示すブロック図である。以下、特に説明する構成、作用以外の構成及び作用は実施の形態３と同等であり、簡潔のため記載を省略する。
【００８５】
情報処理装置１を動作させるためのプログラムは、ディスクドライブ等の読取部１７にＣＤ−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）ディスク、メモリーカード、又はＵＳＢ（Universal Serial Bus）メモリ等の可搬型記録媒体１７Ａを読み取らせて記憶部１２に記憶してもよい。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ１７Ｂを情報処理装置１内に実装しても良い。通信部１６は、例えば無線ＬＡＮカード又は携帯電話用通信モジュール等であり、通信網Ｎを介して他のサーバに接続されている。当該プログラムは、通信部１６によりインターネット等の通信網Ｎを介して接続される他のサーバ（図示せず）からダウンロードすることも可能である。以下にその内容を説明する。
【００８６】
図１７に示す情報処理装置１は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体１７Ａ又は半導体メモリ１７Ｂから読み取り、あるいは、通信網Ｎを介して他のサーバ（図示せず）からダウンロードする。当該プログラムは、プログラム１２Ｐとしてインストールされ、記憶部１２にロードして実行される。これより上述した情報処理装置１として機能する。
【００８７】
図１８は実施の形態４に係る情報処理装置１の機能ブロック図である。ＣＰＵ１１がプログラム１２Ｐを実行することにより、情報処理装置１は以下のように動作する。取得部１１Ａはメッセージを取得する。特定部１１Ｂは、取得部１１Ａで取得したメッセージのデータ量と、取得部１１Ａで取得したメッセージにおける宛先の数とに基づいて、取得部１１Ａで取得したメッセージの出力先を特定する。
【００８８】
以上の実施の形態に関し、更に以下の付記を開示する。
【００８９】
（付記１）    
複数の送信装置の夫々から複数の制御装置の夫々を介して一又は複数の宛先へメッセージを送信するに際し、該メッセージを割り当てる制御装置を特定する情報処理装置が実行するメッセージ処理方法であって、
前記情報処理装置は、
前記送信装置からメッセージを取得し、
取得したメッセージのデータ量と、該メッセージにおける宛先の数とに基づいて、該メッセージの送信を制御する制御装置を特定する
ことを特徴とするメッセージ処理方法。
（付記２）    
前記情報処理装置は、
複数の制御装置の夫々と、前記情報処理装置にメッセージを送信する送信装置の数とを対応づけ、
取得したメッセージのデータ量と、該メッセージにおける宛先の数と、複数の制御装置の夫々に対応づけられた送信装置の数とに基づいて、前記メッセージの送信を制御する制御装置を特定することを特徴とする付記１に記載のメッセージ処理方法。
（付記３）    
前記情報処理装置は、前記メッセージの送信を制御する制御装置を示す制御情報を記憶部に記憶し、
一又は複数の宛先から前記メッセージの送信要求を受信した場合、前記記憶部から制御情報を読み出すことにより、送信要求を受信したメッセージの送信を制御する制御装置を特定することを特徴とする付記１又は付記２に記載のメッセージ処理方法。
（付記４）    
複数の宛先を含むメッセージの出力先を特定する特定部と、前記メッセージを取得する取得部とを備えるメッセージ処理装置であって、
前記取得部で取得したメッセージのデータ量と、該取得部で取得したメッセージにおける宛先の数とに基づいて、該取得部で取得したメッセージの出力先を特定する特定部を備える
ことを特徴とする情報処理装置。
（付記５）    
複数の送信装置の夫々から複数の制御装置の夫々を介して一又は複数の宛先へメッセージを送信するに際し、該メッセージを割り当てる制御装置を特定する情報処理装置に、
前記メッセージのデータ量と、前記メッセージにおける宛先の数とに基づいて、該メッセージの送信を制御する制御装置を特定し、
特定した制御装置に前記メッセージの送信を指示する指示命令を出力する
ことを特徴とするプログラム。
（付記６）    
前記情報処理装置は、前記メッセージのデータ量と、前記メッセージにおける宛先の数と、複数の制御装置の夫々に対応づけられた送信装置とを積算した積算値を各制御装置に割り当て、
最少の積算値が割り当てられた制御装置を特定する付記１から付記３のいずれか１つに記載のメッセージ処理方法。
（付記７）    
前記情報処理装置は、各制御装置に割り当てた積算値が一致した場合、制御装置に対応づけられた送信装置の数が最少の制御装置を特定する付記６に記載のメッセージ処理方法。
（付記８）    
前記制御装置は、メッセージ記憶部に前記メッセージを一時的に記憶する付記１から付記３、付記６及び付記７のいずれか１つに記載のメッセージ処理方法。
（付記９）    
前記制御装置は、受信した送信要求の数が宛先の数に対して所定の割合以上であった場合、前記メッセージ記憶部に記憶されたメッセージを削除する付記８に記載のメッセージ処理方法。
【００９０】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９１】
１      情報処理装置（制御装置）
２      サーバ装置（制御装置）
３      端末装置（送信装置）
１１    ＣＰＵ
１２    記憶部
１３    ＲＡＭ（メッセージ記憶部）
２３    ＲＡＭ（メッセージ記憶部）
１４    入力部
１５    表示出力部
１６    通信部
１２Ｐ  プログラム
１１Ａ  取得部
１１Ｂ  特定部
Ｔ１    キャッシュテーブル
Ｔ２    メッセージテーブル
Ｔ３    登録テーブル
【図１】
2015153243.tif 000003
【図２】
2015153243.tif 000004
【図３】
2015153243.tif 000005
【図４】
2015153243.tif 000006
【図５】
2015153243.tif 000007
【図６】
2015153243.tif 000008
【図７】
2015153243.tif 000009
【図８】
2015153243.tif 000010
【図９】
2015153243.tif 000011
【図１０】
2015153243.tif 000012
【図１１】
2015153243.tif 000013
【図１２】
2015153243.tif 000014
【図１３】
2015153243.tif 000015
【図１４】
2015153243.tif 000016
【図１５】
2015153243.tif 000017
【図１６】
2015153243.tif 000018
【図１７】
2015153243.tif 000019
【図１８】
2015153243.tif 000020