JP5206532B2 - System, message relay server, and terminal device - Google Patents
System, message relay server, and terminal device Download PDFInfo
- 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
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を表示して更新された表データを表示する。
また、特許文献2には、Webブラウザにより表示中のWebページに対してある端末のユーザが行ったスクロールやクリック、テキスト入力などの操作をメッセージとして他の端末に送信し、メッセージを受信した他の端末のWebブラウザはそのメッセージに記述されている内容に従って操作を再現することで、表示中のWebページに対する操作を各端末間で同期させるシステムが開示されている。
Further, in
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ブラウザはメッセージを取得することが可能になる。この手法を、以下ポーリング手法という。
上記ポーリング手法を適用したシステムでは、メッセージ中継サーバが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.
協働作業のセッションに多人数が同時に参加できるシステムの場合、セッション開始当初から全ての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.
以下、図面を参照しながら、本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、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
各端末装置120には、ユーザ同士が協働作業をするためのユーザインタフェースとして利用するWebブラウザ300が実装されており、これらのWebブラウザ300は、例えばHTTPプロトコルを用いてWebサーバ110と通信する。Webサーバ110には、各Webブラウザ300間のメッセージを中継するメッセージ中継サーバ200が設けられている。
Each
図2は、メッセージ中継サーバ200を示す。メッセージ中継サーバ200は、セッション管理部210と、メッセージ受信部220と、送信メッセージ蓄積部230と、キュー記憶部240と、下り通信レスポンス部250を有する。下り通信レスポンス部250は、送信メッセージ選択部252と、メッセージ送信部254を備える。
FIG. 2 shows the
セッション管理部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
図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ブラウザ300の上記各機能ブロックは、一般にHTML(Hyper Text Markup Language)と呼ばれる記述方法で定義され、さらにはJava(登録商標)Script、ActiveX、Flashなどと一般的に呼称されるWebブラウザ上でプログラムを動作させる仕組みを用いて実装される。
Each functional block of the
次いで、メッセージ中継サーバ200とWebブラウザ300の動作と共に、メッセージ中継サーバ200とWebブラウザ300の各機能ブロックの詳細を説明する。
Next, details of the functional blocks of the
図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
First, in the
セッション管理部210は、当該セッションを示すID(セッションID)と、ユーザを識別するためのID(ユーザID)とを関連付けて管理する。なお、セッションIDとユーザIDを関連付けて記憶する手段としては、セッション管理部210自身であってもよいし、メッセージ中継サーバ200に設けられた別の記憶手段や、メッセージ中継サーバ200以外のデータベースサーバといった別のサーバであってもよい。
The
図5は、セッション管理部210により管理されているセッションIDとユーザIDの例を示す。
図示の例では、「User1」と「User2」はセッション「000001」に参加しており、「UserA」、「UserB」、「UserC」はセッション「000002」に参加している。
FIG. 5 shows examples of session IDs and user IDs managed by the
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
図6に示すように、セッション管理部210が作成したキュー242には、Webブラウザ300から上り通信で送信されてきたメッセージ毎に、「シーケンス番号」と、「一時ID」と、「メッセージタイプ」と、「メッセージ内容」とを対応付けて格納するように構成されている。これらの各項目の意味については後述する。
As shown in FIG. 6, in the
セッション管理部210がキューを作成した段階では、まだメッセージが1つも蓄積されていない。その後、協働作業の開始に従って、各端末装置120におけるWebブラウザ300からメッセージがメッセージ中継サーバ200に送信される。メッセージ中継サーバ200において、送信メッセージ蓄積部230は、メッセージ受信部220により受信したメッセージを、キュー記憶部240における当該キューに蓄積させる。
At the stage where the
図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
図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
アプリケーションの処理が開始されると、アプリケーション管理部306は、ユーザID管理部302を用いて、当該Webブラウザ300を利用しているユーザのユーザIDを取得する(S112)。ユーザIDの取得方法は、従来知られている種々の方法を用いることができる。例えば、HTML中に記述されている、ユーザIDを示す文字列を取得する方法や、Webブラウザに一般的に備えられているCookieという仕組みを利用する方法や、ユーザに入力を促すなどの方法が考えられる。
When application processing is started, the
次に、アプリケーション管理部306は、当該Webブラウザ300上で動作するアプリケーション304を初期化すると共に、一時ID管理部308から各アプリケーション304の一時IDを取得する(S114)。
Next, the
一時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
一時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
次に、アプリケーション管理部306は、ステップS114で取得した各一時IDを、該一時IDに対応するアプリケーション304に渡す(S116)。
Next, the
各アプリケーション304は、渡された一時IDを記憶し、自身固有の初期化処理を実施する。初期化完了後、該アプリケーション304は、初期化の完了と、自身が使用するメッセージタイプとをアプリケーション管理部306に通知する。これにより、アプリケーション管理部306は、各アプリケーション304のメッセージタイプを取得する(ステップS118)。
Each
なお、メッセージタイプは、異なるアプリケーション304ではメッセージタイプが異なる条件を満たせば、いかなる文字列であってもよい。
The message type may be any character string as long as the message types satisfy different conditions in
アプリケーション管理部306は、アプリケーション304からメッセージタイプを受け取ると、ポインタ記憶部320に、当該アプリケーション304の一時IDと、メッセージタイプと、初期ポインタとを対応付けて記憶させる(S120)。なお、本実施の形態において、初期ポインタとして、メッセージ中継サーバ200のキューにおける「シーケンス番号」の開始値「0」より1つ小さい「−1」が用いられる。なお、ポインタの意義については後述する。
Upon receiving the message type from the
図9は、ポインタ記憶部320の記憶内容の一例を示す。図示のように、ポインタ記憶部320は、アプリケーション304の一時IDと、メッセージタイプと、ポインタとを対応付けて記憶している。例えば、一時ID「C00001」と、メッセージタイプ「CHAT」と、ポインタ「−1」とが対応付けられている。これは、一時IDが「C00001」であるアプリケーションの使用するメッセージタイプが「CHAT」であり、ポインタが初期ポインタの「−1」であることを示す。
FIG. 9 shows an example of the stored contents of the
同様に、一時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
まず、上り通信について説明する。
図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
アプリケーション管理部306は、アプリケーション304からのエコーバックフラグを確認し、その値が真であるときには、当該メッセージに対応する一時IDを、アプリケーション304の一時IDから、一時ID管理部308が生成しない特殊ID(例えば「0」)に変更して、上り通信部310を介して該メッセージを送信する(S134:Yes、S136、S138)。
The
一方、アプリケーション304からのエコーバックフラグの値が偽であるときには、アプリケーション管理部306は、当該アプリケーション304の一時IDでメッセージを送信する(S134:No、S138)。
On the other hand, when the value of the echo back flag from the
なお、ステップS138において送信されるメッセージは、ユーザID管理部302から取得されたユーザIDと、一時ID(エコーバックフラグが偽の場合は特殊ID)と、メッセージタイプと、メッセージ内容とからなる。上り通信部310は、上り通信用HTTPリクエストによりメッセージを送信する。
The message transmitted in step S138 includes the user ID acquired from the user
図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
図12は、上り通信時におけるメッセージ中継サーバ200の処理を示すフローチャートである。メッセージ中継サーバ200において、メッセージ受信部220により、上り通信用HTTPリクエストを受信する(S140)。メッセージ受信部220は、受信したリクエストを送信メッセージ蓄積部230に出力する。
FIG. 12 is a flowchart showing processing of the
送信メッセージ蓄積部230は、渡されたリクエストからユーザID、メッセージタイプ、一時ID(特殊IDを含む)を取り出すと共に、セッション管理部210に問合せをし、該ユーザIDに対応するセッションIDを取得する(S142、S144)。そして、送信メッセージ蓄積部230は、キュー記憶部240における、該セッションIDに対応するキューを特定し、該キューのシーケンス番号の最大値を取得する(S146、S148)。
The transmission
送信メッセージ蓄積部230は、取得したシーケンス番号に最大値に1を加算して、加算後のシーケンス番号で該メッセージをキューに追加する(S152)。具体的には、加算後のシーケンス番号と、一時IDと、メッセージタイプと、メッセージ内容とを対応付けてキューに保存する。
The transmission
次いで、下り通信について説明する。
図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
アプリケーション管理部306から下り通信の開始が指示されると、下りタイミング管理部314は、ポインタ記憶部320に登録されている各メッセージタイプとポインタと一時IDを取得する(S152)。下りタイミング管理部314は、ステップS154で取得した各メッセージタイプとポインタと一時IDを下り通信部312に出力して、下り通信用のHTTPリクエストを送信させる(S154)。
When the
図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
メッセージ中継サーバ200は、下り通信用のHTTPリクエストに応じて、蓄積しているメッセージのうちから送信すべきメッセージを選出して、レスポンスとしてリクエストの送信元のWebブラウザ300に送信する。メッセージ中継サーバ200によるメッセージの選出処理については、後にメッセージ中継サーバ200の処理を説明する際に詳細に説明する。ここで図15を参照してメッセージ中継サーバ200からのレスポンスの一例を説明する。
In response to the HTTP request for downlink communication, the
図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
図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
In the
メッセージ分配部316は、下り通信部312から受け取った各メッセージについて、受信順(すなわちレスポンス中の配列順)に、ポインタ記憶部320に記憶された、該メッセージのメッセージタイプと同一のメッセージタイプに対応するポインタの値を、そのメッセージのシーケンス番号に書き換える(S160)。また、メッセージ分配部316は、ポインタ記憶部320から、上記ポインタと同じ行に記憶された一時IDを取得して、該一時IDを有するアプリケーション304に当該メッセージの内容を出力する(S162)。各アプリケーション304は、メッセージの内容に従ってそれぞれ処理を実行する。
For each message received from the
ステップS158における書換えがなされた後、図9に示すポインタ記憶部320の記憶内容は、図16に示すようになる。図16に示すように、メッセージタイプ「CHAT」と一時ID「C0001」に対応するポインタが「2」になっており、メッセージタイプ「DOC」と一時ID「C0002」に対応するポインタが「1」になっている。
After rewriting in step S158, the stored contents of the
その後、一定時間の経過後に、ステップ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
図17は、下り通信時にメッセージ中継サーバ200の処理を示すフローチャートである。メッセージ中継サーバ200において、メッセージ送信部254は、上述した下り通信用のHTTPリクエストを受信すると、リクエストからユーザIDと、メッセージタイプと、一時IDと、ポインタとを取り出して送信メッセージ選択部252に渡す(S170、S172)。以下、下り通信用のHTTPリクエスト中のメッセージタイプ、一時ID、ポインタを夫々リクエストメッセージタイプ、リクエスト一時ID、リクエストポインタと呼ぶ。
FIG. 17 is a flowchart showing processing of the
送信メッセージ選択部252は、セッション管理部210に問い合わせをし、メッセージ送信部254から受け取ったユーザIDに対応するセッションIDを取得する(S174)。そして、各リクエストポインタのうちの最小値を取得ポインタとして、該取得ポインタより大きいシーケンス番号に対応するメッセージが、ステップS174で取得したセッションIDに対応するキューにあるか否かを確認する(S176、S178)。
The transmission
該当するメッセージがある場合、送信メッセージ選択部252は、取得ポインタに1を加算して、加算後の取得ポインタと同じシーケンス番号のメッセージを取得する(S178:Yes、S180、S182)。
When there is a corresponding message, the transmission
送信メッセージ選択部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
送信メッセージ選択部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
処理が進み、キューには、取得ポインタより大きいシーケンス番号に対応するメッセージが無くなると(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
なお、図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
このように、本実施の形態のシステム100において、各Webブラウザ300は、自身に実装された各アプリケーション304を、Webブラウザ毎およびアプリケーション毎に異なる一時IDで管理すると共に、該アプリケーション304が、メッセージ中継サーバ200のキューに格納されたメッセージのうちのどのメッセージまで受信したかを示すポインタ(すなわち最後に受信したメッセージのシーケンス番号)を管理する。そして、上がり通信でメッセージ中継サーバ200にメッセージを送信する際に、メッセージ内容と共に、該メッセージを送信するアプリケーション304の一時ID、メッセージタイプも送信する。
As described above, in the
メッセージ中継サーバ200は、Webブラウザ300ブラウザからの上がり通信でメッセージを受信すると、セッション毎に設けられたキューに、受信順に1つずつインクリメントするシーケンス番号と、一時IDと、メッセージタイプと、メッセージ内容とを対応付けて蓄積する。
When the
そして、下り通信に際して、Webブラウザ300は、自身に実装されたすべてのアプリケーション304について、メッセージタイプ、一時ID、ポインタをメッセージ中継サーバ200に送信して下り通信用のHTTPリクエストをする。ここで、1組の「メッセージタイプ、一時ID、ポインタ」をアプリケーションリクエストと呼ぶ。
In downlink communication, the
メッセージ中継サーバ200は、下り通信用のHTTPリクエストを受信すると、各アプリケーションリクエストについて、キューから、該アプリケーションリクエストに含まれるポインタより大きいシーケンス番号を有するメッセージのうちの、該アプリケーションリクエストのメッセージタイプと同一のメッセージタイプを有し、かつアプリケーションリクエストの一時IDと異なるイメージを選出して、レスポンスを作成する。
When the
また、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
By doing so, the
Further, when the
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
また、メッセージ中継サーバ200のキュー記憶部240において、各キューのメッセージタイプ毎のシーケンス番号の最大値を別途保管しておき、下り通信時に、この最大値とリクエストポインタとを比較して、どのメッセージタイプのメッセージが返信対象になるかの判別をより速くできるようにしてもよい。
Further, in the
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
Claims (19)
ネットワークを介して前記複数の端末装置と接続され、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管理部が付与することのない特殊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.
端末装置に実装された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.
ネットワークを介して前記複数の端末装置と接続され、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.
端末装置に実装された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.
ネットワークを介して前記複数の端末装置と接続され、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.
前記メッセージ中継処理は、
端末装置に実装された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.
ネットワークを介して前記複数の端末装置と接続され、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.
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)
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)
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 |
-
2009
- 2009-03-25 JP JP2009074561A patent/JP5206532B2/en active Active
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 |