JP5020949B2 - コンテンツ配信プラットフォーム - Google Patents

コンテンツ配信プラットフォーム Download PDF

Info

Publication number
JP5020949B2
JP5020949B2 JP2008518243A JP2008518243A JP5020949B2 JP 5020949 B2 JP5020949 B2 JP 5020949B2 JP 2008518243 A JP2008518243 A JP 2008518243A JP 2008518243 A JP2008518243 A JP 2008518243A JP 5020949 B2 JP5020949 B2 JP 5020949B2
Authority
JP
Japan
Prior art keywords
feed
rss
computer
applications
data
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.)
Active
Application number
JP2008518243A
Other languages
English (en)
Other versions
JP2008547117A (ja
JP2008547117A5 (ja
Inventor
ガンドヒ,アマー・エス
プライティス,エドワード・ジェイ
キム,ジェーン・ティー
リンダセイ,シーン・オー
ヴォン・コッチ,ウォルター・ブイ
ゴウルド,ウィリアム
モーガン,ブルース・エイ
クァン,シンディ
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008547117A publication Critical patent/JP2008547117A/ja
Publication of JP2008547117A5 publication Critical patent/JP2008547117A5/ja
Application granted granted Critical
Publication of JP5020949B2 publication Critical patent/JP5020949B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/55Push-based network services
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

RSSは、本当に簡単な配信(Really Simple Syndication)を表し、ウェブ・コンテンツ配信フォーマットの一種である。RSSウェブ・フィード(web feed)は、ウェブ上では増々普及しつつあり、RSSをサポートした多数のソフトウェアが開発されている。これら多数のアプリケーションは、機構(feature)が様々であり、いくつかの異なるRSS対応アプリケーション(RSS-enabled application)を、ユーザがインストールしなければならないこともあり得る。各RSSアプリケーションは、通例、それ自体の加入(subscription)リストを有する。加入リストが小さいときは、異なるアプリケーションに跨ってこれらの加入を入力し管理することは、ユーザにとって非常に簡単である。しかしながら、加入リストが増大するに連れて、これら異なるRSS対応アプリケーションの各々と関連付けて加入の管理を行うのは非常に困難になる。つまり、加入リストが非同期に非常になりやすくなる。
加えて、ウェブ・フィードは数種類の異なるファイル・フォーマットで送られ、その中で普及しているのはRSS0.91、0.92、1.0、2.0、およびAtomである。各RSS対応アプリケーションは、これらのフォーマットの殆ど、そして恐らく今後はそれら以外もサポートしなければならない。何らかのアプリケーションのためにRSS環境(RSS context)において用いるためにパーザを実装することは、他の場合よりも困難である。アプリケーション開発者の全てが、各フォーマットの複雑さに関して経験および知識を有するRSSの専門家ではないことから、全てのアプリケーション開発者がパーザを正しく実装することは可能性が低い。したがって、潤沢な数のファイル・フォーマットがあるとすると、一部のアプリケーション開発者はこの空間においてアプリケーションを開発しないことを選択し、あるいはそうする場合、異なるファイル・フォーマットを跨って利用可能な機構の全てを最大限利用するようにアプリケーションが構成されない可能性が高い。
RSSおよびウェブ・フィードの別の形態はコンテンツの公開(publishing)に関する。例えば、ブログ(ウェブログ)を有するユーザ数は増加している。無料のブログ・サービスを提供する数多くのサービスが公に利用可能となっている。しかしながら、コンテンツをブログ・サービスに公開することは、むしろ厄介となり得る。何故なら、これには、ブラウザを開き、ブログ・サービスにナビゲートし、署名し、更にエントリをタイプ入力してそれを提出しなければならない場合もあるからである。多くのアプリケーション開発者は、ウェブ・サイトに行かなければならないことによってユーザ・フローを断ち切ることなく、彼ら自身のアプリケーションから公開できれば、それを優先するであろう。加えて、クライアント・デバイスと個々のサービスとの間で通信を行うために用いることができる多くの異なるタイプのプロトコルがある。これを想定すると、アプリケーション開発者が全てのプロトコルを実装することは、可能性が低い。つまり、ユーザの体験はそれが可能な全てではない。
ウェブ・コンテンツ配信プラットフォームのような、コンテンツ配信プラットフォームが、インターネット、イントラネット、個人ネットワーク、またはその他の計算機、あるいはそれ以外というようなソースから取得したコンテンツを管理し、編成し、消費に利用可能にする。実施形態の一部では、このプラットフォームは、多くの異なる種類のアプリケーションによって、ウェブ・コンテンツを取得および編成し、このようなコンテンツを消費のために利用可能にすることができる。これらのアプリケーションは、必ずしも特定の配信フォーマットを理解できてもできなくてもよい。アプリケーション・プログラム・インターフェース(API)がオブジェクト・モデルを露出し、これによってアプリケーションおよびユーザは、フィードの作成、読み取り、更新、削除等というような、多くの異なるタスクを容易に遂行することが可能となる。
加えて、このプラットフォームは、個々のフィード・フォーマットを抽象化し、共通のフォーマットを設けて、プラットフォームに入ってくるフィード・データの使用可能性を促進することができる。更に、このプラットフォームは、エンクロージャを処理し管理する。エンクロージャは、配信了解(syndication-aware)アプリケーションおよび配信了解でないアプリケーション双方に、消費のためにエンクロージャを利用可能とするように、ウェブ・フィードを通じて受信することができる。
全体像
ウェブ・コンテンツ配信プラットフォームのような、コンテンツ配信プラットフォームが、インターネット、イントラネット、個人ネットワーク、またはその他の計算機、あるいはそれ以外というようなソースから取得したコンテンツを管理し、編成し、消費に利用可能にする。この文書の文脈では、RSSウェブ・フィードの関連で用いられるように設計したRSSプラットフォームに関して、プラットフォームを説明する。尚、RSS関連は一例を構成するに過ぎず、特許請求する主題の摘要をRSS関連のみの限定することを意図しているのではないことは認められよう。以下の説明は、読み手側が程度のRSSに精通していることを仮定している。RSSの背景については、読み手に関心があると思われる情報を提供する明細書が多数公に入手可能である。
本文書では、記載するRSSの実施形態の文脈においてある種の用語を用いる。項目(item)とはフィードの基本単位である。通例、項目は、ブログの入口、またはニュース記事/要約を表し、ウェブサイト上にある実際の記事へのリンクを有する。エンクロージャとは、電子メールの添付ファイルと同様であるが、実際のコンテンツへのリンクがあることを除く。フィードとは、リソースにおける項目のリストであり、通常は最も新しく追加された項目である。システム・フィード・リストとは、ユーザを加入させるフィードのリストである。加入とは、新しいフィード項目の通知を受信するために署名する行為を言う。
本文書に記載する種々の実施形態では、プラットフォームは、ウェブ・コンテンツを取得および編成し、このようなコンテンツを多くの異なるタイプのアプリケーションによる消費に利用可能にすることができる。これらのアプリケーションは、特定の配信フォーマットを必ずしも理解できてもできなくてもよい。つまり、実現例では、RSSフォーマットを理解しないアプリケーションでも、本プラットフォームを通じて、当該プラットフォームがRSSフィードを通じて取得した、エンクロージャのようなコンテンツを取得し消費することができる。
本プラットフォームは、アプリケーション・プログラム・インターフェース(API)を備えており、アプリケーション・プログラム・インターフェースがオブジェクト・モデルを露出し、これによってアプリケーションおよびユーザは、フィードの作成、読み取り、更新、削除等というような、多くの異なるタスクを容易に遂行することが可能となる。
少なくとも1つの実施形態では、本プラットフォームは、複数の異なるフィード・パーザを備えており、その各々が、ウェブ・フィードを受信することができる個々のフォーマットを解析することができる。解析されたフォーマットは、次に、共通フォーマットに変換され、これをアプリケーションおよびユーザが利用することができる。共通フォーマットは、いずれの1つの特定のフォーマットによって具体化された特定の観念(notion)であっても、より普遍的にそして理解し易いフォーマットに抽象化するために利用される。
更に、本フォーマットは、プラットフォームは、エンクロージャを処理し管理する。エンクロージャは、配信了解(syndication-aware)アプリケーションおよび配信了解でないアプリケーション双方に、消費のためにエンクロージャを利用可能とするように、ウェブ・フィードを通じて受信することができる。少なくとも一部の実施形態では、APIは、エンクロージャおよびそれに関連があるフィード項目との間の関係の発見に対処する。
以下に続く論述では、最初に、「ウェブ・コンテンツ配信プラットフォーム」という見出しの下で、プラットフォームの一例およびそのコンポーネントについて説明する。この論述に続いて、実現例(「実現例」という見出しの下で)を提供し、アプリケーションおよびユーザが有意かつロバストな方法でプラットフォームと双方向処理を行うことを可能にするオブジェクト・モデルを露出するAPI集合について説明する。

ウェブ・コンテンツ配信プラットフォーム
図1は、一実施形態によるシステム例を示し、全体的に100を付している。システム100の形態は、適したハードウェア、ソフトウェア、ファームウェア、またはその組み合わせであればいずれとでも実施することができる。少なくとも1つの実施形態では、本システムの形態は、ある種のコンピュータ読み取り可能媒体上に常駐するコンピュータ読み取り可能命令として実施する。
この例では、システム100は、コンテンツ配信プラットフォーム102とアプリケーション104の集合体とを備えている。個々のアプリケーションは、異なる方法で本プラットフォームを利用するように構成することができる。これについては、以下で明らかとなろう。少なくとも一部の実施形態では、コンテンツ配信プラットフォームは、ウェブ・コンテンツ配信プラットフォームを備えている。以下に続く論述では、プラットフォーム102をRSSプラットフォームに関して説明する。尚、これは、一例に過ぎないことを意図しており、特許請求する主題の摘要をRSS環境のみに限定することは意図していないことは認められよう。逆に、説明する実施形態の原理は、特許請求する主題の主旨および範囲から逸脱することなく、他の配信環境でも利用することができる。
この例では、プラットフォーム102は、オブジェクト・モデル106を備えており、オブジェクト・モデル106は、アプリケーション104がプラットフォームと双方向処理を行うことを可能にするために、API集合によって露出されている。配信エンジン108が設けられており、とりわけ、ウェブ・コンテンツを取得し、少なくとも一部の実施形態では、このウェブ・コンテンツをいわゆる共通フォーマットに変換するように構成されている。これについては、以下で更に詳しく説明する。
公開エンジン110は、ユーザが、ブログのようなコンテンツを、公開することを許容する。その際、ユーザのアプリケーションまたは計算機とサーバまたはコンテンツを受信する宛先ソフトウェアとの間で通信を行うために利用される通信プロトコルを、APIによって抽象化する。
加えて、少なくとも一部の実施形態では、プラットフォーム102は、フィード・リスト114およびフィード・データ116双方を格納するフィード・ストア112を含む。更に、プラットフォーム102は、少なくとも一部の実施形態では、エンクロージャ120を格納し維持するためにファイル・システム118を利用する。ファイル・システムを用いることにより、利点が得られ、その中には、必ずしも配信フォーマットを理解することのないアプリケーションであっても、対象となり得るエンクロージャを消費することを可能にすることが含まれる。更に、プラットフォーム102は、ポスト・データ124を保持するポスト・キュー122も含み、特定のウェブアクセス可能な場所に貼り付けられる。
先に記したように、プラットフォーム102は、アプリケーションがウェブ・コンテンツにアクセスし、これを消費し公開することを可能にすることができる。したがって、アプリケーション104の集合体は、多くの異なるタイプのアプリケーションを含むことができる。少なくとも一部の実施形態では、アプリケーションのタイプは、配信了解のものと、配信了解でないものとを含むことができる。「配信了解」が意味するのは、アプリケーションが、少なくとも多少は、利用される配信フォーマットを熟知しているということである。つまり、RSSの関連では、配信了解アプリケーションとは、データを処理する、またはそれ以外でRSSフォーマットで表されているコンテンツと双方向処理を行うように構成することができるアプリケーションである。これは、RSSフォーマット・データを解析しこれと有意に双方向処理することができることを含むことができる。同様に、配信了解でないアプリケーションは、通例、配信フォーマットを理解するように構成されていない。とは言え、本プラットフォームを通じることにより、配信了解でないアプリケーションであっても、配信フォーマットでプラットフォームに到達するコンテンツにアクセスしこれを消費することができる。これは、以下で明らかとなろう。
本プラットフォームと双方向処理を行うことができる異なるタイプのアプリケーションを更に具体的に見ていくと、集合体104は、ウェブ・ブラウザ・アプリケーション122、RSSリーダ・アプリケーション124、ディジタル画像ライブラリ・アプリケーション126、メディア・プレーヤ・アプリケーション128、およびブログ・サービス130を含む。この例では、RSSリーダ・アプリケーション124は、配信了解アプリケーションであり、一方メディア・プレーヤ128は必ずしも配信了解アプリケーションでなくてもよい。更に、ウェブ・ブラウザ・アプリケーション122も配信了解アプリケーションであってもなくてもよい。勿論、これらのアプリケーションは、本プラットフォームと双方向処理が可能な異なるタイプのアプリケーションの例を構成するに過ぎない。したがって、例示したアプリケーションと同一または異なる、その他のタイプのアプリケーションも、特許請求する主題の主旨および範囲から逸脱することなく、利用することができる。限定ではない一例として、これらその他のタイプのアプリケーションは、イベントのフィード用カレンダ・アプリケーション、ソーシャル・ネットワーク、連絡先フィード用電子メール・アプリケーション、ピクチャ・フィード用スクリーン・セイバー・アプリケーション、文書フィード用CRM等を含むことができる。
以下に続く論述では、プラットフォーム102の個々のコンポーネントの形態について、更に詳しく、各々それ自体の見出しの下で説明する。

オブジェクト・モデル
図2は、一実施形態によるオブジェクト・モデル106の個々のオブジェクトを示す。説明しようとしているオブジェクト・モデルは、利用することができるオブジェクト・モデルの一例を構成するに過ぎず、特許請求する主題の摘要を、以下に説明するオブジェクト・モデルのみに限定することは意図していない。先に記したように、オブジェクト・モデルはAPIによって露出される。その一例について以下に説明する。
この特定的なオブジェクト・モデルでは、フィードと呼ばれる最上位オブジェクト200を設ける。フィード・オブジェクト200は、タイプ・フォルダの加入(subscription)と呼ばれるプロパティを有する。加入またはフォルダ・オブジェクト202は、フォルダの階層としてモデル化されている。つまり、この特定的な例では、加入またはフォルダ・オブジェクトが有するプロパティは、タイプ・フォルダのサブフォルダ204と、タイプ・フィードのフィード206とを含む。フィード・オブジェクト206の直下には、タイプ項目の項目オブジェクト208があり、項目オブジェクト206の直下には、タイプ・オブジェクトのエンクロージャ・オブジェクト210がある。
オブジェクト・モデルの個々のオブジェクトは、プロパティ、メソッド、そして場合によっては、イベントを有し、これらは、本プラットフォームによって受信されたウェブ・コンテンツを管理するために利用することができる。前述のオブジェクト・モデルによって、階層構造を利用して、フィードリストの管理等のようなことを行うことが可能となる。例えば、フォルダ構造を用いると、プラットフォームはフィード集合に対して実行することができる。当業者には認められようが、これはアプリケーション開発者によって、それを容易にする。例えば、フィード集合に対して実行することにより、ニュース・フォルダ内にある「ニュース」(news)フィード全てをリフレッシュすることが可能になる。
一例として、以下のことを検討する。ユーザが、実際には加入していないフィードと関連のあるデータと双方向処理を行う、または消費したいと仮定する。加入していないフィード、即ち、ルート・レベルの加入フォルダの内部で表されていないフィードについて、同期エンジン108(図1)はフィードを選出し、しかるべき間隔で、このフィードと関連のあるデータを取り出し始める。しかしながら、本プラットフォームを使用するアプリケーションが特定のフィードに加入されることを望まない場合がある。むしろ、アプリケーションは、単に、フィードからのデータにアクセスするためにプラットフォームの機能性を使用したいだけである。この場合、この特定的な実施形態では、加入オブジェクト202は、フィードに加入することなく、フィードをダウンロードさせるメソッドをサポートする。この特定的な例では、アプリケーションはメソッドをコールし、フィードと関連のあるURLをそれに供給する。次いで、プラットフォームはURLを利用して、対象のデータをアプリケーションに引き渡す。このように、アプリケーションは、フィードに加入することさえ必要とせずに、その場で、フィードと関連のあるデータを取得することができる。
更にオブジェクト・モデルについて検討するために、項目およびエンクロージャ・オブジェクト208、210についてそれぞれ検討する。ここでは、これらのオブジェクトは、RSS自体がどのような構造となっているかを非常に良く反映する。つまり、各RSSフィードは、個々の項目を有し、その内側では、エンクロージャが任意に現れることができる。このように、オブジェクト・モデルの構造は、配信フォーマットの構造を反映するように構成されている。
オブジェクト・モデルの観点からは、基本的に、項目には2つの異なるタイプのメソッドおよびプロパティがある。第1のタイプのメソッド/プロパティは読み出しのみのデータに関し、第2のタイプのメソッド/プロパティは読み出しおよび書き込み双方が可能なデータに関する。
第1のタイプのメソッド・プロパティの一例として、以下のことを検討する。各フィードには、XLM構造で表されているデータを関連付けることができる。このデータは、タイトル、著作者、言語等というようなことを含む。このようなデータは、オブジェクト・モデルによって読み出し専用として扱われる。例えば、フィードによって受信され個々の項目と関連付けられているデータは、通例、読み出し専用として扱われる。これによって、アプリケーションがこのデータを操作するのを防止する。XML構造を用いてフィードを表すことによっても、以下のような利点が得られる。同期エンジンが、追加された新しいXMLエレメントを理解しないと仮定する。しかしながら、同期エンジンは、それでも、このエレメントおよびそれに関連のあるデータを、フィード項目データの一部として格納することができる。このエレメントを理解しないアプリケーションにも、このエレメントおよびそれに関連するデータは、発見および消費のためにアプリケーションに利用可能である。
一方、個々のフィードの名称のように、リード/ライト・データとして扱われるデータがある。即ち、ユーザは個々のフィードを彼ら自身のユーザ・インターフェースに合わせて本人専用にしたい場合がある。この場合、オブジェクト・モデルはリード/来とであるプロパティを有する。例えば、ユーザが"New York Times"からのフィードの名称を「NYT」に変更したい場合がある。この状況では、名称プロパティは、読み取り可能および書き込み可能とすることができる。

フィード同期エンジン
図示し説明した実施形態では、フィード同期エンジン108(図1)は、ソースからRSSフィードをダウンロードすることを責務とする。ソースは、ウェブ・サイト、フィード公開サイト等のように、適したフィード・ソースであればいずれでも備えることができる。少なくとも一部の実施形態では、適した有効なURLまたはリソース識別子であればいずれでもフィードのソースを構成することができる。同期エンジンは、フィードを受信し、種々のフィード・フォーマットを処理し、スケジューリングの世話をし、コンテンツおよびエンクロージャのダウンロードを処理し、保管活動を編成する。
図3は、一実施形態によるフィード同期エンジン108の一例を更に多少詳しく示す。この実施形態では、同期エンジンは、フィード・フォーマット・モジュール300、フィード・スケジュール・モジュール302、フィード・コンテンツ・ダウンロード・モジュール304、エンクロージャ・ダウンロード・モジュール306、および保管モジュール308を含む。尚、これらのモジュールは、これらの個々の機能性を明確に記述することを目的に、論理的に別個のモジュールとして示すことは認められ、理解されよう。論理的に別個のモジュールは、特許請求する主題を、ここに記載する特定の構造やアーキテクチャのみに限定することを意図するのではない。

フィード・フォーマット・モジュール−−300
図示し説明した実施形態では、複数の異なるフィード・フォーマットでフィードを受信することができる。限定ではない一例として、これらのフィード・フォーマットは、RSS1.0、1.1、.9x、2.0、Atom.3等を含むことができる。同期エンジンは、フィード・フォーマット・モジュールを通じて、これらのフィードを種々のフォーマットで受信し、フォーマットを解析し、共通フォーマットと呼ぶ、正規化フォーマットにそのフォーマットを変換する。共通フォーマットは、本質的に、全てのサポートするフォーマットの上位集合(superset)である。共通フォーマットを用いることの便益の1つは、フォーマット了解(format-aware)のアプリケーションは、1つのフォーマット、即ち、共通フォーマットのみを知っていればよいことである。加えて、共通フォーマットに変換されたコンテンツを管理することは、プラットフォームは数個ではなく1つのフォーマットだけに関与すればよいので、遥かに容易である。更に、今後追加の配信フォーマットが開発されるに連れて、フィード・フォーマット・モジュールを、そのフォーマットを処理するように改造することができ、同時に、新たなフォーマットを全く分からないアプリケーションであっても、新たなフォーマットでプラットフォームに到達したコンテンツを利用し用いることが可能となる。
共通フォーマットに関して、以下のことを検討する。フォーマットの観点からは、共通フォーマットは、異なるフォーマット間で共通であるXML方式によって表される。異なるフォーマットでは、ある種のエレメントは異なる名称、XMLフォーマットの階層における異なる場所等を有する場合がある。これに応じて、共通フォーマットは、可能な異なるフォーマットの全てから集合的に導出した共通の構造およびシンタックスを呈示することを目的とする。

フィード・スケジュール・モジュール −−302
各フィードは、利用可能な新たなコンテンツがあるか否か確認するために同期エンジン108がチェックすべきについて、それ自体のスケジュールを有することができる。これに応じて、同期エンジンは、フィード・スケジュール・モジュール302を通じて、このようなスケジュールを管理し、サイトならびにユーザおよびシステムの要件や制限を侵さないようにする。
一例として、以下のことを検討する。フィードを最初にダウンロードするとき(即ち、フィードをいつ更新するかというスケジュール)、更新モジュールをフィードのヘッダに含ませることができる。この場合、フィード・スケジュール・モジュール302は、この特定のフィードのために更新スケジュールを維持し、更新スケジュールに応じて新しいコンテンツをチェックする。しかしながら、スケジュール情報が含まれていない場合、フィード・スケジュール・モジュールは、デフォルトのスケジュールを利用して、新しいコンテンツをチェックすることができる。例えば、24時間毎にフィード・コンテンツを再度ダウンロードするというように、適したデフォルトのスケジュールであればいずれでも用いることができる。少なくとも一部の実施形態では、ユーザは異なるデフォルトのワーク・スケジュールを指定することができる。
加えて、少なくとも一部の実施形態では、フィード・スケジュール・モジュールは、最少スケジュールと呼ばれるものをサポートすることができる。最少スケジュールとは、更新の合間の期間を定める最少更新時間のことを指す。即ち、プラットフォームは最少スケジュールが定めるよりも頻繁にフィードを更新することはない。少なくとも一部の実施形態では、ユーザは最少時間を変更することができる。加えて、ユーザはいずれの、または全てのフィードバックの手作業によるリフレッシュを開始することもできる。
デフォルトおよび最少スケジュールをサポートすることに加えて、少なくとも一部の実施形態では、フィード・スケジュール・モジュールは、公開者指定スケジュール(publisher-specified schedule)もサポートすることができる。この名称が暗示するように、公開者指定スケジュールとは、個々の公開者が指定するスケジュールである。例えば、公開者指定スケジュールは、通例、クライアントが次回フィードを更新するまでの分数を指定することができる。これは、RSS0.9x/2.0「ttl」エレメントを用いて指定することができる。同期エンジンは、少なくともその分数が過ぎるまでは、フィードの新しいコピーを取り出さない方がよい。公開者指定スケジュールは、時間、日、週等のような異なる粒度で指定することもできる。
尚、フィード文書の各コピーは異なる公開者指定スケジュールを有することができることを記しておく。例えば、1日の間に、公開者は15分のスケジュールを規定し、次いで夜間には、1時間のスケジュールを規定することもできる。この場合、同期エンジンは、フィードがダウンロードされる毎に、その挙動を更新する。
加えて、少なくとも一部の実施形態では、同期エンジンは、フィード・スケジュール・モジュール302を通じて、飛ばし時間および/または日の観念をサポートする。具体的には、RSS0.9および2.0では、サーバがある日数または時間数拒否し、その間クライアントが更新を行ってはならないようにすることがきる。この場合、同期エンジンは、この設定がサーバによって規定された場合、これらを守り、その時間中フィードを更新しない。
デフォルト、最少、および公開者指定スケジュールに加えて、少なくとも一部の実施形態では、同期エンジンは、ユーザ指定スケジュールおよび手作業の更新の観念をサポートする。更に具体的には、フィード毎に、ユーザはその選択のスケジュールを指定することができる。プラットフォームの観点からは、ユーザ指定スケジュールは、サーバが指定するとの同じ位複雑となる可能性がある。この場合、プラットフォームは、フィード・スケジュール・モジュールを通じて、フィードから抽出した最新のスケジュール、およびユーザ・スケジュールを維持する。少なくとも一部の実施形態では、ユーザ・スケジュールは常に公開者のスケジュールよりも優位に立つ。加えて、いずれの時点でも、アプリケーションは全てのフィードまたは個々のフィードの強制更新を開始することができる。
帯域幅およびサーバの問題点(consideration)に関して、以下のことを検討する。一実施形態によれば、同期エンジンは、2つの関係がある問題に鑑みて設計することができる。第1に、同期はユーザの帯域幅およびCPUについて考えなければならない。第2に、RSSプラットフォームが広く用いられているために、同期エンジンはサーバに対するその影響を考えなければならない。これら2つの問題は、いつそしてどのようにフィードをダウンロードするか双方に影響を及ぼす。
いつフィードをダウンロードするかという視点からは、同期エンジンは、以下の考慮点を念頭に入れて設計することができる。サーバからのスケジュールや、ユーザからのその他のいずれの命令もない場合、同期エンジンは、どれだけ頻繁に更新するかについては、非常に控えめにした方がよい。したがって、少なくとも一部の実施形態では、デフォルトのスケジュールを24時間に設定する。更に、非効率的なサーバがユーザのリソースに悪影響を及ぼすことから保護するために、最少スケジュールは、サーバがどのように指定しても、同期エンジンに過度に頻繁に更新させないように施行することができる。加えて、ログイン時(そして、共通の間隔、例えば、起動時点から1時間毎)における更新は、注意深く管理しなければならない。フィードの更新は、ユーザのログインが完了した後指定の時間期間まで遅らせるとよく、各時間に複数の更新がかち合うのを回避するために、時間を多少ずらすとよい。これは、全ての更新を一度に行わせたいというユーザの要望に対してバランスを取ることができる。更に、先に述べた多飛び越し時間(skip hours)または飛び越し日(skip days)をサーバが用いる場合、クライアントは、猶予期間が終了するやいなや直ちに更新を取り込まない方がよい。代わりに、クライアントは、15分までの範囲でランダムな間隔だけ待ってからコンテンツを取り込むとよい。
これに関して同期エンジンを補助するために、フィード・スケジュール・モジュール302は、フレッシュまたはステール(stale)のような状態をフィード毎に維持することができる。「フレッシュ」状態とは、公開者のスケジュールに基づいて、フィードがフレッシュであることを意味する。「ステール」状態は、公開者のスケジュールが更新を指示しているが、同期エンジンは未だ更新を完了していないことを意味する。最も新鮮なコンテンツに関心があるクライアントは、即座の更新を要求し、それが利用可能になったときに通知を受けることができる。この期待を設定すると、同期エンジンは、コンテンツを更新する際に、ユーザおよびサーバに不利になるようにスケジュールに厳格に従うのではなく、任意の遅延を実施することができる。
どのようにフィードをダウンロードするかに関して、以下のことを検討する。一実施形態では、同期エンジンは、タスク・スケジューラを用いて既定の時点に同期エンジン・プロセスを起動(launch)することができる。同期エンジンが完了した後、次に同期エンジンを再度起動するときにタスク・スケジュールを更新する(即ち、NextSynEngineLauchTime)。
同期エンジンが起動すると、NextUpdateTimeがCurrentTime以下である「保留中の」フィード全てを整列させ、次いで以下のようにこれらを処理する。フィード毎に、以下のプロパティを追跡する。LastUpdatTime, NextUpdateTime、間隔(分単位で指定する)、およびLastErrorInterval。
フィードの同期に成功した終了時に、フィードのLastUpdateTimeを現在の時刻に設定し、NextUpdateTimeをLastUpdateTimeと間隔とランダム性(間隔の1/10)の和に設定する。即ち、
Figure 0005020949
Random(argument)は、0とその引数との間の正の値であると定める。例えば、Random(10)は0、10間の浮動数を返す。
フィードの同期が以下の理由の1つのために失敗した場合、
Figure 0005020949
以下のように指数後退アルゴリズム(exponential back off algorithm)を適用する。
Figure 0005020949
全ての「保留中」のフィードの同期が完了した後、同期エンジンは、NextUpdateTimeが(NextUpdateTime<=currenTime)を過ぎているフィードがないか判定を行う。ある場合、これらの「保留中」のフィードを整列させ、同期エンジンが丁度起動したかのように処理する。
未処理の「保留中」のフィードがない場合、同期エンジンはNextUpdateTimeが現在時刻の2分以内となっている(currentTime+2分>=NextUpdateTime)「即座同期」フィードが1つでもないか判定を行う。「即座同期」フィードが1つでもあった場合、同期エンジン・プロセスは走り続け、NextUpdateTimeに「起動し」、「保留中」のフィードを処理するようにタイマを設定する。
「即座同期」フィードがない場合、NextSyncEngineLaunchを、NextUpdateTimeが最も早いフィードのNextUpdateTimeに設定する。次いで、タスク・スケジューラをNextSyncEngineLaunchTimeに設定し、同期エンジン・プロセスは終了する。
一実施形態によれば、キュー内にいくつかの「保留中」のフィードがある場合、同期エンジンは複数のフィードを並行して同期させることができる。しかしながら、並列同期の数は制限されているはずであり、ネットワーク帯域幅およびプロセッサ利用を飽和させないために、ある時間期間において同期を行う回数も制限されているはずである。一実施形態によれば、フィード同期整形(shaping)が、トークン・バケット(token-bucket)によって設けられる。概念的には、トークン・バケットは以下のように動作する。
・l/r秒毎にトークンをバケットに追加する。
・バケットは、多くてもb個のバケットを保持できるに過ぎない。バケットが満杯のときにトークンが到達した場合、これを破棄する。
・フィードを同期させる必要がある場合、バケットからトークンを除去し、フィードを同期させる。
・得られるトークンがない場合、フィードはキュー内に留まり、トークンが得られるようになるまで待つ。
この手法により、b回のフィードまで一括してフィード同期が可能となる。しかしながら、長期の場合、同期は一定レートrに制限される。実現例の一例では、同期エンジンは、bおよびrに次の値を用いる。b=4およびr=2。

フィード・コンテンツ・ダウンロード・モジュール−−304
一実施形態によれば、フィード・コンテンツ・モジュール304は、フィードをダウンロードし、新しいフィード項目を既存のフィード・データと併合するプロセスを処理する。
フィード・コンテンツ・ダウンロード・モジュールをどのように実施できるかの一例として、以下のことを検討する。しかるべき時点において、同期エンジンは、フィード・コンテンツ・ダウンロード・モジュールを通じて、サーバに接続し、該当するコンテンツをダウンロードする。
一実施形態によれば、本プラットフォームは、コンテンツをダウンロードするための異なるプロトコルをサポートするように構成されている。例えば、同期エンジンは、HTTPを通じてフィード文書をダウンロードすることをサポートすることができる。加えて、同期エンジンは暗号化HTTP URL(例えば、SSL、https等)をサポートすることができる。同様に、同期エンジンはHTTP gzpiサポートを用いた圧縮もサポートすることができ、更に万国命名規則(UNC:Universal Naming Convention)シェアからのフィード・ダウンロードもサポートすることができる。
加えて、同期エンジンは、フィード・コンテンツ・ダウンロード・モジュールを通じて、種々の形式の認証もサポートすることができる。例えば、同期エンジンはフィード毎にユーザ名/パスワードを格納することができ、フィード文書を検索するためのHTTP基本認証に、このユーザ名/パスワードを用いることができる。
フィードの更新に関して、以下のことを検討する。フィードが新しいコンテンツを有するか否か判定を行うために、同期エンジンは、フィード毎に次の情報群を保持する。
・HTTP応答において最後に修正されたヘッダによって報告された、最後にフィードが更新されたとき。
・最後のHTTP応答におけるEtagヘッダの値。
・フィードについての最新のpubDate値(即ち、フィード・レベル公開日時)。
サイトがEtagまたは最終修正をサポートする場合、同期エンジンはこれらを用いて新しいコンテンツがあるか否かチェックすることができる。サイトは、新しいコンテンツがないことを示すために、HTTP応答コード304で応答することができる。それ以外の場合、コンテンツをダウンロードする。例えば、サイトがRFC 3229-for-feedsをサポートする場合、サイトは、クライアントによって受け渡されたEtagに基づいて、新しいコンテンツのみを返すことができる。いずれの方法でも、クライアントは新しいコンテンツを、格納されているコンテンツと併合する。
フィード・コンテンツをどのようにダウンロードすることができるかについての更に詳細な説明として、一実現例においてではあるが、以下のことを検討する。特定のサイトが変化したか否か判定を行うために、同期エンジンは、
・If-None-Matchヘッダ、クライアントがEtagを保存しているか否か。
・値、feed, gzpi(RFC 3229-for-feedsに用いる)を有するヘッダA−IM。
・If-Modified-Sinceヘッダ。クライアントがLast-modified値を保存している場合。
と共に要求を提出する。
サーバがHTTP応答コード304で応答した場合、コンテンツは変化しておらず、プロセスはここで終了することができる。サーバがコンテンツ(即ち、HTTPコード200または206)で応答した場合、ダウンロードしたコンテンツを内部のコンテンツ(注:コード206はサーバがRFC3992-for-feedsをサポートすること、およびダウンロードしたコンテンツは新しいコンテンツのみであることを意味する)と併合する。
入手可能なコンテンツがあり、同期エンジンがpubDateを格納しており、ダウンロードしたフィード文書がチャネル・レベルのpubDateエレメントを収容している場合、2つの日付を比較する。内部のpubDateがダウンロードしたpubDateと同じである場合、コンテンツは更新されていない。したがって、ダウンロードしたフィード文書を破棄することができる。
同期エンジンが一度に1つずつ項目を処理する場合、各項目のpubDateを、同期エンジンが格納しているpubDate(ある場合)と比較し、古い方の項目を破棄する。次いで、各項目をストア内にある項目と比較する。比較は、guidがある場合にはこれを用いればよく、あるいはguidがない場合には、リンク・エレメントを用いればよい。一致が生じた場合、新しい項目の内容を古い項目の内容と入れ替える(双方がpubDateを有する場合、これを用いてどちらの方が新しいか判断するが、それ以外では、最後にダウンロードしたものが新しい)。一致が生じない場合、新しいコンテンツを格納されているフィード・コンテンツ(「最上位にある最新」セマンティックを維持する)の前に付加する。内部フィードにおいていずれかの項目を追加または更新した場合、フィードは更新されたと見なされ、RSSプラットフォームのクライアントに通知する。
エラーの場合について、以下のことを検討する。サーバがコード500または殆ど400エラー(most 400 errors)で応答した場合、同期スケジュールをリセットし、サーバは後に再度試す。しかしながら、HTTPエラー410は、更新スケジュールを「これ以上更新なし」にリセットする指示として扱わなければならない。
HTTP−レベルの方向転換(redirect)に従わなければならないが、クライアント構成を変更してはならない(方向転換が偶発的に与えられるといういくつかの異常な場面がある)。
サーバがXML方向転換で応答した場合、フィードを方向転換し、フィードに対して格納されているURLを自動的に更新しなければならない。これは、クライアントがフィードURLを自動的に更新した場合だけである。
フィードのダウンロードに関して、ユーザが他の作業に取り掛かっているときに、機械(例えば、帯域幅またはCPU)の通常の使用をダウンロードが中断してはならない。加えて、ユーザは、コンテンツを拠り所とする双方向アプリケーションにおける場合、できるだけ速くコンテンツを得られるようにしなければならない。

エンクロージャ・ダウンロード・モジュール−−306
一実施形態によれば、エンクロージャ・ダウンロード・モジュール306は、フィードに対してエンクロージャ・ファイルをダウンロードし、しかるべきセキュリティ・ゾーンを適用することを責務とする。フィード・コンテンツをダウンロードする時点において、エンクロージャもダウンロードする。
エンクロージャのダウンロードは、1対の異なる方法で処理することができる。最初に、基本的エンクロージャをRSS2.0−様式のエンクロージャであると見なす。基本的なエンクロージャでは、同期エンジンは、エンクロージャ・ダウンロード・モジュール306を通じて、ダウンロードしたフィードを自動的に解析して、エンクロージャ・リンクを求める。同期エンジンは、複数の基本的エンクロージャをサポートするように構成されている。エンクロージャ・リンクを用いて、エンクロージャ・ダウンロード・モジュールはエンクロージャをダウンロードすることができる。前述のオブジェクト・モデルを露出するAPIを用いて、クライアントはこのようなことを、例えば、常にエンクロージャをダウンロードするため、または特定のフィードにおける特定の項目の特定のエンクロージャのダウンロードを強制するために、フィード毎に挙動を変化させるように行うことができる。
前述の共通フォーマットの使用により、エンクロージャの処理を改良して設けることができる。具体的には、少なくとも一実施形態では、共通フォーマットはエンクロージャに追加の機能を定める。具体的には、共通フォーマットは、個々のコンテンツの複数の表現を可能にする。これは、例えば、プレビュー・コンテンツおよびデフォルト・コンテンツと標準的な定義を含むこと、およびエンクロージャをダウンロードするかまたは流すか指示できることを含む。加えて、共通フォーマットによって、エンクロージャ、およびコンテンツの表現に関する任意のメタデータが許される。いずれの新しいフィードについても、デフォルトの行為(action)は、いずれのエンクロージャでもその「プレビュー」バージョンをダウンロードし、例えば、項目毎に10kというデフォルトのサイズ制限を課すことである。
APIを用いると、クライアントは、このようなことを、フィード毎の挙動変更のように行うことができる。例えば、フィードにおいて「デフォルト」バージョンの項目を常にダウンロードするように、または特定の値のメタデータ・エレメントを有する特定のバージョンのみを常にダウンロードするように、挙動を変更することができる。これは、例えば、クライアントのコールバック(callback)によって、エンクロージャ毎に「これをダウンロードするの?」ロジックを与えることによって行うことができる。加えて、APIを用いると、クライアントは、指定したフィードにおけるいずれの特定の項目(または全ての項目)のいずれの特定のエンクロージャのいずれの特定の表現の即座のダウンロードでも強制することができる。
エンクロージャ・ダウンロード・プロセスにおいてセキュリティを設けることに関して、以下のことを検討する。
一実施形態によれば、ダウンロードしたエンクロージャは、Windows XP SP2 Attachment Execution Service (SP2 AES)機能性を用いる。この機能性は、ファイル・タイプおよびゾーンに基づくセキュリティを設けることができる。例えば、ファイル名およびゾーン情報(即ち、どこからエンクロージャが来たか)を供給されると、AESは拒否、許容、または催促すべきか示すことができる。
ゾーン持続(persistence)に関して、ファイルを保存するとき、AESはゾーン情報を持ち続けて、後にそれを開くときに、ユーザに促すことができる。
以下の表は、AESリスク・レベル/ゾーン対行為のマッピングを記述する。
Figure 0005020949
図示し説明した実施形態では、同期エンジンは、それがダウンロードするエンクロージャ毎に、メソッド、例えば、::CheckPolicyをコールする。応答に基づいて、同期エンジンは以下の内の1つを行うことができる。
・拒否。保存しない(フィード・ファイルにおいてそれに不良の印を付ける)。
・許容。エンクロージャを保存する。
・催促(prompt)。保存するが、ゾーン情報を持ち続けない。これは、ユーザがファイル上でダブル・クリックした場合、「実行/実行せず」の催促を得ることを意味する。
一実施形態によれば、同期エンジンは最初にエンクロージャをディスクに保存し、エンクロージャをメモリにダウンロードしない。ディスクに保存することにより、フィルタに基づくビールス防止アプリケーションを誘起し、選択した場合に、これらのアプリケーションにエンクロージャを隔離する機会を与える。

保管モジュール−−308
一実施形態によれば、保管モジュール308は、古いフィード・データに対処することを責務とする。デフォルトでは、フィードは最大200項目を保持する。フィードが指定の最大値を超過した場合、古い方のフィード項目が保管モジュールによって削除される。しかしながら、関連するエンクロージャは削除されない。

フィード・ストア
一実施形態によれば、フィード・ストア112(図1)は、2種類の情報、フィード・リスト114およびフィード・データ116を保持する。一例として、図4を検討する。ここでは、フィード・リスト114は、フィードのリストの階層的ツリー構造400として具体化されている。フィード・データ116は、個々のフィードに伴うデータから成る。この例では、フィード・データは、フィード毎に配列され、項目およびエンクロージャの集合体402を含む。
フィード・ストアを実施することができる数多くの異なる方法がある。この特定的な実施形態では、フィード・ストアはファイル・システムの一部から成る。この理由の1つは、簡素さに関連する。即ち、この実施形態では、フィード・リストを単に通常のディレクトリとして表し、その下にサブディレクトリやファイルを置くことができる。階層は、正規のファイル・システム階層として反映される。つまり、「ニュース」や「ブログ」のような各フォルダは、本質的に、サブディレクトリおよびファイルを有するファイル・システムにおける正規のディレクトリである。
この特定的な例では、フィード加入を表す特殊なファイル・タイプがある。一例としてのみ、このファイル・タイプは以下のフォーマット「xyz.stg」を有すると見なす。.stgファイルは、フィードについてのデータ全てを格納する。したがって、ツリー構造400に具体化したリストのようなフィード・リストを有し、各フィード(またはファイル)の内側には、フィード・データがある。
図示し説明した実施形態では、.stgファイルを実装するには、構造化記憶技術を用いる。構造記憶技術は周知であり、当業者には分かっているはずである。しかしながら、端的な背景として、以下のことを検討する。
構造化記憶は、1つのファイルを、ストレージおよびストリームとして知られているオブジェクトの構造化集合体として処理することにより、COMにおいてファイルおよびデータの持続性を備える。構造化記憶の目的は、別個のオブジェクト・パーツを異なるファイルに格納することに伴う性能悪化およびオーバーヘッドを低減することである。構造化記憶は、複合ファイルと呼ばれる標準的な実現例によって、2タイプのオブジェクト、即ち、ストレージおよびストリームの構造化集合体として、1つのファイル実体をどのように処理するか定めることによって、解決策を提供する。これによって、ユーザは、複合ファイルが1つのファイルであり、別個のオブジェクトのネスト状階層ではないかのように、複合ファイルと双方向処理し、管理することが可能となる。ストレージ・オブジェクトおよびストリーム・オブジェクトはファイル内では、ファイル・システムとして機能する。これは、当業者には認められよう。構造化記憶は、新たなオブジェクトを複合ファイルに追加するとき、または既存のオブジェクトのサイズが増大したときにはいつでも全体的にファイルをストレージに再書き込みしなければならない必要性を排除することによって、性能の問題を解決する。新しいデータは永続ストレージにおいて次に利用可能な一に書き込まれ、ストレージ・オブジェクトは、そのストレージ・オブジェクトおよびストリーム・オブジェクトの一を追跡するために維持しているポインタの表を更新する。
このように、図示し説明した実施形態では、.stgファイルを実装する際に、構造化記憶技法を用い、フィード・ストアの上位にあるAPIが異なるストリームおよびストレージへのアクセスを可能にする。この特定的な例では、各RSS項目を1つのストリームに書き込む。加えて、ヘッダ・ストリームが、名称、加入、フィードURL等のような、個々のフィードに関連する情報を収容する。更に、別のストリームがインデックス型メタデータを格納し、何かに読み出し/非読み出しの印を素早く付けること、項目を削除すること等を含む目的のために、ファイル内にあるコンテンツへの素早く効率的なアクセスを可能にする。

ファイル・システム − エンクロージャ
図示し説明した実施形態では、エンクロージャは図1に示したように、構造化ストレージ、またはフィード・データの一部として格納されない。逆に、エンクロージャは、他のアプリケーションまたはユーザがアクセスし操作したいこともある1つまたは複数の写真のような項目として認識される。
つまり、図示し説明した実施形態では、エンクロージャをユーザの特定のプロファイルに書き込む。しかしながら、エンクロージャと関連するフィード項目との間のリンクは、維持している。
一例として図5を検討する。一旦ユーザがフィードに加入し始めると、フィード・コンテンツがユーザのプロファイルの下でローカルに、アプリケーション・データまたはKwonfolder「フィード」のいずれかに格納される。
フィードリストおよびフィードをアプリケーション・データに格納するのは、フィードリストおよびフィードのフォーマットを制御し易くすることができるからである。APIを露出し(以下で説明する)、アプリケーションがフィードにアクセスしこれを管理することができるようにする。
フィードリストは、ユーザが加入しているフィードの集合である。この例では、フィードリストを備えているファイルは次のところに位置する。
Figure 0005020949
ファイルは、フィードのプロパティや、項目およびエンクロージャのプロパティ(当該項目と関連のあるファイルへのURL)も収容する。例えば、フィード「NYT」のファイルは、次のところに位置する。
Figure 0005020949
この例では、フィードによってエンクロージャを類別し、Knownfolder「フィード」に格納する。これによって、ユーザおよびその他のアプリケーションはダウンロードしたファイルに容易にアクセスしこれらを用いることが可能となる。
例えば、ユーザがNPRに加入し、彼らのメディア・プレーヤ・アプリケーションが自動的にこれらのファイルを追加できることを確認したいとする。これをKnowfolderにすることにより、ユーザはメディア・プレーヤからそれを閲覧し、それを監視対象フォルダとして設定することが可能になる。エンクロージャは、フィードおよびポストの該当するメタデータを有しアプリケーションが該当するポストおよびフィードにアクセスすることができるようになっている。エンクロージャは以下のように位置付けられる。
Figure 0005020949
ユーザのハード・ディスクに書き込まれた各エンクロージャは、このエンクロージャについてのメタデータを収容する補助ストリーム(例えば、NTFSストリーム)を有する。メタデータは、限定ではない一例として、エンクロージャの発生元であるフィード、著作者、フィード項目へのリンク、記述、名称、公開日、およびダウンロード日、ならびに適宜その他のメタデータを含むことができる。

公開エンジン/ポスト・キュー
正規のブロック・ポストを書き込む多くの場合、本質的に書き込まれているのはRSS項目である。このRSS項目は、通例、何らかの形式のサーバに送られ、このサーバがアカウント情報を、ブログの位置等を維持する。この文脈では、公開エンジン110(図1)は、アプリケーションがポスティングを行うか、またはコンテンツを公開しつつ、同時にサーバと通信するために利用する通信プロトコルをアプリケーションから抽象化することを可能にするように構成されている。したがって、アプリケーションは、ポストするデータまたはコンテンツを提供しさえすればよく、公開エンジンが、コンテンツをフォーマットし該当するサーバに伝達するという残りの作業を処理する。
いくつかの異なるプロトコルが用いられる可能性があるので、プロトコルをアプリケーションから抽象化することによって、多くの異なるタイプのアプリケーションが公開機能性を利用することを可能にすることについては、柔軟性を著しく高めることができる。図示し説明した実施形態では、公開エンジンの機能性は、サーバと通信するために用いられるプロトコルの知識を得られることを必要とせずに、アプリケーションがブログをポストすることを可能にするAPIとして実施されている。
したがって、この例では、APIは、新しいポストを作成するメソッドを有し、このメソッドをコールすると、RSSItemオブジェクトを作成する。このRSSItemオブジェクトは、ポスト・メソッドを有し、このメソッドをコールすると、コンテンツ、この場合はブログを、一時的ストア、即ち、ポスト・キュー122(図1)に格納する。コンテンツを一時的ストアに格納するのは、ブログが作成されるときにユーザがオンラインにない場合もあるからである。次いで、ユーザがオンライン接続を行うと、公開エンジン110がしかるべきサーバに接続し、サーバに適したプロトコルを用いてブログをサーバにアップロードする。

実現例
以下に続く説明では、API集合の一例について説明し、前述の機能性を実施するためにはどのようにAPIを実装し構造を作ればいいか示すが、これは一例である。尚、特許請求する主題の主旨および範囲から逸脱することなく、他のAPIも利用可能であることは、認められ理解されよう。説明するAPIは、通例、何らかの形式のコンピュータ読み取り可能媒体上に常駐するコンピュータ読み取り可能命令およびデータとして具体化される。
以下に説明するAPIは、ユーザが加入しているフィード集合(システム・フィード・リスト)、およびフィードに関するプロパティを操作するために用いることができる。加えて、フィード・データAPI(即ち、項目およびエンクロージャ)が、フィード・ストアに格納されているフィード、およびフィードのその場限りのダウンロードへのアクセスを与える。フィードAPIを用いると、ウェブ・ブラウザ、メディア・プレーヤ、ディジタル画像ライブラリ・アプリケーションなどのようなアプリケーションが、フィード・データをそれらの操作(experience)の中で露出することが可能となる。
説明しようとしている例では、APIはCOM二重インターフェースとして実装され、スクリプティング言語、被管理コード、およびネーティブなWin32(C++)コードからのAPIを利用可能にする。
図6は、一実施形態による上位のオブジェクトまたはインターフェースIFeedsおよびIFeedFolderオブジェクトまたはインターフェースを、それらに関連するプロパティ、メソッド、およびイベントと共に示す。
この例では、IFeedsは1つのプロパティ、即ち、IfeedFolderである加入(subscriptions)を有する。これは、全ての加入にとってルート・フォルダである。ルート・オブジェクト上には、DeleteFeed()、DeleteFeedByGuid()、DeleteFolder()等のような、多くのメソッドがある。
この例において興味深いのは、GetFeedByGuid()メソッドである。このメソッドは、アプリケーションが、例えば、フィードのGUIDによって特定のフィードにアクセスするためにコールすることができる。つまり、アプリケーションは、フィードの階層的順位について知る必要がない。逆に、プラットフォームがフィードを取り込むことを可能にするために、アプリケーションがフィードのGUIDを用いることができる。
加えて、ExisFeed()メソッドは、名称によってフィードの存在をチェックし、ExistFeedByGuid()はGUIDによってフィードの存在をチェックする。GetFeed()メソッドは、名称またはGUIDによってフィードを得る。IsSubscribed()メソッドは、アプリケーションまたはコール元が、特定のフィードに加入されているか否か確認することを可能にする。
加えて、IFeedsオブジェクトもSubscriptionsNotificationsイベントを有し、システム・フィード・リスト上の変更の通知のための登録が可能になる。
先に記したように、加入はタイプIfeedFolderである。IFeedFolderオブジェクトまたはインターフェースは、本質的に、ディレクトリを規定し、名称、親、パス(path)などのような、同様の種類のプロパティを有する。加えて、IFeedFolderオブジェクトは、タイプIFeedのフィード・プロパティと、タイプIFeedFolderのサブフォルダ・プロパティとを有する。サブフォルダ・プロパティは、本フォルダ(例えば、これは階層的構造が派生するところである)の直下にあるフォルダの集合体に関連があり、フィード・プロパティは個々のフォルダにおける実際のフィードに関連がある。加えて、IFeedFolderは、LastWriteTimeプロパティを有し、このプロパティは、フォルダの内側に何かが書き込まれた最後のときを示す。このプロパティは、暫く走らせていないアプリケーションがあるが、必要であれば同期できるように、フィード・プラットフォームを監視してその状態を確認しておく必要がある場合に有用である。
IFeedFolder上には複数のメソッドがあり、その一部は、フィードの作成(システムが有しておらず特定のフォルダに追加するフィードを作成する)、サブフォルダの作成、フォルダまたはサブフォルダの削除などに関する。
図7は、一実施形態による追加のオブジェクトおよびそれらに関連するメソッドを示す。具体的に示すのは、IFeed、ItemおよびIEnclosureオブジェクトである。
最初にIFeedオブジェクトから始めて、以下のことを検討する。このオブジェクトに関連するプロパティの多くは、RSSフィード自体から来るものであり、当業者には認められようが、例えば、タイトル、Url、ウェブマスタ、SkipHours、SkipDays、ManagingEditor、Homepage、ImageURL等がある。加えて、興味深い別のプロパティの集合がある。即ち、フィードの一部である項目の全てを有する集合体である項目プロパティと、エンクロージャの全てを書き込む実際のディレクトリを規定するLocalEnclosurePathプロパティである。このため、アプリケーションにとって、後者のプロパティは、アプリケーションがエンクロージャにアクセスするのを非常に簡単にする。
加えて、このオブジェクトは、個々のフィードを管理するために用いられるDelete()およびDownload()のようなメソッドの小集合をサポートする。更に、このオブジェクトは、メソッドXML()をサポートする。このメソッドは共通フォーマットでフィードのXMLを返す。XMLデータは、フィードを新聞の外観で作成するというようなことに用いることができる。Clone()は、加入されていないフィードのコピーを返す。
項目オブジェクトに移り、このオブジェクトは、規定のRSSエレメントを表すプロパティ集合、例えば、記述、Url、タイトル、著作者などを有する。加えて、関連のある実際のフィードを逆に指し示すペアレント・プロパティ、およびアプリケーションが全ての項目にわたって繰り返す必要なくIdを操作することができるようにするIdプロパティがある。加えて、タイプIEnclosureの項目のエンクロージャの集合体であるエンクロージャ・プロパティがある。更に、IsReadプロパティは、特定の項目が読み出されたか否かをアプリケーションが示すことを可能にする。
エンクロージャ・オブジェクトに移り、以下のことを検討する。このオブジェクトは、タイプ・プロパティ(例えば、mp3)、および個々のエンクロージャの長さを記述する長さプロパティを含むプロパティを有する。また、個々のエンクロージャに対するLocalAbsolutePathもある。Download()メソッドは、アプリケーションによって個々のエンクロージャをダウンロードし使用することを可能にする。

結論
以上説明したウェブ・コンテンツ配信プラットフォームは、インターネットから取得するコンテンツを管理し、編成し、消費のために利用するために利用することができる。このプラットフォームは、ウェブ・コンテンツを取得し編成し、このようなコンテンツを、多くの異なるタイプのアプリケーションによる消費に利用可能にする。これらのアプリケーションは個々の配信フォーマットを必ずしも理解できてもできなくてもよい。アプリケーション・プログラム・インターフェース(API)がオブジェクト・モデルを露出し、これによってアプリケーションおよびユーザは、フィードの作成、読み取り、更新、削除等というような、多くの異なるタスクを容易に遂行することが可能となる。
加えて、このプラットフォームは、個々のフィード・フォーマットを抽象化し、共通のフォーマットを設けて、プラットフォームに入ってくるフィード・データの使用可能性を促進することができる。更に、このプラットフォームは、エンクロージャを処理し管理する。エンクロージャは、配信了解(syndication-aware)アプリケーションおよび配信了解でないアプリケーション双方に、消費のためにエンクロージャを利用可能とするように、ウェブ・フィードを通じて受信することができる。
以上、構造的特徴および/または方法論的ステップに対して特定的なことばで本発明について説明したが、添付した特許請求の範囲に定めた発明は、必ずしも記載した具体的な特徴やステップには限定されないことは言うまでもない。むしろ、これら特定の特徴やステップは、特許請求する発明を実施する好適な形態として開示したのである。
図1は、一実施形態によるウェブ・コンテンツ配信プラットフォームを含むシステムを示す上位ブロック図である。 図2は、一実施形態によるオブジェクト・モデルの形態を示すブロック図である。 図3は、一実施形態によるフィード配信エンジンを示すブロック図である。 図4は、一実施形態によるフィード・ストアの一例を示す。 図5は、一実施形態によるユーザ・プロファイルの一例を示す。 図6は、一実施形態によるオブジェクト例を示す。 図7は、一実施形態によるオブジェクト例を示す。

Claims (18)

  1. コンピュータ読み取り可能命令を格納した1つ以上のコンピュータ読み取り可能記憶媒体であって、前記コンピュータ読み取り可能命令がクライアント・デバイスのコンピュータにより実行されると、前記コンピュータに、
    前記クライアント・デバイスに含まれたRSS(Really Simple Syndication)プラットフォームであって、該RSSプラットフォームが、複数RSSファイル・フォーマットでRSSデータを受信し処理し、異なるタイプのアプリケーションが使用可能な共通フォーマットに前記RSSデータを変換するように構成され、該RSSプラットフォームが、RSSデータの複数のフィードを受け入れるように構成された、RSSプラットフォームと、
    前記異なるタイプのアプリケーションが、前記RSSプラットフォームが受信し処理し変換し前記RSSデータにアクセスすることを可能にするように構成されたコード手段であって、該コード手段は、フィードに加入ていない1つ以上のアプリケーションであって前記RSSデータを記述する拡張マークアップ言語(XML)を理解しない1つ以上のアプリケーションが、前記RSSプラットフォームが受信し処理する関連のRSSデータにアクセスすることを可能にするように構成され、前記RSSプラットフォームが前記クライアント・デバイスの前記1つ以上のアプリケーションとは別である、コード手段と、
    を実施させる、1つ以上のコンピュータ読み取り可能記憶媒体
  2. 請求項1記載の媒体において、前記異なるタイプのアプリケーションは、RSSリーダ以外のアプリケーションを含む、1つ以上のコンピュータ読み取り可能記憶媒体
  3. 請求項1記載の媒体において、前記異なるタイプのアプリケーションは、前記プラットフォームが前記RSSデータを受信するフォーマットを理解しないアプリケーションを含む、1つ以上のコンピュータ読み取り可能記憶媒体
  4. 請求項1記載の媒体において、前記異なるタイプのアプリケーションは、前記プラットフォームが前記RSSデータを受信するフォーマットを理解しないアプリケーションを含み、前記異なるタイプのアプリケーションは、ウェブ・ブラウザ・アプリケーション、電子メール・アプリケーション、またはメディア・プレーヤ・アプリケーションのうちの1つ以上を含む、1つ以上のコンピュータ読み取り可能記憶媒体
  5. 請求項1記載の媒体において、前記異なるタイプのアプリケーションは、ウェブ・ブラウザ・アプリケーション、電子メール・アプリケーション、またはメディア・プレーヤ・アプリケーションのうちの1つ以上を含む、1つ以上のコンピュータ読み取り可能記憶媒体
  6. 請求項1記載の媒体において、前記コード手段は、フィード加入がフォルダの階層としてモデル化されたオブジェクト・モデルを露出し、前記オブジェクト・モデルは、フィード加入の共有リストへのアクセスを与える、1つ以上のコンピュータ読み取り可能記憶媒体
  7. コンピュータ読み取り可能命令を格納した1つ以上のコンピュータ読み取り可能記憶媒体であって、前記コンピュータ読み取り可能命令がクライアント・デバイスのコンピュータにより実行されると、前記コンピュータにAPI集合を実施させ、
    該API集合は1つ以上のメソッドを含み、該1つ以上のメソッドが、少なくとも1つのアプリケーションがRSS(Really Simple Syndication)データにアクセスすることを可能にし、前記RSSデータは、該RSSデータを記述するのに使用された拡張マークアップ言語(XML)を解析するために処理され共通フォーマットに変換されフィード・ストアに格納されており、前記フィード・ストアは、少なくとも1つのフィード・リストとフィード・データとを含
    少なくとも1つのフィード・リストは、フィードのリストを記述する階層構造として具体化され、
    前記フィード・データは、特定のフィードに関連したデータを含み、少なくともあるフィード・データは、少なくとも項目とエンクロージャの集合を含み、
    前記少なくとも1つのアプリケーションは前記API集合とは別であり、かつ前記RSSデータが最初に具体化されたRSSフォーマットと前記RSSデータを記述するのに使用された前記XMLを理解しない、1つ以上のコンピュータ読み取り可能記憶媒体
  8. 請求項記載の媒体において、前記1つ以上のメソッドは、1つ以上のエンクロージャが格納されたデータ・ストアへのアクセスを与えるメソッドと、エンクロージャとそれに関連するフィード項目との間の関係を発見するために用いることができるメソッドとを含む1つ以上のコンピュータ読み取り可能記憶媒体
  9. 請求項記載の媒体において、前記1つ以上のメソッドは、複数の異なるタイプのアプリケーションのためにアクセスを与えるメソッドを含む1つ以上のコンピュータ読み取り可能記憶媒体
  10. 請求項記載の媒体において、前記1つ以上のメソッドは、複数の異なるタイプのアプリケーションのためにアクセスを与えるメソッドを含み、前記複数の異なるタイプのアプリケーションのうち少なくとも1つは、前記RSSデータが最初に具体化されたRSSフォーマットを理解する1つ以上のコンピュータ読み取り可能記憶媒体
  11. 請求項記載の媒体において、前記1つ以上のメソッドは、複数の異なるタイプのアプリケーションのためにアクセスを与えるメソッドを含み、前記複数の異なるタイプのアプリケーションのうち少なくとも1つは、前記RSSデータが最初に具体化されたRSSフォーマットを理解し、RSSリーダを含む、1つ以上のコンピュータ読み取り可能記憶媒体
  12. 請求項記載の媒体において、前記1つ以上のメソッドは、複数の異なるタイプのアプリケーションのためにアクセスを与えるメソッドを含み、前記複数の異なるタイプのアプリケーションのうち少なくとも1つは、前記RSSデータが最初に具体化されたRSSフォーマットを理解し、ウェブ・ブラウザ・アプリケーションを含む、1つ以上のコンピュータ読み取り可能記憶媒体
  13. 請求項記載の媒体において、前記1つ以上のメソッドは、アプリケーションが加入ていないウェブ・フィードと関連したデータに、前記アプリケーションがアクセスすることを可能にするメソッドを含む、1つ以上のコンピュータ読み取り可能記憶媒体
  14. 請求項記載の媒体において、前記1つ以上のメソッドは、フィード加入をフォルダの階層としてモデル化するメソッドを含む、1つ以上のコンピュータ読み取り可能記憶媒体
  15. 請求項記載の媒体において、前記少なくとも1つのアプリケーションは、電子メール・アプリケーションを含む、1つ以上のコンピュータ読み取り可能記憶媒体
  16. 請求項記載の媒体において、前記少なくとも1つのアプリケーションは、ウェブ・ブラウザ・アプリケーションを含む、1つ以上のコンピュータ読み取り可能記憶媒体
  17. 請求項記載の媒体において、前記少なくとも1つのアプリケーションは、メディア・プレーヤ・アプリケーションを含む、1つ以上のコンピュータ読み取り可能記憶媒体
  18. コンピュータ読み取り可能命令を格納した1つ以上のコンピュータ読み取り可能記憶媒体であって、前記コンピュータ読み取り可能命令がコンピュータにより実行されると、前記コンピュータに、1つ以上のフォーマットでRSS(Really Simple Syndication)データを受信し処理するように構成されたRSSプラットフォームを実施させ
    前記RSSプラットフォームは、フィード加入がフォルダ、サブフォルダ、フィード、項目およびエンクロージャの階層としてモデル化されたオブジェクト・モデルを含み、
    前記オブジェクト・モデルは、フィード加入の共有リストへのアクセスを与えるように構成され、
    前記オブジェクト・モデルは、フィードを、該フィードへの加入なしでダウンロードできるようにするメソッドを含み、
    前記RSSプラットフォームは、フィード同期エンジンを含み、該エンジンは、
    フィードを種々のフォーマットで受けこれらフィードを共通のフォーマットに変換するように構成されたフィード・フォーマット・モジュールと、
    1つ以上のスケジュールを管理するように構成されたフィード・スケジュール・モジュールであって、前記1つ以上のスケジュールは、フィードのために新たなコンテンツが利用可能であるか確認するために前記同期エンジンがチェックを行うべきときを示し、前記1つ以上のスケジュールは、フィード・ヘッダに含まれた更新スケジュールと、デフォルト・スケジュールと、最小スケジュールと、公開者指定のスケジュールと、ユーザ指定のスケジュールとのうちの少なくとも1つを含む、フィード・スケジュール・モジュールと、
    フィードをダウンロードし、既存のフィード・データに新たなフィード項目を併合させるように構成されたフィード・コンテンツ・ダウンロード・モジュールと、
    エンクロージャ・リンクのためにダウンロード・フィードを自動的に解析し、あるエンクロージャ・リンクに関連したエンクロージャ・ファイルをダウンロードするように構成されたエンクロージャ・ダウンロード・モジュールと、
    フィード項目の数がユーザ指定の値あるいはデフォルトの値を越えたときフィード項目を削除するように構成されたアーカイブ・モジュールと、
    を含み、
    前記RSSプラットフォームは、前記RSSプラットフォームが受信し処理したRSSデータに、前記RSSプラットフォームとは別の異なるタイプのアプリケーションがアクセスすることを可能にするように構成され、前記RSSプラットフォームは、フィードに加入ていない1つ以上のアプリケーションが、前記RSSプラットフォームが受信し処理する関連RSSデータに、前記RSSデータを表現するのに使用された配信フォーマットを理解する必要なくアクセスすることを可能にするように構成された、1つ以上のコンピュータ読み取り可能記憶媒体
JP2008518243A 2005-06-21 2006-06-14 コンテンツ配信プラットフォーム Active JP5020949B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/158,936 US8661459B2 (en) 2005-06-21 2005-06-21 Content syndication platform
US11/158,936 2005-06-21
PCT/US2006/023184 WO2007001864A1 (en) 2005-06-21 2006-06-14 Content syndication platform

Publications (3)

Publication Number Publication Date
JP2008547117A JP2008547117A (ja) 2008-12-25
JP2008547117A5 JP2008547117A5 (ja) 2009-06-18
JP5020949B2 true JP5020949B2 (ja) 2012-09-05

Family

ID=37574816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008518243A Active JP5020949B2 (ja) 2005-06-21 2006-06-14 コンテンツ配信プラットフォーム

Country Status (6)

Country Link
US (2) US8661459B2 (ja)
EP (1) EP1896940A4 (ja)
JP (1) JP5020949B2 (ja)
KR (1) KR101312850B1 (ja)
CN (1) CN101203832B (ja)
WO (1) WO2007001864A1 (ja)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US8347088B2 (en) 2005-02-01 2013-01-01 Newsilike Media Group, Inc Security systems and methods for use with structured and unstructured data
US20070050446A1 (en) * 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
US8200700B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
US8140482B2 (en) 2007-09-19 2012-03-20 Moore James F Using RSS archives
US20080005086A1 (en) * 2006-05-17 2008-01-03 Moore James F Certificate-based search
US8700738B2 (en) 2005-02-01 2014-04-15 Newsilike Media Group, Inc. Dynamic feed generation
US9202084B2 (en) 2006-02-01 2015-12-01 Newsilike Media Group, Inc. Security facility for maintaining health care data pools
US20080040151A1 (en) * 2005-02-01 2008-02-14 Moore James F Uses of managed health care data
US20070168461A1 (en) * 2005-02-01 2007-07-19 Moore James F Syndicating surgical data in a healthcare environment
US8661459B2 (en) 2005-06-21 2014-02-25 Microsoft Corporation Content syndication platform
US9104773B2 (en) 2005-06-21 2015-08-11 Microsoft Technology Licensing, Llc Finding and consuming web subscriptions in a web browser
US20070011156A1 (en) * 2005-07-05 2007-01-11 Oracle International Corporation RSS enabled logging
US9268867B2 (en) * 2005-08-03 2016-02-23 Aol Inc. Enhanced favorites service for web browsers and web applications
US7412534B2 (en) * 2005-09-30 2008-08-12 Yahoo! Inc. Subscription control panel
US20070100960A1 (en) * 2005-10-28 2007-05-03 Yahoo! Inc. Managing content for RSS alerts over a network
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US20070192674A1 (en) * 2006-02-13 2007-08-16 Bodin William K Publishing content through RSS feeds
US20070192401A1 (en) * 2006-02-16 2007-08-16 Gordon Weakliem System and method for synchronizing syndicated content over multiple locations
US8280843B2 (en) 2006-03-03 2012-10-02 Microsoft Corporation RSS data-processing object
US7979803B2 (en) * 2006-03-06 2011-07-12 Microsoft Corporation RSS hostable control
US8521740B2 (en) * 2006-04-04 2013-08-27 Boomerang Technology Holdings, LLC. Extended correlation methods in a content transformation engine
JP4829662B2 (ja) * 2006-04-05 2011-12-07 キヤノン株式会社 自動レイアウトシステムおよび情報提供方法およびサーバーシステム
US7734587B2 (en) * 2006-04-12 2010-06-08 Newsgator Technologies, Inc. Syndication of content based upon email user groupings
US7734586B2 (en) * 2006-04-12 2010-06-08 Newsgator Technologies, Inc. Replication and synchronization of syndication content at an email server
US20070245020A1 (en) * 2006-04-18 2007-10-18 Yahoo! Inc. Publishing scheduler for online content feeds
US8370423B2 (en) 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
US20080052343A1 (en) * 2006-07-27 2008-02-28 Wood Charles B Usage-Based Prioritization
US20080052162A1 (en) * 2006-07-27 2008-02-28 Wood Charles B Calendar-Based Advertising
US20080046437A1 (en) * 2006-07-27 2008-02-21 Wood Charles B Manual Conflict Resolution for Background Synchronization
US8453066B2 (en) 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US8020112B2 (en) 2006-11-06 2011-09-13 Microsoft Corporation Clipboard augmentation
US20080109464A1 (en) * 2006-11-06 2008-05-08 Microsoft Corporation Extending Clipboard Augmentation
US7627683B2 (en) 2006-12-27 2009-12-01 At&T Mobility Ii Llc System and method for dynamically refreshing an active home screen
CN101573945B (zh) 2007-01-05 2014-10-15 汤姆森许可贸易公司 定制联合数据供给的方法和设备
US8751442B2 (en) 2007-02-12 2014-06-10 Microsoft Corporation Synchronization associated duplicate data resolution
US8706757B1 (en) * 2007-02-14 2014-04-22 Yahoo! Inc. Device, method and computer program product for generating web feeds
US7933296B2 (en) * 2007-03-02 2011-04-26 Microsoft Corporation Services for data sharing and synchronization
US20080243475A1 (en) * 2007-03-16 2008-10-02 Steven Scott Everhart Web content translation system, method, and software
US7900203B2 (en) * 2007-04-24 2011-03-01 Microsoft Corporation Data sharing and synchronization with relay endpoint and sync data element
US7725456B2 (en) * 2007-04-27 2010-05-25 Microsoft Corporation Item management with data sharing and synchronization
KR100906109B1 (ko) * 2007-06-20 2009-07-07 엔에이치엔(주) 3a 기반의 다양한 어플리케이션 상태를 제공하는유비쿼터스 프리젠스 서비스 방법 및 시스템
US8745142B2 (en) * 2008-03-07 2014-06-03 Aspect Software, Inc. Method and system for publishing ACD specific data
JP5374057B2 (ja) * 2008-03-10 2013-12-25 キヤノン株式会社 情報処理装置及びその制御方法
AU2009238519C1 (en) * 2008-04-20 2015-08-20 Tigerlogic Corporation Systems and methods of identifying chunks from multiple syndicated content providers
US8296671B2 (en) 2008-05-01 2012-10-23 Microsoft Corporation Enabling access to rich data by intercepting paste operations
US20100005001A1 (en) * 2008-06-30 2010-01-07 Aizen Jonathan Systems and methods for advertising
US9996572B2 (en) * 2008-10-24 2018-06-12 Microsoft Technology Licensing, Llc Partition management in a partitioned, scalable, and available structured storage
US8161099B2 (en) 2008-12-17 2012-04-17 Microsoft Corporation Techniques to automatically syndicate content over a network
FR2952204B1 (fr) * 2009-11-05 2012-05-25 Canon Kk Procede de generation d'un flux web et un systeme associe
KR20110063297A (ko) * 2009-12-02 2011-06-10 삼성전자주식회사 휴대용단말기 및 그 제어방법
US10156979B2 (en) 2009-12-02 2018-12-18 Samsung Electronics Co., Ltd. Method and apparatus for providing user interface of portable device
CN101854580A (zh) * 2010-05-28 2010-10-06 中兴通讯股份有限公司 一种rss业务自动备份频道未读数据的方法及终端
CN101917456B (zh) * 2010-07-06 2012-10-03 杭州热点信息技术有限公司 一种内容聚合无线发布系统
US9031957B2 (en) 2010-10-08 2015-05-12 Salesforce.Com, Inc. Structured data in a business networking feed
JP5378456B2 (ja) * 2011-06-13 2013-12-25 株式会社エヌ・ティ・ティ・ドコモ 通信端末及びコンテンツ更新方法
CN103001984A (zh) * 2011-09-14 2013-03-27 中兴通讯股份有限公司 一种移动社交网络的离线管理方法及系统
CN103020056A (zh) * 2011-09-20 2013-04-03 佳都新太科技股份有限公司 一种跨开放平台社交消息优化计算的订阅推送引擎
WO2013059488A1 (en) 2011-10-18 2013-04-25 Carnegie Mellon University Method and apparatus for classifying touch events on a touch sensitive surface
WO2013149320A1 (en) * 2012-04-04 2013-10-10 Scribble Technologies Inc. System and method for generating digital content
US9524713B2 (en) * 2012-05-30 2016-12-20 Sap Se Business platform voice interactions
CN103491113B (zh) * 2012-06-11 2018-06-08 腾讯科技(深圳)有限公司 一种信息聚合文件的同步方法、装置及系统
KR20140114766A (ko) 2013-03-19 2014-09-29 퀵소 코 터치 입력을 감지하기 위한 방법 및 장치
US9612689B2 (en) 2015-02-02 2017-04-04 Qeexo, Co. Method and apparatus for classifying a touch event on a touchscreen as related to one of multiple function generating interaction layers and activating a function in the selected interaction layer
US9013452B2 (en) 2013-03-25 2015-04-21 Qeexo, Co. Method and system for activating different interactive functions using different types of finger contacts
KR101460788B1 (ko) * 2013-03-28 2014-11-14 주식회사 오비고 웹 어플리케이션의 화면 구성 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
US20140298201A1 (en) * 2013-04-01 2014-10-02 Htc Corporation Method for performing merging control of feeds on at least one social network, and associated apparatus and associated computer program product
US10320873B1 (en) * 2013-10-25 2019-06-11 Tribune Broadcasting Company, Llc Newsroom production system with syndication feature
US9329715B2 (en) 2014-09-11 2016-05-03 Qeexo, Co. Method and apparatus for differentiating touch screen users based on touch event analysis
US11619983B2 (en) 2014-09-15 2023-04-04 Qeexo, Co. Method and apparatus for resolving touch screen ambiguities
US10606417B2 (en) 2014-09-24 2020-03-31 Qeexo, Co. Method for improving accuracy of touch screen event analysis by use of spatiotemporal touch patterns
US10282024B2 (en) 2014-09-25 2019-05-07 Qeexo, Co. Classifying contacts or associations with a touch sensitive device
US10642404B2 (en) 2015-08-24 2020-05-05 Qeexo, Co. Touch sensitive device with multi-sensor stream synchronized data
US10346150B2 (en) * 2015-10-21 2019-07-09 Oracle International Corporation Computerized system and method for patching an application by separating executables and working data using different images
CN105786978A (zh) * 2016-02-05 2016-07-20 百度在线网络技术(北京)有限公司 基于人工智能的移动搜索方法和装置
US10706166B1 (en) * 2017-03-30 2020-07-07 Amazon Technologies, Inc. Application specific schema extensions for a hierarchical data structure
US10417184B1 (en) * 2017-06-02 2019-09-17 Keith George Long Widely accessible composite computer file operative in a plurality of forms by renaming the filename extension
US11009989B2 (en) 2018-08-21 2021-05-18 Qeexo, Co. Recognizing and rejecting unintentional touch events associated with a touch sensitive device
US10942603B2 (en) 2019-05-06 2021-03-09 Qeexo, Co. Managing activity states of an application processor in relation to touch or hover interactions with a touch sensitive device
US11342065B2 (en) 2019-06-24 2022-05-24 Fujifilm Medical Systems U.S.A., Inc. Systems and methods for workstation rendering medical image records
US11231815B2 (en) 2019-06-28 2022-01-25 Qeexo, Co. Detecting object proximity using touch sensitive surface sensing and ultrasonic sensing
US11592423B2 (en) 2020-01-29 2023-02-28 Qeexo, Co. Adaptive ultrasonic sensing techniques and systems to mitigate interference

Family Cites Families (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4190773A (en) * 1977-07-01 1980-02-26 Braden Arthur B Shutter for rotating source CT scanner
US4607380A (en) * 1984-06-25 1986-08-19 General Electric Company High intensity microfocus X-ray source for industrial computerized tomography and digital fluoroscopy
US5864146A (en) * 1996-11-13 1999-01-26 University Of Massachusetts Medical Center System for quantitative radiographic imaging
US5404488A (en) * 1990-09-26 1995-04-04 Lotus Development Corporation Realtime data feed engine for updating an application with the most currently received data from multiple data feeds
JPH06205768A (ja) * 1992-08-18 1994-07-26 Philips Electron Nv X線検査装置
JPH06180698A (ja) 1992-12-12 1994-06-28 Brother Ind Ltd 文書処理装置
US5391879A (en) * 1993-11-19 1995-02-21 Minnesota Mining And Manufacturing Company Radiation detector
US5391877A (en) * 1994-01-26 1995-02-21 Marks; Michael A. Combined imaging scanner
US5845090A (en) 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US5819034A (en) 1994-04-28 1998-10-06 Thomson Consumer Electronics, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system
US5591977A (en) * 1994-04-29 1997-01-07 The United States Of America As Represented By The Secretary Of The Department Of Health And Human Services Variable axial aperture positron emission tomography scanner
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
JP3558385B2 (ja) 1994-10-13 2004-08-25 昭和電工株式会社 クロム系フッ素化触媒、及びフッ素化方法
US5819284A (en) 1995-03-24 1998-10-06 At&T Corp. Personalized real time information display as a portion of a screen saver
US6389105B1 (en) * 1995-06-23 2002-05-14 Science Applications International Corporation Design and manufacturing approach to the implementation of a microlens-array based scintillation conversion screen
US5649186A (en) * 1995-08-07 1997-07-15 Silicon Graphics Incorporated System and method for a computer-based dynamic information clipping service
US5963964A (en) 1996-04-05 1999-10-05 Sun Microsystems, Inc. Method, apparatus and program product for updating visual bookmarks
US6085186A (en) * 1996-09-20 2000-07-04 Netbot, Inc. Method and system using information written in a wrapper description language to execute query on a network
JP2000512049A (ja) * 1997-01-09 2000-09-12 メディア・メトリックス・インコーポレイテッド 公衆コンピュータ・ネットワークの遠隔ファイル・アクセスのモニタリング
US6101510A (en) * 1997-01-29 2000-08-08 Microsoft Corporation Web browser control for incorporating web browser functionality into application programs
US5926796A (en) * 1997-05-05 1999-07-20 Walker Asset Management Limited Partnership Method and apparatus for selling subscriptions to periodicals in a retail environment
US5974549A (en) 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US5936247A (en) * 1997-06-27 1999-08-10 General Electric Company Imaging attenuation correction mechanism
US6057837A (en) * 1997-07-15 2000-05-02 Microsoft Corporation On-screen indentification and manipulation of sources that an object depends upon
US6038601A (en) 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US5960411A (en) * 1997-09-12 1999-09-28 Amazon.Com, Inc. Method and system for placing a purchase order via a communications network
US6266664B1 (en) * 1997-10-01 2001-07-24 Rulespace, Inc. Method for scanning, analyzing and rating digital information content
US6035336A (en) * 1997-10-17 2000-03-07 International Business Machines Corporation Audio ticker system and method for presenting push information including pre-recorded audio
US6078924A (en) * 1998-01-30 2000-06-20 Aeneid Corporation Method and apparatus for performing data collection, interpretation and analysis, in an information platform
US6205347B1 (en) * 1998-02-27 2001-03-20 Picker International, Inc. Separate and combined multi-modality diagnostic imaging system
US6366912B1 (en) * 1998-04-06 2002-04-02 Microsoft Corporation Network security zones
US6572662B2 (en) * 1998-05-15 2003-06-03 International Business Machines Corporation Dynamic customized web tours
US6057834A (en) * 1998-06-12 2000-05-02 International Business Machines Corporation Iconic subscription schedule controller for a graphic user interface
US6282546B1 (en) * 1998-06-30 2001-08-28 Cisco Technology, Inc. System and method for real-time insertion of data into a multi-dimensional database for network intrusion detection and vulnerability assessment
US6334145B1 (en) 1998-06-30 2001-12-25 International Business Machines Corporation Method of storing and classifying selectable web page links and sublinks thereof to a predetermined depth in response to a single user input
JP3831127B2 (ja) 1998-09-29 2006-10-11 一夫 大坪 交流電力波形中のノイズを除去する装置
US20010051907A1 (en) 1998-12-08 2001-12-13 Srihari Kumar Interactive financial portfolio tracking interface
US6243757B1 (en) 1999-01-11 2001-06-05 Enuntio, Inc. Automated information filtering and distribution system
US20020072951A1 (en) * 1999-03-03 2002-06-13 Michael Lee Marketing support database management method, system and program product
US6613098B1 (en) 1999-06-15 2003-09-02 Microsoft Corporation Storage of application specific data in HTML
US20020174201A1 (en) 1999-09-30 2002-11-21 Ramer Jon E. Dynamic configuration of context-sensitive personal sites and membership channels
US6381597B1 (en) 1999-10-07 2002-04-30 U-Know Software Corporation Electronic shopping agent which is capable of operating with vendor sites which have disparate formats
US7010580B1 (en) * 1999-10-08 2006-03-07 Agile Software Corp. Method and apparatus for exchanging data in a platform independent manner
US6775772B1 (en) * 1999-10-12 2004-08-10 International Business Machines Corporation Piggy-backed key exchange protocol for providing secure low-overhead browser connections from a client to a server using a trusted third party
US6694431B1 (en) * 1999-10-12 2004-02-17 International Business Machines Corporation Piggy-backed key exchange protocol for providing secure, low-overhead browser connections when a server will not use a message encoding scheme proposed by a client
US6732102B1 (en) * 1999-11-18 2004-05-04 Instaknow.Com Inc. Automated data extraction and reformatting
WO2001044934A1 (en) 1999-12-15 2001-06-21 Sun Microsystems, Inc. Preparation of a software configuration using an xml type programming language
US6708172B1 (en) * 1999-12-22 2004-03-16 Urbanpixel, Inc. Community-based shared multiple browser environment
US6523042B2 (en) 2000-01-07 2003-02-18 Accenture Llp System and method for translating to and from hierarchical information systems
US6779154B1 (en) * 2000-02-01 2004-08-17 Cisco Technology, Inc. Arrangement for reversibly converting extensible markup language documents to hypertext markup language documents
US6399951B1 (en) * 2000-02-02 2002-06-04 Ut-Battelle, Llc Simultaneous CT and SPECT tomography using CZT detectors
US20010027472A1 (en) 2000-03-27 2001-10-04 Feng Guan Dynamic information sharing based on unique individual ID
US7702995B2 (en) * 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US7213204B1 (en) 2000-04-27 2007-05-01 International Business Machines Corporation Method, system, and program for saving object content in a repository file
US6874084B1 (en) * 2000-05-02 2005-03-29 International Business Machines Corporation Method and apparatus for establishing a secure communication connection between a java application and secure server
US6675212B1 (en) * 2000-06-12 2004-01-06 Gateway, Inc. Method and apparatus for efficient data browsing
US20010050658A1 (en) 2000-06-12 2001-12-13 Milton Adams System and method for displaying online content in opposing-page magazine format
US20020019812A1 (en) * 2000-06-16 2002-02-14 Board Karen Eleanor System and service for receiving, customizing, and re-broadcasting high-speed financial data to users operating wireless network-capable devices
US6853997B2 (en) * 2000-06-29 2005-02-08 Infoglide Corporation System and method for sharing, mapping, transforming data between relational and hierarchical databases
US7313588B1 (en) 2000-07-13 2007-12-25 Biap Systems, Inc. Locally executing software agent for retrieving remote content and method for creation and use of the agent
US7152058B2 (en) * 2000-07-13 2006-12-19 Biap Systems, Inc. Apparatus for and method of selectively retrieving information and enabling its subsequent display
US7287093B2 (en) * 2000-08-04 2007-10-23 Mobileaware Technologies Limited E-business mobility platform
US6917937B1 (en) * 2000-11-01 2005-07-12 Sas Institute Inc. Server-side object filtering
US20020108115A1 (en) * 2000-12-11 2002-08-08 The Associated Press News and other information delivery system and method
US6816871B2 (en) 2000-12-22 2004-11-09 Oblix, Inc. Delivering output XML with dynamically selectable processing
US7092992B1 (en) * 2001-02-01 2006-08-15 Mailshell.Com, Inc. Web page filtering including substitution of user-entered email address
GB2377518B (en) * 2001-02-12 2003-10-22 Altio Ltd Client software enabling a client to run a network based application
US7213146B2 (en) * 2001-02-20 2007-05-01 Hewlett-Packard Development Company, L.P. System and method for establishing security profiles of computers
US20020156905A1 (en) 2001-02-21 2002-10-24 Boris Weissman System for logging on to servers through a portal computer
US20020124172A1 (en) * 2001-03-05 2002-09-05 Brian Manahan Method and apparatus for signing and validating web pages
US7096362B2 (en) 2001-06-01 2006-08-22 International Business Machines Corporation Internet authentication with multiple independent certificate authorities
US20030014406A1 (en) * 2001-06-07 2003-01-16 Urbanpixel Inc. Intelligent browser windows in a multi-browser environment
JP2004536643A (ja) * 2001-07-25 2004-12-09 デンツプライ インターナショナル インコーポレーテッド 実時間デジタルx線撮像装置
US7231659B2 (en) * 2001-07-31 2007-06-12 Verisign, Inc. Entity authentication in a shared hosting computer network environment
US7281260B2 (en) * 2001-08-07 2007-10-09 Loral Cyberstar, Inc. Streaming media publishing system and method
US20030033179A1 (en) * 2001-08-09 2003-02-13 Katz Steven Bruce Method for generating customized alerts related to the procurement, sourcing, strategic sourcing and/or sale of one or more items by an enterprise
US7080083B2 (en) * 2001-12-21 2006-07-18 Kim Hong J Extensible stylesheet designs in visual graphic environments
US20030135553A1 (en) * 2002-01-11 2003-07-17 Ramesh Pendakur Content-based caching and routing of content using subscription information from downstream nodes
US7318238B2 (en) * 2002-01-14 2008-01-08 Microsoft Corporation Security settings for markup language elements
WO2004002044A2 (en) * 2002-02-01 2003-12-31 John Fairweather A system for exchanging binary data
US6941521B2 (en) 2002-03-29 2005-09-06 Intel Corporation Method for dynamically generating a user interface from XML-based documents
US7904327B2 (en) * 2002-04-30 2011-03-08 Sas Institute Inc. Marketing optimization system
US7562222B2 (en) 2002-05-10 2009-07-14 Rsa Security Inc. System and method for authenticating entities to users
US20030229716A1 (en) 2002-06-08 2003-12-11 David Holland System and method for transferring financial information
US20060184617A1 (en) * 2005-02-11 2006-08-17 Nicholas Frank C Method and system for the creating, managing, and delivery of feed formatted content
US7047488B2 (en) * 2002-07-19 2006-05-16 Open Invention Network Registry driven interoperability and exchange of documents
US20040031052A1 (en) * 2002-08-12 2004-02-12 Liberate Technologies Information platform
US20060129681A1 (en) 2002-08-19 2006-06-15 Axalto Sa Secured method to exchange data between data between browser and a web site
US20040044961A1 (en) * 2002-08-28 2004-03-04 Leonid Pesenson Method and system for transformation of an extensible markup language document
US7146640B2 (en) 2002-09-05 2006-12-05 Exobox Technologies Corp. Personal computer internet security system
US20040073924A1 (en) * 2002-09-30 2004-04-15 Ramesh Pendakur Broadcast scheduling and content selection based upon aggregated user profile information
US7089248B1 (en) 2002-11-04 2006-08-08 Adobe Systems Incorporated Group file delivery including user-defined metadata
US7584208B2 (en) 2002-11-20 2009-09-01 Radar Networks, Inc. Methods and systems for managing offers and requests in a network
KR20030004225A (ko) 2002-12-03 2003-01-14 박용진 원격강의를 위한 상호운영성을 보장하는 세션관리 시스템구축 방법
AU2002953555A0 (en) * 2002-12-23 2003-01-16 Canon Kabushiki Kaisha Method for presenting hierarchical data
US7103600B2 (en) 2003-03-06 2006-09-05 Thought Inc. Displayable presentation page and SQL searchable relational data source implementation of a system, method and software for creating or maintaining distributed transparent persistence of complex data objects and their data relationships
US20040181753A1 (en) 2003-03-10 2004-09-16 Michaelides Phyllis J. Generic software adapter
CN1536483A (zh) 2003-04-04 2004-10-13 陈文中 网络信息抽取及处理的方法及系统
US20040250115A1 (en) 2003-04-21 2004-12-09 Trend Micro Incorporated. Self-contained mechanism for deploying and controlling data security services via a web browser platform
US20040225749A1 (en) 2003-05-08 2004-11-11 Gregory Pavlik Transformation of web site summary via taglibs
US20040237120A1 (en) 2003-05-22 2004-11-25 Lewin Blake P. Systems and methods for dynamically generating and distributing synchronized enhancements to a broadcast signal
WO2004107216A2 (en) 2003-05-23 2004-12-09 Computer Associates Think, Inc. A publish/subscribe mechanism for web services
US7346630B2 (en) * 2003-06-13 2008-03-18 Yahoo! Inc. Method and system for delivery alerts to a user
US7739602B2 (en) 2003-06-24 2010-06-15 Aol Inc. System and method for community centric resource sharing based on a publishing subscription model
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7308643B1 (en) * 2003-07-03 2007-12-11 Google Inc. Anchor tag indexing in a web crawler system
US20050010595A1 (en) * 2003-07-11 2005-01-13 International Business Machines Corporation System and method for automating an identification mechanism and type information configuration process for a real-time data feed to a database
WO2005013597A2 (en) * 2003-07-25 2005-02-10 Keepmedia, Inc. Personalized content management and presentation systems
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7793227B2 (en) * 2003-08-12 2010-09-07 Yahoo! Inc. Method and system of providing customizable buttons
US7310612B2 (en) * 2003-08-13 2007-12-18 Amazon.Com, Inc. Personalized selection and display of user-supplied content to enhance browsing of electronic catalogs
US20050091220A1 (en) * 2003-10-28 2005-04-28 Klemow Jason L. Method and system for syndicating business information for online search and directories
US20050097180A1 (en) * 2003-10-31 2005-05-05 Aaron Abdelhak System and method for improved customized portal web pages
US20050108024A1 (en) * 2003-11-13 2005-05-19 Fawcett John Jr. Systems and methods for retrieving data
US20050119910A1 (en) * 2003-12-01 2005-06-02 International Business Machines Corporation Content update notification
US20050165615A1 (en) * 2003-12-31 2005-07-28 Nelson Minar Embedding advertisements in syndicated content
US20050154978A1 (en) * 2004-01-09 2005-07-14 International Business Machines Corporation Programmatic creation and access of XML documents
US20050182645A1 (en) 2004-01-16 2005-08-18 Holger Ehlis Interactive community website
US8316128B2 (en) * 2004-01-26 2012-11-20 Forte Internet Software, Inc. Methods and system for creating and managing identity oriented networked communication
US20050188078A1 (en) * 2004-02-23 2005-08-25 Kotzin Michael D. System and method for managing and associating dynamic containers of a content providing device
US7433876B2 (en) * 2004-02-23 2008-10-07 Radar Networks, Inc. Semantic web portal and platform
US20050216837A1 (en) * 2004-03-12 2005-09-29 Onfolio, Inc. Unread-state management
US7702678B2 (en) * 2004-03-12 2010-04-20 Microsoft Corporation Search capture
US8020106B2 (en) 2004-03-15 2011-09-13 Yahoo! Inc. Integration of personalized portals with web content syndication
JP2005284334A (ja) 2004-03-26 2005-10-13 Oki Electric Ind Co Ltd Webページ更新通知方法及び装置
US7568015B2 (en) 2004-04-07 2009-07-28 Hand Held Products, Inc. Routing device and method for use with a HTTP enabled computer peripheral
US7865511B2 (en) 2004-06-25 2011-01-04 Apple Inc. News feed browser
US20050289147A1 (en) 2004-06-25 2005-12-29 Jessica Kahn News feed viewer
US7437375B2 (en) * 2004-08-17 2008-10-14 Symantec Operating Corporation System and method for communicating file system events using a publish-subscribe model
US7413085B2 (en) * 2004-09-07 2008-08-19 Iconix, Inc. Techniques for displaying emails listed in an email inbox
US7634535B2 (en) * 2004-09-14 2009-12-15 Watson Stuart T Method and system for tracking multiple information feeds on a communications network
US7516399B2 (en) 2004-09-30 2009-04-07 Microsoft Corporation Structured-document path-language expression methods and systems
US7412655B2 (en) * 2004-11-02 2008-08-12 Yahoo! Inc. Method and system of providing dynamic dialogs
US20060129917A1 (en) * 2004-12-03 2006-06-15 Volk Andrew R Syndicating multiple media objects with RSS
US20060155698A1 (en) * 2004-12-28 2006-07-13 Vayssiere Julien J System and method for accessing RSS feeds
US20080195483A1 (en) * 2005-02-01 2008-08-14 Moore James F Widget management systems and advertising systems related thereto
US20070050446A1 (en) * 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
US20060173865A1 (en) * 2005-02-03 2006-08-03 Fong Joseph S System and method of translating a relational database into an XML document and vice versa
US7529766B2 (en) * 2005-02-09 2009-05-05 Conduit Ltd Method and system for use with the internet
US20060206803A1 (en) 2005-03-14 2006-09-14 Smith Jeffrey C Interactive desktop wallpaper system
JP4721740B2 (ja) 2005-03-23 2011-07-13 富士通株式会社 記事又は話題を管理するためのプログラム
US7743254B2 (en) 2005-03-23 2010-06-22 Microsoft Corporation Visualization of trust in an address bar
US20060213979A1 (en) 2005-03-25 2006-09-28 Bluko Information Group Method and system of detecting fraud and incremental commitment of value
US7523137B2 (en) 2005-04-08 2009-04-21 Accenture Global Services Gmbh Model-driven event detection, implication, and reporting system
US20060235885A1 (en) * 2005-04-18 2006-10-19 Virtual Reach, Inc. Selective delivery of digitally encoded news content
US20060242663A1 (en) 2005-04-22 2006-10-26 Inclue, Inc. In-email rss feed delivery system, method, and computer program product
US9582602B2 (en) 2005-05-17 2017-02-28 Excalibur Ip, Llc Systems and methods for improving access to syndication feeds in network browsing applications
US8661459B2 (en) 2005-06-21 2014-02-25 Microsoft Corporation Content syndication platform
US20070011665A1 (en) 2005-06-21 2007-01-11 Microsoft Corporation Content syndication platform
US9104773B2 (en) 2005-06-21 2015-08-11 Microsoft Technology Licensing, Llc Finding and consuming web subscriptions in a web browser
US20070011156A1 (en) * 2005-07-05 2007-01-11 Oracle International Corporation RSS enabled logging
US8688801B2 (en) * 2005-07-25 2014-04-01 Qurio Holdings, Inc. Syndication feeds for peer computer devices and peer networks
US20070033290A1 (en) * 2005-08-03 2007-02-08 Valen Joseph R V Iii Normalization and customization of syndication feeds
US20070079321A1 (en) 2005-09-30 2007-04-05 Yahoo! Inc. Picture tagging
US20070100836A1 (en) * 2005-10-28 2007-05-03 Yahoo! Inc. User interface for providing third party content as an RSS feed
US20070101313A1 (en) * 2005-11-03 2007-05-03 Bodin William K Publishing synthesized RSS content as an audio file
US8280843B2 (en) 2006-03-03 2012-10-02 Microsoft Corporation RSS data-processing object
US7979803B2 (en) * 2006-03-06 2011-07-12 Microsoft Corporation RSS hostable control
CN110248800B (zh) 2017-02-14 2021-03-09 三菱电机株式会社 防水性被膜及形成有其的制品

Also Published As

Publication number Publication date
US8661459B2 (en) 2014-02-25
US20140115109A1 (en) 2014-04-24
CN101203832B (zh) 2011-05-04
JP2008547117A (ja) 2008-12-25
WO2007001864A1 (en) 2007-01-04
US9762668B2 (en) 2017-09-12
KR101312850B1 (ko) 2013-09-30
CN101203832A (zh) 2008-06-18
US20060288329A1 (en) 2006-12-21
EP1896940A4 (en) 2011-02-23
KR20080017338A (ko) 2008-02-26
EP1896940A1 (en) 2008-03-12

Similar Documents

Publication Publication Date Title
JP5020949B2 (ja) コンテンツ配信プラットフォーム
AU2006262540B2 (en) Content syndication platform
US9894174B2 (en) Finding and consuming web subscriptions in a web browser
US11232080B2 (en) Systems and methods for providing access to a data file stored at a data storage system
US9298747B2 (en) Deployable, consistent, and extensible computing environment platform
US7272782B2 (en) System and method for providing offline web application, page, and form access in a networked environment
JP2021509191A (ja) クライアント同期における違反の解決
US20040143836A1 (en) System and method for sharing objects among two or more electronic devices
EP1811747A1 (en) Method and apparatus for storing and restoring state information of remote user interface
WO2007076135A2 (en) Management of digital media using portable wireless devices in a client-server network
WO2015006249A1 (en) Saving third-party content to a content management system
Douglass et al. Introducing WordPress
Tim Introducing WordPress

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090414

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090414

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111020

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120119

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120420

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: 20120515

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120613

R150 Certificate of patent or registration of utility model

Ref document number: 5020949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250