Patent Publication Number: US-2010130200-A1

Title: Procedure for transfer and handling of network-controlled functional data between a client and a server

Description:
The invention relates to a procedure for transmission of control data between a terminal for telecommunication via a telecommunication network and a server connected with the telecommunication network for control of a service administered by the telecommunication network, in which the telecommunication network provides a special function to a data object, whereby one data base each is assigned to the terminal and the server. In particular the invention relates to the transmission and handling of functional data of the data object, that are necessary to implement the service. 
     It is known to offer special functions for individual data objects within a telecommunication network. By a data object, we mean a data record that is defined by multiple thematically coupled parameters and parameter values for them. Thus, for example a contact in an address book of a cell phone, consisting at minimum of a name and a telephone number, forms a data record, which represents a data object of the “contact” type. Such a specific contact or also multiple such contacts which together form a group, can be handled by a wireless carrier, for which the cell phone network operated by the wireless carrier provides special functions. Examples of such special functions can be a particularly favorable classification of conversations for this contact or the display of status information on this contact, for example in a form when the contact temporarily cannot be reached. 
     From U.S. 2007/0035513 A1 it is known how to form a group of contacts that also constitutes favorites, or “faves” for short. These contacts are arranged with the wireless carrier, especially with a server of the cell phone network, and depicted in person-centered fashion on the cell phone display, which a client displays, by an icon or a photo of the contact person. If the cell phone is used, a standard screen appears on the display with the preferred friends, who can be selected individually and to whom a call connection can be established by pressing the call accept button of the cell phone. Thus the favorites represent data objects for which the cell phone network offers special functions. 
     To regulate such a service, special parameters and parameter values for them must be assigned to the data objects, which other contacts that are stored in the cell phone&#39;s address book do not require. These parameters for example characterize a maximum number of favorites within the group, an ID number of the contact within the group or the position of the pictorial representation of the contact on the cell phone display. So that the wireless carrier can offer an especially good rate to the favorites, additionally the telephone numbers of the preferred contact must be known to the cell phone network. The wireless carrier makes an arrangement with the favorites by inputting the necessary data into the cell phone and then transferring to a server of the cell phone network. For this, special software is made available on the cell phone. 
     What is disadvantageous about this is that both on the cell phone and also on the network operator side, the data on the preferred group must be additionally stored and separated from the other contacts and administered. New or altered data on the group is also transmitted additionally and parallel to the other data transmissions from the cell phone to the cell phone network, and vice versa. 
     Therefore the task of the invention is to make available a technically simple procedure for controlling a service administered by a telecommunication network to provide special functions to one or more data objects, especially for transmission and handling of data objects between a communication terminal and a server of the telecommunication network, in which additional storage of the data objects in the communication terminal is avoided, and preferably also on the telecommunication network side. 
     This problem is solved by the features of claim  1 . Further features and advantageous additional embodiments of the invention are named in the subordinate claims. 
     According to the invention, a procedure is proposed for transmission of control data between a terminal for the telecommunication via a telecommunication network and a server connected with the telecommunication network, for controlling a service administered by the telecommunication network, in which the telecommunication network makes a special function available to a data object, whereby one data base each is assigned to the terminal and the server, and whereby the transmission occurs by a parameter value for activation, deactivation or change of the service being assigned at first to at least one control parameter assigned to the data object, and the data object together with the control parameter is stored in one of the two data bases, whereby this data base is then synchronized with the other data base. 
     The overall core idea of the invention is based on data for controlling a service to be administered by a telecommunication network for a data object being assigned to this data object in the form of one or more parameter values of one or more proprietary parameters, the data object together with the parameters is stored in a data base, and the control data are transmitted as part of a synchronization of the data base with the second data base that is assigned on the telecommunication network side, to the communication network. The telecommunication network can then serve the transmitted control data, and undertake steps appropriate to the content of the control data. 
     In advantageous fashion, a data object can be selected for servicing or to remove a data object from the service, or also to alter the servicing of a data object in the local data base of the telecommunication transmitter, whereby the data needed for the control of the service are administered by means of a synchronization of the data base, in which the data object is stored, with a second data base that is network-administered. Thus additional storage of those data objects for which the particular service is active, can be dispensed with. 
     Examples of a data object are a contact, a date, a note or a task that is stored in the terminal in a data base. A data object is defined through parameters and parameter values assigned to it, whereby at least one additional parameter is assigned to those data objects for which the service is active with special functions, which [parameter] can be used for controlling this service. If the data object is a contact, the data object can be represented by a virtual business card that can contain all of the information characterizing the contact like first and last names, business, private and/or cell phone numbers, e-mail address, etc. In this case the first data base represents an address book within the terminal, and the second data base a network address book, which functions through synchronization as a backup to the first address book. The network-side address book, also called the net address book, can be adjusted to address books of other terminals, for example other cell phones, PDAs or computers, so that the address book is always current on each terminal. 
     If the service for a data object is to be activated, deactivated or altered, the data object can be selected according to the invention from a multiplicity of other data objects that are stored in the first data base, by a parameter value being referred to the control parameter assigned to the data object, that displays that the data object does or does not belong to a group of data objects reserved with a special function. It the parameter value of the control parameter indicates that the service is not active for the data object, the data object does not need to possess any further parameters for controlling the service. 
     According to the invention, the control parameter can be a status parameter, to which in each case a certain status parameter value is assigned by the communication terminal, if the service for the data object is to be activated, deactivated or altered. Thus, a value of “assign” can be assigned to the status parameter, if the service for the data object is to be activated. Further, for example, the value of “withdraw” can be assigned to the status parameter, if the service is to be deactivated for the data object. Finally, for example, the value of “modified” can be assigned to the status parameter, if the service is to be altered for the data object. Thus the status parameter can carry the request of the terminal user regarding a change in the service for a specific data object and communicate this to the communication network in a simple fashion. 
     For synchronization of the two data bases, a synchronization protocol is used. Preferably the standardized SyncML protocol can be used, which is defined in the RFC2426 standard. This protocol has an advantage in that parameters that deviate from the defined standard parameters of the standard, are defined by a designation that starts with an “X.” 
     In the event that service is activated for the data object, multiple parameter values can be allocated to the control parameters assigned to the data object. Thus for example a first control parameter can carry the overall number of group members, for which the service can be released. An additional parameter can contain an identification number of the data object within the group of preferred data objects. Finally, a control parameter can contain an indication of how and/or where the data object should be represented on a display of the terminal. Multiple parameter values can be assigned to multiple parameters also in the case of an change or deactivation of the service. For the last-named case, a value of “zero” can be assigned to the parameters that contain no relevant control information for the deactivation. 
     The capacity for activation, deactivation or change of the service can be checked on the basis of pre-set rules. In this especially allowance can be made of for how many data objects of the first data base the service is already active, and whether the number of these data objects would exceed a pre-set maximum number if an activation is made for the new data object. Additionally, a check can be done of whether a certain time such a one month has passed since the time of the last change of a data object or of this data object within the group of the data objects for which the service is active. 
     Preferably in the case of a positive check of the data object, the server can activate the service for the data object. It can then assign a parameter value indicating the active status, such as “active,” to the status parameter. Finally the data object can be stored in the second data base with the new status parameter. 
     Then the data object with the altered status parameter can be transmitted to the communication terminal through a synchronization of the data bases, whereby the old data object can be replaced by the new data object in the first data base. The synchronization can preferably occur as part of that same synchronization process that has been initiated originally by the terminal. The synchronization link created between the terminal and the server for adjusting the data bases can thus remain active during the entire checking process and up until a re-transfer of the data object. 
     To inform the terminal user, the server can transmit a short message to the terminal with information as to whether activation, deactivation or change of the service was successful or unsuccessful. Especially an SMS (Short Message Service) or an SMS0 can be used in a short message, which is shown immediately on the terminal&#39;s display. 
     In an advantageous further embodiment of the invention, with the change request, a further status parameter with the parameter value of “pending” can be assigned by the terminal to the contact, to prevent additional change requests before conclusion of the pending change. 
     Further, according to the invention, it can be provided that a parameter value or parameter values can be assigned to the control parameter or control parameters by the server of the telecommunication network, and the data object together with the altered parameter or parameters be stored in the data base assigned to the server. Then after storage, the server can commence a synchronization of this data base with the data base assigned to the terminal for transmission of control data of the control parameters to the terminal. This makes it possible for the telecommunication network to undertake a change in the service on its part and inform the terminal, for example, if the service is to be kept active only for a certain period of time, and deactivate automatically after this time elapses. 
     According to the invention, the server, in the case of a negative check, can deactivate the service for the data object, assign a parameter value indicating the inactive status to the control parameter, and store the data object in the second data base with the new control parameter value. Preferably then the data object with the changed control parameter can be transmitted to the communication terminal through synchronization of the second data base with the first data base, and the original data object can be replaced by the new data object in the first data base. This restores the original status of the data base object, i.e., the desire for a change is rescinded. 
     The data object can be checked by a server that is linked to the second data base. In this case, this server can centrally control the network-side data base and administer the service. However, preferably the service can also be administered from a second server, whereby the first server transmits the data object, or at least the control parameter or parameters of the data object for checking to the second server, which checks the data object in particular in regard to activation of the service. 
    
    
     
       Further features, advantages and advantageous embodiments of the invention-specific procedure are explained using the following specification, with reference to the figures. 
       Shown are: 
         FIG. 1 : a schematic sequence of the procedure with a positive check of an activation of a network-administered service for a first data object and a deactivation of the service for a second data object. 
         FIG. 2 : a schematic sequence of the procedure with a negative check of an activation of a network-administered service for a first data object and a deactivation of the service for a second data object. 
     
    
    
     Following this the invention is explained in more detail using two embodiment examples. A telephone book contact is used as the data object by way of example. The terminal, for example a cell phone, is designated as the client in what follows. 
     The invention-specific procedure is based on the use of a synchronization protocol for adjustment of telephone book contacts that are stored, for example, in the form of virtual business cards (vCards) with all the contact data of a person as a data file in an address book on the client, whereby parameters that are additional as compared with a usual vCard are assigned to the data object or a parameter file is assigned. These parameters are used to control particular services of the telecommunication network that make special functions available to a data object. For example, one such service can be the Preferred Group Feature, which is known under the designation MyFaves. With this service, a group of friends, or the telephone numbers assigned to them, can be selected. These are always pictorially indicated on the display and can be selected directly. 
     The client and network server can assign parameter values to the various control and status values, to request, control or deal with features of the service, depending on the wishes of the user of the client, and within the framework of the transaction rules used within the network. The client is in a position to change data of the data object, including the control parameters that govern the network services like the Preferred Group Feature as per the wishes of the user of the client. Further, the client can store the supplementing parameters in its contact data base and upload changes to the content of the data base through synchronization operations by means of the SyncML synchronization protocol to a data base connected with a server of the network. 
     Therefore, one core aspect of the procedure is to use one unaltered standard SyncML procedure of two data bases and, via a suitable parameterization of data objects, obtain a procedure for handling of changes that goes beyond the data base synchronization. 
     The network uses various transaction rules to validate the changed control parameters. The result of this validation can be acceptance or rejection of the request of the client user. The result can be used to assign certain values to the control and/or status parameters assigned to the data object. The data object thus altered can be loaded onto the client as part of the maintained synchronization process. The client can lastly store it in its data base, with the original data object being overwritten. The client then behaves according to the control parameters assigned to the object, which it has obtained from the network server. The control parameters can relate to standardized parts of the data object. For example, a “service active” control parameter can be provided, which indicates that the standard telephone number, which for a data object is known in the form of a virtual business card, is linked with a Preferred Group service. 
     Parallel to the synchronization procedure, during which the client is connected with the server, the network server additionally can send the client a simple text message, especially an SMS, to inform the user regarding acceptance or rejection of a change in the service for the data object concerned. 
     As an example for the invention-specific procedure, in what follows a data object is given in the form of a virtual business card with an expanded parameter file for controlling the “MyFaves” Preferred Group service. The parameter file is defined as follows: 
     TMO-Faves=“X-TMO-MYF” “;” myf_count_param “;” myf_id_param “;”
 
myf_uipos_param “;” myf_status_param “;” myf_number CRLF
 
where the parameter myf_count_parameter describes the maximum number of members within the group, myf_id_param describes an identification number of the contact within the group, myf_uipos_param describes a numerical indication of the position for representation of the contact on the display of the terminal, myf_status_param describes a parameter for dealing with changes in the group adjustments between client and server with the values “assign,” “withdraw,” or “active,” and myf_number describes the telephone number of the contact.
 
     The parameter file defines a group adjustment, i.e. an adjustment assigned to a data object that describes the behavior and the position of the data object within the group and relative to other data objects of the group. The client can make changes in the individual parameters of the parameter file. Changed data objects are only temporarily valid, i.e. for brief periods. To achieve permanent validity, a check of the change or approval of a change by the network is required. For this, the client loads the data object with its changed values of the “X-TMO-MYF” type to the network server. The network then verifies the changes to the data object and in the event the changes are approved, transmits the data object with at least one changed control parameter via the synchronization process back to the client, which replaces the temporary contact by the approved contact, transmitted by the network, in its address data base. The address book of the client remains unaltered if the synchronization is not performed successfully. The synchronization is aborted, if the network server declines to accept the changes in the data object. 
     The network server administers the network-side data base, i.e., the Net-side Address Book (NAB), to which the client transfers the data object or by which the client establishes a synchronization connection. This network server is connected with the second data base, and can have access to its contents. The changes in a data object are validated in this example by a server administering the service. This is designated in  FIGS. 1 and 2  as the MyFaves Server. 
     If verification of the parameter changes is unsuccessful, a text message can be sent from the net address book to the client. This can, for example, be a standard SMS, that is sent to the SMS post-input of the client, or an SMS0, that is displayed directly on the client&#39;s display. The message contains an error notification for it. Sending a text message for inform the user is therefore advantageous, because the SyncML protocol does not have the capability to display whether service-specific functions are successful or unsuccessful. The standard text messages are transparent to the SyncML layer of the client, and preferably group-logical. 
     Along with the option that the client can make changes in the expanded parameter file of a data object, also the net address book or the server administering the service can perform an appropriate change in a parameter of the expanded parameter file of the “X-TMO-MYF” type, and initiate a synchronization. While doing this, the net address book or the MyFaves servier can allocate a value of “assigned,” for example, to the status parameter, if the service for that data object is activated by the network; allocate the parameter value of “modified,” if a parameter has undergone a change in the parameter file; or allocate the parameter value of “withdrawn” if the service for the data object has been deactivated from the network. 
     The invention-specific mechanism ensures a uniformity between the standard objects contained in the first data base without an expanded parameter file and such data objects with an expanded parameter file on the client and the network server. 
     In what follows, an account is given of an example of a client-base change of a preferred contact. To summarize, the invention-specific procedure is as follows: a desire of the user to make a change leads to a changed data object directly in the client data base. This is then synchronized to the NAB data base. The NAB changes the object (MYF_STATUS) according to its internal rules and synchronizes the changed object again with the client. This is clarified as follows: 
     First the user of the client selects the “change preferred contact” option. The Change Menu includes various cases as follows: 
     Case A: activation of service for a new contact
         From the address book of the client, the user selects a contact for which he would like to activate the special service of the network. After a user input for this, the client performs the following steps:
           Allocates a suitable X-TMO-MYF type with “MYF_STATUS=assign” and further Preferred Group parameters to the object in the contact data base as per the user input   Uploads the changed contact to the net address book.   
               

     The changed content can have the following content, for example: 
     “X-TMO-MYF; MYF_CNT=5; MYF_ID=2; MYF_UIPOS=3; 
     MYF_STATUS=assign:+4922893612345&lt;CR&gt;” 
     Upon receipt of the changed contact, the net address book verifies the changes using certain transaction rules. For example a check can be done of whether, with the allocation of the service to the new contact, a pre-set overall number is exceeded, only for which the service can be set up. In the case of the MyFaves service, it is only possible to select five contacts for which the service can be drawn upon. Further, as a transaction rule, a check can be done of when the last change was and whether, since that time, a pre-set period of time has commenced. For example, as also with the MyFaves service, provision can be made that a change in the data object or objects, for which the service is active, can only be made once a month. The net address book can do the verification that a request of this is made to a second network server, especially the MyFaves server, which administers the service and applies the transaction rules for it. 
     In the event of a successful verification, the following steps are carried out
         the net address book    changes the status of the data object to “MY_STATUS=active” and transmits the preferred contact to the client with the following content for example:       

     X-TMO-MYF; MYF_CNT=5; MYF_ID=2; MYF_UIPOS=3; 
     MYF_STATUS=active:+4922893612345&lt;CR&gt;″
          sends a text message to the terminal   Thereupon, the client performs the following steps    updates the telephone book contacts, i.e., stores the new data object by replacing the old data object in the contact data base    checks the group status for data consistency of the telephone book    updates the screen display on the client for depiction of the changed Preferred Group    displays the received text message       

     In the event of an unsuccessful verification, the following steps are carried out:
         The net address book
           changes the status of the data object to “inactive” by deleting the X-TMO-MYF parameter and transferring the contact to the client while omitting the X-TMO-MYF parameter. This means that from the viewpoint of the used synchronization protocol, what is dealt with is a successful data synchronization; from the viewpoint of the Preferred Group Feature application, what is dealt with is a rejection of the user request. Only via the status of the back-synchronized object is an indication given to the client that a change has not taken place.   sends a text message to the terminal, to inform the user regarding the instance of fault.   
           Thereupon the client takes the following steps:
           Updates the telephone book contacts, i.e., stores the received data object by replacing the old data object in the contact data base, from this the original status of this object again is produced   Checks the group status for data consistency of the telephone book   Displays the received text message   
               

     Case B: Allocation of a new contact to an identification number within the group, which is already occupied by another contact. An appropriate representation of this scenario is depicted in  FIGS. 1 and 2 .
          The user indicates via an appropriate input to the client that he desires the change of a preferred contact    The client transfers a new preferred contact with the status MYF_STATUS=assign and the old preferred contact with the status MYF_STATUS=withdraw to the net address book NAB via a synchronization process. These have the content, for example:   “X-TMO-MYF; MYF_COUNT=05; MYF_ID=2; MYF_UIPOS=3;   MYF_STATUS=assign:+4922893612345&lt;CR&gt;”       

     “X-TMO-MYF; MYF_COUNT=05; MYF_ID=2; MYF_UIPOS=3; 
     MYF_STATUS=withdraw:+4922893667890&lt;CR&gt;”
         The net address book NAB verifies the change via a request to the MyFaves server.       

     In case of a successful verification the following steps are carried out which are depicted in  FIG. 1 :
         The net address book   changes the status of the data object to “MYF_STATUS=active” and the status of the old data object to inactive, i.e., “no MYF_STATUS” by omitting the X-TMO-MYF parameter, and transfers the two contacts to the client.   Thereupon the client takes the following steps:
           Updates the telephone book contacts, i.e., stores the two changed data objects by replacing the old data objects in the contact data base   Checks the group status for data consistency of the telephone book   Updates the client&#39;s screen display for depicting the changed Preferred Group   Displays the received text message   
               

     In the event of an unsuccessful verification, the following steps are carried out, which are displayed in  FIG. 2 :
         The net address book transfers the contacts with their original settings to the terminal, i.e., that the status for the old contact remains unchanged, MYF_STATUS=active, and the requested new contact remains as a standard contact with no expanded parameter file, “no X_TMO_MYF” content line.   Additionally, the net address book NAB sends an error message in the form of a text message to the client.   Thereupon the client takes the following steps:
           Updates the telephone book contacts, i.e., stores the received data object by replacing the old data objects in the contact data base, thus the contacts are again in their old status before the change request   Checks the group status for data consistency of the telephone book   Displays the received text message   
               

     In the case of a change in a preferred contact by the network, the following steps can be taken:
         Change a contact through access to the net address book, for example by means of a user WEB or Customer Care WEB application;   On the network side, the network address book initiates a synchronization of the data base with the data base of the terminal;   the network address book, by means of the synchronization download, transfers to the terminal all changed preferred contacts, i.e., contacts with a new allocation, modification or deletion of the X-TMO-MYF type.   The net address book issues a text message about the changed contacts to the terminal   The terminal thereupon takes the following steps:
           Updates the telephone book contacts   Checks the group status for data consistency of the telephone book   Updates the client&#39;s screen display to depict the changed Preferred Group   Displays the received text message