(57)【特許請求の範囲】
【請求項１】
ウェブネットワーク上でサーバ側装置とクライアント側装置のウェブブラウザとがステートレスのプロトコルに従って動作するデータ通信システムにおいて、上記サーバ側装置は、
上記クライアント側装置との間で複数の接続および非同期の通信を実現するために上記ウェブブラウザ上で画面分割された複数領域の情報を、上記クライアント側装置との間でそれぞれ非同期で送受信するサーバ入出力手段と、
上記クライアント側装置の第１の領域と上記ウェブネットワークを介して接続され、上記第１の領域から上記サーバ入出力手段に要求が入力されたときに、上記入力された要求に応じた処理を実行して上記第１の領域に応答情報を送信した後、上記第１の領域との接続を切断する応答処理手段と、
上記クライアント側装置の第２の領域と上記ウェブネットワークを介して接続され、上記第２の領域から上記サーバ入出力手段に要求が入力されたときに、任意のイベントの発生に応じて提供情報を生成し、生成した提供情報を上記第２の領域に送信する提供情報生成送信手段と、
上記クライアント側装置の上記第２の領域からの要求に応じて上記第２の領域と接続した後、上記任意のイベントが発生するまでの間、上記第２の領域との接続状態を維持して応答を待機し、上記提供情報生成送信手段により上記提供情報の送信が行われた後に上記第２の領域との接続を切断する接続維持制御手段とを備え、
上記クライアント側装置では、上記サーバ側装置から上記第２の領域に上記提供情報を受信したときに、当該受信した提供情報を用いた処理を行った後、上記第２の領域から上記サーバ側装置への接続要求を自動的に行うことを特徴とするデータ通信システム。
【請求項２】
ウェブネットワーク上でサーバ側装置とクライアント側装置のウェブブラウザとがステートレスのプロトコルに従って動作するデータ通信システムにおいて、上記サーバ側装置は、
上記クライアント側装置との間で複数の接続および非同期の通信を実現するために上記ウェブブラウザ上で画面分割された複数領域の情報を、上記クライアント側装置との間でそれぞれ非同期で送受信するサーバ入出力手段と、
上記クライアント側装置の第２の領域と上記ウェブネットワークを介して接続され、上記第２の領域から上記サーバ入出力手段に要求が入力されたときに、任意のイベントの発生に応じて提供情報を生成し、生成した提供情報を上記第２の領域に送信する提供情報生成送信手段と、
上記クライアント側装置の上記第２の領域からの要求に応じて上記第２の領域と接続した後、上記任意のイベントが発生するまでの間、上記第２の領域との接続状態を維持して応答を待機し、上記提供情報生成送信手段により上記提供情報の送信が行われた後に上記第２の領域との接続を切断する接続維持制御手段とを備え、
上記クライアント側装置では、上記サーバ側装置から上記第２の領域に上記提供情報を受信したときに、当該受信した提供情報を用いた処理を行った後、上記第２の領域から上記サーバ側装置への接続要求を自動的に行うことを特徴とするデータ通信システム。
【請求項３】
上記提供情報を用いた処理は、上記提供情報中に含まれるデータを上記第２の領域へ表示する処理を含むことを特徴とする請求項１または２に記載のデータ通信システム。
【請求項４】
上記提供情報を用いた処理は、上記提供情報中に含まれるデータを上記第２の領域以外の領域へ表示する処理を含むことを特徴とする請求項１または２に記載のデータ通信システム。
【請求項５】
上記提供情報を用いた処理は、上記提供情報中に含まれるスクリプトに基づく処理を含むことを特徴とする請求項１または２に記載のデータ通信システム。
【請求項６】
上記任意のイベントは、上記サーバ側装置が保持するデータや上記サーバ側装置の状況に変化が生じたことを含むことを特徴とする請求項１〜５の何れか１項に記載のデータ通信システム。
【請求項７】
上記任意のイベントは、上記クライアント側装置が上記ウェブブラウザをシャットダウンし、あるいは他のページに移動したことを含むことを特徴とする請求項１〜５の何れか１項に記載のデータ通信システム。
【請求項８】
上記任意のイベントは、上記要求の発行元のクライアント側装置宛てのメッセージを受信したことを含むことを特徴とする請求項１〜５の何れか１項に記載のデータ通信システム。
【請求項９】
上記サーバ側装置と上記クライアント側装置との接続状況を監視するための専用領域として第３の領域を設け、
上記クライアント側装置との接続状況が変化するまでの間、上記サーバ側装置と上記クライアント側装置の上記第３の領域との接続状態を維持して上記クライアント側装置との接続状況を監視する接続監視処理手段を備えたことを特徴とする請求項１〜８の何れか１項に記載のデータ通信システム。
【請求項１０】
ウェブネットワーク上でサーバ側装置とクライアント側装置のウェブブラウザとがステートレスのプロトコルに従って動作するデータ通信システムにおいて、上記サーバ側装置は、
上記クライアント側装置との間で複数の接続および非同期の通信を実現するために上記ウェブブラウザ上で画面分割された複数領域の情報を、上記クライアント側装置との間でそれぞれ非同期で送受信するサーバ入出力手段と、
上記クライアント側装置の第１の領域と上記ウェブネットワークを介して接続され、上記第１の領域から上記サーバ入出力手段に要求が入力されたときに、上記入力された要求に応じた処理を実行して上記第１の領域に応答情報を送信する応答処理手段と、
上記クライアント側装置と上記ウェブネットワークを介して接続され、上記クライアント側装置の第３の領域から上記サーバ入出力手段に要求が入力されたときに、上記クライアント側装置との接続状況が変化するまでの間、上記サーバ側装置と上記クライアント側装置の上記第３の領域との接続状態を維持して上記クライアント側装置との接続状況を監視する接続監視処理手段とを備えたことを特徴とするデータ通信システム。
【請求項１１】
上記サーバ側装置は、上記要求の発行元であるクライアント側装置を識別するためのセッション維持情報を上記クライアント側装置に与える手段を含み、上記セッション維持情報をもとに、上記要求が同じ発行元から出されているかどうかを判別して通信するようにしたことを特徴とする請求項１〜１０の何れか１項に記載のデータ通信システム。
【請求項１２】
ウェブネットワーク上に存在するクライアント側装置のウェブブラウザとの間でステートレスのプロトコルに従ってデータ通信を行うサーバ側装置であって、
上記クライアント側装置との間で複数の接続および非同期の通信を実現するために上記ウェブブラウザ上で画面分割された複数領域の情報を、上記クライアント側装置との間でそれぞれ非同期で送受信するサーバ入出力手段と、
上記クライアント側装置の第１の領域と上記ウェブネットワークを介して接続され、上記第１の領域から上記サーバ入出力手段に要求が入力されたときに、上記入力された要求に応じた処理を実行して上記第１の領域に応答情報を送信した後、上記第１の領域との接続を切断する応答処理手段と、
上記クライアント側装置の第２の領域と上記ウェブネットワークを介して接続され、上記第２の領域から上記サーバ入出力手段に要求が入力されたときに、任意のイベントの発生に応じて提供情報を生成し、生成した提供情報を上記第２の領域に送信する提供情報生成送信手段と、
上記クライアント側装置の上記第２の領域からの要求に応じて上記第２の領域と接続した後、上記任意のイベントが発生するまでの間、上記第２の領域との接続状態を維持して応答を待機し、上記提供情報生成送信手段により上記提供情報の送信が行われた後に上記第２の領域との接続を切断する接続維持制御手段とを備えたことを特徴とするデータ処理装置。
【請求項１３】
ウェブネットワーク上に存在するクライアント側装置のウェブブラウザとの間でステートレスのプロトコルに従ってデータ通信を行うサーバ側装置であって、
上記クライアント側装置との間で複数の接続および非同期の通信を実現するために上記ウェブブラウザ上で画面分割された複数領域の情報を、上記クライアント側装置との間でそれぞれ非同期で送受信するサーバ入出力手段と、
上記クライアント側装置の第２の領域と上記ウェブネットワークを介して接続され、上記第２の領域から上記サーバ入出力手段に要求が入力されたときに、任意のイベントの発生に応じて提供情報を生成し、生成した提供情報を上記第２の領域に送信する提供情報生成送信手段と、
上記クライアント側装置の上記第２の領域からの要求に応じて上記第２の領域と接続した後、上記任意のイベントが発生するまでの間、上記第２の領域との接続状態を維持して応答を待機し、上記提供情報生成送信手段により上記提供情報の送信が行われた後に上記第２の領域との接続を切断する接続維持制御手段とを備えたことを特徴とするデータ処理装置。
【請求項１４】
上記クライアント側装置と上記ウェブネットワークを介して接続され、上記クライアント側装置の第３の領域から上記サーバ入出力手段に要求が入力されてから、上記クライアント側装置との接続状況が変化するまでの間、上記クライアント側装置の上記第３の領域との接続状態を維持して上記クライアント側装置との接続状況を監視する接続監視処理手段を備えたことを特徴とする請求項１２または１３に記載のデータ処理装置。
【請求項１５】
ウェブネットワーク上に存在するクライアント側装置のウェブブラウザとの間でステートレスのプロトコルに従ってデータ通信を行うサーバ側装置であって、
上記クライアント側装置との間で複数の接続および非同期の通信を実現するために上記ウェブブラウザ上で画面分割された複数領域の情報を、上記クライアント側装置との間でそれぞれ非同期で送受信するサーバ入出力手段と、
上記クライアント側装置の第１の領域と上記ウェブネットワークを介して接続され、上記第１の領域から上記サーバ入出力手段に要求が入力されたときに、上記入力された要求に応じた処理を実行して上記第１の領域に応答情報を送信する応答処理手段と、
上記クライアント側装置と上記ウェブネットワークを介して接続され、上記クライアント側装置の第３の領域から上記サーバ入出力手段に要求が入力されたときに、上記クライアント側装置との接続状況が変化するまでの間、上記クライアント側装置の上記第３の領域との接続状態を維持して上記クライアント側装置との接続状況を監視する接続監視処理手段とを備えたことを特徴とするデータ処理装置。
【請求項１６】
上記要求の発行元であるクライアント側装置を識別するためのセッション維持情報を上記クライアント側装置に与える手段を含み、
上記セッション維持情報をもとに、上記要求が同じ発行元から出されているかどうかを判別して上記データ通信を行うようにしたことを特徴とする請求項１２〜１５の何れか１項に記載のデータ処理装置。
【請求項１７】
ウェブサーバとウェブブラウザとの間でウェブネットワークを介して行われるデータ通信において、
上記ウェブサーバと上記ウェブブラウザとが上記ウェブネットワークを介して接続され、上記ウェブブラウザ上で画面分割された第１のフレームから上記ウェブサーバに要求が入力されたときには、上記入力された要求に応じた処理を実行して上記ウェブブラウザの第１のフレームに応答情報を送信し、
上記ウェブサーバと上記ウェブブラウザとが上記ウェブネットワークを介して接続され、上記ウェブブラウザ上で画面分割された第２のフレームから上記ウェブサーバに要求が入力されたときには、上記ウェブサーバ側で任意のイベントが発生するまでの間、上記ウェブサーバと上記ウェブブラウザの上記第２のフレームとの接続状態を維持して上記ウェブサーバから上記ウェブブラウザの上記第２のフレームへの応答を待機し、上記任意のイベントの発生に応じて提供情報を生成し、生成した提供情報を上記ウェブサーバから上記ウェブブラウザの上記第２のフレームに送信するとともに、上記ウェブブラウザでは、上記第２のフレームで上記提供情報を受信した後、上記第２のフレームから上記ウェブサーバへの接続要求を自動的に行うようにしたことを特徴とするブラウザを利用した接続維持方法。
【請求項１８】
上記ウェブサーバと上記ウェブブラウザとが上記ウェブネットワークを介して接続され、上記ウェブブラウザ上で画面分割された第３のフレームであって、上記ウェブサーバと上記ウェブブラウザとの接続状況を監視するための専用フレームから上記ウェブサーバに要求が入力されたときには、上記ウェブサーバと上記ウェブブラウザとの接続状況が変化するまでの間、上記ウェブサーバと上記ウェブブラウザの上記第３のフレームとの接続状態を維持して上記ウェブサーバと上記ウェブブラウザとの接続状況を監視することを特徴とする請求項１７に記載のブラウザを利用した接続維持方法。
【請求項１９】
ウェブサーバとウェブブラウザとの間でウェブネットワークを介して行われるデータ通信において、上記ウェブサーバと上記ウェブブラウザとが上記ウェブネットワークを介して接続され、上記ウェブブラウザ上で画面分割された第３のフレームから上記ウェブサーバに要求が入力されたときには、上記ウェブサーバと上記ウェブブラウザとの接続状況が変化するまでの間、上記ウェブサーバと上記ウェブブラウザの上記第３のフレームとの接続状態を維持して上記ウェブサーバと上記ウェブブラウザとの接続状況を監視するようにしたことを特徴とするブラウザを利用した接続維持方法。
【請求項２０】
上記要求の発行元であるクライアントを識別するためのセッション維持情報を上記ウェブサーバが上記クライアントに与え、
上記ウェブサーバが上記セッション維持情報をもとに、上記要求が同じ発行元から出されているかどうかを判別して上記クライアントのウェブブラウザとの間で通信を行うようにしたことを特徴とする請求項１７〜１９の何れか１項に記載のブラウザを利用した接続維持方法。
【請求項２１】
請求項１〜１６の何れか１項に記載の各手段としてコンピュータを機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２２】
請求項１７〜２０の何れか１項に記載の接続維持方法の処理手順をコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ通信システムおよびこれに用いるデータ処理装置、ブラウザを利用した接続維持方法、記録媒体に関し、特に、ネットワーク上にウェブサーバとウェブブラウザとを備えたウェブシステムのように、ステートレスのプロトコルに従って動作するシステムに用いて好適なものである。
【０００２】
【従来の技術】
現在、コンピュータや携帯電話等の広範な普及と、インターネット技術の進展などを背景として、インターネットを利用した様々なサービスが多く提供されている。これらのサービスの殆どは、サーバ側に備えられたウェブサーバと、クライアント側に備えられたウェブブラウザとの間でデータ通信を行うことによって実現されるものである。
【０００３】
すなわち、ウェブサーバは、クライアント側のウェブブラウザから送られてきた要求に応じて、サービス提供用に用意されたＨＴＭＬ（Hyper Text Markup Language）などの情報を提供する。クライアント側では、ウェブサーバから送られてきたＨＴＭＬ情報をウェブブラウザで解析し、当該ＨＴＭＬ情報により示される内容を画面上に表示する。クライアントユーザは、この画面表示の内容を見て、必要に応じてウェブブラウザから情報を入力してウェブサーバに再送することにより、所望のサービスの提供を受けることができる。
【０００４】
ウェブサーバとウェブブラウザとの間のデータ通信の手順をより具体的に説明すると、以下の通りである。まず、クライアント側のウェブブラウザは、ユーザが指定したＵＲＬ（Uniform Resource Locator）に従って、そのＵＲＬを持つウェブサーバに対してＨＴＭＬ情報の送信を要求する。このＨＴＭＬ情報の送信要求を受けたウェブサーバは、指定されたＵＲＬのＨＴＭＬソースコードをウェブブラウザに送信する。
【０００５】
ウェブブラウザは、ウェブサーバから受け取ったＨＴＭＬソースコードを解析して、そのソースコード中に含まれるテキスト情報等を画面表示する。さらに、このソースコード中に画像や音声などのリンク情報が存在している場合には、ウェブブラウザは、先ほどと同じウェブサーバに対してリンク情報の送信を要求する。このリンク情報の送信要求を受けたウェブサーバは、要求されたリンク情報をウェブブラウザに送信する。
【０００６】
このようなウェブサーバとウェブブラウザとの間の一連のやり取りによって、クライアント側の表示画面にサービス提供用のホームページが表示されることとなる。そして、上述のようにクライアントユーザがこの画面表示の内容を見て、必要に応じてウェブブラウザから情報を入力してウェブサーバに送信し、ウェブサーバからそれに対する応答を入力することなどによって、所望のサービスの提供を受けることができる。
【０００７】
【発明が解決しようとする課題】
このようなウェブサーバとウェブブラウザとを有するウェブシステムは、その時々の接続状態を維持しないステートレスのプロトコルによって動作するシステムである。このステートレスなウェブシステムでは、ウェブブラウザからの要求に対応してウェブサーバがデータの送信を一度完了すると、ウェブブラウザとの接続（セッション）が切断される。つまり、個々のデータ送受信毎にセッションが独立しており、どのウェブブラウザとどのウェブサーバとが接続されているか等の接続状態は全く維持されていない。
【０００８】
そのため、ウェブサーバは、ウェブブラウザからＵＲＬを指定して情報提供の要求があったときに、そのＵＲＬに対応するデータを要求元のウェブブラウザに返送することができるだけである。また、接続のための識別記号をリクエストと共に送ることで、ウェブサーバ側において擬似的にセッションを継続する方法は広く利用されているが、この方法では、特定のウェブブラウザに対して任意のタイミングでメッセージを自発的に送信することなどはできない。また、ウェブサーバは、クライアント側でウェブブラウザをシャットダウンしたり、他のＵＲＬに移動したりするなどの接続状況の変化を検知することもできない。
【０００９】
逆に、クライアント側から見れば、ウェブブラウザの基本的な機能は、所定のＵＲＬを指定してウェブサーバにアクセスし、当該ＵＲＬによって指定されたデータを取得してその情報を表示するだけである。したがって、このウェブブラウザの基本機能だけでは、他のクライアントに関するウェブサーバへの接続状況を知ることはできない。また、クライアントが任意のタイミングで、他のクライアントに対してデータを伴った通知を行うことなどもできない。
【００１０】
以上のように、ステートレスなウェブシステムでは、データ通信の方法に制約を受け、基本的には、ウェブブラウザから要求がある毎にウェブサーバが対応する情報を提供することしかできない。そのため、インターネット上で提供するサービスの手法もこのデータ通信の方法によって制限され、よりバリエーションに富んだサービス、よりユーザインタフェースの優れたサービス、より処理を効率的に行えるサービスなどを提供することができないという問題があった。
【００１１】
なお、ステートレスなウェブシステムではなく、サーバ側あるいはクライアント側でその時々の接続状態を維持するステートフルなシステムを用いれば、上述の問題は回避することができる。しかし、ステートフルなシステムとする場合には、提供しようとするサービスに合わせた専用のクライアント端末、あるいは専用のクライアント・ソフトウェアや特殊なコンポーネントなどを用意する必要がある。特定の企業間取引などを行う場合にはそれでも良いが、各家庭や企業等に存在する一般ユーザを対象としてサービスを提供する場合に、それら一般ユーザのそれぞれに専用端末や専用ソフトウェア等を持たせることは現実的でない。また、そのようなケースではウェブサーバに接続している以外のポートを使用するため、セキュリティ用のファイアウォールを経由して使用するためには特別な設定を行う必要がある。
【００１２】
上述したように、現在インターネット上で提供されている多くのサービスは、ウェブサーバとウェブブラウザとを有するステートレスなウェブシステムによるものである。また、今後提供される種々のサービスも、このようなウェブシステムによるものであることが予想される。したがって、専用のクライアント端末や専用のクライアント・ソフトウェア等を用いることなく、一般ユーザが簡単に使用し得るウェブシステムを用いて上述の問題を解決することが望まれる。
【００１３】
本発明は、このような問題を解決するために成されたものであり、専用のクライアント端末や専用のクライアント・ソフトウェア、あるいは特殊なコンポーネントを用いることなく、現在広く利用されているウェブシステムなどのステートレスなシステムを用いて、サーバ−クライアント間のセッションを維持した従来には全くないデータ通信を行うことができるようにすることを目的としている。
【００１４】
【課題を解決するための手段】
上記の課題を解決するために、本発明では、クライアント側装置が有するウェブブラウザの画面を第１の領域と第２の領域とに分割し、各領域とサーバ側装置との間で情報を非同期で送受信する。このとき、第１の領域に関しては、サーバ側装置は第１の領域からの要求に応じて当該第１の領域と接続した後、応答を返して第１の領域との接続を切断する。第２の領域に関しては、サーバ側装置は第２の領域からの要求に応じて当該第２の領域と接続した後、イベントが発生するまでの間は第２の領域との接続状態を維持して応答を待機し、イベントの発生に応じて応答を返した後に第２の領域との接続を切断する。そして、クライアント側装置では、サーバ側装置から応答を受信して第２の領域との接続が切断された後に、第２の領域からサーバ側装置への接続要求を自動的に行う。
【００１５】
本発明の他の態様では、サーバ側装置とクライアント側装置との接続状況を監視するための専用領域としてウェブブラウザ上に第３の領域を設け、当該第３の領域に関しては、サーバ側装置は第３の領域と接続した後、クライアント側装置との接続状況が変化するまでの間、第３の領域との接続状態を維持してクライアント側装置との接続状況を監視する。
【００１６】
本発明は上記技術手段より成るので、クライアント側装置からサーバ側装置に要求を送ると、任意のイベントが発生するまでサーバ側装置とクライアント側装置との接続が維持され、任意のイベントが発生したときにサーバ側装置で提供情報が生成されてクライアント側装置に返送されることとなる。さらに、サーバ側装置からクライアント側装置に提供情報が返送された後は、クライアント側装置からサーバ側装置への接続要求が自動的に行われることとなる。これにより、ステートレス（接続の状態情報を維持しないセッションレス）のプロトコルに従って動作するデータ通信システム、例えばウェブサーバとウェブブラウザとを備えたウェブシステムでも、クライアント側装置からサーバ側装置への接続の再要求時におけるごくわずかな時間を除いて接続を維持したデータ通信を行うことが可能となる。このように、ウェブシステム等を用いて接続を維持したデータ通信を行えるので、サーバ側装置に本発明の仕組みを導入するだけで、クライアント側装置には専用のクライアント・ソフトウェアや特殊なコンポーネントを用意する必要もない。
【００１７】
また、本発明によれば、クライアント側装置の１つのアプリケーション内においてサーバ側装置への複数の接続と非同期の通信を実現する機能（例えば、ウェブブラウザのフレーム機能）を有し、当該機能により画面分割された複数領域の情報をそれぞれ非同期で送受信することにより、サーバ側装置とクライアント側装置との間で送受信双方向の通信を非同期で任意に行うことが可能となる。
【００１８】
本発明の他の特徴によれば、サーバ側装置とクライアント側装置との接続状況を監視するための専用領域として第３の領域を設けたので、クライアント側装置には専用のクライアント・ソフトウェアや特殊なコンポーネントを用意することなく、他の領域を用いてデータ通信を行っている間にクライアント側装置との接続状況が変化した場合であっても、接続監視専用の第３の領域を用いたデータ通信によってクライアント側装置との接続状況の変化を確実に検知することが可能となる。
【００１９】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。
【００２０】
（第１の実施形態）
図１は、本発明のデータ通信システムを適用した第１の実施形態によるウェブシステムの機能構成例を示すブロック図である。図１に示すように、本実施形態のウェブシステムは、サーバコンピュータ１（以下、サーバと言う）と、ウェブクライアントコンピュータ２（以下、ウェブクライアントと言う）とを備えて構成される。これらのサーバ１およびウェブクライアント２は、通信手段を介してインターネット等のネットワーク３に任意に接続可能なように構成されている。
【００２１】
なお、ここではウェブクライアント２を１つのみ示しているが、この数には限定されない。実際には、多くのウェブクライアント２がネットワーク３に接続されている。
【００２２】
サーバ１は、その機能構成として、ウェブサーバ入出力部４、ウェブサーバ処理部５、セッション維持処理部６およびページ生成部７を備えている。また、ウェブクライアント２は、その機能構成として、ウェブブラウザ（ＷＷＷ検索・回覧ソフト）８を備えている。ウェブサーバ処理部５により本発明の応答処理手段が構成され、セッション維持処理部６により本発明の接続維持処理手段が構成され、ウェブサーバ入出力部４およびページ生成部７により本発明の提供情報生成送信手段が構成される。
【００２３】
なお、ウェブブラウザとは、例えばＨＴＴＰ（hypertext transfer protocol）、ＨＴＴＰＳ（hypertext transfer protocol over transport layer security / secure sockets layer）、Ｓ−ＨＴＴＰ（secure hypertext transfer）などのプロトコルに従って情報の送受信を行うウェブ用のブラウザを言う。
【００２４】
本実施形態のウェブブラウザ８は、フレーム機能を有している。本実施形態では、１つのページをデータ通信フレーム９とセッション維持フレーム１０とに分割し、それぞれのフレーム情報を非同期で通信することにより、送信および受信の双方向の通信を同時に行うことができるようにしている。
【００２５】
データ通信フレーム９は、従来のウェブシステムと同様に、ウェブブラウザ２側からＵＲＬを指定してサーバ１側に情報提供などを要求し、その応答としてサーバ１側から取得したページ情報（以下、応答ページと言う）を表示したり、表示された応答ページ中にデータを入力してサーバ１側に送信したりする処理を行うためのフレームである。
【００２６】
すなわち、ウェブブラウザ８内のデータ通信フレーム９は、ウェブクライアント２側のオペレータが指定するＵＲＬに従って、そのＵＲＬを持つサーバ１に対してＨＴＭＬ情報の転送を要求する。また、この要求に応じてサーバ１から提供されたＨＴＭＬ情報を解析し、応答ページをデータ通信フレーム９に表示する。オペレータは、この表示された応答ページに対して必要なデータを入力し、サーバ１に送信することも可能である。
【００２７】
また、セッション維持フレーム１０は、サーバ１がウェブブラウザ８からの要求に応じてデータ通信フレーム９にデータの送信を完了しても、ウェブブラウザ８との接続を切断せずに維持するために使用するフレームである。このセッション維持フレーム１０には、後述するように、ウェブブラウザ８からサーバ１に要求を出してから任意のタイミングでサーバ１から送られてくる種々のページ情報（以下、提供ページと言う）が表示される。
【００２８】
すなわち、セッション維持フレーム１０は、サーバ１から提供ページに相当するＨＴＭＬ情報が送られてきたときは、そのＨＴＭＬ情報を解析し、表示すべきデータが含まれている場合にはそのデータを含む提供ページを表示する。このセッション維持フレーム１０では、一度サーバ１から提供ページを受信して表示などの処理を行ったら、直ちにサブミットの処理を自動的に行うことにより、ページ情報の提供を再度要求する。
【００２９】
次に、サーバ１内の機能構成を説明する。ウェブサーバ入出力部４は、ネットワーク３上に接続されたウェブクライアント２との間でＨＴＭＬ形式に従ってデータのやり取りをする。具体的には、ウェブクライアント２からの要求に応じて様々なページ情報（応答ページ）をウェブクライアント２に提供したり、サーバ１側で作成した様々なページ情報（提供ページ）をウェブクライアント２に提供したりする。
【００３０】
また、ウェブサーバ処理部５は、ウェブブラウザ８のデータ通信フレーム９からウェブサーバ入出力部４を介して送られてくる要求に応じた処理を行う。例えば、指定されたＵＲＬに基づくＨＴＭＬ情報やそのリンク情報をウェブサーバ入出力部４を介してデータ通信フレーム９に返送したり、データ通信フレーム９の応答ページ中に入力されて送られてきた情報を用いて、サービス提供用などにあらかじめ定められた処理を行ったりする。
【００３１】
また、セッション維持処理部６は、セッション維持フレーム１０からウェブサーバ入出力部４を介して送られてくる要求を受信したまま、任意のタイミングになるまで、あるいは任意のイベントが発生するまで応答を待機する処理を行うものである。任意のタイミングあるいは任意のイベントとは、例えば、サーバ１が保持するデータやサーバ１の状況に変化が生じたとき、ネットワーク３に接続された他のウェブクライアント（図示せず）がその中のウェブブラウザをシャットダウンしたり他のページに移動したとき、他のウェブクライアント（図示せず）から要求元のウェブクライアント２宛てのメッセージを受信したときなどが考えられる。
【００３２】
ページ生成部７は、セッション維持処理部６から供給される情報をもとに、ウェブクライアント２のセッション維持フレーム１０に送信するデータを含むＨＴＭＬ形式の提供ページを生成する。セッション維持処理部６から供給される情報とは、例えば、サーバ１が保持するデータやサーバ１の状況に変化が生じたことを知らせる情報、他のウェブクライアントがウェブブラウザ８をシャットダウンしたり、他のページに移動したことを知らせる情報、他のウェブクライアントから送られてきたメッセージ情報などである。ページ生成部７により生成された提供ページは、ウェブサーバ入出力部４によってウェブクライアント２のセッション維持フレーム１０に送信される。
【００３３】
従来のウェブサーバは、ウェブクライアントから所定のＵＲＬが指定されたときに、そのＵＲＬに該当するＨＴＭＬ情報をウェブクライアントに提供し、必要に応じて当該ＨＴＭＬにリンクされた画像データや音声データを更に提供するだけで、ウェブクライアントとの通信を切断していた。つまり、従来のウェブサーバは、ウェブクライアントから要求されたＨＴＭＬ情報とそれにリンクされた情報とを一方通行的に提供するだけであった。
【００３４】
これに対して、本実施形態のセッション維持処理部６は、ウェブブラウザ８のセッション維持フレーム１０がサーバ１にリクエストを送信した後、任意のタイミングになるまで、あるいは任意のイベントが発生するまでは、セッション維持フレーム１０との接続を維持したまま待機する。そして、任意のタイミングあるいは任意のイベントが発生すると、ページ生成部７によって提供ページを生成してウェブブラウザ８に直ちに返信する。
【００３５】
図２は、サーバ１のハードウェア構成例を示す図である。サーバ１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３を備えている。ＣＰＵ１１は、ＲＯＭ１２やＲＡＭ１３に記憶されたプログラムに従ってサーバ１の全体の動作を制御するものであり、その際にＲＡＭ１３等をワークメモリとして使用する。上記図１に示した機能構成は、実際にはこのプログラムに基づくＣＰＵ１１の動作によって実現される。
【００３６】
また、サーバ１は、ＦＤインタフェース１４、ＩＤＥ（Intelligent Drive Electronics）インタフェース１５等の外部記憶インタフェースを備えている。そして、この外部記憶インタフェース１４，１５を介して、フロッピーディスク（ＦＤ）２０、ハードディスク（ＨＤ）２１、ＣＤ−ＲＯＭ２２等との間でデータの授受を行うことができるように構成されている。ＣＰＵ１１を制御するプログラムをこれらのＦＤ２０、ＨＤ２１、ＣＤ−ＲＯＭ２２からサーバ１内に入力するようにしても良い。
【００３７】
サーバ１は更に、通信インタフェース１６、入力デバイスインタフェース１７および表示インタフェース１８を備えている。通信インタフェース１６は、ネットワーク３と接続し、他のコンピュータ等と通信を行うものである。図１に示したウェブクライアント２のウェブブラウザ８との間の通信は、この通信インタフェース１６を介して行われる。また、上記ＣＰＵ１１を制御するプログラムは、この通信インタフェース１６を介して他のコンピュータ等からダウンロードしても良い。
【００３８】
入力デバイスインタフェース１７は、キーボード２３やマウス２４等の入力デバイスに関する制御を行うものであり、表示インタフェース１８は、ＣＲＴあるいはＬＣＤ（Liquid Crystal Display）等の表示装置２５に関する制御を行うものである。
【００３９】
上記ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ＦＤインタフェース１４、ＩＤＥインタフェース１５、通信インタフェース１６、入力デバイスインタフェース１７および表示インタフェース１８は、アドレスバス、データバス等のバスライン２６に接続され、相互にデータの授受を行うことができるようになっている。
【００４０】
なお、図示は省略するが、ウェブクライアント２のハードウェアもこの図２とほぼ同様に構成されている。
【００４１】
図３は、第１の実施形態によるウェブシステムの動作を示すフローチャートである。以下、この図３を用いて本実施形態によるデータ通信の動作を説明する。
【００４２】
図３において、まずステップＳ１で、ウェブクライアント２からサーバ１に対して、データ通信フレーム９およびセッション維持フレーム１０のページ情報の転送を要求する。このとき、データ通信フレーム９に関するページ情報の転送要求は、オペレータにより指示されたＵＲＬ、あるいはウェブブラウザ８を開いたときにアクセスするように初期設定されているＵＲＬを具体的に指定して行われる。一方、セッション維持フレーム１０に関するページ情報の転送要求は、接続維持用に用意された所定のＵＲＬを指定して行われる。
【００４３】
上記ページ情報の転送要求を受け取ったサーバ１は、ステップＳ２で、要求されたそれぞれのフレームのページ情報をウェブクライアント２のウェブブラウザ８に返信する。このとき返信されるページ情報のうち、データ通信フレーム９のページ情報には、指定されたＵＲＬにより示されるデータ（サービス提供用に表示するデータなど）が含まれる。一方、セッション維持フレーム１０のページ情報には、表示すべきデータは一切含まれていない。つまり、空のページ情報が送られる。
【００４４】
これらの各フレーム９，１０に対するページ情報を受け取ったウェブクライアント２では、それぞれのフレームに関するデータ通信が以下のように非同期で実行される。
【００４５】
まず、データ通信フレーム９に関する処理を説明する。ウェブクライアント２は、ステップＳ３で、サーバ１から受け取ったデータ通信フレーム９のページ情報をウェブブラウザ８により表示する。この時点で、サーバ１とデータ通信フレーム９との接続は一旦切断される。そして、ステップＳ４でオペレータによるページ要求があるのを待機する。ここで言うページ要求とは、表示したデータ通信フレーム９のページに対してオペレータが何らかのデータを入力してサーバ１に送信する要求や、ＵＲＬを指定して他のページ情報を取得する要求などを意味する。
【００４６】
オペレータによるページ要求がない場合は、ウェブブラウザ８は、ページ要求があるまで同じページ情報を表示し続けている。一方、オペレータによるページ要求があると、処理はステップＳ５に進む。ステップＳ５では、データ通信フレーム９からサーバ１への接続が行われ、上記ステップＳ４で行われたページ要求に対応する処理（表示されたページに入力されたデータをサーバ１に送信する処理、あるいは指定されたＵＲＬのページ情報の転送を要求する処理など）が実行される。
【００４７】
データ通信フレーム９からページ要求を受け取ったサーバ１は、ステップＳ６で、ウェブサーバ処理部５においてそのページ要求に対応する任意の処理を実行する。そして、ページ生成部７によって任意のデータを含む応答ページを生成してデータ通信フレーム９に返信する。ページ要求に対応する任意の処理とは、データ通信フレーム９から送られてきたデータに従ってサービス提供用などにあらかじめ定められた処理を行い、その処理結果に応じて必要なデータを含む応答ページを生成して返信する処理のこと、あるいは指定されたＵＲＬのページ情報を返信する処理のことを言う。
【００４８】
このステップＳ６の処理でウェブサーバ処理部５は、必要に応じてセッション維持処理部６に対して、セッション維持情報を保存または取得するイベント、あるいは後述するステップＳ１２の待機状態を終了させるイベントを発生する。ここで、セッション維持情報とは、例えば、２度目以降にウェブクライアント２から要求があった場合に、以前の要求と同じユーザであることを判別するために使用する各クライアントに一意の識別記号であり、最初のページ要求時にサーバ１からウェブクライアント２に与えられるものである。
【００４９】
すなわち、後述するセッション維持フレーム１０の処理においても、サーバ１からウェブクライアント２にデータを送信し終わった瞬間から、自動的にサブミットされたページによってサーバ１に接続されるまでの間、わずかな時間ではあるがセッション維持フレーム１０とサーバ１との接続が完全に切断される。そのため、再度接続するときに、以前に接続していたものと同一のウェブクライアント２であることを識別するコードをサーバ１からウェブクライアント２に送信する必要があるのである。
【００５０】
このようにサーバ１からデータ通信フレーム９に応答ページを返信した後は、ステップＳ３に戻る。ウェブクライアント２は、受信した応答ページをデータ通信フレーム９に表示して、以降ステップＳ３〜Ｓ６の処理を繰り返し行う。
【００５１】
このような一連の処理によって、データ通信フレーム９では従来のウェブシステムと同様に、ウェブクライアント２側からＵＲＬを指定してサーバ１側に情報提供を要求し、その応答としてサーバ１側から取得した応答ページを表示したり、表示された応答ページ中にデータを入力してサーバ１側に送信したりする処理を行うことが可能となる。また、他のウェブクライアント宛のメッセージ情報を入力してサーバ１に送信する処理を行うことも可能である。
【００５２】
次に、セッション維持フレーム１０に関する処理を説明する。ウェブクライアント２は、ステップＳ７で、サーバ１から受け取ったセッション維持フレーム１０のページ情報を当該セッション維持フレーム１０にロードする。この時点で、サーバ１とセッション維持フレーム１０との接続は一旦切断される。さらに、ステップＳ８でウェブクライアント２は、サーバ１から受信したページ情報中に所定の処理を行うべきデータが含まれているかどうかを判断し、含まれている場合には、ステップＳ９に進んでそのデータを用いた処理を実行する。
【００５３】
このステップＳ９で実行する処理としては、例えば、セッション維持フレーム１０へのデータの表示、データ通信フレーム９あるいは図示しない他のフレームへのデータの表示（これを行うには、セッション維持フレーム１０のページ情報を構成するＨＴＭＬ中に、スクリプトと呼ばれるテキスト文の簡易なプログラムを記述しておく必要がある）、スクリプトの実行によるその他の処理などが考えられる。
【００５４】
なお、上記ステップＳ８でセッション維持フレーム１０のページ情報中に所定の処理を行うべきデータが含まれていないと判断された場合は、ステップＳ９の処理は行わず、ステップＳ１０にジャンプする。最初にステップＳ２からステップＳ７に進んできた段階では、セッション維持フレーム１０のページ情報中にそのようなデータは一切含まれていないので、ステップＳ７でそのページ情報をセッション維持フレーム１０にロードするだけで、ステップＳ１０の処理に進む。
【００５５】
ステップＳ１０では、セッション維持フレーム１０のサブミットを自動的に実行し、サーバ１に接続する。そして、サーバ１に対してセッション維持フレーム１０のページ情報の転送を要求する。セッション維持フレーム１０のサブミットによってページ情報の転送要求がウェブクライアント２から再び送られると、ステップＳ１１でサーバ１はその転送要求を受信する。
【００５６】
そして、サーバ１は、その転送要求を受信したまま、任意のイベントが発生するまでステップＳ１２で応答を待機するとともに、必要なセッション維持情報を保持する。ここで、任意のイベントとは、上述したように、サーバ１が保持するデータやサーバ１の状況に変化が生じたこと、他のウェブクライアントがその中のウェブブラウザをシャットダウンしたり他のページに移動したこと、他のウェブクライアントから要求元のウェブクライアント２宛てのメッセージを受信したことなどが考えられる。
【００５７】
上述のイベントが発生すると、処理はステップＳ１３に進む。ステップＳ１３では、ページ生成部７によって提供ページを生成し、それをウェブサーバ入出力部４からウェブクライアント２のセッション維持フレーム１０にネットワーク３を介して送信する。このとき、発生したイベントによってウェブクライアント２に所定の処理を行わせるためのデータを送信する必要があるときは、そのデータを含む提供ページを生成してセッション維持フレーム１０に送信する。
【００５８】
その後、ステップＳ７に戻り、ウェブクライアント２で受信したセッション維持フレーム１０の提供ページを当該セッション維持フレーム１０にロードして、以降ステップＳ７〜Ｓ１３の処理を繰り返し行う。
【００５９】
上記ステップＳ１、Ｓ２、Ｓ７でウェブクライアント２がサーバ１から最初にページ情報を取得した段階では、セッション維持フレーム１０は無内容であるが、その後はサーバ１側で発生したイベントに応じて所定のデータを含む提供ページがセッション維持フレーム１０で受信され、表示などの処理が行われることになる。
【００６０】
なお、図３中に太線の矢印で示したフロー部分は、データ通信フレーム９およびセッション維持フレーム１０に関して繰り返し実行されるデータ通信の流れを示している。
【００６１】
以上のように、第１の実施形態によれば、データ通信フレーム９の他にセッション維持フレーム１０をも用いることにより、データ通信フレーム９により従来のウェブシステムと同様のデータ通信を行いつつも、サーバ１から送られてきたページ情報をウェブクライアント２上でロードしてから直ぐにサブミットするまでの短い時間を除いて、サーバ１とウェブクライアント２との接続を維持することができる。
【００６２】
これにより、サーバ１側では、クライアントユーザの待機中も、ウェブクライアント２の接続状況（ウェブブラウザ８をシャットダウンしたり、ページを移動していないかなど）を把握することができる。言い換えると、ウェブクライアント２側では、自分が他のページに移動したり、ウェブブラウザ８をシャットダウンしたことを自動的に（オペレータが意識することなく）サーバ１に通知することができる。
【００６３】
また、サーバ１は、セッション維持フレーム１０を利用することにより、任意のタイミングで、ウェブクライアント２にデータを伴った通知を行うことができる。ただし、サーバ１がウェブクライアント２にデータを送信している最中は、直ぐに追加の送信をすることができない。そのため、再び送信待機の状態になるまで（サーバ１からウェブクライアント２への送信処理が終了し、ウェブクライアント２からの要求を再度受け付けるまで）、送信するデータをバッファする必要がある。
【００６４】
以上のことから、同様に次のようなことも実現することが可能となる。例えば、ウェブクライアント２が他のウェブクライアントの接続状況を把握することができる。また、ウェブクライアント２が任意のタイミングで他のウェブクライアントに対してデータを伴った通知を行うこともできる。
【００６５】
また、本実施形態では、データ通信フレーム９とセッション維持フレーム１０との２つの表示ループを独立させることで、２チャンネルを確保して送信および受信の同時通信を実現することができる。この場合、ウェブブラウザ８はフレーム機能や、必要に応じてスクリプト機能をサポートする必要があるが、サーバ１およびウェブクライアント２の双方において、相手からの情報入力を待たずにいつでもデータ送信やページ要求などを行うことができるので、データ通信の柔軟性をより向上させることができる。
【００６６】
また、ウェブクライアント２においては、以上のような接続を維持したデータ通信を行うために専用のクライアント・ソフトウェアや特殊なコンポーネントを用意する必要がなく、ウェブブラウザ８さえあればこのようなデータ通信を行うことができる。よって、初期投資をかけることなく、従来のウェブシステムでは行うことのできなかったデータ通信を誰でも簡易に行うことができるようになる。したがって、よりバリエーションに富んだサービス、よりユーザインタフェースの優れたサービス、より処理を効率的に行えるサービスなどの提供を簡易に受けることができる。
【００６７】
なお、サーバ１が任意のタイミングでウェブクライアント２にデータを伴った通知を行う際に、既に行われているサーバ１からウェブクライアント２への送信処理が終了するまでの待機時間を短縮もしくはゼロとするために、セッション維持フレーム１０を複数用意するようにしても良い。
【００６８】
また、サーバ１側での処理の停止により、ウェブブラウザ８でタイムアウトが発生する可能性がある場合に、一定時間毎に無内容のメッセージを送信する機能をサーバ１に持たせるようにしても良い。
【００６９】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
図４は、本発明のデータ通信システムを適用した第２の実施形態によるウェブシステムの機能構成例を示すブロック図である。この図４において、図１に示した符号と同じ符号を付した部分は互いに同じ機能を有するものであるので、ここでは重複する説明を省略する。
【００７０】
上記図１に示した第１の実施形態では、ウェブクライアント２の接続状況をセッション維持フレーム１０を用いて監視していた。これに対して、図４に示す第２の実施形態では、ウェブクライアント２の接続状況の監視を行うフレームを独立して設けている。それ以外の点は第１の実施形態と同様である。
【００７１】
図４に示すように、第２の実施形態では、サーバ１側において接続監視処理部３１が更に設けられている。また、ウェブクライアント２側では、ウェブブラウザ８のページがデータ通信フレーム９、セッション維持フレーム１０および接続監視フレーム３２の３つのフレームに分割されている。
【００７２】
上記接続監視フレーム３２は、ウェブクライアント２のオペレータがウェブブラウザ８をシャットダウンしたかどうかを監視するために使用するフレームである。この接続監視フレーム３２においては、サーバ１からページ情報の提供を受けてデータを表示する処理は行われない。また、上記接続監視処理部３１は、接続監視フレーム３２からウェブサーバ入出力部４を介して送られてくる要求を受け付けたまま、ウェブクライアント２がウェブブラウザ８の接続を切断するまで待機する処理を行うものである。
【００７３】
図５は、第２の実施形態によるウェブシステムの動作を示すフローチャートである。以下、この図５を用いて本実施形態によるデータ通信の動作を説明する。
【００７４】
図５において、まずステップＳ２１で、ウェブクライアント２からサーバ１に対して、データ通信フレーム９、セッション維持フレーム１０および接続監視フレーム３２のページ情報の転送を要求する。このとき、データ通信フレーム９に関するページ情報の転送要求は、オペレータにより指示されたＵＲＬ、あるいはウェブブラウザ８を開いたときにアクセスするように初期設定されているＵＲＬを具体的に指定して行われる。また、セッション維持フレーム１０および接続監視フレーム３２に関するページ情報の転送要求は、接続維持用および接続監視用に用意された所定のＵＲＬを指定して行われる。
【００７５】
上記ページ情報の転送要求を受け取ったサーバ１は、ステップＳ２２で、要求されたそれぞれのフレームのページ情報をウェブクライアント２のウェブブラウザ８に返信する。このとき返信されるページ情報のうち、データ通信フレーム９のページ情報には、指定されたＵＲＬにより示されるデータ（サービス提供用に表示するデータなど）が含まれる。一方、セッション維持フレーム１０および接続監視フレーム３２のページ情報には、表示すべきデータは一切含まれていない。つまり、空のページ情報が送られる。
【００７６】
これらの各フレーム９，１０，３２に対するページ情報を受け取ったウェブクライアント２では、それぞれのフレームに関するデータ通信が以下のように非同期で実行される。
【００７７】
データ通信フレーム９に関する処理を表すステップＳ２３〜Ｓ２６、およびセッション維持フレーム１０に関する処理を表すステップＳ２７〜Ｓ３３は、図３に示したステップＳ３〜Ｓ６、およびステップＳ７〜Ｓ１３の処理と同様であるので、ここでは説明を省略し、接続監視フレーム３２に関する処理についてのみ説明する。
【００７８】
ウェブクライアント２は、ステップＳ３４で、サーバ１から受け取った接続監視フレーム３２のページ情報を当該接続監視フレーム３２にロードする。この時点で、サーバ１と接続監視フレーム３２との接続は一旦切断される。さらに、ステップＳ３５でウェブクライアント２は、接続監視フレーム３２のサブミットを自動的に実行し、サーバ１に接続する。そして、サーバ１に対して接続監視フレーム３２のページ情報の転送を要求する。
【００７９】
接続監視フレーム３２のサブミットによりページ情報の転送要求がウェブクライアント２から送られると、ステップＳ３６でサーバ１はその転送要求を受信する。そして、接続監視処理部３１により、その接続監視フレーム３２の要求を受信したままウェブクライアント２がウェブブラウザ８の接続を切断するまで待機する。その後、ウェブクライアント２が接続を切断すると、そのことが接続監視処理部３１により検知され、それに応じた適当な処理を行うことが可能となる。
【００８０】
サーバ１にてウェブブラウザ８の接続管理を行うことが目的の場合に、上述した第１の実施形態では、セッション維持フレーム１０を用いてウェブクライアント２にデータを返信している間に接続が切断されると、サーバ１側でそれを検知することはできない。これに対して、第２の実施形態によれば、セッション維持フレーム１０を用いたデータの返信時にも、クライアントユーザによるウェブブラウザ８の切断を完全に検知することができる。
【００８１】
なお、サーバ１からウェブクライアント２に対して何かを通知する必要が一切なく、ウェブブラウザ８の接続管理だけを行いたい場合には、データ通信フレーム９と接続監視フレーム３２の２つのフレームを設ければ良く、セッション維持フレーム１０は不要である。
【００８２】
また、上記第１の実施形態および第２の実施形態において、セッション維持フレーム１０の数を更に増やすことにより、同時に複数のタイプのデータを通信したり、あるいは単一の文脈のデータをより細かい単位でサーバ１からウェブクライアント２に通信したりすることが可能となる。また、セッション維持フレーム１０が１つだけだと、サーバ１がウェブクライアント２にある単位のデータを送信中に、サーバ１から追加のデータを送信しようとしても、ウェブクライアント２から自動再接続要求があるまでの間は追加の送信をすることができない。しかし、セッション維持フレーム１０が２つ以上あると、そのような場合に直ぐに追加のデータを送信することが可能となる。
【００８３】
要するに、第１および第２の実施形態においてセッション維持フレーム１０の数を更に増やすことも可能であり、そのようにすることにより、データ通信の能力を向上させたり、通信するデータの種類を増やすことができる。
なお、これとは逆に、ステートレスなウェブシステムを用いながらも接続を維持できるようにすることだけが目的の場合には、ウェブブラウザ８のフレーム機能は用いる必要がない。この例を第３の実施形態として以下に説明する。
【００８４】
（第３の実施形態）
図６は、本発明のデータ通信システムを適用した第３の実施形態によるウェブシステムの機能構成例を示すブロック図である。この図６において、図１に示した符号と同じ符号を付した部分は互いに同じ機能を有するものであるので、ここでは重複する説明を省略する。
【００８５】
図６に示す第３の実施形態では、サーバ１側にウェブサーバ処理部５はなく、ウェブサーバ入出力部４、セッション維持処理部６およびページ生成部７を備えている。また、ウェブクライアント２側のウェブブラウザ４１は、フレーム機能を有しておらず、ページが複数のフレームに分割されていない。それ以外の点は第１の実施形態と同様である。
【００８６】
図７は、第３の実施形態によるウェブシステムの動作を示すフローチャートである。以下、この図７を用いて本実施形態によるデータ通信の動作を説明する。
【００８７】
図７において、まずステップＳ４１で、ウェブクライアント２からサーバ１に対してウェブブラウザ４１のページ情報の転送を要求する。このとき、ページ情報の転送要求は、オペレータにより指示されたＵＲＬ、あるいはウェブブラウザ４１を開いたときにアクセスするように初期設定されているＵＲＬを具体的に指定して行われる。
【００８８】
上記ページ情報の転送要求を受け取ったサーバ１は、ステップＳ４２で、要求されたページ情報をウェブクライアント２のウェブブラウザ４１に返信する。このとき返信されるページ情報には、指定されたＵＲＬにより示されるデータ（サービス提供用に表示するデータなど）が含まれる。このページ情報を受け取ったウェブクライアント２では、ステップＳ４３で、その受け取ったページ情報をウェブブラウザ８により表示する。この時点で、サーバ１とデータ通信フレーム９との接続は一旦切断される。
【００８９】
そして、ステップＳ４４でオペレータによるページ要求があるのを待機する。ここで言うページ要求とは、表示したウェブブラウザ４１のページに対してオペレータが何らかのデータを入力してサーバ１に送信する要求や、ＵＲＬを指定して他のページ情報を取得する要求などを意味する。オペレータによるページ要求がない場合は、ウェブブラウザ４１は、ページ要求があるまで同じページ情報を表示し続けている。
【００９０】
一方、オペレータによるページ要求があると、処理はステップＳ４５に進む。ステップＳ４５では、ウェブクライアント２からサーバ１への接続が行われ、上記ステップＳ４４で行われたページ要求に対応する処理（表示されたページに入力されたデータをサーバ１に送信する処理、あるいは指定されたＵＲＬのページ情報の転送を要求する処理など）が実行される。
【００９１】
ウェブクライアント２からページ要求が再び送られると、ステップＳ４６でサーバ１はそのページ要求を受信する。そして、サーバ１は、そのページ要求を受信したまま、任意のイベントが発生するまでステップＳ４７で応答を待機するとともに、必要なセッション維持情報を保持する。ここで、任意のイベントとは、サーバ１が保持するデータやサーバ１の状況に変化が生じたこと、他のウェブクライアントがその中のウェブブラウザをシャットダウンしたり他のページに移動したこと、他のウェブクライアントから要求元のウェブクライアント２宛てのメッセージを受信したことなどが考えられる。
【００９２】
上述のイベントが発生すると、処理はステップＳ４８に進む。ステップＳ４８では、ページ生成部７によって提供ページを生成し、それをウェブサーバ入出力部４からウェブクライアント２のウェブブラウザ４１にネットワーク３を介して送信する。このとき、発生したイベントによってウェブクライアント２に所定の処理を行わせるためのデータを送信する必要があるときは、そのデータを含む提供ページを生成してウェブブラウザ４１に送信する。
【００９３】
その後、ステップＳ４３に戻り、ウェブクライアント２で受信した提供ページをウェブブラウザ４１により表示して、以降ステップＳ４３〜Ｓ４８の処理を繰り返し行う。
【００９４】
以上のように、第３の実施形態においても、ステートレスなウェブシステムを用いつつも、サーバ１とウェブクライアント２との接続を維持したデータ通信を行うことができる。ただし、第３の実施形態では、サーバ１側で任意のイベントが発生するか、ウェブクライアント２側でページ要求が行われるまでの間は相手側が待機させられる。これに対し、上述した第１および第２の実施形態では、サーバ１およびウェブクライアント２の一方がデータの送信を行っている間も他方がデータを送信することが可能である。
【００９５】
この点で第３の実施形態によるデータ通信は、第１および第２の実施形態に比べて制約があると言える。しかし、第３の実施形態では、ウェブブラウザ４１にスクリプトやフレームなどの機能を要求しないので、より多くのウェブクライアント２で利用することが可能というメリットを有する。
【００９６】
なお、ここではサーバ１側がウェブサーバ処理部５を備えていない例について説明したが、ウェブサーバ処理部５も備え、ウェブサーバ処理部５とセッション維持処理部６とを選択的に使用できるようにしても良い。ウェブサーバ処理部５とセッション維持処理部６のどちらを使うかは、例えば、指定されたＵＲＬに応じて選択するようにすることが可能である（例えば、セッション維持処理用のＵＲＬを用意する）。
【００９７】
なお、以上に説明した各実施形態のデータ通信システムおよびこれを構成するサーバ１およびウェブクライアント２等は、例えば図２に示したようにコンピュータのＣＰＵあるいはＭＰＵ、ＲＡＭ、ＲＯＭなどで構成されるものであり、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって実現できる。
【００９８】
また、上述したように、コンピュータが上記機能を果たすように動作させるプログラムを、例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによっても実現できる。上記プログラムを記録する記録媒体としては、ＣＤ−ＲＯＭ以外に、フロッピーディスク、ハードディスク、ＤＶＤ、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
【００９９】
また、コンピュータが供給されたプログラムを実行することにより上述の実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合や、供給されたプログラムの処理の全てあるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。
【０１００】
また、本実施形態のデータ通信システムは、ネットワーク環境で利用されるものであり、全部あるいは一部のプログラムが他のコンピュータで実行されるようになっていても良い。
【０１０１】
なお、上記に示した各実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【０１０２】
例えば、上述の各実施形態では、情報の送受信をＨＴＭＬ形式で行っているが、ＸＭＬなどの他の形式で情報の送受信を行うようにしても良い。また、上述の各実施形態では、サーバ１とウェブクライアント２との間で１対１のデータ通信を行う例について説明したが、１対多、多対１、多対多のデータ通信に適用することも可能である。
【０１０３】
また、上記実施形態では、データ通信システムの例としてウェブシステムを挙げて説明したが、ステートレスなデータ通信システムであれば同様に適用することが可能である。
【０１０４】
【発明の効果】
以上詳しく説明したように、本発明によれば、専用のクライアント端末や専用のクライアント・ソフトウェア、あるいは特殊なコンポーネントを用いることなく、現在広く利用されているウェブシステムなどのステートレスなシステムを用いて、サーバ−クライアント間の接続を維持した従来には全くないデータ通信を行うことができる。これにより、本発明のデータ通信システムを利用することにより、よりバリエーションに富んだサービス、よりユーザインタフェースの優れたサービス、より処理を効率的に行えるサービスなどをネットワーク上で提供することが可能となる。
【図面の簡単な説明】
【図１】第１の実施形態によるデータ通信システムの機能構成例を示すブロック図である。
【図２】本実施形態によるサーバのハードウェア構成例を示す図である。
【図３】第１の実施形態によるデータ通信システムの動作例を示すフローチャートである。
【図４】第２の実施形態によるデータ通信システムの機能構成例を示すブロック図である。
【図５】第２の実施形態によるデータ通信システムの動作例を示すフローチャートである。
【図６】第３の実施形態によるデータ通信システムの機能構成例を示すブロック図である。
【図７】第３の実施形態によるデータ通信システムの動作例を示すフローチャートである。
【符号の説明】
１  サーバ
２  ウェブクライアント
３  ネットワーク
４  ウェブサーバ入出力部
５  ウェブサーバ処理部
６  セッション維持処理部
７  ページ生成部
８  ウェブブラウザ
９  データ通信フレーム
１０  セッション維持フレーム
３１  接続監視処理部
３２  接続監視フレーム
４１  ウェブブラウザ
【図１】
0003682914.tif 000002
【図２】
0003682914.tif 000003
【図３】
0003682914.tif 000004
【図４】
0003682914.tif 000005
【図５】
0003682914.tif 000006
【図６】
0003682914.tif 000007
【図７】
0003682914.tif 000008