Abstract:
A system and associated method for subscribing Really Simple Syndication (RSS) enabled content using the Session Initiation Protocol (SIP) are disclosed. An application server coupled to a Hypertext Transfer Protocol (HTTP) server in the Internet intermediates a SIP message and a request for a RSS feed. An end device requests subscription of the RSS feed in a SIP message. The HTTP server enables the application server to subscribe the RSS feed and to track changes in the RSS feed over the Internet by use of a Serving Call/Session Control Function (S-CSCF) servicing the SIP message. The HTTP server enables the end device subscribing the RSS feed to fetch the web content from the media cache in later part of the subscription by providing updates to the application server.

Description:
This application is a continuation application claiming priority to Ser. No. 11/876,926, filed Oct. 23, 2007, now U.S. Pat. No. 8,191,082, issued May 29, 2012. 
    
    
     FIELD OF THE INVENTION 
     The present invention discloses a system and associated method for feeding rapidly changing web content employing Really Simple Syndication (RSS) mechanism to mobile devices through IP Multimedia Subsystem using the Session Initiation Protocol (SIP). 
     BACKGROUND OF THE INVENTION 
     A conventional web feeding mechanism called Really Simple Syndication (RSS) provides up-to-date web content to users by polling and updating changes to the web content across the Internet. When a user accesses the web content with a mobile device, RSS web feeding wastes too much communication bandwidth in polling changes to the web content. The RSS web feeding also needs to be connected to the Internet to perform polling. Also, there is no Quality of Service (QoS) for the transferred web content because the transfer is subject to current state of the Internet. 
     Thus, there is a need for a system and associated method that overcomes at least one of the preceding disadvantages of current methods and systems for RSS web feeding for mobile devices. 
     SUMMARY OF THE INVENTION 
     According to one embodiment of the present invention, a method for tracking web content serviced by a Hypertext Transfer Protocol (HTTP) server in the Internet to feed an end device coupled to an Internet Protocol (IP) Multimedia Subsystem (IMS), wherein the web content is summarily represented by an Really Simple Syndication (RSS) document accessible by the HTTP server, wherein the IMS comprises an application server and a media cache, wherein the application server processes both the RSS document and the Session Initiation Protocol (SIP), wherein the application server is coupled to the HTTP server of the Internet outside of the IMS, the method comprises: retrieving, by the HTTP server, the web content responsive to receiving a request for metadata of the web content from the end device; and relaying the retrieved web content to the end device such that the end device subsequently send a SIP SUBSCRIBE request for the RSS document and the web content to the application server for subscription by use of the relayed web content, wherein the RSS document and the web content is serviced by the HTTP server. 
     According to one embodiment of the present invention, a computer program product, comprising a computer usable storage device having a computer readable program code embodied therein, said computer readable program code containing instructions that when executed by a processor of a computer system implement tracking web content serviced by a Hypertext Transfer Protocol (HTTP) server in the Internet to feed an end device coupled to an Internet Protocol (IP) Multimedia Subsystem (IMS). 
     According to one embodiment of the present invention, a computer system comprising a processor and a computer readable memory unit coupled to the processor, said memory unit containing instructions that when executed by the processor implement tracking web content serviced by a Hypertext Transfer Protocol (HTTP) server in the Internet to feed an end device coupled to an Internet Protocol (IP) Multimedia Subsystem (IMS). 
     According to one embodiment of the present invention, a process for supporting computer infrastructure, said process comprising providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable code in a computing system, wherein the code in combination with the computing system is capable of performing tracking web content serviced by a Hypertext Transfer Protocol (HTTP) server in the Internet to feed an end device coupled to an Internet Protocol (IP) Multimedia Subsystem (IMS). 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates a conventional Really Simple Syndication (RSS) web feeding system for RSS web feeding for a user node. 
         FIG. 2  illustrates a system for the RSS web feeding by the Session Initiation Protocol (SIP) signaling for an end device coupled to an IP Multimedia Subsystem (IMS) through a Radio Access Network (RAN), in accordance with embodiments of the present invention. 
         FIG. 3  illustrates a message flow of a conventional RSS web feeding for a user node in  FIG. 1 , supra. 
         FIG. 4  is a message flowchart depicting a method for RSS web feeding by the SIP signaling for an end device coupled to an IMS of  FIG. 2 , supra, in accordance with embodiments of the present invention. 
         FIG. 5  illustrates a computer system used for RSS web feeding by the SIP signaling for an end device coupled to an IMS of  FIG. 2 , supra, in accordance with embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  illustrates a conventional Really Simple Syndication (RSS) web feeding system  10  for RSS web feeding for a user node  21 . 
     The conventional RSS web feeding system  10  comprises the Internet  11 , an HTTP server  13 , a RSS feed  15 , web content  17 , and a user node  21 . The user node  21  comprises RSS feed reader  23  and a web browser  25 . Throughout the specification, the term content and the phrase web content are interchangeably used. 
     Web content  17  is typically a Hypertext Markup Language (HTML) document of a webpage or links to webpages and other kinds of digital media. 
     An RSS feed  15  is a document that contains either a summarized or unabridged version of the web content  17 , typically in Extensible Markup Language (XML) format. RSS means web feed formats and related technology which are used to publish frequently updated web content  17 . RSS web feeding is widely used in publishing real time information. Examples of such web content may be, inter alia, stock price ticker, blog entries, news headlines, weather updates, or podcasts. With RSS, users can automatically keep up with the latest information of web sites they subscribe to. 
     An RSS feed reader  23  is a software program enabling subscription of an RSS feed  15 . A user subscribes to a specific RSS feed  15  by entering a link to the RSS feed  15  into the RSS feed reader  23  or by clicking an RSS icon in a web browser  25 . The RSS icon in the web browser  25  is linked to a client application that initiates the subscription process. The RSS feed reader  23  polls the RSS feed  15  subscribed by a user for new web content  17 , and downloads any updates with the RSS feed  15 . 
       FIG. 2  illustrates a system  100  for the RSS web feeding by the Session Initiation Protocol (SIP) signaling for an end device  123  coupled to an IP Multimedia Subsystem (IMS)  110  through a Radio Access Network (RAN)  121 , in accordance with embodiments of the present invention. 
     The IMS  110  is an architectural framework for delivering IP multimedia data to mobile users in various wireless communication services designed by the standard organization called 3rd Generation Partnership Project (3GPP). In this specification, a 3GPP standard includes but not limited to a current standard, any variation and/or an improvement of such standard. The IMS  110  comprises three functional layers called a service plane, a control plane and a transport plane. 
     The IMS service plane comprises an application server  200  and a media cache  300 . The application server  200  process SIP requests and provides access to RSS enabled web content. The media cache  300  stores IP multimedia data within the IMS  110 . The IMS control plane comprises a Serving Call/Session Control Function (S-CSCF)  400 . The S-CSCF is a collection of SIP servers or proxies that process SIP signaling packets to control a call/session communicated through the IMS  110 . The IMS transport plane provides physical access to the RAN  121 . 
     To effectively integrate with the Internet  11 , the IMS  110  uses the Internet Engineering Task Force (IETF) protocols, in as many cases as possible. The SIP is an application-layer control protocol written by IETF for creating, modifying, and terminating sessions with one or more participants. 
     The end device  123  means a SIP User Agent (UA) which can originate and/or receive SIP calls. Examples of the end device  123  may be, inter alia, a mobile phone, a Personal Digital Assistant (PDA), a laptop, a Personal Computer (PC), or an endpoint such as an answering machine. The IMS  110  provides services to multiple SIP UAs. In a communication controlled by SIP, media streams for actual data transmission take a discrete channel. 
       FIG. 3  illustrates a message flow of a conventional RSS web feeding for a user node  21  in  FIG. 1 , supra. 
     Upon updating the web content  17  by an author, the RSS feed  15  that represents the web content  17  is also updated. As noted earlier, the RSS feed  15  is an XML document that contains either a summary of the web content  17  or the web content  17  itself. For the purpose of this description, the RSS feed  15  is regarded as a summary of the web content  17  to be distinguished from the web content  17 . The HTTP server  13  provides the RSS feed  15  to the Internet  11 . 
     The user node  21  comprises the web browser  25  and the RSS feed reader  23 . The web browser  25  fetches the RSS feed  15  through the RSS feed reader  23 . The RSS feed reader  23  periodically polls the HTTP server  13  for updates of the RSS feed  15 . When there is an update of the RSS feed  15 , the HTTP server  13  fetches such update from the RSS feed  15 . The HTTP server  13  then provides updates to the RSS feed reader  23  and the web browser  25 . 
     A polling message from the web browser  25  is sent out periodically to track the updates with the web content  17  during a communication session. As a result, the RSS feed reader  23  maintains up-to-date summary information of the web content  17  in a same manner as the RSS feed  15  across the Internet  11 . Consequently, a user of the web browser  25  can retrieve the RSS feed  15  from the RSS feed reader  23 , upon a request for summary information contained in the RSS feed  15 . 
     In case that users of the web browser  25  need the web content  17  in its entirety other than just a summary information in the RSS feed  15 , the RSS feed reader  23  reaches to the web content  17  through the HTTP server  13  that hosts the web content  17 . 
       FIG. 4  is a message flowchart depicting a method for RSS web feeding by the SIP signaling for an end device  123  coupled to an IMS  110  of  FIG. 2 , supra, in accordance with embodiments of the present invention. 
     Messages inherent to the SIP based registration and possible subsequent re-registration within the S-CSCF and the flows implied as part of the Initial Filter Criteria (IFC) are not illustrated in  FIG. 4 . 
     The end device  123  requests metadata of the web content  17  to the HTTP server  13  across the Internet  11  via a standard data session. The HTTP server  13  looks into the web content  17  for metadata requested by the end device  123 . The HTTP server  13  then passes on the web content  17  with metadata to the end device  123  that had requested metadata of the web content  17 . 
     A user of the end device  123  selects a certain subset of RSS feed to which the user desires to subscribe. Once subscribed, the RSS feed is monitored for change and any change is communicated to a subscriber pursuant to the SIP event notification. The end device  123  sends a SIP SUBSCRIBE message to the S-CSCF  400  to request a subscription of the RSS feed  15  which is specified by metadata of the web content  17 . 
     The SIP SUBSCRIBE and the SIP NOTIFY request messages are used in conjunction with each other for SIP based event notification. A SIP user agent (UA) subscribes an event by sending the SIP SUBSCRIBE message to a SIP server, and then, once the SIP server registers such subscription request by the SIP UA, the SIP server sends back the SIP NOTIFY message to the SIP UA when the subscribed event occurs. For details, see Request For Comments (RFC)  3265  by the Internet Engineering Task Force (IETF). The SIP 200 OK response message is an acknowledgement for successful process of a request. See RFC  3261  for details. 
     The S-CSCF  400  routes the SIP SUBSCRIBE message received from the end device  123  to the application server  200 . The application server  200  processes the subscription request in the SIP SUBSCRIBE message and registers the RSS feed subscribed and the end device requesting the subscription. The application server  200  then locates the RSS feed  15  and tracks changes in the RSS feed  15  across the Internet  11  through the HTTP server  13 . The application server  200  maintains a subscriber profile which contains properties to serve a subscribing end device or a subscriber. The information in the subscriber profile may be, inter alia, a polling frequency, content delimits, a response priority, and update response limits. Subsequent to the subscription request, the application server  200  updates any provisioning information that is necessary for the subscriber profile. Examples of provisioning information may be, inter alia, image size, available file formats for the communication, etc. Then the application server  200  sends a standard SIP 200 OK message back to the end device  123  via the S-CSCF  400 . 
     The application server  200  uses the subscriber profile to determine if the content of the RSS feed  15  has changed. When the application server  200  detects a change of the RSS feed  15 , then the application server  200  updates the content of the media cache  300  with updated content of the RSS feed  15 , and sends a SIP NOTIFY message to the end device  123  via the S-CSCF  400 . The end device  123  sends a SIP 200 OK message upon receiving the SIP Notify message, and the S-CSCF  400  transfers the message to the application server  200 . 
     Because content of the RSS feed  15  stored in the media cache  300  is identical to the RSS feed  15  across the Internet  11 , the end device  123  requests the RSS feed  15  from the media cache  300  and retrieves content of the RSS feed  15  during the rest of the subscription in a same communication session, instead of generating data traffic across the Internet  11 . 
       FIG. 5  illustrates a computer system  90  used for RSS web feeding by the SIP signaling for an end device coupled to an IMS  110  of  FIG. 2 , supra, in accordance with embodiments of the present invention. 
     The computer system  90  comprises a processor  91 , an input device  92  coupled to the processor  91 , an output device  93  coupled to the processor  91 , and memory devices  94  and  95  each coupled to the processor  91 . The input device  92  may be, inter alia, a keyboard, a mouse, a keypad, a touchscreen, a voice recognition device, a sensor, a network interface card (NIC), a Voice/video over Internet Protocol (VOIP) adapter, a wireless adapter, a telephone adapter, a dedicated circuit adapter, etc. The output device  93  may be, inter alia, a printer, a plotter, a computer screen, a magnetic tape, a removable hard disk, a floppy disk, a NIC, a VOIP adapter, a wireless adapter, a telephone adapter, a dedicated circuit adapter, an audio and/or visual signal generator, a light emitting diode (LED), etc. The memory devices  94  and  95  may be, inter alia, a cache, a dynamic random access memory (DRAM), a read-only memory (ROM), a hard disk, a floppy disk, a magnetic tape, an optical storage such as a compact disc (CD) or a digital video disc (DVD), etc. The memory device  95  includes a computer code  97  which is a computer program that comprises computer-executable instructions. The computer code  97  includes, inter alia, an algorithm used for RSS web feeding with SIP signaling according to the present invention. The processor  91  executes the computer code  97 . The memory device  94  includes input data  96 . The input data  96  includes input required by the computer code  97 . The output device  93  displays output from the computer code  97 . Either or both memory devices  94  and  95  (or one or more additional memory devices not shown in  FIG. 5 ) may be used as a computer usable medium (or a computer readable medium or a program storage device) having a computer readable program embodied therein and/or having other data stored therein, wherein the computer readable program comprises the computer code  97 . Generally, a computer program product (or, alternatively, an article of manufacture) of the computer system  90  may comprise said computer usable medium (or said program storage device). 
     Any of the components of the present invention can be deployed, managed, serviced, etc. by a service provider that offers to deploy or integrate computing infrastructure with respect to a process for RSS web feeding with SIP signaling of the present invention. Thus, the present invention discloses a process for supporting computer infrastructure, comprising integrating, hosting, maintaining and deploying computer-readable code into a computing system (e.g., computing system  90 ), wherein the code in combination with the computing system is capable of performing a method for RSS web feeding with SIP signaling. 
     In another embodiment, the invention provides a business method that performs the process steps of the invention on a subscription, advertising and/or fee basis. That is, a service provider, such as a Solution Integrator, can offer to create, maintain, support, etc. a process for RSS web feeding with SIP signaling of the present invention. In this case, the service provider can create, maintain, support, etc. a computer infrastructure that performs the process steps of the invention for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement, and/or the service provider can receive payment from the sale of advertising content to one or more third parties. 
     While  FIG. 5  shows the computer system  90  as a particular configuration of hardware and software, any configuration of hardware and software, as would be known to a person of ordinary skill in the art, may be utilized for the purposes stated supra in conjunction with the particular computer system  90  of  FIG. 5 . For example, the memory devices  94  and  95  may be portions of a single memory device rather than separate memory devices. 
     While particular embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art. Accordingly, the appended claims are intended to encompass all such modifications and changes as fall within the true spirit and scope of this invention.