CROSS REFERENCE TO RELATED APPLICATIONThis application is a continuation of U.S. application Ser. No. 11/752,199, now U.S. Pat. No. 7,756,130 filed May 22, 2007, the entirety of which is herein incorporated by reference.
TECHNICAL FIELDThe present invention relates generally to content provisioning. More particularly, the present invention relates to content provisioning via an intra-network content engine in a wireless communications network.
BACKGROUND OF THE INVENTIONThe recent deployment of 3G networks has made a wide array of content types available to wireless subscribers. Multimedia content, such as music, games, and movies, and content rich websites and web applications, create an abundance of network traffic between a content provider residing outside of the wireless operator's network and the core and access subsystems of the network. The interfaces used for communication between the external content providers and the operator's network are inefficient and incapable of providing end-to-end quality of service (QoS) for content requests. As such, the operator's network is used as an intermediary to deliver content to subscribers. This places an inordinate amount of traffic load on the network systems. Moreover, the need to send and resend the same content for multiple subscribers places additional strain on network resources.
In addition, external content providers target general users and cannot properly consider and adapt content to a format conducive to mobile devices in general, let alone a format configured specifically for a particular mobile device.
Thus, what is needed are new systems and novel methods to optimize content provisioning to mobile subscribers, to minimize the amount of data traversing the operator's network at any given time and, to increase the overall system response time. As will be seen by the following description, such new systems and novel methods allow mobile subscribers to experience less latency, better QoS, and increased throughput, resulting in better content presentation. Wireless operators can also benefit by reduced expense associated with less redundant capacity, simpler operation and easier maintenance associated with the present invention, as well as becoming the true content provider instead of an intermediary. Content providers also benefit from increased usage of their content.
SUMMARY OF THE INVENTIONThe aforementioned deficiencies are overcome by providing an intra-network content engine for processing content requests from a plurality of mobile devices. An exemplary intra-network content engine includes a content gateway configured to analyze and route content requests to a content server. The content server can be a cache server or a mobile content server. The cache server can be configured to receive and store cacheable web content from a controller that is configured to receive the cacheable web content from at least one cacheable web content provider, such as a web server, and route the content to the cache server. The mobile content server can be configured to receive and store the digital media content. The controller can be further configured to receive the digital media content from at least one external content server and route the content to the mobile content server. The content gateway can be further configured to receive non-cacheable web content from at least one non-cacheable web content provider.
An exemplary method for content provisioning via the intra-network content engine includes the steps of receiving a content request; analyzing the content request to determine to which content server the content request should be routed, wherein the content server is one of a cache server and a mobile content server; routing the content request to the cache server, if the requested content is cacheable web content; routing the content request to the mobile content server, if the requested content is digital media content; routing the content request to a non-cacheable web content provider, if the requested content is non-cacheable web content; retrieving the requested content from the appropriate source; and sending the requested content to the requesting mobile device.
A computer-readable medium that includes computer-executable instructions which, when executed, perform the steps of the foregoing method is also provided.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates an exemplary communications system in accordance with an embodiment of the present invention.
FIG. 2 illustrates an exemplary content engine in accordance with an embodiment of the present invention.
FIG. 3 illustrates an exemplary methodology for processing a content request by the exemplary content engine ofFIG. 2, according to the present invention.
DETAILED DESCRIPTION OF THE INVENTIONAs required, detailed embodiments of the present invention are disclosed herein. It must be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms, and combinations thereof. As used herein, the word “exemplary” is used expansively to refer to embodiments that serve as an illustration, specimen, model or pattern. The figures are not necessarily to scale and some features may be exaggerated or minimized to show details of particular components. In other instances, well-known components, systems, materials or methods have not been described in detail in order to avoid obscuring the present invention. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present invention.
Referring now to the drawings wherein like numerals represent like elements throughout the several views,FIG. 1 illustrates a communications network100 in which the present invention may be implemented. Multiple access network types may be used to access content provided by acontent engine102 in accordance with various embodiments of the present invention. By way of example and not limitation, the illustrated access network types include a GSM/EDGE Radio Access Network (GERAN)104, a UMTS Terrestrial RAN (UTRAN)106, a Wireless LAN access system (WLAN)108, and a Long term Evolution access (LTE) system110. Correspondingmobile devices112 are illustrated as being in communication with the various access networks.
The GERAN104 and UTRAN106 are illustrated as being in communication with a GPRS core network114 that may be further configured with an inter-network function116 to facilitate communication with the WLAN108. The WLAN108 is also in communication with a System Architecture Evolution (SAE) core118 that in turn in communication with an IMS (IP Multimedia Subsystem) core120 and the LTE access system110. The IMS core120 is also in communication with the GPRS core network114.
The GPRS core network114, IMS core120 and SAE core118 are each in communication with one or morecorporate content servers122. Acorporate content server122 can provide operator-originated content; that is, content that does not originate from an external content provider. For example, proprietary ringtones, music files, videos and the like may be provided by acorporate content server122. Although illustrated as a separate network element, the corporate content server(s)122 may be included in thecontent engine102.
The GPRS core network114 and SAE core118 are also in communication with thecontent engine102 that in turn is in communication, via a firewall124, withexternal content providers126. As illustrated, theexternal content providers126 can provide non-cacheable and cacheable web content, such as websites and web applications, and other content. Other content can include digital media content, for example, e-books, ringtones, ringback tones, music files, video files, movies, video games, news feeds (e.g., via RSS (Real Simple Syndication)), sports score feeds, weather, and other content made available via one or more external content providers.
Thecontent engine102 is also in communication with other non-3GPP systems132, in which the present invention may also be practiced. Thecontent engine102 is now described below with reference toFIG. 2.
FIG. 2 illustrates acontent engine102 in accordance with an exemplary embodiment of the present invention. The illustratedcontent engine102 includes acontroller200, acache server202, acontent format modifier204, a content gateway206, and amobile content server208. The functionality of each of these elements is described below in detail.
Thecontroller200 provides gateway functionality to content provisioning systems, such as theexternal content providers126. Thecontroller200 may include the firewall124 and may perform filtering functions in accordance with filtering parameters determined by the operator. Thecontroller200 is also configured to route content within the engine to the appropriate processing components.
To theexternal content providers126, thecontroller200 performs client functions to cache websites and load content. In certain implementations, it may be beneficial to provide formatted content for a mobile device type or specific device configuration. In these implementations, thecontroller200 can route content to thecontent format modifier204 for reformatting content to adhere to specifications of the requesting mobile device. Afterwards, the reformatted content can be sent to themobile content server208 and stored. Content that does not need to be reformatted can be sent directly to themobile content server208.
For cacheable websites, thecontroller200 forwards the content to thecache server202 to be cached. From the mobile device perspective, thecontroller200 may be invisible and the content provided to the mobile device may be presented as it would if the content was delivered directly from the original content provider.
Web content that is updated or refreshed may be done so automatically or based upon a schedule maintained by the controller or the cache server. These setting may be configured by the operator or by the client device.
Thecache server202 is configured to function as a website server for cacheable web content. Cacheable content is received by thecontroller200 and forwarded to thecache server202 for storage. Thecache server202 provides pre-caching of web content in an effort to reduce latency and improve access time for themobile devices112.
The content gateway206 may be configured to determine if incoming content should or should not be cached. By way of example, content sent from virtual private networks (VPN), such as in many enterprise applications, are not cacheable. Private data, such as that exchanged in web sessions with bank accounts or personal email accounts are other examples of non-cacheable content.
In one embodiment, the content gateway206 can be configured to store and maintain a lookup table of the current cache in thecache server202. Likewise, thecache server202 may be configured to send updates to the content gateway206 on an as-needed or periodic basis to update the lookup table. The content gateway206 may also store a record of all content requests and may itself request that specific websites be cached; for example, if access to a website exceeds a pre-determined threshold value, then a request may be sent to the cache server requesting that the website be cached for future use. Either or both of the content gateway206 and thecache server202 may be configured with a plurality of rules to determine if a website is cacheable and if a website needs to be cached, based upon previous usage data, for example. Generally, the caching rules can be developed based upon the business needs of the mobile operator.
Themobile content server208 is the digital media content server to the network subscribers. The digital media content received from the external content providers is formatted (if necessary) and readied to be sent to themobile device112 via the content gateway206 upon request. Maintaining all content within the operator's network as opposed to the operator substituting as an intermediary between the end user and the content provider allows the mobile operator to provide content with less latency, better QoS, and increased throughput, resulting in better content presentation
The content gateway206 provides an interface to the packet core network. For 3GPP applications, such as the illustrated embodiment, the Gi interface is used. The content gateway206 receives requests from mobile devices and routes the request to themobile content server208 for content such as ringtone, music, or videos. For cacheable content, the requests are routed to thecache server202. The content gateway206 also routes the requested content to themobile devices112 from these elements.
The content gateway206 may also be configured with firewall and/or filtering functions to reduce potential contamination of the content being exchanged between thecontent engine102 and themobile devices112, and to reduce the likelihood of a security breach.
The content gateway206 may be further configured to steer traffic by maintaining an index of all available websites, applications, and individual content currently or scheduled to be available from thecache server202 and/ormobile content server208. Lookup tables for thecache server202 and/or themobile content server208 may provide this information. The lookup tables may be updated by the host server (i.e., either thecache server202 or the mobile content server208) via periodic updates or as-needed.
Service management functions210 andadministrative functions212 are also in communication with thecontent engine102. Service management functions can include, but are not limited to, maintaining licensing agreements for copyright protected content.Administrative functions212 can includecontent engine102 software, hardware, or firmware upgrades, and account management features, such as account creation, account closure, and communication with the operator's billing system to bill for billable content.
Referring now toFIG. 3, a flow diagram of an exemplary method for provisioning content via an inter-network content engine, such ascontent engine202, is illustrated. Themethod300 begins and proceeds to step302 wherein a content request is received at the content gateway206. The content gateway206 can determine, based upon information in the content request, the type of content that is being requested. More particularly, whether the content is web content, or other content, such as a digital media content. This determination is illustrated asstep304.
If it is determined that the content is web content, flow proceeds to step306 wherein a determination is made as to whether the web content is cached. If the content is not cached, flow proceeds to step308 wherein a determination is made as to whether the web content is cacheable. This determination may be made by processing the request in accordance with a plurality of rules to determine if the content is cacheable. Moreover, historical data such as provided by lookup table records may be used to aid in this determination.
If it is determined that the content is not cacheable, flow proceeds to step310 wherein the requested content is retrieved from theexternal content provider126 associated with the requested content. For example, theexternal content provider126 may be a bank account server that contains personal data that should not be cached. The content gateway206 then sends the requested content to the requestingmobile device112 atstep312. If, however, it is determined that the content is cacheable, the content gateway206 forwards the content request to thecontroller200 atstep314. Thecontroller200 can then retrieve the content and send the content to the content gateway206 atstep316. The content gateway206 can forward the content to the requestingmobile device112 atstep312.
If the content is cached, as determined instep306, the content gateway206 can forward the content request to thecache server202 atstep318. The content gateway206 receives the content from thecache server202 atstep320 and forwards the content to the requestingmobile device112 atstep312.
If it is determined atstep304 that the content request type is for other content, the flow proceeds to step322 and the content gateway206 retrieves the requested content from themobile content server208. The request may include a device type or other device specifications for which the requested content is to be formatted. By way of example and not limitation, this information may be provided via an International Mobile Equipment Identity (IMEI) or by at least one of the make, model, and revision of the mobile device. Themobile content server208 may be configured to store a plurality of different configurations for the stored content, such as the most often used format types. In this embodiment, themobile content server208 could retrieve the appropriately formatted content and return it to the content gateway206. The content gateway206 then forwards the content to the requestingmobile device112 atstep312.
The law does not require and it is economically prohibitive to illustrate and teach every possible embodiment of the present claims. Hence, the above-described embodiments are merely exemplary illustrations of implementations set forth for a clear understanding of the principles of the invention. Variations, modifications, and combinations may be made to the above-described embodiments without departing from the scope of the claims. All such variations, modifications, and combinations are included herein by the scope of this disclosure and the following claims.