以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
図1は、本発明の実施の形態におけるデータ処理システムの全体概要の一例を示す図である。図1を参照して、データ処理システム1は、MFP(Multi Function Peripheral)100と、パーソナルコンピューター(以下「PC」という)200,200A,200Bと、携帯情報装置400,400Aと、クラウドサーバー300,300A,300Bと、を含む。
MFP100は、画像形成装置であり、データ処理装置の一例である。MFP100は、画像形成装置として機能し、原稿を読み取るための原稿読取機能、画像データに基づいて紙などの記録媒体に画像を形成するための画像形成機能およびファクシミリデータを送受信するファクシミリ送受信機能を備えている。なお、本実施の形態においてはデータ処理装置の一例としてMFP100を例に説明するが、MFP100に代えて、データを送信する機能を備えた装置であれば、例えば、プリンタ、ファクシミリ装置、PC等であってもよい。
PC200,200A,200Bは、一般的なコンピューターであり、そのハードウェア構成および機能は周知なのでここでは説明を繰り返さない。PC200,200A,200Bは、使用されるユーザーが予め定められており、そのユーザーに関するユーザー情報を記憶している。ユーザー情報は、後述するアカウント情報を含む。また、PC200,200A,200Bは、複数のユーザーによって使用される場合、複数のユーザーそれぞれの個人情報を記憶する。また、PC200,200A,200Bは、操作するユーザーにユーザー識別情報と認証情報との入力を要求し、操作するユーザーを認証することによってそのユーザーを特定する。
携帯情報装置400,400Aは、PDA(Personal Digital Assistants)など、ユーザーに携帯して使用されるコンピューターである。ここでは、携帯情報装置400,400Aを、スマートフォンとしており、無線LAN機能と、通話機能とを備えている。このため、携帯情報装置400,400Aそれぞれは、携帯電話用基地局と無線で通信することにより携帯電話網に接続し、通話が可能である。携帯情報装置400,400Aそれぞれは、使用されるユーザーが予め定められており、そのユーザーに関する個人情報を記憶している。個人情報は、後述するアカウント情報を含む。
MFP100,PC200,200A,200Bは、ネットワーク2に接続される。MFP100、PC200,200A,200Bは、ネットワーク2を介してデータの送受信が可能である。ネットワーク2は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワーク2は、LANに限らず、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワーク等であってもよい。さらに、ネットワーク2は、インターネットなどのワイドエリアネットワーク(WAN)に接続されている。
ネットワーク2には、無線局3が接続される。無線局3は、ネットワーク2の中継装置であり、無線LAN通信機能を備えた携帯情報装置400,400Aと通信して、携帯情報装置400,400Aをネットワーク2に接続する。また、MFP100は、ネットワーク2および無線局3を介して携帯情報装置400,400Aとデータの送受信が可能である。
さらに、ネットワーク2は、ゲートウェイ(G/W)5を介してインターネット7に接続されている。このため、MFP100、PC200,200A,200B、および携帯情報装置400,400Aは、ネットワーク2、G/W5を介してインターネット7に接続されたクラウドサーバー300,300A,300Bとデータの送受信が可能である。
図2は、MFPの外観を示す斜視図である。図3は、MFPのハードウェア構成の概要を示すブロック図である。図2および図3を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、画像が形成された用紙を処理する後処理部155と、ユーザーインターフェースとしての操作パネル160とを含む。
後処理部155は、画像形成部140により画像が形成された1以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM113と、RAM114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、CD−ROM118が装着される外部記憶装置117と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取データ(画像データ)を一時的に記憶する。
操作パネル160は、MFP100の上面に設けられ、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、複数のキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部163は、表示部161上に設けられたタッチパネルをさらに含む。
通信I/F部112は、MFP100をネットワーク2に接続するためのインターフェースである。CPU111は、通信I/F部112を介して、PC200,200A,200Bまたは携帯情報装置400,400Aとの間で通信し、データを送受信する。また、通信I/F部112は、ネットワーク2を介してインターネット7に接続されたクラウドサーバー300,300A,300Bと通信が可能である。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
外部記憶装置117は、CD−ROM(Compact Disk ROM)118が装着される。CPU111は、外部記憶装置117を介してCD−ROM118にアクセス可能である。CPU111は、外部記憶装置117に装着されたCD−ROM118に記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリであってもよい。
また、CPU111が実行するプログラムは、CD−ROM118に記録されたプログラムに限られず、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、ネットワーク2に接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワーク2に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
データ処理システム1において、MFP100、PC200,200A,200B、および携帯情報装置400,400A間で、データが送受信される。データを送受信するプロトコルは、受信側の装置において送信元を特定することができれば、任意のプロトコルを用いることが可能である。データを送受信するプロトコルは、例えばHTTP(HyperText Transfer Protocol)、FTP(File Transfer Protocol)およびSMPT(Simple Mail Transfer Protocol)、POP(Post Office Protocol)等が用いられる。
また、本実施の形態において、PC200,200A,200B、および携帯情報装置400,400Aそれぞれは、操作するユーザーが予め定められている。また、PC200,200A,200B、および携帯情報装置400,400Aそれぞれは、複数のユーザーが操作可能な場合には、ユーザーが認証されることを条件にログインを許可し、使用可能となる。なお、PC200,200A,200B、および携帯情報装置400,400Aそれぞれによる認証を、認証サーバーを用いて一括して実行するようにしてもよい。この場合には、PC200,200A,200B、および携帯情報装置400,400Aそれぞれに、認証情報を記憶する必要はない。いずれにしても、PC200,200A,200B、および携帯情報装置400,400Aそれぞれは、それを使用するユーザーを特定可能である。また、PC200,200A,200B、および携帯情報装置400,400Aそれぞれは、それを操作するユーザーに関するユーザー情報を記憶しており、MFP100からの要求に応じて、要求されたユーザーのユーザー情報を返信するプログラムがインストールされている。ユーザー情報は、アカウント情報を含む。
図4は、アカウント情報のフォーマットの一例を示す図である。図4を参照して、アカウント情報は、サービス識別情報の項目と、アカウントの項目と、パスワードの項目と、を含む。サービス識別情報の項目は、ユーザーが登録しているクラウドサービスを識別するためのサービス識別情報が設定される。アカウントの項目は、サービス識別情報の項目に設定されたサービス識別情報で特定されるクラウドサービスにおいてユーザーに割り当てられているアカウントが設定される。パスワードの項目は、サービス識別情報の項目に設定されたサービス識別情報で特定されるクラウドサービスにおいてユーザーに割り当てられたパスワードが設定される。パスワードは、複数の英数文字である。なお、パスワードに代えて、指紋、静脈パターン、虹彩等の生体情報を用いるようにしてもよい。
図5は、本実施の形態におけるMFPが備えるCPUの機能の概要の一例を示すブロック図である。図5に示す機能は、本実施の形態におけるMFP100が備えるCPU111が、ROM113、HDD115、またはCD−ROM118に記憶されたデータ送信プログラムを実行することにより、CPU111に形成される機能である。図5を参照して、CPU111は、ジョブを受け付けるジョブ受付部51と、データ送信ジョブが受け付けられる場合に候補サービスを決定する候補決定部53と、候補サービスのうちからアクセス可能サービスを決定するサービス決定部55と、ユーザーとそのユーザーが使用する装置とを関連付ける装置関連付部57と、受け付けられたジョブにより特定されるデータを送信するデータ送信部59と、を含む。
ジョブ受付部51は、ユーザーが入力するデータ送信ジョブを受け付け、受け付けたデータ送信ジョブを、候補決定部53、サービス決定部55およびデータ送信部59に出力する。ジョブ受付部51が受付可能なジョブは、複数種類存在するが、ここでは主に、ジョブ受付部51が、データを送信する処理を定めたデータ送信ジョブを受け付ける場合を例に説明する。以下、ジョブを入力したユーザーを操作ユーザーという。データ送信ジョブは、操作ユーザーを識別するためのユーザー識別情報と、送信の対象となるデータと、送信先を特定する送信先情報と、を含む。
ジョブ受付部51は、操作ユーザーが操作部163に入力するデータ送信ジョブを受け付ける。たとえば、操作ユーザーが、操作部163にユーザー識別情報とパスワードとを入力する場合、MFP100はユーザー識別情報とパスワードとに基づく認証に成功すれば、操作ユーザーのログインを許可し、操作ユーザーが入力する操作を受付可能な状態になる。そして、操作ユーザーが、送信の対象とするデータと、送信先を特定する送信先情報と、を指定する操作を入力すれば、指定されたデータを指定された送信先情報で特定される送信先に送信するデータ送信ジョブを受け付ける。
また、ジョブ受付部51は、通信I/F部112が、PC200,200A,200B、および携帯情報装置400,400Aのいずれかから受信するデータ送信ジョブを受け付ける。この場合、PC200,200A,200B、および携帯情報装置400,400Aのいずれかにデータ送信ジョブを入力するユーザーが、操作ユーザーであり、通信I/F部112により受信されるデータ送信ジョブは操作ユーザーのユーザー識別情報を含む。
ジョブにおいて送信の対象とするデータは、原稿読取部130が原稿を読み取って出力するデータ、HDD115に記憶されたデータ、CD−ROM118に記憶されたデータを含む。また、送信の対象とするデータは、通信I/F部112がデータ送信ジョブをPC200,200A,200B、および携帯情報装置400,400Aのいずれかから受信する場合には、通信I/F部112によって受信されたデータ送信ジョブによって特定される。具体的には、データ送信ジョブに送信の対象とするデータが含まれる場合にはそのデータが送信の対象とするデータである。また、データ送信ジョブがHDD115に記憶されたデータを特定するならば、データ送信ジョブにより特定されるHDD115に記憶されたデータが、送信の対象とするデータである。
データ送信ジョブに含まれる送信先情報は、ユーザーを特定する情報であり、ここでは、ユーザー識別情報が設定される。送信先情報に設定されるユーザー識別情報は、HDD116に予め記憶されたアドレス帳に登録されている。アドレス帳は、ユーザーごとに送信先レコードを含む。送信先レコードは、ユーザーを識別するためのユーザー識別情報と、データの送信方法ごとの宛先情報と、を関連付ける。具体的には、送信先レコードは、ユーザー識別情報が設定されるユーザー識別情報の項目と、宛先情報が設定される宛先の項目と、を含む。宛先情報は、送信方法によって異なる。たとえば、宛先情報は、送信方法が電子メール送信の場合には電子メールアドレスであり、送信方法がファイル転送の場合にはIP(Internet Protocol)アドレスである。したがって、アドレス帳は、一人のユーザーに対して、複数の送信先レコードを含む場合がある。
ジョブ受付部51は、操作ユーザーがデータ送信ジョブを入力する際に、HDD115に記憶されたアドレス帳に登録されているユーザー識別情報のうちから1以上の指定を受け付ける。具体的には、操作ユーザーが、操作部163を操作する場合には、表示部161にアドレス帳に登録されているユーザー識別情報を選択可能に表示し、操作ユーザーによる選択を受け付ける。同一のユーザー識別情報に対して複数の送信先レコードが存在する場合には、送信方法別に複数のユーザー識別情報を選択可能に表示するようにすればよい。また、ジョブ受付部51は、操作ユーザーが、PC200,200A,200B、および携帯情報装置400,400Aのいずれかを操作する場合、操作ユーザーが操作する装置に、アドレス帳を送信し、その装置でアドレス帳に登録されたユーザー識別情報のいずれかの指定を受け付けるようにすればよい。
装置関連付部57は、ユーザーと、そのユーザーが使用する装置とを関連付ける。具体的には、装置関連付部57は、装置関連付情報をHDD115に記憶する。装置関連付情報は、ユーザーごとに装置関連付レコードを含む。
図6は、装置関連付レコードのフォーマットの一例を示す図である。図6を参照して、装置関連付レコードは、ユーザー識別情報の項目と、装置識別情報の項目と、を含む。ユーザー識別情報の項目は、ユーザー識別情報が設定される。装置識別情報の項目は、ユーザー識別情報の項目に設定されたユーザー識別情報で特定されるユーザーが使用する装置を識別するための装置識別情報が設定される。装置識別情報は、その装置とMFP100が通信するために、MFP100がその装置を識別可能な情報である。たとえば、装置識別情報は、IPアドレスまたはMACアドレス等のネットワークアドレスであってもよいし、ネットワークアドレスと装置名称とを関連付けるテーブルを有する場合には装置名称であってもよい。
図5に戻って、装置関連付部57は、MFP100を操作するユーザーが操作部163にユーザー識別情報と装置識別情報との組を入力する場合に、装置関連付レコードを生成し、HDD115に記憶された装置関連付情報に生成された装置関連付レコードを追加する。また、通信I/F部112または外部記憶装置117等の外部から入力される装置関連付情報を、HDD115に記憶するようにしてもよい。
ジョブ受付部51は、ワークフローが受け付けられる場合がある。ワークフローは、複数のジョブを含み、複数のジョブを実行する順番および、複数のジョブを実行するためのパラメータを含む。ワークフローにデータ送信ジョブが含まれる場合、ワークフローは、データ送信ジョブを実行するためのパラメータとして送信先情報を含む。ジョブ受付部51は、データ送信ジョブを定めるワークフローが受け付けられる場合、ワークフローで定められるデータ送信ジョブを受け付ける。この場合、ジョブ受付部51は、ワークフローの実行を指示したユーザーを操作ユーザーとし、操作ユーザーのユーザー識別情報をデータ送信ジョブに追加する。
図7は、ワークフローの一例を示す図である。図7を参照して、番号1〜3がそれぞれ付された3つのワークフローを示している。番号1のワークフローは、プリントジョブと、データ送信ジョブとを定める。また、このワークフローは、データ送信ジョブを実行するためのパラメータである送信先情報として、端末Aおよび端末Bの装置識別情報を含む。ここでは、端末Aは、携帯情報装置400の装置識別情報とし、端末Bは、携帯情報装置400Aの装置識別情報としている。
番号1のワークフローはプリントジョブを含むので、通信I/F部112が、PC200,200A,200B、および携帯情報装置400,400Aのいずれかから番号1のワークフローとプリントデータとを受信する。PC200,200A,200B、および携帯情報装置400,400Aのいずれかに番号1のワークフローの実行を指示するユーザーが操作ユーザーであり、通信I/F部112によって、番号1のワークフローを特定する情報とともに操作ユーザーのユーザー識別情報が受信される。
ジョブ受付部51は、通信I/F部112が、PC200,200A,200B、および携帯情報装置400,400Aのいずれかから番号1のワークフローを特定する情報とプリントデータとユーザー識別情報とを受信する場合に、プリントデータに基づいて番号1のワークフローで定められるプリントジョブを実行する。さらに、ジョブ受付部51は、番号1のワークフローによってプリントジョブの次に実行するジョブとして定められるデータ送信ジョブの対象となるデータにプリントデータを設定する。さらに、ジョブ受付部51は、番号1のワークフローでデータ送信ジョブを実行するためのパラメータとして定められる装置識別情報と、装置関連付レコードによって関連付けられたユーザー識別情報を、データ送信ジョブの送信先情報に設定する。具体的には、装置Aおよび装置Bに装置関連付レコードによって関連付けられたユーザー識別情報をデータ送信ジョブの送信先情報に設定する。さらに、ジョブ受付部51は、操作ユーザーのユーザー識別情報を、データ送信ジョブに追加する。
番号2のワークフローは、スキャンジョブと、データ送信ジョブとを定める。また、このワークフローは、データ送信ジョブを実行するためのパラメータである送信先情報として、端末Aおよび端末Cの装置識別情報を含む。ここでは、端末Cは、PC200の装置識別情報としている。
番号2のワークフローはスキャンジョブを含むので、操作ユーザーが操作部163に入力するスキャンジョブを受け付ける。たとえば、操作ユーザーが、操作部163に入力するユーザー識別情報とパスワードとに基づく認証に成功すれば、操作ユーザーのログインを許可し、操作ユーザーが入力する操作を受付可能な状態になる。そして、操作ユーザーが、番号2のワークフローを選択すれば、ジョブ受付部51は、ワークフローで定められたパラメータに従ってスキャン処理を実行する。これにより、原稿読取部130が原稿を読み取って得られる画像データを出力する。ジョブ受付部51は、原稿読取部130が出力する画像データを、データ送信ジョブが送信の対象とするデータに設定する。さらに、ジョブ受付部51は、番号2のワークフローでデータ送信ジョブを実行するためのパラメータとして定められる装置識別情報と、装置関連付レコードによって関連付けられたユーザー識別情報を、データ送信ジョブの送信先情報に設定する。具体的には、装置Aおよび装置Cに装置関連付レコードによって関連付けられたユーザー識別情報をデータ送信ジョブの送信先情報に設定する。さらに、ジョブ受付部51は、操作ユーザーのユーザー識別情報を、データ送信ジョブに追加する。
番号3のワークフローは、コピージョブと、保存ジョブとを定める。また、このワークフローは、保存ジョブを実行するためのパラメータであるデータの保存先の情報として、フォルダAの保存先情報を含む。フォルダAは、HDD115の記憶領域に付された名称である。番号3のワークフローはコピージョブを含むので、操作ユーザーが操作部163に入力するコピージョブを受け付ける。たとえば、操作ユーザーが、操作部163に入力するユーザー識別情報とパスワードとに基づく認証に成功すれば、操作ユーザーのログインを許可し、操作ユーザーが入力する操作を受付可能な状態になる。そして、操作ユーザーが、番号3のワークフローを選択すれば、ジョブ受付部51は、ワークフローで定められたパラメータに従ってコピージョブを実行する。これにより、原稿読取部130が原稿を読み取って得られる画像データが出力され、画像形成部140が画像データの画像を用紙に形成する。ジョブ受付部51は、原稿読取部130が出力する画像データを、保存ジョブが処理の対象とするデータに設定する。さらに、ジョブ受付部51は、番号3のワークフローで定められる保存ジョブを実行し、画像データをHDD116の記憶領域であるフォルダAに記憶する。
図5に戻って、候補決定部53は、ジョブ受付部51からデータ送信ジョブが入力されることに応じて、インターネット7に接続されたクラウドサーバー300,300A,300Bそれぞれが提供するクラウドサービスのうちから候補となる候補サービスを決定する。候補決定部53は、操作ユーザー情報取得部61を含む。操作ユーザー情報取得部61は、ジョブ受付部51から入力されるデータ送信ジョブに含まれるユーザー識別情報を抽出し、データ送信ジョブを入力した操作ユーザーを特定する。そして、HDD115に記憶された装置関連付情報を参照して、操作ユーザーに割り当てられた装置を特定し、特定された装置から操作ユーザーのユーザー情報を取得する。ここでは、操作ユーザーのユーザー識別情報を「ユーザーA」とし、装置関連付情報によってユーザー識別情報「ユーザーA」に携帯情報装置400の装置識別情報「携帯A」が関連付けられている場合を例に説明する。操作ユーザー情報取得部61は、ユーザー識別情報「ユーザーA」を含む送信要求を装置識別情報「携帯A」で特定される携帯情報装置400に、通信I/F部112を介して送信する。携帯情報装置400は、送信要求を受信することに応じてユーザー識別情報「ユーザーA」に対応して予め記憶されているユーザー情報をMFP100に返信する。操作ユーザー情報取得部61は、通信I/F部112が携帯情報装置400から受信するユーザー情報を取得する。
ユーザー情報は、ユーザーが登録しているクラウドサービスを識別するためのサービス識別情報と、そのクラウドサービスにおいてユーザーに割り当てられているアカウントと、パスワードと、を少なくとも含む。
候補決定部53は、取得されたユーザー情報に基づいて、インターネット7に接続されたクラウドサーバー300,300A,300Bそれぞれが提供するクラウドサービスのうちから1以上を候補サービスとして決定する。以下、操作ユーザー情報取得部61により取得されたユーザー情報に含まれるアカウント情報を、操作ユーザー用アカウント情報という。ユーザー情報は、複数の操作ユーザー用アカウント情報を含む場合がある。候補決定部53は、インターネットに接続されたクラウドサーバー300,300A,300Bそれぞれが提供するクラウドサービスのうち、操作ユーザー用アカウント情報のサービス識別情報で特定されるクラウドサービスを候補サービスに決定する。候補決定部53は、決定された候補サービスのサービス識別情報を含む操作ユーザー用アカウント情報をサービス決定部55に出力する。
サービス決定部55は、候補決定部53から候補サービスのサービス識別情報を含む操作ユーザー用アカウント情報が入力され、ジョブ受付部51からデータ送信ジョブが入力される。サービス決定部55は、送信先ユーザー情報取得部71と、候補サービスの優先順位を決定する優先順位決定部73と、判断部75と、変更部77と、を含む。
送信先ユーザー情報取得部71は、ジョブ受付部51から入力されるデータ送信ジョブから送信先情報に設定されているユーザー識別情報を抽出する。データ送信ジョブから送信先情報に設定されているユーザー識別情報は、データの送信先となる送信先ユーザーを特定する情報である。そして、HDD115に記憶された装置関連付情報を参照して、送信先ユーザーに割り当てられた装置を特定し、特定された装置から送信先ユーザーのユーザー情報を取得する。
ここでは、送信先ユーザーのユーザー識別情報を「ユーザーB」および「ユーザーC」とし、装置関連付情報によってユーザー識別情報「ユーザーB」にPC200の装置識別情報「PC―B」が関連付けられ、装置関連付情報によってユーザー識別情報「ユーザーC」にPC200Aの装置識別情報「PC―C」が関連付けられている場合を例に説明する。
送信先ユーザー情報取得部71は、ユーザー識別情報「ユーザーB」を含む送信要求を装置識別情報「PC−B」で特定されるPC200に通信I/F部112を介して送信し、ユーザー識別情報「ユーザーC」を含む送信要求を装置識別情報「PC−C」で特定されるPC200Aに通信I/F部112を介して送信する。PC200は、送信要求を受信することに応じてユーザー識別情報「ユーザーB」に対応して予め記憶されているユーザー情報をMFP100に返信する。送信先ユーザー情報取得部71は、通信I/F部112がPC200から受信するユーザー識別情報「ユーザーB」のユーザー情報を取得する。PC200Aは、送信要求を受信することに応じてユーザー識別情報「ユーザーC」に対応して予め記憶されているユーザー情報をMFP100に返信する。送信先ユーザー情報取得部71は、通信I/F部112がPC200Aから受信するユーザー識別情報「ユーザーC」のユーザー情報を取得する。
以下、送信先ユーザー情報取得部71により取得されたユーザー情報に含まれるアカウント情報を、送信先ユーザー用アカウント情報という。送信先ユーザー情報取得部71がPC200から受信するユーザー識別情報「ユーザーB」のユーザー情報は、複数の送信先ユーザー用アカウント情報を含む場合がある。また、送信先ユーザー情報取得部71がPC200Aから受信するユーザー識別情報「ユーザーC」のユーザー情報は、複数の送信先ユーザー用アカウント情報を含む場合がある。
優先順位決定部73は、候補サービスの優先順位を決定する。具体的には、候補サービスごとに、操作ユーザーのアカウントにおける公開範囲に基づいて、優先順位を決定する。優先順位決定部73は、クラウドサーバー300,300A,300Bのうち、候補サービスで特定されるクラウドサービスを提供する装置から、操作ユーザーのアカウントに対して設定されている公開範囲を取得する。具体的には、クラウドサーバー300,300A,300Bのうち操作ユーザー用アカウント情報のサービス識別情報で特定されるクラウドサービスを提供する装置に、操作ユーザー用アカウント情報のアカウント情報とパスワードとを用いてログインし、ログインした装置から公開範囲を取得する。
図8は、公開範囲と優先順位との関係を示す優先順位テーブルの一例を示す図である。図8を参照して、優先順位テーブルは、公開範囲「友人」に対して優先順位「1」を割り当て、公開範囲「友人の友人」に対して優先順位「2」を割り当て、公開範囲「アカウント所持者」に対して優先順位「3」を割り当て、公開範囲「全体」に対して優先順位「4」を割り当てる。公開範囲「友人」とは、クラウドサービスにおいて、第1のアカウントに対して友人の設定がされた第2のアカウントに、第1のアカウントに関連付けて登録されたデータを公開する設定を示す。公開範囲「友人の友人」とは、クラウドサービスにおいて、第1のアカウントに対して友人の設定がされた第2のアカウント、および第2のアカウントに対して友人の設定がされた第3のアカウントに、第1のアカウントに関連付けて登録されたデータを公開する設定を示す。公開範囲「アカウント所持者」とは、クラウドサービスにおいて登録されているすべてのアカウントに、第1のアカウントに関連付けて登録されたデータを公開する設定を示す。公開範囲「全体」とは、第1のアカウントに関連付けて登録されたデータを、クラウドサービスにおいて登録されているアカウントに係りなく、そのクラウドサービスにアクセスしたユーザーに、第1のアカウントに関連付けて登録されたデータを公開する設定を示す。優先順位は、数字が小さいほど高い。
図5に戻って、優先順位決定部73は、候補サービスにおいて取得された公開範囲に対して、図8に示した優先順位テーブルによって割り当てられた優先順位を決定する。優先順位決定部73は、候補サービスと優先順位との組を、判断部75に出力する。
判断部75は、候補サービスのうちから操作ユーザーと送信先ユーザーのすべてとがデータの共有が可能か否かを判断する。換言すれば、判断部75は、候補サービスにおいて操作ユーザーに対して割り当てられたアカウントに対して設定された公開範囲内に、送信先ユーザーに対して割り当てられたアカウントのすべてが含まれる場合に、データの共有が可能と判断する。判断部75は、優先順位決定部73から候補サービスと優先順位との組が入力され、送信先ユーザー情報取得部71から送信先ユーザー用アカウント情報が入力される。
判断部75は、候補サービスを順に処理対象に選択し、処理対象に選択した候補サービスについて、操作ユーザーと送信先ユーザーのすべてとがデータの共有が可能か否かを判断する。判断部75は、候補サービスのうち操作ユーザーと送信先ユーザーのすべてとがデータの共有が可能な候補サービスをアクセス可能サービスに決定する。判断部75は、1つのアクセス可能サービスが決定される場合、決定されたアクセス可能サービスを処理対象に選択し、データ送信部59に出力する。また、判断部75は、アクセス可能サービスが複数決定される場合、優先順位の最も高いアクセス可能サービスを処理対象に選択し、データ送信部59に出力する。優先順位の最も高いアクセス可能サービスを処理対象に選択するので、データが公開される範囲を可能な限り狭くすることができる。さらに、データが公開される範囲を狭くするので、データのセキュリティを確保することができる。また、判断部75は、アクセス可能サービスが決定されない場合、変更部77に変更指示を出力する。変更指示は、候補サービスのうち優先順位が最も高い候補サービスを含む。以下、候補サービスのうち優先順位が最も高い候補サービスを変更サービスという。
判断部75は、処理対象の候補サービスの優先順位が「1」の場合、クラウドサーバー300,300A,300Bのうち候補サービスで特定されるクラウドサービスを提供する装置から、操作ユーザーに対して割り当てられたアカウントによって友人に設定されているアカウントのすべてを取得する。具体的には、クラウドサーバー300,300A,300Bのうち操作ユーザー用アカウント情報のサービス識別情報で特定されるクラウドサービスを提供する装置に、操作ユーザー用アカウント情報を用いてログインし、ログインした装置から操作ユーザーに対して割り当てられたアカウントに対して友人に設定されているアカウントのすべてを取得する。そして、判断部75は、取得されたアカウントのうちに、送信先ユーザー用アカウント情報のすべてが含まれるならば、処理対象の候補サービスをアクセス可能サービスに決定する。
判断部75は、処理対象の候補サービスの優先順位が「2」の場合、クラウドサーバー300,300A,300Bのうち候補サービスで特定されるクラウドサービスを提供する装置から、送信先ユーザーそれぞれに対して割り当てられたアカウントによって友人に設定されているアカウントのすべてを取得する。具体的には、クラウドサーバー300,300A,300Bのうち送信先ユーザー用アカウント情報のサービス識別情報で特定されるクラウドサービスを提供する装置に、送信先ユーザー用アカウント情報を用いてログインし、ログインした装置から送信先ユーザーのアカウントに対して友人に設定されているアカウントのすべてを取得する。そして、送信先ユーザーのアカウントに対して友人に設定されているアカウントと、操作ユーザーのアカウントに対して友人に設定されているアカウントと、で共通のアカウントが1以上存在するならば、処理対象の候補サービスをアクセス可能サービスに決定する。なお、送信先ユーザーが複数の場合、すべての送信先ユーザーにおいて、その送信先ユーザーのアカウントに対して友人に設定されているアカウントと、操作ユーザーのアカウントに対して友人に設定されているアカウントと、で共通のアカウントが1以上存在する必要がある。
判断部75は、処理対象の候補サービスの優先順位が「3」の場合、送信先ユーザーのすべてが候補サービスと同じクラウドサービスにアカウントを有する場合に、その候補サービスをアクセス可能サービスに決定する。判断部75は、処理対象の候補サービスの優先順位が「4」の場合、その候補サービスをアクセス可能サービスに決定する。
変更部77は、変更指示が入力されることに応じて、変更指示に含まれる変更サービスにおいて操作ユーザーに対して設定されている公開設定を、すべての送信先ユーザーがアクセス可能な状態に設定する。そして、変更部77は、変更サービスをアクセス可能サービスに決定し、データ送信部59に出力する。具体的には、変更部77は、クラウドサーバー300,300A,300Bのうち変更サービスを提供する装置に、操作ユーザー用アカウント情報のアカウント情報とパスワードとを用いてログインし、ログインした装置に、操作ユーザーのアカウントに対する設定を変更する。送信先ユーザーのすべてが、変更サービスのアカウントを有する場合には、送信先ユーザーのアカウントを操作ユーザーのアカウントに対しての友人に設定するか、または、操作ユーザーのアカウントに対して設定されている公開範囲を「アカウント所持者」に設定する。また、送信先ユーザーのすべてが、変更サービスのアカウントを有しない場合には、公開範囲を「すべて」に設定する。なお、送信先ユーザーのすべてが、変更サービスのアカウントを有しない場合には、変更サービスのアカウントを有しない送信先ユーザーのアカウントの生成を依頼し、操作ユーザーのアカウントに対して設定されている公開範囲を「アカウント所持者」に設定するようにしてもよい。この場合には、変更サービスのアカウントを有しない送信先ユーザーには、そのアカウントとパスワードとを通知する必要がある。
データ送信部59は、サービス決定部55からアクセス可能サービスが入力され、ジョブ受付部51からデータ送信ジョブが入力される。データ送信部59は、共有化部81と、アクセス情報送信部83と、を含む。共有化部81は、クラウドサーバー300,300A,300Bのうちアクセス可能サービスを提供する装置に、データ送信ジョブに含まれる送信の対象となるデータを、記憶する。具体的には、共有化部81は、クラウドサーバー300,300A,300Bのうちアクセス可能サービスを提供する装置に、操作ユーザー用アカウント情報のアカウント情報とパスワードとを用いてログインし、ログインした装置に、データ送信ジョブに含まれる送信の対象となるデータを、アップロードすることよって、記憶させ、アクセス情報を取得する。アクセス情報は、データ送信ジョブに含まれる送信の対象となるデータが記憶された位置を示す情報である。たとえば、アクセス情報は、サービス識別情報と、操作ユーザーのアカウント情報と、フォルダ情報と、ファイル名と、を含む。共有化部81は、アクセス情報を、アクセス情報送信部83に出力する。
なお、ジョブ受付部51においてワークフローの実行指示が入力される場合、共有化部81は、そのワークフローに関連付けて、操作ユーザーの操作識別情報とアクセス情報との組を記憶する。この場合には、ジョブ受付部51は、次に同じ操作ユーザーにより同じワークフローの実行が指示された場合には、アクセス情報を特定できるので、クラウドサーバー300,300A,300Bのうちアクセス情報に含まれるサービス識別情報で特定されるアクセス可能サービスを提供する装置に、操作ユーザー用アカウント情報のアカウント情報とパスワードとを用いてログインし、ログインした装置に、データ送信ジョブに含まれる送信の対象となるデータを、アップロードすることよって、記憶させ、さらに、アクセス情報をアクセス情報送信部83に出力する。
アクセス情報送信部83は、共有化部81から入力されるアクセス情報を、送信先ユーザーに送信する。具体的には、HDD115に記憶されているアドレス帳を参照して、データ送信ジョブの送信先情報に設定されているユーザー識別情報で特定される送信先ユーザーのすべてに、アクセス情報を送信する。アドレス帳から、送信先ユーザーのユーザー識別情報を含む送信先レコードを抽出し、送信先レコードによって、送信先ユーザーのユーザー識別情報と関連付けられている宛先情報を取得する。そして、アクセス情報送信部83は、宛先情報が電子メールアドレスならば、宛先情報の電子メールアドレスを宛先アドレスとし、アクセス情報を含む電子メールを生成し、生成された電子メールを通信I/F部112を介して電子メールサーバーに送信する。また、アクセス情報送信部83は、宛先情報がIPアドレスならば、宛先情報のIPアドレス宛に、アクセス情報を通信I/F部112を介して送信する。なお、送信先ユーザーのユーザー識別情報を含む送信先レコードが複数抽出される場合には、任意の1つの送信先レコードを決定し、決定された送信先レコードに従ってアドレス情報を送信すればよい。
これにより、アクセス情報が電子メールで送信される場合、送信先ユーザーは、その電子メールを閲覧することにより、データにアクセスすることができる。たとえば、アクセス情報に含まれるサービス識別情報で特定されるクラウドサービスに、自身のアカウントおよびパスワードを用いてログインし、アクセス情報で特定される操作ユーザーのアカウントに対応して記憶されたデータにアクセスすることができる。これにより、操作ユーザーは、操作ユーザーが指定したデータに、自身が操作するコンピューターを用いてアクセスすることができる。
たとえば、アクセス可能サービスをクラウドサーバー300が提供する場合、操作ユーザーが指定したデータが、クラウドサーバー300において、操作ユーザーのアカウントに関連付けて記憶される。一方、PC200を操作するユーザーBは、PC200を操作して、クラウドサーバー300においてユーザーBに割り当てられているアカウントおよびパスワードを用いてログインすれば、操作ユーザーが指定したデータをPC200で閲覧することができ、または、PC200にダウンロードすることができる。
図9および図10は、データ送信処理の流れの一例を示すフローチャートである。データ送信処理は、MFP100が備えるCPU111が、ROM113、HDD115、CD−ROM118に記憶されたデータ送信プログラムを実行することにより、CPU111により実行される処理である。図9および図10を参照して、CPU111は、データ送信ジョブを受け付けたか否かを判断する。データ送信ジョブを受け付けるまで待機状態となり、データ送信ジョブを受け付けたならば処理をステップS02に進める。換言すれば、データ送信処理は、データ送信ジョブを受け付けることを条件に、実行される処理である。操作ユーザーが操作部163を操作してデータ送信ジョブの実行を指示する場合、通信I/F部112が、PC200,200A,200B、および携帯情報装置400,400Aのいずれかからデータ送信ジョブを受信する場合に、データ送信ジョブを受け付ける。また、データ送信ジョブを定めたワークフローの実行指示を操作部163が受け付けた場合、または、通信I/F部112が、PC200,200A,200B、および携帯情報装置400,400Aのいずれかからデータ送信ジョブを定めたワークフローの実行指示を受信する場合に、データ送信ジョブを受け付ける。この場合、実行が指示されたワークフローによって定められる順番がデータ送信ジョブの前に定められたジョブを実行した後に、データ送信ジョブを受け付ける。
ステップS02においては、操作ユーザーを特定する。データ送信ジョブを入力したユーザーを操作ユーザーに特定する。そして、操作ユーザーが使用する装置を特定する(ステップS03)。HDD115に記憶された装置関連付情報を参照し、装置関連付情報によって操作ユーザーのユーザー識別情報に関連付けられた装置識別情報で特定される装置を、操作ユーザーが使用する装置として特定する。
次のステップS04においては、操作ユーザー用アカウント情報を取得する。ステップS03において特定された装置に、操作ユーザーのユーザー識別情報を含む送信要求を送信する。たとえば、操作ユーザーのユーザー識別情報を「ユーザーA」とし、装置関連付情報によってユーザー識別情報「ユーザーA」に携帯情報装置400の装置識別情報「携帯A」が関連付けられている場合を例に説明する。ユーザー識別情報「ユーザーA」を含む送信要求を装置識別情報「携帯A」で特定される携帯情報装置400に、通信I/F部112を介して送信する。携帯情報装置400は、送信要求を受信することに応じてユーザー識別情報「ユーザーA」に対応して予め記憶されているユーザー情報をMFP100に返信するので、通信I/F部112がMFP100から受信するユーザー情報を操作ユーザー用アカウント情報として取得する。
次のステップS05においては、送信ユーザーを特定する。ステップS01において受け付けられたデータ送信ジョブの送信先情報に設定されているユーザー識別情報を取得する。そして、取得されたユーザー識別情報で識別されるユーザーを送信先ユーザーに特定する。データ送信ジョブの送信先情報に複数のユーザー識別情報が設定されている場合、複数のユーザー識別情報を取得し、複数のユーザー識別情報でそれぞれ識別される複数のユーザーそれぞれを、送信先ユーザーに特定する。
次のステップS06においては、ステップS05において特定された1以上の送信先ユーザーのうちから処理対象となる送信先ユーザーを選択する。そして、選択された送信先ユーザーが使用する装置を特定する(ステップS07)。HDD115に記憶された装置関連付情報を参照し、装置関連付情報によって送信先ユーザーのユーザー識別情報に関連付けられた装置識別情報で特定される装置を、送信先ユーザーが使用する装置として特定する。
次のステップS08においては、送信先ユーザー用アカウント情報を取得する。ステップS07において特定された装置に、送信先ユーザーのユーザー識別情報を含む送信要求を送信する。たとえば、送信先ユーザーのユーザー識別情報を「ユーザーB」および「ユーザーC」とし、装置関連付情報によってユーザー識別情報「ユーザーB」にPC200の装置識別情報「PC―B」が関連付けられ、装置関連付情報によってユーザー識別情報「ユーザーC」にPC200Aの装置識別情報「PC―C」が関連付けられている場合を例に説明する。ユーザー識別情報「ユーザーB」を含む送信要求を装置識別情報「PC−B」で特定されるPC200に通信I/F部112を介して送信し、ユーザー識別情報「ユーザーC」を含む送信要求を装置識別情報「PC−C」で特定されるPC200Aに通信I/F部112を介して送信する。PC200は、送信要求を受信することに応じてユーザー識別情報「ユーザーB」に対応して予め記憶されているユーザー情報をMFP100に返信するので、通信I/F部112がPC200から受信するユーザー識別情報「ユーザーB」のユーザー情報を送信先ユーザー用アカウント情報として取得する。また、PC200Aは、送信要求を受信することに応じてユーザー識別情報「ユーザーC」に対応して予め記憶されているユーザー情報をMFP100に返信するので、通信I/F部112がPC200Aから受信するユーザー識別情報「ユーザーC」のユーザー情報を送信先ユーザー用アカウント情報として取得する。
次のステップS09においては、処理対象に選択されていない送信先ユーザーが存在するか否かを判断する。処理対象に選択されていない送信先ユーザーが存在するならば処理をステップS06に戻し、そうでなければ処理をステップS10に進める。
ステップS10においては、処理対象となるクラウドサービスを選択する。ステップS04において取得された操作ユーザー用アカウント情報に含まれる1以上のサービス識別情報のうちから1つを選択し、インターネットに接続されたクラウドサーバー300,300A,300Bそれぞれが提供するクラウドサービスのうち、選択されたサービス識別情報で特定されるクラウドサービスを処理対象に選択する。ステップS10において選択されるクラウドサービスは、候補サービスである。
ステップS11においては、公開範囲を取得する。クラウドサーバー300,300A,300BのうちステップS10において選択されたクラウドサービスを提供する装置に、ステップS04において取得された操作ユーザー用アカウント情報のアカウント情報とパスワードとを用いてログインし、ログインした装置から公開範囲を取得する。公開範囲は、「友人」、「友人の友人」、「アカウント所持者」および「全て」を含む。公開範囲が、「友人」または「友人の友人」の場合、公開範囲に加えて「友人」に設定されているアカウントのすべてを取得する。
次のステップS12においては、操作ユーザーと送信先ユーザーとでデータの共有が可能か否かを判断する。処理対象に選択されている候補サービスにおいて、操作ユーザーと送信先ユーザーとでデータの共有が可能ならば処理をステップS13に進めるが、そうでなければ処理をステップS15に進める。
具体的には、ステップS11において取得された公開範囲内に、送信先ユーザーのすべてが含まれるか否かを判断する。公開範囲が「友人」の場合、ステップS07において特定された送信先ユーザーそれぞれの送信先ユーザー用アカウント情報のうちに、ステップS10において選択されたクラウドサービスのサービス識別情報が同じであって、ステップS11において取得された公開範囲とともに取得されたアカウントのいずれかと同じアカウントを含む送信先ユーザー用アカウント情報が存在すれば、データの共有が可能と判断する。操作ユーザーと、ステップS05において特定されたすべての送信先ユーザーとの間でデータの共有が可能ならば処理をステップS13に進める。
また、公開範囲が「友人の友人」の場合、ステップS07において特定された送信先ユーザーそれぞれについて、送信先ユーザー用アカウント情報に、ステップS10において選択されたクラウドサービスのサービス識別情報が同じであって、ステップS11において取得された公開範囲とともに取得されたアカウントのいずれかと同じアカウントを含む送信先ユーザー用アカウント情報が存在すれば、その送信先ユーザーとデータの共有が可能と判断する。さらに、クラウドサーバー300,300A,300Bのうち送信先ユーザー用アカウント情報のサービス識別情報で特定されるクラウドサービスを提供する装置に、送信先ユーザー用アカウント情報のアカウント情報とパスワードとを用いてログインし、ログインした装置から送信先ユーザーのアカウントに対して友人に設定されているアカウントのすべてを取得する。そして、送信先ユーザーのアカウントに対して友人に設定されているアカウントと、操作ユーザーのアカウントに対して友人に設定されているアカウントと、で共通のアカウントが1以上存在するならば、その送信先ユーザーとデータの共有が可能と判断する。ステップS05において特定されたすべての送信先ユーザーとの間でデータの共有が可能ならば処理をステップS13に進める。
さらに、公開範囲が「アカウント所持者」の場合、送信先ユーザーのすべてが、送信先ユーザー用アカウント情報のサービス識別情報で特定されるクラウドサービスと同じクラウドサービスにアカウントを有する場合に、その送信先ユーザーとデータの共有が可能と判断する。ステップS05において特定されたすべての送信先ユーザーとの間でデータの共有が可能ならば処理をステップS13に進める。
さらに、公開範囲が「全体」の場合、ステップS05において特定されたすべての送信先ユーザーとの間でデータの共有が可能と判断し、処理をステップS13に進める。
ステップS13においては、優先順位を決定し、処理をステップS14に進める。ステップS11において取得された公開範囲が「友人」ならば優先順位「1」に決定し、公開範囲が「友人の友人」ならば優先順位「2」に決定し、公開範囲が「アカウント所持者」ならば優先順位「3」に決定し、公開範囲が「全体」ならば優先順位「4」に決定する。
そして、ステップS10において処理対象に選択された候補サービスをアクセス可能サービスに決定し(ステップS14)、処理をステップS15に進める。ステップS15においては、ステップS10において処理対象に選択されていないクラウドサービスが存在するか否かを判断する。処理対象に選択されていないクラウドサービスが存在するならば処理をステップS10に戻すが、存在しなければ処理をステップS16に進める。
処理がステップS16に進む場合、ステップS08において取得された操作ユーザー用アカウント情報に含まれる1以上のサービス識別情報それぞれにおいて、ステップS11〜ステップS14が実行されて、そのサービス識別情報で特定されるクラウドサービスが、操作ユーザーと1以上の送信先ユーザーのすべてとでデータの共有が可能な場合にアクセス可能サービスに決定する。したがって、アクセス可能サービスに決定されるクラウドサービスは、1以上の場合と、0の場合とがある。
ステップS16においては、アクセス可能サービスが存在するか否かを判断する。アクセス可能サービスに決定された1以上のクラウドサービスが存在する場合には処理をステップS17に進めるが、そのようなクラウドサービスが存在しない場合には処理をステップS20に進める。
ステップS17においては、アクセス可能サービスに決定されたクラウドサービスが複数か否かを判断する。アクセス可能サービスに決定されたクラウドサービスが複数ならば処理をステップS18に進めるが、アクセス可能サービスに決定されたクラウドサービスが1つならば処理をステップS19に進める。ステップS18においては、アクセス可能サービスに決定された複数のクラウドサービスのうちから優先順位の最も高いクラウドサービスを処理対象に決定し、処理をステップS23に進める。一方、ステップS19においては、アクセス可能サービスに決定された1つのクラウドサービスを処理対象に決定し、処理をステップS23に進める。
一方、ステップS20においては、ステップS04において取得された操作ユーザー用アカウント情報取得に含まれる1以上のサービス識別情報のうちから任意の1つを選択する。そして、公開範囲の設定を依頼する(ステップS21)。クラウドサーバー300,300A,300BのうちステップS20において選択されたクラウドサービスを提供する装置に、ステップS04において取得された操作ユーザー用アカウント情報のアカウント情報とパスワードとを用いてログインし、ログインした装置に公開範囲の変更を依頼する。そして、ステップS22においては、ステップS20において選択されたサービス識別情報で特定されるクラウドサービスをアクセス可能サービスに決定し、処理をステップS23に進める。
具体的には、送信先ユーザーのすべてが、ステップS20において選択されたサービス識別情報で特定されるクラウドサービスのアカウントを有する場合には、送信先ユーザーのアカウントを操作ユーザーのアカウントに対して友人に設定するか、または、操作ユーザーのアカウントに対して設定されている公開範囲を「アカウント所持者」に設定する。また、送信先ユーザーのすべてが、選択されたサービス識別情報で特定されるクラウドサービスのアカウントを有しない場合には、公開範囲を「すべて」に設定する。なお、送信先ユーザーのすべてが、選択されたサービス識別情報で特定されるクラウドサービスのアカウントを有しない場合には、選択されたサービス識別情報で特定されるクラウドサービスのアカウントを有しない送信先ユーザーのアカウントの生成を依頼し、操作ユーザーのアカウントに対して設定されている公開範囲を「アカウント所持者」に設定するようにしてもよい。ただし、この場合には、後述するステップS27において、選択されたサービス識別情報で特定されるクラウドサービスのアカウントを有しない送信先ユーザーには、そのアカウントとパスワードとを通知する必要がある。
ステップS23においては、ステップS18またはステップS19において処理対象に決定されたアクセス可能サービス、またはステップS22においてアクセス可能サービスに決定されたクラウドサービスにデータを記憶する。具体的には、クラウドサーバー300,300A,300Bのうちアクセス可能サービスを提供する装置に、ステップS04において取得された操作ユーザー用アカウント情報のアカウント情報とパスワードとを用いてログインし、ログインした装置に、ステップS01において受け付けられたデータ送信ジョブに含まれる送信の対象となるデータを、アップロードすることよって、記憶させる。これに伴い、クラウドサーバー300,300A,300Bのうちアクセス可能サービスを提供する装置は、アクセス情報を返信するので、次のステップS24においては、通信I/F部112を制御して、アクセス可能サービスを提供する装置が返信するアクセス情報を受信する。
ステップS25においては、送信先ユーザーを選択する。ステップS05において特定された1以上の送信先ユーザーのうちから処理対象となるユーザーを選択する。次のステップS27においては、アクセス情報を送信先ユーザーに送信する。具体的には、HDD115に記憶されているアドレス帳を参照して、送信先ユーザーのユーザー識別情報を含む送信先レコードを抽出し、送信先レコードによって、送信先ユーザーのユーザー識別情報と関連付けられている宛先情報を取得する。そして、宛先情報が電子メールアドレスならば、宛先情報の電子メールアドレスを宛先アドレスとし、アクセス情報を含む電子メールを生成し、生成された電子メールを通信I/F部112を介して電子メールサーバーに送信する。また、宛先情報がIPアドレスならば、宛先情報のIPアドレス宛に、アクセス情報を通信I/F部112を介して送信する。なお、送信先ユーザーのユーザー識別情報を含む送信先レコードが複数抽出される場合には、任意の1つの送信先レコードを決定し、決定された送信先レコードに従ってアドレス情報を送信すればよい。
次のステップS27においては、処理対象に選択されていない送信先ユーザーが存在するか否かを判断する。処理対象に選択されていない送信先ユーザーが存在するならば処理をステップS25に戻し、そうでなければ処理を終了する。
以上説明したように本実施の形態におけるデータ処理システム1においては、データ処理装置として機能するMFP100は、データ送信ジョブを受け付けると、ジョブを入力した操作ユーザーがアカウントを有する1以上のクラウドサービスを候補サービスとして決定し、1以上の候補サービスのうち送信先ユーザーがアクセス可能な候補サービスをアクセス可能サービスに決定し、アクセス可能サービスにデータを記憶させるとともに、送信先ユーザーに対する送信先にアクセス可能サービスに記憶されたデータにアクセスするためのアクセス情報を送信する。このため、データを1つのクラウドサービスに記憶すれば、複数の送信先ユーザーがデータをアクセス可能になる。したがって、MFP100からのデータの送受信回数を低減して、データ送信のための負荷を低減することができる。
また、MFP100は、ユーザー識別情報と装置識別情報とを関連付けた装置関連付情報を記憶しており、操作ユーザーに対して装置関連付情報により関連付けられた装置識別情報で特定される装置から、操作ユーザーが使用する1以上のクラウドサービスそれぞれのアカウント情報を操作ユーザー用アカウント情報として取得する。このため、操作ユーザーが使用する1以上のクラウドサービスそれぞれのアカウント情報を容易に取得することができる。
さらに、MFP100は、1以上の候補サービスそれぞれについて、当該候補サービスにおいて操作ユーザーと送信先ユーザーとでデータの共有を可能か否かを、操作ユーザー用アカウント情報および送信先ユーザー用アカウント情報を用いて、判断する。このため、1以上の候補サービスそれぞれについて、データの共有が可能であることを容易に判断することができ、操作ユーザーが使用する1以上のクラウドサービスのうちからデータを記憶するクラウドサービスを決定することができる。
さらに、MFP100は、操作ユーザーと送信先ユーザーとでデータの共有が可能な複数の候補サービスのうちから公開範囲が最も狭い候補サービスをアクセス可能サービスに決定する。このため、データの機密性を可能な限り高くることができる。
さらに、MFP100は、1以上の候補サービスのすべてが操作ユーザーと送信先ユーザーとでデータの共有が可能と判断されない場合、1以上の候補サービスのうち1つの変更サービスに対して、操作ユーザーに対して設定されている公開設定を、送信先ユーザーがアクセス可能な状態に設定する。このため、操作ユーザーが使用する1以上のクラウドサービスのうちからデータを記憶するクラウドサービスを確実に決定することができる。
さらに、MFP100は、ユーザーに対してデータの送信先を示す送信先情報を関連付けるアドレス帳を記憶しており、送信先ユーザーとアドレス帳によって関連付けられた電子メールアドレスまたはIPアドレス宛にアクセス情報を送信する。このため、送信先ユーザーにアクセス情報を確実に通知することができる。
なお、上述した実施の形態においては、データ処理装置の一例としてMFP100について説明したが、図9および図10に示したデータ送信処理をMFP100に実行させるデータ送信方法、または、データ送信方法をMFP100を制御するCPU111に実行させるデータ送信プログラムとして、発明を特定することができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) ユーザーに対して当該ユーザーが使用する装置を識別するための装置識別情報を関連付ける装置関連付ステップを、さらに含み、
前記候補決定ステップ、前記操作ユーザーに対して前記装置関連付ステップにおいて関連付けられた装置識別情報で特定される装置から、前記操作ユーザーが使用する1以上のクラウドサービスそれぞれのアカウント情報を操作ユーザー用アカウント情報として取得する操作ユーザー情報取得ステップを含む、請求項8に記載のデータ送信方法。
(2) 前記サービス決定ステップは、前記1以上の候補サービスそれぞれについて、当該候補サービスにおいて前記操作ユーザーと前記送信先ユーザーとでデータの共有が可能か否かを判断する判断ステップと、
前記1以上の候補サービスのうち前記判断ステップにおいてデータの共有が可能と判断されたクラウドサービスを前記アクセス可能サービスに決定するステップを、含む(1)に記載のデータ処理装置。
(3) 前記サービス決定ステップは、前記送信先ユーザーに対して前記装置関連付ステップにおいて関連付けられた装置識別情報で特定される装置から、前記送信先ユーザーが使用する1以上のクラウドサービスそれぞれのアカウント情報を送信先ユーザー用アカウント情報として取得する送信先ユーザー情報取得ステップを、さらに含み、
前記判断ステップは、前記操作ユーザーが使用する1以上のクラウドサービスそれぞれについて、当該クラウドサービスにおいて、前記操作ユーザー用アカウント情報および前記送信先ユーザー用アカウント情報を用いて、データの共有が可能か否かを判断するステップを含む、(2)に記載のデータ送信方法。
(4) 前記サービス決定ステップは、前記判断ステップにおいて前記操作ユーザーと前記送信先ユーザーとでデータの共有が可能と判断さる前記候補サービスが複数の場合、データの共有が可能な前記複数の候補サービスそれぞれについて、当該候補サービスの公開範囲に基づいて、公開範囲が狭いほど高い優先順位を決定する優先順位決定ステップと、
前記複数の候補サービスのうちから優先順位の最も高い1つをアクセス可能サービスに決定するステップと、を含む請求項(2)または(3)に記載のデータ送信方法。
(5) 前記サービス決定ステップは、前記判断ステップにおいて前記1以上の候補サービスのすべてが前記操作ユーザーと前記送信先ユーザーとでデータの共有が可能と判断されない場合、前記1以上の候補サービスのうち1つの変更サービスに対して、前記操作ユーザーに対して設定されている公開設定を、前記送信先ユーザーがアクセス可能な状態に設定する変更ステップを、さらに含む、(2)〜(4)のいずれかに記載のデータ処理装置。
(6) ユーザーに対してデータの送信先を示す送信先情報を関連付ける送信先関連付ステップを、さらに含み、
前記データ送信ステップは、前記送信先ユーザーと前記送信先関連付ステップにおいて関連付けられた送信先情報に従って、前記アクセス情報を送信するステップを含む、請求項8、(1)〜(5)のいずれかに記載のデータ送信方法。