(57)【要約】【課題】プッシュアーキテクチャを持たない端末から利用可能な，既存サーバ装置を利用したメールチャットシステムを提供する。【解決手段】送信サーバと受信サーバからなるサーバ装置群と端末との間の通信路上に設置する中継装置において，端末から受信サーバへのデータ受信要求を受信サーバへ中継せず応答を保留し，端末から送信サーバへのデータ送信があれば，該データを送信サーバへ中継し，該中継を契機として受信サーバから該データを取得し，該データからデータ応答を作成して，保留中のデータ受信要求に対して応答する。【選択図】図５
2009199378.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末とサーバ装置とに，ネットワークを介して接続する中継装置であって，
ひとつ以上の前記端末から前記サーバ装置へのデータ受信要求を受信し，送信を保留するデータ受信要求受付部と，
いずれかの前記端末から前記サーバ装置へのデータ送信要求を中継する送信要求中継部と，
前記送信要求中継部が，いずれかの前記端末から前記サーバ装置へのデータ送信要求を中継したことを契機として，保留している前記データ受信要求に基づくデータ受信を前記サーバ装置に要求して，前記要求データを受信するデータ受信要求部と，
前記データ受信要求部が前記サーバ装置から受信した前記要求データに基づき，保留している前記データ受信要求への応答データを作成し，前記応答データをひとつ以上の前記端末に送信するデータ応答作成部と，
を備える
ことを特徴とする中継装置。
【請求項２】
請求項１に記載の中継装置において，
前記データ受信要求受付部は，保留している前記データ受信要求について，送信元の前記端末のアドレスと，受信を要求するデータのアドレスと位置とを特定するデータ受信要求先と，を接続情報として管理する
ことを特徴とする中継装置。
【請求項３】
請求項２に記載の中継装置において，
前記データ受信要求部は，前記接続情報を参照し，
前記データ送信要求元の前記端末のアドレスが，前記接続情報に記された前記データ受信要求の送信元である前記端末のアドレスと等しいエントリに記された，前記データ受信要求先に，保留している前記データ受信要求に基づくデータ受信要求を送信する
ことを特徴とする中継装置。
【請求項４】
請求項３に記載の中継装置において，
前記データ応答作成部は，前記接続情報を参照し，
前記接続情報に記された前記データ受信要求先が，前記データ送信要求に記されたデータ送信要求先と等しいエントリに記された，当該データ受信要求の送信元である前記端末を送信先とする応答データを，送信した前記データ受信要求に対して前記データ受信要求先から受信したデータから作成する
ことを特徴とする中継装置。
【請求項５】
請求項１に記載の中継装置において，
前記データ受信要求受付部は，保留中の前記データ要求の送信元である前記端末が処理可能なプロトコルを前記接続情報として管理し，
前記データ応答作成部は，保留中の前記データ要求の送信元である前記端末が処理可能なプロトコルに従って，前記応答データを作成する
ことを特徴とする中継装置。
【請求項６】
請求項１に記載の中継装置において，
前記端末からの前記データ送信要求を，予め定めた数中継するまでは，前記データ受信要求部に，データ受信要求を保留させ，前記予め定めた数を超えて中継したら，前記データ受信要求部に，前記データ受信要求を行わせる前記要求制御部を備え，
前記データ受信要求部は，前記要求制御部の指示により，保留している前記データ受信要求に基づく前記データ受信要求を送信する
ことを特徴とする中継装置。
【請求項７】
請求項１に記載の中継装置において，
予め定めた数の前記端末からの前記データ送信要求を，中継するまでは，前記データ受信要求部に，前記データ受信要求を保留させ，前記予め定めた数を超えて中継したら，前記データ受信要求部に，前記データ受信要求を行わせる前記要求制御部を備え，
前記データ受信要求部は，前記要求制御部の指示により，保留している前記データ受信要求に基づく前記データ受信要求を送信する
ことを特徴とする中継装置。
【請求項８】
請求項１に記載の中継装置において，
予め定めた時間が経過するまでは，前記データ受信要求部に，前記データ受信要求を保留させ，前記予め定めた時間が経過したら，前記データ受信要求部に，前記データ受信要求を行わせる要求制御部を備え，
前記データ受信要求部は，前記要求制御部の指示により，保留している前記データ受信要求に基づく前記データ受信要求を送信する
ことを特徴とする中継装置。
【請求項９】
請求項１に記載の中継装置において，
前記端末から受信した前記データ受信要求に含まれる制御文を解釈し，制御文に対応する処理を実行する制御文解析・応答作成部を備える
ことを特徴とする中継装置。
【請求項１０】
請求項９に記載の中継装置において，
前記制御文解析・応答作成部は，前記制御文に従って，
当該制御文が含まれるデータ受信要求先と等しいデータ受信要求先を指定する，保留中のデータ受信要求に関する情報を，当該制御文が含まれるデータ受信要求の送信元である前記端末に送信する
ことを特徴とする中継装置。
【請求項１１】
請求項９に記載の中継装置において，
前記制御文解析・応答作成部は，前記制御文に従って，前記データ受信要求の認証処理を行い，
前記認証に失敗した場合は，前記データ受信要求を拒否する
ことを特徴とする中継装置。
【請求項１２】
請求項１に記載の中継装置において，
前記データ送信要求中継部が，前記データ送信要求を中継したことを契機として，他の中継装置と前記データ受信要求に係わるデータ受信要求先情報を通信するデータ受信要求先情報送受信部を備え，
当該データ受信要求先情報は，自中継装置の前記データ送信要求中継部が前記データ送信要求を中継したことを契機として，前記他の中継装置のデータ受信要求部に，当該他の中継装置が保留しているデータ受信要求に基づくデータ要求を行わせる契機となるものである
ことを特徴とする中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）等，サーバ装置と端末間でデータを通信するネットワークシステムにおいて，端末とサーバ装置との間の通信路上に設置される中継装置に関する。
【背景技術】
【０００２】
従来，インターネットにおいて，複数のユーザ間で，文章を用いた会話を行うための，リアルタイム性の高いチャットが人気を集めている。今日では携帯電話の爆発的普及により，携帯電話からの利用を考慮したチャットシステムも提案されている。例えば，特許文献１は，複数のユーザが携帯電話などで投稿した「発言」を，携帯電話会社の違い等に依らない形式である電子メールを利用し，一括して配信する，メールチャットシステムを提案している。
【０００３】
【特許文献１】特開２００４−２５２６１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
電子メールを利用したチャットシステムを，携帯電話等のプッシュアーキテクチャをもつ端末からではなく，PC等の，プッシュアーキテクチャを持たない端末から利用する場合，端末は，電子メールの到着を一定間隔で受信サーバに問い合わせる必要があるため，電子メール受信（すなわち，「会話」を聞くこと）のタイミングが，チャットに参加している他の端末と同期しない場合がある。そのため，プッシュアーキテクチャを持たない端末では，発言（文章を書き込むこと）した内容と他ユーザの会話内容がかみ合わないという問題が生じることがある。
【０００５】
プッシュアーキテクチャを持たない端末で，サーバ装置でのイベント発生を契機としてデータを取得する方法として，端末からサーバ装置へのデータ取得要求に対して，サーバ装置上にデータが無かった場合，サーバ装置が一定時間だけ応答を保留する擬似プッシュアーキテクチャが存在する（例えば，特許文献２参照）。しかし，該手法は，応答を保留する仕組みを追加する必要があるため，すでに設置されている既存のサーバ装置を改造する必要があり，容易に実現することはできない。また，端末からの接続をサーバ装置が保留しなければならないため，サーバ装置の負荷が増大する。
【０００６】
【特許文献２】特開２００２−３４２２０１号公報
【課題を解決するための手段】
【０００７】
本発明は，プッシュアーキテクチャを持たない端末からも利用可能な，既存のサーバ装置を利用した，会話内容にずれを生じさせないメールチャットシステムを提供する。
【０００８】
本発明では，端末群とサーバ装置間の通信路に，中継装置を設置する。該中継装置は，端末からサーバ装置へのデータの受信要求（すなわち，会話内容の受信要求）を受け付けると，該要求をサーバ装置へ中継せず，応答を保留する。そして，中継装置は，端末からサーバ装置へのデータ送信（すなわち，端末の発言）の中継を契機として，サーバ装置から該データ（未配信の会話内容）を受信し，保留している端末の要求に応答する。これにより，複数端末からの，会話内容の受信要求に対して，同じ契機によりデータ（会話内容）を配信することができる。
【０００９】
本発明の中継装置は，端末から一定数のデータ送信要求（発言）を受け付けたり，一定時間が経過したりしたことを契機として，複数端末に，同報的にデータ（会話内容）を配信する。また，複数のデータ（会話内容）を１つの応答にまとめて端末へ配信することにより，端末とサーバ装置間の通信量を削減する。
【００１０】
本発明の中継装置は，端末からの要求に含まれる制御文を解釈して，予め定めた処理を行う。これにより，保留中の要求の情報を端末に通知したり，端末を認証したりする。
【００１１】
本発明の中継装置を，端末群とサーバ装置間の通信路中に複数台設置してもよい。各中継装置は，互いに情報を交換することにより，複数の中継装置から，同じ契機でデータを端末へ配信できる。これにより，各中継装置に掛かる負荷を分散することが可能である。
【００１２】
より具体的な，本発明の一態様は，例えば，複数の端末とサーバ装置とに，ネットワークを介して接続する中継装置であって，ひとつ以上の端末からサーバ装置へのデータ受信要求を受信し，送信を保留するデータ受信要求受付部と，いずれかの端末からサーバ装置へのデータ送信要求を中継する送信要求中継部と，送信要求中継部が，いずれかの端末からサーバ装置へのデータ送信要求を中継したことを契機として，保留しているデータ受信要求に基づくデータ受信をサーバ装置に要求して，要求データを受信するデータ受信要求部と，データ受信要求部がサーバ装置から受信した要求データに基づき，保留しているデータ受信要求への応答データを作成し，応答データをひとつ以上の端末に送信するデータ応答作成部と，を備えることを特徴とする。
【００１３】
また，上記データ受信要求受付部は，保留しているデータ受信要求について，送信元の端末のアドレスと，受信を要求するデータのアドレスと位置とを特定するデータ受信要求先と，を接続情報として管理するものであってもよい。
【００１４】
また，データ受信要求部は，接続情報を参照し，データ送信要求元の端末のアドレスが，接続情報に記されたデータ受信要求の送信元である端末のアドレスと等しいエントリに記された，データ受信要求先に，保留しているデータ受信要求に基づくデータ受信要求を送信するものであってもよい。
【００１５】
また，データ応答作成部は，接続情報を参照し，接続情報に記されたデータ受信要求先が，データ送信要求に記されたデータ送信要求先と等しいエントリに記された，当該データ受信要求の送信元である端末を送信先とする応答データを，送信したデータ受信要求に対してデータ受信要求先から受信したデータから作成するものであってもよい。
【００１６】
また，データ受信要求受付部は，保留中のデータ要求の送信元である端末が処理可能なプロトコルを接続情報として管理し，データ応答作成部は，保留中のデータ要求の送信元である端末が処理可能なプロトコルに従って，応答データを作成するものであってもよい。
【００１７】
本発明の上記並びにその他の特徴は，以下の実施形態や添付図面に基づく，より詳細な説明によって明らかになるであろう。
【発明の効果】
【００１８】
本発明によれば，既存のサーバ装置とプッシュアーキテクチャを持たない端末とを利用して，会話内容にずれを生じさせない，リアルタイム性の高いメールチャットシステムを提供できる。
【発明を実施するための最良の形態】
【００１９】
以下，本発明の実施の形態について図面を参照して説明する。
【００２０】
図１は実施形態１〜４の中継装置を用いた通信システムの構成例を示す。
【００２１】
図１に示すように，本通信システムは，１つ以上の端末１０１と，受信したデータを受信サーバ１０４へ転送する送信サーバ１０３と，要求元にデータを配信する受信サーバ１０４と，中継装置１０２と，がネットワーク１０５を介して接続されて構成される。例えば，該データが電子メールの場合は，送信サーバ１０３はＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ等であり，受信サーバ１０４はＩＭＡＰ（Ｉｎｔｅｒｎｅｔ  Ｍｅｓｓａｇｅ Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）サーバ等である。送信サーバ１０３と受信サーバ１０４は，それぞれ複数台存在することも可能である。また，受信サーバ１０４の機能と送信サーバ１０３の機能を一つのサーバ装置で実現してもよい。
【００２２】
なお，実施例１〜３では，中継装置１０２が一台の場合の実施形態を説明する。
【実施例１】
【００２３】
図２に，実施例１〜３の中継装置１０２の機能構成を例示する。
【００２４】
図２に示すように，中継装置１０２−Ａは，端末１０１からのデータ受信要求２０２を受け付け，保留することが可能なデータ受信要求受付部２１０と，データ受信要求送信元の端末情報とデータ受信要求先の情報を対応付けて記憶する接続情報記憶部２２２と，該記憶情報を管理する接続情報管理部２２０と，端末からのデータ送信２０４を送信サーバ１０３に中継するデータ送信中継部２１２と，受信サーバ１０４へデータの移動や取得を要求するデータ受信要求部２１４と，保留中のデータ受信要求２０２に対する応答を作成するデータ応答作成部２１６を有する。
【００２５】
なお，要求制御部２２４と，制御文解析・応答作成部２２６は，実施例１では利用せず，それぞれ実施例２，実施例３で用いる。
【００２６】
図３は，実施例１〜４で用いる中継装置１０２の物理構成を示した図である。中継装置１０２は，以下に説明する各処理部とそれらによる処理を，プログラムを実行することにより実現するプロセッサ５０１と，実行するプログラムやデータを読み込んで一時的に保持するメモリ装置５０２と，外部からの指示や情報を入力するための入力装置５０３と，プログラム等を格納したり，データの記憶部として使用されたりするディスク装置５０４と，中継装置１０２の内部とネットワーク１０５との間でのデータのやり取りを制御する通信制御装置５０５と，中継装置１０２の内部でデータのやり取りを行うためのバスなどの内部通信線（内部バスという）５０６とを備えるコンピュータで実現することができる。
【００２７】
上記プログラムは，あらかじめ，上記コンピュータ内のディスク装置５０４に格納されていても良いし，必要なときに，通信制御装置５０５または図示していない周辺機器制御装置と，上記コンピュータが利用可能な媒体を介して，他の装置からディスク装置５０４に導入されてもよい。媒体とは，例えば，入出力インタフェースに着脱可能な記憶媒体，または通信媒体（すなわちネットワークまたはネットワークを伝搬する搬送波やディジタル信号）を指す。
【００２８】
図４は，実施例１の接続情報記憶部２２２が記憶する，データ受信要求送信元の端末情報と要求先の受信サーバの情報を対応付けた表（以下，接続情報と呼称する）の一例である。接続情報Ｄ００のエントリは，接続情報管理部２２０によって，データ受信要求受付部２１０が端末１０１からデータ受信要求を受信した際に登録され，データ受信要求受付部２１０が対応する要求へ応答を返す際に削除される。
【００２９】
接続情報Ｄ００の各エントリは，端末情報Ｄ０２と，データ受信要求先情報Ｄ０４を有する。端末情報Ｄ０２は，一意の識別番号Ｄ０６と，データ受信要求元のネットワーク１０５上の端末アドレスＤ０８（ＩＰアドレス等）と，データ受信要求元がデータ受信要求に使用するプロトコルＤ１４を含む。データ受信要求先情報Ｄ０４は，データ受信要求先の受信サーバの（Ｄ０８と同様の）宛先アドレスＤ１０と，要求するデータの受信サーバ内の位置を示す要求データ位置Ｄ１２を含む。要求データ位置は，電子メールを例に取ると，「news/sports」等のメールボックス名である。この要求データ位置がチャットルームに相当する。
【００３０】
図５は，第１の実施例における通信シーケンスの一例である。端末１０１−１から，繰り返し（例えば定期的に）送信される，受信サーバ１０４に対するデータ受信要求（Ｓ３０２−１）を，データ受信要求受付部２１０が受信し，データ受信要求受付部２１０は該要求への応答を端末へ返さずに保留する（Ｓ３０４−１）。データ受信要求受付部２１０は，１つの端末からのデータ受信要求（Ｓ３０２−１）を保留中でも，他の端末からの複数のデータ受信要求（Ｓ３０２−Ｎ）を受付け，それを保留する（Ｓ３０４−Ｎ）。データ受信要求受付部２１０がデータ受信要求を受信する際，接続情報管理部２２０は接続情報記憶部２２２の接続情報Ｄ００にエントリを登録する。
【００３１】
そして，端末１０１がチャットの発言としてデータ送信要求を，受信サーバ１０４を宛先として送信サーバ１０３へ送信する（Ｓ３０６）と，送信要求中継部２１２が該要求を受信し，送信サーバ１０３に中継する。送信サーバ１０３からのデータ送信応答も，送信要求中継部２１２が該端末へ中継（Ｓ３０８）する。送信サーバ１０３は，中継装置１０２から受信したデータを受けて，受信サーバ１０４に，該データのデータ転送（Ｓ３１０）を行う。例えば電子メールの場合，データの送信・転送のプロトコルにはＳＭＴＰ等を使用する。
【００３２】
データ受信要求部２１４は，送信要求中継部２１２がデータ送信要求（Ｓ３０６）を送信サーバ１０３へ中継することを契機として，受信サーバ１０４からデータを取得する。受信サーバ１０４の宛先アドレスには，接続情報Ｄ００の端末アドレスＤ０８にデータ送信要求元の端末アドレスと等しい値を持つエントリの，宛先アドレスＤ１０を使用する。
【００３３】
受信サーバ１０４が受信したデータ全てを１つのディレクトリ等に格納する構成の場合（IMAPサーバの場合，メールボックス「INBOX」に格納する），発言者のチャットルームに相当する受信サーバ内の要求データ位置に，発言者からのデータを移動する必要がある。データの移動先には，接続情報Ｄ００の端末アドレスＤ０８に，データ送信要求元の端末アドレスと等しい値を持つエントリの要求データ位置Ｄ１２を使用する。
【００３４】
データ受信要求部２１４は，受信サーバを決定し（Ｓ３１２），受信サーバ１０４の要求データ位置Ｄ１２へ該データを移動するデータ移動要求（Ｓ３１４）を発行し，応答（Ｓ３１６）を受信する。該応答によりデータの移動成功を認識した後，データ受信要求部２１４は，受信サーバ１０４へデータ受信要求（Ｓ３１８）を発行し，応答（Ｓ２２０）を受信する。データの移動要求（Ｓ３１８）は，必要なければ省略する。
【００３５】
以下に，データ移動要求（Ｓ３１４）とデータ受信要求（Ｓ３１８）の一例を示す。例えば，受信サーバ１０４がＩＭＡＰサーバであり，メッセージ番号１のデータをメールボックス"news/sports"に移動する場合，データ移動要求（Ｓ３１４）は，
００１  ＣＯＰＹ  １  "news/sports"
００２  ＳＴＯＲＥ  ＤＥＬＥＴＥＤ  １
となる。メールボックス"news/sports"のメッセージ番号１のデータを受信する場合，データ受信要求（Ｓ３１８）は，
００３  ＳＥＬＥＣＴ  "news/sports"
００４  ＦＥＴＣＨ  １
となる。
【００３６】
データ応答作成部２１６は，保留中の要求の中から，データ送信要求元エントリの要求データ位置Ｄ１２と等しい要求データ位置Ｄ１２のエントリを持つ（同じチャットルームを選択している）要求を選択して（Ｓ３２２），受信したデータから応答データを作成し（Ｓ３２４），保留中の要求へ応答（Ｓ３２６−１，Ｓ３２６−Ｎ）を返す。
【００３７】
図６は，中継装置１０２が，端末１０１から受信したデータ受信要求を保留する処理のフローチャートである。これは，図５において，ステップＳ３３０の処理に該当する。
【００３８】
データ受信要求受付部２１０は，ステップＳ３３０の処理を繰り返し，例えば一定間隔で開始する。データ受信要求受付部２１０は，端末１０１からデータ受信要求を受け付けているかどうかを判定し，データ受信要求を受け付けていれば（Ｆ１０２でYES），該要求に対する応答は返さず，接続を保持する。接続情報管理部２２０は，データ受信要求の内容を，接続情報Ｄ００のエントリとして，端末情報Ｄ０２とデータ受信要求先情報Ｄ０４を接続情報記録部２２２に記憶する（Ｆ１０４）。
【００３９】
データ受信要求受付部２１０は，図６の処理フローを繰り返し実行し，端末からのデータ受信要求を受け付け続ける。データ受信要求受付部２１０が受け付ける要求は，端末ごとに異なるプロトコルでも構わない。
【００４０】
図７は，図５のステップＳ３３２に該当し，データ受信要求部２１４が，端末１０１から送信サーバ１０３へのデータ送信要求を送信要求中継部２１２が中継（図１８のステップＳ３０６）することを契機として，受信サーバ１０４へ該データの移動と取得を要求する処理を示すフローチャートである。
【００４１】
データ受信要求部２１４は，データ送信要求元の端末１０１の端末アドレスが，端末情報Ｄ０２に登録されているかどうかを判定する（Ｆ２０２）。端末アドレスが登録されているエントリがあれば（Ｆ２０２でYES），受信サーバ１０４の宛先アドレスＤ１０と要求データ位置Ｄ１２の値を，対応付けられたデータ受信要求先情報Ｄ０４から取得する（Ｆ２０４）。要求データ位置Ｄ１２に該データを移動することで，受信サーバ１０３はチャットルーム毎に発言内容を保存できる。データ送信要求元の端末１０１が受信要求していないなど，該端末１０１の端末アドレスが，端末情報Ｄ０２に登録されていなければ（Ｆ２０２でNO），受信サーバ１０４のアドレスとデータの移動先には，予め定めたアドレスとデータの移動先を用いる（Ｆ２０６）。
【００４２】
そして，中継装置１０２は，決定した宛先の受信サーバ１０４に対して，送信サーバ１０３へ中継したデータを，決定したデータ移動先へ移動するよう要求する（Ｆ２０８）。該データがネットワーク遅延等により受信サーバ１０４に到着していない等で要求が失敗した場合（Ｆ２０８でNO）は，一定回数再要求を試みる（Ｆ２１４）。要求成功後（Ｆ２０８でYES），中継装置１０２は，受信サーバ１０４に該データを要求し，データを取得する（Ｆ２１０）。先のデータ移動と同様に，この要求が失敗した場合（Ｆ２１０でNO）も，一定回数再要求を試みる（Ｆ２１６）。一定回数を超えて要求に失敗した場合（Ｆ２１４，Ｆ２１６でYES）は，データ応答作成部２１６がデータの受信に失敗した旨の応答を作成し，保留中のデータ受信要求に応答する。
【００４３】
上記ステップＦ２０６において，端末１０１の端末アドレスが，端末情報Ｄ０２に登録されていない場合は，発言を中継せずに，エラーを応答しても良い。
【００４４】
図８は，図５のステップＳ３３４に該当し，データ応答作成部２１６が，受信サーバ１０４からデータ応答を受信すること（Ｓ３２０）を契機として，データ受信要求を保留中の端末に，応答データを返す処理を示すフローチャートである。中継装置１０２は，データ受信要求を保留中の端末であって，接続情報Ｄ００において，データ送信要求元の端末と等しいデータ受信要求先情報Ｄ０４を持つ端末を，応答先として選択する（Ｆ３０２）。
【００４５】
例えば，中継装置１０２が，端末１０１−１からのデータ送信要求を送信サーバ１０３へ中継した場合，図４のような接続情報Ｄ００を保持していたとすると，端末アドレスＤ０８が"１０１−１"であるレコードのデータ受信要求先情報Ｄ０４をレコード選択のキーとする。そして，該キーと等しいデータ受信要求先情報（１０４−１，Ｍ１）を持つレコードを選択する。この場合，識別番号Ｄ０６が”１”と”２”のレコードの端末を，応答先として選択する。
【００４６】
次に，選択した端末に応答するデータを，受信サーバ１０４から受信したデータを基に作成する（Ｆ３０４）。この際，データ応答作成部２１６は端末ごとに異なる応答データを作成することも可能である。例えば，接続情報Ｄ００におけるプロトコルＤ１４ごとに異なる応答データを作成する。そして，中継装置１０２は，選択した保留中のデータ受信要求に対して，作成したデータを応答する（Ｆ３０６）。データ応答作成部２１６は，データ応答後，接続情報Ｄ００における，応答したデータ受信要求のエントリを削除する。
【００４７】
以上，本実施例によれば，いずれかの端末による，チャットの発言に相当するデータ送信要求を契機として，複数端末に，会話内容に相当するデータを配信することが可能となり，プッシュアーキテクチャを持たない端末から利用可能な，既存サーバを用いた，会話内容にずれを生じさせない，リアルタイム性の高いメールチャットシステムを実現する中継装置を提供できる。
【実施例２】
【００４８】
第２の実施例は，送信要求中継部２１２が端末１０１からのデータ送信要求を中継しても，データ受信要求部２１４は必ずしもすぐには受信サーバ１０４へデータ受信を要求せず，ある端末が一定数以上発言，および／または，一定数以上の端末が発言したり，予め定めた期間が過ぎたりした場合に，受信サーバ１０４からデータ受信を要求する形態である。
【００４９】
図９は，接続情報記憶部２２２が記憶する，本実施例における接続情報Ｄ２０の一例である。接続情報Ｄ２０は，実施例１の接続情報Ｄ００に加えて，端末１０１が最後にデータ応答を受信してから現在までの，発言数（データ送信回数）である発言数Ｄ２２と，送信要求中継部２１２が送信サーバ１０３にデータ送信要求を中継してから，受信サーバ１０４へデータを要求せずに待機している待ち時間Ｄ２４を含む。この待ち時間Ｄ２４はタイマにより接続情報管理部２２０が所定時間ごとに更新する。
【００５０】
実施例２の中継装置１０２−Ａは，図２に示す構成を備える。上述のように，本実施例では，実施例１では利用しなかった，受信サーバへのデータ受信要求を制御する要求制御部２２４を利用する。要求制御部２２４は，送信要求中継部２１２がデータ送信要求を送信サーバ１０３へ中継した際，接続情報Ｄ２０を参照して，受信サーバ１０４へのデータ受信要求を必要に応じて保留する。
【００５１】
図１０は，実施例２の通信シーケンスの一例である。本通信シーケンスにおいて，端末１０１−Ｎからのデータ送信要求を中継装置１０２が送信サーバ１０３へ中継するまでの通信シーケンス（Ｓ３０２−１〜Ｓ３１０−Ｎ）は，図５に示す実施例１の通信シーケンスと等しい。
【００５２】
要求制御部２２４は，送信要求中継部２１２が該データ受信要求を中継後，受信サーバ１０４にデータを要求するかどうかを，後述の処理により判定する（Ｓ４１２−Ｎ）。このステップでは，データを要求しないと判定する。
【００５３】
送信要求中継部２１２が端末１０１−１からのデータ送信要求を受信（Ｓ３０６−１）し，中継して応答を返す（Ｓ３０８−１）。送信サーバ１０３は受信サーバ１０４にデータ転送（Ｓ３１０−１）を行う。該データの転送を契機として，要求制御部２２４は再び，受信サーバ１０４にデータを要求するかどうかを，後述の処理により判定する（Ｓ４１２−１）。このステップでは，データを要求すると判定し，受信サーバ１０４からデータを受信するための処理（Ｓ３１２〜Ｓ３２０）を開始する。この処理は，実施例１の通信シーケンスと等しい。
【００５４】
図１１は，要求制御部２２４が，受信サーバ１０４へデータの移動と取得を要求するかどうか判定する処理のフローチャートである。この処理は，図１０の，ステップＳ４１２の処理に該当する。本処理は，送信要求中継部２１２が，端末１０１から送信サーバ１０３へのデータ送信要求を中継する（Ｓ３０６−Ｎ）ことを契機として開始する。
【００５５】
まず，接続情報Ｄ２０において，データ送信要求元の端末１０１の発言数Ｄ２２を１増やす（Ｆ４０２）。次に，接続情報Ｄ２０において，データ送信要求元端末１０１と等しいデータ受信要求先情報Ｄ０４を持つエントリを，グループとして選択する（Ｆ４０４）。要求制御部２２４は，グループ内で発言数が１以上のエントリが予め定めた数を超えるか，もしくは，グループ内のエントリの総発言数が予め定めた数を超えるかどうかを判定する（Ｆ４０６）。この判定の結果，該値が一定数を超えていれば（Ｆ４０６でYES），グループ内のエントリの発言数Ｄ２２を全て０に戻し（Ｆ４１０），データ受信要求部２１４が受信サーバ１０４からデータ受信処理（Ｓ３１２〜Ｓ３２０）を行う。このデータ受信処理は図７に示した処理と等しい。
【００５６】
一定数を超えていない場合（Ｆ４０６でNO）は，要求制御部２２４は，接続情報Ｄ２０において，送信元の端末情報Ｄ０２に対応する待ち時間Ｄ２４を参照する。待ち時間Ｄ２４が一定時間を超えていれば，ステップＦ４１０以降の処理を行う（Ｆ４０８でYES）。待ち時間が一定時間を超えていなければ（Ｆ４０８でNO）本処理を終了する。そして，新たなデータ送信要求の中継がなければ，一定時間後に，再びステップＦ４１４から処理を開始し，待ち時間Ｄ２４に関する判定（Ｆ４０８）を行う。
【００５７】
以上，本実施例によれば，中継装置１０２は，一定期間内の端末の発言内容を纏めて端末に応答したり，チャットに参加している端末全員の発言を纏めて端末に応答したりする。この結果，端末１０１は，ある程度纏まった会話内容を受信できるため，実施例１の効果に加え，端末とサーバ装置間の通信量も削減できるという更なる効果を奏する。
【実施例３】
【００５８】
第３の実施例は，端末１０１からのデータ受信要求，またはデータ送信要求の中に中継装置１０２に対する制御文が含まれ，中継装置１０２がこれを解釈し，指定された処理を実行する形態である。
【００５９】
実施例３の中継装置１０２−Ａは，図２に示す構成を備える。上述のように，本実施例では，実施例１では利用しなかった，端末１０１からの要求の特定部分に含まれる制御文を解析し，応答を作成する制御文解析・応答作成部２２６を有する。
【００６０】
図１２は，中継装置１０２が記憶する，制御情報Ｄ３０の一例である。制御情報Ｄ３０は，制御文解析・応答作成部２２６が解釈する制御文Ｄ３２と，該制御文が記述される位置を示す記述位置Ｄ３４と，該制御文を受信した際に中継装置１０２が行う処理内容Ｄ３６を対応付けた表である。
【００６１】
図１３は，第３の実施例における，通信シーケンスの一例である。中継装置１０２は，端末１０１−１から制御文Ｄ３２を含むデータ送信要求を受信（Ｓ５００）し，受信した制御文に従った応答を返す（Ｓ５０２）。
【００６２】
図１４は，中継装置１０２が，端末１０１からの要求が含む制御文に従って特定の処理を実行するフローチャートである。本処理は，端末１０１からのデータ受信要求，またはデータ送信要求を，中継装置１０２が受信することを契機として開始する。制御文解析・応答作成部２２６は，受信した要求の特定部分に，制御情報Ｄ３０に記述された制御文Ｄ３２が存在するかどうか解析する。この特定部分は，記述位置Ｄ３４により指定する。記述位置Ｄ３４は，電子メールを例に取ると，Ｓｕｂｊｅｃｔヘッダの値等である。
【００６３】
該要求が制御文Ｄ３２を含まなければ（Ｆ５０２でNO），制御文解析・応答作成部２２６は本処理を終了する。該要求が制御文Ｄ３２を含めば（Ｆ５０２でYES），制御文解析・応答作成部２２６は制御情報Ｄ３０に従って，該制御文に対応する処理を実行する（Ｆ５０４）。
【００６４】
制御文解析・応答作成部２２６が，制御文に従って実行する処理（Ｆ５０４）の例を次に挙げる。
【００６５】
図１５は，制御文解析・応答作成部２２６が，特定の要求先（チャットルーム）へのデータ受信要求を幾つ保留しているか（チャットルームへの参加者数）を調べて，その結果を端末へ応答する処理のフローチャートである。本処理は，図１４において，ステップＦ５０４の処理に該当する。
【００６６】
まず，制御文解析・応答作成部２２６は，該要求の特定部分に含まれるデータ受信要求先情報Ｄ０４を取得する（Ｆ５５２）。該データ受信要求先情報Ｄ０４の取得に失敗した場合（Ｆ５５２でNO），制御文解析・応答作成部２２６はエラーメッセージを含む応答データを作成し端末へ応答する（Ｆ５５８）。データ受信要求先情報の取得に成功した場合（Ｆ５５２でYES），接続情報Ｄ００において，取得したデータ受信要求先情報と等しいデータ受信要求先情報Ｄ０４を持つ端末数を取得する（Ｆ５５４）。そして，制御文解析・応答作成部２２６は取得した該端末数を含む応答データを作成し，端末へ応答する（Ｆ５５６）。
【００６７】
図１６は，データ受信要求が含むユーザ名とパスワードを用いて，受信サーバへのデータ受信要求に制限を掛ける処理のフローチャートである。本処理は，図１４において，ステップＦ５０４の処理に該当する。
【００６８】
制御文解析・応答作成部２２６は，データ受信要求の特定部分からユーザ名とパスワードを取得する（Ｆ６０２でYES）。制御文解析・応答作成部２２６は，許可するユーザ名とパスワードの組み合わせを予め記憶しており，取得したユーザ名とパスワードが許可するものかどうかを判定する（Ｆ６０４）。ユーザ名とパスワードが含まれておらず，取得に失敗したり（Ｆ６０２でNO），許可するものではなかったりした場合（Ｆ６０４でNO）は，制御文解析・応答作成部２２６は，認証に失敗した旨のエラーメッセージを作成し，データ受信要求受付部２１０により端末へ応答し，当該データ受信要求を拒否する（Ｆ６０６）。
【００６９】
ユーザ名とパスワードが許可するものである場合（Ｆ６０４でYES）は，以降，実施例１と同様に処理を行う。
【００７０】
以上，本実施例によれば，中継装置１０２により，端末１０１からの制御文を解釈して特定の処理を実行できるため，実施例１の効果に加え，端末１０１へチャットルームの参加人数を通知したり，特定のチャットルームへの入室に認証を要求したり，という更なる効果を奏する。
【実施例４】
【００７１】
第４の実施例は，図１に示すとおり，複数の中継装置１０２を設置して，負荷を分散させる形態である。
【００７２】
各中継装置１０２同士はネットワーク１０５，もしくは専用の通信路により接続する。
【００７３】
図１７は，実施例４の中継装置１０２−Ｂの構成を示す。中継装置１０２−Ｂは図１７に示すように，データ受信要求先情報２５２を送受信するデータ受信要求先情報送受信部２２８を有する。それ以外の構成は実施例１の中継装置１０２−Ａの構成と等しい。
【００７４】
図１８は，実施例４の通信シーケンスの一例である。
【００７５】
中継装置１０２−１の送信要求中継部２１２が，端末１０１から送信サーバへのデータ送信要求（Ｓ３０６）と，その応答（Ｓ３０８）を中継し，送信サーバ１０３が受信サーバ１０４にデータを転送（Ｓ３１０）する。
このデータ送信要求（Ｓ３０６）の中継を契機として，中継装置１０２−１のデータ受信要求先情報送受信部２２８は，通信可能な一部または全ての他の中継装置１０２−Ｎに対して，マルチキャスト等により，データ送信要求元端末のデータ受信要求先情報２３０を送信（Ｓ６０４）する。
【００７６】
このデータ受信要求先情報２３０を受信した他の中継装置１０２−Ｎのデータ受信要求先情報送受信部２２８は，該情報を受信した旨の応答を返す（Ｓ６０６）。なお，このデータ受信要求先情報２３０は，他のルータ等の装置を介して送受信することも可能である。
【００７７】
中継装置１０２−１のデータ受信要求部２１４は受信サーバ１０４へデータ移動要求を発行（Ｓ３１４）し，応答を受ける（Ｓ３１６）。その後，中継装置１０２のデータ受信要求部２１４は受信サーバ１０４へデータ受信要求を発行（Ｓ３１８）し，応答を受ける（Ｓ３２０）。
【００７８】
また，中継装置１０２−Ｎのデータ受信要求部２１４も，受信したデータ受信要求先情報２３０を契機として，受信サーバ１０４へデータ受信要求を発行（Ｓ６１６）し，応答を受信（Ｓ６１８）する。以降，各中継装置１０２−１，１０２−Ｎのデータ応答先作成部２１６はそれぞれ，実施例１のステップＳ３２２以降の通信シーケンスに従い，保留中の要求に応答する。
【００７９】
以上，本実施例によれば，端末群とサーバ装置との間の通信路に，複数の中継装置１０２を設置でき，１つの中継装置がデータ送信要求を中継することを契機とし，複数の中継装置１０２が分担して，複数の端末１０１にデータを配信できる。これにより，実施例１の効果に加え，各中継装置１０２に掛かる負荷を分散することができ，多数の端末１０１からの要求に応えることが可能となる，という更なる効果を奏する。
【００８０】
また，実施例１〜４を任意に組み合わせることも可能であり，組み合わせにより，それぞれの効果を併せ持つ中継装置を提供可能になる。
【図面の簡単な説明】
【００８１】
【図１】実施形態における通信システムの論理構成例である。
【図２】実施例１〜３における中継装置の構成例である。
【図３】中継装置を実現する情報処理装置の構成例である。（実施例１）
【図４】実施例１における，接続情報記憶部に格納された接続情報例である。
【図５】実施例１における，端末，中継装置，サーバ装置間の通信シーケンスを例示する図である。
【図６】実施例１におけるデータ受信要求受信フローを例示するフローチャートである。
【図７】実施例１における受信サーバへのデータ受信要求フローを例示するフローチャートである。
【図８】実施例１における要求への応答処理を例示するフローチャートである。
【図９】実施例２における，接続情報記憶部に格納された接続情報例である。
【図１０】実施例２における，端末，中継装置，サーバ装置間の通信シーケンスを例示する図である。
【図１１】実施例２における受信サーバへデータを要求するかどうか判定する一実施例のフローチャートである。
【図１２】実施例３における，接続情報記憶部に格納された制御情報例である。
【図１３】実施例３における端末，中継装置間の通信シーケンスを例示する図である。
【図１４】実施例３における，要求に含まれる制御文を解釈し，対応する処理を例示するフローチャートである。
【図１５】実施例３における，保留中の要求の情報を通知する処理を例示するフローチャートである。
【図１６】実施例３における要求に対して認証を行う処理を例示するフローチャートである。
【図１７】実施例４における中継装置の構成例である。
【図１８】実施例４における，端末，中継装置，サーバ装置間の通信シーケンスを例示する図である。
【符号の説明】
【００８２】
１０１：端末，１０２：中継装置，１０３：送信サーバ，１０４：受信サーバ，２１０：データ受信要求受付部，２１２：送信要求中継部，２１４：データ受信要求部，２１６：データ応答作成部，２２０：接続情報管理部，２２２：接続情報記憶部，２２４：要求制御部，２２６：制御文解析・応答作成部，２２８：データ受信要求先情報送受信部，２２２：接続情報記憶部，Ｄ００：接続情報（実施例１），Ｄ２０：接続情報（実施例２），Ｄ３０：制御情報（実施例３）
【図１】
2009199378.tif 000003
【図２】
2009199378.tif 000004
【図３】
2009199378.tif 000005
【図４】
2009199378.tif 000006
【図５】
2009199378.tif 000007
【図６】
2009199378.tif 000008
【図７】
2009199378.tif 000009
【図８】
2009199378.tif 000010
【図９】
2009199378.tif 000011
【図１０】
2009199378.tif 000012
【図１１】
2009199378.tif 000013
【図１２】
2009199378.tif 000014
【図１３】
2009199378.tif 000015
【図１４】
2009199378.tif 000016
【図１５】
2009199378.tif 000017
【図１６】
2009199378.tif 000018
【図１７】
2009199378.tif 000019
【図１８】
2009199378.tif 000020