Improved podcasts and techniques that facilitate their use are disclosed. The improved techniques can pertain to creating, publishing, hosting, accessing, subscribing, managing, transferring, and/or playing podcasts. According to one aspect, a client application can subscribe to podcasts and then automatically monitor the podcasts for updates to be downloaded. In the event that user interest in a podcast becomes inadequate, downloading of further updates can be restricted. According to another aspect, a podcast can be subscribed to through use of a portable subscription file. According to still another aspect, podcast feeds can be enhanced to include segment elements and other metadata.
|
12. A method comprising:
playing a podcast having a plurality of chapters;
displaying a first multimedia item associated with a first chapter as the first chapter is played; and
displaying a second multimedia item associated with a second chapter as the second chapter is played.
1. A podcast feed, the podcast feed comprising a plurality of podcast segment elements, each podcast segment element including:
a segment link that identifies a location of a multimedia element associated with the segment element; and
a time indicator indicative of a start time associated with the associated multimedia element.
16. A method comprising:
receiving a podcast feed;
accessing a podcast using a first link provided in the podcast feed; accessing the first multimedia item distinct from the podcast using a second link provided in the podcast feed; and
accessing a second multimedia item distinct from the podcast and the first multimedia item using a third link provided in the podcast feed.
20. A system comprising:
a data storage device storing a podcast feed, the podcast feed comprising a plurality of podcast segment elements, each podcast segment element including:
a segment link that identifies a location of a multimedia element associated with the segment element; and
a time indicator indicative of a start time associated with the associated multimedia element.
27. A system comprising:
a device configured for:
receiving a podcast feed;
accessing a podcast using a first link provided in the podcast feed; accessing the first multimedia item distinct from the podcast using a second link provided in the podcast feed; and accessing a second multimedia item distinct from the podcast and the first multimedia item using a third link provided in the podcast feed.
8. A podcast feed embodied in a computer readable medium, the podcast feed comprising:
a link to a podcast episode having a plurality of chapters; and
a plurality of segment elements, each segment element being associated with an associated chapter of the podcast episode and including a segment title, a segment link for an associated multimedia element and a time indicator indicative of a start time that identifies a time in the podcast episode at which the associated multimedia element is to be displayed.
2. A podcast feed as recited in
3. A podcast feed as recited in
4. A podcast feed as recited in
5. A podcast feed as recited in
6. A podcast feed as recited in
7. A podcast feed as recited in
9. A podcast feed as recited in
10. A podcast feed as recited in
11. A podcast feed as recited in
13. A method as recited in
14. A method as recited in
receiving a podcast feed;
accessing the podcast using a first link provided in the podcast feed, wherein the podcast is accessed before it is played;
accessing the first multimedia item using a second link provided in the podcast feed;
accessing the second multimedia item using a third link provided in the podcast feed.
15. A method as recited in
displaying the first multimedia item at a first time indicated in the podcast feed; and
displaying the second multimedia item at a second time indicated in the podcast feed.
17. A method as recited in
playing the podcast;
displaying the first multimedia item at a first time indicated in the podcast feed; and
displaying the second multimedia item at a second time indicated in the podcast feed.
18. A method as recited in
19. A method as recited in
a segment link that identifies a location of a multimedia element associated with the segment element; and
a time indicator indicative of a start time associated with the associated multimedia element.
21. The system of
22. The system of
23. The system of
24. The system of
25. The system of
26. The system of
28. The system of
playing the podcast;
displaying the first multimedia item at a first time indicated in the podcast feed; and
displaying the second multimedia item at a second time indicated in the podcast feed.
29. The system of
30. The system of
the segment element comprising a plurality of podcast segment elements, each podcast segment element including:
a segment link that identifies a location of a multimedia element associated with the segment element; and
a time indicator indicative of a start time associated with the associated multimedia element.
|
This application is a continuation of and claims priority to U.S. patent application Ser. No. 13/207,361, filed Aug. 10, 2011, entitled “TECHNIQUES AND SYSTEMS FOR SUPPORTING PODCASTING,” which in turn claims priority to U.S. patent application Ser. No. 12/477,820, filed Jun. 3, 2009, entitled “TECHNIQUES AND SYSTEMS FOR SUPPORTING PODCASTING,” which issued on Sep. 20, 2011 as U.S. Pat. No. 8,020,762, which in turn claims priority to U.S. patent application Ser. No. 11/166,331, filed Jun. 25, 2005, entitled “TECHNIQUES AND SYSTEMS FOR SUPPORTING PODCASTING,” which issued on Mar. 30, 2010 as U.S. Pat. No. 7,686,215, which in turn claims priority to U.S. Provisional Patent Application No. 60/683,056, filed May 21, 2005, and entitled “TECHNIQUES AND SYSTEMS FOR SUPPORTING PODCASTING,” each of the forgoing applications are hereby incorporated by reference.
This application is related to U.S. patent application Ser. No. 11/166,333, filed Jun. 25, 2005, and entitled “UTILIZATION OF PODCASTS ON PORTABLE MEDIA DEVICES,” now abandoned, which is hereby incorporated by reference and U.S. patent application Ser. No. 11/166,332, filed Jun. 25, 2005, and entitled “ACQUISITION, MANAGEMENT AND SYNCHRONIZATION OF PODCASTS,” now abandoned, which is hereby incorporated by reference.
1. Field of the Invention
The present invention relates to podcasts and, more particularly, to acquiring and playing podcasts on a portable media device.
2. Description of the Related Art
A media player stores media assets, such as audio tracks, that can be played or displayed on the media player. One example of a portable media player is the iPod® media player, which is available from Apple Computer, Inc. of Cupertino, Calif. Often, a media player acquires its media assets from a host computer that serves to enable a user to manage media assets. In managing media assets, a user can create playlists for audio tracks. These playlists can be created at the host computer. Media assets within the playlists can then be copied to the media player. As an example, the host computer can execute a media management application to create and manage media assets. One example of a media management application is iTunes® produced by Apple Computer, Inc.
Podcasts are typically used to share content from websites. Podcasts are associated with Really Simple Syndication (RSS) feeds which use a lightweight XML format. A podcast can be organized into episodes much like a radio or television program. An interested person can subscribe to receive podcast episodes that are subsequently published. This is achieved by the interested person using their computer to access a podcast website that hosts the RSS feed. The interested person can then subscribe the RSS feed such that their computer occasionally re-visits the podcast website to check for any new podcast episodes. Typically, if a new podcast episode is available, it is downloaded to the computer. Thereafter, the interested user can play the podcast episode at their computer in the same manner as other audio files (e.g., MP3 files). A utility program can be used to download the audio files to a portable media player (e.g., MP3 player). One example of such a conventional utility program is “iPodder” which is a small program that runs on one's computer to download audio files to one's portable media player.
Unfortunately, podcasts are conventionally not easily managed on host computer. Podcasts often dynamically change as new episodes are released. Management of such dynamic media assets is complicated. Additionally, to the extent that the host computer desires to support a portable media player, the host computer needs to manage the transfer of podcast data to the portable media player.
Thus, there is a need for techniques to manage and use podcasts on computers.
The invention pertains to improved podcasts and techniques that facilitate their use. The improved techniques can pertain to creating, publishing, hosting, accessing, subscribing, managing, transferring, and/or playing podcasts.
According to one aspect, a client application can subscribe to podcasts and then automatically monitor the podcasts for updates. When updates to the podcasts are available (e.g., new episodes), the updates can be downloaded to the client application. However, in the event that user interest in a podcast becomes inadequate, downloading of further updates can be restricted. According to another aspect, a podcast can be subscribed to through use of a portable subscription file. The portable subscription files are portable and transferable across networks, thereby providing a convenient way to facilitate subscription to podcasts. According to still another aspect, podcast feeds can be enhanced to include segment elements and other metadata. The segment links and time indications can be provided for each of the segments. A client application that presents a podcast to a user can provide an improved graphical user interface through use of the segment elements and other metadata.
The invention can be implemented in numerous ways, including as a method, system, device, apparatus (including graphical user interface), or computer readable medium. Several embodiments of the invention are discussed below.
As a method for subscribing to a podcast, one embodiment of the invention includes at least the acts of: receiving a portable subscription file that is used to facilitate subscribing to the podcast; accessing the portable subscription file to obtain podcast information; and subscribing to the podcast using the podcast information.
As a computer readable medium including at least computer program code for subscribing to a podcast, one embodiment of the invention includes at least: computer program code for receiving a user selection of a portable subscription file that is used to facilitate subscribing to the podcast; computer program code for launching a media management application in response to the user selection; computer program code for parsing the portable subscription file to obtain podcast information; and computer program code for subscribing to the podcast via the media management application using the podcast information.
As a portable subscription file, one embodiment includes at least: an application identifier; and a network address for a podcast feed.
As a method for acquiring podcast information at a client application, the podcast information being acquired from a podcast hosting server via a network, one embodiment of the invention includes at least the acts of: accessing a podcast feed from the podcast hosting server via the network to acquire episode information for the podcast; determining one or more new episodes based on the acquired episode information; determining whether the podcast is still active at the client application; and receiving, at the client application, the one or more new episodes from the podcast hosting server over the network so long as it is determined that the podcast is still active at the client application.
As a computer readable medium including at least computer program code for acquiring digital multimedia asset information at a client application, the digital multimedia asset information being acquired from a digital multimedia asset hosting server via a network, one embodiment of the invention includes at least: computer program code for accessing a digital multimedia asset feed from the digital multimedia asset hosting server via the network to acquire episode information for the digital multimedia asset; computer program code for determining one or more new episodes based on the acquired episode information; computer program code for determining whether the client application or a user thereof has shown adequate interest in the digital multimedia asset; and computer program code for receiving, at the client application, the one or more new episodes from the digital multimedia asset hosting server over the network so long as it is determined that the client application or a user thereof has shown adequate interest in the digital multimedia asset.
As a podcast feed, one embodiment of the invention includes a plurality of segment elements, each of the segment elements including a segment link for a multimedia element and a time indication associated with the segment elements.
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.
The invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
The invention pertains to improved podcasts and techniques that facilitate their use. The improved techniques can pertain to creating, publishing, hosting, accessing, subscribing, managing, transferring, and/or playing podcasts.
According to one aspect, a client application can subscribe to podcasts and then automatically monitor the podcasts for updates. When updates to the podcasts are available (e.g., new episodes), the updates can be downloaded to the client application. However, in the event that user interest in a podcast becomes inadequate, downloading of further updates can be restricted. According to another aspect, a podcast can be subscribed to through use of a portable subscription file. The portable subscription files are portable and transferable across networks, thereby providing a convenient way to facilitate subscription to podcasts. According to still another aspect, podcast feeds can be enhanced to include segment elements and other metadata. The segment links and time indications can be provided for each of the segments. A client application that presents a podcast to a user can provide an improved graphical user interface through use of the segment elements and other metadata.
Embodiments of the invention are discussed below with reference to
A computer program 108 (client or client application), typically a media management application (MMA) or other media player application, runs on the client device 104. One example of a media management application is the iTunes® application, produced by Apple Computer, Inc. of Cupertino, Calif. The client devices 104 are, in general, computing devices. As an example, the client devices 104 can be specific or general-purpose personal computers (or even portable media players). The client device 104 can couple to a portable media device 109 (portable media player). One example of a portable media player suitable for use with the invention is the iPod®, also produced by Apple Computer, Inc. The computer program 108 can be used by a consumer for a variety of purposes, including, but not limited to, browsing, searching, acquiring and/or purchasing media assets (including podcasts) from the on-line media store provided by the media store server 102, creating and sharing media asset groups (e.g., playlists), organizing media assets, presenting/playing media assets, transferring media assets between client devices 104, and synchronizing with portable media devices 109.
The media system 100 can also includes one or more client devices 110 for use by media programmers. The client devices 110 also run a computer program 112, typically a media management application (MMA) or other media player application. The computer program 112 can be the same as the computer program 108, though the computer program 112 might offer additional functionality for support of the media programmer. As an example, the media programmer that uses the computer program 112 might provide additional functionality for creating and publishing podcasts.
The media system 100 also includes a digital asset manager 114. The digital asset manager 114 is coupled to a media assets database 116. The media assets database 116 stores media asset information including metadata relating to digital media assets available for purchase at the on-line media store. The metadata can pertain to individual media assets (digital media assets) or media asset groups (digital media asset groups). Media assets can include, but are not limited to, music, video, text, and/or graphics files. One particular type of media asset or media asset group is a podcast, which often includes audio, graphics and text (but could also include video). In the case of music, a media asset group can be a playlist for the music. One specific example of a type of digital media asset group is referred to as an iMix™, which is a published playlist currently available for browsing and/or purchase on Apple Computer's iTunes® Music Store. Another specific example of a type of digital media asset group is referred to as an iEssential™, which is a published playlist created by a media programmer and currently available for browsing and/or purchase on Apple Computer's iTunes® Music Store. Still another specific example of a type of digital media asset group is referred to as a Celebrity Playlist, which is a published playlist created by a celebrity and which could be made available for browsing and/or purchase on Apple Computer's iTunes® Music Store.
The media store server 102 enables the user of a particular client device 104 to acquire media assets (e.g., podcasts). Subsequently, the client device 104 can download the media assets from the media store server 102, or some other server, via the data network 106. As will be understood by those familiar with data networks, other network configurations are possible. Furthermore, while the media store server 102 and the digital asset manager 114 are shown as individual and separate devices, it will be understood by those familiar with the art that other configurations are possible. As one example, each device can be implemented such that it is distributed over multiple server computers. As another example, these various servers and/or managers can be implemented by a single physical server computer.
The podcast submission process 200 begins with a podcast being created 202. The podcast can be created during the podcast submission process 200 or can have been previously created. In one implementation, the podcast submission process 200 is performed by a single application, such as the media management application. In another implementation, the podcast creation can be done in one application and the podcast publication can be done in another application.
After the podcast has been created 202, a decision 204 determines whether publication has been requested. When the decision 204 determines that a publication request has not been made, the podcast submission process 200 awaits such a request. On the other hand, once the decision 204 determines that a publication request has been made, a network address (e.g., podcast feed URL) to the podcast is received 206. In one implementation, the user of the client would enter the appropriate network address into a text entry box of a graphical user interface being presented to the user by the client. The network address to the podcast is then sent 208 to a server. The server, for example, can be a media store or some other server. Thereafter, a decision 210 determines whether a podcast review page has been received. When the decision 210 determines that a podcast review page has not been received, the podcast submission process 200 awaits the receipt of the podcast review page. Alternatively, when the decision 210 determines that a podcast review page has been received, the podcast review page is displayed 212. Typically, the podcast review page includes at least basic podcast metadata pertaining to the podcast. Once the podcast review page is displayed 212, the basic podcast data can be changed (i.e., edited). In addition, the podcast review page can include one or more data entry fields that facilitate data entry pertaining to additional (or supplemental) podcast metadata that can be provided by the user.
Next, a decision 214 determines whether the user of the client desires to edit (change) the basic podcast metadata or provide additional podcast metadata with respect to the podcast preview page. When the decision 214 determines that the user does desire to edit the podcast metadata, the podcast metadata can be altered 216. As an example, the user can edit the basic podcast metadata or can enter additional podcast metadata using the data entry fields. One example additional metadata is to provide a category classification for the podcast. The additional podcast metadata can also be referred to as supplemental podcast metadata. Following the block 216, or directly following the decision 214 when altering is not been performed, a decision 218 determines whether the user has submitted the podcast metadata. Here, the submission of the podcast metadata indicates the user's acceptance of the podcast metadata, whether basic or additional podcast metadata, following any data alterations. Such podcast metadata being submitted can be referred to as final podcast metadata. Hence, when the decision 218 determines that the podcast metadata is to be submitted, the final podcast metadata is submitted 220. Typically, the final podcast metadata would be submitted 220 to a server, such as the media store server illustrated in
An exemplary RSS feed for a podcast is provided immediately below. Note as discussed in greater detail hereafter the RSS feed provides categories for the channel (i.e., show) as well as for each item (i.e., chapter). For each item, an audio file (e.g., MP3 or AAC format) is identified by a URL.
<?xml version=“1.0” encoding=“UTF-8”?>
<!-- must include xmlns:itunes tag -->
<rss xmlns:itunes=“http://www.itunes.com/DTDs/Podcast-1.0.dtd” version=“2.0”>
<channel>
<title>All About Everything</title>
<itunes:author>John Doe</itunes:author>
<link>http://www.itunes.com/podcasts/everything/index.html</link>
<description>All About Everything is a show about everything. Each week we dive
into every subject known to man and talk about everything as much as we
can.</description>
<itunes:subtitle>All About Everything is a show about everything</itunes:subtitle>
<itunes:summary>All About Everything is a show about everything. Each week we
dive into every subject known to man and talk about everything as much as we can.
Look for our Podcast in the iTunes Music Store</itunes:summary>
<language>en-us</language>
<copyright>Acme News Corp. 2005</copyright>
<itunes:owner>
<itunes:name>John Doe</itunes:name>
<itunes:email>johndoe@mac.com</itunes:email>
</itunes:owner>
<image>
<url>http://www.itunes.com/podcasts/everything/AllAboutEverything.jpg</url>
<title>All About Everything</title>
<link>http://www.-.com/podcasts/everything/index.html</link>
</image>
<!-- the max size for rss image is 144×400 -->
<!-- iTunes allows images larger than that -->
<itunes:link rel=“image” type=“video/jpeg”
href=“http://www.itunes.com/podcasts/everything/AllAboutEverything.jpg”>All About
Everything</itunes:link>
<category>Technology</category>
<!-- categories can be nested for category/subcategory -->
<!-- there can be multiple itunes categories. the first set is the primary category/
subcategory -->
<itunes:category text=“Technology”>
<itunes:category text=“Gadgets”/>
</itunes:category>
<itunes:category text=“Politics” />
<itunes:category text=“Technology”>
<itunes:category text=“News”/>
</itunes:category>
<item>
<title>Shake Shake Shake Your Spices</title>
<itunes:author>John Doe</itunes:author>
<description>This week we talk about salt and pepper shakers, comparing and contrasting pour
rates, construction materials, and overall aesthetics.</description>
<itunes:subtitle>A short primer on table spices</itunes:subtitle>
<itunes:summary>This week we talk about salt and pepper shakers, comparing and
contrasting pour rates, construction materials, and overall aesthetics. Come and join the
party!</itunes:summary>
<enclosure
url=“http://www.itunes.com/podcasts/everything/AllAboutEverythingEpisode3.mp3”
length=“8727310” type=“x-audio/mp3” />
<guid>http://www.itunes.com/podcasts/everything/
AllAboutEverythingEpisode3.mp3</guid>
<pubDate>Wed, 15 Jun 2005 11:39:59 GMT</pubDate>
<category>Technology</category>
<itunes:category text=“Technology”>
<itunes:category text=“Gadgets”/>
</itunes:category>
<itunes:explicit>no</itunes:explicit>
<itunes:duration>7:04</itunes:duration>
<itunes:keywords>salt pepper shaker exciting</itunes:keywords>
</item>
<item>
<title>Socket Wrench Shootout</title>
<itunes:author>Jane Doe</itunes:author>
<description>This week we talk about metric vs. old english socket wrenches. Which
one is better? Do you really need both?</description>
<itunes:subtitle>Comparing socket wrenches is fun!</itunes:subtitle>
<itunes:summary>This week we talk about metric vs. old english socket wrenches.
Which one is better? Do you really need both? Get all of your answers
here.</itunes:summary>
<enclosure
url=“http://www.itunes.com/podcasts/everything/AllAboutEverythingEpisode2.mp3”
length=“5650889” type=“x-audio/mp3” />
<guid>http://www.itunes.com/podcasts/everything/
AllAboutEverythingEpisode2.mp3</guid>
<pubDate>Wed, 8 Jun 2005 11:20:59 GMT</pubDate>
<category>Politics</category>
<itunes:category text=“Technology”>
<itunes:category text=“Gadgets”/>
</itunes:category>
<itunes:explicit>no</itunes:explicit>
<itunes:duration>4:34</itunes:duration>
<itunes:keywords>metric socket wrenches
tool</itunes:keywords>
</item>
<item>
<title>Red, Whine, and Blue</title>
<itunes:author>Various</itunes:author>
<description>This week we talk about surviving in a Red state if
you're a Blue person. Or vice versa.</description>
<itunes:subtitle>Red + Blue != Purple</itunes:subtitle>
<itunes:summary>This week we talk about surviving in a Red
state if you're a Blue person. Or vice versa. Or moving to Canada.</itunes:summary>
<enclosure
url=“http://www.itunes.com/podcasts/everything/AllAboutEverythingEpisode1.mp3”
length=“4989537” type=“x-audio/mp3” />
<guid>http://www.itunes.com/podcasts/everything/AllAboutEverythingEpisode1.mp3</
guid>
<pubDate>Wed, 1 Jun 2005 10:21:04 GMT</pubDate>
<category>Politics</category>
<itunes:category text=“Technology”>
<itunes:category text=“Gadgets”/>
</itunes:category>
<itunes:explicit>no</itunes:explicit>
<itunes:duration>3:59</itunes:duration>
<itunes:keywords>politics red blue state</itunes:keywords>
</item>
</channel>
</rss>
Since shows and episodes can be associated with categories, improved user interfaces can be provided such that podcasts can be sorted, searched or browsed based on category.
The podcast publication process 300 initially receives 302 a network address to a particular podcast that is to be published. For example, the network address can be provided by a user of the client and then sent to the server (e.g., blocks 206 and 208 of
After the network address to the particular podcast has been received 302, the server accesses 304 a podcast feed (e.g., RSS feed) to acquire podcast feed metadata. In other words, using the network address, the server connects to the podcast feed for the particular podcast to acquire podcast feed metadata. Then, basic podcast metadata is obtained 306 from the podcast feed metadata. The obtaining of the basic podcast metadata can involve parsing of the podcast feed metadata according to one implementation. Typically, the podcast feed metadata would include tags or other markers (e.g., XML elements) to distinguish different fields of metadata being provided within the podcast feed metadata.
Next, a podcast review page is created 308. In one implementation, the podcast review page includes the basic podcast metadata and requests additional podcast metadata. The podcast review page is then sent 310 to the client.
A decision 312 then determines whether a final podcast metadata submission has been received. When the decision 312 determines that the final podcast metadata submission has not been received, the podcast publication process 300 awaits such a submission. On the other hand, once the decision 312 determines that the final podcast metadata has been submitted, published podcast information is stored 314 at the server. The published podcast information includes at least the network address and the final podcast metadata which are both associated with the particular podcast. At this point, the particular podcast has been published to the server. In addition, the published podcast information can be indexed 316 so as to facilitate search and/or browse capabilities at the server, such as the media store server 102 of
In another embodiment, a podcast publication process, such as the podcast publication process 300, can be modified to include an authentication process. The authentication process can be utilized to authenticate the person who is attempting to publish a podcast. The authentication can performed in a variety of different ways. In one implementation, the authentication can authenticate the person attempting to publish as being known to the server (e.g., account holder). In another implementation, the authentication can authenticate the person with reference to the podcast host, creator, etc.
Browsing or searching of media items available on a server (e.g., media store) can be performed much like searching for other types of media assets. For additional details on searching or browsing for media assets see U.S. Pat. No. 8,161,411, issued Apr. 17, 2012, and entitled “GRAPHICAL USER INTERFACE FOR BROWSING, SEARCHING AND PRESENTING MEDIA ITEMS,” which is incorporated herein by reference. However, as to browsing, to facilitate efficient browsing of podcasts, a graphical user interface having a hierarchy of lists can be displayed for a user. In one implementation, a first list of selectable items will be a list of genres. The user will select the genre denoted “Podcasts”. Once the selection is made a second list of selectable items will be displayed. The selectable items in the second list are denoted “Categories”. The categories are different categories that podcasts can be assigned to. Then, in response to a category selection, a third list of selectable items will be displayed. The selectable items in the third list are denoted “Subcategories” and represent available subcategories of the selected category, to the extent utilized. After the various selections have been made those podcasts that match the selected category and selected subcategory (if used) are displayed in a media asset listing area.
An application program window can be displayed by the client. The application program window can include a first sub-window and a second sub-window. The first sub-window includes a first region, a second region and a third region. The first region can display a list of available genre (genre list). After a user has selected one of the items within the genre list being displayed in the first region (namely, the podcast item), the second region can be populated with a list of podcast categories that are associated with the selected genre from the genre list. The list of podcast categories is provided by the remote server to the application program that presents the application program window. After the user has selected one of the available categories of the second region, the third region can be populated with a list of subcategories that are associated with the selected category. The subcategories within the third region, if any, are those pertaining to the selected category. When the list of subcategories has a plurality of items, the user would select one of the items. Once the user has selected one if the subcategories (or categories if no subcategories), the second sub-window can be populated with a list of available podcasts that are associated with the category and subcategory (if any). The list of available podcasts can display descriptive information for each of the podcasts. For example, the list of available podcasts can be presented in a row and column (e.g., table) format with each row pertaining to a different podcast, and with the columns pertaining to podcast name, artist, description and price. Further, within the price column, each of the rows can include a “Subscribe” button that allows for ease of subscripting to the particular podcast by the user.
Thereafter, a decision 408 determines whether a request to continue the publication process has been received from the authorized user. When the decision 408 determines that a request to continue the publication process has not been received, the authentication process 400 awaits such a request. In one implementation, the request is a request to access a podcast preview page. The request can be made by the user by either selecting the link in the publication message or copying the link into a data entry area provided at the client. When the decision 408 determines that a request to continue the publication process has been received, the podcast review page is sent 410 to the client. Thereafter, the processing proceeds to operation 312 and subsequent operations of the podcast publication process 300 as previously discussed.
Once a podcast has been published, the podcast can become available on a media store (on-line media store). The media store can host or not host the podcast. If the media store stores all or most of the podcast content, then the podcast can be considered hosted by the media store. On the other hand, if the media store only maintains metadata for the podcast, then the media store does not host the podcast. When the media server does not host the podcast, a third-party server can host the podcast and the media store accesses the podcast feed as appropriate to acquire any data it needs. A client would access the podcast feed from the hosting server to acquire podcast data it desires to store locally. Hence, in one case the media store holds the content of the podcast, and in another the media store does not hold the content of the podcast.
The media store can be configured so that podcasts can be searched or browsed on the media store. The search or browsed functions can operate similar to searching for albums on an on-line music store. However, in the case of podcasts, the search or browse operations are with respect to podcasts that have been published to the media store. Typically, with music, browsing is achieved by a hierarchy of levels including artist, album and song. The corollary in the case of podcasts is a hierarchy of levels including podcast (or podcast category), show and episodes.
A media store can also organize podcasts into different categories to facilitate their discovery by users interacting with the media store. Examples of categories include: Arts & Entertainment, Biography and Memoir, Business, Classics, Comedy, Drama & Poetry, Fiction, History, Kids & Young Adults, Languages, Mystery, and News.
Still further, certain podcasts that have been published to the media store can be emphasized on a particular page of the media store. For example, certain podcasts can be emphasized over other using various criteria, such as randomly chosen, ratings, most active download, sponsorship, or the like. Similarly, “new shows” or “just added” shows that have been recently made available on the media store can be emphasized.
After the podcast page is rendered 606, a user of the client device (client) can interact with the podcast page to make any of a number of different selections. These selections can initiate operations at the client device. Two particular operations associated with podcasts are (1) subscribing to a podcast, and (2) downloading particular episodes of a podcast.
A decision 608 determines whether a subscribe selection has been made. When the decision 608 determines that a subscribe selection has been made, a subscribe process 610 is performed. A subscribe process 610 operates to subscribe the client device (or client) with a host device for the podcast of interest. Alternatively, when the decision 608 determines that a subscribe selection has not been made, a decision 612 determines whether an episodes selection has been made. When the decision 612 determines that an episode selection has been made, episode data pertaining to the episode selection is downloaded 614. Here, the episode data would be downloaded 614 to the client device. In one implementation, the episode data includes at least an audio file and database content. The database content may be part of the audio file or a separate file or otherwise provided. On the other hand, when the decision 612 determines that an episodes selection has not been made, then a decision 616 determines whether another selection has been made. When the decision 616 determines that another selection has been made, other processing 616 can be performed. Following the blocks 610, 614 and 618, as well as following the decision 616 when there are no other selections, a decision 620 determines whether the media store podcast interaction process 600 should end. When the decision 620 determines that the media store podcast interaction process 600 should not end, the processing returns to repeat the block 604 and subsequent blocks. Alternatively, when the decision 620 determines that the media store podcast interaction process 600 should end, then the media store podcast interaction process 600 is complete and ends.
The integrated podcast acquisition process 700 initially discovers 702 a podcast of interest. The podcast of interest can be discovered 702 through interaction with respect to a media store, such as discussed above with respect to
Next, a decision 708 determines whether synchronization should be performed between the client and a media device. The media device has typically previously been associated with the client. When the decision 708 determines that synchronization with the media device should be performed, the episode data (for the most recent episode) can be downloaded 710 to the media device. In one embodiment, the data received includes an audio file (e.g., MP3 file or MPEG4 file or AAC file) as well as metadata pertaining thereto. At the client or client device, in one embodiment, the audio file can be stored in a file system and the metadata can be stored in a database. Following the block 710, or following the decision 708 when synchronization with the media device is not being performed, the client can be configured 712 to update for new episodes. Here, the configuration for updating can be set-up for an individual podcast or for groups of podcasts, or for all podcasts. As an example, one configuration parameter is how often to check for updates to the podcasts. Following the block 712, the integrated podcast acquisition process 700 is complete and ends.
Interestingly, in one embodiment, a single client application (e.g., media management application) operating on a client device can carry out the operations in
The podcast update process 800 begins with a decision 802 that determines whether a podcast update is to be performed. The podcast update can, for example, be determined based on the configuration 712 for update provided in
Next, data for any newer episodes of the podcast are received 810. The data for the newer episodes of the podcast can be received from the podcast host. For example, though examination of the RSS podcast feed, any newer existing episodes can be identified and then downloaded. The client can maintain data indicating which episodes is already has received.
Thereafter, a decision 812 determines whether there are more podcasts (i.e., identified podcasts) to be updated. When the decision 812 determines that there are more podcasts to be updated, the podcast update process 800 returns to repeat the block 806 and subsequent blocks. When the decision 812 determines that there are no more podcast to the updated, a decision 814 determines whether synchronization with a media device should be performed. When the decision 814 determines that synchronization with a media device should be performed, episode data (new episode data) can be downloaded 816 to the media device. Following the block 816, or following the decision 814 when synchronization is not being performed, the podcast update process 800 ends.
Once a particular podcast is selected, a podcast page is presented.
In general, when listing of podcasts provided by the media store or available locally via a client machine, the listing can be organized in a variety of different ways. One example of a listing organization is to sort the podcasts in accordance with ratings. For additional information on use of ratings with respect to a media store, see (i) U.S. patent application Ser. No. 11/114,914, filed Apr. 25, 2005, and entitled “PUBLISHING, BROWSING, RATING AND PURCHASING OF GROUPS OF MEDIA ITEMS”; and (ii) U.S. Pat. No. 7,860,830, issued Dec. 28, 2010, and entitled “PUBLISHING, BROWSING AND PURCHASING OF GROUPS OF MEDIA ITEMS.”
As noted above, following initial subscription to a podcast, the podcast needs to be updated to acquire new episodes. To provide efficiency and intelligence in the manner of seeking such updates, the client (e.g., media management application) can use preference settings to bias or determine when updates are to be performed. These preference settings can be provided for all podcasts globally or on an individual podcast basis. For example, preference settings can indicate to check for new episodes periodically (e.g., hourly, daily, weekly) or whenever the client is launched.
Once the episodes of the podcasts have been stored at the client device, some or all of the episodes can be copied to a portable media player that can operatively connect to the client device. To provide efficiency and intelligence in the manner of performing such copying (also known as synchronization), the client (e.g., media management application) can use preference settings to bias or determine when copying is to be performed (namely, automatically performed). These preference settings can be provided for all podcasts globally or on an individual podcast basis. The preferences can vary with implementation. Some examples of preferences include: (1) remove episode after it has been listened to on client device, (2) remove episode after it has been listened to on portable media device, (3) retain/download n most recent episodes, (4) retain/download up to n episodes, and (5) retain/download based on dates.
In one exemplary embodiment, a synchronization preference screen can be available to a user. The synchronization preference screen enables a user to set certain synchronization preferences for copying updates to podcasts from a client device to a portable media device. In particular, as an example, a user can choose to: (1) automatically update all podcasts, (2) automatically update only selected podcasts, (3) manually manage podcasts (i.e., no automatic updating), and (4) delete podcasts from the portable media player after they have been played. Other criteria (not shown) that could be used includes download up to n episodes and/or download only those of the episodes not yet listened to. For example, if a particular episode was listened to at the client device, it is likely that the user may not want to download that episode to the portable media device.
Note that by deleting those podcasts that have been listened to from the portable media player, the portable media player can maintain only those of the podcast episodes that the user has not yet listened to. Here, the removal of the episodes that have been played is automatic. In one embodiment, an episode can be deemed played if substantially all of the podcast episode has been played. For example, an episode can be deemed as having been played if 95% of the episode has been played.
Another aspect of the invention pertains to improved approaches to enable subscription to podcasts. In one embodiment, small, portable electronic files referred to as podcast subscription files can be used to facilitate easy subscription to podcasts. Indeed, in one implementation, by simply selecting or opening a podcast subscription file (e.g., double-clicking on it), subscription can be completely carried out in an automated manner.
In one embodiment, the portable podcast subscription file is an XML document (or other markup language type document) that includes podcast information that facilitates subscription to the podcast. As an example, the podcast information within the XML document includes at least a feed URL for the podcast feed. Additionally, the podcast information may include other descriptive information concerning the podcast, such as title and description. A representative example of a portable podcast subscription file is as follows:
<feed xmlns:it=“http://www.itunes.com/ext/chapters/1.0>
<link rel=“feed” href=“itpc://foo.com/podcasts/myfeed.xml” />
<title>My Podcast</title>
<description>I talk about random things.</description >
</feed>
Note that the link named “feed” is associated with a URL (feed URL) that points to a podcast feed (e.g., “myfeed”). This portable podcast subscription file also includes a title (“My Podcast”) and a description (“I talk about random things”) for the associated podcast. The XML format is a markup language format using tags to distinguish the different data items within the document.
The podcast subscription file usage process 1000 initially obtains 1002 a portable podcast subscription file (PPSF). The portable podcast subscription file can be obtained 1000 in advance of other processing performed by the podcast subscription file usage process. That is, a decision 1004 determines whether a request to open the portable podcast subscription file has been made. For example, the request to open can signal an OpenURL event. When the decision 1004 determines that a request to open a portable podcast subscription file has not been made, the podcast subscription file usage process 1000 simply awaits such a request.
Once the decision 1004 determines that a request to open a portable podcast subscription file has been made, a decision 1006 determines whether a media management application (MMA) is running. Typically, the media management application would be running on a client device. When the decision 1006 determines that the media management application is not currently running, then the media management application is launched 1008. Following the block 1008, or following the decision 1006 when the media management application is determined to be running, the portable podcast subscription file is parsed 1010 to acquire at least a feed URL to the associated podcast. In one implementation, the request to open the portable podcast subscription file can be a URL scheme (“itpc” or “pcast”) that is recognized by the media management application as an XML document to be parsed and used to subscribe to a podcast.
Next, the podcast subscription file usage process 1000 subscribes 1012 to the associated podcast. The subscription 1012 to the associated podcast can be automatically performed without any feedback or input from a user of the media management application. However, if desired, additional processing can be performed to display descriptive information concerning the podcast and/or to query the user as to whether they want to subscribe. In other words, the user can confirm that they desire to subscribe to the associated podcast and/or the user can receive additional information concerning the podcast (e.g., title, description, etc.) for which they are about to subscribe. Regardless, following the block 1012, the podcast subscription file usage process 1000 ends.
Once the media management application 1110 has the portable podcast subscription file, the media management application 1110 can transfer the portable podcast subscription file 1114 through the data network 1108. In this example, it is assumed that the portable podcast subscription file 1114 is transferred through the data network 1108 to that media management application 1112 of the client device B. 1104. Hence, as shown in
Thereafter, the media management application 1112 of the client device B 1104 can utilize the portable podcast subscription file 1114 to subscribe to an associated podcast. More particularly, if a user of the client device B 1104 were to “open” the portable podcast subscription file 1114, such as by a double-click action, the media management application 1112 would process the “open” request as a request to subscribe the media management application 1112 to the podcast. In this example, the podcast resides on the podcast host server 1106. In particular, the portable podcast subscription file 1114 would be parsed by the media management application 1112 to obtain a feed URL to a podcast feed 1116 for the podcast which reside on the podcast host server 1106. The media management application 1112 can then access the podcast feed 1116 to acquire and then store certain podcast information at the client device B 1104.
It should be understood that, in general, a portable podcast subscription file (e.g., a portable podcast subscription file 1114) can be transferred to one or more other client devices in a variety of different ways. For example, the portable podcast subscription file can be sent via an electronic-mail message to a user associated with a client device. The user can then open the portable podcast subscription file to activate the subscription to the podcast. In another example, the portable podcast subscription file can be associated with a link on a web page. Then, when a user at the web site selects the link associated with a web page, the portable podcast subscription file can be downloaded to the client device associated with the user and then processed by the media management application to subscribe to the podcast. In still another example, the portable podcast subscription file can be transferred by a portable computer readable medium, such as a flash memory card on a floppy disk, or compact disc.
Another aspect of the invention pertains to deactivating subscriptions to podcasts. More particularly, this aspect of the invention deactivates subscriptions that are deemed inactive. In one embodiment, the deactivation process can be automatically performed. One advantage of deactivating subscriptions that are deemed inactive is that network bandwidth can be conserved. Another advantage of deactivating subscriptions that are deemed inactive can be that a host server hosting the podcast is not burdened with download requests from client applications whose users having little or no interest in the podcast.
The podcast update process 1200 begins with a decision 1202 that determines whether a podcast update is to be performed. When the decision 1202 determines that a podcast update is to not be performed, then the podcast update process 1200 waits until a podcast update is to be performed. In other words, the podcast update process 1200 is effectively invoked when a podcast update is to be performed. A podcast update can be requested by a client or a user of the client. For example, the client might periodically automatically initiate a podcast update.
On the other hand, when the decision 1202 determines that a podcast update is to be performed, then a podcast feed (e.g., RSS feed) for a particular podcast is accessed 1204 to acquire episode information for the podcast. Then, new episodes for the podcast are determined 1206 based on the acquired episode information. In one implementation, the acquired episode information is an XML file that contains metadata describing characteristics of the particular podcast, including the various episodes of the podcast. The XML file can be parsed to obtain episode information (e.g., episode metadata). An examination of the episode information can serve to identify the new episodes of the podcast as compared to those episodes that are either older in time or already previously made available at the client.
Next, a decision 1208 determines whether there are new episodes of the podcast to download. Here, the new episodes are available from the host server for the podcast and are thus available to be downloaded to the client. When the decision 1208 determines that there are new episodes to be downloaded, the podcast update process 1200 determines 1210 whether the podcast is inactive. When the decision 1212 determines that the podcast is not inactive, then the new episodes are downloaded 1214 to the client. After the new episodes have been downloaded 1214, the podcast update process 1200 is complete and ends with the client having received a podcast update. On the other hand, when the decision 1208 determines that there are no new episodes to download, or when the decision 1212 determines that the podcast is inactive, then the podcast update process 1200 is complete and ends without having downloaded any new episodes.
The podcast activity process 1300 begins with a decision 1302 that determines whether an episode download count is greater than an integer N. When the decision 1302 determines that the episode download count is greater than N, a decision 1304 determines whether more than M days have passed since the date of initial episode download, where M is an integer. For example, the integers M and N can equal five (5). When the decision 1304 determines that more than M days have passed since the date of the initial episode download, a decision 1306 determines whether the client has been active since the date of initial episode download. When the decision 1306 determines that the client has been active since the date of initial episode download, the podcast is rendered 1308 inactive. Here, in this embodiment, the podcast is rendered 1308 inactive because the podcast activity process 1300 has programmatically determined that there has been insufficient activity with respect to the podcast. Consequently, it is presumed that the user of the client has little or no interest in the podcast. As a result, the download 1214 of new episodes by the podcast update process 1200 of
On the other hand, when the decision 1302 determines that the episode download count is not greater than N, or when the decision 1304 determines that there are not more than M days since the date of the initial episode download, or when the decision 1306 determines that the client has not been active since the data initial episode download, then the podcast is rendered 1310 active. Following the blocks 1308 and 1310, the podcast activity process 1300 is complete and ends.
The reset activity variables process 1400 begins with a decision 1402 that determines whether a reset condition has been established. The reset condition can be established in a variety of different ways. The reset condition can be initiated automatically or by a user. In any case, when the decision 1402 determines that a reset condition does not exist, then the recent activity variables processed 1400 awaits such a condition. In other words, the reset activity variables processed 1400 begins when an appropriate reset condition has been reached. Once the decision 1402 determines that the appropriate reset condition has been reached, the episode download count is reset 1404. Here, the episode download count can be reset 1404 to zero. In addition, the date of initial episode download is reset 1406. Here, the date of the initial episode can be reset 1404 to the current date. Following the block 1406, the reset activity variables process 1400 is complete and ends.
Although the reset condition can be established in a variety of ways, when programmatically or user initiated, events occurring on the client can cause the reset condition. In general, the reset condition is programmatically triggered when the client understands the client, or the user of the client, to have expressed interest in the podcast. Examples of events that express an interest in the podcast are: (1) user plays an episode of the podcast, (2) client (or portable media player) completes playing of an episode of the podcast, and (3) user downloads an episode of the podcast.
Another aspect of the invention pertains to chapter enhancements to podcasts. The chapter enhancements can provide an improved user interface for use with podcasts. The chapter enhancements are enabled by podcasts containing chapter information. For example, the chapter information can be displayed in various ways to enhance the playback experience.
The chapter information can include, but is not limited to: title, picture, url, description (e.g., in rich text, including embedded links), movies (audio & video), artist, album, and podcast subscriptions. All chapter information is optional—e.g., some chapters may have titles and pictures and other chapters may only have a title.
Podcasts can carry chapter information either embedded in the file (e.g., XML file) or carried in the podcast feed.
To embed chapter information into a file, a m4a file format can be extended to support the additional chapter information. The track information is formatted according to ISO file formats. A track, marked as a chapter track, can contain the chapter information. The tracks can be name tracks, url tracks, picture tracks, description tracks, or other metadata tracks. At the start of any of the chapters, the chapter information included within the user interface can be changed so as to correspond with the chapter.
To provide chapter information in the podcast feed, the podcasts, namely the RSS feeds for podcasts, can be enhanced to include chapter related information. This chapter related information can be specified by newly specified XML elements. (e.g., chapter tags). A client application, e.g., media management application, that understands these XML elements can retrieve the chapter related information from RSS feeds and thus provide an enhanced user interface at a client device (or a portable media device associated with the client device). The chapter related information can be text, audio, images and/or video. In the event that the client application does not understand the newly specified chapter elements, the RSS feed is still otherwise useable, though without the user interface enhancements.
In one embodiment, the newly specified XML elements are: (i) a segment element which acts as a container element signaling a segment (i.e., chapter); and (ii) a link element—one or more of these defining multimedia elements (pictures, auxiliary audio, auxiliary video) associated with the segment. Each segment can have a start time, title, and URL to a multimedia element. For example, at the start time, the title and multimedia element are displayed. Each segment can also contain other metadata for the segments of the podcast (e.g., author, track, related URL link).
An exemplary RSS feed with three (3) chapters is:
<segment xmlns:it=“http://www.itunes.com/ext/chapters/1.0>
<it:starttime>0</it: starttime>
<it:title>Introduction</it:title>
<it:link rel=“enclosure” type=“video/JPEG”
href=“http://foo.com/chapter1picture.jpg” />
<it:link rel=“related” href=“http://foo.com/
infoAboutChapter1.html” />
</segment>
<segment xmlns=“http://www.itunes.com/ext/podcasts/1.0>
<it:starttime>0:30</it:starttime>
<it:title>Music segment one</it:title>
<it:link rel=“enclosure” type=“video/JPEG”
href=“http://foo.com/chapter2picture.jpg” />
<it:link rel=“related” href=“http://foo.com/
infoAboutChapter2.html” />
<it:author>Some Great Band</it:author>
<it:track>My Great Hit</it:track>
</segment>
<segment xmlns=“http://www.itunes.com/ext/podcasts/1.0>
<it:starttime>0:30</it:starttime>
<it:title>Music segment one</it:title>
<it:link rel=“enclosure” type=“video/JPEG”
href=“http://foo.com/chapter2picture.jpg” />
<it:link rel=“related” href=“http://foo.com/
infoAboutChapter2.html” />
<it:link rel=“feed” href=“itpc://foo.com/podcasts/myfeed.xml” />
<it:author>Some Great Band</it:author>
<it:track>My Great Hit</it:track>
</segment>
The user interface enhancements (for a client application or portable media device) facilitated by the existence of chapter information can include any of the following example. As one example, a chapter picture can be shown as related to the chapter of the podcast. As the podcast is played, the chapter picture automatically changes to correspond to the current chapter. The chapter picture may also change as the user jumps (e.g., scrubs) from chapter to chapter when navigating through the chapters. An another example, when a user selects a popup menu to select a chapter, each menu item in the popup menu contains a chapter title and also a thumbnail of the chapter picture. As still another example, when a user selects (e.g., clicks on) a chapter picture, the client application links (hyperlinks) to a chapter URL. In yet another example, the chapter information can vary as the chapter changes. Here, chapter artist, show, description and other information can be displayed in various parts of the user interface such that it can changes as the chapter changes. In still yet another example, a subscription link can be utilized as chapter information. If the subscription link is selected, the client application will automatically subscribe to the podcast feed. In one embodiment, the subscription link can point to a portable subscription file.
Although the media assets (or media items) of emphasis in several of the above embodiments were podcasts, which include audio items (e.g., audio files or audio tracks), the media assets are not limited to audio items. For example, the media assets can alternatively pertain to videos (e.g., movies) or images (e.g., photos). More generally, podcasts can also be referred to as digital multimedia assets.
The various aspects, embodiments, implementations or features of the invention can be used separately or in any combination.
The invention is preferably implemented by software, but can also be implemented in hardware or a combination of hardware and software. The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, optical data storage devices, and carrier waves. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
The many features and advantages of the present invention are apparent from the written description and, thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.
Davis, Stephen, Jones, Anne, Robbin, Jeffrey, Dowdy, Thomas, Wiese, Mike
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5793980, | Nov 30 1994 | Intel Corporation | Audio-on-demand communication system |
6597891, | Apr 05 1999 | International Business Machines Corporation | Combining online browsing and on-demand data broadcast for selecting and downloading digital content |
6782552, | Feb 25 1999 | Becker GmbH | Local ring network and method for transmitting digital data in a local ring network |
6928433, | Jan 05 2001 | Creative Technology Limited | Automatic hierarchical categorization of music by metadata |
7020704, | Oct 05 1999 | NIM SAR; RCS IP, LLC | System and method for distributing media assets to user devices via a portal synchronized by said user devices |
7686215, | May 21 2005 | Apple Inc | Techniques and systems for supporting podcasting |
7788248, | Mar 08 2005 | Apple Inc | Immediate search feedback |
8020762, | May 21 2005 | Apple Inc. | Techniques and systems for supporting podcasting |
8245924, | Jun 03 2009 | Apple Inc. | Techniques and systems for supporting podcasting |
20030105589, | |||
20030149574, | |||
20030163823, | |||
20030182139, | |||
20040088328, | |||
20050065912, | |||
20050071780, | |||
20050108754, | |||
20060129907, | |||
20060190616, | |||
20060248209, | |||
JP2002334266, | |||
JP2005507130, | |||
WO125948, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 18 2012 | Apple Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Date | Maintenance Schedule |
Oct 22 2016 | 4 years fee payment window open |
Apr 22 2017 | 6 months grace period start (w surcharge) |
Oct 22 2017 | patent expiry (for year 4) |
Oct 22 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 22 2020 | 8 years fee payment window open |
Apr 22 2021 | 6 months grace period start (w surcharge) |
Oct 22 2021 | patent expiry (for year 8) |
Oct 22 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 22 2024 | 12 years fee payment window open |
Apr 22 2025 | 6 months grace period start (w surcharge) |
Oct 22 2025 | patent expiry (for year 12) |
Oct 22 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |