(57)【特許請求の範囲】
【請求項１】
複数のデバイスと通信することが可能な通信インターフェースを備えた情報処理装置のコンピュータが読み取り可能なプログラムであって、
前記コンピュータに、
前記複数のデバイスのうちから選択された入力デバイスが実行可能な処理のうちから、データを入力する処理である入力処理の選択を受け付ける第１選択受付処理と、
前記複数のデバイスのうちから選択された出力デバイスが実行可能な処理のうちから、データを出力する処理である出力処理の選択を受け付ける第２選択受付処理と、
第１条件から第３条件のうちの少なくとも１つが成立しているか否かを判断する第１判断処理であって、
前記第１条件は、前記入力処理と前記出力処理の組み合わせが所定の組み合わせである条件であり、
前記第２条件は、前記出力処理の実行条件が所定の条件である条件であり、
前記第３条件は、前記出力デバイスの状態が所定の状態である条件である、前記第１判断処理と、
前記第１条件から前記第３条件のうちの少なくとも１つが成立していると判断される場合に、前記入力処理を実行することによって得られた入力データを前記入力デバイスから前記通信インターフェースを介して受信するとともに、受信した入力データを前記通信インターフェースを介して前記出力デバイスへ送信する第１通信処理と、
前記第１条件から前記第３条件のうちの全てが成立していないと判断される場合に、前記入力データを前記出力デバイスへ送信することを前記入力デバイスに指示するための指示情報を、前記通信インターフェースを介して前記入力デバイスへ送信する第２通信処理と、
を実行させることを特徴とするプログラム。
【請求項２】
複数のデバイスと通信することが可能な通信インターフェースを備えた情報処理装置のコンピュータが読み取り可能なプログラムであって、
前記コンピュータに、
前記複数のデバイスのうちから選択された入力デバイスが実行可能な処理のうちから、データを入力する処理である入力処理の選択を受け付ける第１選択受付処理と、
前記複数のデバイスのうちから選択された出力デバイスが実行可能な処理のうちから、データを出力する処理である出力処理の選択を受け付ける第２選択受付処理と、
前記出力処理が印刷処理である場合に、前記印刷処理の印刷品質を示す第１印刷設定情報の入力を受け付ける第１入力受付処理と、
第１条件から第３条件のうちの少なくとも１つが成立しているか否かを判断する第１判断処理であって、
前記第１条件は、前記入力処理と前記出力処理の組み合わせが所定の組み合わせである条件であり、
前記第２条件は、前記出力処理の実行条件が所定の条件である条件であり、
前記第３条件は、前記出力デバイスの状態が所定の状態である条件である、前記第１判断処理であって、
入力された前記第１印刷設定情報が示す前記印刷品質が、予め定められた所定品質以上である場合に、前記第２条件が成立していると判断する前記第１判断処理と、
前記第１条件から前記第３条件のうちの少なくとも１つが成立していると判断される場合に、前記入力処理を実行することによって得られた入力データを前記入力デバイスから前記通信インターフェースを介して受信するとともに、受信した入力データを前記通信インターフェースを介して前記出力デバイスへ送信する第１通信処理と、
前記第１条件から前記第３条件のうちの全てが成立していないと判断される場合に、前記入力データを前記出力デバイスへ送信することを前記入力デバイスに指示するための指示情報を、前記通信インターフェースを介して前記入力デバイスへ送信する第２通信処理と、
を実行させることを特徴とするプログラム。
【請求項３】
複数のデバイスと通信することが可能な通信インターフェースを備えた情報処理装置のコンピュータが読み取り可能なプログラムであって、
前記コンピュータに、
前記複数のデバイスのうちから選択された入力デバイスが実行可能な処理のうちから、データを入力する処理である入力処理の選択を受け付ける第１選択受付処理と、
前記複数のデバイスのうちから選択された出力デバイスが実行可能な処理のうちから、データを出力する処理である出力処理の選択を受け付ける第２選択受付処理と、
前記出力処理が印刷処理である場合に、前記印刷処理の処理枚数を示す処理枚数情報の入力を受け付ける処理枚数受付処理と、
第１条件から第３条件のうちの少なくとも１つが成立しているか否かを判断する第１判断処理であって、
前記第１条件は、前記入力処理と前記出力処理の組み合わせが所定の組み合わせである条件であり、
前記第２条件は、前記出力処理の実行条件が所定の条件である条件であり、
前記第３条件は、前記出力デバイスの状態が所定の状態である条件である、前記第１判断処理であって、
入力された前記処理枚数情報が示す前記処理枚数が、予め定められた枚数以上である場合に、前記第２条件が成立していると判断する前記第１判断処理と、
前記第１条件から前記第３条件のうちの少なくとも１つが成立していると判断される場合に、前記入力処理を実行することによって得られた入力データを前記入力デバイスから前記通信インターフェースを介して受信するとともに、受信した入力データを前記通信インターフェースを介して前記出力デバイスへ送信する第１通信処理と、
前記第１条件から前記第３条件のうちの全てが成立していないと判断される場合に、前記入力データを前記出力デバイスへ送信することを前記入力デバイスに指示するための指示情報を、前記通信インターフェースを介して前記入力デバイスへ送信する第２通信処理と、
を実行させることを特徴とするプログラム。
【請求項４】
複数のデバイスと通信することが可能な通信インターフェースを備えた情報処理装置のコンピュータが読み取り可能なプログラムであって、
前記コンピュータに、
前記複数のデバイスのうちから選択された入力デバイスが実行可能な処理のうちから、データを入力する処理である入力処理の選択を受け付ける第１選択受付処理と、
前記複数のデバイスのうちから選択された出力デバイスが実行可能な処理のうちから、データを出力する処理である出力処理の選択を受け付ける第２選択受付処理と、
第１条件から第３条件のうちの少なくとも１つが成立しているか否かを判断する第１判断処理であって、
前記第１条件は、前記入力処理と前記出力処理の組み合わせが所定の組み合わせである条件であり、
前記第２条件は、前記出力処理の実行条件が所定の条件である条件であり、
前記第３条件は、前記出力デバイスの状態が所定の状態である条件である、前記第１判断処理であって、
前記出力処理がファクシミリ送信処理である場合に、前記第２条件が成立していると判断する前記第１判断処理と、
前記第１条件から前記第３条件のうちの少なくとも１つが成立していると判断される場合に、前記入力処理を実行することによって得られた入力データを前記入力デバイスから前記通信インターフェースを介して受信するとともに、受信した入力データを前記通信インターフェースを介して前記出力デバイスへ送信する第１通信処理と、
前記第１条件から前記第３条件のうちの全てが成立していないと判断される場合に、前記入力データを前記出力デバイスへ送信することを前記入力デバイスに指示するための指示情報を、前記通信インターフェースを介して前記入力デバイスへ送信する第２通信処理と、
を実行させることを特徴とするプログラム。
【請求項５】
前記出力デバイスの状態が前記所定の状態であるか否かを示すデバイス情報を、前記通信インターフェースを介して前記出力デバイスから受信する第１受信処理を、前記コンピュータにさらに実行させ、
前記第１判断処理は、受信した前記デバイス情報に基づいて、前記第１条件から第３条件のうちの少なくとも１つが成立しているか否かを判断する
ことを特徴とする請求項１〜４の何れか１項に記載のプログラム。
【請求項６】
前記第１受信処理は、前記出力処理が印刷処理である場合に、前記出力デバイスが備える印刷部で用いる消耗部材の残量を示す前記デバイス情報を前記出力デバイスから受信し、
前記第１判断処理は、受信した前記デバイス情報が示す前記消耗部材の残量が、予め定められた所定量以下である場合に、前記第３条件が成立していると判断する
ことを特徴とする請求項５に記載のプログラム。
【請求項７】
前記第１受信処理は、前記通信インターフェースが前記出力デバイスと無線通信を実行している場合に、前記無線通信の電波強度を示す前記デバイス情報を受信し、
前記第１判断処理は、受信した前記デバイス情報が示す前記電波強度が、予め定められた所定強度以下である場合に、前記第３条件が成立していると判断する
ことを特徴とする請求項５又は６に記載のプログラム。
【請求項８】
前記入力データのフォーマットを示す第１フォーマット情報を、前記通信インターフェースを介して前記入力デバイスから受信する第２受信処理と、
前記出力処理によって処理可能な少なくとも１つのフォーマットを示す第２フォーマット情報を、前記通信インターフェースを介して前記出力デバイスから受信する第３受信処理と、
前記第１フォーマット情報によって示されるフォーマットが、前記第２フォーマット情報によって示される少なくとも１つのフォーマットに含まれるか否かを判断する第２判断処理と、
を前記コンピュータにさらに実行させ、
前記第１判断処理は、前記第１フォーマット情報によって示されるフォーマットが前記第２フォーマット情報によって示される少なくとも１つのフォーマットに含まれないことが前記第２判断処理によって判断された場合に、前記第１条件が成立していると判断し、
前記第１条件が成立していると判断された場合に、前記第１通信処理が受信した前記入力データのフォーマットを、前記第２フォーマット情報によって示される少なくとも１つのフォーマットの何れかに変更する変更処理を、前記コンピュータにさらに実行させ、
前記第１通信処理は、前記変更処理によってフォーマットが変更された前記入力データを前記出力デバイスへ送信する
ことを特徴とする請求項１〜７の何れか１項に記載のプログラム。
【請求項９】
前記入力データが画像データである場合に、前記入力データの画像設定を示す画像設定情報の入力を受け付ける第２入力受付処理と、
前記出力処理が印刷処理である場合に、前記出力処理の印刷設定を示す第３印刷設定情報の入力を受け付ける第３入力受付処理と、
を前記コンピュータにさらに実行させ、
前記第１判断処理は、前記画像設定情報が示す前記画像設定と前記第３印刷設定情報が示す前記印刷設定との少なくとも一部が異なる場合に、前記第１条件が成立していると判断する
ことを特徴とする請求項１〜８の何れか１項に記載のプログラム。
【請求項１０】
前記第１通信処理が受信した前記入力データによって示される画像を、前記情報処理装置の表示部に表示させる表示処理を、
前記コンピュータにさらに実行させることを特徴とする請求項１〜９の何れか１項に記載のプログラム。
【請求項１１】
前記第１通信処理が受信した前記入力データを、前記情報処理装置の記憶部に記憶させる記憶制御処理と、
前記第１通信処理が前記入力データを前記出力デバイスへ送信した後に、前記入力データを用いた前記出力処理を正常に実行することができないことを示す第１報知情報を前記出力デバイスから前記通信インターフェースを介して受信したか、又は、前記入力データを用いた前記出力処理が正常に完了したことを示す第２報知情報を前記出力デバイスから前記通信インターフェースを介して所定時間内に受信したかを判断する第３判断処理と、
前記第１報知情報を受信したこと、又は、前記第２報知情報を前記所定時間内に受信しなかったことが前記第３判断処理によって判断された場合に、前記記憶部に記憶されている前記入力データを前記通信インターフェースを介して前記出力デバイスへ送信する第３通信処理と、
を前記コンピュータにさらに実行させることを特徴とする請求項１〜１０の何れか１項に記載のプログラム。
【請求項１２】
情報処理装置であって、
複数のデバイスと通信することが可能な通信インターフェースと、
制御部と、を備え、
前記制御部は、
前記複数のデバイスのうちから選択された入力デバイスが実行可能な処理のうちから、データを入力する処理である入力処理の選択を受け付ける第１選択受付処理と、
前記複数のデバイスのうちから選択された出力デバイスが実行可能な処理のうちから、データを出力する処理である出力処理の選択を受け付ける第２選択受付処理と、
第１条件から第３条件のうちの少なくとも１つが成立しているか否かを判断する第１判断処理であって、
前記第１条件は、前記入力処理と前記出力処理の組み合わせが所定の組み合わせである条件であり、
前記第２条件は、前記出力処理の実行条件が所定の条件である条件であり、
前記第３条件は、前記出力デバイスの状態が所定の状態である条件である、前記第１判断処理と、
前記第１条件から前記第３条件のうちの少なくとも１つが成立していると判断される場合に、前記入力処理を実行することによって得られた入力データを前記入力デバイスから前記通信インターフェースを介して受信するとともに、受信した入力データを前記通信インターフェースを介して前記出力デバイスへ送信する第１通信処理と、
前記第１条件から前記第３条件のうちの全てが成立していないと判断される場合に、前記入力データを前記出力デバイスへ送信することを前記入力デバイスに指示するための指示情報を、前記通信インターフェースを介して前記入力デバイスへ送信する第２通信処理と、
を実行する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示されている技術は、複数のデバイスと通信することが可能な情報処理装置のプログラムに関する。
【背景技術】
【０００２】
実行する動作が予め定義されたワークフローを画像形成装置により実行する技術が特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９５０３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、ネットワーク内に接続される複数のデバイス（例：スキャナ、プリンタ）を組み合わせてワークフローを実行することも考えられる。各デバイスは、１のデータに対して、ワークフローに従った処理を順次実行する。データ処理が適切に実行されるためには、通信経路が適切に決定される必要がある。通信経路が不適切である場合、例えば、データ処理が失敗する、処理時間が長くなる等の問題が生じるおそれがある。本明細書では、適切な通信経路に従ってデータ処理を実行するための新規技術を開示する。
【課題を解決するための手段】
【０００５】
本明細書に記載のプログラムは、複数のデバイスと通信することが可能な通信インターフェースを備えた情報処理装置のコンピュータが読み取り可能なプログラムであって、前記コンピュータに、前記複数のデバイスのうちから選択された入力デバイスが実行可能な処理のうちから、データを入力する処理である入力処理の選択を受け付ける第１選択受付処理と、前記複数のデバイスのうちから選択された出力デバイスが実行可能な処理のうちから、データを出力する処理である出力処理の選択を受け付ける第２選択受付処理と、第１条件から第３条件のうちの少なくとも１つが成立しているか否かを判断する第１判断処理であって、前記第１条件は、前記入力処理と前記出力処理の組み合わせが所定の組み合わせである条件であり、前記第２条件は、前記出力処理の実行条件が所定の条件である条件であり、前記第３条件は、前記出力デバイスの状態が所定の状態である条件である、前記第１判断処理と、前記第１条件から前記第３条件のうちの少なくとも１つが成立していると判断される場合に、前記入力処理を実行することによって得られた入力データを前記入力デバイスから前記通信インターフェースを介して受信するとともに、受信した入力データを前記通信インターフェースを介して前記出力デバイスへ送信する第１通信処理と、前記第１条件から前記第３条件のうちの全てが成立していないと判断される場合に、前記入力データを前記出力デバイスへ送信することを前記入力デバイスに指示するための指示情報を、前記通信インターフェースを介して前記入力デバイスへ送信する第２通信処理と、を実行させることを特徴とするプログラムである。
【０００６】
本明細書に記載されているプログラムによれば、第１条件から第３条件のうちの少なくとも１つが成立している場合に、入力データは、入力デバイスから情報処理装置を介して出力デバイスへ送信される。一方、第１条件から第３条件のうちの全てが成立していない場合に、入力データは、入力デバイスから情報処理装置を介さずに出力デバイスへ送信される。即ち、プログラムは、第１条件から第３条件のうちの少なくとも１つが成立するか否かに応じて、適切な通信経路に従ってデータ処理を実行することができる。
【０００７】
前記出力デバイスの状態が前記所定の状態であるか否かを示すデバイス情報を、前記通信インターフェースを介して前記出力デバイスから受信する第１受信処理を、前記コンピュータにさらに実行させてもよい。前記第１判断処理は、受信した前記デバイス情報に基づいて、前記第１条件から第３条件のうちの少なくとも１つが成立しているか否かを判断してもよい。
【０００８】
前記第１受信処理は、前記出力処理が印刷処理である場合に、前記出力デバイスが備える印刷部で用いる消耗部材の残量を示す前記デバイス情報を前記出力デバイスから受信してもよい。前記第１判断処理は、受信した前記デバイス情報が示す前記消耗部材の残量が、予め定められた所定量以下である場合に、前記第３条件が成立していると判断してもよい。
【０００９】
前記第１受信処理は、前記通信インターフェースが前記出力デバイスと無線通信を実行している場合に、前記無線通信の電波強度を示す前記デバイス情報を受信してもよい。前記第１判断処理は、受信した前記デバイス情報が示す前記電波強度が、予め定められた所定強度以下である場合に、前記第３条件が成立していると判断してもよい。
【００１０】
前記入力データのフォーマットを示す第１フォーマット情報を、前記通信インターフェースを介して前記入力デバイスから受信する第２受信処理と、前記出力処理によって処理可能な少なくとも１つのフォーマットを示す第２フォーマット情報を、前記通信インターフェースを介して前記出力デバイスから受信する第３受信処理と、前記第１フォーマット情報によって示されるフォーマットが、前記第２フォーマット情報によって示される少なくとも１つのフォーマットに含まれるか否かを判断する第２判断処理と、を前記コンピュータにさらに実行させてもよい。前記第１判断処理は、前記第１フォーマット情報によって示されるフォーマットが前記第２フォーマット情報によって示される少なくとも１つのフォーマットに含まれないことが前記第２判断処理によって判断された場合に、前記第１条件が成立していると判断し、前記第２条件が成立していると判断された場合に、前記第１通信処理が受信した前記入力データのフォーマットを、前記第２フォーマット情報によって示される少なくとも１つのフォーマットの何れかに変更する変更処理を、前記コンピュータにさらに実行させてもよい。前記第１通信処理は、前記変更処理によってフォーマットが変更された前記入力データを前記出力デバイスへ送信してもよい。
【００１１】
前記出力処理が印刷処理である場合に、前記印刷処理の印刷品質を示す第１印刷設定情報の入力を受け付ける第１入力受付処理を、前記コンピュータにさらに実行させてもよい。前記第１判断処理は、入力された前記第１印刷設定情報が示す前記印刷品質が、予め定められた所定品質以上である場合に、前記第２条件が成立していると判断してもよい。
【００１２】
前記出力処理が印刷処理である場合に、前記印刷処理の処理枚数を示す処理枚数情報の入力を受け付ける処理枚数受付処理を、前記コンピュータにさらに実行させてもよい。前記第１判断処理は、入力された前記処理枚数情報が示す前記処理枚数が、予め定められた枚数以上である場合に、前記第２条件が成立していると判断してもよい。
【００１３】
前記第１判断処理は、前記出力処理がファクシミリ送信処理である場合に、前記第２条件が成立していると判断してもよい。
【００１４】
前記入力データが画像データである場合に、前記入力データの画像設定を示す画像設定情報の入力を受け付ける第２入力受付処理と、前記出力処理が印刷処理である場合に、前記出力処理の印刷設定を示す第３印刷設定情報の入力を受け付ける第３入力受付処理と、を前記コンピュータにさらに実行させてもよい。前記第１判断処理は、前記画像設定情報が示す前記画像設定と前記第３印刷設定情報が示す前記印刷設定との少なくとも一部が異なる場合に、前記第１条件が成立していると判断してもよい。
【００１５】
前記第１通信処理が受信した前記入力データによって示される画像を、前記情報処理装置の表示部に表示させる表示処理を、
前記コンピュータにさらに実行させてもよい。
【００１６】
前記第１通信処理が受信した前記入力データを、前記情報処理装置の記憶部に記憶させる記憶制御処理と、前記第１通信処理が前記入力データを前記出力デバイスへ送信した後に、前記入力データを用いた前記出力処理を正常に実行することができないことを示す第１報知情報を前記出力デバイスから前記通信インターフェースを介して受信したか、又は、前記入力データを用いた前記出力処理が正常に完了したことを示す第２報知情報を前記出力デバイスから前記通信インターフェースを介して所定時間内に受信したかを判断する第３判断処理と、前記第１報知情報を受信したこと、又は、前記第２報知情報を前記所定時間内に受信しなかったことが前記第３判断処理によって判断された場合に、前記記憶部に記憶されている前記入力データを前記通信インターフェースを介して前記出力デバイスへ送信する第３通信処理と、を前記コンピュータにさらに実行させてもよい。
【００１７】
上記の処理を実行する情報処理装置、及び、情報処理装置の制御方法も、新規で有用である。
【図面の簡単な説明】
【００１８】
【図１】ネットワークの構成を示すブロック図
【図２】各デバイスによって実行される処理を示すシーケンス図
【図３】図２の続きのシーケンス図
【図４】図２の続きのシーケンス図
【図５】ワークフロー作成処理を示すフローチャート
【図６】通信経路の判断処理を示すフローチャート
【発明を実施するための形態】
【００１９】
＜ネットワーク１０の構成＞
図１は、ネットワーク１０の構成を示すブロック図である。ネットワーク１０は、情報処理装置１００、インクジェットＭＦＰ２００及び２５０、スキャナ３００、カラーレーザープリンタ４００、アクセスポイント５００、基地局５０１、インターネット６００、サーバ６０２を備える。ここで、ＭＦＰとは、印刷機能、スキャン機能、及びＦＡＸ機能を備える多機能周辺装置（Multifunction Peripheralの略）を示す。
【００２０】
情報処理装置１００は、第１無線通信Ｉ／Ｆ１０５及びアクセスポイント５００を介して、ネットワークＮ１と無線通信１５０を行うことができる。ネットワークＮ１には、インクジェットＭＦＰ２００及び２５０、スキャナ３００、カラーレーザープリンタ４００が接続されている。またインクジェットＭＦＰ２００及び２５０は、基地局５０１を介して、インターネット６００上のサーバ６０２と通信することができる。サーバ６０２は、画像データを記憶するストレージサーバであるとともに、画像データをアップロードするアップロードサーバである。
【００２１】
＜情報処理装置１００の構成＞
情報処理装置１００は、例えば携帯電話や携帯端末装置などの携帯型の装置であってもよい。情報処理装置１００は、表示手段１０２、タッチパネル１０３、入力Ｉ／Ｆ１０４、第１無線通信Ｉ／Ｆ１０５、ＣＰＵ１０６、ＲＯＭ１０７、ＲＡＭ１０８、記憶部１０９、などを備えており、これらは入出力ポート１１０を介して互いに接続されている。
【００２２】
表示手段１０２は、ＣＰＵ１０６から出力される画信号を受信し、受信した画信号に基づく画像を表示する。表示手段１０２としては、例えばＬＣＤや、有機ＥＬパネルなどを用いることができる。タッチパネル１０３は透明な部材により形成され、表示手段１０２の表面を覆うようにして配設されている。タッチパネル１０３は、ユーザの指などによりタッチされた位置を検出し、検出した位置情報をＣＰＵ１０６へ出力する。入力Ｉ／Ｆ１０４は、例えば電源ボタン等の操作ボタンを含む。入力Ｉ／Ｆ１０４が押下されると、情報処理装置１００は起動する。
【００２３】
ＣＰＵ１０６は、記憶部１０９に記憶されるプログラムを実行する。ＲＡＭ１０８はＣＰＵ１０６の処理に必要な情報を一時的に記憶する。記憶部１０９は、フラッシュメモリ、ＨＤＤ（ハードディスク）、ＣＰＵ１０６が備えるバッファなどが組み合わされて構成されている。記憶部１０９は、プログラム１２０を記憶している。プログラム１２０は、機能連携アプリケーション１２１、オペレーティングシステム１２４を含む。ＣＰＵ１０６は、プログラム１２０に従って処理を実行する。以下では、「機能連携アプリケーション１２１」のことを、単に「アプリ１２１」と記載する。
【００２４】
アプリ１２１は、入力機能及び出力機能を組み合わせて互いに連携させ、データ処理を実行するためのアプリケーションである。入力機能及び出力機能は、情報処理装置１００と通信可能に接続された複数のデバイスによって提供される機能である。複数のデバイスの一例としては、インクジェットＭＦＰ２００及び２５０、スキャナ３００、カラーレーザープリンタ４００が挙げられる。
【００２５】
入力機能は、入力画像データを取得するための機能である。入力機能の一例としては、スキャン機能及びデータダウンロード機能が挙げられる。スキャン機能は、原稿をスキャンして入力画像データを生成する機能である。スキャン機能は、例えば、インクジェットＭＦＰ２００及び２５０や、スキャナ３００が備えている。データダウンロード機能は、サーバ６０２に記憶されている画像データをインターネット６００を介してダウンロードする機能である。データダウンロード機能は、例えば、インクジェットＭＦＰ２００及び２５０が備えている。
【００２６】
出力機能は、入力デバイス又は情報処理装置１００から受信された入力画像データを用いて、出力処理を実行する機能である。出力機能の一例としては、印刷機能、ＦＡＸ機能、メール機能、及びデータアップロード機能が挙げられる。印刷機能は、入力画像データを用いて印刷処理を実行する機能である。印刷機能は、例えば、インクジェットＭＦＰ２００及び２５０、カラーレーザープリンタ４００が備えている。ＦＡＸ機能は、入力画像データを用いて、一般公衆回線（図示省略）を介してＦＡＸ送信を実行する機能である。ＦＡＸ機能は、例えば、インクジェットＭＦＰ２００及び２５０が備えている。メール機能は、インターネット６００を介して、入力画像データが添付されたメールを送信する機能である。データアップロード機能は、インターネット６００を介して、入力画像データをサーバ６０２にアップロードする機能である。ＦＡＸ機能、メール機能、及びデータアップロード機能は、例えば、インクジェットＭＦＰ２００及び２５０が備えている。
【００２７】
ここで以降、アプリ１２１やオペレーティングシステム１２４など、プログラムを実行するＣＰＵ１０６のことを、単にプログラム名で記載する場合がある。例えば「アプリ１２１」という記載は、「アプリ１２１を実行するＣＰＵ１０６」を意味する場合がある。
【００２８】
＜アプリ１２１の動作＞
以下、図２〜図６のフローを用いて、アプリ１２１に従いＣＰＵ１０６が各部を制御することによって実現される処理について説明する。アプリ１２１が起動されると、図２のシーケンスが開始される。
【００２９】
アプリ１２１は、第１無線通信Ｉ／Ｆ１０５を介して、アクセスポイント５００との無線通信１５０を確立することによって、Ｓ２００において、入力デバイスとの無線通信を確立し、Ｓ２１０において、出力デバイスとの無線接続を確立する。なお、図示省略しているが、アプリ１２１は、その他のデバイスとの無線接続も確立している。入力デバイスは、入力機能を実行するデバイスであり、デバイス２００〜３００の何れかである。出力デバイスは、出力機能を実行するためのデバイスであり、デバイス２００、２５０、４００の何れかである。
【００３０】
Ｓ２１１では、アプリ１２１は、第１無線通信Ｉ／Ｆ１０５を介して、デバイス検索信号をブロードキャスト送信し、第１無線通信Ｉ／Ｆ１０５を介して、無線ネットワーク上の各デバイスから、当該デバイスを示す情報を受信する。
【００３１】
Ｓ２１２では、アプリ１２１は、無線ネットワーク上の複数のデバイスのうちから、入力デバイス及び出力デバイスのそれぞれの選択を受け付ける。選択の受け付けは、例えば、各デバイスを表すボタン画像を表示手段１０２に一覧表示させ、何れかのボタン画像がタッチされたか否かによって受け付けられるとしてもよい。なお、入力デバイスと出力デバイスとは同一であってもよい。
【００３２】
アプリ１２１は、Ｓ２１４において、第１無線通信Ｉ／Ｆ１０５を介して、入力デバイスに第１問い合わせ信号を送信し、Ｓ２１５において、入力機能によって処理可能な少なくとも１つのフォーマットを示す第１フォーマット情報を、第１無線通信Ｉ／Ｆ１０５を介して入力デバイスから受信する。
【００３３】
アプリ１２１は、Ｓ２１６において、第１無線通信Ｉ／Ｆ１０５を介して、出力デバイスに第２問い合わせ信号を送信し、Ｓ２１７において、出力機能によって処理可能な少なくとも１つのフォーマットを示す第２フォーマット情報を、第１無線通信Ｉ／Ｆ１０５を介して出力デバイスから受信する。なお、Ｓ２１４〜２１７における第１フォーマット情報及び第２フォーマット情報の取得するタイミングは、上述したタイミングに限られず、Ｓ１２０の判断よりも前のタイミングであれば、いつでもよい。
【００３４】
Ｓ２１８では、アプリ１２１は、入力デバイスを示す情報、出力デバイスを示す情報、第１フォーマット情報、及び第２フォーマット情報を記憶部１０９に記憶させる。
【００３５】
Ｓ２２０では、アプリ１２１は、ワークフロー実行指示の入力を受け付けることを監視する。アプリ１２１は、Ｓ２２０で肯定判断した場合（Ｓ２２０でＹＥＳ）に、Ｓ２３０に進む。Ｓ２３０では、アプリ１２１は、図５のワークフロー作成処理を実行する。
【００３６】
＜ワークフロー作成処理＞
図５のＳ８では、アプリ１２１は、入力デバイスが実行可能な処理のうちから、画像データを入力する処理である入力機能（即ちスキャン又はデータダウンロード）の選択を受け付ける。
【００３７】
Ｓ１０では、アプリ１２１は、入力画像データの入力設定を示す入力設定情報の入力を受け付ける。例えば、入力機能がスキャン機能である場合、入力設定は、解像度、カラー設定、入力画像データのフォーマット、読取用紙サイズ等を含む。読取用紙サイズは、スキャンによって読み取られる範囲の広さを示す。また、入力画像データのフォーマットとは、例えば、受信済みの第１フォーマット情報に基づいて、ユーザが選択したフォーマットであってもよい。入力画像データのフォーマットとしては、例えば、ＪＰＥＧ形式、ＴＩＦＦ形式、ＰＤＦ形式が考えられる。例えば、入力機能がデータダウンロード機能である場合、入力設定は、ダウンロードするデータを記憶するサーバのアドレス等を含む。
【００３８】
Ｓ２５では、アプリ１２１は、出力デバイスが実行可能な処理のうちから、画像データを出力する処理である出力機能（即ち印刷、ＦＡＸ、メール、又はデータＵＬ）の選択を受け付ける。
【００３９】
Ｓ３０では、アプリ１２１は、入力画像データの出力設定を示す出力設定情報の入力を受け付ける。例えば、出力機能が印刷処理である場合、出力設定は、カラー設定、出力用紙サイズ、印刷枚数、印刷品質（ドット密度、光沢紙使用など）等を含む。また、例えば、出力機能がＦＡＸ処理である場合、出力設定は、ＦＡＸの送信先、送信画質等を含む。また、例えば、出力機能がメール処理である場合、出力設定は、メールの送信先、添付ファイルのフォーマット、送信時刻等を含む。また、例えば、出力機能がアップロード処理である場合、出力設定は、アップロードするサーバのアドレス、保存先のファイル、フォルダ名等を含む。
【００４０】
Ｓ４０では、アプリ１２１は、ワークフローを記憶部１０９に記憶させる。ワークフローとは、入力デバイス及び出力デバイスのそれぞれで実行される処理に関する情報が記述されたファイルであり、図２のＳ２１８、Ｓ８〜Ｓ３０で入力された情報を含むファイルである。アプリ１２１は、Ｓ４０を終了すると、図５の処理を終了する。
【００４１】
＜図２の続き＞
アプリ１２１は、Ｓ２６０において、第１無線通信Ｉ／Ｆ１０５を介して、出力デバイスに第３問い合わせ信号を送信し、Ｓ２７０において、出力デバイスの状態を示すデバイス情報を、第１無線通信Ｉ／Ｆ１０５を介して出力デバイスから受信する。デバイス情報は、出力デバイスとの無線通信の電波強度を示す情報と、エラーの有無を示すエラー情報と、を含む。出力機能が印刷である場合に、デバイス情報は、さらに、出力デバイスが備える印刷部で用いる消耗部材（即ちインク及び用紙）の残量を示す情報を含む。Ｓ２８０では、アプリ１２１は、図６の通信経路の判断処理を実行する。
【００４２】
＜通信経路の判断処理＞
図６のＳ１１０では、アプリ１２１は、出力機能がＦＡＸ処理であるか否かを判断する。アプリ１２１は、Ｓ１１０で肯定判断した場合（Ｓ１１０でＹＥＳ）に、Ｓ１９０に進み、Ｓ１１０で否定判断した場合（Ｓ１１０でＮＯ）に、Ｓ１２０に進む。
【００４３】
Ｓ１２０では、アプリ１２１は、入力画像データのフォーマットと、出力デバイスで処理可能なフォーマットと、が異なるか否かを判断する。具体的には、アプリ１２１は、Ｓ１０で入力されたフォーマット（即ち第１フォーマット情報によって示されるフォーマット）が、第２フォーマット情報によって示される少なくとも１つのフォーマットに含まれるか否かを判断する。アプリ１２１は、Ｓ１２０で肯定判断した場合（Ｓ１２０でＹＥＳ）に、Ｓ１９０に進み、Ｓ１２０で否定判断した場合（Ｓ１２０でＮＯ）に、Ｓ１２５に進む。
【００４４】
Ｓ１２５では、アプリ１２１は、出力機能が印刷処理であるか否かを判断する。アプリ１２１は、Ｓ１２５で肯定判断した場合（Ｓ１２５でＹＥＳ）に、Ｓ１３０に進み、Ｓ１２５で否定判断した場合（Ｓ１２５でＮＯ）に、Ｓ１７０に進む。
【００４５】
Ｓ１３０では、アプリ１２１は、画像設定と印刷設定との少なくとも一部が異なるか否かを判断する。画像設定は、入力設定に含まれるカラー設定及び読取用紙サイズである。印刷設定は、出力設定に含まれるカラー設定及び出力用紙サイズである。具体的には、アプリ１２１は、画像設定に含まれるカラー設定と、印刷設定に含まれるカラー設定と、が異なるか否かを判断し、画像設定に含まれる読取用紙サイズと、印刷設定に含まれる出力用紙サイズと、が異なるか否かを判断する。アプリ１２１は、Ｓ１３０で肯定判断した場合（Ｓ１３０でＹＥＳ）に、Ｓ１９０に進み、Ｓ１３０で否定判断した場合（Ｓ１３０でＮＯ）に、Ｓ１４０に進む。
【００４６】
Ｓ１４０では、アプリ１２１は、出力設定に含まれる印刷品質が、予め定められた所定品質以上であるか否かを判断する。具体的には、アプリ１２１は、例えば、印刷品質が所定値以上のドット密度であるか否かを判断してもよいし、出力用紙が光沢用紙か否かを判断してもよい。アプリ１２１は、Ｓ１４０で肯定判断した場合（Ｓ１４０でＹＥＳ）に、Ｓ１９０に進み、Ｓ１４０で否定判断した場合（Ｓ１４０でＮＯ）に、Ｓ１５０に進む。
【００４７】
Ｓ１５０では、アプリ１２１は、出力設定に含まれる印刷枚数が、予め定められた枚数以上であるか否かを判断する。アプリ１２１は、Ｓ１５０で肯定判断した場合（Ｓ１５０でＹＥＳ）に、Ｓ１９０に進み、Ｓ１５０で否定判断した場合（Ｓ１５０でＮＯ）に、Ｓ１６０に進む。
【００４８】
Ｓ１６０では、アプリ１２１は、デバイス情報が示す消耗部材の残量が、予め定められた所定量以下であるか否かを判断する。アプリ１２１は、Ｓ１６０で肯定判断した場合（Ｓ１６０でＹＥＳ）に、Ｓ１９０に進み、Ｓ１６０で否定判断した場合（Ｓ１６０でＮＯ）に、Ｓ１７０に進む。
【００４９】
Ｓ１７０では、アプリ１２１は、デバイス情報が示す電波強度が、予め定められた所定強度以下であるか否かを判断する。アプリ１２１は、Ｓ１７０で肯定判断した場合（Ｓ１７０でＹＥＳ）に、Ｓ１９０に進み、Ｓ１７０で否定判断した場合（Ｓ１７０でＮＯ）に、Ｓ１８０に進む。
【００５０】
Ｓ１８０では、アプリ１２１は、入力画像データの通信経路として、第２通信経路を決定する。第２通信経路は、情報処理装置１００を介さずに、入力デバイスから出力デバイスに至る経路である。アプリ１２１は、Ｓ１８０を終了すると、図６の処理を終了する。
【００５１】
Ｓ１９０では、アプリ１２１は、第１通信経路を決定する。第１通信経路は、入力デバイスから、情報処理装置１００を介して、出力デバイスに至る経路である。アプリ１２１は、Ｓ１９０を終了すると、図６の処理を終了する。
【００５２】
＜図２の続き＞
図２のＳ２９０では、アプリ１２１は、決定した通信経路を判断する。アプリ１２１は、Ｓ２９０で第１通信経路と判断した場合（Ｓ２９０で第１通信経路）に、Ｓ３００に進み、Ｓ２９０で第２通信経路と判断した場合（Ｓ２９０で第２通信経路）に、図４のＳ５５０に進む。
【００５３】
Ｓ３００では、アプリ１２１は、第１無線通信Ｉ／Ｆ１０５を介して、入力処理実行指示と入力設定とを入力デバイスへ送信する。入力処理実行指示は、入力画像データを取得する入力処理と、入力画像データを情報処理装置１００へ送信する処理と、を実行させるための指示である。
【００５４】
Ｓ３１０では、入力デバイスは、入力処理実行指示及び入力設定に従って入力処理を実行して、入力画像データを取得する。具体的には、入力処理は、スキャン、データダウンロード等である。
【００５５】
アプリ１２１は、Ｓ３２０において、第１無線通信Ｉ／Ｆ１０５を介して、入力デバイスから入力画像データを受信し、Ｓ３２５において、入力画像データを、記憶部１０９に記憶させ、Ｓ３３０において、入力画像データによって示される画像を表示手段１０２に表示させる。
【００５６】
図３のＳ３４０では、アプリ１２１は、入力画像データのフォーマットの変更が必要か否かを判断する。具体的には、アプリ１２１は、図６のＳ１２０と同様の判断を実行する。アプリ１２１は、Ｓ３４０で肯定判断した場合（Ｓ３４０でＹＥＳ）に、Ｓ３５０に進み、Ｓ３４０で否定判断した場合（Ｓ３４０でＮＯ）に、Ｓ４２０に進む。
【００５７】
Ｓ３５０では、アプリ１２１は、入力画像データのフォーマットを、第２フォーマット情報によって示される少なくとも１つのフォーマットの何れかに変更する。具体的には、アプリ１２１は、例えば、JPEG形式の入力画像データを、PDF形式の印刷データに変換する。Ｓ３６０では、アプリ１２１は、フォーマットが変更された入力画像データと、出力処理実行指示と、出力設定とを出力デバイスへ第１無線通信Ｉ／Ｆ１０５を介して送信する。出力処理実行指示は、入力画像データを出力する出力処理を実行させるための指示である。
【００５８】
Ｓ３７０では、出力デバイスは、出力処理を実行して、入力画像データを出力する。具体的には、出力処理は、印刷、ＦＡＸ、メール、データアップロード等である。
【００５９】
Ｓ３８０では、出力デバイスは、出力処理が成功したか否かを判断する。出力デバイスは、Ｓ３８０で肯定判断した場合（Ｓ３８０でＹＥＳ）に、図３の処理を終了し、Ｓ３８０で否定判断した場合（Ｓ３８０でＮＯ）に、Ｓ３９０に進む。
【００６０】
アプリ１２１は、Ｓ３９０において、出力処理を正常に実行することができないことを示す失敗通知情報を出力デバイスから第１無線通信Ｉ／Ｆ１０５を介して受信し、Ｓ３９５において、失敗通知情報を出力デバイスから受信したと判断する。
【００６１】
アプリ１２１は、失敗通知情報を受信したと判断したことに応じて、Ｓ４００において、記憶部１０９に記憶されている入力画像データを読み出し、Ｓ３５０、Ｓ３６０を繰り返す。
【００６２】
Ｓ４２０では、アプリ１２１は、フォーマットが変更されていない入力画像データと、出力処理実行指示と、出力設定とを出力デバイスに第１無線通信Ｉ／Ｆ１０５を介して送信する。Ｓ４３０〜Ｓ４６０は、それぞれ、Ｓ３７０〜Ｓ４００と同様である。アプリ１２１は、Ｓ４６０の後に、Ｓ４２０を繰り返す。
【００６３】
図４のＳ５５０では、アプリ１２１は、データ送信指示と、入力設定と、出力デバイスのＩＰアドレスと、を第１無線通信Ｉ／Ｆ１０５を介して入力デバイスへ送信する。Ｓ５６０は、図２のＳ３１０と同様である。データ送信指示は、入力画像データを取得する入力処理と、入力画像データを出力デバイスへ送信する処理と、を実行させるための指示である。
【００６４】
Ｓ５７０では、入力デバイスは、データ送信指示に従って、フォーマットが変更されていない入力画像データを、ＩＰアドレスが示す出力デバイスへ送信する。Ｓ５７５は、図３のＳ３７０と同様である。
【００６５】
＜実施例の効果＞
本実施例によると、情報処理装置１００は、入力データに対する処理の内容（図６のＳ１１０、Ｓ１２０、Ｓ１３０〜Ｓ１６０）、及び、出力デバイスの状態（Ｓ１７０）に応じて、情報処理装置１００を介する第１通信経路、又は、情報処理装置１００を介しない第２通信経路の何れかを決定する（Ｓ１８０、Ｓ１９０）。これにより、情報処理装置１００は、適切な通信経路に従ってデータ処理を実行することができる。
【００６６】
消耗部材の残量が少ない場合（Ｓ１６０でＹＥＳ）、又は、出力デバイスとの通信を実行しにくい場合（Ｓ１７０でＹＥＳ）に、出力処理が失敗する可能性が高い。情報処理装置１００は、これらの場合に、情報処理装置１００を介する第１通信経路を決定する。これにより、情報処理装置１００が入力画像データを取得するので、出力処理が失敗しても（図３のＳ３８０でＮＯ等）、入力データを出力デバイスに再入力することが容易となる（ループ後のＳ３６０等）。
【００６７】
情報処理装置１００は、出力デバイスが入力画像データのファイルフォーマットを解釈不可能である場合（図６のＳ１２０でＹＥＳ）に、情報処理装置１００を介する第１通信経路を決定する（Ｓ１９０）。これにより、情報処理装置１００は、入力画像データを受信して（図２のＳ３２０）、入力画像データのフォーマットを、出力デバイスが解釈可能なフォーマットに変更することができる（図３のＳ３５０等）。
【００６８】
印刷品質が高い場合（図６のＳ１４０でＹＥＳ）、又は、印刷枚数が多い場合（Ｓ１５０でＹＥＳ）では、印刷ミスを避ける必要性が特に高い。情報処理装置１００は、これらの場合に、情報処理装置１００を介する第１通信経路を決定する（Ｓ１９０）。これにより、情報処理装置１００が入力画像データを受信するので、ユーザは、出力前に画像の内容を確認し得る。そして、印刷ミスを避けることができる。
【００６９】
出力機能がＦＡＸ処理である場合（Ｓ１１０でＹＥＳ）に、ユーザが出力された内容を確認することが困難である可能性が高い。情報処理装置１００は、この場合に、情報処理装置１００を介する第１通信経路を決定する（Ｓ１９０）。これにより、情報処理装置１００が入力画像データを受信するので、ユーザは、出力前に画像の内容を確認し得る。
【００７０】
入力時の画像設定と、出力時の印刷設定と、少なくとも一部が異なる場合（Ｓ１３０でＹＥＳ）では、ユーザが意図しない態様で入力画像データが出力されるおそれがある。情報処理装置１００は、この場合に、情報処理装置１００を介する第１通信経路を決定する（Ｓ１９０）。これにより、情報処理装置１００が入力画像データを受信するので、ユーザは、出力前に画像の内容を確認し得る。
【００７１】
情報処理装置１００は、出力前に画像を表示する（Ｓ３３０）。これにより、ユーザは、出力前に画像の内容を確認することができる。
【００７２】
情報処理装置１００は、入力画像データを記憶する（図２のＳ３２５）。これにより、情報処理装置１００は、出力処理が失敗した場合（図３のＳ３８０でＮＯ等）に、入力画像データを出力デバイスに容易に再入力することができる（ループ後のＳ３６０等）。
【００７３】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を説明する。
【００７４】
＜変形例＞
情報処理装置１００は、図２のＳ２２０のワークフロー実行指示が入力される前に、図５のワークフローを予め作成してもよく、図２のＳ２３０において、予め作成済みのワークフローを読み出してもよい。
【００７５】
情報処理装置１００は、出力処理が失敗した場合に、図３のＳ３９０において、失敗通知情報を出力デバイスから受信する。これに代えて、情報処理装置１００は、出力処理が成功した場合に、出力処理を正常に完了したことを示す成功通知情報を受信してもよい。この場合、情報処理装置１００は、成功通知情報を受信したか否かに応じて、出力処理が成功したか否かを判断してもよい。
【００７６】
デバイス２００、２５０、３００、４００は、複数のデバイスの一例である。ＣＰＵ１０６は、コンピュータの一例である。アプリ１２１は、プログラムの一例である。スキャン及びデータダウンロードは、入力デバイスが実行可能な処理の一例である。入力機能は、入力処理の一例である。Ｓ８は、第１選択受付処理の一例である。印刷、ＦＡＸ、メール、及びデータアップロードは、出力デバイスが実行可能な処理の一例である。出力機能は、出力処理の一例である。Ｓ２５は、第２選択受付処理の一例である。Ｓ２８０は、第１判断処理の一例である。Ｓ１３０でＹＥＳと判断されることは、第１条件の一例である。Ｓ１１０、Ｓ１４０、及びＳ１５０のそれぞれでＹＥＳと判断されることは、第２条件の一例である。Ｓ１６０及びＳ１７０のそれぞれでＹＥＳと判断されることは、第３条件の一例である。Ｓ３２０、Ｓ３６０、及びＳ４２０は、第１通信処理の一例である。Ｓ５５０は、第２通信処理の一例である。Ｓ２７０は、第１受信処理の一例である。インク及び用紙は、消耗部材の一例である。Ｓ２１５は、第２受信処理の一例である。Ｓ２１７は、第３受信処理の一例である。Ｓ１２０は、第２判断処理の一例である。Ｓ３５０は、変更処理の一例である。Ｓ３０は、第１入力受付処理及び処理枚数受付処理の一例である。カラー設定及び読取用紙サイズは、画像設定の一例である。カラー設定及び出力用紙サイズは、印刷設定の一例である。Ｓ３３０は、表示処理の一例である。Ｓ３２５は、記憶制御処理の一例である。Ｓ３９５及びＳ４５５は、第３判断処理の一例である。ループ後のＳ３６０及びＳ４２０は、第３通信処理の一例である。
【符号の説明】
【００７７】
１００：情報処理装置、１０２：表示手段、１０９：記憶部、１２１：機能連携アプリケーション、２００及び２５０：インクジェットＭＦＰ、３００：スキャナ、４００：カラーレーザープリンタ
【図１】
0006693230.tif 000002
【図２】
0006693230.tif 000003
【図３】
0006693230.tif 000004
【図４】
0006693230.tif 000005
【図５】
0006693230.tif 000006
【図６】
0006693230.tif 000007