図面 (/)

この項目の情報は公開日時点(2015年4月23日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (19)

課題

電話呼を自動化することにより、通信ステムの使用を容易にする。

解決手段

ユーザがウェブページ(または他のインタフェース)上の電話番号(または音声通信ターゲットを示す他の指示)の上でホバーすると、電話番号は強調表示され、強調表示された番号を使用して電話をかける機会がユーザに提供される。ユーザが強調表示された電話番号をクリックした場合、電話番号は、電話をかけるのを容易にするために通信アプリケーションに提供される。ユーザが強調表示された電話番号をクリックせずに離れた場合、強調表示は消える。

概要

背景

ボイスオーバーインターネットプロトコル(VOIP)は、ユーザが従来の電話回線の代わりに広帯域インターネット接続を使用して電話をかけることを可能にする技術である。VOIPを使用するいくつかのサービスでは、ユーザは、VOIPをやはり使用している他の人々にしか電話をかけることができない場合がある。しかし、多くのサービスではまた、ユーザは、市内長距離携帯、および国際の番号を含めて、電話番号を有する人なら誰にでも電話をかけることができる。いくつかのサービスは、コンピュータまたは特別なVOIP電話機を介してしか機能しないが、他のサービスでは、アダプタを介して従来の電話機の使用が可能である。

VOIPの使用を促進するために、技術プロバイダは、VOIPを、使用するのにより便利で効率的なものにする方法を探し求めてきた。例えば、VOIPアプリケーションのいくつかのプロバイダは、ウェブページ中に見られる電話番号を強調表示し、電話呼(telephone call)を開始するためのハイパーリンクを関連付けることによって、インターネット上のコンテンツ中の潜在的な電話番号を識別する技術を開発した。

しかし、電話番号を強調表示する前述の技術には、ユーザ体験に関するいくつかの問題があった。例えば、強調表示が邪魔になってウェブページが読みにくくなることがあった。加えて、強調表示の使用により、ウェブページのレンダリング時間が増加した。というのは、強調表示を実施するソフトウェアは、全ての電話番号を見つけて認識し、これらの電話番号にハイパーリンクを関連付け、電話番号を強調表示するために、ページ全体を解析する必要があるからである。

概要

電話呼を自動化することにより、通信ステムの使用を容易にする。ユーザがウェブページ(または他のインタフェース)上の電話番号(または音声通信ターゲットを示す他の指示)の上でホバーすると、電話番号は強調表示され、強調表示された番号を使用して電話をかける機会がユーザに提供される。ユーザが強調表示された電話番号をクリックした場合、電話番号は、電話をかけるのを容易にするために通信アプリケーションに提供される。ユーザが強調表示された電話番号をクリックせずに離れた場合、強調表示は消える。

目的

この概要は、以下の詳細な記述でさらに述べる概念精選を、単純化した形で紹介するために提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータデバイスにおいて通信セッションを開始する方法であって、前記コンピュータデバイスのユーザインターフェースにおける第1のアプリケーション内にテキストコンテンツを表示することと、前記テキストコンテンツの少なくとも一部の選択を、選択機構が前記テキストコンテキストの前記一部から所定の距離内あることに応答して受信することと、前記テキストコンテンツの前記少なくとも一部の選択が通信ターゲットの表示かどうか判定することと、前記テキストコンテンツの前記少なくとも一部の選択が通信ターゲットの表示であると判定された場合、前記コンピュータデバイスにおいて常駐する通信アプリケーションを開始することと、前記通信アプリケーションに前記テキストコンテンツの前記少なくとも一部を入力することとを含むことを特徴とする方法。

請求項2

前記テキストコンテンツの前記少なくとも一部は電話番号であることを特徴とする請求項1に記載の方法。

請求項3

前記通信アプリケーションは電話アプリケーションであることを特徴とする請求項1に記載の方法。

請求項4

前記第1のアプリケーションはウェブブラウザであることを特徴とする請求項1に記載の方法。

請求項5

前記通信ターゲットとの通信セッション開始の入力を受け取ることをさらに含むことを特徴とする特徴とする請求項1に記載の方法。

請求項6

前記テキストコンテキストの前記少なくとも一部が通信ターゲットの表示として認められない場合に第2のアプリケーションを開始することさらに含むことを特徴とする請求項1に記載の方法。

請求項7

コンピュータ実行可能命令を符号化するコンピュータ可読記憶媒体であって、少なくとも1のプロセッサにより実行されたときに、コンピュータデバイス上において通信セッションを開始ための方法であって、前記コンピュータデバイスのユーザインターフェースにおける第1のアプリケーション内にテキストコンテンツを表示することと、前記テキストコンテンツの少なくとも部分の選択を、選択機構が前記テキストコンテキストの前記部分から所定の距離内あることに応答して受信することと、前記テキストコンテンツの前記少なくとも部分の選択が通信ターゲットの表示かどうか判定することと、前記テキストコンテンツの前記少なくとも一部の選択が通信ターゲットの表示であると判定された場合、前記コンピュータデバイスにおいて常駐する通信アプリケーションを開始することと、前記通信アプリケーションに前記テキストコンテンツの前記少なくとも一部を入力することとを含む方法を実行することを特徴とするコンピュータ可読記憶媒体。

請求項8

前記テキストコンテンツの少なくとも一部は電話番号であることを特徴とする請求項7に記載のコンピュータ可読記憶媒体。

請求項9

前記通信アプリケーションは電話番号であることを特徴とする請求項7に記載のコンピュータ可読記憶媒体。

請求項10

前記第1のアプリケーションはウェブブラウザであることを特徴とする請求項7に記載のコンピュータ可読記憶媒体。

請求項11

入力を受信することに応答して通信ターゲットと通信セッションを開始するための命令ことをさらに含むことを特徴とする請求項7に記載のコンピュータ可読記憶媒体。

請求項12

前記テキストコンテキストの前記少なくとも一部が通信ターゲットの表示として認められない場合に第2のアプリケーションを開始するための命令をさらに含むことを特徴とする請求項7に記載のコンピュータ可読記憶媒体。

請求項13

1または複数のプロセッサと、前記1または複数のプロセッサと結合されたメモリであって、前記メモリは、1または複数のプロセッサによって実行されたときに、前記1または複数のプロセッサにコンピュータデバイスにおいて通信セッションを開始させる方法であって、前記コンピュータデバイスのユーザインターフェースにおける第1のアプリケーション内にテキストコンテンツを表示することと、前記テキストコンテンツの少なくとも部分の選択を、選択機構が前記テキストコンテキストの前記部分から所定の距離内あることに応答して受信することと、前記テキストコンテンツの前記少なくとも部分の選択が通信ターゲットの表示かどうか判定することと、前記テキストコンテンツの前記少なくとも一部の選択が通信ターゲットの表示であると判定された場合、前記コンピュータデバイスにおいて常駐する通信アプリケーションを開始することと、前記通信アプリケーションに前記テキストコンテンツの前記少なくとも一部を入力することとを含む方法を実行させる命令を記憶した、メモリとを備えることを特徴とするコンピュータデバイス。

請求項14

前記テキストコンテンツの少なくとも一部は電話番号であることを特徴とする請求項13に記載のコンピュータデバイス。

請求項15

前記通信アプリケーションは電話番号であることを特徴とする請求項13に記載のコンピュータデバイス。

請求項16

前記第1のアプリケーションはウェブブラウザであることを特徴とする請求項13に記載のコンピュータデバイス。

請求項17

入力を受信することに応答して通信ターゲットと通信セッションを開始するための命令ことをさらに含むことを特徴とする請求項13に記載のコンピュータデバイス。

請求項18

前記テキストコンテキストの前記少なくとも一部が通信ターゲットの表示として認められない場合に第2のアプリケーションを開始するための命令をさらに含むことを特徴とする請求項13に記載のコンピュータデバイス。

技術分野

0001

本発明は、電話呼を自動化することにより、通信ステムの使用を容易にすることに関する。

背景技術

0002

ボイスオーバーインターネットプロトコル(VOIP)は、ユーザが従来の電話回線の代わりに広帯域インターネット接続を使用して電話をかけることを可能にする技術である。VOIPを使用するいくつかのサービスでは、ユーザは、VOIPをやはり使用している他の人々にしか電話をかけることができない場合がある。しかし、多くのサービスではまた、ユーザは、市内長距離携帯、および国際の番号を含めて、電話番号を有する人なら誰にでも電話をかけることができる。いくつかのサービスは、コンピュータまたは特別なVOIP電話機を介してしか機能しないが、他のサービスでは、アダプタを介して従来の電話機の使用が可能である。

0003

VOIPの使用を促進するために、技術プロバイダは、VOIPを、使用するのにより便利で効率的なものにする方法を探し求めてきた。例えば、VOIPアプリケーションのいくつかのプロバイダは、ウェブページ中に見られる電話番号を強調表示し、電話呼(telephone call)を開始するためのハイパーリンクを関連付けることによって、インターネット上のコンテンツ中の潜在的な電話番号を識別する技術を開発した。

0004

しかし、電話番号を強調表示する前述の技術には、ユーザ体験に関するいくつかの問題があった。例えば、強調表示が邪魔になってウェブページが読みにくくなることがあった。加えて、強調表示の使用により、ウェブページのレンダリング時間が増加した。というのは、強調表示を実施するソフトウェアは、全ての電話番号を見つけて認識し、これらの電話番号にハイパーリンクを関連付け、電話番号を強調表示するために、ページ全体を解析する必要があるからである。

発明が解決しようとする課題

0005

本明細書に述べる技術は、ユーザがユーザインタフェースコンテンツ内にある電話番号の上でホバー(hover)するかまたはこの電話番号を選択するのに応答して電話呼を自動化することにより、通信システムの使用を容易にする。

課題を解決するための手段

0006

ユーザがウェブページ(または他のインタフェース)上の電話番号(または音声通信ターゲットを示す他の指示)の上でホバーすると、電話番号は強調表示され、強調表示された番号を使用して電話をかける機会がユーザに提供される。ユーザが強調表示された電話番号をクリック(または他の方法で選択)すると、電話番号は、この番号を使用して電話をかけることのできるVOIPアプリケーション(または他の通信アプリケーション)に提供される。ユーザが強調表示された電話番号をクリックせずに離れた場合は、強調表示は消える。代替実施形態では、ユーザは、ウェブページ(または他のインタフェース)中のテキストを選択することができ、選択したテキスト中に電話番号がある場合、この電話番号は自動的に、電話をかけるのを容易にするためにVOIPアプリケーションに提供されるものとすることができる。別の実施形態では、システムは、コンテンツ中で電話番号を見つけて、これらの電話番号を、本明細書に述べる挙動を可能にするためのハイパーリンクで置き換える。

0007

一実施形態は、ユーザがコンテンツの上または付近でホバーするのに応答して、コンテンツがターゲットの指示であるかどうか判定すること、判定に応答してターゲットの指示を識別すること、ターゲットの指示の選択を受け取ること、および、ターゲットの指示の選択を受け取るのに応答して、ターゲットの指示を使用して音声接続確立することを含む。別の実施形態は、コンテンツがターゲットの指示であるかどうか判定することを含み、これは、コンテンツを正規化すること、正規化されたコンテンツを正規化済みパターン合致させること、および、コンテンツを、正規化済みパターンに関連する生パターンと合致させることを含む。ターゲットの指示は、ユーザがコンテンツの上または付近でホバーするのに応答して、コンテンツ内で視覚的に識別される。ターゲットの指示の選択を受け取るのに応答して、ターゲットの指示を使用して音声接続が確立される。別の実施形態は、記憶デバイスからのコンテンツをユーザインタフェース中で表示すること、コンテンツのサブセットの選択を受け取ること、コンテンツのサブセットがターゲットの正しい指示を含むかどうか判定すること、ならびに、ターゲットの正しい指示および通信インタフェースを使用して、データネットワークを介した音声接続の確立を引き起こすことを含む。

0008

本明細書に述べる技術は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの両方の組合せを使用して実施することができる。使用されるソフトウェアは、ハードディスクドライブCD−ROM、DVD、光学ディスクフロッピー登録商標ディスクテープドライブ、RAM、ROM、フラッシュメモリ、または他の適した記憶デバイスを含めた、1つまたは複数のプロセッサ可読記憶デバイスに記憶される。このソフトウェアを使用して、1つまたは複数のプロセッサを、本明細書に述べる機能を実施するようにプログラムすることができる。代替実施形態では、ソフトウェアのいくらかまたは全てを、カスタム集積回路ゲートアレイFPGA、PLD、および専用コンピュータを含めた、専用ハードウェアで置き換えることができる。本明細書に述べる機能を実施することのできる例示的な装置は、記憶デバイスおよび通信インタフェースと通信する、1つまたは複数のプロセッサを含む。

0009

この概要は、以下の詳細な記述でさらに述べる概念精選を、単純化した形で紹介するために提供する。この概要は、特許請求する主題の鍵となる特徴または本質的な特徴を識別するものとはせず、特許請求する主題の範囲を決定する際の助けとして使用されるものともしない。

図面の簡単な説明

0010

ネットワークを介した音声通信を可能にするシステムの一実施形態を示すブロック図である。
クライアントデバイス上のコンポーネントの一実施形態のブロック図である。
クライアントデバイス上のコンポーネントの一実施形態のブロック図である。
コンピューティングシステムの一実施形態を記述するブロック図である。
ユーザが電話番号の指示の上でホバーするのに応答して通信を開始するためのプロセスの一実施形態を記述するフローチャートである。
電話番号を認識するためのプロセスの一実施形態を記述するフローチャートである。
VOIP接続を実施するプロセスを記述するブロック図である。
ユーザが電話番号の指示の上でホバーするのに応答して通信を開始するためのプロセスの一実施形態を記述するフローチャートである。
電話番号を含むコンテンツをユーザが選択するのに応答して通信を開始するためのプロセスの一実施形態を記述するフローチャートである。
電話番号を含むコンテンツをユーザが選択するのに応答して通信を開始するためのプロセスの一実施形態を記述するフローチャートである。
ユーザが電話番号の指示の上でホバーするのに応答して通信を開始するためのプロセスの一実施形態を記述するフローチャートである。
クライアントデバイス上のコンポーネントの一実施形態のブロック図である。
ウェブページにハイパーリンクを追加するためのプロセスの一実施形態を記述するフローチャートである。
ハイパーリンクが追加される前のウェブページの一部を示す図である。
ハイパーリンクが追加された後のウェブページの一部を示す図である。
ユーザが電話番号の指示の上でホバーするのに応答して通信を開始するためのプロセスの一実施形態を記述するフローチャートである。
ハイパーリンクに応答して通信システムによって実施されるプロセスの一実施形態を記述するフローチャートである。
ハイパーリンクに応答して通信システムによって実施されるプロセスの一実施形態を記述するフローチャートである。

実施例

0011

本明細書に述べる技術は、ユーザがユーザインタフェースのコンテンツ内にある電話番号の上でホバーすること、および/またはこの電話番号を選択することに応答して、音声接続を自動化することにより、通信システムの使用を容易にする。

0012

ユーザがウェブページ(または他のインタフェース)上の電話番号(または音声通信のターゲットを示す他の指示)の上でホバーすると、電話番号は強調表示され、強調表示された番号を使用して電話をかける機会がユーザに提供される。ユーザが強調表示された電話番号をクリック(または他の方法で選択)すると、電話番号は、この電話番号を使用して電話をかけることのできるVOIPアプリケーション(または他の通信アプリケーション)に自動的に提供される。ユーザが、強調表示された電話番号をクリックせずに離れた場合、強調表示は消える。

0013

代替実施形態では、ユーザは、ウェブページ(または他のインタフェース)中のテキストを選択することができ、選択したテキスト中に電話番号がある場合、この電話番号は自動的に、電話をかけるのを容易にするためにVOIPアプリケーションに提供されるものとすることができる。いくつかの実施形態では、システムは、コンテンツ中で電話番号を見つけて、これらの電話番号を、前述の挙動を可能にするためのハイパーリンクで置き換える。

0014

図1は、本明細書に述べるように電話呼の開始を自動化することのできる、ネットワークを介した通信(例えばVOIP)を可能にするシステムの一実施形態を示すブロック図である。図1には、クライアントコンピューティングデバイス10がインターネット12と通信するのを示す。クライアントコンピューティングデバイス10は、パーソナルコンピュータノートブックコンピュータハンドヘルドデバイス携帯電話機などを含めた、任意の適したコンピューティングデバイスとすることができる。クライアントコンピューティングデバイス10は、インターネット12を介した通信を可能にするためのソフトウェアおよび/またはハードウェアを備える。例えば、クライアントコンピューティングデバイスは、ネットワークインタフェースを介して通信するVOIPソフトウェアアプリケーションを備えることができる。

0015

図1にはまた、コンピューティングデバイス14がインターネット12(または他の手段)を介してインタフェース16と通信するのも示す。インタフェース16もまた、直接通信リンク、インターネット12、または別の手段を介して、電話網18と通信する。コンピューティングデバイス14は、他のコンピューティングデバイスと通信することのできる任意のタイプのコンピューティングデバイスとすることができる。電話網18は、周知のレガシー電話網および/またはセルラー電話網を含む。インタフェース16は、レガシー電話網18とインターネット12のデータネットワークとの間のインタフェースを提供するハードウェアおよびソフトウェアを備える。例えば、インタフェース16は、インターネット12を介してVOIP通信を受信して、これらの通信をレガシー電話網18に転送すること、ならびに、インターネット12を介して音声通信を電話網18からVOIP通信に転送することを行う、1つまたは複数のコンピュータとすることができる。クライアントコンピューティングデバイス10のユーザが、VOIP技術を使用して、コンピューティングデバイス14上の別のユーザに、あるいは電話網18上の従来型またはワイヤレス電話機のユーザに電話をかけることが企図される。他の実施形態では、電話をかけるユーザは、クライアントコンピューティングデバイス10ではなく、アダプタ付き電話機を使用していてもよい。

0016

図2は、クライアントコンピューティングデバイス10上にある様々なコンポーネントを示すブロック図である。一実施形態では、コンピューティングデバイス10は、ブラウザ30(例えば、本件特許出願人によるInternet Explorerまたは別のブラウザ)、およびソフトフォン(SoftPhone)40を備える。一実施形態では、ソフトフォン40は、VOIPを実施することのできるソフトウェアアプリケーションである。他の実施形態では、ソフトフォン40は、音声接続、または音声通信を含む他のタイプの接続を確立するのに使用することのできる他の通信プロトコルを実施することになる。ソフトフォン40は、インスタントメッセージング電子メール、ファイル共有、および他のサービスを含む通信アプリケーションの一部とすることができる。

0017

ブラウザ30は、プラグイン32、URLモニカ(moniker)34、およびライブコール(LiveCall)ハンドラ36を備える。プラグイン32は、ブラウザによってロードされ、ブラウザ中で稼動しているソフトウェアモジュールである。ウェブページがロードされると、ブラウザは、ブラウザプラグインを呼び出して関数(function)を実施する。ユーザがテキストストリング上でホバーすると、ブラウザ30は、ブラウザプラグイン32を呼び出してテキストストリングを処理する。URLモニカ34は、ブラウザ30内のユーザインタフェースを実施するコード中のURLを受け取り、これらのURLに適したプロトコルハンドラを調べる。ライブコールハンドラ36は、プロトコルハンドラの一例である。後で論じるように、本明細書に述べる技術のいくつかの実施形態の一態様は、新しいハイパーリンクである。このハイパーリンクをライブコールハイパーリンクと呼ぶ。ライブコールハンドラ36は、ライブコールハイパーリンクのためのプロトコルハンドラである。ライブコールハイパーリンクに関しては、後でより詳細に論じる。

0018

ソフトフォン40は認証マネージャ42を備え、認証マネージャ42は、ソフトフォン40の使用前にユーザを認証するソフトウェアモジュールである。いくつかの実施形態では、認証マネージャ42はまた、ユーザの要求するアクションを実施することがユーザに許可されていることを検証する。図2には、プラグイン32およびライブコールハンドラ36と通信する認証マネージャ42を示す。

0019

ユーザが認証された後、認証マネージャ42は、パーサ(parser)44または別のモジュールに制御を渡すことになる。パーサ44は、URLを様々な構成要素に解析するソフトウェアモジュールである。パーサ44は、これらの構成要素を、信号および音声エンジン46、ビジネスインテリジェンス48、プレゼンテーションロジック50、およびハイパーリンクリダイレクタ52に通信することになる。

0020

信号および音声エンジン46もまた認証マネージャ42と通信し、VOIP電話呼を開始および維持するためのエンジンを提供する。信号および音声エンジン46は、アドレス帳58と通信する。一実施形態では、アドレス帳58は、ユーザに関連する様々な人々に関する連絡先情報を記憶する。アドレス帳58は、個人情報管理アプリケーションの一部、またはソフトフォン40専用のデータストアとすることができる。

0021

ビジネスインテリジェンス48は、ソフトフォン40をビジネスインテリジェンス適用分野に使用することに関する情報を記憶するデータストアである。プレゼンテーションロジック50は、ソフトフォン40のためのユーザインタフェースを提供する。ハイパーリンクリダイレクタ52は、URL中のコマンドまたは情報に基づいてプレゼンテーションロジック50とブラウザ30とのいずれかをリダイレクトするのに使用することができる。一実施形態では、ハイパーリンクリダイレクタ52はブラウザ30と通信する。

0022

図2は、1つまたは複数の電話番号を含むコンテンツが、ブラウザ30に表示されたウェブページのコード中で使用され、ユーザが、インターネット12または他のネットワークを介したVOIP電話をかけるためにソフトフォン40を使用している環境を企図している。別の実施形態では、電話番号は、ブラウザ以外のアプリケーション内で使用されているコンテンツ中にあってもよい。例えば、電話番号は、ワードプロセッシング文書スプレッドシート、または他の任意のアプリケーション中で使用されるものとすることができる。図3に、ソフトフォン40とのソフトウェア間モジュール通信がAPIを介するものであり、アプリケーション(ブラウザ、およびブラウザ以外のソフトウェアアプリケーションを含む)からの電話番号を使用して、ソフトフォン40による通信がトリガされるシステムのブロック図を提供する。図3には、ソフトフォン40と、ブラウザ30と、Windows(登録商標)シェル60と、アプリケーション64と、モニタ66とを備えるクライアントコンピューティングデバイス10Aを示す。ソフトフォン40およびブラウザ30は、図2に示したコンポーネントを備える。Windows(登録商標)シェル60は、オペレーティングシステムのためのインタフェースである。一実施形態では、クライアントコンピューティングデバイス10A上のアプリケーションは、アクセシビリティAPI(アプリケーションプログラムインタフェース)を利用することができ、アクセシビリティAPIは、アクセシビリティエイド(accessibility aid)がMicrosoft Windows(登録商標)上で稼動するアプリケーションと動作する方法を改善する、COMベースの技術である。アクセシビリティAPIは、オペレーティングシステムに組み込まれるダイナミックリンクライブラリを提供し、かつ、ユーザインタフェース要素に関する情報を公開するための信頼できる方法を提供するCOMインタフェースおよびアプリケーションプログラミング要素を提供する。アクセシビリティAPIは、当技術分野で知られており、Windows(登録商標)オペレーティングシステムに組み込まれている。アプリケーション64は、ハイパーリンクを表示することのできるユーザインタフェースを有する任意のアプリケーションとすることができる。モニタ66は、本明細書に述べる特徴のいくつかを実施するためにアプリケーション64およびソフトフォン40と通信するソフトウェアモジュールである。

0023

図4に、図1〜3に示した様々なコンポーネントを実現するのに使用できる適切な一般的コンピューティング環境の一例100を示す。例えば、コンピューティングシステム100を使用して、ユーザクライアントコンピューティングデバイス10、コンピューティングデバイス14、またはインタフェース16を実現することができる。コンピューティングシステム100は、適したコンピューティング環境の一例に過ぎず、本明細書に述べる技術の使用または機能の範囲についてどんな制限を示唆するものでもない。また、コンピューティングシステム100は、例示的な動作環境100に示すコンポーネントのいずれか1つまたはそれらの組合せに関するどんな依存または要件を有するとも解釈すべきではない。

0024

本明細書に述べる技術は、多くの汎用または専用コンピューティングシステム環境または構成で機能する。使用に適するであろう周知のコンピューティングシステム、環境、および/または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイスパーソナルディジタルアシスタント、電話機(有線ワイヤレス、またはセルラー)、マルチプロセッサシステムマイクロプロセッサベースのシステム、セットトップボックスプログラム可能消費者電子機器、ネットワークPC、ミニコンピュータメインフレームコンピュータや、以上のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、これらに限定されない。

0025

システムは、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般に、プログラムモジュールは、特定のタスクを実施するか特定の抽象データ型実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。システムはまた、分散コンピューティング環境で実現することもでき、その場合、タスクは通信ネットワークを介してリンクされたリモート処理デバイスによって実施される。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含めたローカルリモートの両方のコンピュータ記憶媒体に位置することができる。

0026

図4を参照すると、例示的なシステムは、コンピュータ110の形の汎用コンピューティングデバイスを含む。コンピュータ110のコンポーネントは、処理ユニット120(複数のプロセッサを含むことができる)と、システムメモリ130と、システムメモリを含む様々なシステムコンポーネントを処理ユニット120に結合するシステムバス121とを含むことができるが、これらに限定されない。システムバス121は、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ周辺バスローカルバスを含む、いくつかのタイプのバス構造のいずれかとすることができる。限定ではなく例として、このようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics StandardsAssociation)ローカルバス、および、メザニンバスとしても知られるPCI(Peripheral Component Interconnect)バスを含む。

0027

コンピュータ110は通常、様々なコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ110によってアクセスできる任意の利用可能な媒体とすることができ、揮発性不揮発性の媒体、取外し可能と取外し不可能の媒体の両方を含む。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実現された、揮発性と不揮発性、取外し可能と取外し不可能の両方の媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD‐ROM、ディジタル多用途ディスク(DVD)、または他の光学ディスク記憶装置磁気カセット磁気テープ磁気ディスク記憶装置、または他の磁気記憶デバイス、あるいは、所望の情報を記憶するのに使用できコンピュータ110によってアクセスできる他の任意の媒体を含むが、これらに限定されない。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波や他のトランスポート機構などの被変調データ信号に組み入れるものであり、任意の情報送達媒体を含む。用語「被変調データ信号」は、信号中の情報を符号化するようにしてその特性の1つまたは複数が設定または変更される信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などの有線媒体と、音響、無線周波数赤外線などの無線媒体および他の無線媒体とを含む。以上のいずれかの組合せも、コンピュータ可読媒体の範囲に含めるべきである。

0028

システムメモリ130は、読取り専用メモリ(ROM)131やランダムアクセスメモリ(RAM)132など、揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を含む。ROM131には通常、起動中などにコンピュータ110内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS(basicinput/output system)133が記憶されている。RAM132は通常、処理ユニット120からすぐにアクセス可能な、かつ/または処理ユニット120が現在作用している、データおよび/またはプログラムモジュールを含む。限定ではなく例として、図4には、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137を示す。

0029

コンピュータ110は、他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体を備えることもできる。例に過ぎないが図4には、取外し不可能な不揮発性の磁気媒体に対して読取りまたは書込みを行うハードディスクドライブ141と、取外し可能な不揮発性の磁気ディスク152に対して読取りまたは書込みを行う磁気ディスクドライブ151と、CD ROMや他の光学媒体など、取外し可能な不揮発性の光学ディスク156に対して読取りまたは書込みを行う光学ディスクドライブ155を示す。この例示的な動作環境で使用することのできる他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体は、磁気テープカセットフラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ固体RAM、固体ROMなどを含むが、これらに限定されない。ハードディスクドライブ141は通常、インタフェース140などの取外し不可能メモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光学ディスクドライブ155は通常、インタフェース150などの取外し可能メモリインタフェースによってシステムバス121に接続される。

0030

上に論じ、図4に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、本明細書に述べる方法を実施するようにプロセッサ(1つまたは複数)をプログラムするためのコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶域を提供する。例えば図4には、ハードディスクドライブ141がオペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147を記憶しているのが示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137と同じものとすることも、異なるものとすることもできることに留意されたい。ここでは、オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147が少なくとも異なるコピーであることを示すために、これらには異なる番号を付けてある。ユーザは、キーボード162、およびマウストラックボールタッチパッドと一般に呼ばれるポインティングデバイス161などの入力デバイスを介して、コンピュータ110にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)は、マイクロホンジョイスティックゲームパッド衛星受信アンテナスキャナなどを含むことができる。これらおよびその他の入力デバイスは、システムバスに結合されたユーザ入力インタフェース160を介して処理ユニット120に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)など、他のインタフェースおよびバス構造で接続されてもよい。モニタ191または他のタイプの表示デバイスも、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータは、スピーカ197やプリンタ196など、他の周辺出力デバイスも備えることができ、これらは出力周辺インタフェース195を介して接続することができる。

0031

コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常は、コンピュータ110に関して上述した要素の多くまたは全てを備えるが、図4にはメモリ記憶デバイス181のみが示してある。図4に示す論理接続は、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワークWAN)173を含むが、他のネットワークを含んでもよい。このようなネットワーキング環境は、オフィス、企業規模コンピュータネットワークイントラネット、およびインターネットにおいて一般的なものである。

0032

LANネットワーキング環境で使用される場合、コンピュータ110は、ネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用される場合、コンピュータ110は通常、インターネットなどのWAN173を介して通信を確立するためのモデム172、ネットワークインタフェース、またはその他の手段を備える。モデム172は内蔵でも外付けでもよく、ユーザ入力インタフェース160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピュータ110に関して示したプログラムモジュールまたはその一部をリモートのメモリ記憶デバイスに記憶することができる。限定ではなく例として、図4には、リモートアプリケーションプログラム185がメモリデバイス181上にあることを示す。図示のネットワーク接続は例であり、コンピュータ間で通信リンクを確立するその他の手段を使用してもよいことは理解されるであろう。

0033

前述のように、本明細書に述べる技術の一特徴は、ユーザがユーザインタフェースのコンテンツ内にある電話番号の上でホバーするかまたはこの電話番号を選択することに応答して、呼(call)を自動化することである。図5に、この特徴を実施する方法の一実施形態を提供する。図5のステップ400で、ユーザインタフェース中にコンテンツが表示される。一例では、コンテンツは、ブラウザ30に表示されたウェブページである。他の実施形態では、他のコンテンツが他のアプリケーション中に表示されてよい。ステップ402で、システムはホバーイベント待機する。一実施形態では、クライアントコンピューティングデバイス10のオペレーティングシステムは、ユーザがユーザインタフェース中のコンテンツの上でホバーしたときにホバーイベントを生成することができる。例えば、ユーザがブラウザ中のテキストの上でホバーした場合、ホバーイベントがあったことがプラグイン32に通知され、ホバーされているテキストがプラグイン32に提供される。例示的な一実装形態では、ブラウザ30は、ホバーを追跡し、適切なOnMouseOver()でプラグイン32に通知する。ホバーイベントがない場合は、プラグイン32はホバーイベントがあるまで待機する。ユーザがテキストの上でホバーを行ったときは、ステップ404が実施される。いくつかの実施形態では、ホバーイベントを生成するためにはユーザがコンテンツの上で直接にホバーする必要があるが、他の実施形態では、ユーザがコンテンツの上で直接に、またはその付近(所定の短い距離内)でホバーしたときにホバーイベントが発生するものとすることができる。

0034

ステップ404で、プラグイン32は、コンテンツに関連する国コードを決定する。例えば、プラグイン32は、ウェブページに関連するURLを見て、URLが国コードを識別するかどうか確認することができる。別法として、プラグイン32は、ドメイン名の逆IPアドレス検索を行うこともできる。異なる国が、異なる範囲のIPアドレスを有する。別の実施形態では、ブラウザ言語およびコーディングタイプが、国を示すことができる。Internet Explorer(登録商標)は、ページの言語を指定し、読み取るためのAPIを有する。ウェブページによっては、言語および起源国(country of origin)を示すHTMLコードを有するものもある。いくつかの実施形態では、この情報はHTMLヘッダ中にあるものとすることができる。いくつかの実施形態では、国コードを決定することはできない。

0035

ステップ406で、プラグイン32は、電話番号認識関数を実行する。電話認識関数への入力は、ホバーされた生入力ストリングと、(オプションで)国コードとを含む。電話認識関数の出力は、(1)生入力ストリングが電話番号を含むかどうかのブール判定、(2)正規化済みパターンの電話番号、および(3)生パターンの電話番号を含む。電話認識関数については、図6に関してより詳細に後述する。

0036

ステップ408で、ホバーされたテキストが電話番号を含まない場合は、プロセスはステップ402にループバックし、別のホバーイベントを待機する。ホバーされたテキストが電話番号を含む場合は(ステップ408)、ステップ410で、プラグイン32は、APIを介して電話番号を強調表示するようブラウザ30に命令する。ステップ412で、プラグイン32は、ツールチップ(tool tip)を表示させる。このツールチップは、ユーザが強調表示された番号をクリックしてその番号に電話をかけることができることを示す。

0037

この時点で、ユーザは少なくとも2つのアクションを行うことができる。すなわち、ユーザは、強調表示された番号から離れることができ、あるいはユーザは、強調表示された番号をクリックすることによって(または他の何らかの選択手段によって)この番号を選択することができる。ユーザが強調表示された番号を選択した場合は、ステップ416で、プラグイン32は、ソフトフォン40を起動し、強調表示された電話番号をソフトフォン40に渡し、ブラウザ30に強調表示を除去するよう命令する。ステップ418で、ソフトフォン40は、強調表示された電話番号との通信を確立する。例えば、信号および音声エンジン46が、当技術分野で知られている技術を使用して、強調表示された電話番号への、適切なプロトコル(例えばVOIP)を使用した音声接続を生み出す。ユーザが強調表示された番号を選択せずにこの番号から離れた場合は(ステップ414)、ステップ420で、プラグイン32は、電話番号の強調表示を除去するようブラウザ30に命令し、プロセスはステップ402にループバックして、別のホバーイベントが発生したかどうかテストする。

0038

図6は、電話番号認識関数(図5のステップ406参照)の一実施形態を記述するフローチャートである。この関数は、入力パターンを、1組の記憶済みパターンのうちの1つと合致させることを試みる。各国は、その一般的な電話番号フォーマットを有する。パターンを定式化するために、国コードを「C」として表し、数字を「D」として表し、英数字(数字および文字)を「A」として表し、区切り符号を「?」として表す。区切り符号は、電話番号をより人間に読みやすいものにするために使用される。例えば、「(」、「)」、「−」、「.」、「/」、およびスペースが、一般的な区切り符号である。例えば、電話番号1−800−FOR−PIZZAは、「C?D3?A3?A4」として定式化することができる。このパターンは、オプションの国コード、その後に3つの数字のエリアコード、その後に7つの数字の電話番号を有する。国コードは通常、オプションである。

0039

合致させる電話番号は正規化することができる。すなわち、全ての区切り符号が除去される。これにより、パターン照合が単純化されることになる。しかし、エリアコードは文字ではなく数字のみで書かれるので、区切り符号はエリアコードのヒントを提供する。

0040

2つの電話番号パターン、すなわち生パターンおよび正規化済みパターンがある。生パターンは、生の電話番号を合致させるのに直接使用できるパターンである。正規化済みパターンは、正規化された電話番号を合致させるのに使用できるパターンである。例えば、米国では、フォーマットは以下のうちの1つとすることができる。

0041

0042

国によっては、エリアコードおよび電話番号は、常に同じ長さとは限らない。この場合、パターンは範囲として書かれることになる。例えば、「CD1−4A6−9」は、エリアコードが1つの数字から4つの数字までを有する可能性があり、市内電話番号が6つの数字/文字から9つの数字/文字までを有する可能性があることを表す。

0043

図6のステップ450で、生入力ストリングが受け取られる。いくつかの実施形態では、国コードも受け取られる。国コードが受け取られた場合は(ステップ452)、この特定の国コードに関するデータベースがアクセスされ使用される。国コードが利用可能でなかった場合は、ステップ456で、米国データベース(または他のデフォルトデータベース)が使用される。ステップ458で、生入力ストリングが正規化される。

0044

ステップ460で、関数は、正規化された生入力を、選択されたデータベース中の1組の正規化済みパターンと合致させることを試みる。合致が見つかった場合は(ステップ462)、ステップ466で、生入力ストリングを、この合致した正規化済みパターンに関連する生パターンのいずれかと合致させることが試みられる。合致が見つからなかった場合は、関数はステップ464でを返す。これは、入力ストリング中で電話番号が見つからなかったことを意味する。

0045

ステップ466で生入力ストリングを合致させる試みで合致が見つかった場合は(ステップ468)、プロセスはステップ470で真を返す。これは、入力ストリング中で電話番号が見つかったことを示す。ステップ470ではまた、正規化済みパターンと、合致した生パターンとの両方が返される。合致が見つからなかった場合は(ステップ468)、プロセスはステップ472で偽を返す。これは、入力ストリング中で電話番号が見つからなかったことを示す。

0046

図7は、ライブコールハイパーリンク(例えばLiveCall:+14257069606)によってPCから電話機への呼を実施する一例を示すブロック図であり、これは図5のステップ418の一部として実施することができる。図7には、クライアントコンピューティングデバイス10がインタフェース16のコールシグナリングサーバ480と(インターネット12を介して)通信するのを示し、コールシグナリングサーバ480自体は、電話会社プロバイダ482のコールシグナリングサーバ483と(インターネット12を介して)通信する。コールシグナリングサーバ483は、電話会社プロバイダ482の公衆交換電話網(「PSTN」)ゲートウェイ484と通信する。PSTNゲートウェイ484は、インターネット12を介してクライアントコンピューティングデバイス10と、またPSTN485を介して電話機486と通信する。

0047

クライアントコンピューティングデバイス10中のソフトフォン40は、コールシグナリングメッセージ(電話番号を含む)をコールシグナリングサーバ480に送信する(490参照)。コールシグナリングサーバ480は、ユーザを認証し、コールシグナリングメッセージを適切な電話会社プロバイダ482にルーティングする(491参照)。電話会社プロバイダ482のコールシグナリングサーバ483がコールシグナリングメッセージを受信すると、コールシグナリングサーバ483は、呼を認証し、呼を適切なPSTNゲートウェイ484に終端する(492参照)。PSTNゲートウェイ484は、呼を宛先電話回線にルーティングする(493参照)。ユーザが宛先電話回線において電話機486を取ると、(クライアントデバイス10中の)ソフトフォン40と、PSTNゲートウェイ484と、PSTN電話機486との間で音声ストリームが確立されることになる(494および495参照)。

0048

電話機486は、PSTN電話機、または携帯/セルラー電話機とすることができる。携帯/セルラー電話機の場合、PSTNゲートウェイ、PSTNネットワーク、およびPSTN電話機は、携帯ゲートウェイ、携帯ネットワーク、および携帯電話機でそれぞれ置き換えることができる。別の実施形態では、PSTN電話機は、携帯ゲートウェイ、携帯ネットワーク、および携帯電話機で置き換えることができる。一実装形態では、SIPセッション開始プロトコル)がコールシグナリングに使用される。

0049

図8に、ブラウザ以外のアプリケーションで、ホバーに応答した発呼のプロセスを実施する代替実施形態を記述する。図8のプロセスは、ブラウザに使用することもできる。モニタされているアプリケーションは、アクセシビリティAPIを利用することになる。この実施形態は図3の環境に関連し、この環境は、アクセシビリティAPIによって提供されたストリングを処理するためにモニタ66を含む。いくつかの実施形態では、モニタ66は、図3に示すようにそれ自体のプロセスとすることもでき、あるいはアプリケーション64の一部とすることもできることに留意されたい。いくつかの実施形態では、モニタ66はまた、Windows(登録商標)シェル60と直接に通信することになる。図8のステップ500で、当該のコンテンツがアプリケーション64のユーザインタフェース中に表示される。ステップ502で、システムはホバーイベントを待機する。テキストの上でホバーイベントがあると、モニタ66は、ホバーされたテキストを受け取り、ステップ504が実施される。アクセシビリティAPIによって、モニタ66は単語を受け取ることに留意されたい。単語を見つけられない場合は、モニタ66は、文全体、行全体、またはいくつかの行を求めることができる。テキストがブラウザからのものである場合は、モニタ66は、ステップ504でブラウザに国コードを要求する。そうでない場合は、モニタ66は、オペレーティングシステムに国コードを照会する。いくつかの実施形態では、国コードは利用可能でない。ステップ506で、モニタ66は、電話番号認識関数を実行し、ホバーされたテキストをアプリケーション64から電話番号認識関数に渡す。このテキスト中に電話番号がない場合は(ステップ508)、プロセスはステップ502にループバックし、別のホバーイベントを待機する。

0050

このテキスト中に電話番号があった場合は(ステップ508)、ステップ510で、モニタ66は、アクセシビリティAPIを介して(または別のAPIを介して)マウスホバーの現在位置を照会し、オペレーティングシステムに(APIを介して)、電話番号を強調表示するよう命令する。代替の一実施形態では、モニタ66は、アプリケーション64と直接に通信し、テキストを強調表示するようアプリケーション64に伝えることができる。ステップ512で、モニタ66は(APIを介して)、ユーザが強調表示された番号をクリックして電話呼を開始できることを示すためのツールチップを表示する。ユーザが強調表示されたテキストから離れた場合は、モニタ66は電話番号の強調表示を除去し、プロセスはステップ502にループバックする。ユーザが強調表示されたテキストをクリックまたは他の選択手段によって選択した場合は、モニタ66は、ソフトフォン40を(まだ起動されていない場合に)起動し、強調表示された電話番号をソフトフォン40に渡し、強調表示を除去する。ステップ520で、ソフトフォン40は、強調表示された電話番号との音声通信を確立する。ステップ520の後、プロセスはステップ502にループバックし、別のホバーイベントを待機する。

0051

上の考察は、ユーザがコンテンツの上でホバーするのに応答して、電話呼を自動化することに関係する。別の代替形態では、ユーザがコンテンツを選択するのに応答して、電話呼を自動化することができる。図9は、このような一実施形態を記述するフローチャートである。ステップ600で、前述のようにユーザインタフェース中にコンテンツが表示される。ステップ602で、ユーザはテキストを選択し、このテキストはプラグイン32に提供される。一実施形態では、ユーザは、マウスまたは他のポインティングデバイスを使用してテキストを強調表示することによって、テキストを選択することができる。ステップ604で、前述のようにプラグイン32は国コードを決定する。ステップ606で、プラグイン32は電話認識関数を呼び出す。電話番号が見つからなかった場合は(ステップ608)、プロセスはステップ602にループバックし、ユーザがさらにテキストを選択するのを待機する。電話番号が見つかった場合は(ステップ608)、ステップ610で、プラグイン32は、APIを介して電話番号を強調表示するようブラウザ30に命令する。いくつかの実施形態では、電話番号は強調表示されない。ステップ612で、プラグイン32はツールチップを表示させる。このツールチップは、ユーザが電話番号をクリックしてこの番号に電話をかけることができることを示す。ユーザが電話番号から離れた場合は(ステップ614)、ステップ616で、プラグイン32は、電話番号の強調表示を除去するようブラウザ30に命令し、プロセスはステップ602にループバックして、ユーザがテキストを選択するのを待機する。ユーザがクリックまたは他の方法の選択によって電話番号を選択した場合は(ステップ614)、ステップ618で、プラグイン32は、ソフトフォン40を起動し(必要なら)、強調表示された電話番号をソフトフォン40に渡し、ブラウザ30に強調表示を除去するよう命令する。ステップ620で、ソフトフォン40は、強調表示された電話番号との音声通信を確立する。ステップ620の後、プロセスはループバックして、ステップ602で再びユーザが次のテキストを選択するのを待機する。

0052

図9に関する考察は、選択されるコンテンツがブラウザ中にあることを企図している。図10に、ブラウザであるアプリケーションおよびブラウザでないアプリケーションを含む種々のアプリケーション中のテキストをユーザが選択するのに応答して電話呼を自動化するためのプロセスを記述する(図3の環境参照)。ステップ700で、ユーザインタフェース中にコンテンツが表示される。ステップ702で、ユーザがテキストを選択する。テキストがブラウザから選択されたものである場合は、モニタ66はブラウザに国コードを要求する。テキストがブラウザ以外のアプリケーションからのものである場合は、モニタ66は、オペレーティングシステムに国コードを照会する。場合によっては、国コードは利用可能でない。ステップ706で、モニタ66は電話認識関数を呼び出す。電話番号が見つからなかった場合は(ステップ708)、プロセスはループバックし、ステップ702で次のテキストが選択されるのを待機する。電話番号が見つかった場合は(ステップ708)、モニタ66は、アクセシビリティAPIまたは別のAPIを介して、マウスの現在位置を照会し、電話番号を強調表示する。ステップ712で、モニタ66はツールチップを表示させる。このツールチップは、ユーザが強調表示された番号をクリックして電話をかけることができることをユーザに示す。ユーザが選択せずに強調表示から離れた場合は(ステップ714)、ステップ716で、モニタ66は電話番号の強調表示を除去し、プロセスはステップ702にループバックして、次のユーザ選択を待機する。ユーザが強調表示されたテキストを選択した場合は(ステップ714)、ステップ718で、モニタ66は、ソフトフォン40を起動し、強調表示された電話番号をソフトフォン40に渡し、アプリケーション64のユーザインタフェースから強調表示を除去する。ステップ720で、ソフトフォン40は、強調表示された電話番号との通信を確立する。ステップ720の後、ステップ702で、プロセスはユーザがテキストを選択するのを待機する。

0053

前述の、ホバーに応答した発呼と選択に応答した発呼の技術は共に、ウェブページのコードを編集することなく、またウェブページを修正することなく実施されることに留意されたい。どちらのプロセスも、ウェブページのレンダリングを減速させない。

0054

別のプロセスセットは、ユーザがホバーする前にコンテンツの体裁を変更することによって、呼を自動化することができる。次いで、ユーザのホバーに応答して、電話呼を開始することができる。

0055

図11は、ユーザがユーザインタフェースのコンテンツ内にある電話番号の上でホバーするのに応答して呼を自動化する別の実施形態を記述するフローチャートである。ステップ850で、プラグイン32は、ウェブページのコード全体のコピーを読み取る。ステップ852で、プラグイン32は、図6の電話認識関数を使用して、コード中で電話番号を見つける。ステップ854で、プラグイン32は、ウェブページ中で電話番号がある位置の座標(例えばx,y座標)を決定して記憶する。一実施形態では、記憶される座標は、ユーザインタフェース中で電話番号が位置する範囲を生み出すように、電話番号の左上の角および右下の角を含む。ステップ856で、プラグイン32は、ブラウザ用のAPIを使用して電話番号を強調表示するようブラウザ30に命令する。ステップ858で、システムはマウスクリックを待機する。マウスクリックがあると、システムは、マウスクリックが電話番号の範囲の1つの内にあるかどうか判定する。ウェブページは複数の電話番号を含む場合があることが企図される。ステップ858で識別されたマウスクリックがステップ860でいずれかの範囲内にある場合は、プラグイン32は、ソフトフォン40を起動し、強調表示された電話番号をソフトフォン40に渡し、ブラウザ30から強調表示を除去する。ステップ864で、ソフトフォン40は、強調表示された電話番号との音声通信を確立する。

0056

図12〜17に、電話番号の上でホバーするのに応答して電話呼を開始する能力をユーザに提供するためにハイパーリンクを使用する1組の実施形態を開示する。図12に、ブラウザ30がソフトフォン40およびブラウザヘルパオブジェクト(BHO)900と通信するのを示す。ブラウザヘルパオブジェクトは、プロセス内コンポーネントオブジェクトモデル(COM)コンポーネントであり、ブラウザの特殊化バージョンを生み出すようにInternet Explorer(登録商標)ブラウザをカスタマイズするのを可能にするために適用することができる。BHOを使用して、ブラウザの典型的なイベントを検出することができ、あるいはInternet Explorer(登録商標)中のメッセージおよびアクションをモニタするためのフック(hook)をインストールすることができる。

0057

ユーザがInternet Explorer(登録商標)などのブラウザに新しいページをロードすると、このウェブページのコードがブラウザのデータ構造(例えばIMarkupContainerインタフェース)にロードされる。このデータ構造から、ウェブページがレンダリングされる。図12の実施形態は、コンテンツがデータ構造にロードされた後であり、コンテンツがレンダリングされる前に、BHO900を使用してデータ構造にアクセスし、それにより、コンテンツ中で電話番号を見つけてこれらの電話番号のためのライブコールハイパーリンク(後で論じる)を追加する。

0058

Internet Explorer(登録商標)は起動されると、Windows(登録商標)レジストリチェックして、BHOがあるかどうか判定する。ユーザがソフトフォン40をインストールするとき、BHOオブジェクト900もまたユーザのハードディスクにインストールされることになり、BHOオブジェクトをリストするようにレジストリが変更されることになる。加えて、ライブコールハイパーリンクがInternet Explorer(登録商標)に登録されることになる。

0059

図12のBHO900は、少なくとも3つのサービス、すなわちIWebBrowser2 902、IMarkupServices904、およびRegisterForDirtyRange906を含む。IWebBrowser2 902は、テキストのダウンロードが行われたときのDispid_DocumentComplete、および特定のウェブページに関するあらゆるもの(テキストおよび画像)のダウンロードが完了したときのDispid_DownloadCompleteを含むイベントを投げる。IMarkupServices904は、IWebBrowser2 902によって投げられた、上に識別した2つのイベントの一方が発生したときに、RegisterForDirtyRange906へのアクセスを可能にするために使用される。RegisterForDirtyRangeは、コンテンツの新しいバージョンと、コンテンツに変更があるかどうかとを示す。次いでシステムは、IMarkupContainerを使用するが、これは、ブラウザのデータ構造中の新しいコンテンツにアクセスするために、変更されたセクションを指す。次いでシステムは、新しいコンテンツを精査して、新しいコンテンツ中に電話番号があればそれらを識別する。電話番号が見つかった場合は、前述のデータ構造が編集されて、各電話番号のライブコールハイパーリンクが追加される。

0060

ライブコールハイパーリンクにより、アプリケーション開発者は、ウェブページまたはアプリケーションからVOIP電話をかけるための拡張可能アドレスを指定することができる。呼のタイプは、PCから電話機への呼、およびPCからPCへの呼を含む。PCから電話機への呼は、PCから発し、固定回線電話機または携帯電話機を含めた電話機で終端する。PCからPCへの呼は、音声ビデオ、およびオプションのテキストチャットを含む。この呼は、PCから発し、PCで終端する。ライブコールハイパーリンク中のターゲットアドレスのタイプは、電話番号、連絡先(例えばアドレス帳の中の連絡先)、コンピュータ名(例えばJohnDoe PC)、またはIPアドレス(例えば124.38.110.25)を含む。

0061

ライブコールハイパーリンクの構文は、LiveCall:<パラメータ>である。電話番号に電話をかけるには、以下のパラメータを使用することができる。

0062

・Phone:市内番号、国内長距離番号、または国際番号とすることのできる電話番号
・Local:市内電話番号
・National:国内長距離番号
・Direct:直接ダイヤリング、例えば生の数字
・Contact:プレゼンスまたはアドレス帳の中の連絡先
いくつかの例は、以下のものを含む。
(1)LiveCall:+14257069606;電話番号+14257069606を使用して、PCから電話機への電話をかける。
(2)LiveCall:Phone=7069606;電話番号7069606を使用して、PCから電話機への電話をかける。この電話番号は、市内電話番号、国内電話番号、または国際電話番号とすることができる。ソフトフォン40は、その位置設定に基づいてこの電話番号を解析することになる。
(3)LiveCall:Phone=PIZZAUSA;電話番号74992872(PIZZAUSA)を使用して、PCから電話機への電話をかける。
(4)LiveCall:Local=7069606;市内電話番号7069606を使用して、PCから電話機への電話をかける。
(5)LiveCall:National=14257069606;国内長距離電話番号14257069606を使用して、PCから電話機への電話をかける。
(6)LiveCall:Direct=911;数字をそのまま使用して、PCから電話機への電話をかける。
(7)LiveCall:Contact=JohnDoe@hotmail.com;John Doeに対する、連絡先情報(またはアドレス帳)の中のデフォルト電話番号を使用して、PCから電話機への電話をかける。

0063

コンピュータに電話をかけるには、以下のパラメータを使用することができる。すなわち、(1)Online:オンラインプレゼンスID、および(2)Host:コンピュータ名またはIPアドレスである。いくつかの例は、以下のものを含む。
(1)LiveCall:Online=JohnDoe@hotmail.com;オンラインプレゼンスIDを使用して、PCからPCへの電話をかける。
(2)LiveCall:Host=JohnDoePC;宛先マシンのコンピュータ名を使用して、PCからPCへの電話をかける。
(3)LiveCall:Host=124.38.110.25;宛先マシンのIPアドレスを使用して、PCからPCへの電話をかける。

0064

ライブコールハイパーリンク中のソースパラメータ「Src」は、このライブコールハイパーリンクがクリックまたは実行される場所であるソースコンテキストを示す。この情報は、ビジネスインテリジェンスに有用である。ソースパラメータは、他のパラメータと組み合わせることができる。ライブコールハイパーリンク中のパラメータは、「&」符号で連結される。以下の例を考えてみる。
(1)LiveCall:Phone=7069606&Src=Messenger/Contact/Home;メッセンジャー(インスタントメッセージング)の連絡先にリストされている自宅電話番号を使用して、PCから電話機への電話をかける。
(2)LiveCall:Online=JohnDoe@hotmail.com&Src=Messenger/Buddy;メッセンジャーのバディーリストにリストされているオンラインプレゼンスIDを使用して、PCからPCへの電話をかける。
(3)LiveCall:?Signup&Src=Hotmail/Ads;このハイパーリンクがHotmail(ウェブベースの電子メールサービス)の広告欄にリストされている場合に、サインアッププロセスを開始するためのサインアップウェブサイトに行く。

0065

図13は、ライブコールハイパーリンクを追加するための一実施形態を記述するフローチャートである。ステップ1002で、新しいコンテンツがダウンロードされる。新しいコンテンツは、新しいウェブページ全体、またはウェブページの一部とすることができ、これは上に論じたイベントの1つを生成する。データは上述のデータ構造にロードされる。ステップ1004で、Dispid_DocumentCompleteおよび/またはDispid_DownloadCompleteを投げるIWebBrowser2 902から、新しいコンテンツがBHO900に通知される。RegisterForDirtyRangeサービス906が、新しいコンテンツへのポインタを提供する。ステップ1006で、BHO900は、単語、文、句読点間のテキスト、スペース間のテキスト、または他のコンテンツのグループにアクセスし、ステップ1008で、電話番号があれば見つけるために電話番号認識関数(図6参照)を複数回呼び出す。電話番号が見つからない場合は(ステップ1010)、ステップ1014で、次いでウェブページは元々意図されたようにレンダリングされる。電話番号が見つかった場合は(ステップ1010)、ステップ1012で、各電話番号を除去してこれらをライブコールハイパーリンクで置き換えるために、データ構造が変更される。その後、ステップ1014でページはレンダリングされる。追加されたライブコールハイパーリンクは、ライブコールハイパーリンクの追加されたコンテンツを識別するためのソース(Src)パラメータを含む場合があることに留意されたい。

0066

図14Aに、2つの電話番号を含むウェブページの一部(例えば検索結果)を示す。図14Bに、図13のプロセスが実施されてライブコールハイパーリンクが追加された後にレンダリングされた、同じウェブページの部分を示す。図14Bに見られる2つの電話番号には下線が付いていることに注目されたい。ユーザが下線付き電話番号の上でホバーすると、これらの色が変わることになる。他の実施形態では、ハイパーリンクは電話番号の体裁を変更せず、ユーザが電話番号の上でホバーすると、番号に下線が付き、かつ/または番号の色が変わる。

0067

図15は、ユーザが電話番号の上でホバーするのに応答して電話呼を開始するためのプロセスの一実施形態を記述するフローチャートである。図13のプロセスに従ってウェブページがブラウザによってレンダリングされた後、ステップ1102で、システムはホバーイベントを待機する。ステップ1104で、ユーザがハイパーリンクの上でホバーすると、ブラウザはハイパーリンクを強調表示する。一実施形態では、ハイパーリンクは、色の変更、下線付加、またはこの両方を行うことができる。ユーザがハイパーリンクを選択した場合は(ステップ1106)、ブラウザは、ハイパーリンクがブラウザに登録されているかどうかチェックして確認する。登録されている場合、この登録は、どのプログラムを呼び出すべきかをブラウザに伝える。次いでブラウザは、ソフトフォン40を呼び出し(ステップ1108)、ハイパーリンクのコンテンツをソフトフォン40に渡す。ハイパーリンクのコンテンツは、この場合、電話番号を含む。

0068

図16は、ユーザがウェブページ、文書ファイル、または他のユーザインタフェース中でライブコールハイパーリンクをクリックするかまたは他の方法で選択するのに応答して実施されるプロセスの一実施形態を記述するフローチャートである(図15のステップ1108参照)。ハイパーリンクは通常、ユニフォームリソースロケータ(URL)として表現される。ステップ1200で、選択されたライブコールハイパーリンクのURLが、URLモニカ34に渡される(図2参照)。ステップ1202で、URLモニカ34は、URL中のヘッダ情報(例えば「LiveCal:」)に基づいて、適切なプロトコルハンドラを調べる。ステップ1204で、URLモニカ34は、URLを適切なプロトコルハンドラに渡す。ライブコールハイパーリンクの場合、URLはライブコールハンドラ36に渡される。ステップ1206で、ライブコールハンドラ36は、ユーザがこのURLを実行したいことをユーザに確認する。いくつかの実施形態では、ステップ1206はオプションであり、飛ばすことができる。ステップ1208で、ライブコールハンドラ36は、ソフトフォン40を起動する。いくつかの実施形態では、ソフトフォン40がすでに稼動している場合は、再び起動する必要はない。ソフトフォン40は、ダイヤルするためのキーパッド電話番号表示領域、通話履歴を表示する領域、サービスプロバイダ情報を表示する領域、通話情報を表示する領域、および(オプションで)ウェブまたはネットワーク内容を表示する領域を含むグラフィカルユーザインタフェースを備える。

0069

ステップ1210で、ライブコールハンドラ36は、URLをソフトフォン40に渡す。一実施形態では、URLは最初に認証マネージャ42に渡される。ユーザが認証されていない場合は(ステップ1212)、認証マネージャ42がユーザを認証する。一実施形態では、これは、ユーザがユーザ名およびパスワードを入力することのできるログイン画面を提供することを含む。ユーザが正しく認証されない場合、図16のプロセスは終了する。ユーザを認証した後、認証マネージャ42は、ハイパーリンク中で識別される機能を実施することがユーザに許可されているかどうか検証する(ステップ1216)。ユーザが前に認証されている場合は(ステップ1212参照)、ステップ1214は飛ばされ、プロセスはステップ1216に進んで、ユーザが認証されるかどうか判定することに留意されたい。

0070

ステップ1218で、ハイパーリンクを表すURLはパーサ44に渡され、パーサ44は、URLの構文をチェックしてURLを様々な構成要素に分解する。ステップ1220で、パーサ44は、適切な構成要素を、信号および音声エンジン46、ビジネスプレゼンテーションロジック50、およびハイパーリンクリダイレクタ52に送る。一実施形態では、任意のコマンド(例えばアカウント維持)および被呼側が、信号および音声エンジン46に渡され、コマンドがプレゼンテーションロジック50に渡され、コマンドおよびハイパーリンクがハイパーリンクリダイレクタ52に渡される。ステップ1222で、パーサ44は、データ(例えばソースの指示を含めた全ての構成要素)を、ビジネスインテリジェンスデータストア48に保存する。ステップ1224で、信号および音声エンジン46は、アドレス帳58を使用して任意のパラメータを解決する。例えば、ターゲットが連絡先またはコンピュータ名で識別される場合、アドレス帳58を使用して、この連絡先を電話番号に変換し、あるいはコンピュータ名をIPアドレスに変換する。ステップ1226で、信号および音声エンジン46は、URLのターゲットとの音声接続を確立する。

0071

図17は、図3の実施形態内で動作しているときにライブコールハイパーリンクが選択されるのに応答して実施されるプロセスの一実施形態を記述するフローチャートである。すなわち、APIを使用するアプリケーション中にハイパーリンクがある。ステップ1350で、アプリケーション64は、コマンドをAPIに発行する。例えば、ShellExecute()またはShellExecuteEX()が、Windowシェル60に発行される。ステップ1352で、Windowシェル60は、適切なプロトコルハンドラを調べる。プロトコルハンドラが見つかった場合は(ステップ1354)、ステップ1360で、Windows(登録商標)シェル60はプロトコルハンドラを起動する。例えば、ライブコールハンドラ36を起動することができる。プロトコルハンドラは、ブラウザ30とは別個に存在することもでき、あるいはブラウザ30の一部として存在することもできる。

0072

動作前に、ライブコールプロトコルハンドラを登録する必要がある。プロトコルハンドラを登録するには、2つの実装形態が可能である。一方は、プロトコルハンドラをWindows(登録商標)シェルに登録することである。他方は、プロトコルハンドラをブラウザに登録することである。プロトコルハンドラをブラウザに登録することの利点の1つは、プロトコルハンドラがサニティチェックを実施して、アプリケーションが実際に起動される前にユーザがURLの実行を確認する機会を有することを保証することができることである。このことは、ユーザがウェブサイトを訪れている間にURLのドライブバイ(drive−by)実行からユーザを保護するために重要な場合がある。

0073

ステップ1362で、URLはプロトコルハンドラに渡される。ステップ1364で、プロトコルハンドラは、ソフトフォン40がまだ起動されていない場合はこれを起動する。ステップ1366で、プロトコルハンドラは、URLをソフトフォン40に渡す。ステップ1366の後、プロセスは図16のステップ1212に続く。

0074

Windows(登録商標)シェル60が適切なプロトコルハンドラを見つけなかった場合は(ステップ1354)、ステップ1370で、Windows(登録商標)シェル60は、適切なプロトコルハンドラを突き止めるようブラウザ30に求める。ブラウザ30が適切なプロトコルハンドラを見つけることができた場合は、ステップ1374で、ブラウザ30は、URLをURLモニカ34に渡す。ステップ1376で、このプロセスは、図16のステップ1202に続く。ステップ1372で適切なプロトコルハンドラが見つからなかった場合は、ステップ1380でエラーが返される。

0075

構造上の特徴および/または方法上の動作に特有の言語で本主題を述べたが、添付の特許請求の範囲に定義する本主題は、前述の特定の特徴または動作に必ずしも限定されないことを理解されたい。そうではなく、前述の特定の特徴または動作は、特許請求の範囲に記載の発明を実施する例示的な形として開示する。本発明の範囲は、本明細書に添付する特許請求の範囲によって定義されるものとする。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ