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