(57)【要約】【課題】デバイスを制御するアプリケーションプログラムまたは情報処理装置について、デバイス選択の手間を軽減する技術を提供すること。【解決手段】ＰＣアプリ１４１は、ＰＣ１のＣＰＵ１１に、デバイスを特定する特定処理と、特定処理にて特定したデバイスを選択デバイスとして設定する設定処理と、ＰＣ１と同一のネットワーク内にある他のＰＣに設定される選択デバイスの変更を検知する検知処理と、検知処理にて他のＰＣの選択デバイスの変更を検知した場合に、変更後の選択デバイスを示すデバイス情報を他のＰＣから取得する変更デバイス取得処理と、ＰＣ１の選択デバイスを、変更デバイス取得処理にて取得したデバイス情報によって示されるデバイスに変更する設定変更処理と，を実行させるものである。【選択図】図２
2020027355.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置にインストールされるアプリケーションプログラムであって、
前記情報処理装置のコントローラに、
デバイスを特定する特定処理と、
前記特定処理にて特定したデバイスを選択デバイスとして前記情報処理装置に設定する設定処理と、
前記情報処理装置と同一のネットワーク内にある他の情報処理装置に設定される選択デバイスの変更を検知する検知処理と、
前記検知処理にて前記他の情報処理装置の選択デバイスの変更を検知した場合に、変更後の選択デバイスを示すデバイス情報を、前記他の情報処理装置から取得する変更デバイス取得処理と、
前記情報処理装置の選択デバイスを、前記変更デバイス取得処理にて取得した前記デバイス情報によって示されるデバイスに変更する設定変更処理と、
を実行させる、
ことを特徴とするアプリケーションプログラム。
【請求項２】
請求項１に記載するアプリケーションプログラムにおいて、
前記コントローラに、
前記検知処理にて前記他の情報処理装置の選択デバイスの変更を検知した場合に、前記変更デバイス取得処理にて取得した前記デバイス情報によって示されるデバイスに前記アプリケーションプログラムが対応するか否かを判断する対応判断処理を、前記設定変更処理を実行する前に実行させ、
さらに前記コントローラに、
前記対応判断処理にて前記デバイス情報によって示されるデバイスに前記アプリケーションプログラムが対応すると判断した場合、前記設定変更処理を実行させ、
前記対応判断処理にて前記デバイス情報によって示されるデバイスに前記アプリケーションプログラムが対応しないと判断した場合、前記デバイス情報によって示されるデバイスに対応する新たなアプリケーションプログラムを、前記新たなアプリケーションプログラムを記憶するサーバからダウンロードするダウンロード処理を実行させる、
ことを特徴とするアプリケーションプログラム。
【請求項３】
請求項２に記載するアプリケーションプログラムにおいて、
前記ダウンロード処理では、
前記サーバに前記新たなアプリケーションプログラムのダウンロードを要求する際、前記デバイス情報と前記情報処理装置の識別情報とを前記サーバに送信し、前記デバイス情報と前記識別情報とを前記サーバに記憶させる、
ことを特徴とするアプリケーションプログラム。
【請求項４】
請求項３に記載するアプリケーションプログラムにおいて、
前記コントローラに、
前記アプリケーションプログラムのインストール時もしくはインストール後の所定のタイミングに、前記サーバから、前記情報処理装置の前記識別情報に対応する前記デバイス情報を取得するサーバ記憶デバイス取得処理と、
前記情報処理装置の選択デバイスを、前記サーバ記憶デバイス取得処理によって取得された前記デバイス情報によって示されるデバイスに設定する初期設定処理と、
を実行させる、
ことを特徴とするアプリケーションプログラム。
【請求項５】
請求項１から請求項４のいずれか１つに記載するアプリケーションプログラムにおいて、
前記コントローラに、
前記設定処理にて前記情報処理装置の選択デバイスが変更された場合に、前記他の情報処理装置に対して、選択デバイスが変更されたことを示す変更通知を送信する通知処理を実行させ、
前記検知処理では、前記他の情報処理装置から前記変更通知を受信した場合に、前記他の情報処理装置に設定される選択デバイスの変更を検知する、
ことを特徴とするアプリケーションプログラム。
【請求項６】
請求項５に記載するアプリケーションプログラムにおいて、
前記コントローラに、
前記設定処理にて前記選択デバイスを設定した場合に、現在のネットワーク環境を示す環境情報をメモリに記憶する記憶処理と、
前記設定処理にて前記情報処理装置の選択デバイスが変更された場合に、前記通知処理および前記記憶処理を実行する前に、現在のネットワーク環境が前記記憶処理にて前記メモリに記憶される前記環境情報が示すネットワーク環境と同じか否かを判断する環境判断処理と、
を実行させ、
前記環境判断処理にてネットワーク環境が異なると判断した場合、前記設定処理にて前記情報処理装置の選択デバイスが変更された場合であっても、前記通知処理を実行させない、
ことを特徴とするアプリケーションプログラム。
【請求項７】
情報処理装置にインストールされるアプリケーションプログラムであって、
前記情報処理装置が他の情報処理装置から選択デバイスが変更されたことを示す変更通知を受信した際、前記情報処理装置から前記アプリケーションプログラムを記憶するサーバに対して、前記アプリケーションプログラムのダウンロード要求が行われ、さらに前記ダウンロード要求に伴って、選択デバイスを示すデバイス情報と前記情報処理装置の識別情報とが前記情報処理装置から前記サーバに送信され、前記デバイス情報と前記識別情報とが前記サーバに記憶された状態において、
前記情報処理装置のコントローラに、
前記アプリケーションプログラムのインストール時もしくはインストール後の所定のタイミングに、前記サーバから、前記情報処理装置の前記識別情報に対応する前記デバイス情報を取得するサーバ記憶デバイス取得処理と、
前記情報処理装置の選択デバイスを、前記サーバ記憶デバイス取得処理によって取得された前記デバイス情報によって示されるデバイスに設定する初期設定処理と、
を実行させ、
さらに前記コントローラに、
デバイスを特定する特定処理と、
前記特定処理にて特定したデバイスを選択デバイスとして前記情報処理装置に設定する設定処理と、
前記設定処理にて前記情報処理装置の選択デバイスが変更された場合に、前記他の情報処理装置に対して、選択デバイスが変更されたことを示す前記変更通知を送信する通知処理と、
を実行させる、
ことを特徴とするアプリケーションプログラム。
【請求項８】
情報処理装置にインストールされる、第１のプログラムと、第２のプログラムと、によって構成されるプログラムセットであって、
前記第１のプログラムは、
前記情報処理装置のコントローラに、
デバイスを特定する特定処理と、
前記特定処理にて特定したデバイスを選択デバイスとして前記情報処理装置に設定する設定処理と、
を実行させ、
前記第２のプログラムは、
前記コントローラに、
前記情報処理装置と同一のネットワーク内にある他の情報処理装置に設定される選択デバイスの変更を検知する検知処理と、
前記検知処理にて前記他の情報処理装置の選択デバイスの変更を検知した場合に、変更後の選択デバイスを示すデバイス情報を、前記他の情報処理装置から取得する変更デバイス取得処理と、
前記情報処理装置の選択デバイスを、前記変更デバイス取得処理にて取得した前記デバイス情報によって示されるデバイスに変更する設定変更処理と、
を実行させる、
ことを特徴とするプログラムセット。
【請求項９】
同一のネットワーク内に、第１の情報処理装置と、第２の情報処理装置と、を備えるセットアップシステムであって、
前記第１の情報処理装置は、
デバイスを特定する特定手段と、
前記特定手段にて特定したデバイスを選択デバイスとして前記第１の情報処理装置に設定する設定手段と、
を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置に設定される選択デバイスの変更を検知する検知手段と、
前記検知手段にて前記第１の情報処理装置の選択デバイスの変更を検知した場合に、変更後の選択デバイスを示すデバイス情報を、前記第１の情報処理装置から取得する変更デバイス取得手段と、
前記第２の情報処理装置の選択デバイスを、前記変更デバイス取得手段にて取得した前記デバイス情報によって示されるデバイスに変更する設定変更手段と、
を備える、
ことを特徴とするセットアップシステム。
【請求項１０】
請求項９に記載するセットアップシステムにおいて、
前記第２の情報処理装置は、
前記検知手段が前記第１の情報処理装置の選択デバイスの変更を検知した場合に、前記変更デバイス取得手段にて取得した前記デバイス情報によって示されるデバイスに対応可能か否かを判断する対応判断手段と、
前記対応判断手段が前記デバイス情報によって示されるデバイスに対応しないと判断した場合に、前記デバイス情報によって示されるデバイスに対応する新たなアプリケーションプログラムを、前記新たなアプリケーションプログラムを記憶するサーバからダウンロードするダウンロード手段と、
を備え、
前記設定変更手段は、
前記対応判断手段が前記デバイス情報によって示されるデバイスに対応すると判断した場合に、前記第２の情報処理装置の選択デバイスを変更する、
ことを特徴とするセットアップシステム。
【請求項１１】
請求項１０に記載するセットアップシステムにおいて、
前記ダウンロード手段は、
前記サーバに前記新たなアプリケーションプログラムのダウンロードを要求する際、前記デバイス情報と前記第２の情報処理装置の識別情報とを前記サーバに送信し、前記デバイス情報と前記識別情報とを前記サーバに記憶させる、
ことを特徴とするセットアップシステム。
【請求項１２】
請求項１１に記載するセットアップシステムにおいて、
前記第２の情報処理装置は、
前記アプリケーションプログラムのインストール時もしくはインストール後の所定のタイミングに、前記サーバから、前記第２の情報処理装置の前記識別情報に対応する前記デバイス情報を取得するサーバ記憶デバイス取得手段と、
前記第２の情報処理装置の選択デバイスを、前記サーバ記憶デバイス取得手段によって取得された前記デバイス情報によって示されるデバイスに設定する初期設定手段と、
を備える、
ことを特徴とするセットアップシステム。
【請求項１３】
請求項９から請求項１２のいずれか１つに記載するセットアップシステムにおいて、
前記第１の情報処理装置は、
前記設定手段が前記第１の情報処理装置の選択デバイスを変更した場合に、前記第２の情報処理装置に対して、選択デバイスが変更されたことを示す変更通知を送信する通知手段を備え、
前記第２の情報処理装置の前記検知手段は、
前記第１の情報処理装置から前記変更通知を受信した場合に、前記第１の情報処理装置に設定される選択デバイスの変更を検知する、
ことを特徴とするセットアップシステム。
【請求項１４】
請求項１３に記載するセットアップシステムにおいて、
前記第１の情報処理装置は、
前記設定手段が前記選択デバイスを設定した場合に、現在のネットワーク環境を示す環境情報をメモリに記憶する記憶手段と、
前記設定手段が前記第１の情報処理装置の選択デバイスを変更した場合、前記通知手段および前記記憶手段による処理を行う前に、現在のネットワーク環境が前記記憶手段にて前記メモリに記憶される前記環境情報が示すネットワーク環境と同じか否かを判断する環境判断手段と、
を備え、
前記環境判断手段がネットワーク環境が異なると判断した場合、前記設定手段が前記第１の情報処理装置の選択デバイスを変更した場合であっても、前記通知手段は前記変更通知を送信しない、
ことを特徴とするセットアップシステム。
【請求項１５】
同一のネットワーク内に、第１の情報処理装置と、第２の情報処理装置と、を備えるセットアップシステムであって、
前記第１の情報処理装置は、
前記第２の情報処理装置から選択デバイスが変更されたことを示す変更通知を受信した際、アプリケーションプログラムを記憶するサーバに対して、前記アプリケーションプログラムのダウンロード要求を行い、さらに前記ダウンロード要求に伴って、選択デバイスを示すデバイス情報と前記第１の情報処理装置の識別情報とを前記サーバに送信し、前記デバイス情報と前記識別情報とが前記サーバに記憶された状態において、
前記アプリケーションプログラムのインストール時もしくはインストール後の所定のタイミングに、前記サーバから、前記第１の情報処理装置の前記識別情報に対応する前記デバイス情報を取得するサーバ記憶デバイス取得手段と、
前記第１の情報処理装置の選択デバイスを、前記サーバ記憶デバイス取得手段によって取得した前記デバイス情報によって示されるデバイスに設定する初期設定手段と、
を備え、
前記第２の情報処理装置は、
デバイスを特定する特定手段と、
前記特定手段にて特定したデバイスを選択デバイスとして前記第２の情報処理装置に設定する設定手段と、
前記設定手段にて前記第２の情報処理装置の選択デバイスが変更された場合に、前記第１の情報処理装置に対して、選択デバイスが変更されたことを示す前記変更通知を送信する通知手段と、
を備える、
ことを特徴とするセットアップシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術分野は、デバイスを制御するアプリケーションプログラム、プログラムセット、およびセットアップシステムに関する。
【背景技術】
【０００２】
プリンタやスキャナ等のデバイスを制御するアプリケーションプログラムがある。このようなアプリケーションプログラムに関する技術としては、例えば特許文献１がある。特許文献１には、印刷アプリケーションをインストールした後、その印刷アプリケーションがプリンタを検索し、検索されたプリンタの中から１つのプリンタを選択する構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１７７５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
アプリケーションプログラムでデバイスを制御するためには、アプリケーションプログラムが用意した画面を介して、ユーザの操作によってそのデバイスを選択する必要がある。例えば１つのデバイスを複数の情報処理装置で共用するネットワークにおいて、デバイスの変更があった場合、ネットワーク内の全ての情報処理装置においてデバイスを選択し直す必要がある。しかしながら、１つ１つの情報処理装置に対してのデバイスの選択操作はネットワーク全体として見ると手間な操作であり、改善の余地がある。
【０００５】
本明細書に開示される技術は、前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは、デバイスを制御するアプリケーションプログラムまたは情報処理装置について、デバイス変更時の手間を軽減する技術を提供することにある。
【課題を解決するための手段】
【０００６】
この課題の解決を目的としてなされたアプリケーションプログラムは、情報処理装置にインストールされるアプリケーションプログラムであって、前記情報処理装置のコントローラに、デバイスを特定する特定処理と、前記特定処理にて特定したデバイスを選択デバイスとして前記情報処理装置に設定する設定処理と、前記情報処理装置と同一のネットワーク内にある他の情報処理装置に設定される選択デバイスの変更を検知する検知処理と、前記検知処理にて前記他の情報処理装置の選択デバイスの変更を検知した場合に、変更後の選択デバイスを示すデバイス情報を、前記他の情報処理装置から取得する変更デバイス取得処理と、前記情報処理装置の選択デバイスを、前記変更デバイス取得処理にて取得した前記デバイス情報によって示されるデバイスに変更する設定変更処理と、を実行させる、ことを特徴としている。
【０００７】
本明細書に開示されるアプリケーションプログラムでは、ネットワーク内の他の情報処理装置で選択デバイスが変更されたことを検知した場合、その変更後のデバイスの情報を取得して、自装置の選択デバイスをその変更後の選択デバイスに変更する。つまり、ネットワーク内の複数の情報処理装置のうちの１台で選択デバイスを変更することで、他の情報処理装置の選択デバイスは、その１台の変更後のデバイスに自動的に変更される。従って、ネットワーク内の全ての情報処理装置でそれぞれデバイスの変更操作を行う必要はなく、ネットワーク全体としては、デバイス変更時のユーザの手間が軽減されている。
【０００８】
上記アプリケーションプログラムまたはプログラムセットが組み込まれた装置、アプリケーションプログラムを格納するコンピュータにて読取可能な記憶媒体、及びアプリケーションプログラムの機能を実現するための制御方法も、新規で有用である。
【発明の効果】
【０００９】
本明細書に開示される技術によれば、デバイスを制御するアプリケーションプログラムまたは情報処理装置について、デバイス変更時の手間の軽減が実現される。
【図面の簡単な説明】
【００１０】
【図１】セットアップシステムの電気的構成を示すブロック図である。
【図２】デバイス変更の手順の例を示すシーケンス図である。
【図３】印刷アプリ処理の手順を示すフローチャートである。
【図４】プリンタ変更処理の手順を示すフローチャートである。
【図５】新たなアプリへのデバイスの設定手順の例を示すシーケンス図である。
【図６】新アプリ導入処理の手順を示すフローチャートである。
【図７】デバイス変更の手順の例を示すシーケンス図である。
【図８】新たなアプリへのデバイスの設定手順の例を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、実施の形態にかかるアプリケーションプログラム（以下、「アプリ」とする）を利用するセットアップシステムについて、添付図面を参照しつつ詳細に説明する。本形態は、複数の情報処理装置にて共通のデバイスを利用するセットアップシステムを具体化した実施の形態を開示するものである。
【００１２】
本形態のセットアップシステムには、例えば、図１に示すように、パーソナルコンピュータ（以下、「ＰＣ」とする）１と、モバイルコンピュータ（以下、「モバイル端末」とする）２と、ＰＣ３と、プリンタ４とが、ルータ５を介して、互いに通信可能に接続されている。ＰＣ１、モバイル端末２、ＰＣ３は、いずれも、情報処理装置の一例であり、プリンタ４は、デバイスの一例である。ＰＣ１、モバイル端末２、ＰＣ３は、そのいずれも、第１の情報処理装置の一例であっても良いし、第２の情報処理装置の一例であっても良い。
【００１３】
プリンタ４は、例えば、プリンタ、複合機、複写機、スキャナであり、画像処理機能を備える装置である。本形態のセットアップシステムでは、ＰＣ１、モバイル端末２、ＰＣ３のいずれからもプリンタ４を使用できる。
【００１４】
ＰＣ１は、各種のプログラムの実行が可能な装置である。ＰＣ１は、図１に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、不揮発性メモリ１４と、を含む制御基板１０を備えている。さらに、操作部１５と、通信インターフェース（以下、「通信ＩＦ」とする）１６と、を備え、これらが制御基板１０に電気的に接続されている。制御基板１０は、コントローラの一例である。ＣＰＵ１１がコントローラの一例であっても良い。ＲＯＭ１２、ＲＡＭ１３および不揮発性メモリ１４は、いずれも、メモリの一例である。また、ＣＰＵ１１がＣＰＵバッファを備えているものであれば、ＣＰＵバッファもメモリの一例である。
【００１５】
ＲＯＭ１２には、ＰＣ１を起動するための起動プログラム等が記憶されている。ＲＡＭ１３は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ１４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のプログラムやデータや各種設定を記憶する領域として利用される。ＣＰＵ１１は、ＲＯＭ１２や不揮発性メモリ１４から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。
【００１６】
不揮発性メモリ１４には、プリンタ４を使用するためのＰＣアプリ１４１が記憶されている。ＰＣアプリ１４１は、プリンタ４を含む複数機種に対応するアプリであり、画像処理を行わせる対象のデバイスの指定を受け付け、指定されたデバイスを選択デバイスとして設定する。ＰＣアプリ１４１は、例えば、ＰＣ１を使用するユーザがプリンタ４に印刷を実行させたい場合に使用され、プリンタ４に対応する画像データをプリンタ４に送信する機能を含むアプリである。
【００１７】
操作部１５は、例えば、ディスプレイ等の表示装置と、キーボード、マウス等の入力装置とを含み、ユーザによる操作を受け付けるとともに情報の表示を行うハードウェアである。操作部１５は、タッチパネル等の入力機能と出力機能との両方を備えるユーザインターフェースであっても良い。通信ＩＦ１６は、各種の外部装置との通信を行うためのハードウェアを含む。通信方式は、有線通信でも無線通信でも良い。また、ＰＣ１は、通信方式が異なる複数の通信ＩＦ１６を有していても良い。
【００１８】
モバイル端末２は、ＰＣ１よりも持ち運びが容易な装置であって、各種のプログラムの実行が可能な装置である。モバイル端末２は、図１に示すように、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、不揮発性メモリ２４と、を含む制御基板２０を備えている。さらに、操作部２５と、通信ＩＦ２６と、を備え、これらが制御基板２０に電気的に接続されている。制御基板２０は、コントローラの一例である。ＣＰＵ２１がコントローラの一例であっても良い。ＲＯＭ２２、ＲＡＭ２３および不揮発性メモリ２４は、いずれも、メモリの一例である。また、ＣＰＵ２１がＣＰＵバッファを備えているものであれば、ＣＰＵバッファもメモリの一例である。
【００１９】
ＲＯＭ２２には、モバイル端末２を起動するための起動プログラム等が記憶されている。ＲＡＭ２３は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ２４は、例えば、フラッシュメモリであり、各種のプログラムやデータや各種設定を記憶する領域として利用される。ＣＰＵ２１は、ＲＯＭ２２や不揮発性メモリ２４から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。
【００２０】
不揮発性メモリ２４には、プリンタ４を使用するためのモバイルアプリ２４１が記憶されている。モバイルアプリ２４１は、例えば、モバイル端末２を使用するユーザがプリンタ４で印刷を実行させたい場合に使用されるアプリである。モバイルアプリ２４１にて対応可能なデバイスの機種は、ＰＣアプリ１４１にて対応可能な機種とは異なる場合がある。
【００２１】
操作部２５は、例えば、タッチパネルであり、ユーザによる操作を受け付けるとともに情報の表示を行うハードウェアを含む。通信ＩＦ２６は、各種の外部装置との通信を行うためのハードウェアを含む。通信方式は、モバイル端末２の持ち運びしやすいとの性質上、無線通信であることが好ましいが、有線通信でも良い。また、モバイル端末２は、通信方式が異なる複数の通信ＩＦ２６を有していても良い。
【００２２】
ＰＣ３は、ＰＣ１と同様の装置である。なお、図１中の制御基板１０、２０は、ＰＣ１、モバイル端末２、ＰＣ３の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にＰＣ１、モバイル端末２、ＰＣ３に存在する単一のハードウェアを表すとは限らない。
【００２３】
ルータ５は、ネットワーク間を中継して接続する装置である。ルータ５は、インターネット１００に接続されており、ＰＣ１、モバイル端末２、ＰＣ３は、ルータ５を介して、インターネット１００にアクセス可能である。
【００２４】
インターネット１００にはダウンロードサーバ２００が接続されており、ＰＣ１、モバイル端末２、ＰＣ３は、インターネット１００を介して、ダウンロードサーバ２００のデータを利用可能である。ダウンロードサーバ２００は、サーバの一例である。ダウンロードサーバ２００は、図１に示すように、制御部２０１と、通信ＩＦ２０２と、メモリ２０３と、を含み、各種のプログラムの実行が可能な装置である。通信ＩＦ２０２は、インターネット１００を介して外部装置と通信を行うためのハードウェアを含む。
【００２５】
なお、ダウンロードサーバ２００は、１台の装置で構成されているとは限らず、複数台の装置の協働によって動作するものであってもよい。例えば、メモリ２０３の少なくとも一部は、ダウンロードサーバ２００からアクセス可能な他の装置に設けられていてもよい。その場合でも、以下では、「ダウンロードサーバ２００のメモリ２０３」と記載する。
【００２６】
本形態のダウンロードサーバ２００のメモリ２０３は、例えば、ＲＯＭ、ＲＡＭ、ＨＤＤを含み、各種のプログラムやデータを記憶している。メモリ２０３には、例えば、ＰＣアプリ１４１のインストーラやモバイルアプリ２４１のインストーラを含む複数種のアプリのインストーラやマニュアル等が記憶されている。ダウンロードサーバ２００は、他の装置からの要求に応じてインストーラ等を送信する。
【００２７】
続いて、ＰＣ１とモバイル端末２とＰＣ３とでプリンタ４を共有して使用する環境について説明する。一例として、ＰＣ１とＰＣ３とは、同じＰＣアプリ１４１がインストールされており、ＰＣアプリ１４１を利用してプリンタ４を使用する。つまり、ＰＣ１とＰＣ３のＰＣアプリ１４１には、それぞれ、通常使用する選択デバイスとしてプリンタ４が設定されている。また、モバイル端末２は、モバイルアプリ２４１を利用してプリンタ４を使用する。モバイル端末２のモバイルアプリ２４１には、通常使用する選択デバイスとしてプリンタ４が設定されている。
【００２８】
この環境において、例えば、それまで使用していたプリンタ４を他のモデルに変更した場合について説明する。プリンタ４の変更により、ＰＣ１とＰＣ３とのＰＣアプリ１４１の選択デバイスや、モバイル端末２のモバイルアプリ２４１の選択デバイスを、変更する必要がある。本形態のセットアップシステムでは、ＰＣ１、モバイル端末２、ＰＣ３のいずれか１台、例えば、ＰＣ１にてユーザによるデバイスの変更操作を受け付けると、ＰＣ１は、デバイスが変更されたことを示す情報である変更通知を他の２台に送信する。そして、ＰＣ３とモバイル端末２とは、変更通知を受信すると、その変更通知に基づいて、自装置の選択デバイスを自動的に変更する。
【００２９】
以下、ＰＣ１のユーザが、ＰＣ１のＰＣアプリ１４１にてデバイスの変更操作を行った場合の、各装置における動作の概略について、図２のシーケンス図を参照して詳しく説明する。なお、以下の説明における処理および処理ステップは、基本的に、ＰＣアプリ１４１やモバイルアプリ２４１のプログラムに記述された命令に従った各ＣＰＵの処理を示す。また、各装置のＯＳによる処理を区別せずに記載する。また、以下では、変更前のモデルをプリンタ４Ａとし、変更後のモデルをプリンタ４Ｂとする。
【００３０】
図２では、一例として、ＰＣ１とＰＣ３とではそれぞれＰＣアプリ１４１が起動されており、モバイル端末２ではモバイルアプリ２４１が起動されており、いずれのアプリの選択デバイスもプリンタ４Ａとなっている状態から記載している。
【００３１】
ＰＣ１は、ユーザからの指示入力にて、選択デバイスをプリンタ４Ｂに変更する指示を受け付ける（ｔ１）と、指定されたデバイスであるプリンタ４Ｂを検索する（ｔ２）。ＰＣ１は、プリンタ４Ｂが使用できる状態であることを確認すると、ＰＣアプリ１４１の選択デバイスとしてプリンタ４Ｂを設定する（ｔ３）。なお、ＰＣアプリ１４１は、プリンタ４Ａとプリンタ４Ｂとのいずれにも対応可能なアプリである。
【００３２】
そして、ＰＣ１は、同じデバイスを使用するＰＣ３やモバイル端末２に対して、デバイスが変更されたことを示す変更通知を送信する（ｔ４）。ＰＣ１は、ネットワーク内に一斉に送信しても良い。ＰＣ３は、受信した変更通知に基づいて、プリンタ４Ｂを検索する（ｔ５）。なお、ＰＣ１から送信される変更通知には、変更後のデバイスであるプリンタ４Ｂの情報が含まれる。
【００３３】
ＰＣ３は、プリンタ４Ｂが使用できる状態であることを確認すると、ＰＣアプリ１４１の選択デバイスとしてプリンタ４Ｂを設定する（ｔ６）。ＰＣ３のＰＣアプリ１４１は、ＰＣ１のＰＣアプリ１４１と同じものであり、プリンタ４Ｂに対応可能である。ＰＣ３は、ユーザによるデバイスの変更の指示入力を受け付けなくても、プリンタ４Ｂを、ＰＣアプリ１４１にて通常使用する選択デバイスとして自動的に設定する。
【００３４】
一方、モバイル端末２にて動作中のモバイルアプリ２４１は、ＰＣアプリ１４１とはユーザインターフェース等が異なるアプリであり、対応可能なモデルの範囲もＰＣアプリ１４１とは異なる場合がある。ＰＣ１から送信された変更通知に基づいて、モバイル端末２は、モバイルアプリ２４１が変更後のデバイスであるプリンタ４Ｂに対応可能であるか否かを判断する（ｔ７）。
【００３５】
モバイル端末２は、モバイルアプリ２４１にてプリンタ４Ｂに対応可能であると判断した場合、プリンタ４Ｂの検索（ｔ８）、および、プリンタ４Ｂの設定（ｔ９）を行う。これにより、モバイル端末２は、ユーザによるデバイスの変更の指示入力を受け付けなくても、プリンタ４Ｂを、モバイルアプリ２４１にて通常使用する選択デバイスとして自動的に設定する。
【００３６】
モバイル端末２は、モバイルアプリ２４１にてプリンタ４Ｂに対応不可能であると判断した場合、最新バージョンのモバイルアプリをダウンロードする（ｔ１１）。具体的には、モバイル端末２は、インターネット１００を介してダウンロードサーバ２００にアクセスして、最新バージョンのモバイルアプリのダウンロードを要求し、ダウンロードサーバ２００からモバイルアプリのインストーラを受信する。つまり、モバイル端末２は、現在使用中のモバイルアプリ２４１に代えて、プリンタ４Ｂに対応可能な別のモバイルアプリをダウンロードすることで、プリンタ４Ｂを利用可能にする。
【００３７】
そして、モバイル端末２は、ダウンロードしたインストーラのインストールを開始し（ｔ１２）、インストール終了後、最新のモバイルアプリを起動する。インストールの開始やモバイルアプリの起動は、ユーザの指示を待って実行しても良い。また、モバイル端末２は、従前のモバイルアプリ２４１を終了させても良い。さらに、モバイル端末２は、最新のモバイルアプリにてプリンタ４Ｂの検索（ｔ１３）、および、プリンタ４Ｂの設定（ｔ１４）を行う。
【００３８】
この場合でも、モバイル端末２は、ユーザによるダウンロード開始の指示入力を受け付けなくても、プリンタ４Ｂを利用可能な最新のモバイルアプリをダウンロードすることもできる。さらに、モバイル端末２は、プリンタ４Ｂを最新のモバイルアプリにて通常使用する選択デバイスとして自動的に設定する。なお、最新のモバイルアプリによるプリンタの設定方法については、後述する。
【００３９】
なお、モバイル端末２にてデバイスの変更指示を受け付けた場合には、モバイル端末２のモバイルアプリ２４１から変更通知が送信される。ＰＣ１やＰＣ３は、受信した変更通知に基づいて、変更後のデバイスがＰＣアプリ１４１にて対応可能なデバイスであれば、ＰＣアプリ１４１の選択デバイスを自動的に変更する。また、変更後のデバイスがＰＣアプリ１４１にて対応不可能なデバイスであれば、ＰＣ１やＰＣ３は、最新のＰＣアプリのダウンロードを要求する。
【００４０】
続いて、上述したデバイス変更動作を実現するためにＰＣ１、モバイル端末２、ＰＣ３にて実行される印刷アプリ処理の手順について、図３のフローチャートを参照して説明する。印刷アプリ処理は、プリンタ４などの印刷デバイスを使用して印刷を実行させるためのプログラムであり、ＰＣアプリ１４１およびモバイルアプリ２４１のいずれにも含まれる処理である。印刷アプリ処理は、ＰＣ１またはＰＣ３にてＰＣアプリ１４１が起動されたこと、または、モバイル端末２にてモバイルアプリ２４１が起動されたことを契機に、ＰＣ１またはＰＣ３のＣＰＵ１１またはモバイル端末２のＣＰＵ２１にて実行される。以下では、ＰＣ１のＣＰＵ１１にて実行される場合を例に説明する。
【００４１】
印刷アプリ処理では、ＣＰＵ１１は、ユーザによるプリンタの設定指示を受け付けたか否かを判断する（Ｓ１０１）。ＣＰＵ１１は、選択可能なデバイスのうちからプリンタ４の選択操作と選択されたプリンタ４を通常使用するプリンタに設定する指示操作とを受け付けた場合、プリンタの設定指示を受け付けたと判断する。Ｓ１０１にてプリンタの選択を受け付ける処理は、特定処理及び特定手段の一例である。
【００４２】
なお、プリンタの設定は、操作部１５を介してユーザの操作を受け付けることで行っても良いし、プリンタ４の商品パッケージ等に印刷されるバーコード等を用いてＰＣ１が行っても良い。ＰＣ１は、例えば、バーコードを読み取ってその内容を取得することで、プリンタ４の情報を取得できる。なお、後述するように、ＰＣアプリ１４１やモバイルアプリ２４１は、初回の起動時に、通常使用するプリンタを自動的に設定することもできる。
【００４３】
ユーザによるプリンタの設定指示を受け付けたと判断した場合（Ｓ１０１：ＹＥＳ）、ＣＰＵ１１は、プリンタ変更の指示であるか否かを判断する（Ｓ１０２）。プリンタの設定指示にて指示されたプリンタ４が、ＰＣアプリ１４１に現在設定されているプリンタ４Ａとは異なるプリンタ４Ｂであった場合、ＣＰＵ１１は、プリンタ変更の指示であると判断する。プリンタ変更の指示であると判断した場合（Ｓ１０２：ＹＥＳ）、ＣＰＵ１１は、プリンタ変更処理を実行する（Ｓ１０３）。プリンタ変更処理は、プリンタの変更が指示された場合の処理である。
【００４４】
プリンタ変更処理の手順について、図４のフローチャートを参照して説明する。プリンタ変更処理では、ＣＰＵ１１は、まず、同一のネットワーク内に接続されているデバイスから、変更後のデバイスとして指定されたプリンタ４Ｂを検索する（Ｓ２０１）。そして、ＣＰＵ１１は、プリンタ４Ｂが使用可能に接続されているか否かを判断する（Ｓ２０２）。
【００４５】
指定されているプリンタ４Ｂが見つからない、または、使用可能に接続されていないと判断した場合（Ｓ２０２：ＮＯ）、ＣＰＵ１１は、操作部１５に、プリンタ４Ｂが使用可能ではない旨のメッセージを表示させ（Ｓ２０３）、プリンタ変更処理を終了する。
【００４６】
一方、プリンタ４Ｂが使用可能に接続されていると判断した場合（Ｓ２０２：ＹＥＳ）、ＣＰＵ１１は、ＰＣアプリ１４１にて使用する選択デバイスをプリンタ４Ｂに設定する（Ｓ２０４）。Ｓ２０４は、設定処理及び設定手段の一例である。すなわち、ＣＰＵ１１は、ＰＣアプリ１４１にて使用する選択デバイスがプリンタ４Ｂであることを示す情報を、不揮発性メモリ１４に記憶させる。
【００４７】
そして、ＣＰＵ１１は、接続されているアクセスポイントが、不揮発性メモリ１４に記憶している従前のアクセスポイントと同じであるか否かを判断する（Ｓ２０５）。Ｓ２０５は、環境判断処理及び環境判断手段の一例である。後述するように、ＣＰＵ１１は、選択デバイスが設定された場合、その時点でのアクセスポイントを示す情報を記憶する。アクセスポイントの情報は、ネットワーク環境を示す環境情報の一例である。
【００４８】
アクセスポイントが記憶されているものと同じであると判断した場合（Ｓ２０５：ＹＥＳ）、ＣＰＵ１１は、通信ＩＦ１６を制御して、プリンタ変更通知を送信させる（Ｓ２０６）。Ｓ２０６は、通知処理及び通知手段の一例である。プリンタ変更通知は、ＰＣアプリ１４１にて選択デバイスが変更されたことを示す通知であり、変更後のデバイスであるプリンタ４Ｂを示す情報を含む。プリンタ変更通知は、変更通知の一例である。ＣＰＵ１１は、ブロードキャストまたはマルチキャスト等によって、同じネットワーク内の各装置に通知を送信する。
【００４９】
アクセスポイントが記憶されているものと同じではないと判断した場合（Ｓ２０５：ＮＯ）、または、Ｓ２０６の後、ＣＰＵ１１は、現在接続されているアクセスポイントの情報を不揮発性メモリ１４に記憶して（Ｓ２０７）、プリンタ変更処理を終了し、印刷アプリ処理に戻る。Ｓ２０７は、記憶処理及び記憶手段の一例である。
【００５０】
アクセスポイントが前回のデバイス設定時と同じではない場合、ＰＣ１のネットワーク環境が変化している可能性が高い。例えば、ＰＣ１が異なるネットワーク環境に移動したことにより、アクセスポイントが前回のデバイス設定時と異なっている場合、その環境によるデバイス設定は一時的なものである可能性がある。ＰＣ１がデバイスの変更を通知すると、後述するように、通知を受信した他の装置にて選択デバイスを変更するための処理が行われる。そのため、一時的なデバイスの変更であれば、他の装置に変更を通知せず、他の装置の処理の負荷を軽減する。
【００５１】
図３の印刷アプリ処理の説明に戻り、プリンタの設定指示を受け付けていないと判断した場合（Ｓ１０１：ＮＯ）、または、プリンタ変更の指示ではないと判断した場合（Ｓ１０２：ＮＯ）、または、Ｓ１０３の後、ＣＰＵ１１は、通信ＩＦ１６を介して、プリンタ変更通知を受信したか否かを判断する（Ｓ１０４）。Ｓ１０４は、検知処理及び検知手段の一例である。Ｓ１０４の判断の対象であるプリンタ変更通知は、一例として、他の装置で実行中の印刷アプリ処理において、プリンタ変更処理のＳ２０６にて他の装置から送信される通知である。プリンタ変更通知は、例えば、他の装置にて、選択デバイスがプリンタ４Ａからプリンタ４Ｂに変更された場合に送信される。
【００５２】
プリンタ変更通知を受信したと判断した場合（Ｓ１０４：ＹＥＳ）、ＣＰＵ１１は、受信したプリンタ変更通知に基づいて、変更後のデバイスの機種情報，例えば、プリンタ４Ｂの情報を取得する（Ｓ１０５）。Ｓ１０５は、変更デバイス取得処理及び変更デバイス取得手段の一例である。また、Ｓ１０５にて取得される機種情報は、デバイス情報の一例である。デバイスの機種情報は、例えば、受信したプリンタ変更通知に含まれていてもよいし、プリンタ変更通知を受信した後に、ＰＣ１がプリンタ変更通知を送信した装置に要求して取得してもよい。
【００５３】
そして、ＣＰＵ１１は、取得した機種情報に基づいて、変更後のデバイスが自装置のＰＣアプリ１４１にて対応可能な機種であるか否かを判断する（Ｓ１０６）。Ｓ１０６は、対応判断処理及び対応判断手段の一例である。対応している機種ではないと判断した場合（Ｓ１０６：ＮＯ）、ＣＰＵ１１は、変更後のデバイスに対応する新たなアプリをダウンロードするためのダウンロード要求を、通信ＩＦ１６を介してダウンロードサーバ２００に送信し（Ｓ１０７）、ダウンロードサーバ２００からの新たなアプリのダウンロードが完了すると印刷アプリ処理を終了する。Ｓ１０７は、ダウンロード処理及びダウンロード手段の一例である。ダウンロード以降の詳細については後述する。ＰＣアプリ１４１が他の装置で設定された選択デバイスに対応していない場合、ＰＣ１は、選択デバイスに対応する新たなアプリをダウンロードしてこれをインストールすることで、他の装置で設定された選択デバイスを利用可能になる。
【００５４】
一方、ＰＣアプリ１４１にて対応可能な機種であると判断した場合（Ｓ１０６：ＹＥＳ）、ＣＰＵ１１は、接続されているデバイスを検索し（Ｓ１０８）、通知を受けたプリンタ４Ｂが検索されたら、プリンタ４Ｂを選択デバイスに設定する（Ｓ１０９）。Ｓ１０９は、設定変更処理及び設定変更手段の一例である。他の装置での選択デバイスの変更に伴って、変更された装置からプリンタ変更通知が送信されるため、プリンタ変更通知を受信したＰＣ１では、速やかに選択デバイスが変更される。
【００５５】
なお、プリンタ変更通知の受け渡しは、装置間での直接受け渡しやブロードキャストでもよいし、通知サーバ等を介して受け渡してもよい。通知サーバを介する場合、送信側が通知サーバにプリンタ変更通知を登録し、受信側が通知サーバに登録されているプリンタ変更通知を任意のタイミングで受信する。すなわち、通知の送信時に通知の受信側が起動していなくても、受信側の装置によって通知を受信できる可能性が高まる。
【００５６】
プリンタ変更通知を受信していないと判断した場合（Ｓ１０４：ＮＯ）、または、Ｓ１０９の後、ＣＰＵ１１は、その他の処理の指示を受け付けたか否かを判断する（Ｓ１１０）。その他の処理としては、例えば、印刷用データの選択、印刷の実行、印刷設定の変更がある。そして、その他の処理の実行指示を受け付けたと判断した場合（Ｓ１１０：ＹＥＳ）、ＣＰＵ１１は、実行指示を受け付けた処理を実行する（Ｓ１１１）。
【００５７】
その他の処理の実行指示を受け付けていないと判断した場合（Ｓ１１０：ＮＯ）、または、Ｓ１１１の後、ＣＰＵ１１は、アプリを終了する指示を受け付けたか否かを判断する（Ｓ１１２）。アプリを終了する指示を受け付けていないと判断した場合（Ｓ１１２：ＮＯ）、ＣＰＵ１１は、Ｓ１０１に戻り、Ｓ１０１とＳ１０４とＳ１１０とＳ１１２とを繰り返す。アプリを終了する指示を受け付けたと判断した場合（Ｓ１１２：ＹＥＳ）、ＣＰＵ１１は、印刷アプリ処理を終了する。
【００５８】
次に、ダウンロードサーバ２００にダウンロード要求を行う場合について、図５のシーケンス図を参照して説明する。前述したように、ＰＣアプリ１４１またはモバイルアプリ２４１は、他の装置からプリンタ変更通知を受信し、変更後のデバイスであるプリンタ４Ｂに自身が対応していないと判断した場合、プリンタ４Ｂに対応する新たなアプリのダウンロード要求をダウンロードサーバ２００に送信する。図５では、モバイル端末２がダウンロード要求を行う場合の例を示している。
【００５９】
モバイル端末２は、通信ＩＦ２６を介して、ダウンロードサーバ２００に新たなアプリのダウンロードを要求する（ｔ２１）。モバイル端末２は、ダウンロードサーバ２００に、新たなアプリのダウンロードを実行させる情報に、変更後のデバイスであるプリンタ４Ｂの情報を付加して、ダウンロード要求を送信する。なお、モバイル端末２は、ダウンロードの情報を表示して、ユーザの指示を受け付けた場合にダウンロード要求を送信するとしても良い。
【００６０】
モバイル端末２は、例えば、ダウンロード用のＵＲＬにクエリ形式でプリンタ４Ｂの機種情報を付加したものを用いて、ダウンロード要求を送信する。ダウンロード用のＵＲＬは、ダウンロードサーバ２００のメモリ２０３に記憶されているダウンロードプログラムを実行する情報を記載したＵＲＬであり、ＵＲＬにクエリ形式で付加されたクエリパラメータは、ダウンロードプログラムの引数としてダウンロードサーバ２００に渡される。
【００６１】
ダウンロードサーバ２００は、ダウンロード要求に付加されている機種情報に基づいて、ダウンロードするアプリを選択する。ダウンロードサーバ２００は、機種情報に対応する新たなアプリが存在しない場合は、アラートを送信するとしてもよい。モバイル端末２は、ダウンロード要求に対してアラートを受信した場合、操作部２５にアラートを表示するとよい。
【００６２】
ダウンロードサーバ２００は、受け付けたダウンロード要求を送信した装置のＩＰアドレスであって、インストーラの送信先を示すＩＰアドレスと、ＵＲＬのクエリパラメータから取得した機種情報とを関連付けて、メモリ２０３に記憶する（ｔ２２）。ＩＰアドレスは、装置の識別情報の一例である。他の装置の選択デバイスの情報を一旦ダウンロードサーバ２００に記憶させることで、ダウンロードサーバ２００でダウンロードの履歴を管理できる。装置の識別情報としては、ＩＰアドレスに代えて、ＭＡＣアドレス、プロダクトＩＤを利用しても良い。
【００６３】
ダウンロードサーバ２００は、ダウンロード要求を受け付けた新たなアプリのインストーラをモバイル端末２に送信する（ｔ２３）。モバイル端末２は、ダウンロードサーバ２００から送信されるインストーラを受信し、不揮発性メモリ２４に記憶する（ｔ２４）。インストーラの受信が完了したら、モバイル端末２は、操作部２５に、例えば、ダウンロードが終了したことを示す情報と、インストール開始の指示を受け付けるためのボタンと、を表示させる。
【００６４】
モバイル端末２は、ユーザ操作によってインストール開始の指示を受け付けると（ｔ２５）、ｔ２３にて受信したインストーラを起動させ、新たなアプリのインストールを開始する（ｔ２６）。モバイル端末２は、インストール開始からインストール終了までの期間中に、機種情報の送信を要求する送信要求をダウンロードサーバ２００へ送信する（ｔ２７）。
【００６５】
ダウンロードサーバ２００は、モバイル端末２から送信された送信要求を受信すると、送信要求の送信元を示すＩＰアドレスと一致するＩＰアドレスに関連付けてメモリ２０３に記憶されている機種情報を読み出す（ｔ２８）。そして、ダウンロードサーバ２００は、読み出した機種情報をモバイル端末２に送信し（ｔ２９）、送信済みの機種情報をメモリ２０３から削除する（ｔ３０）。
【００６６】
モバイル端末２は、インストール中に、ダウンロードサーバ２００から送信される機種情報を受信して、不揮発性メモリ２４に記憶する（ｔ３１）。モバイル端末２は、例えば、新たなアプリが読み出し可能な所定の記憶場所にファイルを作成し、受信した機種情報に基づく情報を作成したファイルへ記憶する。
【００６７】
そして、モバイル端末２は、例えば、ユーザ操作によって新たなアプリの起動の指示を受け付ける（ｔ３２）。モバイル端末２は、新たなアプリの実行中に、所定の記憶場所から機種情報を読み出し、例えば、ブロードキャストまたはマルチキャストを行って、読み出した機種情報に対応するプリンタを検索する（ｔ３３）。さらに、モバイル端末２は、検索されたプリンタを、新たなアプリでの選択デバイスとして自動的に決定する（ｔ３４）。
【００６８】
次に、上述した図５のシーケンス図に示した動作を実現するためにＰＣ１、モバイル端末２、ＰＣ３にて実行される新アプリ導入処理の手順について、図６のフローチャートを参照して説明する。新アプリ導入処理は、印刷アプリ処理のＳ１０７にてダウンロード要求をダウンロードサーバ２００に送信して、新アプリのダウンロードを実行したことを契機に、ＰＣ１またはＰＣ３のＣＰＵ１１またはモバイル端末２のＣＰＵ２１にて実行される。以下では、モバイル端末２のＣＰＵ２１にて実行される場合を例に説明する。
【００６９】
新アプリ導入処理では、ＣＰＵ２１は、ダウンロードした新たなアプリのインストールを開始するかをユーザに問い合わせる表示を行う（Ｓ３０１）。そして、インストール開始の指示を受け付けたか否かを判断する（Ｓ３０２）。インストール開始の指示を受け付けていないと判断した場合（Ｓ３０２：ＮＯ）、ＣＰＵ２１は、キャンセルの指示を受け付けたか否かを判断する（Ｓ３０３）。キャンセルの指示を受け付けていないと判断した場合（Ｓ３０３：ＮＯ）、ＣＰＵ２１は、Ｓ３０２に戻って、インストール開始の指示またはキャンセルの指示を受け付けるまで待機する。
【００７０】
一方、インストール開始の指示を受け付けたと判断した場合（Ｓ３０２：ＹＥＳ）、ＣＰＵ２１は、新たなアプリのインストールを開始する（Ｓ３０４）。さらに、ＣＰＵ２１は、ダウンロードサーバ２００からデバイスの情報を取得する（Ｓ３０５、図５のｔ２９）。Ｓ３０５は、サーバ記憶デバイス取得処理及びサーバ記憶デバイス取得手段の一例である。
【００７１】
前述したように、ダウンロードサーバ２００は、ダウンロード要求を受け付けたＩＰアドレスと機種情報とを関連付けて記憶している（図５のｔ２２）。モバイル端末２は、インストール開始後、ダウンロードサーバ２００に機種情報の送信を要求する（ｔ２７）。モバイル端末２が、ダウンロード要求時とインストール開始時とで、同じＩＰアドレスを使用していれば、ダウンロードサーバ２００は、そのＩＰアドレスと関連付けて記憶されている機種情報を送信する（ｔ２９）。
【００７２】
ＣＰＵ２１は、ダウンロードサーバ２００から取得した情報に基づいて、新たなアプリにて通常使用する選択デバイスとして、プリンタ４Ｂを設定する（Ｓ３０６）。Ｓ３０６は、初期設定処理及び初期設定手段の一例である。なお、ＣＰＵ２１は、設定する前に接続されているデバイスを検索して、プリンタ４Ｂを特定するとよい。
【００７３】
インストールの実行中の所定のタイミングで、事前に記憶させておいた他の装置の選択デバイスの情報をダウンロードサーバ２００から取得することで、ＣＰＵ２１は、その情報を用いて新たなアプリの選択デバイスを自動的に設定できる。そのため、ダウンロード後に選択デバイスを新規に設定するユーザの手間が軽減される。
【００７４】
さらに、ＣＰＵ２１は、新たなアプリを実行する指示を受け付けたか否かを判断する（Ｓ３０７）。新たなアプリを実行する指示を受け付けたと判断した場合（Ｓ３０７：ＹＥＳ）、ＣＰＵ２１は、前述した印刷アプリ処理を実行する（Ｓ３０８）。印刷アプリ処理の後、または、新たなアプリの実行指示を受け付けていないと判断した場合（Ｓ３０７：ＮＯ）、または、キャンセルの指示を受け付けたと判断した場合（Ｓ３０３：ＹＥＳ）、ＣＰＵ２１は、新アプリ導入処理を終了する。
【００７５】
なお、ダウンロードサーバ２００からデバイスの情報を取得するタイミングは、新たなアプリのインストール時に代えて、インストール後の新たなアプリの最初の起動時、新たなアプリを起動した後の最初のデバイス利用時、であっても良い。例えば、ダウンロード時にはプリンタ４Ｂがまだモバイル端末２に接続されていない可能性がある。接続されていないと、モバイル端末２は、プリンタ４Ｂの検索に失敗することから、プリンタ４Ｂを選択デバイスとして設定できない。そのため、新たなアプリの起動後にダウンロードサーバ２００からデバイスの情報を取得することで、プリンタ４Ｂを選択デバイスとして設定できる可能性が高まる。一方、インストール時にダウンロードサーバ２００からデバイスの情報を取得する場合、インストール時に選択デバイスの設定が完了するため、新たなアプリの起動時から速やかにプリンタ４Ｂを使用できる。
【００７６】
ここまで、ＰＣ１のユーザがＰＣ１にてデバイスの変更操作を行い、ＰＣ１から変更通知が送信される例について説明した。デバイスの変更操作を行うユーザは、ＰＣ１のユーザとは限らず、モバイル端末２のユーザやＰＣ３のユーザが行うこともある。ＰＣ３にて変更操作を受け付けた場合の各装置の動作は、ここまでの説明のＰＣ１とＰＣ３とを入れ替えればよい。
【００７７】
次に、モバイル端末２のユーザがモバイル端末２にてデバイスの変更操作を行い、モバイル端末２から変更通知が送信される場合の各装置の動作について、図７のシーケンス図を参照して説明する。
【００７８】
モバイル端末２は、ユーザによって選択デバイスの変更指示を受け付ける（ｔ４１）と、指定されたデバイスであるプリンタ４Ｂを検索し（ｔ４２）、選択デバイスに設定する（ｔ４３）。そして、モバイル端末２は、変更通知を送信する（ｔ４４）。
【００７９】
ＰＣ１及びＰＣ３は、変更通知を受信すると、ＰＣアプリ１４１がプリンタ４Ｂに対応可能であるか否かを判断する（ｔ４５）。対応可能であると判断した場合、ＰＣ１及びＰＣ３は、プリンタ４Ｂを検索し（ｔ４６）、選択デバイスに設定する（ｔ４７）。
【００８０】
一方、対応不可能であると判断した場合、ＰＣ１及びＰＣ３は、ダウンロードサーバ２００から最新バージョンのＰＣアプリのインストーラをダウンロードする（ｔ４８）。さらに、ＰＣ１及びＰＣ３は、最新バージョンのＰＣアプリをインストールし（ｔ４９）、プリンタ４Ｂを検索し（ｔ５０）、選択デバイスに設定する（ｔ５１）。
【００８１】
ｔ４８では、ＰＣ１及びＰＣ３は、ダウンロードサーバ２００に最新バージョンのＰＣアプリのダウンロード要求を送信する。ダウンロード要求の送信以後のＰＣ１及びＰＣ３の動作は、図８のシーケンス図に示すように、モバイル端末２の場合と同様である。
【００８２】
具体的には、ＰＣ１及びＰＣ３は、クエリ形式でプリンタ４Ｂの機種情報を付加したダウンロード要求を送信し（ｔ２１）、インストーラを受信する（ｔ２３）。ＰＣ１及びＰＣ３は、インストールの指示を受け付けると（ｔ２５）、インストールを開始し（ｔ２６）、インストール中に、機種情報の送信を要求する送信要求をダウンロードサーバ２００へ送信する（ｔ２７）。そして、ＰＣ１及びＰＣ３は、ダウンロードサーバ２００から機種情報を受信し（ｔ２９）、機種情報を不揮発性メモリ２４に記憶する（ｔ３１）。さらに、ＰＣアプリ１４１が起動されると（ｔ３２）、ＰＣ１及びＰＣ３は、不揮発性メモリ２４に記憶されている機種情報に基づいてプリンタ４Ｂを検索し（ｔ３３）、選択デバイスに設定する（ｔ３４）。
【００８３】
以上、詳細に説明したように、本形態のセットアップシステムによれば、ＰＣ１、モバイル端末２、ＰＣ３は、同一ネットワーク内の他の装置に設定されている選択デバイスの変更を検知した場合、自装置の選択デバイスを、他の装置で変更された選択デバイスに自動的に変更する。例えば、同一のネットワーク内に複数の情報処理装置があり、そのネットワーク内のデバイスが新しいモデルに取り替えられ、同一ネットワーク内のある情報処理装置にてその新しいモデルのデバイスが選択された場合に、同一ネットワーク内の別の情報処理装置の選択デバイスも自動的に切り替えられる。そのため、ネットワーク全体として見ると、特に、ネットワーク内の情報処理装置の数が多いほど、選択デバイスを変更するユーザの手間が軽減されている。
【００８４】
なお、本明細書に開示される各実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、デバイスの一例は、プリンタに限らず、コピー機、複合機、スキャナ等、ＰＣアプリやモバイルアプリにて制御される装置であってもよく、複数台が接続されていても良い。また、システムに含まれる情報処理装置の種類や数は、実施の形態の例に限らず、いくつでも良い。
【００８５】
また、例えば、実施の形態では、デバイスの変更指示を受け付けた装置からプリンタ変更通知を送信するとしたが、これに限らない。例えば、各装置のアプリにて、他の装置の設定を定期的に取得して前回の設定との比較し、デバイスの変更を判断しても良い。
【００８６】
また、例えば、実施の形態では、ネットワーク環境が変化している場合には、プリンタ変更通知を送信しないとしたが、送信してもよい。あるいは、送信するか否かをユーザに問い合わせて、ユーザの送信指示があった場合には送信するとしても良い。
【００８７】
また、例えば、実施の形態では、プリンタ変更処理を印刷アプリ処理の一部として説明しているが、別のプログラムであっても良い。つまり、印刷アプリは、特定されたデバイスを選択デバイスとして設定する第１のプログラムと、他の装置での選択デバイスの変更を検知して自装置の選択デバイスを変更後のデバイスに変更する第２のプログラムとのプログラムセットとして実現することもできる。また、実施の形態では、プリンタ変更通知を受信した場合、印刷アプリ処理にてダウンロード要求を送信するとしたが、ダウンロード要求の送信は、別のプログラムであっても良い。
【００８８】
また、例えば、他の装置からのプリンタ変更通知をＯＳが受信するとしても良い。例えば、ＯＳは、プリンタ変更通知を受信した場合、ＰＣアプリ１４１やモバイルアプリ２４１を起動し、起動したＰＣアプリ１４１やモバイルアプリ２４１に受信したプリンタ変更通知の情報を渡すとよい。また、ＰＣアプリ１４１やモバイルアプリ２４１が変更後のデバイスに対応不可能であると判断した場合、その情報をＯＳに渡して、ＯＳが変更後のデバイスの情報を付加してダウンロード要求を行うとしても良い。この場合でも、新たなアプリがダウンロードサーバ２００からダウンロードされ、インストール時もしくはインストール後の所定のタイミングにおいて、ダウンロード要求時にダウンロードサーバ２００に記憶されたデバイス情報をダウンロードサーバ２００から取得できる。そのため、新たなアプリでの選択デバイスとして変更後のデバイスが自動的に設定されるので、選択デバイスを初期設定するユーザの手間が軽減される。
【００８９】
また、実施の形態では、ＰＣ１とＰＣ３とに同じＰＣアプリ１４１がインストールされているとしたが、これに限らない。ＰＣ１やＰＣ３は、他のＰＣから変更通知を受信した場合であっても、変更後のデバイスに対応可能であるか否かを判断するとよい。また、変更通知を受信した各装置は、自装置に設定されている選択デバイスと変更通知にて通知された変更後のデバイスとを比較し、異なっている場合に変更後のプリンタの検索動作または対応可能か否かの判断を行うとしても良い。
【００９０】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【００９１】
１、３  ＰＣ
２  モバイル端末
４  プリンタ
１１  ＣＰＵ
１４  不揮発性メモリ
２１  ＣＰＵ
２４  不揮発性メモリ
１４１  ＰＣアプリ
２００  ダウンロードサーバ
２４１  モバイルアプリ
【図１】
2020027355.tif 000003
【図２】
2020027355.tif 000004
【図３】
2020027355.tif 000005
【図４】
2020027355.tif 000006
【図５】
2020027355.tif 000007
【図６】
2020027355.tif 000008
【図７】
2020027355.tif 000009
【図８】
2020027355.tif 000010