(57)【特許請求の範囲】
【請求項１】
分散型検索を容易にするための方法であって、前記方法は少なくとも１つのプロセッサが実行し、
クライアントデバイスから検索クエリを受信することと、
前記クライアントデバイスからの前記検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れることと、
前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出することと、
前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出することと、
前記検索結果を前記クライアントデバイスに戻すことと
を備える方法。
【請求項２】
セルラー電話ネットワークを介して、前記検索クエリを受信することと、前記検索結果を前記クライアントデバイスに戻すこととをさらに備える、請求項１に記載の方法。
【請求項３】
前記検索オブジェクトを監視するために検索エンジンレゾルバを前記タプルスペースに接続するためのタプルクラスを定義することをさらに備える、請求項１に記載の方法。
【請求項４】
前記検索オブジェクトに応答してタプルスペースにプレースされた第２の検索結果オブジェクトをタプルマッチングによって検出することと、
前記第２の検索結果オブジェクト中の検索結果と前記ユーザデータとを検出することと、
前記第１の検索結果オブジェクトからの前記検索結果を前記第２の検索結果オブジェクトからの前記検索結果と結合することと、
前記結合された検索結果を前記クライアントデバイスに戻すことと
をさらに備える、請求項１に記載の方法。
【請求項５】
検索を実行するための要件として前記クライアントデバイスのユーザを認証することをさらに備える、請求項１に記載の方法。
【請求項６】
検索を実行することに関連する前記クライアントデバイスに対する課金イベントを作成することをさらに備える、請求項１に記載の方法。
【請求項７】
前記検索記述子に検索制約を加えることをさらに備える、請求項１に記載の方法。
【請求項８】
クライアントデバイスから前記検索クエリを英数字列として受信することをさらに備える、請求項１に記載の方法。
【請求項９】
タイマの満了まで追加の検索結果オブジェクトがタプルスペースにプレースされることを待つことをさらに備える、請求項１に記載の方法。
【請求項１０】
検索結果オブジェクトが検出されない場合、前記タイマを延長することをさらに備える、請求項９に記載の方法。
【請求項１１】
分散型検索を容易にするように構成された少なくとも１つのプロセッサであって、
クライアントデバイスから検索クエリを受信するための第１のモジュールと、
前記クライアントデバイスからの前記検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れるための第２のモジュールと、
前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出するための第３のモジュールと、
前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するための第４のモジュールと、
前記検索結果を前記クライアントデバイスに戻すための第５のモジュールと
を備えるプロセッサ。
【請求項１２】
分散型検索を容易にするためのプログラムを記録したコンピュータ可読記録媒体であって、前記プログラムは、
クライアントデバイスからの検索クエリを受信することをコンピュータに行わせるための少なくとも１つの命令と、
前記クライアントデバイスからの前記検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れることを前記コンピュータに行わせるための少なくとも１つの命令と、
前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出することを前記コンピュータに行わせるための少なくとも１つの命令と、
前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出することを前記コンピュータに行わせるための少なくとも１つの命令と、
前記検索結果を前記クライアントデバイスに戻すことを前記コンピュータに行わせるための少なくとも１つの命令と
を備えるコンピュータ可読記録媒体。
【請求項１３】
分散型検索を容易にするための装置であって、
クライアントデバイスから検索クエリを受信するための手段と、
前記クライアントデバイスからの前記検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れるための手段と、
前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出するための手段と、
前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するための手段と、
前記検索結果を前記クライアントデバイスに戻すための手段と
を備える装置。
【請求項１４】
分散型検索を容易にするための装置であって、
クライアントデバイスから検索クエリを受信するためのポータルと、
前記クライアントデバイスからの前記検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れるためのゲートウェイと、前記ポータルは、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出し、
前記検索結果を前記クライアントデバイスに戻すための通信構成要素と
を備える装置。
【請求項１５】
セルラー電話ネットワークを介して、前記検索クエリを受信し、前記検索結果を前記クライアントデバイスに戻す前記通信構成要素をさらに備える、請求項１４に記載の装置。
【請求項１６】
前記検索オブジェクトを監視するために検索エンジンレゾルバを前記タプルスペースに接続するためのタプルクラスを定義する前記ゲートウェイをさらに備える、請求項１４に記載の装置。
【請求項１７】
前記検索オブジェクトに応答してタプルスペースにプレースされた第２の検索結果オブジェクトをタプルマッチングによって検出し、前記第２の検索結果オブジェクト中の検索結果と前記ユーザデータとを検出し、前記第１の検索結果オブジェクトからの前記検索結果を前記第２の検索結果オブジェクトからの前記検索結果と結合する前記ゲートウェイと、
前記結合された検索結果を前記クライアントデバイスに戻す前記通信構成要素と
をさらに備える、請求項１４に記載の装置。
【請求項１８】
検索を実行するための要件として前記クライアントデバイスのユーザを認証する前記ゲートウェイをさらに備える、請求項１４に記載の装置。
【請求項１９】
検索を実行することに関連する前記クライアントデバイスに対する課金イベントを作成する前記ゲートウェイをさらに備える、請求項１４に記載の装置。
【請求項２０】
前記検索記述子に検索制約を加える前記ゲートウェイをさらに備える、請求項１４に記載の装置。
【請求項２１】
前記検索クエリを英数字列として受信する前記ポータルをさらに備える、請求項１４に記載の装置。
【請求項２２】
タイマの満了まで追加の検索結果オブジェクトがタプルスペースにプレースされることを待つ前記ゲートウェイをさらに備える、請求項１４に記載の装置。
【請求項２３】
検索結果オブジェクトが検出されない場合、前記タイマを延長する前記ゲートウェイをさらに備える、請求項２２に記載の装置。
【請求項２４】
分散型検索を要求するための方法であって、前記方法は少なくとも１つのプロセッサが実行し、
クライアントデバイスのユーザから検索クエリを受け付けることと、
前記クライアントデバイスからの前記検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するネットワークに前記検索クエリを送信することと、
前記クライアントデバイス上で前記ユーザに提示するために前記検索結果を前記ネットワークから受信することと
を備える方法。
【請求項２５】
セルラー電話ネットワークを介して、前記検索クエリを送信することと、前記検索結果を受信することとをさらに備える、請求項２４に記載の方法。
【請求項２６】
前記検索オブジェクトを監視するために検索エンジンレゾルバを前記タプルスペースに接続するためのタプルクラスを定義する前記ネットワークに前記検索クエリを送信することをさらに備える、請求項２４に記載の方法。
【請求項２７】
前記検索オブジェクトに応答してタプルスペースにプレースされた第２の検索結果オブジェクトをタプルマッチングによって検出し、前記第２の検索結果オブジェクト中の検索結果と前記ユーザデータとを検出し、前記第１の検索結果オブジェクトからの前記検索結果を前記第２の検索結果オブジェクトからの前記検索結果と結合し、前記結合された検索結果を前記クライアントデバイスに戻す前記ネットワークに前記検索クエリを送信することをさらに備える、請求項２４に記載の方法。
【請求項２８】
検索を実行するための要件として前記クライアントデバイスのユーザを認証する前記ネットワークに前記検索クエリを送信することをさらに備える、請求項２４に記載の方法。
【請求項２９】
検索を実行することに関連する前記クライアントデバイスに対する課金イベントを作成する前記ネットワークに前記検索クエリを送信することをさらに備える、請求項２４に記載の方法。
【請求項３０】
前記検索記述子に検索制約を加える前記ネットワークに前記検索クエリを送信することをさらに備える、請求項２４に記載の方法。
【請求項３１】
前記検索クエリを英数字列として受信することをさらに備える、請求項２４に記載の方法。
【請求項３２】
タイマの満了まで追加の検索結果オブジェクトがタプルスペースにプレースされることを待つ前記ネットワークに前記検索クエリを送信することをさらに備える、請求項２４に記載の方法。
【請求項３３】
検索結果オブジェクトが検出されない場合、前記タイマを延長する前記ネットワークに前記検索クエリを送信することをさらに備える、請求項３２に記載の方法。
【請求項３４】
分散型検索を要求するように構成された少なくとも１つのプロセッサであって、
クライアントデバイスのユーザからの検索クエリを受け付けるための第１のモジュールと、
前記クライアントデバイスからの前記検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するネットワークに前記検索クエリを送信するための第２のモジュールと、
前記クライアントデバイス上で前記ユーザに提示するために前記検索結果を前記ネットワークから受信するための第３のモジュールと
を備えるプロセッサ。
【請求項３５】
分散型検索を要求するためのプログラムを記録したコンピュータ可読記録媒体であって、前記プログラムは、
クライアントデバイスのユーザからの検索クエリを受け付けることをコンピュータに行わせるための少なくとも１つの命令と、
前記クライアントデバイスからの前記検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するネットワークに前記検索クエリを送信することを前記コンピュータに行わせるための少なくとも１つの命令と、
前記クライアントデバイス上で前記ユーザに提示するために前記検索結果を前記ネットワークから受信することを前記コンピュータに行わせるための少なくとも１つの命令と
を備えるコンピュータ可読記録媒体。
【請求項３６】
分散型検索を要求するための装置であって、
クライアントデバイスのユーザから検索クエリを受け付けるための手段と、
前記クライアントデバイスからの前記検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するネットワークに前記検索クエリを送信するための手段と、
前記クライアントデバイス上で前記ユーザに提示するために前記検索結果を前記ネットワークから受信するための手段と
を備える装置。
【請求項３７】
分散型検索を容易にするための装置であって、
クライアントデバイスのユーザから検索クエリを受信するためのユーザインターフェースと、
前記クライアントデバイスからの前記検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するネットワークに前記検索クエリを送信するための通信構成要素と、
前記クライアントデバイス上で前記ユーザに提示するために前記ネットワークによって戻された前記検索結果を受信するためのユーザインターフェースと
を備える装置。
【請求項３８】
セルラー電話ネットワークを介して、前記検索クエリを受信し、前記検索結果を前記クライアントデバイスに戻す前記通信構成要素をさらに備える、請求項３７に記載の装置。
【請求項３９】
前記検索オブジェクトを監視するために検索エンジンレゾルバを前記タプルスペースに接続するためのタプルクラスを定義する前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、請求項３７に記載の装置。
【請求項４０】
前記検索オブジェクトに応答してタプルスペースにプレースされた第２の検索結果オブジェクトをタプルマッチングによって検出し、前記第２の検索結果オブジェクト中の検索結果と前記ユーザデータとを検出し、前記第１の検索結果オブジェクトからの前記検索結果を前記第２の検索結果オブジェクトからの前記検索結果と結合し、前記結合された検索結果を前記クライアントデバイスに戻す前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、請求項３７に記載の装置。
【請求項４１】
検索を実行するための要件として前記クライアントデバイスのユーザを認証する前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、請求項３７に記載の装置。
【請求項４２】
検索を実行することに関連する前記クライアントデバイスに対する課金イベントを作成する前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、請求項３７に記載の装置。
【請求項４３】
前記検索記述子に検索制約を加える前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、請求項３７に記載の装置。
【請求項４４】
前記検索クエリを英数字列として受信する前記ユーザインターフェースをさらに備える、請求項３７に記載の装置。
【請求項４５】
タイマの満了まで追加の検索結果オブジェクトがタプルスペースにプレースされることを待つ前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、請求項３７に記載の装置。
【請求項４６】
検索結果オブジェクトが検出されない場合、前記タイマを延長する前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、請求項４５に記載の装置。
【請求項４７】
前記検索オブジェクトは前記タプルスペースに挿入された第１のタプルに対応し、前記検索結果オブジェクトは前記検索オブジェクトに基づく１つまたは複数の検索結果を含む、前記タプルスペース内に生成された第２のタプルに対応する、請求項１に記載の方法。
【請求項４８】
分散型検索を容易にするための方法であって、前記方法は少なくとも１つのプロセッサが実行し、
クライアントデバイスから検索クエリを受信することと、
前記検索クエリに基づいて、少なくとも１つの検索記述子を含む検索オブジェクトを生成することと、
前記検索オブジェクトを分散型トランザクションオブジェクトスペースに挿入することと、
前記挿入に基づいて、前記少なくとも１つの検索記述子にマッチする、前記分散型トランザクションオブジェクトスペース内の１つまたは複数の他のオブジェクトを検出することと、
前記検出に応答して、前記分散型トランザクションオブジェクトスペースから前記検索オブジェクトを削除し、前記マッチするオブジェクトを前記クライアントデバイスに戻すことと
を備える、方法。
【請求項４９】
前記少なくとも１つの検索記述子は前記クライアントデバイスのユーザによって要望された製品またはサービスを示し、
前記マッチするオブジェクトは前記少なくとも１つの検索記述子にマッチする１組の広告主に関連する製品および／またはサービスを表すオブジェクトのランク付けされたリストに対応する、請求項４８に記載の方法。
【請求項５０】
前記オブジェクトのランク付けされたリスト内の前記マッチするオブジェクトのランキングは、前記マッチするオブジェクト内への包含のために、および／または、前記マッチするオブジェクト内でのより目立つランクのために、所与の広告主が支払うことを望む価格を示すビッド情報に一部基づく、請求項４９の方法。
【請求項５１】
分散型検索を要求するための方法であって、前記方法は少なくとも１つのプロセッサが実行し、
クライアントデバイスのユーザから検索クエリを受け付けることと、
少なくとも１つの検索記述子を含む検索オブジェクトを分散型トランザクションオブジェクトスペースに挿入し、前記挿入に基づいて、前記少なくとも１つの検索記述子にマッチする、前記分散型トランザクションオブジェクトスペース内の１つまたは複数の他のオブジェクトを検出し、前記検出に応答して、前記分散型トランザクションオブジェクトスペースから前記検索オブジェクトを削除し、前記マッチするオブジェクトを前記クライアントデバイスに戻す、ネットワークに前記検索クエリを送信することと、
前記クライアントデバイス上での前記ユーザへの提示のために前記ネットワークから前記マッチするオブジェクトを受信することと
を備える、方法。
【請求項５２】
前記少なくとも１つの検索記述子は前記クライアントデバイスのユーザによって要望された製品またはサービスを示し、
前記マッチするオブジェクトは前記少なくとも１つの検索記述子にマッチする１組の広告主に関連する製品および／またはサービスを表すオブジェクトのランク付けされたリストに対応する、請求項５１に記載の方法。
【請求項５３】
前記オブジェクトのランク付けされたリスト内の前記マッチするオブジェクトのランキングは、前記マッチするオブジェクト内への包含のために、および／または、前記マッチするオブジェクト内でのより目立つランクのために、所与の広告主が支払うことを望む価格を示すビッド情報に一部基づく、請求項５２の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
同時係属特許出願の参照
説明する態様は、インタラクティブな作業領域およびユビキタスコンピューティングに関する。より詳細には、態様は、分散型システム中にある１つまたは複数の別々の検索サービスを容易に利用するための、異種コンピューティングプラットフォームの集団のためのインフラストラクチャに関する。
【背景技術】
【０００２】
クライアントデバイスのユーザの集団のための事業者は、競争的な発展しつつある通信市場において競合している。特に分散型コンピュータシステム上で、様々なサービスに対するユーザの期待を満たすことは困難である。しばしば、ユーザの期待は、好ましいサービスプロバイダが異なるという点で互いに異なり、これは特に検索について当てはまる。さらに、メタ検索を阻むプロプライエタリ検索エンジンを用いた分散型ネットワークの異なるノードにおいて、いくつかのタイプのコンテンツを隔離することができる。
【０００３】
限定はしないが、インターネットなどの分散型コンピュータシステムは、異なるかつ地理的に多様なプロセッサの大きいアレイ上で同時に実行している多くの異なるプロセス間の高速のリアルタイム交換によって特徴づけられる。分散型コンピュータシステムのリソースは通常空間的に分離され、そのアプリケーションの実行はしばしば、時間的に広く分離され得る複数の実行スレッドを含む。
【発明の概要】
【０００４】
以下で、本開示のいくつかの態様の基本的理解を与えるために、簡略化された概要を提示する。この概要は、包括的な概観ではなく、主要なまたは重要な要素を識別するものでも、そのような態様の範囲を定めるものでもない。その目的は、後で提示するより詳細な説明の導入として、説明する態様のいくつかの概念を簡略化された形態で提示することである。
【０００５】
１つまたは複数の態様およびその対応する開示に従って、疎結合分散型ネットワークを介してコンテンツを検索するための、ハンドヘルド通信デバイスなどのクライアントデバイスの使用に関して、様々な特徴について説明する。
【０００６】
一態様では、方法は、クライアントデバイスから受信した検索クエリの分散型検索を容易にする。クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果をクライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースにプレースする。検索オブジェクトに応答してタプルスペースにプレースされた検索結果オブジェクトが、タプルマッチングによって検出される。検索結果をクライアントデバイスに戻すために、検索結果オブジェクト中の検索結果とユーザデータとが検出される。
【０００７】
他の態様では、少なくとも１つのプロセッサは、分散型検索を容易にする方法を実行するためのモジュールを含む。コンピュータプログラム製品は、分散型検索を容易にする方法を実行するための命令のセットを含む。装置は、分散型検索を容易にする方法を実行するための手段を提供する。
【０００８】
追加の態様では、装置は、クライアントデバイスから受信した検索クエリの分散型検索を容易にする。ポータルは、クライアントデバイスから検索クエリを受信する。ゲートウェイは、クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果をクライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れる。ポータルは、検索オブジェクトに応答してタプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、検索結果オブジェクト中の検索結果とユーザデータとを検出する。通信構成要素は検索結果をクライアントデバイスに戻す。
【０００９】
さらに別の態様では、方法は、クライアントデバイスのユーザから受け付けた検索クエリの分散型検索を実行する。検索クエリは、クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果をクライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、検索オブジェクトに応答してタプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、検索結果オブジェクト中の検索結果とユーザデータとを検出するネットワークに送信される。ネットワークからの検索結果は、クライアントデバイス上でユーザに提示するために送信される。
【００１０】
他の態様では、少なくとも１つのプロセッサは、分散型検索を要求する方法を実行するためのモジュールを含む。コンピュータプログラム製品は、分散型検索を要求する方法を実行するための命令のセットを含む。装置は、分散型検索を要求する方法を実行するための手段を提供する。
【００１１】
さらなる態様では、装置は分散型検索を容易にする。ユーザインターフェースは、クライアントデバイスのユーザから検索クエリを受信する。通信構成要素は、クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果をクライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、検索オブジェクトに応答してタプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、検索結果オブジェクト中の検索結果とユーザデータとを検出するネットワークに検索クエリを送信する。次いで、ユーザインターフェースは、クライアントデバイス上でユーザに提示するためにネットワークによって戻された検索結果を受信する。
【００１２】
上記および関連する目的を達成するために、１つまたは複数の態様は、以下で十分に説明し、特に特許請求の範囲で指摘する特徴を備える。以下の説明および添付の図面は、いくつかの例示的な態様を詳細に記載し、本態様およびバージョンの原理が使用できる様々な方法のほんのいくつかを示すものである。他の利点および新規の特徴は、図面とともに以下の詳細な説明を検討すると明らかになり、開示するバージョンは、すべてのそのような態様およびそれらの均等物を含むものとする。
【図面の簡単な説明】
【００１３】
【図１】事業者が分散型ネットワーク上で１つまたは複数の別々の検索機能を利用するためのシステムの一態様の概略図。
【図２】図１のシステムを用いて動作可能な通信ネットワークの一態様の概略図。
【図３】一態様による、最適化格付き検索結果が変位している例示的なクライアントデバイスの図。
【図４】一態様による、分散型ネットワークの１つまたは複数の別々の検索エンティティ上で検索し、検索ビッドに従って結果ランキングを最適化するための、図１の分散型ネットワークによって実行される方法のタイミング図。
【図５】一態様による、図１の事業者によって実行される分散型検索および結果格付けのための方法の流れ図。
【発明を実施するための形態】
【００１４】
事業者は、事業者ポータルを介してアクセスされる検索サービスを含むサービスを、モバイル通信デバイスなどのクライアントデバイスの集団に提供する。検索ゲートウェイは、ポータルの入力から抽出された検索記述子を含んでいる検索オブジェクトをプレースする。ユーザプライバシを保護する検索オブジェクトは、分散型トランザクションオブジェクト（タプル）スペースに入れられる。スペースを監視しているレゾルバは、検索記述子を読み取り、スペースに戻される結果オブジェクトを用いて実行すべき外部検索を調整する。ゲートウェイは、スペースから検索結果オブジェクトを削除し、それらをクライアントデバイスのユーザに報告するためにユーザ検索とマッチングする。それによって、増大した量のコンテンツが分散型システム上でアクセス可能になる。
【００１５】
本出願で使用する「構成要素」、「モジュール」、「システム」などの用語は、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなど、コンピュータ関連のエンティティを指すものとする。たとえば、構成要素は、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータとすることができるが、これらに限定されない。例として、サーバ上で実行されるアプリケーションと、そのサーバの両方を構成要素とすることができる。１つまたは複数の構成要素がプロセスおよび／または実行スレッド内に常駐することができ、１つの構成要素を１つのコンピュータ上にローカライズし、および／または２つ以上のコンピュータ間に分散することができる。
【００１６】
「例示的」という単語は、本明細書では、例、事例、または例示の働きをすることを意味するために使用する。「例示的」として本明細書で説明するいかなる態様または設計も、必ずしも他の態様または設計よりも好ましいまたは有利なものと解釈すべきではない。
【００１７】
さらに、標準的なプログラミングおよび／またはエンジニアリング技法を使用して、開示する態様を実装するようにコンピュータを制御するためのソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを生成する方法、装置、または製造品として１つまたは複数の態様を実装することができる。本明細書で使用する「製造品」（または代替的に「コンピュータプログラム製品」）という用語は、任意のコンピュータ可読デバイス、キャリア、または媒体からアクセス可能なコンピュータプログラムを包含するものとする。たとえば、コンピュータ可読媒体は、磁気記憶デバイス（たとえば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストリップなど）、光ディスク（たとえば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）など）、スマートカード、およびフラッシュメモリデバイス（たとえば、カード、スティックなど）を含むことができるが、これらに限定されない。さらに、電子メールを送信および受信する際またはインターネットもしくはローカルエリアネットワーク（ＬＡＮ）などのネットワークにアクセスする際に使用されるもののような、コンピュータ可読電子データを搬送するために搬送波を使用できることを諒解されたい。もちろん、開示する態様の範囲から逸脱することなく、この構成に対して多数の改変を行うことができることを当業者ならば認識するであろう。
【００１８】
様々な態様を、いくつかの構成要素やモジュールなどを含むことができるシステムに関して提示する。様々なシステムは、追加の構成要素やモジュールなどを含んでもよく、および／または各図に関連して論じる構成要素やモジュールなどのすべてを含まなくてもよいことを理解および諒解されたい。これらの手法の組合せを使用することもできる。本明細書で開示する様々な態様は、タッチスクリーンディスプレイ技術および／またはマウスおよびキーボードタイプインターフェースを利用するデバイスを含む、電気デバイス上で実行できる。そのようなデバイスの例は、コンピュータ（デスクトップおよびモバイル）、スマートフォン、携帯情報端末（ＰＤＡ）、およびワイヤードとワイヤレスの両方の他の電子デバイスを含む。
【００１９】
図１では、分散型システム１００は、モバイル通信デバイスなど、クライアントデバイス１０４のユーザ１０２が、１つまたは複数の検索エンジン１１０からの検索結果にアクセスするために事業者１０８のポータル１０６にアクセスすることを可能にする。「オフポータル(off-portal)」コンテンツの課題に対処するために、事業者１０８は、Ｌｉｎｄａ型分散型トランザクションシステム（「タプルスペース(tuple space)」）１１６にプレースされる検索オブジェクト１１４を作成する検索ゲートウェイ１１２を利用する。検索ゲートウェイ１１２は検索記述子１１８を作成することによって検索オブジェクトを構成し、検索記述子１１８は、実際の検索語、ならびにさらにコンテンツ媒体のタイプおよび他の検索制限などの他のパラメータを含むことができる。オブジェクト本体１２０は、ユーザ１０２の識別、および検索結果をユーザ１０２にどのように戻すかをキャプチャする。ただし、この情報は検索ゲートウェイにのみ見える。
【００２０】
検索オブジェクト１１４は、要求された検索の、およびあるいはビッドの、情報を受信するために他のタプルと対話(interact)するタプルである。「タプルスペース」は、タプルのグルーピングとして編成された、グローバルに共有され、連想アドレス指定(associatively addressed)されるメモリスペースである。「タプル」は、タプルスペースシステムの基本要素である。Ｌｉｎｄａのようなタプルスペースベースの協調言語の文脈では、タプルは、いくつかのタイプのフィールドまたは値を有するベクトルである。より広い意味では、「タプル」は、情報記憶システム中のエントリである。たとえば、関係データベースシステム中の行をタプルと呼ぶことができる。
【００２１】
Ｌｉｎｄａのような言語では、「テンプレート」と呼ばれる構成体は、マッチング技法によってタプルを連想アドレス指定するために使用される。テンプレートとタプルが等しい数のフィールドを有する場合、および各テンプレートフィールドが対応するタプルフィールドにマッチする場合、テンプレートはタプルにマッチする。
【００２２】
タプルスペースベースの協調言語は、プロセス間通信および同期のための単純であるが、強力な機構を与え、それは並列および分散型プログラミングの核心である。共有するデータをもつプロセスは、タプルを生成し、それをタプルスペースにプレースする。データを必要とするプロセスは、単にタプルをタプルスペースから要求する。
【００２３】
タプルスペースプログラムは以下を含むいくつかの理由により、書込みおよび維持がより容易である。
【００２４】
（１）宛先分離（完全匿名通信）  タプルの作成者は、そのタプルまたはその宛先の将来の使用に関する知識を必要としない。
【００２５】
（２）スペース分離  タプルが連想アドレス指定方式を使用して取り出されるので、複数のアドレススペース独立(disjoint)プロセスが同様にしてタプルにアクセスすることができる。
【００２６】
（３）時間分離  タプルは、それらを生成したプロセスまたはそれらを読み取ることができるプロセスとは無関係に、それら自体の寿命を有する。これは、時間独立プロセスがシームレスに通信することを可能にする。
【００２７】
タプルスペースの実装形態は、「クローズ」または「オープン」のいずれかとすることができる。クローズ実装形態は、高度に効率的なクローズにされたプログラムを与えるためにオブジェクトおよびソースコードのコンパイル時間分析を使用する。オープン実装形態は、任意の事前知識を必要とするランタイムシステムなしで、タプルスペースによってプロセス、エージェント、およびプログラムが協調することを可能にする。本質的に、オープン実装形態は持続的(persistent)データストアを与える。
【００２８】
Ｌｉｎｄａ言語は、３つの標準命令またはプリミティブを使用する。これらは、以下の通りである（インフォーマルな動作(semantics)とともに）。
【００２９】
（１）ｏｕｔ（ｔｕｐｌｅ）タプルをタプルスペースに挿入する。
【００３０】
（２）ｉｎ（ｔｅｍｐｌａｔｅ）テンプレートにマッチするタプルが存在する場合、タプルを削除し、それをｉｎを実行しているエージェントに戻す。マッチするタプルが利用可能ではない場合、マッチするタプルが利用可能になるまで、プリミティブはブロックする。
【００３１】
（３）ｒｄ（ｔｅｍｐｌａｔｅ）テンプレートにマッチするタプルが存在する場合、タプルのコピーをｒｄを実行したエージェントに戻す。マッチするタプルがない場合、マッチするタプルが利用可能になるまでプリミティブはブロックする。
【００３２】
図１に戻ると、タプルスペース１１６はデータリポジトリを備え、検索ゲートウェイ１１２によってタプルスペース１１６にプレースされた検索オブジェクト（データタプル）１１４およびタプルスペース１１６中の例示的なサービスタプル１２４の各々はそれぞれ、タプルタイプ１２６およびタプル属性１２８を備えるデータの順序(ordered)セットを有するオブジェクトを備える。さらに、タプル属性１２８は、タプルタイプ１２６に応じて変化することができる。タプルスペース１１６は、データオブジェクト、たとえばタプル１２４を受け取るように動作可能な抽象的なスペースを備え、スペース内で実行できる動作の所定のセットを含む。たとえば、関数(function)の所定のセットは「ｉｎ」関数および「ｒｄ」関数を含むことができ、両方とも、与えられると入力パラメータをタプルスペース内に存在する値とマッチングさせることによってスペース中の特定のタプルの選択を可能にする入力パラメータをとる。さらに、「ｉｎ」関数と「ｒｄ」関数の両方は、非ブロッキングの同等物（ｉｎｐおよびｒｄｐ）を有することができる。いくつかの態様では、関数の所定のセットは、タプルスペース１１６とタプル１２４の両方に対して実行できるＪＡＶＡ（登録商標）メソッドなど、動作のセットを含むことができる。
【００３３】
さらに、特定の例では、各タプル１２４は、ｃｏｍ．ｑｕａｌｃｏｍｍ．ｑｓｐａｃｅｓ．ｌｉｎｄａ．Ｔｕｐｌｅクラスまたはサブクラスのインスタンスであり、タプル１２４が構成されるときに指定されるオブジェクトのアレイによって定義される属性１２８のセットとともに作成される。アレイは長さ０(zero-length)とすることができるが、いくつかの態様では、アレイはヌルではないとすることができる。さらに、いくつかの態様では、アレイ中の個々の属性オブジェクトのいずれもヌルではないとすることができる。
【００３４】
いくつかの態様では、タプル１２４が最初に構成されたとき、およびそれぞれの属性１２８がそれぞれのタプルから取り出されるたびに、オブジェクトのアレイは、極めて速い形態のインメモリシリアライゼーション(in-memory serialization)を使用して防御的にコピーできる。このプロセスは、タプル１２４が不変(immutable)であることを可能にし、したがって、タプル１２４が存在するタプルスペース１１６の完全性を保証する。
【００３５】
上記の態様では、タプル等式は、ｔ１．ｅｑｕａｌｓ（ｔ２）の場合、ｔ２．ｅｑｕａｌｓ（ｔ１）であることを記述する対称則を含む、任意のＪＡＶＡオブジェクトの同じ等式原理に準拠する。
【００３６】
詳細には、テンプレートとして知られるｔ２が以下の基準を満たす場合、たとえば、ｔ１．ｅｑｕａｌｓ（ｔ２）であって、タプルは別のタプルに等しい。
【００３７】
１）テンプレートｔ２のクラス１２６は、タプルｔ１と同じクラス１２６である。
【００３８】
２）テンプレートｔ２の属性１２８は、タプルｔ１の属性１２８に等しい。これは、それらの順序にかかわらず、ｔ２の属性１２８がｔ１の属性１２８と同じであることを意味する。
【００３９】
他の態様では、テンプレートとして知られるｔ２が以下の基準を満たす場合、たとえば、ｔ１．ｍａｔｃｈｅｓ（ｔ２）であって、タプルは別のタプルにマッチする。
【００４０】
１）テンプレートｔ２のクラス１２６は、タプルｔ１の同じクラス１２６またはスーパークラス(super class)である。
【００４１】
２）テンプレートｔ２の属性１２８は、タプルｔ１の属性１２８にマッチする。これは、それらの順序にかかわらず、ｔ２の属性１２８がｔ１の属性１２８と同じセットまたはサブセットであることを意味する。
【００４２】
あるタプルを別のタプルとマッチングするとき、対称則は当てはまらない。したがって、ｔ１．ｍａｔｃｈｅｓ（ｔ２）は、必ずしもｔ２．ｍａｔｃｈｅｓ（ｔ１）に等しくない。
【００４３】
いくつかの態様では、タプル属性１２８のあるセットと別のセットとの比較は、通常のオブジェクト等式規則を使用し、したがってタプル属性１２８として使用される任意のオブジェクトは、ｏｂｊｅｃｔ．ｅｑｕａｌｓ（Ｏｂｊｅｃｔ  ｏｂｊ）およびｏｂｊｅｃｔ．ｈａｓｈｃｏｄｅ（）メソッドを実装することができる。
【００４４】
タプル１２４が、リース１３０とともにタプルスペース１１６に加えられる。リース１３０は時間期間であり、たとえばミリ秒単位で指定され、タプルがどれくらいそれぞれのタプルスペース１１６中に存続するかについて定義する。たとえば、０の値を有するリース１３０は、それぞれのタプルが決して満了(expire)しないことを示す。それぞれのタプルについてリース１３０が満了すると、タプルはタプルスペース１１６から自動的に削除される。
【００４５】
示されたタプル１２４は、検索オブジェクト１１４など、データタプルではなくサービスタプルとすることができる。サービスタプル１２４は、ゲートウェイ１１２など、タプルスペース１１６のクライアントと対話するサービスを表す。さらに、サービスタプル１２４はまた、それ自体で自律「ライブ(live)」ＪＡＶＡ（登録商標）オブジェクトであり、また、タプルスペース１１６およびスペース中の他のタプルと対話することができる。サービスタプル１２４は、たとえば、タプルのクラス１２６および属性１２８をマッチングすることによって他のタプルと同様に発見できる。しかしながら、いくつかの態様では、サービスタプル１２４はこのように使用されず、むしろ、サービスタプル１２４は、データタプル１１４など、他のタプルをタプルスペース１１６にプレースすることによって間接的に対話される。
【００４６】
たとえば、それぞれのゲートウェイ１１２など、クライアントは、属性「ａｂｃ」および「１２３」をもつクラスＡのデータタプル１２４を作成することができ、そのタプルをタプルスペース１１６にプレースする。したがって、データタプル１２４は、以下の表記法を使用して記述できる。
【００４７】
（Ａ，‘‘ａｂｃ’’，１２３）。
【００４８】
サービスタプル１２４は、クライアントアプリケーションと同様の方法でタプルスペース１１６と対話することができるライブオブジェクトである。したがって、この例では、サービスタプル１２４はインスタンス化(instantiated)されており、クラスＡおよび任意の属性についてマッチするテンプレート１２６をもつ任意のタプルに対するタプルスペース１１６からの読取りに関してブロックする。そのようなマッチング基準は次のように記述できる。
【００４９】
（Ａ，？ｓ，？ｘ）
ただし、？ｓおよび？ｘは、ストリングｓおよび整数ｘの任意の値がマッチングされることを意味する。したがって、タプルスペース１１６は、サービスタプル１２４からのテンプレートをマッチングし、次いでタプルスペース１１６からタプル１１４を読み取る。このようにして、説明された態様は、タプルの形態でパラメータをサービスにパスする。
【００５０】
さらに、システム１００において、ユーザインターフェースを表すオブジェクトをサービスオブジェクト自体に埋め込むことが可能である。以下のユーザインターフェースサービスタプルについて考える。
【００５１】
（Ａ，［Ｊａｖａ］，［Ｆｌａｓｈ］，［ｕｉＯｎｅ］）
そのようなサービスタプル（図示せず）は、ＪＡＶＡ（商標）、ＡＤＯＢＥ  ＦＬＡＳＨ、およびカリフォルニア州サンディエゴのＱＵＡＬＣＯＭＭ社のｕｉＯｎｅ（商標）技術で定義された３つのユーザインターフェースオブジェクトを含んでいる。モビリティの文脈では、本態様は、画面サイズまたは他のデバイス固有の性質についての最適化を随意に含み、Ｊａｖａ、ＦｌａｓｈまたはｕｉＯｎｅなどの異なる技術、あるいはさらに単一の技術の複数の変形態のサポートに関するかどうかにかかわらず、各々それ自体の固有の要件をもつ多種多様なワイヤレスデバイスにわたってサービスの提供を可能にする。したがって、ユーザインターフェースサービスオブジェクトの位置を特定し、次いで、そこからユーザインターフェース構成要素をロードすることが可能であるので、タプルスペース１１６中に表される分散コンピューティングエンティティと容易に通信する能力が高められる。
【００５２】
再び図１を参照すると、１つまたは複数の検索レゾルバ１３２は、タプルスペース１１６に、場合によっては動的に、接続されている。レゾルバ１３２は、検索モニタタプル１３４を用いて検索オブジェクト１１４についてタプルスペース１１６を監視するものとして示されている。レゾルバ１３２は、検索記述子１１８をそれぞれの検索エンジン１１０のためのアプローチ検索クエリフォーマットにフォーマッティングするために、カスタム検索機構として働く。いくつかの例では、記述子１１８は、要望されないメディアコンテンツ（たとえば、オーディオＭＰ３ファイル）の特化したデータベースに専用の検索エンジン用など、特定の検索エンジンをその検索に適切にする制限を示唆する。したがって、検索エンジン１１０の様々な組合せおよび数を、検索を実行するために動的に確保(enlist)することができることを諒解されたい。それぞれの検索が完了すると、各検索レゾルバ１３２は、タプルスペース１１６に戻される検索結果タプル１３６を作成する。
【００５３】
事業者１０８の検索ゲートウェイ１１２は、この検索および場合によってはクライアントデバイス１０４の他のユーザ１０２のためのいくつかの他のペンディングの検索の結果についてタプルスペース１１６を監視する。この監視は、結果／ビッドモニタタプル１３８によって示される。たとえば、サービスタプルはすべての検索の結果を観察することができ、または場合によっては検索に割り振られた持続時間に対して選択されたリース１３０とともに、ペンディングの検索ごとにカスタムデータタプルをスペース１１６にプレースすることができる。検索結果タプル１３６が検出されると、ゲートウェイ１１２は、これらのタプル１３６をスペース１１６から削除させる。検索結果の１つまたは複数のセットが収集され、ポータル１０６を介して正しいユーザ１０２に返されるように、各検索結果タプル１３６中に含まれるプライベートオブジェクト本体１２０が抽出される。
【００５４】
オブジェクト本体１２０は単独で、および対応するクライアントデバイス１０４に結果を送信する方法によってユーザ１０２を識別するのに十分であり得ることを諒解されたい。代替的に、プライバシの増強および／またはメッセージサイズの低減あるいは他の理由のために、オブジェクト本体１２０は、事業者１０８によって維持されるペンディングの検索データ構造１４０に照合できる一意のコードに限定できる。さらに、ポータル１０６の使用を課金目的（たとえば、検索１回当たりの料金）で監視でき、または事業者１０８によって維持されるユーザデータベース１４２を参照して制限（たとえば、許可されたユーザ）できる。
【００５５】
ユーザ１０２に顕著に適用可能な方法で検索結果を有利にランク付けしおよび／または検索サービスを与えることによって発生する収入を増強する方法として、ゲートウェイ１１２は、検索オブジェクト１１４をスペース１１６にプレースすることの一部として、格付けビッドを要請することができる。そのような構成は、先在し暗黙であるとすることができる。代替的にまたは追加として、各検索オブジェクト１１４は、検索レゾルバ１３２によって随意に動作されるビッドファクタ属性１４４を組み込むことによってビッドを要請することができる。たとえば、ビッドファクタ属性１４４は、（たとえば、ビッダーの識別情報、一番上に配置するためのビッド値、最初の５つのリスティング内に配置するためのビッド値、制約付きのモバイルデバイスディスプレイの最初のスクリーン内に配置するためのビッド値など）報告すべきビッドパラメータを指定することができる。ビッドファクタ属性１４４は、広告主によって評価できるユーザに関するデモグラフィック(demographic)情報（たとえば、所在、年齢層、社会経済階級など）を含むことができる。したがって、検索レゾルバ１３２は、検索結果１３６の一部としてビッド応答属性１４６を含むことができる。
【００５６】
代替的にまたは追加として、広告主１４８などのサードパーティは、結果／ビッドモニタ１３８にビッドを与える商品／サービスビッドタプル１５０を用いて該当する検索オブジェクト１１４および／または検索結果オブジェクト１３６についてスペース１１６を監視することができる。したがって、ゲートウェイ１１２は、これらのビッドを適切な検索と関連付け、ビッド／ランキング最適化プロセス１５２を実行して、後続の課金イベントのための課金構成要素１５４においてビッドの落札を示す。
【００５７】
図２を参照すると、たとえば、通信ネットワーク３００は、ネットワークデバイスまたはサーバ３０８および／または記憶デバイス３１０および／またはデータソース３１２を有するワイヤードネットワーク３０６（たとえばローカルエリアネットワーク、ＬＡＮ）と通信するためにワイヤレスネットワーク３０４を利用する１つまたは複数のクライアントデバイス３０２、この場合、ワイヤレス電話デバイスを含む。ネットワークデバイス／サーバ３０８および／または記憶デバイス３１０の一方または両方は、タプルスペース１１６およびシステム１００の上述した構成要素のいくつかの部分を含むことができる。さらにデータソース３１２は、プロセッサおよびプロセッサと通信しているメモリを含み、メモリは、ウェブベースのトランザクションサービスなど、未知のサービスと容易にインターフェースするように動作可能な任意のデータソースから複数のデータタプルを生成するように動作可能なタプル生成論理を有するタプル生成モジュールを備える。特に、ワイヤレスデバイス１０２は、タプルスペース１１６中にあるポータル１０６（図１）を使用するのに十分な検索サービスインターフェース３２４およびクライアント識別構成要素３２２など、常駐アプリケーションとの対話を可能にするアプリケーションプログラミングインターフェース（ＡＰＩ）３２０を介してなど、プロセッサ３１８と通信しているメモリ３１６を有するコンピュータプラットフォーム３１４を含む。
【００５８】
さらに、ネットワークデバイスまたはサーバ３０８および／または記憶デバイス３１０および／またはデータソース３１２は、プロセッサおよびプロセッサと通信しているメモリ、ならびにメモリに記憶され、プロセッサによって実行可能なインターフェース、検索および格付けモジュール（図示せず）を含むことができ、インターフェース、検索および格付けモジュールは、上記のように、タプルスペース１１６、検索サービスタプル１０６、および格付けサービスタプル１１８を備える。ワイヤレスネットワーク３０４は、キャリアネットワーク３２６を介してワイヤードネットワーク３０６に接続される。ネットワークデバイスまたはサーバ３０８および／または記憶デバイス３１０および／またはデータソース３１２は、コミュニティ管理能力および／またはセルラー通信サービスを与えるために望まれる他のネットワーク構成要素とともに通信ネットワーク３００上に存在するとすることができる。ネットワークデバイスまたはサーバ３０８および／または記憶デバイス３１０および／またはデータソース３１２は、インターネット、セキュアなＬＡＮ、ＷＡＮ、または他のネットワークなどのデータリンクとすることができるデータリンク３２８および３３０を通してキャリアネットワーク３２６と通信することができる。キャリアネットワーク３２６は、移動交換センター（ＭＳＣ）３３２に送信される（一般にデータパケットである）メッセージを制御する。さらに、キャリアネットワーク３２６は、インターネットおよび／またはＰＯＴＳ（簡素な旧式電話サービス）などのネットワーク３３０によってＭＳＣ３３２と通信する。たとえば、ネットワーク３３０では、ネットワークまたはインターネット部分はデータを転送し、ＰＯＴＳ部分はボイス情報を転送する。ＭＳＣ３３２は、データ転送のためのデータネットワークおよび／またはインターネット部分やボイス情報のためのＰＯＴＳ部分など、別のネットワーク３３６によって複数の基地局（ＢＴＳ）３３４に接続できる。ＢＴＳ３３４は最終的に、たとえば、それぞれ符号分割多元接続（ＣＤＭＡ）およびショートメッセージサービス（ＳＭＳ）あるいは他の無線方法など、所定のボイスサービスおよび／またはデータパケットサービスを使用して、メッセージをワイヤレスにワイヤレス通信デバイス３０２にブロードキャストする。したがって、通信ネットワーク３００は、システム１００（図１）と組み合わせて、検索開始およびタプルスペース１１６中のデータオブジェクト間の報告を可能にする。
【００５９】
図２は、ワイヤレス通信ネットワークの構成要素と本システムの一態様の要素の相互関係とをより十分に示す代表的な図であることに留意されたい。通信ネットワーク３００は、例示的なものにすぎず、ワイヤレス通信デバイス３０２などのリモートモジュールが互いの間および中で、および／または、限定はしないが、ワイヤレスネットワークキャリアおよび／またはサーバを含むワイヤレスおよび／またはワイヤードネットワークの他の構成要素の間および中で無線で通信するための任意のシステムを含むことができる。
【００６０】
図３では、例示的なモバイル通信デバイス４００は、４つのカーソルキー４０６および選択ボタン４０８、ならびに左メニューボタン４１０、中央メニューボタン４１２および右メニューボタン４１４とともにダイヤルトーン多機能（ＤＴＭＦ）キーパッド４０４など物理制御を含むことができるグラフィカルユーザインターフェース（ＧＵＩ）４０２を介してインターフェース、検索および格付けサービスにリモートでアクセスし、制御するためのクライアントデバイスとして働くことができる。ＧＵＩ４０２は、図示のようにディスプレイ４１６を含むことができる。代替的に、タッチスクリーン機能をもつディスプレイを使用して、ソフト入力の制御を行うこともできる（図示せず）。ディスプレイ４１６は、検索タブ４２０、プレーヤ４２２タブ、発見（ローカル）タブ４２４およびリンクタブ４２６のタブの階層で編成された動的インデックス４１８を示すことができる。インデックス４１８は、有料配置Ａエントリ４２８およびＢエントリ４３０の後に無償検索結果Ａエントリ４３２およびＢエントリ４３４が続くランキングを含むことができる。インタラクティブとすることができる広告バナー４３６は、示されているリストに関係するメディア購買機会または副次的サービスに対応するように有利に選択される。
【００６１】
インターフェース、検索および格付けサービスのための例示的な方法が、ブロックにおいて開始し、クライアントデバイスからの検索データタプルをタプルスペース中で受け取る。ブロックにおいて、検索サービスは、クライアントデバイスがタプルスペース中のサービスと対話することを可能にするインターフェース属性を与える。ブロックにおいて、検索要求をサービスタプルから１つまたは複数の検索エンジンにパスし、ブロックにおいて、検索エンジンが検索結果データタプルをタプルスペースにプレースする。ブロックにおいて、格付けサービスが検索結果を受信し、ブロックにおいて、ビッドの結果を広告主にフォワーディングする。ブロックにおいて、ビッドを受信し、最適化する（たとえば、グリーディアルゴリズムによる収入最大化）。収入を確保するために、ブロックにおいて追跡するための格付けデータタプルとしてビッドの落札を報告できる。ブロックにおいて、格付けされた結果を、インターフェースタイプごとにフォーマッティングし、ブロックにおいて、クライアントデバイスが取り出すためにタプルスペースにプレースする。
【００６２】
図３では、例示的なモバイル通信デバイス４００は、４つのカーソルキー４０６および選択ボタン４０８、ならびに左メニューボタン４１０、中央メニューボタン４１２および右メニューボタン４１４とともにダイヤルトーン多機能（ＤＴＭＦ）キーパッド４０４など物理制御を含むことができるグラフィカルユーザインターフェース（ＧＵＩ）４０２を介してインターフェース、検索および格付けサービスにリモートでアクセスし、制御するためのクライアントデバイスとして働くことができる。ＧＵＩ４０２は、図示のようにディスプレイ４１６を含むことができる。代替的に、タッチスクリーン機能をもつディスプレイを使用して、ソフト入力の制御を行うこともできる（図示せず）。ディスプレイ４１６は、検索タブ４２０、プレーヤ４２２タブ、発見（ローカル）タブ４２４およびリンクタブ４２６のタブの階層で編成された動的インデックス４１８を示すことができる。インデックス４１８は、有料配置Ａエントリ４２８およびＢエントリ４３０の後に無償検索結果Ａエントリ４３２およびＢエントリ４３４が続くランキングを含むことができる。インタラクティブとすることができる広告バナー４３６は、示されているリストに関係するメディア購買機会または副次的サービスに対応するように有利に選択される。
【００６３】
図４では、疎結合ネットワーク上で分散型検索を実行するための方法６００が、モバイルデバイス６０２、事業者ポータル６０４、事業者検索ゲートウェイ６０６、Ｌｉｎｄａタイプ分散型（たとえば、タプル）スペースサーバ６０８、１つまたは複数の検索レゾルバ６１０、およびそれぞれの検索エンジン６１２のネットワークエンティティ間の呼(call)として示されている。加入者は、モバイルデバイス６０２を使用して検索要求を事業者ポータル６０４に送信する（ブロック６２０）。たとえば、検索語はマドンナ(Madonna)または「レイオブライト(ray of light)」とすることができる。事業者ポータル６０４は、ユーザに検索結果を戻すための十分な情報および記述子を含む、検索クエリを検索ゲートウェイ６０６にフォワーディングする（ブロック６２２）。今度は検索ゲートウェイ６０６は、プライベートオブジェクト本体を検索記述子とともにカプセル化し（ブロック６２４）、それは検索結果ランキング／包含に関してビッドを要請するためにビッドファクタを有利には含むことができる。検索オブジェクト６２６はタプルスペースサーバ６０８によって維持されるタプルスペース中にプレースされ、検索ゲートウェイは検索要求の結果についてサーバ６０８を監視する（ブロック６２８）。
【００６４】
（１つまたは複数の）レゾルバ６１０によるタプルスペースの先在する監視（ブロック６３０）、またはレゾルバ６１０に警報を出す別の接続は、検索オブジェクト６２６の検索記述子のマッチを生じさせる（ブロック６３２）。検索レゾルバ６１０は、検索をそれぞれの検索エンジン６１２にインターフェースするために、検索クエリをフォーマッティングする（ブロック６３４）。次いで、検索エンジン６１２は、検索を実行し（ブロック６３６）、検索結果をレゾルバ６１０に戻す（ブロック６３８）。レゾルバ６１０は、レゾルバ６１０に見えないとしても、他の元のユーザ検索へのトレースバックを保持する受信時のオブジェクト本体を含むタプルオブジェクトに検索結果を組み込む（ブロック６４０）。結果オブジェクトをプレースすることに加えて、レゾルバ６１０は、タプルサーバ６０８によって維持されるスペースにプレースされた結果／ビッドオブジェクト６４４を形成するために予約(bespeak)ビッドを含めることができる（６４２）。
【００６５】
ゲートウェイ６０６は、検索結果をマッチングし、スペースにプレースされた他の検索結果オブジェクトとともにオブジェクト６４４をスペースから削除する（ブロック６４６）。検索ゲートウェイ６０６は、オブジェクト本体と相関する１つまたは複数の検索結果オブジェクトから検索結果を収集するために、オブジェクト６４４を開く（ブロック６４８）。ビッドが含まれるインスタンスの場合、この情報は、検索結果を格付けおよび／またはランク付けするために、ならびに落札されたビッドについてビッダーに課金するために利用される（ブロック６５０）。ポータル６０４は、ランク付けされた検索結果をユーザに戻す（ブロック６５２）。
【００６６】
図５では、分散型検索からの検索結果の集収は、サードパーティ（たとえば、検索エンジン、広告主など）による結果格付けビッドのための方法７００を組み込むことによってさらに強化できる。ブロック７０２において、ユーザ検索クエリを受信する。ブロック７０４において、ユーザを認証する。ブロック７０６において、検索記述子を形成する。たとえば、検索クエリ用語は、正確なフレーズ、一定の近接度内の論理的組合せ、クエリに明示的に追加される複数形、クエリに追加される類義語などとして論理的に定義できる。検索結果についてユーザの好みを推定するためにユーザのいくつかの分類を追加することができる。有利には、ブロック７０８において、これらのユーザデモグラフィックスはさらに、検索結果配置のための要請されたビッドの一部とすることができる。検索が予測されたユーザの好みまたは期待で改良されるだけでなく、検索結果のプロバイダまたは他のサードパーティは、リストの一番上に、またはリストの一番上への指定された近接度内に特定の検索結果を配置するために値にビッドすることができる。
【００６７】
ブロック７１０において、ユーザおよび／またはクライアントデバイスの固有の識別を可能にする情報は、非公開にされ、検索結果の後続の返答のためにセキュアなオブジェクト本体に追加される。次いで、ブロック７１２において、検索オブジェクトをＬｉｎｄａタイプ分散型スペース（「タプルスペース」）にプレースする。次いで、ブロック７１４において、事業者の検索ゲートウェイは、結果に対してタプルスペースを監視することができる。ブロック７１６において、検索結果オブジェクトの検索記述子に対してタプルのマッチが見つかると、次いで、タプルスペースから検索結果オブジェクトを削除する７１８。その後、ブロック７２０において、検索結果を待つための時間が満了したかどうかに関するさらなる判断を行う。この時間満了は、結果が検出されなかった場合に指定されるより長い継続時間、および少なくとも１つの結果オブジェクトが検出された場合に指定されるより短い継続時間をもつ範囲とすることができる。ブロック７２０において満了しなかった場合、処理はブロック７１６に戻る。ブロック７２０において満了した場合、ブロック７２２において、ユーザ検索の結果を収集する。
【００６８】
ビッドに関連する結果について、ブロック７２４において、ビッドを検証する。検証は、以下の検査のうちの１つまたは複数を備えることができる。第１に、プリクオリフィケーション(prequalification)リストにより、評判が悪いエンティティが検索結果ランキングを不適切に左右することを回避するために、ビッドを許可されたエンティティを照合することができる。第２に、基準により、検索クエリとあまり相関しない一定のアイテムが上位に配置されることを排除することができる。たとえば、サードパーティは、靴に関係する何かが靴についてのクエリ中にあったかどうかにかかわらず、靴を買うためのリンクをあらゆるリストの一番上に配置することを望むことがある。そのような偽(spurious)のビッドをフィルタ処理するために、独立した相関を行うか、または信頼できる検索エンジンのリストで十分であるとすることができる。第３に、ユーザ認証により、ユーザの好みを照合して、いくつかのタイプの結果を排除することができる。たとえば、あるユーザは、ビッドに関連する検索結果を受け入れることを望む場合、より低い加入料を受け入れることができる。他のユーザは、検索サービスのためのプレミアム加入料の見返りにビッドに基づくランキング結果を排除することができる。第４に、ビッドは、特に自動化された検索の限定された時間制約内で、落札から排除される前提条件を含むことができる。
【００６９】
次いで、ブロック７２６において、検証されたビッドをランキングのために最適化する。この最適化は、収入最大化を探求するグリーディアルゴリズムによるとすることができる。収入を発生する検索結果を、ディスプレイのある部分に、または、ある計数（たとえば、１〜３リスティング）に制限するために制約を含めることができる。強調のために、落札されたビッドを、リストではなく、広告バナーにおいてなど強調して表示することができる。次いで、ブロック７２８において、将来の課金間隔に対して落札されたビッドが示される。この課金は、ビッドの条件として、またはビッドの値を高めるために、ユーザによってリスティングがアクティブにされるかどうかを反映することができる。本明細書で開示した態様に関して説明した様々な例示的な論理、論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行できる。汎用プロセッサはマイクロプロセッサとすることができるが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることができる。プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装することもできる。さらに、少なくとも１つのプロセッサは、上述のステップおよび／またはアクションの１つまたは複数を実行するように動作可能な１つまたは複数のモジュールを備えることができる。
【００７０】
さらに、本明細書で開示した態様に関して説明した方法またはアルゴリズムのステップおよび／またはアクションは、直接ハードウェアで実施するか、プロセッサによって実行されるソフトウェアモジュールで実施するか、またはその２つの組合せで実施することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサに一体化することができる。さらに、いくつかの態様では、プロセッサおよび記憶媒体はＡＳＩＣ中に常駐することができる。さらに、ＡＳＩＣはユーザ端末中に常駐することができる。代替として、プロセッサおよび記憶媒体は、ユーザ端末中に個別構成要素として常駐することができる。さらに、いくつかの態様では、方法またはアルゴリズムのステップおよび／またはアクションは、コンピュータプログラム製品に組み込むことができる、機械可読媒体および／またはコンピュータ可読媒体上のコードおよび／または命令の１つまたは任意の組合せ、あるいはそのセットとして常駐することができる。
【００７１】
上記の開示は例示的な態様および／またはバージョンについて論じているが、説明された態様および／または添付の特許請求の範囲によって規定される態様の範囲から逸脱することなく、様々な変更および改変を本明細書で行うことができることに留意されたい。さらに、説明した態様および／または態様の要素が単数形で説明または請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。さらに、任意の態様および／または態様の全部または一部は、別段の記述がない限り、任意の他の態様および／または態様の全部または一部とともに利用できる。
【００７２】
上記で説明した例示的なシステムに鑑みて、開示した主題に従って実装できる方法について、いくつかの流れ図を参照しながら説明した。説明を簡単にするために、方法を一連のブロックとして図示および説明したが、いくつかのブロックは本明細書で図示および説明したブロックとは異なる順序で、および／または他のブロックと同時に、行うことができるので、請求された主題はブロックの順序によって限定されないことを理解および諒解されたい。さらに、本明細書に記載の方法を実装するために、図示したすべてのブロックが必要とされるわけではない。さらに、本明細書で開示した方法は、そのような方法をコンピュータに移送および転送することを可能にするために製造品に記憶することが可能であることをさらに諒解されたい。本明細書で使用する製造品という用語は、任意のコンピュータ可読デバイス、キャリア、または媒体からアクセス可能なコンピュータプログラムを包含するものとする。
【００７３】
全体的または部分的に、参照により本明細書に組み込まれると言われる任意の特許、公報、または他の開示資料は、その組み込まれる資料が本開示で説明した既存の定義、記述、または他の開示資料と競合しない限り、本明細書に組み込まれることを諒解されたい。したがって、必要な限り、本明細書で明示的に説明した開示は、参照により本明細書に組み込まれる任意の競合する資料に取って代わる。参照により本明細書に組み込まれると言われるが、本明細書で説明した既存の定義、記述、または他の開示資料と競合する、いかなる資料またはその部分も、その組み込まれる資料と既存の開示資料との間に競合が生じない限り、組み込まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
分散型検索を容易にするための方法であって、
クライアントデバイスから検索クエリを受信することと、
クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れることと、
前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出することと、
前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出することと、
前記検索結果を前記クライアントデバイスに戻すことと
を備える方法。
［Ｃ２］
セルラー電話ネットワークを介して、前記検索クエリを受信することと、前記検索結果を前記クライアントデバイスに戻すこととをさらに備える、Ｃ１に記載の方法。
［Ｃ３］
前記検索オブジェクトを監視するために検索エンジンレゾルバを前記タプルスペースに接続するためのタプルクラスを定義することをさらに備える、Ｃ１に記載の方法。
［Ｃ４］
前記検索オブジェクトに応答してタプルスペースにプレースされた第２の検索結果オブジェクトをタプルマッチングによって検出することと、
前記第２の検索結果オブジェクト中の検索結果と前記ユーザデータとを検出することと、
前記第１の検索結果オブジェクトからの前記検索結果を前記第２の検索結果オブジェクトからの前記検索結果と結合することと、
前記結合された検索結果を前記クライアントデバイスに戻すことと
をさらに備える、Ｃ１に記載の方法。
［Ｃ５］
検索を実行するための要件として前記クライアントデバイスのユーザを認証することをさらに備える、Ｃ１に記載の方法。
［Ｃ６］
検索を実行することに関連する前記クライアントデバイスに対する課金イベントを作成することをさらに備える、Ｃ１に記載の方法。
［Ｃ７］
前記検索記述子に検索制約を加えることをさらに備える、Ｃ１に記載の方法。
［Ｃ８］
クライアントデバイスから前記検索クエリを英数字列として受信することをさらに備える、Ｃ１に記載の方法。
［Ｃ９］
タイマの満了まで追加の検索結果オブジェクトがタプルスペースにプレースされることを待つことをさらに備える、Ｃ１に記載の方法。
［Ｃ１０］
検索結果オブジェクトが検出されない場合、前記タイマを延長することをさらに備える、Ｃ９に記載の方法。
［Ｃ１１］
分散型検索を容易にするように構成された少なくとも１つのプロセッサであって、
クライアントデバイスから検索クエリを受信するための第１のモジュールと、
クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れるための第２のモジュールと、
前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出するための第３のモジュールと、
前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するための第４のモジュールと、
前記検索結果を前記クライアントデバイスに戻すための第５のモジュールと
を備えるプロセッサ。
［Ｃ１２］
分散型検索を容易にするためのコンピュータプログラム製品であって、
クライアントデバイスからの検索クエリを受信することをコンピュータに行わせるための少なくとも１つの命令と、
クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れることを前記コンピュータに行わせるための少なくとも１つの命令と、
前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出することを前記コンピュータに行わせるための少なくとも１つの命令と、
前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出することを前記コンピュータに行わせるための少なくとも１つの命令と、
前記検索結果を前記クライアントデバイスに戻すことを前記コンピュータに行わせるための少なくとも１つの命令と
を備えるコンピュータ可読媒体
を備えるコンピュータプログラム製品。
［Ｃ１３］
分散型検索を容易にするための装置であって、
クライアントデバイスから検索クエリを受信するための手段と、
クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れるための手段と、
前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出するための手段と、
前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するための手段と、
前記検索結果を前記クライアントデバイスに戻すための手段と
を備える装置。
［Ｃ１４］
分散型検索を容易にするための装置であって、
クライアントデバイスから検索クエリを受信するためのポータルと、
クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れるためのゲートウェイと、前記ポータルは、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出し、
前記検索結果を前記クライアントデバイスに戻すための通信構成要素と
を備える装置。
［Ｃ１５］
セルラー電話ネットワークを介して、前記検索クエリを受信し、前記検索結果を前記クライアントデバイスに戻す前記通信構成要素をさらに備える、Ｃ１４に記載の装置。
［Ｃ１６］
前記検索オブジェクトを監視するために検索エンジンレゾルバを前記タプルスペースに接続するためのタプルクラスを定義する前記ゲートウェイをさらに備える、Ｃ１４に記載の装置。
［Ｃ１７］
前記検索オブジェクトに応答してタプルスペースにプレースされた第２の検索結果オブジェクトをタプルマッチングによって検出し、前記第２の検索結果オブジェクト中の検索結果と前記ユーザデータとを検出し、前記第１の検索結果オブジェクトからの前記検索結果を前記第２の検索結果オブジェクトからの前記検索結果と結合する前記ゲートウェイと、
前記結合された検索結果を前記クライアントデバイスに戻す前記通信構成要素と
をさらに備える、Ｃ１４に記載の装置。
［Ｃ１８］
検索を実行するための要件として前記クライアントデバイスのユーザを認証する前記ゲートウェイをさらに備える、Ｃ１４に記載の装置。
［Ｃ１９］
検索を実行することに関連する前記クライアントデバイスに対する課金イベントを作成する前記ゲートウェイをさらに備える、Ｃ１４に記載の装置。
［Ｃ２０］
前記検索記述子に検索制約を加える前記ゲートウェイをさらに備える、Ｃ１４に記載の装置。
［Ｃ２１］
前記検索クエリを英数字列として受信する前記ポータルをさらに備える、Ｃ１４に記載の装置。
［Ｃ２２］
タイマの満了まで追加の検索結果オブジェクトがタプルスペースにプレースされることを待つ前記ゲートウェイをさらに備える、Ｃ１４に記載の装置。
［Ｃ２３］
検索結果オブジェクトが検出されない場合、前記タイマを延長する前記ゲートウェイをさらに備える、Ｃ２２に記載の装置。
［Ｃ２４］
分散型検索を要求するための方法であって、
クライアントデバイスのユーザから検索クエリを受け付けることと、
クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するネットワークに前記検索クエリを送信することと、
前記クライアントデバイス上で前記ユーザに提示するために前記検索結果を前記ネットワークから受信することと
を備える方法。
［Ｃ２５］
セルラー電話ネットワークを介して、前記検索クエリを送信することと、前記検索結果を受信することとをさらに備える、Ｃ２４に記載の方法。
［Ｃ２６］
前記検索オブジェクトを監視するために検索エンジンレゾルバを前記タプルスペースに接続するためのタプルクラスを定義する前記ネットワークに前記検索クエリを送信することをさらに備える、Ｃ２４に記載の方法。
［Ｃ２７］
前記検索オブジェクトに応答してタプルスペースにプレースされた第２の検索結果オブジェクトをタプルマッチングによって検出し、前記第２の検索結果オブジェクト中の検索結果と前記ユーザデータとを検出し、前記第１の検索結果オブジェクトからの前記検索結果を前記第２の検索結果オブジェクトからの前記検索結果と結合し、前記結合された検索結果を前記クライアントデバイスに戻す前記ネットワークに前記検索クエリを送信することをさらに備える、Ｃ２４に記載の方法。
［Ｃ２８］
検索を実行するための要件として前記クライアントデバイスのユーザを認証する前記ネットワークに前記検索クエリを送信することをさらに備える、Ｃ２４に記載の方法。
［Ｃ２９］
検索を実行することに関連する前記クライアントデバイスに対する課金イベントを作成する前記ネットワークに前記検索クエリを送信することをさらに備える、Ｃ２４に記載の方法。
［Ｃ３０］
前記検索記述子に検索制約を加える前記ネットワークに前記検索クエリを送信することをさらに備える、Ｃ２４に記載の方法。
［Ｃ３１］
前記検索クエリを英数字列として受信することをさらに備える、Ｃ２４に記載の方法。
［Ｃ３２］
タイマの満了まで追加の検索結果オブジェクトがタプルスペースにプレースされることを待つ前記ネットワークに前記検索クエリを送信することをさらに備える、Ｃ２４に記載の方法。
［Ｃ３３］
検索結果オブジェクトが検出されない場合、前記タイマを延長する前記ネットワークに前記検索クエリを送信することをさらに備える、Ｃ３２に記載の方法。
［Ｃ３４］
分散型検索を要求するように構成された少なくとも１つのプロセッサであって、
クライアントデバイスのユーザからの検索クエリを受け付けるための第１のモジュールと、
クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するネットワークに前記検索クエリを送信するための第２のモジュールと、
前記クライアントデバイス上で前記ユーザに提示するために前記検索結果を前記ネットワークから受信するための第３のモジュールと
を備えるプロセッサ。
［Ｃ３５］
分散型検索を要求するためのコンピュータプログラム製品であって、
クライアントデバイスのユーザからの検索クエリを受け付けることをコンピュータに行わせるための少なくとも１つの命令と、
クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するネットワークに前記検索クエリを送信することを前記コンピュータに行わせるための少なくとも１つの命令と、
前記クライアントデバイス上で前記ユーザに提示するために前記検索結果を前記ネットワークから受信することを前記コンピュータに行わせるための少なくとも１つの命令とを備えるコンピュータ可読媒体
を備えるコンピュータプログラム製品。
［Ｃ３６］
分散型検索を要求するための装置であって、
クライアントデバイスのユーザから検索クエリを受け付けるための手段と、
クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するネットワークに前記検索クエリを送信するための手段と、
前記クライアントデバイス上で前記ユーザに提示するために前記検索結果を前記ネットワークから受信するための手段と
を備える装置。
［Ｃ３７］
分散型検索を容易にするための装置であって、
クライアントデバイスのユーザから検索クエリを受信するためのユーザインターフェースと、
クライアントデバイスからの検索クエリから生成された検索記述子を含んでおり、検索結果を前記クライアントデバイスに戻すために十分なユーザデータを非公開で備えるオブジェクト本体を含んでいる検索オブジェクトをタプルスペースに入れ、前記検索オブジェクトに応答して前記タプルスペースにプレースされた検索結果オブジェクトをタプルマッチングによって検出し、前記検索結果オブジェクト中の検索結果と前記ユーザデータとを検出するネットワークに前記検索クエリを送信するための通信構成要素と、
前記クライアントデバイス上で前記ユーザに提示するために前記ネットワークによって戻された前記検索結果を受信するためのユーザインターフェースと
を備える装置。
［Ｃ３８］
セルラー電話ネットワークを介して、前記検索クエリを受信し、前記検索結果を前記クライアントデバイスに戻す前記通信構成要素をさらに備える、Ｃ３７に記載の装置。
［Ｃ３９］
前記検索オブジェクトを監視するために検索エンジンレゾルバを前記タプルスペースに接続するためのタプルクラスを定義する前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、Ｃ３７に記載の装置。
［Ｃ４０］
前記検索オブジェクトに応答してタプルスペースにプレースされた第２の検索結果オブジェクトをタプルマッチングによって検出し、前記第２の検索結果オブジェクト中の検索結果と前記ユーザデータとを検出し、前記第１の検索結果オブジェクトからの前記検索結果を前記第２の検索結果オブジェクトからの前記検索結果と結合し、前記結合された検索結果を前記クライアントデバイスに戻す前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、Ｃ３７に記載の装置。
［Ｃ４１］
検索を実行するための要件として前記クライアントデバイスのユーザを認証する前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、Ｃ３７に記載の装置。
［Ｃ４２］
検索を実行することに関連する前記クライアントデバイスに対する課金イベントを作成する前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、Ｃ３７に記載の装置。
［Ｃ４３］
前記検索記述子に検索制約を加える前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、Ｃ３７に記載の装置。
［Ｃ４４］
前記検索クエリを英数字列として受信する前記ユーザインターフェースをさらに備える、Ｃ３７に記載の装置。
［Ｃ４５］
タイマの満了まで追加の検索結果オブジェクトがタプルスペースにプレースされることを待つ前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、Ｃ３７に記載の装置。
［Ｃ４６］
検索結果オブジェクトが検出されない場合、前記タイマを延長する前記ネットワークに前記検索クエリを送信する前記通信構成要素をさらに備える、Ｃ４５に記載の装置。
【図１】
0005442726.tif 000002
【図２】
0005442726.tif 000003
【図３】
0005442726.tif 000004
【図４】
0005442726.tif 000005
【図５】
0005442726.tif 000006