(57)【要約】【課題】利便性の高いメニュー画面を表示させることを課題とする。【解決手段】メニュー表示サーバは、端末装置が利用するメニューと、メニューを表示させるポリシーとを対応付けて記憶する。そして、メニュー表示サーバは、端末装置からアクセス要求を受信すると、記憶部に記憶されるメニューの中から、受信されたアクセス要求に基づいて決定されるアクセス時の条件と一致するポリシーに対応付けられる表示対象のメニューを特定する。その後、メニュー表示サーバは、特定された表示対象のメニューを端末装置に応答する。【選択図】図９
2015032056.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
端末装置からアクセス要求を受信する処理と、
受信した前記アクセス要求に基づいてログインを行うログイン処理と、
前記ログイン処理にてログインした端末装置のアクセス情報を取得する処理と、
アクセス情報と表示対象のメニュー項目との対応関係を記憶する記憶部を参照して、前記取得する処理で取得した前記アクセス情報に対応付けられた表示対象のメニュー項目を特定する処理と、
特定した前記表示対象のメニュー項目を前記端末装置に提供する処理と、
を実行させることを特徴とするメニュー制御プログラム。
【請求項２】
前記取得する処理は、
前記ログイン処理にて得られるログイン情報に基づいて、属するグループ、アクセス要求元の位置情報、アクセス要求時の時間情報の少なくとも１つを抽出し、
前記特定する処理は、
前記記憶部に記憶されたアクセス条件と表示対象の項目との対応関係を記憶するポリシーＤＢから読み出したポリシーから、前記抽出した情報に対応付けられる表示対象のメニュー項目を特定することを特徴とする請求項１に記載のメニュー制御プログラム。
【請求項３】
前記取得する処理は、
前記ログイン処理を行ったアクセス要求元のアドレス情報を抽出し、
抽出したアドレス情報を、前記端末装置へ情報を提供する仮想装置のアドレス情報と比較し、
抽出したアドレス情報が、前記仮想装置のアドレス情報である場合には、前記端末装置の接続を管理する管理装置から、前記端末装置に設定される設定アドレス情報を取得し、
前記特定する処理は、
設定アドレス情報を用いて前記表示対象のメニュー項目を特定することを特徴とする請求項１または２に記載のメニュー制御プログラム。
【請求項４】
前記提供する処理は、
前記特定した表示対象のメニュー項目に登録された接続先情報の認証連携の有無に応じて、前記メニュー項目の表示を変えて提供し、
前記端末装置から、認証連携が設定された接続先への接続を要求されると、前記ログイン情報に基づいて、前記接続先情報に設定される認証方式によるユーザ認証を実行させる処理を実行させることを特徴とする請求項１〜３のいずれか一つに記載のメニュー制御プログラム。
【請求項５】
端末装置からアクセス要求を受信する受信部と、
前記受信部により受信した前記アクセス要求に基づいてログインを行う認証部と、
前認証部にてログインした端末装置のアクセス情報を取得する取得部と、
アクセス情報と表示対象のメニュー項目との対応関係を記憶する記憶部を参照して、前記取得部により取得した前記アクセス情報に対応付けられた表示対象のメニュー項目を特定する特定部と、
前記特定部により特定した前記表示対象のメニュー項目を前記端末装置に提供する提供部と、
を有することを特徴とするメニュー制御装置。
【請求項６】
コンピュータが、
端末装置からアクセス要求を受信する処理と、
受信した前記アクセス要求に基づいてログインを行うログイン処理と、
前記ログイン処理にてログインした端末装置のアクセス情報を取得する処理と、
アクセス情報と表示対象のメニュー項目との対応関係を記憶する記憶部を参照して、前記取得する処理で取得した前記アクセス情報に対応付けられた表示対象のメニュー項目を特定する処理と、
特定した前記表示対象のメニュー項目を前記端末装置に提供する処理と、
を実行することを特徴とするメニュー制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メニュー制御方法、メニュー制御装置およびメニュー制御プログラムに関する。
【背景技術】
【０００２】
従来より、社外にいる社員が、スマートフォンやタブレット端末などの端末装置を用いて、外部から社内システムを利用する技術が知られている。例えば、社員の端末装置は、ＶＰＮ（Virtual  Private  Network）などのネットワークを介して、社内システムにアクセスする。そして、端末装置は、社内システムへのログインが完了すると、利用できるメニュー画面等を表示させて、社内システムを利用する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“業界初！ゲートウェイを置くだけでPC向けWeb業務画面を簡単かつスムーズにスマート端末で利用可能に”、[online]、［平成２５年７月５日検索］、インターネット＜URL:http://pr.fujitsu.com/jp/news/2013/06/18-1.html＞
【非特許文献２】“FUJITSU  Thin  Client  Solution  モバらくだ  for  スマートデバイス”、[online]、［平成２５年７月５日検索］、インターネット＜URL:http://jp.fujitsu.com/group/fnets/services/ictinfra/m-smartdevice.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、ユーザ種別、アクセス時間、アクセス場所に関係なく、表示されるメニュー画面が画一的であり、利便性が悪い。また、メニュー画面が画一的であることから、セキュリティも低下する。また、ユーザごとにメニュー画面を登録しておいたとしても、メニュー画面を変更する場合には、毎回登録作業をユーザごとに行うことになり、煩雑である。
【０００５】
１つの側面では、利便性の高いメニュー画面を表示させることができるメニュー制御方法、メニュー制御装置およびメニュー制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、コンピュータが、端末装置からアクセス要求を受信する処理を実行する。コンピュータが、受信した前記アクセス要求に基づいてログインを行うログイン処理を実行する。コンピュータが、前記ログイン処理にてログインした端末装置のアクセス情報を取得する処理を実行する。コンピュータが、アクセス情報と表示対象のメニュー項目との対応関係を記憶する記憶部を参照して、前記取得する処理で取得した前記アクセス情報に対応付けられた表示対象のメニュー項目を特定する処理を実行する。
【発明の効果】
【０００７】
本発明の一側面として、利便性の高いメニュー画面を表示させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、シンクライアントゲートウェイシステムの全体構成の一例を概略的に示した図である。
【図２】図２は、管理サーバの機能的な構成の一例を示す図である。
【図３】図３は、中継サーバ情報のデータ構成の一例を示す図である。
【図４】図４は、セッション情報のデータ構成の一例を示す図である。
【図５】図５は、システム管理画面の一例を示す図である。
【図６】図６は、セッションを確立して画像の転送を行う際の通信の流れの一例を模式的に示した図である。
【図７】図７は、セッション管理処理の手順の一例を示すフローチャートである。
【図８】図８は、セッション管理プログラムを実行するコンピュータを示す図である。
【図９】図９は、メニュー表示サーバの機能的な構成の一例を示す図である。
【図１０】図１０は、認証情報ＤＢに記憶される情報の例を示す図である。
【図１１】図１１は、接続先ＤＢに記憶される情報の例を示す図である。
【図１２】図１２は、ポリシーＤＢに記憶される情報の例を示す図である。
【図１３】図１３は、メニューの特定の具体例を説明する図である。
【図１４】図１４は、メニューの画面例を示す図である。
【図１５】図１５は、メニューの画面例を示す図である。
【図１６】図１６は、メニュー特定処理の流れを示すフローチャートである。
【図１７】図１７は、接続先Ｗｅｂの登録を説明する図である。
【図１８】図１８は、メニュー項目およびポリシーの登録を説明する図である。
【図１９】図１９は、メニュー制御プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願の開示するメニュー制御方法、メニュー制御装置およびメニュー制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることができる。
【実施例１】
【００１０】
［全体構成］
実施例１に係るシンクライアントゲートウェイシステム１０の全体構成について説明する。図１は、シンクライアントゲートウェイシステムの全体構成の一例を概略的に示した図である。シンクライアントゲートウェイシステム１０は、外部からセキュアなネットワークにアクセスを可能とするシステムである。本実施例では、外部から会社などの内部ネットワークに設けられた社内Ｗｅｂシステム１３にアクセスを行う場合を例にして説明する。
【００１１】
シンクライアントゲートウェイシステム１０は、管理サーバ２０と、画像中継サーバ２１と、仮想ブラウザサーバ２２と、メニュー表示サーバ７０とを有する。管理サーバ２０、画像中継サーバ２１および仮想ブラウザサーバ２２は、例えば、データセンターや会社に設けられたサーバコンピュータである。画像中継サーバ２１および仮想ブラウザサーバ２２は、任意の数とすることができ、最大の同時アクセス数に応じた数だけ設置される。
【００１２】
シンクライアントゲートウェイシステム１０は、外部ネットワーク１２に接続され、端末装置１１からアクセス可能とされている。かかる外部ネットワーク１２としては、有線または無線を問わず、インターネット、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）、移動体通信網などの任意の通信網が挙げられる。
【００１３】
端末装置１１は、利用者が内部ネットワークへのアクセスに用いる装置である。端末装置１１としては、スマートフォン、タブレット端末、ＰＤＡ（Personal  Digital  Assistant）などの携帯端末が挙げられる。なお、端末装置１１は、デスクトップ型ＰＣ（パーソナル・コンピュータ）、ノート型ＰＣなどの情報処理装置であってもよい。利用者は、外部から社内Ｗｅｂシステム１３を利用する場合、端末装置１１を用いてシンクライアントゲートウェイシステム１０へアクセスする。例えば、端末装置１１は、社内Ｗｅｂシステム１３にアクセスする場合、最初に管理サーバ２０へアクセスして画像中継サーバ２１へのセッションの割り当てを要求する。なお、図１の例では、端末装置１１を２台とした場合を例示したが、開示のシステムはこれに限定されず、端末装置１１を任意の数とすることができる。
【００１４】
管理サーバ２０は、端末装置１１とのセッションの管理を行う物理サーバである。ここで、画像中継サーバ２１は、後述するように、端末装置１１へ画面を転送するが、画像の転送などの処理に負荷がかかるため、端末装置１１と接続可能なセッション数に制限がある。そこで、管理サーバ２０は、各画像中継サーバ２１に接続可能なセッション数を管理する。例えば、管理サーバ２０は、各画像中継サーバ２１に対して定期的にセッションの接続状況を問い合せして接続中のセッションを管理する。管理サーバ２０は、端末装置１１から画像中継サーバ２１へのセッションの割り当てが要求され、セッションを割り当て可能な画像中継サーバ２１がある場合、セッションを割り当て可能な画像中継サーバ２１に関する情報を端末装置１１へ通知する。端末装置１１は、通知された画像中継サーバ２１にアクセスする。
【００１５】
画像中継サーバ２１は、内部ネットワークへのアクセスを中継する物理サーバである。例えば、画像中継サーバ２１は、端末装置１１からの社内Ｗｅｂシステム１３へのアクセスを中継する。画像中継サーバ２１は、端末装置１１からアクセスされると、仮想ブラウザサーバ２２へアクセスして仮想ブラウザを起動させ、端末装置１１および仮想ブラウザサーバ２２とセッションを確立する。なお、画像中継サーバ２１がアクセスする仮想ブラウザサーバ２２は、画像中継サーバ２１に対して予め対応付けておいてもよい。また、画像中継サーバ２１が各仮想ブラウザサーバ２２の負荷状態を示す情報を収集して、負荷の低い仮想ブラウザサーバ２２にアクセスするものとしてもよい。また、画像中継サーバ２１が各仮想ブラウザサーバ２２の画像中継サーバ２１との接続状況を示す情報を収集して、接続数が最も少ない仮想ブラウザサーバ２２にアクセスするものとしてもよい。
【００１６】
画像中継サーバ２１は、セッションが確立すると、仮想ブラウザサーバ２２で動作する仮想ブラウザの画面の情報を端末装置１１へ随時転送する。また、画像中継サーバ２１は、端末装置１１から仮想ブラウザに対する操作情報を受け付ける。画像中継サーバ２１は、操作情報を受け付けると、例えば、リモートデスクトップの機能を用いて、仮想ブラウザサーバ２２で動作する仮想ブラウザに対して操作情報に基づく操作を行う。また、画像中継サーバ２１は、管理サーバ２０からセッションの接続状況の問い合せを受けた場合、接続しているセッションの接続状況に関する情報を管理サーバ２０へ回答する。
【００１７】
仮想ブラウザサーバ２２は、仮想ブラウザを動作させる物理サーバである。例えば、仮想ブラウザサーバ２２は、リモートデスクトップの機能を用いて、画像中継サーバ２１からの要求によりブラウザを動作させる。そして、仮想ブラウザサーバ２２は、例えば、RemoteAppの機能を用いて、ブラウザ部分の画面を画像中継サーバ２１へ転送することにより、ブラウザを仮想ブラウザとして動作させる。また、仮想ブラウザサーバ２２は、画像中継サーバ２１とのセッションが切断されると、セッションの切断を管理サーバ２０へ通知する。例えば、仮想ブラウザサーバ２２では、端末装置１１からの社内Ｗｅｂシステム１３へのアクセスが完了して仮想ブラウザが終了する際、仮想ブラウザがセッションの切断を管理サーバ２０へ通知する。なお、仮想ブラウザが終了する際、仮想ブラウザとは異なり、仮想ブラウザの状態を監視するプログラムがセッションの切断を管理サーバ２０へ通知してもよい。
【００１８】
メニュー表示サーバ７０は、端末装置１１からアクセス要求を受け付けると、当該端末装置１１に対してメニュー画面を応答するサーバである。例えば、メニュー表示サーバ７０は、端末装置１１が利用するメニュー項目と、メニュー項目を表示させる条件を示すポリシーとを対応付けて記憶する。そして、メニュー表示サーバ７０は、端末装置１１がアクセスしたときの条件をアクセス要求から抽出する。その後、メニュー表示サーバ７０は、記憶されるメニュー項目の中から、アクセス時の条件と一致するポリシーに対応付けられる表示対象のメニュー項目を特定する。そして、メニュー表示サーバ７０は、特定された表示対象のメニュー項目を端末装置１１に応答する。
【００１９】
このように、本実施例に係るシンクライアントゲートウェイシステム１０は、端末装置１１から社内Ｗｅｂシステム１３へのアクセスが要求された場合、仮想ブラウザにより代理で社内Ｗｅｂシステム１３にアクセスさせ、当該仮想ブラウザの画面を端末装置１１へ転送する。すなわち、端末装置１１には、仮想ブラウザの画面が転送されるが、内部ネットワークのデータは転送されない。このため、内部ネットワークのセキュリティを保つことができる。また、端末装置１１には、内部ネットワークのデータが転送されないため、データの漏洩を抑制できる。
【００２０】
［管理サーバの構成］
次に、実施例１に係る管理サーバ２０の構成について説明する。図２は、管理サーバの機能的な構成の一例を示す図である。図２に示すように、管理サーバ２０は、通信Ｉ／Ｆ（インタフェース）部３０と、表示部３１と、入力部３２と、記憶部３３と、制御部３４とを有する。
【００２１】
通信Ｉ／Ｆ部３０は、他の装置との間で通信制御を行うインタフェースである。通信Ｉ／Ｆ部３０は、他の装置と各種情報を送受信する。例えば、通信Ｉ／Ｆ部３０は、外部ネットワーク１２を介して端末装置１１から画像中継サーバ２１へのセッションの割り当ての要求を受信する。また、通信Ｉ／Ｆ部３０は、仮想ブラウザサーバ２２からセッションの切断が通知される。かかる通信Ｉ／Ｆ部３０の一態様としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。
【００２２】
表示部３１は、各種情報を表示する表示デバイスである。表示部３１としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスが挙げられる。表示部３１は、各種情報を表示する。
【００２３】
入力部３２は、各種の情報を入力する入力デバイスである。例えば、入力部３２としては、マウスやキーボードなどの入力デバイスが挙げられる。入力部３２は、管理者などからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部３４に入力する。
【００２４】
記憶部３３は、ハードディスク、ＳＳＤ（Solid  State  Drive）、光ディスクなどの記憶装置である。なお、記憶部３３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）などのデータを書き換え可能な半導体メモリであってもよい。
【００２５】
記憶部３３は、制御部３４で実行されるＯＳ（Operating  System）やセッション管理に用いる各種プログラムを記憶する。さらに、記憶部３３は、制御部３４で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部３３は、中継サーバ情報４０と、セッション情報４１とを記憶する。
【００２６】
中継サーバ情報４０は、画像中継サーバ２１に関する情報を記憶したデータである。図３は、中継サーバ情報のデータ構成の一例を示す図である。図３に示すように、中継サーバ情報４０は、「サーバ名」、「ＩＰアドレス」、「セッション上限」の各項目を有する。サーバ名の項目は、画像中継サーバ２１を識別する識別情報として画像中継サーバ２１のコンピュータ名を記憶する領域である。ＩＰアドレスの項目は、画像中継サーバ２１のＩＰ（Internet  Protocol）アドレスを記憶する領域である。セッション上限の項目は、画像中継サーバ２１に接続可能なセッション数の上限値を記憶する領域である。
【００２７】
図３の例では、サーバ名が「ＲＶＥＣ＿Ａ」の画像中継サーバ２１は、ＩＰアドレスが「１９２．１６８．２０．１８５」であり、セッション上限が「１０」であることを示す。
【００２８】
セッション情報４１は、管理サーバ２０において管理するセッションに関する情報を記憶したデータである。図４は、セッション情報のデータ構成の一例を示す図である。図４に示すように、セッション情報４１は、「セッションＩＤ」、「接続日時」、「ログインＩＤ」、「状態」、「接続元ＩＰアドレス」、「画像中継ＳＶ」、「仮想ブラウザＳＶ」、「切断日時」の各項目を有する。なお、これら以外にも、端末装置１１を識別する端末ＩＤなどを含んでもよい。
【００２９】
セッションＩＤの項目は、セッションを識別する識別情報を記憶する領域である。セッションには、それぞれを識別する識別情報として、数字や文字を組み合わせてユニークなセッションＩＤが付与される。セッションＩＤの項目には、セッションに対して付与されたセッションＩＤが記憶される。接続日時の項目は、セッションの接続を開始した日時を記憶する領域である。本実施例では、接続日時の項目に、端末装置１１からセッションの割り当ての要求を受信した日時が記憶される。ログインＩＤの項目は、端末装置１１の利用者のユーザＩＤを記憶する領域である。本実施例では、セッションの割り当てを要求する際に、最初に、ユーザＩＤおよびパスワードを入力させてユーザ認証を行うものとしている。ログインＩＤの項目には、ユーザ認証で入力されたユーザＩＤが記憶される。状態の項目は、セッションの状態を記憶する領域である。本実施例では、セッションの状態として、接続中、接続、解放中、異常を用いる。接続中の状態は、セッションが割り当てられているが、セッションが確立されていない状態であることを示す。接続の状態は、セッションが確立されて画像の転送が可能な状態であることを示す。解放中の状態は、セッションを解放している途中であることを示す。異常の状態は、セッションを解放できず、異常が発生していることを示す。状態の項目は、セッションの状態に応じて随時更新される。接続元ＩＰアドレスの項目は、セッションの割り当てを要求した端末装置１１のＩＰアドレスを記憶する領域である。画像中継ＳＶの項目は、セッションにより接続されている画像中継サーバ２１のＩＰアドレスを記憶する領域である。仮想ブラウザＳＶの項目は、セッションにより接続されている仮想ブラウザサーバ２２のＩＰアドレスを記憶する領域である。切断日時の項目は、セッションの切断を開始した日時を記憶する領域である。切断日時の項目は、セッションが接続中の間、空白とされ、セッションを切断する際に日時が設定される。
【００３０】
図４の例では、セッションＩＤが「０００１」のセッションは、接続日時が「２０１３／１０／１０  ２０：３０：４０」であり、ログインＩＤが「Ａ」であり、状態が「接続中」であることを示す。また、セッションＩＤが「０００１」のセッションは、接続元ＩＰアドレスが「１０．５３．１４７．１３７」であり、画像中継ＳＶが「１９２．１６８．２０．１８５」であることを示す。また、セッションＩＤが「０００１」のセッションは、仮想ブラウザＳＶが「１９２．１６８．２０．１８１」であり、切断日時が空白であることから、セッションの切断が開始されておらず、セッションが接続中であることを示す。
【００３１】
図２に戻り、制御部３４は、管理サーバ２０を制御するデバイスである。制御部３４としては、Central  Processing  Unit（ＣＰＵ）、Micro  Processing  Unit（ＭＰＵ）等の電子回路や、Application  Specific  Integrated  Circuit（ＡＳＩＣ）、Field  Programmable  Gate  Array（ＦＰＧＡ）等の集積回路を採用できる。制御部３４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部３４は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部３４は、受付部５０と、割当部５１と、管理部５２と、解放部５３とを有する。
【００３２】
受付部５０は、各種の情報を受け付ける。例えば、受付部５０は、端末装置１１から画像中継サーバ２１へのセッションの割り当ての要求を受け付ける。
【００３３】
割当部５１は、画像中継サーバ２１へのセッションの割り当てを行う。例えば、割当部５１は、受付部５０によりセッションの割り当ての要求を受け付けると、新たなセッションＩＤを生成する。また、割当部５１は、画像中継サーバ２１毎に、使用中および使用予定のセッションのセッション数を求める。例えば、セッション情報４１に基づき、画像中継サーバ２１毎に、状態が解放中以外のセッション数を求める。本実施例では、割当部５１は、画像中継サーバ２１毎に、状態が接続中、接続、異常の何れかであるセッション数を求める。状態が接続中のセッションは、画像中継サーバ２１への割り当てが行われ、これから通信を確立させるセッションである。状態が接続のセッションは、通信が確立して使用中のセッションである。状態が異常のセッションは、何らかの理由で解放できずに残っているセッションである。このため、本実施例では、使用中および使用予定のセッションのセッション数として、状態が接続中、接続、異常の何れかであるセッション数を求める。
【００３４】
割当部５１は、セッション数が中継サーバ情報４０に記憶されたセッション上限に達していない画像中継サーバ２１を特定する。割当部５１は、セッション数がセッション上限に達していない画像中継サーバ２１が無い場合、セッション数に空きがなく接続できない旨を端末装置１１へ通知する。
【００３５】
割当部５１は、セッション数がセッション上限に達していない画像中継サーバ２１がある場合、当該画像中継サーバ２１のなかから、接続対象の画像中継サーバ２１を決定する。接続対象の画像中継サーバ２１の決定方法は、何れの方式であってもよい。例えば、割当部５１は、セッション数がセッション上限未満の画像中継サーバ２１からセッション数が最も少ない画像中継サーバ２１を接続対象の画像中継サーバ２１と決定してもよい。また、例えば、割当部５１は、セッション数がセッション上限未満の画像中継サーバ２１からセッション数が最も多い画像中継サーバ２１を接続対象の画像中継サーバ２１と決定してもよい。すなわち、割当部５１は、セッション数がセッション上限に達するまで、セッション数が多い画像中継サーバ２１を接続対象として、画像中継サーバ２１を集中的に動作させてもよい。
【００３６】
割当部５１は、セッションＩＤおよび接続対象の画像中継サーバ２１のＩＰアドレスを割り当ての要求元の端末装置１１へ通知する。
【００３７】
端末装置１１では、通知されたＩＰアドレスの画像中継サーバ２１へ通知されたセッションＩＤを通知してアクセスを行う。これにより、画像中継サーバ２１は、端末装置１１および仮想ブラウザサーバ２２とセッションを確立し、仮想ブラウザサーバ２２で動作する仮想ブラウザの画面の情報を端末装置１１へ随時転送する。
【００３８】
割当部５１は、セッション情報４１に割り当てたセッションに関する情報を格納したレコードを登録する。例えば、割当部５１は、セッションＩＤを新たなセッションＩＤとし、接続日時を現在日時とし、ログインＩＤを要求元の利用者のユーザＩＤとし、状態を接続中とし、接続元ＩＰアドレスを要求元の端末装置１１のＩＰアドレスとしたレコードを登録する。
【００３９】
管理部５２は、各画像中継サーバ２１に接続中のセッションの状態を管理する。例えば、管理部５２は、各画像中継サーバ２１に対して定期的にセッションの接続状況を問い合せる。この接続状況の問い合せを行う周期は、例えば、数秒から数分の範囲の値とするが、管理者等により外部から設定可能としてもよい。
【００４０】
画像中継サーバ２１は、管理サーバ２０からセッションの接続状況の問い合せを受けた場合、接続中のセッションに関する情報を管理サーバ２０へ回答する。例えば、画像中継サーバ２１は、接続中のセッションのセッションＩＤおよびセッションにおいて接続中の仮想ブラウザのＩＰアドレスを管理サーバ２０へ回答する。このように、画像中継サーバ２１は、接続中のセッションに関する情報を管理サーバ２０へ回答するため、例えば、端末装置１１からの接続が終了してセッションが解放された場合、解放されたセッションに関する情報は管理サーバ２０へ通知されなくなる。
【００４１】
管理部５２は、画像中継サーバ２１からの回答に応じてセッション情報４１を更新する。例えば、管理部５２は、セッションＩＤが通知されたセッションの仮想ブラウザのＩＰアドレスをセッション情報４１に登録する。また、管理部５２は、セッションＩＤが通知されたセッションのセッション情報４１の状態を接続に更新する。また、管理部５２は、セッションＩＤが通知されなくなったセッションのレコードをセッション情報４１から削除する。これにより、セッションは、端末装置１１からの接続が終了して解放されると、画像中継サーバ２１からセッションＩＤが通知されなくなるため、セッション情報４１から当該セッションのレコードが削除される。
【００４２】
また、管理部５２は、各画像中継サーバ２１に接続中のセッションの状態を画面に表示させて管理者により確認可能としている。例えば、管理部５２は、所定の操作が行われた場合、セッションの状態を確認するシステム管理画面を表示させる。なお、管理部５２は、管理サーバ２０に接続された他の管理用の端末装置から操作を受け付けて、当該端末装置にシステム管理画面を表示させてもよく、入力部３２から操作を受け付けて表示部３１にシステム管理画面を表示させるものとしてもよい。
【００４３】
図５は、システム管理画面の一例を示す図である。システム管理画面６０は、セッション毎に、セッションに関する各種情報を表示する表示領域６１を有する。図５の例では、表示領域６１に、セッションの接続日時、ログインＩＤ、状態、接続元ＩＰアドレス、画像中継ＳＶ、仮想ブラウザＳＶが表示されている。また、システム管理画面６０には、セッション毎に、セッションの切断を指示する切断ボタン６２が設けられている。
【００４４】
図２に戻り、解放部５３は、セッションの解放を行う。例えば、解放部５３は、システム管理画面６０において切断ボタン６２が選択された場合、切断が指示されたセッションにより接続される画像中継サーバ２１に対して、切断が指示されたセッションの切断を指示する。そして、解放部５３は、切断を指示したセッションのセッション情報４１の状態を解放中に更新し、切断日時に現在の日時を格納する。
【００４５】
一方、仮想ブラウザサーバ２２では、端末装置１１からの社内Ｗｅｂシステム１３へのアクセスが完了して仮想ブラウザが終了する際、仮想ブラウザがセッションの切断を管理サーバ２０へ通知する。例えば、切断されるセッションのセッションＩＤを管理サーバ２０へ通知する。
【００４６】
解放部５３は、セッションの切断が通知されると、切断が通知されたセッションのセッション情報４１の状態を解放中に更新し、切断日時に現在の日時を格納する。
【００４７】
［通信の流れ］
次に、本実施例に係るシンクライアントゲートウェイシステム１０がセッションを確立して画像の転送を行う際の通信の流れの一例を説明する。図６は、セッションを確立して画像の転送を行う際の通信の流れの一例を模式的に示した図である。
【００４８】
端末装置１１は、社内Ｗｅｂシステム１３にアクセスする場合、管理サーバ２０へアクセスして画像中継サーバ２１へのセッションの割り当てを要求する（図６（１））。
【００４９】
管理サーバ２０は、画像中継サーバ２１に対して定期的にセッションの接続状況を問い合せし、問い合せに対する回答に基づき、セッション情報４１により接続中のセッションを管理する（図６（２）（３））。
【００５０】
管理サーバ２０は、端末装置１１から画像中継サーバ２１へのセッションの割り当てが要求されると、セッションＩＤおよび割り当てた画像中継サーバ２１のＩＰアドレスを割り当ての要求元の端末装置１１へ通知する（図６（４））。
【００５１】
端末装置１１では、通知されたＩＰアドレスの画像中継サーバ２１へ通知されたセッションＩＤを通知してアクセスを行う（図６（５））。画像中継サーバ２１は、仮想ブラウザサーバ２２にアクセスを行い、セッションを確立する（図６（６））。仮想ブラウザサーバ２２は、画像中継サーバ２１からのアクセスにより、仮想ブラウザを起動して社内Ｗｅｂシステム１３にアクセスする（図６（７）（８））。
【００５２】
画像中継サーバ２１は、仮想ブラウザサーバ２２上で動作する仮想ブラウザの画面の情報を取得し（図６（９））、仮想ブラウザの画面の情報を端末装置１１へ随時転送する（図６（１０））。
【００５３】
仮想ブラウザサーバ２２では、端末装置１１からの社内Ｗｅｂシステム１３へのアクセスが完了して仮想ブラウザが終了する際、仮想ブラウザがセッションの切断を管理サーバ２０へ通知する（図６（１１））。
【００５４】
管理サーバ２０は、このように仮想ブラウザサーバ２２からセッションの切断が通知された場合、セッションの割り当てを解放する（図６（１２））。例えば、管理サーバ２０は、切断が通知されたセッションのセッション情報４１の状態を解放中に更新する。そして、管理サーバ２０は、切断が通知されたセッションにより接続された画像中継サーバ２１に対して、切断が通知されたセッションの解放を指示する（図６（１３））。
【００５５】
このように、本実施例に係る管理サーバ２０は、セッションの切断が通知された場合、セッションの割り当てを解放する。これにより、管理サーバ２０は、切断が通知されたセッションが早く解放されるため、接続可能なセッションを有効活用できる。
【００５６】
［処理の流れ］
次に、本実施例に係る管理サーバ２０が、セッションを管理するセッション管理処理の流れについて説明する。図７は、セッション管理処理の手順の一例を示すフローチャートである。このセッション管理処理は、例えば、端末装置１１から画像中継サーバ２１へのセッションの割り当ての要求を受け付けたタイミングで実行される。
【００５７】
図７に示すように、割当部５１は、新たなセッションＩＤを生成する（Ｓ１０）。また、割当部５１は、セッション情報４１および中継サーバ情報４０に基づいて、接続対象の画像中継サーバ２１を決定する（Ｓ１１）。割当部５１は、セッションＩＤおよび接続対象の画像中継サーバ２１のＩＰアドレスを接続先情報として、割り当ての要求元の端末装置１１へ返信する（Ｓ１２）。割当部５１は、セッションＩＤで割り当てたセッションに関する情報を格納したレコードをセッション情報４１に登録する（Ｓ１３）。
【００５８】
管理部５２は、各画像中継サーバ２１に対して定期的にセッションの接続状況を問い合せ、所定時間以内にセッションが確立したか否かを判定する（Ｓ１４）。所定時間以内にセッションが確立しない場合（Ｓ１４否定）、セッションの確立が失敗したものとして処理を終了する。
【００５９】
一方、所定時間以内にセッションが確立した場合（Ｓ１４肯定）、管理部５２は、セッションが確立したセッションのセッション情報４１の状態を接続に更新する（Ｓ１５）。
【００６０】
解放部５３は、仮想ブラウザからセッションの切断が通知されたか否かを判定する（Ｓ１６）。セッションの切断が通知された場合（Ｓ１６肯定）、解放部５３は、切断が通知されたセッションのセッション情報４１の状態を解放中に更新し（Ｓ１７）、後述のＳ２１へ移行する。
【００６１】
一方、セッションの切断が通知されていない場合（Ｓ１６否定）、解放部５３は、システム管理画面６０において何れかのセッションの切断が指示されたか否かを判定する（Ｓ１８）。セッションの切断が指示されていない場合（Ｓ１８否定）、上述のＳ１６へ移行する。セッションの切断が指示された場合（Ｓ１８肯定）、解放部５３は、切断が指示されたセッションにより接続される画像中継サーバ２１に対して、切断が指示されたセッションの切断を指示する（Ｓ１９）。解放部５３は、切断を指示したセッションのセッション情報４１の状態を解放中に更新する（Ｓ２０）。
【００６２】
管理部５２は、各画像中継サーバ２１に対して定期的にセッションの接続状況を問い合せし（Ｓ２１）、状態を解放中に更新したセッションが解放されたか否かを判定する（Ｓ２２）。セッションが解放された場合（Ｓ２２肯定）、解放されたセッションのセッション情報４１のレコードを削除して、処理を終了する。
【００６３】
一方、セッションが解放されていない場合（Ｓ２２否定）、管理部５２は、状態を解放中に更新してからセッションの解放にかかる一定時間を経過したか否かを判定する（Ｓ２３）。一定時間を経過していない場合（Ｓ２３否定）、上述のＳ２１へ移行する。
【００６４】
一方、一定時間を経過した場合（Ｓ２３肯定）、管理部５２は、解放されないセッションのセッション情報４１の状態を異常に更新する（Ｓ２４）。解放部５３は、状態が異常のセッションを有する画像中継サーバ２１に対して、状態が異常のセッションの解放を指示する（Ｓ２５）。管理部５２は、状態が異常のセッションのセッション情報４１のレコードを削除し（Ｓ２６）、処理を終了する。
【００６５】
管理サーバ２０は、セッションを管理する画像中継サーバ２１へのセッションの割り当てが要求された場合、画像中継サーバ２１へのセッションを割り当てる。また、管理サーバ２０は、画像中継サーバ２１に対して定期的にセッションの接続状況を問い合せして接続中のセッションを管理する。そして、管理サーバ２０は、接続中のセッションにおいて動作する仮想ブラウザからセッションが切断されたことを示す情報が通知された場合、当該セッションの割り当てを解放する。これにより、管理サーバ２０は、切断が通知されたセッションを直ぐに次に割り当てることができるため、接続可能なセッションを有効活用できる。
【００６６】
また、管理サーバ２０は、セッションを管理するシステム管理画面６０からセッションの解放が指示された場合、解放するセッションの状態を解放中として管理する。この解放中のセッションは、解放されるセッションである。管理サーバ２０は、まだ解放されていないが解放中のセッションを解放中として管理することにより、次にセッションの割り当て要求に割り当てることができるため、接続可能なセッションを有効活用できる。
【００６７】
また、管理サーバ２０は、解放されたセッションが画像中継サーバ２１に残っている場合、当該セッションの解放を画像中継サーバ２１に指示する。これにより、管理サーバ２０は、解放したセッションが画像中継サーバ２１に残っている場合、解放させることができるため、接続可能なセッションを有効活用できる。
【００６８】
次に、管理サーバ２０は、様々な処理を実行することができる。そこで、種々の異なる形態について説明する。
【００６９】
例えば、上記のシンクライアントゲートウェイシステム１０では、仮想ブラウザにより社内Ｗｅｂシステム１３の画面を転送する場合について説明したが、開示のシステムはこれに限定されない。例えば、利用者が社内で使用するＰＣの画面を転送してもよい。
【００７０】
また、上記のシンクライアントゲートウェイシステム１０では、画像中継サーバ２１と仮想ブラウザサーバ２２とを別な物理サーバとした場合について説明したが、開示の装置はこれに限定されない。例えば、画像中継サーバ２１と仮想ブラウザサーバ２２を同じ物理サーバが兼ねてもよい。また、管理サーバ２０と画像中継サーバ２１と仮想ブラウザサーバ２２は何れかが仮想マシンであってもよい。例えば、物理サーバ上で１または複数のＶＭ（Virtual  Machine：仮想マシン）を動作させ、ＶＭが管理サーバ２０と画像中継サーバ２１と仮想ブラウザサーバ２２として機能してもよい。
【００７１】
また、上記のシンクライアントゲートウェイシステム１０では、システム管理画面６０から解放が指示されたセッションおよび仮想ブラウザサーバ２２から切断が通知されたセッションの状態を解放中として管理する場合について説明したが、開示の装置はこれに限定されない。例えば、システム管理画面６０から解放が指示されたセッションおよび仮想ブラウザサーバ２２から切断が通知されたセッションのレコードをセッション情報４１から削除してもよい。
【００７２】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、管理サーバ２０の受付部５０、割当部５１、管理部５２および解放部５３の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７３】
［セッション管理プログラム］
また、上記のシンクライアントゲートウェイシステム１０で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記のシンクライアントゲートウェイシステム１０と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図８は、セッション管理プログラムを実行するコンピュータを示す図である。
【００７４】
図８に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＨＤＤ（Hard  Disk  Drive）３２０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３１０〜３４０の各部は、バス４００を介して接続される。
【００７５】
ＨＤＤ３２０には上記の管理サーバ２０の受付部５０、割当部５１、管理部５２および解放部５３と同様の機能を発揮するセッション管理プログラム３２０ａが予め記憶される。なお、セッション管理プログラム３２０ａについては、適宜分離しても良い。
【００７６】
また、ＨＤＤ３２０は、各種情報を記憶する。例えば、ＨＤＤ３２０は、ＯＳやセッション管理を含む各種の制御に用いる各種データを記憶する。
【００７７】
そして、ＣＰＵ３１０が、セッション管理プログラム３２０ａをＨＤＤ３２０から読み出して実行することで、シンクライアントゲートウェイシステム１０の各処理部と同様の動作を実行する。すなわち、セッション管理プログラム３２０ａは、受付部５０、割当部５１、管理部５２および解放部５３と同様の動作を実行する。
【００７８】
なお、上記したセッション管理プログラム３２０ａについては、必ずしも最初からＨＤＤ３２０に記憶させることを要しない。
【００７９】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００８０】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００８１】
次に、図１に示したメニュー表示サーバについて具体的に説明する。ここでは、メニュー表示サーバの構成、処理の流れ等について説明する。
【００８２】
［メニュー表示サーバの構成］
図９は、メニュー表示サーバの機能的な構成の一例を示す図である。図９に示すように、メニュー表示サーバ７０は、通信Ｉ／Ｆ部７１と、表示部７２と、入力部７３と、記憶部７４と、制御部８０とを有する。
【００８３】
通信Ｉ／Ｆ部７１は、他の装置との間で通信制御を行うインタフェースである。通信Ｉ／Ｆ部７１は、他の装置と各種情報を送受信する。例えば、通信Ｉ／Ｆ部７１は、ＶＰＮなどを介して端末装置１１からログイン要求を受信する。また、通信Ｉ／Ｆ部７１は、管理サーバ２０にログインＩＤを送信し、該当するログインＩＤの端末装置１１のＩＰアドレスを受信する。また、通信Ｉ／Ｆ部７１は、端末装置１１にメニュー画面を送信する。かかる通信Ｉ／Ｆ部７１の一態様としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。
【００８４】
表示部７２は、各種情報を表示する表示デバイスである。表示部７２としては、ＬＣＤなどの表示デバイスが挙げられる。入力部７３は、各種の情報を入力する入力デバイスである。例えば、入力部７３としては、マウスやキーボードなどの入力デバイスが挙げられる。入力部７３は、管理者などからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部８０に入力する。
【００８５】
記憶部７４は、ハードディスク、ＳＳＤ、光ディスクなどの記憶装置である。なお、記憶部７４は、ＲＡＭ、フラッシュメモリ、ＮＶＳＲＡＭなどのデータを書き換え可能な半導体メモリであってもよい。
【００８６】
また、記憶部７４は、制御部８０で実行されるＯＳ、メニュー表示制御に用いられる各種プログラム、制御部８０で実行されるプログラムで用いられる各種データを記憶する。この記憶部７４は、認証情報ＤＢ７５、接続先ＤＢ７６、ポリシーＤＢ７７を記憶する。
【００８７】
図１０は、認証情報ＤＢに記憶される情報の例を示す図である。認証情報ＤＢ７５は、端末装置１１を使用するユーザのログイン情報を記憶するデータベースである。例えば、認証情報ＤＢ７５は、ユーザを識別するログインＩＤと、ログインユーザを表示する利用者名と、ユーザ等が指定したパスワードと、ユーザが属する利用者グループとを対応付けて記憶する。
【００８８】
接続先ＤＢ７６は、端末装置１１が接続する接続先のＷｅｂサーバ等の情報を記憶するデータベースである。ここで記憶されるＷｅｂサーバが、指定されたアイコンでメニュー画面に表示される。図１１は、接続先ＤＢに記憶される情報の例を示す図である。
【００８９】
図１１に示すように、接続先ＤＢ７６は、「接続先Ｗｅｂ名、認証連携、ＵＲＬ（Uniform  Resource  Locator）または定義名」を対応付けて記憶する。ここで記憶される「接続先Ｗｅｂ名」は、接続先を示す情報である。この接続先Ｗｅｂ名がメニュー画面に表示されるアイコン、すなわちメニュー項目に該当する。「認証連携」は、当該接続先Ｗｅｂ名で指定されるＷｅｂサーバ等にアクセスする際に実行される認証方式であり、例えばＳＡＭＬ（Security  Assertion  Markup  Language）やシングルサインオンなどが設定される。「ＵＲＬまたは定義名」は、接続先Ｗｅｂ名に対応するＷｅｂサーバのＵＲＬなどである。
【００９０】
図１１の場合、「接続先Ｗｅｂ名」が「ａａａａ」であるＷｅｂサーバは、「クラウドサービス＿Ｄｅｖ」で識別されるサーバであり、ＳＡＭＬによる認証が許可された場合に利用できることを示す。また、「接続先Ｗｅｂ名」が「ｂｂｂｂ」であるＷｅｂサーバは、ＵＲＬが「http://bbbb」であるサーバであり、メニュー表示サーバ７０による認証が許可されれば利用できることを示す。
【００９１】
ポリシーＤＢ７７は、端末装置１１が利用するメニュー項目と、メニュー項目を表示させるポリシーとを対応付けて記憶するデータベースである。図１２は、ポリシーＤＢに記憶される情報の例を示す図である。図１２に示すように、ポリシーＤＢ７７は、「状態、適用順、ポリシー名、利用者グループ、対象日時、アクセス元、接続先Ｗｅｂ」を対応付けて記憶する。
【００９２】
ここで記憶される「状態」は、ポリシーが有効か無効かを示す情報であり、管理者によって設定される。「適用順」は、ポリシーの適用順序を変更する際に使用される操作ボタンであり、この例では先頭から順にポリシーの優先度が高いものとする。「ポリシー名」は、ポリシーを特定する情報である。「利用者グループ」は、メニュー項目の表示が許可される利用者のグループを示す情報である。「対象日時」は、メニュー項目の表示が許可される時間帯を示す情報である。「アクセス元」は、メニュー項目の表示が許可される端末装置１１の位置情報を示す情報である。つまり、「アクセス元」は、端末装置１１に設定されるＩＰアドレスのうち、メニュー項目の表示が許可されるＩＰアドレスを示す。「接続先Ｗｅｂ」は、端末装置１１へ提供される接続先を示す情報である。一つのポリシーに対して接続先は複数設定してもよい。
【００９３】
すなわち、「利用者グループ、対象日時、アクセス元」がポリシーに該当し、「接続先Ｗｅｂ」が接続先に該当する。したがって、「利用者グループ、対象日時、アクセス元」を満たす場合に、「接続先Ｗｅｂ」が接続先として端末装置１１に提供される。
【００９４】
例えば、「商品開発部」に属する端末装置１１が、「１０／１０−１２／３０」の間にログインし、設定されているＩＰアドレスが「１９２．１６８．１００．１〜１９２．１６８．１００．１００」の範囲内であるとする。この場合、ポリシー名「２２２」が有効と判定され、「ａａａａ」、「ｈｈｈｈ」、「ｇｇｇｇ」がメニュー項目の名称として端末装置１１の表示画面に表示される。
【００９５】
図９に戻り、制御部８０は、メニュー表示サーバ７０を制御するデバイスである。制御部８０としては、ＣＰＵやＭＰＵ等の電子回路、ＡＳＩＣやＦＰＧＡ等の集積回路を採用できる。制御部８０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。
【００９６】
制御部８０は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部８０は、ログイン認証部８１と、条件抽出部８２と、ポリシー判定部８３と、メニュー応答部８４とを有する。ログイン認証部８１は、認証部の一例である。条件抽出部８２は、取得部の一例である。ポリシー判定部８３は、特定部の一例である。メニュー応答部８４は、提供部の一例である。
【００９７】
ログイン認証部８１は、端末装置１１に対してログイン処理を実行する処理部である。具体的には、ログイン認証部８１は、ログインしていない端末装置１１からログイン要求などのアクセス要求を受信すると、ログイン画面を端末装置１１に表示させる。そして、ログイン認証部８１は、表示させたログイン画面を介して、ログインＩＤとパスワードとを受け付け、受け付けた組合せが認証情報ＤＢ７５に記憶されている場合にログインを許可し、記憶されていない場合にログインを拒否する。そして、ログイン認証部８１は、ログインを許可した場合に、ログインが許可されたことを条件抽出部８２やポリシー判定部８３に通知する。
【００９８】
条件抽出部８２は、ログイン要求などのアクセス要求から、端末装置１１がアクセスしたときの条件を抽出する処理部である。具体的には、条件抽出部８２は、ログイン認証部８１によってログイン要求が受信されると、当該ログイン要求からアクセス時の条件を抽出する。
【００９９】
例えば、条件抽出部８２は、ログイン要求からログインＩＤ、アクセス時の時間、アクセス元のＩＰアドレスなどを抽出する。このとき、条件抽出部８２は、抽出したアクセス元のＩＰアドレスが端末装置１１のＩＰアドレスではなく、仮想ブラウザサーバ２２のＩＰアドレスであるか否かを判定する。例えば、条件抽出部８２は、仮想ブラウザサーバ２２のＩＰアドレスを予め記憶しておき、抽出したＩＰアドレスが記憶されるＩＰアドレスと一致するか否かを判定する。
【０１００】
そして、条件抽出部８２は、仮想ブラウザサーバ２２のＩＰアドレスである場合、アクセス元が仮想ブラウザサーバ２２によるリモートデスクトップ機能を用いてアクセスしてきたと判定する。すると、条件抽出部８２は、ログイン要求から抽出したログインＩＤを管理サーバ２０に送信する。管理サーバ２０は、ログインＩＤからセッションを特定し、特定したセッションの接続元ＩＰアドレスを参照して、アクセス要求元の端末装置１１に設定されるＩＰアドレスを条件抽出部８２へ応答する。なお、ここでは、管理サーバ２０で管理するユーザのログインＩＤと、メニュー表示サーバ７０で管理するユーザのログインＩＤとを共通化する例で説明した。しかし、管理サーバ２０とメニュー表示サーバ７０で共通に管理可能な情報であればよく、例えば端末装置１１の端末ＩＤや、仮想ブラウザサーバなどの情報でもよい。例えば、端末装置１１の端末ＩＤが特定でき、セッション情報４１にセッションで接続された端末装置１１の端末ＩＤが記憶されている場合、条件抽出部８２は、端末装置１１の端末ＩＤを管理サーバ２０に送信してもよい。この場合、管理サーバ２０は、端末ＩＤからセッションを特定し、特定したセッションの接続元ＩＰアドレスを参照して、アクセス要求元の端末装置１１に設定されるＩＰアドレスを条件抽出部８２へ応答する。
【０１０１】
その後、条件抽出部８２は、抽出したログインＩＤと、アクセス時の時間と、アクセス元のＩＰアドレスもしくは管理サーバ２０から取得したアクセス元のＩＰアドレスとを、ポリシー判定部８３に出力する。
【０１０２】
ポリシー判定部８３は、ポリシーＤＢ７７に記憶される各ポリシーの中から、端末装置１１のアクセス時の条件と一致するポリシーを判定する処理部である。具体的には、ポリシー判定部８３は、ポリシーＤＢ７７に記憶されるポリシーを先頭から順に、アクセス時の条件と一致するかを判定する。つまり、ポリシー判定部８３は、優先度の高いポリシーから順に判定する。このとき、ポリシー判定部８３は、「状態」が「有効」であるポリシーについて判定してもよく、全部について判定してもよい。
【０１０３】
例えば、ポリシー判定部８３は、条件抽出部８２から、「ログインＩＤ＝Ｃ」、「アクセス時の時間＝１０／２０  １２：００」、「ＩＰアドレス＝１９２．１６８．１００．５０」を取得する。さらに、ポリシー判定部８３は、ログイン認証部８１または認証情報ＤＢ７５等から、ログインしたユーザが属する利用者グループが「商品開発部」であることを特定する。すなわち、ポリシー判定部８３は、アクセス時の条件が「アクセス時の時間＝１０／２０  １２：００、ＩＰアドレス＝１９２．１６８．１００．５０、利用者グループ＝商品開発部」であると特定する。
【０１０４】
そして、ポリシー判定部８３は、図１２を参照し、ポリシー名「２２２」、「２２３」、「企画開発統括部」、「１」の順に、条件が一致するか否かを判定する。具体的には、ポリシー判定部８３は、ポリシー名「２２２」について、ポリシー名「２２２」の利用者グループと対象日時とアクセス元がアクセス時の条件と一致するので、対象のポリシーと判定する。また、ポリシー判定部８３は、ポリシー名「２２３」について、ポリシー名「２２３」の利用者グループがアクセス時の条件と一致しないので、対象外のポリシーと判定する。
【０１０５】
また、ポリシー判定部８３は、ポリシー名「企画開発統括部」については、状態が無効なので、対象外のポリシーと判定する。さらに、ポリシー判定部８３は、ポリシー名「１」について、ポリシー名「１」の利用者グループと対象日時とアクセス元がアクセス時の条件と一致するので、対象のポリシーと判定する。この結果、ポリシー判定部８３は、ポリシー名「２２２」と「１」とを表示対象のポリシーとして、メニュー応答部８４に出力する。
【０１０６】
メニュー応答部８４は、ポリシー判定部８３によって表示対象と特定されたポリシーと対応付けられるメニュー項目を、ログインが許可された端末装置１１に接続先ＤＢ７６に記憶された内容を用いて応答する処理部である。具体的には、メニュー応答部８４は、重複するメニュー項目を削除し、優先度が高いメニュー項目から順に表示させたメニュー画面を端末装置１１に応答する。
【０１０７】
上記例では、メニュー応答部８４は、ポリシー名「２２２」に対応付けられる接続先Ｗｅｂ「ａａａａ、ｈｈｈｈ、ｇｇｇｇ」と、ポリシー名「１」に対応付けられる「ａａａａ」を表示対象のメニュー項目と特定する。そして、メニュー応答部８４は、重複する「ａａａａ」を１つ削除し、「ａａａａ」に対応するアイコン、「ｈｈｈｈ」に対応するアイコン、「ｇｇｇｇ」に対応するアイコンが順に表示されるメニュー画面を生成して、端末装置１１に応答する。
【０１０８】
図１３を用いて具体的に説明する。図１３は、メニューの特定の具体例を説明する図である。図１３は、ポリシー判定部８３により表示対象と特定されたポリシー、そしてポリシーに設定されたメニュー項目の一覧を示している。図１３の場合、メニュー応答部８４は、まず、優先順位が最も高いポリシーＡに対応付けられる「メニュー（８）、メニュー（４）、メニュー（３）、メニュー（１）」を表示対象のメニューと特定する。続いて、メニュー応答部８４は、次に優先順位が高いポリシーＤに対応付けられる「メニュー（５）、メニュー（４）、メニュー（３）、メニュー（１）」を表示対象のメニューと特定する。ここで、メニュー応答部８４は、「メニュー（４）、メニュー（３）、メニュー（１）」についてはすでに表示対象と特定されているので、重複するこれらのメニュー項目を対象から除外する。
【０１０９】
さらに、メニュー応答部８４は、次に優先順位が高いポリシーＣに対応付けられる「メニュー（６）、メニュー（７）、メニュー（１）、メニュー（２）、メニュー（４）」を表示対象のメニュー項目と特定する。ここで、メニュー応答部８４は、「メニュー（１）、メニュー（４）」についてはすでに表示対象と特定されているので、重複するメニュー項目を対象から除外する。さらに、メニュー応答部８４は、次に優先順位が高いポリシーＥに対応付けられる「メニュー（８）、メニュー（４）、メニュー（３）、メニュー（１）」を表示対象のメニュー項目と特定する。ここで特定されるメニュー項目は、すでに表示対象と特定されているので、表示対象から除外される。
【０１１０】
さらに、メニュー応答部８４は、次に優先順位が高いポリシーＦに対応付けられる「メニュー（１）、メニュー（２）、メニュー（３）、メニュー（４）、メニュー（５）」を表示対象のメニュー項目と特定する。ここで特定されるメニュー項目は、すでに表示対象と特定されているので、表示対象から除外される。最後に、メニュー応答部８４は、ポリシーＢに対応付けられる「メニュー（５）、メニュー（６）、メニュー（１１）、メニュー（８）」を表示対象のメニュー項目と特定する。ここで、メニュー応答部８４は、「メニュー（５）、メニュー（６）、メニュー（８）」についてはすでに表示対象と特定されているので、表示対象から除外する。
【０１１１】
上記処理の結果、メニュー応答部８４は、優先順位が高い順に「メニュー（８）、メニュー（４）、メニュー（３）、メニュー（１）、メニュー（５）、メニュー（６）、メニュー（７）、メニュー（２）、メニュー（１１）」を表示対象と特定する。そして、メニュー応答部８４は、特定したメニュー項目が順に表示されるメニュー画面を生成して、端末装置１１に応答する。この結果、端末装置１１は、アクセス時の状況に適したメニュー画面を閲覧することができる。
【０１１２】
ここで、メニュー画面の一例を説明する。図１４と図１５は、メニューの画面例を示す図である。図１４に示すように、メニュー応答部８４が生成するメニュー画面は、管理者等からの通知情報が表示される「お知らせ」と、特定された「メニュー」とを含む。ここでは、一例として、「メニュー」の欄に、「所員向けのポータルサイト、ＯＬＷｅｂ、営業情報管理、クラウドサービス、購買、工数管理、スケジュール」の各アイコンが表示される。このアイコンが上述した各接続先Ｗｅｂに該当する。また、メニューの左上から順に優先度の高いメニュー項目が表示される。なお、メニュー項目の右上に表示されるＳＳＯは、当該メニュー項目を利用する場合には後述する認証連携が実行され、シングルサインオンを実現することを示している。
【０１１３】
また、ここで表示されるメニューはアクセス時の条件によって動的に変更される。例えば、図１５では、「メニュー」の欄に、「所員向けのポータルサイト、受注エントリシステム、クラウドサービス、購買システム」の各アイコンが表示される。このように、図１５では、図１４の状態と比べて、表示されるメニュー項目が減少している。これは、同じユーザであっても、図１５のアクセス時の状態と、図１４のアクセス時の状態によって、表示されるメニューが変わることを示している。このように、メニュー表示サーバ７０は、アクセス時の状態によって動的に表示メニューを変更することができる。
【０１１４】
［処理の流れ］
図１６は、メニュー特定処理の流れを示すフローチャートである。図１６に示すように、メニュー表示サーバ７０のログイン認証部８１は、端末装置１１からログイン要求を受け付けると（Ｓ１０１：肯定）、ログイン画面を表示してユーザＩＤおよびパスワードの入力を受け付けてログイン認証を実行する（Ｓ１０２）。
【０１１５】
続いて、ログインが許可されると（Ｓ１０３：肯定）、条件抽出部８２は、ログイン要求からアクセス時の条件を抽出する（Ｓ１０４）。なお、条件抽出部８２は、ログイン認証の結果を待たずに、アクセス時の条件を抽出してもよい。また、ログインが拒否された場合（Ｓ１０３：否定）、メニュー表示サーバ７０は、処理を終了する。
【０１１６】
そして、条件抽出部８２は、ログイン要求から抽出したアクセス元のＩＰアドレスが仮想ブラウザサーバ２２のＩＰアドレスである場合（Ｓ１０５：肯定）、管理サーバ２０から端末装置１１に設定されるＩＰアドレスを取得する（Ｓ１０６）。具体的には、条件抽出部８２は、ログイン要求から抽出したログインＩＤを管理サーバ２０に送信して、ログインＩＤに対応付けられる端末装置１１のＩＰアドレスを取得する。
【０１１７】
なお、条件抽出部８２は、ログイン要求から抽出したアクセス元のＩＰアドレスが仮想ブラウザサーバ２２のＩＰアドレスではなく、端末装置１１自身のＩＰアドレスである場合（Ｓ１０５：否定）、Ｓ１０６を実行することなくＳ１０７を実行する。
【０１１８】
その後、ポリシー判定部８３は、ポリシーＤＢ７７に記憶される情報からポリシー１つを選択して、表示対象か否かを判定する（Ｓ１０７）。具体的には、ポリシー判定部８３は、ポリシーとして設定される表示条件と、アクセス時の条件とが一致するか否かを判定する。ここで、ポリシー判定部８３は、アクセス時の条件と一致したポリシーをメニュー応答部８４に通知する。
【０１１９】
そして、ポリシー判定部８３は、ポリシーＤＢ７７に記憶される各ポリシーについて、未判定のポリシーがある場合には（Ｓ１０８：肯定）、Ｓ１０７を繰り返す。また、ポリシー判定部８３によるポリシーＤＢ７７に記憶される各ポリシーについて表示対象か否かの判定が完了すると（Ｓ１０８：否定）、Ｓ１０９が実行される。
【０１２０】
具体的には、メニュー応答部８４は、表示対象と特定されたポリシーに対応付けられる各メニュー項目を優先度の高い順に並び替え、さらに、重複するメニュー項目を削除する（Ｓ１０９）。その後、メニュー応答部８４は、表示対象のメニュー項目を表示させたメニュー画面を生成して、端末装置１１に応答する（Ｓ１１０）。
【０１２１】
このように、メニュー表示サーバ７０は、各メニュー項目とポリシーを対応付けて管理し、端末装置１１がアクセスしてきたときの条件に一致するポリシーと対応付けられるメニュー項目を端末装置１１に応答することができる。したがって、メニュー表示サーバ７０は、ユーザのアクセス時の条件に応じて、表示メニューを動的に変更することができる。この結果、利便性の高いメニュー画面を表示させることができる。
【０１２２】
また、メニュー表示サーバ７０は、端末装置１１のユーザ個人だけでなく、ユーザの所属部門もアクセス時の条件に組み込むことができるので、グループごとにメニューを動的に変更することができる。この結果、メニュー表示サーバ７０は、社員が異動した場合でも社員個人に対して設定変更することなく、ポリシーによって表示メニューを簡単に変更できるので、管理の複雑さを低減できる。
【０１２３】
また、メニュー表示サーバ７０は、アクセス時の時間やＩＰアドレスによって表示するメニュー項目を変更することができるので、セキュリティを高く保つことができる。例えば、メニュー表示サーバ７０は、重要なサービスへのアクセスを時間で制限したり、ＩＰアドレスなどの位置情報で制限したりすることができる。さらに、重要なサービスへのアクセスは、アクセス時の時間だけでなく、グループごとに時間や位置を細分化して制限することができるので、セキュリティの向上が期待できる。
【実施例２】
【０１２４】
メニュー表示サーバは、実施例１以外にも様々な処理を実行することができる。そこで、実施例２では、実施例１以外の種々の異なる形態の実施例について説明する。
【０１２５】
（接続先Ｗｅｂの登録）
メニュー表示サーバ７０は、管理者等の操作によって、接続先Ｗｅｂを更新することができる。図１７は、接続先Ｗｅｂの登録を説明する図である。メニュー表示サーバ７０は、入力部７３を介して、管理者等から接続先Ｗｅｂの登録を要求する操作を受け付けると、図１７に示す管理画面を表示部７２に表示させる。
【０１２６】
図１７に示すように、メニュー表示サーバ７０は、「接続先Ｗｅｂ名、アイコン画像、認証連携、ＵＲＬ」の入力を受け付ける。「接続先Ｗｅｂ名」は、新規に登録するメニュー項目の名前を設定する項目であり、「アイコン画像」は、メニュー項目として表示されるアイコンを設定する項目である。「認証連携」は、当該メニュー項目に対応する接続先を利用する際の認証方式を設定する項目であり、「ＵＲＬ」は、当該メニュー項目のＵＲＬを設定する項目である。
【０１２７】
このように、管理者は、図１７に示す画面によって、接続先Ｗｅｂすなわちメニュー項目を随時更新することができる。また、ここでは、新規登録について説明したが、これに限定されるものではなく、接続先Ｗｅｂの削除や更新についても、管理画面上で実行することができる。
【０１２８】
（ポリシーの登録）
メニュー表示サーバ７０は、管理者等の操作によって、ポリシーを更新することができる。図１８は、メニュー項目およびポリシーの登録を説明する図である。メニュー表示サーバ７０は、入力部７３を介して、管理者等からポリシーの登録を要求する操作を受け付けると、図１８に示す管理画面を表示部７２に表示させる。
【０１２９】
図１８に示すように、メニュー表示サーバ７０は、「ポリシー名、利用者グループ、日時：月日（範囲指定）、日時：時間（範囲指定）、日時：曜日、アクセス元（範囲指定）、接続メニュー、接続先Ｗｅｂ設定」の入力を受け付ける。
【０１３０】
「ポリシー名」は、新規に登録するポリシーの名前を設定する項目であり、「利用者グループ」は、表示を許可するグループを設定する項目である。「日時：月日（範囲指定）」は、表示を許可する月と日の範囲を設定する項目であり、「日時：時間（範囲指定）」は、表示を許可する時間帯を設定する項目であり、「日時：曜日」は、表示を許可する曜日を設定する項目である。
【０１３１】
「アクセス元（範囲指定）」は、表示を許可するＩＰアドレスの範囲を設定する項目であり、「接続メニュー」は、当該ポリシーを有効にするか無効にするかを設定する項目である。「接続先Ｗｅｂ設定」は、接続先Ｗｅｂを選択する項目であり、当該ポリシーに対応付けるメニュー項目を設定する項目である。この「接続先Ｗｅｂ設定」の選択候補には、図１７で登録した「接続先Ｗｅｂ」の「接続先Ｗｅｂ名」が表示される。
【０１３２】
このように、管理者は、図１８に示す画面によって、ポリシーとメニュー項目との対応付けを随時更新することができる。また、ここでは、新規登録について説明したが、これに限定されるものではなく、ポリシーや対応付けるメニュー項目の削除や更新についても、管理画面上で実行することができる。
【０１３３】
（認証）
また、端末装置１１は、メニュー表示サーバ７０から受信したメニュー画面においてあるメニュー項目を選択することで、当該メニュー項目によって特定されるＷｅｂサーバ等にアクセスすることができる。このとき、端末装置１１は、選択したメニュー項目に認証連携が設定されている場合に、設定される認証連携を実行する。
【０１３４】
すなわち、端末装置１１は、選択したメニュー項目によって特定されるＷｅｂサーバ等にアクセスする際に、ＳＡＭＬ等に認証方式を実行して許可された場合に、当該Ｗｅｂサーバにアクセスすることができる。このようにすることで、ログイン認証だけでなく、Ｗｅｂサーバ側でも認証を実行することができ、セキュリティレベルにあわせて任意に複数の認証を実行できるので、セキュリティレベルを高く維持できる。
【０１３５】
（アクセス時の条件）
上記実施例では、ポリシーまたはアクセス時の条件として、利用者グループ、時間、アクセス元を利用する場合を説明したが、これらに限定されるものではない。例えば、いずれか１つまたは２つ以上を用いてもよく、これら以外の他の情報を用いてもよい。
【０１３６】
（システム）
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１３７】
（プログラム）
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図１９は、メニュー制御プログラムを実行するコンピュータを示す図である。
【０１３８】
図１９に示すように、コンピュータ６００は、ＣＰＵ６１０、ＨＤＤ（Hard  Disk  Drive）６２０、ＲＡＭ６４０を有する。これら６１０〜６４０の各部は、バス７００を介して接続される。
【０１３９】
ＨＤＤ６２０には上記メニュー表示サーバ７０のログイン認証部８１、条件抽出部８２、ポリシー判定部８３およびメニュー応答部８４と同様の機能を発揮するメニュー制御プログラム６２０ａが予め記憶される。なお、メニュー制御プログラム６２０ａについては、適宜分離しても良い。
【０１４０】
また、ＨＤＤ６２０は、各種情報を記憶する。例えば、ＨＤＤ６２０は、ＯＳや図９に示した各種ＤＢを記憶する。
【０１４１】
そして、ＣＰＵ６１０が、メニュー制御プログラム６２０ａをＨＤＤ６２０から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、メニュー制御プログラム６２０ａは、ログイン認証部８１、条件抽出部８２、ポリシー判定部８３およびメニュー応答部８４と同様の動作を実行する。なお、上記したメニュー制御プログラム６２０ａについては、必ずしも最初からＨＤＤ６２０に記憶させることを要しない。
【０１４２】
例えば、コンピュータ６００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ６００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１４３】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ６００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ６００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１４４】
１０  システム
１１  端末装置
１２  外部ネットワーク
１３  社内Ｗｅｂシステム
２０  管理サーバ
２１  画像中継サーバ
２２  仮想ブラウザサーバ
３０  通信Ｉ／Ｆ部
３１  表示部
３２  入力部
３３  記憶部
３４  制御部
４０  中継サーバ情報
４１  セッション情報
５０  受付部
５１  割当部
５２  管理部
５３  解放部
６０  システム管理画面
７０  メニュー表示サーバ
７１  通信Ｉ／Ｆ部
７２  表示部
７３  入力部
７４  記憶部
７５  認証情報ＤＢ
７６  接続先ＤＢ
７７  ポリシーＤＢ
８０  制御部
８１  ログイン認証部
８２  条件抽出部
８３  ポリシー判定部
８４  メニュー応答部
【図１】
2015032056.tif 000003
【図２】
2015032056.tif 000004
【図３】
2015032056.tif 000005
【図４】
2015032056.tif 000006
【図５】
2015032056.tif 000007
【図６】
2015032056.tif 000008
【図７】
2015032056.tif 000009
【図８】
2015032056.tif 000010
【図９】
2015032056.tif 000011
【図１０】
2015032056.tif 000012
【図１１】
2015032056.tif 000013
【図１２】
2015032056.tif 000014
【図１３】
2015032056.tif 000015
【図１４】
2015032056.tif 000016
【図１５】
2015032056.tif 000017
【図１６】
2015032056.tif 000018
【図１７】
2015032056.tif 000019
【図１８】
2015032056.tif 000020
【図１９】
2015032056.tif 000021