以下、本発明の好ましい実施形態について、添付図面を参照して説明する。なお、本発明のIP電話端末を有するIP電話システムは、接続先のIP電話端末で所定の機能が実行可能であるか否かを確認し、所定の機能が実行可能である場合に、接続先のIP電話端末に所定の機能を実行させるファイルを送信するものである。
まず、図1を参照して、本実施形態に係るIP電話端末(PC10,30,50及びデバイス20,40,60)を含むIP電話システム1のシステム構成について説明する。図1は、本実施形態のIP電話システム1のシステム構成を示すブロック図である。
IP電話システム1は、ネットワーク(インターネット回線)を介して接続されるPC10,30,50と、PC10,30,50に接続されるデバイス20,40,60とを主に有して構成されている。また、図示しないが、ネットワークを介してPC10,30,50に接続される複数のPCやデバイスを有して構成されている。
PC10は、IP電話端末を構成するものであり、CPU11と、ROM12と、RAM13と、ハードディスクドライブ(以下「HDD」と略す)14とを主に有している。CPU11は、ROM12やHDD14に記憶される固定値やプログラムに従った制御を行う演算処理装置である。ROM12は、PC10で実行される各種の制御プログラムや固定値データを記憶する書換不能なメモリである。RAM13は、各種のデータを一時的に記憶するための書換可能なメモリである。HDD14は、PC10で実行される各種の制御プログラムや固定値データを記憶する記憶装置であり、電源オフ後も記憶内容が保持される。
HDD14には、IP電話アプリケーション14aと、中間アプリケーション14bとがインストールされている。中間アプリケーション14aは、IP電話アプリケーション14bとデバイス20との間で信号の受け渡しを行うソフトウェアであり、IP電話アプリケーション14bとデバイス20とを連携する連携アプリケーションとして機能する。
また、IP電話アプリケーション14bは、ネットワークを介して、他のIP電話アプリケーション(例えば、IP電話アプリケーション34a,54a)と互いに通話を行うものであり、例えば、スカイプ通話ソフトなどが例示される。
さらに、HDD14には、ジョブ履歴(送信時)記憶エリア14cと、ジョブ履歴(受信時)記憶エリア14dと、ジョブファイルフラグ14eと、実行可否ファイルフラグ14fと、ジョブ処理可能フラグ14gと、実行結果ファイルフラグ14hと、処理対象ファイルフラグ14iと、デバイス情報記憶エリア14jと、ファイル送信OKフラグ14kとが設けられている。
ジョブ履歴(送信時)記憶エリア14cは、送信側PCにおいて、受信側PCに所定の機能(例えば、印刷およびRAM、HDDへの記憶など)の実行を指示した場合の実行結果を記憶するエリアである。ジョブ履歴(受信時)記憶エリア14dは、受信側PCにおいて、送信側PCから所定の機能の実行が指示された場合の実行結果を記憶するエリアである。
ジョブファイルフラグ14eは、IP電話アプリケーション14bを介してジョブファイルを受信した場合にオンされるフラグであり、実行可否ファイルフラグ14fは、IP電話アプリケーション14bを介してジョブ実行可否ファイルを受信した場合にオンされるフラグであり、ジョブ処理可能フラグ14gは、ジョブファイルの送信先のPCにおいてジョブが実行可能であると判断された場合にオンされるフラグであり、実行結果ファイルフラグ14hは、IP電話アプリケーション14bを介してジョブ実行結果ファイルを受信した場合にオンされるフラグであり、処理対象ファイルフラグ14iは、IP電話アプリケーション14bを介して処理対象ファイルを受信した場合にオンされるフラグであり、ファイル送信OKフラグ14kは、各ファイルの送信が正常に実行された場合にオンされるフラグである。
デバイス情報記憶エリア14jは、デバイス20で実行可能な機能(例えば、印刷機能、読取機能、FAX機能、カラー印刷/モノクロ印刷機能およびインク方式/レーザー方式などの機能)を示す機種情報が記憶されるエリアであり、デバイス20のドライバをインストールすることで、機種情報が記憶される。
デバイス20は、IP電話端末を構成するものであり、本実施形態では、多機能周辺装置(Multi Function Peripheral)で構成されている。デバイス20は、CPU21と、ROM22と、RAM23と、スキャナ24と、プリンタ25と、メモリカードスロット26とを主に有して構成されている。
CPU21は、ROM22に記憶される固定値やプログラムに従った制御を行う演算処理装置である。ROM22は、デバイス20で実行される各種の制御プログラムや固定値データを記憶する書換不能なメモリである。RAM23は、各種のデータを一時的に記憶するための書換可能なメモリである。スキャナ24は、画像を取り込み画像データを生成する読取装置である。プリンタ25は、紙などの記録媒体に印刷を行う印刷装置である。メモリカードスロット26は、メモリカードが装着され、データの読み出し及び書き込みを行うメモリ装着装置である。なお、MFPが有するスキャナ24、プリンタ25及びメモリカードスロット26は、公知の技術であるので、その詳細な説明は省略する。
なお、PC30,50及びデバイス40,60は、PC10及びデバイス20と同様に構成されているので、その詳細な説明は省略する。
次に、図2を参照して、各PC10,30,50間のファイル又はデータの送受信、及び、各PC10,30,50と各デバイス20,40,60間のファイル又はデータの送受信について説明する。図2は、各PC10,30,50間、及び、各PC10,30,50と各デバイス20,40,60間のファイル及びデータの送受信の経路を模式的に示した図である。
図2に示すように、PC10は、中間アプリケーション14aと、IP電話アプリケーション14bとがインストールされており、中間アプリケーション14aは、デバイス20との間でデータの送受信が可能に構成されている。
中間アプリケーション14aは、デバイス20に対してデータ(又はファイル)の取得命令などを送信すると共に、デバイス20から送信されるデータ(又はファイル)を受信することができ、IP電話アプリケーション14bを介して外部のPC(例えば、PC30,50)との間でファイルの送受信が可能に構成されている。
具体的には、デバイス20がスピーカやマイクなど、音声入出力機能を備えており、ユーザがデバイス20に備えられているスピーカやマイクなどを用いて、IP電話による通話を行う構成であっても良い。
この場合、IP電話アプリケーション14bは、他のIP電話端末(例えば、PC30,50)から受信した音声データをデバイス20のスピーカから出力し、デバイス20のマイクから入力された音声データを他のIP電話端末(例えば、PC30,50)に送信するように構成される。
さらに、IP電話アプリケーション14b及びデバイス20から中間アプリケーション14aにイベントメッセージが送信されてくるように構成され、イベントメッセージを受信した中間アプリケーション14aは、IP電話アプリケーション14bからのメッセージをデバイス20に伝達し、デバイス20からのメッセージをIP電話アプリケーション14bに伝達するように構成される。
例えば、IP電話アプリケーション14bが他のIP電話端末(例えば、PC30,50)から通話要求を受けると、通話要求のイベントが中間アプリケーション14aを介してデバイス20に伝達され、ユーザがデバイス20を操作して通話許可の指示を行うと、そのイベントがIP電話アプリケーション14bに伝達され、通話が開始されることになる。
一方、ユーザがデバイス20を操作してユーザデバイスの検索指示を行うと、検索指示のイベントが中間アプリケーション14aを介してIP電話アプリケーション14bに伝達され、IP電話アプリケーション14bがネットワークに対してユーザデバイスの検索要求を送信することになる。そして、IP電話アプリケーション14bが得た検索結果(コンタクトリスト)は、中間アプリケーション14aを介してデバイス20に伝達され、デバイス20が備える表示部に表示される。
ユーザがデバイス20を操作し、表示されたコンタクトリストから通話先を選択し、通話指示を行うと、通話要求のイベントが中間アプリケーション14aを介してIP電話アプリケーション14bに伝達され、IP電話アプリケーション14bが通話先のIP電話端末(例えば、PC30,50)に通話要求を送信し、通話許可を待つことになる。
本実施形態では、中間アプリケーション14aは、デバイス20から処理対象ファイルを取得し、外部のPC又はデバイスにおいてデバイス20から取得した処理対象ファイルに基づいた処理の実行を指示するジョブファイル(第1のファイル)を生成する。
また、中間アプリケーション14aは、外部のPCから送信されたジョブ実行可否ファイルを解析して、ジョブファイルにより指示した機能が実行可能であるか否かを判断すると共に、ジョブ実行結果ファイルを解析して、処理対象ファイルに基づいた機能の実行結果を記憶する。
さらに、中間アプリケーション14aは、IP電話アプリケーション14bが有する登録情報格納部15から登録情報を取得して、外部のPCやデバイスの接続先(コンタクトリスト)を把握でき、IP電話アプリケーション14bに対して、接続する外部のIP電話アプリケーションを指示することができる。
IP電話アプリケーション14bは、デバイス20が有する機能を示す機能識別情報を含む登録情報や、外部のPC又はデバイスが有する機能を示す機能識別情報を含む登録情報が格納される登録情報格納部15と、外部のPC又はデバイスから送信されるファイルやデータを受信するファイル受信部18と、外部のPCやデバイスにファイルやデータを送信するファイル送信部19とを有している。
また、IP電話アプリケーション14bは、外部のPCが有するIP電話アプリケーション(例えば、IP電話アプリケーション34b、54b)との間で、音声通話を行うことができると共に、ファイル送信部18及びファイル受信部19によりファイルの送受信を行うことができる。
なお、図2では、デバイス20のスキャナ24により画像を読み取り、その読み取った画像をPC30に接続されるデバイス40で印刷する場合の経路が図示されている。
具体的には、デバイス20のスキャナ24により画像が読み取られて生成された画像データを中間アプリケーション14aが取得すると、その中間アプリケーション14aにおいて処理対象ファイルが生成される。そして、中間アプリケーション14aは、IP電話アプリケーション14bの登録情報格納部15に格納される登録情報を参照して、接続する外部のIP電話アプリケーション34bを選択し、そのIP電話アプリケーション34bとIP電話アプリケーション14bとの間を接続させる。その後、中間アプリケーション14aは、デバイス40のプリンタ65においてスキャナ24で取得した画像の印刷を指示するジョブファイルを、ファイル送信部18を介してPC30のファイル受信部39に送信する。
PC30の中間アプリケーション34aでは、IP電話アプリケーション34bのファイル受信部39を介して受信したジョブファイルを解析し、スキャナ24で取得した画像をプリンタ65で印刷可能であるか否かを判定し、その判定結果を含むジョブ実行可否ファイルをファイル送信部39を介してPC10のファイル受信部18に送信させる。
一方、PC10の中間アプリケーション14aは、ジョブ実行可否ファイルを受信すると、そのジョブ実行可否ファイルを解析し、デバイス40のプリンタ65で印刷が可能であれば、処理対象ファイルをファイル送信部18を介してPC30のファイル受信部39に送信する。
そして、PC30の中間アプリケーション34aは、処理対象ファイルを受信すると、プリンタ65に対して、印刷命令を発令すると共に、印刷データを送信する。デバイス40は、印刷命令と印刷データを受信すると、その受信した印刷データに応じた印刷を行う。この具体的な処理は、図4から図13を用いて後述する。
次に、図3を参照して、IP電話アプリケーション14b,34b、54bに設けられる登録情報格納部15,35,55について説明する。なお、図3の説明では、登録情報格納部35について説明する。図3は、PC30の登録情報格納部35に登録情報を登録する一連の処理の流れを説明する図である。
図3に示すように、中間アプリケーション34aには、文字列付加モジュール36及びデバイス監視モジュール37が設けられている。また、PC30は、デバイス情報記憶エリア34jに記憶されるデバイス情報と、ROM32のPC情報記憶エリア32aに予め記憶されるPC情報とを取得可能に構成されている。
なお、PC情報とは、ROM32のレジストリやiniファイルなどに格納された情報を総称したものであり、PC30のOSバージョンやインストールされているアプリケーションの情報である。これらのOSのバージョンやインストールされているアプリケーションの種類などから、PC30の有する機能が特定される。
IP電話アプリケーション34bの登録情報格納部35は、デバイス40が有する機能を示す機能識別情報を含む登録情報を格納するものであり、例えば、デバイス40が、プリント機能、スキャナ機能およびメモリカードへの保存機能を有していれば、それらの各機能とデバイス40とが関連づけされた登録情報が登録情報格納部35に登録される。この登録情報格納部35への登録情報の登録方法について、以下に説明する。
文字列付加モジュール36は、中間アプリケーション34aが起動されると、IP電話アプリケーション34bから任意の表示名”yamada”を取得し、PC30のPC情報記憶エリア32bからPC情報としてのPC名”pc”を取得し、文字列”pc_yamada”を生成する。そして、その生成した文字列”pc_yamada”をデバイス監視モジュール37に送信する。なお、文字列付加モジュール36の動作は、PC名や表示名の変更に対応できるように、PC名や表示名の変更時に行っても良いし、定期的に行っても良い。
そして、デバイス監視モジュール37は、文字列付加モジュール36から送信された文字列を受信する度に、その受信した文字列を記憶する。また、デバイス監視モジュール37は、PC30に接続されるデバイス環境(図3のデバイスA〜Cの接続状態)を監視すると共に、接続されているデバイスがIP電話に対応しているかの監視をし、更に、各デバイスの監視結果に基づいた情報を示す表示名やプロフィールを生成して文字列付加モジュール36へ送信する。
本実施形態では、デバイス監視モジュール37によって各デバイスが監視されると、その監視結果として、デバイスAのデバイス名である”Br_mfc_Ink_330”、デバイスBのデバイス名である”Br_dcp_Ink_420”、デバイスCのデバイス名である”Br_mfc_laser_480”を取得する。
そして、デバイス監視モジュール37は、各デバイス名に基づいた表示名とプロフィールを生成して、文字列付加モジュール36に送信する。本実施形態では、表示名は、3つのデバイスがIP電話対応デバイスであることを示しており、”pc_yamada_3devices_d1_Br_mfc_Ink_330_d2_Br_dcp_Ink_420_d3_Br_mfc_laser_480”で示される。ここで、”pc_yamada_3devices”は、pc_yamadaに接続される3つのデバイスを検知したことを示している。また、各デバイス名の間には”_dn_”(n=1〜3)が挿入される。
また、プロフィールは、”Device1=Br_mfc_Ink_330 Device2=Br_dcp_Ink_420 Device3=Br_mfc_laser_480”で示される。
なお、各デバイス名は、プロフィールとしても登録されるため、デバイス名を示す文字列を表示名から省略する実施形態としてもよい。
その後、文字列付加モジュール36は、デバイス監視モジュール37から送信される各デバイス名に基づいて、その各デバイスが有する機能をデバイス情報記憶エリア34eを参照して取得し、その取得した各デバイスの機能を示す文字列をデバイス監視モジュール37から送信されたプロフィールに付加する。
さらに、文字列付加モジュール36は、PC情報記録エリア32aからPC情報としてPC30が有する機能を取得し、文字列をプロフィールに付加する。文字列付加モジュール36により生成されるプロフィールは、”Device1=Br_mfc_Ink_330,Print Scan Card FAX Color Ink Device2=Br_dcp_Ink_420,Print Scan Card Color Ink Device3=Br_mfc_laser_480,Print Scan FAX Mono Laser Pc=Win_XP,OCR,Read−Write”と示される。
ここで、Printは印刷機能、Scanは読取機能、FAXはFAX機能、Color/Monoはカラー印刷/モノクロ印刷機能、Ink/Laserはインク方式/レーザー方式、Win_XPはパーソナルコンピュータのOSがWindows(登録商標)XPであること、OCRはOCR(Optical Character Reader)機能をそれぞれ示している。
一方、表示名は、デバイス監視モジュール37が生成した表示名”pc_yamada_3devices_d1_Br_mfc_Ink_330_d2_Br_dcp_Ink_420_d3_Br_mfc_laser_480”がそのまま用いられる。
そして、上述したような手順で生成された表示名とプロフィールとがIP電話アプリケーション34bの登録情報格納部35に格納される。
なお、通話を行っているデバイスのデバイス情報がIP電話アプリケーション34bに登録される構成であってもよい。具体的には、デバイスからの通話許可の指示を得た中間アプリケーション34aが、通話許可の指示元であるデバイスのデバイス情報をIP電話アプリケーション34bに登録するように構成してもよい。また、デバイスからの通話要求の指示を得た中間アプリケーション34aが、通話要求の指示元であるデバイスのデバイス情報をIP電話アプリケーション34bに登録するようにしてもよい。
次に、各PCの登録情報格納部に登録された登録情報を取得する手順について説明する。以下の説明では、PC10がPC30の登録情報を取得する手順の一例について説明する。
まず、中間アプリケーション14aからIP電話アプリケーション14bにユーザデバイスの検索命令が発令されると、IP電話アプリケーション14bがネットワークに対してユーザデバイスの検索を行ない、ネットワークに接続されたIP電話アプリケーション34bからIP電話アプリケーション14bに対し、ユーザデバイスの情報(登録情報)が送られる。IP電話アプリケーション14bは、登録情報格納部15に、IP電話アプリケーション34bから送られてきた登録情報を格納する。
なお、スーパーノードと呼ばれる特別なユーザデバイスがIP電話アプリケーションの登録情報を一括管理している場合がある。この場合、IP電話アプリケーション34bが行った検索に対し、各IP電話アプリケーション(例えば、IP電話アプリケーション14b、54b)の登録情報を、スーパーノードが返信することになる。
中間アプリケーション14aは、登録情報格納部15に登録される他のPC30の登録情報に基づき、コンタクトリストを取得することができる。これにより、中間アプリケーション14aは、IP電話アプリケーション14bに登録されたユーザデバイスのコンタクトリストを取得することができる。なお、コンタクトリストとは、IP電話アプリケーション14bにおいて、通話相手の候補を示すユーザデバイスのリストである。
中間アプリケーション14aは、このコンタクトリストを解析し、PC30やデバイス40で利用可能な機能を認識することができる。そして、PC30やデバイス40で利用可能な機能を選択し、PC30やデバイス40において機能の実行を指示することができる。
次に、図4を参照して、IP電話システム1において、1のPCから他のPCに対して、他のPCが有する機能の実行を指示して、他のPCにおいて機能を実行する場合のシーケンスチャートについて説明する。
図4は、IP電話システム1において各IP電話端末間(PC10,30,50及びデバイス20,40,60)で行われるプログラムの流れを示したシーケンスチャートである。なお、以下の説明では、1のPCとしてのPC10から、他のPCとしてのPC30に、機能の実行を指示する場合について説明する。
まず、PC10のIP電話アプリケーション14aの登録情報格納部15に登録される他のPCの登録情報に基づき、コンタクトリストの取得処理が行われる(P1)。これにより、中間アプリケーション14aが、IP電話アプリケーション14bに登録されたユーザデバイスのコンタクトリストを取得することができる。そして、P1において取得したコンタクトリストから接続先の受信端末としてPC30の表示名が選択される(P2)。
その後、中間アプリケーション14aは、デバイス20に対して処理対象ファイルの取得命令を発令し、デバイス20では、取得命令がなされた処理対象ファイルを取得し(P3)、その取得した処理対象ファイルをPC10に転送する。
中間アプリケーション14aでは、デバイス20から取得した処理対象ファイルによりPC30で実行される処理を示す指示情報と、デバイス20から取得した処理対象ファイルの形式(例えば、ファイルに含まれるデータの形式やデータサイズ、解像度、印刷枚数)を示す形式情報とを含むジョブファイルを生成する(P4)。
そして、中間アプリケーション14aは、生成されたジョブファイルの送信命令をIP電話アプリケーション14bに発令する(P5)。ジョブファイルの送信命令がなされたIP電話アプリケーション14bは、PC30のIP電話アプリケーション34bに対してファイル送信要求を送信する。なお、ファイル送信要求には、送信するファイルの形式(例えば、txtやjpgなど)とファイルサイズ(例えば、123456byte)とが含まれている。
PC30の中間アプリケーション34aでは、ファイル送信を許可するファイル送信許可応答を送信するか否かの判断をし(P6)、ファイル送信許可応答をPC10に送信すると判断すると、ファイル送信許可応答の応答命令を中間アプリケーション34aからIP電話アプリケーション34bに送信し、IP電話アプリケーション34bからPC10のIP電話アプリケーション14bに対してファイル送信許可応答の信号が送信される。
中間アプリケーション34aでは、ファイル送信許可応答の応答命令を発令した後に、IP電話アプリケーション14bから送信されるジョブファイルをIP電話アプリケーション34bが受信し、その受信したジョブファイルをIP電話アプリケーション34bから受け渡されることが待機される(P7)。
一方、IP電話アプリケーション14bでは、IP電話アプリケーション34bからファイル送信許可応答を受信すると、ジョブファイルの送信機能が実行される(P8)。具体的には、図2におけるIP電話アプリケーション14bが備えるファイル送信部19から、IP電話アプリケーション34bが備えるファイル受信部38に送信ファイルを送信することである。
中間アプリケーション34aでは、IP電話アプリケーション34bからジョブファイルを受け取り、その受け取ったジョブファイルの解析を行い、その解析結果に応じたジョブ実行可否ファイルを生成する(P9)。
そして、生成されたジョブ実行可否ファイルの送信命令をIP電話アプリケーション34bに発令し(P10)、IP電話アプリケーション34bは、PC10のIP電話アプリケーション14bに対してファイル送信要求を送信する。
PC10の中間アプリケーション14aでは、ファイル送信を許可するファイル送信許可応答を送信するか否かを判断し(P11)、ファイル送信許可応答をPC30に送信すると判断すると、ファイル送信許可応答の応答命令をIP電話アプリケーション14bに送信する。IP電話アプリケーション14bでは、PC30のIP電話アプリケーション34bに対してファイル送信許可応答の信号を送信する。
中間アプリケーション14aでは、ファイル送信許可応答の応答命令を発令した後に、IP電話アプリケーション34bから送信されるジョブ実行可否ファイルをIP電話アプリケーション14bが受信し、その受信したジョブ実行可否ファイルをIP電話アプリケーション14bから受け渡されることが待機される(P12)。
一方、PC30のIP電話アプリケーション34bでは、IP電話アプリケーション14bからファイル送信許可応答を受信すると、ジョブ実行可否ファイルの送信機能が実行される(P13)。具体的には、図2におけるIP電話アプリケーション34bが備えるファイル送信部39から、IP電話アプリケーション14bが備えるファイル受信部18にジョブ実行可否ファイルを送信することである。
中間アプリケーション14aでは、PC30のIP電話アプリケーション34bから送信され、IP電話アプリケーション14bにより受信したジョブ実行可否ファイルを、IP電話アプリケーション14bから受け取り、その受け取ったジョブ実行可否ファイルの解析を行う(P14)。
そして、ジョブ実行可否ファイルの解析結果が、PC30に接続されるデバイス40でジョブファイルにより指示されたジョブの実行が可能であれば、処理対象ファイルの送信命令をIP電話アプリケーション14bに発令する(P15)。処理対象ファイルの送信命令がなされたIP電話アプリケーション14bは、PC30のIP電話アプリケーション34bに対してファイル送信要求を送信する。
PC30では、P6及びP7と同様に、中間アプリケーション34aが、ファイル送信を許可するファイル送信許可応答を送信するか否かを判断し(P16)、ファイル送信許可応答をPC10に送信すると判断すると、ファイル送信許可応答の応答命令をIP電話アプリケーション34bに送信し、その後、処理対象ファイルをIP電話アプリケーション34bから受け渡されることを待機する(P17)。
一方、IP電話アプリケーション14bでは、IP電話アプリケーション34bからファイル送信許可応答を受信すると、処理対象ファイルの送信機能が実行される(P18)。
中間アプリケーション34aでは、PC10のIP電話アプリケーション14bから送信され、IP電話アプリケーション34bにより受信した処理対象ファイルを、IP電話アプリケーション34bから受け取り、処理対象ファイルに基づく処理の実行をデバイス40に指示する(P19)。
デバイス40では、中間アプリケーション34aからの実行指示に基づいて、処理対象ファイルの処理を実行し(P20)、その処理の実行結果を、中間アプリケーション34aに送信する。
中間アプリケーション34aでは、デバイス40から受信した処理の実行結果に基づいたジョブ実行結果ファイルの生成処理が行われる(P21)。そして、生成されたジョブ実行結果ファイルの送信命令をIP電話アプリケーション34bに発令する(P22)。ジョブ実行結果ファイルの送信命令がなされたIP電話アプリケーション34bは、PC10のIP電話アプリケーション14bに対してファイル送信要求を送信する。
PC10では、P11及びP12と同様に、中間アプリケーション14aが、ファイル送信を許可するファイル送信許可応答を送信するか否かを判断し(P23)、ファイル送信許可応答をPC30に送信すると判断すると、ファイル送信許可応答の応答命令をIP電話アプリケーション14bに送信し、その後、ジョブ実行結果ファイルをIP電話アプリケーション14bから受け渡されることを待機する(P24)。
一方、IP電話アプリケーション34bでは、IP電話アプリケーション14bからファイル送信許可応答を受信すると、ジョブ実行結果ファイルの送信機能が実行される(P25)。その後、中間アプリケーション34aでは、ジョブの処理結果をジョブ履歴(受信時)記憶エリア34dに記憶する(P26)。
中間アプリケーション14aでは、PC30のIP電話アプリケーション34bから送信され、IP電話アプリケーション14bにより受信したジョブ実行結果ファイルを、IP電話アプリケーション14bから受け取り、その受け取ったジョブ実行結果ファイルに含まれる処理結果を、ジョブ履歴(送信時)記憶エリア14cに記憶し(P27)、一連の処理が終了する。
次に、図5から図13を参照して、PC10,30で実行される具体的な処理について説明する。図5は、送信側PCで実行されるファイル送信処理を示したフローチャートである。図6は、送信側PC及び受信側PCで実行される受信ファイル解析処理を示したフローチャートである。図7は、受信側PCで実行されるファイル受信処理を示したフローチャートである。図8は、受信側PCで実行されるジョブ実行処理を示したフローチャートである。図9は、送信側PC及び受信側PCで実行される各ファイルの送信処理を示したフローチャートである。図10は、送信側PCの中間アプリケーションのユーザインターフェース(以下「UI」と称す)の表示画面の一例を示した図である。図11は、送信側PC及び受信側PCの表示画面の一例を示した図である。図12は、ジョブファイル及びジョブ実行可否ファイルの一例を示した図である。図13は、ジョブ実行結果ファイルの一例を示した図である。
まず、最初に、図10を参照して、外部のIP電話アプリケーション(例えば、IP電話アプリケーション34b,54b)を選択する(コンタクトリストを取得する)方法、及び、外部のIP電話端末(例えば、デバイス40,60)に実行させる機能(処理)を選択する方法について説明する。なお、以下の説明では、送信側PCをPC10とし、受信側PCをPC30として説明する。
図10(a)に示すように、送信側のPC10において中間アプリケーション14aが起動されると、登録情報格納部15に格納された登録情報がIP電話アプリケーション14bを介して取得され、コンタクトリストとして表示される。
なお、「コンタクトリスト」の中点線で囲われた表示名に対応する機能識別情報が「選択したユーザデバイスのデバイス情報」に表示される。具体的には、中点線で囲まれたユーザデバイスの”Br_dcp_420_sato”のデバイス名が”Br DCP 420”であり、デバイス機能が”プリンタ、スキャナ、メモリカードスロット”であることを示している。
また、「IP電話アプリケーション基本機能」における「チャット...」、「電話...」、「ファイル送信...」および「ユーザ検索...」の各ボタンも表示されており、各ボタンをカーソルなどで選択することにより、IP電話アプリケーションの基本機能である各機能を実行することができる。
さらに、外部のPCやデバイスにインストールされたIP電話アプリケーションに登録された情報を取得するための「ユーザデバイス検索...」ボタンと、他のPCやデバイスの機能を利用するための「ユーザデバイスを使った機能...」ボタンも表示されており、各ボタンをカーソルなどで選択することにより、ユーザデバイスの検索やユーザデバイスの機能を利用することができる。ユーザデバイスを使った機能が選択された場合のUIの一例を図10(b)に示す。
図10(b)に示すように、ユーザデバイスを使った機能がカーソルなどにより選択されると、ユーザデバイスを使った機能のUIが起動される。ユーザデバイスを使った機能のUIは、「コンタクトリスト」と、「ターゲットユーザ」と、「ターゲットユーザ」への追加および削除を行なう「追加」および「削除」ボタンと、「コンタクトリスト」における対象データを指定する対象データのラジオボタン(本例では「スキャンしたデータ」または「既存のファイル」のいずれかを選択)と、ターゲットユーザデバイスで行なう機能を指定するターゲットデバイスで行なう機能のラジオボタン(本例では「印刷」、「メディアカードに画像に保存」または「OCR」のいずれかを選択)と、機能を実行する「OK」ボタンと、機能をキャンセルする「キャンセル」ボタンとを備えている。
ターゲットユーザデバイスとは、利用機能に応じた処理を行わせる対象のユーザデバイスのことである。ターゲットユーザデバイスは複数指定することができる。「ターゲットユーザデバイス」にユーザデバイスを追加する場合には、「コンタクトリスト」において、「ターゲットユーザデバイス」に追加の対象とするユーザを選択し、「追加」ボタンを押下することにより、「ターゲットユーザデバイス」にユーザデバイスを追加することができる。一方で、「ターゲットユーザデバイス」からユーザデバイスを削除する場合には、「ターゲットユーザデバイス」において、「コンタクトリスト」から削除の対象とするユーザデバイスを選択し、「削除」ボタンを押下することにより、「ターゲットユーザ」からユーザデバイスを削除することができる。なお、ここで選択されたユーザデバイスに共通しない機能について「ターゲットユーザデバイスで行う機能」から選択できないようにする構成としても良い。
以上の通り、ユーザによって、ターゲットユーザデバイスが選択されると共に、対象データおよびターゲットユーザデバイスで行う機能が選択され、中間アプリケーション14aのUI(図10(a))において、ファイル送信の機能がカーソルなどにより選択されると、図5に示すファイル送信処理が実行される。
図5に示すファイル送信処理が実行されると、まず、ユーザデバイスを使った機能のUIにおいてユーザによって選択された処理の処理対象ファイル(例えば、スキャンしたデータ)の取得命令をデバイス20に送信する(S1)。
S1の処理で、処理対象ファイルの取得命令を送信したら、デバイス20から処理対象ファイルを取得完了したか否かを確認し(S2)、処理対象ファイルを取得完了するまで待機する(S2:No)。
なお、UIによって、PC10に記憶されている情報の取得がユーザに選択された場合には、S1の処理は、PC10のRAM13やHDD14から処理対象ファイルを取得し、S2の処理では、RAM13やHDD14から処理対象ファイルを取得完了したか否かを確認する。
S2の処理で確認した結果、デバイス20から処理対象ファイルを取得完了したら(S2:Yes)、その取得した処理対象ファイルを参照して、ジョブファイルを生成し(S3)、ジョブ送信の問い合わせを表示する(S4)。
S4の処理で、ジョブ送信の問い合わせが実行された場合の表示画面が図11(a)に示す状態である。ジョブ送信の問い合わせは、ユーザによって選択された処理として「画像ファイル スキャナから読取」と、「用紙サイズ A4」と、「モノクロ/カラー カラー」と、「解像度 300dpi」と、「ページ数 1」と、「部数 1」と、「キャンセル 送信」とが表示される。なお、この表示された値は、ユーザが任意に変更することができる。
よって、ユーザは、デバイス20から取得した処理対象ファイルにより実行された場合の画像構成を確認しつつ、必要な設定を任意の値に変更した上で、ジョブ送信を実行するか否かを判断することができる。ユーザは、ジョブ送信を実行する場合には、送信ボタンをカーソルなどで選択し、ジョブ送信を中止する場合には、キャンセルボタンをカーソルなどで選択する。
S4の処理で、ジョブ送信の問い合わせが表示されたら、その問い合わせ結果が、ジョブ送信の実行であるか否かを確認し(S5)、ジョブ送信の中止が選択された場合には(S5:No)、そのまま、本処理を終了する。
一方、S5の処理で確認した結果、ジョブ送信の実行が選択された場合には(S5:Yes)、ジョブファイル送信処理を実行し(S6)、S7の処理へ移行する。
ここで、図9(a)を参照して、S6のジョブファイル送信処理について説明する。ジョブファイル送信処理では、ファイル送信要求をPC30に対して送信し(S101)、
PC30に対して送信されたファイル送信要求に応答するファイル送信許可応答を受信したか否かを確認する(S102)。
S102の処理で確認した結果、ファイル送信許可応答を受信していなければ(S102:No)、タイムアウト時間が経過したか否かを確認し(S103)、タイムアウト時間が経過していなければ(S103:No)、S102の処理へ戻り、再度、ファイル送信許可応答の受信を確認する。
また、S103の処理で確認した結果、タイムアウト時間を経過していれば(S103:Yes)、送信先のPC30からファイル送信を拒否されたことや、IP電話アプリケーション14bとIP電話アプリケーション34bとの接続が解除されたことが考えられるので、ファイル送信OKフラグ14kをオフして(S105)、本処理を終了する。
一方、S103の処理で確認した結果、ファイル送信許可応答を受信していれば(S103:Yes)、ファイル送信OKフラグ14kをオンし(S104)、S3の処理で生成したジョブファイルをPC30のIP電話アプリケーション34bに対して送信して(S105)、本処理を終了する。
なお、先に、図9(b)から(d)の各ファイル送信処理について説明する。各ファイル送信処理は、図9(a)に示したジョブファイル送信処理に対して、送信されるファイルが異なるのみであり、他の処理は同様であるので、異なる処理のみ説明する。図9(b)に示す処理対象ファイル送信処理では、S116の処理で処理対象ファイルが送信され、図9(c)に示すジョブ実行可否ファイル送信処理では、S126の処理でジョブ実行可否ファイルが送信され、図9(d)に示すジョブ実行結果ファイル送信処理では、S136の処理でジョブ実行結果ファイルが送信される。
図5に戻って説明する。S7の処理では、ファイル送信OKフラグ14kを確認し(S7)、ファイル送信OKフラグ14kがオフであれば(S7:No)、ジョブファイルが送信されていないことになるので、そのまま、本処理を終了する。
一方、S7の処理で確認した結果、ファイル送信OKフラグ14kがオンであれば(S7:Yes)、PC10はジョブ実行モードにある。PC10は、次に、ジョブファイルにより指示される処理が外部のデバイス40で実行可能であるか否かを示すジョブ実行可否ファイルの受信を待機するために、IP電話アプリケーション34bから送信されるファイル送信要求を受信したか否かの確認をS8,S9の処理で繰り返し行う。
具体的には、S8の処理において、タイムアウト時間が経過したか否かを確認し(S8)、S9の処理で、IP電話アプリケーション34bからファイル送信要求を受信したか否かを確認する(S9)。そして、S8の処理で確認した結果、タイムアウト時間が経過していれば(S8:Yes)、ジョブ実行可否ファイルを未受信である旨をジョブ履歴(送信時)記憶エリア14cに記憶して(S23)、本処理を終了する。
なお、S9の処理で確認した結果、IP電話アプリケーション34bから送信されるファイル送信要求を受信していなければ(S9:No)、ジョブ実行モードであるため、S8の処理へ戻り、タイムアウト時間を経過したか否かの確認を行う。
一方、S9の処理で確認した結果、IP電話アプリケーション34bからファイル送信要求を受信したと確認されると(S9:Yes)、ユーザに問い合わせすることなくファイル送信許可応答を送信する(S10)。ここで、ユーザに問い合わせすることなくファイル送信許可応答を送信するのは、ジョブ実行モードであることがファイル送信OKフラグ14kで確認でき、接続先がPC30のIP電話アプリケーション34bであることも記憶してあり、確認できるからである。
また、S9の処理がNoであった場合に、その他の処理(PC10で実行される各種処理)を実行した後に、S8の処理へ移行するものとしても良い。
S10の処理で、ファイル送信許可応答を送信したら、IP電話アプリケーション34bからジョブ実行可否ファイルを受信完了するまで待機し(S11:No)、ジョブ実行可否ファイルを受信完了したら(S11:Yes)、受信ファイルを解析する受信ファイル解析処理を行う(S12)。この受信ファイル解析処理についての詳細な説明は後述する。
S12の受信ファイル解析処理が終わると、受信したファイルがジョブ実行可否ファイルであるか否かを確認するために、実行可否ファイルフラグ14fがオンであるか否かを確認する(S13)。
S13の処理で確認した結果、実行可否ファイルフラグ14fがオフであれば(S13:No)、受信したファイルがジョブ実行可否ファイルでないので、その受信したファイルの通常処理を行い(S14)、S8の処理へ戻り、他のファイルのファイル送信要求を受信するまで、再度、S8及びS9の処理を繰り返し実行する。
なお、S13の処理で実行可否ファイルフラグ14fがオフであれば、他のIP電話アプリケーション(例えば、IP電話アプリケーション54bなど)からファイルを受信したり、ジョブファイルに対する応答をするジョブ実行可否ファイルでないので、S14の処理で、通常処理を実行している。しかし、図5のファイル送信処理は、デバイス40が有する機能を実行させるための処理であるので、他のファイルを受信した場合には、S14の処理に代えて、受信したファイルを削除する処理を実行するものとしても良い。
一方、S13の処理で確認した結果、実行可否ファイルフラグ14fがオンであれば(S13:Yes)、ジョブ実行可否ファイルを受信したことになるので、次に、そのジョブ実行可否ファイルに含まれる情報からジョブファイルにより指示した機能がデバイス40で実行可能であるか否かを確認するために、ジョブ処理可能フラグ14gがオンである否かを確認する(S15)。
S15の処理で確認した結果、ジョブ処理可能フラグ14gがオフであれば(S17:No)、デバイス40において、ジョブファイルにより指示した処理が実行不可能であるので、S23の処理へ移行して、その旨をジョブ履歴(送信時)記憶エリア14cに記憶して(S23)、本処理を終了する。
一方、S15の処理で確認した結果、ジョブ処理可能フラグ14gがオンであれば(S15:Yes)、PC30に接続されたデバイス40において、ジョブファイルにより指示した処理が実行可能であるので、上述した処理対象ファイル送信処理において、デバイス20から取得した処理対象ファイルを送信し(S16)、ファイル送信OKフラグ14kがオンであるか否かを確認する(S17)。
S17の処理で確認した結果、ファイル送信OKフラグ14kがオフであれば(S17:No)、処理対象ファイルが未送信となったので、その旨をジョブ履歴(送信時)記憶エリア14cに記憶して(S23)、本処理を終了し、ファイル送信OKフラグ14kがオンであれば(S17:Yes)、S18の処理へ移行する。
S18の処理では、処理対象ファイルにより実行された処理の結果を示すジョブ実行結果ファイルの受信を待機するために、S8及びS9の処理と同様に、タイムアウト時間が経過したか否かを確認し(S18)、ファイル送信要求を受信したか否かを確認する(S19)。
そして、S18の処理で確認した結果、タイムアウト時間が経過していれば(S18:Yes)、処理対象ファイルを送信したが、ジョブ実行結果ファイルは未受信である旨をジョブ履歴(送信時)記憶エリア14cに記憶して(S23)、本処理を終了する。
一方、S19の処理で確認した結果、IP電話アプリケーション34bからファイル送信要求を受信した確認されると(S19:Yes)、ユーザに問い合わせすることなくファイル送信許可応答を送信し(S20)、後述する受信ファイル解析処理を実行する(S21)。
S22の処理では、受信したファイルがジョブ実行結果ファイルであるか否かを確認するために、実行結果ファイルフラグ14hがオンであるか否かを確認し(S22)、実行結果ファイルフラグ14hがオンであれば(S22:Yes)、ジョブ実行結果ファイルにより示される実行結果をジョブ履歴(送信時)記憶エリア14cに記憶して(S23)、本処理を終了する。
一方、S22の処理で確認した結果、実行結果ファイルフラグ14hがオフであれば(S22:No)、受信したファイルがジョブ実行結果ファイルでないので、受信ファイルの通常処理を行い(S24)、S18の処理へ戻り、他のファイルのファイル送信要求を受信するまで、S18及びS19の処理を繰り返し実行する。なお、S24の処理もS14の処理と同様に、受信したファイルを削除するものとしても良い。
次に、図6、図12及び図13を参照して、ファイル送信処理のS12及びS21の処理、後述するファイル受信処理のS61の処理およびジョブ実行処理のS80の処理で実行される受信ファイル解析処理について説明する。受信ファイル解析処理は、外部のIP電話アプリケーションから受信したファイルの種類を判別するための処理である。
まず、図12及び図13を参照して、ジョブファイル、ジョブ実行可否ファイル及びジョブ実行結果ファイルについて説明する。
図12(a)は、ジョブファイルの一例を示した図であり、その先頭部分に[File Type]として「jobfile」と記されている。また、[File Type]の他に、「お使いのIP電話端末が印刷機能に対応している場合に、下記処理を実行できるか問い合わせるファイルです。印刷機能未対応の場合は、何も実行されません。」のテキストデータが含まれている。このテキストデータをPC30が読み込んで解析することで、ジョブファイルであることを認識できる。なお、テキストデータに応じたテキスト表示を行うことで、操作者に受信したファイルを認識させることもできる。
さらに、ジョブファイルには、[JOBID]としての「Taro2008_01_25_12_30_44」、[機能]としての「カラー印刷」、[ファイル形式]としての「JPG」、[ファイルサイズ]としての「123456byte」、[用紙サイズ]としての「A4」、[解像度]としての「300dpi」、[ページ数]としての「1」、[部数]としての「1」の情報が含まれている。このように、図11(a)のUIで表示、変更された設定値がジョブファイルに反映されている。
なお、ジョブファイル内の「*」情報は、各ファイル毎のファイルサイズを一定にするために含まれる情報であり、各ファイルに含まれる情報量に応じて生成時に追加される情報である。
図12(b)は、ジョブ実行可否ファイル(可能)の一例を示した図であり、その先頭部分に[File Type]として「ジョブ実行可否」と記されている。また、[File Type]の他に、[JOBID]としての「Taro2008_01_25_12_30_44」、[応答]としての「実行可能」、「下記の機能を実行することができます。」のテキストデータが含まれている。
このように、ジョブファイルで示されたジョブが実行可能であれば、ジョブファイルに含まれていたテキストデータを基に、実行可能を示すテキストデータが作成され、ジョブ実行可否ファイルとして返信されることになる。このテキストデータも、ジョブファイルの送信元のPC10が読み込んで解析することでジョブ実行可否ファイルであることと、その内容を認識することができる。
さらに、ジョブ実行可否ファイル(可能)には、[機能]としての「カラー印刷」、[ファイル形式]としての「JPG」、[ファイルサイズ]としての「123456byte」、[用紙サイズ]としての「A4」、[解像度]としての「300dpi」、[ページ数]としての「1」、[部数]としての「1」、ファイルサイズを一定にするための「*」の情報が含まれている。
図12(c)は、ジョブ実行可否ファイル(不可)の一例を示した図であり、その先頭部分に[File Type]として「ジョブ実行可否」と記されている。また、[File Type]の他に、[JOBID]としての「Taro2008_01_25_12_30_44」、[応答]としての「実行不可」、「下記の理由により実行できません。」のテキストデータが含まれている。
さらに、ジョブ実行可否ファイル(不可)には、[印刷機能]としての「モノクロ印刷」が含まれている。即ち、ジョブファイルにより指示される機能が、カラー印刷を指示するものであるのに対して、デバイス40がカラー印刷に対応していないために実行が不可能であることが解る。
このように、ジョブファイルで示されたジョブが実行不可であれば、ジョブファイルに含まれていたテキストを基に、実行不可な理由を示すテキストデータが作成され、ジョブ実行可否ファイルとして返信されることになる。このテキストデータも、ジョブファイルの送信元のPC10が読み込んで解析することで、ジョブ実行可否ファイルであることと、その内容を認識することができる。
図13(a)は、ジョブ実行結果ファイル(成功)の一例を示した図であり、その先頭部分に[File Type]として「ジョブ実行結果」と記されている。また、[File Type]の他に、[JOBID]としての「Taro2008_01_25_12_30_44」、[応答]としての「実行成功」、「下記の機能の実行に成功しました。」のテキストデータが含まれている。
さらに、ジョブ実行結果ファイル(成功)には、[機能]としての「カラー印刷」、[ファイル形式]としての「JPG」、[ファイルサイズ]としての「123456byte」、[用紙サイズ]としての「A4」、[解像度]としての「300dpi」、[ページ数]としての「1」、[部数]としての「1」、ファイルサイズを一定にするための「*」の情報が含まれている。
このテキストデータも、ジョブファイルの送信元のPC10が読み込んで解析することで、ジョブ実行結果ファイルであることと、その内容を認識することができる。
図13(b)は、ジョブ実行結果ファイル(失敗)の一例を示した図であり、その先頭部分に[File Type]として「ジョブ実行結果」と記されている。また、[File Type]の他に、[JOBID]としての「Taro2008_01_25_12_30_44」、[応答]としての「実行失敗」、「下記の理由により実行に失敗しました。」のテキストデータが含まれている。
さらに、ジョブ実行結果ファイル(失敗)には、[印刷状態]としての「紙づまり」が含まれている。即ち、ジョブファイルにより指示される機能が、紙づまりにより実行が失敗したことが解る。
このテキストデータも、ジョブファイルの送信元のPC10が読み込んで解析することで、ジョブ実行結果ファイルであることと、その内容を認識することができる。
次に、図6に示す受信ファイル解析処理について説明する。受信ファイル解析処理が実行されると、まず、受信したファイルを解析する(S31)。受信ファイルの解析は、受信したファイルの先頭に記される[File Type]の情報を取得すると共に、その受信したファイルサイズも取得する。また、受信ファイルの先頭に[File Type]の情報が含まれていなければ、何もないとの解析結果とする。
S32の処理では、受信したファイルが、予め定められた規定のファイル形式(ジョブファイル、ジョブ実行可否ファイル、ジョブ実行結果ファイル)であるか否かを確認する(S32)。ファイル形式の確認は、受信したファイルの先頭に記されている[File Type]を参照して確認される。
S32の処理で確認した結果、ジョブファイル、ジョブ実行可否ファイル及びジョブ実行結果ファイルのいずれかのファイルを受信しており、規定のファイル形式であれば(S32:Yes)、次に、各ファイルが予め定められた規定のファイルサイズであるか否かを確認する(S33)。
S33の処理では、上述したように、ジョブファイル、ジョブ実行可否ファイル及びジョブ実行結果ファイルは、「*」情報を含んでおり、一定のファイルサイズになるように構成されている。そのため、受信したファイルサイズを確認し、予め定めた規定のファイルサイズであるか否かを確認することができる。
S32の処理で確認した結果、規定のファイル形式でなかったり(S32:No)、S33の処理で確認した結果、規定のファイルサイズでなければ(S33:No)、S34からS42の処理を実行することなく、S43の処理へ移行する。
一方、S33の処理で確認した結果、受信したファイルが規定のファイルサイズであれば(S33:Yes)、受信ファイルがジョブファイル形式か(S34)、受信したファイルがジョブ実行可否ファイル形式か(S35)、受信したファイルがジョブ実行結果ファイル形式か(S35)を確認する。
受信したファイル形式がジョブファイル形式であれば(S34:Yes)、ジョブファイルフラグ14eをオンして(S37)、本処理を終了する。
また、受信したファイル形式がジョブ実行可否ファイル形式であれば(S34:No、S35:Yes)、実行可否ファイルフラグ14fをオンして(S38)、ジョブが実行可能であるか否かを確認する(S39)。ジョブが実行可能であるか否かの確認は、ジョブ実行可否ファイルに含まれる[応答](図12(b)及び(c))を参照して行う。
S39の処理で確認した結果、ジョブが実行可能であれば(S39:Yes)、ジョブ処理可能フラグ14gをオンし(S40)、ジョブが実行不可能であれば(S39:No)、ジョブ処理可能フラグ14gをオフし(S41)、本処理を終了する。
また、受信したファイル形式がジョブ実行結果ファイル形式であれば(S34:No、S35:No、S36:Yes)、実行結果ファイルフラグ14hをオンして(S42)、本処理を終了する。
一方、S34からS36の処理で確認した結果、受信したファイルのファイル形式が、ジョブファイル、ジョブ実行可否ファイル及びジョブ実行結果ファイルでなければ(S34:No、S35:No、S36:No)、受信したファイルが、ジョブファイルの[ファイル]で指定されている処理対象ファイルのファイル形式であるか否かを確認する(S43)。
S43の処理では、例えば、図12(a)で示すジョブファイルの一例において[ファイル]は「JPG」に指定されているので、受信したファイル形式が「JPG」であるか否かを確認する。
S43の処理で確認した結果、処理対象ファイルのファイル形式であれば(S43:Yes)、次に、受信したファイルが、ジョブファイルの[ファイルサイズ]で指定されている処理対象ファイルのファイルサイズであるか否かを確認する(S44)。
S44の処理では、例えば、図12(a)で示すジョブファイルにおいて[ファイルサイズ]が「123456byte」に指定されているので、受信したファイルのファイルサイズが「123456byte」であるか否かを確認する。
そして、受信したファイルのファイルサイズが処理対象ファイルのファイルサイズであれば(S44:Yes)、処理対象ファイルフラグ14iをオンして(S45)、本処理を終了する。
なお、S43の処理で確認した結果、受信したファイルのファイル形式が、処理対象ファイルのファイル形式でなかったり(S43:No)、S44の処理で確認した結果、受信したファイルのファイルサイズが、処理対象ファイルのファイルサイズでなければ(S43:Yes、S44:No)、そのまま、本処理を終了する。
なお、受信したファイルが、処理対象ファイルでなかった場合には(S43:No、S44:No)、そのまま本処理を終了するものとしたが、受信したファイルに応じたその他の処理を実行した後に、本処理を終了するものとしても良い。
次に、図7を参照して、受信側PCで実行されるファイル受信処理について説明する。このファイル受信処理は、PC30において、外部のIP電話アプリケーション14bからファイル送信要求を受信した場合に実行される処理である。
ファイル受信処理が実行されると、遠隔処理自動実行モードであるか否かを確認する(S51)。遠隔処理自動実行モードであるか否かは、PC30において予めユーザによって設定されている。図11(b)には、遠隔処理自動実行モードの設定画面が例示されており、「相手のIP電話端末から本機の機能を操作することを許可しますか?」の表示と、選択肢として「はい」及び「いいえ」ボタンとが表示されている。PC30は、予めユーザにより設定された情報をRAM33又はHDD34の所定エリアに記憶しておき、その記憶した情報に基づいてS51の確認を行う。
S51の処理で確認した結果、遠隔処理自動実行モードに設定されていなければ(S51:No)、外部のIP電話アプリケーションとの間でIP電話が通話中であるか否かを確認する(S52)。
なお、S52の処理では、外部のIP電話アプリケーションとの間でIP電話が通話中であるか否かを確認したが、外部のIP電話アプリケーションとの間でチャット中であるか否かを確認するように構成しても良い。
S52の処理で確認した結果、外部のIP電話アプリケーションとの間でIP電話が通話中であれば(S52:Yes)、その通話中のIP電話アプリケーション14bからのファイルを受信したか否かを確認し(S53)、IP電話アプリケーション14bからのファイルの受信であれば(S53:Yes)、実際に通話している相手からのファイル受信であり、信頼できる相手となるので、ユーザにファイル受信の可否を問い合わせることなく、S54の処理へ移行する。
また、S51の処理で確認した結果、遠隔処理自動実行モードに設定されていれば(S51:Yes)、S52及びS53の処理で、IP電話が通話中であるか否か、通話中の相手からのファイル受信であるか否かを確認する必要がないので、S52及びS53の処理を行うことなく、S54の処理へ移行する。
S54及びS55の処理では、外部のIP電話アプリケーション14bから受信したファイル送信要求により伝えられたファイル形式がジョブファイルに対応したファイル形式か否かを確認すると共に(S54)、受信したファイル送信要求により伝えられたファイルサイズがジョブファイルに対応したファイルサイズであるか否かを確認する(S55)。
そして、受信したファイルのファイル形式がジョブファイルに対応したファイル形式であり(S54:Yes)、受信したファイルのファイルサイズがジョブファイルに対応したファイルサイズであれば(S55:Yes)、ユーザに問い合わせることなく、ファイル送信許可応答を送信し(S56)、S60の処理へ移行する。
なお、S54及びS55の処理で、受信したファイルのジョブファイルのファイル形式およびファイルサイズである否かを確認するのは、ファイル受信処理がジョブファイルを受信し、その後、処理対象ファイルを受信する一連の処理であるため、ファイル受信処理の開始時に、ジョブファイルであるか否かを確認している。
一方、S52の処理で確認した結果、外部のIP電話アプリケーション14bを介したIP電話が通話中でなかった場合(S52:No)、通話中の相手先からのファイル受信でなかった場合(S53:No)、ファイル送信要求に含まれるファイル形式がジョブファイル形式でなかった場合(S54:No)、ファイル送信要求に含まれるファイルサイズがジョブファイルのファイルサイズでなかった場合には(S55:No)、ファイルを受信するか否かの問い合わせを表示する(S57)。
S58の処理では、ユーザへの問い合わせ結果が、受信許可が選択されたか否かを確認し(S58)、ユーザが受信許可を選択した場合には(S58:Yes)、ファイル送信許可応答を送信し(S59)、S60の処理へ移行し、ユーザが受信拒否を選択した場合には(S58:No)、ファイル送信許可応答を送信することなく、本処理を終了する。
S60の処理では、ファイル受信を完了したか否かを確認し(S60)、ファイル受信を完了するまで待機し(S60:No)、ファイルの受信が完了すれば(S60:Yes)、上述した受信ファイル解析処理を実行する(S61)。
S62の処理では、受信したファイルがジョブファイルであり、受信ファイル解析処理においてジョブファイルフラグ34eがオンされているか否かを確認し(S62)、ジョブファイルフラグ14eがオンであれば(S62:Yes)、後述するジョブ実行処理を実行して(S63)、本処理を終了する。
一方、S62の処理で確認した結果、ジョブファイルフラグ14eがオフであれば(S62:No)、S57の処理でユーザに問い合わせをして受信したファイルであるか否かを確認する(S64)。
S64の処理で確認した結果、ユーザに問い合わせをして受信したファイルであれば(S64:Yes)、その受信したファイルに応じた受信ファイル通常処理を実行し(S65)、ユーザに問い合わせをしていないファイルを受信したものであれば(S64:No)、その受信したファイルを削除して(S66)、本処理を終了する。
なお、S66の処理で、ユーザがファイルの受信を許可したファイルでなければ、その受信したファイルを削除しているので、不明なファイルに応じた処理が実行されることを防止し、セキュリティを高めることができる。
次に、図8を参照して、受信側PCで実行されるジョブ実行処理について説明する。ジョブ実行処理は、図7に示すファイル受信処理のS63の処理が実行された場合に行われる処理である。
ジョブ実行処理が実行されると、まず、デバイス40において実行可能な機能などを含むデバイス情報をデバイス情報記憶エリア34jから取得し(S71)、その取得したデバイス情報と、ジョブファイルに含まれる[機能]、[ファイル形式]、[用紙サイズ]、[解像度]などの情報とを比較して、ジョブファイルにより指示されるジョブが実行可能であるか否かを判定する(S72)。
S73の処理では、S72の判定結果が、ジョブファイルにより指示されるジョブが実行可能であるか否かを確認し(S73)、ジョブが実行可能であれば(S73:Yes)、ジョブ実行可否(可能)ファイルを生成し(S74)、その生成したジョブ実行可否(可能)ファイル(図12(b)参照)を、上述したジョブ実行可否ファイル送信処理により送信する(S75)。
その後、S76の処理では、ジョブ実行可否ファイル送信処理において、ジョブ実行可否ファイルが正常に送信されたか否かを確認するために、ファイル送信OKフラグ34kがオンであるか否かを確認し(S76)、ファイル送信OKフラグ34kがオフであれば(S76:No)、ファイル送信が実行されなかった旨の実行結果を、ジョブ履歴(受信側)記憶エリア34dに記憶し(S87)、本処理を終了する。
一方、S76の処理で確認した結果、ファイル送信OKフラグ34kがオンであれば(S76:Yes)、ジョブ実行可否(可能)ファイルにより実行可能であることを応答した後に送信される処理対象ファイルの受信を待機するために、外部のIP電話アプリケーション14bから送信されるファイル送信要求を受信したか否かの確認をS77,S78の処理で繰り返し行う。
具体的には、S77の処理において、タイムアウト時間が経過したか否かを確認し(S77)、S78の処理において、ファイル送信要求を受信したか否かを確認する(S78)。S77の処理で確認した結果、タイムアウト時間が経過していれば(S77:Yes)、それ以降の処理を実行できないので、S87の処理へ移行して、その旨をジョブ履歴(受信時)記憶エリア34dに記憶して(S87)、本処理を終了する。
一方、IP電話アプリケーション14bからファイル送信要求を受信すれば(S78:Yes)、ユーザに問い合わせすることなく、ファイル送信許可応答をIP電話アプリケーション14bに送信して(S79)、上述した受信ファイル解析処理を実行する(S80)。
S81の処理では、処理対象ファイルを受信しており、処理対象ファイルフラグ34iがオンであるか否かを確認し(S81)、処理対象ファイルフラグ34iがオフであれば(S81:No)、ジョブ実行処理に対応しないファイルを受信したことになるので、その受信ファイルを削除し(S86)、S87の処理へ移行して、その旨をジョブ履歴(受信時)記憶エリア34dに記憶して(S87)、本処理を終了する。
一方、S81の処理で確認した結果、処理対象ファイルフラグ34iがオンであれば(S81:Yes)、処理対象ファイルを用いてジョブファイルにより指示された処理を実行する(S82)。S82の処理は、具体的には、デバイス40に対して、画像を印刷する指示を出力すると共に、処理対象ファイルに含まれる画像データを送信する処理である。さらに、ジョブの実行結果の取得命令も送信する。
S83の処理では、デバイス40からジョブの実行結果を取得する(S83)。S83の処理は、S82の処理で指示したジョブの実行がデバイス40において成功したか、又は、デバイス40に何らかのエラー(紙づまり、紙ぎれ、インク無しなど)が発生して失敗したかを取得する処理である。
そして、S83の処理で取得した実行結果に基づいて、ジョブ実行結果ファイルを生成し(S84)、上述したジョブ実行結果ファイル送信処理で生成したジョブ実行結果ファイルを送信して(S85)、S87の処理を実行した後に、本処理を終了する。
S85の処理が終了した後に実行されるS87の処理では、ジョブ実行結果ファイル送信処理において、正常にジョブ実行結果ファイルが送信されたか否かをファイル送信OKフラグ34kを確認し、そのファイル送信OKフラグ34kの状態に応じた結果がジョブ履歴(受信時)記憶エリア34dに記憶される。
次に、S73の処理で、ジョブの実行が不可能であると確認された場合の処理(S91からS97の処理)について説明する。S73の処理で確認した結果、デバイス40が有さない機能をジョブファイルにより指示され、ジョブの実行が不可能であった場合には(S73:No)、外部のIP電話アプリケーションを介してIP電話が通話中であるか否かを確認する(S91)。
S91の処理で確認した結果、IP電話が通話中であれば(S91:Yes)、デバイス40の状態を取得し(S92)、ジョブの失敗原因はユーザ操作により復旧可能か否かを確認する(S93)。
S92の処理は、デバイス40に何らかのエラー(紙づまり、紙ぎれ、インク無しなど)が発生していなかを取得する処理であり、そのエラーの発生原因をユーザ操作により加除できるか否かをS93の処理で確認している。
S93の処理で確認した結果、ジョブ失敗原因をユーザ操作により解除可能であれば(S93:Yes)、エラーの解除操作をユーザに促す表示を行うと共に、ジョブを再実行するか否かの問い合わせを表示する(S94)。
そして、S95の処理では、ユーザによりジョブの再実行が選択されたか否かを確認し(S95)、ユーザにより再実行が選択されていれば(S95:Yes)、S72の処理へ戻り、再度、ジョブ実行の可否を判定する。
一方、S91の処理で確認した結果、IP電話が通話中でない場合(S91:No)、S93の処理で確認した結果、ジョブ失敗原因をユーザ操作により解除できない場合(S93:No)、又は、S95の処理で確認した結果、ユーザが再実行をしないと選択した場合には(S95:No)、ジョブ実行可否(不可)ファイルを生成する(S96)。
S97の処理では、上述したジョブ実行結果ファイル送信処理において生成したジョブ実行可否(不可)ファイル(図12(c)参照)を送信して(S97)、S87の処理を実行した後に、本処理を終了する。
S97の処理が終了した後に実行されるS87の処理では、S85の処理移行に実行されるS87の処理と同様に、ファイル送信OKフラグ34kを確認し、そのファイル送信OKフラグ34kの状態に応じた結果をジョブ履歴(受信時)記憶エリア34dに記憶する。
なお、ジョブ履歴(受信時)記憶エリア34dに記憶されるジョブ実行結果は、図示しないジョブ履歴ボタンを選択することでジョブ履歴を表示することができる。このジョブ履歴表示の一例を図11(c)に図示する。
図11(c)に示すように、ジョブ履歴には、ファイルを受信した日付と、ファイルを受信した時間と、実行が指示された処理と、実行を指示したIP電話アプリケーションのIP電話端末名と、実行結果とが表示されるように構成されている。このジョブ履歴を確認することで、ユーザが不在時に処理が実行された場合でも、実行された処理を確認することができる。
以上、説明したように、第1実施形態のIP電話システム1によれば、1のPC(PC10)から機能の実行を指示するジョブファイルを他のPC(PC30)が受信すると、そのジョブファイルにより指示される機能が実行可能であるか否かに応じたジョブ実行可否ファイルが1のPCに送信され、その後に、1のPCから機能の実行を行う実行データを含む処理対象ファイルを受信すると、その処理対象ファイルに基づいて機能の実行がなされる。
よって、1のPCにおいては、ジョブ実行可否ファイルによって他のPCやデバイスで機能が実行可能である場合のみ処理対象ファイルを送信するので、他のPCやデバイスで機能が実行不可能である場合には処理対象ファイルを未送信にでき、不要なファイル送信の処理を省くことができる。また、他のPCにおいては、処理対象ファイルを受信した場合には、その処理対象ファイルに基づいた機能を確実に実行することができる。
また、1のPCと他のPCとの間で、他のPCにおいて機能が実行可能であるか否かのファイルの送受信を行い、他のPCにおいて機能の実行が可能である場合のみ、1のPCから他のPCへ処理対象ファイルが送信されるので、IP電話が有するファイル送信機能を有効に利用することができる。
また、受信側PC30では、ジョブファイルを送信したPC10からのファイル送信要求であれば、ユーザに問い合わせすることなく、ファイル送信許可応答を送信するので、通話先が把握でき安全性が確保されている状態での煩わしい操作が不要になり、使い勝手を向上することができる。
また、受信側PC30は、IP電話が通話中であるIP電話アプリケーションからのファイル送信要求であれば、ユーザに問い合わせすることなく、ファイル送信許可応答を送信するので、通話先が把握でき安全性が確保されている状態での煩わしい操作が不要になり、使い勝手を向上することができる。
また、ジョブファイル、ジョブ実行可否ファイル及びジョブ実行結果ファイルには、それぞれ、ファイル形式とデータサイズとが定められているので、受信したファイルを正確に把握することができる。さらに、処理対象ファイルは、ジョブファイルにより指示されたファイル形式とデータサイズとを確認するので、処理対象ファイルも正確に把握することができる。
また、ジョブファイルは、[機能]、[ファイル形式]、[ファイルサイズ]、[用紙サイズ]、[解像度]、[ページ数]及び[部数]など複数の情報が含まれており、その複数の情報に基づいて他のPC又はデバイスで機能が実行可能であるか否かが判断される。よって、他のPC又はデバイスで機能が実行可能であるか否かを正確に判断することができる。
また、ジョブファイル、ジョブ実行可否ファイル、ジョブ実行結果ファイル及び処理対象ファイルは、テキストデータを含んで構成されており、そのテキストデータは、PC又はデバイスであれば解析が容易なデータであるので、各ファイルの解析を簡単な処理で行うことができる。
次に、図14を参照して、第2実施形態のIP電話システム100について説明する。図14(a)は、第2実施形態のPC110およびデバイス120の構成を模式的に示した図であり、図14(b)は、第2実施形態のIP電話システム100において各IP電話端末間で行われるプログラムの流れを示したシーケンスチャートである。なお、第2実施形態のIP電話システム100の各構成に付される番号は、第1実施形態のIP電話システム1の各構成に付された番号に100を足したものである。
なお、第2実施形態のPC110には、第1実施形態のPC10にインストールされる中間アプリケーション14aおよびIP電話アプリケーション14bの代わりに、中間アプリケーションの機能が組み込まれたIP電話アプリケーション114bがインストールされている。
図14(a)に示すように、第2実施形態のPC110は、IP電話アプリケーション114bに、読込ファイル、書込・読込ファイル及び応答ファイルを生成する機能が含まれている。具体的には、図14(b)に示すように、IP電話アプリケーション114bにおいて、各ファイルの生成、その生成したファイル送信要求、生成したファイルの送信の処理が実行される。
一方、接続先のPC130のIP電話アプリケーション134bにおいて、ファイル送信許可応答の送信、受信したファイルの解析、応答ファイルの生成、応答ファイルの送信、デバイス40の設定情報の更新指示などの処理が実行される。
つまり、第1実施形態の中間アプリケーション14a,34a,54aで実行可能な処理が、IP電話アプリケーション114b,134b,154bで実行可能に構成されている。
よって、第1実施形態に比べて、中間アプリケーション14aとIP電話アプリケーション14bとのデータの受け渡しの処理が無くなり、1のアプリケーション内で完結できるので、処理をスムーズに行うことができる。
次に、図15を参照して、第3から第5実施形態について説明する。図15(a)は、第3実施形態のPC210及びデバイス220の構成を模式的に示した模式図であり、図15(b)は、第4実施形態のPC310及びデバイス320の構成を模式的に示した模式図であり、図15(c)は、第5実施形態のPC410及びデバイス420の構成を模式的に示した模式図である。
なお、第3実施形態のIP電話システム200の各構成に付される番号は、第1実施形態のIP電話システム1の各構成に付された番号に200を足したものであり、第4実施形態のIP電話システム300の各構成に付される番号は、第1実施形態のIP電話システム1の各構成に付された番号に300を足したものであり、第5実施形態のIP電話システム400の各構成に付される番号は、第1実施形態のIP電話システム1の各構成に付された番号に400を足したものである。
第3実施形態では、デバイス220に中間アプリケーション214aがインストールされており、PC210にIP電話アプリケーション214bがインストールされている。
また、第4実施形態では、デバイス320に、中間アプリケーション314a及びIP電話アプリケーション314bがインストールされている。即ち、デバイス320から直接、他のPC又はデバイスに対してIP電話およびファイル送信が可能に構成されている。
また、第5実施形態では、デバイス420にIP電話アプリケーション414bがインストールされており、そのIP電話アプリケーション314bに、読込ファイル、書込・読込ファイル、応答ファイルを生成する機能が含まれている。
以上、説明したように、中間アプリケーションとIP電話アプリケーションがインストールされる端末装置は、PCとデバイスとの組み合わせのPCであっても良いし、PCとデバイスとの組み合わせからなるデバイスであっても良いし、デバイスのみであっても良い。
さらに、中間アプリケーションが組み込まれたIP電話アプリケーションをPCにインストールしても良いし、デバイスにインストールしても良い。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態になんら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、上記各実施形態では、接続先のIP電話アプリケーションからのファイル送信要求であったり、IP電話が通話中のIP電話アプリケーションからのファイル送信要求であれば、ユーザに問い合わせすることなく、ファイル送信許可応答を送信するものとしたが、逆に、全てのファイル送信要求に対して、ユーザに問い合わせを行うように構成しても良い。この構成にすれば、セキュリティを高めることができる。
また、上記各実施形態では、PCやデバイスの機能についての文字列(デバイス情報)がプロフィールに付加される構成としたが、PCやデバイスの機能についての文字列(デバイス情報)が表示名に付加される構成であっても良い。PCやデバイスの機能についての文字列を表示名に付加することで、外部のIP電話端末のユーザに対して、自機が有する機能を容易に把握させることができる。