Abstract:
A wireless access point includes a transmitter, a receiver, and a processor. The processor is configured to wirelessly transmit a beacon to a wireless client. The beacon includes a first information element. The first information element indicates that the wireless access point is capable of providing a plurality of wireless application services. The receiver is configured to wirelessly receive, from the wireless client, a request for a first wireless application service of the plurality of wireless application services as indicated in the beacon. The processor is configured to selectively provide the first wireless application service to the wireless client by executing an application corresponding to the first wireless application service. The processor is configured to, prior to executing the application, determine whether the application is installed in the wireless access point, and in response to the application not being installed, obtain the application from an application server for installation.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 11/821,482, filed on Jun. 23, 2007, which claims the benefit of U.S. Provisional Patent Application No. 60/910,947, filed on Apr. 10, 2007. The disclosures of the above applications are incorporated by reference herein in their entirety. 
    
    
     BACKGROUND 
     The present invention relates generally to data communications. More particularly, the present invention relates to a wireless application service system. 
     SUMMARY 
     In general, in one aspect, the invention features an apparatus comprising: a first network interface comprising a transmitter to wirelessly transmit a beacon comprising an indication of the capability of the apparatus to provide wireless application services; a receiver to wirelessly receive a wireless application service request from a wireless client, the wireless application service request comprising a request for one of the wireless application services, and an identifier of a service access point for the requested wireless application service; a second network interface to obtain an application for the requested wireless application service from the service access point in response to the wireless application service request; and a processor to execute the application, wherein the application provides the requested wireless application service to the wireless client. 
     Some embodiments comprise a wireless access point comprising the apparatus. In some embodiments, the wireless access point is compliant with all or part of IEEE standard 802.11, including draft and approved amendments 802.11a, 802.11b, 802.11e, 802.11g, 802.11i, 802.11k, 802.11n, 802.11v, and 802.11w. Some embodiments comprise a memory to store data for the application. In some embodiments, the wireless application service request further comprises one or more of: a class-of-device identifier for the wireless client; a vendor identifier for the wireless client; and a capabilities identifier for the wireless client. In some embodiments, the processor determines whether the wireless application service request is to be granted; and wherein the transmitter wirelessly transmits a wireless application service request response to the wireless client indicating whether the wireless application service request is granted. In some embodiments, the receiver wirelessly receives an authentication request from the wireless client; wherein the processor generates an authentication result based on the authentication request; and wherein the transmitter wirelessly transmits an authentication response to the wireless client, the authentication response representing the authentication result. Some embodiments comprise a user interface comprising an authentication device to authenticate a user of the user interface. In some embodiments, the authentication device comprises: a fingerprint reader. 
     In general, in one aspect, the invention features a method comprising: wirelessly transmitting, from an apparatus, a beacon comprising an indication of the capability of the apparatus to provide wireless application services; wirelessly receiving a wireless application service request from a wireless client, the wireless application service request comprising a request for one of the wireless application services, and an identifier of a service access point for the requested wireless application service; obtaining an application for the requested wireless application service from the service access point in response to the wireless application service request; and executing the application, wherein the application provides the requested wireless application service to the wireless client. 
     In some embodiments, a wireless access point comprises the apparatus. In some embodiments, the wireless access point is compliant with all or part of IEEE standard 802.11, including draft and approved amendments 802.11a, 802.11b, 802.11e, 802.11g, 802.11i, 802.11k, 802.11n, 802.11v, and 802.11w. Some embodiments comprise storing data in the apparatus for the application. In some embodiments, the wireless application service request further comprises one or more of: a class-of-device identifier for the wireless client; a vendor identifier for the wireless client; and a capabilities identifier for the wireless client. Some embodiments comprise determining whether the wireless application service request is to be granted; and wirelessly transmitting a wireless application service request response to the wireless client indicating whether the wireless application service request is granted. Some embodiments comprise wirelessly receiving an authentication request from the wireless client; generating an authentication result based on the authentication request; and wirelessly transmitting an authentication response to the wireless client, the authentication response representing the authentication result. 
     In general, in one aspect, the invention features a computer-readable media embodying instructions executable by a computer to perform a method comprising: causing wireless transmission, from an apparatus, of a beacon comprising an indication of the capability of the apparatus to provide wireless application services, wherein the apparatus wirelessly receives a wireless application service request from a wireless client, the wireless application service request comprising a request for one of the wireless application services, and an identifier of a service access point for the requested wireless application service; obtaining an application for the requested wireless application service from the service access point in response to the wireless application service request; and executing the application, wherein the application provides the requested wireless application service to the wireless client. 
     In some embodiments, a wireless access point comprises the apparatus. In some embodiments, the wireless access point is compliant with all or part of IEEE standard 802.11, including draft and approved amendments 802.11a, 802.11b, 802.11e, 802.11g, 802.11i, 802.11k, 802.11n, 802.11v, and 802.11w. In some embodiments, the method further comprises: storing data in the apparatus for the application. In some embodiments, the wireless application service request further comprises one or more of: a class-of-device identifier for the wireless client; a vendor identifier for the wireless client; and a capabilities identifier for the wireless client. In some embodiments, the method further comprises: determining whether the wireless application service request is to be granted; and causing wireless transmission of a wireless application service request response to the wireless client indicating whether the wireless application service request is granted. In some embodiments, the method further comprises: generating an authentication result based on an authentication request wirelessly received from the wireless client; and causing wireless transmission of an authentication response to the wireless client, the authentication response representing the authentication result. 
     In general, in one aspect, the invention features an apparatus comprising: means for wirelessly transmitting a beacon comprising an indication of the capability of the apparatus to provide wireless application services; means for wirelessly receiving a wireless application service request from a wireless client, the wireless application service request comprising a request for one of the wireless application services, and an identifier of a service access point for the requested wireless application service; means for obtaining an application for the requested wireless application service from the service access point in response to the wireless application service request; and means for executing the application, wherein the application provides the requested wireless application service to the wireless client. 
     Some embodiments comprise a wireless access point comprising the apparatus. In some embodiments, the wireless access point is compliant with all or part of IEEE standard 802.11, including draft and approved amendments 802.11a, 802.11b, 802.11e, 802.11g, 802.11i, 802.11k, 802.11n, 802.11v, and 802.11w. Some embodiments comprise means for storing data for the application. In some embodiments, the wireless application service request further comprises one or more of: a class-of-device identifier for the wireless client; a vendor identifier for the wireless client; and a capabilities identifier for the wireless client. In some embodiments, the means for executing determines whether the wireless application service request is to be granted; and wherein the means for wirelessly transmitting transmits a wireless application service request response to the wireless client indicating whether the wireless application service request is granted. In some embodiments, the means for receiving wirelessly receives an authentication request from the wireless client; wherein the means for executing generates an authentication result based on the authentication request; and wherein means for wirelessly transmitting wirelessly transmits an authentication response to the wireless client, the authentication response representing the authentication result. Some embodiments comprise means for authenticating a user of the apparatus. 
     The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  shows a wireless application service system according to embodiments of the present invention. 
         FIG. 2  shows a process for the wireless application service system of  FIG. 1  according to some embodiments of the present invention. 
         FIG. 3  shows the format of an information element (IE) according to some embodiments of the present invention. 
         FIG. 4  shows the format of a wireless application service request according to some embodiments of the present invention. 
         FIG. 5  shows the format of a TLV field according to some embodiments of the present invention. 
         FIG. 6  shows the format of a wireless application service request response according to some embodiments of the present invention. 
         FIG. 7  shows the format of an authentication request according to some embodiments of the present invention. 
         FIG. 8  shows the format of an authentication response according to some embodiments of the present invention. 
         FIGS. 9A-9E  show various exemplary implementations of the present invention. 
     
    
    
     The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears. 
     DESCRIPTION 
     As used herein, the terms “client” and “server” generally refer to an electronic device or mechanism, and the term “message” generally refers to an electronic signal representing a digital message. As used herein, the term “mechanism” refers to hardware, software, or any combination thereof. These terms are used to simplify the description that follows. The clients, servers, and mechanisms described herein can be implemented on any standard general-purpose computer, or can be implemented as specialized devices. Furthermore, while some embodiments of the present invention are described with reference to a client-server paradigm, other embodiments employ other paradigms, such as peer-to-peer paradigms and the like. 
     Embodiments of the present invention provide a wireless application service system. The wireless application service system can include a wireless client to request wireless application services and a wireless access point to advertise and provide wireless application services. For example, a television remote control can include the wireless client. When the remote control detects an advertisement for a television guide service, the remote control can request the television guide service. The wireless access point obtains a television guide application from a service access point specified by the request, and executes the application, which provides the television guide service wirelessly to the remote control. 
     In some embodiments, a wireless client wirelessly receives advertisements for one or more wireless application services. For example, a beacon transmitted by a wireless access point can include an indication of the capability of the wireless access point to provide wireless application services. The wireless client can wirelessly transmit a request to the wireless access point for one of the wireless application services. The request can include an identifier of a service access point for the requested wireless application service. 
     In response, the wireless access point obtains an application for the wireless application service from the service access point and executes the application. The application provides the wireless application service to the wireless client. In some embodiments, the wireless client must be authenticated by the wireless access point before the wireless application service is provided. 
       FIG. 1  shows a wireless application service system  100  according to embodiments of the present invention. Although in the described embodiments, the elements of wireless application service system  100  are presented in one arrangement, other embodiments may feature other arrangements, as will be apparent to one skilled in the relevant arts based on the disclosure and teachings provided herein. For example, the elements of wireless application service system  100  can be implemented in hardware, software, or combinations thereof. 
     Referring to  FIG. 1 , wireless application service system  100  includes a wireless device  128  comprising a wireless client  102  in communication a with a wireless access point  104  over a wireless local-area network (WLAN)  106 . In some embodiments, WLAN  106  is compliant with all or part of IEEE standard 802.11, including draft and approved amendments such as 802.11a, 802.11b, 802.11e, 802.11g, 802.11i, 802.11k, 802.11n, 802.11v, and 802.11w. However, while embodiments of the present invention are described in terms of wireless access points  104  and wireless clients  102 , other sorts of wireless network devices can be used instead. Furthermore, while embodiments of the present invention are described in terms of a WLAN  106 , other sorts of wireless networks can be used instead. 
     Wireless application service system  100  also includes an application server  108  in communication with wireless access point  104  over a wide-area network (WAN)  110 . However, while embodiments of the present invention are described in terms of a WAN  110 , other sorts of networks can be used instead. 
     Referring again to  FIG. 1 , wireless access point  104  includes a WLAN interface  112 , a WAN interface  114 , a processor  116 , and a memory  118 . WLAN interface  112  includes a transmitter  120  and a receiver  122 . Wireless access point  104  can also include a user interface  136  including a fingerprint reader  138  or other authentication device, for example to enter fingerprints of users. The fingerprints can then be used to authenticate users when they employ wireless device  128  to respond to authentication challenges issued by wireless access point  104 , as described below. In some embodiments, WAN interface  114  is compliant with all or part of IEEE standard 802.11, including draft and approved amendments such as 802.11a, 802.11b, 802.11e, 802.11g, 802.11i, 802.11k, 802.11n, 802.11v, and 802.11w. 
     Wireless device  128  includes a user interface  130 , a controller  132 , and wireless client  102 . Wireless client  102  includes a receiver  124  and a transmitter  126 . In some embodiments, receiver  124  and transmitter  126  are compliant with all or part of IEEE standard 802.11, including draft and approved amendments such as 802.11a, 802.11b, 802.11e, 802.11g, 802.11i, 802.11k, 802.11n, 802.11v, and 802.11w. 
       FIG. 2  shows a process  200  for wireless application service system  100  of  FIG. 1  according to some embodiments of the present invention. Although in the described embodiments, the elements of process  200  are presented in one arrangement, other embodiments may feature other arrangements, as will be apparent to one skilled in the relevant arts based on the disclosure and teachings provided herein. 
     Referring to  FIG. 2 , transmitter  120  of WLAN interface  112  of wireless access point  104  transmits wireless beacon signals (step  202 ). Each beacon signal can include one or more information elements (IE). In some embodiments, the beacon signals and information elements are compliant with all or part of IEEE standard 802.11, including draft and approved amendments such as 802.11a, 802.11b, 802.11e, 802.11g, 802.11i, 802.11k, 802.11n, 802.11v, and 802.11w. 
       FIG. 3  shows the format of an information element (IE)  300  according to some embodiments of the present invention. IE  300  begins with a one-byte Element ID  302  that can be used to identify a manufacturer of wireless access point  104 . Element ID  302  is followed by a one-byte length field  304  that identifies the length of IE  302 , a three-byte WAP Organizationally Unique Identifier (OUI)  306  representing a manufacturer of wireless access point  104 , a one-byte proprietary IE Type  308 , and a two-byte version field  310 . 
     In some embodiments, Element ID  302  is used to advertise wireless application services. That is, the value of Element ID  302  provides an indication of the capability of wireless access point  104  to provide wireless application services. Referring again to  FIG. 2 , receiver  124  of wireless client  102  receives the beacon signal, and determines whether wireless access point  104  is capable of providing wireless application services (step  204 ), for example by examining the value of Element ID  302  in the beacon signal. 
     If wireless client  102  determines that wireless access point  104  is capable of providing wireless application services (step  204 ), transmitter  126  of wireless client  102  can transmit a wireless application service request to wireless access point  104  (step  206 ). Controller  132  generates a packet representing the wireless application service request, and transmitter  126  transmits a wireless signal representing the packet. 
       FIG. 4  shows the format of a wireless application service request  400  according to some embodiments of the present invention. Wireless application service request  400  begins with a six-byte destination address (DA)  402  that includes the address of wireless access point  104 , followed by a six-byte source address (SA)  404  that includes the address of wireless client  102 . Wireless application service request  400  also includes a two-byte length field (Len.)  406 , a 3-byte IEEE 802.2 Logical Link Control (LLC) portion including a one-byte field  408  comprising the value 0xAA, another one-byte field  410  comprising the value 0xAA, and a one-byte field  412  comprising the value 0x03, a three-byte WAP OUI  414  representing a manufacturer of wireless access point  104 , a two-byte field  416  comprising a frame type (which can have a value of 0x0001 for a wireless application service request  400 ), an identifier of a service access point for the wireless application service including a three-byte Vendor OUI  418  of a vendor of the application(s) that provides the requested wireless application service(s) and a two-byte vendor port number  420  of a port where the application is available, a variable-length list  422  of one or more Tag Length Value (TLV) fields each representing one of the requested wireless application services, and a two-byte frame check sequence (FCS)  424 . Other embodiments can include the same and/or different fields of the same or different lengths in the same or different order. 
       FIG. 5  shows the format of a TLV field  500  according to some embodiments of the present invention. TLV field  500  includes a 2-byte tag  502 , a two-byte length  504  representing a length of TLV field  500 , and a variable value  506  representing a requested wireless application service. Variable value  506  can also represent one or more of the following: a class-of-device identifier for wireless client  102 , a vendor identifier for wireless client  102 , and a capabilities identifier for wireless client  102 . Other embodiments can include the same and/or different fields of the same or different lengths in the same or different order. 
     Referring again to  FIG. 2 , receiver  122  of wireless access point  104  receives the wireless application service request. In response to the wireless application service request, wireless access point  104  determines whether the application(s) that provide the requested wireless application service(s) are already installed in wireless access point  104  (step  208 ). If not, WAN interface  114  of wireless access point  104  obtains the required application(s) from application server  108 , which is specified by the vendor service access point in the wireless application service request (step  210 ). Processor  116  of wireless access point  104  then installs and executes the obtained application(s) in wireless access point  104  (step  212 ). Transmitter  120  of wireless access point  104  can then transmit a wireless application service request response to wireless client  102  (step  214 ). Processor  116  generates a packet representing the wireless application service request response, and transmitter  120  transmits a wireless signal representing the packet. 
       FIG. 6  shows the format of a wireless application service request response  600  according to some embodiments of the present invention. Wireless application service request response  600  begins with a six-byte destination address (DA)  602  that includes the address of wireless client  102 , followed by a six-byte source address (SA)  604  that includes the address of wireless access point  104 . Wireless application service request response  600  also includes a two-byte length field (Len.)  606 , a 3-byte IEEE 802.2 Logical Link Control (LLC) portion including a one-byte field  608  comprising the value 0xAA, another one-byte field  610  comprising the value 0xAA, and a one-byte field  612  comprising the value 0x03, a three-byte WAP OUI  614  representing a manufacturer of wireless access point  104 , a two-byte field  616  comprising a frame type (which can have a value of 0x8001 for a wireless application service request response  600 ), an identifier of a service access point for the wireless application service including a three-byte Vendor OUI  618  of a vendor of the application(s) that provides the requested wireless application service(s) and a two-byte vendor port number  620  of a port where the application is available, a variable length list  622  of one or more Tag Length Value (TLV) fields each representing one of the requested wireless application services, and a two-byte frame check sequence (FCS)  624 . Other embodiments can include the same and/or different fields of the same or different lengths in the same or different order. 
     The TLV fields in TLV list  622  can have the same format as TLV field  500  of  FIG. 5 . Each TLV field in TLV list  622  can include information for one of the wireless application services specified in the TLV field(s) in the TLV list  422  of the corresponding wireless application service request  400 . 
     In some embodiments, wireless client  102  must be authenticated before receiving a wireless application service. In some cases, the application can perform the authentication. In other cases, wireless access point  104  can perform the authentication for the application. In such cases, wireless access point  104  determines whether authentication is required (step  216 ). If so, wireless access point  104  challenges wireless client  102  (step  218 ). In response to the challenge, wireless client  102  transmits an authentication request to wireless access point  104  (step  220 ). In some embodiments, user interface  130  of wireless device  128  includes a fingerprint reader  134  or other authentication device to authenticate the user, for example before responding to the challenge. 
       FIG. 7  shows the format of an authentication request  700  according to some embodiments of the present invention. Authentication request  700  begins with a six-byte destination address (DA)  702  that includes the address of wireless access point  104 , followed by a six-byte source address (SA)  704  that includes the address of wireless client  102 . Authentication request  700  also includes a two-byte length field  706 , a 3-byte IEEE 802.2 Logical Link Control (LLC) portion including a one-byte field  708  comprising the value 0xAA, another one-byte field  710  comprising the value 0xAA, and a one-byte field  712  comprising the value 0x03, a three-byte WAP OUI  714  representing a manufacturer of wireless access point  104 , a two-byte field  716  comprising a frame type (which can have a value of 0x0002 for an authentication request  700 ), a three-byte Vendor OUI  718  representing a provider of the desired wireless application service, a two-byte vendor port number  720 , a variable-length security certificate  722 , and a two-byte FCS  724 . Other embodiments can include the same and/or different fields of the same or different lengths in the same or different order. 
     Referring again to  FIG. 2 , wireless access point  104  attempts to authenticate wireless client  102  (step  222 ), for example using security certificate  722  of  FIG. 7 . Referring again to  FIG. 2 , wireless access point  104  then sends an authentication response to wireless client  102  (step  224 ). 
       FIG. 8  shows the format of an authentication response  800  according to some embodiments of the present invention. Authentication response  800  begins with a six-byte destination address (DA)  802  that includes the address of wireless client  102 , followed by a six-byte source address (SA)  804  that includes the address of wireless access point  104 . Authentication response  800  also includes a two-byte length field  806 , a 3-byte IEEE 802.2 Logical Link Control (LLC) portion including a one-byte field  808  comprising the value 0xAA, another one-byte field  810  comprising the value 0xAA, and a one-byte field  812  comprising the value 0x03, a three-byte WAP OUI  814  representing a manufacturer of wireless access point  104 , a two-byte field  816  comprising a frame type (which can have a value of 0x8002 for an authentication response  800 ), a three-byte Vendor OUI  818 , a two-byte vendor port number  820 , a variable-length authentication result  822  representing the success or failure of the authentication attempt, and a two-byte FCS  824 . Other embodiments can include the same and/or different fields of the same or different lengths in the same or different order. 
     Referring again to  FIG. 2 , if the authentication was successful (step  224 ), the application(s), now executing on processor  116  of wireless access point  104 , provides the requested wireless application service(s) to wireless client  102  (step  226 ). 
     As an example of the operation of embodiments of the present invention, consider the case where a consumer has purchased a wireless device  128  comprising a wireless client  102 . User interface  130  includes an “easy configuration” button that, when pressed, initiates a configuration process such as process  200  of  FIG. 2 . When contacting application server  108 , wireless access point  104  can register wireless device  128  with its vendor and obtain an application from the vendor to provide wireless application services to wireless device  128 . For example, the wireless services can install firmware, upgrades and the like in wireless device  128 . 
     Referring again to  FIG. 1 , applications providing wireless application services can use memory  118  of wireless access point  104  so that little storage is required in wireless device  128 . In the example where wireless device  128  is a television remote control having a display screen, the application can obtain preview clips of television shows, store the clips in memory  118 , and stream the clips to the remote control when needed. 
       FIGS. 9A-9E  show various exemplary implementations of the present invention. Referring now to  FIG. 9A , the present invention can be implemented in a high definition television (HDTV)  912 . The present invention may implement either or both signal processing and/or control circuits, which are generally identified in  FIG. 9A  at  913 , a WLAN interface and/or mass data storage of the HDTV  912 . The HDTV  912  receives HDTV input signals in either a wired or wireless format and generates HDTV output signals for a display  914 . In some implementations, signal processing circuit and/or control circuit  913  and/or other circuits (not shown) of the HDTV  912  may process data, perform coding and/or encryption, perform calculations, format data and/or perform any other type of HDTV processing that may be required. 
     The HDTV  912  may communicate with mass data storage  915  that stores data in a nonvolatile manner such as optical and/or magnetic storage devices. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The HDTV  912  may be connected to memory  916  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The HDTV  912  also may support connections with a WLAN via a WLAN network interface  917 . 
     Referring now to  FIG. 9B , the present invention implements a control system of a vehicle  918 , a WLAN interface and/or mass data storage of the vehicle control system. In some implementations, the present invention implements a powertrain control system  919  that receives inputs from one or more sensors such as temperature sensors, pressure sensors, rotational sensors, airflow sensors and/or any other suitable sensors and/or that generates one or more output control signals such as engine operating parameters, transmission operating parameters, and/or other control signals. 
     The present invention may also be implemented in other control systems  922  of the vehicle  918 . The control system  922  may likewise receive signals from input sensors  923  and/or output control signals to one or more output devices  924 . In some implementations, the control system  922  may be part of an anti-lock braking system (ABS), a navigation system, a telematics system, a vehicle telematics system, a lane departure system, an adaptive cruise control system, a vehicle entertainment system such as a stereo, DVD drive, compact disc system and the like. Still other implementations are contemplated. 
     The powertrain control system  919  may communicate with mass data storage  925  that stores data in a nonvolatile manner. The mass data storage  925  may include optical and/or magnetic storage devices including HDDs and/or DVD drives. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The powertrain control system  919  may be connected to memory  926  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The powertrain control system  919  also may support connections with a WLAN via a WLAN network interface  927 . The control system  922  may also include mass data storage, memory and/or a WLAN interface (all not shown). 
     Referring now to  FIG. 9C , the present invention can be implemented in a cellular phone  928  that may include a cellular antenna  929 . The present invention may implement either or both signal processing and/or control circuits, which are generally identified in  FIG. 9C  at  930 , a WLAN interface and/or mass data storage of the cellular phone  928 . In some implementations, the cellular phone  928  includes a microphone  931 , an audio output  932  such as a speaker and/or audio output jack, a display  933  and/or an input device  934  such as a keypad, pointing device, voice actuation and/or other input device. The signal processing and/or control circuits  930  and/or other circuits (not shown) in the cellular phone  928  may process data, perform coding and/or encryption, perform calculations, format data and/or perform other cellular phone functions. 
     The cellular phone  928  may communicate with mass data storage  935  that stores data in a nonvolatile manner such as optical and/or magnetic storage devices including HDDs and/or DVD drives. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The cellular phone  928  may be connected to memory  936  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The cellular phone  928  also may support connections with a WLAN via a WLAN network interface  937 . 
     Referring now to  FIG. 9D , the present invention can be implemented in a set top box  938 . The present invention may implement either or both signal processing and/or control circuits, which are generally identified in  FIG. 9D  at  939 , a WLAN interface and/or mass data storage of the set top box  938 . The set top box  938  receives signals from a source such as a broadband source and outputs standard and/or high definition audio/video signals suitable for a display  940  such as a television, a monitor and/or other video and/or audio output devices. The signal processing and/or control circuits  939  and/or other circuits (not shown) of the set top box  938  may process data, perform coding and/or encryption, perform calculations, format data and/or perform any other set top box functions. 
     The set top box  938  may communicate with mass data storage  943  that stores data in a nonvolatile manner. The mass data storage  943  may include optical and/or magnetic storage devices including HDDs and/or DVD drives. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The set top box  938  may be connected to memory  942  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The set top box  938  also may support connections with a WLAN via a WLAN network interface  943 . 
     Referring now to  FIG. 9E , the present invention can be implemented in a media player  944 . The present invention may implement either or both signal processing and/or control circuits, which are generally identified in  FIG. 9E  at  945 , a WLAN interface and/or mass data storage of the media player  944 . In some implementations, the media player  944  includes a display  946  and/or a user input  947  such as a keypad, touchpad and the like. In some implementations, the media player  944  may employ a graphical user interface (GUI) that typically employs menus, drop down menus, icons and/or a point-and-click interface via the display  946  and/or user input  947 . The media player  944  further includes an audio output  948  such as a speaker and/or audio output jack. The signal processing and/or control circuits  945  and/or other circuits (not shown) of the media player  944  may process data, perform coding and/or encryption, perform calculations, format data and/or perform any other media player functions. 
     The media player  944  may communicate with mass data storage  949  that stores data such as compressed audio and/or video content in a nonvolatile manner. In some implementations, the compressed audio files include files that are compliant with MP3 format or other suitable compressed audio and/or video formats. The mass data storage  949  may include optical and/or magnetic storage devices including HDDs and/or DVD drives. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The media player  944  may be connected to memory  950  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The media player  944  also may support connections with a WLAN via a WLAN network interface  951 . Still other implementations in addition to those described above are contemplated. 
     A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other implementations are within the scope of the following claims.