(57)【要約】様々な実施例は、ｒｓｓｈｔｔｐオブジェクトと呼ばれる特別なオブジェクトを利用して、ＲＳＳフィードを得て、フィードを処理し、ウェブ・ページ又はアプリケーションにオブジェクト・モデルをエクスポーズする。ｒｓｓｈｔｔｐオブジェクトは、フィードの関連するＲＳＳデータによって解析することができ、フィードデータを例えばＲＳＳ  ２．０のような標準フォーマットへ標準化することができ、必要ならばフィードデータをサニタイズすることができ、ウェブ・ページ及びアプリケーションとの相互作用のために標準化されたオブジェクト・モデルを提示することができる。
2009528648.tif 000002
【特許請求の範囲】
【請求項１】
１つ又は複数のコンピュータ可読媒体を具備し、
前記１つ又は複数のコンピュータ可読媒体上のコンピュータ可読命令は、実行されると、
ＲＳＳフィードを取得し（５１０）、
前記ＲＳＳフィードを処理して、前記フィードに関連したオブジェクト・モデルを提供し（５１２）、
関連するフィードデータについて記述するＸＭＬを理解する必要なしにエンティティが前記フィードデータと相互作用することができるように、エンティティに前記オブジェクト・モデルをエクスポーズする（５１４）
ように構成されたオブジェクトを実装する、システム。
【請求項２】
前記オブジェクトはアドホックベースでフィードを取って来るように構成される請求項１に記載のシステム。 
【請求項３】
前記オブジェクトは予定された方式でフィードを取って来るように構成される請求項１に記載のシステム。 
【請求項４】
前記オブジェクトは、ユーザがＲＳＳフィードを予約購読することを可能にするように構成される請求項１に記載のシステム。 
【請求項５】
前記オブジェクトは、前記オブジェクトによって得られて前記フィードのフォーマットを標準フォーマットへ標準化するＲＳＳフィードに関連付けられたＸＭＬを解析するように構成され、前記オブジェクト・モデルは前記標準フォーマットを表す請求項１に記載のシステム。
【請求項６】
前記オブジェクトはＲＳＳフィードデータをキャッシュするように構成される請求項１に記載のシステム。
【請求項７】
前記オブジェクトはＲＳＳフィードデータを集めるように構成される請求項１に記載のシステム。
【請求項８】
前記オブジェクト・モデルは、
特定のＲＳＳフィードに関連したフィードオブジェクトと、
フィードの特定の項目に関連した項目オブジェクトと、
フィードの特定のエンクロージャに関連したエンクロージャ・オブジェクトとを含み、前記オブジェクト・モデルの個々のオブジェクトは関連する方法及びプロパティを有する請求項１に記載のシステム。
【請求項９】
前記オブジェクトはブラウザの一部を含む請求項１に記載のシステム。
【請求項１０】
１つ又は複数のコンピュータ可読媒体を具備し、
前記１つ又は複数のコンピュータ可読媒体上のコンピュータ可読命令は、実行されると、
ＲＳＳフィードの要求を受け取り（５０２）、
関連するＲＳＳソースに対して対応する要求を行い（５０４）、
前記要求に関連したＲＳＳフィードデータを受け取り（５１０）、
前記ＲＳＳフィードデータに関連したＸＭＬを解析して、前記ＲＳＳフィードデータに関連する呼び出し可能な方法及びプロパティを少なくとも一部が有する個々のオブジェクトを含む標準化されたオブジェクト・モデルを構築し（５１２）、
アプリケーション又はウェブ・ページに前記オブジェクト・モデルをエクスポーズする（５１４）
ように構成されたウェブ・ブラウザを実装する、システム。
【請求項１１】
前記オブジェクト・モデルは、
特定のＲＳＳフィードに関連したフィードオブジェクトと、
フィードの特定の項目に関連した項目オブジェクトと、
フィードの特定のエンクロージャに関連したエンクロージャ・オブジェクトとを含む請求項１０に記載のシステム。
【請求項１２】
前記ウェブ・ブラウザは、ＲＳＳフィード又は項目を求めるスケジューリング要求を受け取り、関連するスケジュールに従ってＲＳＳソースに対して要求を行うように構成される請求項１０に記載のシステム。
【請求項１３】
前記ウェブ・ブラウザは、登録要求を受け取り、関連するイベントについて情報を求めるように構成される請求項１０に記載のシステム。
【請求項１４】
前記ウェブ・ブラウザは、登録要求を受け取り、関連するイベントについて情報を求めるように構成され、発生するイベントに関連した通知を生成するように構成される請求項１０に記載のシステム。 
【請求項１５】
コンピュータにより実行される方法であって、
ＲＳＳフィードの要求を受信するステップ（５０２）と、
関連するＲＳＳソースに対して対応する要求を行うステップ（５０４）と、
前記要求に関連したＲＳＳフィードデータを受信するステップ（５１０）と、
前記ＲＳＳフィードデータに関連したＸＭＬを解析するステップと、
標準化されたオブジェクト・モデルを構築するステップ（５１２）であって、前記標準化されたオブジェクト・モデルは、前記ＲＳＳフィードデータに関連する呼び出し可能な方法及びプロパティを少なくとも一部が有する個々のオブジェクトを含む、構築するステップと、
アプリケーション又はウェブ・ページに前記オブジェクト・モデルをエクスポーズするステップ（５１４）とを具備する方法。
【請求項１６】
前記オブジェクト・モデルは、
特定のＲＳＳフィードに関連したフィードオブジェクトと、
フィードの特定の項目に関連した項目オブジェクトと、
フィードの特定のエンクロージャに関連したエンクロージャ・オブジェクトとを含む請求項１５に記載の方法。
【請求項１７】
ＲＳＳフィード又は項目を求めるスケジューリング要求を受信するステップと、
関連するスケジュールに従ってＲＳＳソースに対して要求を行うステップとをさらに含む請求項１５に記載の方法。  
【請求項１８】
登録要求を受信するステップと、
関連するイベントについての情報を求めるステップとをさらに含む請求項１５に記載の方法。
【請求項１９】
登録要求を受信するステップと、
関連するイベントについての情報を求めるステップと、
発生するイベントに関連した通知を生成するステップとをさらに含む請求項１５に記載の方法。
【請求項２０】
前記動作はウェブ・ブラウザによって実行される請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＳＳデータ処理オブジェクトに関する。
【背景技術】
【０００２】
ＲＳＳ（Really Simple Syndicationを表す）はウェブコンテンツ配信（シンジケーション、Syndication）フォーマットの一種である。ＲＳＳウェブ・フィードはウェブ上でますます流行してきており、ＲＳＳサポートを備えた多数のソフトウェア・アプリケーションが開発されている。通常、ウェブ・ページ及び他のアプリケーションがＲＳＳデータを使いたい場合、当該ウェブ・ページ又はアプリケーションは、ＲＳＳフィードによって解析してデータを提供するために、Ｊａｖａｓｃｒｉｐｔ（登録商標）等のあるタイプのスクリプトを使用する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このシナリオを特に難しいものとするのは、ＲＳＳには様々なバージョン及び異なるフォーマット、例えばＲＳＳ  ０．９１、０．９２、１．０、２．０及びＡｔｏｍの形式があるということである。これにより、ＲＳＳ解析のためのスクリプトあるいはコードの開発は、重要で、エラーの起こりやすいものとなる。
【課題を解決するための手段】
【０００４】
様々な実施例においては、ｒｓｓｈｔｔｐオブジェクトと呼ばれる特別のオブジェクトを利用して、ＲＳＳフィードを得て、フィードを処理し、ウェブ・ページ又はアプリケーションにオブジェクト・モデルをエクスポーズ（expose）する。ｒｓｓｈｔｔｐオブジェクトは、フィードの関連するＲＳＳデータを介して解析することができ、フィードデータを標準フォーマット、例えばＲＳＳ  ２．０へ標準化し、必要ならばフィードデータをサニタイズ（sanitize）し、次に、ウェブ・ページ及びアプリケーションとの相互作用のために標準化されたオブジェクト・モデルを提示する。少なくともいくつかの実施例では、ｒｓｓｈｔｔｐオブジェクトは、ユーザにより要求された場合にフィードを取ってきて処理するようにすることで、アドホックベースで作用するように、又は、フィードが予定された方式で取って来られて処理されるような予定された方式で作用するように、構成することができる。オブジェクト・モデルの使用によって、ウェブ・ページとアプリケーションは、異なるフィードフォーマットの複雑さを理解する必要なしに、関連するフィードデータにアクセスしそれを意味のあるように使用することができる。
【発明を実施するための最良の形態】
【０００５】
様々な実施例は、ＲＳＳデータを処理するために特別のオブジェクトを利用する。本明細書において、この特別のオブジェクトはｒｓｓｈｔｔｐオブジェクトと呼ばれ、ＲＳＳフィードを得て、当該フィードを処理し、ウェブ・ページ又はアプリケーションにオブジェクト・モデルをエクスポーズ（露出、expose）するように構成される。このオブジェクトが「ｒｓｓｈｔｔｐ」オブジェクトと呼ばれる一方、オブジェクトをｈｔｔｐのみに関連するアプリケーションに限定するものと解釈されるべきでないということは当然であるし、そのように理解されるべきである。１つの実施例では、オブジェクトはＣＯＭオブジェクトとして実施することができる。
【０００６】
ｒｓｓｈｔｔｐオブジェクトは、フィードの関連するＲＳＳデータによって解析することができ、フィードデータを標準フォーマット、例えば ＲＳＳ  ２．０へと標準化し、必要ならばフィードデータをサニタイズし、次に、ウェブ・ページ及びアプリケーションとの相互作用（インタラクション、interaction）のために標準化されたオブジェクト・モデルを提示する。少なくともいくつかの実施例では、ｒｓｓｈｔｔｐオブジェクトは、ユーザにより要求された場合にフィードを取ってきて（フェッチして）処理するようにすることで、アドホックベースで作用するように、又は、フィードが予定された方式で取って来られて処理されるような予定された方式で作用するように、構成することができる。オブジェクト・モデルの使用によって、ウェブ・ページとアプリケーションは、フィードデータについて記述するＸＭＬのような、異なるフィードフォーマットの複雑さを理解する必要なしに、関連するフィードデータにアクセスし意味のあるように使用することができる。もちろん、オブジェクト・モデルの外でＲＳＳデータと相互作用することを望むウェブ・ページ及びアプリケーションは、それを選択すればそうすることができる。
【０００７】
例示的なシステムの概説
図１は、例示的なシステムを１００として一般に図示しており、本発明の技術を１つの実施例において使用することができる。ここで、システム１００は、１つ又は複数の計算装置を、インターネット等のネットワークを介して互いに通信するクライアント計算装置１０２及び１つ又は複数のサーバ１０４の形で含んでいる。この例において、クライアント計算装置は、実行可能でコンピュータ読取可能な命令が存在する１つ又は複数のプロセッサ１０６及び１つ又は複数のコンピュータ可読媒体１０８を含む。この例において、コンピュータ可読媒体１０８は、ウェブ・ブラウザ１１０を実装するコードを含んでいる。
【０００８】
この例において、ウェブ・ブラウザ１１０は、個々のページがＪａｖａｓｃｒｉｐｔ（登録商標）、ＤＨＴＭＬ等をサポートするか含むことができる１つ又は複数のウェブ・ページ１１２を表示するように構成される。さらに、少なくともいくつかの実施例では、ブラウザ１１０は、１つ又は複数のｒｓｓｈｔｔｐオブジェクト１１４、及び、選択的に１つ又は複数のｘｍｌｈｔｔｐオブジェクト１１６を含むか、さもなければ使用する。
【０００９】
この例において、ｒｓｓｈｔｔｐオブジェクトはアドホックベースで必要なフィード又はユーザによって予約されるフィードのような、ＲＳＳフィードを得るために利用される。少なくともいくつかの実施例では、ｒｓｓｈｔｔｐオブジェクトは、既知のｘｍｌ／ｈｔｔｐ技術を使用して、フィードを得るための手段として、ｘｍｌｈｔｔｐオブジェクト１１６を利用することができる。
【００１０】
ｒｓｓｈｔｔｐオブジェクトが、ＲＳＳフィードを例えばサーバ１０４から得る場合、潜在的なＲＳＳフォーマット又はＲＳＳデータについて記述するＸＭＬに関して何も知る必要なしにアプリケーション及びスクリプトがＲＳＳデータと相互作用することを可能にする多くの機能を実行するために、当該ｒｓｓｈｔｔｐオブジェクトはフィード上で動作することができる。より具体的には、以下においてより詳細に説明されるように、ｒｓｓｈｔｔｐオブジェクトは、ＲＳＳフィードを処理して、その後アプリケーション及びウェブ・ページにエクスポーズされるオブジェクト・モデルを構築する。
【００１１】
ｒｓｓｈｔｔｐオブジェクトの１つの具体例に過ぎないものではあるが、以下の節を考慮されたい。 
【００１２】
例示的なＲＳＳＨＴＴＰオブジェクト
図２は、１つの実施例によるシステムを一般に２００として図示する。ここで、システム２００は１つ又は複数のアプリケーション／ウェブ・ページ２０１、１つ又は複数のｒｓｓｈｔｔｐオブジェクト２０２及び記憶部２１４を含んでいる。
【００１３】
１つの実施例において、ｒｓｓｈｔｔｐオブジェクト２０２は、フィード検索コンポーネント２０４、オブジェクト・モデル・ビルダ２０６、オブジェクト・モデル２０８、キャッシング・コンポーネント２１０及び統合（aggregation）コンポーネント２１２を含んでいる機能あるいはコンポーネントを含む。
【００１４】
１つの実施例において、フィード検索コンポーネント２０４は、フィード予約購読（subscription）コンポーネント２１６及びアドホック検索コンポーネント２１８を含んでいる。フィード検索コンポーネント２０４は、フィードがｒｓｓｈｔｔｐオブジェクトによって取得されて処理されることを可能にするように構成される。
【００１５】
この特定の例において、フィード予約購読コンポーネント２１６によって、ユーザは、特定のＲＳＳフィードを予約購読することができる。このことは、フィードに関連付けられたＵＲＬを指定するユーザ、ウェブサイトあるいはアプリケーションによって通常行うことができる。一旦ＵＲＬが指定されれば、予約購読コンポーネント２１６は、フィードを予約購読し、そのフィードに関連した最新情報がユーザによる消費のために利用可能であることを保証することができる。予約購読コンポーネント２１６は、予定された方式で新しい情報についてＲＳＳフィードを定期的にチェックすることにより、これを行うことができる。スケジュールは、ｒｓｓｈｔｔｐオブジェクトが設定するものであってもよいし、ＲＳＳフィードを提供するサーバ等のエンティティ（entity）とネゴシエートされるものであってもよい。
【００１６】
フィード予約購読コンポーネント２１６に加えて、フィード検索コンポーネント２０４はまた、この例において、アドホック検索コンポーネント２１８を含んでいる。この実施例では、アドホック検索コンポーネント２１８は、アドホックベースでＲＳＳフィードを得るように動作可能である。例えば、ユーザが特別に興味のあるフィードを見る場合、アドホック検索コンポーネント２１８がユーザにより指定されたフィードを取得するためのステップをとることができる時点で、関連するリンクをクリックしてもよい。
【００１７】
１つの実施例において、オブジェクト・モデル・ビルダ２０６は、パーサー（解析器、parser）・コンポーネント２２０、サニタイザ（sanitizer）・コンポーネント２２２、標準化コンポーネント２２４及び合併（merger）コンポーネント２２６を含む。
【００１８】
この特定の例において、パーサー・コンポーネント２２０は、得られるＲＳＳフィードに関連したＸＭＬを解析するように構成される。当業者によって評価されるように、どんな適切な解析コンポーネントも利用することができる。パーサー・コンポーネントがフィードに作用する場合、パーサー・コンポーネントは、フィードを含む特定の要素を識別するＸＭＬ要素によって解析する。ＲＳＳフィードが多くの異なるフォーマットを有し得ることを思い起こしていただきたい。従って、パーサーは、フィードを含む異なる要素をすべて識別することができる。さらにこれらの要素のうちのいくつかがフィードの基礎的なスキーマを拡張するために使用された要素であり得ることに留意されたい。
【００１９】
この特定の例において、サニタイザ・コンポーネント２２２は、フィードが有することのできる任意の望ましくない特徴又はプロパティのフィードをサニタイズするように構成される。例えば、フィードは、持つのが望ましくない特定のアクティブな又は実行可能なコンテンツを含み得る。この場合、サニタイザ・コンポーネント２２２は、アクティブな又は実行可能なコンテンツをサニタイズするか又は削除する。
【００２０】
標準化コンポーネント２２４は、ＲＳＳデータに作用して、これを標準フォーマット又は共通フォーマットへ標準化する。この例において、当該共通フォーマット又は標準フォーマットはＲＳＳ２．０である。従って、要素を除去するか又は要素をＲＳＳ２．０要素へマッピングするために、ＲＳＳ  ２．０形式と異なる他のフォーマットが作用される。そのため、標準化されたフォーマットでＲＳＳデータを有することは、取り扱い及び処理の際の予測可能性につながる。
【００２１】
この例において、合併コンポーネント２２６は、ＲＳＳデータを処理し、他の関連する状態データに加えて、新しいコンテンツをデータ記憶部２１４に登録し格納する等のことを行う。これにより、オブジェクト・モデルは、それらの登録をするエンティティにイベントを供給するか又は発行（fire）することができる。例えば、新しいコンテンツが特定のフィードから受け取られる場合、アプリケーションは、通知の登録をしてもよい。この例では、オブジェクト２０２がアプリケーションへイベントを発行することができるように、合併コンポーネントは任意のそのような新しいコンテンツを捜すことができる。
【００２２】
オブジェクト・モデル・ビルダ２０６の出力は、少なくともいくつかの実施例において、アプリケーション／ウェブ・ページ２０１にエクスポーズすることができる、標準化されサニタイズされたオブジェクト・モデル２０８である。これらのエンティティは、異なるＲＳＳフィードの複雑さを理解する必要性から当該エンティティを緩和するＲＳＳフィードを定義するＸＭＬの代わりにオブジェクト・モデルと相互作用することができる。もちろん、ＸＭＬと直接相互作用することを望むエンティティについては、それらは自由にそうすることができる。例示的なオブジェクト・モデルは、以下において、「オブジェクト・モデル」なる表題の節で説明される。
【００２３】
１つの実施例において、キャッシング・コンポーネント２１０は、ＲＳＳフィードを提供するサーバによって経験される負荷を軽減するように設計される、キャッシング（caching）・デューティを実行するように構成される。より具体的には、キャッシング・コンポーネントは、必要でない限り要求がなされないように、条件付きのＧＥＴリクエストを利用するように構成することができる。例えば、フィードデータを要求する場合、ｒｓｓｈｔｔｐオブジェクトは、フィードについてのデータを受信した最後の時のタイムスタンプをサーバへ送ることができる。その後、サーバは新しいデータをもって応答することができ、又は、「新しいデータなし」で迅速に応答することができる。さらに、キャッシング・コンポーネントは、キャッシュを迅速に更新することができるように、リクエストが小さいことを保証するように構成することができる。
【００２４】
１つの実施例において、統合コンポーネント２１２は、コンテンツを集めるように構成される。すなわち、通常、ＲＳＳフィードは最も最近の項目だけを提供する。しかし、項目の完全なセットを持つことが望ましい場合がある。統合コンポーネント２１２は、これらの異なった、そして時々日付の付された項目を取得して、データ記憶部２１４に当該項目を集約し、アプリケーション又はウェブ・ページがすべての項目にアクセスすることができるように構成される。
【００２５】
オブジェクト・モデル
図３は、１つの実施例によるオブジェクト・モデル３００の個々のオブジェクトを示す。以下に記述されるオブジェクト・モデルは、利用することができるオブジェクト・モデルの一例を構成するが、特許請求の範囲に記載の発明の応用例を以下に述べるオブジェクト・モデルのみに限定することを意図したものではない。少なくともいくつかの実施例では、オブジェクト・モデルは、アプリケーション又はウェブ・ページによって呼出し可能なＡＰＩによってエクスポーズされる。
【００２６】
この特定のオブジェクト・モデルにおいて、トップ・レベル・オブジェクト・フィード３０２はタイプフィードである。フィード・オブジェクト３０２の下に項目種別の項目オブジェクト３０４があり、項目オブジェクト３０４の下に項目種別のエンクロージャ・オブジェクト３０６がある。
【００２７】
オブジェクト・モデルの個々のオブジェクトは、受信されるウェブ・コンテンツを管理するために利用することができるプロパティ、方法、及びいくつかの実例においてはイベント、を有する。上記オブジェクト・モデルは、ＲＳＳフィードについて記述する潜在的なＸＭＬに関して必ずしも把握する必要なしにフィードを管理しフィードと相互作用するために、階層構造が利用されることを可能にする。
【００２８】
オブジェクト・モデルをさらに考慮し、項目とエンクロージャ・オブジェクト３０４、３０６をそれぞれ考慮する。ここで、これらのオブジェクトは、ＲＳＳがそれ自体どのように構成されるかを非常によく示す。すなわち、各ＲＳＳフィードは、内部が選択的にエンクロージャに見え得る個々の項目を有する。したがって、オブジェクト・モデルの構造は、シンジケーション・フォーマットの構造を反映するように構成される。
【００２９】
オブジェクト・モデルの観点から、基本的に、項目について２つの異なるタイプの方法及びプロパティがある。第１のタイプの方法／プロパティは、読み出し専用のデータに関係し、第２のタイプの方法／プロパティは、読み書きの両方をすることができるデータに関係する。
【００３０】
第１のタイプの方法プロパティの例として、以下を考慮する。各フィードは、ＸＭＬ構造で表わされる関連したデータを有する。このデータは、タイトル、著者、言語等のようなものを含む。読み出し専用のものとして、このようなデータはオブジェクト・モデルによって処理される。これは、アプリケーションがこのデータを操作するのを防ぐ。
【００３１】
他方、特定のフィードの名前等の読み出し／書き込みデータとして扱われるデータがある。すなわち、ユーザは、それらの特定のユーザ・インターフェースのための特定のフィードを個別化したいと考えてもよい。この場合、オブジェクト・モデルは読み出し／書き込みされるプロパティを有する。例えば、ユーザは、「ニューヨークタイムズ」から「ＮＹＴ」へとフィードの名前を変更したいと思うかもしれない。この状況で、名前プロパティは読み出し可能且つ書き込み可能であってもよい。オブジェクト・モデルは、さらにアプリケーションがフィードにデータ／状態を動的に追加することを可能にする「ｅｘｐａｎｄｏ」プロパティで拡張可能になりえる。この１つの例は、項目が、別のデータベース／記憶部におけるデータと容易に一致するために、ｒｓｓ項目の側面に沿った外部キーを格納している。
【００３２】
図４は、１つの実施例に従うそれらのプロパティ及び方法に加えて、オブジェクトあるいはインターフェースＩＩｔｅｍ及びＩＥｎｃｌｏｓｕｒｅオブジェクトに加えて、トップ・レベル・オブジェクトあるいはインターフェースＩＦｅｅｄを示す。他のオブジェクト、インターフェース、方法及びプロパティは、特許請求の範囲に記載の発明の精神及び範囲から逸脱することなく利用することができる。
【００３３】
最初にＩＦｅｅｄオブジェクトから始めて、以下を検討する。このオブジェクトに関連したプロパティの多くは、当業者によって理解されるように、ＲＳＳ自体、例えばタイトル（Title）、Ｕｒｌ、ウェブマスター（Webmaster）、ＳｋｉｐＨｏｕｒｓ、ＳｋｉｐＤａｙｓ、ＭａｎａｇｉｎｇＥｄｉｔｏｒ、ホームページ（Homepage）、ＩｍａｇｅＵＲＬ等に由来する。さらに、関心のあるプロパティの別の組、つまり、フィードの一部であるすべての項目を有する集合である項目プロパティ（Items property）、及びすべてのエンクロージャが書き込まれる実際のディレクトリを提供するＬｏｃａｌＥｎｃｌｏｓｕｒｅＰａｔｈプロパティが存在する。したがって、アプリケーションについては、後者のプロパティは、エンクロージャにアクセスすることを非常に簡単にする。
【００３４】
さらに、このオブジェクトは、特定のフィードを管理するために使用されるダウンロード（Download()）等の方法の小さな組をサポートする。さらに、このオブジェクトは、標準フォーマットでフィードのＸＭＬを返す、方法ＸＭＬ（）をサポートする。ＸＭＬデータは、フィードについての新聞ビューを作成するなどに使用することができる。
【００３５】
項目オブジェクトに移ると、このオブジェクトは、例えば記述（Description）、Ｕｒｌ、タイトル（Title）、著者（Author）など、規則的なＲＳＳ要素を表わす１組のプロパティを有する。さらに、関連する実際のフィードを指すParentプロパティ、及びアプリケーションが、すべての項目にわたって繰り返すことの必要性に対して項目を識別することができるように、Ｉｄプロパティが存在する。さらに、項目のタイプＩＥｎｃｌｏｓｕｒｅのエンクロージャの集合であるエンクロージャ（Enclosures）プロパティがある。さらに、ＩｓＲｅａｄプロパティにより、アプリケーションは、特定の項目が読まれたかどうか示すことが可能となる。
【００３６】
エンクロージャ・オブジェクトに移り、下記を検討する。このオブジェクトは、タイプ（Type）プロパティ（例えばｍｐ３）を含むプロパティ、及び、特定のエンクロージャの長さを例えばバイトで記述する長さ（Length）プロパティを有する。特別のエンクロージャーへのＬｏｃａｌＡｂｓｏｌｕｔｅＰａｔｈも存在する。ダウンロード（Download ()）方法は、個々のエンクロージャがアプリケーションによってダウンロードされ使用されることを可能にする。
【００３７】
アプリケーション及びウェブ・ページに対して上述したオブジェクト・モデルをエクスポーズすることにより、アプリケーション及びウェブ・ページは、フィードについて記述する潜在的なＸＭＬについて把握する必要なしに、またこれを取り扱う必要なしに、オブジェクト、従って、フィードのデータ、と相互作用することができる。もちろん、潜在的なＸＭＬを処理することを望むアプリケーション及びウェブ・ページは、自由にそうすることができる。
【００３８】
例示的な方法
図５乃至７は、１つの実施例による方法のステップを示す流れ図である。当該方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア又はその組合せに関して実施することができる。少なくともいくつかの実施例では、当該方法は、上述されたようなシステム及び以下に述べるようなシステムに関して実施することができる。本明細書に記載されるシステムと異なるシステムを、特許請求の範囲に記載の発明の精神及び範囲から逸脱することなく、説明される方法を実施するために利用することができるのは当然であり、そのように理解すべきである。
【００３９】
図示される方法において、流れ図は、どのエンティティが様々な行為を実行することができるかを説明するために組織されている。従って、アプリケーション又はウェブ・ページによって実行できる行為はそういうものとして指定される。同様に、ｒｓｓｈｔｔｐオブジェクト又はＲＳＳソース（サーバ）によって実行することができる行為はそういうものとして指定される。
【００４０】
図５は、１つの実施例に従ってオブジェクト・モデルを構築する例示的な方法を示す。      
【００４１】
ステップ５００において、アプリケーション又はウェブ・ページは、ＲＳＳフィードをｒｓｓｈｔｔｐオブジェクトに対して要求する。 この要求は、適切にエクスポーズされたアプリケーション・プログラム・インターフェースへの呼び出しを介してなすことができ、アドホックリクエスト、予約購読要求等の任意の適切な種類の要求を構成することができる。
【００４２】
ｒｓｓｈｔｔｐオブジェクトは５０２において要求を受け取り、５０４において、サーバ等の関連するＲＳＳソースにおいて、５０４で、対応する要求を行う。サーバは、５０６において要求を受け取り、５０８においてｒｓｓｈｔｔｐオブジェクトにＲＳＳフィードデータを提供又は送信する。
【００４３】
その後、ｒｓｓｈｔｔｐオブジェクトは、それがアドホック・フィードでない場合、データを標準化し、サニタイズし、記憶部へ合併する。
【００４４】
ｒｓｓｈｔｔｐオブジェクトは、５１０においてＲＳＳフィードデータを受け取り、５１２においてオブジェクト・モデルを構築する。オブジェクト・モデルの特定の例と同様にオブジェクト・モデルがどのように提供されるかについての例は上述されている。一旦オブジェクト・モデルが構築されると、ｒｓｓｈｔｔｐオブジェクトは、５１４においてアプリケーション／ウェブ・ページにオブジェクト・モデルをエクスポーズする。
【００４５】
オブジェクト・モデルが一旦エクスポーズされると、アプリケーション／ウェブ・ページは、ＲＳＳデータと相互作用して消費することができる。これは、オブジェクト・モデルによってエクスポーズされた様々な方法へ呼び出しを行うことにより行うことができる。このように、アプリケーション又はウェブ・ページは、フィードについて記述する潜在的なＸＭＬに関係している必要がない。これは、オブジェクト・モデルが構築されたとき、ＸＭＬが取り除かれたからである。オブジェクト・モデルに加えて、少なくともいくつかの実施例では、エラーの場合にはアプリケーション又はウェブ・ページのために様々なエラーメッセージを生成することができる。エラーは、例えば、失敗したダウンロード、標準化しなかったこと、サニタイズしなかったこと、無効なフィードフォーマット等を含み得る。さらに、様々なステータスを、適切なデータ記憶部において更新又は保存することができる。例えば、「更新されていない」「新しい」、「更新された」、「削除された」等の項目に関連したステータスを記録することができる。
【００４６】
図６は、１つの実施例による、予定された要求を行う例示的な方法を示す。
【００４７】
ステップ６００において、アプリケーション又はウェブ・ページは、ｒｓｓｈｔｔｐオブジェクトへの予定された要求をする。この要求は、適切にエクスポーズされたアプリケーション・プログラム・インターフェースへの呼び出しによってなすことができる。この例において、アプリケーション又はウェブ・ページは、フィードの更新を周期的に受信することを望んでもよい。したがって、アプリケーション又はウェブ・ページによって提供されるか又はサーバとネゴシエートされたスケジュールに従って、規則的なチェックを行うことができる。少なくともいくつかの実施例では、アプリケーション又はウェブ・ページは、毎回要求を行うわけではない。単に最初に要求／スケジュールを設定し、次に、ｒｓｓｈｔｔｐオブジェクトは、自動的にバックグラウンドで要求を行う。
【００４８】
このように、ｒｓｓｈｔｔｐオブジェクトは、スケジュールに従って、６０２において要求を受け取り、サーバ等の関連するＲＳＳソース上で、６０４において、対応する要求を行う。サーバは、６０６において要求を受け取り、要求を満たす何らかのデータがある場合、６０８においてｒｓｓｈｔｔｐオブジェクトに対してＲＳＳフィードデータを提供又は送信する。
【００４９】
ｒｓｓｈｔｔｐオブジェクトは、６１０においてＲＳＳフィードデータを受け取り、６１２においてＲＳＳフィードデータを利用可能にする。このステップは多くの方法で行なうことができる。例えば、リクエストに反応して新しいフィードデータが受け取られる場合、イベントを発行することができ、ユーザに通知することができる。通知は任意の適切な方法で行うことができる。例えば、ユーザのブラウザのユーザ・インターフェース要素は、新しい項目が受け取られたことを示すために活性化されてもよい。代替的に又は追加的に、通知は、電子メール又はインスタント・メッセージ等のように、ユーザのもとへ送信することができ、ポップアップウィンドウ又はアプリケーション／ウェブ・ページＵＩ（ユーザ・インターフェース）は、新しい項目によってそれ自体を更新することができる。
【００５０】
図７は、１つの実施例に従ってイベントの登録をする例示的な方法を示す。
【００５１】
ステップ７００において、アプリケーション又はウェブ・ページは、ｒｓｓｈｔｔｐオブジェクトでイベントを登録する。任意の適切なイベント又は任意の適切な種類のイベントが登録の対象となり得る。例えば、アプリケーション又はウェブ・ページは、新しいフィード項目が加えられるか、フィード項目が変更され、削除され又は読まれる場合に通知を受信することに関心を持つこともある。
【００５２】
ｒｓｓｈｔｔｐオブジェクトは、７０２において登録要求を受け取り、７０４において特定のイベントについて情報を得る。このステップは任意の適切な方法で実施することができる。例えば、ｒｓｓｈｔｔｐオブジェクトは、特定のイベントが発生したかどうか確認するために一定間隔でＲＳＳソース又はサーバをポーリングしてもよい。代替的に又は追加的に、あるイベントが生じたときにＲＳＳソース又はサーバは加入者に通知してもよい。
【００５３】
イベントがステップ７０６において生じる場合、ｒｓｓｈｔｔｐオブジェクトはステップ７０８においてアプリケーション又はウェブ・ページに通知する。例について上述したような任意の適切な通知を提供することができる。イベントが生じない場合、ステップ７０６はステップ７０４に戻り、関心のあるイベントについて情報を求める（listen）。
【００５４】
例示的な実施
図８は、１つの実施例による１つの例示的な特定の実施例又はシステムを一般的に８００において示す。以下で説明される例は、上述の機能をどのように実施することができるかにつき単なる一例を構成するものと評価し理解すべきである。そのため、他の異なる実施例を、特許請求の範囲に記載の発明の精神及び範囲から逸脱することなく利用することができる。
【００５５】
この例において、ウェブ・ページ／ユーザ・インターフェース８０２は、ユーザがシステムと相互作用することを可能にする。このインターフェースは任意の適切なアプリケーションによって提供することができる。例えば、いくつかの実施例では、ブラウザ・インターフェースを使用することができる。システム８００はさらに、ｒｓｓｈｔｔｐオブジェクト８０４、オプションでｘｍｌｈｔｔｐオブジェクト８０６、オプションでＲＳＳプラットフォーム・コンポーネント８０８、ＷｉｎＩＮＥＴコンポーネント８１０及び蓄積データベース８１２を含んでいる。
【００５６】
ここで、ｒｓｓｈｔｔｐオブジェクト８０４は、当業者によって理解される方法でＸＭＬデータにアクセスするためにｘｍｌｈｔｔｐオブジェクト８０６を使用することができる。さらに、この特定の実施例において、これらオブジェクトは、ＲＳＳフィードデータを得るためにＲＳＳプラットフォーム８０８を利用することができる。例示的なプラットフォームは、２００７年１月１１日に公開された米国特許公開公報Ｎｏ．ＵＳ−２００７−００１１６６５−Ａ１に記載されている。
【００５７】
ＷｉｎＩＮＥＴコンポーネント８１０は、当業者によって理解されるように、ネットワーク要求を行うために利用され、蓄積データベース８１２は個々の項目及び状態情報をすべて格納するために使用される。
【００５８】
この実施例を利用する典型的な動作は以下のように生じる。いくつかの例では、アプリケーションの一部として実行するｊｓｃｒｉｐｔコードは、ｒｓｓｈｔｔｐオブジェクト８０４のインスタンスを作成する。その後、ｊｓｃｒｉｐｔコードは、特定のＲＳＳフィードに関連したＵＲＬを使用して、ｒｓｓｈｔｔｐオブジェクトに対して要求をすることができる。その後、ｒｓｓｈｔｔｐオブジェクト８０４はサーバに対して要求することができる。ｘｍｌｈｔｔｐオブジェクト８０６及び／又はＲＳＳプラットフォームが存在する場合、ｒｓｓｈｔｔｐオブジェクトは、ＲＳＳフィードデータを得るためにこれらコンポーネントを利用することができる。
【００５９】
サーバは、その後、ＲＳＳフィードデータをｒｓｓｈｔｔｐオブジェクト８０４に返す。ここで、ｒｓｓｈｔｔｐオブジェクトは、データをサニタイズし、データを標準化し、蓄積データベース８１２内にデータを合併するなどのことをすることができる。これは、一例として、ＲＳＳデータに関連した状態情報を更新することを含み得るがこれに限定されない。一旦これが終わると、ｒｓｓｈｔｔｐオブジェクトは、オブジェクト・モデルを構築し、アプリケーション又はウェブ・ページにオブジェクト・モデルをエクスポーズすることができる。この例において、蓄積データベース８１２は、個々のフィード項目の状態だけでなく様々な予約購読リストも同様に格納する。これにより、アプリケーション又はウェブ・ページ８０２がロードされない場合さえｒｓｓｈｔｔｐオブジェクトがフィード項目を新鮮な状態にしておくことが可能になる。
【００６０】
例えば、ウェブアプリケーションは、ドメイン（ｕｒｌドメイン）ごとにフィードの番号Ｎを予約することができる。これは、始められる場合にウェブアプリケーションが最新のデータを常に持つことを可能にする。
【００６１】
セキュリティ
少なくともいくつかの実施例では、ｒｓｓｈｔｔｐオブジェクトは、ドメインごとのＲＳＳフィード・セキュリティ・モデルを強化するが、これは、特定のドメインからのウェブ・ページが、そのためにユーザから許可を受け取ったユーザのフィード予約購読の一部にアクセスすることのみ可能であることを意味する。これは、例えば、新しい魅力のある方法で画像を表示する新しいスライドショー・ウェブ・ページに対して、ユーザが自身の家族の写真のフィード予約購読へのアクセスを許可する一方、同時に、ユーザの最近のクレジットカード決済のフィードへのこのページのアクセスを制限することを可能にする。
【００６２】
結論
様々な実施例は、ｒｓｓｈｔｔｐオブジェクトと呼ばれる特別なオブジェクトを利用して、ＲＳＳフィードを得て、フィードを処理し、ウェブ・ページ又はアプリケーションにオブジェクト・モデルをエクスポーズする。ｒｓｓｈｔｔｐオブジェクトは、フィードの関連するＲＳＳデータによって解析することができ、フィードデータを例えばＲＳＳ  ２．０のような標準フォーマットへ標準化することができ、必要ならばフィードデータをサニタイズすることができ、ウェブ・ページ及びアプリケーションとの相互作用のために標準化されたオブジェクト・モデルを提示することができる。少なくともいくつかの実施例では、ｒｓｓｈｔｔｐオブジェクトは、ユーザにより要求された場合にフィードを取ってきて処理するようにすることで、アドホックベースで作用するように、又は、フィードが予定された方式で取って来られて処理されるような予定された方式で作用するように、構成することができる。オブジェクト・モデルの使用によって、ウェブ・ページとアプリケーションは、異なるフィードフォーマットの複雑さを理解する必要なしに、関連するフィードデータにアクセスしそれを意味のあるように使用することができる。
【００６３】
本発明は構造的特徴及び／又は方法のステップに特有の用語にて説明されてきたが、添付の特許請求の範囲において定義された発明がここに記載された特定の特徴又はステップに必ずしも限定されないことを理解すべきである。正確に言えば、これら特定の特徴及びステップは、本発明を実施する好ましい形式として開示されるものである。
【図面の簡単な説明】
【００６４】
【図１】本発明の技術を１つの実施例において使用することができる例示的なシステムを示す図である。
【図２】１つの実施例によるシステムを示す図である。
【図３】１つの実施例によるオブジェクト・モデルの個々のオブジェクトを示す図である。
【図４】１つの実施例によるオブジェクト・モデルの個々のオブジェクトを示す図である。
【図５】１つの実施例による方法のステップを説明する流れ図である。
【図６】１つの実施例による方法のステップを説明する流れ図である。
【図７】１つの実施例による方法のステップを説明する流れ図である。
【図８】１つの実施例による１つの例示的な特定の実施例又はシステムを示す図である。
【図１】
2009528648.tif 000003
【図２】
2009528648.tif 000004
【図３】
2009528648.tif 000005
【図４】
2009528648.tif 000006
【図５】
2009528648.tif 000007
【図６】
2009528648.tif 000008
【図７】
2009528648.tif 000009
【図８】
2009528648.tif 000010
【国際調査報告】
2009528648.tif 000011
2009528648.tif 000012