Abstract:
The present invention provides methods and apparatus for controlling cellular access to data services from a mobile device such as a cellular telephone or PDA. The wireless network monitors IP traffic to and from the mobile device. Attempts to access an data service are checked to determine whether the requested access is authorized. Access to the data service is granted subject to the authorization. Access to the mobile device from external sources is also restricted.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates generally to communication systems, and more particularly, to a system and method for controlling access to data services from a mobile telecommunication device.  
       BACKGROUND OF THE INVENTION  
       [0002]     Many parents provide their children with cellular telephones for increased safety and peace of mind. Most cellular telephones include the ability to access data services. Such services may include using software such as a web browser, streaming media player, and the like to retrieve and render content from a server connected to the internet. While there are many benefits to being able to access data services from a mobile device, a child with an internet-capable cellular telephone would be able to browse the internet without parental supervision. This may enable the child to access content which the child&#39;s parent or guardian considers unsuitable or inappropriate. It would therefore be desirable to provide a means whereby a parent or guardian may control the content that a minor is able to access using the data capabilities of their cellular telephone.  
         [0003]     Moreover, when a cellular device is connected to an IP network, it may be possible for content, such as pop-up advertisements and the like, to be pushed to the cellular device. This could also result in the exposure of a minor to unsuitable or inappropriate content. It would therefore also be desirable to provide a means for preventing access to a cellular device from an IP network.  
       SUMMARY OF THE INVENTION  
       [0004]     It is, therefore, an object of the invention to provide a means whereby a parent or guardian may control the content that a minor is able to access using the data capabilities of their cellular telephone.  
         [0005]     It is also an object of the invention to provide a means for preventing unauthorized access to a cellular device from an IP network.  
         [0006]     These and other objects and advantages are provided by a system that controls access to the internet by controlling access to the Domain Name System (DNS). Specifically, content is requested by a user entering a Uniform Resource Locator (URL) on their mobile device. In resolving the URL into the IP address of the server, a system of the present invention checks a database to determine whether access to the URL is permitted. If access is permitted, the DNS is queried to resolve the server IP address; otherwise, the DNS lookup is blocked so that the content specified by the URL may not be accessed. Preferably, the system only permits access to internet content initially identified using a Uniform Resource Locator (URL). 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0007]     A more complete understanding of the present invention and its advantages will be readily apparent from the following Detailed Description taken in conjunction with the accompanying drawings. Throughout the accompanying drawings, like parts are designated by like reference numbers and in which:  
         [0008]      FIG. 1  is a schematic illustration of a cellular network in accordance with the present invention;  
         [0009]      FIG. 2  is a call flow diagram showing successful access to an internet site;  
         [0010]      FIG. 3  is a call flow diagram showing a blocked attempt to access an internet site; and  
         [0011]      FIG. 4  is a call flow diagram showing an attempt to access an internet site while roaming.  
     
    
     DETAILED DESCRIPTION  
       [0012]      FIG. 1  schematically illustrates a representative environment of the present invention. Mobile Station (MS)  100 , e.g., a cellular mobile telephone, wirelessly connects to base station  105  via a radio frequency (RF) network, e.g., a cdma2000 network. Base station  105  connects to base station controller (BSC)  110 , typically via a wire-line, such as a T1 line. BSC  110  connects to and controls multiple base stations  105 . BSC  110  connects to Packet Control Function (PCF)  115  and to Mobile Switching Center (MSC)  120 .  
         [0013]     PCF  115  connects to packet data serving node (PDSN)  130  via an RN-PDSN interface (RP). PDSN  130  connects to Authentication, Authorizing, and Accounting (AAA) proxy server  135  and to core network  140 , both typically via wire-line. Core network  140  includes both Session Initiation Protocol (SIP) proxy server  145  and Cellular Serving System (CSS)  150 , also typically connected via a wire-line. Core network  140  connects to communications network  155 , e.g., the Internet.  
         [0014]     The sequence of initiating and authorizing internet access is now described in connection with  FIG. 2 , in which vertical lines represent the objects listed in the boxes at the top of the line, and horizontal lines represent communication between the objects at either end of the line. The temporal sequence of events proceeds from top to bottom.  
         [0015]     As shown in  FIG. 2 , MS  100  negotiates a connection to PDSN  130  (via base station  105 , BSC  110 , and PCF  115 ) by using a suitable protocol, such as the Link Control Protocol (LCP). Upon establishment of the connection, PDSN  130  authenticates MS  100  using an authentication protocol such as the Challenge-Handshake Authentication Protocol (CHAP). For example, PDSN  130  sends a CHAP challenge to MS  100 . MS  100  performs an operation on data contained in the challenge based on information known only to MS  100  and AAA proxy server  135 . The results of the operation are then returned to PDSN  130  in the CHAP response. PDSN  130  forwards the CHAP response to AAA proxy server  135  for authentication. If the data in the CHAP response is correct, AAA proxy server sends PDSN  130  an indication that MS  100  has been authenticated. In addition, AAA proxy server  135  also returns data associated with MS  100 , such as user profile data. The user profile data may indicate the optional services and features to which the user has subscribed. These optional service may include data access controls and/or restrictions.  
         [0016]     To access data services, MS  100  requires an IP address. Although it is possible for MS  100  to have a permanently assigned IP address, IP addresses are typically dynamically assigned from a pool of available address. That is, after MS  100  has been authenticated it is assigned an IP address. When MS  100  disconnects from the network the IP address is returned to the pool of available addresses. PDSN  130  may use the IP Control Protocol (IPCP), or other suitable protocol, to provide MS  100  with an IP address.  
         [0017]     MS  100  also needs the IP address of a server providing the desired data or services. Servers connected to the internet are identified by a numerical IP address. However, the numerical addresses are difficult for people to remember. To provide a more user-friendly naming scheme for internet connected servers, the Domain Name System (DNS) provides a mechanism for translating between a user-friendly text-based name and the computer-friendly IP address. The user-friendly names typically comprise a Uniform Resource Locator (URL) such as “http://www.somewebsite.com/somepicture.jpg” which identifies the content named “somepicture.jpg” at the server “www.somewebsite.com”.  
         [0018]     Typically, a user provides the URL of a web site or service to software executing on MS  100 . For example, the user may enter a URL into an address field in a web browser. If the software does not know the IP address corresponding to the URL, the software sends a query to a DNS server to map the URL to an IP address of a server. If the IP address of the server is already known, a DNS query is not necessary. The IP address of a DNS server able to map URLs to IP addresses, as well as any other information needed to access the internet or other data services, may also be provided to MS  100  using the IPCP. Typically, a cellular provider may provide its own caching DNS server.  
         [0019]     Once the IP address of the server specified in a URL is known, the MS  100  hosted software sends a request to the server to retrieve the identified content according to an established communication protocol. For example, a web browser may send an HyperText Transport Protocol (HTTP) request to the server. Typically, the HTTP request includes the URL entered by the user. The server may then use the URL to determine what data to send back to the web browser, which data is then displayed, or otherwise rendered for the user.  
         [0020]     In accordance with the principles of the present invention, communication between MS  100  and the internet is monitored by PDSN  130  so that access can be controlled. A first mechanism by which PDSN controls access to data services is by controlling access to the DNS so that only URLs for authorized content and/or servers are resolved to an IP address. As shown in  FIG. 2 , the DNS query from MS  100  is sent to PDSN  130 . Before forwarding the DNS query to a DNS server, PDSN  130  first determines whether access to the URL in the DNS query is permitted. For example, user profile data returned from AAA server  135  may include a list or permitted and/or restricted URLs. This list may then be used to determine whether access to a user entered URL is permitted.  
         [0021]     Alternatively, PDSN  130  may query a database of permitted and restricted URLs to determine whether access to a specific user-entered URL is to be permitted. The database may be provided by the cellular data service provider or by a third party provider. Various methods may be used to determine if access should be permitted. For example, the database may simply keep a list of permitted URLs for each subscriber, such that access is permitted only if a URL is in the database. Conversely, the list may instead contain restricted URLs so that access is denied if a user-entered URL is in the database. Maintenance of such lists it likely to be difficult and error prone.  
         [0022]     Another alternative is for PDSN  130  to query a content rating service and to then permit or deny access based on the content rating. The content rating information may be a government mandated system, a voluntary industry system, or a third party rating system. For example, web sites may be assigned content ratings similar to the MPAA rating system used for movies or the ERB rating system used for electronic games. User profile data may then indicate which content ratings are permissible. For example, based on the user profile data PDSN may only permit access to the equivalent of ‘G’-rated content.  
         [0023]     If access to a user-specified URL is permitted, PDSN  130  then issues a DNS query to determine the IP address of the server corresponding to the URL. The results of the DNS query are then returned to MS  100 . The DNS results are then used by MS  100  to access the requested services at the resolved IP address. In addition, the access and/or DNS query results are cached by PDSN  130  for the duration of a data session. Data may then be sent to/received from resolve IP addresses in the session cache. Other data packets are silently discarded.  
         [0024]     If access to a user-specified URL is restricted, then the DNS lookup is not performed and a DNS lookup failure may be reported to MS  100 , as shown in  FIG. 3 . Alternatively, the DNS lookup query from MS  100  may be allowed to time out. A further alternative is to redirect the web browser on MS  100  to a web page indicating that the requested URL is restricted.  
         [0025]     The above-described mechanism control access to data services by controlling access to the DNS. A second mechanism by which PDSN  130  controls access to data services is by filtering data packets based on the IP addresses contained in the data packets. For example, if MS  100  already knows the resolved IP address for a server, MS  100  will not issue a DNS query. Instead, MS  100  will communicate directly with the server at the resolved IP address. Accordingly, PDSN  130  monitors the IP addresses of data packets to and from MS  100 . Specifically, the destination IP address of data packets being sent by MS  100  are checked against IP addresses cached by PDSN  130  to determine if access to the IP address is permitted or denied. If access is permitted, then the packet is forwarded to the destination IP address. If access is not permitted, the data packet is discarded silently. Optionally, the fact that a packet has been discarded may be logged or communicated to the user.  
         [0026]     Analogously, the source IP address of data packets sent to MS  100  are checked to see if access to the server is authorized. If the data packet is part of communications initiated by MS  100 , then PDSN  130  will have the senders IP address in the cache and, therefore, know whether access is permitted. If the communication was not initiated by MS  100 , PDSN  130  may not have a record of the IP address in the cache. PDSN  130  may, therefore, drop packets for which the sender IP addresses is not in the cache. Alternatively, PDSN  130  may use a reverse-DNS query to determine the name of the server and then submit the name to AAA server  135  to determine whether access is to be permitted. If access to the sender is permitted the received packets are forwarded to MS  100 ; otherwise, the packets are dropped silently. Optionally, the fact that a packet has been discarded may be logged or communicated to the user.  
         [0027]     Optionally, the system of the present invention may log information about attempted URL accesses. For example, each URL could be logged with the time and date of the attempt and an indication of whether the access was permitted or denied. The log information may be used, for example, to monitor data accesses of a minor using a cellular device.  
         [0028]     In the system described above, the DNS query is performed after the access query. However, the DNS query and access queries may also be performed in parallel. The resolved IP address would only be returned to MS  100  if access to the URL is permitted. Performing the operations in parallel rather than sequentially may reduce latency for the first request to any particular URL during a data session.  
         [0029]      FIGS. 2 and 3  show the communication sequence when MS  100  is operating within its own cellular network.  FIG. 4 , in contrast, shows the communication sequence when data access is attempted while MS  100  is operating within a foreign cellular network, i.e., while roaming. First MS  100  establishes a PPP connection with the PDSN/foreign agent (PDSN/FA)  430  of the roaming carrier. When a connection is established, PDSN/FA  430  advertises the services it is able to provide. For example, PDSN/FA  430  may advertise that roaming data access is available.  
         [0030]     To begin data access while roaming, MS  100  issues a Mobile IP (MIP) request in order to obtain an IP address. In response to the MIP request, MS  100  is authenticated by Home AAA (HAAA) server  440  via Visitor AAA (VAAA) server  450 . If MS  100  is authenticated, the MIP request is forwarded to the users Home Agent (HA)  460 . HA re-authenticates MS  100 . If MS  100  authenticates successfully, HA  460  issues an IP address to MS  100  via an MIP registration reply. An tunnel is then established between MS  100  and HA  460  and subsequent data communications are passed between MS  100  and HA over the tunnel. A tunnel essentially provides a secure communication channel between the endpoints of the tunnel, and may be, for example and IP-IP tunnel or a GRE tunnel. In this case, the tunnel provides a communication channel between MS  100  and HA  460 . Access to digital services is then controlled in a manner analogous to that described above with regards to  FIGS. 2 and 3  except that HA  460  serves the role of PDSN  130 .  
         [0031]     In describing the invention, various preferred embodiments of the present invention are disclosed herein. However, one of skill in the art will understand that the disclosed embodiments are provided only for purposes of illustration and that various alterations, enhancements, or modifications may be made without departing from the spirit of the invention. For example, other protocols may be substituted for those specified in the illustrative embodiment. Therefore, the present invention is only limited by the scope of the claims appended hereto.