The present invention relates to telecommunications and, more particularly, to monitoring content accessed via a telecommunications network.
The widespread availability of the Internet and mobile communications has ushered in an era of convenience and productivity never before seen. At the same time, however, the ubiquitous nature of the Internet has also brought with it an undesired side effect: youngsters and others who, for one reason or another, should not be accessing certain Web content can now easily do so. It may not be desirable, possible, or practical to completely prevent access to certain Web content, however. It also may not be desirable, possible, or practical to monitor each Web site or Web page that a particular person, such as a child or employee, accesses.
One embodiment provides for a method of monitoring resources accessed by a wireless device. The method can comprise identifying one or more resources accessed by the wireless device; associating the one or more resources accessed by the wireless device with a rating for each of the resources; and providing a summary of the ratings for the resources accessed by the wireless device.
Another embodiment provides for a method that can comprise (a) receiving a streaming media session request message from a wireless device into a gateway disposed within a wireless carrier's network, wherein the streaming media session request message requests particular streaming media; (b) proxying the streaming media session request message from the gateway to a streaming media server; (c) receiving into the gateway from the streaming media server a response to the streaming media session request message; (d) proxying the response from the gateway to the wireless client device; (e) storing a rating for the particular streaming media in the gateway and associating the rating with the wireless device; (f) repeating steps (a)-(e) one or more times; and (g) providing a summary of the ratings for the resources accessed by the wireless device.
Other embodiments include a system adapted to sit within a communication path between a client device and a content server. The system can comprise at least one communication interface for (a) receiving from the client device a request for a resource, (b) proxying the request to a content server, (c) receiving a response from the content server, and (d) proxying the response to the client device. The system can also comprise data storage and program logic stored in the data storage and executable by at least one processor (i) to identify the resource accessed by the client device, (ii) to associate the resource accessed by the client device with a rating for the resource, and (iii) to provide a summary of the ratings for a plurality of resources accessed by the client device.
A variety of alternatives will become apparent to those skilled in the art upon review of the following detailed description.
Exemplary embodiments of the present invention are described herein with reference to the drawings, in which:
As shown in
In a CDMA system, multiple client devices may use the same frequency range, and the multiple client devices may each simultaneously communicate with the base station 102 using the same frequency range. A client device in a CDMA system spreads its signal across the frequency range. Spreading the signal across a wide bandwidth can reduce interference between signals from different client devices. In order to perform signal spreading, each client device may be assigned a unique code, such as a Walsh code, to be used for modulating communications. The code may be a sequence of bits, such as a 64 bit binary number; however, other lengths may also be used. This can allow individual signals to be differentiated from other signals, and, therefore, accurately recovered.
CDMA is described in further detail in Telecommunications Industry Association (“TIA”) standards IS-95A and IS-95B, which are both incorporated herein by reference in their entirety. CDMA is also described in the International Telecommunications Union (“ITU”) IMT-2000 series of standards, which are all incorporated herein by reference in their entirety. CDMA is further described in the TIA IS-2000 series of standards, which are all incorporated herein by reference in their entirety. The IS-2000 series of standards are commonly referred to as CDMA2000.
CDMA is merely one example of a protocol that can be used for communication between the client device 100 and the access point 102. As other examples, the client device 100 and the access point 102 may communicate using Wideband CDMA (“WCDMA”), Time Division-Synchronous CDMA (“TD-SCDMA”), Advanced Mobile Phone Service (“AMPS”), Digital AMPS (“D-AMPS”), Global System for Mobile Communication (“GSM”), IS-136, Wireless Application Protocol (“WAP”), time division multiple access (“TDMA”), or other protocols. Additional wireless protocols such as any of the various protocols under the IEEE 802.11 umbrella, Bluetooth, and others may also be used.
The base station 102 couples to a base station controller (“BSC”) 104, which can perform various functions such as managing handoffs of the client device 100 as it moves among base stations in the wireless network 10. The BSC 104 in turn connects to a mobile switching center (“MSC”) 106. The MSC 106 can manage setup and teardown of connections with the client device 100. While the BSC 104 and the MSC 106 are depicted as separate components, it is possible that their functionality may be combined into a single component. The MSC 106 can additionally provide connectivity to the public switched telephone network (“PSTN”) 108. Through this connectivity, the client device 100 may access the wireless network 10 for voice services and in turn establish a circuit switched connection with another device on the PSTN 108, the wireless network 10, or another network.
While a traditional voice connection with the wireless network 10 might involve establishing a circuit-switched connection between the client device 100 and another entity for voice communications, the client device 100 might alternatively establish a data connection with the wireless network 10 in order to engage in packet-switched communications with another entity. In addition to interfacing with the MSC 106 and in turn the PSTN 108, the BSC 104 may also interface with a packet data serving node (“PDSN”) 110. The PDSN 110 can provide connectivity to a packet-switched network 112, which could comprise either or both of a private packet-switched network and a public packet-switched network, such as the Internet.
Using this connectivity, the client device 100 can establish a data connection with the wireless network 10 and engage in packet-based communications with devices on the packet-switched network 112. In doing so, the client device 100 might use various protocols to engage in data communications with another device. The client device 100 might also use packet-based voice protocols such as Voice over IP (“VoIP”) to engage in voice communications with another device via the client device's data connection with the wireless network 10.
In accessing the wireless network 10 for data services, the client device 100 may establish a Point-to-Point Protocol (“PPP”) session with the PDSN 110. As is known in the art, PPP can be used as a data link protocol for communication between two devices. PPP can provide a method for framing data sent between the two devices. Additionally, it can implement a link control protocol for controlling transmission links between the two devices, and it can provide a way to negotiate higher level protocol options for communication between the two devices. PPP is described in more detail in Internet Engineering Task Force (“IETF”) Request for Comments (“RFCs”) 1661, 1662, and 1663, all of which are incorporated herein by reference in their entirety.
While the client device 100 may communicate with the PDSN 110 through a PPP session, it may communicate with other devices (e.g., a device on the packet-switched network 112) using higher level protocols. For example, the client device 100 may use the Transmission Control Protocol (“TCP”)/Internet Protocol (“IP”) suite, one protocol suite that may be used for transmitting data over a packet-switched network. Each device, including the client device 100, may then receive a 32-bit IP address. The IP address assigned to a device is usually globally unique, and therefore allows IP packets of data to be routed between different networks to a particular device. An IP packet can include a header portion and a data portion. The header portion generally identifies a source device and a destination device, while the data portion carries the data to be transmitted between the two devices.
Each client device may also be uniquely identified in other ways to facilitate identification. For example, each client device can be hard-coded with a unique electronic serial number (“ESN”), which can be programmed into each client device during manufacture and which can be initially activated by a service provider. In doing so, the service provider can assign a unique mobile identification number (“MIN”) to each client device and can establish a record or other profile associating the MIN with the ESN and indicating service parameters for the subscriber (i.e., for the MIN).
A number of other entities can reside on or be accessible through the packet-switched network 112, including, by way of example, the MAGA 50 and a computer 60. Any number of other entities, such as the content provider 54, which, for example, can comprise a content server or other entity, might also reside on or be accessible through the packet-switched network 112, as well, and may host content that the client device 100 can request.
The entities residing on or accessible through the packet-switched network 112 can be arranged in any of a variety of ways. For example, the MAGA 50 might reside within another network entity or entities. As another example, the functions of the MAGA 50 might be integrated with the functions of another network entity. Other configurations are also possible.
In operation, each client device that supports packet-data connectivity can engage in packet-data communication over a packet network, such as the packet-switched network 112, after acquiring a radio link over an air interface and a data link with a PDSN or other gateway. As described generally above, for instance, a client device, such as the client device 100, can send an origination message to a BSC, such as the BSC 104, and/or an MSC, such as the MSC 106, asking for a radio link for packet-data communication. The BSC 104 can then responsively instruct the client device 100 to operate on a given traffic channel over the air interface 122. Through that traffic channel, the client device 100 might then negotiate with a gateway, such as the PDSN 110, to establish a data link such as the PPP session described above. Further, the gateway and/or some other entity such as a mobile-IP home agent or an authentication, authorization, and accounting server (not shown) could assign an IP address to the client device 100 for use in communicating over the packet-switched network 112.
When the client device 100 communicates with the packet-switched network 112 through the PDSN 110, the MAGA 50 can serve as an interface between entities on the packet-switched network 112 and the client device 100. For example, the PDSN 110 can send communications to the MAGA 50 so the communications pass through the MAGA 50 to other entities. The MAGA 50 can also store content ratings information relating to the content that a client device 100 accesses, and can provide that information or a summary of that information to other entities (such as a user operating the computer 60).
As shown by way of example in
The data storage 126 can store applications 146 and data, for example. In alternative embodiments, the applications 146 and/or data might not be stored in the client device 100. In such embodiments, the applications 146 and/or data might be stored remotely on a network server, for example. The remote network server can then be accessible to the client device 100, and the client device 100 may then access such applications 146 and/or data via the wireless network.
As shown in
In particular, the browser application 134 might be an application suitable for requesting and receiving packet-data communications in a client device, such as the client device 100. In one embodiment, the browser application 134 might be a WAP enabled Web browser that allows WAP Push communications. In any case, the browser application 134 can request content from the content provider 54 (or another network resource) via the packet-switched network 112, for example. In one embodiment, the browser application 134 can request information from the content provider 54 (or another network resource) by invoking a uniform resource locator (“URL”) included in a WAP Push message. For instance, the browser application 134 can request information from the server 52 (or another network resource) via an HTTP GET request. Other examples are also possible.
The data storage 306 can include any number of databases 310, applications 308, or other files of information, for, among other things, maintaining rating tracker data and content rating data for client devices, such as the client device 100. In some embodiments, the MAGA 50 can track the ratings of content accessed by a client device and the MAGA 50 can store that information, for example, as rating tracker data 312 in the data storage 306. The rating tracker data 312 can include a plurality of records that contain information that associates each of a plurality of client devices with information on the rating of the content that client device has accessed. Similarly, in some embodiments, the MAGA 50 can store content ratings, for example, as content rating data 318 in the data storage 306. The content rating data 318 can include a plurality of records that contain information that associates particular content with a content rating. The MAGA 50 can also, in some embodiments, store summaries of the ratings of the content accessed by the client device 100, as summary rating tracker data 320. This data can be used to report summary information on the ratings of the content accessed by the client device 100.
As a general matter, the content ratings contemplated by the invention are intended to relate to suitability of content for presentation to particular classes of people. As such, the content ratings can indicate an appropriate audience for the content (such as that the content is suitable for a particular age group or for other particular types of users), the content ratings can indicate a class of content (such as that the content contains sexually explicit material or violent material), and/or the content ratings can take other forms. By way of example, the content ratings can be identical or analogous to the ratings commonly used by the Motion Picture Association of America (MPAA), such as G, PG, PG-13, R, and X, as partially shown in
As depicted in
In some embodiments, an average content rating can be calculated by assigning numeric values to the content ratings and then calculating the average content rating of the content accessed. Using the MPAA rating system as one example, one could assign values to the content ratings, such as G=0; PG=2.5; PG-13=5; R=7.5; and X=10. An example calculation could then add the values assigned to the content accessed. The resulting total can then be divided by the number of times content was accessed. Using the client device identified as 111-222-3333 in
Summary content ratings can also include a time-weighted average content rating. Turning to
180 seconds×2.5(PG rating)=450; and
30 seconds×7.5(R rating)=225.
The values obtained could then be added (here, to arrive at a total of 675), and the total could then be divided by the total number of seconds content was accessed (here, 675 divided by 210 seconds=3.21). The resulting value can then be reported as the average content rating (in this rating scheme, 3.21 results in a content rating value between “PG” and “PG-13”). Such a model can discount user access of inappropriate content if the user only accessed that content for short periods of time (e.g., if a user accessed an “R” rated Web site by mistake). Other examples are possible as well.
Turning back to
In an example embodiment, the data storage 306 might reside on the MAGA 50. In other embodiments, some or all of the data in data storage 306 might reside on other devices. In such a case, each data storage device may communicate with the MAGA 50 via a link such as a T1, IEEE 488, or Ethernet link, for example.
To allow packet-data connectivity, the MAGA 50 might connect to a packet network, such as the packet-switched network 112, through a local area network (“LAN”), for example. The MAGA 50 might connect to the LAN using a network interface 202, such as a network interface card (“NIC”), and the LAN, in turn, might provide connectivity to the packet-switched network 112 through an Internet service provider (“ISP”) or another gateway. Alternatively, the MAGA 50 might connect to a private intranet (e.g., a core packet network of a wireless service provider) or to another network that provides connectivity to the packet-switched network 112. Further, the MAGA 50 might connect directly to the packet-switched network 112 without connecting through a LAN. The MAGA 50 might also wirelessly connect to the packet-switched network 112.
As shown in
As further shown in
Applications 214 might be stored in the data storage 212 and executed by the processor 206. In an exemplary embodiment, the data storage 212 might contain a browser application 216. The browser 216 might be an application suitable for requesting and receiving HTTP-based content. In an exemplary embodiment, the HTTP-enabled browser application 132 might be a typical Web browser or an enhancement of a typical Web browser. In any case, the browser application 216 might be capable of viewing summary rating tracker data from a server, such as the MAGA 54, communicating on the packet-switched network 112. Other examples are also possible.
Referring back to
It should be understood, however, that all the arrangements described herein are set forth for purposes of example only. As such, those skilled in the art will appreciate that other arrangements and other elements (e.g., machines, interfaces, functions, orders of functions, etc.) can be used instead, and some elements may be omitted altogether. Further, those skilled in the art will appreciate that many of the elements described herein are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, and in any suitable combination and location.
Still further, various functions described herein as being performed by one or more entities may be carried out by hardware, firmware, and/or software logic. For instance, various functions may be carried out by a processor (i.e., one or more processors) executing a set of machine language instructions stored in memory. Provided with the present disclosure, those skilled in the art can readily prepare appropriate computer instructions to perform such functions.
At step 404 of
Resources accessed by the client device 100 can originate under several different models. In some cases, content can originate from a content distribution infrastructure, sometimes referred to as a “vending machine” model. In the content distribution infrastructure, a wireless service provider can negotiate with partners for the rights to sell content. The wireless service provider can then provide that content to users via a Web server, under a subscription plan or via payment of a fee each time resources are accessed, for example. Further, the wireless service provider (or its partners) can rate this content, and these ratings can be available to (or, in some embodiments, stored in) the MAGA 50 or other network entities.
Other resources can be available from content providers who customize content for access by customers of the wireless service provider, sometimes referred to as a “walled garden” model. In such cases, content providers can customize content normally viewed on the Internet through computers, for example, for use on wireless devices (for example, by adjusting the content to account for smaller display screens, slower access speeds, lower resolution graphics, etc.). The wireless service provider or the content provider can also rate this content, and these ratings can be available to (or, in some embodiments, stored in) the MAGA 50 or other network entities.
Still other network resources can be available simply through users of a client device establishing a data connection with a packet-switched network and entering a particular URL into a browser on the client device. In such cases, a wireless service provider can determine ratings of general “Internet” content by using keywords or metadata from the Web site accessed.
Under any of the models, a content provider, such as the content provider 54, can also provide a content rating for the requested resources. By way of example, if the content provider 54 engages in session-setup signaling to set up a session (for example, streaming media or real time transport protocol (“RTP”)) through which to deliver the requested content, the content provider 54 could specify the content rating as a parameter in a session-setup message. For instance, if the content provider 54 provides a session-description-protocol (“SDP”) block within such a message, the content provider 54 could specify the content rating as a parameter within the SDP block. As another example, if the content provider 54 returns content in an HTTP response, the content provider 54 could provide the content rating in an HTTP header parameter. Other arrangements are also possible.
In an example embodiment, the MAGA 50 will receive the content request from the client device 100 and will proxy the request along to the content provider 54. The content provider 54 will then return to the MAGA 50 a response message that contains the requested content and/or information related to delivery of the content (such as an SDP block). The content provider 54 can then include the content rating in that or another message that it sends to the MAGA 50. Thus, when the MAGA 50 receives the message from the content provider 54, the MAGA 50 can read the content rating from the message.
In some embodiments, content requests from the client device 100 will be made to pass to the MAGA 50, such that the MAGA 50 could proxy each content request to an appropriate content provider, such as the content provider 54 (if the MAGA 50 has not already cached the content). This allows the requested content from the content provider to pass through the MAGA 50 on its way back to the client device 100.
To accomplish this, the MAGA 50 could be positioned in (or at the edge of) an access channel so that all communications with the client device 100 pass through the MAGA 50. Alternatively, the MAGA 50 could be positioned elsewhere, and the client device 100 (or some other entity) could be set to send content requests from the client device 100 to the MAGA 50. For instance, the client device 100 could be set to use the MAGA 50 as a proxy server so that the client device 100 sends all content requests to the MAGA 50.
As an example implementation, consider a scenario in which a user of a WAP-capable client device, such as the client device 100, for example, seeks to obtain streaming media content. For instance, the user may browse to a Web page and click on a link to receive particular streaming media content. In response (as indicated by the markup underlying the link), a media player application on the client device 100 might send an RTSP “DESCRIBE” request, which would pass to the MAGA 50 for transmission, and in turn to a content server indicated by a URL in the DESCRIBE header.
The MAGA 50 can then proxy the DESCRIBE request to the designated content server (which could correspond to the content provider 54 of
Note that this example implementation, while described with respect to a wireless device, can equally apply with other sorts of client devices, whether wireless or landline. For instance, if a personal computer seeks to obtain streaming media content, a similar process could apply. Further, the MAGA 50 itself can be the content provider. Other variations are possible as well.
As another example implementation of the invention, consider a scenario where a user of a client device (such as a wireless or landline station) seeks to obtain content from a particular Web page. For instance, the user may attempt to browse to a particular Web page, thereby causing a browser on the client device to send an HTTP GET request. The HTTP GET request would pass to the MAGA 50 for transmission, and in turn to a content server indicated by a URL in the DESCRIBE header.
Conventionally, the MAGA 50 would proxy the HTTP request to the designated content server, and the content server would return to the MAGA 50 an HTTP response that could carry the requested content. The HTTP response can further carry, in an HTTP header for instance, a content rating for the requested content. To deliver the content, the MAGA 50 would proxy the HTTP response (possibly translated to a form appropriate for display on the client device) to the client device.
At step 406 of
A wireless service provider can provide the summary of the ratings for the accessed resources for a fee. To do this, the service provider could maintain a profile store accessible by the MAGA 50, which indicates for each subscriber (e.g., client device or user) whether the subscriber has paid for or agreed to be charged for the ratings summary service.
If the subscriber has already paid for or agreed to be charged for the ratings summary service, then the MAGA 50 may provide the ratings summary as described above. On the other hand, if the subscriber has not already paid for or agreed to be charged for the ratings summary service, then the MAGA 50 may invoke a charge-advice process through which a charging entity (e.g., the MAGA 50 or another entity) seeks the subscribers' payment or approval to be charged for the service.
In an example-charge advice process, the charging entity may send to the client device 100 or to some other designated destination (e.g., to a parent's, employer's, or supervisor's e-mail address) a prompt to pay or to approve charges for the ratings summary service. The charging entity could send the prompt sent by e-mail, short messaging service (“SMS”) messaging, instant messaging, or any of a variety of other means. (If possible, the charging entity could send the prompt in response to the content request provided by the client device 100, and could prompt the user to click a link in order to pay or approve charges.) A recipient of the prompt may then provide a password and payment information (e.g., credit card information) or authorization to be charged (e.g., to the subscriber's monthly telecommunications service account), in a response to the charging entity. Given subscriber payment or authorization to be charged, the charging entity may update the subscriber's profile record to reflect that the subscriber has paid for or agreed to be charged for the ratings summary service, and the MAGA 50 may proceed with the access control functions described above.
Several exemplary embodiments of the present invention have been described above. Those skilled in the art will understand, however, that changes and modifications may be made to these embodiments without departing from the true scope and spirit of the present invention, which is defined by the claims.
Number | Name | Date | Kind |
---|---|---|---|
7043555 | McClain et al. | May 2006 | B1 |
7055166 | Logan et al. | May 2006 | B1 |
7149219 | Donahue | Dec 2006 | B2 |
7210158 | Forler | Apr 2007 | B1 |
20020128033 | Burgess | Sep 2002 | A1 |
20020138830 | Nagaoka et al. | Sep 2002 | A1 |
20030001016 | Fraier et al. | Jan 2003 | A1 |
20030074665 | Varley | Apr 2003 | A1 |
20040148237 | Bittmann et al. | Jul 2004 | A1 |
20050081237 | Chen et al. | Apr 2005 | A1 |
20050086293 | Buckley | Apr 2005 | A1 |