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

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

▶ ブラザー工業株式会社の特許一覧

特開2024-117498サーバ及びサーバのためのコンピュータプログラム
<>
  • 特開-サーバ及びサーバのためのコンピュータプログラム 図1
  • 特開-サーバ及びサーバのためのコンピュータプログラム 図2
  • 特開-サーバ及びサーバのためのコンピュータプログラム 図3
  • 特開-サーバ及びサーバのためのコンピュータプログラム 図4
  • 特開-サーバ及びサーバのためのコンピュータプログラム 図5
  • 特開-サーバ及びサーバのためのコンピュータプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024117498
(43)【公開日】2024-08-29
(54)【発明の名称】サーバ及びサーバのためのコンピュータプログラム
(51)【国際特許分類】
   G06F 8/65 20180101AFI20240822BHJP
   H04L 9/16 20060101ALI20240822BHJP
【FI】
G06F8/65
H04L9/16
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2023023629
(22)【出願日】2023-02-17
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】弁理士法人 快友国際特許事務所
(72)【発明者】
【氏名】三宅 猛
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA13
5B376CA42
(57)【要約】
【課題】通信装置がサービス提供サーバからのサービスを適切に受けるための技術を提供する。
【解決手段】サーバは、通信装置と通信するための通信インターフェイスと、前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置に記憶されているプログラムを更新すべきかを判断する判断部と、前記プログラムを更新すべきと判断される場合に、前記通信インターフェイスを介して、前記プログラムを更新する処理を前記通信装置に実行させるための第1の実行情報を第1の外部装置に送信する第1の送信部と、を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
サーバであって、
通信装置と通信するための通信インターフェイスと、
前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、
前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、
前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置に記憶されているプログラムを更新すべきかを判断する判断部と、
前記プログラムを更新すべきと判断される場合に、前記通信インターフェイスを介して、前記プログラムを更新する処理を前記通信装置に実行させるための第1の実行情報を第1の外部装置に送信する第1の送信部と、
を備える、サーバ。
【請求項2】
前記第1の実行情報は、前記プログラムのインストールを案内する画面を前記通信装置に表示させるための情報である、請求項1に記載のサーバ。
【請求項3】
前記装置能力情報は、前記サービス提供サーバとの通信に利用される通信プロトコルのバージョンを示す情報と、前記サービス提供サーバとの通信に利用される暗号スイートを示す情報と、前記サービス提供サーバとの通信に利用されるデジタル証明書情報と、のうちの少なくとも一つを含む、請求項1に記載のサーバ。
【請求項4】
前記サーバは、さらに、
前記プログラムを更新すべきと判断されない場合に、前記通信インターフェイスを介して、前記通信装置の通信設定を変更するための第2の実行情報を第2の外部装置に送信する第2の送信部を備える、請求項1に記載のサーバ。
【請求項5】
前記第2の実行情報に従って変更される前記通信設定は、
前記サービス提供サーバとの通信に利用される通信プロトコルのバージョンと、
前記サービス提供サーバとの通信に利用される暗号スイートと、
前記サービス提供サーバとの通信に利用されるデジタル証明書と、
を含む複数個の設定のうちの少なくとも一つである、請求項4に記載のサーバ。
【請求項6】
前記サーバは、さらに、
前記プログラムを更新すべきと判断されない場合に、前記通信装置が前記サーバを経由して前記サービス提供サーバと通信するための情報を第3の外部装置に送信する第3の送信部を備える、請求項1に記載のサーバ。
【請求項7】
前記サーバは、さらに、
前記通信装置と前記サービス提供サーバとの間で所定の通信が失敗する場合に、前記サービス提供サーバから前記サーバ能力情報を受信して、前記サーバ能力情報を前記メモリに記憶させる記憶制御部を備える、請求項1から6のいずれか一項に記載のサーバ。
【請求項8】
前記受信部は、さらに、前記通信インターフェイスを介して、前記通信装置からサービス識別情報を受信し、
前記判断部は、前記通信装置から受信した前記装置能力情報と、前記通信装置から受信した前記サービス識別情報によって識別される前記サービス提供サーバの通信能力を示す前記サーバ能力情報と、を比較して、前記プログラムを更新すべきか否かを判断する、請求項1から6のいずれか一項に記載のサーバ。
【請求項9】
サーバであって、
通信装置と通信するための通信インターフェイスと、
前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、
前記通信装置と前記サービス提供サーバとの間で所定の通信が失敗する場合に、前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、
前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置が前記サービス提供サーバと通信するための特定の方法を実行するべきかを判断する特定の判断部と、
前記特定の方法が実行されるべきと判断される場合に、前記通信インターフェイスを介して、前記特定の方法を前記通信装置に実行させるための実行情報を外部装置に送信する送信部と、
を備える、サーバ。
【請求項10】
前記装置能力情報は、前記サービス提供サーバとの通信に利用される通信プロトコルのバージョンを示す情報と、前記サービス提供サーバとの通信に利用される暗号スイートを示す情報と、前記サービス提供サーバとの通信に利用されるデジタル証明書情報と、のうちの少なくとも一つを含む、請求項9に記載のサーバ。
【請求項11】
前記特定の方法は、前記通信装置の通信設定を変更する方法である、請求項9に記載のサーバ。
【請求項12】
前記実行情報に従って変更される前記通信設定は、
前記サービス提供サーバとの通信に利用される通信プロトコルのバージョンと、
前記サービス提供サーバとの通信に利用される暗号スイートと、
前記サービス提供サーバとの通信に利用されるデジタル証明書と、
を含む複数個の設定のうちの少なくとも一つである、請求項11に記載のサーバ。
【請求項13】
前記特定の方法は、前記通信装置が前記サーバを経由して前記サービス提供サーバと通信する方法である、請求項9に記載のサーバ。
【請求項14】
前記判断部は、前記装置能力情報と前記サーバ能力情報とを比較して、前記通信装置が前記サービス提供サーバと通信するための複数個の方法の中から前記特定の方法を選択し、
前記複数個の方法は、
前記通信装置に記憶されているプログラムを更新する方法と、
前記通信装置の通信設定を変更する方法と、
前記通信装置が前記サーバを経由して前記サービス提供サーバと通信する方法と、
のうちの、少なくとも2個を含む、請求項9に記載のサーバ。
【請求項15】
前記サーバは、さらに、
前記所定の通信が失敗する場合に、前記サービス提供サーバから前記サーバ能力情報を受信して、前記サーバ能力情報を前記メモリに記憶させる記憶制御部を備える、請求項9から14のいずれか一項に記載のサーバ。
【請求項16】
前記受信部は、さらに、前記通信インターフェイスを介して、前記通信装置からサービス識別情報を受信し、
前記判断部は、前記通信装置から受信した前記装置能力情報と、前記通信装置から受信した前記サービス識別情報によって識別される前記サービス提供サーバの通信能力を示す前記サーバ能力情報と、を比較して、前記通信装置が前記特定の方法を実行するべきかを判断する、請求項9から14のいずれか一項に記載のサーバ。
【請求項17】
サーバのためのコンピュータプログラムであって、
前記サーバは、
通信装置と通信するための通信インターフェイスと、
前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、
前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置に記憶されているプログラムを更新すべきかを判断する判断部と、
前記プログラムを更新すべきと判断される場合に、前記通信インターフェイスを介して、前記プログラムを更新する処理を前記通信装置に実行させるための第1の実行情報を外部装置に送信する第1の送信部と、
として機能させる、コンピュータプログラム。
【請求項18】
サーバのためのコンピュータプログラムであって、
前記サーバは、
通信装置と通信するための通信インターフェイスと、
前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信装置と前記サービス提供サーバとの間で所定の通信が失敗する場合に、前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、
前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置が前記サービス提供サーバと通信するための特定の方法を実行するべきかを判断する特定の判断部と、
前記特定の方法が実行されるべきと判断される場合に、前記通信インターフェイスを介して、前記特定の方法を前記通信装置に実行させるための実行情報を外部装置に送信する送信部と、
として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、通信装置と通信可能なサーバに関する。
【背景技術】
【0002】
特許文献1には、サービス提供サーバから通信装置へのサービスの提供を仲介する仲介サーバが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-182466号公報
【特許文献2】特開2008-181228号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、通信装置がサービス提供サーバからのサービスを適切に受けるための技術を提供する。
【課題を解決するための手段】
【0005】
本明細書で開示するサーバは、通信装置と通信するための通信インターフェイスと、前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置に記憶されているプログラムを更新すべきかを判断する判断部と、前記プログラムを更新すべきと判断される場合に、前記通信インターフェイスを介して、前記プログラムを更新する処理を前記通信装置に実行させるための第1の実行情報を第1の外部装置に送信する第1の送信部と、を備える。
【0006】
上記の構成では、通信装置のプログラムが更新されることにより、通信装置はサービス提供サーバからのサービスを適切に受けることができる。特に、プログラムを更新すべきか否かは、装置能力情報とサーバ能力情報とを比較して正確に判断される。
【0007】
本明細書で開示する他のサーバは、通信装置と通信するための通信インターフェイスと、前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、前記通信装置と前記サービス提供サーバとの間で所定の通信が失敗する場合に、前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置が前記サービス提供サーバと通信するための特定の方法を実行するべきかを判断する特定の判断部と、前記特定の方法が実行されるべきと判断される場合に、前記通信インターフェイスを介して、前記特定の方法を前記通信装置に実行させるための実行情報を外部装置に送信する送信部と、を備える。
【0008】
上記の構成では、特定の方法の実行により、通信装置はサービス提供サーバからのサービスを適切に受けることができる。特に、特定の方法を実行すべきか否かは、装置能力情報とサーバ能力情報とを比較して正確に判断される。
【0009】
上記のサーバを実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ可読記憶媒体も新規で有用である。また、上記のサーバのための制御方法も新規で有用である。また、上記のサーバと上記の通信装置を備える通信システムも新規で有用である。
【図面の簡単な説明】
【0010】
図1図1は、通信システムのブロック図である。
図2図2は、通信システムによって実現される処理を示すシーケンス図である。
図3図3は、更新処理を示すシーケンス図である。
図4図4は、変更処理を示すシーケンス図である。
図5図5は、通信代替処理を示すシーケンス図である。
図6図6は、通信システムによって実現される処理を示すシーケンス図である。
【発明を実施するための形態】
【0011】
(第1実施例)
(通信システム2の構成;図1
通信システム2は、多機能機10と、仲介サーバ100と、サービス提供サーバ200と、サービス提供サーバ300と、ファームウエア提供サーバ500と、を備える。なお、以下では、「多機能機」を「MFP」と、「サービス提供サーバ」を「SPサーバ」と、「ファームウエア」を「FW」と、記載する。MFP10は、インターネット6を介して、各装置100、200、300、500と通信可能である。
【0012】
(MFP10の構成)
MFP10は、印刷機能及びスキャン機能を含む多機能を実行可能な周辺装置(例えばPCの周辺装置)である。MFP10は、FW40と、設定情報42と、を記憶する。FW40は、MFP10の動作を制御するプログラムである。設定情報42は、MFP10の複数個の設定を示す情報である。複数個の設定は、例えば、外部(例えばSPサーバ200)と通信するためにMFP10が現在利用している通信設定を含む。通信設定は、例えば、FW40のバージョン、通信プロトコルのバージョン、暗号スイート、デジタル証明書である。ここで、通信プロトコルは、例えば、Secure Socket Layer(SSL)、Transport Layer Security(TLS)である。また、暗号スイートは、例えば、暗号化アルゴリズム、ハッシュ関数、暗号化に利用される鍵の長さを示す。暗号化アルゴリズムは、例えば、Elliptic Curve Diffie-Hellman Key Exchange(ECDHE)、RSA、Diffie-Hellman key exchange(DHE)である。また、ハッシュ関数は、デジタル署名に利用され、例えば、SHA1、SHA256、SHA384である。デジタル証明書は、認証局(CA)によって発行される。
【0013】
(SPサーバ200、300の構成)
各SPサーバ200、300は、例えば、「Evernote(登録商標)」、「Google(登録商標) ドライブ」、「FACEBOOK(登録商標)」の公知のサードパーティサーバである。各SPサーバ200、300は、MFP10を含む様々な通信装置にサービスを提供可能に構成されている。
【0014】
(FW提供サーバ500の構成)
FW提供サーバ500は、MFP10のベンダによってインターネット6上に設置される。ベンダは、FW提供サーバ500に最新のFWをアップロードする。MFP10は、FW提供サーバ500から最新のFWをダウンロードすることにより、MFP10内のFW40を更新する。
【0015】
(仲介サーバ100の構成)
仲介サーバ100は、MFP10のベンダによってインターネット6上に設置され、各SPサーバ200、300とMFP10との間の通信を仲介する。仲介サーバ100は、通信インターフェイス120と、制御部130と、を備える。以下では、「インターフェイス」を「I/F」と記載する。通信I/F120は、インターネット6に接続されている。
【0016】
制御部130は、CPU132と、メモリ134と、を備える。メモリは、プログラム140とサービステーブル150とを記憶する。CPU132は、メモリ134に記憶されているプログラム140に従って、様々な処理を実行する。
【0017】
サービステーブル150は、複数個のSPサーバとの通信を仲介するための情報を記憶する。サービステーブル150は、複数個のSPサーバのそれぞれについて、当該SPサーバによって提供されるサービス名と、当該SPサーバにアクセスするためのアクセス情報と、当該SPサーバにログインするための認証情報と、を関連付けて記憶する。アクセス情報は、例えば、SPサーバのURLを含む。認証情報は、例えば、OAuth認証においてSPサーバから提供されるアクセストークンを含む。なお、変形例では、認証情報は、アカウント名及びパスワードを含んでもよい。
【0018】
例えば、サービス名「Scan UL」は、SPサーバ200によって提供され、MFP10によって生成されたスキャンデータをSPサーバ200にアップロードするサービスである。また、サービス名「DL Print」は、SPサーバ300によって提供され、SPサーバ300からダウンロードした画像データに対応する画像をMFP10に印刷させるサービスである。
【0019】
(通信システム2によって実現される処理;図2
図2を参照して、通信システム2によって実現される処理について説明する。以下では、理解の容易化のために、CPU132によって実行される処理を説明する際に、CPU132を主体として記載せずに、仲介サーバ100を主体として記載する。また、仲介サーバ100と他の装置との間の通信は、特に断らない限り、通信I/F120及びインターネット6を介して実行される。従って、仲介サーバ100と他の装置との間の通信を説明する際に、「通信I/Fを介して」及び「インターネット6を介して」という記載を省略する。
【0020】
ユーザは、T10において、MFP10の所定のWebボタンを操作する。Webボタンは、仲介サーバ100へアクセスするためのボタンである。MFP10は、T10において、Webボタンの操作を検知すると、T12において、Web開始要求を仲介サーバ100に送信する。
【0021】
仲介サーバ100は、T12において、MFP10からWeb開始要求を受信すると、T14において、Web画面に対応するWeb画面データをMFP10に送信する。Web画面は、サービステーブル150に記憶されている複数個のサービス名の中から特定のサービス名を選択するための画面である。
【0022】
MFP10は、T14において、仲介サーバ100からWeb画面データを受信すると、T16において、Web画面を表示する。本ケースでは、Web画面は、サービス名「Scan UL」を選択するボタンBT1と、サービス名「DL Print」を選択するボタンBT2と、を含む。本ケースでは、ユーザは、T18において、ボタンBT1を選択する。
【0023】
MFP10は、T18において、ボタンBT1の選択を検知すると、T20において、ボタンBT1に対応するサービス名「Scan UL」を仲介サーバ100に送信する。
【0024】
仲介サーバ100は、T20において、MFP10からサービス名「Scan UL」を受信すると、サービステーブル150から、サービス名「Scan UL」に関連付けて記憶されている情報、即ち、アクセス情報AC1と認証情報AU1とを取得する。ここで、アクセス情報AC1は、SPサーバ200のURLを含み、認証情報AU1は、SPサーバ200にログインするためのアクセストークンを含む。
【0025】
T22では、仲介サーバ100は、アクセス情報AC1と認証情報AU1とをMFP10に送信する。
【0026】
MFP10は、T22において、仲介サーバ100からアクセス情報AC1と認証情報AU1を受信すると、T24において、接続要求をSPサーバ200に送信する。接続要求は、SPサーバ200との間にTLSに従った接続(以下では「TLS接続」と記載)を確立するための要求である。接続要求は、アクセス情報AC1と認証情報AU1を含む。
【0027】
SPサーバ200は、T24において、MFP10から接続要求を受信すると、当該接続要求に従って、MFP10とのTLS接続の確立を試行する。仮に、MFP10とのTLS接続の確立が成功する場合には、SPサーバ200は、TLS接続を利用して、MFP10からスキャンデータを受信し、当該スキャンデータを記憶する。スキャンデータは、MFP10のユーザを示すアカウント名に関連付けて記憶される。これにより、サービス名「Scan UL」によって示されるサービスがユーザに提供される。また、仮に、SPサーバ300のサービスを利用する場合には、MFP10は、TLS接続を利用して、SPサーバ300から印刷データを受信し、当該印刷データに従った印刷を実行する。これにより、サービス名「DL Print」によって示されるサービスがユーザに提供される。
【0028】
また、SPサーバ200とMFP10との間のTLS接続の確立が失敗する場合がある。SPサーバ200は、サードパーティーによって管理される。このため、MFP10のユーザの知らない間に、SPサーバ200の通信能力が変更され得る。SPサーバ200の通信能力が変更されると、MFP10からSPサーバ200へ送信される信号が、SPサーバ200の変更後の通信能力に適合しない場合がある。この場合、TLS接続の確立が失敗する。本ケースでは、TLS接続の確立が失敗し、SPサーバ200は、T26において、TLS接続の確立が失敗したことを示す失敗通知をMFP10に送信する。なお、変形例では、SPサーバ200は、失敗通知をMFP10に送信しなくてもよい。この場合、例えば、T24の接続要求に対する応答がSPサーバ200から受信されることなく所定時間が経過する場合に、MFP10が、TLS接続の確立が失敗したと判断してもよい。
【0029】
MFP10は、T26において、SPサーバ200から失敗通知を受信すると、T28において、失敗通知を仲介サーバ100に送信する。MFP10が送信する失敗通知は、サービス名「Scan UL」と、MFP能力情報と、を含む。MFP能力情報は、MFP10の現在の通信能力を示す。MFP能力情報は、例えば、MFP10に現在記憶されているFW40のバージョンと、MFP10に現在記憶されている設定情報42を示す情報と、を含む。設定情報42を示す情報は、例えば、TLSのバージョン、暗号スイート、及び、デジタル証明書情報を含む。ここで、デジタル証明書情報は、デジタル証明書そのものでもよいし、デジタル証明書を識別する情報でもよい。
【0030】
仲介サーバ100は、T26において、MFP10から失敗通知を受信すると、T30において、能力要求をSPサーバ200に送信する。能力要求は、SPサーバ200の現在の通信能力を示すサーバ能力情報を要求する信号である。能力要求は、アクセス情報AC1を含む。
【0031】
SPサーバ200は、T30において、仲介サーバ100から能力要求を受信すると、T32において、サーバ能力情報を仲介サーバ100に送信する。サーバ能力情報は、SPサーバ200の通信能力を示し、例えば、TLSのバージョン、暗号スイート、及び、デジタル証明書情報を含む。
【0032】
仲介サーバ100は、T32において、SPサーバ200からサーバ能力情報を受信すると、当該サーバ能力情報をメモリ134に記憶させる。本実施例では、仲介サーバ100は、T26で受信したMFP能力情報とT32で受信したサーバ能力情報とを比較して、MFP10がSPサーバ200との接続を確立するための複数個の方法の中から1つの方法を選択する。複数個の方法は、後述する図3図5に示す方法である。複数個の方法の中から現在の状況に適した方法を選択することができる。
【0033】
T40では、仲介サーバ100は、MFP能力情報とサーバ能力情報とを比較して、MFP10内のFW40を更新するべきかを判断する。例えば、MFP能力情報によって示されるFW40のバージョンが3.0であり、バージョン3.0のFWがサポートしているTLSのバージョンが1.2以下である状況が想定される。この状況において、サーバ能力情報に含まれるTLSのバージョンが1.3であると、MFP10はSPサーバ200との接続を確立できない。一方、現時点において、FW提供サーバ500が、最新のバージョン4.0のFWを提供しており、バージョン4.0のFWは、バージョン1.3のTLSをサポートしている状況が想定される。MFP能力情報とサーバ能力情報とを比較することにより、MFP10内のFW40を更新すれば、接続確立の失敗の原因を解消することができることを判断することができる。
【0034】
仲介サーバ100は、MFP10内のFW40を更新するべきと判断する場合(T40でYES)に、T50において、MFP10内のFW40を更新するための更新処理(図3参照)を実行する。
【0035】
また、例えば、MFP10内のFW40が最新のバージョンである状況、又は、最新のバージョンのFWが、サーバ能力情報によって示される通信能力をサポートしていない状況も想定される。この場合には、仲介サーバ100は、MFP10内のFW40を更新するべきでないと判断し(T40でNO)、T42に進む。
【0036】
T42では、仲介サーバ100は、MFP能力情報とサーバ能力情報とを比較して、MFP10内の設定情報42を変更するべきかを判断する。例えば、MFP10内のFW40が最新のバージョン4.0であり、最新のバージョンのFWがサーバ能力情報によって示される通信能力をサポートしているものの、MFP能力情報によって示される通信能力がサーバ能力情報によって示される通信能力に適合しない状況が想定される。例えば、MFP10の設定情報42によって示されるTLSのバージョンが、サーバ能力情報によって示されるバージョンより古い場合、又は、MFP10の設定情報42によって示される暗号スイートが、サーバ能力情報によって示される暗号スイートと一致しない場合に、MFP10の通信能力がSPサーバ200の通信能力に適合しない。この場合に、仲介サーバ100は、MFP10内の設定情報42を変更するべきと判断する。
【0037】
仲介サーバ100は、MFP10内の設定情報42を変更するべきと判断する場合(T42でYES)に、T52において、MFP能力情報とサーバ能力情報とを比較して、設定情報42の中から変更すべき設定項目(以下では、「対象の設定項目」と記載)と、当該設定項目において設定されるべき設定値と、を決定する。仲介サーバ100は、1個の対象の設定項目を決定することもあれば、複数個の対象の設定項目を決定することもある。続くT54では、仲介サーバ100は、MFP10内の対象の設定項目を変更するための変更処理(図4参照)を実行する。
【0038】
また、例えば、MFP10内のFW40が最新のバージョンであるものの、最新のバージョンのFWがサーバ能力情報によって示される通信能力をサポートしていない状況が想定される。この場合には、仲介サーバ100は、MFP10内の設定情報42を変更するべきでないと判断し(T42でNO)、T56において、SPサーバ200との通信を仲介サーバ100に代替させるための代替通信処理(図5)を実行する。
【0039】
(更新処理;図3
図3は、図2のT50において更新処理が実行されるケースC1を示す。T100では、仲介サーバ100は、更新画面に対応する更新画面データをMFP10に送信する。更新画面は、FW40の更新をユーザに案内する画面である。
【0040】
MFP10は、T100において、仲介サーバ100から更新画面データを受信すると、T102において、更新画面を表示する。ユーザは、更新画面を見て、T104において、FW40を更新する指示をMFP10に入力する。
【0041】
MFP10は、T104において、更新の指示を検知すると、T106において、最新のFWを要求するFW要求をFW提供サーバ500に送信する。これにより、MFP10は、T108において、FW提供サーバ500から最新のFWを受信する。
【0042】
T110では、MFP10は、FW提供サーバ500から受信した最新のFWをインストールすることにより、FW40を更新する。
【0043】
T112は、図2のT24と同様である。本ケースでは、FW40が最新のFWに更新されているので、T114において、接続要求に従ったTLS接続の確立が成功する。
【0044】
T116では、MFP10は、T114のTLS接続を利用して、スキャンデータをSPサーバ200に送信する。これにより、T118では、SPサーバ200は、MFP10から受信したスキャンデータを記憶する。
【0045】
(変更処理;図4
図4は、図2のT54において変更処理が実行されるケースC2~C4を示す。T130では、仲介サーバ100は、変更画面に対応する変更画面データをMFP10に送信する。変更画面は、設定情報42の変更をユーザに案内する画面である。変更画面データは、図2のT52で決定された情報、即ち、対象の設定項目及び設定値を含む。
【0046】
MFP10は、T130において、仲介サーバ100から変更画面データを受信すると、T132において、変更画面を表示する。変更画面の内容は、変更画面データに含まれる対象の設定項目及び設定値の内容に応じて変化する。
【0047】
ケースC2は、対象の設定項目がハッシュ関数であるケースである。本ケースでは、変更画面データは、SPサーバ200の通信能力に適合するハッシュ関数の名前を含む。例えば、変更画面は、設定情報42内のハッシュ関数「SHA256」を変更画面データに含まれる名前「SHA384」によって示されるハッシュ関数へ変更する案内を示すメッセージを含む。T140では、ユーザは、変更画面を見て、MFP10の設定情報42のうち、暗号スイートに関する設定値を変更するための操作を実行する。
【0048】
MFP10は、T140において、暗号スイートに関する設定値を変更する操作を検知すると、T142において、設定情報42のうちの対象の設定項目「ハッシュ関数」を「SHA256」から「SHA384」に変更する。そして、MFP10は、図3のT112~T118と同様の処理を実行する。これにより、図3と同様に、TLS接続の確立が成功し、スキャンデータがSPサーバ200に送信される。
【0049】
ケースC3は、対象の設定項目がデジタル証明書であるケースである。本ケースでは、変更画面データは、SPサーバ200の通信能力に適合するデジタル証明書の名前を含む。例えば、変更画面は、設定情報42内のデジタル証明書を変更画面データに含まれる名前「xxx」によって示される別のデジタル証明書へ変更する案内を示すメッセージを含む。ユーザは、変更画面を見て、MFP10とは別の端末装置を操作して、デジタル証明書「xxx」を発行するCAにアクセスして、CAからデジタル証明書「xxx」をダウンロードする。そして、T144では、ユーザは、CAからダウンロードしたデジタル証明書「xxx」をMFP10にインストールする操作を実行する。インストールは、例えば、メモリーカード等の記憶媒体を利用して実行される。
【0050】
MFP10は、T144において、デジタル証明書「xxx」のインストールが終了すると、図3のT112~T118と同様の処理を実行する。これにより、図3と同様に、TLS接続の確立が成功し、スキャンデータがSPサーバ200に送信される。
【0051】
ケースC4は、対象の設定項目がTLSのバージョンであるケースである。本ケースでは、変更画面データは、SPサーバ200の通信能力に適合するTLSのバージョンを含む。例えば、変更画面は、設定情報42内のTLSのバージョン1.2を変更画面データに含まれるバージョン1.3へ変更する案内を示すメッセージを含む。本ケースは、例えば、MFP10に、バージョン1.2のTLSを利用するプログラムと、バージョン1.3のTLSを利用するプログラムと、の双方がインストールされているものの、現時点にてバージョン1.2のTLSが利用されている状況が想定される。T146では、ユーザは、変更画面を見て、MFP10の設定情報42のうちのTLSのバージョンを変更するための操作を実行する。
【0052】
MFP10は、T146において、TLSのバージョンを変更する操作を検知すると、T148において、設定情報42のうちの対象の設定項目「TLSのバージョン」を「1.2」から「1.3」に変更する。そして、MFP10は、図3のT112~T118と同様の処理を実行する。これにより、図3と同様に、TLS接続の確立が成功し、スキャンデータがSPサーバ200に送信される。
【0053】
(通信代替処理;図5
図5は、図2のT56において通信代替処理が実行されるケースC5を示す。本ケースでは、例えば、最新のFWがサーバ能力情報によって示されるTLSのバージョンをサポートしていないことに起因して、図2のT42でNOと判断される。T160では、仲介サーバ100は、代替URLをMFP10に送信する。代替URLは、MFP10が仲介サーバ100を経由してSPサーバ200と通信するためのURLである。代替URLは、仲介サーバ100内の所定のフォルダパスを示す。
【0054】
MFP10は、T160において、仲介サーバ100から代替URLを受信すると、T162において、代替URLを利用して、仲介サーバ100とのTLS接続を確立する。当該TLS接続は、例えば、MFP10のFW40がサポートしているバージョン1.2のTLSに従った接続である。
【0055】
仲介サーバ100は、T162において、MFP10とのTLS接続を確立すると、T164において、SPサーバ200とのTLS接続を確立する。当該TLS接続は、例えば、SPサーバ200のサーバ能力情報に適合しているバージョン1.3のTLSに従った接続である。
【0056】
MFP10は、T166において、T162で確立されたTLS接続を利用して、スキャンデータを仲介サーバ100に送信する。
【0057】
仲介サーバ100は、T168において、T164で確立されたTLS接続を利用して、T166でMFP10から受信したスキャンデータをSPサーバ200に送信する。これにより、T170では、SPサーバ200は、MFP10から仲介サーバ100を経由して受信したスキャンデータを記憶する。
【0058】
(本実施例の効果)
本実施例では、仲介サーバ100は、MFP10から受信したMFP能力情報とSPサーバ200から受信したサーバ能力情報とを比較して、FW40を更新すべきか否かを正確に判断することができる(図2のT40でYES、T50)。
【0059】
また、仲介サーバ100は、FW40を更新すべきでないと判断される場合には、MFP10から受信したMFP能力情報とSPサーバ200から受信したサーバ能力情報とを比較して、設定情報42を変更すべきか否かを正確に判断することができる(図2のT42でYES、T52、T54)。
【0060】
また、仲介サーバ100は、FW40の更新及び設定情報42の変更でも対処できない場合には、通信代替処理を利用して、MFP10とSPサーバ200との通信を仲介することができる。FW40の更新及び設定情報42の変更でも対処できない状況でも、SPサーバ200のサービスを利用することができる。
【0061】
また、仲介サーバ100は、MFP10とSPサーバ200とのTLS接続の確立が失敗する場合(T26)に、SPサーバ200からサーバ能力情報を受信する(T32)。仲介サーバ100は、TLS接続の確立が失敗した時点における最新のサーバ能力情報を知ることができる。最新のサーバ能力情報を利用して、T40及びT42の判断を正確に実行することができる。
【0062】
(対応関係)
仲介サーバ100、通信I/F120、メモリ134が、それぞれ、「サーバ」、「通信インターフェイス」、「メモリ」の一例である。MFP10が、「通信装置」の一例である。SPサーバ200又は300が、「サービス提供サーバ」の一例である。MFP10が、「第1の外部装置」及び「第2の外部装置」の一例である。図3のT102の更新画面が、「画面」の一例である。図3のT100の更新画面データが、「第1の実行情報」の一例である。図4のT130の変更画面データが、「第2の実行情報」の一例である。図2のT50、T54、及び、T56が、「複数個の方法」の一例である。図2のT50、T54、及び、T56のいずれかが、「特定の方法」の一例である。図3のT100の更新画面データ、図4のT130の変更画面データ、及び、図5のT160の代替URLのいずれかが、「実行情報」の一例である。サービス名が、「サービス識別情報」の一例である。TLS接続を確立するための通信が、「所定の通信」の一例である。
【0063】
図2のT28、図2のT40、図3のT100が、それぞれ、「受信部」、「判断部」、「第1の送信部」によって実現される処理の一例である。図2のT40及びT42が、「特定の判断部」によって実現される処理の一例である。図3のT100、図4のT130、及び、図5のT160のいずれかが、「送信部」によって実現される処理の一例である。
【0064】
(第2実施例)
(通信システム2によって実現される処理;図6
本実施例は、第1実施例の技術を、SPサーバ200及び300とは異なる他のSPサーバ400との通信が失敗する場合に適用した一例である。SPサーバ400は、MFP10との間に常時接続を確立して、MFP10の状態を示す状態情報を受信する。そして、SPサーバ400は、MFP10から受信した状態情報を利用した所定のサービスをユーザに提供する。状態情報は、例えば、MFP10の累計の印刷枚数、色材の残量等である。SPサーバ400が提供するサービスは、例えば、MFP10の状態の監視、色材のカートリッジの自動発送、定額制でMFP10を利用するサービスである。また、常時接続は、例えば、Extensible Messaging and Presence Protocol(XMPP)に従った接続である。
【0065】
図6の処理は、SPサーバ400によって提供されるサービスの利用を開始するための処理である。最初に、ユーザは、PC等である端末装置600を操作して、MFP10にアクセスする。具体的には、ユーザは、T200において、MFP10のIPアドレスを端末装置600に入力する。これにより、端末装置600は、MFP10の各種設定を変更するための設定画面を表示する。
【0066】
設定画面にSPサーバ400によって提供されるサービスの利用を開始する指示が入力されると、端末装置600は、T202において、SPサーバ400との常時接続の確立を要求する常時接続要求をMFP10に送信する。
【0067】
MFP10は、T202において、端末装置600から常時接続要求を受信すると、T204において、SPサーバ400との常時接続を確立するための通信を実行する。当該通信は、例えば、MFP10のシリアル番号の送信を含む。仮に、常時接続の確立が成功すると、SPサーバ400によるサービスの提供が開始される。
【0068】
本ケースでは、MFP10の通信能力がSPサーバ400の通信能力に適合しないことに起因して、MFP10とSPサーバ400との間の常時接続の確立が失敗する。この場合、SPサーバ400は、当該常時接続の確立が失敗したことを示す失敗通知をMFP10に送信する。なお、変形例では、SPサーバ400は、失敗通知をMFP10に送信しなくてもよい。この場合、例えば、T204の通信に応じた常時接続が確立されることなく所定時間が経過する場合に、MFP10が、常時接続の確立が失敗したと判断してもよい。
【0069】
T208は、失敗通知がSPサーバ400のURLであるサーバURLを含む点を除いて、図2のT28と同様である。T210は、SPサーバ400のサーバURLが利用される点を除いて、図2のT30と同様である。T212は、SPサーバ400のサーバ能力情報が受信される点を除いて、図2のT32と同様である。T240、T242、T250~T254は、図2のT40、T42、T50~T54と同様である。
【0070】
本実施例では、仲介サーバ100は、MFP10内の設定情報42を変更するべきでないと判断する場合(T242でNO)に、T256に進む。T256では、仲介サーバ100は、エラー画面をMFP10に表示させる。エラー画面は、SPサーバ400との常時接続の確立が失敗したことを示すエラーメッセージを含む。なお、変形例では、エラー画面は端末装置600に表示されてもよい。これにより、例えば、ユーザは、エラー画面を見て、SPサーバ400のサービスを受けるための対処方法をMFP10のベンダに問い合わせる。
【0071】
本実施例でも、第1実施例と同様に、MFP能力情報とサーバ能力情報とを比較して、FW40を更新すべきか否か、さらには、設定情報42を変更すべきか否かを正確に判断することができる(T240、T242)。
【0072】
(対応関係)
SPサーバ400が、「サービス提供サーバ」の一例である。図6のT250及びT254が、「複数個の方法」の一例である。図6のT250及びT254のいずれかが、「特定の方法」の一例である。常時接続を確立するための通信が、「所定の通信」の一例である。
【0073】
図6のT208、T240が、それぞれ、「受信部」、「判断部」によって実現される処理の一例である。図6のT240及びT242が、「特定の判断部」によって実現される処理の一例である。
【0074】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0075】
(変形例1) 「通信装置」は、MFP10に限らず、プリンタ、スキャナ、FAX装置、PC、サーバ等であってもよい。
【0076】
(変形例2) 「第1の実行情報」は、更新画面データに限らず、例えば、最新のFWそのものであってもよい。本変形例では、「画面」を省略可能である。
【0077】
(変形例3) 仲介サーバ100は、T100において、更新画面データをMFP10に送信することに代えて、FWの更新を案内するメッセージを含む電子メールをメールサーバに送信してもよい。ユーザは、当該電子メールを見て、FWを更新する指示をMFP10に入力してもよい。本変形例では、電子メール、メールサーバが、それぞれ、「第1の実行情報(又は実行情報)」、「第1の外部装置(又は外部装置)」の一例である。
【0078】
(変形例4) 仲介サーバ100は、T130において、変更画面データをMFP10に送信することに代えて、設定情報42の変更を案内するメッセージを含む電子メールをメールサーバに送信してもよい。ユーザは、当該電子メールを見て、設定情報42を変更する指示をMFP10に入力してもよい。本変形例では、電子メール、メールサーバが、それぞれ、「第2の実行情報(又は実行情報)」、「第2の外部装置(又は外部装置)」の一例である。
【0079】
(変形例5) 仲介サーバ100は、T160において、代替URLをMFP10に送信することに代えて、代替URLが本文に記述された電子メールをメールサーバに送信してもよい。ユーザは、当該電子メールを見て、代替URLをMFP10に入力してもよい。本変形例では、電子メール、メールサーバが、それぞれ、「実行情報」、「第3の外部装置(又は外部装置)」の一例である。
【0080】
(変形例6) 第1実施例において、図2のT52及びT54の処理は、実行されなくてもよい。また、第2実施例において、図6のT252及びT254の処理は、実行されなくてもよい。本変形例では、「第2の送信部」を省略可能である。
【0081】
(変形例7) 図2のT56の処理は、実行されなくてもよい。本変形例では、「第3の送信部」を省略可能である。
【0082】
(変形例8) 第1実施例において、図2のT30及ぶT32の処理は、実行されなくてもよい。また、第2実施例において、図6のT210及びT212の処理は、実行されなくてもよい。例えば、仲介サーバ100は、図2又は図6の処理が開始される前にSPサーバ200又は400からサーバ能力情報を予め取得していてもよい。
【0083】
(変形例9) 例えば、ユーザが利用するサービスが一つである場合には、T28の失敗通知は、サービス名を含まなくてもよい。本変形例では、「サービス識別情報」を省略可能である。
【0084】
(変形例10) 第1実施例において、例えば、T54及びT56の2個の処理の中から1個の処理が選択されてもよい。また、例えば、T50及びT56の2個の処理の中から1個の処理が実行されてもよい。
【0085】
(変形例11) 上記の実施例では、CPU132がプログラム140を実行することによって、図2図6の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
【0086】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【0087】
本特許出願時の特許請求の範囲において、各請求項が一部の請求項のみに従属している場合であっても、各請求項が当該一部の請求項のみに従属可能であることに限定されない。技術的に矛盾しない範囲において、各請求項は、出願時に従属していない他の請求項にも従属可能である。即ち、各請求項の技術は以下のように様々に組み合わせることができる。
(項目1)
サーバであって、
通信装置と通信するための通信インターフェイスと、
前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、
前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、
前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置に記憶されているプログラムを更新すべきかを判断する判断部と、
前記プログラムを更新すべきと判断される場合に、前記通信インターフェイスを介して、前記プログラムを更新する処理を前記通信装置に実行させるための第1の実行情報を第1の外部装置に送信する第1の送信部と、
を備える、サーバ。
(項目2)
前記第1の実行情報は、前記プログラムのインストールを案内する画面を前記通信装置に表示させるための情報である、項目1に記載のサーバ。
(項目3)
前記装置能力情報は、前記サービス提供サーバとの通信に利用される通信プロトコルのバージョンを示す情報と、前記サービス提供サーバとの通信に利用される暗号スイートを示す情報と、前記サービス提供サーバとの通信に利用されるデジタル証明書情報と、のうちの少なくとも一つを含む、項目1又は2に記載のサーバ。
(項目4)
前記サーバは、さらに、
前記プログラムを更新すべきと判断されない場合に、前記通信インターフェイスを介して、前記通信装置の通信設定を変更するための第2の実行情報を第2の外部装置に送信する第2の送信部を備える、項目1から3のいずれか一項に記載のサーバ。
(項目5)
前記第2の実行情報に従って変更される前記通信設定は、
前記サービス提供サーバとの通信に利用される通信プロトコルのバージョンと、
前記サービス提供サーバとの通信に利用される暗号スイートと、
前記サービス提供サーバとの通信に利用されるデジタル証明書と、
を含む複数個の設定のうちの少なくとも一つである、項目4に記載のサーバ。
(項目6)
前記サーバは、さらに、
前記プログラムを更新すべきと判断されない場合に、前記通信装置が前記サーバを経由して前記サービス提供サーバと通信するための情報を第3の外部装置送信する第3の送信部を備える、項目1から5のいずれか一項に記載のサーバ。
(項目7)
前記サーバは、さらに、
前記通信装置と前記サービス提供サーバとの間で所定の通信が失敗する場合に、前記サービス提供サーバから前記サーバ能力情報を受信して、前記サーバ能力情報を前記メモリに記憶させる記憶制御部を備える、項目1から6のいずれか一項に記載のサーバ。
(項目8)
前記受信部は、さらに、前記通信インターフェイスを介して、前記通信装置からサービス識別情報を受信し、
前記判断部は、前記通信装置から受信した前記装置能力情報と、前記通信装置から受信した前記サービス識別情報によって識別される前記サービス提供サーバの通信能力を示す前記サーバ能力情報と、を比較して、前記プログラムを更新すべきか否かを判断する、項目1から7のいずれか一項に記載のサーバ。
(項目9)
サーバであって、
通信装置と通信するための通信インターフェイスと、
前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、
前記通信装置と前記サービス提供サーバとの間で所定の通信が失敗する場合に、前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、
前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置が前記サービス提供サーバと通信するための特定の方法を実行するべきかを判断する特定の判断部と、
前記特定の方法が実行されるべきと判断される場合に、前記通信インターフェイスを介して、前記特定の方法を前記通信装置に実行させるための実行情報を外部装置に送信する送信部と、
を備える、サーバ。
(項目10)
前記装置能力情報は、前記サービス提供サーバとの通信に利用される通信プロトコルのバージョンを示す情報と、前記サービス提供サーバとの通信に利用される暗号スイートを示す情報と、前記サービス提供サーバとの通信に利用されるデジタル証明書情報と、のうちの少なくとも一つを含む、項目9に記載のサーバ。
(項目11)
前記特定の方法は、前記通信装置の通信設定を変更する方法である、項目9又は10に記載のサーバ。
(項目12)
前記実行情報に従って変更される前記通信設定は、
前記サービス提供サーバとの通信に利用される通信プロトコルのバージョンと、
前記サービス提供サーバとの通信に利用される暗号スイートと、
前記サービス提供サーバとの通信に利用されるデジタル証明書と、
を含む複数個の設定のうちの少なくとも一つである、項目11に記載のサーバ。
(項目13)
前記特定の方法は、前記通信装置が前記サーバを経由して前記サービス提供サーバと通信する方法である、項目9又は10に記載のサーバ。
(項目14)
前記判断部は、前記装置能力情報と前記サーバ能力情報とを比較して、前記通信装置が前記サービス提供サーバと通信するための複数個の方法の中から前記特定の方法を選択し、
前記複数個の方法は、
前記通信装置に記憶されているプログラムを更新する方法と、
前記通信装置の通信設定を変更する方法と、
前記通信装置が前記サーバを経由して前記サービス提供サーバと通信する方法と、
のうちの、少なくとも2個を含む、項目9又は10に記載のサーバ。
(項目15)
前記サーバは、さらに、
前記所定の通信が失敗する場合に、前記サービス提供サーバから前記サーバ能力情報を受信して、前記サーバ能力情報を前記メモリに記憶させる記憶制御部を備える、項目9から14のいずれか一項に記載のサーバ。
(項目16)
前記受信部は、さらに、前記通信インターフェイスを介して、前記通信装置からサービス識別情報を受信し、
前記判断部は、前記通信装置から受信した前記装置能力情報と、前記通信装置から受信した前記サービス識別情報によって識別される前記サービス提供サーバの通信能力を示す前記サーバ能力情報と、を比較して、前記通信装置が前記特定の方法を実行するべきかを判断する、項目9から15のいずれか一項に記載のサーバ。
(項目17)
サーバのためのコンピュータプログラムであって、
前記サーバは、
通信装置と通信するための通信インターフェイスと、
前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、
前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置に記憶されているプログラムを更新すべきかを判断する判断部と、
前記プログラムを更新すべきと判断される場合に、前記通信インターフェイスを介して、前記プログラムを更新する処理を前記通信装置に実行させるための第1の実行情報を外部装置に送信する第1の送信部と、
として機能させる、コンピュータプログラム。
(項目18)
サーバのためのコンピュータプログラムであって、
前記サーバは、
通信装置と通信するための通信インターフェイスと、
前記通信装置に所定のサービスを提供するサービス提供サーバであって、前記サーバとは異なる前記サービス提供サーバの通信能力を示すサーバ能力情報を記憶するメモリと、
コンピュータと、
を備え、
前記コンピュータプログラムは、前記コンピュータを、以下の各部、即ち、
前記通信装置と前記サービス提供サーバとの間で所定の通信が失敗する場合に、前記通信インターフェイスを介して、前記通信装置から前記通信装置の通信能力を示す装置能力情報を受信する受信部と、
前記通信装置から受信した前記装置能力情報と前記メモリ内の前記サーバ能力情報とを比較して、前記通信装置が前記サービス提供サーバと通信するための特定の方法を実行するべきかを判断する特定の判断部と、
前記特定の方法が実行されるべきと判断される場合に、前記通信インターフェイスを介して、前記特定の方法を前記通信装置に実行させるための実行情報を外部装置に送信する送信部と、
として機能させる、コンピュータプログラム。
【符号の説明】
【0088】
2 :通信システム
6 :インターネット
10 :MFP
42 :設定情報
100 :仲介サーバ
120 :通信I/F
130 :制御部
132 :CPU
134 :メモリ
140 :プログラム
150 :サービステーブル
200 :SPサーバ
300 :SPサーバ
400 :SPサーバ
500 :FW提供サーバ
600 :端末装置
AC1 :アクセス情報
AU1 :認証情報
BT1 :ボタン
BT2 :ボタン
図1
図2
図3
図4
図5
図6