JP2013127798A - 分散型システム中に配置されたサービスオブジェクトのためのユーザインターフェース - Google Patents

分散型システム中に配置されたサービスオブジェクトのためのユーザインターフェース Download PDF

Info

Publication number
JP2013127798A
JP2013127798A JP2013005539A JP2013005539A JP2013127798A JP 2013127798 A JP2013127798 A JP 2013127798A JP 2013005539 A JP2013005539 A JP 2013005539A JP 2013005539 A JP2013005539 A JP 2013005539A JP 2013127798 A JP2013127798 A JP 2013127798A
Authority
JP
Japan
Prior art keywords
tuple
service
client device
data
space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013005539A
Other languages
English (en)
Other versions
JP5591962B2 (ja
Inventor
kelly jackson Bruce
ブルース・ケリー・ジャクソン
Leslie Caunter Mark
マーク・レスリー・カウンター
Geach Steven
スティーブン・ギーチ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/141,478 external-priority patent/US20090063423A1/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2013127798A publication Critical patent/JP2013127798A/ja
Application granted granted Critical
Publication of JP5591962B2 publication Critical patent/JP5591962B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】モバイル通信デバイス等のクライアントデバイスに対しての分散検索を実行すると共に、商品の推奨サービスを実施する。
【解決手段】JAVA(登録商標)等を用いて、分散型のコンピュータネットワークを構成し、クライアントデバイスに常駐するクライアントアプリケーションは、サービスについてタプルスペースを検査し、サービスを発見し、次いで選択されたサービスオブジェクトに埋め込まれたユーザインターフェースコードをロードし、実行し、サービスが何を行うか、またはそれがどうのように機能するかについての必要とされる事前知識なしにユーザがサービスと対話することを可能にする。更に、検索結果商品に対しての格付けを示す。
【選択図】図1

Description

説明する態様は、インタラクティブな作業領域およびユビキタスコンピューティングに関する。より詳細には、態様は、分散型システム中に配置されたサービスオブジェクトに容易にインターフェースする異種コンピューティングプラットフォームの集団のためのインフラストラクチャに関する。
限定はしないが、インターネットなどの分散型コンピュータシステムは、異なるかつ地理的に多様なプロセッサの大きいアレイ上で同時に実行している多くの異なるプロセス間の高速のリアルタイム交換によって特徴づけられる。分散型コンピュータシステムのリソースは通常空間的に分離され、そのアプリケーションの実行はしばしば、時間的に広く分離され得る複数の実行スレッドを含む。
クライアントデバイスのユーザの集団のための事業者は、競争的な発展しつつある通信市場において競合している。特に分散型コンピュータシステム上で、様々なサービスに対するユーザの期待を満たすことは困難である。しばしば、ユーザの期待は、検索などの好ましいサービスプロバイダが異なるという点で互いに異なる。さらに、これらのサービスへのアクセスを阻むプロプライエタリインターフェースを用いた分散型ネットワークの異なるノードにおいて、いくつかのタイプのコンテンツを隔離することができる。
クライアントデバイスは、それらの主要な目的として通信機能をもつ、または接続性を延長するためにワイヤレス通信機能を有するモバイルにますますなりつつある。エンドユーザは、これらのモバイル通信デバイスを用いて、以前は端末、ワークステーション、および汎用コンピュータの領域であったサービスにアクセスすることを望む。汎用コンピューティングを対象とする後者のデバイスは、標準化に向かうか、または少なくとも広範囲の使用環境に適応する傾向がある。対照的に、モバイル通信デバイスは、経済的製造、小型および延長されたバッテリ耐用年数を優先し、処理能力ではなくワイヤレス通信にパフォーマンスを集中して発展している。さらに、ブロードキャスト帯域およびプロトコルの進化は、通信チップセットの普及を助長する傾向がある。したがって、特に汎用コンピュータのユーザのためのより大きい現在の市場に比較して、モバイル通信デバイスのユーザへの様々なサービスの提供が制限されている。
いくつかの障害が、従来の汎用コンピュータと同様にモバイル通信デバイスにサービスを展開する課題に対処することを妨げる。モバイル通信デバイスへの通信帯域幅は汎用コンピュータへのブロードバンドチャネルに比較してしばしば制限され、様々なサービスのためにモバイル通信デバイスを適切に構成するためにインターフェースソフトウェアをダウンロードすることを妨げる。しばしば、モバイル通信デバイスのユーザインターフェースは、サイズ、限定的なディスプレイサイズ、および提示できる制御ボタンの数が厳しく制限され、そのような構成をさらに複雑にする。その上、多くのユーザは、そのような集中型対話に適さない状況(たとえば、移動中)においてモバイル通信デバイスを利用する傾向がある。
以下で、本開示のいくつかの態様の基本的理解を与えるために、簡略化された概要を提示する。この概要は、包括的な概観ではなく、主要なまたは重要な要素を識別するものでも、そのような態様の範囲を定めるものでもない。その目的は、後で提示するより詳細な説明の導入として、説明する態様のいくつかの概念を簡略化された形態で提示することである。
1つまたは複数の態様およびその対応する開示に従って、疎結合分散型ネットワークを介してサービスにアクセスするためのモバイル通信デバイスなどのクライアントデバイスの使用に関して、様々な特徴について説明する。
一態様では、方法は、タプルスペース内でデータタプルを受け取ることによって、クライアントデバイスの集団にサービスを提供する。データタプルは、クライアントデバイスの所定の構成を表すデータ属性と、サービスを見つけ出す(locate)ためのサービス要求属性とを備える。タプルスペース内に配置されたサービスタプルはデータタプルを監視する。サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備える。クライアントデバイスがサービスタプルに関連するサービスにアクセスするために、クライアントデバイス上で実行するためのサービスインターフェースオブジェクトがサービスオブジェクトからデータタプルに与えられる。
他の態様では、少なくとも1つのプロセッサは、サービス提供方法を実行するためのモジュールを含む。コンピュータプログラム製品は、サービス提供方法を実行するための命令のセットを含む。装置は、サービス提供方法を実行するための手段を提供する。
別の態様では、装置は、サービスを見つけ出すためのデータタプルを受け取るタプルスペースを用いてクライアントデバイスの集団にサービスを提供する。データタプルは、クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備える。サービスタプルは、タプルスペース内に配置されたデータタプルを監視する。サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備える。サービスタプルに関連するサービスにアクセスするためにクライアントデバイス上で実行するための、サービスインターフェースオブジェクトがタプルスペースからデータタプルに与えられる。
さらなる追加の態様では、クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスする方法は、サービスを見つけ出すためにデータタプルをタプルスペースに送信することを含む。データタプルは、クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備える。タプルスペースは、複数のクライアントデバイス構成属性とサービス要求属性とを備えるサービスタプルによって監視される。サービスタプルに関連するサービスにアクセスするためにクライアントデバイス上で実行するための、サービスオブジェクトからのサービスインターフェースオブジェクトがデータタプルを介して受け取られる。
他の態様では、少なくとも1つのプロセッサは、サービス要求方法を実行するためのモジュールを含む。コンピュータプログラム製品は、サービス要求方法を実行するための命令のセットを含む。装置は、サービス要求方法を実行するための手段を提供する。
またさらなる態様では、装置がクライアントデバイスを介して分散型ネットワーク上でサービスにアクセスする。通信構成要素は、クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備えるデータタプルを送信する。データタプルは、データタプルを監視するための複数のクライアントデバイス構成属性とサービス要求属性とを備えるサービスタプルを含んでいるタプルスペースによって受け取られる。ユーザインターフェースは、サービスタプルに関連するサービスにアクセスするためにクライアントデバイス上で実行するための、タプルスペースからデータタプルへのサービスインターフェースオブジェクトを受け取る。
上記および関連する目的を達成するために、1つまたは複数の態様は、以下で十分に説明し、特に特許請求の範囲で指摘する特徴を備える。以下の説明および添付の図面は、いくつかの例示的な態様を詳細に記載し、本態様およびバージョンの原理が使用できる様々な方法のほんのいくつかを示すものである。他の利点および新規の特徴は、図面とともに以下の詳細な説明を検討すると明らかになり、開示するバージョンは、すべてのそのような態様およびそれらの均等物を含むものとする。
分散型ネットワークサービスにインターフェースするためのシステムの一態様の概略図。 図1のデータタプルの一態様の概略図。 図1のインターフェース検索サービスタプルの一態様の概略図。 図1の格付けサービスタプルの一態様の概略図。 図1のシステムを用いて動作可能な通信ネットワークの一態様の概略図。 一態様による、最適化格付き検索結果が変位している例示的なクライアントデバイスの図。 さらに別の態様による、ユーザコミュニティを管理するための方法の流れ図。
サービスオブジェクトユーザインターフェースは、サービスタプルにタプルスペースインターフェース属性を与えることによって、いくつかの異なるタイプのクライアントデバイス、特にハンドヘルド通信デバイスに応答する。それによって、動的に変化するサービス(たとえば、検索エンジン、オンラインショッピング、メディアコンテンツ選択など)およびクライアントデバイスの集団を、疎結合分散型システム内にさえ適応させることができる。タプルスペース内でインターフェースすることを容易にすることによって、クライアントデバイスにおける不都合な構成は回避され、Java(登録商標)クラス、uiOne(商標)trig、Flash(商標)マルチメディア、および/または他の発展しつつあるプロトコルに基づいて代替ユーザインターフェースを包含するために、コンピュータプラットフォーム独立性を拡張する。
本出願で使用する「構成要素」、「モジュール」、「システム」などの用語は、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなど、コンピュータ関連のエンティティを指すものとする。たとえば、構成要素は、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータとすることができるが、これらに限定されない。例として、サーバ上で実行されるアプリケーションと、そのサーバの両方を構成要素とすることができる。1つまたは複数の構成要素がプロセスおよび/または実行スレッド内に常駐することができ、1つの構成要素を1つのコンピュータ上にローカライズし、および/または2つ以上のコンピュータ間に分散することができる。
「例示的」という単語は、本明細書では、例、事例、または例示の働きをすることを意味するために使用する。「例示的」として本明細書で説明するいかなる態様または設計も、必ずしも他の態様または設計よりも好ましいまたは有利なものと解釈すべきではない。
さらに、標準的なプログラミングおよび/またはエンジニアリング技法を使用して、開示する態様を実装するようにコンピュータを制御するためのソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを生成する方法、装置、または製造品として1つまたは複数の態様を実装することができる。本明細書で使用する「製造品」(または代替的に「コンピュータプログラム製品」)という用語は、任意のコンピュータ可読デバイス、キャリア、または媒体からアクセス可能なコンピュータプログラムを包含するものとする。たとえば、コンピュータ可読媒体は、磁気記憶デバイス(たとえば、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップなど)、光ディスク(たとえば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)など)、スマートカード、およびフラッシュメモリデバイス(たとえば、カード、スティックなど)を含むことができるが、これらに限定されない。さらに、電子メールを送信および受信する際またはインターネットもしくはローカルエリアネットワーク(LAN)などのネットワークにアクセスする際に使用されるもののような、コンピュータ可読電子データを搬送するために搬送波を使用できることを諒解されたい。もちろん、開示する態様の範囲から逸脱することなく、この構成に対して多数の改変を行うことができることを当業者ならば認識するであろう。
様々な態様を、いくつかの構成要素やモジュールなどを含むことができるシステムに関して提示する。様々なシステムは、追加の構成要素やモジュールなどを含んでもよく、および/または各図に関連して論じる構成要素やモジュールなどのすべてを含まなくてもよいことを理解および諒解されたい。これらの手法の組合せを使用することもできる。本明細書で開示する様々な態様は、タッチスクリーンディスプレイ技術および/またはマウスおよびキーボードタイプインターフェースを利用するデバイスを含む、電気デバイス上で実行できる。そのようなデバイスの例は、コンピュータ(デスクトップおよびモバイル)、スマートフォン、携帯情報端末(PDA)、およびワイヤードとワイヤレスの両方の他の電子デバイスを含む。
図1では、分散型システム100は、モバイル通信デバイスなどのクライアントデバイス102が、検索サービスタプル106として示されるサービスを発見するためにタプルスペース104を検査することを可能にする。次いで、検索サービスタプル106からの適切なユーザインターフェースコード(属性)108は、例示的な記述ではクライアントデバイス102上で検索インターフェース108としてロードされ、実行されることができる。それによって、クライアントデバイス102のユーザ110は、サービス(たとえば、(1つまたは複数の)検索エンジンなど)112が何を行うか、またはそれがどうのように機能するかについての必要とされる事前知識なしにサービスタプル106を介して(1つまたは複数の)検索エンジン112として示されるサービスと対話(interact)することができる。
図1〜図4を参照すると、「タプルスペース(tuple space)」は、タプルのグルーピングとして編成された、グローバルに共有され、連想アドレス指定(associatively addressed)されるメモリスペースである。「タプル」は、タプルスペースシステムの基本要素である。Lindaのようなタプルスペースベースの協調言語の文脈では、タプルは、いくつかのタイプのフィールドまたは値を有するベクトルである。より広い意味では、「タプル」は、情報記憶システム中のエントリである。たとえば、関係データベースシステム中の行をタプルと呼ぶことができる。
Lindaのような言語では、「テンプレート」と呼ばれる構成体は、マッチング技法によってタプルを連想アドレス指定するために使用される。テンプレートとタプルが等しい数のフィールドを有する場合、および各テンプレートフィールドが対応するタプルフィールドにマッチする場合、テンプレートはタプルにマッチする。
タプルスペースベースの協調言語は、プロセス間通信および同期のための単純であるが、強力な機構を与え、それは並列および分散型プログラミングの核心である。共有するデータをもつプロセスは、タプルを生成し、それをタプルスペースにプレースする。データを必要とするプロセスは、単にタプルをタプルスペースから要求する。タプルスペースプログラムは以下を含むいくつかの理由により、書込みおよび維持がより容易である。
(1)宛先分離(完全匿名通信) タプルの作成者は、そのタプルまたはその宛先の将来の使用に関する知識を必要としない。
(2)スペース分離 タプルが連想アドレス指定方式を使用して取り出されるので、複数のアドレススペース独立(disjoint)プロセスが同様にしてタプルにアクセスすることができる。
(3)時間分離 タプルは、それらを生成したプロセスまたはそれらを読み取ることができるプロセスとは無関係に、それら自体の寿命を有する。これは、時間独立プロセスがシームレスに通信することを可能にする。
タプルスペースの実装形態は、「クローズ」または「オープン」のいずれかとすることができる。クローズ実装形態は、高度に効率的なクローズにされたプログラムを与えるためにオブジェクトおよびソースコードのコンパイル時間分析を使用する。オープン実装形態は、任意の事前知識を必要とするランタイムシステムなしで、タプルスペースによってプロセス、エージェント、およびプログラムが協調することを可能にする。本質的に、オープン実装形態は持続的(persistent)データストアを与える。
Linda言語は、3つの標準命令またはプリミティブを使用する。これらは、以下の通りである(インフォーマルな動作(semantics)とともに)。
(1)out(tuple)タプルをタプルスペースに挿入する。
(2)in(template)テンプレートにマッチするタプルが存在する場合、タプルを削除し、それをinを実行しているエージェントに戻す。マッチするタプルが利用可能ではない場合、マッチするタプルが利用可能になるまで、プリミティブはブロックする。
(3)rd(template)テンプレートにマッチするタプルが存在する場合、タプルのコピーをrdを実行したエージェントに戻す。マッチするタプルがない場合、マッチするタプルが利用可能になるまでプリミティブはブロックする。
タプルスペース104はデータリポジトリを備え、サービスタプル106、クライアントデバイス102によってタプルスペース104にプレースされた検索データタプル114、および結果格付けサービスタプル118の各々は、タプルタイプ120とタプル属性122とを備えるデータの順序(ordered)セットを有するオブジェクトを備える。さらに、タプル属性122は、タプルタイプ120に応じて変化することができる。タプルスペース104は、データオブジェクト、たとえばタプル114を受け取るように動作可能な抽象的なスペースを備え、スペース内で実行できる動作の所定のセットを含む。たとえば、関数(function)の所定のセットは「in」関数および「rd」関数を含むことができ、両方とも、与えられると入力パラメータをタプルスペース内に存在する値とマッチングさせることによってスペース中の特定のタプルの選択を可能にする入力パラメータをとる。さらに、「in」関数と「rd」関数の両方は、非ブロッキングの同等物(inpおよびrdp)を有することができる。いくつかの態様では、関数の所定のセットは、タプルスペース104とタプル114の両方に対して実行できるJAVAメソッドなど、動作のセットを含むことができる。
さらに、特定の例では、各タプル114は、com.qualcomm.qspaces.linda.Tupleクラスまたはサブクラスのインスタンスであり、タプルが構成されるときに指定されるオブジェクトのアレイによって定義される属性122のセットとともに作成される。アレイは長さ0(zero-length)とすることができるが、いくつかの態様では、アレイはヌルではないとすることができる。さらに、いくつかの態様では、アレイ中の個々の属性オブジェクトのいずれもヌルではないとすることができる。
いくつかの態様では、タプル114が最初に構成されたとき、およびそれぞれの属性122がそれぞれのタプルから取り出されるたびに、オブジェクトのアレイは、極めて速い形態のインメモリシリアライゼーション(in-memory serialization)を使用して防御的にコピーできる。このプロセスは、タプル114が不変(immutable)であることを可能にし、したがって、タプル114が存在するタプルスペース104の完全性を保証する。
上記の態様では、タプル等式は、t1.equals(t2)の場合、t2.equals(t1)であることを記述する対称則を含む、任意のJAVAオブジェクトの同じ等式原理に準拠する。
詳細には、テンプレートとして知られるt2が以下の基準を満たす場合、たとえば、t1.equals(t2)であって、タプルは別のタプルに等しい。
1)テンプレートt2のクラス120は、タプルt1と同じクラス120である。
2)テンプレートt2の属性122は、タプルt1の属性122に等しい。これは、それらの順序にかかわらず、t2の属性122がt1の属性122と同じであることを意味する。
他の態様では、テンプレートとして知られるt2が以下の基準を満たす場合、たとえば、t1.matches(t2)であって、タプルは別のタプルにマッチする。
1)テンプレートt2のクラス120は、タプルt1の同じクラス120またはスーパークラス(super class)である。
2)テンプレートt2の属性122は、タプルt1の属性122にマッチする。これは、それらの順序にかかわらず、t2の属性122がt1の属性122と同じセットまたはサブセットであることを意味する。
あるタプルを別のタプルとマッチングするとき、対称則は当てはまらない。したがって、t1.matches(t2)は、必ずしもt2.matches(t1)に等しくない。
いくつかの態様では、タプル属性122のあるセットと別のセットとの比較は、通常のオブジェクト等式規則を使用し、したがってタプル属性122として使用される任意のオブジェクトは、object.equals(Object obj)およびobject.hashcode()メソッドを実装することができる。
タプル114が、リース124とともにタプルスペース104に加えられる(図2〜図4)。リース124は時間期間であり、たとえばミリ秒単位で指定され、タプルがどれくらいそれぞれのタプルスペース104中に存続するかについて定義する。たとえば、0の値を有するリース124は、それぞれのタプルが決して満了(expire)しないことを示す。それぞれのタプルについてリース124が満了すると、タプルはタプルスペース104から自動的に削除される。
サービスタプル106は、クライアントデバイス102など、タプルスペース104のクライアントと対話するサービスを表す。さらに、サービスタプル106はまた、それ自体で自律「ライブ(live)」JAVAオブジェクトであり、また、タプルスペース104およびスペース中の他のタプルと対話することができる。サービスタプル106は、たとえば、タプルのクラス120および属性122をマッチングすることによって他のタプルと同様に発見できる。しかしながら、いくつかの態様では、サービスタプル106はこのように使用されず、むしろ、サービスタプル106は、データタプル114など、他のタプルをタプルスペース104にプレースすることによって間接的に対話される。
たとえば、それぞれのクライアントデバイス102など、クライアントは、属性「abc」および「123」をもつクラスAのデータタプル114を作成することができ、そのタプルをタプルスペース104にプレースする。したがって、データタプル114は、以下の表記法を使用して記述できる。
(A,‘‘abc’’,123)。
サービスタプル106は、クライアントアプリケーションと同様の方法でタプルスペース104と対話することができるライブオブジェクトである。したがって、この例では、サービスタプル106はインスタンス化(instantiated)されており、クラスAおよび任意の属性についてマッチするテンプレート44をもつ任意のタプルに対するタプルスペース104からの読取りに関してブロックする。そのようなマッチング基準は次のように記述できる。
(A,?s,?x)
ただし、?sおよび?xは、ストリングsおよび整数xの任意の値がマッチングされることを意味する。したがって、タプルスペース104は、サービスタプル106からのテンプレートをマッチングし、次いでタプルスペース104からタプルAを読み取る。このようにして、説明された態様は、タプルの形態でパラメータをサービスにパスする。
さらに、システム100において、ユーザインターフェースを表すオブジェクトをサービスオブジェクト自体に埋め込むことが可能である。実際、図3では、異なるタイプのいくつかのユーザインターフェースオブジェクトを、単一のサービスオブジェクトにプレースすることができる。
以下のユーザインターフェースサービスタプルについて考える。
(A,[Java],[Flash],[uiOne])
検索サービスタプル106は、(たとえば、JAVA(商標)で定義される)ユーザインターフェースA属性126、(たとえばADOBEFLASHで定義される)ユーザインターフェースB属性128および(たとえば、カリフォルニア州サンディエゴのQUALCOMM社によって開発されたuiOne(商標)技術で定義される)ユーザインターフェースC 130として示される3つのユーザインターフェースオブジェクトを含んでいる。モビリティの文脈では、本態様は、画面サイズまたは他のデバイス固有の性質についての最適化を随意に含み、Java、FlashまたはuiOneなどの異なる技術、あるいはさらに単一の技術の複数の変形態のサポートに関するかどうかにかかわらず、各々それ自体の固有の要件をもつ多種多様なワイヤレスデバイスにわたってサービスの提供を使用可能にする。このようにして、それぞれのクライアントデバイス(および対応するアプリケーション)102および/またはシステム100の他の当事者は、ユーザインターフェースサービスオブジェクトを見つけ出し、次いでそこからユーザインターフェース構成要素をロードすることが可能である。
再び図1を参照すると、データタプル114は、ワイヤレスデバイスなど、それぞれのクライアントデバイス102によって直接、あるいは代わりにクライアントデバイスが対話するサービス、またはクライアントデバイス102と対話しているサービスに接続されたサービスなど、データソース132によってタプルスペース104にプレースできる。たとえば、クライアントデバイス102は、セルラー電話、衛星電話、PDA、ラップトップコンピュータなど、任意のタイプのコンピュータ化されたワイヤレスデバイスとすることができる。さらに、データソース132は、商品および/またはサービスを販売するように動作可能なインターネットまたはウェブベースの店舗など、トランザクションサービスを備えることができる。したがって、データタプル114は、1つまたは複数のクライアントデバイス102と1つまたは複数のトランザクションサービスとの間のそのようなトランザクションを表すことができる。このようにして、データタプル114は、分散型疎結合ネットワーク中の一般に無関係なサービスからなど、多種多様なデータソース132からタプルスペース104にプレースできる。
図2〜図3をさらに参照すると、検索データタプル114は、いくつかのサービスを実行する許可または特権を判断するために、サービスタプル106によって使用されるユーザ関連データ134などの属性を含むことができる。クライアントデバイスタイプ属性136は、ユーザインターフェースC 130などのインターフェース構成要素とマッチングすることができる。検索属性138を与えて検索サービスタプル106の検索属性140とマッチングし、完了したとき、データタプル114の検索結果属性142はサービスタプル106の検索結果属性144とマッチングする。
図4では、格付けサービスタプル118は、有利には、検索サービスタプル106から検索結果を受信するために検索結果属性145を含むことによって格付けおよび/またはランク付けをサポートする。格付けサービスタプル118は、(1つまたは複数の)広告インターフェース属性148によってタプルスペース104中のそれらのそれぞれのタプル(図示せず)にリンクされる様々な広告主146(図1)によるビッドの結果を発信する。格付け収入最適化オブジェクト150は、結果属性の格付け152を生成するために受信したビッドを最適化する。
図1に戻ると、ユーザによる使用および/または広告主146からの落札されたビッドは、検索/格付け追跡エンティティ158によってタプルスペース104にプレースされた格付け追跡データタプル156にマッチする追跡属性154(図4)に反映できる。
したがって、格付けサービス118にインターフェースを与えることに加えて、一例では、この格付けサービス118はインターネット製品推奨サービスを備える。検索サービス106は、スペース104にプレースされた検索タイプタプル114をマッチングし、読み取るように構成される。格付けサービス118は、検索結果Aタプル160および検索結果Zタプル162として示される検索結果タイプタプルをマッチングし、読み取るように構成される。最後に、クライアントはスペース104からAの格付けタプル164およびZの格付けタプル166として示されるタイプ格付けのタプルをマッチングし、読み取る。
たとえば、クライアントは、属性「靴」および「黒」とともにタイプ検索のタプル114をスペース104にプレースする。このタプルは検索サービス106によってマッチングされた114であり、次いで検索サービス106は属性を取り出し、それらをインターネット検索エンジン112にパスする。検索エンジン112は、これらの基準にマッチする結果、すなわち、黒い靴を戻す。次いで、検索サービスは、この結果セットを一連の検索結果タプル160、162に構成し、これらのタプル160、162をスペース104にプレースする。
商品格付けサービス118がタイプ検索結果のタプル160、162をマッチングしているので、これらは商品格付けサービス118によってスペースから読み取られ、次いで、これらをインターネット推奨サービス(「広告主」)146にパスする。最後に、結果格付けサービス118(推奨サービス)は、戻された結果セットを取り出し、格付けタプル164、166を構成し、これらをスペース104にプレースする。これらは、クライアントによってマッチングされ、戻される。したがって、基準の初期セット(「黒い靴」)から、タプルスペース104を通して別々のサービスを接続することによって格付けされた検索結果のセットを生成することが可能である。
それによって、タプルスペースの使用は、(1)それぞれ連結された他のメンバーに気づかない、互いに連結された複数のサービスと、(2)様々な技術にわたる複数のユーザインターフェースを与えるサービスとを部分的に与えるために、サービスタプルとタプルマッチングとを活用する。第1の点に関して、検索サービスタプル106が、不要なダイレクトフォローアップを回避するためにクライアントを匿名で無数のサービスとインターフェースすることによって、ユーザプライバシを保持することができる。一態様では、セルラー電話ネットワークを含む通信ネットワーク中にシステム100を実装することができることをさらに諒解されたい。
図5を参照すると、たとえば、通信ネットワーク300は、ネットワークデバイスまたはサーバ308および/または記憶デバイス310および/またはデータソース312を有するワイヤードネットワーク306(たとえばローカルエリアネットワーク、LAN)と通信するためにワイヤレスネットワーク304を利用する1つまたは複数のクライアントデバイス302、この場合、ワイヤレス電話デバイスを含む。ネットワークデバイス/サーバ308および/または記憶デバイス310の一方または両方は、タプルスペース104およびシステム100の上述した構成要素のいくつかの部分を含むことができる。さらにデータソース312は、プロセッサおよびプロセッサと通信しているメモリを含み、メモリは、ウェブベースのトランザクションサービスなど、未知のサービスと容易にインターフェースするように動作可能な任意のデータソースから複数のデータタプルを生成するように動作可能なタプル生成論理を有するタプル生成モジュールを備える。特に、ワイヤレスデバイス102は、タプルスペース104中に置かれた、クライアント識別構成要素322および検索サービスインターフェース324など、常駐アプリケーションとの対話を可能にするアプリケーションプログラミングインターフェース(API)320を介してなど、プロセッサ318と通信しているメモリ316を有するコンピュータプラットフォーム314を含む。
さらに、ネットワークデバイスまたはサーバ308および/または記憶デバイス310および/またはデータソース312は、プロセッサおよびプロセッサと通信しているメモリ、ならびにメモリに記憶され、プロセッサによって実行可能なインターフェース、検索および格付けモジュール(図示せず)を含むことができ、インターフェース、検索および格付けモジュールは、上記のように、タプルスペース104、検索サービスタプル106、および格付けサービスタプル118を備える。ワイヤレスネットワーク304は、キャリアネットワーク326を介してワイヤードネットワーク306に接続される。ネットワークデバイスまたはサーバ308および/または記憶デバイス310および/またはデータソース312は、コミュニティ管理能力および/またはセルラー通信サービスを与えるために望まれる他のネットワーク構成要素とともに通信ネットワーク300上に存在するとすることができる。ネットワークデバイスまたはサーバ308および/または記憶デバイス310および/またはデータソース312は、インターネット、セキュアなLAN、WAN、または他のネットワークなどのデータリンクとすることができるデータリンク328および330を通してキャリアネットワーク326と通信することができる。キャリアネットワーク326は、移動交換センター(MSC)332に送信される(一般にデータパケットである)メッセージを制御する。さらに、キャリアネットワーク326は、インターネットおよび/またはPOTS(簡素な旧式電話サービス)などのネットワーク330によってMSC332と通信する。たとえば、ネットワーク330では、ネットワークまたはインターネット部分はデータを転送し、POTS部分はボイス情報を転送する。MSC332は、データ転送のためのデータネットワークおよび/またはインターネット部分やボイス情報のためのPOTS部分など、別のネットワーク336によって複数の基地局(BTS)334に接続できる。BTS334は最終的に、たとえば、それぞれ符号分割多元接続(CDMA)およびショートメッセージサービス(SMS)あるいは他の無線方法など、所定のボイスサービスおよび/またはデータパケットサービスを使用して、メッセージをワイヤレスにワイヤレス通信デバイス302にブロードキャストする。したがって、通信ネットワーク300は、システム100(図1)と組み合わせて、タプルスペース中のデータオブジェクト間で発見された関係に基づいて電子またはオンラインユーザメディアアクセスの発見、生成および管理を可能にする。
図5は、ワイヤレス通信ネットワークの構成要素と本システムの一態様の要素の相互関係とをより十分に示す代表的な図であることに留意されたい。通信ネットワーク300は、例示的なものにすぎず、ワイヤレス通信デバイス302などのリモートモジュールが互いの間および中で、および/または、限定はしないが、ワイヤレスネットワークキャリアおよび/またはサーバを含むワイヤレスおよび/またはワイヤードネットワークの他の構成要素の間および中で無線で通信するための任意のシステムを含むことができる。
図6では、例示的なモバイル通信デバイス400は、4つのカーソルキー406および選択ボタン408、ならびに左メニューボタン410、中央メニューボタン412および右メニューボタン414とともにダイヤルトーン多機能(DTMF)キーパッド404など物理制御を含むことができるグラフィカルユーザインターフェース(GUI)402を介してインターフェース、検索および格付けサービスにリモートでアクセスし、制御するためのクライアントデバイスとして働くことができる。GUI402は、図示のようにディスプレイ416を含むことができる。代替的に、タッチスクリーン機能をもつディスプレイを使用して、ソフト入力の制御を行うこともできる(図示せず)。ディスプレイ416は、検索タブ420、プレーヤ422タブ、発見(ローカル)タブ424およびリンクタブ426のタブの階層で編成された動的インデックス418を示すことができる。インデックス418は、有料配置Aエントリ428およびBエントリ430の後に無償検索結果Aエントリ432およびBエントリ434が続くランキングを含むことができる。インタラクティブとすることができる広告バナー436は、示されているリストに関係するメディア購買機会または副次的サービスに対応するように有利に選択される。
図7では、インターフェース、検索および格付けサービスのための例示的な方法500が、ブロック502において開始し、クライアントデバイスからの検索データタプルをタプルスペース中で受け取る。ブロック504において、検索サービスは、クライアントデバイスがタプルスペース中のサービスと対話することを可能にするインターフェース属性を与える。ブロック506において、検索要求をサービスタプルから1つまたは複数の検索エンジンにパスし、ブロック508において、検索エンジンが検索結果データタプルをタプルスペースにプレースする。ブロック510において、格付けサービスが検索結果を受信し、ブロック512において、ビッドの結果を広告主にフォワーディングする。ブロック514において、ビッドを受信し、最適化する(たとえば、グリーディアルゴリズムによる収入最大化など)。収入を確保するために、ブロック516において追跡するための格付けデータタプルとしてビッドの落札を報告できる。ブロック518において、格付けされた結果を、インターフェースタイプごとにフォーマッティングし、ブロック520において、クライアントデバイスが取り出すためにタプルスペースにプレースする。
本明細書で開示した態様に関して説明した様々な例示的な論理、論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行できる。汎用プロセッサはマイクロプロセッサとすることができるが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることができる。プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装することもできる。さらに、少なくとも1つのプロセッサは、上述のステップおよび/またはアクションの1つまたは複数を実行するように動作可能な1つまたは複数のモジュールを備えることができる。
さらに、本明細書で開示した態様に関して説明した方法またはアルゴリズムのステップおよび/またはアクションは、直接ハードウェアで実施するか、プロセッサによって実行されるソフトウェアモジュールで実施するか、またはその2つの組合せで実施することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサに一体化することができる。さらに、いくつかの態様では、プロセッサおよび記憶媒体はASIC中に常駐することができる。さらに、ASICはユーザ端末中に常駐することができる。代替として、プロセッサおよび記憶媒体は、ユーザ端末中に個別構成要素として常駐することができる。さらに、いくつかの態様では、方法またはアルゴリズムのステップおよび/またはアクションは、コンピュータプログラム製品に組み込むことができる、機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せ、あるいはそのセットとして常駐することができる。
上記の開示は例示的な態様および/またはバージョンについて論じているが、説明された態様および/または添付の特許請求の範囲によって規定される態様の範囲から逸脱することなく、様々な変更および改変を本明細書で行うことができることに留意されたい。さらに、説明した態様および/または態様の要素が単数形で説明または請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。さらに、任意の態様および/または態様の全部または一部は、別段の記述がない限り、任意の他の態様および/または態様の全部または一部とともに利用できる。
上記で説明した例示的なシステムに鑑みて、開示した主題に従って実装できる方法について、いくつかの流れ図を参照しながら説明した。説明を簡単にするために、方法を一連のブロックとして図示および説明したが、いくつかのブロックは本明細書で図示および説明したブロックとは異なる順序で、および/または他のブロックと同時に、行うことができるので、請求された主題はブロックの順序によって限定されないことを理解および諒解されたい。さらに、本明細書に記載の方法を実装するために、図示したすべてのブロックが必要とされるわけではない。さらに、本明細書で開示した方法は、そのような方法をコンピュータに移送および転送することを可能にするために製造品に記憶することが可能であることをさらに諒解されたい。本明細書で使用する製造品という用語は、任意のコンピュータ可読デバイス、キャリア、または媒体からアクセス可能なコンピュータプログラムを包含するものとする。
全体的または部分的に、参照により本明細書に組み込まれると言われる任意の特許、公報、または他の開示資料は、その組み込まれる資料が本開示で説明した既存の定義、記述、または他の開示資料と競合しない限り、本明細書に組み込まれることを諒解されたい。したがって、必要な限り、本明細書で明示的に説明した開示は、参照により本明細書に組み込まれる任意の競合する資料に取って代わる。参照により本明細書に組み込まれると言われるが、本明細書で説明した既存の定義、記述、または他の開示資料と競合する、いかなる資料またはその部分も、その組み込まれる資料と既存の開示資料との間に競合が生じない限り、組み込まれる。
全体的または部分的に、参照により本明細書に組み込まれると言われる任意の特許、公報、または他の開示資料は、その組み込まれる資料が本開示で説明した既存の定義、記述、または他の開示資料と競合しない限り、本明細書に組み込まれることを諒解されたい。したがって、必要な限り、本明細書で明示的に説明した開示は、参照により本明細書に組み込まれる任意の競合する資料に取って代わる。参照により本明細書に組み込まれると言われるが、本明細書で説明した既存の定義、記述、または他の開示資料と競合する、いかなる資料またはその部分も、その組み込まれる資料と既存の開示資料との間に競合が生じない限り、組み込まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
クライアントデバイスの集団にサービスを提供する方法であって、
タプルスペース内でデータタプルを受け取ることと、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視することと、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えることと
を備える方法。
[C2]
前記サービス要求属性に関連する要求されたサービスを実行することと、
前記クライアントデバイスが受け取るために前記サービスインターフェースオブジェクトに従ってフォーマッティングされたサービス結果タプルを前記サービスタプルによって作成し、前記タプルスペース内に記憶することと
をさらに備える、C1に記載の方法。
[C3]
セルラー電話ネットワークを介して前記クライアントデバイスから前記データタプルを受け取ることをさらに備える、C1に記載の方法。
[C4]
前記タプルスペースにアクセスするために前記クライアントデバイスを登録することをさらに備える、C1に記載の方法。
[C5]
検索を実行することによって前記サービス要求属性に関連する前記要求されたサービスを実行することをさらに備える、C1に記載の方法。
[C6]
バーチャルマシン内で前記クライアントデバイスによって実行可能な前記サービスインターフェースオブジェクトをタプルスペースにプレースすることをさらに備える、C1に記載の方法。
[C7]
クライアントデバイスの集団にサービスを提供するように構成された少なくとも1つのプロセッサであって、
タプルスペース内でデータタプルを受け取るための第1のモジュールと、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視するための第2のモジュールと、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えるための第3のモジュールと
を備えるプロセッサ。
[C8]
クライアントデバイスの集団にサービスを提供するためのコンピュータプログラム製品であって、
タプルスペース内でデータタプルを受け取ることをコンピュータに行わせるための少なくとも1つの命令と、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視することを前記コンピュータに行わせるための少なくとも1つの命令と、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えることを前記コンピュータに行わせるための少なくとも1つの命令と
を備えるコンピュータ可読媒体
を備えるコンピュータプログラム製品。
[C9]
クライアントデバイスの集団にサービスを提供するための装置であって、
タプルスペース内でデータタプルを受け取るための手段と、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視するための手段と、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えるための手段と
を備える装置。
[C10]
クライアントデバイスの集団にサービスを提供するための装置であって、
前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備えるデータタプルを受け取るためのタプルスペースと、
前記タプルスペース内に配置された、前記データタプルを監視するためのサービスタプルと、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するための、前記タプルスペースから前記データタプルに与えられるサービスインターフェースオブジェクトと
を備える装置。
[C11]
要求されたサービスの実行と、前記サービスインターフェースオブジェクトに従ってフォーマッティングされたサービス結果タプルの前記タプルスペース内への作成および記憶とを行わせる前記サービスタプル
をさらに備える、C10に記載の装置。
[C12]
セルラー電話ネットワークを介して前記クライアントデバイスから前記データタプルを受け取る前記タプルスペースをさらに備える、C10に記載の装置。
[C13]
前記タプルスペースにアクセスするために前記クライアントデバイスを登録する前記タプルスペースをさらに備える、C10に記載の装置。
[C14]
検索を実行することによって前記サービス要求属性に関連する前記要求されたサービスを実行する前記サービスタプルをさらに備える、C10に記載の装置。
[C15]
バーチャルマシン内で前記クライアントデバイスによって実行可能な前記サービスインターフェースオブジェクトをタプルスペース中で受け取るタプルスペースをさらに備える、C10に記載の装置。
[C16]
クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスする方法であって、
サービスを見つけ出すためにデータタプルをタプルスペースに送信することと、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、前記タプルスペースは、複数のクライアントデバイス構成属性とサービス要求属性とを備えるサービスタプルによって監視され、
前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルを介して受け取ることと
を備える方法。
[C17]
前記サービス要求属性に関連する要求されたサービスを実行することと、前記クライアントデバイスが受け取るために前記サービスインターフェースオブジェクトに従ってフォーマッティングされたサービス結果タプルを作成し、記憶することとを前記サービスタプルに行わせるための前記データタプルを送信すること
をさらに備える、C16に記載の方法。
[C18]
セルラー電話ネットワークを介して前記クライアントデバイスから前記データタプルを送信することをさらに備える、C16に記載の方法。
[C19]
前記タプルスペースにアクセスするために前記クライアントデバイスを登録するための前記データタプルを送信することをさらに備える、C16に記載の方法。
[C20]
前記タプルスペース内で検索を実行するための前記データタプルを送信することをさらに備える、C16に記載の方法。
[C21]
バーチャルマシン内で前記クライアントデバイスによって実行可能な前記サービスインターフェースオブジェクトを前記タプルスペースから受け取ることをさらに備える、C16に記載の方法。
[C22]
クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスするように構成された少なくとも1つのプロセッサであって、
サービスを見つけ出すためにデータタプルをタプルスペースに送信するための第1のモジュールと、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視するための第2のモジュールと、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えるための第3のモジュールと
を備えるプロセッサ。
[C23]
クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスするためのコンピュータプログラム製品であって、
サービスを見つけ出すためにデータタプルをタプルスペースに送信することをコンピュータに行わせるための少なくとも1つの命令と、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視することを前記コンピュータに行わせるための少なくとも1つの命令と、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するための、前記サービスオブジェクトから前記データタプルへのサービスインターフェースオブジェクトを受け取ることを前記コンピュータに行わせるための少なくとも1つの命令と
を備えるコンピュータ可読媒体
を備えるコンピュータプログラム製品。
[C24]
クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスするための装置であって、
サービスを見つけ出すためにデータタプルをタプルスペースに送信するための手段と、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視するための手段と、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えるための手段と
を備える装置。
[C25]
クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスするための装置であって、
前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備えるデータタプルを送信するための通信構成要素と、前記データタプルは、前記データタプルを監視するための複数のクライアントデバイス構成属性とサービス要求属性とを備えるサービスタプルを含んでいるタプルスペースによって受け取られ、
前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するための、前記タプルスペースから前記データタプルへのサービスインターフェースオブジェクトを受け取り、実行するユーザインターフェースと
を備える装置。
[C26]
要求されたサービスを実行することと、前記サービスインターフェースオブジェクトに従ってフォーマッティングされたサービス結果タプルを作成し、前記タプルスペース内に記憶することとを前記サービスタプルに行わせるための前記データタプルを送信する前記通信構成要素
をさらに備える、C25に記載の装置。
[C27]
セルラー電話ネットワークを介して前記クライアントデバイスから前記データタプルを受け取る前記タプルスペースをさらに備える、C25に記載の装置。
[C28]
前記タプルスペースにアクセスするために前記クライアントデバイスを登録する前記タプルスペースをさらに備える、C25に記載の装置。
[C29]
検索を実行することによって前記サービス要求属性に関連する前記要求されたサービスを実行する前記サービスタプルをさらに備える、C25に記載の装置。
[C30]
バーチャルマシン内で前記サービスインターフェースオブジェクトを実行する前記ユーザインターフェースをさらに備える、C25に記載の装置。

Claims (30)

  1. クライアントデバイスの集団にサービスを提供する方法であって、
    タプルスペース内でデータタプルを受け取ることと、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
    前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視することと、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
    前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えることと
    を備える方法。
  2. 前記サービス要求属性に関連する要求されたサービスを実行することと、
    前記クライアントデバイスが受け取るために前記サービスインターフェースオブジェクトに従ってフォーマッティングされたサービス結果タプルを前記サービスタプルによって作成し、前記タプルスペース内に記憶することと
    をさらに備える、請求項1に記載の方法。
  3. セルラー電話ネットワークを介して前記クライアントデバイスから前記データタプルを受け取ることをさらに備える、請求項1に記載の方法。
  4. 前記タプルスペースにアクセスするために前記クライアントデバイスを登録することをさらに備える、請求項1に記載の方法。
  5. 検索を実行することによって前記サービス要求属性に関連する前記要求されたサービスを実行することをさらに備える、請求項1に記載の方法。
  6. バーチャルマシン内で前記クライアントデバイスによって実行可能な前記サービスインターフェースオブジェクトをタプルスペースにプレースすることをさらに備える、請求項1に記載の方法。
  7. クライアントデバイスの集団にサービスを提供するように構成された少なくとも1つのプロセッサであって、
    タプルスペース内でデータタプルを受け取るための第1のモジュールと、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
    前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視するための第2のモジュールと、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
    前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えるための第3のモジュールと
    を備えるプロセッサ。
  8. クライアントデバイスの集団にサービスを提供するためのコンピュータプログラム製品であって、
    タプルスペース内でデータタプルを受け取ることをコンピュータに行わせるための少なくとも1つの命令と、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
    前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視することを前記コンピュータに行わせるための少なくとも1つの命令と、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
    前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えることを前記コンピュータに行わせるための少なくとも1つの命令と
    を備えるコンピュータ可読媒体
    を備えるコンピュータプログラム製品。
  9. クライアントデバイスの集団にサービスを提供するための装置であって、
    タプルスペース内でデータタプルを受け取るための手段と、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
    前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視するための手段と、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
    前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えるための手段と
    を備える装置。
  10. クライアントデバイスの集団にサービスを提供するための装置であって、
    前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備えるデータタプルを受け取るためのタプルスペースと、
    前記タプルスペース内に配置された、前記データタプルを監視するためのサービスタプルと、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
    前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するための、前記タプルスペースから前記データタプルに与えられるサービスインターフェースオブジェクトと
    を備える装置。
  11. 要求されたサービスの実行と、前記サービスインターフェースオブジェクトに従ってフォーマッティングされたサービス結果タプルの前記タプルスペース内への作成および記憶とを行わせる前記サービスタプル
    をさらに備える、請求項10に記載の装置。
  12. セルラー電話ネットワークを介して前記クライアントデバイスから前記データタプルを受け取る前記タプルスペースをさらに備える、請求項10に記載の装置。
  13. 前記タプルスペースにアクセスするために前記クライアントデバイスを登録する前記タプルスペースをさらに備える、請求項10に記載の装置。
  14. 検索を実行することによって前記サービス要求属性に関連する前記要求されたサービスを実行する前記サービスタプルをさらに備える、請求項10に記載の装置。
  15. バーチャルマシン内で前記クライアントデバイスによって実行可能な前記サービスインターフェースオブジェクトをタプルスペース中で受け取るタプルスペースをさらに備える、請求項10に記載の装置。
  16. クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスする方法であって、
    サービスを見つけ出すためにデータタプルをタプルスペースに送信することと、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、前記タプルスペースは、複数のクライアントデバイス構成属性とサービス要求属性とを備えるサービスタプルによって監視され、
    前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルを介して受け取ることと
    を備える方法。
  17. 前記サービス要求属性に関連する要求されたサービスを実行することと、前記クライアントデバイスが受け取るために前記サービスインターフェースオブジェクトに従ってフォーマッティングされたサービス結果タプルを作成し、記憶することとを前記サービスタプルに行わせるための前記データタプルを送信すること
    をさらに備える、請求項16に記載の方法。
  18. セルラー電話ネットワークを介して前記クライアントデバイスから前記データタプルを送信することをさらに備える、請求項16に記載の方法。
  19. 前記タプルスペースにアクセスするために前記クライアントデバイスを登録するための前記データタプルを送信することをさらに備える、請求項16に記載の方法。
  20. 前記タプルスペース内で検索を実行するための前記データタプルを送信することをさらに備える、請求項16に記載の方法。
  21. バーチャルマシン内で前記クライアントデバイスによって実行可能な前記サービスインターフェースオブジェクトを前記タプルスペースから受け取ることをさらに備える、請求項16に記載の方法。
  22. クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスするように構成された少なくとも1つのプロセッサであって、
    サービスを見つけ出すためにデータタプルをタプルスペースに送信するための第1のモジュールと、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
    前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視するための第2のモジュールと、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
    前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えるための第3のモジュールと
    を備えるプロセッサ。
  23. クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスするためのコンピュータプログラム製品であって、
    サービスを見つけ出すためにデータタプルをタプルスペースに送信することをコンピュータに行わせるための少なくとも1つの命令と、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
    前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視することを前記コンピュータに行わせるための少なくとも1つの命令と、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
    前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するための、前記サービスオブジェクトから前記データタプルへのサービスインターフェースオブジェクトを受け取ることを前記コンピュータに行わせるための少なくとも1つの命令と
    を備えるコンピュータ可読媒体
    を備えるコンピュータプログラム製品。
  24. クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスするための装置であって、
    サービスを見つけ出すためにデータタプルをタプルスペースに送信するための手段と、前記データタプルは、前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備え、
    前記タプルスペース内に配置されたサービスタプルを用いて前記データタプルを監視するための手段と、前記サービスタプルは、複数のクライアントデバイス構成属性とサービス要求属性とを備え、
    前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するためのサービスインターフェースオブジェクトを前記サービスオブジェクトから前記データタプルに与えるための手段と
    を備える装置。
  25. クライアントデバイスを介して分散型ネットワーク上でサービスにアクセスするための装置であって、
    前記クライアントデバイスの所定の構成を表すデータ属性とサービス要求属性とを備えるデータタプルを送信するための通信構成要素と、前記データタプルは、前記データタプルを監視するための複数のクライアントデバイス構成属性とサービス要求属性とを備えるサービスタプルを含んでいるタプルスペースによって受け取られ、
    前記サービスタプルに関連するサービスにアクセスするために前記クライアントデバイス上で実行するための、前記タプルスペースから前記データタプルへのサービスインターフェースオブジェクトを受け取り、実行するユーザインターフェースと
    を備える装置。
  26. 要求されたサービスを実行することと、前記サービスインターフェースオブジェクトに従ってフォーマッティングされたサービス結果タプルを作成し、前記タプルスペース内に記憶することとを前記サービスタプルに行わせるための前記データタプルを送信する前記通信構成要素
    をさらに備える、請求項25に記載の装置。
  27. セルラー電話ネットワークを介して前記クライアントデバイスから前記データタプルを受け取る前記タプルスペースをさらに備える、請求項25に記載の装置。
  28. 前記タプルスペースにアクセスするために前記クライアントデバイスを登録する前記タプルスペースをさらに備える、請求項25に記載の装置。
  29. 検索を実行することによって前記サービス要求属性に関連する前記要求されたサービスを実行する前記サービスタプルをさらに備える、請求項25に記載の装置。
  30. バーチャルマシン内で前記サービスインターフェースオブジェクトを実行する前記ユーザインターフェースをさらに備える、請求項25に記載の装置。
JP2013005539A 2008-06-18 2013-01-16 分散型システム中に配置されたサービスオブジェクトのためのユーザインターフェース Expired - Fee Related JP5591962B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/141,478 2008-06-18
US12/141,478 US20090063423A1 (en) 2007-06-19 2008-06-18 User interfaces for service object located in a distributed system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011514718A Division JP5226865B2 (ja) 2008-06-18 2009-06-12 分散型システム中に配置されたサービスオブジェクトのためのユーザインターフェース

Publications (2)

Publication Number Publication Date
JP2013127798A true JP2013127798A (ja) 2013-06-27
JP5591962B2 JP5591962B2 (ja) 2014-09-17

Family

ID=41165665

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011514718A Expired - Fee Related JP5226865B2 (ja) 2008-06-18 2009-06-12 分散型システム中に配置されたサービスオブジェクトのためのユーザインターフェース
JP2013005539A Expired - Fee Related JP5591962B2 (ja) 2008-06-18 2013-01-16 分散型システム中に配置されたサービスオブジェクトのためのユーザインターフェース

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011514718A Expired - Fee Related JP5226865B2 (ja) 2008-06-18 2009-06-12 分散型システム中に配置されたサービスオブジェクトのためのユーザインターフェース

Country Status (6)

Country Link
EP (2) EP2456172B1 (ja)
JP (2) JP5226865B2 (ja)
KR (1) KR101252954B1 (ja)
CN (2) CN104780236B (ja)
AT (1) ATE555589T1 (ja)
WO (1) WO2009155216A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100405133B1 (ko) * 2001-05-23 2003-11-12 대한민국 다시마 올리고당 함유 음료 및 이의 제조방법
ATE555589T1 (de) * 2008-06-18 2012-05-15 Qualcomm Inc Benutzeroberflächen für ein in einem verteilten system angeordnetes dienstobjekt
CN101840370A (zh) * 2010-04-30 2010-09-22 南京德讯信息系统有限公司 基于组件的服务状态在线检测方法及系统
JP6342014B2 (ja) 2014-04-09 2018-06-13 コンヴィーダ ワイヤレス, エルエルシー サービスイネーブラ機能
CN106909371A (zh) * 2017-01-18 2017-06-30 成都电科致远网络科技有限公司 一种基于移动智能终端的分布式pc系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325895A (ja) * 1996-06-06 1997-12-16 Mitsubishi Electric Corp タプルスペース通信監視装置およびその監視方法
JP2000339323A (ja) * 1999-05-25 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> 文書検索方法、文書検索装置、文書検索システム及び記録媒体
JP2001222551A (ja) * 2000-02-10 2001-08-17 Hitachi Ltd 情報検索方法、および、情報検索システム
JP2003233684A (ja) * 2001-08-03 2003-08-22 Overture Services Inc コンピュータネットワーク検索エンジンにより生成した検索結果リストにおける順位及び対価保護を行うシステム及び方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963947A (en) * 1998-01-27 1999-10-05 International Business Machines Corporation Technique of dynamically adding functionality from a client to manipulated data at a server
US6625611B1 (en) * 2000-03-15 2003-09-23 Cadence Design Systems, Inc. Method and apparatus for representing multidimensional data
US7316016B2 (en) 2002-07-03 2008-01-01 Tripwire, Inc. Homogeneous monitoring of heterogeneous nodes
US20040034683A1 (en) * 2002-08-13 2004-02-19 University Of Ottawa Differentiated transport services for enabling real-time distributed interactive virtual systems
US7269623B2 (en) * 2003-01-09 2007-09-11 Raytheon Company System and method for distributed multimodal collaboration using a tuple-space
US7472110B2 (en) * 2003-01-29 2008-12-30 Microsoft Corporation System and method for employing social networks for information discovery
JP2006066015A (ja) * 2004-08-30 2006-03-09 Sony Corp 画像情報記録装置および画像情報表示装置
US7600117B2 (en) * 2004-09-29 2009-10-06 Panasonic Corporation Mandatory access control scheme with active objects
CN101136020A (zh) * 2006-08-31 2008-03-05 国际商业机器公司 自动扩展参考数据的系统和方法
ATE555589T1 (de) * 2008-06-18 2012-05-15 Qualcomm Inc Benutzeroberflächen für ein in einem verteilten system angeordnetes dienstobjekt

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325895A (ja) * 1996-06-06 1997-12-16 Mitsubishi Electric Corp タプルスペース通信監視装置およびその監視方法
JP2000339323A (ja) * 1999-05-25 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> 文書検索方法、文書検索装置、文書検索システム及び記録媒体
JP2001222551A (ja) * 2000-02-10 2001-08-17 Hitachi Ltd 情報検索方法、および、情報検索システム
JP2003233684A (ja) * 2001-08-03 2003-08-22 Overture Services Inc コンピュータネットワーク検索エンジンにより生成した検索結果リストにおける順位及び対価保護を行うシステム及び方法

Also Published As

Publication number Publication date
EP2456172A3 (en) 2012-05-30
EP2456172B1 (en) 2015-10-21
CN102067566A (zh) 2011-05-18
EP2456172A2 (en) 2012-05-23
JP2011525031A (ja) 2011-09-08
JP5226865B2 (ja) 2013-07-03
EP2294793A1 (en) 2011-03-16
EP2294793B1 (en) 2012-04-25
CN102067566B (zh) 2015-05-13
WO2009155216A1 (en) 2009-12-23
CN104780236A (zh) 2015-07-15
ATE555589T1 (de) 2012-05-15
JP5591962B2 (ja) 2014-09-17
KR101252954B1 (ko) 2013-04-16
CN104780236B (zh) 2019-10-25
KR20110031201A (ko) 2011-03-24

Similar Documents

Publication Publication Date Title
US20090063423A1 (en) User interfaces for service object located in a distributed system
US8930531B2 (en) Persistent personal messaging in a distributed system
JP5479463B2 (ja) 分散型検索の結果のマネタイズおよび優先順位付け
US20120078595A1 (en) Method and apparatus for ontology matching
US8849854B2 (en) Method and system for providing detailed information in an interactive manner in a short message service (SMS) environment
JP5591962B2 (ja) 分散型システム中に配置されたサービスオブジェクトのためのユーザインターフェース
JP5442726B2 (ja) 分散型検索を実行するための方法
US11468132B2 (en) System and method of sensing and responding to service discoveries
US20090077480A1 (en) Apparatus and method of managing electronic communities of users
Makris et al. Efficient and adaptive discovery techniques of web services handling large data sets

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140114

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140616

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140730

R150 Certificate of patent or registration of utility model

Ref document number: 5591962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees