(57)【要約】【課題】アクセス先としての設定を誤った状態でアプリケーションを市場リリースしてしまった場合に対して、設定値を是正する方法を提供する。【解決手段】Ｗｅｂサービスを利用するアプリケーションを備えた端末装置と通信可能な情報処理装置であって、アプリケーションの情報と、当該アプリケーションがＷｅｂサービスを利用する際のアクセス先情報とを対応づけて保持する保持手段と、アプリケーションからの要求に応じて、前記保持手段が保持する情報の中から、当該アプリケーションが利用するＷｅｂサービスのアクセス先情報を提供する提供手段とを有する。【選択図】  図６
2017188045.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサービスを利用するアプリケーションを備えた端末装置と通信可能な情報処理装置であって、
アプリケーションの情報と、当該アプリケーションがＷｅｂサービスを利用する際のアクセス先情報とを対応づけて保持する保持手段と、
アプリケーションからの要求に応じて、前記保持手段が保持する情報の中から、当該アプリケーションが利用するＷｅｂサービスのアクセス先情報を提供する提供手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記提供手段により前記アクセス先情報を提供したことに応じて、提供した前記アクセス先情報への設定変更が正常に行われた旨の応答を前記アプリケーションから受信した場合、前記保持手段にて保持されている前記アプリケーションの情報が示す通知先に、前記設定変更に関する通知を行う通知手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記応答は、前記アプリケーションにおける、設定変更前のアクセス先情報と、設定変更後のアクセス先情報を含み、
前記通知手段は、前記アプリケーションの識別情報、前記設定変更前のアクセス先情報、および、前記設定変更後のアクセス先情報を含めて通知を行うことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記保持手段は、前記通知先として、メールアドレスを保持することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記アクセス先情報は、ＷｅｂサービスのＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）であることを特徴とする請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記保持手段は、アプリケーションがリリースされてから経過した日時の日時情報を保持し、
前記提供手段は、アプリケーションから前記要求を受け付けた際に、当該アプリケーションがリリースされてから所定の日時が経過していない場合に、当該アプリケーションに対しＷｅｂサービスのアクセス先情報を提供することを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
リリースされてから所定の日時が経過しているアプリケーションから前記要求を受け付けた場合、前記保持手段にて保持されている前記アプリケーションの情報が示す通知先に、前記要求を受け付けた旨の通知を行う手段を更に有することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記要求を受け付けた旨の通知は、前記リリースされてから所定の日時が経過しているアプリケーションの識別情報を含むことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記保持手段は、アプリケーションのバージョンごとにＷｅｂサービスの異なるアクセス先情報を対応づけて保持することを特徴とする請求項１乃至８のいずれか一項に記載の情報処理装置。
【請求項１０】
請求項１乃至９のいずれか一項に記載の情報処理装置と、Ｗｅｂサービスを利用するアプリケーションを備えた端末装置とを含むシステムであって、
前記端末装置において前記アプリケーションは、
予め設定されたアクセス先情報を用いた前記Ｗｅｂサービスへのアクセスが失敗した場合、前記情報処理装置に新たなアクセス先情報の要求を行う要求手段と、
前記要求手段による要求の応答として得られた前記新たなアクセス先情報を用いた前記Ｗｅｂサービスへのアクセスが成功した場合、前記新たなアクセス先情報にて前記Ｗｅｂサービスへのアクセス先情報の設定変更を行う変更手段と
を有することを特徴とするシステム。
【請求項１１】
前記端末装置において前記アプリケーションは更に、前記変更手段にて前記新たなアクセス先情報への設定変更を行った場合に、当該設定変更が正常に行われた旨を前記情報処理装置へ通知する手段を有することを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記要求手段は、前記予め設定されたアクセス先情報を用いた前記Ｗｅｂサービスへのアクセスが所定の回数、失敗した場合、前記情報処理装置に前記Ｗｅｂサービスの新たなアクセス先情報の要求を行うことを特徴とする請求項１０または１１に記載のシステム。
【請求項１３】
Ｗｅｂサービスを利用するアプリケーションを備えた端末装置と通信可能な情報処理装置の制御方法であって、
アプリケーションの情報と、当該アプリケーションがＷｅｂサービスを利用する際のアクセス先情報とを対応づけて記憶部に保持する保持工程と、
アプリケーションからの要求に応じて、前記記憶部が保持する情報の中から、当該アプリケーションが利用するＷｅｂサービスのアクセス先情報を提供する提供工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項１４】
コンピュータを、
端末装置に備えられるアプリケーションの情報と、当該アプリケーションがＷｅｂサービスを利用する際のアクセス先情報とを対応づけて保持する保持手段、
アプリケーションからの要求に応じて、前記保持手段が保持する情報の中から、当該アプリケーションが利用するＷｅｂサービスのアクセス先情報を提供する提供手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびその制御方法、システム、並びにプログラムに関する。
【背景技術】
【０００２】
クラウドサービスのエンドポイントは、ＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）を含むＵＲＬのアドレスで構成される。エンドポイントのＦＱＤＮは、クラウドサービスの開発フェーズ（例えば、実装フェーズ、品質評価フェーズ、製品フェーズ）毎に異なるものが利用される。製品フェーズのエンドポイントは、一般的にインターネットの全てのクライアントからアクセス可能である。それに対し、実装フェーズ用のエンドポイント、品質評価フェーズ用のエンドポイントは、インターネット上にクラウドサービスは存在するが、明確にアクセスが制限される。
【０００３】
クラウドサービスを利用するクライアントアプリは、クラウドサービスにアクセスするエンドポイントのＵＲＬをアプリ固有の設定値として持つ。ここで、製品フェーズのクライアントアプリが、品質評価フェーズ用のクラウドサービスのエンドポイントを設定値として設定されたまま、リリースされた場合、設定が変更されるまで、クラウドサービスにアクセスすることは出来ない。
【０００４】
このような問題を解決するため、特許文献１では、アドレスの誤りを修復する技術が開示されている。特許文献１では、アドレス対応情報記憶部に記憶されていないアドレス応答をネットワーク上で検出し、そのアドレスを修復した上で、その送信先に対して、修復したアドレスを送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１５０５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、アドレスの正誤を判断し、その判断結果に応じて送信先に、修復したアドレス応答を送信するため、サーバー側の負荷が高い。
【０００７】
本発明では、アクセス先に関する誤った設定値を有する端末装置に対し、誤った設定値を是正すると共に、サーバー側での負荷を低減することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本願発明は以下の構成を有する。すなわち、Ｗｅｂサービスを利用するアプリケーションを備えた端末装置と通信可能な情報処理装置であって、アプリケーションの情報と、当該アプリケーションがＷｅｂサービスを利用する際のアクセス先情報とを対応づけて保持する保持手段と、アプリケーションからの要求に応じて、前記保持手段が保持する情報の中から、当該アプリケーションが利用するＷｅｂサービスのアクセス先情報を提供する提供手段とを有する。
【発明の効果】
【０００９】
本発明により、アクセス先に関する誤った設定値を有する端末装置に対し、設定値の是正が可能となると共に、サーバー側の処理負荷を低減することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係るエンドポイント通知システムの全体構成例を示す図。
【図２】本発明に係るシステムを構成する各機器のハードウェア構成例を示す図。
【図３】本発明に係るソフトウェア構成例およびネットワーク接続構成例を示す図。
【図４】第一の実施形態に係るテーブルの構成例を示す図。
【図５Ａ】本発明に係るクライアントのクラウドサービスアクセス時のフローチャート。
【図５Ｂ】本発明に係るクライアントのクラウドサービスアクセス時のフローチャート。
【図５Ｃ】本発明に係るクライアントのクラウドサービスアクセス時のフローチャート。
【図６】第一の実施形態に係るＦＱＤＮクエリーリクエスト受信時のフローチャート。
【図７】本発明に係るＦＱＤＮ変更済み通知受信時のフローチャート。
【図８】第二の実施形態に係るテーブルの構成例を示す図。
【図９】第二の実施形態に係るＦＱＤＮクエリーリクエスト受信時のフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１２】
＜第一の実施形態＞
［システムの全体構成］
図１は、本実施形態に係るシステムの全体構成例を示す図である。図１において、認証サービス１０１、ＭＦＰクライアント向けサービス１０２、ＰＣクライアント向けサービス１０３、モバイルクライアント向けサービス１０４、ＦＱＤＮ確認サービス１０５、メール送信サーバー１０６、ＭＦＰクライアント１１１、ＰＣクライアント１１２、モバイルクライアント１１３、および管理クライアント１１４の各デバイスが、ネットワーク１２１〜１２５を介して接続されている。クラウドサービスの開発フェーズ（ここでは、実装フェーズ、品質評価フェーズ、製品フェーズの３つとする）に応じて、サービスの提供元（サーバー）もしくは提供先（クライアント）が異なる場合には、それぞれ添え字を付して、サービスの提供元および提供先を分けて記載する。以下の説明において、フェーズごとに分けて説明を行う必要がある場合には、添え字を付して説明し、それ以外の場合は添え字を省略する。
【００１３】
図１において、ＭＦＰクライアント１１１、ＰＣクライアント１１２、モバイルクライアント１１３、および管理クライアント１１４は、それぞれ複数台接続されているものとする。ネットワーク１２１〜１２５は、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれであり、または、これらの組み合わせにより実現される。ネットワーク１２１〜１２５は、いわゆる通信ネットワークであり、データの送受信が可能であればよい。一般的なクラウドサービスでは、ネットワーク１２１はインターネット、ネットワーク１２２〜１２５は企業内ネットワークやインターネットサービスプロバイダーのネットワークとなる。例えば、品質保証フェーズ用の各クライアント（１１１ｂ、１１２ｂ、１１３ｂ）が接続されるネットワーク１２３は、クラウドサービスの品質保証部門が利用するネットワークである。また、実装フェーズ用の各クライアント（１１１ｃ、１１２ｃ、１１３ｃ）が接続されるネットワーク１２３は、クラウドサービスの設計開発部門が利用するネットワークである。
【００１４】
認証サービス１０１、ＭＦＰクライアント向けサービス１０２、ＰＣクライアント向けサービス１０３、モバイルクライアント向けサービス１０４、ＦＱＤＮ確認サービス１０５、およびメール送信サーバー１０６は、サーバーコンピュータ上にて実行される。これらサービス群が各種デバイスやユーザーに対してクラウドサービスを提供する。以下、これらクラウドサービスを提供する各サーバーを「サービス」と記載する。
【００１５】
認証サービス１０１は、各クライアントが、各アプリサービスにアクセスする際の認証を提供する。例えば、各クライアントが認証サービス１０１から特定のアプリサービスを利用するためのアクセストークンを受け取った上で、そのアクセストークンを用いてアプリサービスにアクセスを行う。ＭＦＰクライアント向けサービス１０２は、ＭＦＰクライアント１１１向けに特有のアプリケーションサービスを提供する。例えば、ＭＦＰクライアント向けサービス１０２は、ＭＦＰクライアント１１１からの要求に応じて、印刷ジョブのフォーマット変更などのサービスを提供する。ここでは、ユーザーが利用する画像形成装置の例としてＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）を例に挙げているが、これに限定するものではなく、アプリケーションに対応した他の画像形成装置もしくは装置であればよい。
【００１６】
ＰＣクライアント向けサービス１０３は、ＰＣクライアント１１２向けに特有のアプリケーションサービスを提供する。例えば、ＰＣクライアント向けサービス１０３は、ＰＣクライアント１１２からの要求に応じて、企業向けＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）などのサービスを提供する。モバイルクライアント向けサービス１０４は、モバイルクライアント１１３向けに特有のアプリケーションサービスを提供する。例えば、モバイルクライアント向けサービス１０４は、モバイルクライアント１１３からの要求に応じて、レポート生成を行うなどのサービスを提供する。
【００１７】
ＦＱＤＮ確認サービス１０５は、各クライアントからの要求に応じて、ＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）の情報を応答として返すサービスである。メール送信サーバー１０６は、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）によるメール送信のリクエストを処理する。
【００１８】
上記の各サービスのうち、１０１ａ、１０２ａ、１０３ａ、１０４ａはそれぞれ開発フェーズにおける製品フェーズ用のサービスを示す。同様に、１０１ｂ、１０２ｂ、１０３ｂ、１０４ｂはそれぞれ品質保証フェーズ用のサービスを示し、１０１ｃ、１０２ｃ、１０３ｃ、１０４ｃはそれぞれ実装フェーズ用のサービスを示す。つまり、各フェーズに対応して、対象とする利用者、すなわち、サービス対象とするクライアントが異なるサービスが設けられている。例えば、製品フェーズ用の認証サービス１０１ａは、製品フェーズ用のＭＦＰクライアント１１１ａをサービス対象とする。ＦＱＤＮ確認サービス１０５のみ、開発フェーズによらず、一つのサービスのみ存在する。つまり、いずれのフェーズにおいてもＦＱＤＮ確認処理については、ＦＱＤＮ確認サービス１０５により提供される。
【００１９】
ＭＦＰクライアント１１１は、認証サービス１０１から認証情報を受けとり、その認証情報を用いてＭＦＰクライアント向けサービス１０２を利用するマルチファンクションプリンタなどのデバイスである。ＰＣクライアント１１２は、認証サービス１０１から認証情報を受けとり、その認証情報を用いてＰＣクライアント向けサービス１０３を利用するパーソナルコンピュータなどのデバイスである。モバイルクライアント１１３は、認証サービス１０１から認証情報を受けとり、その認証情報を用いてモバイルクライアント向けサービス１０４を利用する携帯端末などのモバイルデバイスである。管理クライアント１１４は、各サービスを管理するためのデバイスである。
【００２０】
［ハードウェア構成］
図２は、本実施形態に係る各サービス（１０１〜１０６）を実行するサーバーコンピュータ、および、各クライアント（１１１〜１１４）のデバイスのハードウェア構成例を示す図である。本実施形態のサーバーコンピュータおよびクライアントデバイスは、図２に示すような一般的な情報処理装置のハードウェアを適用できる。
【００２１】
情報処理装置は、ユーザーインターフェース２０１、ネットワークインターフェース２０２、ＣＰＵ２０３、ＲＯＭ２０４、ＲＡＭ２０５、二次記憶装置２０６、および拡張ＩＦ２０８を含んで構成される。ユーザーインターフェース２０１は、ディスプレイ、キーボード、マウス、タッチパネルなどから構成され、情報の入出力を行う。なお、これらのハードウェアを備えないコンピュータは、リモートデスクトップやリモートシェルなどにより、他のコンピュータから接続・操作するように構成されてもよい。ネットワークインターフェース２０２は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークに接続して、他のコンピュータやネットワーク機器との通信を行う。ＣＰＵ２０３は、情報処理装置の全体を制御し、ＲＯＭ２０４、ＲＡＭ２０５、二次記憶装置２０６などから読み込んだプログラムを実行する。
【００２２】
ＲＯＭ２０４は、不揮発性の記憶領域であり、組込済みプログラムおよびデータが記録される。ＲＡＭ２０５は、一時メモリ領域である。二次記憶装置２０６は、不揮発性の記憶領域であり、ＨＤＤなどが該当する。拡張ＩＦ２０８は、外部の拡張装置と接続するためのインターフェースである。例えば、ＭＦＰクライアント１１１であれば、拡張ＩＦ２０８を介して、スキャナ、ＦＡＸなどの装置が接続される。情報処理装置に含まれる各部は、入出力インターフェース２０７を介して、通信可能に接続される。
【００２３】
［ソフトウェア構成およびネットワーク接続構成］
図３は、本実施形態に係るシステムにおけるソフトウェア構成例およびネットワークを介した相互の接続状況を示す図である。
【００２４】
アプリケーション３５１〜３５３は、各クライアント（１１１〜１１３）で実行されるアプリケーションである。アプリケーション３５１〜３５３は、その機能や目的に応じて、複数のアプリケーション（もしくはモジュールや拡張機能）を各クライアント（１１１〜１１３）内にインストールし、実行することができる。ここでのアプリケーションとして、例えば、印刷データ変換、企業向けＳＮＳ、レポート生成などのアプリケーションが挙げられる。
【００２５】
設定データ管理部３６１〜３６３は、各クライアント（１１１〜１１３）の設定データを管理する管理部である。設定データ管理部３６１〜３６３は、アプリケーション３５１〜３５３が利用する設定データを管理する。例えば、各アプリケーションが利用するクラウドサービス（１０１〜１０５）のＡＰＩ３２１〜３２５のエンドポイントのＦＱＤＮやＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）の設定値、および、クライアントアプリケーション自身のバージョン情報を管理する。クラウドサービスのＡＰＩのエンドポイントの情報は、アプリケーションによるアクセス先を示すアクセス先情報となる。
【００２６】
アプリケーション３５１ａは、製品フェーズ用のＭＦＰクライアント１１１ａのアプリケーションであり、設定データ管理部３６１ａの設定データを利用して動作する。設定データ管理部３６１ａは、ＭＦＰクライアント１１１ａの設定データ管理部である。設定データ管理部３６１ａは、製品フェーズ用の認証サービス１０１ａのＡＰＩ３２１ａ、製品フェーズ用のＭＦＰクライアント向けサービス１０２ａのＡＰＩ３２２ａ、ＦＱＤＮ確認サービス１０５のＡＰＩ３２５の各エンドポイントの設定値や、クライアント証明書などを管理および保持する。アプリケーション３５１ａは、設定データ管理部３６１ａに保持された値に基づき、認証サービス１０１ａのＡＰＩ３２１ａにアクセスして認証トークンを取得する。更に、アプリケーション３５１ａは、その認証トークンをリクエストパラメータに含めて、同じく設定データ管理部３６１ａに保持された値に基づき、ＭＦＰクライアント向けサービス１０２ａのＡＰＩ３２２ａにアクセスする。これにより、アプリケーション３５１ａは、Ｗｅｂアプリケーション３０２ａによるサービスを享受する。
【００２７】
なお、図３に示されていないが、ＭＦＰクライアント１１１ｂ、１１１ｃはそれぞれ、品質評価フェーズ用、実装フェーズ用のアプリケーション３５１ｂ、３５１ｃ、および、設定データ管理部３６１ｂ、３６１ｃを有する。アプリケーション３５１ｂ、３５１ｃ、設定データ管理部３６１ｂ、３６１ｃは、ＭＦＰクライアント１１１ａのアプリケーション３５１ａ、および、設定データ管理部３６１ａと同様の動作を行う。
【００２８】
Ｗｅｂブラウザー３７１は、管理クライアント１１４で実行されるＷｅｂブラウザーである。各クラウドサービス（１０１〜１０５）の管理ユーザーは、管理クライアント１１４のＷｅｂブラウザー３７１を用いて、各クラウドサービス（１０１〜１０５）のＷｅｂＵＩ３１１〜３１５にアクセスし、必要な管理作業を行う。例えば、ＭＦＰクライアント向けサービス１０２ａの管理ユーザーは、Ｗｅｂブラウザー３７１を用いて、製品フェーズ用のＭＦＰクライアント向けサービス１０２ａのＷｅｂＵＩ３１２ａにアクセスし、ＭＦＰクライアント向けサービス１０２ａの動作ログの閲覧などを行う。ＳＭＴＰアプリケーション３８１は、メール送信サーバー１０６が備えるＳＭＴＰアプリケーションである。ＳＭＴＰアプリケーション３８１は、メール送信プロトコルであるＳＭＴＰによるメール送信のリクエストを処理する。
【００２９】
データベース３３１〜３３５は、クラウドサービス（１０１〜１０５）にそれぞれ備えられたデータベースであり、クラウドサービス（１０１〜１０５）に各機能に必要なデータを保持する。Ｗｅｂアプリケーション３０１〜３０５は、Ｗｅｂユーザーインターフェース（以下「ＷｅｂＵＩ」と略す）３１１〜３１５、および、アプリケーションプログラミングインタフェース（以下「ＡＰＩ」と略す）３２１〜３２５を提供する。Ｗｅｂアプリケーション３０１〜３０５は、各ネットワークを経由して、他の機器からのリクエストを処理し、必要に応じてデータベース３３１〜３３５のデータにアクセスし、各クラウドサービスに特有の機能を実行し、応答を返す。ファイアウォール３４１〜３４５は、Ｗｅｂアプリケーション３０１〜３０５に対する外部ネットワーク（例えば、インターネット）からのアクセスを制限する。
【００３０】
図３では示されていないが、Ｗｅｂアプリケーション、ＷｅｂＵＩ、ＡＰＩ、データベース、ファイアウォールは、製品フェーズ用のサービスと同様に、品質保証フェーズ用のサービス、および、実装フェーズ用のサービスにもそれぞれ存在している。例えば、実装フェーズ用のＭＦＰクライアント向けサービス１０２ｃは、構成要素として、Ｗｅｂアプリケーション３０２ｃ、ＷｅｂＵＩ３１２ｃ、ＡＰＩ３２２ｃ、データベース３３２ｃ、及びファイアウォール３４２ｃを備える。
【００３１】
ファイアウォール３４１〜３４５は、外部ネットワーク（インターネット）からのアクセスを制限する機能を有する。ここでは、製品フェーズ用のサービスでは、アクセス制限を行わず、品質保証フェーズ用のサービス、および、実装フェーズ用のサービスでは、ＩＰアドレスベースのアクセス制限を行う。例えば、実装フェーズ用のＭＦＰクライアント向けサービス１０２ｃは、実装フェーズ用のＭＦＰクライアント１１１ｃからのリクエストのみを受け付けるよう、ファイアウォール３４２ｃでＭＦＰクライアント１１１ｃのＩＰアドレスからのリクエストを許可し、それ以外のＩＰアドレスからのリクエストを拒否する。ファイアウォール３４２ｃの許可設定は、例えば、管理クライアント１１４のＷｅｂブラウザー３７１を用いて管理ユーザーが行う。前述のように、ＡＰＩ３２１〜３２４は、製品フェーズ用のサービス（１０１ａ、１０１ａ、１０３ａ、１０４ａ）、品質保証フェーズ用のサービス（１０１ｂ、１０２ｂ、１０３ｂ、１０４ｂ）、実装フェーズ用のサービス（１０１ｃ、１０２ｃ、１０３ｃ、１０４ｃ）にそれぞれ存在している。
【００３２】
また、本実施形態では、Ｗｅｂサービスを利用する際の通信プロトコルとしてＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いた例を述べる。従って、通信が正常に行われた場合やエラーが生じた場合におけるステータスコードについては、ＨＴＴＰのステータスコードを用いて説明を行う。なお、通信プロトコル（およびステータスコード）は、上記に限定するものでは無く、本願発明の目的が達成できれば他のプロトコルを用いてもよい。
【００３３】
［従来の問題点について］
各クラウドサービス（１０１〜１０５）のＡＰＩおよびＷｅｂＵＩ３１１〜３１５にアクセスするためのＵＲＬは、Ｗｅｂアプリケーション３０１〜３０５毎に異なる。加えて、開発フェーズ毎にそれぞれサービスが提供されているサービスに関しては、開発フェーズ毎にもＡＰＩにアクセスするためのＵＲＬが異なる。例えば、ＭＦＰクライアント向けサービス１０２において、製品フェーズ用のＡＰＩ３２２ａ、品質保証フェーズ用のＡＰＩ３２２ｂ、実装フェーズ用のＡＰＩ３２２ｃはそれぞれ以下のようにＦＱＤＮが異なり、それに伴い、アクセス用のＵＲＬが異なる。
製品フェーズ用のＦＱＤＮ        ｓ０３．ｏａｎｏｎ．ｎｅｔ
品質保証フェーズ用のＦＱＤＮ    ｓ０２．ｏａｎｏｎ．ｎｅｔ
実装フェーズ用のＦＱＤＮ        ｓ０１．ｏａｎｏｎ．ｎｅｔ
製品フェーズ用のリクエストＵＲＬ
ｈｔｔｐｓ：／／ｓ０３．ｏａｎｏｎ．ｎｅｔ／ｍｆｐａｐｐ／ｃｏｎｖｅｒｔｊｏｂ／
品質保証フェーズ用のリクエストＵＲＬ
ｈｔｔｐｓ：／／ｓ０２．ｏａｎｏｎ．ｎｅｔ／ｍｆｐａｐｐ／ｃｏｎｖｅｒｔｊｏｂ／
実装フェーズ用のリクエストＵＲＬ
【００３４】
ｈｔｔｐｓ：／／ｓ０１．ｏａｎｏｎ．ｎｅｔ／ｍｆｐａｐｐ／ｃｏｎｖｅｒｔｊｏｂ／
上述の通り、開発フェーズ毎にそれぞれサービスの提供元が異なる場合、開発フェーズ毎にＦＱＤＮが異なり、それに伴い、ＡＰＩにアクセスするためのリクエストＵＲＬが異なる。そのため、それらのサービスにアクセスする各クライアント（１１１〜１１３）は、それぞれの設定データ管理部３６１〜３６３に、それぞれの開発フェーズに合致したＦＱＤＮの設定値を持つ必要がある。
【００３５】
例えば、実装フェーズ用のＭＦＰクライアント１１１ｃの設定データ管理部３６１ｃには、実装フェーズ用のＭＦＰクライアント向けサービス１０２ｃのＦＱＤＮである「ｓ０１．ｏａｎｏｎ．ｎｅｔ」が設定値として管理されている必要がある。同様に、品質保証フェーズ用のＭＦＰクライアント１１１ｂの設定データ管理部３６１ｂには、品質保証フェーズ用のＭＦＰクライアント向けサービス１０２ｂのＦＱＤＮである「ｓ０２．ｏａｎｏｎ．ｎｅｔ」が設定値として管理されている必要がある。同様に、製品フェーズ用のＭＦＰクライアント１１１ａの設定データ管理部３６１ａには、製品フェーズ用のＭＦＰクライアント向けサービス１０２ａのＦＱＤＮである「ｓ０３．ｏａｎｏｎ．ｎｅｔ」が設定値として管理されている必要がある。
【００３６】
ここで問題となるのは、開発フェーズ毎に異なったＦＱＤＮのＵＲＬにアクセスする必要があるクライアントにおいて、誤った開発フェーズのＦＱＤＮの設定値が設定されてしまった場合である。前述の通り、製品フェーズ用のＭＦＰクライアント１１１ａには、設定データ管理部３６１ａで、製品フェーズ用のＭＦＰクライアント向けサービス１０２ａのＦＱＤＮが設定値として管理されている必要がある。しかし、製品フェーズ用のＭＦＰクライアント１１１ａを出荷する際、誤って、品質保証フェーズ用のＦＱＤＮの設定値の状態で出荷してしまった場合、出荷後のＭＦＰクライアント１１１ａは、ＭＦＰクライアント向けサービス１０２にアクセスすることが出来ない。製品フェーズ用のＭＦＰクライアント１１１ａが、品質保証フェーズ用のＭＦＰクライアント向けサービス１０２ｂにアクセスしても、品質保証フェーズ用のファイアウォール３４１ｂによりアクセスが拒否されてしまう。これは、ＭＦＰクライアント１１１ａのＩＰアドレスが、品質保証フェーズ用のファイアウォール３４１ｂに設定されていないためである。そのため、製品フェーズ用のクライアントは、製品フェーズ用のクラウドサービスにアクセスするための設定値を持つ必要があり、設定値が誤ったまま出荷されてしまった場合、そのクラウドサービスを全く使えないこととなる。更に、品質保証フェーズ用のファイアウォール３４１ｂは、恒常的に、多くの利用不可のＩＰアドレスからのアクセスを受けるため、ファイアウォール３４１ｂの処理負荷が高くなるという問題も生じる。
【００３７】
［アプリケーション情報テーブル］
図４（ａ）は、本実施形態に係るシステムのＦＱＤＮ確認サービス１０５に備えられたデータベース３３５内のアプリケーション情報テーブル４００の構成例を示す。本システムの各クライアント（１１１〜１１３）に対するアプリケーションの開発者は、Ｗｅｂブラウザー３７１を用いて、ＦＱＤＮ確認サービス１０５のＷｅｂＵＩ３１５にアクセスし、ＷｅｂＵＩ３１５からクライアントアプリケーションの新規登録メニューを選択する。ＷｅｂＵＩ３１５は、クライアントアプリケーションの新規登録ＵＩ（不図示）を表示し、アプリケーション名、開発者のメールアドレス（通知先）の情報入力を要求する。開発者がそれらの情報の入力を終え、ＷｅｂＵＩ３１５から情報のサブミットを行うと、Ｗｅｂアプリケーション３０５により、ＦＱＤＮ確認サービス１０５のアプリケーション情報テーブル４００に新しいレコードが生成される。
【００３８】
カラム４０１は、本システムのクライアントのアプリケーションＩＤを格納するためのカラムである。アプリケーションＩＤは、アプリケーションを一意に識別するための識別情報であり、クライアントアプリケーションの新規登録の際、ＦＱＤＮ確認サービス１０５により付与される。カラム４０２は、アプリケーション名を格納するためのカラムである。カラム４０３は、アプリケーションの開発者（もしくは開発グループ）のメールアドレスを格納するためのカラムである。カラム４０４は、クライアントアプリケーションの新規登録が行われた日を記録するためのカラムであり、ＦＱＤＮ確認サービス１０５により設定される。
【００３９】
［バージョン情報テーブル］
図４（ｂ）は、本実施形態に係るシステムのＦＱＤＮ確認サービス１０５に備えられたデータベース３３５内のバージョン情報テーブル４１０の構成例を示す。本システムの各クライアント（１１１〜１１３）に対するアプリケーションの開発者は、Ｗｅｂブラウザー３７１を用いて、ＦＱＤＮ確認サービス１０５のＷｅｂＵＩ３１５にアクセスし、開発中のクライアントアプリケーションのバージョン情報の登録を行う。ＦＱＤＮ確認サービス１０５のＷｅｂＵＩ３１５は、バージョン情報の登録メニューで、アプリケーション名が選択された際、そのアプリケーションの最初のバージョン情報登録操作であれば、バージョン情報テーブル４１０の新規作成ＵＩ（不図示）を表示し、一つ以上のＦＱＤＮ情報のカラム名の入力を要求する。操作者からの入力が終了し、情報のサブミットが行われると、ＦＱＤＮ確認サービス１０５のＷｅｂアプリケーション３０５は、カラム４１１〜４１６を有するバージョン情報テーブル４１０を新規作成する。
【００４０】
バージョン情報テーブル４１０の新規作成後、ＷｅｂＵＩ３１５は、バージョン情報登録ＵＩ（不図示）を表示する。そして、操作者である開発者に、バージョン情報と、バージョン情報テーブル４１０の新規作成の際に指定された一つ以上のＦＱＤＮ情報のカラム、コメント、リリース日の入力を要求する。開発者がそれらの情報の入力を終え、情報のサブミットが行われると、Ｗｅｂアプリケーション３０５は、ＦＱＤＮ確認サービス１０５のバージョン情報テーブル４１０に新しいレコードを生成する。
【００４１】
カラム４１１は、アプリケーションＩＤを格納するためのカラムであり、ＷｅｂＵＩ３１５のバージョン情報の登録メニュー（不図示）で選択されたアプリケーション名に該当するアプリケーションＩＤがＷｅｂアプリケーション３０５により設定される。アプリケーションＩＤは、図４（ａ）のアプリケーション情報テーブル４００のアプリケーションＩＤのカラム４０１のいずれかの行と一致する値が設定される。
【００４２】
カラム４１２は、バージョンの値を格納するためのカラムであり、ＷｅｂＵＩ３１５のバージョン情報登録ＵＩ（不図示）で入力されたバージョン情報の値を保持する。ここで入力される値は、該当のクライアントアプリケーションでリリース予定のバージョンの値であり、クライアントアプリケーションの設定データ管理部３６１〜３６３で保持されるアプリケーションバージョン情報の値と同一な値である。カラム４１３、４１４は、バージョン情報テーブル４１０の新規作成の際に指定されたＦＱＤＮ情報を格納するためのカラムである。
【００４３】
カラム４１３は、認証サービス１０１のＦＱＤＮ情報のカラムであり、ＷｅｂＵＩ３１５のバージョン情報登録ＵＩ（不図示）で入力された認証サービス１０１のＦＱＤＮ情報の値を保持する。ここで入力される値は、認証サービス１０１ａ〜ｃのいずれかのＦＱＤＮの値である。カラム４１４は、ＭＦＰクライアント向けサービス１０２のＦＱＤＮ情報のカラムであり、ＷｅｂＵＩ３１５のバージョン情報登録ＵＩ（不図示）で入力されたＭＦＰクライアント向けＦＱＤＮ情報の値を保持する。ここで入力される値は、ＭＦＰクライアント向けサービス１０２ａ〜ｃのいずれかのＦＱＤＮの値である。
【００４４】
カラム４１５は、コメントの値を格納するためのカラムであり、ＷｅｂＵＩ３１５のバージョン情報登録ＵＩで入力されたコメント情報の値を保持する。ここで入力される値は、例えば、該当のバージョンに対する開発者による覚え書きなどが該当するが、特に限定するものではない。カラム４１６は、リリース日の値を格納するためのカラムであり、ＷｅｂＵＩ３１５のバージョン情報登録ＵＩ（不図示）で入力されたリリース日情報の値を保持する。ここで入力される値は、該当のアプリケーションのバージョンがリリースされる予定日時である。
【００４５】
［クラウドサービス利用時のフローチャート］
図５Ａ〜図５Ｃは、各クライアント（１１１〜１１３）における、各クラウドサービス（１０１〜１０４）へのアクセス時のフローチャートである。尚、各クライアント（１１１〜１１３）は、開発フェーズ毎に異なるクラウドサービスのＦＱＤＮを構成要素に持つＵＲＬにアクセスし、該当のサービスを利用する。以下、クライアントとして、製品フェーズ用のＭＦＰクライアント１１１ａを例に説明する。本処理フローは、クライアントとしての情報処理装置が備えるＣＰＵ２０３が二次記憶装置２０６等に格納されたプログラム（アプリケーション）を読み出して実行することにより実現される。
【００４６】
Ｓ５０１にて、ＭＦＰクライアント１１１ａのアプリケーション３５１ａは、設定データ管理部３６１ａから、認証サービス１０１のＦＱＤＮを取得し、認証サービス１０１ａへのアクセス用のＵＲＬを構成する。例えば、ＦＱＤＮの値「ａ０２．ｏａｎｏｎ．ｎｅｔ」が取得され、アクセス用のＵＲＬ「ｈｔｔｐｓ：／／ａ０２．ｏａｎｏｎ．ｎｅｔ／ａｕｔｈ／ｇｅｔＡｃｃｅｓｓＴｏｋｅｎ／」が構成される。
【００４７】
Ｓ５０２にて、アプリケーション３５１ａは、構成した認証サービス１０１ａのアクセス用のＵＲＬに、アクセストークン取得のＨＴＴＰリクエストを行う。
【００４８】
Ｓ５０３にて、アプリケーション３５１ａは、アクセストークン取得のリクエストに対するレスポンスとしてＨＴＴＰステータスコード：２０ｘ（２００（ＯＫ）または２０１（Ｃｒｅａｔｅｄ））が返ってきたか否かを判定する。ＨＴＴＰステータスコード：２０ｘをレスポンスとして受信した場合（Ｓ５０３にてＹＥＳ）、認証サービス１０１ａのＡＰＩ３２１ａへのアクセスが成功したとして、Ｓ５０４に進む。一方、ＨＴＴＰステータスコード：２０ｘ以外のレスポンスを受信した場合（Ｓ５０３にてＮＯ）、認証サービス１０１ａのＡＰＩ３２１ａへのアクセスが失敗したとして、Ｓ５０９へ進む。
【００４９】
Ｓ５０４にて、アプリケーション３５１ａは、認証サービス１０１ａのＡＰＩ３２１ａへのリクエストに対し、ＨＴＴＰステータスコード：２０ｘと共に受信したアクセストークンのデータを保持する。この際、アプリケーション３５１ａは、ＭＦＰクライアント１１１ａのＲＡＭ２０５に保持される内部リトライカウンター値を０にリセットする。内部リトライカウンターの詳細については後述する。
【００５０】
Ｓ５０５にて、アプリケーション３５１ａは、設定データ管理部３６１ａから、ＭＦＰクライアント向けサービス１０２ａのＦＱＤＮを取得し、ＭＦＰクライアント向けサービス１０２ａへのアクセス用のＵＲＬを構成する。例えば、ＦＱＤＮの値「ｓ０２．ｏａｎｏｎ．ｎｅｔ」が取得され、アクセス用のＵＲＬ「ｈｔｔｐｓ：／／ｓ０２．ｏａｎｏｎ．ｎｅｔ／ｍｆｐａｐｐ／ｃｏｎｖｅｒｔｊｏｂ／」が構成される。
【００５１】
Ｓ５０６にて、アプリケーション３５１ａは、構成したＭＦＰクライアント向けサービス１０２ａのアクセス用のＵＲＬに対し、リクエストパラメータにＳ５０４で保持したアクセストークンを含めて、印刷データ変換のＨＴＴＰリクエストを行う。
【００５２】
Ｓ５０７にて、アプリケーション３５１ａは、印刷データ変換のリクエストに対するレスポンスとしてＨＴＴＰステータスコード：２０ｘが返ってきたか否かを判定する。ＨＴＴＰステータスコード：２０ｘをレスポンスとして受信した場合（Ｓ５０７にてＹＥＳ）、ＭＦＰクライアント向けサービス１０２ａのＡＰＩ３２２ａへのアクセスが成功したとして、Ｓ５０８に進む。一方、ＨＴＴＰステータスコード：２０ｘ以外のレスポンスを受信した場合（Ｓ５０７にてＮＯ）、ＭＦＰクライアント向けサービス１０２ａのＡＰＩ３２２ａへのアクセスが失敗したとして、Ｓ５０９へ進む。
【００５３】
Ｓ５０８にて、アプリケーション３５１ａは、ＭＦＰクライアント向けサービス１０２ａのＡＰＩ３２２ａからＨＴＴＰステータスコード：２０ｘと共に受信したデータを印刷データとして印刷を実行する。この際、アプリケーション３５１ａは、内部リトライカウンター値を０にリセットする。そして、本処理フローを終了する。
【００５４】
Ｓ５０９にて、アプリケーション３５１ａは、ＭＦＰクライアント１１１ａのＲＡＭ２０５に保持される内部リトライカウンター値が３より大きいかを判定する。３より大きい場合は（Ｓ５０９にてＮＯ）Ｓ５１２へ進み、値が２以下である場合は（Ｓ５０９にてＹＥＳ）、Ｓ５１０に進む。ここでの内部リトライカウンターは、構成したＵＲＬを用いてアクセスを要求した場合にそのアクセスが失敗したことに伴って要求をリトライした回数を示す。なお、内部リトライカウンター値に対する所定の閾値は、３に限定するものではなく、例えば、処理負荷に応じて決定してよい。
【００５５】
Ｓ５１０にて、アプリケーション３５１ａは、内部リトライカウンター値を１インクリメントする。
【００５６】
Ｓ５１１にて、アプリケーション３５１ａは、Ｓ５０９の処理が認証サービス１０１ａへのアクセスに失敗した場合の実行（Ｓ５０３にてＮＯ）であったか否かを判定する。Ｓ５０９の処理が認証サービス１０１ａへのアクセスに失敗した場合の実行であった場合（Ｓ５１１にてＹＥＳ）、Ｓ５０２へ戻り、アプリケーション３５１ａは、処理を続行する。一方、Ｓ５０９の処理が認証サービス１０１ａへのアクセスに失敗した場合の実行でない場合、すなわち、ＭＦＰクライアント向けサービス１０２ａへのアクセスに失敗した場合の実行であった場合（Ｓ５１１にてＮＯ）、Ｓ５０６に戻り、アプリケーション３５１ａは、処理を続行する。
【００５７】
Ｓ５１２にて、アプリケーション３５１ａは、内部リトライカウンター値を０にリセットする。
【００５８】
Ｓ５１３にて、アプリケーション３５１ａは、Ｓ５０２またはＳ５０６のリクエストに対するサービスからのレスポンスにおいて、ＨＴＴＰステータスコードが４０３（Ｆｏｒｂｉｄｄｅｎ）または４０４（Ｎｏｔ  Ｆｏｕｎｄ）であったか否かを判定する。ＨＴＴＰステータスコードが４０３または４０４でない場合（Ｓ５１３にてＮＯ）、アプリケーション３５１ａは、ＭＦＰクライアント１１１ａの認証サービス１０１ａまたはＭＦＰクライアント向けサービス１０２ａの利用をエラーとして終了する。なお、この場合のエラー終了は、クライアントがモバイルクライアント１１３であれば、一時的なネットワーク接続の不調である場合が多い。そのため、モバイルクライアント１１３の次回起動時に図５Ａ〜図５Ｃのフローチャートを再実行するよう、クライアントがリカバリー処理を実行する構成にしてもよい。
【００５９】
一方、サービスからのレスポンスにおいて、ＨＴＴＰステータスコードが４０３または４０４であった場合（Ｓ５１３にてＹＥＳ）、Ｓ５１４へ進む。
【００６０】
Ｓ５１４にて、アプリケーション３５１ａは、設定データ管理部３６１ａから、自身のアプリケーション名とバージョン、および、ＦＱＤＮ確認サービス１０５のアクセス用ＵＲＬの情報を取得する。ここでは、アプリケーション名は「ＪｏｂＣｏｎｖｅｒｔｅｒ」、バージョンは「０．９３」であるとする。また、ＦＱＤＮ確認サービス１０５のアクセス用ＵＲＬは、ＦＱＤＮクエリーリクエスト用のＵＲＬが「ｈｔｔｐｓ：／／ｆｑｄｎ．ｏａｎｏｎ．ｎｅｔ／ｆｑｄｎｉｎｆｏ／ｑｕｅｒｙｗｉｔｈｖｅｒｓｉｏｎ／」であるとする。ＦＱＤＮ変更済み通知リクエスト用のＵＲＬが「ｈｔｔｐｓ：／／ｆｑｄｎ．ｏａｎｏｎ．ｎｅｔ／ｎｏｔｉｆｉｃａｔｉｏｎ／ｃｌｉｅｎｔｓｅｔｔｉｎｇｃｈａｎｇｅｄ／」であるとする。
【００６１】
Ｓ５１５にて、アプリケーション３５１ａは、アプリケーション名とバージョンをリクエストパラメータにセットして、ＦＱＤＮ確認サービス１０５のＦＱＤＮクエリーリクエストのアクセス用ＵＲＬにリクエストを送信する。
【００６２】
Ｓ５１６にて、アプリケーション３５１ａは、Ｓ５１５でのＦＱＤＮ確認サービス１０５へのリクエストに対するレスポンスとしてＨＴＴＰステータスコード：２０ｘが返ってきたか否かを判定する。ＨＴＴＰステータスコード：２０ｘをレスポンスとして受信した場合（Ｓ５１６にてＹＥＳ）、Ｓ５１７へ進む。ＨＴＴＰステータスコード：２０ｘ以外のレスポンスを受信した場合（Ｓ５１６にてＮＯ）、アプリケーション３５１ａは、ＦＱＤＮ確認サービス１０５のＡＰＩ３２５へのアクセスが失敗したと判定し、アプリケーション３５１ａは、エラーとして本処理フローを終了する。この場合のエラー終了に関しても、クライアントの次回起動時に図５Ａ〜図５Ｃのフローチャートを再実行するよう、クライアントがリカバリー処理を実行する構成にしてもよい。
【００６３】
Ｓ５１７にて、アプリケーション３５１ａは、設定データ管理部３６１ａからＦＱＤＮ確認サービス１０５とのデータ授受用の共通鍵を取得し、ＦＱＤＮ確認サービス１０５からＨＴＴＰステータスコード：２０ｘと共に受信した暗号化データを復号化する。このとき、復号化したデータには、認証サービス１０１ａのＦＱＤＮである「ａ０３．ｏａｎｏｎ．ｎｅｔ」とＭＦＰクライアント向けサービス１０２ａのＦＱＤＮである「ｓ０３．ｏａｎｏｎ．ｎｅｔ」の情報が含まれる。
【００６４】
Ｓ５１８にて、アプリケーション３５１ａは、復号化したデータに含まれる認証サービス１０１ａのＦＱＤＮ、および、ＭＦＰクライアント向けサービス１０２ａのＦＱＤＮの値が、自身の設定データ管理部３６１ａで保持される該当のデータの値と同一か否かを確認する。具体的には、図５Ｃに示すフローチャートの開始（すなわち、Ｓ５１４の開始）が、Ｓ５０３にてＮＯとなった際に行われた場合であれば、アプリケーション３５１ａは、復号化したデータに含まれる認証サービスのＦＱＤＮの値が同一か否かを判定する。一方、図５Ｃに示すフローチャートの開始（すなわち、Ｓ５１４の開始）が、Ｓ５０７にてＮＯとなった際に行われた場合であれば、アプリケーション３５１ａは、復号化したデータに含まれるＭＦＰクライアント向けサービスのＦＱＤＮの値が同一か否かを判定する。
【００６５】
Ｓ５１９にて、アプリケーション３５１ａは、Ｓ５１８の比較の結果、値が同一であったか否かを判定する。値が同一であると判定した場合（Ｓ５１９にてＹＥＳ）、アプリケーション３５１ａは、エラーとして本処理フローを終了する。一方、値が同一ではないと判定した場合（Ｓ５１９にてＮＯ）、Ｓ５２０に進む。
【００６６】
Ｓ５２０にて、アプリケーション３５１ａは、復号化したデータに含まれるＦＱＤＮの値を用いて、クラウドサービスへのアクセス用のＵＲＬを再構成する。具体的には、図５Ｃに示すフローチャートの開始（すなわち、Ｓ５１４の開始）が、Ｓ５０３にてＮＯとなった際に行われた場合であれば、アプリケーション３５１ａは、認証サービスへのアクセス用のＵＲＬを再構成する。一方、図５Ｃに示すフローチャートの開始（すなわち、Ｓ５１４の開始）が、Ｓ５０７にてＮＯとなった際に行われた場合であれば、アプリケーション３５１ａは、ＭＦＰクライアント向けサービスへのアクセス用のＵＲＬを再構成する。
【００６７】
Ｓ５２１にて、アプリケーション３５１ａは、Ｓ５２０にて再構成したアクセス用のＵＲＬでクラウドサービスにアクセスする。具体的には、Ｓ５２０にて認証サービスへのアクセス用のＵＲＬが再構成されていれば、アプリケーション３５１ａは、その再構成されたＵＲＬを用いて認証サービスへアクセスする。一方、Ｓ５２０にてＭＦＰクライアント向けサービスへのアクセス用のＵＲＬが再構成されていれば、アプリケーション３５１ａは、その再構成されたＵＲＬを用いてＭＦＰクライアント向けサービスへアクセスする。
【００６８】
Ｓ５２２にて、アプリケーション３５１ａは、Ｓ５２１でのリクエストに対するレスポンスとしてＨＴＴＰステータスコード：２０ｘが返ってきたか否かを判定する。ＨＴＴＰステータスコード：２０ｘをレスポンスとして受信した場合（Ｓ５２２にてＹＥＳ）、クラウドサービスへのアクセスが成功したとして、Ｓ５２３へ進む。ＨＴＴＰステータスコード：２０ｘ以外のレスポンスを受信した場合（Ｓ５２２にてＮＯ）、アプリケーション３５１ａは、クラウドサービスへのアクセスが失敗したと判定し、アプリケーション３５１ａは、エラーとして本処理フローを終了する。
【００６９】
Ｓ５２３にて、アプリケーション３５１ａは、Ｓ５２２でアクセスに成功したＵＲＬを構成するＦＱＤＮと、自身の設定データ管理部３６１ａで保持される該当のＦＱＤＮの両方を、設定データ管理部３６１ａから取得した共通鍵で暗号化する。具体的には、Ｓ５２２にて認証サービスへのアクセスが成功した場合には、アプリケーション３５１ａは、認証サービスのＦＱＤＮの値を暗号化する。また、Ｓ５２２にてＭＦＰクライアント向けサービスへのアクセスが成功した場合には、アプリケーション３５１ａは、ＭＦＰクライアント向けサービスのＦＱＤＮの値を暗号化する。なお、暗号化の方法は上記に限定するものではなく、ＦＱＤＮ確認サービス１０５側で復号化が可能であれば、任意の暗号化方式を適用可能であるとする。
【００７０】
Ｓ５２４にて、アプリケーション３５１ａは、Ｓ５２４で暗号化した２つのＦＱＤＮの値、および、Ｓ５１４で設定データ管理部３６１ａから取得した自身のアプリケーション名とバージョンを、リクエストパラメータにセットする。そして、アプリケーション３５１ａは、これらのリクエストパラメータを含む通知リクエストを、ＦＱＤＮ確認サービス１０５のＦＱＤＮ変更済み通知リクエストのアクセス用ＵＲＬに送信する。つまり、本工程において、設定変更前のＦＱＤＮの値と設定変更後のＦＱＤＮの値が送信されることとなる。
【００７１】
Ｓ５２５にて、アプリケーション３５１ａは、Ｓ５２４でのリクエストに対するレスポンスとしてＨＴＴＰステータスコード：２０ｘが返ってきたか否かを判定する。ＨＴＴＰステータスコード：２０ｘをレスポンスとして受信した場合（Ｓ５２５にてＹＥＳ）、ＦＱＤＮ確認サービス１０５へのアクセスが成功したとして、Ｓ５２６へ進む。ＨＴＴＰステータスコード：２０ｘ以外のレスポンスを受信した場合（Ｓ５２５にてＮＯ）、アプリケーション３５１ａは、ＦＱＤＮ確認サービス１０５へのアクセスが失敗したと判定し、アプリケーション３５１ａは、エラーとして本処理フローを終了する。
【００７２】
Ｓ５２６にて、アプリケーション３５１ａは、Ｓ５２１でアクセスに成功したＵＲＬを構成するＦＱＤＮの値で、自身の設定データ管理部３６１ａで保持される該当のＦＱＤＮの値を上書きする。これにより、ＦＱＤＮの設定変更が行われる。そして、本処理フローを終了する。
【００７３】
［ＦＱＤＮクエリーリクエスト受信時のフローチャート］
図６は、ＦＱＤＮ確認サービス１０５のＦＱＤＮクエリーリクエスト受信時のフローチャートである。図５ＣのＳ５１５にて示したように、アプリケーション名「ＪｏｂＣｏｎｖｅｒｔｅｒ」とバージョン「０．９３」がリクエストパラメータにセットされる。そして、ＦＱＤＮクエリーリクエスト用のＵＲＬ「ｈｔｔｐｓ：／／ｆｑｄｎ．ｏａｎｏｎ．ｎｅｔ／ｆｑｄｎｉｎｆｏ／ｑｕｅｒｙｗｉｔｈｖｅｒｓｉｏｎ／」にこのリクエストパラメータを含むリクエストが送信される。ＡＰＩ３２５を介して該当のリクエストを受信したＦＱＤＮ確認サービス１０５は、以下のフローチャートを実行する。本処理フローは、ＦＱＤＮ確認サービス１０５としての情報処理装置が備えるＣＰＵ２０３が二次記憶装置２０６等に格納されたプログラム（Ｗｅｂアプリケーション）を読み出して実行することにより実現される。
【００７４】
Ｓ６０１にて、ＦＱＤＮ確認サービス１０５のＷｅｂアプリケーション３０５は、リクエストパラメータから取得したアプリケーション名をキーにして、アプリケーション情報テーブル４００のアプリケーション名のカラム４０２を検索する。
【００７５】
Ｓ６０２にて、Ｗｅｂアプリケーション３０５は、アプリケーション情報テーブル４００のアプリケーション名のカラム４０２に、該当するアプリケーション名が見つかったか否かを判定する。該当するアプリケーション名があった場合（Ｓ６０２にてＹＥＳ）、Ｓ６０３に進み、無かった場合（Ｓ６０２にてＮＯ）Ｓ６０８へ進む。
【００７６】
Ｓ６０３にて、Ｗｅｂアプリケーション３０５は、アプリケーション情報テーブル４００において、該当のアプリケーション名を持つレコードのアプリケーションのカラム４０１の値を取得する。例えば、アプリケーション名「ＪｏｂＣｏｎｖｅｒｔｅｒ」に対して、アプリケーションＩＤの値「０００１」が取得される。
【００７７】
Ｓ６０４にて、Ｗｅｂアプリケーション３０５は、アプリケーション情報テーブル４００から取得したアプリケーションＩＤ、および、リクエストパラメータから取得したバージョンをキーにして、バージョン情報テーブル４１０のアプリケーションＩＤのカラム４１１、バージョンのカラム４１２を検索する。
【００７８】
Ｓ６０５にて、Ｗｅｂアプリケーション３０５は、Ｓ６０４のバージョン情報テーブル４１０の検索において、合致するレコードが見つかったか否かを判定する。合致するレコードが見つかった場合（Ｓ６０５にてＹＥＳ）、Ｓ６０６に進み、無かった場合（Ｓ６０５にてＮＯ）Ｓ６０８へ進む。
【００７９】
Ｓ６０６にて、Ｗｅｂアプリケーション３０５は、Ｓ６０４の検索において合致したレコードの「アプリケーションＩＤ」「バージョン」「コメント」「リリース日」以外のカラムの値を、そのカラム名と共に取得する。具体的には、「認証サービスＦＱＤＮ」のカラム４１３、および、「ＭＦＰクライアント向けサービスＦＱＤＮ」のカラム４１４の値が、そのカラム名と共に取得される。
【００８０】
Ｓ６０７にて、Ｗｅｂアプリケーション３０５は、Ｓ６０６で取得したカラム名とその値を、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）形式で、ＨＴＴＰボデイにセットし、ＨＴＴＰステータスコード：２００（ＯＫ）と共に、クライアントにレスポンスとして送信する。以下に、ＪＳＯＮ形式の記述例を示す。
｛
“認証サービスＦＱＤＮ”：“ａ０３．ｏａｎｏｎ．ｎｅｔ”，
“ＭＦＰクライアント向けサービスＦＱＤＮ”：“ｓ０３．ｏａｎｏｎ．ｎｅｔ”
｝
クライアントへのレスポンス送信後、Ｗｅｂアプリケーション３０５は、本処理フローを終了する。
【００８１】
Ｓ６０８にて、Ｗｅｂアプリケーション３０５は、ＨＴＴＰステータスコード：４００（Ｂａｄ  Ｒｅｑｕｅｓｔ）をクライアントにレスポンスとして送信する。その後、本処理フローを終了する。
【００８２】
［ＦＱＤＮ変更済み通知リクエスト受信時のフローチャート］
図７は、ＦＱＤＮ確認サービス１０５のＦＱＤＮ変更済み通知受信時のフローチャートである。図５ＣのＳ５２４にて示したように、アプリケーション名「ＪｏｂＣｏｎｖｅｒｔｅｒ」、バージョン「０．９３」、およびＳ５２３で暗号化された２つのＦＱＤＮの値がリクエストパラメータにセットされる。そして、ＦＱＤＮ変更済み通知用のＵＲＬ「ｈｔｔｐｓ：／／ｆｑｄｎ．ｏａｎｏｎ．ｎｅｔ／ｎｏｔｉｆｉｃａｔｉｏｎ／ｃｌｉｅｎｔｓｅｔｔｉｎｇｃｈａｎｇｅｄ／」に、このリクエストパラメータを含むリクエストが送信される。ＡＰＩ３２５を介して該当のリクエストを受信したＦＱＤＮ確認サービス１０５は、以下のフローチャートを実行する。本処理フローは、ＦＱＤＮ確認サービス１０５としての情報処理装置が備えるＣＰＵ２０３が二次記憶装置２０６等に格納されたプログラム（Ｗｅｂアプリケーション）を読み出して実行することにより実現される。
【００８３】
Ｓ７０１にて、Ｗｅｂアプリケーション３０５は、リクエストパラメータから取得したアプリケーション名をキーにして、アプリケーション情報テーブル４００のアプリケーション名のカラム４０２を検索する。
【００８４】
Ｓ７０２にて、Ｗｅｂアプリケーション３０５は、アプリケーション情報テーブル４００のアプリケーション名のカラム４０２に、該当するアプリケーション名が見つかったか否かを判定する。該当するアプリケーション名があった場合（Ｓ７０２にてＹＥＳ）Ｓ７０３へ進み、無かった場合（Ｓ７０２にてＮＯ）Ｓ７０６に進む。
【００８５】
Ｓ７０７にて、Ｗｅｂアプリケーション３０５は、ＨＴＴＰステータスコード：４００（Ｂａｄ  Ｒｅｑｕｅｓｔ）をクライアントにレスポンスとして送信する。そして、本処理フローを終了する。
【００８６】
Ｓ７０３にて、Ｗｅｂアプリケーション３０５は、アプリケーション情報テーブル４００において、該当するアプリケーション名を持つレコードのメールアドレスのカラム４０３の値を取得する。例えば、アプリケーション名「ＪｏｂＣｏｎｖｅｒｔｅｒ」に対して、メールアドレスの値「ｊｏｂｃｏｎ−ｃｌｉｅｎｔ＠ｄｅｖｅｌｏｐｅｒ．ｅｘａｍｐｌｅ．ｃｏｍ」が取得される。
【００８７】
Ｓ７０４にて、Ｗｅｂアプリケーション３０５は、リクエストパラメータから取得した２つの暗号化されたＦＱＤＮの値を、データベース３３５から取得した共通鍵で復号化する。復号化されたＦＱＤＮの一つは、クライアントがＦＱＤＮ確認サービス１０５からＦＱＤＮクエリーリクエストで受け取り、該当のクラウドサービス（認証サービス１０１など）へのアクセスに成功したＦＱＤＮ「ａ０３．ｏａｎｏｎ．ｎｅｔ」である。もう一つは、クライアントの設定データ管理部３６１で保持され、該当のクラウドサービス（認証サービス１０１など）へのアクセスに失敗したＦＱＤＮ「ａ０２．ｏａｎｏｎ．ｎｅｔ」である。
【００８８】
Ｓ７０５にて、Ｗｅｂアプリケーション３０５は、メールの宛先に、Ｓ７０３で取得したメールアドレスを設定する。更に、Ｗｅｂアプリケーション３０５は、メール本文には、「Ｆｏｕｎｄ  ｗｒｏｎｇ  ｓｅｔｔｉｎｇ  ｃｌｉｅｎｔ．」のメッセージ、リクエストパラメータから取得したアプリケーション名およびバージョン、Ｓ７０４で復号化した２つのＦＱＤＮの値をセットする。そして、Ｗｅｂアプリケーション３０５は、設定した内容のメール送信要求を、メール送信サーバー１０６にＳＭＴＰで送信する。その後、本処理フローを終了する。なお、メール本文に記載するメッセージは上記に限定するものではなく、他のメッセージであってもよいし、更なる情報をメール本文に含めてもよい。
【００８９】
このメール送信要求に基づいて、メール送信サーバー１０６から、該当のメールアドレス宛にメールが配信される。すなわち、ＦＱＤＮの値が正しくないクライアントアプリケーションがリリースされていることが、該当のクライアントアプリケーションの開発者に通知される。開発者は、このメール通知を受けて、誤ったエンドポイントの設定値でアプリケーションがリリースされたことに気づき、アップデート版リリースの作業に取り掛かることができる。
【００９０】
尚、Ｓ７０５において、既に該当のアプリケーション名およびバージョンに関して、既に開発者に対しメール送信を行っている場合、送信をスキップして、処理を終了するよう構成しても構わない。すなわち、クライアントアプリケーション開発者が同一内容のメールを何通も受け取らないように構成してもよい。また、本実施形態では、開発者への通知方法として、電子メールを用いたがこれに限定するものではなく、他の通知方法を用いてもよい。
【００９１】
＜第二の実施形態＞
第一の実施形態では、ＦＱＤＮ確認サービス１０５がアプリケーション名およびバージョンに対応するＦＱＤＮをリクエスト先のクライアントに返すことにより、クライアント側で誤ったＦＱＤＮを正しいＦＱＤＮに是正することが可能な仕組みを提供した。
【００９２】
一方、この仕組みをクライアントアプリケーションの開発者が濫用して、全てのクライアントアプリケーションがＦＱＤＮ確認サービス１０５に常にアクセスを行い、クラウドサービスの正しいエンドポイントの設定値を取得するよう構成される可能性がある。
【００９３】
ＦＱＤＮ確認サービス１０５は、あくまでも、クライアントアプリケーションの開発者がクラウドサービスに接続するためのエンドポイントの設定値を誤ってリリースしてしまった場合のセーフティネットであることを想定する。そのため、ＦＱＤＮ確認サービス１０５からメール送信サーバー１０６を介して、クライアントアプリケーションから通知された情報に基づいたＦＱＤＮ変更済み通知のメールがあった場合、クライアントアプリケーションの開発者は、すぐにその誤りを是正したアップデート版のリリースを行うことが期待される。しかしながら、ＦＱＤＮ確認サービス１０５で、ＦＱＤＮが修正されることを前提として、クライアントアプリケーションをリリースされると、ＦＱＤＮ確認サービスの本来の用途から外れることとなる。
【００９４】
このような用途で、ＦＱＤＮ確認サービス１０５が利用されると、ＦＱＤＮ確認サービス１０５が受信するリクエスト（ＦＱＤＮクエリーおよびＦＱＤＮ変更済み通知のリクエスト）量が、当初想定される運用規模を超えることが生じうる。想定運用規模を超えるリクエストを処理する必要がある場合、それに備えて、システムの可用性を予め向上させておく必要がある。また、想定運用規模を超えるリクエストを処理した場合、クラウド基盤の利用費が増大する。この両方の要因により、ＦＱＤＮ確認サービスに関わる運用費用は、増大する。これは、ＦＱＤＮ確認サービスが、不測の事態に備えたセーフティネットであることを考慮すると、好ましいことではない。上記課題を解決するための構成として、本発明の第二の実施形態について説明する。
【００９５】
［バージョン情報テーブル］
図８は、本実施形態に係るＦＱＤＮ確認サービス１０５に備えられたデータベース３３５内のバージョン情報テーブル８１０の構成例を示す。カラム４１１〜４１６は、第一の実施形態にて述べたバージョン情報テーブル４１０と同様であるため、説明を省略する。
【００９６】
カラム８１１は、Ａｇｉｎｇ値を格納するためのカラムである。Ａｇｉｎｇ値とは、該当のバージョンがリリース後、何日経過しているかを示す値である。リリース日を示すカラム４１６に格納された値から経過した日数の値が格納される。カラム８１１は、開発者が開発中のクライアントアプリケーションのバージョン情報の登録を行う際に入力したリリース日からの経過日がカウントアップされる。例えば、毎日０時ＵＴＣに、Ｗｅｂアプリケーション３０５により、バージョン情報テーブル８１０のカラム８１１の更新処理が自動実行され、全てのレコードのカラム８１１の値がそれぞれ１加算される。なお、現在の日時がリリース日前である場合には、カラム８１１にはマイナスの値が格納されるものとする。本実施形態では、上記のように、アプリケーションのリリース日を示すカラム４１６の情報と、経過日時を示すカラム８１１の情報とにより、リリース日からの日時情報を保持することとなる。
【００９７】
［ＦＱＤＮクエリーリクエスト受信時のフローチャート］
図９は、本実施形態に係るＦＱＤＮ確認サービス１０５のＦＱＤＮクエリーリクエスト受信時のフローチャートである。なお、第一の実施形態にて図６を用いて説明した処理と同じ処理については、同じ参照番号を付し、説明を省略する。本処理フローは、ＦＱＤＮ確認サービス１０５としての情報処理装置が備えるＣＰＵ２０３が二次記憶装置２０６等に格納されたプログラム（Ｗｅｂアプリケーション）を読み出して実行することにより実現される。
【００９８】
Ｓ６０５にて、Ｗｅｂアプリケーション３０５は、Ｓ６０４のバージョン情報テーブル４１０での検索において、合致するレコードが見つかった場合（Ｓ６０５にてＹＥＳ）Ｓ９０１に進み、無かった場合（Ｓ６０５にてＮＯ）Ｓ６０８へ進む。
【００９９】
Ｓ９０１にて、Ｗｅｂアプリケーション３０５は、Ｓ６０４の検索において合致したレコードのカラム８１１（Ａｇｉｎｇ値）の値を取得する。
【０１００】
Ｓ９０２にて、Ｗｅｂアプリケーション３０５は、Ｓ９０１で取得した値が、閾値以下か否かを判定する。ここでの閾値は、３０（すなわち、３０日）として説明するがこれに限定するものではない。閾値以下である場合（Ｓ９０２にてＹＥＳ）Ｓ９０３へ進み、閾値を超えている場合（Ｓ９０２にてＮＯ）Ｓ９０４へ進む。ここで閾値以下である場合とは、リリース日から予め設定された閾値の日数（ここでは、３０日）が経過していない場合を示す。
【０１０１】
Ｓ９０３にて、Ｗｅｂアプリケーション３０５は、Ｓ６０４の検索において合致したレコードの「アプリケーションＩＤ」「バージョン」「コメント」「リリース日」「Ａｇｉｎｇ値」以外のカラムの値を、そのカラム名と共に取得する。具体的には、「認証サービスＦＱＤＮ」のカラム４１３、および、「ＭＦＰクライアント向けサービスＦＱＤＮ」のカラム４１４の値が、そのカラム名と共に取得される。その後、Ｓ６０７へ進む。
【０１０２】
Ｓ９０４にて、Ｗｅｂアプリケーション３０５は、ＨＴＴＰステータスコード：４１０（Ｇｏｎｅ）をクライアントにレスポンスとして送信する。尚、ＨＴＴＰステータスコード：４１０（Ｇｏｎｅ）のレスポンスを受信したクライアントは、第一の実施形態にて示した図５ＣのＳ５１６にてＮＯとなり、エラー終了する。
【０１０３】
Ｓ９０５にて、Ｗｅｂアプリケーション３０５は、アプリケーション情報テーブル４００から、Ｓ６０１、Ｓ６０２で検索したアプリケーション名を持つレコードのメールアドレス（カラム４０３）の値を取得する。
【０１０４】
Ｓ９０６にて、Ｗｅｂアプリケーション３０５は、メールの宛先に、Ｓ９０５で取得したメールアドレスを設定する。更に、Ｗｅｂアプリケーション３０５は、メール本文には、「Ｅｘｐｉｒｅｄ  ｃｌｉｅｎｔ  ｆｏｕｎｄ．  Ｔｈｅ  ｒｅｑｕｅｓｔｅｄ  ｖｅｒｓｉｏｎ  ｈａｓ  ｇｏｎｅ．」のメッセージ、リクエストパラメータから取得したアプリケーション名およびバージョンの値をセットする。そして、Ｗｅｂアプリケーション３０５は、設定した内容のメール送信要求を、メール送信サーバー１０６にＳＭＴＰで送信する。その後、本処理フローを終了する。なお、メール本文に記載するメッセージは上記に限定するものではなく、他のメッセージであってもよいし、更なる情報をメール本文に含めてもよい。このメール送信要求に基づいて、メール送信サーバー１０６から、該当のメールアドレス宛にメールが配信される。
【０１０５】
本実施形態において、アプリケーションの各バージョンの是正期間（ＦＱＤＮ確認サービスの利用可能期間）の閾値をサービス開始日から３０日に規定している。これにより、ＦＱＤＮ確認サービス１０５は、ＦＱＤＮ取得クエリーリクエストの利用を、アプリケーションリリース後、３０日以内に制限することができる。そのため、クライアントアプリケーションの開発者が、ＦＱＤＮ確認サービス１０５に依存せず、リリースするクライアントアプリケーションに関するクラウドサービスのエンドポイントの設定値を常に正しく設定するよう留意する効果が期待できる。
【０１０６】
また、本実施形態において、クライアントアプリケーションの開発者宛にメールで、誤ったエンドポイントの設定値を持つクライアントアプリケーションのバージョンがまだ存在していることが通知される。そのため、クライアントアプリケーションの開発者に最新版クライアントへの早期更新の活動を促す効果が期待できる。
【０１０７】
以上、本実施形態により、是正期間を設けることで、第一の実施形態の効果に加え、ＦＱＤＮ確認サービスを用途外に利用されるのを抑制することができる。
【０１０８】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０９】
１０１  認証サービス
１０２  ＭＦＰクライアント向けサービス
１０５  ＦＱＤＮ確認サービス
１０６  メール配信サーバー
１１１  ＭＦＰクライアント
１１４  管理クライアント
３６１  設定データ管理部
【図１】
2017188045.tif 000003
【図２】
2017188045.tif 000004
【図３】
2017188045.tif 000005
【図４】
2017188045.tif 000006
【図５Ａ】
2017188045.tif 000007
【図５Ｂ】
2017188045.tif 000008
【図５Ｃ】
2017188045.tif 000009
【図６】
2017188045.tif 000010
【図７】
2017188045.tif 000011
【図８】
2017188045.tif 000012
【図９】
2017188045.tif 000013