<ネットワーク10の構成>
図1は、ネットワーク10の構成を示すブロック図である。ネットワーク10は、情報処理装置100、MFP51、スキャナ61、カラーレーザープリンタ71、アクセスポイント501、を備えている。ここで、MFPとは、印刷機能、スキャン機能、コピー機能を備える多機能周辺装置(Multifunction Peripheralとも称する)を示す。
情報処理装置100の無線LAN_I/F105は、第1無線通信I/F105aおよび第2無線通信I/F105bを備える。第1無線通信I/F105aは、Wi−Fi(Wi−Fiアライアンスの登録商標)規格に則って、Wi−Fiのアクセスポイントなどの中継装置を介して、装置と装置の間で無線通信を行うためのインターフェースである。本明細書では、第1無線通信I/F105aを用いて実行される通信を、「Wi−Fi通信」と定義する。Wi−Fi通信では、IPアドレスを用いて、通信先のデバイスと通信することができる。なおWi−Fi通信では、通信先デバイスを識別するための情報や、MACアドレスを用いて、通信先のデバイスと通信することも可能である。第1無線通信I/F105aは、無線通信151、アクセスポイント501、無線通信154を介して、MFP51の第1無線通信I/F34aとWi−Fi通信を行うことができる。また第1無線通信I/F105aは、無線通信151、アクセスポイント501、無線通信156を介して、スキャナ61とWi−Fi通信を行うことができる。また第1無線通信I/F105aは、無線通信151、アクセスポイント501、無線通信158を介して、カラーレーザープリンタ71とWi−Fi通信を行うことができる。
一方、第2無線通信I/F105bは、Wi−Fi Direct(以下、WFDと記載する)規格に則って、中継装置を介さずに、一方の装置と、Wi−Fi Directの中継装置として機能している他方の装置との間で無線通信を行うためのインターフェースである。本明細書では、第2無線通信I/F105bを用いて実行される通信を、「WFD通信」と定義する。WFD通信では、通信先デバイスを識別するための情報(例:デバイスID)やMACアドレスを用いて、通信先のデバイスと通信することができる。なおWFD通信では、IPアドレスを用いて、通信先のデバイスと通信することも可能である。第2無線通信I/F105bは、MFP51、スキャナ61、カラーレーザープリンタ71の各々と直接に、WFD方式の無線通信155、157、159を行うことができる。なお、Wi−Fi通信およびWFD通信では、IEEE(The Institute of Electrical and Electronics Engineers, Inc.とも称する)の802.11の規格、及び、それに準ずる規格(例えば802.11a、11b、11g、11n等)に基づいて、無線通信が実行される。
第2無線通信I/F105bは、第1無線通信I/F105aよりも使用優先度が低く設定されていてもよい。これは、Wi−Fi通信の方がWFD通信よりも、消費電力が小さいことや、同時に通信できるデバイス数が多いなどの、利点を備えている場合があるためである。また、第1無線通信I/F105aおよび第2無線通信I/F105bは、物理的に個別の2つのインターフェースである形態に限られない。物理的には1つのインターフェースが、ソフト的な対応により、第1無線通信I/F105aとして機能したり、第2無線通信I/F105bとして機能するものも含む概念である。
アクセスポイント501は、Wi−Fiのアクセスポイントとして機能する装置であり、SSID(Service Set Identifierとも称する)を有している。SSIDは、アクセスポイント501を識別するための名前である。情報処理装置100は、プリント&スキャンアプリケーション121を実行することで、印刷要求やスキャン要求を、無線LAN_I/F105を用いた通信によって、MFP51、スキャナ61、カラーレーザープリンタ71、に送信することができる。
<情報処理装置100の構成>
情報処理装置100は、例えば携帯電話や携帯端末装置などの携帯型の装置である。情報処理装置100は、表示手段102、タッチパネル103、入力I/F104、無線LAN_I/F105、CPU(Central Processing Unitとも称する)106、ROM(Read Only Memoryとも称する)107、RAM(Random Access Memoryとも称する)108、記憶部109などを備えている。これらの要素は、入出力ポート110を介して互いに接続されている。
表示手段102は、CPU106から出力される画信号を受信し、受信された画信号に基づく画像を表示する。表示手段102としては、例えばLCDや、有機ELパネルなどを用いることができる。タッチパネル103は透明な部材により形成され、表示手段102の表面を覆うようにして配設されている。タッチパネル103は、ユーザの指などによりタッチされた位置を検出し、検出した位置情報をCPU106へ出力する。入力I/F104は、例えば操作ボタンである。無線LAN_I/F105は、無線LAN方式の無線通信を実行するためのインターフェースである。
CPU106は、記憶部109に記憶されるプログラムを実行する。RAM108はCPU106の処理に必要な情報を一時的に記憶する。記憶部109は、フラッシュメモリ、HDD(ハードディスクとも称する)、CPU106が備えるバッファなどが組み合わされて構成されている。記憶部109には、画像データや、文書データなどが記憶可能である。記憶部109は、プログラム120を記憶している。プログラム120は、プリント&スキャンアプリケーション121(以下、アプリケーション121と記載する)、および、オペレーティングシステム124(以下、OS124と記載する)を含んでいる。CPU106は、プログラム120に従って処理を実行する。
記憶部109は、コンピュータが読み取り可能なストレージ媒体であってよい。コンピュータが読み取り可能なストレージ媒体とは、ROM、RAM、フラッシュメモリ、ハードディスクなどのnon-transitoryな媒体である。ROM、RAM、フラッシュメモリ、ハードディスクなどはtangibleな媒体である。インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種である、コンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
アプリケーション121は、情報処理装置100からMFP51等へ印刷命令を送信する処理などを、CPU106に実行させるためのアプリケーションである。OS124は、アプリケーション121等に共通して利用される、基本的な機能を提供するプログラムである。OS124は、無線LAN_I/F105に無線通信を実行させるためのプログラム等を含んでいる。またOS124は、各種のハードウェアが取得した情報を各プログラムが取得するための、もしくは、各プログラムが各種ハードウェアに指示をするためのAPI(Application Programming Interfaceとも称する)を提供するプログラムでもある。
また記憶部109は、通信対象デバイステーブルTB1を記憶する。通信対象デバイステーブルTB1は、通信対象デバイスを識別するための各種の情報を記憶しておくテーブルである。通信対象デバイスとは、用途ごとに設定される1のデバイスである。通信対象デバイスは、ある用途に関する処理を実行可能なデバイスが、その用途に対して複数存在する場合に、当該複数のデバイスの中で優先的に使用されるデバイスである。通信対象デバイスを、用いる通信経路の違いによって、デフォルトデバイス、セカンドデバイスと呼称する場合がある。デフォルトデバイスは、第1無線通信I/F105aを介してWi−Fi通信によって通信する通信対象デバイスである。セカンドデバイスは、第2無線通信I/F105bを介してWFD通信によって通信する通信対象デバイスである。すなわち、デフォルトデバイスおよびセカンドデバイスは、異なる通信経路を用いる同一のデバイスである。
図6に、通信対象デバイステーブルTB1の一例を示す。通信対象デバイステーブルTB1は、写真印刷611、ウェブ印刷612、スキャン613、の3種類の用途のそれぞれに対して、デフォルトデバイス記憶領域800およびセカンドデバイス記憶領域810を備える。写真印刷611の用途のデフォルトデバイス記憶領域800およびセカンドデバイス記憶領域810の各々には、写真印刷に対して設定されているデフォルトデバイスおよびセカンドデバイスの各々を識別するための情報が記憶される。写真印刷では、情報処理装置100がJPEGやBitmap、GIFなどの画像データの印刷要求を、印刷機能を有するデバイスへ送信し、デバイスに印刷を実行させる処理が行われる。ウェブ印刷612の用途のデフォルトデバイス記憶領域800およびセカンドデバイス記憶領域810の各々には、ウェブ印刷に対して設定されているデフォルトデバイスおよびセカンドデバイスの各々を識別するための情報が記憶される。ウェブ印刷では、情報処理装置100がウェブページの印刷要求を、印刷機能を有するデバイスへ送信し、デバイスに印刷を実行させる処理が行われる。スキャン613の用途のデフォルトデバイス記憶領域800およびセカンドデバイス記憶領域810の各々には、スキャンに対して設定されているデフォルトデバイスおよびセカンドデバイスの各々を識別するための情報が記憶される。スキャンでは、情報処理装置100が、スキャン機能を有するデバイスへスキャン要求を送信し、デバイスにスキャンを実行させる処理が行われる。
デフォルトデバイス記憶領域800には、デフォルトデバイスに関する情報として、モデル名801、IPアドレス803、MACアドレス806、が記憶されている。また、セカンドデバイス記憶領域810には、セカンドデバイスに関する情報として、モデル名811、IPアドレス813、SSID814、デバイスID815、MACアドレス816、が記憶されている。
モデル名801および811は、各デバイスの種類を識別するための情報である。第1の実施形態では、MFP51のモデル名801は、「Ink-MFP1」である。また、スキャナ61のデバイスのモデル名801は、「Scan-1」である。また、カラーレーザープリンタ71のデバイスのモデル名801は、「Laser-1」である。
IPアドレス803および813は、各デバイスに割り当てられた、Wi−Fi通信に用いられる識別番号である。MACアドレス806および816は、各デバイスを識別するための物理アドレスである。MACアドレス806および816は、デフォルトデバイスとのWFD通信を実行するための情報として使用することができる。SSID814は、デフォルトデバイスとWi−Fi通信を実行する場合に使用されるアクセスポイントを識別するための識別情報である。デバイスID815は、各デバイスに割り当てられた、WFD通信に用いられる識別情報である。
図6の通信対象デバイステーブルTB1の例では、写真印刷611の用途に関する処理を実行可能なデバイスが、写真印刷611の用途に対して複数存在(すなわちMFP51およびカラーレーザープリンタ71)する場合に、当該複数のデバイスの中で優先的に使用されるデバイスとして、MFP51が設定されていることが分かる。
<MFP51の構成>
MFP51の構成について説明する。MFP51は、CPU32、記憶部33、無線LAN_I/F34、ボタン入力部38、パネル39、プリンタ19、スキャナ20、を主に備えている。無線LAN_I/F34は、第1無線通信I/F34aおよび第2無線通信I/F34bを備える。第1無線通信I/F34aは、Wi−Fi通信を実行するためのインターフェースである。第2無線通信I/F34bは、WFD通信を実行するためのインターフェースである。これらの構成要素は、入出力ポート43を介して互いに通信可能とされている。
CPU32は、記憶部33に記憶されるプログラム21を実行する。記憶部33は、RAM、ROM、フラッシュメモリ、HDD(ハードディスクとも称する)、CPU32が備えるバッファなどが組み合わされて構成されている。記憶部33は、記憶部109と同様に、コンピュータが読み取り可能なストレージ媒体であってよい。記憶部33は、プログラム21、MIB情報22を記憶する。プログラム21は、OS29等を含んでいる。
MIB情報22は、MFP51自身に関する情報であり、情報処理装置100などの外部装置に公開される情報である。外部装置は、外部装置からのリクエストによって、MIB情報22をMFP51から取得することができる。MIB情報22は、モデル名、MACアドレス、Wi−Fiステータス情報、SSID履歴情報、IPアドレス、等を含んでいる。モデル名は、MFP51を識別するための情報である。本実施形態では、モデル名は「Ink-MFP1」である。MACアドレスは、MFP51を識別するための物理アドレスである。Wi−Fiステータス情報は、Wi−Fi通信に関する各種の情報である。Wi−Fiステータス情報は、例えば、第1無線通信I/F34aの電源がオンであるか否かを示す情報や、第1無線通信I/F34aの通信圏内に存在するアクセスポイントを示す情報を含んでいる。SSID履歴情報は、MFP51が過去に接続したことのあるアクセスポイントのSSIDを示す情報である。IPアドレスは、MFP51を識別するための情報である。
ボタン入力部38は、MFP51の各機能を実行するためのキーである。ボタン入力部38は、タッチパネルとして、パネル39と一体に構成されていてもよい。パネル39は、MFP51の各種機能情報を表示する。プリンタ19は、記憶部33に記憶されている画像データを用いて印刷を実行する部位である。スキャナ20は、読み取りを実行する部位である。
<本明細書における記載上の注意点>
以降、アプリケーションやオペレーティングシステムなどのプログラムを実行するCPU106のことを、単にプログラム名で記載する場合もある。例えば「アプリケーション」という記載が、「アプリケーションを実行するCPU106」を意味する場合もある。本明細書において、「情報処理装置100のCPU106が、各種の情報を受信する」という記載は、「情報処理装置100のCPU106が、無線LAN送受信部15を介して各種の情報を取得する」という技術内容を含んでいるものとする。また、「情報処理装置100のCPU106が、各種の情報を送信する」という記載は、「情報処理装置100のCPU106が、無線LAN送受信部15を介して各種の情報を出力する」という技術内容を含んでいるものとする。
ここで、「データ」および「情報」の文言の定義を説明する。本明細書では、「データ」と「情報」では「情報」を「データ」の上位概念として用いている。そのため、「Aデータ」を「A情報」と言い換えてもよい。また、「情報」は、「データ」としての形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)が異なっていても、同一の意味内容と認識される限り、同一の情報として取り扱われる。例えば、印刷部数が2部であることを示す情報として装置が扱う限り、"COPY=2"というテキスト形式のデータと、"10"というバイナリ形式のデータとは、同じ情報である。但し、上記の「データ」および「情報」の区別は厳密なものではなく、例外的な取扱いも許容される。
また、本明細書では、所定の演算が加えられる前後の「データ」及び「情報」を、同一のデータ及び情報として取り扱うことがある。例えば、暗号化されていないキー情報が記憶部に記憶されており、暗号化されたキー情報(以下、「暗号化キー情報」と表記する。)が無線LAN_I/F105を通じて受信されたとする。この場合において、記憶部に記憶されたキー情報と、暗号化キー情報を復号して得られる復号済キー情報とが一致するのであれば、キー情報、暗号化キー情報、及び復号済キー情報は、いずれも同一の「キー情報」として取り扱うことがある。なお、「所定の演算」は暗復号に限定されず、ハッシュ関数による演算等であってもよい。
<通信対象デバイス登録処理>
以下、図2Aないし図4を用いて、アプリケーション121に従いCPU106が各部を制御する処理について説明する。図2Aおよび図2Bのフローは、通信対象デバイス登録処理の実行指示が入力されることに応じて開始される。通信対象デバイス登録処理は、通信対象デバイスを通信対象デバイステーブルTB1に記憶する処理である。通信対象デバイス登録処理の実行指示の入力は、例えば、表示手段102に表示されている登録処理の実行ボタンがタッチされることによって実行されるとしてもよい。
S105においてCPU106は、「写真印刷」、「ウェブ印刷」、「スキャン」の3種類の用途のうち、何れかの用途を指定する用途指定操作を受け付けたか否かを判断する。例えば、アプリケーション121は、表示手段102において、上記の3種類の用途の各々に対応するアイコンを表示手段102に表示させる。そして、アイコンが表示されている部位がタッチされたことを受け付けると、タッチされたアイコンが示す用途を指定する操作がなされたと判断する。否定判断される場合(S105:NO)にはS105へ戻り、肯定判断される場合(S105:YES)にはS110へ進む。
S110においてCPU106は、通信対象デバイス指定指示が入力されたか否かを判断する。通信対象デバイス指定指示は、通信対象デバイスを指定する、ユーザにより入力される指示である。例えば、通信対象デバイスの指定を受け付けるための通信対象デバイス指定画面を、表示手段102に表示させてもよい。通信対象デバイス指定画面には、過去に接続したことがあるデバイス名が一覧表示され、何れかのデバイスの選択を受け付けるとしてもよい。なお、記憶部109には、過去に接続したことがあるデバイスを識別するための識別情報が、デバイス名とともに記憶されていてよい。識別情報の例は、IPアドレス、MACアドレスなどである。また通信対象デバイス指定画面には、通信対象デバイスを識別するための識別情報の入力欄が表示され、当該識別情報の入力を受け付けるとしてもよい。否定判断される場合(S110:NO)にはS115へ進み、肯定判断される場合(S110:YES)にはS112へ進む。
S112においてCPU106は、通信対象デバイスに指定されたデバイスを識別する識別情報を、指定デバイス識別情報として記憶部109に一時的に記憶させる。
S115においてCPU106は、Wi−Fi通信デバイス検索スレッドを起動する。Wi−Fi通信デバイス検索スレッドは、複数の外部デバイス(すなわち、MFP51、スキャナ61、カラーレーザープリンタ71)のうちに、第1無線通信I/F105aを用いて通信することが可能なデバイスであるWi−Fi通信デバイスが含まれているか否かを判断するためのプログラムである。具体的にはCPU106は、複数の外部デバイスに、外部デバイスの識別情報(例:IPアドレス)を返信するよう要求するパケットをブロードキャストし、外部デバイスからの識別情報の返信を待機する。
S120においてCPU106は、WFD通信デバイス検索スレッドを起動する。WFD通信デバイス検索スレッドは、複数の外部デバイス(すなわち、MFP51、スキャナ61、カラーレーザープリンタ71)のうちに、第2無線通信I/F105bを用いて通信することが可能なデバイスであるWFD通信デバイスが含まれているか否かを判断するためのプログラムである。具体的にはCPU106は、外部デバイスの識別情報(例:IPアドレス)を返信するよう要求するパケットを、第2無線通信I/F105bを用いてブロードキャストする。そして、外部デバイスからの識別情報の返信を待機する。
S125においてCPU106は、Wi−Fi通信デバイスの識別情報を受信したか否かを判断する。当該判断は、Wi−Fi通信デバイス検索スレッド(S115)においてブロードキャストしたパケットに対するIPアドレスの返信を、受信したか否かによって行われてもよい。肯定判断される場合(S125:YES)には、複数の外部デバイスのうちに、Wi−Fi通信デバイスが含まれていると判断することができる。従って、S130へ進む。
S130においてCPU106は、第1のWi−Fi通信デバイスの保存処理を実行する。図3を用いて、第1のWi−Fi通信デバイスの保存処理の内容を説明する。
S210においてCPU106は、S125で受信されたIPアドレスを用いて、Wi−Fi通信デバイスから、当該Wi−Fi通信デバイスに関する情報を取得する。Wi−Fi通信デバイスに関する情報の取得は、第1無線通信I/F105aを用いて行われる。Wi−Fi通信デバイスに関する情報は、MIB情報であってもよい。本実施形態では、例として、Wi−Fi通信デバイスに関する情報として、Wi−Fi通信デバイスのMACアドレスおよびモデル名を取得する場合を説明する。
S215においてCPU106は、S125で受信されたIPアドレスおよびS210で取得したWi−Fi通信デバイスに関する情報によって識別されるデバイスが、S110で指定された通信対象デバイスと一致するか否かを判断する。当該判断は、例えば、S112で記憶された指定デバイス識別情報に含まれているIPアドレスと、S125で受信されたIPアドレスとが一致する場合に、肯定判断され、一致しない場合に否定判断される。あるいは、指定デバイス識別情報に含まれているMACアドレスと、S210で取得したMACアドレスとが一致する場合に、肯定判断され、一致しない場合に、否定判断される。なお、第1無線通信I/F105aが受信する、WI−Fi通信デバイスに関する情報が暗号化されていてもよいし、記憶部109に記憶されている指定デバイス識別情報が暗号化されていてもよい。S215において肯定判断される場合(S215:YES)には、S220へ進む。
S220においてCPU106は、Wi−Fi通信デバイスから受信した情報を、通信対象デバイステーブルTB1に記憶させる。すなわち、Wi−Fi通信デバイスを、通信対象デバイスとして登録する。また、Wi−Fi通信デバイスを、デフォルトデバイスとして登録する、と言い換えても同じ意味である。登録する、を設定する、と言い換えても同じ意味である。また、通信対象デバイスとして通信対象デバイステーブルTB1に記憶する、と言い換えても同じ意味である。具体的には、通信対象デバイステーブルTB1(図6)において、S105で選択された用途に対応する欄を、写真印刷611〜スキャン613の中から選択する。そして、選択された欄におけるデフォルトデバイス記憶領域800に、通信対象デバイスとして設定されるデバイスのモデル名801、IPアドレス803、MACアドレス806を書き込む。これらの情報は、S125やS210で取得された情報である。例えば、S105で写真印刷611が選択された場合には、図6の領域R1に、IPアドレス803等が書き込まれる。
そして、図2AのS125へ戻る。
また、S215において否定判断される場合(S215:NO)には、S225へ進む。S225においてCPU106は、Wi−Fi通信デバイスのIPアドレスと、Wi−Fi通信デバイスのMACアドレスおよびモデル名とを、互いに関連付けて記憶部109に記憶させる。これにより、Wi−Fi通信デバイスを、デフォルトデバイスの候補として記憶させることができる。そして、図2AのS125へ戻る。
一方、図2AのS125において否定判断される場合(S125:NO)には、S135へ進む。S135においてCPU106は、WFD通信デバイスの識別情報を受信したか否かを判断する。当該判断は、WFD通信デバイス検索スレッド(S120)においてブロードキャストしたパケットに対するデバイスIDの返信を、受信したか否かによって行われてもよい。肯定判断される場合(S135:YES)には、複数の外部デバイスのうちに、WFD通信デバイスが含まれていると判断することができる。従って、S140へ進む。
S140においてCPU106は、第1のWFD通信デバイスの保存処理を実行する。図4を用いて、第1のWFD通信デバイスの保存処理の内容を説明する。S315においてCPU106は、情報処理装置100が現在接続中のアクセスポイントのSSIDを、OS124から取得する。
S320においてCPU106は、S135で取得したデバイスIDを用いて、WFD通信デバイスから、当該WFD通信デバイスに関する情報を取得する。WFD通信デバイスに関する情報の取得は、第2無線通信I/F105bを用いて行われる。WFD通信デバイスに関する情報は、MIB情報であってもよい。具体的に説明する。CPU106は、WFD通信デバイスが記憶しているMIB情報を問合せる問合せ情報を、第2無線通信I/F105bを介して送信する。そして、問合せ情報に対して返信されたMIB情報を、第2無線通信I/F105bを介して受信する。本実施形態では、例として、MIB情報として、モデル名、MACアドレス、Wi−Fiステータス情報、SSID履歴情報、IPアドレス、を取得する場合を説明する。なお、Wi−Fiステータス情報、SSID履歴情報は、Wi−Fi通信が可能なデバイスからしか返信されてこない。
S321においてCPU106は、S135で受信されたデバイスIDおよびS320で取得したWFD通信デバイスに関する情報によって識別されるデバイスが、S110で指定された通信対象デバイスと一致するか否かを判断する。当該判断は、例えば、S112で記憶された指定デバイス識別情報に含まれているデバイスIDと、S135で受信されたデバイスIDとが一致する場合に、肯定判断され、一致しない場合に否定判断されてもよい。なお、S215で前述した内容は、S321においても適用することが可能である。S321において肯定判断される場合(S321:YES)には、S322へ進む。
S322においてCPU106は、WFD通信デバイスから受信した情報を、通信対象デバイステーブルTB1に記憶させる。すなわち、WFD通信デバイスを、通信対象デバイスとして登録する。具体的には、通信対象デバイステーブルTB1(図6)において、S105で選択された用途に対応する欄を、写真印刷611〜スキャン613の中から選択する。そして選択された欄におけるセカンドデバイス記憶領域810に、通信対象デバイスとして設定されるデバイスのモデル名811、IPアドレス813、SSID814、デバイスID815、MACアドレス816を書き込む。これらの情報は、S135やS320で取得された情報である。また、S320で取得したWi−Fiステータス情報、SSID履歴情報を、記憶部109に記憶させる。例えば、S105で写真印刷611が選択された場合には、図6の領域R2に、IPアドレス813等が書き込まれる。そしてS325へ進む。なお、S220で前述した内容は、S322においても適用することが可能である。
また、S321において否定判断される場合(S321:NO)には、S323へ進む。S323においてCPU106は、WFD通信デバイスのデバイスIDと、Wi−Fi通信デバイスのIPアドレス、MACアドレスおよびモデル名とを、互いに関連付けて記憶部109に記憶させる。これにより、WFD通信デバイスを、セカンドデバイスの候補として記憶させることができる。そして、S325へ進む。
S325においてCPU106は、WFD通信デバイスがWi−Fi通信デバイスでもあるか否かを判断する。換言すると、S135においてWFD通信を実行可能であると判断されたデバイスが、Wi−Fi通信も実行可能であるか否かを判断する。当該判断は、Wi−Fiステータス情報またはSSID履歴情報をS320で取得したか否かによって行われてもよい。否定判断される場合(S325:NO)には、図2AのS125へ戻る。
一方、S325において、WFD通信デバイスがWi−Fi通信デバイスでもあると判断された場合(S325:YES)には、S330へ進む。ここで以後、WFD通信デバイスでもありWi−Fi通信デバイスでもあるデバイスを、Wi−Fi/WFD通信デバイスと記載する。S330においてCPU106は、Wi−Fi/WFD通信デバイスが、Wi−Fi通信を実行できる状態であるか否かを判断する。当該判断は、Wi−Fi/WFD通信デバイスのWi−Fi機能が有効にされていることを、S320で取得したWi−Fiステータス情報が示しており、かつ、S315で取得したSSIDと同一のSSIDをSSID履歴情報が含んでいる場合には肯定判断され、少なくとも一方がそうでない場合には否定判断される。なお、Wi−Fi/WFD通信デバイスのWi−Fi機能が有効にされていることをWi−Fiステータス情報が示していれば、SSID履歴情報に拘らず肯定判断されてもよい。また当該判断は、Wi−Fi/WFD通信デバイスにWi−Fi通信を用いて所定のデータ(例:Pingパケット)を送信し、返信されたデータを受信した場合に肯定判断され、受信しなければ否定判断されてもよい。肯定判断される場合(S330:YES)には、S335へ進む。
S335においてCPU106は、Wi−Fi/WFD通信デバイスが、Wi−Fi通信の通信圏内であるか否かを判断する。当該判断は、第1無線通信I/F105aを介して、Wi−Fi/WFD通信デバイスとの通信を試み、各種の情報を受信することができたか否かによって行ってもよい。また、当該判断は、Wi−Fi/WFD通信デバイスと情報処理装置との間で通信を行ったことを、S320で取得したWi−Fiステータス情報が示しているか否かによって行ってもよい。否定判断される場合(S335:NO)には図2AのS125へ戻り、肯定判断される場合(S335:YES)にはS346へ進む。
一方、S330において、Wi−Fi/WFD通信デバイスがWi−Fi通信を実行できる状態ではないと判断された場合(S330:NO)には、S340へ進む。S340においてCPU106は、Wi−Fi/WFD通信デバイスへ、Wi−Fi通信起動指示を送信する。Wi−Fi通信起動指示は、Wi−Fi通信を実行することが可能な状態に装置状態を設定することを、Wi−Fi/WFD通信デバイスに指示するための情報である。
S345においてCPU106は、Wi−Fi通信起動指示の送信から所定時間内に、Wi−Fi/WFD通信デバイスのIPアドレスを、WFD通信を介してWi−Fi/WFD通信デバイスから受信したか否かを判断する。所定時間は、例えば1秒であってもよい。否定判断される場合(S345:NO)には図2AのS125へ戻り、肯定判断される場合(S345:YES)にはS346へ進む。
S346においてCPU106は、Wi−Fi/WFD通信デバイスが、S110で指定された通信対象デバイスと一致するか否かを判断する。当該判断は、例えば、S112で記憶された指定デバイス識別情報に含まれているIPアドレスと、S345で受信されたWi−Fi/WFD通信デバイスのIPアドレスとが一致する場合に肯定判断され、一致しない場合に否定判断される。なお、S215で前述した内容は、S346においても適用することが可能である。S346において肯定判断される場合(S346:YES)には、S350へ進む。
S350においてCPU106は、Wi−Fi/WFD通信デバイスに関する各種の情報を、デフォルトデバイス記憶領域800に記憶させる。すなわち、Wi−Fi/WFD通信デバイスを、通信対象デバイスとして登録する。なお、具体的な処理は、前述したS220の処理内容と同様であるため、ここでは説明を省略する。そして、図2AのS125へ戻る。
また、S346において否定判断される場合(S346:NO)には、S355へ進む。S355においてCPU106は、Wi−Fi/WFD通信デバイスのIPアドレスと、Wi−Fi/WFD通信デバイスのMACアドレスおよびモデル名とを、互いに関連付けて記憶部109に記憶させる。これにより、Wi−Fi/WFD通信デバイスを、デフォルトデバイスの候補として記憶させることができる。そして、図2AのS125へ戻る。
また、図2AのS135において否定判断される場合(S135:NO)には、S145へ進む。S145においてCPU106は、S115やS120でWi−Fi通信デバイス検索スレッドやWFD通信デバイス検索スレッドを起動してから、一定時間が経過したか否かを判断する。否定判断される場合(S145:NO)にはS125へ戻り、肯定判断される場合(S145:YES)にはS150へ進む。
S150においてCPU106は、S115で起動したWi−Fi通信デバイス検索スレッドを終了する。S155においてCPU106は、S120で起動したWFD通信デバイス検索スレッドを終了する。
S160においてCPU106は、S110で指定されたデバイスが、デフォルトデバイスまたはセカンドデバイスとして通信対象デバイステーブルTB1に記憶されているかを判断する。すなわち、S110において指定されたデバイスが通信対象デバイスとして登録されたか否かを判断する。肯定判断される場合(S160:YES)にはフローを終了し、否定判断される場合(S160:NO)にはS165へ進む。
S165においてCPU106は、通信対象デバイス選択受付処理を実行する。具体例を説明する。CPU106は、通信対象デバイス選択画面を表示手段102に表示させる。通信対象デバイス選択画面は、デフォルトデバイス、または/および、セカンドデバイスの選択を受け付けるための画面である。通信対象デバイス選択画面には、S225およびS355においてデフォルトデバイスの候補として記憶されたデバイスのデバイス名が、デフォルトデバイスの選択候補として一覧表示される。また通信対象デバイス選択画面には、S323においてセカンドデバイスの候補として記憶されたデバイスのデバイス名が、セカンドデバイスの選択候補として一覧表示される。そして、デフォルトデバイスの選択候補デバイスのうちから何れかのデバイスが選択された場合には、選択されたデバイスを、デフォルトデバイスに設定する。デフォルトデバイスの設定処理内容は、S220で前述した内容と同様である。また、セカンドデバイスの選択候補デバイスのうちから何れかのデバイスが選択された場合には、選択されたデバイスを、セカンドデバイスに設定する。セカンドデバイスの設定処理内容は、S322で前述した内容と同様である。
S170においてCPU106は、S165において、セカンドデバイスのみが登録されたか否かを判断する。換言すると、S165において、WFD通信デバイスのみが選択されたか否かを判断する。否定判断される場合(S170:NO)にはフローを終了し、肯定判断される場合(S170:YES)にはS175へ進む。
S175においてCPU106は、デフォルトデバイス判断処理を実行する。デフォルトデバイス判断処理は、S165で登録されたセカンドデバイスが、Wi−Fi通信デバイスでもあるか否かを判断する処理である。セカンドデバイスとはすなわちWFD通信デバイスであるため、デフォルトデバイス判断処理とは、WFD通信デバイスが、Wi−Fi通信も実行可能であるか否かを判断する処理であるとも言える。すなわち、デフォルトデバイス判断処理の内容は、前述したS320〜S355の内容と同様である。
図2Aおよび図2Bの通信対象デバイス登録処理が完了することによって、通信対象デバイスの登録が完了する。これにより、デフォルトデバイスおよびセカンドデバイスの少なくとも一方が通信対象デバイステーブルTB1に記憶されたデバイスのみが、通信対象デバイスとして登録されることになる。
<画像処理>
図5Aおよび図5Bを用いて、画像処理を説明する。S810においてCPU106は、画像処理の実行命令の入力を受け付けたか否かを判断する。具体的に説明する。まず、「写真印刷」、「ウェブ印刷」、「スキャン」の3種類の用途のうち、何れかの用途を指定する用途指定操作を受け付け、各用途に応じた操作画面を表示する。なお、受け付けた用途が「写真印刷」「ウェブ印刷」の場合は、印刷対象データを取得する。具体的には、「写真印刷」の場合、記憶部109に記憶された写真データを読み出す、もしくは、不図示のカメラ部に写真撮影をさせ、撮影によって作成された写真データを取得する。「ウェブ印刷」の場合、不図示のウェブサーバが送信し、情報処理装置100が受信したウェブページデータを取得する。操作画面には、取得された印刷対象データがプレビュー表示される。そして、操作画面内の処理実行ボタンがタッチされることによって、選択された用途にかかる画像処理の実行命令が入力される。否定判断される場合(S810:NO)にはS810へ戻り、肯定判断される場合(S810:YES)にはS815へ進む。本実施形態の説明例では、「写真印刷」の実行命令が入力された場合について、以下に説明する。
S815においてCPU106は、「写真印刷611」の用途において、デフォルトデバイス(すなわちWi−Fi通信デバイス)が登録されているか否かを判断する。具体的に説明する。通信対象デバイステーブルTB1の写真印刷611の欄におけるデフォルトデバイス記憶領域800(図6の領域R1を参照)に、IPアドレス803等の情報が記憶されている場合には、S815において肯定判断(S815:YES)される。一方、通信対象デバイステーブルTB1の写真印刷611の欄において、デフォルトデバイス記憶領域800(図6の領域R1を参照)にIPアドレス803等の情報が記憶されておらず、セカンドデバイス記憶領域810(図6の領域R2を参照)にIPアドレス813等の情報が記憶されている場合には、S815において否定判断(S815:NO)される。
すなわち、通信対象デバイステーブルTB1の写真印刷611の欄において、セカンドデバイス記憶領域810(図6の領域R2を参照)のみにIPアドレス813等が記憶されている場合には、通信対象デバイスがセカンドデバイス(すなわちWFD通信デバイス)であると判断される。ここで「のみ」とは、第1無線通信I/F105aと第2無線通信I/F105bのどちらを使用するかのS815での判断に用いられる情報としては、セカンドデバイス記憶領域810のみにIPアドレス813等が記憶されている、という意味である。換言すると、S815の判断に用いない情報であれば、通信対象デバイスがWi−Fi通信デバイスであることを示している情報(例:通信対象デバイスのIPアドレス)が記憶部109に記憶されていても、「のみ」の範疇である。
S815において否定判断(S815:NO)される場合には、S820へ進む。S820においてCPU106は、WFD通信を用いて通信対象デバイスと通信し、写真印刷を実行することを、表示手段102に表示する。例えば、「WFD通信で写真印刷を実行します」のような文字列を、表示手段102に表示してもよい。
S821においてCPU106は、通信対象デバイスが記憶しているMIB情報を問合せる問合せ情報を、第2無線通信I/F105bを介して通信対象デバイスへ送信する。S823においてCPU106は、問合せ情報に対して返信されたMIB情報を、第2無線通信I/F105bを介して受信する。本実施形態では、例として、MIB情報として、モデル名、MACアドレス、Wi−Fiステータス情報、SSID履歴情報、IPアドレス、を取得する場合を説明する。
S825においてCPU106は、通信対象デバイスが、Wi−Fi通信デバイスでもあるか否かを判断する。換言すると、WFD通信デバイスが、Wi−Fi通信も実行可能であるか否かを判断する。当該判断は、通信対象デバイステーブルTB1の写真印刷611の欄のSSID804と同一のSSIDを、SSID履歴情報としてS823で取得したか否かによって行われてもよい。否定判断される場合(S825:NO)にはS875へ進み、肯定判断される場合(S825:YES)にはS830へ進む。
S830〜S845の各ステップの内容は、図4のS330〜S345の各ステップの内容と同様である。また、S850の内容は、図4のS350の内容と同様である。よって、ここでは説明を省略する。
S860においてCPU106は、通信対象デバイスがWi−Fi通信を実行できる状態であるか否かを判断する。当該判断は、S823で取得したWi−Fiステータス情報に基づいて、S330と同様の判断を行ってもよい。また当該判断は、通信対象デバイスに所定のデータを送信し、S330と同様の判断を行ってもよい。肯定判断される場合(S860:YES)には、S865へ進む。
S865においてCPU106は、Wi−Fi通信を用いて通信対象デバイスに印刷処理を実行させることを、表示手段102に表示する。S870においてCPU106は、Wi−Fi通信を用いて通信対象デバイスに印刷データを送信する。このとき、表示手段102に印刷実行ボタンを表示させ、当該印刷実行ボタンがタッチされたことに応じて、印刷データを送信してもよい。そしてフローを終了する。
一方、S860において否定判断される場合(S860:NO)には、S861へ進む。S861においてCPU106は、通信対象デバイスが、WFD通信が実行可能なデバイスであるか否かを判断する。否定判断される場合(S861:NO)にはフローを終了し、肯定判断される場合(S861:YES)にはS875へ進む。
S875においてCPU106は、WFD通信を用いて通信対象デバイスに印刷処理を実行させることを、表示手段102に表示する。S880においてCPU106は、WFD通信を用いて通信対象デバイスに印刷データを送信する。このとき、表示手段102に印刷実行ボタンを表示させ、当該印刷実行ボタンがタッチされたことに応じて、印刷データを送信してもよい。そしてフローを終了する。
<実施例1の効果>
例として、MFP51が通信対象デバイスとして登録される場合を説明する。また、用途として写真印刷611が選択される場合を説明する。MFP51が通信対象デバイスとして選択された場合において(S110:YESまたはS165)、MFP51がWi−Fi通信デバイスであると判断された場合(S125:YES)には、通信対象デバイステーブルTB1のデフォルトデバイス記憶領域800に、IPアドレス803等が記憶される(図6の領域R1参照)。これにより、写真印刷611の用途に対して、デフォルトデバイスを登録することができる。また、MFP51がWFD通信デバイスであると判断された場合(S135:YES)には、通信対象デバイステーブルTB1のセカンドデバイス記憶領域810に、IPアドレス813等が記憶される(図6の領域R2参照)。これにより、写真印刷611の用途に対して、セカンドデバイスを登録することができる。そして、写真印刷の実行命令が入力されると(S810:YES)、通信対象デバイスとして、デフォルトデバイスが登録されているか、または、セカンドデバイスのみが登録されているかが判断される(S815)。具体的には、通信対象デバイステーブルTB1の写真印刷611の欄におけるデフォルトデバイス記憶領域800(図6の領域R1を参照)にIPアドレス803等の情報が記憶されている場合には、デフォルトデバイスが登録されていると判断される(S815:YES)。従って、Wi−Fi通信を用いて、通信対象デバイスであるMFP51に印刷データを送信する(S870)。一方、セカンドデバイス記憶領域810(図6の領域R2を参照)のみにIPアドレス813等の情報が記憶されている場合には、セカンドデバイスのみが登録されていると判断される(S815:NO)。従って、WFD通信を用いて、通信対象デバイスであるMFP51に印刷データを送信する(S880)。これにより、第1無線通信I/F105aおよび第2無線通信I/F105bのうちから適切なI/Fを自動で選択して通信対象デバイスと通信を実行することが可能となる。よって、ユーザの利便性を高めることができる。
通信対象デバイスとしてセカンドデバイスのみが登録されていると判断される場合(S815:NO)には、通信対象デバイスが記憶しているMIB情報を問合せる問合せ情報を、通信対象デバイスに送信し(S821)、通信対象デバイスからMIB情報を取得することができる(S823)。そして、通信対象デバイスがWi−Fi通信も実行可能であると判断される場合には(S825:YES)、通信対象デバイスとして、デフォルトデバイスを追加記憶させることができる(S850)。これにより、可能な限り第1無線通信I/F105aを用いて、通信対象デバイスと通信を実行することができる。
通信対象デバイスの選択が受け付けられた場合(S165)に、通信対象デバイスとしてセカンドデバイスのみが登録された場合(S170:YES)には、通信対象デバイスが記憶しているMIB情報を問合せる問合せ情報を通信対象デバイスに送信し、通信対象デバイスからMIB情報を取得することができる(S175)。そして、通信対象デバイスがWi−Fi通信も実行可能であると判断される場合には、通信対象デバイスとして、デフォルトデバイスを追加記憶させることができる(S175)。これにより、可能な限り第1無線通信I/F105aを用いて、通信対象デバイスと通信を実行することができる。
通信対象デバイスが第1無線通信I/F105aを用いたWi−Fi通信を実行できない状態である場合(S330:NOまたはS830:NO)には、Wi−Fi通信起動指示を、第2無線通信I/F105bを介したWFD通信を用いて、通信対象デバイスに対して送信することができる(S340、S840)。Wi−Fi通信起動指示は、Wi−Fi通信を実行することが可能な装置状態に設定することを指示する情報である。これにより、Wi−Fi通信起動指示を、WFD通信を用いてMFP51に送信することができる。すなわち、優先度の低いWFD通信を用いて、優先度の高いWi−Fi通信を実行可能に設定することが可能となる。
通信対象デバイスとしてデフォルトデバイスおよびセカンドデバイスが登録されているが(S815:YESおよびS861:YES)、通信対象デバイスがWi−Fi通信を実行できる状態ではないと判断された場合(S860:NO)には、通信対象デバイスとの通信経路を、第2無線通信I/F105bを用いたWFD通信に切り替えることができる(S880)。これにより、通信経路の冗長性を確保できるため、通信対象デバイスとの通信を確実に実行することが可能となる。
通信対象デバイスとして、セカンドデバイスのみが登録されていると判断される場合(S815:NO)には、WFD通信を用いて通信対象デバイスと通信することを示す情報を、表示手段102に表示することができる(S820)。また、通信対象デバイスとして、デフォルトデバイスが登録されていると判断される場合(S815:YES)には、Wi−Fi通信を用いて通信対象デバイスと通信することを示す情報を、表示手段102に表示することができる(S865)。これにより、第1無線通信I/F105aおよび第2無線通信I/F105bのうちの何れを使用するかを、ユーザに認識させることができる。
前述した実施例1は、同一のデバイスがWi−Fi通信デバイスおよびWFD通信デバイスとして検出される場合に、Wi−Fi通信デバイスをデフォルトデバイスに設定し(S220、S350)、WFD通信デバイスをセカンドデバイスに設定する(S322)態様であった。実施例2では、同一のデバイスがWi−Fi通信デバイスおよびWFD通信デバイスとして検出される場合に、先に存在が検出されたデバイスを、デフォルトデバイスに設定する態様を説明する。なお、実施例2で使用するネットワーク10の構成は、実施例1で説明済みであるため、ここでは説明を省略する。
実施例2では、図4のS322に代えて、S322aが実行される。S322aでは、CPU106は、Wi−Fi通信デバイスがデフォルトデバイスとしてすでに登録済みであるか否かを判断する。具体的には、通信対象デバイステーブルTB1(図6)において、S105で選択された用途に対応する欄を、写真印刷611〜スキャン613の中から選択する。そして選択された欄におけるデフォルトデバイス記憶領域800に、Wi−Fi通信デバイスを示す情報が記憶されているか否かを判断する。否定判断される場合には、WFD通信デバイスをデフォルトデバイスに設定する。また、肯定判断される場合には、WFD通信デバイスをセカンドデバイスに設定する。
また実施例2では、図3のS220に代えて、S220aが実行される。S220aでは、CPU106は、WFD通信デバイスがデフォルトデバイスとしてすでに登録済みであるか否かを判断する。具体的には、通信対象デバイステーブルTB1(図6)において、S105で選択された用途に対応する欄におけるデフォルトデバイス記憶領域800に、WFD通信デバイスを示す情報が記憶されているか否かを判断する。肯定判断される場合には、デフォルトデバイスに設定されているWFD通信デバイスを、セカンドデバイスに設定し直す。そして、Wi−Fi通信デバイスをデフォルトデバイスに設定する。具体的には、通信対象デバイステーブルTB1において、デフォルトデバイス記憶領域800に記憶されている情報を、セカンドデバイス記憶領域810に移動させる。そして、デフォルトデバイス記憶領域800に、Wi−Fi通信デバイスを示す情報を記憶する。一方、否定判断される場合には、Wi−Fi通信デバイスをデフォルトデバイスに設定する。
また実施例2では、図4のS350に代えて、S350aが実行される。
S350aの内容は、前述したS220aの内容と同様であるため、ここでは説明を省略する。
<実施例2の効果>
同一のデバイスがWi−Fi通信デバイスおよびWFD通信デバイスの各々として検出される場合において、当該デバイスが、Wi−Fi通信デバイスとして検出される前にWFDデバイスとして検出された場合には、WFDデバイスをデフォルトデバイスに設定することができる。そして、その後に当該デバイスがWi−Fi通信デバイスとして検出された場合には、WFDデバイスをセカンドデバイスに設定し直すとともに、Wi−Fi通信デバイスをデフォルトデバイスに設定することができる。これにより、Wi−Fi通信デバイスが検出されない期間においても、デフォルトデバイスを設定することが可能となる。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を説明する。
<変形例>
S810において、印刷処理やスキャン処理の実行命令が入力されたことに応じて、図5Aおよび図5Bの画像処理が開始される場合を説明したが、この形態に限られない。「写真印刷」の操作画面において、取得した写真データのプレビュー表示を指示する「プレビューボタン」が押下されたことに応じて、図5Aおよび図5Bの画像処理が開始されてもよい。「プレビューボタン」が押下された場合(S810:YES)には、印刷対象の画像が、表示手段102にプレビュー表示される。このとき、プレビュー表示には、印刷設定が反映されていても、されていなくてもよい。そして、プレビュー表示画面内の「印刷ボタン」が押下されることに応じて、印刷処理が開始されてもよい。また、「ウェブ印刷」の場合には、取得したウェブページデータのプレビュー表示を指示する「プレビューボタン」が押下されたことに応じて、図5Aおよび図5Bの画像処理が開始されてもよい。
本実施形態の説明例では、S810において、通信対象デバイスと所定のデータ(例:印刷データ)を通信する処理の実行指示として、「写真印刷」の実行命令が入力される場合を説明した。しかし、「所定のデータを通信する処理の実行指示」は、印刷実行指示のような、指示の後、ユーザ確認を取ることなくデータ通信が実行されるような指示に限られない。指示の後、データ通信を実行してよいか否かユーザに確認をとり、確認指示があってからデータ通信が実行されるような指示も、「データ通信処理の実行指示」の範疇に含まれる。確認指示があってからデータ通信が実行される指示の一例としては、プレビュー表示指示が挙げられる。プレビュー表示指示が行われると、印刷対象データのプレビュー表示がおこなわれる。プレビュー表示とともに、印刷実行ボタンも表示する。ユーザはプレビュー表示を確認し、印刷してよければ、印刷ボタンをタッチする。印刷ボタンがタッチされると、印刷データの通信の実行に移行する。
S850において、Wi−Fi/WFD通信デバイスをデフォルトデバイスに設定する処理は、一時的な処理であってよい。例えば、通信対象デバイステーブルTB1のデフォルトデバイス記憶領域800にIPアドレス803等の情報を記憶させてもよい(S850)。そして、S870やS880の処理の終了後に、デフォルトデバイス記憶領域800に記憶させた情報を削除してもよい。
実施例2において、デフォルトデバイスとセカンドデバイスとの2つを設定する形態を説明したが、この形態に限られない。デフォルトデバイスのみを記憶する形態であってもよい。この場合、S220aにおいて、WFD通信デバイスがデフォルトデバイスとしてすでに登録済みである場合には、WFD通信デバイスに代えてWi−Fi通信デバイスをデフォルトデバイスとして設定すればよい。具体的には、通信対象デバイステーブルTB1において、Wi−Fi通信デバイスを示す情報を、デフォルトデバイス記憶領域800に上書き記憶すればよい。また、322aにおいて、Wi−Fi通信デバイスがデフォルトデバイスとしてすでに登録済みである場合には、WFD通信デバイスの情報を通信対象デバイステーブルTB1に記憶させなければよい。
S325において、WFD通信デバイスがWi−Fi通信デバイスでもあるか否かを判断する方法は、各種の方法であってよい。例えば、MACアドレスを比較することで、当該判断を実行してもよい。具体的には、S320で取得したMACアドレスと、記憶部109に記憶されているWi−Fi通信デバイスのMACアドレスと、が一致するか否かによって判断を実行してもよい。Wi−Fi通信デバイスのMACアドレスは、S220において記憶部109に記憶される情報である。MACアドレスは、外部デバイスを一意に識別することができる物理アドレスであるとともに、一般的に用いられる情報であるため、判断処理を確実に実行することが可能となる。
S210やS320において、外部デバイスから情報を取得する形態は、MIB情報を用いる形態に限られない。情報処理装置100からの情報取得のリクエストに応じて、外部デバイスが、各種の情報をレスポンスとして返信する形態であってもよい。
S340においてWi−Fi通信起動指示を送信する条件は、様々に設定することができる。例えば、Wi−Fi/WFD通信デバイスがWi−Fi通信を実行できる状態である(S330:YES)と判断され、かつ、当該Wi−Fi/WFD通信デバイスとWi−Fi通信を実行した履歴が記憶部109に残っている場合に、Wi−Fi通信起動指示を送信する(S340)としてもよい。これにより、不要なWi−Fi通信起動指示が送信されてしまう事態を防止することができる。
S345において、Wi−Fi/WFD通信デバイスのIPアドレスを、Wi−Fi通信を介して受信する態様としてもよい。
S350において、Wi−Fi/WFD通信デバイスとWi−Fi通信を実行する場合においても、WFD通信を実行するために必要な情報(例:デバイスID、MACアドレス)を、記憶部109に記憶させている。これにより、Wi−Fi/WFD通信デバイスとのWi−Fi通信が使用不可能になった場合(S860:NO)には、デバイスIDやMACアドレスを用いて、Wi−Fi通信をWFD通信に切り替えることが可能となる。通信システムに冗長性を持たせることが可能となる。
デフォルトデバイスが、用途ごとに複数設定されるとしてもよい。例えば、第1デフォルトデバイスと第2デフォルトデバイスが存在するとしてもよい。アプリケーション121は、第1デフォルトデバイスと優先的に通信を実行し、第1デフォルトデバイスと通信ができない場合に第2デフォルトデバイスと通信するとしてもよい。そして、Wi−Fi通信デバイスは第1デフォルトデバイスとして通信対象デバイステーブルTB1に記憶され、WFD通信デバイスは第2デフォルトデバイスとして通信対象デバイステーブルTB1に記憶されるとしてもよい。
S110の通信対象デバイス指定指示の入力受付処理は、省略することが可能である。この場合、S105で肯定判断される場合には、S115へ進むとしてもよい。またS160、S215、S321、S346は省略してもよい。Wi−Fi通信の通信圏内であるか否かを判断する処理(S335)は、省略することが可能である。この場合、S330で肯定判断される場合には、S346へ進むとしてもよい。Wi−Fi通信起動指示を送信する処理(S340)は、省略することが可能である。この場合、S330で否定判断される場合には、図2AのS125へ戻るとしてもよい。以上より、一般的に言うと、情報処理装置100は、「第1受信手段」と、「第2受信手段」と、「選択手段」と、「第1記憶制御手段」と、「第2記憶制御手段」と、「第1受付手段」と、「通信手段」と、を少なくとも備えていれば良い。具体例としては、情報処理装置100は、S115と、S120と、S110またはS165と、S220またはS350またはS850と、S322と、S810と、S870またはS880と、を少なくとも実行すればよい。
通信対象デバイステーブルTB1へのデフォルトデバイスの登録は、S220、S322、S350で行われる形態に限られない。例えば、ユーザがタッチパネル103などを操作してIPアドレス等を入力することにより、デフォルトデバイスを登録することも可能である。
アプリケーション121が、情報処理装置100が現在接続中のネットワークのSSIDをOS124から取得するタイミングは、S315のタイミングに限られない。例えば、印刷プレビューを表示するタイミングや、アプリケーション121が起動されるタイミングで取得してもよい。
本実施形態で用いたIPアドレスの値やSSIDの文字列は一例であり、様々な値や文字列を用いることが可能である。
モデル名801、デバイスを識別することができるものであれば、どのようなものでもよく、例えば、番号を含まないもの、記号だけで構成されるものでもよい。また、デバイス名などのデバイスを区別することができる名称を、モデル名の代わりに用いてもよい。
情報処理装置100は、メモリカードなどの外部メモリを接続可能な構成としてもよい。そして、記憶部109に代えて、外部メモリへ各種データを記憶する構成としてもよい。
画像処理装置の一例として、MFP51を挙げたが、これに限らない。指示データなどに基づいて、所定の画像を刺繍、キルティングするミシンでもよい。画像データに基づいた作品、製品を形成するために、飾り縫い、縫製などをおこなうミシンでもよい。指示データなどに基づいて、吹き付け、削りだしなどで、3D画像を生成する3Dプリンタでもよい。画像データなどに基づいて、吹き付け、削りだしなどで、作品、製品を生成する作品製造装置、製品製造装置でもよい。画像データの例として3D画像データや3DCADデータを用いてもよい。対象物の輪郭を光学的、電気的に検知するセンサからの出力データや、対象物に取り付けたセンサからの出力データに基づいて画像データを作成するスキャナでもよい。センサからの出力に基づいて、対象物の形状や動きを示すデータを作成するスキャナでもよい。画像データの例として動画データや3D画像データを用いてもよい。
プリント&スキャンアプリケーション121は、情報処理プログラムの一例である。MFP51、スキャナ61、カラーレーザープリンタ71は、デバイスの一例である。第1無線通信I/F105aは、第1無線通信インターフェースの一例である。第2無線通信I/F105bは、第2無線通信インターフェースの一例である。CPU106は、プロセッサの一例である。Wi−Fi通信デバイスは、第1通信デバイスの一例である。S115を実行するCPUは、第1受信手段の一例である。WFD通信デバイスは、第2通信デバイスの一例である。S120を実行するCPUは、第2受信手段の一例である。S110またはS165を実行するCPUは、選択手段の一例である。IPアドレスは、第1通信デバイス識別情報の一例である。S220、S350、S850を実行するCPUは、第1記憶制御手段の一例である。デバイスIDは、第2通信デバイス識別情報の一例である。S322を実行するCPUは、第2記憶制御手段の一例である。S810を実行するCPUは、第1受付手段の一例である。S870、S880を実行するCPUは、通信手段の一例である。S821を実行するCPUは、第1問合せ手段の一例である。SSID履歴情報は、第1返信情報の一例である。S823を実行するCPUは、第3受信手段の一例である。S820を実行するCPUは、第1表示制御手段の一例である。S865を実行するCPUは、第2表示制御手段の一例である。S320、S823を実行するCPUは、第4受信手段の一例である。Wi−Fiステータス情報は、状態情報の一例である。S340、S840を実行するCPUは、第1指示手段の一例である。S860を実行するCPUは、判断手段の一例である。S320を実行するCPUは、第2問合せ手段の一例である。S320を実行するCPUは、第5受信手段の一例である。S320を実行するCPUは、第6受信手段の一例である。Wi−Fi通信起動指示は、第2指示情報の一例である。S340を実行するCPUは、第2指示手段の一例である。
なお、各プログラムは一つのプログラムモジュールから構成されるものであってもよいし、複数のプログラムモジュールから構成されるものであってもよい。また、各一例は置換可能な他の構成であってもよく、本発明の範疇である。画像処理プログラム(アプリケーション121など)に基づく処理を実行するコンピュータ(CPU106など)であってもよいし、オペレーティングシステムや他のアプリケーションなど、画像処理プログラム以外のプログラムに基づく処理を実行するコンピュータであってもよいし、コンピュータの指示に従って動作するハード構成(タッチパネル103など)であってもよいし、コンピュータとハード構成とが連動した構成であってもよい。もちろん、複数のプログラムに基づく処理を連動させて処理を実行するコンピュータであってもよいし、複数のプログラムに基づく処理を連動させて処理を実行するコンピュータの指示に従って動作するハード構成であってもよい。