JP2011034511A - Message transmitting and receiving system, message transmitting and receiving method, message relay server, and message transmission and reception program - Google Patents
Message transmitting and receiving system, message transmitting and receiving method, message relay server, and message transmission and reception program Download PDFInfo
- Publication number
- JP2011034511A JP2011034511A JP2009182745A JP2009182745A JP2011034511A JP 2011034511 A JP2011034511 A JP 2011034511A JP 2009182745 A JP2009182745 A JP 2009182745A JP 2009182745 A JP2009182745 A JP 2009182745A JP 2011034511 A JP2011034511 A JP 2011034511A
- Authority
- JP
- Japan
- Prior art keywords
- message
- request
- response
- url
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
Description
本発明は、メッセージを送受信するメッセージ送受信システム、メッセージ送受信方法及びメッセージ送受信信用プログラムに関し、特にメッセージを中継できるメッセージ送受信システム、メッセージ送受信方法及びメッセージ送受信用プログラムに関する。また、本発明は、メッセージ送受信システムが備えるメッセージ中継サーバに関する。 The present invention relates to a message transmission / reception system, a message transmission / reception method, and a message transmission / reception credit program for transmitting / receiving messages, and more particularly to a message transmission / reception system, a message transmission / reception method, and a message transmission / reception program capable of relaying messages. The present invention also relates to a message relay server provided in a message transmission / reception system.
インターネットの発展により、一般の利用者が、WWW(World Wide Web)上に配置されたWebページを、コンピュータ上で動作するWebブラウザを用いて閲覧することが、一般的に行われている。Webブラウザは、様々なコンピュータ上で実装されている。そのため、ユーザが、コンピュータとして一般的なPC(Personal Computer)のみならず携帯電話機やゲーム端末、テレビジョン受信機、ビデオ機器などで簡単にWebブラウザを利用できるようになってきている。 With the development of the Internet, a general user generally browses a Web page arranged on the WWW (World Wide Web) using a Web browser that operates on a computer. Web browsers are implemented on various computers. Therefore, a user can easily use a Web browser not only on a general PC (Personal Computer) as a computer but also on a mobile phone, a game terminal, a television receiver, a video device, and the like.
また一般に、遠隔に離れたユーザ同士がネットワークを介して共同で作業を実施するための遠隔協働システムが提案されており、遠隔会議としてユーザ同士が同じ資料や図を同時に参照、描画したり、ファイルを互いに送受信したりするシステムが提案されている。このような遠隔会議システムでは、予めまたは一時的にユーザ同士がある期間一つのグループを形成する。そして、そのグループに属しているユーザ間で、各端末上で行った操作を操作メッセージとしてやりとりし、各端末で操作メッセージに対応した操作を再現することで遠隔での会議を実現している。また、このようなグループへの参加メンバ及び期間をセッションとして管理する。そして、セッションが継続している間はそのセッションに参加しているメンバが操作メッセージをやりとりできるように制御する。一般的にこのような遠隔協働システムにおいてユーザが利用する端末で動作を制御するプログラムは、上り通信として端末で行われた操作を、操作メッセージとして他の端末に送信するように制御する。そして、上記のプログラムは、逆に、下り通信を行うことによって他のプログラムから送信された操作メッセージを受信して、受信したメッセージに記述されている操作内容を自端末上で実行するように制御する。 Also, in general, a remote collaboration system has been proposed for remote users to work together via a network, and users can simultaneously view and draw the same materials and diagrams as a remote conference, Systems have been proposed for sending and receiving files to and from each other. In such a remote conference system, one group is formed in advance or temporarily with a certain period of time. And the operation performed on each terminal is exchanged as an operation message between users belonging to the group, and the remote meeting is realized by reproducing the operation corresponding to the operation message on each terminal. Moreover, the member and period to participate in such a group are managed as a session. Then, while the session continues, control is performed so that members participating in the session can exchange operation messages. In general, a program for controlling the operation of a terminal used by a user in such a remote collaboration system performs control so that an operation performed on the terminal as uplink communication is transmitted to another terminal as an operation message. The above program, on the contrary, receives an operation message transmitted from another program by performing downlink communication, and controls to execute the operation content described in the received message on its own terminal. To do.
このような遠隔協働システムとして、Webブラウザをクライアントプログラムとして用いた遠隔協働システムが提案されている。例えば、特許文献1に記載されたシステムでは、サーバ上に配置された表データが更新されるたびに、そのURLをメッセージとして各端末に送信する。そして、メッセージを受信した各端末がWebブラウザを用いてそのURLを表示することで、更新された表データを各ユーザに対して見せることができる。
As such a remote collaboration system, a remote collaboration system using a Web browser as a client program has been proposed. For example, in the system described in
また、特許文献2に記載されたシステムでは、Webブラウザで表示しているWebページに対してユーザが行ったスクロールやクリック、テキスト入力などの操作をメッセージとして他のWebブラウザ(具体的には、Webブラウザを搭載した端末)に送信する。そして、メッセージを受信した他のWebブラウザがそのメッセージに記述されている内容に従って操作を再現することで、Webブラウザに表示されるWebページを同期させている。
In the system described in
このようなWebブラウザを用いた遠隔協働システムにおいて、操作の同期を実現するためには、メッセージの送信処理(上り通信)及び受信処理(下り通信)をWebブラウザ上で実装する必要がある。この時、Webブラウザ同士で直接通信する機能がWebブラウザには備わっていないため、Webブラウザは必ずWebサーバと通信する必要がある。そして、このWebサーバ上にメッセージを中継する手段を実装することにより、Webブラウザ間のメッセージ交換が可能となる。 In such a remote collaboration system using a Web browser, in order to realize operation synchronization, it is necessary to implement message transmission processing (uplink communication) and reception processing (downlink communication) on the Web browser. At this time, since the web browser does not have a function of directly communicating between web browsers, the web browser must always communicate with the web server. By implementing means for relaying messages on this Web server, messages can be exchanged between Web browsers.
この時WebブラウザとWebサーバとが通信するために利用するHTTP(Hyper Text Transport Protocol)プロトコルについては、Webブラウザがリクエストの送信元となる。そして、Webサーバは、Webブラウザからのリクエストを受け取ってから、そのリクエストに応じた処理を実施する。よって、前述したメッセージの上り、下り通信のうち、上り通信では、通常通りWebブラウザからのHTTPを利用したリクエスト(以下、HTTPリクエスト)を用いればWebサーバに届けることが可能であるが、下り通信では、Webサーバから能動的にWebブラウザに向かって通信を開始する手段がないため、通常の手段では実現できない。 At this time, with respect to the HTTP (Hyper Text Transport Protocol) protocol used for communication between the Web browser and the Web server, the Web browser is the source of the request. Then, after receiving the request from the Web browser, the Web server performs processing according to the request. Therefore, among the upstream and downstream communication of the message described above, in upstream communication, it is possible to deliver to a Web server using a request using an HTTP from a Web browser (hereinafter, HTTP request) as usual. However, since there is no means for actively starting communication from the Web server toward the Web browser, it cannot be realized by ordinary means.
これを可能とするための手段として、特許文献2に記載されたシステムでは、永続的ポーリングという手法を提案している。これは、下り通信用にある間隔でWebブラウザからメッセージ中継用のサーバにリクエストを送信し、メッセージ中継サーバにメッセージが存在する場合に、そのレスポンスでメッセージを受信することで、完全なリアルタイムではないが、ある間隔の遅延をおいてメッセージを随時取得するという手法である。
As a means for making this possible, the system described in
また、遠隔協働システムにおいて動作しているセッションに対し、途中で新たにユーザがメンバとして加わった場合、新たに加わったメンバが操作するWebブラウザは、当該セッションに参加している他のメンバのWebブラウザと表示及び内部状態を合わせるため、キャッチアップと呼ぶ追随処理を実施する。これは当該セッションにおいてメッセージ中継サーバを介して送受信されたメッセージを最初から順に取得し、そのメッセージに従って操作を再現することで、他のメンバが操作するWebブラウザと表示及び内部状態を同一にすることで実現する。 In addition, when a user is newly added as a member to a session that is operating in the remote collaboration system, the Web browser operated by the newly added member is the same as that of other members participating in the session. In order to match the display and internal state with the Web browser, follow-up processing called catch-up is performed. In this session, the messages sent and received via the message relay server in the session are acquired in order from the beginning, and the operation is reproduced according to the messages so that the display and internal state are the same as those of the Web browser operated by other members. Realize with.
ある期間継続しているセッションがあり、そのセッションに参加しているユーザがWebブラウザの操作を繰り返した場合、当該セッションにおける送受信メッセージがメッセージ中継サーバに順次蓄積されていく。そして、当該セッションに対し新たにユーザが参加した場合、Webブラウザは、キャッチアップにより最初から順にメッセージ中継サーバからメッセージを取得するが、この時なるべく早期に他のブラウザと同じ状態に追いつく必要があるため、できる限りの早さでメッセージを連続して取得する。その際、メッセージ中継サーバには、一時的に通信と負荷とが集中することになり、全体的なパフォーマンスの低下やサービスの一時停止が発生する可能性がある。 When there is a session that continues for a certain period, and a user who participates in the session repeats the operation of the Web browser, transmission / reception messages in the session are sequentially accumulated in the message relay server. When a new user joins the session, the Web browser acquires messages from the message relay server in order from the beginning by catch-up. At this time, it is necessary to catch up with the other browsers as early as possible. Therefore, messages are obtained continuously as fast as possible. At that time, communication and load are temporarily concentrated on the message relay server, and there is a possibility that the overall performance is deteriorated or the service is temporarily stopped.
これを回避するため、メッセージ中継サーバにおいてキャッシュを利用したり、メッセージ中継サーバとWebブラウザとの通信経路の途中にプロキシサーバを設置して、そのキャッシュを利用したりする。例えば、メッセージ中継サーバから一度送信されたメッセージをキャッシュ上に保存し、キャッチアップによる再度の取得時にそのキャッシュに保存されたメッセージを送信することによりメッセージ中継サーバの負荷を軽減するという方法が考えられる。 In order to avoid this, a cache is used in the message relay server, or a proxy server is installed in the middle of the communication path between the message relay server and the Web browser, and the cache is used. For example, it is possible to reduce the load on the message relay server by storing the message once transmitted from the message relay server in the cache and transmitting the message stored in the cache at the time of acquisition again by catch-up. .
一般的にキャッシュは、リクエストの内容としてブラウザから送信されたURLとサーバから返信されたレスポンスとを関連づけて保存しておき、再度ブラウザから送信されたURLが以前に保存したURLと同じであれば、保存したレスポンスを即座に返信するという仕組みを持つ。 In general, the cache stores the URL transmitted from the browser as the request content in association with the response returned from the server, and if the URL transmitted from the browser is the same as the previously stored URL. , It has a mechanism to reply the saved response immediately.
しかし、前述したようにWebブラウザによるメッセージ取得要求は、ポーリングによって実現される。通常ポーリングによるメッセージ取得要求は、Webブラウザからリクエストを送信する際、各リクエストのURLを以前に送信したリクエストとは異なるURLで送信される。これは、送信済みのリクエストと同じURLで送信した場合、前述したキャッシュにおいて過去のリクエストと同等であると判定され、メッセージ中継サーバにリクエストが到達せずにキャッシュに保存されたメッセージを返信し続けることとなる。そのため、メッセージ中継サーバにおいて新しいメッセージが蓄積されていても、それをWebブラウザに返信することができなくなるからである。 However, as described above, the message acquisition request by the Web browser is realized by polling. The message acquisition request by normal polling is transmitted with a URL different from the request that transmitted the URL of each request before transmitting the request from the Web browser. If the request is transmitted with the same URL as the request that has already been transmitted, it is determined that the request is equivalent to the previous request in the cache, and the message stored in the cache continues to be returned without reaching the message relay server. It will be. Therefore, even if a new message is accumulated in the message relay server, it cannot be returned to the Web browser.
さらに、ポーリングによるメッセージ取得のリクエスト送信時にメッセージ中継サーバ側に送信すべき新規のメッセージがなかった場合、そのレスポンスは中身が空のものになり、ブラウザからの各リクエストに対して、全て意味のある返信が返されているとは限らない。 Furthermore, if there is no new message to be sent to the message relay server when sending a message acquisition request by polling, the response will be empty and all the requests from the browser are meaningful. Replies are not always returned.
これにより、あるWebブラウザが他のWebブラウザが送信したリクエストのURLを知ることは一概には容易ではなく、また、例え知ることができたとしても、そのリクエストに対してメッセージ中継サーバからメッセージが返信されたかどうかを知ることができない。そのため、他のWebブラウザに対して返信されたメッセージがキャッシュに残っていたとしても、キャッチアップ時のWebブラウザが、キャッシュからメッセージを取得することは一概に容易ではない。 As a result, it is not easy for one web browser to know the URL of a request sent by another web browser, and even if it can be known, a message is received from the message relay server for that request. I can't know if it was answered. Therefore, even if a message returned to another Web browser remains in the cache, it is generally not easy for the Web browser at the time of catch-up to acquire the message from the cache.
そこで、本発明は、Webブラウザがキャッチアップ時にキャッシュに保存されているメッセージを取得することができるメッセージ送受信システム、メッセージ送受信方法、メッセージ中継サーバ及びメッセージ送受信用プログラムを提供することを目的とする。 Therefore, an object of the present invention is to provide a message transmission / reception system, a message transmission / reception method, a message relay server, and a message transmission / reception program that enable a Web browser to acquire a message stored in a cache at the time of catch-up.
本発明によるメッセージ送受信システムは、複数のブラウザを用いたメッセージの送受信を中継するメッセージ中継サーバを備え、メッセージ中継サーバは、メッセージ取得用のリクエストに対するレスポンスとリクエストに含まれるURLとを対応づけて記憶するレスポンス記憶手段と、新たなリクエストを受信すると、受信したリクエストに対応するレスポンスと対応づけられたURLをレスポンス記憶手段から抽出するURL抽出手段とを含み、URL抽出手段が抽出したURLを用いて、メッセージ取得用のリクエストを生成するリクエスト生成手段を備えたことを特徴とする。 The message transmission / reception system according to the present invention includes a message relay server that relays transmission / reception of a message using a plurality of browsers, and the message relay server stores a response to a message acquisition request and a URL included in the request in association with each other. A response storage unit that receives the new request and a URL extraction unit that extracts a URL associated with the response corresponding to the received request from the response storage unit, and uses the URL extracted by the URL extraction unit. And a request generation means for generating a message acquisition request.
本発明によるメッセージ中継サーバは、複数のブラウザを用いたメッセージの送受信を中継するメッセージ中継サーバであって、メッセージ取得用のリクエストに対するレスポンスとリクエストに含まれるURLとを対応づけて記憶するレスポンス記憶手段と、新たなリクエストを受信すると、受信したリクエストに対応するレスポンスと対応づけられたURLをレスポンス記憶手段から抽出するURL抽出手段とを備えたことを特徴とする。 The message relay server according to the present invention is a message relay server that relays message transmission / reception using a plurality of browsers, and stores a response to a message acquisition request in association with a URL included in the request. And a URL extraction unit that extracts a URL associated with a response corresponding to the received request from the response storage unit when a new request is received.
本発明によるメッセージ送受信方法は、メッセージ取得用のリクエストに対するレスポンスとリクエストに含まれるURLとを対応づけて記憶部に記憶するレスポンス記憶ステップと、新たなリクエストを受信すると、受信したリクエストに対応するレスポンスと対応づけられたURLを記憶部から抽出するURL抽出ステップと、抽出したURLを用いて、メッセージ取得用のリクエストを生成するリクエスト生成ステップとを含むことを特徴とする。 The message transmission / reception method according to the present invention includes a response storage step for storing a response to a message acquisition request and a URL included in the request in association with each other in a storage unit, and a response corresponding to the received request when a new request is received. A URL extraction step for extracting the URL associated with the URL from the storage unit, and a request generation step for generating a message acquisition request using the extracted URL.
本発明によるメッセージ送受信用プログラムは、複数のブラウザを用いてメッセージの送受信を中継するコンピュータに、メッセージ取得用のリクエストに対するレスポンスとリクエストに含まれるURLとを対応づけて記憶部に記憶する記憶処理と、新たなリクエストを受信すると、受信したリクエストに対応するレスポンスと対応づけられたURLを記憶部から抽出するURL抽出処理と、抽出したURLを用いて、メッセージ取得用のリクエストを生成するリクエスト生成処理とを実行させることを特徴とする。 A message transmission / reception program according to the present invention includes a storage process of storing a response to a message acquisition request and a URL included in the request in a storage unit in a computer that relays transmission / reception of the message using a plurality of browsers. When a new request is received, a URL extraction process for extracting a URL associated with the response corresponding to the received request from the storage unit, and a request generation process for generating a message acquisition request using the extracted URL Are executed.
本発明によれば、Webブラウザがキャッチアップ時にキャッシュに保存されているメッセージを取得することができる。 According to the present invention, the message stored in the cache can be acquired when the Web browser catches up.
以下、本発明の実施形態について図1及び図2を用いて説明する。図1は、本発明によるメッセージ送受信システムの構成の一例を示すブロック図である。図1に示すように、メッセージ送受信システムは、ユーザ同士が遠隔で協働作業をするためのユーザインターフェイスとして利用するWebブラウザ1と、前述したHTTPプロトコルを利用して、Webブラウザ間のメッセージの送受信を中継するWebサーバ上に実装されたメッセージ中継サーバ2と、一般的なキャッシュ機能を有するプロキシサーバ3とを含む。なお、プロキシサーバ3と同等のキャッシュ機能をメッセージ中継サーバ2が備えている場合には、プロキシサーバ3が無くても構わない。
Hereinafter, embodiments of the present invention will be described with reference to FIGS. 1 and 2. FIG. 1 is a block diagram showing an example of the configuration of a message transmission / reception system according to the present invention. As shown in FIG. 1, the message transmission / reception system transmits / receives messages between Web browsers using the
Webブラウザ1は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置に搭載される。図2は、Webブラウザを搭載したユーザ端末の構成の一例を示すブロック図である。図2に示すように、Webブラウザ1が搭載された端末は、協働作業をするための処理を実装した1つ又は複数のアプリケーション101と、Webブラウザ1上で動作するアプリケーション101が実施する通信を制御するための通信管理手段102と、アプリケーション101で生成されたメッセージを上り通信としてメッセージ中継サーバ2に送信するための上り通信手段103と、メッセージ中継サーバ2に下り通信(キャッチアップ処理を行うためのリクエスト)を送信してメッセージを取得するための下り通信手段104と、取得したメッセージのメッセージ中継サーバ2上のキュー中の位置情報をそのメッセージを処理するアプリケーション101と関連(対応)づけて蓄積(記憶)するポインタ記憶手段105とを含む。なお、本実施形態において、上り通信とは、他のブラウザに対してメッセージを送信することであり、下り通信とは、他のブラウザからのメッセージを受信することである。
Specifically, the
前述したWebブラウザ上で動作する各手段は、一般にHTML(Hyper Text Markup Language)と呼ばれる記述方法で定義され、さらにはJavaScript、ActiveX、Flashなどと一般的に呼称されるWebブラウザ上でプログラムを動作させる仕組みを用いて実装する。Javaは、登録商標である。なお、以下、Webブラウザ1やアプリケーション101が処理を実行する、送受信する等の表現を用いるが、具体的には、Webブラウザを搭載した情報処理端末がWebブラウザやアプリケーション101に従って処理を実行することである。
Each means that operates on the above-mentioned Web browser is defined by a description method generally called HTML (Hyper Text Markup Language), and further operates a program on a Web browser generally called JavaScript, ActiveX, Flash, or the like. Implement by using the mechanism to make it. Java is a registered trademark. In the following, expressions such as the
メッセージ中継サーバ2は、具体的には、プログラムに従って動作する情報処理装置によって実現される。図1に示すように、メッセージ中継サーバ2は、セッション管理手段201と、メッセージ受信手段202と、メッセージ蓄積制御手段203と、キュー記憶手段204と、メッセージ送信手段205と、送信メッセージ選択手段206と、レスポンス情報記憶手段207と、レスポンス管理手段208とを含む。
Specifically, the
セッション管理手段201は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。セッション管理手段201は、ユーザ同士の遠隔協働作業のセッションを管理し、そのセッションとキューとの関係を示す情報を保持(記憶又は管理)する機能を備えている。
Specifically, the
メッセージ受信手段202は、具体的には、プログラムに従って動作する情報処理装置のCPU及びネットワークインターフェース部によって実現される。メッセージ受信手段202は、利用者が操作するWebブラウザ1から上り通信を行うことによって送信されたメッセージを受信する機能を備えている。
Specifically, the
メッセージ蓄積制御手段203は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。メッセージ蓄積制御手段203は、メッセージ受信手段202が受信したメッセージをキュー方式でキュー記憶手段204に記憶させる機能を備えている。
Specifically, the message
キュー記憶手段204は、具体的には、光ディスク装置や磁気ディスク装置などの記憶装置によって実現される。キュー記憶手段204は、セッション毎に用意されたキューを用いて実際にデータを記憶する。
Specifically, the
メッセージ送信手段205は、具体的には、プログラムに従って動作する情報処理装置のCPU及びネットワークインターフェース部によって実現される。メッセージ送信手段205は、Webブラウザから下り通信によりリクエストを受信して、リクエストで要求されたメッセージ又は既にキャッシュされているメッセージを取得するためのURLを返信する機能を備えている。
Specifically, the
送信メッセージ選択手段206は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。送信メッセージ選択手段206は、Webブラウザ1から受信した下り通信によるリクエストに応じて、キュー記憶手段204に蓄積されたメッセージの中から、Webブラウザ1に返信するべきメッセージを検索して、キュー中の位置情報(例えば、シーケンス番号)と共にメッセージを取得(抽出)する機能を備えている。
Specifically, the transmission message selection means 206 is realized by a CPU of an information processing apparatus that operates according to a program. The transmission
レスポンス情報記憶手段207は、具体的には、光ディスク装置や磁気ディスク装置などの記憶装置によって実現される。レスポンス情報記憶手段207は、メッセージ送信手段205から送信されたメッセージのキュー中の位置情報(例えば、シーケンス番号)と、そのキューのセッションIDと、メッセージ送信手段205がWebブラウザから受信したリクエストURLとを対応づけてレスポンス情報として記憶する。
Specifically, the response
レスポンス管理手段208は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。レスポンス管理手段208は、Webブラウザからメッセージ取得のためのリクエストを受信した際に、該当するメッセージを既に送信済みかどうか判断し、送信済みの場合には、その時のリクエストURLを履歴URLとしてメッセージ送信手段205に伝える(出力する)機能を備えている。
Specifically, the response management means 208 is realized by a CPU of an information processing apparatus that operates according to a program. When the
なお、図1では、2つのWebブラウザがメッセージ中継サーバに接続されているが、2つに限らず、例えば、3つ以上接続しても構わない。 In FIG. 1, two Web browsers are connected to the message relay server. However, the number is not limited to two, and for example, three or more may be connected.
次に、メッセージ送受信システムの動作について説明する。図3は、メッセージ中継サーバでのセッションの開始処理例を示す流れ図である。 Next, the operation of the message transmission / reception system will be described. FIG. 3 is a flowchart showing an example of session start processing in the message relay server.
最初に図3を用いてメッセージ中継サーバ2でのセッションの開始処理について述べる。例えば、遠隔会議をするために、ユーザがシステムを起動する操作を行うと、セッション管理手段201は、ユーザの操作に従って、ユーザ同士の遠隔協働作業のセッションを作成する。この時、セッション管理手段201は、セッションの開始方法として、任意の手法を用いて良い。例えば、セッション管理手段201と電話回線交換機とを接続し、電話による通話の開始をセッションの開始とし、通話者同士をセッションの参加者として構わない。また、別途Webブラウザとセッション管理手段201とを接続し、Webブラウザの操作によって、セッションの開始とセッションの参加者とを定義しても構わない。
First, a session start process in the
次に、セッション管理手段201は、セッションを示すID(セッションID)とユーザを識別するためのID(ユーザID)とを関連(対応)づけて管理する。セッション管理手段201は、この関連づけを示す情報をセッション管理手段201で記憶しても構わないし、メッセージ中継サーバ2外のデータベースサーバといった別のサーバ上で記憶しても構わない。以下、セッション管理手段201が管理するセッションIDとユーザIDとの例を示す。
Next, the
表1に示す例では、「User1」及び「User2」が、セッション「000001」に参加しており、「A」、「B」及び「C」が、セッション「000002」に参加している。 In the example shown in Table 1, “User1” and “User2” participate in the session “000001”, and “A”, “B”, and “C” participate in the session “000002”.
セッション管理手段201は、セッションを開始すると(ステップS101)、セッションIDに基づいて、そのセッションに対応したキューを作成し、作成したキューをキュー記憶手段204に記憶させる(ステップS102)。なお、本実施形態では、ステップS102でセッション管理手段201が作成するセッション毎にキュー方式でメッセージを格納するための箱(例えば、ファイルなど。なお、記憶装置内にキュー方式で記憶するための所定の記憶領域を確保したようなものでもよい)を単に「キュー」とも表現する。以下、この時作成されるキューの例を示す。
When the
表2は、セッションIDが”000001”で表されるセッションに対するキューの一例である。表2に示すキューの中の各行は、Webブラウザ上で動作するアプリケーションから送信されたメッセージを表す。 Table 2 is an example of a queue for a session whose session ID is “000001”. Each row in the queue shown in Table 2 represents a message transmitted from an application operating on the Web browser.
1列目のシーケンス番号は、該当するセッション中にメッセージ中継サーバで受信したメッセージの順番を示す。本実施形態では、このシーケンス番号に、0から始まり1ずつ増加する整数を用いる。 The sequence number in the first column indicates the order of messages received by the message relay server during the corresponding session. In this embodiment, an integer starting from 0 and increasing by 1 is used for this sequence number.
2列目の一時IDは、メッセージを送信したWebブラウザ上で動作するアプリケーションを示すIDであり、詳細については後述する。 The temporary ID in the second column is an ID indicating an application operating on the Web browser that transmitted the message, and details will be described later.
3列目のメッセージタイプは、そのメッセージを用いるアプリケーションの種別を表しており、任意の文字列を持つ。 The message type in the third column represents the type of application that uses the message, and has an arbitrary character string.
4列目のメッセージ内容は、メッセージの本体であり、文字だけでなく任意のデータを値として持つ。表2に示す例では、シーケンス番号「0」のメッセージは、一時ID「A0001」を持つアプリケーションから送信されており、メッセージタイプが「CHAT」で、メッセージ内容として「HELLO」が指定されている。また、シーケンス番号「3」のメッセージは、一時ID「B0001」を持つアプリケーションから送信されており、メッセージタイプが「FILE」で、メッセージ内容として「FILE=BCD.BIN」が指定されている。 The message content in the fourth column is the main body of the message and has not only characters but also arbitrary data as values. In the example shown in Table 2, the message with the sequence number “0” is transmitted from the application having the temporary ID “A0001”, the message type is “CHAT”, and “HELLO” is specified as the message content. The message with the sequence number “3” is transmitted from the application having the temporary ID “B0001”, the message type is “FILE”, and “FILE = BCD.BIN” is specified as the message content.
なお、表2では既にキュー中にメッセージが蓄積されているが、キューは、セッション管理手段201がキューを作成した初期段階では、メッセージを一つも含まない空の状態で作成される。 In Table 2, messages are already accumulated in the queue, but the queue is created in an empty state that does not contain any messages at the initial stage when the session management means 201 creates the queue.
次に、図4を用いてアプリケーション処理開始時におけるWebブラウザ1での処理について述べる。図4は、アプリケーション処理開始時におけるWebブラウザでの処理例を示す流れ図である。
Next, processing in the
遠隔協動システム等に参加するために、ユーザがWebブラウザ1を起動する操作すると、Webブラウザ1は、ユーザの操作に従って、アプリケーション101、通信管理手段102、上り通信手段103、下り通信手段104及びポインタ記憶手段105を起動する(ステップS201)。
When the user performs an operation for starting the
これらの起動については、一般的なWebブラウザと同様に、Webブラウザ1にURL(Uniform Resource Locator)を指定することで、指定したURLに関連づけられたHTMLが読み込まれ、HTML上で定義された101〜105の各手段が動作する。この仕組みは通常のWebブラウザを利用した操作と同等であり、ここではその詳細を省略する。
As for these activations, as in a general Web browser, by specifying a URL (Uniform Resource Locator) in the
次に、Webブラウザ1上で各手段(101〜105)が動作すると、通信管理手段102は、Webブラウザ1を利用しているユーザのユーザIDを取得する(ステップS202)。通信管理手段102がユーザIDを取得する方法として、例えば、HTML中に記述されている文字列を取得(抽出)する方法や、Webブラウザに一般的に備えられているCookieという仕組みを利用して取得する方法、ユーザに入力を促すなど多種の方法が考えられるが、取得可能であれば、どのような方法を用いてもよい。
Next, when each means (101 to 105) operates on the
次に、通信管理手段102は、Webブラウザ1上で動作するアプリケーションを初期化する。この時、通信管理手段102は、Webブラウザ1上で動作しているアプリケーション101を一意に識別するための一時IDを作成する(ステップS203)。
Next, the
そして、通信管理手段102は、作成した一時IDを各アプリケーションに渡す(出力する)(ステップS204)。この一時IDについては、各アプリケーションを識別できれば、どのような値を用いても構わない。
Then, the
次に、各アプリケーション101は、通信管理手段102から出力された一時IDをメモリ等の記憶装置に記憶させる。そして、各アプリケーション101は、それぞれ固有の初期化処理を実施して通信管理手段102に初期化の完了を通知すると共に、各アプリケーション101がそれぞれ使用するメッセージタイプを通知する(ステップS205)。このメッセージタイプは文字列であればどのようなものでも良い。ただし、異なるアプリケーション101間において、同じメッセージタイプを利用しないようにする。
Next, each
次で、通信管理手段102は、メッセージタイプを受け取る(入力する)と、ポインタ記憶手段105に、メッセージタイプと各アプリケーション101の一時IDと共に、初期ポイントとして「−1」を記憶させる(ステップS206)。以下、ポインタ記憶手段105に記憶させる情報の例を示す。
Next, when receiving (inputting) the message type, the
表3に示す例は、メッセージタイプとして「CHAT」と「DOC」とが登録されており、「CHAT」に対応する一時IDが「A0001」であり、「DOC」に対応する一時IDが「A0002」であり、それぞれのポインタが「−1」であることを示している。 In the example shown in Table 3, “CHAT” and “DOC” are registered as message types, the temporary ID corresponding to “CHAT” is “A0001”, and the temporary ID corresponding to “DOC” is “A0002”. ", Indicating that each pointer is" -1 ".
(上り通信)
次に、図5を用いて上り通信処理について説明する。図5は、Webブラウザ及びメッセージ中継サーバでの上り通信処理例を示す流れ図である。ユーザが、Webブラウザ1上で動作するアプリケーション101上においてメッセージを送信する操作を行うと、アプリケーション101は、ユーザの操作に従って、一時ID、自分のメッセージタイプ及びメッセージの内容を通信管理手段102に渡す(出力する)。そして、通信管理手段102は、ユーザID、一時ID、メッセージタイプ及びメッセージの内容を記述したHTTPを利用したリクエスト(以下、HTTPリクエスト)を生成し、上り通信手段103を利用して、メッセージ中継サーバ2のメッセージ受信手段202に対して送信する。この時、上り通信手段103は、メッセージ送信する。以下、上り通信用のHTTPリクエストの例を示す。
(Uplink communication)
Next, uplink communication processing will be described with reference to FIG. FIG. 5 is a flowchart showing an example of upstream communication processing in the Web browser and the message relay server. When the user performs an operation for transmitting a message on the
POST /Up
UID=User1&MT=CHAT&TID=C0001&MSG=こんばんは
POST / Up
UID = User1 & MT = CHAT & TID = C0001 & MSG = Good evening
上記の例は、メッセージ中継サーバ2のメッセージ受信手段202を示す「/Up」に対して、ユーザIDとして「User1」、メッセージタイプとして「CHAT」、一時IDとして「C0001」、メッセージ内容として「こんばんは」を送信していることを示している。
In the above example, for “/ Up” indicating the message receiving means 202 of the
メッセージ中継サーバ2のメッセージ受信手段202は、前述した上り通信用のHTTPリクエストを受信する(ステップS301)。
The
次に、メッセージ受信手段202は、受信したHTTPリクエストからユーザID、メッセージタイプ及び一時IDを抽出して(ステップS302)、メッセージ蓄積制御手段203に渡す(出力する)。
Next, the
次に、メッセージ蓄積制御手段203は、セッション管理手段201に問い合わせて、受け取った(受信した)ユーザIDが参加しているセッションのセッションIDを取得(例えば、セッション管理手段201が記憶部からユーザIDと対応づけて記憶されているセッションIDを抽出し、メッセージ蓄積制御手段203に出力する)する(ステップS303)。
Next, the message
次に、メッセージ蓄積制御手段203は、キュー記憶手段204から、取得したセッションIDと関連づけられているキューを取得(抽出)する(ステップS304)。
Next, the message
次に、メッセージ蓄積制御手段203は、取得(抽出)したキューに含まれるシーケンス番号のうち、最後の値(すなわち、一番大きな番号であり、時間的に新しいもの)を取得(抽出)する(ステップS305)。
Next, the message
次に、メッセージ蓄積制御手段203は、取得(抽出)したシーケンス番号に1を加える(ステップS306)。
Next, the message
次に、メッセージ蓄積制御手段203は、1を加えたシーケンス番号と、一時ID、メッセージタイプ及びメッセージ内容を、追加して、キュー記憶手段204が記憶するキューを更新する(ステップS307)。以下、更新後のキューを示す例を表4に示す。
Next, the message
(下り通信)
次に、図6、図7、図8、図9及び図10を用いて下り通信処理について述べる。図6は、Webブラウザでの下り通信処理例を示す流れ図である。図7は、メッセージ送信手段での処理例を示す流れ図である。図8は、送信メッセージ選択手段での処理例を示す流れ図である。図9は、メッセージ送信手段においてメッセージを返信する際のレスポンス管理手段での処理例を示す流れ図である。図10は、履歴URLを返信する時のレスポンス管理手段での処理例を示す流れ図である。例えば、セッションに遅れて参加した場合に、ユーザがキャッチアップを実行するための操作を行うと、Webブラウザ1の通信管理手段102は、下り通信手段104にユーザIDと共に、下り通信を開始する旨の指示を出力する(ステップS401)。
(Downlink communication)
Next, downlink communication processing will be described with reference to FIGS. 6, 7, 8, 9, and 10. FIG. FIG. 6 is a flowchart showing an example of downlink communication processing in the Web browser. FIG. 7 is a flowchart showing an example of processing in the message transmission means. FIG. 8 is a flowchart showing an example of processing in the transmission message selection means. FIG. 9 is a flowchart showing an example of processing in the response management unit when a message is returned in the message transmission unit. FIG. 10 is a flowchart showing an example of processing in response management means when a history URL is returned. For example, if the user performs an operation for executing catch-up when participating late in the session, the
下り通信手段104は、まず履歴URL(詳細については後述する)の送信中かどうかを判断する(ステップS402)。 The downlink communication means 104 first determines whether a history URL (details will be described later) is being transmitted (step S402).
ステップS402において、履歴URLを送信中であると判断した場合には、下り通信手段104は、その履歴URLを用いて、さらにHTTPリクエストの付加情報としてユーザIDを指定して、下り通信用のHTTPリクエストを生成し、メッセージ中継サーバ2に送信する(ステップS403)。付加情報の指定方法として、任意のHTTPヘッダーを利用する方法や、Cookieを利用するなどの方法が考えられるが、以下に示す例では、Cookieを利用する方法を用いる。この時のHTTPリクエストは、例えば、下記に示す例のようになる(以下に示す例はHTTPリクエストの主要部分のみ記述)
If it is determined in step S402 that the history URL is being transmitted, the
GET/Down?UID=User1&MT1=CHAT&TID1=C0001&PT1=−1&MT2=DOC&TID2=C0002&PT2=−1
Cookie:UID=User3
GET / Down? UID = User1 & MT1 = CHAT & TID1 = C0001 & PT1 = −1 & MT2 = DOC & TID2 = C0002 & PT2 = −1
Cookie: UID = User3
上記のHTTPリクエストは、URL中にメッセージ中継サーバ2のメッセージ送信手段205を示す「/Down」と、ユーザIDとして「User1」とを含み、さらに、一つめのメッセージタイプ、一時ID及びポインタとして、「CHAT」、「C0001」及び「−1」を含む。また、HTTPリクエストは、二つめのメッセージタイプ、一時ID及びポインタとして、「DOC」、「C0002」及び「−1」を含む。また、CookieとしてユーザIDが「User3」であることを示している。
The HTTP request includes “/ Down” indicating the
ステップS402において、履歴URLを送信中でないと判断した場合には、所定期間経過後(ステップS404)、下り通信手段104は、ポインタ記憶手段105から、登録されているメッセージタイプとそれぞれのポインタとを取得(抽出)する(ステップS405)。
If it is determined in step S402 that the history URL is not being transmitted, after a predetermined period has elapsed (step S404), the
そして、下り通信手段104は、ステップS403と同じように、付加情報を追加して、下り通信用のHTTPリクエストを生成し、メッセージ中継サーバ2に送信する(ステップS406)。 Then, the downlink communication means 104 adds the additional information as in step S403, generates an HTTP request for downlink communication, and transmits it to the message relay server 2 (step S406).
次に、メッセージ中継サーバ2のメッセージ送信手段205は、前述した下り通信用のHTTPリクエストを受信する(ステップS501)。
Next, the
次に、メッセージ送信手段205は、受信した下り通信用のHTTPリクエストから、ユーザID、メッセージタイプ、一時ID及びポインタをそれぞれ抽出する(ステップS502)。以下、下り通信用のHTTPリクエストに含まれるメッセージタイプ、一時ID、ポインタを、それぞれリクエストメッセージタイプ、リクエスト一時ID、リクエストポインタと呼ぶ。
Next, the
次に、メッセージ送信手段205は、まずCookieに指定されているユーザIDに基づいて、セッション管理手段201から該当するユーザIDが参加しているセッションのセッションIDを取得する(ステップS503)。
Next, the
次に、メッセージ送信手段205は、URL中のユーザIDとCookieのユーザIDとを比較する(ステップS504)。そして、このユーザIDが異なる場合、メッセージ送信手段205は、送信メッセージ選択手段206に対して、セッションID、リクエストメッセージタイプ、リクエスト一時ID及びリクエストポインタを渡す(出力する)。
Next, the
次に、送信メッセージ選択手段206は、キュー記憶手段204から、メッセージ送信手段205から出力されたセッションIDと関連づけられているキューを取得(抽出)する(ステップS601)。
Next, the transmission
次に、送信メッセージ選択手段206は、メッセージ送信手段205から出力されたリクエストポインタの中で一番小さい値を取得ポインタとする(ステップS602)。
Next, the transmission
次に、送信メッセージ選択手段206は、取得ポインタが示す値よりも大きいシーケンス番号を持つメッセージが取得(抽出)したキューにあるか否かを判定する(ステップS603)。
Next, the transmission
該当するメッセージがあると判定した場合、送信メッセージ選択手段206は、取得ポインタに1を加え(ステップS604)、キューから、その取得ポインタと同じシーケンス番号のメッセージを取得(抽出)する(ステップS605)。
When it is determined that there is a corresponding message, the transmission
次に、送信メッセージ選択手段206は、取得(抽出)したメッセージのメッセージタイプが、リクエストメッセージタイプに含まれているか否かを判定する(ステップS606)。
Next, the transmission
ステップS606において、含まれていないと判定した場合には、送信メッセージ選択手段206は、ステップS603に処理を戻す。
If it is determined in step S606 that the message is not included, the transmission
一方、ステップ606において、含まれていると判定した場合には、送信メッセージ選択手段206は、リクエストメッセージタイプに対するリクエスト一時IDと、取得(抽出)したメッセージの一時IDと比較し、同一であるか否かを判定する(ステップS607)。
On the other hand, if it is determined in step 606 that the message is included, the transmission
ステップS607において、同一であると判定した場合には、送信メッセージ選択手段206は、ステップS603に処理を戻す。
If it is determined in step S607 that they are the same, the transmission
一方、ステップS607において、同一でないと判定した場合には、送信メッセージ選択手段206は、リクエストメッセージタイプに対するリクエストポインタと、取得(抽出)したメッセージのシーケンス番号とを比較し、リクエストポインタがシーケンス番号より小さいか否かを判定する(ステップS608)。
On the other hand, if it is determined in step S607 that they are not the same, the transmission
リクエストポインタよりシーケンス番号の方が小さいと判定した場合、又は、リクエストポインタとシーケンス番号とが同じ値であると判定した場合には、送信メッセージ選択手段206は、ステップS603に処理を戻す。
When it is determined that the sequence number is smaller than the request pointer, or when it is determined that the request pointer and the sequence number have the same value, the transmission
リクエストポインタよりシーケンス番号の方が大きい値であると判定した場合には、送信メッセージ選択手段206は、該当するシーケンス番号を選択シーケンス番号として記憶する(ステップS609)。その後、送信メッセージ選択手段206は、ステップS603に処理を戻す。
If it is determined that the sequence number is larger than the request pointer, the transmission
ステップS603において、取得ポインタよりも大きいシーケンス番号を持つメッセージがキューにない(ステップS604〜609の処理によってなくなった)と判定した場合、送信メッセージ選択手段206は、記憶している選択シーケンス番号があるか否かを判定する(ステップS610)。
If it is determined in step S603 that there is no message having a sequence number larger than the acquisition pointer in the queue (they have been lost due to the processing in steps S604 to 609), the transmission
ステップS610において、選択シーケンス番号が一つでもあると判定した場合には、送信メッセージ選択手段206は、記憶している選択シーケンス番号に該当するメッセージをキューから取得(抽出)し(ステップS611)、メッセージ送信手段205に渡す(出力する)。
If it is determined in step S610 that there is at least one selected sequence number, the transmission
一方、ステップS610において、選択シーケンス番号が一つもないと判定した場合には、送信メッセージ選択手段206は、何もメッセージ送信手段205に渡さない(出力しない)(ステップS612)。
On the other hand, if it is determined in step S610 that there is no selected sequence number, the transmission
次に、メッセージ送信手段205は、送信メッセージ選択手段206から出力されたメッセージがあるか否かを判定する(ステップS505)。
Next, the
ステップS505において、出力されたメッセージがない、すなわち、下り通信用のHTTPリクエストに対するHTTPを利用したレスポンス(以下、HTTPレスポンス)に対し、メッセージが一つもないと判定した場合には、メッセージ送信手段205は、Webブラウザ1に空のレスポンスを返す(送信する)(ステップS506)。
If it is determined in step S505 that there is no output message, that is, there is no message for a response using HTTP to the HTTP request for downlink communication (hereinafter referred to as an HTTP response), the
一方、ステップS505において、該当するメッセージがあると判定した場合には、メッセージ送信手段205は、シーケンス番号が小さい順にメッセージを並べ、それぞれのメッセージのシーケンス番号、メッセージタイプ及びメッセージ内容を含むHTTPレスポンスを生成し、Webブラウザ1に返す(送信する)(ステップS507)。この時、URL中のユーザIDとCookieのユーザIDとが違っている場合には、メッセージ送信手段205は、HTTPレスポンスに対し付加情報として、異なるユーザIDでのレスポンスを示すキャッシュミス文字列を挿入(付加)する(ステップS508)。これは、例えば、HTTPヘッダーとして挿入(付加)することで実現できる。
On the other hand, if it is determined in step S505 that there is a corresponding message, the
例えば、キュー記憶手段204に表4に示すようなメッセージが蓄積されている場合に、前述した例のような下り通信用のリクエストを受信した場合には、送信メッセージ選択手段206が抽出する選択シーケンス番号は、「0」、「1」及び「2」となる。この時、Webブラウザ1に返される(送信される)メッセージは以下のようになる。
For example, when a message as shown in Table 4 is accumulated in the
HTTP/1.1 200 OK
X−STATUS: IDILLEGAL
<−− 区切り −−>
0
CHAT
HELLO
<−− 区切り −−>
1
DOC
FILE=ABC.DOC
<−− 区切り −−>
2
CHAT
こんにちは
<−− 区切り −−>
HTTP / 1.1 200 OK
X-STATUS: IDILLEGAL
<-Separator --->
0
CHAT
HELLO
<-Separator --->
1
DOC
FILE = ABC. DOC
<-Separator --->
2
CHAT
Hello
<-Separator --->
上記の例において、「X−STAUS: IDILLEGAL」は、キャッシュミス文字列である。また、<−− 区切り −−>は、メッセージの区切りを表す文字列である。なお、この文字列に限らず、区切りであることがわかれば任意の文字列で構わない。 In the above example, “X-STAUS: IDILLEGAL” is a cache miss character string. <-Delimiter ---> is a character string that represents a delimiter between messages. Note that the present invention is not limited to this character string, and any character string may be used as long as it is known that it is a delimiter.
さらに、メッセージ送信手段205は、Webブラウザ1に返した(送信した)メッセージの情報を、Webブラウザ1から送信されてきた下り通信用のHTTPリクエストのURLと共に、レスポンス管理手段208に渡す(出力する)。
Further, the
次に、レスポンス管理手段208は、セッションID、一時ID、メッセージのシーケンス番号及びメッセージタイプが同じである項目(レスポンス情報)が、レスポンス情報記憶手段207に既に記憶されているか否か判定する(S701)。
Next, the
同じものが記憶されていないと判定した場合には、レスポンス管理手段208は、レスポンス情報記憶手段207に、新しく項目を作成し、下り通信用のHTTPリクエストのURLと共に、レスポンス情報として記憶させる(ステップS702)。
If it is determined that the same is not stored, the
一方、同じものが記憶されていると判定した場合には、レスポンス管理手段208は、該当するレスポンス情報のうち、URLの項目のみ新しいURLで書き換える(ステップS703)。以下にレスポンス情報記憶手段207が記憶する情報の例を示す。
On the other hand, if it is determined that the same information is stored, the
表5に示す例では、セッションID「000001」に対してシーケンス番号0,1,2のメッセージが返信されており、それぞれの一時ID及びメッセージタイプが表の値の通りである。表5に示す例では、シーケンス番号0及び1のメッセージがWebブラウザに返信された時のURLが、「/Down?UID=User2&MT1=CHAT&TID1=B0001&PT1=−1&MT2=DOC&TID2=B0002&PT2=−1」であることを示している。また、シーケンス番号2のメッセージがWebブラウザに返信された時のURLが、「/Down?UID=User1&MT1=CHAT&TID1=A0001&PT1=1」であることを示している。
In the example shown in Table 5, messages with
また、表5に示す例では、セッションID「000002」に対してシーケンス番号0のメッセージが返信されており、その一時IDが「C0002」、メッセージタイプが「FILE」であり、そのメッセージがWebブラウザに返信された時のURLが「/Down?UID=A&MT1=FILE&TID1=A01&PT1=−1」であることを示している。 In the example shown in Table 5, a message with a sequence number 0 is returned to the session ID “000002”, the temporary ID is “C0002”, the message type is “FILE”, and the message is a Web browser. When the URL is returned, the URL is “/ Down? UID = A & MT1 = FILE & TID1 = A01 & PT1 = −1”.
なお、レスポンス情報記憶手段207は、蓄積する下り通信用のHTTPリクエストに関する情報として、URL以外のリクエスト情報を蓄積しても構わない。また、レスポンス情報記憶手段207は、下り通信用のHTTPリクエストに関する情報として、例えば、受信した日時などを蓄積しても構わない。
Note that the response
ステップS504において、CookieとURLとのユーザID指定が一致した場合、メッセージ送信手段205は、レスポンス管理手段208に対して、取得したセッションIDに関するレスポンス情報があるか否か確認する(ステップS509)。
In step S504, when the user ID designations of the cookie and the URL match, the
ステップS509において、レスポンス情報がないと判定した場合には、以降の処理は、ステップS601と同じである。 If it is determined in step S509 that there is no response information, the subsequent processing is the same as step S601.
一方、ステップS509において、レスポンス情報があると判定した場合、レスポンス管理手段208は、レスポンス情報記憶手段209が記憶するレスポンス情報のうち、取得したセッションIDを持つレスポンス情報を対象レスポンス情報として取得(抽出)する(ステップS801)。
On the other hand, if it is determined in step S509 that there is response information, the
次に、レスポンス管理手段208は、受信したリクエストポインタの中で一番小さい値を取得ポインタとし(ステップS802)、取得ポインタが示す値よりも大きいシーケンス番号を持つレスポンス情報が対象レスポンス情報にあるか否かを判定する(ステップS803)。
Next, the
該当するレスポンス情報があると判定した場合には、レスポンス管理手段208は、取得ポインタに1を加え(ステップS804)、レスポンス情報記憶手段209から、その取得ポインタと同じレスポンス情報を取得(抽出)する(ステップS805)。レスポンス情報を取得(抽出)できない場合には、レスポンス管理手段208は、ステップS803に処理を戻す。
If it is determined that there is corresponding response information, the
取得(抽出)できた場合には、レスポンス管理手段208は、取得(抽出)したレスポンス情報のメッセージタイプが、リクエストメッセージタイプに含まれているか否か判定する(ステップS806)。
If acquisition (extraction) is possible, the
含まれていないと判定した場合には、レスポンス管理手段208は、ステップS803に処理を戻す。一方、含まれていると判定した場合には、レスポンス管理手段208は、リクエストメッセージタイプに対するリクエスト一時IDと、取得(抽出)したレスポンス情報の一時IDと比較する。そして、レスポンス管理手段208は、リクエスト一時IDとレスポンス情報の一時IDとが同一であるか否か判定する(ステップS807)。
If it is determined that it is not included, the
ステップS807において、同一であると判定した場合には、レスポンス管理手段208は、ステップS803に処理を戻す。一方、同一でないと判定した場合には、レスポンス管理手段208は、リクエストメッセージタイプに対するリクエストポインタと、取得(抽出)したレスポンス情報のシーケンス番号とを比較する(ステップS808)。
If it is determined in step S807 that they are the same, the
リクエストポインタよりシーケンス番号の方が小さい場合、又は同じ値である場合、レスポンス管理手段208は、ステップS803に処理を戻す。
When the sequence number is smaller than the request pointer or when the sequence number is the same, the
リクエストポインタよりシーケンス番号の方が大きい値である場合、レスポンス管理手段208は、取得(抽出)したレスポンス情報に含まれるURLを履歴URLとして、そのシーケンス番号と対応付けて記憶する(ステップS809)。その後、レスポンス管理手段208は、ステップS803に処理を戻す。
When the sequence number is larger than the request pointer, the
ステップS803において、取得ポインタよりも大きいシーケンス番号を持つレスポンス情報が対象レスポンス情報になくなったと判定した場合、レスポンス管理手段208は、記憶している履歴URLがあるか否かを判定する(ステップS810)。あると判定した場合、レスポンス管理手段208は、記憶している履歴URLをメッセージ送信手段205に渡す(出力する)(ステップS811)。一方、ないと判定した場合には、レスポン管理手段208は、何も返さない(出力しない)(ステップS812)。
If it is determined in step S803 that the response information having the sequence number larger than the acquisition pointer is not the target response information, the
次に、メッセージ送信手段205は、レスポンス管理手段208から履歴URLが返された(出力された)か否かを判定する(ステップS510)。返されて(出力されて)いないと判定した場合には、メッセージ送信手段205は、空のレスポンスをWebブラウザに返信する(ステップS506)。
Next, the
返されて(出力されて)いると判定した場合には、メッセージ送信手段205は、重複している履歴URLを一つにまとめる(ステップS511)。そして、メッセージ送信手段205は、それらの履歴URL及びシーケンス番号から履歴URLレスポンスを生成し、Webブラウザに返信する。例えば、User3のユーザIDを持つWebブラウザが、以下に示す下り通信用のHTTPリクエストを送信したとする。
If it is determined that it has been returned (output), the
/Down?UID=User3&MT1=CHAT&TID1=A0001&PT1=−1&MT2=DOC&TID2=A0002&PT2=−1
Cookie: User3
/ Down? UID = User3 & MT1 = CHAT & TID1 = A0001 & PT1 = −1 & MT2 = DOC & TID2 = A0002 & PT2 = −1
Cookie: User3
この時の履歴URLレスポンスは以下のようになる。 The history URL response at this time is as follows.
0,1:/Down?UID=User2&MT1=CHAT&TID1=B0001&PT1=−1&MT2=DOC&TID2=B0002&PT2=−1
2:/Down?UID=User1&MT1=CHAT&TID1=A0001&PT1=1
0, 1: / Down? UID = User2 & MT1 = CHAT & TID1 = B0001 & PT1 = −1 & MT2 = DOC & TID2 = B0002 & PT2 = −1
2: / Down? UID = User1 & MT1 = CHAT & TID1 = A0001 & PT1 = 1
履歴URLレスポンスは、各履歴URLで取得できるメッセージのシーケンス番号と、そのURL文字列とを含む。 The history URL response includes the sequence number of the message that can be acquired by each history URL and the URL character string.
次に、Webブラウザ1の下り通信手段104は、HTTPレスポンス(又は履歴URLレスポンス)を受信する(ステップS407)。そして、下り通信手段104は、受信したレスポンスが空か(すなわち、メッセージも履歴URLも含まれていない)否か判定する(ステップS408)。空であると判定すると、下り通信手段104は、ステップS402に処理を戻す。
Next, the downlink communication means 104 of the
また、HTTPレスポンス(又は履歴URLレスポンス)が空でないと判定した場合、下り通信手段104は、HTTPレスポンス(又は履歴URLレスポンス)を解析して、メッセージが含まれているか、又は履歴URLが含まれているか判別する(ステップS409)。
If it is determined that the HTTP response (or history URL response) is not empty, the
メッセージが含まれていると判定した場合、下り通信手段104は、レスポンスからメッセージを一つずつ抽出し(ステップS410)、抽出したメッセージを通信管理手段108に渡す(出力する)。
If it is determined that a message is included, the
次に、通信管理手段108は、下り通信手段104から受け取った(出力された)メッセージのシーケンス番号及びメッセージタイプを取得(抽出)する。そして、通信管理手段108は、ポインタ記憶装置105に記憶されている同じメッセージタイプを持つポインタの値を、取得(抽出)シーケンス番号で書き換える(ステップS411)。以下、シーケンス番号が書き換えられたポインタ記憶手段105が記憶する情報の例について示す。
Next, the communication management unit 108 acquires (extracts) the sequence number and message type of the message received (output) from the
次に、通信管理手段108は、ポインタ記憶装置105の同じ行に記憶されている一時IDを取得(抽出)し、抽出した一時IDを持つアプリケーションに対して、メッセージに含まれるメッセージ内容を渡す(出力する)(ステップS412)。そして、各アプリケーションは、メッセージの内容に従って、それぞれ処理を実行する。
Next, the communication management unit 108 acquires (extracts) the temporary ID stored in the same row of the
また、ステップS409において、履歴URLが含まれている(すなわち、履歴URLレスポンスを受信した)と判定した場合には、Webブラウザ1は、履歴URLの送信を開始する(ステップS413)。その後、Webブラウザ1は、ステップS403以下を実行する。ただし、ステップS410において、履歴URLレスポンスに含まれているシーケンス番号以外のメッセージを受信した場合には、Webブラウザ1は、それを除外する。
If it is determined in step S409 that the history URL is included (that is, the history URL response has been received), the
この時、下り通信用のHTTPリクエストで示されるURLは、以前他のWebブラウザが送信したものである。そして、Webブラウザとメッセージ中継サーバとの間にプロキシサーバなどのキャッシュ装置が存在する場合、そこにリクエストに対するレスポンスがキャッシュされている可能性が高い。 At this time, the URL indicated by the HTTP request for downlink communication has been previously transmitted by another Web browser. If a cache device such as a proxy server exists between the Web browser and the message relay server, there is a high possibility that a response to the request is cached there.
キャッシュ装置にキャッシュされている場合には、キャッシュ装置は、そのキャッシュに含まれるメッセージをWebブラウザに返信する。また、キャッシュに含まれていない場合には、メッセージ中継サーバにリクエストが送信される。この場合、URLに含まれるユーザIDとCookieのユーザIDとが異なるため、ステップS601以降の処理が実行され、メッセージがWebブラウザに返信される。 If it is cached in the cache device, the cache device returns a message included in the cache to the Web browser. If it is not included in the cache, the request is transmitted to the message relay server. In this case, since the user ID included in the URL is different from the user ID of the cookie, the processing after step S601 is executed, and the message is returned to the Web browser.
そして、Webブラウザ1は、メッセージを取得(受信)すると、ステップS410以降の処理を実行し、メッセージをアプリケーションに渡す(出力する)。
Then, when the
次に、Webブラウザ1は、この時に、受信したHTTPレスポンスの付加情報として、キャッシュミス文字列が指定されているか否かを判定する(ステップS414)。そして、指定されていないと判定した場合には、Webブラウザ1は、次の履歴URLが指定されていれば、それに基づいて再度下り通信用のリクエストを送信する。一方、キャッシュミス文字列が指定されていると判定した場合には、Webブラウザ1は、履歴URLの送信を停止し(ステップS415)、通常の処理に戻す。
Next, at this time, the
以上のように、本実施形態では、メッセージ中継サーバは、HTTPリクエストに対応するHTTPレスポンスを、HTTPリクエストに含まれるURLと対応づけて履歴情報としてレスポンス情報記憶手段207に記憶する。そして、メッセージ中継サーバは、Webブラウザから新たなHTTPリクエストを受信すると、受信したリクエストに対応するHTTPレスポンスと対応付けて記憶されているURLを抽出し、Webブラウザに返信する。そのため、Webブラウザがメッセージを取得する際に、返信されたURLを用いることで、キャッシュに蓄積されたメッセージを取得できるようになる。また、キャッシュを有効に利用することにより、メッセージ中継サーバにおいて、Webブラウザ1から受信したリクエストに応じてメッセージを抽出し、抽出したメッセージをWebブラウザ1に返信する処理を省略することができるため、負荷を減少させることが可能となる。
As described above, in the present embodiment, the message relay server stores the HTTP response corresponding to the HTTP request in the response
次に、本発明によるメッセージ送受信システムの最小構成について説明する。図11は、メッセージ送受信システムの最小の構成例を示すブロック図である。図11に示すように、メッセージ送受信システムは、最小の構成要素として、レスポンス記憶手段10、URL抽出手段20及びリクエスト生成手段30を含む。 Next, the minimum configuration of the message transmission / reception system according to the present invention will be described. FIG. 11 is a block diagram illustrating a minimum configuration example of the message transmission / reception system. As shown in FIG. 11, the message transmission / reception system includes response storage means 10, URL extraction means 20, and request generation means 30 as minimum components.
図11に示す最小構成のメッセージ送受信システムでは、メッセージ取得用のリクエストに対するレスポンスとリクエストに含まれるURLとを対応づけて記憶するレスポンス記憶手段10を備えている。そして、新たなリクエストを受信すると、URL抽出手段20は、受信したリクエストに対応するレスポンスと対応づけられたURLをレスポンス記憶手段10から抽出する。そして、リクエスト生成手段30は、URL抽出手段20が抽出したURLを用いて、メッセージ取得用のリクエストを生成する。
The message transmission / reception system with the minimum configuration shown in FIG. 11 includes response storage means 10 that stores a response to a message acquisition request and a URL included in the request in association with each other. When a new request is received, the
従って、図11に示す最小構成のメッセージ送受信システムによれば、キャッチアップ時に、過去にメッセージを取得したURLを用いることができるため、キャッシュに蓄積されたメッセージを取得することができる。また、このことによって、メッセージ中継サーバにおいて、Webブラウザから受信したリクエストに応じてメッセージを抽出し、抽出したメッセージをWebブラウザに返信する処理を省略することができるため、負荷を減少させることが可能となる。 Therefore, according to the message transmission / reception system having the minimum configuration shown in FIG. 11, since the URL from which the message has been acquired in the past can be used at the time of catch-up, the message stored in the cache can be acquired. In addition, this enables the message relay server to omit the process of extracting a message in response to a request received from the Web browser and returning the extracted message to the Web browser, thereby reducing the load. It becomes.
なお、本実施形態では、以下の(1)〜(8)に示すようなメッセージ送受信システムの特徴的構成が示されている。 In the present embodiment, the characteristic configuration of the message transmission / reception system as shown in the following (1) to (8) is shown.
(1)メッセージ送受信システムは、複数のWebブラウザ(例えば、Webブラウザ1によって実現される)と、複数のWebブラウザ間でのメッセージの送受信を中継するメッセージ中継サーバ(例えば、メッセージ中継サーバ2によって実現される)とを備え、メッセージ中継サーバは、メッセージ取得用のリクエスト(例えば、HTTPリクエストによって実現される)に対するレスポンス(例えば、セッションIDやシーケンス番号、一時ID、メッセージタイプ)とリクエストに含まれるURL(例えば、履歴URLとして記憶する)とを対応づけて記憶するレスポンス記憶手段(例えば、レスポンス情報記憶手段207によって実現される)と、新たなリクエストを受信すると、受信したリクエストに対応するレスポンスと対応づけられたURLをレスポンス記憶手段から抽出するURL抽出手段(例えば、レスポンス管理手段208によって実現される)とを含み、URL抽出手段が抽出したURLを用いて、メッセージ取得用のリクエストを送信するリクエスト生成手段(例えば、下り通信手段104によって実現される)を備えたことを特徴とする。 (1) The message transmission / reception system is realized by a plurality of Web browsers (for example, realized by the Web browser 1) and a message relay server (for example, the message relay server 2) that relays message transmission / reception between the plurality of Web browsers. The message relay server includes a response (for example, a session ID, a sequence number, a temporary ID, a message type) to a message acquisition request (for example, realized by an HTTP request) and a URL included in the request. (For example, realized by the response information storage unit 207) and a response corresponding to the received request when a new request is received. A request for transmitting a message acquisition request using the URL extracted by the URL extraction unit (for example, realized by the response management unit 208). A generation unit (for example, realized by the downlink communication unit 104) is provided.
(2)メッセージ送受信システムにおいて、メッセージ中継サーバは、リクエストを受信すると、受信したリクエストに対応するレスポンスがレスポンス記憶手段に記憶されているか否かを判定する判定手段(例えば、レスポンス管理手段208によって実現される)と、判定手段が記憶されていないと判定すると、送信されたメッセージを記憶する記憶部(例えば、キュー記憶手段204によって実現される)から、受信したリクエストに基づいてメッセージを抽出するメッセージ抽出手段(例えば、送信メッセージ選択手段206によって実現される)とを含み、URL抽出手段は、判定手段が記憶されていると判定すると、受信したリクエストに対応するレスポンスと対応づけられたURLをレスポンス記憶手段から抽出するように構成されていてもよい。 (2) In the message transmission / reception system, when the message relay server receives the request, the message relay server determines whether or not a response corresponding to the received request is stored in the response storage unit (for example, realized by the response management unit 208) If the determination means determines that it is not stored, the message that extracts the message based on the received request from the storage unit (for example, realized by the queue storage means 204) that stores the transmitted message When the URL extracting unit determines that the determining unit is stored, the URL extracting unit (for example, realized by the transmission message selecting unit 206) returns a URL associated with the response corresponding to the received request. Configure to extract from storage means It may be.
(3)メッセージ送受信システムは、ユーザ同士が遠隔で協働作業をするためのブラウザを搭載したユーザ端末と、ユーザ端末と通信するサーバ装置上に実装されたメッセージの送受信を中継するメッセージ中継サーバと、キャッシュ機能を有するプロキシサーバ(例えば、プロキシサーバ3によって実現される)とを備え、ユーザ端末は、協働作業をするための処理を実行するためのアプリケーション(例えば、アプリケーション101によって実現される)と、アプリケーションに従って実行される通信を制御する通信管理手段(例えば、通信管理手段102によって実現される)と、ユーザ端末が生成したメッセージをメッセージ送信要求(例えば、上り通信用のHTTPリクエスト)としてメッセージ中継サーバに送信する上り通信手段(例えば、上り通信手段103によって実現される)と、メッセージ中継サーバにメッセージ取得要求を送信して他のユーザ端末が生成したメッセージを受信する下り通信手段(例えば、下り通信手段104によって実現される)と、メッセージ中継サーバ上のキュー中の受信したメッセージが存在する一の位置情報(例えば、シーケンス番号)と、メッセージを処理するアプリケーションを特定する情報(例えば、一時ID)とを関連づけて記憶するポインタ記憶手段(例えば、ポインタ記憶手段105によって実現される)とを含み、メッセージ中継サーバは、ユーザ同士の遠隔協働作業のセッションを管理し、セッションとセッションにおけるキューとの関係を管理するセッション管理手段(例えば、セッション管理手段201によって実現される)と、ユーザ端末からメッセージ送信要求として送信されたメッセージを受信するメッセージ受信手段(例えば、メッセージ受信手段202によって実現される)と、メッセージをキューに蓄積するメッセージ蓄積制御手段(例えば、メッセージ蓄積制御手段203によって実現される)と、メッセージ蓄積制御手段に従って、セッション毎に用意されたキューにメッセージを記憶するキュー記憶手段(例えば、キュー記憶手段204によって実現される)と、ユーザ端末からのメッセージ取得要求を受信して、メッセージ取得要求で示されるメッセージ又は過去にメッセージを返信した時のメッセージ取得要求の内容(例えば、履歴URL)を返信するメッセージ送信手段(例えば、メッセージ送信手段205によって実現される)と、ユーザ端末からのメッセージ取得要求に応じて、キュー記憶手段に蓄積されたメッセージの中からユーザ端末に返信するべきメッセージを検索して、メッセージのメッセージ中継サーバ内での管理情報と共にメッセージを取得する送信メッセージ選択手段(例えば、送信メッセージ選択手段206によって実現される)と、メッセージ送信手段が送信したメッセージのメッセージ中継サーバ内での管理情報と、メッセージ送信手段が受信したユーザ端末からのメッセージ取得要求の内容とをレスポンス情報として記憶するレスポンス情報記憶手段(例えば、レスポンス情報記憶手段207によって実現される)と、ユーザ端末からメッセージ取得要求を受信する際、メッセージ取得要求で示されるメッセージを既に送信済みかどうか判断し、送信済みの場合には、メッセージ取得要求の内容をメッセージ送信手段に出力するレスポンス管理手段(例えば、レスポンス管理手段208によって実現される)とを含むことを特徴とする。 (3) A message transmission / reception system includes a user terminal equipped with a browser for allowing users to collaborate remotely, and a message relay server that relays message transmission / reception implemented on a server device communicating with the user terminal; And a proxy server (for example, realized by the proxy server 3) having a cache function, and the user terminal is an application (for example, realized by the application 101) for executing processing for performing a collaborative work. A communication management means (for example, realized by the communication management means 102) for controlling communication executed in accordance with the application, and a message generated by the user terminal as a message transmission request (for example, an HTTP request for uplink communication) Uplink communication sent to relay server Stage (for example, realized by the uplink communication unit 103) and a downlink communication unit (for example, realized by the downlink communication unit 104) that transmits a message acquisition request to the message relay server and receives a message generated by another user terminal. And a piece of positional information (for example, a sequence number) where the received message in the queue on the message relay server exists and information (for example, a temporary ID) for specifying an application that processes the message are stored in association with each other. A message storage server (for example, realized by the pointer storage unit 105), the message relay server manages a session of remote collaboration work between users, and manages a relationship between the session and a queue in the session Management means (for example, in session management means 201 A message receiving means for receiving a message transmitted as a message transmission request from the user terminal (for example, realized by the message receiving means 202), and a message storage control means for storing the message in a queue ( (For example, realized by the message storage control unit 203), a queue storage unit (for example, realized by the queue storage unit 204) for storing a message in a queue prepared for each session according to the message storage control unit, and a user Message transmission means (for example, message transmission means) that receives a message acquisition request from the terminal and returns the message indicated by the message acquisition request or the contents of the message acquisition request (for example, history URL) when the message was returned in the past Realized by 205 In response to a message acquisition request from the user terminal, a message to be returned to the user terminal is searched from the messages stored in the queue storage means, and the management information of the message in the message relay server is retrieved. Transmission message selection means for acquiring a message (for example, realized by the transmission message selection means 206), management information in a message relay server of a message transmitted by the message transmission means, and a user terminal received by the message transmission means And a message indicated by the message acquisition request when the message acquisition request is received from the user terminal. Has already been sent Determining whether, when the sent is characterized in that it comprises a response management means for outputting the contents of the message acquisition request to the message transmission means (for example, implemented by the response management unit 208).
(4)メッセージ送受信システムにおいて、メッセージ送信手段は、ユーザ端末からのメッセージ取得要求に対してメッセージを返信する際、メッセージのメッセージ中継サーバでの管理情報(例えば、セッションIDやシーケンス番号、一時ID、メッセージタイプ)と共にメッセージ取得要求の内容(例えば、URL)をレスポンス情報記憶手段に記憶させるように構成されていてもよい。 (4) In the message transmission / reception system, when the message transmission means returns a message in response to the message acquisition request from the user terminal, the message management information in the message relay server (for example, session ID, sequence number, temporary ID, The content (for example, URL) of the message acquisition request together with the message type may be stored in the response information storage unit.
(5)メッセージ送受信システムにおいて、レスポンス管理手段は、メッセージ送信手段においてユーザ端末からのメッセージ取得要求に対してメッセージを返信する際、取得要求されているメッセージが既に過去に返信されているか否かを判定し、過去に返信していると判定した場合、メッセージを返信した時に受信した下り通信要求の内容(例えば、履歴URL)を取得し、メッセージ送信手段は、レスポンス管理手段が取得したメッセージ取得要求の内容をユーザ端末に送信するように構成されていてもよい。 (5) In the message transmission / reception system, when the message transmission unit returns a message to the message acquisition request from the user terminal in the message transmission unit, the response management unit determines whether the message requested for acquisition has already been returned in the past. If it is determined that the message has been replied in the past, the content (for example, history URL) of the downlink communication request received when the message is replied is acquired, and the message transmission means acquires the message acquisition request acquired by the response management means May be configured to be transmitted to the user terminal.
(6)メッセージ送受信システムにおいて、下り通信手段は、メッセージ中継サーバからメッセージ取得要求の内容(例えば、履歴URL)が返信された場合、返信されたメッセージ取得要求の内容に従ってメッセージ取得要求を再度生成し、メッセージ取得要求にユーザ端末を操作しているユーザを示すユーザ情報(例えば、ユーザID)を付加情報として指定するように構成されていてもよい。 (6) In the message transmission / reception system, when the content (for example, history URL) of the message acquisition request is returned from the message relay server, the downlink communication means generates the message acquisition request again according to the content of the returned message acquisition request. The user information (for example, user ID) indicating the user operating the user terminal in the message acquisition request may be specified as additional information.
(7)メッセージ送受信システムにおいて、メッセージ送信手段は、ユーザ端末からのメッセージ取得要求を受信した際、メッセージ取得要求の内容に含まれるユーザ情報とメッセージ取得要求に付加情報として指定されているユーザ情報とを比較し、ユーザ情報が合致しなければ、メッセージ蓄積制御手段によって蓄積されているメッセージを返信する際に、メッセージにキャッシュにミスしたことを示す付加情報(例えば、キャッシュミス文字列)を追加するように構成されていてもよい。 (7) In the message transmission / reception system, when the message transmission unit receives the message acquisition request from the user terminal, the user information included in the content of the message acquisition request and the user information specified as additional information in the message acquisition request If the user information does not match, additional information (for example, a cache miss character string) indicating a miss in the cache is added to the message when returning the message stored by the message storage control means. It may be configured as follows.
(8)メッセージ送受信システムにおいて、下り通信手段は、メッセージ中継サーバからメッセージが返信されてきた場合、返信の付加情報にキャッシュに失敗したことを示す情報が付加されているか否かを確認し、付加されていれば、メッセージ中継サーバから取得したメッセージ取得要求の内容に従ったメッセージ取得要求の再生成を中止するように構成されていてもよい。 (8) In the message transmission / reception system, when a message is returned from the message relay server, the downlink communication means confirms whether or not information indicating that the cache has failed is added to the additional information of the reply, and adds If so, the reconfiguration of the message acquisition request according to the content of the message acquisition request acquired from the message relay server may be stopped.
本発明は、遠隔会議等をする用途に適用可能である。 The present invention can be applied to applications such as a remote conference.
1 Webブラウザ
2 メッセージ中継サーバ
3 プロキシサーバ
10 レスポンス記憶手段
20 URL抽出手段
30 リクエスト生成手段
101 アプリケーション
102 通信管理手段
103 上り通信手段
104 下り通信手段
105 ポインタ記憶手段
201 セッション管理手段
202 メッセージ受信手段
203 メッセージ蓄積制御手段
204 キュー記憶手段
205 メッセージ送信手段
206 送信メッセージ選択手段
207 レスポンス情報記憶手段
208 レスポンス管理手段
DESCRIPTION OF
Claims (14)
前記メッセージ中継サーバは、
メッセージ取得用のリクエストに対するレスポンスと前記リクエストに含まれるURLとを対応づけて記憶するレスポンス記憶手段と、
新たなリクエストを受信すると、受信した前記リクエストに対応するレスポンスと対応づけられたURLを前記レスポンス記憶手段から抽出するURL抽出手段とを含み、
前記URL抽出手段が抽出した前記URLを用いて、メッセージ取得用のリクエストを生成するリクエスト生成手段を備えた
ことを特徴とするメッセージ送受信システム。 A message relay server that relays message transmission and reception using multiple browsers;
The message relay server
Response storage means for storing a response to a message acquisition request in association with a URL included in the request;
Receiving a new request, URL extraction means for extracting a URL associated with the response corresponding to the received request from the response storage means,
A message transmission / reception system comprising: a request generation unit that generates a message acquisition request using the URL extracted by the URL extraction unit.
前記判定手段が記憶されていないと判定すると、送信されたメッセージを記憶する記憶部から、受信した前記リクエストに基づいてメッセージを抽出するメッセージ抽出手段とを備え、
URL抽出手段は、前記判定手段が記憶されていると判定すると、受信した前記リクエストに対応するレスポンスと対応づけられたURLを前記レスポンス記憶手段から抽出する
請求項1記載のメッセージ送受信システム。 When the message relay server receives the request, the determination unit determines whether or not a response corresponding to the received request is stored in the response storage unit;
When it is determined that the determination unit is not stored, the storage unit that stores the transmitted message includes a message extraction unit that extracts a message based on the received request,
The message transmission / reception system according to claim 1, wherein when the determination unit determines that the determination unit is stored, the URL extraction unit extracts a URL associated with the response corresponding to the received request from the response storage unit.
前記ユーザ端末と通信するサーバ装置上に実装されたメッセージの送受信を中継するメッセージ中継サーバと、
キャッシュ機能を有するプロキシサーバとを備え、
前記ユーザ端末は、
前記協働作業をするための処理を実行するためのアプリケーションと、
前記アプリケーションに従って実行される通信を制御する通信管理手段と、
当該ユーザ端末が生成したメッセージをメッセージ送信要求として前記メッセージ中継サーバに送信する上り通信手段と、
前記メッセージ中継サーバにメッセージ取得要求を送信して他のユーザ端末が生成したメッセージを受信する下り通信手段と、
前記メッセージ中継サーバ上のキュー中の受信したメッセージが存在する位置の位置情報と、前記メッセージを処理するアプリケーションを特定する情報とを関連づけて記憶するポインタ記憶手段とを含み、
前記メッセージ中継サーバは、
ユーザ同士の遠隔協働作業のセッションを管理し、前記セッションと前記セッションにおけるキューとの関係を管理するセッション管理手段と、
前記ユーザ端末からメッセージ送信要求として送信されたメッセージを受信するメッセージ受信手段と、
前記メッセージをキューに蓄積するメッセージ蓄積制御手段と、
前記メッセージ蓄積制御手段に従って、セッション毎に用意されたキューにメッセージを記憶するキュー記憶手段と、
前記ユーザ端末からのメッセージ取得要求を受信して、該メッセージ取得要求で示されるメッセージ又は過去に当該メッセージを返信した時のメッセージ取得要求の内容を返信するメッセージ送信手段と、
前記ユーザ端末からのメッセージ取得要求に応じて、前記キュー記憶手段に蓄積されたメッセージの中から前記ユーザ端末に返信するべきメッセージを検索して、当該メッセージのメッセージ中継サーバ内での管理情報と共にメッセージを取得する送信メッセージ選択手段と、
前記メッセージ送信手段が送信したメッセージの当該メッセージ中継サーバ内での管理情報と、前記メッセージ送信手段が受信した前記ユーザ端末からのメッセージ取得要求の内容とをレスポンス情報として記憶するレスポンス情報記憶手段と、
前記ユーザ端末からメッセージ取得要求を受信する際、該メッセージ取得要求で示されメッセージを既に送信済みかどうか判断し、送信済みの場合には、メッセージ取得要求の内容を前記メッセージ送信手段に出力するレスポンス管理手段とを
含むことを特徴とするメッセージ送受信システム。 A user terminal equipped with a browser for users to collaborate remotely,
A message relay server that relays message transmission and reception implemented on a server device that communicates with the user terminal;
A proxy server having a cache function,
The user terminal is
An application for executing a process for performing the collaborative work;
Communication management means for controlling communication executed in accordance with the application;
An uplink communication means for transmitting a message generated by the user terminal as a message transmission request to the message relay server;
A downlink communication means for transmitting a message acquisition request to the message relay server and receiving a message generated by another user terminal;
Pointer storage means for storing the location information of the location where the received message is present in the queue on the message relay server and the information specifying the application that processes the message in association with each other;
The message relay server
Session management means for managing a session of remote collaboration work between users, and managing a relationship between the session and a queue in the session;
Message receiving means for receiving a message transmitted as a message transmission request from the user terminal;
Message accumulation control means for accumulating the message in a queue;
In accordance with the message accumulation control means, queue storage means for storing messages in a queue prepared for each session;
A message transmission means for receiving a message acquisition request from the user terminal and returning the message indicated by the message acquisition request or the content of the message acquisition request when the message is returned in the past;
In response to a message acquisition request from the user terminal, a message to be returned to the user terminal is retrieved from the messages stored in the queue storage means, and the message is sent together with management information in the message relay server of the message. Send message selection means for obtaining
Response information storage means for storing, as response information, management information of the message transmitted by the message transmission means in the message relay server and the content of the message acquisition request received from the user terminal received by the message transmission means;
When receiving a message acquisition request from the user terminal, it is determined whether the message indicated by the message acquisition request has already been transmitted, and if it has been transmitted, a response for outputting the content of the message acquisition request to the message transmitting means A message transmission / reception system comprising a management means.
請求項3記載のメッセージ送受信システム。 The message transmission unit stores the content of the message acquisition request in the response information storage unit together with the management information in the message relay server of the message when the message is returned in response to the message acquisition request from the user terminal. Message sending / receiving system.
メッセージ送信手段は、前記レスポンス管理手段が取得した前記メッセージ取得要求の内容をユーザ端末に送信する
請求項3記載のメッセージ送受信システム。 The response management means determines whether or not the message requested for acquisition has already been returned in the past when the message transmission means returns a message in response to the message acquisition request from the user terminal, If it is determined that the message is received, the content of the downlink communication request received when the message is returned,
The message transmission / reception system according to claim 3, wherein the message transmission unit transmits the content of the message acquisition request acquired by the response management unit to a user terminal.
請求項3記載のメッセージ送受信システム。 When the content of the message acquisition request is returned from the message relay server, the downlink communication means generates the message acquisition request again according to the content of the returned message acquisition request, and operates the user terminal for the message acquisition request The message transmission / reception system according to claim 3, wherein user information indicating a user is designated as additional information.
請求項3記載のメッセージ送受信システム。 When the message transmission means receives the message acquisition request from the user terminal, the message transmission means compares the user information included in the content of the message acquisition request with the user information specified as additional information in the message acquisition request. The message transmission / reception system according to claim 3, wherein when the two do not match, additional information indicating that the cache has been missed is added to the message when the message stored by the message storage control unit is returned.
請求項3記載のメッセージ送受信システム。 When the message is returned from the message relay server, the downlink communication means checks whether or not information indicating that the cache has failed is added to the additional information of the reply, and if it is added, the message relay The message transmission / reception system according to claim 3, wherein the regeneration of the message acquisition request according to the content of the message acquisition request acquired from the server is stopped.
メッセージ取得用のリクエストに対するレスポンスと前記リクエストに含まれるURLとを対応づけて記憶するレスポンス記憶手段と、
新たなリクエストを受信すると、受信した前記リクエストに対応するレスポンスと対応づけられたURLを前記レスポンス記憶手段から抽出するURL抽出手段とを
備えたことを特徴とするメッセージ中継サーバ。 A message relay server that relays message transmission and reception using multiple browsers,
Response storage means for storing a response to a message acquisition request in association with a URL included in the request;
A message relay server, comprising: a URL extraction unit that extracts a URL associated with a response corresponding to the received request from the response storage unit when a new request is received.
前記判定手段が記憶されていないと判定すると、送信されたメッセージを記憶する記憶部から、受信した前記リクエストに基づいてメッセージを抽出するメッセージ抽出手段とを備え、
URL抽出手段は、前記判定手段が記憶されていると判定すると、受信した前記リクエストに対応するレスポンスと対応づけられたURLを前記レスポンス記憶手段から抽出する
請求項9記載のメッセージ中継サーバ。 When receiving the request, a determination unit that determines whether or not a response corresponding to the received request is stored in the response storage unit;
When it is determined that the determination unit is not stored, the storage unit that stores the transmitted message includes a message extraction unit that extracts a message based on the received request,
The message relay server according to claim 9, wherein when the URL extracting unit determines that the determining unit is stored, the URL extracting unit extracts a URL associated with the response corresponding to the received request from the response storing unit.
新たなリクエストを受信すると、受信した前記リクエストに対応するレスポンスと対応づけられたURLを前記記憶部から抽出するURL抽出ステップと、
抽出した前記URLを用いて、メッセージ取得用のリクエストを生成するリクエスト生成ステップとを
含むことを特徴とするメッセージ送受信方法。 A response storage step of storing a response to a request for message acquisition and a URL included in the request in association with each other in a storage unit;
A URL extraction step of extracting, from the storage unit, a URL associated with a response corresponding to the received request when receiving a new request;
And a request generation step of generating a message acquisition request using the extracted URL.
記憶されていないと判定すると、送信されたメッセージを記憶する記憶部から、受信した前記リクエストに基づいてメッセージを抽出するメッセージ抽出ステップとを含み、
URL抽出ステップで、記憶されていると判定すると、受信した前記リクエストに対応するレスポンスと対応づけられたURLを前記レスポンス記憶手段から抽出する
請求項11記載のメッセージ送受信方法。 When receiving a request, a determination step of determining whether or not a response corresponding to the received request is stored in the storage unit;
A message extraction step of extracting a message based on the received request from a storage unit for storing the transmitted message when it is determined that the message is not stored;
The message transmission / reception method according to claim 11, wherein if it is determined that the URL is stored in the URL extraction step, a URL associated with the response corresponding to the received request is extracted from the response storage unit.
メッセージ取得用のリクエストに対するレスポンスと前記リクエストに含まれるURLとを対応づけて記憶部に記憶する記憶処理と、
新たなリクエストを受信すると、受信した前記リクエストに対応するレスポンスと対応づけられたURLを前記記憶部から抽出するURL抽出処理と、
抽出した前記URLを用いて、メッセージ取得用のリクエストを生成するリクエスト生成処理とを
実行させるためのメッセージ送受信用プログラム。 To a computer that relays the sending and receiving of messages using multiple browsers,
A storage process in which a response to a message acquisition request and a URL included in the request are associated with each other and stored in a storage unit;
When a new request is received, a URL extraction process for extracting a URL associated with a response corresponding to the received request from the storage unit;
A message transmission / reception program for executing a request generation process for generating a message acquisition request using the extracted URL.
リクエストを受信すると、受信した前記リクエストに対応するレスポンスが記憶部に記憶されているか否かを判定する判定処理と、
記憶されていないと判定すると、送信されたメッセージを記憶する記憶部から、受信した前記リクエストに基づいてメッセージを抽出するメッセージ抽出処理とを実行させ、
URL抽出処理で、記憶されていると判定すると、受信した前記リクエストに対応するレスポンスと対応づけられたURLを前記レスポンス記憶手段から抽出する処理を実行させる
請求項13記載のメッセージ送受信用プログラム。 On the computer,
When receiving a request, a determination process for determining whether a response corresponding to the received request is stored in the storage unit;
When it is determined that the message is not stored, the message extraction process for extracting the message based on the received request is executed from the storage unit that stores the transmitted message,
The program for message transmission / reception according to claim 13, wherein if it is determined that the URL is stored in the URL extraction process, a process of extracting a URL associated with the response corresponding to the received request from the response storage unit is executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009182745A JP5493567B2 (en) | 2009-08-05 | 2009-08-05 | Message transmission / reception system, message transmission / reception method, message relay server, and message transmission / reception program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009182745A JP5493567B2 (en) | 2009-08-05 | 2009-08-05 | Message transmission / reception system, message transmission / reception method, message relay server, and message transmission / reception program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011034511A true JP2011034511A (en) | 2011-02-17 |
JP5493567B2 JP5493567B2 (en) | 2014-05-14 |
Family
ID=43763489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009182745A Active JP5493567B2 (en) | 2009-08-05 | 2009-08-05 | Message transmission / reception system, message transmission / reception method, message relay server, and message transmission / reception program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5493567B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016110343A (en) * | 2014-12-04 | 2016-06-20 | キヤノン株式会社 | Information processing device, information processing method in information processing device, and program |
CN110312223A (en) * | 2019-07-24 | 2019-10-08 | 潍坊医学院附属医院 | A kind of Urology Surgery chemical examination information transmission system and computer readable storage medium |
CN110798402A (en) * | 2019-10-30 | 2020-02-14 | 腾讯科技(深圳)有限公司 | Service message processing method, device, equipment and storage medium |
CN111506846A (en) * | 2019-01-30 | 2020-08-07 | 杭州海康威视数字技术股份有限公司 | Web page generation method and device, electronic equipment and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000099439A (en) * | 1998-09-24 | 2000-04-07 | Fuji Xerox Co Ltd | Data fixing system, data fixing device, data repeater, information terminal equipment, computer readable recording medium recording data fixing program, and computer readable recording medium recording data repeating program and recording program for information terminal |
JP2004220352A (en) * | 2003-01-15 | 2004-08-05 | Nec System Technologies Ltd | Web browser cooperation system, web browser cooperation method and web browser cooperation program |
JP2005149387A (en) * | 2003-11-19 | 2005-06-09 | Nec Corp | Real time web sharing system |
JP2006190033A (en) * | 2005-01-05 | 2006-07-20 | Hitachi Ltd | Information processing system and processing method for communication reproduction |
JP2008015593A (en) * | 2006-07-03 | 2008-01-24 | Hitachi Ltd | Repeater, program, relay method and communication system |
JP2009087032A (en) * | 2007-09-28 | 2009-04-23 | Internatl Business Mach Corp <Ibm> | Technology for automating operation of user |
JP2009140290A (en) * | 2007-12-07 | 2009-06-25 | Fujitsu Ltd | Content repeater, content relay system, content relay method and program |
-
2009
- 2009-08-05 JP JP2009182745A patent/JP5493567B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000099439A (en) * | 1998-09-24 | 2000-04-07 | Fuji Xerox Co Ltd | Data fixing system, data fixing device, data repeater, information terminal equipment, computer readable recording medium recording data fixing program, and computer readable recording medium recording data repeating program and recording program for information terminal |
JP2004220352A (en) * | 2003-01-15 | 2004-08-05 | Nec System Technologies Ltd | Web browser cooperation system, web browser cooperation method and web browser cooperation program |
JP2005149387A (en) * | 2003-11-19 | 2005-06-09 | Nec Corp | Real time web sharing system |
JP2006190033A (en) * | 2005-01-05 | 2006-07-20 | Hitachi Ltd | Information processing system and processing method for communication reproduction |
JP2008015593A (en) * | 2006-07-03 | 2008-01-24 | Hitachi Ltd | Repeater, program, relay method and communication system |
JP2009087032A (en) * | 2007-09-28 | 2009-04-23 | Internatl Business Mach Corp <Ibm> | Technology for automating operation of user |
JP2009140290A (en) * | 2007-12-07 | 2009-06-25 | Fujitsu Ltd | Content repeater, content relay system, content relay method and program |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016110343A (en) * | 2014-12-04 | 2016-06-20 | キヤノン株式会社 | Information processing device, information processing method in information processing device, and program |
US10101698B2 (en) | 2014-12-04 | 2018-10-16 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium |
CN111506846A (en) * | 2019-01-30 | 2020-08-07 | 杭州海康威视数字技术股份有限公司 | Web page generation method and device, electronic equipment and storage medium |
CN111506846B (en) * | 2019-01-30 | 2023-05-02 | 杭州海康威视数字技术股份有限公司 | Web page generation method and device, electronic equipment and storage medium |
CN110312223A (en) * | 2019-07-24 | 2019-10-08 | 潍坊医学院附属医院 | A kind of Urology Surgery chemical examination information transmission system and computer readable storage medium |
CN110798402A (en) * | 2019-10-30 | 2020-02-14 | 腾讯科技(深圳)有限公司 | Service message processing method, device, equipment and storage medium |
CN110798402B (en) * | 2019-10-30 | 2023-04-07 | 腾讯科技(深圳)有限公司 | Service message processing method, device, equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP5493567B2 (en) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9578081B2 (en) | System and method for providing an actively invalidated client-side network resource cache | |
US8312083B2 (en) | System and method for sharing search result using messenger | |
EP2115976B1 (en) | Method and system for resource-based synchronization between endpoints in a web-based real time collaboration | |
EP2599271B1 (en) | Instant messaging using multiple instances of a client | |
KR101442322B1 (en) | Automated call routing based on an active presence profile | |
US8620353B1 (en) | Automatic sharing and publication of multimedia from a mobile device | |
US20120287224A1 (en) | Video chat within a webpage and video instant messaging | |
KR20080025689A (en) | Instant messaging with data sharing | |
CN102447642A (en) | Method and device for managing messages and pictures based on IM (Instant Messaging) client | |
US20160057233A1 (en) | Methods for synchronizing web sessions and devices thereof | |
US10817137B2 (en) | Method and system for communication between web browsers, using a unified communication environment | |
JP5493567B2 (en) | Message transmission / reception system, message transmission / reception method, message relay server, and message transmission / reception program | |
JP2009140290A (en) | Content repeater, content relay system, content relay method and program | |
JP4363942B2 (en) | Server, communication control method, and program | |
KR101699066B1 (en) | Message based on html5 sending method | |
JP2006243985A (en) | Message notification system and method, and server used therefor | |
CN105408887A (en) | Reverse number look up | |
CN109479026B (en) | Methods, systems, and computer program products for selectively modifying and sending messaging data | |
JP5517255B2 (en) | Service connection control method, control node server and program in a plurality of service node servers | |
CN110620672B (en) | Multi-person session data processing method and device, computer equipment and storage medium | |
KR20090006504A (en) | Apparatus and method for providing p2p service in ip multimedia subsystem | |
JP2004334721A (en) | Device for providing content, and device for browsing provided content | |
KR101872551B1 (en) | Method and system for providing an enhanced event notification in an universal plug and play home network environment | |
KR20110074244A (en) | Apparatus and method for synchronizing data between instant messaging clients in communication system | |
JP5206532B2 (en) | System, message relay server, and terminal device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120713 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140117 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5493567 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |