In-depth analysis of Microsoft content syndication platform patent application

Microsoft Content Syndication Platform patent application

On June 21, 2005 eight Microsoft employees claimed invention rights for a “content syndication platform,” exemplified by Internet Explorer 7 and its support for aggregating feed content. Patent application 20060288329 pursues the “the right to exclude others from making, using, offering for sale, or selling” (see United States definition of a patent) normalized web feeds made available via an API and centrally stored feed lists. The patent application was revealed yesterday after an 18-month privacy window expired.

Authors Edward Praitis, Jane Kim, Sean Lyndersay, Walter V. von Koch, Bruce Morgan, Cindy Kwan, and Amar Gandhi (now at Google) claim invention rights over a few different pieces of a content syndication system. I’ll walk through each section detailing the specific invention claims and prior art where appropriate.

Centralized access to a shared list of web feed subscriptions

The centralized web feed storage is very similar to existing browser behavior of bookmarks or favorites. Once you find some web content worth revisiting, you can add that content to a special list to revisit at a later date.

NCSA Mosaic hotlists

Local bookmarks have been inside of web browsers since hotlists in the NCSA Mosaic browser introduced in 1992. Web feeds are treated as special types of bookmarks within web browsers, placed within the “Favorites Center” of Internet Explorer 7 and the bookmarks menu of Mozilla Firefox.

NCSA assigned all commercial rights for the Mosaic browser and its inventions to its commercial spinoff, Spyglass, Inc., in August 1994. Microsoft licensed Mosaic technologies from Spyglass in 1995 and if you view the About section of the Internet Explorer application you will see the “distributed under a licensing agreement with Spyglass, Inc.” message to this day.

Centralized bookmark storage is nothing new, we’ve just learned how to distinguish special types of bookmarks over the years.

Process web feed data supplied in various syndication formats

The Internet Explorer 7 feed platform parses web feed data defined in various syndication formats such as RDF, RSS, and Atom and exposes the processed data to other applications on the desktop such as Internet Explorer, Outlook, and Windows Media Player. This abstraction layer simplifies feed delivery, letting a programmer simply access data without worrying about how it may be expressed in various formats, including common errors of expression.

Example

The name of a feed’s author may be expressed a few different ways, depending on the feed format:

RDF (aka RSS 1.0)
<dc:creator>Niall Kennedy</dc:creator>
RSS 2.0
<managingEditor>blog@niallkennedy.com (Niall Kennedy)</managingEditor>
Atom Syndication Format
<author><name>Niall Kennedy</name></author>

An abstraction layer lets a programmer simply ask for the author name without needing to worry about the feed format, the existence of an e-mail address accompanying the name, or perhaps encoding errors present in the author’s feed. A variety of feed parsing libraries are available in each programming language to assist developers by abstracting feed retrieval and parsing into simple object references.

The Universal Feed Parser project has been available on SourceForge.net since June 17, 2004. The project was formerly known as the Ultra-liberal RSS parser and released by developer Mark Pilgrim on August 13, 2002 under a GPL license.

Determining a feed update schedule

Once a web feed is specified for subscription it may be updated upon application launch and/or at regular intervals. In some cases the feed author specifies additional information such as the minimum time between updates or times the feed aggregator should not attempt to update, such as specific hours and days. Server headers and markup within the individual feed content provide preferences feed readers should obey when interacting with the feed data.

The Microsoft Feed Schedule Module referenced in the patent (section 0046) adjusts update schedules based on a few additional factors. The scheduler scatters feed updates slightly, up to a 15 minute variation from a regularly scheduled update, to avoid hitting a site for new updates every hour on the hour. The module also takes into consideration the “fresh” status of the feed, noting the difference between a feed with no errors and regular updates versus another feed with constant errors or very infrequent updates. Each time a feed download is attempted a new update suggestion is scheduled based on this profiling data.

My.Userland On the Desktop was an early feed aggregator bundled with Radio Userland. Radio 8.0.1, released on January 18, 2002, introduced scattered download schedules by selecting a random minute after the hour for its scheduled updates. Radio 8.0.8, released on May 28, 2002, adjusted its update schedule based on freshness.

Internet Explorer adds a few more update polling smarts than previously implemented by other aggregators. The error checking awareness and scattering an update schedule over a 15 minute variance might be a worthy invention worthy of a patent.

Enclosure download and access

An enclosure is similar to an e-mail attachment. It contains a file or file related to the feed entry available for download depending on the preferences of the consuming application and/or the end-user. Common examples of enclosures include images, audio, and video but may also include calendar data, a word processing document, or any other type of file. A single enclosure item may be available in multiple formats, such as text, Word Doc, or PDF, and expressed through feed markup extensions such as Media RSS. Given multiple choices an application or end-user might prefer a specific format with each download.

The Enclosure Download Module described in the patent (section 0093) references advanced enclosure handling available through application and user settings and exposed via an API. Enhanced enclosure preferences mentioned include a preview version of an enclosure up to a certain size limit (i.e. the first 12 KB of a PDF) and setting an option to stream from the publisher’s server or download the entire file to local disk.

The enhanced download module might be a unique invention and worthy of a utility patent. I am unaware of prior art in this area.

Summary

I am not a patent expert or qualified in any way to talk patent law in any depth. This post is an attempt to document the novelty and non-obviousness needed for Microsoft’s patent application to receive legal approval.

I worked for Microsoft’s Windows Live Platform division earlier this year creating an online content syndication platform incorporating many of the ideas outlined in this patent application. I was not aware of the June 2005 patent application by the Internet Explorer team until earlier this week. I have previously documented the unreleased content syndication platforms of My Yahoo! and Google Reader.

Microsoft patent award cube Microsoft employees receive an inscribed granite cube and a financial reward for each patent granted. The trophies are often displayed with pride for any visitor to quickly count. If you possibly invented something you’re encouraged to submit a patent to reward yourself and the company. There are multiple reasons why Microsoft employees might file a patent, but only the company or the “inventors” can speak to their reasoning and intent although lots of legal issues get in the way.

I believe parts of Microsoft’s patent application are new and interesting (and possible inventions), but the main areas of the patent, centralized subscription list and feed data normalization, existed long before Internet Explorer awoke from its slumber. The content syndication platform patent was filed three days before the Internet Explorer team announced support announced RSS support. What other “inventions” are yet to be unveiled as the patent system’s 18-month privacy window rolls forward?

  • Posted
  • Updated at
  • Comments [8]

8 comments

Commentary on "In-depth analysis of Microsoft content syndication platform patent application":

  1. Osman S Borutecene on wrote:

    Another useful article without a “me me me” blurb. You are building a great example about how to blog purposefully.

  2. Ari Pernick on wrote:

    Some more things for the list:

    AES and zones support
    Background bandwidth usage for enclosure download via BITS

    I can’t help but feel that nobody has attempted to create a centralized platform for the whole package before, and there has to be some IP in that concept or what you do to make that work.

    • Niall Kennedy on wrote:

      The Attachment Execution Service is part of the existing Windows operating system to ensure “safe download and exchange of files through e-mail and messaging attachments” and not an invention of Internet Explorer 7. Treating an enclosure as an attachment within the OS and distinguishing URL security zones such as intranet and Internet are expected (and recommended) uses of technologies on the Windows platform.

      The Background Intelligent Transfer Service (BITS) is a previous component of Windows XP used for file downloads across the OS. It’s another hook any developer can call to facilitate better downloads with more smarts than simply requesting the file directly.

      I purposely left out the two pieces of Windows technology mentioned, as it seems a bit odd for the Internet Explorer group, a group within the Windows division at Microsoft and a client of the OS to patent their use of an existing Windows API.

    • dbt on wrote:

      There’s a lot of “intellectual property” involved, obviously. Going from there to “patent” is perhaps less appropriate.

      That having been said, it’s amazing how often Microsoft technologies get adopted 8 years later, without credit coming back. Ajax? Microsoft invented XHR. RSS/Atom? Microsoft’s CDF before anybody knew who Winer was. SVG? VML.

    • Gary Santoro on wrote:

      I think it’s important to distinguish between CDF and RSS. So much development occurred under RSS that did not occur with CDF.

      The specifics of these patent applications may make them ungrantable.

  3. Michael.NET on wrote:

    Niall,

    Sean Lyndersay at Microsoft has posted an explanation looking for more questions to respond to, you should ask a question for every point you bring up here.

  4. ChannelMaker on wrote:

    Virtually all of this was was foreseen and encapsulated in IE 4.0 Channels in 1996.
    Please see US Patent 6594682.

    CDF aka “Channel Definition Format”, the syndication format defined as part of the system, preceded RSS by a year when Netscape introduced RSS as its own slightly tweaked version.

    If you read the W3C submission for CDF and read the earlier patent: you’ll realize that Channels was designed to do most of what’s claimed in this patent.

    Multiple categorization of each node didn’t make the final IE product simply because publishers at the time weren’t too keen on an automated agent reorganizing their material on the behalf of the user. They wanted all of their stuff nicely represented on the desktop with an icon, not pulled apart and reaggregated the way users (or other processes) needed to consume them — ultimately MS marketing put the kibosh on those functions in favor of what publishing partners wanted at that time.

    Virtually, all of these ideas, including multiple source aggregation and reorganization are discussed or alluded to.

    Given that most users were on dialup at the time, the feature was advertised as a “push” technology that collected offline pages in a TiVo-like manner.

    A bunch of people at MSFT were pretty embarrassed by its failure — but it’s sadly amusing to see that, although the episode has gone down the collective memory hole, virtually every idea in Channels has become essential to the daily use of the web and collaborative applications.

    Since MS already holds the 6594682 patent, its a bit puzzling that they don’t know they already “own” it.

    • Gary Santoro on wrote:

      Niall,

      Many thanks for this valuable analysis and contribution to the discussion.

      ChannelMaker,

      Thank you for this info. The 1996 patent “6594682″ may not address today’s state of the art. Perhaps that is why Microsoft filed two additional applications with the USPTO in 2005.

      The new patent applications are specifically about RSS software, and I think they should be further examined by the RSS community.