WO2006021841A2 - Efficient synchronisation of smart card data with data stored on an external server - Google Patents

Efficient synchronisation of smart card data with data stored on an external server Download PDF

Info

Publication number
WO2006021841A2
WO2006021841A2 PCT/IB2005/002128 IB2005002128W WO2006021841A2 WO 2006021841 A2 WO2006021841 A2 WO 2006021841A2 IB 2005002128 W IB2005002128 W IB 2005002128W WO 2006021841 A2 WO2006021841 A2 WO 2006021841A2
Authority
WO
WIPO (PCT)
Prior art keywords
smart card
index
entries
field
flag
Prior art date
Application number
PCT/IB2005/002128
Other languages
French (fr)
Other versions
WO2006021841A3 (en
Inventor
Feng Li
Ruifeng Li
Hong Luo
Peter Pan
Jing Ouyang
Chang Zhao
Original Assignee
Axalto Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Axalto Sa filed Critical Axalto Sa
Publication of WO2006021841A2 publication Critical patent/WO2006021841A2/en
Publication of WO2006021841A3 publication Critical patent/WO2006021841A3/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/2753Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content
    • H04M1/2757Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content by data transmission, e.g. downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/27453Directories allowing storage of additional subscriber data, e.g. metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/14Details of telephonic subscriber devices including a card reading device

Definitions

  • the present invention generally relates to the data transfer between a smart card (inte- grated circuit card) and an device external to the smart card, and more specifically to mechanisms that allow efficient data synchronisation between a smart card and an ex ⁇ ternal device like a data server which duplicates the data on the smart card, for example for backing up the data stored on the smart card.
  • a smart card inte- grated circuit card
  • an ex ⁇ ternal device like a data server which duplicates the data on the smart card, for example for backing up the data stored on the smart card.
  • Data stored on a smart card may be copied to an external device in order to prevent data losses in case the card gets lost. Another reason for copying data to the external device is that storage space on the smart card is limited.
  • the invention provides a mechanism for efficiently updating the backup data, for example when data entries on the smart card were added, modified or deleted.
  • the data stored on the external device may be changed. This might be done because it is easier to add, modify or delete data on the external device using a proper keyboard than on the smart card, where for example the keyboard of a mobile telephone has to be used.
  • the invention provides a method for effi ⁇ ciently updating the data stored on smart card.
  • phonebook data be- tween a (U)SIM card and a data server.
  • Phonebook data consists of name cards com ⁇ prising information like name, telephone/fax numbers, email, and additional informa ⁇ tion.
  • the invention is applicable to any case where data is stored on a smart card in the form of one or several entries (data sets), regardless of the content and the format of the entries.
  • a preferred embodiment of the invention is a method of sending data which is stored on a smart card to a device external to the smart card, the data being stored on the smart card in a field of entries, the field of entries on the smart card being indexed and a flag being associated with each field index, the flag indicating whether the entry belonging to the index has changed or not, the method comprising the steps of: sending to the ex ⁇ ternal device only those entries, together with their index value, where the flag associ ⁇ ated with the index indicates a change; and clearing the flags associated with the indices whose entries were sent to the smart card.
  • This has the advantage that only those entries which have been changed have to be transmitted to the external device. The entries that have been changed are automatically recognised.
  • the sending flag is associ ⁇ ated with each field index, and before sending the changed entries to the external de- vice, for each changed entry to be sent the sending flag is set to indicate that the entry is to be sent; after sending of the changed entries the smart card receives a confirmation message from the external device, indicating the indices of the entries that have been received correctly; the sending flag associated with the indicated indices are cleared; the step of sending the changed entries is repeated for the indices where the associated sending flag has not been cleared.
  • the confirmation message comprises an array of Boolean values where each index of the array corresponds to an index of the field of entries and each Boolean value indicates whether the field entry belonging to the corresponding index has been correctly received or not.
  • the confirmation message comprises information indicating the first index in the array which indicates that a field entry belonging to the corresponding index has been correctly received.
  • processing of the array can be abbreviated on the smart card, because it may assume that all values in the array before the indicated index indicate that no entry corresponding to their indices has been received correctly. 1 or 2 bytes in the confirma- tion message will generally be sufficient to indicate this first index in the array.
  • the flag associated with a field index and indicating whether the entry belonging to the index has changed or not furthermore indicates if a change is due to an addition, to a deletion or to a modification of the entry belonging to the index.
  • the flag reflects always the latest status and the flag can only be set to indicate that the change is due to a modi ⁇ fication if the flag indicates that there was no change.
  • Another preferred embodiment of the invention is a computer program element com ⁇ prising computer program code means to make a smart card execute the above- mentioned method.
  • Another preferred embodiment of the invention is a smart card comprising a field of entries and the above-mentioned computer program element.
  • Another preferred embodiment of the invention is a method of receiving and storing smart card data on a device external to the smart card, the data being stored on the smart card in an indexed field of entries, the external device having an indexed field of entries which matches the field of entries on the smart card, the method comprising the steps of: receiving from the smart card, together with their index values, the field entries to be stored on the external device; and storing each of the received entries in the field on the external device at the position indicated by the index value received together with the entry.
  • the indexed field of en ⁇ tries on the external device has a flag associated with each index, indicating whether the entry belonging to the index has been added, and, before each received entry is stored, the following steps are performed: checking if the flag associated with the field index on the external device which corresponds to the index value received together with the smart card field entry indicates that the field entry on the external device has been added; and if the flag indicates that the field entry on the external device has been added, moving this entry to an empty position in the field and setting the flag associated with the index of the new position so that it indicates that the entry has been added, or, if there is no empty position in the field, moving this entry to an extension storage area on the external device. This prevents that an entry that has been added on the external device is overwritten during an update of the data on the external device with data from the smart card.
  • the external device in an additional step sends a confirmation message to the smart card, indicating for which indices the entries have been correctly received by the external device.
  • the confirmation message comprises an array of Boolean values where each index of the array corresponds to an index of the field of entries and each Boolean value indicates whether the entry belong ⁇ ing to the corresponding index has been correctly received or not.
  • the confirmation message comprises information indicating the first index in the array which indicates that a field entry belonging to the corresponding index has been correctly received.
  • a flag associated with an index of the field on the external device indicates whether the entry belonging to the index has changed or not and if a change is due to an addition, to a deletion or to a modification of the entry belonging to the index.
  • the flag reflects always the latest status and the flag can only be set to indicate that the change is due to a modi ⁇ fication if the flag indicates that there was no change.
  • Another preferred embodiment of the invention is a method of sending data from an external device to a smart card, the smart card having an indexed field of entries for storing the data, on the external device the data being stored in an indexed field of entries which matches the field on the smart card and where a flag is associated with each index, the flag indicating whether the en ⁇ try belonging to the index has changed or not on the external device, the method com ⁇ prising the steps of: sending to the smart card only those entries, together with their in- dex values, where the flags associated with their indices indicate a change; and clearing the flags associated with the indices whose entries were sent to the smart card.
  • the flag indicating if an entry has changed furthermore indicates if the entry was deleted, added, or modified, and before the step of sending to the smart card the changed entries the following steps are performed on the external device: receiving a message from the smart card which indicates the indices of the entries which have been added to the field on the smart card; for each indicated index, checking the flag associated with the corresponding index of the field on the external device; if the flag indicates that the entry has been deleted, set- ting this flag so that it indicates no change; if the flag indicates that the entry has been added or modified, moving the entry to an empty position, setting the flag associated with the index of the new position to the value of the flag associated with the old posi ⁇ tion, and setting the flag associated with the index of the old position so that it indicates no change. This prevents that an entry that has been added on the smart card is overwritten during an update of the data on the smart card with data from the external device.
  • the flag reflects always the latest status and the flag can only be set to indicate that the change is due to a modi ⁇ fication if the flag indicates that there was no change.
  • Another preferred embodiment of the invention is a computer program element com ⁇ prising computer program code means to make a device execute the above-mentioned method.
  • Another preferred embodiment of the invention is a device external to a smart card comprising a field of entries and a computer program element as mentioned above.
  • Another preferred embodiment of the invention is a method of receiving smart card data from a device external to the smart card and storing the data on the smart card, the data being stored on the smart card in an indexed field of entries, the external device having an indexed field of entries which matches the field of entries on the smart card, the method comprising the steps of receiving from the device external to the smart card, together with their index values, the field entries to be stored on the smart card; and storing each of the received entries in the field on the smart card at the position indi ⁇ cated by the index value received together with the entry.
  • the indexed field of en ⁇ tries on the smart card has a flag associated with each index, indicating whether the en- try belonging to the index has been added, and before the step of receiving the changed entries the following step is performed on the smart card: sending a message to the ex ⁇ ternal device which indicates the indices of the entries which have been added to the field on the smart card.
  • the external device can rearrange the entries in its field so that its changed entries are not on positions on which in the field on the smart card entries were added. Thus no added entry on the smart card is overwritten.
  • a flag associated with an index of the field on the smart card indicates whether the entry belonging to the index has changed or not and if a change is due to an addition, to a deletion or to a modifica- tion of the entry belonging to the index.
  • the flag reflects always the latest status and the flag can only be set to indicate that the change is due to a modi ⁇ fication if the flag indicates that there was no change.
  • Another preferred embodiment of the invention is a computer program element com ⁇ prising computer program code means to make a smart card execute the above- mentioned method.
  • Another preferred embodiment of the invention is a smart card comprising a field of entries and the above-mentioned computer program element.
  • the data to be sent repre ⁇ sents phonebook data and the entries represent name cards comprising information such as name, phone/fax numbers, email addresses, and additional information.
  • Another preferred embodiment of the invention is a system comprising one of the smart cards as described above and one of the devices external to a smart as described above.
  • the solution of the invention is based on the idea to transmit for synchronisation only those entries of the data, which have changed since the last synchronisation.
  • the data which is stored on the smart card is organised as an indexed field, i.e. each data entry is given an index value.
  • index field does not mean that the data type has to be an array, neither that the size of the field is invariable, but that the index numbers are continuous and that, when the data belonging to an entry is re ⁇ moved, the (empty) field position remains and keeps its index value.
  • a flag is associated with each index, indicating if the field entry belonging to the index has changed or not since the last data synchronisation. If the entry has changed, the flag is said to have the value "dirty".
  • All modifications to an entry at a certain index trigger that the flag associated with the index is set "dirty". This comprises adding a new entry at the index position of the field, deleting an entry, and modifying an existing entry, even if only parts of the entry are modified.
  • adding an entry means adding an entire name card
  • deleting an entry means deleting an entire name card
  • modifying an entry in ⁇ cludes modifying the name, adding/deleting/modifying telephone/fax numbers, add ⁇ ing/deleting/modifying email, adding/deleting/modifying additional information under a name card.
  • the external device which serves e.g. for backing up the card data, has a storage area organised as an indexed field of entries. This field matches the field which is com ⁇ prised by the smart card. "Matching" means that each index of the field on the external device corresponds to an index of the field on the smart card.
  • the external device When the external device receives the changed entries together with their respective indices, it stores each of the received entries in the field on the external device at the position indicated by the index received together with the changed entry. I. e., the entry is stored in the field on the external device under the index that corresponds to the index under which the entry is stored in the field on the smart card.
  • the data on the external device may be changed by the user.
  • the same mechanism as outlined above is applied:
  • a flag is associated with each index of the field of entries on the external device.
  • the flag associated with the index to which the entry belongs is set to "dirty".
  • the synchronisation is triggered by the user, only those entries are transmitted to the smart card, where the flag associated with the index to which the entry belongs is set to "dirty".
  • Each entry is transmitted together with its index.
  • each received entry is stored in the field of entries under the index which corresponds to the index of the entry in the field of the external device, the latter index being received together with the entry.
  • each "dirty" flag is cleared.
  • the invention provides mechanisms to handle the case that the user adds entries both on the smart card and on the external device. Applying these mechanisms, none of the newly added entries gets lost.
  • the flag associated with each field index in addi- tion to indicating whether the corresponding entry has been changed might also indi- cate, in case there was a change, if the entry was added, deleted or modified.
  • the flag might be composed of two bits, value 00 meaning "no change” (cleared, not dirty), value 01 meaning "entry was added” (dirty), value 10 meaning “entry was deleted” (dirty) and value 11 meaning "entry was modified” (dirty).
  • the value of the flag will reflect the latest status. However, value "entry was modified” can only be set if the status of the flag is "no change".
  • the following mechanism can be applied: on the external device, for each received entry to be updated, the flag associated with the index that corresponds to the index value received together with the entry to be updated is checked. If the value of the flag is "entry was added”, the external device moves the entry to an empty position in the field on the server, sets the value of the flag associated with the new position to "entry was added", and stores the received entry under the old position. If there is no empty position in the field, the added entry instead is moved to an extension storage area. Otherwise, if the value of the flag is "no change", "entry was modified” or "entry was deleted", the entry is directly overwritten with the received entry.
  • the following table represents the flag values of the field on the card and of the field on the external device before an update of the external device, where "N” stands for “no change”, “A” stands for “entry was added”, “D” stands for “entry was deleted”, “M” stands for "entry was modified”:
  • the entries sent from the smart card to the external device for updating the external de ⁇ vice will be the entries belonging to indices 1, 3, 4, i.e. all "dirty" entries.
  • the existing entries in the field of the external device might be rearranged like this:
  • the external device asks the smart card, which entries on the smart card have been added. It will then re ⁇ ceive information from the smart card, indicating all indices where the associated flags have the value "entry was added". For each indicated index, the external device now performs the following: It checks the flag associated with the index of the field on the external device that corre ⁇ sponds to the indicated index.
  • the entry belonging to the index is moved to an empty position in the field on the external device and the flag associated with the index of this position is set to "entry was added” or "entry was modified", respectively.
  • the flag associated with the index of the old position is set to "no change”. Otherwise, if the value of the flag is "entry was deleted", the flag is directly set to "no change”. If the value of the flag is "no change", the flag remains unchanged.
  • the following table represents the flag values of the field on the card and of the field on the external device before an update of the smart card, where "N” stands for “no change”, “A” stands for “entry was added”, “D” stands for “entry was deleted”, “M” stands for “entry was modified”:
  • the external device asks the smart card to indicate the indices of all entries that have been added.
  • the smart card checks the flags associated with each index and sends a message to the external device indicating that the entries belonging to indices 1 to 4 have been added.
  • the field on the external device might be rearranged like in the following table, such that no added entry on the smart card will be overwritten:
  • a confirmation mechanism is ap ⁇ plied to ensure that all changed entries are correctly transmitted from the smart card to the external device.
  • Each index of the field on the smart card is associated with a send ⁇ ing flag.
  • the corresponding sending flag is set to indicate that the entry has to be sent.
  • the external device having received the data, sends a confirmation message to the smart card, indicating the indices of the entries that have been received correctly.
  • the smart card having received the confirmation message, clears the sending flags associated with the indices indicated in the confirmation message.
  • the changed entries belonging to all indices whose associated sending flag has not been cleared are sent again to the external device. These steps may be repeated until all entries have been received correctly by the external device.
  • the confirmation message comprises an array of Boo ⁇ lean values where each index of the array corresponds to an index of the field of entries and each Boolean value indicates whether the field entry belonging to the corresponding index has been correctly received or not.
  • the confirmation message comprises information in ⁇ dicating the first index in the array which indicates that a field entry belonging to the corresponding index has been correctly received.
  • the confirma ⁇ tion message sent from the external device to the smart card comprises an array of Boo ⁇ lean values, where the values of indices 50 to 70 and 79 are "true” and the values of all other indices are "false”.
  • the confirmation message furthermore comprises the informa- tion that the first index of the array whose value is "true” is index 50.
  • the smart card then does not have to process the array values 1 to 49.
  • the smart card clears sending flags 50 to 70 and 79 and terminates the operation.
  • the confirmation message comprises an array of Boolean values, where the values of indices 50 to 70 are "true” and the values of all other indices are "false", and the information that the first index of the array whose value is "true” is index 50.
  • the smart card clears only sending flags 50 to 70, checks the sending flags and finds that sending flag 79 is not cleared. It resends the entry belonging to index 79.
  • the external device Upon cor ⁇ rect reception, the external device sends a confirmation message comprising an array where the value of index 79 is "true” and all other values are “false”, and the informa ⁇ tion that the first "true” value is found at index 79.
  • the smart card clears sending flag 79 and terminates the operation.

Abstract

Data which is stored on a smart card is sent to a device external to the smart card. The data is stored on the smart card in a field of entries, the field of entries on the smart card is indexed and a flag is associated with each field index, indicating whether the entry belonging to the index has changed or not. The external device has an indexed field of entries which matches the field of entries on the smart card. To the external device only those entries are sent, together with their index value, where the flag associated with the index indicates a change. The flags associated with the indices whose entries were sent to the smart card are cleared. The entries are received on the external device external to the smart card, together with their index values and each of the received entries is stored in the field on the external device at the position indicated by the index value received together with the entry.

Description

Efficient synchronisation of smart card data with data stored on an external server
BACKGROUND OF THE INVENTION
Field of the invention
The present invention generally relates to the data transfer between a smart card (inte- grated circuit card) and an device external to the smart card, and more specifically to mechanisms that allow efficient data synchronisation between a smart card and an ex¬ ternal device like a data server which duplicates the data on the smart card, for example for backing up the data stored on the smart card.
Data stored on a smart card may be copied to an external device in order to prevent data losses in case the card gets lost. Another reason for copying data to the external device is that storage space on the smart card is limited. The invention provides a mechanism for efficiently updating the backup data, for example when data entries on the smart card were added, modified or deleted.
On the other hand, also the data stored on the external device may be changed. This might be done because it is easier to add, modify or delete data on the external device using a proper keyboard than on the smart card, where for example the keyboard of a mobile telephone has to be used. For this case, the invention provides a method for effi¬ ciently updating the data stored on smart card.
One particular application of the invention is synchronisation of phonebook data be- tween a (U)SIM card and a data server. Phonebook data consists of name cards com¬ prising information like name, telephone/fax numbers, email, and additional informa¬ tion. However, the invention is applicable to any case where data is stored on a smart card in the form of one or several entries (data sets), regardless of the content and the format of the entries. Background art
There are several known solutions for synchronising data between a smart card and a data server external to the smart card. For synchronizing phonebook data, normal SMS (Short Message Service) or SMS-PP (SMS-Point-to-Point) download are used. However, with the current solutions either the whole set of data, e.g. the whole content of a phonebook is transmitted, which can be time consuming if the amount of data is large, or the user has to manually specify the data sets he wants to have synchronized, which is uncomfortable and tedious. SUMMARY OF THE INVENTION
It is therefore an object of the invention to provide a method that allows data synchroni¬ sation between a smart card and an external device that overcomes the above-mentioned problem.
This object is achieved by the methods and the devices as defined in independent claims 1, 6, 7, 13, 14 and 18. Further preferred embodiments are defined in the dependent claims.
A preferred embodiment of the invention is a method of sending data which is stored on a smart card to a device external to the smart card, the data being stored on the smart card in a field of entries, the field of entries on the smart card being indexed and a flag being associated with each field index, the flag indicating whether the entry belonging to the index has changed or not, the method comprising the steps of: sending to the ex¬ ternal device only those entries, together with their index value, where the flag associ¬ ated with the index indicates a change; and clearing the flags associated with the indices whose entries were sent to the smart card. This has the advantage that only those entries which have been changed have to be transmitted to the external device. The entries that have been changed are automatically recognised.
According to another preferred embodiment of the invention, the sending flag is associ¬ ated with each field index, and before sending the changed entries to the external de- vice, for each changed entry to be sent the sending flag is set to indicate that the entry is to be sent; after sending of the changed entries the smart card receives a confirmation message from the external device, indicating the indices of the entries that have been received correctly; the sending flag associated with the indicated indices are cleared; the step of sending the changed entries is repeated for the indices where the associated sending flag has not been cleared. This has the advantage, that a successful backup of the data is much more probable. Because of storage space limitations of the smart cards, the card cannot temporarily safe the data to be sent for updating the server. Therefore, if the server notifies the card that the whole or parts of the data has not been correctly received by the server, the card may not be able to send the data again. The user may thus have the risk of data losses.
According to another preferred embodiment of the invention, the confirmation message comprises an array of Boolean values where each index of the array corresponds to an index of the field of entries and each Boolean value indicates whether the field entry belonging to the corresponding index has been correctly received or not. This has the advantage that the confirmation message can be kept very "slim". It would be wasteful and awkward to confirm the receipt of each entry separately. Since a Boo¬ lean value needs only 1 bit to be represented, a maximum number of indices can be con¬ firmed per message.
According to another preferred embodiment of the invention the confirmation message comprises information indicating the first index in the array which indicates that a field entry belonging to the corresponding index has been correctly received.
By doing so, processing of the array can be abbreviated on the smart card, because it may assume that all values in the array before the indicated index indicate that no entry corresponding to their indices has been received correctly. 1 or 2 bytes in the confirma- tion message will generally be sufficient to indicate this first index in the array.
According to another preferred embodiment of the invention, the flag associated with a field index and indicating whether the entry belonging to the index has changed or not furthermore indicates if a change is due to an addition, to a deletion or to a modification of the entry belonging to the index. This has the advantage that the method of sending data which is stored on the smart card to a device external to the smart card can be advantageously combined with the method described below of receiving data from the external device and storing the data on the smart card, preventing that new entries on the device external to the smart card are overwritten. - A -
According to another preferred embodiment of the invention, the flag reflects always the latest status and the flag can only be set to indicate that the change is due to a modi¬ fication if the flag indicates that there was no change.
This has the advantage that the information that an entry was added does not get lost, even if the entry later is modified, and that on the other hand the flag indicates the latest status as precisely as possible.
Another preferred embodiment of the invention is a computer program element com¬ prising computer program code means to make a smart card execute the above- mentioned method. Another preferred embodiment of the invention is a smart card comprising a field of entries and the above-mentioned computer program element.
Another preferred embodiment of the invention is a method of receiving and storing smart card data on a device external to the smart card, the data being stored on the smart card in an indexed field of entries, the external device having an indexed field of entries which matches the field of entries on the smart card, the method comprising the steps of: receiving from the smart card, together with their index values, the field entries to be stored on the external device; and storing each of the received entries in the field on the external device at the position indicated by the index value received together with the entry. According to another preferred embodiment of the invention, the indexed field of en¬ tries on the external device has a flag associated with each index, indicating whether the entry belonging to the index has been added, and, before each received entry is stored, the following steps are performed: checking if the flag associated with the field index on the external device which corresponds to the index value received together with the smart card field entry indicates that the field entry on the external device has been added; and if the flag indicates that the field entry on the external device has been added, moving this entry to an empty position in the field and setting the flag associated with the index of the new position so that it indicates that the entry has been added, or, if there is no empty position in the field, moving this entry to an extension storage area on the external device. This prevents that an entry that has been added on the external device is overwritten during an update of the data on the external device with data from the smart card.
According to another preferred embodiment of the invention, in an additional step the external device sends a confirmation message to the smart card, indicating for which indices the entries have been correctly received by the external device.
According to another preferred embodiment of the invention, the confirmation message comprises an array of Boolean values where each index of the array corresponds to an index of the field of entries and each Boolean value indicates whether the entry belong¬ ing to the corresponding index has been correctly received or not. According to another preferred embodiment of the invention, the confirmation message comprises information indicating the first index in the array which indicates that a field entry belonging to the corresponding index has been correctly received.
According to another preferred embodiment of the invention, a flag associated with an index of the field on the external device indicates whether the entry belonging to the index has changed or not and if a change is due to an addition, to a deletion or to a modification of the entry belonging to the index.
This has the advantage that the method of receiving and storing smart card data on a device external to the smart card can be advantageously combined with the method de¬ scribed below of sending data from an external device to a smart card, preventing that new entries on the smart card are overwritten.
According to another preferred embodiment of the invention, the flag reflects always the latest status and the flag can only be set to indicate that the change is due to a modi¬ fication if the flag indicates that there was no change. Another preferred embodiment of the invention is a method of sending data from an external device to a smart card, the smart card having an indexed field of entries for storing the data, on the external device the data being stored in an indexed field of entries which matches the field on the smart card and where a flag is associated with each index, the flag indicating whether the en¬ try belonging to the index has changed or not on the external device, the method com¬ prising the steps of: sending to the smart card only those entries, together with their in- dex values, where the flags associated with their indices indicate a change; and clearing the flags associated with the indices whose entries were sent to the smart card.
According to another preferred embodiment of the invention, the flag indicating if an entry has changed furthermore indicates if the entry was deleted, added, or modified, and before the step of sending to the smart card the changed entries the following steps are performed on the external device: receiving a message from the smart card which indicates the indices of the entries which have been added to the field on the smart card; for each indicated index, checking the flag associated with the corresponding index of the field on the external device; if the flag indicates that the entry has been deleted, set- ting this flag so that it indicates no change; if the flag indicates that the entry has been added or modified, moving the entry to an empty position, setting the flag associated with the index of the new position to the value of the flag associated with the old posi¬ tion, and setting the flag associated with the index of the old position so that it indicates no change. This prevents that an entry that has been added on the smart card is overwritten during an update of the data on the smart card with data from the external device.
According to another preferred embodiment of the invention, the flag reflects always the latest status and the flag can only be set to indicate that the change is due to a modi¬ fication if the flag indicates that there was no change. Another preferred embodiment of the invention is a computer program element com¬ prising computer program code means to make a device execute the above-mentioned method.
Another preferred embodiment of the invention is a device external to a smart card comprising a field of entries and a computer program element as mentioned above. Another preferred embodiment of the invention is a method of receiving smart card data from a device external to the smart card and storing the data on the smart card, the data being stored on the smart card in an indexed field of entries, the external device having an indexed field of entries which matches the field of entries on the smart card, the method comprising the steps of receiving from the device external to the smart card, together with their index values, the field entries to be stored on the smart card; and storing each of the received entries in the field on the smart card at the position indi¬ cated by the index value received together with the entry.
According to another preferred embodiment of the invention, the indexed field of en¬ tries on the smart card has a flag associated with each index, indicating whether the en- try belonging to the index has been added, and before the step of receiving the changed entries the following step is performed on the smart card: sending a message to the ex¬ ternal device which indicates the indices of the entries which have been added to the field on the smart card.
By doing so, the external device can rearrange the entries in its field so that its changed entries are not on positions on which in the field on the smart card entries were added. Thus no added entry on the smart card is overwritten.
According to another preferred embodiment of the invention, a flag associated with an index of the field on the smart card indicates whether the entry belonging to the index has changed or not and if a change is due to an addition, to a deletion or to a modifica- tion of the entry belonging to the index.
This has the advantage that the method oLreceiving smart card data from a device ex¬ ternal to the smart card and storing the data on the smart card can advantageously be combined with the above described method of sending data which is stored on a smart card to a device external to the smart card. According to another preferred embodiment of the invention, the flag reflects always the latest status and the flag can only be set to indicate that the change is due to a modi¬ fication if the flag indicates that there was no change.
Another preferred embodiment of the invention is a computer program element com¬ prising computer program code means to make a smart card execute the above- mentioned method.
Another preferred embodiment of the invention is a smart card comprising a field of entries and the above-mentioned computer program element. According to another preferred embodiment of the invention, the data to be sent repre¬ sents phonebook data and the entries represent name cards comprising information such as name, phone/fax numbers, email addresses, and additional information.
Another preferred embodiment of the invention is a system comprising one of the smart cards as described above and one of the devices external to a smart as described above.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT OF THE
INVENTION
The solution of the invention is based on the idea to transmit for synchronisation only those entries of the data, which have changed since the last synchronisation. To this end, the data which is stored on the smart card is organised as an indexed field, i.e. each data entry is given an index value. Note that "indexed field" does not mean that the data type has to be an array, neither that the size of the field is invariable, but that the index numbers are continuous and that, when the data belonging to an entry is re¬ moved, the (empty) field position remains and keeps its index value. Furthermore, a flag is associated with each index, indicating if the field entry belonging to the index has changed or not since the last data synchronisation. If the entry has changed, the flag is said to have the value "dirty".
All modifications to an entry at a certain index trigger that the flag associated with the index is set "dirty". This comprises adding a new entry at the index position of the field, deleting an entry, and modifying an existing entry, even if only parts of the entry are modified. In the phonebook example, adding an entry means adding an entire name card, deleting an entry means deleting an entire name card, and modifying an entry in¬ cludes modifying the name, adding/deleting/modifying telephone/fax numbers, add¬ ing/deleting/modifying email, adding/deleting/modifying additional information under a name card.
When the data on the external device is to be updated, e.g. for backup purposes, only the entries are transmitted to the external device where the flag associated with the index of the entry is set to "dirty". The card therefore automatically finds the changed entries. The changed entries are sent to the external device together with their respective index value. After the changed entries have been sent, each of the dirty flags is cleared, which means that it is set to indicate that the entry belonging to the index with which the flag is asso¬ ciated has not been changed since the last synchronisation.
Also the external device, which serves e.g. for backing up the card data, has a storage area organised as an indexed field of entries. This field matches the field which is com¬ prised by the smart card. "Matching" means that each index of the field on the external device corresponds to an index of the field on the smart card.
When the external device receives the changed entries together with their respective indices, it stores each of the received entries in the field on the external device at the position indicated by the index received together with the changed entry. I. e., the entry is stored in the field on the external device under the index that corresponds to the index under which the entry is stored in the field on the smart card.
As mentioned above, also the data on the external device may be changed by the user. For synchronising the data stored on the smart card with the data stored on the external device it is then necessary to update the data on the smart card. The same mechanism as outlined above is applied:
A flag is associated with each index of the field of entries on the external device. When an entry is changed on the external device, the flag associated with the index to which the entry belongs is set to "dirty". When the synchronisation is triggered by the user, only those entries are transmitted to the smart card, where the flag associated with the index to which the entry belongs is set to "dirty". Each entry is transmitted together with its index. On the smart card, each received entry is stored in the field of entries under the index which corresponds to the index of the entry in the field of the external device, the latter index being received together with the entry. On the external device, after the changed entries have been sent out, each "dirty" flag is cleared.
In preferred embodiments, the invention provides mechanisms to handle the case that the user adds entries both on the smart card and on the external device. Applying these mechanisms, none of the newly added entries gets lost.
On both the smart card and the server the flag associated with each field index in addi- tion to indicating whether the corresponding entry has been changed might also indi- cate, in case there was a change, if the entry was added, deleted or modified. E.g., the flag might be composed of two bits, value 00 meaning "no change" (cleared, not dirty), value 01 meaning "entry was added" (dirty), value 10 meaning "entry was deleted" (dirty) and value 11 meaning "entry was modified" (dirty). The value of the flag will reflect the latest status. However, value "entry was modified" can only be set if the status of the flag is "no change". For example, if the entry under a certain index is deleted and subsequently another entry under the same index is added, the value of the flag associated with the index is "entry was added". If an entry is added under an index and the same entry subsequently is modified, the value of the flag is still "entry was added".
Then, for updating the data on the external device, i.e. for transmitting the entries that have been changed on the smart card to the external device, the following mechanism can be applied: on the external device, for each received entry to be updated, the flag associated with the index that corresponds to the index value received together with the entry to be updated is checked. If the value of the flag is "entry was added", the external device moves the entry to an empty position in the field on the server, sets the value of the flag associated with the new position to "entry was added", and stores the received entry under the old position. If there is no empty position in the field, the added entry instead is moved to an extension storage area. Otherwise, if the value of the flag is "no change", "entry was modified" or "entry was deleted", the entry is directly overwritten with the received entry.
For example, the following table represents the flag values of the field on the card and of the field on the external device before an update of the external device, where "N" stands for "no change", "A" stands for "entry was added", "D" stands for "entry was deleted", "M" stands for "entry was modified":
Figure imgf000012_0001
The entries sent from the smart card to the external device for updating the external de¬ vice will be the entries belonging to indices 1, 3, 4, i.e. all "dirty" entries. Before the received data is written to the field on the external device, the existing entries in the field of the external device might be rearranged like this:
Figure imgf000013_0001
Likewise, for updating the data on the smart card, i.e. for transmitting to the smart card the entries that have been changed on the external device, the following mechanism can be applied: before transmitting the changed entries to the smart card, the external device asks the smart card, which entries on the smart card have been added. It will then re¬ ceive information from the smart card, indicating all indices where the associated flags have the value "entry was added". For each indicated index, the external device now performs the following: It checks the flag associated with the index of the field on the external device that corre¬ sponds to the indicated index. If the value of the flag is "entry was added" or "entry was modified", respectively, the entry belonging to the index is moved to an empty position in the field on the external device and the flag associated with the index of this position is set to "entry was added" or "entry was modified", respectively. The flag associated with the index of the old position is set to "no change". Otherwise, if the value of the flag is "entry was deleted", the flag is directly set to "no change". If the value of the flag is "no change", the flag remains unchanged. By doing so, it is assured that for all the index positions, where an entry has been added on the smart card, in the field on the external device the associated flag has the value "no change" (not dirty), and therefore the corresponding entry is not sent to the smart card; the added entry is not overwritten.
For example, the following table represents the flag values of the field on the card and of the field on the external device before an update of the smart card, where "N" stands for "no change", "A" stands for "entry was added", "D" stands for "entry was deleted", "M" stands for "entry was modified":
Figure imgf000014_0001
The external device asks the smart card to indicate the indices of all entries that have been added. The smart card checks the flags associated with each index and sends a message to the external device indicating that the entries belonging to indices 1 to 4 have been added. Before sending the "dirty" entries from the external device to the smart card, the field on the external device might be rearranged like in the following table, such that no added entry on the smart card will be overwritten:
Figure imgf000015_0001
In a further preferred embodiment of the invention, a confirmation mechanism is ap¬ plied to ensure that all changed entries are correctly transmitted from the smart card to the external device. Each index of the field on the smart card is associated with a send¬ ing flag. Before sending the changed entries to the external device, for each changed entry the corresponding sending flag is set to indicate that the entry has to be sent. The external device, having received the data, sends a confirmation message to the smart card, indicating the indices of the entries that have been received correctly. The smart card, having received the confirmation message, clears the sending flags associated with the indices indicated in the confirmation message. The changed entries belonging to all indices whose associated sending flag has not been cleared are sent again to the external device. These steps may be repeated until all entries have been received correctly by the external device.
In another preferred embodiment, the confirmation message comprises an array of Boo¬ lean values where each index of the array corresponds to an index of the field of entries and each Boolean value indicates whether the field entry belonging to the corresponding index has been correctly received or not. In another preferred embodiment, the confirmation message comprises information in¬ dicating the first index in the array which indicates that a field entry belonging to the corresponding index has been correctly received.
Consider an example where in the smart card field the entries belonging to indices 50 to 70 and index 79 have changed.
If all changed entries have been correctly received by the external device, the confirma¬ tion message sent from the external device to the smart card comprises an array of Boo¬ lean values, where the values of indices 50 to 70 and 79 are "true" and the values of all other indices are "false". The confirmation message furthermore comprises the informa- tion that the first index of the array whose value is "true" is index 50. The smart card then does not have to process the array values 1 to 49. The smart card clears sending flags 50 to 70 and 79 and terminates the operation.
If on the other hand e.g. the entry belonging to index 79 is not correctly received by the external device, the confirmation message comprises an array of Boolean values, where the values of indices 50 to 70 are "true" and the values of all other indices are "false", and the information that the first index of the array whose value is "true" is index 50. The smart card clears only sending flags 50 to 70, checks the sending flags and finds that sending flag 79 is not cleared. It resends the entry belonging to index 79. Upon cor¬ rect reception, the external device sends a confirmation message comprising an array where the value of index 79 is "true" and all other values are "false", and the informa¬ tion that the first "true" value is found at index 79. The smart card clears sending flag 79 and terminates the operation.

Claims

1. Method of sending data which is stored on a smart card to a device external to the smart card, the data being stored on the smart card in a field of entries, the field of entries on the smart card being indexed and a flag being associated with each field index, the flag indicating whether the entry belonging to the index has changed or not, the method comprising the steps of: sending to the external device only those entries, together with their index value, where the flag associated with the index indicates a change; and clearing the flags associated with the indices whose entries were sent to the smart card.
2. Method according to claim 1, characterized in that a sending flag is associated with each field index, and in that the method comprises the following additional steps: before sending the changed entries to the external device, for each changed entry to be sent the sending flag is set to indicate that the entry is to be sent; after sending of the changed entries the smart card receives a confirmation mes- sage from the external device, indicating the indices of the entries that have been received correctly; the sending flag associated with the indicated indices are cleared; the step of sending the changed entries is repeated for those indices where the associated sending flags have not been cleared.
3. Method according to claim 2, characterized in that the confirmation message comprises an array of Boolean values where each index of the array corresponds to an index of the field of entries and each Boolean value indicates whether the field entry belonging to the corresponding index has been correctly received or not.
4. Method according to claim 3, characterized in that the confirmation message comprises information indicating the first index in the array which indicates that a field entry belonging to the corresponding index has been correctly received.
5. Method according to one of the previous claims, characterized in that the flag associated with a field index and indicating whether the entry belonging to the index has changed or not furthermore indicates if a change is due to an addition, to a deletion, or to a modification of the entry belonging to the index.
6. Method according to claim 5, characterized in that the flag reflects always the latest status and in that the flag can only be set to indicate that the change is due to a modification if the flag indicates that there was no change.
7. Method according to one of the previous claims, characterized in that the data represents phonebook data and the entries represent name cards comprising in- formation such as name, phone/fax numbers, email addresses, and additional in¬ formation.
8. Computer program element comprising computer program code means to make a smart card execute the method according to claims 1 to 7.
9. Smart card comprising a field of entries and a computer program element ac¬ cording to claim 8.
10. Method of receiving and storing smart card data on a device external to the smart card, the data being stored on the smart card in an indexed field of entries, the external device having an indexed field of entries which matches the field of en¬ tries on the smart card, the method comprising the steps of: receiving from the smart card, together with their index values, the field entries to be stored on the external device; and storing each of the received entries in the field on the external device at the posi¬ tion indicated by the index value received together with the entry.
11. Method according to claim 10, characterized in that the indexed field of entries on the external device has a flag associated with each index, indicating whether the entry belonging to the index has been added, and in that, before each received entry is stored, the following steps are per- formed: checking if the flag associated with the field index on the external device which corresponds to the index value received together with the smart card field entry indicates that the field entry on the external device has been added; and if the flag indicates that the field entry on the external device has been added, moving this entry to an empty position in the field and setting the flag associated with the index of the new position so that it indicates that the entry has been added, or, if there is no empty position in the field, moving this entry to an ex¬ tension storage area on the external device.
12. Method according to claim 10 or 11, characterized in that in an additional step the external device sends a confirmation message to the smart card, indicating for which indices the entries have been correctly received by the external device.
13. Method according to claim 12, characterized in that the confirmation message comprises an array of Boolean values where each index of the array corresponds to an index of the field of entries and each Boolean value indicates whether the entry belonging to the corresponding index has been correctly received or not.
14. Method according to claim 13, characterized in that the confirmation message comprises information indicating the first index in the array which indicates that a field entry belonging to the corresponding index has been correctly received.
15. Method according to one of claims 10 to 14, characterized in that a flag associ¬ ated with an index of the field on the external device indicates whether the entry belonging to the index has changed or not and if a change is due to an addition, to a deletion or to a modification of the entry belonging to the index.
16. Method according to claim 15, characterized in that the flag reflects always the latest status and in that the flag can only be set to indicate that the change is due to a modification if the flag indicates that there was no change.
17. Method according to one of claims 10 to 16, characterized in that the data repre- sents phonebook data and the entries represent name cards comprising informa¬ tion such as name, phone/fax numbers, email addresses, and additional informa¬ tion.
18. Computer program element comprising computer program code means to make a device execute the method according to claims 10 to 17.
19. Device external to a smart card comprising a field of entries and a computer pro¬ gram element according to claim 18.
20. System comprising a smart card according to claim 9 and a device external to a smart card according to claim 19.
21. Method of sending data from an external device to a smart card, the smart card having an indexed field of entries for storing the data, on the external device the data being stored in an indexed field of entries which matches the field on the smart card and where a flag is associated with each index, the flag indicating whether the entry belonging to the index has changed or not on the external de- vice, the method comprising the steps of: sending to the smart card only those entries, together with their index values, where the flags associated with their indices indicate a change; and clearing the flags associated with the indices whose entries were sent to the smart card.
22. Method according to claim 21, characterized in that the flag indicating if an en¬ try has changed furthermore indicates if the entry was deleted, added, or modi¬ fied, and in that before the step of sending to the smart card the changed entries the following steps are performed on the external device: receiving a message from the smart card which indicates the indices of the en¬ tries which have been added to the field on the smart card; for each indicated index, checking the flag associated with the corresponding index of the field on the ex- ternal device; if the flag indicates that the entry has been deleted, setting this flag so that it in¬ dicates no change; if the flag indicates that the entry has been added or modified, moving the entry to an empty position, setting the flag associated with the index of the new posi¬ tion to the value of the flag associated with the old position, and setting the flag associated with the index of the old position so that it indicates no change.
23. Method according to claim 22, characterized in that the flag reflects always the latest status and in that the flag can only be set to indicate that the change is due to a modification if the flag indicates that there was no change.
24. Method according to one of the claims 21 or 23, characterized in that the data to be sent represents phonebook data and the entries represent name cards compris¬ ing information such as name, phone/fax numbers, email addresses, and addi¬ tional information.
25. Computer program element comprising computer program code means to make a device execute the method according to claims 21 to 24.
26. Device comprising a field of entries and a computer program element according to claim 25.
27. Method of receiving smart card data from a device external to the smart card and storing the data on the smart card, the data being stored on the smart card in an indexed field of entries, the external device having an indexed field of entries which matches the field of entries on the smart card, the method comprising the steps of: receiving from the device external to the smart card, together with their index values, the field entries to be stored on the smart card; and storing each of the received entries in the field on the smart card at the position indicated by the index value received together with the entry.
28. Method according to claim 27, characterized in that the indexed field of entries on the smart card has a flag associated with each index, indicating whether the entry belonging to the index has been added, and in that before the step of receiving the changed entries the following step is performed on the smart card: sending a message to the external device which indicates the indices of the en- tries which have been added to the field on the smart card.
29. Method according to claim 28, characterized in that a flag associated with an index of the field on the smart card indicates whether the entry belonging to the index has changed or not and if a change is due to an addition, to a deletion or to a modification of the entry belonging to the index.
30. Method according to claim 29, characterized in that the flag reflects always the latest status and in that the flag can only be set to indicate that the change is due to a modification if the flag indicates that there was no change.
31. Method according to one of claims 27 to 30, characterized in that the data repre¬ sents phonebook data and the entries represent name cards comprising informa¬ tion such as name, phone/fax numbers, email addresses, and additional informa¬ tion.
32. Computer program element comprising computer program code means to make a smart card execute the method according to claims 27 to 31.
33. Smart card comprising a field of entries and a computer program element ac¬ cording to claim 32.
34. System comprising a smart card according to claim 33 and a device external to a smart card according to claim 26.
PCT/IB2005/002128 2004-08-27 2005-07-21 Efficient synchronisation of smart card data with data stored on an external server WO2006021841A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200410098126.3 2004-08-27
CNA2004100981263A CN1741016A (en) 2004-08-27 2004-08-27 Effective synchronization of smart card data and data in external stored server

Publications (2)

Publication Number Publication Date
WO2006021841A2 true WO2006021841A2 (en) 2006-03-02
WO2006021841A3 WO2006021841A3 (en) 2006-06-08

Family

ID=35966455

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2005/002128 WO2006021841A2 (en) 2004-08-27 2005-07-21 Efficient synchronisation of smart card data with data stored on an external server

Country Status (2)

Country Link
CN (1) CN1741016A (en)
WO (1) WO2006021841A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1853053A1 (en) * 2006-05-05 2007-11-07 Research In Motion Limited Handheld electronic device including automatic mobile phone number management and associated method
WO2007135191A1 (en) * 2006-05-24 2007-11-29 Sagem Orga Gmbh Data synchronization
EP1883257A1 (en) * 2006-07-28 2008-01-30 Gemplus Method for synchronisation between a mobile equipment and a smart card
US8155682B2 (en) 2006-05-05 2012-04-10 Research In Motion Limited Handheld electronic device including automatic mobile phone number management, and associated method
CN106021520A (en) * 2016-05-24 2016-10-12 重庆通畅无忧信息技术有限公司 Blacklist storage and search method for user cards
CN117354257A (en) * 2023-12-05 2024-01-05 苏州萨沙迈半导体有限公司 Data processing method, device, electronic equipment and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5209281B2 (en) * 2007-11-22 2013-06-12 株式会社エヌ・ティ・ティ・ドコモ Communication terminal device, access control method, IC card
CN108494940A (en) * 2014-06-26 2018-09-04 青岛海信移动通信技术股份有限公司 A kind of method and terminal for realizing that memory is synchronous with Subscriber Identity Module data
CN110020721B (en) * 2019-04-09 2020-12-18 武汉大学 Target detection deep learning network optimization method based on parameter compression

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001003409A1 (en) * 1999-07-05 2001-01-11 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for synchronizing a database in portable communication devices
GB2373139A (en) * 2001-03-07 2002-09-11 Matchtip Ltd A backup system of data stored on a sim card of a mobile telephone
US20030097382A1 (en) * 2001-11-16 2003-05-22 Simbit Corporation Identifying changed records in a file stored on an electronic token

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001003409A1 (en) * 1999-07-05 2001-01-11 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for synchronizing a database in portable communication devices
GB2373139A (en) * 2001-03-07 2002-09-11 Matchtip Ltd A backup system of data stored on a sim card of a mobile telephone
US20030097382A1 (en) * 2001-11-16 2003-05-22 Simbit Corporation Identifying changed records in a file stored on an electronic token

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1853053A1 (en) * 2006-05-05 2007-11-07 Research In Motion Limited Handheld electronic device including automatic mobile phone number management and associated method
US8155682B2 (en) 2006-05-05 2012-04-10 Research In Motion Limited Handheld electronic device including automatic mobile phone number management, and associated method
US8295867B2 (en) 2006-05-05 2012-10-23 Research In Motion Limited Handheld electronic device including automatic mobile phone number management, and associated method
WO2007135191A1 (en) * 2006-05-24 2007-11-29 Sagem Orga Gmbh Data synchronization
EP1883257A1 (en) * 2006-07-28 2008-01-30 Gemplus Method for synchronisation between a mobile equipment and a smart card
WO2008012273A1 (en) * 2006-07-28 2008-01-31 Gemalto Sa Method of synchronization between a mobile equipment unit and a smart card
KR101064019B1 (en) 2006-07-28 2011-09-08 제말토 에스에이 How to Sync Between a Mobile Device and a Smart Card
CN106021520A (en) * 2016-05-24 2016-10-12 重庆通畅无忧信息技术有限公司 Blacklist storage and search method for user cards
CN117354257A (en) * 2023-12-05 2024-01-05 苏州萨沙迈半导体有限公司 Data processing method, device, electronic equipment and storage medium
CN117354257B (en) * 2023-12-05 2024-01-30 苏州萨沙迈半导体有限公司 Data processing method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN1741016A (en) 2006-03-01
WO2006021841A3 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
WO2006021841A2 (en) Efficient synchronisation of smart card data with data stored on an external server
CN101911740B (en) Method and apparatus for synchronizing contacts stored on smart card with contacts stored in an internal memory
EP1131757B1 (en) Optimization of change log handling
US6993522B2 (en) System and method for resolving conflicts detected during a synchronization session
JP2938005B2 (en) Program file management method for portable information terminals
KR20000028662A (en) Computer, data sharing system, and method for maintaining replica consistency
JP3161520B2 (en) Portable terminal device and its character data storage method
CN107786638B (en) Data processing method, device and system
US20100293141A1 (en) Method and a System for Obtaining Differential Backup
CN1377199A (en) Telecommunication system
US7817992B2 (en) Method for updating a personal data file in mobile units of communication networks
KR20070039067A (en) Information service system, information server, portable terminal, information service control program and portable terminal control program
JP4225729B2 (en) Information management device
CN101252617B (en) Synchronizing method and synchronizing system of linkmen between host computer and secondary computer
EP1131756B1 (en) Protocol for synchronizing parallel processors in a mobile communications system
EP1903459B1 (en) Method and apparatus for memory management in an electronic device
EP2063614A1 (en) Communication terminal device, access controlling method, and smart card
US6973472B2 (en) Data synchronization system and method based on modification records and common formatting
CN1195359C (en) Data synchronizing system and method
EP2442619A1 (en) Adapting method and adapter based on multimedia messaging service
JP2002051117A (en) Method for optimizing storage of information in mobile radio communication terminal and terminal for implementing the method
JP4242119B2 (en) Server and client server system
US20030139203A1 (en) Computer-readable storage medium containing program instructions for managing data in communication terminal
CN107040904B (en) Method and device for controlling menu item display withdrawal of short message
JP2006186844A (en) System and method for facsimile transfer, and program and recording medium

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase