Patent Publication Number: US-9432837-B2

Title: Method of accessing contact features in smartcards

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention is related to a method of accessing contact features in smartcards, and more particularly, to a method of accessing elementary files associated with contact features in smartcards. 
     2. Description of the Prior Art 
     Subscriber identity module (SIM) card is a smartcard that securely stores the international mobile subscriber identity (IMSI) used to identify and authenticate subscribers, short message service (SMS) data and contact information on mobile telephony devices. The hardware structure of a SIM card includes a central process unit (CPU), read-only memory (ROM), random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), and an input/output (I/O) circuit. The hierarchical logic data structure of a SIM card includes 3 types of files: elementary file (EF), dedicated file (DF) and master file (MF). 
     An elementary file, including a header and a body part, may adopt 3 main types of data structures for storing different types of data: transparent, linear fixed and cyclic. A transparent elementary file defines the data that is managed as a stream of bytes addressed by an offset coming from the start of the file. A linear fixed elementary file or a cyclic elementary file is the data grouped into records, which is a block of bytes with a pre-defined size. Meanwhile, the header of an elementary file marks the overall length and the number of records. 
     According to the 3rd Generation Partnership Project (3GPP) specification TS 31.102, various types of contact features, such as contact name, primary phone number, secondary phone number, email or contact group, may be stored in a SIM card using different elementary files. In the prior art, a user equipment is configured to access the phone book reference file elementary file EF PBR  of its SIM card during the booting procedure, thereby acquiring all contact features supported by the SIM card and accessing the header and body part of all relevant elementary files. However, not all contacts are stored with all types of contact features. Assuming that the SIM card can support 4 types of contact features (contact name, primary phone number, secondary phone number and email) but only the primary phone number is stored for a specific contact, the prior art method still accesses the header and body part of all relevant elementary files associated with contact name, primary phone number, secondary phone number and email. Therefore, the prior art method may lower the booting efficiency. 
     SUMMARY OF THE INVENTION 
     The present invention provides a method of accessing contact features in a smartcard. The method includes inserting the smartcard in a user equipment; accessing a body part of a master elementary file stored in the smartcard during a booting procedure of the user equipment; accessing a header of a Type 1 elementary file stored in the smartcard; and accessing a first record in a body part of the Type 1 elementary file only when a relevant specific record in the body part of the master elementary file corresponds to valid data. 
     These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS. 1A and 1B  depicts a flowchart illustrating a method of accessing contact features in smartcards according to an embodiment of the present invention. 
         FIG. 2  is a diagram illustrating the phone book reference file elementary file EF PBR  defined in the 3GPP specification. 
         FIG. 3  is a diagram illustrating the abbreviated dialing numbers elementary file EF ADN  defined in the 3GPP specification. 
         FIG. 4  is a diagram illustrating the index administration phone book elementary file EF IAP  defined in the 3GPP specification. 
         FIG. 5  is a diagram illustrating a method of accessing the body part of various types of elementary files according to an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     The present invention provides a method of accessing contact features in smartcards. The present method may be applied to electronic devices including, but not limited to, mobile telephones, personal digital assistants, handheld computers, tablet computers, nettop computers, or laptop computers, or other devices with similar telecommunication capabilities. However, the type of user equipment does not limit the scope of the present invention. 
     The present method may be applied to user equipment inserted with various types of smartcards including, but not limited to, a SIM card for global system for mobile communications (GSM) system, a USIM card for universal mobile telecommunications system (UMTS), or a removable user identity module (R-UIM) card/code division multiple access (CDMA) user identity module (CSIM) card for CDMA systems. However, the type of the smartcard does not limit the scope of the present invention. 
     The present method may be applied to user equipment inserted with a smartcard of various sizes including, but not limited to, a standard Mini SIM card, a Micro SIM card or a Nano SIM card. However, the size of the smartcard does not limit the scope of the present invention. 
       FIGS. 1A and 1B  depict a flowchart illustrating a method of accessing contact features in smartcards according to an embodiment of the present invention. The flowchart in  FIGS. 1A and 1B  includes the following steps: 
     Step  110 : access the phone book reference file elementary file EF PBR  of a smartcard inserted in a user equipment during a booting procedure for acquiring all compatible contact features which are supported by the smartcard; execute step  120 . 
     Step  120 : access the header of the elementary files associated with the compatible contact features; execute step  130 . 
     Step  130 : access each record in the body part of the abbreviated dialing numbers elementary file EF ADN  in the smartcard; execute step  140 . 
     Step  140 : record an i th  record in the body part of the abbreviated dialing numbers elementary file EF ADN  which corresponds to valid data in a first lookup table; execute step  150 . 
     Step  150 : selectively access the body part of all Type 1 elementary files associated with the compatible contact features according to the first lookup table; execute step  160 . 
     Step  160 : determine whether the accessed Type 1 elementary files include the index administration phone book elementary file EF IAP : if yes, execute step  170 ; if no, execute step  190 . 
     Step  170 : record an i th  record of the index administration phone book elementary file EF IAP  which has been selectively accessed according to the first lookup table and corresponds to a valid pointer in a second lookup table; execute step  180 . 
     Step  180 : selectively access the body part of a relevant Type 2 elementary file according to the second lookup table; execute step  190 . 
     Step  190 : determine whether a specific Type 1 elementary file whose body part has been accessed according to the first lookup needs to be mapped to a relevant Type 3 elementary file: if yes, execute step  200 ; if no, execute step  220 . 
     Step  200 : record an i th  record of the specific Type 1 elementary file which corresponds to valid data and is mapped to the relevant Type 3 elementary file in a third lookup table; execute step  210 . 
     Step  210 : access the body part of the relevant Type 3 elementary file according to the third lookup table; execute step  220 . 
     Step  220 : end. 
       FIG. 2  is a diagram illustrating the phone book reference file elementary file EF PBR  defined in the 3GPP specification TS31.102. As depicted in field  11 , bytes  1  to X (X is an integer larger than 1) are used to store the tab length value (TLV) objects for indicating elementary files which are part of the phone book structure. Other fields of the phone book reference file elementary file EF PBR  are defined in detail in the 3GPP specification TS 31.102. 
     In step  110 , the user equipment may access the phone book reference file elementary file EF PBR  of its smartcard during the booting procedure and acquire all compatible contact features based on the TLV objects represented by bytes  1  to X of the phone book reference file elementary file EF PBR . In the embodiment of the present invention, the abbreviated name and type of contact features are listed in the following table. 
     
       
         
           
               
               
               
             
               
                   
                 TABLE 
               
             
            
               
                   
                   
               
               
                   
                   
                 Type 
               
            
           
           
               
               
               
               
               
            
               
                   
                 Name 
                 Type 1 
                 Type 2 
                 Type 3 
               
               
                   
                   
               
               
                   
                 EF AAS   
                   
                   
                 X 
               
               
                   
                 EF ADN   
                 X 
                   
                   
               
               
                   
                 EF ANR   
                 X  
                 X 
                   
               
               
                   
                 EF EMAIL   
                 X  
                 X 
                   
               
               
                   
                 EF EXT1   
                   
                   
                 X 
               
               
                   
                 EF GAS   
                   
                   
                 X 
               
               
                   
                 EF GRP   
                 X 
                   
                   
               
               
                   
                 EF IAP   
                 X 
                   
                   
               
               
                   
                 EF PBC   
                 X 
                   
                   
               
               
                   
                 EF SNE   
                 X  
                 X 
                   
               
               
                   
                 EF UID   
                 X 
                   
                   
               
               
                   
                 EF CCP1   
                   
                   
                 X 
               
               
                   
                   
               
            
           
         
       
     
     EF AAS  represents an additional number Alpha string elementary file (Type 3) for storing the alpha strings associated with the user-defined naming tags for additional numbers referenced in EF ANR . EF ADN  represents an abbreviated dialing numbers elementary file (Type 1) whose structure will be explained in detail in subsequent paragraphs. EF ANR  represents an additional number elementary file (Type 1 or Type 2) for storing several phone numbers and/or supplementary service control strings (SSC). EF EMAIL  represents an electronic mail elementary file (Type 1 or Type 2) for storing an e-mail address of a contact. EF EXT1  represents an extension 1  elementary file (Type 3) for storing extension data which is greater than the 20 digit capacity of EF ADN . EF GAS  represents a grouping information Alpha string elementary file (Type 3) for storing the alpha strings associated with the group name referenced in EF GRP . EF GRP  represents a grouping file elementary file (Type 1) for storing the grouping information for each phone book entry in EF ADN . EF IAP  represents an index administration phone book elementary file (Type 1) for storing the pointers which are used to link to other Type 2 elementary files. EF PBC  represents a phone book control elementary file (Type 1) for storing control information related to each entry in EF ADN . EF SNE  represents a second name entry elementary file (Type 1 or Type 2). EF UID  represents a unique identifier elementary file (Type 1). EF CCP1  represents a capability configuration parameters 1 elementary file (Type 3). 
     In the phone book reference file elementary file EF PBR , the first file ID in the first record indicated using constructed Tag ‘A8’ is called a master EF. Subsequent file IDs indicated using constructed Tag ‘A8’ correspond to a Type 1 EF. File IDs indicated using constructed Tag ‘A9’ correspond to a Type 2 EF. File IDs indicated using constructed Tag ‘AA’ correspond to a Type 3 EF. According to the 3GPP specification TS31.102, the abbreviated dialing numbers elementary file EF ADN  is a master EF. A Type 1 EF and a master EF contain the same number of records, and each record in the Type 1 EF is mapped to a corresponding record in the master EF on a one-to-one basis. A Type 2 EF contains fewer records than a master EF, and each record in the Type 2 EF is mapped to a corresponding record in the master 1 EF by a pointer indicated in the Type 1 index administration phone book elementary file EF IAP . Each record in a Type 3 EF is mapped to a corresponding record in the master EF by a record identifier with a record of the phone book reference file elementary file EF PBR . 
     In step  120 , the user equipment may access the header of the elementary files associated with the compatible contact features, thereby determining the number and the length of data which can be written into each elementary file. 
     In step  130 , the user equipment may access each record in the body part of the abbreviated dialing numbers elementary file EF ADN  in the smartcard.  FIG. 3  is a diagram illustrating the abbreviated dialing numbers elementary file EF ADN  defined in the 3GPP specification TS 31.102. As depicted in field  12 , bytes  1  to X (X is an integer larger than 1) are used to store the Alpha-tagging of the associated first to the X th  dialing numbers. As depicted in field  13 , bytes X+3 to X+12 are used to store up to 20 digits of the telephone number and/or SSC information. As depicted in field  14 , byte X+13 is used to store capability/configuration identification byte which identifies the number of a record in the EF CCP1  containing associated capability/configuration parameters required for the call. As depicted in field  15 , byte X+14 is used to store extension 1  record identification byte which identifies the number of a record in the EF EXT1  containing an associated called party sub-address or additional data. Other fields of the abbreviated dialing numbers elementary file EF ADN  are defined in detail in the 3GPP specification TS 31.102. 
     As previously stated, each record in the master abbreviated dialing numbers elementary file EF ADN  is mapped to a corresponding record in another Type 1 EF on a one-to-one basis. When the i th  record in the body part of the abbreviated dialing numbers elementary file EF ADN  corresponds to valid data (any value other than “FF”), the corresponding i th  record in the body part of the another Type 1 EF also corresponds to valid data. Therefore, the user equipment may record the i th  record in the body part of the abbreviated dialing numbers elementary file EF ADN  which corresponds to valid data in the first lookup table in step  140 . 
     In step  150 , the user equipment may selectively access the body part of all Type 1 elementary files associated with the compatible contact features according to the first lookup table. More specifically, the above-mentioned selective access is based on whether corresponding entries exist in the first lookup table. For example, in the body part of the abbreviated dialing numbers elementary file EF ADN , if the i th  record of corresponds to valid data but the (i+1) th  record corresponds to invalid data, only an i th  entry (containing the i th  record in the body part of the abbreviated dialing numbers elementary file EF ADN  recorded in step  140 ) exits in the first lookup table, while an (i+1) th  entry of the first lookup table is empty. Therefore, the user equipment may access the i th  record in the body part of all Type 1 elementary files associated with the compatible contact features, but does not access the (i+1) th  record in the body part of all Type 1 elementary files associated with the compatible contact features. 
       FIG. 4  is a diagram illustrating the index administration phone book elementary file EF IAP  defined in the 3GPP specification TS31.102. As depicted in field  16 , bytes  1  to X (X is an integer larger than 1) represent record numbers of the first to X th  objects indicated after Tag ‘A9’. Other fields of the index administration phone book elementary file EF IAP  are defined in detail in the 3GPP specification TS 31.102. 
     If the index administration phone book elementary file EF IAP  is indicated as a compatible contact feature based on the phone book reference file elementary file EF PBR  accessed in step  110 , step  150  is then executed for selectively accessing the body part of the index administration phone book elementary file EF IAP . It may then be determined in step  160  that the accessed Type 1 elementary files include the index administration phone book elementary file EF IAP . According to the 3GPP specification TS31.102, the i th  record in the body part of the index administration phone book elementary file EF IAP  with any value other than “FF” corresponds to a valid pointer, which means a corresponding Type 2 elementary file needs to be mapped to the i th  record in the abbreviated dialing numbers elementary file EF ADN ; the i th  record in the body part of the index administration phone book elementary file EF IAP  with a value of “FF” corresponds to an invalid pointer, which means no Type 2 elementary file needs to be mapped to the i th  record in the abbreviated dialing numbers elementary file EF ADN . Therefore, the user equipment may record each record of the index administration phone book elementary file EF IAP  which corresponds to a valid pointer in the second lookup table in step  170 , and then selectively access the body part of a relevant Type 2 elementary file according to the second lookup table in step  180 . 
     After selectively accessing the body part of a specific Type 1 elementary file according to the first lookup table, it may be determined in step  190  whether the specific Type 1 elementary file needs to be mapped to a relevant Type 3 elementary file. 
     In an embodiment, the specific Type 1 elementary file may be the Type 1 abbreviated dialing numbers elementary file EF ADN . When the i th  record in the body part of the abbreviated dialing numbers elementary file EF ADN  corresponds to valid data, it may be determined whether the i th  record in the body part of the abbreviated dialing numbers elementary file EF ADN  needs to be mapped to a relevant specific Type 3 elementary file according to specific bytes of the valid data. More specifically, in the i th  record of the abbreviated dialing numbers elementary file EF ADN  which corresponds to valid data, when byte X+13 (capability/configuration 1 identification byte) corresponds to valid data, the i th  record of the abbreviated dialing numbers elementary file EF ADN  needs to be mapped to a specific record in the Type 3 capability configuration parameters  1  elementary file EF CCP1 ; when byte X+14 (extension 1  record identification byte) corresponds to valid data, the i th  record of the abbreviated dialing numbers elementary file EF ADN  needs to be mapped to a specific record in the Type 3 extension 1  elementary file EF EXT1 . Therefore, the user equipment may record each record of the Type 1 abbreviated dialing numbers elementary file EF ADN  which needs to be mapped to the specific Type 3 elementary file in the third lookup table record in step  200 , and then selectively access the body part of the extension 1  elementary file EF EXT1  and/or the capability configuration parameters 1 elementary file EF CCP1  according to the third lookup table in step  210 . 
     In another embodiment, the specific Type 1 elementary file may be the Type 1 additional number elementary file EF ANR  which may be required to be mapped to the Type 3 additional number Alpha string elementary file EF AAS . Therefore, the user equipment may record each record of the Type 1 additional number elementary file EF ANR  which needs to be mapped to the Type 3 additional number Alpha string elementary file EF AAS  in the third lookup table record in step  200 , and then selectively access the body part of the Type 3 additional number Alpha string elementary file EF AAs  according to the third lookup table in step  210 . 
     In yet another embodiment, the specific Type 1 elementary file may be the Type 1 grouping file elementary file EF GRP  which may be required to be mapped to the Type 3 grouping information Alpha string elementary file EF GAS . Therefore, the user equipment may record each record of the Type 1 grouping file elementary file EF GRP  which needs to be mapped to the Type 3 grouping information Alpha string elementary file EF GAS  in the third lookup table record in step  200 , and then selectively access the body part of the Type 3 grouping information Alpha string elementary file EF GAS  according to the third lookup table in step  210 . 
     According to the first lookup table, the user equipment is configured to access an i th  record in the body part of a Type 1 elementary file only when a corresponding i th  record in the body part of the abbreviated dialing numbers elementary file EF ADN  corresponds to valid data. If the i th  record in the body part of the abbreviated dialing numbers elementary file EF ADN  does not correspond to valid data, the user equipment does not access the i th  record in the body part of a Type 1 elementary file. 
     According to the second lookup table, the user equipment is configured to access an i th  record in the body part of a Type 2 elementary file only when a corresponding i th  record in the body part of the index administration phone book elementary file EF IAP  corresponds to a valid pointer. If the i th  record in the body part of the index administration phone book elementary file EF IAP  does not correspond to a valid pointer, the user equipment does not access the i th  record in the body part of a Type 2 elementary file. 
     According to the third lookup table, the user equipment is configured to access an i th  record in the body part of a Type 3 elementary file only when a corresponding i th  record in the body part of a specific Type 1 elementary file corresponds to valid data and includes specific bytes indicative of a valid link. If the i th  record in the body part of the specific Type 1 elementary file corresponds to valid data but does not include specific bytes indicative of a valid link, the user equipment does not access the i th  record in the body part of a Type 3 elementary file. 
       FIG. 5  is a diagram illustrating a method of accessing the body part of various types of elementary files according to an embodiment of the present invention. For illustrative purpose, it is assumed that the compatible contact features of the smartcard acquired in step  100  at least includes contact number, contact email and contact group. In other words, the relevant elementary files includes the Type 1 abbreviated dialing numbers elementary file EF ADN , the Type 2 index administration phone book elementary file EF IAP , the Type 2 electronic mail elementary file EF EMAIL , and the Type 3 extension 1  elementary file EF EXT1 . In step  120 , it is assumed that the body part in each of the above-mentioned elementary files includes 5 records. The method of accessing the body part of various types of elementary files according to steps  130 ,  180  and  210  is depicted on the top of  FIG. 5 . The lookup tables recorded according to steps  140 ,  170  and  200  are depicted on the bottom of  FIG. 5 . 
     According to the first lookup table depicted in  FIG. 5 , the 1 st  to 4 th  records of the master abbreviated dialing numbers elementary file EF ADN  correspond to valid data (marked by star sign “*”) and the 5 th  record of the master abbreviated dialing numbers elementary file EF ADN  corresponds to invalid data. Therefore, the present invention only accesses the 1 st  to 4 th  records in the body part of the Type 1 index administration phone book elementary file EF IAP  (marked by circle “◯”), but does not accesses the 5 th  record in the body part of the Type 1 index administration phone book elementary file EF IAP . 
     According to the second lookup table depicted in  FIG. 5 , the 1 st , 3 rd  and 4 th  records of the Type 1 index administration phone book elementary file EF IAP  correspond to valid pointers (marked by star sign “*”) and the 2 nd  record of the Type 1 index administration phone book elementary file EF IAP  corresponds to an invalid pointer. Therefore, the present invention only accesses the 1 st , 3 rd  and 4 th  records in the body part of the Type 2 electronic mail elementary file EF EMAIL  (marked by circle “◯”), but does not accesses the 2 nd  and 5 th  records in the body part of the Type 2 electronic mail elementary file EF EMAIL . 
     According to the third lookup table depicted in  FIG. 5 , the records of the master abbreviated dialing numbers elementary file EF ADN  which correspond to valid data only need to be mapped to the 2 nd  record of the Type 3 extension 1  elementary file EF EXT1  (marked by star sign “*”). Therefore, the present invention only accesses the 2 nd  record in the body part of the Type 3 extension 1  elementary file EF EXT1  (marked by circle “◯”), but does not accesses the 1 st , 3 rd , 4 th  and 5 th  records in the body part of the Type 3 extension 1  elementary file EF EXT1 . 
     Under the same circumstance, the prior art method would access all of the 20 records in the body parts of elementary files EF ADN , EF IAP , EF EMAIL  and EF EXT1  during the booting procedure. In comparison, the present method only needs to access the 13 records in the body parts of elementary files EF ADN , EF IAP , EF EMAIL  and EF EXT1  which are actually in use, thereby improving the efficiency of the booting procedure. 
     In conclusion, the present method selectively access the body part of various types of elementary files according to the validity and link of each record in the master abbreviated dialing numbers elementary file EF ADN . Therefore, the efficiency of the booting procedure can be improved by avoiding unnecessarily accessing the body part of unused data in other types of elementary files 
     Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.