(57)【要約】      （修正有）【課題】データをサーバからダウンロードする場合に操作の手間を軽減するアプリケーションプログラムを提供する。【解決手段】印刷システム１において、ＳＰ５は、第１通信ＩＦ５２と第２通信ＩＦ５３とＣＰＵ５１１と不揮発性メモリ５１４とモバイルアプリ１０を備える。ＳＰ５は、クエリに含まれるＵＲＬ情報がモバイルアプリ１０に渡された場合、ＵＲＬ情報の入力を待たずに、第１通信ＩＦ５２を制御して、ＵＲＬ情報が示すクラウドサーバ２から画像ファイルをダウンロードする。このとき、ＳＰ５は、ＵＲＬ情報を不揮発性メモリ５１４に記憶する。ＳＰ５は、モバイルアプリ１０の次回起動時に、不揮発性メモリ５１４に記憶したＵＲＬ情報を利用することにより、ＵＲＬ情報の入力を待たずに、第１通信ＩＦ５２を制御して、クラウドサーバ２から画像ファイルをダウンロードする。【選択図】図１
2019153031.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信インタフェースと第２の通信インタフェースとを備える情報処理装置のコンピュータによって読み取り可能なアプリケーションプログラムであって、
前記コンピュータに、
前記第１の通信インタフェースを介して、ストレージサーバからコンテンツデータをダウンロードする第１通信処理と、
前記第２の通信インタフェースを介して、コンテンツデータを出力可能なデバイスに、前記第１通信処理でダウンロードしたコンテンツデータを送信する第２通信処理と、
前記アプリケーションプログラムの起動時に、アドレス情報を含む起動オプションが渡されていたか否かを判断する第１判断処理と、
前記情報処理装置のメモリにアドレス情報が記憶されているか否かを判断する第２判断処理と、
前記第１判断処理にて、アドレス情報を含む起動オプションが渡されていないと判断し、かつ前記第２判断処理にて、アドレス情報が記憶されていないと判断した場合、前記情報処理装置のディスプレイに第１の操作画面を表示し、前記情報処理装置のユーザインタフェースを介したアドレス情報の入力を待機する第１待機処理と、
を実行させ、
さらに前記コンピュータに、
前記第１待機処理による待機中に前記ユーザインタフェースを介して前記ストレージサーバを示すアドレス情報の入力を受け付けた場合に、前記第１通信処理によって、入力されたアドレス情報が示すストレージサーバからコンテンツデータをダウンロードさせ、
前記第１判断処理にて、アドレス情報を含む起動オプションが渡されていたと判断した場合、前記第１待機処理を実行させず、前記第１通信処理によって、前記起動オプションに含まれるアドレス情報が示すストレージサーバからコンテンツデータをダウンロードさせ、さらに前記起動オプションに含まれていたアドレス情報を前記メモリに記憶させ、
前記第２判断処理にて、アドレス情報が記憶されていると判断した場合、前記第１待機処理を実行させず、前記第１通信処理によって、前記メモリに記憶されているアドレス情報が示すストレージサーバからコンテンツデータをダウンロードさせる、
ことを特徴とするアプリケーションプログラム。
【請求項２】
請求項１に記載するアプリケーションプログラムであって、
前記第１判断処理では、
前記情報処理装置のオペレーティングシステムからアドレス情報を含む起動オプションが渡されたか否かを判断する、
ことを特徴とするアプリケーションプログラム。
【請求項３】
請求項２に記載するアプリケーションプログラムであって、
前記第１判断処理では、
前記アプリケーションプログラムを示すＵＲＬが入力された前記オペレーティングシステムによって前記アプリケーションプログラムが起動され、前記ＵＲＬに付されたテキスト形式の起動オプションを前記オペレーティングシステムから渡された場合に、渡された前記テキスト形式の起動オプションに、アドレス情報が含まれているか否かを判断する、
ことを特徴とするアプリケーションプログラム。
【請求項４】
請求項３に記載するアプリケーションプログラムであって、
前記第１の操作画面には、
テキスト形式での前記アドレス情報の入力を受け付ける入力画面が含まれ、
前記コンピュータに、
前記入力画面に入力されたテキスト形式の情報を、アドレス情報として受け付けさせる、
ことを特徴とするアプリケーションプログラム。
【請求項５】
請求項１から請求項３のいずれか１つに記載するアプリケーションプログラムであって、
前記コンピュータに、
前記起動オプションに含まれるアドレス情報を前記メモリに記憶させる場合に、前記第２の通信インタフェースを介して通信可能なデバイスを検索し、検索されたデバイスの中から１つのデバイスを選択させる第２の操作画面を前記ディスプレイに表示し、前記情報処理装置のユーザインタフェースを介したデバイスの選択を待機する第２待機処理を実行させ、
さらに前記コンピュータに、
前記第２待機処理による待機中に前記ユーザインタフェースを介してデバイスの選択を受け付けた場合に、選択されたデバイスである選択デバイスに、前記第２通信処理によって、前記第１通信処理でダウンロードしたコンテンツデータを送信させ、さらに選択デバイスのデバイス情報を前記メモリに記憶させ、
さらに前記コンピュータに、
前記アプリケーションプログラムの起動時、前記メモリに、ストレージサーバのアドレス情報と、選択デバイスのデイバス情報と、が記憶されている場合、
前記第１待機処理を実行させず、前記第１通信処理によって、前記メモリに記憶されているアドレス情報が示すストレージサーバから、コンテンツデータをダウンロードさせ、
前記第２待機処理を実行させず、前記第２通信処理によって、前記メモリに記憶されているデバイス情報が示すデバイスに、前記第１通信処理でダウンロードしたコンテンツデータを送信させる、
ことを特徴とするアプリケーションプログラム。
【請求項６】
請求項５に記載するアプリケーションプログラムであって、
前記コンピュータに、
前記アプリケーションプログラムの起動時に、デバイス情報を含む起動オプションが渡されていたか否かを判断する第３判断処理を実行させ、
さらに前記コンピュータに、
前記第３判断処理にて、デバイス情報を含む起動オプションが渡されていたと判断した場合、前記第２待機処理を実行させず、前記第２通信処理によって、前記起動オプションに含まれるデバイス情報が示すデバイスに、前記第１通信処理でダウンロードしたコンテンツデータを送信させ、さらに前記起動オプションに含まれるデバイス情報を前記メモリに記憶させる、
ことを特徴とするアプリケーションプログラム。
【請求項７】
請求項１から請求項６のいずれか１つに記載するアプリケーションプログラムであって、
前記コンピュータに、
前記アプリケーションプログラムの起動時にアドレス情報を含む起動オプションが渡されていた場合に、前記起動オプションに含まれるアドレス情報がＵＲＬの書式か否かを判断する第４判断処理を実行させ、
前記コンピュータに、
前記第４判断処理にて、前記起動オプションに含まれるアドレス情報がＵＲＬの書式であると判断した場合、前記第１判断処理にて、アドレス情報を含む起動オプションが渡されていたと判断させ、
前記第４判断処理にて、前記起動オプションに含まれるアドレス情報がＵＲＬの書式でないと判断した場合、アドレス情報を取得できないことを示す第１のエラー報知を行わせ、
前記第１通信処理にて、前記ストレージサーバとの通信に失敗した場合、前記ストレージサーバとの通信に失敗したことを示す第２のエラー報知を行わせる、
ことを特徴とするアプリケーションプログラム。
【請求項８】
請求項１から請求項７のいずれか１つに記載するアプリケーションプログラムであって、
前記第１通信処理によって、ストレージサーバからコンテンツデータをダウンロードする場合、
前記コンピュータに、
前記第１の通信インタフェースを介して、前記メモリに記憶されているアドレス情報あるいは起動時に渡されたアドレス情報を用いて、前記アドレス情報が示すストレージサーバから、コンテンツデータを記憶するフォルダのアドレス情報を含む設定ファイルをダウンロードする第３通信処理と、
前記第１の通信インタフェースを介して、前記設定ファイルに記憶されている前記フォルダのアドレス情報を用いて、前記フォルダに記憶されている前記コンテンツデータをダウンロードする第４通信処理と、
を実行させる、
ことを特徴とするアプリケーションプログラム。
【請求項９】
請求項８に記載するアプリケーションプログラムであって、
前記設定ファイルには、
前記フォルダに記憶される前記コンテンツデータを識別する識別情報が含まれており、
前記コンピュータに、
前記第４通信処理によって、前記コンテンツデータをダウンロードした場合に、前記第３通信処理によってダウンロードした前記設定ファイルに含まれる前記識別情報を前記メモリに記憶させる記憶処理と、
前記識別情報が前記メモリに記憶されているときに、前記第３通信処理によって前記設定ファイルがダウンロードされた場合に、前記第３通信処理にてダウンロードした前記設定ファイルに含まれる識別情報が、前記メモリに記憶された識別情報と同じであるか否かを判断する判断処理と、
を実行させ、
前記第４通信処理では、
前記第３通信処理にてダウンロードした前記設定ファイルに含まれる識別情報が、前記メモリに記憶された識別情報と同じでない、と前記判断処理で判断した場合に、前記フォルダに記憶されているコンテンツデータをダウンロードし、
前記第３通信処理にてダウンロードした前記設定ファイルに含まれる識別情報が、前記メモリに記憶された識別情報と同じである、と前記判断処理で判断した場合に、前記フォルダに記憶されているコンテンツデータをダウンロードしない、
ことを特徴とするアプリケーションプログラム。
【請求項１０】
請求項９に記載するアプリケーションプログラムであって、
前記コンピュータに、
前記第３通信処理によってダウンロードした前記設定ファイルに含まれるバージョン情報が、前記メモリに記憶されるバージョン情報と同じ場合に、最新のデータをダウンロード済みであることを示す通知を行う通知処理を実行させる、
ことを特徴とするアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野は、アプリケーションプログラムに関する技術分野である。
【背景技術】
【０００２】
データのダウンロードを伴う技術を開示した文献としては、例えば特許文献１がある。特許文献１には、言語データアプリが組み込まれた複合機であって、サーバにアクセスして言語データをダウンロードする構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２１２７３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データをダウンロードする機能を有するプログラムでは、ストレージサーバのＵＲＬ等、各種の設定操作をユーザに要求する。これらの操作はユーザにとって手間であり、操作に不慣れなユーザにとっては、操作の数が多いほど操作ミスによる困惑が生じ易い。
【０００５】
実施例に、データをサーバからダウンロードする機能を有するアプリケーションプログラムであって、操作の手間という課題を軽減する技術を開示する。
【課題を解決するための手段】
【０００６】
実施例のアプリケーションプログラムの一態様は、第１の通信インタフェースと第２の通信インタフェースとを備える情報処理装置のコンピュータによって読み取り可能なアプリケーションプログラムであって、前記コンピュータに、前記第１の通信インタフェースを介して、ストレージサーバからコンテンツデータをダウンロードする第１通信処理と、前記第２の通信インタフェースを介して、コンテンツデータを出力可能なデバイスに、前記第１通信処理でダウンロードしたコンテンツデータを送信する第２通信処理と、前記アプリケーションプログラムの起動時に、アドレス情報を含む起動オプションが渡されていたか否かを判断する第１判断処理と、前記情報処理装置のメモリにアドレス情報が記憶されているか否かを判断する第２判断処理と、前記第１判断処理にて、アドレス情報を含む起動オプションが渡されていないと判断し、かつ前記第２判断処理にて、アドレス情報が記憶されていないと判断した場合、前記情報処理装置のディスプレイに第１の操作画面を表示し、前記情報処理装置のユーザインタフェースを介したアドレス情報の入力を待機する第１待機処理と、を実行させ、さらに前記コンピュータに、前記第１待機処理による待機中に前記ユーザインタフェースを介して前記ストレージサーバを示すアドレス情報の入力を受け付けた場合に、前記第１通信処理によって、入力されたアドレス情報が示すストレージサーバからコンテンツデータをダウンロードさせ、前記第１判断処理にて、アドレス情報を含む起動オプションが渡されていたと判断した場合、前記第１待機処理を実行させず、前記第１通信処理によって、前記起動オプションに含まれるアドレス情報が示すストレージサーバからコンテンツデータをダウンロードさせ、さらに前記起動オプションに含まれていたアドレス情報を前記メモリに記憶させ、前記第２判断処理にて、アドレス情報が記憶されていると判断した場合、前記第１待機処理を実行させず、前記第１通信処理によって、前記メモリに記憶されているアドレス情報が示すストレージサーバからコンテンツデータをダウンロードさせる、ことを特徴とする。
【０００７】
上記アプリケーションプログラムは、起動オプションでアドレス情報が渡されている場合、そのアドレス情報を用いることで、ユーザからのアドレス情報の入力を待つことなく、そのアドレス情報が示すストレージサーバにアクセスし、ストレージサーバからコンテンツデータのダウンロードを開始できる。すなわち、ユーザはアドレス情報の入力を省略できる。また、起動オプションに含まれるアドレス情報をメモリに記憶するため、次回の操作時に、メモリに記憶したアドレス情報を用いることができるため、ここでもユーザからのアドレス情報の入力を待つことなく、ストレージサーバからコンテンツデータのダウンロードを開始できる。すなわち、ユーザはアドレス情報の入力を省略できる。
【０００８】
上記装置の機能を実現するための制御方法、コンピュータプログラム、および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【０００９】
データをサーバからダウンロードする機能を有するアプリケーションプログラムにおいて、操作の手間を軽減することが実現される。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかる印刷システムの概略構成図である。
【図２】印刷システムの動作概要の説明図である。
【図３】アイコン表示画面の一例である。
【図４】初期画面の遷移図である。
【図５】デバイス選択画面の一例である。
【図６】メイン画面の一例である。
【図７】ＵＲＬスキームの一例である。
【図８】転送手順を示すフローチャートである。
【図９】図８に示すダウンロード処理のサブフローチャートである。
【発明を実施するための形態】
【００１１】
以下、アプリケーションプログラム（以下、「アプリ」とする）を具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。
【００１２】
本形態の印刷システム１は、図１に示すように、クラウドサーバ２と、ＰＣ４と、ＳＰ（スマートフォンの略）５がインターネット３を介して互いに通信可能に接続されている。モバイルプリンタ６は、インターネット３に直接接続されないが、ＳＰ５などの端末装置には通信可能に接続される。クラウドサーバ２は、ストレージサーバの一例である。ＳＰ５は、情報処理装置の一例である。モバイルプリンタ６は、デバイスの一例である。
【００１３】
尚、モバイルプリンタ６は、ＳＰ５の他、ＰＣやモバイルタブレットなどに接続されても良い。
【００１４】
クラウドサーバ２は、ユーザ間で共有するファイルやフォルダをオンライン上に保存する記憶装置である。クラウドサーバ２は、例えば、DropBox（登録商標）、Googleドライブ（登録商標）、OneDrive（登録商標）、iCloud（登録商標）などである。クラウドサーバ２に記憶されるデータは、例えば、管理者がＰＣ４を介して一括管理する。クラウドサーバ２は、共有フォルダ３１と設定ファイル３２を有している。共有フォルダ３１と設定ファイル３２とは、誰でも権限認証を行わずにアクセスできるが、管理者などの権限を有する者だけがその中のデータを追加、変更、削除することができる。
【００１５】
共有フォルダ３１は、ＰＣ４がインターネット３を経由してアップロードした１又は２以上の画像ファイルＸを記憶するものである。尚、以下の説明では、複数の画像ファイルＸを区別する場合には、画像ファイルＸ１，Ｘ２…など添え字を用いるが、複数の画像ファイルＸを区別する必要がない場合には、包括的に画像ファイルＸとする。
【００１６】
複数の画像ファイルＸを共有フォルダ３１で管理することで、複数の画像ファイルＸを一度にダウンロードすることが可能になる。尚、画像ファイルＸは、コンテンツデータの一例である。
【００１７】
共有フォルダ３１は、例えば、モバイルプリンタ６の機種や印刷目的などの種別毎に設けられている。そのため、クラウドサーバ２は、複数の共有フォルダ３１を有する。共有フォルダ３１には、オンライン上の位置を示す固有のＵＲＬ情報が付与されている。
【００１８】
設定ファイル３２は、共有フォルダ３１に関する情報を記憶するファイルである。設定ファイル３２は、共有フォルダ３１に紐付けられ、共有フォルダ３１毎に設けられている。設定ファイル３２は、ＵＲＬ情報記憶領域３３とバージョン情報記憶領域３４を有する。ＵＲＬ情報記憶領域３３は、設定ファイル３２に紐付けられた共有フォルダ３１に付与されたＵＲＬ情報を記憶する。バージョン情報記憶領域３４は、設定ファイル３２に紐付けられた共有フォルダのバージョン情報を記憶する。バージョン情報は、フォルダに記憶されるコンテンツデータを識別する識別情報の一例である。設定ファイル３２にも、オンライン上の位置を示す固有のＵＲＬ情報が付与されている。
【００１９】
例えば、本形態のクラウドサーバ２は、第１〜第３共有フォルダ３１Ａ，３１Ｂ，３１Ｃを有し、各々に対応して第１〜第３設定ファイル３２Ａ，３２Ｂ，３２Ｃが設けられている。第１〜第３共有フォルダ３１Ａ，３１Ｂ，３１Ｃには、異なるＵＲＬ情報が付与されている。例えば、第２設定ファイル３２Ｂは、ＵＲＬ情報記憶領域３３Ｂに第２共有フォルダ３１ＢのＵＲＬ情報を記憶することにより、第２共有フォルダ３１Ｂに紐付けられている。第２共有フォルダ３１Ｂには、例えば、画像ファイルＸ１〜Ｘ３が格納されている。よって、第２設定ファイル３２ＢのＵＲＬ情報を利用すれば、第２共有フォルダ３１Ｂに記憶された画像ファイルＸ１〜Ｘ３にまとめてアクセスできる。第１及び第３設定ファイル３２Ａ，３２Ｃは、これと同様にして、第１及び第３共有フォルダ３１Ａ，３１Ｃに紐付けられている。
【００２０】
第２設定ファイル３２Ｂは、例えば、第２共有フォルダ３１Ｂに画像ファイルＸ４が追加されたり、既存の画像ファイルＸ１〜Ｘ３の何れかが削除されたり、既存の画像ファイルＸ１〜Ｘ３の内容が変更されたりすると、バージョン情報記憶領域３４Ｂのバージョン情報が書き換えられる。例えば、画像ファイルＸ４が追加される前のバーション情報「Ｖｅｒ．１」が、画像ファイルＸ４の追加により、別のバージョン情報「Ｖｅｒ．２」に書き換えられる。よって、クラウドサーバ２を利用するＳＰ５等は、第２共有フォルダ３１Ｂ内の画像ファイルＸに個々にアクセスしなくても、バージョン情報記憶領域３４Ｂのバージョン情報を確認すれば、画像ファイルＸの変更の有無を判断できる。尚、バージョン情報記憶領域３４Ｂの書き換えは、管理者がＰＣ４を介して手入力で行っても良いし、画像ファイルＸ４の追加時に自動的に行っても良い。
【００２１】
ＳＰ５は、ＣＰＵ５１１と、ＲＯＭ５１２と、ＲＡＭ５１３と、不揮発性メモリ５１４と、を含むコントローラ５１を備えている。そして、ＳＰ５は、さらに、第１通信ＩＦ（インタフェースの略）５２と、第２通信ＩＦ５３と、操作パネル５４と、スピーカ５５を備え、これらがコントローラ５１に電気的に接続されている。
【００２２】
ＲＯＭ５１２には、ＳＰ５を起動させるための起動プログラム等が記憶されている。ＲＡＭ５１３は、各種処理が実行される際に作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ５１４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のプログラムやデータを記憶する領域として利用される。
【００２３】
ＣＰＵ５１１は、ＲＯＭ５１２や不揮発性メモリ５１４から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。なお、図１中のコントローラ５１は、ＳＰ５の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にＳＰ５に存在する単一のハードウェアを表すとは限らない。ＣＰＵ５１１は、コンピュータの一例である。なお、コントローラ５１をコンピュータの一例にしても良い。
【００２４】
操作パネル５４は、例えば、タッチパネルであり、ユーザによる入力の受け付けと、情報を示す画像の表示を行う。情報を示す画像のことを、単に情報とも記載する。スピーカ５５は、音声の出力を行う。操作パネル５４は、ユーザインタフェース、ディスプレイの一例である。
【００２５】
第１通信ＩＦ５２は、ネットワークを介して接続された外部装置と通信を行うためのハードウェアを含む。第１通信ＩＦ５２は、例えば、インターネット３を経由してクラウドサーバ２と通信を行う。第１通信ＩＦ５２の通信方式は、ＬＡＮなど、どのような規格の方式でもよいし、無線でも有線でもよい。
【００２６】
第２通信ＩＦ５３は、外部装置と直接通信を行うためのハードウェアを含む。第２通信ＩＦ５３はモバイルプリンタ６と通信を行うためのハードウェアを含む。第２通信ＩＦ５３の通信方式は、ＵＳＢ、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）など、どのような規格の方式でもよいし、無線でも有線でもよい。尚、本形態では、第１通信ＩＦ５２と第２通信ＩＦ５３を別個に設けたが、第１通信ＩＦ５２と第２通信ＩＦ５３を１つの通信ＩＦで構成しても良い。
【００２７】
本形態のＳＰ５は、モバイルアプリ１０と、ブラウザ１３と、メーラ１４と、ＯＳ（オペレーティングシステムの略）１５とを、不揮発性メモリ５１４に記憶している。また、ＳＰ５は、保存フォルダ１２が不揮発性メモリ５１４に設けられている。不揮発性メモリ５１４は、メモリの一例である。
【００２８】
モバイルアプリ１０は、クラウドサーバ２から画像ファイルＸをダウンロードし、更に、モバイルプリンタ６に送信するアプリである。モバイルアプリ１０は、所定の条件を満たす場合に、画像ファイルＸのダウンロードに必要な情報の入力を省略するように構成されている。所定の条件等、モバイルアプリ１０の詳細は後述する。モバイルアプリ１０は、アプリケーションプログラムの一例である。ブラウザ１３、メーラ１４は、既知のブラウザ、メーラである。
【００２９】
図２に示すように、管理者がＰＣ４を介してネットワーク上に公開した、ＵＲＬ情報を記載したウェブページを、ブラウザ１３が表示しても良い。管理者がＰＣ４を介してユーザに送った、ＵＲＬ情報を記載されたメールを、メーラ１４が受信しても良い。ブラウザ１３は、ＵＲＬ情報に対する操作（例えば、タップ）を、操作パネル５４を介して受け付けた場合に、ＵＲＬ情報をＯＳ１５に渡しても良い。メーラ１４も同様で良い。モバイルアプリ１０の起動を指示するＵＲＬ情報を渡されたＯＳ１５は、モバイルアプリ１０を起動して良い。ＯＳ１５は、当該ＵＲＬ情報に含まれるクエリを、起動オプションとして、モバイルアプリ１０に渡して良い。
【００３０】
不揮発性メモリ５１４には、モバイルアプリ１０が主に利用する記憶領域として、設定情報ＤＢ（データベースの略）１１が存在する。モバイルアプリ１０が主に利用する記憶領域が存在することを、便宜的に、モバイルアプリ１０が有する、とも記載する。設定情報ＤＢ１１には、ＵＲＬ情報記憶領域１１１と、デバイス情報記憶領域１１３と、バージョン情報記憶領域１１４が存在する。
【００３１】
ＵＲＬ情報記憶領域１１１は、モバイルアプリ１０が取得した、設定ファイル３２のＵＲＬ情報を記憶するものである。デバイス情報記憶領域１１３は、選択されたデバイスに関するデバイス情報を記憶するものである。デバイス情報には、例えば、デバイスの機種名が含まれる。バージョン情報記憶領域１１４は、モバイルアプリ１０が取得した、共有フォルダ３１のバージョン情報、すなわち画像ファイルＸのバージョン情報が記憶される。
【００３２】
図１に戻り、モバイルプリンタ６は、画像データを記録媒体に印刷する装置である。モバイルプリンタ６は、ＣＰＵ６１１と、ＲＯＭ６１２と、ＲＡＭ６１３と、不揮発性メモリ６１４と、を含むコントローラ６１を備えている。そして、モバイルプリンタ６は、さらに、通信ＩＦ６２と、ボタン群６３と、ＬＣＤ６４と、印刷エンジン６５を備え、これらがコントローラ６１に電気的に接続されている。
【００３３】
ＲＯＭ６１２には、印刷を実行するためのプログラム等が記憶されている。ＲＡＭ６１３は、各種処理が実行される際に作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ６１４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のプログラムやデータを記憶する。ＳＰ５から受信したテンプレートなどの画像ファイルＸは、不揮発性メモリ６１４に記憶される。
【００３４】
ＣＰＵ６１１は、ＲＯＭ６１２や不揮発性メモリ６１４から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。なお、図１中のコントローラ６１は、モバイルプリンタ６の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にモバイルプリンタ６に存在する単一のハードウェアを表すとは限らない。
【００３５】
ボタン群６３は、ユーザによる入力を受け付ける。ＬＣＤ６４は、情報の表示を行う。通信ＩＦ６２は、ＳＰ５と通信を行うためのハードウェアを含む。
【００３６】
続いて、印刷システム１の動作概要を図２〜図７を参照して説明する。以下の処理およびフローチャートの各処理ステップは、基本的に、モバイルアプリ１０などのプログラムに記述された命令に従ったＣＰＵ５１１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「決定」、「取得」、「受付」、「制御」等の処理は、ＣＰＵ５１１の処理を表している。ＣＰＵ５１１による処理は、ＳＰ５のＯＳ１５を用いたハードウェア制御も含む。本明細書では、ＯＳ１５の記載を適宜省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムＰがハードウェアＨを制御する」という趣旨の記載は、「プログラムＰがＯＳ１５を用いてハードウェアＨを制御する」ことを指してもよい。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ５１１が要求することなくデータを受信するという処理も、「ＣＰＵ５１１がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、プログラムに記述された命令に従ったＣＰＵ５１１の処理を省略した文言で記載することがある。例えば、「ＣＰＵ５１１が行う」「モバイルアプリ１０が行う」のように記載することがある。
【００３７】
図２に示す印刷システム１は、例えば、建設現場や商品製造工場などの作業現場において書類やラベルなどを印刷するのに用いられる。作業者には、モバイルプリンタ６が貸与され、作業現場において何時でも何処でも書類やラベルを作成することができる。モバイルプリンタ６は、例えば数十人〜数百人の作業者がそれぞれ所持する。これらのモバイルプリンタ６は、全て同じ機種でも良いし、異なる機種でも良い。
【００３８】
モバイルプリンタ６は、それぞれ、書類やラベルを作業現場で簡易に作成するために、書類やラベルなどのテンプレートの画像ファイルＸを記憶している。モバイルプリンタ６はクラウドサーバ２に接続できない。そのため、テンプレートの画像ファイルＸは、クラウドサーバ２からＳＰ５にダウンロードした後、ＳＰ５からモバイルプリンタ６に送信されている。以下の説明では、ＳＰ５は、クラウドサーバ２からダウンロードした画像ファイルＸをモバイルプリンタ６にそのまま転送するとしているが、例えば、ＳＰ５にてテンプレートに必要な情報を書き込んで画像ファイルＸを加工し、加工された画像ファイルＸをモバイルプリンタ６に送信するようにしても良い。
【００３９】
印刷システム１の管理者は、ＰＣ４を用いて、例えば、第２共有フォルダ３１Ｂに商品Ｚ２関連の画像ファイルＸ１〜Ｘ３を記憶させてある。これと同様に、管理者は、例えば、第１共有フォルダ３１Ａに商品Ｚ１関連のコンテンツデータを格納し、第３共有フォルダ３１Ｃに商品Ｚ３関連のコンテンツデータを記憶させてある。
【００４０】
よって、どの作業者も、ＳＰ５をクラウドサーバ２に接続させて、管理者が提供する最新の画像ファイルＸをクラウドサーバ２からＳＰ５にダウンロードし、モバイルプリンタ６に送信することで、作業内容や商品に応じて共通化された書式により書類やラベルを印刷することができる。
【００４１】
続いて、図面を参照してコンテンツデータのダウンロード手順を説明する。ＳＰ５のＣＰＵ５１１は、モバイルアプリ１０が起動されたことを契機に、図８に示す処理を実行する。
【００４２】
ここで、作業者の性別、年齢、ＩＴ知識、生活環境等は千差万別である。そのため、モバイルプリンタ６を使用する作業者の中には、ネットワークの利用やＳＰ５の操作などに不慣れな者がいるとも考えられる。また、作業の効率化を考えれば、ダウンロードの操作の手間をできるだけ省略することが望ましい。図２で説明したように、管理者から提供されたＵＲＬ情報を入力するだけで、作業者はモバイルアプリ１０を起動できる。
【００４３】
図７に、メーラ１４が表示したメール２１を例示する。ＵＲＬスキーム２１１のうち、「ｈｔｔｐ：／／」の後の「ｍｙａｐｐ．ｃｏｍ」がモバイルアプリ１０の起動を指示するコマンド２１３を示す。そして、「？」の後が、クエリ２１２である。更に、「ｕｒｌ＝」の後が設定ファイル３２を示すＵＲＬ情報２１２ａである。クエリ２１２は、起動オプションの一例である。ＵＲＬ情報２１２ａは、アドレス情報の一例である。尚、本形態では、ＵＲＬ情報２１２ａをアドレス情報の一例としたが、クラウドサーバ２の設定ファイル３２のＩＰアドレスなどをアドレス情報の一例としても良い。
【００４４】
ＵＲＬスキーム２１１は、例えば、管理者が作業者に送信する電子メールにテキスト形式で埋め込まれる。よって、管理者は、同じＵＲＬスキーム２１１を複数の作業者に１回の送信操作で簡単に通知できる。また、管理者は、ＵＲＬスキーム２１１を含むウェブページを公開することで、ＵＲＬスキーム２１１を作業者に通知しても良い。ＵＲＬスキーム２１１を用いてモバイルアプリ１０を起動する場合、ＯＳ１５は、クエリ２１２をモバイルアプリ１０に渡す。そして、モバイルアプリ１０は、後述するＵＲＬ情報２１２ａを取得して、コンテンツデータをダウンロードする。すなわち、作業者は、コンテンツデータをダウンロードするための各種情報を手入力する必要がない。
【００４５】
モバイルアプリ１０は、クエリ２１２に含まれる情報を不揮発性メモリ５１４に記憶し、再利用する。すなわち、モバイルアプリ１０の次回の起動時にも、作業者は、ダウンロードするための各種情報を手入力する必要がない。
【００４６】
ＣＰＵ５１１は、まず、クエリ２１２を取得したか否かを判断する（Ｓ１）。Ｓ１の処理は、第１判断処理の一例である。図３に示す起動アイコン２０１がタップされてモバイルアプリ１０が起動した場合、ＣＰＵ５１１は、クエリ２１２を取得していない（Ｓ１：ＮＯ）。この場合、図８に示すように、ＣＰＵ５１１は、モバイルアプリ１０がＵＲＬ情報記憶領域１１１にＵＲＬ情報を保持しているか否かを判断する（Ｓ２）。Ｓ２の処理は、第２判断処理の一例である。
【００４７】
例えば、モバイルアプリ１０をインストールした後、初めて、起動アイコン２０１をタップした場合、モバイルアプリ１０のＵＲＬ情報記憶領域１１１には、ＵＲＬ情報が記憶されていない。このように、ＵＲＬ情報がモバイルアプリ１０のＵＲＬ情報記憶領域１１１に記憶されていない場合には（Ｓ２：ＮＯ）、ＣＰＵ５１１は、初期画面２２を操作パネル５４に表示させる。初期画面２２には、不図示の入力指示ボタンが表示されている。
【００４８】
これに対して、ＣＰＵ５１１は、不図示の入力指示ボタンがタップされると、図４に示すように、ＣＰＵ５１１は、インタフェース２２２を初期画面２２に合成して操作パネル５４に表示させる（Ｓ３）。尚、初期画面２２は、第１の操作画面の一例であり、インタフェース２２２は、入力画面の一例である。
【００４９】
その後、図８に示すように、ＣＰＵ５１１は、ＵＲＬ情報の入力を受け付けたか否かを判断する（Ｓ４）。ＣＰＵ５１１は、図４に示すインタフェース２２２のＵＲＬ入力欄２２２ａにＵＲＬ情報を入力して実行ボタン２２２ｂがタップされるまで、待機する（Ｓ４：ＮＯ）。Ｓ３〜Ｓ４は、第１待機処理の一例である。
【００５０】
一方、ＣＰＵ５１１は、図４に示すインタフェース２２２のＵＲＬ入力欄２２２ａにＵＲＬ情報を入力して実行ボタン２２２ｂがタップされると、ＵＲＬ情報の入力を受け付けたと判断する（Ｓ４：ＹＥＳ）。続いて、ＣＰＵ５１１は、ＵＲＬ情報が正しいか判断する（Ｓ５）。具体的には、ＣＰＵ５１１は、後述するＳ１６と同様の方法で、正しい書式でＵＲＬ情報が入力されたか判断し、後述するＳ１８と同様の方法で、ＵＲＬ情報を用いてクラウドサーバ２と接続できたかを判断する。
【００５１】
ＣＰＵ５１１は、入力されたＵＲＬ情報が正しくない場合には（Ｓ５：ＮＯ）、入力エラーを報知する（Ｓ１４）。これに対して、ＣＰＵ５１１は、ＵＲＬ情報が正しいと判断する場合には（Ｓ５：ＹＥＳ）、モバイルアプリ１０がデバイス情報を保持しているか否かを判断する（Ｓ６）。つまり、ＣＰＵ５１１は、モバイルアプリ１０のデバイス情報記憶領域１１３にデバイス情報が記憶されているか否かを判断する。
【００５２】
ＣＰＵ５１１は、モバイルアプリ１０のデバイス情報記憶領域１１３にデバイス情報が記憶されていない場合には、モバイルアプリ１０がデバイス情報を保持していないと判断する（Ｓ６：ＮＯ）。例えば、モバイルアプリ１０をインストールした後、初めてモバイルアプリ１０を起動した場合、デバイス情報記憶領域１１３にはデバイス情報が記憶されていない。この場合、ＣＰＵ５１１は、図５に示すデバイス選択画面２３を操作パネル５４に表示させる（Ｓ７）。つまり、ＣＰＵ５１１は、第２通信ＩＦ５３を用いて、デバイス検索を行い、その検索結果をデバイス選択画面２３に表示させる。デバイス選択画面２３は、第２の操作画面の一例である。
【００５３】
その後、図８に示すように、ＣＰＵ５１１は、デバイスの選択を受け付けたか否かを判断する（Ｓ８）。Ｓ７，Ｓ８の処理は、第２待機処理の一例である。図５に示すように、デバイス選択画面２３には、検索されたデバイスのデバイス情報２３２，２３３が表示されている。ＣＰＵ５１１は、デバイス情報２３２，２３３がタップされず、デバイスが選択されない間は、デバイス選択画面２３を操作パネル５４に表示させたまま待機する（Ｓ８：ＮＯ）。
【００５４】
これに対して、図８に示すように、ＣＰＵ５１１は、デバイス情報２３２，２３３の何れかがタップされた場合、デバイスの選択を受け付けたと判断する（Ｓ８：ＹＥＳ）。ＣＰＵ５１１は、選択されたデバイスを識別するデバイス（以降、選択デバイスとも記載する）情報を不揮発性メモリ５１４に記憶させる。続いて、ＣＰＵ５１１は、メイン画面を操作パネル５４に表示させる（Ｓ９）。その後、ＣＰＵ５１１は、ダウンロード処理を行う（Ｓ１０）。Ｓ１０の処理は、第１通信処理の一例である。つまり、ＣＰＵ５１１は、手入力されたＵＲＬ情報を用いてクラウドサーバ２に接続し、共有フォルダ３１の画像ファイルＸをダウンロードして、保存フォルダ１２に記憶する。ダウンロード処理については、後述する。尚、ＣＰＵ５１１は、ダウンロード処理を実行する間、ダウンロード中であることをメイン画面に合成し、操作パネル５４に表示させる。
【００５５】
ダウンロード処理が終了すると、ＣＰＵ５１１は、転送指示を受け付けたか否かを判断する（Ｓ１１）。例えば、ＣＰＵ５１１は、画像ファイルＸをダウンロードすると、図６に示すように、新しくコンテンツデータがあることを示すテキスト２４４と、アップデート指示ボタン２４１と、終了ボタン２４２をメイン画面２４に合成し、操作パネル５４に表示させる。
【００５６】
ＣＰＵ５１１は、アップデート指示ボタン２４１がタップされず、終了ボタン２４２がタップされた場合には（Ｓ１１：ＮＯ、Ｓ１５：ＹＥＳ）、画像ファイルＸを選択デバイスに送信しないまま、処理を終了する。一方、アップデート指示ボタン２４１も終了ボタン２４２もタップされない場合には（Ｓ１１：ＮＯ、Ｓ１５：ＮＯ）、Ｓ１１に戻り、図６に示すメイン画面２４を操作パネル５４に表示させたまま待機する。
【００５７】
これらに対し、図８に示すように、ＣＰＵ５１１は、アップデート指示ボタン２４１がタップされると、転送指示を受け付けたと判断する（Ｓ１１：ＹＥＳ）。この場合、ＣＰＵ５１１は、選択デバイスに画像ファイルＸを送信する（Ｓ１２）。選択デバイスとは、図８のＳ８にて選択を受け付けたデバイスをいう。Ｓ１２の処理は、第２通信処理の一例である。つまり、ＣＰＵ５１１は、モバイルプリンタ６が選択デバイスである場合は、第２通信ＩＦ５３を介してモバイルプリンタ６の通信ＩＦ６２に接続し、保存フォルダ１２に記憶された画像ファイルＸ１，Ｘ２，Ｘ３をモバイルプリンタ６に送信する。モバイルプリンタ６は、受信した画像ファイルＸ１，Ｘ２，Ｘ３を不揮発性メモリ６１４に記憶する。
【００５８】
その後、ＣＰＵ５１１は、モバイルアプリ１０のデバイス情報記憶領域１１３に、選択したデバイス（すなわち、モバイルプリンタ６）に画像ファイルＸを送信した、という実績を示す実績情報を記憶させてから（Ｓ１３）、処理を終了する。
【００５９】
続いて、ＣＰＵ５１１が、クエリ２１２を取得したと判断した場合（Ｓ１：ＹＥＳ）について説明する。ＣＰＵ５１１は、クエリ２１２に正しいＵＲＬ情報があるか否かを判断する（Ｓ１６）。Ｓ１６の処理は、第４判断処理の一例である。例えば、ＣＰＵ５１１は、図７に示すＵＲＬスキーム２１１に、ＵＲＬ情報の記載を示唆する「ｕｒｌ=」のテキストが含まれない場合、クエリ２１２に正しいＵＲＬ情報が含まれていないと判断する（Ｓ１６：ＮＯ）。また、「ｕｒｌ＝」に続くテキストがＵＲＬ情報の書式として正しくない場合も同様である（Ｓ１６：ＮＯ）。この場合、図８に示すように、ＣＰＵ５１１は、第１エラーを報知する（Ｓ１７）。Ｓ１７は、第１のエラー報知の一例である。
【００６０】
例えば、ＣＰＵ５１１は、「ダウンロードに取り掛かれません。」「ＵＲＬ情報の書式が誤っています。管理者にこの旨を連絡して下さい。」とのメッセージをメイン画面に合成して、操作パネル５４に表示させる。作業者がＵＲＬ情報の書式の誤りを管理者に連絡することにより、ＵＲＬスキーム２１１を訂正して電子メールに埋め込み、再度、各作業者のＳＰ５に送信することを、管理者に促すことができる。これにより、書式が間違ったＵＲＬ情報が早い段階で訂正され、作業者の手間を減らすことができる。
【００６１】
第１エラーを通知したＣＰＵ５１１は、Ｓ２以降の処理を実行する。つまり、ＣＰＵ５１１は、モバイルアプリ１０のＵＲＬ情報記憶領域１１１にＵＲＬ情報が記憶されていない場合（Ｓ２：ＮＯ）、ＣＰＵ５１１は、インタフェース２２２を介してＵＲＬ情報を手入力させる。Ｓ２以降の処理は、上述したので説明を割愛する。
【００６２】
一方、例えば図７に示すようにクエリ２１２が「ｕｒｌ＝」のテキストを含み、クエリ２１２の書式が正しい場合、図８に示すように、ＣＰＵ５１１は、クエリ２１２に正しいＵＲＬ情報が含まれていると判断する。この場合には（Ｓ１６：ＹＥＳ）、クエリ２１２に含まれるＵＲＬ情報２１２ａが示すクラウドサーバ２に接続できるか否かを判断する（Ｓ１８）。
【００６３】
接続に失敗した場合には（Ｓ１８：ＮＯ）、ＣＰＵ５１１は、第２エラーを報知する（Ｓ１９）。Ｓ１９の処理は、第２のエラー報知の一例である。例えば、ＣＰＵ５１１は、「ストレージサーバとの接続に失敗しました。」「通信状況の良い場所でダウンロードをやり直して下さい。」「通信状況が良い場所でもダウンロードができない場合、管理者にこの旨を連絡して下さい。」など、エラーの原因と対処法を示すメッセージを、操作パネル５４に表示させたり、スピーカ５５から音声出力させたりする。メッセージの具体的な報知方法は、Ｓ１７と同様なので、詳細な説明を割愛する。これにより、時間や場所を変えて、画像ファイルＸのダウンロードに再挑戦することを、作業者に促すことができる。
【００６４】
上述のように、ＣＰＵ５１１は、Ｓ１７において行う第１エラーの報知とＳ１９において行う第２エラーの報知とを区別可能に行う。そのため、ユーザは、エラーに応じた対処を容易に行うことができる。
【００６５】
これに対して、ＣＰＵ５１１は、接続に成功した場合には（Ｓ１８：ＹＥＳ）、クエリ２１２にデバイス情報が含まれているか否かを判断する（Ｓ２０）。Ｓ２０の処理は、第３判断処理の一例である。クエリ２１２にデバイス情報が含まれている場合には（Ｓ２０：ＹＥＳ）、Ｓ９に進む。つまり、ＣＰＵ５１１は、図５に示すデバイス選択画面２３を表示せずに、メイン画面２４を表示する。そして、ＣＰＵ５１１は、クエリ２１２に含まれるＵＲＬ情報２１２ａを用いてクラウドサーバ２に接続し、共有フォルダ３１に記憶されている画像ファイルＸをダウンロードする。ダウンロード後の処理は、上述したので説明を省略する。よって、作業者は、ＵＲＬ情報の入力もデバイスの選択も行わずに、ダウンロードを開始できる。
【００６６】
一方、クエリ２１２にデバイス情報が含まれていない場合には（Ｓ２０：ＮＯ）、Ｓ６以降の処理を実行する。ＣＰＵ５１１は、クエリ２１２がクラウドサーバ２に接続可能なＵＲＬ情報２１２ａを含むが（Ｓ１６：ＹＥＳ、Ｓ１８：ＹＥＳ）、クエリ２１２がデバイス情報を含まず（Ｓ２０：ＮＯ）、モバイルアプリ１０もデバイス情報を保持しない場合には（Ｓ６：ＮＯ）、図４に示す初期画面２２とインタフェース２２２の表示を省略するが、図５に示すデバイス選択画面２３は表示して、デバイスの選択をユーザに行わせる。つまり、ＣＰＵ５１１は、デバイスの選択を待って、共有フォルダ３１の画像ファイルＸをダウンロードする。よって、作業者は、ＵＲＬ情報を入力しなくても、デバイスを選択するだけで、ダウンロードを開始できる。
【００６７】
これに対して、クエリ２１２がクラウドサーバ２に接続可能なＵＲＬ情報２１２ａを含むが（Ｓ１６：ＹＥＳ、Ｓ１８：ＹＥＳ）、クエリ２１２がデバイス情報を含まず（Ｓ２０：ＮＯ）、モバイルアプリ１０がデバイス情報を保持する場合には（Ｓ６：ＹＥＳ）、ＣＰＵ５１１は、図４に示す初期画面２２も図５に示すデバイス選択画面２３も表示せずに、ダウンロードを開始する。例えば、モバイルアプリ１０の２回目以降の起動時には、デバイス情報がモバイルアプリ１０に記憶されている。このような場合には、ＣＰＵ５１１は、ＵＲＬ情報の入力もデバイスの選択も待たずに、ダウンロードを開始する。ダウンロード後の処理は、上述したので説明を割愛する。
【００６８】
また、図８に示すように、クエリ２１２を取得しない場合に（Ｓ１：ＮＯ）、モバイルアプリ１０がＵＲＬ情報の入力情報を保持するとき（Ｓ２：ＹＥＳ）、ＣＰＵ５１１は、Ｓ６に進み、図４に示す初期画面を表示せずに、ダウンロードを開始する。例えば、２回目以降に起動アイコン２０１のタップによりモバイルアプリ１０が起動された場合、前回の起動時にＵＲＬ情報がモバイルアプリ１０に記憶されている（図９参照）。この場合、ＣＰＵ５１１は、ＵＲＬ情報の入力を待たずに、Ｓ６に進み、モバイルアプリ１０がデバイス情報を保持するか判断する。例えば、２回目以降に起動アイコン２０１をタップして起動する場合、前回の起動時にモバイルアプリ１０がデバイス情報を記憶している（図９参照）。よって、ＣＰＵ５１１は、２回目以降に起動アイコン２０１のタップによりモバイルアプリ１０を起動する場合、ＵＲＬ情報の入力もデバイスの選択も待たずに、ダウンロードを開始できる。
【００６９】
続いて、ダウンロード処理について、図９を参照して説明する。
【００７０】
ＣＰＵ５１１は、ＵＲＬ情報が設定されたか否かを判断する（Ｓ３０）。ＣＰＵ５１１は、図８のＳ４にてインタフェース２２２に入力されたＵＲＬ情報、又は、図８のＳ１にて受け付けたクエリ２１２に含まれるＵＲＬ情報２１２ａを、ＲＡＭ５１３に一時的に記憶する。ＣＰＵ５１１は、Ｓ４、又は、Ｓ１にて取得したＵＲＬ情報を一時的に記憶している場合に、ＵＲＬ情報が設定された、と判断する。
【００７１】
ＣＰＵ５１１は、ＵＲＬ情報が設定されたと判断した場合（Ｓ３０：ＹＥＳ）、ＲＡＭ５１３に一時的に記憶されているＵＲＬ情報とモバイルアプリ１０が保持するＵＲＬ情報が一致するか否かを判断する（Ｓ３１）。例えば、モバイルアプリ１０を初めて起動する場合であって、ＵＲＬ情報記憶領域１１１にＵＲＬ情報が記憶されていない場合には、ＣＰＵ５１１は、設定されたＵＲＬ情報とモバイルアプリ１０が保持するＵＲＬ情報が一致しないと判断する。また、モバイルアプリ１０のＵＲＬ情報記憶領域１１１にＵＲＬ情報が記憶されている場合において、インタフェース２２２に入力されたＵＲＬ情報又はクエリ２１２に含まれるＵＲＬ情報２１２ａが、モバイルアプリ１０に保持されるＵＲＬ情報と一致しない場合には、ＣＰＵ５１１は、設定されたＵＲＬ情報とモバイルアプリ１０が保持するＵＲＬ情報が一致しないと判断する。
【００７２】
設定されたＵＲＬ情報とモバイルアプリ１０が保持するＵＲＬ情報が一致しないと判断した場合（Ｓ３１：ＮＯ）、ＣＰＵ５１１は、設定されたＵＲＬ情報をモバイルアプリ１０のＵＲＬ情報記憶領域１１１に記憶させた後（Ｓ３２）、Ｓ３３に進む。つまり、ＣＰＵ５１１は、最新のＵＲＬ情報をモバイルアプリ１０に保持させる。
【００７３】
これに対して、設定されたＵＲＬ情報とモバイルアプリ１０が保持するＵＲＬ情報が一致すると判断した場合（Ｓ３１：ＹＥＳ）、Ｓ３２の処理を実行せずに、Ｓ３３に進む。つまり、ＣＰＵ５１１は、設定されたＵＲＬ情報とモバイルアプリ１０が保持するＵＲＬ情報が同じ場合、ＵＲＬ情報を更新しない。
【００７４】
その後、ＣＰＵ５１１は、モバイルアプリ１０が保持するＵＲＬ情報を利用してクラウドサーバ２の設定ファイル３２に接続し、設定ファイル３２をダウンロードする（Ｓ３３）。Ｓ３３の処理は、第３通信処理の一例である。そして、ＣＰＵ５１１は、設定ファイル３２に記憶された共有フォルダ３１のＵＲＬ情報とバージョン情報を取得する（Ｓ３４）。
【００７５】
それから、ＣＰＵ５１１は、Ｓ３４にて取得したバージョン情報がモバイルアプリ１０のバージョン情報記憶領域１１４に記憶されているバージョン情報と一致するか否かを判断する（Ｓ３５）。Ｓ３５の処理は、判断処理の一例である。例えば、モバイルアプリ１０をインストール後、初めて起動する場合、バージョン情報記憶領域１１４にバージョン情報が記憶されていない。この場合、ＣＰＵ５１１は、Ｓ３４にて取得したバージョン情報がモバイルアプリ１０のバージョン情報記憶領域１１４に記憶されているバージョン情報と一致しないと判断する。また例えば、モバイルアプリ１０を前回起動した後、管理者が、画像ファイルＸ１〜Ｘ３を記憶する共有フォルダ３１に対して画像ファイルＸ４を追加した場合、設定ファイル３２のバージョン情報記憶領域３４に記憶されるバージョン情報が変更されている。この場合、ＣＰＵ５１１は、モバイルアプリ１０に保持されるバージョン情報と、設定ファイル３２から取得したバージョン情報が一致しないと判断する。
【００７６】
ＣＰＵ５１１は、Ｓ３４にて取得したバージョン情報がモバイルアプリ１０のバージョン情報記憶領域１１４に記憶されているバージョン情報と一致しないと判断する場合（Ｓ３５：ＮＯ）、第１通信ＩＦ５２を介して、Ｓ３４にて取得したＵＲＬ情報が示す共有フォルダ３１から画像ファイルＸをダウンロードする（Ｓ３６）。Ｓ３６の処理は、第４通信処理の一例である。設定ファイル３２から取得したＵＲＬ情報は、共有フォルダ３１を識別するものなので、ＣＰＵ５１１は、個々の画像ファイルＸの識別情報が入力されなくても、共有フォルダ３１内の画像ファイルＸを一括してダウンロードできる。つまり、作業者は、個々の画像ファイルＸの識別情報を入力する手間をかけずに、複数の画像ファイルＸをＳＰ５にダウンロードさせることができる。
【００７７】
そして、ＣＰＵ５１１は、Ｓ３４にて取得したバージョン情報をモバイルアプリ１０に保持させる（Ｓ３７）。Ｓ３７の処理は、記憶処理の一例である。つまり、ＣＰＵ５１１は、Ｓ３４にて取得したバージョン情報をモバイルアプリ１０のバージョン情報記憶領域１１４に上書き記憶させる。
【００７８】
それから、ＣＰＵ５１１は、転送要求画面を表示する（Ｓ３８）。例えば、図６に示すメイン画面２４のように、ＣＰＵ５１１は、転送指示を入力するためのアップデート指示ボタン２４１をメイン画面２４に合成し、操作パネル５４に表示させる。その後、ＣＰＵ５１１は、図８のＳ１１に進む。
【００７９】
これに対して、ＣＰＵ５１１は、Ｓ３４にて取得したバージョン情報がモバイルアプリ１０のバージョン情報記憶領域１１４に記憶されているバージョン情報と一致すると判断する場合（Ｓ３５：ＹＥＳ）、設定ファイル３２へのＵＲＬ情報が更新されたか否かを判断する（Ｓ３９）。つまり、ＣＰＵ５１１は、Ｓ３２にて、設定されたＵＲＬをモバイルアプリ１０のＵＲＬ情報記憶領域１１１に記憶したか否かを判断する。
【００８０】
ＣＰＵ５１１は、Ｓ３２にて、設定されたＵＲＬをモバイルアプリ１０のＵＲＬ情報記憶領域１１１に記憶した場合、設定ファイルへのＵＲＬ情報が更新されたと判断し（Ｓ３９：ＹＥＳ）、Ｓ３６に進む。つまり、ＵＲＬ情報記憶領域１１１のＵＲＬ情報に新たなＵＲＬ情報が書き込まれた場合、管理者が新たに画像ファイルＸを追加している可能性が高い。そこで、ＣＰＵ５１１は、当該ＵＲＬ情報が示す共有フォルダ３１に接続して、画像ファイルＸをダウンロードする。
【００８１】
一方、ＣＰＵ５１１は、Ｓ３２にて、設定されたＵＲＬをモバイルアプリ１０のＵＲＬ情報記憶領域１１１に記憶しない場合、設定ファイルへのＵＲＬ情報が更新されていないと判断し（Ｓ３９：ＮＯ）、転送不要通知画面を表示する（Ｓ４０）。Ｓ４０の処理は、通知処理の一例である。つまり、ＣＰＵ５１１は、モバイルアプリ１０のバージョン情報記憶領域１１４に記憶されたバージョン情報もＵＲＬ情報記憶領域１１１に記憶されたＵＲＬ情報も、前回起動時と同じであることは、ＵＲＬ情報が示す共有フォルダ３１に記憶された画像ファイルＸが、前回起動時に保存フォルダ１２に記憶させた画像ファイルＸと同じであることを意味する。そこで、例えば、ＣＰＵ５１１は、「指定された画像ファイルはダウンロード済みなので、ダウンロードしません。」とのメッセージを操作パネル５４に表示させる。なお、転送不要通知は、スピーカ５５から音声出力させても良い。これにより、ユーザは、重複した画像ファイルＸをダウンロードしたりモバイルプリンタ６に送信したりする必要がないことを確認できるので、画像ファイルＸのダウンロードやモバイルプリンタ６へのデータ送信にかかる手間を省くことができる。
【００８２】
転送不要通知画面を表示したＣＰＵ５１１は、画像ファイルＸのダウンロードを実行したり、バージョン情報をモバイルアプリ１０に記憶させたり、アップデート指示ボタン２４１をメイン画面２４に表示させることなく、図８のＳ１１に進む。つまり、ＣＰＵ５１１は、クラウドサーバ２に記憶される画像ファイルＸと不揮発性メモリ５１４にダウンロード済みの画像ファイルＸとが同じ場合は、Ｓ３６〜Ｓ３８の処理を省き、画像ファイルＸのダウンロード等をキャンセルすることで、処理の負荷が軽減される。
【００８３】
以上詳細に説明したように、本形態のモバイルアプリ１０は、クエリ２１２でＵＲＬ情報２１２ａが渡されている場合、そのＵＲＬ情報２１２ａを用いることで、ユーザからのＵＲＬ情報の入力を待つことなく、そのアドレス情報が示すクラウドサーバ２にアクセスし、クラウドサーバ２から画像ファイルＸのダウンロードを開始できる。すなわち、ユーザはＵＲＬ情報の入力を省略できる。また、モバイルアプリ１０は、クエリ２１２に含まれるＵＲＬ情報２１２ａを不揮発性メモリ５１４に記憶させるため、次回の操作時に、不揮発性メモリ５１４に記憶したＵＲＬ情報２１２ａを用いることができるため、ここでもユーザからのＵＲＬ情報の入力を待つことなく、クラウドサーバ２から画像ファイルＸのダウンロードを開始できる。すなわち、ユーザはＵＲＬ情報の入力を省略できる。
【００８４】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。
【００８５】
ＳＰ５は、メーラ１４の種類によっては、操作パネル５４に表示されるＵＲＬスキーム２１１をタップしても、メーラ１４からＯＳ１５にコマンド２１３が渡されず、モバイルアプリ１０が起動しないことがある。すなわち、アプリによっては、ＵＲＬスキーム２１１を認識できない場合もある。この場合、作業者は、図７に示すように電子メールに埋め込まれたＵＲＬ情報２１２ａをコピーし、図４のインタフェース２２２のＵＲＬ入力欄２２２ａにペーストする。よって、作業者は、ＵＲＬ入力欄２２２ａにＵＲＬ情報を１から手入力する必要がなく、操作の手間が軽減される。尚、上記形態のように、ＵＲＬスキーム２１１の起動時にＯＳ１５からＵＲＬ情報２１２ａを含むクエリ２１２がモバイルアプリ１０に渡される構成を採用し、ＵＲＬスキーム２１１を利用することで、ユーザはＵＲＬ情報が記載されたテキストをタップするだけでモバイルアプリ１０を起動することができる。
【００８６】
上記形態では、ＵＲＬ情報２１２ａを含むクエリ２１２を電子メールに埋め込ませ、メーラ１４からＯＳ１５を介してモバイルアプリ１０に渡した。これに対して、例えば、ブラウザ１３によって表示可能なウェブページに、ＵＲＬ情報２１２ａを含むＵＲＬスキーム２１１を入力し、ＯＳ１５からモバイルアプリ１０にＵＲＬ情報２１２ａを渡すようにしても良い。
【００８７】
例えば、図８のＳ６、Ｓ１３の処理を省略し、モバイルアプリ１０内にデバイス情報を記憶させず、毎回、図５に示すデバイス選択画面２３を表示してデバイスを選択させるようにしても良い。但し、ＣＰＵ５１１にＳ６、Ｓ１３の処理を実行させることで、図４に示す初期画面２２のインタフェース２２２を介してＵＲＬ情報を入力する手間だけでなく、図５に示すデバイス選択画面２３を介してデバイスを選択する手間を省くことができる。
【００８８】
例えば、図８のＳ２０、Ｓ１３の処理を省略し、クエリ２１２がデバイス情報を含まないようにしても良い。この場合、クエリ２１２のＵＲＬ情報２１２ａを利用して画像ファイルＸをダウンロードするときに、ＣＰＵ５１１は、図５に示すデバイス選択画面２３を表示してデバイスを選択させる。但し、ＣＰＵ５１１に図８のＳ２０、Ｓ１３の処理を実行させ、クエリ２１２にデバイス情報を含めることにより、ＣＰＵ５１１は、図５に示すデバイス選択画面２３を操作パネル５４に表示させて、デバイスの選択を待つ必要がなくなる。また、クエリ２１２に含められたデバイス情報をモバイルアプリ１０に保持させることで、ＣＰＵ５１１は、次回の操作時にも、モバイルアプリ１０に保持されたデバイス情報を利用できるようになる。そのため、次回の操作時にも、デバイスの選択を待たずに、画像ファイルＸのダウンロードを開始できる。つまり、ユーザがデバイスを選択する手間を省くことができる。
【００８９】
例えば、ＣＰＵ５１１は、図８のＳ１６〜Ｓ１９の処理を実行しなくても良い。例えば、クエリ２１２の適正を判断することなく、モバイルアプリ１０がクエリ２１２を渡されたらすぐに、ダウンロードを開始しても良い。また、例えば、ＣＰＵ５１１は、図８のＳ１７、Ｓ１９の処理を実行しなくても良い。例えば、エラーの内容を通知せず、エラーが発生した事実のみを通知するようにしても良い。但し、クエリ２１２に含まれるＵＲＬ情報２１２ａの適正やクラウドサーバ２との通信状態を確認し、エラー内容を区別して通知することで、ユーザがエラーに対応しやすくなる。
【００９０】
例えば、設定ファイル３２に画像ファイルＸの識別情報を記憶させ、画像ファイルＸ毎にダウンロードを実行するようにしても良い。但し、上記形態のように、共有フォルダ３１毎にダウンロードを実行することで、複数の画像ファイルＸを一度にダウンロードできる。つまり、ユーザが画像ファイルＸを１個ずつ指定してダウンロードする手間を省くことができる。
【００９１】
例えば、図９のＳ３５，Ｓ３９，Ｓ４０の処理を省略し、画像ファイルＸの同一性を確認せずに、ダウンロードを実行するようにしても良い。ただし、ＣＰＵ５１１が図９のＳ３５，Ｓ３９，Ｓ４０の処理を実行することで、ダウンロードの重複を回避して、処理の負荷を軽減できる。また、転送不要通知を通知することで、ユーザのダウンロードの操作の手間を省くことができる。
【００９２】
例えば、図９のＳ３５では、バージョン情報が一致するか否かを判断したが、設定ファイル３２のバージョン情報が新しいか古いかを判断し、新しい場合には、画像ファイルＸをダウンロードし、古い場合には、画像ファイルＸをダウンロードしないようにしても良い。この場合、ＣＰＵ５１１は、重複したダウンロードを回避するだけではなく、旧いバージョンのダウンロードを回避し、処理の負荷を軽減できる。
【００９３】
例えば、ＵＲＬスキーム２１１は、複数の機種のデバイスについて、それぞれ異なるデータを取得するものであっても良い。つまり、例えば、ＳＰ５は、ＵＲＬスキーム２１１を利用してクラウドサーバ２に接続する場合に、第２通信ＩＦ５３を用いて通信可能なデバイスを選択し、選択したデバイスの機種のコンテンツデータをクラウドサーバ２からダウンロードしても良い。
【００９４】
例えば、ＵＲＬスキーム２１１は、クラウドサーバ２のＵＲＬ情報と、デバイスを特定するデバイス特定情報とが、クエリ２１２に含まれていても良い。デバイス特定情報には、デバイスのモデルを示すモデル情報が含まれていても良い。この場合、ＳＰ５は、ＵＲＬスキーム２１１を利用してクラウドサーバ２にアクセスする場合に、デバイス特定情報に対応するコンテンツデータをクラウドサーバ２からダウンロードして良い。例えば、モデル情報が示すモデルに対応するコンテンツデータをダウンロードして良い。そして、ＳＰ５は、第２通信ＩＦ５３を用いて、デバイス特定情報に対応するデバイスを検索して良い。例えば、モデル情報が示すモデルのデバイスを検索して良い。検索したデバイスの中から選択された選択デバイスに、ダウンロードしたコンテンツデータを送信して良い。デバイス特定情報は、シリアル番号など、デバイスの個体を識別する情報であっても良い。
【００９５】
例えば、クラウドサーバ２は、オフラインで利用されるファイルサーバであっても良い。この場合、クラウドサーバ２のＵＲＬ情報に変えて、ファイルサーバのＵＲＬ情報を用いて良い。
【００９６】
例えば、クラウドサーバ２は、複数の画像ファイルＸに共通する識別情報を付加し、共有フォルダ３１に格納せずに記憶しても良い。この場合、設定ファイル３２には、共有フォルダ３１のＵＲＬ情報に変えて、識別情報を記憶させておいて良い。モバイルアプリ１０は、設定ファイル３２に記憶されている識別情報が付加された複数の画像ファイルＸをダウンロードして良い。
【００９７】
例えば、Ｓ１７の処理では、作業者が、図６に示すメイン画面２４のインフォメーションアイコン２４３をタップした場合に、ＣＰＵ５１１が、「ＵＲＬ情報の書式が誤っています。管理者にこの旨を連絡して下さい。」など、エラーの原因と対処法に関するメッセージを、操作パネル５４に表示するようにしても良い。尚、Ｓ１７の処理は、エラーメッセージをスピーカ５５から音声出力しても良い。
【００９８】
図７のＵＲＬスキーム２１１は、「mobile#app://?url=http://123.456.78.9/file.json」としても良い。この場合、「mobile#app://」がモバイルアプリ１０の起動を指示するコマンドになる。
【００９９】
また、メモリの一例は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のクラウドサーバ２などからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【０１００】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【０１０１】
２        クラウドサーバ
６        モバイルプリンタ
１０      モバイルアプリ
５        ＳＰ
５２      第１通信ＩＦ
５３      第２通信ＩＦ
２１２    クエリ
２１２ａ  ＵＲＬ情報
２２２    インタフェース
５１１    ＣＰＵ
Ｘ        画像ファイル
【図１】
2019153031.tif 000003
【図２】
2019153031.tif 000004
【図３】
2019153031.tif 000005
【図４】
2019153031.tif 000006
【図５】
2019153031.tif 000007
【図６】
2019153031.tif 000008
【図７】
2019153031.tif 000009
【図８】
2019153031.tif 000010
【図９】
2019153031.tif 000011