JP2014197820A - スキャナ及び通信システム - Google Patents

スキャナ及び通信システム Download PDF

Info

Publication number
JP2014197820A
JP2014197820A JP2013073560A JP2013073560A JP2014197820A JP 2014197820 A JP2014197820 A JP 2014197820A JP 2013073560 A JP2013073560 A JP 2013073560A JP 2013073560 A JP2013073560 A JP 2013073560A JP 2014197820 A JP2014197820 A JP 2014197820A
Authority
JP
Japan
Prior art keywords
server
account information
scanner
scan
scan data
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
JP2013073560A
Other languages
English (en)
Other versions
JP6083297B2 (ja
Inventor
亮介 都築
Ryosuke Tsuzuki
亮介 都築
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 JP2013073560A priority Critical patent/JP6083297B2/ja
Publication of JP2014197820A publication Critical patent/JP2014197820A/ja
Application granted granted Critical
Publication of JP6083297B2 publication Critical patent/JP6083297B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Or Security For Electrophotography (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】 スキャナによって生成されるスキャンデータをサーバに保存するための新規な技術を開示すること。【解決手段】 スキャナ10は、1回のNFC通信を利用して、仲介サーバ50にログインするためのアカウント情報AC1と、保存サーバ100にログインするためのアカウント情報AC2と、の双方を携帯端末150から受信する。スキャナ10は、アカウント情報AC1を利用して仲介サーバ50にログインした後に、仲介サーバ50からスキャン指示を受信する場合に、スキャンデータを仲介サーバ50に送信する。スキャナ10は、アカウント情報AC1,AC2が関連付けられる状態で、アカウント情報AC2を仲介サーバ50に送信する。仲介サーバ50は、アカウント情報AC2を利用して保存サーバ100にログインして、スキャンデータを保存サーバ100に送信する。【選択図】 図2

Description

本明細書では、スキャナによって生成されるスキャンデータをサーバに保存するための技術を開示する。
スキャナによって生成されるスキャンデータをサーバに保存(即ちアップロード)するための技術が知られている。
特開2008−236702 特開2003−32425 特開2011−192116
本明細書では、スキャナによって生成されるスキャンデータをサーバに保存するための新規な技術を開示する。
本明細書によって開示されるスキャナは、スキャン実行部と、アカウント情報受信部と、ログイン部と、指示受信部と、スキャン制御部と、スキャンデータ送信部と、アカウント情報送信部と、を備える。アカウント情報受信部は、第1のサーバにログインするための第1のアカウント情報と、第2のサーバにログインするための第2のアカウント情報と、の双方を、ユーザによって実行される1回の操作に応じた1回の無線通信を利用して、携帯端末から受信する。第1のサーバは、スキャナから第2のサーバへのスキャンデータの送信を仲介する。第2のサーバは、スキャンデータを保存する。ログイン部は、第1のアカウント情報を利用して第1のサーバにログインする。指示受信部は、第1のサーバへのログインの後に、第1のサーバからスキャン指示を受信する。スキャン制御部は、第1のサーバからスキャン指示が受信される場合に、原稿のスキャンをスキャン実行部に実行させて、特定のスキャンデータを生成する。スキャンデータ送信部は、特定のスキャンデータを第1のサーバに送信する。アカウント情報送信部は、第1のアカウント情報と第2のアカウント情報とが第1のサーバで関連付けられる状態で、第2のアカウント情報を第1のサーバに送信する。この結果、第1のサーバは、第2のアカウント情報を利用して第2のサーバにログインして、特定のスキャンデータを第2のサーバに送信する。
上記の構成によると、スキャナは、ユーザによって実行される1回の操作に応じた1回の無線通信を利用して、携帯端末から第1及び第2のアカウント情報の双方を受信することができる。このために、スキャナは、以下の動作を実行することができる。即ち、スキャナは、第1のアカウント情報を利用して第1のサーバにログインし、その後、第1のサーバからスキャン指示を受信する。この場合、スキャナは、特定のスキャンデータを生成して、特定のスキャンデータを第1のサーバに送信する。また、スキャナは、第1及び第2のアカウント情報が第1のサーバで関連付けられる状態で、第2のアカウント情報を第1のサーバに送信する。これにより、第1のサーバは、スキャナのログインのために利用された第1のアカウント情報と、第2のサーバにログインするための第2のアカウント情報と、を関連付けることができ、この結果、第2のアカウント情報を利用して第2のサーバにログインして、特定のスキャンデータを第2のサーバに送信することができる。この技術によると、ユーザは、1回の操作に応じた1回の無線通信を携帯端末に実行させるだけで、スキャナに特定のスキャンデータを生成させることができると共に、第1のサーバを介して第2のサーバに当該特定のスキャンデータを保存させることができる。
本明細書では、スキャナと、第1のサーバと、を備える通信システムも開示する。第1のサーバは、スキャナから第1のアカウント情報を含むログイン要求を受信して、スキャナの第1のサーバへのログインを許容するログイン制御部と、スキャナの第1のサーバへのログインの後に、スキャン指示をスキャナに送信する指示送信部と、スキャナから特定のスキャンデータを受信するスキャンデータ受信部と、第1のアカウント情報と第2のアカウント情報とが関連付けられる状態で、スキャナから第2のアカウント情報を受信する第2のアカウント情報受信部と、第2のアカウント情報を利用して第2のサーバにログインして、特定のスキャンデータを第2のサーバに送信する第2のスキャンデータ送信部と、を備える。この技術によると、ユーザは、1回の操作に応じた1回の無線通信を携帯端末に実行させるだけで、スキャナに特定のスキャンデータを生成させることができると共に、第1のサーバを介して第2のサーバに当該特定のスキャンデータを保存させることができる。
上記のいずれかの機器(即ち、スキャナ、又は、第1のサーバ)を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記憶媒体も、新規で有用である。
通信システムの構成を示す。 各デバイスによって実行される各処理のシーケンス図を示す。 スキャンデータ送信処理のフローチャートを示す。 アップロード準備処理のフローチャートを示す。 アップロード処理のフローチャートを示す。 アップロードが成功するケースのシーケンス図を示す。 原稿の詰まりが発生するケースのシーケンス図を示す。 携帯端末で表示される各画面を示す。
(実施例)
(システムの構成)
図1に示されるように、通信システム2は、スキャナ10と、仲介サーバ50と、保存サーバ100と、携帯端末150と、を備える。各デバイス10,50,100,150は、インターネットを介して、相互に通信可能である。また、スキャナ10及び携帯端末150は、後述のNFC(Near Field Communicationの略)方式に従った無線通信を利用して、相互に通信可能である。
スキャナ10は、原稿のスキャンを実行して、スキャナ10の内部にスキャンデータを記憶したり、スキャナ10と同じLAN(Local Area Networkの略)に接続されているPC(Personal Computerの略)にスキャンデータを送信したりすることができる。特に、本実施例では、スキャナ10は、携帯端末150とNFC方式に従った無線通信を実行することによって、原稿のスキャンを実行して、仲介サーバ50を介して保存サーバ100にスキャンデータをアップロードすることができる。このアップロードを実現するために、各デバイス10等は、以下の構成を備える。
(スキャナ10の構成)
スキャナ10は、図示省略のPC等の周辺機器である。スキャナ10は、操作部12と、表示部14と、NFCインターフェース16と、スキャン実行部20と、ネットワークインターフェース22と、制御部30と、を備える。以下では、インターフェースのことを「I/F」と記載する。
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をスキャナ10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。スキャン実行部20は、CCD方式、CIS方式等のスキャン機構を備える。
NFCI/F16は、NFC方式の無線通信(以下では「NFC通信」と呼ぶ)を実行するためのI/Fである。NFC方式は、いわゆる近距離無線通信のための無線通信方式であり、例えば、ISO/IEC21481又は18092の国際標準規格に基づく無線通信方式である。ネットワークI/F22は、スキャナ10が設置されている環境に構築される図示省略のLANに接続するためのI/Fであり、有線通信のためのI/Fであってもよいし、無線通信のためのI/Fであってもよい。スキャナ10は、ネットワークI/F22及び図示省略のLANを介して、インターネットに接続される。
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラムに従って、様々な処理を実行する。
(仲介サーバ50の構成)
仲介サーバ50は、スキャナ10のベンダによってインターネット上に設置されるサーバである。仲介サーバ50は、スキャナ10からスキャンデータを受信して、当該スキャンデータを保存サーバ100に送信する。即ち、仲介サーバ50は、スキャナ10から保存サーバ100へのスキャンデータの送信を仲介する。仲介サーバ50は、ネットワークI/F60と、制御部70と、を備える。
ネットワークI/F60は、インターネットに接続するためのI/Fである。制御部70は、CPU72と、メモリ74と、を備える。CPU72は、メモリ74に格納されているプログラムに従って、様々な処理を実行する。
(保存サーバ100の構成)
保存サーバ100は、スキャナ10のベンダとは異なる特定のサービス提供会社によってインターネット上に設置されるサーバである。保存サーバ100は、画像データ、文書データ等の様々なデータ(即ちファイル)を保存することができる。保存サーバ100は、例えば、「FTOPIA」、「Evernote(登録商標)」、「Google(登録商標) Docs」、「PICASA(登録商標)」、「FACEBOOK(登録商標)」等の公知のサーバであってもよい。
図示省略しているが、インターネット上には、上記の特定のサービス提供会社によって設置される保存サーバ100のみならず、他の様々なサービス提供会社によって提供される様々な保存サーバが存在する。即ち、複数個のサービス提供会社によって運営される複数個の保存サーバがインターネット上に存在する。
スキャナ10のベンダは、仲介サーバ50と通信を実行するためのAPI(Application Program Interface)を公開している。そして、複数個のサービス提供会社のそれぞれは、上記のAPIを含むプログラムに従って各保存サーバ100等を動作させる。これにより、保存サーバ100等は、仲介サーバ50と様々な通信(例えば後述の図6のスキャンデータ300の通信等)を実行することができる。
(携帯端末150の構成)
携帯端末150は、例えば、携帯電話(例えばスマートフォン)、PDA(Personal Digital Assistanceの略)、ノートPC、タブレットPC、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末装置である。携帯端末150は、NFCI/F156と、CPU162と、メモリ164と、を備える。また、携帯端末150は、図示省略の様々なハードウェア(例えば、操作部、表示部等)を備える。
NFCI/F156は、NFC通信を実行するためのI/Fである。CPU162は、メモリ164に格納されているプログラムに従って、様々な処理を実行する。メモリ164は、さらに、スキャナ10から保存サーバ100等へのスキャンデータのアップロードに関連する様々な処理をスキャナ10に実行させるためのアプリケーション(以下では「スキャナ用アプリケーション」と呼ぶ)を記憶している。例えば、携帯端末150は、スキャナ10のベンダによってインターネット上に設置されるサーバ(即ち仲介サーバ50は異なるサーバ)から、スキャナ用アプリケーションをダウンロードする。CPU162によって実行される以下の各処理は、スキャナ用アプリケーションに従って実行される。
(事前準備;図2)
図2を参照しながら、各デバイス10,50,100,150が実行する各処理の内容を説明する。まず、携帯端末150のユーザは、以下の事前準備を実行する。携帯端末150では、ユーザによってスキャナ用アプリケーションが起動される。次いで、仲介サーバ50にアクセスするための操作が実行される。スキャナ用アプリケーションには、仲介サーバ50のURL(Uniform Resource Locatorの略)が予め記述されている。携帯端末150のCPU162は、仲介サーバ50のURLを利用して仲介サーバ50にアクセスして、仲介サーバ50からアカウント登録画面を表わす画面情報を受信する。これにより、CPU162は、アカウント登録画面を表示部(図示省略)に表示させる。ユーザは、アカウント登録画面を見ながら、携帯端末150を操作して、ユーザID、パスワード等の各種情報を携帯端末150に入力する。CPU162は、ユーザによって上記の各種情報が入力されると、上記の各種情報を含むアカウント要求200を仲介サーバ50に送信する。
仲介サーバ50のCPU72は、携帯端末150からアカウント要求200を受信すると、アカウント要求200に含まれる上記の各種情報を含むアカウント情報AC1を、メモリ74に登録する(即ちメモリ74に記憶させる)。そして、CPU72は、登録済みのアカウント情報AC1を携帯端末150に送信する。
携帯端末150のCPU162は、仲介サーバ50からアカウント情報AC1を受信すると、アカウント情報AC1を記憶する。これにより、仲介サーバ50にログインするためのアカウント情報AC1が、携帯端末150に記憶される。
また、スキャナ用アプリケーションには、複数個の保存サーバのそれぞれのサーバ名及びURLが予め記述されている。本実施例では、ユーザは、複数個の保存サーバの中から保存サーバ100を選択して、保存サーバ100にアクセスするための操作を実行する。この場合、携帯端末150のCPU162は、仲介サーバ50の場合と同様に、保存サーバ100のURLを利用して、保存サーバ100からアカウント登録画面を表わす画面情報を受信する。ユーザは、ユーザID、パスワード等の各種情報を携帯端末150に入力する。この場合、携帯端末150のCPU162は、ユーザによって入力された上記の各種情報を含むアカウント要求204を保存サーバ100に送信する。
保存サーバ100は、携帯端末150からアカウント要求204を受信すると、アカウント要求204に含まれる上記の各種情報を含むアカウント情報AC2を登録する。そして、保存サーバ100は、登録済みのアカウント情報AC2を携帯端末150に送信する。
携帯端末150のCPU162は、保存サーバ100からアカウント情報AC2を受信すると、アカウント情報AC2を記憶する。これにより、保存サーバ100にログインするためのアカウント情報AC2が、携帯端末150に記憶される。
なお、携帯端末150は、ユーザの指示に従って、保存サーバ100とは異なる保存サーバにログインするためのアカウント情報も記憶することができる。即ち、携帯端末150には、1個以上の保存サーバにログインするための1個以上のアカウント情報が記憶される。
(スキャンデータのアップロードのための処理)
ユーザは、上記の事前準備を実行して、2個のアカウント情報AC1,AC2を携帯端末150に記憶させた後に、保存サーバ100へのスキャンデータのアップロードを仲介サーバ50に実行させることができる。ユーザは、スキャンデータのアップロードの実行を望む場合に、携帯端末150に記憶されているスキャナ用アプリケーションを起動させる。これにより、待機画面SC1(図8参照)が携帯端末150に表示される。
図8に示されるように、待機画面SC1は、サーバ名を選択するための領域を含む。本実施例では、ユーザは、携帯端末150にアカウント情報が記憶されている1個以上の保存サーバのサーバ名の中から、スキャンデータを保存するための1個の保存サーバのサーバ名(本実施例では保存サーバ100のサーバ名「xxx」)を選択する。
待機画面SC1は、さらに、スキャン条件(即ち、スキャン対象の原稿のサイズ、スキャンタイプ、ファイルタイプ)を選択するための領域を含む。ユーザは、A3、A4、B4等の複数個の原稿のサイズの中から、1個のサイズを選択する。また、ユーザは、カラースキャン、モノクロスキャン等の複数個のスキャンタイプの中から、1個のスキャンタイプを選択する。また、ユーザは、PDF、JPEG等の複数個のファイル形式の中から、1個のファイル形式(即ち、スキャンデータのファイル形式)を選択する。
次いで、ユーザは、スキャナ10と携帯端末150との間でNFC接続を確立させるために、携帯端末150をスキャナ10に近づける。この結果、スキャナ10のNFCI/F16と携帯端末150のNFCI/F156との間の距離が、各I/F16,156が通信可能な最大の距離(即ちNFC通信を実行可能な距離;例えば10cm)よりも大きい状態から、当該最大の距離以下である状態に移行する。この場合、図2に示されるように、スキャナ10のNFCI/F16と携帯端末150のNFCI/F156との間にNFC接続が確立される。
携帯端末150のCPU162は、上記のNFC接続を利用して(即ちNFCI/F156を介して)、NFC情報208をスキャナ10に送信する。NFC情報208は、仲介サーバ50にログインするためのアカウント情報AC1と、ユーザによって選択された保存サーバ100にログインするためのアカウント情報AC2と、ユーザによって選択されたスキャン条件を示す条件情報と、ユーザによって選択されたサーバ名と、を含む。
スキャナ10のCPU32は、上記のNFC接続を利用して(即ちNFCI/F16を介して)、携帯端末150からNFC情報208を受信する。この場合、CPU32は、ネットワークI/F22を介して、NFC情報208内のアカウント情報AC1を含むログイン要求210を、仲介サーバ50のURLを利用して仲介サーバ50に送信する。なお、仲介サーバ50のURLは、スキャナ10のメモリ34に予め記憶されていてもよいし、携帯端末150から受信されるNFC情報208内に記述されていてもよい。
仲介サーバ50のCPU72は、ネットワークI/F60を介して、スキャナ10からログイン要求210を受信する。なお、仲介サーバ50において実行される通信では、ネットワークI/F60が常に利用されるので、以下の説明では、「ネットワークI/F60を介して」という用語を省略する。CPU72は、ログイン要求210に含まれるアカウント情報AC1がメモリ74に登録されているのか否かを判断する。CPU72は、アカウント情報AC1がメモリ74に登録されていないと判断する場合には、図示省略しているが、ログイン失敗通知をスキャナ10に送信する。
一方において、CPU72は、アカウント情報AC1がメモリ74に登録されていると判断する場合には、ユニークな文字列であるトークン(即ち認証情報)214を生成する。そして、CPU72は、アカウント情報AC1に関連付けて、トークン214をメモリ74に記憶させる。次いで、CPU72は、トークン214を含むログイン成功通知212をスキャナ10に送信する。
スキャナ10のCPU32は、ネットワークI/F22を介して、仲介サーバ50からログイン成功通知212を受信する。この場合、CPU32は、ログイン成功通知212に含まれるトークン214をメモリ34に記憶させる。次いで、CPU32は、ネットワークI/F22を介して、トークン214を含む接続要求を仲介サーバ50に送信する。上記の接続要求は、スキャナ10と仲介サーバ50との間にXMPP(Extensible Messaging and Presence Protocolの略)接続を確立するための要求である。
仲介サーバ50のCPU72は、スキャナ10から接続要求を受信すると、接続要求に含まれるトークン214がメモリ74に記憶されているのか否かを判断する。CPU72は、トークン214がメモリ74に記憶されていると判断する場合には、所定の応答をスキャナ10に送信する。これにより、スキャナ10と仲介サーバ50との間にXMPP接続が確立される。この結果、仲介サーバ50は、XMPP接続を利用することができるので、図示省略のルータ等によって通信が妨げられることなく、後述のスキャン指示220をスキャナ10に適切に送信することができる(即ち、インターネット側からLAN側への通信を実行することができる)。
仲介サーバ50のCPU72は、XMPP接続が確立される場合に、XMPP接続を識別するための接続IDを生成し、アカウント情報AC1に関連付けて、接続IDをメモリ74に記憶させる。この結果、メモリ74では、トークン214、接続ID、及び、アカウント情報AC1が関連付けられている状態になる。
次いで、スキャナ10のCPU32は、トークン214を利用して、スキャンデータのアップロードに関連する処理を識別するための処理ID216を生成する。本実施例では、処理ID(例えばYYY20130315)は、トークン214によって示される文字列(例えばYYY)と、現在の日時を示す情報(例えば20130315)と、を組み合わせることによって生成される。詳しくは後述するが、処理ID216は、携帯端末150のユーザがスキャンデータのアップロードに関連する処理のステータスを確認するために、携帯端末150及び保存サーバ100で利用される。
スキャナ10のCPU32は、上記のNFC接続を利用して(即ちNFCI/F16を介して)、処理ID216を含むスキャン受付通知218を携帯端末150に送信する。
携帯端末150のCPU162は、上記のNFC接続を利用して(即ちNFCI/F156を介して)、スキャナ10からスキャン受付通知218を受信する。この場合、受付画面SC2(図8参照)が携帯端末150で表示される。受付画面SC2は、スキャンの要求を受け付けたことを示すメッセージと、スキャン受付通知218に含まれる処理ID216と、を含む。
ユーザは、受付画面SC2を見れば、携帯端末150をスキャナ10から離反させてもよいことを知ることができる。携帯端末150がスキャナ10から離反すると、スキャナ10のNFCI/F16と携帯端末150のNFCI/F156との間の距離が、各I/F16,156が通信可能な最大の距離以下である状態から、当該距離よりも大きい状態に戻る。この場合、上記のNFC接続が切断される。以下では、上記のNFC接続が確立されてから、上記のNFC接続が切断されるまでに、スキャナ10と携帯端末150との間で実行されるNFC通信(即ち、NFC情報208の通信、及び、スキャン受付通知218の通信)のことを、「1回のNFC通信」と呼ぶ。
上述したように、本実施例では、ユーザが携帯端末150をスキャナ10に近づけるための1回の操作を実行すれば、1回のNFC通信を利用して、携帯端末150からスキャナ10へのNFC情報208の送信と、スキャナ10から携帯端末150へのスキャン受付通知218の送信と、が実行される。即ち、1回のNFC通信を利用して、アカウント情報AC1、アカウント情報AC2、及び、処理ID216の3個の情報の全ての通信が実行される。上記の3個の情報の通信のために、ユーザが携帯端末150をスキャナ10に近づけるための操作を複数回に亘って実行しなければならない構成と比べると、ユーザの利便性が向上する。
上述したように、スキャナ10は、携帯端末150から、保存サーバ100にログインするためのアカウント情報AC2、及び、保存サーバ100のサーバ名を受信済みである(NFC情報208参照)。スキャナ10のCPU32は、上記のXMPP接続を利用して(即ちネットワークI/F22を介して)、処理ID216、アカウント情報AC2、及び、サーバ名が関連付けられた状態で、これらの情報を仲介サーバ50に送信する。即ち、CPU32は、これらの情報を同時的に仲介サーバ50に送信する。
仲介サーバ50のCPU72は、上記のXMPP接続を利用して、スキャナ10からアカウント情報AC2、処理ID216、及び、保存サーバ100のサーバ名を同時的に受信する。
上述したように、処理ID216は、トークン214を用いて生成される。また、仲介サーバ50のメモリ74では、アカウント情報AC1及びトークン214が関連付けられている。従って、CPU72は、アカウント情報AC2と、処理ID216に含まれるトークン214と、を同時的に受信する場合に、メモリ74を参照して、トークン214に関連付けられているアカウント情報AC1を特定することができる。即ち、CPU72は、トークン214を介して、アカウント情報AC1及びアカウント情報AC2を関連付けることができる。そして、CPU72は、アカウント情報AC2及び処理ID216をメモリ74に記憶させる。この結果、メモリ74では、トークン214、接続ID、アカウント情報AC1、アカウント情報AC2、及び、処理ID216が関連付けられている状態になる。
なお、変形例では、仲介サーバ50のCPU72は、以下のようにして、2個のアカウント情報AC1,AC2を関連付けてもよい。上述したように、CPU72は、XMPP接続を利用して、スキャナ10からアカウント情報AC2及び処理ID216を受信する。そして、メモリ74では、XMPP接続を識別するための接続ID及びアカウント情報AC1が関連付けられている。従って、CPU72は、XMPP接続を利用してアカウント情報AC2及び処理ID216を受信する場合に、メモリ74を参照して、当該XMPP接続の接続IDに関連付けられているアカウント情報AC1を特定することができ、この結果、2個のアカウント情報AC1,AC2を関連付けることができる。即ち、CPU72は、XMPP接続の接続IDを介して、2個のアカウント情報AC1,AC2を関連付けることができる。なお、XMPP接続は、トークン214を利用して確立される接続である。従って、本変形例でも、トークン214を介して、2個のアカウント情報AC1,AC2が関連付けられていると言える。
次いで、仲介サーバ50のCPU72は、処理ID216に関連付けて、ステータス情報をメモリ74に記憶させる。この結果、メモリ74では、トークン214、接続ID、アカウント情報AC1、アカウント情報AC2、処理ID216、及び、ステータス情報が関連付けられている状態になる。現時点では、ステータス情報は、「スキャン準備」を示す。詳しくは後述するが、仲介サーバ50は、ステータス情報を携帯端末150に供給することができる(後述の図6のステータス要求308、ステータス通知310等参照)。即ち、ユーザは、携帯端末150を利用して、ステータス情報にアクセスすれば、スキャンデータのアップロードに関連する処理の現在のステータスを知ることができる。
次いで、CPU72は、上記のXMPP接続を利用して、スキャン指示220をスキャナ10に送信する。CPU72は、XMPP接続を利用するので、LAN側に存在するスキャナ10にスキャン指示220を適切に送信することができる。CPU72は、スキャン指示220をスキャナ10に送信すると、アップロード準備処理(図4参照)を開始する。
なお、変形例では、CPU72は、XMPP接続を利用せずに、スキャン指示220をスキャナ10に送信してもよい。例えば、CPU72は、スキャナ10から処理ID216及びアカウント情報AC2を受信すると、それらの情報の戻り値として、スキャン指示220をスキャナ10に送信してもよい。本変形例の構成でも、CPU72は、ルータ等によって通信が妨げられることなく、LAN側に存在するスキャナ10にスキャン指示220を適切に送信することができる。
スキャナ10のCPU32は、上記のXMPP接続を利用して(即ちネットワークI/F22を介して)、仲介サーバ50からスキャン指示220を受信する。この場合、S2において、CPU32は、スキャンデータ送信処理(図3参照)を開始する。
(スキャンデータ送信処理;図3)
図3を参照して、スキャナ10のCPU32によって実行されるスキャンデータ送信処理(図2のS2)の内容を説明する。
上述したように、スキャナ10のCPU32は、携帯端末150からスキャン条件を示す条件情報を既に受信している(図2のNFC情報208参照)。S10では、CPU32は、受信済みの条件情報によって示される原稿のサイズ(例えばA4)及びスキャンタイプ(例えばカラー)に従った原稿のスキャンが実行されるように、スキャン実行部20に命令を送信する。これにより、スキャン実行部20は、原稿のスキャンを実行して、画像データを生成する。
S12では、CPU32は、スキャン対象の原稿の全てのページに対するスキャンが終了したのか否かを判断する。CPU32は、スキャン実行部20から全てのページのスキャンが終了したことを示す信号を受信する場合には、S12でYESと判断して、スキャン実行部20から取得される画像データを利用して、受信済みの条件情報によって示されるファイル形式(例えばPDF)を有するファイルを生成する。以下では、ここで生成されるファイルのことを「スキャンデータ」と呼ぶ。そして、CPU32は、S14に進む。一方において、CPU32は、スキャン実行部20から上記の信号を受信しない場合には、S12でNOと判断して、S30に進む。
S14では、CPU32は、ネットワークI/F22を介して、トークン214及びスキャンデータを仲介サーバ50に同時的に送信する。これにより、CPU32は、トークン214及びスキャンデータが関連付けられた状態で、トークン214及びスキャンデータを仲介サーバ50に送信することができる。
なお、S14では、CPU32は、スキャナ10及び仲介サーバ50の間に確立されているXMPP接続を利用せずに、トークン214及びスキャンデータを仲介サーバ50に送信する。詳しくは後述するが、仲介サーバ50は、スキャンデータと共にトークン214を受信するので、トークン214に関連付けられているアカウント情報AC1に従ったログイン状態を有するスキャナ10から、スキャンデータを受信したことを知ることができる(後述の図4のS50でYES)。
ただし、変形例では、S14において、CPU32は、XMPP接続を利用して、スキャンデータを仲介サーバ50に送信してもよい。この場合、CPU32は、トークン214を仲介サーバ50に送信しなくてもよい。仲介サーバ50は、XMPP接続の接続IDに関連付けられているアカウント情報AC1を特定することができ、この結果、アカウント情報AC1に従ったログイン状態を有するスキャナ10から、スキャンデータを受信したことを知ることができる。
次いで、S18では、CPU32は、ネットワークI/F22を介して、XMPP接続を切断するための信号を仲介サーバ50に送信する。これにより、スキャナ10と仲介サーバ50との間のXMPP接続が切断される。この結果、スキャナ10がアカウント情報AC1に従って仲介サーバ50にログインしている状態が終了する。
続いて、S20では、CPU32は、トークン214をメモリ34から消去する。S20が終了すると、スキャンデータ送信処理が終了する。
一方において、S30では、CPU32は、図示省略の自動原稿搬送装置(以下では「ADF(Automatic Document Feederの略)」と呼ぶ)によってスキャン対象の原稿が搬送される場合に、ADF内で原稿の詰まりが発生したのか否かを判断する。CPU32は、ADFから原稿の詰まりの発生を示す信号を受信する場合には、S30でYESと判断して、S32に進む。一方において、CPU32は、ADFから上記の信号を受信しない場合には、S30でNOと判断して、S12に戻る。
S32では、CPU32は、ネットワークI/F22を介して、トークン214及び原稿の詰まりを示すエラー通知を、仲介サーバ50に送信する。これにより、仲介サーバ50は、エラー通知と共にトークン214を受信するので、トークン214に関連付けられているアカウント情報AC1に従ったログイン状態を有するスキャナ10において、原稿の詰まりが発生したことを知ることができる(後述の図4のS70でYES)。
次いで、S34では、CPU32は、原稿の詰まりが解消されない状態で、上記のエラー通知を仲介サーバ50に送信してから一定時間が経過したのか否かを判断する。CPU32は、上記の一定時間が経過した場合には、S34でYESと判断して、S18に進む。この場合、スキャナ10及び仲介サーバ50の間のXMPP接続が切断され(S18)、トークン214がメモリ34から消去される(S20)。そして、スキャナ10から仲介サーバ50へのスキャンデータの送信が実行されず、この結果、保存サーバ100へのスキャンデータのアップロードが実行されない。一方において、CPU32は、上記の一定時間が経過しない場合には、S34でNOと判断して、S36に進む。
S36では、CPU32は、原稿の詰まりが解消されたのか否かを判断する。ユーザによって原稿の詰まりを解消するための処置が実行された場合には、CPU32は、ADFから原稿の詰まりが解消したことを示す信号を受信する。この場合、CPU32は、S36でYESと判断して、S12に戻る。これにより、CPU32は、スキャンデータを仲介サーバ50に送信することができる(S12でYES、S14)。一方において、CPU32は、ADFから上記の信号を受信しない場合には、S36でNOと判断して、S34に戻る。
(アップロード準備処理;図4)
図4を参照して、仲介サーバ50のCPU72によって実行されるアップロード準備処理(図2のS4)の内容を説明する。アップロード準備処理が開始される段階では、仲介サーバ50のメモリ74では、ログイン状態であるアカウント情報AC1等に関連付けて、「スキャン準備」を示すステータス情報が記憶されている。
S50では、仲介サーバ50のCPU72は、トークン214に関連付けられているアカウント情報AC1に従ったログイン状態を有するスキャナ10から、スキャンデータを受信したのか否かを判断する。CPU72は、トークン214及びスキャンデータを同時的に受信する場合(図3のS14参照)には、スキャナ10からスキャンデータを受信したと判断して(S50でYES)、S52に進む。なお、CPU72は、スキャナ10からスキャンデータを受信する場合には、アカウント情報AC1、アカウント情報AC2等に関連付けて、スキャンデータをメモリ74に記憶させる。一方において、CPU72は、スキャナ10からスキャンデータを受信しない場合には、S50でNOと判断して、S70に進む。
S52では、CPU72は、アカウント情報AC1に関連付けられているメモリ74内のステータス情報(即ち、処理ID216に関連付けられているステータス情報)を、「スキャン準備」から、「アップロード準備」に変更する。なお、仮に、この状態で、ユーザが携帯端末150を利用して仲介サーバ50にアクセスすれば、ユーザは、現在のステータスがアップロードの準備中であることを知ることができる。
次いで、S58では、CPU72は、スキャナ10から、XMPP接続を切断するための信号(図3のS18参照)を受信する。これにより、スキャナ10と仲介サーバ50との間のXMPP接続が切断される。
次いで、S60では、CPU72は、トークン214及び接続IDをメモリ74から消去する。この結果、メモリ74では、アカウント情報AC1、アカウント情報AC2、サーバ名、処理ID216、ステータス情報(即ち「アップロード準備」)、及び、スキャンデータが関連付けられている状態になる。CPU72は、S60を終了すると、後述のアップロード処理(図5参照)を開始して(S62)、アップロード準備処理を終了する。
一方において、S70では、CPU72は、トークン214に関連付けられているアカウント情報AC1に従ったログイン状態を有するスキャナ10から、エラー通知を受信したのか否かを判断する。CPU72は、トークン214及びエラー通知を同時的に受信する場合(図3のS32参照)には、スキャナ10からエラー通知を受信したと判断して(S70でYES)、S72に進む。一方において、CPU72は、スキャナ10からエラー通知を受信しない場合には、S70でNOと判断して、S50に戻る。
S72では、CPU72は、アカウント情報AC1に関連付けられているメモリ74内のステータス情報(即ち、処理ID216に関連付けられているステータス情報)を、「スキャン準備」から、「原稿の詰まり」に変更する。なお、仮に、この状態で、ユーザが携帯端末150を利用して仲介サーバ50にアクセスすれば、ユーザは、スキャナ10において原稿の詰まりが発生していることを知ることができ、原稿の詰まりを解消するための処置を実行することができる。
次いで、S74では、CPU72は、スキャナ10からスキャンデータを受信したのか否かを判断する。S74の処理は、S50の処理と同様である。スキャナ10において原稿の詰まりが解消された場合(図3のS36でYES、S12でYES、S14参照)には、CPU72は、スキャナ10からスキャンデータを受信して、S74でYESと判断して、S52に進む。一方において、CPU72は、スキャナ10からスキャンデータを受信しない場合には、S74でNOと判断して、S76に進む。
S76では、CPU72は、スキャナ10及び仲介サーバ50の間のXMPP接続が切断されたのか否かを判断する。スキャナ10において原稿の詰まりが解消されない状態で一定時間が経過する場合(図3のS34でYES、S18参照)には、CPU72は、スキャナ10からXMPP接続を切断するための信号を受信する。この場合、CPU72は、S76でYESと判断して、S78に進む。一方において、CPU72は、スキャナ10から上記の信号を受信しない場合には、S76でNOと判断して、S74に戻る。
S78では、CPU72は、トークン214、接続ID、アカウント情報AC2、処理ID216、及び、ステータス情報をメモリ74から消去する。この結果、メモリ74では、いずれの情報もアカウント情報AC1に関連付けられていない状態になる。CPU72は、S78を終了すると、後述のアップロード処理(図5参照)を開始せずに(即ちS62を実行せずに)、アップロード準備処理を終了する。
(アップロード処理;図5)
図5を参照して、図4のS62で開始されるアップロード処理の内容を説明する。アップロード処理が開始される段階では、仲介サーバ50のメモリ74では、アカウント情報AC2等に関連付けて、「アップロード準備」を示すステータス情報が記憶されている(図4のS52参照)。
S90では、CPU72は、スキャナ10から、処理ID216及びアカウント情報AC2と共に受信したサーバ名(図2参照)に従って、インターネット上に存在する複数個の保存サーバの中から、保存サーバ100を選択する。そして、CPU72は、アカウント情報AC2を含むログイン要求を、選択済みの保存サーバ100に送信する。なお、メモリ74は、保存サーバ100のURLを予め記憶している。CPU72は、保存サーバ100のURLを利用して、ログイン要求を保存サーバ100に送信する。
保存サーバ100は、仲介サーバ50からログイン要求を受信すると、ログイン要求に含まれるアカウント情報AC2が、保存サーバ100に登録されているのか否かを判断する。保存サーバ100は、アカウント情報AC2が登録されていると判断する場合には、ログイン成功通知を仲介サーバ50に送信し、アカウント情報AC2が登録されていないと判断する場合には、ログイン失敗通知を仲介サーバ50に送信する。例えば、アカウント情報AC2の有効期限が切れている場合には、アカウント情報AC2が保存サーバ100から消去され得るので、アカウント情報AC2が登録されていないと判断され得る。
S92では、CPU72は、保存サーバ100からログイン成功通知を受信したのか否かを判断する。CPU72は、保存サーバ100からログイン成功通知を受信する場合には、S92でYESと判断して、S94に進む。この場合、仲介サーバ50がアカウント情報AC2に従って保存サーバ100にログインしている状態になる。一方において、CPU72は、保存サーバ100からログイン失敗通知を受信する場合には、S92でNOと判断して、S96に進む。
S96では、CPU72は、アカウント情報AC2に関連付けられているメモリ74内のステータス情報(即ち、処理ID216に関連付けられているステータス情報)を、「アップロード準備」から、「ログイン失敗」に変更する。なお、仮に、この状態で、ユーザが携帯端末150を利用して仲介サーバ50にアクセスすれば、ユーザは、保存サーバ100へのログインが失敗した結果として、スキャンデータのアップロードが実行されないことを知ることができる。S96が終了すると、アップロード処理を終了する。なお、S96が実行されてから所定時間経過後に、アカウント情報AC2、処理ID216、ステータス情報、及び、スキャンデータが、メモリ74から消去される。
一方において、S94では、CPU72は、アカウント情報AC2に関連付けられているメモリ74内のステータス情報(即ち、処理ID216に関連付けられているステータス情報)を、「アップロード準備」から、「アップロード中」に変更する。なお、仮に、この状態で、ユーザが携帯端末150を利用して仲介サーバ50にアクセスすれば、ユーザは、現在のステータスが保存サーバ100へのスキャンデータのアップロード中であることを知ることができる。
次いで、S98では、CPU72は、アカウント情報AC2に関連付けられているメモリ74内のスキャンデータを、保存サーバ100に送信する。特に、CPU72は、アカウント情報AC2に従ったログイン状態を利用して、スキャンデータを保存サーバ100に送信する。なお、上記の「アカウント情報AC2に従ったログイン状態を利用して」の態様としては、例えば、以下の第1及び第2の手法のどちらかを採用することができる。
第1の手法では、アカウント情報AC2に従ったログインが成功する場合に、特定のトークンが保存サーバ100で生成され、当該特定のトークンが仲介サーバ50に送信される。そして、保存サーバ100では、特定のトークン及びアカウント情報AC2が関連付けられる。この場合、仲介サーバ50のCPU72は、特定のトークン及びスキャンデータを保存サーバ100に同時的に送信する。これにより、保存サーバ100は、特定のトークンを介して、アカウント情報AC2及びスキャンデータを関連付けることができる。
第2の手法では、アカウント情報AC2に従ったログインが成功する場合に、仲介サーバ50及び保存サーバ100の間に接続(例えばXMPP接続)が確立される。そして、保存サーバ100では、上記の接続を識別するための接続ID及びアカウント情報AC2が関連付けられる。この場合、仲介サーバ50のCPU72は、上記の接続を利用して、スキャンデータを保存サーバ100に送信する。これにより、保存サーバ100は、上記の接続IDを介して、アカウント情報AC2及びスキャンデータを関連付けることができる。
上述したように、保存サーバ100は、仲介サーバ50からスキャンデータを受信すると、アカウント情報AC2及びスキャンデータを関連付けることができる。このために、保存サーバ100は、アカウント情報AC2に対応する場所にスキャンデータを保存することができる。即ち、アカウント情報AC2に対応する場所にスキャンデータがアップロードされる。このように、スキャンデータのアップロードが成功すると、保存サーバ100は、アップロード成功通知を仲介サーバ50に送信する。
一方において、例えば、保存サーバ100において、アカウント情報AC2に対応する場所に保存可能な最大のデータサイズが予め決められている状況を想定する。この場合、保存サーバ100は、アカウント情報AC2に対応する場所に既に保存されているデータのデータサイズと、仲介サーバ50から受信されたスキャンデータのデータサイズと、の和が、上記の最大のデータサイズを超える場合には、アカウント情報AC2に対応する場所に、スキャンデータを新たに保存することができない。この場合には、保存サーバ100は、アップロード失敗通知を仲介サーバ50に送信する。
S100では、CPU72は、保存サーバ100からアップロード成功通知を受信したのか否かを判断する。CPU72は、保存サーバ100からアップロード成功通知を受信する場合には、S100でYESと判断して、S102に進む。一方において、CPU72は、保存サーバ100からアップロード失敗通知を受信する場合には、S100でNOと判断して、S104に進む。
S102では、CPU72は、アカウント情報AC2に関連付けられているメモリ74内のステータス情報(即ち、処理ID216に関連付けられているステータス情報)を、「アップロード中」から、「アップロード成功」に変更する。なお、この状態で、仮に、ユーザが携帯端末150を利用して仲介サーバ50にアクセスすれば、ユーザは、保存サーバ100へのスキャンデータのアップロードが成功したことを知ることができる。S102が終了すると、アップロード処理が終了する。
一方において、S104では、CPU72は、アカウント情報AC2に関連付けられているメモリ74内のステータス情報(即ち、処理ID216に関連付けられているステータス情報)を、「アップロード中」から、「アップロード失敗」に変更する。なお、この状態で、仮に、ユーザが携帯端末150を利用して仲介サーバ50にアクセスすれば、ユーザは、保存サーバ100へのスキャンデータのアップロードが失敗したことを知ることができる。S104が終了すると、アップロード処理が終了する。
なお、S102又はS104が実行される場合には、所定時間経過後に、アカウント情報AC2、処理ID216、ステータス情報、及び、スキャンデータが、メモリ74から消去される。
(アップロードが成功するケース;図6)
図6を参照して、保存サーバ100へのスキャンデータのアップロードが成功するケースを説明する。本ケースは、図2の続きのシーケンスであり、図3〜図5の各処理によって実現される。
スキャナ10は、仲介サーバ50からスキャン指示220(図2参照)を受信する場合に、原稿のスキャンを実行して、スキャンデータ300を生成する(図3のS10、S12でYES)。そして、スキャナ10は、トークン214及びスキャンデータ300を仲介サーバ50に送信する(S14)。
仲介サーバ50は、スキャナ10からスキャンデータ300を受信すると(図4のS50でYES)、ステータス情報を「スキャン準備」から「アップロード準備」に変更する(S52)。
次いで、スキャナ10及び仲介サーバ50の間のXMPP接続が切断され、スキャナ10がアカウント情報AC1に従って仲介サーバ50にログインしている状態が終了する(図3のS18、図4のS58)。そして、スキャナ10においてトークン214が消去され(図3のS20)、仲介サーバ50においてトークン214が消去される(図4のS60)。
ユーザは、携帯端末150を操作して、ステータスの確認のための指示を携帯端末150に入力する。この場合、携帯端末150のCPU162は、アカウント情報AC1を含むログイン要求304を仲介サーバ50に送信して、仲介サーバ50からログイン成功通知306を受信する。即ち、携帯端末150がアカウント情報AC1に従って仲介サーバ50にログインしている状態になる。
上述したように、携帯端末150のCPU162は、スキャナ10から処理ID216を受信済みである(図2のスキャン受付通知218参照)。CPU162は、仲介サーバ50にログインすると、処理ID216を含むステータス要求308を仲介サーバ50に送信する。
仲介サーバ50(即ちCPU72)は、携帯端末150からステータス要求308を受信すると、メモリ74から、ステータス要求308に含まれる処理ID216に関連付けられているステータス情報を取得する。そして、仲介サーバ50は、取得済みのステータス情報を含むステータス通知310を携帯端末150に送信する。
携帯端末150のCPU162は、仲介サーバ50からステータス通知310を受信する。この結果、携帯端末150でステータス画面SC3が表示される(図8参照)。ステータス画面SC3は、ステータス通知310に含まれるステータス情報によって示される「アップロード準備」というメッセージを含む。これにより、ユーザは、現在のステータスがスキャンデータのアップロードの準備中であることを知ることができる。
次いで、図6に示されるように、仲介サーバ50は、アカウント情報AC2を含むログイン要求314を保存サーバ100に送信して(図5のS90)、保存サーバ100からログイン成功通知316を受信する(S92でYES)。即ち、仲介サーバ50がアカウント情報AC2に従って保存サーバ100にログインしている状態になる。そして、仲介サーバ50は、ステータス情報を「アップロード準備」から「アップロード中」に変更する(S94)。次いで、仲介サーバ50は、スキャンデータ300を保存サーバ100に送信する(S98)。
保存サーバ100は、仲介サーバ50からスキャンデータを受信すると、アカウント情報AC2に対応する場所にスキャンデータ300を保存する。これにより、スキャンデータ300が保存サーバ100にアップロードされる。保存サーバ100は、スキャンデータ300を保存すると、アップロード成功通知318を仲介サーバ50に送信する。
仲介サーバ50は、保存サーバ100からアップロード成功通知318を受信すると(S100でYES)、ステータス情報を「アップロード中」から「アップロード成功」に変更する(S102)。
携帯端末150のCPU162は、ステータス要求308の場合と同様に、ユーザの指示に従って、処理ID216を含むステータス要求320を仲介サーバ50に送信して、仲介サーバ50からステータス通知322を受信する。この結果、携帯端末150でステータス画面SC4が表示される(図8参照)。ステータス画面SC4は、ステータス通知322に含まれるステータス情報によって示される「アップロード成功」というメッセージを含む。これにより、ユーザは、保存サーバ100へのスキャンデータのアップロードが成功したことを知ることができる。
(原稿の詰まりが発生するケース;図7)
図7を参照して、原稿の詰まりが発生するケースを説明する。本ケースも、図2の続きのシーケンスであり、図3〜図5の各処理によって実現される。
スキャナ10では、原稿のスキャンが実行される過程で、原稿の詰まりが発生する。この場合、スキャナ10は、トークン214及びエラー通知402を仲介サーバ50に送信する(図3のS32)。
仲介サーバ50は、スキャナ10からエラー通知402を受信すると、ステータス情報を「スキャン準備」から「原稿の詰まり」に変更する(S72)。
携帯端末150及び仲介サーバ50の間で実行される各情報404,406,408,410の通信は、図6の各情報304,306,308,310の通信と同様である。ただし、本ケースでは、ステータス通知410は、「原稿の詰まり」を示すステータス情報を含む。
携帯端末150は、仲介サーバ50からステータス通知410を受信する。この結果、携帯端末150でステータス画面SC5が表示される(図8参照)。ステータス画面SC5は、ステータス通知410に含まれるステータス情報によって示される「原稿の詰まり」を示すメッセージを含む。これにより、ユーザは、スキャナ10で原稿の詰まりが発生していることを知ることができ、原稿の詰まりを解消するための処置を実行することができる。
スキャナ10は、原稿の詰まりが解消すると(図3のS36でYES)、原稿のスキャンを実行して、トークン214及びスキャンデータ300を仲介サーバ50に送信する(S14)。この後の各処理は、図6のケースと同様である。
(実施例の効果)
本実施例によると、図2に示されるように、スキャナ10は、ユーザが携帯端末150をスキャナ10に近づけるための1回の操作を実行すれば(即ちいわゆるワンタッチの操作を実行すれば)、1回のNFC通信を利用して、携帯端末150から2個のアカウント情報AC1,AC2の双方を受信することができる。従って、2個のアカウント情報AC1,AC2の通信のために、ユーザが携帯端末150をスキャナ10に近づけるための操作を2回に亘って実行しなければならない構成と比べて、ユーザの利便性が向上する。
スキャナ10は、携帯端末150からアカウント情報AC1を受信するので、アカウント情報AC1を利用して仲介サーバ50にログインすることができる。その後、スキャナ10は、仲介サーバ50からスキャン指示220を受信する。この場合、図6に示されるように、スキャナ10は、スキャンデータ300を生成し、トークン214及びスキャンデータ300を仲介サーバ50に送信する。
また、図2に示されるように、スキャナ10は、携帯端末150からアカウント情報AC2を受信するので、アカウント情報AC2を仲介サーバ50に送信することができる。ここで、スキャナ10は、アカウント情報AC2及び処理ID216が関連付けられた状態で、アカウント情報AC2及び処理ID216を仲介サーバ50に送信する。この結果、仲介サーバ50は、処理ID216に含まれるトークン214を介して、アカウント情報AC1及びアカウント情報AC2を関連付けることができる。
図6に示されるように、仲介サーバ50は、アカウント情報AC2を利用して、保存サーバ100にログインすることができる。また、仲介サーバ50は、アカウント情報AC1及びアカウント情報AC2を関連付けることができるので、アカウント情報AC1に従ったログイン状態を有するスキャナ10から受信されたスキャンデータ300を、アカウント情報AC2に従ったログイン状態を利用して、保存サーバ100に送信することができる。この結果、保存サーバ100は、アカウント情報AC2に対応する場所にスキャンデータ300を保存(即ちアップロード)することができる。
上述したように、本実施例によると、ユーザは、携帯端末150を利用して、スキャナ10によって生成されるスキャンデータ300を、仲介サーバ50を介して、保存サーバ100に容易に保存(即ちアップロード)させることができる。
また、本実施例では、携帯端末150とは異なる携帯端末が利用される場合でも、携帯端末150の場合と同様に、スキャンデータを保存サーバ100にアップロードさせることができる。即ち、仲介サーバ50は、各ユーザが各携帯端末をスキャナ10に近づける場合に、各ユーザに対応する各アカウント情報に対応する各場所(即ち異なる場所)に、スキャンデータをアップロードすることができる。本実施例によると、各携帯端末の各ユーザは、同じスキャナ10を利用して、各ユーザの各アカウント情報に対応する各場所に、スキャンデータをアップロードさせることができる。
特に、本実施例によると、図6に示されるように、スキャナ10から仲介サーバ50へのスキャンデータ300の送信が終了すると、スキャナ10と仲介サーバ50との間のXMPP接続、即ち、アカウント情報AC1に従ったXMPP接続が、自動的に切断される(図3のS18、図4のS58参照)。仮に、スキャンデータ300の送信が終了しても、当該XMPP接続が維持される構成を採用すると、他の携帯端末のユーザは、スキャンデータのアップロードを実行することを望む場合に、当該XMPP接続を切断させなければならない。例えば、他の携帯端末のユーザは、スキャナ10の電源をOFFしたり、スキャナ10に操作部12に所定の操作を実行したりして、XMPP接続を切断させなければならない。これに対し、本実施例によると、スキャンデータ300の送信が終了すると、XMPP接続が自動的に切断されるので、他の携帯端末のユーザは、当該XMPP接続を切断させるための操作を実行せずに済む。このために、ユーザの利便性が向上する。
(対応関係)
仲介サーバ50、保存サーバ100が、それぞれ、「第1のサーバ」、「第2のサーバ」の一例である。トークン214が、「第1のデータ」の一例である。処理ID216が、「第2のデータ」及び「処理識別情報」の一例である。NFCI/F16、ネットワークI/F22が、それぞれ、「第1のインターフェース」、「第2のインターフェース」の一例である。
スキャナ10によって実行される各処理は、以下の対応関係を有する。図2において、携帯端末150からNFC情報208を受信する処理、ログイン要求210を仲介サーバ50に送信する処理、仲介サーバ50からログイン成功通知212を受信する処理、処理ID216を生成する処理、仲介サーバ50からスキャン指示220を受信する処理、アカウント情報AC2及び処理ID216を仲介サーバ50に送信する処理が、それぞれ、「アカウント情報受信部(第1のアカウント情報受信部)」、「ログイン部」、「データ受信部」、「生成部」、「指示受信部」、「アカウント情報送信部」によって実行される処理の一例である。また、スキャン受付通知218を携帯端末150に送信する処理、及び、処理ID216を仲介サーバ50に送信する処理が、「識別情報送信部」によって実行される処理の一例である。図3のS10の処理、S14の処理が、それぞれ、「スキャン制御部」、「スキャンデータ送信部(第1のスキャンデータ送信部)」によって実行される処理の一例である。
仲介サーバ50によって実行される各処理は、以下の対応関係を有する。図2において、スキャナ10からログイン要求210を受信してログイン成功通知212をスキャナ10に送信する処理、スキャン指示220をスキャナ10に送信する処理、スキャナ10からアカウント情報AC2を受信する処理が、それぞれ、「ログイン制御部」、「指示送信部」、「第2のアカウント情報受信部」によって実行される処理の一例である。図4において、S50でスキャナ10からスキャンデータを受信する処理が、「スキャンデータ受信部」によって実行される処理の一例である。図5において、S90及びS98の処理が、「第2のスキャンデータ送信部」によって実行される処理の一例である。また、図6において、ステータス通知310を携帯端末150に送信する処理が、「状況情報送信部」によって実行される処理の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)上記の実施例では、図2に示されるように、スキャナ10は、NFC通信を利用しているが、これに代えて、赤外線通信、Transfer Jet等のNFCとは異なる規格に従った近距離無線通信を利用してもよい。本変形例でも、スキャナ10は、携帯端末150をスキャナ10に近づけるための1回の操作に応じた1回の無線通信を利用して、携帯端末150から2個のアカウント情報AC1,AC2の双方を受信することができる。本変形例では、赤外線、Transfer Jet等の無線通信が、「1回の無線通信」の一例である。
(変形例2)上記の実施例では、図2に示されるように、スキャナ10は、仲介サーバ50からスキャン指示220を受信する前に、アカウント情報AC2を仲介サーバ50に送信する。これに代えて、スキャナ10は、仲介サーバ50からスキャン指示220を受信した後に、アカウント情報AC2を仲介サーバ50に送信してもよい。例えば、スキャナ10は、原稿のスキャンが終了した後(即ち図3のS12でYESの後)であって、スキャンデータ300を仲介サーバ50に送信する前(即ち図3のS14の前)に、アカウント情報AC2を仲介サーバ50に送信してもよい。また、例えば、スキャナ10は、スキャンデータ300を仲介サーバ50に送信した後(即ち図3のS14の後)であって、XMPP接続を切断する前(即ち図3のS18の前)に、アカウント情報AC2を仲介サーバ50に送信してもよい。一般的に言うと、アカウント情報送信部は、第1のサーバからスキャン指示が受信される前に、第2のアカウント情報を第1のサーバに送信してもよいし、第1のサーバからスキャン指示が受信された後に、第2のアカウント情報を第1のサーバに送信してもよい。
(変形例3)上記の実施例では、図2に示されるように、スキャナ10は、処理ID216及びアカウント情報AC2が関連付けられた状態で、処理ID216及びアカウント情報AC2を仲介サーバ50に送信する(即ち、処理ID216及びアカウント情報AC2を同時的に送信する)。この結果、仲介サーバ50は、処理ID216に含まれるトークン214を介して、アカウント情報AC1及びアカウント情報AC2を関連付けることができる。これに代えて、以下の(1)〜(3)のいずれの手法が採用されてもよい。
(1)スキャナ10は、処理ID216を生成せずに、トークン214及びアカウント情報AC2が関連付けられた状態で、トークン214及びアカウント情報AC2を仲介サーバ50に送信してもよい。本変形例でも、仲介サーバ50は、トークン214を介して、2個のアカウント情報AC1,AC2を関連付けることができる。本変形例では、トークン214が「第1のデータ」及び「第2のデータ」の一例であり、「第1のデータ」及び「第2のデータ」が一致する。
(2)仲介サーバ50は、トークン214を生成した後に、さらに、トークン214を利用せずにユニークなIDを生成し、当該ID及びアカウント情報AC1を関連付けて記憶してもよい。そして、仲介サーバ50は、トークン214と上記のIDとを含むログイン成功通知212をスキャナ10に送信してもよい。スキャナ10は、上記のID及びアカウント情報AC2が関連付けられた状態で、上記のID及びアカウント情報AC2を仲介サーバ50に送信してもよい。本変形例では、仲介サーバ50は、上記のIDを介して、2個のアカウント情報AC1,AC2を関連付けることができる。本変形例では、上記のIDが「第1のデータ」及び「第2のデータ」の一例であり、「第1のデータ」及び「第2のデータ」が一致する。
(3)上記の実施例及び上記の変形例(1)、(2)では、スキャナ10は、アカウント情報AC2と共に、2個のアカウント情報AC1,AC2の関連付けのための何らかのデータ(例えば、処理ID216、トークン214、ID)を、仲介サーバ50に送信する。これに代えて、スキャナ10は、アカウント情報AC2と共にデータを送信しなくてもよく、XMPP接続を利用して、アカウント情報AC2を仲介サーバ50に送信してもよい。上記の実施例でも説明したように、仲介サーバ50では、XMPP接続を識別するための接続ID及びアカウント情報AC1が関連付けられている。従って、仲介サーバ50は、アカウント情報AC2の受信に利用されたXMPP接続の接続IDを介して、2個のアカウント情報AC1,AC2を関連付けることができる。本変形例も、「第1のアカウント情報と第2のアカウント情報とが第1のサーバで関連付けられる状態で、第2のアカウント情報を第1のサーバに送信する」という構成の一例である。
(変形例4)上記の実施例では、図6に示されるように、仲介サーバ50は、スキャナ10からスキャンデータ300を受信した後に、アカウント情報AC2を利用して保存サーバ100にログインする。これに代えて、仲介サーバ50は、スキャン指示220(図2)をスキャナ10に送信する前に、アカウント情報AC2を利用して保存サーバ100へのログインを試行してもよい。そして、仲介サーバ50は、ログインが成功する場合に、スキャン指示220をスキャナ10に送信し、ログインが成功しない場合に、スキャン指示220をスキャナ10に送信しなくてもよい。本変形例によると、スキャナ10は、保存サーバ100にログインすることができないことに起因して、アップロードすることができない場合に、スキャンデータを生成せずに済む。
(変形例5)「スキャナ」は、スキャン実行部を備えるあらゆるデバイス(例えば、スキャン機能及び印刷機能を含む多機能を実行可能な多機能機、FAX装置等)を含む。例えば、送信側のFAX装置(即ち「スキャナ」の一例)は、仲介サーバ50を介してFAXデータ(即ち「スキャンデータ」の一例)を保存サーバ100にアップロードさせることによって、FAX送信を実行してもよい。これにより、受信側のFAX装置は、仲介サーバ50からFAXデータを受信することによって、FAX受信を実行することができる。
(変形例6)上記の各実施例では、スキャナ10及び仲介サーバ50のCPU32,72がメモリ34,74内のプログラム(即ちソフトウェア)を実行することによって、図2〜図7の各処理が実現される。これに代えて、各処理のうちの少なくとも1つは、論理回路等のハードウェアによって実現されてもよい。
2:通信システム、10:スキャナ、12:操作部、14:表示部、16:NFCI/F、20:スキャン実行部、22:ネットワークI/F、30:制御部、32:CPU、34:メモリ、50:仲介サーバ、60:ネットワークI/F、70:制御部、72:CPU、74:メモリ、100:保存サーバ、150:携帯端末、156:NFCI/F

Claims (10)

  1. スキャナであって、
    スキャン実行部と、
    第1のサーバにログインするための第1のアカウント情報と、第2のサーバにログインするための第2のアカウント情報と、の双方を、ユーザによって実行される1回の操作に応じた1回の無線通信を利用して、前記携帯端末から受信するアカウント情報受信部であって、前記第1のサーバは、前記スキャナから前記第2のサーバへのスキャンデータの送信を仲介し、前記第2のサーバは、前記スキャンデータを保存する、前記アカウント情報受信部と、
    前記第1のアカウント情報を利用して前記第1のサーバにログインするログイン部と、
    前記第1のサーバへの前記ログインの後に、前記第1のサーバからスキャン指示を受信する指示受信部と、
    前記第1のサーバから前記スキャン指示が受信される場合に、原稿のスキャンを前記スキャン実行部に実行させて、特定のスキャンデータを生成するスキャン制御部と、
    前記特定のスキャンデータを前記第1のサーバに送信するスキャンデータ送信部と、
    前記第1のアカウント情報と前記第2のアカウント情報とが前記第1のサーバで関連付けられる状態で、前記第2のアカウント情報を前記第1のサーバに送信するアカウント情報送信部であって、この結果、前記第1のサーバは、前記第2のアカウント情報を利用して前記第2のサーバにログインして、前記特定のスキャンデータを前記第2のサーバに送信する、前記アカウント情報送信部と、
    を備える、スキャナ。
  2. 前記アカウント情報送信部は、前記第1のサーバから前記スキャン指示が受信される前に、前記第2のアカウント情報を前記第1のサーバに送信する、請求項1に記載のスキャナ。
  3. 前記スキャナは、さらに、
    前記第1のサーバから、前記第1のサーバで前記第1のアカウント情報に関連付けられた第1のデータを受信するデータ受信部を備え、
    前記アカウント情報送信部は、前記第1のデータに基づく第2のデータと、前記第2のアカウント情報と、を関連付けて、前記第1のサーバに送信する、請求項1又は2に記載のスキャナ。
  4. 前記スキャナは、さらに、
    前記スキャン指示に基づいて実行されるべき処理を識別するための処理識別情報を生成する生成部と、
    前記処理識別情報を、前記携帯端末と、前記第1のサーバと、に送信する識別情報送信部と、
    を備える、請求項1又は2に記載のスキャナ。
  5. 前記識別情報送信部は、前記1回の無線通信を利用して、前記処理識別情報を前記携帯端末に送信する、請求項4に記載のスキャナ。
  6. 前記1回の無線通信は、NFC(Near Field Communicationの略)規格に従った無線通信である、請求項1から5のいずれか一項に記載のスキャナ。
  7. 前記スキャナは、さらに、
    無線通信を実行するための第1のインターフェースを備え、
    前記ユーザによって実行される前記1回の操作は、前記第1のインターフェースと前記携帯端末との間の距離であるデバイス間距離が、特定の距離以下になるように、前記携帯端末を前記スキャナに近づける操作であり、
    前記1回の無線通信は、前記ユーザによって実行される前記1回の操作に起因して、前記デバイス間距離が前記特定の距離より大きい第1の状態から前記特定の距離以下である第2の状態に移行する第1のタイミングと、前記第2の状態から前記第1の状態に戻る第2のタイミングと、の間の期間に実行される無線通信であり、
    前記アカウント情報受信部は、前記第1のインターフェースを介した前記1回の無線通信を利用して、前記携帯端末から前記第1のアカウント情報と第2のアカウント情報との双方を受信する、請求項1から6のいずれか一項に記載のスキャナ。
  8. 前記スキャナは、さらに、
    前記第1のインターフェースとは異なる第2のインターフェースを備え、
    前記ログイン部は、前記第2のインターフェースを介して、前記第1のアカウント情報を利用して前記第1のサーバにログインし、
    前記指示受信部は、前記第2のインターフェースを介して、前記第1のサーバから前記スキャン指示を受信し、
    前記スキャンデータ送信部は、前記第2のインターフェースを介して、前記特定のスキャンデータを前記第1のサーバに送信し、
    前記アカウント情報送信部は、前記第2のインターフェースを介して、前記第2のアカウント情報を前記第1のサーバに送信する、請求項7に記載のスキャナ。
  9. 通信システムであって、
    スキャナと、
    前記スキャナから第2のサーバへのスキャンデータの送信を仲介する第1のサーバであって、前記第2のサーバは前記スキャンデータを保存する、前記第1のサーバと、を備え、
    前記スキャナは、
    スキャン実行部と、
    前記第1のサーバにログインするための第1のアカウント情報と、前記第2のサーバにログインするための第2のアカウント情報と、の双方を、ユーザによって実行される1回の操作に応じた1回の無線通信を利用して、前記携帯端末から受信する第1のアカウント情報受信部と、
    前記第1のアカウント情報を含むログイン要求を前記第1のサーバに送信して、前記第1のサーバにログインするログイン部と、
    前記第1のサーバへの前記ログインの後に、前記第1のサーバからスキャン指示を受信する指示受信部と、
    前記第1のサーバから前記スキャン指示が受信される場合に、原稿のスキャンを前記スキャン実行部に実行させて、特定のスキャンデータを生成するスキャン制御部と、
    前記特定のスキャンデータを前記第1のサーバに送信する第1のスキャンデータ送信部と、
    前記第1のアカウント情報と前記第2のアカウント情報とが前記第1のサーバで関連付けられる状態で、前記第2のアカウント情報を前記第1のサーバに送信するアカウント情報送信部と、を備え、
    前記第1のサーバは、
    前記スキャナから前記第1のアカウント情報を含む前記ログイン要求を受信して、前記スキャナの前記第1のサーバへの前記ログインを許容するログイン制御部と、
    前記スキャナの前記第1のサーバへの前記ログインの後に、前記スキャン指示を前記スキャナに送信する指示送信部と、
    前記スキャナから前記特定のスキャンデータを受信するスキャンデータ受信部と、
    前記第1のアカウント情報と前記第2のアカウント情報とが関連付けられる状態で、前記スキャナから前記第2のアカウント情報を受信する第2のアカウント情報受信部と、
    前記第2のアカウント情報を利用して前記第2のサーバにログインして、前記特定のスキャンデータを前記第2のサーバに送信する第2のスキャンデータ送信部と、を備える、通信システム。
  10. 前記スキャナは、さらに、
    前記スキャン指示に基づいて実行されるべき処理を識別するための処理識別情報を生成する生成部と、
    前記処理識別情報を、前記携帯端末と、前記第1のサーバと、に送信する識別情報送信部と、を備え、
    前記第1のサーバは、さらに、
    前記携帯端末から前記処理識別情報が受信される場合に、前記処理識別情報によって識別される前記処理の状況を示す状況情報を前記携帯端末に送信する状況情報送信部を備える、請求項9に記載の通信システム。
JP2013073560A 2013-03-29 2013-03-29 スキャナ及び通信システム Active JP6083297B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013073560A JP6083297B2 (ja) 2013-03-29 2013-03-29 スキャナ及び通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013073560A JP6083297B2 (ja) 2013-03-29 2013-03-29 スキャナ及び通信システム

Publications (2)

Publication Number Publication Date
JP2014197820A true JP2014197820A (ja) 2014-10-16
JP6083297B2 JP6083297B2 (ja) 2017-02-22

Family

ID=52358334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013073560A Active JP6083297B2 (ja) 2013-03-29 2013-03-29 スキャナ及び通信システム

Country Status (1)

Country Link
JP (1) JP6083297B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143163A (ja) * 2015-01-30 2016-08-08 株式会社Pfu 画像データ処理サーバー、システム、方法およびプログラム
CN105933571A (zh) * 2015-02-27 2016-09-07 兄弟工业株式会社 执行无线近场通信的通信系统
CN105933570A (zh) * 2015-02-27 2016-09-07 株式会社Pfu 图像数据处理服务器、系统以及方法
US10498922B2 (en) 2015-02-27 2019-12-03 Brother Kogyo Kabushiki Kaisha Communication system for performing wireless near field communication in which image processing apparatus transmits connection destination information to portable terminal
JP2020088683A (ja) * 2018-11-20 2020-06-04 キヤノン株式会社 送信装置、送信装置の制御方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168982A (ja) * 2010-09-01 2012-09-06 Canon Marketing Japan Inc 文書管理システム、画像処理装置、情報処理装置、文書管理方法、制御方法およびプログラム。

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168982A (ja) * 2010-09-01 2012-09-06 Canon Marketing Japan Inc 文書管理システム、画像処理装置、情報処理装置、文書管理方法、制御方法およびプログラム。

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143163A (ja) * 2015-01-30 2016-08-08 株式会社Pfu 画像データ処理サーバー、システム、方法およびプログラム
CN105847618A (zh) * 2015-01-30 2016-08-10 株式会社Pfu 图像数据处理服务器、系统以及方法
US9602695B2 (en) 2015-01-30 2017-03-21 Pfu Limited Image type based data transmission
CN105933571A (zh) * 2015-02-27 2016-09-07 兄弟工业株式会社 执行无线近场通信的通信系统
CN105933570A (zh) * 2015-02-27 2016-09-07 株式会社Pfu 图像数据处理服务器、系统以及方法
US10447891B2 (en) 2015-02-27 2019-10-15 Pfu Limited Image data processing server for storing device image data and for authenticating user authorized services
US10498922B2 (en) 2015-02-27 2019-12-03 Brother Kogyo Kabushiki Kaisha Communication system for performing wireless near field communication in which image processing apparatus transmits connection destination information to portable terminal
CN105933571B (zh) * 2015-02-27 2020-08-07 兄弟工业株式会社 执行无线近场通信的通信系统
JP2020088683A (ja) * 2018-11-20 2020-06-04 キヤノン株式会社 送信装置、送信装置の制御方法及びプログラム
JP7224873B2 (ja) 2018-11-20 2023-02-20 キヤノン株式会社 送信装置、送信装置の制御方法及びプログラム

Also Published As

Publication number Publication date
JP6083297B2 (ja) 2017-02-22

Similar Documents

Publication Publication Date Title
JP5231620B2 (ja) サーバ装置
JP5803949B2 (ja) 画像処理装置、情報処理端末およびプログラム
US11316997B2 (en) Image processing apparatus, control method thereof, and storage medium
JP6083297B2 (ja) スキャナ及び通信システム
JP5954127B2 (ja) 制御サーバ、データ処理装置、及び、データ処理装置のための制御装置
US20140063562A1 (en) Electronic apparatus, message server and method of controlling scanning
US11412094B2 (en) Image processing apparatus for determining an object intended for a particular talk room
US9374357B2 (en) Information processing device, and method and computer-readable medium therefor for the input and storage of authentication information
US11204726B2 (en) Image processing apparatus, control method for image processing apparatus, and storage medium
JP6083296B2 (ja) 制御サーバ、通信システム、及び、携帯端末のためのコンピュータプログラム
US20110292426A1 (en) Communication apparatus and communication method
US20110296174A1 (en) Communication apparatus and communication method
KR20190038190A (ko) 클라우드 서버를 이용하여 팩스 문서를 송신하는 화상 형성 장치 및 이를 지원하는 클라우드 서버
JP2014215778A (ja) 画面共有端末、画面共有方法、及び、画面共有端末用プログラム
JP6288167B2 (ja) 制御サーバ、データ処理装置、及び、データ処理装置のための制御装置
US9294632B2 (en) Mobile terminal and computer-readable recording medium for a mobile terminal using near field wireless communication to transmit a scan command to a scanning device
US11354073B2 (en) Information processing apparatus, storage medium, and control method
US20210337081A1 (en) Processing facsimile in cloud server
JP5625657B2 (ja) 電子メール通信装置
JP2004334427A (ja) 通信装置
JP2022147023A (ja) 受信データ管理システム、送信データ管理システム、通信管理装置、通信管理方法及びプログラム
JP2005209075A (ja) 通信端末装置
JP2014167768A (ja) 通信装置
JP2019091481A (ja) 特定のサーバ及び通信装置
JP2005216222A (ja) メール送受信方法及びメール送受信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161214

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: 20161227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170109

R150 Certificate of patent or registration of utility model

Ref document number: 6083297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150