JP2015139096A - 情報処理プログラム、情報処理装置、および情報処理装置の制御方法 - Google Patents

情報処理プログラム、情報処理装置、および情報処理装置の制御方法 Download PDF

Info

Publication number
JP2015139096A
JP2015139096A JP2014009597A JP2014009597A JP2015139096A JP 2015139096 A JP2015139096 A JP 2015139096A JP 2014009597 A JP2014009597 A JP 2014009597A JP 2014009597 A JP2014009597 A JP 2014009597A JP 2015139096 A JP2015139096 A JP 2015139096A
Authority
JP
Japan
Prior art keywords
character string
information processing
application
file
sharing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014009597A
Other languages
English (en)
Other versions
JP6451053B2 (ja
Inventor
優治 宮田
Yuji Miyata
優治 宮田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2014009597A priority Critical patent/JP6451053B2/ja
Priority to US14/602,636 priority patent/US9317787B2/en
Publication of JP2015139096A publication Critical patent/JP2015139096A/ja
Application granted granted Critical
Publication of JP6451053B2 publication Critical patent/JP6451053B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/002Interacting with the operator
    • G06K15/007Interacting with the operator only remotely, e.g. at a host computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1267Job repository, e.g. non-scheduled jobs, delay printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】各種のデータを複数のアプリケーション間で共有することができる技術を提供すること。
【解決手段】情報処理装置には、共有元アプリケーションと共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えたOSがインストールされている。情報処理プログラムは、OSが備える共有機能を介して、共有元アプリケーションが出力する出力ファイルおよび出力ファイルの特性を示す特性情報を受信する第1の受信手段として、情報処理装置を機能させる。受信した特性情報に基づいて、受信した出力ファイルに対し固有の文字列である固有文字列を生成する文字列生成手段として、情報処理装置を機能させる。文字列生成手段が生成した固有文字列および第1の受信手段で受信した出力ファイルを互いに関連付けて記憶部に記憶させる記憶制御手段として、情報処理装置を機能させる。
【選択図】図3

Description

本明細書に開示されている技術は、各種のデータを複数のアプリケーション間で共有することができる情報処理プログラム等に関する。
携帯端末には、「共有機能」と称される機能を有するものが存在する。共有機能は、ユーザが操作している一のアプリケーションから他のアプリケーションへデータを渡し、他のアプリケーションでデータを処理させる機能である。また、特許文献1には、クラウド印刷サービスの一例が記載されている。
特開2013−117748号公報
他のアプリケーションが、一のアプリケーションから渡されたデータの識別文字列として、単なる連続番号の文字列を付与したと想定する。この場合、ユーザが識別文字列を見ても、一のアプリケーションから他のアプリケーションに渡したデータがどれかを区別することが困難になる。
本明細書に開示されている情報処理プログラムは、各種のアプリケーションを動作させることができる情報処理装置であって、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えたオペレーティングシステムがインストールされた情報処理装置に読込まれる情報処理プログラムであって、情報処理プログラムは、オペレーティングシステムが備える共有機能を介して、共有元アプリケーションが出力する出力ファイルおよび出力ファイルの特性を示す特性情報を、共有先アプリケーションとして受信する第1の受信手段と、共有先アプリケーションとして受信した特性情報に基づいて、共有先アプリケーションとして受信した出力ファイルに対し、固有の文字列である固有文字列を生成する文字列生成手段と、文字列生成手段が生成した固有文字列および第1の受信手段で受信した出力ファイルを互いに関連付けて記憶部に記憶させる記憶制御手段と、して情報処理装置を機能させることを特徴とする。
上記の構成によると、受信した出力ファイルを識別する文字列である固有文字列を、特性情報に基づいて生成することができる。これによりユーザは、記憶部に記憶されている複数の出力ファイルのうち、共有元アプリケーションから共有先アプリケーションに渡された出力ファイルに、固有文字列に基いてアクセスすることが容易となる。
本明細書に記載されている情報処理プログラム等によれば、印刷仲介サーバに記憶されている複数の出力ファイルの各々を、識別文字列を用いて識別することが可能となる。これにより、共有元アプリケーションから共有先アプリケーションに渡された出力ファイルを用いて、プリンタに印刷を実行させることが可能となる。
本明細書に記載されている情報処理プログラム等によれば、出力ファイルの概要を示すサブジェクト文字列を、固有文字列として使用することができる。これにより、印刷仲介サーバに記憶されている複数の出力ファイルの各々を、サブジェクト文字列を用いて識別することが可能となる。
本明細書に記載されている情報処理プログラム等によれば、出力ファイルのファイル名を示すファイル名文字列を、固有文字列として使用することができる。これにより、印刷仲介サーバに記憶されている複数の出力ファイルの各々を、ファイル名文字列を用いて識別することが可能となる。
本明細書に記載されている情報処理プログラム等によれば、サブジェクト文字列をファイル名文字列よりも優先して、固有文字列として使用することができる。
本明細書に記載されている情報処理プログラム等によれば、ファイルパス内からファイル名文字列を抽出できない場合には、ファイルパスを、固有文字列として使用することができる。
本明細書に記載されている情報処理プログラム等によれば、ファイル出力元のアプリケーションを識別するアプリケーション識別文字列を、固有文字列として使用することができる。
本明細書に記載されている情報処理プログラム等によれば、アプリケーション識別文字列の内容に応じて、固有文字列に使用する文字列を決定することができる。
本明細書に記載されている情報処理プログラム等によれば、受信指示の入力を受け付けてから、出力ファイルを記憶部に記憶させるまでの間に、固有文字列を生成することができる。これにより、出力ファイルに対して固有文字列を関連付けて記憶させることが可能となる。
本明細書に記載されている情報処理プログラム等によれば、特性情報に出力ファイルを識別するための文字列が含まれていない場合には、所定文字列を固有文字列として使用することができる。所定文字列の一例としては、オペレーティングシステムから取得した日付情報を示す文字列が挙げられる。これにより、固有文字列を確実に生成することができる。
なお、本明細書に開示の技術は、情報処理装置、情報処理装置を制御する制御装置、情報処理システム、情報処理方法、情報処理プログラムを記録する記録媒体等の種々の態様で実現可能である。
通信システムの構成を示す。 サブミットプロセスのシーケンス図を示す。 印刷プロセスのシーケンス図を示す。 ジョブ名生成処理のフロー図を示す。 ジョブ名生成処理のフロー図を示す。 ジョブ名選択画面の一例を示す。
(通信システムの構成)
図1に、本願に係る実施形態として例示される通信システム1のブロック図を示す。通信システム1は、携帯電話10、プリンタ110、アクセスポイント62、印刷仲介サーバ100、基地局61を備える。アクセスポイント62は、既知の中継装置である。印刷仲介サーバ100は、インターネット70および基地局61を介して携帯電話10と通信することが可能である。また印刷仲介サーバ100は、インターネット70およびアクセスポイント62を介してプリンタ110と通信することが可能である。
(携帯電話10の構成)
携帯電話10は、Android(Google Inc.の登録商標)のプラットフォームを搭載した携帯電話である。携帯電話10は、CPU11、記憶部12、NFC(Near Field Communicationとも称する)インターフェース15、ボタン入力部17、パネル18、携帯電話インターフェース22、カメラ部27、を主に備えている。CPU11は、記憶部12に記憶されるプログラムや、NFC_I/F15を介して送受信される各種信号などに従って、各機能の制御を行う。またCPU11は、プログラムを読み取ることで、各種の手段として機能する。本明細書では、インターフェースのことを「I/F」と記載する。
NFC_I/F15は、いわゆる近距離無線通信のためのNFC方式に従った無線通信200(以下では「NFC通信200」と呼ぶ)を実行するためのI/F(即ち、ICチップ、通信回路)である。NFC方式は、例えば、ISO/IEC21481又は18092の国際標準規格に基づく無線通信方式である。携帯電話I/F22は、基地局61との間で無線通信210を行う。無線通信210は、3G、4G等のセルラー方式の無線通信であってもよい。ボタン入力部17は、携帯電話10の各機能を実行するためのキーである。ボタン入力部17は、タッチパネルとして、パネル18と一体に構成されていてもよい。パネル18は、携帯電話10の各種機能情報を表示する。
記憶部12は、プログラム21、インテントテーブル14、を備える。なお、記憶部12は、RAM(Random Access Memoryとも称する)、ROM(Read Only Memoryとも称する)、フラッシュメモリ、HDD(ハードディスクとも称する)、SDカード(SDアソシエーションの登録商標)、などが組み合わされて構成されているとしてもよい。記憶部12は、コンピュータが読み取り可能なストレージ媒体であってよい。コンピュータが読み取り可能なストレージ媒体とは、ROM、RAM、フラッシュメモリ、ハードディスクなどのnon-transitoryな媒体である。インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、non-transitoryな媒体には含まれない。
プログラム21は、印刷アプリケーション21a、ブラウザアプリケーション21b、ギャラリーアプリケーション21c、メールアプリケーション21d、第1ストレージアプリケーション21e、第2ストレージアプリケーション21f、オペレーティングシステム21g(以下、OS21gと記載する)、を備えている。OS21gは、AndroidプラットフォームのOSである。印刷アプリケーション21aないし第2ストレージアプリケーション21fの各々は、Android用のアプリケーションである。
印刷アプリケーション21aは、印刷仲介サーバ100を利用して、プリンタ110に印刷を実行させるためのアプリケーションである。印刷アプリケーション21aは、プリンタ110のベンダによって提供されるアプリケーションである。印刷アプリケーション21aは、インターネット上の不図示のサーバから携帯電話10にインストールされてもよいし、プリンタ110と共に出荷されるメディアから携帯電話10にインストールされてもよい。
ブラウザアプリケーション21bは、印刷仲介サーバ100から取得したウェブデータを、パネル18に表示させるためのアプリケーションである。ギャラリーアプリケーション21cは、画像データに基づく画像をパネル18に表示させたり、画像データに各種の変換(色補正など)を行うためのアプリケーションである。メールアプリケーション21dは、無線通信210を介してメールを送信するためのアプリケーションである。
第1ストレージアプリケーション21eおよび第2ストレージアプリケーション21fは、各種のデータを不図示の外部サーバに保存しておき、必要な場合にアクセスすることができるアプリケーションである。これらのアプリケーションの一例としては、DropBox(Dropbox, Inc.の登録商標)や、Evernote(Evernote社の登録商標)が挙げられる。
また、印刷アプリケーション21a〜第2ストレージアプリケーション21fの各々は、アプリケーションを識別するためのアプリケーション名を有している。印刷アプリケーション21aのアプリケーション名は、「印刷アプリ」である。ブラウザアプリケーション21bのアプリケーション名は、「ブラウザ」である。ギャラリーアプリケーション21cのアプリケーション名は、「ギャラリー」である。メールアプリケーション21dのアプリケーション名は、「メール」である。第1ストレージアプリケーション21eのアプリケーション名は、「第1ストレージ」である。第2ストレージアプリケーション21fのアプリケーション名は、「第2ストレージ」である。
OS21gは、印刷アプリケーション21aないしメールアプリケーション21dに共通して利用される基本的な機能を提供するプログラムである。またOS21gは、印刷アプリケーション21aないしメールアプリケーション21dの各々の間での、データの受け渡しを管理する。すなわちOS21gは、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えている。OS21gの共有機能にて、共有先アプリケーションとして利用されるために、アプリケーションは、どのデータ形式を出力・入力可能かを予めOS21gに宣言しておく必要がある。アプリケーション連携を行う際は、連携元のアプリケーションから連携先のアプリケーションへ、共有処理対象のデータを、OS21gが規定するデータ形式で送受信する必要がある。アプリケーション連携のことをデータ共有とも称す。データ形式の一例としては、テキスト形式、JPEG(Joint Photographic Experts Groupとも称する)形式、および、PDF(Portable Document Formatとも称する)形式などが挙げられる。
例として、印刷アプリケーション21aでのデータ入出力の管理方法を説明する。また例として、以下に記載する宣言文字列を満たす条件であれば、共有先アプリケーションとして動作可能であることを、印刷アプリケーション21aがOS21gに対して宣言している場合を説明する。
「TYPE:テキスト ACTION:SEND、VIEW」
「TYPE:JPEG ACTION:SEND、VIEW」
「TYPE:PDF ACTION:SEND、VIEW」
「TYPE:Office ACTION:SEND、VIEW」
ここで「TYPE」は、宣言しているアプリケーションが、アプリケーション連携によって、共有先アプリケーションとして受け取ることが可能なデータの形式を表す情報である。「ACTION:SEND」は、宣言しているアプリケーションが、アプリケーション連携によって、データを送信する動作の指示を受け取ることが可能なことを表す情報である。本明細書では、アプリケーション連携における動作の指示のことを、単にアクションとも記載する。「ACTION:VIEW」は、宣言しているアプリケーションが、アプリケーション連携によって、データをユーザに表示するアクションを受け取ることが可能なことを表す情報である。なお、上記の宣言文字列は一例である。例えば、「TYPE」において、他の形式(例えば、PNGやGIF形式)について宣言してもよい。「SEND」や「VIEW」以外のアクションについて宣言してもよい。
印刷アプリケーション21aからOS21gへ宣言する方法の一例を、説明する。印刷アプリケーション21aのベンダは、プログラムファイルと、付帯情報のファイルとを含んだインストールパッケージを作成する。OS21gのインストーラがインストールパッケージを解凍して、印刷アプリケーション21aを携帯電話10へインストールすると、印刷アプリケーション21aと付帯情報のファイルとが、記憶部12に記憶される。この付帯情報のファイルの中に、上述した宣言文字列が記載されている。宣言文字列はXML(Extensible Markup Languageとも称する)形式で記載されていてもよい。OS21gは、付帯情報内の宣言文字列を解釈し、印刷アプリケーション21aが、アプリケーション連携において、どんな形式のデータを受け取ることが可能なのか、および、どんなアクションを受け取ることが可能なのか、を認識する。以上より、他のアプリケーションと印刷アプリケーション21aとを連携させることが可能となる。
記憶部12は、さらに、複数のファイルFを記憶する。複数のファイルFの各々は、例えば、携帯電話10によって撮影された画像を表わすファイルである。複数のファイルFの各々は、どのようなファイル形式のファイルであってもよく、例えば、JPEG等のビットマップ形式のファイルであってもよいし、ベクタ形式のファイルであってもよいし、テキスト形式のファイルであってもよい。
インテントテーブル14は、インテントを記憶する領域である。インテントとは、Androidプラットフォームにおいて、アプリケーション間でやり取りするメッセージの役割を果たす情報である。インテントを送る事で、他アプリケーションの呼び出しや、アプリケーション内の画面遷移などを行うことができる。すなわち、インテントにより、Androidの中の共有元アプリケーションと、共有先アプリケーションとの間の間に、橋渡しをすることが可能となる。
インテントの内容を説明する。インテントは文字列であるため、情報の種類を示すインデックス文字列があり、インデックス文字列に続けて情報文字列が存在する。したがって以下では、インテントの具体例は、「情報の種類:情報文字列」と記載する。インデックス文字列の一例としては、「ACTION」のフィールドを示す文字列「Action」、「TYPE」のフィールドを示す文字列「Type」、付帯情報のフィールドを示す文字列「Data」、「Extras」などが挙げられる。付帯情報のフィールドには、「DATA」、「EXTRA」などのフィールドが含まれている。「TYPE」のフィールドには、アプリケーション連携によって受け渡されるデータの形式をMIME(Multipurpose Internet Mail Extensionとも称する)形式で表す情報が含まれていてもよい。例えば、「image」が含まれている場合には、アプリケーション連携によって受け渡されるデータの形式は、画像データであってもよい。例えば、「text」が含まれている場合には、アプリケーション連携によって受け渡されるデータの形式は、テキストデータであってもよい。「DATA」のフィールドには、「VIEW」のアクションにより共有されるデータに関する情報を、URI(Uniform Resource Identifierとも称する)形式で示す情報が含まれていてもよい。当該情報は、Uriクラスとして表現されていてもよい。「EXTRA」のフィールドには、共有先のアプリケーションに渡すための各種の情報が含まれていてもよい。
「EXTRA」のフィールド内には、「TEXT」、「SUBJECT」、「STREAM」などの複数のフィールドが、さらに存在してもよい。「TEXT」のフィールドには、「SEND」のアクションによって共有先のアプリケーションに送信されるテキスト情報が含まれていてもよい。「SUBJECT」のフィールドには、「SEND」のアクションによって共有先のアプリケーションに送信されるデータの概要を示すサブジェクト文字列が含まれていてもよい。サブジェクト文字列の一例としては、ファイルの件名が挙げられる。なお、「SUBJECT」のフィールドには、必ずサブジェクト文字列が含まれているとは限らない。「STREAM」のフィールドには、「SEND」のアクションによって共有先のアプリケーションに送信されるデータの場所を表すURIが含まれていてもよい。データは、データストリーム方式で送信されてもよい。「STREAM」のフィールドに含まれているURIは、データストリームをバッファする領域を示すURIであってもよい。
(インテントの具体例)
印刷アプリケーション21a〜第2ストレージアプリケーション21fの各々が、共有機能の実行時に出力するインテントの具体例を、以下に説明する。
ブラウザアプリケーション21bは、ウェブページを表示しているときに、画面内の「送信」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.browser.1234、ACTION:SEND、TYPE:text/plane」
「付帯情報:(TEXT)String[https://www.abc.com/home/support]」
ここで、「https://」以下が、表示しているページのURLである。
ギャラリーアプリケーション21cは、携帯端末10内の複数の画像データのうちJPG形式の1つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.gallery.1111、ACTION:SEND、TYPE:image/jpeg」
「付帯情報:(STREAM)String[file://phone/image/1101photo.jpg]」
ここで、「[file://phone/image/1101photo.jpg]」は、表示しているJPGファイルのファイルパスである。また本実施形態の説明例では、表示しているJPGファイルの撮影日が、2014年01月22日である場合を説明する。
メールアプリケーション21dは、JPGデータが添付されたメールを表示している状態で、画面内の「添付ファイルを共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.mail.bz、ACTION:SEND、TYPE:image/jpeg」
「付帯情報:(STREAM)String[content://mail/userA/0708/attach178]」
ここで、「content://mail/userA/0708/attach178」は、添付JPGファイルのURIである。
またメールアプリケーション21dは、Officeデータが添付されたメールを表示している状態で、画面内の「添付ファイルを共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.mail.bz、ACTION:SEND、TYPE:application/office」
「付帯情報:Uri:content://mail/userA/1214/attach0.2」
ここで、「content://」以下が、添付OfficeファイルのURIである。「Uri:」は、下位レベルのインデックス文字列である。なお、PDFデータが添付されたメールを表示している状態で、「添付ファイルを共有」ボタンが操作された場合には、出力されるインテントのTYPEが「application/pdf」となる。
第1ストレージアプリケーション21eは、不図示のネットワークストレージ内の複数のテキスト、JPG、PDFファイルのうち1つを表示している状態で、画面内の「エクスポート」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.store001.bsk、ACTION:SEND、TYPE:text/plane」
「付帯情報:(TEXT)String[https://storage1/hk0517qy]」
ここで、「https://storage1/hk0517qy」は、表示しているファイル(例えばPDF)のURIである。
また第1ストレージアプリケーション21eは、不図示のネットワークストレージ内の複数のテキストファイルのうち1つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.store001.bsk、ACTION:VIEW、TYPE:text/plane」
「付帯情報:Uri:file://sdcard/storage1/data/kn1115.txt]」
ここで、「file://sdcard/storage1/data/kn1115.txt」は、表示しているファイルのファイルパスである。当該ファイルパスは、記憶部12の構成要素である、不図示のSDカードのパスである。SDカードのファイルパスが用いられる場合の一例としては、ストレージ内のファイルが携帯電話にコピーされ、コピーされたファイルを表示する場合が挙げられる。
また第1ストレージアプリケーション21eは、不図示のネットワークストレージ内の複数のJPGファイルのうち1つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.store001.bsk、ACTION:VIEW、TYPE:image/jpeg」
「付帯情報:Uri:file://sdcard/storage1/data/Vmx12.jpg]」
ここで、「file://sdcard/storage1/data/Vmx12.jpg」は、表示しているファイルのファイルパスである。なお、PNGファイルやGIFファイルを表示している状態で、「共有」ボタンが操作された場合は、出力されるインテントのTYPEが「image/png」や「image/gif」となる。
また第1ストレージアプリケーション21eは、不図示のネットワークストレージ内の複数のPDFファイルのうち1つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.store001.bsk、ACTION:VIEW、TYPE:application/pdf」
「付帯情報:Uri:file://sdcard/storage1/data/jm-ja11.pdf]」
なお、Officeファイルを表示している状態で、「共有」ボタンが操作された場合は、出力されるインテントのTYPEが「application/office」となる。
第2ストレージアプリケーション21fが出力するインテントを説明する。本実施形態の説明例では、不図示のネットワークストレージ内に記憶されたファイルの各々に、「件名」が設定されている場合を説明する。第2ストレージアプリケーション21fは、ネットワークストレージ内の複数のテキスト、JPG、PDFファイルのうち1つを表示している状態で、画面内の「出力」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.dat123.143、ACTION:SEND、TYPE:text/plane」
「付帯情報:(TEXT)String[https://dat123/fold/Fx4-00]」
「付帯情報:(SUBJECT):String[MTG-tf@Nagoya_0401]」
ここで、「https://dat123/fold/Fx4-00」は、表示しているファイル(例えばPDF)のURIである。また、「MTG-tf@Nagoya_0401」は、表示しているファイルにつけられた件名である。
第2ストレージアプリケーション21fは、ネットワークストレージ内の複数のJPGファイルのうち1つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.dat123.143、ACTION:VIEW、TYPE:image/jpeg」
「付帯情報:(STREAM)String[file://sdcard/dat123/fold/tf7-03.jpg]」
ここで、「file://sdcard/dat123/fold/tf7-03.jpg」は、表示しているファイルのファイルパスである。
第2ストレージアプリケーション21fは、ネットワークストレージ内の複数のPDFファイルのうち1つを表示している状態で、画面内の「共有」ボタンが操作されたことに応じて、以下のインテントを出力する。
「アプリ識別情報:com.dat123.143、ACTION:VIEW、TYPE:application/pdf」
「付帯情報:Uri:content://dat123/fold/ nr12_09_hr.pdf」
ここで、「content://dat123/fold/ nr12_09_hr.pdf」は、表示しているファイルのファイルパスである。
(プリンタ110の構成)
プリンタ110は、印刷機能を実行可能な周辺機器(即ちPC等の周辺機器)である。プリンタ110は、操作部112と、表示部114と、NFCインターフェース116と、無線LAN(Local Area Networkとも称する)インターフェース118と、印刷実行部120と、制御部130と、を備える。各部112〜130は、バス線(符号省略)に接続されている。
操作部112は、複数のキーを備える。ユーザは、操作部112を操作することによって、様々な指示をプリンタ110に与えることができる。表示部114は、様々な情報を表示するためのディスプレイである。印刷実行部120は、インクジェット方式、レーザ方式等の印刷機構である。NFC_I/F116の構成は、前述のNFC_I/F15の構成と同様であるため、ここでは説明を省略する。
無線LAN_I/F118は、Wi−Fi Allianceによって定められたWi−Fi方式に従った無線通信(以下では「Wi−Fi通信」と呼ぶ)を実行するためのI/F(即ち、ICチップ、通信回路)である。Wi−Fi方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば、802.11a、11b、11g、11n等)に基づく無線通信方式である。無線LAN_I/F118は、アクセスポイントを介した無線通信(即ちインフラストラクチャ方式の無線通信)を実行するためのI/Fであってもよいし、アクセスポイントを介さない無線通信(例えば、アドホック方式の無線通信、Wi−Fi Direct方式の無線通信)を実行するためのI/Fであってもよい。
制御部130は、CPU132と、記憶部134と、を備える。CPU132は、記憶部134に記憶されているプログラム(図示省略)に従って、様々な処理を実行するプロセッサである。記憶部134は、RAM、ROM等によって構成される。記憶部134は、記憶部12と同様に、コンピュータが読み取り可能なストレージ媒体であってよい。
(印刷仲介サーバ100の構成)
印刷仲介サーバ100は、インターネット上に設置されるサーバであり、プリンタ110のベンダとは異なる事業者によって提供されるサーバであってもよい。もちろん、プリンタ110のベンダによって提供されるサーバであってもよい。
印刷仲介サーバ100は、外部機器(例えば携帯電話10)とプリンタ(例えばプリンタ110)との間で印刷の仲介を実行するためのサーバである。即ち、印刷仲介サーバ100は、外部機器からサブミットされるファイルを変換して、プリンタが解釈可能なデータ形式を有する印刷データを生成し、当該印刷データを当該プリンタに供給する。従って、外部機器は、ファイルを印刷データに変換するためのプリンタドライバを備えていなくても、印刷仲介サーバ100にファイルをサブミットすれば、プリンタに印刷を実行させることができる。
(本明細書における記載上の注意点)
以降、アプリケーションやOS21gなどのプログラムを実行するCPU11のことを、単にプログラム名で記載する場合もある。例えば「印刷アプリケーション21a」という記載が、「印刷アプリケーション21aを実行するCPU11」を意味する場合もある。本明細書において、「携帯端末10のCPU11が、各種の情報を受信する」という記載は、「携帯端末10のCPU11が、携帯電話I/F22やNFC_I/F15を介して各種の情報を取得する」という技術内容を含んでいるものとする。また、「携帯端末10のCPU11が、各種の情報を送信する」という記載は、「携帯端末10のCPU11が、携帯電話I/F22やNFC_I/F15を介して各種の情報を出力する」という技術内容を含んでいるものとする。
ここで、「データ」および「情報」の文言の定義を説明する。本明細書では、「データ」と「情報」では「情報」を「データ」の上位概念として用いている。そのため、「Aデータ」を「A情報」と言い換えてもよい。また、「情報」は、「データ」としての形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)が異なっていても、同一の意味内容と認識される限り、同一の情報として取り扱われる。例えば、印刷部数が2部であることを示す情報として装置が扱う限り、"COPY=2"というテキスト形式のデータと、"10"というバイナリ形式のデータとは、同じ情報である。但し、上記の「データ」および「情報」の区別は厳密なものではなく、例外的な取扱いも許容される。
(事前準備)
携帯電話10のユーザは、印刷仲介サーバ100を利用して、プリンタ110に印刷を実行させるために、以下の事前準備を実行する。
即ち、携帯電話10のユーザは、例えば、携帯電話10を利用して、印刷仲介サーバ100にアカウントを申請し、アカウント情報AC1を取得する。アカウント情報AC1は、例えば、ユーザID、パスワード等を含む。なお、ユーザは、携帯電話10を利用する代わりに、他の機器(例えば不図示のPC等)を利用して、印刷仲介サーバ100にアカウント情報AC1を登録してもよい。ユーザのアカウント情報が印刷仲介サーバ100に登録されれば、ユーザは、印刷仲介サーバ100を利用して、プリンタ110に印刷を実行させることができる。
(サブミットプロセス;図2)
図2を参照して、サブミットプロセスについて説明する。サブミットプロセスは、印刷対象のファイルを、印刷アプリケーション21aを用いて印刷仲介サーバ100にサブミット(即ち登録)する処理である。またサブミットプロセスは、印刷アプリケーション21aで生成したジョブ名を、ファイルと関連付けて印刷仲介サーバ100にサブミットする処理である。本実施形態の説明例では、第1ストレージアプリケーション21eから印刷アプリケーション21aへファイルを共有することによって、ファイルFsを印刷仲介サーバ100にサブミットする場合を説明する。
サブミットプロセスでは、携帯電話10のユーザは、プリンタ110の近くに存在しなくてもよい。例えばユーザは、外出先で、携帯電話10によって撮影された画像を表わすファイルを、印刷仲介サーバ100にサブミットすることができる。
S1において、ユーザが、ボタン入力部17を介して第1ストレージアプリケーション21eを起動させる操作を入力すると、CPU11は、OS21gに基づいて、第1ストレージアプリケーション21eを起動する。第1ストレージアプリケーション21eは、記憶部12内の複数のファイルFそれぞれ(図1参照)によって形成される画像を、パネル18に表示する。また、パネル18には、不図示のデータ共有ボタンが表示される。データ共有ボタンは、第1ストレージアプリケーション21eと他のアプリケーションとの間で、ファイルを共有する旨の命令を入力するボタンである。
S2においてCPU11は、ユーザによるファイル選択命令の入力を受け付ける。ファイル選択命令の入力は、複数のファイルFそれぞれによって形成される画像の何れかに対するタッチ入力を検出することによって受け付けられてもよい。本実施形態の説明例では、共有されるファイルとして選択されたファイルを、ファイルFsとして説明する。S3においてCPU11は、ユーザによるデータ共有命令の入力を受け付ける。データ共有命令の入力は、「エクスポート」ボタンへのタッチ入力を検出することによって受け付けられてもよい。
S4においてCPU11は、ファイルFsの共有先のアプリケーションの選択入力を受け付ける。具体的には、CPU11は、共有先のアプリケーションの候補一覧をパネル18に表示する。本実施形態の説明例では、印刷アプリケーション21a、ブラウザアプリケーション21b、メールアプリケーション21dを示す複数のボタンが表示される。そして、複数のボタンの何れかへのタッチ入力を検出することによって、共有先のアプリケーションの選択入力が受け付けられてもよい。本実施形態の説明例では、印刷アプリケーション21aが、共有先のアプリケーションとして選択される場合を説明する。
S6においてCPU11は、印刷アプリケーション21aへ、起動指示を出力するとともに、S2で選択されたファイル(すなわちファイルFs)を出力する。CPU11は、OS21gに基づいて、印刷アプリケーション21aを起動する。そしてファイルFsが、印刷アプリケーション21aへ受け渡される。
S7においてCPU11は、ジョブ名生成処理を実行する。図4および図5のフローを用いて、ジョブ名生成処理の内容を説明する。ジョブ名は、印刷仲介サーバ100にサブミットされたファイルを識別するための、固有の文字列である。本実施形態の説明例では、ファイルFsを識別するためのジョブ名Nsを生成する場合を、以下に説明する。
S8において印刷アプリケーション21aは、OS21gが備える共有機能を介して、インテントを受信する。具体的には、インテントをインテントテーブル14から読み出す。
S10において印刷アプリケーション21aは、共有元アプリ識別情報を取得する。共有元アプリ識別情報は、共有元アプリケーションの種類を識別するための、インテントに含まれる文字列であり、共有元アプリ識別情報であることを示すインデックス文字列に続いている文字列である。本実施形態の説明例では、第1ストレージアプリケーション21eの共有元アプリ識別情報である「com.store001.bsk」が取得される。
S15において印刷アプリケーション21aは、ジョブ名Nsを生成するために使用する文字列の種類を判断する。当該判断は、共有元アプリケーションの種類に応じて判断される。具体的には、S10で取得した共有元アプリ識別情報に、予め定められた第1種の文字列が含まれている場合には、共有元アプリケーションのアプリケーション名である共有元アプリケーション名を用いてジョブ名Nsを生成する場合であると判断され、S20へ進む。第1種の文字列には、例えば、ブラウザアプリケーション21bのアプリ識別情報である「com.browser.1234」が挙げられる。S20において印刷アプリケーション21aは、共有元アプリケーション名を含むジョブ名Nsを生成する。共有元アプリケーション名は、共有元アプリ識別情報が識別するアプリケーションのアプリケーション名を、印刷アプリケーション21aがOS21gに問い合わせることによって取得されるとしてもよい。そしてS220へ進む。
一方、S10で取得した共有元アプリ識別情報に、第1種の文字列が含まれていない場合には、インテント内の文字列を用いてジョブ名Nsを生成する場合であると判断され、S35へ進む。S35において印刷アプリケーション21aは、インテント内の「SUBJECT」のフィールドに、サブジェクト文字列が含まれているか否かを判断する。当該判断は、インテントから付帯情報のインデックスが検出された場合に、検出されたインデックスに続く情報の中に「SUBJECT」という下位のインデックスが存在するか否かによって行われてもよい。例えば、第2ストレージアプリケーション21fの「出力」ボタンが操作された場合には、「付帯情報:(SUBJECT):String[MTG-tf@Nagoya_0401]」がインテントに含まれるため、S35において肯定判断される。
S35において肯定判断される場合(S35:YES)には、S40へ進む。S40において印刷アプリケーション21aは、サブジェクト文字列を「SUBJECT」のフィールドから抽出し、抽出したサブジェクト文字列を含むジョブ名Nsを生成する。例えば、「付帯情報:(SUBJECT):String[MTG-tf@Nagoya_0401]」がインテントに含まれる場合には、「MTG-tf@Nagoya_0401」というサブジェクト文字列が抽出される。そしてS220へ進む。
一方、S35において否定判断される場合(S35:NO)には、S50へ進む。S50において印刷アプリケーション21aは、インテント内の「DATA」または「STREAM」のフィールドに、ファイルFsのファイルパスが含まれているか否かを判断する。当該判断は、「DATA」または「STREAM」のフィールドに、ファイルパスを示す所定の文字列が含まれているか否かを検索することによって行われてもよい。所定の文字列の一例としては、「file://」が挙げられる。例えば、第1ストレージアプリケーション21eの「共有」ボタンが操作された場合には、「付帯情報:Uri:file://sdcard/storage1/data/jm-ja11.pdf]」がインテントに含まれるため、S50において肯定判断される。また例えば、第2ストレージアプリケーション21fの「共有」ボタンが操作された場合には、「付帯情報:(STREAM)String[file://sdcard/dat123/fold/tf7-03.jpg]」がインテントに含まれるため、S50において肯定判断される。
S50において肯定判断される場合(S50:YES)には、S51へ進む。S51において印刷アプリケーション21aは、ファイルパスに、ファイルFsのファイル名が含まれているか否かを判断する。判断方法の第1の具体例を説明する。印刷アプリケーション21aは、ファイルFsのファイル名を示すファイル名文字列を他の文字列から区別するために用いられる特定文字を、ファイルパス内で検索する。特定文字の一例としては、ファイルパスのディレクトリを区切る区切りテキスト(例:スラッシュ)のうち、最後の区切りテキストが挙げられる。特定文字が検出された場合には、印刷アプリケーション21aは、特定文字によって区別されている文字列を、ファイル名文字列として特定する。また、判断方法の第2の具体例を説明する。印刷アプリケーション21aは、区切りテキスト(例:スラッシュ)で区切られた文字列の各々にうちに、拡張子(例:「.jpg」、「.pdf」など)を含んだ文字列が含まれているか否かを検索する。拡張子を含んだ文字列が検出された場合には、印刷アプリケーション21aは、当該文字列をファイル名文字列として特定する。
例えば、「付帯情報:Uri:file://sdcard/storage1/data/jm-ja11.pdf]」がインテントに含まれる場合には、「jm-ja11.pdf」という文字列が、ファイル名文字列として特定される。
S51において肯定判断される場合(S51:YES)には、S55へ進む。S55において印刷アプリケーション21aは、S51で特定されたファイル名文字列をファイルパスから抽出する。
S57において印刷アプリケーション21aは、日付情報を用いてジョブ名Nsを生成する場合であるか否かを判断する。当該判断は、S10で取得した共有元アプリ識別情報に、予め定められた第2種の文字列が含まれているか否かによって行われてもよい。第2種の文字列の一例としては、第1ストレージアプリケーション21eのアプリケーション名である「第1ストレージ」が挙げられる。肯定判断される場合(S57:YES)にはS58へ進む。
S58において印刷アプリケーション21aは、ファイルFsのファイルパスをインテントから読み出し、読み出したファイルパスに基いてファイルFsにアクセスする。また印刷アプリケーション21aは、ファイルFsを開き、ファイルFsの日付情報(例:撮影日時、作成日時)を示す日付文字列を取得する。そして、取得した日付文字列と、抽出したファイル名文字列と、を含むジョブ名Nsを生成する。そしてS220へ進む。一方、S57において否定判断される場合(S57:NO)には、S60へ進む。S60において印刷アプリケーション21aは、抽出したファイル名文字列を含むジョブ名Nsを生成する。そしてS220へ進む。
また、S51において否定判断される場合(S51:NO)には、S52へ進む。S52において印刷アプリケーション21aは、日付情報を用いてジョブ名Nsを生成する場合であるか否かを判断する。S52の内容は、前述したS57と同様であるため、説明を省略する。肯定判断される場合(52:YES)にはS53へ進む。S58において印刷アプリケーション21aは、ファイルFsから日付文字列を取得する。そして、取得した日付文字列とファイルパス全体とを含むジョブ名Nsを生成する。そしてS220へ進む。一方、S52において否定判断される場合(S52:NO)には、S54へ進む。S54において印刷アプリケーション21aは、ファイルパス全体を含むジョブ名Nsを生成する。そしてS220へ進む。
また、S50において否定判断される場合(S50:NO)には、S70へ進む。S70において印刷アプリケーション21aは、インテントの付帯情報に、ファイルFsに関する情報を示すURIが含まれているか否かを判断する。当該判断は、インテント内に、URIを示す所定の文字列(例:http://、https://、contents://、など、「://」を含む文字列)が含まれているか否かを検索することによって行われてもよい。例えば、第1ストレージアプリケーション21eの「エクスポート」ボタンが操作された場合には、「付帯情報:(TEXT)String[https://storage1/hk0517qy]」がインテントに含まれるため、S70において肯定判断される。また例えば、メールアプリケーション21dの「添付ファイルを共有」ボタンが操作された場合には、「付帯情報:(STREAM)String[content://mail/userA/0708/attach178]」がインテントに含まれるため、S70において肯定判断される。
S70において否定判断される場合(S70:NO)には、S80へ進む。S80において印刷アプリケーション21aは、予め定められた規定文字列を含むジョブ名Nsを生成する。規定文字列の一例としては、「No Title」などが挙げられる。また所定文字列の他の例としては、OS21gから取得した日付情報(例:共有処理を実行した日時を示す情報)を示す文字列が挙げられる。そしてS220へ進む。
一方、S70において肯定判断される場合(S70:YES)には、S73へ進む。S73において印刷アプリケーション21aは、URIに、ファイルFsのファイル名が含まれているか否かを判断する。S73の処理内容は、S51の処理と同様であるため、ここでは説明を省略する。肯定判断される場合(S73:YES)にはS55へ戻る。
一方、S73において否定判断される場合(S73:NO)には、S75へ進む。S73において否定判断される場合の例としては、メールアプリケーション21d、第1ストレージアプリケーション21e、第2ストレージアプリケーション21f、などによって共有処理が行われた場合が挙げられる。S75において印刷アプリケーション21aは、URI全体を含むジョブ名Nsを生成する。そしてS220へ進む。
S220において印刷アプリケーション21aは、携帯電話I/F22を介して、アクセス要求を印刷仲介サーバ100に供給する。印刷仲介サーバ100は、携帯電話10からアクセス要求を受信することに応じて、S222において、ログイン画面データを携帯電話10に供給する。
印刷アプリケーション21aは、携帯電話I/F22を介して印刷仲介サーバ100からログイン画面データを取得すると、S223において、ログイン画面データによって表わされるログイン画面をパネル18に表示させる。ユーザは、ボタン入力部17を利用して、アカウント情報AC1を携帯電話10に入力する。S224において印刷アプリケーション21aは、携帯電話I/F22を介して、アカウント情報AC1を含むログイン要求を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、携帯電話10からログイン要求を取得すると、S225において、ログイン要求に含まれるアカウント情報AC1の認証を実行する。具体的には、印刷仲介サーバ100は、ログイン要求に含まれるアカウント情報AC1が、印刷仲介サーバ100に登録済みであるか否かを判断する。アカウント情報AC1の認証が成功した場合には、印刷仲介サーバ100は、認証トークンを生成する。生成される認証トークンは、当該サブミットプロセスのみで用いられる、ワンタイムの認証トークンであってもよい。S226において印刷仲介サーバ100は、認証トークンを含むログイン成功通知を、携帯電話10に供給する。
印刷アプリケーション21aは、携帯電話I/F22を介して印刷仲介サーバ100からログイン成功通知を取得することに応じて、S228においてサブミット要求を生成する。サブミット要求は、記憶部12内のプリンタIDと、ユーザによって指定されたファイルFsと、S7で生成したジョブ名Nsと、を含む。なお、印刷アプリケーション21aは、S228において、アカウント情報AC1に関連付けられたプリンタIDのリストを印刷仲介サーバ100に要求し、返信されたプリンタIDのリストの中から、ファイルFsをサブミットする対象のプリンタIDを選択してもよい。この場合、S228においてサブミット要求に含まれるプリンタIDは、選択されたプリンタIDになる。プリンタIDの選択は、プリンタIDを選択するための画面を表示し、ユーザ入力によって指定されたプリンタIDを選択してもよい。
S230において印刷アプリケーション21aは、携帯電話I/F22を介して、サブミット要求を印刷仲介サーバ100に供給する。S231において印刷仲介サーバ100は、ジョブ識別情報IDsを生成する。ジョブ識別情報IDsは、ファイルFsを用いた印刷ジョブを識別するための固有の情報である。
S233において印刷仲介サーバ100は、サブミット要求に含まれるプリンタIDに関連付けて、ファイルFs、ジョブ名Ns、ジョブ識別情報IDsを記憶する。この結果、印刷仲介サーバ100では、アカウント情報AC1、プリンタID、に加えて、さらにファイルFs、ジョブ名Ns、ジョブ識別情報IDsが関連付けられて記憶される。S236において印刷仲介サーバ100は、サブミット成功通知を携帯電話10に供給する。
印刷アプリケーション21aは、携帯電話I/F22を介して、印刷仲介サーバ100からサブミット成功通知を取得する。これにより、1個のファイルFsを、印刷アプリケーション21aが生成したジョブ名Nsおよび、印刷仲介サーバ100が生成したジョブ識別情報IDsに関連付けて印刷仲介サーバ100にサブミットする、サブミットプロセスが終了する。
(印刷プロセス;図3)
続いて、図3を参照して、携帯電話10がプリンタ110に印刷を実行させるための印刷プロセスについて説明する。図3において太線の矢印は、NFC通信200を示している。印刷プロセスでは、携帯電話10のユーザは、プリンタ110の近くに存在しなくてはならない。後述するように、携帯電話10及びプリンタ110がNFC通信を実行しなければならないからである。従ってユーザは、例えば、外出先から帰宅した後に、携帯電話10を利用してプリンタ110に印刷を実行させる。
本実施形態の説明例では、図3において、印刷仲介サーバ100に対応する破線の右側のボックスX1内の各情報が互いに関連付けられている場合を説明する。すなわち、アカウント情報AC1、プリンタID、ファイルF1〜F11、ジョブ名N1〜N11、およびジョブ識別情報ID1〜ID11、が互い関連付けられて記憶されている場合を説明する。
携帯電話10のユーザは、プリンタ110に印刷を実行させることを望む場合に、S260において、印刷アプリケーション21aを起動して、印刷操作を実行する。印刷操作は、印刷アプリケーション21aに従って表示される画面上で「印刷」を示すボタンを選択することを含む。
S261において印刷アプリケーション21aは、携帯電話I/F22を介して、アカウント情報AC1を含むログイン要求を印刷仲介サーバ100に供給する。印刷仲介サーバ100は、携帯電話10からログイン要求を取得すると、S262において、ログイン要求に含まれるアカウント情報AC1の認証を実行する。アカウント情報AC1の認証が成功した場合には、印刷仲介サーバ100は、認証トークンを生成する。生成される認証トークンは、当該印刷プロセスのみで用いられる、ワンタイムの認証トークンであってもよい。S263において印刷仲介サーバ100は、認証トークンを含むログイン成功通知を、携帯電話10に供給する。
印刷アプリケーション21aは印刷指示の入力を受け付けると、S265において、S263で受信した認証トークン、及び、プリンタIDを含む、ファイルリスト要求を生成する。そしてS280において印刷アプリケーション21aは、携帯電話I/F22を介して(即ち無線通信210を実行して)、ファイルリスト要求を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、携帯電話10からファイルリスト要求を取得すると、ファイルリスト要求に含まれる認証トークン及びプリンタIDの認証を実行する。そして、印刷仲介サーバ100は、認証トークン及びプリンタIDが登録済みであると判断する場合(即ち、認証が成功する場合)には、S282において、これらの情報に関連付けられているジョブ名(すなわち、ジョブ名N1〜N11)およびジョブ識別情報(すなわち、ジョブ識別情報ID1〜ID11)を含むファイルリストを携帯電話10に供給する。ファイルリストには、認証トークン及びプリンタIDに関連付けられているファイルの印刷ステータスを示す、印刷ステータス情報が含まれていてもよい。
印刷アプリケーション21aは、携帯電話I/F22を介して、印刷仲介サーバ100からファイルリストを取得すると、S283において、ファイルリストを利用して、ジョブ名選択画面をパネル18に表示させる。図6に、ジョブ名選択画面301の一例を示す。ジョブ名選択画面301は、ボタン画像B1〜B11を含んでいる。ボタン画像B1〜B11の各々は、複数回のサブミットプロセスそれぞれにおいて、印刷アプリケーション21aが、各アプリケーションからデータ共有によって取得し、印刷仲介サーバ100にサブミットしたファイルF1〜F11の各々を印刷対象として選択するための画像である。なお、図6において、パネル18の表示領域に収まらないボタン画像を、パネル18の下側に記載している。これらのパネル18の表示領域外のボタン画像は、スクロール表示処理を行うことにより、表示領域内に表示させることが可能であってもよい。なお、印刷仲介サーバ100が、サブミットプロセス以外の方法でプリンタIDに対してサブミットされたファイルもファイルリストに含ませてもよい。この場合、印刷アプリケーション21aは、サブミットプロセス以外の方法でプリンタIDに対してサブミットされたファイルも、印刷対象の選択肢としてジョブ名選択画面に含ませてもよい。
ボタン画像B1は、ブラウザアプリケーション21bから取得されたファイルF1を選択するためのボタン画像である。ボタン画像B2は、ギャラリーアプリケーション21cから取得されたファイルF2を選択するためのボタン画像である。ボタン画像B3およびB4は、メールアプリケーション21dから取得されたファイルF3およびF4を選択するためのボタン画像である。ボタン画像B5〜B8は、第1ストレージアプリケーション21eから取得されたファイルF5〜F8を選択するためのボタン画像である。ボタン画像B9〜B11は、第2ストレージアプリケーション21fから取得されたファイルF9〜F11を選択するためのボタン画像である。
ボタン画像B1は、サムネイル画像T1、ジョブ名画像NP1、印刷ステータス画像PS1を含んでいる。サムネイル画像T1は、ファイルF1によって形成される画像の縮小画像である。ジョブ名画像NP1は、ファイルF1のジョブ名N1を示す画像である。印刷ステータス画像PS1は、ファイルF1の印刷ステータスを示す画像である。印刷ステータス画像PS1は、ファイルリストに含まれている印刷ステータス情報に基づいて表示されてもよい。印刷ステータス画像PS1の一例としては、印刷待機状態を示す「QUEUED」や、印刷エラー状態を示す「ERROR」や、印刷完了を示す「DONE」などが挙げられる。ボタン画像B2〜B11の内容は、ボタン画像B1と同様であるため、説明を省略する。
S285において印刷アプリケーション21aは、ファイルF1〜F11のうちの1個以上のファイルの選択を受け付ける。ファイルの選択は、ボタン画像B1〜B11が表示されている領域へのタップ入力を検出することによって行われてもよい。本実施形態の説明例では、ボタン画像B1がユーザによってタップされ、ファイルF1が印刷対象として選択された場合を例として、以下に説明を続ける。
S286において印刷アプリケーション21aは、ボタン画像が選択されることに応じて、携帯電話10をプリンタ110に近づけることを促すメッセージをパネル18に表示させる。この結果、ユーザは、携帯電話10をプリンタ110に近づける。これにより、携帯電話10のNFC_I/F15とプリンタ110のNFC_I/F116との間で、NFC通信200が実行される。
S288において印刷アプリケーション21aは、NFC通信200を利用して、印刷指示をプリンタ110に送信する。印刷指示は、ユーザによって選択されたファイルF1のジョブ識別情報であるジョブ識別情報ID1、および、認証トークンを含む。
プリンタ110のCPU132は、携帯電話10から印刷指示を受信すると、印刷データ要求を生成する。印刷データ要求は、認証トークン、および、印刷指示に含まれていたジョブ識別情報ID1を含む。S290においてCPU132は、記憶部134に予め記憶されている印刷仲介サーバ100のURLを利用して、無線LAN_I/F118を介して、印刷データ要求を印刷仲介サーバ100に供給する。
印刷仲介サーバ100は、プリンタ110から印刷データ要求を取得すると、印刷データ要求に含まれる認証トークンの認証を実行する。そして、印刷仲介サーバ100は、認証トークンが登録済みであると判断する場合(即ち、認証が成功する場合)には、S295において、印刷データ要求に含まれるジョブ識別情報によって識別されるファイル(すなわち、ジョブ識別情報ID1によって識別されるファイルF1)に対する変換処理を実行する。変換処理では、ファイルF1が変換され、印刷データD1が生成される。例えば変換処理では、ファイルが、PDF形式の印刷データに変換されてもよい。S300において印刷仲介サーバ100は、印刷データD1をプリンタ110に供給する。
プリンタ110のCPU132は、無線LAN_I/F118を介して、印刷仲介サーバ100から印刷データD1を取得する。S305においてCPU132は、取得した印刷データD1を印刷実行部120に供給する。この結果、印刷実行部120は、印刷データD1によって表わされる画像を印刷用紙に印刷する。これにより、携帯電話10のユーザは、印刷済みの印刷用紙を取得することができる。
(効果)
共有機能を用いてファイルを共有元アプリケーションから共有先アプリケーションへ受け渡し、受け渡されたファイルを共有先アプリケーションが記憶部へ保存する場合がある。そして共有先アプリケーションが、ファイルを保存するタイミングとは異なるタイミングで、保存されている複数のファイルを一覧表示し、何れかのファイルの選択を受け付ける場合がある。このとき、保存されている複数のファイルの各々を識別するための文字列が存在しない場合には、ファイルのファイルパスなどを用いて、複数のファイルの各々を識別することになる。しかしファイルパスは、ユーザにとって識別力のない文字列の羅列となる場合が多いため、共有元アプリケーションから共有先アプリケーションに渡されたファイルを選択することが困難となってしまうことがある。本明細書に記載されている印刷アプリケーション21aによれば、共有機能によって、共有元アプリケーションからファイルを受信(S6)した場合には、受信したファイルを識別する文字列であるジョブ名を、インテントに基づいて生成することができる(S7)。そして、生成したジョブ名を、受信したファイルと関連付けて印刷仲介サーバ100に記憶させることができる(S230)。これによりユーザは、印刷仲介サーバ100に記憶されている複数のファイルの各々を、ジョブ名に基いて識別することが可能となるため、共有元アプリケーションから共有先アプリケーションに渡されたファイルを選択することが可能となる。
本明細書に記載されている印刷アプリケーション21aによれば、ジョブ名生成処理(S7)で生成されたジョブ名であって、印刷仲介サーバ100が記憶しているファイルを識別するためのジョブ名を用いたジョブ名選択画面を、パネル18に表示させることができる(S283)。そして、ユーザによって選択されたファイルに対応するジョブ識別情報を含んだ印刷指示をプリンタ110に送信することで(S288)、選択されたファイルを用いた印刷処理をプリンタ110に実行させることができる(S300、S305)。これによりユーザは、印刷仲介サーバ100に記憶されている複数のファイルのうちから、共有元アプリケーションから共有先アプリケーションに渡されたファイルをジョブ名に基づいて選択し、選択したファイルをプリンタ110で印刷させることが可能となる。
本明細書に記載されている印刷アプリケーション21aによれば、「SUBJECT」のフィールドから抽出したサブジェクト文字列を含むジョブ名を生成することができる(S40)。サブジェクト文字列は、ファイルの件名などを示す文字列であり、ユーザにとってファイルを識別する効果が高い文字列である。これによりユーザは、共有元アプリケーションから共有先アプリケーションに渡されたファイルを適切に選択することが可能となる。
本明細書に記載されている印刷アプリケーション21aによれば、共有されたファイルのファイル名を示す文字列を含んだジョブ名を、生成することができる(S60)。ファイル名を示す文字列は、ユーザが作成してファイルに付加する場合が多いため、ユーザにとってファイルを識別する効果が高い文字列である。これによりユーザは、共有元アプリケーションから共有先アプリケーションに渡されたファイルを適切に選択することが可能となる。
本明細書に記載されている印刷アプリケーション21aによれば、共有元アプリ識別情報を含むジョブ名を生成することができる(S20)。これにより、印刷仲介サーバ100に記憶されている複数のファイルの各々が、何れのアプリケーションから送信されたファイルであるかを識別することが可能となるため、共有元アプリケーションから共有先アプリケーションに渡されたファイルを選択することが可能となる。
本明細書に記載されている印刷アプリケーション21aによれば、インテントにサブジェクト文字列が含まれている場合(S35:YES)にはサブジェクト文字列を含むジョブ名を生成(S40)し、インテントにサブジェクト文字列が含まれていない場合(S35:NO)にはファイル名文字列を含むジョブ名を生成(S60)することができる。これにより、サブジェクト文字列をファイル名文字列よりも優先して、ジョブ名に含ませることができる。使用する文字列に優先順位を定めることができるため、より適切な文字列をジョブ名に含ませることが可能となる。
本明細書に記載されている印刷アプリケーション21aによれば、共有されたファイルのファイル名文字列を取得できない場合には(S51:NO)、ファイルパス全体を含むジョブ名を生成することができる(S54)。また、インテント内に、共有されたファイルを識別することができる文字列が含まれていない場合には(S70:NO)、予め定められた規定文字列を含むジョブ名を生成することができる(S80)。これにより、インテントの内容に関わらず、ジョブ名生成処理(S7)において確実にジョブ名を生成することが可能となる。
本明細書に記載されている印刷アプリケーション21aによれば、共有元アプリケーションの種類に応じて、ジョブ名を生成するために使用する文字列の種類を決定することができる(S15)。例えば、共有元アプリケーションが画像データを主に扱うアプリケーション(例:第1ストレージアプリケーション21e)である場合には、画像データを識別するために有用な情報である日付情報(例:写真の撮影日時)を、ジョブ名を生成するために使用してもよい(S25)。また例えば、共有元アプリケーションが他人とコミュニケーションを図るためのアプリケーション(例:メールアプリケーション21d)である場合には、共有元アプリ識別情報をジョブ名を生成するために使用してもよい(S20)。これにより、印刷仲介サーバ100に記憶されている複数のファイルの各々が、何れの種類のアプリケーションから送信されたファイルであるかを識別することが可能となるため、共有元アプリケーションから共有先アプリケーションに渡されたファイルを選択することが可能となる。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例)
インテント内に、ファイルF1に関する情報を示すURIが含まれていない場合(S70:NO)には、S80において各種の文字列を含むジョブ名を生成するとしてもよい。例えば、S10で取得した共有元アプリ識別情報を含むジョブ名を、S80において生成してもよい。
インテントには、本明細書で説明したフィールドに限らず、各種のフィールドが含まれていてもよい。各種のフィールドに含まれている文字列を用いて、S7のジョブ名生成処理が行われてもよい。
事前準備で取得する情報は、アカウント情報AC1に限られない。例えば、印刷アプリケーション21aが、認証トークンを得るためのリフレッシュトークンを印刷仲介サーバ100から取得してもよい。そして、サブミット要求を生成(S228)する前、および、ファイルリスト要求を生成(S265)する前、に、リフレッシュトークンを印刷仲介サーバ100へ送信して、認証トークンを取得して利用する形態であってもよい。この場合、印刷アプリケーション21aが、S288において、リフレッシュトークンをプリンタ110に送信してもよい。プリンタ110が、印刷データ要求(S290)を送信する前に、リフレッシュトークンを印刷仲介サーバ100へ送信して、認証トークンを取得して利用してもよい。
また事前準備では、いわゆるOAuthの手法を用いてもよい。また事前準備において、以後のサブミットプロセスや印刷プロセスでも使用することができる認証トークンを印刷仲介サーバ100から受信してもよい。この場合、印刷アプリケーション21aが、サブミット要求を送信(S230)するとき、および、ファイルリスト要求を送信(S280)するときに、事前準備において受信した認証トークンを利用してもよい。また、印刷アプリケーション21aが事前準備において受信した認証トークンを、プリンタ110が、S288において受信し、印刷データ要求(S290)を送信するときに利用してもよい。
S15において、ジョブ名を生成するために使用する文字列の種類を判断する方法は様々であってよい。例えば、共有元アプリ識別情報が識別するアプリケーションのアプリケーション名を取得し、取得したアプリケーション名に第1種の文字列(例:「ブラウザ」)が含まれるか否かによって、当該判断を実行してもよい。
S233において印刷仲介サーバ100は、ファイルFsを印刷ジョブデータに変換した上で記憶してもよい。この場合、図3の印刷プロセスでは、S300において印刷ジョブデータをプリンタ110に供給すればよい。これにより、S295の変換処理を不要とすることができる。
S230においてサブミット要求を印刷仲介サーバ100に供給する前に、印刷アプリケーション21aがファイルFsを変換したデータを生成してもよい。この場合、S233において印刷仲介サーバ100は、変換されたデータ、ジョブ名Ns、ジョブ識別情報IDsとを、アカウント情報AC1、プリンタIDに関連付けて記憶する。
S288において印刷アプリケーション21aは、ジョブ名N1を含んだ印刷指示をプリンタ110に送信してもよい。この場合、印刷仲介サーバ100は、S295において、ジョブ名N1で識別されるファイルF1に対して変換処理を実行すればよい。
S288において印刷アプリケーション21aは、プリンタIDを含んだ印刷指示をプリンタ110に送信してもよい。この場合、S290においてプリンタ110は、プリンタIDを含んだ印刷データ要求を印刷仲介サーバ100に送信してもよい。
S20などにおいて、ジョブ名N1を生成する場合には、共有処理が実行された時刻をOS21gから取得してもよい。そして、共有元アプリケーション名および時刻情報を含むジョブ名N1を生成してもよい。
S58においてファイルF1の日付情報を取得する方法は、様々であってよい。例えば印刷アプリケーション21aは、ファイル名などを用いて、OS21gに撮影日を問い合わせてもよい。また日付情報は様々な情報であってよく、例えば、ファイルの更新日や編集日であってもよい。
文字列の種類を判断する処理(S15)は、省略することが可能である。この場合、S15〜S25を省略して、S15からS35へ進むとしてもよい。また、ファイルパスにファイル名が含まれているか否かを判断する処理(S51)は、省略することが可能である。この場合、S50〜S60を省略して、S35からS70へ進むとしてもよい。以上より、一般的に言うと、印刷アプリケーション21aは、「第1の受信手段」と、「文字列生成手段」と、「記憶制御手段」として、携帯電話10を少なくとも機能させれば良い。具体例としては、印刷アプリケーション21aは、S12と、S40またはS60またはS75と、S230とを、少なくとも機能させれば良い。
ファイルの選択を受け付ける処理(S285)において、2つ以上のファイルが印刷対象として選択されてもよい。
プリンタ110及び携帯電話10は、NFC通信200を実行する代わりに、他の通信方式の近距離無線通信(例えば、トランスファージェット方式、赤外線方式等の無線通信)を実行してもよい。また、プリンタ110及び携帯電話10は、NFC通信200を実行する代わりに、Wi−Fi方式の無線通信を実行してもよい。また、プリンタ110及び携帯電話10は、無線通信を実行する代わりに、有線通信を実行してもよい。一般的に言うと、携帯電話10とプリンタ110とが通信可能であればよい。
携帯電話10は、Wi−Fi方式の無線通信を実行して、印刷仲介サーバ100と様々な情報(例:図2サブミット要求)の通信を実行してもよい。また、携帯電話10は、有線でインターネット70に接続されている場合には、有線通信を実行して、印刷仲介サーバ100と通信を実行してもよい。一般的に言うと、携帯電話10と印刷仲介サーバ100とが通信可能であればよい。
プリンタ110は、有線でインターネットに接続されている場合には、有線通信を実行して、印刷仲介サーバ100と様々な情報(例:図3のファイルリスト等)の通信を実行してもよい。一般的に言うと、プリンタ110と印刷仲介サーバ100とが通信可能であればよい。
印刷仲介サーバ100は、1個のサーバでなくてもよく、別体に構成されている複数個のサーバであってもよい。例えば、印刷仲介サーバ100は、図2の登録プロセスに示される各処理を実行する第1のサーバと、図3の印刷プロセスに示される各処理を実行する第2のサーバ(即ち第1のサーバとは別体に構成されている第2のサーバ)と、を備えていてもよい。
印刷アプリケーション21aが動作する装置は、携帯電話10でなくてもよく、据え置き型のPCであってもよいし、他のデバイス(例えばテレビ等)であってもよい。
上記の各実施例では、プリンタ110のCPU132及び携帯電話10のCPU11が記憶部134および12内のプログラムを実行することによって、図2〜図5等の各処理が実現される。これに代えて、図2〜図5等の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
携帯電話10は、情報処理装置の一例である。印刷アプリケーション21aは、情報処理プログラムの一例である。インテントおよび共有元アプリ識別情報は、特性情報の一例である。S12を実行するCPUは、第1の受信手段の一例である。ジョブ名またはジョブ識別情報は、固有文字列および識別文字列の一例である。S40、S60、S75を実行するCPUは、文字列生成手段の一例である。S230を実行するCPUは、記憶制御手段の一例である。携帯電話I/F22、NFC_I/F15は、通信インターフェースの一例である。S282を実行するCPUは、第2の受信手段の一例である。パネル18は、表示部の一例である。S283を実行するCPUは、第1の表示制御手段の一例である。S288を実行するCPUは、第2の送信手段の一例である。S10を実行するCPUは、第3の受信手段の一例である。共有元アプリ識別情報は、アプリケーション識別文字列の一例である。S3を実行するCPUは、入力受付手段の一例である。
1:通信システム、10:携帯電話、11および132:CPU、14:インテントテーブル、21a:印刷アプリケーション、21g:オペレーティングシステム、100:印刷仲介サーバ、110:プリンタ

Claims (14)

  1. 各種のアプリケーションを動作させることができる情報処理装置であって、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えたオペレーティングシステムがインストールされた前記情報処理装置に読込まれる情報処理プログラムであって、
    前記情報処理プログラムは、
    前記オペレーティングシステムが備える共有機能を介して、共有元アプリケーションが出力する出力ファイルおよび前記出力ファイルの特性を示す特性情報を、共有先アプリケーションとして受信する第1の受信手段と、
    共有先アプリケーションとして受信した前記特性情報に基づいて、共有先アプリケーションとして受信した前記出力ファイルに対し、固有の文字列である固有文字列を生成する文字列生成手段と、
    前記文字列生成手段が生成した前記固有文字列および前記第1の受信手段で受信した前記出力ファイルを互いに関連付けて記憶部に記憶させる記憶制御手段と、
    して前記情報処理装置を機能させることを特徴とする情報処理プログラム。
  2. 前記情報処理装置は、印刷仲介サーバおよびプリンタと通信を実行するための通信インターフェースを備えており、
    前記記憶制御手段は、前記出力ファイルに対して固有である固有文字列を、前記出力ファイルに基づく印刷データを識別する識別文字列として、前記通信インターフェースを介して印刷仲介サーバに記憶させ、
    前記情報処理プログラムは、
    前記印刷仲介サーバから、前記印刷仲介サーバが記憶しているM個(前記Mは2以上の整数)の識別文字列を、前記通信インターフェースを介して受信する第2の受信手段と、
    前記第2の受信手段が受信した前記M個の識別文字列の中から第1の識別文字列をユーザに選択させるための第1の選択画面を、前記情報処理装置の表示部に表示させる第1の表示制御手段と、
    して前記情報処理装置をさらに機能させ、
    さらに、前記情報処理プログラムは、
    前記第1の選択画面を介して選択された前記第1の識別文字列を含む印刷指示を前記通信インターフェースを介して前記プリンタに送信する第2の送信手段であって、前記第1の識別文字列は、前記印刷指示を受信した前記プリンタが、前記第1の識別文字列によって識別される印刷データを取得して印刷するために、前記プリンタによって利用される、前記第2の送信手段と、
    して前記情報処理装置をさらに機能させることを特徴とする請求項1に記載の情報処理プログラム。
  3. 前記文字列生成手段は、前記特性情報に前記出力ファイルの概要を示すサブジェクト文字列が含まれている場合には、当該サブジェクト文字列を前記特性情報から抽出し、抽出したサブジェクト文字列を含む前記固有文字列を生成することを特徴とする請求項1または2に記載の情報処理プログラム。
  4. 前記文字列生成手段は、前記特性情報に前記出力ファイルのファイルパスが含まれている場合には、当該ファイルパス内に含まれる前記出力ファイルのファイル名を示すファイル名文字列と当該ファイルパス内に含まれる他の文字列とを区別する特定文字を当該ファイルパス内で検索し、検出された前記特定文字によって区別されている前記ファイル名文字列を前記特性情報から抽出し、抽出した前記ファイル名文字列を含む前記固有文字列を生成することを特徴とする請求項1〜3の何れか1項に記載の情報処理プログラム。
  5. 前記文字列生成手段は、
    前記特性情報に前記サブジェクト文字列が含まれている場合には、前記サブジェクト文字列を含む前記固有文字列を生成し、
    前記特性情報に前記サブジェクト文字列が含まれていない場合に、前記特性情報に前記ファイル名文字列が含まれている場合には、前記ファイル名文字列を含む前記固有文字列を生成することを特徴とする請求項4に記載の情報処理プログラム。
  6. 前記文字列生成手段は、前記ファイルパス内から前記ファイル名文字列を抽出できない場合には、前記ファイルパスを含む前記固有文字列を生成することを特徴とする請求項4または5に記載の情報処理プログラム。
  7. 前記情報処理プログラムは、前記共有元アプリケーションを識別するアプリケーション識別文字列を共有先アプリケーションとして受信する第3の受信手段として前記情報処理装置をさらに機能させ、
    前記文字列生成手段は、前記第3の受信手段によって受信された前記アプリケーション識別文字列を含む前記固有文字列を生成することを特徴とする請求項1または2に記載の情報処理プログラム。
  8. 前記出力ファイルおよび前記特性情報を前記共有元アプリケーションから受信する受信指示の入力を受け付ける入力受付手段として、前記情報処理プログラムは前記情報処理装置をさらに機能させ、
    前記第3の受信手段は、前記入力受付手段が前記受信指示の入力を受け付けることに応じて、前記アプリケーション識別文字列を受信し、
    前記文字列生成手段は、前記第3の受信手段が受信した前記アプリケーション識別文字列が予め定められた第1種の文字列である場合には、前記アプリケーション識別文字列を含む前記固有文字列を生成することを特徴とする請求項7に記載の情報処理プログラム。
  9. 前記文字列生成手段は、前記第3の受信手段が受信した前記アプリケーション識別文字列が予め定められた第2種の文字列である場合には、前記特性情報に含まれている前記出力ファイルのファイルパスに基いて前記出力ファイルにアクセスし、前記出力ファイルの日付情報を示す日付文字列を取得し、取得した前記日付文字列を含む前記固有文字列を生成することを特徴とする請求項8に記載の情報処理プログラム。
  10. 前記出力ファイルを前記共有元アプリケーションから受信する受信指示の入力を受け付ける入力受付手段として、前記情報処理プログラムは前記情報処理装置をさらに機能させ、
    前記文字列生成手段は、前記入力受付手段が前記受信指示の入力を受け付けてから、前記記憶制御手段が前記出力ファイルおよび前記固有文字列を前記記憶部に記憶させるまでの間に、前記固有文字列を生成することを特徴とする請求項1〜9の何れか1項に記載の情報処理プログラム。
  11. 前記文字列生成手段は、前記特性情報に前記出力ファイルを識別するための文字列が含まれていない場合には、予め規定した所定文字列を含む前記固有文字列を生成することを特徴とする請求項1〜10の何れか1項に記載の情報処理プログラム。
  12. 前記情報処理プログラムは、前記共有元アプリケーションを識別するアプリケーション識別文字列を共有先アプリケーションとして受信する第3の受信手段として前記情報処理装置をさらに機能させ、
    前記文字列生成手段は、前記特性情報に前記出力ファイルを識別するための文字列が含まれていない場合には、前記第3の受信手段によって受信された前記アプリケーション識別文字列を含む前記固有文字列を生成することを特徴とする請求項1〜10の何れか1項に記載の情報処理プログラム。
  13. 各種のアプリケーションを動作させることができる情報処理装置であって、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えたオペレーティングシステムがインストールされた前記情報処理装置であって、
    前記オペレーティングシステムが備える共有機能を介して、共有元アプリケーションが出力する出力ファイルおよび前記出力ファイルの特性を示す特性情報を、共有先アプリケーションとして受信する第1の受信手段と、
    共有先アプリケーションとして受信した前記特性情報に基づいて、共有先アプリケーションとして受信した前記出力ファイルに対し、固有の文字列である固有文字列を生成する文字列生成手段と、
    前記文字列生成手段が生成した前記固有文字列および前記第1の受信手段で受信した前記出力ファイルを互いに関連付けて記憶部に記憶させる記憶制御手段と、
    を備えることを特徴とする情報処理装置。
  14. 各種のアプリケーションを動作させることができる情報処理装置であって、共有元アプリケーションと、共有先アプリケーションとの間のデータの受け渡しを制御する共有機能を備えたオペレーティングシステムがインストールされた前記情報処理装置の制御方法であって、
    前記オペレーティングシステムが備える共有機能を介して、共有元アプリケーションが出力する出力ファイルおよび前記出力ファイルの特性を示す特性情報を、共有先アプリケーションとして受信する第1の受信ステップと、
    共有先アプリケーションとして受信した前記特性情報に基づいて、共有先アプリケーションとして受信した前記出力ファイルに対し、固有の文字列である固有文字列を生成する文字列生成ステップと、
    前記文字列生成ステップが生成した前記固有文字列および前記第1の受信ステップで受信した前記出力ファイルを互いに関連付けて記憶部に記憶させる記憶制御ステップと、
    を備えることを特徴とする制御方法。
JP2014009597A 2014-01-22 2014-01-22 情報処理プログラム、情報処理装置、および情報処理装置の制御方法 Active JP6451053B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014009597A JP6451053B2 (ja) 2014-01-22 2014-01-22 情報処理プログラム、情報処理装置、および情報処理装置の制御方法
US14/602,636 US9317787B2 (en) 2014-01-22 2015-01-22 Technique for information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014009597A JP6451053B2 (ja) 2014-01-22 2014-01-22 情報処理プログラム、情報処理装置、および情報処理装置の制御方法

Publications (2)

Publication Number Publication Date
JP2015139096A true JP2015139096A (ja) 2015-07-30
JP6451053B2 JP6451053B2 (ja) 2019-01-16

Family

ID=53544847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014009597A Active JP6451053B2 (ja) 2014-01-22 2014-01-22 情報処理プログラム、情報処理装置、および情報処理装置の制御方法

Country Status (2)

Country Link
US (1) US9317787B2 (ja)
JP (1) JP6451053B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7413797B2 (ja) 2020-01-29 2024-01-16 ブラザー工業株式会社 印刷システム、制御プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094789A (zh) * 2014-05-22 2015-11-25 阿里巴巴集团控股有限公司 一种数据流转方法及装置
JP6444067B2 (ja) 2014-06-05 2018-12-26 キヤノン株式会社 通信装置及びその制御方法、並びにプログラム
JP2018097449A (ja) * 2016-12-09 2018-06-21 セイコーエプソン株式会社 受注システム、プリンター
US11233784B2 (en) 2019-05-06 2022-01-25 Blackberry Limited Systems and methods for managing access to shared network resources
US20210105375A1 (en) * 2019-10-02 2021-04-08 Ricoh Company, Ltd. Information processing system, information processing method, and information processing apparatus
JP2022064194A (ja) 2020-10-13 2022-04-25 株式会社リコー 情報処理システム、出力システム、出力方法、プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012216147A (ja) * 2011-04-01 2012-11-08 Canon Inc データ処理装置、データ処理方法およびプログラム
JP2013050845A (ja) * 2011-08-31 2013-03-14 Ricoh Co Ltd 印刷処理システム、情報処理装置、方法およびプログラム
JP2013109386A (ja) * 2011-11-17 2013-06-06 Canon Inc 情報処理システム、印刷システム、印刷制御装置、情報処理装置、制御方法およびコンピュータプログラム
JP2013134618A (ja) * 2011-12-26 2013-07-08 Brother Ind Ltd 印刷データ生成プログラム、端末装置および端末装置の制御方法
JP2014119795A (ja) * 2012-12-13 2014-06-30 Sharp Corp 画像形成装置及びそれを備えた画像形成システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5875351B2 (ja) 2011-12-01 2016-03-02 キヤノン株式会社 情報処理システム、情報処理装置、認証方法、及びコンピュータプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012216147A (ja) * 2011-04-01 2012-11-08 Canon Inc データ処理装置、データ処理方法およびプログラム
JP2013050845A (ja) * 2011-08-31 2013-03-14 Ricoh Co Ltd 印刷処理システム、情報処理装置、方法およびプログラム
JP2013109386A (ja) * 2011-11-17 2013-06-06 Canon Inc 情報処理システム、印刷システム、印刷制御装置、情報処理装置、制御方法およびコンピュータプログラム
JP2013134618A (ja) * 2011-12-26 2013-07-08 Brother Ind Ltd 印刷データ生成プログラム、端末装置および端末装置の制御方法
JP2014119795A (ja) * 2012-12-13 2014-06-30 Sharp Corp 画像形成装置及びそれを備えた画像形成システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
INTENT | REFERENCE | ANDROID DEVELOPERS, JPN6018026843, 14 February 2009 (2009-02-14), ISSN: 0003836888 *
諏訪 悠紀, ANDROID TIPS #35 SHARECOMPAT で簡単に共有アクションをつくる | DEVELOPERS.IO, JPN6018026846, 6 January 2013 (2013-01-06), ISSN: 0003836889 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7413797B2 (ja) 2020-01-29 2024-01-16 ブラザー工業株式会社 印刷システム、制御プログラム

Also Published As

Publication number Publication date
US20150205549A1 (en) 2015-07-23
JP6451053B2 (ja) 2019-01-16
US9317787B2 (en) 2016-04-19

Similar Documents

Publication Publication Date Title
JP6451053B2 (ja) 情報処理プログラム、情報処理装置、および情報処理装置の制御方法
US10097730B2 (en) Communication system for performing wireless near field communication with respect to identification information that is used to receive service from service providing apparatus
JP6167879B2 (ja) 印刷システム、情報処理装置、プログラム
JP6256040B2 (ja) 情報処理プログラムおよびプリンタ
US9692927B2 (en) Device, information processing system, and information processing method
JP6191425B2 (ja) 印刷システム
US9998625B2 (en) Printing apparatus configured to store in and print image transmitted from external device
US10498922B2 (en) Communication system for performing wireless near field communication in which image processing apparatus transmits connection destination information to portable terminal
JP6039603B2 (ja) プリンタリスト生成装置、モバイル端末、プリンタリスト生成方法、およびコンピュータプログラム
CN109660684B (zh) 图像处理装置及其控制方法、以及存储介质
US20170017448A1 (en) Printer registration apparatus, display apparatus, and method for printer registration
JP6287250B2 (ja) 情報処理プログラム、情報処理装置、および情報処理装置の制御方法
JP2019175313A (ja) アプリケーションプログラム
JP2012208886A (ja) 印刷システム、印刷指示端末、印刷サーバ、方法およびプログラム
US9667721B2 (en) Relaying device, image processing device, and system comprising image processing device and relaying device
JP2017135497A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6060573B2 (ja) 出力システム、出力制御装置、出力装置及びプログラム
US11226779B2 (en) Printing system and control method
JP2015108951A (ja) 印刷システム、情報処理装置、画像形成装置及びプログラム
KR20190113577A (ko) 인쇄 시스템, 인쇄방법, 화상 형성장치 및 그 제어방법과, 컴퓨터 프로그램
US11825042B2 (en) Peripheral device management system, peripheral device management method, and printing apparatus control system
JP6405850B2 (ja) 端末装置、サーバ、及びプリンタ
US11422761B2 (en) Image forming apparatus changing printing orders according to strength of a wireless communication signal
JP2017027161A (ja) 通信システム、中継装置および通信方法
JP2019061339A (ja) 画像形成システム、情報処理装置、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180912

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181126

R150 Certificate of patent or registration of utility model

Ref document number: 6451053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150