JP2010191516A - Information synchronizing device - Google Patents

Information synchronizing device Download PDF

Info

Publication number
JP2010191516A
JP2010191516A JP2009032637A JP2009032637A JP2010191516A JP 2010191516 A JP2010191516 A JP 2010191516A JP 2009032637 A JP2009032637 A JP 2009032637A JP 2009032637 A JP2009032637 A JP 2009032637A JP 2010191516 A JP2010191516 A JP 2010191516A
Authority
JP
Japan
Prior art keywords
user
information
row
column
sub
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2009032637A
Other languages
Japanese (ja)
Inventor
Norihiko Naono
典彦 直野
Mitsutaka Okazaki
光隆 岡崎
Kunihiko Onaka
邦彦 大中
Tomohisa Ota
智久 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ripplex Inc
Original Assignee
Ripplex Inc
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 Ripplex Inc filed Critical Ripplex Inc
Priority to JP2009032637A priority Critical patent/JP2010191516A/en
Priority to PCT/JP2010/052164 priority patent/WO2010093033A1/en
Publication of JP2010191516A publication Critical patent/JP2010191516A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent that the same information is present in a plurality of lines or that addition of information is processed as a change, by synchronous processing of a plurality of tables. <P>SOLUTION: It is assumed that columns of labels and columns of values are present in the plurality of tables. About a line transmitted from an information source, the following processing is performed. When the labels are equal and when the values vary, it is assumed as update of the value, and a value imparted from the information source is overwritten into the label in a corresponding line of a synchronous target table. When the values are equal and when the labels vary, it is assumed as a change of the label, and the transmitted label is overwritten into the corresponding line of the synchronous target table. When both the labels and the values are equal, it is assumed that the change is absent, and nothing is performed to the corresponding line of the synchronous target table. When the labels and the values are not equal about all the lines of the synchronous target table, it is assumed as addition of a new line, the new line is added to the synchronous target table, and thereafter, the transmitted label and value are copied. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、複数のテーブルの同期処理に関する。 The present invention relates to synchronization processing of a plurality of tables.

近年のネットワークの普及により、1人の利用者が複数の情報端末を保有する場合が多い。また、1人の利用者が、複数のWebサービスを利用する場合も増えている。たとえば、多くの利用者は携帯電話とパーソナルコンピュータの両方を使っている。さらにまた多くの利用者は電子メール、チャット、音声通話、SNS(Social Networking Service)、情報共有など、やはり複数のWebサービスを使っている。 With the spread of networks in recent years, one user often has a plurality of information terminals. In addition, there is an increasing number of cases where one user uses a plurality of Web services. For example, many users use both mobile phones and personal computers. Furthermore, many users still use a plurality of Web services such as e-mail, chat, voice call, SNS (Social Networking Service), and information sharing.

このような状況においては、複数の情報端末やサーバ装置(以下、「サーバ」という)に存在する複数のデータベースのテーブルを同期することが望まれている。たとえば、パーソナルコンピュータに記憶されているアドレス帳に記載されている知人の電話番号を変更した時には、携帯電話の電話帳に記憶されているその知人の電話番号も自動的に変更されることが望まれている。 In such a situation, it is desired to synchronize a plurality of database tables existing in a plurality of information terminals and server devices (hereinafter referred to as “servers”). For example, when an acquaintance's phone number stored in an address book stored in a personal computer is changed, the acquaintance's phone number stored in a mobile phone's phone book is also automatically changed. It is rare.

また、利用者が複数のWebサービスの認識票を使い分けるのは煩雑である。そこで、あるWebサービスの上で、他のWebサービスの認識票を管理することも行われている。この場合には、各Webサービスの知人情報を管理する複数のテーブルを同期することに対する要求がある。複数の情報端末において、電子メールを送受信する場合も同じように、メールボックスを構成するデータベースを同期したいという要求がある。これらデータベースを構成する複数のテーブルは、同じサーバに存在することもあれば、異なるサーバに散在している場合もある。 In addition, it is complicated for the user to use different identification tags for a plurality of Web services. Therefore, management of identification tags of other Web services is also performed on a certain Web service. In this case, there is a request for synchronizing a plurality of tables for managing acquaintance information of each Web service. Similarly, when sending and receiving e-mails in a plurality of information terminals, there is a request to synchronize the databases constituting the mailbox. The plurality of tables constituting these databases may exist on the same server or may be scattered on different servers.

このようなテーブル間の同期に対する要求は、広く認識されてきた。このため、テーブル間の同期の手法が幾つか知られている。そのほとんどは、データベース管理システムより、同期すべきテーブルに対して追加、変更または削除の要求があった場合に、同期対象のテーブルに対して新たな行の追加、指定された行の変更または削除を実行するものである。たとえば、特許文献1には複数の情報端末に存在するメールボックスの同期の方法が開示されている。またたとえば、特許文献2にはネットワークで接続されたパーソナルコンピュータ、サーバ、プリンタ、機能複合型複写機等などに存在する複数のアドレス帳を同期する方法が開示されている。さらに、特許文献3には、同期対象のテーブルにおいて、その内容が同一である複数の行が検出された場合には、これら複数の行を統合することで、同期時の利便性を高めるための方法が開示されている。 Such a requirement for synchronization between tables has been widely recognized. For this reason, several methods for synchronization between tables are known. In most cases, when a database management system requests to add, change, or delete a table to be synchronized, a new row is added to the table to be synchronized, or a specified row is changed or deleted. Is to execute. For example, Patent Document 1 discloses a method for synchronizing mailboxes existing in a plurality of information terminals. Further, for example, Patent Document 2 discloses a method of synchronizing a plurality of address books existing in a personal computer, server, printer, function composite copying machine, etc. connected via a network. Further, in Patent Document 3, when a plurality of rows having the same contents are detected in a synchronization target table, the plurality of rows are integrated to improve convenience during synchronization. A method is disclosed.

特開2006−164067号公報JP 2006-164067 A 特開2001−249882号公報JP 2001-249882 A 米国特許第7,080,104号明細書US Pat. No. 7,080,104

しかしながら、従来の方法には次のような問題点がある。図1を参照して、複数のテーブルを同期する際の、従来の方法に関する問題点について説明する。いま図1に示すようにサーバに記憶されている利用者Aの第1テーブル110および携帯端末に記憶されている利用者Aの第2テーブル120が同期対象だったとする。このサーバと携帯端末はネットワークで接続されている。上記2つのテーブルは、利用者Aによる書き換えや、他者からの情報開示に応じて同期する。図1の例では、これら2つのテーブルはユーザ名、ラベル、値、および行番号の4列を有する。 However, the conventional method has the following problems. With reference to FIG. 1, problems associated with the conventional method when synchronizing a plurality of tables will be described. Assume that the first table 110 of user A stored in the server and the second table 120 of user A stored in the mobile terminal are to be synchronized as shown in FIG. This server and the mobile terminal are connected via a network. The two tables are synchronized according to rewriting by the user A and information disclosure from others. In the example of FIG. 1, these two tables have four columns: username, label, value, and row number.

従来の方法では、同期は、各テーブルにおける行番号および列番号を基準として用いられて実行される。たとえば、図1において第1テーブルの利用者Bの電話番号「650−111−1111」が、利用者Aの変更操作または利用者Bからの開示操作により、「650−999−9999」に変更された場合を考える。従来の方法では、サーバは行番号n=0の値113が「650−999−9999」であることを、通信手段やネットワークを通じて携帯端末に通知し、携帯端末は行番号n=0の値123を新しい「650−999−9999」に書き換える。すなわち、2つのテーブル間で同期を実行するには、変更後の情報に加えてテーブルのどの部分が変更されたのか、すなわちテーブルの行番号および列番号が変更されたのかも合わせて通知する必要がある。 In the conventional method, synchronization is performed using the row number and column number in each table as a reference. For example, in FIG. 1, the telephone number “650-111-1111” of the user B in the first table is changed to “650-999-9999” by the change operation of the user A or the disclosure operation from the user B. Consider the case. In the conventional method, the server notifies the mobile terminal that the value 113 of the line number n = 0 is “650-999-9999” through the communication means or the network, and the mobile terminal uses the value 123 of the line number n = 0. Is rewritten to a new “650-999-9999”. In other words, in order to execute synchronization between two tables, it is necessary to notify not only the information after the change but also what part of the table has been changed, that is, whether the row number and column number of the table have been changed. There is.

しかし、テーブルに変更が加えられる際、行番号と列番号が指定できるとは限らない。たとえば、利用者Aのテーブルが図1に示す初期状態にあるとして、「利用者Bの電話番号は650−999−9999である」という情報がサーバに対して通知されたとする。この時、変更を加えるべき行番号と列番号が指定されない場合がある。たとえば、利用者Bの情報端末は、図1に示すテーブルを持っておらず、この変更通知が、利用者Bの情報端末からの通知である場合を考える。この場合には、利用者Bの自宅の電話番号が、利用者Aの第1および第2テーブルにおいて何行目の情報なのかが通知に含まれない。また、たとえば利用者A自身が第1または第2テーブルに変更を加える場合にも、テーブルの行番号と列番号が明示的に指定されない場合もある。 However, when changes are made to the table, it is not always possible to specify row numbers and column numbers. For example, suppose that the table of user A is in the initial state shown in FIG. 1 and the server is notified of the information “user B's telephone number is 650-999-9999”. At this time, the row number and column number to be changed may not be specified. For example, consider the case where the information terminal of user B does not have the table shown in FIG. 1 and this change notification is a notification from the information terminal of user B. In this case, the notification does not include the line number of user B's home telephone number in the first and second tables of user A. Further, for example, when the user A himself changes the first or second table, the row number and column number of the table may not be explicitly specified.

このように、複数のテーブルを同期する際の問題点としては、少なくとも以下の2点を挙げることができる。すなわち、第1の問題は、同期の結果、同値情報が複数行に存在してしまう場合がある点である。第2の問題は、意図しない上書きが行われる場合がある点である。以下、これらの問題点について順次説明する。 Thus, at least the following two points can be cited as problems when synchronizing a plurality of tables. That is, the first problem is that equivalence information may exist in a plurality of rows as a result of synchronization. The second problem is that unintended overwriting may be performed. Hereinafter, these problems will be described sequentially.

第1の問題について説明する。第1の問題は、例えばテーブルの行番号と列番号が明示的に指定されない場合に発生する。今、図1に示す初期状態に対して、サーバが利用者Bの情報端末から「利用者Bの自宅電話番号は650−111−1111である」という情報を受信したとする。このとき、サーバはこれが利用者Aの第1および第2テーブルのどの部分に対する変更なのかを検知することができず、新しい情報としてn=2の行を追加した上、この行に受信した「利用者Bの自宅電話番号は650−111−1111」を加える。この時、利用者Aの第1および第2テーブルは同期するが、同期後に「利用者Bの自宅電話番号は650−111−1111」という単一の情報がn=0の行およびn=2の2つの行に存在することになる。これは電話帳の利便性を著しく損なう。 The first problem will be described. The first problem occurs, for example, when the table row number and column number are not explicitly specified. Now, suppose that the server has received information from the information terminal of user B “the home phone number of user B is 650-111-1111” for the initial state shown in FIG. At this time, the server cannot detect which part of the first and second tables of the user A is changed, and adds a line of n = 2 as new information, and then receives “ User B's home phone number adds 650-111-1111 ". At this time, the first and second tables of the user A are synchronized, but after the synchronization, the single information “the home phone number of the user B is 650-111-1111” is a row of n = 0 and n = 2. Exists in two rows. This significantly impairs the convenience of the phone book.

次に第2の問題について説明する。第2の問題は逆にテーブルの行番号と列番号が明示的に指定された場合に起こる。たとえば今、図1に示す初期状態に対して、サーバが利用者Bの情報端末から「行番号n=0の行は、会社の電話番号が650−555−5555である」という情報を受信したとする。これはたとえば、利用者Aが自分の電話帳にあらかじめ利用者Bの自宅電話番号を入力しておいた状態で、追加で利用者Bの会社の電話番号がサーバに対して開示されたような場合である。この通知を受信したサーバは、利用者Aの第1および第2テーブルにおいて、行番号n=0の行を「利用者Bの会社の電話番号が650−555−5555である」という情報によって上書きする。しかし、利用者Aにとって図1のように初期状態に存在した自宅電話番号は必要な情報であり、異なる情報である利用者Bの会社の電話番号による上書きを望まないかもしれない。このように、もし行番号と列番号が明示的に指定された場合には、意図しない上書きが実行されてしまう場合がある。これもやはり電話帳の利便性を著しく損なう。 Next, the second problem will be described. The second problem occurs when the table row number and column number are explicitly specified. For example, for the initial state shown in FIG. 1, the server has received information from the information terminal of user B that “the line number n = 0 is the company telephone number 650-555-5555”. And For example, user A's home phone number has been entered in his / her phone book in advance and user B's company phone number is additionally disclosed to the server. Is the case. Upon receiving this notification, the server overwrites the row with the line number n = 0 in the first and second tables of the user A with the information that the telephone number of the company of the user B is 650-555-5555. To do. However, the home phone number that existed in the initial state as shown in FIG. 1 is necessary information for the user A, and may not want to be overwritten with the phone number of the user B company, which is different information. Thus, if the row number and column number are explicitly specified, unintentional overwriting may be executed. Again, this greatly reduces the convenience of the phone book.

上記第1および第2の問題は、サーバが利用者Bの情報端末から情報を受信した場合を用いて説明したが、たとえば利用者Aの第1テーブルに利用者Aが変更を加えた結果を、利用者Aの第2テーブルに伝える場合にも全く同様である。つまり、複数のテーブル間の同期においては、行番号および列番号を指定した情報の追加または変更を用いても、行番号および列番号を指定しない情報の追加または変更を用いても、上記第1または第2のどちらかの問題が解決できない。 The first and second problems have been described using the case where the server receives information from the information terminal of the user B. For example, the result of the user A changing the first table of the user A is shown below. The same applies to the case of transmitting to the second table of user A. In other words, in the synchronization between a plurality of tables, the above-mentioned first information can be obtained by adding or changing information specifying row numbers and column numbers, or by adding or changing information without specifying row numbers and column numbers. Or, the second problem cannot be solved.

本願発明は、このような状況に鑑みてなされたものであり、複数のテーブルの同期に際し、同じ情報が複数箇所に発生したり、情報の追加を誤って変更として処理することで利用者にとって必要な情報が消去されたりしないような、複数テーブルの同期方法および装置を提供する。 The present invention has been made in view of such a situation, and is necessary for the user by processing the same information as a plurality of locations when a plurality of tables are synchronized or by erroneously processing addition of information as a change. Provided is a method and an apparatus for synchronizing multiple tables so that unnecessary information is not erased.

本発明の一実施形態として、第1のテーブルと第2のテーブルとを記憶する記憶手段と、
前記第1のテーブルの有する第1の行を、前記第2のテーブルの有する第2の行にコピーする第1のコピー手段と、情報端末より前記情報端末が記憶する第3のテーブルを受信する受信手段と、前記第3のテーブルの有する第3の行の第1の列にある第1の情報と、前記第2の行に含まれ、前記第1の列と同じ属性を有する前記第2のテーブルの第2の列にある第2の情報と、を比較する比較手段と、前記第1の情報と前記第2の情報が等しい場合に、前記第3の行の第4の列にある第3の情報を、前記第1の行の、前記第4の列と同じ属性を有する前記第1のテーブルの有する第5の列にコピーする第2のコピー手段と、
を有することを特徴とするサーバ装置が提供される。
As one embodiment of the present invention, storage means for storing the first table and the second table;
Receiving a first copy means for copying a first row of the first table to a second row of the second table, and a third table stored in the information terminal from the information terminal; Receiving means; first information in a first column of a third row of the third table; and the second information included in the second row and having the same attribute as the first column. Comparing means for comparing the second information in the second column of the table of the table and the fourth column of the third row if the first information and the second information are equal Second copy means for copying third information to a fifth column of the first table having the same attribute as the fourth column of the first row;
The server apparatus characterized by having is provided.

本発明の一実施形態として、第1のテーブルと第2のテーブルとを記憶する記憶手段と、
前記第1のテーブルの有する第1の行を、前記第2のテーブルの有する第2の行に第1のコピーするコピー手段と、外部情報源サーバ装置の記憶する第3のテーブルをネットワーク経由にて受信する受信手段と、前記第3のテーブルの有する第3の行の第1の列にある第1の情報と、前記第2の行に含まれ、前記第1の列と同じ属性を有する前記第2のテーブルの第2の列にある第2の情報とを比較する比較手段と、前記第1の情報と前記第2の情報が等しい場合に、前記第3の行の第4の列にある第3の情報を、前記第1の行の、前記第4の列と同じ属性を有する前記第1のテーブルの有する第5の列に第2のコピーするコピー手段と、を有することを特徴とするサーバ装置が提供される。
As one embodiment of the present invention, storage means for storing the first table and the second table;
Copying means for first copying the first row of the first table to the second row of the second table, and the third table stored in the external information source server device via the network Receiving means, first information in the first column of the third row of the third table, and included in the second row and having the same attributes as the first column Comparison means for comparing the second information in the second column of the second table, and the fourth column of the third row when the first information and the second information are equal. Copy means for second copying the third information in the first row to the fifth column of the first table having the same attribute as the fourth column of the first row. A server device is provided.

本発明の一実施形態として、第1のテーブルと第2のテーブルとを記憶する記憶手段と、
前記第1のテーブルのすべての行を、前記第2のテーブルにコピーする第1のコピー手段と、情報端末が記憶する第3のテーブルを受信する受信手段と、前記コピーの後に、前記第3のテーブルの有する第1の行の第1の列にある第1の情報と、前記第3のテーブルの有する前記第1の行の第2の列にある第2の情報とにより形成される第1の情報対を、前記第2のテーブルの有する任意の行の前記第1の列と同じ属性を示す第3の列にある第3の情報と、前記第2のテーブルの有する前記任意の行の前記第2の列と同じ属性を示す第4の列にある第4の情報とにより形成される第2の情報対と比較する比較手段と、前記第2のテーブルのすべての行について、前記比較手段により前記第1の情報と前記第3の情報が等しくなく、かつ前記第2の情報と前記第4の情報が等しくないことが検出された場合に、前記第1のテーブルに新たな行を追加し、さらに前記新たな行の前記第1の列と同じ属性を示す第5の列に前記第1の情報をコピーし、かつ前記新たな行の前記第2の列と同じ属性を示す第6の列に前記第2の情報をコピーする第2のコピー手段と、を有することを特徴とするサーバ装置が提供される
As one embodiment of the present invention, storage means for storing the first table and the second table;
A first copy means for copying all rows of the first table to the second table; a receiving means for receiving a third table stored in the information terminal; The first information in the first column of the first row of the table and the second information in the second column of the first row of the third table are formed. 3rd information in the 3rd column which shows the same attribute as the 1st column of the 1st column of the 2nd table which has 1 information pair, and the 2nd table Comparing means for comparing with the second information pair formed by the fourth information in the fourth column showing the same attribute as the second column, and for all rows of the second table, The first information and the third information are not equal by the comparing means, and the first information When it is detected that the fourth information and the fourth information are not equal, a new row is added to the first table, and a fifth attribute indicating the same attribute as the first column of the new row is added. A second copy means for copying the first information to a column of the second row and copying the second information to a sixth column showing the same attribute as the second column of the new row. A server device is provided.

本発明の一実施形態として、第1のテーブルと第2のテーブルとを記憶する記憶手段と、前記第1のテーブルのすべての行を、前記第2のテーブルにコピーする第1のコピー手段と、外部情報源サーバ装置が記憶する第3のテーブルをネットワーク経由にて受信する受信手段と、前記コピーの後に、前記第3のテーブルの有する第1の行の第1の列にある第1の情報と、前記第3のテーブルの有する前記第1の行の第2の列にある第2の情報とにより形成される第1の情報対を、前記第2のテーブルの有する任意の行の前記第1の列と同じ属性を示す第3の列にある第3の情報と、前記第2のテーブルの有する前記任意の行の前記第2の列と同じ属性を示す第4の列にある第4の情報とにより形成される第2の情報対と比較する比較手段と、前記第2のテーブルのすべての行について、前記比較手段により前記第1の情報と前記第3の情報が等しくなく、かつ前記第2の情報と前記第4の情報が等しくないことが検出された場合に、前記第1のテーブルに新たな行を追加し、さらに前記新たな行の前記第1の列と同じ属性を示す第5の列に前記第1の情報をコピーし、かつ前記新たな行の前記第2の列と同じ属性を示す第6の列に前記第2の情報をコピーする第2のコピー手段と、を有することを特徴とするサーバ装置が提供される As one embodiment of the present invention, storage means for storing a first table and a second table, and first copy means for copying all the rows of the first table to the second table; Receiving means for receiving the third table stored in the external information source server device via the network, and the first table in the first column of the first row of the third table after the copy. The first information pair formed by the information and the second information in the second column of the first row of the third table has the first information pair in any row of the second table. The third information in the third column showing the same attribute as the first column, and the fourth information in the fourth column showing the same attribute as the second column of the arbitrary row of the second table Comparing means for comparing with a second information pair formed by the information of 4; For all rows of the second table, the comparing means detects that the first information and the third information are not equal, and that the second information and the fourth information are not equal. A new row is added to the first table, the first information is copied to a fifth column indicating the same attribute as the first column of the new row, and the new table And a second copy means for copying the second information to a sixth column showing the same attribute as the second column of the row.

本発明の一実施形態として、第1のテーブルを記憶する記憶手段と、同期対象外部サーバ装置の記憶手段が記憶している第2のテーブルの第1の行を、前記第1のテーブルの有する第2の行にコピーする第1のコピー手段と、情報端末が記憶している第3のテーブルを受信する受信手段と、前記第3のテーブルの有する第3の行の第1の列にある第1の情報と、前記第2の行に含まれ、前記第1の列と同じ属性を有する前記第1のテーブルの第2の列にある第2の情報とを比較する比較手段と、前記第1の情報と前記第2の情報が等しいと前記比較手段により検出された場合に、前記第3の行の第4の列にある第3の情報を、前記第1の行に含まれる、前記第4の列と同じ属性を有する前記第2のテーブルの有する第5の列にコピーする第2のコピー手段と、を有することを特徴とするサーバ装置が提供される。 As one embodiment of the present invention, the first table has a first row of a second table stored in a storage unit that stores the first table and a storage unit of the synchronization target external server device. A first copy means for copying to a second row; a receiving means for receiving a third table stored in the information terminal; and a first column of a third row of the third table. Comparing means for comparing the first information with the second information in the second column of the first table included in the second row and having the same attribute as the first column; If the comparison means detects that the first information and the second information are equal, the third information in the fourth column of the third row is included in the first row. A second copy to the fifth column of the second table having the same attributes as the fourth column Server apparatus characterized by comprising: a copying means, is provided.

本発明の方法、サーバ、情報端末、およびデータベースなどによれば、複数のテーブルの同期に際し、一つのテーブル内に同じ情報が複数箇所に発生したり、情報の追加を誤って変更として処理することで利用者にとって必要な情報が消去されたりすることを防止できる。 According to the method, server, information terminal, database, etc. of the present invention, when synchronizing a plurality of tables, the same information is generated in a plurality of places in one table, or addition of information is processed as a change by mistake. This prevents information necessary for the user from being erased.

従来の方法による同期に係る課題を説明するためのテーブルの一例である。It is an example of the table for demonstrating the subject which concerns on the synchronization by the conventional method. 本願発明に係る同期サービスのサーバの概略構成図の一例である。It is an example of the schematic block diagram of the server of the synchronous service which concerns on this invention. 本願発明に係るサーバおよび情報端末のシステム構成図の一例である。It is an example of the system block diagram of the server and information terminal which concern on this invention. 本願発明に係る同期対象テーブルを参照する情報端末の概略構成図の一例である。It is an example of the schematic block diagram of the information terminal which refers to the synchronous object table which concerns on this invention. 本願発明に係る同期対象テーブルを有する情報端末の概略構成図の一例である。It is an example of the schematic block diagram of the information terminal which has a synchronous object table which concerns on this invention. 本願発明に係る同期対象テーブルを有するサーバの概略構成図の一例である。It is an example of the schematic block diagram of the server which has a synchronous object table which concerns on this invention. 本願発明に係る同期対象テーブルを参照する情報端末の概略構成図の一例である。It is an example of the schematic block diagram of the information terminal which refers to the synchronous object table which concerns on this invention. 本願発明に係る同期の情報源テーブルを有する情報端末の概略構成図の一例である。It is an example of the schematic block diagram of the information terminal which has the synchronous information source table which concerns on this invention. 本願発明に係る同期の情報源テーブルの初期状態のデータ例を示す図である。It is a figure which shows the example of data of the initial state of the synchronous information source table which concerns on this invention. 本願発明に係る同期対象テーブル群の初期状態のデータ例を示す図である。It is a figure which shows the example of data of the initial state of the synchronous object table group which concerns on this invention. 本願発明に係る同期処理の概略を示すフロー図である。It is a flowchart which shows the outline of the synchronous process which concerns on this invention. 本願発明に係る同期の情報源テーブルの変更後のデータ例を示す図である。It is a figure which shows the example of data after the change of the synchronous information source table which concerns on this invention. 本願発明に係る同期処理の詳細を示すフロー図である。It is a flowchart which shows the detail of the synchronous process which concerns on this invention. 本願発明に係る同期対象テーブル群の同期後のデータ例を示す図である。It is a figure which shows the example of data after the synchronization of the synchronization object table group which concerns on this invention. 本願発明に係る同期対象テーブル群の同期後のデータ例を示す図である。It is a figure which shows the example of data after the synchronization of the synchronization object table group which concerns on this invention.

以下に本発明を実施するための、形態について説明する。本発明の技術的範囲は、添付の特許請求の範囲によって明確に定義されているため、以下の説明は、単に本発明の一般原理を例示する目的で行われている。したがって、本発明は、以下の説明に限定して解釈されるべきではない。 Hereinafter, embodiments for carrying out the present invention will be described. Since the technical scope of the present invention is clearly defined by the appended claims, the following description is merely intended to illustrate the general principles of the invention. Accordingly, the present invention should not be construed as limited to the following description.

図2は、本願発明による複数テーブルの情報同期を実行する同期サービスNのサーバ200の概略構成図の一例である。同期サービスNのサーバ200は、記憶手段210(例えば、揮発性メモリ、不揮発性メモリ)、送受信手段220(例えば、通信インターフェース)、比較手段230(例えば、CPUの演算回路)、検索手段240(例えば、データベース操作プログラム)、HTML生成手段250(例えば、HTML生成プログラム)、およびコピー手段260(例えば、コピープログラム)を有する。また記憶手段210は利用者A第1テーブル211、利用者A第2テーブル212、利用者A第3テーブル213、利用者Bテーブル214、利用者A第1差分テーブル215、利用者A第2差分テーブル216、利用者A第3差分テーブル217、利用者A第2副差分テーブル218、および利用者A第3副差分テーブル219を有する。 FIG. 2 is an example of a schematic configuration diagram of the server 200 of the synchronization service N that executes information synchronization of a plurality of tables according to the present invention. The server 200 of the synchronization service N includes a storage unit 210 (for example, a volatile memory and a non-volatile memory), a transmission / reception unit 220 (for example, a communication interface), a comparison unit 230 (for example, an arithmetic circuit of a CPU), and a search unit 240 (for example, , Database operation program), HTML generation means 250 (for example, HTML generation program), and copy means 260 (for example, copy program). The storage means 210 includes a user A first table 211, a user A second table 212, a user A third table 213, a user B table 214, a user A first difference table 215, and a user A second difference. A table 216, a user A third difference table 217, a user A second sub difference table 218, and a user A third sub difference table 219.

図3は、同期サービスNのサーバ200が、ネットワーク301を通じて情報同期サービスNを利用する利用者の情報端末やサーバと接続されている状態の一例である。図3に示す一例では、利用者Aが第1情報端末311、第2情報端末321、および第3情報端末331の3台の情報端末を通じて、情報同期サービスNを利用している。利用者Aの第3情報端末331は、WebサービスXのサーバ330を介して、同期サービスNのサーバ200と接続されている。同期サービスNのサーバ200とWebサービスXのサーバ330の間にあるネットワーク301と、WebサービスXのサーバ330と利用者Aの第3情報端末331の間にあるネットワーク302は、同じネットワークであっても、異なるネットワークであってもよい。さらに図3に示す一例では、利用者Bの情報端末341がネットワーク301を通じて同期サービスNのサーバ200に接続されている。 FIG. 3 shows an example of a state in which the server 200 of the synchronization service N is connected to an information terminal or server of a user who uses the information synchronization service N through the network 301. In the example shown in FIG. 3, the user A uses the information synchronization service N through the three information terminals of the first information terminal 311, the second information terminal 321, and the third information terminal 331. The third information terminal 331 of the user A is connected to the server 200 of the synchronization service N via the Web service X server 330. The network 301 between the server 200 of the synchronization service N and the server 330 of the Web service X and the network 302 between the server 330 of the Web service X and the third information terminal 331 of the user A are the same network. Or a different network. Further, in the example shown in FIG. 3, the user B information terminal 341 is connected to the server 200 of the synchronization service N through the network 301.

図4は、利用者Aの第1情報端末311の概略構成図の一例である。利用者Aの第1情報端末は、送受信手段410、HTML解析手段420、表示手段430(例えば、ディプレし)、入力手段440(例えば、キーボード)、および記憶手段450を有する。 FIG. 4 is an example of a schematic configuration diagram of the first information terminal 311 of the user A. The first information terminal of the user A includes transmission / reception means 410, HTML analysis means 420, display means 430 (for example, display), input means 440 (for example, keyboard), and storage means 450.

図5は、利用者Aの第2情報端末321の概略構成図の一例である。利用者Aの第2情報端末は、送受信手段510、HTML解析手段520(例えば、HTML構文解析プログラム)、表示手段530、入力手段540、および演算手段550(例えば、CPUの演算回路)、および記憶手段560を有する。記憶手段560は、利用者A第2副テーブル561を有する。 FIG. 5 is an example of a schematic configuration diagram of the second information terminal 321 of the user A. User A's second information terminal includes transmission / reception means 510, HTML analysis means 520 (for example, HTML syntax analysis program), display means 530, input means 540, and calculation means 550 (for example, an arithmetic circuit of a CPU), and storage. Means 560 are included. The storage unit 560 includes a user A second sub table 561.

図6は、WebサービスXのサーバ330の概略構成図の一例である。WebサービスXのサーバ330は、送受信手段610、HTML生成手段620、演算手段630、および記憶手段660を有する。記憶手段660は、利用者A第3副テーブル661を有する。 FIG. 6 is an example of a schematic configuration diagram of the server 330 of the Web service X. The server 330 of the Web service X includes a transmission / reception unit 610, an HTML generation unit 620, a calculation unit 630, and a storage unit 660. The storage unit 660 includes a user A third sub table 661.

図7は、利用者Aの第3情報端末331の概略構成図の一例である。利用者Aの第3情報端末は、送受信手段710、HTML解析手段720、表示手段730、入力手段740、および記憶手段750を有する。 FIG. 7 is an example of a schematic configuration diagram of the third information terminal 331 of the user A. User A's third information terminal includes transmission / reception means 710, HTML analysis means 720, display means 730, input means 740, and storage means 750.

図8は、利用者Bの情報端末341の概略構成図の一例である。利用者Bの情報端末は、送受信手段810、HTML解析手段820、表示手段830、入力手段840、および演算手段850を有する。 FIG. 8 is an example of a schematic configuration diagram of the information terminal 341 of the user B. User B's information terminal includes transmission / reception means 810, HTML analysis means 820, display means 830, input means 840, and calculation means 850.

同期サービスNのサーバの利用者A第1テーブル211に格納されている情報は、HTML生成手段250によってHTMLコードに変換され、利用者Aの第1情報端末311に送信される。利用者Aの第1情報端末は、これを受信後、HTML解析手段420で解析した上、表示手段430に表示する。なお、「HTMLコード」は情報が送受信される際の一形態である。任意の構造化文書の形態を用いることができる。また、一定の構文規則にしたがって生成された文字列なども使用できる。以下の記述においても同様である。 Information stored in the user A first table 211 of the server of the synchronization service N is converted into an HTML code by the HTML generation unit 250 and transmitted to the first information terminal 311 of the user A. User A's first information terminal, after receiving it, analyzes it with HTML analysis means 420 and displays it on display means 430. The “HTML code” is one form when information is transmitted and received. Any form of structured document can be used. A character string generated according to a certain syntax rule can also be used. The same applies to the following description.

同期サービスNのサーバの利用者A第2テーブル212の情報は、送受信手段220によって利用者Aの第2情報端末321に送信される。利用者Aの第2情報端末では、これを受信後、記憶手段560の利用者A第2副テーブル561に記憶する。利用者Aの第2情報端末は、利用者A第2副テーブル561に記憶された情報を表示手段530に表示する。ここで同期サービスNのサーバ200から利用者Aの第2情報端末に送信するデータ形式、および利用者A第2副テーブル561に記憶するデータ形式は特に限定されない。任意のデータ形式を用いることができる。 Information in the user A second table 212 of the server of the synchronization service N is transmitted to the second information terminal 321 of the user A by the transmission / reception means 220. In the second information terminal of user A, after receiving this, it stores it in user A second sub-table 561 of storage means 560. The second information terminal of user A displays the information stored in user A second sub-table 561 on display means 530. Here, the data format transmitted from the server 200 of the synchronization service N to the second information terminal of the user A and the data format stored in the user A second sub-table 561 are not particularly limited. Any data format can be used.

同期サービスNのサーバの利用者A第3テーブル213の情報は、送受信手段220によってWebサービスXのサーバ330に送信される。WebサービスXのサーバ330は、受信した情報を記憶手段660の利用者A第3副テーブル661に記憶する。次にWebサービスXのサーバのHTML生成手段620が利用者A第3副テーブル661に記憶された情報をHTMLコードに変換し、送受信手段610が利用者Aの第3情報端末331に送信する。利用者Aの第3情報端末は、これを受信した後、HTML解析手段720で解析した上、送受信手段730に表示する。 Information in the user A third table 213 of the server of the synchronization service N is transmitted to the server 330 of the web service X by the transmission / reception means 220. The server 330 of the Web service X stores the received information in the user A third sub table 661 of the storage unit 660. Next, the HTML generation unit 620 of the Web service X server converts the information stored in the user A third sub-table 661 into an HTML code, and the transmission / reception unit 610 transmits the information to the third information terminal 331 of the user A. After receiving this, the third information terminal of user A analyzes it with the HTML analysis means 720 and displays it on the transmission / reception means 730.

すなわち、同期サービスNのサーバにおける利用者A第1テーブル211は、利用者Aが利用者A第1情報端末311のWebブラウザを通じて情報を閲覧するために使う。同様に利用者A第2テーブル212は、利用者A第2情報端末の利用者A第2副テーブル561と同期し、利用者Aが第2情報端末321において、利用者A第2副テーブル561の結果を表示して閲覧するために使う。さらに利用者A第3テーブル213は、WebサービスXのサーバ330の利用者A第3副テーブル661と同期するし、利用者Aが利用者A第3情報端末331のWebブラウザを通じてWebサービスXのサーバの利用者A第3副テーブル661の情報を閲覧するために使う。 That is, the user A first table 211 in the server of the synchronization service N is used by the user A to browse information through the Web browser of the user A first information terminal 311. Similarly, the user A second table 212 is synchronized with the user A second subtable 561 of the user A second information terminal, and the user A is the user A second subtable 561 in the second information terminal 321. Used to display and view the results of. Further, the user A third table 213 is synchronized with the user A third sub table 661 of the server 330 of the Web service X, and the user A transmits the Web service X through the Web browser of the user A third information terminal 331. It is used to browse information in the user A third sub table 661 of the server.

上記のような構成が使われる一例を説明する。いまたとえば、利用者Aの第1、第2、および第3テーブルは電話番号、電子メールアドレス、各種WebサービスのIDなどを管理するアドレス帳を記憶するテーブルであるとする。さらに、利用者Aの第1情報端末311はパーソナルコンピュータ、利用者Aの第2情報端末321が携帯電話機であるとする。同期サービスNの利用者Aは、パーソナルコンピュータを通じてWebブラウザで閲覧するアドレス帳と、携帯電話機のアドレス帳を同期したいという要求を持っている。利用者Aが、パーソナルコンピュータのWebブラウザを通じてアドレス帳を閲覧する際は、パーソナルコンピュータに同期すべきテーブルを持たずに、直接利用者A第1テーブル211を参照する。しかし、携帯電話の場合にはその記憶手段に利用者Aの第2テーブル212とは独立した、アドレス帳のテーブルを持っている。この独立したテーブルが上記利用者Aの第2副テーブル561に相当する。 An example in which the above configuration is used will be described. For example, assume that the first, second, and third tables of user A are tables that store an address book that manages telephone numbers, e-mail addresses, IDs of various Web services, and the like. Further, it is assumed that the first information terminal 311 of the user A is a personal computer, and the second information terminal 321 of the user A is a mobile phone. User A of the synchronization service N has a request to synchronize the address book browsed by a Web browser with a personal computer and the address book of the mobile phone. When the user A browses the address book through the Web browser of the personal computer, the user A directly refers to the user A first table 211 without having a table to be synchronized with the personal computer. However, in the case of a mobile phone, the storage means has an address book table independent of the second table 212 of the user A. This independent table corresponds to the second sub table 561 of the user A.

さらにたとえば、利用者AはSNS(Social Network Service)を使っていたとする。利用者AはSNSにおける知人のIDを上記アドレス帳と同期したいという要求を持っている。SNSにおける知人のIDは、同期サービスNとは別の事業者が、別のWebサービスXのサーバ330にテーブルを持って管理している。この別のWebサービスXのテーブルが、上記利用者Aの第3副テーブル661に相当する。 Further, for example, it is assumed that the user A is using SNS (Social Network Service). User A has a request to synchronize the ID of an acquaintance in the SNS with the address book. An ID of an acquaintance in the SNS is managed by a provider different from the synchronization service N by holding a table in the server 330 of another Web service X. The other Web service X table corresponds to the third sub table 661 of the user A.

つまり、図1から図7に示す構成では、利用者Aが次の3つの方法で同期サービスNのサーバにあるテーブルの情報を得る。第1が、同期サービスNのサーバ上のテーブルを情報端末がWebブラウザを用いて直接閲覧する場合である。第2は、同期サービスNのサーバ上のテーブルと利用者Aの情報端末上のテーブルを同期した上で、情報端末上のテーブルを閲覧する場合である。第3は、同期サービスNのサーバ上のテーブルと、他のWebサービスXのサーバ上のテーブルを同期した上で、情報端末を通じてWebサービスXのサーバ上のテーブルを閲覧する場合である。この構成は一例に過ぎず、たとえば利用者Aが上記第3の方法によって、WebサービスXおよびWebサービスYの2つのWebサービスのサーバを通じて、同期サービスNのサーバ上のテーブル群の情報を利用していてもよい。 That is, in the configuration shown in FIGS. 1 to 7, the user A obtains information on the table in the server of the synchronization service N by the following three methods. The first is a case where the information terminal directly browses the table on the server of the synchronization service N using a Web browser. The second is a case where the table on the information terminal is browsed after the table on the server of the synchronization service N and the table on the information terminal of the user A are synchronized. Third, the table on the server of the synchronization service N and the table on the server of the other web service X are synchronized, and the table on the server of the web service X is browsed through the information terminal. This configuration is merely an example. For example, user A uses the information in the table group on the server of the synchronization service N through the two web service servers of the web service X and the web service Y by the third method. It may be.

以下では、同期サービスNのサーバにある利用者A第1テーブル211、利用者A第2テーブル212、利用者A第3テーブル213、利用者Aの第2情報端末にある利用者A第2副テーブル561、およびWebサービスXのサーバ330にある利用者A第3副テーブル661が同期する方法の一例を説明する。 In the following, the user A first table 211, the user A second table 212, the user A third table 213, and the user A second sub terminal in the second information terminal of the user A are located in the server of the synchronization service N. An example of a method in which the table 561 and the user A third sub table 661 in the Web service X server 330 are synchronized will be described.

いま、初期状態として利用者Bテーブル214が図9に示す状態にあったとする。利用者Bテーブル214は、利用者910、ラベル920、値930、行番号940の4列を有する。図9に示す一例では、利用者Bの自宅の電話番号が650−111−1111であり、また利用者Bが仕事に用いる電子メールアドレスがbw@hoge.comであることを表している。図9は、本実施形態の説明に必要な行およびを抜粋したものであり、これに加えて利用者Bの他の情報を格納する列があってもよいし、利用者Bの他の情報を表す行や、他の利用者の情報を表す行があってもよい。また図9では一例として、電話番号や電子メールアドレスを例として示したが、ラベル920および値930の列に格納される情報は、図9に例示した以外の情報であっても、以下の説明は同様に適用できる。 Assume that the user B table 214 is in the state shown in FIG. 9 as an initial state. The user B table 214 has four columns of a user 910, a label 920, a value 930, and a row number 940. In the example shown in FIG. 9, the home telephone number of User B is 650-111-1111, and the email address used by User B for work is bw @ hoge. com. FIG. 9 is an excerpt of lines and necessary for the description of the present embodiment. In addition to this, there may be a column for storing other information of the user B, and other information of the user B. There may be a line indicating the information of other users. 9 shows a telephone number and an e-mail address as an example, but the information stored in the column of the label 920 and the value 930 is information other than that illustrated in FIG. Is applicable as well.

さらにいま、初期状態として、利用者A第1テーブル211、利用者A第2テーブル212、利用者A第3テーブル213、利用者A第2副テーブル561、および利用者A第3副テーブル661が図10に示す状態にあったとする。 Further, as an initial state, there are a user A first table 211, a user A second table 212, a user A third table 213, a user A second sub table 561, and a user A third sub table 661. Assume that the state shown in FIG.

なお、この一例では利用者A第2テーブルのラベル1021および値1022、また利用者A第2副テーブルのラベル1052および値1053は、他のテーブルの値が変更された時に同期の対象にならず、値が変更されない属性を有しているとする。以下では、簡単のために、テーブルの一部がこのような属性を有することを、非同期属性を有すると呼ぶ。たとえば、図10に示す各テーブルが、図10に示す列に加えて、非同期属性を表す追加の列を持ち、この列に1が格納されて入れば非同期属性とする、などの方法で各テーブルのどの情報が非同期属性であるかを表すことができる。非同期属性の指定方法は何でもよい。図10では、網掛けの部分に格納されている値1021、1022、1052、1053が非同期属性を有していることを表している。たとえば、上の説明のように利用者Aの第1情報端末311はパーソナルコンピュータ、利用者Aの第2情報端末321が携帯電話機、WebサービスXのサーバ330はSNS事業者のサーバだったとする。この場合、携帯電話機の記憶手段にある利用者A第2テーブルにある電話番号は、主として携帯電話機で利用者Aが管理している情報であるため、他の利用者からの情報開示や、他のテーブルの書き換えなどによって、自動的に同期したくないという要求があるかもしれない。図10の一例における非同期属性は、たとえば、このような要求を満たすために用いられる。 In this example, the label 1021 and value 1022 of the user A second table, and the label 1052 and value 1053 of the user A second subtable are not subject to synchronization when the values of other tables are changed. , Suppose that it has an attribute whose value is not changed. Hereinafter, for the sake of simplicity, the fact that a part of a table has such an attribute is referred to as having an asynchronous attribute. For example, each table shown in FIG. 10 has an additional column representing an asynchronous attribute in addition to the column shown in FIG. 10, and each table is set as an asynchronous attribute if 1 is stored in this column. It is possible to express which information of the asynchronous attribute. Any method can be used to specify the asynchronous attribute. FIG. 10 shows that the values 1021, 1022, 1052, and 1053 stored in the shaded portion have asynchronous attributes. For example, as described above, it is assumed that the first information terminal 311 of the user A is a personal computer, the second information terminal 321 of the user A is a mobile phone, and the server 330 of the Web service X is a server of an SNS provider. In this case, since the phone numbers in the user A second table in the storage means of the mobile phone are information managed mainly by the user A with the mobile phone, information disclosure from other users or other There may be a request that you do not want to synchronize automatically by rewriting the table. The asynchronous attribute in the example of FIG. 10 is used to satisfy such a request, for example.

次に図11を参照して、本願発明による方法で、利用者A第1テーブル211、利用者A第2テーブル212、利用者A第3テーブル213、利用者A第2副テーブル561、および利用者A第3副テーブル661が同期する方法の概要を説明する。まず、同期サービスNのサーバのコピー手段260は、図10に示す利用者A第1テーブル211、利用者A第2テーブル212、および利用者A第3テーブル213の情報を各々、利用者A第1差分テーブル215、利用者A第2差分テーブル216、および利用者A第3差分テーブル217にコピーする(ステップS1101)。また、コピー手段260が送受信手段220を通じて利用者Aの第2情報端末321に、利用者A第2副テーブル561の内容取得の要求を送る。利用者Aの第2情報端末の送受信手段がこの要求を受け取ると、記憶手段にある利用者A第2副テーブル561の情報を、送受信手段510を通じて、同期サービスNのサーバ200に送信する。同期サービスNのサーバの送受信手段220がこれを受信すると、コピー手段260はこれを利用者A第2副差分テーブル218にコピーする(ステップS1102)。さらに、コピー手段260が送受信手段220を通じてWebサービスXのサーバ330に、利用者A第3副テーブル661の内容取得の要求を送る。WebサービスXのサーバの送受信手段610がこの要求を受け取ると、記憶手段にある利用者A第3副テーブル661の情報を、送受信手段610を通じて、同期サービスNのサーバ200に送信する。同期サービスNのサーバの送受信手段220がこれを受信すると、コピー手段260はこれを利用者A第3副差分テーブル219にコピーする(ステップS1103)。 Next, referring to FIG. 11, the user A first table 211, the user A second table 212, the user A third table 213, the user A second sub table 561, and the use according to the method of the present invention. An outline of a method in which the person A third sub table 661 synchronizes will be described. First, the server 260 of the synchronization service N copies the information in the user A first table 211, the user A second table 212, and the user A third table 213 shown in FIG. The first difference table 215, the user A second difference table 216, and the user A third difference table 217 are copied (step S1101). In addition, the copy unit 260 sends a request for acquiring the contents of the user A second sub table 561 to the second information terminal 321 of the user A through the transmission / reception unit 220. When the transmission / reception means of the second information terminal of user A receives this request, the information of the user A second sub table 561 in the storage means is transmitted to the server 200 of the synchronization service N through the transmission / reception means 510. When the transmission / reception means 220 of the server of the synchronization service N receives this, the copy means 260 copies it to the user A second sub difference table 218 (step S1102). Further, the copy unit 260 sends a request for acquiring the contents of the user A third sub-table 661 to the Web service X server 330 through the transmission / reception unit 220. When the transmission / reception unit 610 of the Web service X server receives this request, the information of the user A third sub table 661 in the storage unit is transmitted to the server 200 of the synchronization service N through the transmission / reception unit 610. When the transmission / reception means 220 of the server of the synchronization service N receives this, the copy means 260 copies it to the user A third sub difference table 219 (step S1103).

なお、利用者第2副テーブルから利用者第2副差分テーブルへのコピー(ステップS1102)、および利用者第3副テーブルから利用者第3副差分テーブルへのコピー(ステップS1103)は、同期サービスNのサーバ200の外部に存在する情報端末またはサーバ上のテーブルから記憶手段210内のテーブルへのコピーである。このため、コピー手段260および送受信手段220を介して、ネットワークを経由して外部の情報端末やサーバと通信した後に、記憶手段210内の差分テーブルへのコピーが実行される。一方で、たとえば利用者A第1テーブルから利用者A第1差分テーブルへのコピー(ステップS1101)のように、同期サービスサーバNの記憶手段210内のテーブル間のコピーは、送受信手段220を経由しない。このように、同期サービスNのサーバの外部に存在する副テーブルから記憶手段210にある差分テーブルへのコピーと、記憶手段210内におけるテーブルから差分テーブルへのコピーでは、処理が異なる。しかし、同期対象となる利用者Aのテーブル群を、本発明の一実施形態に係る方法においては、同期のためのコピーという点では同じ操作である。このためこれ以後は簡単のために、コピー元またはコピー先のテーブルが、同期サービスのサーバNの記憶手段210にあるか、外部にあるかを問わず、一括してテーブル間のコピーと呼ぶ。コピー元またはコピー先のテーブルが同期サービスのサーバNの外部にある場合には、適宜に送受信手段220を介して、外部の情報端末またはサーバとの間でコピー操作をおこなうものとする。本発明によるテーブル間の同期は、そのテーブルが同期サービスのサーバNの内部にあるか外部にあるかを問わず適用できる。 Copying from the user second sub table to the user second sub difference table (step S1102) and copying from the user third sub table to the user third sub difference table (step S1103) This is a copy from a table on the information terminal or server existing outside the N server 200 to a table in the storage means 210. For this reason, after communicating with an external information terminal or server via the network via the copy unit 260 and the transmission / reception unit 220, copying to the difference table in the storage unit 210 is executed. On the other hand, for example, copying between tables in the storage unit 210 of the synchronization service server N passes through the transmission / reception unit 220 as in the copy from the user A first table to the user A first difference table (step S1101). do not do. In this way, processing differs between copying from the sub-table present outside the server of the synchronization service N to the difference table in the storage unit 210 and copying from the table in the storage unit 210 to the difference table. However, in the method according to the embodiment of the present invention, the user A's table group to be synchronized is the same operation in terms of copying for synchronization. Therefore, hereinafter, for the sake of simplicity, regardless of whether the copy source or copy destination table is in the storage unit 210 of the synchronization service server N or externally, it is collectively referred to as copying between tables. When the copy source or copy destination table is outside the server N of the synchronization service, a copy operation is performed with an external information terminal or server via the transmission / reception means 220 as appropriate. The synchronization between tables according to the present invention can be applied regardless of whether the table is inside or outside the server N of the synchronization service.

次に、同期サービスNのサーバのHTML生成手段250が利用者Bテーブル214に格納されている情報からHTMLコードを生成し、送受信手段220が利用者Bの情報端末341に送信する。利用者Bの情報端末の送受信手段810がこれを受信し、HTML解析手段820が解析した上、図9に示す利用者Bテーブル214の情報を表示手段830に表示する(ステップS1104)。次に、利用者Bが入力手段840を通じて、利用者Bが利用者Bテーブル214を、図12に示すように変更し、さらに変更の結果を利用者Aに開示する要求を入力する。図9と図12を比較するとわかるように、ここでは、自宅の電話番号「650−111−1111」931が、「650−999−9999」1231に変更された。また、電子メールアドレスbw@hoge.comに関連づけたラベル[work email]922が、「home email」1222に変更された。さらに、新たな行1213が追加され、ラベル「SNS−X」1223、値「benwhite」1233が入力された。送受信手段810は、これらの変更情報を、同期サービスNのサーバ200に送る(ステップS1105)。同期サービスNのサーバの送受信手段220はこれを受信し、利用者Bテーブル214を、受信した変更情報に従って図12に示すテーブルと同じ情報が格納されるように更新する(ステップS1206)。この時点で、利用者Aの5つのテーブルは未だすべて図10に示す初期状態にある。 Next, the HTML generation unit 250 of the server of the synchronization service N generates an HTML code from the information stored in the user B table 214, and the transmission / reception unit 220 transmits it to the information terminal 341 of the user B. The transmission / reception unit 810 of the information terminal of the user B receives this, the HTML analysis unit 820 analyzes it, and displays the information of the user B table 214 shown in FIG. 9 on the display unit 830 (step S1104). Next, the user B changes the user B table 214 as shown in FIG. 12 through the input unit 840, and further inputs a request for disclosing the result of the change to the user A. As can be seen by comparing FIG. 9 and FIG. 12, the home telephone number “650-111-1111” 931 is changed to “650-999-9999” 1231 here. In addition, e-mail address bw @ hoge. The label [work email] 922 associated with com is changed to “home email” 1222. Furthermore, a new line 1213 is added, and a label “SNS-X” 1223 and a value “benwhite” 1233 are input. The transmission / reception unit 810 sends the change information to the server 200 of the synchronization service N (step S1105). The transmission / reception means 220 of the server of the synchronization service N receives this, and updates the user B table 214 so that the same information as the table shown in FIG. 12 is stored according to the received change information (step S1206). At this point, all five tables of user A are still in the initial state shown in FIG.

なお、前記ステップS1101からS1103のコピーは、ステップS1107より以前であれば、いつ実行されてもよい。 Note that the copying from step S1101 to step S1103 may be executed at any time before step S1107.

テーブル比較手段230(例えば、CPUの演算回路を動作させてテーブルを比較するプログラム)が、更新された利用者Bテーブル214と、利用者Aの5つのテーブル、すなわち利用者A第1テーブル211、利用者A第2テーブル212、利用者A第3テーブル213、利用者A第2副テーブル561、および利用者A第3副テーブル661とを、本発明の一実施形態に係る方法により各々同期させる(ステップS1107)。 The table comparison means 230 (for example, a program for operating the arithmetic circuit of the CPU to compare the tables) includes the updated user B table 214 and five tables of the user A, that is, the user A first table 211, The user A second table 212, the user A third table 213, the user A second sub table 561, and the user A third sub table 661 are each synchronized by the method according to the embodiment of the present invention. (Step S1107).

次に、図13のフロー図を参照して、上述のように更新された利用者Bテーブル214と、各利用者Aテーブル群とが上記ステップS1107において同期する方法について詳しく説明する。 Next, a method for synchronizing the user B table 214 updated as described above and each user A table group in step S1107 will be described in detail with reference to the flowchart of FIG.

はじめに、更新された利用者Bテーブル214と、利用者A第1テーブル211が同期する方法を説明する。ここでは、図13における「新テーブル」とは、図12に示す更新後の利用者Bテーブル214であり、図13における「旧テーブル」とは、図10に示す同期前の利用者A第1テーブル211であり、図13における「差分テーブル」とは、ステップS1101の操作によって情報がコピーされた後の利用者A第1差分テーブル215である。このため、この説明では図13の新テーブル、旧テーブル、差分テーブルを各々利用者Bテーブル、利用者A第1テーブル、および利用者A第1差分テーブルと各々読み替えて説明する。 First, a method of synchronizing the updated user B table 214 and the user A first table 211 will be described. Here, the “new table” in FIG. 13 is the updated user B table 214 shown in FIG. 12, and the “old table” in FIG. 13 is the user A first before synchronization shown in FIG. The “difference table” in FIG. 13 is the user A first difference table 215 after information is copied by the operation in step S1101. For this reason, in this description, the new table, the old table, and the difference table in FIG. 13 are respectively read as the user B table, the user A first table, and the user A first difference table.

まず、利用者A第1テーブル211および利用者A第1差分テーブル215の行番号を表す変数iに整数0をセットする。同様に、利用者Bテーブル214の行番号を表す変数jに整数0をセットする。さらに、変数flagに整数0をセットする(ステップS1301)。変数iは、利用者A第1テーブルおよび利用者A第1差分テーブルで共通である。図13に示す方法で同期操作をする前は、前記ステップS1101によるコピー操作によって、利用者A第1テーブルと、利用者A第1差分テーブルに格納されている情報は等しいからである。 First, an integer 0 is set to a variable i representing a row number of the user A first table 211 and the user A first difference table 215. Similarly, an integer 0 is set in a variable j representing the row number of the user B table 214. Further, an integer 0 is set to the variable flag (step S1301). The variable i is common to the user A first table and the user A first difference table. This is because the information stored in the user A first table and the user A first difference table are equal to each other by the copy operation in step S1101 before performing the synchronization operation by the method shown in FIG.

次に、利用者A第1テーブル211の行i=0が非同期属性であるか否かを判断する(ステップS1302)。非同期属性ではないためnoとなり、ステップS1303に進む。次に、テーブル比較手段230が、利用者Bテーブルのj=0の行と、利用者A第1差分テーブルのi=0の行を比較し、ラベルと値の両方が等しいか否かを判断する(ステップS1303)。図12と図10を参照すると、この一例では、ラベルは「home phone」で等しい。しかし、利用者第1差分テーブル215の値「650−111−1111」と、利用者Bテーブル214の値「650−999−9999」との間に不一致が検出される。これは、利用者Bがステップ1104において、利用者Bテーブルの該当する部分を変更したためである。したがって、ステップS1303、S1304、S1306の分岐はすべてnoとなるが、ステップS1308の分岐はyesとなり、ステップS1309に進む。ステップS1309では、コピー手段260が、利用者Bテーブルのj=0の行の値「650−999−9999」1231を、利用者A第1テーブル211のi=0の行の値にコピーする。「650−111−1111」1011はこのコピー操作よって消去される。これによって、ステップS1106で利用者Bが更新した新しい電話番号が、利用者A第1テーブル211に反映される。また、ステップS1309ではflagに1がセットされる。次に利用者A第1差分テーブルの行番号iを1増加させて(ステップS1310)i=1とした後、利用者A第1差分テーブル215にi=1なる行が存在するか否かを判断する(ステップS1311)。ここではyesとなり、ステップS1302に進む。 Next, it is determined whether or not row i = 0 of the user A first table 211 has an asynchronous attribute (step S1302). Since it is not an asynchronous attribute, it becomes no, and the process proceeds to step S1303. Next, the table comparison unit 230 compares the row of j = 0 in the user B table with the row of i = 0 in the user A first difference table, and determines whether both the label and the value are equal. (Step S1303). Referring to FIGS. 12 and 10, in this example, the label is equal to “home phone”. However, a mismatch is detected between the value “650-111-1111” in the user first difference table 215 and the value “650-999-9999” in the user B table 214. This is because user B changed the corresponding part of the user B table in step 1104. Therefore, all the branches of steps S1303, S1304, and S1306 are no, but the branch of step S1308 is yes, and the process proceeds to step S1309. In step S 1309, the copy unit 260 copies the value “650-999-9999” 1231 in the row of user B in the user B table to the value in the row of i = 0 in the user A first table 211. “650-111-1111” 1011 is erased by this copy operation. As a result, the new telephone number updated by the user B in step S1106 is reflected in the user A first table 211. In step S1309, 1 is set to flag. Next, after the line number i of the user A first difference table is incremented by 1 (step S1310) and i = 1, it is determined whether or not there is a line of i = 1 in the user A first difference table 215. Judgment is made (step S1311). Here, the answer is yes, and the process proceeds to step S1302.

次に、テーブル比較手段230が、利用者Bテーブルの行j=0と、利用者A第1差分テーブル215の行i=1を比較する。ここでは、ラベルと値との両方に不一致が検出されるので、ステップS1303はnoとなり、ステップS1310に進み、i=2がセットされる。しかし図10に示す利用者A第1テーブル211にこの行はないので、ステップS1311がnoとなり、ステップS1312に進む。ここでは上記ステップS1309でflag=1がセットされているため、ステップS1312はnoとなり、ステップS1314に進む。ステップS1314では、jに1がセットされ、iおよびflagには0が各々リセットされる。更新後の利用者Bテーブルには、j=1の行が存在するので、ステップS1315の分岐はyesとなり、ステップS1301に進む。ここまでは、更新後の利用者Bテーブルのj=0の行を、利用者A第1差分テーブルのすべての行と比較した上で、利用者Bテーブルの更新箇所を、利用者A第1テーブルに反映させるステップである。 Next, the table comparison unit 230 compares the row j = 0 of the user B table with the row i = 1 of the user A first difference table 215. Here, since a mismatch is detected in both the label and the value, step S1303 becomes no, and the process proceeds to step S1310, where i = 2 is set. However, since this row does not exist in the user A first table 211 shown in FIG. 10, step S1311 becomes no, and the process proceeds to step S1312. Here, since flag = 1 is set in step S1309, step S1312 becomes no, and the process proceeds to step S1314. In step S1314, j is set to 1, and i and flag are reset to 0, respectively. Since the updated user B table has a row with j = 1, the branch of step S1315 is yes, and the process proceeds to step S1301. Up to this point, j = 0 row of the updated user B table is compared with all rows of the user A first difference table, and the update location of the user B table is determined as user A first. This is the step of reflecting in the table.

次に、利用者Bテーブルj=1の行を利用者A差分テーブルのすべての行と比較した上で、利用者Bテーブル214の更新箇所を利用者A第1テーブル211に反映させる。この各ステップは上記と同様であるので、適宜省略して説明する。利用者Bテーブルのj=1の行については、利用者A第1差分テーブルのi=0の行では、ステップS1303の分岐がyesとなるが、i=1の行ではステップS1306の分岐がyesとなる。ステップS1307では、コピー手段260が、利用者Bテーブルの行番号j=1のラベル「home email」1222を、利用者A第1テーブル211のi=1の行のラベルにコピーする。「work email」1012はこのコピー操作よって消去される。これによって、ステップS1106で利用者Bが更新した新しいラベルが、利用者A第1テーブル211に反映される。また、ステップS1307ではflagに1がセットされる。 Next, the row of the user B table j = 1 is compared with all the rows of the user A difference table, and the update location of the user B table 214 is reflected in the user A first table 211. These steps are the same as described above, and will be omitted as appropriate. For the line of j = 1 in the user B table, the branch of step S1303 is yes in the line of i = 0 in the user A first difference table, but the branch of step S1306 is yes in the line of i = 1. It becomes. In step S 1307, the copy unit 260 copies the label “home email” 1222 of the user B table with the line number j = 1 to the label of the i = 1 row of the user A first table 211. The “work email” 1012 is erased by this copy operation. Accordingly, the new label updated by the user B in step S1106 is reflected in the user A first table 211. In step S1307, 1 is set in the flag.

利用者Bテーブルj=1の行の、利用者A第1差分テーブル215の各行との比較が終わると、ステップS1314でjに2がセットされる。この後、j=2の行と利用者A第1差分テーブル215の各行との比較が行われる。更新後の利用者Bテーブル214のj=2の行は、前記ステップS1106で利用者Bによって追加された行である。ここでは利用者A第1差分テーブル211のすべての行番号iについて、ステップS1303の分岐がyesとなる。このため、flag=0の状態でステップS1312へ進む。このため、ステップS1312の分岐はnoとなり、ステップS1313に進む。ステップS1313では、利用者A第1テーブル211に行番号2を有する新たな行を追加し、コピー手段260がこの追加した行に更新後の利用者Bテーブルの行番号j=2の情報を追加する。ここでは、ラベルとして「SNS−X」1223が、また値として「benwhite」1233が各々利用者A第1テーブルに追加される。これによって、ステップS1106で利用者Bによって追加された新たな情報が、利用者A第1テーブル211に反映される。 When the comparison of the row of the user B table j = 1 with each row of the user A first difference table 215 is completed, 2 is set to j in step S1314. Thereafter, a comparison is made between the row of j = 2 and each row of the user A first difference table 215. The row of j = 2 in the updated user B table 214 is a row added by the user B in step S1106. Here, for all row numbers i in the user A first difference table 211, the branch of step S1303 is yes. Therefore, the process proceeds to step S1312 with flag = 0. For this reason, the branch of step S1312 is no, and the process proceeds to step S1313. In step S1313, a new line having line number 2 is added to the user A first table 211, and the information of the updated line number j = 2 of the updated user B table is added to the added line by the copy unit 260. To do. Here, “SNS-X” 1223 as a label and “benwhite” 1233 as a value are added to the user A first table, respectively. As a result, the new information added by the user B in step S1106 is reflected in the user A first table 211.

以上で更新された利用者Bテーブル214と、利用者A第1テーブル211の間の同期が完了した。その結果を図14の利用者A第1テーブルに示す。なお、これまでの説明でわかるように、利用者A第1差分テーブル215は、この同期操作以前の利用者A第1テーブル211の内容を保持しておき、更新された利用者Bテーブル214との差分を検出するために用いる。 The synchronization between the user B table 214 updated as described above and the user A first table 211 is completed. The result is shown in the user A first table of FIG. As can be seen from the above description, the user A first difference table 215 holds the contents of the user A first table 211 before this synchronization operation, and the updated user B table 214 Used to detect the difference between

次に、ステップS1107において、更新された利用者Bテーブル214と、非同期属性を有する行を持つ利用者A第2テーブル212および利用者A第2副テーブル561との間での同期を説明する。詳細は上記利用者A第1テーブルの同期と同様なので、適宜省略して説明する。 Next, the synchronization between the updated user B table 214 and the user A second table 212 and the user A second sub table 561 having a row having an asynchronous attribute in step S1107 will be described. Details are the same as the synchronization of the user A first table, and will be omitted as appropriate.

以下では図13を参照して、ステップS1106で更新された利用者Bテーブル214の情報を、ステップS1107で利用者A第2テーブル212、および利用者A第2副テーブル561と同期するための処理を説明する。ここでは、図13における新テーブルは、更新された利用者Bテーブル214、旧テーブルは利用者A第2テーブル212および利用者A第2副テーブル561、また差分テーブルは利用者A第2差分テーブル216および利用者A第2副差分テーブル218と読み替えて説明する。 In the following, referring to FIG. 13, the process for synchronizing the information in user B table 214 updated in step S1106 with user A second table 212 and user A second sub-table 561 in step S1107. Will be explained. Here, the new table in FIG. 13 is the updated user B table 214, the old table is the user A second table 212 and the user A second subtable 561, and the difference table is the user A second difference table. 216 and the user A second sub-difference table 218 will be described.

まず、利用者A第2テーブル212、利用者A第2副テーブル561、利用者A第2差分テーブル216、および利用者A第2副差分テーブル218の行番号を表す変数iに整数0をセットする。同様に、利用者Bテーブル214の行番号を表す変数jに整数0をセットする。さらに、変数flagに整数0をセットする(ステップS1301)。行番号iは、利用者A第2テーブル212、利用者A第2副テーブル561、利用者A第2差分テーブル216、および利用者A第2副差分テーブル218で共通である。図13に示す処理で同期操作をする前は、図10に示すように前記ステップS1101およびS1102によるコピー処理によって、利用者A第2テーブル212、利用者A第2副テーブル561、利用者A第2差分テーブル216、および利用者A第2副差分テーブル218は等しい。 First, an integer 0 is set to a variable i representing a row number of the user A second table 212, the user A second sub table 561, the user A second difference table 216, and the user A second sub difference table 218. To do. Similarly, an integer 0 is set in a variable j representing the row number of the user B table 214. Further, an integer 0 is set to the variable flag (step S1301). The line number i is common to the user A second table 212, the user A second sub table 561, the user A second difference table 216, and the user A second sub difference table 218. Before performing the synchronization operation in the process shown in FIG. 13, the user A second table 212, the user A second sub table 561, and the user A first are performed by the copy process in steps S1101 and S1102 as shown in FIG. The two difference tables 216 and the user A second sub difference table 218 are equal.

まず、利用者A第2テーブル212および利用者A第2副テーブル561の行番号i=0が非同期属性を有するか否かを判断する(ステップS1302)。行番号i=0はともに非同期属性を有するため、ステップS1302の分岐はyesとなり、ステップS1310に進む。すなわち、前記ステップS1106で利用者Bテーブル214の行番号j=0の値が変更されているにもかかわらず、利用者A第2テーブル212および利用者A第2副テーブル561のi=0の行が非同期属性を有するために、利用者Bテーブルの変更を利用者A第2テーブルおよび利用者A第2副テーブルに反映させる処理をスキップすることになる。しかし次に、ステップS1310でi=1がセットされ、テーブル比較手段230が、利用者Bテーブルのj=0の行と、利用者A第2差分テーブル216および利用者A第2副テーブル差分テーブル218のi=1の行を比較する。この結果ステップS1303の分岐がyesとなり、ステップS1310へ進む。ステップS1310ではi=2となるが、利用者A第2テーブル212および利用者A第2副テーブル561にi=2は存在しないため、ステップS1312に進む。ここでは、flag=0のままであるから、ステップS1313が実行される。ステップS1313では、利用者A第2テーブル212および利用者A第2副テーブル561に行番号i=2を有する新たな行を追加し、コピー手段260がこの追加したi=2の行に更新後の利用者Bテーブルの行番号j=0の情報を追加する。ここでは、ラベルとして「home phone」1231が、また値として「650−999−9999」1233が各々利用者A第2テーブルおよび利用者第2副テーブルのi=2の行として追加される。 First, it is determined whether or not the row number i = 0 of the user A second table 212 and the user A second subtable 561 has an asynchronous attribute (step S1302). Since both of the line numbers i = 0 have the asynchronous attribute, the branch of step S1302 is yes, and the process proceeds to step S1310. That is, although the value of the row number j = 0 in the user B table 214 is changed in step S1106, i = 0 in the user A second table 212 and the user A second sub table 561 is set. Since the row has an asynchronous attribute, the process of reflecting the change in the user B table on the user A second table and the user A second sub table is skipped. However, next, in step S1310, i = 1 is set, and the table comparison unit 230 causes the j = 0 row of the user B table, the user A second difference table 216, and the user A second sub table difference table. Compare 218 i = 1 rows. As a result, the branch at step S1303 becomes yes, and the process proceeds to step S1310. In step S1310, i = 2. However, since i = 2 does not exist in the user A second table 212 and the user A second sub-table 561, the process proceeds to step S1312. Here, since flag = 0 remains, step S1313 is executed. In step S1313, a new line having a line number i = 2 is added to the user A second table 212 and the user A second subtable 561, and the copy unit 260 updates the added line to i = 2. The information of the row number j = 0 of the user B table is added. Here, “home phone” 1231 as a label and “650-999-9999” 1233 as a value are added as a row of i = 2 in the user A second table and the user second sub-table, respectively.

次にステップS1314でj=1がセットされかつi=0にリセットされた後、ステップS1302以降の処理を繰り返す。すると、i=0の行は非同期属性のためステップS1302がyesとなりステップS1310に進むが、i=1の行でステップS1306の分岐がyesとなる。ステップS1307では、コピー手段260が、利用者Bテーブル214の行番号j=1のラベル「home email」1222を、利用者A第2テーブル212および利用者第2副テーブル561のi=1の行のラベルにコピーする。利用者A第2テーブル212の「work email」1023および利用者A第2副テーブル561の「work email」1051はこのコピー操作よって消去される。 Next, after j = 1 is set and i = 0 is reset in step S1314, the processing from step S1302 is repeated. Then, since the i = 0 row is an asynchronous attribute, step S1302 becomes yes and the process proceeds to step S1310. However, the branch of step S1306 becomes yes in the i = 1 row. In step S <b> 1307, the copying unit 260 uses the label “home email” 1222 with the row number j = 1 in the user B table 214 and the i = 1 row in the user A second table 212 and the user second sub-table 561. Copy to the label. The “work email” 1023 of the user A second table 212 and the “work email” 1051 of the user A second sub table 561 are deleted by this copy operation.

次に、ステップS1314でjに2がセットされる。この後、j=2の行と利用者A第2差分テーブル216および利用者A第2副差分テーブル218の各行との比較が行われる。ここでもi=0の行は非同期属性のためステップS1302がyesとなり、さらにi=1の行ではステップS1303がyesとなる。このためflag=0の状態でステップS1312へ進む。ステップS1313では、利用者A第2テーブル212および利用者A第2副テーブル561に行番号i=3を有する新たな行を追加し、コピー手段がこの追加した行に更新後の利用者Bテーブルの行番号j=2の情報を追加する。ここでは、ラベルとして「SNS−X」1223が、また値として「benwhite」1233が各々利用者A第2テーブル212および利用者A第2副テーブル561のi=3の行に追加される。これによって、ステップS1106で利用者Bによって追加された新たな情報が、利用者A第2テーブル212および利用者A第2副テーブル561に反映される。 Next, 2 is set to j in step S1314. Thereafter, a comparison is made between the row of j = 2 and each row of the user A second difference table 216 and the user A second sub difference table 218. In this case as well, since the line with i = 0 is an asynchronous attribute, step S1302 becomes yes, and with i = 1, step S1303 becomes yes. Therefore, the process proceeds to step S1312 with flag = 0. In step S1313, a new row having a line number i = 3 is added to the user A second table 212 and the user A second subtable 561, and the copy means updates the user B table after the update to the added row. The information of line number j = 2 is added. Here, “SNS-X” 1223 as a label and “benwhite” 1233 as a value are added to the i = 3 row of the user A second table 212 and the user A second subtable 561, respectively. Accordingly, the new information added by the user B in step S1106 is reflected in the user A second table 212 and the user A second sub table 561.

以上で更新された利用者Bテーブル214と、一部非同期属性を有する利用者A第2テーブル211および利用者A第2副テーブル561の間の同期が完了した。その結果を図14の同期サービスNのサーバの利用者A第2テーブル212、および利用者Aの第2情報端末の利用者A第2副テーブル561に各々示す。なお、この例では利用者A副テーブル561は、利用者Aの第2情報端末の記憶手段560にある。したがってたとえば、コピー手段260が利用者Bテーブルのj=1の行のラベル「home email」を利用者A副テーブル561のi=1の行のラベルにコピーする場合には、同期サービスNのサーバの送受信手段220、ネットワーク301、および利用者Aの第2情報端末の送受信手段510を通じて行われる。図13のフロー図では簡単のために、これらサーバと、外部の情報端末またはサーバとの間の情報の送受信に係わる処理は省略している。 Synchronization between the user B table 214 updated as described above and the user A second table 211 and the user A second sub table 561 having a partially asynchronous attribute is completed. The results are shown in the user A second table 212 of the server of the synchronization service N in FIG. 14 and the user A second subtable 561 of the second information terminal of the user A, respectively. In this example, the user A sub-table 561 is in the storage unit 560 of the second information terminal of the user A. Therefore, for example, when the copy unit 260 copies the label “home email” of the j = 1 row of the user B table to the label of the i = 1 row of the user A subtable 561, the server of the synchronization service N Transmission / reception means 220, network 301, and transmission / reception means 510 of user A's second information terminal. In the flowchart of FIG. 13, for the sake of simplicity, processing related to transmission / reception of information between these servers and an external information terminal or server is omitted.

なお、図13に示したアルゴリズムでは、利用者A第2テーブル212および利用者A第2副テーブル561の非同期属性を有する行の処理では、ステップS1302の分岐でyesとなるため、ステップS1303、S1304、S1306およびS1308におけるラベルおよび値の同値判定を実行しない。この結果、図14の利用者A第2テーブル212および利用者A第2副テーブル561には、i=2の行1423および1443が各々追加された。この追加の実用的な意味を説明する。たとえば、利用者Aの第2情報端末321が携帯電話機であり、そのアドレス帳である利用者A第2副テーブル571の電話番号は利用者Aが自ら管理しているので、利用者Bからの情報開示によって変更されることを望まないために、非同期属性が付与されているものとする。ここで利用者Bから情報開示がなされたとする。ラベルまたは値が異なる場合には、利用者Aが参照する可能性がある情報という仮定のもとに、利用者Aが管理するi=0の行とは別の行として利用者Bから開示された新たな電話番号を行i=2として携帯電話のアドレス帳に記憶する。この例で示した図14のi=2の行1423および1443の追加は、利用者Aが自ら管理する情報1425と、利用者Bから開示された情報1422を別に保存しておきたいという要求に応えている。 In the algorithm shown in FIG. 13, in the process of the row having the asynchronous attribute of the user A second table 212 and the user A second subtable 561, the result of branching in step S1302 is yes, so steps S1303 and S1304 are performed. , S1306 and S1308 do not execute the label and value equivalence determination. As a result, i = 2 rows 1423 and 1443 are added to the user A second table 212 and the user A second subtable 561 in FIG. The additional practical meaning is explained. For example, the second information terminal 321 of the user A is a mobile phone, and the telephone number of the user A second sub-table 571 that is the address book is managed by the user A himself. It is assumed that an asynchronous attribute is given because it is not desired to be changed by information disclosure. Here, it is assumed that information is disclosed by user B. When the label or value is different, it is disclosed by user B as a separate line from the line of i = 0 managed by user A under the assumption that information that user A may refer to The new phone number is stored in the address book of the mobile phone as row i = 2. The addition of the lines 1423 and 1443 of i = 2 in FIG. 14 shown in this example is in response to a request for separately storing the information 1425 managed by the user A and the information 1422 disclosed by the user B separately. I am responding.

この例では、利用者Bから開示された電話番号「650−999−9999」1422および1442のラベル「home phone」1421および1441が、非同期属性を持つi=0の行のラベル「home phone」と等しい。この場合、利用者Aが携帯電話機で記憶しているi=0の行の情報と、利用者Bから開示されたi=2の行を同じ情報と見なした上で、利用者Bから開示された情報を受け付けないという要求があることも考えられる。この場合には、ステップS1302に相当する非同期属性の判定を、ステップS1306またはステップS1308の後に実行する。その上で、非同期属性を持っている行については、ステップS1307またはステップS1309をスキップするという方法を用いてもよい。 In this example, the labels “home phone” 1421 and 1441 of the telephone numbers “650-999-9999” 1422 and 1442 disclosed by the user B are the labels “home phone” of the line of i = 0 having the asynchronous attribute. equal. In this case, the information of the row of i = 0 stored by the user A on the mobile phone and the row of i = 2 disclosed by the user B are regarded as the same information and then disclosed from the user B. There is a possibility that there is a request not to accept the processed information. In this case, the determination of the asynchronous attribute corresponding to step S1302 is executed after step S1306 or step S1308. In addition, for a row having an asynchronous attribute, a method of skipping step S1307 or step S1309 may be used.

次に、再び図13を参照して、ステップS1107において、更新された利用者Bテーブル214と、利用者A第3テーブル213および利用者A第3副テーブル661を同期する方法を説明する。以下の説明では、図13における新テーブルは図12に示す更新後の利用者Bテーブル214であり、図13における旧テーブルは図10に示す同期前の利用者A第3テーブル213および利用者A第3副テーブル661であり、図13における差分テーブルは、ステップS1101によって情報がコピーされた後の利用者A第3差分テーブル217、およびステップS1103によって情報がコピーされた後の利用者A第3差副差分テーブル219である。 Next, referring to FIG. 13 again, a method of synchronizing the updated user B table 214 with the user A third table 213 and the user A third sub table 661 in step S1107 will be described. In the following description, the new table in FIG. 13 is the updated user B table 214 shown in FIG. 12, and the old table in FIG. 13 is the user A third table 213 and user A before synchronization shown in FIG. 13 is a third sub-table 661. The difference table in FIG. 13 is a user A third difference table 217 after information is copied in step S1101 and a user A third table after information is copied in step S1103. This is a difference sub-difference table 219.

詳細は、利用者A第1テーブルの同期処理と同じなので、詳細のステップは適宜省略して説明する。同期前の利用者A第3テーブル213と、利用者A第3副テーブル661の初期状態が図10である。前記利用者A第2テーブル212の場合と異なるのは、初期状態において利用者A第3テーブル213と利用者A第3副テーブル661の内容が同じではない点である。すなわち、利用者A第3テーブル213のi=0の行のラベル1031が「SNS−X」、値1032が「benwhite」であるのに対して、利用者A第3副テーブル661のi=0の行のラベル1061は「home phone」、値1062は「650−111−1111」である。本発明の一実施形態に係る方法による同期は、このように同期対象の複数のテーブルの初期状態が異なる場合においても有効である。 Since the details are the same as the synchronization process of the user A first table, the detailed steps will be omitted as appropriate. FIG. 10 shows initial states of the user A third table 213 and the user A third sub table 661 before synchronization. The difference from the case of the user A second table 212 is that the contents of the user A third table 213 and the user A third sub table 661 are not the same in the initial state. That is, the label 1031 of the row of i = 0 of the user A third table 213 is “SNS-X” and the value 1032 is “benwhite”, whereas i = 0 of the user A third subtable 661. The label 1061 of the row is “home phone” and the value 1062 is “650-111-1111”. The synchronization by the method according to the embodiment of the present invention is effective even when the initial states of a plurality of tables to be synchronized are different as described above.

まず、利用者A第3テーブル213、利用者A第3差分テーブル217、利用者A第3副テーブル661、および利用者A第3副差分テーブル219の行番号を表す変数iに整数0をセットする。同様に、利用者Bテーブルの行番号を表す変数jに整数0をセットする。さらに、変数flagに整数0をセットする(ステップS1301)。行番号iは、利用者A第3テーブル213、利用者A第3副テーブル661、利用者A第3差分テーブル217、および利用者A第3副差分テーブル219で共通である。図13に示す方法で同期処理をする前は、前記ステップS1101およびS1103によるコピー操作によって、利用者A第3テーブル213と利用者A第3差分テーブル217、また利用者A第3副テーブル661と利用者A第3副差分テーブル219は各々等しいからである。 First, an integer 0 is set to a variable i representing a row number of the user A third table 213, the user A third difference table 217, the user A third sub table 661, and the user A third sub difference table 219. To do. Similarly, an integer 0 is set to a variable j representing the row number of the user B table. Further, an integer 0 is set to the variable flag (step S1301). The line number i is common to the user A third table 213, the user A third sub table 661, the user A third difference table 217, and the user A third sub difference table 219. Before performing the synchronization processing by the method shown in FIG. 13, the user A third table 213, the user A third difference table 217, and the user A third sub table 661 are copied by the copying operation in steps S1101 and S1103. This is because the user A third sub-difference tables 219 are equal.

この場合、利用者A第3テーブル213および利用者A第3副テーブル661に非同期属性を有する行はないので、以下の処理ではステップS1302はすべてnoとなる。図13に示す処理において、まず更新後の利用者Bテーブル214のj=0の行と、利用者A第3差分テーブル217および利用者A第3副差分テーブル219のi=0の行との比較が行われる。利用者A第3差分テーブル217においてはステップS1303がyes、利用者A第3副差分テーブル219においてはステップS1308がyesとなる。従って、利用者A第3テーブル213のi=0の行のラベル1031および値1032は変化しない。しかし、利用者A第3副テーブル661においては、コピー手段260はi=0の行の値「650−111−1111」1062を、更新後の利用者Bテーブル214に従い「650−999−9999」に書き換える。次にj=0の行とi=1の行の比較では、利用者A第3テーブル213および利用者A第3副テーブル661ともにステップS1303がyesとなる。利用者A第3差分テーブル217および利用者A第3副差分テーブル219にi=2は存在しないので、ステップS1312に進む。ここで利用者A第3差分テーブル217についてはflag=0であるが、利用者A第3副差分テーブル219の場合は、flag=1である。従って、コピー手段260が更新後の利用者Bテーブル214のj=0の行を、利用者A第3テーブル213のi=2の行として追加するが、利用者A第3副テーブル661には追加しない。 In this case, since there is no row having the asynchronous attribute in the user A third table 213 and the user A third sub table 661, step S1302 is all “no” in the following processing. In the process shown in FIG. 13, first, the updated j = 0 row of the user B table 214 and the i = 0 row of the user A third difference table 217 and the user A third sub difference table 219 are updated. A comparison is made. In the user A third difference table 217, step S1303 is yes, and in the user A third sub difference table 219, step S1308 is yes. Therefore, the label 1031 and the value 1032 of the row of i = 0 in the user A third table 213 are not changed. However, in the user A third sub-table 661, the copying unit 260 sets the value “650-111-1111” 1062 in the row of i = 0 to “650-999-9999” in accordance with the updated user B table 214. Rewrite to Next, in the comparison of the row with j = 0 and the row with i = 1, step S1303 is yes for both the user A third table 213 and the user A third subtable 661. Since i = 2 does not exist in the user A third difference table 217 and the user A third sub difference table 219, the process proceeds to step S1312. Here, flag = 0 for the user A third difference table 217, but flag = 1 for the user A third sub difference table 219. Accordingly, the copying unit 260 adds the updated j = 0 row of the user B table 214 as the i = 2 row of the user A third table 213, but the user A third sub table 661 includes Do not add.

次に更新後の利用者Bテーブル214のj=1の行と利用者A第3差分テーブル217および利用者A第3副差分テーブル219の各行との比較が実行される。利用者A第3差分テーブル217および利用者A第3副差分テーブル219で、i=1の行でステップS1306の分岐がyesとなるが、i=0およびi=2の行ではS1303の分岐がyesとなる。したがって、コピー手段260はi=1の行のラベル「work email」1033および1063を、ラベル「home email」1222に書き換える。 Next, the updated row of the user B table 214 with j = 1 is compared with each row of the user A third difference table 217 and the user A third sub difference table 219. In the user A third difference table 217 and the user A third sub difference table 219, the branch of step S1306 is yes in the row of i = 1, but the branch of S1303 is in the row of i = 0 and i = 2. yes. Therefore, the copy unit 260 rewrites the labels “work email” 1033 and 1063 in the row of i = 1 to the label “home email” 1222.

次に、更新後の利用者Bテーブル214のj=2の行と、利用者A第3差分テーブル217および利用者A第3副差分テーブル219の各行との比較が実行される。利用者A第3差分テーブル217においては、i=0の行ではステップS1304の分岐がyesに、i=1およびi=2ではステップS1303の分岐がyesとなる。この結果、利用者A第3差分テーブル217の各行についての上記のような処理の後、flag=1となるため、コピー手段260が利用者A第3テーブル213に変更を加えない。しかし、利用者A第3副差分テーブル661においては、この時点でi=2は存在せず、なおかつi=0およびi=1の両方でステップS1303の分岐がyesとなる。したがって、flag=0の状態でステップS1312の分岐を徹。したがって、ステップS1313の処理によって、更新後の利用者Bテーブルのj=2の行のラベル「SNS−X」1223および値」「benwhite」1233が、利用者A第3副テーブルのj=2の行として追加される。 Next, the updated j = 2 row of the user B table 214 is compared with each row of the user A third difference table 217 and the user A third sub difference table 219. In the user A third difference table 217, the branch of step S1304 is yes for the line i = 0, and the branch of step S1303 is yes for i = 1 and i = 2. As a result, after the above processing for each row of the user A third difference table 217, flag = 1 is set, so that the copying unit 260 does not change the user A third table 213. However, in the user A third sub-difference table 661, i = 2 does not exist at this time, and the branch of step S1303 is yes for both i = 0 and i = 1. Therefore, the branch of step S1312 is thoroughly performed in the state of flag = 0. Therefore, the label “SNS-X” 1223 and the value “benwhite” 1233 of the j = 2 row in the updated user B table are set to j = 2 in the user A third sub-table by the processing in step S1313. Added as a line.

以上で、変更された利用者Bテーブル214と、利用者A第3テーブル213および利用者A第3副テーブル661の同期が完了した。これらの処理の結果を図14の同期サービスNのサーバの利用者A第3テーブル213および、WebサービスXのサーバの利用者A第3副テーブル661に示す。図10に示すように、利用者A第3テーブルと利用者A第3副テーブルの初期状態は異なっているが、上に述べた本願発明の方法による同期によって、図14に示すように利用者A第3テーブル213と利用者A第3副テーブル661との内容は、行の順番が異なるだけで、同じ状態となっている。以上で、図11のステップS1107の処理が完了した。 Thus, the synchronization of the changed user B table 214, the user A third table 213, and the user A third sub table 661 is completed. The results of these processes are shown in the server A third table 213 of the server of the synchronization service N and the user A third sub table 661 of the server of the web service X in FIG. As shown in FIG. 10, the initial state of the user A third table and the user A third subtable are different, but the user is shown in FIG. 14 by the synchronization according to the method of the present invention described above. The contents of the A third table 213 and the user A third sub table 661 are the same except that the row order is different. Thus, the process of step S1107 in FIG. 11 is completed.

図11および図13のフロー図を使った説明では、変更された利用者Bテーブル214を利用者Aに開示し、利用者Aの各テーブルが同期する例を用いた。利用者A自身が、利用者A第1テーブル211、利用者A第2テーブル212、利用者A第2副テーブル561、利用者A第3テーブル213、または利用者A第3副テーブル661のいずれかを書き換えた場合においても、同様の処理によって、各テーブルが同期する。 In the description using the flowcharts of FIGS. 11 and 13, an example in which the changed user B table 214 is disclosed to the user A and each table of the user A is synchronized is used. User A himself is one of user A first table 211, user A second table 212, user A second subtable 561, user A third table 213, or user A third subtable 661. Even when these are rewritten, the respective tables are synchronized by the same processing.

たとえばいま、図11の処理が終了した状態の利用者A第1テーブル211、利用者A第2テーブル212、利用者A第2副テーブル561、利用者A第3テーブル213、および利用者A第3副テーブル661は、図14に示す状態にある。ここでたとえば、利用者Aがその第1情報端末311の入力手段440を通じて利用者A第1テーブル211のi=2の行の値「benwhite」1413を「susanb」に変更したとする。ステップS1101からステップS1103のように、利用者A第2テーブル212、利用者A第2副テーブル561、利用者A第3テーブル213、および利用者A第3副テーブル661の内容を、各々利用者A第2差分テーブル216、利用者A第2副差分テーブル218、利用者A第3差分テーブル217、または利用者A第3副差分テーブル219にコピーする。そして、図13に示す各ステップによって、変更された利用者A第1テーブル211と、利用者A第1テーブル211、利用者A第2テーブル212、利用者A第2副テーブル561、利用者A第3テーブル213、および利用者A第3副テーブル661を各々同期する。この場合は、図13における旧テーブルは、利用者A第2テーブル212、利用者A第2副テーブル561、利用者A第3テーブル213、および利用者A第3副テーブル661である。また図13における差分テーブルは、利用者A第2差分テーブル216、利用者A第2副差分テーブル218、利用者A第3差分テーブル217、および利用者A第3副差分テーブル219である。さらに図13における新テーブルは、変更後の利用者A第1テーブル211である。このように読み替えた上で、図13に示す処理を利用者A第2テーブル212、利用者A第2副テーブル561、利用者A第3テーブル213、および利用者A第3副テーブル661の各々について実行すれば、図15のような結果となり、利用者Aの有するテーブル群の同期が完了する。 For example, the user A first table 211, the user A second table 212, the user A second sub table 561, the user A third table 213, and the user A first in the state where the processing of FIG. The three secondary tables 661 are in the state shown in FIG. Here, for example, it is assumed that the user A changes the value “benwhite” 1413 in the row of i = 2 of the user A first table 211 to “susanb” through the input unit 440 of the first information terminal 311. As in steps S1101 to S1103, the contents of the user A second table 212, the user A second sub table 561, the user A third table 213, and the user A third sub table 661 are changed to the respective users. Copy to the A second difference table 216, the user A second sub difference table 218, the user A third difference table 217, or the user A third sub difference table 219. Then, the user A first table 211, the user A first table 211, the user A second table 212, the user A second sub-table 561, the user A, which are changed by the steps shown in FIG. The third table 213 and the user A third sub table 661 are synchronized. In this case, the old tables in FIG. 13 are the user A second table 212, the user A second sub table 561, the user A third table 213, and the user A third sub table 661. 13 are a user A second difference table 216, a user A second sub difference table 218, a user A third difference table 217, and a user A third sub difference table 219. Furthermore, the new table in FIG. 13 is the user A first table 211 after the change. After rereading in this way, the processing shown in FIG. 13 is performed for each of the user A second table 212, the user A second sub table 561, the user A third table 213, and the user A third sub table 661. Is executed, the result as shown in FIG. 15 is obtained, and the synchronization of the table group possessed by the user A is completed.

次に、本発明の一実施形態による作用効果について説明する。これまで述べたように、利用者の操作、または他者からの開示によって情報が変更または追加される際に、その情報がテーブルの何行目の何列目の情報に対する、変更または追加なのかを指定しないにもかかわらず、本願発明の方法では、複数のテーブルを同期させることができる。この点に係る本願発明の効果には以下4点がある。 Next, the effect by one Embodiment of this invention is demonstrated. As described above, when information is changed or added by user operation or disclosure from others, what information is changed or added to what column and what column in the table? In spite of not specifying, in the method of the present invention, a plurality of tables can be synchronized. The effects of the present invention relating to this point include the following four points.

第1の利点は、同期対象テーブルに与えられた新たな情報が、何行目の何列目の情報かという情報を与えられなくとも、複数の同期対象テーブルが正しく同期する点である。上記実施形態では、利用者Bが利用者Aに開示した情報は、利用者Aの有する複数のテーブルの何行目または何列目の情報であるかは、全く指定されていない。にもかかわらず、既に述べたように、利用者Aの有する複数のテーブルは正しく同期している。 The first advantage is that a plurality of synchronization target tables are correctly synchronized even if new information given to the synchronization target table is not given information on what row and what column information. In the above embodiment, the information disclosed by the user B to the user A is not specified at all in what row or column of the plurality of tables of the user A. Nevertheless, as described above, the plurality of tables of user A are correctly synchronized.

第2の利点は、上記のような本発明の一実施形態に係る方法によれば、新たな情報が同期対象テーブルの変更なのか、または追加なのかが明示的に指定されない場合においても、図13に示した同値判定処理により、追加または変更の判断を自動的におこなえる点である。たとえば、上に示した実施形態における利用者A第1テーブル211の同期処理では、利用者Bから利用者Aに開示された情報のラベルおよび値の両方が、既に利用者Aのテーブルに存在すれば、利用者Aのテーブルに何ら変更を加えない。利用者Bから利用者Aに開示された情報の、ラベルが等しいが値が異なる場合は、値が変更されたと判断して値のみを利用者Bから開示された情報で上書きする。逆に利用者Bから利用者Aに開示された情報の、値が等しいがラベルが異なる場合には、ラベルが変更されたと判断してラベルのみを、利用者Bから開示された情報で上書きする。利用者Bから利用者Aに開示された情報の、ラベルも値も等しくなければ利用者Bから追加された情報を新規情報として新たな行に追加する。 The second advantage is that, according to the method according to the embodiment of the present invention as described above, even when it is not explicitly specified whether new information is a change or addition of a synchronization target table, The addition or change can be automatically determined by the equivalence determination process shown in FIG. For example, in the synchronization process of the user A first table 211 in the embodiment shown above, both the label and the value of information disclosed from the user B to the user A already exist in the user A table. Thus, no change is made to the table of user A. When the information disclosed from user B to user A has the same label but different values, it is determined that the value has been changed, and only the value is overwritten with the information disclosed from user B. Conversely, if the information disclosed from user B to user A has the same value but a different label, it is determined that the label has been changed, and only the label is overwritten with the information disclosed from user B. . If the label and the value of the information disclosed from the user B to the user A are not equal, the information added from the user B is added to a new line as new information.

第3の利点は、テーブルの一部が非同期属性を持つ場合にも、上記第1の利点が有効である点である。たとえば、上記実施形態における利用者A第2テーブル212および利用者A第2副テーブル561の同期処理では、i=0の行が非同期属性を有するにもかかわらず、上記第1の利点がすべて有効である。 The third advantage is that the first advantage is effective even when a part of the table has an asynchronous attribute. For example, in the synchronous processing of the user A second table 212 and the user A second subtable 561 in the above embodiment, all of the first advantages are effective even though the row of i = 0 has the asynchronous attribute. It is.

第4の利点は、同期対象のテーブルが複数あり、かつこの複数のテーブルの初期状態が同一でない場合においても、正しく同期する点である。たとえば、上記実施形態における利用者A第3テーブル213および利用者A第3副テーブル661の同期処理では、これら2つの利用者Aのテーブルの初期状態は異なっている。しかし上記実施形態で述べたように、これら2つのテーブルは正しく同期する。
A fourth advantage is that even when there are a plurality of tables to be synchronized and the initial states of the plurality of tables are not the same, synchronization is correctly performed. For example, in the synchronization process of the user A third table 213 and the user A third sub-table 661 in the above embodiment, the initial states of these two user A tables are different. However, as described in the above embodiment, these two tables are correctly synchronized.

Claims (5)

第1のテーブルと第2のテーブルとを記憶する記憶手段と、
前記第1のテーブルの有する第1の行を、前記第2のテーブルの有する第2の行にコピーする第1のコピー手段と、
情報端末より前記情報端末が記憶する第3のテーブルを受信する受信手段と、
前記第3のテーブルの有する第3の行の第1の列にある第1の情報と、前記第2の行に含まれ、前記第1の列と同じ属性を有する前記第2のテーブルの第2の列にある第2の情報と、を比較する比較手段と、
前記第1の情報と前記第2の情報が等しい場合に、前記第3の行の第4の列にある第3の情報を、前記第1の行の、前記第4の列と同じ属性を有する前記第1のテーブルの有する第5の列にコピーする第2のコピー手段と、
を有することを特徴とするサーバ装置。
Storage means for storing the first table and the second table;
First copy means for copying a first row of the first table to a second row of the second table;
Receiving means for receiving a third table stored in the information terminal from the information terminal;
The first information in the first column of the third row of the third table and the second information of the second table included in the second row and having the same attribute as the first column. Comparing means for comparing the second information in the second column;
When the first information is the same as the second information, the third information in the fourth column of the third row has the same attribute as the fourth column of the first row. Second copy means for copying to a fifth column of the first table having;
The server apparatus characterized by having.
第1のテーブルと第2のテーブルとを記憶する記憶手段と、
前記第1のテーブルの有する第1の行を、前記第2のテーブルの有する第2の行に第1のコピーするコピー手段と、
外部情報源サーバ装置の記憶する第3のテーブルをネットワーク経由にて受信する受信手段と、
前記第3のテーブルの有する第3の行の第1の列にある第1の情報と、前記第2の行に含まれ、前記第1の列と同じ属性を有する前記第2のテーブルの第2の列にある第2の情報とを比較する比較手段と、
前記第1の情報と前記第2の情報が等しい場合に、前記第3の行の第4の列にある第3の情報を、前記第1の行の、前記第4の列と同じ属性を有する前記第1のテーブルの有する第5の列に第2のコピーするコピー手段と、
を有することを特徴とするサーバ装置。
Storage means for storing the first table and the second table;
Copy means for first copying a first row of the first table to a second row of the second table;
Receiving means for receiving the third table stored in the external information source server device via the network;
The first information in the first column of the third row of the third table and the second information of the second table included in the second row and having the same attribute as the first column. Comparing means for comparing the second information in the second column;
When the first information is the same as the second information, the third information in the fourth column of the third row has the same attribute as the fourth column of the first row. Copy means for performing a second copy in a fifth column of the first table having;
The server apparatus characterized by having.
第1のテーブルと第2のテーブルとを記憶する記憶手段と、
前記第1のテーブルのすべての行を、前記第2のテーブルにコピーする第1のコピー手段と、
情報端末が記憶する第3のテーブルを受信する受信手段と、
前記コピーの後に、前記第3のテーブルの有する第1の行の第1の列にある第1の情報と、前記第3のテーブルの有する前記第1の行の第2の列にある第2の情報とにより形成される第1の情報対を、前記第2のテーブルの有する任意の行の前記第1の列と同じ属性を示す第3の列にある第3の情報と、前記第2のテーブルの有する前記任意の行の前記第2の列と同じ属性を示す第4の列にある第4の情報とにより形成される第2の情報対と比較する比較手段と、
前記第2のテーブルのすべての行について、前記比較手段により前記第1の情報と前記第3の情報が等しくなく、かつ前記第2の情報と前記第4の情報が等しくないことが検出された場合に、前記第1のテーブルに新たな行を追加し、さらに前記新たな行の前記第1の列と同じ属性を示す第5の列に前記第1の情報をコピーし、かつ前記新たな行の前記第2の列と同じ属性を示す第6の列に前記第2の情報をコピーする第2のコピー手段と、
を有することを特徴とするサーバ装置。
Storage means for storing the first table and the second table;
First copy means for copying all rows of the first table to the second table;
Receiving means for receiving a third table stored in the information terminal;
After the copying, the first information in the first column of the first row of the third table and the second information in the second column of the first row of the third table. The third information in the third column indicating the same attribute as the first column of any row of the second table, and the second information A comparison means for comparing with a second information pair formed by the fourth information in the fourth column showing the same attribute as the second column of the arbitrary row of the table of:
For all the rows of the second table, the comparing means has detected that the first information and the third information are not equal, and the second information and the fourth information are not equal. A new row is added to the first table, the first information is copied to a fifth column indicating the same attribute as the first column of the new row, and the new table A second copy means for copying the second information to a sixth column showing the same attribute as the second column of the row;
The server apparatus characterized by having.
第1のテーブルと第2のテーブルとを記憶する記憶手段と、
前記第1のテーブルのすべての行を、前記第2のテーブルにコピーする第1のコピー手段と、
外部情報源サーバ装置が記憶する第3のテーブルをネットワーク経由にて受信する受信手段と、
前記コピーの後に、前記第3のテーブルの有する第1の行の第1の列にある第1の情報と、前記第3のテーブルの有する前記第1の行の第2の列にある第2の情報とにより形成される第1の情報対を、前記第2のテーブルの有する任意の行の前記第1の列と同じ属性を示す第3の列にある第3の情報と、前記第2のテーブルの有する前記任意の行の前記第2の列と同じ属性を示す第4の列にある第4の情報とにより形成される第2の情報対と比較する比較手段と、
前記第2のテーブルのすべての行について、前記比較手段により前記第1の情報と前記第3の情報が等しくなく、かつ前記第2の情報と前記第4の情報が等しくないことが検出された場合に、前記第1のテーブルに新たな行を追加し、さらに前記新たな行の前記第1の列と同じ属性を示す第5の列に前記第1の情報をコピーし、かつ前記新たな行の前記第2の列と同じ属性を示す第6の列に前記第2の情報をコピーする第2のコピー手段と、
を有することを特徴とするサーバ装置。
Storage means for storing the first table and the second table;
First copy means for copying all rows of the first table to the second table;
Receiving means for receiving the third table stored in the external information source server device via the network;
After the copying, the first information in the first column of the first row of the third table and the second information in the second column of the first row of the third table. The third information in the third column indicating the same attribute as the first column of any row of the second table, and the second information A comparison means for comparing with a second information pair formed by the fourth information in the fourth column showing the same attribute as the second column of the arbitrary row of the table of:
For all the rows of the second table, the comparing means has detected that the first information and the third information are not equal, and the second information and the fourth information are not equal. A new row is added to the first table, the first information is copied to a fifth column indicating the same attribute as the first column of the new row, and the new table A second copy means for copying the second information to a sixth column showing the same attribute as the second column of the row;
The server apparatus characterized by having.
第1のテーブルを記憶する記憶手段と、
同期対象外部サーバ装置の記憶手段が記憶している第2のテーブルの第1の行を、前記第1のテーブルの有する第2の行にコピーする第1のコピー手段と、
情報端末が記憶している第3のテーブルを受信する受信手段と、
前記第3のテーブルの有する第3の行の第1の列にある第1の情報と、前記第2の行に含まれ、前記第1の列と同じ属性を有する前記第1のテーブルの第2の列にある第2の情報とを比較する比較手段と、
前記第1の情報と前記第2の情報が等しいと前記比較手段により検出された場合に、前記第3の行の第4の列にある第3の情報を、前記第1の行に含まれる、前記第4の列と同じ属性を有する前記第2のテーブルの有する第5の列にコピーする第2のコピー手段と、
を有することを特徴とするサーバ装置。
Storage means for storing the first table;
First copy means for copying the first row of the second table stored in the storage means of the synchronization target external server device to the second row of the first table;
Receiving means for receiving a third table stored in the information terminal;
The first information in the first column of the third row of the third table and the first information of the first table included in the second row and having the same attribute as the first column. Comparing means for comparing the second information in the second column;
Third information in the fourth column of the third row is included in the first row when the comparing means detects that the first information and the second information are equal. Second copy means for copying to the fifth column of the second table having the same attribute as the fourth column;
The server apparatus characterized by having.
JP2009032637A 2009-02-16 2009-02-16 Information synchronizing device Withdrawn JP2010191516A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009032637A JP2010191516A (en) 2009-02-16 2009-02-16 Information synchronizing device
PCT/JP2010/052164 WO2010093033A1 (en) 2009-02-16 2010-02-15 Information synchronizing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009032637A JP2010191516A (en) 2009-02-16 2009-02-16 Information synchronizing device

Publications (1)

Publication Number Publication Date
JP2010191516A true JP2010191516A (en) 2010-09-02

Family

ID=42561874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009032637A Withdrawn JP2010191516A (en) 2009-02-16 2009-02-16 Information synchronizing device

Country Status (2)

Country Link
JP (1) JP2010191516A (en)
WO (1) WO2010093033A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015062B2 (en) * 2013-06-20 2015-04-21 Aol Advertising Inc. Systems and methods for cross-browser advertising ID synchronization

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293414A (en) * 1999-04-07 2000-10-20 Hitachi Ltd Method for integrating different kinds of data sources
JP2001014200A (en) * 1999-06-30 2001-01-19 Sharp Corp Method for synchronizing database and recording medium for recording program to execute the same
JP4142866B2 (en) * 2001-11-07 2008-09-03 カシオソフト株式会社 Database synchronization apparatus and program

Also Published As

Publication number Publication date
WO2010093033A1 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
US10255377B2 (en) Taxonomy driven site navigation
KR102193489B1 (en) Apparatus and method for maintaining a message thread with opt-in permanence for entries
US20180046985A1 (en) Presenting entity profile information to a user of a computing device
US8280883B2 (en) Networked address book
US20140245178A1 (en) Communication device and method for profiling and presentation of message threads
CN107438840A (en) Support the integrated working space of Shared Folders
US8126973B2 (en) System and method for incorporating social networking maps in collaboration tooling and devices
JP2007509432A (en) Contact management
CN102769640B (en) The update method of user profile, server and system
US10650085B2 (en) Providing interactive preview of content within communication
US20170134364A1 (en) Note update method and device
EP2770761B1 (en) Communication device and method for profiling and presentation of message threads
US20130332540A1 (en) Structural Presentation and Smart Alerts for Instant Messaging Contacts
US9516154B2 (en) Apparatus and method for managing conversational contents with contacts in a terminal
CN104756102A (en) Terminal and application program interaction method
EP3269098B1 (en) Large data management in communication applications through multiple mailboxes
KR101885576B1 (en) Method, system and storage medium for providing advanced address book functionality in an universal plug and play home network environment
WO2017080198A1 (en) Memo update method and device
CN107368376B (en) Message sending method and device, expansion method and terminal
WO2010093033A1 (en) Information synchronizing device
KR102347070B1 (en) Method and apparatus for processing information of terminal
CN105378710A (en) Identifying search matches and altered search results
US20110320927A1 (en) Methods and Apparatus Utilizing XooML: Cross (X) Tool Markup Language
US20190364127A1 (en) Server device
US20140195481A1 (en) Content managing apparatus and content managing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120214

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120416