(57)【要約】【課題】各種のデータを複数のアプリケーション間で共有することができる技術を提供すること。【解決手段】情報処理装置には、共有元アプリケーションと共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えたＯＳがインストールされている。情報処理プログラムは、ＯＳが備える共有機能を介して、共有元アプリケーションが出力する出力ファイルおよび出力ファイルの特性を示す特性情報を受信する第１の受信手段として、情報処理装置を機能させる。受信した特性情報に基づいて、受信した出力ファイルに対し固有の文字列である固有文字列を生成する文字列生成手段として、情報処理装置を機能させる。文字列生成手段が生成した固有文字列および第１の受信手段で受信した出力ファイルを互いに関連付けて記憶部に記憶させる記憶制御手段として、情報処理装置を機能させる。【選択図】図３
2015139096.tif 000002
【特許請求の範囲】
【請求項１】
各種のアプリケーションを動作させることができる情報処理装置であって、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えたオペレーティングシステムがインストールされた前記情報処理装置に読込まれる情報処理プログラムであって、
前記情報処理プログラムは、
前記オペレーティングシステムが備える共有機能を介して、共有元アプリケーションが出力する出力ファイルおよび前記出力ファイルの特性を示す特性情報を、共有先アプリケーションとして受信する第１の受信手段と、
共有先アプリケーションとして受信した前記特性情報に基づいて、共有先アプリケーションとして受信した前記出力ファイルに対し、固有の文字列である固有文字列を生成する文字列生成手段と、
前記文字列生成手段が生成した前記固有文字列および前記第１の受信手段で受信した前記出力ファイルを互いに関連付けて記憶部に記憶させる記憶制御手段と、
して前記情報処理装置を機能させることを特徴とする情報処理プログラム。
【請求項２】
前記情報処理装置は、印刷仲介サーバおよびプリンタと通信を実行するための通信インターフェースを備えており、
前記記憶制御手段は、前記出力ファイルに対して固有である固有文字列を、前記出力ファイルに基づく印刷データを識別する識別文字列として、前記通信インターフェースを介して印刷仲介サーバに記憶させ、
前記情報処理プログラムは、
前記印刷仲介サーバから、前記印刷仲介サーバが記憶しているＭ個（前記Ｍは２以上の整数）の識別文字列を、前記通信インターフェースを介して受信する第２の受信手段と、
前記第２の受信手段が受信した前記Ｍ個の識別文字列の中から第１の識別文字列をユーザに選択させるための第１の選択画面を、前記情報処理装置の表示部に表示させる第１の表示制御手段と、
して前記情報処理装置をさらに機能させ、
さらに、前記情報処理プログラムは、
前記第１の選択画面を介して選択された前記第１の識別文字列を含む印刷指示を前記通信インターフェースを介して前記プリンタに送信する第２の送信手段であって、前記第１の識別文字列は、前記印刷指示を受信した前記プリンタが、前記第１の識別文字列によって識別される印刷データを取得して印刷するために、前記プリンタによって利用される、前記第２の送信手段と、
して前記情報処理装置をさらに機能させることを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記文字列生成手段は、前記特性情報に前記出力ファイルの概要を示すサブジェクト文字列が含まれている場合には、当該サブジェクト文字列を前記特性情報から抽出し、抽出したサブジェクト文字列を含む前記固有文字列を生成することを特徴とする請求項１または２に記載の情報処理プログラム。
【請求項４】
前記文字列生成手段は、前記特性情報に前記出力ファイルのファイルパスが含まれている場合には、当該ファイルパス内に含まれる前記出力ファイルのファイル名を示すファイル名文字列と当該ファイルパス内に含まれる他の文字列とを区別する特定文字を当該ファイルパス内で検索し、検出された前記特定文字によって区別されている前記ファイル名文字列を前記特性情報から抽出し、抽出した前記ファイル名文字列を含む前記固有文字列を生成することを特徴とする請求項１〜３の何れか１項に記載の情報処理プログラム。
【請求項５】
前記文字列生成手段は、
前記特性情報に前記サブジェクト文字列が含まれている場合には、前記サブジェクト文字列を含む前記固有文字列を生成し、
前記特性情報に前記サブジェクト文字列が含まれていない場合に、前記特性情報に前記ファイル名文字列が含まれている場合には、前記ファイル名文字列を含む前記固有文字列を生成することを特徴とする請求項４に記載の情報処理プログラム。
【請求項６】
前記文字列生成手段は、前記ファイルパス内から前記ファイル名文字列を抽出できない場合には、前記ファイルパスを含む前記固有文字列を生成することを特徴とする請求項４または５に記載の情報処理プログラム。
【請求項７】
前記情報処理プログラムは、前記共有元アプリケーションを識別するアプリケーション識別文字列を共有先アプリケーションとして受信する第３の受信手段として前記情報処理装置をさらに機能させ、
前記文字列生成手段は、前記第３の受信手段によって受信された前記アプリケーション識別文字列を含む前記固有文字列を生成することを特徴とする請求項１または２に記載の情報処理プログラム。
【請求項８】
前記出力ファイルおよび前記特性情報を前記共有元アプリケーションから受信する受信指示の入力を受け付ける入力受付手段として、前記情報処理プログラムは前記情報処理装置をさらに機能させ、
前記第３の受信手段は、前記入力受付手段が前記受信指示の入力を受け付けることに応じて、前記アプリケーション識別文字列を受信し、
前記文字列生成手段は、前記第３の受信手段が受信した前記アプリケーション識別文字列が予め定められた第１種の文字列である場合には、前記アプリケーション識別文字列を含む前記固有文字列を生成することを特徴とする請求項７に記載の情報処理プログラム。
【請求項９】
前記文字列生成手段は、前記第３の受信手段が受信した前記アプリケーション識別文字列が予め定められた第２種の文字列である場合には、前記特性情報に含まれている前記出力ファイルのファイルパスに基いて前記出力ファイルにアクセスし、前記出力ファイルの日付情報を示す日付文字列を取得し、取得した前記日付文字列を含む前記固有文字列を生成することを特徴とする請求項８に記載の情報処理プログラム。
【請求項１０】
前記出力ファイルを前記共有元アプリケーションから受信する受信指示の入力を受け付ける入力受付手段として、前記情報処理プログラムは前記情報処理装置をさらに機能させ、
前記文字列生成手段は、前記入力受付手段が前記受信指示の入力を受け付けてから、前記記憶制御手段が前記出力ファイルおよび前記固有文字列を前記記憶部に記憶させるまでの間に、前記固有文字列を生成することを特徴とする請求項１〜９の何れか１項に記載の情報処理プログラム。
【請求項１１】
前記文字列生成手段は、前記特性情報に前記出力ファイルを識別するための文字列が含まれていない場合には、予め規定した所定文字列を含む前記固有文字列を生成することを特徴とする請求項１〜１０の何れか１項に記載の情報処理プログラム。
【請求項１２】
前記情報処理プログラムは、前記共有元アプリケーションを識別するアプリケーション識別文字列を共有先アプリケーションとして受信する第３の受信手段として前記情報処理装置をさらに機能させ、
前記文字列生成手段は、前記特性情報に前記出力ファイルを識別するための文字列が含まれていない場合には、前記第３の受信手段によって受信された前記アプリケーション識別文字列を含む前記固有文字列を生成することを特徴とする請求項１〜１０の何れか１項に記載の情報処理プログラム。
【請求項１３】
各種のアプリケーションを動作させることができる情報処理装置であって、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えたオペレーティングシステムがインストールされた前記情報処理装置であって、
前記オペレーティングシステムが備える共有機能を介して、共有元アプリケーションが出力する出力ファイルおよび前記出力ファイルの特性を示す特性情報を、共有先アプリケーションとして受信する第１の受信手段と、
共有先アプリケーションとして受信した前記特性情報に基づいて、共有先アプリケーションとして受信した前記出力ファイルに対し、固有の文字列である固有文字列を生成する文字列生成手段と、
前記文字列生成手段が生成した前記固有文字列および前記第１の受信手段で受信した前記出力ファイルを互いに関連付けて記憶部に記憶させる記憶制御手段と、
を備えることを特徴とする情報処理装置。
【請求項１４】
各種のアプリケーションを動作させることができる情報処理装置であって、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えたオペレーティングシステムがインストールされた前記情報処理装置の制御方法であって、
前記オペレーティングシステムが備える共有機能を介して、共有元アプリケーションが出力する出力ファイルおよび前記出力ファイルの特性を示す特性情報を、共有先アプリケーションとして受信する第１の受信ステップと、
共有先アプリケーションとして受信した前記特性情報に基づいて、共有先アプリケーションとして受信した前記出力ファイルに対し、固有の文字列である固有文字列を生成する文字列生成ステップと、
前記文字列生成ステップが生成した前記固有文字列および前記第１の受信ステップで受信した前記出力ファイルを互いに関連付けて記憶部に記憶させる記憶制御ステップと、
を備えることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示されている技術は、各種のデータを複数のアプリケーション間で共有することができる情報処理プログラム等に関する。
【背景技術】
【０００２】
携帯端末には、「共有機能」と称される機能を有するものが存在する。共有機能は、ユーザが操作している一のアプリケーションから他のアプリケーションへデータを渡し、他のアプリケーションでデータを処理させる機能である。また、特許文献１には、クラウド印刷サービスの一例が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１１７７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
他のアプリケーションが、一のアプリケーションから渡されたデータの識別文字列として、単なる連続番号の文字列を付与したと想定する。この場合、ユーザが識別文字列を見ても、一のアプリケーションから他のアプリケーションに渡したデータがどれかを区別することが困難になる。
【課題を解決するための手段】
【０００５】
本明細書に開示されている情報処理プログラムは、各種のアプリケーションを動作させることができる情報処理装置であって、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えたオペレーティングシステムがインストールされた情報処理装置に読込まれる情報処理プログラムであって、情報処理プログラムは、オペレーティングシステムが備える共有機能を介して、共有元アプリケーションが出力する出力ファイルおよび出力ファイルの特性を示す特性情報を、共有先アプリケーションとして受信する第１の受信手段と、共有先アプリケーションとして受信した特性情報に基づいて、共有先アプリケーションとして受信した出力ファイルに対し、固有の文字列である固有文字列を生成する文字列生成手段と、文字列生成手段が生成した固有文字列および第１の受信手段で受信した出力ファイルを互いに関連付けて記憶部に記憶させる記憶制御手段と、して情報処理装置を機能させることを特徴とする。
【０００６】
上記の構成によると、受信した出力ファイルを識別する文字列である固有文字列を、特性情報に基づいて生成することができる。これによりユーザは、記憶部に記憶されている複数の出力ファイルのうち、共有元アプリケーションから共有先アプリケーションに渡された出力ファイルに、固有文字列に基いてアクセスすることが容易となる。
【０００７】
本明細書に記載されている情報処理プログラム等によれば、印刷仲介サーバに記憶されている複数の出力ファイルの各々を、識別文字列を用いて識別することが可能となる。これにより、共有元アプリケーションから共有先アプリケーションに渡された出力ファイルを用いて、プリンタに印刷を実行させることが可能となる。
【０００８】
本明細書に記載されている情報処理プログラム等によれば、出力ファイルの概要を示すサブジェクト文字列を、固有文字列として使用することができる。これにより、印刷仲介サーバに記憶されている複数の出力ファイルの各々を、サブジェクト文字列を用いて識別することが可能となる。
【０００９】
本明細書に記載されている情報処理プログラム等によれば、出力ファイルのファイル名を示すファイル名文字列を、固有文字列として使用することができる。これにより、印刷仲介サーバに記憶されている複数の出力ファイルの各々を、ファイル名文字列を用いて識別することが可能となる。
【００１０】
本明細書に記載されている情報処理プログラム等によれば、サブジェクト文字列をファイル名文字列よりも優先して、固有文字列として使用することができる。
【００１１】
本明細書に記載されている情報処理プログラム等によれば、ファイルパス内からファイル名文字列を抽出できない場合には、ファイルパスを、固有文字列として使用することができる。
【００１２】
本明細書に記載されている情報処理プログラム等によれば、ファイル出力元のアプリケーションを識別するアプリケーション識別文字列を、固有文字列として使用することができる。
【００１３】
本明細書に記載されている情報処理プログラム等によれば、アプリケーション識別文字列の内容に応じて、固有文字列に使用する文字列を決定することができる。
【００１４】
本明細書に記載されている情報処理プログラム等によれば、受信指示の入力を受け付けてから、出力ファイルを記憶部に記憶させるまでの間に、固有文字列を生成することができる。これにより、出力ファイルに対して固有文字列を関連付けて記憶させることが可能となる。
【００１５】
本明細書に記載されている情報処理プログラム等によれば、特性情報に出力ファイルを識別するための文字列が含まれていない場合には、所定文字列を固有文字列として使用することができる。所定文字列の一例としては、オペレーティングシステムから取得した日付情報を示す文字列が挙げられる。これにより、固有文字列を確実に生成することができる。
【００１６】
なお、本明細書に開示の技術は、情報処理装置、情報処理装置を制御する制御装置、情報処理システム、情報処理方法、情報処理プログラムを記録する記録媒体等の種々の態様で実現可能である。
【図面の簡単な説明】
【００１７】
【図１】通信システムの構成を示す。
【図２】サブミットプロセスのシーケンス図を示す。
【図３】印刷プロセスのシーケンス図を示す。
【図４】ジョブ名生成処理のフロー図を示す。
【図５】ジョブ名生成処理のフロー図を示す。
【図６】ジョブ名選択画面の一例を示す。
【発明を実施するための形態】
【００１８】
（通信システムの構成）
図１に、本願に係る実施形態として例示される通信システム１のブロック図を示す。通信システム１は、携帯電話１０、プリンタ１１０、アクセスポイント６２、印刷仲介サーバ１００、基地局６１を備える。アクセスポイント６２は、既知の中継装置である。印刷仲介サーバ１００は、インターネット７０および基地局６１を介して携帯電話１０と通信することが可能である。また印刷仲介サーバ１００は、インターネット７０およびアクセスポイント６２を介してプリンタ１１０と通信することが可能である。
【００１９】
（携帯電話１０の構成）
携帯電話１０は、Ａｎｄｒｏｉｄ（Google Inc.の登録商標）のプラットフォームを搭載した携帯電話である。携帯電話１０は、ＣＰＵ１１、記憶部１２、ＮＦＣ（Near Field Communicationとも称する）インターフェース１５、ボタン入力部１７、パネル１８、携帯電話インターフェース２２、カメラ部２７、を主に備えている。ＣＰＵ１１は、記憶部１２に記憶されるプログラムや、ＮＦＣ＿Ｉ／Ｆ１５を介して送受信される各種信号などに従って、各機能の制御を行う。またＣＰＵ１１は、プログラムを読み取ることで、各種の手段として機能する。本明細書では、インターフェースのことを「Ｉ／Ｆ」と記載する。
【００２０】
ＮＦＣ＿Ｉ／Ｆ１５は、いわゆる近距離無線通信のためのＮＦＣ方式に従った無線通信２００（以下では「ＮＦＣ通信２００」と呼ぶ）を実行するためのＩ／Ｆ（即ち、ＩＣチップ、通信回路）である。ＮＦＣ方式は、例えば、ＩＳＯ／ＩＥＣ２１４８１又は１８０９２の国際標準規格に基づく無線通信方式である。携帯電話Ｉ／Ｆ２２は、基地局６１との間で無線通信２１０を行う。無線通信２１０は、３Ｇ、４Ｇ等のセルラー方式の無線通信であってもよい。ボタン入力部１７は、携帯電話１０の各機能を実行するためのキーである。ボタン入力部１７は、タッチパネルとして、パネル１８と一体に構成されていてもよい。パネル１８は、携帯電話１０の各種機能情報を表示する。
【００２１】
記憶部１２は、プログラム２１、インテントテーブル１４、を備える。なお、記憶部１２は、ＲＡＭ（Random Access Memoryとも称する）、ＲＯＭ（Read Only Memoryとも称する）、フラッシュメモリ、ＨＤＤ（ハードディスクとも称する）、ＳＤカード（ＳＤアソシエーションの登録商標）、などが組み合わされて構成されているとしてもよい。記憶部１２は、コンピュータが読み取り可能なストレージ媒体であってよい。コンピュータが読み取り可能なストレージ媒体とは、ＲＯＭ、ＲＡＭ、フラッシュメモリ、ハードディスクなどのnon-transitoryな媒体である。インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、non-transitoryな媒体には含まれない。
【００２２】
プログラム２１は、印刷アプリケーション２１ａ、ブラウザアプリケーション２１ｂ、ギャラリーアプリケーション２１ｃ、メールアプリケーション２１ｄ、第１ストレージアプリケーション２１ｅ、第２ストレージアプリケーション２１ｆ、オペレーティングシステム２１ｇ（以下、ＯＳ２１ｇと記載する）、を備えている。ＯＳ２１ｇは、ＡｎｄｒｏｉｄプラットフォームのＯＳである。印刷アプリケーション２１ａないし第２ストレージアプリケーション２１ｆの各々は、Ａｎｄｒｏｉｄ用のアプリケーションである。
【００２３】
印刷アプリケーション２１ａは、印刷仲介サーバ１００を利用して、プリンタ１１０に印刷を実行させるためのアプリケーションである。印刷アプリケーション２１ａは、プリンタ１１０のベンダによって提供されるアプリケーションである。印刷アプリケーション２１ａは、インターネット上の不図示のサーバから携帯電話１０にインストールされてもよいし、プリンタ１１０と共に出荷されるメディアから携帯電話１０にインストールされてもよい。
【００２４】
ブラウザアプリケーション２１ｂは、印刷仲介サーバ１００から取得したウェブデータを、パネル１８に表示させるためのアプリケーションである。ギャラリーアプリケーション２１ｃは、画像データに基づく画像をパネル１８に表示させたり、画像データに各種の変換（色補正など）を行うためのアプリケーションである。メールアプリケーション２１ｄは、無線通信２１０を介してメールを送信するためのアプリケーションである。
【００２５】
第１ストレージアプリケーション２１ｅおよび第２ストレージアプリケーション２１ｆは、各種のデータを不図示の外部サーバに保存しておき、必要な場合にアクセスすることができるアプリケーションである。これらのアプリケーションの一例としては、ＤｒｏｐＢｏｘ（Dropbox, Inc.の登録商標）や、Ｅｖｅｒｎｏｔｅ（Ｅｖｅｒｎｏｔｅ社の登録商標）が挙げられる。
【００２６】
また、印刷アプリケーション２１ａ〜第２ストレージアプリケーション２１ｆの各々は、アプリケーションを識別するためのアプリケーション名を有している。印刷アプリケーション２１ａのアプリケーション名は、「印刷アプリ」である。ブラウザアプリケーション２１ｂのアプリケーション名は、「ブラウザ」である。ギャラリーアプリケーション２１ｃのアプリケーション名は、「ギャラリー」である。メールアプリケーション２１ｄのアプリケーション名は、「メール」である。第１ストレージアプリケーション２１ｅのアプリケーション名は、「第１ストレージ」である。第２ストレージアプリケーション２１ｆのアプリケーション名は、「第２ストレージ」である。
【００２７】
ＯＳ２１ｇは、印刷アプリケーション２１ａないしメールアプリケーション２１ｄに共通して利用される基本的な機能を提供するプログラムである。またＯＳ２１ｇは、印刷アプリケーション２１ａないしメールアプリケーション２１ｄの各々の間での、データの受け渡しを管理する。すなわちＯＳ２１ｇは、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えている。ＯＳ２１ｇの共有機能にて、共有先アプリケーションとして利用されるために、アプリケーションは、どのデータ形式を出力・入力可能かを予めＯＳ２１ｇに宣言しておく必要がある。アプリケーション連携を行う際は、連携元のアプリケーションから連携先のアプリケーションへ、共有処理対象のデータを、ＯＳ２１ｇが規定するデータ形式で送受信する必要がある。アプリケーション連携のことをデータ共有とも称す。データ形式の一例としては、テキスト形式、ＪＰＥＧ（Joint Photographic Experts Groupとも称する）形式、および、ＰＤＦ（Portable Document Formatとも称する）形式などが挙げられる。
【００２８】
例として、印刷アプリケーション２１ａでのデータ入出力の管理方法を説明する。また例として、以下に記載する宣言文字列を満たす条件であれば、共有先アプリケーションとして動作可能であることを、印刷アプリケーション２１ａがＯＳ２１ｇに対して宣言している場合を説明する。
「ＴＹＰＥ：テキスト  ＡＣＴＩＯＮ：ＳＥＮＤ、ＶＩＥＷ」
「ＴＹＰＥ：ＪＰＥＧ  ＡＣＴＩＯＮ：ＳＥＮＤ、ＶＩＥＷ」
「ＴＹＰＥ：ＰＤＦ  ＡＣＴＩＯＮ：ＳＥＮＤ、ＶＩＥＷ」
「ＴＹＰＥ：Ｏｆｆｉｃｅ  ＡＣＴＩＯＮ：ＳＥＮＤ、ＶＩＥＷ」
ここで「ＴＹＰＥ」は、宣言しているアプリケーションが、アプリケーション連携によって、共有先アプリケーションとして受け取ることが可能なデータの形式を表す情報である。「ＡＣＴＩＯＮ：ＳＥＮＤ」は、宣言しているアプリケーションが、アプリケーション連携によって、データを送信する動作の指示を受け取ることが可能なことを表す情報である。本明細書では、アプリケーション連携における動作の指示のことを、単にアクションとも記載する。「ＡＣＴＩＯＮ：ＶＩＥＷ」は、宣言しているアプリケーションが、アプリケーション連携によって、データをユーザに表示するアクションを受け取ることが可能なことを表す情報である。なお、上記の宣言文字列は一例である。例えば、「ＴＹＰＥ」において、他の形式（例えば、ＰＮＧやＧＩＦ形式）について宣言してもよい。「ＳＥＮＤ」や「ＶＩＥＷ」以外のアクションについて宣言してもよい。
【００２９】
印刷アプリケーション２１ａからＯＳ２１ｇへ宣言する方法の一例を、説明する。印刷アプリケーション２１ａのベンダは、プログラムファイルと、付帯情報のファイルとを含んだインストールパッケージを作成する。ＯＳ２１ｇのインストーラがインストールパッケージを解凍して、印刷アプリケーション２１ａを携帯電話１０へインストールすると、印刷アプリケーション２１ａと付帯情報のファイルとが、記憶部１２に記憶される。この付帯情報のファイルの中に、上述した宣言文字列が記載されている。宣言文字列はＸＭＬ（Extensible Markup Languageとも称する）形式で記載されていてもよい。ＯＳ２１ｇは、付帯情報内の宣言文字列を解釈し、印刷アプリケーション２１ａが、アプリケーション連携において、どんな形式のデータを受け取ることが可能なのか、および、どんなアクションを受け取ることが可能なのか、を認識する。以上より、他のアプリケーションと印刷アプリケーション２１ａとを連携させることが可能となる。
【００３０】
記憶部１２は、さらに、複数のファイルＦを記憶する。複数のファイルＦの各々は、例えば、携帯電話１０によって撮影された画像を表わすファイルである。複数のファイルＦの各々は、どのようなファイル形式のファイルであってもよく、例えば、ＪＰＥＧ等のビットマップ形式のファイルであってもよいし、ベクタ形式のファイルであってもよいし、テキスト形式のファイルであってもよい。
【００３１】
インテントテーブル１４は、インテントを記憶する領域である。インテントとは、Ａｎｄｒｏｉｄプラットフォームにおいて、アプリケーション間でやり取りするメッセージの役割を果たす情報である。インテントを送る事で、他アプリケーションの呼び出しや、アプリケーション内の画面遷移などを行うことができる。すなわち、インテントにより、Ａｎｄｒｏｉｄの中の共有元アプリケーションと、共有先アプリケーションとの間の間に、橋渡しをすることが可能となる。
【００３２】
インテントの内容を説明する。インテントは文字列であるため、情報の種類を示すインデックス文字列があり、インデックス文字列に続けて情報文字列が存在する。したがって以下では、インテントの具体例は、「情報の種類：情報文字列」と記載する。インデックス文字列の一例としては、「ＡＣＴＩＯＮ」のフィールドを示す文字列「Action」、「ＴＹＰＥ」のフィールドを示す文字列「Type」、付帯情報のフィールドを示す文字列「Data」、「Extras」などが挙げられる。付帯情報のフィールドには、「ＤＡＴＡ」、「ＥＸＴＲＡ」などのフィールドが含まれている。「ＴＹＰＥ」のフィールドには、アプリケーション連携によって受け渡されるデータの形式をＭＩＭＥ（Multipurpose Internet Mail Extensionとも称する）形式で表す情報が含まれていてもよい。例えば、「image」が含まれている場合には、アプリケーション連携によって受け渡されるデータの形式は、画像データであってもよい。例えば、「text」が含まれている場合には、アプリケーション連携によって受け渡されるデータの形式は、テキストデータであってもよい。「ＤＡＴＡ」のフィールドには、「ＶＩＥＷ」のアクションにより共有されるデータに関する情報を、ＵＲＩ（Uniform Resource Identifierとも称する）形式で示す情報が含まれていてもよい。当該情報は、Ｕｒｉクラスとして表現されていてもよい。「ＥＸＴＲＡ」のフィールドには、共有先のアプリケーションに渡すための各種の情報が含まれていてもよい。
【００３３】
「ＥＸＴＲＡ」のフィールド内には、「ＴＥＸＴ」、「ＳＵＢＪＥＣＴ」、「ＳＴＲＥＡＭ」などの複数のフィールドが、さらに存在してもよい。「ＴＥＸＴ」のフィールドには、「ＳＥＮＤ」のアクションによって共有先のアプリケーションに送信されるテキスト情報が含まれていてもよい。「ＳＵＢＪＥＣＴ」のフィールドには、「ＳＥＮＤ」のアクションによって共有先のアプリケーションに送信されるデータの概要を示すサブジェクト文字列が含まれていてもよい。サブジェクト文字列の一例としては、ファイルの件名が挙げられる。なお、「ＳＵＢＪＥＣＴ」のフィールドには、必ずサブジェクト文字列が含まれているとは限らない。「ＳＴＲＥＡＭ」のフィールドには、「ＳＥＮＤ」のアクションによって共有先のアプリケーションに送信されるデータの場所を表すＵＲＩが含まれていてもよい。データは、データストリーム方式で送信されてもよい。「ＳＴＲＥＡＭ」のフィールドに含まれているＵＲＩは、データストリームをバッファする領域を示すＵＲＩであってもよい。
【００３４】
（インテントの具体例）
印刷アプリケーション２１ａ〜第２ストレージアプリケーション２１ｆの各々が、共有機能の実行時に出力するインテントの具体例を、以下に説明する。
【００３５】
ブラウザアプリケーション２１ｂは、ウェブページを表示しているときに、画面内の「送信」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.browser.1234、ＡＣＴＩＯＮ：SEND、ＴＹＰＥ：text/plane」
「付帯情報：(TEXT)String[https://www.abc.com/home/support]」
ここで、「https://」以下が、表示しているページのＵＲＬである。
【００３６】
ギャラリーアプリケーション２１ｃは、携帯端末１０内の複数の画像データのうちＪＰＧ形式の１つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.gallery.1111、ＡＣＴＩＯＮ：ＳＥＮＤ、ＴＹＰＥ：image/jpeg」
「付帯情報：(STREAM)String[file://phone/image/1101photo.jpg]」
ここで、「[file://phone/image/1101photo.jpg]」は、表示しているＪＰＧファイルのファイルパスである。また本実施形態の説明例では、表示しているＪＰＧファイルの撮影日が、２０１４年０１月２２日である場合を説明する。
【００３７】
メールアプリケーション２１ｄは、ＪＰＧデータが添付されたメールを表示している状態で、画面内の「添付ファイルを共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.mail.bz、ＡＣＴＩＯＮ：ＳＥＮＤ、ＴＹＰＥ：image/jpeg」
「付帯情報：(STREAM)String[content://mail/userA/0708/attach178]」
ここで、「content://mail/userA/0708/attach178」は、添付ＪＰＧファイルのＵＲＩである。
【００３８】
またメールアプリケーション２１ｄは、Ｏｆｆｉｃｅデータが添付されたメールを表示している状態で、画面内の「添付ファイルを共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.mail.bz、ＡＣＴＩＯＮ：ＳＥＮＤ、ＴＹＰＥ：application/office」
「付帯情報：Uri:content://mail/userA/1214/attach0.2」
ここで、「content://」以下が、添付ＯｆｆｉｃｅファイルのＵＲＩである。「Uri:」は、下位レベルのインデックス文字列である。なお、ＰＤＦデータが添付されたメールを表示している状態で、「添付ファイルを共有」ボタンが操作された場合には、出力されるインテントのＴＹＰＥが「application/pdf」となる。
【００３９】
第１ストレージアプリケーション２１ｅは、不図示のネットワークストレージ内の複数のテキスト、ＪＰＧ、ＰＤＦファイルのうち１つを表示している状態で、画面内の「エクスポート」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.store001.bsk、ＡＣＴＩＯＮ：ＳＥＮＤ、ＴＹＰＥ：text/plane」
「付帯情報：(TEXT)String[https://storage1/hk0517qy]」
ここで、「https://storage1/hk0517qy」は、表示しているファイル（例えばＰＤＦ）のＵＲＩである。
【００４０】
また第１ストレージアプリケーション２１ｅは、不図示のネットワークストレージ内の複数のテキストファイルのうち１つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.store001.bsk、ＡＣＴＩＯＮ：ＶＩＥＷ、ＴＹＰＥ：text/plane」
「付帯情報：Uri:file://sdcard/storage1/data/kn1115.txt]」
ここで、「file://sdcard/storage1/data/kn1115.txt」は、表示しているファイルのファイルパスである。当該ファイルパスは、記憶部１２の構成要素である、不図示のＳＤカードのパスである。ＳＤカードのファイルパスが用いられる場合の一例としては、ストレージ内のファイルが携帯電話にコピーされ、コピーされたファイルを表示する場合が挙げられる。
【００４１】
また第１ストレージアプリケーション２１ｅは、不図示のネットワークストレージ内の複数のＪＰＧファイルのうち１つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.store001.bsk、ＡＣＴＩＯＮ：ＶＩＥＷ、ＴＹＰＥ：image/jpeg」
「付帯情報：Uri:file://sdcard/storage1/data/Vmx12.jpg]」
ここで、「file://sdcard/storage1/data/Vmx12.jpg」は、表示しているファイルのファイルパスである。なお、ＰＮＧファイルやＧＩＦファイルを表示している状態で、「共有」ボタンが操作された場合は、出力されるインテントのＴＹＰＥが「image/png」や「image/gif」となる。
【００４２】
また第１ストレージアプリケーション２１ｅは、不図示のネットワークストレージ内の複数のＰＤＦファイルのうち１つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.store001.bsk、ＡＣＴＩＯＮ：ＶＩＥＷ、ＴＹＰＥ：application/pdf」
「付帯情報：Uri:file://sdcard/storage1/data/jm-ja11.pdf]」
なお、Ｏｆｆｉｃｅファイルを表示している状態で、「共有」ボタンが操作された場合は、出力されるインテントのＴＹＰＥが「application/office」となる。
【００４３】
第２ストレージアプリケーション２１ｆが出力するインテントを説明する。本実施形態の説明例では、不図示のネットワークストレージ内に記憶されたファイルの各々に、「件名」が設定されている場合を説明する。第２ストレージアプリケーション２１ｆは、ネットワークストレージ内の複数のテキスト、ＪＰＧ、ＰＤＦファイルのうち１つを表示している状態で、画面内の「出力」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.dat123.143、ＡＣＴＩＯＮ：ＳＥＮＤ、ＴＹＰＥ：text/plane」
「付帯情報：(TEXT)String[https://dat123/fold/Fx4-00]」
「付帯情報：(SUBJECT):String[MTG-tf@Nagoya_0401]」
ここで、「https://dat123/fold/Fx4-00」は、表示しているファイル（例えばＰＤＦ）のＵＲＩである。また、「MTG-tf@Nagoya_0401」は、表示しているファイルにつけられた件名である。
【００４４】
第２ストレージアプリケーション２１ｆは、ネットワークストレージ内の複数のＪＰＧファイルのうち１つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.dat123.143、ＡＣＴＩＯＮ：ＶＩＥＷ、ＴＹＰＥ：image/jpeg」
「付帯情報：(STREAM)String[file://sdcard/dat123/fold/tf7-03.jpg]」
ここで、「file://sdcard/dat123/fold/tf7-03.jpg」は、表示しているファイルのファイルパスである。
【００４５】
第２ストレージアプリケーション２１ｆは、ネットワークストレージ内の複数のＰＤＦファイルのうち１つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報：com.dat123.143、ＡＣＴＩＯＮ：ＶＩＥＷ、ＴＹＰＥ：application/pdf」
「付帯情報：Uri:content://dat123/fold/ nr12_09_hr.pdf」
ここで、「content://dat123/fold/ nr12_09_hr.pdf」は、表示しているファイルのファイルパスである。
【００４６】
（プリンタ１１０の構成）
プリンタ１１０は、印刷機能を実行可能な周辺機器（即ちＰＣ等の周辺機器）である。プリンタ１１０は、操作部１１２と、表示部１１４と、ＮＦＣインターフェース１１６と、無線ＬＡＮ（Local Area Networkとも称する）インターフェース１１８と、印刷実行部１２０と、制御部１３０と、を備える。各部１１２〜１３０は、バス線（符号省略）に接続されている。
【００４７】
操作部１１２は、複数のキーを備える。ユーザは、操作部１１２を操作することによって、様々な指示をプリンタ１１０に与えることができる。表示部１１４は、様々な情報を表示するためのディスプレイである。印刷実行部１２０は、インクジェット方式、レーザ方式等の印刷機構である。ＮＦＣ＿Ｉ／Ｆ１１６の構成は、前述のＮＦＣ＿Ｉ／Ｆ１５の構成と同様であるため、ここでは説明を省略する。
【００４８】
無線ＬＡＮ＿Ｉ／Ｆ１１８は、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅによって定められたＷｉ−Ｆｉ方式に従った無線通信（以下では「Ｗｉ−Ｆｉ通信」と呼ぶ）を実行するためのＩ／Ｆ（即ち、ＩＣチップ、通信回路）である。Ｗｉ−Ｆｉ方式は、例えば、ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.の略）の８０２．１１の規格、及び、それに準ずる規格（例えば、８０２．１１ａ、１１ｂ、１１ｇ、１１ｎ等）に基づく無線通信方式である。無線ＬＡＮ＿Ｉ／Ｆ１１８は、アクセスポイントを介した無線通信（即ちインフラストラクチャ方式の無線通信）を実行するためのＩ／Ｆであってもよいし、アクセスポイントを介さない無線通信（例えば、アドホック方式の無線通信、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ方式の無線通信）を実行するためのＩ／Ｆであってもよい。
【００４９】
制御部１３０は、ＣＰＵ１３２と、記憶部１３４と、を備える。ＣＰＵ１３２は、記憶部１３４に記憶されているプログラム（図示省略）に従って、様々な処理を実行するプロセッサである。記憶部１３４は、ＲＡＭ、ＲＯＭ等によって構成される。記憶部１３４は、記憶部１２と同様に、コンピュータが読み取り可能なストレージ媒体であってよい。
【００５０】
（印刷仲介サーバ１００の構成）
印刷仲介サーバ１００は、インターネット上に設置されるサーバであり、プリンタ１１０のベンダとは異なる事業者によって提供されるサーバであってもよい。もちろん、プリンタ１１０のベンダによって提供されるサーバであってもよい。
【００５１】
印刷仲介サーバ１００は、外部機器（例えば携帯電話１０）とプリンタ（例えばプリンタ１１０）との間で印刷の仲介を実行するためのサーバである。即ち、印刷仲介サーバ１００は、外部機器からサブミットされるファイルを変換して、プリンタが解釈可能なデータ形式を有する印刷データを生成し、当該印刷データを当該プリンタに供給する。従って、外部機器は、ファイルを印刷データに変換するためのプリンタドライバを備えていなくても、印刷仲介サーバ１００にファイルをサブミットすれば、プリンタに印刷を実行させることができる。
【００５２】
（本明細書における記載上の注意点）
以降、アプリケーションやＯＳ２１ｇなどのプログラムを実行するＣＰＵ１１のことを、単にプログラム名で記載する場合もある。例えば「印刷アプリケーション２１ａ」という記載が、「印刷アプリケーション２１ａを実行するＣＰＵ１１」を意味する場合もある。本明細書において、「携帯端末１０のＣＰＵ１１が、各種の情報を受信する」という記載は、「携帯端末１０のＣＰＵ１１が、携帯電話Ｉ／Ｆ２２やＮＦＣ＿Ｉ／Ｆ１５を介して各種の情報を取得する」という技術内容を含んでいるものとする。また、「携帯端末１０のＣＰＵ１１が、各種の情報を送信する」という記載は、「携帯端末１０のＣＰＵ１１が、携帯電話Ｉ／Ｆ２２やＮＦＣ＿Ｉ／Ｆ１５を介して各種の情報を出力する」という技術内容を含んでいるものとする。
【００５３】
ここで、「データ」および「情報」の文言の定義を説明する。本明細書では、「データ」と「情報」では「情報」を「データ」の上位概念として用いている。そのため、「Ａデータ」を「Ａ情報」と言い換えてもよい。また、「情報」は、「データ」としての形式（例えば、テキスト形式、バイナリ形式、フラグ形式等）が異なっていても、同一の意味内容と認識される限り、同一の情報として取り扱われる。例えば、印刷部数が２部であることを示す情報として装置が扱う限り、"COPY=2"というテキスト形式のデータと、"10"というバイナリ形式のデータとは、同じ情報である。但し、上記の「データ」および「情報」の区別は厳密なものではなく、例外的な取扱いも許容される。
【００５４】
（事前準備）
携帯電話１０のユーザは、印刷仲介サーバ１００を利用して、プリンタ１１０に印刷を実行させるために、以下の事前準備を実行する。
【００５５】
即ち、携帯電話１０のユーザは、例えば、携帯電話１０を利用して、印刷仲介サーバ１００にアカウントを申請し、アカウント情報ＡＣ１を取得する。アカウント情報ＡＣ１は、例えば、ユーザＩＤ、パスワード等を含む。なお、ユーザは、携帯電話１０を利用する代わりに、他の機器（例えば不図示のＰＣ等）を利用して、印刷仲介サーバ１００にアカウント情報ＡＣ１を登録してもよい。ユーザのアカウント情報が印刷仲介サーバ１００に登録されれば、ユーザは、印刷仲介サーバ１００を利用して、プリンタ１１０に印刷を実行させることができる。
【００５６】
（サブミットプロセス；図２）
図２を参照して、サブミットプロセスについて説明する。サブミットプロセスは、印刷対象のファイルを、印刷アプリケーション２１ａを用いて印刷仲介サーバ１００にサブミット（即ち登録）する処理である。またサブミットプロセスは、印刷アプリケーション２１ａで生成したジョブ名を、ファイルと関連付けて印刷仲介サーバ１００にサブミットする処理である。本実施形態の説明例では、第１ストレージアプリケーション２１ｅから印刷アプリケーション２１ａへファイルを共有することによって、ファイルＦｓを印刷仲介サーバ１００にサブミットする場合を説明する。
【００５７】
サブミットプロセスでは、携帯電話１０のユーザは、プリンタ１１０の近くに存在しなくてもよい。例えばユーザは、外出先で、携帯電話１０によって撮影された画像を表わすファイルを、印刷仲介サーバ１００にサブミットすることができる。
【００５８】
Ｓ１において、ユーザが、ボタン入力部１７を介して第１ストレージアプリケーション２１ｅを起動させる操作を入力すると、ＣＰＵ１１は、ＯＳ２１ｇに基づいて、第１ストレージアプリケーション２１ｅを起動する。第１ストレージアプリケーション２１ｅは、記憶部１２内の複数のファイルＦそれぞれ（図１参照）によって形成される画像を、パネル１８に表示する。また、パネル１８には、不図示のデータ共有ボタンが表示される。データ共有ボタンは、第１ストレージアプリケーション２１ｅと他のアプリケーションとの間で、ファイルを共有する旨の命令を入力するボタンである。
【００５９】
Ｓ２においてＣＰＵ１１は、ユーザによるファイル選択命令の入力を受け付ける。ファイル選択命令の入力は、複数のファイルＦそれぞれによって形成される画像の何れかに対するタッチ入力を検出することによって受け付けられてもよい。本実施形態の説明例では、共有されるファイルとして選択されたファイルを、ファイルＦｓとして説明する。Ｓ３においてＣＰＵ１１は、ユーザによるデータ共有命令の入力を受け付ける。データ共有命令の入力は、「エクスポート」ボタンへのタッチ入力を検出することによって受け付けられてもよい。
【００６０】
Ｓ４においてＣＰＵ１１は、ファイルＦｓの共有先のアプリケーションの選択入力を受け付ける。具体的には、ＣＰＵ１１は、共有先のアプリケーションの候補一覧をパネル１８に表示する。本実施形態の説明例では、印刷アプリケーション２１ａ、ブラウザアプリケーション２１ｂ、メールアプリケーション２１ｄを示す複数のボタンが表示される。そして、複数のボタンの何れかへのタッチ入力を検出することによって、共有先のアプリケーションの選択入力が受け付けられてもよい。本実施形態の説明例では、印刷アプリケーション２１ａが、共有先のアプリケーションとして選択される場合を説明する。
【００６１】
Ｓ６においてＣＰＵ１１は、印刷アプリケーション２１ａへ、起動指示を出力するとともに、Ｓ２で選択されたファイル（すなわちファイルＦｓ）を出力する。ＣＰＵ１１は、ＯＳ２１ｇに基づいて、印刷アプリケーション２１ａを起動する。そしてファイルＦｓが、印刷アプリケーション２１ａへ受け渡される。
【００６２】
Ｓ７においてＣＰＵ１１は、ジョブ名生成処理を実行する。図４および図５のフローを用いて、ジョブ名生成処理の内容を説明する。ジョブ名は、印刷仲介サーバ１００にサブミットされたファイルを識別するための、固有の文字列である。本実施形態の説明例では、ファイルＦｓを識別するためのジョブ名Ｎｓを生成する場合を、以下に説明する。
【００６３】
Ｓ８において印刷アプリケーション２１ａは、ＯＳ２１ｇが備える共有機能を介して、インテントを受信する。具体的には、インテントをインテントテーブル１４から読み出す。
【００６４】
Ｓ１０において印刷アプリケーション２１ａは、共有元アプリ識別情報を取得する。共有元アプリ識別情報は、共有元アプリケーションの種類を識別するための、インテントに含まれる文字列であり、共有元アプリ識別情報であることを示すインデックス文字列に続いている文字列である。本実施形態の説明例では、第１ストレージアプリケーション２１ｅの共有元アプリ識別情報である「com.store001.bsk」が取得される。
【００６５】
Ｓ１５において印刷アプリケーション２１ａは、ジョブ名Ｎｓを生成するために使用する文字列の種類を判断する。当該判断は、共有元アプリケーションの種類に応じて判断される。具体的には、Ｓ１０で取得した共有元アプリ識別情報に、予め定められた第１種の文字列が含まれている場合には、共有元アプリケーションのアプリケーション名である共有元アプリケーション名を用いてジョブ名Ｎｓを生成する場合であると判断され、Ｓ２０へ進む。第１種の文字列には、例えば、ブラウザアプリケーション２１ｂのアプリ識別情報である「com.browser.1234」が挙げられる。Ｓ２０において印刷アプリケーション２１ａは、共有元アプリケーション名を含むジョブ名Ｎｓを生成する。共有元アプリケーション名は、共有元アプリ識別情報が識別するアプリケーションのアプリケーション名を、印刷アプリケーション２１ａがＯＳ２１ｇに問い合わせることによって取得されるとしてもよい。そしてＳ２２０へ進む。
【００６６】
一方、Ｓ１０で取得した共有元アプリ識別情報に、第１種の文字列が含まれていない場合には、インテント内の文字列を用いてジョブ名Ｎｓを生成する場合であると判断され、Ｓ３５へ進む。Ｓ３５において印刷アプリケーション２１ａは、インテント内の「ＳＵＢＪＥＣＴ」のフィールドに、サブジェクト文字列が含まれているか否かを判断する。当該判断は、インテントから付帯情報のインデックスが検出された場合に、検出されたインデックスに続く情報の中に「ＳＵＢＪＥＣＴ」という下位のインデックスが存在するか否かによって行われてもよい。例えば、第２ストレージアプリケーション２１ｆの「出力」ボタンが操作された場合には、「付帯情報：(SUBJECT):String[MTG-tf@Nagoya_0401]」がインテントに含まれるため、Ｓ３５において肯定判断される。
【００６７】
Ｓ３５において肯定判断される場合（Ｓ３５：ＹＥＳ）には、Ｓ４０へ進む。Ｓ４０において印刷アプリケーション２１ａは、サブジェクト文字列を「ＳＵＢＪＥＣＴ」のフィールドから抽出し、抽出したサブジェクト文字列を含むジョブ名Ｎｓを生成する。例えば、「付帯情報：(SUBJECT):String[MTG-tf@Nagoya_0401]」がインテントに含まれる場合には、「MTG-tf@Nagoya_0401」というサブジェクト文字列が抽出される。そしてＳ２２０へ進む。
【００６８】
一方、Ｓ３５において否定判断される場合（Ｓ３５：ＮＯ）には、Ｓ５０へ進む。Ｓ５０において印刷アプリケーション２１ａは、インテント内の「ＤＡＴＡ」または「ＳＴＲＥＡＭ」のフィールドに、ファイルＦｓのファイルパスが含まれているか否かを判断する。当該判断は、「ＤＡＴＡ」または「ＳＴＲＥＡＭ」のフィールドに、ファイルパスを示す所定の文字列が含まれているか否かを検索することによって行われてもよい。所定の文字列の一例としては、「file://」が挙げられる。例えば、第１ストレージアプリケーション２１ｅの「共有」ボタンが操作された場合には、「付帯情報：Uri:file://sdcard/storage1/data/jm-ja11.pdf]」がインテントに含まれるため、Ｓ５０において肯定判断される。また例えば、第２ストレージアプリケーション２１ｆの「共有」ボタンが操作された場合には、「付帯情報：(STREAM)String[file://sdcard/dat123/fold/tf7-03.jpg]」がインテントに含まれるため、Ｓ５０において肯定判断される。
【００６９】
Ｓ５０において肯定判断される場合（Ｓ５０：ＹＥＳ）には、Ｓ５１へ進む。Ｓ５１において印刷アプリケーション２１ａは、ファイルパスに、ファイルＦｓのファイル名が含まれているか否かを判断する。判断方法の第１の具体例を説明する。印刷アプリケーション２１ａは、ファイルＦｓのファイル名を示すファイル名文字列を他の文字列から区別するために用いられる特定文字を、ファイルパス内で検索する。特定文字の一例としては、ファイルパスのディレクトリを区切る区切りテキスト（例：スラッシュ）のうち、最後の区切りテキストが挙げられる。特定文字が検出された場合には、印刷アプリケーション２１ａは、特定文字によって区別されている文字列を、ファイル名文字列として特定する。また、判断方法の第２の具体例を説明する。印刷アプリケーション２１ａは、区切りテキスト（例：スラッシュ）で区切られた文字列の各々にうちに、拡張子（例：「．ｊｐｇ」、「．ｐｄｆ」など）を含んだ文字列が含まれているか否かを検索する。拡張子を含んだ文字列が検出された場合には、印刷アプリケーション２１ａは、当該文字列をファイル名文字列として特定する。
【００７０】
例えば、「付帯情報：Uri:file://sdcard/storage1/data/jm-ja11.pdf]」がインテントに含まれる場合には、「jm-ja11.pdf」という文字列が、ファイル名文字列として特定される。
【００７１】
Ｓ５１において肯定判断される場合（Ｓ５１：ＹＥＳ）には、Ｓ５５へ進む。Ｓ５５において印刷アプリケーション２１ａは、Ｓ５１で特定されたファイル名文字列をファイルパスから抽出する。
【００７２】
Ｓ５７において印刷アプリケーション２１ａは、日付情報を用いてジョブ名Ｎｓを生成する場合であるか否かを判断する。当該判断は、Ｓ１０で取得した共有元アプリ識別情報に、予め定められた第２種の文字列が含まれているか否かによって行われてもよい。第２種の文字列の一例としては、第１ストレージアプリケーション２１ｅのアプリケーション名である「第１ストレージ」が挙げられる。肯定判断される場合（Ｓ５７：ＹＥＳ）にはＳ５８へ進む。
【００７３】
Ｓ５８において印刷アプリケーション２１ａは、ファイルＦｓのファイルパスをインテントから読み出し、読み出したファイルパスに基いてファイルＦｓにアクセスする。また印刷アプリケーション２１ａは、ファイルＦｓを開き、ファイルＦｓの日付情報（例：撮影日時、作成日時）を示す日付文字列を取得する。そして、取得した日付文字列と、抽出したファイル名文字列と、を含むジョブ名Ｎｓを生成する。そしてＳ２２０へ進む。一方、Ｓ５７において否定判断される場合（Ｓ５７：ＮＯ）には、Ｓ６０へ進む。Ｓ６０において印刷アプリケーション２１ａは、抽出したファイル名文字列を含むジョブ名Ｎｓを生成する。そしてＳ２２０へ進む。
【００７４】
また、Ｓ５１において否定判断される場合（Ｓ５１：ＮＯ）には、Ｓ５２へ進む。Ｓ５２において印刷アプリケーション２１ａは、日付情報を用いてジョブ名Ｎｓを生成する場合であるか否かを判断する。Ｓ５２の内容は、前述したＳ５７と同様であるため、説明を省略する。肯定判断される場合（５２：ＹＥＳ）にはＳ５３へ進む。Ｓ５８において印刷アプリケーション２１ａは、ファイルＦｓから日付文字列を取得する。そして、取得した日付文字列とファイルパス全体とを含むジョブ名Ｎｓを生成する。そしてＳ２２０へ進む。一方、Ｓ５２において否定判断される場合（Ｓ５２：ＮＯ）には、Ｓ５４へ進む。Ｓ５４において印刷アプリケーション２１ａは、ファイルパス全体を含むジョブ名Ｎｓを生成する。そしてＳ２２０へ進む。
【００７５】
また、Ｓ５０において否定判断される場合（Ｓ５０：ＮＯ）には、Ｓ７０へ進む。Ｓ７０において印刷アプリケーション２１ａは、インテントの付帯情報に、ファイルＦｓに関する情報を示すＵＲＩが含まれているか否かを判断する。当該判断は、インテント内に、ＵＲＩを示す所定の文字列（例：http://、https://、contents://、など、「://」を含む文字列）が含まれているか否かを検索することによって行われてもよい。例えば、第１ストレージアプリケーション２１ｅの「エクスポート」ボタンが操作された場合には、「付帯情報：(TEXT)String[https://storage1/hk0517qy]」がインテントに含まれるため、Ｓ７０において肯定判断される。また例えば、メールアプリケーション２１ｄの「添付ファイルを共有」ボタンが操作された場合には、「付帯情報：(STREAM)String[content://mail/userA/0708/attach178]」がインテントに含まれるため、Ｓ７０において肯定判断される。
【００７６】
Ｓ７０において否定判断される場合（Ｓ７０：ＮＯ）には、Ｓ８０へ進む。Ｓ８０において印刷アプリケーション２１ａは、予め定められた規定文字列を含むジョブ名Ｎｓを生成する。規定文字列の一例としては、「Ｎｏ  Ｔｉｔｌｅ」などが挙げられる。また所定文字列の他の例としては、ＯＳ２１ｇから取得した日付情報（例：共有処理を実行した日時を示す情報）を示す文字列が挙げられる。そしてＳ２２０へ進む。
【００７７】
一方、Ｓ７０において肯定判断される場合（Ｓ７０：ＹＥＳ）には、Ｓ７３へ進む。Ｓ７３において印刷アプリケーション２１ａは、ＵＲＩに、ファイルＦｓのファイル名が含まれているか否かを判断する。Ｓ７３の処理内容は、Ｓ５１の処理と同様であるため、ここでは説明を省略する。肯定判断される場合（Ｓ７３：ＹＥＳ）にはＳ５５へ戻る。
【００７８】
一方、Ｓ７３において否定判断される場合（Ｓ７３：ＮＯ）には、Ｓ７５へ進む。Ｓ７３において否定判断される場合の例としては、メールアプリケーション２１ｄ、第１ストレージアプリケーション２１ｅ、第２ストレージアプリケーション２１ｆ、などによって共有処理が行われた場合が挙げられる。Ｓ７５において印刷アプリケーション２１ａは、ＵＲＩ全体を含むジョブ名Ｎｓを生成する。そしてＳ２２０へ進む。
【００７９】
Ｓ２２０において印刷アプリケーション２１ａは、携帯電話Ｉ／Ｆ２２を介して、アクセス要求を印刷仲介サーバ１００に供給する。印刷仲介サーバ１００は、携帯電話１０からアクセス要求を受信することに応じて、Ｓ２２２において、ログイン画面データを携帯電話１０に供給する。
【００８０】
印刷アプリケーション２１ａは、携帯電話Ｉ／Ｆ２２を介して印刷仲介サーバ１００からログイン画面データを取得すると、Ｓ２２３において、ログイン画面データによって表わされるログイン画面をパネル１８に表示させる。ユーザは、ボタン入力部１７を利用して、アカウント情報ＡＣ１を携帯電話１０に入力する。Ｓ２２４において印刷アプリケーション２１ａは、携帯電話Ｉ／Ｆ２２を介して、アカウント情報ＡＣ１を含むログイン要求を印刷仲介サーバ１００に供給する。
【００８１】
印刷仲介サーバ１００は、携帯電話１０からログイン要求を取得すると、Ｓ２２５において、ログイン要求に含まれるアカウント情報ＡＣ１の認証を実行する。具体的には、印刷仲介サーバ１００は、ログイン要求に含まれるアカウント情報ＡＣ１が、印刷仲介サーバ１００に登録済みであるか否かを判断する。アカウント情報ＡＣ１の認証が成功した場合には、印刷仲介サーバ１００は、認証トークンを生成する。生成される認証トークンは、当該サブミットプロセスのみで用いられる、ワンタイムの認証トークンであってもよい。Ｓ２２６において印刷仲介サーバ１００は、認証トークンを含むログイン成功通知を、携帯電話１０に供給する。
【００８２】
印刷アプリケーション２１ａは、携帯電話Ｉ／Ｆ２２を介して印刷仲介サーバ１００からログイン成功通知を取得することに応じて、Ｓ２２８においてサブミット要求を生成する。サブミット要求は、記憶部１２内のプリンタＩＤと、ユーザによって指定されたファイルＦｓと、Ｓ７で生成したジョブ名Ｎｓと、を含む。なお、印刷アプリケーション２１ａは、Ｓ２２８において、アカウント情報ＡＣ１に関連付けられたプリンタＩＤのリストを印刷仲介サーバ１００に要求し、返信されたプリンタＩＤのリストの中から、ファイルＦｓをサブミットする対象のプリンタＩＤを選択してもよい。この場合、Ｓ２２８においてサブミット要求に含まれるプリンタＩＤは、選択されたプリンタＩＤになる。プリンタＩＤの選択は、プリンタＩＤを選択するための画面を表示し、ユーザ入力によって指定されたプリンタＩＤを選択してもよい。
【００８３】
Ｓ２３０において印刷アプリケーション２１ａは、携帯電話Ｉ／Ｆ２２を介して、サブミット要求を印刷仲介サーバ１００に供給する。Ｓ２３１において印刷仲介サーバ１００は、ジョブ識別情報ＩＤｓを生成する。ジョブ識別情報ＩＤｓは、ファイルＦｓを用いた印刷ジョブを識別するための固有の情報である。
【００８４】
Ｓ２３３において印刷仲介サーバ１００は、サブミット要求に含まれるプリンタＩＤに関連付けて、ファイルＦｓ、ジョブ名Ｎｓ、ジョブ識別情報ＩＤｓを記憶する。この結果、印刷仲介サーバ１００では、アカウント情報ＡＣ１、プリンタＩＤ、に加えて、さらにファイルＦｓ、ジョブ名Ｎｓ、ジョブ識別情報ＩＤｓが関連付けられて記憶される。Ｓ２３６において印刷仲介サーバ１００は、サブミット成功通知を携帯電話１０に供給する。
【００８５】
印刷アプリケーション２１ａは、携帯電話Ｉ／Ｆ２２を介して、印刷仲介サーバ１００からサブミット成功通知を取得する。これにより、１個のファイルＦｓを、印刷アプリケーション２１ａが生成したジョブ名Ｎｓおよび、印刷仲介サーバ１００が生成したジョブ識別情報ＩＤｓに関連付けて印刷仲介サーバ１００にサブミットする、サブミットプロセスが終了する。
【００８６】
（印刷プロセス；図３）
続いて、図３を参照して、携帯電話１０がプリンタ１１０に印刷を実行させるための印刷プロセスについて説明する。図３において太線の矢印は、ＮＦＣ通信２００を示している。印刷プロセスでは、携帯電話１０のユーザは、プリンタ１１０の近くに存在しなくてはならない。後述するように、携帯電話１０及びプリンタ１１０がＮＦＣ通信を実行しなければならないからである。従ってユーザは、例えば、外出先から帰宅した後に、携帯電話１０を利用してプリンタ１１０に印刷を実行させる。
【００８７】
本実施形態の説明例では、図３において、印刷仲介サーバ１００に対応する破線の右側のボックスＸ１内の各情報が互いに関連付けられている場合を説明する。すなわち、アカウント情報ＡＣ１、プリンタＩＤ、ファイルＦ１〜Ｆ１１、ジョブ名Ｎ１〜Ｎ１１、およびジョブ識別情報ＩＤ１〜ＩＤ１１、が互い関連付けられて記憶されている場合を説明する。
【００８８】
携帯電話１０のユーザは、プリンタ１１０に印刷を実行させることを望む場合に、Ｓ２６０において、印刷アプリケーション２１ａを起動して、印刷操作を実行する。印刷操作は、印刷アプリケーション２１ａに従って表示される画面上で「印刷」を示すボタンを選択することを含む。
【００８９】
Ｓ２６１において印刷アプリケーション２１ａは、携帯電話Ｉ／Ｆ２２を介して、アカウント情報ＡＣ１を含むログイン要求を印刷仲介サーバ１００に供給する。印刷仲介サーバ１００は、携帯電話１０からログイン要求を取得すると、Ｓ２６２において、ログイン要求に含まれるアカウント情報ＡＣ１の認証を実行する。アカウント情報ＡＣ１の認証が成功した場合には、印刷仲介サーバ１００は、認証トークンを生成する。生成される認証トークンは、当該印刷プロセスのみで用いられる、ワンタイムの認証トークンであってもよい。Ｓ２６３において印刷仲介サーバ１００は、認証トークンを含むログイン成功通知を、携帯電話１０に供給する。
【００９０】
印刷アプリケーション２１ａは印刷指示の入力を受け付けると、Ｓ２６５において、Ｓ２６３で受信した認証トークン、及び、プリンタＩＤを含む、ファイルリスト要求を生成する。そしてＳ２８０において印刷アプリケーション２１ａは、携帯電話Ｉ／Ｆ２２を介して（即ち無線通信２１０を実行して）、ファイルリスト要求を印刷仲介サーバ１００に供給する。
【００９１】
印刷仲介サーバ１００は、携帯電話１０からファイルリスト要求を取得すると、ファイルリスト要求に含まれる認証トークン及びプリンタＩＤの認証を実行する。そして、印刷仲介サーバ１００は、認証トークン及びプリンタＩＤが登録済みであると判断する場合（即ち、認証が成功する場合）には、Ｓ２８２において、これらの情報に関連付けられているジョブ名（すなわち、ジョブ名Ｎ１〜Ｎ１１）およびジョブ識別情報（すなわち、ジョブ識別情報ＩＤ１〜ＩＤ１１）を含むファイルリストを携帯電話１０に供給する。ファイルリストには、認証トークン及びプリンタＩＤに関連付けられているファイルの印刷ステータスを示す、印刷ステータス情報が含まれていてもよい。
【００９２】
印刷アプリケーション２１ａは、携帯電話Ｉ／Ｆ２２を介して、印刷仲介サーバ１００からファイルリストを取得すると、Ｓ２８３において、ファイルリストを利用して、ジョブ名選択画面をパネル１８に表示させる。図６に、ジョブ名選択画面３０１の一例を示す。ジョブ名選択画面３０１は、ボタン画像Ｂ１〜Ｂ１１を含んでいる。ボタン画像Ｂ１〜Ｂ１１の各々は、複数回のサブミットプロセスそれぞれにおいて、印刷アプリケーション２１ａが、各アプリケーションからデータ共有によって取得し、印刷仲介サーバ１００にサブミットしたファイルＦ１〜Ｆ１１の各々を印刷対象として選択するための画像である。なお、図６において、パネル１８の表示領域に収まらないボタン画像を、パネル１８の下側に記載している。これらのパネル１８の表示領域外のボタン画像は、スクロール表示処理を行うことにより、表示領域内に表示させることが可能であってもよい。なお、印刷仲介サーバ１００が、サブミットプロセス以外の方法でプリンタＩＤに対してサブミットされたファイルもファイルリストに含ませてもよい。この場合、印刷アプリケーション２１ａは、サブミットプロセス以外の方法でプリンタＩＤに対してサブミットされたファイルも、印刷対象の選択肢としてジョブ名選択画面に含ませてもよい。
【００９３】
ボタン画像Ｂ１は、ブラウザアプリケーション２１ｂから取得されたファイルＦ１を選択するためのボタン画像である。ボタン画像Ｂ２は、ギャラリーアプリケーション２１ｃから取得されたファイルＦ２を選択するためのボタン画像である。ボタン画像Ｂ３およびＢ４は、メールアプリケーション２１ｄから取得されたファイルＦ３およびＦ４を選択するためのボタン画像である。ボタン画像Ｂ５〜Ｂ８は、第１ストレージアプリケーション２１ｅから取得されたファイルＦ５〜Ｆ８を選択するためのボタン画像である。ボタン画像Ｂ９〜Ｂ１１は、第２ストレージアプリケーション２１ｆから取得されたファイルＦ９〜Ｆ１１を選択するためのボタン画像である。
【００９４】
ボタン画像Ｂ１は、サムネイル画像Ｔ１、ジョブ名画像ＮＰ１、印刷ステータス画像ＰＳ１を含んでいる。サムネイル画像Ｔ１は、ファイルＦ１によって形成される画像の縮小画像である。ジョブ名画像ＮＰ１は、ファイルＦ１のジョブ名Ｎ１を示す画像である。印刷ステータス画像ＰＳ１は、ファイルＦ１の印刷ステータスを示す画像である。印刷ステータス画像ＰＳ１は、ファイルリストに含まれている印刷ステータス情報に基づいて表示されてもよい。印刷ステータス画像ＰＳ１の一例としては、印刷待機状態を示す「ＱＵＥＵＥＤ」や、印刷エラー状態を示す「ＥＲＲＯＲ」や、印刷完了を示す「ＤＯＮＥ」などが挙げられる。ボタン画像Ｂ２〜Ｂ１１の内容は、ボタン画像Ｂ１と同様であるため、説明を省略する。
【００９５】
Ｓ２８５において印刷アプリケーション２１ａは、ファイルＦ１〜Ｆ１１のうちの１個以上のファイルの選択を受け付ける。ファイルの選択は、ボタン画像Ｂ１〜Ｂ１１が表示されている領域へのタップ入力を検出することによって行われてもよい。本実施形態の説明例では、ボタン画像Ｂ１がユーザによってタップされ、ファイルＦ１が印刷対象として選択された場合を例として、以下に説明を続ける。
【００９６】
Ｓ２８６において印刷アプリケーション２１ａは、ボタン画像が選択されることに応じて、携帯電話１０をプリンタ１１０に近づけることを促すメッセージをパネル１８に表示させる。この結果、ユーザは、携帯電話１０をプリンタ１１０に近づける。これにより、携帯電話１０のＮＦＣ＿Ｉ／Ｆ１５とプリンタ１１０のＮＦＣ＿Ｉ／Ｆ１１６との間で、ＮＦＣ通信２００が実行される。
【００９７】
Ｓ２８８において印刷アプリケーション２１ａは、ＮＦＣ通信２００を利用して、印刷指示をプリンタ１１０に送信する。印刷指示は、ユーザによって選択されたファイルＦ１のジョブ識別情報であるジョブ識別情報ＩＤ１、および、認証トークンを含む。
【００９８】
プリンタ１１０のＣＰＵ１３２は、携帯電話１０から印刷指示を受信すると、印刷データ要求を生成する。印刷データ要求は、認証トークン、および、印刷指示に含まれていたジョブ識別情報ＩＤ１を含む。Ｓ２９０においてＣＰＵ１３２は、記憶部１３４に予め記憶されている印刷仲介サーバ１００のＵＲＬを利用して、無線ＬＡＮ＿Ｉ／Ｆ１１８を介して、印刷データ要求を印刷仲介サーバ１００に供給する。
【００９９】
印刷仲介サーバ１００は、プリンタ１１０から印刷データ要求を取得すると、印刷データ要求に含まれる認証トークンの認証を実行する。そして、印刷仲介サーバ１００は、認証トークンが登録済みであると判断する場合（即ち、認証が成功する場合）には、Ｓ２９５において、印刷データ要求に含まれるジョブ識別情報によって識別されるファイル（すなわち、ジョブ識別情報ＩＤ１によって識別されるファイルＦ１）に対する変換処理を実行する。変換処理では、ファイルＦ１が変換され、印刷データＤ１が生成される。例えば変換処理では、ファイルが、ＰＤＦ形式の印刷データに変換されてもよい。Ｓ３００において印刷仲介サーバ１００は、印刷データＤ１をプリンタ１１０に供給する。
【０１００】
プリンタ１１０のＣＰＵ１３２は、無線ＬＡＮ＿Ｉ／Ｆ１１８を介して、印刷仲介サーバ１００から印刷データＤ１を取得する。Ｓ３０５においてＣＰＵ１３２は、取得した印刷データＤ１を印刷実行部１２０に供給する。この結果、印刷実行部１２０は、印刷データＤ１によって表わされる画像を印刷用紙に印刷する。これにより、携帯電話１０のユーザは、印刷済みの印刷用紙を取得することができる。
【０１０１】
（効果）
共有機能を用いてファイルを共有元アプリケーションから共有先アプリケーションへ受け渡し、受け渡されたファイルを共有先アプリケーションが記憶部へ保存する場合がある。そして共有先アプリケーションが、ファイルを保存するタイミングとは異なるタイミングで、保存されている複数のファイルを一覧表示し、何れかのファイルの選択を受け付ける場合がある。このとき、保存されている複数のファイルの各々を識別するための文字列が存在しない場合には、ファイルのファイルパスなどを用いて、複数のファイルの各々を識別することになる。しかしファイルパスは、ユーザにとって識別力のない文字列の羅列となる場合が多いため、共有元アプリケーションから共有先アプリケーションに渡されたファイルを選択することが困難となってしまうことがある。本明細書に記載されている印刷アプリケーション２１ａによれば、共有機能によって、共有元アプリケーションからファイルを受信（Ｓ６）した場合には、受信したファイルを識別する文字列であるジョブ名を、インテントに基づいて生成することができる（Ｓ７）。そして、生成したジョブ名を、受信したファイルと関連付けて印刷仲介サーバ１００に記憶させることができる（Ｓ２３０）。これによりユーザは、印刷仲介サーバ１００に記憶されている複数のファイルの各々を、ジョブ名に基いて識別することが可能となるため、共有元アプリケーションから共有先アプリケーションに渡されたファイルを選択することが可能となる。
【０１０２】
本明細書に記載されている印刷アプリケーション２１ａによれば、ジョブ名生成処理（Ｓ７）で生成されたジョブ名であって、印刷仲介サーバ１００が記憶しているファイルを識別するためのジョブ名を用いたジョブ名選択画面を、パネル１８に表示させることができる（Ｓ２８３）。そして、ユーザによって選択されたファイルに対応するジョブ識別情報を含んだ印刷指示をプリンタ１１０に送信することで（Ｓ２８８）、選択されたファイルを用いた印刷処理をプリンタ１１０に実行させることができる（Ｓ３００、Ｓ３０５）。これによりユーザは、印刷仲介サーバ１００に記憶されている複数のファイルのうちから、共有元アプリケーションから共有先アプリケーションに渡されたファイルをジョブ名に基づいて選択し、選択したファイルをプリンタ１１０で印刷させることが可能となる。
【０１０３】
本明細書に記載されている印刷アプリケーション２１ａによれば、「ＳＵＢＪＥＣＴ」のフィールドから抽出したサブジェクト文字列を含むジョブ名を生成することができる（Ｓ４０）。サブジェクト文字列は、ファイルの件名などを示す文字列であり、ユーザにとってファイルを識別する効果が高い文字列である。これによりユーザは、共有元アプリケーションから共有先アプリケーションに渡されたファイルを適切に選択することが可能となる。
【０１０４】
本明細書に記載されている印刷アプリケーション２１ａによれば、共有されたファイルのファイル名を示す文字列を含んだジョブ名を、生成することができる（Ｓ６０）。ファイル名を示す文字列は、ユーザが作成してファイルに付加する場合が多いため、ユーザにとってファイルを識別する効果が高い文字列である。これによりユーザは、共有元アプリケーションから共有先アプリケーションに渡されたファイルを適切に選択することが可能となる。
【０１０５】
本明細書に記載されている印刷アプリケーション２１ａによれば、共有元アプリ識別情報を含むジョブ名を生成することができる（Ｓ２０）。これにより、印刷仲介サーバ１００に記憶されている複数のファイルの各々が、何れのアプリケーションから送信されたファイルであるかを識別することが可能となるため、共有元アプリケーションから共有先アプリケーションに渡されたファイルを選択することが可能となる。
【０１０６】
本明細書に記載されている印刷アプリケーション２１ａによれば、インテントにサブジェクト文字列が含まれている場合（Ｓ３５：ＹＥＳ）にはサブジェクト文字列を含むジョブ名を生成（Ｓ４０）し、インテントにサブジェクト文字列が含まれていない場合（Ｓ３５：ＮＯ）にはファイル名文字列を含むジョブ名を生成（Ｓ６０）することができる。これにより、サブジェクト文字列をファイル名文字列よりも優先して、ジョブ名に含ませることができる。使用する文字列に優先順位を定めることができるため、より適切な文字列をジョブ名に含ませることが可能となる。
【０１０７】
本明細書に記載されている印刷アプリケーション２１ａによれば、共有されたファイルのファイル名文字列を取得できない場合には（Ｓ５１：ＮＯ）、ファイルパス全体を含むジョブ名を生成することができる（Ｓ５４）。また、インテント内に、共有されたファイルを識別することができる文字列が含まれていない場合には（Ｓ７０：ＮＯ）、予め定められた規定文字列を含むジョブ名を生成することができる（Ｓ８０）。これにより、インテントの内容に関わらず、ジョブ名生成処理（Ｓ７）において確実にジョブ名を生成することが可能となる。
【０１０８】
本明細書に記載されている印刷アプリケーション２１ａによれば、共有元アプリケーションの種類に応じて、ジョブ名を生成するために使用する文字列の種類を決定することができる（Ｓ１５）。例えば、共有元アプリケーションが画像データを主に扱うアプリケーション（例：第１ストレージアプリケーション２１ｅ）である場合には、画像データを識別するために有用な情報である日付情報（例：写真の撮影日時）を、ジョブ名を生成するために使用してもよい（Ｓ２５）。また例えば、共有元アプリケーションが他人とコミュニケーションを図るためのアプリケーション（例：メールアプリケーション２１ｄ）である場合には、共有元アプリ識別情報をジョブ名を生成するために使用してもよい（Ｓ２０）。これにより、印刷仲介サーバ１００に記憶されている複数のファイルの各々が、何れの種類のアプリケーションから送信されたファイルであるかを識別することが可能となるため、共有元アプリケーションから共有先アプリケーションに渡されたファイルを選択することが可能となる。
【０１０９】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【０１１０】
（変形例）
インテント内に、ファイルＦ１に関する情報を示すＵＲＩが含まれていない場合（Ｓ７０：ＮＯ）には、Ｓ８０において各種の文字列を含むジョブ名を生成するとしてもよい。例えば、Ｓ１０で取得した共有元アプリ識別情報を含むジョブ名を、Ｓ８０において生成してもよい。
【０１１１】
インテントには、本明細書で説明したフィールドに限らず、各種のフィールドが含まれていてもよい。各種のフィールドに含まれている文字列を用いて、Ｓ７のジョブ名生成処理が行われてもよい。
【０１１２】
事前準備で取得する情報は、アカウント情報ＡＣ１に限られない。例えば、印刷アプリケーション２１ａが、認証トークンを得るためのリフレッシュトークンを印刷仲介サーバ１００から取得してもよい。そして、サブミット要求を生成（Ｓ２２８）する前、および、ファイルリスト要求を生成（Ｓ２６５）する前、に、リフレッシュトークンを印刷仲介サーバ１００へ送信して、認証トークンを取得して利用する形態であってもよい。この場合、印刷アプリケーション２１ａが、Ｓ２８８において、リフレッシュトークンをプリンタ１１０に送信してもよい。プリンタ１１０が、印刷データ要求（Ｓ２９０）を送信する前に、リフレッシュトークンを印刷仲介サーバ１００へ送信して、認証トークンを取得して利用してもよい。
【０１１３】
また事前準備では、いわゆるＯＡｕｔｈの手法を用いてもよい。また事前準備において、以後のサブミットプロセスや印刷プロセスでも使用することができる認証トークンを印刷仲介サーバ１００から受信してもよい。この場合、印刷アプリケーション２１ａが、サブミット要求を送信（Ｓ２３０）するとき、および、ファイルリスト要求を送信（Ｓ２８０）するときに、事前準備において受信した認証トークンを利用してもよい。また、印刷アプリケーション２１ａが事前準備において受信した認証トークンを、プリンタ１１０が、Ｓ２８８において受信し、印刷データ要求（Ｓ２９０）を送信するときに利用してもよい。
【０１１４】
Ｓ１５において、ジョブ名を生成するために使用する文字列の種類を判断する方法は様々であってよい。例えば、共有元アプリ識別情報が識別するアプリケーションのアプリケーション名を取得し、取得したアプリケーション名に第１種の文字列（例：「ブラウザ」）が含まれるか否かによって、当該判断を実行してもよい。
【０１１５】
Ｓ２３３において印刷仲介サーバ１００は、ファイルＦｓを印刷ジョブデータに変換した上で記憶してもよい。この場合、図３の印刷プロセスでは、Ｓ３００において印刷ジョブデータをプリンタ１１０に供給すればよい。これにより、Ｓ２９５の変換処理を不要とすることができる。
【０１１６】
Ｓ２３０においてサブミット要求を印刷仲介サーバ１００に供給する前に、印刷アプリケーション２１ａがファイルＦｓを変換したデータを生成してもよい。この場合、Ｓ２３３において印刷仲介サーバ１００は、変換されたデータ、ジョブ名Ｎｓ、ジョブ識別情報ＩＤｓとを、アカウント情報ＡＣ１、プリンタＩＤに関連付けて記憶する。
【０１１７】
Ｓ２８８において印刷アプリケーション２１ａは、ジョブ名Ｎ１を含んだ印刷指示をプリンタ１１０に送信してもよい。この場合、印刷仲介サーバ１００は、Ｓ２９５において、ジョブ名Ｎ１で識別されるファイルＦ１に対して変換処理を実行すればよい。
【０１１８】
Ｓ２８８において印刷アプリケーション２１ａは、プリンタＩＤを含んだ印刷指示をプリンタ１１０に送信してもよい。この場合、Ｓ２９０においてプリンタ１１０は、プリンタＩＤを含んだ印刷データ要求を印刷仲介サーバ１００に送信してもよい。
【０１１９】
Ｓ２０などにおいて、ジョブ名Ｎ１を生成する場合には、共有処理が実行された時刻をＯＳ２１ｇから取得してもよい。そして、共有元アプリケーション名および時刻情報を含むジョブ名Ｎ１を生成してもよい。
【０１２０】
Ｓ５８においてファイルＦ１の日付情報を取得する方法は、様々であってよい。例えば印刷アプリケーション２１ａは、ファイル名などを用いて、ＯＳ２１ｇに撮影日を問い合わせてもよい。また日付情報は様々な情報であってよく、例えば、ファイルの更新日や編集日であってもよい。
【０１２１】
文字列の種類を判断する処理（Ｓ１５）は、省略することが可能である。この場合、Ｓ１５〜Ｓ２５を省略して、Ｓ１５からＳ３５へ進むとしてもよい。また、ファイルパスにファイル名が含まれているか否かを判断する処理（Ｓ５１）は、省略することが可能である。この場合、Ｓ５０〜Ｓ６０を省略して、Ｓ３５からＳ７０へ進むとしてもよい。以上より、一般的に言うと、印刷アプリケーション２１ａは、「第１の受信手段」と、「文字列生成手段」と、「記憶制御手段」として、携帯電話１０を少なくとも機能させれば良い。具体例としては、印刷アプリケーション２１ａは、Ｓ１２と、Ｓ４０またはＳ６０またはＳ７５と、Ｓ２３０とを、少なくとも機能させれば良い。
【０１２２】
ファイルの選択を受け付ける処理（Ｓ２８５）において、２つ以上のファイルが印刷対象として選択されてもよい。
【０１２３】
プリンタ１１０及び携帯電話１０は、ＮＦＣ通信２００を実行する代わりに、他の通信方式の近距離無線通信（例えば、トランスファージェット方式、赤外線方式等の無線通信）を実行してもよい。また、プリンタ１１０及び携帯電話１０は、ＮＦＣ通信２００を実行する代わりに、Ｗｉ−Ｆｉ方式の無線通信を実行してもよい。また、プリンタ１１０及び携帯電話１０は、無線通信を実行する代わりに、有線通信を実行してもよい。一般的に言うと、携帯電話１０とプリンタ１１０とが通信可能であればよい。
【０１２４】
携帯電話１０は、Ｗｉ−Ｆｉ方式の無線通信を実行して、印刷仲介サーバ１００と様々な情報（例：図２サブミット要求）の通信を実行してもよい。また、携帯電話１０は、有線でインターネット７０に接続されている場合には、有線通信を実行して、印刷仲介サーバ１００と通信を実行してもよい。一般的に言うと、携帯電話１０と印刷仲介サーバ１００とが通信可能であればよい。
【０１２５】
プリンタ１１０は、有線でインターネットに接続されている場合には、有線通信を実行して、印刷仲介サーバ１００と様々な情報（例：図３のファイルリスト等）の通信を実行してもよい。一般的に言うと、プリンタ１１０と印刷仲介サーバ１００とが通信可能であればよい。
【０１２６】
印刷仲介サーバ１００は、１個のサーバでなくてもよく、別体に構成されている複数個のサーバであってもよい。例えば、印刷仲介サーバ１００は、図２の登録プロセスに示される各処理を実行する第１のサーバと、図３の印刷プロセスに示される各処理を実行する第２のサーバ（即ち第１のサーバとは別体に構成されている第２のサーバ）と、を備えていてもよい。
【０１２７】
印刷アプリケーション２１ａが動作する装置は、携帯電話１０でなくてもよく、据え置き型のＰＣであってもよいし、他のデバイス（例えばテレビ等）であってもよい。
【０１２８】
上記の各実施例では、プリンタ１１０のＣＰＵ１３２及び携帯電話１０のＣＰＵ１１が記憶部１３４および１２内のプログラムを実行することによって、図２〜図５等の各処理が実現される。これに代えて、図２〜図５等の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【０１２９】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【０１３０】
携帯電話１０は、情報処理装置の一例である。印刷アプリケーション２１ａは、情報処理プログラムの一例である。インテントおよび共有元アプリ識別情報は、特性情報の一例である。Ｓ１２を実行するＣＰＵは、第１の受信手段の一例である。ジョブ名またはジョブ識別情報は、固有文字列および識別文字列の一例である。Ｓ４０、Ｓ６０、Ｓ７５を実行するＣＰＵは、文字列生成手段の一例である。Ｓ２３０を実行するＣＰＵは、記憶制御手段の一例である。携帯電話Ｉ／Ｆ２２、ＮＦＣ＿Ｉ／Ｆ１５は、通信インターフェースの一例である。Ｓ２８２を実行するＣＰＵは、第２の受信手段の一例である。パネル１８は、表示部の一例である。Ｓ２８３を実行するＣＰＵは、第１の表示制御手段の一例である。Ｓ２８８を実行するＣＰＵは、第２の送信手段の一例である。Ｓ１０を実行するＣＰＵは、第３の受信手段の一例である。共有元アプリ識別情報は、アプリケーション識別文字列の一例である。Ｓ３を実行するＣＰＵは、入力受付手段の一例である。
【符号の説明】
【０１３１】
１：通信システム、１０：携帯電話、１１および１３２：ＣＰＵ、１４：インテントテーブル、２１ａ：印刷アプリケーション、２１ｇ：オペレーティングシステム、１００：印刷仲介サーバ、１１０：プリンタ
【図１】
2015139096.tif 000003
【図２】
2015139096.tif 000004
【図３】
2015139096.tif 000005
【図４】
2015139096.tif 000006
【図５】
2015139096.tif 000007
【図６】
2015139096.tif 000008