(57)【特許請求の範囲】
【請求項１】
クライアント端末と、前記クライアント端末とシンクライアントシステムを構成する情報処理装置と、他装置にネットワーク経由でアプリケーションの機能を提供するアプリケーション配信サーバとを含むシステムであって、
前記情報処理装置は、
当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、当該情報処理装置における前記アプリケーションの利用状態を示すデータである利用状態データを収集しメモリに格納するデータ収集手段と、
前記利用状態データをメモリより読み出し、ネットワークを介してクライアント端末に移動させるデータ移動手段とを備えるものであり、
前記クライアント端末は、
前記情報処理装置より前記利用状態データを受け取って、当該クライアント端末における前記アプリケーションの利用状態を前記利用状態データにより設定するデータ設定手段と、
前記アプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信する要求送信手段とを備えるものであり、
前記アプリケーション配信サーバは、
前記クライアント端末から前記アプリケーションの利用要求をネットワークを介して受信し、前記クライアント端末にネットワーク経由で前記アプリケーションの機能を提供するサービス提供手段を備えるものであり、
前記情報処理装置のデータ収集手段は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、セキュリティポリシーのデータを当該情報処理装置の記憶装置より読み出してメモリに格納するものであり、
前記情報処理装置のデータ移動手段は、前記セキュリティポリシーデータをメモリより読み出し、ネットワークを介してクライアント端末に移動させるものであり、
前記クライアント端末のデータ設定手段は、前記情報処理装置より前記セキュリティポリシーデータを受け取って記憶装置に格納するものであり、
前記クライアント端末の要求送信手段は、前記記憶装置よりセキュリティポリシーデータを読み出して、前記アプリケーション配信サーバが前記セキュリティポリシーデータに規定されているか判定し、前記セキュリティポリシーデータに規定されたアプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信するものである、
ことを特徴とするアプリケーション配信制御システム。
【請求項２】
前記情報処理装置のデータ収集手段は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時に用いるブラウザの、ウィンドウサイズ、cookie、プロキシサーバアドレス、タブ状態、ブックマーク、ＵＲＬ履歴、キャッシュデータの少なくともいずれかを前記利用状態データとして当該情報処理装置の記憶装置より収集するものであり、
前記クライアント端末のデータ設定手段は、前記情報処理装置より前記利用状態データを受け取り、当該クライアント端末における前記アプリケーションの利用状態の設定として、当該クライアント端末が備えるブラウザに対し前記利用状態データにより、ウィンドウサイズ、cookie、プロキシサーバアドレス、タブ状態、ブックマーク、ＵＲＬ履歴、キャッシュデータの少なくともいずれかを設定するものである、
ことを特徴とする請求項１に記載のアプリケーション配信制御システム。
【請求項３】
前記情報処理装置のデータ収集手段は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時に用いる認証情報を、当該情報処理装置の記憶装置より読み出してメモリに格納するものであり、
前記情報処理装置のデータ移動手段は、前記認証情報をメモリより読み出し、ネットワークを介してクライアント端末に移動させるものであり、
前記クライアント端末の要求送信手段は、前記情報処理装置より前記認証情報を受信して、この認証情報を含む認証要求を前記アプリケーション配信サーバに対して送信し、この認証要求に応じてアプリケーション配信サーバから認証結果を受信し、前記認証結果が認証成功を示すものであれば前記アプリケーションの利用要求の送信を行うものであり、
前記アプリケーション配信サーバのサービス提供手段は、前記クライアント端末から認証要求を受信し、この認証要求が含む認証情報と記憶装置中の認証用データとを照合して認証処理を実行して認証結果を生成し、この認証結果を前記クライアント端末に送信するものである、
ことを特徴とする請求項１または２に記載のアプリケーション配信制御システム。
【請求項４】
前記セキュリティポリシーデータが、前記情報処理装置の記憶装置に対するクライアント端末からの利用可否の情報を含み、
前記クライアント端末の要求送信手段は、前記記憶装置よりセキュリティポリシーデータを読み出して、このセキュリティポリシーデータにおいて前記情報処理装置の記憶装置が利用可能と規定されているか判定し、前記情報処理装置の記憶装置が利用可能である場合に、前記情報処理装置に対して前記記憶装置の利用要求を送信し、前記アプリケーション配信サーバに対して前記アプリケーションの利用に伴う保存用データの取得要求を送信し、前記アプリケーション配信サーバから取得した保存用データの前記記憶装置への格納を前記情報処理装置に指示するものであり、
前記情報処理装置は、前記クライアント端末から前記記憶装置の利用要求を受信して、前記記憶装置について前記クライアント端末の利用許可の設定を実行し、前記クライアント端末から前記保存用データの格納指示を受信して、前記記憶装置において前記保存用データを格納する、マウント手段を備え、
前記アプリケーション配信サーバのサービス提供手段は、前記クライアント端末から前記保存用データの取得要求を受信して、該当保存用データを記憶装置より読み出し、この保存用データを、前記クライアント端末にネットワーク経由で送信するものである、
ことを特徴とする請求項１に記載のアプリケーション配信制御システム。
【請求項５】
前記アプリケーション配信制御システムにおいて、前記情報処理装置または前記クライアント端末から前記アプリケーション配信サーバへのアクセスを中継するプロキシサーバが備わり、当該プロキシサーバが、前記情報処理装置または前記クライアント端末から前記アプリケーション配信サーバにアクセスする際に必要な認証手順、および前記情報処理装置または前記クライアント端末と前記アプリケーション配信サーバとの間のセッション維持を代行するものであることを特徴とする請求項１〜４のいずれかに記載のアプリケーション配信制御システム。
【請求項６】
クライアント端末と、前記クライアント端末とシンクライアントシステムを構成する情報処理装置と、他装置にネットワーク経由でアプリケーションの機能を提供するアプリケーション配信サーバとが実行する方法であって、
前記情報処理装置が、
当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、当該情報処理装置における前記アプリケーションの利用状態を示すデータである利用状態データを収集しメモリに格納する処理と、
前記利用状態データをメモリより読み出し、ネットワークを介してクライアント端末に移動させる処理とを実行し、
前記クライアント端末が、
前記情報処理装置より前記利用状態データを受け取って、当該クライアント端末における前記アプリケーションの利用状態を前記利用状態データにより設定する処理と、  前記アプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信する処理とを実行し、
前記アプリケーション配信サーバが、
前記クライアント端末から前記アプリケーションの利用要求をネットワークを介して受信し、前記クライアント端末にネットワーク経由で前記アプリケーションの機能を提供する処理とを実行し、
前記情報処理装置は、
当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、セキュリティポリシーのデータを当該情報処理装置の記憶装置より読み出してメモリに格納する処理と、
前記セキュリティポリシーデータをメモリより読み出し、ネットワークを介してクライアント端末に移動させる処理とを実行し、
前記クライアント端末は、
前記情報処理装置より前記セキュリティポリシーデータを受け取って記憶装置に格納する処理と、
前記記憶装置よりセキュリティポリシーデータを読み出して、前記アプリケーション配信サーバが前記セキュリティポリシーデータに規定されているか判定し、前記セキュリティポリシーデータに規定されたアプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信する処理とを実行する、
ことを特徴とするアプリケーション配信制御方法。
【請求項７】
クライアント端末とシンクライアントシステムを構成する情報処理装置であって、
他装置にネットワーク経由でアプリケーションの機能を提供するアプリケーション配信サーバにてアプリケーションを利用する時の、当該情報処理装置における前記アプリケーションの利用状態を示すデータである利用状態データを収集しメモリに格納するデータ収集手段と、
前記利用状態データをメモリより読み出し、ネットワークを介してクライアント端末に移動させるデータ移動手段と、
を備え、
前記情報処理装置のデータ収集手段は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、セキュリティポリシーのデータを当該情報処理装置の記憶装置より読み出してメモリに格納するものであり、
前記情報処理装置のデータ移動手段は、前記セキュリティポリシーデータをメモリより読み出し、ネットワークを介してクライアント端末に移動させるものである、
ことを特徴とする情報処理装置。
【請求項８】
情報処理装置とシンクライアントシステムを構成するクライアント端末であって、
他装置にネットワーク経由でアプリケーションの機能を提供するアプリケーション配信サーバにてアプリケーションを利用する時の、前記情報処理装置における前記アプリケーションの利用状態を示すデータである利用状態データを、前記情報処理装置より取得して、当該クライアント端末における前記アプリケーションの利用状態を前記利用状態データにより設定するデータ設定手段と、
前記アプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信する要求送信手段と、
前記アプリケーション配信サーバから、ネットワーク経由で前記アプリケーションを利用するサービス利用手段と、
を備え、
前記情報処理装置は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、セキュリティポリシーのデータを当該情報処理装置の記憶装置より読み出してメモリに格納するものであり、
前記クライアント端末のデータ設定手段は、前記情報処理装置より前記セキュリティポリシーデータを受け取って記憶装置に格納するものであり、
前記クライアント端末の要求送信手段は、前記記憶装置よりセキュリティポリシーデータを読み出して、前記アプリケーション配信サーバが前記セキュリティポリシーデータに規定されているか判定し、前記セキュリティポリシーデータに規定されたアプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信するものである、
ことを特徴とするクライアント端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション配信制御システム、アプリケーション配信制御方法、情報処理装置、およびクライアント端末に関するものであり、具体的には、サーバベースコンピューティングの画面転送方式によるネットワーク負荷の低減やサーバへの負荷集中の回避を図り、ユーザの作業効率向上等を可能とする技術に関する。
【背景技術】
【０００２】
企業情報システムにおけるCRM(Customer Relationship Management)やコラボレーションツール、ERP（Enterprise Resource Planning）パッケージ等のソフトウェアは、ますます重要性を増しており、多くの企業で取り入れられている。このようなソフトウェアは、従来自社でかかえるIT部門によってハードからアプリケーションまですべてを揃えて運用されていることが多い。そのため、ソフトウェアの導入に際しては、仕様検討から購入や構築、運用など多くの時間と投資を要していた。
【０００３】
一方で近年、SaaS（Software as a Service）およびASP（Application Service Provider）と呼ばれる形態でのソフトウェアサービス提供が普及しつつある。SaaSおよびASPを利用した場合、外部ベンダーの提供するソフトウェアの機能をネットワーク経由で利用し、自社の情報システム機能の一部をアウトソースする。SaaSおよびASPの利用によって企業は、必要なときに必要なソフトウェアサービスを迅速に利用可能となり、初期投資コストおよび運用コストを低く抑えることが可能となる。また、資産としてサーバやソフトウェアを保有する必要がないといったメリットもある。
【０００４】
また一方で、企業の一般業務でのPC利用が拡大するとともに、PCの高性能化が進んでいる。高性能化に伴い企業の従業員に貸し与えるPCの買い替え頻度がますます多くなり、多くの投資を必要としている。また、従業員数の増大にともなって、個々のPCのOS（Operating System）や業務アプリケーションのバージョンアップ、バグフィックス、ウィルス対策、バックアップなどを統一的に管理することは極めて困難なものになっている。
【０００５】
この管理コストを低減するための一手法として、サーバベースコンピューティング方式（あるいはクライアントサーバ方式）と呼ばれるシステム運用の方式が取られている。これは、主なプログラムやデータをサーバ側に蓄積し、例えば、ＴｈｉｎＣｌｉｅｎｔ（シンクライアント）のようなクライアント側に蓄積するデータを低減させたものである（例えば特許文献１）。サーバベースコンピューティング方式では、演算処理やデータの蓄積は主にサーバ側で行われるため、シンクライアントのようなクライアント側にて個々にＯＳや業務に利用するアプリケーションのバージョンアップやバグフィックス、ウィルス対策やウィルス駆除などを行う必要性や頻度が減少し、全体の管理コストを低減できる。またハードウェアの置き換えはサーバ側のみを適宜行えばよく、コスト低減を図ることができる。
【特許文献１】特開２００４−０９４４１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したサーバベースコンピューティング方式では、サーバにデータや処理能力の主体を置き、クライアントが前記サーバをネットワーク経由でリモートコントロールする。こうしたサーバベースコンピューティング方式のうち、特に画面転送方式と呼ばれる実現形態では、クライアントからはマウスやキーボード等のユーザ入力情報をサーバへ送信し、一方のサーバはデータ処理結果の画面情報を送り返すことになる。
【０００７】
一般的に、ＧＵＩ（Graphical User Interface）を持つＯＳ(Operating System)では、サーバがクライアントへ送り返す画面情報量が多く、そのために帯域の狭いネットワークの場合にはユーザレスポンスが悪化してユーザビリティを落とすことになりがちである。また、処理能力をサーバに依存するため、サーバに負荷が集中してしまい、レスポンスが悪化するという課題もある。
【０００８】
また、インターネット上にあるSaaSおよびASP（他社提供のもの）を利用する場合、提供されるユーザ認証機能はブラックボックス化された独自のシステムによるため、必ずしも自社のセキュリティポリシーを満たすことができないという課題がある。
【０００９】
そこで本発明は上記課題を鑑みてなされたものであり、サーバベースコンピューティングの画面転送方式によるネットワーク負荷の低減やサーバへの負荷集中の回避を図り、ユーザの作業効率向上等を可能とする技術の提供を主たる目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決する本発明のアプリケーション配信制御システムは、クライアント端末と、前記クライアント端末とシンクライアントシステムを構成する情報処理装置と、他装置にネットワーク経由でアプリケーションの機能を提供するアプリケーション配信サーバとを含むシステムであって、前記情報処理装置は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、当該情報処理装置における前記アプリケーションの利用状態を示すデータである利用状態データを収集しメモリに格納するデータ収集手段と、前記利用状態データをメモリより読み出し、ネットワークを介してクライアント端末に移動させるデータ移動手段とを備えるものであり、前記クライアント端末は、前記情報処理装置より前記利用状態データを受け取って、当該クライアント端末における前記アプリケーションの利用状態を前記利用状態データにより設定するデータ設定手段と、前記アプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信する要求送信手段とを備えるものであり、前記アプリケーション配信サーバは、前記クライアント端末から前記アプリケーションの利用要求をネットワークを介して受信し、前記クライアント端末にネットワーク経由で前記アプリケーションの機能を提供するサービス提供手段を備えるものであり、前記情報処理装置のデータ収集手段は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、セキュリティポリシーのデータを当該情報処理装置の記憶装置より読み出してメモリに格納するものであり、前記情報処理装置のデータ移動手段は、前記セキュリティポリシーデータをメモリより読み出し、ネットワークを介してクライアント端末に移動させるものであり、前記クライアント端末のデータ設定手段は、前記情報処理装置より前記セキュリティポリシーデータを受け取って記憶装置に格納するものであり、前記クライアント端末の要求送信手段は、前記記憶装置よりセキュリティポリシーデータを読み出して、前記アプリケーション配信サーバが前記セキュリティポリシーデータに規定されているか判定し、前記セキュリティポリシーデータに規定されたアプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信するものであることを特徴とする。
【００１１】
前記アプリケーション配信制御システムにおいて、前記情報処理装置のデータ収集手段は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時に用いるブラウザの、ウィンドウサイズ、cookie、プロキシサーバアドレス、タブ状態、ブックマーク、ＵＲＬ履歴、キャッシュデータの少なくともいずれかを前記利用状態データとして当該情報処理装置の記憶装置より収集するものであり、前記クライアント端末のデータ設定手段は、前記情報処理装置より前記利用状態データを受け取り、当該クライアント端末における前記アプリケーションの利用状態の設定として、当該クライアント端末が備えるブラウザに対し前記利用状態データにより、ウィンドウサイズ、cookie、プロキシサーバアドレス、タブ状態、ブックマーク、ＵＲＬ履歴、キャッシュデータの少なくともいずれかを設定するものである、としてもよい。
【００１２】
また、前記アプリケーション配信制御システムにおいて、前記情報処理装置のデータ収集手段は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時に用いる認証情報を、当該情報処理装置の記憶装置より読み出してメモリに格納するものであり、前記情報処理装置のデータ移動手段は、前記認証情報をメモリより読み出し、ネットワークを介してクライアント端末に移動させるものであり、前記クライアント端末の要求送信手段は、前記情報処理装置より前記認証情報を受信して、この認証情報を含む認証要求を前記アプリケーション配信サーバに対して送信し、この認証要求に応じてアプリケーション配信サーバから認証結果を受信し、前記認証結果が認証成功を示すものであれば前記アプリケーションの利用要求の送信を行うものであり、前記アプリケーション配信サーバのサービス提供手段は、前記クライアント端末から認証要求を受信し、この認証要求が含む認証情報と記憶装置中の認証用データとを照合して認証処理を実行して認証結果を生成し、この認証結果を前記クライアント端末に送信するものである、としてもよい。
【００１４】
前記セキュリティポリシー（security policy）は、例えば、ある組織での情報セキュリティに関する基本方針を規定したものであり、セキュリティ対策基準や個別具体的な実施手順などを含む。規定の例としては、どの情報を誰（或いはどのコンピュータ）が読み取れるようにするか、どの操作を誰（あるいはどのコンピュータ）に対して許可するか、どのデータを暗号化するかなど、情報の目的外利用や外部からの侵入、機密漏洩などを防止する規定が想定できる。
【００１５】
また、前記アプリケーション配信制御システムにおいて、前記セキュリティポリシーデータが、前記情報処理装置の記憶装置に対するクライアント端末からの利用可否の情報を含み、前記クライアント端末の要求送信手段は、前記記憶装置よりセキュリティポリシーデータを読み出して、このセキュリティポリシーデータにおいて前記情報処理装置の記憶装置が利用可能と規定されているか判定し、前記情報処理装置の記憶装置が利用可能である場合に、前記情報処理装置に対して前記記憶装置の利用要求を送信し、前記アプリケーション配信サーバに対して前記アプリケーションの利用に伴う保存用データの取得要求を送信し、前記アプリケーション配信サーバから取得した保存用データの前記記憶装置への格納を前記情報処理装置に指示するものであり、前記情報処理装置は、前記クライアント端末から前記記憶装置の利用要求を受信して、前記記憶装置について前記クライアント端末の利用許可の設定を実行し、前記クライアント端末から前記保存用データの格納指示を受信して、前記記憶装置において前記保存用データを格納する、マウント手段を備え、前記アプリケーション配信サーバのサービス提供手段は、前記クライアント端末から前記保存用データの取得要求を受信して、該当保存用データを記憶装置より読み出し、この保存用データを、前記クライアント端末にネットワーク経由で送信するものである、としてもよい。
【００１６】
なお、前記情報処理装置のマウント手段が行う、前記記憶装置について前記クライアント端末の利用許可の設定は、いわゆる「マウント」の処理を指すものである。この「マウント」は、ストレージなどをコンピュータに認識させ、コンピュータから操作可能にする処理のことである。
【００１７】
また、前記アプリケーション配信制御システムにおいて、前記情報処理装置または前記クライアント端末から前記アプリケーション配信サーバへのアクセスを中継するプロキシサーバが備わり、当該プロキシサーバが、前記情報処理装置または前記クライアント端末から前記アプリケーション配信サーバにアクセスする際に必要な認証手順、および前記情報処理装置または前記クライアント端末と前記アプリケーション配信サーバとの間のセッション維持を代行するものであるとしてもよい。
【００１８】
なお、前記プロキシサーバは、企業などの内部ネットワークとインターネットとの境にあって、直接インターネットに接続できない内部ネットワークのコンピュータに代わって、「代理」としてインターネットとの接続を行なうサーバ装置である。プロキシサーバは、ネットワークに出入りするアクセスを一元管理し、内部から特定の種類の接続のみを許可したり、外部からの不正なアクセスを遮断するために用いられる。
【００１９】
また、本発明のアプリケーション配信制御方法は、クライアント端末と、前記クライアント端末とシンクライアントシステムを構成する情報処理装置と、他装置にネットワーク経由でアプリケーションの機能を提供するアプリケーション配信サーバとが実行する方法であって、前記情報処理装置が、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、当該情報処理装置における前記アプリケーションの利用状態を示すデータである利用状態データを収集しメモリに格納する処理と、前記利用状態データをメモリより読み出し、ネットワークを介してクライアント端末に移動させる処理とを実行し、前記クライアント端末が、前記情報処理装置より前記利用状態データを受け取って、当該クライアント端末における前記アプリケーションの利用状態を前記利用状態データにより設定する処理と、  前記アプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信する処理とを実行し、前記アプリケーション配信サーバが、前記クライアント端末から前記アプリケーションの利用要求をネットワークを介して受信し、前記クライアント端末にネットワーク経由で前記アプリケーションの機能を提供する処理とを実行し、前記情報処理装置は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、セキュリティポリシーのデータを当該情報処理装置の記憶装置より読み出してメモリに格納する処理と、前記セキュリティポリシーデータをメモリより読み出し、ネットワークを介してクライアント端末に移動させる処理とを実行し、前記クライアント端末は、前記情報処理装置より前記セキュリティポリシーデータを受け取って記憶装置に格納する処理と、前記記憶装置よりセキュリティポリシーデータを読み出して、前記アプリケーション配信サーバが前記セキュリティポリシーデータに規定されているか判定し、前記セキュリティポリシーデータに規定されたアプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信する処理とを実行することを特徴とする。
【００２０】
また、本発明の情報処理装置は、クライアント端末とシンクライアントシステムを構成する情報処理装置であって、他装置にネットワーク経由でアプリケーションの機能を提供するアプリケーション配信サーバにてアプリケーションを利用する時の、当該情報処理装置における前記アプリケーションの利用状態を示すデータである利用状態データを収集しメモリに格納するデータ収集手段と、前記利用状態データをメモリより読み出し、ネットワークを介してクライアント端末に移動させるデータ移動手段とを備え、前記情報処理装置のデータ収集手段は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、セキュリティポリシーのデータを当該情報処理装置の記憶装置より読み出してメモリに格納するものであり、前記情報処理装置のデータ移動手段は、前記セキュリティポリシーデータをメモリより読み出し、ネットワークを介してクライアント端末に移動させるものであることを特徴とする。
【００２１】
また、本発明のクライアント端末は、情報処理装置とシンクライアントシステムを構成するクライアント端末であって、他装置にネットワーク経由でアプリケーションの機能を提供するアプリケーション配信サーバにてアプリケーションを利用する時の、前記情報処理装置における前記アプリケーションの利用状態を示すデータである利用状態データを、前記情報処理装置より取得して、当該クライアント端末における前記アプリケーションの利用状態を前記利用状態データにより設定するデータ設定手段と、前記アプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信する要求送信手段と、前記アプリケーション配信サーバから、ネットワーク経由で前記アプリケーションを利用するサービス利用手段とを備え、前記情報処理装置は、当該情報処理装置から前記アプリケーション配信サーバのアプリケーションを利用する時の、セキュリティポリシーのデータを当該情報処理装置の記憶装置より読み出してメモリに格納するものであり、前記クライアント端末のデータ設定手段は、前記情報処理装置より前記セキュリティポリシーデータを受け取って記憶装置に格納するものであり、前記クライアント端末の要求送信手段は、前記記憶装置よりセキュリティポリシーデータを読み出して、前記アプリケーション配信サーバが前記セキュリティポリシーデータに規定されているか判定し、前記セキュリティポリシーデータに規定されたアプリケーション配信サーバに対して前記アプリケーションの利用要求をネットワークを介して送信するものであることを特徴とする。
【００２２】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００２３】
本発明によれば、サーバベースコンピューティングの画面転送方式によるネットワーク負荷の低減やサーバへの負荷集中の回避を図り、ユーザの作業効率向上等が可能となる。
【発明を実施するための最良の形態】
【００２４】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態のアプリケーション配信制御システム１０のネットワーク構成図である。図１に示すアプリケーション配信制御システム１０は、ネットワークを介して互いに接続された、情報処理装置たるクライアントブレード１００、前記クライアントブレード１００をリモートコントロールするクライアント端末２００、前記クライアントブレード１００やクライアント端末２００に対しネットワーク経由でアプリケーションを利用させるアプリケーション配信サーバ３００を有するシステムである。
【００２５】
なお、クライアントブレード１００は、クライアント端末２００との間にＶＰＮ（Virtual Private Network）を構築し、このＶＰＮを介して、クライアント端末２００から送られてきた入力情報（入力装置の操作内容）を受信し処理すると共に、処理結果を示す映像情報（ディスプレイ装置のデスクトップ画面）をクライアント端末２００に送信することとなる。クライアントブレード１００は、通常は入出力装置をローカル接続しないで使用するサーバ装置である。
【００２６】
また、前記ネットワークとしては、例えばインターネット、LAN(LocalAreaNetwork)、電話回線などの外部ネットワーク１４０と、社内ネットワーク１４５とを想定している。前記外部ネットワーク１４０は、クライアント端末２００やゲートウェイサーバ４００、アプリケーション配信サーバ３００を相互に接続し、データのやり取りを中継する外部ネットワーク１４０ものである。一方、前記社内ネットワーク１４５は、ゲートウェイサーバ４００によって前記外部ネットワーク１４０から区切られた企業内のネットワークであり、クライアントブレード１００、ゲートウェイサーバ４００、プロキシサーバ４１０、認証サーバ４２０などが接続されている。
【００２７】
また、前記プロキシサーバ４１０は、クライアントブレード１００からアプリケーション配信サーバ３００への接続を中継するサーバであり、また、前記ゲートウェイサーバ４００は、社内ネットワーク１４５と外部ネットワーク１４０との境界にあり、ファイアーウォールの機能を果たすサーバである。更に、前記認証サーバ４２０は、ユーザの認証情報を一元管理するサーバであり、各サービスに対するユーザＩＤ情報とパスワード等の認証情報のリストを不揮発性の記憶装置中に保持している。この認証サーバ４２０は、ユーザの認証情報リストを要求してきたアプリケーションに対し、必要な認証用情報（ユーザＩＤおよびユーザパスワード）を要求して、ユーザが他のユーザの認証情報リストを参照できないように制御できる。
【００２８】
次に、本実施形態におけるアプリケーション配信制御システム１０を構成する各装置について各々説明する。図２は本実施形態の情報処理装置たるクライアントブレード１００の構成例を示す図である。前記クライアントブレード１００は、クライアント端末２００からのリモートアクセスを受け付けてシンクライアントシステムを構成する情報処理装置たるサーバ装置である。また、本発明を実現する機能を備えるべくＨＤＤ（ハードディスクドライブ）１０１やＣＦ(Compact Flash)などに格納されたプログラム１０２をＲＡＭ１０３に読み出し、演算装置たるＣＰＵ１０４により実行する。
【００２９】
また、前記クライアントブレード１００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス１０５、必要であればディスプレイなどの出力インターフェイス１０６、ならびに、アプリケーション配信サーバ３００やクライアント端末２００などとの間のデータ授受を担う通信インターフェイス１０７などを有している。
【００３０】
こうしたクライアントブレード１００が、例えばプログラム１０２に基づき構成・保持する機能部につき説明を行う。前記クライアントブレード１００は、当該クライアントブレード１００から前記アプリケーション配信サーバ３００のアプリケーションを利用する時の、当該クライアントブレード１００における前記アプリケーションの利用状態のデータを収集しＲＡＭ１０３に格納するデータ収集手段１１０を備える。
【００３１】
なお、前記データ収集手段１１０は、当該クライアントブレード１００から前記アプリケーション配信サーバ３００のアプリケーションを利用する時に用いるブラウザ１１２の、ウィンドウサイズ、cookie、プロキシサーバアドレス、タブ状態、ブックマーク、ＵＲＬ履歴、キャッシュデータの少なくともいずれかを利用状態データとして当該クライアントブレード１００の記憶装置１０１より収集するとしてもよい。また、前記データ収集手段１１０は、当該クライアントブレード１００から前記アプリケーション配信サーバ３００のアプリケーションを利用する時に用いる認証情報を、当該クライアントブレード１００の記憶装置１０１より読み出してＲＡＭ１０３に格納するとしてもよい。また、前記データ収集手段１１０は、当該クライアントブレード１００から前記アプリケーション配信サーバ３００のアプリケーションを利用する時の、セキュリティポリシーのデータを当該クライアントブレード１００の記憶装置１０１より読み出してＲＡＭ１０３に格納するとしてもよい。
【００３２】
また、前記クライアントブレード１００は、前記利用状態データをＲＡＭ１０３より読み出し、外部ネットワーク１４０を介してクライアント端末２００に移動させるデータ移動手段１１１を備える。なお、前記データ移動手段１１１は、前記認証情報をＲＡＭ１０３より読み出し、外部ネットワーク１４０を介してクライアント端末２００に移動させるとしてもよい。また、前記データ移動手段１１１は、前記セキュリティポリシーデータをＲＡＭ１０３より読み出し、外部ネットワーク１４０を介してクライアント端末２００に移動させるとしてもよい。
【００３３】
また、前記クライアントブレード１００は、前記クライアント端末２００から前記記憶装置１０１の利用要求を受信して、前記記憶装置１０１について前記クライアント端末２００の利用許可の設定を実行し、前記クライアント端末２００から前記保存用データの格納指示を受信して、前記記憶装置１０１において前記保存用データを格納する、マウント手段１１３を備える。なお、前記マウント手段１１３が行う、前記記憶装置１０１について前記クライアント端末２００の利用許可の設定は、いわゆる「マウント」の処理を指すものである。この「マウント」は、ストレージなどをコンピュータに認識させ、コンピュータから操作可能にする処理のことである。
【００３４】
なお、前記ブラウザ１１２はアプリケーション配信サーバ３００に接続してアプリケーション配信を受けるためのアプリケーションプログラムであり、ＲＡＭ１０３に読み込まれてＣＰＵ１０４で実行されるものである。「ブラウザ」は、一般的にはｗｅｂページを閲覧するためのアプリケーションであり、HTML(HyperText Markup Language)と呼ばれる構造化文書や画像ファイルなどをサーバからダウンロードして、レイアウトを解析して表示するアプリケーションである。また、本実施形態における前記ブラウザ１１２は、外部ネットワーク１４０を介してアプリケーション配信サーバ３００とやり取りを行い、クライアントブレード１００にサービスを提供するアプリケーション全般を指し、例えばブラウザ１１２の一種としてRIA(Rich Internet Application)等も含まれる。前記RIAとは、従来のブラウザによるHTML表示に比較して、AjaxやFlash(登録商標)等の技術を使い、操作性や表現力を強化したインターネットアプリケーションである。RIAでは、アニメーション等を使ったユーザフレンドリーなコンテンツ表示が可能であり、また画面遷移が発生しないことや、ドラッグ＆ドロップなどの直感的な操作が可能であるように操作性に優れていることが一般的な特徴である。
【００３５】
また、クライアントブレード１００は、前記ＨＤＤ１０１において、リモートサーバプログラム１７０、暗号化通信プログラム１７１、ＯＳ（Operating System）１３６を記憶している。前記ＯＳ１３６は、ＣＰＵ１０４がクライアントブレード１００の各部１０１〜１３０を統括的に制御して、前記手段１１０〜１１３等の各機能部を実現する各プログラムを実行するためのプログラムである。ＣＰＵ１０４は、ＨＤＤ１０１からＯＳ１３６をＲＡＭ１０３にロードして実行する。
【００３６】
また、リモートサーバプログラム１７０は、クライアントブレード１００のデスクトップをクライアント端末２００から遠隔操作を可能とするためのプログラムであり、例えばＡＴ＆Ｔケンブリッジ研究所で開発されたＶＮＣ（Virtual Network Computing）のサーバプログラムである。ＣＰＵ１０４は、ＯＳ１３６に従い、ＨＤＤ１０１からリモートサーバプログラム１７０をＲＡＭ１０３にロードして実行する。これにより、ＣＰＵ１０４は、ＶＰＮ等の外部ネットワーク１４０を介してクライアント端末２００から送られてきた入力情報（キーボードおよびマウスの操作内容）を受信し処理すると共に、処理結果を示す映像情報（ディスプレイのデスクトップ画面）を、ＶＰＮ等の外部ネットワーク１４０を介してクライアント端末２００に送信する。
【００３７】
また、前記暗号化通信プログラム１７１は、クライアント端末２００との間にＶＰＮ等の外部ネットワーク１４０を構築するための通信プログラムであり、例えばＩＰｓｅｃ（Security Architecture for the Internet Protocol）を用いた通信プログラムである。ＣＰＵ１０４は、ＯＳ１３６に従い、ＨＤＤ１０１から暗号化通信プログラム１７１をＲＡＭ１０３にロードして実行する。これにより、ＣＰＵ１０４は、通信インターフェイス１０７を介してクライアント端末２００から受付けたリモートコントロールのための接続確立要求等に従い、クライアント端末２００との間にＶＰＮ等のセキュアな外部ネットワーク１４０を構築し、このＶＰＮ等を介してクライアント端末２００とリモートコントロール用通信を行なう。
【００３８】
次に、前記クライアント端末２００について説明する。図３は本実施形態のクライアント端末２００の構成例を示す図である。一方、前記クライアント端末２００は、適宜な管理サーバにより割り当てされたクライアントブレード１００に対して外部ネットワーク１４０を介してアクセスしリモートコントロールする装置であって、前記クライアントブレード１００と共にシンクライアントシステムを構成する。また、前記クライアント端末２００は、本発明を実現する機能を備えるべくＴＰＭ２０１などに格納されたプログラム２０２をＲＡＭ２０３に読み出し、演算装置たるＣＰＵ２０４により実行する。
【００３９】
また、前記クライアント端末２００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス２０５、ディスプレイなどの出力インターフェイス２０６、ならびに、クライアントブレード１００やアプリケーション配信サーバ３００などとの間のデータ授受を担う通信インターフェイス２０７などを有している。
【００４０】
こうしたクライアント端末２００は、いわゆるＨＤＤレスタイプのＰＣであり、プリンタ、外付けドライブ、外付けメモリ等をローカル接続およびネットワーク接続できないように構成されている。つまり、クライアント端末２００は、クライアントブレード１００にローカル接続あるいはネットワーク接続されているプリンタ、外付けドライブ、外付けメモリ等のみを使用できるように構成されている。このようにすることで、クライアント端末２００の盗難等による情報漏えいの可能性を低減している。
【００４１】
続いて、前記クライアント端末２００が、例えばプログラム２０２に基づき前記ＴＰＭ２０１にて構成・保持する機能部につき説明を行う。  前記クライアント端末２００は、前記クライアントブレード１００より前記利用状態データを受け取って、当該クライアント端末２００における前記アプリケーションの利用状態を前記利用状態データにより設定するデータ設定手段２１０を備える。
【００４２】
なお、前記データ設定手段２１０は、前記クライアントブレード１００より前記利用状態データを受け取り、当該クライアント端末２００における前記アプリケーションの利用状態の設定として、当該クライアント端末２００が備えるブラウザ２１２に対し前記利用状態データにより、ウィンドウサイズ、cookie、プロキシサーバアドレス、タブ状態、ブックマーク、ＵＲＬ履歴、キャッシュデータの少なくともいずれかを設定するとしてもよい。
【００４３】
また、前記データ設定手段２１０は、前記クライアントブレード１００より前記セキュリティポリシーデータを受け取って記憶装置（例えば、ＲＡＭ２０３）に格納するとしてもよい。
【００４４】
また、前記クライアント端末２００は、前記アプリケーション配信サーバ３００に対して前記アプリケーションの利用要求を外部ネットワーク１４０を介して送信する要求送信手段２１１を備える。なお、前記要求送信手段２１１は、前記クライアントブレード１００より前記認証情報を受信して、この認証情報を含む認証要求を前記アプリケーション配信サーバ３００に対して送信し、この認証要求に応じてアプリケーション配信サーバ３００から認証結果を受信し、前記認証結果が認証成功を示すものであれば前記アプリケーションの利用要求の送信を行うとしてもよい。
【００４５】
また、前記要求送信手段２１１は、前記記憶装置よりセキュリティポリシーデータを読み出して、前記アプリケーション配信サーバ３００が前記セキュリティポリシーデータに規定されているか判定し、前記セキュリティポリシーデータに規定されたアプリケーション配信サーバ３００に対して前記アプリケーションの利用要求を外部ネットワーク１４０を介して送信するとしてもよい。
【００４６】
また、前記セキュリティポリシーデータが、前記クライアントブレード１００の記憶装置１０１（例：クライアント端末２００からネットワーク経由で利用可能なネットワークストレージを想定）に対するクライアント端末２００からの利用可否の情報を含むとしてもい。この場合、前記要求送信手段２１１は、前記記憶装置１０１よりセキュリティポリシーデータを読み出して、このセキュリティポリシーデータにおいて前記クライアントブレード１００の記憶装置１０１が利用可能と規定されているか判定し、前記クライアントブレード１００の記憶装置１０１が利用可能である場合に、前記クライアントブレード１００に対して前記記憶装置１０１の利用要求を送信し、前記アプリケーション配信サーバ３００に対して前記アプリケーションの利用に伴う保存用データの取得要求を送信し、前記アプリケーション配信サーバ３００から取得した保存用データの前記記憶装置１０１への格納を前記クライアントブレード１００に指示するとしてもよい。
【００４７】
なお、前記ブラウザ２１２はアプリケーション配信サーバ３００に接続してアプリケーション配信を受けるアプリケーションプログラムであり、ＲＡＭ２０３に読み込まれてＣＰＵ２０４で実行される（その他の説明はブラウザ１１２と同様）。
【００４８】
なお、本実施形態において前記クライアント端末２００は、前記手段２１０〜２１２（を実現するプログラム）、リモートクライアントプログラム２７０、暗号化通信プログラム２７１らを、ＴＰＭ（Trusted Platform Module）２０１と呼ばれるチップ内に収めていることを想定できる（勿論、クライアント端末２００がＨＤＤレスタイプではなく、従来のＨＤＤを備えるコンピュータであれば、前記手段２１０〜２１２、リモートクライアントプログラム２７０、暗号化通信プログラム２７１らはＨＤＤに格納されてよい）。
【００４９】
このＴＰＭ２０１は、スマートカード（ＩＣ カード）に搭載されるセキュリティチップに似た機能を持っており、非対称鍵による演算機能、またこれら鍵を安全に保管するための耐タンパー性を有するハードウェアチップである。このＴＰＭ２０１の機能としては、例えば、ＲＳＡ（Rivest-Shamir-Adleman Scheme）秘密鍵の生成・保管、ＲＳＡ秘密鍵による演算（署名、暗号化、復号）、ＳＨＡ−１（Secure Hash Algorithm １）のハッシュ演算、プラットフォーム状態情報（ソフトウェアの計測値）の保持（PCR）、 鍵、証明書、クレデンシャルの信頼チェーンの保持、高品質な乱数生成、不揮発性メモリ、その他Opt-in やＩ／Ｏ等があげられる。
【００５０】
前記ＴＰＭ は、暗号鍵（非対称鍵）の生成・保管・演算機能の他、プラットフォーム状態情報（ソフトウェアの計測値）をＴＰＭ２０１ 内のレジスタＰＣＲ（Platform Configuration Registers）に安全に保管し、通知する機能を有している。ＴＰＭ２０１の最新仕様では、さらにローカリティやデリゲーション（権限委譲）等の機能が追加されている。なお、ＴＰＭ２０１は、物理的にプラットフォームのパーツ（マザーボードなど）に取り付けることとなっている。
【００５１】
また、本実施形態において前記クライアント端末２００は、リモートクライアントプログラム２７０と、暗号化通信プログラム２７１とを前記ＴＰＭ２０１にて備えている。前記リモートクライアントプログラム２７０は、クライアント端末２００が遠隔からクライアントブレード１００のデスクトップにアクセスするためのプログラムであり、例えばＶＮＣのクライアント（ビューワ）プログラムである。ＣＰＵ２０４は、ＯＳ２３６に従い、ＴＰＭ２０１からリモートクライアントプログラム２７０をＲＡＭ２０３にロードして実行する。これにより、ＣＰＵ２０４は、Ｉ/Ｏコネクタの入力情報（キーボードおよびマウスの操作内容）を、例えばＶＰＮなどの外部ネットワーク１４０を介してクライアントブレード１００に送信すると共に、ＶＰＮ等の外部ネットワーク１４０を介して当該クライアントブレード１００から送られてきた映像情報（ディスプレイのデスクトップ画面）をビデオカードに接続されたディスプレイなどの入出力インターフェイス２０５等に出力する。
【００５２】
また、前記暗号化通信プログラム２７１は、リモートクライアントプログラム２７０より通知されたアドレスを持つクライアントブレード１００との間に、ＶＰＮなどのセキュアな通信ネットワークを構築するための通信プログラムである。例えば、ＩＰｓｅｃを用いた通信プログラムを想定できる。ＣＰＵ２０４は、ＯＳ２３６に従い、ＴＰＭ２０１から暗号化通信プログラム２７１をＲＡＭ２０３にロードして実行する。これにより、ＣＰＵ２０４は、通信インターフェイス２０７を介して自クライアント端末２００に割当てされたクライアントブレード１００へ通信開始要求を送信して、当該クライアントブレード１００との間にＶＰＮ等のネットワークを構築し、このＶＰＮ等を介して当該クライアントブレード１００とリモートコントロール用通信をする。
【００５３】
次に、アプリケーション配信サーバ３００について説明する。図４は、本実施形態のアプリケーション配信サーバの構成例を示す図である。このアプリケーション配信サーバ３００は、他装置たる前記クライアントブレード１００やクライアント端末２００に対し、ネットワーク経由でアプリケーションを利用させるサーバ装置である。具体的な例としては、例えば、ASP（Application Service Provider）用或いはSaaS（software as a service）用のサーバを想定できる。従って、前記アプリケーション配信サーバ３００は、ASP或いはSaaS用のサーバとして必要な機能を実現するサービスプログラム３０９をＨＤＤ等の不揮発性の記憶装置３０１に備えているものとする。また更に、このアプリケーション配信サーバ３００は、記憶装置３０１において認証プログラム３１０も備えている。この認証プログラム３１０は、接続してきたクライアント（クライアントブレード１００またはクライアント端末２００）に対してユーザ認証を実行するプログラムである。
【００５４】
なお、図１ではクライアント端末２００とアプリケーション配信サーバ３００は、外部ネットワーク１４０に接続された構成をとっているが、社内ネットワーク１４５に接続された構成であってもよい。
【００５５】
前記アプリケーション配信サーバ３００は、本発明を実現する機能を備えるべくＨＤＤ（ハードディスクドライブ）３０１などに格納されたプログラム３０２をＲＡＭ３０３に読み出し、演算装置たるＣＰＵ３０４により実行する。
【００５６】
また、前記アプリケーション配信サーバ３００は、コンピュータ装置が一般に備えている各種キーボードやボタン類などの入力インターフェイス３０５やディスプレイなどの出力インターフェイス３０６を必要に応じて備えることができ、また、クライアントブレード１００やクライアント端末２００などとの間のデータ授受を担う通信インターフェイス３０７などを有している。
【００５７】
こうしたアプリケーション配信サーバ３００が、例えばプログラム３０２に基づき構成・保持する機能部につき説明を行う。前記アプリケーション配信サーバ３００は、前記クライアント端末２００から前記アプリケーションの利用要求を外部ネットワーク１４０を介して受信し、前記クライアント端末２００にネットワーク経由で前記アプリケーションを利用させるサービス提供手段３１１を備える。なお、前記サービス提供手段３１１は、前記クライアント端末２００から認証要求を受信し、この認証要求が含む認証情報と記憶装置３０１中の認証用データとを照合して認証処理を実行して認証結果を生成し、この認証結果を前記クライアント端末２００に送信するとしてもよい。
【００５８】
また、前記サービス提供手段３１１は、前記クライアント端末２００から前記保存用データの取得要求を受信して、該当保存用データを記憶装置３０１より読み出し、この保存用データを、前記クライアント端末２００に外部ネットワーク１４０経由で送信するとしてもよい。
【００５９】
なお、これまで示したアプリケーション配信制御システム１０を構成する、クライアントブレード１００、クライアント端末２００、アプリケーション配信サーバ３００らにおける各手段１１０〜１１３、２１０〜２１２、３１０等は、ハードウェアとして実現してもよいし、メモリやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、前記各装置のＣＰＵがプログラム実行に合わせて記憶装置より該当プログラムを各メモリに読み出して、これを実行することとなる。
【００６０】
また、前記ネットワーク１４０、１４５に関しては、インターネット、ＬＡＮの他、ＡＴＭ回線や専用回線、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、電灯線ネットワーク、無線ネットワーク、公衆回線網、携帯電話網など様々なネットワークを採用することも出来る。また、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）など仮想専用ネットワーク技術を用いれば、インターネットを採用した際にセキュリティ性を高めた通信が確立され好適である。
【００６１】
−−−データ構造例−−−
次に、本実施形態におけるアプリケーション配信制御システム１０を構成する各装置らが利用する各種データ類の構造について説明する。図５は本実施形態における、（ａ）利用状態データ１２５、（ｂ）セキュリティポリシーデータ１２６、（ｃ）認証情報１２７、の各データ構造例を示す図である。
【００６２】
前記利用状態データ１２５は、クライアントブレード１００から前記アプリケーション配信サーバ３００のアプリケーションを利用する時の、前記クライアントブレード１００における前記アプリケーションの利用状態のデータである。本実施形態における例では、前記アプリケーションを利用するために用いるブラウザ１１２の状態についてのデータを、この利用状態データとしている。データ構造の例としては、例えば、ブラウザ１１２のウィンドウサイズ４１（ブラウザ１１２の現在のウィンドウサイズ）、Cookie情報４２、プロキシサーバアドレス４３、タブ状態情報４４（ブラウザ１１２における複数ページを開いた状態を保持するタブの状態情報であり、タブ番号とURLの情報からなる）、ブックマーク４５（WebサイトのURL情報）、URL履歴４６（ユーザが過去にブラウザで閲覧したWebサイトのURL情報）、キャッシュデータ４７（ユーザが過去にブラウザで閲覧したWebサイトのコンテンツ）といった項目のデータセットを想定できる。
【００６３】
なお、前記Cookie情報４２は、一般的にWebサーバ（アプリケーション配信サーバ３００）とブラウザとの間でセッション維持に使われる情報である。Cookie情報は、最初にブラウザからWebサーバにアクセスした際にWebサーバからブラウザに送信される。次回、ブラウザからWebサーバにアクセスする際に、ブラウザからWebサーバへ前記Cookie情報を送信することで、次回以降のセッションの維持が実現される。本実施形態における前記Cookie情報４２には、揮発性のメモリ（ＲＡＭ等）上に一時的に保持される一時Cookieと、HDD等の不揮発性の記憶装置（ＨＤＤ等）に保存される永続的Cookieの２種類を含むものとする。また、前記Cookie情報４２は、ブラウザに保持されている全ての、または一部のCookie情報を想定して良く、例えば、引き継ぎ処理（クライアントブレード１００を介したアプリケーション利用から、アプリケーション配信サーバ３００とクライアント端末２００の直接接続へと移行する処理）を開始する段階にアクセスしていたアプリケーション配信サーバ３００に関するCookie情報についてのみ取得しておくとしてもよい。
【００６４】
また、前記プロキシサーバアドレス４３は、ブラウザのプロキシサーバを指定する情報である。社内ネットワーク１４５に接続されているクライアントブレード１００からアプリケーション配信サーバ３００へのアクセスは、一般的にはプロキシサーバ４１０を経由して行われる。一方で、クライアント端末２００からアプリケーション配信サーバ３００へのアクセスは、同様にプロキシサーバ４１０を経由してもよいし、プロキシサーバ４１０を経由しないで直接アクセスしてもよい。直接アクセスする場合には、前記プロキシサーバアドレス４３は、利用しない。
【００６５】
また、クライアントブレード１００からクライアント端末２００へ送信されるブラウザの状態情報（利用状態データ）は、前記項目のすべてか、あるいは、一部からなり、前記状態情報のクライアント端末２００への送信後は、送信元のクライアントブレード１００が該当状態情報を記憶装置１０１より削除してもよい。同様にクライアント端末２００からクライアントブレード１００へ送信されるブラウザの状態情報は、前記項目のすべてか、あるいは、一部からなり、前記状態情報のクライアントブレード１００への送信後は、送信元のクライアント端末２００が記憶していた該当状態情報を削除してもよい。
【００６６】
また、前記利用状態データたるブラウザの状態情報の収集方法は、ブラウザの設定ファイル（ブラウザの搭載された装置の記憶装置内に格納）から収集したり、ＯＳから収集するなどが想定できる。なお、クライアントブレード１００側のブラウザ１１２とクライアント端末２００側のブラウザ２１２の種類が異なっていたり、バージョンが異なる場合は、クライアントブレード１００ないしクライアント端末２００が記憶装置に備える所定のアプリケーションにより、両者のブラウザの状態情報を互いに変換（勿論、変換用に必要となるブラウザ種やバージョンの間でのデータ対応表や変換式などを前記クライアントブレード１００やクライアント端末２００が自身の記憶装置に備える）することで対応したり、あるいは、一部データ項目の引き継ぎ処理ができない旨のメッセージデータを出力インターフェイスに表示してユーザに通知するとしてもよい。
【００６７】
次に、前記セキュリティポリシーデータ１２６は、クライアントブレード１００からクライアント端末２００へ配信されるセキュリティポリシーのデータである。セキュリティポリシーデータは、前記クライアントブレード１００に保存されるか、あるいは、認証サーバ４２０に保存されていてもよい。こうしたセキュリティポリシーデータ１２６は、例えば、アクセス許可/禁止サーバリスト５１、データ保存可否５２、外部記憶デバイス利用可否５３、禁止ブラウザリスト５４、ウィルス対策ソフト適合可否５５、ブラウザの背景色変更可否５６の各項目のデータから構成されている。
【００６８】
前記アクセス許可/禁止サーバリスト５１は、クライアント端末２００からのアクセスを許可あるいは禁止するアプリケーション配信サーバ３００のアドレス情報である。クライアント端末２００は、前記アクセス許可/禁止サーバリスト５１を参照し、例えばクライアント端末２００からの禁止サーバへのアクセスをブロックしたり、許可サーバへのアクセスを通したりする。
【００６９】
また、前記データ保存可否５２は、アプリケーション配信サーバ３００からダウンロードしたデータをクライアント端末２００やクライアントブレード１００に保存可能かを決定するものである。また、前記外部記憶デバイス利用可否５３は、クライアント端末２００に接続したUSBメモリ等の外部記憶デバイスにデータを書き出すことができるかを決定するデータである。また、前記禁止ブラウザリスト５４は、クライアント端末２００で起動を禁止するブラウザのリストである。また、前記ウィルス対策ソフト適合可否５５は、クライアント端末２００にウィルス対策ソフトがインストールされているかどうか、ウィルスパターンファイルが最新か、などをチェックし、適合しない場合は、ブラウザの状態引き継ぎを行わないなどの制御を行うかどうかを決めるデータである。また、前記ブラウザの背景色変更可否５６は、認められたアプリケーション配信サーバ３００以外にクライアント端末２００がアクセスした場合に、ブラウザ２１２の背景色を変更して、ユーザに警告を表示するか否かを決定するデータである。例えば、許可されないアプリケーション配信サーバ３００にクライアント端末２００がアクセスした場合は、クライアント端末２００はこのポリシーに則してブラウザ２１２において「赤」を背景色としたり、あるいは、許可されるアプリケーション配信サーバ３００にクライアント端末２００がアクセスした場合には、ブラウザ２１２において「青」を背景色に変更する。これにより、前記クライアント端末２００のユーザは、意図せずに許可されないアプリケーション配信サーバ３００にアクセスしたことを視覚的に判別可能となり、フィッシング等の不正を防止することが可能となる。
【００７０】
また、前記認証情報１２７は、認証サーバ４２０の記憶装置で管理する認証情報である。この認証情報１２７は、ユーザＩＤ６１をキーとして、利用可能サービス６２、認証情報６３といったデータを対応付けたレコードの集合体である。前記ユーザＩＤ６１は、クライアント端末２００のユーザごとにユニークにつけられた識別情報である。また、利用可能サービス６２は、ユーザＩＤ６１ごとに登録されており、当該ユーザが利用を許可されたサービス（例：利用可能なアプリケーションなど）である。各々の利用可能サービス６２には、認証情報６３が対応付けて登録されている。認証情報６３は、当該サービスに対するユーザＩＤとパスワード、電子証明書、生体認証情報等である。前記生体認証情報は、当該ユーザの指紋認証情報、静脈認証情報、虹彩認証情報等である。例えば前記認証サーバ４２０は、クライアント端末２００に設置された図示していない生体認証装置から取得された生体認証情報と、認証サーバ４２０に登録されている当該ユーザの生体認証情報とを照合して、認証可否の結果を返す。
【００７１】
また、前記認証サーバ４２０は、前記認証情報６３をスクリプトあるいは実行プログラムの形態で生成させてもよい。前記認証情報６３を含んだスクリプトあるいは実行プログラムは、クライアント端末２００あるいはクライアントブレード１００において実行されて、アプリケーション配信サーバ３００に対する認証を実行する。スクリプトあるいは実行プログラムを生成させて認証を実行することにより、クライアントブレード１００が直接認証情報を扱う必要がなくなる。また、本実施形態では、認証サーバ４２０において認証情報６３を管理する構成をとっているが、認証情報６３はクライアントブレード１００で管理されていてもよい。
【００７２】
−−−処理フロー例１−−−
以下、本実施形態におけるアプリケーション配信制御方法の実際手順について、図に基づき説明する。なお、以下で説明するアプリケーション配信制御方法に対応する各種動作は、前記アプリケーション配信制御システム１０を構成する、情報処理装置たるクライアントブレード１００、クライアント端末２００、およびアプリケーション配信サーバ３００のそれぞれＲＡＭ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００７３】
図６は本実施形態におけるアプリケーション配信制御方法の処理フロー例１を示す図である。なお、図示していないが、本処理フローの前段階において、クライアント端末２００は、リモートクライアントプログラム２７０を起動して、クライアントブレード１００のリモートサーバプログラム１７０と連携し、クライアントブレード１００を遠隔操作しているものとする。また、ゲートウェイサーバ４００とクライアント端末２００との間で暗号化通信を確立しておいてもよいし、あるいは、クライアントブレード１００とクライアント端末２００との間で暗号化通信を確立しておいてもよい。
【００７４】
また、クライアント端末２００の起動後に前記各手段２１０〜２１２は必要に応じて起動されている。同様にクライアントブレード１００においても、前記各手段１１０〜１１３は、クライアントブレード１００の起動後に必要に応じて起動されている。例えば、前記クライアントブレード１００の前記手段（のいずれか）とクライアント端末２００の手段（のいずれか）とは、クライアント端末２００によるクライアントブレード１００の遠隔操作が開始されたかどうかを常時監視し、遠隔操作が開始されたことを契機として前記クライアントブレード１００およびクライアント端末２００の手段同士の通信を開始するとしてもよい。この通信には、遠隔操作のための通信チャネルを利用してもよいし、新たに手段同士で通信チャネルを作成してもよい。新たに通信チャネルを作成する場合、手段同士は通信の開始時に共通鍵による認証、ＰＫＩ認証、ユーザの手入力によるパスワード認証等を行い、相互に正しい手段（アプリケーション）であることを認証してから通信を開始する。
【００７５】
図６のフロー例１では、クライアント端末２００によるクライアントブレード１００の遠隔操作中に、クライアント端末２００がアプリケーション配信サーバ３００から直接のアプリケーション提供を受けるべく実行する切り替え処理について説明する。まず、ユーザがクライアント端末２００の入力インターフェイス２０５を介して、クライアントブレード１００のブラウザ１１２の利用開始を指示する。この指示をクライアントブレード１００が受け付けて前記ブラウザ１１２は起動する（ｓ１００、ｓ１０１）。
【００７６】
また前記クライアント端末２００が、入力インターフェイス２０５を介してユーザのサービス利用要求（アプリケーション配信サーバ３００が提供するアプリケーション機能の利用要求）を受け付けて、これをブラウザ１１２へ指示する（ｓ１０２）。ここで、クライアントブレード１００は、前記ブラウザ１１２を監視しておいて、仮に前記ブラウザ１１２がサービスＸ（アプリケーションＸの提供）に対する認証情報を要求していた場合、該当する認証情報１２７を記憶装置１０１より読み出してブラウザ１１２へ送信する（ｓ１０３）。前記認証情報１２７は、事前にクライアントブレード１００によって認証サーバ４２０から取得されてもよいし、事前に前記ユーザに入力インターフェイス１０５にて入力させておいてクライアントブレード１００が記憶装置１０１に保持していてもよい。
【００７７】
続いて、前記ブラウザ１１２は、前記認証情報１２７をアプリケーション配信サーバ３００へ送信する（ｓ１０４）。アプリケーション配信サーバ３００は、この認証情報１２７に基づいてユーザ認証を行う（ｓ１０５）。このユーザ認証は、認証プログラム３１０によって、前記認証情報１２７と、あらかじめアプリケーション配信サーバ３００に登録されたユーザＩＤとユーザＩＤに関連付けられたユーザパスワードとについて照合をとることで実施したり、PKI認証等で実施する。
【００７８】
次に、前記アプリケーション配信サーバ３００は、前記ユーザ認証の認証結果を前記クライアントブレード１００のブラウザ１１２へ送信する（ｓ１０６）。この認証結果に問題なければ、つまり前記ユーザの確からしさが認証されれば、前記ブラウザ１１２は、サービス利用要求をアプリケーション配信サーバ３００へ送信する（ｓ１０７）。アプリケーション配信サーバ３００のサービス提供手段３１１は、前記サービスＸに対応するアプリケーションＸの提供をクライアントブレード１００に対して実行する（ｓ１０８）。
【００７９】
その後、クライアント端末２００は入力インターフェイス２０５において、クライアントブレード１００のブラウザ２１２の利用開始指示の入力をユーザから受け付けて、この指示をクライアントブレード１００に送信する（ｓ１０９）。前記ブラウザ２１２の利用開始指示は、クライアントブレード１００上でブラウザ１１２を介して利用している前記サービスＸ（アプリケーションＸ）を、クライアント端末２００上のブラウザ２１２を介して利用するように切り替える処理の開始を指示するものである。この切り替え処理の開始指示は、前述のようにユーザが直接指示してもよいし、クライアントブレード１００が指示してもよい。クライアントブレード１００による前記切り替え開始指示は、例えばクライアント端末２００とクライアントブレード１００との間のネットワーク遅延をクライアントブレード１００の所定アプリケーションが検出し、前記ネットワーク遅延がある一定値（記憶装置１０１に格納）以上になった場合に実行する。或いは、クライアントブレード１００の所定アプリケーションが、前記ブラウザ１１２上での描画負荷（例えば、ＣＰＵ１０４の負荷やＲＡＭ１０３の占有率など）が所定値（記憶装置１０１に格納）より重い動画再生処理を検出した場合などに行うとできる。
【００８０】
なお、前記切り替え開始指示が、ユーザによる手動で指示される状況も想定できる。図９は手動操作により前記切り替え処理を開始する場合の、クライアント端末２００での画面例を示す図である。この図において、クライアント端末画面３１には、ブラウザ画面の一部３２、ブラウザ画面３３、遠隔操作アプリ画面３４が含まれている。
【００８１】
前記クライアント端末画面３１はクライアント端末２００のディスプレイ装置で表示されている画面であり、遠隔操作アプリ画面３４は遠隔操作アプリ（例：アプリケーション配信サーバ３００からクライアントブレード１００に配信されたアプリケーション）の画面（例：アプリケーションが配信されたクライアントブレード１００のデスクトップ画面）であり、ブラウザ画面３３はブラウザ１１２の画面（アプリケーション配信サーバ３００から配信されているアプリケーションを利用中の画面）である。
【００８２】
また、前記ブラウザ画面の一部３２は、ブラウザ画面３３のうち、遠隔操作アプリ画面３４からはみ出して見えなくなった部分である。なお、前記クライアント端末画面３１の内には、前記遠隔操作アプリ画面３４が表示されている。また、遠隔操作アプリ画面３４の内には、ブラウザ画面３３が表示されている。
【００８３】
前記ユーザがクライアントブレード１００上で動作するブラウザ１１２の状態をクライアント端末２００のブラウザ２１２に引き継ぐ、つまり前記切り替え開始指示を手動で行う場合、前記遠隔操作アプリ画面３４内のブラウザ画面３３をマウス等を利用してドラッグ＆ドロップ操作を行うことにより、遠隔操作アプリ画面３４の外に出すようにする。この時、クライアントブレード１００は、前記ブラウザ画面の一部３２の面積を算定し、前記ブラウザ画面の一部３２の面積が前記ブラウザ画面３３の面積の一定割合値（記憶装置１０１に格納）以上に到達するか監視する。前記面積の算定は、例えば、ブラウザのウィンドウサイズの履歴データを記憶装置１０１に格納しておき、所定時間中に前記ウィンドウサイズが小さくなった場合に、そのサイズの変化分を前記ブラウザ画面の一部３２の面積として算定すればよい。具体的には、ブラウザ画面３３の面積ｘ2×ｙ２、遠隔操作アプリ画面３４の面積ｘ1×ｙ１、遠隔操作アプリ画面３４内におけるブラウザ画面３３の座標位置（ｘ3、ｙ３）とした場合、ブラウザ画面の一部３２の面積は、図９の例から明らかなように（ｘ２−（ｘ１−ｘ３））×ｙ２となる。この面積が例えば、ブラウザ画面全体の面積の３０％を上回った場合に、切り替え開始指示の契機とする。
【００８４】
前記ブラウザ画面の一部３２の面積がブラウザ画面３３の面積の一定割合値以上に到達した場合に、クライアントブレード１００は前記切り替え開始指示を行う。
【００８５】
続いて、前記ステップｓ１０９以後の説明に戻る。前記クライアントブレード１００のデータ収集手段１１０は、当該クライアントブレード１００から前記アプリケーション配信サーバ３００のアプリケーション（例えば、アプリケーションＸとする）を利用する時の、当該クライアントブレード１００における前記ブラウザ１１２の利用状態のデータ（例：ウィンドウサイズ、cookie、プロキシサーバアドレス、タブ状態、ブックマーク、ＵＲＬ履歴、キャッシュデータの少なくともいずれか）を収集しＲＡＭ１０３に格納する（ｓ１１０）。また、前記データ収集手段１１０は、前記利用状態データの他に、当該クライアントブレード１００から前記アプリケーション配信サーバ３００の前記アプリケーションＸを利用する時に用いる認証情報１２７を、前記認証サーバ４２０ないし当該クライアントブレード１００の記憶装置１０１より読み出してＲＡＭ１０３に格納する。また、前記データ収集手段１１０は、当該クライアントブレード１００から前記アプリケーション配信サーバ３００の前記アプリケーションＸを利用する時の、セキュリティポリシーデータ１２６を当該クライアントブレード１００の記憶装置１０１より読み出してＲＡＭ１０３に格納する。
【００８６】
また、前記クライアントブレード１００のデータ移動手段１１１は、前記利用状態データ１２５、前記セキュリティポリシーデータ１２６、前記認証情報１２７、をＲＡＭ１０３より読み出し、ブラウザ２１２の利用開始指示とともに外部ネットワーク１４０を介してクライアント端末２００に送信する（ｓ１１１）。
【００８７】
一方、前記クライアント端末２００のデータ設定手段２１０（ないしは要求送信手段２１１）は、前記セキュリティポリシーデータ１２６により、クライアント端末２００のポリシーチェックを行う（ｓ１１２）。仮に、前記セキュリティポリシーデータ１２６においてクライアントブレード１００へのデータ保存が許可されているならば、前記データ設定手段２１０（ないしは要求送信手段２１１）は、ストレージマウント要求をクライアントブレード１００のマウント手段１１３に送信する（ｓ１１３）。
【００８８】
他方、前記クライアントブレード１００のマウント手段１１３は、前記クライアント端末２００から前記記憶装置１０１の利用要求たるストーレジマウント要求を受信して、前記記憶装置１０１について前記クライアント端末２００の利用許可の設定を実行する（ｓ１１４）。また、クライアントブレード１００のマウント手段１１３は、マウント許可応答を前記データ設定手段２１０（ないしは要求送信手段２１１）へ送信する（ｓ１１５）。ストレージマウントとは、クライアント端末２００からクライアントブレード１００の記憶装置１０１等のストレージにデータ保存可能にする処理である。
【００８９】
続いて、前記クライアント端末２００のデータ設定手段２１０は、前記クライアントブレード１００より前記利用状態データ１２５、前記セキュリティポリシーデータ１２６、認証情報１２７を受け取り、当該クライアント端末２００におけるブラウザ２１２の利用状態を前記利用状態データ１２５により設定する（ｓ１１６）。また、前記データ設定手段２１０は、前記セキュリティポリシーデータを記憶装置（例えば、ＲＡＭ２０３）に格納する。
【００９０】
また、前記要求送信手段２１１（ないしは前記ブラウザ２１２）は、前記クライアントブレード１００より受信した前記認証情報１２７を含む認証要求を前記アプリケーション配信サーバ３００に対して送信する（ｓ１１７）。他方、前記アプリケーション配信サーバ３００のサービス提供手段３１１は、前記認証要求を受信し、この認証要求が含む認証情報と記憶装置３０１中の認証用データとを照合して認証処理を実行して認証結果を生成し、この認証結果を前記クライアント端末２００に送信する（ｓ１１８）。
【００９１】
前記クライアント端末２００の要求送信手段２１１は、前記アプリケーション配信サーバ３００からの認証結果を受信し、前記認証結果が認証成功を示すものであれば前記サービスＸの利用要求の送信をアプリケーション配信サーバ３００に行う（ｓ１１９）。なお、前記要求送信手段２１１は、前記記憶装置よりセキュリティポリシーデータ１２６を読み出して、前記アプリケーション配信サーバ３００（のＵＲＬ等）が前記セキュリティポリシーデータに規定されているか判定し、前記セキュリティポリシーデータ１２６に規定されたアプリケーション配信サーバ３００に対して前記アプリケーションＸの利用要求を送信するとしてもよい。
【００９２】
一方、前記アプリケーション配信サーバ３００のサービス提供手段３１１は、前記クライアント端末２００から前記サービスＸの利用要求を外部ネットワーク１４０を介して受信し、前記クライアント端末２００にネットワーク経由で前記サービスＸに対応したアプリケーションＸを利用させる（ｓ１２０）。
【００９３】
また、前記クライアント端末２００の要求送信手段２１１は、前記アプリケーション配信サーバ３００に対して前記サービスＸの利用に伴う保存用データの取得要求を送信する（ｓ１２１）。他方、前記アプリケーション配信サーバ３００のサービス提供手段３１１は、前記クライアント端末２００から前記保存用データの取得要求を受信して、該当保存用データを記憶装置３０１より読み出し、この保存用データを、前記クライアント端末２００に外部ネットワーク１４０経由で送信する（ｓ１２２）。
【００９４】
前記クライアント端末２００の要求送信手段２１１は、前記アプリケーション配信サーバ３００から保存用データを取得し、前記保存用データの前記クライアントブレード１００の前記記憶装置１０１への格納指示をする（ｓ１２３）。
【００９５】
他方、前記クライアントブレード１００のマウント手段１１３は、前記クライアント端末２００から前記保存用データの格納指示を受信して、前記記憶装置１０１において前記保存用データを格納する（ｓ１２４）。なお、このステップｓ１２４の処理の後、クライアント端末２００の要求送信手段２１１は、前記保存用データが当該クライアント端末２００の記憶装置に残されているか確認し、該当データを残さないよう削除するとしてもよい。
【００９６】
サービスＸの提供を受けたクライアント端末２００であるが、端末シャットダウン指示を入力インターフェイス２０５で受けたならば、あるいは、シャットダウン開始を検知したならば（ｓ１２５）、ブラウザ状態の引き継ぎ処理要否の確認画面（記憶装置１０１に画面データ格納）を出力インターフェイス２０５に表示する（ｓ１２６）。ここで引き継ぎ処理を行うことをユーザが選択した場合には、クライアント端末２００は前記選択の事象を入力インターフェイス２０５で受け付けて、前記サービスＸの利用中であったブラウザ２１２からブラウザの状態情報（利用状態データ）を収集する（ｓ１２７）。この利用状態データの収集は、前記クライアントブレード１００におけるデータ収集手段１１０と同様の機能を備えたプログラム（クライアント端末２００が備える）が実行する。
【００９７】
次に、前記クライアント端末２００は、前記ブラウザ状態情報をクライアントブレード１００に送信する（ｓ１２８）。一方、クライアントブレード１００は、これに応じて受信応答を前記クライアント端末２００へ送信する（ｓ１２９）。他方、クライアント端末２００は端末シャットダウンを行う（ｓ１３０）。次に、クライアントブレード１００は、前記ブラウザ状態情報をブラウザ１１２へ送信し、前記ブラウザ状態情報の適用処理を行う（ｓ１３１）。前記ステップｓ１３０の実行時に前記ブラウザ１１２が起動していない場合には、クライアントブレード１００は前記ブラウザ状態情報を記憶装置１０１に格納しておき、次回のブラウザ１１２の起動タイミングを検知して、前記ブラウザ状態情報の適用を行ってもよい。
【００９８】
上述したように、ブラウザの状態情報等をクライアントブレード１００側からクライアント端末２００側へ引き継いでサービス提供することにより、クライアント端末２０とクライアントブレード１００との間のネットワーク負荷やクライアントブレード１００側の処理負荷を低減することが可能となり、ユーザの作業効率が向上する。また、ユーザが利用するブラウザの実行場所がクライアントブレード側かクライアント端末側かによらずに、データはクライアントブレード側に保存可能になることによって、クライアント端末２００からのデータ漏洩や紛失等を防ぐ効果がある。
【００９９】
また、クライアント端末２００からクライアントブレード１００を遠隔操作している状態で、アプリケーション配信サーバ３００を利用していることを前提としていたが、例えば、画面描画処理の重いアプリケーション配信サーバ３００のリストをあらかじめクライアントブレード１００ないしクライアント端末２００が保持している場合、そのようなアプリケーション配信サーバ３００についての利用要求があった場合に（切り替え処理をせず）最初からクライアント端末２００からアプリケーション配信サーバ３００への直接接続を行うとしてもよい。この場合においても前述したようなブラウザの状態情報の引き継ぎ処理を行うことで、シームレスにクライアント端末２００からアプリケーション配信サーバ３００への接続を行うことが可能となる。
【０１００】
−−−処理フロー例２−−−
次に、前記プロキシサーバ４１０に認証機能を追加し、サービスに対する認証をプロキシサーバ４１０で代行する場合の手順について説明する。この場合、前記クライアントブレード１００または前記クライアント端末２００から前記アプリケーション配信サーバ３００へのアクセスを中継する前記プロキシサーバ４１０が、前記クライアントブレード１００または前記クライアント端末２００から前記アプリケーション配信サーバ３００にアクセスする際に必要な認証手順、および前記クライアントブレード１００または前記クライアント端末２００と前記アプリケーション配信サーバ３００との間のセッション維持を代行することとなる。
【０１０１】
図７は本実施形態におけるアプリケーション配信制御方法の処理フロー例２を示す図である。ここでクライアント端末２００は、入力インターフェイス１０５を介してユーザからのサービス利用要求を受け付けて、これを受けたクライアントブレード１００が前記ブラウザ１１２へ送信する（ｓ２００）。一方、前記ブラウザ１１２は、前記サービス利用要求を前記プロキシサーバ４１０へ送信する（ｓ２０１）。
【０１０２】
続いて、前記サービス利用要求を受けた前記プロキシサーバ４１０は、このサービス利用要求をアプリケーション配信サーバ３００へ送信する（ｓ２０２）。前記アプリケーション配信サーバ３００の認証プログラムは、前記サービス利用要求の受信に応じて、ユーザ認証要求を前記プキシサーバ４１０における認証情報の取得処理は、例えば、当該プロキシサーバ４１０へ送信する（ｓ２０３）。
【０１０３】
他方、前記プロキシサーバ４１０は前記ユーザ認証要求を受信し、該当ユーザについての認証情報の取得処理を行う（ｓ２０４）。このプロシサーバ４１０が前記サービス利用要求に含まれるユーザＩＤをキーにした認証情報要求を前記認証サーバ４２０に行って取得したり、或いは前記ステップｓ２０４前にプロキシサーバ４１０の入力インターフェイスを介してユーザからの入力を求めて取得するとしてもよい。
【０１０４】
次に、前記プロキシサーバ４１０は、前記ユーザの認証情報をアプリケーション配信サーバ３００へ送信する（ｓ２０５）。これを受信したアプリケーション配信サーバ３００の認証プログラム３１０は、ユーザ認証処理を行い（ｓ２０６）、この認証処理結果に問題なければサービス提供手段３１１が前記プロキシサーバ４１０を介してクライアントブレード１００にサービス提供を実行する（ｓ２０７）。
【０１０５】
その後、前記サービス提供のための前記プロキシサーバ４１０とアプリケーション配信サーバ３００とのセッションが維持された状態で、前記サービス利用要求をクライアント端末２００が入力インターフェイス２０５で受け付けて、ブラウザ２１２に送信する（ｓ２２０）。この場合、前記ブラウザ２１２は、前記サービス利用要求（ユーザＩＤ含む）を前記プロキシサーバ４１０へ送信する（ｓ２２１）。そして、前記プロキシサーバ４１０は、前記ブラウザ２１２からのサービス利用要求を受信し、前記アプリケーション配信サーバ３００へ送信することとなる（ｓ２２２）。アプリケーション配信サーバ３００のサービス提供手段３１１は、既に前記プロキシサーバ４１０による代行認証処理を経た前記ユーザのクライアント端末２００に対し、前記プロキシサーバ４１０を介してサービス提供を実行する（ｓ２２３）。
【０１０６】
上記のように、認証機能を追加したプロキシサーバ４１０を利用する場合、前記プロキシサーバ４１０は、ブラウザ２１２およびブラウザ１１２からのサービス利用要求を受けとり、アプリケーション配信サーバ３００に対して認証を代行して実行する。プロキシサーバ４１０は、アプリケーション配信サーバ３００に対してのセッションの維持のためにCookie情報等を記憶装置に保持している。なお、前記プロキシサーバ４１０の機能は、クライアントブレード１００に搭載されていてもよい。
【０１０７】
−−−他のシステム構成例−−−
次に、上記実施例の他に想定されるシステム構成について想定する。図８は、他の実施形態におけるアプリケーション配信制御システムのネットワーク構成図である。この図に示すように、この構成例においては、前記社内ネットワーク１４５に、仮想ハブサーバ４３０およびストレージ４４０が接続され、更に、アプリケーション配信サーバ３００が仮想ＬＡＮプログラム３１２を備えるものとなっている。前記仮想ＬＡＮプログラム３１２は、仮想ハブサーバ４３０と連携して仮想的なＬＡＮを構築するプログラムである（既存の仮想ＬＡＮ用のソフトウェアを採用すればよい）。
【０１０８】
この構成におけるゲートウェイサーバ４００は、外部ネットワーク１４０と社内ネットワーク１４５との中間地帯としてDMZ（DeMilitarized Zone）を形成する。前記DMZには、プロキシサーバ４１０および仮想ハブサーバ４３０が配置され、社外からの特定のポートだけは通すようになっており、HTTP、SSLプロトコルなどで通信可能である。
【０１０９】
また、前記アプリケーション配信サーバ３００および認証サーバ４２０およびストレージ４４０は、前記仮想ハブサーバ４３０に接続して仮想的なＬＡＮを形成する。前記アプリケーション配信サーバ３００と仮想ハブサーバ４３０との間は、SSLプロトコルにより接続され、ゲートウェイサーバ４００の設定を大きく変更することなく利用可能である。
【０１１０】
これによりアプリケーション配信サーバ３００の認証プログラム３１０は、前記認証サーバ４２０およびストレージ４４０と連携して、ユーザ認証を認証サーバ４２０に代行させたり、データ保存をストレージ４４０に行うことが可能となる。よって、データや認証情報といった重要な情報を社外のアプリケーション配信サーバ３００に保存するのではなく、社内のサーバに格納しておくことが可能となる。
【０１１１】
なお、前記仮想ハブサーバ４３０は、図８ではDMZに配置する構成としたがアプリケーション配信サーバ３００や認証サーバ４２０から通信可能であれば外部ネットワーク１４０上に配置されていてもよい。
【０１１２】
以上、本実施形態によれば、サーバベースコンピューティングの画面転送方式によるネットワーク負荷の低減やサーバへの負荷集中の回避を図り、ユーザの作業効率向上等が可能となる。また、SaaSおよびASPサーバのユーザ認証を自社のユーザ認証機構と容易に連携できることとなる。
【０１１３】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【０１１４】
【図１】本実施形態のアプリケーション配信制御システムのネットワーク構成図である。
【図２】本実施形態のクライアントブレードの構成例を示す図である。
【図３】本実施形態のクライアント端末の構成例を示す図である。
【図４】本実施形態のアプリケーション配信サーバの構成例を示す図である。
【図５】本実施形態における、（ａ）利用状態データ、（ｂ）セキュリティポリシーデータ、（ｃ）認証情報、の各データ構造例を示す図である。
【図６】本実施形態におけるアプリケーション配信制御方法の処理フロー例１を示す図である。
【図７】本実施形態におけるアプリケーション配信制御方法の処理フロー例２を示す図である。
【図８】他の実施形態におけるアプリケーション配信制御システムのネットワーク構成図である。
【図９】本実施形態における画面例を示す図である。
【符号の説明】
【０１１５】
１０  アプリケーション配信制御システム
５０  管理サーバ
１００  情報処理装置（シンクライアントサーバ）
１０１、３０１  ＨＤＤ（Hard Disk Drive）
１０２、２０２、３０２  プログラム
１０３、２０３、３０３  ＲＡＭ（Random Access Memory）
１０４、２０４、３０４  ＣＰＵ（Central Processing Unit）
１０５、２０５、３０５  入力インターフェイス
１０６、２０６、３０６  出力インターフェイス
１０７、２０７、３０７  通信インターフェイス
１１０  データ収集手段
１１１  データ移動手段
１１２  ブラウザ
１１３  マウント手段
１３６、２３６、３３６  ＯＳ
１２５  利用状態データ
１２６  セキュリティポリシーデータ
１２７  認証情報
１４０  外部ネットワーク
１４５  社内ネットワーク
１７０  リモートサーバプログラム
１７１、２７１  暗号化通信プログラム
２００  クライアント端末
２０１  ＴＰＭ（Trusted Platform Module）
２１０  データ設定手段
２１１  要求送信手段
２１２  ブラウザ
２７０  リモートクライアントプログラム
３００  アプリケーション配信サーバ
３１０  認証プログラム
３１１  サービス提供手段
４００  ゲートウェイサーバ
４１０  プロキシサーバ
４２０  認証サーバ
【図１】
0005236352.tif 000002
【図２】
0005236352.tif 000003
【図３】
0005236352.tif 000004
【図４】
0005236352.tif 000005
【図５】
0005236352.tif 000006
【図６】
0005236352.tif 000007
【図７】
0005236352.tif 000008
【図８】
0005236352.tif 000009
【図９】
0005236352.tif 000010