(第1実施形態)
以下、本発明のIP電話端末、IP電話プログラム、IP電話連携プログラム、IP電話システムおよびその制御方法について具体化した第1実施形態を図1〜図15に基づき図面を参照しつつ詳細に説明する。
図1は、第1実施形態に係るIP電話システム1のシステム構成を示すブロック図である。
IP電話システム1は、パーソナルコンピュータPC1と、パーソナルコンピュータPC1に接続されるデバイス2と、パーソナルコンピュータPC2と、パーソナルコンピュータPC2に接続されるデバイス11と、パーソナルコンピュータPC3と、パーソナルコンピュータPC3に接続されるデバイス15と、ネットワークに接続される不図示の複数のパーソナルコンピュータとを備えている。
図1では、パーソナルコンピュータPC1に接続されているデバイス2で画像をスキャンし、パーソナルコンピュータPC2に接続されているデバイス11でスキャンされた画像をプリントする例が示されている。
パーソナルコンピュータPC1には、IP電話アプリケーション4と、中間アプリケーション3とがインストールされている。また、パーソナルコンピュータPC2には、IP電話アプリケーション7と、中間アプリケーション10とがインストールされている。さらに、パーソナルコンピュータPC3には、IP電話アプリケーション12と、中間アプリケーション14とがインストールされている。ここでIP電話アプリケーションは、各パーソナルコンピュータに組み込まれ、ネットワークを介して、互いに通話できるものであり、例えば、具体的にはスカイプ通話ソフトが挙げられる。
パーソナルコンピュータPC2におけるIP電話アプリケーション7の登録情報格納部8には、中間アプリケーション10を介してデバイス11の登録情報が登録されている。登録情報格納部8に登録される登録情報は、デバイス11が備える機能の機能識別情報を含む情報である。例えば、具体的には、デバイス11がプリント機能、スキャナ機能およびメディアカードへの保存機能を有していれば、それらの機能がデバイス11で実現可能であることが登録情報格納部8に登録される。
ここで、中間アプリケーション10が実行されることで、機能識別情報を含む情報が、パーソナルコンピュータPC2の登録情報格納部8に登録される処理について説明する。この処理はネットワークを介して行われるIP電話の一連の処理に先立って実行される。
図2は、IP電話アプリケーション7と、中間アプリケーション10と、中間アプリケーション10に含まれる文字列付加モジュール16およびデバイス監視モジュール17と、デバイス情報一覧と、PC情報とを備えるパーソナルコンピュータPC2の構成を示す構成図である。
文字列付加モジュール16では、中間アプリケーション10の起動と共にIP電話アプリケーションから表示名”yamada”が取得され、PC2のPC情報からPC名”pc”が取得され、文字列”pc_yamada”が生成されてデバイス監視モジュールに送信される。これら処理は、PC名や表示名の変更に対応できるよう、それらの変更時に動作されてもよいし、定期的に動作されてもよい。
デバイス監視モジュール17では、文字列付加モジュールから送信された文字列が、受信する都度記憶される。
デバイス監視モジュール17では、後述するように、パーソナルコンピュータPC2に接続されるデバイスについて、パーソナルコンピュータPC2へのデバイス環境が更新されたか、および、接続されているデバイスがIP電話対応デバイスかが監視される。監視結果に基づいて、監視されたデバイスについての情報を示す表示名やプロフィールが生成され、文字列付加モジュール16へ送信される。
デバイスAのデバイス名は“Br_mfc_Ink_330”であり、デバイスBのデバイス名は“Br_dcp_Ink_420”であり、デバイスCのデバイス名は“Br_mfc_laser_480”であることが、各デバイスからデバイス監視モジュール17に送信される。
デバイス監視モジュール17では、3つのデバイスがIP電話対応デバイスであることを認識し、表示名として、“pc_yamada_3devices_d1_Br_mfc_Ink_330_d2_Br_dcp_Ink_420_d3_Br_mfc_laser_480”が文字列付加モジュール16に送信される。ここで、“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”
が文字列付加モジュール16に送信される。
文字列付加モジュール16では、デバイス監視モジュール17から送信される各デバイス名に対するデバイスの備える機能がデバイス情報一覧を参照して取得され、取得された各デバイスの機能を示す文字列がデバイス監視モジュール17から送信されたプロフィールに付加される。
なお、デバイス情報一覧には、どの機種のデバイスがどの機能を備えているかの対応を示す情報が格納されている。
さらに、パーソナルコンピュータPC2が備える機能も、PC情報を参照して取得され、取得されたパーソナルコンピュータPC2の機能を示す文字列がプロフィールに付加される。また、PC情報は、パーソナルコンピュータPC2のレジストリやiniファイルなどに格納された情報を総称したものであり、パーソナルコンピュータPC2のOSバージョンやインストールされているアプリケーションの情報が格納されている。これらのOSのバージョンやインストールされているアプリケーションの種類などから、パーソナルコンピュータの備えている機能を特定することができる。
具体的には、プロフィールは、
“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”
とされる。ここで、Printは印刷機能、Scanは読取機能、FAXはFAX機能、Color/Monoはカラー印刷/モノクロ印刷機能、Ink/Laserはインク方式/レーザー方式、Win_XPはパーソナルコンピュータのOSがWindows(登録商標)XPであること、OCRはOCR(Optical Character Reader)機能がそれぞれ示されている。
一方、表示名はデバイス監視モジュール17が発生した表示名“pc_yamada_3devices_d1_Br_mfc_Ink_330_d2_Br_dcp_Ink_420_d3_Br_mfc_laser_480”がそのまま用いられる。
そして、これらの表示名とプロフィールがIP電話アプリケーション7に登録される。
次いで、上述したデバイス情報登録処理について、図3を参照して説明する。図3はデバイス情報登録処理を示すフローチャートである。このうちS1〜S5およびS8の処理はデバイス監視モジュール17においてなされ、S6〜S7およびS9〜S11の処理は文字列付加モジュール16においてなされる。
S1において、パーソナルコンピュータPC2のデバイス環境が更新されたか否かが判別される。更新された場合(Yes)にはS2に移行し、更新されない場合(No)には、デバイス情報登録処理を終了する。なお、パーソナルコンピュータPC2の起動直後には、デバイス環境が変更されたものとみなして、S2に移行する。
S2において、更新されたデバイスにIP電話対応デバイスがあるか否かが判別される。IP電話対応デバイスがある場合(Yes)にはS3に移行し、IP電話対応デバイスがない場合(No)には、デバイス情報登録処理を終了する。なお、パーソナルコンピュータPC2の起動直後には、更新されたデバイスにIP電話対応デバイスがあるものとみなして、S3に移行する。
S3において、デバイスがパーソナルコンピュータPC2に接続されているか否かを判別する。デバイスが接続されている場合(Yes)には、S4に移行し、デバイスが接続されていない場合(No)には、S8に移行する。
S4において、各デバイス名にデバイスの接続数を示す文字列を付加し、各デバイス名の先頭に“_dn_”(nは1〜接続されるデバイス数)が付加されて、連結された各デバイス名の文字列が、表示名として、文字列付加モジュール16に送信される。その後、S5に移行する。
S5において、各デバイスからデバイス情報文字列が取得され、その文字列の先頭に“devicen=”(nは1〜接続されるデバイス数)が付加された文字列が、プロフィールとして、文字列付加モジュール16に送信される。その後、S7に移行する。
S6において、プロフィールとして送信された各デバイスおよびパーソナルコンピュータPC2の機能を示す文字列が、デバイス情報一覧およびPC情報から取得される。その後、S7に移行する。ここでS6の処理は接続されたデバイスの備える機能を認識する機能識別情報認識手段の一例をなす。
S7において、プロフィール中の各デバイス情報に、取得されたデバイスおよびパーソナルコンピュータPC2の機能を示す文字列が付加される。その後、S11に移行する。
S8において、デバイス未接続情報文字列が文字列付加モジュール16に、表示名として送信される。その後、S9に移行する。
S9において、PC情報からパーソナルコンピュータPC2の機能を取得する。その後、S10に移行する。
S10において、プロフィールにパーソナルコンピュータPC2の機能を示す文字列を追加する。その後、S11に移行する。
S11において、IP電話アプリケーション7に表示名およびプロフィールが登録される。この表示名およびプロフィールは、図1においてパーソナルコンピュータPC2に組み込まれたIP電話アプリケーション7の登録情報格納部8に登録される登録情報の一例をなす。また、S11の処理は、他のパーソナルコンピュータに組み込まれた他のIP電話アプリケーションが取得可能な情報として、S6の機能識別情報認識手段により認識された機能を登録する機能識別情報登録手段の一例をなす。
本実施形態にかかる中間アプリケーション10では、パーソナルコンピュータPC2または、パーソナルコンピュータPC2に接続されたデバイスの備える機能を認識する。認識された機能は他のIP電話アプリケーションが取得可能な情報としてIP電話アプリケーション7に機能識別情報として登録される。この機能識別情報は、IP電話アプリケーション7が登録する登録情報の少なくとも一部を構成する。これにより、他のIP電話アプリケーションを介してIP通話を行う他のパーソナルコンピュータに対して機能識別情報を提供することができる。
パーソナルコンピュータPC3のIP電話アプリケーション12の登録情報格納部13にも、デバイス15が備える機能の機能識別情報を含む登録情報が登録されており、PC3のユーザからの手入力などによって登録されている。また、PC1の中間アプリケーション3にも中間アプリケーション10と同等の機能があり、パーソナルコンピュータPC1のIP電話アプリケーション4の不図示の登録情報格納部にも、デバイス2が備える機能の機能識別情報を含む登録情報が登録されている。
また、図1において、パーソナルコンピュータPC1〜PC3の他にも、図示しない複数のパーソナルコンピュータがネットワークに接続されている。それぞれのパーソナルコンピュータには、パーソナルコンピュータPC1〜PC3と同様にIP電話アプリケーションおよび中間アプリケーションがインストールされ、デバイスが接続されている。そして、それぞれのデバイスが備える機能の機能識別情報を含む登録情報が、それぞれのIP電話アプリケーションの登録情報格納部に登録されている。
すなわち、パーソナルコンピュータPC1〜PC3および複数のパーソナルコンピュータのそれぞれの登録情報格納部には、それぞれのデバイスが備える機能の機能識別情報を含む登録情報が、それぞれのIP電話アプリケーションの登録情報格納部に登録されていることとなる。
登録情報格納部8、登録情報格納部13および複数のパーソナルコンピュータのIP電話アプリケーションにおける登録情報格納部に格納された各々の登録情報はネットワークを介してパーソナルコンピュータPC1のIP電話アプリケーション4に伝達される。そして、これらの登録情報はパーソナルコンピュータPC1のIP電話アプリケーション4の取得された登録情報格納部5に格納される。
次いで、パーソナルコンピュータPC1に接続されたデバイス2からデータを取得し、パーソナルコンピュータPC2に接続されたデバイス11でそのデータを処理する場合に実行される手順について説明する。図4は、本実施形態にかかるIP電話システムのプログラムの流れを示すシーケンスチャートである。
まず、中間アプリケーション3からIP電話アプリケーション4にユーザデバイスの検索命令が発令される。IP電話アプリケーション4は他のパーソナルコンピュータにインストールされているIP電話アプリケーション(IP電話アプリケーション7など)に対し、ユーザデバイスの検索を行なう。IP電話アプリケーション7などは、IP電話アプリケーション4に対し、ユーザデバイスの情報(登録情報)を送り、IP電話アプリケーション4は、取得された登録情報格納部5に、送られて来た登録情報を格納する。
P1において、パーソナルコンピュータPC1のIP電話アプリケーション4の取得された登録情報格納部5に登録される他のパーソナルコンピュータからの登録情報に基づき、コンタクトリストの取得処理が行われる。詳しい手順は後述するが、これにより、中間アプリケーション3が、IP電話アプリケーションに登録されたユーザデバイスのコンタクトリストを取得することができる。コンタクトリストとは、IP電話アプリケーション4において、通話相手の候補を示すユーザデバイスのリストであり、IP電話アプリケーション4が、他のパーソナルコンピュータに備えられたIP電話アプリケーションから取得した登録情報が格納されている(図示しないが、IP電話アプリケーション7、12も備えている)。また、コンタクトリストは、IP電話アプリケーションの外部から編集可能である。
P2において、受信端末の選択および利用機能の選択が行なわれる。詳しい手順は後述するが、この処理では、利用機能が選択された後に、利用機能に応じたデータ取得命令が、パーソナルコンピュータPC1に接続されたデバイス2に発令される。また、利用機能の選択は、パーソナルコンピュータPC2が備える機能の実行を決定する機能実行決定手段の一例をなす。
P3において、利用機能に応じたデータ取得が行なわれる。例えば、具体的には、デバイス2でスキャンされた画像データがパーソナルコンピュータPC1の中間アプリケーション3に転送される。
P4において、送信する画像データ、命令コマンドデータの生成処理が行われる。詳しい手順は後述するが、ここでは、取得されたデータが相手先で処理される種類に応じて、送信する画像データおよび命令コマンドデータが生成される。すなわち、機能実行決定した機能により処理すべき形式のデータを取得するデータ取得手段の一例をなす。
P5において、取得されたデータの送信命令の発令が行なわれる。ここでは、IP電話アプリケーション4に対してP3において取得したデータの送信命令が発令される。そして、パーソナルコンピュータPC1のIP電話アプリケーション4からはパーソナルコンピュータPC2のIP電話アプリケーション7にデータ送信承諾確認命令が発令される。また、取得されたデータの送信は、P3におけるデータ取得手段が取得したデータをパーソナルコンピュータPC2に送信するようにIP電話アプリケーション4に指示する第1指示手段または第2指示手段の一例をなす。
P6において、中間アプリケーション10では、データ送信承諾確認命令の監視がなされている。そして、IP電話アプリケーション4からIP電話アプリケーション7に至るデータ送信承諾確認命令が検知される。
P7において、IP電話アプリケーション4からIP電話アプリケーション7に至るデータ送信承諾確認命令の検知に応じて、中間アプリケーション10では、受信データ保存先指定が行なわれる。続いて、中間アプリケーション10では、IP電話アプリケーション7に対して、データ送信承諾命令が発令され、受信データ保存先指定が送信される。IP電話アプリケーション7では、IP電話アプリケーション4に対してデータ送信承諾確認命令が発令される。
P8において、データ送信承諾命令の監視がなされている。そして、IP電話アプリケーション7からIP電話アプリケーション4に至るデータ送信承諾確認命令が検知される。
P9において、データ送信機能の実行がなされる。すなわち、図1におけるIP電話アプリケーション4が備えるファイル送信部6から、IP電話アプリケーション7が備えるファイル受信部9に、P3において取得されたデータにデバイス11が備える機能に対する命令コマンドデータが付与されて送信されることとなる。
P10において、中間アプリケーション10は、送信データを待機している。P8において送信されたデータは、中間アプリケーション10により受信される。
P11において、受信されたデータのうち命令コマンドデータを解釈する。解釈された命令コマンドは利用機能に応じたデータ処理命令をデバイス11に出力する。
P12において、利用機能に応じたデータ処理命令に基づくデータ処理がなされる。
以上のP1〜P12の処理により、デバイス2から利用機能に応じたデータ取得がなされ、デバイス11において利用機能に応じたデータ処理がなされる。
このうちP5〜P10の処理は、画像データおよび命令コマンドデータのパーソナルコンピュータPC1からパーソナルコンピュータPC2への送信処理をなす。
P2〜P5では、中間アプリケーション3が、機能実行決定手段の一例、データ取得手段の一例、ならびに第1指示手段の一例および第2指示手段の一例として、パーソナルコンピュータPC1を機能させることができる。
本実施形態に係る中間アプリケーション3では、パーソナルコンピュータPC2が備える機能の実行を選択し、選択された機能により処理すべき形式のデータを取得して、IP電話アプリケーション4に送信の指示をすることができる。そのため、パーソナルコンピュータPC1に組み込まれているIP電話アプリケーション4がパーソナルコンピュータ間の通信機能しか備えていない場合にも、中間アプリケーション3は、パーソナルコンピュータPC2に所定の機能を行わせることができる。
また、本実施形態に係る中間アプリケーション3では、データに加えて処理すべき機能を識別するための情報が送信されるので、パーソナルコンピュータPC2は、処理すべき機能で送信されてきたデータを処理することができる。
次いで、具体的な処理について説明する。PC1において、ユーザが任意のタイミングで中間アプリケーション3に指示を出すと、図5に示す中間アプリケーションのUI(User Interface)が起動される。
図5に示すUIは、PC1にインストールされた中間アプリケーション10が、他のPCにインストールされたIP電話アプリケーション(例えばIP電話アプリケーション7)にS1〜S11の処理にて登録された情報を、PC1にインストールされたIP電話アプリケーション4経由で取得し、他のPCおよび他のPCに接続されたデバイスの機能を利用するためのUIである。そのため、他のPCにインストールされたIP電話アプリケーションに登録された情報を取得するためのUI(図7)を表示する“ユーザデバイス検索...”ボタンと、他のPCや他のPCに接続されたデバイスの機能を利用するためのUI(図12)を表示する“ユーザデバイスを使った機能...”ボタンを備えている。
このUIでは、「コンタクトリスト」中点線で囲われた(以後、フォーカスされたとも言う)表示名に対応する機能識別情報が「選択したユーザデバイスのデバイス情報」に表示される。具体的には、フォーカスされたユーザデバイスの“Br_dcp_420_sato”のデバイス名が“Br DCP 420”であり、デバイス機能が“プリンタ、スキャナ、メディアカードスロット”であることを示している。
「IP電話アプリケーション基本機能」における「チャット...」、「電話...」、「ファイル送信...」および「ユーザ検索...」の各ボタンは、押下することにより、IP電話アプリケーションの基本機能である各機能を実行することができる。
「IP電話アプリケーション拡張機能」における「デバイスを使った機能...」および「ユーザデバイス検索...」の各ボタンは、押下することにより、後述する、デバイスを使った機能およびユーザデバイス検索のUIが起動される。
図6は、フォーカスされたユーザデバイスの表示名のデバイス情報表示の手順を示すフローチャートである。この手順は図5の中間アプリケーションのUIにおいて、ユーザデバイスの表示名へのフォーカスが変更されるたびに起動される。
図6のS12において、フォーカスされたユーザデバイスの表示名のデバイス情報が表示名およびプロフィールから取得される。その後、S13に移行する。
S13において、デバイス情報の取得に成功したか否かを判別する。デバイス情報の取得に成功した場合(Yes)には、S15に移行し、成功しなかった場合(No)には、S14に移行する。
S14において、フォーカスされた表示名で示されるデバイスの機種・機能を示す情報をデバイス情報一覧から取得する。その後S15に移行する。
S15において、図5で示される中間アプリケーションのUIの「選択したユーザデバイスのデバイス情報」の項目に「デバイス名」および「デバイス機能」を表示して終了する。
S12〜S14の処理は、請求項1における他ネットワーク端末が備える機能、または、他ネットワーク端末に接続されて他IP電話アプリケーションを介してIP電話を行なう他通話端末が備える機能を識別する機能識別情報を、登録情報に基づいて取得する機能識別情報取得手段の一例をなす。
ここでは、フォーカスされたユーザデバイスの表示名のデバイス情報を表示名およびプロフィールから直接抽出する処理、あるいは、フォーカスされたユーザデバイスの表示名から、デバイス情報一覧を参照して間接的にデバイス情報を取得する処理が例示されている。
この他にも、各デバイスの登録情報からデバイスの備える機能を抽出し、ユーザデバイスの表示名にそれぞれの機能を付与したものを個別に備えて機能識別情報を構成してもよい。例えば、具体的には“deviceA_userB_printer”、“deviceA_userB_scaner”、“deviceA_userB_FAX”、“deviceA_card”といった情報が機能識別情報であり、登録情報から抽出された情報である。また、これらの機能識別情報から他のネットワーク端末または他のデバイスを識別する端末機能識別情報(上記例での“deviceA_userB”)を取得して表示させても機能識別情報取得手段の一例をなす。
次いで、図4のうちP1で実行されるコンタクトリストの取得処理手順について詳細に説明する。
図7は、図5に示す中間アプリケーションのUIのうち「ユーザデバイス検索...」ボタンを押下すると起動されるユーザデバイス検索のUIの一例を示す図である。ユーザは、このUIを用いて、他のPCにインストールされたIP電話アプリケーションに登録された情報を取得することができる。ユーザデバイス検索のUIは、「1.ユーザデバイス情報のどの項目で検索するか選んでください」で表示されるセレクタ(本例では表示名が選択されている)と、「2.検索するデバイスの機能又は種類を選んでください」で表示される「デバイスの機能で検索」および「デバイスの種類で検索」からなるラジオボタン(本例では「デバイスの機能で検索」が選択されている)と、「3.検索ボタンを押してください」で表示される「検索」ボタンと、ユーザデバイスの検索結果を表示する「ユーザデバイス検索結果」と、押下することにより「ユーザデバイス検索結果」フォーカスされたユーザデバイスをコンタクトリストに入れる「選択したユーザデバイスをコンタクトリストに入れる」ボタンと、押下することによりユーザデバイス検索をキャンセルする「キャンセル」ボタンとを備えている。
ユーザは、「1.ユーザデバイス情報のどの項目で検索するか選んでください」において、登録情報のうちどの情報から、該当するユーザデバイスを検索するのかを指定し、「2.検索するデバイスの機能又は種類を選んでください」において、検索して情報を取得したいユーザデバイスの特性を指定し、「検索」ボタンを押下することにより、後述する図8のうちS16の処理が実行され、「ユーザデバイス検索結果」に各種指定に応じたユーザデバイス検索結果を得ることができる。
図8はコンタクトリストの取得処理の手順を示すフローチャートである。
図8のS16において、IP電話アプリケーション対応のユーザデバイス検索がなされる。この処理は、図7のユーザデバイスのUIにおいて、検索するデバイスの機能または種類を指定した後、「検索」ボタンを押下すると実行される。そして、IP電話アプリケーションからユーザデバイス検索結果(登録情報)が取得され、ユーザデバイス検索結果に含まれる、検索するデバイスの機能または種類が検索され、表示される。
続いて、S17において、IP電話アプリケーション対応のユーザデバイス検索の結果からコンタクトリストへの追加処理がなされる。具体的には、図7のユーザデバイス検索のUIにおいて、「選択したユーザデバイスをコンタクトリストに入れる」が押下されると、「ユーザデバイス検索結果」でフォーカスされたユーザデバイスが、IP電話アプリケーション4の有するコンタクトリストに追加される。その後、コンタクトリストの取得処理が完了する。
IP電話アプリケーション対応のユーザデバイス検索処理について詳細に説明する。図9は図8のS16で起動されるIP電話アプリケーション対応のデバイスユーザ検索処理の手順を示すフローチャートである。
図9のS18において、図7のユーザデバイス検索のUIにおける「1.ユーザデバイス情報のどの項目で検索するか選んでください。」および「2.検索するデバイスの機能又は種類を選んでください。」で指定された内容が変数DEVに格納される。すなわち、S18の処理は、機能を指定する入力を受ける機能指定手段の一例をなす。その後、S19に移行する。
S19において、取得された登録情報から、IP電話アプリケーションからのユーザデバイス検索結果の取得処理が行われる。ここで、IP電話アプリケーションユーザデバイス検索結果は、登録情報の一例をなす。また、S19の処理は、ネットワーク先の他のパーソナルコンピュータに組み込まれた他のIP電話アプリケーションに登録された情報であり、IP電話アプリケーション4によって取得された登録情報を、IP電話アプリケーション4から取得する登録情報取得手段の一例をなす。
S20において、中間アプリケーションによるユーザデバイスの検索処理を行い、ユーザデバイスが検索される。その後、図8のS16で起動されるIP電話アプリケーション対応のデバイスユーザ検索手順を終了する。
図10は、図9のS19で起動されるIP電話アプリケーションからユーザデバイス検索結果取得処理を示すフローチャートである。
図10のS21において、中間アプリケーション3からIP電話アプリケーション4のAPIに対してユーザデバイス検索命令が送られ、IP電話アプリケーションが、IP電話の規格で定められた手順でユーザデバイスを検索し、登録された情報を取得する。その後、S22に移行する。
S22において、IP電話アプリケーション4のAPIを介して、IP電話アプリケーション4からユーザデバイス検索結果が取得される。
S22の完了により、IP電話アプリケーションユーザデバイス検索結果取得処理が終了する。
図11は、図9のS20で起動される中間アプリケーションによるユーザデバイスの検索処理を示すフローチャートである。
図11のS23において、変数DEVに基づいて、デバイス情報一覧から、検索したいデバイスを特定する文字列が取得される。デバイス情報一覧には、変数DEVに格納されるような、デバイスの機能または種類を示す値と、その機能を持つデバイスまたはその種類のデバイスを特定する文字列の対応情報が格納されている。その後、S24に移行する。
S24において、IP電話アプリケーションユーザデバイス検索結果から検索したいデバイスの文字列が検索される。その後、S25に移行する。
S25において、IP電話アプリケーションユーザデバイス検索結果に検索したいデバイスの文字列が該当するユーザデバイスがあるか否かが判定される。検索したいデバイスの文字列が該当するユーザデバイスがある場合(Yes)には、S26に移行し、ない場合(No)には、S28に移行する。
S26において、検索したいデバイスの文字列が該当するユーザデバイスのみ全てを抽出する。その後、S27に移行する。
S27において、S26で抽出されたユーザデバイスが、図7に示されるユーザデバイス検索のUIにおける「ユーザデバイス検索結果」の項目にリストアップされる。その後、IP電話アプリケーション対応のユーザデバイス検索処理を終了する。
S28において、選択したユーザデバイスがないことを示すメッセージを表示する。例えば、「選択したユーザデバイスは見つかりませんでした。ユーザデバイスが存在しないか、オンライン状態でない可能性があります。」というメッセージが出力される。ユーザが「OK」を押下することにより、IP電話アプリケーション対応のユーザデバイス検索処理を終了する。
本実施形態に係る中間アプリケーション3では、サーバを利用する技術が適用されていないIP電話システムでも、IP電話アプリケーションが組み込まれたパーソナルコンピュータPC1において、ネットワーク先のパーソナルコンピュータに組み込まれた他のIP電話アプリケーションに登録された情報であり、IP電話アプリケーション4によって、取得された登録情報から直接に抽出することにより、あるいは登録情報に基づいて間接的に取得することにより、他のパーソナルコンピュータまたは他のデバイスの備える機能を識別する機能識別情報を取得することができる。これにより、他のIP電話アプリケーションに登録されている情報に基づいて、他のパーソナルコンピュータまたは他のデバイスの備える機能を識別することができる。
また、本実施形態に係る中間アプリケーション3では、ユーザは、他のパーソナルコンピュータまたは他の通話端末が備える複数の機能を視認することができる。
次いで、図4におけるP2の処理の手順について詳細に説明する。
まず、図5の中間アプリケーションのUIにおいて、任意のタイミングで「ユーザデバイスを使った機能...」ボタンを押下すると、図12のユーザデバイスを使った機能のUIが起動すると共に、図4におけるP2の処理(後述する図13の手順)が実行される。
図12のユーザデバイスを使った機能のUIは「コンタクトリスト」と、「ターゲットユーザ」と、「ターゲットユーザ」への追加および削除を行なう「追加」および「削除」ボタンと、「コンタクトリスト」における対象データを指定する対象データのラジオボタン(本例では「スキャンしたデータ」または「既存のファイル」のいずれかを選択)と、ターゲットユーザデバイスで行なう機能を指定するターゲットデバイスで行なう機能のラジオボタン(本例では「印刷」、「メディアカードに画像に保存」または「OCR」のいずれかを選択)と、機能を実行する「OK」ボタンと、機能をキャンセルする「キャンセル」ボタンとを備えている。
ターゲットユーザデバイスとは、利用機能に応じた処理を行わせる対象のユーザデバイスのことである。ターゲットユーザデバイスは複数指定することができる。「ターゲットユーザデバイス」にユーザデバイスを追加する場合には、「コンタクトリスト」において、「ターゲットユーザデバイス」に追加の対象とするユーザをフォーカスし、「追加」ボタンを押下することにより、「ターゲットユーザデバイス」にユーザデバイスを追加することができる。一方で、「ターゲットユーザデバイス」からユーザデバイスを削除する場合には、「ターゲットユーザデバイス」において、「コンタクトリスト」から削除の対象とするユーザデバイスをフォーカスし、「削除」ボタンを押下することにより、「ターゲットユーザ」からユーザデバイスを削除することができる。
デバイスを使った機能のUIで「OK」ボタンが押下されると、選択された機能に応じて、図4のP2の一部の処理およびP3の処理が実行される。
図13は、図12のユーザデバイスを使った機能のUIが表示されているときに実行される受信端末の選択、利用機能の選択の処理手順を示すフローチャートである。
S29において、「追加」ボタンが押下されたか否かが判定される。押下された場合(Yes)には、S30に移行し、押下されていない場合(No)には、S33に移行する。
S30において、ユーザデバイスを使った機能のUI(図12)で「追加」ボタンの押下により、コンタクトリストでフォーカスされたユーザデバイスがコンタクトリストからターゲットユーザデバイスに追加される。その後、S31に移行する。
S31において、ユーザデバイスを使った機能のUIの「ターゲットユーザデバイス」に追加されたユーザデバイスが表示される。その後、S32に移行する。
S32において、ターゲットユーザデバイスが変数TDに格納される。その後、S33に移行する。
S33において、「OK」ボタンが押下されたか否かが判定される。押下された場合(Yes)には、S35に移行し、押下されていない場合(No)には、S34に移行する。
S34において、その他の処理を行う。その他の処理とは、例えば、図12のユーザデバイスを使った機能のUIにおいて、「対象データ」ラジオボタンが、既存のファイルに設定された場合の処理や「キャンセル」ボタンが押下された場合の処理などである。「対象データ」ラジオボタンが、既存のファイルに設定された場合には、ファイルを指定する処理を行う。その後、S29に移行する。
また、「キャンセル」ボタンが押下された場合にはユーザデバイスを使った機能のUIを閉じて、以降の処理を中止する。
S35において、ターゲットユーザデバイスで行なわせる機能が変数TFに格納される。その後、図4の利用機能(ターゲットユーザデバイスで行なわせる機能)に応じたデータ取得命令が発令され、図4のP3が実行される。そして、受信端末の選択、利用機能の選択の処理を終了する。
S35の処理は、他のパーソナルコンピュータまたは他の通話端末が備える複数の機能から所定の機能を選択して実行を決定し、図12に示すユーザデバイスを使った機能のUIにおいて「コンタクトリスト」により表示された、複数の他のパーソナルコンピュータまたは複数の他のデバイスの、端末機能識別情報から選択された端末機能識別情報に対応する、他のパーソナルコンピュータまたは他のデバイスに備えられた機能の実行を決定する機能選択実行決定手段の一例をなす。
図4におけるP3が実行され、中間アプリケーション3がデバイス2からデータを受信するとP4が実行される。図4におけるP4の処理の手順について詳細に説明する。図14は送信する画像データ、命令コマンドデータの生成処理を示すフローチャートである。
S36において、変数TFに応じて、ターゲットユーザデバイスで行なわせる機能を選択する。印刷の場合には(印刷)、S37に移行し、メディアカードに保存する場合には(メディアカード保存)、S39に移行し、OCRの機能を実行する場合には(OCR)、S40に移行する。
S37において、取得された画像データを印刷用データに変換する。具体的には、ターゲットユーザデバイスで印刷処理されるためのフォーマット変換や印刷制御用コードの付与が行われる。その後、S38に移行する。
S38において、印刷命令ファイルの生成が行なわれる。具体的には、図1における命令コマンドデータに印刷命令のデータが格納されることとなる。その後、送信する画像データ、命令コマンドデータの生成処理を終了する。
S39において、メディアカード保存命令ファイルの生成が行なわれる。具体的には、図1における命令コマンドデータにメディアカード保存命令のデータが格納されることとなる。その後、送信する画像データ、命令コマンドデータの生成処理を終了する。
S40において、取得された画像データをOCR可能なデータへの画像処理が行われる。具体的には、画像データのOCRに最適な閾値が決定され、決定された閾値に基づく2値データ化などが実行される。その後、S41に移行する。
S41において、OCR命令のコマンドデータが作成される。その後、送信する画像データ、命令コマンドデータの生成処理を終了する。
S36〜S41の処理は、機能選択実行手段の一例が決定した機能により処理すべき形式のデータを取得するデータ取得手段の一例をなす。
以上、S36〜S41の処理は、配列の変数TDに格納されているターゲットデバイス全てについて実行される。
本実施形態に係る中間アプリケーション3では、データに加えて処理すべき機能を識別するための情報が送信されるので、他のパーソナルコンピュータ、または、他の通話端末は、処理すべき機能で送信されてきたデータを処理することができる。
また、本実施形態に係る中間アプリケーション3では、少なくとも、複数の他のパーソナルコンピュータまたは複数の他のデバイスを識別する端末機能識別情報を取得して表示することができる。ユーザは、表示された端末機能識別情報を選択して、データを処理させる対象である他のパーソナルコンピュータまたは他のデバイスに処理させることができる。
また、本実施形態に係る中間アプリケーション3では、ユーザが指定した機能を備える他のパーソナルコンピュータまたは他のデバイスに関する機能識別情報を表示することができる。
また、本実施形態に係るIP電話システム1およびIP電話システムの制御方法では、サーバを利用する技術が適用されていないIP電話システムでも、ネットワーク先の他のパーソナルコンピュータに組み込まれた他のIP電話アプリケーションに登録された情報であり、IP電話アプリケーション4によって取得された登録情報から、直接的に、あるいは間接的に、他のパーソナルコンピュータまたは他のデバイスの備える機能を識別する機能識別情報を取得して、機能を識別することができる。
更に、他のパーソナルコンピュータの、または、他のデバイスの備える機能を認識して、IP電話アプリケーション4が取得可能な情報として、他のIP電話アプリケーションに機能識別情報として登録する。この機能識別情報は、他のIP電話アプリケーションが登録する登録情報の少なくとも一部を構成する。これらの機能識別情報は、IP電話アプリケーション4を介してIP通話を行うパーソナルコンピュータPC1が取得することができる。
また、本実施形態に係るIP電話システム1では、中間アプリケーション3が、機能実行決定手段、データ取得手段、および第1指示手段としてパーソナルコンピュータPC1を機能させることができる。パーソナルコンピュータPC1に組み込まれているIP電話アプリケーション4がパーソナルコンピュータ間の通信機能しか備えていない場合にも、ネットワーク先の他のパーソナルコンピュータあるいは他のデバイスに所定の機能を行わせることができる。すなわち、他のパーソナルコンピュータあるいは他のデバイスが備える機能の実行を選択し、選択された機能により処理すべき形式のデータを取得して、IP電話アプリケーション4に送信の指示をすることができる。
また、本実施形態に係るIP電話システム1では、データに加えて処理すべき機能を識別するための情報が送信されるので、他のパーソナルコンピュータ、または、他のデバイスは、処理すべき機能で送信されてきたデータを処理することができる。
(変形形態)
次いで、変形形態にかかるファームウェア送信プログラムについて説明する。図15は、ファームウェア送信プログラムのUIの一例を示す図である。
ファームウェア送信プログラムは、所定のデバイスを開発したメーカから、所定のデバイスのファームウェアを送信するために利用される。ここで、ファームウェアとは、所定のデバイス自身のファームウェアやデバイスとIP電話アプリケーションとの間の中間アプリケーションなどが含まれる。
ファームウェア送信プログラムのUIは、「ユーザ情報の選択」セレクタと、「デバイスの種類の選択」セレクタと、「検索するデバイスの種類」リストと、「ファームウェアの選択」入力ラインと、「ユーザ検索結果」リストと、「選択したユーザのデバイス情報」サブウィンドウと、「検索」ボタンと、「送信」ボタンと、「キャンセル」ボタンとを備えている。
メーカでは、ファームウェアのサポート管理者が任意のタイミングで図15のユーザインターフェースを起動し、「1.ユーザデバイス情報のどの項目で検索するか選んでください」セレクタで登録情報のうちどの情報から、該当するユーザデバイスを検索するのかを選択し(本例では表示名を選択)、「デバイスの種類で選択」セレクタで検索したいデバイスの種類を選択し(本例ではインクジェットプリンタ 複合機を選択)、「検索するデバイスの種類」セレクタで検索するデバイスの種類を選択する(本例ではMFC−420CNを選択)。それぞれのセレクタは図7のものと同じ機能である。そして、「検索」ボタンを押下すると、図9のIP電話アプリケーション対応のユーザデバイス検索処理が実行され、「ユーザデバイス検索結果」リストに検索するデバイスの種類に該当するユーザデバイスの表示名等が表示される。
また、「ユーザデバイス検索結果」のフォーカスに変化があると、図6の処理が実行され、「選択したユーザデバイスのデバイス情報」サブウィンドウに、フォーカスされたユーザデバイスのデバイス名と、ユーザデバイスが備える機能が表示される。「ファームウェアの選択」入力ラインに送信するファームウェアのファイル名を入力し、「送信」ボタンを押下すると、「ユーザデバイス検索結果」リストに表示されたユーザデバイスに対して、ファイル名で指定されたファームウェアが送信される。これを受信したユーザデバイスでは、ファームウェアのアップデートが実行される。
これにより、IP電話アプリケーションに登録されている情報に基づいて、IP電話アプリケーションが備えられているネットワーク端末または通話端末のファームウェアを更新させることができる。メーカにおいては、デバイスの備える機能毎にファームウェアを作成・更新することがある。この変形形態によれば、ユーザデバイスの備える機能を確認しつつ、誤りなくファームウェアを送信し、アップデートさせることができる。
(第2実施形態)
以下、本発明のIP電話端末、IP電話プログラム、IP電話システムについて具体化した第2実施形態を図16〜図20に基づき図面を参照しつつ詳細に説明する。
図16は、第2実施形態に係るIP電話システム20のシステム構成を示す図である。
なお、第2実施形態のIP電話システム20において、図1を参照して説明した第1実施形態のIP電話システム1と同一の構成については、同一の符号に付して説明を省略する。
第1実施形態のパーソナルコンピュータPC1には、IP電話アプリケーション4と中間アプリケーション3とがインストールされていた。これに代えて、第2実施形態のパーソナルコンピュータPC1には、IP電話アプリケーション24がインストールされている。IP電話アプリケーション24は、第1実施形態で説明したIP電話アプリケーション4にしたがって実現される機能と、中間アプリケーション3にしたがって実現される機能とを、実現させることができるプログラムである。
同様に、第2実施形態のパーソナルコンピュータPC2には、IP電話アプリケーション27がインストールされている。IP電話アプリケーション27は、第1実施形態で説明したIP電話アプリケーション7に従って実現される機能と、中間アプリケーション10に従って実現される機能とを、実現させることができるプログラムである。
なお、本第2実施形態において、IP電話アプリケーション24とIP電話アプリケーション27とは同じ作用効果を奏するプログラムであるが、便宜上、異なる符号を付して説明する。
また、IP電話アプリケーション24,27には、それぞれ、文字列付加モジュール16およびデバイス監視モジュール17(図2参照)が組み込まれており、パーソナルコンピュータPC1,PC2にデバイス情報登録処理(図3参照)を実行させるものであるが、これらモジュール16,17およびデバイス情報登録処理(図3参照)は、第1実施形態で説明したものと同一であるため、詳細な説明は省略する。
図17は、第2実施形態のIP電話システム20の電気的構成を示すブロック図である。
図17に示すように、パーソナルコンピュータPC1には、CPU31、ROM32、RAM33、HDD34が設けられている。さらに、パーソナルコンピュータPC1には、表示名で定められる他のIP電話端末との間でインターネット80を介してIP電話通信を行うための音声デバイス37aを接続可能なオーディオインターフェイス37、さらに、通信手段の一例をなすネットワークインターフェイス38、および外付装置を接続可能なUSBインターフェース39が設けられている。なお、パーソナルコンピュータPC1には、図5などを参照して説明したUIを表示するモニターなどその他の構成を備えているが、図17のブロック図においては図示および説明を省略する。
CPU31は、ROM32やRAM33、HDD34に記憶される固定値やプログラムに従って、各部を制御する。HDD34には、上述したIP電話アプリケーション24が格納されている。
パーソナルコンピュータPC1のCPU31は、IP電話アプリケーション24を読み取り、実行することにより、他のIP電話端末との間で通話するIP電話機能の実行を制御するIP電話機能制御手段の一例として機能する。
なお、図17には、パーソナルコンピュータPC1とデバイス40とがUSB接続された一例を示しているが、パーソナルコンピュータPC1にLAN接続されたデバイスについても、同様にPC1からの制御が可能であることはいうまでもない。
次いで、パーソナルコンピュータPC1に接続されたデバイス2からデータを取得し、パーソナルコンピュータPC2に接続されたデバイス11でそのデータを処理する場合に実行される手順について説明する。
図18は、第2実施形態にかかるIP電話システムのプログラムの流れを示すシーケンスチャートである。まず、IP電話アプリケーション4は他のパーソナルコンピュータにインストールされているIP電話アプリケーション(IP電話アプリケーション27など)に対し、ユーザデバイスの検索をインターネットに対して行なう。
IP電話アプリケーション27などは、IP電話アプリケーション24に対し、表示名(識別情報の一例)を含むユーザデバイスの情報(登録情報)を送り、IP電話アプリケーション24は、取得された登録情報格納部5(図16参照)に、送られて来た登録情報を格納する。IP電話アプリケーション24が他のIP電話アプリケーション27の登録情報を取得する処理が、識別情報受信手段の一例をなす。
なお、スーパーノードと呼ばれる特別なユーザデバイスがIP電話アプリケーションの登録情報を一括管理している場合がある。この場合、IP電話アプリケーション4が行った検索に対し、各IP電話アプリケーションの登録情報を、スーパーノードが返信することになる。
また、第1実施形態においても、スーパーノードが存在している場合には、IP電話アプリケーション4が行った検索に対し、各IP電話アプリケーションの登録情報を、スーパーノードが返信することになる。
P21において、パーソナルコンピュータPC1のIP電話アプリケーション4の取得された登録情報格納部5に登録される他のパーソナルコンピュータからの登録情報に基づき、コンタクトリストの取得処理が行われる。この処理の手順は、図8、図9および図11を参照して説明した処理とほぼ同様であるため図示および説明を省略する。
ただし、第1実施形態では、中間アプリケーションに従ってコンタクトリスト取得処理が行われていたため、図9に示すS19のように、中間アプリケーションがIPアプリケーションからユーザデバイス検索結果を取得する処理が設けられていたが、第2実施形態の場合は、中間アプリケーションを介さずに、IP電話アプリケーションによって、直接、IP電話アプリケーション対応のユーザデバイス検索を行うことができる。
P22において、受信端末の選択および利用機能の選択が行なわれる。この処理の詳しい手順は、図13を参照して説明した手順とほぼ同様であるため、説明を省略する。ただし、図13を参照して説明した手順は、中間アプリケーションに従って実行されるものとして説明したが、第2実施形態で実行される処理は、IP電話アプリケーションに従って行われる点のみ、異なっている。
この処理では、利用機能が選択された後に、利用機能に応じたデータ取得命令が、パーソナルコンピュータPC1に接続されたデバイス2に発令される。また、利用機能の選択は、パーソナルコンピュータPC2が備える機能の実行を決定する機能実行決定手段の一例をなす。
次に、選択された利用機能の処理対象となるデータ(処理データの一例)の取得が行われる(P23)。具体的には、例えば、デバイス2でスキャンされた画像データがパーソナルコンピュータPC1のIP電話アプリケーション24に転送される。
P24において、送信する画像データ、命令コマンドデータの生成処理が行われる。詳しい手順は、図14を参照して説明したため、省略する。ただし、図14を参照して説明した処理は中間アプリケーションに従って実行されていたが、第2実施形態で実行される処理は、IP電話アプリケーションに従って実行される。
P24では、取得されたデータが相手先で処理される種類に応じて、送信する画像データおよび命令コマンドデータが生成される。すなわち、P24で行われる処理が、決定した機能により処理すべき形式のデータを取得するデータ取得手段の一例をなす。
P25において、IP電話アプリケーション24からはパーソナルコンピュータPC2のIP電話アプリケーション27にデータ送信承諾確認命令が発令される。
P26において、IP電話アプリケーション27では、データ送信承諾確認命令の監視がなされている。そして、IP電話アプリケーション24からIP電話アプリケーション27に至るデータ送信承諾確認命令が検知される。
P27において、IP電話アプリケーション24からIP電話アプリケーション27に至るデータ送信承諾確認命令の検知に応じて、IP電話アプリケーション27では、受信データ保存先指定が行なわれる。続いて、IP電話アプリケーション27では、IP電話アプリケーション24に対してデータ送信承諾確認命令が発令される。
P28において、データ送信承諾命令の監視がなされている。そして、IP電話アプリケーション27からIP電話アプリケーション24に至るデータ送信承諾確認命令が検知される。
P29において、データ送信機能の実行がなされる。すなわち、図1におけるIP電話アプリケーション24が備えるファイル送信部6から、IP電話アプリケーション27が備えるファイル受信部9に(すなわち、IP電話通信を介して)、P23において取得されたデータにデバイス11が備える機能に対する命令コマンドデータが付与されて送信されることとなる。このようにして、送信先において有効に利用できるデータを、送信することができる。取得されたデータの送信は、処理データ送信制御手段の一例をなす。
P30において、IP電話アプリケーション27は、送信データを待機している。P29において送信されたデータは、IP電話アプリケーション27により受信される。
P31において、受信されたデータのうち命令コマンドデータを解釈する。解釈された命令コマンドは利用機能に応じたデータ処理命令をデバイス11に出力する。
P32において、利用機能に応じたデータ処理命令に基づくデータ処理がなされる。
以上のP31〜P32の処理により、デバイス2から利用機能に応じたデータ取得がなされ、デバイス11において利用機能に応じたデータ処理がなされる。その結果、データの送信側、受信側双方のIP電話端末の資源を有効活用できる。
P32〜P35では、IP電話アプリケーション24が、機能実行決定手段の一例、データ取得手段、処理データ送信制御手段の一例として、パーソナルコンピュータPC1を機能させることができる。
第2実施形態に係るPC1においても、第1実施形態と同様に、ユーザが任意のタイミングでIP電話アプリケーション24に指示を出すと、図5に参照して説明したUIを表示する。なお、第1実施形態では、中間アプリケーション3のUIであったが、第2実施形態ではIP電話アプリケーション24のUIである点についてのみ、両者は異なり、他は同一であるから、IP電話アプリケーション24のUIの図示および説明は省略する。
さらに、図5を参照して説明したUIにおいて、ユーザデバイスの表示名へのフォーカスが変更されるたびに、図6を参照して説明した処理が起動される。
図6に戻り説明する。第1実施形態と同じように、S12において、フォーカスされたユーザデバイスの表示名のデバイス情報が表示名およびプロフィールから取得される。その後、S13に移行する。
S13において、デバイス情報の取得に成功したか否かを判別する。デバイス情報の取得に成功した場合(Yes)には、S15に移行し、成功しなかった場合(No)には、S14に移行する。
図19(a)は、S12の処理の詳細を示すフローチャートである。まず、フォーカスされた表示名に、予め記憶した抽出用文字列A(取得用情報の一例)が含まれるか否かを判断する(S121)。S121の判断が判断手段の一例をなす。
図19(b)は、抽出用文字列一覧の一例を示す図である。この抽出用文字列一覧は、パーソナルコンピュータPC1のHDD34(図17参照)に予め記憶されている。抽出用文字列は取得用情報の一例であり、HDD34は、取得用情報記憶手段の一例に相当する。図19(b)に示すように、表示名に適用する抽出用文字列Aとして、例えば、"device"や"pc_"が予め定められている。
図2を参照して説明したように、"pc_"などのPC名や、デバイス名が含まれていることを示す"device"が表示名に存在している場合、その直後には、PC名やデバイス名(端末情報の一例)が含まれている可能性が高い。
よって、表示名に抽出用文字列が含まれる場合(S121:Yes)、すなわち、表示名にPC名やデバイス名が対応付けられていると判断できる場合、次に、抽出用文字列の直後の文字列からデバイス名を切り出す(抽出する)(S122)。S122の処理が端末情報取得手段の一例をなす。
そして、表示名から見つかった抽出用文字列Aに対応する抽出用文字列Bを取得し、その抽出用文字列Bがプロフィールにあるか否かを判断する(S123)。
S123の判断が肯定される場合(S123:Yes)、抽出用文字列の直後の文字列からデバイス情報を切り出し(S124)、図6に示すS15の処理に移行する。上述したように、デバイス情報には、デバイスの備える機能を示す文字列が付加されている(図2参照)。
すなわち、本処理によれば、他のIP電話端末がインターネット上に送信した表示名に基づいて、その表示名に対応付けられたデバイス名を取得し、そのデバイス名から、その表示名の他のIP電話端末が制御可能な機能を特定することができる。すなわち、表示名からデバイス名を抽出するという容易な処理で、デバイス名を取得することができ、処理資源を無駄に使用することがない。
なお、S121またはS123のうちいずれかの判断が否定される場合(S121またはS123:No)、すなわち、デバイス情報を取得できなかった場合、図6に示すS14の処理に移行する。
なお、本実施形態では、デバイス情報は、プロフィールに含まれるものとして説明していたが、例えば、デバイス情報を表示名に含むように構成することもできる。この場合は、S123の処理で、抽出用文字列Bがプロフィールに含まれるか否かを判断することに代えて、抽出用文字列Bが表示名に含まれるか否かを判断すれば良い。そして、その判断が肯定された場合は、S124の処理において、表示名に含まれる抽出用文字列Bの直後の文字列からデバイス情報を切り出すように構成すれば良い。
また、第1実施形態において、デバイス情報を表示名に含むよう構成してもよい。
そして、S14において、フォーカスされた表示名に、デバイス情報一覧(図2参照)に記憶されたデバイス名が含まれるかを判断し、含まれると判断された場合、そのデバイス名に対応するデバイス情報を、デバイス情報一覧から取得する。
図20は、図6に示すS14の処理の詳細を示すフローチャートである。まず、フォーカスされた表示名に、デバイス情報一覧に記憶された「デバイス名」のどれかが含まれるかを判断する(S141)。なお、デバイス情報一覧に記憶された「デバイス名」が取得用情報の一例に相当する。またS141の判断が判断手段の一例をなす。
S141の判断が否定される場合(S141:No)、処理を終了する。一方S141の判断が肯定される場合(S141:Yes)、表示名に含まれるデバイス名を抽出する(S142)。S142の処理は、端末情報取得手段の一例をなす。
そして、抽出されたデバイス名に対応するデバイス情報をデバイス一覧から取得し(S144)、図6に示すS15の処理に戻る。
なお、本実施形態では、プロフィールにもデバイス名が含まれているため、S141において、表示名にデバイス名が含まれるかどうかを判断することに代えて、プロフィールにデバイス名が含まれるかどうかを判断することとしても良い。
また、第1実施形態において、プロフィールにデバイス名が含まれるかどうかを判断するよう構成してもよい。
そして、第1実施形態と同様に、S15において、図5に示されるUIの「選択したユーザデバイスのデバイス情報」の項目に取得した「デバイス名」および「デバイス機能」を表示して終了する。
第2実施形態のパーソナルコンピュータPC1によれば、第1実施形態のパーソナルコンピュータPC1と同様に、他のIP電話端末の機能を容易に利用することができ、IP電話システムの資源を有効活用することができる。
なお、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。
例えば、パーソナルコンピュータに接続されるデバイスをスキャナとプリンタとして説明したが、FAXなどを用いた場合も本発明を適用できることは言うまでもない。
また、デバイスがスピーカやマイクなど、音声入出力機能を備えており、ユーザがデバイスに備えられているスピーカやマイクなどを用いて、IP電話による通話を行う構成である場合は、通話を行っているデバイスのデバイス情報がIP電話アプリケーションに登録される構成であってもよい。
この場合、IP電話アプリケーションは、他のIP電話端末から受信した音声データをデバイスのスピーカから出力し、デバイスのマイクから入力された音声データを他のIP電話端末に送信するように構成されている。
さらに、IP電話アプリケーションおよびデバイスから中間アプリケーションにイベントメッセージが送信されてくるように構成され、イベントメッセージを受信した中間アプリケーションは、IP電話アプリケーションからのメッセージをデバイスに伝達し、デバイスからのメッセージをIP電話アプリケーションに伝達するように構成されている。
例えば、IP電話アプリケーションが他のIP電話端末から通話要求を受けると、通話要求のイベントが中間アプリケーションを介してデバイスに伝達され、ユーザがデバイスを操作して通話許可の指示を行うと、そのイベントがIP電話アプリケーションに伝達され、通話が開始されることになる。
この際、デバイスからの通話許可の指示を得た中間アプリケーションが、図3のS1〜S3が全てYesであると処理し、S4〜S7において、通話許可の指示元であるデバイスのデバイス情報をIP電話アプリケーションに登録すればよい。
一方、ユーザがデバイスを操作してユーザデバイスの検索指示を行うと、検索指示のイベントが中間アプリケーションを介してIP電話アプリケーションに伝達され、IP電話アプリケーションがインターネットに対してユーザデバイスの検索要求を送信することになる。そして、IP電話アプリケーションが得た検索結果(コンタクトリスト)は、中間アプリケーションを介してデバイスに伝達され、デバイスが備える表示部に表示される。
ユーザがデバイスを操作し、表示されたコンタクトリストから通話先を選択し、通話指示を行うと、通話要求のイベントが中間アプリケーションを介してIP電話アプリケーションに伝達され、IP電話アプリケーションが通話先のIP電話端末に通話要求を送信し、通話許可を待つことになる。
この際、デバイスからの通話要求の指示を得た中間アプリケーションが、図3のS1〜S3が全てYesであると処理し、S4〜S7において、通話要求の指示元であるデバイスのデバイス情報をIP電話アプリケーションに登録すればよい。
また、図5、図7のUIをデバイスが備えている構成でもよい。この場合、デバイスが備える図5、図7のUIをユーザが操作し、その操作による指示が中間アプリケーションを介してIP電話アプリケーションに伝達され、検索が行われることになる。また、デバイスが備える図7のUIをユーザが操作し、他のIP電話端末が備える機能を利用する指示が中間アプリケーションに伝達されることになる。
中間アプリケーション3、10,14はIP電話連携プログラムの一例、IP電話アプリケーション4,24は自IP電話アプリケーションの一例、IP電話アプリケーションの一例、パーソナルコンピュータPC1は自ネットワーク端末の一例、IP電話端末の一例、デバイス2は自通話端末の一例、パーソナルコンピュータPC2,3は他ネットワーク端末の一例、他IP電話端末の一例、IP電話アプリケーション7,12は他IP電話アプリケーションの一例である。また、ユーザデバイス検索結果は登録情報の一例、選択したユーザデバイスのデバイス情報は機能識別情報の一例である。