(57)【要約】【課題】アプリケーションへの画像取り込みを任意のスキャナ装置からのプッシュスキャン方式で行う。【解決手段】スキャンシステムは、スキャン設定に基づいてスキャンチケットを生成するチケット生成部と、スキャンチケットをサーバ装置に送信するチケット送信部とを有する情報処理装置と、情報処理装置から受信したスキャンチケットをリストで管理するリスト管理部と、画像処理装置からのリスト要求に応じてリストを画像処理装置に送信するリスト送信部と、画像処理装置から受信した画像を情報処理装置に送信する第１の画像送信部とを有するサーバ装置と、サーバ装置に対してリストを要求するリスト要求部と、前記リストから選択されたスキャンチケットに基づいてスキャンを実行し画像を生成するスキャン実行部と、生成された画像をサーバ装置に送信する第２の画像送信部とを有する画像処理装置を有する。【選択図】図６
2018037804.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と、サーバ装置と、スキャン機能を有する画像処理装置を含むスキャンシステムであって、
前記情報処理装置は、
スキャン設定に基づいてスキャンチケットを生成するチケット生成部と、
前記スキャンチケットを、前記サーバ装置に送信するチケット送信部と、を有し、
前記サーバ装置は、
前記情報処理装置から受信した前記スキャンチケットをリストで管理するリスト管理部と、
前記画像処理装置からのリスト要求に応じて、前記リストを前記画像処理装置に送信するリスト送信部と、
前記画像処理装置から受信した画像を、前記情報処理装置に送信する第１の画像送信部と、を有し、
前記画像処理装置は、
前記サーバ装置に対して、前記リストを要求するリスト要求部と、
前記リストから選択された前記スキャンチケットに基づいてスキャンを実行し、画像を生成するスキャン実行部と、
前記スキャン実行部において生成された前記画像を、前記サーバ装置に送信する第２の画像送信部と、を有する
ことを特徴とするスキャンシステム。
【請求項２】
前記スキャンチケットは、前記スキャン設定、ユーザＩＤ、スキャンチケットＩＤを含むデータであり、
前記スキャン設定は、原稿サイズ、解像度、カラーモード、画像読み取り部のうち少なくとも１つを含むことを特徴とする請求項１に記載のスキャンシステム。
【請求項３】
前記リストは、前記スキャンチケットの前記ユーザＩＤごとに作成されることを特徴とする請求項２に記載のスキャンシステム。
【請求項４】
前記リスト管理部は、前記情報処理装置から受信した前記スキャンチケットからユーザＩＤを取得し、前記ユーザＩＤのリストが存在する場合には、該リストに前記スキャンチケットを登録し、前記ユーザＩＤのリストが存在しない場合には、リストを作成し、作成したリストに前記スキャンチケットを登録することを特徴とする請求項３に記載のスキャンシステム。
【請求項５】
前記リスト要求部からの前記要求には、ユーザＩＤが含まれ、
前記リスト送信部は、前記画像処理装置からのリストの要求に含まれるユーザＩＤに対応するリストが存在する場合には、該リストを送信し、前記画像処理装置からのリスト要求に含まれるユーザＩＤに対応するリストが存在しない場合には、空のリストを送信することを特徴とする請求項１乃至４のうちいずれか１項に記載のスキャンシステム。
【請求項６】
前記情報処理装置は、前記スキャンチケットを受信したコネクションに対応したコネクションＩＤを前記スキャンチケットに追加するコネクション管理部を有し、
前記第２の画像送信部は、前記画像と共に、前記画像の生成に使用した前記スキャンチケットのスキャンチケットＩＤをサーバ装置に送信し、
前記第１の画像送信部は、前記スキャンチケットＩＤに対応する前記スキャンチケットを前記リストから取得し、取得した前記スキャンチケットに含まれる前記コネクションＩＤに対応する前記コネクションを介して前記情報処理装置に前記画像を送信することを特徴とする請求項１乃至５のうちいずれか１項に記載のスキャンシステム。
【請求項７】
前記リスト管理部は、前記画像の送信が完了すると、前記画像の生成に使用した前記スキャンチケットを前記リストから削除することを特徴とする請求項１乃至６のうちいずれか１項に記載のスキャンシステム。
【請求項８】
前記情報処理装置は、アプリケーションとスキャナドライバを備え、
前記スキャナドライバは、前記チケット生成部および前記チケット送信部を有し、
前記チケット生成部は、前記アプリケーションからのスキャン要求を受け、前記スキャンチケットを生成することを特徴とする請求項１乃至７のうちいずれか１項に記載のスキャンシステム。
【請求項９】
前記情報処理装置の前記スキャナドライバは、前記サーバ装置から前記画像を受信し、受信した前記画像を前記アプリケーションに出力する画像出力部を備えることを特徴とする請求項８に記載のスキャンシステム。
【請求項１０】
前記スキャナドライバは、ＴＷＡＩＮドライバであることを特徴とする請求項８または請求項９に記載のスキャンシステム。
【請求項１１】
前記サーバ装置から受信した前記リストを表示させる表示部をさらに有し、
前記表示部は、前記リストのうち、前記画像処理装置が実施可能なスキャンチケットのみを表示させ、
前記スキャン実行部は、前記表示部に表示されたスキャンチケットから、前記スキャンを実行するためのスキャンチケットを選択することを特徴とする請求項１乃至１０のうちいずれか１項に記載のスキャンシステム。
【請求項１２】
前記情報処理装置は、スキャン設定を行う設定画面を表示させる画面表示部を有し、
前記画面表示部は、スキャンシステム内の全ての画像処理装置のスキャン能力を取得し、前記設定画面における前記スキャン設定の選択肢を、取得した前記スキャン能力に基づいて決定することを特徴とする請求項１乃至１０のうちいずれか１項に記載のスキャンシステム。
【請求項１３】
前記画面表示部は、現在のスキャン設定でスキャンを実施可能な画像処理装置を表示させることを特徴とする請求項１２に記載のスキャンシステム。
【請求項１４】
情報処理装置と、サーバ装置と、スキャン機能を有する画像処理装置を含むスキャンシステムの制御方法であって、
前記情報処理装置において、スキャン設定に基づいてスキャンチケットを生成するチケット生成工程と、
前記情報処理装置において、前記スキャンチケットを、前記サーバ装置に送信するチケット送信工程と、
前記サーバ装置において、前記情報処理装置から受信した前記スキャンチケットをリストで管理するリスト管理工程と、
前記画像処理装置において、前記サーバ装置に対して、前記リストを要求するリスト要求工程と、
前記サーバ装置において、前記画像処理装置からのリスト要求に応じて、前記リストを前記画像処理装置に送信するリスト送信工程と、
前記画像処理装置において、前記サーバ装置から受信した前記リストから選択された前記スキャンチケットに基づいてスキャンを実行し、画像を生成するスキャン実行工程と、
前記画像処理装置において、前記スキャン実行工程において生成された前記画像を、前記サーバ装置に送信する第１の画像送信工程と、
前記サーバ装置において、前記画像処理装置から受信した画像を、前記情報処理装置に送信する第２の画像送信工程と、を有する
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンシステム及びその制御方法に関する。
【背景技術】
【０００２】
従来、コンピュータにおいてスキャナ装置などの画像読み取り装置を操作するために、スキャナドライバと呼ばれるソフトウェアが用いられている。中でも、ＴＷＡＩＮと呼ばれる共通インタフェースを持つスキャナドライバは、ＴＷＡＩＮドライバと呼ばれている。アプリケーションは、ＴＷＡＩＮドライバの持つ統一したインタフェースを呼び出すことで、スキャナ装置によらずに統一した方法でスキャナ装置からの画像を取り込むことができる。このように、コンピュータからスキャナ装置にスキャン指示を行う方式を「プルスキャン」と呼ぶ。ＴＷＡＩＮは、コンピュータとスキャナ装置を１対１の関係で使用する事を前提としたインタフェースである。そのため、複数のスキャナ装置がある環境において、ユーザはスキャン指示を行う前に自分が使用するスキャナ装置を特定する必要がある。ユーザがスキャン指示を行った後にそのスキャナ装置が使用中であることが判明した場合、ユーザは別のスキャナ装置に変更するためにスキャン指示を再度行う必要がある。
一方、コンピュータからスキャン指示を行う「プルスキャン」に対して、スキャナ装置からスキャン指示を行うことを「プッシュスキャン」と呼ぶ。一般的に、ユーザはプッシュスキャンによって、任意のスキャナ装置を使用する事ができる。特許文献１は、スキャンチケットをサーバで作成し、スキャナ装置がサーバからスキャンチケットを取得して処理することで、任意のスキャナ装置を用いたプッシュスキャンを可能にする技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１２０１１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＴＷＡＩＮは、コンピュータとスキャナ装置を１対１の関係で使用する事を前提としたインタフェースである。そのため、特許文献１の方法では、ＴＷＡＩＮドライバを使用したアプリケーションには対応できず、ＴＷＡＩＮドライバを使用したアプリケーションへの画像取り込みを、任意のスキャナ装置からのプッシュスキャン方式で行う事ができない。
【０００５】
本発明は、アプリケーションへの画像取り込みを任意のスキャナ装置からのプッシュスキャン方式で行うことが可能なシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のスキャナシステムは、情報処理装置と、サーバ装置と、スキャン機能を有する画像処理装置を含むシステムであって、前記情報処理装置は、スキャン設定に基づいてスキャンチケットを生成するチケット生成部と、前記スキャンチケットを、前記サーバ装置に送信するチケット送信部と、を有し、前記サーバ装置は、前記情報処理装置から受信した前記スキャンチケットをリストで管理するリスト管理部と、前記画像処理装置からのリスト要求に応じて、前記リストを前記画像処理装置に送信するリスト送信部と、前記画像処理装置から受信した画像を、前記情報処理装置に送信する第１の画像送信部と、を有し、前記画像処理装置は、前記サーバ装置に対して、前記リストを要求するリスト要求部と、前記リストから選択された前記スキャンチケットに基づいてスキャンを実行し、画像を生成するスキャン実行部と、前記スキャン実行部において生成された前記画像を、前記サーバ装置に送信する第２の画像送信部と、を有する。
【発明の効果】
【０００７】
本発明によれば、アプリケーションへの画像取り込みを任意のスキャナ装置からのプッシュスキャン方式で行うことが可能なシステムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】スキャンシステムの接続形態を示す図である。
【図２】クライアント、サーバ、複合機の構成を示す図である。
【図３】ＴＷＡＩＮドライバのソフトウェア構成を示す図である。
【図４】スキャンチケット管理サービスのソフトウェア構成を示す図である。
【図５】スキャンチケット処理アプリのソフトウェア構成を示す図である。
【図６】スキャン１回分のユースケースにおけるシーケンスを示す図である。
【図７】スキャンチケット管理サービスの処理の全体を示すフロー図である。
【図８】スキャンチケット登録処理を示すフロー図である。
【図９】スキャンチケットリスト送信処理を示すフロー図である。
【図１０】スキャン画像送信処理を示すフロー図である。
【図１１】ＴＷＡＩＮドライバのＵＩを示す図である。
【図１２】スキャンチケット処理アプリのＵＩを示す図である。
【図１３】スキャン能力、チケットリスト、ＵＩ構成要素を示す図である。
【図１４】実施例２におけるスキャン能力取得時のシーケンスを示す図である。
【図１５】実施例２におけるＴＷＡＩＮドライバのＵＩ構成要素を示す図である。
【図１６】実施例２におけるＴＷＡＩＮドライバのＵＩを示す図である。
【発明を実施するための形態】
【０００９】
（実施例１）
図１は、スキャンシステムの接続形態を示す図である。スキャンシステムは、サーバ４０００、ユーザが使用するコンピュータやタブレットなどの情報処理装置であるクライアント１０００、スキャン機能を備えた画像処理装置を有する複合機Ａ２０００及び複合機Ｂ３０００を有している。本実施例では、それらが全てネットワーク１００に接続されているが、クライアント１０００とサーバ４０００、サーバ４０００と複合機Ａ２０００及び複合機Ｂ３０００が相互に通信可能な環境であれば接続形態は何でもよい。サーバ４０００がクラウド上にあってもよい。また、ここでは複合機が２つ存在する例を挙げているが、それ以上あっても構わない。さらに、サーバ４０００やクライアント１０００が２つ以上あっても実施可能である。
【００１０】
図２は、クライアント１０００、サーバ４０００、複合機Ａ２０００の内部構成をブロック図として示した図である。複合機Ｂ３０００の構成は、複合機Ａ２０００と同等であるため、ここでは説明を割愛する。
まず、クライアント１０００の構成について、図２（Ａ）を用いて説明する。クライアント１０００は、ＣＰＵ１０４１とメモリ１０４２により構成される制御部１０４０が全体を制御している。表示部１０１０は、ディスプレイなどの出力装置、操作部１０２０は、マウスやキーボードなどの入力装置を示す。また、記憶部１０３０にはＯＳ１０３２、各種アプリケーション１０３１、ＴＷＡＩＮドライバ１１００などのソフトウェアが保存されている。それらのプログラムは、必要に応じてメモリ１０４２にロードされ、ＣＰＵ１０４１によって実行される。ＯＳ１０３２は、クライアント１０００の基本動作をつかさどるソフトウェアである。ネットワーク通信部１０５０は、ネットワーク１００に接続して外部装置とのデータの入出力を行う。クライアント１０００の処理は全て、記憶部１０３０に記憶されたソフトウェアを、制御部１０４０におけるメモリ１０４２にロードして、ＣＰＵ１０４１が実行することによって実現される。なお、ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。
【００１１】
次に、サーバ４０００の構成について、図２（Ｂ）を用いて説明する。サーバ４０００は、ＣＰＵ４０４１とメモリ４０４２により構成される制御部４０４０が全体を制御している。表示部４０１０は、ディスプレイなどの出力装置、操作部４０２０は、マウスやキーボードなどの入力装置を示す。また、記憶部４０３０には、ＯＳ４０３２や各種プログラム４０３１が保存されている。これらのソフトウェアは必要に応じてメモリ４０４２にロードされ、ＣＰＵ４０４１によって実行される。ＯＳ４０３２は、サーバ４０００の基本動作をつかさどるソフトウェアである。また、プログラム４０３１のうち、サーバ４０００上に常駐し、常に動作しているプログラムを特にサービスと呼ぶ。ネットワーク通信部４０５０は、ネットワーク１００に接続して外部装置とのデータの入出力を行う。サーバ４０００の処理は全て、記憶部４０３０に記憶されたソフトウェアを制御部４０４０におけるメモリ４０４２にロードして、ＣＰＵ４０４１が実行することによって実現される。
【００１２】
次に、複合機Ａ２０００の構成について、図２（Ｃ）を用いて説明する。複合機Ａ２０００は、ＣＰＵ２０４１とメモリ２０４２により構成される制御部２０４０が全体を制御している。表示部２０１０は、液晶パネルなどの出力装置、操作部２０２０は、タッチパネルや各種ボタンによる入力装置を示す。また、記憶部２０３０には、ＯＳ２０３２やファームウェア２０３１、その上で動作する各種アプリケーション２０３３が保存されている。これらのソフトウェアは、必要に応じてメモリ２０４２にロードされ、ＣＰＵ２０４１によって実行される。ＯＳ２０３２は、複合機Ａ２０００の基本動作をつかさどるソフトウェアである。
【００１３】
ネットワーク通信部２０５０は、ネットワーク１００に接続して外部装置とのデータの入出力を行う。読取部２０７０は、制御部２０４０の指示に従って原稿用紙に描かれた文字や写真などを読み取り、デジタルデータとしてメモリに取り込むスキャナである。具体的には、用紙に光を当てて反射光の強さや光をセンサーで測定し、デジタル化することでスキャン画像を得る。読み取りの方式はＣＣＤやＣＩＳなどがあるが、本実施例ではどのような方式でも構わない。また、読み取りの対象となる原稿は、圧板もしくはＡＤＦと呼ばれる自動紙送り装置に置かれる。複合機Ａ２０００には、不図示の印刷部なども存在するが、本実施例とは直接関係がないため説明は割愛する。複合機Ａ２０００の処理は全て、記憶部２０３０に記憶されたソフトウェアを制御部２０４０におけるメモリ２０４２にロードして、ＣＰＵ２０４１が実行することによって実現される。
【００１４】
図３は、図２（Ａ）で示したＴＷＡＩＮドライバ１１００のソフトウェア構成を示す図である。ＴＷＡＩＮドライバは、ＴＷＡＩＮと呼ばれる共通インタフェースを持つスキャナドライバである。
ＵＩ部１１１０は、ＴＷＡＩＮドライバ１１００のユーザインタフェースを制御する画面表示部である。具体的にはアプリケーション１０３１からＴＷＡＩＮドライバ１１００に対してＵＩ表示を指示されると、ＵＩ部１１１０がＵＩをクライアント１０００の表示部１０１０に対して表示する。ＵＩはユーザがスキャンの設定を指定するためのもので、詳細は後述する。
【００１５】
ＵＩ部１１１０により指定されたスキャン設定は、スキャン設定管理部１１２０が管理する。スキャン設定管理部によりスキャン設定が確定すると、スキャンチケット生成部１１３０がスキャン設定をスキャンチケットと呼ばれるデジタルデータに変換する。また、スキャンチケットには、スキャンの設定を指定したユーザのユーザＩＤも記載される。スキャンチケットは、ＸＭＬ形式であってもよいし、ＴＷＡＩＮドライバ１１００が独自に定めるバイナリ形式であってもよい。
【００１６】
また、ＴＷＡＩＮドライバ１１００には、通信部１１４０があり、クライアント１０００のネットワーク通信部１０５０を介して、ネットワーク１００とのデータ通信を行う。ＴＷＡＩＮドライバ１１００の通信部は、主にスキャンチケット出力部１１５０と画像入出力部１１６０を使用して外部との通信を行う。スキャンチケット出力部１１５０（チケット送信部）は、スキャンチケット生成部１１３０の生成したスキャンチケットを外部に送信する。画像入出力部１１６０（第１の画像送信部）は、複合機など外部から届いたスキャン画像を受信し、アプリケーション１０３１にスキャン画像を送信する。
【００１７】
図４は、図２（Ｂ）で示したプログラム４０３１のうちの１つで、サーバ４０００の上で常駐して動作する、スキャンチケット管理サービス（以下、管理サービスと記す）４１００のソフトウェア構成を示す図である。
管理サービス４１００は、サーバ４０００が起動している間は常に起動しており、クライアント１０００から届くスキャンチケットを待機している。管理サービス４１００は、通信部４１５０を使用して外部のクライアント１０００や複合機Ａ２０００と通信を行う。
【００１８】
クライアント１０００から届いたスキャンチケットは、スキャンチケット入出力部４１６０で受信する。受信したスキャンチケットは、ユーザ管理部４１４０が管理している、ユーザごとに分別されたチケットリスト管理部４１２０によりチケットリスト４１１０に格納される。格納されたチケットリスト４１１０は、スキャンチケット入出力部４１６０から外部の複合機Ａ２０００などに送信される。したがって、スキャンチケット入出力部４１６０は、クライアント１０００からスキャンチケットを受信するチケット受信部としての機能と、複合機にチケットリストを送信するリスト送信部としての機能を有している。
【００１９】
管理サービス４１００は、一方で、複合機Ａ２０００や複合機Ｂ３０００から届いたスキャン画像を画像入出力部４１７０で受信し、該当するクライアント１０００にスキャン画像を送信する。プラグ＆プレイ管理部４１８０は、クライアント１０００から見てサーバ４０００内部の管理サービス４１００があたかも１つの複合機やスキャナであるかのようにプラグ＆プレイのＩＤを制御する。
【００２０】
図５は図２（Ｃ）で示したアプリケーション２０３３のうちの一つで、複合機Ａ２０００の上で動作するスキャンチケット処理アプリ２１００のソフトウェア構成を示す図である。
スキャンチケット処理アプリ２１００は、複合機Ａ２０００の工場出荷時からインストールされていてもよいし、ユーザにより後からインストール可能な形式で構成されていてもよい。スキャンチケット処理アプリ２１００も、ＵＩ部２１２０や通信部２１４０を持っており、複合機Ａ２０００の表示部２０１０にユーザインタフェースを表示し、外部と通信を行う。ユーザ管理部２１１０は、複合機Ａ２０００にログインしようとするユーザの認証を行う。チケットリスト要求部２１７０は、ユーザがスキャンチケットリストを要求する操作を行った場合、通信部２１４０を介してサーバ４０００に対してリスト要求を行う。リスト要求には、ユーザ管理部２１１０から取得した、ログインしたユーザのユーザＩＤが含まれる。
【００２１】
ＵＩ部２１２０（表示部）は、主にスキャンチケット入力部２１５０で入力されたスキャンチケットをリスト表示する。ユーザが、ＵＩ部２１２０の表示したスキャンチケットのうち、自分がこれからスキャンしたいスキャンチケットを選択して「スキャン開始」ボタンを押下することで、スキャンが開始される。スキャン時には、スキャン実行部２１３０が動作して、読取部２０７０からスキャン画像を生成する。生成されたスキャン画像は、画像出力部２１６０（第２の画像送信部）によって外部のサーバ４０００などに送信される。
【００２２】
図６は、スキャン１回分のユースケースにおけるクライアント１０００、サーバ４０００、複合機Ａ２０００のそれぞれのシーケンスを示した図である。なお、管理サービス４１００の行う動作については、図７から図１０を用いて後述するため詳細は割愛する。
初めに、ユーザがクライアント１０００上のアプリケーション１０３１でスキャン指示を行うと、アプリケーション１０３１は、ＴＷＡＩＮドライバ１１００に対してスキャン要求を行う（Ｓ５１００）。
スキャン要求を受信したＴＷＡＩＮドライバ１１００は、スキャンチケットを新たに生成する（Ｓ５１０１）。そして、ＴＷＡＩＮドライバ１１００は、生成したスキャンチケットをサーバ４０００の管理サービス４１００に対して送信する（Ｓ５１０２）。スキャンチケットには、一意の識別子が付与される。その識別子はスキャンチケットＩＤと呼ばれ、スキャンチケットの内部に格納されている。
スキャンチケットを受信した管理サービス４１００は、チケットリスト４１１０にスキャンチケットを格納する（Ｓ５１０３）。
【００２３】
その後、ユーザは複合機Ａ２０００の前まで行き、複合機Ａ２０００に対してログインを行う。ユーザは、表示部２０１０を操作してスキャンチケット処理アプリ２１００を起動し、スキャンチケットリスト要求を行う（Ｓ５１０４）。スキャンチケットリスト要求には、ログインを行ったユーザのユーザＩＤが含まれている。Ｓ５１０４のスキャンチケットリスト要求は、サーバ４０００の管理サービス４１００が受信し、リスト要求に対応するスキャンチケットリストを返却する（Ｓ５１０５）。複合機Ａ２０００上のスキャンチケット処理アプリ２１００は、受信したスキャンチケットリストを表示部２０１０に表示する（Ｓ５１０６）。
ユーザは、原稿となる用紙を読取部２０７０に置き、任意のスキャンチケットを選択して、スキャン開始ボタン２１２６を押下する。スキャン開始ボタン２１２６が押下されると、スキャンチケット処理アプリ２１００はスキャンを実行し、スキャン画像を生成する（Ｓ５１０７）。そして、スキャンチケット処理アプリ２１００は、スキャン画像とスキャンチケットに格納されていたスキャンチケットＩＤと呼ばれる識別子をサーバ４０００の管理サービス４１００に送信する（Ｓ５１０８）。
管理サービス４１００は、受信したスキャン画像をクライアント１０００のＴＷＡＩＮドライバ１１００に対して送信する（Ｓ５１０９）。
ＴＷＡＩＮドライバ１１００は受信したスキャン画像を、アプリケーション１０３１に送信する（Ｓ５１１０）。
【００２４】
以上説明したシーケンスは、複合機Ａ２０００を使用した場合の例であるが、実際には複合機Ｂ３０００を使用した際にも同様の結果が得られる。上記のシーケンスをそれぞれのソフトウェアが実施することで、ＴＷＡＩＮドライバ１１００を使用したアプリケーションへの画像取り込みを任意のスキャナ装置からのプッシュスキャン方式で行う事が可能になる。
【００２５】
次に、図７から図１０のフローチャートを用いて、管理サービス４１００の詳細動作について説明する。
図７は、サーバ４０００上で動作する管理サービス４１００の処理の概要を説明したフロー図である。
管理サービス４１００は、外部のネットワーク１００からのコネクション要求に基づいて動作を開始する。管理サービス４１００は、コネクション要求があった場合（Ｓ６００）、まず、コネクション管理部４１３０においてコネクションをオープンする（Ｓ６１０）。これにより、ネットワーク１００を介して外部のクライアント１０００や複合機Ａ２０００などとのネットワーク通信が可能になる。それぞれのコネクションには一意の識別子が与えられる。この識別子をコネクションＩＤと呼ぶ。
【００２６】
その後、管理サービス４１００がスキャンチケットを受信した場合（Ｓ６２０）、後述のスキャンチケット登録処理を行う（Ｓ６３０）。
一方、管理サービス４１００がスキャンチケットリスト要求を受信した場合は（Ｓ６４０）、後述のスキャンチケットリスト送信処理（Ｓ６５０）を行う。
また、管理サービス４１００がスキャン画像を受信開始した場合は（Ｓ６６０）、後述のスキャン画像送信処理（Ｓ６７０）を行う。なお、スキャン画像はデータサイズが大きいため、管理サービス４１００はスキャン画像のデータを受信中であってもスキャン画像送信処理を開始する。
サービス終了（Ｓ６８０）であれば、管理サービス４１００はオープンされている全てのコネクションをクローズして（Ｓ６９０）、終了する。サービス終了でない限りは、管理サービス４１００は引き続きコネクション要求を待ち続ける。
【００２７】
図８は、図７におけるスキャンチケット登録処理（Ｓ６３０）の詳細フローを示した図である。
まず、管理サービス４１００は、Ｓ６２０でスキャンチケットを受信したコネクションのコネクションＩＤを、コネクション管理部４１３０から取得する（Ｓ６３１）。そして管理サービス４１００は、そのコネクションＩＤを受信したスキャンチケットに追加する（Ｓ６３２）。
【００２８】
次に、管理サービス４１００は、受信したスキャンチケットの中に記載されているユーザＩＤを取得する（Ｓ６３３）。そして、管理サービス４１００は、そのユーザのスキャンチケットリストがチケットリスト４１１０に存在するか否かを、チケットリスト管理部４１２０において確認する（Ｓ６３４）。
存在する場合は、管理サービス４１００は、そのスキャンチケットリストをチケットリスト４１１０から取得する（Ｓ６３５）。存在しなかった場合は、管理サービス４１００は、そのユーザＩＤ用のスキャンチケットリストを新規に作成する（Ｓ６３８）。
【００２９】
そして管理サービス４１００は、スキャンチケットリストに先ほど受信したスキャンチケットを追加し、チケットリスト４１１０に登録する。
以上のフローにより、クライアント１０００から届いたスキャンチケットは、コネクションＩＤ情報を追加された状態で、ユーザごとにチケットリスト４１１０に登録されることになる。
【００３０】
図９は、図７におけるスキャンチケットリスト送信処理（Ｓ６５０）の詳細フローを示した図である。
まず、管理サービス４１００は、スキャンチケットリスト要求に含まれるユーザＩＤを取得する（Ｓ６５１）。そして、管理サービス４１００は、そのユーザＩＤのスキャンチケットリストがチケットリスト４１１０に存在するかどうかをチケットリスト管理部４１２０において確認する（Ｓ６５２）。
【００３１】
存在すると判断された場合、管理サービス４１００は、そのユーザＩＤのスキャンチケットリストを、チケットリスト４１１０から取得する（Ｓ６５３）。そして、管理サービス４１００は、スキャンチケットリスト要求のあったコネクションに対してスキャンチケットリストを送信する（Ｓ６５５）。
存在しないと判断された場合、管理サービス４１００は、空のスキャンチケットリストを、スキャンチケットリスト要求のあったコネクションに対して送信する（Ｓ６５４）。
【００３２】
そして管理サービス４１００はスキャンチケットリスト要求のあったコネクションをクローズする（Ｓ６５６）。
以上のフローにより、管理サービス４１００は複合機Ａ２０００からのスキャンチケットリスト要求に対して、要求したユーザのスキャンチケットリストのみを送信することができる。
【００３３】
図１０は、図７におけるスキャン画像送信処理（Ｓ６７０）の詳細フローを示した図である。
まず、管理サービス４１００は、スキャン画像と共に受信したスキャンチケットＩＤを取得する（Ｓ６７１）。そして管理サービス４１００は、チケットリスト４１１０からスキャンチケットＩＤに該当するスキャンチケットを取得する（Ｓ６７２）。
次に、管理サービス４１００は、取得したスキャンチケットに格納されているコネクションＩＤを取得する（Ｓ６７３）。そして、管理サービス４１００は、該当するコネクションに対してスキャン画像を送信開始する（Ｓ６７４）。
【００３４】
その後、管理サービス４１００は、すべてのスキャン画像を受信完了するまで受信を続ける（Ｓ６７５）。スキャン画像の受信を完了したら、管理サービス４１００は、コネクション管理部４１３０においてスキャン画像を受信したコネクションをクローズする（Ｓ６７６）。
その後、管理サービス４１００は、スキャン画像を送信完了するまで送信を続ける（Ｓ６７７）。スキャン画像の送信を完了したら、管理サービス４１００は、コネクション管理部４１３０においてスキャン画像を送信したコネクションをクローズする（Ｓ６７８）。
最後に、管理サービス４１００は、チケットリスト４１１０から該当するスキャンチケットを削除する（Ｓ６７９）。
【００３５】
以上のフローにより、スキャン画像の送信が終わったスキャンチケットのみがサーバ４０００のチケットリスト４１１０から削除され、送信が終わっていないスキャンチケットはサーバ４０００に残り続けることになる。さらにスキャン画像の送信が終わったコネクションだけがクローズされ、送信が終わっていないコネクションはオープンし続けることになる。
【００３６】
次に、図１１から図１３を用いて、本実施例におけるユーザインタフェースについて説明する。
図１１は、ＴＷＡＩＮドライバ１１００のＵＩ１１１１を示した図である。ＴＷＡＩＮドライバ１１００のＵＩ１１１１は、アプリケーション１０３１からのＵＩ表示要求に従って表示され、例えば、ダイアログボックスの外観を持つ設定画面である。ＵＩ上に表示されるのは、各種スキャン設定である。ＵＩ１１１１は、設定画面を表示させる画面表示部であるＵＩ部１１１０により、クライアント１０００の表示部１０１０に表示される。
ジョブ名１１１２には、ユーザが任意の文字列を入力することができる。原稿サイズ１１１３には、スキャナで読み取りを行う原稿のサイズを指定する。解像度１１１４には、読み取り解像度を指定する。スキャナ１１１５には、ユーザが原稿用紙をどこに置くかを指定する。原稿の置き場所がＡＤＦの場合は、片面読み取りか両面読み取りかを指定できるようになっている。カラーモード１１１６には、スキャン画像をカラーデータで取得するか白黒データで取得するかを指定する。
【００３７】
図１２（Ａ）は、それぞれのスキャン設定の項目における選択肢の例を示した表である。図１２（Ａ）には、ＵＩ１１１１の設定画面で表示される各種スキャン設定と、ダイアログボックスで表示される各設定の選択肢の例が示されている。
本実施例のＴＷＡＩＮドライバ１１００のＵＩ１１１１の特徴として、実際の複合機の能力によらずに選択肢が決まっているという点があげられる。具体的な例として、本実施例の複合機Ａ２０００、複合機Ｂ３０００のスキャン能力を図１２（Ｂ）に示す。複合機Ｂ３０００は、Ａ３サイズの原稿サイズに対応していないが、ＴＷＡＩＮドライバ１１００のＵＩ１１１１の原稿サイズの選択肢には、Ａ３サイズも含まれている。これは、本実施例のＴＷＡＩＮドライバ１１００が、特定の複合機に依存せず、任意の複合機がシステムに存在しても構わないように作成されているためである。本実施例では、ＴＷＡＩＮドライバ１１００は、スキャン設定項目として可能な全ての選択肢を表示する。
図１２（Ｃ）のチケットリストは、ＴＷＡＩＮドライバ１１００のＵＩ１１１１を使用して複数のスキャンチケットを、サーバ４０００のチケットリスト４１１０に登録した例を示している。さまざまな設定のスキャンチケットが登録されていることがわかる。
【００３８】
ＴＷＡＩＮドライバ１１００のＵＩ１１１１においてユーザがスキャン開始ボタン１１１８を押下すると、ＵＩ１１１１はクローズし、ＴＷＡＩＮドライバ１１００はスキャン画像の受信待ち状態となる。ユーザがキャンセルボタン１１１７を押すと、ＴＷＡＩＮドライバ１１００のＵＩ１１１１で指定されたスキャン設定は破棄されて、アプリケーション１０３１にフォーカスが戻る。
【００３９】
図１３は、本実施例における複合機Ａ２０００のスキャンチケット処理アプリ２１００のＵＩ２１２７を示している。スキャンチケット処理アプリ２１００のＵＩ部２１２０が、ＵＩ２１２７を複合機Ａ２０００の表示部２０１０に表示する。
左上のユーザ名２１２１には、複合機Ａ２０００にログイン中のユーザ名を表示する。ユーザによってリスト取得ボタン２１２２が押下されると、スキャンチケット処理アプリ２１００は、サーバ４０００に対してスキャンチケットリスト要求５１０２を行う。そして、受信したスキャンチケットリストを元に、複合機Ａ２０００で実施可能なスキャンチケットのリストをスキャンチケットリスト２１２３に表示する。ここで、スキャンチケットリスト２１２３には、１つのスキャンチケットが１行で表示される。
ユーザは、１つのスキャンチケットを押下することで、選択状態にすることができる。ユーザによって任意のスキャンチケットが選択された状態で詳細ボタン２１２４が押下されると、スキャンチケット処理アプリ２１００は、より詳細なスキャン設定を表示する。また、ユーザによって削除ボタン２１２５が押下されると、スキャンチケット処理アプリ２１００は選択されているスキャンチケットの表示を削除し、サーバ４０００に対して該当するスキャンチケットＩＤと共に削除要求を行う。削除要求時の処理は、本実施例では割愛する。ユーザによってスキャン開始ボタン２１２６が押下されると、スキャンチケット処理アプリ２１００は、選択されているスキャンチケットの設定に従ってスキャンを開始する。
【００４０】
サーバ４０００に図１２（Ｃ）で示すチケットリストが登録されている場合に、複合機Ａ２０００で表示されるＵＩ２１２７のスキャンチケットリスト２１２３に表示されているスキャンチケットを表にしたのが、図１２（Ｄ）である。スキャンチケット処理アプリ２１００は先述の通り、複合機Ａ２０００で実施可能なスキャンチケットのリストのみを、スキャンチケットリスト２１２３に表示する。図１２（Ｂ）に示されるように、複合機Ａ２０００では、「ＡＤＦ片面」のみに対応しており「ＡＤＦ両面」は実施可能でない。そのため、図１２（Ｃ）に示すジョブ名が「要件書」のスキャンチケットは、複合機Ａ２０００では表示されていない。
同様に、サーバ４０００に図１２（Ｃ）で示すチケットリストが登録されている場合に、複合機Ｂ３０００のスキャンチケット処理アプリ３１００が表示するスキャンチケットリスト２１２３を表にしたのが図１２（Ｅ）である。複合機Ｂ３０００で実施可能な原稿サイズや解像度のものは、ジョブ名が「領収書」のジョブチケットだけであるために「領収書」のみが表示される。
上述の通り、該当する複合機のみが実施可能なスキャンチケットのみをスキャンチケット処理アプリ２１００が選択肢として表示することで、実施不可能なスキャンチケットを誤ってユーザが選択してしまう事を防ぐことが可能となる。
【００４１】
なお、実施の形態によっては該当する複合機で実施可能ではないスキャン設定を持つスキャンチケットを表示するようにスキャンチケット処理アプリ２１００を構成してもよい。この場合は、実施可能でないスキャンチケットに印や色をつけるなどしてユーザにわかりやすく表示することで同様の効果が得られる。また、実施可能ではないスキャンチケットが選択されてスキャン開始ボタン２１２６が押下された時に、疑似的に次に示すような処理を行ってもよい。
【００４２】
例えば、最大の原稿サイズがＡ４サイズのスキャン能力を持つ複合機Ｂ３０００で原稿サイズがＡ３サイズのスキャンチケットが選択されていた場合には、Ａ３サイズ１ページ分の原稿のためにＡ４サイズの２回に分けてスキャンを実施する。そして、スキャン画像を結合してＡ３サイズのスキャン画像を作成する。この場合、ユーザにはＡ３サイズの原稿を二つ折りにして２回に分けてスキャンを行うことを指示する。
【００４３】
例えば、最大の解像度が３００ｄｐｉのスキャン能力を持つ複合機Ｂ３０００で解像度が６００ｄｐｉのスキャンチケットが選択されていた場合には、まず、一度３００ｄｐｉでスキャン画像を生成する。そして、１画素を２画素×２画素の４画素に複製して疑似的に６００ｄｐｉのスキャン画像を作成する。
【００４４】
例えば、片面のみのスキャンしかできないＡＤＦを持つ複合機Ｂ３０００でＡＤＦ両面のスキャンチケットが選択されていた場合には、表面と裏面のスキャンのために２回に分けて片面のスキャンを実施する。そして、表面のスキャン結果を奇数ページに配置し、裏面のスキャン結果を逆順にして偶数ページに配置する。結果として両面スキャン可能なＡＤＦを用いた場合と同等の複数ページのスキャン画像を生成する。この場合、ユーザにはＡＤＦに原稿の束を載せてスキャンした後、再度原稿を裏返してＡＤＦに原稿の束を載せてスキャンを行うことを指示する。
このようにして、該当する複合機で実施可能ではないスキャン設定を持つスキャンチケットであっても疑似的にスキャン画像を生成することで、能力不足の複合機しか存在しない環境でもスキャンを遂行することが可能となる。
【００４５】
以上説明したように、本実施例によると、クライアントのＴＷＡＩＮドライバで作成したスキャンチケットを複合機において選択することがでる。そして、任意の複合機からプッシュスキャン方式で、スキャンチケットに基づいて生成したスキャン画像を、ＴＷＡＩＮドライバを使用したアプリケーションへ送ることができる。
【００４６】
（実施例２）
実施例１では、ＴＷＡＩＮドライバ１１００のＵＩ上に設定項目として考えられる全ての選択肢を表示することで、様々な能力の複合機に対応できるスキャンシステムについて説明した。実施例２では、ＴＷＡＩＮドライバ１１００のスキャン設定画面であるＵＩ１１１１を動的に作成する、より柔軟なシステムについて説明する。なお、実施例２のスキャンシステムにおける接続形態やそれぞれの構成要素、スキャン能力などは実施例１とほぼ同じであるため説明を割愛し、差分のみ説明を行う。
【００４７】
実施例２においては、クライアント１０００上のＴＷＡＩＮドライバ１１００が、スキャンシステム内に存在するすべての複合機のスキャン能力を把握する。図１４は、ＴＷＡＩＮドライバ１１００が、それぞれのスキャン能力を取得する処理をシーケンス図で示したものである。
まず、ＴＷＡＩＮドライバ１１００は、サーバ４０００の管理サービス４１００に対して、スキャン能力要求を行う（Ｓ６１００）。スキャン能力要求を行うタイミングはいつでもよいが、例えば、スキャンシステム構築時やＴＷＡＩＮドライバ１１００のＵＩ１１１１表示時などが考えられる。
【００４８】
スキャン能力要求を受信した管理サービス４１００は、スキャンシステム内に存在するすべての複合機にスキャン能力要求を出す。具体的には、まず複合機Ａ２０００のスキャンチケット処理アプリ２１００に対してスキャン能力要求を出す（Ｓ６１０１）。スキャンチケット処理アプリ２１００はそれに応答して、自身の動作している複合機Ａ２０００のスキャン能力を送信する（Ｓ６１０２）。スキャン能力とは、具体的には図１２（Ｂ）に示されるような能力であり、例えば、原稿サイズ、画像の解像度、ＡＤＦ、画像のカラーの有無に関するものである。
次に、管理サービス４１００は、複合機Ｂ３０００のスキャンチケット処理アプリ３１００に対してスキャン能力要求を出す（Ｓ６１０３）。スキャンチケット処理アプリ３１００は、複合機Ａ２０００のスキャンチケット処理アプリ２１００の場合と同様に、自身の動作している複合機Ｂ３０００のスキャン能力を送信する（Ｓ６１０４）。このようにして、サーバ４０００の管理サービス４１００は、あらかじめ登録されたシステム内の全ての複合機から、スキャン能力を取得する。
【００４９】
そして、サーバ４０００の管理サービス４１００は、スキャンシステム内に存在するすべての複合機のスキャン能力のリストを、ＴＷＡＩＮドライバ１１００に対して送信する（Ｓ６１０５）。これにより、ＴＷＡＩＮドライバ１１００は、システム内の全ての複合機のスキャン能力を保持することができる。なお、実施例２ではあらかじめ登録された複合機からスキャン能力を取得する例を挙げたが、ネットワーク１００内部の複合機を探索して見つかった複合機に対して動的に取得することでも実施可能である。
【００５０】
図１５は、実施例２におけるＴＷＡＩＮドライバ１１００のＵＩの各スキャン設定項目の選択肢を示す表である。
システム内の全ての複合機のスキャン能力を保持しているＴＷＡＩＮドライバ１１００は、ＵＩ表示の際に、それぞれの複合機のスキャン能力をマージしてスキャン設定項目の選択肢を決定する。実施例１におけるＴＷＡＩＮドライバのＵＩの各設定項目の選択肢を示した図１２（Ａ）と比較して、ＡＤＦ両面の設定項目が選択できなくなっている。これは、複合機Ａ２０００も複合機Ｂ３０００も両面読み取り可能なＡＤＦを搭載していないためである。上述のように、ＴＷＡＩＮドライバ１１００がＵＩ制御を行う事で、ユーザはシステム内の複合機で実施不可能なスキャン設定をＴＷＡＩＮドライバ１１００で指定することがなくなる効果が得られる。
【００５１】
また、ＴＷＡＩＮドライバ１１００は、ＴＷＡＩＮドライバ１１００が保持しているシステム内のすべての複合機のスキャン能力を用いて、現在のスキャン設定で使用可能な複合機のリストをユーザに対して表示することもできる。図１６は、実施例２においてＴＷＡＩＮドライバ１１００のＵＩ上で使用可能な複合機のリストを表示した時のＵＩを表している。図１６（Ａ）に示されるように、解像度として３００ｄｐｉが選択されている時は「使用可能なデバイス」として複合機Ａ２０００および複合機Ｂ３０００が表示されている。一方、ユーザが解像度を６００ｄｐｉに変更すると、図１６（Ｂ）に示されるように、「使用可能なデバイス」として複合機Ａ２０００のみが表示される。これにより、ユーザは現在スキャンを開始しようとしているスキャン設定は、どの複合機で実施可能かを一目で確認することができるため、スキャンする原稿を迷うことなく適切な複合機まで運ぶことが可能となる。
【００５２】
以上、説明したように、本実施例においては、ＴＷＡＩＮドライバのＵＩにおける設定項目を、複合機のスキャン能力に応じて変化させることができるようになる。そのため、ユーザがシステム内の複合機で実施不可能なスキャン設定をＴＷＡＩＮドライバで指定することがなくなる。
【００５３】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５４】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
2018037804.tif 000003
【図２】
2018037804.tif 000004
【図３】
2018037804.tif 000005
【図４】
2018037804.tif 000006
【図５】
2018037804.tif 000007
【図６】
2018037804.tif 000008
【図７】
2018037804.tif 000009
【図８】
2018037804.tif 000010
【図９】
2018037804.tif 000011
【図１０】
2018037804.tif 000012
【図１１】
2018037804.tif 000013
【図１２】
2018037804.tif 000014
【図１３】
2018037804.tif 000015
【図１４】
2018037804.tif 000016
【図１５】
2018037804.tif 000017
【図１６】
2018037804.tif 000018