以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
図1は、本実施形態に係るシステム100の概略図である。図1に示されるシステム100は、複合機10A、10B(以下、これらを総称して、「複合機10」と表記することがある。)と、携帯端末50と、サーバ80、90とで構成される。複合機10、携帯端末50、及びサーバ80、90は、通信ネットワークを介して相互に通信可能とされている。通信ネットワークの具体例は特に限定されないが、例えば、インターネット101、有線LAN、無線LAN102、或いはこれらの組み合わせであってもよい。
複合機10及び携帯端末50は、無線LAN102に属している。すなわち、複合機10及び携帯端末50は、無線LAN102の不図示のアクセスポイントを経由して、相互に通信することができる。また、無線LAN102は、ルータ102Aを通じてインターネット101に接続されている。さらに、サーバ80、90は、インターネット101に接続されている。すなわち、複合機10及び携帯端末50は、ルータ102Aからインターネット101を経由して、サーバ80、90と通信することができる。
複合機10は、図2(A)に示されるように、プリンタ11と、スキャナ12と、ディスプレイ23と、入力I/F24と、NFC通信I/F25と、Wi−Fi(Wi-Fi Allianceの登録商標)通信I/F26と、CPU31と、メモリ32と、通信バス33とを主に備える。複合機10を構成する各構成要素は、通信バス33を通じて相互に接続されている。複合機10A、10Bの構成は同様であってもよいし、異なっていてもよい。複合機10は、画像形成装置の一例である。画像形成装置は、画像データから画像を形成する装置、または、画像から画像データを形成する装置である。
プリンタ11は、画像データで示される画像をシートに記録するプリント動作を実行する。プリンタ11の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ12は、原稿に記録されている画像を読み取って画像データ(以下、「スキャンデータ」と表記する。)を生成するスキャン動作を実行する。なお、複合機10は、FAX送信動作及びFAX受信動作を実行可能なFAX部をさらに備えていてもよい。また、複合機10は、プリンタ11及びスキャナ12の一方のみを備え、他方を備えていなくてもよい。
入力I/F24は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力I/F24はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU31へ出力する。さらに、入力I/F24は、ディスプレイ23の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ23の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ23に表示された文字列、アイコン、ボタン、リンク等である。
タッチセンサとして実現される入力I/F24は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ23に表示されたアイコンの位置のタップするユーザ操作は、当該アイコンを指定する指定操作の一例である。
NFC通信I/F25は、外部装置との間で無線信号を送受信することが可能な第1通信インタフェースの一例である。すなわち、複合機10は、NFC通信I/F25を通じて携帯端末50に各種情報を送信し、NFC通信I/F25を通じて携帯端末50から各種情報を受信する。なお、NFC通信I/F25を通じた無線通信(以下、「NFC通信」と表記する。)の通信範囲は、Wi−Fi通信I/F26を通じた無線通信(以下、「Wi−Fi通信」と表記する。)の通信範囲より狭い。また、NFC通信の通信速度は、Wi−Fi通信の通信速度より遅い。
NFC通信I/F25は、近接無線方式で無線通信を行うためのインタフェースである。NFC通信I/F25は、NFC規格に準拠した無線通信を行う。NFC規格は、例えば、ISO/IEC21481または18092の規格である。本明細書において、NFC規格に準拠した手順で通信可能な機器を「NFC機器」と表記し、NFC規格に準拠した手順でする通信を「NFC通信」と表記する。NFC通信は、近接無線通信の一例である。NFC通信I/F25には、外部装置との間で受け渡すための情報を記憶するメモリを有するICチップが搭載されている。NFC規格は、近接無線通信プロトコルの一例である。また、NFC規格に代えて、TransferJet(TransferJet コンソーシアムの登録商標)規格を採用してもよい。
Wi−Fi通信I/F26は、外部装置と通信可能な第2通信インタフェースの一例である。複合機10は、Wi−Fi通信I/F26を通じて携帯端末50及びサーバ80、90に各種情報を出力し、Wi−Fi通信I/F26を通じて携帯端末50及びサーバ80、90から各種情報を受信する。
Wi−Fi通信I/F26は、Wi−Fi規格に準拠した無線通信を行う。Wi−Fi通信I/F26は、通信ネットワークを通じて外部装置と無線通信する間接無線通信が可能である。より詳細には、Wi−Fi通信I/F26は、アクセスポイント等の中継装置を経由して、外部装置と無線通信することができる。また、Wi−Fi通信I/F26は、中継装置を経由せずに外部装置と無線通信する直接無線通信が可能であってもよい。直接無線通信は、例えば、Wi−Fi Direct(Wi-Fi Allianceの登録商標)規格に準拠した無線通信である。Wi−Fi通信のうち中継装置を経由しない無線通信を、「Wi−Fiダイレクト通信」と表記する。Wi−Fi通信I/F26の具体的な通信手順は特に限定されないが、例えば、間接無線通信にWi−Fiを採用し、直接無線通信にWi−Fiダイレクトを採用してもよい。
CPU31は、複合機10の全体動作を制御するものである。CPU31は、入力I/F24から出力される各種情報、通信I/F25、26を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ32から取得して実行する。CPU31及びメモリ32は、コントローラの一例を構成する。
メモリ32は、OS34と、装置プログラム35とを記憶している。装置プログラム35は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ32は、装置プログラム35の実行に必要なデータ或いは情報等を記憶する。メモリ32は、例えば、RAM、ROM、EEPROM、HDD、複合機10に着脱されるUSBメモリ等の可搬記憶媒体、CPU31が備えるバッファ等、或いはそれらの組み合わせによって構成される。
メモリ32は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット101上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する携帯端末50のメモリ62についても同様である。
メモリ32は、図3に示されるように、装置情報を記憶することができる。装置情報は、装置IDと、対応する動作ID及び能力情報の1以上のセットとを含む。装置IDは、複合機10を識別するための装置識別情報の一例である。動作IDは、対応する装置IDで識別される複合機10が実行可能な動作を識別する動作識別情報の一例である。能力情報は、対応する動作IDで識別される動作の実行条件として、対応する装置IDに対して指定可能な実行条件を示すための情報である。換言すれば、能力情報は、対応する動作IDで識別される動作の実行条件のバリエーションを示す。
例えば、複合機10Aは装置ID“MFP−A”で識別され、複合機10Bは装置ID“MFP−B”で識別される。また、プリント動作は動作ID“プリント”で識別され、スキャン動作は動作ID“スキャン”で識別される。また、プリント動作に対応する能力情報は、画像を記録するシートのサイズ(例えば、A4、A3、L版)を示すサイズ情報と、画像を記録するために用いる色(例えば、モノクロ、カラー)を示す色情報とを含む。さらに、スキャン動作に対応する能力情報は、スキャンデータの解像度(例えば、300dpi、600dpi)を示す解像度情報と、スキャンデータのファイル形式(例えば、TIFF、PDF)を示す形式情報とを含む。但し、能力情報の具体例は、前述の例に限定されない。
図3(A)は、複合機10Aのメモリ32に記憶された装置情報の例である。すなわち、複合機10Aは、“A4”、“A3”、“L版”のいずれかのシートに、“モノクロ”、“カラー”のいずれかで画像を記録するプリント動作を実行できる。また、複合機10Aは、解像度が“300dpi”、“600dpi”のいずれかのスキャンデータを、“TIFF”、“PDF”のいずれかのファイル形式で生成するスキャン動作を実行できる。図3(B)は、複合機10Bのメモリ32に記憶された装置情報の例である。すなわち、複合機10Bは、“A4”、“B5”のいずれかのシートに、“モノクロ”、“カラー”のいずれかで画像を記録するプリント動作を実行できる。
携帯端末50は、図2(B)に示されるように、ディスプレイ53と、入力I/F54と、NFC通信I/F55と、Wi−Fi通信I/F56と、CPU61と、メモリ62と、通信バス63とを主に備える。携帯端末50に含まれるディスプレイ53、入力I/F54、NFC通信I/F55、Wi−Fi通信I/F56、CPU61、メモリ62、及び通信バス63は、複合機10に含まれるディスプレイ23、入力I/F24、NFC通信I/F25、Wi−Fi通信I/F26、CPU31、メモリ32、及び通信バス33と同様の構成であるので、説明は省略する。CPU61及びメモリ62は、コントローラの一例である。
携帯端末50は、例えば、携帯電話、スマートフォン、或いはタブレット端末等である。より詳細には、携帯端末50のディスプレイ53は、表示画面のサイズが12インチ以下、より好ましくは8インチ以下であるのが望ましい。また、携帯端末50の入力I/F54は、ディスプレイ53の表示画面に重ねられたタッチセンサであるのが望ましい。
メモリ62は、OS64と、端末プログラム65とを記憶している。OS64は、例えば、Android(Google inc.の登録商標) OS、iOS(Cisco Systems,Inc.の登録商標)、Windows Phone(Microsoft Corporationの登録商標) Operating System等であってもよい。
端末プログラム65は、ユーザによって指定された入力装置及び出力装置に連携動作を実行させるプログラムである。入力装置は、携帯端末50に送信すべき対象データを入力する入力動作を実行する装置である。出力装置は、携帯端末50から受信した対象データを出力する出力動作を実行する装置である。すなわち、端末プログラム65は、入力装置に入力動作を実行させることによって、当該入力装置から対象データを受信する。次に、端末プログラム65は、入力装置から受信した対象データを出力装置に送信することによって、出力装置に出力動作を実行させる。複合機10及びサーバ80、90は、入力装置及び出力装置になり得る装置である。
入力装置として機能する複合機10の入力動作は、例えば、携帯端末50に送信すべき対象データをスキャナ12が生成するスキャン動作を指す。入力装置として機能するサーバ80、90の入力動作は、例えば、携帯端末50に送信すべき対象データをサーバ80、90が備えるサーバメモリから読み出すデータ読出動作を指す。データ読出動作は、動作ID“データ読出”で識別される。スキャン動作及びデータ読出動作は、対象データを入力装置に入力する動作の一例である。また、FAX部を備える複合機10は、FAX部がFAX受信した対象データを携帯端末50に送信する入力動作を実行してもよい。
出力装置として機能する複合機10の出力動作は、例えば、携帯端末50から受信した対象データで示される画像を、プリンタ11がシートに記録するプリント動作を指す。出力装置として機能するサーバ80、90の出力動作は、例えば、携帯端末50から受信した対象データを、サーバ80、90がサーバメモリに記憶させるデータ記憶動作を指す。データ記憶動作は、動作ID“データ記憶”で識別される。また、FAX部を備える複合機10は、携帯端末50から受信した対象データを、FAX部がFAX送信する出力動作を実行してもよい。
メモリ62は、例えば図4に示されるように、連携動作リストを記憶することができる。連携動作リストは、1以上の連携動作レコードを含む。連携動作レコードは、連携動作IDによって一意に識別される。連携動作レコードは、入力装置IDと、入力動作IDと、入力条件情報と、出力装置IDと、出力動作IDと、出力条件情報とを含む。連携動作レコードは、連携動作情報の一例である。端末プログラム65のインストール時において、連携動作リストに連携動作レコードは登録されていない。そして、端末プログラム65は、後述する登録処理において、ユーザの指示に従って生成した連携動作レコードを、連携動作リストに登録する。
入力装置IDは、ユーザによって指定された入力装置を識別する入力装置情報の一例である。入力動作IDは、入力装置IDで識別される入力装置に実行させる入力動作を識別する動作識別情報の一例である。入力条件情報は、入力動作IDで識別される入力動作の実行条件を示すための情報である。出力装置IDは、ユーザによって指定された出力装置を識別する出力装置情報の一例である。出力動作IDは、出力装置IDで識別される出力装置に実行させる出力動作を識別する動作識別情報の一例である。出力条件情報は、出力動作IDで識別される出力動作の実行条件を示すための情報である。なお、入力装置ID及び出力装置IDは、例えば、URL形式であってもよい。
すなわち、連携動作ID“001”で識別される連携動作レコードは、“ダウンロード”フォルダに記憶された全てのデータを対象データとして読み出すデータ読出動作をサーバ80に実行させ、且つ対象データを“バックアップ”フォルダに記憶させるデータ記憶動作をサーバ90に実行させる連携動作を定義する。連携動作ID“002”で識別される連携動作レコードは、300dpiでTIFF形式のスキャンデータを対象データとして生成するスキャン動作を複合機10Aに実行させ、対象データを“アップロード”フォルダに記憶させるデータ記憶動作をサーバ80に実行させる連携動作を定義する。連携動作ID“003”で識別される連携動作レコードは、“ダウンロード”フォルダに記憶されたデータ“地図.JPEG”を対象データとして読み出すデータ読出動作をサーバ80に実行させ、対象データで示される画像をA3サイズのシートにカラーで記録するプリント動作を複合機10Aに実行させる連携動作を定義する。
サーバ80、90は、所謂ストレージサーバである。より詳細には、サーバ80、90は、例えば、外部装置から受信したデータをサーバメモリに記憶させるデータ記憶動作と、外部装置によって指定されたデータをサーバメモリから読み出して携帯端末50に送信するデータ読出動作とを実行する。例えば、サーバ80は装置ID“サーバC”で識別され、サーバ90は装置ID“サーバD”で識別される。サーバ80、90は、例えば、「Evernote(Evernote Corporationの登録商標)」、「Dropbox(DropBox, Inc.の登録商標)」、「Google Drive(Googleは、Google, Inc.の登録商標)」等のサービスを提供するものであってもよい。
携帯端末50のNFC通信I/F55は、例えば、Poll動作を実行する。Poll動作とは、所定の時間間隔でポーリング信号を繰り返し出力し、当該ポーリング信号の応答であるレスポンス信号を監視する動作である。一方、複合機10のNFC通信I/F25は、例えば、Listen動作を実行する。Listen動作とは、ポーリング信号を監視し、ポーリング信号を受信したことを条件としてレスポンス信号を出力する動作である。
複合機10と携帯端末50とが接近したことによって、携帯端末50のNFC通信I/F55が出力したポーリング信号を複合機10のNFC通信I/F25が受信し、複合機10のNFC通信I/F25が出力したレスポンス信号を携帯端末50のNFC通信I/F55が受信する。これにより、NFC規格に従った所定の手順で、複合機10と携帯端末50との間にNFC方式の通信リンク(以下、「NFCリンク」と表記する)が確立される。以降、複合機10と携帯端末50とは、このNFCリンクを通じて情報等を送受信する。なお、複合機10がPoll動作を実行し、携帯端末50がListen動作を実行してもよい。
[システム100の動作]
図5〜図8を参照して、本実施形態に係るシステム100の動作を説明する。なお、図5或いは図8に示される処理の開始時点において、複合機10のNFC通信I/F25はListen動作を既に実行しており、携帯端末50のNFC通信I/F55はPoll動作を実行しているものとする。
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったCPU31、61の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、CPU31、61の処理を表している。CPU61による処理は、OS64を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
端末プログラム65は、入力I/F54を通じたユーザ操作に従って、連携指示処理を実行する。図5を参照して、連携指示処理の詳細を説明する。
まず、端末プログラム65は、図9(A)に示される動作選択画面をディスプレイ53に表示させる(S11)。動作選択画面は、連携指示処理で用いる連携動作レコードを、ユーザに指定させるための画面である。動作選択画面は、動作アイコン111、112、113を含む。動作アイコン111〜113は、連携動作リストに登録された複数の連携動作レコードそれぞれに対応する連携動作オブジェクトの一例である。S11で表示される動作選択画面は、連携動作リストに登録された全ての連携動作レコードに対応する動作アイコン111〜113を含む。S11の処理は、表示処理の一例である。そして、端末プログラム65は、動作選択画面に対するユーザ操作を、入力I/F54或いはNFC通信I/F55を通じて受け付ける(S12)。
次に、端末プログラム65は、例えば、ユーザが複合機10に携帯端末50を近づけたことによって、Poll動作を実行中のNFC通信I/F55を通じて複合機10からレスポンス信号を受信する(S12:装置にかざす)。次に、端末プログラム65は、レスポンス信号の送信元である複合機10との間にNFCリンクを確立する。複合機10からレスポンス信号を受信すること、或いはNFCリンクが確立されたことは、NFC通信I/F55と複合機10とが近接無線接続されたことの一例である。
そして、端末プログラム65は、近接無線接続された複合機10を、指定装置として特定する。より詳細には、端末プログラム65は、近接無線接続された複合機10からNFC通信I/Fを通じて装置ID受信し、受信した装置IDを指定装置IDとしてメモリ62に記憶させる。この処理は、第1取得処理の一例である。指定装置IDは、指定装置情報の一例である。複合機10とのNFC通信が可能な範囲に携帯端末50を近づける操作は、NFC通信I/F55を通じて複合機10を指定装置に指定する操作の一例である。
次に、端末プログラム65は、近接無線接続された複合機10からNFC通信I/F55を通じて接続情報を受信する。接続情報は、複合機10とWi−Fiダイレクト接続するために必要な情報である。接続情報は、例えば、IPアドレス、MACアドレス、或いはSSID等であってもよい。この処理は、第3受信処理の一例である。そして、端末プログラム65は、受信した接続情報を用いて、Wi−Fi通信I/F56を複合機10にWi−Fiダイレクト接続させる(S13)。
次に、端末プログラム65は、Wi−Fiダイレクト接続されたWi−Fi通信I/F56を通じて複合機10から装置情報を受信する(S14)。そして、端末プログラム65は、受信した装置情報をメモリ62に一時記憶させる。S14の処理は、第2受信処理の一例である。なお、端末プログラム65は、S13において、接続情報及び装置情報の両方を、NFC通信I/F55を通じて複合機10から受信してもよい。
次に、端末プログラム65は、第1決定処理を実行する(S15)。以下、携帯端末50が複合機10A、10Bそれぞれと近接無線接続された場合について、図6を参照して第1決定処理の詳細を説明する。
まず、端末プログラム65は、連携動作リストに登録されている複数の連携動作レコードのうち、指定装置IDと同一の入力装置ID及び指定装置IDと同一の出力装置IDの少なくともいずれかを含む連携動作レコードを抽出する(S21)。より詳細には、端末プログラム65は、指定装置IDを含む連携動作レコードの連携動作IDを、メモリ62に一時記憶させる。S21の処理は、第1抽出処理の一例である。
一例として、複合機10Aが指定装置である場合、S21で連携動作ID“002”、“003”で識別される連携動作レコードが抽出される。そして、端末プログラム65は、複数の連携動作レコードを抽出したことに応じて(S22:複数)、図9(B)に示される動作選択画面をディスプレイ53に表示させる(S24)。S24で表示される動作選択画面は、連携動作リストに登録された複数の連携動作レコードのうち、S21で抽出した連携動作レコードに対応する動作アイコン112、113のみを含む。そして、端末プログラム65は、動作選択画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S25)。S24の処理は表示処理の一例であり、S25の処理は第1受付処理の一例である。
次に、端末プログラム65は、例えば動作アイコン112の指定を入力I/F54を通じて受け付けたことに応じて(S25:Yes)、指定された動作アイコン112に対応する連携動作レコードを、連携指示処理で用いると決定する(S26)。すなわち、端末プログラム65は、指定された動作アイコン112に対応する連携動作レコードを連携動作リストから読み出し、読み出した連携動作レコードをメモリ62に一時記憶させる。一方具体例は省略するが、端末プログラム65は、S21で連携動作レコードを1つだけ抽出したことに応じて(S22:1)、抽出した連携動作レコードを連携指示処理で用いると決定する(S23)。すなわち、端末プログラム65は、S21で一時記憶させた連携動作IDで識別される連携動作レコードを連携動作リストから読み出し、読み出した連携動作レコードをメモリ62に一時記憶させる。
次に図5に戻って、端末プログラム65は、メモリ62に一時記憶させた連携動作レコードの入力装置ID“MFP−A”で識別される複合機10Aに、Wi−Fi通信I/F56を通じて入力指示情報を送信する(S17)。入力指示情報は、入力装置IDで識別される入力動作を、入力条件情報で示される実行条件に従って、入力装置に実行させるための情報である。入力指示情報は、メモリ62に一時記憶させた連携動作レコードの入力動作ID“スキャン”及び入力条件情報“300dpi”、“TIFF”を含む。S17の処理は、入力指示処理の一例である。
一方図示は省略するが、複合機10Aの装置プログラム35は、Wi−Fi通信I/F26を通じて携帯端末50から入力指示情報を受信する。そして、装置プログラム35は、受信した入力指示情報に従って、複合機10Aに入力動作を実行させる。より詳細には、複合機10Aのスキャナ12は、スキャナ12にセットされた原稿に記録された画像を読み取って、300dpiでTIFF形式のスキャンデータを対象データとして生成する。そして、装置プログラム35は、入力指示情報の応答として対象データを、Wi−Fi通信I/F26を通じて携帯端末50に送信する。
次に、携帯端末50の端末プログラム65は、入力指示情報の応答である対象データを、Wi−Fi通信I/F56を通じて複合機10Aから受信する(S18:Yes)。そして、端末プログラム65は、受信した対象データをメモリ62に一時記憶させる。ステップS18の処理は、第1受信処理の一例である。
次に、端末プログラム65は、メモリ62に一時記憶させた連携動作レコードの出力装置ID“サーバC”で識別されるサーバ80に、Wi−Fi通信I/F56を通じて出力指示情報を送信する(S19)。出力指示情報は、出力装置IDで識別される出力動作を、出力条件情報で示される実行条件に従って、出力装置に実行させるための情報である。出力指示情報は、メモリ62に一時記憶させた連携動作レコードの入力動作ID“データ記憶”及び出力条件情報“//アップロード”を含む。S19の処理は、出力指示処理の一例である。一方図示は省略するが、サーバ80は、携帯端末50から出力指示情報を受信する。そして、サーバ80は、出力指示情報に含まれる対象データを、出力条件情報で示されるサーバメモリの“アップロード”フォルダに記憶させる。
他の例として、複合機10Bが指定装置である場合、S21で連携動作レコードが抽出されない。そして、端末プログラム65は、連携動作レコードが抽出できないことに応じて(S22:0)、図10(A)に示される問合せ画面をディスプレイ53に表示させる(S27)。問合せ画面は、S12で取得した指定装置IDを用いて、第2決定処理及び登録処理のどちらを実行するかを、ユーザに問い合わせるための画面である。問合せ画面は、「MFP−Bに適した連係動作を抽出するか、連携動作レコードを新規に登録するかを選択して下さい。」とのメッセージと、[抽出]アイコン121と、[登録]アイコン122とを含む。
次に、端末プログラム65は、問合せ画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S28)。S28の処理は、第3受付処理の一例である。そして、端末プログラム65は、[抽出]アイコン121の指定を入力I/F54を通じて受け付けたことに応じて(S28:抽出)、第2決定処理を実行する(S29)。一方、端末プログラム65は、[登録]アイコン122の指定を入力I/F54を通じて受け付けたことに応じて(S28:登録)、登録処理を実行する(S30)。図7を参照して、第2決定処理の詳細を説明する。
まず、端末プログラム65は、連携動作リストに登録されている複数の連携動作レコードのうち、入力装置ID及び出力動作IDが指定装置ID“MFP−B”と異なり、且つ指定動作IDと同一の入力動作ID及び指定動作IDと同一の出力動作IDの少なくともいずれかを含む連携動作レコードを抽出する(S31)。指定動作IDは、S14で受信した装置情報に含まれる動作ID“プリント”である。より詳細には、端末プログラム65は、指定動作IDを含む連携動作レコードの連携動作ID“003”を、メモリ62に一時記憶させる。S31の処理は、第2抽出処理の一例である。なお、複合機10Bのように指定動作IDが1つの場合、指定動作IDが入力動作ID及び出力動作IDの両方と一致することはない。一方、複合機10Aのように指定動作IDが複数の場合、複数の指定動作IDの1つが入力動作IDと一致し且つ他の1つが出力動作IDと一致することがあり得る。
なお、端末プログラム65は、S14で受信した装置情報に複数の動作IDが含まれる場合に、装置情報に含まれる入力動作の動作IDを指定動作IDとしてS31の処理を実行してもよい。そして、端末プログラム65は、指定動作IDと同一の入力装置IDを含む連携動作レコードを抽出できない場合にのみ、装置情報に含まれる出力動作の動作IDを指定動作IDとしてS31の処理を実行してもよい。すなわち、端末プログラム65は、指定動作IDと同一の入力動作IDを含む連携動作レコードを、指定動作IDと同一の出力装置IDを含む連携動作レコードより優先して抽出してもよい。但し、指定動作IDと同一の出力動作IDを含む連携動作レコードが、指定動作IDと同一の入力装置IDを含む連携動作レコードより優先して抽出されてもよい。前述のS21でも同様である。
次に、端末プログラム65は、S31で連携動作レコードを1つだけ抽出したことに応じて(S32:1)、抽出した連携動作レコードを連携指示処理で用いると決定する(S33)。すなわち、端末プログラム65は、S31で一時記憶させた連携動作ID“003”で識別される連携動作レコードを連携動作リストから読み出し、読み出した連携動作リストをメモリ62に一時記憶させる。一方具体例は省略するが、端末プログラム65は、S31で複数の連携動作レコードを抽出したことに応じて(S32:複数)、抽出した複数の連携動作レコードの1つを、入力I/F54を通じてユーザに指定させる(S34〜S36)。S34〜S36の処理は、S24〜S26の処理と同様であってもよい。
なお、端末プログラム65は、S34で表示させる動作選択画面において、指定動作IDと同一の入力動作IDを含む連携動作レコードに対応する動作アイコン(以下、「第1アイコン」と表記する。)を、指定動作IDと同一の出力動作IDを含む連携動作レコードに対応する動作アイコン(以下、「第2アイコン」と表記する。)より優先して表示させてもよい。「優先して表示させる」とは、例えば、第1アイコンのみを表示させることでもよいし、第1アイコンの表示順序を第2アイコンより先(例えば、上下方向の上)にすることでもよい。但し、第2アイコンを第1アイコンより優先して表示させてもよい。
次に、端末プログラム65は、指定装置である複合機10Bが、指定動作ID“プリント”で識別される出力動作を、メモリ62に一時記憶された連携動作レコードの出力条件情報“カラー”、“A3”に従って実行可能か否かを判断する(S37)。例えば、端末プログラム65は、メモリ62に一時記憶された出力条件情報で示される実行条件が、S14で受信した能力情報で示される実行条件の範囲に含まれるか否かを判断する。S37の処理は、判断処理の一例である。
より詳細には、端末プログラム65は、出力条件情報で示される複数の実行条件の少なくとも1つが、能力情報で示される実行条件の範囲を超える場合に、出力条件情報に従った出力動作を複合機10Bが実行不能と判断する(S37:No)。例えば、出力条件情報で示される実行条件“カラー”は能力情報で示される実行条件“モノクロ”、“カラー”の範囲に含まれ、出力条件情報で示される実行条件“A3”は能力情報で示される実行条件“A4”、“B5”の範囲を超える。そこで、端末プログラム65は、複合機10Bが出力条件情報に従ってプリント動作を実行不能と判断する(S37:No)。
端末プログラム65は、実行不能と判断した場合に、能力情報で示される実行条件の中で、メモリ62に一時記憶された出力条件情報で示される実行条件に最も近い実行条件を抽出する。例えば、能力情報で示される実行条件“A4”、“B5”のうち、出力条件情報で示される実行条件“A3”に最も近い “A4”を、新たな出力条件情報の候補として抽出する。但し、新たな出力条件情報の候補を抽出する方法は、前述の例に限定されない。
次に、端末プログラム65は、図10(B)に示される変更確認画面をディスプレイ53に表示させる(S38)。変更確認画面は、出力条件情報を変更するか否かをユーザに問い合わせるための画面である。変更確認画面は、「実行条件を変更して、連携動作を実行しますか?」とのメッセージと、メモリ62に一時記憶された出力条件情報で示される実行条件“A3”を示すメッセージと、新たな出力条件情報の候補で示される実行条件“A4”を示すメッセージと、[YES]アイコン131と、[NO]アイコン132とを含む。そして、端末プログラム65は、変更確認画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S39)。S39の処理は、第2受付処理の一例である。
次に、端末プログラム65は、[YES]アイコン131の指定を入力I/F54を通じて受け付けたことに応じて(S39:YES)、メモリ62に一時記憶された連携動作レコードの出力条件情報を“A3”から“A4”に変更する(S40)。すなわち、端末プログラム65は、メモリ62に一時記憶された出力条件情報を、能力情報で示される実行条件の範囲内の実行条件を示すように変更する。S40の処理は、変更処理の一例である。一方、端末プログラム65は、連携動作リストに登録されている連携動作レコードを変更しなくてもよい。すなわち、S40における出力条件情報の変更は、一時的なものであってよい。
そして、端末プログラム65は、S33、S36でメモリ62に一時記憶させ且つS40で出力条件情報を変更した連携動作レコードを用いて、S17〜S19の処理を実行する。一方、端末プログラム65は、出力条件情報で示される複数の実行条件の全てが能力情報の範囲に含まれる場合に、出力条件情報に従ったプリント動作を複合機10Bが実行可能と判断する(S37:Yes)。この場合の端末プログラム65は、S38〜S40の処理をスキップして、S33、S36でメモリ62に一時記憶させた連携動作レコードを用いて、S17〜S19の処理を実行する。なお、S31において、指定動作IDと同一の入力動作IDを含む連携動作レコードに決定された場合、端末プログラム65は、入力動作を対象にS32〜S42の処理を実行する。
一方、端末プログラム65は、[NO]アイコン132の指定を入力I/F54を通じて受け付けたことに応じて(S39:NO)、不図示のエラー画面をディスプレイ53に表示させる(S41)。この場合のエラー画面は、例えば、「連携動作を実行できません。」とのメッセージを含む。また、端末プログラム65は、S31で連携動作レコードが抽出できないことに応じて(S32:0)、不図示のエラー画面をディスプレイ53に表示させる(S41)。この場合のエラー画面は、例えば、「連携動作レコードが見つかりません。」とのメッセージを含む。そして、端末プログラム65は、S17以降の処理を実行することなく、連携指示処理を終了する。
次に、図8を参照して、登録処理の詳細を説明する。なお、登録処理は、S30で実行されることに限定されず、第1決定処理と異なる場面で入力I/F54を通じてユーザに指示されたことに応じて実行されてもよい。
S30で実行される登録処理において、端末プログラム65は、S14でメモリ62に一時記憶させた装置情報を用いる。なお、端末プログラム65は、S14で入力動作及び出力動作の両方を実行可能な指定装置の装置情報をメモリ62に一時記憶させた場合に、入力動作についての装置情報及び出力動作についての装置情報のうち、入力I/F54を通じてユーザによって指定された情報を用いてもよい。
端末プログラム65は、図11(A)に示される登録画面をディスプレイ53に表示させる(S51)。登録画面は、連携動作レコードに含める入力装置ID及び出力装置IDの指定を、ユーザに促すための画面である。登録画面は、「アイコンをタップするか、装置にかざして下さい。」とのメッセージと、入力装置アイコン141と、出力装置アイコン142と、[登録]アイコン143とを含む。入力装置アイコン141は、入力装置を指定する指示に対応する。出力装置アイコン142は、出力装置を指定する指示に対応する。[登録]アイコン143は、連携動作レコードを連携動作リストに登録する指示に対応する。そして、端末プログラム65は、登録画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S52)。
なお、図11(A)は、ステップS14で複合機10Bの装置情報をメモリ62に一時記憶させた場合の例である。すなわち、図11(A)の例において、入力装置アイコン141には、未だ入力装置IDが指定されていないことを示す“+入力”の文字列が記述されている。一方、出力装置アイコン142には、出力装置ID“MFP−B”が記述されている。他の例として、S30と異なる場面で登録処理が実行される場合において、最初に表示される登録画面の出力装置アイコン142には、未だ出力装置IDが指定されていないことを示す“+出力”の文字列が記述されてもよい。
次に、端末プログラム65は、入力装置アイコン141の指定を入力I/F54を通じて受け付けたことに応じて(S52:装置アイコン)、図11(B)に示される装置選択画面をディスプレイ53に表示させる(S53)。入力装置アイコン141が指定された場合の装置選択画面は、入力装置をユーザに指定させるための画面である。この場合の装置選択画面は、装置アイコン151、152、153を含む。装置アイコン151〜153は、入力装置となり得る複合機10A、サーバ80、サーバ90に対応する。また、装置アイコン121〜123には、対応する装置の装置IDが記述されている。装置アイコン121〜123には、対応する装置の名称が記述されていてもよい。
端末プログラム65は、例えば、無線LAN102に属する複合機10をSNMP等のプロトコルを用いて検索し、Wi−Fi通信I/F26を通じて発見した複合機10から装置情報を受信してもよい。また、端末プログラム65は、サーバ80、90のアカウントがメモリ62に記憶されている場合に、サーバ80、90の装置IDをメモリ62から読み出してもよい。また、入力装置となり得る装置の装置IDは、端末プログラム65に予め登録されていてもよい。
次に、端末プログラム65は、装置選択画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S54)。端末プログラム65は、例えば装置アイコン152の指定を入力I/F54を通じて受け付けたことに応じて(S54:Yes)、装置アイコン122に対応する装置ID“サーバC”で識別されるサーバ80を入力装置に決定する(S55)。すなわち、端末プログラム65は、指定された装置アイコン152に対応する装置ID“サーバC”を、入力装置IDとしてメモリ62に一時記憶させる(S55)。また図示は省略するが、端末プログラム65は、例えば入力I/F54を通じたユーザの指示に従って、入力装置に実行させる入力動作の入力動作ID及び入力条件情報を、メモリ62に一時記憶させる。
また図示は省略するが、端末プログラム65は、“+出力”と記述された出力装置アイコン142の指定を入力I/F54を通じて受け付けたことに応じて(S52:装置アイコン)、出力装置ID、出力動作ID、及び出力条件情報を指定するユーザ操作を、入力I/F54を通じて受け付けてもよい(S53〜S55)。すなわち、端末プログラム65は、S53〜S55の処理によって、入力装置及び出力装置を指定するユーザ操作を、入力I/F54を通じて受け付けることができる。
次に、端末プログラム65は、登録画面をディスプレイ53に表示させる(S51)。ここで表示される登録画面は、入力装置アイコン141に入力装置ID“サーバC”が記述される点において、図11(A)に示される登録画面と相違する。さらに、端末プログラム65は、[登録]アイコン143の指定を入力I/F54を通じて受け付けたことに応じて(S52:[登録]アイコン)、登録処理の開始時点、S55、或いは後述するS57で一時記憶させた各種情報を含む連携動作レコードを、連携動作リストに追加する(S56)。ステップS56の処理は、登録処理の一例である。
一方、端末プログラム65は、例えば、ユーザが複合機10Aに携帯端末50を近づけたことによって、Poll動作を実行中のNFC通信I/F55を通じて複合機10Aからレスポンス信号を受信する(S52:装置にかざす)。次に、端末プログラム56は、レスポンス信号の送信元である複合機10Aとの間にNFCリンクを確立する。そして、端末プログラム65は、近接無線接続された複合機10AからNFC通信I/F55を通じて接続情報を受信する。さらに、端末プログラム65は、Wi−Fiダイレクト接続されたWi−Fi通信I/F56を通じて複合機10Aから装置情報を受信する。これらの処理は、S12〜S14と同様であってもよい。
そして、端末プログラム65は、受信した装置情報に含まれる装置IDを入力装置ID或いは出力装置IDとして、メモリ62に一時記憶させる(S57)。例えば、複合機10Aの装置ID“MFP−A”が入力装置IDとして一時記憶される。また図示は省略するが、端末プログラム65は、例えば、動作ID“スキャン”を入力動作IDとして、受信した能力情報から選択された条件情報“300dpi”、“TIFF”を入力条件情報として、メモリ62に一時記憶させる。
一例として、端末プログラム65は、近接無線接続された装置が入力動作のみを実行可能な場合に当該装置IDを入力装置IDとし、近接無線接続された装置が出力動作のみを実行可能な場合に当該装置IDを出力装置IDとしてもよい。他の例として、近接無線接続された装置が入力動作及び出力動作の両方を実行可能な場合、端末プログラム65は、入力装置が未だ指定されていなければ当該装置IDを入力装置IDとし、入力装置が既に指定されていれば当該装置IDを出力装置IDとしてもよい。または、端末プログラム65は、メモリ62に一時記憶させる情報を、受信した装置情報の範囲内において、入力I/F54を通じてユーザに指定させてもよい。
次に、端末プログラム65は、入力装置及び出力装置の両方が指定されたか否かを判断する(S58)。換言すれば、端末プログラム65は、入力装置ID及び出力装置IDの両方がメモリ62に一時記憶されているか否かを判断する。そして、端末プログラム65は、入力装置ID及び出力装置IDの両方が一時記憶されていると判断したことに応じて(S58:Yes)、S56の処理を実行する。一方、端末プログラム65は、入力装置ID及び出力装置IDの一方が一時記憶されていないと判断したことに応じて、S51の処理を実行する。
また、端末プログラム65は、S30の登録処理でS56を実行したことに応じて、S17〜S19の処理を実行することなく、連携指示処理を終了してもよい。他の例として、端末プログラム65は、S30の登録処理でS56を実行したことに応じて、新たに登録した連携動作レコードを用いて、S17〜S19の処理を実行してもよい。
さらに、端末プログラム65は、図9(A)に示される動作アイコン111〜113の1つの指定を入力I/F54を通じて受け付けたことに応じて(S12:動作アイコン)、指定された動作アイコンに対応する連携動作レコードを、S17〜S19の処理に用いると決定する(S16)。すなわち、端末プログラム65は、指定された動作アイコンに対応する連携動作レコードを連携動作リストから読み出し、読み出した連携動作レコードをメモリ62に一時記憶させる。そして、端末プログラム65は、メモリ62に一時記憶させた連携動作レコードを用いて、S17〜S19の処理を実行する。
[本実施形態の作用効果]
例えば、S21で複数の連携動作レコードを抽出した場合、端末プログラム65は、抽出した複数の連携動作レコードのうちの1つを動作選択画面を通じてユーザに選択させる(S24〜S26)。ここで、S24で表示される動作アイコンの数は、S11で表示される動作アイコンより少ない。すなわち、携帯端末50と複合機10とを近接無線接続させることによって、ディスプレイ53に表示される動作アイコンの数が絞り込まれるので、簡単に所望の連携動作を実行することができる。S34でも同様である。
例えば、S21で連携動作レコードが抽出できない場合に、S31で連携動作レコードが抽出される。その結果、装置IDが連携動作レコードに登録されていない複合機10に携帯端末50を近接無線接続させることによって、他の複合機10の装置IDが登録された連携動作レコードで示される連携動作を、当該複合機10に簡単に実行させることができる。
また、S32でディスプレイ53に表示される動作アイコンの数も絞り込まれるので、他の複合機10の装置IDが登録された連携動作情報で示される連携動作を、簡単に実行することができる。さらに、連携動作情報に登録されていない複合機10と携帯端末50とを近接無線接続させた場合に、当該複合機10を入力装置とする連携動作を、簡単に実行することができる。但し、複合機10を入力装置とすることに限定されず、出力装置としてもよい。
例えば、S31で抽出した連携動作レコードの入力条件情報或いは出力条件情報が、指定装置の能力情報で示される実行条件の範囲内の実行条件を示すように変更される。その結果、他の複合機10の装置IDが登録された連携動作レコードで示される連携動作を、指定装置が実行可能な実行条件で一時的に指定装置に実行させることができる。これにより、装置IDが連携動作レコードに登録されていない複合機10にも、簡単な操作で連携動作を実行させることができる。
例えば、Wi−Fi通信I/F56による直接無線通信及び間接無線通信の使い分けによって、連携動作情報の抽出と、抽出した連携動作情報に従った連携動作の指示とを実行することができる。但し、S13、S14、S17、S19における複合機10と携帯端末50との通信方法は、前述の例に限定されない。すなわち、S13、S14、S17、S19において、NFC通信I/F55を通じた近接無線通信、Wi−Fi通信I/F56を通じた直接無線通信、Wi−Fi通信I/F56を通じた間接無線通信を、任意の組み合わせで採用することができる。
例えば、S21で連携動作レコードが抽出できない場合に、指定装置を用いて連携動作を実行するか、当該指定装置を含む連携動作レコードを新たに登録するかを、ユーザに選択させることができる。これにより、携帯端末50を複合機10にかざすことによって、連携動作の実行及び連携動作レコードの新規登録のうち、ユーザが所望する処理を実現できる。
また、上記の実施形態の複合機10及び携帯端末50において、メモリ32、62に記憶された各種プログラムがCPU31、61によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
さらに、本発明は、複合機10及び携帯端末50として実現できるだけでなく、複合機10及び携帯端末50に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワークを通じて複合機10及び携帯端末50に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット101等の通信ネットワークを通じて配信されてもよい。