(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0026】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0027】
本実施の形態である情報処理装置100は、印刷サービスを提供するものであって、
図1の例に示すように、印刷サービス処理モジュール105、アクセストークン記憶モジュール150、通信モジュール190を有している。
【0028】
印刷サービス処理モジュール105は、認可リクエストURL発行モジュール110、リリースコード発行モジュール120、アクセストークン保存モジュール130、ファイル取得モジュール140を有しており、アクセストークン記憶モジュール150、通信モジュール190と接続されている。印刷サービス処理モジュール105は、印刷サービスを提供する。
認可リクエストURL発行モジュール110は、通信モジュール190を介して、印刷対象となる文書(以下、ファイルともいう)の格納場所を示す第1の情報を受け付ける。この第1の情報として、例えば、URI(Uniform Resource Identifier)があり、より具体的には、URL(Uniform Resource Locatorを含む)がある。ここでの格納場所は、後述するクラウドサービス装置230を示すものとなる。なお、印刷サービス処理モジュール105は、送信者が用いる端末(例えば、後述するモバイル端末210)から第1の情報を受け付ける。
【0029】
次に、印刷サービス処理モジュール105は、第1の情報を用いて認可リクエストを生成する。
そして、認可リクエストとリリースコード発行モジュール120が生成した第2の情報(以下、リリースコードともいう)を第1の情報の送信者が用いる端末に送信する。
具体的には、例えば、認可リクエストURL発行モジュール110は、モバイル端末210から送付されたURLから、クラウドサービス装置230を特定し、そのクラウドサービス装置230用の認可リクエストのURLを発行し、モバイル端末210に返す。
認可リクエストにはstateパラメータに、リリースコード発行モジュール120により発行されたリリースコードを設定する。
また、認可フローの最後にリダイレクトされる先は、印刷サービスを行う情報処理装置100のURLとしておく。
【0030】
リリースコード発行モジュール120は、印刷サービス処理モジュール105が生成した認可リクエストに対応する第2の情報を生成する。
具体的には、例えば、リリースコード発行モジュール120は、第2の情報としてのリリースコードを発行する。リリースコードは、認可リクエストに対応する情報であればよい。例えば、乱数としてもよい。ただし、ユーザーが手入力できるようにするために、数字8桁程度の英数字としてもよい。また、リリースコードの有効期間を定めてもよい。その期間は、文書の印刷可能期間であることから、短期間であってもよい。
【0031】
アクセストークン保存モジュール130は、認可リクエストに対応する認可コードを受け付ける。なお、アクセストークン保存モジュール130は、格納場所を管理する文書記憶装置(例えば、後述するクラウドサービス装置230)から認可コードを受け付ける。
次に、アクセストークン保存モジュール130は、認可コードを用いてアクセストークンをクラウドサービス装置230から取得する。
そして、アクセストークン保存モジュール130は、アクセストークンと第2の情報と第1の情報を対応させて記憶させるように制御する。
具体的には、例えば、アクセストークン保存モジュール130は、リリースコード、ファイルURL、アクセストークンを対応付けてアクセストークン記憶モジュール150に保存する。ファイルURLがモバイル端末210から送られてきたときは、リリースコードとファイルURLを保存する。アクセストークンは、認可コードからアクセストークンを取得したとき、認可コードに含まれるリリースコードに対応付けて保存する。
【0032】
ファイル取得モジュール140は、画像処理装置から第2の情報を受け付けた場合は、その第2の情報に対応するアクセストークンと格納場所を示す情報を用いて、その格納場所にある文書を取得し、その文書をその画像処理装置に送信する。
具体的には、例えば、ファイル取得モジュール140は、画像処理装置220からのファイル取得リクエストに含まれるリリースコードから、アクセストークン記憶モジュール150に保存されたアクセストークンと印刷対象のファイルのURLを元に、印刷対象のファイルをクラウドサービス装置230から取得し、画像処理装置220に返す。
【0033】
アクセストークン記憶モジュール150は、印刷サービス処理モジュール105と接続されている。アクセストークン記憶モジュール150は、後述するモバイル端末210、画像処理装置220、クラウドサービス装置230、メール/SNS装置240等との通信を行う。なお、送信者が用いるソーシャルネットワーク又は電子メールを介して、送信者が用いる端末(モバイル端末210)との通信を行うようにしてもよい。
通信モジュール190は、印刷サービス処理モジュール105と接続されている。通信モジュール190は、アクセストークン保存モジュール130によってアクセストークン等を記憶する。例えば、アクセストークン保存テーブル300を記憶する。
図3は、アクセストークン保存テーブル300のデータ構造例を示す説明図である。アクセストークン保存テーブル300は、リリースコード欄310、ファイルURL欄320、アクセストークン欄330、作成日時欄340を有している。リリースコード欄310は、リリースコードを記憶している。ファイルURL欄320は、そのリリースコードに対応するファイルURLを記憶している。アクセストークン欄330は、そのリリースコードとそのファイルURLに対応するアクセストークンを記憶している。作成日時欄340は、そのリリースコード又はそのアクセストークンが作成された日時(年、月、日、時、分、秒、秒以下、又はこれらの組み合わせであってもよい)を記憶している。
【0034】
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
情報処理装置100、モバイル端末210、画像処理装置220、クラウドサービス装置230、メール/SNS装置240は、通信回線290を介してそれぞれ接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、クラウドサービス装置230の他に、情報処理装置100、メール/SNS装置240による機能は、クラウドサービスとして実現してもよい。クラウドサービス装置230は、少なくとも文書を管理するものであり、いわゆるクラウドストレージとしての機能を有している。モバイル端末210は、通信機能を有しており、携帯電話(スマートフォン等を含む)、ノート型PC(タブレット型PC等を含む)、PDA(Personal Digital Assistant)等のデータ通信端末、通信機能を有しているゲーム端末、ナビゲーションシステム、情報家電、ウェアラブルコンピュータ等であってもよい。なお、送信者が用いる端末として、モバイル端末210を例示しているが、通信機能を有していれば、デスクトップPC等の固定された端末であってもよい。
【0035】
モバイル端末210は、ユーザーの操作に応じて、アプリケーションやブラウザ等で、クラウドサービス装置230内の印刷対象のファイルのURLを取得する。
そして、モバイル端末210は、情報処理装置100から送られてくる認可リクエストのURLから、メール/SNS装置240に対してブラウザ上で認可操作ができる。また、モバイル端末210は、電子メールやSNS(Social Networking Service)などのメッセージ通信ができるものである。
【0036】
メール/SNS装置240は、電子メール、SNSのメッセージ機能(Line、FacebookのMessenger等)、マイクロブログのメッセージ機能(Twitterのダイレクトメッセージ等)を有している。なお、モバイル端末210のユーザーのアカウントが開設されており、情報処理装置100によるサービスが受け付けられる。具体的には、メール/SNS装置240上に情報処理装置100のアカウントもあり、モバイル端末210のユーザーと情報処理装置100による通信(一般的には、会話ともいわれる)可能としている。
情報処理装置100は、メール/SNS装置240等との通信機能や、画像処理装置220からのリクエストを受け付ける機能を持つ。
画像処理装置220は、リリースコードを受け付けるユーザーインタフェース又は通信機器を有しており、そのリリースコードを情報処理装置100に送信し、ファイルを取得する機能、そのファイルを印刷する機能を有している。
【0037】
前述したように、特許文献1に記載の技術では、印刷対象の文書は、モバイル端末210の内部にある文書を前提としている。クラウドサービス装置230上にある文書を印刷する場合は、一度、ローカル(モバイル端末210)にダウンロードしてから、印刷サービスにアップロードする必要がある。
そのため、印刷開始までの時間がかかり、データ通信量を無駄に使用することとなってしまう。
本実施の形態である情報処理装置100は、クラウドサービス装置230上にある文書をモバイル端末210にダウンロードさせることなく、画像処理装置220で印刷するための処理を行う。情報処理装置100がクラウドサービス装置230から文書を取得するために、クラウドサービス装置230から、例えばOAuthに規定するアクセストークンを取得する。また、情報処理装置100にユーザー登録を行う必要はなく、モバイル端末210側に印刷サービス用の専用アプリケーションをインストールする必要がないようにしている。なお、OAuthを用いる場合は、モバイル端末210は、OAuthのフローに対応できるブラウザを有しており、クラウドサービス装置230は、OAuthをサポートする。
また、ここでの情報処理装置100は、電子メールやSNSなどのメッセージ通信ができ、URLから、認可リクエストのURLを生成(stateパラメータにリリースコードを設定)し、リリースコード、ファイルURL、アクセストークンを対応付けて保存しておき、リリースコード発行し、画像処理装置220からの要求に基づき、クラウドサービス装置230からファイルを取得する。
【0038】
処理の概略(もっぱら技術の理解を容易にする技術情報として用いるものである)を説明する。
(1)ユーザーは、情報処理装置100に、電子メール又はSNSメッセージで、印刷対象のファイルURLを送付する。
(2)情報処理装置100は、URLを解釈して、クラウドサービス装置230にアクセスするための認可リクエストのURLを返す。その際、リリースコードを発行し、stateパラメータに設定しておく。
リリースコードは、可読の状態(目に見える形)で、別途ユーザーに返す。
リリースコードとファイルURLは対応付けて保存しておく。
(3)ユーザーは、認可リクエストのURLをタップして、認可フローを続け認可処理が完了すると、情報処理装置100に認可コードがリダイレクトされる。
stateパラメータに設定されて返ってくるリリースコードから、上記(2)で保存しておいたリリースコードとファイルURLに、認可コードから取得できるアクセストークンを追加して保存する。
(4)画像処理装置220は、ユーザー又はモバイル端末210からリリースコードを受け取る。そして、次の(5)による印刷処理を開始する。
(5)画像処理装置220は、リリースコードを情報処理装置100に送り、印刷対象のファイルを取得して、印刷する。
【0039】
図4は、本実施の形態による処理例を示すフローチャートである。
ステップS402では、モバイル端末210は、クラウドサービス装置230から印刷対象のファイルURLを取得する。
ステップS404では、モバイル端末210は、情報処理装置100に対して、印刷サービス向けのメッセージを用いて、ステップS402で取得したファイルURLを送信する。
ステップS406では、情報処理装置100は、ファイルURLを解釈して認可リクエストを作成する。
【0040】
ステップS408では、情報処理装置100は、リリースコードとファイルURLを対応付けて、アクセストークン保存テーブル300に保存する。
ステップS410では、情報処理装置100は、モバイル端末210に対して、認可リクエストのURL(state(ステート)パラメータにリリースコードを設定)とユーザー可読のリリースコードを送信する。なお、stateパラメータとは、OAuthで規定されているものであり、認可リクエストのURLにこのstateパラメータが含まれていると、後述するステップS416においても、stateパラメータが含まれた認可コードを情報処理装置100が取得できる。そして、このstateパラメータに設定されているリリースコードを用いて、ステップS408で保存したアクセストークン保存テーブル300の該当行に、アクセストークンを保存するために利用する。
ステップS412では、モバイル端末210は、クラウドサービス装置230に対して、認可リクエストを送信し、認可画面を表示する。具体的には、ユーザーの操作に応じて、認可リクエストのURLにアクセスすることが、認可リクエストを送信することに該当し、その結果、ブラウザ内に認可画面を表示することになる。
【0041】
ステップS414では、モバイル端末210は、ユーザーの操作に応じて、クラウドサービス装置230に対して、認可操作を行う。ここでの認可の対象とは、情報処理装置100がクラウドサービス装置230内の印刷対象としているファイルにアクセスすることである。
ステップS416では、クラウドサービス装置230は、情報処理装置100に対して、認可コード(stateパラメータにリリースコードを設定)を送信する。
ステップS418では、情報処理装置100は、クラウドサービス装置230から、アクセストークン(認可コード)を取得する。
【0042】
ステップS420では、情報処理装置100は、リリースコードとアクセストークンを対応付けて、アクセストークン保存テーブル300に保存する。
ステップS422では、モバイル端末210又はモバイル端末210のユーザーは、画像処理装置220に対して、リリースコードを入力する。
ステップS424では、画像処理装置220は、情報処理装置100に対して、ファイルの取得リクエスト(リリースコード付き)を送信する。
【0043】
ステップS426では、情報処理装置100は、アクセストークン保存テーブル300を用いて、ステップS424で取得したリリースコードに対応するファイルURL、アクセストークンを抽出する。情報処理装置100は、そのファイルURL、アクセストークンを用いて、クラウドサービス装置230から印刷対象のファイルを取得する。そして、情報処理装置100は、そのファイルを画像処理装置220に送信する。
ステップS428では、画像処理装置220は、ファイルを印刷する。
【0044】
図5は、本実施の形態による処理例を示す説明図である。モバイル端末210と情報処理装置100は、メール/SNS装置240を介して通信を行っている例を示したものであり、
図4で示した処理例と同等の処理を行うものである。
モバイル端末210は、クラウドサービス装置230と通信を行い、メール/SNS装置240を介して情報処理装置100と通信を行う。
クラウドサービス装置230は、モバイル端末210、情報処理装置100と通信を行う。
メール/SNS装置240は、モバイル端末210と情報処理装置100の仲介を行う。いわゆるポータルサイトとしての役割を有している。
情報処理装置100は、クラウドサービス装置230、画像処理装置220と通信を行い、メール/SNS装置240を介してモバイル端末210と通信を行う。
画像処理装置220は、情報処理装置100と通信を行う。また、リリースコードの受け取りに関しては、モバイル端末210と近距離無線通信を行ってもよいし、モバイル端末210のユーザーから操作されてもよい。
【0045】
画像処理装置220は、リリースコード受付モジュール222、印刷サービス接続モジュール224、印刷モジュール226を有している。
リリースコード受付モジュール222は、第2の情報であるリリースコードを、送信者による操作によって受け付け、又は、送信者が用いる端末(モバイル端末210)から受け付ける。ここでの「送信者による操作」とは、例えば、画像処理装置220に備え付けられているキーボード、タッチパネル等に対して、ユーザーがリリースコードを打ち込む操作をいう。また、「送信者が用いる端末から受け付ける」方法として、近距離無線通信を用いてもよい。例えば、モバイル端末210のNFC(Near Field Communication)機能を使って、情報処理装置100から受け取ったリリースコードを送信すればよい。
印刷サービス接続モジュール224は、第2の情報を情報処理装置100に送信する。そして、情報処理装置100から文書を受け付ける。つまり、リリースコードを元に情報処理装置100から印刷対象の文書を取得する。
印刷モジュール226は、印刷サービス接続モジュール224が受け付けた文書を印刷する。
【0046】
図5の例で示すステップS404では、モバイル端末210は、メール/SNS装置240に対して、印刷サービス向けのメッセージを用いて、ファイルURLを送信する。メール/SNS装置240は、情報処理装置100に対して、そのファイルURLを転送する(ステップS404b)。
図5の例で示すステップS410では、情報処理装置100は、メール/SNS装置240に対して、認可リクエストのURLとユーザー可読のリリースコードを送信する(ステップS410b)。メール/SNS装置240は、モバイル端末210に対して、認可リクエストのURLとユーザー可読のリリースコードを送信する。
【0047】
図6は、本実施の形態による処理例を示す説明図である。
モバイル端末210は、液晶ディスプレイ等の表示装置に印刷サービス提供画面600を表示する。印刷サービス提供画面600には、対話領域610を表示する。
対話領域610には、モバイル端末210のユーザーと情報処理装置100(印刷サービス)との通信内容(会話)として、メッセージ620、メッセージ630、メッセージ640が表示されている。
メッセージ620は、
図5の例に示すステップS404に相当する。メッセージ620として、例えば、「https://www.storage_service.com/home?preview=mobile+intro.pdf」と表示する。これは、ステップS402で取得されたURLそのままである。
【0048】
メッセージ630、メッセージ640は、
図5の例に示すステップS410に相当する。
メッセージ630として、例えば、「https://www.storage_service.com/1/oauth/authorize?oauth_token=**********&state=47945646、こちらのURLにアクセスし、許可ボタンを押してください」と表示する。ここで表示されているURLは、OAuthで用いられている形式を採用している。なお、最後の部分の「state=47945646」がstateパラメータにリリースコード(47945646)を設定していることを示している。
【0049】
メッセージ640として、例えば、「認可操作が終わりましたら、複合機(画像処理装置220)で○○○アプリを起動して、以下のリリースコードを入力して下さい。リリースコード:47945646、有効期限:2016/01/13 18:32」と表示する。「リリースコード:47945646」の部分が、ユーザー可読としたリリースコードである。この表示部分は、モバイル端末210のユーザーが画像処理装置220に、このリリースコードを打ち込むための表示である。したがって、モバイル端末210が画像処理装置220に対して、近距離無線通信によってリリースコードを送信する場合は、モバイル端末210が、メッセージ630内のURLからリリースコードを抽出すればよいので、メッセージ640内のリリースコードの表示は必ずしも必要ではない。
【0050】
前述の実施の形態の説明では、前述のURLは、印刷対象の文書を指定するものであるが、スキャンした文書画像の格納場所を指定するものとしてもよい。この場合、URLがファイルを指す場合は、そのファイルのバージョンアップや差替等を意味する。また、URLがフォルダを指す場合は、そのフォルダへの文書画像の格納等を意味することになる。
この場合、印刷サービス処理モジュール105は、スキャン対象となる文書の格納場所を示す第1の情報を受け付ける。
そして、ファイル取得モジュール140は、画像処理装置220から第2の情報を受け付けた場合は、その第2の情報に対応するアクセストークンと格納場所を示す情報を用いて、その画像処理装置220から文書画像を受信し、その文書画像を該格納場所に送信する。
また、画像処理装置220は、第2の情報を、送信者による操作によって受け付け、又は、その送信者が用いる端末から受け付け、第2の情報を情報処理装置100に送信し、文書画像を読み取って、その文書画像を情報処理装置100に送信する。
もちろんのことながら、この場合においても、情報処理装置100とモバイル端末210間の通信は、メール/SNS装置240を介して行ってもよい。
また、情報処理装置100、画像処理装置220等は、クラウドサービス装置230からの印刷対象である文書の取り出し、スキャン対象となる文書のクラウドサービス装置230への格納の両方を行えるようにしてもよい。
【0051】
図7は、本実施の形態による処理例を示すフローチャートである。ステップS702からステップS722までの処理は、
図4の例に示したステップS402からステップS422までの処理と同等である。なお、前述した通り、URLは、スキャンした文書画像(スキャンファイルともいう)の格納場所を意味している。主に、ステップS724以降が、
図4の例に示したフローチャートと異なっている。
ステップS702では、モバイル端末210は、クラウドサービス装置230からスキャン対象を格納するフォルダ(ディレクトリ、コレクション等ともいわれる)を示すURLであるところのフォルダURLを取得する。
ステップS704では、モバイル端末210は、情報処理装置100に対して、スキャンサービス向けのメッセージで、ステップS702で取得したフォルダURLを送信する。
ステップS706では、情報処理装置100は、フォルダURLを解釈して認可リクエストを作成する。
【0052】
ステップS708では、情報処理装置100は、リリースコードとフォルダURLを対応付けて、アクセストークン保存テーブル300に保存する。
ステップS710では、情報処理装置100は、モバイル端末210に対して、認可リクエストのURL(stateパラメータにリリースコードを設定)とユーザー可読のリリースコードを送信する。
ステップS712では、モバイル端末210は、クラウドサービス装置230に対して、認可リクエストを送信し、認可画面を表示する。具体的には、ユーザーの操作に応じて、認可リクエストのURLにアクセスすることが、認可リクエストを送信することに該当し、その結果、ブラウザ内に認可画面を表示することになる。
【0053】
ステップS714では、モバイル端末210は、ユーザーの操作に応じて、クラウドサービス装置230に対して、認可操作を行う。ここでの認可の対象とは、情報処理装置100がクラウドサービス装置230内の格納場所にファイルを格納することである。
ステップS716では、クラウドサービス装置230は、情報処理装置100に対して、認可コード(stateパラメータにリリースコードを設定)を送信する。
ステップS718では、情報処理装置100は、クラウドサービス装置230から、アクセストークン(認可コード)を取得する。
【0054】
ステップS720では、情報処理装置100は、リリースコードとアクセストークンを対応付けて、アクセストークン保存テーブル300に保存する。
ステップS722では、モバイル端末210又はモバイル端末210のユーザーは、画像処理装置220に対して、リリースコードを入力する。
ステップS724では、画像処理装置220は、文書をスキャンしてスキャンファイルを生成する。
【0055】
ステップS726では、画像処理装置220は、情報処理装置100に対して、スキャンファイルと送信リクエスト(リリースコード付き)を送信する。
ステップS728では、情報処理装置100は、アクセストークン保存テーブル300を用いて、ステップS726で取得したリリースコードに対応するフォルダURL、アクセストークンを抽出する。情報処理装置100は、そのフォルダURL、アクセストークンを用いて、クラウドサービス装置230に対して、スキャンファイルを送信する。そして、画像処理装置220においてスキャンファイルが格納された場合は、クラウドサービス装置230から情報処理装置100、情報処理装置100から画像処理装置220に格納が成功した旨を示す情報を送信する。画像処理装置220は、格納が終了したことを表示してもよい。
なお、ファイルのバージョンアップや差替等を行う場合は、フォルダURLをファイルURLとすればよい。また、URLがファイルURLであるか、フォルダURLであるかを判断し、URLがファイルURLである場合は、ファイルのバージョンアップや差替等を行い、URLがフォルダURLである場合は、そのフォルダにファイルを格納するようにしてもよい。
【0056】
図8を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。
図8に示す構成は、例えばパーソナルコンピュータ(PC)等によって構成されるものであり、スキャナ等のデータ読み取り部817と、プリンタ等のデータ出力部818を備えたハードウェア構成例を示している。
【0057】
CPU(Central Processing Unit)801は、前述の実施の形態において説明した各種のモジュール、すなわち、印刷サービス処理モジュール105、認可リクエストURL発行モジュール110、リリースコード発行モジュール120、アクセストークン保存モジュール130、ファイル取得モジュール140、通信モジュール190等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0058】
ROM(Read Only Memory)802は、CPU801が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)803は、CPU801の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス804により相互に接続されている。
【0059】
ホストバス804は、ブリッジ805を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス806に接続されている。
【0060】
キーボード808、マウス等のポインティングデバイス809は、操作者により操作されるデバイスである。ディスプレイ810は、液晶表示装置又はCRT(Cathode Ray Tube)等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス809とディスプレイ810の両方の機能を備えているタッチスクリーン等であってもよい。
【0061】
HDD(Hard Disk Drive)811は、ハードディスク(フラッシュ・メモリ等であってもよい)を内蔵し、ハードディスクを駆動し、CPU801によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、アクセストークン記憶モジュール150等としての機能を実現させる。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【0062】
ドライブ812は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体813に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース807、外部バス806、ブリッジ805、及びホストバス804を介して接続されているRAM803に供給する。なお、リムーバブル記録媒体813も、データ記録領域として利用可能である。
【0063】
接続ポート814は、外部接続機器815を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート814は、インタフェース807、及び外部バス806、ブリッジ805、ホストバス804等を介してCPU801等に接続されている。通信部816は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部817は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部818は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0064】
なお、
図8に示す情報処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、
図8に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに
図8に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0065】
前述の実施の形態においては、ファイルが格納場所を示すURLを例示したが、フォルダのURLであってもよい。その場合は、画像処理装置220でリリースコードを入力すると、フォルダの内容物のリストが表示されて、そこから対象のファイルを指定することになる。
前述の実施の形態においては、ステップS410で、ユーザー可読のURLを送信しているが、ステップS420後のリダイレクト画面で表示してもよい。この場合、ユーザーが初めてリリースコードを知るタイミングから、リリースコードが利用可能な状態であることになる。
アクセストークン保存テーブル300として、メールアドレス又はSNSアカウントを、アクセストークンを対応付けて記憶させてもよい。この処理は、ステップS408で行えばよい。この場合、2回目以降は、認可フローを経ずに、ファイルを印刷することができるようになる。
【0066】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分又は全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。