以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の実施形態における管理者PC100、クライアントPC101、複合機102(画像処理装置)およびクラウドストレージサーバ104(クラウドストレージサービス)を用いたスキャンデータ送信システムのシステム構成の一例を示す図である。
なお、本実施形態では、好適な例としてスキャンデータ(スキャンファイル)をクラウドストレージサーバ104へ保存する形態とするが、スキャンデータに限らず、複合機102に保存されたファイルをクラウドストレージサーバ104へ保存する形態にも適用可能である。
管理者PC100、クライアントPC101、複合機102は、クラウドストレージサーバ104が、LAN103を介して接続される構成となっている。
管理者PC100は、PCに備えられたWebブラウザ401より、複合機102が生成するサーブレットを操作し、スキャンデータ送信システムに関する各種設定を行う。
クライアントPC101は、スキャンデータ送信先のURLを添付したメールを複合機102から受信し、当該URLにWebブラウザ401よりアクセスしてデータの確認を行う。
複合機102は、宛先表を有し、スキャンデータを宛先表で指定された宛先へ送信する。クラウドサービスを利用する際には、HTTPS通信部411によってフォルダ情報の取得やデータのアップロード等の通信処理が実施される。すなわち、複合機102は、サーバと通信可能な宛先表を有する画像処理装置である。
クラウドストレージサーバ104は、インターネット上で提供されるストレージサービスである。また、クラウドストレージサーバ104は、クラウドストレージサービス事業者が管理しているサーバで、クラウドストレージサービス事業者が提供するAPIを用いて制御する。このAPIは、Webブラウザ401以外からのフォルダ作成やファイルアップロード等の各種機能を提供するために用意されている。
図2は、本発明の実施形態における管理者PC100、クライアントPC101のハードウェア構成の一例を示すブロック図である。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステムプログラム(以下、OS)や、クラウドプラットフォーム、またこのクラウドプラットフォーム上で実行されるサービス(プログラム)が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、入力デバイス209からの入力を制御する。入力デバイス209としては、キーボード、タッチパネル、及びマウス等のポインティングデバイス等が挙げられる。
なお、入力デバイス209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
206はビデオコントローラで、ディスプレイ210等の表示機への表示を制御する。なお、ディスプレイ210は、CRT、液晶ディスプレイ等の表示機のことを指す。または、その他の表示機であってもよい。
207はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HDD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
なお、本実施形態ではデータベースを備え、データベース上でファイル(印刷ジョブ)の情報を管理している。
208は通信I/Fコントローラで、ネットワーク112を介して外部機器と接続・通信するものであり、ネットワーク112での通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、ROM202あるいは外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。
さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報、テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
次に、図3を用いて、画像処理装置としての複合機102のハードウェア構成について説明する。なお、複合機102に情報処理装置が接続され、この情報処理装置で複合機102を制御する構成であってもよいことは言うまでもない。
図3は、図1に示した複合機102のハードウェア構成の一例を示すブロック図である。
図3において、316はコントローラユニットで、画像入力デバイスとして機能するスキャナ部314や、画像出力デバイスとして機能するプリンタ部312と接続する一方、LANや公衆回線(WAN)(例えば、PSTNまたはISDN等)と接続することで、画像データやデバイス情報の入出力を行う。
コントローラユニット316において、301はCPUで、システム全体を制御するプロセッサである。
302はRAMで、CPU301が動作するためのシステムネットワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
303はROMで、システムのブートプログラムや各種制御プログラムが格納されている。304はハードディスクドライブ(HDD)で、システムを制御するための各種プログラム、画像データ等を格納する。
307は操作部インタフェース(操作部I/F)で、操作部308とのインタフェース部であり、操作部308に表示する画像データを出力する。
また、操作部I/F307は、操作部308からユーザが入力した情報(例えば、ユーザ名やパスワード等のユーザ情報等)をCPU301に伝える役割をする。
305はネットワークインタフェース(Network I/F)で、ネットワーク112に接続し、データの入出力を行う。306はモデム(MODEM)で、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
318は外部インタフェース(外部I/F)で、USB、IEEE1394、プリンタポート、RS−232C等の外部入力を受け付けるI/F部であり、本実施形態においては認証処理で必要となるICカードを読み取るカードリーダ319が外部I/F部318に接続されている。
そして、CPU301は、この外部I/F318を介してカードリーダ319によるICカードからの情報読み取りを制御し、該ICカードから読み取られた情報を取得可能であることとする。以上のデバイスがシステムバス309上に配置される。
320はイメージバスインタフェース(IMAGE BUS I/F)であり、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。
画像バス315は、PCIバスまたはIEEE1394で構成される。画像バス315上には以下のデバイスが配置される。
310はラスタイメージプロセッサ(RIP)で、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。311はプリンタインタフェース(プリンタI/F)で、プリンタ部312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
また、313はスキャナインタフェース(スキャナI/F)で、スキャナ部314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
317は画像処理部で、入力画像データに対し補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。
また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。
スキャナ部314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。
原稿用紙は原稿フィーダのトレイにセットし、ユーザが操作部308から読み取り起動指示することにより、CPU301がスキャナ部314に指示を与え、フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
プリンタ部312は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU301からの指示によって開始する。
尚、プリンタ部312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
操作部308は、LCD表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。LCD表示部でメニューを表示し、サーバで管理しているファイルの一覧を表示する部である。
また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。
ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。
また、操作部308のストップキーは、稼働中の動作を止める働きをする。また、操作部308のIDキーは、ユーザのユーザIDを入力する時に用いる。リセットキーは、操作部308からの設定を初期化する時に用いる。
カードリーダ319は、CPU301からの制御により、ICカード(例えば、ソニー社のフェリカ(FeliCa)(登録商標))内に記憶されている情報を読み取り、該読み取った情報を外部I/F318を介してCPU301へ通知する。
以上のような構成によって、複合機102は、スキャナ部314から読み込んだ画像データをネットワーク上に送信したり、ネットワークから受信した印刷データをプリンタ部312により印刷出力することができる。
また、スキャナ部314から読み込んだ画像データをモデム306により、公衆回線上にFAX送信したり、公衆回線からFAX受信した画像データをプリンタ部312により出力することできる。
次に図4を参照して、本発明の実施形態における各種装置の機能構成の一例について説明する。
クライアントPC101は、Webブラウザ401、メール受信部402を有している。複合機102は、HTTPS通信部411、設定情報管理部412、表示制御部413、宛先表管理部414、FTP送受信部415、メール送信部416、キャッシュ管理部417を有している。
Webブラウザ401は、クラウドストレージサーバ104と通信を行い、クラウドストレージサーバ104に保存されているファイルの一覧やファイルのダウンロードの実行を行う機能部である。
メール受信部402は、クラウドストレージサーバ104でファイルが保存された場合、保存先のURLを含むメール(複合機102で生成)を受信する機能部である。メール受信はメールサーバ(不図示)を介して受信される。
HTTPS通信部411は、クラウドストレージサーバ104との通信を行う機能部である。
設定情報管理部412は、複合機102に保存されている各種設定情報を管理する機能部あり、複合機102が通信するクラウドストレージサーバ104の接続先や、複合機102に設定されるIPアドレスなどを管理する。また、クラウドストレージサーバ104へアクセスする回数(1日1回アクセスしてフォルダ情報を取得する設定)を管理する。
表示制御部413は、複合機102の操作部への表示を制御する機能であり、宛先表の表示を制御する機能部である。図12の画面の表示を制御する。
宛先表管理部414は、複合機本体の宛先表のデータを管理する機能部あり、例えば、図13を管理する。
FTP送受信部415は、localhostにより自機(複合機102)にファイルを送受信する機能部である。
メール送信部416は、クラウドストレージサーバ104の保存先となるURLを付したメールを送信する機能部である。
キャッシュ管理部417は、クラウドストレージサーバ104から取得したフォルダ情報(図14)をキャッシュする機能部である。また、クラウドストレージサーバ104へアクセスするためのユーザ情報(図16)をキャッシュする機能部である。
次に図5の処理概要図を用いて、本実施形態の処理の概要について説明する。
まず初めに、複合機102が起動すると、クラウドストレージ連携拡張機能(拡張モジュール)は、FTPサーバ(ポート番号:51200)として立ち上がる。
(1)複合機102で、ユーザ認証によりログインすると、クラウドストレージサーバ104へアクセスして、認証されたユーザに対応付くフォルダ情報を取得する。なお、フォルダ情報の取得は、ログイン後にユーザがクラウドストレージ連携拡張機能(拡張モジュール)を指定して実行した場合に取得するものとする。
(2)取得したフォルダ情報をフォルダ情報キャッシュとする。キャッシュはユーザ(メールアドレス)に対応付けておく。
(3)取得したフォルダ情報をもとに、送信先を「localhost:ポート番号(クラウドストレージ連携拡張機能用のポート)」に設定して、宛先表に登録する。
(4)宛先表で指定された送信先情報(フォルダ情報)を基に、スキャン機能により生成されたスキャンデータを送信機能を用いて送信する。「localhost:ポート番号」がある場合には、自機の受信機能(FTP)でスキャンデータを受信する。
(5)スキャンデータを取得する。
(6)ユーザ情報キャッシュのトークンを用いて、スキャンデータを宛先表で指定されたクラウドストレージサーバ104上のフォルダに対してアップロードする。アップロードが完了したことの通知を受ける。なおトークンの期限が切れている場合には、再度トークンの取得を行う。
(7)アップロード先の情報(URL)を含むメールを生成し、メールサーバに送信する。なお、アップロード先の情報は、アップロードが完了したことの通知に含まれている情報を用いても、複合機102で生成した情報を用いてもよい。
送信後、ログアウトがされると、(3)で宛先表から一時的に登録したクラウドストレージサーバ104のフォルダ情報を特定して、削除する。
次に図6〜図10のフローチャートを用いて、本発明の実施形態におけるクラウドサービスへのスキャンデータ送信システムが実行する処理について説明する。
図6のフローチャートは、クラウドストレージサーバ104にフォルダを作成する処理を示すフローチャートである。
ステップS601では、ユーザのクライアントPC101のWebブラウザ401を利用し、クラウドストレージサービス(クラウドストレージサーバ104)へログインする。
サービスへのログインは、クライアントPC101以外の端末(たとえばスマートフォン等)からサービス専用アプリケーションを用いて実施してもよい。ログインに用いられるクラウドストレージサービスのユーザ管理テーブルは、図17である。クラウドストレージサービスへのログインは、ユーザを識別するためのメールアドレスをアカウント名とパスワードによってログインすることができる。トークン情報(アクセストークンともいう)は後述する複合機102からのログインにより記憶されるものとする。また、本フローチャートにて生成されたフォルダ情報を保存している。ログインする際の認証情報(アカウント名とパスワード)は、別のテーブル(認証テーブル)で管理する構成であってもよい。
ステップS602では、クライアントPC101のWebブラウザ401は、ステップS601でログインしたユーザのフォルダ一覧画面を表示する。ここでは、図17のユーザ管理テーブルから取得したフォルダ情報をクラウドストレージサービスから受信してフォルダ一覧画面を表示する。
ステップS603では、各ユーザはクライアントPC101のWebブラウザ401から新規フォルダの作成操作を受け付ける。フォルダを新規作成する場合は、ステップS604へ進む。新規作成しない場合には、待機状態とする。不図示であるが、ログアウトした場合には、本フローチャートを終了するものとする。
ステップS604では、各ユーザはクライアントPC101のWebブラウザ401を利用し、新規作成するフォルダ名を指定(入力)する。クラウドストレージサービスサービスによって、フォルダの権限等を設定させることも可能である。
ステップS605では、ステップS604で入力されたフォルダ名のフォルダの作成要求を、クラウドストレージサービス(クラウドストレージサーバ104)に送信する。
ステップS606では、フォルダの作成要求を受信する。
ステップS607では、作成要求に含まれるフォルダ名を用いて、クラウドストレージサービス(クラウドストレージサーバ104)上にフォルダを作成する。作成したフォルダの情報は図17のユーザ管理テーブルに保存される。
以上でクラウドストレージサービス(クラウドストレージサーバ104)上のフォルダ作成の処理の説明を終了する。
図7のフローチャートは、ユーザが複合機102にログインして、クラウドストレージサーバ104上のフォルダ情報を参照した宛先表が登録される処理を示すフローチャートである。
ステップS701では、ユーザは複合機102にログインする。ここでの認証方法は、ICカード認証等問わないが、本実施形態では、ログインユーザのメールアドレス属性が設定されるものとする。これはクラウドサービスのユーザアカウントは、メールアドレスであるためである。
ステップS702では、複合機102のキャッシュ管理部417は、ログインユーザのメールアドレス属性を取得する。複合機102には、不図示であるがユーザ認証テーブルを備えており、ユーザID、カードID、パスワード、メールアドレスが登録されているものとする。
ステップS703では、複合機102のキャッシュ管理部417は、宛先表に登録する際に参照するクラウドストレージサーバ104のフォルダ情報をフォルダ情報キャッシュから取得するかを判断する。フォルダ情報キャッシュを利用する条件は、管理者によってフォルダ情報の取得間隔が一日一回に選択されていて、かつ当該ユーザのフォルダ情報がフォルダ情報キャッシュに存在しているときである。フォルダ情報の取得間隔は、管理者PC100のWebブラウザ401を利用して複合機102の作成する管理者設定ページ等のサーブレット画面より設定する。フォルダ情報キャッシュを利用する場合はステップS710へ、クラウドストレージサーバ104よりフォルダ情報を取得する場合(フォルダ情報キャッシュにフォルダ情報がない場合)はステップS704へ進む。
すなわち、入力されたユーザ識別情報(ログインユーザ)に対応する格納先情報が第1の記憶処理でのキャッシュにあるか否かを判定する判定処理の一例である。
ステップS704では、複合機102のキャッシュ管理部417は、クラウドストレージサーバ104へ当該ユーザ権限でアクセスするためのユーザ情報(アクセストークン)を取得する。ユーザ情報取得処理については、図8のフローチャートで説明する。
ステップS705では、複合機102のHTTPS通信部411は、ステップS704で取得したユーザ情報を付与したフォルダ一覧情報取得要求をクラウドストレージサーバ104へ送信する。
ステップS706では、クラウドストレージサーバ104は、フォルダ情報取得要求を受信する。
ステップS707では、クラウドストレージサーバ104は、図17のユーザ管理テーブルを基に、フォルダ情報取得要求に付与されたユーザのフォルダ情報(図14)を複合機102に返却する。
ステップS708では、複合機102のHTTPS通信部411は、フォルダ一覧情報をクラウドストレージサーバ104より取得する。すなわち、サーバから格納先情報を取得するサーバ取得処理の一例である。
ステップS709では、複合機102のキャッシュ管理部417は、ステップS708で取得したフォルダ情報をフォルダ情報キャッシュ(図14)に保存する。すなわち、取得した格納先情報を記憶する第1の記憶処理の一例を示すものである。
ステップS710では、複合機102の宛先表管理部414は、フォルダ情報キャッシュをもとに登録する宛先情報(ログインユーザのフォルダ情報)を設定する。すなわち、ステップS703でYESの場合は、入力されたユーザ識別情報に対応する格納先情報がキャッシュにある際には、サーバにユーザの確認処理をすることなく当該ユーザ識別情報に対応する格納先情報を取得する格納先情報取得処理の一例となる。
宛先情報のうち、フォルダへのパスにクラウドストレージサービス上のフォルダ名を指定することで、FTP受信時に送信先フォルダ名として受信することができる。
ステップS711では、複合機102の宛先表管理部414は、登録する宛先情報のうち、送信先を「localhost:ポート番号」に設定する。ポート番号は管理者が指定したポート番号を指定する。この「localhost:ポート番号」は、データを送信する先がこの宛先表を管理する複合機102(画像処理装置)となる送信先情報と言い換えることが可能である。また、この送信情報を含む格納先情報を作成(設定)して、後述のステップS712へ処理を移す。
上記設定を実施することで、クラウドストレージサーバ104へのデータ送信時には、スキャンデータを一度ローカル(自機)で受信し、受信したデータをクラウドストレージサーバ104へ送信することが可能となる。
ステップS712では、複合機102の宛先表管理部414は、ステップS710およびステップS711で設定した宛先情報(ローカルホスト設定を含む格納先情報)を宛先表に登録する。登録された結果の宛先表のデータの例が図13である。
すなわち、格納先情報取得処理で取得した格納先情報を宛先表に登録する登録処理の一例である。
図8のフローチャートは、クラウドストレージサービスへログインユーザの権限でアクセスするためのユーザクレデンシャル情報を取得する処理を示すフローチャートである。
ステップS801では、複合機102のキャッシュ管理部417は、ユーザ情報キャッシュ(図15)にログインユーザのアクセストークンが存在するかを判定する。存在する場合はステップS807へ、存在しない場合はステップS802へ進む。
ステップS802では、複合機102のHTTPS通信部411は、クラウドストレージサービス(クラウドストレージサーバ104)へユーザのアクセストークン取得要求を送信する。
ここでは、複合機102からアクセストークンを取得しているが、取得するのはスマートフォンなどの別端末を介して行ってもよい。また、取得方法も2‐leggedOAuth2.0や3‐leggedOAuth2.0等種類は問わない。
ステップS803では、クラウドストレージサーバ104は、複合機102からのトークン取得要求を受信する。
ステップS804では、クラウドストレージサーバ104は、トークン取得要求に応じて、アクセストークンを発行し、複合機102に返却する。アクセストークンに関する情報は、図17のユーザ管理テーブルで管理される。
アクセストークンには通常有効期限が設けられていて、アクセストークンを再発行するためのトークン(リフレッシュトークン)も同時に用意される。以下、これらを合わせてトークン情報とする。
アクセストークン取得要求のレスポンスに、有効期限を含むトークン情報が返却される。
ステップS805では、複合機102のHTTPS通信部411は、クラウドストレージサーバ104からトークン情報を取得する。
すなわち、サーバへのユーザに関するアクセス情報を取得するアクセス情報取得処理の一例である。
ステップS806では、複合機102のキャッシュ管理部417は、ステップS805で取得したトークン情報を図16のユーザ情報キャッシュに保存する。ユーザ情報キャッシュには、トークンの有効期限等の情報も合わせて格納される。
すなわち、アクセス情報取得処理で取得したアクセス情報を記憶する第2の記憶処理である。
ステップS807では、複合機102のキャッシュ管理部417は、ユーザ情報キャッシュに格納されたトークンの有効期限を確認する。有効期限が切れトークンが無効になっている場合はステップS802へ進み、トークンを再発行する。
トークン使用前に有効期限を確認することで、クラウドストレージサーバ104へアクセスする回数を1回減らすことができる。なお、有効期限ぎりぎりのトークンを使用してクラウドサービスへアクセスした場合に、無効となるため、トークン情報を再取得して、要求するようにしてもよい。
図9のフローチャートは、クラウドサービスからフォルダ情報を再取得する処理を示したフローチャートである。
管理者指定によって、フォルダ情報の取得間隔が1日1回に設定されている場合、複合機にログイン後にクラウドサービス上のフォルダ構成を変更した場合に、複合機の宛先表に反映されるのが、翌日になってしまう。そのため、複合機のタッチパネル上に、フォルダ情報再取得ボタン(図12の120)を用意し、ボタン押下でクラウドサービスよりフォルダ情報を再取得する。フォルダの再取得は、図7のフローチャートのステップS704と同じ流れとなる。
ステップS901では、複合機102のキャッシュ管理部417は、ユーザ情報キャッシュよりログインユーザのアクセストークンを取得する。
ステップS902では、複合機102のHTTPS通信部411は、クラウドストレージサーバ104にフォルダ一覧情報要求を送信する。
ステップS903では、クラウドストレージサーバ104は、複合機102からフォルダ一覧情報取得要求を受信する。
ステップS904では、クラウドストレージサーバ104は、フォルダ一覧情報取得要求で指定されたユーザのフォルダ一覧情報を複合機102に返却する。
ステップS905では、複合機102のHTTPS通信部411は、クラウドストレージサーバ104よりフォルダ一覧情報を取得する。
ステップS906では、複合機102のキャッシュ管理部417は、フォルダ情報キャッシュの当該ユーザのフォルダ情報キャッシュを更新する。
ステップS907では、複合機102の宛先表管理部414は、フォルダ情報キャッシュに格納されたフォルダ情報をもとに宛先表を更新する。
図10のフローチャートは、ユーザがログアウトした際に、ログイン時に登録した宛先表を削除する処理を示したフローチャートである。
ステップS1000では、ログアウトボタン123の押下、所定時間経過した際にログアウトを実行する。
ステップS1001では、複合機102の宛先表管理部414は、登録されている宛先表情報(図13)を取得する。
ステップS1002では、複合機102の宛先表管理部414は、ステップS1001で取得した宛先表情報の送信先が「localhost:管理者指定のポート番号」と一致しているかを判定する。一致している場合は、クラウドストレージ送信用にログイン時に登録した宛先表とみなして、ステップS1003にて削除を実施する。
すなわち、登録処理で登録した宛先表の格納先情報を特定する特定処理の一例である。
ステップS1003では、複合機102の宛先表管理部414は、ステップS1002で特定したクラウドストレージ送信用の宛先表を削除する。
すなわち、入力されたユーザ識別情報のログアウトがされる場合に、特定処理で特定された格納先情報を宛先表から削除する削除処理の一例である。
そして、ログアウト後、再度同じユーザがログインした際には、フォルダ情報がキャッシュに記憶されているため、クラウドストレージサービス(サーバ)へユーザ識別情報にかかる確認処理をしてサーバから格納先情報を取得することなく、フォルダ情報キャッシュからフォルダ情報を取得して、格納先情報(送信先)を宛先表に再度登録する。
なお、削除されるタイミングは、本実施形態ではログアウト時としたが、ログアウト後に他のユーザがログインする際に削除処理する構成であってもよい。また、ログアウトの所定時間経過後に削除処理する構成であってもよい。すなわち、ログアウトされる際に、ローカルホスト設定の格納情報を宛先表から削除する。
図11のフローチャートは、複合機のスキャンデータをクラウドサービスへ送信する処理を示したフローチャートである。なお、図11の処理は、ログイン後、クラウドストレージサービスに登録されたフォルダ情報が宛先表に登録された後の処理である。
ステップS1100では、複合機102の本体機能の「スキャンして送信機能」がメニューから選択され、宛先表が表示される。
またスキャンや送信にかかる各種設定が入力される。設定は、宛先表から指定された送信先や、スキャンにかかる設定(解像度やカラー設定など)である。宛先表の指定は、図12の121で指定される。OKボタン122が押下されるとスキャン処理が実行され送信先への送信が開始される。
すなわち、図12の表示処理は、格納先情報が登録された宛先表を表示する処理の一例である。また、宛先表の指定は、宛先表で格納先情報を指定する指定処理の一例である。
ステップS1101では、複合機102のFTP送受信部415は、送信先の設定を確認し、「localhost:管理者指定のポート番号」が設定(ローカルホスト設定)がされているかを確認する。それ以外の送信先が指定されている場合は、指定された送信先に、本体機能である送信機能を用いて、スキャン機能で生成されたスキャンデータを外部または複合機102の保存フォルダへ直接送信する。
一方、クラウドストレージサービスへの送信の場合には、本体機能である送信機能が、「localhost:管理者指定のポート番号」を用いたFTP送信を行い、自機にスキャンデータを送信する。指定されたポート番号で受け取れるようにクラウドストレージ連携拡張機能(拡張モジュール)が立ち上がっているため、クラウドストレージ連携拡張機能(拡張モジュール)が直接スキャンデータを受け取ることが可能となっている。
ステップS1102では、複合機102のFTP送受信部415は、スキャンデータを自分自身に送信し、スキャンデータを受け取る。すなわち、図12の宛先表で指定された格納先情報がローカルホスト設定の送信情報を含む場合に、指定された格納先情報に従って当該画像処理装置の拡張機能がデータを受信する受信処理の一例である。
ここで、図8で説明したユーザ情報の確認処理を行う。有効なトークンを用いて、ステップS1103の処理を実行する。図8の処理の説明は既に説明しているため省略する。すなわち、格納先情報取得処理で取得した格納先情報を用いてデータを送信する際に、アクセス情報を用いてサーバにアクセスするアクセス処理の一例である。
ステップS1103では、複合機102のHTTPS通信部411は、クラウドストレージサーバ104にファイルアップロード要求を送信する。この時、図16のユーザ情報キャッシュからユーザトークンを取得し、このユーザトークンとおよびアップロード先フォルダ情報(例えば、フォルダID)、スキャンデータを含むファイルアップロード要求を送信する。この処理は、クラウドストレージ連携拡張機能(拡張モジュール)が処理を行う。
すなわち、拡張機能がサーバと通信してローカルホスト設定により受信したデータを送信する送信処理の一例である。
ステップS1104では、クラウドストレージサーバ104は、複合機102からファイルアップロード要求を受信する。
ステップS1105では、クラウドストレージサーバ104は、アップロード要求に応じて、指定されたユーザのフォルダにスキャンデータ(ファイル)を格納する。
ステップS1106では、クラウドストレージサーバ104は、ステップS1105のアップロード結果を複合機102に返却する。アップロード結果には、アップロードが成功した場合、ファイルをダウンロードできるURLが含まれる。
ステップS1107では、複合機102のHTTPS通信部411は、ファイルアップロード要求の結果を受信する。
ファイルアップロード完了後、アップロードしたファイルを表示するURLを当該ユーザ(ログインユーザ)のメールアドレス宛にメールを送信する。
図12はユーザがスキャンデータの送信先を選択するための複合機の画面である。宛先表選択画面は、宛先再取得ボタン120、宛先表の一覧表示領域121、OKボタン122からなる。また、不図示であるがスキャン詳細設定(解像度、カラー設定など)画面に遷移するボタンを備えるものとする。
宛先再取得ボタン120は、クラウドストレージサービスからフォルダ情報を再取得するためのものである。
宛先表の一覧表示領域121は、スキャンデータの送信先として宛先表に登録した宛先情報を表示して、ユーザが選択できるようにするものである。宛先表の一覧表示領域121では、「種別」で「localhost:管理者指定のポート番号」がされているものについては、クラウド環境への格納であるアイコンを表示し、それ以外(通常のスキャン送信で予め宛先表にある宛先情報)の宛先情報と識別できるように制御する。
すなわち、ローカルホスト設定の送信情報を含む格納先情報と、宛先表に予め登録されている格納先情報とを識別可能に表示する表示処理の一例である。
また、「localhost:管理者指定のポート番号」の送信先(格納先情報)が押下された場合で、OKボタン122が押下されると、クラウドストレージサービスへの送信となることを表示画面上で通知し、その後スキャンが実行されるものとする。
OKボタン122は、宛先表の一覧表示領域にて選択した宛先表を確定するものである。
図13の宛先表に登録する宛先情報は、宛先表に登録する宛先情報(送信先情報)の例を示したものである。
ホスト名には、スキャンデータの送信先を指定するための項目であり、「localhost:管理者指定のポート番号(本実施形態では、51200)」が登録される。
パスには、送信先のフォルダ名を指定するための項目であり、クラウドストレージサービス上のフォルダ名が登録される。
図14のフォルダ情報キャッシュは、フォルダ情報をキャッシュするテーブルの例を示したものである。
後述する図15のフォルダ情報を取得したユーザごとに管理するテーブルである。このフォルダ情報キャッシュを用いて、ログイン時に、そのユーザのフォルダ情報を宛先表に登録する。
なお、フォルダ情報キャッシュは1日ごとにクリアされるものとする。
図15のフォルダ情報は、フォルダ情報キャッシュに保存されるフォルダ情報およびフォルダ情報取得要求のレスポンスで、クラウドストレージサービスより返却されるフォルダ情報の例を示したものである。クラウドストレージサービスのレスポンスは通常JSON形式で返却される。フォルダID、フォルダ名が記述されている。
図16のユーザ情報キャッシュは、クラウドストレージサービスにアクセスする際に必要なアクセストークンを含むユーザ情報をキャッシュするテーブルの例を示したものである。メールアドレス、ユーザトークン、有効期限などを記憶している。
なお、ユーザ情報キャッシュは1日ごとなど、所定のタイミングでクリアされるものとする。
図17のクラウドサービスのユーザ管理テーブルは、クラウドストレージサービス上でユーザを管理するテーブルである。アカウント名、パスワード、トークン情報(アクセストークン)、クラウドストレージサービスで作成されたフォルダ情報などを記憶している。
以上で本実施形態における各図の詳細な説明を終了する。
本実施形態によれば、フォルダ情報をキャッシュとして管理することで、クラウド上のサーバとの通信を抑えることが可能となる。
あるいは、本実施形態によれば、クラウド上のフォルダ情報を削除することで宛先表を適切に管理し、データの送信を適切に行わせることが可能となる。また、複合機本体で管理する共通の宛先表を用いた場合のセキュリティ低下を防ぐことが可能となる。また、通常利用する複合機本体の宛先表を利用できるため利便性を低下することを防ぎつつ、クラウド上へのアップロードか否かを識別でき、送信時のミスを軽減することも可能となる。
以上、本実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明におけるプログラムは、図6〜図11に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図6〜図11の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図6〜図11の各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。