(57)【要約】【課題】ＶＰＮの接続および切断を制御し、パフォーマンスとセキュリティの適切なバランスをとること。【解決手段】ＶＰＮ制御装置が、仮想ＨＵＢとＶＰＮで接続されているサーバへそのＶＰＮを通じて送信されるコマンドに基づいてＶＰＮを切断すべきか否かを判断し、ＶＰＮを切断すべきと判断した場合、仮想ＨＵＢへＶＰＮの切断指示を送信する。【選択図】図１
2019110395.tif 000002
【特許請求の範囲】
【請求項１】
仮想ＨＵＢとＶＰＮ（Virtual Private Network）で接続されているサーバへ前記ＶＰＮを通じて送信されるコマンドに基づいて、前記ＶＰＮを切断すべきか否かを判断する判断部と、
前記判断部が前記ＶＰＮを切断すべきと判断した場合、前記仮想ＨＵＢへ前記ＶＰＮの切断を指示する制御部と、
を備えるＶＰＮ制御装置。
【請求項２】
前記判断部は、
前記サーバへの前記コマンドの送信回数が閾値以上となった場合、前記ＶＰＮを切断すべきと判断する、
請求項１に記載のＶＰＮ制御装置。
【請求項３】
前記判断部は、
セキュリティ設定の高さに応じて、前記閾値を小さくする、
請求項２に記載のＶＰＮ制御装置。
【請求項４】
前記判断部は、
前記サーバへ送信される前記コマンドに切断フラグが含まれている場合、前記ＶＰＮを切断すべきと判断する、
請求項１に記載のＶＰＮ制御装置。
【請求項５】
複数の前記コマンドの送信順序が、端末から受信するデータと対応付けられ、
前記判断部は、
前記サーバへ送信される前記コマンドが、前記端末から受信したデータと対応付けられている前記複数のコマンドの送信順序の最後のコマンドである場合、前記ＶＰＮを切断すべきと判断する、
請求項１に記載のＶＰＮ制御装置。
【請求項６】
前記判断部は、
過去の複数の前記コマンドの送信順序および送信間隔の傾向を学習して生成された学習情報を保持し、
前記学習情報に基づいて、前記サーバへ送信される前記コマンドの後の前記送信間隔を予測し、
予測した前記送信間隔が所定の閾値以上の場合、前記ＶＰＮを切断すべきと判断する、
請求項１に記載のＶＰＮ制御装置。
【請求項７】
仮想ＨＵＢとＶＰＮ（Virtual Private Network）で接続されているサーバへ前記ＶＰＮを通じて送信されるコマンドに基づいて、前記ＶＰＮを切断すべきか否かを判断し、
前記ＶＰＮを切断すべきと判断した場合、前記仮想ＨＵＢへ前記ＶＰＮの切断を指示する、
ＶＰＮ制御方法。
【請求項８】
仮想ＨＵＢとＶＰＮ（Virtual Private Network）で接続されているサーバへ前記ＶＰＮを通じて送信されるコマンドに基づいて、前記ＶＰＮを切断すべきか否かを判断し、
前記ＶＰＮを切断すべきと判断した場合、前記仮想ＨＵＢへ前記ＶＰＮの切断を指示する、
処理をコンピュータに実行させる、
ＶＰＮ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ＶＰＮ制御装置、ＶＰＮ制御方法、および、ＶＰＮ制御プログラムに関する。
【背景技術】
【０００２】
患者が自宅の端末から、診療予約サイトを公開しているＷｅｂサーバにアクセスし、診療予約を行うと、Ｗｅｂサーバが、病院に設置されているサーバ（以下「病院サーバ」という）にアクセスし、診療予約を登録するシステムが知られている。病院サーバは、患者のセンシティブな情報を管理しているため、Ｗｅｂサーバと病院サーバとの間のネットワークは、高いセキュリティが要求される。例えば、特許文献１には、複数の拠点をＶＰＮ（Virtual Private Network）で接続する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９３１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、Ｗｅｂサーバと病院サーバとの間を常時ＶＰＮで接続しておくことは、セキュリティの低下につながる。例えば、ＷｅｂサーバおよびＶＰＮを通じて、病院サーバが不正アクセスされる可能性が高まる。一方で、Ｗｅｂサーバから病院サーバへデータを送信するたびにＶＰＮの接続と切断を行うと、パフォーマンスの低下につながる。
【０００５】
本開示は、ＶＰＮの接続および切断を制御し、パフォーマンスとセキュリティの適切なバランスをとるＶＰＮ制御装置、ＶＰＮ制御方法およびＶＰＮ制御プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本開示の一態様に係るＶＰＮ制御装置は、仮想ＨＵＢとＶＰＮ（Virtual Private Network）で接続されているサーバへ前記ＶＰＮを通じて送信されるコマンドに基づいて、前記ＶＰＮを切断すべきか否かを判断する判断部と、前記判断部が前記ＶＰＮを切断すべきと判断した場合、前記仮想ＨＵＢへ前記ＶＰＮの切断を指示する制御部と、を備える。
【０００７】
なお、これらの包括的または具体的な態様は、装置、方法、集積回路、コンピュータプログラム、または、記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本開示によれば、ＶＰＮの接続および切断を制御し、パフォーマンスとセキュリティの適切なバランスをとることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態に係る診療予約システムの構成例を示すブロック図。
【図２】診療予約の流れの例を示すシーケンスチャート。
【図３】判断部の判断方法１に係る処理例を示すフローチャート。
【図４】配分テーブルの例を示すテーブル図。
【図５】判断部の判断方法２に係る処理例を示すフローチャート。
【図６】判断部の判断方法３に係る処理例を示すフローチャート。
【図７】コマンド対応テーブルの例を示すテーブル図。
【図８】判断部の判断方法４に係る処理例を示すフローチャート。
【図９】本開示に係る各装置のハードウェア構成の例を示すブロック図。
【発明を実施するための形態】
【００１０】
以下、図面を適宜参照して、本発明の実施の形態について、詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００１１】
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【００１２】
（本実施の形態）
＜医療予約システムの構成＞
次に、図１を参照しながら、診療予約システム１０の構成について説明する。
【００１３】
診療予約システム１０は、患者が自宅等の遠隔地から病院に診療予約を行うことを実現するためのシステムである。診療予約システム１０は、患者端末１１と、ＶＰＮサーバ１２と、病院サーバ１３と、Ｗｅｂサーバ１４と、を備える。
【００１４】
患者端末１１とＷｅｂサーバ１４とは、例えば、インターネット２１を通じて、データを送受信する。Ｗｅｂサーバ１４とＶＰＮサーバ１２とは、例えば、ＬＡＮ（Local Area Network）２２を通じて、データを送受信する。ＶＰＮサーバ１２と病院サーバ１３とは、例えば、インターネット２１上に確立したＶＰＮ２３を通じて、データを送受信する。
【００１５】
患者端末１１は、患者が診療予約を行う際に利用する端末である。患者端末１１は、例えば、ＰＣ、携帯電話、スマートフォン、タブレット等である。患者は、患者端末１１で実行されるＷｅｂブラウザ３１またはアプリケーションプログラム（図示せず）を通じて、診療予約を行う。以下、患者端末１１が主体の説明は、Ｗｅｂブラウザ３１またはアプリケーションプログラムが主体であってもよい。
【００１６】
ＶＰＮサーバ１２は、仮想ＨＵＢ３２を生成および稼働させる。仮想ＨＵＢ３２は、Ｗｅｂサーバ１４との間にＶＰＮセッションを確立する。また、仮想ＨＵＢ３２は、病院サーバ１３との間にＶＰＮセッションを確立する。仮想ＨＵＢ３２とＶＰＮセッションを確立したＷｅｂサーバ１４と病院サーバ１３とは、ＶＰＮ２３で接続されている状態、すなわち、仮想的にＬＡＮで接続されている状態となる。
【００１７】
病院サーバ１３は、診療予約の受付及び管理を行う。また、病院サーバ１３は、病院側の診療予約を制御するための第１のＷｅｂＡＰＩを提供し、ＶＰＮ２３を通じて、第１のＷｅｂＡＰＩに対応する実行コマンドを受け付ける。第１のＷｅｂＡＰＩは、病院サーバ１３とＶＰＮ２３で接続されていない装置（例えば患者端末１１）には公開されず、利用もできない。実行コマンドは、例えば、第１のＷｅｂＡＰＩに対応するＪＳＯＮ形式のデータである。
【００１８】
Ｗｅｂサーバ１４は、インターネット２１上に診療予約のＷｅｂサイトを公開する。また、Ｗｅｂサーバ１４は、患者から診療予約を受け付けるための第２のＷｅｂＡＰＩを提供し、第２のＷｅｂＡＰＩに対応する受信コマンドを受け付ける。第２のＷｅｂＡＰＩは、インターネット２１に公開され、患者端末１１から利用できる。受信コマンドは、例えば、第２のＷｅｂＡＰＩに対応するＪＳＯＮ形式のデータである。
【００１９】
また、Ｗｅｂサーバ１４は、患者端末１１から受信コマンドを受信すると、当該受信コマンドに対応する少なくとも１つの実行コマンドを生成し、病院サーバ１３へ送信する。なお、当該処理の具体例については後述する（図２参照）。
【００２０】
また、Ｗｅｂサーバ１４は、ＶＰＮ制御モジュール１００を備える。ＶＰＮ制御モジュール１００は、Ｗｅｂサーバ１４からＶＰＮ２３を通じて病院サーバ１３へ送信される実行コマンドに基づいて、仮想ＨＵＢ３２と病院サーバ１３との間のＶＰＮ２３の接続および切断を制御する。ＶＰＮ制御モジュール１００は、Ｗｅｂサーバ１４上で実行されるコンピュータプログラムである。ただし、ＶＰＮ制御モジュール１００は、これに限られず、Ｗｅｂサーバ１４に備えられた装置、ＬＳＩ、ＦＰＧＡ等で実現されるＶＰＮ制御装置であってもよい。または、ＶＰＮ制御モジュール１００は、Ｗｅｂサーバ１４に備えられたＶＰＮサーバ１２側のネットワークＩ／Ｆで実現されるＶＰＮ制御装置であってもよい。なお、ＶＰＮ制御モジュール１００の詳細については後述する。
【００２１】
＜予約シーケンス＞
次に、図２を参照しながら、患者が病院に診療予約を行う際のシーケンス（予約シーケンス）について説明する。
【００２２】
患者がＷｅｂブラウザ３１からＷｅｂサーバ１４へアクセスすると（Ｓ１）、Ｗｅｂブラウザ３１に診療予約画面が表示される（Ｓ２）。
【００２３】
患者が診療予約画面に自分の患者情報を入力すると、Ｗｅｂブラウザ３１は、入力された患者情報（受信コマンド）をＷｅｂサーバ１４へ送信する（Ｓ１１）。患者情報は、病院サーバ１３が患者を識別するための情報であり、例えば、氏名、性別、年齢、住所、電話番号または病院の発行した診察券番号、或いは、それらの組み合わせ等である。
【００２４】
Ｗｅｂサーバ１４は、患者情報を受信し、その患者情報を含む認証コマンド（実行コマンド）を生成し、病院サーバ１３へ送信する（Ｓ１２）。
【００２５】
病院サーバ１３は、認証コマンドを受信し、その認証コマンドに含まれる患者情報を認証する。そして、病院サーバ１３は、認証に成功した場合、成功応答をＷｅｂサーバ１４へ送信する（Ｓ１３）。
【００２６】
Ｗｅｂサーバ１４は、その成功応答を受信し、次に、保険種別取得コマンド（実行コマンド）を、病院サーバ１３へ送信する（Ｓ１４）。保険種別は、患者が使用する医療保険の種別を示す情報である。保険種別には、公的医療保険、民間医療保険などがある。公的医療保険には、日本国の場合、健康保険、国民健康保険などがあり、インドネシア共和国の場合、公的医療保険の運営機関として、ＢＰＪＳ（Badan Penyelenggara Jaminan Sosial）がある。
【００２７】
病院サーバ１３は、その保険種別取得コマンドを受信し、保険種別リストを含む応答を、Ｗｅｂサーバ１４へ送信する（Ｓ１５）。保険種別リストには、少なくとも１つの保険種別の情報が含まれる。
【００２８】
Ｗｅｂサーバ１４は、その応答を受信し、その応答に含まれる保険種別リストを用いて、保険種別選択用の画面を生成するためのデータ（以下「保険種別選択画面データ」という）を生成し、Ｗｅｂブラウザ３１へ送信する（Ｓ１６）。保険種別選択画面データは、例えば、ＨＴＭＬおよびJavaScript（登録商標）等で構成されているデータである。
【００２９】
Ｗｅｂブラウザ３１は、その保険選択画面データを受信し、保険種別選択画面を表示し、患者から保険種別の選択を受け付ける（Ｓ１７）。
【００３０】
患者が保険種別選択画面から今回の診療で利用する保険種別を選択すると、Ｗｅｂブラウザ３１は、その選択された保険種別（以下「選択保険種別」という）の情報をＷｅｂサーバ１４へ送信する（Ｓ１８）。
【００３１】
Ｗｅｂサーバ１４は、その選択保険種別の情報（受信コマンド）を受信し、その選択保険種別を含む保険種別設定コマンド（実行コマンド）を生成し、病院サーバ１３へ送信する（Ｓ１９）。
【００３２】
病院サーバ１３は、その保険種別設定コマンドを受信し、当該保険種別設定コマンドに含まれる選択保険種別を、患者情報の患者が利用する保険種別に設定し、完了応答をＷｅｂサーバ１４へ送信する（Ｓ２０）。
【００３３】
Ｗｅｂサーバ１４は、その完了応答を受信し、次に、予約日時選択用の画面を生成するためのデータ（以下「予約日時選択画面データ」という）を生成し、Ｗｅｂブラウザ３１へ送信する（Ｓ２１）。
【００３４】
Ｗｅｂブラウザ３１は、その予約日時選択画面データを受信し、予約日時選択画面を表示し、患者から予約日時の選択を受け付ける（Ｓ２２）。
【００３５】
患者が予約日時選択画面から受診の予約日時を選択すると、Ｗｅｂブラウザ３１は、その選択された予約日時（以下「選択予約日時」という）の情報をＷｅｂサーバ１４へ送信する（Ｓ２３）。
【００３６】
Ｗｅｂサーバ１４は、その選択予約日時の情報（受信コマンド）を受信し、その選択予約日時を含む予約日時設定コマンド（実行コマンド）を生成し、病院サーバ１３へ送信する（Ｓ２４）。
【００３７】
病院サーバ１３は、その予約日時設定コマンドを受信し、当該予約日時設定コマンドに含まれる選択予約日時を、患者情報の患者が受診する予約日時に設定し、完了応答をＷｅｂサーバ１４へ送信する（Ｓ２５）。
【００３８】
Ｗｅｂサーバ１４は、その完了応答を受信し、次に、診療科取得コマンド（実行コマンド）を、病院サーバ１３へ送信する（Ｓ２６）。
【００３９】
病院サーバ１３は、その診療科取得コマンドを受信し、診療科リストを含む応答を、Ｗｅｂサーバ１４へ送信する（Ｓ２７）。診療科リストには、少なくとも１つの診療科の情報が含まれている。
【００４０】
Ｗｅｂサーバ１４は、その応答を受信し、次に、医師取得コマンド（実行コマンド）を、病院サーバ１３へ送信する（Ｓ２８）。
【００４１】
病院サーバ１３は、その医師取得コマンドを受信し、医師リストを含む応答を、Ｗｅｂサーバ１４へ送信する（Ｓ２９）。医師リストには、少なくとも１人の医師の情報が含まれている。
【００４２】
Ｗｅｂサーバ１４は、その応答を受信し、その応答に含まれる医師リストと、Ｓ２８で受信した応答に含まれる診療科リストとを用いて、診療科及び医師選択用の画面を生成するためのデータ（以下「診療科及び医師選択画面データ」という）を生成し、Ｗｅｂブラウザ３１へ送信する（Ｓ３０）。
【００４３】
Ｗｅｂブラウザ３１は、診療科及び医師選択用画面データを受信し、診療科及び医師選択画面を表示し、患者から診療科及び医師の選択を受け付ける（Ｓ３１）。
【００４４】
患者が診療科及び医師選択画面から受診する診療科及び医師を選択すると、Ｗｅｂブラウザ３１は、その選択された診療科（以下「選択診療科」という）及び選択された医師（以下「選択医師」という）の情報をＷｅｂサーバ１４へ送信する（Ｓ３２）。
【００４５】
Ｗｅｂサーバ１４は、その選択診療科及び選択医師の情報（受信コマンド）を受信し、選択診療科を含む診療科設定コマンド（実行コマンド）を生成し、病院サーバ１３へ送信する（Ｓ３３）。
【００４６】
病院サーバ１３は、その診療科設定コマンドを受信し、当該診療科設定コマンドに含まれる選択診療科を、患者情報の患者が受診する診療科に設定し、完了応答をＷｅｂサーバ１４へ送信する（Ｓ３４）。
【００４７】
Ｗｅｂサーバ１４は、その完了応答を受信し、次に、選択医師を含む医師設定コマンド（実行コマンド）を生成し、病院サーバ１３へ送信する（Ｓ３５）。
【００４８】
病院サーバ１３は、その医師設定コマンドを受信し、当該医師設定コマンドに含まれる選択医師を、患者情報の患者が受診する医師に設定し、完了応答をＷｅｂサーバ１４へ送信する（Ｓ３６）。
【００４９】
Ｗｅｂサーバ１４は、その完了応答を受信し、予約完了用の画面を生成するためのデータ（以下「予約完了画面データ」を生成し、Ｗｅｂブラウザ３１へ送信する（Ｓ３７）。
【００５０】
Ｗｅｂブラウザ３１は、その予約完了画面データを受信し、予約完了画面を表示する（Ｓ３８）。
【００５１】
以上の処理により、患者が選択した保険種別、予約日時、診療科および医師が、病院サーバ１３に登録され、診療予約が成立する。
【００５２】
＜ＶＰＮ制御モジュールの構成＞
次に、ＶＰＮ制御モジュール１００の構成について詳細に説明する。ＶＰＮ制御モジュール１００は、図１に示すように、判断部１０１と、制御部１０２とを備える。
【００５３】
判断部１０１は、Ｗｅｂサーバ１４からＶＰＮ２３を通じて病院サーバ１３へ送信される実行コマンドに基づいて、ＶＰＮ２３を切断すべきか否かを判断する。なお、判断部１０１は、実行コマンドを送信する前にＶＰＮ２３が切断されている場合、ＶＰＮ２３を接続すべきと判断してよい。また、判断部１０１は、実行コマンドの送信を検知した後、所定時間以上、次の実行コマンドの送信を検知しなかった場合、ＶＰＮ２３を切断すると判断してもよい。
【００５４】
制御部１０２は、判断部１０１がＶＰＮを切断すると判断した場合、仮想ＨＵＢ３２に対してＶＰＮ２３の切断指示を送信する。仮想ＨＵＢ３２は、そのＶＰＮ２３の切断指示を受信すると、病院サーバ１３とのＶＰＮ２３を切断する。制御部１０２は、判断部１０１がＶＰＮ２３を接続すると判断した場合、仮想ＨＵＢ３２に対してＶＰＮ２３の接続指示を送信する。仮想ＨＵＢ３２は、そのＶＰＮ２３の接続指示を受信すると、病院サーバ１３とのＶＰＮ２３を接続する。具体的には、病院サーバ１３は、定期的に仮想ＨＵＢ３２に対して、ＶＰＮ２３の接続要求を送信しており、仮想ＨＵＢ３２は、制御部１０２からＶＰＮ２３の接続指示を受信した場合、病院サーバ１３から受信したＶＰＮ２３の接続要求に応答して、病院サーバ１３とＶＰＮ２３を接続する。
【００５５】
次に、判断部１０１がＶＰＮ２３を切断すべきか否かを判断する方法について、幾つかのバリエーションを説明する。
【００５６】
＜判断方法１＞
判断方法１では、判断部１０１は、病院サーバ１３への実行コマンドの送信回数が切断閾値以上となった場合、ＶＰＮ２３を切断すべきと判断する。次に、図３のフローチャートを参照しながら、判断方法１における判断部１０１の処理について詳細に説明する。
【００５７】
判断部１０１は、Ｗｅｂサーバ１４がＶＰＮ２３を通じて病院サーバ１３へ実行コマンドを送信し、その実行コマンドに対応する応答を受信したことを検知した場合（Ｓ１０１）、カウンタ（変数）に１を加算する（Ｓ１０２）。なお、実行コマンドを送信し、その実行コマンドに対応する応答を受信したときとは、すなわち、実行コマンドの実行が完了したとき、または、第１のＷｅｂＡＰＩを呼び出し、その第１のＷｅｂＡＰＩの実行が完了したときともいえる。
【００５８】
次に、判断部１０１は、カウンタが切断閾値以上であるか否かを判定する（Ｓ１０３）。
【００５９】
カウンタが切断閾値未満である場合（Ｓ１０３：ＮＯ）、フローは、Ｓ１０１に戻る。すなわち、判断部１０１は、ＶＰＮ２３の接続を維持すべきと判断する。
【００６０】
カウンタが切断閾値以上である場合（Ｓ１０３：ＹＥＳ）、判断部１０１は、ＶＰＮ２３を切断すべきとの判断結果を制御部１０２へ通知する（Ｓ１０４）。そして、判断部１０１は、カウンタを０に初期化し（Ｓ１０５）、フローは、Ｓ１０１に戻る。制御部１０２は、この通知を受けて、仮想ＨＵＢ３２に対してＶＰＮ２３の切断指示を送信する。
【００６１】
例えば、判断部１０１が判断方法１で動作する場合において、切断閾値「３」が設定されている場合、図２の予約シーケンスは、次のように処理される。すなわち、認証コマンド（Ｓ１２、Ｓ１３）、保険種別取得コマンド（Ｓ１４、Ｓ１５）、および保険種別設定コマンド（Ｓ１９、Ｓ２０）の実行が完了した段階で、カウンタ「３」が切断閾値「３」と等しくなるので（Ｓ１０３：ＹＥＳ）、判断部１０１は、ＶＰＮ２３を切断すべきとの判断結果を制御部１０２へ通知する（Ｓ１０３：ＹＥＳ）。制御部１０２は、この通知を受けて、保険種別設定コマンド（Ｓ１９）に対応する成功応答（Ｓ２０）を受信した後、仮想ＨＵＢ３２に対してＶＰＮ２３の切断指示を送信する。仮想ＨＵＢ３２は、このＶＰＮ２３の切断指示を受信し、病院サーバ１３とのＶＰＮ２３を切断する。
【００６２】
判断部１０１は、システム管理者によって設定されたパフォーマンスとセキュリティのバランス配分に基づいて、切断閾値を決定してもよい。例えば、判断部１０１は、図４に示すような、パフォーマンスとセキュリティのバランス配分と、切断閾値とが対応付けられているバランス配分テーブル２０１を、予め保持する。そして、判断部１０１は、システム管理者からパフォーマンスとセキュリティのバランス配分の入力を受け付け、バランス配分テーブル２０１においてその入力されたバランス配分に対応付けられている切断閾値を、図３のＳ１０３の判定に用いる切断閾値に設定する。
【００６３】
なお、図４のバランス配分テーブル２０１に示すように、セキュリティ配分の高さに応じて、小さい切断閾値が対応付けられてよい。これにより、セキュリティ配分を高く設定するほど、ＶＰＮ２３の接続が維持される時間が短くなるため、セキュリティが向上する。
【００６４】
また、図４のバランス配分テーブル２０１に示すように、パフォーマンス「１００％」かつセキュリティ「０％」のバランス配分には、切断閾値「∞」が対応付けられてよい。この場合、判断部１０１は、ＶＰＮ２３を切断するとの判断を行わない。つまり、ＶＰＮ２３は常に接続された状態となる。
【００６５】
また、同じく図４のバランス配分テーブル２０１に示すように、パフォーマンス「０％」かつセキュリティ「１００％」のバランス配分には、切断閾値「０」が対応付けられてよい。この場合、判断部１０１は、実行コマンドの実行が完了する毎に、ＶＰＮ２３を切断すると判断する。つまり、実行コマンドが送信される前にＶＰＮ２３が接続され、その実行コマンドに対応する応答を受信した後にＶＰＮ２３が切断される、という動作が繰り返される。
【００６６】
判断方法１によれば、切断閾値を設定することにより、パフォーマンスとセキュリティのバランスを適切に調整できる。
【００６７】
＜判断方法２＞
判断方法２では、判断部１０１は、病院サーバ１３へ送信した実行コマンドに切断フラグが付与されている場合、ＶＰＮ２３を切断すべきと判断する。次に、図５のフローチャートを参照しながら、判断方法２における判断部１０１の処理について詳細に説明する。
【００６８】
判断部１０１は、Ｗｅｂサーバ１４がＶＰＮ２３を通じて病院サーバ１３へ実行コマンドを送信し、その応答を受信したことを検知した場合（Ｓ２０１）、その送信された実行コマンドに切断フラグが付与されていたか否かを判定する（Ｓ２０２）。
【００６９】
その実行コマンドに切断フラグが付与されていない場合（Ｓ２０２：ＮＯ）、フローは、Ｓ２０１に戻る。すなわち、判断部１０１は、ＶＰＮ２３の接続を維持すべきと判断する。
【００７０】
その実行コマンドに切断フラグが付与されていた場合（Ｓ２０２：ＹＥＳ）、判断部１０１は、ＶＰＮ２３を切断すべきとの判断結果を制御部１０２へ通知し（Ｓ２０３）、フローは、Ｓ２０１に戻る。制御部１０２は、この通知を受けて、仮想ＨＵＢ３２に対してＶＰＮ２３の切断指示を送信する。
【００７１】
例えば、判断部１０１が判断方法２で動作する場合において、実行コマンドに相当する医師設定コマンド（Ｓ３３）に切断フラグが付与されている場合、図２の予約シーケンスは、次のように処理される。すなわち、判断部１０１は、Ｗｅｂサーバ１４が医師設定コマンド（Ｓ３５）を送信し、その応答（Ｓ３６）を受信したことを検知した場合（Ｓ２０１）、その医師設定コマンドには切断フラグが付与されているので（Ｓ２０２：ＹＥＳ）、ＶＰＮ２３を切断すべきとの判断結果を制御部１０２へ通知する（Ｓ２０３）。制御部１０２は、この通知を受けて、その医師設定コマンド（Ｓ３５）に対応する応答（Ｓ３６）を受信した後、仮想ＨＵＢ３２に対してＶＰＮの切断指示を送信する。
【００７２】
判断方法２によれば、例えば、予約シーケンスの最後に送信される実行コマンドに切断フラグを付与しておくことにより、予約シーケンスの途中ではＶＰＮ２３の接続が維持され、予約シーケンスが完了した段階でＶＰＮ２３が切断されるので、パフォーマンスとセキュリティのバランスを適切に調整できる。
【００７３】
なお、切断フラグは、何れの実行コマンドに付与されてもよい。例えば、予約シーケンスにおいて、Ｗｅｂサーバ１４が受信コマンド（例えば図２のＳ１６、Ｓ２３、Ｓ３２）の受信を待機する直前の実行コマンド（例えば図２のＳ１４、Ｓ１９、Ｓ２８）に、切断フラグが付与されてもよい。この場合、実行コマンドが比較的短い時間間隔で連続的に送信される間はＶＰＮ２３の接続が維持され、次の実行コマンドが送信されるまでの時間間隔が比較的長くなる可能性が高い場合にＶＰＮ２３が切断される。したがって、パフォーマンスとセキュリティのバランスを適切に調整できる。
【００７４】
また、実行コマンドに接続フラグを付与してもよい。この場合、判断部１０１は、Ｗｅｂサーバ１４が病院サーバ１３へ送信する実行コマンドに接続フラグが付与されている場合、当該実行コマンドを送信する前に、ＶＰＮ２３を接続すべきとの判断結果を制御部１０２へ通知してよい。制御部１０２は、この通知を受けて、仮想ＨＵＢ３２に対してＶＰＮ２３の接続指示を送信してよい。
【００７５】
また、実行コマンドに対応する応答に接続フラグまたは切断フラグを付与してもよい。この場合、判断部１０１は、Ｗｅｂサーバ１４が病院サーバ１３から受信した応答に接続フラグが付与されている場合、ＶＰＮ２３の接続を維持すべきと判断し、当該応答に切断フラグが付与されている場合、ＶＰＮ２３を切断すべきと判断してよい。
【００７６】
＜判断方法３＞
判断方法３では、判断部１０１は、病院サーバ１３へ送信した実行コマンドが、患者端末１１から受信した受信コマンドに応じて予め設定されており、その設定されている順序で送信（実行）される一連の実行コマンドの最後に送信されるものである場合、ＶＰＮ２３を切断すべきと判断する。次に、図６のフローチャートを参照しながら、判断方法３における判断部１０１の処理について詳細に説明する。
【００７７】
判断部１０１は、Ｗｅｂサーバ１４がＶＰＮ２３を通じて病院サーバ１３へ実行コマンドを送信し、その応答を受信したことを検知した場合（Ｓ３０１）、その実行コマンドが、受信コマンドに応じて、予め設定されている順序で送信される一連の実行コマンドの最後に送信されるものであるか否かを判定する（Ｓ３０２）。
【００７８】
その実行コマンドが最後に送信されるものでない場合（Ｓ３０２：ＮＯ）、フローは、Ｓ３０１に戻る。すなわち、判断部１０１は、ＶＰＮ２３の接続を維持すべきと判断する。
【００７９】
その実行コマンドが最後に送信されるものである場合（Ｓ３０２：ＹＥＳ）、判断部１０１は、ＶＰＮ２３を切断すべきとの判断結果を制御部１０２へ通知し（Ｓ３０３）、フローは、Ｓ３０１に戻る。制御部１０２は、この通知を受けて、仮想ＨＵＢ３２に対してＶＰＮ２３の切断指示を送信する。
【００８０】
受信コマンドと一連の実行コマンドとの対応関係は、例えば、図７に示すような、コマンド対応テーブル２０２によって管理されてよい。図７のコマンド対応テーブルは、図２の予約シーケンスに対応しており、例えば、Ｗｅｂサーバ１４が、患者情報の受信コマンドを受信した場合、認証コマンドと保険種別取得コマンドのそれぞれの実行コマンドを順に送信することを示している。この場合、判断部１０１は、Ｗｅｂサーバ１４が患者情報（Ｓ１１）を受信し、認証コマンド（Ｓ１２）の次に保険種別取得コマンド（Ｓ１４）を送信し、その応答（Ｓ１５）を受信したことを検知した場合（Ｓ３０１）、その保険種別取得コマンド（Ｓ１４）は患者情報に応じて送信される一連の実行コマンドの最後に送信されるものであるので（Ｓ３０２：ＹＥＳ）、ＶＰＮ２３を切断すべきとの判断結果を制御部１０２へ通知する（Ｓ３０３）。制御部１０２は、この通知を受けて、保険種別取得コマンドに対応する応答（Ｓ１５）を受信した後、仮想ＨＵＢ３２に対してＶＰＮの切断指示を送信する。
【００８１】
第３の判定方法によれば、受信コマンドの受信に応じて一連の実行コマンドが連続的に送信される間、ＶＰＮ２３の接続は維持され、次の受信コマンドを受信するまでの間、ＶＰＮ２３が切断されるので、パフォーマンスとセキュリティのバランスを適切に調整できる。
【００８２】
＜判断方法４＞
判断方法４では、判断部１０１は、過去の実行コマンドの送信順序及び送信間隔の傾向を学習し、学習情報を生成する。そして、判断部１０１は、その学習情報に基づいて、病院サーバ１３へ実行コマンドが送信され、その次に実行コマンドが送信されるまでの時間間隔を予測し、その予測した時間間隔が所定の時間閾値以上である場合、ＶＰＮ２３を切断すべきと判断する。次に、図８のフローチャートを参照しながら、判断方法４における判断部１０１の処理について詳細に説明する。なお、学習方法は、例えば、統計的な手法、パターン認識の手法、または、機械学習の手法等、どのような方法であってもよい。
【００８３】
判断部１０１は、Ｗｅｂサーバ１４がＶＰＮ２３を通じて病院サーバ１３へ実行コマンドを送信し、その応答を受信したことを検知した場合（Ｓ４０１）、学習情報に基づいて、その次に実行コマンドが送信されるまでの時間間隔を予測する（Ｓ４０２）。
【００８４】
次に、判断部１０１は、その予測した時間間隔が所定の時間閾値以上であるか否かを判定する（Ｓ４０３）。
【００８５】
その予測した時間間隔が時間閾値未満である場合（Ｓ４０３：ＮＯ）、フローは、Ｓ４０１に戻る。すなわち、判断部１０１は、ＶＰＮ２３の接続を維持すべきと判断する。
【００８６】
その予測した時間間隔が時間閾値以上である場合（Ｓ４０３：ＹＥＳ）、判断部１０１は、ＶＰＮ２３を切断すべきとの判断結果を制御部１０２へ通知し（Ｓ４０４）、フローは、Ｓ４０１に戻る。制御部１０２は、この通知を受けて、仮想ＨＵＢ３２に対してＶＰＮ２３の切断指示を送信する。
【００８７】
例えば、図２の予約シーケンスに示すような、実行コマンドの送信順序及び送信間隔が頻繁に発生する場合、次のような学習情報が生成され得る。すなわち、実行コマンドが図２の予約シーケンスに示す送信順序で送信される確率が高く、また、患者がＷｅｂブラウザ３１を操作する時間が発生するため、保険種別取得コマンド（Ｓ１４）、保険種別設定コマンド（Ｓ１９）、医師取得コマンド（Ｓ２８）、および、医師設定コマンド（Ｓ３５）の送信後は、次の実行コマンドが送信されるまでの時間間隔が長くなる確率が高いという情報を含む学習情報が生成され得る。
【００８８】
この場合、判断部１０１は、学習情報に基づいて、例えば、認証コマンド（Ｓ１２）を送信した後の時間間隔は比較的短いと予測し（Ｓ４０３：ＮＯ）、ＶＰＮ２３の接続を維持すべきと判断してよい。また、判断部１０１は、学習情報に基づいて、認証コマンド（Ｓ１２）の後に保険種別取得コマンド（Ｓ１４）を送信した後の時間間隔は比較的長いと予測し（Ｓ４０３：ＹＥＳ）、ＶＰＮ２３を切断すべきとの判断結果を制御部１０２へ通知してよい（Ｓ４０４）。こ制御部１０２は、この通知を受けて、保険種別取得コマンド（Ｓ１４）の応答（Ｓ１５）を受信した後、仮想ＨＵＢ３２に対してＶＰＮ２３の切断指示を送信する。
【００８９】
第４の判定方法によれば、ＶＰＮ２３を切断する条件を予め設定しなくとも、判断部１０１は、パフォーマンスとセキュリティのバランスが適切となるように、ＶＰＮ２３の切断を判断できる。
【００９０】
なお、第４の判断方法において、判断部１０１は、ＶＰＮ２３の切断に関する学習に限らず、ＶＰＮの接続に関しても学習してよい。例えば、判断部１０１は、Ｗｅｂサーバ１４がＷｅｂブラウザ３１へ画面データを送信した後、Ｗｅｂブラウザ３１から次の受信コマンドを受信するまでの時間間隔を学習し、学習情報に含める。そして、判断部１０１は、画面データを送信した後、学習情報に基づいて、次の受信コマンドを受信するまでの時間間隔を予測し、その予測した時間間隔が経過する少し前に、ＶＰＮ２３を接続すべきとの判断結果を制御部１０２へ通知する。制御部１０２は、この通知を受けて、仮想ＨＵＢ３２に対してＶＰＮ２３の接続指示を送信する。これにより、受信コマンドを受信してからＶＰＮ２３の接続処理を行うよりも、パフォーマンスが向上する。
【００９１】
以上、本開示に係る実施形態について図面を参照して詳述してきたが、上述した、患者端末１１、ＶＰＮサーバ１２、病院サーバ１３、Ｗｅｂサーバ１４、ＶＰＮ制御モジュール１００等、各装置の機能は、コンピュータプログラムにより実現され得る。
【００９２】
図９は、各装置の機能をプログラムにより実現するコンピュータのハードウェア構成を示す図である。このコンピュータ２１００は、キーボード又はマウス、タッチパッドなどの入力装置２１０１、ディスプレイ又はスピーカーなどの出力装置２１０２、ＣＰＵ（Central Processing Unit）２１０３、ＲＯＭ（Read Only Memory）２１０４、ＲＡＭ（Random Access Memory）２１０５、ハードディスク装置又はＳＳＤ（Solid State Drive）などの記憶装置２１０６、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）又はＵＳＢ（Universal Serial Bus）メモリなどの記録媒体から情報を読み取る読取装置２１０７、ネットワークを介して通信を行う送受信装置２１０８を備え、各部はバス２１０９により接続される。
【００９３】
そして、読取装置２１０７は、上記各装置の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置２１０６に記憶させる。あるいは、送受信装置２１０８が、ネットワークに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各装置の機能を実現するためのプログラムを記憶装置２１０６に記憶させる。
【００９４】
そして、ＣＰＵ２１０３が、記憶装置２１０６に記憶されたプログラムをＲＡＭ２１０５にコピーし、そのプログラムに含まれる命令をＲＡＭ２１０５から順次読み出して実行することにより、上記各装置の機能が実現される。
【産業上の利用可能性】
【００９５】
本開示に係るＶＰＮ制御モジュールは、ＶＰＮの接続および切断の制御に好適である。
【符号の説明】
【００９６】
１０  診療予約システム
１１  患者端末
１２  ＶＰＮサーバ
１３  病院サーバ
１４  Ｗｅｂサーバ
２１  インターネット
３１  Ｗｅｂブラウザ
３２  仮想ＨＵＢ
１００  ＶＰＮ制御モジュール
１０１  判断部
１０２  制御部
２０１  バランス配分テーブル
２０２  コマンド対応テーブル
【図１】
2019110395.tif 000003
【図２】
2019110395.tif 000004
【図３】
2019110395.tif 000005
【図４】
2019110395.tif 000006
【図５】
2019110395.tif 000007
【図６】
2019110395.tif 000008
【図７】
2019110395.tif 000009
【図８】
2019110395.tif 000010
【図９】
2019110395.tif 000011