IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特開2023-140204リモートアクセスシステム、情報処理装置、リモートアクセス方法およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023140204
(43)【公開日】2023-10-04
(54)【発明の名称】リモートアクセスシステム、情報処理装置、リモートアクセス方法およびプログラム
(51)【国際特許分類】
   H04L 61/4511 20220101AFI20230927BHJP
   H04L 47/70 20220101ALI20230927BHJP
   H04L 67/562 20220101ALI20230927BHJP
【FI】
H04L61/4511
H04L47/70
H04L67/562
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022046120
(22)【出願日】2022-03-22
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】太田 広志
(72)【発明者】
【氏名】笠松 琢磨
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA17
5K030LB02
5K030MD09
(57)【要約】
【課題】既存の仕組みを利用してリモートから直接アクセスできないシステムにアクセスすることができるリモートアクセスシステム、情報処理装置、リモートアクセス方法およびプログラムを提供する。
【解決手段】アクセス元端末のアプリケーションから、直接アクセスできないアクセス先システムに、インターネットを経由してアクセスするためのリモートアクセスシステムであって、アクセス先システムのFQDNを管理するアプリサーバシステムと、アクセス元端末と、を有し、アクセス元端末は、アプリサーバシステムからアクセス先システムのFQDNを取得する取得部と、取得されたFQDNと、対応するIPアドレスとを関連付けて接続先情報に登録する登録部と、アプリケーションから、接続先情報に登録されたアクセス先システムの情報に基づく接続要求を受け付ける待ち受け部と、待ち受け部と、アクセス先システムとの間の通信を接続する接続部と、を備える。
【選択図】図5
【特許請求の範囲】
【請求項1】
アクセス元端末のアプリケーションから、直接アクセスできないアクセス先システムに、インターネットを経由してアクセスするためのリモートアクセスシステムであって、
前記アクセス先システムのFQDNを管理するアプリサーバシステムと、
前記アクセス元端末と、
を有し、
前記アクセス元端末は、
前記アプリサーバシステムから前記アクセス先システムの前記FQDNを取得する取得部と、
前記取得部により取得された前記FQDNと、対応するIPアドレスとを関連付けて接続先情報に登録する登録部と、
前記アプリケーションから、前記接続先情報に登録された前記アクセス先システムの情報に基づく接続要求を受け付ける待ち受け部と、
前記待ち受け部と、前記アクセス先システムとの間の通信を接続する接続部と、
を備えたリモートアクセスシステム。
【請求項2】
前記待ち受け部は、前記アプリケーションから、前記接続先情報に登録された前記アクセス先システムの前記IPアドレスに基づく前記接続要求を受け付ける請求項1に記載のリモートアクセスシステム。
【請求項3】
前記登録部は、
名前解決部からの前記アクセス先システムについてのDNSクエリを取得し、
前記DNSクエリに含まれる前記アクセス先システムのFQDNが前記接続先情報に含まれるか否か判定し、
該FQDNが前記接続先情報に含まれる場合、該接続先情報において該FQDNに関連付けらえたIPアドレスを、前記アプリケーションに渡す請求項2に記載のリモートアクセスシステム。
【請求項4】
前記登録部は、前記アクセス元端末に存在するhоstsを利用して名前解決したIPアドレスを、前記アプリケーションに渡す請求項2に記載のリモートアクセスシステム。
【請求項5】
前記登録部は、mDNSまたはLLMNR(Link-Local Multicast Name Resolution)を利用して名前解決したIPアドレスを、前記アプリケーションに渡す請求項2に記載のリモートアクセスシステム。
【請求項6】
前記登録部は、
前記接続先情報に前記FQDNおよび前記IPアドレスが登録された前記アクセス先システムに直接接続できるか否かを判定し、
該アクセス先システムに直接接続できると判定した場合、前記接続先情報から該アクセス先システムの前記FQDNおよび前記IPアドレスを削除する請求項1~5のいずれか一項に記載のリモートアクセスシステム。
【請求項7】
前記IPアドレスは、前記アクセス元端末自体のIPアドレス以外のIPアドレスである請求項1~6のいずれか一項に記載のリモートアクセスシステム。
【請求項8】
前記IPアドレスは、ループバックアドレスである請求項1~6のいずれか一項に記載のリモートアクセスシステム。
【請求項9】
前記接続部は、前記待ち受け部より前記接続要求が受け付けられた後、該待ち受け部と、前記アクセス先システムとの間の通信を接続する請求項1~8のいずれか一項に記載のリモートアクセスシステム。
【請求項10】
前記接続部は、前記待ち受け部より前記接続要求が受け付けられる前に、該待ち受け部と、前記アクセス先システムとの間の通信を接続する請求項1~8のいずれか一項に記載のリモートアクセスシステム。
【請求項11】
前記接続部は、前記登録部により前記IPアドレスが前記アプリケーションに渡された後、前記待ち受け部と、前記アクセス先システムとの間の通信を接続する請求項3に記載のリモートアクセスシステム。
【請求項12】
前記待ち受け部は、プロキシサーバとして機能する請求項1に記載のリモートアクセスシステム。
【請求項13】
前記アクセス先システムは、オンプレミスに配置された請求項1~12のいずれか一項に記載のリモートアクセスシステム。
【請求項14】
アプリケーションから、直接アクセスできないオンプレミスのアクセス先システムに、インターネットを経由してアクセスするための情報処理装置であって、
前記アクセス先システムのFQDNを管理するアプリサーバシステムから前記アクセス先システムの前記FQDNを取得する取得部と、
前記取得部により取得された前記FQDNと、対応するIPアドレスとを関連付けて接続先情報に登録する登録部と、
前記アプリケーションから、前記接続先情報に登録された前記アクセス先システムの情報に基づく接続要求を受け付ける待ち受け部と、
前記待ち受け部と、前記アクセス先システムとの間の通信を接続する接続部と、
を備えた情報処理装置。
【請求項15】
アプリケーションから、直接アクセスできないオンプレミスのアクセス先システムに、インターネットを経由してアクセスするための情報処理装置のリモートアクセス方法であって、
前記アクセス先システムのFQDNを管理するアプリサーバシステムから前記アクセス先システムの前記FQDNを取得する取得ステップと、
取得した前記FQDNと、対応するIPアドレスとを関連付けて接続先情報に登録する登録ステップと、
待ち受け部が、前記アプリケーションから、前記接続先情報に登録された前記アクセス先システムの情報に基づく接続要求を受け付ける待ち受けステップと、
前記待ち受け部と、前記アクセス先システムとの間の通信を接続する接続ステップと、
を有するリモートアクセス方法。
【請求項16】
アプリケーションから、直接アクセスできないオンプレミスのアクセス先システムに、インターネットを経由してアクセスするためのコンピュータに、
前記アクセス先システムのFQDNを管理するアプリサーバシステムから前記アクセス先システムの前記FQDNを取得する取得ステップと、
取得した前記FQDNと、対応するIPアドレスとを関連付けて接続先情報に登録する登録ステップと、
待ち受け部が、前記アプリケーションから、前記接続先情報に登録された前記アクセス先システムの情報に基づく接続要求を受け付ける待ち受けステップと、
前記待ち受け部と、前記アクセス先システムとの間の通信を接続する接続ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リモートアクセスシステム、情報処理装置、リモートアクセス方法およびプログラムに関する。
【背景技術】
【0002】
在宅ワークのように、自宅から職場、学校、病院等へリモートアクセスして業務を遂行する勤務形態の一般化が急速に進み始めている。この状況下の一例として、会社から支給されたノートPC(Personal Computer)をリモートアクセス用のデバイス端末として持ち歩いて利用することが推測される。しかし、業務を遂行する上で必要となるツール群(例えばファイルサーバ、勤怠管理システム、会議の促進ツールである電子黒板、オンプレミス上で動作する会議システム等)にはインターネット経由の遠隔通信を想定していないものがあり、その場合には、リモートアクセスによる業務遂行には活用が困難である。具体的には、通信暗号化、プロキシ対応、ファイアウォール等を超えることができないという問題がある。この解決方法として、通信インフラとしてリモートアクセスを可能とするVPN(Virtual Private Network)を構築する方法、アプリケーションレベルでリモートアクセスを可能とするリモートデスクトップ等の方法が考えられる。
【0003】
しかし、従来の方法では、アクセス先デバイスのアドレスは例えば「www.example.com」のようにFQDN(Fully Qualified Domain Name)を用いて特定することがユーザにとって望ましいが、インターネット経由でアクセス先へ通信するためには、「www.example.com」のFQDNをグローバルなDNS(Domain Name System)サーバに登録する必要sがあり、また、アクセス先デバイスもグローバルIPアドレスを有する必要がある。
【0004】
このような、リモートアクセスのための技術として、エンドユーザの宅内LAN(Local Area Network)と外部ネットワークとを繋ぐ宅内ゲートウェイ装置に対してエンドユーザがユーザ端末からインターネット経由でリモートアクセスするため、宅内ゲートウェイ装置のポート開閉を制御可能とし、リモートアクセスに必要なポート開放をリモートアクセス時だけ解放するように制御するポート開閉制御システムが開示されている(例えば特許文献1)。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の技術では、インターネットから接続できるDNSサーバに登録が必要であり、アクセス先デバイスがグローバルIPアドレスを有する必要があり、さらに例えば上述のようなリモートアクセス時に必要なポート開放を行う等の特殊な制御が必要であるという問題がある。
【0006】
本発明は、上記に鑑みてなされたものであって、既存の仕組みを利用してリモートから直接アクセスできないシステムにアクセスすることができるリモートアクセスシステム、情報処理装置、リモートアクセス方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明は、アクセス元端末のアプリケーションから、直接アクセスできないアクセス先システムに、インターネットを経由してアクセスするためのリモートアクセスシステムであって、前記アクセス先システムのFQDNを管理するアプリサーバシステムと、前記アクセス元端末と、を有し、前記アクセス元端末は、前記アプリサーバシステムから前記アクセス先システムの前記FQDNを取得する取得部と、前記取得部により取得された前記FQDNと、対応するIPアドレスとを関連付けて接続先情報に登録する登録部と、前記アプリケーションから、前記接続先情報に登録された前記アクセス先システムの情報に基づく接続要求を受け付ける待ち受け部と、前記待ち受け部と、前記アクセス先システムとの間の通信を接続する接続部と、を備えたことを特徴とする。
【発明の効果】
【0008】
本発明によれば、既存の仕組みを利用してリモートから直接アクセスできないシステムにアクセスすることができる。
【図面の簡単な説明】
【0009】
図1図1は、第1の実施形態に係るリモートアクセスシステムの全体構成の一例を示す図である。
図2図2は、第1の実施形態に係るリモートアクセスシステムにおいてリモートから現場のシステムにアクセスする場合の構成の一例を示す図である。
図3図3は、第1の実施形態に係るリモートアクセスシステムにおいてローカルから現場のシステムにアクセスする場合の構成の一例を示す図である。
図4図4は、第1の実施形態に係るアクセス元端末等のハードウェア構成の一例を示す図である。
図5図5は、第1の実施形態に係るアクセス元端末のソフトウェア構成の一例を示す図である。
図6図6は、第1の実施形態に係るドキュメントアプライアンスのソフトウェア構成の一例を示す図である。
図7図7は、接続先管理画面の一例を示す図である。
図8図8は、第1の実施形態に係るリモートアクセスシステムにおけるエージェント起動処理の流れの一例を示すシーケンス図である。
図9図9は、接続先設定ログイン画面の一例を示す図である。
図10図10は、接続先設定選択画面の一例を示す図である。
図11図11は、接続先リストの一例を示す図である。
図12図12は、第1の実施形態に係るリモートアクセスシステムのリモートからの名前解決処理の流れの一例を示すシーケンス図である。
図13図13は、第1の実施形態に係るリモートアクセスシステムのリモートからのアクセス先接続処理の流れの一例を示すシーケンス図である。
図14図14は、ドキュメントアプリ画面の一例を示す図である。
図15図15は、第1の実施形態に係るリモートアクセスシステムのローカルからの名前解決処理の流れの一例を示すシーケンス図である。
図16図16は、第1の実施形態に係るリモートアクセスシステムのローカルからのアクセス先接続処理の流れの一例を示すシーケンス図である。
図17図17は、第1の実施形態に係るアクセス元端末の名前登録部における接続先リスト登録・削除処理の流れの一例を示すフローチャートである。
図18図18は、第1の実施形態に係るアクセス元端末の名前登録部におけるDNS応答処理の流れの一例を示すフローチャートである。
図19図19は、第2の実施形態に係るアクセス元端末のソフトウェア構成の一例を示す図である。
図20図20は、プロキシ設定画面の一例を示す図である。
図21図21は、第2の実施形態に係るリモートアクセスシステムにおけるエージェント起動処理の流れの一例を示すシーケンス図である。
図22図22は、第2の実施形態に係るリモートアクセスシステムのリモートからのアクセス先接続処理の流れの一例を示すシーケンス図である。
図23図23は、第2の実施形態に係るリモートアクセスシステムのローカルからのアクセス先接続処理の流れの一例を示すシーケンス図である。
図24図24は、第2の実施形態に係るアクセス元端末の待ち受け部における接続先決定処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、図面を参照しながら、本発明に係るリモートアクセスシステム、情報処理装置、リモートアクセス方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【0011】
[第1の実施形態]
(リモートアクセスシステムの全体構成)
図1は、第1の実施形態に係るリモートアクセスシステムの全体構成の一例を示す図である。図2は、第1の実施形態に係るリモートアクセスシステムにおいてリモートから現場のシステムにアクセスする場合の構成の一例を示す図である。図3は、第1の実施形態に係るリモートアクセスシステムにおいてローカルから現場のシステムにアクセスする場合の構成の一例を示す図である。図1図3を参照しながら、本実施形態に係るリモートアクセスシステム1の全体構成について説明する。
【0012】
リモートアクセスシステム1は、図1に示すように、アクセス元端末20と、アクセス先サービス30と、サービスプラットフォーム11と、アプリサービスシステム12と、リレーサービスシステム13と、を有する。図1に示すように、リモートアクセスシステム1に含まれる構成要素は、現場、リモート、およびクラウドの3つの領域に属している。
【0013】
現場は、職場等のオフィスまたは建設現場等の長時間働く人が集まる場所であり、本実施形態ではオンプレミスと称する場合がある。現場には、オンプレミスの計算資源、サービス、および複合機等の業務に利用するためのデバイス等が配置されている。図1に示すように、アクセス先サービス30は、現場に配置されている。アクセス先サービス30に含まれるデバイスには、リモートからアクセスするための仕組みを持つデバイスと、仕組みを持たないデバイスとがある。仕組みを持つデバイスは、仕組みを別に用意する必要がないが、仕組みを持たないデバイスは、仕組みを別に用意する必要がある。
【0014】
リモートは、長時間働く人が集まる現場ではなく、家、サテライトオフィス、喫茶店等である。図1に示す例では、アクセス元端末20は、リモートに配置されている。エンドユーザは、アクセス元端末20を利用して、現場のアクセス先サービス30を利用する。なお、後述するように、アクセス元端末20は、現場に配置される場合もある。
【0015】
一般的に、現場のネットワークおよびリモートのネットワークは、図1に示すように、それぞれ、インターネットNへアクセスすることができるが、インターネットNからアクセスすることはできない。したがって、現場のネットワークおよびリモートのネットワークは、直接アクセスできないため、何らかの手段を用意する必要がある。
【0016】
クラウドは、データセンタに配置され、または、クラウドサービス事業者の環境においてサービスを提供する場所である。一般的に、インターネットNを通じて、クラウドのサービスにアクセスできる。図1に示すように、サービスプラットフォーム11、アプリサービスシステム12およびリレーサービスシステム13は、クラウドに配置されている。
【0017】
サービスプラットフォーム11は、認証機能等の、アプリサービスシステム12およびリレーサービスシステム13を利用するために必要となるサービスを提供するプラットフォームである。サービスプラットフォーム11は、現場にあるデバイスを制御するためのMQTT(Message Queueing Telemetry Transport)等の仕組みを有する。サービスプラットフォーム11は、図2および図3に示すように、例えば、認証部111と、ポータル部112と、ログ部113と、制御部114と、を有する。認証部111は、認証処理を行う。制御部114は、現場にあるデバイスを制御する。
【0018】
アプリサービスシステム12は、アクセス元端末20がアクセス先サービス30へアクセスするための必要な制御を行うシステムである。例えば、アプリサービスシステム12は、アクセス先サービス30を登録することにより、アクセスするための制御をすることができる。また、アプリサービスシステム12は、どのユーザがどのサービスにアクセスすることができるか等を制御する。
【0019】
リレーサービスシステム13は、現場にあるアクセス先サービス30に含まれるデバイスとアクセス元端末20との間をつなぐためのサービスである。リレーサービスシステム13は、Websocket等を利用することにより、現場とリモートとの間を仮想的な暗号化されたトンネルを構築し、その間で通信ができるようにする。
【0020】
図2に示すリモートアクセスシステム1は、リモートにアクセス元端末20が配置され、アクセス元端末20からアクセス先サービス30へ直接アクセスすることができない場合の構成を示している。図2に示す例では、アクセス先サービス30は、ドキュメントアプライアンス31(アクセス先システムの一例)と、セキュアボックス32と、リモートデスクトップ32aと、ファクス32bと、を含む。本実施形態では、アクセス元端末20がリモートに配置している場合に、現場のアクセス先サービス30に含まれるドキュメントアプライアンス31にリモートアクセスする場合について説明する。
【0021】
図3に示すリモートアクセスシステム1は、現場にアクセス元端末20が配置され、アクセス元端末20がLANを介して、アクセス先サービス30に含まれるドキュメントアプライアンス31にアクセスする状態を示している。この場合、アクセス元端末20は、クラウドのリレーサービスシステム13等の各種サービスを利用することはない。
【0022】
したがって、アクセス元端末20は、リモートのネットワークにいるのか、ローカル(現場)のネットワークにいるのかを判定する必要がある。
【0023】
(アクセス元端末、サービスプラットフォーム、アプリサービスシステム、リレーサービスシステムおよびドキュメントアプライアンスのハードウェア構成)
図4は、第1の実施形態に係るアクセス元端末等のハードウェア構成の一例を示す図である。図4を参照しながら、アクセス元端末20、サービスプラットフォーム11、アプリサービスシステム12、リレーサービスシステム13およびドキュメントアプライアンス31のハードウェア構成について説明する。ここでは、アクセス元端末20、サービスプラットフォーム11、アプリサービスシステム12、リレーサービスシステム13およびドキュメントアプライアンス31を構成する情報処理装置のハードウェア構成として説明する。
【0024】
図4に示すように、情報処理装置は、CPU(Central Processing Unit)801と、ROM(Read Only Memory)802と、RAM(Random Access Memory)803と、HD(Hard Disk)804、HDD(Hard Disk Drive)コントローラ805と、ディスプレイ806と、外部機器接続I/F808と、ネットワークI/F809と、キーボード811と、ポインティングデバイス812と、DVD-RW(Digital Versatile Disk Rewritable)ドライブ814と、メディアI/F816と、を備えている。これらの各装置は、データ通信が可能となるようにアドレスバスおよびデータバス等のバスライン810で接続されている。
【0025】
CPU801は、情報処理装置全体の動作を制御する演算装置である。ROM802は、IPL(Initial Program Loader)等のCPU501の駆動に用いられるプログラムを記憶する不揮発性記憶装置である。RAM803は、CPU801のワークエリアとして使用される揮発性記憶装置である。
【0026】
HD804は、プログラム等の各種データを記憶する不揮発性の補助記憶装置である。HDDコントローラ805は、CPU801の制御に従って、HD804に対する各種データの読み出しまたは書き込みを制御するコントローラである。なお、HD804およびHDDコントローラ805は、SSD(Solid State Drive)であってもよい。
【0027】
ディスプレイ806は、カーソル、メニュー、ウィンドウ、文字または画像等の各種情報を表示する表示装置である。外部機器接続I/F808は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器としては、例えば、USB(Universal Serial Bus)メモリまたはプリンタ等が挙げられる。ネットワークI/F809は、インターネットNを介してデータ通信をするためのインターフェースであり、例えば、イーサネット(登録商標)、およびTCP(Transmission Control Protocol)/IP(Internet Protocol)等に準拠した通信が可能なインターフェースである。
【0028】
キーボード811は、文字、数値、各種指示等の入力のための複数のキーを備えた入力装置である。ポインティングデバイス812は、各種指示の選択、実行、処理対象の選択、カーソルの移動等を行うマウス等の入力装置である。
【0029】
DVD-RWドライブ814は、着脱可能な記録媒体の一例としてのDVD-R(Digital Versatile Disk Recordable)またはDVD-RW等のDVD813に対する各種データの読み出しまたは書き込みを制御する装置である。メディアI/F816は、フラッシュメモリ等のメディア815に対するデータの読み出しまたは書き込み(記憶)を制御するインターフェースである。
【0030】
なお、図4に示したアクセス元端末20、サービスプラットフォーム11、アプリサービスシステム12、リレーサービスシステム13およびドキュメントアプライアンス31を構成する情報処理装置のハードウェア構成は一例を示すものであり、図4に示した構成要素をすべて含む必要はなく、または、その他の構成要素を含むものとしてもよい。また、アクセス元端末20、サービスプラットフォーム11、アプリサービスシステム12、リレーサービスシステム13およびドキュメントアプライアンス31を構成する情報処理装置が、同一のハードウェア構成を有する必要もないのは言うまでもない。
【0031】
(アクセス元端末のソフトウェア構成)
図5は、第1の実施形態に係るアクセス元端末のソフトウェア構成の一例を示す図である。図5を参照しながら、本実施形態に係るアクセス元端末20のソフトウェア構成について説明する。
【0032】
図5に示すように、アクセス元端末20は、ドキュメントアプリ210と、エージェント220と、OS(Operating System)230と、を含む。これらは、図4に示すCPU801により実行される。
【0033】
ドキュメントアプリ210は、ドキュメントアプライアンス31と通信して、ドキュメントの閲覧等の処理をするためのアプリケーションである。ドキュメントアプリ210は、図5に示すように、UI(User Interface)211と、アプリケーションロジック212と、通信部213と、を含む。
【0034】
UI211は、エンドユーザに対してドキュメントアプリ210に対して操作を行うための画面等を提供するモジュールである。通信部213は、ドキュメントアプライアンス31と通信するためのモジュールである。
【0035】
エージェント220は、図5に示すように、UI221と、ユーザ認証処理部222と、制御部223(取得部の一例)と、名前登録部224(登録部の一例)と、待ち受け部225と、アクセス先接続部226(接続部)と、を含む。
【0036】
UI221は、エンドユーザに対してエージェント220に対して操作を行うための画面等を提供するモジュールである。ユーザ認証処理部222は、アクセス先接続部226がドキュメントアプライアンス31に接続するときに必要なユーザ認証を実施するモジュールである。制御部223は、アプリサービスシステム12から接続先の一覧を取得する等の制御を行うモジュールである。名前登録部224は、接続先の名前とIPアドレスとを関連付けて接続先リスト(接続先情報)に登録するモジュールである。接続先リストは、例えば図4に示すHD804に記憶されている。待ち受け部225は、ドキュメントアプリ210からのアクセスを待ち受けるモジュールである。アクセス先接続部226は、リモートにあるアクセス先サービス30(ドキュメントアプライアンス31等)に接続するためのモジュールである。
【0037】
OS230は、ドキュメントアプリ210およびエージェント220等の各種ソフトウェアが共通して利用する基本的な機能等を実装した、アクセス元端末20の動作全体を管理する基本ソフトウェアである。OS230は、図5に示すように、名前解決部231を含む。
【0038】
名前解決部231は、外部のDNSサーバに対して、FQDNからIPアドレスへの名前解決を要求するモジュールである。
【0039】
(ドキュメントアプライアンスのソフトウェア構成)
図6は、第1の実施形態に係るドキュメントアプライアンスのソフトウェア構成の一例を示す図である。図6を参照しながら、本実施形態に係るドキュメントアプライアンス31のソフトウェア構成について説明する。
【0040】
図6に示すように、ドキュメントアプライアンス31は、ドキュメントアプリサービス310と、エージェント320と、OS330と、ファイルシステム340と、を含む。ドキュメントアプリサービス310、エージェント320およびOS330は、図4に示すCPU801により実行される。
【0041】
ドキュメントアプリサービス310は、アプリケーションロジック311を有するモジュールであり、ドキュメントアプライアンス31の外からのリクエストに応じて、ファイルシステム340に保存しているドキュメントの内容を提供したり、ドキュメントの内容を変更したり、削除したりする。
【0042】
エージェント320は、図6に示すように、デバイス認証部321と、MQTT部322と、リレー部323と、を含む。
【0043】
デバイス認証部321は、サービスプラットフォーム11に接続するための認証処理を実施するモジュールである。MQTT部322は、サービスプラットフォーム11に接続し、サービスプラットフォーム11から命令を受け取るモジュールである。リレー部323は、サービスプラットフォーム11から命令を受け取り、リモートのアクセス元端末20からアクセスされる際に、リモートのアクセス元端末20からデータを受け取るための通信をするモジュールである。
【0044】
OS330は、ドキュメントアプリサービス310およびエージェント320等の各種ソフトウェアが共通して利用する基本的な機能等を実装した、ドキュメントアプライアンス31の動作全体を管理する基本ソフトウェアである。
【0045】
ファイルシステム340は、ドキュメントアプリサービス310で使用するドキュメントを保存する記憶装置である。ファイルシステム340は、図4に示すHD804によって実現される。
【0046】
(アプリサービスシステムが提供する接続先管理画面について)
図7は、接続先管理画面の一例を示す図である。図7を参照しながら、アプリサービスシステム12が提供する接続先管理画面1000での設定処理について説明する。
【0047】
図7に示す接続先管理画面1000は、アプリサービスシステム12が提供する、アクセス元端末20がアクセスする接続先を登録するための画面である。接続先管理画面1000は、図7に示すように、接続先表示領域1001と、新規登録ボタン1002と、を含む。
【0048】
接続先表示領域1001は、登録された接続先の一覧を表示する領域である。新規登録ボタン1002は、新規に接続先をアプリサービスシステム12に登録するためのボタンである。
【0049】
図7に示す例では、アクセス元端末20のリモートからの接続先となるドキュメントアプライアンス31が、「docapp」という名前で、「docapp.example.com」のホスト名(FQDN)が登録されている。また、総務課という名前のドキュメントアプライアンスも登録されている。なお、ドキュメントアプライアンス以外にも、リモートデスクトップ、リモートファクスのサービスを接続先として登録することもできる。
【0050】
(リモートアクセスシステムのエージェント起動処理)
図8は、第1の実施形態に係るリモートアクセスシステムにおけるエージェント起動処理の流れの一例を示すシーケンス図である。図9は、接続先設定ログイン画面の一例を示す図である。図10は、接続先設定選択画面の一例を示す図である。図11は、接続先リストの一例を示す図である。図8図11を参照しながら、本実施形態に係るリモートアクセスシステム1におけるエージェント起動処理の流れについて説明する。
【0051】
<ステップS11、S12>
エンドユーザは、アクセス元端末20のUI221を介してエージェント220の起動操作を行う。すると、エージェント220のUI221は、制御部223に対して起動指令を送る。
【0052】
<ステップS13~S16>
UI221は、図9に示す接続先設定ログイン画面1100を表示する。
【0053】
図9に示す接続先設定ログイン画面1100は、クラウドのシステムにログインするための画面である。接続先設定ログイン画面1100は、メールアドレスを入力するメールアドレス入力領域1101と、パスワードを入力するパスワード入力領域1102と、ログインを実行するためのログインボタン1103と、を含む。
【0054】
エンドユーザは、接続先設定ログイン画面1100において、メールアドレス入力領域1101にログイン名としてのメールアドレスを入力し、パスワード入力領域1102にパスワードを入力し、ログインボタン1103を押下する。すると、UI221は、ログイン名およびパスワードを含むログイン要求を制御部223へ送る。制御部223は、当該ログイン要求をユーザ認証処理部222へ送り、ユーザ認証処理部222は、当該ログイン要求を、インターネットNを介してサービスプラットフォーム11の認証部111へ送信する。
【0055】
なお、認証方式は、メールアドレスおよびパスワード以外を用いてもよい。
【0056】
<ステップS17、S18>
認証部111は、アクセス元端末20からログイン要求を受信すると、アクセストークンを発行し、当該アクセストークンを、インターネットNを介してアクセス元端末20のユーザ認証処理部222へ送信する。ユーザ認証処理部222は、アクセストークンを受信すると、当該アクセストークンを制御部223へ送る。
【0057】
<ステップS19、S20>
制御部223は、アクセストークンを受け取ると、当該アクセストークンを含む、接続先の取得要求を、インターネットNを介してアプリサービスシステム12へ送信する。アプリサービスシステム12は、当該接続先の取得要求を受信すると、アプリサービスシステム12に登録されている接続先(名前およびFQDN)のリストを、インターネットNを介してアクセス元端末20の制御部223へ送信する。
【0058】
<ステップS21>
制御部223は、接続先のリストを受信すると、当該リストに含まれる接続先の一覧の画面表示の要求をUI221へ送る。そして、UI221は、図10に示すような、接続先の一覧を表示する接続先設定選択画面1200を表示する。
【0059】
接続先設定選択画面1200は、図10に示すように、接続先の一覧を表示し選択が可能な接続先選択領域1201と、選択された接続先を決定するための決定ボタン1202と、を含む。
【0060】
<ステップS22>
エンドユーザは、接続先設定選択画面1200における接続先選択領域1201に表示された接続先の一覧から所望の接続先を選択して、決定ボタン1202を押下する。ここでは、名前が「docapp」である接続先としてのドキュメントアプライアンス31が選択されたものとする。また、接続先として選択しない場合は、そこにはリモートアクセスしないこととなる。
【0061】
<ステップS23、S24>
すると、UI221は、選択された接続先のリストを、制御部223へ送る。制御部223は、当該接続先のリストを含む名前登録要求を、名前登録部224へ送る。名前登録部224は、名前登録要求を受け取ると、当該名前登録要求に含まれる接続先を、図11に示すような接続先リストに登録する。
【0062】
接続先リストは、図11に示すように、名前(Name)と、FQDNと、IPアドレス(Target IP address)と、有効フラグ(Enabled)と、が関連付けられている。このうち、名前およびFQDNは、アプリサービスシステム12から取得されたものである。有効フラグが「Enabled」の場合、接続先設定選択画面1200で選択されたことを示し、そうでない場合は「disabled」となる。IPアドレス(Target IP address)は、アクセス元端末20上にあるループバックアドレスである。なお、アクセス元端末20自体のIPアドレス以外のIPアドレスであってもよい。これによって、自ホストで利用しているポートと重複することがなく、同一ポート番号があった場合も対応できる。また、図11の例では、IPアドレスは、IPv4アドレスとなっているが、IPv6アドレスであってもよい。
【0063】
<ステップS25>
そして、UI221は、必要なバックグランド動作を行う。
【0064】
(リモートアクセスシステムのリモートからの名前解決処理)
図12は、第1の実施形態に係るリモートアクセスシステムのリモートからの名前解決処理の流れの一例を示すシーケンス図である。図12を参照しながら、本実施形態に係るリモートアクセスシステム1のリモートからの名前解決処理の流れについて説明する。なお、図12においては、アクセス元端末20はリモートに存在するものとして説明する。
【0065】
<ステップS31>
エンドユーザは、アクセス元端末20のUI221を介してドキュメントアプリ210の起動操作を行う。
【0066】
<ステップS32、S33>
ドキュメントアプリ210は、ドキュメントアプライアンス31のFQDN「docapp.example.com」についての名前解決要求を、OS230の名前解決部231へ送る。名前解決部231は、当該名前解決要求をDNSクエリとして、インターネットNを介して外部のDNSサーバ40へ送信する。
【0067】
<ステップS34、S35>
このとき、名前登録部224は、名前解決部231からの名前解決要求であるDNSクエリを横取りして、接続先リストを参照し、本来のドキュメントアプライアンス31のIPアドレスではなく、当該名前解決要求に含まれるFQDNに対応する、待ち受け部225のIPアドレスを、名前解決部231へ応答する。この名前登録部224による名前解決部231への応答は、DNSサーバ40からの応答よりも早く行われる。なお、名前登録部224によるDNSクエリの横取りによる処理に代えて、アクセス元端末20に存在するhоstsを利用した名前解決であってもよい。これによって、容易に名前解決できる。また、名前解決をする接続先のFQDNが「.local」で終端する場合は、DNSクエリを横取りせずに、mDNSまたはLLMNR(Link-Local Multicast Name Resolution)を利用してもよい。この場合、hоstsファイルのアクセスを必要としないため、排他制御が不要で管理者権限も不要とすることができる。
【0068】
<ステップS36>
そして、名前解決部231は、応答として受け取った待ち受け部225のIPアドレス(ループバックアドレス)を、ドキュメントアプリ210へ送る。
【0069】
<ステップS37、S38>
その後、DNSサーバ40は、本来のドキュメントアプライアンス31のIPアドレスを、インターネットNを介して名前解決部231へ応答する。そして、名前解決部231は、当該IPアドレスを使用しないため廃棄する。
【0070】
したがって、DNSサーバ40から応答されたドキュメントアプライアンス31のIPアドレスは使用されず廃棄されるため、アクセス元端末20がリモートからドキュメントアプライアンス31へアクセスする限りにおいては、ドキュメントアプライアンス31のIPアドレスは予めDNSサーバ40に登録されている必要はない。
【0071】
(リモートアクセスシステムのリモートからのアクセス先接続処理)
図13は、第1の実施形態に係るリモートアクセスシステムのリモートからのアクセス先接続処理の流れの一例を示すシーケンス図である。図14は、ドキュメントアプリ画面の一例を示す図である。図13および図14を参照しながら、本実施形態に係るリモートアクセスシステム1のリモートからのアクセス先接続処理の流れについて説明する。
【0072】
<ステップS51>
エンドユーザは、アクセス元端末20のUI211を介してドキュメントアプリ210の起動操作を行う。
【0073】
<ステップS52>
ドキュメントアプリ210は、名前解決処理において取得した待ち受け部225のIPアドレスを含む接続要求を待ち受け部225へ送る。
【0074】
<ステップS53>
待ち受け部225は、起動要求をアクセス先接続部226へ送る。
【0075】
<ステップS54、S55>
アクセス先接続部226は、アクセス元端末20が取得しているアクセストークンおよびドキュメントアプライアンス31の宛先情報を含む接続要求を、インターネットNを介してアプリサービスシステム12へ送信する。
【0076】
<ステップS56、S57>
アプリサービスシステム12は、当該接続要求を受信して、アクセストークンを確認すると、新規接続要求をリレーサービスシステム13へ送信する。リレーサービスシステム13は、新規接続要求に応じて、セッションIDを発行して、アプリサービスシステム12へ応答する。
【0077】
<ステップS58、S59>
アプリサービスシステム12は、セッションIDを受信すると、当該セッションIDおよび宛先情報を含む接続要求を、サービスプラットフォーム11の制御部114へ送信する。制御部114は、当該接続要求を、インターネットNを介してドキュメントアプライアンス31へ送信する。
【0078】
<ステップS60、S61>
ドキュメントアプライアンス31は、当該接続要求を受信すると、当該接続要求に含まれるセッションIDを含むリレー接続要求を、インターネットNを介してリレーサービスシステム13へ送信する。リレーサービスシステム13は、当該リレー接続要求を受信すると、リレー接続のための処理を行い、リレー接続成功の旨をドキュメントアプライアンス31へ応答する。
【0079】
<ステップS62~S65>
ドキュメントアプライアンス31は、リレー接続成功の旨を受信すると、当該リレー接続成功の旨を、インターネットNを介してサービスプラットフォーム11の制御部114へ応答する。制御部114は、リレー接続成功の旨を受信すると、接続成功の旨をアプリサービスシステム12へ送信する。アプリサービスシステム12は、当該接続成功の旨を受信すると、ステップS57で取得したセッションIDを含む接続成功通知を、インターネットNを介してアクセス元端末20のアクセス先接続部226へ送信する。アクセス先接続部226は、接続成功通知を受信すると、アクセストークンおよび当該接続成功通知に含まれるセッションIDを含む接続要求を、インターネットNを介してリレーサービスシステム13へ送信する。リレーサービスシステム13は、当該接続要求に応じて、ドキュメントアプライアンス31との接続を確立する。
【0080】
<ステップS66、S67>
アクセス先接続部226は、起動成功の旨を、待ち受け部225へ応答する。待ち受け部225は、接続成功の旨を、ドキュメントアプリ210へ応答する。これによって、アクセス元端末20とドキュメントアプライアンス31との間で、リレーサービスシステム13を介したトンネルが確立される。
【0081】
トンネルが確立されると、確立されたトンネルの中を、ドキュメントアプリ210の通信が通る。なお、ここでは、ドキュメントアプリ210によるアクセスであるため、ドキュメントアプライアンス31との通信として説明するが、通信内容はリモートデスクトップでも、リモートファクス等でもよい。
【0082】
なお、上述のステップS52~S67の処理では、ドキュメントアプリ210からの接続要求により、リモート(ドキュメントアプライアンス31)への接続が確立されているが、ドキュメントアプリ210からの接続要求がされる前に予め接続を確立してもよく、または、上述の名前解決処理が完了したことをトリガとしてリモートへの接続が確立されてもよい。これによって、不要な接続を低減し、リモートアクセスシステム1の負荷を軽減し、ドキュメントアプリ210が接続したときの待ち時間を短縮することができる。
【0083】
<ステップS68~S71>
エンドユーザは、アクセス元端末20のドキュメントアプリ210により表示された、図14に示すドキュメントアプリ画面1300等を介して、ドキュメントアプライアンス31へアクセスする。
【0084】
ドキュメントアプリ画面1300は、図14に示すように、ドキュメントアプライアンス31内のドキュメントファイルの一覧を表示し、各ドキュメントを選択、編集、削除を行うためのドキュメント選択領域1301を含む。
【0085】
なお、ドキュメントアプリ210としては、ドキュメントアプライアンス31に対して、リモートで接続しているか、ローカルで接続しているかを認識する必要はない。
【0086】
ドキュメントアプリ210は、ドキュメントアプリ画面1300に対する操作に基づく各種コンテンツに対するアクセス要求を、待ち受け部225、アクセス先接続部226、およびリレーサービスシステム13を介して、ドキュメントアプライアンス31へ送信する。
【0087】
<ステップS72~S75>
ドキュメントアプライアンス31は、受信したアクセス要求が求めるコンテンツを、リレーサービスシステム13、アクセス先接続部226および待ち受け部225を介して、ドキュメントアプリ210へ送信する。
【0088】
<ステップS76>
エンドユーザは、ドキュメントアプライアンス31との通信を終了する場合、アクセス元端末20のUI221を介してドキュメントアプリ210に対して終了操作を行う。
【0089】
<ステップS77>
ドキュメントアプリ210は、接続の終了要求を待ち受け部225へ送る。
【0090】
<ステップS78、S79>
待ち受け部225は、接続の切断要求をアクセス先接続部226へ送る。また、待ち受け部225は、接続の終了の完了の旨を、ドキュメントアプリ210へ応答する。
【0091】
<ステップS80~S83>
アクセス先接続部226は、接続の切断要求を受け取ると、当該切断要求を、インターネットNを介してサービスプラットフォーム11へ送信する。また、アクセス先接続部226は、セッションIDを含む切断要求を、インターネットNを介してアプリサービスシステム12へ送信する。アプリサービスシステム12は、当該切断要求を、サービスプラットフォーム11の制御部114へ送信する。制御部114は、当該切断要求を、インターネットNを介してドキュメントアプライアンス31へ送信する。ドキュメントアプライアンス31は、当該切断要求に応じて、切断処理を行う。
【0092】
<ステップS84~S88>
ドキュメントアプライアンス31は、セッションIDを含む、リレー接続の切断要求をリレーサービスシステム13へ送信する。リレーサービスシステム13は、当該切断要求に応じて、リレー接続を切断する。また、ドキュメントアプライアンス31は、切断処理の完了の旨を、サービスプラットフォーム11の制御部114へ送信する。制御部114は、当該完了の旨を、アプリサービスシステム12へ応答する。アプリサービスシステム12は、当該完了の旨を、インターネットNを介してアクセス元端末20のアクセス先接続部226へ応答する。アクセス先接続部226は、当該完了の旨を待ち受け部225へ送る。
【0093】
(リモートアクセスシステムのローカルからの名前解決処理)
図15は、第1の実施形態に係るリモートアクセスシステムのローカルからの名前解決処理の流れの一例を示すシーケンス図である。図15を参照しながら、本実施形態に係るリモートアクセスシステム1のローカルからの名前解決処理の流れについて説明する。なお、図15においては、アクセス元端末20はローカル(現場)に存在するものとして説明する。
【0094】
<ステップS91>
エンドユーザは、アクセス元端末20のUI221を介してドキュメントアプリ210の起動操作を行う。
【0095】
<ステップS92、S93>
ドキュメントアプリ210は、ドキュメントアプライアンス31のFQDN「docapp.example.com」についての名前解決要求を、OS230の名前解決部231へ送る。名前解決部231は、当該名前解決要求をDNSクエリとして、インターネットNを介して外部のDNSサーバ40へ送信する。このとき、名前登録部224は、名前解決部231からの名前解決要求であるDNSクエリを横取りして、接続先リストを参照し、当該名前解決要求に含まれるFQDNに対応するIPアドレスが存在するか否か判定する。ここでは、接続先リストには、当該FQDNに対するIPアドレスが存在しないものとする。なお、名前解決要求のFQDNが接続先リストに存在しない場合は、ドキュメントアプライアンス31に対してローカルで接続するものとして、名前解決部231によるDNSクエリの横取りは行わないものとしてもよい。
【0096】
<ステップS94、S95>
DNSサーバ40は、本来のドキュメントアプライアンス31のIPアドレスを、インターネットNを介して名前解決部231へ応答する。そして、名前解決部231は、受信したIPアドレスを、ドキュメントアプリ210へ送る。
【0097】
したがって、アクセス元端末20がローカルに存在する場合において、名前登録部224によるIPアドレス(ループバックアドレス)を用いず、従来の接続方式で接続される。
【0098】
(リモートアクセスシステムのローカルからのアクセス先接続処理)
図16は、第1の実施形態に係るリモートアクセスシステムのローカルからのアクセス先接続処理の流れの一例を示すシーケンス図である。図16を参照しながら、本実施形態に係るリモートアクセスシステム1のローカルからのアクセス先接続処理の流れについて説明する。なお、図16においては、アクセス元端末20はローカル(現場)に存在するものとして説明する。
【0099】
<ステップS101>
エンドユーザは、アクセス元端末20のUI211を介してドキュメントアプリ210の起動操作を行う。
【0100】
<ステップS102>
ドキュメントアプリ210は、ローカルからの名前解決処理で取得したIPアドレスを含む接続要求を、ドキュメントアプライアンス31へ送信する。ドキュメントアプライアンス31は、当該接続要求に応じて、接続を確立する。
【0101】
<ステップS103、S104>
エンドユーザは、アクセス元端末20のドキュメントアプリ210により表示された、図14に示すドキュメントアプリ画面1300等を介して、ドキュメントアプライアンス31へアクセスする。ドキュメントアプリ210は、ドキュメントアプリ画面1300に対する操作に基づく各種コンテンツに対するアクセス要求を、ドキュメントアプライアンス31へ送信する。ドキュメントアプライアンス31は、受信したアクセス要求が求めるコンテンツを、ドキュメントアプリ210へ送信する。
【0102】
<ステップS105>
エンドユーザは、ドキュメントアプライアンス31との通信を終了する場合、アクセス元端末20のUI221を介してドキュメントアプリ210に対して終了操作を行う。
【0103】
<ステップS106>
ドキュメントアプリ210は、接続の切断要求を、ドキュメントアプライアンス31へ送信する。ドキュメントアプライアンス31は、当該切断要求に応じて、切断処理を行う。
【0104】
<ステップS107>
ドキュメントアプライアンス31は、切断処理の完了の旨を、ドキュメントアプリ210へ応答する。
【0105】
(名前登録部の接続先リスト登録・削除処理)
図17は、第1の実施形態に係るアクセス元端末の名前登録部における接続先リスト登録・削除処理の流れの一例を示すフローチャートである。図17を参照しながら、名前登録部224における接続先リスト登録・削除処理の流れについて説明する。図17に示す接続先リスト登録・削除処理は、名前登録部224により定期的に繰り返し実行させる処理である。
【0106】
<ステップS111>
アクセス元端末20の名前登録部224は、HD804を参照して、接続先リストを保有しているか確認する。接続先リストが保有されている場合(ステップS111:Yes)、ステップS112へ移行し、保有されてない場合(ステップS111:No)、継続して接続先リストの保有の有無が確認される。
【0107】
<ステップS112>
名前登録部224は、接続先リストに含まれる各接続先に対して、ローカルで接続(直接接続)できるか否か(到達可能となるか否か)を判定する。例えば、名前登録部224は、ICMP(Internet Control Message Protocol)のechоリクエスト、TCPのsycパケット、TLS(Transport Layer Security)での証明書のチェック、またはアプリケーションの応答等によって、ローカルで接続できるか否かを判定する。ローカルで接続できる場合(ステップS112:Yes)、ステップS113へ移行し、ローカルで接続できない場合(ステップS112:No)、ステップS114へ移行する。
【0108】
<ステップS113>
名前登録部224は、ローカルで接続できると判定した接続先を、接続先リストから削除する。
【0109】
<ステップS114>
名前登録部224は、ローカルで接続できないと判定した接続先を、接続先リストから登録(または登録の保持)をする。
【0110】
この仕組みによって、エンドユーザおよびアクセス元端末20がリモートにいるか現場にいるか意識しなくてもよくなる。
【0111】
(名前登録部のDNS応答処理)
図18は、第1の実施形態に係るアクセス元端末の名前登録部におけるDNS応答処理の流れの一例を示すフローチャートである。図18を参照しながら、名前登録部224におけるDNS応答処理の流れについて説明する。図18に示すDNS応答処理は、上述の図12のステップS34、および図15のステップS93で名前登録部224により行われる処理である。
【0112】
<ステップS121>
名前登録部224は、名前解決部231から送信された名前解決要求であるDNSクエリを横取り(キャプチャ)する。DNSクエリがキャプチャされた場合(ステップS121:Yes)、ステップS122へ移行し、キャプチャされない場合(ステップS121:No)、キャプチャされるまで待機する。
【0113】
<ステップS122>
名前登録部224は、DNSクエリに含まれる接続先のFQDNが接続先リストに存在するか否かを判定する。FQDNが接続先リストに存在する場合(ステップS122:Yes)、ステップS123へ移行し、存在しない場合(ステップS122:No)、ステップS124へ移行する。
【0114】
<ステップS123>
名前登録部224は、FQDNが接続先リストに存在する場合、リモートからドキュメントアプライアンス31に接続するものと判定し、当該接続先リストにおいて当該FQDNに対応するIPアドレス(ループバックアドレス)を、DNSクエリに対する応答として、名前解決部231へ応答する。
【0115】
<ステップS124>
名前登録部224は、FQDNが接続先リストに存在しない場合、ローカルからドキュメントアプライアンス31に接続するものと判定し、処理をパスする。そして、名前解決部231は、DNSサーバ40からDNSクエリに対する応答として、本来のドキュメントアプライアンス31のIPアドレスを受信する。
【0116】
以上のように、本実施形態に係るリモートアクセスシステム1では、アプリサービスシステム12は、ドキュメントアプライアンス31のFQDNを管理し、アクセス元端末20の制御部223は、アプリサービスシステム12からドキュメントアプライアンス31のFQDNを取得し、名前登録部224は、制御部223により取得されたFQDNと、対応するIPアドレスとを関連付けて接続先リストに登録し、待ち受け部225は、ドキュメントアプリ210から、接続先リストに登録されたドキュメントアプライアンス31の情報に基づく接続要求を受け付け、アクセス先接続部226は、待ち受け部225と、ドキュメントアプライアンス31との間の通信を接続するものとしている。これによって、DNSサーバへの登録を必要とせず、個別にグローバルIPアドレスを用意する必要がなく、既存の仕組みを利用してリモートから、オンプレミス等のような直接アクセスできないキュメントアプライアンス31のようなシステムにアクセスすることができる。また、インターネットN側を起点とする通信ではなく、ローカルネットワークを起点とする通信となるため、強固な防御をする必要がない。また、一時的にアクセスポートを外部に開放するということがないため、外部から予期しないアクセスの危険性を低減することができる。
【0117】
[第2の実施形態]
第2の実施形態に係るリモートアクセスシステム1について、第1の実施形態に係るリモートアクセスシステム1と相違する点を中心に説明する。本実施形態では、プロキシサーバを利用したアクセス動作について説明する。なお、本実施形態に係るリモートアクセスシステム1の全体構成、アクセス元端末、サービスプラットフォーム11、アプリサービスシステム12、リレーサービスシステム13およびドキュメントアプライアンス31のハードウェア構成、およびドキュメントアプライアンス31のソフトウェア構成は、上述の第1の実施形態で説明した構成と同様である。
【0118】
(アクセス元端末のソフトウェア構成)
図19は、第2の実施形態に係るアクセス元端末のソフトウェア構成の一例を示す図である。図20は、プロキシ設定画面の一例を示す図である。図19および図20を参照しながら、本実施形態に係るアクセス元端末20aのソフトウェア構成について説明する。
【0119】
図19に示すように、アクセス元端末20aは、ドキュメントアプリ210aと、エージェント220aと、OS230と、を含む。これらは、図4に示すCPU801により実行される。
【0120】
ドキュメントアプリ210aは、図19に示すように、UI211と、アプリケーションロジック212と、通信部213と、プロキシ設定部214と、を含む。
【0121】
プロキシ設定部214は、UI211により表示された図20に示すプロキシ設定画面1400で入力された設定情報を、アクセス元端末20aのHD804に記憶させるモジュールである。これによって、プロキシサーバとして機能する、後述する待ち受け部225aの設定を行うことができる。プロキシサーバの設定をすれば、ドキュメントアプリ210aは、常に設定したプロキシサーバを利用して接続する。
【0122】
図20に示すように、プロキシ設定画面1400は、プロキシの利用の有無を選択するプロキシ使用選択領域1401と、プロキシサーバのIPアドレスを入力するサーバアドレス入力領域1402と、ポート番号を入力するポート入力領域1403と、ユーザ名を入力するユーザ名入力領域1404と、パスワードを入力するパスワード入力領域1405と、上記の設定情報を適用して保存するための適用ボタン1406と、を含む。
【0123】
サーバアドレス入力領域1402に、ローカルホストのIPアドレスを設定することによって、アクセス元端末20aのみからアクセスできる。また、ユーザ名入力領域1404およびパスワード入力領域1405にそれぞれ入力されたユーザ名およびパスワードは、アクセス元端末20aで他のユーザが利用する可能性を考慮して、パスワード認証に利用される。
【0124】
エージェント220aは、図19に示すように、UI221と、ユーザ認証処理部222と、制御部223(取得部の一例)と、待ち受け部225a(登録部の一例、待ち受け部)と、アクセス先接続部226(接続部)と、を含む。
【0125】
待ち受け部225aは、ドキュメントアプリ210aからのアクセスを待ち受けるモジュールであり、プロキシサーバとして機能する。
【0126】
OS230は、図5に示すように、名前解決部231を含む。
【0127】
なお、ドキュメントアプライアンス31のソフトウェア構成は、上述の第1の実施形態と同様である。
【0128】
(リモートアクセスシステムのエージェント起動処理)
図21は、第2の実施形態に係るリモートアクセスシステムにおけるエージェント起動処理の流れの一例を示すシーケンス図である。図21を参照しながら、本実施形態に係るリモートアクセスシステム1におけるエージェント起動処理の流れについて説明する。
【0129】
<ステップS131~S143>
ステップS131~S143の処理は、それぞれ図8で説明したステップS11~S23の処理と同様である。
【0130】
<ステップS144>
制御部223は、選択された接続先のリストを含む登録要求を、プロキシサーバとしての待ち受け部225aへ送る。待ち受け部225aは、登録要求を受け取ると、当該登録要求に含まれる接続先を、上述の図11に示すような接続先リストに登録する。
【0131】
<ステップS145>
そして、UI221は、必要なバックグランド動作を行う。
【0132】
(リモートアクセスシステムのリモートからのアクセス先接続処理)
図22は、第2の実施形態に係るリモートアクセスシステムのリモートからのアクセス先接続処理の流れの一例を示すシーケンス図である。図22を参照しながら、本実施形態に係るリモートアクセスシステム1のリモートからのアクセス先接続処理の流れについて説明する。
【0133】
<ステップS151>
エンドユーザは、アクセス元端末20aのUI211を介してドキュメントアプリ210aの起動操作を行う。
【0134】
<ステップS152>
ドキュメントアプリ210aは、接続先(ドキュメントアプライアンス31)のFQDN(図22の例では「dоcapp.example.cоm」)を含む接続要求を、プロキシサーバである待ち受け部225aへ送る。この処理は、通常のプロキシサーバへの接続と同じであり、従来のドキュメントアプリに手を入れる必要がない。また、プロキシサーバとしての待ち受け部225aへの接続は、https(Hypertext Transfer Protocol Secure)の場合は、CONNECTメソッドにより接続し、平文のhttpの場合は、GET/POST等の通常のメソッドにより実行できる。
【0135】
<ステップS153>
待ち受け部225aは、接続要求を受け取ると、後述する図24に示す接続先決定処理を実行し、リモートからの接続と判定する。そして、待ち受け部225aは、起動要求をアクセス先接続部226へ送る。なお、待ち受け部225aが接続要求を受け付けてから、ドキュメントアプライアンス31への接続を開始しているが、これに限定されるものではなく、先行で接続して、接続時間を短縮するものとしてもよい。
【0136】
<ステップS154~S188>
ステップS154~S188の処理は、それぞれ図13で説明したステップS54~S88の処理と同様である。
【0137】
(リモートアクセスシステムのローカルからのアクセス先接続処理)
図23は、第2の実施形態に係るリモートアクセスシステムのローカルからのアクセス先接続処理の流れの一例を示すシーケンス図である。図23を参照しながら、本実施形態に係るリモートアクセスシステム1のローカルからのアクセス先接続処理の流れについて説明する。なお、図23においては、アクセス元端末20aはローカル(現場)に存在するものとして説明する。
【0138】
<ステップS201>
エンドユーザは、アクセス元端末20aのUI211を介してドキュメントアプリ210の起動操作を行う。
【0139】
<ステップS202>
ドキュメントアプリ210aは、接続先(ドキュメントアプライアンス31)のFQDN(図23の例では「dоcapp.example.cоm」)を含む接続要求を、プロキシサーバである待ち受け部225aへ送る。この処理は、通常のプロキシサーバへの接続と同じであり、従来のドキュメントアプリに手を入れる必要がない。
【0140】
<ステップS203>
待ち受け部225aは、接続要求を受け取ると、後述する図24に示す接続先決定処理を実行し、ローカルからの接続と判定する。そして、待ち受け部225aは、接続要求を、、インターネットNを介してドキュメントアプライアンス31へ送信する。ドキュメントアプライアンス31は、当該接続要求に応じて、接続を確立する。
【0141】
<ステップS204、S205>
ドキュメントアプライアンス31は、接続成功の旨を、インターネットNを介してアクセス元端末20aの待ち受け部225aへ応答する。待ち受け部225aは、当該接続成功の旨を、ドキュメントアプリ210へ応答する。
【0142】
<ステップS206~S210>
ステップS206~S210の処理は、それぞれ図16で説明したステップS103~S107の処理と同様である。
【0143】
このように、アクセス元端末20aが、ローカルに存在することにより、ドキュメントアプライアンス31へ直接アクセスできる場合にも、ドキュメントアプリ210aは、待ち受け部225a(プロキシサーバ)を介して、ドキュメントアプライアンス31に接続する。
【0144】
(待ち受け部の接続先決定処理)
図24は、第2の実施形態に係るアクセス元端末の待ち受け部における接続先決定処理の流れの一例を示すフローチャートである。図24を参照しながら、待ち受け部225aにおける接続先決定処理の流れについて説明する。図24に示す接続先決定処理は、上述の図22のステップS152およびS153、および図23のステップS202およびS203で待ち受け部225aにより行われる処理である。
【0145】
<ステップS221>
待ち受け部225aがドキュメントアプリ210aからFQDNを含む接続要求(接続リクエスト)を受け取った場合(ステップS221:Yes)、ステップS222へ移行し、受け取っていない場合(ステップS221:No)、受けるまで待機する。
【0146】
<ステップS222>
待ち受け部225aは、当該接続要求を受け取ると、当該接続要求に含まれる接続先のFQDNが接続先リストに含まれ、かつ、当該接続先がローカルで接続できるか否かを判定する。接続先のFQDNが接続先リストに含まれ、かつ、当該接続先がローカルで接続できる場合(ステップS222:Yes)、ステップS223へ移行する。一方、接続先のFQDNが接続先リストに含まれず、または、当該接続先がローカルで接続できない場合(ステップS222:No)、ステップS224へ移行する。
【0147】
<ステップS223>
待ち受け部225aは、ドキュメントアプライアンス31に対してリモートから接続すると判定する。
【0148】
<ステップS224>
待ち受け部225aは、ドキュメントアプライアンス31に対して直接(ローカルから)接続すると判定する。
【0149】
以上のように、本実施形態に係るリモートアクセスシステム1では、待ち受け部225aがプロキシサーバとして機能する。これによって、既存の仕組みを流用することができ、既存のアプリケーションの改造を必要としない。
【0150】
なお、上述の各実施形態において、アクセス元端末20、サービスプラットフォーム11、アプリサービスシステム12、リレーサービスシステム13およびドキュメントアプライアンス31の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM等に予め組み込まれて提供される。また、上述の各実施形態において、アクセス元端末20、サービスプラットフォーム11、アプリサービスシステム12、リレーサービスシステム13およびドキュメントアプライアンス31で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk-Recordable)、またはDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の各実施形態において、アクセス元端末20、サービスプラットフォーム11、アプリサービスシステム12、リレーサービスシステム13およびドキュメントアプライアンス31で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施形態において、アクセス元端末20、サービスプラットフォーム11、アプリサービスシステム12、リレーサービスシステム13およびドキュメントアプライアンス31で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の各実施形態において、アクセス元端末20、サービスプラットフォーム11、アプリサービスシステム12、リレーサービスシステム13およびドキュメントアプライアンス31で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPUが上述の記憶装置からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。
【符号の説明】
【0151】
1 リモートアクセスシステム
11 サービスプラットフォーム
12 アプリサービスシステム
13 リレーサービスシステム
20、20a アクセス元端末
30 アクセス先サービス
31 ドキュメントアプライアンス
32 セキュアボックス
32a リモートデスクトップ
32b ファクス
40 DNSサーバ
111 認証部
112 ポータル部
113 ログ部
114 制御部
210、210a ドキュメントアプリ
211 UI
212 アプリケーションロジック
213 通信部
214 プロキシ設定部
220、220a エージェント
221 UI
222 ユーザ認証処理部
223 制御部
224 名前登録部
225、225a 待ち受け部
226 アクセス先接続部
230 ОS
231 名前解決部
310 ドキュメントアプリサービス
311 アプリケーションロジック
320 エージェント
321 デバイス認証部
322 MQTT部
323 リレー部
330 OS
340 ファイルシステム
801 CPU
802 ROM
803 RAM
804 HD
805 HDDコントローラ
806 ディスプレイ
808 外部機器接続I/F
809 ネットワークI/F
810 バスライン
811 キーボード
812 ポインティングデバイス
813 DVD
814 DVD-RWドライブ
815 メディア
816 メディアI/F
1000 接続先管理画面
1001 接続先表示領域
1002 新規登録ボタン
1100 接続先設定ログイン画面
1101 メールアドレス入力領域
1102 パスワード入力領域
1103 ログインボタン
1200 接続先設定選択画面
1201 接続先選択領域
1202 決定ボタン
1300 ドキュメントアプリ画面
1301 ドキュメント選択領域
1400 プロキシ設定画面
1401 プロキシ使用選択領域
1402 サーバアドレス入力領域
1403 ポート入力領域
1404 ユーザ名入力領域
1405 パスワード入力領域
1406 適用ボタン
N インターネット
【先行技術文献】
【特許文献】
【0152】
【特許文献1】特許第5764085号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24