JP2004348666A - Client server system, server, and information processing system - Google Patents

Client server system, server, and information processing system Download PDF

Info

Publication number
JP2004348666A
JP2004348666A JP2003147937A JP2003147937A JP2004348666A JP 2004348666 A JP2004348666 A JP 2004348666A JP 2003147937 A JP2003147937 A JP 2003147937A JP 2003147937 A JP2003147937 A JP 2003147937A JP 2004348666 A JP2004348666 A JP 2004348666A
Authority
JP
Japan
Prior art keywords
client
request
command
connection
server
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
Application number
JP2003147937A
Other languages
Japanese (ja)
Inventor
Tadashi Kinebuchi
正 杵淵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003147937A priority Critical patent/JP2004348666A/en
Priority to CNB2004100347460A priority patent/CN100352195C/en
Publication of JP2004348666A publication Critical patent/JP2004348666A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To allow a server to control a timing for conducting pull by a client in a pull type client server system. <P>SOLUTION: The server 10 comprises: a Web server 11; a sequence control section 12; and a client management section 13. The Web server 11 honors a request from the client 20 and returns a response to the request addressed to the client 20. The Web server 11 or the sequence control section 12 generates a command making the client 20 raise the given request. The client management section 13 transmits the generated command to the client 20. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、クライアントで表示させる画面のシーケンスを制御するための技術に関し、特にWebアプリケーションのシーケンス制御をサーバから行う技術に関する。
【0002】
【従来の技術】
Web技術の普及により、WebサーバとWebブラウザとを用いたクライアント・サーバシステムが多くある。このシステムの特徴としては、HTML(Hyper Text Markup Language)で記述された画面などにより、簡単にシステムを構築することができ、さらにカスタマイズ性に優れている点があげられる。
【0003】
【発明が解決しようとする課題】
しかし、このシステムで用いられているHTTP(Hyper Text Transfer Protocol)は、クライアントからのリクエストに対してサーバがレスポンスを返すという非常にシンプルなプロトコルである。そのため、HTTPを用いたアプリケーションは、通常、クライアントが能動的に必要な情報を取得するプル型のシステムとなる。
【0004】
このため、クライアントからのリクエストに対して、サーバでの何らかの処理を行わなければならないためすぐに応答を返すことができないときがある。また、クライアントの操作とは無関係に、サーバが管理するアプリケーションの都合で何らの画面をクライアントに表示させたいときがある。これらのときは、常に一定の間隔でクライアントがサーバに対してリクエストを行い、サーバの条件が整うと所定のレスポンスを受け取るようにして実現されている。
【0005】
本発明の目的は、プル型のクライアント・サーバシステムにおいて、クライアントがプルを行うタイミングをサーバが制御する技術を提供することである。
【0006】
本発明の他の目的は、クライアント・サーバシステムで、クライアントに表示させる画面のシーケンス制御を行うことである。
【0007】
【課題を解決するための手段】
本発明の一つの実施態様に従うクライアント・サーバシステムは、ブラウザを備えるクライアントと、前記ブラウザからのHTTP(Hyper Text Transfer Protocol)のリクエストを受け付けて、前記リクエストに対するHTTPのレスポンスを返すサーバとを備え、前記サーバは、前記クライアントからのコネクション確立要求に応じ、前記クライアントとソケットを使ってコネクションを確立するためのコネクション手段と、前記ブラウザに所定のリクエストをさせるためのコマンドを生成する手段と、前記コネクション手段により確立されたコネクションを用いて、前記生成されたコマンドを前記クライアントへ送信する手段と、を備える。これにより、HTTPで通信を行うクライアント・サーバシステムでも、サーバがクライアントのリクエストを制御することができる。
【0008】
好適な実施形態では、前記コネクション手段がコネクションを確立したクライアントのIPアドレスを記憶する記憶手段をさらに備えてもよい。このとき、前記生成手段は、前記記憶手段にIPアドレスが記憶されているクライアントに対するコマンドを生成し、前記送信手段は、前記記憶手段を参照して前記生成されたコマンドを送信するようにしてもよい。
【0009】
本発明の一つの実施態様に従うサーバは、クライアントからのリクエストを受け付けて、前記クライアントに対して前記リクエストに対するレスポンスを返す手段と、前記クライアントに所定のリクエストを行わせるためのコマンドを生成する手段と、前記生成されたコマンドを前記クライアントに対して送信する手段と、を備える。これにより、クライアントが行うリクエストを、サーバが制御することができる。
【0010】
好適な実施形態では、表示させる順序が予め定められている複数のページを有するコンテンツを記憶する手段と、前記クライアントから、前記複数のページのいずれかを取得するためのリクエストを受け付けたとき、そのリクエストが前記表示順序に従うかどうかを判定する手段と、をさらに備えるようにしてもよい。そして、前記取得したリクエストが前記表示順序に従わないときは、前記コマンド生成手段は、前記表示順序に従ったリクエストを前記クライアントに行わせるためのコマンドを生成するようにしてもよい。これにより、サーバがクライアントで表示されるページの表示順序を制御することができる。
【0011】
本発明の一つの実施態様に従うサーバは、第1のクライアントからのリクエストを受け付けて、第1のクライアントに対して前記リクエストに対するレスポンスを返す手段と、第1のクライアントからのリクエストを受け付けて、第2のクライアントに所定のリクエストを行わせるためのコマンドを生成する手段と、前記生成されたコマンドを第2のクライアントに対して送信する手段と、を備える。これにより、第1のクライアントがこのサーバを利用して第2のクライアントの表示画面を制御することができる。
【0012】
本発明の一つの実施態様に従う情報処理装置は、クライアントが有するWebブラウザからHTTP(Hyper Text Transfer Protocol)のリクエストを受け付けて、前記リクエストに対するHTTPのレスポンスを返すWebサーバと、前記クライアントからのコネクション確立要求に応じ、前記クライアントとソケットを使ってコネクションを確立するためのコネクション手段と、前記Webブラウザに、前記Webサーバに対する所定のHTTPリクエストをさせるためのコマンドを生成する手段と、前記コネクション手段により確立されたコネクションを用いて、前記生成されたコマンドを前記クライアントへ送信する手段と、を備える。
【0013】
好適な実施形態では、前記コマンドには、前記Webブラウザに表示させるWebページのURL(Uniform Resource Locator)を含むようにしてもよい。
【0014】
【発明の実施の形態】
以下、本発明を適用した一実施形態に係るクライアント・サーバシステムついて、図面を用いて説明する。図1には、本実施形態に係るクライアント・サーバシステム1の全体構成図を示す。本システム1は、サーバ10とクライアント20とを備える。図1では、クライアント20は1台であるが、複数台備えていてもよい。サーバ10およびクライアント20は、例えば、インターネット、LAN(Local Area Network)などのネットワーク(図示しない)を介して接続される。
【0015】
サーバ10およびクライアント20は、いずれも例えば汎用的なコンピュータシステムにより構成され、以下に説明するサーバ10およびクライアント20内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【0016】
クライアント20には、Webブラウザ21およびソケット通信部25が搭載されている。クライアント20は、Webブラウザ21を用いてWebサーバから種々の情報を取得して、表示装置(図示しない、以下同じ)に表示させることができる。この際、Webブラウザ21はWebサーバに対してHTTP(Hyper Text Transfer Protocol)のリクエストを送り、これに対するHTTPのレスポンスとしてHTML(Hyper Text Markup Language)で記述された種々の情報を取得する。従って、本システム1は、クライアント20から能動的に情報を取得するいわゆるプル型のシステムである。
【0017】
本実施形態では、Webブラウザ21は、さらに、リクエスト発行指示部22を有する。リクエスト発行指示部22は、サーバ10からページ切替コマンド(詳細は後述する)を受信して、この受信したページ切替コマンドに従ってリクエスト発行の指示をする。例えば、ページ切替コマンドにはURLが含まれていて、リクエスト発行指示部22は、このURLで特定されるWebページを取得するためのリクエストを発行するよう指示をする。リクエスト発行指示部22は、例えば、アプレットと呼ばれるアプリケーションソフトをロードすることにより実現可能である。
【0018】
サーバ10は、Webサーバ11と、シーケンス制御部12と、クライアント管理部13と、Webサーバ11の状態をシーケンス制御部12へ通知する状態通知処理部14と、クライアント管理部13とWebサーバ11およびシーケンス制御部12との間の通知される情報を中継する中継処理部15と、ソケット通信部16と、複数のWebページを記憶したコンテンツ記憶部17とを備える。状態通知処理部14および中継処理部15は、例えばDLL(Dynamic Link Library)として実現することもできる。
【0019】
状態通知処理部14は、Webサーバ11がWebブラウザ21へ返すレスポンスに基づいて、Webブラウザ21の状態をシーケンス制御部12へ通知する。
【0020】
コンテンツ記憶部17に記憶されているWebページには、予め表示させる順序(シーケンス)が定められているものを含む。例えば、ユーザ認証に関するWebページでは、アイドル画面→認証開始画面→認証確認画面→個人画面という順序でWebブラウザ21に表示させる。
【0021】
Webサーバ11は、WebブラウザからHTTPのリクエストを受け付けて、それに応じたHTTPスポンスを返す。例えば、HTTPリクエストに含まれるURL(Uniform Resource Locator)に基づいて、コンテンツ記憶部17に記憶されているWebページを取得して、レスポンスとして返送する。
【0022】
シーケンス制御部12は、クライアントの表示装置に表示されるWebページの表示順序を制御する。例えば、シーケンス制御部12は、上述のように予めシーケンスが定められているWebページについての表示順序を記憶している。そして、シーケンス制御部12は、Webブラウザ21に表示されるWebページがこのシーケンスに従っているかどうかを判定する。シーケンスに従っていないときは、このシーケンスに従ったリクエストを行わせるためのページ切替コマンドを生成する。ここで生成されたページ切替コマンドには、シーケンスに従って次に表示させるべきWebページのURLを含む。そして、このページ切替コマンドが中継処理部15を介してクライアント管理部13へ通知される。
【0023】
また、Webサーバ11が、クライアントからのリクエストに基づいて、ページ切替コマンドを生成し、中継処理部15を通じてクライアント管理部13へ通知する。例えば、リクエストを送ったクライアントと異なるクライアントに対してページ切替コマンドを送信すれば、あるクライアントから他のクライアントの表示画面の制御をすることができる。このとき、リクエストには表示させるページのURLおよびそのページを表示させる対象のクライアントのIPアドレスなどを含む。なお、この処理はWebサーバ11内のスレッドとして実現することができる。
【0024】
つまり、本システム1は、クライアント20がサーバ10から能動的に情報を取得するプルの動作が基本となるが、シーケンス制御部12がページ切替コマンドを生成してクライアント20にプッシュすることにより、クライアント20に強制的にプルの動作を行わせることができる。
【0025】
ページ切替コマンドの生成タイミングは、上述以外に任意のタイミングでよい。例えば、図示しないアプリケーションプログラムなどからの通知に基づいて、シーケンス制御部12がページ切替コマンドを生成してもよい。
【0026】
ソケット通信部16,25は、互いにソケットを用いてコネクションを確立するコネクション手段である。従って、クライアント20とサーバ10とは、HTTPによる通信を行う他に、ソケット通信部16,25を使ってソケットによるコネクションを確立し、通信をすることができる。
【0027】
ソケット通信部16は、例えば、クライアントのソケット通信部25からのリクエストにより、ソケットによるコネクションを確立する。クライアントテーブル19には、コネクションを確立したクライアントのIPアドレスが登録されるようにしてもよい。そして、クライアント管理部13は、このコネクションを利用して、シーケンス制御部12で生成されたページ切替コマンドを送信する。
【0028】
クライアント管理部13は、サーバ1がシーケンス制御を行う対象のクライアントを管理する。クライアント管理部13は、シーケンス制御対象のクライアントを登録したクライアントテーブル19を有する。クライアントテーブル19は、例えば、図2に示すように、クライアントのIPアドレス191と、サーバ内でクライアントを識別するためのID192とを備える。このテーブルを参照すれば、シーケンス制御対象のクライアントがわかる。
【0029】
次に、上述の構成を備える本システム1において、サーバ10がクライアント20に強制的にページ切替をさせるときの処理手順を、図3のフローチャートを用いて説明する。
【0030】
まず、シーケンス制御部12が中継処理部15を介してクライアント管理部13へIDの取得要求をして、クライアントテーブル19に登録されているクライアントのIDを取得する(S11)。そして、シーケンス制御部12はページ切替コマンドを生成して、中継処理部15を介してクライアント管理部13へ通知する。(S12)。ページ切替コマンドには送信先のIDが付されている。クライアント管理部13は、このIDをIPアドレスへ変換して、ページ切替コマンドをソケット通信部25からクライアント20へ送信する。
【0031】
クライアント20では、リクエスト発行指示部22がソケット通信部25を介してページ切替コマンドを取得し、Webブラウザ21に対して、ページ切替コマンドに含まれるURLのページを取得するためのリクエストの発行を指示する(S14)。Webブラウザ21は、この指示に従ってサーバ10に対してリクエストを発行する(S15)。サーバ10では、Webサーバ11がこのリクエストに基づいて、レスポンスを返す(S16)。Webブラウザ21は、このレスポンスを受け付けて、表示装置に表示させるページを切り替える(S17)。この結果、サーバ10がクライアント20に強制的にページ切り替えをさせることができる。
【0032】
次に、シーケンスが予め定められているコンテンツを表示させるときのシーケンス制御部12の処理について、図4のフローチャートを用いて説明する。ここで、例示するシーケンスは、ページ1(アイドル画面)→ページ2(認証開始画面)→ページ3(認証確認画面)→ページ4(個人画面)からなる認証シーケンスである。このシーケンスにおいて、ページ2およびページ3の表示時間が一定時間を経過しても次の画面へ遷移しないときは、タイムアウトとしてページ1へ戻ることとする。
【0033】
シーケンス制御部12がページ1を表示させるためのページ切替コマンドを生成し、クライアント20へ送りページ1を表示させる(S21)。シーケンス制御部12はクライアント20の状態変化を監視し、ページが切り替わったかどうかを判定する(S22)。ページが切り替わったとき(S22:Yes)、新たに表示されるページがページ2であるかどうかを判定する(S23)。ここで、ページ2への切り替えでないときは(S23:No)、シーケンスに従っていないので、ステップS21へ戻り、強制的にページ1を表示させる。
【0034】
ページ2へ切り替わったときは(S23:Yes)、シーケンスに従っているので次のステップへ進み、ページ2を表示している時間が所定時間をしていないかどうか判定する(S24)。ページ2の表示時間が所定時間を超えているときは(S24:Yes)、ステップS21へ戻り、強制的にページ1を表示させる。所定時間を超えていないときは(S24:No)、シーケンス制御部12はクライアント20の状態変化を監視し、ページが切り替わったかどうかを判定する(S25)。ページが切り替わったときは(S25:Yes)、新たに表示されるページがページ3であるかどうかを判定する(S26)。ここで、ページ3への切り替えでないときは(S26:No)、シーケンスに従っていないので、シーケンス制御部12がページ2を表示させるためのページ切替コマンドを生成し、クライアント20へ送りページ2を表示させ、ステップS24へ戻る(S31)。
【0035】
ページ3へ切り替わったときは(S26:Yes)、シーケンスに従っているので次のステップへ進み、ページ3を表示している時間が所定時間を経過していないかどうか判定する(S27)。ページ3の表示時間が所定時間を超えているときは(S27:Yes)、ステップS21へ戻り、強制的にページ1を表示させる。所定時間を超えていないときは(S27:No)、シーケンス制御部12はクライアント20の状態変化を監視し、ページが切り替わったかどうかを判定する(S28)。ページが切り替わったとき(S28:Yes)、新たに表示されるページがページ4であるかどうかを判定する(S29)。ここで、ページ4への切り替えでないときは(S29:No)、シーケンスに従っていないので、シーケンス制御部12がページ3を表示させるためのページ切替コマンドを生成し、クライアント20へ送ってページ3を表示させ、ステップS27へ戻る(S32)。ページ4へ切り替わったときは(S29:Yes)、シーケンスに従っているので、このまま個人画面が表示される。これにより、サーバ10がクライアント20に表示させる画面のシーケンスを制御することができる。
【0036】
次に、本システム1において、サーバ10がクライアント20から商品等の注文を受け付けるときの処理手順について、図5を用いて説明する。
【0037】
まず、クライアント20のWebブラウザ21には、注文を入力するための注文画面が表示されている。クライアント20を使用しているユーザが、この画面に対して必要な情報を入力して、サーバ10へリクエストを送る(S41)。Webサーバ11がこのリクエストを受け付けると、注文を受け付けたことを示す確認画面をレスポンスとしてWebブラウザ21へ返す(S42)。
【0038】
そして、Webサーバ11は、在庫の確認等の所定の注文処理を行う注文処理部30に処理を行うよう指示をする(S43)。注文処理部30が所定の処理を完了すると、その旨をシーケンス制御部12へ通知する(S44)。シーケンス制御部12は、注文結果を示す注文結果画面を表示させるためのページ切り替えコマンドを生成して、クライアント管理部13を介してクライアント20へ送信する(S45,S46)。
【0039】
クライアント20では、リクエスト発行指示部22がこれを受け付けて、Webブラウザ21に対してページ3を取得するためのリクエスト発行を指示する(S47)。Webブラウザ21は、これを受けて、Webサーバ11に対して注文結果画面を取得するためのリクエストを行い、これを取得して表示させる。
【0040】
このように、リクエストを受けた後、何らかの処理を行わなければならないため、直ちに処理結果を返すことができないようなときであっても、リクエスト(S41)に対する仮のレスポンス(S42)を返しておき、サーバが処理終了のタイミングをクライアントへ通知して、クライアントに処理結果が表示されるページを取得させることができる。つまり、本実施形態によれば、プル型のクライアント・サーバシステムにおいて、サーバがクライアントに強制的にプルを行わせるためのプッシュをすることができる。
【0041】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【図面の簡単な説明】
【図1】本発明を適用した一実施形態に係るクライアント・サーバシステムの構成図である。
【図2】クライアントテーブルの一例を示す図である。
【図3】強制的なページ切替処理の手順を示すフローチャートである。
【図4】シーケンス制御部12が行う処理のフローチャートである。
【図5】注文処理を行うときの処理シーケンスを示す図である。
【符号の説明】
1…クライアント・サーバシステム、10…サーバ、11…Webサーバ、12…シーケンス制御部、13…クライアント管理部、16,25…ソケット通信部、20…クライアント、21…Webブラウザ、22…リクエスト発行指示部。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for controlling a sequence of screens displayed on a client, and more particularly to a technique for controlling a sequence of a Web application from a server.
[0002]
[Prior art]
With the spread of Web technology, there are many client-server systems using a Web server and a Web browser. As a feature of this system, a system described in HTML (Hyper Text Markup Language) and the like can be easily constructed, and furthermore, it is excellent in customizability.
[0003]
[Problems to be solved by the invention]
However, HTTP (Hyper Text Transfer Protocol) used in this system is a very simple protocol in which a server returns a response to a request from a client. Therefore, an application using HTTP is usually a pull-type system in which a client actively acquires necessary information.
[0004]
For this reason, there is a case where a response cannot be immediately returned to a request from a client because some processing must be performed in a server. Further, there is a case where the client wants to display any screen regardless of the operation of the client due to the application managed by the server. In these cases, the client always makes a request to the server at regular intervals, and receives a predetermined response when the conditions of the server are satisfied.
[0005]
An object of the present invention is to provide a technique in which a server controls the timing at which a client performs a pull in a pull-type client-server system.
[0006]
Another object of the present invention is to perform sequence control of a screen displayed on a client in a client-server system.
[0007]
[Means for Solving the Problems]
A client-server system according to one embodiment of the present invention includes a client including a browser, and a server that receives an HTTP (Hyper Text Transfer Protocol) request from the browser and returns an HTTP response to the request; The server, in response to a connection establishment request from the client, a connection unit for establishing a connection using the client and a socket, a unit for generating a command for causing the browser to make a predetermined request, the connection Means for transmitting the generated command to the client using the connection established by the means. As a result, even in a client-server system that performs communication using HTTP, the server can control client requests.
[0008]
In a preferred embodiment, the connection unit may further include a storage unit that stores an IP address of a client that has established a connection. At this time, the generation unit may generate a command for a client whose IP address is stored in the storage unit, and the transmission unit may transmit the generated command with reference to the storage unit. Good.
[0009]
According to one embodiment of the present invention, a server receives a request from a client, returns a response to the request to the client, and generates a command for causing the client to perform a predetermined request. Means for transmitting the generated command to the client. This allows the server to control the request made by the client.
[0010]
In a preferred embodiment, a means for storing content having a plurality of pages whose display order is predetermined, and, when a request for acquiring any of the plurality of pages is received from the client, Means for determining whether the request follows the display order. Then, when the obtained request does not follow the display order, the command generation unit may generate a command for causing the client to make a request according to the display order. This allows the server to control the display order of the pages displayed on the client.
[0011]
According to one embodiment of the present invention, a server receives a request from a first client, returns a response to the request to the first client, and receives a request from the first client. Means for generating a command for causing the second client to make a predetermined request; and means for transmitting the generated command to the second client. This allows the first client to control the display screen of the second client using this server.
[0012]
An information processing apparatus according to one embodiment of the present invention includes a Web server that receives an HTTP (Hyper Text Transfer Protocol) request from a Web browser of a client and returns an HTTP response to the request, and establishes a connection from the client. Connection means for establishing a connection using the socket with the client in response to the request, means for generating a command for causing the Web browser to make a predetermined HTTP request to the Web server, and establishment by the connection means Means for transmitting the generated command to the client using the established connection.
[0013]
In a preferred embodiment, the command may include a URL (Uniform Resource Locator) of a Web page to be displayed on the Web browser.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a client-server system according to an embodiment to which the present invention is applied will be described with reference to the drawings. FIG. 1 shows an overall configuration diagram of a client-server system 1 according to the present embodiment. The system 1 includes a server 10 and a client 20. Although one client 20 is shown in FIG. 1, a plurality of clients 20 may be provided. The server 10 and the client 20 are connected via a network (not shown) such as the Internet and a LAN (Local Area Network).
[0015]
Each of the server 10 and the client 20 is configured by, for example, a general-purpose computer system. Individual components or functions in the server 10 and the client 20 described below are realized, for example, by executing a computer program. .
[0016]
The client 20 has a Web browser 21 and a socket communication unit 25 mounted thereon. The client 20 can acquire various information from the Web server using the Web browser 21 and display it on a display device (not shown, the same applies hereinafter). At this time, the Web browser 21 sends an HTTP (Hyper Text Transfer Protocol) request to the Web server, and acquires various information described in HTML (Hyper Text Markup Language) as an HTTP response to the request. Therefore, the present system 1 is a so-called pull type system that actively acquires information from the client 20.
[0017]
In the present embodiment, the Web browser 21 further includes a request issuance instruction unit 22. The request issuance instructing unit 22 receives a page switching command (details will be described later) from the server 10, and issues a request issuance instruction in accordance with the received page switching command. For example, the page switching command includes a URL, and the request issuance instructing unit 22 instructs to issue a request for acquiring a Web page specified by the URL. The request issuance instructing unit 22 can be realized by, for example, loading application software called an applet.
[0018]
The server 10 includes a Web server 11, a sequence control unit 12, a client management unit 13, a state notification processing unit 14 for notifying the state of the Web server 11 to the sequence control unit 12, a client management unit 13, the Web server 11, It includes a relay processing unit 15 that relays information notified to the sequence control unit 12, a socket communication unit 16, and a content storage unit 17 that stores a plurality of Web pages. The status notification processing unit 14 and the relay processing unit 15 can be realized as, for example, a DLL (Dynamic Link Library).
[0019]
The state notification processing unit 14 notifies the sequence control unit 12 of the state of the Web browser 21 based on the response returned by the Web server 11 to the Web browser 21.
[0020]
The Web pages stored in the content storage unit 17 include those in which the display order (sequence) is determined in advance. For example, a Web page related to user authentication is displayed on the Web browser 21 in the order of an idle screen, an authentication start screen, an authentication confirmation screen, and an individual screen.
[0021]
The Web server 11 receives an HTTP request from a Web browser and returns an HTTP response according to the request. For example, based on the URL (Uniform Resource Locator) included in the HTTP request, the Web page stored in the content storage unit 17 is acquired and returned as a response.
[0022]
The sequence control unit 12 controls the display order of Web pages displayed on the display device of the client. For example, the sequence control unit 12 stores the display order of Web pages whose sequence is determined in advance as described above. Then, the sequence control unit 12 determines whether the Web page displayed on the Web browser 21 follows this sequence. When the sequence is not followed, a page switching command for making a request according to the sequence is generated. The page switching command generated here includes the URL of the next Web page to be displayed according to the sequence. Then, the page switching command is notified to the client management unit 13 via the relay processing unit 15.
[0023]
Further, the Web server 11 generates a page switching command based on the request from the client, and notifies the client management unit 13 via the relay processing unit 15. For example, if a page switching command is sent to a client different from the client that sent the request, one client can control the display screen of another client. At this time, the request includes the URL of the page to be displayed and the IP address of the client to display the page. This processing can be realized as a thread in the Web server 11.
[0024]
In other words, the present system 1 is basically based on a pull operation in which the client 20 actively acquires information from the server 10, and the sequence control unit 12 generates a page switching command and pushes the page switching command to the client 20. 20 can be forced to perform a pull operation.
[0025]
The timing for generating the page switching command may be any timing other than the above. For example, the sequence control unit 12 may generate a page switching command based on a notification from an application program (not shown) or the like.
[0026]
The socket communication units 16 and 25 are connection means for establishing a connection using a socket with each other. Therefore, the client 20 and the server 10 can establish a connection using a socket using the socket communication units 16 and 25 and perform communication in addition to the communication using the HTTP.
[0027]
The socket communication unit 16 establishes a connection using a socket, for example, in response to a request from the socket communication unit 25 of the client. In the client table 19, the IP address of the client that has established the connection may be registered. Then, the client management unit 13 transmits the page switching command generated by the sequence control unit 12 using this connection.
[0028]
The client management unit 13 manages a client to which the server 1 performs sequence control. The client management unit 13 has a client table 19 in which a sequence control target client is registered. The client table 19 includes, for example, an IP address 191 of the client and an ID 192 for identifying the client in the server, as shown in FIG. By referring to this table, the client whose sequence is to be controlled can be known.
[0029]
Next, a processing procedure when the server 10 forcibly causes the client 20 to switch pages in the present system 1 having the above-described configuration will be described with reference to the flowchart in FIG.
[0030]
First, the sequence control unit 12 requests the client management unit 13 to acquire an ID via the relay processing unit 15, and acquires the ID of the client registered in the client table 19 (S11). Then, the sequence control unit 12 generates a page switching command and notifies the client management unit 13 via the relay processing unit 15. (S12). The page switching command is provided with a destination ID. The client management unit 13 converts the ID into an IP address, and transmits a page switching command from the socket communication unit 25 to the client 20.
[0031]
In the client 20, the request issuance instructing unit 22 acquires the page switching command via the socket communication unit 25, and instructs the Web browser 21 to issue a request for acquiring the page of the URL included in the page switching command. (S14). The Web browser 21 issues a request to the server 10 according to the instruction (S15). In the server 10, the Web server 11 returns a response based on the request (S16). The Web browser 21 receives this response and switches the page to be displayed on the display device (S17). As a result, the server 10 can force the client 20 to switch pages.
[0032]
Next, a process of the sequence control unit 12 when displaying a content whose sequence is predetermined will be described with reference to a flowchart of FIG. Here, the exemplified sequence is an authentication sequence including page 1 (idle screen) → page 2 (authentication start screen) → page 3 (authentication confirmation screen) → page 4 (individual screen). In this sequence, if the display does not transition to the next screen even if the display time of the page 2 and the page 3 has passed a certain time, the process returns to the page 1 as a timeout.
[0033]
The sequence control unit 12 generates a page switching command for displaying page 1 and sends it to the client 20 to display page 1 (S21). The sequence control unit 12 monitors the status change of the client 20 and determines whether the page has been switched (S22). When the page is switched (S22: Yes), it is determined whether the newly displayed page is page 2 (S23). Here, when the page is not switched to page 2 (S23: No), the sequence is not followed, and the process returns to step S21, and page 1 is forcibly displayed.
[0034]
When the page is switched to page 2 (S23: Yes), since the sequence is followed, the process proceeds to the next step, and it is determined whether or not the page 2 is displayed for a predetermined time (S24). If the display time of page 2 exceeds the predetermined time (S24: Yes), the process returns to step S21, and page 1 is forcibly displayed. If the predetermined time has not elapsed (S24: No), the sequence control unit 12 monitors the state change of the client 20, and determines whether the page has been switched (S25). When the page has been switched (S25: Yes), it is determined whether the newly displayed page is page 3 (S26). Here, when the switching to the page 3 is not performed (S26: No), the sequence does not follow the sequence, so the sequence control unit 12 generates a page switching command for displaying the page 2 and sends it to the client 20 to display the page 2. Then, the process returns to step S24 (S31).
[0035]
When the page is switched to page 3 (S26: Yes), since the sequence is followed, the process proceeds to the next step, and it is determined whether or not the page 3 is displayed for a predetermined time (S27). If the display time of page 3 exceeds the predetermined time (S27: Yes), the process returns to step S21, and page 1 is forcibly displayed. If the predetermined time has not elapsed (S27: No), the sequence control unit 12 monitors the status change of the client 20 and determines whether the page has been switched (S28). When the page is switched (S28: Yes), it is determined whether the newly displayed page is page 4 (S29). Here, when the page is not switched to the page 4 (S29: No), the sequence does not follow the sequence, so the sequence control unit 12 generates a page switching command for displaying the page 3 and sends it to the client 20 to display the page 3. Then, the process returns to step S27 (S32). When the page is switched to page 4 (S29: Yes), the sequence is followed, and the personal screen is displayed as it is. Thereby, the sequence of the screen displayed by the server 10 on the client 20 can be controlled.
[0036]
Next, a processing procedure when the server 10 accepts an order for a product or the like from the client 20 in the present system 1 will be described with reference to FIG.
[0037]
First, an order screen for inputting an order is displayed on the Web browser 21 of the client 20. The user using the client 20 inputs necessary information on this screen and sends a request to the server 10 (S41). When the Web server 11 receives the request, a confirmation screen indicating that the order has been received is returned to the Web browser 21 as a response (S42).
[0038]
Then, the Web server 11 instructs the order processing unit 30 that performs predetermined order processing such as checking of stock to perform processing (S43). When the order processing unit 30 completes the predetermined process, the order processing unit 30 notifies the sequence control unit 12 of the completion (S44). The sequence control unit 12 generates a page switching command for displaying the order result screen indicating the order result, and transmits the command to the client 20 via the client management unit 13 (S45, S46).
[0039]
In the client 20, the request issuance instructing unit 22 receives this, and instructs the Web browser 21 to issue a request for acquiring the page 3 (S47). In response to this, the Web browser 21 makes a request to the Web server 11 to acquire the order result screen, and acquires and displays the request.
[0040]
As described above, since some processing must be performed after receiving the request, a temporary response (S42) to the request (S41) is returned even when the processing result cannot be returned immediately. Alternatively, the server can notify the client of the processing end timing and cause the client to acquire a page on which the processing result is displayed. That is, according to the present embodiment, in the pull-type client-server system, the server can perform a push for forcibly causing the client to perform the pull.
[0041]
The embodiments of the present invention described above are exemplifications for describing the present invention, and are not intended to limit the scope of the present invention only to those embodiments. Those skilled in the art can implement the present invention in various other modes without departing from the gist of the present invention.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a client-server system according to an embodiment to which the present invention is applied.
FIG. 2 is a diagram illustrating an example of a client table.
FIG. 3 is a flowchart illustrating a procedure of a forced page switching process.
FIG. 4 is a flowchart of a process performed by a sequence control unit 12.
FIG. 5 is a diagram showing a processing sequence when order processing is performed.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Client server system, 10 ... Server, 11 ... Web server, 12 ... Sequence control part, 13 ... Client management part, 16, 25 ... Socket communication part, 20 ... Client, 21 ... Web browser, 22 ... Request issue instruction Department.

Claims (11)

ブラウザを備えるクライアントと、
前記ブラウザからのHTTP(Hyper Text Transfer Protocol)のリクエストを受け付けて、前記リクエストに対するHTTPのレスポンスを返すサーバとを備え、
前記サーバは、
前記クライアントからのコネクション確立要求に応じ、前記クライアントとソケットを使ってコネクションを確立するためのコネクション手段と、
前記ブラウザに所定のリクエストをさせるためのコマンドを生成する手段と、
前記コネクション手段により確立されたコネクションを用いて、前記生成されたコマンドを前記クライアントへ送信する手段と、を備えるクライアント・サーバシステム。
A client with a browser,
A server that receives an HTTP (Hyper Text Transfer Protocol) request from the browser and returns an HTTP response to the request;
The server comprises:
Connection means for establishing a connection using a socket with the client in response to a connection establishment request from the client;
Means for generating a command for causing the browser to make a predetermined request;
Means for transmitting the generated command to the client using the connection established by the connection means.
前記コネクション手段がコネクションを確立したクライアントのIPアドレスを記憶する記憶手段をさらに備え、
前記生成手段は、前記記憶手段にIPアドレスが記憶されているクライアントに対するコマンドを生成し、
前記送信手段は、前記記憶手段を参照して前記生成されたコマンドを送信する請求項1記載のクライアント・サーバシステム。
Storage means for storing an IP address of a client with which the connection means has established a connection,
The generation unit generates a command for a client whose IP address is stored in the storage unit,
2. The client-server system according to claim 1, wherein the transmission unit transmits the generated command with reference to the storage unit.
クライアントからのリクエストを受け付けて、前記クライアントに対して前記リクエストに対するレスポンスを返す手段と、
前記クライアントに所定のリクエストを行わせるためのコマンドを生成する手段と、
前記生成されたコマンドを前記クライアントに対して送信する手段と、を備えるサーバ。
Means for receiving a request from a client and returning a response to the request to the client;
Means for generating a command for causing the client to make a predetermined request,
Means for transmitting the generated command to the client.
表示させる順序が予め定められている複数のページを有するコンテンツを記憶する手段と、
前記クライアントから、前記複数のページのいずれかを取得するためのリクエストを受け付けたとき、そのリクエストが前記表示順序に従うかどうかを判定する手段と、をさらに備え、
前記取得したリクエストが前記表示順序に従わないときは、
前記コマンド生成手段は、前記表示順序に従ったリクエストを前記クライアントに行わせるためのコマンドを生成する請求項3記載のサーバ。
Means for storing content having a plurality of pages whose display order is predetermined,
From the client, when receiving a request to acquire any of the plurality of pages, further comprising means for determining whether the request follows the display order,
When the obtained request does not follow the display order,
The server according to claim 3, wherein the command generation unit generates a command for causing the client to make a request according to the display order.
第1のクライアントからのリクエストを受け付けて、第1のクライアントに対して前記リクエストに対するレスポンスを返す手段と、
第1のクライアントからのリクエストを受け付けて、第2のクライアントに所定のリクエストを行わせるためのコマンドを生成する手段と、
前記生成されたコマンドを第2のクライアントに対して送信する手段と、を備えるサーバ。
Means for receiving a request from a first client and returning a response to the request to the first client;
Means for receiving a request from the first client and generating a command for causing the second client to make a predetermined request;
Means for transmitting the generated command to a second client.
クライアントが有するWebブラウザからHTTP(Hyper Text Transfer Protocol)のリクエストを受け付けて、前記リクエストに対するHTTPのレスポンスを返すWebサーバと、
前記クライアントからのコネクション確立要求に応じ、前記クライアントとソケットを使ってコネクションを確立するためのコネクション手段と、
前記Webブラウザに、前記Webサーバに対する所定のHTTPリクエストをさせるためのコマンドを生成する手段と、
前記コネクション手段により確立されたコネクションを用いて、前記生成されたコマンドを前記クライアントへ送信する手段と、を備える情報処理装置。
A Web server that receives an HTTP (Hyper Text Transfer Protocol) request from a Web browser of the client and returns an HTTP response to the request;
Connection means for establishing a connection using a socket with the client in response to a connection establishment request from the client;
Means for generating a command for causing the Web browser to make a predetermined HTTP request to the Web server;
Means for transmitting the generated command to the client using a connection established by the connection means.
前記コマンドには、前記Webブラウザに表示させるWebページのURL(Uniform Resource Locator)を含む請求項6記載の情報処理装置。The information processing apparatus according to claim 6, wherein the command includes a URL (Uniform Resource Locator) of a Web page displayed on the Web browser. クライアントからのリクエストを受け付けて、前記クライアントに対して前記リクエストに対するレスポンスを返すステップと、
前記クライアントに所定のリクエストを行わせるためのコマンドを生成するステップと、
前記生成されたコマンドを前記クライアントに対して送信するステップと、を有するクライアントにリクエストを行わせる方法。
Receiving a request from a client and returning a response to the request to the client;
Generating a command for causing the client to make a predetermined request;
Sending the generated command to the client.
クライアントが有するWebブラウザからHTTP(Hyper Text Transfer Protocol)のリクエストを受け付けて、前記リクエストに対するHTTPのレスポンスを返すステップと、
前記クライアントからのコネクション確立要求に対して、前記クライアントとソケットを使ってコネクションを確立するステップと、
前記Webブラウザに、前記Webサーバに対する所定のHTTPリクエストをさせるためのコマンドを生成するステップと、
前記確立されたコネクションを用いて、前記生成されたコマンドを前記クライアントに送信するステップと、を有するクライアントにリクエストを行わせる方法。
Receiving an HTTP (Hyper Text Transfer Protocol) request from a Web browser of the client and returning an HTTP response to the request;
Establishing a connection using a socket with the client in response to a connection establishment request from the client;
Generating a command for causing the Web browser to make a predetermined HTTP request to the Web server;
Sending the generated command to the client using the established connection.
コンピュータに実行されると、
クライアントが有するWebブラウザからHTTP(Hyper Text Transfer Protocol)のリクエストを受け付けて、前記リクエストに対するHTTPのレスポンスを返すステップと、
前記クライアントからのコネクション確立要求に対して、前記クライアントとソケットを使ってコネクションを確立するステップと、
前記Webブラウザに、前記Webサーバに対する所定のHTTPリクエストをさせるためのコマンドを生成するステップと、
前記確立されたコネクションを用いて、前記生成されたコマンドを前記クライアントに送信するステップと、を行うクライアントにリクエストを行わせるためのコンピュータプログラム。
When executed on a computer,
Receiving an HTTP (Hyper Text Transfer Protocol) request from a Web browser of the client and returning an HTTP response to the request;
Establishing a connection using a socket with the client in response to a connection establishment request from the client;
Generating a command for causing the Web browser to make a predetermined HTTP request to the Web server;
Transmitting the generated command to the client using the established connection; and causing the client to perform the request to make a request.
コンピュータに実行されると、
クライアントが有するWebブラウザからHTTP(Hyper Text Transfer Protocol)のリクエストを受け付けて、前記リクエストに対するHTTPのレスポンスを返すステップと、
前記クライアントからのコネクション確立要求に対して、前記クライアントとソケットを使ってコネクションを確立するステップと、
前記Webブラウザに、前記Webサーバに対する所定のHTTPリクエストをさせるためのコマンドを生成するステップと、
前記確立されたコネクションを用いて、前記生成されたコマンドを前記クライアントに送信するステップと、を行うクライアントにリクエストを行わせるためのコンピュータプログラム。
When executed on a computer,
Receiving an HTTP (Hyper Text Transfer Protocol) request from a Web browser of the client and returning an HTTP response to the request;
Establishing a connection using a socket with the client in response to a connection establishment request from the client;
Generating a command for causing the Web browser to make a predetermined HTTP request to the Web server;
Transmitting the generated command to the client using the established connection; and causing the client to perform the request.
JP2003147937A 2003-05-26 2003-05-26 Client server system, server, and information processing system Pending JP2004348666A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003147937A JP2004348666A (en) 2003-05-26 2003-05-26 Client server system, server, and information processing system
CNB2004100347460A CN100352195C (en) 2003-05-26 2004-05-09 Jp2004348666

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003147937A JP2004348666A (en) 2003-05-26 2003-05-26 Client server system, server, and information processing system

Publications (1)

Publication Number Publication Date
JP2004348666A true JP2004348666A (en) 2004-12-09

Family

ID=33534325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003147937A Pending JP2004348666A (en) 2003-05-26 2003-05-26 Client server system, server, and information processing system

Country Status (2)

Country Link
JP (1) JP2004348666A (en)
CN (1) CN100352195C (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296236B (en) * 2008-06-12 2011-06-08 北京中星微电子有限公司 Method, system and data client terminal for multi-user real-time access to multimedia data
CN101854367A (en) * 2010-06-13 2010-10-06 用友软件股份有限公司 Method and system for server side to monitor client

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987523A (en) * 1997-06-04 1999-11-16 International Business Machines Corporation Applet redirection for controlled access to non-orginating hosts
US6070184A (en) * 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
JP3594231B2 (en) * 1999-11-30 2004-11-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Information control system, information processing support server, information processing terminal, information processing method, and storage medium

Also Published As

Publication number Publication date
CN1574742A (en) 2005-02-02
CN100352195C (en) 2007-11-28

Similar Documents

Publication Publication Date Title
EP1927234B1 (en) Apparatus and method for providing remote user interface
JP5641921B2 (en) Image processing apparatus, system having image processing apparatus and external apparatus, system control method, and program
JP2006268470A (en) Asynchronous communication method
JP2005267303A (en) Information processing apparatus, network system and method for controlling network system
US20120268784A1 (en) Information processing apparatus that displays operation screen and control method therefor
EP1180886A1 (en) Load balancing method and system
JP2011065594A (en) Information processing apparatus, user interface display control method in the same, and program
JP2007312028A (en) Monitor image sending-out device and program
JP2008209982A (en) Server device, client device, remote connection system and program
US20120050805A1 (en) Server apparatus, network system, job processing method, and storage medium
JP2004348666A (en) Client server system, server, and information processing system
JP6559587B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION PROGRAM
JP2010097543A (en) Service support program and service support method
JP4287012B2 (en) Control system and client terminal
JP3682914B2 (en) Data communication system, data processing apparatus used therefor, connection maintaining method using browser, and recording medium
KR100365137B1 (en) System and method for maintaining a mobile internet connection
JP2007268752A (en) Image forming device
JP2003248613A (en) Information distributing system and distributed information creating device used therein
JP2012080256A (en) Image processor, control method and program thereof
JP2019016223A (en) Communication system, communication device and control method therefor, and program
JP2004326643A (en) Document delivery request acceptance device, document delivery device, document delivery method, document delivery program and recording medium
JP2005107662A (en) Www system processing method and system
JP2005078339A (en) Wsdl document preparation device and method
JP2003046695A (en) Network picture input device and picture input method
JP2003153351A (en) Remote-control operated apparatus, remote control operation system and method of apparatus