(57)【特許請求の範囲】
【請求項１】
Ｗｅｂサービスを提供するサーバ装置と、該サーバ装置とのセッションを介して前記Ｗｅｂサービスを享受する手段を備えた第１のクライアント装置と、該第１のクライアント装置と情報を送受信する手段と該第１のクライアント装置のセッションと関連付けたセッションを介して前記サーバ装置と情報を送受信する手段とを備えた第２のクライアント装置とからなり、前記第１のクライアント装置と第２のクライアント装置との双方のセッションの同期化を行うＷｅｂサービスセッション同期管理システムであって、
前記サーバ装置は、
前記第１のクライアント装置とのセッションを生成した際に、該セッションと関連付けされる前記第２のクライアント装置とのセッションが生成されているか否かを確認して、
前記第１のクライアント装置とのセッションを生成した際に、前記第２のクライアント装置とのセッションがまだ生成されていなかった場合、前記第１のクライアント装置に対するレスポンスとして、操作することが不可能な空の画面を返送し、
また、前記第１のクライアント装置とのセッションを生成した以降において、前記第２のクライアント装置とのセッションが生成された際に、または、前記第２のクライアント装置とのセッションが既に存在していた場合に、前記第１のクライアント装置とのセッションを生成した際に、前記第１のクライアント装置に対して、操作することが可能な操作画面を送信すると同時に、前記第２のクライアント装置に対して、前記第１のクライアント装置に対して送信した前記操作画面と同一の操作画面を返送する
ことを特徴とするＷｅｂサービスセッション同期管理システム。
【請求項２】
前記サーバ装置は、
前記第１のクライアント装置から何らかの操作を行ったことを示す入力画面を受け取った際に、前記第１のクライアント装置のセッションと関連付けられる前記第２のクライアント装置のセッションが存在しているか否かを確認して、
前記第２のクライアント装置のセッションが存在していた場合に、前記第１のクライアント装置からの前記入力画面に対するレスポンスとなる応答画面を生成して、前記第１のクライアント装置に返送すると同時に、該応答画面と同一の画面を、第２のクライアント用応答画面として、前記第２のクライアント装置に対して送信する
ことを特徴とする請求項１に記載のＷｅｂサービスセッション同期管理システム。
【請求項３】
前記第１のクライアント装置は、
前記サーバ装置から前記応答画面を受け取った際に、受け取った前記応答画面を、表示部に画面表示してユーザに提示するとともに、該応答画面を前記第２のクライアント装置に対して送信する
ことを特徴とする請求項２に記載のＷｅｂサービスセッション同期管理システム。
【請求項４】
前記第２のクライアント装置は、
前記サーバ装置から受け取った前記第２のクライアント用応答画面と前記第１のクライアント装置から送信されてきた前記応答画面とを照合し、双方が同一の画面であった場合、前記サーバ装置から受け取った前記第２のクライアント用応答画面を画面表示してユーザに提示する
ことを特徴とする請求項３に記載のＷｅｂサービスセッション同期管理システム。
【請求項５】
前記サーバ装置は、
操作対象のリソース毎に、前記第１のクライアント装置および前記第２のクライアント装置の双方からの同一の操作を要することをセッション同時操作としてあらかじめ保持して、前記第１のクライアント装置からいずれかのリソース操作要求を示す入力画面を受け取った際に、当該リソース操作要求の対象となるリソースが前記セッション同時操作のリソースに該当しているか否かを確認し、
リソース操作要求の対象となる該リソースが前記セッション同時操作のリソースに該当していた場合には、前記第１のクライアント装置からの前記入力画面と同一のリソースに関するリソース操作要求を示す入力画面を前記第２のクライアント装置から受け取るまで、前記入力画面の要求する操作を待ち合せ、
前記第１のクライアント装置からの前記入力画面と同一のリソースに関するリソース操作要求を示す入力画面を前記第２のクライアント装置から受け取った際に、前記入力画面の要求する操作を該リソースに対して行う
ことを特徴とする請求項１ないし４のいずれかに記載のＷｅｂサービスセッション同期管理システム。
【請求項６】
Ｗｅｂサービスを提供するサーバ装置と、該サーバ装置とのセッションを介して前記Ｗｅｂサービスを享受するステップを有する第１のクライアント装置と、該第１のクライアント装置と情報を送受信するステップと該第１のクライアント装置のセッションと関連付けたセッションを介して前記サーバ装置と情報を送受信するステップとを有する第２のクライアント装置とからなり、前記第１のクライアント装置と第２のクライアント装置との双方のセッションの同期化を行うＷｅｂサービスセッション同期管理システムにおけるＷｅｂサービスセッション同期管理方法であって、
前記サーバ装置は、
前記第１のクライアント装置とのセッションを生成した際に、該セッションと関連付けされる前記第２のクライアント装置とのセッションが生成されているか否かを確認して、
前記第１のクライアント装置とのセッションを生成した際に、前記第２のクライアント装置とのセッションがまだ生成されていなかった場合、前記第１のクライアント装置に対するレスポンスとして、操作することが不可能な空の画面を返送し、
また、前記第１のクライアント装置とのセッションを生成した以降において、前記第２のクライアント装置とのセッションが生成された際に、または、前記第２のクライアント装置とのセッションが既に存在していた場合に、前記第１のクライアント装置とのセッションを生成した際に、前記第１のクライアント装置に対して、操作することが可能な操作画面を送信すると同時に、前記第２のクライアント装置に対して、前記第１のクライアント装置に対して送信した前記操作画面と同一の操作画面を返送する
ことを特徴とするＷｅｂサービスセッション同期管理方法。
【請求項７】
前記サーバ装置は、
前記第１のクライアント装置から何らかの操作を行ったことを示す入力画面を受け取った際に、前記第１のクライアント装置のセッションと関連付けられる前記第２のクライアント装置のセッションが存在しているか否かを確認して、
前記第２のクライアント装置のセッションが存在していた場合に、前記第１のクライアント装置からの前記入力画面に対するレスポンスとなる応答画面を生成して、前記第１のクライアント装置に返送すると同時に、該応答画面と同一の画面を、第２のクライアント用応答画面として、前記第２のクライアント装置に対して送信する
ことを特徴とする請求項６に記載のＷｅｂサービスセッション同期管理方法。
【請求項８】
前記第１のクライアント装置は、
前記サーバ装置から前記応答画面を受け取った際に、受け取った前記応答画面を、表示部に画面表示してユーザに提示するとともに、該応答画面を前記第２のクライアント装置に対して送信する
ことを特徴とする請求項７に記載のＷｅｂサービスセッション同期管理方法。
【請求項９】
前記第２のクライアント装置は、
前記サーバ装置から受け取った前記第２のクライアント用応答画面と前記第１のクライアント装置から送信されてきた前記応答画面とを照合し、双方が同一の画面であった場合、前記サーバ装置から受け取った前記第２のクライアント用応答画面を画面表示してユーザに提示する
ことを特徴とする請求項８に記載のＷｅｂサービスセッション同期管理方法。
【請求項１０】
請求項６ないし９のいずれかに記載のＷｅｂサービスセッション同期管理方法を、コンピュータに実行させるためのＷｅｂサービスセッション同期管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサービスセッション同期管理システム、Ｗｅｂサービスセッション同期管理方法およびＷｅｂサービスセッション同期管理プログラムに関し、特に、サーバとクライアントとの間で一連の操作を纏めてセッションで管理するＷｅｂサービスの分野におけるＷｅｂサービスセッション同期管理システム、Ｗｅｂサービスセッション同期管理方法およびＷｅｂサービスセッション同期管理プログラムに関する。
【背景技術】
【０００２】
セキュリティの要件から、役割を分掌し、何らかの操作を行う者の作業内容を、同時に別の場所で別の者が監視するということをシステムとして制御する、ということは、これまでも特定の分野において実施されていた。例えば、鉄鋼の製造工程において利用される専用の制御システムの場合は、ラインのネットワーク内で、信頼性を重視した特別なプロトコル上で構築されており、作業者の作業内容を別の者が監視する、または、自動的に監視する仕組みを比較的容易に構築することが可能であった。
【０００３】
しかし、一般的なシステムについても、必ずしも通信の完全性を保証しないＴＣＰ（Transmission  Control  Protocol）上で組まれたオープンなＷｅｂシステム上の技術が発展して成熟したことにより、監視という要件のみであれば、専用のシステムを用いずに大幅に低コストで実現することを想定することが可能になってきた。
【０００４】
一般的なＷｅｂシステムが用いる標準的なプロトコル上においては、通常、通信の成功は保証されず、また、それぞれの操作間に特定の関係を前提としてはいない。前の通信の成否は、その後の別の通信とは原則として切り離されている。しかし、実際の操作においては、一連の通信を一つの操作として纏めて管理することが必要になる場合もある。そのため、かくのごとき技術がオープンなＷｅｂシステム上で発達して成熟してきた。本発明において提供している技術は、以上のような技術的発展を背景として、実現可能となったものである。
【０００５】
このような、Ｗｅｂサーバが一連の操作を纏めるために従来採用されている機構として、一般のＷｅｂサーバにはセッション管理の仕組みがある。ここで、通常のセッションとは、一つのクライアント（一人の操作ユーザ）からの一連の操作を纏める概念であり、ログイン等のセッションの開始から、ログアウト等のセッションの終了までの間に、当該クライアントとＷｅｂサーバとの間で行われた通信に、何らかの統一した関連を保持するというものである。
【０００６】
或る操作者が、例えば、利用するシステム、サーバ装置等の設定を変更するなどの重要な操作を行うとき、操作した（あるいはこれから操作しようとする）内容について、他者（監視者・承認者）が確認しなければならない場合がある。かかる場合には、従来、操作者が当該内容についての承認を依頼し、承認者がシステム上で承認するというようなＷｅｂシステム（ワークフロー）が広く利用されている。
【０００７】
しかし、このようなＷｅｂシステム（ワークフロー）には次のような課題がある。リアルタイムで実施することができないので、例えば、システムの重要な変更の承認を得る場合であっても、通常、事前または事後の承認になってしまう。その結果、例えば、事前承認の場合には、承認した内容と実際に行う内容とが必ず一致するということが保証されていないため、実際に、承認内容と違う変更が行われてしまうことがあり得る。また、事後承認の場合には、承認時に誤った操作がなされていると判断しても、実際の処理は既に実施されてしまっているため、誤操作を未然に防ぐことができない。
【０００８】
操作内容如何によっては、監視者が常に操作者の全操作を監視していることを保証する必要がある場合がある。かかる用途には、リアルタイム性を有しないワークフローを利用することができない。また、動画の編集・配信など、監視・許可を必要としながらも、コンテンツ自体にリアルタイム性が求められる場合もあり、このような用途にもワークフローを利用することができない。
【０００９】
また、特に、セキュリティ上の要件から、操作者と操作者の操作を監視する監視者とが、複数名、同時に作業していることが求められる場合がある。従来、かかる場合には、実際に作業する操作者と該操作者の操作をチェックする監視者とが同じ操作端末の前にいて、同じ画面を見ながら、操作者の作業を監視者がリアルタイムでチェックする、という方法が採用されている。しかし、この場合、物理的に同じ場所に複数人がいなければ、操作のリアルタイムの監視ということを保証することができず、非常に不便であるという課題がある。さらに、操作者と監視者との二名体制で同じ画面を見ながら作業していたとしても、操作者が行う操作を監視者は見ているだけであるから、操作者が誤った操作を実施してしまうことを、監視者が横からリアルタイムで完全に止めるということができない。監視者が完全なコントロールを行うためには、操作対象のＷｅｂシステム自体が、監視者が操作を承認して初めて操作者が該操作を実行することができるということを保証する技術を備えることが望まれる。
【００１０】
また、複数クライアントからなる複数人による操作を一つの纏まりとして管理したい場合がある。かかる管理を実現するためには、複数のセッションを纏めたり連動させたりする技術が必要である。このような仕組みとして、従来技術においては、たとえば 特許文献１の特開２００９-２３０５９７号公報「Ｗｅｂサービスにおける情報制御システムおよび方法等」などに開示されている技術がある。該特許文献１の技術は、ユーザの行動を業務セッションと共有セッションとの二つの管理単位を組み合わせて関連付ける構成とすることにより、複数のユーザの行動を一纏めに扱うこととし、クライアントビューにそれらの纏まりで表示しようとする技術である。
【００１１】
一方、複数クライアント上で同じ画面を共有する技術は、一般に、Ｐ２Ｐ（Peer  to  Peer）通信技術を用いた専用クライアントを利用するという方法によって、既に実用化されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００９-２３０５９７号公報（第６−８頁）
【発明の概要】
【発明が解決しようとする課題】
【００１３】
前記特許文献１に記載の技術は、複数のクライアントが互いに見ている画面に差異がないことを厳格に保証するための技術ではあるものの、関連する二つのセッションの操作をクライアント側で確認する手段を有していないために、遅延なく、複数のクライアントが完全に同一の画面を見ていることを保証する必要がある用途には利用することができない。また、画面を共有するだけでは、やはり操作者がリアルタイムで誤った操作を実施してしまうことを監視者が完全に止めることはできない。また、互いのセッションで実施された内容を他方のセッションで実施する内容の制御に反映させる手段を有していないため、一方の操作によって他方の操作を変更させることもができないという問題がある。
【００１４】
また、Ｐ２Ｐ通信技術を用いた専用クライアントを利用するという従来の共有技術についても、Ｗｅｂサービスで提供されるサービスを享受しながらの共同操作を行うことはできないし、また、必ず、通信による遅延が発生するため、複数のクライアントの画面に表示されている内容がそれぞれのクライアントで同一のものであることを保証しながらＷｅｂサービスを利用するという用途に利用することもできない。さらに、それぞれのセッションの役割をサーバ側が理解し、一方のセッションの操作に合わせて、他方のセッションの操作を制御することもできないという問題がある。
【００１５】
すなわち、以上のような問題を解決するためには、操作対象のＷｅｂシステムと接続して、監視者が、操作者の操作をリアルタイムで止めたり促したりしながら、Ｗｅｂシステムにより提供されるサービスを享受するための技術が必要である。言い換えると、複数セッションを連動させて、一方のセッションの操作に合わせてその他のセッションの操作をサーバによって制御しながら、共通のセッションに参加している全ての端末に表示されている内容が同期していることを保証し、Ｗｅｂサービスで提供するサービスを同時に享受することができるという技術が求められている。
【００１６】
（本発明の目的）
本発明は、かかる事情に鑑みてなされたものであり、操作者の操作を遠隔からであってもリアルタイムで完全に制御することを保証することができるＷｅｂサービスセッション同期管理システム、Ｗｅｂサービスセッション同期管理方法およびＷｅｂサービスセッション同期管理プログラムを提供することを、その目的としている。
【課題を解決するための手段】
【００１７】
前述の課題を解決するため、本発明によるＷｅｂサービスセッション同期管理システム、Ｗｅｂサービスセッション同期管理方法およびＷｅｂサービスセッション同期管理プログラムは、主に、次のような特徴的な構成を採用している。
【００１８】
（１）本発明によるＷｅｂサービスセッション同期管理システムは、
Ｗｅｂサービスを提供するサーバ装置と、該サーバ装置とのセッションを介して前記Ｗｅｂサービスを享受する手段を備えた第１のクライアント装置と、該第１のクライアント装置と情報を送受信する手段と該第１のクライアント装置のセッションと関連付けたセッションを介して前記サーバ装置と情報を送受信する手段とを備えた第２のクライアント装置とからなり、前記第１のクライアント装置と第２のクライアント装置との双方のセッションの同期化を行うＷｅｂサービスセッション同期管理システムであって、
前記サーバ装置は、
前記第１のクライアント装置とのセッションを生成した際に、該セッションと関連付けされる前記第２のクライアント装置とのセッションが生成されているか否かを確認して、
前記第１のクライアント装置とのセッションを生成した際に、前記第２のクライアント装置とのセッションがまだ生成されていなかった場合、前記第１のクライアント装置に対するレスポンスとして、操作することが不可能な空の画面を返送し、
また、前記第１のクライアント装置とのセッションを生成した以降において、前記第２のクライアント装置とのセッションが生成された際に、または、前記第２のクライアント装置とのセッションが既に存在していた場合に、前記第１のクライアント装置とのセッションを生成した際に、前記第１のクライアント装置に対して、操作することが可能な操作画面を送信すると同時に、前記第２のクライアント装置に対して、前記第１のクライアント装置に対して送信した前記操作画面と同一の操作画面を返送する
ことを特徴とする。
【００１９】
（２）本発明によるＷｅｂサービスセッション同期管理方法は、
Ｗｅｂサービスを提供するサーバ装置と、該サーバ装置とのセッションを介して前記Ｗｅｂサービスを享受するステップを有する第１のクライアント装置と、該第１のクライアント装置と情報を送受信するステップと該第１のクライアント装置のセッションと関連付けたセッションを介して前記サーバ装置と情報を送受信するステップとを有する第２のクライアント装置とからなり、前記第１のクライアント装置と第２のクライアント装置との双方のセッションの同期化を行うＷｅｂサービスセッション同期管理システムにおけるＷｅｂサービスセッション同期管理方法であって、
前記サーバ装置は、
前記第１のクライアント装置とのセッションを生成した際に、該セッションと関連付けされる前記第２のクライアント装置とのセッションが生成されているか否かを確認して、
前記第１のクライアント装置とのセッションを生成した際に、前記第２のクライアント装置とのセッションがまだ生成されていなかった場合、前記第１のクライアント装置に対するレスポンスとして、操作することが不可能な空の画面を返送し、
また、前記第１のクライアント装置とのセッションを生成した以降において、前記第２のクライアント装置とのセッションが生成された際に、または、前記第２のクライアント装置とのセッションが既に存在していた場合に、前記第１のクライアント装置とのセッションを生成した際に、前記第１のクライアント装置に対して、操作することが可能な操作画面を送信すると同時に、前記第２のクライアント装置に対して、前記第１のクライアント装置に対して送信した前記操作画面と同一の操作画面を返送する、
ことを特徴とする。
【００２０】
（３）本発明によるＷｅｂサービスセッション同期管理プログラムは、前記（２）に記載のＷｅｂサービスセッション同期管理方法を、コンピュータによって実行可能なプログラムとして実施していることを特徴とする。
【発明の効果】
【００２１】
本発明のＷｅｂサービスセッション同期管理システム、Ｗｅｂサービスセッション同期管理方法およびＷｅｂサービスセッション同期管理プログラムによれば、以下のような効果を奏することができる。
【００２２】
第１に、Ｗｅｂサービスを享受するために操作業務と監視業務とを別々の作業者（操作者と監視者と）に分掌しなければならないような作業において、操作者と監視者とが遠隔地に離れているような場合であっても、操作者と監視者とに対して同一画面が同期して画面表示されるので、リアルタイムで同時に双方が作業していることをシステムとして保証することができる。
【００２３】
第２に、監視者は、操作者の操作をリアルタイムに監視するとともに、該操作内容の承認を与える仕組みを採用することができるので、操作者が誤った操作を行ってしまうことを未然に防ぐことができる。
【図面の簡単な説明】
【００２４】
【図１】本発明によるＷｅｂサービスセッション同期管理システムのシステム構成の一例を示すシステム構成図である。
【図２】図１に示すＷｅｂサービスセッション同期管理システムにおいて第１のクライアント装置を使用する操作者がログインしたセッションに、第２のクライアント装置を使用する監視者がログインすることによって、操作者と監視者との双方に対して同期された操作画面を表示するまでの流れを示すシーケンス図である。
【図３】図１に示すＷｅｂサービスセッション同期管理システムにおいて第１のクライアント装置を使用する操作者がログインしたセッションの操作画面上で何らかの操作を行った場合の第２のクライアント装置を使用する監視者における監視状況を説明するためのシーケンス図である。
【図４】図１に示すサーバ装置のサービス提供手段内に備えたユーザ関連付けテーブルの一例を示すテーブルである。
【図５】図１に示すサーバ装置のサービス提供手段内に備えたセッション情報テーブルの一例を示すテーブルである。
【図６】図１に示すサーバ装置の確認手段においてリクエスト送信セッションの関連セッションの有無を確認する状態遷移の一例を示す状態遷移図である。
【図７】図１に示すサーバ装置の確認手段において第２のクライアント装置のリクエスト送信セッションに関する関連セッションの有無を確認する状態遷移の一例を示す状態遷移図である。
【図８】図１に示すサーバ装置のサービス提供手段においてリクエスト送信セッションに関する関連セッションの有無に関する状態遷移の一例を示す状態遷移図である。
【図９】図１に示すクライアント装置の確認手段における画面照合動作に関する状態遷移の一例を示す状態遷移図である。
【図１０】図１に示すクライアント装置の表示部に操作画面の一例として画面表示されるサーバ設定画面の画面構成例を示す模式図である。
【図１１】図１に示すサーバ装置の確定手段の内部に保持されている必要権限設定テーブルの一例を示すテーブルである。
【図１２】図１に示すサーバ装置のサービス提供手段において画面情報送信セッションに関する関連セッションの有無を確認する状態遷移の一例を示す状態遷移図である。
【図１３】図３のシーケンスＳｅｑ２１〜シーケンスＳｅｑ２８までの動作において、サーバ装置、第１のクライアント装置、第２のクライアント装置の間で送受信される画面情報の流れを模式的に示した模式図である。
【図１４】本発明によるＷｅｂサービスセッション同期管理システムの図１とは異なるシステム構成例を示すシステム構成図である。
【図１５】図１４に示す第１のクライアント装置の表示部に操作画面の一例として画面表示されるサーバ設定画面の図１０とは異なる画面構成例を示す模式図である。
【図１６】図１４に示す第２のクライアント装置の表示部に操作画面の一例として画面表示されるサーバ設定画面の図１０とは異なる画面構成例を示す模式図である。
【図１７】図１４に示すサーバ装置の確定手段内の同期操作制御手段における状態遷移の一例を示す状態遷移図である。
【図１８】図１４に示すサーバ装置の確定手段の内部に保持されている必要権限設定テーブルの一例を示すテーブルである。
【発明を実施するための形態】
【００２５】
以下、本発明によるＷｅｂサービスセッション同期管理システム、Ｗｅｂサービスセッション同期管理方法およびＷｅｂサービスセッション同期管理プログラムの好適な実施形態について添付図を参照して説明する。なお、以下の説明においては、本発明によるＷｅｂサービスセッション同期管理システムおよびＷｅｂサービスセッション同期管理方法について説明するが、かかるＷｅｂサービスセッション同期管理方法をコンピュータにより実行可能なＷｅｂサービスセッション同期管理プログラムとして実施するようにしても良いし、あるいは、Ｗｅｂサービスセッション同期管理プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにしても良いことは言うまでもない。また、以下の各図面に付した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではないことも言うまでもない。
【００２６】
（本発明の特徴）
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明は、サーバ装置およびクライアント装置に、複数のユーザがたとえ別々の場所にいても同じ画面を同時に遅延なく視認することができるように、互いに同期化された状態を確保するための確認手段をそれぞれ少なくとも備えることにより、リアルタイムに作業内容を保証することができることを主要な特徴としている。また、サーバ装置が複数のユーザの操作を別々に認識しながら、複数の操作を互いに連動させることにより、それぞれのセッションによる操作に応じて、他方のセッションにおいて操作することができる内容を変更させることができることも主要な特徴としている。 而して、操作者の操作を遠隔からであってもリアルタイムで完全に制御することを保証することができる。
【００２７】
さらに説明すると、本発明は、前記特許文献１等の従来の技術とは異なり、Ｗｅｂサービス上において、複数連続ログインを行い、複数のユーザのセッションを管理し、それぞれのセッションごとに操作することができ、それぞれのセッションにおける操作が互いに関連し、一方のセッション（一方のユーザ）の操作に応じて、他方のセッション（他方ユーザ）から操作可能な操作内容を変更させることができることを主要な特徴としている。
【００２８】
さらにより具体的に説明すると、本発明は、次に示すような構成からなっていることを主要な特徴としている。Ｗｅｂサービスを提供するサーバ装置と、該Ｗｅｂサービスを操作する第１のクライアント装置、該第１のクライアント装置とは異なるユーザが操作している第２のクライアント装置とからなり、サーバ装置内、第１のクライアント装置内、第２のクライアント装置内のそれぞれに確認手段を備え、また、第１のクライアント装置はサーバ装置および第２のクライアント装置との通信手段を備え、第２のクライアント装置も、同様に、サーバ装置および第２のクライアント装置との通信手段を備えていることを主要な特徴としている。
【００２９】
而して、第１のクライアント装置からユーザＡがサーバ装置に（ログインするなどして）セッションａを生成した際に、他のユーザＢが第２のクライアント装置から当該セッションａに関連したセッションｂを生成することができる。この時に、サーバ装置から第１のクライアント装置に送信した画面情報と同一の画面情報を第２のクライアント装置に対しても送信するのと同時に、第１のクライアント装置に対して、当該第１のクライアント装置の画面情報を第２のクライアント装置に送信するように指示し、第１のクライアント装置から当該第１のクライアント装置の画面情報を第２のクライアント装置に送信させる。
【００３０】
したがって、第２のクライアント装置は、サーバ装置から受信した第１のクライアント装置の画面情報と、第１のクライアント装置から受信した当該第１のクライアント装置の画面情報との２つの画面情報を照合した結果を用いて、第１のクライアント装置と同一の画面になるように、自身の画面を生成することができる。而して、常に、第２のクライアント装置の他のユーザＢは、第１のクライアント装置の最新の画面を確認することができる。
【００３１】
（実施形態の構成例）
次に、本発明によるＷｅｂサービスセッション同期管理システムのシステム構成について、その一例を、図１を用いて説明する。図１は、本発明によるＷｅｂサービスセッション同期管理システムのシステム構成の一例を示すシステム構成図である。
【００３２】
本発明の一実施形態として図１に示すＷｅｂサービスセッション同期管理システムは、既存のＷｅｂサービスを提供するサービス提供手段１１を備えるサーバ装置１と、ユーザＡが使用する第１のクライアント装置として該Ｗｅｂサービスを享受するクライアント装置２と、ユーザＢが使用する第２のクライアント装置として該Ｗｅｂサービスを享受するクライアント装置３と、を少なくとも備えた構成からなっている。
【００３３】
また、サーバ装置１は、クライアント装置２からのセッションとクライアント装置３からのセッションとを関連付けて管理するための確認手段１２を備え、さらに、クライアント装置２、クライアント装置３のうちいずれか一方のクライアント装置に結果を返却する際に、同等の内容を関連するセッションを生成している他方のクライアント装置に送信するための送信部１３と、クライアント装置２、クライアント装置３それぞれからの情報を受信する受信部１４と、を備えている。
【００３４】
また、クライアント装置２（第１のクライアント装置）は、サーバ装置１との通信を行うための送信部２２、受信部２３の他に、当該クライアント装置２を使用するユーザＡからの情報を受け取る入力手段２１と、自身が受け取った情報をクライアント装置３に送信するための送信手段２６とクライアント装置３からの情報を受け取る受信手段２７と、を備え、さらに、サーバ装置１から受け取った情報とクライアント装置３から受け取った情報との整合性を確認する確認手段２５と確認された情報を表示する表示部２４とを備えている。
【００３５】
また、クライアント装置３（第２のクライアント装置）も、クライアント装置２と同様に、サーバ装置１との通信を行うための送信部３２、受信部３３の他に、当該クライアント装置３を使用するユーザＢからの情報を受け取る入力手段３１と、自身が受け取った情報をクライアント装置２に送信するための送信手段３６とクライアント装置２からの情報を受け取る受信手段３７と、を備え、さらに、サーバ装置１から受け取った情報とクライアント装置２から受け取った情報との整合性を確認する確認手段３５と確認された情報を表示する表示部３４とを備えている。
【００３６】
図１に例示するような構成を採用することにより、一方のクライアント装置２（第１のクライアント装置）からユーザＡがサーバ装置１に（ログインするなどして）セッションａを生成した際に、他方のクライアント装置３（第２のクライアント装置）を使用するユーザＢが、ユーザＡが生成したセッションａに関連したセッションｂを生成することができる。
【００３７】
この時、サーバ装置１から、クライアント装置２（第１のクライアント装置）に対してクライアント装置２（第１のクライアント装置）の画面情報を送信した時に、同時に、サーバ装置１は、送信部１３を介して、クライアント装置３（第２のクライアント装置）に対しても、クライアント装置２（第１のクライアント装置）の画面情報と同一の画面情報を送信するとともに、クライアント装置２（第１のクライアント装置）に対して、当該クライアント装置２（第１のクライアント装置）の画面情報をクライアント装置３（第２のクライアント装置）に対して送信するように指示する。サーバ装置１からの指示を受け取ったクライアント装置２（第１のクライアント装置）は、送信手段２６を用いて、当該クライアント装置２の画面情報をクライアント装置３（第２のクライアント装置）に対して送信する。
【００３８】
クライアント装置３（第２のクライアント装置）は、サーバ装置１から受信部３３を介してクライアント装置２（第１のクライアント装置）と同一の画面情報として受信した画面情報と、クライアント装置２（第１のクライアント装置）から受信手段３７を介して受信したクライアント装置２（第１のクライアント装置）の画面情報と、の２つの情報を用いて、自身の画面を生成する。而して、常に、他方のクライアント装置３（第２のクライアント装置）は、一方のクライアント装置２（第１のクライアント装置）の最新の画面を確認することができる。
【００３９】
（実施形態の動作の説明）
次に、本発明による実施形態の一例として図１のシステム構成図に示したＷｅｂサービスセッション同期管理システムの動作例について、クライアント装置２（第１のクライアント装置）を使用するユーザＡ（操作者Ａ）の操作を、クライアント装置３（第２のクライアント装置）を使用するユーザＢ（監視者Ｂ）が監視していることを保証するＷｅｂサービスの利用例を例にとって、図２および図３のシーケンス図を用いて、詳細に説明する。
【００４０】
図２は、図１に示すＷｅｂサービスセッション同期管理システムにおいてクライアント装置２（第１のクライアント装置）を使用するユーザＡ（操作者Ａ）がログインしたセッションに、クライアント装置３（第２のクライアント装置）を使用するユーザＢ（監視者Ｂ）がログインすることによって、操作者Ａと監視者Ｂとの双方に対して同期された操作画面を表示するまでの流れを示すシーケンス図である。なお、図２のシーケンス図には、クライアント装置２（第１のクライアント装置）、確認手段２５、クライアント装置３（第２のクライアント装置）、確認手段３５、サーバ装置１内のサービス提供手段１１、確認手段１２の間で送受信される信号の流れと、クライアント装置２を使用するユーザＡ（操作者Ａ）およびクライアント装置３を使用するユーザＢ（監視者Ｂ）の操作について示している。
【００４１】
図２のシーケンス図において、まず、ユーザＡ（操作者Ａ）が、クライアント装置２の入力手段２１を用いて、表示部２４から認証情報を入力してログインすると(シーケンスＳｅｑ１)、該認証情報は、ログイン情報として、クライアント装置２の送信部２２からサーバ装置１に送信される(シーケンスＳｅｑ２)。サーバ装置１が受信部１４を介してユーザＡ（操作者Ａ）の認証情報をログイン情報として受信すると、既存のサービスを提供するサービス提供手段１１は、ユーザＡの認証情報の認証を行い、ユーザＡ（操作者Ａ）のセッションを生成する（シーケンスＳｅｑ３）。ここで、本実施形態においては、ユーザＡ（操作者Ａ）は、ユーザＢ（監視者Ｂ）のリアルタイムの監視下に置かれている状態にない限り、Ｗｅｂサービスに関する何の操作もできないものと仮定している。
【００４２】
また、サーバ装置１のサービス提供手段１１は、内部に、ユーザＡ（操作者Ａ）とユーザＢ（監視者Ｂ）との関連付けのように、各ユーザが監視対象の可能性がある監視ログイン可能ユーザを各ユーザ毎にあらかじめ登録している図４に示すようなユーザ関連付けテーブルを保持するとともに、生成したセッションに関するセッション情報を図５に示すようなセッション情報テーブルとして保持している。
【００４３】
図４は、図１に示すサーバ装置１のサービス提供手段１１内に備えたユーザ関連付けテーブルの一例を示すテーブルである。図４のユーザ関連付けテーブル２００は、ユーザＩＤ２０１と監視ログイン可能ユーザＩＤ２０２から構成されており、ユーザＩＤ２０１に登録された各ユーザが、監視者として、どのユーザの操作を監視することが可能であるかということを、監視可能な操作者として、監視ログイン可能ユーザＩＤ２０２にあらかじめ登録している。
【００４４】
また、図５は、図１に示すサーバ装置１のサービス提供手段１１内に備えたセッション情報テーブルの一例を示すテーブルである。図５のセッション情報テーブル１００は、例えば、生成されたセッションを示すセッションＩＤ１０１と、当該セッションを生成したクライアント装置を識別する端末識別情報１０２（例えばＩＰ（Internet  Protocol）アドレス）、どの他のセッションとの関連を有しているか否かを示す関連情報１０３、他のセッションとの関連を有している場合どのような関連性があるのかを示す関連性情報１０４を少なくとも含んで構成されている。
【００４５】
サービス提供手段１１は、図５に示したセッション情報テーブル１００に、ユーザＡ（操作者Ａ）のセッションを示すセッションＩＤとクライアント装置２を示す情報（例えばＩＰアドレス）とを、セッションＩＤ１０１と端末識別情報１０２とに登録した後、サーバ装置１に備えられている確認手段１２を用いて、ユーザＢ（監視者Ｂ）のセッションの存在の有無を確認する(シーケンスＳｅｑ４)。このとき、確認手段１２は、図５に示したセッション情報テーブル１００を確認し、ユーザＡ（操作者）の操作を監視すべきユーザＢ（監視者Ｂ）がまだログインしていない状態にあるため、後述する図６の状態遷移図に示すように、ログインしたユーザＡ（操作者Ａ）は現時点では操作できることが何もないとの判定を行う。したがって、該判定結果に基づいて、サービス提供手段１１は、操作内容を含まない空の画面をクライアント装置２に返送する（シーケンスＳｅｑ５）。クライアント装置２は、返送されてきた空の画面を表示部２４に表示して、ユーザＢ（監視者Ｂ）がまだログインしていないことをユーザＡ（操作者Ａ）に通知する。
【００４６】
図６は、図１に示すサーバ装置１の確認手段１２においてリクエスト送信セッションの関連セッションの有無を確認する状態遷移の一例を示す状態遷移図である。図６に示すように、サーバ装置１の確認手段１２は、まず、状態ＳＴ３１において、例えば、クライアント装置２との間のリクエスト送信セッションについて、図５に示したセッション情報テーブル１００の関連情報１０３を参照して、当該リクエスト送信セッションの関連セッションが存在しているか否かを確認する（状態ＳＴ３１）。
【００４７】
関連セッションがない場合には、状態ＳＴ３２に遷移して、当該リクエスト送信セッションのリクエストが、クライアント装置３のユーザＢ（監視者Ｂ）の操作によるものか否かを確認する（状態ＳＴ３２）。当該リクエスト送信セッションのリクエストが、ユーザＢ（監視者Ｂ）の操作によるものではなかった場合には、状態ＳＴ３６に遷移して、操作内容を含まない空の画面をクライアント装置２に返送するように、確認要求元のサービス提供手段１１に指示する（状態ＳＴ３６）。したがって、図２のシーケンスＳｅｑ５に示したように、サービス提供手段１１は、操作内容を含まない空の画面をクライアント装置２に返送する動作を行う。
【００４８】
ここで、ユーザＢ（監視者Ｂ）が、クライアント装置３の入力手段３１を用いて、表示部３４から認証情報を入力して、ユーザＡ（操作者Ａ）の監視者としてログインする(シーケンスＳｅｑ６)と、該認証情報およびユーザＡ（操作者Ａ）の監視者であるという情報は、ログイン情報としてクライアント装置３の送信部３２からサーバ装置１のサービス提供手段１１に送信される(シーケンスＳｅｑ７)。サーバ装置１は受信部１４を介してユーザＢ（監視者Ｂ）の認証情報とユーザＡ（操作者Ａ）の監視セッションの開設用との情報をログイン情報として受信すると、既存のサービスを提供するサービス提供手段１１は、ユーザＢ（監視者Ｂ）の認証情報の認証を行い、ユーザＢ（監視者Ｂ）のセッションを生成する（シーケンスＳｅｑ８）。
【００４９】
さらに、サーバ装置１のサービス提供手段１１は、図５に示したセッション情報テーブル１００に、ユーザＢ（操作者Ｂ）のセッションを示すセッションＩＤとクライアント装置２を示す情報（例えばＩＰアドレス）とをセッションＩＤ１０１と端末識別情報１０２とに登録するとともに、監視対象のユーザＡ（操作者Ａ）のセッションＩＤを監視する旨を関連情報１０３および関連性情報１０４に設定登録する。さらに、図５に示したセッション情報テーブル１００のユーザＡ（操作者Ａ）に関しても、ユーザＢ（監視者Ｂ）のセッションＩＤにより監視される旨を関連情報１０３および関連性情報１０４に設定登録する。
【００５０】
しかる後、サービス提供手段１１は、サーバ装置１に備えられている確認手段１２を用いて、監視対象であるユーザＡ（操作者Ａ）のセッションの存在の有無を確認する(シーケンスＳｅｑ９)。このとき、確認手段１２は、図５に示したセッション情報テーブル１００を参照して、ユーザＢ（監視者Ｂ）の監視対象であるユーザＡ（操作者Ａ）がログイン済みであることを確認するので、後述する図７の状態遷移図に示すように、監視対象であるユーザＡ（操作者Ａ）の操作の監視およびユーザＡ（操作者Ａ）とユーザＢ（監視者Ｂ）との画面同期を開始すべきものと判定する。
【００５１】
したがって、該判定結果に基づいて、サービス提供手段１１は、ユーザＡ（操作者Ａ）の操作を監視するユーザＢ（監視者Ｂ）がログインされた状態にあることが分かるので、ユーザＢ（監視者Ｂ）の監視の下、操作が可能な画面を、ユーザＡ（操作者Ａ）が使用するクライアント装置２に送信するとともに、クライアント装置２の画面情報をクライアント装置３に送信することを、クライアント装置２に指示する（シーケンスＳｅｑ１０）。クライアント装置２は、返送されてきた操作可能な画面を表示部２４に表示して、ユーザＡ（操作者Ａ）に提示する。
【００５２】
図７は、図１に示すサーバ装置１の確認手段１２においてクライアント装置３（第２のクライアント装置）のリクエスト送信セッションに関する関連セッションの有無を確認する状態遷移の一例を示す状態遷移図である。図７に示すように、サーバ装置１の確認手段１２は、まず、状態ＳＴ２１において、クライアント装置３との間のリクエスト送信セッションについて、図５に示したセッション情報テーブル１００の関連情報１０３を参照して、当該リクエスト送信セッションの関連セッションが存在しているか否かを確認する（状態ＳＴ２１）。
【００５３】
関連セッションがない場合には、何もしないで、確認処理を終了するが、関連セッションが存在する場合には、状態ＳＴ２２に遷移して、図５に示したセッション情報テーブル１００の関連性情報１０４を参照し、当該リクエスト送信セッションのリクエストの関連の種類を確認する（状態ＳＴ２２）。関連の種類が監視する側のセッションであった場合には、状態ＳＴ２３に遷移して、当該リクエストがユーザＢ（監視者Ｂ）による操作であったか否かを確認する（状態ＳＴ２３）。図５に示したセッション情報テーブル１００の端末識別情報１０２を参照して、ユーザＢ（監視者Ｂ）による操作であった場合には、状態ＳＴ２６に遷移する。
【００５４】
状態ＳＴ２６に遷移すると、ユーザＢ（監視者Ｂ）が監視対象であるユーザＡ（操作者Ａ）の操作の監視を開始すべきものと判定して、通常のレスポンスを返送するように、サービス提供手段１１に指示する。したがって、図２のシーケンスＳｅｑ１０に示したように、サービス提供手段１１は、ユーザＢ（監視者Ｂ）の監視の下、操作が可能な画面をユーザＡ（操作者Ａ）が使用するクライアント装置２に送信するとともに、ユーザＡ（操作者Ａ）とユーザＢ（監視者Ｂ）との画面同期を開始するために、次のシーケンスＳｅｑ１１の動作を起動する。
【００５５】
つまり、サーバ装置１のサービス提供手段１１は、後述する図８の状態遷移図に示すように、同時に、ユーザＢ（監視者Ｂ）が使用するクライアント装置３に対しても、クライアント装置２に送信した操作が可能な画面と同じ画面を送信する（シーケンスＳｅｑ１１）。なお、サーバ装置１のサービス提供手段１１は、互いに関連しているクライアント装置の端末情報（例えばＩＰアドレス）についても、シーケンスＳｅｑ１０、シーケンスＳｅｑ１１において、関連しているクライアント装置それぞれに引き渡している。
【００５６】
つまり、クライアント装置２とクライアント装置３とはセッション情報テーブル１００の互いの関連情報１０３に関連するセッションＩＤが設定されているので、サービス提供手段１１は、セッション情報テーブル１００の端末識別情報１０２に設定されている互いの端末情報（例えばＩＰアドレス）をクライアント装置２とクライアント装置３とに引き渡すことができる。したがって、クライアント装置は、同期を取るべきクライアント装置に対して、自身の画面情報を送信することもできるし、また、いずれかのクライアント装置から画像情報を受信した際に、同期を取るべきクライアント装置からの画面情報であるか否かを識別することもできる。
【００５７】
図８は、図１に示すサーバ装置１のサービス提供手段１１においてリクエスト送信セッションに関する関連セッションの有無に関する状態遷移の一例を示す状態遷移図である。図８に示すように、サーバ装置１のサービス提供手段１１は、状態ＳＴ１において、クライアント装置２との間のリクエスト送信セッションについて、当該リクエスト送信セッションの関連セッションが存在しているか否かを確認する（状態ＳＴ１）。関連セッションがある場合には、状態ＳＴ２に遷移して、クライアント装置２との間のリクエスト送信セッションのレスポンスと同一のデータを、クライアント装置３との間に設定されている当該関連セッションについても送信することを送信部１３に対して指示する（状態ＳＴ２）。したがって、クライアント装置２に対して送信した画面情報と同じ画面情報が、クライアント装置３に対しても送信される。
【００５８】
シーケンスＳｅｑ１１において、クライアント装置３は、サーバ装置１から返送されてきた画面（ここではα画面と表現する）の情報を受信部３３にて受け取るが、この時点では、まだ、表示部３４には画面表示しない。一方、クライアント装置２は、シーケンスＳｅｑ１０において、サーバ装置１のサービス提供手段１１から受け取っている、当該クライアント装置２の現在の画面情報のクライアント装置３への送信指示に応じて、当該クライアント装置２に現在表示されている画面情報すなわちシーケンスＳｅｑ１０においてサーバ装置１から受信した画面情報を、送信手段２６を用いてクライアント装置３に送信する（シーケンスＳｅｑ１２）。
【００５９】
クライアント装置３は、受信手段３７によって、クライアント装置２からの画面情報（ここではβ画面と表現する）を取得すると、確認手段３５に出力して（シーケンスＳｅｑ１３）、後述する図９の状態遷移図に示すように、サーバ装置１から返送されてきたα画面とクライアント装置２から送信されてきたβ画面とを比較する。比較結果として、α画面とβ画面とが同一の画面であった場合には、クライアント装置３は、クライアント装置２との間で同期が取られた状態の画面であって、ユーザＢ（監視者Ｂ）に提示するために画面表示すべき状態にあると判定して、サーバ装置１から返送されてきたα画面を表示部３４に表示して、ユーザＢ（監視者Ｂ）に提示する（シーケンスＳｅｑ１４）。
【００６０】
図９は、図１に示すクライアント装置２の確認手段２５における画面照合動作に関する状態遷移の一例を示す状態遷移図であり、サーバ装置１のサービス提供手段１１から受信部２３にて受け取ったレスポンス（応答画面（α画面））とクライアント装置３から受信手段２７にて受け取ったページ（応答画面（β画面））とが同一画面であるか否かを照合する動作例を示している。図９に示すように、クライアント装置２の確認手段２５は、状態ＳＴ４１において、サーバ装置１のサービス提供手段１１から受信部２３にて受け取ったレスポンス（応答画面（α画面））とクライアント装置３から受信手段２７にて受け取ったページ（応答画面（β画面））とが同一画面であるか否かを確認する（状態ＳＴ４１）。
【００６１】
α画面とβ画面とが同一の画面であった場合には、状態ＳＴ４２に遷移して、サーバ装置１から返送されてきたα画面を表示部３４に表示する（状態ＳＴ４２）。これに対して、α画面とβ画面とが同一の画面ではなかった場合には、状態ＳＴ４３に遷移して、サーバ装置１またはクライアント装置３からの次のデータを受信部２３または受信手段２７にて受信することを待ち合わせる（状態ＳＴ４３）。
【００６２】
以上の動作により、ユーザＡ（操作者Ａ）が見ている画面とユーザＢ（監視者Ｂ）が見ている画面とが、互いの同期が取られて、同一の画面になる。また、ユーザＡ（操作者Ａ）の操作を、ユーザＢ（監視者Ｂ）が監視しているか否かという状態如何によって制限することも可能な状態になる。
【００６３】
次に、図３に示すシーケンス図について説明する。図３は、図１に示すＷｅｂサービスセッション同期管理システムにおいてクライアント装置２（第１のクライアント装置）を使用するユーザＡ（操作者Ａ）がログインしたセッションの操作画面上で何らかの操作を行った場合のクライアント装置３（第２のクライアント装置）を使用するユーザＢ（監視者Ｂ）における監視状況を説明するためのシーケンス図である。なお、図３のシーケンス図についても。図２のシーケンス図と同様、クライアント装置２（第１のクライアント装置）、確認手段２５、クライアント装置３（第２のクライアント装置）、確認手段３５、サーバ装置１内のサービス提供手段１１、確認手段１２の間で送受信される信号の流れと、クライアント装置２を使用するユーザＡ（操作者Ａ）およびクライアント装置３を使用するユーザＢ（監視者Ｂ）の操作について示している。
【００６４】
図３のシーケンス図において、まず、ユーザＡ（操作者Ａ）が、クライアント装置２の入力手段２１を用いて、表示部２４に表示された操作画面上の或るフォームに対して何らかの情報を入力すると(シーケンスＳｅｑ２１)、入力された情報は、入力画面として、送信部２２からサーバ装置１のサービス提供手段１１に送信される(シーケンスＳｅｑ２２)。なお、表示部２４に表示される操作画面として、例えば、図１０に示すようなサーバ装置１に関するサーバ設定画面がある。図１０は、図１に示すクライアント装置２の表示部２４に操作画面の一例として画面表示されるサーバ設定画面の画面構成例を示す模式図であり、メールサーバに関する設定フォームが表示されている例を示している。
【００６５】
サーバ装置１は受信部１４を介してユーザＡ（操作者Ａ）の入力情報を入力画面として受信すると、既存のサービスを提供するサービス提供手段１１は、受信した該入力情報に対してユーザＡ（操作者Ａ）のクライアント装置２に返送すべき応答画面を生成した後、さらに、確認手段１２に対して、ユーザＡ（操作者Ａ）のクライアント装置２からの操作内容（リクエスト）が許容される操作であるか否かを確認する（シーケンスＳｅｑ２３）。
【００６６】
確認手段１２は、図１１に例示するような必要権限設定テーブルを参照して、ユーザＡ（操作者Ａ）のクライアント装置２からの操作内容（リクエスト）が許容される操作であるか否かを確認する。図１１は、図１に示すサーバ装置１の確認手段１２の内部に保持されている必要権限設定テーブル１１０の一例を示すテーブルである。図１１に示す必要権限設定テーブル１１０は、リソース（ＵＲＩ）１１１、操作（メソッド）１１２、必要権限１１３からなり、各リソース１１１毎に、それぞれのリソース１１１に対する操作１１２に必要とする権限が必要権限１１３としてあらかじめ設定されている。
【００６７】
ユーザＡ（操作者Ａ）の操作が許容される操作であった場合には、サーバ装置１のサービス提供手段１１は、生成した応答画面を返送しようとしているセッションに関連付けられている他のクライアント装置、すなわち、当該ユーザＡ（操作者Ａ）の操作を監視するユーザＢ（監視者Ｂ）のクライアント装置３が存在しているか否かを確認する。ユーザＢ（監視者Ｂ）のクライアント装置３の存在を確認すると、サービス提供手段１１は、後述する図１２の状態遷移図に示すように、生成した応答画面をユーザＡ（操作者Ａ）のクライアント装置２に返送するとともに（シーケンスＳｅｑ２４）、さらに、同時に、サービス提供手段１１は、当該セッションに関連付けられているユーザＢ（監視者Ｂ）のクライアント装置３に対しても、同一の応答画面を送信する（シーケンスＳｅｑ２５）。
【００６８】
図１２は、図１に示すサーバ装置１のサービス提供手段１１において画面情報送信セッションに関する関連セッションの有無を確認する状態遷移の一例を示す状態遷移図である。図１２に示すように、サーバ装置１のサービス提供手段１１は、状態ＳＴ１１において、クライアント装置２との間の画面情報送信セッションについて、当該画面情報送信セッションの関連セッションが存在しているか否かを確認する（状態ＳＴ１１）。関連セッションがある場合には、状態ＳＴ１２に遷移して、クライアント装置２との間の画面情報送信セッションの画面情報と同一の画面情報を、クライアント装置３との間に設定されている当該関連セッションについても送信することを送信部１３に対して指示する（状態ＳＴ１２）。
【００６９】
したがって、クライアント装置２に対して送信した画面と同じ画面が、クライアント装置３に対しても送信される。すなわち、ユーザＡ（操作者Ａ）のクライアント装置２は、サーバ装置１のサービス提供手段１１から返送されてきた応答画面を受信部２３にて受け取って表示部２４に画面表示して、ユーザＡ（操作者Ａ）に提示するとともに、表示部２４に画面表示した該応答画面を、送信手段２６を用いて、当該ユーザＡ（操作者Ａ）の操作を監視しているユーザＢ（監視者Ｂ）のクライアント装置３に対して送信する（シーケンスＳｅｑ２６）。
【００７０】
一方、ユーザＢ（監視者Ｂ）のクライアント装置３は、サーバ装置１のサービス提供手段１１から返送されてきた応答画面を受信部２３にて受け取るが、クライアント装置２側とは異なり、この時点では、受け取った応答画面を一時保持しておくだけで、まだ、受け取った応答画面を表示部３４には画面表示しない。しかる後、クライアント装置２から送信されてきた応答画面を受信手段３７にて受信すると、クライアント装置３は、一時保持しているサーバ装置１から受け取った応答画面（ここではα画面と表現する）とクライアント装置２から受信した応答画面（ここではβ画面と表現する）とを、確認手段３５に引き渡して、双方の画面（α画面、β画面）が同一の画面か否かを確認する（シーケンスＳｅｑ２７）。
【００７１】
確認手段３５により、双方の画面（α画面、β画面）が同一の画面であることを確認すると、サーバ装置１から受け取った応答画面（α画面）を、ユーザＢ（監視者Ｂ）向けに表示すべき旨を表示部３４に指示して、該応答画面（α画面）を表示部３４に画面表示して、ユーザＢ（監視者Ｂ）に提示する（シーケンスＳｅｑ２８）。
【００７２】
以上の動作により、ユーザＡ（操作者Ａ）が何らかの操作を行っても、図１３に模式的に示すような動作が行われるので、ユーザＡ（操作者Ａ）が見ている画面とユーザＢ（監視者Ｂ）が見ている画面とが、互いの同期が取られて、同一の画面になる。図１３は、図３のシーケンスＳｅｑ２１〜シーケンスＳｅｑ２８までの動作において、サーバ装置１、クライアント装置２（第１のクライアント装置）、クライアント装置３（第２のクライアント装置）の間で送受信される画面情報の流れを模式的に示した模式図である。
【００７３】
図１３の模式図において、クライアント装置２のユーザＡ（操作者Ａ）が入力手段２１を用いて何らかの操作を行うと、画面１として、図３のシーケンスＳｅｑ２２に示したような入力画面が、クライアント装置２からサーバ装置１に送信される。サーバ装置１は、画面１をクライアント装置２から受け取ると、画面２として、図３のシーケンスＳｅｑ２４，Ｓｅｑ２５に示したような応答画面を生成して、クライアント装置２とクライアント装置３との双方に送信する。クライアント装置２は、サーバ装置１から画面１を受け取ると、表示部２４に画面表示するとともに、画面表示した画面２と同一の画面を画面３としてクライアント装置３に送信する。クライアント装置３は、サーバ装置１から受け取った画面２とクライアント装置２から受け取った画面３とが同一の画面であることを確認して、サーバ装置１から受け取った画面２を表示部３４に画面表示する。
【００７４】
次に、ユーザＢ（監視者Ｂ）が、ユーザＡ（操作者Ａ）の操作内容を承認する際の動作について説明する。ユーザＢ（監視者Ｂ）は、ユーザＡ（操作者Ａ）の操作内容を承認する場合、クライアント装置３の入力手段３１を用いて、表示部２４に表示された操作画面上の承認ボタンを押下操作する、等の操作を行うと（シーケンスＳｅｑ３１）、監視確認操作情報として、クライアント装置３の送信部３２からサーバ装置１のサービス提供手段１１に送信される（シーケンスＳｅｑ３２）。
【００７５】
サーバ装置１が受信部１４を介してユーザＢ（監視者Ｂ）の監視確認操作情報を受信すると、既存のサービスを提供するサービス提供手段１１は、受信した該監視確認操作情報に対してユーザＢ（監視者Ｂ）のクライアント装置３に返送すべき確認画面を生成した後、さらに、確認手段１２に対して、該確認画面を返送しようとしているセッションに関連付けられている他のクライアント装置、すなわち、当該ユーザＢ（監視者Ｂ）が操作を監視しているユーザＡ（操作者Ａ）のクライアント装置２が存在していることを確認する（シーケンスＳｅｑ３３）。ここで、前記確認画面は、ユーザＡ（操作者Ａ）の先の操作がユーザＢ（監視者Ｂ）によって承認済みであることを示す情報が表示され、かつ、操作を確定するための確認ボタンを、ユーザＡ（操作者Ａ）が押下することができる状態の画面として生成される。
【００７６】
確認手段１２は、当該ユーザＢ（監視者Ｂ）が操作を監視しているユーザＡ（操作者Ａ）のクライアント装置２が存在していることを確認すると、サービス提供手段１１に対して、ユーザＡ（操作者Ａ）のクライアント装置２にも同一の画面を送信することを指示する。
【００７７】
ユーザＡ（操作者Ａ）のクライアント装置２の存在を確認すると、サービス提供手段１１は、生成した確認画面をユーザＢ（監視者Ｂ）のクライアント装置３に返送する（シーケンスＳｅｑ３４）。さらに、同時に、サービス提供手段１１は、当該セッションに関連付けられているユーザＡ（操作者Ａ）のクライアント装置２に対しても、同一の確認画面を送信する（シーケンスＳｅｑ３５）。
【００７８】
ユーザＢ（監視者Ｂ）のクライアント装置３は、サーバ装置１のサービス提供手段１１から返送されてきた確認画面を受信部３３にて受け取って表示部３４に画面表示して、ユーザＢ（監視者Ｂ）に提示するとともに、表示部３４に画面表示した該確認画面を、送信手段３６を用いて、当該ユーザＢ（監視者Ｂ）が操作を監視しているユーザＡ（操作者Ａ）のクライアント装置２に対して送信する（シーケンスＳｅｑ３６）。
【００７９】
一方、ユーザＡ（操作者Ａ）のクライアント装置２は、サーバ装置１のサービス提供手段１１から返送されてきた確認画面を受信部２３にて受け取るが、クライアント装置３側とは異なり、この時点では、受け取った確認画面を一時保持しておくだけで、まだ、受け取った確認画面を表示部２４には画面表示しない。しかる後、クライアント装置３から送信されてきた確認画面を受信手段２７にて受信すると、クライアント装置２は、一時保持しているサーバ装置１から受け取った確認画面（ここではγ画面と表現する）とクライアント装置３から受信した確認画面（ここではδ画面と表現する）とを、確認手段２５に引き渡して、双方の画面（γ画面、δ画面）が同一の画面か否かを確認する（シーケンスＳｅｑ３７）。
【００８０】
確認手段２５により、双方の画面（γ画面、δ画面）が同一の画面であることを確認すると、サーバ装置１から受け取った確認画面（γ画面）を、ユーザＡ（操作者Ａ）向けに表示すべき旨を表示部２４に指示して、該確認画面（γ画面）を表示部２４に画面表示して、ユーザＡ（操作者Ａ）に提示する（シーケンスＳｅｑ３８）。
【００８１】
以上のような動作を行うことによって、ユーザＡ（操作者Ａ）とユーザＢ（監視者Ｂ）とが視認している画面が同期して同一画面であることを確保した状態で、ユーザＢ（監視者Ｂ）はユーザＡ（操作者Ａ）の操作をリアルタイムで監視することができ、また、ユーザＢ（監視者Ｂ）が、ユーザＡ（操作者Ａ）の操作を承認したことを示す確認画面についても、ユーザＡ（操作者Ａ）とユーザＢ（監視者Ｂ）との双方に配信して、同一の確認画面により確認し合うことも可能になっている。
【００８２】
なお、サーバ装置１のサービス提供手段１１（あるいは、場合によっては、確認手段１２）が、図１２の状態遷移図に示すような動作を画面情報送信セッションにおいて常時は実施しないようにし、サーバ装置１に対してコミットされるポイントごとの画面についてのみ、ユーザＡ（操作者Ａ）のクライアント装置２とユーザＢ（監視者Ｂ）のクライアント装置３との間で画面確認が行うことが可能になるような仕組みを採用するようにしても良い。かかる場合には、図３のシーケンス図におけるシーケンスＳｅｑ２４，Ｓｅｑ２５のようなサーバ装置１からの同一画面の送信動作を常時リアルタイムに実施することができない場合が生じて、ユーザＡ（操作者Ａ）のクライアント装置２とユーザＢ（監視者Ｂ）のクライアント装置３とのリアルタイムの画面共有はできなくなる場合が発生する。しかし、重要な操作がなされた時点としてコミットされているポイントにおいては、ユーザＡ（操作者Ａ）のクライアント装置２とユーザＢ（監視者Ｂ）のクライアント装置３との間で画面が同期して、ユーザＡ（操作者Ａ）の操作をユーザＢ（監視者Ｂ）が監視することができる。
【００８３】
（実施形態の効果の説明）
以上に詳細に説明したように、本実施形態においては、以下のような効果が得られる。
【００８４】
第１に、Ｗｅｂサービスを享受するために操作業務と監視業務とを別々の作業者（操作者と監視者と）に分掌しなければならないような作業において、操作者と監視者とが遠隔地に離れているような場合であっても、操作者と監視者とに対して同一画面が同期して画面表示されるので、リアルタイムで同時に双方が作業していることをシステムとして保証することができる。
【００８５】
第２に、監視者は、操作者の操作をリアルタイムに監視するとともに、該操作内容の承認を与える仕組みを採用しているので、操作者が誤った操作を行ってしまうことを未然に防ぐことができる。
【００８６】
第３に、一般のＷｅｂサービスに操作者と監視者との間の同期動作機構を付加するだけで、本実施形態におけるセッション同期管理の仕組みを実現することができるので、低コストで実施することができる。
【００８７】
（他の実施形態）
次に、図１に示したＷｅｂサービスセッション同期管理システムのシステム構成とは異なるシステム構成例について、図１４を用いて説明する。図１４は、本発明によるＷｅｂサービスセッション同期管理システムの図１とは異なるシステム構成例を示すシステム構成図であり、図１のサーバ装置１の確認手段１２内に、ハッチングを施して示した同期操作制御手段１２１を新たに追加した構成になっている。確認手段１２内に同期操作制御手段１２１を追加した以外の部位は、図１に示したＷｅｂサービスセッション同期管理システムの場合と全く同様である。本他の実施形態においては、確認手段１２内に同期操作制御手段１２１を新たに追加することによって、関連するセッションの双方で同じ操作をしなければ実行されないような内容を制御する仕組みを実現している。
【００８８】
本他の実施形態においては、例えば、先の実施形態において操作画面の一例として図１０に示したサーバ設定画面に、図１５に示すように、確定ボタン４０を新たに追加して配置して、該確定ボタン４０を押下操作した時に、サーバ設定画面に設定された内容が確定される場合を対象にしている。図１５は、図１４に示すクライアント装置２（第１のクライアント装置）の表示部２４に操作画面の一例として画面表示されるサーバ設定画面の図１０とは異なる画面構成例を示す模式図であり、前述のように、図１０のサーバ設定画面に対して新たに確定ボタン４０が追加されている。
【００８９】
ここで、本他の実施形態においては、ユーザＡ（操作者Ａ）がクライアント装置２に操作画面として画面表示された図１５のサーバ設定画面上の確定ボタン４０を押下操作しただけでは、操作結果をサーバ装置１に設定することができなく、該ユーザＡ（操作者Ａ）の操作を監視しているユーザＢ（監視者Ｂ）も、クライアント装置３に画面表示された図１６のサーバ設定画面上の確定ボタン４０を押下操作して、初めて、サーバ設定画面上の操作結果を反映して、サーバ装置１に設定することができる。つまり、本他の実施形態においては、ユーザＡ（操作者Ａ）とユーザＢ（監視者Ｂ）との双方の同期操作によって、操作結果が初めて有効になる場合を示している。図１６は、図１４に示すクライアント装置３（第２のクライアント装置）の表示部３４に操作画面の一例として画面表示されるサーバ設定画面の図１０とは異なる画面構成例を示す模式図であり、クライアント装置２（第１のクライアント装置）に画面表示される図１５に示すサーバ設定画面と同一の画面構成である。
【００９０】
次に、図１４のサーバ装置１の確認手段１２内に新たに追加した同期操作制御手段１２１の動作例について、その操作概念を図１７の状態遷移図を参照しながら説明する。図１７は、図１４に示すサーバ装置１の確認手段１２内の同期操作制御手段１２１における状態遷移の一例を示す状態遷移図である。なお、サービス提供手段１１から確認手段１２が呼び出された際に、同期操作制御手段１２１は、クライアント装置２，３からのリクエストに対して、確認手段１２の本体側が動作するよりも先に確認内容を判断する。
【００９１】
図１７に示すように、サーバ装置１の確認手段１２内の同期操作制御手段１２１は、まず、状態ＳＴ５１において、確認の要求があったリクエストについて、リソース同期が必要な操作であるか否かを判定する（状態ＳＴ５１）。かくのごとき判定処理は、例えば、図１８に示す必要権限設定テーブル１１０Ａを参照することにより実施される。図１８は、図１４に示すサーバ装置１の確認手段１２の内部に保持されている必要権限設定テーブル１１０Ａの一例を示すテーブルである。図１８に示す必要権限設定テーブル１１０Ａは、ハッチングを施して示すように、先の実施形態において図１１に示した必要権限設定テーブル１１０の場合に比し、必要権限１１３に、「セッション：同時操作」という項目が新たな必要権限として追加されている。つまり、図１８に示す必要権限設定テーブル１１０Ａには、各リソース１１１のうち特定のリソース１１１（図１８の場合、“／ｒｅｓ８”）に関する操作については、関連付けられた各ユーザの全員（つまり、本他の実施形態の場合、ユーザＡ（操作者Ａ）とユーザＢ（監視者Ｂ）との双方）の同時操作が必要であると定義されている。
【００９２】
図１７の状態ＳＴ５１において、同時操作が必要ではないと判定された場合は、状態ＳＴ５２に遷移して、確認手段１２本体に対してその後の確認処理を委譲する（状態ＳＴ５２）。移譲された確認手段１２においては、先の実施形態において説明した場合と同様、図６、図７の状態遷移図に示したような動作を行うことになる。
【００９３】
これに対して、図１７の状態ＳＴ５１において、同時操作が必要であると判定された場合は、状態ＳＴ５３に遷移して、同期対象のセッションが存在しているか否かを確認する（状態ＳＴ５３）。ここで、同期対象のセッションが存在していない場合は、そもそも同期操作を行うことができないので、状態ＳＴ５５に遷移して、リクエストされた操作をすることができない旨のレスポンスを要求元に返送することを、サービス提供手段１１に指示する（状態ＳＴ５５）。
【００９４】
一方、同期対象のセッションが存在する場合には、状態ＳＴ５４に遷移して、該当する同期対象のセッションが、同一の操作、すなわち、同一のリソースに対する同一のメソッドによるアクセスを実施しているか否かを確認する（状態ＳＴ５４）。かくのごとき確認は、後述するように、先に操作を行った側のセッションが、後から実施されるセッションの操作を待ち合わせていることを示す待機状態になったことが、当該セッションに（セッション変数等を用いて）保持されているので、待機状態になっていることを確認することによってなされる。
【００９５】
ここで、同期対象のセッションが先に当該確認動作を行っておらず、待機状態になっていない場合には、状態ＳＴ５６に遷移して、自身のセッションが当該リソース操作を行おうとして待機状態にあることをセッションに（セッション変数等を用いて）保持し、待機する（すなわち、状態ＳＴ５４の確認動作に戻るループ処理を繰り返す）。一方、同期対象のセッションが操作を待ち合わせる操作待機状態に遷移している場合には、状態ＳＴ５７に遷移して、自身のセッションが当該リソース操作を行うための操作実施状態になった旨をセッションに保持した後（状態ＳＴ５７）、状態ＳＴ５８に遷移して、当該リソース操作の実施をサービス提供手段１１に指示する（状態ＳＴ５８）。
【００９６】
しかる後、状態ＳＴ５９に遷移して、同期操作制御手段１２１の動作が終了すると、サービス提供手段は、当該リソース操作を実施し、生成したレスポンスを、同期対象の全てのクライアントに対し返送する（状態ＳＴ５９）。而して、同期操作を必要とする各ユーザの全員（つまり、本他の実施形態の場合、ユーザＡ（操作者Ａ）とユーザＢ（監視者Ｂ）との双方）が操作しなければ、操作することができないような処理を実現し、また、サーバ装置１から返送したレスポンスを画面表示する返却画面についての同期も維持するように動作することができる。
【００９７】
以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
【符号の説明】
【００９８】
１        サーバ装置
２        クライアント装置（第１のクライアント装置）
３        クライアント装置（第２のクライアント装置）
１１      サービス提供手段
１２      確認手段
１３      送信部
１４      受信部
２１      入力手段
２２      送信部
２３      受信部
２４      表示部
２５      確認手段
２６      送信手段
２７      受信手段
３１      入力手段
３２      送信部
３３      受信部
３４      表示部
３５      確認手段
３６      送信手段
３７      受信手段
４０      確定ボタン
１００    セッション情報テーブル
１０１    セッションＩＤ
１０２    端末識別情報
１０３    関連情報
１０４    関連性情報
１１０    必要権限設定テーブル
１１０Ａ  必要権限設定テーブル
１１１    リソース（ＵＲＩ）
１１２    操作（メソッド）
１１３    必要権限
１２１    同期操作制御手段
２００    ユーザ関連付けテーブル
２０１    ユーザＩＤ
２０２    監視ログイン可能ユーザＩＤ
【図１】
0006488809.tif 000002
【図２】
0006488809.tif 000003
【図３】
0006488809.tif 000004
【図４】
0006488809.tif 000005
【図５】
0006488809.tif 000006
【図６】
0006488809.tif 000007
【図７】
0006488809.tif 000008
【図８】
0006488809.tif 000009
【図９】
0006488809.tif 000010
【図１０】
0006488809.tif 000011
【図１１】
0006488809.tif 000012
【図１２】
0006488809.tif 000013
【図１３】
0006488809.tif 000014
【図１４】
0006488809.tif 000015
【図１５】
0006488809.tif 000016
【図１６】
0006488809.tif 000017
【図１７】
0006488809.tif 000018
【図１８】
0006488809.tif 000019