JP3842696B2 - Screen transition control system, client, web server, screen transition control method, and computer program - Google Patents

Screen transition control system, client, web server, screen transition control method, and computer program Download PDF

Info

Publication number
JP3842696B2
JP3842696B2 JP2002163443A JP2002163443A JP3842696B2 JP 3842696 B2 JP3842696 B2 JP 3842696B2 JP 2002163443 A JP2002163443 A JP 2002163443A JP 2002163443 A JP2002163443 A JP 2002163443A JP 3842696 B2 JP3842696 B2 JP 3842696B2
Authority
JP
Japan
Prior art keywords
time
screen
embedded
markup text
client
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.)
Expired - Fee Related
Application number
JP2002163443A
Other languages
Japanese (ja)
Other versions
JP2004013353A (en
Inventor
浩憲 服部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sompo Japan Insurance Inc
Original Assignee
Sompo Japan Insurance Inc
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 Sompo Japan Insurance Inc filed Critical Sompo Japan Insurance Inc
Priority to JP2002163443A priority Critical patent/JP3842696B2/en
Publication of JP2004013353A publication Critical patent/JP2004013353A/en
Application granted granted Critical
Publication of JP3842696B2 publication Critical patent/JP3842696B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画面遷移制御システム、クライアント、ウェブ(Web)サーバ、画面遷移制御方法およびコンピュータプログラムに関し、より詳細には、通信処理についてクライアントとの間で負荷分散を行う画面遷移制御システム、クライアント、ウェブサーバ、画面遷移制御方法およびコンピュータプログラムに関する。
【0002】
【従来の技術】
従来から知られているウェブサーバとクライアントのブラウザとを用いたアプリケーションにおいては、ブラウザ側の画面遷移とWebサーバ側アプリケーションの画面遷移との間で同期をとるため、ブラウザ側のクッキーと、Webサーバ側に保持するブラウザの状態情報を用いている。
【0003】
クッキーとは、Webサーバが各クライアントを操作するユーザを識別するために、クライアントのブラウザに送られる情報である。例えば電子商取引において、複数の商品を選択した後で支払手続を行うような場合、各セッションでWebサーバ側がユーザを識別している必要がある。この場合、Webサーバはクライアントにクッキーを送信する。Webサーバからクッキーを受信したクライアントのブラウザは、セッション毎にクッキーを送り返す。このような制御を行うことで、Webサーバは利用者を識別するとともに、ブラウザ側の画面遷移とWebサーバ側のアプリケーションの画面遷移との同期がとられる。
【0004】
また、状態情報は、Webサイトへアクセスしているユーザに関する情報であり、そのWebサイトを提供するWebサーバに保持され、クライアントとのセッションを管理するために使用される。
【0005】
【発明が解決しようとする課題】
しかしながら、上述したような画面遷移の制御を行う場合、複数のサーバを用いて負荷分散を実現するには、特定のサーバに保持された状態情報を他の複数のサーバから参照または変更可能とする機構を構築しなければならない。このため、Webサーバ側における動的な負荷分散の設計が困難であるという問題があった。
【0006】
また、このようにWebサーバ側の状態情報を他の複数のサーバから参照または変更可能とする機構は、データベースサーバに状態情報を保持し、複数のサーバとデータベースサーバをLAN回線で結ぶ等の設計変更が必要である。このため、サーバの機構を複雑にし、実現費用が高くつくという問題があった。
【0007】
また、Webサーバ側の状態情報を複数のサーバから参照・変更可能とする機構は、サーバの機構を複雑にし、構成要素の増大をもたらす。このため、高い汎用性の実現が困難であるという問題があった。
【0008】
また、クライアントのユーザが2つのブラウザを表示させ、各々のブラウザで異なった操作をすることがある。この場合、従来のWebサーバ側アプリケーションではユーザのこの行為を検知することができない。従って、Webサーバ側アプリケーションにおいて予定する機能を提供することができない場合があるという問題があった。
【0009】
また、クライアントのユーザがある画面に値を入力後、これをWebサーバに送信した後、Webサーバ側の処理に時間がかかっている場合に、ユーザはサーバ側でブラウザの画面を戻して再度画面を表示させ、入力した値をサーバに再送信することができた。この場合、サーバは同一画面から同一内容を複数回受信することになってしまう。従って、Webサーバ側アプリケーションにおいて予定する機能を提供できない場合があるという問題があった。
【0010】
本発明は、このような問題に鑑みてなされたものであり、その目的とするところは、ブラウザとサーバの全ての通信について容易に動的負荷分散を行うことができる画面遷移制御システム、クライアント、ウェブサーバ、画面遷移制御方法およびコンピュータプログラムを提供することにある。
【0011】
本発明の別の目的は、サーバ側機構が簡素化され実現費用が低廉となり、かつ可用性の高い画面遷移制御システム、クライアント、ウェブサーバ、画面遷移制御方法およびコンピュータプログラムを提供することにある。
【0012】
本発明の別の目的は、ユーザが複数個のブラウザを起動したことを検知することができる画面遷移制御システム、クライアント、ウェブサーバ、画面遷移制御方法およびコンピュータプログラムを提供することにある。
【0013】
本発明の別の目的は、ブラウザの同一画面から複数回送信される情報によるWebサーバ側アプリケーションの誤操作を回避することができる画面遷移制御システム、クライアント、ウェブサーバ、画面遷移制御方法およびコンピュータプログラムを提供することにある。
【0020】
【課題を解決するための手段】
このような目的を達成するために、請求項1に記載の発明は、ウェブサーバから送信されたマークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御する画面遷移制御システムにおいて、前記ウェブサーバは、前記マークアップ・テキストに所定の時刻を埋め込む埋込手段と、前記時刻が埋め込まれたマークアップ・テキストと、前記マークアップ・テキストについての状態を示し、前記埋め込まれた時刻を含む状態情報とを送信するサーバ側送信手段とを備え、前記クライアントは、前記サーバ側送信手段により送信された時刻を含む状態情報を記憶する記憶手段と、前記サーバ側送信手段により送信された任意のマークアップ・テキストに基づいて画面を表示する表示手段と、該表示手段により表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記記憶手段に記憶された時刻を含む状態情報を送信するクライアント側送信手段とを備え、前記ウェブサーバは、前記クライアント側送信手段により送信された前記埋め込まれた時刻と前記状態情報に含まれた時刻を比較して、前記状態情報に含まれた時刻が前記埋め込まれた時刻より過去の時刻であれば前記入力された情報を既に受信していると判定する判定手段を更に備えたことを特徴とする。
【0022】
また、請求項に記載の発明は、マークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するウェブサーバにおいて、前記マークアップ・テキストに所定の時刻を埋め込む埋込手段と、前記時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを送信する送信手段と、前記クライアントから、任意のマークアップ・テキストに基づいて表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記時刻を含む状態情報を受信する受信手段と、該受信手段により受信した前記埋め込まれた時刻と前記状態情報に含まれた時刻を比較して、前記状態情報に含まれた時刻が前記埋め込まれた時刻より過去の時刻であれば前記入力された情報を既に受信していると判定する判定手段とを備えたことを特徴とする。
【0024】
また、請求項に記載の発明は、ウェブサーバから送信されたマークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するクライアントにおいて、前記ウェブサーバから、所定の時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを受信する受信手段と、該受信手段により受信した時刻を含む状態情報を記憶する記憶手段と、該受信手段により受信した任意のマークアップ・テキストに基づいて画面を表示する表示手段と、該表示手段により表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記記憶手段に記憶された時刻を含む状態情報を送信する送信手段とを備え、前記入力された情報を既に送信している場合、前記送信手段から任意の画面を通じて入力された情報と共に送信された前記状態情報に含まれた時刻は、前記埋め込まれた時刻より過去の時刻であることを特徴とする。
【0029】
また、請求項に記載の発明は、ウェブサーバから送信されたマークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御する画面遷移制御方法において、前記ウェブサーバにおいて、前記マークアップ・テキストに所定の時刻を埋め込み、前記ウェブサーバにおいて、前記時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを送信し、前記クライアントにおいて、前記送信された時刻を含む状態情報を記憶装置に記憶し、前記クライアントにおいて、前記ウェブサーバから送信された任意のマークアップ・テキストに基づいて表示装置に画面を表示し、前記クライアントにおいて、前記表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記記憶装置に記憶された時刻を含む状態情報を送信し、前記ウェブサーバにおいて、前記送信された前記埋め込まれた時刻と前記状態情報に含まれた時刻を比較して、前記状態情報に含まれた時刻が前記埋め込まれた時刻より過去の時刻である場合、画面遷移が正しく行われていないかまたは前記クライアントにより追加の画面が表示されたと判定することを特徴とする。
【0030】
また、請求項に記載の発明は、マークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するウェブサーバの画面遷移制御方法において、前記マークアップ・テキストに所定の時刻を埋め込み、前記時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを送信し、前記クライアントから、前記送信した任意のマークアップ・テキストに基づいて表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記時刻を含む状態情報を受信し、該受信した前記埋め込まれた時刻と前記状態情報に含まれた状態情報を比較して、前記状態情報に含まれた時刻が前記埋め込まれた時刻より過去の時刻である場合、画面遷移が正しく行われていないかまたは前記クライアントにより追加の画面が表示されたと判定することを特徴とする。
【0031】
また、請求項に記載の発明は、ウェブサーバから送信されたマークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するクライアントの画面遷移制御方法において、前記ウェブサーバから、所定の時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを受信し、該受信した時刻を含む状態情報を記憶装置に記憶し、前記ウェブサーバから受信した任意のマークアップ・テキストに基づいて表示装置に画面を表示し、該表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記記憶装置に記憶された時刻を含む状態情報を送信し、前記入力された情報を既に送信している場合、任意の画面を通じて前記入力された情報と共に送信される前記状態情報に含まれた時刻は、前記埋め込まれた時刻より過去の時刻であることを特徴とする。
【0035】
また、請求項に記載の発明は、マークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するウェブサーバに対し、前記マークアップ・テキストに時刻を埋め込ませ、前記時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを送信させ、前記クライアントから、前記ウェブサーバが送信した任意のマークアップ・テキストに基づいて表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記時刻を含む状態情報を受信させ、該受信した前記埋め込まれた時刻と前記状態情報に含まれた時刻を比較して、前記状態情報に含まれた時刻が前記埋め込まれた時刻より過去の時刻である場合、画面遷移が正しく行われていないかまたは前記クライアントにより追加の画面が表示されたと判定させることを特徴とする。
【0036】
また、請求項に記載の発明は、ウェブサーバから送信されたマークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するクライアントに対し、
前記ウェブサーバから、所定の時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを受信させ、該受信した時刻を含む状態情報を記憶装置に記憶させ、前記ウェブサーバから受信したマークアップ・テキストに基づいて表示装置に画面を表示させ、該表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記記憶装置に記憶された時刻を含む状態情報を送信させるコンピュータプログラムであって、前記入力された情報を既に送信している場合、任意の画面を通じて前記入力された情報と共に送信される前記状態情報に含まれた時刻は、前記埋め込まれた時刻より過去の時刻であることを特徴とする。
【0037】
このような構成により、本発明では、クライアント側に状態情報を保持させ、サーバ側に状態情報を保持させない方式を採用することで、ブラウザとサ−バの全ての通信について動的負荷分散が可能となる。
【0038】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態について詳細に説明する。なお、以下の説明では、保険業に関する情報処理を例に挙げて説明するが、本発明はこれに限定されるものではない。
【0039】
図1は、本実施形態に係る画面遷移制御システムの構成を示すブロック図である。画面遷移制御システムは、WWW(World Wide Web)を使用するノードであるWebサーバ102、およびパーソナル・コンピュータ(PC)302のユーザについての認証を行う認証サーバ106を含む情報処理システム100と、ブラウザを搭載したPC302とから構成されている。
【0040】
Webサーバ102は、ユーザと対話形式で情報の入力を受け付けるための画面をインターネット101を介してPC302に表示するプレゼンテーションロジック(PL)部120と、保険業に関するアプリケーションプログラムを実行する業務ロジック(BL)部114と、該PL部120およびBL部114を呼び出して、オンライン業務の流れを制御するフロー制御(FC)部112とを有する。なお、本実施形態ではPC302のユーザとして保険代理店における車両保険の営業担当者を想定している。
【0041】
認証サーバ106は、ユーザの認証を行うものであり、PC302のユーザに関する情報を記憶したアカウントデータベース(DB)118と、このDBを使用して認証を行う認証部116とを有している。アカウントDB118には、ユーザに関する情報として後述する認証チケット、グループIDが記憶されている。
【0042】
図2は、Webサーバ102の機能構成をより詳細に示すブロック図である。PL部120は、ログイン画面を提供するログインPL部310、後述するリダイレクト画面を提供するリダイレクトPL部312、メニュー画面を提供するメニューPL部314、エラー画面を提供するエラー表示PL部316、保険計上入力画面を提供する保険計上入力PL部318、計上結果画面を提供する計上結果PL部320、および契約表示画面を提供する契約表示PL部322を有する。PL部120の各構成要素は、Webページを表示するためのHTML(HyperText Markup Language)言語で記述された複数のテキスト(HTMLテキスト)を保持しており、FC部112からの呼び出しに応じて該当するHTMLテキストを送信し、PC302のディスプレイ上にWebページを表示する。
【0043】
FC部112は、ログインFC部303、メニューFC部304、保険計上FC部306および契約照会FC部308を有する。ログインFC部303は、PC302からの接続要求を受けた場合に、予め記憶したユーザやPC302の機種に関する情報を用いて、正当なユーザからの接続要求であるか否かを検証する。そして、検証の結果、不正なユーザからの接続要求であれば、ログインPL部310を呼び出して、そのPC302にログイン画面を表示して、ユーザにログインのための処理を促す。メニューFC部304では、メニューPL部314を呼び出して、PC302にメニュー画面を表示する。
【0044】
また、保険計上FC部306では、業務の流れに応じて、あるいはユーザによるPC302を使用した機能の選択に応じて、保険計上PL部318および計上結果PL部320の呼び出しを行う。同様に、契約照会FC部308では、契約表示PL部322の呼び出しを行う。
【0045】
FC部112の各構成要素は、PC302に表示する画面の遷移が正当であるか否かを検証する。そして、この検証の結果、不正な画面遷移であれば修正を行い、ユーザを正しい業務手順へ導く制御を行う。
【0046】
BL部114は、保険業務に関する情報処理を行い、結果をFC部112に返す処理を行うものであり、保険契約の計上を行う計上処理BL部324と、契約照会を行うための契約照会BL部326とを含んでいる。
【0047】
図3は、本実施形態に係るWebサーバのハードウェア構成の一例を示すブロック図である。なお、本図に示すハードウェア構成は認証サーバ106にも使用される。Webサーバ102は、装置全体の制御を行うCPU(Central Processing Unit)201と、装置全体を制御するためのシステムプログラム等が格納されたROM(Read Only Memory)202と、一時記憶領域であるRAM(Random Access Memory)206とがバス211を介して接続されている。また、本発明に係わる処理を実行するためのプログラムが格納されたプログラムメモリ212と、キーボード・マウスインタフェース(I/F)208と、ディスプレイ205に接続されるビデオI/F204と、インターネット101との通信を行うモデム等の通信I/F203と、ハードディスク213に接続された入出力I/F207とがバス211に接続されている。
【0048】
キーボード・マウスI/F208は、コマンドや記号の入力に使用されるキーボード209およびマウス210に接続されている。
【0049】
本実施形態に係る画面遷移制御方法は、後述する処理を実現するプログラムのプログラムコードを記録したプログラムメモリ212から、CPU201がそのプログラムコードを読み出して実行することにより達成されるものである。
【0050】
本発明に関わる諸機能は、Webサーバ102が実行するためのプログラムモジュールとして設計されることができる。例えば、ユーザのPC302へ画面を表示する手段として、クライアントであるPC302との通信を実現する通信プログラム、入力画面等をHTTP(HyperText Transfer Protocol)で送信するWWWサーバプログラム、およびクライアントのブラウザに入力画面等を表示させるプログラムを使用する。入力画面等を表示させるプログラムとしては、例えばMicrosoft社のWindows(登録商標)上のWWWサーバであるIIS(Internet Information Services)が有するASP(Active Server Pages)を使用することができる。また、Webページを介して受信した情報に基づくデータベース検索等の情報処理も、ASPにより実行することができる。
【0051】
これらのプログラムは、高級手続型プログラミング言語、オブジェクト指向プログラミング言語、アセンブリ言語、機械語の他、HTML等のマークアップランゲージで記述される。このような実現方法において、ハードディスク、光磁気ディスク、光ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等により構成されるプログラムメモリ212は、コンピュータ読取可能な記録媒体として機能する。
【0052】
次に、本実施形態に係る画面遷移制御方法において、PC302に保持されるデータの内容について説明する。
(1)共有クッキー
共有クッキーは、ログオンしたユーザの認証状態を管理する情報を搭載したクッキーであり、複数のHTMLテキスト間で共有される。PC302がWebサーバ102から受信した共有クッキーは、ブラウザを終了するか、ログオフするまで存在し続ける。この共有クッキーに含まれる情報項目の例を以下の表に示す。
【0053】
【表1】

Figure 0003842696
【0054】
(2)ウインドウ別クッキー
ウインドウ別クッキーは、HTMLテキスト毎に生成されるクッキーであり、当該HTMLテキストについての状態情報を格納する。HTMLテキストの各々にはウインドウ識別IDが付与されており、このクッキーはウインドウ識別IDに対応する名前を有する。PC302がWebサーバ102から受信したウインドウ別クッキーは、ブラウザを終了するか、ログオフするまで存在し続ける。この共有クッキーに含まれる情報項目の例を以下の表に示す。
【0055】
【表2】
Figure 0003842696
【0056】
(3)属性値Hidden
HTMLのINPUTタグは、入力欄を定義するために使用される。このINPUTタグの有する属性としてTYPE属性がある。TYPE属性は、入力欄の入力形式を指定するために使用される。このTYPE属性の属性値の1つに、属性値Hiddenがある。属性値Hiddenは、その引数をブラウザ上に表示しない旨を指定するものであり、クライアントからサーバのCGI(Common Gateway Interface)スクリプト等に引数を渡す場合に使用される。例えば、
<INPUT TYPE="Hidden" NAME="office" VALUE="n">
というタグの場合、クライアントの画面上には表示されないVALUEで指定された値Nが、サーバのCGIプログラムに送信される。
【0057】
本実施形態では、属性値Hiddenの引数として、各HTMLテキストについての状態情報が定義され、その値は、Webサーバ102から送信されるHTMLテキスト毎に定義される。本実施形態において属性値Hiddenの引数となる項目を以下の表3に示す。
【0058】
【表3】
Figure 0003842696
【0059】
次に、サーバにおいて実行されるブラウザの状態管理機能について説明する。ブラウザの状態管理機能は、Webサーバ102のFC部112に組み込まれており、認証チェックと、ブラウザ状態チェックとからなる。
【0060】
(1)認証チェック
FC部112は、共有クッキーがあるかどうかを判断し、共有クッキーがある場合にはさらにその認証チケットおよびサーバ処理時刻の内容を判断し、判断結果に応じて以下の処理を実行する。
・ケース1:共有クッキーがない場合
ログイン画面をPC302に送信する。
・ケース2:共有クッキーの認証チケットに正当な値がない場合
ログイン画面をPC302に送信する。
・ケース3:共有クッキーの認証チケットに正当な値があり、サーバ処理時刻が所定の時間(許容無操作時間)を経過している場合
ログイン画面をPC302に送信する。
・ケース4:共有クッキーの認証チケットに正当な値があり、サーバ処理時刻が許容無操作時間内である場合
Webサーバ側での処理を続行する。
【0061】
(2)ブラウザ状態チェック
FC部112は、ウインドウ別クッキーおよび属性値Hiddenの引数とされた項目に基づいて以下の判断を行うと共に、対応する処理を行う。
・判定結果1:HTMLテキストに対応するウインドウ別クッキーの送信済みフラグの値が未送信「Sf」である。
【0062】
この場合、FC部112は「初回送信」、すなわち送信すべき情報がPC302へ初めて送信されると判断する。そして、共有クッキーを新たに生成し、その認証チケットおよびグループIDには、ブラウザから受信した共有クッキーと同一の値を設定する。また、サーバ処理時刻には、当該サーバでの処理時刻を設定し、ブラウザに送信する。
【0063】
また、当該ブラウザに対応するウインドウ別クッキーを新たに生成し、その送信済みフラグに未送信「Sf」を設定し、サーバ処理時刻に当該サーバでの処理時刻を設定して、ブラウザに送信する。
【0064】
また、HTMLテキストを送信する際、属性値Hiddenの引数とする認証チケット、グループIDおよびウインドウ識別IDにはブラウザから受信した属性値Hiddenの引数の値と同一の値を設定し、サーバ処理時刻には、当該サーバでの処理時刻を設定する。
【0065】
・判定結果2:HTMLテキストに対応するウインドウ別クッキーの送信済みフラグの値が送信済み「St」である。
この場合、FC部112は送信済み、すなわち送信すべき情報がPC302へ送信済みであると判断する。そして、判断結果1と同様の処理を行う。
【0066】
・判定結果3:属性値Hiddenの引数とされたサーバ処理時刻が当該HTMLテキストに対応するウインドウ別クッキーのサーバ処理時刻より過去の時刻である。
この場合、FC部112は、表示画面が以前の画面に戻ったか、または新たなブラウザが起動されたと判断する。そして、共有クッキーを新たに生成し、その認証チケットおよびグループIDには、ブラウザから受信した共有クッキーと同一の値を設定する。また、サーバ処理時刻には、当該サーバでの処理時刻を設定し、ブラウザに送信する。
【0067】
次いで、ウインドウ識別IDを新たに発行し、次回送信するHTMLテキストのウインドウ識別IDとする。
【0068】
次いで、当該ブラウザに対応するウインドウ別クッキーを新たに生成し、その送信済みフラグには未送信「Sf」を設定し、サーバ処理時刻には、当該サーバでの処理時刻を設定して、ブラウザに送信する。
【0069】
次いで、当該ブラウザの元のウインドウ識別IDに対応するウインドウ別クッキーを新たに生成し、送信済みフラグには未送信「Sf」を設定し、サーバ処理時刻には受信したウインドウ別クッキーのサーバ処理時刻を設定して、ブラウザに送信する。
【0070】
また、HTMLテキストを送信する際、属性値Hiddenの引数とする認証チケット、グループIDおよびウインドウ識別IDにはブラウザから受信した属性値Hiddenの引数の値と同一の値を設定し、サーバ処理時刻には、当該サーバでの処理時刻を設定する。
【0071】
次に、PC302の機能構成について説明する。PC302は図4に示すように、インターネット101を介して情報の送受信を行う通信部1002と、音声の出力を行う音声出力部1006と、画面の表示を行う表示部1009と、ユーザからの入力を受け付ける入力部1007と、これらの各構成要素を制御する制御部1008とから構成される。制御部1008は、記憶部1003に記憶されたブラウザ1004とブラウザ状態管理スクリプト1005を読み出して実行することにより、本発明に係る方法を実現する。ブラウザ(ユーザエージェント)1004は、WWWのコンテンツを閲覧するためのプログラムであり、ブラウザ状態管理スクリプト1005はHTMLテキストに埋め込まれて、Webサーバ102からPC302に送信されるプログラムであり、ブラウザ1004上で動作し、ブラウザ1004の状態を管理する。本実施形態において、ブラウザ1004はクッキーを処理する機能を有し、Java(登録商標)Script等のスクリプトが動作し、さらに、既に起動しているブラウザを複製して複数のブラウザを操作することが可能である。
【0072】
このブラウザ状態管理スクリプト1005は、Webサーバ102への所定の処理要求送信後に、当該ブラウザに対応するウィンドウ別クッキーの送信済みフラグを送信済み「St」に更新する。また、Webサーバ102への所定の処理要求送信前に、当該ブラウザに対応するウィンドウ別クッキーの送信済みフラグの値を検査し、送信済み「St」であれば、エラーダイアログを表示し、送信は行わない。このような機能は、選択的に実施することができる。
【0073】
(ログイン)
次に、図5の流れ図を参照し、Webサーバ102へのログイン処理について説明する。
【0074】
まず、PC302のブラウザが起動されると、ブラウザはWebサーバ102にログイン画面の送信を要求する(S402)。以下、このブラウザをブラウザ1という。ログインPL部310は、ログイン画面をブラウザ1に送信する(S403)。ユーザが、ブラウザ1により表示されたログイン画面にユーザIDとパスワードを入力すると、ブラウザ1は入力された値を情報処理システム100に送信する(S404)。ログインFC部303は、認証サーバ106の認証部116にユーザIDとパスワードを送る(S405)。
【0075】
認証部116は、アカウントDB118を検索し、当該ユーザIDとパスワードでユーザを認証し、認証チケット、グループIDをログインFC302に返す(S406)。
【0076】
ログインFC部303は、共有クッキー1を生成し、認証チケットにSC1、グループIDにG1、サーバ処理時刻にT1を設定し、ブラウザ1に送信する。また、ウインドウ識別ID=W1を発行し、ブラウザ1に対応するウインドウ別クッキー1の名前とする。また、ウインドウ別クッキー1の送信済みフラグにSf、サーバ処理時刻にT1を設定し、ブラウザ1に送信する。さらに、リダイレクトPL部312においてリダイレクト画面を生成する。このとき、リダイレクト画面のHTMLテキストに、認証チケット=SC1、グループID=G1、ウインドウ識別ID=W1、サーバ処理時刻=T1を、属性値Hiddenの引数として埋め込み、これをブラウザ1に送信する(S407)。このリダイレクト画面は非表示の画面であり、ブラウザ1により表示されない。
【0077】
ブラウザ1は、リダイレクト画面を受け取ると、属性値Hiddenの引数とされた項目、共有クッキー1、ウインドウ別クッキー1を、自動的にWebサーバ102に送信する(S408)。その後、PC302においてブラウザ状態管理スクリプトが起動し、ブラウザ1についてのウインドウ別クッキー1の送信済みフラグに送信済み「St」が設定される(S409)。
【0078】
次いで、メニューFC部304は、ブラウザ状態管理機能を用いて認証チェックを行う。図5に示す例では、判断結果はケース4に当たるので、ブラウザ状態管理機能はブラウザ状態チェックを実行する。ここでの判定の結果は、判定結果1に対応する。ブラウザ状態管理機能は、共有クッキー2を生成し、認証チケットにSC1、グループIDにG1、サーバ処理時刻にT2を設定し、ブラウザ1に送信する。また、ブラウザ1に対応するウインドウ別クッキー2を生成し、送信済みフラグにSf、サーバ処理時刻にT2を設定し、ブラウザ1に送信する。さらに、メニューPL部314において属性値Hiddenの引数とすべき認証チケット、グループID、ウインドウ識別IDおよびサーバ処理時刻の各値を生成する。その後、メニューFC部304に制御を戻す。
【0079】
メニューFC部304は、ブラウザ状態管理機能において生成された認証チケット、グループID、ウインドウ識別ID、サーバ処理時刻を、メニュー画面に属性値Hiddenの引数として埋め込み、これをブラウザ1に送信する(S410)。
【0080】
ブラウザ1は、Webサーバ102から受信したメニュー画面を表示し、共有クッキー、ウインドウ別クッキーを、今回受信したもので置き換える。
【0081】
このようにして、クライアントにおいて、マークアップ・テキストの各々についての状態情報を記憶装置に記憶する処理が実現される。
【0082】
(二重送信をWebサーバで検知する)
次に、図6の流れ図を参照し、Webサーバ102によりクライアントからの二重送信を検知する処理について説明する。Webサーバ102上のアプリケーションにおいて、クライアントから同一内容が二重に送信されることを阻止する必要がある場合、Webサーバ102はクライアントの操作状態をWebサーバ102内に保持することなく、二重送信を以下の処理により検知することができる。以下、上述のステップS410においてメニュー画面が表示された状態から説明する。
【0083】
メニュー画面から「保険計上処理」が選択された場合、ブラウザ1は、ユーザが選択した業務種類、属性値Hiddenの引数とされた項目、共有クッキー2、ウインドウ別クッキー2をサーバに送信する(S502)。
【0084】
その後、ブラウザ状態管理スクリプトが起動し、ブラウザ1についてのウインドウ別クッキー2の送信済みフラグが送信済み「St」に更新される(S503)。
【0085】
このようにして、送信に応じて記憶装置に記憶された状態情報を更新する処理が実現される。
【0086】
メニューFC部304は、ブラウザ状態管理機能を用いて認証チェックを行う。図6に示す例では判断結果はケース4に該当するので、ブラウザ状態管理機能はブラウザ状態チェックを実行する。ここでのチェックの結果は、判定結果1に該当する。ブラウザ状態管理機能は、共有クッキー3を生成し、認証チケットにSC1、グループIDにG1、サーバ処理時刻にT3を設定し、ブラウザ1に送信する。また、ブラウザ1に対応するウインドウ別クッキー3を生成し、送信済みフラグにSf、サーバ処理時刻にT3を設定し、ブラウザ1に送信する。更に、属性値Hiddenの引数として、認証チケット=SC1、グループID=G1、ウインドウ識別ID=W1、サーバ処理時刻=T3を生成する。
【0087】
その後、ブラウザ状態管理機能はメニューFC部304に制御を戻す。
【0088】
メニューFC部304は、保険計上入力PL部318において保険計上入力画面を生成するタイミングで、保険計上入力画面に、認証チケット、グループID、ウインドウ識別ID、サーバ処理時刻を属性値Hiddenの引数として埋め込み、これをブラウザ1に送信する(S504)。
【0089】
ブラウザ1は、Webサーバ102から受信した保険計上入力画面を表示し、共有クッキー、ウインドウ別クッキーを今回受信したもので置き換える。
【0090】
保険計上入力画面に付保内容が入力されると、ブラウザ1は、その入力内容、属性値Hiddenの引数とされた項目、共有クッキー3、ウインドウ別クッキー3をWebサーバ102に送信する(S507)。その後、PC302においてブラウザ状態管理スクリプトが起動し、ブラウザに保持しているウインドウ別クッキー3の送信済みフラグの値が送信済み「St」に更新される(S508)。
【0091】
保険計上FC部306は、ブラウザ状態管理機能を用いて認証チェックを行う。ここでの判断結果はケース4に該当するので、ブラウザ状態管理機能はブラウザ状態チェックを実行する。チェックの結果は、判定結果1に該当する。ブラウザ状態管理機能は、共有クッキー4を生成し、認証チケットにSC1、グループIDにG1、サーバ処理時刻にT4を設定し、ブラウザ1に送信する。また、ウインドウ別クッキー4を生成し、送信済みフラグにSf、サーバ処理時刻にT4を設定し、ブラウザ1に送信する。更に、属性値Hiddenの引数として認証チケット=SC1、グループID=G1、ウインドウ識別ID=W1、サーバ処理時刻=T4を生成する。
【0092】
保険計上処理は二重計上を防止するため、クライアントからの二重送信を阻止する必要があるが、ブラウザ状態管理機能の判定結果は「初回送信」なので、保険計上FC部306はクライアントからの入力値を計上処理BL部324に引き渡し、計上処理を行う(S509)。保険計上FC部306は、計上処理BL部324の処理結果を受け取り、計上結果PL部320において計上結果画面を生成するタイミングで、そのHTMLテキストに認証チケット、グループID、ウインドウ識別IDおよびサーバ処理時刻を、属性値Hiddenの引数として埋め込み、これをブラウザ1に送信する。
【0093】
ここで、クライアントに計上結果が表示されるまでに、当該クライアントから保険計上入力画面の内容を再度サーバへ送信すると仮定する。この場合、ブラウザ1は、保険計上入力画面へのユーザの入力内容、属性値Hiddenの引数とされた項目、共有クッキー3およびウインドウ別クッキー3をサーバに再送信する(S511)。
【0094】
その後、ブラウザ状態管理スクリプトが起動し、ブラウザに保持しているウインドウ別クッキー3の送信済みフラグの値が送信済み「St」に更新される(S512)。なお、送信済みフラグはステップS508で既に送信済みとなっているが、スクリプトの処理は通常どおり行われるものとする。
【0095】
保険計上FC部306は、ブラウザ状態管理機能を用いて認証チェックを行う。図6に示す例では、判断結果はケース4に当たるので、ブラウザ状態管理機能はブラウザ状態チェックを実行する。ここでの判定の結果は判定結果2に該当する。ブラウザ状態管理機能は、共有クッキー5を生成し、認証チケットにSC1、グループIDにG1、サーバ処理時刻にT5を設定し、ブラウザ1に送信する。また、ウインドウ別クッキー5を生成し、送信済みフラグにSf、サーバ処理時刻にT5を設定し、ブラウザ1に送信する。更に、属性値Hiddenの引数として認証チケット=SC1、グループID=G1、ウインドウ識別ID=W1、サーバ処理時刻=T5を生成する。その後、保険計上FC部306に制御を戻す。
【0096】
保険計上FC部306は二重計上を防止するため、ユーザの二重送信を阻止する必要があるが、ブラウザ状態管理機能によるブラウザ状態チェックの判定は「送信済み」なので、保険計上FC部306は計上処理BL部324を呼び出さず、エラー表示PL部316においてエラー画面を生成する。ここで保険計上FC部306は、エラー画面のHTMLテキストに認証チケット、グループID、およびウインドウ識別IDおよびサーバ処理時刻を、属性値Hiddenの引数として埋め込み、これをブラウザ1に送信する(S514)。
【0097】
このようにして、クライアントにおいて、マークアップ・テキストに基づいて表示装置に画面を表示し、示された画面を通じて入力された情報と共に、記憶装置に記憶された状態情報をウェブサーバに送信し、送信に応じて、記憶装置に記憶された状態情報を更新し、ウェブサーバにおいて、送信された状態情報に基づいて、入力された情報を既に受信したか否かを判定する処理が実現される。
【0098】
PC302に表示されるエラー画面には、同一画面からの複数回の送信を検知し、計上要求は処理しなかった旨のメッセージと、処理を続行するために、メニュー画面に戻るリンクとが表示される。ユーザはリンクをクリックことによりメニュー画面に戻り、業務を続行することができる。
【0099】
このようにして、入力された情報を既に受信したと判定された場合、入力された情報が二重に送信されたことをクライアントに通知する処理が実現される。
【0100】
(二重送信をブラウザで検知する)
次に、図7を参照し、二重送信をブラウザで検知する処理について説明する。
【0101】
Webサーバ102のアプリケーションにおいてユーザから同一内容を二重に送信されることを阻止する必要がある場合には、ブラウザ状態管理スクリプトを用いて二重送信であることを下記の仕組みで検知することができる。なお、ステップS502〜S509までの処理は、二重送信をサーバで検知すると同一内容なので、説明を省略する。
【0102】
ブラウザが保険計上画面を表示している状態において、ユーザにより、計上結果が表示されるまでに保険計上入力画面を再度サーバに送信する操作が行われたものとする。すると、PC302においてブラウザ状態管理スクリプトが起動し、ウインドウ別クッキーの送信済みフラグの値を検査する(S611)。このようにして、記憶装置に記憶された状態情報に基づいて、送信を行うか否かの判定が行われる。この値は送信済み「St」なので、ブラウザ状態管理スクリプトはエラーダイアログを表示し、複数回の計上要求は処理できない旨のメッセージを表示して、正常な操作を促す(S612)。
【0103】
(ブラウザの「戻る」ボタンで画面を戻したことをサーバで検知する)
次に、図8を参照し、ブラウザの「戻る」ボタンを押下して画面を戻したことをWebサーバ102で検知する処理について説明する。
【0104】
Webサーバのアプリケーションにおいて、ブラウザの「戻る」ボタンで前の画面に戻り、送信されることを阻止する必要がある場合、Webサーバはユーザの操作状態をサーバ内に保持することなくブラウザの戻るボタンで画面を戻したことを以下の処理により検知することができる。以下、ステップS504においてPC302に保険計上入力画面が表示された状態から説明する。
【0105】
ユーザにより保険計上入力画面に付保内容が入力されると、ブラウザ1は、保険計上入力画面へのユーザの入力内容、属性値Hiddenの引数とされた項目、共有クッキー3、ウインドウ別クッキー3をWebサーバ102に送信する(S702)。
【0106】
その後、PC302においてブラウザ状態管理スクリプトが起動し、ブラウザに保持しているウインドウ別クッキー3の送信済みフラグの値が送信済み「St」に更新される(S703)。
【0107】
保険計上FC部306は、ブラウザ状態管理機能を用いて認証チェックを行う。図8に示す例はケース4にあたるので、ブラウザ状態管理機能はブラウザ状態チェックを行う。ここでのチェックの結果は、判定結果1である。ブラウザ状態管理機能は共有クッキー4を生成し、認証チケットにSC1、グループIDにG1、サーバ処理時刻にT4を設定し、ブラウザ1に送信する。また、ウインドウ別クッキー4を生成し、送信済みフラグにSf、サーバ処理時刻にT4を設定し、ブラウザ1に送信する。更に、属性値Hiddenの引数として、認証チケット=SC1、グループID=G1、ウインドウ識別ID=W2、サーバ処理時刻=T5を生成する。その後、保険計上FC部306に制御を戻す。
【0108】
保険計上FC部306は計上処理BL部324に計上処理の実行を命じ(S704)の処理結果を受け取る。そして、計上結果PL部320から計上結果画面のHTMLテキストを生成するタイミングで、そのHTMLテキストに、生成された認証チケット、グループID、およびウインドウ識別IDおよびサーバ処理時刻を、属性値Hiddenの引数して埋め込み、これをブラウザ1に送信する(S705)。
【0109】
ブラウザ1は、Webサーバ102から受信した計上結果画面を表示すると共に、共有クッキー、ウインドウ別クッキーを今回受信したもので置き換える。
【0110】
ここで、計上結果画面が表示されてからブラウザの「戻る」ボタン(ブラウザの標準機能)が押下され、保険計上入力画面が表示され(S706)た後、ユーザの操作により、計上結果の送信が指示されたと仮定する。
【0111】
ブラウザ1は、保険計上入力画面へのユーザの入力内容、属性値Hiddenの引数とされた項目、共有クッキー4、ウインドウ別クッキー4(ウィンドウ識別はW1)をWebサーバ102に送信する(S708)。その後、PC302においてブラウザ状態管理スクリプトが起動し、ブラウザに保持しているウインドウ別クッキー4の送信済みフラグの値を送信済み「St」に設定する(S709)。
【0112】
保険計上FC部306は、ブラウザ状態管理機能を用いて認証チェックを行う。図8に示す例の判断結果はケース4にあたるので、ブラウザ状態管理機能はブラウザ状態チェックを行う。図8に示す例における判定結果は、判定結果3に相当する。このようにして、送信されたマークアップテキストに埋め込まれた時刻と状態情報とに基づいて、入力された情報を既に受信したか否かが判定される。
【0113】
ブラウザ状態管理機能は共有クッキー5を生成し、認証チケットにSC1、グループIDにG1、サーバ処理時刻にT5を設定し、ブラウザ1に送信する。また、ウインドウ識別ID=W2を新たに発行し、ブラウザ1のウィンドウ識別IDとする。また、W2を名称とするウィンドウ別クッキー5(名称はW2)を新たに生成し、送信済みフラグには未送信「Sf」の値を設定し、サーバ処理時刻には当該Webサーバ102での処理時刻T5を設定し、ブラウザ1に送信する。また、当該ブラウザの元のウインドウ識別ID=W1に対応するウインドウ別クッキー5(名称はW1)を新たに生成し、送信済みフラグには未送信「Sf」の値を設定し、サーバ処理時刻には受信したウインドウ別クッキー4(名称はW1)のサーバ処理時刻T4を設定し、ブラウザに送信する。更に、属性値Hiddenの引数として、認証チケット=SC1、グループID=G1、ウインドウ識別ID=W2およびサーバ処理時刻=T5の各値を生成する。その後、保険計上FC部306に制御を戻す。
【0114】
ブラウザ状態管理機能の判定結果が、「以前の画面に戻ったか、新たなブラウザが起動した」であるので、保険計上FC部306は計上処理BL部324を呼び出さず、エラー表示PL部316においてエラー画面が生成される。このタイミングで保険計上FC部306は、生成された認証チケット、グループID、ウインドウ識別IDおよびサーバ処理時刻を、属性値Hiddenの引数としてHTMLテキストに埋め込み、これをブラウザ1に送信する(S711)。
【0115】
PC302には、業務上の画面遷移を逸脱した操作を検知し、計上要求は処理しなかった旨のメッセージと、処理を続行するために、メニュー画面に戻るリンクを含むエラー画面が表示される。ユーザはリンクをクリックしてメニュー画面に戻り、業務を続行することができる。
【0116】
(新たなブラウザの起動をサーバで検知する)
次に、図9および図10を参照し、新たなブラウザをサーバで検知する処理について説明する。Webサーバ102のアプリケーションにおいては、照会プログラムのように、ユーザが複数のブラウザを起動して操作することを許すものがある。この場合、サーバ側に状態を保持することなく、1つのクライアントにおいて起動された複数のブラウザの状態管理を以下のように行うことができる。
【0117】
以下、PC302に表示されたメニュー画面におけるユーザの選択操作により、契約照会条件入力画面が表示された状態から説明する。
【0118】
ユーザは、PC機302を操作することにより、新たなブラウザを起動する。ここで、ユーザの操作により、新たに起動されたブラウザにおいても契約照会条件入力画面が表示されたと仮定する。これにより、2つのブラウザにより、契約照会条件入力画面が表示されることとなる。共有クッキー3、およびウインドウ別クッキー3は、2つのブラウザ間で共有される(図9のS801)。
【0119】
ブラウザ1の契約照会条件入力画面に検索条件が入力され送信が指示されると、契約照会条件入力画面への入力内容、属性値Hiddenの引数とされた項目、共有クッキー3、ウインドウ別クッキー3がWebサーバ102に送信される(S803)。
【0120】
その後、ブラウザ状態管理スクリプトが起動し、ブラウザに保持しているウインドウ別クッキー3の送信済みフラグが送信済み「St」に更新される(S804)。
【0121】
契約照会FC部308は、ブラウザ状態管理機能を用いて認証チェックを行う。図9に示す例ではケース4に該当するので、ブラウザ状態管理機能はブラウザ画面遷移チェックを行う。ここでのチェックの結果は、判定結果1に該当する。ブラウザ状態管理機能は共有クッキー4を生成し、認証チケットにSC1、グループIDにG1、サーバ処理時刻にT4を設定し、ブラウザ1に送信する。また、ウインドウ別クッキー4を生成し、送信済みフラグにSf、サーバ処理時刻にT4を設定し、ブラウザ1に送信する。
【0122】
契約照会FC部308は、契約照会BL部326を呼び出し、処理結果を得る(S805)。ここで、契約表示PL部322において契約表示画面を生成するタイミングで、認証チケットにSC1、グループIDにG1、ウインドウ識別IDにW1およびサーバ処理時刻にT4を、属性値Hiddenの引数として埋め込み、これをブラウザ1に送信する(S806)。
【0123】
ブラウザ1は、サーバから受信した計上結果画面を表示し、共有クッキー、ウインドウ別クッキーを今回受信したもので置き換える。
【0124】
ユーザはブラウザ2の契約照会条件入力画面に検索条件を入力し、送信する。
【0125】
ブラウザ2は、契約照会条件入力画面へのユーザの入力内容、属性値Hiddenの引数とされた項目、共有クッキー4およびウインドウ別クッキー4をサーバに送信する(図10のS1009)。
【0126】
その後、ブラウザ状態管理スクリプトが起動し、PC302に保持しているウインドウ別クッキー4の送信済みフラグの値が送信済み「St」に更新される。
【0127】
契約照会FC部308は、ブラウザ状態管理機能を用いて認証チェックを行う。図10の例ではケース4にあたるので、ブラウザ状態管理機能は表2に示すブラウザ状態チェックを行う。ここでのチェックの結果は、判定結果3に該当する。ブラウザ状態管理機能は下記の処理を行い、契約照会FC部308に制御を戻す。
【0128】
契約照会FC部308は共有クッキー5を生成し、認証チケットにSC1、グループIDにG1、サーバ処理時刻にT5を設定し、ブラウザ1に送信する。また、ウインドウ識別ID=W2を新たに発行し、ブラウザ2の名称とする。
【0129】
さらに、ウインドウ別クッキー5(名称はW2)を新たに生成し、送信済みフラグには未送信「Sf」の値を設定し、サーバ処理時刻にはT5を設定し、ブラウザ2に送信する(S1012)。
【0130】
次いで、当該ブラウザの元のウインドウ識別IDに対応するウインドウ別クッキー5(名称はW1)を新たに生成し、送信済みフラグには未送信「Sf」を設定し、サーバ処理時刻には受信したウインドウ別クッキー4(名称はW1)のサーバ処理時刻にT4を設定し、ブラウザ2に送信する。
【0131】
さらに、属性値Hiddenの引数とする認証チケット=SC1、グループID=G1、ウインドウ識別ID=W2およびサーバ処理時刻=T5を生成する。
【0132】
契約照会用アプリケーションはユーザが複数のブラウザで照会することを業務上許しているので、契約照会FC部308は、契約照会BL部326を呼び出し結果を得る。そして、契約表示PL部322において契約表示画面を生成するタイミングで、認証チケット、グループID、ウインドウ識別ID、サーバ処理時刻を属性値Hiddenの引数として埋め込み、これをブラウザ2に送信する。
【0133】
ブラウザ2は、Webサーバ102から受信した契約表示画面を表示し、共有クッキー、ウインドウ別クッキーを今回受信したもので置き換える。
【0134】
Webサ−バ102およびPC302では、上記の処理によりPC302に保持された情報を用いてブラウザの状態管理を行うことができる。
【0135】
以上、本発明の好適な実施形態を説明したが、本発明はこの実施形態のみに限定されることなく他の種々の態様でも実施できることはいうまでもない。例えば、上述の実施形態ではマークアップ言語としてHTML言語を例に説明したが、本発明はこれに限定されず、たとえばXML (Extensible Markup Language)や、PDAなどの携帯情報端末用のマークアップ言語であるCHTML(CompactHTML)、HDML(Handheld Device Markup Language)等の、他のマークアップ言語を使用することも可能である。したがって、クライアントとサーバが通信を行うためのプロトコルに、HTTP以外の他のプロトコルを使用できることはいうまでもない。
【0136】
また、クライアントとしては、上述したもの以外に、PHSや通信機能を有するPDA等の種々の情報処理端末を使用することができる。
【0137】
更に、以上述べた形態以外にも種々の変形が可能である。しかしながら、その変形が特許請求の範囲に記載された技術思想に基づくものである限り、その変形もまた本発明の技術範囲内となる。
【0138】
【発明の効果】
以上説明したように、本発明によれば、ブラウザとWebサーバの全ての通信について、動的負荷分散が可能となる。
【0139】
また、Webサーバ側の機構が簡素化されて実現費用が低廉となり、かつ高い可用性の実現が可能となる。
【0140】
また、サーバ側において、操作者がブラウザを分割したことを検知することができる。
【0141】
更に、ブラウザの同一画面から複数回情報が送信されたことをサーバ側およびブラウザ側で阻止することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る画面遷移制御システムの構成を示すブロック図である。
【図2】本発明の実施形態に係るWebサーバの機能構成を示すブロック図である。
【図3】本発明の実施形態に係るWebサーバのハードウェア構成を示すブロック図である。
【図4】本発明の実施形態に係るPCの機能構成を示すブロック図である。
【図5】Webサーバへのログイン処理の一例を示すシーケンス図である。
【図6】Webサーバによりクライアントからの二重送信を検知する処理の一例を示すシーケンス図である。
【図7】二重送信をブラウザで検知する処理の一例を示すシーケンス図である。
【図8】ブラウザの「戻る」ボタンを押下して画面を戻したことをWebサーバで検知する処理の一例を示すシーケンス図である。
【図9】新たなブラウザをサーバで検知する処理の一例を示すシーケンス図である。
【図10】新たなブラウザをサーバで検知する処理の一例を示すシーケンス図である。
【符号の説明】
100 情報処理システム
101 インターネット
102 Webサーバ
106 認証サーバ
112 フロー制御(FC)部
114 業務ロジック(BL)部
116 認証部
118 アカウントデータベース
120 プレゼンテーションロジック(PL)部
201 CPU
202 ROM
203 通信I/F
204 ビデオI/F
205 ディスプレイ
206 RAM
207 入出力I/F
208 キーボード・マウスI/F
209 キーボード
210 マウス
211 バス
212 プログラムメモリ
213 ハードディスク
302 PC
303 ログインFC部
304 メニューFC部
306 保険計上FC部
308 契約照会FC部
310 ログインPL部
312 リダイレクトPL部
314 メニューPL部
316 エラー表示PL部
318 保険計上入力PL部
320 計上結果PL部
322 契約表示PL部
324 計上処理BL部
326 契約照会BL部
1001 アンテナ
1002 通信部
1003 記憶部
1004 ブラウザ
1005 ブラウザ状態管理スクリプト
1006 音声出力部
1007 入力部
1008 制御部
1009 表示部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a screen transition control system, a client, a web (Web) server, a screen transition control method, and a computer program. More specifically, the present invention relates to a screen transition control system, a client, The present invention relates to a web server, a screen transition control method, and a computer program.
[0002]
[Prior art]
In an application using a conventionally known web server and client browser, the browser-side cookie and the web server are used for synchronization between the browser-side screen transition and the web server-side application screen transition. The browser status information held on the side is used.
[0003]
A cookie is information sent to a browser of a client in order for the Web server to identify a user who operates each client. For example, in electronic commerce, when a payment procedure is performed after selecting a plurality of products, the Web server side needs to identify the user in each session. In this case, the Web server transmits a cookie to the client. The browser of the client that has received the cookie from the Web server returns the cookie for each session. By performing such control, the Web server identifies the user and synchronizes the screen transition on the browser side with the screen transition of the application on the Web server side.
[0004]
The status information is information related to a user who is accessing the website, is held in a web server that provides the website, and is used to manage a session with a client.
[0005]
[Problems to be solved by the invention]
However, when screen transition control as described above is performed, in order to realize load distribution using a plurality of servers, state information held in a specific server can be referred to or changed from a plurality of other servers. A mechanism must be built. For this reason, there is a problem that it is difficult to design a dynamic load distribution on the Web server side.
[0006]
In addition, the mechanism that enables the state information on the Web server side to be referred to or changed from other servers in this way is designed to hold the state information in the database server and connect the servers to the database server via a LAN line. Change is required. For this reason, there is a problem that the mechanism of the server is complicated and the implementation cost is high.
[0007]
In addition, a mechanism that enables the state information on the Web server side to be referred to / changed from a plurality of servers complicates the server mechanism and increases the number of components. For this reason, there is a problem that it is difficult to realize high versatility.
[0008]
Further, a client user may display two browsers and perform different operations on each browser. In this case, the conventional Web server side application cannot detect this action of the user. Therefore, there is a problem that the function scheduled in the Web server side application may not be provided.
[0009]
In addition, after the client user inputs a value on a certain screen and sends it to the Web server, if the processing on the Web server side takes time, the user returns the browser screen on the server side and displays the screen again. Was displayed, and the entered value could be re-sent to the server. In this case, the server will receive the same content multiple times from the same screen. Therefore, there is a problem in that the function planned for the Web server side application may not be provided.
[0010]
The present invention has been made in view of such problems, and the object of the present invention is to provide a screen transition control system capable of easily performing dynamic load distribution for all communication between a browser and a server, a client, To provide a web server, a screen transition control method, and a computer program.
[0011]
Another object of the present invention is to provide a screen transition control system, a client, a web server, a screen transition control method, and a computer program that have a simplified server-side mechanism, have low implementation costs, and are highly available.
[0012]
Another object of the present invention is to provide a screen transition control system, a client, a web server, a screen transition control method, and a computer program that can detect that a user has activated a plurality of browsers.
[0013]
Another object of the present invention is to provide a screen transition control system, a client, a web server, a screen transition control method, and a computer program capable of avoiding an erroneous operation of a web server side application due to information transmitted multiple times from the same screen of a browser. It is to provide.
[0020]
[Means for Solving the Problems]
In order to achieve such an object, the invention described in claim 1 is a screen transition control system that controls transition of a screen displayed on a client based on markup text transmitted from a web server. The web server includes an embedding unit for embedding a predetermined time in the markup text, a markup text in which the time is embedded, a state of the markup text, and including the embedded time Server-side transmission means for transmitting state information, and the client stores storage means for storing state information including the time transmitted by the server-side transmission means, and any server transmitted by the server-side transmission means. Display means for displaying a screen based on the markup text and a screen displayed by the display means. Client-side transmission means for transmitting status information including the time embedded in the markup text and the time stored in the storage means together with the information input in the above-mentioned manner, The embedded time transmitted by the transmitting means and the Time included in the status information When If the time included in the status information is a time that is past the embedded time Already received the input information And It further comprises determination means for determining.
[0022]
Claims 2 In the web server that controls transition of the screen displayed on the client based on the markup text, the invention described in (2) includes an embedding unit that embeds a predetermined time in the markup text, and the time is embedded Transmitting means for transmitting markup text and status information about the markup text including the embedded time, and input from the client through a screen displayed based on arbitrary markup text Together with the received information, receiving means for receiving the time embedded in the markup text, and status information including the time, the embedded time received by the receiving means, and the Time included in the status information When If the time included in the status information is a time that is past the embedded time Already received the input information And And determining means for determining.
[0024]
Claims 3 According to the invention described in the above, in the client that controls transition of a screen displayed on the client based on the markup text transmitted from the web server, the markup text in which a predetermined time is embedded from the web server, Receiving means for receiving status information about the markup text including the embedded time, storage means for storing status information including the time received by the receiving means, and any received by the receiving means Display means for displaying a screen on the basis of the markup text and information inputted through the screen displayed by the display means, the time embedded in the markup text, and the storage means Send status information including time Send With means When the input information has already been transmitted, the time included in the status information transmitted together with the information input through the arbitrary screen from the transmission means is a time that is earlier than the embedded time. is there It is characterized by that.
[0029]
Claims 4 In the screen transition control method for controlling transition of a screen displayed on a client based on a markup text transmitted from a web server, the web server includes a predetermined time in the markup text. And the web server transmits the markup text in which the time is embedded and the status information about the markup text including the embedded time, and the client transmits the transmitted time. Is stored in a storage device, the client displays a screen on a display device based on an arbitrary markup text transmitted from the web server, and the client inputs the screen through the displayed screen. Together with the recorded information, the markup test Send time embedded in the strike, and the state information including the stored time in the storage device, in the web server, and the transmitted the embedded time said Time included in the status information When If the time included in the state information is a time past the embedded time, the screen transition is not performed correctly or an additional screen is displayed by the client. It is characterized by determining.
[0030]
Claims 5 In the screen transition control method of a web server for controlling transition of a screen displayed on a client based on markup text, the invention described in (2) embeds a predetermined time in the markup text, and the time is embedded. The markup text and status information about the markup text including the embedded time are transmitted and input from the client through a screen displayed based on the transmitted arbitrary markup text. And the time information embedded in the markup text and the status information including the time are received together with the received embedded time and the information Status information included in status information When If the time included in the state information is a time past the embedded time, the screen transition is not performed correctly or an additional screen is displayed by the client. It is characterized by determining.
[0031]
Claims 6 In the client screen transition control method for controlling transition of the screen displayed on the client based on the markup text transmitted from the web server, the predetermined time is embedded from the web server. Receiving markup text and state information about the markup text including the embedded time, storing state information including the received time in a storage device, and receiving any information received from the web server A state in which a screen is displayed on the display device based on the markup text, and includes information inputted through the displayed screen, a time embedded in the markup text, and a time stored in the storage device Send information When the input information has already been transmitted, the time included in the status information transmitted together with the input information through an arbitrary screen is a time that is earlier than the embedded time. It is characterized by that.
[0035]
Claims 7 According to the invention described in the above, the web server that controls the transition of the screen displayed on the client based on the markup text causes time to be embedded in the markup text, and the markup text in which the time is embedded And state information about the markup text including the embedded time, and input from the client through a screen displayed based on an arbitrary markup text transmitted by the web server Along with the information, the time embedded in the markup text and the state information including the time are received, and the received embedded time and the Time included in the status information When If the time included in the state information is a time past the embedded time, the screen transition is not performed correctly or an additional screen is displayed by the client. It is characterized by making it judge.
[0036]
Claims 8 According to the invention described in the above, for a client that controls transition of a screen displayed on a client based on markup text transmitted from a web server,
A markup text embedded with a predetermined time and status information about the markup text including the embedded time are received from the web server, and the status information including the received time is stored in the storage device And displaying the screen on the display device based on the markup text received from the web server, together with the information input through the displayed screen, the time embedded in the markup text, and the Send status information including the time stored in the storage device. If the input information has already been transmitted, the time included in the status information transmitted together with the input information through an arbitrary screen is earlier than the embedded time. Is the time of It is characterized by that.
[0037]
With such a configuration, in the present invention, dynamic load distribution is possible for all communication between the browser and the server by adopting a method in which the state information is retained on the client side and the state information is not retained on the server side. It becomes.
[0038]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the following description, information processing related to the insurance business will be described as an example, but the present invention is not limited to this.
[0039]
FIG. 1 is a block diagram showing the configuration of the screen transition control system according to this embodiment. The screen transition control system includes an information processing system 100 including a Web server 102 that is a node using the World Wide Web (WWW) and an authentication server 106 that performs authentication for a user of a personal computer (PC) 302, and a browser. It is comprised from PC302 mounted.
[0040]
The web server 102 displays a screen for accepting input of information interactively with the user on the PC 302 via the Internet 101, and business logic (BL) for executing an application program related to the insurance business Unit 114 and a flow control (FC) unit 112 that calls the PL unit 120 and the BL unit 114 to control the flow of online work. In the present embodiment, a vehicle insurance sales representative in an insurance agency is assumed as a user of the PC 302.
[0041]
The authentication server 106 performs user authentication, and includes an account database (DB) 118 that stores information related to the user of the PC 302 and an authentication unit 116 that performs authentication using the DB. The account DB 118 stores an authentication ticket and a group ID, which will be described later, as information about the user.
[0042]
FIG. 2 is a block diagram showing the functional configuration of the Web server 102 in more detail. The PL unit 120 includes a login PL unit 310 that provides a login screen, a redirect PL unit 312 that provides a later-described redirect screen, a menu PL unit 314 that provides a menu screen, an error display PL unit 316 that provides an error screen, an insurance account It has an insurance record input PL unit 318 that provides an input screen, a record result PL unit 320 that provides a record result screen, and a contract display PL unit 322 that provides a contract display screen. Each component of the PL unit 120 holds a plurality of texts (HTML texts) described in HTML (HyperText Markup Language) language for displaying a Web page, and corresponds to a call from the FC unit 112. HTML text to be transmitted is displayed, and a Web page is displayed on the display of the PC 302.
[0043]
The FC unit 112 includes a login FC unit 303, a menu FC unit 304, an insurance accounting FC unit 306, and a contract inquiry FC unit 308. When the login FC unit 303 receives a connection request from the PC 302, the login FC unit 303 verifies whether or not the connection request is from a legitimate user by using previously stored information on the user and the model of the PC 302. If the result of the verification is a connection request from an unauthorized user, the login PL unit 310 is called and a login screen is displayed on the PC 302 to prompt the user to perform login processing. The menu FC unit 304 calls the menu PL unit 314 and displays a menu screen on the PC 302.
[0044]
Further, the insurance accounting FC unit 306 calls the insurance accounting PL unit 318 and the accounting result PL unit 320 according to the flow of business or according to the selection of the function using the PC 302 by the user. Similarly, the contract inquiry FC unit 308 calls the contract display PL unit 322.
[0045]
Each component of the FC unit 112 verifies whether or not the transition of the screen displayed on the PC 302 is valid. As a result of the verification, if the screen transition is illegal, correction is performed, and control for guiding the user to the correct business procedure is performed.
[0046]
The BL unit 114 performs information processing related to insurance business, and performs processing to return the result to the FC unit 112. The accounting processing BL unit 324 that records insurance contracts, and the contract inquiry BL unit for performing contract inquiries 326.
[0047]
FIG. 3 is a block diagram illustrating an example of a hardware configuration of the Web server according to the present embodiment. The hardware configuration shown in this figure is also used for the authentication server 106. The Web server 102 includes a central processing unit (CPU) 201 that controls the entire apparatus, a read only memory (ROM) 202 that stores a system program for controlling the entire apparatus, and a RAM (temporary storage area) (RAM ( Random Access Memory) 206 is connected via a bus 211. In addition, a program memory 212 storing a program for executing processing according to the present invention, a keyboard / mouse interface (I / F) 208, a video I / F 204 connected to the display 205, and the Internet 101 A communication I / F 203 such as a modem for performing communication and an input / output I / F 207 connected to the hard disk 213 are connected to the bus 211.
[0048]
The keyboard / mouse I / F 208 is connected to a keyboard 209 and a mouse 210 used for inputting commands and symbols.
[0049]
The screen transition control method according to the present embodiment is achieved by the CPU 201 reading and executing the program code from the program memory 212 in which the program code of the program that realizes the processing to be described later is recorded.
[0050]
Various functions related to the present invention can be designed as a program module to be executed by the Web server 102. For example, as a means for displaying a screen on the user's PC 302, a communication program that realizes communication with the client PC 302, a WWW server program that transmits an input screen or the like using HTTP (HyperText Transfer Protocol), and an input screen on the client browser Use a program that displays etc. As a program for displaying an input screen or the like, for example, ASP (Active Server Pages) of IIS (Internet Information Services) which is a WWW server on Windows (registered trademark) of Microsoft Corporation can be used. Information processing such as database search based on information received via a Web page can also be executed by the ASP.
[0051]
These programs are written in a markup language such as HTML in addition to a high-level procedural programming language, an object-oriented programming language, an assembly language, and a machine language. In such a realization method, a program memory 212 constituted by a hard disk, a magneto-optical disk, an optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, etc. is used as a computer-readable recording medium. Function.
[0052]
Next, content of data held in the PC 302 in the screen transition control method according to the present embodiment will be described.
(1) Shared cookies
The shared cookie is a cookie loaded with information for managing the authentication state of the logged-on user, and is shared between a plurality of HTML texts. The shared cookie received by the PC 302 from the Web server 102 continues to exist until the browser is terminated or logged off. Examples of information items included in this shared cookie are shown in the following table.
[0053]
[Table 1]
Figure 0003842696
[0054]
(2) Cookies by window
The window-specific cookie is a cookie generated for each HTML text, and stores status information about the HTML text. Each HTML text is assigned a window identification ID, and this cookie has a name corresponding to the window identification ID. The cookie by window received by the PC 302 from the Web server 102 continues to exist until the browser is terminated or logged off. Examples of information items included in this shared cookie are shown in the following table.
[0055]
[Table 2]
Figure 0003842696
[0056]
(3) Attribute value Hidden
The HTML INPUT tag is used to define an input field. There is a TYPE attribute as an attribute of the INPUT tag. The TYPE attribute is used to specify the input format of the input field. One of the attribute values of the TYPE attribute is an attribute value Hidden. The attribute value Hidden specifies that the argument is not displayed on the browser, and is used when the argument is passed from the client to the server's CGI (Common Gateway Interface) script or the like. For example,
<INPUT TYPE = "Hidden" NAME = "office" VALUE = "n">
In the case of the tag, the value N designated by VALUE that is not displayed on the client screen is transmitted to the CGI program of the server.
[0057]
In the present embodiment, status information about each HTML text is defined as an argument of the attribute value Hidden, and the value is defined for each HTML text transmitted from the Web server 102. Table 3 below shows items that are arguments of the attribute value Hidden in the present embodiment.
[0058]
[Table 3]
Figure 0003842696
[0059]
Next, the browser state management function executed in the server will be described. The browser status management function is incorporated in the FC unit 112 of the Web server 102 and includes an authentication check and a browser status check.
[0060]
(1) Authentication check
The FC unit 112 determines whether there is a shared cookie. If there is a shared cookie, the FC unit 112 further determines the contents of the authentication ticket and the server processing time, and executes the following processing according to the determination result.
・ Case 1: When there is no shared cookie
A login screen is transmitted to the PC 302.
Case 2: When there is no valid value for the shared cookie authentication ticket
A login screen is transmitted to the PC 302.
・ Case 3: The authentication ticket for the shared cookie has a valid value, and the server processing time has passed a predetermined time (allowable no-operation time)
A login screen is transmitted to the PC 302.
・ Case 4: When the shared cookie authentication ticket has a valid value and the server processing time is within the allowable no-operation time
Continue processing on the Web server side.
[0061]
(2) Browser status check
The FC unit 112 performs the following determination and the corresponding processing based on the items for the window-specific cookie and the attribute value Hidden.
Determination result 1: The value of the transmitted flag of the cookie by window corresponding to the HTML text is “Sf” not transmitted.
[0062]
In this case, the FC unit 112 determines that “initial transmission”, that is, information to be transmitted is transmitted to the PC 302 for the first time. Then, a new shared cookie is generated, and the same value as the shared cookie received from the browser is set in the authentication ticket and the group ID. Further, the server processing time is set to the processing time at the server and transmitted to the browser.
[0063]
Also, a window-specific cookie corresponding to the browser is newly generated, unsent “Sf” is set in the transmitted flag, the processing time at the server is set as the server processing time, and the cookie is transmitted to the browser.
[0064]
In addition, when transmitting the HTML text, the authentication ticket, group ID, and window identification ID used as the argument of the attribute value Hidden are set to the same value as the argument value of the attribute value Hidden received from the browser, and the server processing time is set. Sets the processing time at the server.
[0065]
Determination result 2: The value of the transmitted flag of the window-specific cookie corresponding to the HTML text is “St” that has been transmitted.
In this case, the FC unit 112 determines that transmission has been completed, that is, information to be transmitted has been transmitted to the PC 302. Then, the same processing as the determination result 1 is performed.
[0066]
Determination result 3: The server processing time set as an argument of the attribute value Hidden is a past time from the server processing time of the window-specific cookie corresponding to the HTML text.
In this case, the FC unit 112 determines that the display screen has returned to the previous screen or that a new browser has been activated. Then, a new shared cookie is generated, and the same value as the shared cookie received from the browser is set in the authentication ticket and the group ID. Further, the server processing time is set to the processing time at the server and transmitted to the browser.
[0067]
Next, a new window identification ID is issued and used as the window identification ID of the HTML text to be transmitted next time.
[0068]
Next, a new window-specific cookie corresponding to the browser is generated, unsent “Sf” is set in the transmitted flag, and the processing time at the server is set as the server processing time. Send.
[0069]
Next, a window-specific cookie corresponding to the original window identification ID of the browser is newly generated, unsent “Sf” is set in the transmitted flag, and the server processing time of the received window-specific cookie is set as the server processing time. Set and send to the browser.
[0070]
In addition, when transmitting the HTML text, the authentication ticket, group ID, and window identification ID used as the argument of the attribute value Hidden are set to the same value as the argument value of the attribute value Hidden received from the browser, and the server processing time is set. Sets the processing time at the server.
[0071]
Next, the functional configuration of the PC 302 will be described. As shown in FIG. 4, the PC 302 receives a communication unit 1002 that transmits and receives information via the Internet 101, an audio output unit 1006 that outputs audio, a display unit 1009 that displays a screen, and an input from a user. It comprises an input unit 1007 for accepting and a control unit 1008 for controlling these components. The control unit 1008 implements the method according to the present invention by reading and executing the browser 1004 and the browser state management script 1005 stored in the storage unit 1003. A browser (user agent) 1004 is a program for browsing WWW content, and a browser state management script 1005 is a program embedded in HTML text and transmitted from the Web server 102 to the PC 302. Operates and manages the state of the browser 1004. In this embodiment, the browser 1004 has a function of processing cookies, a script such as Java (registered trademark) Script operates, and a plurality of browsers can be operated by duplicating already activated browsers. Is possible.
[0072]
The browser state management script 1005 updates the transmitted flag of the window-specific cookie corresponding to the browser to the transmitted “St” after transmitting a predetermined processing request to the Web server 102. Further, before sending a predetermined processing request to the Web server 102, the value of the sent flag of the window-specific cookie corresponding to the browser is checked, and if it is sent “St”, an error dialog is displayed and sent. Not performed. Such functions can be selectively implemented.
[0073]
(Login)
Next, login processing to the Web server 102 will be described with reference to the flowchart of FIG.
[0074]
First, when the browser of the PC 302 is activated, the browser requests the Web server 102 to transmit a login screen (S402). Hereinafter, this browser is referred to as browser 1. The login PL unit 310 transmits a login screen to the browser 1 (S403). When the user inputs the user ID and password on the login screen displayed by the browser 1, the browser 1 transmits the input value to the information processing system 100 (S404). The login FC unit 303 sends the user ID and password to the authentication unit 116 of the authentication server 106 (S405).
[0075]
The authentication unit 116 searches the account DB 118, authenticates the user with the user ID and password, and returns an authentication ticket and a group ID to the login FC 302 (S406).
[0076]
The login FC unit 303 generates the shared cookie 1, sets SC 1 as the authentication ticket, G 1 as the group ID, and T 1 as the server processing time, and transmits it to the browser 1. Moreover, window identification ID = W1 is issued and it is set as the name of the cookie 1 by window corresponding to the browser 1. In addition, Sf is set in the transmitted flag of the cookie 1 for each window, and T1 is set in the server processing time, which is transmitted to the browser 1. Further, the redirect PL unit 312 generates a redirect screen. At this time, the authentication ticket = SC1, the group ID = G1, the window identification ID = W1, and the server processing time = T1 are embedded in the HTML text of the redirect screen as arguments of the attribute value Hidden and transmitted to the browser 1 (S407). ). This redirect screen is a non-display screen and is not displayed by the browser 1.
[0077]
Upon receiving the redirect screen, the browser 1 automatically transmits the item, the shared cookie 1, and the window-specific cookie 1 as an argument of the attribute value Hidden to the Web server 102 (S408). Thereafter, the browser state management script is activated on the PC 302, and the transmitted “St” is set in the transmitted flag of the cookie 1 by window for the browser 1 (S409).
[0078]
Next, the menu FC unit 304 performs an authentication check using the browser state management function. In the example shown in FIG. 5, since the determination result corresponds to case 4, the browser state management function executes a browser state check. The result of determination here corresponds to determination result 1. The browser state management function generates the shared cookie 2, sets SC 1 as the authentication ticket, G 1 as the group ID, and T 2 as the server processing time, and transmits it to the browser 1. Further, the window-specific cookie 2 corresponding to the browser 1 is generated, Sf is set in the transmitted flag, and T2 is set in the server processing time, and the cookie 2 is transmitted to the browser 1. Further, the menu PL unit 314 generates values for an authentication ticket, a group ID, a window identification ID, and a server processing time to be used as arguments of the attribute value Hidden. Thereafter, control is returned to the menu FC unit 304.
[0079]
The menu FC unit 304 embeds the authentication ticket, group ID, window identification ID, and server processing time generated in the browser state management function as an argument of the attribute value Hidden in the menu screen, and transmits this to the browser 1 (S410). .
[0080]
The browser 1 displays the menu screen received from the Web server 102 and replaces the shared cookie and the window-specific cookie with the one received this time.
[0081]
In this way, processing for storing status information for each markup text in the storage device is realized in the client.
[0082]
(Double transmission is detected by Web server)
Next, processing for detecting double transmission from the client by the Web server 102 will be described with reference to the flowchart of FIG. In the application on the Web server 102, when it is necessary to prevent the same content from being transmitted twice from the client, the Web server 102 does not hold the operation state of the client in the Web server 102 and does the double transmission Can be detected by the following processing. Hereinafter, a description will be given from the state in which the menu screen is displayed in step S410 described above.
[0083]
When “Insurance process” is selected from the menu screen, the browser 1 transmits the business type selected by the user, the item that is the argument of the attribute value Hidden, the shared cookie 2, and the cookie 2 by window to the server (S502). ).
[0084]
Thereafter, the browser state management script is activated, and the transmitted flag of the window-specific cookie 2 for the browser 1 is updated to transmitted “St” (S503).
[0085]
In this way, processing for updating the state information stored in the storage device in response to transmission is realized.
[0086]
The menu FC unit 304 performs an authentication check using the browser state management function. In the example shown in FIG. 6, the determination result corresponds to case 4, so the browser state management function executes a browser state check. The result of the check here corresponds to the determination result 1. The browser state management function generates the shared cookie 3, sets SC 1 as the authentication ticket, G 1 as the group ID, and T 3 as the server processing time, and transmits it to the browser 1. Further, the window-specific cookie 3 corresponding to the browser 1 is generated, Sf is set in the transmitted flag, T3 is set in the server processing time, and the cookie 3 is transmitted to the browser 1. Further, authentication ticket = SC1, group ID = G1, window identification ID = W1, and server processing time = T3 are generated as arguments of the attribute value Hidden.
[0087]
Thereafter, the browser state management function returns control to the menu FC unit 304.
[0088]
The menu FC unit 304 embeds the authentication ticket, group ID, window identification ID, and server processing time as arguments of the attribute value Hidden in the insurance report input screen at the timing when the insurance report input PL unit 318 generates the insurance report input screen. This is transmitted to the browser 1 (S504).
[0089]
The browser 1 displays the insurance report input screen received from the Web server 102 and replaces the shared cookie and the window-specific cookie with the one received this time.
[0090]
When the insured content is input on the insurance accounting input screen, the browser 1 transmits the input content, the item that is the argument of the attribute value Hidden, the shared cookie 3, and the cookie 3 by window to the Web server 102 (S507). . Thereafter, the browser state management script is activated on the PC 302, and the value of the transmitted flag of the cookie 3 for each window held in the browser is updated to “St” that has been transmitted (S508).
[0091]
The insurance posting FC unit 306 performs an authentication check using the browser state management function. Since the determination result here corresponds to Case 4, the browser state management function executes a browser state check. The result of the check corresponds to the determination result 1. The browser state management function generates the shared cookie 4, sets SC 1 as the authentication ticket, G 1 as the group ID, and T 4 as the server processing time, and transmits it to the browser 1. Further, the window-specific cookie 4 is generated, Sf is set in the transmitted flag, T4 is set in the server processing time, and the cookie 4 is transmitted to the browser 1. Further, authentication ticket = SC1, group ID = G1, window identification ID = W1, and server processing time = T4 are generated as arguments of the attribute value Hidden.
[0092]
In order to prevent double counting in the insurance accounting process, it is necessary to prevent double transmission from the client. However, since the judgment result of the browser state management function is “initial transmission”, the insurance accounting FC unit 306 inputs from the client. The value is transferred to the counting process BL unit 324, and the counting process is performed (S509). The insurance accounting FC unit 306 receives the processing result of the accounting process BL unit 324, and at the timing when the accounting result PL unit 320 generates an accounting result screen, the HTML text includes an authentication ticket, a group ID, a window identification ID, and a server processing time. Is embedded as an argument of the attribute value Hidden, and this is transmitted to the browser 1.
[0093]
Here, it is assumed that the contents of the insurance record input screen are transmitted from the client to the server again until the accounting result is displayed on the client. In this case, the browser 1 re-sends the user's input contents to the insurance report input screen, the item that is the argument of the attribute value Hidden, the shared cookie 3 and the window-specific cookie 3 to the server (S511).
[0094]
Thereafter, the browser state management script is activated, and the value of the transmitted flag of the window-specific cookie 3 held in the browser is updated to transmitted “St” (S512). Note that the transmitted flag has already been transmitted in step S508, but it is assumed that script processing is performed as usual.
[0095]
The insurance posting FC unit 306 performs an authentication check using the browser state management function. In the example shown in FIG. 6, since the determination result corresponds to case 4, the browser state management function executes a browser state check. The result of the determination here corresponds to determination result 2. The browser state management function generates the shared cookie 5, sets SC 1 as the authentication ticket, G 1 as the group ID, and T 5 as the server processing time, and transmits it to the browser 1. Further, the window-specific cookie 5 is generated, Sf is set in the transmitted flag, T5 is set in the server processing time, and the cookie 5 is transmitted to the browser 1. Further, authentication ticket = SC1, group ID = G1, window identification ID = W1, and server processing time = T5 are generated as arguments of the attribute value Hidden. Thereafter, the control is returned to the insurance accounting FC unit 306.
[0096]
The insurance accounting FC unit 306 needs to block double transmission of the user in order to prevent double accounting. However, since the browser status check determination by the browser status management function is “sent”, the insurance accounting FC unit 306 The error display PL unit 316 generates an error screen without calling the counting process BL unit 324. Here, the insurance accounting FC unit 306 embeds the authentication ticket, group ID, window identification ID, and server processing time in the HTML text of the error screen as arguments of the attribute value Hidden, and transmits this to the browser 1 (S514).
[0097]
In this way, at the client, the screen is displayed on the display device based on the markup text, and the status information stored in the storage device is transmitted to the web server together with the information input through the displayed screen. In response to this, the status information stored in the storage device is updated, and a process of determining whether or not the input information has already been received is realized based on the transmitted status information in the web server.
[0098]
On the error screen displayed on the PC 302, a message indicating that the transmission from the same screen has been detected multiple times and the accounting request has not been processed and a link to return to the menu screen to continue the processing are displayed. The The user can return to the menu screen by clicking the link and continue the operation.
[0099]
In this way, when it is determined that the input information has already been received, a process of notifying the client that the input information has been transmitted twice is realized.
[0100]
(Detect double transmission by browser)
Next, with reference to FIG. 7, a process for detecting double transmission by a browser will be described.
[0101]
When it is necessary to prevent the same content from being transmitted twice from the user in the application of the Web server 102, it is possible to detect double transmission using the browser state management script by the following mechanism. it can. In addition, since the process from step S502 to S509 is the same content when double transmission is detected by a server, description is abbreviate | omitted.
[0102]
It is assumed that, while the browser is displaying the insurance report screen, the user has performed an operation of transmitting the insurance report input screen to the server again until the accounting result is displayed. Then, the browser state management script is activated on the PC 302 and checks the value of the transmitted flag of the window-specific cookie (S611). In this way, it is determined whether or not to perform transmission based on the state information stored in the storage device. Since this value is already sent “St”, the browser state management script displays an error dialog, displays a message indicating that a plurality of count requests cannot be processed, and prompts a normal operation (S612).
[0103]
(The server detects that the browser has returned the screen using the "Back" button)
Next, with reference to FIG. 8, a description will be given of processing in which the Web server 102 detects that the screen has been returned by pressing the “return” button of the browser.
[0104]
In the Web server application, when it is necessary to return to the previous screen by using the browser's “Return” button and prevent transmission, the Web server returns the browser's return button without holding the user's operation state in the server. It can be detected by the following processing that the screen has been returned. Hereinafter, a description will be given from the state in which the insurance report input screen is displayed on the PC 302 in step S504.
[0105]
When the insured content is input to the insurance record input screen by the user, the browser 1 displays the user input content to the insurance record input screen, the item that is the argument of the attribute value Hidden, the shared cookie 3, and the cookie 3 by window. It transmits to the Web server 102 (S702).
[0106]
Thereafter, the browser state management script is activated on the PC 302, and the value of the transmitted flag of the window-specific cookie 3 held in the browser is updated to “St” that has been transmitted (S703).
[0107]
The insurance posting FC unit 306 performs an authentication check using the browser state management function. Since the example shown in FIG. 8 corresponds to Case 4, the browser state management function performs browser state check. The result of the check here is a determination result 1. The browser state management function generates the shared cookie 4, sets SC 1 as the authentication ticket, G 1 as the group ID, and T 4 as the server processing time, and transmits it to the browser 1. Further, the window-specific cookie 4 is generated, Sf is set in the transmitted flag, T4 is set in the server processing time, and the cookie 4 is transmitted to the browser 1. Further, authentication ticket = SC1, group ID = G1, window identification ID = W2, and server processing time = T5 are generated as arguments of the attribute value Hidden. Thereafter, the control is returned to the insurance accounting FC unit 306.
[0108]
The insurance accounting FC unit 306 instructs the accounting process BL unit 324 to execute the accounting process (S704) and receives the processing result. Then, at the timing of generating the HTML text of the recording result screen from the recording result PL unit 320, the generated authentication ticket, group ID, window identification ID, and server processing time are specified in the attribute value Hidden as an argument. Embedded and transmitted to the browser 1 (S705).
[0109]
The browser 1 displays the counting result screen received from the Web server 102 and replaces the shared cookie and the window-specific cookie with the one received this time.
[0110]
Here, after the accounting result screen is displayed, the browser's “return” button (browser standard function) is pressed to display the insurance accounting input screen (S706), and then the accounting result is transmitted by the user's operation. Assume that you are directed.
[0111]
The browser 1 transmits the contents input by the user to the insurance record input screen, the item that is an argument of the attribute value Hidden, the shared cookie 4, and the cookie 4 by window (window identification is W1) to the Web server 102 (S708). Thereafter, the browser state management script is activated on the PC 302, and the value of the transmitted flag of the window-specific cookie 4 held in the browser is set to transmitted “St” (S709).
[0112]
The insurance posting FC unit 306 performs an authentication check using the browser state management function. Since the determination result of the example shown in FIG. 8 corresponds to case 4, the browser state management function performs browser state check. The determination result in the example shown in FIG. In this way, it is determined whether or not the input information has already been received based on the time embedded in the transmitted markup text and the state information.
[0113]
The browser state management function generates the shared cookie 5, sets SC 1 as the authentication ticket, G 1 as the group ID, and T 5 as the server processing time, and transmits it to the browser 1. In addition, a window identification ID = W2 is newly issued and used as the window identification ID of the browser 1. In addition, a new window-specific cookie 5 (named W2) with the name W2 is newly generated, a value of “Sf” not yet transmitted is set in the transmitted flag, and processing at the Web server 102 is performed at the server processing time. A time T5 is set and transmitted to the browser 1. In addition, a new window-specific cookie 5 (named W1) corresponding to the original window identification ID = W1 of the browser is generated, a value of “Sf” not transmitted is set in the transmitted flag, and the server processing time is set. Sets the server processing time T4 of the received window-specific cookie 4 (named W1) and transmits it to the browser. Further, as an argument of the attribute value Hidden, each value of authentication ticket = SC1, group ID = G1, window identification ID = W2, and server processing time = T5 is generated. Thereafter, the control is returned to the insurance accounting FC unit 306.
[0114]
Since the determination result of the browser state management function is “returned to the previous screen or a new browser is activated”, the insurance accounting FC unit 306 does not call the accounting process BL unit 324, and an error is displayed in the error display PL unit 316. A screen is generated. At this timing, the insurance accounting FC unit 306 embeds the generated authentication ticket, group ID, window identification ID, and server processing time in the HTML text as an argument of the attribute value Hidden, and transmits this to the browser 1 (S711).
[0115]
The PC 302 displays an error screen including a message indicating that the operation deviating from the screen transition on business has been detected and the accounting request has not been processed, and a link returning to the menu screen in order to continue the processing. The user can click on the link to return to the menu screen and continue the work.
[0116]
(Detect new browser launch on server)
Next, processing for detecting a new browser by the server will be described with reference to FIGS. 9 and 10. Some applications of the Web server 102 allow a user to activate and operate a plurality of browsers, such as an inquiry program. In this case, the state management of a plurality of browsers activated in one client can be performed as follows without holding the state on the server side.
[0117]
Hereinafter, a description will be given from a state in which the contract inquiry condition input screen is displayed by the user's selection operation on the menu screen displayed on the PC 302.
[0118]
The user starts a new browser by operating the PC machine 302. Here, it is assumed that the contract inquiry condition input screen is displayed even in a newly activated browser by a user operation. As a result, the contract inquiry condition input screen is displayed by the two browsers. The shared cookie 3 and the window-specific cookie 3 are shared between the two browsers (S801 in FIG. 9).
[0119]
When a search condition is entered on the contract inquiry condition input screen of the browser 1 and transmission is instructed, the input contents on the contract inquiry condition input screen, the item that is the argument of the attribute value Hidden, the shared cookie 3, and the cookie 3 by window are displayed. It is transmitted to the Web server 102 (S803).
[0120]
Thereafter, the browser state management script is activated, and the transmitted flag of the window-specific cookie 3 held in the browser is updated to “St” that has been transmitted (S804).
[0121]
The contract inquiry FC unit 308 performs an authentication check using the browser state management function. Since the example shown in FIG. 9 corresponds to Case 4, the browser state management function performs a browser screen transition check. The result of the check here corresponds to the determination result 1. The browser state management function generates the shared cookie 4, sets SC 1 as the authentication ticket, G 1 as the group ID, and T 4 as the server processing time, and transmits it to the browser 1. Further, the window-specific cookie 4 is generated, Sf is set in the transmitted flag, T4 is set in the server processing time, and the cookie 4 is transmitted to the browser 1.
[0122]
The contract inquiry FC unit 308 calls the contract inquiry BL unit 326 and obtains a processing result (S805). Here, at the timing when the contract display screen is generated in the contract display PL unit 322, SC1 in the authentication ticket, G1 in the group ID, W1 in the window identification ID, and T4 in the server processing time are embedded as arguments of the attribute value Hidden. Is transmitted to the browser 1 (S806).
[0123]
The browser 1 displays the counting result screen received from the server, and replaces the shared cookie and the window-specific cookie with the one received this time.
[0124]
The user inputs search conditions on the contract inquiry condition input screen of the browser 2 and transmits them.
[0125]
The browser 2 transmits the user's input contents on the contract inquiry condition input screen, the item as the argument of the attribute value Hidden, the shared cookie 4 and the window-specific cookie 4 to the server (S1009 in FIG. 10).
[0126]
Thereafter, the browser state management script is activated, and the value of the transmitted flag of the window-specific cookie 4 held in the PC 302 is updated to “St”.
[0127]
The contract inquiry FC unit 308 performs an authentication check using the browser state management function. Since the example in FIG. 10 corresponds to Case 4, the browser state management function performs the browser state check shown in Table 2. The result of the check here corresponds to the determination result 3. The browser state management function performs the following processing and returns control to the contract inquiry FC unit 308.
[0128]
The contract inquiry FC unit 308 generates the shared cookie 5, sets SC1 as the authentication ticket, G1 as the group ID, and T5 as the server processing time, and transmits it to the browser 1. Also, a new window identification ID = W2 is issued and used as the browser 2 name.
[0129]
Further, a new window-specific cookie 5 (named W2) is newly generated, a value of unsent “Sf” is set in the transmitted flag, T5 is set as the server processing time, and the cookie 5 is transmitted to the browser 2 (S1012). ).
[0130]
Next, a new window-specific cookie 5 (named W1) corresponding to the original window identification ID of the browser is generated, unsent “Sf” is set in the transmitted flag, and the received window is set at the server processing time. T4 is set as the server processing time for another cookie 4 (named W1) and transmitted to the browser 2.
[0131]
Further, authentication ticket = SC1, group ID = G1, window identification ID = W2, and server processing time = T5 are generated as arguments of the attribute value Hidden.
[0132]
Since the application for contract inquiry permits the user to inquire using a plurality of browsers, the contract inquiry FC unit 308 calls the contract inquiry BL unit 326 to obtain a result. Then, at the timing when the contract display PL unit 322 generates the contract display screen, the authentication ticket, the group ID, the window identification ID, and the server processing time are embedded as arguments of the attribute value Hidden and transmitted to the browser 2.
[0133]
The browser 2 displays the contract display screen received from the Web server 102 and replaces the shared cookie and the window-specific cookie with the one received this time.
[0134]
The Web server 102 and the PC 302 can manage the browser state using the information held in the PC 302 by the above processing.
[0135]
The preferred embodiment of the present invention has been described above, but it is needless to say that the present invention is not limited to this embodiment and can be implemented in various other modes. For example, in the above-described embodiment, the HTML language has been described as an example of the markup language. However, the present invention is not limited to this. For example, the markup language is a markup language for portable information terminals such as XML (Extensible Markup Language) or PDA. It is also possible to use other markup languages such as certain CHTML (CompactHTML) and HDML (Handheld Device Markup Language). Therefore, it goes without saying that a protocol other than HTTP can be used as a protocol for communication between the client and the server.
[0136]
Further, as the client, various information processing terminals such as a PDA having a PHS and a communication function can be used in addition to those described above.
[0137]
Further, various modifications other than those described above are possible. However, as long as the modification is based on the technical idea described in the claims, the modification is also within the technical scope of the present invention.
[0138]
【The invention's effect】
As described above, according to the present invention, dynamic load distribution can be performed for all communication between the browser and the Web server.
[0139]
Further, the mechanism on the Web server side is simplified, the implementation cost is low, and high availability can be realized.
[0140]
Further, it can be detected on the server side that the operator has divided the browser.
[0141]
Furthermore, it is possible to prevent the server side and the browser side from transmitting information multiple times from the same screen of the browser.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a screen transition control system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a functional configuration of a Web server according to the embodiment of the present invention.
FIG. 3 is a block diagram showing a hardware configuration of a Web server according to the embodiment of the present invention.
FIG. 4 is a block diagram showing a functional configuration of a PC according to the embodiment of the present invention.
FIG. 5 is a sequence diagram illustrating an example of a login process to a Web server.
FIG. 6 is a sequence diagram illustrating an example of processing for detecting double transmission from a client by a Web server.
FIG. 7 is a sequence diagram illustrating an example of processing for detecting double transmission by a browser.
FIG. 8 is a sequence diagram illustrating an example of processing in which the Web server detects that the screen has been returned by pressing the “return” button of the browser.
FIG. 9 is a sequence diagram illustrating an example of processing for detecting a new browser by a server.
FIG. 10 is a sequence diagram illustrating an example of processing for detecting a new browser by a server.
[Explanation of symbols]
100 Information processing system
101 Internet
102 Web server
106 Authentication server
112 Flow control (FC) section
114 Business Logic (BL) Department
116 Authentication part
118 Account Database
120 Presentation logic (PL) section
201 CPU
202 ROM
203 Communication I / F
204 Video I / F
205 display
206 RAM
207 I / F I / F
208 Keyboard / Mouse I / F
209 keyboard
210 mouse
211 Bus
212 Program memory
213 hard disk
302 PC
303 Login FC Department
304 Menu FC section
306 Insurance Record FC Department
308 Contract Reference FC Department
310 Login PL Department
312 Redirect PL section
314 Menu PL section
316 Error display PL section
318 Insurance Record Input PL Department
320 Record PL section
322 Contract Display PL Department
324 Counting BL section
326 Contract Inquiry BL Department
1001 Antenna
1002 Communication unit
1003 Memory unit
1004 Browser
1005 Browser state management script
1006 Audio output unit
1007 Input section
1008 Control unit
1009 Display unit

Claims (8)

ウェブサーバから送信されたマークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御する画面遷移制御システムにおいて、
前記ウェブサーバは、
前記マークアップ・テキストに所定の時刻を埋め込む埋込手段と、
前記時刻が埋め込まれたマークアップ・テキストと、前記マークアップ・テキストについての状態を示し、前記埋め込まれた時刻を含む状態情報とを送信するサーバ側送信手段と
を備え、前記クライアントは、
前記サーバ側送信手段により送信された時刻を含む状態情報を記憶する記憶手段と、
前記サーバ側送信手段により送信された任意のマークアップ・テキストに基づいて画面を表示する表示手段と、
該表示手段により表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記記憶手段に記憶された時刻を含む状態情報を送信するクライアント側送信手段と
を備え、前記ウェブサーバは、前記クライアント側送信手段により送信された前記埋め込まれた時刻と前記状態情報に含まれた時刻を比較して、前記状態情報に含まれた時刻が前記埋め込まれた時刻より過去の時刻である場合、画面遷移が正しく行われていないかまたは前記表示手段により追加の画面が表示されたと判定する判定手段を更に備えたことを特徴とする画面遷移制御システム。
In the screen transition control system that controls the transition of the screen displayed on the client based on the markup text transmitted from the web server,
The web server is
Embedding means for embedding a predetermined time in the markup text;
Server-side transmission means for transmitting markup text in which the time is embedded, and status information indicating the state of the markup text and including the embedded time, and the client includes:
Storage means for storing status information including the time transmitted by the server-side transmission means;
Display means for displaying a screen based on any markup text transmitted by the server-side transmission means;
Client-side transmission means for transmitting status information including the time embedded in the markup text and the time stored in the storage means together with the information input through the screen displayed by the display means, The web server compares the embedded time transmitted by the client-side transmission unit with the time included in the state information, and the time included in the state information is earlier than the embedded time. The screen transition control system further includes a determination unit that determines that the screen transition is not performed correctly or that an additional screen is displayed by the display unit .
マークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するウェブサーバにおいて、
前記マークアップ・テキストに所定の時刻を埋め込む埋込手段と、
前記時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを送信する送信手段と、
前記クライアントから、任意のマークアップ・テキストに基づいて表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記時刻を含む状態情報を受信する受信手段と、
該受信手段により受信した前記埋め込まれた時刻と前記状態情報に含まれた時刻を比較して、前記状態情報に含まれた時刻が前記埋め込まれた時刻より過去の時刻である場合、画面遷移が正しく行われていないかまたは前記表示手段により追加の画面が表示されたと判定する判定手段と
を備えたことを特徴とするウェブサーバ。
In the web server that controls the transition of the screen displayed on the client based on the markup text,
Embedding means for embedding a predetermined time in the markup text;
Transmitting means for transmitting the markup text in which the time is embedded, and status information about the markup text including the embedded time;
Receiving means for receiving, from the client, information input through a screen displayed based on arbitrary markup text, a time embedded in the markup text, and status information including the time;
When the embedded time received by the receiving means and the time included in the state information are compared, and the time included in the state information is a past time from the embedded time, the screen transition And a determination unit that determines that the screen is not correctly displayed or that an additional screen is displayed by the display unit .
ウェブサーバから送信されたマークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するクライアントにおいて、
前記ウェブサーバから、所定の時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを受信する受信手段と、
該受信手段により受信した時刻を含む状態情報を記憶する記憶手段と、
該受信手段により受信した任意のマークアップ・テキストに基づいて画面を表示する表示手段と、
該表示手段により表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記記憶手段に記憶された時刻を含む状態情報を送信する送信手段と
を備え、前記入力された情報を既に送信している場合、前記送信手段から任意の画面を通じて入力された情報と共に送信された前記状態情報に含まれた時刻は、前記埋め込まれた時刻より過去の時刻であることを特徴とするクライアント。
In the client that controls the transition of the screen displayed on the client based on the markup text sent from the web server,
Receiving means for receiving, from the web server, markup text embedded with a predetermined time and status information about the markup text including the embedded time;
Storage means for storing state information including the time received by the receiving means;
Display means for displaying a screen based on any markup text received by the receiving means;
Transmitting means for transmitting status information including the time embedded in the markup text and the time stored in the storage means together with the information input through the screen displayed by the display means , the input If the transmitted information has already been transmitted, the time included in the status information transmitted together with the information input from the transmission means through an arbitrary screen is a time that is earlier than the embedded time. Feature client.
ウェブサーバから送信されたマークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御する画面遷移制御方法において、
前記ウェブサーバにおいて、前記マークアップ・テキストに所定の時刻を埋め込み、
前記ウェブサーバにおいて、前記時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを送信し、
前記クライアントにおいて、前記送信された時刻を含む状態情報を記憶装置に記憶し、
前記クライアントにおいて、前記ウェブサーバから送信された任意のマークアップ・テキストに基づいて表示装置に画面を表示し、
前記クライアントにおいて、前記表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記記憶装置に記憶された時刻を含む状態情報を送信し、
前記ウェブサーバにおいて、前記送信された前記埋め込まれた時刻と前記状態情報に含まれた時刻を比較して、前記状態情報に含まれた時刻が前記埋め込まれた時刻より過去の時刻である場合、画面遷移が正しく行われていないかまたは前記クライアントにより追加の画面が表示されたと判定することを特徴とする画面遷移制御方法。
In the screen transition control method for controlling the transition of the screen displayed on the client based on the markup text transmitted from the web server,
In the web server, a predetermined time is embedded in the markup text,
In the web server, transmitting the markup text in which the time is embedded, and status information about the markup text including the embedded time,
The client stores state information including the transmitted time in a storage device,
In the client, display a screen on a display device based on arbitrary markup text transmitted from the web server,
In the client, along with the information input through the displayed screen, the status information including the time embedded in the markup text and the time stored in the storage device is transmitted,
In the web server, when the transmitted embedded time and the time included in the state information are compared, and the time included in the state information is a time earlier than the embedded time. A screen transition control method, wherein it is determined that screen transition is not performed correctly or an additional screen is displayed by the client .
マークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するウェブサーバの画面遷移制御方法において、
前記マークアップ・テキストに所定の時刻を埋め込み、
前記時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを送信し、
前記クライアントから、前記送信した任意のマークアップ・テキストに基づいて表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記時刻を含む状態情報を受信し、
該受信した前記埋め込まれた時刻と前記状態情報に含まれた状態情報を比較して、前記状態情報に含まれた時刻が前記埋め込まれた時刻より過去の時刻である場合、画面遷移が正しく行われていないかまたは前記クライアントにより追加の画面が表示されたと判定することを特徴とする画面遷移制御方法。
In the screen transition control method of the web server that controls the transition of the screen displayed on the client based on the markup text,
Embed a predetermined time in the markup text,
Sending markup text with the embedded time and status information about the markup text including the embedded time;
From the client, together with information input through a screen displayed based on the transmitted arbitrary markup text, the time embedded in the markup text, and status information including the time are received,
When the received embedded time and the state information included in the state information are compared, and the time included in the state information is a past time from the embedded time, the screen transition is correct. A screen transition control method, characterized in that it is not performed or an additional screen is displayed by the client .
ウェブサーバから送信されたマークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するクライアントの画面遷移制御方法において、
前記ウェブサーバから、所定の時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを受信し、
該受信した時刻を含む状態情報を記憶装置に記憶し、
前記ウェブサーバから受信した任意のマークアップ・テキストに基づいて表示装置に画面を表示し、
該表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記記憶装置に記憶された時刻を含む状態情報を送信し、
前記入力された情報を既に送信している場合、任意の画面を通じて前記入力された情報と共に送信される前記状態情報に含まれた時刻は、前記埋め込まれた時刻より過去の時刻であることを特徴とする画面遷移制御方法。
In the client screen transition control method for controlling the transition of the screen displayed on the client based on the markup text transmitted from the web server,
Receiving from the web server markup text embedded with a predetermined time and status information about the markup text including the embedded time;
Storing state information including the received time in a storage device;
Display a screen on a display device based on any markup text received from the web server;
Along with the information input through the displayed screen, state information including the time embedded in the markup text and the time stored in the storage device is transmitted .
When the input information has already been transmitted, the time included in the status information transmitted together with the input information through an arbitrary screen is a time that is past the embedded time. A screen transition control method.
マークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するウェブサーバに対し、
前記マークアップ・テキストに時刻を埋め込ませ、
前記時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを送信させ、
前記クライアントから、前記ウェブサーバが送信した任意のマークアップ・テキストに基づいて表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記時刻を含む状態情報を受信させ、
該受信した前記埋め込まれた時刻と前記状態情報に含まれた時刻を比較して、前記状態情報に含まれた時刻が前記埋め込まれた時刻より過去の時刻である場合、画面遷移が正しく行われていないかまたは前記クライアントにより追加の画面が表示されたと判定させることを特徴とするコンピュータプログラム。
For the web server that controls the transition of the screen displayed on the client based on the markup text,
Embed the time in the markup text,
Sending markup text with the embedded time and status information about the markup text including the embedded time;
The time information embedded in the markup text and the state information including the time are received from the client together with the information input through the screen displayed based on the arbitrary markup text transmitted by the web server. Let
When the received embedded time and the time included in the state information are compared, and the time included in the state information is a past time from the embedded time, the screen transition is correctly performed. A computer program for determining whether an additional screen is displayed by the client .
ウェブサーバから送信されたマークアップ・テキストに基づいてクライアントに表示される画面の遷移を制御するクライアントに対し、
前記ウェブサーバから、所定の時刻が埋め込まれたマークアップ・テキストと、前記埋め込まれた時刻を含む前記マークアップ・テキストについての状態情報とを受信させ、
該受信した時刻を含む状態情報を記憶装置に記憶させ、
前記ウェブサーバから受信したマークアップ・テキストに基づいて表示装置に画面を表示させ、
該表示された画面を通じて入力された情報と共に、前記マークアップ・テキストに埋め込まれた時刻、および前記記憶装置に記憶された時刻を含む状態情報を送信させるコンピュータプログラムであって、
前記入力された情報を既に送信している場合、任意の画面を通じて前記入力された情報と共に送信される前記状態情報に含まれた時刻は、前記埋め込まれた時刻より過去の時刻であることを特徴とするコンピュータプログラム。
For the client that controls the transition of the screen displayed on the client based on the markup text sent from the web server,
Receiving from the web server markup text embedded with a predetermined time and status information about the markup text including the embedded time;
Storing state information including the received time in a storage device;
Display a screen on a display device based on the markup text received from the web server;
With information entered via the displayed screen, a computer program Ru to send a status information including the time stored time embedded in the markup text, and the storage device,
When the input information has already been transmitted, the time included in the status information transmitted together with the input information through an arbitrary screen is a time that is past the embedded time. Computer program.
JP2002163443A 2002-06-04 2002-06-04 Screen transition control system, client, web server, screen transition control method, and computer program Expired - Fee Related JP3842696B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002163443A JP3842696B2 (en) 2002-06-04 2002-06-04 Screen transition control system, client, web server, screen transition control method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002163443A JP3842696B2 (en) 2002-06-04 2002-06-04 Screen transition control system, client, web server, screen transition control method, and computer program

Publications (2)

Publication Number Publication Date
JP2004013353A JP2004013353A (en) 2004-01-15
JP3842696B2 true JP3842696B2 (en) 2006-11-08

Family

ID=30431928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002163443A Expired - Fee Related JP3842696B2 (en) 2002-06-04 2002-06-04 Screen transition control system, client, web server, screen transition control method, and computer program

Country Status (1)

Country Link
JP (1) JP3842696B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012137995A (en) * 2010-12-27 2012-07-19 Fujitsu Ltd Resource providing system, access control program and access control method
JP6128958B2 (en) * 2013-05-28 2017-05-17 キヤノン株式会社 Information processing server system, control method, and program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0916486A (en) * 1995-06-07 1997-01-17 Xerox Corp Method for consistent interpretation of event
GB9619189D0 (en) * 1996-09-13 1996-10-23 Ncr Int Inc Methods and apparatus for sending electronic data signals
DE69818008T2 (en) * 1997-01-20 2004-08-05 British Telecommunications P.L.C. DATA ACCESS CONTROL
JP2000112888A (en) * 1998-10-09 2000-04-21 Toshiba Corp Browser operation management device and computer- readable recording medium recording program
JP3688914B2 (en) * 1998-11-25 2005-08-31 株式会社東芝 Web system processing order monitoring apparatus and computer-readable storage medium storing program
JP2001216262A (en) * 2000-02-07 2001-08-10 Fujitsu Ltd Server
JP2001229103A (en) * 2000-02-18 2001-08-24 Hitachi Ltd Method for avoiding double transmission in internet/ intranet environment

Also Published As

Publication number Publication date
JP2004013353A (en) 2004-01-15

Similar Documents

Publication Publication Date Title
US9081756B2 (en) Method and apparatus for populating a form with data
US7281029B2 (en) Method and system of capturing data for automating internet interactions
CN1559040B (en) Selection of content in response to communication environment
US7174534B2 (en) Efficient system and method for running and analyzing multi-channel, multi-modal applications
US9459888B2 (en) Implementing browser based hypertext transfer protocol session storage
KR100264535B1 (en) Computer apparatus and method for communicating between software applications and computers on the world-wide web
US7035828B2 (en) Method and system for modifying and transmitting data between a portable computer and a network
US20120117171A1 (en) Delivering electronic content
US20060224397A1 (en) Methods, systems, and computer program products for saving form submissions
EP1325425B1 (en) Method and system of automating internet interactions
WO2006010536A1 (en) Method of communicating between web applications and local client application while maintaining remote user session
CA2437273C (en) Network conduit for providing access to data services
US7484087B2 (en) Systems, methods, and software for preventing redundant processing of transmissions sent to a remote host computer
US7987237B2 (en) Server apparatus for providing display screen through network, control method therefor, and program therefor
JP2002259341A (en) Authentication information input system, authentication information storing system, authentication information inputting method and authentication information input program
US20070028236A1 (en) File transfer system
JP3842696B2 (en) Screen transition control system, client, web server, screen transition control method, and computer program
US7814020B2 (en) System, method and computer program product for the recording and playback of transaction macros
US20040260817A1 (en) Facilitating access to a resource of an on-line service
JP2002342199A (en) Method, device and program for automatically writing/ registering user information and recording medium recorded with the program
JP2002014963A (en) Database management system and its developing system
KR100620830B1 (en) Facilitating access to a resource of an on-line service
JPH11203153A (en) Interface system and recording medium
WO2001025873A2 (en) Method and apparatus for completing a form

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051005

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20051005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060810

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees