説明

非同期通信プロトコルを用いてネットワーク資源を閲覧するための方法および装置

非同期通信プロトコルを用いてネットワーク資源を閲覧するための方法およびシステム。代表的な実施形態では、ネットワーク資源に関連したタプルの識別子を受信するための、クライアントにおける方法について記載する。タプルはネットワーク資源に関連した情報と、ネットワーク資源に関連した他の情報へのリンクとを含む。ネットワーク資源に関連したタプルに対する購読を要求するために識別子を用いる。ネットワーク資源に関連したタプルに対する購読に基づき、ネットワーク資源に関連した情報とリンクとを含む通知を受信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非同期通信プロトコルを用いてネットワーク資源を閲覧するための方法および装置に関する。
【背景技術】
【0002】
Microsoft(登録商標)のInternet Explorer(登録商標)およびMozilla(登録商標)FoundationのFirefox(登録商標)など、今日のより一般的なブラウザでは、インターネットを通じて情報を交換するために、ハイパーテキスト転送プロトコル(HTTP)などの同期通信プロトコルが用いられる。同期通信プロトコルでは、ネットワーク中の1つのエンティティ(例えば、ブラウザ)が他のネットワークエンティティ(例えば、ウェブサーバ)に対し接続を行い、この他のエンティティに要求を送信し、追加の要求を送信する前に返答を待機する。
【0003】
同期通信プロトコルは、ブラウザがウェブサーバに対しウェブページの要求を送信し、サーバからの返答を待機して、要求したページを表示するときなど、一定の閲覧(browsing)タスクのサポートについては充分に機能する。しかしながら、他の閲覧タスクは、同期通信プロトコルを用いては効率的に実行されない。例えば、ウェブサービスなどのアプリケーションでは、イベントが発生したこととブラウザに通知することの必要な場合があるが、ブラウザからの応答を待機する必要はない。情報の送信者が情報の受信者からの応答を待機する必要のない閲覧トランザクションでは、発行/購読(publish/subscribe;pub/sub)プロトコルまたはプレゼンスプロトコルなど、非同期通信プロトコルを用いてトランザクションメッセージを運ぶことが好適であり得る。
【0004】
現行のブラウザアーキテクチャではスクリプトの使用によってデータのポーリングがサポートされているが、これらの解決策の信頼性は低いことがある。例えば、ポーリング要求の受信者が利用不可能となる場合、HTTPタイムアウトが発生し、スクリプトエラーが生じる。このスクリプトエラーによって、通常、ポーリング要求が取り消される。様々なスクリプト言語に対するサポートは、様々なブラウザクライアントの間で大きく異なることがあり、また、スクリプトのバージョン化が問題となることがある。また、スクリプトはブラウザ、ブラウザの動作するクライアントデバイスまたはその両方にウィルスを導入するための媒介物として用いられることがあり、一部のユーザは自身のブラウザにおいてスクリプトのサポートを無効としている。
【0005】
プレゼンスサービスなどの非同期通信プロトコルに基づく従来のアプリケーションまたはサービスにも、それ自身の欠点が存在する。これらのアプリケーションでは、通常、サービスをサポートするために、それ自身のプロプライエタリなアプリケーション特有のクライアントを使用することが必要である。例えば、ユーザがIM(Instant Messaging)サービスを使用するには、通常、ユーザは特定のIM特有のクライアントをインストールする必要がある。通常、ユーザがブラウザなどのより一般的なクライアントを用いてプレゼンスベースのサービスをサポートすることは不可能である。さらに、これらの非同期通信プロトコルベースのアプリケーションまたはサービスの人気は増大を続けているので、それに比例して、必要なアプリケーション特有のクライアントの数が増大する。
【0006】
これらの欠点に加えて、現行のプレゼンスベースのアプリケーション、サービスまたは
その両方では、通常、他のプレゼンスタプルを参照する自身のタプル内のリンクはサポートされない。結果的に、様々なプレゼンスサーバ上のタプル間の関係を確立させるための場所には、通常、システムが存在しない。また、標準的なXMLリンクでは、プレゼンスウェブに有用となる関係の種類が定義されていない。さらに、現行のプレゼンスクライアントでは、表示されるデータのセットは限られている(通常、1つ以上のフレンドリスト)。
【0007】
KNOWNOWのLIVEBROWSERクライアントなど一部のブラウザクライアントでは、ポーリングなしでサーバからブラウザに直接通知を配信することが可能である。しかし、これらのクライアントでは、通常、プレゼンスサーバ(または、pub/subサーバ)の閲覧はサポートされない。むしろ、これらのブラウザクライアントでは、ウェブページに表示される情報に基づく購読のみが可能である。これらのブラウザでは、これは通常、適切なJava(登録商標)Scriptライブラリを提供することによって行われる。しかし、一部のブラウザではスクリプトが無効にされているので、この技術の信頼性は特に低いことがある。
【発明の開示】
【発明が解決しようとする課題】
【0008】
したがって、非同期通信プロトコルを用いてネットワーク資源を閲覧することが可能である一般的なブラウザクライアントおよび関連する技術の必要が存在する。
【課題を解決するための手段】
【0009】
したがって、非同期通信プロトコルを用いてネットワーク資源を閲覧するための方法およびシステムを開示する。代表的な実施形態では、ネットワーク資源に関連したタプルの識別子を受信するための、クライアントにおける方法について記載する。タプルはネットワーク資源に関連した情報と、ネットワーク資源に関連した他の情報へのリンクとを含む。ネットワーク資源に関連したタプルに対する購読を要求するために識別子を用いる。ネットワーク資源に関連したタプルに対する購読に基づき、ネットワーク資源に関連した情報とリンクとを含む通知を受信する。
【0010】
別の代表的な実施形態では、非同期通信プロトコルを用いてネットワーク資源を閲覧するためのクライアントについて記載する。このクライアントは、ネットワーク資源に関連したタプルの識別子を受信するように構成されたユーザインタフェース構成要素を備える。タプルはネットワーク資源に関連した情報と、ネットワーク資源に関連した他の情報へのリンクとを含む。ユーザインタフェース構成要素に結合されたプロトコルエージェント構成要素は、ネットワーク資源に関連したタプルに対する購読を要求するために識別子を用いるように構成されるとともに、ネットワーク資源に関連したタプルに対する購読に基づき、ネットワーク資源に関連した情報とリンクとを受信するように構成されている。プロトコルエージェント構成要素に結合された通信プロトコルスタック構成要素は、非同期通信プロトコルを用いて、プロトコルエージェント構成要素がネットワーク資源に関連したタプルに対する購読を要求し、ネットワーク資源に関連した情報とリンクとを受信することを可能とするように構成されている。
【0011】
さらに別の代表的な実施形態では、非同期通信プロトコルを用いてネットワーク資源を閲覧することを可能とするためのサーバについて記載する。このサーバは、1つ以上のネットワーク資源と、ネットワーク資源に結合されており、ネットワーク資源に関連した情報とネットワーク資源に関連した他の情報へのリンクとをネットワーク資源に関連したタプルに対し発行するため、およびタプルに対する購読に基づき情報とリンクとを発行するための通知を受信するように構成された資源エージェント構成要素と、資源エージェント構成要素に結合されており、非同期通信プロトコルを用いて、資源エージェント構成要素
が通知を受信し、ネットワーク資源に関連した情報とリンクとを発行することを可能とするように構成された通信プロトコルスタック構成要素とを備える。
【発明を実施するための最良の形態】
【0012】
ここで、計算装置またはシステムの要素によって実行可能な一連のアクションに関して記載する一定の態様を含め、代表的な実施形態に関連して様々な態様について記載する。例えば、各実施形態において、様々なアクションのうちの少なくとも一部は専門の回路または回路構成(例えば、専門の機能を実行するように相互接続された個別化または統合されたロジックゲート)によって、1つ以上のプロセッサにより実行されるプログラム命令によって、またはその両方の組み合わせによって実行可能であることが認識される。したがって、様々な態様を多くの異なる形態により実施することが可能であり、そのような形態はすべて記載の範囲内において想到される。
【0013】
図1には、非同期通信プロトコルを用いてネットワーク資源を閲覧するための構成のクライアントデバイスに含まれる代表的なクライアントについての詳細を示す。クライアントは、MicrosoftのInternet ExplorerまたはMozilla
FoundationのFirefoxと同様のブラウザ102であってよく、図に示すようにクライアントデバイス100に含まれている。クライアントデバイス100は、図4に示すPC 100などパーソナル・コンピュータ(PC)であってもよく、携帯情報端末(PDA)、携帯電話機、ネットワーク対応カメラ、カメラ電話機などであってもよい。クライアント(すなわち、ブラウザ)は、ネットワーク資源に関連したタプルの識別子を受信するように構成されたユーザインタフェース構成要素106を備える。例えば、図3には、一般にロケーションバー304と呼ばれるコントロールを有する代表的なブラウザ102を示す。ロケーションバー304を用いて(例えば、示す「Go」ボタンを用いて)、ネットワーク資源に関連したタプルの識別子に対応する文字を入力することが可能である。図3では、ロケーションバー304に含まれる文字「sales@tfps.com/golf equipment」306は、ネットワーク資源402の記述、識別またはその両方のために用いられるURI(Uniform Resource Identifier)の形式の識別子である。これに代えて、識別子は、図3に示すブラウザ102の表示空間302に表示された「ここをクリックして注文」の文字を有するハイパーテキストリンク308などのリンクであってもよい。リンクは、資源に関連した別のタプルに対応するURIに関連してもよい。この別のタプルは、ユーザインタフェース106を介してユーザから情報を収集し、商品の注文を送信するために用いられるフォームオブジェクトを含んでもよい。
【0014】
ネットワーク資源は、図1,4に示すネットワーク116などのネットワーク上の識別情報を有する任意のものであってよい。例えば、ネットワーク資源はサービスまたはプログラム、すなわち、図4に示す資源サーバ120に含まれるネットワークアプリケーション402,416などのアプリケーションであってよい。また、ネットワーク資源は、ネットワーク116を通じて読み出し可能なサービス、画像、ファイル、ドキュメントまたはウェブページであってもよく、あるいは、ネットワーク資源は、人、会社や、例えば、図書館または保管所に格納された文書資料など、ネットワーク116を通じて読み出し不可能なエンティティであってもよい。
【0015】
本明細書において用いられるように、「タプル(tuple)」は、エンティティまたはオブジェクト(例えば、ネットワーク資源)が一定の構成要素、情報を含むこと、場合によっては一定のプロパティを有すること、またはその両方を示すために、フィールド名を一定の値にマッピングする表現であることが可能である。タプルは資源に関連した情報と、資源に関連した他の情報へのリンクとを含む。例えば、図5には、図4に示す「ゴルフショップ・プレゼンス・アプリケーション」オンラインストア売買アプリケーション4
02など、ネットワーク資源に関連した代表的なタプル502を示す。より詳細に以下に記載するように、プレゼンスサービスを介し、タプル502に含まれる情報を交換することが可能である。示すように、タプル502は、オンラインストア売買アプリケーション402に関連した下位タプル512〜520に格納された情報を含み、また、下位タプル522を含む。下位タプル522は、タプル502をオンラインストア売買アプリケーション402に関連したフォームを含む別のタプル(図示せず)にリンクさせる情報を含む。このフォームを用いて、例えば、ユーザ情報を収集し、プレゼンスサービスを介して購入要求を送信することが可能である(やはり以下に記載する)。下位タプル522に含まれるリンク情報を、図3に示したハイパーテキストリンク308などナビゲーション可能なリンクと関連させ、クライアント/ブラウザ102を用いて、他のタプルに含まれる情報にユーザをナビゲートすることが可能である。
【0016】
図5にはプレゼンスタプルを示したが、タプル自身がプレゼンスタプルである必要はなく、プレゼンスサービスを介してタプルが交換される必要もない。本明細書に記載の技術では、任意のタプル構造を用いることが可能である。さらに、タプルによって表現されるデータはバイナリデータフォーマットまたは他のプロプライエタリなデータフォーマットを含む任意のフォーマットにより格納されてよいことが、当業者には理解される。そのため、タプル構造は、単にネットワーク資源に関連したタプル情報の基礎をなすデータ構造の外部表現を提供する。例えば、適格なHTMLドキュメントはタプルである。
【0017】
また、図1に示すクライアント/ブラウザ102は、ユーザインタフェース106に結合されたプロトコルエージェント構成要素103を備える。プロトコルエージェント構成要素103は、ネットワーク資源に関連したタプルに対する購読を要求するために識別子を用いるように構成されている。例えば、プロトコルエージェント構成要素103は、ネットワーク資源402に関連したタプル502に対する購読を要求するために、ロケーションバー304に含まれるURI 306またはリンク308を用いることが可能である。この購読要求は、非同期通信プロトコルに含まれるメッセージ(または、コマンド)に含まれてよい。この通信プロトコルによって、ネットワークの通信チャンネルを通じて情報を送信するのに必要なデータ表現、シグナリング、認証およびエラー検出のための標準規則およびコマンドのセットが提供される。非同期プロトコルのコマンドは、受信者に情報が通知された後、プロトコルを介する情報の送信者(例えば、クライアント/ブラウザ102)が受信者(例えば、サーバ120)からの応答を待機する必要のないように構造化される。
【0018】
非同期通信プロトコルの一例は、発行/購読(pub/sub)プロトコルである。pub/subプロトコルでは、情報の送信者(すなわち、発行者)は、特定の受信者にメッセージを送信するのではなく、特定のトピック(topic)を有するメッセージをポスト(すなわち、発行)する。次いで、pub/subメッセージングシステムは、ポストされたメッセージを購読者と呼ばれる関係者すべてに選択的にブロードキャストする(通知メッセージと呼ばれるメッセージによって)。任意数の購読するクライアントが、発行された情報を同時に読むことが可能である。
【0019】
他の非同期通信プロトコルには、デイ(Day)らによる「Instant Messaging/Presence Protocol」と題するRFC 2779(2000年2月)や、セント−アンドリュ(Saint−Andre)による「Extensible Messaging and Presence Protocol(XMPP):Instant Messaging and Presence」と題するRFC
3921(2004年10月)などのRFC(Request for Comments)文書に記載のものなど、プレゼンスプロトコルがある。これらは各々、Internet Societyにより発行および所有されている。別の非同期プレゼンスプロト
コルは、SIMPLE(Instant Messaging and Presence Leveraging Extensions)におけるSIP(Session Initiation Protocol)である。SIMPLEは、インスタントメッセージにおけるサーバ−サーバおよびクライアント−サーバの相互運用性のためのSIPプロトコル(ローゼンバーグ(Rosenberg)らによる「SIP:Session
Initiation Protocol」と題するRFC 3261;IETF、2002年6月、を参照)のアプリケーションである。簡便のため、本明細書に記載の代表的な実施形態では、ネットワーク資源の閲覧のために用いられる非同期通信プロトコルとして、プレゼンスプロトコルが用いられる。しかしながら、上述の非同期通信プロトコルのうちのいずれを用いて本明細書に記載の技術が実行されてもよい。
【0020】
一部のプレゼンスプロトコルおよびpub/subプロトコルでは、プロトコルを介して送信される発行メッセージおよび通知メッセージに何らかのレベルの肯定応答が提供されることが理解される。これにもかかわらず、これらのプロトコルは発行者と購読者との間でのように非同期である。即ち、これらのプロトコルの発行、購読および通知のコマンドを用いると、購読するエンティティに通知が送信されるとき、発行するエンティティが返答を待機する必要はなく、また、購読するエンティティが発行するエンティティから情報を受信するために要求を送信する必要もない。
【0021】
同期通信プロトコルを用いると、非同期プロトコルとは対照的に、通信ネットワーク中の1つのエンティティ(例えば、クライアント102)は、ネットワーク中のエンティティまたは他のエンティティに対する他の要求の処理、送信またはその両方を継続する前に、ネットワーク中の別のエンティティ(例えば、図1,4に示すHTTPウェブサーバ122)に接続し、他のエンティティに要求を送信し、要求に対する返答を待機することが可能である。今日使用されている、より広範に知られている通信プロトコルの多くは、同期的に動作する。例えば、ワールドワイドウェブ(WWW)を介して情報を交換し、ウェブサービスを提供する際に用いられるHTTPプロトコルは、同期通信プロトコルである。
【0022】
ネットワーク資源に関連したタプルに対する購読を要求することに加え、プロトコルエージェント構成要素103は、ネットワーク資源に関連したタプルに対する購読に基づき、ネットワーク資源に関連した情報とリンクとを受信するようにも構成されている。例えば、プロトコルエージェント構成要素103は、クライアント/ブラウザのタプル502に対する購読に基づき、ネットワーク資源402に関連したプレゼンスタプル502の要素に格納された情報512〜522を含む通知を受信することが可能である。したがって、プロトコルエージェント構成要素103が非同期通信プロトコルを用いて、ネットワーク116を介して利用可能な資源(例えば、資源サーバ120上にホストされたオンライン・ストア・アプリケーション402)をクライアント/ブラウザ102に閲覧させることが可能となる。プロトコルエージェント構成要素103は、ネットワーク資源に関連した情報およびリンクを含むタプルをクライアント/ブラウザ102に購読させることと、未済の購読にしたがって、情報およびリンクを含む通知を受信させることとを可能とする。
【0023】
また、図1に示すクライアント/ブラウザ102は、図に示すXMPPクライアントプロトコルスタック108などの通信プロトコルスタック構成要素を備える。通信プロトコルスタック構成要素108はプロトコルエージェント構成要素103に結合されており、非同期通信プロトコルを用いて、プロトコルエージェント構成要素103が、ネットワーク資源402に関連したタプル502に対する購読を要求することと、ネットワーク資源に関連した情報512〜520とリンク522とを受信することを可能とするように構成されている。当業者には理解されるように、通信プロトコルスタック構成要素108は、
スタックのデータリンク層(例えば、Ethernet(登録商標)、802.11 WIFI)、トランスポート/ネットワーク層(例えば、TCP/IP)およびアプリケーション層(例えば、XMPP)を通じて、ネットワーク116の物理層(例えば、有線、無線インタフェース、または光ファイバケーブル)にて受信または送信される情報を交換するために用いられる。
【0024】
XMPPクライアントプロトコルスタック108を、対応するXMPP−IMコンテンツハンドラ104(下述)に結合して図に示すが、上述の1つ以上非同期プロトコルをサポートする任意の適切なプロトコルスタックまたは他のプロトコルを用いてよい。例えば、SIMPLEコマンドを処理するために、SIMPLE通信プロトコル(図示せず)をサポートするプロトコルスタックを、図1に示すSIP−SIMPLEコンテンツハンドラ構成要素104bに結合することが可能である。これに代えて、CPPコマンドを処理するために、RFC 3859(図示せず)により指定されるような任意のCPP準拠プロトコルスタックを、図1に示すプレゼンスインフォメーションデータフォーマット(PIDF)コンテンツハンドラ104cに結合することが可能である。同様に、一般的なpub/subクライアントプロトコルスタック(図示せず)を、適切な一般的なpub/subコンテンツハンドラ(図示せず)に結合することが可能である。
【0025】
代表的な実施形態では、図1に示すクライアント/ブラウザ102は、ユーザインタフェース構成要素106に結合されたコンテンツハンドラ構成要素104を備える。コンテンツハンドラ構成要素104は、ハンドラ構成要素104に対しルーティングされる情報の種類に基づき情報(例えば、ネットワーク資源402に関連したタプル502に含まれる情報)を処理するように構成されているという点では、従来のブラウザに含まれるコンテンツハンドラと同様である。この種類は、複数の利用可能なMIME(Multi−purpose Internet Mail Extensions)種類のうちのいずれであってもよい。例えば、図2には、MIME形式が「txt/xmpp−im」である情報を処理するように構成されたクライアント/ブラウザ102に含まれる代表的なコンテンツハンドラ構成要素104を示す。同様に、コンテンツハンドラ104b,104cは、それぞれMIME形式が「txt/sip−simple」、「application/pidf+xml」である情報を処理するように構成されている。これらのコンテンツハンドラの各々は、非同期通信プロトコルを用いるネットワーク資源の閲覧をサポートするように構成されている。
【0026】
代表的な実施形態では、コンテンツハンドラ構成要素104は、クライアント102の表示空間302において、ネットワーク資源402に関連した情報512〜520のうちの少なくとも一部、リンク522、またはその両方を表示するように構成された表示マネージャ構成要素202を備える。例えば、図5に示す代表的なプレゼンスタプル502は、ゴルフ用具の売買や、場合によっては、ゴルフレッスンの提供、ゴルフ旅行の計画など他の関連サービスの提供を行う「タイガー・フォレストのプロショップ」と名付けられたオンラインストアに関連していると考える。オンラインストアは、「ゴルフショップ・プレゼンス・アプリケーション」402をホストし、これらのトランザクションおよびサービスを管理することが可能である。プレゼンスタプル502は、タプル502の要素504,506にそれぞれ格納されたオンラインストアの状態および通信アドレスなど、従来のプレゼンス情報を含むことが可能である。通信アドレスは、プレゼンスタプル502の要素508,510にそれぞれ格納された通信手段を介してストアに連絡する際に使用するために、例えば、クライアント/ブラウザ102を介する通信手段(他の手段には、電子メール、電話、IM(Instant Messaging)などが含まれる)と、対応する連絡アドレス(例えば、「sales@tfps.com/golf equipment」)とを含むことが可能である。
【0027】
また、図5に示すように、プレゼンスタプル502は、オンラインストアから入手可能なゴルフボールの価格(要素514〜520に格納されている)など、ゴルフ用具の説明、用途またはその両方(要素512に格納されている)を含む、資源/アプリケーション402に関連した他の情報402も含むことが可能である。また、プレゼンスタプルは、オンラインストアによって出された注文を処理するために、プレゼンスタプル502をフォームオブジェクト(図示せず)に対するおそらくは別のプレゼンスタプル(図示せず)にリンクさせる情報を含むことが可能である。
【0028】
表示マネージャ構成要素202は、クライアント102の表示空間302において、ネットワーク資源/アプリケーション402に関連した情報512〜520のうちの少なくとも一部、リンク522、またはその両方を表示することが可能である。例えば、図3には、図1に示すクライアント/ブラウザ102を用いて表示可能な代表的なコンテンツを示す。図に示すように、オンラインストアの名前「タイガー・フォレストのプロショップ」を、ブラウザ102の表示空間302のタイトル部分に表示することが可能である。ストアから入手可能なゴルフボールの価格に関連したプレゼンスタプル502の要素512〜520に含まれる情報を、ブラウザの表示空間302の別の部分310に表示することが可能である。また、ストアに商品を注文するために、プレゼンスタプル502をおそらくはフォームオブジェクトに関連した別のタプル(図示せず)にリンクさせる下位タプル522に含まれる情報を、図に示すリンク「ここをクリックして注文」308として表示することが可能である。
【0029】
また、表示マネージャ構成要素202を、ネットワーク資源402に関連した情報512〜520のうちの少なくとも一部、リンク522またはその両方をクライアントに関連したプリンシパル(principal)によって使用可能なフォーマットへ変換するように構成することも可能である。そのようなプリンシパルはクライアント/ブラウザ102を用いてネットワーク116を介して利用可能な資源を閲覧する人であってもよく、情報、リンクもしくはその両方を用いるように構成された別のアプリケーションまたはプログラム(例えば、図4に示すPC 100上で作動する)であってもよい。非同期プロトコルを用いて人間以外のプリンシパル(プログラム、サービスまたはアプリケーションなど)間で情報を交換することは、多者トランザクションを実行するには効率的な構成であり得る。エージェントによって、人間以外のプリンシパル間でそのようなトランザクションを実行する際の効率のさらなる改良が補助される。
【0030】
また、関連する代表的な実施形態では、コンテンツハンドラ構成要素104はプロトコルエージェント103に結合されたパーサ構成要素206を備える。このパーサ構成要素206は、ネットワーク資源402に関連した情報512〜520およびリンク522を受信し、情報、リンクまたはその両方を表示マネージャ構成要素202によって使用可能なフォーマットへ構文解析すること、変換することまたはその両方を行うように構成されている。例えば、ネットワーク資源に関連した情報とリンクとを、XMLドキュメントにより受信することが可能である。そのような構成では、図3に示すように、ネットワーク資源に関連した情報、リンクまたはその両方をクライアント102の表示空間302における表示に適切なフォームへ変換するためにXSLT(Extensible Stylesheet Language Transformations)を用いるように、パーサ構成要素206を構成することが可能である。XSLTを用いてXMLを表示可能なフォームへ変換およびフォーマットすることは、CSS(Cascading Style Sheets)を用いてHTML(HyperText Markup Language)ドキュメントにスタイル(例えば、特別なフォントまたは色による文字の表示)を追加することと(少なくとも機能においては)同様である。
【0031】
また、別の関連する代表的な実施形態では、コンテンツハンドラ構成要素104は、入
力マネージャ構成要素204を備えることが可能である。入力マネージャ構成要素204は、図3に示すブラウザに含まれるロケーションバー304などのクライアントの制御構成要素に、識別子306,308を入力すること、または図に示すリンク308などクライアント102の表示空間302に表示されるリンクを選択することに応答して、ユーザインタフェース構成要素106から識別子306,308を受信するように構成されている。
【0032】
また、入力マネージャ構成要素204は、通信プロトコルスタック108を介して受信されるネットワーク資源402に関連した情報に含まれ得るフォームオブジェクトに関連したフォームフィールド要素(図示せず)に対応するユーザインタフェース106を介して入力されるフォーム入力を受信するように構成されることも可能である。フォームオブジェクトは、パーサ構成要素206によって、資源402に関連した情報ストリームにおいて識別されることが可能である。パーサ構成要素206は、次いで、コンテンツハンドラ構成要素104に含まれるフォームマネージャ構成要素208に、フォームオブジェクト、関連するフォームフィールド要素、およびフォームオブジェクトの処理に関連した情報に含まれる任意の関連するアクションを登録することが可能である。フォームマネージャ構成要素208は、パーサ構成要素206によって識別されたフォームオブジェクトおよびフォームフィールド要素を管理するように構成されることが可能である。また、フォームマネージャ構成要素208は、フォームフィールド要素に対応するフォーム入力を入力マネージャ構成要素204から受信し、受信したフォーム入力をフォームフィールド要素と関連させるように構成されることが可能である。
【0033】
上述のクライアント/ブラウザ102の表示マネージャ構成要素202、入力マネージャ構成要素204、パーサ構成要素206およびフォームマネージャ構成要素208は、HTTPなどの同期プロトコルを用いて他のネットワークエンティティと情報を交換する従来のブラウザに含まれる構成要素と同様であるが、構成要素の各々は非同期通信プロトコルを用いるネットワーク資源の閲覧をサポートするための強化機能を備えていることが当業者には理解される。図2に示す構成要素202〜208に関連したさらに詳細な情報については、これらのような構成要素に関連した情報を参照されたい。
【0034】
図2には、ネットワーク資源を閲覧するために用いられる非同期通信プロトコルがプレゼンスプロトコルであるときの使用に適切なプロトコルエージェント構成要素103の代表的な構成を示す。そのような構成では、プロトコルエージェント構成要素103は、ネットワーク資源402に関連したタプル502に対する購読を要求するように構成されたウォッチャ(watcher)クライアント214を備えることが可能である。関連するウォッチャユーザエージェント(WUA)構成要素212は、入力マネージャ構成要素204に結合され、ユーザインタフェース構成要素106を用いて、(例えば、ロケーションバー304における入力またはリンク308を介して)ユーザに入力された識別子306,308を受信するように構成されることが可能である。
【0035】
WUAは識別子306,308をその関連するウォッチャ構成要素214へ渡すことが可能であり、次いで、このウォッチャ構成要素214がタプル502に対する購読を要求する。ウォッチャ構成要素214は、ネットワークの全体を通じて購読を管理するように構成されたプレゼンスサービスを有するプレゼンスサーバ118に、タプル502に対する購読の要求を送信することが可能である。プレゼンスサービスは、スタンドアロン・サーバ上で(示すように)、ネットワークの全体を通じて配置された複数のサーバ上で、資源サーバ120上で、または専用のプレゼンスサーバ118および資源サーバ120の任意の組み合わせの上でホストされることが可能である。
【0036】
上述のように、プロトコルエージェント構成要素103は、ネットワーク資源402に
関連したタプル502に対する購読に基づき、ネットワーク資源に関連した情報512〜520とリンク522とを受信するように構成されている。また、例えば、ウォッチャ構成要素214も、ネットワーク資源402に関連した情報およびリンクを含む通知を、例えば、プレゼンスサーバ118から、受信するように構成されることが可能である。資源402に関連したタプル502に対する購読がプレゼンスサーバ118によって受信されるとき、プレゼンスサーバは、タプル502に関連した情報およびリンクを含む通知をクライアントデバイス100へ送信することが可能である。ウォッチャ構成要素214は通信プロトコルスタック108を介してこの情報を受信することが可能であり、関連するWUAは、この情報およびリンクが表示のために表示マネージャ構成要素202へ渡される前に、処理のためにパーサ構成要素206へ渡すことが可能である。
【0037】
また、図2に示す代表的なプロトコルエージェント構成要素103は、プレゼンティティ(presentity)構成要素218および関連するプレゼンティティユーザエージェント(PUA)216を備えることが可能である。プレゼンティティ/PUA 218,216は、ネットワーク資源に関連したプレゼンスサーバ118に情報を発行するように構成されることが可能である。例えば、プレゼンティティ/PUA 218,216は、プレゼンスタプル502の要素に格納された情報512〜522をプレゼンスサーバ118に対し発行し、タプル502を購読するエンティティに対しネットワーク資源402に関連したサービス/情報を広告するように構成されることが可能である。プレゼンスサーバ118は、クライアント/ブラウザ102などの購読者に、その購読者のプレゼンスタプル502に対する購読にしたがって、この情報を送信することが可能である。
【0038】
また、プレゼンティティ/PUA 218,216は、検索サービスを提供するように構成されたプレゼンスアプリケーションに関連した別のタプル(図示せず)における格納のために、プレゼンスタプル502の要素に格納された情報512〜522をプレゼンスサーバ118に対し発行するように構成されることが可能である。そのようなプレゼンスアプリケーションは、図1に示すクライアント/ブラウザ102などのプレゼンスクライアントの購読に検索サービスを提供するために、その関連するタプル(および定義され得る他のリンクしたタプル)に含まれた情報をインデックス化することが可能である。
【0039】
また、プレゼンティティ/PUA 218,216は、入力マネージャ構成要素204によって受信されたフォーム入力を発行するように構成されることが可能である。プロトコルエージェント構成要素は、受信したフォーム入力を送信するためのアクションをユーザインタフェース構成要素が検出することに応答して、ネットワーク資源に関連したタプル、リンクに関連した別のタプルおよびフォームオブジェクトに関連したタプルのうちの1つ以上に対し、フォーム入力を発行するように構成されている。関連の実施形態では、プロトコルエージェント構成要素103は、資源に関連したタプルに対する購読に基づき、フォーム送信の結果を含む通知、例えば、ウォッチャ/WUA 214,212を受信するように構成されている。
【0040】
図2に示す代表的なプロトコルエージェント構成要素103の構成要素212〜218の名称は、デイ(Day)らによる「「A Model for Presence and Instant Messaging」と題するRFC 2778(IETF,2000年2月)に定義されたプレゼンスモデルの構成要素に対応することが、当業者には認められる。クライアント/ブラウザ102が任意の適切な非同期通信プロトコルを用いてネットワーク資源を閲覧することを可能とするように、記載の構成要素212〜218の機能、すなわち、発行および購読機能を同様のプロトコルエージェント構成要素103に組み込むことが可能であることが理解される。
【0041】
代表的な実施形態では、クライアント/ブラウザ102は、図1に示すコンテンツハン
ドラ112など、1つ以上の追加のコンテンツハンドラ構成要素を備える。各追加のコンテンツハンドラ112は、アプリケーション402などネットワーク資源に関連した情報と、クライアントによって受信された他のコンテンツとを、その情報および他のコンテンツのそれぞれの種類に基づき処理することが可能である。ここでも、情報種類は、図1に示す「image/jpeg」、「video/wmv」、「audio/midi」および「txt/html」など、利用可能なMIME形式のいずれであってもよい。また、関連の実施形態では、クライアント/ブラウザ102は、通信プロトコルスタック構成要素108と複数のコンテンツハンドラ構成要素104,112の各々との間に結合されたコンテンツマネージャ構成要素110も備えることが可能である。コンテンツマネージャ構成要素110は、ネットワーク資源に関連した情報およびネットワーク接続部124からスタック108を介して受信した他のコンテンツを、その情報および受信した他のコンテンツの種類(例えば、MIME形式)に基づき1つ以上のコンテンツハンドラ構成要素104,112に対しルーティングするように構成されることが可能である。
【0042】
別の代表的な実施形態では、クライアント/ブラウザは、追加のコンテンツハンドラ構成要素112のうちの1つ以上に結合された、図1に示すHTTPクライアントプロトコルスタック114など、第2の通信プロトコルスタック構成要素も備えることが可能である。第2の通信プロトコルスタック構成要素114は、HTTPなど同期通信プロトコルを用いて、この1つ以上の追加のコンテンツハンドラ構成要素112と情報を交換するように構成されることが可能である。第2の通信プロトコルスタック構成要素114は、スタックのデータリンク層(例えば、Ethernet、802.11 WIFI)、トランスポート/ネットワーク層(例えば、TCP/IP)およびアプリケーション層(例えば、HTTP)を通じて、ネットワーク116の物理層(例えば、有線、無線インタフェース、または光ファイバケーブル)にて受信または送信される情報を交換するために用いられる。
【0043】
そのような構成では、クライアント/ブラウザ102は、HTTPを用いて図1に示すウェブサーバ122など従来のHTTPサーバと情報を交換することが可能であり、また、同期プロトコル(例えば、HTTP)および非同期プロトコル(例えば、XMPP)を用いて、新規な資源サーバ120(図4に示す構成と共に以下に説明する)と情報を交換することも可能である。結果的に、図3に示すコンテンツの部分は従来のHTTPシグナリングを用いて表示/更新することが可能であり、他の部分は非同期(メッセージキュー)シグナリングを用いて(例えば、XMPPを用いて)、表示/更新することが可能である。この新規な構成によって、アプリケーション設計者およびクライアントユーザの両方がネットワーク・サービスを設計/利用する際に最大の柔軟性が可能となる。
【0044】
図4には、図1に示す、非同期通信プロトコルを用いてネットワーク資源を閲覧するための構成に含まれる代表的な資源サーバ120についての詳細を示す。このサーバによって、非同期通信プロトコルを用いるネットワーク資源の閲覧が可能となる。サーバ120は、上述の「ゴルフショッププレゼンスアプリケーション」402など、1つ以上のネットワーク資源を備える。このサーバは、ネットワーク資源402に結合された資源エージェント構成要素404を備える。図1に示したクライアント構成と共に記載したプロトコルエージェント103と同様に、資源エージェント構成要素404は、資源に関連した情報と資源に関連した他の情報へのリンクとを資源に関連したタプルに対し発行するための通知を受信するように構成されている。また、資源エージェント構成要素404は、資源に関連した情報をすべてのエンティティ(例えば、購読者および非購読者)にブロードキャストして、ネットワーク資源に関連したサービス/情報を広告することが可能である。
【0045】
例えば、資源エージェント構成要素404は、プレゼンスサーバ118から通知を受信し、資源402に関連した情報と、資源402に関連した他の情報へのリンクとを、図5
に示す資源402に関連したタプル502の要素512〜522に発行することが可能である。資源エージェント構成要素404は、さらに、タプルに対する購読に基づき情報およびリンクを発行するように構成されている。通常、サーバは、オンラインでの購入に対する注文フォーム情報など、トランザクションに関連したタプル情報を購読し、状態情報、注文確認情報などを含むトランザクションタプルに対し情報を発行する。在庫情報など他の種類の情報は、購読者に対する対応するタプルに発行されてもよく、最初にその情報の通知または購読要求を受信する必要なく、すべてのネットワークエンティティにブロードキャストされてもよい。
【0046】
また、図4に示す資源サーバ120は、非同期通信プロトコルを用いて、資源エージェント構成要素404が通知を受信し、資源に関連した情報とリンクとを発行することを可能とするように構成された、資源エージェント構成要素404に結合された通信プロトコルスタック構成要素414を備える。例えば、図4に示すサーバ120は、ネットワーク接続部420と資源エージェント構成要素404との間で結合されたXMPPサーバプロトコルスタックを備える。通信プロトコルスタック構成要素414は、スタックのデータリンク層(例えば、Ethernet、802.11 WIFI)、トランスポート/ネットワーク層(例えば、TCP/IP)およびアプリケーション層(例えば、XMPP)を通じて、ネットワーク116の物理層(例えば、有線、無線インタフェース、または光ファイバケーブル)にて受信または送信される情報を交換するために用いられる。
【0047】
非同期プロトコルがプレゼンスプロトコルである場合、資源エージェント構成要素404は、プレゼンスサーバから通知を受信して処理するように構成されたウォッチャ構成要素408および関連するWUA 406を備えることが可能である。また、資源エージェント構成要素404は、プレゼンスサーバ118に情報を発行するように構成されたプレゼンティティ構成要素412および関連するPUA 410を備えることが可能である。この場合も、資源サーバ120が任意の適切な非同期通信プロトコルを用いてネットワーク資源を閲覧することを可能とするように、記載の構成要素406〜412の機能、すなわち、発行および購読機能を同様の資源エージェント構成要素404に組み込むことが可能であることが理解される。
【0048】
代表的な実施形態では、サーバ120は、図にも示したHTTPウェブアプリケーション416など第2のネットワーク資源に結合された、図4に示すHTTPサーバプロトコルスタック418など、第2の通信プロトコルスタック構成要素も備えることが可能である。第2の通信プロトコルスタック構成要素418は、HTTPなど同期通信プロトコルを用いて第2のネットワーク資源416と情報を交換するように構成されることが可能である。結果として、資源サーバ120は、HTTPを用いて図4に示すウェブサーバ122など従来のHTTPサーバおよび従来のHTTPクライアント(図示せず)と情報を交換することが可能であり、また、同期プロトコル(例えば、HTTP)および非同期プロトコル(例えば、XMPP)を用いて、クライアント102を介して新規なクライアントデバイス100(図1に示す構成と共に以下に説明する)と情報を交換することも可能である。図4には、資源/アプリケーション401,416を別個の資源/アプリケーションとして示しているが、サーバ120は対応する複数の通信プロトコルを介して情報を交換するために統合的に複数のプロトコルスタックを用いる複合アプリケーションをホストすることも可能であることが理解される。
【0049】
図6には、代表的な実施形態による、非同期通信プロトコルを用いてネットワーク資源を閲覧するための代表的な方法を示すフローチャートを示す。この方法は、図1に示した代表的なシステムを用いて実行可能であり、以下の記載では、その一部を例示の目的で参照する。記載の方法に関連したさらに詳細な情報については、上述の図1に示した構成に関する記載の関連部分を参照されたい。
【0050】
代表的な方法は、ブロック602にて開始する。ブロック602では、図2に示すブラウザ102などのクライアントにおいて、ネットワーク資源に関連した情報と、このネットワーク資源に関連した他の情報へのリンクとを含む、ネットワーク資源に関連したタプルの識別子が、例えば、ユーザインタフェース構成要素106を介して受信される。ブロック604では、ネットワーク資源に関連したタプルに対する購読を要求するために、例えば、プロトコルエージェント構成要素103によって、識別子が用いられる。ブロック606では、ネットワーク資源に関連したタプルに対する購読に基づき、ネットワーク資源に関連した情報とリンクとを含む通知が、通信プロトコルスタック108を介してプロトコルエージェント構成要素103によって受信される。
【0051】
代表的な実施形態では、この方法は、例えば、表示マネージャ構成要素202を用いて、クライアントの表示空間において、ネットワーク資源に関連した情報の少なくとも一部、リンクまたはその両方を表示する工程と、ネットワーク資源に関連した情報の少なくとも一部、リンクまたはその両方をクライアントに関連したプリンシパルによって使用可能なフォーマットへ変換する工程とを含むことが可能である。関連の実施形態では、表示する工程、変換する工程、またはその両方は、タプルの種類を記述するネットワーク資源に関連したタプルに含まれる情報に基づく。例えば、タプル502は、情報を図3に示すブラウザ102にどのように表示可能であるか、またはブラウザ102に関連したプリンシパルによる使用のためにどのように変換可能であるかを定義する、下位タプル(図示せず)に格納された情報、ルーチンまたはその両方を含むことが可能である。
【0052】
代表的な実施形態では、この方法は、例えば、コンテンツハンドラ構成要素104のパーサおよび入力マネージャ構成要素202,204を用いて、ネットワーク資源に関連した情報に含まれるフォームフィールド要素を有するフォームオブジェクトを受信する工程と、例えば、コンテンツハンドラ構成要素104の表示マネージャ構成要素202を用いて、クライアントの表示空間にフォームフィールド要素を表示する工程と、例えば、コンテンツハンドラ構成要素104の入力マネージャ構成要素204を用いて、フォームフィールド要素に対応するフォーム入力を受信する工程と、例えば、コンテンツハンドラ構成要素104のフォームマネージャ構成要素208を用いて、受信したフォーム入力をフォームフィールド要素と関連させる工程と、例えば、入力マネージャ構成要素204を用いて、受信したフォーム入力を送信するためのアクションを検出する工程と、を含むことが可能である。
【0053】
関連の実施形態では、アクションの検出に応答して、この方法は、例えば、プロトコルエージェント構成要素103を用いて、ネットワーク資源に関連したタプル、リンクに関連した別のタプルおよびフォームオブジェクトに関連したタプルのうちの1つ以上に対し、受信したフォーム入力を発行する工程を含むことが可能である。別の関連する実施形態では、ネットワーク資源に関連したタプルに対しフォーム入力が発行されるとき、この方法は、資源に関連したタプルに対する購読に基づき、フォーム送信の結果を含む通知を受信する工程を含むことが可能である。
【0054】
別の代表的な実施形態では、フォームオブジェクトに関連したタプルに対しフォーム入力が発行されるとき、この方法は、フォームオブジェクトに関連したタプルに対する購読を要求するために、ネットワーク資源に関連した情報に含まれるフォームオブジェクトに関連した識別子を用いる工程を含む。フォームオブジェクトに関連したタプルに対する購読に基づき、フォーム送信の結果を含む通知が受信されることが可能である。購読の要求および通知の受信は、プロトコルエージェント構成要素103を用いて実施可能である。
【0055】
さらに別の代表的な実施形態では、フォームオブジェクトに関連したタプルはクライア
ントに関連したプリンシパルとネットワーク資源に関連したプリンシパルとの間で共有されることが可能である。例えば、フォームオブジェクトに関連したタプルは、ゴルフ売買アプリケーション402をホストするオンラインストア「タイガー・フォレストのプロゴルフ」と、ブラウザ102を用いてこのオンラインストアから用具を購入する者との間で共有されることが可能である。
【0056】
別の代表的な実施形態では、アクションの検出に応答して、受信したフォーム入力は同期通信プロトコルを用いてネットワークサーバへ送信されることが可能である。例えば、フォーム入力は、HTTPを介してサーバ120へ送信されることが可能である。そのような構成では、従来のHTTPフォーム処理を用いて注文が処理される一方で、例えば、図3に示す表示空間302の部分310において、非同期プロトコルを用いてオンラインストア在庫の表示/更新が自動的に更新されることが可能である。結果的に、そのような注文を処理するために用いられるウェブサーバは、非同期プロトコルを用いてネットワーク資源を閲覧することの可能なクライアント102からのトランザクションを処理することを可能とするように、更新/改造される必要はない。
【0057】
代表的な実施形態では、この方法は、タプルに含まれるリンクに関連したリンク種類を用いてネットワーク資源と資源に関連した他の情報との関係を判定する工程を含む。種類をリンクと関連させることによって、クライアント102がリンクによって表現される関係を理解および解釈する性能は向上され得る。可能なリンク種類には、リンクが資源の所有者を表すことを示す「所有者(owner)」、例えば、リンク情報がより大きなセット、バッグまたは一覧の一部であるか否か、およびさらなる情報を定義し、ナビゲーション可能(かつ非人間のエージェントによって解釈可能)なプレゼンス情報の「ウェブ」の生成を可能とする「メンバ(memberOf)」が含まれる。必要に応じて、XMLスキーマ言語によってリンクの種類を形成し、リンクを拡張することが可能である。結果的に、図1,4に示す構成を用いて、リンクしたデータまたは関連したデータを一連のリンクしたページに表示し、ユーザがリンクを通じて特に関心のある情報のみを見ることが可能である。
【0058】
別の代表的な実施形態では、クライアント102、サーバ120またはその両方による使用のために、複数の関連するネットワーク資源に関連したタプルの識別子の一覧の生成、維持またはその両方が行われる。
【0059】
また、クライアント102、クライアント102に関連したプリンシパルまたはその両方の識別情報は認証され、ネットワーク資源に関連したタプルに対する購読の要求、通知の受信またはその両方は、クライアントによる購読の要求、通知の受信またはその両方に先立って、認証された識別情報に基づき認可される。プレゼンスサーバ118は、これらの機能を実行するための認証サーバサービスを備えることが可能である。関連の実施形態では、クライアント、クライアントに関連したプリンシパルまたはその両方の識別情報は、ネットワーク資源に関連したタプルへアクセスすることを認可されたクライアント、プリンシパルまたはその両方の識別情報を含む登録一覧に関連したタプルに含まれる。この場合にも、認証/認可機能をサポートするためにプレゼンスサーバ118上に登録一覧を格納することが可能である。
【0060】
代表的な実施形態では、この方法は、ネットワーク資源を閲覧するために非同期通信プロトコルに加え、例えば、図1に示すHTTPクライアントプロトコルスタック114を介して同期通信プロトコルを提供する工程を含む。
【0061】
非同期通信プロトコルを用いてネットワーク資源を閲覧するための図6に示すようなコンピュータプログラムの実行可能命令は、コンピュータベースシステムなど、プロセッサ
を含むシステム、または命令実行システム、装置もしくはデバイスから命令をフェッチし、その命令を実行することの可能な他のシステムなど、命令実行システム、装置またはデバイスによる使用、または命令実行システム、装置またはデバイスに関連した使用のための任意のコンピュータ可読媒体により実施可能である。
【0062】
本明細書において用いられるように、「コンピュータ可読媒体」は、命令実行システム、装置またはデバイスによる使用、もしくは命令実行システム、装置またはデバイスに関連した使用のためのプログラムを格納、記憶、通信、伝達または輸送することの可能な任意の手段であり得る。コンピュータ可読媒体は、以下に限定されないが、例えば、電子的、磁気的、光学的、電磁気的、赤外線もしくは半導体の、システム、装置、デバイスまたは伝達媒体であり得る。
【0063】
コンピュータ可読媒体のさらに特定的な例(非排他的な一覧)は、次を含み得る。すなわち、Ethernet伝送システムなど有線ネットワーク接続および関連する伝送媒体、IEEE 802.11(a),(b),(g)もしくはBluetooth(登録商標)伝送システムなど無線ネットワーク接続および関連する伝送媒体、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、インターネット、イントラネット、ポータブルコンピュータディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能なプログラマブルリードオンリメモリ(EPROMもしくはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク(CD)、ポータブルデジタルビデオディスク(DVD)など。
【0064】
例示的な例
図1〜4に示した構成を参照して、次の例示的な例を提供する。この例において行われるアクションは例示を目的としており、いかなるようにも限定として解釈されるべきではない。また、工程の順番も、いかなるようにも限定または必須のものとして解釈されるべきではない。この例示的な例ではプレゼンスサービスを用いるが、記載のタスクを実行するために他の非同期通信プロトコルを用いることが可能であることが理解される。
【0065】
オンラインの買物客ボブ(Bob)は、新たなゴルフボールの購入を望む。ボブは自身のプレゼンスブラウザ102(PB)を立ち上げ、スポーツ用具またはゴルフ小売店の検索を実行する。PBは、インデックス化/検索サーバを用いて発見された、タプル/下位タプルへのリンク、タプル/下位タプルからの情報の一覧を表示する。検索サービスは、プレゼンスウェブをインデックス化して、PBに検索サービスを提供することが可能である。インデックス化/検索サービスは関連するリンクの登録簿を構築することが可能であり、PB 102は、登録簿中の特定のリンクに関連した各エンティティの状態を表示することが可能である。検索サービスは、サービス自身またはサービスプロバイダによって「所有される」プレゼンスタプルによって表わされることが可能である。RFC 2778による状態は拡張可能な下位タプルにより格納されるので、表示された検索結果に含まれる特定の小売店の状態には、小売店の動作状態が反映されるばかりではなく、小売店の種類、顧客満足度、小売店の在庫量なども指示される。
【0066】
検索サービスが指定されたボキャブラリおよびオントロジから構築されたプレゼンスタプルを検索しているとすると、サービスは単なるキーワード検索を越えるものを実行可能である。むしろ、サービスは、様々なボキャブラリおよびオントロジや検索語の意味に基づき、買物客ボブが要求したものを正確に位置特定することが可能である。要求および応答は、本出願の譲受人に譲り受けられた「METHOD, SYSTEM, AND DATA STRUCTURE FOR PROVIDING A GENERAL REQUEST/RESPONSE MESSAGING PROTOCOL USING A PRESENCE PROTOCOL」と題する2005年6月10日に出願の米国
特許第11/160,157号明細書番に記載のタプルデータとして表すことが可能である。タプルデータは標準的なプレゼンスプロトコルを用いて交換可能である。
【0067】
次にボブは、高評価および多くの在庫を有するので、タイガー・フォレストのプロショップ(TFPS)を選択する。PB 102は、TFPSの上のタプル情報を読み出す購読コマンドを送信する。タプルは、情報または様々な在庫カテゴリを表す情報を格納している他のタプル/下位タプルへのリンクを含むことが可能である。例えば、図5に示す下位タプル「ゴルフ用具」512およびその関連する下位タプル514〜520は、ゴルフボールに関する所望の情報を含む。TFPSタプルは複数の他のタプルの集合体を表すので、オンラインの買物客ボブは、TFPSのタプル空間を構築する全集合を検索することが可能である。
【0068】
TFPSのタプル空間を閲覧するためにプレゼンスプロトコルなどの非同期プロトコルが用いられているので、PB 102はTFPSの在庫の変化の通知を受信し、図3に示す表示空間302の部分310において表示されたデータを更新することが可能である。価格または在庫量が変化する場合、ユーザは、データの明示的なリフレッシュ要求の呼出やポーリングルーチンの使用を行うことなく、PBディスプレイ上でその変化を見る。
【0069】
TFPSのサーバ120上にホストされた売買アプリケーション402は、自身のタプル情報をボブが購読することについて通知を受けることが可能であり、ボブからのトランザクション要求を検出することが可能であることをボブのタプル情報(恐らくは、ボブの買物タプル)に対する購読を要求することが可能である。
【0070】
ボブは「特別ゴルフボール」のリンクを選択し、自身の望むゴルフボールのパッケージのタプルを特定するまで、続くリンクをたどる。ボブが新たなタプルを伴うリンクを選択するごとに、ボブのPB 102は新たなタプルを購読し、もはや表示されていないタプルの購読を停止することが可能である。これに代えて、PB 102は一定の期間、購読を維持し、ボブが最近訪問したタプルを効率的に再訪問することを可能とすることができる。
【0071】
次いで、ボブはブラウザの表示空間302に表示された「ここをクリックして注文」のリンク308を選択する。これによって、おそらくは、TFPSタプルに含まれるテンプレートに基づき、新たな注文フォームタプルを生成するプレゼンスサーバ118へ発行コマンドが送信される。この新たな注文フォームタプルは、(例えば、専用の通知コマンドを介してまたは既存の購読にしたがって)PB 102へ戻されることが可能である。次いで、PB 102は、ボブが購入を望む品物を含む注文フォーム情報(図示せず)を表示することが可能である。
【0072】
ボブはフォーム上に提供されるリンクを通じて買物を継続することが可能であり、あるいは自分が12ダースのゴルフボールの購入を望むことを示すことが可能である。ボブは、注文フォーム(図示せず)上に含まれる更新ボタンまたはリンクを押す。フォームを処理するために発行要求が発行され、これによって、ボブのタプルに対しフォームデータが発行され、通知コマンドがTFPSへ送信される。次いで、TFPSは、ボブのアプリケーション402によって提供される任意の計算済みの注文情報を含む、TFPSのタプル空間におけるボブの買物タプルを更新することが可能である。この更新によって、通知コマンドがボブのPB 102へ送信され、現在の買物カートが表示される。TFPSがボブの注文フォームタプルを購読しているので、ストアはボブによる各要求に応答することが可能である。
【0073】
次に、注文フォームタプルが更新されて、このとき勘定計算状態にあることが示される
。ボブの注文フォームタプルは、ボブの送付先、支払情報などを含むことが可能な、ボブのタプルフォームへのリンクを含むことが可能である。注文フォームタプルは、TFPSによる発行コマンドを介するこの情報によって更新され、プレゼンスサーバ118によって宛てられたボブのPB 102への通知を生じる。このとき、タプルからの注文の状態は、「確認(confirm)」状態であると言われる。ボブは、次に注文フォームへ自身の個人識別番号(pin)またはパスワードを入力し、送信ボタンを押して自身の注文を完了させる。この情報はPB 102からボブのタプルへの発行を介してプレゼンスサーバ118へ渡される。発行された情報は、ボブのタプル情報に対する購読にしたがって、通知コマンドを介してTFPSによって受信される。プレゼンスサーバ118がボブの個人識別番号/パスワードを検証した後、TFPSはプレゼンスサーバ118に対する発行コマンドを介して注文の状態を「受諾(accepted)」に更新することが可能である。次いで、プレゼンスサーバ118は、通知コマンドを介してPB 102上に表示された情報を更新することが可能である。
【図面の簡単な説明】
【0074】
【図1】代表的な実施形態による、非同期通信プロトコルを用いてネットワーク資源を閲覧するための構成のクライアントデバイスに含まれる代表的なクライアントについての詳細を示す図。
【図2】図1に示す、非同期通信プロトコルを用いてネットワーク資源を閲覧するための構成に含まれるクライアントデバイスのクライアントに含まれる代表的なプロトコルエージェント構成要素およびコンテンツハンドラ構成要素を示す図。
【図3】非同期通信プロトコルを用いてネットワーク資源を閲覧するための構成のクライアントデバイスに含まれるクライアントを用いて表示可能な代表的なコンテンツを示す図。
【図4】図1に示す、非同期通信プロトコルを用いてネットワーク資源を閲覧するための構成に含まれる代表的なサーバについての詳細を示す図。
【図5】代表的な実施形態による、資源に関連した情報と資源に関連した他の情報へのリンクとを含む、ネットワーク資源に関連したタプルを示す図。
【図6】代表的な実施形態による、非同期通信プロトコルを用いてネットワーク資源を閲覧するための方法を示すフローチャート。

【特許請求の範囲】
【請求項1】
非同期通信プロトコルを用いてネットワーク資源を閲覧するための方法であって、クライアントにおいて、
ネットワーク資源に関連したタプルの識別子を受信する識別子受信工程と、タプルはネットワーク資源に関連した情報と、ネットワーク資源に関連した他の情報へのリンクとを含むことと、
ネットワーク資源に関連したタプルに対する購読を要求するために識別子を用いる購読要求工程と、
ネットワーク資源に関連したタプルに対する購読に基づき、ネットワーク資源に関連した情報とリンクとを含む通知を受信する通知受信工程と、からなる方法。
【請求項2】
クライアントの表示空間において、ネットワーク資源に関連した情報の少なくとも一部、リンクまたはその両方を表示する表示工程と、
ネットワーク資源に関連した情報の少なくとも一部、リンクまたはその両方をクライアントに関連したプリンシパルによって使用可能なフォーマットへ変換する変換工程と、を含む請求項1に記載の方法。
【請求項3】
表示工程、変換工程またはその両方は、タプルの種類を記述するネットワーク資源に関連したタプルに含まれる情報に基づく請求項2に記載の方法。
【請求項4】
ネットワーク資源に関連した情報に含まれるフォームフィールド要素を有するフォームオブジェクトを受信するフォーム受信工程と、
クライアントの表示空間にフォームフィールド要素を表示するフォーム表示工程と、
フォームフィールド要素に対応するフォーム入力を受信する入力受信工程と、
受信したフォーム入力をフォームフィールド要素と関連させる入力関連工程と、
受信したフォーム入力を送信するためのアクションを検出するアクション検出工程と、を含む請求項1に記載の方法。
【請求項5】
アクション検出工程に応答して、ネットワーク資源に関連したタプル、リンクに関連した別のタプルおよびフォームオブジェクトに関連したタプルのうちの1つ以上に対し、受信したフォーム入力を発行する工程を含む請求項4に記載の方法。
【請求項6】
ネットワーク資源に関連したタプルに対しフォーム入力が発行されるとき、ネットワーク資源に関連したタプルに対する購読に基づき、フォーム送信の結果を含む通知を受信する工程を含む請求項5に記載の方法。
【請求項7】
フォームオブジェクトに関連したタプルに対しフォーム入力が発行されるとき、
フォームオブジェクトに関連したタプルに対する購読を要求するために、ネットワーク資源に関連した情報に含まれるフォームオブジェクトに関連した識別子を用いる工程と、
フォームオブジェクトに関連したタプルに対する購読に基づき、フォーム送信の結果を含む通知を受信する工程と、を含む請求項5に記載の方法。
【請求項8】
フォームオブジェクトに関連したタプルはクライアントに関連したプリンシパルとネットワーク資源に関連したプリンシパルとの間で共有される請求項5に記載の方法。
【請求項9】
アクション検出工程に応答して、受信したフォーム入力を同期通信プロトコルを用いてネットワークサーバに送信する工程を含む請求項5に記載の方法。
【請求項10】
タプルに含まれるリンクに関連したリンク種類を用いてネットワーク資源とネットワー
ク資源に関連した他の情報との関係を判定する工程を含む請求項1に記載の方法。
【請求項11】
複数の関連するネットワーク資源に関連したタプルの識別子の一覧の使用、維持またはその両方を行う工程を含む請求項1に記載の方法。
【請求項12】
クライアント、クライアントに関連したプリンシパルまたはその両方の識別情報は認証されることと、ネットワーク資源に関連したタプルに対する購読の要求、通知の受信またはその両方は、クライアントによる購読の要求、通知の受信またはその両方に先立って、認証された識別情報に基づき認可されることと、を含む請求項1に記載の方法。
【請求項13】
クライアント、クライアントに関連したプリンシパルまたはその両方の識別情報は、ネットワーク資源に関連したタプルへアクセスすることを認可されたクライアント、プリンシパルまたはその両方の識別情報を含む登録一覧に関連したタプルに含まれる請求項12に記載の方法。
【請求項14】
ネットワーク資源を閲覧するために非同期通信プロトコルに加え同期通信プロトコルを提供する工程を含む請求項1に記載の方法。
【請求項15】
同期通信プロトコルは、要求/応答プロトコルおよびハイパーテキスト転送プロトコル(HTTP)のうちの1つ以上を含む請求項14に記載の方法。
【請求項16】
非同期通信プロトコルは、発行/購読(pub/sub)プロトコル、プレゼンスプロトコル、XMPP(Extensible Messaging and Presence Protocol)およびSIMPLE(Simple Instant Messaging and Presence Protocol)のうちの1つ以上を含む請求項1に記載の方法。
【請求項17】
識別子は、クライアントの制御構成要素に識別子を入力すること、またはクライアントの表示空間に表示されたリンクを選択することに応答して受信される請求項1に記載の方法。
【請求項18】
複数のクライアントもしくは関連するプリンシパルまたはその両方は、ネットワーク資源に関連したタプルに対するそれぞれの購読に基づき、ネットワーク資源に関連した情報およびリンクを含む通知を各々受信する請求項1に記載の方法。
【請求項19】
非同期通信プロトコルを用いてネットワーク資源を閲覧するためのクライアントであって、
ネットワーク資源に関連したタプルの識別子を受信するように構成されたユーザインタフェース構成要素と、タプルはネットワーク資源に関連した情報と、ネットワーク資源に関連した他の情報へのリンクとを含むことと、
ユーザインタフェース構成要素に結合されており、ネットワーク資源に関連したタプルに対する購読を要求するために識別子を用いるように構成され、かつ、ネットワーク資源に関連したタプルに対する購読に基づき、ネットワーク資源に関連した情報とリンクとを受信するように構成されたプロトコルエージェント構成要素と、
プロトコルエージェント構成要素に結合されており、非同期通信プロトコルを用いて、プロトコルエージェント構成要素がネットワーク資源に関連したタプルに対する購読を要求し、ネットワーク資源に関連した情報とリンクとを受信することを可能とするように構成された通信プロトコルスタック構成要素と、からなるクライアント。
【請求項20】
情報の種類に基づきネットワーク資源に関連した情報とリンクとを処理するように構成
されたコンテンツハンドラ構成要素を含む請求項19に記載のクライアント。
【請求項21】
コンテンツハンドラ構成要素は、クライアントの表示空間において、ネットワーク資源に関連した情報の少なくとも一部、リンクまたはその両方を表示することと、ネットワーク資源に関連した情報の少なくとも一部、リンクまたはその両方をクライアントに関連したプリンシパルによって使用可能なフォーマットへ変換することとのうちの1つ以上を実行するように構成された表示マネージャ構成要素を含む請求項20に記載のクライアント。
【請求項22】
コンテンツハンドラ構成要素は、ネットワーク資源に関連した情報とリンクとを受信することと、情報、リンクまたはその両方を表示マネージャ構成要素によって使用可能なフォーマットへ構文解析すること、変換することまたはその両方を行うことと、ネットワーク資源に関連した情報に含まれるフォームフィールド要素を有するフォームオブジェクトを識別することとのうちの1つ以上を実行するように構成されたパーサ構成要素を含む請求項21に記載のクライアント。
【請求項23】
コンテンツハンドラ構成要素は、クライアントの制御構成要素への識別子の入力またはクライアントの表示空間に表示されたリンクの選択に応答してユーザインタフェース構成要素から識別子を受信することと、フォームフィールド要素に対応するフォーム入力を受信することとのうちの1つ以上を実行するように構成された入力マネージャ構成要素を含む請求項22に記載のクライアント。
【請求項24】
コンテンツハンドラ構成要素は、パーサ構成要素によって識別されたフォームオブジェクトおよびフォームフィールド要素を管理することと、フォームフィールド要素に対応するフォーム入力を入力マネージャ構成要素から受信することと、受信したフォーム入力をフォームフィールド要素と関連させることとのうちの1つ以上を実行するように構成されたフォームマネージャ構成要素を含む請求項23に記載のクライアント。
【請求項25】
プロトコルエージェント構成要素は、受信したフォーム入力を送信するためのアクションをユーザインタフェース構成要素が検出することに応答して、ネットワーク資源に関連したタプル、リンクに関連した別のタプルおよびフォームオブジェクトに関連したタプルのうちの1つ以上に対し、フォーム入力を発行するように構成されている請求項24に記載のクライアント。
【請求項26】
プロトコルエージェント構成要素はコンテンツハンドラ構成要素に結合されており、ネットワーク資源に関連したタプルに対する購読に基づき、フォーム送信の結果を含む通知を受信するように構成されている請求項25に記載のクライアント。
【請求項27】
ネットワーク資源に関連した情報およびクライアントによって受信される他のコンテンツを、情報および他のコンテンツのそれぞれの種類に基づき処理するように各々構成されている1つ以上の追加のコンテンツハンドラ構成要素を含む請求項19に記載のクライアント。
【請求項28】
通信プロトコルスタック構成要素と複数のコンテンツハンドラ構成要素の各々との間に結合されたコンテンツマネージャ構成要素と、コンテンツマネージャ構成要素は、ネットワーク資源に関連した情報および他のコンテンツを、情報および他のコンテンツの種類に基づき1つ以上のコンテンツハンドラ構成要素に対しルーティングするように構成されていることと、を含む請求項27に記載のクライアント。
【請求項29】
追加のコンテンツハンドラ構成要素のうちの1つ以上に結合された第2の通信プロトコ
ルスタック構成要素と、第2の通信プロトコルスタック構成要素は、同期通信プロトコルを用いて同1つ以上の追加のコンテンツハンドラ構成要素と情報を交換するように構成されていることと、を含む請求項27に記載のクライアント。
【請求項30】
同期通信プロトコルは、要求/応答プロトコルおよびハイパーテキスト転送プロトコル(HTTP)のうちの1つ以上を含む請求項29に記載のクライアント。
【請求項31】
非同期通信プロトコルは、発行/購読(pub/sub)プロトコル、プレゼンスプロトコル、XMPP(Extensible Messaging and Presence Protocol)およびSIMPLE(Simple Instant Messaging and Presence Protocol)のうちの1つ以上を含む請求項19に記載のクライアント。
【請求項32】
非同期通信プロトコルを用いてネットワーク資源を閲覧することを可能とするためのサーバであって、
1つ以上のネットワーク資源と、
ネットワーク資源に結合されており、ネットワーク資源に関連した情報と、ネットワーク資源に関連した他の情報へのリンクとをネットワーク資源に関連したタプルに対し発行するため、およびタプルに対する購読に基づき情報とリンクとを発行するための通知を受信するように構成された資源エージェント構成要素と、
資源エージェント構成要素に結合されており、非同期通信プロトコルを用いて、資源エージェント構成要素が通知を受信し、ネットワーク資源に関連した情報とリンクとを発行することを可能とするように構成された通信プロトコルスタック構成要素と、からなるサーバ。
【請求項33】
第2のネットワーク資源に結合された第2の通信プロトコルスタック構成要素と、第2の通信プロトコルスタック構成要素は、同期通信プロトコルを用いて第2のネットワーク資源と情報を交換するように構成されていることと、を含む請求項32に記載のサーバ。
【請求項34】
同期通信プロトコルは、要求/応答プロトコルおよびハイパーテキスト転送プロトコル(HTTP)のうちの1つ以上を含む請求項33に記載のサーバ。
【請求項35】
非同期通信プロトコルは、発行/購読(pub/sub)プロトコル、プレゼンスプロトコル、XMPP(Extensible Messaging and Presence Protocol)およびSIMPLE(Simple Instant Messaging and Presence Protocol)のうちの1つ以上を含む請求項32に記載のサーバ。
【請求項36】
非同期通信プロトコルを用いてネットワーク資源を閲覧するためのコンピュータプログラムを格納しているコンピュータ可読媒体であって、コンピュータプログラムは、
クライアントにおいて、
ネットワーク資源に関連したタプルの識別子を受信する工程と、タプルはネットワーク資源に関連した情報と、ネットワーク資源に関連した他の情報へのリンクとを含むことと、
ネットワーク資源に関連したタプルに対する購読を要求するために識別子を用いる工程と、
ネットワーク資源に関連したタプルに対する購読に基づき、ネットワーク資源に関連した情報とリンクとを含む通知を受信する工程と、を実行可能な命令を含む、コンピュータ可読媒体。
【請求項37】
コンピュータプログラムはクライアントにおいて、
クライアントの表示空間において、ネットワーク資源に関連した情報の少なくとも一部、リンクまたはその両方を表示する工程と、
ネットワーク資源に関連した情報の少なくとも一部、リンクまたはその両方をクライアントに関連したプリンシパルによって使用可能なフォーマットへ変換する工程と、のうちの1つ以上を実行可能な命令を含む請求項36に記載のコンピュータ可読媒体。
【請求項38】
コンピュータプログラムはクライアントにおいて、
ネットワーク資源に関連した情報に含まれるフォームフィールド要素を有するフォームオブジェクトを受信するフォーム受信工程と、
クライアントの表示空間にフォームフィールド要素を表示するフォーム表示工程と、
フォームフィールド要素に対応するフォーム入力を受信する入力受信工程と、
受信したフォーム入力をフォームフィールド要素と関連させる入力関連工程と、
受信したフォーム入力を送信するためのアクションを検出するアクション検出工程と、のうちの1つ以上を実行可能な命令を含む請求項36に記載のコンピュータ可読媒体。
【請求項39】
アクション検出工程に応答して、コンピュータプログラムはクライアントにおいて、ネットワーク資源に関連したタプル、リンクに関連した別のタプルおよびフォームオブジェクトに関連したタプルのうちの1つ以上に対し、受信したフォーム入力を発行する工程を実行可能な命令を含む請求項38に記載のコンピュータ可読媒体。
【請求項40】
ネットワーク資源に関連したタプルに対しフォーム入力が発行されるとき、コンピュータプログラムはクライアントにおいて、ネットワーク資源に関連したタプルに対する購読に基づき、フォーム送信の結果を含む通知を受信する工程を実行可能な命令を含む請求項39に記載のコンピュータ可読媒体。
【請求項41】
フォームオブジェクトに関連したタプルに対しフォーム入力が発行されるとき、コンピュータプログラムはクライアントにおいて、
フォームオブジェクトに関連したタプルに対する購読を要求するために、ネットワーク資源に関連した情報に含まれるフォームオブジェクトに関連した識別子を用いる工程と、
フォームオブジェクトに関連したタプルに対する購読に基づき、フォーム送信の結果を含む通知を受信する工程と、を実行可能な命令を含む請求項39に記載のコンピュータ可読媒体。
【請求項42】
アクション検出工程に応答して、コンピュータプログラムはクライアントにおいて、受信したフォーム入力を同期通信プロトコルを用いてネットワークサーバに送信する工程を実行可能な命令を含む請求項39に記載のコンピュータ可読媒体。
【請求項43】
コンピュータプログラムはクライアントにおいて、タプルに含まれるリンクに関連したリンク種類を用いてネットワーク資源とネットワーク資源に関連した他の情報との関係を判定する工程を実行可能な命令を含む請求項36に記載のコンピュータ可読媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2008−546107(P2008−546107A)
【公表日】平成20年12月18日(2008.12.18)
【国際特許分類】
【出願番号】特願2008−514983(P2008−514983)
【出願日】平成18年6月28日(2006.6.28)
【国際出願番号】PCT/US2006/025442
【国際公開番号】WO2007/005546
【国際公開日】平成19年1月11日(2007.1.11)
【出願人】(507282129)スウィフト クリーク システムズ リミテッド ライアビリティ カンパニー (4)
【氏名又は名称原語表記】SWIFT CREEK SYSTEMS,LLC
【Fターム(参考)】