JP2009199378A - メールチャットシステムに用いる中継装置 - Google Patents
メールチャットシステムに用いる中継装置 Download PDFInfo
- Publication number
- JP2009199378A JP2009199378A JP2008040821A JP2008040821A JP2009199378A JP 2009199378 A JP2009199378 A JP 2009199378A JP 2008040821 A JP2008040821 A JP 2008040821A JP 2008040821 A JP2008040821 A JP 2008040821A JP 2009199378 A JP2009199378 A JP 2009199378A
- Authority
- JP
- Japan
- Prior art keywords
- data
- request
- data reception
- reception request
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
【課題】プッシュアーキテクチャを持たない端末から利用可能な,既存サーバ装置を利用したメールチャットシステムを提供する。
【解決手段】送信サーバと受信サーバからなるサーバ装置群と端末との間の通信路上に設置する中継装置において,端末から受信サーバへのデータ受信要求を受信サーバへ中継せず応答を保留し,端末から送信サーバへのデータ送信があれば,該データを送信サーバへ中継し,該中継を契機として受信サーバから該データを取得し,該データからデータ応答を作成して,保留中のデータ受信要求に対して応答する。
【選択図】図5
【解決手段】送信サーバと受信サーバからなるサーバ装置群と端末との間の通信路上に設置する中継装置において,端末から受信サーバへのデータ受信要求を受信サーバへ中継せず応答を保留し,端末から送信サーバへのデータ送信があれば,該データを送信サーバへ中継し,該中継を契機として受信サーバから該データを取得し,該データからデータ応答を作成して,保留中のデータ受信要求に対して応答する。
【選択図】図5
Description
本発明はWWW(World Wide Web)等,サーバ装置と端末間でデータを通信するネットワークシステムにおいて,端末とサーバ装置との間の通信路上に設置される中継装置に関する。
従来,インターネットにおいて,複数のユーザ間で,文章を用いた会話を行うための,リアルタイム性の高いチャットが人気を集めている。今日では携帯電話の爆発的普及により,携帯電話からの利用を考慮したチャットシステムも提案されている。例えば,特許文献1は,複数のユーザが携帯電話などで投稿した「発言」を,携帯電話会社の違い等に依らない形式である電子メールを利用し,一括して配信する,メールチャットシステムを提案している。
電子メールを利用したチャットシステムを,携帯電話等のプッシュアーキテクチャをもつ端末からではなく,PC等の,プッシュアーキテクチャを持たない端末から利用する場合,端末は,電子メールの到着を一定間隔で受信サーバに問い合わせる必要があるため,電子メール受信(すなわち,「会話」を聞くこと)のタイミングが,チャットに参加している他の端末と同期しない場合がある。そのため,プッシュアーキテクチャを持たない端末では,発言(文章を書き込むこと)した内容と他ユーザの会話内容がかみ合わないという問題が生じることがある。
プッシュアーキテクチャを持たない端末で,サーバ装置でのイベント発生を契機としてデータを取得する方法として,端末からサーバ装置へのデータ取得要求に対して,サーバ装置上にデータが無かった場合,サーバ装置が一定時間だけ応答を保留する擬似プッシュアーキテクチャが存在する(例えば,特許文献2参照)。しかし,該手法は,応答を保留する仕組みを追加する必要があるため,すでに設置されている既存のサーバ装置を改造する必要があり,容易に実現することはできない。また,端末からの接続をサーバ装置が保留しなければならないため,サーバ装置の負荷が増大する。
本発明は,プッシュアーキテクチャを持たない端末からも利用可能な,既存のサーバ装置を利用した,会話内容にずれを生じさせないメールチャットシステムを提供する。
本発明では,端末群とサーバ装置間の通信路に,中継装置を設置する。該中継装置は,端末からサーバ装置へのデータの受信要求(すなわち,会話内容の受信要求)を受け付けると,該要求をサーバ装置へ中継せず,応答を保留する。そして,中継装置は,端末からサーバ装置へのデータ送信(すなわち,端末の発言)の中継を契機として,サーバ装置から該データ(未配信の会話内容)を受信し,保留している端末の要求に応答する。これにより,複数端末からの,会話内容の受信要求に対して,同じ契機によりデータ(会話内容)を配信することができる。
本発明の中継装置は,端末から一定数のデータ送信要求(発言)を受け付けたり,一定時間が経過したりしたことを契機として,複数端末に,同報的にデータ(会話内容)を配信する。また,複数のデータ(会話内容)を1つの応答にまとめて端末へ配信することにより,端末とサーバ装置間の通信量を削減する。
本発明の中継装置は,端末からの要求に含まれる制御文を解釈して,予め定めた処理を行う。これにより,保留中の要求の情報を端末に通知したり,端末を認証したりする。
本発明の中継装置を,端末群とサーバ装置間の通信路中に複数台設置してもよい。各中継装置は,互いに情報を交換することにより,複数の中継装置から,同じ契機でデータを端末へ配信できる。これにより,各中継装置に掛かる負荷を分散することが可能である。
より具体的な,本発明の一態様は,例えば,複数の端末とサーバ装置とに,ネットワークを介して接続する中継装置であって,ひとつ以上の端末からサーバ装置へのデータ受信要求を受信し,送信を保留するデータ受信要求受付部と,いずれかの端末からサーバ装置へのデータ送信要求を中継する送信要求中継部と,送信要求中継部が,いずれかの端末からサーバ装置へのデータ送信要求を中継したことを契機として,保留しているデータ受信要求に基づくデータ受信をサーバ装置に要求して,要求データを受信するデータ受信要求部と,データ受信要求部がサーバ装置から受信した要求データに基づき,保留しているデータ受信要求への応答データを作成し,応答データをひとつ以上の端末に送信するデータ応答作成部と,を備えることを特徴とする。
また,上記データ受信要求受付部は,保留しているデータ受信要求について,送信元の端末のアドレスと,受信を要求するデータのアドレスと位置とを特定するデータ受信要求先と,を接続情報として管理するものであってもよい。
また,データ受信要求部は,接続情報を参照し,データ送信要求元の端末のアドレスが,接続情報に記されたデータ受信要求の送信元である端末のアドレスと等しいエントリに記された,データ受信要求先に,保留しているデータ受信要求に基づくデータ受信要求を送信するものであってもよい。
また,データ応答作成部は,接続情報を参照し,接続情報に記されたデータ受信要求先が,データ送信要求に記されたデータ送信要求先と等しいエントリに記された,当該データ受信要求の送信元である端末を送信先とする応答データを,送信したデータ受信要求に対してデータ受信要求先から受信したデータから作成するものであってもよい。
また,データ受信要求受付部は,保留中のデータ要求の送信元である端末が処理可能なプロトコルを接続情報として管理し,データ応答作成部は,保留中のデータ要求の送信元である端末が処理可能なプロトコルに従って,応答データを作成するものであってもよい。
本発明の上記並びにその他の特徴は,以下の実施形態や添付図面に基づく,より詳細な説明によって明らかになるであろう。
本発明によれば,既存のサーバ装置とプッシュアーキテクチャを持たない端末とを利用して,会話内容にずれを生じさせない,リアルタイム性の高いメールチャットシステムを提供できる。
以下,本発明の実施の形態について図面を参照して説明する。
図1は実施形態1〜4の中継装置を用いた通信システムの構成例を示す。
図1に示すように,本通信システムは,1つ以上の端末101と,受信したデータを受信サーバ104へ転送する送信サーバ103と,要求元にデータを配信する受信サーバ104と,中継装置102と,がネットワーク105を介して接続されて構成される。例えば,該データが電子メールの場合は,送信サーバ103はSMTP(Simple Mail Transfer Protocol)サーバ等であり,受信サーバ104はIMAP(Internet Message Access Protocol)サーバ等である。送信サーバ103と受信サーバ104は,それぞれ複数台存在することも可能である。また,受信サーバ104の機能と送信サーバ103の機能を一つのサーバ装置で実現してもよい。
なお,実施例1〜3では,中継装置102が一台の場合の実施形態を説明する。
図2に,実施例1〜3の中継装置102の機能構成を例示する。
図2に示すように,中継装置102−Aは,端末101からのデータ受信要求202を受け付け,保留することが可能なデータ受信要求受付部210と,データ受信要求送信元の端末情報とデータ受信要求先の情報を対応付けて記憶する接続情報記憶部222と,該記憶情報を管理する接続情報管理部220と,端末からのデータ送信204を送信サーバ103に中継するデータ送信中継部212と,受信サーバ104へデータの移動や取得を要求するデータ受信要求部214と,保留中のデータ受信要求202に対する応答を作成するデータ応答作成部216を有する。
なお,要求制御部224と,制御文解析・応答作成部226は,実施例1では利用せず,それぞれ実施例2,実施例3で用いる。
図3は,実施例1〜4で用いる中継装置102の物理構成を示した図である。中継装置102は,以下に説明する各処理部とそれらによる処理を,プログラムを実行することにより実現するプロセッサ501と,実行するプログラムやデータを読み込んで一時的に保持するメモリ装置502と,外部からの指示や情報を入力するための入力装置503と,プログラム等を格納したり,データの記憶部として使用されたりするディスク装置504と,中継装置102の内部とネットワーク105との間でのデータのやり取りを制御する通信制御装置505と,中継装置102の内部でデータのやり取りを行うためのバスなどの内部通信線(内部バスという)506とを備えるコンピュータで実現することができる。
上記プログラムは,あらかじめ,上記コンピュータ内のディスク装置504に格納されていても良いし,必要なときに,通信制御装置505または図示していない周辺機器制御装置と,上記コンピュータが利用可能な媒体を介して,他の装置からディスク装置504に導入されてもよい。媒体とは,例えば,入出力インタフェースに着脱可能な記憶媒体,または通信媒体(すなわちネットワークまたはネットワークを伝搬する搬送波やディジタル信号)を指す。
図4は,実施例1の接続情報記憶部222が記憶する,データ受信要求送信元の端末情報と要求先の受信サーバの情報を対応付けた表(以下,接続情報と呼称する)の一例である。接続情報D00のエントリは,接続情報管理部220によって,データ受信要求受付部210が端末101からデータ受信要求を受信した際に登録され,データ受信要求受付部210が対応する要求へ応答を返す際に削除される。
接続情報D00の各エントリは,端末情報D02と,データ受信要求先情報D04を有する。端末情報D02は,一意の識別番号D06と,データ受信要求元のネットワーク105上の端末アドレスD08(IPアドレス等)と,データ受信要求元がデータ受信要求に使用するプロトコルD14を含む。データ受信要求先情報D04は,データ受信要求先の受信サーバの(D08と同様の)宛先アドレスD10と,要求するデータの受信サーバ内の位置を示す要求データ位置D12を含む。要求データ位置は,電子メールを例に取ると,「news/sports」等のメールボックス名である。この要求データ位置がチャットルームに相当する。
図5は,第1の実施例における通信シーケンスの一例である。端末101−1から,繰り返し(例えば定期的に)送信される,受信サーバ104に対するデータ受信要求(S302−1)を,データ受信要求受付部210が受信し,データ受信要求受付部210は該要求への応答を端末へ返さずに保留する(S304−1)。データ受信要求受付部210は,1つの端末からのデータ受信要求(S302−1)を保留中でも,他の端末からの複数のデータ受信要求(S302−N)を受付け,それを保留する(S304−N)。データ受信要求受付部210がデータ受信要求を受信する際,接続情報管理部220は接続情報記憶部222の接続情報D00にエントリを登録する。
そして,端末101がチャットの発言としてデータ送信要求を,受信サーバ104を宛先として送信サーバ103へ送信する(S306)と,送信要求中継部212が該要求を受信し,送信サーバ103に中継する。送信サーバ103からのデータ送信応答も,送信要求中継部212が該端末へ中継(S308)する。送信サーバ103は,中継装置102から受信したデータを受けて,受信サーバ104に,該データのデータ転送(S310)を行う。例えば電子メールの場合,データの送信・転送のプロトコルにはSMTP等を使用する。
データ受信要求部214は,送信要求中継部212がデータ送信要求(S306)を送信サーバ103へ中継することを契機として,受信サーバ104からデータを取得する。受信サーバ104の宛先アドレスには,接続情報D00の端末アドレスD08にデータ送信要求元の端末アドレスと等しい値を持つエントリの,宛先アドレスD10を使用する。
受信サーバ104が受信したデータ全てを1つのディレクトリ等に格納する構成の場合(IMAPサーバの場合,メールボックス「INBOX」に格納する),発言者のチャットルームに相当する受信サーバ内の要求データ位置に,発言者からのデータを移動する必要がある。データの移動先には,接続情報D00の端末アドレスD08に,データ送信要求元の端末アドレスと等しい値を持つエントリの要求データ位置D12を使用する。
データ受信要求部214は,受信サーバを決定し(S312),受信サーバ104の要求データ位置D12へ該データを移動するデータ移動要求(S314)を発行し,応答(S316)を受信する。該応答によりデータの移動成功を認識した後,データ受信要求部214は,受信サーバ104へデータ受信要求(S318)を発行し,応答(S220)を受信する。データの移動要求(S318)は,必要なければ省略する。
以下に,データ移動要求(S314)とデータ受信要求(S318)の一例を示す。例えば,受信サーバ104がIMAPサーバであり,メッセージ番号1のデータをメールボックス"news/sports"に移動する場合,データ移動要求(S314)は,
001 COPY 1 "news/sports"
002 STORE DELETED 1
となる。メールボックス"news/sports"のメッセージ番号1のデータを受信する場合,データ受信要求(S318)は,
003 SELECT "news/sports"
004 FETCH 1
となる。
001 COPY 1 "news/sports"
002 STORE DELETED 1
となる。メールボックス"news/sports"のメッセージ番号1のデータを受信する場合,データ受信要求(S318)は,
003 SELECT "news/sports"
004 FETCH 1
となる。
データ応答作成部216は,保留中の要求の中から,データ送信要求元エントリの要求データ位置D12と等しい要求データ位置D12のエントリを持つ(同じチャットルームを選択している)要求を選択して(S322),受信したデータから応答データを作成し(S324),保留中の要求へ応答(S326−1,S326−N)を返す。
図6は,中継装置102が,端末101から受信したデータ受信要求を保留する処理のフローチャートである。これは,図5において,ステップS330の処理に該当する。
データ受信要求受付部210は,ステップS330の処理を繰り返し,例えば一定間隔で開始する。データ受信要求受付部210は,端末101からデータ受信要求を受け付けているかどうかを判定し,データ受信要求を受け付けていれば(F102でYES),該要求に対する応答は返さず,接続を保持する。接続情報管理部220は,データ受信要求の内容を,接続情報D00のエントリとして,端末情報D02とデータ受信要求先情報D04を接続情報記録部222に記憶する(F104)。
データ受信要求受付部210は,図6の処理フローを繰り返し実行し,端末からのデータ受信要求を受け付け続ける。データ受信要求受付部210が受け付ける要求は,端末ごとに異なるプロトコルでも構わない。
図7は,図5のステップS332に該当し,データ受信要求部214が,端末101から送信サーバ103へのデータ送信要求を送信要求中継部212が中継(図18のステップS306)することを契機として,受信サーバ104へ該データの移動と取得を要求する処理を示すフローチャートである。
データ受信要求部214は,データ送信要求元の端末101の端末アドレスが,端末情報D02に登録されているかどうかを判定する(F202)。端末アドレスが登録されているエントリがあれば(F202でYES),受信サーバ104の宛先アドレスD10と要求データ位置D12の値を,対応付けられたデータ受信要求先情報D04から取得する(F204)。要求データ位置D12に該データを移動することで,受信サーバ103はチャットルーム毎に発言内容を保存できる。データ送信要求元の端末101が受信要求していないなど,該端末101の端末アドレスが,端末情報D02に登録されていなければ(F202でNO),受信サーバ104のアドレスとデータの移動先には,予め定めたアドレスとデータの移動先を用いる(F206)。
そして,中継装置102は,決定した宛先の受信サーバ104に対して,送信サーバ103へ中継したデータを,決定したデータ移動先へ移動するよう要求する(F208)。該データがネットワーク遅延等により受信サーバ104に到着していない等で要求が失敗した場合(F208でNO)は,一定回数再要求を試みる(F214)。要求成功後(F208でYES),中継装置102は,受信サーバ104に該データを要求し,データを取得する(F210)。先のデータ移動と同様に,この要求が失敗した場合(F210でNO)も,一定回数再要求を試みる(F216)。一定回数を超えて要求に失敗した場合(F214,F216でYES)は,データ応答作成部216がデータの受信に失敗した旨の応答を作成し,保留中のデータ受信要求に応答する。
上記ステップF206において,端末101の端末アドレスが,端末情報D02に登録されていない場合は,発言を中継せずに,エラーを応答しても良い。
図8は,図5のステップS334に該当し,データ応答作成部216が,受信サーバ104からデータ応答を受信すること(S320)を契機として,データ受信要求を保留中の端末に,応答データを返す処理を示すフローチャートである。中継装置102は,データ受信要求を保留中の端末であって,接続情報D00において,データ送信要求元の端末と等しいデータ受信要求先情報D04を持つ端末を,応答先として選択する(F302)。
例えば,中継装置102が,端末101−1からのデータ送信要求を送信サーバ103へ中継した場合,図4のような接続情報D00を保持していたとすると,端末アドレスD08が"101−1"であるレコードのデータ受信要求先情報D04をレコード選択のキーとする。そして,該キーと等しいデータ受信要求先情報(104−1,M1)を持つレコードを選択する。この場合,識別番号D06が”1”と”2”のレコードの端末を,応答先として選択する。
次に,選択した端末に応答するデータを,受信サーバ104から受信したデータを基に作成する(F304)。この際,データ応答作成部216は端末ごとに異なる応答データを作成することも可能である。例えば,接続情報D00におけるプロトコルD14ごとに異なる応答データを作成する。そして,中継装置102は,選択した保留中のデータ受信要求に対して,作成したデータを応答する(F306)。データ応答作成部216は,データ応答後,接続情報D00における,応答したデータ受信要求のエントリを削除する。
以上,本実施例によれば,いずれかの端末による,チャットの発言に相当するデータ送信要求を契機として,複数端末に,会話内容に相当するデータを配信することが可能となり,プッシュアーキテクチャを持たない端末から利用可能な,既存サーバを用いた,会話内容にずれを生じさせない,リアルタイム性の高いメールチャットシステムを実現する中継装置を提供できる。
第2の実施例は,送信要求中継部212が端末101からのデータ送信要求を中継しても,データ受信要求部214は必ずしもすぐには受信サーバ104へデータ受信を要求せず,ある端末が一定数以上発言,および/または,一定数以上の端末が発言したり,予め定めた期間が過ぎたりした場合に,受信サーバ104からデータ受信を要求する形態である。
図9は,接続情報記憶部222が記憶する,本実施例における接続情報D20の一例である。接続情報D20は,実施例1の接続情報D00に加えて,端末101が最後にデータ応答を受信してから現在までの,発言数(データ送信回数)である発言数D22と,送信要求中継部212が送信サーバ103にデータ送信要求を中継してから,受信サーバ104へデータを要求せずに待機している待ち時間D24を含む。この待ち時間D24はタイマにより接続情報管理部220が所定時間ごとに更新する。
実施例2の中継装置102−Aは,図2に示す構成を備える。上述のように,本実施例では,実施例1では利用しなかった,受信サーバへのデータ受信要求を制御する要求制御部224を利用する。要求制御部224は,送信要求中継部212がデータ送信要求を送信サーバ103へ中継した際,接続情報D20を参照して,受信サーバ104へのデータ受信要求を必要に応じて保留する。
図10は,実施例2の通信シーケンスの一例である。本通信シーケンスにおいて,端末101−Nからのデータ送信要求を中継装置102が送信サーバ103へ中継するまでの通信シーケンス(S302−1〜S310−N)は,図5に示す実施例1の通信シーケンスと等しい。
要求制御部224は,送信要求中継部212が該データ受信要求を中継後,受信サーバ104にデータを要求するかどうかを,後述の処理により判定する(S412−N)。このステップでは,データを要求しないと判定する。
送信要求中継部212が端末101−1からのデータ送信要求を受信(S306−1)し,中継して応答を返す(S308−1)。送信サーバ103は受信サーバ104にデータ転送(S310−1)を行う。該データの転送を契機として,要求制御部224は再び,受信サーバ104にデータを要求するかどうかを,後述の処理により判定する(S412−1)。このステップでは,データを要求すると判定し,受信サーバ104からデータを受信するための処理(S312〜S320)を開始する。この処理は,実施例1の通信シーケンスと等しい。
図11は,要求制御部224が,受信サーバ104へデータの移動と取得を要求するかどうか判定する処理のフローチャートである。この処理は,図10の,ステップS412の処理に該当する。本処理は,送信要求中継部212が,端末101から送信サーバ103へのデータ送信要求を中継する(S306−N)ことを契機として開始する。
まず,接続情報D20において,データ送信要求元の端末101の発言数D22を1増やす(F402)。次に,接続情報D20において,データ送信要求元端末101と等しいデータ受信要求先情報D04を持つエントリを,グループとして選択する(F404)。要求制御部224は,グループ内で発言数が1以上のエントリが予め定めた数を超えるか,もしくは,グループ内のエントリの総発言数が予め定めた数を超えるかどうかを判定する(F406)。この判定の結果,該値が一定数を超えていれば(F406でYES),グループ内のエントリの発言数D22を全て0に戻し(F410),データ受信要求部214が受信サーバ104からデータ受信処理(S312〜S320)を行う。このデータ受信処理は図7に示した処理と等しい。
一定数を超えていない場合(F406でNO)は,要求制御部224は,接続情報D20において,送信元の端末情報D02に対応する待ち時間D24を参照する。待ち時間D24が一定時間を超えていれば,ステップF410以降の処理を行う(F408でYES)。待ち時間が一定時間を超えていなければ(F408でNO)本処理を終了する。そして,新たなデータ送信要求の中継がなければ,一定時間後に,再びステップF414から処理を開始し,待ち時間D24に関する判定(F408)を行う。
以上,本実施例によれば,中継装置102は,一定期間内の端末の発言内容を纏めて端末に応答したり,チャットに参加している端末全員の発言を纏めて端末に応答したりする。この結果,端末101は,ある程度纏まった会話内容を受信できるため,実施例1の効果に加え,端末とサーバ装置間の通信量も削減できるという更なる効果を奏する。
第3の実施例は,端末101からのデータ受信要求,またはデータ送信要求の中に中継装置102に対する制御文が含まれ,中継装置102がこれを解釈し,指定された処理を実行する形態である。
実施例3の中継装置102−Aは,図2に示す構成を備える。上述のように,本実施例では,実施例1では利用しなかった,端末101からの要求の特定部分に含まれる制御文を解析し,応答を作成する制御文解析・応答作成部226を有する。
図12は,中継装置102が記憶する,制御情報D30の一例である。制御情報D30は,制御文解析・応答作成部226が解釈する制御文D32と,該制御文が記述される位置を示す記述位置D34と,該制御文を受信した際に中継装置102が行う処理内容D36を対応付けた表である。
図13は,第3の実施例における,通信シーケンスの一例である。中継装置102は,端末101−1から制御文D32を含むデータ送信要求を受信(S500)し,受信した制御文に従った応答を返す(S502)。
図14は,中継装置102が,端末101からの要求が含む制御文に従って特定の処理を実行するフローチャートである。本処理は,端末101からのデータ受信要求,またはデータ送信要求を,中継装置102が受信することを契機として開始する。制御文解析・応答作成部226は,受信した要求の特定部分に,制御情報D30に記述された制御文D32が存在するかどうか解析する。この特定部分は,記述位置D34により指定する。記述位置D34は,電子メールを例に取ると,Subjectヘッダの値等である。
該要求が制御文D32を含まなければ(F502でNO),制御文解析・応答作成部226は本処理を終了する。該要求が制御文D32を含めば(F502でYES),制御文解析・応答作成部226は制御情報D30に従って,該制御文に対応する処理を実行する(F504)。
制御文解析・応答作成部226が,制御文に従って実行する処理(F504)の例を次に挙げる。
図15は,制御文解析・応答作成部226が,特定の要求先(チャットルーム)へのデータ受信要求を幾つ保留しているか(チャットルームへの参加者数)を調べて,その結果を端末へ応答する処理のフローチャートである。本処理は,図14において,ステップF504の処理に該当する。
まず,制御文解析・応答作成部226は,該要求の特定部分に含まれるデータ受信要求先情報D04を取得する(F552)。該データ受信要求先情報D04の取得に失敗した場合(F552でNO),制御文解析・応答作成部226はエラーメッセージを含む応答データを作成し端末へ応答する(F558)。データ受信要求先情報の取得に成功した場合(F552でYES),接続情報D00において,取得したデータ受信要求先情報と等しいデータ受信要求先情報D04を持つ端末数を取得する(F554)。そして,制御文解析・応答作成部226は取得した該端末数を含む応答データを作成し,端末へ応答する(F556)。
図16は,データ受信要求が含むユーザ名とパスワードを用いて,受信サーバへのデータ受信要求に制限を掛ける処理のフローチャートである。本処理は,図14において,ステップF504の処理に該当する。
制御文解析・応答作成部226は,データ受信要求の特定部分からユーザ名とパスワードを取得する(F602でYES)。制御文解析・応答作成部226は,許可するユーザ名とパスワードの組み合わせを予め記憶しており,取得したユーザ名とパスワードが許可するものかどうかを判定する(F604)。ユーザ名とパスワードが含まれておらず,取得に失敗したり(F602でNO),許可するものではなかったりした場合(F604でNO)は,制御文解析・応答作成部226は,認証に失敗した旨のエラーメッセージを作成し,データ受信要求受付部210により端末へ応答し,当該データ受信要求を拒否する(F606)。
ユーザ名とパスワードが許可するものである場合(F604でYES)は,以降,実施例1と同様に処理を行う。
以上,本実施例によれば,中継装置102により,端末101からの制御文を解釈して特定の処理を実行できるため,実施例1の効果に加え,端末101へチャットルームの参加人数を通知したり,特定のチャットルームへの入室に認証を要求したり,という更なる効果を奏する。
第4の実施例は,図1に示すとおり,複数の中継装置102を設置して,負荷を分散させる形態である。
各中継装置102同士はネットワーク105,もしくは専用の通信路により接続する。
図17は,実施例4の中継装置102−Bの構成を示す。中継装置102−Bは図17に示すように,データ受信要求先情報252を送受信するデータ受信要求先情報送受信部228を有する。それ以外の構成は実施例1の中継装置102−Aの構成と等しい。
図18は,実施例4の通信シーケンスの一例である。
中継装置102−1の送信要求中継部212が,端末101から送信サーバへのデータ送信要求(S306)と,その応答(S308)を中継し,送信サーバ103が受信サーバ104にデータを転送(S310)する。
このデータ送信要求(S306)の中継を契機として,中継装置102−1のデータ受信要求先情報送受信部228は,通信可能な一部または全ての他の中継装置102−Nに対して,マルチキャスト等により,データ送信要求元端末のデータ受信要求先情報230を送信(S604)する。
このデータ送信要求(S306)の中継を契機として,中継装置102−1のデータ受信要求先情報送受信部228は,通信可能な一部または全ての他の中継装置102−Nに対して,マルチキャスト等により,データ送信要求元端末のデータ受信要求先情報230を送信(S604)する。
このデータ受信要求先情報230を受信した他の中継装置102−Nのデータ受信要求先情報送受信部228は,該情報を受信した旨の応答を返す(S606)。なお,このデータ受信要求先情報230は,他のルータ等の装置を介して送受信することも可能である。
中継装置102−1のデータ受信要求部214は受信サーバ104へデータ移動要求を発行(S314)し,応答を受ける(S316)。その後,中継装置102のデータ受信要求部214は受信サーバ104へデータ受信要求を発行(S318)し,応答を受ける(S320)。
また,中継装置102−Nのデータ受信要求部214も,受信したデータ受信要求先情報230を契機として,受信サーバ104へデータ受信要求を発行(S616)し,応答を受信(S618)する。以降,各中継装置102−1,102−Nのデータ応答先作成部216はそれぞれ,実施例1のステップS322以降の通信シーケンスに従い,保留中の要求に応答する。
以上,本実施例によれば,端末群とサーバ装置との間の通信路に,複数の中継装置102を設置でき,1つの中継装置がデータ送信要求を中継することを契機とし,複数の中継装置102が分担して,複数の端末101にデータを配信できる。これにより,実施例1の効果に加え,各中継装置102に掛かる負荷を分散することができ,多数の端末101からの要求に応えることが可能となる,という更なる効果を奏する。
また,実施例1〜4を任意に組み合わせることも可能であり,組み合わせにより,それぞれの効果を併せ持つ中継装置を提供可能になる。
101:端末,102:中継装置,103:送信サーバ,104:受信サーバ,210:データ受信要求受付部,212:送信要求中継部,214:データ受信要求部,216:データ応答作成部,220:接続情報管理部,222:接続情報記憶部,224:要求制御部,226:制御文解析・応答作成部,228:データ受信要求先情報送受信部,222:接続情報記憶部,D00:接続情報(実施例1),D20:接続情報(実施例2),D30:制御情報(実施例3)
Claims (12)
- 複数の端末とサーバ装置とに,ネットワークを介して接続する中継装置であって,
ひとつ以上の前記端末から前記サーバ装置へのデータ受信要求を受信し,送信を保留するデータ受信要求受付部と,
いずれかの前記端末から前記サーバ装置へのデータ送信要求を中継する送信要求中継部と,
前記送信要求中継部が,いずれかの前記端末から前記サーバ装置へのデータ送信要求を中継したことを契機として,保留している前記データ受信要求に基づくデータ受信を前記サーバ装置に要求して,前記要求データを受信するデータ受信要求部と,
前記データ受信要求部が前記サーバ装置から受信した前記要求データに基づき,保留している前記データ受信要求への応答データを作成し,前記応答データをひとつ以上の前記端末に送信するデータ応答作成部と,
を備える
ことを特徴とする中継装置。 - 請求項1に記載の中継装置において,
前記データ受信要求受付部は,保留している前記データ受信要求について,送信元の前記端末のアドレスと,受信を要求するデータのアドレスと位置とを特定するデータ受信要求先と,を接続情報として管理する
ことを特徴とする中継装置。 - 請求項2に記載の中継装置において,
前記データ受信要求部は,前記接続情報を参照し,
前記データ送信要求元の前記端末のアドレスが,前記接続情報に記された前記データ受信要求の送信元である前記端末のアドレスと等しいエントリに記された,前記データ受信要求先に,保留している前記データ受信要求に基づくデータ受信要求を送信する
ことを特徴とする中継装置。 - 請求項3に記載の中継装置において,
前記データ応答作成部は,前記接続情報を参照し,
前記接続情報に記された前記データ受信要求先が,前記データ送信要求に記されたデータ送信要求先と等しいエントリに記された,当該データ受信要求の送信元である前記端末を送信先とする応答データを,送信した前記データ受信要求に対して前記データ受信要求先から受信したデータから作成する
ことを特徴とする中継装置。 - 請求項1に記載の中継装置において,
前記データ受信要求受付部は,保留中の前記データ要求の送信元である前記端末が処理可能なプロトコルを前記接続情報として管理し,
前記データ応答作成部は,保留中の前記データ要求の送信元である前記端末が処理可能なプロトコルに従って,前記応答データを作成する
ことを特徴とする中継装置。 - 請求項1に記載の中継装置において,
前記端末からの前記データ送信要求を,予め定めた数中継するまでは,前記データ受信要求部に,データ受信要求を保留させ,前記予め定めた数を超えて中継したら,前記データ受信要求部に,前記データ受信要求を行わせる前記要求制御部を備え,
前記データ受信要求部は,前記要求制御部の指示により,保留している前記データ受信要求に基づく前記データ受信要求を送信する
ことを特徴とする中継装置。 - 請求項1に記載の中継装置において,
予め定めた数の前記端末からの前記データ送信要求を,中継するまでは,前記データ受信要求部に,前記データ受信要求を保留させ,前記予め定めた数を超えて中継したら,前記データ受信要求部に,前記データ受信要求を行わせる前記要求制御部を備え,
前記データ受信要求部は,前記要求制御部の指示により,保留している前記データ受信要求に基づく前記データ受信要求を送信する
ことを特徴とする中継装置。 - 請求項1に記載の中継装置において,
予め定めた時間が経過するまでは,前記データ受信要求部に,前記データ受信要求を保留させ,前記予め定めた時間が経過したら,前記データ受信要求部に,前記データ受信要求を行わせる要求制御部を備え,
前記データ受信要求部は,前記要求制御部の指示により,保留している前記データ受信要求に基づく前記データ受信要求を送信する
ことを特徴とする中継装置。 - 請求項1に記載の中継装置において,
前記端末から受信した前記データ受信要求に含まれる制御文を解釈し,制御文に対応する処理を実行する制御文解析・応答作成部を備える
ことを特徴とする中継装置。 - 請求項9に記載の中継装置において,
前記制御文解析・応答作成部は,前記制御文に従って,
当該制御文が含まれるデータ受信要求先と等しいデータ受信要求先を指定する,保留中のデータ受信要求に関する情報を,当該制御文が含まれるデータ受信要求の送信元である前記端末に送信する
ことを特徴とする中継装置。 - 請求項9に記載の中継装置において,
前記制御文解析・応答作成部は,前記制御文に従って,前記データ受信要求の認証処理を行い,
前記認証に失敗した場合は,前記データ受信要求を拒否する
ことを特徴とする中継装置。 - 請求項1に記載の中継装置において,
前記データ送信要求中継部が,前記データ送信要求を中継したことを契機として,他の中継装置と前記データ受信要求に係わるデータ受信要求先情報を通信するデータ受信要求先情報送受信部を備え,
当該データ受信要求先情報は,自中継装置の前記データ送信要求中継部が前記データ送信要求を中継したことを契機として,前記他の中継装置のデータ受信要求部に,当該他の中継装置が保留しているデータ受信要求に基づくデータ要求を行わせる契機となるものである
ことを特徴とする中継装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008040821A JP2009199378A (ja) | 2008-02-22 | 2008-02-22 | メールチャットシステムに用いる中継装置 |
CNA2009100061822A CN101515903A (zh) | 2008-02-22 | 2009-02-05 | 用于邮件聊天系统的中继装置 |
US12/390,028 US20090216894A1 (en) | 2008-02-22 | 2009-02-20 | Relay apparatus for use in e-mail-based chat system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008040821A JP2009199378A (ja) | 2008-02-22 | 2008-02-22 | メールチャットシステムに用いる中継装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009199378A true JP2009199378A (ja) | 2009-09-03 |
Family
ID=40999406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008040821A Withdrawn JP2009199378A (ja) | 2008-02-22 | 2008-02-22 | メールチャットシステムに用いる中継装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090216894A1 (ja) |
JP (1) | JP2009199378A (ja) |
CN (1) | CN101515903A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011013707A (ja) * | 2009-06-30 | 2011-01-20 | Hitachi Ltd | Webページの中継装置 |
CN103401703B (zh) * | 2013-07-25 | 2015-05-27 | 腾讯科技(深圳)有限公司 | 一种实现权限分离的方法、相关设备及系统 |
CN107861506B (zh) * | 2017-09-30 | 2020-10-02 | 深圳市艾特智能科技有限公司 | 机器人通讯方法、系统、可读存储介质及机器人 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363342B1 (en) * | 2003-07-08 | 2008-04-22 | Microsoft Corporation | Method and apparatus for providing web services in a collaborative computing system |
-
2008
- 2008-02-22 JP JP2008040821A patent/JP2009199378A/ja not_active Withdrawn
-
2009
- 2009-02-05 CN CNA2009100061822A patent/CN101515903A/zh active Pending
- 2009-02-20 US US12/390,028 patent/US20090216894A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20090216894A1 (en) | 2009-08-27 |
CN101515903A (zh) | 2009-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8452833B2 (en) | Cached message distribution via HTTP redirects | |
JP5745696B2 (ja) | 通知メッセージの管理 | |
US8606859B2 (en) | Method and system to communicate messages in a computer network | |
KR100465582B1 (ko) | 네트워크를 통한 이벤트-트리거 통지 | |
CN106533932B (zh) | 一种用于推送即时消息的方法和装置 | |
CN115004673B (zh) | 消息推送方法、装置、电子设备及计算机可读介质 | |
US20170124021A1 (en) | Methods for enabling direct memory access (dma) capable devices for remote dma (rdma) usage and devices thereof | |
JP2006244494A (ja) | クライアントサイドのプレゼンス文書管理を実施する方法及び記録媒体 | |
US8838795B2 (en) | System, method, apparatus, and product for resource sharing | |
US8832215B2 (en) | Load-balancing in replication engine of directory server | |
US8537399B2 (en) | Sharing content in a content database among printers via a request from a first printer | |
US9106596B2 (en) | Method and apparatus of configuring a data broadcast service | |
US20080235384A1 (en) | Web service for coordinating actions of clients | |
JP2009199378A (ja) | メールチャットシステムに用いる中継装置 | |
EP2812879B1 (en) | Efficiently receiving messages across a large number of messaging entities | |
US8264725B1 (en) | Providing printable content | |
CN102150151B (zh) | web应用程序的异步队列的消息收发 | |
CN115189977B (zh) | 一种基于axi协议的广播传输方法、系统及介质 | |
JP2005018300A (ja) | コンテンツ配信システム | |
CN111049915A (zh) | 一种容器云下消息队列代理网格及方法 | |
CN104380624A (zh) | 在多个设备之间发送内容和用户的交互的方法 | |
CN113382050B (zh) | 一种消息传输方法、系统、计算设备及存储介质 | |
CN111131470B (zh) | 终端设备及其数据处理方法以及数据处理系统 | |
JP2019028599A (ja) | 情報処理システムおよび制御方法 | |
JP2019041241A (ja) | 振り分けシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100915 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110303 |