WO2013190685A1 - Synchronization server, synchronization method, and program - Google Patents

Synchronization server, synchronization method, and program Download PDF

Info

Publication number
WO2013190685A1
WO2013190685A1 PCT/JP2012/065894 JP2012065894W WO2013190685A1 WO 2013190685 A1 WO2013190685 A1 WO 2013190685A1 JP 2012065894 W JP2012065894 W JP 2012065894W WO 2013190685 A1 WO2013190685 A1 WO 2013190685A1
Authority
WO
WIPO (PCT)
Prior art keywords
component
unit
computer
identification information
application
Prior art date
Application number
PCT/JP2012/065894
Other languages
French (fr)
Japanese (ja)
Inventor
那由他 石井
泰大 山本
恭平 倉世古
拓嗣 島田
Original Assignee
株式会社Synclogue
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 株式会社Synclogue filed Critical 株式会社Synclogue
Priority to PCT/JP2012/065894 priority Critical patent/WO2013190685A1/en
Publication of WO2013190685A1 publication Critical patent/WO2013190685A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Definitions

  • the present invention relates to a synchronization server, a synchronization method, and a program.
  • An information processing apparatus such as a personal computer (PC) or a mobile terminal can execute various applications such as document creation software and a web browser.
  • applications such as document creation software and a web browser.
  • an application is used after being installed for each information processing apparatus. Therefore, for example, when a user who has a plurality of PCs uses the same application on the plurality of PCs, it is necessary to individually install the application on each PC. Further, user settings for using the application need to be individually made in each PC. As described above, it is often very complicated to use the same application on a plurality of PCs.
  • the synchronization server can store the components transmitted from each PC for each user.
  • the synchronization server stores the components for each user, the storage capacity required in the synchronization server and the communication amount between the PC and the synchronization server become enormous with the increase in users.
  • an object of the present invention is to reduce the storage capacity and communication amount when synchronizing applications among a plurality of computers.
  • a synchronization server includes a component storage unit that stores a plurality of components necessary for executing an application, and a configuration for identifying the contents of each of the plurality of components of the application in the computer from the computer
  • An identification information receiving unit that receives element identification information, and a configuration that identifies a component having a different content from the component stored in the component storage unit among a plurality of components in the computer based on the component identification information
  • An element specifying unit a component information transmitting unit that transmits component information indicating the specified component to the computer, a component receiving unit that receives a component according to the component information from the computer, and a component received from the computer
  • a component management unit that stores the component in a component storage unit.
  • the synchronization server stores a plurality of components necessary for executing the application in the component storage unit, and each of the plurality of components of the application in the computer from the computer.
  • the component identification information for identifying the content of the component is received and, based on the component identification information, the component having a content different from the component stored in the component storage unit is specified among the plurality of components in the computer.
  • the component information indicating the identified component is transmitted to the computer, the component corresponding to the component information is received from the computer, and the component received from the computer is stored in the component storage unit.
  • a program includes an identification information generation unit that generates a component identification information for identifying the contents of each of a plurality of components necessary for executing a computer, and a generated component
  • An identification information transmitting unit that transmits identification information to a synchronization server for synchronizing application components between a plurality of computers, and a component indicating a component that is not stored in the synchronization server with the same content among the plurality of components
  • This is to function as a component information receiving unit that receives information and a component transmission unit that transmits the component indicated by the component information to the synchronization server.
  • the “unit” does not simply mean a physical means, but includes a case where the function of the “unit” is realized by software. Also, even if the functions of one “unit” or device are realized by two or more physical means or devices, the functions of two or more “units” or devices are realized by one physical means or device. May be.
  • FIG. 1 It is a figure which shows the structural example of the application synchronization system which is one Embodiment of this invention. It is a block diagram which shows an example of the function which a synchronous server has. It is a figure which shows an example of a structure of the component-specific component memory
  • FIG. 1 is a diagram illustrating a configuration example of an application synchronization system according to an embodiment of the present invention.
  • the application synchronization system includes a synchronization server 10 and a plurality of personal computers (PCs) 20.
  • the synchronization server 10 provides a service for enabling a user to synchronize an application among a plurality of PCs 20, and is configured using one or a plurality of information processing apparatuses.
  • the PC 20 is an information processing apparatus that allows a user to execute an application, and can communicate with the synchronization server 10 via a network such as the Internet.
  • the application synchronization means that the execution environment of the application is in the same state.
  • the execution environment includes components necessary for executing the application.
  • the application components include, for example, an execution file, a user file, setting information, and the like.
  • FIG. 2 is a block diagram illustrating an example of the functions of the synchronization server 10.
  • the synchronization server 10 includes an account information storage unit 30, a component storage unit 32, and a synchronization processing unit 34. These units can be realized, for example, by using a storage area such as a memory or a storage device, or by executing a program stored in the storage area by a processor.
  • the account information storage unit 30 stores account information of users who use the application synchronization system.
  • the account information includes a user ID, a password, an email address, and the like.
  • the component storage unit 32 stores components of a synchronization target application (synchronization application). As described above, the component is necessary for executing the synchronization application, and includes an execution file, a user file, setting information, and the like. As shown in FIG. 2, the component storage unit 32 can include a common component storage unit 40 and an individual component storage unit 42.
  • the common component storage unit 40 stores a common component (common component) among a plurality of users.
  • FIG. 3 shows an example of the configuration of the common component storage unit 40.
  • the common component storage unit 40 includes a common component table and data storage.
  • the common component table stores application ID (APL-ID), file ID, attribute information, identification information, and common user ID, and the data storage stores data of the file indicated by the file ID. .
  • Application ID is for identifying the synchronous application selected by each user. This application ID may be set, for example, when the user registers the synchronization application in the synchronization server 10 or may be generated on the synchronization server 10 side.
  • the file is a file that is a component of the synchronization application.
  • the file includes an execution file, an application file such as a DLL (Dynamic Link Library), and a user file having user data necessary for executing a synchronous application.
  • the user data is data for each user that is referred to when the application is executed.
  • each user's e-mail data in an e-mail application for sending and receiving e-mails and each user's data in a web browser For example, bookmark data.
  • the file ID is an identifier of the file, and can be a file name including folder information, for example.
  • the attribute information is information indicating a file attribute, for example, information indicating a file size, a file update date, and the like.
  • the identification information (component identification information) is information for identifying the contents of the file. In this embodiment, a hash value calculated based on the file contents is used as identification information.
  • the identification information is not limited to the hash value, and any information can be used as long as the information can identify the contents of the file.
  • the common user ID is for identifying users who share the constituent elements, and the user ID registered in the account information storage unit 30 is used.
  • file data indicated by the file ID is stored.
  • the data of each file is stored in the data storage using the file ID and identification information (hash value) as keys.
  • identification information key value
  • the data of each file may be stored in the data storage using only the identification information as a key.
  • the individual component storage unit 42 stores components (individual components) having different contents depending on the user.
  • FIG. 4 shows an example of the configuration of the individual component storage unit 42.
  • the individual component storage unit 42 includes an individual component table and a data storage.
  • the individual component table stores a user ID, an application ID (APL-ID), a file ID, attribute information, and identification information, and the data storage stores file data indicated by the file ID.
  • Other data items are the same as those of the common component storage unit 40.
  • the components stored in the individual component storage unit 42 may be encrypted.
  • the data of the constituent elements may be stored in the data storage in a state encrypted with a predetermined encryption method.
  • the data storage of the common component storage unit 40 and the data storage of the individual component storage unit 42 may be configured by the same data storage. Even in this case, by using the file ID and the identification information (hash value) as a key, the data of each file of the common component and the individual component can be stored in the data storage.
  • FIG. 5 is a diagram for explaining an example of data storage in the component storage unit 32. An example of storing a component of an application in the component storage unit 32 will be described. FIG. 5 shows an example in which the component storage unit 32 stores components owned by two users (USER001, USER002).
  • a user As shown in FIG. 5, as a component of an application, a user (USER001) has A, B, C, and D, and a user (USER002) has A, B ′, C, and D ′.
  • a user As shown in FIG. 5, as a component of an application, a user (USER001) has A, B, C, and D, and a user (USER002) has A, B ′, C, and D ′.
  • the components A and C are common among users, and other components are different for each user.
  • the components B and B ′ are files having the same file ID but different contents. The same applies to the components D and D ′.
  • the user (USER001) uses his / her PC 20 to transmit a component to the synchronization server 10, and then the user (USER002) uses his / her PC 20 to transmit the component to the synchronization server 10.
  • the components A and C are already stored in the component storage unit 32 when the user (USER002) transmits the components to the synchronization server 10. Therefore, the components A and C are stored in the common component storage unit 40, and the user (USER002) does not need to transmit the components A and C to the synchronization server 10.
  • the components B and D are stored in the individual component storage unit 42 as components dedicated to the user (USER001).
  • the constituent elements B ′ and D ′ are stored in the individual constituent element storage unit 42 as constituent elements dedicated to the user (USER002).
  • the synchronization processing unit 34 can execute various processes for synchronizing application components between the synchronization server 10 and the PC 20. As shown in FIG. 2, the synchronization processing unit 34 includes an authentication processing unit 50, an identification information receiving unit 52, a component specifying unit 54, a component transmitting unit 56, a component information transmitting unit 58, a component receiving unit 60, and The component management unit 62 may be included.
  • the authentication processing unit 50 performs user authentication in response to an authentication request from the PC 20.
  • the authentication request includes, for example, account information such as a user ID and a password.
  • the authentication processing unit 50 can perform user authentication by checking account information received from the PC 20 with account information stored in the account information storage unit 30.
  • the identification information receiving unit 52 can receive an application ID, a file ID, attribute information, and identification information for each component of the synchronous application in the PC 20 from the PC 20.
  • the component specifying unit 54 can specify a component transmitted (uploaded) from the PC 20 to the synchronization server 10 and a component transmitted (downloaded) from the synchronization server 10 to the PC 20. Specifically, the component specifying unit 54 specifies a component having a content different from that of the component stored in the component storage unit 32 based on the identification information received by the identification information receiving unit 52. For example, for each application ID and file ID, the component specifying unit 54 determines the difference between the components by comparing the identification information received from the PC 20 with the identification information stored in the component storage unit 32. can do. Note that the component specifying unit 54 also compares the components stored in the individual component storage unit 42 in association with the user IDs of other users. Here, it is not necessary to upload the components determined to have the same contents between the synchronization server 10 and the PC 20.
  • constituent elements determined to have different contents between the synchronization server 10 and the PC 20 are subject to upload or download. Then, the component specifying unit 54 determines whether to perform upload or download by comparing the update date and time for the components determined to have different contents between the synchronization server 10 and the PC 20.
  • the constituent element specifying unit 54 stores the constituent elements determined to have different contents in the synchronization server 10 by comparing the update date and time for each user ID, application ID, and file ID. It can be determined which of the component and the component stored in the PC 20 is newer. Then, the component specifying unit 54 specifies, as upload targets, components that have a newer update date and time on the PC 20 and components that exist only on the PC 20. Further, the component specifying unit 54 specifies, as download targets, components that have a newer update date and time in the synchronization server 10 and components that exist only in the synchronization server 10.
  • the component transmitting unit 56 transmits the component specified as the download target by the component specifying unit 54 to the PC 20 that has transmitted the identification information.
  • the component information transmitting unit 58 transmits component information indicating the component to be uploaded identified by the component identifying unit 54 to the PC 20 that has transmitted the identification information.
  • the component element information is information with which the component element can be specified in the PC 20, and can be a file ID, for example.
  • the component receiving unit 60 receives components transmitted from the PC 20 according to the component information. That is, the component receiving unit 60 receives the component specified by the component specifying unit 54 from the PC 20.
  • the component receiving unit 60 can receive the user ID, application ID, and identification information (hash value) from the PC 20 together with the components.
  • the component management unit 62 manages the components stored in the component storage unit 32. Specifically, the component management unit 62 stores the component received by the component reception unit 60 in the individual component storage unit 42 in association with the user ID, application ID, and identification information (hash value). To do. In addition, the component management unit 62 includes components determined to be the same among a plurality of users by the component specifying unit 54 among the components stored in the individual component storage unit 42. Move to the common component storage unit 40.
  • the component management unit 62 uploads a new component having a different content as the component of the user for the component stored in the common component storage unit 40 in association with the user ID of a certain user.
  • the user ID can be deleted from the components stored in the common component storage unit 40.
  • the component management unit 62 can move this component to the individual component storage unit 42.
  • FIG. 6 is a block diagram illustrating an example of functions that the PC 20 has.
  • the PC 20 includes a file storage unit 100, an application execution unit 102, a synchronization setting unit 104, a synchronization setting storage unit 106, an application activation unit 108, and a synchronization processing unit 110.
  • These units can be realized, for example, by using a storage area such as a memory or a storage device, or by executing a program stored in the storage area by a processor.
  • the file storage unit 100 stores various files used in the PC 20.
  • the various files include, for example, an operating system (OS) and programs and data used in a synchronization application.
  • OS operating system
  • Each file can be identified by a file ID including a file path name and a file name.
  • the application execution unit 102 executes an application stored in the file storage unit 100 in response to a user operation.
  • the synchronization setting unit 104 performs settings for synchronizing applications among a plurality of PCs 20.
  • FIG. 7 shows an example of a screen displayed at the time of synchronization setting. This screen is displayed, for example, when an application synchronization system program is started. By using this screen, the user can register the synchronization application or start the synchronization application. For example, when the user moves a shortcut 210 of an application “APL001” on the desktop of the PC 20 to the display area 212 of the screen 200 by drag and drop, the synchronization setting unit 104 selects an application specified by the shortcut. Recognize as a synchronous application. In addition, not only drag and drop but the arbitrary methods for making the synchronous setting part 104 recognize a synchronous application can be used.
  • the application to be registered may be recognized by pressing the application addition button 214 to display a file reference interface. Then, the synchronization setting unit 104 stores information regarding the recognized synchronization application in the synchronization setting storage unit 106.
  • the synchronization setting storage unit 106 stores synchronization settings that are setting information for using the application synchronization system.
  • FIG. 8 is a diagram illustrating an example of the configuration of the synchronization setting storage unit 106.
  • the synchronization setting storage unit 106 stores information related to the synchronization application in addition to account information such as a user ID and a password.
  • account information such as a user ID and a password.
  • application ID As information regarding a synchronous application, application ID, file ID, attribute information, and identification information (hash value) are contained, for example.
  • Various information stored in the synchronization setting storage unit 106 can be updated by the synchronization setting unit 104.
  • the synchronization setting unit 104 can update the attribute information and identification information of the file stored in the synchronization setting storage unit 106.
  • the generation of identification information can be performed by an identification information generation unit 154 described later.
  • the application activation unit 108 activates the synchronization application in response to a user operation. For example, when the display area 220 assigned to the application “APL001” is selected on the screen 200 shown in FIG. 9, the application activation unit 108 refers to the synchronization setting stored in the synchronization setting storage unit 106, and The synchronization application stored in the storage unit 100 is activated.
  • the synchronization processing unit 110 can execute various processes for synchronizing application components between the synchronization server 10 and the PC 20.
  • the synchronization processing unit 110 includes an authentication processing unit 150, a component specifying unit 152, an identification information generation unit 154, an identification information transmission unit 156, a component reception unit 158, a component information reception unit 160, and The component transmission unit 162 may be included.
  • Authentication processing unit 150 executes authentication processing for using the application synchronization system. Specifically, the authentication processing unit 150 transmits an authentication request for using the application synchronization system to the synchronization server 10 by using the account information stored in the synchronization setting storage unit 106. Note that the authentication processing unit 150 may receive account information from the user, for example, by outputting a screen for inputting account information, instead of acquiring account information from the synchronization setting storage unit 106.
  • the component element specifying unit 152 can specify a component element that is required when the synchronization application is executed. Specifically, the component specifying unit 152 can specify the component (file) of the synchronization application by referring to the synchronization setting storage unit 106. The component specifying unit 152 may specify the component by monitoring the execution of the synchronization application. For example, the component specifying unit 152 may specify a component in the synchronous application by monitoring a file access request or a registry access request from the process of the synchronous application.
  • the identification information generation unit 154 generates identification information of the component identified by the component identification unit 152.
  • a hash value is used as the identifier of the component.
  • the identification information generation unit 154 can calculate the hash value of the component by using a predetermined hash function.
  • the identification information transmission unit 156 transmits the user ID, application ID, file ID, attribute information, and identification information (hash value) to the synchronization server 10 for the component identified by the component identification unit 152.
  • the component receiving unit 158 receives the component transmitted from the synchronization server 10 according to the identification information and stores it in the file storage unit 100. That is, the component receiving unit 158 can download a component having a newer update date and time from the synchronization server 10 and a component that exists only in the synchronization server 10 from the synchronization server 10.
  • the component information receiving unit 160 receives the component information transmitted from the synchronization server 10 according to the identification information. This component element information indicates a component to be uploaded from the PC 20 to the synchronization server 10.
  • the component transmission unit 162 transmits the component indicated by the component information to the synchronization server 10.
  • the component transmission unit 162 is different from the component stored in the synchronization server 10 among the components of the synchronization application, and has a newer update date than the component stored in the synchronization server 10.
  • Elements can be uploaded to the synchronization server 10. Thereby, for example, a component already stored in the synchronization server 10 and having the same content as a component uploaded by another user is not uploaded.
  • FIG. 10 is a flowchart showing an example of application synchronization processing. This synchronization process can be executed, for example, at the timing when the application synchronization system program is started on the PC 20 or when the synchronization application is terminated.
  • an authentication process is executed between the authentication processing unit 150 of the PC 20 and the authentication processing unit 50 of the synchronization server 10 (S1001, S1002).
  • the component specifying unit 152 of the PC 20 specifies the component of the synchronization application by referring to the synchronization setting storage unit 106 (S1003).
  • the identification information generation unit 154 of the PC 20 generates identification information (hash value) of the identified component (S1004).
  • the timing at which the identification information is generated is not limited to this.
  • the identification information may be generated at an arbitrary timing before the synchronization process is executed with the synchronization server 10.
  • the identification information generation unit 154 may generate the identification information of the component and store it in the synchronization setting storage unit 106 at the timing when the content of the component is updated in the synchronization application.
  • the identification information transmission unit 156 transmits the identification information (hash value) generated by the identification information generation unit 154 to the synchronization server 10 together with the user ID, application ID, file ID, and attribute information (S1005).
  • the identification information receiving unit 52 of the synchronization server 10 receives information transmitted from the PC 20 (S1006).
  • the component specifying unit 54 of the synchronization server 10 determines the difference between the component in the PC 20 and the component already stored in the component storage unit 32 of the synchronization server 10 based on the identification information received from the PC 20. (S1007). Specifically, the component specifying unit 54 compares the identification information received from the PC 20 with the identification information stored in the component storage unit 32 for each application ID and file ID, thereby Differences can be determined. Here, the components determined to be identical do not need to be uploaded between the synchronization server 10 and the PC 20.
  • the component specifying unit 54 determines whether to perform upload or download by comparing the update date and time for the components determined to have different contents between the synchronization server 10 and the PC 20. (S1008). Specifically, the component specifying unit 54 specifies a component having a newer update date and time on the PC 20 and a component that exists only on the PC 20 as upload targets. Further, the component specifying unit 54 specifies, as download targets, components that have a newer update date and time in the synchronization server 10 and components that exist only in the synchronization server 10.
  • the component transmitting unit 56 of the synchronization server 10 transmits the component specified as the download target by the component specifying unit 54 to the PC 20 (S1009).
  • the component reception unit 158 of the PC 20 receives the component transmitted from the synchronization server 10 and stores it in the file storage unit 100 (S1010).
  • the component information transmitting unit 58 of the synchronization server 10 transmits component information indicating the component specified as the upload target by the component specifying unit 54 to the PC 20 (S1011).
  • the component information receiving unit 160 of the PC 20 receives the component information transmitted from the synchronization server 10 (S1012).
  • the component transmission unit 162 of the PC 20 transmits the component indicated by the component information to the synchronization server 10 (S1013).
  • the component receiving unit 60 of the synchronization server 10 receives the component transmitted from the PC 20 (S1014). Then, the component management unit 62 of the synchronization server 10 updates the component storage unit 32 using the received component (S1015). Specifically, the component management unit 62 stores the received component in the individual component storage unit 42 in association with the user ID, application ID, attribute information, and identification information (hash value). In addition, the component management unit 62 includes components determined to be the same among a plurality of users by the component specifying unit 54 among the components stored in the individual component storage unit 42. Move to the common component storage unit 40.
  • application components can be synchronized between the PC 20 and the synchronization server 10.
  • components having the same contents are already stored in the component storage unit 32 of the synchronization server 10 and uploaded from the PC 20 to the synchronization server 10. Absent. Therefore, the data capacity stored in the component storage unit 32 can be reduced, and the communication amount between the PC 20 and the synchronization server 10 can be reduced.
  • this embodiment is for making an understanding of this invention easy, and is not for limiting and interpreting this invention.
  • the present invention can be changed / improved without departing from the spirit thereof, and the present invention includes equivalents thereof.
  • a client that executes an application in the application synchronization system is a PC.
  • the client is not limited to a PC, and any information processing apparatus such as a mobile terminal can be used.
  • the synchronization process is executed between the PC 20 and the synchronization server 10 at the timing when the program for the application synchronization system is started or when the synchronization application is terminated.
  • the timing of the synchronization processing is not limited to this, and any timing can be adopted.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The purpose of the invention is to reduce the storage capacity and the amount of communication when an application is synchronized among a plurality of computers. A synchronization server stores a plurality of components required when an application is executed, in a component storage section, receives, from a computer, component identification information identifying the content of each of the plurality of components of the application in the computer, identifies a component having a different content from the component stored in the component storage section among the components in the computer on the basis of the component identification information, sends component information indicating the identified component to the computer, receives the component corresponding to the component information from the computer, and stores the component received from the computer in the component storage section.

Description

同期サーバ、同期方法、及びプログラムSynchronization server, synchronization method, and program
 本発明は、同期サーバ、同期方法、及びプログラムに関する。 The present invention relates to a synchronization server, a synchronization method, and a program.
 パーソナルコンピュータ(PC)や携帯端末等の情報処理装置では、文書作成ソフトウェアやウェブブラウザなどの様々なアプリケーションを実行することが可能である。通常、このようなアプリケーションは、情報処理装置ごとにインストールされたうえで使用される。そのため、例えば複数のPCを保有しているユーザが、これら複数のPC上で同じアプリケーションを使用する場合は、各PCに対して個別にアプリケーションをインストールする必要がある。さらに、アプリケーションを使用する際のユーザ設定についても、各PCにおいて個別に行う必要がある。このように、複数のPCで同一のアプリケーションを使用するのは非常に煩雑となる場合が多い。 An information processing apparatus such as a personal computer (PC) or a mobile terminal can execute various applications such as document creation software and a web browser. Normally, such an application is used after being installed for each information processing apparatus. Therefore, for example, when a user who has a plurality of PCs uses the same application on the plurality of PCs, it is necessary to individually install the application on each PC. Further, user settings for using the application need to be individually made in each PC. As described above, it is often very complicated to use the same application on a plurality of PCs.
 また、近年普及しつつある、SaaS(Software as a Service)などのサービスを用いることにより、各PCに対して個別にアプリケーションをインストールしない構成も考えられる(例えば、特許文献1)。しかしながら、このようなサービスを用いる場合、利用可能なアプリケーションはサービス事業者から提供されるものに限られてしまう。 In addition, by using services such as SaaS (Software as a Service) that are becoming popular in recent years, a configuration in which an application is not individually installed on each PC is also conceivable (for example, Patent Document 1). However, when such a service is used, available applications are limited to those provided by service providers.
特開2009-277089号公報JP 2009-277089 A
 そこで、例えば、各PCに対して個別にアプリケーションをインストールするのではなく、1台のPCにインストールされたアプリケーションを複数のPC間で同期させることが考えられる。例えば、同期対象のアプリケーションを実行する際に必要となる、実行ファイルやデータファイルなどの構成要素を、同期サーバを介してPC間で同期させることができる。この場合、同期サーバは、例えば、各PCから送信されてくる構成要素をユーザごとに記憶することができる。しかしながら、同期サーバがユーザごとに構成要素を記憶することとすると、ユーザの増加に伴い、同期サーバにおいて必要となる記憶容量や、PCと同期サーバとの間の通信量が膨大となってしまう。 Therefore, for example, it is conceivable to synchronize the applications installed on one PC among a plurality of PCs, instead of installing the applications individually on each PC. For example, constituent elements such as an execution file and a data file that are required when executing an application to be synchronized can be synchronized between PCs via a synchronization server. In this case, for example, the synchronization server can store the components transmitted from each PC for each user. However, if the synchronization server stores the components for each user, the storage capacity required in the synchronization server and the communication amount between the PC and the synchronization server become enormous with the increase in users.
 そこで、本発明は、複数のコンピュータ間でアプリケーションを同期させる際の記憶容量及び通信量を削減することを目的とする。 Accordingly, an object of the present invention is to reduce the storage capacity and communication amount when synchronizing applications among a plurality of computers.
 本発明の一側面に係る同期サーバは、アプリケーションの実行時に必要となる複数の構成要素を記憶する構成要素記憶部と、コンピュータから、コンピュータにおけるアプリケーションの複数の構成要素のそれぞれの内容を識別する構成要素識別情報を受信する識別情報受信部と、構成要素識別情報に基づいて、コンピュータにおける複数の構成要素のうち、構成要素記憶部に記憶されている構成要素と内容が異なる構成要素を特定する構成要素特定部と、特定された構成要素を示す構成要素情報をコンピュータに送信する構成要素情報送信部と、構成要素情報に応じた構成要素をコンピュータから受信する構成要素受信部と、コンピュータから受信した構成要素を構成要素記憶部に格納する構成要素管理部と、を備える。 A synchronization server according to an aspect of the present invention includes a component storage unit that stores a plurality of components necessary for executing an application, and a configuration for identifying the contents of each of the plurality of components of the application in the computer from the computer An identification information receiving unit that receives element identification information, and a configuration that identifies a component having a different content from the component stored in the component storage unit among a plurality of components in the computer based on the component identification information An element specifying unit, a component information transmitting unit that transmits component information indicating the specified component to the computer, a component receiving unit that receives a component according to the component information from the computer, and a component received from the computer A component management unit that stores the component in a component storage unit.
 また、本発明の一側面に係る同期方法では、同期サーバが、アプリケーションの実行時に必要となる複数の構成要素を構成要素記憶部に記憶し、コンピュータから、コンピュータにおけるアプリケーションの複数の構成要素のそれぞれの内容を識別する構成要素識別情報を受信し、構成要素識別情報に基づいて、コンピュータにおける複数の構成要素のうち、構成要素記憶部に記憶されている構成要素と内容が異なる構成要素を特定し、特定された構成要素を示す構成要素情報をコンピュータに送信し、構成要素情報に応じた構成要素をコンピュータから受信し、コンピュータから受信した構成要素を構成要素記憶部に格納する。 In the synchronization method according to one aspect of the present invention, the synchronization server stores a plurality of components necessary for executing the application in the component storage unit, and each of the plurality of components of the application in the computer from the computer. The component identification information for identifying the content of the component is received and, based on the component identification information, the component having a content different from the component stored in the component storage unit is specified among the plurality of components in the computer. The component information indicating the identified component is transmitted to the computer, the component corresponding to the component information is received from the computer, and the component received from the computer is stored in the component storage unit.
 また、本発明の一側面に係るプログラムは、コンピュータを、アプリケーションの実行時に必要となる複数の構成要素のそれぞれの内容を識別する構成要素識別情報を生成する識別情報生成部、生成された構成要素識別情報を、アプリケーションの構成要素を複数のコンピュータ間で同期させるための同期サーバに送信する識別情報送信部、複数の構成要素のうち同期サーバに同じ内容で記憶されていない構成要素を示す構成要素情報を受信する構成要素情報受信部、構成要素情報によって示される構成要素を同期サーバに送信する構成要素送信部、として機能させるためのものである。 In addition, a program according to one aspect of the present invention includes an identification information generation unit that generates a component identification information for identifying the contents of each of a plurality of components necessary for executing a computer, and a generated component An identification information transmitting unit that transmits identification information to a synchronization server for synchronizing application components between a plurality of computers, and a component indicating a component that is not stored in the synchronization server with the same content among the plurality of components This is to function as a component information receiving unit that receives information and a component transmission unit that transmits the component indicated by the component information to the synchronization server.
 なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されてもよい。 In the present invention, the “unit” does not simply mean a physical means, but includes a case where the function of the “unit” is realized by software. Also, even if the functions of one “unit” or device are realized by two or more physical means or devices, the functions of two or more “units” or devices are realized by one physical means or device. May be.
 本発明によれば、複数のコンピュータ間でアプリケーションを同期させる際の記憶容量及び通信量を削減することができる。 According to the present invention, it is possible to reduce the storage capacity and communication amount when synchronizing applications among a plurality of computers.
本発明の一実施形態であるアプリケーション同期システムの構成例を示す図である。It is a figure which shows the structural example of the application synchronization system which is one Embodiment of this invention. 同期サーバが有する機能の一例を示すブロック図である。It is a block diagram which shows an example of the function which a synchronous server has. ユーザ別構成要素記憶部の構成の一例を示す図である。It is a figure which shows an example of a structure of the component-specific component memory | storage part. 共通構成要素記憶部の構成の一例を示す図である。It is a figure which shows an example of a structure of a common component storage part. 構成要素記憶部におけるデータ格納の一例を説明するための図である。It is a figure for demonstrating an example of the data storage in a component memory | storage part. PCが有する機能の一例を示すブロック図である。It is a block diagram which shows an example of the function which PC has. 同期設定の際に表示される画面の一例を示す図である。It is a figure which shows an example of the screen displayed in the case of a synchronous setting. 同期設定記憶部の構成の一例を示す図である。It is a figure which shows an example of a structure of a synchronous setting memory | storage part. 同期アプリケーションを起動する際に表示される画面の一例を示す図である。It is a figure which shows an example of the screen displayed when starting a synchronous application. アプリケーション同期処理の一例を示すフローチャートである。It is a flowchart which shows an example of an application synchronous process.
 以下、図面を参照して本発明の一実施形態について説明する。図1は、本発明の一実施形態であるアプリケーション同期システムの構成例を示す図である。図1に示すように、アプリケーション同期システムは、同期サーバ10、及び複数台のパーソナルコンピュータ(PC)20を含んで構成される。同期サーバ10は、ユーザに対してアプリケーションを複数のPC20間で同期可能とするためのサービスを提供するものであり、1台または複数台の情報処理装置を用いて構成される。PC20は、ユーザがアプリケーションを実行させるための情報処理装置であり、同期サーバ10とインターネット等のネットワークを介して通信可能である。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a configuration example of an application synchronization system according to an embodiment of the present invention. As shown in FIG. 1, the application synchronization system includes a synchronization server 10 and a plurality of personal computers (PCs) 20. The synchronization server 10 provides a service for enabling a user to synchronize an application among a plurality of PCs 20, and is configured using one or a plurality of information processing apparatuses. The PC 20 is an information processing apparatus that allows a user to execute an application, and can communicate with the synchronization server 10 via a network such as the Internet.
 ここで、例えばユーザ「USER001」は、PC20-1及びPC20-2の2台のPCを保有しているとする。このユーザ「USER001」は、同期サーバ10により提供されるアプリケーション同期システムを用いることにより、各PCに個別にアプリケーションをインストールしたり、手動でデータを同期させたりする必要なく、PC20-1及びPC20-2において同期された状態でアプリケーションを実行することが可能である。ここで、アプリケーションの同期とは、アプリケーションの実行環境を同一の状態にすることをいう。なお、実行環境には、アプリケーションを実行するために必要となる構成要素が含まれる。アプリケーションの構成要素には、例えば、実行ファイルやユーザファイル、設定情報などが含まれる。複数のPC間でアプリケーションが同期されることにより、ユーザはどのPCを用いる場合においても同じ状態でアプリケーションを実行することが可能となる。 Here, for example, it is assumed that the user “USER001” has two PCs, PC20-1 and PC20-2. By using the application synchronization system provided by the synchronization server 10, the user “USER001” does not need to install an application individually on each PC or manually synchronize data, and the PC 20-1 and the PC 20- It is possible to execute the application in a synchronized state in FIG. Here, the application synchronization means that the execution environment of the application is in the same state. The execution environment includes components necessary for executing the application. The application components include, for example, an execution file, a user file, setting information, and the like. By synchronizing applications among a plurality of PCs, the user can execute the applications in the same state regardless of which PC is used.
 図2は、同期サーバ10が有する機能の一例を示すブロック図である。図2に示すように、同期サーバ10は、アカウント情報記憶部30、構成要素記憶部32、及び同期処理部34を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。 FIG. 2 is a block diagram illustrating an example of the functions of the synchronization server 10. As shown in FIG. 2, the synchronization server 10 includes an account information storage unit 30, a component storage unit 32, and a synchronization processing unit 34. These units can be realized, for example, by using a storage area such as a memory or a storage device, or by executing a program stored in the storage area by a processor.
 アカウント情報記憶部30は、アプリケーション同期システムを利用するユーザのアカウント情報を記憶するものである。例えば、アカウント情報には、ユーザIDやパスワード、メールアドレスなどが含まれる。 The account information storage unit 30 stores account information of users who use the application synchronization system. For example, the account information includes a user ID, a password, an email address, and the like.
 構成要素記憶部32は、同期対象のアプリケーション(同期アプリケーション)の構成要素を記憶するものである。構成要素は、前述したように、同期アプリケーションを実行するために必要となるものであり、実行ファイルやユーザファイル、設定情報などを含む。図2に示すように、構成要素記憶部32は、共通構成要素記憶部40及び個別構成要素記憶部42を含むことができる。 The component storage unit 32 stores components of a synchronization target application (synchronization application). As described above, the component is necessary for executing the synchronization application, and includes an execution file, a user file, setting information, and the like. As shown in FIG. 2, the component storage unit 32 can include a common component storage unit 40 and an individual component storage unit 42.
 共通構成要素記憶部40は、複数のユーザ間で共通の構成要素(共通構成要素)を記憶するものである。図3には、共通構成要素記憶部40の構成の一例が示されている。図3に示すように、共通構成要素記憶部40は、共通構成要素テーブル及びデータストレージを含んで構成されている。共通構成要素テーブルには、アプリケーションID(APL-ID)、ファイルID、属性情報、識別情報、及び共通ユーザIDが格納され、データストレージには、ファイルIDによって示されるファイルのデータが格納されている。 The common component storage unit 40 stores a common component (common component) among a plurality of users. FIG. 3 shows an example of the configuration of the common component storage unit 40. As shown in FIG. 3, the common component storage unit 40 includes a common component table and data storage. The common component table stores application ID (APL-ID), file ID, attribute information, identification information, and common user ID, and the data storage stores data of the file indicated by the file ID. .
 アプリケーションIDは、各ユーザが選択した同期アプリケーションを識別するためのものである。このアプリケーションIDは、例えば、ユーザが同期アプリケーションを同期サーバ10に登録する際に設定することとしてもよいし、同期サーバ10側で生成されることとしてもよい。 Application ID is for identifying the synchronous application selected by each user. This application ID may be set, for example, when the user registers the synchronization application in the synchronization server 10 or may be generated on the synchronization server 10 side.
 ファイルは、同期アプリケーションの構成要素となるファイルである。ファイルには、実行ファイルやDLL(Dynamic Link Library)等のアプリケーションファイルや、同期アプリケーションの実行時に必要となるユーザデータを有するユーザファイルが含まれる。ここで、ユーザデータとは、アプリケーションの実行時に参照されるユーザごとのデータであり、例えば、電子メールの送受信を行うための電子メールアプリケーションにおける各ユーザの電子メールデータや、Webブラウザにおける各ユーザのブックマークデータなどである。 The file is a file that is a component of the synchronization application. The file includes an execution file, an application file such as a DLL (Dynamic Link Library), and a user file having user data necessary for executing a synchronous application. Here, the user data is data for each user that is referred to when the application is executed. For example, each user's e-mail data in an e-mail application for sending and receiving e-mails and each user's data in a web browser For example, bookmark data.
 ファイルIDは、ファイルの識別子であり、例えば、フォルダ情報を含むファイル名とすることができる。属性情報は、ファイルの属性を示す情報であり、例えば、ファイルサイズやファイルの更新日時等を示す情報である。識別情報(構成要素識別情報)は、ファイルの内容を識別するための情報である。本実施形態では、識別情報として、ファイル内容に基づいて算出されるハッシュ値を用いることとする。なお、識別情報は、ハッシュ値に限られず、ファイルの内容を識別可能な情報であれば任意の情報を用いることができる。共通ユーザIDは、構成要素を共有するユーザを識別するためのものであり、アカウント情報記憶部30に登録されているユーザIDが使用されている。 The file ID is an identifier of the file, and can be a file name including folder information, for example. The attribute information is information indicating a file attribute, for example, information indicating a file size, a file update date, and the like. The identification information (component identification information) is information for identifying the contents of the file. In this embodiment, a hash value calculated based on the file contents is used as identification information. The identification information is not limited to the hash value, and any information can be used as long as the information can identify the contents of the file. The common user ID is for identifying users who share the constituent elements, and the user ID registered in the account information storage unit 30 is used.
 データストレージには、ファイルIDによって示されるファイルのデータが格納される。図3に示す例では、ファイルID及び識別情報(ハッシュ値)をキーとして、各ファイルのデータがデータストレージに格納されている。このように、ファイルIDのみではなく、識別情報をキーに加えることにより、ファイルIDが同じで内容が異なるファイルを識別することができる。なお、識別情報のみによってファイルを一意に識別可能な場合であれば、識別情報のみをキーとして、各ファイルのデータをデータストレージに格納することとしてもよい。 In the data storage, file data indicated by the file ID is stored. In the example shown in FIG. 3, the data of each file is stored in the data storage using the file ID and identification information (hash value) as keys. As described above, by adding not only the file ID but also identification information to the key, it is possible to identify files having the same file ID but different contents. If the file can be uniquely identified only by the identification information, the data of each file may be stored in the data storage using only the identification information as a key.
 個別構成要素記憶部42は、ユーザによって内容が異なる構成要素(個別構成要素)を記憶するものである。図4には、個別構成要素記憶部42の構成の一例が示されている。図4に示すように、個別構成要素記憶部42は、個別構成要素テーブル及びデータストレージを含んで構成されている。個別構成要素テーブルには、ユーザID、アプリケーションID(APL-ID)、ファイルID、属性情報、及び識別情報が格納され、データストレージには、ファイルIDによって示されるファイルのデータが格納されている。他のデータ項目については、共通構成要素記憶部40と同様である。 The individual component storage unit 42 stores components (individual components) having different contents depending on the user. FIG. 4 shows an example of the configuration of the individual component storage unit 42. As shown in FIG. 4, the individual component storage unit 42 includes an individual component table and a data storage. The individual component table stores a user ID, an application ID (APL-ID), a file ID, attribute information, and identification information, and the data storage stores file data indicated by the file ID. Other data items are the same as those of the common component storage unit 40.
 なお、個別構成要素記憶部42に記憶される構成要素は暗号化されることとしてもよい。例えば、構成要素のデータは、所定の暗号化方式で暗号化した状態でデータストレージに記憶されることとしてもよい。また、共通構成要素記憶部40のデータストレージと、個別構成要素記憶部42のデータストレージは、同一のデータストレージによって構成されていてもよい。この場合においても、ファイルID及び識別情報(ハッシュ値)をキーとすることにより、共通構成要素及び個別構成要素の各ファイルのデータをデータストレージに記憶することができる。 Note that the components stored in the individual component storage unit 42 may be encrypted. For example, the data of the constituent elements may be stored in the data storage in a state encrypted with a predetermined encryption method. Further, the data storage of the common component storage unit 40 and the data storage of the individual component storage unit 42 may be configured by the same data storage. Even in this case, by using the file ID and the identification information (hash value) as a key, the data of each file of the common component and the individual component can be stored in the data storage.
 図5は、構成要素記憶部32におけるデータ格納の一例を説明するための図である。あるアプリケーションの構成要素を構成要素記憶部32に記憶する場合の一例を説明する。図5には、構成要素記憶部32が、2人のユーザ(USER001、USER002)が保有する構成要素を記憶する場合の一例が示されている。 FIG. 5 is a diagram for explaining an example of data storage in the component storage unit 32. An example of storing a component of an application in the component storage unit 32 will be described. FIG. 5 shows an example in which the component storage unit 32 stores components owned by two users (USER001, USER002).
 図5に示すように、あるアプリケーションの構成要素として、ユーザ(USER001)は、A、B、C、Dを有しており、ユーザ(USER002)は、A、B´、C、D´を有していることとする。つまり、構成要素A、Cはユーザ間で共通しており、他の構成要素は各ユーザで異なっている。なお、構成要素B、B´は、ファイルIDが同一であるが、内容が異なるファイルである。構成要素D、D´についても同様である。 As shown in FIG. 5, as a component of an application, a user (USER001) has A, B, C, and D, and a user (USER002) has A, B ′, C, and D ′. Suppose you are. That is, the components A and C are common among users, and other components are different for each user. The components B and B ′ are files having the same file ID but different contents. The same applies to the components D and D ′.
 最初に、ユーザ(USER001)が自身のPC20を用いて、構成要素を同期サーバ10に送信し、その後に、ユーザ(USER002)が自身のPC20を用いて、構成要素を同期サーバ10に送信したこととする。この場合、ユーザ(USER002)が構成要素を同期サーバ10に送信する時点において、構成要素A、Cはすでに構成要素記憶部32に記憶されている。そのため、構成要素A、Cは、共通構成要素記憶部40に記憶され、ユーザ(USER002)は、構成要素A、Cを同期サーバ10に送信する必要がない。一方、構成要素B、Dは、ユーザ(USER001)専用の構成要素として、個別構成要素記憶部42に記憶される。同様に、構成要素B´、D´は、ユーザ(USER002)専用の構成要素として、個別構成要素記憶部42に記憶される。 First, the user (USER001) uses his / her PC 20 to transmit a component to the synchronization server 10, and then the user (USER002) uses his / her PC 20 to transmit the component to the synchronization server 10. And In this case, the components A and C are already stored in the component storage unit 32 when the user (USER002) transmits the components to the synchronization server 10. Therefore, the components A and C are stored in the common component storage unit 40, and the user (USER002) does not need to transmit the components A and C to the synchronization server 10. On the other hand, the components B and D are stored in the individual component storage unit 42 as components dedicated to the user (USER001). Similarly, the constituent elements B ′ and D ′ are stored in the individual constituent element storage unit 42 as constituent elements dedicated to the user (USER002).
 図2に戻り、同期処理部34は、同期サーバ10とPC20との間でアプリケーションの構成要素を同期させるための各種処理を実行することができる。図2に示すように、同期処理部34は、認証処理部50、識別情報受信部52、構成要素特定部54、構成要素送信部56、構成要素情報送信部58、構成要素受信部60、及び構成要素管理部62を含んで構成することができる。 2, the synchronization processing unit 34 can execute various processes for synchronizing application components between the synchronization server 10 and the PC 20. As shown in FIG. 2, the synchronization processing unit 34 includes an authentication processing unit 50, an identification information receiving unit 52, a component specifying unit 54, a component transmitting unit 56, a component information transmitting unit 58, a component receiving unit 60, and The component management unit 62 may be included.
 認証処理部50は、PC20からの認証要求に応じてユーザ認証を行う。認証要求には、例えば、ユーザIDやパスワードなどのアカント情報が含まれる。認証処理部50は、PC20から受信するアカウント情報を、アカウント情報記憶部30に記憶されているアカウント情報と照合することによりユーザ認証を行うことができる。 The authentication processing unit 50 performs user authentication in response to an authentication request from the PC 20. The authentication request includes, for example, account information such as a user ID and a password. The authentication processing unit 50 can perform user authentication by checking account information received from the PC 20 with account information stored in the account information storage unit 30.
 識別情報受信部52は、PC20から、PC20における同期アプリケーションの各構成要素について、アプリケーションID、ファイルID、属性情報、及び識別情報を受信することができる。 The identification information receiving unit 52 can receive an application ID, a file ID, attribute information, and identification information for each component of the synchronous application in the PC 20 from the PC 20.
 構成要素特定部54は、PC20から同期サーバ10に送信される(アップロードされる)構成要素、及び、同期サーバ10からPC20に送信される(ダウンロードされる)構成要素を特定することができる。具体的には、構成要素特定部54は、識別情報受信部52によって受信された識別情報に基づいて、構成要素記憶部32に記憶されている構成要素と内容が異なる構成要素を特定する。例えば、構成要素特定部54は、アプリケーションID及びファイルIDごとに、PC20から受信した識別情報と、構成要素記憶部32に記憶されている識別情報とを比較することにより、構成要素の異同を判定することができる。なお、構成要素特定部54は、個別構成要素記憶部42に他のユーザのユーザIDと対応づけて記憶されている構成要素についても比較対象とする。ここで、同期サーバ10とPC20との間で内容が同一であると判定された構成要素については、アップロードが不要である。 The component specifying unit 54 can specify a component transmitted (uploaded) from the PC 20 to the synchronization server 10 and a component transmitted (downloaded) from the synchronization server 10 to the PC 20. Specifically, the component specifying unit 54 specifies a component having a content different from that of the component stored in the component storage unit 32 based on the identification information received by the identification information receiving unit 52. For example, for each application ID and file ID, the component specifying unit 54 determines the difference between the components by comparing the identification information received from the PC 20 with the identification information stored in the component storage unit 32. can do. Note that the component specifying unit 54 also compares the components stored in the individual component storage unit 42 in association with the user IDs of other users. Here, it is not necessary to upload the components determined to have the same contents between the synchronization server 10 and the PC 20.
 一方、同期サーバ10とPC20との間で内容が異なると判定された構成要素については、アップロードまたはダウンロードの対象となる。そして、構成要素特定部54は、同期サーバ10とPC20との間で内容が異なると判定された構成要素について、更新日時を比較することにより、アップロードまたはダウンロードの何れを行うかを判定する。 On the other hand, constituent elements determined to have different contents between the synchronization server 10 and the PC 20 are subject to upload or download. Then, the component specifying unit 54 determines whether to perform upload or download by comparing the update date and time for the components determined to have different contents between the synchronization server 10 and the PC 20.
 具体的には、構成要素特定部54は、内容が異なると判定された構成要素について、ユーザID、アプリケーションID、及びファイルIDごとに更新日時を比較することにより、同期サーバ10に記憶されている構成要素と、PC20に記憶されている構成要素のどちらが新しいかを判定することができる。そして、構成要素特定部54は、PC20における更新日時の方が新しい構成要素、及び、PC20にしか存在しない構成要素をアップロードの対象として特定する。また、構成要素特定部54は、同期サーバ10における更新日時の方が新しい構成要素、及び、同期サーバ10にしか存在しない構成要素をダウンロードの対象として特定する。 Specifically, the constituent element specifying unit 54 stores the constituent elements determined to have different contents in the synchronization server 10 by comparing the update date and time for each user ID, application ID, and file ID. It can be determined which of the component and the component stored in the PC 20 is newer. Then, the component specifying unit 54 specifies, as upload targets, components that have a newer update date and time on the PC 20 and components that exist only on the PC 20. Further, the component specifying unit 54 specifies, as download targets, components that have a newer update date and time in the synchronization server 10 and components that exist only in the synchronization server 10.
 構成要素送信部56は、構成要素特定部54によってダウンロード対象として特定された構成要素を、識別情報を送信してきたPC20に対して送信する。 The component transmitting unit 56 transmits the component specified as the download target by the component specifying unit 54 to the PC 20 that has transmitted the identification information.
 構成要素情報送信部58は、構成要素特定部54によって特定されたアップロード対象の構成要素を示す構成要素情報を、識別情報を送信してきたPC20に対して送信する。構成要素情報は、PC20において構成要素を特定可能な情報であり、例えば、ファイルIDとすることができる。 The component information transmitting unit 58 transmits component information indicating the component to be uploaded identified by the component identifying unit 54 to the PC 20 that has transmitted the identification information. The component element information is information with which the component element can be specified in the PC 20, and can be a file ID, for example.
 構成要素受信部60は、構成要素情報に応じてPC20から送信されてくる構成要素を受信する。つまり、構成要素受信部60は、構成要素特定部54によって特定された構成要素をPC20から受信する。なお、構成要素受信部60は、構成要素とともに、ユーザID、アプリケーションID、及び識別情報(ハッシュ値)をPC20から受信することができる。 The component receiving unit 60 receives components transmitted from the PC 20 according to the component information. That is, the component receiving unit 60 receives the component specified by the component specifying unit 54 from the PC 20. The component receiving unit 60 can receive the user ID, application ID, and identification information (hash value) from the PC 20 together with the components.
 構成要素管理部62は、構成要素記憶部32に記憶されている構成要素の管理を行う。具体的には、構成要素管理部62は、構成要素受信部60によって受信された構成要素を、ユーザID、アプリケーションID、及び識別情報(ハッシュ値)と対応づけて個別構成要素記憶部42に格納する。また、構成要素管理部62は、個別構成要素記憶部42に記憶されている構成要素のうち、構成要素特定部54によって、複数のユーザ間で内容が同一であると判定された構成要素を、共通構成要素記憶部40に移動させる。 The component management unit 62 manages the components stored in the component storage unit 32. Specifically, the component management unit 62 stores the component received by the component reception unit 60 in the individual component storage unit 42 in association with the user ID, application ID, and identification information (hash value). To do. In addition, the component management unit 62 includes components determined to be the same among a plurality of users by the component specifying unit 54 among the components stored in the individual component storage unit 42. Move to the common component storage unit 40.
 さらに、構成要素管理部62は、あるユーザのユーザIDと対応づけて共通構成要素記憶部40に記憶されている構成要素について、当該ユーザの構成要素として、内容が異なる新たな構成要素がアップロードされてきた場合、共通構成要素記憶部40に記憶されている構成要素から当該ユーザIDを削除することができる。この削除によって構成要素と対応づけられているユーザID(共通ユーザID)が1つとなった場合、構成要素管理部62は、この構成要素を個別構成要素記憶部42に移動させることができる。 Furthermore, the component management unit 62 uploads a new component having a different content as the component of the user for the component stored in the common component storage unit 40 in association with the user ID of a certain user. In this case, the user ID can be deleted from the components stored in the common component storage unit 40. When there is one user ID (common user ID) associated with the component by this deletion, the component management unit 62 can move this component to the individual component storage unit 42.
 図6は、PC20が有する機能の一例を示すブロック図である。図6に示すように、PC20は、ファイル記憶部100、アプリケーション実行部102、同期設定部104、同期設定記憶部106、アプリケーション起動部108、及び同期処理部110を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。 FIG. 6 is a block diagram illustrating an example of functions that the PC 20 has. As illustrated in FIG. 6, the PC 20 includes a file storage unit 100, an application execution unit 102, a synchronization setting unit 104, a synchronization setting storage unit 106, an application activation unit 108, and a synchronization processing unit 110. These units can be realized, for example, by using a storage area such as a memory or a storage device, or by executing a program stored in the storage area by a processor.
 ファイル記憶部100は、PC20において用いられる各種ファイルを記憶している。各種ファイルには、例えば、オペレーティングシステム(OS)や、同期アプリケーションで用いられるプログラムやデータが含まれる。各ファイルは、ファイルパス名やファイル名などを含むファイルIDにより識別することができる。 The file storage unit 100 stores various files used in the PC 20. The various files include, for example, an operating system (OS) and programs and data used in a synchronization application. Each file can be identified by a file ID including a file path name and a file name.
 アプリケーション実行部102は、ユーザ操作に応じて、ファイル記憶部100に格納されているアプリケーションを実行する。 The application execution unit 102 executes an application stored in the file storage unit 100 in response to a user operation.
 同期設定部104は、複数のPC20間でアプリケーションを同期させるための設定を行うものである。図7には、同期設定の際に表示される画面の一例が示されている。この画面は、例えば、アプリケーション同期システム用のプログラムが起動されることにより表示される。ユーザは、この画面を用いることにより、同期アプリケーションを登録したり、同期アプリケーションを起動したりすることができる。例えば、ユーザが、PC20のデスクトップ等にある、あるアプリケーション「APL001」のショートカット210をドラッグアンドドロップによって画面200の表示領域212に移動させると、同期設定部104は、このショートカットにより特定されるアプリケーションを同期アプリケーションとして認識する。なお、ドラッグアンドドロップに限らず、同期アプリケーションを同期設定部104に認識させるための任意の手法を用いることができる。例えば、図7に示すように、アプリケーション追加ボタン214を押下してファイル参照用のインタフェースを表示させることにより、登録対象のアプリケーションが認識されることとしてもよい。そして、同期設定部104は、認識した同期アプリケーションに関する情報を同期設定記憶部106に格納する。 The synchronization setting unit 104 performs settings for synchronizing applications among a plurality of PCs 20. FIG. 7 shows an example of a screen displayed at the time of synchronization setting. This screen is displayed, for example, when an application synchronization system program is started. By using this screen, the user can register the synchronization application or start the synchronization application. For example, when the user moves a shortcut 210 of an application “APL001” on the desktop of the PC 20 to the display area 212 of the screen 200 by drag and drop, the synchronization setting unit 104 selects an application specified by the shortcut. Recognize as a synchronous application. In addition, not only drag and drop but the arbitrary methods for making the synchronous setting part 104 recognize a synchronous application can be used. For example, as shown in FIG. 7, the application to be registered may be recognized by pressing the application addition button 214 to display a file reference interface. Then, the synchronization setting unit 104 stores information regarding the recognized synchronization application in the synchronization setting storage unit 106.
 同期設定記憶部106には、アプリケーション同期システムを利用するための設定情報である同期設定が記憶される。図8は、同期設定記憶部106の構成の一例を示す図である。図8に示す例では、同期設定記憶部106は、ユーザIDやパスワードなどのアカウント情報に加えて、同期アプリケーションに関する情報を記憶する。同期アプリケーションに関する情報としては、例えば、アプリケーションID、ファイルID、属性情報、及び識別情報(ハッシュ値)が含まれる。 The synchronization setting storage unit 106 stores synchronization settings that are setting information for using the application synchronization system. FIG. 8 is a diagram illustrating an example of the configuration of the synchronization setting storage unit 106. In the example illustrated in FIG. 8, the synchronization setting storage unit 106 stores information related to the synchronization application in addition to account information such as a user ID and a password. As information regarding a synchronous application, application ID, file ID, attribute information, and identification information (hash value) are contained, for example.
 なお、同期設定記憶部106に記憶されている各種情報は、同期設定部104により更新することができる。例えば、同期アプリケーションの構成要素であるファイルが更新された場合、同期設定部104は、同期設定記憶部106に記憶されている当該ファイルの属性情報や識別情報を更新することができる。なお、識別情報の生成は、後述する識別情報生成部154により行うことができる。 Various information stored in the synchronization setting storage unit 106 can be updated by the synchronization setting unit 104. For example, when a file that is a component of the synchronization application is updated, the synchronization setting unit 104 can update the attribute information and identification information of the file stored in the synchronization setting storage unit 106. The generation of identification information can be performed by an identification information generation unit 154 described later.
 図6に戻り、アプリケーション起動部108は、ユーザ操作に応じて同期アプリケーションを起動する。例えば、アプリケーション起動部108は、図9に示す画面200において、アプリケーション「APL001」に割り当てられた表示領域220が選択されると、同期設定記憶部106に格納されている同期設定を参照し、ファイル記憶部100に格納されている同期アプリケーションを起動する。 Returning to FIG. 6, the application activation unit 108 activates the synchronization application in response to a user operation. For example, when the display area 220 assigned to the application “APL001” is selected on the screen 200 shown in FIG. 9, the application activation unit 108 refers to the synchronization setting stored in the synchronization setting storage unit 106, and The synchronization application stored in the storage unit 100 is activated.
 同期処理部110は、同期サーバ10とPC20との間でアプリケーションの構成要素を同期させるための各種処理を実行することができる。図6に示すように、同期処理部110は、認証処理部150、構成要素特定部152、識別情報生成部154、識別情報送信部156、構成要素受信部158、構成要素情報受信部160、及び構成要素送信部162を含んで構成することができる。 The synchronization processing unit 110 can execute various processes for synchronizing application components between the synchronization server 10 and the PC 20. 6, the synchronization processing unit 110 includes an authentication processing unit 150, a component specifying unit 152, an identification information generation unit 154, an identification information transmission unit 156, a component reception unit 158, a component information reception unit 160, and The component transmission unit 162 may be included.
 認証処理部150は、アプリケーション同期システムを利用するための認証処理を実行する。具体的には、認証処理部150は、同期設定記憶部106に記憶されているアカウント情報を用いることにより、アプリケーション同期システムを利用するための認証要求を同期サーバ10に送信する。なお、認証処理部150は、同期設定記憶部106からアカウント情報を取得するのではなく、例えば、アカウント情報を入力するための画面を出力することにより、アカウント情報をユーザから受け付けることとしてもよい。 Authentication processing unit 150 executes authentication processing for using the application synchronization system. Specifically, the authentication processing unit 150 transmits an authentication request for using the application synchronization system to the synchronization server 10 by using the account information stored in the synchronization setting storage unit 106. Note that the authentication processing unit 150 may receive account information from the user, for example, by outputting a screen for inputting account information, instead of acquiring account information from the synchronization setting storage unit 106.
 構成要素特定部152は、同期アプリケーションの実行時に必要となる構成要素を特定することができる。具体的には、構成要素特定部152は、同期設定記憶部106を参照することにより、同期アプリケーションの構成要素(ファイル)を特定することができる。なお、構成要素特定部152は、同期アプリケーションの実行を監視することにより、構成要素を特定してもよい。例えば、構成要素特定部152は、同期アプリケーションのプロセスからのファイルアクセス要求やレジストリアクセス要求を監視することにより、同期アプリケーションにおける構成要素を特定することとしてもよい。 The component element specifying unit 152 can specify a component element that is required when the synchronization application is executed. Specifically, the component specifying unit 152 can specify the component (file) of the synchronization application by referring to the synchronization setting storage unit 106. The component specifying unit 152 may specify the component by monitoring the execution of the synchronization application. For example, the component specifying unit 152 may specify a component in the synchronous application by monitoring a file access request or a registry access request from the process of the synchronous application.
 識別情報生成部154は、構成要素特定部152によって特定された構成要素の識別情報を生成する。本実施形態では、構成要素の識別子としてハッシュ値を用いることとする。例えば、識別情報生成部154は、所定のハッシュ関数を用いることにより、構成要素のハッシュ値を算出することができる。 The identification information generation unit 154 generates identification information of the component identified by the component identification unit 152. In this embodiment, a hash value is used as the identifier of the component. For example, the identification information generation unit 154 can calculate the hash value of the component by using a predetermined hash function.
 識別情報送信部156は、構成要素特定部152によって特定された構成要素について、ユーザID、アプリケーションID、ファイルID、属性情報、及び識別情報(ハッシュ値)を、同期サーバ10に送信する。 The identification information transmission unit 156 transmits the user ID, application ID, file ID, attribute information, and identification information (hash value) to the synchronization server 10 for the component identified by the component identification unit 152.
 構成要素受信部158は、識別情報に応じて同期サーバ10から送信されてくる構成要素を受信し、ファイル記憶部100に格納する。つまり、構成要素受信部158は、同期サーバ10における更新日時の方が新しい構成要素、及び、同期サーバ10にしか存在しない構成要素を同期サーバ10からダウンロードすることができる。 The component receiving unit 158 receives the component transmitted from the synchronization server 10 according to the identification information and stores it in the file storage unit 100. That is, the component receiving unit 158 can download a component having a newer update date and time from the synchronization server 10 and a component that exists only in the synchronization server 10 from the synchronization server 10.
 構成要素情報受信部160は、識別情報に応じて同期サーバ10から送信されてくる構成要素情報を受信する。この構成要素情報は、PC20から同期サーバ10にアップロードする構成要素を示すものである。 The component information receiving unit 160 receives the component information transmitted from the synchronization server 10 according to the identification information. This component element information indicates a component to be uploaded from the PC 20 to the synchronization server 10.
 構成要素送信部162は、構成要素情報によって示される構成要素を同期サーバ10に送信する。つまり、構成要素送信部162は、同期アプリケーションの構成要素のうち、同期サーバ10に記憶されている構成要素と内容が異なり、かつ、同期サーバ10に記憶されている構成要素より更新日時が新しい構成要素を同期サーバ10にアップロードすることができる。これにより、例えば、同期サーバ10に既に記憶されている、他のユーザがアップロードした構成要素と内容が同一の構成要素はアップロードされないこととなる。 The component transmission unit 162 transmits the component indicated by the component information to the synchronization server 10. In other words, the component transmission unit 162 is different from the component stored in the synchronization server 10 among the components of the synchronization application, and has a newer update date than the component stored in the synchronization server 10. Elements can be uploaded to the synchronization server 10. Thereby, for example, a component already stored in the synchronization server 10 and having the same content as a component uploaded by another user is not uploaded.
 図10は、アプリケーション同期処理の一例を示すフローチャートである。この同期処理は、例えば、PC20においてアプリケーション同期システム用のプログラムが起動されたタイミングや、同期アプリケーションが終了されるタイミングで実行することができる。 FIG. 10 is a flowchart showing an example of application synchronization processing. This synchronization process can be executed, for example, at the timing when the application synchronization system program is started on the PC 20 or when the synchronization application is terminated.
 まず、PC20の認証処理部150と、同期サーバ10の認証処理部50との間で認証処理が実行される(S1001,S1002)。認証処理が完了すると、PC20の構成要素特定部152は、同期設定記憶部106を参照することにより、同期アプリケーションの構成要素を特定する(S1003)。そして、PC20の識別情報生成部154は、特定された構成要素の識別情報(ハッシュ値)を生成する(S1004)。なお、識別情報の生成が行われるタイミングはこれに限られない。例えば、同期サーバ10との間で同期処理が実行される前の任意のタイミングにおいて、識別情報の生成が行われることとしてもよい。例えば、同期アプリケーションにおいて構成要素の内容が更新されたタイミングにおいて、識別情報生成部154は、この構成要素の識別情報を生成し、同期設定記憶部106に格納することとしてもよい。 First, an authentication process is executed between the authentication processing unit 150 of the PC 20 and the authentication processing unit 50 of the synchronization server 10 (S1001, S1002). When the authentication process is completed, the component specifying unit 152 of the PC 20 specifies the component of the synchronization application by referring to the synchronization setting storage unit 106 (S1003). Then, the identification information generation unit 154 of the PC 20 generates identification information (hash value) of the identified component (S1004). Note that the timing at which the identification information is generated is not limited to this. For example, the identification information may be generated at an arbitrary timing before the synchronization process is executed with the synchronization server 10. For example, the identification information generation unit 154 may generate the identification information of the component and store it in the synchronization setting storage unit 106 at the timing when the content of the component is updated in the synchronization application.
 続いて、識別情報送信部156は、識別情報生成部154によって生成された識別情報(ハッシュ値)を、ユーザID、アプリケーションID、ファイルID、及び属性情報とともに同期サーバ10に送信する(S1005)。同期サーバ10の識別情報受信部52は、PC20から送信されてくる情報を受信する(S1006)。 Subsequently, the identification information transmission unit 156 transmits the identification information (hash value) generated by the identification information generation unit 154 to the synchronization server 10 together with the user ID, application ID, file ID, and attribute information (S1005). The identification information receiving unit 52 of the synchronization server 10 receives information transmitted from the PC 20 (S1006).
 同期サーバ10の構成要素特定部54は、PC20から受信した識別情報に基づいて、PC20における構成要素と、同期サーバ10の構成要素記憶部32に既に記憶されている構成要素との異同を判定する(S1007)。具体的には、構成要素特定部54は、アプリケーションID及びファイルIDごとに、PC20から受信した識別情報と、構成要素記憶部32に記憶されている識別情報とを比較することにより、構成要素の異同を判定することができる。ここで、内容が同一と判定された構成要素は、同期サーバ10及びPC20の間におけるアップロードが不要となる。 The component specifying unit 54 of the synchronization server 10 determines the difference between the component in the PC 20 and the component already stored in the component storage unit 32 of the synchronization server 10 based on the identification information received from the PC 20. (S1007). Specifically, the component specifying unit 54 compares the identification information received from the PC 20 with the identification information stored in the component storage unit 32 for each application ID and file ID, thereby Differences can be determined. Here, the components determined to be identical do not need to be uploaded between the synchronization server 10 and the PC 20.
 そして、構成要素特定部54は、同期サーバ10とPC20との間で内容が異なると判定された構成要素について、更新日時を比較することにより、アップロードまたはダウンロードの何れを行うかを判定する。(S1008)。具体的には、構成要素特定部54は、PC20における更新日時の方が新しい構成要素、及び、PC20にしか存在しない構成要素をアップロードの対象として特定する。また、構成要素特定部54は、同期サーバ10における更新日時の方が新しい構成要素、及び、同期サーバ10にしか存在しない構成要素をダウンロードの対象として特定する。 Then, the component specifying unit 54 determines whether to perform upload or download by comparing the update date and time for the components determined to have different contents between the synchronization server 10 and the PC 20. (S1008). Specifically, the component specifying unit 54 specifies a component having a newer update date and time on the PC 20 and a component that exists only on the PC 20 as upload targets. Further, the component specifying unit 54 specifies, as download targets, components that have a newer update date and time in the synchronization server 10 and components that exist only in the synchronization server 10.
 同期サーバ10の構成要素送信部56は、構成要素特定部54によってダウンロード対象として特定された構成要素をPC20に送信する(S1009)。PC20の構成要素受信部158は、同期サーバ10から送信されてくる構成要素を受信し、ファイル記憶部100に格納する(S1010)。 The component transmitting unit 56 of the synchronization server 10 transmits the component specified as the download target by the component specifying unit 54 to the PC 20 (S1009). The component reception unit 158 of the PC 20 receives the component transmitted from the synchronization server 10 and stores it in the file storage unit 100 (S1010).
 続いて、同期サーバ10の構成要素情報送信部58は、構成要素特定部54によってアップロード対象として特定された構成要素を示す構成要素情報をPC20に送信する(S1011)。PC20の構成要素情報受信部160は、同期サーバ10から送信されてくる構成要素情報を受信する(S1012)。そして、PC20の構成要素送信部162は、構成要素情報によって示される構成要素を同期サーバ10に送信する(S1013)。 Subsequently, the component information transmitting unit 58 of the synchronization server 10 transmits component information indicating the component specified as the upload target by the component specifying unit 54 to the PC 20 (S1011). The component information receiving unit 160 of the PC 20 receives the component information transmitted from the synchronization server 10 (S1012). Then, the component transmission unit 162 of the PC 20 transmits the component indicated by the component information to the synchronization server 10 (S1013).
 同期サーバ10の構成要素受信部60は、PC20から送信されてくる構成要素を受信する(S1014)。そして、同期サーバ10の構成要素管理部62は、受信した構成要素を用いて構成要素記憶部32を更新する(S1015)。具体的には、構成要素管理部62は、受信した構成要素を、ユーザID、アプリケーションID、属性情報、及び識別情報(ハッシュ値)と対応づけて個別構成要素記憶部42に格納する。また、構成要素管理部62は、個別構成要素記憶部42に記憶されている構成要素のうち、構成要素特定部54によって、複数のユーザ間で内容が同一であると判定された構成要素を、共通構成要素記憶部40に移動させる。 The component receiving unit 60 of the synchronization server 10 receives the component transmitted from the PC 20 (S1014). Then, the component management unit 62 of the synchronization server 10 updates the component storage unit 32 using the received component (S1015). Specifically, the component management unit 62 stores the received component in the individual component storage unit 42 in association with the user ID, application ID, attribute information, and identification information (hash value). In addition, the component management unit 62 includes components determined to be the same among a plurality of users by the component specifying unit 54 among the components stored in the individual component storage unit 42. Move to the common component storage unit 40.
 以上の処理により、PC20と同期サーバ10との間でアプリケーションの構成要素を同期させることができる。そして、本実施形態では、PC20における構成要素のうち、内容が同一の構成要素が既に同期サーバ10の構成要素記憶部32に記憶されているものは、PC20から同期サーバ10へのアップロードが行われない。したがって、構成要素記憶部32に記憶されるデータ容量を削減することが可能になるとともに、PC20と同期サーバ10との間の通信量を削減することが可能となる。 Through the above processing, application components can be synchronized between the PC 20 and the synchronization server 10. In the present embodiment, among the components in the PC 20, components having the same contents are already stored in the component storage unit 32 of the synchronization server 10 and uploaded from the PC 20 to the synchronization server 10. Absent. Therefore, the data capacity stored in the component storage unit 32 can be reduced, and the communication amount between the PC 20 and the synchronization server 10 can be reduced.
 なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。 In addition, this embodiment is for making an understanding of this invention easy, and is not for limiting and interpreting this invention. The present invention can be changed / improved without departing from the spirit thereof, and the present invention includes equivalents thereof.
 例えば、本実施形態では、アプリケーション同期システムにおいてアプリケーションを実行するクライアントをPCとしたが、クライアントはPCに限られず、携帯端末等の任意の情報処理装置を用いることが可能である。 For example, in this embodiment, a client that executes an application in the application synchronization system is a PC. However, the client is not limited to a PC, and any information processing apparatus such as a mobile terminal can be used.
 また、例えば、本実施形態では、アプリケーション同期システム用のプログラムが起動されたタイミングや、同期アプリケーションが終了されるタイミングでPC20と同期サーバ10との間で同期処理が実行されることとしたが、同期処理のタイミングはこれに限られず任意のタイミングを採用することができる。 In addition, for example, in the present embodiment, the synchronization process is executed between the PC 20 and the synchronization server 10 at the timing when the program for the application synchronization system is started or when the synchronization application is terminated. The timing of the synchronization processing is not limited to this, and any timing can be adopted.
 10 同期サーバ
 20 パーソナルコンピュータ
 30 アカウント情報記憶部
 32 構成要素記憶部
 34 同期処理部
 40 共通構成要素記憶部
 42 個別構成要素記憶部
 50 認証処理部
 52 識別情報受信部
 54 構成要素特定部
 56 構成要素送信部
 58 構成要素情報送信部
 60 構成要素受信部
 62 構成要素管理部
 100 ファイル記憶部
 102 アプリケーション実行部
 104 同期設定部
 106 同期設定記憶部
 108 アプリケーション起動部
 110 同期処理部
 150 認証処理部
 152 構成要素特定部
 154 識別情報生成部
 156 識別情報送信部
 158 構成要素受信部
 160 構成要素情報受信部
 162 構成要素送信部
DESCRIPTION OF SYMBOLS 10 Synchronization server 20 Personal computer 30 Account information memory | storage part 32 Component element memory | storage part 34 Synchronization processing part 40 Common component element memory | storage part 42 Individual component element memory | storage part 50 Authentication process part 52 Identification information receiving part 54 Component element specific | specification part 56 Component element transmission Unit 58 component element information transmission unit 60 component element reception unit 62 component element management unit 100 file storage unit 102 application execution unit 104 synchronization setting unit 106 synchronization setting storage unit 108 application activation unit 110 synchronization processing unit 150 authentication processing unit 152 component identification Unit 154 identification information generation unit 156 identification information transmission unit 158 component element reception unit 160 component element information reception unit 162 component element transmission unit

Claims (6)

  1.  アプリケーションの実行時に必要となる複数の構成要素を記憶する構成要素記憶部と、
     コンピュータから、前記コンピュータにおける前記アプリケーションの複数の構成要素のそれぞれの内容を識別する構成要素識別情報を受信する識別情報受信部と、
     前記構成要素識別情報に基づいて、前記コンピュータにおける前記複数の構成要素のうち、前記構成要素記憶部に記憶されている構成要素と内容が異なる構成要素を特定する構成要素特定部と、
     特定された前記構成要素を示す構成要素情報を前記コンピュータに送信する構成要素情報送信部と、
     前記構成要素情報に応じた構成要素を前記コンピュータから受信する構成要素受信部と、
     前記コンピュータから受信した前記構成要素を前記構成要素記憶部に格納する構成要素管理部と、
     を備える同期サーバ。
    A component storage unit that stores a plurality of components required when executing the application;
    An identification information receiving unit for receiving, from a computer, component element identification information for identifying the contents of each of the plurality of component elements of the application in the computer;
    Based on the component identification information, among the plurality of components in the computer, a component identifying unit that identifies a component that differs in content from the component stored in the component storage unit;
    A component information transmitting unit that transmits component information indicating the identified component to the computer;
    A component receiving unit that receives a component corresponding to the component information from the computer;
    A component management unit that stores the component received from the computer in the component storage unit;
    A synchronization server comprising:
  2.  請求項1に記載の同期サーバであって、
     前記構成要素記憶部は、前記構成要素識別情報を前記構成要素と対応づけて前記構成要素記憶部に記憶し、
     前記構成要素特定部は、前記構成要素記憶部に記憶されている構成要素識別情報と、前記コンピュータから受信した構成要素識別情報とを比較することにより、前記内容が異なる構成要素を特定する、
     同期サーバ。
    The synchronization server according to claim 1,
    The component storage unit stores the component identification information in the component storage unit in association with the component,
    The component identifying unit identifies a component having a different content by comparing the component identification information stored in the component storage unit with the component identification information received from the computer.
    Sync server.
  3.  請求項1または2に記載の同期サーバであって、
     前記構成要素記憶部は、前記構成要素をユーザ識別子と対応づけて記憶し、
     前記構成要素特定部は、前記ユーザ識別子にかかわらず、前記内容が異なる構成要素を特定し、
     前記構成要素管理部は、前記コンピュータにおける前記構成要素のうち、前記内容が異なる構成要素については、前記コンピュータから受信した前記構成要素を前記コンピュータのユーザのユーザ識別子と対応づけて前記構成要素記憶部に格納する、
     同期サーバ。
    The synchronization server according to claim 1 or 2,
    The component storage unit stores the component in association with a user identifier,
    The component specifying unit specifies components having different contents regardless of the user identifier,
    The component management unit associates the component received from the computer with the user identifier of the user of the computer for the component having a different content among the components in the computer. Store in the
    Sync server.
  4.  請求項1~3の何れか一項に記載の同期サーバであって、
     前記構成要素識別情報は、構成要素のハッシュ値を含む、
     同期サーバ。
    The synchronization server according to any one of claims 1 to 3,
    The component identification information includes a hash value of the component,
    Sync server.
  5.  同期サーバが、
     アプリケーションの実行時に必要となる複数の構成要素を構成要素記憶部に記憶し、
     コンピュータから、前記コンピュータにおける前記アプリケーションの複数の構成要素のそれぞれの内容を識別する構成要素識別情報を受信し、
     前記構成要素識別情報に基づいて、前記コンピュータにおける前記複数の構成要素のうち、前記構成要素記憶部に記憶されている構成要素と内容が異なる構成要素を特定し、
     特定された前記構成要素を示す構成要素情報を前記コンピュータに送信し、
     前記構成要素情報に応じた構成要素を前記コンピュータから受信し、
     前記コンピュータから受信した前記構成要素を前記構成要素記憶部に格納する、
     同期方法。
    Sync server is
    A plurality of components necessary for executing the application are stored in the component storage unit,
    Receiving, from the computer, component identification information for identifying the contents of each of the components of the application in the computer;
    Based on the component identification information, among the plurality of components in the computer, a component having a content different from the component stored in the component storage unit is specified,
    Transmitting component information indicating the identified component to the computer;
    Receiving a component according to the component information from the computer;
    Storing the component received from the computer in the component storage unit;
    Synchronization method.
  6.  コンピュータを、
     アプリケーションの実行時に必要となる複数の構成要素のそれぞれの内容を識別する構成要素識別情報を生成する識別情報生成部、
     生成された前記構成要素識別情報を、前記アプリケーションの構成要素を複数のコンピュータ間で同期させるための同期サーバに送信する識別情報送信部、
     前記複数の構成要素のうち前記同期サーバに同じ内容で記憶されていない構成要素を示す構成要素情報を受信する構成要素情報受信部、
     前記構成要素情報によって示される前記構成要素を前記同期サーバに送信する構成要素送信部、
     として機能させるためのプログラム。
    Computer
    An identification information generation unit for generating component element identification information for identifying the contents of each of the plurality of component elements required when executing the application;
    An identification information transmitting unit that transmits the generated component identification information to a synchronization server for synchronizing the components of the application among a plurality of computers;
    A component information receiving unit that receives component information indicating a component that is not stored in the synchronization server with the same content among the plurality of components,
    A component transmission unit that transmits the component indicated by the component information to the synchronization server;
    Program to function as.
PCT/JP2012/065894 2012-06-21 2012-06-21 Synchronization server, synchronization method, and program WO2013190685A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/065894 WO2013190685A1 (en) 2012-06-21 2012-06-21 Synchronization server, synchronization method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/065894 WO2013190685A1 (en) 2012-06-21 2012-06-21 Synchronization server, synchronization method, and program

Publications (1)

Publication Number Publication Date
WO2013190685A1 true WO2013190685A1 (en) 2013-12-27

Family

ID=49768314

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/065894 WO2013190685A1 (en) 2012-06-21 2012-06-21 Synchronization server, synchronization method, and program

Country Status (1)

Country Link
WO (1) WO2013190685A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200208A (en) * 1999-01-06 2000-07-18 Fujitsu Ltd Method and device for file backup, and program recording medium
JP2001282729A (en) * 2000-03-30 2001-10-12 Casio Comput Co Ltd System and method for setting user environment, and recording medium
JP2010277374A (en) * 2009-05-29 2010-12-09 Makoto Goto File storage system, server device and program
JP2012079044A (en) * 2010-09-30 2012-04-19 Yahoo Japan Corp File transmission/reception system, terminal device, storage server, file transmission/reception method and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200208A (en) * 1999-01-06 2000-07-18 Fujitsu Ltd Method and device for file backup, and program recording medium
JP2001282729A (en) * 2000-03-30 2001-10-12 Casio Comput Co Ltd System and method for setting user environment, and recording medium
JP2010277374A (en) * 2009-05-29 2010-12-09 Makoto Goto File storage system, server device and program
JP2012079044A (en) * 2010-09-30 2012-04-19 Yahoo Japan Corp File transmission/reception system, terminal device, storage server, file transmission/reception method and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAKESHI FUKAGAWA: "Cho Nyumon x Cho Katsuyo Home Network Shinso Kaiten: Dai 4 Kai/Zen 6 Kai", NETWORK STORAGE DE DATA O KYOYU SURU, PC MODE, vol. 9, no. 3, 24 March 2004 (2004-03-24), pages 136 - 139 *

Similar Documents

Publication Publication Date Title
JP6800184B2 (en) Document management and collaboration system
JP6774499B2 (en) Providing access to hybrid applications offline
US20230370401A1 (en) Conversion of text relating to media content and media extension apps
CN107148611B (en) Terminal device and control method thereof
US10785175B2 (en) Polling extension application for interacting with a messaging application
TWI536173B (en) Seamless browsing between devices
EP3235213B1 (en) No password user account access
TWI473019B (en) Method and system for application management within deployable object hierarchy
RU2595632C1 (en) Systems and methods for sharing files among multiple terminals
JP6397113B2 (en) Opening unsupported file formats through remoting sessions
US20170359285A1 (en) Conversion of detected url in text message
EP3700237A1 (en) Messaging application interacting with one or more extension applications
EP3944641A1 (en) Message extension app store
JP2016529599A (en) Content clipboard synchronization
JP2015505627A (en) Cloud content recognition
JP5500704B2 (en) Application synchronization method and program
KR101394369B1 (en) Apparatus and method for managing security contents using virtual folder
CN109814889B (en) Method and apparatus for updating source code base
JP6482204B2 (en) Information processing terminal, control method thereof, and program
WO2013171858A1 (en) Synchronization program and synchronization method
WO2013190685A1 (en) Synchronization server, synchronization method, and program
US9621630B2 (en) Distribution method, distribution apparatus, and terminal apparatus
WO2013168221A1 (en) Synchronization program, synchronization server, and synchronization method
WO2013183099A1 (en) Synchronization program and synchronization method
JP5727919B2 (en) Setting method, setting program and electrical appliance

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12879183

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12879183

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP