JP5206532B2 - System, message relay server, and terminal device - Google Patents

System, message relay server, and terminal device Download PDF

Info

Publication number
JP5206532B2
JP5206532B2 JP2009074561A JP2009074561A JP5206532B2 JP 5206532 B2 JP5206532 B2 JP 5206532B2 JP 2009074561 A JP2009074561 A JP 2009074561A JP 2009074561 A JP2009074561 A JP 2009074561A JP 5206532 B2 JP5206532 B2 JP 5206532B2
Authority
JP
Japan
Prior art keywords
message
application
terminal device
request
application software
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
JP2009074561A
Other languages
Japanese (ja)
Other versions
JP2010225106A (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 JP2009074561A priority Critical patent/JP5206532B2/en
Publication of JP2010225106A publication Critical patent/JP2010225106A/en
Application granted granted Critical
Publication of JP5206532B2 publication Critical patent/JP5206532B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、複数の端末がWebサーバを介して会議などの協働作業を実施する技術に関する。   The present invention relates to a technique in which a plurality of terminals perform a collaborative work such as a conference via a Web server.

インターネットの発展により、ユーザがコンピュータに実装されたWebブラウザを利用してWWW(World Wide Web)上に配置されたWebページを閲覧することは一般的に行われている。近年、Webブラウザは、コンピュータとして一般的なPC(Personal Computer)のみならず、携帯電話やゲーム端末、テレビ器、ビデオ機器などにも実装されるようになっている。   With the development of the Internet, it is a common practice for a user to browse a Web page arranged on the WWW (World Wide Web) using a Web browser mounted on a computer. In recent years, Web browsers have been mounted not only on PCs (Personal Computers) that are common as computers, but also on mobile phones, game terminals, television sets, video devices, and the like.

また従来、遠隔に離れたユーザ同士がネットワークを介して会議などの共同作業を実施するための遠隔協働システムが提案されている。遠隔協働システムの利用形態として、ユーザ同士が同じ資料や図表などを同時に参照、描画したり、ファイルを互いに送受信したりする遠隔会議システムがある。このような遠隔会議システムでは、予めまたは一時的にユーザ同士である期間内の1つのグループを形成し、そのグループに属しているユーザ間で、各端末上で行った操作を操作メッセージとしてやりとりし、各端末で操作メッセージに対応した操作を再現することで遠隔に離れたユーザ間の会議を実現する。このようなグループの参加および期間はセッションとして管理され、セッションが継続している間は、そのセッションのメンバが操作メッセージをやりとりできるように制御される。   Conventionally, a remote collaboration system has been proposed in which users who are remote from each other perform collaborative work such as a conference via a network. As a form of use of the remote collaboration system, there is a remote conference system in which users refer to and draw the same material or chart at the same time, and transmit / receive files to / from each other. In such a remote conference system, a group is formed in advance or temporarily between users, and operations performed on each terminal are exchanged as operation messages between users belonging to the group. By realizing the operation corresponding to the operation message at each terminal, a conference between users who are remotely separated is realized. The participation and period of such a group are managed as a session, and control is performed so that members of the session can exchange operation messages while the session continues.

一般的に、このような遠隔協働システムを実現するために、ユーザが利用する端末で動作するプログラムは、上り通信として自端末で行われた操作を操作メッセージとして他の端末に送信し、下り通信として他の端末から送信された操作メッセージを受信してメッセージに記述されている操作内容を自端末上で実行する機能を持つ。   In general, in order to realize such a remote collaboration system, a program that operates on a terminal used by a user transmits an operation performed on the terminal as an uplink communication to another terminal as an operation message, and downloads it. It has a function of receiving an operation message transmitted from another terminal as communication and executing the operation content described in the message on its own terminal.

特許文献1には、Webブラウザをクライアントプログラムとして用いた遠隔協働システムが提案されている。このシステムでは、Webサーバ上に配置された表データが更新されるたびに、そのURLはメッセージとして各端末に送信される。各端末において、Webブラウザは、メッセージが示すURLを表示して更新された表データを表示する。   Patent Document 1 proposes a remote collaboration system using a Web browser as a client program. In this system, every time the table data arranged on the Web server is updated, the URL is transmitted as a message to each terminal. In each terminal, the Web browser displays the updated table data by displaying the URL indicated by the message.

また、特許文献2には、Webブラウザにより表示中のWebページに対してある端末のユーザが行ったスクロールやクリック、テキスト入力などの操作をメッセージとして他の端末に送信し、メッセージを受信した他の端末のWebブラウザはそのメッセージに記述されている内容に従って操作を再現することで、表示中のWebページに対する操作を各端末間で同期させるシステムが開示されている。   Further, in Patent Document 2, operations such as scrolling, clicking, and text input performed by a user of a terminal on a Web page displayed by a Web browser are transmitted as messages to other terminals, and other messages are received. Has disclosed a system that synchronizes operations on a displayed Web page between terminals by reproducing operations according to the contents described in the message.

Webブラウザをクライアントプログラムとして利用し、遠隔協働システムにおける操作の同期を実現するためには、メッセージの送信処理(上り通信)及び受信処理(下り通信)の機能を各端末のWebブラウザ上に実装する必要がある。Webブラウザは、他の端末のWebブラウザと直接通信する機能を備えていないため、通常、Webブラウザ間でやりとりされるメッセージを中継する手段(以下メッセージ中継サーバという)をWebサーバに実装し、該メッセージ中継サーバによりWebブラウザ間のメッセージを中継する。   In order to use the Web browser as a client program and synchronize operations in the remote collaboration system, the functions of message transmission processing (uplink communication) and reception processing (downlink communication) are implemented on the Web browser of each terminal. There is a need to. Since the Web browser does not have a function of directly communicating with the Web browser of another terminal, a means for relaying a message exchanged between Web browsers (hereinafter referred to as a message relay server) is usually mounted on the Web server. A message relay server relays messages between Web browsers.

WebブラウザとWebサーバとの通信には、HTTP(Hyper Text Transport Protocol)プロトコルが利用される。該プロトコルでは、基本的にWebブラウザがリクエストの送信元となり、WebサーバはWebブラウザからのリクエストを受け取ってからそのリクエストに応じた処理を実施する。したがって、上述したメッセージの上り通信については、通常、WebブラウザがHTTPリクエストを用いてメッセージ中継サーバにメッセージを届ける。一方、下り通信については、メッセージ中継サーバが能動的にWebブラウザに向かって通信を開始する手段がないため、通常の手段では実現できない。   For communication between the Web browser and the Web server, an HTTP (Hyper Text Transport Protocol) protocol is used. In this protocol, a Web browser is basically a transmission source of a request, and the Web server receives the request from the Web browser and performs processing according to the request. Therefore, for the above-described message upstream communication, the Web browser normally sends a message to the message relay server using an HTTP request. On the other hand, downlink communication cannot be realized by ordinary means because there is no means for the message relay server to actively start communication toward the Web browser.

特許文献2には、下り通信を実現するための手法が提案されている。この手法では、メッセージ中継サーバは各ブラウザが上がり通信で送信してきたメッセージを保持しておき、Webブラウザは、下り通信のために所定の間隔でメッセージ中継サーバにリクエスト(以下、下り通信用リクエストという)を送信する。そして、メッセージ中継サーバは、Webブラウザからの下り通信用リクエストを受信すると、該リクエストへのレスポンスとして、保持しているメッセージをリクエスト元のWebブラウザに送信する。これにより、完全なリアルタイムではないが所定間隔の遅延をおいて下り通信が実現され、各Webブラウザはメッセージを取得することが可能になる。この手法を、以下ポーリング手法という。   Patent Document 2 proposes a technique for realizing downlink communication. In this method, the message relay server holds a message transmitted by each browser and transmitted by the browser, and the Web browser makes a request (hereinafter referred to as a request for downlink communication) to the message relay server at a predetermined interval for downlink communication. ). When the message relay server receives a downlink communication request from the Web browser, the message relay server transmits the retained message to the request source Web browser as a response to the request. Thereby, although not completely real time, downlink communication is realized with a delay of a predetermined interval, and each Web browser can acquire a message. This method is hereinafter referred to as a polling method.

上記ポーリング手法を適用したシステムでは、メッセージ中継サーバがWebブラウザからの上り通信で受信したメッセージをすぐに他のWebブラウザに送信することができず、Webブラウザからの定期的な下り通信用リクエストを待つ必要がある。また、メッセージ中継サーバに既にメッセージがあるか否かに関らず、各Webブラウザは任意のタイミングで上り通信でメッセージをサーバに送信する。したがって、Webブラウザからのメッセージを一定期間蓄積するバッファをメッセージ中継サーバに備える必要がある。このバッファは、通常、Webブラウザから受け取ったメッセージを受け取った順に蓄積し、Webブラウザからの下り通信用リクエストがあった時に受け取った順に送信するキューとして実装される。   In a system to which the above polling method is applied, a message relay server cannot immediately send a message received by upstream communication from a web browser to another web browser, and periodically sends a request for downstream communication from the web browser. I need to wait. Further, regardless of whether or not there is already a message in the message relay server, each Web browser transmits the message to the server by upstream communication at an arbitrary timing. Therefore, it is necessary to provide the message relay server with a buffer for accumulating messages from the Web browser for a certain period. This buffer is normally implemented as a queue that accumulates messages received from the Web browser in the order received and transmits them in the order received when there is a downlink communication request from the Web browser.

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

協働作業のセッションに多人数が同時に参加できるシステムの場合、セッション開始当初から全てのWebブラウザがそのセッションに参加しているとは限らず、セッションの途中で参加するWebブラウザが随時増減する可能性がある。途中でセッションに参加したWebブラウザも他のWebブラウザと同じ状態にしなければ協働作業が成り立たないため、途中から参加したWebブラウザに対して、以前送受信されたメッセージを全て送信して、そのメッセージの内容を実行させて他のWebブラウザと同じ状態にするための追い付き処理が行われる。この追い付き処理を実現するためには、セッション開始時からの全てのメッセージを保存しておく必要がある。   In the case of a system in which many people can participate in a collaborative work session at the same time, not all web browsers participate in the session from the beginning of the session, and the number of web browsers participating during the session can be increased or decreased at any time. There is sex. Since the collaborative work is not possible unless the Web browser that participates in the session is also in the same state as the other Web browsers, all previously sent and received messages are sent to the Web browser that joined in the middle, and the message The catch-up process is executed to execute the content of the above and bring it into the same state as other Web browsers. In order to realize this catch-up process, it is necessary to save all messages from the start of the session.

また、協働作業で行う作業は、ドキュメントのレビュー、CADなどの設計図面の閲覧、オンラインチャット、ファイルの配信など多岐にわたり、Webブラウザにおいてはそれらに対応するアプリケーションも異なる。それぞれのアプリケーションは、各作業を実施するためにメッセージの送受信を行うが、それぞれのアプリケーションが送受信するメッセージの形式はアプリケーション毎に決まっており、ほとんどの場合、異なるアプリケーション同士ではメッセージ内容の互換性はない。したがって、メッセージ中継サーバはキューで管理するメッセージをアプリケーション毎に管理する必要がある。また、全てのWebブラウザで同じアプリケーションが動作しているとは限らず、この場合、各Webブラウザで受信を必要とするメッセージが異なる。
これらの理由により、メッセージ中継サーバではセッション毎にメッセージ蓄積用のキューを用意し、当該キューにおいては、各Webブラウザの追い付き処理用にセッション開始からの全てのメッセージを保存しておく必要がある上に、Webブラウザが通常の状態か追い付き処理中かを管理する必要がある。また、Webブラウザ毎に、アプリケーション毎にキューのどの位置にそのWebブラウザの当該アプリケーションが必要としているメッセージが保存されているかを管理する必要がある。
In addition, the collaborative work includes a wide variety of work such as document review, browsing of design drawings such as CAD, online chat, and file distribution, and web browsers have different applications corresponding to them. Each application sends and receives messages to perform each task, but the format of messages sent and received by each application is determined for each application, and in most cases, the compatibility of message contents between different applications Absent. Therefore, the message relay server needs to manage the message managed in the queue for each application. Further, the same application is not always operating in all Web browsers, and in this case, the messages that need to be received are different in each Web browser.
For these reasons, the message relay server needs to prepare a queue for storing messages for each session, and in this queue, it is necessary to store all messages from the start of the session for catch-up processing of each Web browser. In addition, it is necessary to manage whether the Web browser is in a normal state or in a catch-up process. In addition, for each Web browser, it is necessary to manage at which position in the queue for each application the message required by the application of the Web browser is stored.

このようなキューの管理処理をメッセージ中継サーバで一元的に実装した場合、全てのWebブラウザ及びそのWebブラウザ上で動作しているアプリケーションの状態の追跡および監視をする必要がある。また、一般にWebブラウザは、ユーザの操作やネットワークの障害などによりその動作が急に停止したりするなどのことにより、その状態を把握できなくなる事態が多々発生する。さらに、メッセージ中継サーバでは、全てのアプリケーション毎にどこまでキューを読み込んだかを逐一管理する必要がある。これでは利用者や端末が増えるとサーバ上での管理が非常に複雑になり、遠隔協働サービスの継続が難しくなる。   When such a queue management process is centrally implemented by a message relay server, it is necessary to track and monitor the status of all Web browsers and applications running on the Web browsers. In general, there are many situations in which the state of a Web browser cannot be grasped due to a sudden stop of the operation due to a user operation or a network failure. Furthermore, in the message relay server, it is necessary to manage how far the queue has been read for every application. If the number of users and terminals increases, management on the server becomes very complicated, and it becomes difficult to continue the remote collaboration service.

本発明は、上記事情に鑑みてなされたものであり、遠隔協働システムにおいて、メッセージの管理を簡単にし、メッセージ中継サーバの負荷を軽減できる技術を提供する。   The present invention has been made in view of the above circumstances, and provides a technique capable of simplifying message management and reducing the load on a message relay server in a remote collaboration system.

本発明の1つの態様は、システムである。このシステムは、複数の端末装置と、該複数の端末装置とネットワークを介して接続されたWebサーバを有する。
端末装置は、ユーザ同士が協働作業をするためのユーザインタフェースとして利用し、前記協働作業を行うための1つ以上のアプリケーションソフトウェアを備えたWebブラウザが実装されている。
One aspect of the present invention is a system. This system includes a plurality of terminal devices and a Web server connected to the plurality of terminal devices via a network.
The terminal device is used as a user interface for collaborative work between users, and a web browser including one or more application software for performing the collaborative work is mounted.

Webサーバは、WWW(World Wide Web)を介して各前記Webブラウザと通信可能であり、メッセージ中継サーバが設けられている。このメッセージ中継サーバは、キューを有し、端末装置に実装されたWebブラウザ上のアプリケーションソフトウェアの動作により生じ、該端末装置から送信されてきた上り通信メッセージを受信順に前記キューに記憶すると共に、端末装置からの下り通信用リクエストに応じて前記キューに記憶された上り通信メッセージからレスポンスを作成して該端末装置に送信することにより、前記複数の端末装置に実装されたWebブラウザを同期動作させる。   The Web server can communicate with each of the Web browsers via WWW (World Wide Web), and a message relay server is provided. The message relay server has a queue, and stores upstream communication messages generated by the operation of application software on a Web browser installed in the terminal device in the order of reception. In response to a downlink communication request from the device, a response is generated from the uplink communication message stored in the queue and transmitted to the terminal device, thereby causing the Web browsers installed in the plurality of terminal devices to operate synchronously.

端末装置は、アプリケーションID管理部とポインタ記憶部を備える。アプリケーションID管理部は、該端末装置のWebブラウザに実装された各アプリケーションソフトウェアに対して、ウェブブラザ毎、かつアプリケーションソフトウェア毎に異なるアプリケーションIDを付与する。ポインタ記憶部は、各前記アプリケーションIDと、該アプリケーションIDに対応するアプリケーションソフトウェアが取り扱うメッセージのメッセージタイプと、前記メッセージ中継サーバから最後に受信した当該メッセージタイプを有するメッセージの、前記メッセージ中継サーバの前記キューにおける位置を示す位置情報であるポインタとを対応付けて記憶する。   The terminal device includes an application ID management unit and a pointer storage unit. The application ID management unit assigns a different application ID to each application software installed in the Web browser of the terminal device for each Web browser and each application software. The pointer storage unit includes each of the application ID, a message type of a message handled by application software corresponding to the application ID, and a message having the message type last received from the message relay server. A pointer that is position information indicating the position in the queue is stored in association with each other.

端末装置は、自身のWebブラウザに実装されたいずれかのアプリケーションソフトウェアの動作によりメッセージが生じた際に、該メッセージのメッセージタイプと、該アプリケーションソフトウェアの前記アプリケーションIDと、メッセージ内容とが含まれる前記上り通信メッセージを前記メッセージ中継サーバに送信する。   The terminal device includes the message type of the message, the application ID of the application software, and the message content when a message is generated by the operation of any application software installed in its Web browser. An uplink communication message is transmitted to the message relay server.

また、端末装置は、所定時間間隔で、前記ポインタ記憶部を参照して、自身のWebブラウザに実装された各アプリケーションソフトウェアの、メッセージタイプとアプリケーションIDとポインタとを対応付けてなるアプリケーションリクエストが含まれる前記下り通信用リクエストを作成して前記メッセージ中継サーバに送信する。その後、該下り通信用リクエストに応じて前記メッセージ中継サーバから返送された、前記キューにおける位置情報とメッセージタイプとメッセージ内容とを対応付けてなる下り通信メッセージを含むレスポンスから、各下り通信メッセージに含まれるメッセージ内容を、該メッセージ内容に対応するメッセージタイプと同一のメッセージタイプを取り扱うアプリケーションソフトウェアに分配すると共に、前記レスポンスから、メッセージタイプ毎の前記位置情報の最大値を取得して、該最大値で前記ポインタ記憶部における該メッセージタイプに対応するポインタを更新する。
前記メッセージ中継サーバは、前記上り通信メッセージを受信した際に、該上り通信メッセージと、該上り通信メッセージの受信順に対応した位置情報とを対応付けて前記キューに記憶し、
In addition, the terminal device refers to the pointer storage unit at predetermined time intervals, and includes an application request in which a message type, an application ID, and a pointer of each application software installed in its own Web browser are associated with each other. The downlink communication request is generated and transmitted to the message relay server. Then, from each response sent from the message relay server in response to the downlink communication request, including a downlink communication message in which the position information in the queue, the message type, and the message content are associated with each other, included in each downlink communication message Distributed to application software that handles the same message type as the message type corresponding to the message content, and obtaining the maximum value of the position information for each message type from the response, A pointer corresponding to the message type in the pointer storage unit is updated.
When the message relay server receives the uplink communication message, the message relay server associates the uplink communication message with location information corresponding to the reception order of the uplink communication message, and stores it in the queue.

前記下り通信用リクエストを受信した際に、該下り通信用リクエストに含まれる各アプリケーションリクエストに対して、前記キューから、該アプリケーションリクエストに含まれるポインタが示す位置情報より大きい値を有し、かつ、該アプリケーションリクエストに含まれるメッセージタイプと同一のメッセージタイプに対応する位置情報を選出すると共に、選出したすべての位置情報について、該位置情報と、該位置情報に対応するメッセージタイプと、該位置情報に対応するメッセージ内容とからなる下り通信メッセージを作成して、位置情報の値の小さい順に前記レスポンスとして、リクエスト元の端末装置に送信する。   When receiving the downlink communication request, each application request included in the downlink communication request has a value larger than the position information indicated by the pointer included in the application request from the queue, and Position information corresponding to the same message type as the message type included in the application request is selected, and for all the selected position information, the position information, the message type corresponding to the position information, and the position information A downlink communication message composed of the corresponding message content is created and transmitted to the requesting terminal device as the response in ascending order of position information value.

なお、上記態様のシステムを方法や装置に置き換えて表現したもの、該システムに含まれるメッセージ中継サーバと端末装置、及びコンピュータをメッセージ中継サーバまたは端末装置として動作せしめるプログラムも、本発明の態様としては有効である。   Note that a system that replaces the system of the above aspect with a method or apparatus, a message relay server and a terminal device included in the system, and a program that causes a computer to operate as a message relay server or a terminal device are also included as aspects of the invention It is valid.

本発明にかかる技術によれば、遠隔協働システムにおいて、メッセージ中継サーバは、各Webブラウザの動作の状態やそのWebブラウザ上で動作しているアプリケーションの種類、各アプリケーションがどこまでキューの中のメッセージを読み込んだかを管理する必要が無くなり、その実装を簡単にすることができる。   According to the technology of the present invention, in the remote collaboration system, the message relay server is configured such that the operation state of each Web browser, the type of application running on the Web browser, and how far each application is in the queue. It is no longer necessary to manage whether or not is loaded, and its implementation can be simplified.

本発明の実施の形態にかかるシステムを示す図である。It is a figure which shows the system concerning embodiment of this invention. 図1に示すシステムのWebサーバにおけるメッセージ中継サーバを示す図である。It is a figure which shows the message relay server in the Web server of the system shown in FIG. 図1に示すシステムの端末装置におけるWebブラウザを示す図である。It is a figure which shows the web browser in the terminal device of the system shown in FIG. 図2に示すメッセージ中継サーバにおけるセッション開始時の処理を示すフローチャートである。It is a flowchart which shows the process at the time of the session start in the message relay server shown in FIG. メッセージ中継サーバのセッション管理部により管理されているセッションIDとユーザIDの例を示す図である。It is a figure which shows the example of session ID and user ID which are managed by the session management part of a message relay server. メッセージ中継サーバのセッション管理部が作成したキューの初期状態の例を示す図である。It is a figure which shows the example of the initial state of the queue which the session management part of the message relay server created. メッセージが蓄積されたときのキューの例を示す図である。It is a figure which shows the example of a queue when a message is accumulate | stored. 端末装置において、アプリケーションの処理開始時におけるWebブラウザの処理を示すフローチャートである。6 is a flowchart illustrating processing of a Web browser at the start of application processing in a terminal device. 端末装置のポインタ記憶部に記憶された内容の例を示す図である。It is a figure which shows the example of the content memorize | stored in the pointer memory | storage part of a terminal device. 上り通信時におけるWebブラウザの処理を示すフローチャートである。It is a flowchart which shows the process of the web browser at the time of upstream communication. 上り通信メッセージの一例を示す図である。It is a figure which shows an example of an upstream communication message. 上り通信時におけるメッセージ中継サーバの処理を示すフローチャートである。It is a flowchart which shows the process of the message relay server at the time of uplink communication. 下り通信に関してのWebブラウザの処理を示すフローチャートである。It is a flowchart which shows the process of the web browser regarding downstream communication. 下り通信用リクエストの例を示す図である。It is a figure which shows the example of the request for downlink communications. 下り通信用リクエストへのレスポンスの例を示す図である。It is a figure which shows the example of the response to the request for downlink communications. Webブラウザにおけるポインタ記憶部の更新後の例を示す図である。It is a figure which shows the example after the update of the pointer memory | storage part in a Web browser. 下り通信時におけるメッセージ中継サーバの処理を示すフローチャートである。It is a flowchart which shows the process of the message relay server at the time of downlink communication.

以下、図面を参照しながら、本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. Each element described in the drawings as a functional block for performing various processes can be configured by a CPU, a memory, and other circuits in terms of hardware, and a program loaded in the memory in terms of software. Etc. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one.

図1は、本発明の実施の形態にかかるシステム100を示す。システム100は、遠隔に離れたユーザ同士が協働作業を実施するためのものであり、Webサーバ110と、複数の端末装置120とを備え、Webサーバ110と各端末装置120は、インターネットなどのネットワーク130を介して接続されている。   FIG. 1 shows a system 100 according to an embodiment of the present invention. The system 100 is for remote users to perform collaborative work. The system 100 includes a Web server 110 and a plurality of terminal devices 120. The Web server 110 and each terminal device 120 include the Internet or the like. They are connected via a network 130.

各端末装置120には、ユーザ同士が協働作業をするためのユーザインタフェースとして利用するWebブラウザ300が実装されており、これらのWebブラウザ300は、例えばHTTPプロトコルを用いてWebサーバ110と通信する。Webサーバ110には、各Webブラウザ300間のメッセージを中継するメッセージ中継サーバ200が設けられている。   Each terminal device 120 is equipped with a Web browser 300 used as a user interface for users to collaborate with each other, and these Web browsers 300 communicate with the Web server 110 using, for example, the HTTP protocol. . The Web server 110 is provided with a message relay server 200 that relays messages between the Web browsers 300.

図2は、メッセージ中継サーバ200を示す。メッセージ中継サーバ200は、セッション管理部210と、メッセージ受信部220と、送信メッセージ蓄積部230と、キュー記憶部240と、下り通信レスポンス部250を有する。下り通信レスポンス部250は、送信メッセージ選択部252と、メッセージ送信部254を備える。   FIG. 2 shows the message relay server 200. The message relay server 200 includes a session management unit 210, a message reception unit 220, a transmission message storage unit 230, a queue storage unit 240, and a downlink communication response unit 250. The downlink communication response unit 250 includes a transmission message selection unit 252 and a message transmission unit 254.

セッション管理部210は、ユーザ同士の協働作業のセッションを管理し、セッションと後述するキューとの関係を保持する。メッセージ受信部220は、各端末装置120、具体的にはこれらの端末装置120におけるWebブラウザ300から上り通信で送信してきたメッセージ(以下上り通信メッセージという)を受信する。送信メッセージ蓄積部230は、メッセージ受信部220が受信した上り通信メッセージをキュー記憶部240に記憶させる。キュー記憶部240は、セッション毎に用意されたキュー242を有し、各キュー242には、該セッションに属する各Webブラウザ300からの上り通信メッセージが受信順に記憶されている。送信メッセージ選択部252は、Webブラウザ300からの下り通信用リクエストに応じて、キュー記憶部240に記憶された上りメッセージの中から、下り通信用リクエストをしたWebブラウザ300に送信すべきメッセージを選択する。送信メッセージ選択部252は、送信メッセージ選択部252が選択したメッセージを、下り通信用リクエストをしたWebブラウザ300に送信する。   The session management unit 210 manages a session of collaborative work between users, and holds a relationship between the session and a queue described later. The message receiving unit 220 receives a message (hereinafter referred to as an uplink communication message) transmitted by uplink communication from each terminal device 120, specifically, the Web browser 300 in these terminal devices 120. The transmission message storage unit 230 stores the upstream communication message received by the message reception unit 220 in the queue storage unit 240. The queue storage unit 240 has a queue 242 prepared for each session, and each queue 242 stores upstream communication messages from each Web browser 300 belonging to the session in the order of reception. In response to a downlink communication request from the Web browser 300, the transmission message selection unit 252 selects a message to be transmitted to the Web browser 300 that has made the downlink communication request from the uplink messages stored in the queue storage unit 240. To do. The transmission message selection unit 252 transmits the message selected by the transmission message selection unit 252 to the Web browser 300 that has made the downlink communication request.

図3は、各端末装置120に実装されたWebブラウザ300を示す。Webブラウザ300は、当該Webブラウザ300を利用するユーザを示すユーザIDを管理するユーザID管理部302と、協働作業をするための処理を実行するための複数のアプリケーションソフトウェア(以下単にアプリケーションという)304と、該Webブラウザ300上で動作する各アプリケーション304を管理するためのアプリケーション管理部306と、各アプリケーション304を一意に指定するためのアプリケーションID(一時IDともいう)を管理する一時ID管理部308と、各アプリケーション304で生成されたメッセージを上り通信としてメッセージ中継サーバ200に送信するための上り通信部310と、メッセージ中継サーバ200にリクエスト(下り通信用リクエスト)を送信してメッセージを取得するための下り通信部312と、メッセージ中継サーバ200へ下り通信用リクエストを送信する間隔(リクエスト間隔)を管理する下りタイミング管理部314と、下り通信部312が取得したメッセージを、該メッセージに対応したアプリケーション304に分配するメッセージ分配部316と、上記メッセージがメッセージ中継サーバ200上のキューにおける位置情報と、該メッセージを処理するアプリケーション304とを関連付けて蓄積するポインタ記憶部320とを備える。   FIG. 3 shows a Web browser 300 implemented in each terminal device 120. The web browser 300 includes a user ID management unit 302 that manages a user ID indicating a user who uses the web browser 300, and a plurality of application software (hereinafter simply referred to as applications) for executing processing for collaborative work. 304, an application management unit 306 for managing each application 304 operating on the Web browser 300, and a temporary ID management unit for managing an application ID (also referred to as a temporary ID) for uniquely specifying each application 304 308, an upstream communication unit 310 for transmitting the message generated by each application 304 to the message relay server 200 as upstream communication, and a message (request for downstream communication) by transmitting a request to the message relay server 200. A downlink communication unit 312 for acquisition, a downlink timing management unit 314 that manages an interval (request interval) for transmitting a request for downlink communication to the message relay server 200, and a message acquired by the downlink communication unit 312 in the message A message distribution unit 316 that distributes to the corresponding application 304, and a pointer storage unit 320 that stores the position information in the queue on the message relay server 200 and the application 304 that processes the message in association with each other.

Webブラウザ300の上記各機能ブロックは、一般にHTML(Hyper Text Markup Language)と呼ばれる記述方法で定義され、さらにはJava(登録商標)Script、ActiveX、Flashなどと一般的に呼称されるWebブラウザ上でプログラムを動作させる仕組みを用いて実装される。   Each functional block of the Web browser 300 is generally defined by a description method called HTML (Hyper Text Markup Language), and further on a Web browser generally called Java (registered trademark) Script, ActiveX, Flash, or the like. It is implemented using a mechanism that operates the program.

次いで、メッセージ中継サーバ200とWebブラウザ300の動作と共に、メッセージ中継サーバ200とWebブラウザ300の各機能ブロックの詳細を説明する。   Next, details of the functional blocks of the message relay server 200 and the Web browser 300 will be described along with the operations of the message relay server 200 and the Web browser 300.

図4は、メッセージ中継サーバ200でのセッション開始時の処理を示すフローチャートである。
まず、メッセージ中継サーバ200において、セッション管理部210は、遠隔協働作業のセッションを作成する(S100)。この時、セッションの開始方法については従来知られている任意の手法を用いてもよい。例えば、セッション管理部210と電話回線交換機とが接続された状態において、電話による通話の開始をセッションの開始とし、通話者同士をセッションの参加者とすればよい。また、別途、端末装置120上のWebブラウザ300からセッション管理部210に接続し、Webブラウザ300側の操作によってセッションの開始とセッションの参加者が定義されるようにしてもよい。
FIG. 4 is a flowchart showing processing at the time of starting a session in the message relay server 200.
First, in the message relay server 200, the session management unit 210 creates a session for remote collaboration work (S100). At this time, any conventionally known method may be used as a session starting method. For example, in a state where the session management unit 210 and the telephone line switch are connected, the start of the telephone call may be set as the start of the session, and the callers may be the participants of the session. Alternatively, the session may be connected to the session management unit 210 from the Web browser 300 on the terminal device 120, and the start of the session and the participants of the session may be defined by the operation on the Web browser 300 side.

セッション管理部210は、当該セッションを示すID(セッションID)と、ユーザを識別するためのID(ユーザID)とを関連付けて管理する。なお、セッションIDとユーザIDを関連付けて記憶する手段としては、セッション管理部210自身であってもよいし、メッセージ中継サーバ200に設けられた別の記憶手段や、メッセージ中継サーバ200以外のデータベースサーバといった別のサーバであってもよい。   The session management unit 210 associates and manages an ID (session ID) indicating the session and an ID (user ID) for identifying the user. The means for storing the session ID and the user ID in association with each other may be the session management unit 210 itself, another storage means provided in the message relay server 200, or a database server other than the message relay server 200 Another server may be used.

図5は、セッション管理部210により管理されているセッションIDとユーザIDの例を示す。
図示の例では、「User1」と「User2」はセッション「000001」に参加しており、「UserA」、「UserB」、「UserC」はセッション「000002」に参加している。
FIG. 5 shows examples of session IDs and user IDs managed by the session management unit 210.
In the illustrated example, “User1” and “User2” participate in the session “000001”, and “UserA”, “UserB”, and “UserC” participate in the session “000002”.

セッションが開始されると、セッション管理部210は、セッション毎に、該セッションのセッションIDに対応するキューを作成する(S102)。図6は、セッション管理部210がセッション「000001」に対して作成したキューの例を示す。   When a session is started, the session management unit 210 creates a queue corresponding to the session ID of the session for each session (S102). FIG. 6 shows an example of a queue created by the session management unit 210 for the session “000001”.

図6に示すように、セッション管理部210が作成したキュー242には、Webブラウザ300から上り通信で送信されてきたメッセージ毎に、「シーケンス番号」と、「一時ID」と、「メッセージタイプ」と、「メッセージ内容」とを対応付けて格納するように構成されている。これらの各項目の意味については後述する。   As shown in FIG. 6, in the queue 242 created by the session management unit 210, “sequence number”, “temporary ID”, and “message type” are stored for each message transmitted from the web browser 300 through upstream communication. And “message contents” are stored in association with each other. The meaning of each of these items will be described later.

セッション管理部210がキューを作成した段階では、まだメッセージが1つも蓄積されていない。その後、協働作業の開始に従って、各端末装置120におけるWebブラウザ300からメッセージがメッセージ中継サーバ200に送信される。メッセージ中継サーバ200において、送信メッセージ蓄積部230は、メッセージ受信部220により受信したメッセージを、キュー記憶部240における当該キューに蓄積させる。   At the stage where the session management unit 210 has created a queue, no messages have been accumulated yet. Thereafter, a message is transmitted from the Web browser 300 in each terminal device 120 to the message relay server 200 in accordance with the start of the cooperative work. In the message relay server 200, the transmission message accumulation unit 230 accumulates the message received by the message reception unit 220 in the queue in the queue storage unit 240.

図7は、メッセージがある程度蓄積された後のキューの例を示す。これも、セッション「000001」のキューの一例である。   FIG. 7 shows an example of the queue after the message is accumulated to some extent. This is also an example of a queue for session “000001”.

1列目の「シーケンス番号」は、メッセージの受信順に対応し、本実施の形態においては、0から始まり1ずつインクリメントする整数が用いられる。2列目の「一時ID」は、当該メッセージを送信したWebブラウザ300上で動作するアプリケーションを示すIDであり詳細については後述する。3列目の「メッセージタイプ」は、そのメッセージを用いるアプリケーションの種別を表す文字列である。4列目の「メッセージ内容」はメッセージの本体であり、文字だけでなく任意のデータを値であり得る。なお、「「一時ID」と、「メッセージタイプ」と、「メッセージ内容」は、端末装置120から送信されてきた上り通信メッセージに含まれたものである。   The “sequence number” in the first column corresponds to the order in which the messages are received. In this embodiment, an integer starting from 0 and incrementing by 1 is used. The “temporary ID” in the second column is an ID indicating an application operating on the Web browser 300 that has transmitted the message, and will be described in detail later. The “message type” in the third column is a character string representing the type of application that uses the message. The “message content” in the fourth column is the main body of the message, and it can be any data as well as characters. Note that ““ temporary ID ”,“ message type ”, and“ message content ”are included in the uplink communication message transmitted from the terminal device 120.

図7に示すように、例えば、シーケンス番号「0」のメッセージは、一時ID「A0001」を持つアプリケーションから送信されており、メッセージタイプは「CHAT」でメッセージ内容として「HELLO」が指定されている。   As shown in FIG. 7, for example, 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. .

また、シーケンス番号「3」のメッセージは、一時ID「B0002」を持つアプリケーションから送信されており、メッセージタイプは「FILE」でメッセージ内容として「FILE=BCD.BIN」が指定されている。   The message with the sequence number “3” is transmitted from the application having the temporary ID “B0002”, the message type is “FILE”, and “FILE = BCD.BIN” is designated as the message content.

図8は、端末装置120において、アプリケーション304の処理開始時におけるWebブラウザ300の処理を示すフローチャートである。アプリケーション304の処理は、例えば端末装置120のユーザがWebブラウザ300を用いて起動することにより開始される(S110)。アプリケーション304の起動の仕方は、通常のWebブラウザと同様である。例えば、WebブラウザにURL(Uniform Resource Locator)を指定することで、当該URLに関連づけられたHTMLが読み込まれ、HTML上の定義に応じてWebブラウザ300の各機能ブロックが動作する。この仕組みは通常のWebブラウザを利用した操作と同様であり、ここでは詳細な説明を省略する。   FIG. 8 is a flowchart showing the processing of the Web browser 300 at the start of processing of the application 304 in the terminal device 120. The process of the application 304 is started, for example, when the user of the terminal device 120 is activated using the Web browser 300 (S110). The application 304 is activated in the same way as a normal Web browser. For example, by specifying a URL (Uniform Resource Locator) in the Web browser, the HTML associated with the URL is read, and each functional block of the Web browser 300 operates according to the definition on the HTML. This mechanism is the same as the operation using a normal Web browser, and detailed description thereof is omitted here.

アプリケーションの処理が開始されると、アプリケーション管理部306は、ユーザID管理部302を用いて、当該Webブラウザ300を利用しているユーザのユーザIDを取得する(S112)。ユーザIDの取得方法は、従来知られている種々の方法を用いることができる。例えば、HTML中に記述されている、ユーザIDを示す文字列を取得する方法や、Webブラウザに一般的に備えられているCookieという仕組みを利用する方法や、ユーザに入力を促すなどの方法が考えられる。   When application processing is started, the application management unit 306 uses the user ID management unit 302 to acquire the user ID of the user using the Web browser 300 (S112). As a method for acquiring the user ID, various conventionally known methods can be used. For example, there are a method of acquiring a character string indicating a user ID described in HTML, a method of using a mechanism called Cookie generally provided in a Web browser, and a method of prompting a user to input. Conceivable.

次に、アプリケーション管理部306は、当該Webブラウザ300上で動作するアプリケーション304を初期化すると共に、一時ID管理部308から各アプリケーション304の一時IDを取得する(S114)。   Next, the application management unit 306 initializes the application 304 operating on the Web browser 300 and acquires the temporary ID of each application 304 from the temporary ID management unit 308 (S114).

一時IDは、Webブラウザ300上で動作しているアプリケーション304を一意に識別するために利用するものである。一時ID管理部308は、アプリケーション304に対して、Webブラウザ300毎にかつアプリケーション毎に異なる一時IDを付与する。同じユーザが複数のWebブラウザ300を利用して同じアプリケーション304を使っている場合でも、Webブラウザ300毎にそれぞれ異なる一時IDが生成される。また、同一Webブラウザ300においてもURLの変更などにより一度アプリケーション304が終了され、アプリケーション304が再度起上げされた場合には、前の一時IDと異なる一時IDが生成される。   The temporary ID is used to uniquely identify the application 304 operating on the Web browser 300. The temporary ID management unit 308 assigns a different temporary ID to the application 304 for each Web browser 300 and for each application. Even when the same user uses the same application 304 using a plurality of Web browsers 300, different temporary IDs are generated for each Web browser 300. In the same Web browser 300, when the application 304 is once terminated due to a URL change or the like and the application 304 is restarted, a temporary ID different from the previous temporary ID is generated.

一時IDの生成は、例えば、メッセージ中継サーバ200上で現在時刻とIPアドレス、乱数などを元に基となる文字列を作成し、Webブラウザ300上でアプリケーション304毎に基となる文字列に番号を追加して一時IDを生成するなどの方法が考えられる。勿論、Webブラウザ300の一時ID管理部308により、自身が設けられた端末装置120のIPアドレスと現在時刻と乱数などを元に基となる文字列を作成するようにしてもよい。   The temporary ID is generated, for example, by creating a base character string based on the current time, IP address, random number, etc. on the message relay server 200, and numbering the base character string for each application 304 on the Web browser 300. For example, a method of generating a temporary ID by adding the ID can be considered. Of course, the temporary ID management unit 308 of the Web browser 300 may create a character string based on the IP address, current time, random number, and the like of the terminal device 120 provided with the temporary browser.

次に、アプリケーション管理部306は、ステップS114で取得した各一時IDを、該一時IDに対応するアプリケーション304に渡す(S116)。   Next, the application management unit 306 passes each temporary ID acquired in step S114 to the application 304 corresponding to the temporary ID (S116).

各アプリケーション304は、渡された一時IDを記憶し、自身固有の初期化処理を実施する。初期化完了後、該アプリケーション304は、初期化の完了と、自身が使用するメッセージタイプとをアプリケーション管理部306に通知する。これにより、アプリケーション管理部306は、各アプリケーション304のメッセージタイプを取得する(ステップS118)。   Each application 304 stores the passed temporary ID and performs its own initialization process. After completion of initialization, the application 304 notifies the application management unit 306 of the completion of initialization and the message type used by itself. Thereby, the application management part 306 acquires the message type of each application 304 (step S118).

なお、メッセージタイプは、異なるアプリケーション304ではメッセージタイプが異なる条件を満たせば、いかなる文字列であってもよい。   The message type may be any character string as long as the message types satisfy different conditions in different applications 304.

アプリケーション管理部306は、アプリケーション304からメッセージタイプを受け取ると、ポインタ記憶部320に、当該アプリケーション304の一時IDと、メッセージタイプと、初期ポインタとを対応付けて記憶させる(S120)。なお、本実施の形態において、初期ポインタとして、メッセージ中継サーバ200のキューにおける「シーケンス番号」の開始値「0」より1つ小さい「−1」が用いられる。なお、ポインタの意義については後述する。   Upon receiving the message type from the application 304, the application management unit 306 stores the temporary ID of the application 304, the message type, and the initial pointer in the pointer storage unit 320 in association with each other (S120). In this embodiment, “−1” which is one smaller than the start value “0” of “sequence number” in the queue of the message relay server 200 is used as the initial pointer. The significance of the pointer will be described later.

図9は、ポインタ記憶部320の記憶内容の一例を示す。図示のように、ポインタ記憶部320は、アプリケーション304の一時IDと、メッセージタイプと、ポインタとを対応付けて記憶している。例えば、一時ID「C00001」と、メッセージタイプ「CHAT」と、ポインタ「−1」とが対応付けられている。これは、一時IDが「C00001」であるアプリケーションの使用するメッセージタイプが「CHAT」であり、ポインタが初期ポインタの「−1」であることを示す。   FIG. 9 shows an example of the stored contents of the pointer storage unit 320. As illustrated, the pointer storage unit 320 stores a temporary ID of the application 304, a message type, and a pointer in association with each other. For example, a temporary ID “C00001”, a message type “CHAT”, and a pointer “−1” are associated with each other. This indicates that the message type used by the application whose temporary ID is “C00001” is “CHAT”, and the pointer is “−1” of the initial pointer.

同様に、一時ID「C00002」と、メッセージタイプ「DOC」と、ポインタ「−1」とが対応付けられている。これは、一時IDが「C00002」であるアプリケーションの使用するメッセージタイプが「DOC」であり、ポインタが初期ポインタの「−1」であることを示す。   Similarly, a temporary ID “C00002”, a message type “DOC”, and a pointer “−1” are associated with each other. This indicates that the message type used by the application whose temporary ID is “C00002” is “DOC” and the pointer is “−1” of the initial pointer.

協働作業の開始にしたがって、各端末装置120において操作がなされ、Webブラウザ300から上り通信でメッセージがメッセージ中継サーバ200に送信され、また下り通信でメッセージ中継サーバ200からWebブラウザ300へメッセージが送信される。   In accordance with the start of the collaborative work, each terminal device 120 is operated, and a message is transmitted from the Web browser 300 to the message relay server 200 by upstream communication, and a message is transmitted from the message relay server 200 to the Web browser 300 by downstream communication. Is done.

まず、上り通信について説明する。
図10は、上り通信時におけるWebブラウザ300の処理を示すフローチャートである。Webブラウザ300において、ユーザの操作などに伴ってアプリケーション304からメッセージの送信が生じた際に(S130)、当該アプリケーション304は、メッセージの内容と、エコーバックフラグをアプリケーション管理部306に出力する(S132)。なお、エコーバックフラグは、アプリケーション304がメッセージを送信した場合に該メッセージを自分自身で取得するか否かを示す真/偽値である。詳細については後述するが、本実施の形態において、エコーバックフラグが真であるメッセージがメッセージ中継サーバ200に送信された場合に、このメッセージは、後に下り通信で、該メッセージを上り通信で送信したWebブラウザ300に戻されるようになっている。
First, uplink communication will be described.
FIG. 10 is a flowchart showing the processing of the web browser 300 during upstream communication. In the Web browser 300, when a message is transmitted from the application 304 in response to a user operation or the like (S130), the application 304 outputs the message content and an echo back flag to the application management unit 306 (S132). ). The echo back flag is a true / false value indicating whether or not to acquire the message by itself when the application 304 transmits the message. Although details will be described later, in the present embodiment, when a message whose echo back flag is true is transmitted to the message relay server 200, this message is transmitted later by downlink communication, and the message is transmitted by uplink communication. It is returned to the Web browser 300.

アプリケーション管理部306は、アプリケーション304からのエコーバックフラグを確認し、その値が真であるときには、当該メッセージに対応する一時IDを、アプリケーション304の一時IDから、一時ID管理部308が生成しない特殊ID(例えば「0」)に変更して、上り通信部310を介して該メッセージを送信する(S134:Yes、S136、S138)。   The application management unit 306 checks the echo back flag from the application 304, and when the value is true, the temporary ID management unit 308 does not generate a temporary ID corresponding to the message from the temporary ID of the application 304. The ID is changed to “0” (for example, “0”), and the message is transmitted via the upstream communication unit 310 (S134: Yes, S136, S138).

一方、アプリケーション304からのエコーバックフラグの値が偽であるときには、アプリケーション管理部306は、当該アプリケーション304の一時IDでメッセージを送信する(S134:No、S138)。   On the other hand, when the value of the echo back flag from the application 304 is false, the application management unit 306 transmits a message with the temporary ID of the application 304 (S134: No, S138).

なお、ステップS138において送信されるメッセージは、ユーザID管理部302から取得されたユーザIDと、一時ID(エコーバックフラグが偽の場合は特殊ID)と、メッセージタイプと、メッセージ内容とからなる。上り通信部310は、上り通信用HTTPリクエストによりメッセージを送信する。   The message transmitted in step S138 includes the user ID acquired from the user ID management unit 302, a temporary ID (a special ID when the echo back flag is false), a message type, and message content. The upstream communication unit 310 transmits a message by an upstream communication HTTP request.

図11は、上り通信用HTTPリクエストの一例を示す。この例では、メッセージ中継サーバ200のメッセージ受信部220を示す「/Up」に対して、ユーザIDが「User1」であり、メッセージタイプが「CHAT」であり、一時IDが「C0001」であり、メッセージ内容が「こんばんは」であるメッセージが送信される。なお、エコーバックフラグの値が真である場合には、この一時IDの部分は例えば「0」になる。   FIG. 11 shows an example of an HTTP request for uplink communication. In this example, for “/ Up” indicating the message receiving unit 220 of the message relay server 200, the user ID is “User1”, the message type is “CHAT”, and the temporary ID is “C0001”. A message whose message content is “Good evening” is transmitted. When the value of the echo back flag is true, the temporary ID portion is “0”, for example.

図12は、上り通信時におけるメッセージ中継サーバ200の処理を示すフローチャートである。メッセージ中継サーバ200において、メッセージ受信部220により、上り通信用HTTPリクエストを受信する(S140)。メッセージ受信部220は、受信したリクエストを送信メッセージ蓄積部230に出力する。   FIG. 12 is a flowchart showing processing of the message relay server 200 during uplink communication. In the message relay server 200, the message receiving unit 220 receives an HTTP request for uplink communication (S140). The message reception unit 220 outputs the received request to the transmission message storage unit 230.

送信メッセージ蓄積部230は、渡されたリクエストからユーザID、メッセージタイプ、一時ID(特殊IDを含む)を取り出すと共に、セッション管理部210に問合せをし、該ユーザIDに対応するセッションIDを取得する(S142、S144)。そして、送信メッセージ蓄積部230は、キュー記憶部240における、該セッションIDに対応するキューを特定し、該キューのシーケンス番号の最大値を取得する(S146、S148)。   The transmission message storage unit 230 extracts a user ID, a message type, and a temporary ID (including a special ID) from the passed request, and inquires the session management unit 210 to acquire a session ID corresponding to the user ID. (S142, S144). Then, the transmission message accumulation unit 230 identifies the queue corresponding to the session ID in the queue storage unit 240, and acquires the maximum value of the sequence number of the queue (S146, S148).

送信メッセージ蓄積部230は、取得したシーケンス番号に最大値に1を加算して、加算後のシーケンス番号で該メッセージをキューに追加する(S152)。具体的には、加算後のシーケンス番号と、一時IDと、メッセージタイプと、メッセージ内容とを対応付けてキューに保存する。   The transmission message storage unit 230 adds 1 to the maximum value to the acquired sequence number, and adds the message to the queue with the sequence number after the addition (S152). Specifically, the sequence number after addition, the temporary ID, the message type, and the message content are stored in the queue in association with each other.

次いで、下り通信について説明する。
図13は、下り通信について、Webブラウザ300の処理を示すフローチャートである。Webブラウザ300において、アプリケーション管理部306は、下り通信の開始を下りタイミング管理部314に指示する(S150)。このとき、アプリケーション管理部306は、ユーザID管理部302からユーザIDを取得して下りタイミング管理部314に渡す。その後、下り通信のタイミングは、下りタイミング管理部314により管理される。
Next, downlink communication will be described.
FIG. 13 is a flowchart showing processing of the Web browser 300 for downlink communication. In the Web browser 300, the application management unit 306 instructs the downlink timing management unit 314 to start downlink communication (S150). At this time, the application management unit 306 acquires the user ID from the user ID management unit 302 and passes it to the downlink timing management unit 314. Thereafter, the downlink communication timing is managed by the downlink timing management unit 314.

アプリケーション管理部306から下り通信の開始が指示されると、下りタイミング管理部314は、ポインタ記憶部320に登録されている各メッセージタイプとポインタと一時IDを取得する(S152)。下りタイミング管理部314は、ステップS154で取得した各メッセージタイプとポインタと一時IDを下り通信部312に出力して、下り通信用のHTTPリクエストを送信させる(S154)。   When the application management unit 306 instructs to start downlink communication, the downlink timing management unit 314 acquires each message type, pointer, and temporary ID registered in the pointer storage unit 320 (S152). The downlink timing management unit 314 outputs each message type, pointer, and temporary ID acquired in step S154 to the downlink communication unit 312 to transmit an HTTP request for downlink communication (S154).

図14は、下り通信用のHTTPリクエストの一例を示す。なお、分かりやすいように、この例は、下り通信用のHTTPリクエストの主な部分のみを記述したものである。この例では、メッセージ中継サーバ200のメッセージ送信部254を示す「/Down」に対して、ユーザIDが「User1」であり、1つ目のメッセージタイプ、及びそれに対応する一時IDとポインタがそれぞれ「CHAT」、「C0001」、「−1」であり、2つ目のメッセージタイプ、及びそれに対応する一時ID、ポインタがそれぞれ「DOC」、「C0002」、「−1」であるリクエストが送信される。   FIG. 14 shows an example of an HTTP request for downlink communication. For easy understanding, this example describes only the main part of the HTTP request for downlink communication. In this example, for “/ Down” indicating the message transmission unit 254 of the message relay server 200, the user ID is “User1”, the first message type, and the corresponding temporary ID and pointer are “ “CHAT”, “C0001”, and “−1”, the second message type, and the corresponding temporary ID and pointer are transmitted as “DOC”, “C0002”, and “−1”, respectively. .

メッセージ中継サーバ200は、下り通信用のHTTPリクエストに応じて、蓄積しているメッセージのうちから送信すべきメッセージを選出して、レスポンスとしてリクエストの送信元のWebブラウザ300に送信する。メッセージ中継サーバ200によるメッセージの選出処理については、後にメッセージ中継サーバ200の処理を説明する際に詳細に説明する。ここで図15を参照してメッセージ中継サーバ200からのレスポンスの一例を説明する。   In response to the HTTP request for downlink communication, the message relay server 200 selects a message to be transmitted from the accumulated messages and transmits it as a response to the Web browser 300 that is the transmission source of the request. The message selection process by the message relay server 200 will be described in detail later when the process of the message relay server 200 is described. Here, an example of a response from the message relay server 200 will be described with reference to FIG.

図15に示すレスポンスは、メッセージ中継サーバ200のキュー記憶部240に図7に示すキューが記憶されており、図14に示す下り通信用のHTTPリクエストに対してメッセージ中継サーバ200が送信したものである。レスポンスにおいて、1つのメッセージは、シーケンス番号と、メッセージタイプと、メッセージ内容から構成される。メッセージ間には、区切りを示す文字列が設けられている。なお、図示の例では、メッセージの区切りを示す文字列として、<――区切り――>が用いられているが、メッセージの区切りを示すことができれば、いかなる文字列であってもよい。   The response shown in FIG. 15 is the one that the queue shown in FIG. 7 is stored in the queue storage unit 240 of the message relay server 200 and is transmitted by the message relay server 200 in response to the HTTP request for downlink communication shown in FIG. is there. In the response, one message is composed of a sequence number, a message type, and message content. A character string indicating a delimiter is provided between the messages. In the illustrated example, <-delimiter-> is used as a character string indicating a message delimiter, but any character string may be used as long as it can indicate a message delimiter.

図15に示す例の場合、シーケンス番号が「0」、「1」、「2」に夫々対応するメッセージが選出され送信されている。なお、レスポンスにおいて、メッセージは、シーケンス番号が小さいほど先になるように配列されている。   In the example shown in FIG. 15, messages corresponding to sequence numbers “0”, “1”, and “2” are selected and transmitted. In the response, the messages are arranged so that the smaller the sequence number, the earlier.

図13に戻り、Webブラウザ300における下り通信処理を引き続き説明する。
Webブラウザ300において、下り通信部312は、メッセージ中継サーバ200からのレスポンスを受信すると、レスポンスを解析して中に含まれたメッセージを1つずつ取り出してメッセージ分配部316に出力する(S156、S158)。
Returning to FIG. 13, the downlink communication processing in the Web browser 300 will be described.
In the Web browser 300, when receiving the response from the message relay server 200, the downlink communication unit 312 analyzes the response, extracts the messages included therein one by one, and outputs the messages to the message distribution unit 316 (S 156, S 158). ).

メッセージ分配部316は、下り通信部312から受け取った各メッセージについて、受信順(すなわちレスポンス中の配列順)に、ポインタ記憶部320に記憶された、該メッセージのメッセージタイプと同一のメッセージタイプに対応するポインタの値を、そのメッセージのシーケンス番号に書き換える(S160)。また、メッセージ分配部316は、ポインタ記憶部320から、上記ポインタと同じ行に記憶された一時IDを取得して、該一時IDを有するアプリケーション304に当該メッセージの内容を出力する(S162)。各アプリケーション304は、メッセージの内容に従ってそれぞれ処理を実行する。   For each message received from the downlink communication unit 312, the message distribution unit 316 corresponds to the same message type as the message type of the message stored in the pointer storage unit 320 in the reception order (that is, the order of arrangement in the response). The pointer value to be rewritten is replaced with the sequence number of the message (S160). In addition, the message distribution unit 316 acquires the temporary ID stored in the same row as the pointer from the pointer storage unit 320, and outputs the content of the message to the application 304 having the temporary ID (S162). Each application 304 executes processing according to the content of the message.

ステップS158における書換えがなされた後、図9に示すポインタ記憶部320の記憶内容は、図16に示すようになる。図16に示すように、メッセージタイプ「CHAT」と一時ID「C0001」に対応するポインタが「2」になっており、メッセージタイプ「DOC」と一時ID「C0002」に対応するポインタが「1」になっている。   After rewriting in step S158, the stored contents of the pointer storage unit 320 shown in FIG. 9 are as shown in FIG. As shown in FIG. 16, the pointer corresponding to the message type “CHAT” and the temporary ID “C0001” is “2”, and the pointer corresponding to the message type “DOC” and the temporary ID “C0002” is “1”. It has become.

その後、一定時間の経過後に、ステップS152から処理が繰り返される(S164、S152〜)。   Thereafter, after a predetermined time has elapsed, the processing is repeated from step S152 (S164, S152).

なお、分かりやすいように、図13は、メッセージ中継サーバ200からのレスポンスにメッセージが含まれている場合のフローチャートを示している。ステップS156で受け取ったレスポンスにメッセージが含まれている場合には、ステップS158〜ステップS162の処理が行われずに、所定時間経過後に、ステップS152からの処理が繰り返される。   For ease of understanding, FIG. 13 shows a flowchart when a message is included in the response from the message relay server 200. If a message is included in the response received in step S156, the processing from step S152 is repeated after a predetermined time has elapsed without performing the processing in steps S158 to S162.

図17は、下り通信時にメッセージ中継サーバ200の処理を示すフローチャートである。メッセージ中継サーバ200において、メッセージ送信部254は、上述した下り通信用のHTTPリクエストを受信すると、リクエストからユーザIDと、メッセージタイプと、一時IDと、ポインタとを取り出して送信メッセージ選択部252に渡す(S170、S172)。以下、下り通信用のHTTPリクエスト中のメッセージタイプ、一時ID、ポインタを夫々リクエストメッセージタイプ、リクエスト一時ID、リクエストポインタと呼ぶ。   FIG. 17 is a flowchart showing processing of the message relay server 200 during downlink communication. In the message relay server 200, when the message transmission unit 254 receives the above-described HTTP request for downlink communication, the message transmission unit 254 extracts the user ID, the message type, the temporary ID, and the pointer from the request and passes them to the transmission message selection unit 252. (S170, S172). Hereinafter, the message type, temporary ID, and pointer in the HTTP request for downlink communication are referred to as request message type, request temporary ID, and request pointer, respectively.

送信メッセージ選択部252は、セッション管理部210に問い合わせをし、メッセージ送信部254から受け取ったユーザIDに対応するセッションIDを取得する(S174)。そして、各リクエストポインタのうちの最小値を取得ポインタとして、該取得ポインタより大きいシーケンス番号に対応するメッセージが、ステップS174で取得したセッションIDに対応するキューにあるか否かを確認する(S176、S178)。   The transmission message selection unit 252 makes an inquiry to the session management unit 210 and acquires a session ID corresponding to the user ID received from the message transmission unit 254 (S174). Then, using the minimum value among the request pointers as an acquisition pointer, it is confirmed whether or not the message corresponding to the sequence number larger than the acquisition pointer is in the queue corresponding to the session ID acquired in step S174 (S176, S178).

該当するメッセージがある場合、送信メッセージ選択部252は、取得ポインタに1を加算して、加算後の取得ポインタと同じシーケンス番号のメッセージを取得する(S178:Yes、S180、S182)。   When there is a corresponding message, the transmission message selection unit 252 adds 1 to the acquisition pointer, and acquires a message having the same sequence number as the acquisition pointer after the addition (S178: Yes, S180, S182).

送信メッセージ選択部252は、ステップS182で取得したメッセージのメッセージタイプと同一のリクエストメッセージタイプがあるか否かを確認し(S184)、無い場合には、ステップS178からの処理に戻る一方(S184:No、S178〜)、ある場合には、該リクエストメッセージタイプに対応するリクエスト一時IDと、ステップS182で取得したメッセージの一時IDが一致するか否かをさらに確認する(S184:Yes、S186)。送信メッセージ選択部252は、一時IDが一致する場合には、ステップS178からの処理に戻る一方(S186:Yes、S178〜)、一時IDが一致しない場合には、該リクエストメッセージタイプに対応するリクエストポインタと、ステップS182で取得したメッセージのシーケンス番号とを比較する(S186:No、S188)。   The transmission message selection unit 252 confirms whether or not there is a request message type that is the same as the message type of the message acquired in step S182 (S184). If there is no request message type, the process returns to the process from step S178 (S184: No, S178-), if there is, it is further confirmed whether or not the request temporary ID corresponding to the request message type matches the temporary ID of the message acquired in step S182 (S184: Yes, S186). If the temporary IDs match, the transmission message selection unit 252 returns to the process from step S178 (S186: Yes, S178-), and if the temporary IDs do not match, the request corresponding to the request message type. The pointer is compared with the sequence number of the message acquired in step S182 (S186: No, S188).

送信メッセージ選択部252は、ステップS188における比較の結果、シーケンス番号がリクエストポインタ以下であるときには、ステップS178からの処理に戻る(S188:No、S178〜)一方、シーケンス番号がリクエストポインタより大きいときには、当該シーケンス番号を、選択シーケンス番号として記憶しておくと共に、ステップS178からの処理に戻る(S188:Yes、S190、S178〜)。   When the sequence number is equal to or smaller than the request pointer as a result of the comparison in step S188, the transmission message selection unit 252 returns to the processing from step S178 (S188: No, S178-), whereas when the sequence number is larger than the request pointer, The sequence number is stored as the selected sequence number, and the process returns to step S178 (S188: Yes, S190, S178-).

処理が進み、キューには、取得ポインタより大きいシーケンス番号に対応するメッセージが無くなると(S178:No)、送信メッセージ選択部252は、ステップS190で記憶したすべての選択シーケンス番号に対応するメッセージをキューから取得してメッセージ送信部254に渡す(S196)。メッセージ送信部254は、送信メッセージ選択部252からのすべてのメッセージを、シーケンス番号が小さい順に並べて、図15に示すレスポンスを作成して、下り通信用のHTTPリクエストの送信元のWebブラウザ300に送信する(S98)。   When processing proceeds and there is no message corresponding to the sequence number larger than the acquisition pointer in the queue (S178: No), the transmission message selection unit 252 queues messages corresponding to all the selected sequence numbers stored in step S190. And is sent to the message transmission unit 254 (S196). The message transmission unit 254 arranges all the messages from the transmission message selection unit 252 in ascending order of sequence numbers, creates the response shown in FIG. 15, and transmits it to the Web browser 300 that is the transmission source of the HTTP request for downlink communication. (S98).

なお、図17に示していないが、リクエストポインタより大きいシーケンス番号に対応するメッセージがキューに無いときに(S178:No)、選択シーケンス番号が1つもない場合には、送信メッセージ選択部252は、送信するメッセージがない旨をメッセージ送信部254に通知し、メッセージ送信部254は、メッセージが含まれないレスポンスをWebブラウザ300に返す。   Although not shown in FIG. 17, when there is no message corresponding to the sequence number larger than the request pointer in the queue (S178: No), if there is no selected sequence number, the transmission message selection unit 252 The message transmission unit 254 is notified that there is no message to be transmitted, and the message transmission unit 254 returns a response not including the message to the Web browser 300.

このように、本実施の形態のシステム100において、各Webブラウザ300は、自身に実装された各アプリケーション304を、Webブラウザ毎およびアプリケーション毎に異なる一時IDで管理すると共に、該アプリケーション304が、メッセージ中継サーバ200のキューに格納されたメッセージのうちのどのメッセージまで受信したかを示すポインタ(すなわち最後に受信したメッセージのシーケンス番号)を管理する。そして、上がり通信でメッセージ中継サーバ200にメッセージを送信する際に、メッセージ内容と共に、該メッセージを送信するアプリケーション304の一時ID、メッセージタイプも送信する。   As described above, in the system 100 according to the present embodiment, each Web browser 300 manages each application 304 installed in the Web browser 300 with a temporary ID that is different for each Web browser and for each application. It manages a pointer (that is, the sequence number of the last received message) indicating which of the messages stored in the queue of the relay server 200 has been received. When a message is transmitted to the message relay server 200 by upstream communication, the temporary ID and message type of the application 304 that transmits the message are transmitted together with the message content.

メッセージ中継サーバ200は、Webブラウザ300ブラウザからの上がり通信でメッセージを受信すると、セッション毎に設けられたキューに、受信順に1つずつインクリメントするシーケンス番号と、一時IDと、メッセージタイプと、メッセージ内容とを対応付けて蓄積する。   When the message relay server 200 receives a message through the upward communication from the Web browser 300 browser, the message relay server 200 increments the queue number provided for each session by one in the order of reception, the temporary ID, the message type, and the message content. Are stored in association with each other.

そして、下り通信に際して、Webブラウザ300は、自身に実装されたすべてのアプリケーション304について、メッセージタイプ、一時ID、ポインタをメッセージ中継サーバ200に送信して下り通信用のHTTPリクエストをする。ここで、1組の「メッセージタイプ、一時ID、ポインタ」をアプリケーションリクエストと呼ぶ。   In downlink communication, the Web browser 300 sends a message type, temporary ID, and pointer to the message relay server 200 and makes an HTTP request for downlink communication for all the applications 304 installed in itself. Here, a set of “message type, temporary ID, and pointer” is referred to as an application request.

メッセージ中継サーバ200は、下り通信用のHTTPリクエストを受信すると、各アプリケーションリクエストについて、キューから、該アプリケーションリクエストに含まれるポインタより大きいシーケンス番号を有するメッセージのうちの、該アプリケーションリクエストのメッセージタイプと同一のメッセージタイプを有し、かつアプリケーションリクエストの一時IDと異なるイメージを選出して、レスポンスを作成する。   When the message relay server 200 receives the HTTP request for downlink communication, for each application request, the message type of the message having the sequence number larger than the pointer included in the application request from the queue is the same as the message type of the application request. An image having a message type of 1 and different from the temporary ID of the application request is selected and a response is created.

また、Webブラウザ300は、レスポンスを受信すると、受信したメッセージのシーケンス番号でポインタを更新する。
こうすることにより、Webブラウザ300は、自身に実装された各アプリケーション304が、メッセージ中継サーバ200に蓄積されたメッセージのうちの、どのメッセージまで受信したかを管理し、メッセージ中継サーバ200の負担を軽減することができる。
また、アプリケーション304は、自身が送信したメッセージも受信する必要がある場合、エコーバックフラグの値を真にすれば、該アプリケーション304は、当該メッセージを上り通信でメッセージ中継サーバ200に送信する際に、メッセージの一時IDを特殊IDに変更する。こうすることにより、メッセージ中継サーバ200のキューには、このメッセージが特殊IDで記憶され、下り通信の際に、図17に示すフローチャートにおけるS186の比較結果が「No」となる。そのため、このメッセージは、該メッセージを送信したWebブラウザ300にも返送される。
これにより、例えば一時退室などで一度セッションから抜けたWebブラウザが再度同じセッションに参加した場合などにおいて、過去に自分が送信したメッセージも再度受信することができ、追い付き処理を簡単に実現することができる。
Further, when receiving the response, the Web browser 300 updates the pointer with the sequence number of the received message.
By doing so, the Web browser 300 manages which messages of the messages 304 stored in the message relay server 200 are received by each application 304 installed in the Web browser 300, and loads the message relay server 200. Can be reduced.
Further, when the application 304 needs to receive a message transmitted by itself, if the echo back flag is set to true, the application 304 can transmit the message to the message relay server 200 by uplink communication. The temporary ID of the message is changed to a special ID. As a result, this message is stored as a special ID in the queue of the message relay server 200, and the comparison result of S186 in the flowchart shown in FIG. Therefore, this message is also returned to the Web browser 300 that transmitted the message.
As a result, for example, when a Web browser that has once left a session due to temporary evacuation or the like rejoins the same session, it is possible to receive messages sent by the user in the past again, and to easily realize catch-up processing. it can.

以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、さまざまな変更、増減を加えてもよい。これらの変更、増減が加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described above based on the embodiment. The embodiment is an exemplification, and various changes and increases / decreases may be added without departing from the gist of the present invention. It will be understood by those skilled in the art that modifications to which these changes and increases / decreases are also within the scope of the present invention.

例えば、本実施の形態のシステム100において、上り通信部310と下り通信部312が別々になっているが、これらを1つにまとめてもよい。勿論、メッセージ中継サーバ200におけるメッセージ受信部220とメッセージ送信部254を1つにまとめてもよい。   For example, in the system 100 of the present embodiment, the upstream communication unit 310 and the downstream communication unit 312 are separate, but these may be combined into one. Of course, the message receiving unit 220 and the message transmitting unit 254 in the message relay server 200 may be combined into one.

また、メッセージ中継サーバ200のキュー記憶部240において、各キューのメッセージタイプ毎のシーケンス番号の最大値を別途保管しておき、下り通信時に、この最大値とリクエストポインタとを比較して、どのメッセージタイプのメッセージが返信対象になるかの判別をより速くできるようにしてもよい。   Further, in the queue storage unit 240 of the message relay server 200, the maximum value of the sequence number for each message type of each queue is separately stored, and this message is compared with the request pointer during downlink communication to determine which message. It may be possible to more quickly determine whether a type of message is a reply target.

100 システム
110 Webサーバ
120 端末装置
130 ネットワーク
200 メッセージ中継サーバ
210 セッション管理部
220 メッセージ受信部
230 送信メッセージ蓄積部
240 キュー記憶部
242 キュー
250 下り通信レスポンス部
252 送信メッセージ選択部
254 メッセージ送信部
300 Webブラウザ
302 ユーザID管理部
304 アプリケーション
306 アプリケーション管理部
308 一時ID管理部
310 上り通信部
312 下り通信部
314 下りタイミング管理部
316 メッセージ分配部
320 ポインタ記憶部
DESCRIPTION OF SYMBOLS 100 System 110 Web server 120 Terminal device 130 Network 200 Message relay server 210 Session management part 220 Message receiving part 230 Transmission message storage part 240 Queue memory | storage part 242 Queue 250 Downlink communication response part 252 Transmission message selection part 254 Message transmission part 300 Web browser 302 User ID management unit 304 Application 306 Application management unit 308 Temporary ID management unit 310 Uplink communication unit 312 Downlink communication unit 314 Downstream timing management unit 316 Message distribution unit 320 Pointer storage unit

Claims (19)

ユーザ同士が協働作業をするためのユーザインタフェースとして利用するWebブラウザであって、前記協働作業を行うための1つ以上のアプリケーションソフトウェアを備えた前記Webブラウザが実装された複数の端末装置と、
ネットワークを介して前記複数の端末装置と接続され、WWW(World Wide Web)を介して各前記Webブラウザと通信可能なウェブサーバであって、キューを有し、端末装置に実装されたWebブラウザ上のアプリケーションソフトウェアの動作により生じ、該端末装置から送信されてきた上り通信メッセージを受信順に前記キューに記憶すると共に、端末装置からの下り通信用リクエストに応じて前記キューに記憶された上り通信メッセージからレスポンスを作成して該端末装置に送信することにより、前記複数の端末装置に実装されたWebブラウザを同期動作させるメッセージ中継サーバを備えた前記Webサーバとを有するシステムにおいて、
前記端末装置は、
自身のWebブラウザに実装された各アプリケーションソフトウェアに対して、ウェブブラザ毎、かつアプリケーションソフトウェア毎に異なるアプリケーションIDを付与するアプリケーションID管理部と、
各前記アプリケーションIDと、該アプリケーションIDに対応するアプリケーションソフトウェアが取り扱うメッセージのメッセージタイプと、前記メッセージ中継サーバから最後に受信した当該メッセージタイプを有するメッセージの、前記メッセージ中継サーバの前記キューにおける位置を示す位置情報であるポインタとを対応付けて記憶するポインタ記憶部とを備え、
自身のWebブラウザに実装されたいずれかのアプリケーションソフトウェアの動作によりメッセージが生じた際に、該メッセージのメッセージタイプと、該アプリケーションソフトウェアの前記アプリケーションIDと、メッセージ内容とが含まれる前記上り通信メッセージを前記メッセージ中継サーバに送信し、
所定時間間隔で、前記ポインタ記憶部を参照して、自身のWebブラウザに実装された各アプリケーションソフトウェアの、メッセージタイプとアプリケーションIDとポインタとを対応付けてなるアプリケーションリクエストが含まれる前記下り通信用リクエストを作成して前記メッセージ中継サーバに送信し、
該下り通信用リクエストに応じて前記メッセージ中継サーバから返送された、前記キューにおける位置情報とメッセージタイプとメッセージ内容とを対応付けてなる下り通信メッセージを含むレスポンスから、各下り通信メッセージに含まれるメッセージ内容を、該メッセージ内容に対応するメッセージタイプと同一のメッセージタイプを取り扱うアプリケーションソフトウェアに分配すると共に、前記レスポンスから、メッセージタイプ毎の前記位置情報の最大値を取得して、該最大値で前記ポインタ記憶部における該メッセージタイプに対応するポインタを更新し、
前記メッセージ中継サーバは、
前記上り通信メッセージを受信した際に、該上り通信メッセージと、該上り通信メッセージの受信順に対応した位置情報とを対応付けて前記キューに記憶し、
前記下り通信用リクエストを受信した際に、該下り通信用リクエストに含まれる各アプリケーションリクエストに対して、前記キューから、該アプリケーションリクエストに含まれるポインタが示す位置情報より大きい値を有し、かつ、該アプリケーションリクエストに含まれるメッセージタイプと同一のメッセージタイプに対応する位置情報を選出すると共に、選出したすべての位置情報について、該位置情報と、該位置情報に対応するメッセージタイプと、該位置情報に対応するメッセージ内容とからなる下り通信メッセージを作成して、位置情報の値の小さい順に前記レスポンスとして、リクエスト元の端末装置に送信することを特徴とするシステム。
A plurality of terminal devices, each of which is a Web browser that is used as a user interface for users to perform a collaborative work, and that includes the one or more application software for performing the collaborative work; ,
A web server connected to the plurality of terminal devices via a network and capable of communicating with each of the web browsers via a WWW (World Wide Web), having a queue and mounted on the terminal device The uplink communication messages generated by the operation of the application software and stored in the queue in the order received are stored in the queue according to the downlink communication request from the terminal device. In a system including the Web server including a message relay server that synchronously operates Web browsers installed in the plurality of terminal devices by creating a response and transmitting the response to the terminal device,
The terminal device
An application ID management unit for assigning a different application ID to each web browser and to each application software for each application software implemented in its own web browser;
Each of the application IDs, a message type of a message handled by application software corresponding to the application ID, and a position of the message having the message type last received from the message relay server in the queue of the message relay server A pointer storage unit that stores pointers that are positional information in association with each other;
When a message is generated by the operation of any application software installed in its own web browser, the upstream communication message including the message type of the message, the application ID of the application software, and the message content is displayed. Send to the message relay server,
The downlink communication request including an application request in which a message type, an application ID, and a pointer of each application software installed in its own Web browser are associated with each other by referring to the pointer storage unit at a predetermined time interval And send it to the message relay server,
A message included in each downlink communication message from a response including a downlink communication message that is returned from the message relay server in response to the downlink communication request and that associates position information in the queue with a message type and message content. The content is distributed to application software that handles the same message type as the message type corresponding to the message content, and the maximum value of the position information for each message type is obtained from the response, and the pointer is set with the maximum value. Updating the pointer corresponding to the message type in the storage unit;
The message relay server is
When the uplink communication message is received, the uplink communication message and the positional information corresponding to the reception order of the uplink communication message are associated with each other and stored in the queue,
When receiving the downlink communication request, each application request included in the downlink communication request has a value larger than the position information indicated by the pointer included in the application request from the queue, and Position information corresponding to the same message type as the message type included in the application request is selected, and for all the selected position information, the position information, the message type corresponding to the position information, and the position information A system characterized in that a downlink communication message including corresponding message contents is created and transmitted to the requesting terminal device as the response in ascending order of position information value.
前記メッセージ中継サーバは、前記キューから、前記下り通信用リクエストに含まれる各アプリケーションリクエストに対して位置情報を選出する際に、該アプリケーションリクエストに含まれるアプリケーションIDと異なるアプリケーションIDに対応した各位置情報から選出することを特徴とする請求項1または2に記載のシステム。   When the message relay server selects position information for each application request included in the downlink communication request from the queue, each position information corresponding to an application ID different from the application ID included in the application request The system according to claim 1, wherein the system is selected from the following. 前記端末装置は、
自身から送信したメッセージを受信すると設定された際に、前記アプリケーションリクエストに含まれるアプリケーションIDを、前記アプリケーションID管理部が付与することのない特殊IDに変更してから前記下り通信用リクエストを前記メッセージ中継サーバに送信することを特徴とする請求項2に記載のシステム。
The terminal device
When it is set to receive a message sent from itself, the application ID included in the application request is changed to a special ID that is not given by the application ID management unit, and then the downlink communication request is changed to the message. The system according to claim 2, wherein the system is transmitted to a relay server.
前記端末装置の前記アプリケーションID管理部は、終了されたアプリケーションソフトウェアが再度起動されたときに、該アプリケーションソフトウェアに対して、付与したことの無いアプリケーションIDを付与し直すことを特徴とする請求項2または3に記載のシステム。   The application ID management unit of the terminal device reassigns an application ID that has not been assigned to the application software when the terminated application software is restarted. Or the system of 3. ユーザ同士が協働作業をするためのユーザインタフェースとして利用するWebブラウザであって、前記協働作業を行うための1つ以上のアプリケーションソフトウェアを備えた前記Webブラウザが実装された複数の端末装置とネットワークを介して接続され、WWW(World Wide Web)を介して各前記Webブラウザと通信可能なウェブサーバに設けられたメッセージ中継サーバであって、
端末装置に実装されたWebブラウザ上のアプリケーションソフトウェアの動作により生じ、該端末装置から送信されてきた上り通信メッセージを受信順に記憶するキューと、
端末装置からの下り通信用リクエストに応じて前記キューに記憶された上り通信メッセージからレスポンスを作成して該端末装置に送信することにより、前記複数の端末装置に実装されたWebブラウザを同期動作させる下り通信レスポンス部とを有し、
前記上り通信メッセージは、該メッセージを発生させたアプリケーションソフトウェアに付与された、Webブラウザ毎かつアプリケーションソフトウェア毎に異なるアプリケーションIDと、該アプリケーションソフトウェアが取り扱うメッセージのメッセージタイプと、メッセージ内容とが含まれており、
前記下り通信用リクエストは、当該端末装置のWebブラウザに実装された各アプリケーションソフトウェアの、メッセージタイプと、アプリケーションIDと、当該端末装置が最後に受信した当該メッセージタイプを有するメッセージの、前記キューにおける位置を示す位置情報であるポインタとを対応付けてなるアプリケーションリクエストが含まれており、
前記キューは、端末装置からの上り通信メッセージと、該上り通信メッセージの受信順に対応した位置情報とを対応付けて記憶し、
前記下り通信レスポンス部は、端末装置から下り通信用リクエストを受信した際に、該下り通信用リクエストに含まれる各アプリケーションリクエストに対して、前記キューから、該アプリケーションリクエストに含まれるポインタが示す位置情報より大きい値を有し、かつ、該アプリケーションリクエストに含まれるメッセージタイプと同一のメッセージタイプに対応する位置情報を選出すると共に、選出したすべての位置情報について、該位置情報と、該位置情報に対応するメッセージタイプと、該位置情報に対応するメッセージ内容とからなる下り通信メッセージを作成して、位置情報の値の小さい順に前記レスポンスとして、リクエスト元の端末装置に送信することを特徴とするメッセージ中継サーバ。
A plurality of terminal devices, each of which is a Web browser that is used as a user interface for users to perform a collaborative work, and that includes the one or more application software for performing the collaborative work; A message relay server provided in a web server connected via a network and capable of communicating with each of the web browsers via WWW (World Wide Web),
A queue for storing the upstream communication messages generated by the operation of the application software on the Web browser installed in the terminal device and transmitted from the terminal device in the order of reception;
In response to a downlink communication request from a terminal device, a response is generated from the uplink communication message stored in the queue and is transmitted to the terminal device, so that the Web browsers installed in the plurality of terminal devices are operated synchronously. A downlink communication response unit,
The upstream communication message includes an application ID assigned to the application software that generated the message, a different application ID for each Web browser and for each application software, a message type of a message handled by the application software, and a message content. And
The downlink communication request is a position in the queue of a message having a message type, an application ID, and the message type last received by the terminal device of each application software installed in the Web browser of the terminal device. An application request is included that is associated with a pointer that is location information indicating
The queue stores an uplink communication message from a terminal device and location information corresponding to the reception order of the uplink communication message in association with each other,
When the downlink communication response unit receives a downlink communication request from a terminal device, for each application request included in the downlink communication request, position information indicated by a pointer included in the application request from the queue The position information corresponding to the same message type as the message type included in the application request is selected, and the position information and the position information for all the selected position information are selected. Message relay, comprising a message type corresponding to the location information and a message content corresponding to the location information, and transmitting the response message to the requesting terminal device as the response in ascending order of the location information value server.
前記下り通信レスポンス部は、前記キューから、前記下り通信用リクエストに含まれる各アプリケーションリクエストに対して位置情報を選出する際に、該アプリケーションリクエストに含まれるアプリケーションIDと異なるアプリケーションIDに対応した各位置情報から選出することを特徴とする請求項5に記載のメッセージ中継サーバ。   When the downlink communication response unit selects position information for each application request included in the downlink communication request from the queue, each position corresponding to an application ID different from the application ID included in the application request 6. The message relay server according to claim 5, wherein the message relay server is selected from information. ユーザ同士が協働作業をするためのユーザインタフェースとして利用するWebブラウザであって、前記協働作業を行うための1つ以上のアプリケーションソフトウェアを備えた前記Webブラウザが実装された複数の端末装置と、
ネットワークを介して前記複数の端末装置と接続され、WWW(World Wide Web)を介して各前記Webブラウザと通信可能なウェブサーバであって、キューを有し、端末装置に実装されたWebブラウザ上のアプリケーションソフトウェアの動作により生じ、該端末装置から送信されてきた上り通信メッセージを受信順に前記キューに記憶すると共に、端末装置からの下り通信用リクエストに応じて前記キューに記憶された上り通信メッセージからレスポンスを作成して該端末装置に送信することにより、前記複数の端末装置に実装されたWebブラウザを同期動作させるメッセージ中継サーバを備えた前記Webサーバとを有するシステムにおける前記端末装置であって、
自身のWebブラウザに実装された各アプリケーションソフトウェアに対して、ウェブブラザ毎、かつアプリケーションソフトウェア毎に異なるアプリケーションIDを付与するアプリケーションID管理部と、
各前記アプリケーションIDと、該アプリケーションIDに対応するアプリケーションソフトウェアが取り扱うメッセージのメッセージタイプと、前記メッセージ中継サーバから最後に受信した当該メッセージタイプを有するメッセージの、前記メッセージ中継サーバの前記キューにおける位置を示す位置情報であるポインタとを対応付けて記憶するポインタ記憶部とを備え、
自身のWebブラウザに実装されたいずれかのアプリケーションソフトウェアの動作によりメッセージが生じた際に、該メッセージのメッセージタイプと、該アプリケーションソフトウェアの前記アプリケーションIDと、メッセージ内容とが含まれる前記上り通信メッセージを前記メッセージ中継サーバに送信し、
所定時間間隔で、前記ポインタ記憶部を参照して、自身のWebブラウザに実装された各アプリケーションソフトウェアの、メッセージタイプとアプリケーションIDとポインタとを対応付けてなるアプリケーションリクエストが含まれる前記下り通信用リクエストを作成して前記メッセージ中継サーバに送信し、
該下り通信用リクエストに応じて前記メッセージ中継サーバから返送された、前記キューにおける位置情報とメッセージタイプとメッセージ内容とを対応付けてなる下り通信メッセージを含むレスポンスから、各下り通信メッセージに含まれるメッセージ内容を、該メッセージ内容に対応するメッセージタイプと同一のメッセージタイプを取り扱うアプリケーションソフトウェアに分配すると共に、前記レスポンスから、メッセージタイプ毎の前記位置情報の最大値を取得して、該最大値で前記ポインタ記憶部における該メッセージタイプに対応するポインタを更新することを特徴とする端末装置。
A plurality of terminal devices, each of which is a Web browser that is used as a user interface for users to perform a collaborative work, and that includes the one or more application software for performing the collaborative work; ,
A web server connected to the plurality of terminal devices via a network and capable of communicating with each of the web browsers via a WWW (World Wide Web), having a queue and mounted on the terminal device The uplink communication messages generated by the operation of the application software and stored in the queue in the order received are stored in the queue according to the downlink communication request from the terminal device. The terminal device in a system including the Web server including a message relay server that synchronously operates Web browsers installed in the plurality of terminal devices by creating a response and transmitting the response to the terminal device,
An application ID management unit for assigning a different application ID to each web browser and to each application software for each application software implemented in its own web browser;
Each of the application IDs, a message type of a message handled by application software corresponding to the application ID, and a position of the message having the message type last received from the message relay server in the queue of the message relay server A pointer storage unit that stores pointers that are positional information in association with each other;
When a message is generated by the operation of any application software installed in its own web browser, the upstream communication message including the message type of the message, the application ID of the application software, and the message content is displayed. Send to the message relay server,
The downlink communication request including an application request in which a message type, an application ID, and a pointer of each application software installed in its own Web browser are associated with each other by referring to the pointer storage unit at a predetermined time interval And send it to the message relay server,
A message included in each downlink communication message from a response including a downlink communication message that is returned from the message relay server in response to the downlink communication request and that associates position information in the queue with a message type and message content. The content is distributed to application software that handles the same message type as the message type corresponding to the message content, and the maximum value of the position information for each message type is obtained from the response, and the pointer is set with the maximum value. A terminal device that updates a pointer corresponding to the message type in a storage unit.
自身から送信したメッセージを受信すると設定された際に、前記アプリケーションリクエストに含まれるアプリケーションIDを、前記アプリケーションID管理部が付与することのない特殊IDに変更してから前記下り通信用リクエストを前記メッセージ中継サーバに送信することを特徴とする請求項7に記載の端末装置。   When it is set to receive a message sent from itself, the application ID included in the application request is changed to a special ID that is not given by the application ID management unit, and then the downlink communication request is changed to the message. The terminal device according to claim 7, wherein the terminal device is transmitted to a relay server. 前記アプリケーションID管理部は、終了されたアプリケーションソフトウェアが再度起動されたときに、該アプリケーションソフトウェアに対して、付与したことの無いアプリケーションIDを付与し直すことを特徴とする請求項7または8に記載の端末装置。   9. The application ID management unit according to claim 7 or 8, wherein when the terminated application software is restarted, an application ID that has not been assigned is reassigned to the application software. Terminal equipment. ユーザ同士が協働作業をするためのユーザインタフェースとして利用するWebブラウザであって、前記協働作業を行うための1つ以上のアプリケーションソフトウェアを備えた前記Webブラウザが実装された複数の端末装置とネットワークを介して接続され、WWW(World Wide Web)を介して各前記Webブラウザと通信可能なウェブサーバに設けられたメッセージ中継サーバによるメッセージ中継方法において、
端末装置に実装されたWebブラウザ上のアプリケーションソフトウェアの動作により生じ、該端末装置から送信されてきた上り通信メッセージを受信順にキューに記憶する記憶処理と、
端末装置からの下り通信用リクエストに応じて前記キューに記憶された上り通信メッセージからレスポンスを作成して該端末装置に送信することにより、前記複数の端末装置に実装されたWebブラウザを同期動作させる下り通信レスポンス処理とを有し、
前記上り通信メッセージは、該メッセージを発生させたアプリケーションソフトウェアに付与された、Webブラウザ毎かつアプリケーションソフトウェア毎に異なるアプリケーションIDと、該アプリケーションソフトウェアが取り扱うメッセージのメッセージタイプと、メッセージ内容とが含まれており、
前記下り通信用リクエストは、当該端末装置のWebブラウザに実装された各アプリケーションソフトウェアの、メッセージタイプと、アプリケーションIDと、当該端末装置が最後に受信した当該メッセージタイプを有するメッセージの、前記キューにおける位置を示す位置情報であるポインタとを対応付けてなるアプリケーションリクエストが含まれており、
前記記憶処理は、端末装置からの上り通信メッセージと、該上り通信メッセージの受信順に対応した位置情報とを対応付けて前記キューに記憶し、
前記下り通信レスポンス処理は、端末装置から下り通信用リクエストを受信した際に、該下り通信用リクエストに含まれる各アプリケーションリクエストに対して、前記キューから、該アプリケーションリクエストに含まれるポインタが示す位置情報より大きい値を有し、かつ、該アプリケーションリクエストに含まれるメッセージタイプと同一のメッセージタイプに対応する位置情報を選出すると共に、選出したすべての位置情報について、該位置情報と、該位置情報に対応するメッセージタイプと、該位置情報に対応するメッセージ内容とからなる下り通信メッセージを作成して、位置情報の値の小さい順に前記レスポンスとして、リクエスト元の端末装置に送信することを特徴とするメッセージ中継方法。
A plurality of terminal devices, each of which is a Web browser that is used as a user interface for users to perform a collaborative work, and that includes the one or more application software for performing the collaborative work; In a message relay method by a message relay server provided in a web server connected via a network and capable of communicating with each of the web browsers via WWW (World Wide Web),
A storage process in which the upstream communication messages generated by the operation of the application software on the Web browser installed in the terminal device and transmitted from the terminal device are stored in the queue in the order of reception;
In response to a downlink communication request from a terminal device, a response is generated from the uplink communication message stored in the queue and is transmitted to the terminal device, so that the Web browsers installed in the plurality of terminal devices are operated synchronously. Downlink communication response processing,
The upstream communication message includes an application ID assigned to the application software that generated the message, a different application ID for each Web browser and for each application software, a message type of a message handled by the application software, and a message content. And
The downlink communication request is a position in the queue of a message having a message type, an application ID, and the message type last received by the terminal device of each application software installed in the Web browser of the terminal device. An application request is included that is associated with a pointer that is location information indicating
The storage process associates an upstream communication message from a terminal device with location information corresponding to the reception order of the upstream communication message, stores the information in the queue,
When the downlink communication response process receives a downlink communication request from a terminal device, for each application request included in the downlink communication request, position information indicated by a pointer included in the application request from the queue The position information corresponding to the same message type as the message type included in the application request is selected, and the position information and the position information for all the selected position information are selected. Message relay, comprising a message type corresponding to the location information and a message content corresponding to the location information, and transmitting the response message to the requesting terminal device as the response in ascending order of the location information value Method.
前記下り通信レスポンス処理は、前記キューから、前記下り通信用リクエストに含まれる各アプリケーションリクエストに対して位置情報を選出する際に、該アプリケーションリクエストに含まれるアプリケーションIDと異なるアプリケーションIDに対応した各位置情報から選出することを特徴とする請求項10に記載のメッセージ中継方法。   In the downlink communication response process, when selecting position information for each application request included in the downlink communication request from the queue, each position corresponding to an application ID different from the application ID included in the application request The message relay method according to claim 10, wherein the message relay method is selected from information. ユーザ同士が協働作業をするためのユーザインタフェースとして利用するWebブラウザであって、前記協働作業を行うための1つ以上のアプリケーションソフトウェアを備えた前記Webブラウザが実装された複数の端末装置と、
ネットワークを介して前記複数の端末装置と接続され、WWW(World Wide Web)を介して各前記Webブラウザと通信可能なウェブサーバであって、キューを有し、端末装置に実装されたWebブラウザ上のアプリケーションソフトウェアの動作により生じ、該端末装置から送信されてきた上り通信メッセージを受信順に前記キューに記憶すると共に、端末装置からの下り通信用リクエストに応じて前記キューに記憶された上り通信メッセージからレスポンスを作成して該端末装置に送信することにより、前記複数の端末装置に実装されたWebブラウザを同期動作させるメッセージ中継サーバを備えた前記Webサーバとを有するシステムにおける前記端末装置によるメッセージ送受信方法であって、
該端末装置のWebブラウザに実装された各アプリケーションソフトウェアに対して、ウェブブラザ毎、かつアプリケーションソフトウェア毎に異なるアプリケーションIDを付与する処理と、
各前記アプリケーションIDと、該アプリケーションIDに対応するアプリケーションソフトウェアが取り扱うメッセージのメッセージタイプと、前記メッセージ中継サーバから最後に受信した当該メッセージタイプを有するメッセージの、前記メッセージ中継サーバの前記キューにおける位置を示す位置情報であるポインタとを対応付けて記憶する処理と、
該端末装置のWebブラウザに実装されたいずれかのアプリケーションソフトウェアの動作によりメッセージが生じた際に、該メッセージのメッセージタイプと、該アプリケーションソフトウェアの前記アプリケーションIDと、メッセージ内容とが含まれる前記上り通信メッセージを前記メッセージ中継サーバに送信する処理と、
所定時間間隔で、自身のWebブラウザに実装された各アプリケーションソフトウェアの、メッセージタイプとアプリケーションIDとポインタとを対応付けてなるアプリケーションリクエストが含まれる前記下り通信用リクエストを作成して前記メッセージ中継サーバに送信する処理と、
前記下り通信用リクエストに応じて前記メッセージ中継サーバから返送された、前記キューにおける位置情報とメッセージタイプとメッセージ内容とを対応付けてなる下り通信メッセージを含むレスポンスから、各下り通信メッセージに含まれるメッセージ内容を、該メッセージ内容に対応するメッセージタイプと同一のメッセージタイプを取り扱うアプリケーションソフトウェアに分配すると共に、前記レスポンスから、メッセージタイプ毎の前記位置情報の最大値を取得して、該最大値で、当該メッセージタイプに対応するポインタを更新する処理とを有することを特徴とするメッセージ送受信方法。
A plurality of terminal devices, each of which is a Web browser that is used as a user interface for users to perform a collaborative work, and that includes the one or more application software for performing the collaborative work; ,
A web server connected to the plurality of terminal devices via a network and capable of communicating with each of the web browsers via a WWW (World Wide Web), having a queue and mounted on the terminal device The uplink communication messages generated by the operation of the application software and stored in the queue in the order received are stored in the queue according to the downlink communication request from the terminal device. A message transmission / reception method by the terminal device in a system including the Web server including a message relay server that synchronously operates Web browsers installed in the plurality of terminal devices by creating a response and transmitting the response to the terminal device Because
A process of assigning a different application ID for each web browser and for each application software to each application software installed in the web browser of the terminal device;
Each of the application IDs, a message type of a message handled by application software corresponding to the application ID, and a position of the message having the message type last received from the message relay server in the queue of the message relay server Processing for associating and storing pointers that are position information;
The uplink communication including a message type of the message, the application ID of the application software, and a message content when a message is generated by the operation of any application software installed in the Web browser of the terminal device Processing to send a message to the message relay server;
Creates a downlink communication request including an application request in which a message type, an application ID, and a pointer of each application software installed in its own web browser are associated with each other at a predetermined time interval, and sends it to the message relay server. Processing to send,
A message included in each downlink communication message from a response including a downlink communication message that is returned from the message relay server in response to the downlink communication request and that associates position information in the queue with a message type and message content. The content is distributed to application software that handles the same message type as the message type corresponding to the message content, and the maximum value of the position information for each message type is acquired from the response, and the maximum value A message transmission / reception method comprising: updating a pointer corresponding to a message type.
当該端末装置自身から送信したメッセージを受信すると設定された際に、前記アプリケーションリクエストに含まれるアプリケーションIDを、全てのアプリケーションソフトウェアに付与されることのない特殊IDに変更してから前記下り通信用リクエストを前記メッセージ中継サーバに送信することを特徴とする請求項12に記載の端末装置。   When it is set to receive a message transmitted from the terminal device itself, the application ID included in the application request is changed to a special ID that is not given to all application software, and then the downlink communication request The terminal device according to claim 12, wherein the terminal device is transmitted to the message relay server. 終了されたアプリケーションソフトウェアが再度起動されたときに、該アプリケーションソフトウェアに対して、付与したことの無いアプリケーションIDを付与し直すことを特徴とする請求項12または13に記載のメッセージ送受信方法。   14. The message transmission / reception method according to claim 12, wherein when the terminated application software is restarted, an application ID that has not been assigned is reassigned to the application software. ユーザ同士が協働作業をするためのユーザインタフェースとして利用するWebブラウザであって、前記協働作業を行うための1つ以上のアプリケーションソフトウェアを備えた前記Webブラウザが実装された複数の端末装置とネットワークを介して接続され、WWW(World Wide Web)を介して各前記Webブラウザと通信可能なウェブサーバにメッセージ中継処理を実行させるプログラムであって、
前記メッセージ中継処理は、
端末装置に実装されたWebブラウザ上のアプリケーションソフトウェアの動作により生じ、該端末装置から送信されてきた上り通信メッセージを受信順にキューに記憶する記憶処理と、
端末装置からの下り通信用リクエストに応じて前記キューに記憶された上り通信メッセージからレスポンスを作成して該端末装置に送信することにより、前記複数の端末装置に実装されたWebブラウザを同期動作させる下り通信レスポンス処理とを有し、
前記上り通信メッセージは、該メッセージを発生させたアプリケーションソフトウェアに付与された、Webブラウザ毎かつアプリケーションソフトウェア毎に異なるアプリケーションIDと、該アプリケーションソフトウェアが取り扱うメッセージのメッセージタイプと、メッセージ内容とが含まれており、
前記下り通信用リクエストは、当該端末装置のWebブラウザに実装された各アプリケーションソフトウェアの、メッセージタイプと、アプリケーションIDと、当該端末装置が最後に受信した当該メッセージタイプを有するメッセージの、前記キューにおける位置を示す位置情報であるポインタとを対応付けてなるアプリケーションリクエストが含まれており、
前記記憶処理は、端末装置からの上り通信メッセージと、該上り通信メッセージの受信順に対応した位置情報とを対応付けて前記キューに記憶し、
前記下り通信レスポンス処理は、端末装置から下り通信用リクエストを受信した際に、該下り通信用リクエストに含まれる各アプリケーションリクエストに対して、前記キューから、該アプリケーションリクエストに含まれるポインタが示す位置情報より大きい値を有し、かつ、該アプリケーションリクエストに含まれるメッセージタイプと同一のメッセージタイプに対応する位置情報を選出すると共に、選出したすべての位置情報について、該位置情報と、該位置情報に対応するメッセージタイプと、該位置情報に対応するメッセージ内容とからなる下り通信メッセージを作成して、位置情報の値の小さい順に前記レスポンスとして、リクエスト元の端末装置に送信することを特徴とするプログラム。
A plurality of terminal devices, each of which is a Web browser that is used as a user interface for users to perform a collaborative work, and that includes the one or more application software for performing the collaborative work; A program connected via a network and causing a web server capable of communicating with each of the web browsers via WWW (World Wide Web) to execute message relay processing,
The message relay process is:
A storage process in which the upstream communication messages generated by the operation of the application software on the Web browser installed in the terminal device and transmitted from the terminal device are stored in the queue in the order of reception;
In response to a downlink communication request from a terminal device, a response is generated from the uplink communication message stored in the queue and is transmitted to the terminal device, so that the Web browsers installed in the plurality of terminal devices are operated synchronously. Downlink communication response processing,
The upstream communication message includes an application ID assigned to the application software that generated the message, a different application ID for each Web browser and for each application software, a message type of a message handled by the application software, and a message content. And
The downlink communication request is a position in the queue of a message having a message type, an application ID, and the message type last received by the terminal device of each application software installed in the Web browser of the terminal device. An application request is included that is associated with a pointer that is location information indicating
The storage process associates an upstream communication message from a terminal device with location information corresponding to the reception order of the upstream communication message, stores the information in the queue,
When the downlink communication response process receives a downlink communication request from a terminal device, for each application request included in the downlink communication request, position information indicated by a pointer included in the application request from the queue The position information corresponding to the same message type as the message type included in the application request is selected, and the position information and the position information for all the selected position information are selected. And a message content corresponding to the location information is created and transmitted to the requesting terminal device as the response in ascending order of the location information value.
前記下り通信レスポンス処理は、前記キューから、前記下り通信用リクエストに含まれる各アプリケーションリクエストに対して位置情報を選出する際に、該アプリケーションリクエストに含まれるアプリケーションIDと異なるアプリケーションIDに対応した各位置情報から選出することを特徴とする請求項15に記載のプログラム。   In the downlink communication response process, when selecting position information for each application request included in the downlink communication request from the queue, each position corresponding to an application ID different from the application ID included in the application request The program according to claim 15, wherein the program is selected from information. ユーザ同士が協働作業をするためのユーザインタフェースとして利用するWebブラウザであって、前記協働作業を行うための1つ以上のアプリケーションソフトウェアを備えた前記Webブラウザが実装された複数の端末装置と、
ネットワークを介して前記複数の端末装置と接続され、WWW(World Wide Web)を介して各前記Webブラウザと通信可能なウェブサーバであって、キューを有し、端末装置に実装されたWebブラウザ上のアプリケーションソフトウェアの動作により生じ、該端末装置から送信されてきた上り通信メッセージを受信順に前記キューに記憶すると共に、端末装置からの下り通信用リクエストに応じて前記キューに記憶された上り通信メッセージからレスポンスを作成して該端末装置に送信することにより、前記複数の端末装置に実装されたWebブラウザを同期動作させるメッセージ中継サーバを備えた前記Webサーバとを有するシステムにおける前記端末装置にメッセージ送受信処理を実行させるプログラムであって、
前記メッセージ送受信処理は、
該端末装置のWebブラウザに実装された各アプリケーションソフトウェアに対して、ウェブブラザ毎、かつアプリケーションソフトウェア毎に異なるアプリケーションIDを付与する処理と、
各前記アプリケーションIDと、該アプリケーションIDに対応するアプリケーションソフトウェアが取り扱うメッセージのメッセージタイプと、前記メッセージ中継サーバから最後に受信した当該メッセージタイプを有するメッセージの、前記メッセージ中継サーバの前記キューにおける位置を示す位置情報であるポインタとを対応付けて記憶する処理と、
該端末装置のWebブラウザに実装されたいずれかのアプリケーションソフトウェアの動作によりメッセージが生じた際に、該メッセージのメッセージタイプと、該アプリケーションソフトウェアの前記アプリケーションIDと、メッセージ内容とが含まれる前記上り通信メッセージを前記メッセージ中継サーバに送信する処理と、
所定時間間隔で、自身のWebブラウザに実装された各アプリケーションソフトウェアの、メッセージタイプとアプリケーションIDとポインタとを対応付けてなるアプリケーションリクエストが含まれる前記下り通信用リクエストを作成して前記メッセージ中継サーバに送信する処理と、
前記下り通信用リクエストに応じて前記メッセージ中継サーバから返送された、前記キューにおける位置情報とメッセージタイプとメッセージ内容とを対応付けてなる下り通信メッセージを含むレスポンスから、各下り通信メッセージに含まれるメッセージ内容を、該メッセージ内容に対応するメッセージタイプと同一のメッセージタイプを取り扱うアプリケーションソフトウェアに分配すると共に、前記レスポンスから、メッセージタイプ毎の前記位置情報の最大値を取得して、該最大値で、当該メッセージタイプに対応するポインタを更新する処理とを有することを特徴とするプログラム。
A plurality of terminal devices, each of which is a Web browser that is used as a user interface for users to perform a collaborative work, and that includes the one or more application software for performing the collaborative work; ,
A web server connected to the plurality of terminal devices via a network and capable of communicating with each of the web browsers via a WWW (World Wide Web), having a queue and mounted on the terminal device The uplink communication messages generated by the operation of the application software and stored in the queue in the order received are stored in the queue according to the downlink communication request from the terminal device. Message transmission / reception processing to the terminal device in the system having the Web server provided with the message relay server that synchronously operates Web browsers mounted on the plurality of terminal devices by creating a response and transmitting the response to the terminal device A program for executing
The message transmission / reception process includes:
A process of assigning a different application ID for each web browser and for each application software to each application software installed in the web browser of the terminal device;
Each of the application IDs, a message type of a message handled by application software corresponding to the application ID, and a position of the message having the message type last received from the message relay server in the queue of the message relay server Processing for associating and storing pointers that are position information;
The uplink communication including a message type of the message, the application ID of the application software, and a message content when a message is generated by the operation of any application software installed in the Web browser of the terminal device Processing to send a message to the message relay server;
Creates a downlink communication request including an application request in which a message type, an application ID, and a pointer of each application software installed in its own web browser are associated with each other at a predetermined time interval, and sends it to the message relay server. Processing to send,
A message included in each downlink communication message from a response including a downlink communication message that is returned from the message relay server in response to the downlink communication request and that associates position information in the queue with a message type and message content. The content is distributed to application software that handles the same message type as the message type corresponding to the message content, and the maximum value of the position information for each message type is acquired from the response, and the maximum value And a program for updating a pointer corresponding to the message type.
当該端末装置自身から送信したメッセージを受信すると設定された際に、前記アプリケーションリクエストに含まれるアプリケーションIDを、全てのアプリケーションソフトウェアに対して付与されることのない特殊IDに変更してから前記下り通信用リクエストを前記メッセージ中継サーバに送信することを特徴とする請求項17に記載のプログラム。   When it is set to receive a message transmitted from the terminal device itself, the downlink communication is performed after changing the application ID included in the application request to a special ID that is not given to all application software. The program according to claim 17, wherein the program request is transmitted to the message relay server. 終了されたアプリケーションソフトウェアが再度起動されたときに、該アプリケーションソフトウェアに対して、付与したことの無いアプリケーションIDを付与し直すことを特徴とする請求項17または18に記載のプログラム。   The program according to claim 17 or 18, wherein when the terminated application software is restarted, an application ID that has not been assigned is reassigned to the application software.
JP2009074561A 2009-03-25 2009-03-25 System, message relay server, and terminal device Active JP5206532B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009074561A JP5206532B2 (en) 2009-03-25 2009-03-25 System, message relay server, and terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009074561A JP5206532B2 (en) 2009-03-25 2009-03-25 System, message relay server, and terminal device

Publications (2)

Publication Number Publication Date
JP2010225106A JP2010225106A (en) 2010-10-07
JP5206532B2 true JP5206532B2 (en) 2013-06-12

Family

ID=43042192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009074561A Active JP5206532B2 (en) 2009-03-25 2009-03-25 System, message relay server, and terminal device

Country Status (1)

Country Link
JP (1) JP5206532B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6206184B2 (en) 2011-09-21 2017-10-04 日本電気株式会社 Communication system, terminal, communication method, and communication program
JP6217060B2 (en) * 2012-07-17 2017-10-25 沖電気工業株式会社 Communication apparatus and communication program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07306814A (en) * 1994-05-11 1995-11-21 Mitsubishi Electric Corp Cooperative operation support system
JP3533924B2 (en) * 1998-01-16 2004-06-07 富士ゼロックス株式会社 Semi-synchronous electronic conference device
JP2000347965A (en) * 1999-06-07 2000-12-15 Toshiba Corp System and method for mobile communication
US7966368B2 (en) * 2003-05-02 2011-06-21 Microsoft Corporation Communicating messages over transient connections in a peer-to-peer network

Also Published As

Publication number Publication date
JP2010225106A (en) 2010-10-07

Similar Documents

Publication Publication Date Title
US8862672B2 (en) Content sharing and instant messaging
EP2115976B1 (en) Method and system for resource-based synchronization between endpoints in a web-based real time collaboration
US9578081B2 (en) System and method for providing an actively invalidated client-side network resource cache
JP4317061B2 (en) Presence information sharing method and system
EP1912387A1 (en) Content delivery method, content delivery server, communication terminal apparatus, and content delivery system
KR20080025689A (en) Instant messaging with data sharing
US9736245B2 (en) Methods for synchronizing web sessions and devices thereof
JP2014523568A (en) Efficient conditioning
WO2014045679A1 (en) Management device, message administration method and program
WO2013097740A1 (en) Method and device for prompting dynamic information about contact person
JP2023523228A (en) Information interaction method, device, server, system and storage medium
US20130151638A1 (en) Method, apparatus, and system for transferring file to user of instant message system
CN103095748A (en) Method, server and system capable of sending updated microblog information of friend
CN111130986A (en) Message sending method, device, equipment and storage medium
JP5206532B2 (en) System, message relay server, and terminal device
JP2006243985A (en) Message notification system and method, and server used therefor
JP5493567B2 (en) Message transmission / reception system, message transmission / reception method, message relay server, and message transmission / reception program
CN110620672B (en) Multi-person session data processing method and device, computer equipment and storage medium
CN105933352B (en) Method of data synchronization, client and system between client-based server
JP2003303145A (en) Method and system for providing presence information backup service, information request program, and medium recorded with program
JP6089363B2 (en) Network communication system, server push communication control server, client terminal, server push communication control method, information processing method, and program
KR20130064570A (en) Web-based collaborative real-time editing method and system through adaptive synchronization in faulty networks
CN115051963B (en) Message processing method and device, message queue system and electronic equipment
TW201031150A (en) Method and device of message transmission in instant communication
CN116996336A (en) Information processing method and device for group communication

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130118

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: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130204

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5206532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150