(57)【要約】【課題】  既存のホームページに容易に機能の追加を行うことができるプログラム等を提供する。【解決手段】  Ｗｅｂブラウザ１０は、ＨＴＭＬ文書１５，１７中の定義に応じて、Ｗｅｂサーバ１８にクライアントソフトウェア１９を要求し、実行する。クライアントソフトウェア１９は、アプリケーションサーバ２０が提供するサービスを利用し、これに応じた情報を、Ｗｅｂブラウザ１０の表示可能領域１１内の領域１３ａ内にフロートウィンドウとして表示させる。クライアントソフトウェア１９を構成するウィンドウ制御スクリプト１９ｂは、エンドユーザの操作に応じて、領域１３ａ内のフロートウィンドウ１３Ａ，１３Ｂの表示を制御する。【選択図】      図１
2007018489.tif 000002
【特許請求の範囲】
【請求項１】
スクリプト言語の実行が可能でスタイルシートに応じた表示を行い得るＷｅｂブラウザで実行されるプログラムであって、
Ｗｅｂブラウザに，サービス提供サーバが提供するサービスを利用するアプリケーションプログラムを取得させる取得ステップと、
Ｗｅｂブラウザに前記アプリケーションプログラムを実行させ，前記サービス提供サーバが提供するサービスを利用させる利用ステップと、
Ｗｅｂブラウザに前記サービスの利用結果に応じた画像を，スタイルシートの定義に応じてＷｅｂブラウザに表示させる表示ステップと
を備えることを特徴とするプログラム。
【請求項２】
前記利用結果に応じた画像を表示させる領域の移動指示を検出するステップと、
前記領域の移動先を入力するステップと、
前記移動先が前記Ｗｅｂブラウザの表示領域の外部である場合に、
前記移動先に，当該Ｗｅｂブラウザの表示領域とは別に前記利用結果に応じた画像を表示させるステップと
を備えることを特徴とする請求項１記載のプログラム。
【請求項３】
端末装置に，Ｗｅｂブラウザに実行させるアプリケーションプログラムについての情報を含むデータを提供するＷｅｂサーバと、
前記端末装置からの要求に対してアプリケーションプログラムを提供するプログラム提供手段と、
前記アプリケーションプログラムを実行する端末からの要求に応じて、サービスを提供するサービス提供手段と
を備えることを特徴とするサービス提供システム。
【請求項４】
前記サービス提供手段は、前記アプリケーションプログラムを実行する端末からのメッセージを受信し，前記端末宛てのメッセージを当該端末に送信するメッセージ中継サービスを提供することを特徴とする請求項３記載のサービス提供システム。
【請求項５】
Ｗｅｂブラウザからの要求に応じてサービス提供サーバが提供するサービスを利用するアプリケーションプログラムを提供し、
当該アプリケーションを実行する端末装置からの情報要求に応じてサービス提供サーバからサービスを提供し、
該サービスに応じた情報を前記Ｗｅｂブラウザの表示ウィンドウ中に表示させる
ことを特徴とする情報提供方法。
【請求項６】
スクリプト言語の実行が可能でスタイルシートに応じた表示を行い得るＷｅｂブラウザで実行されるプログラムであって、
Ｗｅｂブラウザに，サービス提供サーバが提供するサービスを利用するアプリケーションプログラムを取得させるステップと、
Ｗｅｂブラウザに前記アプリケーションプログラムを実行させ，前記サービス提供サーバが提供するサービスを利用させるステップと、
Ｗｅｂブラウザに前記サービスの利用結果に応じた画像を，スタイルシートの定義に応じてＷｅｂブラウザに表示させるステップと
前記利用結果に応じた画像を表示させる領域の移動指示を検出するステップと、
前記領域の移動先を入力するステップと、
前記移動先が前記Ｗｅｂブラウザの表示領域の外部である場合に、
前記移動先に，当該Ｗｅｂブラウザの表示領域とは別に前記利用結果に応じた画像を表示させるステップと
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、既存のホームページに容易に機能の追加を行うことができるプログラム等に関する。
【背景技術】
【０００２】
インターネット等のネットワークを介して文字情報，画像情報等のコンテンツを提供するＷＷＷ（World Wide Web）サービスが広く普及している。このようなＷＷＷサービスを用いて商品情報等を消費者に提供する企業も多くなっている。また、既存のホームページにバナーと呼ばれる画像を追加し、広告画像として用いたり、特定のＵＲＬに対するリンクとして用いることが行われている（例えば特許文献１参照。）。
【０００３】
また、特定の会員グループに対して掲示板等のサービスを提供するいわゆるコミュニティサイトが知られている。このようなコミュニティサイトは、端末側でＨＴＭＬ（Hyper Text Markup Language）やＭａｃｒｏｍｅｄｉａ社のＭａｃｒｏｍｅｄｉａＦｌａｓｈ（商標）等の技術を用いて制作したクライアントソフトウェアを実行させ、専用のコミュニティサイト、又はホームページを介して利用するようになっている。このようなコミュニケーション機能を利用するためには、ＷＷＷサービスを利用しているＷｅｂブラウザから画面遷移を行い、専用の専用のコミュニティサイト、又はホームページを表示させる必要がある。
【０００４】
【特許文献１】特開２００２−４９３０７号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上述の従来のＷＷＷサービスは、基本的には、提供したい情報を列挙して提供しているだけである。このため、同じホームページを同時に閲覧している他のユーザの存在を反映させた情報提供や、他のユーザの思考を反映させた情報提供を行うことはできなかった。
【０００６】
また、上述のバナーは、広告等に用いられるのみで、情報情報提供サービス，コミュニケーション等の他の用途に用いることはできなかった。
【０００７】
また、既存のホームページは、商品情報等の一方的な提供を目的としており、例えばホームページを閲覧しているユーザ間のコミュニケーション等の新たな機能を追加する場合には、個別に開発を行わなければならず、開発の負担が大きかった。
【０００８】
本発明は、上述のような課題に鑑み、既存のホームページに容易に機能の追加を行うことができるプログラム等を提供することを目的とする。また、本発明は、既存のホームページに、閲覧者の接続状態に応じた情報提供を行う機能を容易に追加することができるプログラム等を提供することを目的とする。また、本発明は、既存のホームページに、双方向のコミュニケーション機能を容易に追加することができるプログラム等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の請求項１に係るプログラムは、スクリプト言語の実行が可能でスタイルシートに応じた表示を行い得るＷｅｂブラウザで実行されるプログラムであって、Ｗｅｂブラウザに，サービス提供サーバが提供するサービスを利用するアプリケーションプログラムを取得させるステップと、Ｗｅｂブラウザに前記アプリケーションプログラムを実行させ，前記サービス提供サーバが提供するサービスを利用させるステップと、Ｗｅｂブラウザに前記サービスの利用結果に応じた画像を，スタイルシートの定義に応じてＷｅｂブラウザに表示させるステップとを備えることを特徴とする。
【００１０】
「プログラム」とは、アプリケーションプログラム以外にも、Ｗｅｂブラウザにアプリケーションプログラムを取得させる指示等も含まれ、ＨＴＭＬ文書中のアプリケーションプログラムのＵＲＬ等のアドレス等のアプリケーションプログラムについての情報等を含む概念である。
【００１１】
また、本発明の請求項３に係るサービス提供システムは、端末装置に，Ｗｅｂブラウザに実行させるアプリケーションプログラムについての情報を含むデータを提供するＷｅｂサーバと、前記端末装置からの要求に対してアプリケーションプログラムを提供するプログラム提供手段と、前記アプリケーションプログラムを実行する端末からの要求に応じて、サービスを提供するサービス提供手段とを備えることを特徴とする。
【００１２】
Ｗｅｂサーバが提供するデータには、例えばＨＴＭＬ文書が含まれる。また、アプリケーションプログラムについての情報には、例えばアプリケーションプログラムのＵＲＬ等のアドレスが含まれる。
【発明の効果】
【００１３】
本発明の請求項１に係るプログラムでは、予めアプリケーションプログラムと利用ステップ及び表示ステップのプログラムを用意しておけば、例えば既存のホームページを構成するＨＴＭＬ文書中に、取得ステップとしてアプリケーションプログラムについての情報を追加するだけで、既存のホームページに容易に機能の追加を行うことができる。
【００１４】
また、本発明の請求項３に係るサービス提供システムでは、予めプログラム提供手段と、サービス提供手段を設けておけば、ＷｅｂＨサーバが提供するＨＴＭＬ文書等のデータにアプリケーションプログラムについての情報を追加するだけで、既存のホームページを介して提供する新たなサービスを容易に追加することができる。
【００１５】
また、本発明の請求項６に係るプログラムでは、Ｗｅｂブラウザにサービスの利用結果に応じた画像を，スタイルシートの定義に応じてＷｅｂブラウザに表示させ、利用結果に応じた画像を表示させる領域の移動指示を検出し、領域の移動先を入力し、移動先が前記Ｗｅｂブラウザの表示領域の外部である場合に、移動先に，当該Ｗｅｂブラウザの表示領域とは別に利用結果に応じた画像を表示させることにより、情報の表示のフレキシビリティを向上させ、情報の視認性の向上に寄与することができる。
【発明を実施するための最良の形態】
【００１６】
本発明は、例えばインターネット等のネットワークを介して接続された端末装置にサービスを提供するサービス提供システム等に適用することができる。
【実施例１】
【００１７】
（構成）
図１は、本発明の実施例１に係るサービス提供システムの構成を概念的に示すブロック図であり、ＨＴＭＬ文書，クライアントソフトウェアの提供と、クライアントソフトウェアが利用するアプリケーションサービスの流れを示している。
【００１８】
この情報提供システムは、Ｗｅｂブラウザ１０が実行される端末装置１と、ＨＴＭＬ（Hyper Text Markup Language）文書，画像ファイル等のＷＷＷ（World Wide Web）情報を提供するＷｅｂサーバ１４及びＷｅｂサーバ１６と、端末装置１のＷｅｂブラウザ１０で実行するクライアントソフトウェア１９を提供するＷｅｂサーバ１８と、クライアントソフトウェア１９から利用可能なアプリケーションサービスを提供するアプリケーションサーバ２０とを備えている。これらのＷｅｂサーバ１８，アプリケーションサーバ２０は、Ｗｅｂサーバ１４，１６とは異なるドメイン２３に設けることができるようになっている。
【００１９】
アプリケーションサーバ２０が提供するサービスには、例えばチャット，ソーシャルネットワークサービス（ＳＮＳ：Social Network Service）等があり、アプリケーションサーバ２０は、これらに対応するサーバ（チャットサーバ２１ａ，ＳＮＳサーバ２１ｂ等）を備えている。なお、アプリケーションサーバ２０とチャットサーバ２１ａ，ＳＮＳサーバ２１ｂ等のサーバは同一の装置で構成してもよいが、処理負荷の分散を考慮して別個の装置としてもよい。
【００２０】
Ｗｅｂサーバ１４及びＷｅｂサーバ１６は、例えばクライアントソフトウェア１９についての情報の定義を含むＨＴＭＬ文書（ＨＴＭＬａ）１５，（ＨＴＭＬｂ）１７を提供する。端末装置１は、例えばＭＰＵ，メモリ，ディスクドライブ装置，キーボード，ポインティングデバイス等の入力装置，ネットワークインターフェース，表示装置等を備えたパーソナルコンピュータ等の情報処理装置から構成されている。この端末装置１では、オペレーティングシステム（ＯＳ）による制御下、Ｗｅｂブラウザ１０等のアプリケーションが実行される。
【００２１】
Ｗｅｂブラウザ１０は、Ｗｅｂサーバ１４，１６が提供するＨＴＭＬ文書１５，１７等を取得し、これらに応じた情報１２を、表示装置によって表示されるＷｅｂブラウザ１０の表示ウィンドウ内の表示を行い得る領域（表示可能領域）１１内に表示する。また、Ｗｅｂブラウザ１０は、ＨＴＭＬ文書１５，１７中の定義等に応じて、情報１２内の領域１３に、端末装置１にダウンロードされたクライアントソフトウェア１９による情報を表示させる。この領域１３を表示位置等の情報は、例えばＨＴＭＬ文書１５，１７中あるいはこれらの中で指定されたスタイルシート等で定義されている。
【００２２】
ここで、端末装置１を操作してＷｅｂブラウザ１０により情報１２の閲覧を行う者をエンドユーザという。また、Ｗｅｂサーバ１８とアプリケーションサーバ２０を管理する者をマネージャという。
【００２３】
Ｗｅｂサーバ１４，１６が提供するＨＴＭＬ文書の管理を行う者をオーナーという。オーナーは、例えば自ら管理するＨＴＭＬ文書１５，１７にクライアントソフトウェア１９についての情報を追加することにより、これらのＨＴＭＬ文書１５，１７を閲覧するエンドユーザにアプリケーションサーバ２０が提供するサービスを利用させることができるようになっている。アプリケーションサーバ２０には、例えば図２に示すように、自ら管理するＨＴＭＬ文書１５，１７を介してクライアントソフトウェア１９を利用させることができるオーナーについての情報（パラメータ）を保持するデータベース２２が記録されている。各オーナーには、オーナーＩＤ（ｏｗｎｅｒｉｄ）が割り当てられており、データベース２２には、例えばオーナーＩＤ毎に、ユーザＩＤ，パスワード，設置対象アドレス等のパラメータが対応付けられて記録されている。
【００２４】
クライアントソフトウェア１９は、セッションを維持したまま通信を行う事が可能な言語で書かれたプログラムであり、例えばＷｅｂブラウザ１０をマイクロソフトウェア社のインターネットエクスプローラーを利用する場合、Ｊａｖａ（登録商標）ＳｃｒｉｐｔやＭａｃｒｏｍｅｄｉａＦｌａｓｈ（商標）を用いて作成する事ができる。また、このクライアントソフトウェア１９は、全てを単一の言語で記述する必要はなく、例えば上述の領域１３の表示制御部分をＪａｖａ（登録商標）Ｓｃｒｉｐｔで記述し、領域１３内のＧＵＩ（Graphical User Interface）部分をＦｌａｓｈ（商標）で記述し、これらが協同して動作することによってクライアントソフトウェア１９の機能を実現してもよい。
【００２５】
図３は、端末装置１のソフトウェア構成を概念的に示す図である。この例では、クライアントソフトウェア１９を、上述のアプリケーションサーバ２０が提供するサービスを利用する機能と当該機能に応じた表示を行うＧＵＩスクリプト１９ａ，ウィンドウ制御スクリプト１９ｂ，スタイルシート１９ｃの３つの要素で構成した場合について示している。ＧＵＩスクリプト１９ａは、例えばＭａｃｒｏｍｅｄｉａＦｌａｓｈ（商標）等の画像を表示することが可能なスクリプト言語を用いて作成する。また、ウィンドウ制御スクリプト１９ｂは、例えばスタイルシート１９ｃの持つ情報を変更できるＪａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト言語を用いて作成する。また、ＧＵＩスクリプト１９ａは、アプリケーションサーバ２０が提供するサービスに対応して、例えばチャットを利用するバナーファイル１９Ａ，ＳＮＳサービスを利用するＳＮＳファイル１９Ｂ等を含んでいる。
【００２６】
また、Ｗｅｂブラウザ１０は、このような構成のクライアントソフトウェア１９を実行するため、ＨＴＭＬ文書１５，１７（その他のＷＷＷ情報）内の記述に従って表示可能領域１１内に表示する情報の制御を行う表示制御部１０ａと、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔを実行するＪＶＭ（Java Virtual Machine）１０ｂと、Ｆｌａｓｈ（商標）ファイルを実行するフラッシュプレイヤー（ＦｌａｓｈＰｌａｙｅｒ）１０ｃとを備えている。
【００２７】
ＨＴＭＬ文書１５，１７中では、Ｗｅｂサーバ１８が提供するクライアントソフトウェア１９を要求する情報が定義されている。具体的には、例えばＨＴＭＬ文書中において、クライアントソフトウェア１９（Ｊａｖａ（登録商標）Ｓｃｒｉｐｔｄｅ記述されたウィンドウ制御スクリプト１９ｂ部分）を要求し、実行させる以下のような指示が、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔで定義されている。
【００２８】
＜ｓｃｒｉｐｔ  ｔｙｐｅ＝“ｔｅｘｔ／ｊａｖａｓｃｒｉｐｔ”  ｓｒｃ＝“ｈｔｔｐ：／／ｈｏｓｔ１８：８０８０／ｃｏｎｆｉｒｍ／ｓｅｒｖｌｅｔ／ＷｅｂＣｏｍＯｗｎｅｒＣｏｎｆｉｒｍ？ｏｗｎｅｒｉｄ＝Ｏ０００００００３”＞＜／ｓｃｒｉｐｔ＞
ここで、「ｈｔｔｐ：／／ｈｏｓｔ１８：８０８０／ｃｏｎｆｉｒｍ／ｓｅｒｖｌｅｔ／ＷｅｂＣｏｍＯｗｎｅｒＣｏｎｆｉｒｍ」の部分は、Ｗｅｂサーバ１８で実行されているＪａｖａ（登録商標）ＳｅｒｖｅｒＰａｇｅｓ（ＪＳＰ）にクライアントソフトウェア１９の提供を要求する処理の定義であり、「？ｏｗｎｅｒｉｄ＝Ｏ０００００００３」の部分は、このような指示が定義されているＨＴＭＬ文書のオーナーのオーナーＩＤ（ｏｗｎｗｅｒｉｄ）である“Ｏ０００００００３”を送信してＷｅｂサーバ１８に認証を求める処理の定義である。
【００２９】
Ｗｅｂブラウザ１０は、このような指示に応じて、Ｗｅｂサーバ１８にクライアントソフトウェア１９を要求する際にオーナーＩＤ（ｏｗｎｅｒｉｄ）をパラメータとして供給する。ｗｅｂサーバ１８で実行されているＪＳＰは、Ｗｅｂブラウザ１０からの要求中のオーナーＩＤとリファラーに応じて、リファレンス元のＨＴＭＬ文書の正当性を確認する。なお、オーナーＩＤは、Ｗｅｂサーバ１８から、アプリケーションサーバ２０に供給される。このように、オーナーＩＤをパラメータとして与える事で、アプリケーションサーバ２０が、データベース２２に格納されたオーナーについての情報を素早く検索できるようになる。ただし、このオーナーＩＤはＷｅｂサーバ１８が提供する複数のクライアントアプリケーションからクライアントソフトウェア１９を検索する処理を早めるためのものである。
【００３０】
また、クライアントソフトウェア１９を、Ｗｅｂサーバ１４又はＷｅｂサーバ１６に置かず、上述の指示に応じて、Ｗｅｂブラウザ１０が、Ｗｅｂサーバ１８から取得するようにしているため、クライアントソフトウェア１９がコネクションを設定して通信を行う相手先をアプリケーションサーバ２０と同一のドメイン２３とすることができる。このため、例えばＷｅｂブラウザ１０で閲覧するＨＴＭＬ文書をＨＴＭＬａ１５からＨＴＭＬｂ１７に切り替えた場合でも、クライアントソフトウェア１９の通信相手は、同一ドメイン２３内であり、ＨＴＭＬａ１５を閲覧する際にＷｅｂサーバ１８から取得したｃｏｏｋｉｅを、ＨＴＭＬｂ１７を閲覧する際にそのまま利用することができる。これにより、クライアントソフトウェア１９を利用しているＷｅｂページ（ＨＴＭＬ文書等）間で、閲覧対象を移動した場合でも、アプリケーションサーバ２０側で、同一のエンドユーザが利用しているクライアントソフトウェア１９からのアクセスであると認識することができるようになる。これにより、Ｗｅｂブラウザ１０で閲覧するＷｅｂページを移動した場合でも、移動先のＷｅｂページにおいてクライアントソフトウェア１９の情報が定義されていれば、アプリケーションサーバ２０が提供するサービスをシームレスに利用することができる。
【００３１】
（動作）
上述のように構成されたサービス提供システムにおいて、端末装置１を使用しているエンドユーザは、例えばＨＴＭＬａ１５を閲覧する際には、Ｗｅｂブラウザ１０を操作し、ＨＴＭＬａ１５のＵＲＬ“ｈｔｔｐ：／／ｈｏｓｔ１４／ａ．ｈｔｍｌ”を入力する。これに応じて、Ｗｅｂブラウザ１０は、例えば図４に示す処理の実行を開始し、まず、指定されたＵＲＬに対応するＨＴＭＬａ１５をＷｅｂサーバ１４に要求する（Ｓ１０１）。Ｗｅｂサーバ１４は、これに応じて、ＨＴＭＬａ１５のファイルをＷｅｂブラウザ１０に提供する（Ｓ１０２）。
【００３２】
ＨＴＭＬａ１５を受け取ったＷｅｂブラウザ１０は、ＨＴＭＬを解析して、上述の表示可能領域１１に表示する。さらに、ＨＴＭＬの中に記述されたＪａｖａ（登録商標）Ｓｃｒｉｐｔを見つけると、Ｗｅｂブラウザ１０は、上述の＜ｓｃｒｉｐｔ＞タグ中で指定された定義に従い、“ｓｒｃ＝”以降で定義されたアドレス（上述の場合では“ｈｔｔｐ：／／ｈｏｓｔ１８：８０８０／ｃｏｎｆｉｒｍ／ｓｅｒｖｌｅｔ／ＷｅｂＣｏｍＯｗｎｅｒＣｏｎｆｉｒｍ”）宛にＨＴＴＰリクエストを送信する（Ｓ１０３）。なお、このリクエストは、ＨＴＴＰＳプロトコルで送信するようにしてもよい。
【００３３】
また、この際、Ｗｅｂブラウザ１０は、＜ｓｃｒｉｐｔ＞タグ中で指定されたオーナーＩＤ（上述の場合では“Ｏ０００００００３”）をＨＴＴＰリクエストの引数とする。さらに、端末装置１内に保持されているｃｏｏｋｉｅが存在する場合には、ＨＴＴＰリクエストのヘッダに当該ｃｏｏｋｉｅを付加する。また、Ｗｅｂブラウザ１０は、参照元のＨＴＭＬ文書のアドレスをリファラー（ｒｅｆｆｅｒｅｄ）としてＨＴＴＰリクエストのヘッダに付加する。このように、ヘッダの生成を行うと、Ｗｅｂブラウザ１０は、ＨＴＴＰリクエストをＷｅｂサーバ１８に送信する。
【００３４】
Ｗｅｂブラウザ１０からのＨＴＴＰリクエストがあると、Ｗｅｂサーバ１８は、ＨＴＴＰリクエスト中のＵＲＬに対応するＪＳＰを実行させて動的にＷｅｂページを生成する。このＪＳＰは、例えばリファレンス元のＨＴＭＬ文書のオーナーＩＤとＵＲＬに応じた正当性の認証機能、クライアントソフトウェア１９の送信機能、ｃｏｏｋｉｅの有無の確認及び送信機能等を有している。このＪＳＰは、例えば上述のようにＷｅｂブラウザ１０から引数として供給されたオーナーＩＤとリファラーを引数とし、アプリケーションサーバ２０に認証を要求する（Ｓ１０４）。これは、ＪＳＰの中でアプリケーションサーバ２０に認証を行い、不正なアクセスについては以後の処理を続行させないためである。
【００３５】
ＪＳＰからの要求があると、アプリケーションサーバ２０はデータベース２２を参照して、オーナーＩＤに対応する設置対象アドレスを取得し、リファラーのアドレスと比較して正当性を判断する。設置対象アドレスとリファラーのアドレスが一致していればＷｅｂブラウザ１０からのＨＴＴＰリクエストが正当であると判断し、認証結果として接続が正当であることを示すパラメータをＪＳＰに返す。一方、設置対象アドレスとリファラーのアドレスが一致していなければ、アプリケーションサーバ２０は、ＨＴＴＰリクエストが不正であると判断し、認証結果として接続が不正であることを示すパラメータをＪＳＰに返す（Ｓ１０５）。
【００３６】
正当性が確認されたＪＳＰは、クライアントソフトウェア１９と、アプリケーションサーバのアドレス，ｈｔｔｐ通信に正当なｃｏｏｋｉｅが含まれていたかを示すフラグを、Ｗｅｂブラウザ１０に対する応答として送信する（Ｓ１０６）。
【００３７】
このような応答に応じて、Ｗｅｂブラウザ１０は、クライアントソフトウェア１９を実行させる。クライアントソフトウェア１９は、アプリケーションサーバ２０が提供するサービス（例えば情報提供，コミュニケーション等）に対する要求を送信し、これに対する応答に応じた情報をＷｅｂブラウザ１０を介して領域１３内に表示させる。これにより、端末装置１を操作しているエンドユーザがアプリケーションサーバ２０が提供するサービスを利用することができるようになる。
【００３８】
なお、以上の説明では、システムの拡張性を考え、所定のＵＲＬ以外のアプリケーションサーバを利用する事を考慮し、上述のＨＴＴＰリクエストに対する応答として、アプリケーションサーバのアドレスを返している。しかし、アプリケーションサーバのアドレスの変更の必要がなければ、ＨＴＴＰリクエストに対する応答としてアプリケーションサーバのアドレスを返す必要はない。
【００３９】
（クライアントソフトウェア１９動作詳細）
図５は、端末装置１で実行されているクライアントソフトウェア１９によって実行されるアプリケーションサーバ２０に対するログイン処理を示すフローチャートである。クライアントソフトウェア１９は、当該クライアントソフトウェア１９に応じた画像を領域１３内に表示するための設定情報（パラメータ）を取得するために、アプリケーションサーバ２０に、オーナーＩＤを引数としてアクセスする（図６中のＳ１１０）。これに応じて、アプリケーションサーバ２０は、クライアントソフトウェアの設定情報（クライアント情報）を返す（Ｓ１１１）。
【００４０】
図７は、クライアントソフトウェア１９が、例えば領域１３に表示するグラフィカルユーザーインターフェース（ＧＵＩ）と、利用可能なサービスを示すクライアントソフトウェア設定情報である。クライアントソフトウェア１９は、クライアントソフトウェア設定情報（図６中のＳ１１１で供給されるクライアント情報）に応じて、上述の領域１３に表示するＧＵＩを形成する。具体的には、この設定情報は、例えばＨＴＭＬａ１５やＨＴＭＬｂ１７のように、全く異なるホームページにクライアントソフトウェア１９が表示される際、各ホームページのデザインに合わせた表現が行えるように考慮したものである。クライアントソフトウェア１９は、このパラメータ情報に応じて、ボタンの画像，リンク先の情報を有するスタイルシートを生成し、これに応じてクライアントソフトウェア１９の処理に応じた画像を領域１３内に表示させる。このようなパラメータ（クライアント情報）を利用することで、より多くのホームページにパラメータの設定のみで対応することが可能となる。これにより、例えば固定の準備された画像とサービスを利用する場合、ＧＵＩやサービスに関連するパラメータを取得する必要性はなくなる。
【００４１】
図８は、クライアントソフトウェア１９が、上述の領域１３中に表示する画像の例を示すイメージ図である。この画像中に表示されているボタン３７，３８，３９，４０，４１は、上述の図７に示すクライアントソフトウェアの設定情報により表示の有無と表示位置の座標等が決定される。
【００４２】
各ボタン３７〜４１は、後述のフロートウィンドウを用いて、各サービスの利用処理の起動を指示するためのボタンである。
【００４３】
（起動処理の例）
端末装置１側でクライアントソフトウェア１９の実行が開始されると、クライアントソフトウェア１９は、上述のように領域１３内に表示させるボタン３７〜４１等の設定を行い、これらのボタン３７〜４１に対応するサービス利用機能の設定を行い、上述のスタイルシート１９ｃの設定を行って領域１３内に表示させる。また、ボタン３７〜４１等が指示されると、これらに対応するサービス利用機能を起動させ、これに応じた画面を、領域１３ａ内にフロートウィンドウとして表示させる。
【００４４】
フロートウィンドウを使用しない、あるいはボタンを利用して起動せず、ＨＴＭＬ文書内にサービスを利用するためのソフトウェアを記述しておいて実行させることも可能である。しかし、この場合には、ＨＴＭＬａ１５やＨＴＭＬｂ１７に記述する命令文が増え、さらに、画面に表示される情報量が多くなり、ホームページから発信したい情報と表示可能領域１１を奪い合うことになるため、情報の伝達とコミュニケーションの両立が難しくなる。
【００４５】
（自動ログイン処理）
上述の図４中のＷｅｂサーバ１８からの応答（Ｓ１０６）中において、正当なｃｏｏｋｉｅの返値を取得したクライアントソフトウェア１９は、現在のＷｅｂブラウザ１０が、過去にアプリケーションサーバ２０にログインをしていたと理解し、ｃｏｏｋｉｅを用いてアプリケーションサーバ２０にログインを試みる。
【００４６】
図９は、端末装置１にｃｏｏｋｉｅが存在していた場合に、自動的にログインを行う際の通信の流れの例を示している。端末装置１側で実行されているクライアントソフトウェア１９はｃｏｏｋｉｅを引数（ＨＴＴＰリクエストの場合では、ヘッダのパラメータ）として、アプリケーションサーバ２０にログイン認証を要求する（Ｓ１２０）。
【００４７】
認証要求があると、アプリケーションサーバ２０は、ｃｏｏｋｉｅから算出したＩＤとＰＡＳＳＷＯＲＤを元に、予め設定された認証セレクタを用いて認証サーバに認証判断を要求する（Ｓ１２１）。認証セレクタは既存の認証サーバとの認証連携を行うためにアプリケーションサーバ２０に用意され、設定情報に基づいて認証サーバを選択し、ログイン情報を送信する。
【００４８】
ＩＤとＰＡＳＳＷＯＲＤは、クライアントソフトウェア１９の利用を許可するエンドユーザに割り当てられている情報であり、例えば図１０に示すような内容からなる。なお、クライアントソフトウェア１９の利用制限を必要としない場合には、このような認証を行う必要はない。
【００４９】
認証結果（Ｓ１２２）を受け取った認証セレクタは、認証に成功するとセッションＩＤを発行し、データベース２２に格納し（Ｓ１２３）、格納終了（Ｓ１２４）後、クライアントソフトウェア１９にセッションＩＤとｃｏｏｋｉｅを発行する（Ｓ１２５）。
【００５０】
ログインが終了すると、クライアントソフトウェア１９は、ログインを行ったエンドユーザに関する情報を取得するためにアプリケーションサーバ２０に接続を行う。ここで、クライアントソフトウェア１９は、端末装置１から利用可能なサービスに関する情報を取得する。例えば、チャットサービスを利用する場合ではユーザＩＤとパスワード等の情報あるいはリンク元のＵＲＬ等を送信して、入室するチャットルームに対応するグループのＩＤ等を取得する。
【００５１】
（識別情報の共用）
ところで、上述のｃｏｏｋｉｅは、前述の異なるＷｅｂサーバに置かれたＨＴＭＬａ１５とＨＴＭＬｂ１７で共通に識別情報として利用できるようになっているが、これはクライアントアプリケーション１９をダウンロードするＷｅｂサーバ１８と、サービスクライアント２０が同一ドメインにあるためである。Ｗｅｂブラウザ１０は、同一ドメイン内のサーバに対して同一のｃｏｏｋｉｅを用いることができるようになっている。しかしながら、例えばクライアントソフトウェア１９の記述言語にＭａｃｒｏｍｅｄｉａ社のＦｌａｓｈ（商標）を用いる場合には、ｃｏｏｋｉｅとは別に、シェアードオブジェクトと呼ばれるドメイン毎に確保可能なデータ領域にパラメータ（識別情報）を保持しておき、ｃｏｏｋｉｅのように識別情報として利用することが可能となる。この場合には、上述のＨＴＴＰリクエストのヘッダに記述されたｃｏｏｋｉｅとは異なり、別途引数として与える必要性がある。
【００５２】
例えばＨＴＭＬａ１５を表示しているＷｅｂブラウザ１０が表示内容を、ＨＴＭＬｂ１７に切り替えた場合、通常は、Ｗｅｂブラウザ１０とアプリケーションサーバ２０との接続は切られる。しかし、この実施例では、上述のように、ｃｏｏｋｉｅを利用した自動ログインを行うことで、エンドユーザからはログインを継続したままクライアントソフトウェア１９による情報が領域１３に表示され続けているように見せることができる。これにより、同じＷｅｂブラウザ１０を利用している限り、一度ログインすればアプリケーションサーバ２０が発行したセッションの有効期限が切れるまで、再ログインを行うことなくクライアントソフトウェア１９が利用可能となる。このため、全く異なるＷＷＷページ（例えばＨＴＭＬａ１５とＨＴＭＬｂ１７）に移動した場合においても、アプリケーションサーバ２０が提供するサービスを継続して利用することができ、複数のＷＷＷページを介して、一つのサービスを受ける事が可能となる。
【００５３】
（手動ログイン処理）
エンドユーザがクライアントソフトウェア１９を利用するためにログインを必要とする場合であって、ｃｏｏｋｉｅがＷｅｂブラウザ１０に存在しないか、あるいは図４のＳ１０６における応答結果中でｃｏｏｋｉｅの正当性を否定された場合には、クライアントソフトウェア１９は、領域１３内に上述の図８中のログインボタン４０を表示させる。
【００５４】
エンドユーザが領域１３内のログインボタン４０を指示すると、クライアントソフトウェア１９は、ＩＤとＰＡＳＳＷＯＲＤの入力を求めるウィンドウを表示させる。エンドユーザがこのウィンドウに対してＩＤとＰＡＳＳＷＯＲＤを入力すると、クライアントソフトウェア１９は、例えば図１１に示す処理を実行し、アプリケーションサーバ２０に対するログインを行う。この図１１に示すログイン処理は、上述の図９に示す自動ログインを行う場合の処理と認証を求める通信（Ｓ１３０）の内容が異なる以外は、図９と同じ処理で実行される。図９中のＳ１２０では、エンドユーザを特定するためのパラメーターとしてｃｏｏｋｉｅを利用していたが、この図１１中のＳ１３０では、エンドユーザに入力させたＩＤとＰＡＳＳＷＯＲＤを認証を求める通信の引数に与える。従って、アプリケーションサーバ２０は、クライアントソフトウェア１９から供給されたＩＤとＰＡＳＳＷＯＲＤに基づいて認証を行えばよく、図９中のＳ１２０においてｃｏｏｋｉｅを受信した場合にように、ｃｏｏｋｉｅからＩＤとＰＡＳＳＷＯＲＤを求める処理を実行する必要はない。
【００５５】
上述までの処理を全て実行することで、Ｗｅｂブラウザ１０で実行されているクライアントソフトウェア１９とアプリケーションサーバ２０との間のセッションの有効期限（タイムアウト時間）内であれば、クライアントソフトウェア１９からのログイン動作を複数回行うことなく、クライアントアプリケーション１９を利用する、異なるドメインのＷＷＷページ間で移動しても、エンドユーザから見た場合に、アプリケーションサーバ２０が提供するサービスを途切れることなく利用することが可能となる。
【００５６】
（タイムアウト処理）
セッションの有効期限の管理を行うため、アプリケーションサーバ２０は、例えば図１２に示すような状態を判断し、個々の端末装置１で実行されているクライアントソフトウェア１９からのログインを管理する。アプリケーションサーバ２０は、クライアントソフトウェア１９からの直前のログインの時刻を記録している。
【００５７】
アプリケーションサーバ２０は、移動後のＨＴＭＬ文書からのリファレンスによってクライアントソフトウェア１９が起動され、アプリケーションサーバ２０にログインすると、当該クライアントソフトウェア１９が実行されている端末装置１からの前回のログイン時刻を参照し、現在のログイン時刻と前回のログイン時刻との差分により、ログイン状態を判断する。
【００５８】
例えば図１３中に示すＨＴＭＬ文書（例えばＨＴＭＬａ）を閲覧しており、クライアントソフトウェア１９がアプリケーションサーバ２０にログインしている場合、アプリケーションサーバ２０は、図１２中に示す状態は「ログイン中」とする。この後、エンドユーザが、閲覧する対象を異なるＨＴＭＬ文書（例えばＨＴＭＬｃ）にしようとすると、アプリケーションサーバ２０は、この状態を一旦［移動中］とする。この後、タイムアウト時間が経過すると、アプリケーションサーバ２０はこの状態を「ログオフ中」とする。
【００５９】
これにより、Ｗｅｂブラウザ１０で閲覧するＨＴＭＬ文書１５を、例えば図１３中のＨＴＭＬａ，ＨＴＭＬｃ，ＨＴＭＬｂの順番で変更した場合でも、各ＨＴＭＬ間の移動時間がタイムアウト時間以内であれば、アプリケーションサーバ２０は、同一のセッションとして扱ってサービスを提供する。また、移動時間がタイムアウト時間より長ければ、アプリケーションサーバ２０は、別個のセッションとして扱い、再度ログイン処理を要求する。また、これにより、例えば図１３中のＨＴＭＬａ，ＨＴＭＬｄ，ＨＴＭＬｂの順番で変更した場合のように、途中にクライアントソフトウェア１９に対するリファレンスが含まれないＨＴＭＬ文書間を移動した場合でも、クライアントソフトウェア１９に対するリファレンスを含むＨＴＭＬａ，ＨＴＭＬｂ間の移動時間がタイムアウト時間以内である場合にも、同一のセッションとして扱われる。
【００６０】
（チャットの例）
上述の図８中のボタン２７が指示されると、クライアントソフトウェア１９は、例えば図１４に示すように、セッション情報とユーザＩＤ等の情報をバナーファイル１９Ａを介してチャットサーバ２１ａに送信してログイン処理を行う。チャットサーバ２１ａは、データベース２２を参照して、認証結果をクライアントソフトウェア１９に供給する。ログインが成功したことを示す認証結果が得られると、クライアントソフトウェア１９は、例えは図１５に示すように、表示可能領域１１内の領域１３ａに、クライアントソフトウェア１９Ａによる処理結果を表示するためのフロートウィンドウを表示させる。
【００６１】
チャットサービスを提供するアプリケーションサーバ２０（チャットサーバ２１ａ）は、例えば図１６に示すように、チャットサービスを利用するエンドユーザ間のメッセージの配信を行うメッセージ配信制御部２０ａと、チャットを利用可能なエンドユーザを管理するためのデータベース（ＤＢ）２０ｂとを備えている。メッセージ配信制御部２０ａは、例えばデータベース２０ｂに登録されているグループ内のエンドユーザのＷｅｂブラウザ１０で実行されているバナーファイル１９Ａに対してメッセージの配信を行う。
【００６２】
図１６中のＷＥＢサーバ１４，１６は、上述のように、クライアントソフトウェア１９（この場合は、バナーファイル１９Ａ）を利用し得るＨＴＭＬ文書１５，１７を端末装置１等に対して提供するようになっている。Ｗｅｂブラウザ１０からこれらのＨＴＭＬ文書１５，１７を閲覧する際には、上述のように、クライアントソフトウェア１９ＡがＷｅｂブラウザ１０に供給される。
【００６３】
バナーファイル１９Ａは、例えば上述のスクリプトから構成されている。チャットを行おうとするエンドユーザは、上述の図８からボタン２７を指示する。これに応じてＷｅｂブラウザ１０は、バナーファイル１９Ａを起動させ、バナーファイル１９Ａが領域１３ａにチャット用の画像を表示させた後、上述の図１４に示すログイン処理によってアプリケーションサーバ２０（チャットサーバ２１ａ）にログインする。この後、チャットを行うグループに対応するチャットルームの選択（図１７）等の処理を実行すると、図１６中のエンドユーザＡとエンドユーザＢのように、チャットを行うことができる状態になる。
【００６４】
Ｗｅｂブラウザ１０側で実行されているバナーファイル１９Ａは、図１６中のＨＴＭＬ文書１５，１７のＵＲＬを取得し（Ｓ２１）、ＵＲＬ毎に接続元のクライアントを区別し管理する。
【００６５】
バナーファイル１９Ａから実行されたスクリプトからアクセスのあったサーバは一意のＩＤを生成し、前述のＵＲＬと共に、例えば図１８に示すデータとしてデータベース２０ｂに記憶する。
【００６６】
接続要求を受け取ったチャットサーバ２１ａは、上述の図１７に示すように、既に同じＵＲＬからの接続があった場合（Ｓ２２）、同一のホームページを閲覧しているエンドユーザ（利用者）がいると認識し、既に入室している（チャットルームに対応するグループに設定されている）エンドユーザの数と管理上限値とを比較し、同じチャットルームに入室できるか判断する（Ｓ２６）。当該チャットルームのグループに設定されているエンドユーザの数が管理上限値以下である場合には、入室を認め、当該チャットルームのグループに登録する（Ｓ２７）。これにより、メッセージ配信制御部２０ａが、新たに入室したエンドユーザの端末装置１にも、メッセージの配信を行うようになり、同じホームページを閲覧しているエンドユーザ同士で、領域１３ａ内の表示を介してメッセージの送受信すなわちチャットを行うことができるようになる。
【００６７】
また、同一ＵＲＬから接続中のエンドユーザがいない場合、チャットサーバ２１ａは、他のＵＲＬからの接続者が作成したチャットルームに空きがあるか否かを判断し（Ｓ２３）、空きがある場合には、空きのあるチャットルームのグループに当該エンドユーザを登録する（Ｓ２４）。これにより、例えば上述の図１６中のエンドユーザＡとエンドユーザＢのように、異なるホームページを利用しているエンドユーザ間で領域１３ａ内の表示を介してチャットを行うことができるようになる。
【００６８】
上述のどちらのチャットルームにも入室できない場合、チャットサーバ２１ａは、新しくチャットルームを作成し、エンドユーザを当該チャットルームのグループに登録する（Ｓ２５）。
【００６９】
ところで、チャットルームのグループを設定した後は、上述のログイン時に供給されたセッションＩＤで個々のエンドユーザを識別する。このため、例えば図１６に示すように、エンドユーザＡがＷｅｂブラウザ１０でＨＴＭＬｂ１７を閲覧した状態で、チャットサーバ２１ａにログインしてチャットを行っている状態で、Ｗｅｂブラウザ１０で閲覧する対象をＨＴＭＬａ１５に切り替えた際にも、チャットサーバ２１ａは、セッションＩＤによって、同一のエンドユーザと認識することができる。移動先のＨＴＭＬ文書中で同一のチャットサービスの利用が可能であれば、移動先のＨＴＭＬ文書に応じた情報１２中の領域１３内の表示により、チャットサービスを継続して利用することができる。
【００７０】
（フロートウィンドウ表示制御）
上述の図８中の領域１３内に表示されたボタン３７〜４１は、コミュニケーションやリサーチといった機能を持ったアプリケーションを起動するインターフェースとなっている。これらのボタンが指示されると、クライアントソフトウェア１９は、後述のフロートウィンドウ上にアプリケーションに応じた情報を表示する。これにより、Ｗｅｂブラウザ１０が表示している表示可能領域１１の上に、さらに情報を表示することが可能となる。
【００７１】
図１９は、表示可能領域１１内に表示されるフロートウィンドウのイメージを示す図である。また、図２０及び図２１は表示可能領域１１内の領域１３ａ内に、クライアントソフトウェア１９のＧＵＩスクリプト１９ａが表示させる画面（フロートウィンドウ）のイメージを示す図である。
【００７２】
領域１３ａには、ＧＵＩスクリプト１９ａにより、フロートウィンドウの構成要素として、例えばフロートウィンドウの消去の指示を入力する消去ボタン１３０と、フロートウィンドウに表示するコンテンツのタイトルを表示するタイトルバー１３１と、フロートウィンドウをタイトルバー表示にする指示を入力するタイトルバー化ボタン１３２と、フロートウィンドウのアウター化（表示可能領域１１外の別ウィンドウでの表示）の指示を入力するアウター化ボタン１３３と、クライアントソフトウェア１９に応じた情報を表示する表示領域１３４と、フロートウィンドウの表示サイズの変更の指示を入力するウィンドウサイズ変更ボタン１３５とが表示される。タイトルバー１３１には、表示領域１３４に表示するＨＴＭＬ文書等の中の＜ＴＩＴＬＥ＞タグで記述された情報が表示される。
【００７３】
また、この実施例では、図２１中に斜線で示すタイトルバー１３１の領域（ドラッグ領域）を、マウスカーソルでドラッグすることにより、フロートウィンドウの表示位置を移動させることができるようになっている。
【００７４】
このように、この実施例では、表示可能領域１１内の領域１３ａに、Ｗｅｂブラウザ１０やオペレーティングシステムの機能に近いインターフェースを持ったフロートウィンドウを作成することで、エンドユーザが直感的に理解でき、操作しやすいインターフェースを提供している。
【００７５】
上述のウィンドウ制御スクリプト１９ｂは、例えば図２２に示すように、フロートウィンドウ（領域１３ａ）の表示位置を変更する関数（ウィンドウ表示位置変更関数）１９１と、フロートウィンドウ（領域１３ａ）のサイズを変更する関数（ウィンドウサイズ変更関数）１９２と、動作状態を示すフラグの状態を変更する関数（フラグ終了関数）１９３と、動作状態を示すフラグの状態を変更する関数（フラグ終了関数）１９３と、マウスの移動を監視する関数（マウス移動監視関数）１９４と、表示状態を変更する関数（ポップアップ関数）１９５とを備えている。これらの関数（モジュール）は、上述の図３中のＧＵＩスクリプト１９ａから必要に応じてコールされる。
【００７６】
本発明を利用するためには、例えば図２３に示すように、作成したいフロートウィンドウ毎にスタイルシート１９ｃを作成しておく。各々のスタイルシート内では、例えば＜ＳＴＹＬＥ＞タグなどを用いて、テキストの表示態様，リンクの定義等を定義する。この時＜ＤＩＶ＞タグや＜ＳＰＡＮ＞タグを用いて、所定のウィンドウ管理単位毎に、設定を区分しておくと、変更・管理等が容易になる。また、作成したスタイルシート１９ｃに従って表示する内容は、例えば、図２０に示す画像等を表示させるＧＵＩスクリプト１９ａに、表示したい内容のクエリー（定義）を付加して指定する。このようなＧＵＩスクリプト１９ａと、スタイルシート１９ｃは、ウィンドウ制御スクリプト１９ｂと共に、クライアントソフトウェア１９の一部としてＷｅｂサーバ１８からＷｅｂブラウザ１０に供給される。
【００７７】
上述の図８中のボタンが指示されると、Ｗｅｂブラウザ１０は、指示されたボタンに対応するＧＵＩスクリプト１９ａをＦｌａｓｈ（商標）Ｐｌａｙｅｒ１０ｃに実行させると共に、指示されたボタンに対応するスタイルシート１９ｃによって指定された位置（表示可能領域１１中の領域１３ａ）に、ＧＵＩスクリプト１９ａの実行応じた情報を表示させる。これにより、上述の図１９に示すように、領域１３ａにフロートウィンドウが表示される。
【００７８】
ところで、この実施例では、上述の領域１３ａには、図１９に示すように、スタイルシート１９ｃの定義に従って、複数のフロートウィンドウ１３Ａ，１３Ｂを表示することができるようになっている。各々のフロートウィンドウ１３Ａ，１３Ｂは、上述の消去ボタン１３０，タイトルバー１３１，タイトルバー化ボタン１３２，アウター化ボタン１３３，ウィンドウサイズ変更ボタン１３５の指示により、消去したり，表示位置を移動させたり，タイトルバーのみの表示状態にしたり，表示可能領域１１の外部のウィンドウに表示させたり，サイズを変更したりすることができるようになっている。これにより、エンドユーザは、複数のフロートウィンドウに表示されている情報を効率的に視認することができる。
【００７９】
（カレントウィンドウの変更）
フロートウィンドウの表示状態の制御は、ウィンドウ制御スクリプト１９ｂと、ＧＵＩスクリプト１９ａの協同によって実行されている。例えば、最も上に表示されているフロートウィンドウ（カレントウィンドウ）の制御は、例えば図２４に示すように行っている。
【００８０】
ＧＵＩスクリプト１９ａは、各々管理するフロートウィンドウ１３Ａ，１３Ｂがクリックされたか否かを監視しており、自己のフロートウィンドウがクリックされると（Ｓ３１）、自己がアクティブであるか否かを確認し（Ｓ３２）、アクティブであれば、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔのｗｃ＿ｏｎＡｃｔｉｖａｔｅ関数をコールして、ウィンドウ制御スクリプト１９ｂにクリックされたことを通知する（Ｓ３３）。
【００８１】
ウィンドウ制御スクリプト１９ｂは、ｗｃ＿ｓｅｔＣｕｒｒｅｎｔ関数により、当該フロートウィンドウに対応するスタイルシート１９ｃ中のｚＩｎｄｅｘ値を現在の最大の値（他の全てのスタイルシート１９ｃ中のｚＩｎｄｅｘ値より少なくとも１大きい値）とする（Ｓ３４）。Ｗｅｂブラウザ１０は、各々対応するスタイルシート１９ｃ中のｚＩｎｄｅｘ値が小さい順に、フロートウィンドウ１３Ａ，１３Ｂの表示を行う。このため、ｚＩｎｄｅｘ値が最も大きいフロートウィンドウが一番上に表示される。従って、Ｓ３４においてｚＩｎｄｅｘ値が最大の値とされたフローティングウィンドウが最も上に表示される。
【００８２】
これにより、例えば上述の図１９に示す状態で、フロートウィンドウ１３Ｂの下に表示されているフロートウィンドウ１３Ａの一部をクリックすると、例えば図２５に示すように、フロートウィンドウ１３Ａが上に表示された状態となる。従って、エンドユーザは閲覧したいフロートウィンドウを自由に選択することができ、情報の閲覧性の向上に寄与することができる。
【００８３】
（サイズ変更）
また、エンドユーザは、フロートウィンドウ中のウィンドウサイズ変更ボタン１３５をドラッグすることで、ウィンドウのサイズを変更することができる。各フローティングウィンドウに対応するＧＵＩスクリプト１９ａは、ウィンドウサイズ変更ボタン１３５のクリックを監視している。ウィンドウサイズ変更ボタン１３５がクリックされると（図２６中のＳ４１）、ＧＵＩスクリプト１９ａは、上述の図２２に示すウィンドウ制御関数内にあるウィンドウサイズ変更関数１９２（ｗｃ＿ｏｎＭｏｕｓｅＤｏｗｎＳｃａｌｅ）をコールして、クリック開始時のマウスカーソルの位置を通知する（Ｓ４２）。さらに、ＧＵＩスクリプト１９ａは、クリックされた際のマウスカーソルの位置を算出し（Ｓ４３）、ウィンドウの表示サイズの変更が開始されたことを示すフラグ（スケーリング中フラグ）を立てる（Ｓ４４）。
【００８４】
一方、ウィンドウ制御スクリプト１９ｂは、スケーリングフラグが有効か否かを監視しており（Ｓ４５）、スケーリングフラグが有効になると、ｗｃ＿ｏｎＭｏｕｓｅＭｏｖｅ関数によって取得した現在のマウスカーソルの位置と、上述のＳ４３で通知されたマウスカーソルの位置を比較する（Ｓ４６）。さらに、ウィンドウ制御スクリプト１９ｂは、変更後のフロートウィンドウの幅（Ｗｉｄｔｈ）と高さ（Ｈｅｉｇｈｔ）を算出し（Ｓ４７）、上述の図２３に示すスタイルシート１９ｃ内の幅と高さに反映させる（Ｓ４８）。
【００８５】
この後、エンドユーザがマウスを離すと、ＧＵＩスクリプト１９ａは、ｗｃ＿ｏｎＭｏｕｓｅＵｐ関数により、ドラッグが終了したことをウィンドウ制御スクリプト１９ｂに通知し、フラグを初期化する（Ｓ４９）。
【００８６】
これにより、エンドユーザがウィンドウサイズ変更ボタン１３５をドラッグすることにより、フロートウィンドウのサイズを変更することができる。これにより、エンドユーザは、情報を確認し易い状態に、フロートウィンドウのサイズの変更を行うことができる。
【００８７】
（消去）
また、エンドユーザが、フロートウィンドウ中の消去ボタン１３０を指示すると、ＧＵＩスクリプト１９ａは、当該フロートウィンドウの表示、非表示のフラグを非表示にセットする。これにより、当該フロートウィンドウが表示されない状態になり、視覚的にフロートウィンドウを消去したかのような認識を与えることができる。あるいは、非常時にする代わりに、一時的にフロートウィンドウの透明度を変化させてもよい。さらに、フロートウィンドウの透明度を多段階で変化させるようにしてもよい。このように、透明度を変化させることにより、後ろのフロートウィンドウに表示されている情報の視認性を変化させることができる。
【００８８】
（タイトルバー化：一時消去）
また、エンドユーザが、フロートウィンドウ中のタイトルバー化ボタン１１２を指示すると、ＧＵＩスクリプト１９ａは、表示領域１３４が表示されている場合には、表示領域１３４と表示領域１３４内に表示されている情報を非表示にする。これにより、表示可能領域１１内の表示領域１３４の背後にあった情報を、フロートウィンドウの透明度を変化させずに確認することができる。また、表示領域１３４が表示されていない場合に、フロートウィンドウ中のタイトルバー化ボタン１１２が指示されると、ＧＵＩスクリプト１９ａは、表示領域１３４及び表示領域１３４内の情報を表示状態にする。
【００８９】
（フロートウィンドウ移動）
ＧＵＩスクリプト１９ａは、タイトルバー１３１がクリックされたか否かを監視しており、タイトルバー１３１がクリックされると（図２７中のＳ５１）、ＧＵＩスクリプト１９ａは、上述の図２２に示すウィンドウ制御関数内にあるウィンドウ表示位置変更関数１９１（ｗｃ＿ｏｎＭｏｕｓｅＤｏｗｎ）をコールして、クリック開始時のマウスカーソルの位置を通知する（Ｓ５２）。さらに、ＧＵＩスクリプト１９ａは、クリックされた際のマウスカーソルの位置を算出し（Ｓ５３）、ウィンドウの移動が開始されたことを示すフラグ（ウィンドウ移動中フラグ）を立てる（Ｓ５４）。
【００９０】
一方、ウィンドウ制御スクリプト１９ｂは、ウィンドウ移動中フラグが有効か否かを監視しており（Ｓ５５）、ウィンドウ移動中フラグが有効になると、ｗｃ＿ｏｎＭｏｕｓｅＭｏｖｅ関数によって取得した現在のマウスカーソルの位置と、上述のＳ５３で通知されたマウスカーソルの位置を比較する（Ｓ５６）。さらに、ウィンドウ制御スクリプト１９ｂは、変更後のフロートウィンドウの表示位置（Ｔｏｐ，Ｌｅｆｔ）を算出し（Ｓ５７）、上述の図２３に示すスタイルシート１９ｃ内の表示位置に反映させる（Ｓ５８）。
【００９１】
この後、エンドユーザがマウスを離すと、ＧＵＩスクリプト１９ａは、ｗｃ＿ｏｎＭｏｕｓｅＵｐ関数により、ドラッグが終了したことをウィンドウ制御スクリプト１９ｂに通知し、フラグを初期化する（Ｓ５９）。
【００９２】
これにより、エンドユーザがタイトルバー１３１をドラッグすることにより、フロートウィンドウの表示位置を移動することができる。これにより、エンドユーザは、情報を確認し易い状態に、フロートウィンドウの移動を行うことができる。
【００９３】
なお、Ｓ５６において、現在のマウス位置が、表示可能領域１１の外部であった場合には、後述の別ウィンドウ化の処理を実行し、新たなウィンドウ内にフロートウィンドウ内の情報を表示させる。このさい、元の表示可能領域１１内のフロートウィンドウの表示は、上述のスタイルシートの透明度の変更（あるいはＧＵＩスクリプト１９ａの設定）によって、透明化する。これにより、当該移動前のフロートウィンドウの下に他のフロートウィンドウがあった場合等に、このフロートウィンドウが見えるようになる。このため、視認性の向上に寄与することができる。
【００９４】
（アウター化）
また、ＧＵＩスクリプト１９ａは、アウター化ボタン１３３がクリックされたか否かを監視しており、アウター化１３３がクリックされると（図２８中のＳ６１）、ＧＵＩスクリプト１９ａは、自らのフロートウィンドウを透明化する（Ｓ６２）。この後、ＧＵＩスクリプト１９ａは、上述の図２２に示すウィンドウ制御関数内にあるポップアップ関数１９５（ｗｃ＿ｃｒｅａｔｅＯｔｈｅｒＷｉｎｄｏｗ）をコールしてウィンドウ制御スクリプト１９ｂに通知する（Ｓ６３）。この際、引数として、アウター化前のフロートウィンドウ表示されていた内容を示すＵＲＬをウィンドウ制御スクリプト１９ｂに供給する。
【００９５】
これに応じて、ウィンドウ制御スクリプト１９ｂは、ｗｉｎｄｏｗ．ｏｐｅｎ命令で新たなウィンドウを表示させ、ＧＵＩスクリプト１９ａから供給されたＵＲＬを取得する（Ｓ６５）。さらに、ウィンドウ制御スクリプト１９ｂは、取得したＵＲＬに対応する内容を当該ウィンドウ内にフロートウィンドウとして表示させる（Ｓ６６）。
【００９６】
これにより、例えば図２９に示すように、表示可能領域１１内に表示されていたフロートウィンドウ１３Ｂが、新たなウィンドウ内にフロートウィンドウ１３Ｂ’として表示されたように、認識させることができる。このように、表示可能領域１１内に表示されていたフロートウィンドウの内容を、新たなウィンドウ内に移動させる（アウター化する）ことにより、例えば表示可能領域１１内でフロートウィンドウ１３Ｂの下に隠れていたフロートウィンドウ１３Ａの内容あるいは表示可能領域１１内の情報１２を確認することができるようになり、視認性の向上に寄与することができる。
【００９７】
（インナー化）
ところで、アウター化されたフロートウィンドウでも、ＧＵＩスクリプト１９ａが実行されており、アウター化ボタン１３３がクリックされたか否かを監視している。アウター化されたフロートウィンドウで、アウター化ボタン１３３がクリックされると（図３０中のＳ７１）、ＧＵＩスクリプト１９ａは、アウター化前のフロートウィンドウのＧＵＩスクリプト１９ａとプロセス間通信を行って、透明化されているアウター化前のフロートウィンドウの表示を復帰させる（Ｓ７２）。この後、アウター化されたフロートウィンドウのＧＵＩスクリプト１９ａは、ｗｉｎｄｏｗ．ｃｌｏｓｅ命令で、自己のフロートウィンドウを含むウィンドウを閉じる（Ｓ７３）。
【００９８】
これにより、例えば図３１に示すように、表示可能領域１１の外部のウィンドウ内にフロートウィンドウ１３Ｂ’として表示されていた情報を、表示可能領域１１内に移動させたように認識させることができる。
【００９９】
（効果）
上述のように、このサービス提供システムでは、既存のホームページに、Ｗｅｂサーバ１８が提供するクライアントソフトウェア１９についての情報を追加するだけで、容易に機能の追加を行うことができる。例えばクライアントソフトウェア１９としてチャットサービスを利用するチャット機能，ＳＮＳサービスを利用するＳＮＳ機能等を用意しておけば、商品等の情報を一方的に提供するホームページに、当該ホームページを利用しているエンドユーザ間のコミュニケーション機能等を容易に追加することができる。
【０１００】
また、このサービス提供システムでは、上述のように、クライアントソフトウェア１９により、アプリケーションサーバ２０が提供するサービスに応じた情報をフロートウィンドウ内に表示させることができる。このため、既存のホームページから画面遷移を行わずに、サービスの利用に応じた新しい情報を表示することができる。例えばコミュニケーションサービスを提供する既存のコミュニティサイトは、専用のホームページにおいてのみ行うことが可能である。このため、コミュニティサイトを利用するためには、製品情報等を提供するホームページから画面遷移させ、コミュニティサイトに表示を切り替える必要がある。これに対し、このサービス提供システムでは、製品情報等を提供するホームページ内に表示されるフローティングウィンドウ内に表示される情報によって、コミュニケーションサービスを利用することができる。
【０１０１】
また、エンドユーザからのこのサービス提供システムでは、フロートウィンドウの表示態様を変更することができるため、情報の視認性の向上に寄与することができる。例えばカレントウィンドウの変更により、複数のフロートウィンドウの表示を切り替えることができ、情報の視認性の向上に寄与することができる。また、フロートウィンドウの消去，タイトルバー化を実現することにより、後ろに隠れているフロートウィンドウに表示されている情報の視認性の向上に寄与することができる。また、フロートウィンドウに表示されている情報を、表示可能領域１１の外部のウィンドウに表示させることにより、必要に応じて表示可能領域１１の表示領域を拡大するのと同様の効果を得ることができ、情報の視認性の向上に寄与することができる。
【０１０２】
また、このサービス提供システムでは、フロートウィンドウ内に情報の表示等を行うアプリケーション（クライアントソフトウェア１９）を、ＨＴＭＬ文書内のリファレンスに応じて、Ｗｅｂサーバから提供するようにしているため、アプリケーションの機能の変更，追加等は、Ｗｅｂサーバに格納されているクライアントソフトウェア１９を変更するだけでよい。このため、メンテナンス性を向上させることができる。また、クライアントソフトウェア１９の機能は、リファレンス元のＨＴＭＬ文書とは独立して行うことができるため、工数の低減及びバグの低減に寄与することができる。
【図面の簡単な説明】
【０１０３】
【図１】実施例１に係るサービス提供システムの構成を概念的に示すブロック図である。
【図２】情報発信者であるオーナーを管理するデータベースに記録されたパラメータの例を示す図である。
【図３】クライアントソフトウェアの構成例を示す図である。
【図４】Ｗｅｂブラウザがクライアントソフトウェアを取得する処理の例を示す図である。
【図５】アプリケーションサーバに対する自動ログインと手動ログイン選択処理の例を示すフローチャートである。
【図６】クライアントソフトウェアに関する情報を取得する処理の例を示す図である。
【図７】クライアントソフトウェアの設定情報の例を示す図である。
【図８】上記設定情報に応じてクライアントソフトウェアが表示する画像の例を示す図である。
【図９】自動ログイン時の認証処理の例を示すシーケンス図である。
【図１０】エンドユーザを管理するパラメータの例を示す図である。
【図１１】手動ログイン時の認証処理の例を示すシーケンス図である。
【図１２】セッションの有効時間を管理するためのテーブルの例を示す図である。
【図１３】Ｗｅｂブラウザで閲覧するＨＴＭＬ文書の推移の例を示す図である。
【図１４】ログイン処理の例を示すシーケンス図である。
【図１５】クライアントソフトウェアによって表示されるメニュー画面の例を示す図である。
【図１６】アプリケーションサーバが提供するサービスの例を示す概念図である。
【図１７】チャットルームの選択処理の例を示すフローチャートである。
【図１８】エンドユーザがアクセスしているＵＲＬを管理するデータの例を示す図である。
【図１９】クライアントソフトウェアとＷｅｂブラウザによって表示される表示画面の例を示す図である。
【図２０】本実施例の端末装置において表示されるフロートウィンドウのイメージを示す図である。
【図２１】ウィンドウ移動開始を指示するドラッグエリアを表す図である。
【図２２】ウィンドウ制御スクリプトが持つ制御モジュールの例を示す図である。
【図２３】スタイルシートの例を示す図である。
【図２４】カレントウィンドウの変更処理の例を示すフローチャートである。
【図２５】カレントウィンドウの変更処理による画面の例を示す図である。
【図２６】フロートウィンドウのサイズ変更処理の例を示すフローチャートである。
【図２７】フロートウィンドウの移動処理の例を示すフローチャートである。
【図２８】アウター化ボタンが指示された場合のアウター化処理の例を示すフローチャートである。
【図２９】アウター化ボタンが押された場合の端末装置の画面の例を示す図である。
【図３０】アウター化されたウィンドウにあるフロートウィンドウ内のアウター化ボタンが指示された場合のインナー化処理の例を示すフローチャートである。
【図３１】別ウィンドウ化されたウィンドウが元のウィンドウ内に表示される際の画面の例を示す図である。
【符号の説明】
【０１０４】
１  端末装置、１０  Ｗｅｂブラウザ、１１  表示可能領域、１３，１３ａ  領域、１４，１６，１８  Ｗｅｂサーバ、１５，１７  ＨＴＭＬ文書、１９  クライアントソフトウェア、１９ａ  ＧＵＩスクリプト、１９ｂ  ウィンドウ制御スクリプト、１９ｃ  スタイルシート、２０  アプリケーションサーバ
【図１】
2007018489.tif 000003
【図２】
2007018489.tif 000004
【図３】
2007018489.tif 000005
【図４】
2007018489.tif 000006
【図５】
2007018489.tif 000007
【図６】
2007018489.tif 000008
【図７】
2007018489.tif 000009
【図８】
2007018489.tif 000010
【図９】
2007018489.tif 000011
【図１０】
2007018489.tif 000012
【図１１】
2007018489.tif 000013
【図１２】
2007018489.tif 000014
【図１３】
2007018489.tif 000015
【図１４】
2007018489.tif 000016
【図１５】
2007018489.tif 000017
【図１６】
2007018489.tif 000018
【図１７】
2007018489.tif 000019
【図１８】
2007018489.tif 000020
【図１９】
2007018489.tif 000021
【図２０】
2007018489.tif 000022
【図２１】
2007018489.tif 000023
【図２２】
2007018489.tif 000024
【図２３】
2007018489.tif 000025
【図２４】
2007018489.tif 000026
【図２５】
2007018489.tif 000027
【図２６】
2007018489.tif 000028
【図２７】
2007018489.tif 000029
【図２８】
2007018489.tif 000030
【図３０】
2007018489.tif 000031
【図２９】
2007018489.tif 000032
【図３１】
2007018489.tif 000033