(57)【要約】【課題】端末のセキュリティを担保しつつウェブページの利便性の低下を抑制できる情報処理装置を提供する。【解決手段】本情報処理装置は、受信部、記憶部、判定部、第１送信部、取得部および第２送信部を備える。受信部は、ウェブページから変換された画像またはウェブページの識別情報を端末に提供するサーバから、識別情報を受信する。記憶部は、所定条件に該当するウェブページの識別情報を記憶する。判定部は、記憶された識別情報および受信した識別情報を基に、識別情報で識別されるウェブページが所定条件を満たすか否かを判定する。第１送信部は、識別情報で識別されるウェブページが所定条件を満たすと判定された場合、受信した識別情報をサーバに送信する。取得部は、識別情報で識別されるウェブページが所定条件を満たさないと判定された場合、識別情報で識別されるウェブページを取得する。第２送信部は、取得したウェブページをサーバに送信する。【選択図】図１
2018036890.tif 000002
【特許請求の範囲】
【請求項１】
ウェブページから変換された画像または前記ウェブページの識別情報を端末に提供するサーバから、前記識別情報を受信する受信部と、
所定条件に該当するウェブページの前記識別情報を記憶する記憶部と、
前記記憶部に記憶された識別情報および前記受信した識別情報を基に、前記識別情報で識別されるウェブページが前記所定条件を満たすか否かを判定する判定部と、
前記判定部によって前記識別情報で識別されるウェブページが前記所定条件を満たすと判定された場合、前記受信した識別情報を前記サーバに送信する第１送信部と、
前記判定部によって前記識別情報で識別されるウェブページが前記所定条件を満たさないと判定された場合、前記識別情報で識別されるウェブページを取得する取得部と、
前記取得したウェブページを前記サーバに送信する第２送信部と、を備える、
情報処理装置。
【請求項２】
前記記憶部には、画像への変換対象外となるウェブページの前記識別情報が記憶されており、
前記判定部は、前記受信した識別情報が前記記憶部に記憶されていた場合に、前記識別情報で識別されるウェブページが前記所定条件を満たすと判定する、
請求項１に記載の情報処理装置。
【請求項３】
前記記憶部には、画像への変換対象となるウェブページの前記識別情報が記憶されており、
前記判定部は、前記受信した識別情報が前記記憶部に記憶されていない場合に、前記識別情報で識別されるウェブページは前記所定条件を満たすと判定する、
請求項１に記載の情報処理装置。
【請求項４】
ウェブページまたは前記ウェブページの識別情報を受信する受信部と、
前記ウェブページを受信すると、前記受信したウェブページを画像に変換する変換部と、
前記変換した画像を宛先端末に送信する第１送信部と、
前記識別情報を受信すると、前記受信した識別情報を前記宛先端末へ送信する第２送信部と、を備える、
情報処理装置。
【請求項５】
ウェブページが変換された画像または前記ウェブページの識別情報を受信する受信部と、
前記ウェブページが変換された画像を受信すると、画像およびウェブページを表示可能な表示部に前記受信した画像を表示させる第１表示制御部と、
前記識別情報を受信すると、前記識別情報で識別されるウェブページを取得し、前記取得したウェブページを前記表示部に表示させる第２表示制御部と、を備える、
情報処理装置。
【請求項６】
前記第１表示制御部が前記変換された画像を表示させているときに前記識別情報を受信すると、前記受信した識別情報によって識別されるウェブページを表示するように前記第２表示制御部に指示をするとともに前記変換された画像の表示を終了するように前記第１表示制御部に指示をする指示部を更に備える、
請求項５に記載の情報処理装置。
【請求項７】
第１サーバ、第２サーバおよび端末が通信可能に接続された情報処理システムであって、
前記第１サーバは、
閲覧対象となるウェブページの識別情報を前記第２サーバから受信する第１受信部と、
所定条件に該当するウェブページの前記識別情報を記憶する記憶部と、
前記記憶部に記憶された識別情報および前記受信した識別情報を基に、前記閲覧対象となるウェブページが前記所定条件を満たすか否かを判定する判定部と、
前記閲覧対象となるウェブページが前記所定条件を満たすと判定された場合、前記受信した識別情報を前記第２サーバに送信する第１送信部と、
前記閲覧対象となるウェブページが前記所定条件を満たさないと判定された場合、前記閲覧対象となるウェブページを取得する取得部と、
前記取得したウェブページを前記第２サーバに送信する第２送信部と、を備え、
前記第２サーバは、
前記識別情報を前記第１サーバに送信する第３送信部と、
前記ウェブページまたは前記識別情報を前記第１サーバから受信する第２受信部と、
前記ウェブページを受信すると、前記受信したウェブページを画像に変換する変換部と、
前記変換した画像を前記端末に送信する第４送信部と、
前記識別情報を受信すると、前記受信した識別情報を前記端末へ送信する第５送信部と、を備え
前記端末は、
前記ウェブページが変換された画像または前記識別情報を前記第２サーバから受信する第３受信部と、
画像およびウェブページを表示可能な表示部に画像を表示させる第１表示制御部と、
前記識別情報で識別されるウェブページを取得し、前記取得したウェブページを前記表示部に表示させる第２表示制御部と、
前記ウェブページが変換された画像を受信すると前記受信した画像を前記表示部に出力するように前記第１表示制御部に指示し、前記識別情報を受信すると前記識別情報によって識別されるウェブページを前記表示部に出力するように前記第２表示制御部に指示をする指示部と、を備える、
情報処理システム。
【請求項８】
閲覧対象となるウェブページの識別情報を受信し、
前記受信した識別情報で識別されるウェブページを取得し、
所定条件に該当するウェブページの前記識別情報を記憶する記憶部を参照して、前記記憶部に記憶された識別情報および前記受信した識別情報を基に、前記閲覧対象となるウェブページが前記所定条件を満たすか否かを判定し、
前記閲覧対象となるウェブページが前記所定条件を満たすと判定された場合、前記取得したウェブページを画像およびウェブページを表示可能な表示部に表示させ、
前記閲覧対象となるウェブページが前記所定条件を満たさないと判定された場合、前記取得したウェブページを画像に変換し、前記変換した画像を前記表示部に表示させる、処理を含む、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システムおよび情報処理方法に関する。
【背景技術】
【０００２】
セキュリティ対策および管理コストの低減等のため、シンクライアントシステムが利用されている。シンクライアントシステムでは、シンクライアントサーバによって出力される画面がユーザによって利用されるシンクライアント端末に転送される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−０６９５４４号公報
【特許文献２】特開２００４−１５７５７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
インターネットに公開されているウェブページには、アクセスしてきたクライアント端末にマルウェアを感染させるものがある。マルウェアは、例えば、感染したクライアント端末に対してユーザの意図しない動作をさせるソフトウェアである。マルウェアは、例えば、ウェブページ上で動作する各種スクリプトを利用してクライアント端末に感染する。シンクライアントシステムでは、マルウェア感染への対策の一環として、シンクライアントサーバはウェブページの画面を画像に変換する。シンクライアントサーバは、変換した画像をシンクライアント端末に転送する。シンクライアント端末は転送された画像をディスプレイ等の表示部に表示させる。ウェブページの画面が画像に変換されることで、ウェブページ上で動作する各種スクリプトが無効となる。そのため、ウェブページ上で動作する各種スクリプトを利用したマルウェアのシンクライアント端末への感染を抑制できる。
【０００５】
しかしながら、ウェブページが画像に変換されると、例えば、動画に例示される動的なコンテンツを含むウェブページの利用が難しい。そのため、ウェブページが画像に変換されると、ウェブページを利用する上での利便性が低下する虞がある。
【０００６】
そこで、開示の技術の１つの側面は、端末のセキュリティを担保しつつウェブページの利便性の低下を抑制できる情報処理装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
開示の技術の１つの側面は、次のような情報処理装置によって例示される。本情報処理装置は、受信部、記憶部、判定部、第１送信部、取得部および第２送信部を備える。受信部は、ウェブページから変換された画像またはウェブページの識別情報を端末に提供するサーバから、識別情報を受信する。記憶部は、所定条件に該当するウェブページの識別情報を記憶する。判定部は、記憶部に記憶された識別情報および受信した識別情報を基に、識別情報で識別されるウェブページが所定条件を満たすか否かを判定する。第１送信部は、判定部によって識別情報で識別されるウェブページが所定条件を満たすと判定された場合、受信した識別情報をサーバに送信する。取得部は、判定部によって識別情報で識別されるウェブページが所定条件を満たさないと判定された場合、識別情報で識別されるウェブページを取得する。第２送信部は、取得したウェブページをサーバに送信する。
【発明の効果】
【０００８】
本情報処理装置は、端末のセキュリティを担保しつつウェブページの利便性の低下を抑
制することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係るシンクライアントシステムの構成の一例を示す図である。
【図２】図２は、情報処理装置のハードウェア構成の一例を示す図である。
【図３】図３は、プロキシサーバの処理ブロックの一例を示す図である。
【図４】図４は、シンクライアントサーバの処理ブロックの一例を示す図である。
【図５】図５は、シンクライアント端末上で稼働するシンクライアントアプリの処理ブロックの一例を示す図である。
【図６】図６は、プロキシサーバの処理フローの一例を示す第１の図である。
【図７】図７は、プロキシサーバの処理フローの一例を示す第２の図である。
【図８】図８は、プロキシサーバの処理フローの一例を示す第３の図である。
【図９】図９は、プロキシサーバの処理フローの一例を示す第４の図である。
【図１０】図１０は、プロキシサーバの処理フローの一例を示す第５の図である。
【図１１】図１１は、シンクライアントサーバの処理フローの一例を示す図である。
【図１２】図１２は、シンクライアント端末の処理の一例を示す図である。
【図１３】図１３は、実施形態に係るシンクライアントシステムによる第１シナリオの処理の一例を示す図である。
【図１４】図１４は、実施形態に係るシンクライアントシステムによる第２シナリオの処理の一例を示す第１の図である。
【図１５】図１５は、実施形態に係るシンクライアントシステムによる第２シナリオの処理の一例を示す第２の図である。
【図１６】図１６は、実施形態に係るシンクライアントシステムによる第３シナリオの処理の一例を示す第１の図である。
【図１７】図１７は、実施形態に係るシンクライアントシステムによる第３シナリオの処理の一例を示す第２の図である。
【図１８】図１８は、比較例に係るシンクライアントシステムの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、一実施形態に係るシンクライアントシステムについて説明する。以下に示す実施形態の構成は例示であり、開示の技術は実施形態の構成に限定されない。
【００１１】
＜実施形態＞
実施形態に係るシンクライアントシステムでは、アクセス先として要求されたウェブページが安全なウェブページであるか否かが判定される。安全なウェブページではないと判定された場合、ウェブページの画面を画像に変換してシンクライアント端末に転送する。シンクライアント端末は、転送された画像をディスプレイに表示する。また、安全なウェブページであると判定された場合、当該ウェブページのUniform Resource Locator（ＵＲＬ）を含む情報がシンクライアント端末に送信される。シンクライアント端末は受信したＵＲＬを基に当該ウェブページをウェブブラウザ上に表示する。以下、図面を参照して実施形態に係るシンクライアントシステムについて説明する。
【００１２】
図１は、実施形態に係るシンクライアントシステム２００の構成の一例を示す図である。実施形態に係るシンクライアントシステム２００は、プロキシサーバ２１０、シンクライアントサーバ２２０およびシンクライアント端末２３０を含む。プロキシサーバ２１０、シンクライアントサーバ２２０およびシンクライアント端末２３０は、ネットワークＮ１によって相互に接続されている。プロキシサーバ２１０は、ネットワークＮ１とは異な
るネットワークであるネットワークＮ２とも接続されている。ネットワークＮ１は、例えば、社内に構築されたイントラネットである。ネットワークＮ１は、Virtual Private Network（ＶＰＮ）によってイントラネットと接続されたネットワークを含んでもよい。ネ
ットワークＮ２は、例えば、インターネットである。プロキシサーバ２１０、シンクライアントサーバ２２０およびシンクライアント端末２３０は、情報処理装置である。ネットワークＮ１およびネットワークＮ２上では、情報処理装置はTransmission Control Protocol/Internet Protocol（ＴＣＰ／ＩＰ）によって相互に通信可能である。
【００１３】
プロキシサーバ２１０は、シンクライアントサーバ２２０およびシンクライアント端末２３０とネットワークＮ２との間の通信を中継する。プロキシサーバ２１０は、シンクライアントサーバ２２０内の仮想ブラウザ２２０ａおよびシンクライアント端末２３０からウェブページのＵＲＬを含むリクエストを受け付ける。プロキシサーバ２１０は、リクエストに含まれるＵＲＬによって指定されるウェブページが安全なウェブページであるか否かを判定する。また、プロキシサーバ２１０は、シンクライアントアプリ２３０ｂをシンクライアント端末２３０に送信する。シンクライアントアプリ２３０ｂは、例えば、HyperText Markup Language（ＨＴＭＬ）とＪａｖａＳｃｒｉｐｔ（登録商標）によって開発
されたアプリケーションである。シンクライアントアプリ２３０ｂは、例えば、ＨＴＭＬ５によって開発されたアプリケーションであってもよい。すなわち、シンクライアントアプリ２３０ｂは、ウェブブラウザ２３０ａ上で稼働可能であれば、どのように開発されてもよい。シンクライアントアプリ２３０ｂは、シンクライアント端末２３０のウェブブラウザ２３０ａ上で稼働される。プロキシサーバ２１０は、「第１サーバ」の一例である。ＵＲＬは、「識別情報」の一例である。ウェブブラウザ２３０ａは、「第２表示制御部」の一例である。シンクライアントアプリ２３０ｂは、「第１表示制御部」の一例である。
【００１４】
シンクライアントサーバ２２０内の仮想ブラウザ２２０ａは、シンクライアント端末２３０上で稼働するシンクライアントアプリ２３０ｂを経由して操作が行われる。シンクライアントアプリ２３０ｂ上でウェブページのＵＲＬを含むリクエストが入力される。リクエストが入力されると、シンクライアントアプリ２３０ｂはシンクライアントサーバ２２０の仮想ブラウザ２２０ａにリクエストを送信する。仮想ブラウザ２２０ａは、リクエストに含まれるウェブページを表示するため、プロキシサーバ２１０へ受信したリクエストを送信する。プロキシサーバ２１０においてリクエストに含まれるウェブページのＵＲＬが安全であると判定された場合、プロキシサーバ２１０からシンクライアントサーバ２２０へリクエスト情報を通知する。シンクライアントサーバ２２０は受信したリクエスト情報をウェブページ表示コマンドに変換してシンクライアントアプリ２３０ｂに送信する。ウェブページ表示コマンドは、安全であると判定されたウェブページのＵＲＬを含む。リクエストに含まれるウェブページのＵＲＬ安全ではないと判定された場合、プロキシサーバ２１０はウェブページの取得を行い、取得したウェブページデータを仮想ブラウザ２２０ａに送信する。シンクライアントサーバ２２０内の仮想ブラウザ２２０ａは受信したウェブページデータを画面に出力する。仮想ブラウザ２２０ａは、画面に出力したウェブページデータを画像に変換する。シンクライアントサーバ２２０は、変換した画像をシンクライアント端末２３０に送信する。シンクライアントサーバ２２０は、「第２サーバ」の一例である。
【００１５】
シンクライアント端末２３０は、ユーザによって利用される端末である。シンクライアント端末２３０は、ウェブブラウザ２３０ａを含む。ウェブブラウザ２３０ａは、ＨＴＭＬおよびＪａｖａＳｃｒｉｐｔを含む言語で開発されたウェブページを表示できる。また、ウェブブラウザ２３０ａは、ＨＴＭＬとＪａｖａＳｃｒｉｐｔで開発されたアプリケーションを実行できる。また、ウェブブラウザ２３０ａは、ＨＴＭＬ５によって開発されたアプリケーションも実行可能である。ウェブブラウザ２３０ａ上では、プロキシサーバ２１０から送信されたシンクライアントアプリ２３０ｂが稼働可能である。シンクライアン
トアプリ２３０ｂは、シンクライアントサーバ２２０から送信された画像を表示する。また、シンクライアントアプリ２３０ｂは、表示した画像上で行われた操作を検出する。シンクライアントアプリ２３０ｂは、検出した操作をシンクライアントサーバ２２０に送信する。さらに、シンクライアントアプリ２３０ｂは、上述のウェブページ表示コマンドを受信すると、ウェブページ表示コマンドに含まれるＵＲＬで示されるウェブページをウェブブラウザ２３０ａに表示させる。シンクライアント端末２３０は、「端末」の一例である。
【００１６】
図２は、情報処理装置１００のハードウェア構成の一例を示す図である。情報処理装置１００は、Central Processing Unit（ＣＰＵ）１０１、主記憶部１０２、補助記憶部１
０３、通信部１０４および接続バスＢ１を含む。ＣＰＵ１０１、主記憶部１０２、補助記憶部１０３および通信部１０４は、接続バスＢ１によって相互に接続されている。情報処理装置１００は、例えば、プロキシサーバ２１０、シンクライアントサーバ２２０およびシンクライアント端末２３０として利用できる。
【００１７】
情報処理装置１００では、ＣＰＵ１０１が補助記憶部１０３に記憶されたプログラムを主記憶部１０２の作業領域に展開し、プログラムの実行を通じて周辺装置の制御を行う。これにより、情報処理装置１００は、所定の目的に合致した処理を実行することができる。主記憶部１０２および補助記憶部１０３は、情報処理装置１００が読み取り可能な記録媒体である。
【００１８】
主記憶部１０２は、ＣＰＵ１０１から直接アクセスされる記憶部として例示される。主記憶部１０２は、Random Access Memory（ＲＡＭ）およびRead Only Memory（ＲＯＭ）を含む。
【００１９】
補助記憶部１０３は、各種のプログラムおよび各種のデータを読み書き自在に記録媒体に格納する。補助記憶部１０３は外部記憶装置とも呼ばれる。補助記憶部１０３には、オペレーティングシステム（Operating System、ＯＳ）、各種プログラム、各種テーブル等が格納される。ＯＳは、通信部１０４を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、コンピュータネットワーク等で接続された、他の情報処理装置および外部記憶装置が含まれる。なお、補助記憶部１０３は、例えば、ネットワーク上のコンピュータ群であるクラウドシステムの一部であってもよい。
【００２０】
補助記憶部１０３は、例えば、Erasable Programmable ROM（ＥＰＲＯＭ）、ソリッド
ステートドライブ（Solid State Drive、ＳＳＤ）、ハードディスクドライブ（Hard Disk
Drive、ＨＤＤ）等である。また、補助記憶部１０３は、例えば、Compact Disc（ＣＤ）ドライブ装置、Digital Versatile Disc（ＤＶＤ）ドライブ装置、Blu-ray（登録商標）Disc（ＢＤ）ドライブ装置等である。また、補助記憶部１０３は、Network Attached Storage（ＮＡＳ）あるいはStorage Area Network（ＳＡＮ）によって提供されてもよい。
【００２１】
情報処理装置１００が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、情報処理装置１００から読み取ることができる記録媒体をいう。このような記録媒体のうち情報処理装置１００から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、情報処理装置１００に固定された記録媒体としてハードディスク、ＳＳＤあるいはＲＯＭ等がある。
【００２２】
通信部１０４は、例えば、コンピュータネットワークとのインターフェースである。シ
ンクライアントサーバ２２０およびシンクライアント端末２３０の通信部１０４は、ネットワークＮ１とのインターフェースである。プロキシサーバ２１０は２つの通信部１０４を備え、一方はネットワークＮ１とのインターフェースであり、他方はネットワークＮ２とのインターフェースである。
【００２３】
情報処理装置１００は、例えば、ユーザ等からの操作指示等を受け付ける入力部をさらに備えてもよい。このような入力部として、キーボード、ポインティングデバイス、タッチパネル、加速度センサーあるいは音声入力装置といった入力デバイスを例示できる。
【００２４】
情報処理装置１００は、例えば、ＣＰＵ１０１で処理されるデータや主記憶部１０２に記憶されるデータを表示する表示部を備えるものとしてもよい。このような、表示部として、Cathode Ray Tube（ＣＲＴ）ディスプレイ、Liquid Crystal Display（ＬＣＤ）、Plasma Display Panel（ＰＤＰ）、Electroluminescence（ＥＬ）パネルあるいは有機ＥＬ
パネルといった表示デバイスを例示できる。
【００２５】
＜処理ブロック＞
図３、図４および図５は、それぞれプロキシサーバ２１０、シンクライアントサーバ２２０およびシンクライアント端末２３０の処理ブロックの一例を示す図である。プロキシサーバ２１０、シンクライアントサーバ２２０およびシンクライアント端末２３０は、図２に例示されるように、ＣＰＵ１０１と、主記憶部１０２とを有する。プロキシサーバ２１０、シンクライアントサーバ２２０およびシンクライアント端末２３０のＣＰＵ１０１は、この主記憶部１０２に実行可能に展開されたコンピュータプログラムにしたがって、図３、図４および図５に例示される処理ブロックとしての処理を実行する。ＣＰＵ１０１は、Microprocessor（ＭＰＵ）、プロセッサとも呼ばれる。ＣＰＵ１０１は、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のＣＰＵ１０１がマルチコア構成を有していても良い。上記処理ブロックの少なくとも一部の処理は、ＣＰＵ１０１以外のプロセッサ、例えば、Digital Signal Processor（ＤＳＰ）、Graphics Processing Unit（ＧＰＵ）、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われても良い。また、図３〜図５の処理ブロックの少なくとも一部の処理は、集積回路（ＩＣ）、その他のディジタル回路であっても良い。また、上記処理ブロックの少なくとも一部にアナログ回路が含まれても良い。集積回路は、ＬＳＩ、Application Specific Integrated Circuit
（ＡＳＩＣ）、Programmable Logic Device（ＰＬＤ）を含む。ＰＬＤは、例えば、Field-Programmable Gate Array（ＦＰＧＡ）を含む。上記処理ブロックは、プロセッサと集積回路との組み合わせであっても良い。組み合わせは、例えば、マイクロコントローラ（ＭＣＵ）、System-on-a-chip（ＳｏＣ）、システムＬＳＩ、チップセットなどと呼ばれる。
【００２６】
＜プロキシサーバ２１０の処理ブロック＞
図３は、プロキシサーバ２１０の処理ブロックの一例を示す図である。図３では、第１通信部２１１、第２通信部２１２、リクエスト受信部２１３、リクエスト判定部２１４、リクエスト情報生成部２１５、シンクライアントアプリ通知部２１６および代理リクエスト部２１７の各処理ブロックが例示されている。
【００２７】
第１通信部２１１は、ネットワークＮ１とのインターフェースである。第２通信部２１２は、ネットワークＮ２とのインターフェースである。第１通信部２１１は、図２の通信部１０４を介してネットワークＮ１との間でデータの送受信を行う。第２通信部２１２は、図２の通信部１０４を介してネットワークＮ２との間でデータの送受信を行う。
【００２８】
リクエスト受信部２１３は、第１通信部２１１を介してシンクライアントサーバ２２０およびシンクライアント端末２３０からのリクエストを受信する。リクエストは、例えば
、ウェブページのＵＲＬを含む。リクエスト受信部２１３は、受信したリクエストをリクエスト判定部２１４に送信する。リクエスト受信部２１３は、「受信部」および「第１受信部」の一例である。
【００２９】
リクエスト判定部２１４は、例えば、リクエストに含まれるＵＲＬによって識別されるウェブページが安全なウェブページであるか否かを判定する。リクエスト判定部２１４は、例えば、安全なウェブページのＵＲＬを列挙したＵＲＬリスト２１４ａを保持する。ＵＲＬリスト２１４ａは、例えば、シンクライアントシステム２００の初期設定時に作成されればよい。リクエスト判定部２１４は、リクエストに含まれるＵＲＬと一致するＵＲＬがＵＲＬリスト２１４ａに含まれているか否かを判定する。リクエストに含まれるＵＲＬがＵＲＬリスト２１４ａに含まれていた場合、リクエスト判定部２１４は、当該ＵＲＬで示されるウェブページを安全なウェブページと判定する。また、リクエストに含まれるＵＲＬがＵＲＬリスト２１４ａに含まれていなかった場合、リクエスト判定部２１４は、当該ＵＲＬで示されるウェブページを安全なウェブページではないと判定する。リクエスト判定部２１４は、「判定部」の一例である。ＵＲＬリスト２１４ａは、「記憶部」の一例である。安全なウェブページのＵＲＬは、「所定条件に該当するウェブページの前記識別情報」の一例である。
【００３０】
リクエスト情報生成部２１５は、リクエスト判定部２１４によって安全なウェブページであると判定されたウェブページのＵＲＬをシンクライアントサーバ２２０に送信する。リクエスト情報生成部２１５は、「第１送信部」の一例である。
【００３１】
シンクライアントアプリ通知部２１６は、リクエストに含まれるＵＲＬによって指定されたウェブページがリクエスト判定部２１４によって安全なウェブページではないと判定された場合、シンクライアントアプリ２３０ｂをシンクライアント端末２３０に送信する。
【００３２】
代理リクエスト部２１７は、リクエストに含まれるＵＲＬを抽出する。代理リクエスト部２１７は、抽出したＵＲＬによって識別されるウェブページにアクセスする。代理リクエスト部２１７は、アクセスしたウェブページから当該ウェブページのＨＴＭＬを含むデータを取得する。以下、本明細書において、ウェブページのＨＴＭＬを含むデータを取得することをウェブページを取得すると称する。代理リクエスト部２１７は、取得したウェブページを第１通信部２１１を介してシンクライアントサーバ２２０に送信する。代理リクエスト部２１７は、「取得部」および「第２送信部」の一例である。
【００３３】
＜シンクライアントサーバ２２０の処理ブロック＞
図４は、シンクライアントサーバ２２０の処理ブロックの一例を示す図である。図４では、ＯＳ実行部２２１、仮想ブラウザ実行部２２２、仮想ブラウザ２２０ａ、フレームバッファ保存部２２３、フレームバッファ２２４、更新矩形作成部２２５、更新矩形変換部２２６、更新情報通知部２２７、操作情報取得部２２８、通信部２２９、リクエスト情報処理部２２Ａおよびコンテナ２２Ｂの各処理ブロックが例示されている。
【００３４】
ＯＳ実行部２２１は、Application Programming Interface（ＡＰＩ）を提供する。図
４に例示される各処理部は、例えば、ＯＳ実行部２２１によって提供されるＡＰＩを利用して情報の授受を行う事ができる。
【００３５】
操作情報取得部２２８は、シンクライアント端末２３０上で稼働するシンクライアントアプリ２３０ｂ上で行われた操作情報を取得する。操作情報は、シンクライアントアプリ２３０ｂ上でマウスのクリック操作が行われた位置を示す座標データを含む。操作情報取得部２２８は、例えばＯＳ実行部２２１によって提供されるＡＰＩを利用して、取得した
操作情報を仮想ブラウザ実行部２２２に送信する。
【００３６】
仮想ブラウザ２２０ａは受信したウェブページを画像に変換してフレームバッファ２２４に出力する。フレームバッファ２２４は、出力された最新の画像が保存されるバッファである。フレームバッファ２２４は、例えば、シンクライアントサーバ２２０の主記憶部１０２上に構築される。
【００３７】
更新矩形作成部２２５は、フレームバッファ２２４の画像を取得した画像とフレームバッファ保存部２２３に保存した画像とを比較する。フレームバッファ保存部２２３は、前回取得した画像が保存されるバッファである。更新矩形作成部２２５は、当該比較に基づいて、前回取得した画像から更新された領域を含む矩形領域を抽出する。更新矩形作成部２２５は、矩形領域の抽出後、比較時に取得したフレームバッファ２２４の画像をフレームバッファ保存部２２３に保存する。フレームバッファ保存部２２３は、例えば、シンクライアントサーバ２２０の主記憶部１０２上に構築される。
【００３８】
更新矩形変換部２２６は、更新矩形作成部２２５によって抽出された矩形領域の画像を所定の画像圧縮形式で圧縮する。所定の画像圧縮形式としては、例えば、Joint Photographic Experts Group（ＪＰＥＧ）、Portable Network Graphics（ＰＮＧ）、Graphics Interchange Format（ＧＩＦ）等の様々な画像圧縮形式が採用可能である。
【００３９】
更新情報通知部２２７は、更新矩形変換部２２６によって圧縮された画像を通信部２２９を介してシンクライアント端末２３０に送信する。更新情報通知部２２７は、「第１送信部」の一例である。
【００４０】
仮想ブラウザ実行部２２２は、仮想ブラウザ２２０ａを実行する。仮想ブラウザ実行部２２２へは操作情報取得部２２８で取得された操作情報がＯＳ実行部２２１経由で通知される。通知された操作情報は仮想ブラウザ２２０ａに渡され、仮想ブラウザ２２０ａ内で表示されているウェブページへ入力される。例えば、マウスのクリック操作を含む操作情報が通知された場合、仮想ブラウザ２２０ａ上において現在マウスカーソルが存在する場所に対してクリック操作が実行される。クリック操作が実行された箇所にＵＲＬを含むリンクが存在した場合には、当該ＵＲＬが指し示すウェブページの表示操作が実行される。
【００４１】
通信部２２９は、ネットワークＮ１とのインターフェースである。通信部２２９は、図２の通信部１０４を介してネットワークＮ１との間でデータ送受信を行う。通信部２２９は、「受信部」の一例である。
【００４２】
リクエスト情報処理部２２Ａは、プロキシサーバ２１０によって安全なウェブページであると判定されたウェブページのＵＲＬを含むウェブページ表示コマンドをシンクライアントアプリ２３０ｂに送信する。リクエスト情報処理部２２Ａは、「第２送信部」の一例である。
【００４３】
コンテナ２２Ｂは、仮想ブラウザ実行部２２２、仮想ブラウザ２２０ａ、フレームバッファ保存部２２３、フレームバッファ２２４、更新矩形作成部２２５、更新矩形変換部２２６、更新情報通知部２２７、操作情報取得部２２８およびリクエスト情報処理部２２Ａを含む。コンテナ２２Ｂは、シンクライアントサーバ２２０に接続するシンクライアント端末２３０毎に用意される。あるシンクライアント端末２３０用に用意されたコンテナ２２Ｂから他のシンクライアント端末２３０用に用意されたコンテナ２２Ｂへのアクセスは禁止される。その結果、あるシンクライアント端末２３０用に用意されたコンテナ２２Ｂ内で何らかの障害が発生した場合でも、他のコンテナ２２Ｂへの影響を抑制できる。コンテナ２２Ｂは、サンドボックスとも称される。
【００４４】
＜シンクライアント端末２３０の処理ブロック＞
図５は、シンクライアント端末２３０上で稼働するシンクライアントアプリ２３０ｂの処理ブロックの一例を示す図である。図５では、通信部２３１、操作情報取得部２３２、更新情報取得部２３３、画面更新情報デコーダ２３４、フレームバッファ２３５、画面表示部２３６およびレンダリング手法切り替え部２３７の各処理ブロックが例示されている。
【００４５】
通信部２３１は、ネットワークＮ１とのインターフェースである。通信部２３１は、通信部１０４を介してネットワークＮ１との間でデータ送受信を行う。
【００４６】
操作情報取得部２３２は、ユーザがシンクライアントアプリ２３０ｂ上で行った操作を示す情報を取得する。操作情報取得部２３２は、例えば、マウスのボタンがクリックされた位置の座標値を取得する。また、操作情報取得部２３２は、キーボードから入力された文字を取得する。
【００４７】
更新情報取得部２３３は、シンクライアントサーバ２２０の更新情報通知部２２７によって送信された更新情報を受信する。画面更新情報デコーダ２３４は、更新情報通知部２２７から受信した更新情報を圧縮形式から非圧縮の画像データへとデコードし、フレームバッファに通知する。フレームバッファ２３５は、通知された非圧縮の画像データを保持する。フレームバッファ２３５は、例えば、シンクライアント端末２３０の主記憶部１０２上に構築される。
【００４８】
画面表示部２３６は、フレームバッファ２３５から画像を取得する。画像表示部２３６は、取得した画像をディスプレイ等の出力部に出力する。
【００４９】
レンダリング手法切り替え部２３７は、シンクライアントサーバ２２０のリクエスト情報処理部２２Ａからコマンドを受信する。レンダリング手法切り替え部２３７は、受信したコマンドがウェブページ表示コマンドであった場合、ウェブページ表示コマンドに含まれるＵＲＬを抽出する。レンダリング手法切り替え部２３７は、抽出したＵＲＬで示されるウェブページをウェブブラウザ２３０ａに表示させる。レンダリング手法切り替え部２３７は、「指示部」の一例である。
【００５０】
図６から図１０は、プロキシサーバ２１０の処理フローの一例を示す図である。図６は、プロキシサーバ２１０の処理フローの一例を示す第１の図である。図６では、図３のリクエスト受信部２１３およびリクエスト判定部２１４による処理が例示される。図６の「Ａ」は図７の「Ａ」に接続する。図６の「Ｂ」は、図８の「Ｂ」に接続する。図６の「Ｃ」は、図９の「Ｃ」に接続する。図６の「Ｄ」は、図１０の「Ｄ」に接続する。以下、図６を参照して、リクエスト受信部２１３およびリクエスト判定部２１４による処理の一例について説明する。
【００５１】
Ｐ１では、リクエスト受信部２１３は、第１通信部２１１を介してシンクライアントサーバ２２０またはシンクライアント端末２３０からのリクエストを受信する。リクエストは、例えば、ウェブページへのアクセス要求である。Ｐ１の処理は、「閲覧対象となるウェブページの識別情報を受信」する処理の一例である。
【００５２】
Ｐ２では、リクエスト判定部２１４は、リクエスト受信部２１３が受信したリクエストが仮想ブラウザ２２０ａからのものであるか否かを判定する。リクエスト判定部２１４は、例えば、受信したリクエストのパケットのヘッダ部分を確認する。リクエスト判定部２１４は、例えば、当該ヘッダ部分に記載された送信元ＩＰアドレスを取得する。リクエス
ト判定部２１４は、取得したＩＰアドレスがシンクライアントサーバ２２０のＩＰアドレスと一致する場合、受信したリクエストが仮想ブラウザ２２０ａからのものであると判定できる。また例えば、仮想ブラウザ２２０ａが、仮想ブラウザ２２０ａからのリクエストであることを示す情報をリクエスト内に含めてもよい。リクエスト判定部２１４は、リクエスト内に当該仮想ブラウザ２２０ａからのリクエストであることを示す情報が含まれていることで、仮想ブラウザ２２０ａからのリクエストであるか否かを判定できる。仮想ブラウザ２２０ａからのものである場合（Ｐ２でＹＥＳ）、処理はＰ３に進められる。仮想ブラウザ２２０ａからのものではない場合（Ｐ２でＮＯ）、処理はＰ５に進められる。
【００５３】
Ｐ３では、リクエスト判定部２１４は、リクエストされたウェブページが安全なウェブページであるか否かを判定する。リクエスト判定部２１４は、リクエストに含まれるＵＲＬがＵＲＬリスト２１４ａに含まれていない場合、リクエストされたウェブページは安全ではないと判定する。安全なウェブページではないと判定された場合（Ｐ３でＹＥＳ）、処理は「Ａ」に進められる。安全なウェブページではないと判定された場合（Ｐ３でＮＯ）、処理は「Ｂ」に進められる。
【００５４】
Ｐ４では、リクエスト判定部２１４は、Ｐ３と同様の処理によって、リクエストされたウェブページが安全なウェブページであるか否かが判定する。安全なウェブページであると判定された場合（Ｐ４でＹＥＳ）、処理は「Ｃ」に進められる。安全なウェブページではないと判定された場合（Ｐ４でＮＯ）、処理は「Ｄ」に進められる。Ｐ３およびＰ４の処理は、「所定条件に該当するウェブページの前記識別情報を記憶する記憶部を参照して、前記記憶部に記憶された識別情報および前記受信した識別情報を基に、前記閲覧対象となるウェブページが前記所定条件を満たすか否かを判定」する処理の一例である。
【００５５】
図７は、プロキシサーバ２１０の処理フローの一例を示す第２の図である。図７では、リクエスト情報生成部２１５による処理が例示される。以下、図７を参照して、リクエスト情報生成部２１５による処理を説明する。
【００５６】
Ｐ５では、リクエスト情報生成部２１５は、リクエスト判定部２１４によって安全なウェブページであると判定されたウェブページのＵＲＬを含むリクエスト情報を生成する。Ｐ６では、リクエスト情報生成部２１５は、生成したリクエスト情報をシンクライアントサーバ２２０に送信する。
【００５７】
図８は、プロキシサーバ２１０の処理フローの一例を示す第３の図である。図８では、リクエスト判定部２１４および代理リクエスト部２１７による処理が例示される。以下、図８を参照して、リクエスト判定部２１４および代理リクエスト部２１７による処理を説明する。
【００５８】
Ｐ７では、リクエスト判定部２１４は、受信したリクエストに含まれるＵＲＬを抽出する。リクエスト判定部２１４は、抽出したＵＲＬを代理リクエスト部２１７に渡す。Ｐ８では、代理リクエスト部２１７は、Ｐ７で渡されたＵＲＬで識別されるウェブページを取得する。Ｐ８の処理は、「前記受信した識別情報で識別されるウェブページを取得」する処理の一例である。
【００５９】
Ｐ９では、代理リクエスト部２１７は、取得したウェブページをシンクライアントサーバ２２０内の仮想ブラウザ２２０ａに送信する。
【００６０】
図９は、プロキシサーバ２１０の処理フローの一例を示す第４の図である。図９では、代理リクエスト部２１７による処理が例示される。以下、図９を参照して、代理リクエスト部２１７による処理を説明する。
【００６１】
Ｐ１０およびＰ１１の処理はＰ７およびＰ８の処理と同様である。そのため、その説明を省略する。Ｐ１２では、代理リクエスト部２１７は、取得したウェブページをシンクライアント端末２３０に送信する。Ｐ１１の処理は、「前記受信した識別情報で識別されるウェブページを取得」する処理の一例である。
【００６２】
図１０は、プロキシサーバ２１０の処理フローの一例を示す第５の図である。図１０では、シンクライアントアプリ通知部２１６による処理が例示される。以下、図１０を参照して、シンクライアントアプリ通知部２１６による処理を説明する。
【００６３】
Ｐ１３では、シンクライアントアプリ通知部２１６は、シンクライアントアプリ２３０ｂをシンクライアント端末２３０に送信する。
【００６４】
図１１は、シンクライアントサーバ２２０の処理フローの一例を示す図である。以下、図１１を参照して、シンクライアントサーバ２２０の処理フローの一例について説明する。
【００６５】
Ｔ１では、操作情報取得部２２８は、シンクライアント端末２３０からユーザの操作情報を受信したか否かを判定する。受信した場合（Ｔ１でＹＥＳ）、処理はＴ２に進められる。受信していない場合（Ｔ１でＮＯ）、Ｔ１の処理が繰り返される。
【００６６】
Ｔ２では、操作情報取得部２２８は、ＯＳ実行部２２１経由で受信した操作情報を仮想ブラウザ実行部２２２へ送信する。仮想ブラウザ実行部２２２は、受信した操作情報を仮想ブラウザ２２０ａに通知する。仮想ブラウザ２２０ａは入力された操作情報に従って処理を実行する。例えば、マウスのクリック操作がＵＲＬを含むリンク上で行われた場合、ＵＲＬで示されるウェブページにアクセスするリクエストをプロキシサーバ２１０に送信する。
【００６７】
Ｔ３では、仮想ブラウザ実行部２２０は、仮想ブラウザ２２０ａがウェブページを出力したか否かを判定する。仮想ブラウザ２２０ａは、上述の通り、安全なウェブページではないと判定されたウェブページを出力する。すなわち、仮想ブラウザ２２０ａがウェブページを出力しない場合は、リクエストされたウェブページが安全なウェブページと判定された場合である。仮想ブラウザ２２０ａがウェブページを出力した場合（Ｔ３でＹＥＳ）、処理はＴ４に進められる。仮想ブラウザ２２０ａがウェブページを出力しなかった場合（Ｔ３でＮＯ）、処理はＴ６に進められる。
【００６８】
Ｔ４では、仮想ブラウザ２２０ａは、出力したウェブページの画面を画像に変換する。変換された画像は、フレームバッファ２２４に格納される。Ｔ５では、更新矩形作成部２２５は、フレームバッファ保存部２２３およびフレームバッファ２２４に保存された画像を基に、更新された矩形領域を抽出する。抽出後、更新矩形作成部２２５は、フレームバッファ２２４に保存されていた画像をフレームバッファ保存部２２３に保存する。更新矩形変換部２２６は、更新矩形作成部２２５によって抽出された矩形領域を所定の画像圧縮形式で圧縮する。更新情報通知部２２７は、圧縮された矩形領域の画像をシンクライアント端末２３０に送信する。
【００６９】
Ｔ６では、リクエスト情報処理部２２Ａは、アクセス先となるウェブページを示すＵＲＬを含むウェブページ表示コマンドを生成する。ウェブページ表示コマンドは、上述の通り、ウェブページ表示コマンドに含まれるＵＲＬをウェブブラウザ２３０ａに引き渡す処理をシンクライアントアプリ２３０ｂに実行させるコマンドである。リクエスト情報処理部２２Ａは、生成したウェブページ表示コマンドをシンクライアント端末２３０に送信す
る。
【００７０】
図１２は、シンクライアント端末２３０の処理の一例を示す図である。図１２に例示される処理は、例えば、図１０のＰ１４の処理によってシンクライアントアプリ２３０ａを受信したシンクライアント端末２３０によって実行される。以下、図１２を参照して、シンクライアント端末２３０の処理の一例について説明する。
【００７１】
Ｃ１では、操作情報取得部２３２は、シンクライアントアプリ２３０ｂに表示されている画像に対してユーザ操作がされているか否かを判定する。ユーザ操作がされている場合（Ｃ１でＹＥＳ）、処理はＣ２に進められる。ユーザ操作がされていない場合（Ｃ１でＮＯ）、Ｃ１の処理が繰り返される。
【００７２】
Ｃ２では、操作情報取得部２３２は、操作情報をシンクライアントサーバ２２０に送信する。操作情報は、上述の通り、シンクライアントアプリ２３０ｂ上でマウスのクリック操作が行われた位置を示す座標データを含む。
【００７３】
Ｃ３では、更新情報取得部２３３は、シンクライアントサーバ２２０から更新情報を受信したか否かを判定する。更新情報を受信した場合（Ｃ３でＹＥＳ）、処理はＣ４に進められる。更新情報を受信しなかった場合（Ｃ３でＮＯ）、処理はＣ６に進められる。
【００７４】
Ｃ４では、画面更新情報デコーダ２３４は、更新情報取得部２３３が受信した更新情報の画像圧縮形式に適したデコード処理を行う。画面更新情報デコーダ２３４は、デコード処理を行った更新情報を基にディスプレイ等の出力部に表示させる画面の画像を生成する。
【００７５】
Ｃ５では、画面更新情報デコーダ２３４は、Ｃ４で生成した画像をフレームバッファ２３５に格納する。シンクライアントアプリ２３０ｂは、フレームバッファ２３５に格納された画像を表示する。Ｃ５の処理は、「前記閲覧対象となるウェブページが前記所定条件を満たさないと判定された場合、前記取得したウェブページを画像に変換し、前記変換した画像を前記表示部に表示」する処理の一例である。
【００７６】
Ｃ６では、レンダリング手法切り替え部２３７は、シンクライアントサーバ２２０からコマンドを受信する。レンダリング手法切り替え部２３７は、受信したコマンドがＵＲＬを含むか否かを判定する。換言すれば、Ｃ６では、受信したコマンドがウェブページ表示コマンドであるか否かが判定される。ＵＲＬを含む場合（Ｃ６でＹＥＳ）、処理はＣ７に進められる。ＵＲＬを含まない場合（Ｃ６でＮＯ）、処理はＣ１に戻される。
【００７７】
Ｃ７では、レンダリング手法切り替え部２３７は、受信したウェブページ表示コマンドからＵＲＬを抽出する。レンダリング手法切り替え部２３７は、抽出したＵＲＬをウェブブラウザ２３０ａに引き渡す。さらに、レンダリング手法切り替え部２３７は、ウェブブラウザ２３０ａに例えばＪａｖａＳｃｒｉｐｔのリロードコマンドを実行させることで、引き渡したＵＲＬで示されるウェブページを表示させる。リロードコマンドが実行されることで、ウェブブラウザ２３０ａは、ＵＲＬで識別されるウェブページを取得するリクエストをプロキシサーバ２１０に送信する。プロキシサーバ２１０は、図９に例示される処理によって、受信したＵＲＬで識別されるウェブページをシンクライアント端末２３０に送信する。シンクライアント端末２３０のウェブブラウザ２３０ａは、プロキシサーバ２１０から受信したウェブページを表示する。リロードコマンドは、ＵＲＬで指定されたウェブページをウェブブラウザ２３０ａに表示させるコマンドの一例である。また、ウェブブラウザ２３０ａにウェブページが表示されることで、ウェブブラウザ２３０ａ上で稼働していたシンクライアントアプリ２３０ｂは終了される。Ｃ７の処理は、「前記受信した
識別情報で識別されるウェブページを取得」する処理の一例である。Ｃ７の処理は、「前記閲覧対象となるウェブページが前記所定条件を満たすと判定された場合、前記取得したウェブページを画像およびウェブページを表示可能な表示部に表示」する処理の一例でもある。
【００７８】
以上説明したシンクライアントシステム２００における処理について、下記の各シナリオを例としてさらに説明する。
第１シナリオ：シンクライアント端末２３０が、安全なウェブページと判定されるウェブページにアクセスする。
第２シナリオ：シンクライアント端末２３０が、安全なウェブページと判定されないウェブページにアクセスする。
第３シナリオ：第２シナリオの処理に続いて、シンクライアント端末２３０が、安全なウェブページと判定されるウェブページにアクセスする。
【００７９】
（第１シナリオ）
第１シナリオでは、上述の通り、シンクライアント端末２３０が、安全なウェブページと判定されるウェブページにアクセスする。以下、本明細書において、安全なウェブページと判定されるウェブページはＷｅｂページＢと称される。ＷｅｂページＢは、例えば、ネットワークＮ１上で公開されるウェブページである。図１３は、実施形態に係るシンクライアントシステム２００による第１シナリオの処理の一例を示す図である。以下、図１３を参照して、実施形態に係るシンクライアントシステム２００による第１シナリオの処理の一例について説明する。
【００８０】
Ｘ１では、シンクライアント端末２３０のウェブブラウザ２３０ａは、ＷｅｂページＢのＵＲＬを含むリクエストをプロキシサーバ２１０に送信する。Ｘ２では、プロキシサーバ２１０のリクエスト受信部２１３は、シンクライアント端末２３０からのリクエストを受信する。Ｘ３では、プロキシサーバ２１０のリクエスト判定部２１４は、受信したリクエストに含まれるＵＲＬを基にＷｅｂページＢが安全なウェブページであるか否かを判定する。第１シナリオの場合、ＷｅｂページＢは安全なウェブページと判定される。Ｘ４では、プロキシサーバ２１０の代理リクエスト部２１７は、ＷｅｂページＢを取得する。Ｘ５では、プロキシサーバ２１０の代理リクエスト部２１７は、取得したＷｅｂページＢをシンクライアント端末２３０に送信する。Ｘ６では、シンクライアント端末２３０のウェブブラウザ２３０ａは、プロキシサーバ２１０から受信したＷｅｂページＢを表示する。
【００８１】
（第２シナリオ）
第２シナリオでは、上述の通り、シンクライアント端末２３０が、安全なウェブページと判定されないウェブページにアクセスする。以下、本明細書において、安全なウェブページと判定されないウェブページはＷｅｂページＡと称される。ＷｅｂページＡは、例えば、ネットワークＮ２上で公開されるウェブページである。図１４および図１５は、実施形態に係るシンクライアントシステム２００による第２シナリオの処理の一例を示す図である。図１４の「Ｅ１」は図１５の「Ｅ１」に接続する。図１４の「Ｅ２」は、図１５の「Ｅ２」に接続する。図１４の「Ｅ３」は、図１５の「Ｅ３」に接続する。第１シナリオと同一の処理については同一の符号を付し、その説明を省略する。以下、図１４および図１５を参照して、実施形態に係るシンクライアントシステム２００による第２シナリオの処理の一例について説明する。
【００８２】
図１４のＸ１、Ｘ２および図１５のＸ４の処理は、対象となるウェブページがＷｅｂページＡになる点を除いて図１３と同様である。そのため、その説明を省略する。Ｙ１では、プロキシサーバ２１０のリクエスト判定部２１４は、受信したリクエストに含まれるＵＲＬを基にＷｅｂページＡが安全なウェブページであるか否かを判定する。第２シナリオ
の場合、ＷｅｂページＡは安全なウェブページではないと判定される。Ｙ２では、プロキシサーバ２１０のシンクライアントアプリ通知部２１６は、シンクライアントアプリ２３０ｂをシンクライアント端末２３０に送信する。Ｙ３では、プロキシサーバ２１０は仮想ブラウザ２２０ａを起動させる指示をシンクライアントサーバ２２０へ送信する。シンクライアントサーバ２２０の仮想ブラウザ実行部２２２は、受信した指示にしたがって仮想ブラウザ２２０ａを起動する。さらに、プロキシサーバ２１０は、受信したリクエストに含まれるＵＲＬを仮想ブラウザ２２０ａに引き渡す。
【００８３】
図１５のＹ４では、シンクライアント端末２３０は、ウェブブラウザ２３０ａ上でシンクライアントアプリ２３０ｂを起動する。シンクライアントアプリ２３０ｂは、シンクライアントサーバ２２０へ接続する。Ｙ５では、仮想ブラウザ２２０ａは、ＷｅｂページＡのＵＲＬをプロキシサーバ２１０へ通知して、ＷｅｂページＡの取得をリクエストする。Ｙ６では、プロキシサーバ２１０の代理リクエスト部２１７は、Ｘ４の処理で取得したＷｅｂページＡをシンクライアントサーバ２２０に送信する。Ｙ７では、仮想ブラウザ２２０ａは、受信したＷｅｂページＡを出力する。Ｙ８では、仮想ブラウザ２２０ａは、出力した画面を画像に変換する。仮想ブラウザ２２０ａは、変換した画像をフレームバッファ２２４に保存する。更新矩形作成部２２５および更新矩形変換部２２６によって、フレームバッファ２２４に保存された画像のうち、更新された矩形領域が抽出される。Ｙ９では、更新情報通知部２２７は、抽出された矩形領域を含む更新情報をシンクライアント端末２３０に送信する。Ｙ１０では、シンクライアント端末２３０の更新情報取得部２３３は、送信された更新情報を受信する。画面表示部２３６は、フレームバッファ２３５に保存された画像と受信した更新情報とに基づいてＷｅｂページＡの画面を画像に変換した画像を表示する。
【００８４】
（第３シナリオ）
第３シナリオでは、上述の通り、第２シナリオの処理に続いて、シンクライアント端末２３０が、安全なウェブページと判定されるウェブページにアクセスする。図１６および図１７は、実施形態に係るシンクライアントシステム２００による第３シナリオの処理の一例を示す図である。図１６の「Ｅ４」は図１７の「Ｅ４」に接続する。図１６の「Ｅ５」は、図１７の「Ｅ５」に接続する。図１６の「Ｅ６」は、図１７の「Ｅ６」に接続する。以下、図１６および図１７を参照して、実施形態に係るシンクライアントシステム２００による第３シナリオの処理の一例について説明する。
【００８５】
図１６のＺ１では、シンクライアント端末２３０のシンクライアントアプリ２３０ａは、表示されたＷｅｂページＡの画像上で行われたマウスボタンのクリック操作を検出する。シンクライアントアプリ２３０ａは、クリック操作が行われた位置を示す座標データを取得する。シンクライアントアプリ２３０ａは、取得した座標データを含む操作情報をシンクライアントサーバ２２０に送信する。Ｚ２では、シンクライアントサーバ２２０の操作情報取得部２２８は、シンクライアント端末２３０から送信された操作情報を取得する。操作情報取得部２２８は、取得した操作情報を仮想ブラウザ実行部２２２に送信する。Ｚ３では、仮想ブラウザ実行部２２２は、受信した操作情報から座標データを抽出する。仮想ブラウザ実行部２２２は、操作情報を仮想ブラウザ２２０ａに反映する。ここでは、クリック操作先にＷｅｂページＢを示すＵＲＬを含むリンクが存在したとする。Ｚ４では、仮想ブラウザ２２０ａは、ＷｅｂページＢのＵＲＬを含むリクエストをプロキシサーバ２１０に送信する。Ｚ５では、プロキシサーバ２１０のリクエスト判定部２１４は、受信したリクエストに含まれるＵＲＬを基にＷｅｂページＢが安全なウェブページであるか否かを判定する。第３シナリオの場合、ＷｅｂページＢは安全なウェブページと判定される。
【００８６】
図１７のＺ６では、リクエスト情報生成部２１５は、ＷｅｂページＢのＵＲＬを含むリ
クエスト情報を生成する。Ｚ７では、リクエスト情報生成部２１５は、生成したリクエスト情報をシンクライアントサーバ２２０に送信する。Ｚ８では、シンクライアントサーバ２２０のリクエスト情報処理部２２Ａは、受信したリクエスト情報を基に、ＷｅｂページＢのＵＲＬを含むウェブページ表示コマンドを生成する。Ｚ９では、リクエスト情報処理部２２Ａは、生成したウェブページ表示コマンドをシンクライアント端末２３０に送信する。Ｚ１０では、シンクライアント端末２３０のシンクライアントアプリ２３０ａは、受信したウェブページ表示コマンドにしたがって、ウェブブラウザ２３０ａにＷｅｂページＢを表示させる。
【００８７】
＜比較例＞
実施形態との比較のため、比較例について説明する。図１８は、比較例に係るシンクライアントシステム５００の一例を示す図である。シンクライアントシステム５００は、シンクライアントサーバ５２０とシンクライアント端末５３０とを含む。シンクライアントサーバ５２０およびシンクライアント端末５３０は、情報処理装置である。シンクライアントサーバ５２０とシンクライアント端末５３０とはネットワークＮ１によって相互に通信可能に接続されている。比較例では、シンクライアントサーバ５２０はシンクライアント端末５３０からウェブページへのアクセスを要求するリクエストを受信する。リクエストを受信したシンクライアントサーバ５２０は、ＷｅｂページＡの画面を画像に変換する。シンクライアントサーバ５２０は、変換した画像をシンクライアント端末５３０に送信する。シンクライアント端末５３０は、受信した画像を表示する。以下、図面を参照して比較例について説明する。
【００８８】
比較例に係るシンクライアントシステム５００は、実施形態に係るシンクライアントシステム２００とは異なり、プロキシサーバ２１０を有さない。そのため、シンクライアントサーバ５２０は、プロキシサーバ２１０を介さずにネットワークＮ２にアクセスする。
【００８９】
シンクライアント端末５３０は、ユーザによって利用される端末である。シンクライアント端末５３０では、ウェブブラウザ２３０ａが稼働する。ウェブブラウザ２３０ａ上では、シンクライアントアプリ５３０ｂが稼働する。シンクライアントアプリ５３０ｂは、ウェブページ表示コマンドを実行できない点で、実施形態に係るシンクライアントアプリ２３０ｂと異なる。
【００９０】
シンクライアントアプリ５３０ｂは、表示された画像上で行われたマウスのボタン押下操作を検出する。シンクライアントアプリ５３０ｂは、マウスのボタンが押下された箇所の座標データを取得する。シンクライアントアプリ５３０ｂは、取得した座標データをシンクライアントサーバ５２０に送信する。シンクライアントサーバ５２０内の仮想ブラウザ２２０ａは、操作情報からマウスの押下を実行し、押下先にＵＲＬを含むリンクがある場合には、そのウェブページへのアクセスを行い表示を行う。仮想ブラウザ２２０ａは、表示したウェブページを画像に変換する。シンクライアントサーバ５２０は、変換した画像をシンクライアント端末５３０に送信する。シンクライアントアプリ５３０ｂは、画像に変換されたウェブページを受信する。
【００９１】
比較例では、シンクライアントアプリ５３０ｂは、受信した画像を表示できる。しかしながら、比較例では、表示する全てのウェブページが画像としてシンクライアント端末５３０に送信される。そのため、シンクライアントアプリ５３０ｂは、ウェブページを識別するＵＲＬを取得できない。その結果、シンクライアントアプリ５３０ｂは、ウェブブラウザ２３０ａにウェブページを表示させることができない。
【００９２】
実施形態では、シンクライアントアプリ２３０ｂは、シンクライアントサーバ２２０からウェブページ表示コマンドを受信すると、ウェブページ表示コマンドに含まれるＵＲＬ
を抽出する。シンクライアントアプリ２３０ｂは、抽出したＵＲＬで示されるウェブページをウェブブラウザ２３０ａに表示させた。そのため、実施形態によれば、シンクライアントアプリ２３０ｂは、ウェブブラウザ２３０ａにウェブページを表示させることができる。
【００９３】
実施形態では、安全なウェブページであると判定されたウェブページは画像に変換せずに、当該ウェブページのＵＲＬがシンクライアント端末２３０に送信された。そのため、実施形態に係るシンクライアントシステム２００は、表示する全てのウェブページが画像として送信される比較例よりも、シンクライアントサーバ２２０とシンクライアント端末２３０間のデータ通信量を低減できる。
【００９４】
実施形態では、プロキシサーバ２１０によって安全なウェブページであると判定されたウェブページはシンクライアント端末２３０のウェブブラウザ２３０ａで表示された。また、プロキシサーバ２１０によって安全なウェブページではないと判定されたウェブページは、シンクライアント端末２３０のシンクライアントアプリ２３０ｂ上で画像として表示された。そのため、実施形態によれば、シンクライアント端末２３０のセキュリティの低下が抑制されるとともに、安全と判定されたウェブページの利便性の低下が抑制される。
【００９５】
実施形態では、シンクライアントサーバ２２０は、フレームバッファ２２４に保存された画像のうち、更新された矩形領域を更新矩形作成部２２５によって抽出した。シンクライアントサーバ２２０は、抽出した矩形領域の画像をシンクライアント端末２３０に送信した。そのため、実施形態によれば、フレームバッファ２２４に保存された画像をそのまま送信する場合と比較して、シンクライアントサーバ２２０とシンクライアント端末２３０との間で送受信されるデータ量を低減できる。さらに、実施形態では、シンクライアントサーバ２２０は、更新矩形作成部２２５によって作成された矩形領域の画像を更新矩形変換部２２６によって圧縮した。そのため、実施形態によれば、圧縮しないで矩形領域の画像を送信する場合と比較して、シンクライアントサーバ２２０とシンクライアント端末２３０との間で送受信されるデータ量をさらに低減できる。
【００９６】
実施形態では、ＵＲＬリスト２１４ａは安全なウェブページのＵＲＬを保持した。リクエスト判定部２１４は、ＵＲＬリスト２１４ａを参照して、リクエストに含まれるＵＲＬによって指定されるウェブページが安全なウェブページであるか否かを判定した。換言すれば、実施形態では、ホワイトリスト形式でＵＲＬが列挙されたＵＲＬリスト２１４ａを基に安全なウェブページであるか否かが判定された。しかしながら、ＵＲＬリスト２１４ａはホワイトリスト形式に限定されない。ＵＲＬリスト２１４ａは、安全なウェブページではないと判定されるウェブページのＵＲＬを保持してもよい。すなわち、ＵＲＬリスト２１４ａは、ブラックリスト形式でＵＲＬが列挙されたものであってもよい。ホワイトリスト形式またはブラックリスト形式でＵＲＬが列挙されたＵＲＬリスト２１４ａは、「所定条件に該当するウェブページの前記識別情報を記憶する記憶部」の一例である。ホワイトリスト形式でＵＲＬが列挙されたＵＲＬリスト２１４ａは、「画像への変換対象外となるウェブページの前記識別情報が記憶」された「記憶部」の一例である。ブラックリスト形式でＵＲＬが列挙されたＵＲＬリスト２１４ａは、「画像への変換対象となるウェブページの前記識別情報が記憶」された「記憶部」の一例である。
【００９７】
ＵＲＬリスト２１４ａとしてホワイトリスト形式が採用された場合、ＵＲＬリスト２１４ａに登録されていないＵＲＬで識別されるウェブページは画像に変換される。また、ＵＲＬリスト２１４ａとしてブラックリスト形式が採用された場合、ＵＲＬリスト２１４ａに登録されているＵＲＬで識別されるウェブページは画像に変換される。ＵＲＬリスト２１４ａとしてホワイトリスト形式を採用した場合、あらかじめ安全性が高いと確認された
ウェブページ以外は画像に変換されることになる。そのため、ＵＲＬリスト２１４ａとしてホワイトリスト形式が採用されると、ブラックリスト形式が採用された場合よりも安全性が高くなると考えられる。また、ＵＲＬリスト２１４ａとしてブラックリスト形式が採用された場合、あらかじめ安全性が低いと確認されたウェブページ以外はウェブブラウザ２３０ａで閲覧できることになる。そのため、ＵＲＬリスト２１４ａとしてブラックリスト形式が採用されると、ホワイトリスト形式が採用された場合よりも利便性が高くなると考えられる。
【００９８】
ＵＲＬリスト２１４ａに登録されるＵＲＬは、正規表現を用いて記載されてもよい。正規表現を用いて記載されることで、例えば、ＵＲＬリスト２１４ａに登録されたＵＲＬと一部分が一致するウェブページを安全なウェブページと判定する事も可能である。すなわち、正規表現を採用することで、ＵＲＬリスト２１４ａに登録するＵＲＬをより柔軟に記載する事ができる。
【００９９】
実施形態では、プロキシサーバ２１０とシンクライアントサーバ２２０とが各々個別のサーバとして用意された。しかしながら、開示の技術はこのような構成に限定されない。開示の技術は、例えば、プロキシサーバ２１０とシンクライアントサーバ２２０とが同一のサーバとして用意されてもよい。
【０１００】
実施形態では、ウェブページ表示コマンドに含まれるＵＲＬで示されるウェブページは、ウェブブラウザ２３０ａをリロードさせることで表示された。しかしながら、ウェブページ表示コマンドに含まれるＵＲＬで示されるウェブページをウェブブラウザ２３０ａに表示させる方法はこのような方法に限定されない。ウェブページ表示コマンドに含まれるＵＲＬで示されるウェブページは、ウェブブラウザ２３０ａによって新たに開かれたウィンドウに表示されてもよい。また、ウェブページ表示コマンドに含まれるＵＲＬで示されるウェブページは、ウェブブラウザ２３０ａによって新たに開かれたタブに表示されてもよい。
【符号の説明】
【０１０１】
１００・・・情報処理装置
１０１・・・ＣＰＵ
１０２・・・主記憶部
１０３・・・補助記憶部
１０４・・・通信部
２００・・・シンクライアントシステム
２１０・・・プロキシサーバ
２１１・・・第１通信部
２１２・・・第２通信部
２１３・・・リクエスト受信部
２１４・・・リクエスト判定部
２１４ａ・・・ＵＲＬリスト
２１５・・・リクエスト情報生成部
２１６・・・シンクライアントアプリ通知部
２１７・・・代理リクエスト部
２２０、５２０・・・シンクライアントサーバ
２２１・・・ＯＳ実行部
２２２・・・仮想ブラウザ実行部
２２３・・・フレームバッファ保存部
２２４・・・フレームバッファ
２２５・・・更新矩形作成部
２２６・・・更新矩形変換部
２２７・・・更新情報通知部
２２８・・・操作情報取得部
２２９・・・通信部
２２Ａ・・・リクエスト情報処理部
２３０、５３０・・・シンクライアント端末
２３０ａ・・・ウェブブラウザ
２３０ｂ、５３０ｂ・・・シンクライアントアプリ
２３１・・・通信部
２３２・・・操作情報取得部
２３３・・・更新情報取得部
２３４・・・画面更新情報デコーダ
２３５・・・フレームバッファ
２３６・・・画面表示部
２３７・・・レンダリング手法切り替え部
５２０ｂ・・・画面取得部
Ｂ１・・・接続バス
Ｎ１、Ｎ２・・・ネットワーク
【図１】
2018036890.tif 000003
【図２】
2018036890.tif 000004
【図３】
2018036890.tif 000005
【図４】
2018036890.tif 000006
【図５】
2018036890.tif 000007
【図６】
2018036890.tif 000008
【図７】
2018036890.tif 000009
【図８】
2018036890.tif 000010
【図９】
2018036890.tif 000011
【図１０】
2018036890.tif 000012
【図１１】
2018036890.tif 000013
【図１２】
2018036890.tif 000014
【図１３】
2018036890.tif 000015
【図１４】
2018036890.tif 000016
【図１５】
2018036890.tif 000017
【図１６】
2018036890.tif 000018
【図１７】
2018036890.tif 000019
【図１８】
2018036890.tif 000020