JP2010055560A - Intermediate system and event-driven server extension program - Google Patents
Intermediate system and event-driven server extension program Download PDFInfo
- Publication number
- JP2010055560A JP2010055560A JP2008222618A JP2008222618A JP2010055560A JP 2010055560 A JP2010055560 A JP 2010055560A JP 2008222618 A JP2008222618 A JP 2008222618A JP 2008222618 A JP2008222618 A JP 2008222618A JP 2010055560 A JP2010055560 A JP 2010055560A
- Authority
- JP
- Japan
- Prior art keywords
- response
- server
- function
- content
- communication unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】サーバプッシュによる自動更新機能をもたない既成のWebアプリケーションを、そのソースコードに変更を加えずに、サーバプッシュを利用した自動更新を行うWebアプリケーションに変更することのできる中間システムおよびイベント駆動型サーバ拡張プログラムを提供する。
【解決手段】中間システム30は、ブラウザにより実現されるクライアント20との間の通信において、既定リクエストを受信すると、受信したリクエストに対して、サーバプッシュによるデータ要求の発行を促す内容を記述したレスポンスを送信し、クライアント20からレスポンスの内容に従うLongPollリクエストを受信して、クライアント20に対し、サーバプッシュによる更新通知機能を提供する。
【選択図】 図1An intermediate system and event capable of changing an existing Web application that does not have an automatic update function by server push into a Web application that performs automatic update using server push without changing the source code A driven server expansion program is provided.
When an intermediate system receives a default request in communication with a client realized by a browser, the intermediate system responds to the received request with a description describing the content that prompts the server to issue a data request , And a LongPoll request according to the response content is received from the client 20, and an update notification function by server push is provided to the client 20.
[Selection] Figure 1
Description
本発明は、情報提供サーバと、このサーバに情報提供を要求する情報表示クライアントとの間に介在される中間システム、および同システムに適用されるイベント駆動型サーバ拡張プログラムに関する。 The present invention relates to an intermediate system interposed between an information providing server and an information display client that requests the server to provide information, and an event-driven server expansion program applied to the system.
近年、様々な情報がWWW(Wor1d Wide Web)を介して提供されている。WWWはサーバ(情報提供サーバ)とクライアント(情報表示クライアント)から構成されるインターネットを利用した分散型の情報提供/情報表示(情報閲覧)システムである。一般に、サーバはページと呼ばれる文書単位でクライアントヘ情報を提供する。このページはHTML(HyperText Markup Language)と呼ばれる形式のフォーマットで記述されているファイルである。クライアントは通常、ブラウザと呼ばれる情報表示(情報閲覧)用のソフトウェアを用いて実現されており、サーバにアクセスし、画像や音声などを含む文書を表示することができる。 In recent years, various types of information have been provided via the WWW (Wor1d Wide Web). The WWW is a distributed information provision / information display (information browsing) system using the Internet, which is composed of a server (information providing server) and a client (information display client). In general, a server provides information to clients in units of documents called pages. This page is a file described in a format called HTML (HyperText Markup Language). The client is usually realized by using information display (information browsing) software called a browser, and can access a server and display a document including images and sounds.
WWWの一般的な使われ方は、ブラウザからサーバに表示したいページのアドレス(URLと呼ばれる)を要求し、サーバはそのアドレスに対応するページをクライアントに返すというものである。ここで注意しなければならないのは、ブラウザから明示的な要求がない限り、サーバは何もしないということである。これは、サーバに蓄えてあるページが変更されても、ブラウザからは変更を即時に知ることができないとことを意味する。このようなブラウザを起点とした通信形態をプル型通信と称している。 A general usage of the WWW is to request an address (called URL) of a page to be displayed on a server from a browser, and the server returns a page corresponding to the address to the client. Note that the server does nothing unless there is an explicit request from the browser. This means that even if a page stored in the server is changed, the change cannot be immediately known from the browser. A communication form starting from such a browser is referred to as pull-type communication.
サーバにあるページが更新されたことをブラウザ側で迅速に知るためには、ブラウザ側で常にサーバのページが更新されたかどうかを定期的にアクセスする必要がある。サーバ側のページが時々刻々変更されるようなページをブラウザで表示している場合、サーバ側でページが更新されてもブラウザの画面は変わらない。サーバ側で更新したページをブラウザ側の画面に反映させるためには、ユーザが明示的に、ブラウザ(の情報表示画面)に付加されているリロードボタンなどを押す(リロードを行う)ことで、サーバに明示的に再アクセスしなければならない。 In order to quickly know on the browser side that a page on the server has been updated, it is necessary to periodically access whether the server page has been updated on the browser side. If a browser displays a page that changes from time to time on the server side, the browser screen will not change even if the page is updated on the server side. In order for the page updated on the server side to be reflected in the screen on the browser side, the user explicitly presses (reloads) the reload button or the like added to the browser (information display screen). Must be explicitly re-accessed.
このようなプル型通信の問題を解決するための技術として、Cometを利用したWebアプリケーション技術が存在する。Cometは、Webアプリケーション上でサーバプッシュを実現する。上記した一般的なクライアントプルがブラウザを起点にサーバ・クライアント間のやりとりを行うのに対し、サーバプッシュではサーバを起点にサーバ・クライアント間のやりとりを行う。このCometを利用したWebアプリケーションでは、クライアントからの要求(リクエスト)に対して、サーバが応答(レスポンス)を保留し、サーバ上で何らかのイベントが発生したときにレスポンスを返す。これによりクライアントからサーバへリクエストすることなくサーバで発生したイベントを即時にクライアントに返信することができる。 As a technique for solving such a pull-type communication problem, there is a Web application technique using Comet. Comet implements server push on a Web application. The general client pull described above performs server-client communication starting from the browser, whereas server push performs server-client communication starting from the server. In a Web application using this Comet, the server suspends a response (response) to a request (request) from a client, and returns a response when some event occurs on the server. As a result, an event generated in the server can be immediately returned to the client without making a request from the client to the server.
Webサーバ上のデータが更新され、ブラウザがWebサーバ上の最新のデータを得る方法には、Cometを利用して、Webサーバがブラウザに最新のデータをプッシュする方法と、ブラウザがWebサーバのデータをリロード(再読込)する方法がある。 Data on the web server is updated, and the browser obtains the latest data on the web server by using Comet to push the latest data to the browser, and the browser uses the data on the web server. There is a method of reloading (rereading).
ブラウザがリロードをする方法は、HTMLファイルにリロードを行うためのタグやJava(登録商標)Scriptを記述する方法と、上述したようにユーザがブラウザのリロードボタンを押下する方法がある。ブラウザがリロードする方法には、最新のデータをプッシュする方法よりも通信量が多くなるという課題と、Webサーバの情報が更新されてからブラウザが最新情報を得るまでにタイムラグがあるという課題がある。 There are two methods for reloading by the browser: a method for describing a tag or Java (registered trademark) script for reloading an HTML file, and a method for the user pressing the reload button of the browser as described above. The method of reloading the browser has a problem that the amount of communication is larger than the method of pushing the latest data, and there is a problem that there is a time lag until the browser obtains the latest information after the Web server information is updated. .
サーバプッシュによる自動更新機能をもたない既成のWebアプリケーションを、Cometによるサーバプッシュを利用した自動更新を行うWebアプリケーションに変更するには、そのソースコードに変更を加える必要があるという問題があった。 In order to change an existing web application that does not have an automatic update function by server push to a web application that performs automatic update using server push by Comet, there is a problem that the source code needs to be changed. .
上記したWebアプリケーションの関連技術として、従来では、クライアントにおける初回操作の後、クライアント側の操作とは無関係に、一定間隔でリクエストデータの送受信を繰り返すことでセッションの処理を行うセッション管理技術が存在した。
上述したように、サーバプッシュによる自動更新機能をもたない既成のWebアプリケーションを、Cometによるサーバプッシュを利用した自動更新を行うWebアプリケーションに変更するには、そのソースコードに変更を加える必要があるという問題があった。 As described above, in order to change an existing Web application that does not have an automatic update function by server push to a Web application that performs automatic update using server push by Comet, it is necessary to change the source code. There was a problem.
本発明は上記問題に鑑みなされたもので、サーバプッシュによる自動更新機能をもたない既成のWebアプリケーションを、そのソースコードに変更を加えずに、サーバプッシュを利用した自動更新を行うWebアプリケーションに変更することのできる中間システムおよびイベント駆動型サーバ拡張プログラムを提供することを目的とする。 The present invention has been made in view of the above problem, and an existing Web application that does not have an automatic update function by server push is changed to a Web application that performs automatic update using server push without changing the source code. It is an object to provide an intermediate system and an event-driven server extension program that can be changed.
本発明は、サーバプッシュによる更新通知機能をもたない情報提供サーバと、このサーバに情報提供を要求する情報表示クライアントとの間に介在される中間システムであって、前記中間システムは、前記クライアントとの間で通信を行うサーバ機能通信部と、前記サーバとの間で通信を行うブラウザ機能通信部と、前記ブラウザ機能通信部から受けたレスポンスを解析し編集して前記サーバ機能通信部に渡すレスポンス解析・編集機能部とを具備し、前記サーバ機能通信部は、前記クライアントから受信したサーバプッシュに関係しない既定リクエストに対して、サーバプッシュによるデータ要求の発行を促す内容を記述したレスポンスを送信し、前記クライアントから前記レスポンスの内容に従うサーバプッシュを利用する内容を記述した特定リクエストを受信する通信手段を具備し、前記ブラウザ機能通信部は、前記サーバ機能通信部が受信した既定リクエストを保存し、当該既定リクエストにより前記サーバに対してポーリング処理を実行する通信手段を具備し、前記レスポンス解析・編集機能部は、前記サーバ機能通信部が受信した特定リクエストに従い、前記ブラウザ機能通信部に対して前記ポーリング処理を実行させ、当該処理において、ポーリングの周期毎に、受信したレスポンスを保存し、前回受信したレスポンスの内容と今回受信したレスポンスの内容とを比較して、レスポンスの内容が更新されたか否かを監視し、レスポンスの内容が更新されたとき、当該レスポンスの内容を編集し、編集したレスポンスを前記サーバ機能通信部からプッシュさせる処理手段を具備して、前記クライアントに対し、サーバプッシュによる更新通知機能を提供することを特徴とする。 The present invention is an intermediate system interposed between an information providing server that does not have an update notification function by server push and an information display client that requests the server to provide information, and the intermediate system includes the client A server function communication unit that performs communication with the server, a browser function communication unit that performs communication with the server, and analyzes and edits a response received from the browser function communication unit and passes the response to the server function communication unit A response analysis / editing function unit, and the server function communication unit transmits a response describing a content requesting the issuance of a data request by the server push to a default request not related to the server push received from the client Describe the contents to use the server push according to the contents of the response from the client. Comprising a communication means for receiving a specific request, wherein the browser function communication section comprises a communication means for storing a default request received by the server function communication section and executing a polling process on the server by the default request. Then, the response analysis / editing function unit causes the browser function communication unit to execute the polling process in accordance with the specific request received by the server function communication unit. Save the response, compare the content of the response received last time with the content of the response received this time, and monitor whether the response content has been updated. When the response content is updated, the response content Processing to edit the response and push the edited response from the server function communication unit Comprises a, to said client, and providing an update notification function by the server push.
また、本発明は、サーバプッシュによる更新通知機能をもたない情報提供サーバと、このサーバに情報提供を要求する情報表示クライアントとの間に介在される中間システムであって、前記中間システムは、前記クライアントとの間で通信を行うサーバ機能通信部と、前記サーバとの間で通信を行うブラウザ機能通信部と、前記ブラウザ機能通信部から受けたレスポンスを解析し編集して前記サーバ機能通信部に渡すレスポンス解析・編集機能部とを具備し、前記クライアントは、前記サーバ機能通信部からレスポンスの更新が通知されたとき、サーバプッシュに関係しない既定リクエストを前記サーバ機能通信部に送信し、前記サーバ機能通信部から更新されたレスポンスを受けたとき、当該レスポンスの内容に従いサーバプッシュを利用する内容を記述した特定レスポンスを前記サーバ機能通信部に送信する通信手段を具備し、前記ブラウザ機能通信部は、前記サーバ機能通信部が受信した既定リクエストを保存し、当該既定リクエストにより前記サーバに対してポーリング処理を実行する通信手段を具備し、前記レスポンス解析・編集機能部は、前記サーバ機能通信部が受信した前記特定レスポンスに従い、前記ブラウザ機能通信部に対して前記ポーリング処理を実行させ、当該処理の周期毎に、受信したレスポンスを保存し、前回受信したレスポンスの内容と今回受信したレスポンスの内容とを比較して、レスポンスの内容が更新されたか否かを監視し、レスポンスの内容が更新されたとき、当該レスポンスの内容を編集し、レスポンスの内容が更新されたことを前記サーバ機能通信部から前記クライアントに通知させた後、前記既定リクエストの受信を待って、前記編集したレスポンスを前記サーバ機能通信部からプッシュさせる一連の処理手段を具備して、前記クライアントに対し、サーバプッシュによる表示の更新処理を行うことを特徴とする。 The present invention is an intermediate system interposed between an information providing server that does not have an update notification function by server push and an information display client that requests the server to provide information, and the intermediate system includes: A server function communication unit that communicates with the client; a browser function communication unit that communicates with the server; and a server function communication unit that analyzes and edits a response received from the browser function communication unit. A response analysis / editing function unit to be passed to the client, and when the client is notified of a response update from the server function communication unit, the client transmits a default request not related to server push to the server function communication unit, When an updated response is received from the server function communication unit, the server push is used according to the content of the response. The browser function communication unit stores a default request received by the server function communication unit, and transmits the specified response to the server by the default request. Communication means for executing a polling process for the response analysis and editing function unit, according to the specific response received by the server function communication unit, the browser function communication unit to execute the polling process, At each processing cycle, the received response is saved, the content of the response received last time is compared with the content of the response received this time, and it is monitored whether the content of the response has been updated. When updated, the content of the response is edited to confirm that the response content has been updated. After the function communication unit notifies the client, it waits for the reception of the default request, and includes a series of processing means for pushing the edited response from the server function communication unit. The display updating process is performed by the above.
また、本発明は、サーバプッシュによる自動更新機能をもたないWebアプリケーションにより構成された情報提供サーバをイベント駆動型サーバとして機能させるためのサーバ拡張プログラムであって、ブラウザからサーバプッシュに関係しない既定リクエストを受信し、当該既定リクエストを保存する機能と、前記ブラウザから受信した前記既定リクエストに対して、サーバプッシュによるデータ要求の発行を促す内容を記述したレスポンスを前記ブラウザに送信する機能と、前記ブラウザから前記レスポンスの内容に従うサーバプッシュを利用する内容を記述した特定リクエストを受信して、前記保存した既定リクエストによりポーリング処理を実行し、当該処理の周期毎に、受信したレスポンスを保存し、前回受信したレスポンスの内容と今回受信したレスポンスの内容とを比較して、レスポンスの内容を監視し、サーバ上でイベントが起こったか否かを周期的に確認する機能と、前記レスポンスの内容が更新されたとき、当該レスポンスの内容を編集し、リロードを無効化するための内容を記述した編集後のレスポンスを前記ブラウザにプッシュする機能とをコンピュータに実現させることを特徴とする。 Further, the present invention is a server expansion program for causing an information providing server configured by a Web application not having an automatic update function by server push to function as an event-driven server, and is a default program not related to server push from a browser. A function for receiving a request and storing the default request; a function for sending a response describing a content requesting issuance of a data request by server push to the default request received from the browser; Receive a specific request that describes the content of using the server push according to the content of the response from the browser, execute the polling process by the stored default request, save the received response for each cycle of the process, Of the received response The content of the response received this time, the response content is monitored, the function periodically checks whether an event has occurred on the server, and when the response content is updated, The computer is realized with the function of editing the response content and pushing the edited response describing the content for invalidating the reload to the browser.
また、本発明は、サーバプッシュによる自動更新機能をもたないWebアプリケーションにより構成された情報提供サーバをイベント駆動型サーバとして機能させるためのサーバ拡張プログラムであって、ブラウザから受信したサーバプッシュに関係しない既定リクエストを受信し、当該既定リクエストを保存する機能と、サーバから受信したレスポンスを保存手段に保存する機能と、前記既定リクエストを前記サーバに送信して、前記サーバからレスポンスを受信し、受信したレスポンスの内容を前記保存手段の保存内容と比較する機能と、前記レスポンスの内容の比較の結果、レスポンスの内容が異なるとき、前記保存手段の内容を空データにし、前記ブラウザにレスポンスの内容が更新されたことを通知して、前記ブラウザから既定リクエストを受信する機能と、前記レスポンスの内容の比較の結果、前記保存手段の保存内容が空データであるとき、前記受信したレスポンスを前記保存手段に保存して、前記受信したレスポンスの内容を編集し、サーバプッシュによるデータ要求の発行を促す内容を記述した編集後のレスポンスを前記ブラウザに送信して、前記ブラウザから前記編集後のレスポンスの内容に従うサーバプッシュを利用する内容を記述した特定リクエストを受信する機能と、前記レスポンスの内容の比較の結果、レスポンスの内容が等しいとき、前記特定リクエストに従い、前記保存した既定リクエストによりポーリング処理を実行し、当該処理の周期毎に前記レスポンスの内容の比較機能による処理を実行して、サーバ上でイベントが起こったか否かを周期的に確認する機能とをコンピュータに実現させることを特徴とする。 In addition, the present invention is a server expansion program for causing an information providing server configured by a Web application not having an automatic update function by server push to function as an event-driven server, and relates to a server push received from a browser. Receive the default request, save the default request, save the response received from the server in the storage means, send the default request to the server, receive the response from the server, receive When the response contents differ as a result of comparing the response contents with the saved contents of the saving means and the response contents, the contents of the saving means are set to empty data, and the response contents are displayed in the browser. Notify that it has been updated, and use the default As a result of comparison between the function of receiving an est and the content of the response, when the storage content of the storage unit is empty data, the received response is stored in the storage unit and the content of the received response is edited And sending a response after editing describing the content prompting the issuance of a data request by server push to the browser, and sending a specific request describing the content using the server push according to the content of the edited response from the browser. When the content of the response is the same as a result of the comparison between the function to receive and the content of the response, the polling process is executed by the stored default request according to the specific request, and the response content is compared at each cycle of the process Execute processing by function and cycle whether an event has occurred on the server Characterized in that to realize the function of confirming to the computer.
本発明によれば、サーバプッシュによる自動更新機能をもたない既成のWebアプリケーションを、そのソースコードに変更を加えずに、サーバプッシュを利用した自動更新を行うWebアプリケーションに変更することができる。 According to the present invention, an existing Web application that does not have an automatic update function by server push can be changed to a Web application that performs automatic update using server push without changing the source code.
以下図面を参照して本発明の実施形態を説明する。なお、この実施形態では、利用するComet機能として、クライアント側がデータ取得の都度、再接続する、ロングポーリングと称される機能を利用し、サーバプッシュを行うためのリクエスト(サーバプッシュを利用する内容を記述した特定リクエスト)をLongPollリクエストと称し、サーバプッシュを行うことを目的としないリクエスト(サーバプッシュに関係しない既定リクエスト)と区別する。 Embodiments of the present invention will be described below with reference to the drawings. In this embodiment, as a Comet function to be used, a request for performing a server push using a function called long polling, in which the client side reconnects each time data is acquired (contents using the server push are defined). The described specific request) is referred to as a LongPoll request, and is distinguished from a request not intended to perform server push (a default request not related to server push).
本発明の第1実施形態に係る中間システムの構成を図1に示す。
図1に示すように、本発明の第1実施形態に係る中間システム30は、サーバプッシュによる更新通知機能をもたない情報提供サーバ(以下、単にサーバと称す)10と、このサーバ10に情報提供を要求する情報表示クライアント(以下、単にクライアントと称す)20との間に介在される。サーバ10はサーバプッシュによる更新通知機能をもたない既成のWebアプリケーションにより構成され、リクエストの受信機能とレスポンスの送信機能を実現するサーバ通信部11を備える。クライアント20はWebページの閲覧機能を実現するブラウザにより構成され、リクエストの送信機能とレスポンスの受信機能を実現するクライアント通信部21を備える。
The configuration of the intermediate system according to the first embodiment of the present invention is shown in FIG.
As shown in FIG. 1, an
中間システム30は、サーバ通信部11との間で通信を行うブラウザ機能通信部31と、クライアント通信部21との間で通信を行うサーバ機能通信部32と、ブラウザ機能通信部31から受けたレスポンスを解析し編集してサーバ機能通信部32に渡すレスポンス解析・編集機能部35とを具備する。
The
ブラウザ機能通信部31は、サーバ機能通信部32が受信したリクエスト(既定リクエスト)を保存するリクエスト保存部33を備え、リクエスト保存部33からリクエストの内容を取り出して、サーバ通信部11に送信し、サーバ通信部11からレスポンスを受信する機能と、後述するレスポンス比較部にレスポンスの内容を渡す機能を有して、リクエスト保存部33から取り出したリクエストにより、サーバ通信部11に対して定期的なリロードの繰り返しによるポーリング処理を実行する処理機能を実現している。
The browser
サーバ機能通信部32は、クライアント通信部21から受信したリクエスト(既定リクエスト)に対して、サーバプッシュによるデータ要求の発行を促す内容を記述したレスポンスを送信し、クライアント通信部21から上記レスポンスの内容に従うLongPollリクエストを受信する通信手段を具備する。このサーバ機能通信部32は、クライアント通信部21からリクエストを受信する機能と、リクエスト保存部33にリクエストの内容を渡す機能と、クライアント通信部21に後述するプッシュデータ表示機能を有するレスポンスを送信する機能と、後述するレスポンス編集部からレスポンスの内容を受け取る機能と、クライアント通信部21にレスポンスをプッシュする機能を有する。ここで上記したプッシュデータ表示機能を有するレスポンスを送信する機能は、上記記述内容のレスポンスをクライアント通信部21が受信したとき、クライアント通信部21からサーバ機能通信部32にLongPollリクエストを送信させるためのレスポンスの送信機能と、サーバ機能通信部32からクライアント機能通信部31にデータがプッシュされて、ブラウザにデータが表示されたとき、クライアント通信部21からサーバ機能通信部32にLongPollリクエストを送信させるためのレスポンスの送信機能である。
In response to the request (default request) received from the client communication unit 21, the server function communication unit 32 transmits a response describing the content that prompts the user to issue a data request by server push. The content of the response is transmitted from the client communication unit 21. Communication means for receiving a LongPoll request according to the above. The server function communication unit 32 transmits a response having a function of receiving a request from the client communication unit 21, a function of passing the request contents to the
リクエスト保存部33は、サーバ機能通信部32がリクエストを受信する都度、そのリクエストの内容を受け取り、次に受信したリクエストの内容と比較するまで保存する機能と、ブラウザ機能通信部31にリクエストの内容を渡す機能を有する。
Each time the server function communication unit 32 receives a request, the
レスポンス解析・編集機能部35は、レスポンス保存部36と、レスポンス比較部37と、レスポンス編集部38とを具備して、サーバ機能通信部32が受信したLongPollリクエストに従い、ブラウザ機能通信部31に対して、サーバ10上でイベントが起こった(発生した)か否かを周期的に確認させる、所謂、ポーリング処理を実行し、レスポンスの内容が更新されたことを検出して、当該レスポンスの内容を編集し、編集したレスポンスをサーバ機能通信部32からプッシュさせる処理機能を実現している。
The response analysis /
レスポンス保存部36は、レスポンス比較部37からレスポンスの内容を受け取り、保存する機能と、保存したレスポンスの内容をレスポンス比較部37に渡す機能を有して、ブラウザ機能通信部31がポーリング処理において受信したレスポンスを受信周期に合わせて一定期間保存し、レスポンス比較部37に渡す機能を有する。ただし、レスポンスの内容を保存していない場合、レスポンス比較部37に空のデータを渡す。
The
レスポンス比較部37は、ブラウザ機能通信部31からレスポンスの内容を受け取る機能と、受け取ったレスポンスの内容をレスポンス保存部36に渡す機能と、レスポンス保存部36からレスポンスを取り出す機能と、今回受信したレスポンスとレスポンス保存部36に保存されている前回受信したレスポンスとの内容を比較する機能と、レスポンスの内容をレスポンス編集部38に渡す機能を有して、ブラウザ機能通信部31がレスポンスを受信する都度、ブラウザ機能通信部31が今回受信したレスポンスの内容と、レスポンス保存部36に保存された、前回受信したレスポンスの内容とを比較し、レスポンスの内容が更新されたか否かを監視して、レスポンスの内容が更新されたとき、当該更新されたレスポンスの内容をレスポンス編集部38に渡す処理機能を実現している。
The response comparison unit 37 has a function of receiving the response content from the browser
レスポンス編集部38は、レスポンス比較部37からレスポンスの内容を受け取る機能と、レスポンスの内容を編集する機能と、レスポンスの内容をサーバ機能通信部11に渡す機能を有して、レスポンス比較部37から受けた、更新されたレスポンスの内容を編集し、編集したレスポンスをサーバ機能通信部32に渡し、サーバ機能通信部32からプッシュさせる更新通知の処理機能を実現している。ただし、この第1実施形態での編集内容は、クライアント通信部21が定期的なリロードを実行しないようにすることである。
The
本発明の第1実施形態に係る中間システム30を含む通信システム全体の通信手順を図2に示し、システム全体の処理手順を図3に示している。
A communication procedure of the entire communication system including the
ここで上記図1乃至図3を参照して本発明の第1実施形態に係る中間システムの動作並びにイベント駆動型サーバ拡張プログラムの処理手順について説明する。 Here, the operation of the intermediate system and the processing procedure of the event-driven server extension program according to the first embodiment of the present invention will be described with reference to FIGS.
まず、図2に示す通信シーケンスを参照して、本発明の第1実施形態に係る中間システム30の概略的な動作を説明する。中間システム30は、ブラウザにより実現されるクライアント20との間の通信において、リクエスト(既定リクエスト)を受信すると、受信したリクエストに対して、サーバプッシュによるデータ要求の発行を促す内容を記述したレスポンスを送信し、クライアント(ブラウザ)20から上記レスポンスの内容に従うLongPollリクエストを受信する。一方、既成Webアプリケーションにより実現されるサーバ10との間の通信に於いて、クライアント20から受信したリクエスト(既定リクエスト)を保存し、このリクエストを用いて定期的なリロードの繰り返しによるポーリング処理を実行する。このポーリング処理において、ループの周期毎に、受信したレスポンスを保存し、前回受信したレスポンスの内容と今回受信したレスポンスの内容とを比較して、レスポンスの内容が更新されたか否かを監視する。レスポンスの内容が更新されたことを検知すると、当該レスポンスの内容を編集し、編集したレスポンスをクライアント(ブラウザ)20にプッシュする。クライアント(ブラウザ)20は、更新内容を受信し表示すると、LongPollリクエストを中間システム30に送信する。中間システム30はLongPollリクエストを受信すると、上記したポーリング処理によるレスポンスの内容が更新されたか否かの監視を行う。このようにして、クライアントに対し、サーバプッシュによる更新通知機能を提供する。
First, the schematic operation of the
続いて図3に示すフローチャートを参照して、本発明の第1実施形態に係る中間システム30の動作を説明する。図3に示す処理はサーバ機能通信部62がクライアント通信部51からリクエスト(既定リクエスト)を受信することによって実行される。
Next, the operation of the
ステップS11において、サーバ機能通信部32は、クライアント通信部21からリクエスト(既定リクエスト)を受信し、受信したリクエストの内容をリクエスト保存部33に渡す。
In step S <b> 11, the server function communication unit 32 receives a request (default request) from the client communication unit 21, and passes the content of the received request to the
ステップS12において、サーバ機能通信部32は、上記受信したリクエストに対し、プッシュデータ表示機能を有するレスポンス(サーバプッシュによるデータ要求の発行を促す内容を記述したレスポンス)を、クライアント通信部21に送信する。クライアント通信部21はこのレスポンスを受信すると、サーバ機能通信部32にサーバプッシュを受信するためのLongPollリクエストを送信する。 In step S <b> 12, the server function communication unit 32 transmits to the client communication unit 21, a response having a push data display function (a response describing the content that prompts the user to issue a data request by server push) in response to the received request. . Upon receiving this response, the client communication unit 21 transmits a LongPoll request for receiving a server push to the server function communication unit 32.
ステップS13において、リクエスト保存部33は、上記ステップS11においてサーバ機能通信部32から受け取ったリクエストを保存する。
In step S13, the
ステップS14において、ブラウザ機能通信部31は、リクエスト保存部33が保存しているリクエストを取り出し、サーバ通信部11に送信して、そのリクエストに対するレスポンスを受信し、受信したレスポンスの内容をレスポンス比較部37に渡す。
In step S14, the browser
ステップS15において、レスポンス比較部37は、レスポンス保存部36が保存しているレスポンスの内容を取り出し、上記(ステップS)14においてブラウザ機能通信部31から受け取ったレスポンスの内容と比較する。比較した結果、両レスポンスの内容が異なる場合は、既成Webアプリケーションのデータが更新された場合である。この場合、レスポンス比較部37は、ブラウザ機能通信部31から受け取ったレスポンスの内容を、レスポンス保存部36とレスポンス編集部38に渡す。上記両レスポンスの内容が等しい場合は、上記ステップS14の処理に戻り、サーバ通信部11に対して定期的なリロードの繰り返しによるポーリング処理を実行する。ただし、レスポンス比較部37がレスポンス保存部36から空のデータを取り出したとき、レスポンス比較部37は、ブラウザ機能通信部31から受け取ったレスポンスの内容を、レスポンス保存部36とレスポンス編集部38に渡す。
In step S15, the response comparison unit 37 takes out the content of the response stored in the
ステップS16において、レスポンス保存部36は、上記ステップS15において受け取ったレスポンスの内容を保存し、以前に保存していたレスポンスの内容を消去する。すなわち、レスポンス保存部36は、レスポンス比較部37の比較結果を待って、保存内容を更新する。
In step S16, the
ステップS17において、レスポンス編集部38は、上記ステップS15において受け取ったレスポンスの内容を編集する。編集内容は、リロード機能を無効化するための、リロードを行う記述の消去やコメントアウトすることである。
In step S17, the
リロード機能は、HTMLの
<META HTTP−EQUIV=”Refresh” counted=”5;http://www.xxx.co.jp/”>タグや、JavaScriptのwindow.loacation.replace(“http://www.xxx.co.jp”)関数などで記述されている。
The reload function includes HTML <META HTTP-EQUIIV = “Refresh” counted = ”5; http://www.xxx.co.jp/”> tag, JavaScript window. location. It is described by a replace (“http://www.xxx.co.jp”) function or the like.
レスポンス編集部38は、レスポンスの編集を終えると、編集したレスポンスの内容をサーバ機能通信部32に渡す。
When the
ステップS18において、サーバ機能通信部32は、上記ステップS17において受け取ったレスポンス内容をクライアント通信部21にプッシュする。 In step S18, the server function communication unit 32 pushes the response content received in step S17 to the client communication unit 21.
ステップS19において、クライアント通信部21は、上記ステップS18においてプッシュされたレスポンスの内容を画面に表示し、表示画面を更新する。さらにクライアント通信部21は再びサーバプッシュを受信するためのLongPollリクエストをサーバ機能通信部32に送信する。上記ステップS14からの処理が繰り返し実行される。 In step S19, the client communication unit 21 displays the content of the response pushed in step S18 on the screen, and updates the display screen. Furthermore, the client communication unit 21 transmits a LongPoll request for receiving the server push again to the server function communication unit 32. The processing from step S14 is repeatedly executed.
上記した中間システム30の処理により、クライアント20に対して、サーバプッシュによる更新通知機能が提供される。
By the processing of the
次に、図4および図5を参照して本発明の第2実施形態に係る中間システムの動作並びにイベント駆動型サーバ拡張プログラムの処理手順について説明する。 Next, the operation of the intermediate system and the processing procedure of the event-driven server expansion program according to the second embodiment of the present invention will be described with reference to FIGS.
本発明の第2実施形態に係る中間システムの構成を図4に示す。
図4に示すように、本発明の第2実施形態に係る中間システム60は、サーバプッシュによる更新通知機能をもたない情報提供サーバ(以下、単にサーバと称す)40と、このサーバ40に情報提供を要求する情報表示クライアント(以下、単にクライアントと称す)50との間に介在される。サーバ40はサーバプッシュによる更新通知機能をもたない既成のWebアプリケーションにより構成され、リクエストの受信機能とレスポンスの送信機能を実現するサーバ通信部41を備える。クライアント50はWebページの閲覧機能を実現するブラウザにより構成され、リクエストの送信機能とレスポンスの受信機能を実現するクライアント通信部51を備える。
FIG. 4 shows the configuration of the intermediate system according to the second embodiment of the present invention.
As shown in FIG. 4, the
中間システム60は、サーバ通信部41との間で通信を行うブラウザ機能通信部61と、クライアント通信部51との間で通信を行うサーバ機能通信部62と、ブラウザ機能通信部61から受けたレスポンスを解析し編集してサーバ機能通信部62に渡すレスポンス解析・編集機能部65とを具備する。
The
ブラウザ機能通信部61は、サーバ機能通信部62が受信したリクエスト(既定リクエスト)を保存するリクエスト保存部63を備え、リクエスト保存部63からリクエストの内容を取り出して、サーバ通信部41に送信し、サーバ通信部41からレスポンスを受信する機能と、後述するレスポンス比較部にレスポンスの内容を渡す機能を有して、リクエスト保存部63から取り出したリクエストにより、サーバ通信部41に対して定期的なリロードの繰り返しによるポーリング処理を実行する処理機能を実現している。
The browser
サーバ機能通信部62は、クライアント通信部51からリクエストを受信する機能と、リクエスト保存部63にリクエストの内容を渡す機能と、レスポンス編集部68からレスポンスの内容を受け取る機能に加え、レスポンス比較部67から既成Webアプリケーションのデータが更新された旨の通知を受け、クライアント通信部51に既成Webアプリケーションのデータが更新されたことを示すデータをプッシュする機能と、クライアント通信部51に更新されたレスポンスを送信する機能を有する。
The server
リクエスト保存部63は、サーバ機能通信部62がリクエストを受信する都度、そのリクエストの内容を受け取り、次に受信したリクエストの内容と比較するまで保存する機能と、ブラウザ機能通信部61にリクエストの内容を渡す機能を有する。
The
レスポンス解析・編集機能部65は、レスポンス保存部66と、レスポンス比較部67と、レスポンス編集部68とを具備して、サーバ機能通信部62が受信したLongPollリクエストに従い、ブラウザ機能通信部61に対して、サーバ40上でイベントが起こった(発生した)か否かを周期的に確認させる、所謂、ポーリング処理を実行し、レスポンスの内容が更新されたことを検出して、当該レスポンスの内容を編集し、編集したレスポンスをサーバ機能通信部62からプッシュさせる処理機能を実現している。
The response analysis /
レスポンス保存部66は、レスポンス比較部67からレスポンスの内容を受け取り、保存する機能と、保存したレスポンスの内容をレスポンス比較部67に渡す機能を有して、ブラウザ機能通信部61がポーリング処理において受信したレスポンスを受信周期に合わせて一定期間保存し、レスポンス比較部67に渡す機能を有する。さらにレスポンス比較部67から既成Webアプリケーションのデータが更新された旨の通知を受けて、保存しているレスポンスの内容を消去する(空にする)機能を有する。なお、レスポンス保存部66は、レスポンスの内容をレスポンス比較部67に渡すとき、レスポンスの内容を保存していない場合、空のデータを渡す。
The response storage unit 66 has a function of receiving and storing a response content from the response comparison unit 67 and a function of passing the stored response content to the response comparison unit 67. The browser
レスポンス比較部67は、ブラウザ機能通信部61からレスポンスの内容を受け取る機能と、受け取ったレスポンスの内容をレスポンス保存部66に渡す機能と、レスポンス保存部66からレスポンスを取り出す機能と、今回受信したレスポンスとレスポンス保存部66に保存されている前回受信したレスポンスとの内容を比較する機能と、レスポンスの内容をレスポンス編集部68に渡す機能を有して、ブラウザ機能通信部61がレスポンスを受信する都度、ブラウザ機能通信部61が今回受信したレスポンスの内容と、レスポンス保存部66に保存された、前回受信したレスポンスの内容とを比較し、レスポンスの内容が更新されたか否かを監視して、レスポンスの内容が更新されたとき、当該更新されたレスポンスの内容をレスポンス編集部68に渡す処理機能を実現している。さらにレスポンス比較部67は、レスポンスの内容が更新されたとき、その旨(既成Webアプリケーションのデータが更新されたこと)をサーバ機能通信部62と、レスポンス保存部66に通知する機能を有する。
The response comparison unit 67 has a function of receiving the response content from the browser
レスポンス編集部68は、レスポンス比較部67からレスポンスの内容を受け取る機能と、レスポンスの内容を編集する機能と、レスポンスの内容をサーバ機能通信部41に渡す機能を有して、レスポンス比較部67から受けた、更新されたレスポンスの内容を編集し、編集したレスポンスをサーバ機能通信部62に渡し、サーバ機能通信部62からプッシュさせる更新通知の処理機能を実現している。ただし、上記した第1実施形態での編集内容は、クライアント通信部が定期的なリロードを実行しないようにすることであったのに対して、この第2実施形態での編集内容は、上記第1実施形態での編集内容に加え、クライアント通信部51がレスポンスの内容を受信すると、クライアント通信部51からサーバ機能通信部62に、LongPollリクエストを送信させるようにすることと、クライアント通信部51がサーバ機能通信部62からデータをプッシュされると、リロードを行うようにすることである。
The
本発明の第2実施形態に係る中間システム60を含む通信システム全体の処理手順を図5に示している。図5に示す処理はサーバ機能通信部62がクライアント通信部51からリクエスト(既定リクエスト)を受信することによって実行される。
FIG. 5 shows a processing procedure of the entire communication system including the
中間システム30は、ステップS24において、既成Webアプリケーションのデータが更新されたことを検知し、ステップS31において、既成Webアプリケーションのデータが更新されたこと示すデータをブラウザ50にプッシュする。ブラウザ50は、ステップS32において、既成Webアプリケーションの最新のデータを得るためにリロードを行い、ステップS28において、既成Webアプリケーションの最新のデータを表示する。
In step S24, the
ここで図5に示すフローチャートを参照して本発明の第2実施形態に係る中間システムの動作並びにイベント駆動型サーバ拡張プログラムの処理手順について説明する。 Here, the operation of the intermediate system and the processing procedure of the event-driven server expansion program according to the second embodiment of the present invention will be described with reference to the flowchart shown in FIG.
ステップS21において、サーバ機能通信部62は、クライアント通信部51からリクエスト(既定リクエスト)を受信し、受信したリクエストの内容をリクエスト保存部63に渡す。
In step S <b> 21, the server
ステップS22において、リクエスト保存部63は、上記ステップS21においてサーバ機能通信部62から受け取ったリクエストを保存する。
In step S22, the
ステップS23において、ブラウザ機能通信部61は、リクエスト保存部63が保存しているリクエストを取り出し、サーバ通信部41に送信して、そのリクエストに対するレスポンスを受信し、受信したレスポンスの内容をレスポンス比較部67に渡す。
In step S23, the browser
ステップS24において、レスポンス比較部67は、レスポンス保存部66が保存しているレスポンスの内容を取り出し、上記ステップS23においてブラウザ機能通信部61から受け取ったレスポンスの内容と比較する。比較の結果、両レスポンスの内容が異なる場合は、ステップS30の処理に移行し、両レスポンスの内容が等しい場合は、上記ステップS23の処理に移行し、レスポンス保存部66から空のデータを取り出したときは、ステップS25の処理に移行する。上記比較した結果、両レスポンスの内容が異なる場合は、既成Webアプリケーションのデータが更新された場合である。この場合、レスポンス比較部67は、レスポンス保存部66とサーバ機能通信部62に、それぞれ既成Webアプリケーションのデータが更新されたことを通知する。上記両レスポンスの内容が等しい場合は、上記ステップS23の処理に戻り、サーバ通信部11に対して定期的なリロードの繰り返しによるポーリング処理を実行する。ただし、レスポンス比較部67がレスポンス保存部66から空のデータを取り出したとき、レスポンス比較部67は、ブラウザ機能通信部61から受け取ったレスポンスの内容を、レスポンス保存部66とレスポンス編集部68に渡す。
In step S24, the response comparison unit 67 takes out the content of the response stored in the response storage unit 66 and compares it with the content of the response received from the browser
ステップS25において、レスポンス保存部66は、上記ステップS24において受け取ったレスポンスの内容を保存する。すなわち、レスポンス保存部66は、レスポンス比較部67の比較結果を待って、保存内容を更新する。 In step S25, the response storage unit 66 stores the content of the response received in step S24. That is, the response storage unit 66 waits for the comparison result of the response comparison unit 67 and updates the stored content.
ステップS26において、レスポンス編集部68は、上記ステップS24において受け取ったレスポンスの内容を編集する。ここでの編集内容は、クライアント通信部51がこのレスポンスを受信すると、クライント通信部51からサーバ機能通信部62に、サーバプッシュを受信するためのLongPollリクエストを送信させるようにすることと、リロード機能を無効化するための、リロードを行う記述の消去やコメントアウトすることと、クライアント通信部51がサーバ機能通信部62からデータをプッシュされると、リロードを行うようにさせることである。
In step S26, the
ステップS27において、サーバ機能通信部62は、上記ステップS26において受け取ったレスポンスの内容を、ステップS21で受信したリクエストに対するレスポンスとしてクライアント通信部51に送信する。
In step S27, the server
ステップS28において、クライアント通信部51は、上記ステップS27においてサーバ機能通信部62が送信したレスポンスを受信し、受信したレスポンスの内容を、ブラウザの機能により表示する。
In step S28, the client communication unit 51 receives the response transmitted by the server
ステップS29において、クライアント通信部51は、サーバ機能通信部62に、サーバプッシュを受信するためのLongPollリクエストを送信する。
In step S29, the client communication unit 51 transmits a LongPoll request for receiving a server push to the server
ステップS30において、レスポンス保存部66は、上記ステップS24において既成Webアプリケーションのデータが更新されたことを通知されると、保存しているレスポンスの内容を消去する(保存内容を空にする)。 In step S30, when the response storage unit 66 is notified that the data of the existing Web application has been updated in step S24, the response storage unit 66 deletes the stored response content (empty the stored content).
ステップS31において、サーバ機能通信部62は、上記ステップS24において既成Webアプリケーションのデータが更新されたことを通知されると、クライアント通信部51に既成Webアプリケーションのデータが更新されたことを示すデータをプッシュする。
In step S31, when the server
ステップS32において、クライアント通信部51は、上記ステップS31においてデータをプッシュされると、リクエストをサーバ機能通信部に送信する。この後、上記ステップS21に戻って上記した処理が繰り返し実行される。 In step S32, when the data is pushed in step S31, the client communication unit 51 transmits a request to the server function communication unit. Thereafter, the process returns to step S21 and the above-described processing is repeatedly executed.
上記した中間システム60の処理により、クライアント50に対して、サーバプッシュによる更新通知機能が提供される。
By the processing of the
10,40…情報提供サーバ、11,41…サーバ通信部、20,50…情報表示クライアント、21,51…クライアント通信部、30,60…中間システム、31,61…ブラウザ機能通信部、32,62…サーバ機能通信部、33,63…リクエスト保存部、35,65…レスポンス解析・編集機能部、36,66…レスポンス保存部、37,67…レスポンス比較部、38,68…レスポンス編集部。 10, 40 ... Information providing server, 11, 41 ... Server communication unit, 20, 50 ... Information display client, 21, 51 ... Client communication unit, 30, 60 ... Intermediate system, 31, 61 ... Browser function communication unit, 32, 62 ... Server function communication unit, 33, 63 ... Request storage unit, 35, 65 ... Response analysis / editing function unit, 36, 66 ... Response storage unit, 37, 67 ... Response comparison unit, 38, 68 ... Response editing unit.
Claims (7)
前記中間システムは、前記クライアントとの間で通信を行うサーバ機能通信部と、前記サーバとの間で通信を行うブラウザ機能通信部と、前記ブラウザ機能通信部から受けたレスポンスを解析し編集して前記サーバ機能通信部に渡すレスポンス解析・編集機能部とを具備し、
前記サーバ機能通信部は、前記クライアントから受信したサーバプッシュに関係しない既定リクエストに対して、サーバプッシュによるデータ要求の発行を促す内容を記述したレスポンスを送信し、前記クライアントから前記レスポンスの内容に従うサーバプッシュを利用する内容を記述した特定リクエストを受信する通信手段を具備し、
前記ブラウザ機能通信部は、前記サーバ機能通信部が受信した既定リクエストを保存し、当該既定リクエストにより前記サーバに対してポーリング処理を実行する通信手段を具備し、
前記レスポンス解析・編集機能部は、前記サーバ機能通信部が受信した特定リクエストに従い、前記ブラウザ機能通信部に対して前記ポーリング処理を実行させ、当該処理において、ポーリングの周期毎に、受信したレスポンスを保存し、前回受信したレスポンスの内容と今回受信したレスポンスの内容とを比較して、レスポンスの内容が更新されたか否かを監視し、レスポンスの内容が更新されたとき、当該レスポンスの内容を編集し、編集したレスポンスを前記サーバ機能通信部からプッシュさせる処理手段を具備して、
前記クライアントに対し、サーバプッシュによる更新通知機能を提供することを特徴とする中間システム。 An intermediate system interposed between an information providing server that does not have an update notification function by server push and an information display client that requests the server to provide information,
The intermediate system analyzes and edits a server function communication unit that performs communication with the client, a browser function communication unit that performs communication with the server, and a response received from the browser function communication unit. A response analysis / editing function unit to be passed to the server function communication unit,
The server function communication unit transmits a response describing a content requesting issuance of a data request by a server push to a default request not related to the server push received from the client, and a server according to the content of the response from the client Comprising a communication means for receiving a specific request describing the content of using a push;
The browser function communication unit includes a communication unit that stores the default request received by the server function communication unit, and executes polling processing for the server by the default request.
In response to the specific request received by the server function communication unit, the response analysis / editing function unit causes the browser function communication unit to execute the polling process. Save and compare the content of the response received last time with the content of the response received this time, monitor whether the response content has been updated, and edit the response content when the response content has been updated And a processing means for pushing the edited response from the server function communication unit,
An intermediate system that provides an update notification function by server push to the client.
前記中間システムは、前記クライアントとの間で通信を行うサーバ機能通信部と、前記サーバとの間で通信を行うブラウザ機能通信部と、前記ブラウザ機能通信部から受けたレスポンスを解析し編集して前記サーバ機能通信部に渡すレスポンス解析・編集機能部とを具備し、
前記クライアントは、前記サーバ機能通信部からレスポンスの更新が通知されたとき、サーバプッシュに関係しない既定リクエストを前記サーバ機能通信部に送信し、前記サーバ機能通信部から更新されたレスポンスを受けたとき、当該レスポンスの内容に従いサーバプッシュを利用する内容を記述した特定レスポンスを前記サーバ機能通信部に送信する通信手段を具備し、
前記ブラウザ機能通信部は、前記サーバ機能通信部が受信した既定リクエストを保存し、当該既定リクエストにより前記サーバに対してポーリング処理を実行する通信手段を具備し、
前記レスポンス解析・編集機能部は、前記サーバ機能通信部が受信した前記特定レスポンスに従い、前記ブラウザ機能通信部に対して前記ポーリング処理を実行させ、当該処理の周期毎に、受信したレスポンスを保存し、前回受信したレスポンスの内容と今回受信したレスポンスの内容とを比較して、レスポンスの内容が更新されたか否かを監視し、レスポンスの内容が更新されたとき、当該レスポンスの内容を編集し、レスポンスの内容が更新されたことを前記サーバ機能通信部から前記クライアントに通知させた後、前記既定リクエストの受信を待って、前記編集したレスポンスを前記サーバ機能通信部からプッシュさせる一連の処理手段を具備して、
前記クライアントに対し、サーバプッシュによる表示の更新処理を行うことを特徴とする中間システム。 An intermediate system interposed between an information providing server that does not have an update notification function by server push and an information display client that requests the server to provide information,
The intermediate system analyzes and edits a server function communication unit that performs communication with the client, a browser function communication unit that performs communication with the server, and a response received from the browser function communication unit. A response analysis / editing function unit to be passed to the server function communication unit,
When the client is notified of a response update from the server function communication unit, the client transmits a default request not related to server push to the server function communication unit, and receives an updated response from the server function communication unit , Comprising a communication means for transmitting a specific response describing the content of using the server push according to the content of the response to the server function communication unit,
The browser function communication unit includes a communication unit that stores the default request received by the server function communication unit, and executes polling processing for the server by the default request.
The response analysis / editing function unit causes the browser function communication unit to execute the polling process according to the specific response received by the server function communication unit, and stores the received response for each cycle of the process. , Compare the content of the response received last time with the content of the response received this time, monitor whether the response content has been updated, and when the response content has been updated, edit the content of the response, A series of processing means for notifying the client that the content of the response has been updated from the server function communication unit and then waiting for the reception of the default request and pushing the edited response from the server function communication unit Equipped
An intermediate system that performs display update processing by server push for the client.
前記比較の結果、レスポンスの内容が等しいとき、前記保存した既定リクエストを用いてポーリング処理を実行し、
前記内容が異なるとき、前記保存したレスポンスの内容を破棄して、前記サーバ機能通信部から前記クライアントに、レスポンスの内容が更新された旨の更新通知を送信させ、
前記保存したレスポンスの内容が破棄されているとき、前記新たなレスポンスを保存して、当該レスポンスの内容を編集し、前記サーバ機能通信部から前記クライアントに送信させる処理が含まれる請求項3に記載の中間システム。 For the polling process,
As a result of the comparison, when the response contents are equal, a polling process is executed using the stored default request,
When the contents are different, discard the contents of the stored response, and send an update notification that the contents of the response are updated from the server function communication unit to the client,
4. The processing according to claim 3, further comprising: storing the new response when the content of the stored response is discarded, editing the content of the response, and transmitting the response from the server function communication unit to the client. Intermediate system.
ブラウザからサーバプッシュに関係しない既定リクエストを受信し、当該既定リクエストを保存する機能と、
前記ブラウザから受信した前記既定リクエストに対して、サーバプッシュによるデータ要求の発行を促す内容を記述したレスポンスを前記ブラウザに送信する機能と、
前記ブラウザから前記レスポンスの内容に従うサーバプッシュを利用する内容を記述した特定リクエストを受信して、前記保存した既定リクエストによりポーリング処理を実行し、当該処理の周期毎に、受信したレスポンスを保存し、前回受信したレスポンスの内容と今回受信したレスポンスの内容とを比較して、レスポンスの内容を監視し、サーバ上でイベントが起こったか否かを周期的に確認する機能と、
前記レスポンスの内容が更新されたとき、当該レスポンスの内容を編集し、リロードを無効化するための内容を記述した編集後のレスポンスを前記ブラウザにプッシュする機能と、
をコンピュータに実現させるためのイベント駆動型サーバ拡張プログラム。 A server expansion program for causing an information providing server configured by a web application not having an automatic update function by server push to function as an event-driven server,
A function for receiving a default request not related to server push from a browser and storing the default request;
A function that transmits to the browser a response describing the content that prompts the user to issue a data request by server push in response to the default request received from the browser;
Receiving a specific request describing the content of using the server push according to the content of the response from the browser, executing a polling process by the stored default request, storing the received response for each cycle of the process, A function that compares the content of the response received last time with the content of the response received this time, monitors the content of the response, and periodically checks whether an event has occurred on the server,
When the content of the response is updated, the function of editing the content of the response and pushing the edited response describing the content for invalidating the reload to the browser;
An event-driven server extension program for realizing a computer.
ブラウザから受信したサーバプッシュに関係しない既定リクエストを受信し、当該既定リクエストを保存する機能と、
サーバから受信したレスポンスを保存手段に保存する機能と、
前記既定リクエストを前記サーバに送信して、前記サーバからレスポンスを受信し、受信したレスポンスの内容を前記保存手段の保存内容と比較する機能と、
前記レスポンスの内容の比較の結果、レスポンスの内容が異なるとき、前記保存手段の内容を空データにし、前記ブラウザにレスポンスの内容が更新されたことを通知して、前記ブラウザから既定リクエストを受信する機能と、
前記レスポンスの内容の比較の結果、前記保存手段の保存内容が空データであるとき、前記受信したレスポンスを前記保存手段に保存して、前記受信したレスポンスの内容を編集し、サーバプッシュによるデータ要求の発行を促す内容を記述した編集後のレスポンスを前記ブラウザに送信して、前記ブラウザから前記編集後のレスポンスの内容に従うサーバプッシュを利用する内容を記述した特定リクエストを受信する機能と、
前記レスポンスの内容の比較の結果、レスポンスの内容が等しいとき、前記特定リクエストに従い、前記保存した既定リクエストによりポーリング処理を実行し、当該処理の周期毎に前記レスポンスの内容の比較機能による処理を実行して、サーバ上でイベントが起こったか否かを周期的に確認する機能と、
をコンピュータに実現させるためのイベント駆動型サーバ拡張プログラム。 A server expansion program for causing an information providing server configured by a web application not having an automatic update function by server push to function as an event-driven server,
A function for receiving a default request not related to server push received from a browser and storing the default request;
A function for storing the response received from the server in the storage means;
A function of transmitting the predetermined request to the server, receiving a response from the server, and comparing the content of the received response with the stored content of the storage unit;
When the response contents are different as a result of the comparison of the response contents, the contents of the storage unit are made empty data, the browser notifies the browser that the response contents have been updated, and receives a default request from the browser Function and
As a result of the comparison of the contents of the response, when the storage content of the storage means is empty data, the received response is stored in the storage means, the content of the received response is edited, and a data request by server push A function to send a response after editing describing the content prompting the issuance to the browser, and to receive a specific request describing content using a server push according to the content of the response after editing from the browser;
When the response contents are equal as a result of the comparison of the response contents, the polling process is executed according to the stored default request according to the specific request, and the process of the response content comparison function is executed at each cycle of the process. A function to periodically check whether an event has occurred on the server,
An event-driven server extension program for realizing a computer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008222618A JP2010055560A (en) | 2008-08-29 | 2008-08-29 | Intermediate system and event-driven server extension program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008222618A JP2010055560A (en) | 2008-08-29 | 2008-08-29 | Intermediate system and event-driven server extension program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010055560A true JP2010055560A (en) | 2010-03-11 |
Family
ID=42071365
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008222618A Pending JP2010055560A (en) | 2008-08-29 | 2008-08-29 | Intermediate system and event-driven server extension program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2010055560A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011192162A (en) * | 2010-03-16 | 2011-09-29 | Nec Corp | Server device, power-saving control method, power-saving control program, and client/server system |
| JP2012213048A (en) * | 2011-03-31 | 2012-11-01 | Saxa Inc | Telephone controller, telephone system, and call termination control method |
| JP2014149759A (en) * | 2013-02-04 | 2014-08-21 | Web Service Development Inc | Network communication system |
| US8825703B2 (en) | 2011-03-16 | 2014-09-02 | Fujitsu Limited | Control device, control method, and storage medium |
| JP2017134827A (en) * | 2016-01-25 | 2017-08-03 | エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation | Long polling processing method, system, and recording medium |
| JP2017182103A (en) * | 2016-03-28 | 2017-10-05 | パナソニックIpマネジメント株式会社 | Instruction information notification system and terminal device |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002041353A (en) * | 2000-07-28 | 2002-02-08 | Toppan Printing Co Ltd | Automatic update system |
| JP2002041377A (en) * | 2000-07-31 | 2002-02-08 | Iwao Akizuki | Data communication system, data processor used for the communication system, session maintenance method using browser and recording medium |
| JP2002073455A (en) * | 2000-09-04 | 2002-03-12 | Sony Corp | Web page update notification method, client service server, and program storage medium |
-
2008
- 2008-08-29 JP JP2008222618A patent/JP2010055560A/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002041353A (en) * | 2000-07-28 | 2002-02-08 | Toppan Printing Co Ltd | Automatic update system |
| JP2002041377A (en) * | 2000-07-31 | 2002-02-08 | Iwao Akizuki | Data communication system, data processor used for the communication system, session maintenance method using browser and recording medium |
| JP2002073455A (en) * | 2000-09-04 | 2002-03-12 | Sony Corp | Web page update notification method, client service server, and program storage medium |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011192162A (en) * | 2010-03-16 | 2011-09-29 | Nec Corp | Server device, power-saving control method, power-saving control program, and client/server system |
| US8825703B2 (en) | 2011-03-16 | 2014-09-02 | Fujitsu Limited | Control device, control method, and storage medium |
| JP2012213048A (en) * | 2011-03-31 | 2012-11-01 | Saxa Inc | Telephone controller, telephone system, and call termination control method |
| JP2014149759A (en) * | 2013-02-04 | 2014-08-21 | Web Service Development Inc | Network communication system |
| JP2017134827A (en) * | 2016-01-25 | 2017-08-03 | エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation | Long polling processing method, system, and recording medium |
| JP2017182103A (en) * | 2016-03-28 | 2017-10-05 | パナソニックIpマネジメント株式会社 | Instruction information notification system and terminal device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7937361B2 (en) | Method of reflecting on another device a change to a browser cache on a handheld electronic device, and associated device | |
| US8725679B2 (en) | Client side caching of synchronized data | |
| US6785740B1 (en) | Text-messaging server with automatic conversion of keywords into hyperlinks to external files on a network | |
| JP4781897B2 (en) | Sensor event control device | |
| KR20110086840A (en) | Open Object Extraction System | |
| JP2010055560A (en) | Intermediate system and event-driven server extension program | |
| US9092538B2 (en) | System and method for determining the data model used to create a web page | |
| US20120124175A1 (en) | Atom-based really simple syndication (rss) content reader system and method, and atom-based rss content providing system and method | |
| JP2009104381A (en) | Cache control program, recording medium recording the program, cache control device, and cache control method | |
| US20150067037A1 (en) | Communication apparatus and communication method | |
| US20080133584A1 (en) | Annotation management program, device, method and annotation display program, device, method | |
| US20150207867A1 (en) | Information processing terminal and control method | |
| US9690636B2 (en) | Apparatus and method of data communication between web applications | |
| US9141699B2 (en) | Determining data feed usage | |
| GB2543279A (en) | Methods, devices and computer programs for optimizing use of bandwidth when pushing data in a network environment comprising cache servers | |
| JP4215710B2 (en) | Data transmission method to client and update data execution control method | |
| JP4859873B2 (en) | Comment display system, its method, management server and program | |
| JP5141118B2 (en) | Metadata customization method | |
| US8146101B2 (en) | Method of processing notifications provided by a routine, and associated handheld electronic device | |
| US7644149B2 (en) | Method of reflecting on another device an addition to a browser cache on a handheld electronic device, and associated device | |
| JP2009288970A (en) | Information terminal, information provision method, and information provision program | |
| JP2015090551A (en) | The present invention relates to an information processing system, a proxy device, an information processing method, and a program. | |
| KR20130050396A (en) | Systme for providing updated data of rss contents using user agent and method thereof | |
| CA2649596C (en) | Method of reflecting on another device a change to a browser cache on a handheld electronic device, and associated device | |
| CA2649367C (en) | Method of processing notifications provided by a routine, and associated handheld electronic device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110224 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110308 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110509 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110531 |