Patent Publication Number: US-8991710-B2

Title: Power negotiation in a communications device

Description:
This application is a National Stage of International Application No. PCT/JP2010/053694 filed Feb. 26, 2010, claiming priority based on British Patent Application No. 09.05798.5, filed Apr. 3, 2009, the contents of which are incorporated herein by reference in their entirety. 
     TECHNICAL FIELD 
     The present invention relates to communications equipment and in particular to mobile equipment (ME) having a Universal Integrated Circuit Card (UICC) therein and the way in which power requirements are negotiated between the ME and the UICC. The invention also relates to the mobile equipment, the UICC and to the methods performed therein. 
     BACKGROUND ART 
     MEs such as mobile telephones include a UICC which, among other things, holds secure data for identifying the user to the core network. The UICC is a smart card that has an inbuilt microprocessor and memory which can run a number of software applications. The UICC is powered by the battery within the ME. The standards setting Organisation ETSI is in the process of finalising Release 7 of its standards documents (including TS 102 221, TS 102 600 and TS 102 223) relating to the interaction between the ME and its UICC. This standards documentation specifies that the ME negotiates the maximum power supply that will be made available to the UICC before any applications are selected/activated when the ME is powered up. 
     This current power negotiation mechanism (over the USB interface) is based on the following request and response:
         a) Request Sent by the ME to the UICC (Get Interface Power Request)       

     
       
         
           
               
               
               
               
               
             
               
                   
               
               
                 Offset 
                 Field 
                 Size 
                 Value 
                 Description 
               
               
                   
               
             
            
               
                 0 
                 bmRequest 
                 1 
                 ‘C0’/ 
                 ‘C0’ for Get Interface Power 
               
               
                   
                   
                   
                 ‘40’ 
                 ‘40’ for Set Interface Power 
               
               
                   
                   
                   
                   
                 Characteristics of request: 
               
               
                   
                   
                   
                   
                 b8: 
               
               
                   
                   
                   
                   
                 1 = Device-to-host/0 = 
               
               
                   
                   
                   
                   
                 Host-to-device 
               
               
                   
                   
                   
                   
                 b7 . . . 6: Type 
               
               
                   
                   
                   
                   
                 2 = Vendor 
               
               
                   
                   
                   
                   
                 b5 . . . 1: Recipient 
               
               
                   
                   
                   
                   
                 0 = Device 
               
               
                 1 
                 bRequest 
                 1 
                 ‘01’/ 
                 Get Interface Power Request 
               
               
                   
                   
                   
                 ‘02’ 
                 Set Interface Power Request 
               
               
                 2 
                 wValue 
                 2 
                 ‘0000’ 
               
               
                 4 
                 wIndex 
                 2 
                 ‘0000’ 
               
               
                 6 
                 wLength 
                 2 
                 ‘0002’ 
                 Number of bytes in the 
               
               
                   
                   
                   
                   
                 data stage 
               
               
                   
               
            
           
         
       
         
         
           
             b) Response Data Sent by the UICC to the ME: 
           
         
       
    
     
       
         
           
               
               
               
               
               
             
               
                   
               
               
                 Offset 
                 Field 
                 Size 
                 Value 
                 Description 
               
               
                   
               
             
            
               
                 0 
                 bVoltageClass 
                 1 
                   
                 Indicates the voltage classes supported by the UICC. 
               
               
                   
                   
                   
                   
                 If a class is supported, the corresponding bit is set to 1. 
               
            
           
           
               
               
               
            
               
                   
                 b1 
                 Class A, reserved for USB 2.0 (optional use, 
               
               
                   
                   
                 not specified by ETSI SCP) 
               
               
                   
                 b2 
                 Class B 
               
               
                   
                 b3 
                 Class C′ 
               
               
                   
                 b7 . . . 4 
                 Reserved for Future Use, shall be set to 0 
               
               
                   
                 b8 
                 Class B activation preferred (see clause 7.1) 
               
            
           
           
               
               
               
               
               
            
               
                 1 
                 bMaxCurrent 
                 1 
                   
                 Maximum current that the UICC requires for best 
               
               
                   
                   
                   
                   
                 performance, expressed in 2 mA units. 
               
               
                   
                   
                   
                   
                 e.g. ‘0A’ indicates 20 mA. 
               
               
                   
               
            
           
         
       
     
     DISCLOSURE OF THE INVENTION 
     The bVoltageClass byte indicates all the voltage classes supported by the UICC and the bMaxCurrent byte specifies the value of the electrical current that would be required by the UICC for “best performance”. However, the inventor has realised that simply specifying bMaxCurrent may not be very helpful for the ME to determine what would be the optimal maximum value of the electrical current to be made available for the UICC because:
         this value (bMaxCurrent) is indicated independently of the voltage class, whereas the UICC power consumption may directly depend on the voltage, i.e. the electrical current required for voltage classes B and C′ is usually not the same;   the support of high density memory (which requires at least 64 mA considering the existing technology) is not clearly indicated; and   the list of processes/features available on the UICC is not indicated to the ME whereas each feature may require a specific value of the electrical current for better performance.       

     An embodiment proposes an alternative approach in which an Extended Get Interface Power Request is created to allow the ME to retrieve exhaustive electrical related data from the UICC for each feature/process supported by the UICC and preferably also or alternatively the existing response to the Get Interface Power Request is updated to add an indication about the support of High Density Memory. 
     According to one aspect, the present invention provides a mobile device comprising: an interface for a smart card; a processor operable to define a maximum power supply value for the smart card and to inform the smart card of the maximum power supply value; and a power circuit operable for providing power to the smart card, up to the defined maximum power supply value; wherein the processor is operable to request electrical related information for processes supported by the smart card and, in response, is operable to receive data identifying the processes and their classes of current, and wherein said processor is operable to define the maximum power supply value for the smart card in dependence upon the data identifying the processes and their classes of current. The processes may be software applications that run on the smart card or specific features of such applications which require a specific minimum electrical current to work. They may also be features of the operating system that is run on the smart card. Examples of features include an ICCD interface that provides support for APDUs for legacy applications over the USB interface; and EEM that offers an interface for the IP stack over the USB interface. 
     In one embodiment, the processor requests the electrical related information by sending an Extended Get Interface Power Request to the smart card and receives data identifying the processes and their classes of current from the smart card. The processor may send the smart card a Get Interface Power Request prior to sending the Extended Get Interface Power Request and generates the Extended Interface Power Request in dependence upon the response received from the smart card to the Get Interface Power Request. The response to the Get Interface Power Request may include data identifying different voltage classes supported by the smart card and the Extended Interface Power Request may request electrical related information for processes of one of the supported voltage classes. If the smart card can run processes belonging to different voltage classes, then the processor can send an Extended Get Interface Power Requests in respect of each of the different voltage classes supported by the smart card. 
     In one embodiment, the processor may receive data from the smart card indicating whether or not the smart card supports high density memory. The processor may then use this information to define the maximum power supply value for the smart card. In such an embodiment, the processor may send a Get Interface Power Request command to the smart card and the data indicating whether or not the smart card supports high density memory may be received from the smart card in response to this request. 
     According to another aspect, the present invention also provides a mobile device comprising: an interface for a smart card; a processor operable to define a maximum power supply value for the smart card and to inform the smart card of the maximum power supply value; and a power circuit operable for providing power to the smart card, up to the defined maximum power supply value; wherein the processor is operable to receive data from the smart card indicating whether or not the smart card supports high density memory and is operable to define the maximum power supply value for the smart card in dependence upon whether or not the smart card supports high density memory. 
     The present invention also provides a smart card operable with a mobile device, the smart card comprising: an interface for interfacing with the mobile device; and a processor operable to receive a maximum power supply value from the mobile device and operable to make processes run on the smart card within the power range supplied by the mobile device; wherein the processor is operable to receive a request for electrical related information for processes supported by the smart card and, in response, is operable to send the mobile device data identifying the processes and their classes of current. 
     The processor may receive the request for electrical related information as an Extended Get Interface Power Request from the mobile device and may send the data identifying the processes and their classes of current in response thereto. Although not essential, the processor may also receive a Get Interface Power Request prior to receiving the Extended Get Interface Power Request. In such an embodiment, the processor generates a response to the Get Interface Power Request that includes data identifying different voltage classes supported by the smart card. If multiple voltage classes are supported, then multiple Extended Interface Power Requests may be received. 
     According to another aspect, the present invention provides a smart card operable with a mobile device, the smart card comprising: an interface for interfacing with the mobile device; and a processor operable to receive a maximum power supply value from the mobile device and operable to make processes run on the smart card within the power range supplied by the mobile device; wherein the processor is operable to send the mobile device data indicating whether or not the smart card supports high density memory for use by the mobile device in determining the maximum power supply value for the smart card. 
     The present invention also provides corresponding methods and computer implementable instructions. The instructions may be provided on a recording medium such as a CD-ROM or the like. 
     These and other aspects of the invention will become apparent from the following detailed description of exemplary embodiments described with reference to the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram illustrating the main components of a ME and a UICC; and 
         FIG. 2  is a communications timing diagram illustrating communications between the ME and the UICC just after the ME is powered up. 
     
    
    
     EXEMPLARY EMBODIMENTS 
     Overview 
     As will be explained in more detail below, the main idea of this embodiment is to define a new method allowing the ME to retrieve all the detailed electrical characteristics of processes/features that are available in the UICC before the ME sets the maximum value of the electrical current made available to the UICC over the USB interface. 
       FIG. 1  is a block diagram showing the main components of the ME  3  and the UICC  5  used in this embodiment. As shown, the ME includes a transceiver circuit  23  which is operable to transmit signals to and to receive signals from a remote base station via one or more antennae  25 . As shown, the transceiver circuit  23  is connected to a loudspeaker  27  and a microphone  29  in the normal way to allow the user to make and receive calls. The ME also includes a processor  31  for controlling the operation of the ME and for controlling the user interaction with the ME via display  33  and a keypad  35 . The processor  31  operates in accordance with software instructions stored within memory  37 . As shown, these software instructions include, among other things, an operating system  39 , a UICC module  41 , a Power Allocation Policy Manager (PAPM) module  42  and a number of application modules  43 . In this embodiment, the UICC module  41  is for controlling the interaction between the ME  3  and the UICC  5 . Although the UICC module  41  and the PAPM module  42  are shown as separate software modules in the ME  3 , in other embodiments, they may be provided as part of a single software module or part of the operating system  39 . The ME  3  also includes a UICC interface  45  (in this case a USB interface) which provides the physical interface to the UICC  5 ; a current regulator  47  which provides a regulated power supply to the UICC  5  through the UICC interface  45 ; and a battery interface  49  which connects the ME  3  to its battery (not shown). As will be described in more detail below, the PAPM module  42  controls the current regulator  47  to define the maximum power to be made available to the UICC  5 . When determining this maximum power value, the PAPM module  42  will consider, among other things, the remaining charge in the connected battery. The Battery interface  49  is therefore connected to the processor  31  to allow the PAPM module  42  make this determination. 
     As shown in  FIG. 1 , the UICC  5  includes a ME interface  51  for providing the physical interface to the ME  3 . The UICC  5  also includes a processor  53  which operates in accordance with software instructions stored in memory  55 . As shown, these software instructions include an operating system  56  and a number of software applications  59 . 
     Operation 
     The operation of the ME  3  and the UICC  5  will now be described with reference to  FIG. 2 . 
     As shown in  FIG. 2 , in step s 1 , the ME  3  starts the power up sequence over the UICC interface  45 . In step s 3 , the UICC module  41  generates and sends the Get Interface Power Request command to the UICC  5 . The operating system  56  receives this command and in response generates and returns, in step s 5 , Response data that identifies, among other things, the supported voltage classes, whether or not it supports high density memory and the required electrical current for best performance. As indicated in step s 7 , at this point the ME  3  may directly send the Set Interface Power Request to fix the value of the current that is made available to the UICC  5 . It may do this, for example, in dependence upon whether or not the UICC  5  supports high density memory or if the ME  3  can not presently provide more than some nominal of current, say 10 mA. In this illustration, however, the UICC module  41  generates and sends, in step s 11 , a new command “Extended Get Interface Power Request” requesting additional information of the processes available to the UICC  5  belonging to voltage class C′. The operating system  56  receives and processes this command and returns, in step s 13 , Response data providing an exhaustive list of processes it has available under voltage class C′ together with their respective classes of current. The UICC module  41  receives and stores this information in step s 15  and then, through steps s 17 , s 19  and s 21 , will obtain the same information in respect of processes available to the UICC  5  under voltage class B. The PAPM module  42  then uses this information, in step s 23 , to determine and set the best/most optimal value of the electrical current to be made available to the UICC  5 . The UICC module  41  then informs the UICC  5  of this set current value by sending the UICC  5 , in step s 25 , the Set Interface Power Request command specifying the maximum current in milliamps. The UICC  5  thus knows the maximum current that will be available to it from the ME  3 . 
     Command Implementation 
     As discussed above, this embodiment allows the ME  3  to retrieve exhaustive electrical information (voltage and required current) for all available services in the UICC  5  and this is achieved in two stages:
         firstly, the existing response data for the existing Get Interface Power Request is updated to introduce an indication about the support of high density memory (the existing Get Interface Power Request could be updated as long as it remains backward compatible).   secondly, a new interface (command and response) is created to allow the ME  3  to retrieve all electrical related details for each feature supported by the UICC  5 .
 
a) Updating the Existing Response Data for the Existing Get Interface Power Request:
       

     
       
         
           
               
               
               
               
               
             
               
                   
               
               
                 Offset 
                 Field 
                 Size 
                 Value 
                 Description 
               
               
                   
               
             
            
               
                 0 
                 bVoltageClass 
                 1 
                   
                 Indicates the voltage classes supported by the UICC. 
               
               
                   
                   
                   
                   
                 If a class is supported, the corresponding bit is set to 1. 
               
            
           
           
               
               
               
            
               
                   
                 b1 
                 Class A, reserved for USB 2.0 (optional use, not 
               
               
                   
                   
                 specified by ETSI SCP) 
               
               
                   
                 b2 
                 Class B 
               
               
                   
                 b3 
                 Class C′ 
               
               
                   
                 b6 . . . 4 
                 Reserved for Future Use, shall be set to 0 
               
               
                   
                 b7 
                 High Density Memory 
               
               
                   
                 b8 
                 Class B activation preferred (see clause 7.1) 
               
            
           
           
               
               
               
               
               
            
               
                 1 
                 bMaxCurrent 
                 1 
                   
                 Maximum current that the UICC requires for best 
               
               
                   
                   
                   
                   
                 performance, expressed in 2 mA units. 
               
               
                   
                   
                   
                   
                 e.g. ‘0A’ indicates 20 mA. 
               
               
                   
               
            
           
         
       
     
     In this embodiment, bit  7  (currently unused) is used to indicate whether or not High Density Memory is supported. If the &lt;&lt;High Density Memory&gt;&gt; bit is set to 1, this indicates that the UICC  5  can offer this High Density Memory feature provided that the ME  3  can supply the required electrical current. At the current time, the existing flash memory technology would request at least 64 mA under both voltage classes B and C′ to work (the High Density Memory is made up of flash memory). This value is also mentioned in the current ETSI TS 102 600 document as a recommended value (“Terminals ( . . . ) should provide a current of at least 64 mA . . . ”). However, this 64 mA may change in the future depending on the evolution of flash memory technology. In order to take into account this evolution and also to allow the ME  3  to retrieve more detailed electrical information about the processes supported by the UICC  5 , the following new interface (as described in paragraph b) below) is provided in this embodiment. 
     b) Extended Get Interface Power Request and Response Data 
     
       
         
           
               
               
               
               
               
             
               
                   
               
               
                 Offset 
                 Field 
                 Size 
                 Value 
                 Description 
               
               
                   
               
             
            
               
                 0 
                 bmRequest 
                 1 
                 ‘C0’ 
                 ‘C0’ for Get Interface Power 
               
               
                 1 
                 bRequest 
                 1 
                 ‘01’ 
                 Get Interface Power Request 
               
               
                 2 
                 wValue 
                 2 
                 ‘000B’/ 
                 Retrieve Class B processes 
               
               
                   
                   
                   
                 ‘000C’/ 
                 Retrieve class C′ processes 
               
               
                   
                   
                   
                 ‘00FF’ 
                 Retrieve processes under the 
               
               
                   
                   
                   
                   
                 current voltage class 
               
               
                   
                   
                   
                   
                 Other values Reserved for 
               
               
                   
                   
                   
                   
                 Future Use 
               
               
                 4 
                 wIndex 
                 2 
                 ‘0000’ 
               
               
                 6 
                 wLength 
                 2 
                 ‘0003’ 
                 Number of bytes in the data 
               
               
                   
                   
                   
                   
                 stage 
               
               
                   
               
            
           
         
       
     
     Extended Get Interface Power request 
     In this embodiment, the wValue parameter is used to notify the UICC  5  to return the available processes with their respective required electrical current values under the voltage class indicated in the wValue parameter. In this embodiment, the expected response data will be contained in 3 bytes. 
     In one embodiment, the response data for this Extended Get Interface Power request may be defined as follows: 
                                             Offset   Field   Size   Value   Description                  0   bFeaturesList   1       Bit field used to indicate the functionalities supported                       by the UICC when powered under the indicated                       voltage class                       b1: USB ICCD device class                       b2: USB CDC EEM device class                       b3: USB Mass Storage device class                       b4: High density memory                       b5 . . . 8: Reserved for Future Use, shall be set to 0       1   bMinCurrent   2       Bit field indicating the class of current that the UICC                       requires under the indicated voltage class to make the                       processes indicated in bFeaturesList available:                       b2 to b1: class of current for service b1 in                       bFeaturesList                       b4 to b3: class of current for service b2 in                       bFeaturesList                       b6 to b5: class of current for service b3 in                       bFeaturesList                       b16 to b7: Reserved for Future Use, shall be set to 0                    
Coding of bFeaturesList
     a bit set to 1 indicates that the corresponding feature is supported/available
 
Coding of the classes of current indicated in bMinCurrent:
   b n b n-1 :   00 (Class 0)=10 mA   01 (Class 1)=20 mA   10 (Class 2)=64 mA   11 (Class 3)=Reserved For future Use
 
These values are the minimum required values for each class. By using one particular byte in the Extended Get Interface Power request and the proposed coding of the associated response data on only three bytes, this embodiment can address the existing limitations described above with minimal impact.
 
Modifications and Alternatives
   

     A detailed embodiment has been described above. As those skilled in the art will appreciate, a number of modifications and alternatives can be made to the above embodiment whilst still benefiting from the inventions embodied therein. 
     In the above embodiment, a mobile telephone based telecommunications system was described. As those skilled in the art will appreciate, the techniques described in the present application can be employed in other communications system. Other communications nodes or devices may include user devices such as, for example, personal digital assistants, portable telephones, laptop computers etc. 
     In the above embodiments, a number of software modules were described. As those skilled will appreciate, the software modules may be provided in compiled or un-compiled form and may be supplied to the UICC or to the ME as a signal over a computer network, or on a recording medium. Further, the functionality performed by part or all of this software may be performed using one or more dedicated hardware circuits. However, the use of software is preferred as it facilitates the updating of the UICC  5  and of the MEs  3  in order to update their functionalities. 
     In the above embodiment, the UICC interfaced with the ME via respective interfaces on each device. As those skilled in the art will appreciate, these interfaces may be physical (contact) type interfaces or they may by wireless (non-contact) type interfaces. 
     In the above embodiment, a current regulator was provided to control the maximum power supply value provided to the UICC. As those skilled in the art will appreciate, other control circuits can be used to achieve the same result. For example, where the interface is a non-contact interface, the power control circuit may limit the magnitude of a magnetic or electric field generated to power the UICC. 
     In the embodiment described above, the smart card&#39;s operating system generated and responded to the Get Interface Power Requests received from the ME. As those skilled in the art will appreciate, this functionality may be performed by some other dedicated software module or hardware circuit instead of the operating system. 
     In the above embodiment, the response to the existing Get Interface Power Request was modified to include data indicating if the smart card supports mass storage. As those skilled in the art will appreciate, it is not essential to modify this existing command in this way. Instead, this information may be included in the response to the Extended Get Interface Power Request. 
     Various other modifications will be apparent to those skilled in the art and will not be described in further detail here. 
     This application is based upon and claims the benefit of priority from British patent application No. 0905798.5, filed on Apr. 3, 2009, the disclosure of which is incorporated herein in its entirety by reference.