An exemplary 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, from the controller, 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.
|
1. A method comprising:
receiving, at a content engine and from a mobile device, a request for content;
determining if access to the content has exceeded a threshold value;
retrieving, if access to the content has not exceeded the threshold value, the content in response to the request;
modifying, at a content format modifier of the content engine and by utilizing instructions from a memory that are executed by a processor, the content based on specifications of the mobile device to create modified content formatted for the mobile device,
wherein the specifications are associated with one of a hardware component, a software component, and a firmware component of the mobile device, and
wherein the specifications are identified by a make of the mobile device, a firmware version of the mobile device, and a revision number of the mobile device; and
sending the modified content to the mobile device, wherein the modified content is sent to the mobile device based in part on an index of available content.
16. A non-transitory computer-readable medium of a content engine comprising computer-executable instructions, which, when loaded and executed by a processor, cause the processor to perform operations, the operations comprising:
receiving a request for content from a mobile device;
determining if access to the content has exceeded a threshold value;
retrieving, if access to the content has not exceeded the threshold value, the content in response to the request;
modifying the content based on specifications of the mobile device to create modified content formatted for the mobile device,
wherein the specifications are associated with a hardware component, a software component, and a firmware component of the mobile device, and
wherein the specifications are identified by a make of the mobile device, a firmware version of the mobile device, and a revision number of the mobile device; and
sending the modified content to the mobile device, wherein the modified content is sent to the mobile device based in part on an index of available content.
8. A content engine, comprising:
a memory that stores instructions;
a processor that executes the instructions to perform operations, the operations comprising:
receiving, by utilizing a content gateway of the content engine, a request for content from a mobile device;
determining if access to the content has exceeded a threshold value;
retrieving, if access to the content has not exceeded the threshold value, content in response to the request, wherein the content is retrieved by utilizing the content gateway;
modifying, by utilizing a content format modifier of the content engine, the content based on specifications of the mobile device to create modified content formatted for the mobile device,
wherein the specifications are associated with a hardware component, a software component, and a firmware component of the mobile device, and
wherein the specifications are identified by a make of the mobile device, a firmware version of the mobile device, and a revision number of the mobile device; and
sending the modified content to the content gateway for delivery to the mobile device, wherein the modified content is sent to the mobile device based in part on an index of available content.
2. The method of
3. The method of
analyzing the request to determine to which of the digital media content server, the cache server, and the non-cacheable web content provider the request should be routed; and
routing the request to one of the digital media content server, the cache server, and the non-cacheable web content provider based upon the analysis.
4. The method of
5. The method of
6. The method of
7. The method of
9. The content engine of
10. The content engine of
11. The content engine of
analyzing, by utilizing the content gateway, the request to determine to which of the digital media content server, the cache server, and the non-cacheable web content provider the request should be routed; and
routing, by utilizing the content gateway, the request to one of the digital media content server, the cache server, and the non-cacheable web content provider based upon the analysis.
12. The content engine of
13. The content engine of
14. The content engine of
15. The content engine of
17. The non-transitory computer-readable medium of
18. The non-transitory computer-readable medium of
analyzing the request to determine to which of the digital media content server, the cache server, and the non-cacheable web content provider the request should be routed; and
routing the request to one of the digital media content server, the cache server, and the non-cacheable web content provider based upon the analysis.
19. The non-transitory computer-readable medium of
analyzing the request to determine where the content request should be routed;
comparing the content to a lookup table, which is stored within the content engine and is indicative of the cached web content stored in the cache server, to determine if the content is cached in the cache server.
20. The non-transitory computer-readable medium of
|
This 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.
The 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.
The 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.
The 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.
As 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,
The GERAN 104 and UTRAN 106 are illustrated as being in communication with a GPRS core network 114 that may be further configured with an inter-network function 116 to facilitate communication with the WLAN 108. The WLAN 108 is also in communication with a System Architecture Evolution (SAE) core 118 that in turn in communication with an IMS (IP Multimedia Subsystem) core 120 and the LTE access system 110. The IMS core 120 is also in communication with the GPRS core network 114.
The GPRS core network 114, IMS core 120 and SAE core 118 are each in communication with one or more corporate content servers 122. A corporate content server 122 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 a corporate content server 122. Although illustrated as a separate network element, the corporate content server(s) 122 may be included in the content engine 102.
The GPRS core network 114 and SAE core 118 are also in communication with the content engine 102 that in turn is in communication, via a firewall 124, with external content providers 126. As illustrated, the external content providers 126 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.
The content engine 102 is also in communication with other non-3GPP systems 132, in which the present invention may also be practiced. The content engine 102 is now described below with reference to
The controller 200 provides gateway functionality to content provisioning systems, such as the external content providers 126. The controller 200 may include the firewall 124 and may perform filtering functions in accordance with filtering parameters determined by the operator. The controller 200 is also configured to route content within the engine to the appropriate processing components.
To the external content providers 126, the controller 200 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, the controller 200 can route content to the content format modifier 204 for reformatting content to adhere to specifications of the requesting mobile device. Afterwards, the reformatted content can be sent to the mobile content server 208 and stored. Content that does not need to be reformatted can be sent directly to the mobile content server 208.
For cacheable websites, the controller 200 forwards the content to the cache server 202 to be cached. From the mobile device perspective, the controller 200 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.
The cache server 202 is configured to function as a website server for cacheable web content. Cacheable content is received by the controller 200 and forwarded to the cache server 202 for storage. The cache server 202 provides pre-caching of web content in an effort to reduce latency and improve access time for the mobile devices 112.
The content gateway 206 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 gateway 206 can be configured to store and maintain a lookup table of the current cache in the cache server 202. Likewise, the cache server 202 may be configured to send updates to the content gateway 206 on an as-needed or periodic basis to update the lookup table. The content gateway 206 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 gateway 206 and the cache server 202 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.
The mobile content server 208 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 the mobile device 112 via the content gateway 206 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 gateway 206 provides an interface to the packet core network. For 3GPP applications, such as the illustrated embodiment, the Gi interface is used. The content gateway 206 receives requests from mobile devices and routes the request to the mobile content server 208 for content such as ringtone, music, or videos. For cacheable content, the requests are routed to the cache server 202. The content gateway 206 also routes the requested content to the mobile devices 112 from these elements.
The content gateway 206 may also be configured with firewall and/or filtering functions to reduce potential contamination of the content being exchanged between the content engine 102 and the mobile devices 112, and to reduce the likelihood of a security breach.
The content gateway 206 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 the cache server 202 and/or mobile content server 208. Lookup tables for the cache server 202 and/or the mobile content server 208 may provide this information. The lookup tables may be updated by the host server (i.e., either the cache server 202 or the mobile content server 208) via periodic updates or as-needed.
Service management functions 210 and administrative functions 212 are also in communication with the content engine 102. Service management functions can include, but are not limited to, maintaining licensing agreements for copyright protected content. Administrative functions 212 can include content engine 102 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 to
If it is determined that the content is web content, flow proceeds to step 306 wherein a determination is made as to whether the web content is cached. If the content is not cached, flow proceeds to step 308 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 step 310 wherein the requested content is retrieved from the external content provider 126 associated with the requested content. For example, the external content provider 126 may be a bank account server that contains personal data that should not be cached. The content gateway 206 then sends the requested content to the requesting mobile device 112 at step 312. If, however, it is determined that the content is cacheable, the content gateway 206 forwards the content request to the controller 200 at step 314. The controller 200 can then retrieve the content and send the content to the content gateway 206 at step 316. The content gateway 206 can forward the content to the requesting mobile device 112 at step 312.
If the content is cached, as determined in step 306, the content gateway 206 can forward the content request to the cache server 202 at step 318. The content gateway 206 receives the content from the cache server 202 at step 320 and forwards the content to the requesting mobile device 112 at step 312.
If it is determined at step 304 that the content request type is for other content, the flow proceeds to step 322 and the content gateway 206 retrieves the requested content from the mobile content server 208. 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. The mobile content server 208 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, the mobile content server 208 could retrieve the appropriately formatted content and return it to the content gateway 206. The content gateway 206 then forwards the content to the requesting mobile device 112 at step 312.
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.
Patent | Priority | Assignee | Title |
11095623, | Oct 27 2017 | BrightPlan LLC | Secure messaging systems and methods |
11509634, | Oct 27 2017 | BrightPlan LLC | Secure messaging systems and methods |
11694267, | Oct 27 2017 | BrightPlan LLC | Automation and latency remediation for secure messaging systems |
Patent | Priority | Assignee | Title |
6161140, | Sep 30 1996 | Casio Computer Co., Ltd. | System for transferring information between a server and a data terminal through a network |
6167441, | Nov 21 1997 | PayPal, Inc | Customization of web pages based on requester type |
6185625, | Dec 20 1996 | Intel Corporation | Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object |
6275692, | Feb 11 1998 | Telefonaktiebolaget L M Ericsson (publ) | Server request including code for customizing service to requesting cellular mobile station |
6351767, | Jan 25 1999 | International Business Machines Corporation | Method and system for automatically caching dynamic content based on a cacheability determination |
6405252, | Nov 22 1999 | AKAMAI TECHNOLOGIES, INC | Integrated point of presence server network |
6438125, | Jan 22 1999 | RPX CLEARINGHOUSE LLC | Method and system for redirecting web page requests on a TCP/IP network |
6651141, | Dec 29 2000 | Intel Corporation; INTEL CORPORATION, A CORPORATION OF DELAWARE | System and method for populating cache servers with popular media contents |
6708206, | Jun 15 1999 | Nokia Corporation | Apparatus, and associated method, for providing a client with messages |
6738630, | Apr 10 2001 | Microsoft Technology Licensing, LLC | Combining markers with location information to deliver domain-specific content to mobile devices |
6754699, | Jul 19 2000 | AKAMAI TECHNOLOGIES, INC | Content delivery and global traffic management network system |
6775743, | Sep 12 2001 | International Business Machines Corporation | Content caching with special handling of multiple identical requests for content |
6785704, | Dec 20 1999 | GOOGLE LLC | Content distribution system for operation over an internetwork including content peering arrangements |
6871065, | Mar 31 2000 | NEC Corporation | Mobile communication system, mobile communication method and mobile communication program |
6871236, | Jan 26 2001 | Microsoft Technology Licensing, LLC | Caching transformed content in a mobile gateway |
6907501, | Jan 25 2002 | GOOGLE LLC | System for management of cacheable streaming content in a packet based communication network with mobile hosts |
6941338, | Sep 01 1999 | SAMSUNG ELECTRONICS CO , LTD | Distributed cache for a wireless communication system |
6941378, | Jul 03 2001 | HEWLETT-PACKARD DEVELOPMENT COMPANY L P | Method for assigning a streaming media session to a server in fixed and mobile streaming media systems |
6944676, | Jun 24 1997 | Transcore Link Logistics Corporation | Information dissemination system and method with central and distributed caches |
6968389, | Jul 17 2001 | Cisco Technology, Inc | System and method for qualifying requests in a network |
6976090, | Apr 20 2000 | Cisco Technology, Inc | Differentiated content and application delivery via internet |
6981029, | Jul 17 2001 | Cisco Technology, Inc | System and method for processing a request for information in a network |
6987734, | Apr 20 2001 | NEWPORT TELEVISION LLC | Provision of digital data via multiple broadcasts |
7010578, | Sep 21 2000 | AKAMAI TECHNOLOGIES, INC | Internet content delivery service with third party cache interface support |
7047281, | Aug 08 2000 | FINEGROUND NETWORKS, INC | Method and system for accelerating the delivery of content in a networked environment |
7058633, | Sep 09 2002 | Cisco Technology, Inc. | System and method for generalized URL-rewriting |
7099331, | Apr 29 2002 | The Boeing Company | System and methods for monitoring a network workload |
7185014, | Sep 22 2000 | PTC INC | Retrieving data from a server |
7222186, | Jul 25 2000 | NEC Corporation | Content transferring technique |
7233790, | Jun 28 2002 | VIDEOLABS, INC | Device capability based discovery, packaging and provisioning of content for wireless mobile devices |
7257628, | Nov 08 2002 | Cisco Technology, Inc. | Methods and apparatus for performing content distribution in a content distribution network |
7284035, | Jun 12 2000 | Princeton University | System for wireless push and pull based services |
7370120, | Dec 07 2001 | Propel Software Corporation | Method and system for reducing network latency in data communication |
7412535, | Dec 19 2001 | International Business Machines Corporation | Method and system for caching fragments while avoiding parsing of pages that do not contain fragments |
7454457, | Feb 07 2000 | Parallel Networks, LLC | Method and apparatus for dynamic data flow control using prioritization of data requests |
7499401, | Oct 21 2002 | Alcatel Lucent | Integrated web cache |
7506059, | Oct 26 2001 | Nokia Technologies Oy | Mobile client provisioning web service |
7516198, | Oct 30 2001 | Cisco Technology, Inc. | Arrangement for providing content-based quality of service for a service flow based on parsing XML tags detected from a server response to a client request |
7567800, | Nov 09 2001 | NEC Corporation | Content delivery system |
7568002, | Jul 03 2002 | Sprint Spectrum LLC | Method and system for embellishing web content during transmission between a content server and a client station |
7570663, | Jun 23 2000 | LOOKINGGLASS CYBER SOLUTIONS, INC | System and method for processing packets according to concurrently reconfigurable rules |
7650420, | Dec 28 2001 | DIRECTV, LLC | System and method for content filtering |
7747744, | Feb 02 2001 | NEC Corporation | Mobile communication system and data transferring method for use with mobile communication system |
7769823, | Sep 28 2001 | F5 Networks, Inc | Method and system for distributing requests for content |
7873705, | Mar 12 2004 | Flash Networks LTD | System and method for identifying content service within content server |
20010030970, | |||
20020007404, | |||
20020035617, | |||
20020048269, | |||
20020052942, | |||
20020161911, | |||
20030041147, | |||
20030167334, | |||
20030210694, | |||
20040049579, | |||
20040078427, | |||
20060089160, | |||
20060168126, | |||
20060195909, | |||
20060200541, | |||
20060206610, | |||
20070027839, | |||
20070088801, | |||
20070143255, | |||
20070214251, | |||
20070244987, | |||
20070245090, | |||
20070260627, | |||
20070294096, | |||
20080139112, | |||
20080162403, | |||
20080228772, | |||
20080228864, | |||
WO186462, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 20 2007 | Cingular Wireless II, LLC | AT&T MOBILITY II, LLC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 036666 | /0125 | |
May 18 2007 | LEE, BO | Cingular Wireless II, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036847 | /0810 | |
May 21 2007 | HU, Q JAMES | Cingular Wireless II, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036847 | /0810 | |
Aug 30 2007 | AT&T MOBILITY II, LLC | AT&T MOBILITY II LLC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 036666 | /0307 | |
Jun 01 2010 | AT&T MOBILITY II LLC | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Mar 15 2016 | ASPN: Payor Number Assigned. |
Jul 16 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 16 2023 | REM: Maintenance Fee Reminder Mailed. |
Apr 01 2024 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Feb 23 2019 | 4 years fee payment window open |
Aug 23 2019 | 6 months grace period start (w surcharge) |
Feb 23 2020 | patent expiry (for year 4) |
Feb 23 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 23 2023 | 8 years fee payment window open |
Aug 23 2023 | 6 months grace period start (w surcharge) |
Feb 23 2024 | patent expiry (for year 8) |
Feb 23 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 23 2027 | 12 years fee payment window open |
Aug 23 2027 | 6 months grace period start (w surcharge) |
Feb 23 2028 | patent expiry (for year 12) |
Feb 23 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |