(57)【要約】【課題】  デバイスに記憶されたすべてのコンタクトをユーザ入力に基づいてフィルタリングし検索することによって迅速かつ容易にコンタクトを見つけてそれにアクセスするための方法およびシステムを提供する。【解決手段】  フィルタリングされたコンタクトは、コンタクト情報を使用する様々なアプリケーションから容易にアクセスすることができる。フィルタリング時、入力フィールドが現れ、ユーザはこの入力フィールドに、コンタクトの検索で使用される数字および文字を入力することができる。コンタクトに含まれる任意の情報を検索することができる。入力フィールドに入力された文字に応答して、可能性のあるコンタクトのリストがユーザに提供される。入力された文字は、可能性のあるコンタクトのリスト中で強調表示される。【選択図】  図２Ａ
2005259117.tif 000002
【特許請求の範囲】
【請求項１】
デバイスにコンタクトを提供する方法であって、
コンタクトを突き止めるためにユーザから検索入力を得るステップと、
前記デバイスからコンタクトにアクセスするステップと、
前記アクセスされた各コンタクト内の情報を検索して、前記検索入力を含む関連するコンタクトを突き止めるステップであって、検索できる前記情報は前記コンタクトに含まれる任意の情報を含むステップと、
前記関連するコンタクトを統合するステップと、
前記統合されたコンタクトを提供するステップと
を含むことを特徴とする方法。
【請求項２】
前記アクセスされた各コンタクト内の情報を検索して、前記検索入力を含む関連するコンタクトを突き止めるステップはさらに、前記アクセスされた各コンタクト内の少なくとも３つのフィールドを検索するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記統合されたコンタクトからコンタクトを選択して、前記選択したコンタクトにアクセスするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記デバイスからコンタクトにアクセスするステップはさらに、少なくとも２つの異なるコンタクトリストにアクセスするステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記検索入力を得るステップは、文字、数字、アイコンから選択された少なくとも１つの入力を得るステップを含むことができることを特徴とする請求項２に記載の方法。
【請求項６】
前記アクセスされた各コンタクト内の情報を検索するステップはさらに、前記コンタクト内のフィールドの一部で前記検索入力を検索するステップを含むことを特徴とする請求項５に記載の方法。
【請求項７】
関連するコンタクトの第１の部分を第１のデータベースで検索するステップであって、前記第１の部分は前記第１のデータベースからの１つまたは複数のエントリを含むステップと、関連するコンタクトの第２の部分を第２のデータベースで検索するステップとをさらに含み、前記第１の部分中の少なくともいくつかのエントリは、前記第２の部分中の少なくともいくつかのエントリとは異なるデータ構造フォーマットを有することを特徴とする請求項５に記載の方法。
【請求項８】
前記デバイスからコンタクトにアクセスするステップはさらに、コンタクトデータベース、短縮ダイヤルデータベース、通話記録データベース、ＳＩＭコンタクトデータベースのうちの１つまたは複数にアクセスするステップを含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記関連するコンタクトを統合するステップはさらに、重複を除去するステップを含むことを特徴とする請求項２に記載の方法。
【請求項１０】
デバイスにコンタクトを提供するためのコンピュータ可読媒体であって、前記提供することは、
コンタクトを突き止めるためにユーザから検索入力を得るステップと、
前記デバイス上で少なくとも２つの異なるソースからのコンタクトにアクセスするステップと、
前記アクセスされた各コンタクト内の情報の大部分を検索して、前記検索入力を含む関連するコンタクトを突き止めるステップと、
前記関連するコンタクトを統合するステップと、
前記統合されたコンタクトを提供するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項１１】
前記アクセスされた各コンタクト内の情報の大部分を検索して、前記検索入力を含む関連するコンタクトを突き止めるステップはさらに、前記アクセスされた各コンタクト内の少なくとも３つのフィールドを検索するステップを含むことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
前記統合されたコンタクトからコンタクトを選択して、前記選択したコンタクトにアクセスするステップをさらに含むことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１３】
前記検索入力を得るステップは、文字、数字、アイコンから選択された少なくとも１つの入力を得るステップを含むことができることを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１４】
前記アクセスされた各コンタクト内の情報を検索するステップはさらに、前記コンタクト内のフィールドの一部で前記検索入力を検索するステップを含むことを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
関連するコンタクトの第１の部分を第１のデータベースで検索するステップであって、前記第１の部分は前記第１のデータベースからの１つまたは複数のエントリを含むステップと、関連するコンタクトの第２の部分を第２のデータベースで検索するステップとをさらに含み、前記第１の部分中の少なくともいくつかのエントリは、前記第２の部分中の少なくともいくつかのエントリとは異なるデータ構造フォーマットを有することを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１６】
前記デバイスからコンタクトにアクセスするステップはさらに、コンタクトデータベース、短縮ダイヤルデータベース、通話記録データベース、ＳＩＭコンタクトデータベースのうちの少なくとも１つまたは複数にアクセスするステップを含むことを特徴とする請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
前記関連するコンタクトを統合するステップはさらに、重複を除去するステップを含むことを特徴とする請求項１１に記載のコンピュータ可読媒体。
【請求項１８】
デバイスにコンタクトを提供するためのシステムであって、
ユーザから検索入力を受け取るように構成された入力デバイスと、
コンタクトを表示するように構成された表示装置と、
コンタクトを記憶するように構成されたデータストアと、
アプリケーションとを備え、前記アプリケーションは、
コンタクトを突き止めるのに使用される前記検索入力を得る動作と、
前記データストアからのコンタクトにアクセスする動作と、
前記アクセスされた各コンタクト内の情報を検索して、前記検索入力を含む関連するコンタクトを突き止める動作であって、前記アクセスされた各コンタクト内の情報の大部分を検索することができる動作と、
前記関連するコンタクトを統合する動作と、
前記統合されたコンタクトを前記表示装置上に表示する動作とを実施するように構成されたことを特徴とするシステム。
【請求項１９】
前記検索入力を得る動作は、文字、数字、アイコンから選択された少なくとも１つの入力を得る動作を含むことを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記アクセスされた各コンタクト内の情報の大部分を検索する動作はさらに、前記コンタクト内のフィールドの一部で前記検索入力を検索する動作を含むことを特徴とする請求項１８に記載のシステム。
【請求項２１】
前記データストアからのコンタクトにアクセスする動作はさらに、コンタクトデータベース、短縮ダイヤルデータベース、通話記録データベース、ＳＩＭコンタクトデータベースのうちの少なくとも１つまたは複数にアクセスする動作を含むことを特徴とする請求項２０に記載のシステム。
【請求項２２】
前記関連するコンタクトを統合する動作はさらに、重複を除去する動作を含むことを特徴とする請求項２０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、迅速かつ容易にコンタクトを見つけてそれにアクセスするための方法およびシステムに関する。
【背景技術】
【０００２】
ＰＤＡやセルホンなどの中の個人情報マネージャは、通常、コンタクト(contact)のリストを維持する。これらのコンタクトリストは、名前、役職、会社名、ビジネス電話番号、家庭電話番号、ファクス番号、携帯電話番号、ｅメールアドレス、ウェブページなどの項目を含めて、各コンタクトに関する情報を記憶する。コンタクトリストは非常に長くなる可能性がある。例えば、いくつかのコンタクトリストは、大規模な会社内のすべての人を含む場合がある。これらのコンタクトリスト内でコンタクトを見つけることは困難である可能性がある。
【０００３】
人とコンタクトをとるための従来の方法は、人の電話番号、ｅメールアドレス、ユーザＩＤなどのアイテムを含む、コンタクト内の特定の情報を知ることに依拠する。これらの従来の方法はすべて、所望のコンタクトを得るのに比較的多くのユーザ労力を要するという難点がある。
【０００４】
最初のコンタクト検索方法で所望のコンタクトが見つからなかった場合、ユーザ労力の量は増大する。例えば、ユーザは、通話記録(call log)中で検索するが、結局、所望の電話番号が通話記録中にまったく存在しないことに気付くかもしれない。ここから起呼側(caller)は、コンタクトリストを選択してコンタクトリスト中で電話番号を検索するが、結局、その電話番号がコンタクトリスト中にリストされていないことに気付くかもしれない。次いでユーザは、短縮ダイヤル番号の中で検索してようやく電話番号を得ることができるかもしれない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、より少ない労力でユーザを見つけて接触するためのシステム、方法、コンピュータプログラム製品が必要とされている。
【課題を解決するための手段】
【０００６】
本発明は、迅速かつ容易にコンタクトを見つけてそれにアクセスするための方法およびシステムを提供することを対象とする。
【０００７】
本発明の一態様によれば、検索入力が入力され、次いでこの検索入力を使用して、デバイスに記憶されたコンタクトの中で検索が行われる。フィルタリングされたコンタクトは、コンタクト情報を使用する様々なアプリケーションから容易にアクセスすることができる。フィルタリング時、ユーザは、コンタクトの検索で使用される数字および文字を入力することができる。入力された文字に応答して、可能性のあるコンタクトのリストがユーザに提供される。入力された文字は、可能性のあるコンタクトのリスト中で強調表示される。
【０００８】
本発明の別の態様によれば、コンタクトに含まれるすべての情報を検索することができる。例えば、検索入力は、住所、ファクス番号、姓、コンタクトに含まれる注記などに対応するものとすることができる。
【０００９】
本発明の別の態様によれば、いくつかのコンタクトリストが検索され、それによりユーザは、具体的にどこでコンタクトを見つけるべきかを指定する必要なしに要求を入力してコンタクトを見つけることができる。例えば、ユーザ要求がダイヤル入力の形であった場合、起呼側は、その番号が通話記録からのものかコンタクトリストからのものか、起呼側が短縮ダイヤルを使用しているかどうか、起呼側が最初に市外局番を入力しているかどうか、または起呼側がローカル番号だけを入力しているかどうかを指定する必要はない。
【００１０】
本発明の別の態様によれば、ユーザがコンタクトにアクセスするために検索入力を入力すると、コンタクト内のどこかにその検索入力を含むコンタクトが取り出される。
【発明を実施するための最良の形態】
【００１１】
本発明は、デバイスに記憶されたすべてのコンタクトをユーザ入力に基づいてフィルタリングし検索することによって迅速かつ容易にコンタクトを見つけてそれにアクセスするための方法およびシステムを提供することを対象とする。フィルタリングされたコンタクトは、コンタクト情報を使用する様々なアプリケーションから容易にアクセスすることができる。フィルタリング時、入力フィールドが現れ、ユーザはこの入力フィールドに、コンタクトの検索で使用される数字および文字を入力することができる。入力フィールドに入力された文字に応答して、可能性のあるコンタクトのリストがユーザに提供される。入力された文字は、可能性のあるコンタクトのリスト中で強調表示される。
【００１２】
（例示的な動作環境）
図１に、本発明の例示的な一実施形態により使用することのできるモバイルコンピューティングデバイスを示す。モバイルコンピューティングデバイス１００は、プロセッサ１６０、メモリ１６２、表示装置１２８、キーパッド１３２、ナビゲーションコントロール１３４を備える。メモリ１６２は一般に、揮発性メモリ（例えばＲＡＭ）と不揮発性メモリ（例えばＲＯＭ、フラッシュメモリなど）の両方を含む。モバイルコンピューティングデバイス１００は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎから出ているＷｉｎｄｏｗｓ（登録商標）ＣＥオペレーティングシステムや別のオペレーティングシステムなどのオペレーティングシステム１６４を備え、オペレーティングシステム１６４はメモリ１６２中にありプロセッサ１６０上で実行される。キーパッド１３２は、押しボタン式の数字ダイヤルパッド（通常の電話機上にあるものなど）、マルチキーのキーボード（従来型のキーボードなど）とすることができる。表示装置１２８は、液晶表示装置でもよく、あるいはモバイルコンピューティングデバイスで一般に使用されるその他任意のタイプの表示装置でよい。表示装置１２８は、タッチセンシティブであってもよく、その場合は入力デバイスとしても機能することができる。
【００１３】
１つまたは複数のアプリケーションプログラム１６６がメモリ１６２にロードされ、オペレーティングシステム１６４上で実行される。モバイルコンピューティングデバイス１００上には、スマートダイヤルコンタクト検索アプリケーションがあり、これは、コンタクト情報に容易にアクセスすることに関する動作を提供するようプログラムされている。スマートコンタクトアプリケーションは、デバイスのハードウェアまたはソフトウェア中にあるものとすることができる。モバイルコンピューティングデバイス１００は、メモリ１６２中に不揮発性記憶域１６８も備える。不揮発性記憶域１６８は、モバイルコンピューティングデバイス１００の電源が遮断されても失われるべきでない永続的な情報を記憶するのに使用することができる。
【００１４】
モバイルコンピューティングデバイス１００は、１つまたは複数の電池として実現することのできる電源１７０を備える。電源１７０はさらに、電池を補充または充電するＡＣアダプタや電力供給ドッキングクレードルなど、外部電源を備えてもよい。
【００１５】
図示のモバイルコンピューティングデバイス１００は、２つのタイプのオプション外部通知機構、すなわちＬＥＤ１４０およびオーディオインターフェース１７４を有する。これらのデバイスは電源１７０に直接結合することができ、したがって、これらのデバイスがアクティブ化されると、プロセッサ１６０および他のコンポーネントが電池電力の節約のためにシャットダウンすることがあっても、これらのデバイスは通知機構によって指示された期間にわたってオンのままである。オーディオインターフェース１７４は、ユーザとの間で可聴信号をやり取りするのに使用される。例えば、オーディオインターフェース１７４をスピーカに結合して可聴出力を提供し、マイクロホンに結合して可聴入力を受け取って、電話による会話を容易にすることなどができる。
【００１６】
モバイルコンピューティングデバイス１００は、無線インターフェースレイヤ１７２など、無線通信を送受信する機能を実施する通信インターフェースも備える。無線インターフェースレイヤ１７２は、モバイルコンピューティングデバイス１００と外界との間の無線接続性を容易にする。一実施形態によれば、無線インターフェースレイヤ１７２との間の伝送は、オペレーティングシステム１６４の制御下で行われる。言い換えれば、無線インターフェースレイヤ１７２によって受信された通信は、オペレーティングシステム１６４を介してアプリケーションプログラム１６６に広めることができ、その逆も可能である。
【００１７】
ナビゲーションコントロール１３４は、表示装置１２８上に示すことのできる様々なエントリおよびオプションをユーザがナビゲートするのを補助する。例えばユーザは、ナビゲーションコントロール１３４を使用して、選択されたコンタクトからの接触方法を選択することができる。例えばユーザは、スマートダイヤルコンタクト検索から返されたコンタクトのリストからコンタクトを選択することもできる。次いでユーザは、ボタンを押して、デフォルト通信方法を使用して対応するコンタクトに接触することができ、あるいはユーザは、コンタクトをナビゲートして、コンタクトと共に使用すべき所望の通信形式を選択することができる。
【００１８】
様々なコンタクトが単一のユーザインターフェース中で提示され、それによりユーザの選択が軽減され、または通常ならユーザは、コンタクトにアクセスするためにどのコンタクトリストを使用すべきかを気にしなければならないであろう。様々なコンタクトをマージすることによって、ユーザはすべてのコンタクトオプションを使用可能な状態に維持する。
【００１９】
図１は本発明の一実施形態による適した動作環境を表しているが、様々な要求方法（様々な接触方法など）に従ってユーザによって入力された要求（ダイヤル入力など）を受け取ることができるものなら、どんなデバイスを使用してもよい。
【００２０】
通信接続は、通信媒体の一例である。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波やその他のトランスポート機構などの変調されたデータ信号に組み入れるものであり、任意の情報送達媒体が含まれる。用語「変調されたデータ信号」は、信号中の情報が符号化される形で１つまたは複数の特性が設定または変更された信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークや直接有線接続などの有線媒体と、音響、無線周波数、赤外線、その他の無線媒体などの無線媒体とが含まれる。本明細書では、コンピュータ可読媒体という用語は、記憶媒体と通信媒体の両方を含む。
【００２１】
図６に、検索シナリオの間に例えば図１の表示装置１２８上に現れることのできる、一連の表示６００Ａ〜Ｄを示す。表示６００は、入力フィールド６０１、フィルタリング済み出力フィールド６０２、フォーカスフレーム６０３を含む。しかし、各表示（表示６００Ａ〜Ｄ）は、異なる状態の表示を示している。したがって、表示６００、入力フィールド６０１、フィルタリング済み出力フィールド６０２、フォーカスフレーム６０３はそれぞれ、異なる状態に対応する接尾辞(suffix)ＡからＤで識別する。
【００２２】
入力フィールド６０１は、ユーザが数字／文字を入力してコンタクトを検索するのを可能にするものである。本発明の実施形態によれば、ユーザは、コンタクト内の任意の識別情報を使用してコンタクトを検索することができ、次いで、ユーザに利用可能な通信方法のいずれかを用いて、得られたユーザに接触することができる。例えばユーザは、電話番号、ｅメールアドレス、インスタントメッセージング識別、ＳＭＳメッセージなどを使用して個人に接触することができる。ユーザはまた、コンタクトに含まれる注記に基づいてコンタクトを検索することもできる。
【００２３】
フィルタリング済み出力フィールド６０２は、入力に応答して見つかったコンタクトがユーザに対して提示される統合領域を表す。
【００２４】
フォーカスフレーム６０３は、ユーザがどの項目に対して動作を行いたいかを識別するのを可能にするものである。例えば、フォーカスフレーム６０３が入力フィールド６０１を強調表示している間は、ユーザは入力フィールドに内容を入力することができる。しかしユーザはまた、フォーカスフレーム６０３を下にスクロールしてフィルタリング済み出力フィールド６０２中の項目の１つまで持っていき、コンタクトを選択することもできる。
【００２５】
表示６００Ａは初期表示状態であり、入力フィールド６０１Ａには検索入力が入力されておらず、フィルタリング済み出力フィールド６０２Ａにはコンタクトが提示されていない。フォーカスフレーム６０３Ａは入力フィールド６０１Ａを強調表示しており、したがって、表示６００Ａが入力フィールド６０１Ａ中でダイヤル入力を受け入れる用意ができていることを反映している。
【００２６】
表示６００Ｂは、ユーザが入力フィールド６０１Ｂに「Ｅ」を入力した後の状態を示す。フォーカスフレーム６０３Ｂは入力フィールド６０１Ｂの上に留まり、それによりこの入力を可能にしている。これに応答して、フィルタリング済み出力フィールド６０２Ｂは次いで、この単一文字の検索入力に対応する３つのコンタクトを提示する。ユーザは、入力フィールド６０１Ｂに数字を入力することもでき、あるいはコンタクトの識別で使用できるその他任意の利用可能な文字またはアイコンを入力することもできる。
【００２７】
表示６００Ｃは、ユーザがさらに「Ｌ」を入力して、累積検索入力が「ＥＬ」になった後の状態を示す。フォーカスフレーム６０３Ｃは入力フィールド６０１Ｃの上に留まり、それにより引き続きこの入力を可能にしている。この段階でフィルタリングが行われるが、これについては後で図３から図５に関してさらに詳細に述べる。フィルタリング動作に応答して、フィルタリング済み出力フィールド６０２Ｃは、より少数のコンタクトを示す。これらの結果エントリは、その太字の下線部分で強調されているように、検索入力に適合する。
【００２８】
後でさらに詳細に述べるが、フィルタリング済み出力フィールド６０２中に示される結果エントリは、互換性のないデータ構造でエントリが表される別々のデータベースから来たものである場合がある。例えば、結果エントリのいくつかはコンタクトデータベースから来たものであり、いくつかは短縮ダイヤルデータベースから来たものであり、いくつかは通話記録から来たものである場合がある。しかし、エントリは、元々そのソースでは異なるデータ構造を使用して表されていたにもかかわらず、フィルタリング済み出力フィールド６０２中に現れるときには均質である。
【００２９】
フィルタリングは、それ以上フィルタリングしてもフィルタリング済み出力フィールドに表示されるコンタクトが変化しなくなったときに、停止することができる。例えば、検索入力が姓を表すと仮定する。ユーザはしばしば、同じ姓を共有する家族メンバに対応する非常に多くのエントリを有する。したがって、この名前の綴りが完全な形で入力されても、応答エントリは変化しない。これにより、不必要なフィルタリングの多くが回避され、結果としてプロセッサの節約になる。この節約は、処理能力がより低いデバイスでは特に重要である。
【００３０】
図２Ａ〜Ｂに、本発明の態様による例示的な検索シナリオを示す。
【００３１】
表示２００Ａは初期表示状態であり、入力フィールド２０１Ａには検索入力が入力されておらず、フィルタリング済み出力フィールド２０２Ａにはコンタクトが提示されていない。
【００３２】
表示２００Ｂは、ユーザが入力フィールド２０１Ｂに「５」を入力した後の状態を示す。フォーカスフレーム２０３Ｂは入力フィールド２０１Ｂの上に留まり、それによりこの入力を可能にしている。これに応答して、フィルタリング済み出力フィールド２０２Ｂは次いで、第５の短縮ダイヤルエントリを提示する。
【００３３】
表示２００Ｃは、ユーザがさらに「６」を入力して、累積検索入力が「５６」になった後の状態を示す。フォーカスフレーム２０３Ｃは入力フィールド２０１Ｃの上に留まり、それにより引き続きこの入力を可能にしている。フィルタリング動作に応答して、フィルタリング済み出力フィールド２０２Ｃは、より多くのコンタクトを示す。これらの結果エントリは、その太字の下線部分で強調されているように、検索入力に適合する。
【００３４】
例えば、最初の２つのエントリは、ダイヤルする人がまず市外局番の最初の２桁を入力していることを前提とする。残りの４つのエントリは、ダイヤルする人がローカル番号の最初の２桁を入力していることを前提とする。
【００３５】
返されるローカル番号は、ダイヤル入力に適合するエントリであって、市外局番が指定されなかったエントリであるかまたはデフォルト市外局番に対応する市外局番を含んでいたエントリとすることができる。例えば、デバイス１００が現在、６１０市外局番にある場合、かつ／または６１０市外局番がこの電話デバイスの電話番号の市外局番である場合は、フィルタリングは市外局番を無視して、ダイヤル入力をローカル番号と照合するだけでよい。
【００３６】
表示２００Ｄは、ユーザがさらに「２」を入力して、累積ダイヤル入力が「５６２」になった後を示す。フォーカスフレーム２０３Ｄは入力フィールド２０１Ｄの上に留まり、それによりやはりこの入力を可能にしている。次いで、フィルタリング済み出力フィールド２０２Ｄ中の応答エントリは、追加のダイヤル入力を反映するようにリフレッシュされる。後でより詳細に述べるが、フィルタリング済み出力フィールド２０２中の応答エントリは、追加のダイヤル入力に応答して常に変化するとは限らない。
【００３７】
フィルタリング済み出力フィールド２０２Ｄ中の応答エントリは、このとき、ダイヤル入力がローカル番号の最初の３桁を表すことを前提とする５つの番号を含む。この５つのエントリは、ダイヤル入力に合致する下線部分を有することによって識別される。
【００３８】
さらに、ダイヤル入力が「Ｊｏａｎ」という名前の個人のファーストネームを表すことを前提とするエントリもある。図１のキーパッド１３２を参照すると、通常、数字０および２から９までのボタン上には、対応するアルファベット文字がリストされている。周知のように、入力された数字は、代わりに対応するアルファベット文字を表すこともできる。例えば、数字「５」は文字「ｊ」「ｋ」または「ｌ」を表すこともできる。数字「６」は文字「ｍ」「ｎ」または「ｏ」をも表す。数字「２」は文字「ａ」「ｂ」または「ｃ」をも表す。このため、ダイヤル入力「５６２」は「Ｊｏａ」を表すかもしれない。したがって、Ｊｏａｎのエントリは、その下線部分で表されるようにダイヤル入力と合致する。ユーザはまた、文字を直接入力する機能をデバイスが備えていればそうすることもできる。
【００３９】
表示２００Ｅは、ユーザがさらに「６」を入力して、累積ダイヤル入力が「５６２６」になった後を示す。フォーカスフレーム２０３Ｅは入力フィールド２０１Ｅの上に留まり、それによりこの入力を可能にしている。この例では、入力フィールド２０１Ｅ中のダイヤル入力はこの時点で十分に特定的なので、今や可能性のあるすべての合致がフィルタリング済み出力フィールド２０２Ｅに現れることができる。例えば、一番上のエントリは、ダイヤル入力がローカル番号の最初の４桁を表すことを前提とする。中間の２つのエントリは、ダイヤル入力が、電話番号に対応するファーストネームの最初の４文字を表すことを前提とする。一番下のエントリは、ダイヤル入力が、電話番号に対応する姓の最初の４文字を表すことを前提とする。
【００４０】
表示２００Ｆは、フォーカスフレーム２０３Ｆがフィルタリング済み出力フィールド２０２Ｆ中の特定エントリの上に移動されたところを示す。フォーカスフレーム２０３Ｆを移動するのは、例えば図１のナビゲーションコントロール１３４を使用して達成することができる。
【００４１】
図３に、本発明の態様によるアーキテクチャ３００を概略的に示す。アーキテクチャ３００の各要素は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せとすることができる。述べた実施形態では、アーキテクチャ３００の各要素は、図１のプロセッサ１６０が図１のアプリケーションプログラム１６６の１つを実行するときにエミュレートされるソフトウェアモジュールとすることができる。図３全体で、あるモジュールから次のモジュールに至る実線矢印がある。これらの実線矢印は、矢印の尾にあるモジュールから矢印の頭にあるモジュールへの１つまたは複数の要求の要求パスを表す。また、実線矢印とは逆方向の、対応する破線矢印もある。破線矢印は、１つまたは複数の要求に対する１つまたは複数の応答を表す。
【００４２】
アーキテクチャ３００は、データベースＡ、データベースＢ、データベースＣなどのデータベース３１０を含む。本発明の原理が、様々なデータ構造を有する多くの各種データベースで機能できることを強調するために、これらのデータベースには一括して符号を付けてある。ただし、この記述ではしばしば、データベースＡ、Ｂ、Ｃをそれぞれコンタクト（固定項目およびＳＩＭコンタクトを含む）データベース、短縮ダイヤルデータベース、通話記録データベースとして言及する。また、３つのデータベースが示してあるが、本発明は他の数のデータベースでも機能することができる。さらに、データベース間の互換性がないデータ構造を有するエントリを有するものとしてデータベースを述べるが、データベースは互換性のあるデータ構造を有していてもよい。
【００４３】
データベースＡ、Ｂ、Ｃは、それぞれエントリＡ１からＡＮと、Ｂ１からＢＭと、Ｃ１からＣＰを有する。各エントリは、コンタクトに関係する任意の情報を表すものとすることができる。例えば、エントリには、コンタクト中で通常みられる任意の情報、コンタクトを表すのに使用される記号、ユーザ名（インスタントメッセンジャー（ＩＭ）ユーザ名）などを含めることができる。例えば、コンタクトは、名前、肩書、会社、ファクス番号、携帯電話番号、住所、ｅメールアドレス、ＩＭユーザなどを含むことができる。コンタクトはまた、最後の接触に関連する時刻に基づいて突き止めることもできる。
【００４４】
表示部モジュール３２１は、デバイス１００がフィルタリング済み出力結果を受け取って表すのに必要なすべてのデータ構造を集める。表示モジュール３２１は、フィルタリング出力結果が異なるデータベースから来たものであってもこのようにする。これを達成するために、表示モジュール３２１は、図３に示す他のすべてのモジュールおよびデータベースを直接的または間接的に使用する。
【００４５】
具体的には、図２の入力フィールド２０１に表示されるべき新しい情報が入力されると、表示部３２１は、表示を埋めるのに必要なすべての情報の行を要求部モジュール３１６に求める。この最初の要求は、図３に示す概して上に流れる一連の要求を開始する。次いで要求部３１６は、すべてのデータベース３１０からの対応するすべてのフィルタリング済みエントリと連結された、入力フィールド２０１に現れるべき更新済み要求データを、第２の連結部モジュール３１５に求める。次いで第２の連結部３１５は、要求データ３１４にアクセスし、フィルタモジュール３１３からの更新されたフィルタリング済みエントリを要求する。
【００４６】
これに応答して、フィルタ３１３は、更新済み要求データ３１４を調べて、更新済み入力が再フィルタリングを必要とするかどうかを判定する。例えば、フィルタ３１３は、フィルタリング済み出力フィールド２０２中で現在見られている項目に対応する、前にフィルタリングされたエントリを比較して、更新済み入力の結果としてそのような項目のいずれかがフィルタリングによって除去されることになるかどうかをみることができる。更新済み要求データが、見られているデータの変化をもたらさない場合は、フィルタ３１３は第２の連結部３１５にこれを通知する。次いで第２の連結部３１５は、新しい要求データを古いフィルタリング済みデータと連結し、次いでこれを要求部３１６に返す。この場合、表示部３２１が出力フィールド中でリストを下にスクロールすると、フィルタは新たに見られる項目をチェックして、それらも最新のフィルタリングによって除去されることになるかどうかをみる。
【００４７】
フィルタリングが必要な場合は、フィルタ３１３は、重複が除去されたデータベース３１０の連結リストを第１の連結モジュール３１２に求める。次いで第１の連結部３１２は、データベースＡおよびデータベースＢにアクセスする。第１の連結部３１２はまた、重複除去部モジュール３１１に、データベースＣの重複なしバージョンも要求する。
【００４８】
いくつかのデータベースは、かなり重複する情報を有するエントリを含む場合がある。例えば、通話記録データベース中には、特定の電話番号から登録された多くの着信呼があるために、非常に多くのエントリがある場合がある。通話記録のコンテキストではこのようなエントリが各イベントごとにあるのが望ましいが、最終的に電話番号および関連するコンタクトだけがおそらく表示されるフィルタリング済み出力フィールド２０２中にこのような重複があるのは望ましくない。そのため、重複除去部モジュール３１１が、各エントリを調べて重複を除去する。
【００４９】
データベースの重複なしバージョンが要求されると、重複除去部３１１は、選択されたデータベースにアクセスして、そのデータベースの重複なしバージョンを生成する。一実施形態では、データベースの重複なしバージョンは、追加のダイヤル入力に応答して変化することはない。したがって、データベースへのアクセスおよび重複なしバージョンの再生成を回避することができる。その代わり、重複除去部３１１は、単にデータベースＣの重複なしバージョンを記憶しておくことができ、重複なしバージョンは定期的に再生成するだけでよい。
【００５０】
図４Ａに、本発明の態様による重複除去部出力４０１を表すデータ構造を示す。この例で、重複除去部出力４０１は、エントリＣ１、Ｃ３、Ｃ１２、Ｃ８８だけを有する。残りのエントリは重複と見なされ、したがって重複除去部３１１によって除去されている。
【００５１】
第１の連結部３１２は、データベースＡのインスタンスと、データベースＢのインスタンスと、重複除去部出力４０１とを受け取って連結する。図４Ｂに、得られる出力を第１の連結部出力４０２として示す。この出力をフィルタ３１３に返す。
【００５２】
次いでフィルタ３１３は、入力フィールド２０１に入力された要求データをフィルタリングパラメータとして使用して、第１の連結部出力４０２をフィルタリングする。一実施形態では、フィルタ３１３は、ユーザがフィルタに照合させようと意図しているかもしれないどんなパラメータに対しても、合致があるかどうかチェックする。例えば、ダイヤル入力を入力フィールド２０１に入力するとき、ユーザは、電話番号を市外局番から先に入力すること、市外局番なしの電話番号を入力すること、所望の被呼側のファーストネームを入力すること、所望の被呼側の姓を入力することなどを意図している場合がある。フィルタ３１３は、これらのパラメータすべてに対してフィルタリングする。図４Ｃに、フィルタ３１３からの出力をフィルタ出力４０３として示す。いくつかのエントリが除去されており、したがって出力がフィルタリングされていることが強調されているのに留意されたい。
【００５３】
第２の連結部３１５は、要求データとフィルタリング済み出力４０３を受け取って連結する。図４Ｄに、得られる出力を第２の連結部出力４０４として示す。
【００５４】
要求部３１６は、第２の連結出力４０４を受け取り、次いで、表示部によって表示する必要のあるエントリを処理する。この段階で、第２の連結部出力４０４中のエントリは、異なるデータベースからのエントリを表している。そのため、第２の連結部出力４０４中の各エントリは、大きく異なるデータ構造を有するかもしれず、したがって統一フォーマットによる表示には依然として適合しない場合がある。そのため、要求部３１６は、様々なデータインターフェース３１７、３１８、３１９、３２０を使用して、エントリを統一方式で正しくフォーマットする。
【００５５】
要求部３１６は、要求データを要求データインターフェース３１７に渡す。次いで要求データインターフェース３１７は、表示装置２００上で提示されるようにフォーマットした要求データを返す。例えば、入力フィールド２０１に何文字が入力されたかに応じて、要求データのフォントサイズを変更することができる。具体的には、フォントサイズを必要に応じて縮小して、すべての要求データを入力フィールド２０１中で１行に収めることができる。
【００５６】
要求部３１６は、データベースＡからの表示すべきエントリがあればそれらをデータベースＡデータインターフェース３１８に渡し、データベースＢからの表示すべきエントリがあればそれらをデータベースＢデータインターフェース３１９に渡し、データベースＣからの表示すべきエントリがあればそれらをデータベースＣデータインターフェース３２０に渡す。次いで、データベースＡデータインターフェース３１８、データベースＢデータインターフェース３１９、データベースＣデータインターフェース３２０は、フィルタ出力フィールド２０２がエントリをその出所にかかわらず統一形式で表示できるように、同等のフォーマットでエントリを返す。次いで要求部３１６は、フォーマット済みエントリを、表示装置２００上で提示されるように表示部３２１に渡す。
【００５７】
さらに、フィルタ３１３は、いろいろに解釈できるユーザの意図に応じた複数のパラメータに対してフィルタリングすることによって、複数の要求方法に適したデータを取り出す。例えば、フィルタ３１３は、ダイヤル入力を使用して、市外局番付き電話番号、市外局番なしの電話番号、関連するファーストネーム、関連する姓などと照合することができる。本発明によれば、これらのフィルタリングパラメータのいずれかを使用したダイヤリングは、別個のダイヤル方法であると見なすことができる。
【００５８】
フィルタ３１３は、フィルタリングしている対応するエントリに対する正しいデータインターフェースを要求部３１６に照会して、エントリがフィルタリング基準を満たすかどうかを判定することができる。また、重複除去部３１１も、対応するエントリに対する正しいデータインターフェースを要求部３１６に照会して、対応するエントリが本当に重複かどうかを判定することができる。
【００５９】
図５に、本発明による、ユーザが要求を入力してコンタクトを見つけることを可能にするプロセス５００を示す。開始ブロックの後、プロセスはブロック５１０に進み、コンタクトを見つけるためのユーザ入力を得る。入力文字をクリアすると、ユーザはコンタクトリストのトップに戻る。
【００６０】
次にブロック５２０に進み、プロセスはユーザの入力に基づいて適切なコンタクトを得る。コンタクトは検索によって得られる。デバイス上で、コンタクトアプリケーションから、またはホームスクリーン（例えばＭｉｃｒｏｓｏｆｔモバイルソフトウェアを利用する多くのモバイルデバイス上で利用可能なＴｏｄａｙ  Ｓｃｒｅｅｎ）など、その他何らかのアプリケーションからフィルタリングするとき、コンタクトデータベースが検索される。一実施形態によれば、コンタクトデータベースは、固定項目、最近の電話、通常コンタクト、ＳＩＭコンタクトを含む。特定のカテゴリまたはデータストアをフィルタリングするときは、その特定のデータベースだけが検索される。Ｔｏｄａｙ画面からフィルタリングするときは、コンタクトのデータストア全体が検索される。
【００６１】
一実施形態によれば、デバイスからアクセス可能なすべてのコンタクトの中で、適切なコンタクトが検索される。例えば、データベースＡは、コンタクトリストからダイヤルするのに適したデータを含み、データベースＢは短縮ダイヤルをかけるのに適したデータを含み、データベースＣは通話記録を選択してダイヤルするのに適したデータを含むものとすることができる。
【００６２】
ブロック５３０に移り、コンタクトデータを単一のリストに統合する。一実施形態によれば、合致した結果は以下の順で（上から下に）現れる。すなわち、短縮ダイヤルコンタクト（番号順）、最近の電話（アルファベット順、次に昇順）、固定コンタクト（アルファベット順）、通常コンタクト（アルファベット順）、ＳＩＭコンタクト（アルファベット順）である。別の実施形態によれば、ユーザが結果表示方法を定義することができる。
【００６３】
次いで、プロセスはブロック５４０に進み、ユーザがコンタクトを検討することができるように結果が表示される。本発明の一実施形態によれば、合致したコンタクトのリストビュー中で、入力が強調表示される。次いで、プロセスはブロック５１０に戻り、コンタクトの検索をフォーカスする追加のユーザ入力を得ることができる。プロセスは、ブロック５５０でユーザがコンタクトを選択するまで継続することができる。次いでプロセスは終了し、他の動作の処理に戻る。
【００６４】
以上の明細書、実施例、データは、本発明の構成の製造および使用に関する完全な記述を提供する。本発明の趣旨および範囲を逸脱することなく、本発明の多くの実施形態を実現することができるので、本発明は添付の特許請求の範囲にあるものとする。
【図面の簡単な説明】
【００６５】
【図１】本発明の例示的な実施形態により使用することのできる例示的なコンピューティングデバイスを示す図である。
【図２Ａ】例示的な検索シナリオで現れることのできる一連の表示を示す図である。
【図２Ｂ】例示的な検索シナリオで現れることのできる一連の表示を示す図である。
【図３】アーキテクチャを概略的に示す図である。
【図４Ａ】重複除去部の出力を表すデータ構造を示す図である。
【図４Ｂ】重複除去部の出力を表すデータ構造を示す図である。
【図４Ｃ】重複除去部の出力を表すデータ構造を示す図である。
【図４Ｄ】重複除去部の出力を表すデータ構造を示す図である。
【図５】ユーザが要求を入力してコンタクトを見つけることを可能にするプロセスを示す図である。
【図６】本発明の態様による、例示的な検索シナリオで現れることのできる一連の表示を示す図である。
【符号の説明】
【００６６】
１２８  表示装置
１３２  キーパッド
１３４  ナビゲーションコントロール
１６０  プロセッサ
１６２  メモリ
１６６  アプリケーション
１６８  記憶域
１７０  電源
１７２  無線インターフェースレイヤ
１７４  オーディオインターフェース
３１０  データベース
３１１  重複除去部
３１２  第１の連結部
３１３  フィルタ
３１４  要求データ
３１５  第２の連結部
３１６  要求部
３１７  要求データ転送
３１８  データベースＡデータインターフェース
３１９  データベースＢデータインターフェース
３２０  データベースＣデータインターフェース
３２１  表示部
４０１  重複除去部出力
４０２  第１の連結部出力
４０３  フィルタ出力
４０４  第２の連結部出力
【図１】
2005259117.tif 000003
【図２Ａ】
2005259117.tif 000004
【図２Ｂ】
2005259117.tif 000005
【図３】
2005259117.tif 000006
【図４Ａ】
2005259117.tif 000007
【図４Ｂ】
2005259117.tif 000008
【図４Ｃ】
2005259117.tif 000009
【図４Ｄ】
2005259117.tif 000010
【図５】
2005259117.tif 000011
【図６】
2005259117.tif 000012
【外国語明細書】
2005259117000001.pdf