JP5493567B2 - Message transmission / reception system, message transmission / reception method, message relay server, and message transmission / reception program - Google Patents

Message transmission / reception system, message transmission / reception method, message relay server, and message transmission / reception program Download PDF

Info

Publication number
JP5493567B2
JP5493567B2 JP2009182745A JP2009182745A JP5493567B2 JP 5493567 B2 JP5493567 B2 JP 5493567B2 JP 2009182745 A JP2009182745 A JP 2009182745A JP 2009182745 A JP2009182745 A JP 2009182745A JP 5493567 B2 JP5493567 B2 JP 5493567B2
Authority
JP
Japan
Prior art keywords
message
response
request
url
transmission
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.)
Active
Application number
JP2009182745A
Other languages
Japanese (ja)
Other versions
JP2011034511A (en
Inventor
貴弘 城島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009182745A priority Critical patent/JP5493567B2/en
Publication of JP2011034511A publication Critical patent/JP2011034511A/en
Application granted granted Critical
Publication of JP5493567B2 publication Critical patent/JP5493567B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

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 Patent Document 1, each time the table data arranged on the server is updated, the URL is transmitted as a message to each terminal. Each terminal that receives the message displays the URL using a Web browser, so that the updated table data can be shown to each user.

また、特許文献2に記載されたシステムでは、Webブラウザで表示しているWebページに対してユーザが行ったスクロールやクリック、テキスト入力などの操作をメッセージとして他のWebブラウザ(具体的には、Webブラウザを搭載した端末)に送信する。そして、メッセージを受信した他のWebブラウザがそのメッセージに記述されている内容に従って操作を再現することで、Webブラウザに表示されるWebページを同期させている。   In the system described in Patent Document 2, other web browsers (specifically, operations such as scrolling, clicking, and text input performed by the user on the web page displayed on the web browser are used as messages. To a terminal equipped with a Web browser). Then, another Web browser that has received the message reproduces the operation according to the contents described in the message, thereby synchronizing the Web page displayed on the Web browser.

このような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 Patent Document 2 proposes a technique called permanent polling. This is not completely real-time by sending a request from the Web browser to the message relay server at a certain interval for downlink communication, and receiving a message in response when the message exists in the message relay server. However, it is a technique of acquiring a message at any time after a delay of a certain interval.

また、遠隔協働システムにおいて動作しているセッションに対し、途中で新たにユーザがメンバとして加わった場合、新たに加わったメンバが操作する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.

特開2003−259323号公報JP 2003-259323 A 特表2002−514332号公報JP-T-2002-514332

ある期間継続しているセッションがあり、そのセッションに参加しているユーザが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を含むレスポンスを新たなリクエストの送信元に返信するレスポンス返信手段とを含み、ユーザ端末は、レスポンス返信手段からURLを含むレスポンスを受信すると、受信したレスポンスに含まれているURLを用いて、キャッシュに保存されているメッセージを取得するためのリクエストを生成して送信するリクエスト送信手段を含むことを特徴とする。 A message transmission / reception system according to the present invention includes a user terminal equipped with a browser and a message relay server that relays transmission / reception of messages using a plurality of browsers, and the message relay server is returned in response to a message acquisition request. In addition , response storage means for storing the management information in the message relay server in association with the URL included in the request in association with the message requested in the request, and when a new request is received, the request is requested in the request If the response including the message is already returned, the URL extracting means for extracting the URL stored in the response storage means in association with the management information corresponding to the message, and the URL extracted by the URL extracting means The source of the new request with a response containing And a response reply means for replying. When the user terminal receives a response including the URL from the response reply means, the user terminal uses the URL included in the received response to obtain a message stored in the cache. It includes a request transmission means for generating and transmitting a request.

本発明によるメッセージ中継サーバは、複数のブラウザを用いたメッセージの送受信を中継するメッセージ中継サーバであって、メッセージ取得用のリクエストに対して返信された、リクエストで要求されたメッセージの、当該メッセージ中継サーバ内での管理情報とリクエストに含まれるURLとを対応づけて記憶するレスポンス記憶手段と、新たなリクエストを受信すると、当該リクエストで要求されているメッセージを含むレスポンスが既に返信済みの場合には、当該メッセージに対応する管理情報と対応づけてレスポンス記憶手段に記憶されているURLを抽出するURL抽出手段と、キャッシュに保存されているメッセージを取得させるために、URL抽出手段が抽出したURLを含むレスポンスを新たなリクエストの送信元に返信するレスポンス返信手段とを備えたことを特徴とする。 Message relay server according to the present invention is a message relay server for relaying the transmission and reception of messages with multiple browsers, it sent back to the request for message retrieval, the requested message request, the message relay Response storage means for associating and storing the management information in the server and the URL included in the request, and when a new request is received , if a response including the message requested in the request has already been returned The URL extraction means for extracting the URL stored in the response storage means in association with the management information corresponding to the message, and the URL extracted by the URL extraction means to obtain the message stored in the cache. A response containing the response to the sender of the new request Characterized in that a response returning means for.

本発明によるメッセージ送受信方法は、メッセージ取得用のリクエストに対して返信された、リクエストで要求されたメッセージの管理情報とリクエストに含まれるURLとを対応づけてレスポンス記憶部に記憶するレスポンス記憶ステップと、新たなリクエストを受信すると、当該リクエストで要求されているメッセージを含むレスポンスが既に返信済みの場合には、当該メッセージに対応する管理情報と対応づけてレスポンス記憶部に記憶されているURLを抽出するURL抽出ステップと、抽出したURLを含むレスポンスを新たなリクエストの送信元に返信するレスポンス返信ステップと、URLを含むレスポンスを受信すると、受信したレスポンスに含まれているURLを用いて、キャッシュに保存されているメッセージを取得するためのリクエストを生成して送信するリクエスト送信ステップとを含むことを特徴とする。 The message transmission / reception method according to the present invention includes a response storage step of storing the management information of the message requested in the request returned in response to the message acquisition request and the URL included in the request in the response storage unit. When a new request is received and a response including the message requested in the request has already been returned, the URL stored in the response storage unit is extracted in association with the management information corresponding to the message. A URL extraction step, a response return step of returning a response including the extracted URL to the transmission source of the new request, and a response including the URL, when the URL included in the received response is used, Get saved message Characterized in that it comprises a request transmission step of generating and transmitting a request for.

本発明によるメッセージ送受信用プログラムは、複数のブラウザを用いたメッセージの送受信を中継するコンピュータに、メッセージ取得用のリクエストに対して返信された、リクエストで要求されたメッセージの、当該コンピュータ内での管理情報とリクエストに含まれるURLとを対応づけてレスポンス記憶部に記憶するレスポンス記憶処理と、新たなリクエストを受信すると、当該リクエストで要求されているメッセージを含むレスポンスが既に返信済みの場合には、当該メッセージに対応する管理情報と対応づけてレスポンス記憶部に記憶されているURLを抽出するURL抽出処理と、キャッシュに保存されているメッセージを取得させるために、抽出したURLを含むレスポンスを新たなリクエストの送信元に返信するレスポンス返信処理とを実行させることを特徴とする。 The message transmission / reception program according to the present invention manages in a computer a message requested by a request that is returned to a message acquisition request to a computer that relays transmission / reception of a message using a plurality of browsers. When a response storage process for storing the information and the URL included in the request in association with the response storage unit and receiving a new request and a response including the message requested in the request have already been returned, A URL extraction process for extracting the URL stored in the response storage unit in association with the management information corresponding to the message, and a response including the extracted URL in order to acquire the message stored in the cache Respond to the sender of the request Characterized in that to execute the return processing.

本発明によれば、Webブラウザがキャッチアップ時にキャッシュに保存されているメッセージを取得することができる。   According to the present invention, the message stored in the cache can be acquired when the Web browser catches up.

本発明によるメッセージ送受信システムの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the message transmission / reception system by this invention. Webブラウザを搭載したユーザ端末の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the user terminal carrying a web browser. メッセージ中継サーバでのセッションの開始処理例を示す流れ図である。It is a flowchart which shows the example of a session start process in a message relay server. アプリケーション処理開始時におけるWebブラウザでの処理例を示す流れ図である。It is a flowchart which shows the process example in a Web browser at the time of an application process start. Webブラウザ及びメッセージ中継サーバでの上り通信処理例を示す流れ図である。It is a flowchart which shows the example of an upstream communication process in a Web browser and a message relay server. Webブラウザでの下り通信処理例を示す流れ図である。It is a flowchart which shows the example of a downlink communication process with a web browser. メッセージ送信手段での処理例を示す流れ図である。It is a flowchart which shows the example of a process in a message transmission means. 送信メッセージ選択手段での処理例を示す流れ図である。It is a flowchart which shows the process example in a transmission message selection means. メッセージ送信手段に置いてメッセージを返信する際のレスポンス管理手段での処理例を示す流れ図である。It is a flowchart which shows the example of a process in the response management means at the time of returning a message in a message transmission means. 履歴URLを返信する時のレスポンス管理手段での処理例を示す流れ図である。It is a flowchart which shows the example of a process in the response management means when returning history URL. メッセージ送受信システムの最小の構成例を示すブロック図である。It is a block diagram which shows the minimum structural example of a message transmission / reception system.

以下、本発明の実施形態について図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 browser 1 used as a user interface for users to collaborate remotely and the HTTP protocol described above. A message relay server 2 mounted on a Web server that relays the message, and a proxy server 3 having a general cache function. If the message relay server 2 has a cache function equivalent to that of the proxy server 3, the proxy server 3 may be omitted.

Webブラウザ1は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置に搭載される。図2は、Webブラウザを搭載したユーザ端末の構成の一例を示すブロック図である。図2に示すように、Webブラウザ1が搭載された端末は、協働作業をするための処理を実装した1つ又は複数のアプリケーション101と、Webブラウザ1上で動作するアプリケーション101が実施する通信を制御するための通信管理手段102と、アプリケーション101で生成されたメッセージを上り通信としてメッセージ中継サーバ2に送信するための上り通信手段103と、メッセージ中継サーバ2に下り通信(キャッチアップ処理を行うためのリクエスト)を送信してメッセージを取得するための下り通信手段104と、取得したメッセージのメッセージ中継サーバ2上のキュー中の位置情報をそのメッセージを処理するアプリケーション101と関連(対応)づけて蓄積(記憶)するポインタ記憶手段105とを含む。なお、本実施形態において、上り通信とは、他のブラウザに対してメッセージを送信することであり、下り通信とは、他のブラウザからのメッセージを受信することである。   Specifically, the Web browser 1 is mounted on an information processing apparatus such as a personal computer that operates according to a program. FIG. 2 is a block diagram illustrating an example of the configuration of a user terminal equipped with a Web browser. As shown in FIG. 2, the terminal on which the web browser 1 is mounted is a communication that is executed by one or a plurality of applications 101 that implement a process for performing a collaborative work, and an application 101 that operates on the web browser 1. Communication management means 102 for controlling the message, uplink communication means 103 for transmitting the message generated by the application 101 to the message relay server 2 as uplink communication, and downlink communication (catch-up processing is performed to the message relay server 2) Link information 104 for acquiring a message by transmitting a request for the message, and associating (corresponding) the position information of the acquired message in the queue on the message relay server 2 with the application 101 that processes the message. Pointer storage means 105 for storing (storing). In the present embodiment, uplink communication is to send a message to another browser, and downlink communication is to receive a message from another browser.

前述した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 Web browser 1 and the application 101 executing processing and transmission / reception are used. Specifically, an information processing terminal equipped with the Web browser executes processing according to the Web browser and application 101. It is.

メッセージ中継サーバ2は、具体的には、プログラムに従って動作する情報処理装置によって実現される。図1に示すように、メッセージ中継サーバ2は、セッション管理手段201と、メッセージ受信手段202と、メッセージ蓄積制御手段203と、キュー記憶手段204と、メッセージ送信手段205と、送信メッセージ選択手段206と、レスポンス情報記憶手段207と、レスポンス管理手段208とを含む。   Specifically, the message relay server 2 is realized by an information processing apparatus that operates according to a program. As shown in FIG. 1, the message relay server 2 includes a session management unit 201, a message reception unit 202, a message accumulation control unit 203, a queue storage unit 204, a message transmission unit 205, and a transmission message selection unit 206. Response information storage means 207 and response management means 208.

セッション管理手段201は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。セッション管理手段201は、ユーザ同士の遠隔協働作業のセッションを管理し、そのセッションとキューとの関係を示す情報を保持(記憶又は管理)する機能を備えている。   Specifically, the session management unit 201 is realized by a CPU of an information processing apparatus that operates according to a program. The session management unit 201 has a function of managing a session of remote collaboration work between users and holding (storing or managing) information indicating a relationship between the session and a queue.

メッセージ受信手段202は、具体的には、プログラムに従って動作する情報処理装置のCPU及びネットワークインターフェース部によって実現される。メッセージ受信手段202は、利用者が操作するWebブラウザ1から上り通信を行うことによって送信されたメッセージを受信する機能を備えている。   Specifically, the message receiving unit 202 is realized by a CPU and a network interface unit of an information processing apparatus that operates according to a program. The message receiving unit 202 has a function of receiving a message transmitted by performing upstream communication from the Web browser 1 operated by the user.

メッセージ蓄積制御手段203は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。メッセージ蓄積制御手段203は、メッセージ受信手段202が受信したメッセージをキュー方式でキュー記憶手段204に記憶させる機能を備えている。   Specifically, the message storage control unit 203 is realized by a CPU of an information processing apparatus that operates according to a program. The message accumulation control unit 203 has a function of storing the message received by the message receiving unit 202 in the queue storage unit 204 by a queue method.

キュー記憶手段204は、具体的には、光ディスク装置や磁気ディスク装置などの記憶装置によって実現される。キュー記憶手段204は、セッション毎に用意されたキューを用いて実際にデータを記憶する。   Specifically, the queue storage unit 204 is realized by a storage device such as an optical disk device or a magnetic disk device. The queue storage means 204 actually stores data using a queue prepared for each session.

メッセージ送信手段205は、具体的には、プログラムに従って動作する情報処理装置のCPU及びネットワークインターフェース部によって実現される。メッセージ送信手段205は、Webブラウザから下り通信によりリクエストを受信して、リクエストで要求されたメッセージ又は既にキャッシュされているメッセージを取得するためのURLを返信する機能を備えている。   Specifically, the message transmitting unit 205 is realized by a CPU and a network interface unit of an information processing apparatus that operates according to a program. The message transmission unit 205 has a function of receiving a request from a Web browser by downlink communication and returning a URL for obtaining a message requested by the request or a message already cached.

送信メッセージ選択手段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 message selection unit 206 searches for a message to be returned to the Web browser 1 from the messages stored in the queue storage unit 204 in response to the request by the downlink communication received from the Web browser 1, and stores the message in the queue. It has a function to acquire (extract) a message together with position information (for example, a sequence number).

レスポンス情報記憶手段207は、具体的には、光ディスク装置や磁気ディスク装置などの記憶装置によって実現される。レスポンス情報記憶手段207は、メッセージ送信手段205から送信されたメッセージのキュー中の位置情報(例えば、シーケンス番号)と、そのキューのセッションIDと、メッセージ送信手段205がWebブラウザから受信したリクエストURLとを対応づけてレスポンス情報として記憶する。   Specifically, the response information storage unit 207 is realized by a storage device such as an optical disk device or a magnetic disk device. The response information storage unit 207 includes position information (for example, sequence number) in the queue of the message transmitted from the message transmission unit 205, the session ID of the queue, and the request URL received by the message transmission unit 205 from the Web browser. Are stored as response information.

レスポンス管理手段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 response management unit 208 receives a request for acquiring a message from the Web browser, the response management unit 208 determines whether the corresponding message has already been transmitted. If the request has already been transmitted, the message is transmitted using the request URL at that time as a history URL. A function of transmitting (outputting) to the means 205 is provided.

なお、図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 message relay server 2 will be described with reference to FIG. For example, when the user performs an operation for starting the system in order to conduct a remote conference, the session management unit 201 creates a session of remote collaboration work between the users according to the user's operation. At this time, the session management means 201 may use any method as a session start method. For example, the session management means 201 and a telephone line switch are connected, the start of a telephone call may be the start of a session, and the callers may be session participants. Alternatively, the Web browser and the session management unit 201 may be separately connected, and the start of the session and the session participants may be defined by the operation of the Web browser.

次に、セッション管理手段201は、セッションを示すID(セッションID)とユーザを識別するためのID(ユーザID)とを関連(対応)づけて管理する。セッション管理手段201は、この関連づけを示す情報をセッション管理手段201で記憶しても構わないし、メッセージ中継サーバ2外のデータベースサーバといった別のサーバ上で記憶しても構わない。以下、セッション管理手段201が管理するセッションIDとユーザIDとの例を示す。   Next, the session management unit 201 associates (corresponds) and manages an ID (session ID) indicating a session and an ID (user ID) for identifying a user. The session management unit 201 may store information indicating this association in the session management unit 201 or may store the information on another server such as a database server outside the message relay server 2. Hereinafter, examples of session IDs and user IDs managed by the session management unit 201 will be shown.

Figure 0005493567
Figure 0005493567

表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 session management unit 201 starts a session (step S101), the session management unit 201 creates a queue corresponding to the session based on the session ID, and stores the created queue in the queue storage unit 204 (step S102). In the present embodiment, a box (for example, a file or the like for storing a message in a queue system for each session created by the session management unit 201 in step S102, such as a file. Is also simply expressed as “queue”. The following is an example of the queue created at this time.

Figure 0005493567
Figure 0005493567

表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 browser 1 at the start of application processing will be described with reference to FIG. FIG. 4 is a flowchart showing an example of processing in the Web browser at the start of application processing.

遠隔協動システム等に参加するために、ユーザがWebブラウザ1を起動する操作すると、Webブラウザ1は、ユーザの操作に従って、アプリケーション101、通信管理手段102、上り通信手段103、下り通信手段104及びポインタ記憶手段105を起動する(ステップS201)。   When the user performs an operation for starting the Web browser 1 in order to participate in the remote cooperation system or the like, the Web browser 1 performs the application 101, the communication management unit 102, the upstream communication unit 103, the downstream communication unit 104, and the communication according to the user operation. The pointer storage unit 105 is activated (step S201).

これらの起動については、一般的な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 browser 1, HTML associated with the specified URL is read and 101 defined in HTML is read. Each means of -105 operates. This mechanism is equivalent to an operation using a normal Web browser, and details thereof are omitted here.

次に、Webブラウザ1上で各手段(101〜105)が動作すると、通信管理手段102は、Webブラウザ1を利用しているユーザのユーザIDを取得する(ステップS202)。通信管理手段102がユーザIDを取得する方法として、例えば、HTML中に記述されている文字列を取得(抽出)する方法や、Webブラウザに一般的に備えられているCookieという仕組みを利用して取得する方法、ユーザに入力を促すなど多種の方法が考えられるが、取得可能であれば、どのような方法を用いてもよい。   Next, when each means (101 to 105) operates on the Web browser 1, the communication management means 102 acquires the user ID of the user who uses the Web browser 1 (step S202). As a method for the communication management unit 102 to acquire a user ID, for example, a method of acquiring (extracting) a character string described in HTML or a mechanism called Cookie generally provided in a Web browser is used. Various methods such as an acquisition method and prompting the user to input can be considered, but any method may be used as long as acquisition is possible.

次に、通信管理手段102は、Webブラウザ1上で動作するアプリケーションを初期化する。この時、通信管理手段102は、Webブラウザ1上で動作しているアプリケーション101を一意に識別するための一時IDを作成する(ステップS203)。   Next, the communication management unit 102 initializes an application that operates on the Web browser 1. At this time, the communication management unit 102 creates a temporary ID for uniquely identifying the application 101 running on the Web browser 1 (step S203).

そして、通信管理手段102は、作成した一時IDを各アプリケーションに渡す(出力する)(ステップS204)。この一時IDについては、各アプリケーションを識別できれば、どのような値を用いても構わない。   Then, the communication management unit 102 passes (outputs) the created temporary ID to each application (step S204). Any value may be used for the temporary ID as long as each application can be identified.

次に、各アプリケーション101は、通信管理手段102から出力された一時IDをメモリ等の記憶装置に記憶させる。そして、各アプリケーション101は、それぞれ固有の初期化処理を実施して通信管理手段102に初期化の完了を通知すると共に、各アプリケーション101がそれぞれ使用するメッセージタイプを通知する(ステップS205)。このメッセージタイプは文字列であればどのようなものでも良い。ただし、異なるアプリケーション101間において、同じメッセージタイプを利用しないようにする。   Next, each application 101 stores the temporary ID output from the communication management unit 102 in a storage device such as a memory. Each application 101 performs a unique initialization process to notify the communication management unit 102 of the completion of initialization, and notifies the message type used by each application 101 (step S205). This message type may be any character string. However, the same message type is not used between different applications 101.

次で、通信管理手段102は、メッセージタイプを受け取る(入力する)と、ポインタ記憶手段105に、メッセージタイプと各アプリケーション101の一時IDと共に、初期ポイントとして「−1」を記憶させる(ステップS206)。以下、ポインタ記憶手段105に記憶させる情報の例を示す。   Next, when receiving (inputting) the message type, the communication management unit 102 causes the pointer storage unit 105 to store “−1” as an initial point together with the message type and the temporary ID of each application 101 (step S206). . Hereinafter, an example of information stored in the pointer storage unit 105 will be described.

Figure 0005493567
Figure 0005493567

表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 application 101 running on the Web browser 1, the application 101 passes the temporary ID, its message type, and the content of the message to the communication management unit 102 according to the user's operation. (Output). Then, the communication management unit 102 generates a request (hereinafter referred to as an HTTP request) using HTTP describing the user ID, temporary ID, message type, and message content, and uses the upstream communication unit 103 to generate a message relay server. 2 to the message receiving means 202. At this time, the uplink communication means 103 transmits a message. An example of an HTTP request for uplink communication is shown below.

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 message relay server 2, the user ID is “User1”, the message type is “CHAT”, the temporary ID is “C0001”, and the message content is “Good evening” "Is sent.

メッセージ中継サーバ2のメッセージ受信手段202は、前述した上り通信用のHTTPリクエストを受信する(ステップS301)。   The message receiving unit 202 of the message relay server 2 receives the above-described HTTP request for uplink communication (step S301).

次に、メッセージ受信手段202は、受信したHTTPリクエストからユーザID、メッセージタイプ及び一時IDを抽出して(ステップS302)、メッセージ蓄積制御手段203に渡す(出力する)。   Next, the message receiving unit 202 extracts a user ID, a message type, and a temporary ID from the received HTTP request (step S302), and passes (outputs) the message to the message accumulation control unit 203.

次に、メッセージ蓄積制御手段203は、セッション管理手段201に問い合わせて、受け取った(受信した)ユーザIDが参加しているセッションのセッションIDを取得(例えば、セッション管理手段201が記憶部からユーザIDと対応づけて記憶されているセッションIDを抽出し、メッセージ蓄積制御手段203に出力する)する(ステップS303)。   Next, the message accumulation control unit 203 inquires of the session management unit 201 and acquires the session ID of the session in which the received (received) user ID participates (for example, the session management unit 201 stores the user ID from the storage unit). And the session ID stored in association with the message ID is extracted and output to the message storage control unit 203) (step S303).

次に、メッセージ蓄積制御手段203は、キュー記憶手段204から、取得したセッションIDと関連づけられているキューを取得(抽出)する(ステップS304)。   Next, the message accumulation control unit 203 acquires (extracts) the queue associated with the acquired session ID from the queue storage unit 204 (step S304).

次に、メッセージ蓄積制御手段203は、取得(抽出)したキューに含まれるシーケンス番号のうち、最後の値(すなわち、一番大きな番号であり、時間的に新しいもの)を取得(抽出)する(ステップS305)。   Next, the message accumulation control unit 203 acquires (extracts) the last value (that is, the largest number and the newest in time) among the sequence numbers included in the acquired (extracted) queue ( Step S305).

次に、メッセージ蓄積制御手段203は、取得(抽出)したシーケンス番号に1を加える(ステップS306)。   Next, the message accumulation control unit 203 adds 1 to the acquired (extracted) sequence number (step S306).

次に、メッセージ蓄積制御手段203は、1を加えたシーケンス番号と、一時ID、メッセージタイプ及びメッセージ内容を、追加して、キュー記憶手段204が記憶するキューを更新する(ステップS307)。以下、更新後のキューを示す例を表4に示す。   Next, the message accumulation control unit 203 adds the sequence number added with 1, the temporary ID, the message type, and the message content, and updates the queue stored in the queue storage unit 204 (step S307). An example showing the updated queue is shown in Table 4 below.

Figure 0005493567
Figure 0005493567

(下り通信)
次に、図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 communication management unit 102 of the Web browser 1 starts downlink communication with the user ID in the downlink communication unit 104. Is output (step S401).

下り通信手段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 downlink communication unit 104 uses the history URL and further specifies a user ID as additional information of the HTTP request, and uses HTTP for downlink communication. A request is generated and transmitted to the message relay server 2 (step S403). As a method for specifying additional information, a method using an arbitrary HTTP header or a method using Cookie is conceivable. In the example shown below, a method using Cookie is used. The HTTP request at this time is, for example, as shown in the following example (only the main part of the HTTP request is described in the following example)

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 message transmission unit 205 of the message relay server 2 in the URL, “User1” as the user ID, and further, as the first message type, temporary ID, and pointer, Includes “CHAT”, “C0001” and “−1”. The HTTP request includes “DOC”, “C0002”, and “−1” as the second message type, temporary ID, and pointer. In addition, the user ID is “User3” as Cookie.

ステップ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 downlink communication unit 104 obtains the registered message type and each pointer from the pointer storage unit 105. Obtain (extract) (step S405).

そして、下り通信手段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 message transmission unit 205 of the message relay server 2 receives the HTTP request for downlink communication described above (step S501).

次に、メッセージ送信手段205は、受信した下り通信用のHTTPリクエストから、ユーザID、メッセージタイプ、一時ID及びポインタをそれぞれ抽出する(ステップS502)。以下、下り通信用のHTTPリクエストに含まれるメッセージタイプ、一時ID、ポインタを、それぞれリクエストメッセージタイプ、リクエスト一時ID、リクエストポインタと呼ぶ。   Next, the message transmission unit 205 extracts a user ID, a message type, a temporary ID, and a pointer from the received HTTP request for downlink communication (step S502). Hereinafter, the message type, temporary ID, and pointer included in the HTTP request for downlink communication are referred to as request message type, request temporary ID, and request pointer, respectively.

次に、メッセージ送信手段205は、まずCookieに指定されているユーザIDに基づいて、セッション管理手段201から該当するユーザIDが参加しているセッションのセッションIDを取得する(ステップS503)。   Next, the message transmission unit 205 first acquires the session ID of the session in which the corresponding user ID participates from the session management unit 201 based on the user ID specified in Cookie (step S503).

次に、メッセージ送信手段205は、URL中のユーザIDとCookieのユーザIDとを比較する(ステップS504)。そして、このユーザIDが異なる場合、メッセージ送信手段205は、送信メッセージ選択手段206に対して、セッションID、リクエストメッセージタイプ、リクエスト一時ID及びリクエストポインタを渡す(出力する)。   Next, the message transmission unit 205 compares the user ID in the URL with the user ID of the cookie (step S504). If the user IDs are different, the message transmission unit 205 passes (outputs) the session ID, request message type, request temporary ID, and request pointer to the transmission message selection unit 206.

次に、送信メッセージ選択手段206は、キュー記憶手段204から、メッセージ送信手段205から出力されたセッションIDと関連づけられているキューを取得(抽出)する(ステップS601)。   Next, the transmission message selection unit 206 acquires (extracts) the queue associated with the session ID output from the message transmission unit 205 from the queue storage unit 204 (step S601).

次に、送信メッセージ選択手段206は、メッセージ送信手段205から出力されたリクエストポインタの中で一番小さい値を取得ポインタとする(ステップS602)。   Next, the transmission message selection unit 206 sets the smallest value among the request pointers output from the message transmission unit 205 as an acquisition pointer (step S602).

次に、送信メッセージ選択手段206は、取得ポインタが示す値よりも大きいシーケンス番号を持つメッセージが取得(抽出)したキューにあるか否かを判定する(ステップS603)。   Next, the transmission message selection unit 206 determines whether or not a message having a sequence number larger than the value indicated by the acquisition pointer is in the acquired (extracted) queue (step S603).

該当するメッセージがあると判定した場合、送信メッセージ選択手段206は、取得ポインタに1を加え(ステップS604)、キューから、その取得ポインタと同じシーケンス番号のメッセージを取得(抽出)する(ステップS605)。   When it is determined that there is a corresponding message, the transmission message selection unit 206 adds 1 to the acquisition pointer (step S604), and acquires (extracts) a message having the same sequence number as the acquisition pointer from the queue (step S605). .

次に、送信メッセージ選択手段206は、取得(抽出)したメッセージのメッセージタイプが、リクエストメッセージタイプに含まれているか否かを判定する(ステップS606)。   Next, the transmission message selection unit 206 determines whether or not the message type of the acquired (extracted) message is included in the request message type (step S606).

ステップS606において、含まれていないと判定した場合には、送信メッセージ選択手段206は、ステップS603に処理を戻す。   If it is determined in step S606 that the message is not included, the transmission message selection unit 206 returns the process to step S603.

一方、ステップ606において、含まれていると判定した場合には、送信メッセージ選択手段206は、リクエストメッセージタイプに対するリクエスト一時IDと、取得(抽出)したメッセージの一時IDと比較し、同一であるか否かを判定する(ステップS607)。   On the other hand, if it is determined in step 606 that the message is included, the transmission message selection unit 206 compares the request temporary ID for the request message type with the temporary ID of the acquired (extracted) message, and whether they are the same. It is determined whether or not (step S607).

ステップS607において、同一であると判定した場合には、送信メッセージ選択手段206は、ステップS603に処理を戻す。   If it is determined in step S607 that they are the same, the transmission message selection unit 206 returns the process to step S603.

一方、ステップS607において、同一でないと判定した場合には、送信メッセージ選択手段206は、リクエストメッセージタイプに対するリクエストポインタと、取得(抽出)したメッセージのシーケンス番号とを比較し、リクエストポインタがシーケンス番号より小さいか否かを判定する(ステップS608)。   On the other hand, if it is determined in step S607 that they are not the same, the transmission message selection unit 206 compares the request pointer for the request message type with the sequence number of the acquired (extracted) message, and the request pointer is based on the sequence number. It is determined whether it is smaller (step S608).

リクエストポインタよりシーケンス番号の方が小さいと判定した場合、又は、リクエストポインタとシーケンス番号とが同じ値であると判定した場合には、送信メッセージ選択手段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 message selection unit 206 returns the process to step S603.

リクエストポインタよりシーケンス番号の方が大きい値であると判定した場合には、送信メッセージ選択手段206は、該当するシーケンス番号を選択シーケンス番号として記憶する(ステップS609)。その後、送信メッセージ選択手段206は、ステップS603に処理を戻す。   If it is determined that the sequence number is larger than the request pointer, the transmission message selection unit 206 stores the corresponding sequence number as the selected sequence number (step S609). Thereafter, the transmission message selection unit 206 returns the process to step S603.

ステップ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 message selection unit 206 has a stored selection sequence number. It is determined whether or not (step S610).

ステップS610において、選択シーケンス番号が一つでもあると判定した場合には、送信メッセージ選択手段206は、記憶している選択シーケンス番号に該当するメッセージをキューから取得(抽出)し(ステップS611)、メッセージ送信手段205に渡す(出力する)。   If it is determined in step S610 that there is at least one selected sequence number, the transmission message selecting unit 206 acquires (extracts) a message corresponding to the stored selected sequence number from the queue (step S611), The message is sent (output) to the message transmission means 205.

一方、ステップS610において、選択シーケンス番号が一つもないと判定した場合には、送信メッセージ選択手段206は、何もメッセージ送信手段205に渡さない(出力しない)(ステップS612)。   On the other hand, if it is determined in step S610 that there is no selected sequence number, the transmission message selection unit 206 does not pass (output) nothing to the message transmission unit 205 (step S612).

次に、メッセージ送信手段205は、送信メッセージ選択手段206から出力されたメッセージがあるか否かを判定する(ステップS505)。   Next, the message transmission unit 205 determines whether there is a message output from the transmission message selection unit 206 (step S505).

ステップ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 message transmission unit 205 Returns (transmits) an empty response to the Web browser 1 (step S506).

一方、ステップ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 message transmission unit 205 arranges the messages in ascending order of the sequence number, and sends an HTTP response including the sequence number, message type, and message content of each message. It is generated and returned (transmitted) to the Web browser 1 (step S507). At this time, if the user ID in the URL is different from the user ID of the cookie, the message sending unit 205 inserts a cache miss character string indicating a response with a different user ID as additional information to the HTTP response. (Addition) is performed (step S508). This can be realized, for example, by inserting (adding) as an HTTP header.

例えば、キュー記憶手段204に表4に示すようなメッセージが蓄積されている場合に、前述した例のような下り通信用のリクエストを受信した場合には、送信メッセージ選択手段206が抽出する選択シーケンス番号は、「0」、「1」及び「2」となる。この時、Webブラウザ1に返される(送信される)メッセージは以下のようになる。   For example, when a message as shown in Table 4 is accumulated in the queue storage unit 204 and a request for downlink communication as in the above-described example is received, a selection sequence extracted by the transmission message selection unit 206 The numbers are “0”, “1”, and “2”. At this time, the message returned (transmitted) to the Web browser 1 is as follows.

HTTP/1.1 200 OK
X−STATUS: IDILLEGAL
<−− 区切り −−>

CHAT
HELLO
<−− 区切り −−>

DOC
FILE=ABC.DOC
<−− 区切り −−>

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 message transmission unit 205 passes (outputs) the information of the message returned (transmitted) to the Web browser 1 to the response management unit 208 together with the URL of the HTTP request for downlink communication transmitted from the Web browser 1. ).

次に、レスポンス管理手段208は、セッションID、一時ID、メッセージのシーケンス番号及びメッセージタイプが同じである項目(レスポンス情報)が、レスポンス情報記憶手段207に既に記憶されているか否か判定する(S701)。   Next, the response management unit 208 determines whether an item (response information) having the same session ID, temporary ID, message sequence number, and message type is already stored in the response information storage unit 207 (S701). ).

同じものが記憶されていないと判定した場合には、レスポンス管理手段208は、レスポンス情報記憶手段207に、新しく項目を作成し、下り通信用のHTTPリクエストのURLと共に、レスポンス情報として記憶させる(ステップS702)。   If it is determined that the same is not stored, the response management unit 208 creates a new item in the response information storage unit 207 and stores it as response information together with the URL of the HTTP request for downlink communication (step S702).

一方、同じものが記憶されていると判定した場合には、レスポンス管理手段208は、該当するレスポンス情報のうち、URLの項目のみ新しいURLで書き換える(ステップS703)。以下にレスポンス情報記憶手段207が記憶する情報の例を示す。   On the other hand, if it is determined that the same information is stored, the response management unit 208 rewrites only the URL item in the corresponding response information with a new URL (step S703). An example of information stored in the response information storage unit 207 is shown below.

Figure 0005493567
Figure 0005493567

表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 sequence numbers 0, 1, and 2 are returned to the session ID “000001”, and the temporary IDs and message types are as shown in the table. In the example shown in Table 5, the URL when the messages having the sequence numbers 0 and 1 are returned to the Web browser is “/ Down? UID = User2 & MT1 = CHAT & TID1 = B0001 & PT1 = −1 & MT2 = DOC & TID2 = B0002 & PT2 = −1”. It is shown that. The URL when the message of sequence number 2 is returned to the Web browser is “/ Down? UID = User1 & MT1 = CHAT & TID1 = A0001 & PT1 = 1”.

また、表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 information storage unit 207 may store request information other than the URL as information related to the HTTP request for downlink communication to be stored. Further, the response information storage unit 207 may store, for example, the received date and time as information related to the HTTP request for downlink communication.

ステップS504において、CookieとURLとのユーザID指定が一致した場合、メッセージ送信手段205は、レスポンス管理手段208に対して、取得したセッションIDに関するレスポンス情報があるか否か確認する(ステップS509)。   In step S504, when the user ID designations of the cookie and the URL match, the message transmission unit 205 checks with the response management unit 208 whether there is response information regarding the acquired session ID (step S509).

ステップ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 response management unit 208 acquires (extracts) response information having the acquired session ID as target response information from the response information stored in the response information storage unit 209. (Step S801).

次に、レスポンス管理手段208は、受信したリクエストポインタの中で一番小さい値を取得ポインタとし(ステップS802)、取得ポインタが示す値よりも大きいシーケンス番号を持つレスポンス情報が対象レスポンス情報にあるか否かを判定する(ステップS803)。   Next, the response management unit 208 uses the smallest value among the received request pointers as an acquisition pointer (step S802), and whether there is response information having a sequence number larger than the value indicated by the acquisition pointer in the target response information. It is determined whether or not (step S803).

該当するレスポンス情報があると判定した場合には、レスポンス管理手段208は、取得ポインタに1を加え(ステップS804)、レスポンス情報記憶手段209から、その取得ポインタと同じレスポンス情報を取得(抽出)する(ステップS805)。レスポンス情報を取得(抽出)できない場合には、レスポンス管理手段208は、ステップS803に処理を戻す。   If it is determined that there is corresponding response information, the response management unit 208 adds 1 to the acquisition pointer (step S804), and acquires (extracts) the same response information as the acquisition pointer from the response information storage unit 209. (Step S805). If the response information cannot be acquired (extracted), the response management unit 208 returns the process to step S803.

取得(抽出)できた場合には、レスポンス管理手段208は、取得(抽出)したレスポンス情報のメッセージタイプが、リクエストメッセージタイプに含まれているか否か判定する(ステップS806)。   If acquisition (extraction) is possible, the response management unit 208 determines whether the message type of the response information acquired (extraction) is included in the request message type (step S806).

含まれていないと判定した場合には、レスポンス管理手段208は、ステップS803に処理を戻す。一方、含まれていると判定した場合には、レスポンス管理手段208は、リクエストメッセージタイプに対するリクエスト一時IDと、取得(抽出)したレスポンス情報の一時IDと比較する。そして、レスポンス管理手段208は、リクエスト一時IDとレスポンス情報の一時IDとが同一であるか否か判定する(ステップS807)。   If it is determined that it is not included, the response management unit 208 returns the process to step S803. On the other hand, if it is determined that the request is included, the response management unit 208 compares the request temporary ID for the request message type with the temporary ID of the acquired (extracted) response information. Then, the response management unit 208 determines whether the request temporary ID and the response information temporary ID are the same (step S807).

ステップS807において、同一であると判定した場合には、レスポンス管理手段208は、ステップS803に処理を戻す。一方、同一でないと判定した場合には、レスポンス管理手段208は、リクエストメッセージタイプに対するリクエストポインタと、取得(抽出)したレスポンス情報のシーケンス番号とを比較する(ステップS808)。   If it is determined in step S807 that they are the same, the response management unit 208 returns the process to step S803. On the other hand, if it is determined that they are not the same, the response management unit 208 compares the request pointer for the request message type with the sequence number of the acquired (extracted) response information (step S808).

リクエストポインタよりシーケンス番号の方が小さい場合、又は同じ値である場合、レスポンス管理手段208は、ステップS803に処理を戻す。   When the sequence number is smaller than the request pointer or when the sequence number is the same, the response management unit 208 returns the process to step S803.

リクエストポインタよりシーケンス番号の方が大きい値である場合、レスポンス管理手段208は、取得(抽出)したレスポンス情報に含まれるURLを履歴URLとして、そのシーケンス番号と対応付けて記憶する(ステップS809)。その後、レスポンス管理手段208は、ステップS803に処理を戻す。   When the sequence number is larger than the request pointer, the response management unit 208 stores the URL included in the acquired (extracted) response information as a history URL in association with the sequence number (step S809). Thereafter, the response management unit 208 returns the process to step S803.

ステップ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 response management unit 208 determines whether there is a stored history URL (step S810). . If it is determined that there is, the response management unit 208 passes (outputs) the stored history URL to the message transmission unit 205 (step S811). On the other hand, if it is determined that there is no response, the response management means 208 returns nothing (does not output) (step S812).

次に、メッセージ送信手段205は、レスポンス管理手段208から履歴URLが返された(出力された)か否かを判定する(ステップS510)。返されて(出力されて)いないと判定した場合には、メッセージ送信手段205は、空のレスポンスをWebブラウザに返信する(ステップS506)。   Next, the message transmission unit 205 determines whether or not a history URL is returned (output) from the response management unit 208 (step S510). If it is determined that it has not been returned (outputted), the message transmission unit 205 returns an empty response to the Web browser (step S506).

返されて(出力されて)いると判定した場合には、メッセージ送信手段205は、重複している履歴URLを一つにまとめる(ステップS511)。そして、メッセージ送信手段205は、それらの履歴URL及びシーケンス番号から履歴URLレスポンスを生成し、Webブラウザに返信する。例えば、User3のユーザIDを持つWebブラウザが、以下に示す下り通信用のHTTPリクエストを送信したとする。   If it is determined that it has been returned (output), the message transmission unit 205 collects the duplicate history URLs into one (step S511). Then, the message transmission unit 205 generates a history URL response from the history URL and the sequence number, and returns it to the Web browser. For example, it is assumed that a Web browser having a user ID of User3 transmits the following HTTP request for downlink communication.

/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 Web browser 1 receives the HTTP response (or history URL response) (step S407). Then, the downlink communication unit 104 determines whether or not the received response is empty (that is, neither a message nor a history URL is included) (step S408). If it is determined that it is empty, the downlink communication means 104 returns the process to step S402.

また、HTTPレスポンス(又は履歴URLレスポンス)が空でないと判定した場合、下り通信手段104は、HTTPレスポンス(又は履歴URLレスポンス)を解析して、メッセージが含まれているか、又は履歴URLが含まれているか判別する(ステップS409)。   If it is determined that the HTTP response (or history URL response) is not empty, the downlink communication unit 104 analyzes the HTTP response (or history URL response) and includes a message or includes a history URL. Is determined (step S409).

メッセージが含まれていると判定した場合、下り通信手段104は、レスポンスからメッセージを一つずつ抽出し(ステップS410)、抽出したメッセージを通信管理手段108に渡す(出力する)。   If it is determined that a message is included, the downlink communication unit 104 extracts messages one by one from the response (step S410), and passes (outputs) the extracted message to the communication management unit 108.

次に、通信管理手段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 downlink communication unit 104. Then, the communication management unit 108 rewrites the pointer value having the same message type stored in the pointer storage device 105 with the acquisition (extraction) sequence number (step S411). Hereinafter, an example of information stored in the pointer storage unit 105 with the sequence number rewritten will be described.

Figure 0005493567
Figure 0005493567

次に、通信管理手段108は、ポインタ記憶装置105の同じ行に記憶されている一時IDを取得(抽出)し、抽出した一時IDを持つアプリケーションに対して、メッセージに含まれるメッセージ内容を渡す(出力する)(ステップS412)。そして、各アプリケーションは、メッセージの内容に従って、それぞれ処理を実行する。   Next, the communication management unit 108 acquires (extracts) the temporary ID stored in the same row of the pointer storage device 105, and passes the message content included in the message to the application having the extracted temporary ID ( (Step S412). Each application executes processing according to the content of the message.

また、ステップ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 web browser 1 starts transmitting the history URL (step S413). Thereafter, the Web browser 1 executes Step S403 and the subsequent steps. However, if a message other than the sequence number included in the history URL response is received in step S410, the Web browser 1 excludes it.

この時、下り通信用の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 browser 1 acquires (receives) the message, the Web browser 1 executes the processing after Step S410 and passes (outputs) the message to the application.

次に、Webブラウザ1は、この時に、受信したHTTPレスポンスの付加情報として、キャッシュミス文字列が指定されているか否かを判定する(ステップS414)。そして、指定されていないと判定した場合には、Webブラウザ1は、次の履歴URLが指定されていれば、それに基づいて再度下り通信用のリクエストを送信する。一方、キャッシュミス文字列が指定されていると判定した場合には、Webブラウザ1は、履歴URLの送信を停止し(ステップS415)、通常の処理に戻す。   Next, at this time, the Web browser 1 determines whether or not a cache miss character string is designated as additional information of the received HTTP response (step S414). If it is determined that the URL is not specified, the Web browser 1 transmits a downlink communication request again based on the next history URL specified. On the other hand, if it is determined that the cache miss character string is designated, the Web browser 1 stops transmitting the history URL (step S415), and returns to normal processing.

以上のように、本実施形態では、メッセージ中継サーバは、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 information storage unit 207 as history information in association with the URL included in the HTTP request. When the message relay server receives a new HTTP request from the Web browser, the message relay server extracts the URL stored in association with the HTTP response corresponding to the received request, and returns the URL to the Web browser. For this reason, when the Web browser acquires a message, the returned URL can be used to acquire the message stored in the cache. Further, by effectively using the cache, it is possible to omit the process of extracting a message in response to a request received from the Web browser 1 and returning the extracted message to the Web browser 1 in the message relay server. The load can be reduced.

次に、本発明によるメッセージ送受信システムの最小構成について説明する。図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 URL extraction unit 20 extracts a URL associated with the response corresponding to the received request from the response storage unit 10. Then, the request generation unit 30 generates a message acquisition request using the URL extracted by the URL extraction unit 20.

従って、図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. This also allows 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, thus 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 receiving the message acquisition request from the user terminal, and a response information storage unit (for example, realized by the response information storage unit 207). 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 SYMBOLS 1 Web browser 2 Message relay server 3 Proxy server 10 Response storage means 20 URL extraction means 30 Request generation means 101 Application 102 Communication management means 103 Uplink communication means 104 Downlink communication means 105 Pointer storage means 201 Session management means 202 Message reception means 203 Message Accumulation control means 204 Queue storage means 205 Message transmission means 206 Transmission message selection means 207 Response information storage means 208 Response management means

Claims (14)

ブラウザを搭載したユーザ端末と、
複数のブラウザを用いたメッセージの送受信を中継するメッセージ中継サーバとを備え、
前記メッセージ中継サーバは、
メッセージ取得用のリクエストに対して返信された、前記リクエストで要求されたメッセージの、当該メッセージ中継サーバ内での管理情報と前記リクエストに含まれるURLとを対応づけて記憶するレスポンス記憶手段と、
新たなリクエストを受信すると、当該リクエストで要求されているメッセージを含むレスポンスが既に返信済みの場合には、当該メッセージに対応する管理情報と対応づけて前記レスポンス記憶手段に記憶されているURLを抽出するURL抽出手段と、
前記URL抽出手段が抽出したURLを含むレスポンスを前記新たなリクエストの送信元に返信するレスポンス返信手段とを含み、
前記ユーザ端末は、
前記レスポンス返信手段からURLを含むレスポンスを受信すると、受信したレスポンスに含まれているURLを用いて、キャッシュに保存されているメッセージを取得するためのリクエストを生成して送信するリクエスト送信手段を含む
ことを特徴とするメッセージ送受信システム。
A user terminal equipped with a browser;
A message relay server that relays message transmission and reception using a plurality of browsers;
The message relay server
Response storage means for storing the management information in the message relay server and the URL included in the request in association with the message requested by the request, which is returned in response to the message acquisition request;
When a new request is received , if a response including the message requested in the request has already been returned, the URL stored in the response storage means is extracted in association with the management information corresponding to the message. URL extracting means for
Response return means for returning a response including the URL extracted by the URL extraction means to the transmission source of the new request,
The user terminal is
When a response including a URL is received from the response reply unit, a request transmission unit that generates and transmits a request for acquiring a message stored in the cache using the URL included in the received response is included. A message transmission / reception system.
メッセージ中継サーバは、
受信したメッセージを記憶するメッセージ記憶手段と、
新たなリクエストを受信すると、受信した前記新たなリクエストで要求されたメッセージに対応する管理情報がレスポンス記憶手段に記憶されているか否かを判定する判定手段と、
前記判定手段が記憶されていないと判定すると、受信した前記新たなリクエストに基づいて前記メッセージ記憶手段からメッセージを抽出するメッセージ抽出手段とを含み、
URL抽出手段は、前記判定手段が記憶されていると判定すると、受信した前記新たなリクエストで要求されたメッセージに対応する管理情報と対応づけて前記レスポンス記憶手段に記憶されているURLを抽出し、
レスポンス返信手段は、前記メッセージ抽出手段が抽出したメッセージを含むレスポンスまたは前記URL抽出手段が抽出したURLを含むレスポンスを前記新たなリクエストの送信元に返信する
請求項1記載のメッセージ送受信システム。
The message relay server
Message storage means for storing received messages;
When receiving a new request , a determination unit that determines whether or not management information corresponding to the message requested by the received new request is stored in the response storage unit;
And a message extraction means for extracting a message from the message storage means based on the received new request when it is determined that the determination means is not stored,
If the URL extraction means determines that the determination means is stored, the URL extraction means extracts the URL stored in the response storage means in association with the management information corresponding to the message requested by the received new request. ,
The message transmission / reception system according to claim 1, wherein the response reply unit returns a response including the message extracted by the message extraction unit or a response including the URL extracted by the URL extraction unit to the transmission source of the new request.
ユーザ同士が遠隔で協働作業をするためのブラウザを搭載したユーザ端末と、
前記ユーザ端末と通信するサーバ装置上に実装されたメッセージの送受信を中継するメッセージ中継サーバと、
キャッシュ機能を有するプロキシサーバとを備え、
前記ユーザ端末は、
前記協働作業をするための処理を実行するためのアプリケーションと、
前記アプリケーションに従って実行される通信を制御する通信管理手段と、
当該ユーザ端末が生成したメッセージをメッセージ送信要求として前記メッセージ中継サーバに送信する上り通信手段と、
前記メッセージ中継サーバにメッセージ取得要求を送信して他のユーザ端末が生成したメッセージを受信する下り通信手段と、
前記メッセージ中継サーバ上のキュー中の受信したメッセージが存在する位置の位置情報と、前記メッセージを処理するアプリケーションを特定する情報とを関連づけて記憶するポインタ記憶手段とを含み、
前記メッセージ中継サーバは、
ユーザ同士の遠隔協働作業のセッションを管理し、前記セッションと前記セッションにおけるキューとの関係を管理するセッション管理手段と、
前記ユーザ端末からメッセージ送信要求として送信されたメッセージを受信するメッセージ受信手段と、
前記メッセージをキューに蓄積するメッセージ蓄積制御手段と、
前記メッセージ蓄積制御手段に従って、セッション毎に用意されたキューにメッセージを記憶するキュー記憶手段と、
前記ユーザ端末からのメッセージ取得要求を受信して、該メッセージ取得要求で示されるメッセージ又は過去に当該メッセージを返信した時のメッセージ取得要求の内容を返信するメッセージ送信手段と、
前記ユーザ端末からのメッセージ取得要求に応じて、前記キュー記憶手段に蓄積されたメッセージの中から前記ユーザ端末に返信するべきメッセージを検索して、当該メッセージのメッセージ中継サーバ内での管理情報と共にメッセージを取得する送信メッセージ選択手段と、
前記メッセージ送信手段が送信したメッセージの当該メッセージ中継サーバ内での管理情報と、前記メッセージ送信手段が受信した前記ユーザ端末からのメッセージ取得要求の内容とをレスポンス情報として記憶するレスポンス情報記憶手段と、
前記ユーザ端末からメッセージ取得要求を受信する際、該メッセージ取得要求で示されたメッセージを既に送信済みかどうか判断し、送信済みの場合には、前記レスポンス情報記憶手段に記憶されているユーザ端末から過去に送信されたメッセージ取得要求の内容をキャッシュに保存されているメッセージを取得させるためのメッセージ取得要求として前記メッセージ送信手段に出力するレスポンス管理手段とを
含むことを特徴とするメッセージ送受信システム。
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, from the user terminal stored in the response information storage means A message transmission / reception system, comprising: response management means for outputting the contents of a message acquisition request transmitted in the past to the message transmission means as a message acquisition request for acquiring a message stored in a cache.
メッセージ送信手段は、ユーザ端末からのメッセージ取得要求に対してメッセージを返信する際、メッセージのメッセージ中継サーバでの管理情報と共に当該メッセージ取得要求の内容をレスポンス情報記憶手段に記憶させる
請求項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抽出手段と、
キャッシュに保存されているメッセージを取得させるために、前記URL抽出手段が抽出したURLを含むレスポンスを前記新たなリクエストの送信元に返信するレスポンス返信手段とを
備えたことを特徴とするメッセージ中継サーバ。
A message relay server that relays message transmission and reception using multiple browsers,
Response storage means for storing the management information in the message relay server and the URL included in the request in association with the message requested by the request, which is returned in response to the message acquisition request;
When a new request is received , if a response including the message requested in the request has already been returned, the URL stored in the response storage means is extracted in association with the management information corresponding to the message. URL extracting means for
A message relay server comprising: a response reply unit that returns a response including the URL extracted by the URL extraction unit to the transmission source of the new request in order to acquire a message stored in the cache .
受信したメッセージを記憶するメッセージ記憶手段と、
新たなリクエストを受信すると、受信した前記新たなリクエストで要求されたメッセージに対応する管理情報がレスポンス記憶手段に記憶されているか否かを判定する判定手段と、
前記判定手段が記憶されていないと判定すると、受信した前記新たなリクエストに基づいて前記メッセージ記憶手段からメッセージを抽出するメッセージ抽出手段とを備え、
URL抽出手段は、前記判定手段が記憶されていると判定すると、受信した前記新たなリクエストで要求されたメッセージに対応する管理情報と対応づけて前記レスポンス記憶手段に記憶されているURLを抽出し、
レスポンス返信手段は、前記メッセージ抽出手段が抽出したメッセージを含むレスポンスまたは前記URL抽出手段が抽出したURLを含むレスポンスを前記新たなリクエストの送信元に返信する
請求項9記載のメッセージ中継サーバ。
Message storage means for storing received messages;
When receiving a new request , a determination unit that determines whether or not management information corresponding to the message requested by the received new request is stored in the response storage unit;
When it is determined that the determination unit is not stored, the message extraction unit extracts a message from the message storage unit based on the received new request,
If the URL extraction means determines that the determination means is stored, the URL extraction means extracts the URL stored in the response storage means in association with the management information corresponding to the message requested by the received new request. ,
The message relay server according to claim 9, wherein the response reply unit returns a response including the message extracted by the message extraction unit or a response including the URL extracted by the URL extraction unit to the transmission source of the new request.
メッセージ取得用のリクエストに対して返信された、前記リクエストで要求されたメッセージの管理情報と前記リクエストに含まれるURLとを対応づけてレスポンス記憶部に記憶するレスポンス記憶ステップと、
新たなリクエストを受信すると、当該リクエストで要求されているメッセージを含むレスポンスが既に返信済みの場合には、当該メッセージに対応する管理情報と対応づけて前記レスポンス記憶部に記憶されているURLを抽出するURL抽出ステップと、
抽出したURLを含むレスポンスを前記新たなリクエストの送信元に返信するレスポンス返信ステップと、
URLを含むレスポンスを受信すると、受信したレスポンスに含まれているURLを用いて、キャッシュに保存されているメッセージを取得するためのリクエストを生成して送信するリクエスト送信ステップとを
含むことを特徴とするメッセージ送受信方法。
A response storage step of storing in the response storage unit the management information of the message requested in the request and the URL included in the request, which are returned in response to the message acquisition request;
When a new request is received , if a response including the message requested in the request has already been returned, the URL stored in the response storage unit is extracted in association with the management information corresponding to the message. A URL extracting step,
A response reply step of returning a response including the extracted URL to the transmission source of the new request;
Receiving a response including a URL, and generating a request for acquiring a message stored in the cache using the URL included in the received response, and transmitting a request. To send and receive messages.
受信したメッセージをメッセージ記憶部に記憶するメッセージ記憶ステップと、
新たなリクエストを受信すると、受信した前記新たなリクエストで要求されたメッセージに対応する管理情報がレスポンス記憶部に記憶されているか否かを判定する判定ステップと、
記憶されていないと判定すると、受信した前記新たなリクエストに基づいて前記メッセージ記憶部からメッセージを抽出するメッセージ抽出ステップとを含み、
URL抽出ステップで、前記判定ステップにおいて記憶されていると判定すると、受信した前記新たなリクエストで要求されたメッセージに対応する管理情報と対応づけて前記レスポンス記憶部に記憶されているURLを抽出し、
レスポンス返信ステップで、抽出したメッセージを含むレスポンスまたは抽出したURLを含むレスポンスを前記新たなリクエストの送信元に返信する
請求項11記載のメッセージ送受信方法。
A message storage step of storing the received message in the message storage unit;
When receiving a new request , a determination step of determining whether or not management information corresponding to the message requested by the received new request is stored in the response storage unit;
Determining that it is not stored, including a message extraction step of extracting a message from the message storage unit based on the received new request;
If it is determined in the URL extraction step that it is stored in the determination step, the URL stored in the response storage unit is extracted in association with the management information corresponding to the received message requested by the new request. ,
The message transmission / reception method according to claim 11, wherein in the response reply step, a response including the extracted message or a response including the extracted URL is returned to the transmission source of the new request.
複数のブラウザを用いたメッセージの送受信を中継するコンピュータに、
メッセージ取得用のリクエストに対して返信された、前記リクエストで要求されたメッセージの、当該コンピュータ内での管理情報と前記リクエストに含まれるURLとを対応づけてレスポンス記憶部に記憶するレスポンス記憶処理と、
新たなリクエストを受信すると、当該リクエストで要求されているメッセージを含むレスポンスが既に返信済みの場合には、当該メッセージに対応する管理情報と対応づけて前記レスポンス記憶部に記憶されているURLを抽出するURL抽出処理と、
キャッシュに保存されているメッセージを取得させるために、抽出したURLを含むレスポンスを前記新たなリクエストの送信元に返信するレスポンス返信処理とを
実行させるためのメッセージ送受信用プログラム。
To a computer that relays the sending and receiving of messages using multiple browsers,
A response storage process for storing, in the response storage unit , the management information in the computer and the URL included in the request of the message requested in the request that is returned in response to the message acquisition request; ,
When a new request is received , if a response including the message requested in the request has already been returned, the URL stored in the response storage unit is extracted in association with the management information corresponding to the message. URL extraction processing to
A message transmission / reception program for executing response return processing for returning a response including an extracted URL to the transmission source of the new request in order to acquire a message stored in a cache.
コンピュータに、
受信したメッセージをメッセージ記憶部に記憶するメッセージ記憶処理と、
新たなリクエストを受信すると、受信した前記新たなリクエストで要求されたメッセージに対応する管理情報がレスポンス記憶部に記憶されているか否かを判定する判定処理と、
記憶されていないと判定すると、受信した前記新たなリクエストに基づいて前記メッセージ記憶部からメッセージを抽出するメッセージ抽出処理とを実行させ、
URL抽出処理で、前記判定処理において記憶されていると判定すると、受信した前記新たなリクエストで要求されたメッセージに対応する管理情報と対応づけて前記レスポンス記憶部に記憶されているURLを抽出し、
レスポンス返信処理で、抽出したメッセージを含むレスポンスまたは抽出したURLを含むレスポンスを前記新たなリクエストの送信元に返信する処理を実行させる
請求項13記載のメッセージ送受信用プログラム。
On the computer,
Message storage processing for storing the received message in the message storage unit;
When receiving a new request , a determination process for determining whether or not management information corresponding to the message requested by the received new request is stored in the response storage unit;
If it is determined that the message is not stored, a message extraction process for extracting a message from the message storage unit based on the received new request is executed,
If it is determined in the URL extraction process that it is stored in the determination process, the URL stored in the response storage unit is extracted in association with the management information corresponding to the message requested by the received new request. ,
14. The message transmission / reception program according to claim 13, wherein a response reply process executes a process of returning a response including the extracted message or a response including the extracted URL to a transmission source of the new request.
JP2009182745A 2009-08-05 2009-08-05 Message transmission / reception system, message transmission / reception method, message relay server, and message transmission / reception program Active JP5493567B2 (en)

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 JP2011034511A (en) 2011-02-17
JP5493567B2 true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6436752B2 (en) * 2014-12-04 2018-12-12 キヤノン株式会社 Information processing apparatus, information processing method and program in information processing apparatus
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
CN110798402B (en) * 2019-10-30 2023-04-07 腾讯科技(深圳)有限公司 Service message processing method, device, equipment and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4013354B2 (en) * 1998-09-24 2007-11-28 富士ゼロックス株式会社 Data fixing system, data fixing device, data relay device, information terminal device, computer-readable recording medium recording data fixing program, computer-readable recording medium recording data relay program, and information terminal program Computer-readable recording medium on which is recorded
JP3990296B2 (en) * 2003-01-15 2007-10-10 Necシステムテクノロジー株式会社 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
JP5246640B2 (en) * 2007-09-28 2013-07-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Technology that automates user operations
JP2009140290A (en) * 2007-12-07 2009-06-25 Fujitsu Ltd Content repeater, content relay system, content relay method and program

Also Published As

Publication number Publication date
JP2011034511A (en) 2011-02-17

Similar Documents

Publication Publication Date Title
US8312083B2 (en) System and method for sharing search result using messenger
US9578081B2 (en) System and method for providing an actively invalidated client-side network resource cache
JP2017517063A (en) Instant messaging system and method
EP2599271B1 (en) Instant messaging using multiple instances of a client
EP3063925B1 (en) Synchronizing event history for multiple clients
KR101442322B1 (en) Automated call routing based on an active presence profile
US8732252B2 (en) Cooperating system, chat server, program, and cooperating method
US20140244721A1 (en) Real-time communications using a restlike api
US20120287224A1 (en) Video chat within a webpage and video instant messaging
CN102447642A (en) Method and device for managing messages and pictures based on IM (Instant Messaging) client
US11558333B1 (en) Organizing self-replying messages
US11855940B2 (en) Methods, systems, and media for generating contextually relevant messages
JP5493567B2 (en) Message transmission / reception system, message transmission / reception method, message relay server, and message transmission / reception program
US9876776B2 (en) Methods for generating and publishing a web site based on selected items and devices thereof
JP4363942B2 (en) Server, communication control method, and program
JP2007140749A (en) Chat processor and processing method and computer program
JP2006243985A (en) Message notification system and method, and server used therefor
CN109479026B (en) Methods, systems, and computer program products for selectively modifying and sending messaging data
KR20140009581A (en) Method, system, and device for switching between network applications, and computer storage medium
JP5517255B2 (en) Service connection control method, control node server and program in a plurality of service node servers
KR101699066B1 (en) Message based on html5 sending method
JP5729994B2 (en) Transmission device, transmission system, transmission method, and program
CN110620672B (en) Multi-person session data processing method and device, computer equipment and storage medium
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

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