以下、本発明の好ましい実施形態について、添付図面を参照して説明する。なお、本発明のIP電話端末を有する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とを主に有している。また、図示しないが、液晶ディスプレイ(表示装置)や、入力手段としてのキーボードやマウス(入力部)など、一般的なPCの構成を有している。
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には、所定の領域内に画像を描画する画像データやフォントデータ(種別情報)、所定の領域内における画像の位置を示す位置データ(位置情報)及び画像の大きさを示すサイズデータ(サイズ情報)などを含むテンプレート(テンプレート情報)が複数種類記憶されるTemplate情報記憶エリア14cと、デバイス情報記憶エリア14dとが設けられている。
Template情報記憶エリア14cは、細分化すると、Template_Resouce(以下「T_R」と略す)14c1と、User_Resouce(以下「U_R」と略す)14c2と、Layout_Lay(以下「L_L」と略す)14c3とが設けられている。
T_R14c1は、所定のテンプレートが選択された場合に、そのテンプレートの画像データ(後述するT_image)やフォントデータ(後述するT_font)などが記憶される領域である。U_R14c2は、所定の領域内にユーザが新たに画像を追加した場合に、その画像に対応した画像データ(後述するU_image)や文字列データ(後述するU_text)などが記憶される領域である。L_L14c3は、テンプレートの実体とも言え、画像(画像データやフォントデータ、文字列データ)に対して、その画像の所定の領域内における位置や大きさなどを関連づけた記述データが記憶される領域である。
デバイス情報記憶エリア14dは、デバイス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は、外部のPC又はデバイスが有するテンプレートの画像データやフォントデータの種別を取得する読込ファイルや、テンプレートに基づいた画像を印刷させる実行ファイルを生成する。
また、中間アプリケーション14aは、外部のPCから送信された応答ファイルを解析して、外部の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では、PC10からPC30に読込ファイル及び実行ファイルが送信され、PC30からPC10に応答ファイルが送信されると共に、PC30からデバイス40に印刷用のデータと印刷を指示する命令が送信される経路が図示されている。
具体的には、まず、中間アプリケーション14aは、IP電話アプリケーション14bの登録情報格納部15に格納される登録情報を参照して、接続する外部のIP電話アプリケーション34bを選択し、そのIP電話アプリケーション34bとIP電話アプリケーション14bとの間を接続させる。その後、中間アプリケーション14aは、テンプレートの画像データやフォントデータの種別を取得する取得命令を含む読込ファイルをファイル送信部18を介してPC30のファイル受信部39に送信する。
PC30の中間アプリケーション34aでは、IP電話アプリケーション34bのファイル受信部39を介して受信した読込ファイルを解析し、PC30(又はデバイス40)が有するテンプレートの画像データやフォントデータの種別を含む応答ファイルをファイル送信部39を介してPC10のファイル受信部18に送信させる。
一方、PC10の中間アプリケーション14aは、応答ファイルを受信すると、その応答ファイルを解析し、PC30が有する画像データやフォントデータを削除した実行ファイルを、ファイル送信部18を介してPC30のファイル受信部39に送信する。
そして、PC30の中間アプリケーション34aは、実行ファイルを受信すると、PC30が有するテンプレートの画像データやフォントデータを追加した後の印刷データ及び印刷命令をプリンタ65に送信する。デバイス40は、印刷命令と印刷データを受信すると、その受信した印刷データに応じた印刷を行う。この具体的な処理は、図4から図11を用いて後述する。
次に、図3を参照して、IP電話アプリケーション14b,34b、54bに設けられる登録情報格納部15,35,55について説明する。なお、図3の説明では、登録情報格納部35について説明する。図3は、PC30の登録情報格納部35に登録情報を登録する一連の処理の流れを説明する図である。
図3に示すように、中間アプリケーション34aには、文字列付加モジュール36及びデバイス監視モジュール37が設けられている。また、PC30は、デバイス情報記憶エリア34dに記憶されるデバイス情報と、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情報記憶エリア32aから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に対して、選択されたテンプレートに基づいた画像を印刷させる場合のシーケンスチャートについて説明する。
図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)。
その後、PC10では、Template情報記憶エリア14cからテンプレートを選択し(P3)、その選択したテンプレートに基づいて、外部のPC30が有するテンプレートの画像データやフォントデータの種別を取得する取得命令を含む読込ファイルを生成し(P4)、その読込ファイルの送信命令を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)。
一方、中間アプリケーション14aでは、IP電話アプリケーション34bからファイル送信許可応答を受信すると、IP電話アプリケーション14bの読込ファイルの送信機能が実行される(P8)。具体的には、図2におけるIP電話アプリケーション14bが備えるファイル送信部19から、IP電話アプリケーション34bが備えるファイル受信部38に読込ファイルが送信されることである。
中間アプリケーション34aでは、PC10のIP電話アプリケーション14bから送信され、IP電話アプリケーション34bにより受信した読込ファイルを、IP電話アプリケーション34bから受け取り、その受け取った受信ファイルの解析が行われる(P9)。
そして、受信ファイルがテンプレートの画像データやフォントデータの種別の取得を指示するものであったら、必要に応じてデバイス40にデータ取得命令を送信し、デバイス40では、データを取得し(P10)、その取得したデータをPC30に送信する。ここで、必要に応じてとは、デバイス40が記憶しているテンプレートを使用して、後述する印刷処理を行う場合である。よって、PC30が記憶しているテンプレートを使用する場合には、デバイス40への取得命令は実行されない。
中間アプリケーション34aでは、デバイス40から取得したテンプレート、又は、Template情報記憶エリア34cに記憶されたテンプレートの画像データやフォントデータの種別を含む応答ファイルを生成し(P11)、その応答ファイルの送信命令をIP電話アプリケーション34bに発令する(P12)。応答ファイルの送信命令がなされたIP電話アプリケーション34bは、PC10のIP電話アプリケーション14bに対してファイル送信要求を送信する。
PC10の中間アプリケーション14aでは、ファイル送信を許可するファイル送信許可応答を送信するか否かの判断がなされる(P13)。そして、ファイル送信許可応答をPC30に送信すると判断されると、ファイル送信許可応答の応答命令が中間アプリケーション14aからIP電話アプリケーション14bに送信され、IP電話アプリケーション14bからPC30のIP電話アプリケーション34bに対してファイル送信許可応答の信号が送信される。
中間アプリケーション14aでは、ファイル送信許可応答の応答命令を発令した後に、IP電話アプリケーション34bから送信される応答ファイルをIP電話アプリケーション14bが受信し、その受信した応答ファイルをIP電話アプリケーション14bから受け渡されることが待機される(P14)。
一方、中間アプリケーション34aでは、IP電話アプリケーション14bからファイル送信許可応答を受信すると、IP電話アプリケーション34bの応答ファイルの送信機能が実行される(P15)。具体的には、図2におけるIP電話アプリケーション34bが備えるファイル送信部39から、IP電話アプリケーション14bが備えるファイル受信部18に応答ファイルが送信されることである。
中間アプリケーション14aでは、PC30のIP電話アプリケーション34bから送信され、IP電話アプリケーション14bにより受信した応答ファイルを、IP電話アプリケーション14bから受け取り、その受け取った応答ファイルに含まれる画像データやフォントデータの種別の解析が行われる(P16)。
そして、応答ファイルの解析結果に基づいて、PC30に記憶されているテンプレートが有する画像データ及びフォントデータを、P3で選択したテンプレートから削除し(P17)、その削除後に残存する画像データ及びフォントデータを含む実行ファイルを生成し(P18)、実行ファイルの送信命令をIP電話アプリケーション14bに発令し(P19)、IP電話アプリケーション14bがIP電話アプリケーション34bに対してファイル送信要求を送信する。
PC30の中間アプリケーション34aでは、ファイル送信を許可するファイル送信許可応答を送信するか否かの判断がなされ(P20)、ファイル送信許可応答をPC10に送信すると判断されると、ファイル送信許可応答の応答命令が中間アプリケーション34aからIP電話アプリケーション34bに送信され、IP電話アプリケーション34bからPC10のIP電話アプリケーション14bに対してファイル送信許可応答の信号が送信される。
中間アプリケーション34aでは、ファイル送信許可応答の応答命令を発令した後に、IP電話アプリケーション14bから送信される実行ファイルをIP電話アプリケーション34bが受信し、その受信した実行ファイルをIP電話アプリケーション34bから受け渡されることが待機される(P21)。
一方、中間アプリケーション14aでは、IP電話アプリケーション34bからファイル送信許可応答を受信すると、IP電話アプリケーション14bの実行ファイルの送信機能が実行される(P22)。
中間アプリケーション34aでは、PC10のIP電話アプリケーション14bから送信され、IP電話アプリケーション34bにより受信した実行ファイルを、IP電話アプリケーション34bから受け取り、その受け取った実行ファイルを解析する(P23)。
そして、実行ファイルを解析した結果、PC30又はデバイス40に記憶されているテンプレートの画像データ及びフォントデータを実行ファイルに追加する必要があれば、PC30又はデバイス40のテンプレートの画像データ及びフォントデータを実行ファイルのテンプレートに合成し(P24)、その合成後の実行ファイルに基づいた印刷命令をデバイス40に送信し、デバイス40では印刷処理が行われて(P25)、一連の処理が終了する。
次に、図5から図11を参照して、PC10,30で実行される具体的な処理について説明する。なお、以下の説明では、送信側PCをPC10とし、受信側PCをPC30として説明する。
図5は、送信側のPC(例えば、PC10)で実行されるファイル送信処理を示したフローチャートである。図6は、送信側のPC(例えば、PC10)で実行されるLayout.lay分解処理を示したフローチャートである。図7は、送信側のPC(例えば、PC10)で実行される実行ファイル削除処理を示したフローチャートである。図8は、受信側のPC(例えば、PC30)で実行されるファイル受信処理を示したフローチャートである。図9は、中間アプリケーション14aが起動された場合に表示されるユーザインターフェース(以下「UI」と略す)の一例を示した図である。図10は、Layout.layの記述データの一例およびTemplate情報記憶エリア14cのデータ構成の一例を示した図である。図11は、PC30から受信した応答ファイルのデータ構成の一例およびその応答ファイルに基づいて画像データやフォントデータを削除した状態のTemplate情報記憶エリア14cのデータ構成の一例を示した図である。
まず、最初に、図9を参照して、接続先のIP電話アプリケーション(例えば、IP電話アプリケーション34b,54b)を選択する(コンタクトリストを取得する)方法、及び、接続先のIP電話端末(例えば、デバイス40,60)に実行させる処理を選択する方法について説明する。
図9(a)に示すように、送信側PC10において中間アプリケーション14aが起動されると、登録情報格納部15に格納された登録情報がIP電話アプリケーション14bを介して取得され、コンタクトリストが表示される。
なお、「コンタクトリスト」の中点線で囲われた(以下「フォーカスされた」と言う)表示名に対応する機能識別情報が「選択したユーザデバイスのデバイス情報」に表示される。具体的には、フォーカスされたユーザデバイスの”Br_dcp_420_sato”のデバイス名が”Br DCP 420”であり、デバイス機能が”プリンタ、スキャナ、メモリカードスロット”であることを示している。
また、「IP電話アプリケーション基本機能」における「チャット...」、「電話...」、「ファイル送信...」および「ユーザ検索...」の各ボタンも表示されており、各ボタンをカーソルなどで選択することにより、IP電話アプリケーションの基本機能である各機能を実行することができる。
さらに、他のPCにインストールされたIP電話アプリケーションに登録された情報を取得するための「ユーザデバイス検索...」ボタンと、他のPCや他のPCに接続されたデバイスの機能を利用するための「ユーザデバイスを使った機能...」ボタンも表示されており、各ボタンをカーソルなどで選択することにより、ユーザデバイスの検索やユーザデバイスの機能を利用することができる。
図9(b)に、「ファイル送信」の機能が選択された場合のUIの一例を示す。図9(b)に示すように、ファイル送信の機能が選択されると、ファイル送信のUIが起動される。ファイル送信のUIは、「テンプレートを選んで下さい」と、「ユーザー画像を選んで下さい」と、「ユーザ文字列を入力して下さい」と、「Template image」とが設けられている。
「テンプレートを選んで下さい」には、Template情報記憶エリア14cに記憶されている複数のテンプレートが取得され、その取得されたテンプレート名が表示される。そして、表示された複数のテンプレートから1のテンプレートを選択可能に構成されている。1のテンプレートを選択すると、そのイメージが「Template image」に表示される。
「ユーザ画像を選んで下さい」は、テンプレート内に配置する任意の画像を選択可能に構成されている。ユーザが画像を選択すると、「Template image」内のUser添付画像の領域に画像が表示される。なお、画像を2つ選択可能に構成されているが、これは、ユーザが選択したテンプレートにおいて画像を添付する領域が2つ設けられているからである。また、ユーザが画像を選択しない場合には、選択されたテンプレートにおいて予め定められた画像が表示される。
「ユーザ文字列を入力して下さい」は、テンプレート内に配置する任意の文字列を入力可能に構成されている。ユーザが文字列を入力すると、「Template image」内のUser記述文字列の領域に文字列が表示される。なお、文字列を2つ入力可能に構成されているのは、選択したテンプレートにおいて文字列を入力する領域が2つ設けられているからである。また、ユーザが文字列を入力しない場合には、選択されたテンプレートにおいて予め定められた文字列が表示される。
なお、ユーザによってテンプレートが選択された場合、及び、ユーザ画像が選択された場合、ユーザ文字列が入力された場合には、自動的に、Layout.layが生成され、その記述データがL_L14c3に記憶される。このLayout.layの一例が、図10(a)に示されている。
図10(a)に示すように、Layout.layは、ファイル名を示す<title>と、印刷するテンプレートの大きさ(背景画像の大きさ)や色を示す<Document size>と、画像の表示内容および位置などを示す<img src>と、文字列の表示内容およびフォント、位置などを示す<txt src>とで構成されている。このLayout.layにより、テンプレートの所定の領域内に位置する画像の種類や、その画像の位置および大きさ、色などが示されている。
なお、Layout.layの記述データにおける「width」及び「height」は画像(イメージ)の大きさを示すものであり、「x」及び「y」は、画像の位置を示すものである。また、「size」は、文字列の文字の大きさを示すものであり、「color」は、文字色を示すものである。
次に、図5を参照して、送信側PC10で実行されるファイル送信処理について説明する。このファイル送信処理は、上述したファイル送信のUIが表示されると同時に実行される処理である。また、ファイル送信処理は、外部のPC(又はデバイス)が有する機能(印刷機能など)を実行させる場合に、外部のPCが有するデータを削除したファイルを生成し、少ないデータ量のファイルを送信するものである。
ファイル送信処理が実行されると、まず、IP電話アプリケーション34bに対して接続を試みる(S1)。そして、ファイル送信のUIにおいて、ユーザにより選択された送信がテンプレートを使用したファイルの送信か、単にファイルの送信かを確認し(S2)、ファイル送信が選択されていれば(S2:No)、ファイル送信を実行するためにS21の処理へ移行する。
一方、S2の処理で確認した結果、テンプレートを使用したファイル送信が選択されていれば(S2:Yes)、ユーザによって選択されたテンプレートに基づいた読込ファイルを生成する(S3)。S3の処理は、外部のPC30(及びデバイス40)に記憶されているテンプレートの画像データやフォントデータの読み込みを指示する取得命令を含むファイルを生成する処理である。
S4の処理では、S3の処理で生成した読込ファイルを送信するファイル送信要求をPC30のIP電話アプリケーション34bに対して送信し(S4)、接続先であるIP電話アプリケーション34bからファイル送信許可応答を受信したか否かを確認する(S5)。
S5の処理では、IP電話アプリケーション34bからのファイル送信許可応答を受信するまで待機すると共に(S5:No)、IP電話アプリケーション34bからのファイル送信許可応答を受信すると(S5:Yes)、S3の処理で生成した読込ファイルを送信し(S6)、読込ファイルを送信したことを示すフラグと、送信先とを記憶し、ジョブ実行モードとなる。そして、送信した読込ファイルにより取得が指示されたテンプレートの画像データやフォントデータを含む応答ファイルの受信を待機するために、外部のIP電話アプリケーション34bから送信されるファイル送信要求を受信したか否かの確認をS7,S8の処理で繰り返し行う。
具体的には、S7の処理において、タイムアウト時間が経過したか否かを確認し(S7)、S8の処理で、接続先であるIP電話アプリケーション34bからファイル送信要求を受信したか否かを確認する(S8)。S7の処理で確認した結果、タイムアウト時間が経過していれば(S7:Yes)、そのまま、本処理を終了する。
S7の処理で、タイムアウト時間が経過したと確認された場合には、読込ファイルを送信したにも関わらず、外部のIP電話アプリケーション34bから応答ファイルを送信するファイル送信要求が送信されてこないので、外部のPC30を操作するユーザによって応答ファイルの送信が中止されたり、接続自体が切断されたことが考えられるので、本処理を終了する。
一方、S8の処理の結果、IP電話アプリケーション34bからファイル送信要求を受信した確認されると(S8:Yes)、ファイル送信許可応答をIP電話アプリケーション34bに送信し(S9)、その後、ファイル送信許可応答を送信したIP電話アプリケーション34bから応答ファイルの受信が完了したか否かを確認し(S10)、応答ファイルを受信するまで待機する(S10:No)。
なお、S9の処理では、ファイル送信許可応答を送信して良いか否かの問い合わせを行うことなく、ファイル送信許可応答を送信している。これは、ジョブ実行モードであることがフラグで確認でき、接続先がIP電話アプリケーション34bであることも記憶してあり、接続先の安全性が確保されているからである。よって、ファイル送信許可応答の問い合わせを毎回行う場合に比較して、ユーザの煩わしい操作を少なくし、使い勝手を向上することができる。
一方、S8の処理で確認した結果、IP電話アプリケーション34bからファイル送信要求を受信したことが確認されないと(S8:No)、ジョブ実行モードであるため、IP電話アプリケーション34bからのファイル送信要求を受信することを再び待機する(S7)。
なお、S8の処理で確認した結果、IP電話アプリケーション34bから送信されるファイル送信要求を受信していなければ(S8:No)、S7の処理へ戻り、タイムアウト時間を経過したか否かの確認を行うものとしたが、S8の処理がNoであった場合に、その他の処理(PC10で実行される各種処理)を実行した後に、S7の処理へ移行するものとしても良い。
S10の処理で確認した結果、IP電話アプリケーション34bからの応答ファイルの受信が完了したら(S10:Yes)、その受信した応答ファイルを解析する(S11)。S11の処理の解析は、PC30又はデバイス40に記憶されているテンプレートの画像データ及びフォントデータの種別を、応答ファイルから抽出すると共に、PC30がテンプレートに基づいた印刷を実行可能であるか否かを確認する処理である。なお、PC30がテンプレートに基づいた印刷を実行可能であるか否かは、後述するLayout.layの記述データを解読可能であるか否かに応じて判断したり、テンプレートのデータを有しているか否かに応じて判断したりされる。
よって、PC30がLayout.layの記述データを解読可能であれば(S12:No)、そのままファイルを送信するためにS21の処理へ移行し、PC30がLayout.layの記述データを解読可能であれば(S12:Yes)、ユーザによって選択されたテンプレート、ユーザ画像およびユーザ文字列などに基づいて記述されたLayout.layの分解処理を実行し(S13)、実行ファイルの削除処理を実行し(S14)、その後、PC30に送信する実行ファイルを生成する(S15)。
S16の処理では、実行ファイルを送信するために、ファイル送信要求をIP電話アプリケーション34bに送信し(S16)、S17の処理では、S5の処理と同様に、IP電話アプリケーション34bからのファイル送信許可応答を受信するまで待機すると共に(S17:No)、IP電話アプリケーション34bからファイル送信許可応答を受信したら(S17:Yes)、S14の処理で、不要なデータが削除された更新後の実行ファイルを送信して(S18)、本処理を終了する。
また、S21の処理では、ファイルをそのまま送信するために、ファイル送信要求をIP電話アプリケーション34bに送信し(S21)、IP電話アプリケーション34bからのファイル送信許可応答を受信するまで待機すると共に(S21:No)、IP電話アプリケーション34bからファイル送信許可応答を受信したら(S21:Yes)、ファイルを送信して(S23)、本処理を終了する。
次に、図6を参照して、ファイル送信処理のS13の処理で実行されるLayout.layの分解処理について説明する。Layout.layの分解処理は、送信ファイルに含まれる画像データやフォントデータなどを抽出する処理である。
Layout.layの分解処理が実行されると、まず、Layout.layを解析する(S31)。このS31の処理で、PC30により印刷を実行させようとするデータの構成、即ち、画像データやフォントデータ、文字列データが抽出される。
Layout.layのテキストデータの解析は、Layout.layの<img src>及び<txt src>により示されるT_image、U_image、T_font、U_textなどの各種データを抽出する処理である。
S32〜S35の処理は、Layout.layに記述されている各データを確認する処理であり、T_imageが記述されているか否かを確認し(S32)、T_fontが記述されているか否かを確認し(S33)、U_textが記述されているか否かを確認し(S34)、U_imageが記述されているか否かを確認する(S35)。
そして、Layout.layにT_imageが記述されていれば(S32:Yes)、そのT_imageに対応したデータをT_R14c1に記憶し(S36)、Layout.layに記述される他のデータを抽出するために、S32の処理へ戻る。
Layout.layに記述される全てのT_imageに対応するデータの抽出が完了すると(S32:No)、次に、T_fontが記述されているか否かを確認し(S33)、T_fontが記述されていれば(S33:Yes)、そのT_fontに対応するデータをT_R14c1に記憶し(S37)、再度、S32の処理へ戻る。
Layout.layに記述される全てのT_fontに対応するデータの抽出が完了すると(S33:No)、次に、U_textが記述されているか否かを確認し(S34)、U_textが記述されていれば(S34:Yes)、そのU_textに対応するデータをU_R14c2に記憶し(S38)、再度、S32の処理へ戻る。
Layout_Layに記述される全てのU_textに対応するデータの抽出が完了すると(S34:No)、次に、U_imageが記述されているか否かを確認し(S35)、U_imageが記述されていれば(S35:Yes)、そのU_imageに対応するデータをU_R14c2に記憶し(S39)、再度、S32の処理へ戻る。
そして、Layout.layに記述される全てのT_image、T_font、U_text及びU_imageに対応するデータの抽出が完了しらた(S35:No)、本処理を終了する。
このLayout.layの分解処理が終わると、図10(b)に示すように、T_R14c1には、「T_image_A001.bmp」及び「T_image_B001.jpg」などの画像データと、「T_font_A001.ttf」及び「T_font_B001.ttf」のフォントデータとが記憶され、U_R14c2には、「U_text001.txt」及び「U_text002.txt」などの文字列データと、「U_image001.bmp」及び「U_image002.jpg」などの画像データとが記憶される。即ち、Layout.layの記述データと、T_R14c1に記憶される各データと、U_R14c2に記憶される各データとで、テンプレート情報(第1のテンプレート情報)が構成される。
次に、図7を参照して、ファイル送信処理のS14の処理で実行される実行ファイルの削除処理について説明する。実行ファイルの削除処理は、実行ファイルに含まれる画像データやフォントデータ、文字列データのうち、外部のPC30(又はデバイス40)が有するテンプレートの画像データやフォントデータを削除する処理である。
まず、図11(a)を参照して、PC30から送信される応答ファイルに含まれるデータの抽出方法について説明する。図11(a)に示すように、応答ファイルには、受信側端末情報が含まれており、その受信側端末情報は、テンプレートの種類を示す「TemplateVer:001」と、そのテンプレートに含まれる画像データの組み合わせを示す「imageSet1」及び「imageSet2」と、テンプレートに含まれるフォントデータの組み合わせを示す「FontSet1」及び「FontSet2」とが含まれて構成されている。
また、受信側端末情報とは別に、imageSet1は、T_image_A001.bmpと、T_image_A002.jpgと、T_image_A003.tifとを有し、imageSet2は、T_image_B001.jpgと、T_image_B002.jpgと、T_image_B003.jpgとを有し、FontSet1は、T_font_A001.ttfと、T_font_A002.ttfと、T_font_A003.ttfとを有し、FontSet2は、T_font_B001.ttfと、T_font_B002.ttfと、T_font_B003.ttfとを有することを示す情報が含まれている。
なお、imageSet1及びimageSet2、FontSet1、FontSet2に含まれるデータが一義的に定められており、PC10において、imageSet1及びimageSet2、FontSet1、FontSet2が有する各データを示すテーブルを備えていれば、各imageSet1及びimageSet2、FontSet1、FontSet2が有するデータを示す情報を応答ファイルに含めないものとしても良い。
そして、本実施形態では、受信側端末情報に、imageSet1が有効であることを示す「Enable」が記されており、imageSet2が無効であることを示す「Disable」が記されており、FontSet1が有効であることを示す「Enable」が記されており、FontSet2が無効であることを示す「Disable」が記されている。
よって、外部のPC30には、TemplateのVer1が記憶されており、且つ、imageSet1およびFontSet1が有効であることが応答ファイルを解析することで解る。具体的には、PC30は、T_image_A001.bmpと、T_image_A002.jpgと、T_image_A003.tifと、T_font_A001.ttfと、T_font_A002.ttfと、T_font_A003.ttfとのデータを有していることが解る。
図7に示す実行ファイルの削除処理が実行されると、まず、T_R14c1にT_imageのデータが記憶されているか否かを確認し(S41)、T_R14c1にT_imageのデータが記憶されていれば(S41:Yes)、受信した応答ファイルに同一のT_imageを示すデータが含まれているか否かを確認する(S42)。
S42の処理で確認した結果、応答ファイルに同一のT_imageを示すデータが含まれていれば(S42:Yes)、その同一のT_imageのデータをT_R14c1から削除し(S43)、S44の処理へ移行する。
一方、S41の処理で確認した結果、T_R14c1にT_imageのデータが1つも記憶されていない場合(S41:No)、S42の処理で確認した結果、応答ファイルに同一のT_imageを示すデータが含まれていない場合には(S42:No)、S44の処理へ移行する。
S44の処理では、T_R14c1にT_fontのデータが記憶されているか否かを確認し(S44)、T_R14c1にT_fontのデータが記憶されていれば(S44:Yes)、受信した応答ファイルに同一のT_fontを示すデータが含まれているか否かを確認する(S45)。
S45の処理で確認した結果、応答ファイルに同一のT_fontを示すデータが含まれていれば(S45:Yes)、その同一のT_fontのデータをT_R14c1から削除し(S46)、本処理を終了する。
一方、S44の処理で確認した結果、T_R14c1にT_fontのデータが1つも記憶されていない場合(S44:No)、S45の処理で確認した結果、応答ファイルに同一のT_fontを示すデータが含まれていない場合には(S45:No)、そのまま、本処理を終了する。
図11(b)に示すように、本実施形態では、応答ファイルに、T_image_A001.bmpおよびT_font_A001.ttfを示すデータ含まれていたため、図10(b)に示すデータ構成から、T_image_A001.bmpおよびT_font_A001.ttfのデータがT_R14c1から削除されている。即ち、Layout.layの記述データと、応答ファイルに基づいて不要なデータが削除された後のT_R14c1に記憶される各データと、U_R14c2に記憶される各データとで、テンプレート情報(第2のテンプレート情報)が構成される。
次に、図8を参照して、受信側PC30で実行されるファイル受信処理について説明する。ファイル受信処理は、外部のIP電話アプリケーション14bからファイル送信要求を受信した場合に実行される。
ファイル受信処理が実行されると、PC30のユーザに、送信元からのファイル送信の許可を問い合わせた後に、ファイル送信要求を送信してきた外部のIP電話アプリケーション14bに対して、ファイル送信許可応答を送信し(S51)、そのファイル送信許可応答を送信したIP電話アプリケーション14bから送信されるファイルを受信完了したか否かを確認する(S52)。
そして、IP電話アプリケーション14bから送信されるファイルを受信完了するまで待機すると共に(S52:No)、ファイルを受信完了すると(S52:Yes)、その受信ファイルを解析し(S53)、受信したファイルがテンプレートの画像データ及びフォントデータの種別を取得指示する読込ファイルであるか否かを確認する(S54)。
S54の処理で確認した結果、受信したファイルが読込ファイルでなければ(S54:No)、その受信したファイルに応じたその他の処理を実行して(S55)、本処理を終了する。
一方、S54の処理で確認した結果、受信したファイルが読込ファイルであれば(S54:Yes)、Template情報記憶エリア34cから全てのテンプレートのデータを取得し(S56)、読込ファイルを受信したことを示すフラグと、送信元とを記憶し、ジョブ実行モードとなる。
なお、デバイス40からテンプレートのデータを取得する場合には、S56の処理に代えて、テンプレートの取得命令をデバイス40に送信し、そのデバイス40からのテンプレート情報の取得が完了するまで待機する処理が行われる。
S57の処理では、取得したテンプレートのデータに基づいた応答ファイルを生成し(S57)、その後、IP電話アプリケーション14bに対してファイル送信要求を送信する(S58)。なお、S57の処理で生成される応答ファイルは、上述したように、図11(a)に示すデータを含むものである。
S59の処理では、タイムアウト時間が経過したか否かを確認し(S59)、タイムアウト時間が経過していなければ(S59:No)、ファイル送信要求を送信した外部のIP電話アプリケーション14bからファイル送信許可応答を受信したか否かを確認し(S60)、ファイル送信許可応答を受信するまで(S60:No)、S59及びS60の処理を繰り返し実行する。
そして、タイムアウト時間が経過すると(S59:Yes)、応答ファイルを送信できないので、そのまま、本処理を終了し、IP電話アプリケーション14bからファイル送信許可応答を受信すると(S60)、応答ファイルを送信し(S61)、次に、IP電話アプリケーション14bが実行ファイルを送信するためのファイル送信要求を受信するまで待機する(S62:No)。
なお、S62の処理で確認した結果、IP電話アプリケーション14bから送信されるファイル送信要求を受信していなければ(S62:No)、ファイル送信要求を受信するまで、S62の処理を繰り返し行うものとしたが、S62の処理がNoであった場合に、その他の処理(PC30で実行される各種処理)を実行した後に、再度、S62の処理へ移行し、ファイル送信要求の受信を確認するものとしても良い。
そして、IP電話アプリケーション14bからファイル送信要求を受信したら(S62:Yes)、ファイル送信許可応答を送信し(S63)、そのファイル送信許可応答を送信したIP電話アプリケーション14bから送信される実行ファイルを受信完了したか否かを確認する(S64)。
このとき、ジョブ実行モードであることが、フラグと、読込ファイルの送信元がIP電話アプリケーション14bであることの記憶とによって確認できる。そのため、PC30のユーザに、送信元からのファイル送信の許可を問い合わせることなく、ファイル送信許可応答を送信している。
一方、S62の処理で確認した結果、IP電話アプリケーション14bからファイル送信要求を受信したことが確認されないと(S62:No)、ジョブ実行モードであるため、IP電話アプリケーション14bからのファイル送信要求を受信することを、再び待機する。
S64の処理で確認した結果、実行ファイルの受信が完了していなければ(S64:No)、その実行ファイルを受信完了するまで待機し、実行ファイルの受信が完了すれば(S64:Yes)、受信ファイルに含まれるLayout.layの情報を取得してLayout.layを解析する(S65)。
そして、Layout.layにT_imageが記述されているか否かを確認し(S66)、T_imageが記述されていれば(S66:Yes)、Template情報記憶エリア34cに記憶される自機が有するテンプレートに、同一のT_imageのデータがあるか否かを確認し(S67)、同一のT_imageのデータがある場合には(S67:Yes)、そのT_imageのデータを実行ファイルのT_Rの領域にコピーして(S68)、S69の処理へ移行する。
一方、S66の処理で、Layout_layにT_imageが記述されていない場合(S66:No)、又は、自機のテンプレートに同一のT_imageのデータがない場合には(S67:No)、そのまま、S69の処理へ移行する。
S69の処理では、Layout.layにT_fontが記述されているか否かを確認し(S69)、T_fontが記述されていれば(S69:Yes)、Template情報記憶エリア34cに記憶される自機が有するテンプレートに、同一のT_fontのデータがあるか否かを確認し(S70)、同一のT_fontのデータがある場合には(S70:Yes)、そのT_fontのデータを実行ファイルのT_Rの領域にコピーして(S71)、S72の処理へ移行する。
一方、S69の処理で、Layout_layにT_fontが記述されていない場合(S69:No)、又は、自機のテンプレートに同一のT_fontのデータがない場合には(S70:No)、そのまま、S72の処理へ移行する。
S71までの処理が完了すると、実行ファイルは、図10(b)の状態に復帰し、その実行ファイルに基づいて印刷処理の実行をデバイス40に指示して(S72)、本処理を終了する。
以上、説明したように、PC10がテンプレートに基づいた画像の印刷をPC30に指示する場合には、PC30が有するテンプレートの画像データやフォントデータの種別を取得し、同一の画像データ及びフォントデータを削除した実行ファイルをPC30に送信するので、IP電話アプリケーション14b,34bが有するファイル送信機能を有効に利用しつつ、PC30に送信するデータ量を少なくすることができる。
また、本実施形態では、テンプレートにより印刷すべき画像データ及びフォントデータ、文字列データなどは、Layout.layの記述データにより示すことができる。よって、PC10及びPC30共に、共通の記述データを用いているので、Layout.layから画像データやフォントデータ、文字列データを確実に把握することができ、データの解析における不具合が生じることを防止することができる。よって、PC10においてテンプレートの画像データやフォントデータの一部を削除した実行ファイルを、PC30に送信したとしても、PC30において正確に復元して画像を印刷することができる。
また、ユーザが入力した画像データや文字列データはU_Rに記憶され、そのU_Rに記憶されるデータに関しては、PC30はLayout.layに含まれているか否かの判断を行っていない。通常、ユーザによって入力される画像データや文字列データは、テンプレートに予め定められていないデータであるので、そのユーザによって入力された画像データや文字列データに関しても、Layout.layに含まれているか否かを判断すると、処理負担が増加してしまう。しかし、PC30は、ユーザによって入力された画像データや文字列データに関しては、Layout.layに含まれているか否かの判断を行わないので、処理負担が増大することを抑制することができる。
次に、図12から図14を参照して、第2の実施形態について説明する。図12は、第2実施形態の送信側PCで実行されるファイル送信処理を示したフローチャートである。図13は、第2実施形態の受信側PCで実行されるファイル受信処理を示したフローチャートである。図14は、デバイスデータベースのデータ構成の一例およびimageSet、FontSetのデータ構成の一例を示した図である。
第2実施形態は、コンタクトリストの表示名から接続先のPC又はデバイスが有するテンプレートを推測し、不要な画像データ及びフォントデータを削除した実行ファイルを送信し、接続先のPC又はデバイスで印刷機能を実行させるものである。また、PC30のファイル受信処理では、PC10に対してファイル送信許可応答を送信するか否かを判断する処理が追加されており、セキュリティの向上が図られている。なお、第1実施形態と同様の部分には、同一の符号を付して、その説明は省略する。
まず、第2実施形態のPCには、デバイスの種類に応じたデータベース(以下「DB」と称す)がROM又はRAM、HDDに予め記憶されている。このDBは、各デバイスのバージョンと、そのバージョンが有するimageSet及びFontSetとが対応付けされて記憶されているものである。このDBの一例を、図14に示す。
図14(a)に示すように、デバイスDBは、Device000、Device000A、Device001、Device0001A、Device002のデバイス種類に対して、何も有していないことを示す「NULL」と、各バージョンを示す「Ver1」及び「Ver2」とが対応付けされている。更に、各バージョンと、imageSet及びFontSetとも対応付けされている。なお、デバイスの種類は、図9(a)に示す表示名Br DCP 420などが対応している。
また、図14(b)に示すように、各imageSet及びFontSetに対して、T_imageのデータおよびT_Fontのデータも対応付けされている。
よって、第2実施形態の送信側PCは、コンタクトリストから接続するIP電話アプリケーションを選択することで、接続先が有するテンプレートを推測することができる。
第2実施形態のファイル送信処理が実行されると、コンタクトリストから選択されたIP電話アプリケーションに接続し、テンプレート送信であるか否かを確認し、テンプレート送信でれば(S1,S2:Yes)、S101の処理へ移行する。
S101の処理では、S1の処理で選択したコンタクトリストと、図14(a)に示すデバイスDBとから、接続先のPCが有するテンプレートのデータを取得する(S101)。
S102の処理では、接続先のPCがテンプレートのデータを有しており、テンプレートに基づいた画像の印刷が可能であるか否かを確認し(S102)、接続先のPCがテンプレートに基づいた画像の印刷が可能であれば(S102:Yes)、S13以降の処理を実行し、接続先のPCがテンプレートに基づいた画像の印刷が不可能であれば(S102:No)、S21以降の処理を実行する。
図13に示すファイル受信処理が実行されると、ファイル送信要求を送信した外部のPCが現在接続中(又は通話中)のPC(例えば、PC10)であるか否かを確認し(S111)、現在接続中のPCからのファイル送信要求であれば(S111:Yes)、信頼性のある相手先なので、S51以降の処理へ移行する。
なお、本実施形態では、PC10のIP電話アプリケーション14bとの間で通話中である場合に、IP電話アプリケーション14bに対してファイル送信許可応答を自動で送信可能に構成したが、IP電話アプリケーション14bとの間でチャット中である場合も、IP電話アプリケーション14bに対して、ファイル送信許可応答の送信の問い合わせをすることなく、ファイル送信許可応答を送信するように構成しても良い。
一方、S111の処理で確認した結果、現在接続中のPC以外からのファイル送信要求であれば(S111:No)、次に、応答ファイルを送信したPC10からのファイル送信要求であるか否かを確認し(S112)、PC10からのファイル送信要求であれば(S112:Yes)、自身がファイルを送信した相手先からのファイル送信要求であり信頼性を有するので、S51以降の処理へ移行する。
一方、S112の処理で確認した結果、PC10からのファイル送信要求でなければ(S112:No)、まず、タイムアウト時間が経過したか否かを確認し(S113)、その後、ユーザからファイル送信要求の許可が入力されたか否かを確認し(S114)、タイムアウト時間が経過するか、ユーザから許可が入力されるまで、S113の処理とS114の処理とを繰り返し実行する(S113:No、S114:No)。
そして、ユーザから許可が入力されたら(S114:Yes)、ユーザの意志によりファイル送信許可応答の送信が許可されたので、S51以降の処理を実行し、タイムアウト時間が経過すれば(S113:Yes)、ユーザから許可の入力がなく不許可になるので、そのまま、本処理を終了する。
よって、第2実施形態では、S111からS114の処理において、ファイル送信許可応答を送信するか否かを判断し、ファイル送信許可応答を送信する送信先に信頼性があれば、ファイル送信許可応答を送信する一方、信頼性がなければ、ユーザの判断によりファイル送信許可応答が送信される。よって、不特定多数の接続先からのファイルを受信することを抑制できるので、セキュリティを高めることができる。
S51以降の処理では、ファイル送信許可応答を送信し、ファイルが受信完了したら、受信ファイルを解析し(S51〜S53)、受信ファイルにLayout.layの記述データが含まれているか否かを確認する(S115)。
S115の処理で確認した結果、Layout.layの記述データが含まれていなければ(S115:Yes)、受信したファイルに基づくその他の処理を実行し(S55)、本処理を終了する。一方、S115の処理で確認した結果、Layout.layの記述データが含まれていれば(S115:Yes)、第1実施形態と同様に、S65以降の処理を実行する。
以上、説明したように、第2実施形態のIP電話システム1によれば、他のIP電話アプリケーションのプロフィールから、他のPCが有するテンプレート及び画像データ、フォントデータを推測して、不要な画像データやフォントデータを削除した実行ファイルを送信することができる。よって、PC間での読込ファイル及び応答ファイルの送受信を未実行にできるので、その分、PCでの処理負担を軽減することができる。また、IP電話アプリケーションにおけるプロフィール機能を有効に利用することができる。
次に、図15を参照して、第3実施形態のIP電話システム100について説明する。図15(a)は、第3実施形態のPC110およびデバイス120の構成を模式的に示した図であり、図15(b)は、第3実施形態のIP電話システム100において各IP電話端末間で行われるプログラムの流れを示したシーケンスチャートである。なお、第3実施形態のIP電話システム100の各構成に付される番号は、第1実施形態のIP電話システム1の各構成に付された番号に100を足したものである。
なお、第3実施形態のPC110には、第1実施形態のPC10にインストールされる中間アプリケーション14aおよびIP電話アプリケーション14bの代わりに、中間アプリケーションの機能が組み込まれたIP電話アプリケーション114bがインストールされている。
図15(a)に示すように、第3実施形態のPC110は、IP電話アプリケーション114bに、読込ファイル、書込・読込ファイル及び応答ファイルを生成する機能が含まれている。具体的には、図15(b)に示すように、IP電話アプリケーション114bにおいて、各ファイルの生成、その生成したファイルの送信要求、生成したファイルの送信の処理が実行される。
一方、接続先のPC130のIP電話アプリケーション134bにおいて、ファイル送信許可応答の送信、受信したファイルの解析、応答ファイルの生成、応答ファイルの送信、デバイス40の設定情報の更新指示などの処理が実行される。
つまり、第1実施形態の中間アプリケーション14a,34a,54aで実行可能な処理が、IP電話アプリケーション114b,134b,154bで実行可能に構成されている。
よって、第1実施形態に比べて、中間アプリケーション14aとIP電話アプリケーション14bとのデータの受け渡しの処理が無くなり、1のアプリケーション内で完結できるので、処理をスムーズに行うことができる。
次に、図16を参照して、第4から第6実施形態について説明する。図16(a)は、第4実施形態のPC210及びデバイス220の構成を模式的に示した模式図であり、図16(b)は、第5実施形態のPC310及びデバイス320の構成を模式的に示した模式図であり、図16(c)は、第6実施形態のPC410及びデバイス420の構成を模式的に示した模式図である。
なお、第4実施形態のIP電話システム200の各構成に付される番号は、第1実施形態のIP電話システム1の各構成に付された番号に200を足したものであり、第5実施形態のIP電話システム300の各構成に付される番号は、第1実施形態のIP電話システム1の各構成に付された番号に300を足したものであり、第6実施形態のIP電話システム400の各構成に付される番号は、第1実施形態のIP電話システム1の各構成に付された番号に400を足したものである。
第4実施形態では、デバイス220に中間アプリケーション214aがインストールされており、PC210にIP電話アプリケーション214bがインストールされている。
また、第5実施形態では、デバイス320に、中間アプリケーション314a及びIP電話アプリケーション314bがインストールされている。即ち、デバイス320から直接、他のPC又はデバイスに対してIP電話およびファイル送信が可能に構成されている。
また、第6実施形態では、デバイス420にIP電話アプリケーション414bがインストールされており、そのIP電話アプリケーション314bに、読込ファイル、書込・読込ファイル、応答ファイルを生成する機能が含まれている。
以上、説明したように、中間アプリケーションとIP電話アプリケーションがインストールされる端末装置は、PCとデバイスとの組み合わせのPCであっても良いし、PCとデバイスとの組み合わせからなるデバイスであっても良いし、デバイスのみであっても良い。
さらに、中間アプリケーションが組み込まれたIP電話アプリケーションをPCにインストールしても良いし、デバイスにインストールしても良い。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態になんら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、上記各実施形態では、各ファイルを送信した先からのファイル送信要求を受信した場合には、ユーザに問い合わせすることなく、ファイル送信許可応答を送信するように構成したが、ファイル送信要求を受信した場合には、毎回、ファイル送信許可応答を送信するか否かをユーザに問い合わせるように構成しても良い。この構成にすれば、毎回、ユーザの判断によりファイル送信許可応答を送信するか否かを決められるので、セキュリティを高めることができる。
また、ファイル送信要求を受信した場合に、自動でファイル送信許可応答を送信するか否かを選択可能に構成し、ユーザによって自動送信のモードが選択されていれば、ファイル送信要求に対して、問い合わせをすることなく、ファイル送信許可応答を送信するように構成しても良い。この構成にすれば、ユーザが行う操作が減るので、煩わしい操作をなくし、使い勝手を向上することができる。
また、上記実施形態では、受信側PC30により生成される応答ファイルは、TemplateVer、imageSetおよびFontSetに基づくデータで構成するものとしたが、PC10で生成されるLayout.layの記述データにより構成するものとしても良い。
また、上記各実施形態では、IP電話端末間で、読込ファイル、応答ファイル及び実行ファイルの送受信をIP電話アプリケーションのファイル送信機能により行うように構成したが、ファクシミリ機能を有する通信装置間で、読込ファイル、応答ファイル及び実行ファイルの送受信をファクシミリ通信により行うように構成しても良い。
また、上記各実施形態では、PCやデバイスの機能についての文字列(デバイス情報)がプロフィールに付加される構成としたが、PCやデバイスの機能についての文字列(デバイス情報)が表示名に付加される構成であっても良い。PCやデバイスの機能についての文字列を表示名に付加することで、外部のIP電話端末のユーザに対して、自機が有する機能を容易に把握させることができる。