System and device for data management, and method thereof

Provided are a data management method, device and system for synchronizing data without prior knowledge of the data's structure. When any application is activated, application data is created and also an application data change log is created to indicate a change in the application data. In addition, a schema table defining a data structure for storing the application data is created and also a schema table change log indicating a change in the schema table is created. Based on such data and logs, a client and a server can share data without a prior agreement in data schema.

PRIORITY

This application claims priority under 35 U.S.C. §119(a) to an application filed in the Korean Intellectual Property Office on Aug. 31, 2009, and assigned Serial No. 10-2009-0081395, the contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to data management and more particularly to a data management method, device and system for allowing data, created by an application activated in a client or server, to be stored, transmitted and synchronized without a particular agreement in data schema.

2. Description of the Related Art

With the advent of new techniques and functions arousing customers' interest, the market of mobile devices is experiencing rapid and strong growth. Moreover, dramatic advances in mobile communication technology are allowing traditional mobile devices to have a variety of applications that meet customers' demands. Therefore, users of mobile devices today come to use information in various forms of voice, text, graphics, etc. and to enjoy music, broadcast television, games, etc.

The use of various functions in a mobile device produces a large amount of data. For example, in the case of a phonebook function, a mobile device often extends a data structure in order to record additional data entered by a user. Also, a mobile device stores and manages various image data, depending on the data structure supported by a camera application.

Meanwhile, a user of a mobile device may often desire to transfer data stored in a mobile device to other media. For example, due to a limited memory capacity of a mobile device, or for the purpose of data backup, a user may want to transmit or copy data in the memory of a mobile device to a server or a personal computer. For such transmission and storage of data, a device and a server should reach in advance a particular agreement in data schema.

Traditionally, standards organizations such as the W3C (World Wide Web Consortium), IETF (Internet Engineering Task Force) and others have created standards for data exchange between devices. Based upon such a standard, the devices may perform a synchronization process for data transmission. However, since such a standard is generally not automatically applied to new applications, it is normally required to perform an additional process to match data created by any application with a traditional standard in order to allow data transmission between a device and a server. Additionally, a device and a server should involve a parser and a builder in order to share data created by any application. Unfortunately, this may cause a burden of constructing a parser and a builder for each application and of distributing them to a device and a server.

BRIEF SUMMARY OF THE INVENTION

Accordingly, the present invention addresses the above-mentioned problems and/or disadvantages and offers least the advantages described below.

Aspects of the present invention provide a data management method, device and system for allowing a client and server to share data, created by an application, without being restricted by a particular data schema.

According to one aspect of the present invention, a data management system is provided, which includes a client device configured to store an application data change log and a schema table wherein the application data change log indicates at least one of creation, modification and deletion of application data created by activation of an application and wherein the schema table defines a data structure for storing the application data; and a server device configured to receive at least one of the schema table and the application data from the client device through a communication channel with the client device, to apply the creation, modification and deletion to the application data, based on the schema table, and to store the application data.

According to another aspect of the present invention, a data management device is provided which includes a memory unit configured to store at least one application and at least one data item among application data created by activation of the application, an application data change log indicating a change in the application data, a schema table defining a data structure for storing the application data, and a schema table change log indicating a change in the schema table; at least one of a radio frequency unit and a connection interface configured to establish a communication channel for transmitting the at least one data item; and a control unit configured to control transmission of the at least one data item through the communication channel in response to an input signal.

According to still another aspect of the present invention, a data management method is provided for a system having a client device and a server device, the method including at the client device, creating respectively application data related to a specific application, a schema table defining a data structure for storing the application data, and an application data change log indicating creation, modification and deletion of the application data; at the client device, storing the application data, the schema table, and the application data change log; at the client device, transmitting the application data and the schema table; and at the server device, storing the application data, based on the schema table.

According to yet another aspect of the present invention, a data management method is provided for a device, the method including creating application data related to a specific application, a schema table defining a data structure for storing the application data, and an application data change log indicating creation, modification and deletion of the application data; and storing the application data, the schema table, and the application data change log.

DETAILED DESCRIPTION OF THE PRESENT INVENTION

Non-limiting embodiments of the present invention will now be described more fully with reference to the accompanying drawings. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, the disclosed embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. The principles and features of this invention may be employed in varied and numerous embodiments without departing from the scope of the invention.

Furthermore, well known or widely used techniques, elements, structures, and processes may not be described or illustrated in detail to avoid obscuring the essence of the present invention. Although the drawings represent embodiments of the invention, they are not necessarily to scale and certain features may be exaggerated or omitted in order to better illustrate and explain the present invention.

Among the terms set forth herein, “data” refers to all kinds of information created by any activated application. Data may include a schema table being variable according to the activation of applications, a schema table change log created by a change in data schema, application data created by the activation of applications, and an application data change log indicating the creation, modification and deletion of application data.

A “schema table” refers to an orderly arrangement of data schema that defines a data structure of application data.

When a data structure is changed to accept the creation, modification and deletion of a specific application, data schema is also changed. A schema table change log refers to a record to indicate the update of a schema table depending on a change in such data schema.

“Application data” may include data created while an activated application performs a particular function according to a given schedule, data created in response to an input signal invoked by a user's request, and data received from any external entity by an application.

An “application data change log” refers to a record which indicates the creation, modification or deletion of application data.

“Schema information” is a description of a data structure and, for example, defines the form of a data structure required for storing application data.

FIG. 1illustrates a data management system with a client-server structure in accordance with an embodiment of the present invention.

Referring toFIG. 1, the system is composed of a client device100(client) and a server device200(server).

The server200establishes a communication channel with the client100at a user's request. The server200may receive data from the client100or transmit data to the client100. Particularly, the server200may receive at least a schema table and application data from the client100and then store it in a memory unit. The client100creates both a schema table change log and an application data change log. Depending on those logs, the client transmits a schema table and application data. Additionally, the server200may transmit at least one of a schema table and application data to the client100, depending on the schema table change log and an application data change log created by the server200.

AlthoughFIG. 1depicts a personal computer as the server200, other equivalents may be also used as the server200. In some cases, the server200may be the same type of device as the client100, or may have the same functional elements as the client100has. For example, if the client100has an RF unit and a connection interface in order to establish a wired or wireless communication channel with the server200, the server200may have the same elements, namely, an RF unit and a connection interface, and further have a memory unit to store data received from the client100. In order to receive a schema table and application data from the client100and store them in the memory unit, the server200may have the same element as a control unit of the client100. Thus, respective elements of the client100to be described hereinafter may be also applied to the server200.

The client100may have various applications. For example, the client100may have a camera module, a media player module, a file search module, a broadcast television reception module, etc., and further store applications suitable for respectively operating such modules. When each application is activated, the client100may create a new data structure or load an existing data structure.

In addition, the client100may apply the creation, modification and deletion of application data to a data structure. In this process, the client100may obtain data schema information about a data structure and then store it as a schema table. Additionally, the client100may separately store a schema table change log based on the creation, modification and deletion of a data structure. When a selected application is activated, the client100initializes the activated application and then performs a particular function at a user's request or according to a given schedule. While such an application is running, the client100may create, modify or delete application data. The client100may create, modify or delete a data structure to which application data is applied. Here, the client100may generate and store an application data change log with regard to the creation, modification and deletion of application data. The client100may obtain data schema information with regard to the creation, modification and deletion of a data structure and then store it as a schema table. The client100may generate a schema table change log, depending on the creation of a schema table.

Consequently, the client100stores application data produced by the execution of a selected application, an application data change log recording a change in application data, a schema table regarding a data structure, and a schema table change log produced by a change in a schema table. However, a data structure may remain unchanged even though application data is created, modified or deleted. In this case, since there is no change in data schema, a schema table is also unchanged and therefore a schema table change log is not produced, except that a data table for application is created first. The client100may be a mobile device, a Personal Digital Assistant (PDA), a personal computer, a notebook, or any other electronic device. The structure of the client100will now be described hereinafter with reference to the accompanying drawings.

FIG. 2is a block diagram illustrating the configuration of a device used as a client or server in accordance with an embodiment of the present invention.

In the following description, a mobile device inherently having a mobile communication function is used as an example of a client device100. This is, however, only one embodiment and not to be considered as a limitation of the present invention. As mentioned above, the client device100may be a personal computer, a notebook, or any equivalent. In this case, an RF unit to be discussed below may be interpreted as any kind of communication module for access to a mobile communication network or any other communication network through a wireless access point (AP), local area network (LAN) or the like. Additionally, the configuration of the client device100to be described hereinafter may be equally applied to the server device200shown inFIG. 1. In other words, the devices discussed below may be employed as both the client and server.

Referring toFIG. 2, the client device100includes a radio frequency (RF) unit110, an input unit120, an audio processing unit130, a display unit140, a memory unit150, a connection interface170, and a control unit160.

The client device100having the above elements may activate at least one of applications stored in the memory unit150by a user's request. Here, an activated application may create, modify or delete application data, and the client device100may create a schema table change log regarding a change in a data structure that may be influenced by at least one of the creation, modification and deletion of application data. When a data structure is changed, the client device100may create a schema table and then create and store a schema table change log recording the creation of a schema table. The client device100may also create and store an application data change log to record at least one of the creation, modification and deletion of application data caused by an activated application. Through the above process, the client device100may create and store at least one of a schema table change log, a schema table, an application data change log, and application data.

Thereafter, based on a schema table change log and an application data change log, the client device100may control the transmission of at least one of a schema table and application data to the server device through the RF unit110or the connection interface170at a user's request. For this, the client device100may establish wired and/or wireless communication channels with the server device through the RF unit110or the connection interface170. Therefore, the client device100not only stores a schema table and application data in the memory unit150, but also transmits application data to the server device. Thus, without explicitly sharing the data schema, the server device can store application data in the same way as it is stored in the client device100. Now, each individual element will be described in detail.

The RF unit110may include an RF transmitter which up-converts the frequency of signals to be transmitted and amplifies the signals, and an RF receiver which amplifies received signals with low-noise and down-converts the frequency of the received signals. Particularly, under the control of the control unit160, the RF unit110may establish a communication channel to transmit at least one of application data and a schema table stored in the memory unit150to the server device. For example, the RF unit110may transmit data, created under the control of the control unit160, according to predefined protocol, such as HTTP, FTP, TCP/IP and the like. Here, data created by the control unit160, such as application data, a schema table, an application data change log and a schema table change log, may be converted into a suitable form for transmission based on protocol when selected for transmission. Data creation by the control unit will be described in detail later.

The input unit120includes a plurality of input keys and special function keys that are configured to receive user's instructions. The function keys may include navigation keys, side keys, shortcut keys, and any other special keys. The input unit120creates various key signals in association with user's instructions and delivers them to the control unit160. The input unit120may create an input signal for selecting one of various applications at a user's request, an input signal for storing application data and a schema table in the memory unit150, and an input signal for transmitting application data and a schema table to the server device, and then may deliver a created input signal to the control unit160.

The audio processing unit130includes a speaker (SPK) for outputting audio data and a microphone (MIC) for receiving audio signals. The audio processing unit130may output a specific audio signal depending on the activation of a particular application or may control the reception of audio signals at the request of an application. Such audio signals may be considered as a kind of application data produced depending on the activation of an application.

When a selected application is activated, the display unit140outputs a given page related to such activation. For example, if a communication service application such as a voice call or a video call is activated, the display unit140displays a prearranged page of an incoming or outgoing call. If a phonebook application is activated, the display unit140displays information contained in a phonebook in a prearranged form. If a media player application is activated, the display unit140displays a given image in a played file. In other words, the display unit140outputs predetermined image, page, information, etc. according to the activation of each application.

Additionally, when the server device is in a wired or wireless connection, the display unit140may display an icon or image for indicating a connection state on part or all of a screen. Furthermore, when data stored in the memory unit150is transmitted, the display unit140may display a suitable icon or image for each progressing step to indicate an attempt at transmission, a transmission-in-progress, or a completed transmission.

The display unit140may be formed of a Liquid Crystal Display (LCD), an Organic Light Emitting Device (OLED), or any other equivalent. In the case of an LCD, the display unit140may be composed of an LCD controller, a data memory and an LCD panel. In some embodiments, the display unit140may be formed by a touch screen which may be combined as the input unit120.

The memory unit150stores a variety of programs required for the operation of the client100and related data. The memory unit150may consist of a program region (App) and a data region (DB).

The program region (App) may store an operating system (OS) for booting the device, and applications required for various options of the device, such as a media player, an application for file searching, an application for receiving broadcast media, and the like. Particularly, the program region (App) may store a schema-free application for supporting schema-free functions. Specifically, a schema-free application is composed of several modules such as a data sync manager, a sync engine, an application data adapter, a schema adapter and a database manager, and is loaded in the control unit160by the request of the control unit160when a specific application is activated.

The data region (DB) stores data created while a certain application is activated. For example, the data region (DB) may store application data associated with various options of the device, such as user-recorded data, audio data, video data, phonebook data, content, or any other user input data. Particularly, the data region (DB) may store at least one of a schema table change log, a schema table, an application data change log, and application data.

When an input signal for activating a phonebook application is produced through a menu or hot key, the client device100activates a phonebook application stored in the program region (App) and outputs a suitable page on the display unit140. Here, a user may enter instructions to create, modify or delete any user data in a phonebook page. In response to user's instructions, the client device100changes user data stored in a phonebook, and the phonebook application stores such changed user data in a data structure predefined by the manufacturer. Here, the client device100obtains schema information defining a data structure and, based upon it, creates a schema table. Then the client device100further creates and stores a schema table change log which records a change in a schema table. Here, the user data may correspond to application data of a phonebook application and may be created, modified or deleted in response to a suitable input signal.

As application data is changed, the data structure may be also changed. For example, if there is a need to store eleven sets of user data in a data structure having a tree for ten sets of user data, a phonebook application may change a data structure to a new one, in a designed manner, which allows storing eleven or more sets of user data. Once the data structure has changed, the client device100may create a schema table and a schema table change log.

In another case, a phonebook application may change application data without necessarily changing the data structure. Namely, when a user deletes or modifies a selected user data, a phonebook application may delete or modify selected application data without changing the data structure itself. The client device100also creates an application data change log for recording a change in application data. In this process, the client device100creates and stores both the application data and the application data change log without updating the schema table and the schema table change log.

In summary, when any application is activated, the client device100creates, modifies and deletes application data and then stores an application data change log to record the change in application data. Also, when a data structure is created, modified or deleted during the above process, the client device100creates a schema table and a schema table change log to record the creation of a schema table and then stores them. When a schema table is not changed, the client device100creates and stores only application data and an application data change log without a new schema table and a schema table change log. However, the client device100may create a new schema table and a schema table change log when the client device100creates the initial application data or the initial schema table.

The connection interface170is configured to establish a communication channel with the server device. For example, the connection interface170may be formed with a USB interface, an UART interface, a short distance communication module, and the like. If the connection interface170is a wired interface, the client device100and the server device may further have a signal line that allows transmission and reception of signals through the connection interface170. In the connection interface170, the number of connecting pins and the shape of a communication module may be varied according to the type of interface.

The control unit160controls the general operation of the device and the flow of signals between the above-discussed elements. Particularly, in order to share non-prearranged data schema with the server device, the control unit160according to an embodiment of this invention may include elements shown inFIG. 3.

FIG. 3illustrates a detailed configuration of the control unit shown inFIG. 2. Referring toFIG. 3, the control unit160may include a data sync manager161, a sync engine163, an application data adapter165, a schema adapter167, and a database manager (DBM)169. In addition, the control unit160may further activate an application162in response to an input signal delivered from the input unit120. As discussed above, these elements are usually stored in the memory unit150and then, in response to a user's request or a call by the control unit160, are temporarily loaded in the control unit160to facilitate the storage and transmission of data.

The application162supports particular functions of the client device100. The application162may be selected depending on an input signal received from the input unit120or a given schedule. For example, when a given initialization process is completed after power-on, the client device may activate a communication service application and maintain an idle state. If the input unit120sends an input signal for web access, the application162may be a web application that supports access to a specific web server device through the RF unit110. The application162may be one of various software programs stored in the memory unit150or one of many programs supporting respective modules for executing particular functions in the client device100. When any data is created, the application162delivers it to the database manager169.

The database manager169receives and stores application data created by the application162and then, based on application data, creates an application data change log. Additionally, the database manager169also manages a schema table that contains data schema created by the activation of the application162. The database manager169also creates a schema table change log depending on the creation and change of a schema table. Meanwhile, the database manager169may deliver an application data change log and a schema table change log to the data sync manager161.

The data sync manager161offers an API (Application Programming Interface) for a synchronization operation and also provides a change log API when receiving a synchronization request from the application162. In addition, while performing a synchronization operation, the data sync manager161examines whether there is a schema table change log by using the database manager169. If there is a schema table change log, the data sync manager synchronizes the schema table. Thereafter, by examining the application data change log, the data sync manager161determines whether there is application data to be transmitted. If an application data change log indicates that there is application data to be transmitted, the data sync manager161retrieves the application data and supports transmission thereof.

The sync engine163is configured to transmit a schema table or application data to a sync engine of the server device, under the control of the data sync manager161. Additionally, the sync engine163delivers data received from the server device, namely, application data or a schema table, to the application data adapter165or the schema adapter167. If there is a synchronization request for data transmission after the client establishes a communication channel with the server device, the sync engine163converts at least one of an application data and a schema table into specific commands under the control of the data sync manager161and then sends it through a communication channel. Here, specific commands are formatted such that they are recognizable by the sync engine. The server device also has the same sync engine and receives commands from the client. If receiving specific commands from the server device, the sync engine163restores at least one of the application data and schema table indicated by the received commands. Then restored data is delivered to the application data adapter165or the schema adapter167.

The application data adapter165is disposed between the sync engine163and the database manager169, and converts application data received from the sync engine163into a suitable form for the memory unit through the database manager169. If there is a synchronization request for transmitting specific data stored in the memory unit to the server device, the application data adapter165receives application data from the database manager169under the control of the data sync manager161, converts the data into a suitable form for the sync engine163, and delivers the converted data to the sync engine163. When receiving application data from the sync engine163, the application data adapter165converts the received data into a suitable form for the memory unit and delivers the data to the database manager169.

The schema adapter167is also disposed between the sync engine163and the database manager169, and performs a similar data-mediating task regarding data schema as the application data adapter165does. Since data passing through the sync engine163may not be directly stored in the memory unit, the schema adapter167converts a schema table received from the sync engine163into a suitable form for being stored in the memory unit through the database manager169and then delivers the converted data to the database manager169. Additionally, if there is a synchronization request for transmitting specific data stored in the memory unit to the server device, the schema adapter167receives a schema table from the database manager169under the control of the data sync manager161and then delivers it to the sync engine163. For example, the schema adapter167converts a schema table into XML document format and sends it to the sync engine163.

If there is no schema table related to specific data to be transmitted to the server device, the schema adapter167may halt the transfer operation, unlike the application data adapter165which cannot halt transmission. Meanwhile, depending upon the result of synchronization, the schema adapter167may perform the creation, inquiry, update, or deletion of a schema table stored in the database manager169.

In summary, the above-discussed elements of the control unit160perform a function to store data created by the activation of the application162in the memory unit150, a function to transmit specific data stored in the memory unit150to the server device, and a function to store data received from the server device in the memory unit150.

In order to store data associated with the activated application162, the control unit160enables the database manager169to directly receive data from the application162, to individually create an application data change log, a schema table and a schema table change log, and to respectively store them.

If there is a synchronization request for transmitting specific data stored in the memory unit150, the data sync manager161of the control unit160checks through the database manager169whether there is a schema table change log in the memory unit150. If there is, the data sync manager161controls first the synchronization of the schema table. Additionally, the data sync manager161checks the application data change log stored in the memory unit150and then, based on it, controls performing the synchronization of application data. At this time, the application data adapter165and the schema adapter167receive both application data and a schema table from the database manager169under the control of the data sync manager161and converts them into suitable forms for the sync engine163.

Where data received by the sync engine163is stored in the memory unit150, the control unit160enables both the application data adapter165and the schema adapter167to convert data received through the sync engine163into a suitable form for a database and then stores it in the memory unit150. Here, if data schema to be stored in the memory unit150is changed, the control unit160updates a schema table by using a schema table received from the server device. Additionally, based on an updated schema table, the control unit160may store application data to be received later in the memory unit150.

In the case of storing data created by an activated application, each device in the data management system according to an embodiment of the present invention stores a schema table defining a change in a data structure, a schema table change log indicating a change in a schema table, application data actually changed, and an application data change log. When performing a synchronization process for data transmission, a transmitting device in the data management system determines whether to update a schema table by checking a schema table change log stored in the memory unit. If there is a schema table change log, the transmitting device sends a schema table to the counterpart, i.e., a receiving device, by using a schema table change log. Next, the receiving device updates a schema table and based on an updated schema table, may store application data to be received later. Accordingly, the system and device according to this invention may allow data sharing through transmission and stores application data without a particular agreement in data schema.

Meanwhile, the above-discussed configuration of the client100may be equally applied to the server device200in the system. Namely, the server device200may include the same elements as the client100, such as the RF unit, the display unit, the memory unit, the input unit, the audio processing unit, the connection interface and the control unit. In the case where the server device is only configured to receive data from the client and then store it, the control unit of the server device may have only the sync engine, the application data adapter, the schema adapter and the database manager among the elements in the control unit. In another case where the server device is further configured to transmit data to the client, the control unit of the server device may further have the data sync manager, just as the client does.

Now, a data management method in the aforesaid system and device according to an embodiment of the present invention will be described hereinafter with reference to the accompanying drawings.

FIG. 4illustrates a method for managing a schema table in accordance with an embodiment of the present invention.

Referring toFIGS. 1 to 4, at the outset, the client device100may activate a specific application162. While the application162is running according to an input signal from the input unit120or according to a given schedule, the client device100may receive a request for the creation of a table at step S101. Namely, when certain application data is added by the activation of the application162, when existing application data is deleted, or when the creation of a table is required due to a change in existing data, the application162may request the creation of a table.

Next, the client device100determines whether a requested table is a new one at step S103. For example, when an image capture application is activated, the client device100may capture and store images in response to the user's instructions. In this process, if an existing table is adequate to store images, a new table is not required in step S103. However, if a new table is needed to store captured images, or if an existing table should be extended, the client device100may determine instep S103that a new table is required.

If a new table is needed, the client device100obtains schema information for a new table and then stores it in a schema table in step S105. If there is an existing schema table for storing data of the application162, the client device100may update such a table.

Next, the client device100creates a table requested by the application162in step S107. Thereafter, the client device100creates a schema table change log regarding the updated schema table and then adds it in step S109. Through the above process, the client device100can perform schema table management.

On the other hand, the schema table managing method shown in FIG.4may be performed in the server device200as well as in the client device100. If a user uses the server device200to activate a specific application, application data is created in the server device200and may often change a schema table stored in the server device200. Here, the server device200may perform the same method for managing a schema table as the client device100does.

Additionally, a change in the server's schema table may be caused by a schema table offered by another client device. Specifically, if a number of client devices are connected to a single server device, the first client may update a specific schema table in the memory unit of the server device. In this case, the server device may create and store a schema table change log regarding the update of a schema table. If the second client requests a data synchronization process, the server device may transmit an updated schema table based on a schema table change log to the second client and then support the update of a schema table.

FIG. 5illustrates a method for sharing data in accordance with an embodiment of the present invention.

Referring toFIGS. 1 to 3and5, the client device100may receive a synchronization request in step S201. Specifically, a user may initiate a wired or wireless connection between the client device100and the server device200and then select a suitable menu or key for a synchronization process. Next, the client device100may receive a signal related to a synchronization request from the server device200.

The client device100then determines whether there is a schema table change log in step S203. If any schema table change log exists, the client device100performs the schema table synchronization in step S205. The client device may determine whether there is a need for an update of the schema table, depending on whether a schema table change log is stored in the memory unit. Also, the client device100may convert a schema table into a suitable form for transmission through the sync engine163by using the schema adapter167, and may transmit a converted schema table to the server device200through the sync engine163. Next, the server device200receives a schema table from the client device100and stores it. In this process, a schema table may be converted into specific commands through the sync engine163. Additionally, the sync engine163of the server device200restores received commands and delivers it to the schema adapter167of the server device200. Then the schema adapter167of the server device200converts a schema table received from the client device100into a suitable form for storage in the memory unit. At this time, if a schema table has been already stored in the memory unit, the server device200may update an existing schema table by using the received schema table.

Thereafter, the client device100synchronizes the application data in step S207. Specifically, after transmitting a schema table based on a schema table change log, the client device100determines whether an application data change log is stored in the memory unit150by using the data sync manager161. If there is an application data change log, the client device100instructs the database manager169to deliver application data stored in the memory unit150to the application data adapter165. Then the application data adapter165of the client device100converts application data into a suitable form for the sync engine163. The sync engine163in turn, converts the application data into specific commands so that the sync engine163of the server device200can receive it. Next, the server device200restores received commands through the sync engine163and stores application data in the memory unit150by using the application data adapter165.

As discussed above, in the data management method of this invention, the client device100creates a schema table and a schema table change log regarding created data and then, referring to a schema table change log, transmits a schema table to the server device200when the client device100and the server device200perform a data synchronization process. Even though there is no pre-defined agreement about how to store application data created in the client device100, the client device100and the server device200may share data by transmitting and receiving a schema table at the time of synchronization.

As the client device100transmits a schema table and application data to the server device200, the server device200may also transmit a schema table and application data back to the client100. Namely, when the server device200receives a schema table from another client device, or when a schema table is updated in the server device200, the server device200creates and stores a schema table change log and also stores an application data change log and application data. Additionally, if the server device200tries to synchronize application data with that of the client device100by a synchronization request of the client device100, the server device200determines whether to transmit an updated schema table based on the schema table change log stored in its own memory unit and then may transmit the updated schema table to the client device100. The client device100in turn updates a schema table stored in its own memory unit, depending on the received schema table, and will store application data to be received later, depending on the updated schema table.