WO2013183099A1 - 同期プログラム及び同期方法 - Google Patents

同期プログラム及び同期方法 Download PDF

Info

Publication number
WO2013183099A1
WO2013183099A1 PCT/JP2012/064364 JP2012064364W WO2013183099A1 WO 2013183099 A1 WO2013183099 A1 WO 2013183099A1 JP 2012064364 W JP2012064364 W JP 2012064364W WO 2013183099 A1 WO2013183099 A1 WO 2013183099A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
synchronization
activation
priority
activation information
Prior art date
Application number
PCT/JP2012/064364
Other languages
English (en)
French (fr)
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 JP2014519708A priority Critical patent/JPWO2013183099A1/ja
Priority to PCT/JP2012/064364 priority patent/WO2013183099A1/ja
Publication of WO2013183099A1 publication Critical patent/WO2013183099A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Definitions

  • the present invention relates to a synchronization program and a synchronization method.
  • 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.
  • an object of the present invention is to improve convenience when synchronizing applications between a plurality of computers.
  • a synchronization program includes a startup information storage unit that stores startup information indicating startup results of each of a plurality of applications, and a component that is required when executing an application based on the startup results.
  • the computer stores activation information indicating the activation results of each of the plurality of applications in the activation information storage unit, and is necessary when executing the application based on the activation results.
  • the priority for synchronizing the component with the synchronization server is determined for each application, and the component is transmitted / received to / from the synchronization server according to the determined priority.
  • 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 in 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 the data for a synchronization. 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 synchronous setting. It is a figure which shows an example of the screen which starts the application of a synchronous object. It is a figure which shows an example of starting information. It is a flowchart which shows an example of the synchronous process of an application.
  • 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 an application execution file itself, user data, setting information, and the like. That is, by synchronizing applications among a plurality of PCs, the user can execute the applications in the same state regardless of which PC is used.
  • FIG. 2 is a block diagram illustrating an example of the functions of the synchronization server 10.
  • the synchronization server 10 includes a synchronization communication unit 30, a user account database (DB) 32, and a synchronization data storage 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.
  • 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 synchronous communication unit 30 can transmit and receive data to and from other information processing apparatuses such as the PC 20 via the network. And the synchronous communication part 30 can perform various control for synchronizing an application between several PC20. Specifically, the synchronization communication unit 30 can receive synchronization data for synchronizing the synchronization target application between the plurality of PCs 20 and store the synchronization data in the synchronization data storage unit 34. Further, the synchronization communication unit 30 can transmit the synchronization data stored in the synchronization data storage unit 34 to the PC 20 in response to a request from the PC 20.
  • the user account DB 32 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 synchronization data storage unit 34 stores synchronization data that is data for synchronizing a user's application execution environment among a plurality of PCs.
  • FIG. 3 shows an example of the structure of the synchronization data.
  • the synchronization data includes data stored in the synchronization table and data stored in the data storage.
  • the synchronization table stores a user ID, an application ID, an application file ID, a user file ID, and an update date, and the data storage stores an application file and a user file.
  • the synchronization data stored in the synchronization data storage unit 34 is updated by the synchronization communication unit 30.
  • the user ID is used to identify each user, and the same information as that registered in the user account DB 32 is used.
  • the application ID is for identifying an application selected as a synchronization target by each user. For example, the application ID may be set when the user registers an application to be synchronized with the synchronization server 10 or may be generated on the synchronization server 10 side.
  • the application file is application data for executing the synchronization target application, and includes an execution file, a DLL (Dynamic Link Library), and the like.
  • the application file also includes information for designating a folder for storing application data in the PC 20.
  • the application file ID indicates the storage location of the application file in the data storage.
  • User file is user data required when executing 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 user file also includes information for designating a folder for storing user data in the PC 20.
  • the user file ID indicates the storage location of the user file in the data storage.
  • the date and time when the synchronization application, the synchronization user data, or the synchronization setting information is updated is set.
  • Application file and user file are necessary components for executing the application.
  • Information other than application files and user files may be included in the constituent elements.
  • setting information stored in the registry may be included in the component.
  • FIG. 4 is a block diagram illustrating an example of functions that the PC 20 has.
  • the PC 20 includes a file storage unit 50, an application execution unit 52, a synchronization setting unit 54, a synchronization setting storage unit 56, an application activation unit 58, an activation information generation unit 60, an activation information storage unit 62, and a synchronization.
  • a communication unit 64 is included. 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 50 stores various files used in the PC 20.
  • Various files include, for example, programs and data used in an operating system (OS) and applications.
  • OS operating system
  • Each file can be identified by a file ID (file identifier) including a file path name and a file name.
  • the application execution unit 52 executes an application (application program) stored in the file storage unit 50. Specifically, the application execution unit 52 executes the application by generating a “process” that is an instance of the program. Each process is assigned a process ID (process identifier) for identifying the process.
  • process ID process identifier
  • the synchronization setting unit 54 performs settings for synchronizing applications among a plurality of PCs 20.
  • FIG. 5 shows an example of a screen displayed at the time of synchronization setting. This screen is displayed when the application synchronization system program is started. By using this screen, the user can register an application to be synchronized or start an application in a synchronized state. For example, when the user moves a shortcut 110 of a certain application “APL001” on the desktop of the PC 20 to the display area 112 of the screen 100 by drag and drop, the synchronization setting unit 54 selects the application specified by the shortcut. Register as a synchronization target application. In addition, not only drag and drop but the arbitrary methods for making the synchronous setting part 54 recognize the application of synchronous object can be used.
  • the application to be registered may be specified by pressing the application addition button 114 to display a file reference interface.
  • the synchronization setting unit 54 stores information related to the synchronization target application in the synchronization setting storage unit 56. Note that the synchronization setting unit 54 may store the information related to the synchronization target application in the synchronization data storage unit 34 of the synchronization server 10 instead of storing the information in the synchronization setting unit 56.
  • FIG. 6 shows an example of the synchronization setting stored in the synchronization setting storage unit 56.
  • the synchronization setting includes information indicating a user ID, a password, an application ID, an application file ID, a user file ID, and an update date.
  • the user ID and password are for using the application synchronization system.
  • the user ID and password are registered by the synchronization setting unit 54 at the start of use of the system.
  • the application ID, application file ID, user file ID, and update date / time are the same as the information stored in the synchronization data storage unit 34 of the synchronization server 10.
  • the application activation unit 58 activates the synchronization target application in response to a user operation. For example, when the display area 120 assigned to the application APL001 is selected on the screen 100 shown in FIG. 7, the application activation unit 58 refers to the synchronization setting stored in the synchronization setting storage unit 56 and sets the application APL001. to start.
  • the application activated by the application activation unit 58 is executed by the application execution unit 52 in the same manner as other applications.
  • the activation information generation unit 60 generates activation information indicating the activation results of the synchronization target application and stores the activation information in the activation information storage unit 62.
  • the activation results include, for example, the number of activations, activation time, activation date / time, activation time zone, activation interval, and the like.
  • the activation information generation unit 60 can generate activation information by, for example, monitoring the execution of the synchronization target application. Specifically, for example, the activation information generation unit 60 can detect the number of application activations by detecting an application activation instruction on the screen 100 illustrated in FIG. 7. In addition, for example, the activation information generation unit 60 can detect the activation time of the application by monitoring the execution of the synchronization target application and detecting the time during which the process is executed.
  • the application activation time may be, for example, a cumulative activation time or an average.
  • the period for counting the number of activations and the activation time may be, for example, a predetermined period such as the past one month, or a period from the most recently synchronized timing to the present.
  • the activation information generation unit 60 may generate the activation information by referring to log information output by the OS of the PC 20, for example.
  • FIG. 8 is a diagram illustrating an example of activation information stored in the activation information storage unit 62.
  • the activation information includes an application ID, the number of activations, and an activation time.
  • the activation number of the application ID “APL001” is “3 times”
  • the activation time is “3 hours 25 minutes 42 seconds”
  • the activation number of the application ID “APL002” is “5 times”
  • the time is “0 hour 15 minutes 39 seconds”.
  • various information indicating activation results such as activation date / time and activation time zone can be similarly stored in the activation information storage unit 62 for each application.
  • the synchronous communication unit 64 performs data communication for synchronizing applications among a plurality of PCs 20.
  • the synchronization communication unit 64 refers to the synchronization setting storage unit 56 and can synchronize the application file and user file of the synchronization target application with the synchronization server 10.
  • the synchronization communication unit 64 compares the content of the synchronization setting stored in the synchronization setting storage unit 56 with the content of the synchronization data stored in the synchronization data storage unit 34 of the synchronization server 10. The contents of the application file and user file can be matched to the latest state for each application ID.
  • the synchronous communication unit 64 can determine which of the files in the synchronization server 10 or the files in the PC 20 is new by comparing the update date and time for each application. When the file in the synchronization server 10 is newer, the synchronization communication unit 64 can synchronize the application by downloading the application file and the user file of the application from the synchronization server 10. When the file in the PC 20 is newer, the synchronization communication unit 64 can synchronize the application by uploading the application file and user file of the application to the synchronization server 10.
  • the synchronous communication unit 64 can determine the priority for synchronizing the application based on the activation information stored in the activation information storage unit 62. As an example, it is assumed that the activation information storage unit 62 stores two pieces of activation information shown in FIG. In this case, the synchronous communication unit 64 can determine the synchronization order of the application “APL001” and the application “APL002” based on the activation information.
  • the synchronous communication unit 64 can speed up the synchronization order of applications with a large number of activations.
  • the number of activations of the application “APL001” is “3 times”, and the number of activations of the application “APL002” is “5 times”. Therefore, for example, the synchronous communication unit 64 may synchronize the application “APL002” with a large number of activations before the application “APL001”.
  • the synchronous communication unit 64 can accelerate the synchronization order of applications having a long startup time.
  • the activation time of the application “APL001” is “3 hours 25 minutes 42 seconds”
  • the activation time of the application “APL002” is “0 hours 15 minutes 39 seconds”. Therefore, for example, the synchronization communication unit 64 may synchronize the application “APL001” having a long activation time before the application “APL002”.
  • the synchronous communication unit 64 may determine the priority for synchronizing the application based on a plurality of indexes included in the activation information. For example, the priority of each application may be calculated by calculating the score of each index included in the activation information and summing the scores of a plurality of indexes. Note that weighting may be set for each index when the scores of the indexes are totaled. For example, the priority of the index may be set. As an example, when the activation information includes the number of activations and the activation time, the priority of the number of activations may be set high. In this case, the synchronous communication unit 64 can first determine the priority of the application based on the number of activations. If the number of activations is the same, the synchronous communication unit 64 can further determine the priority of the application based on the activation time.
  • the synchronous communication unit 64 may synchronize a plurality of applications in parallel instead of sequentially synchronizing the applications. Specifically, the synchronous communication unit 64 may synchronize two applications in parallel, for example. Thus, even when synchronizing a some application in parallel, the synchronous communication part 64 is good also as controlling the synchronization of an application according to a priority. For example, the synchronous communication unit 64 may control the synchronization of the application so that the communication time ratio of the application with high priority among the applications synchronized in parallel increases.
  • timing at which the synchronization communication unit 64 communicates with the synchronization server 10 is, for example, a predetermined value set by a timer when the application activation unit 58 activates the screen 100 or when the synchronization target application ends. Any timing such as an interval may be used.
  • the synchronous communication unit 64 may determine the timing for synchronizing the application based on the priority according to the activation information. For example, the synchronous communication unit 64 synchronizes the application at a predetermined short interval for an application with a relatively high priority, and for the application with a relatively low priority, the application when the application activation unit 58 starts the application. It is good also as synchronizing.
  • the synchronous communication unit 64 When the number of activations, the activation time, and the like included in the activation information are information indicating the activation results in the period from the most recently synchronized timing to the present, the synchronous communication unit 64 initially sets the activation information of the application that has performed the synchronization process. Can be reset to a value.
  • FIG. 9 is a flowchart illustrating an example of the synchronization process.
  • the activation information generation unit 60 generates activation information for each application and stores it in the activation information storage unit 62 (S901).
  • the activation information generation unit 60 can generate activation information by monitoring the activation state of the synchronization target application or referring to log information output from the OS of the PC 20.
  • the activation information generation unit 60 repeatedly generates activation information until a synchronization instruction is issued (S902: N).
  • the synchronous communication unit 64 determines the synchronization priority of each application based on the activation information stored in the activation information storage unit 62 (S903).
  • the synchronization communication unit 64 may determine the priority of synchronization with reference to the activation information storage unit 62 before the synchronization instruction is issued.
  • the synchronization instruction is issued at an arbitrary timing such as a predetermined interval set by a timer when the application activation unit 58 activates the screen 100 or when the synchronization target application ends.
  • the synchronization communication unit 64 executes synchronization processing of the synchronization target application according to the determined priority (S904). Specifically, the synchronization communication unit 64 refers to the synchronization setting unit 56 and executes data communication for synchronizing the components of the synchronization target application between the synchronization server 10 and the PC 20. At this time, the synchronous communication unit 64 can execute the synchronization processing in order from the application with the highest priority, for example.
  • the application synchronization system of this embodiment has been described above. According to this embodiment, it is possible to determine the priority of the application when synchronizing the components necessary for executing the application with the synchronization server based on the activation information indicating the activation results for each application. . And according to the priority determined in this way, transmission / reception of a component can be performed between synchronous servers.
  • the synchronization processing of each application is performed with a priority according to the activation results of each application. Therefore, for example, an application with a large number of activations or an application with a long activation time can be preferentially synchronized. Thus, an application with a large number of activations and an application with a long activation time are considered to be applications that are frequently used by users. Therefore, by preferentially performing such application synchronization processing, the waiting time until such an application can be used can be reduced. This makes it possible to improve convenience when synchronizing applications between a plurality of computers.
  • 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 priority for synchronizing the application is determined based on the number of activations and the activation time, but the index for determining the priority is not limited thereto.
  • the activation information may include information indicating the activation date and time, the activation time zone, and the activation interval.
  • the synchronous communication part 64 is good also as determining a priority based on the starting date and time of an application, a starting time slot
  • the synchronous communication unit 64 may increase the priority of an application having a high execution frequency near the time at which the synchronous process is executed.
  • synchronization server 10 synchronization server 20 PC 30 Synchronous communication unit 32 User account DB 34 synchronization data storage unit 50 file storage unit 52 application execution unit 54 synchronization setting unit 56 synchronization setting storage unit 58 application activation unit 60 activation information generation unit 62 activation information storage unit 64 synchronization communication unit

Abstract

 複数のコンピュータ間でアプリケーションを同期させる際の利便性を向上させる。コンピュータが、複数のアプリケーションのそれぞれの起動実績を示す起動情報を起動情報記憶部に記憶し、起動実績に基づいて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させる優先度をアプリケーションごとに決定し、決定された優先度に従って、同期サーバとの間で構成要素の送受信を行う。

Description

同期プログラム及び同期方法
 本発明は、同期プログラム及び同期方法に関する。
 パーソナルコンピュータ(PC)や携帯端末等の情報処理装置では、文書作成ソフトウェアやウェブブラウザなどの様々なアプリケーションを実行することが可能である。通常、このようなアプリケーションは、情報処理装置ごとにインストールされたうえで使用される。そのため、例えば複数のPCを保有しているユーザが、これら複数のPC上で同じアプリケーションを使用する場合は、各PCに対して個別にアプリケーションをインストールする必要がある。さらに、アプリケーションを使用する際のユーザ設定についても、各PCにおいて個別に行う必要がある。このように、複数のPCで同一のアプリケーションを使用するのは非常に煩雑となる場合が多い。
 また、近年普及しつつある、SaaS(Software as a Service)などのサービスを用いることにより、各PCに対して個別にアプリケーションをインストールしない構成も考えられる(例えば、特許文献1)。しかしながら、このようなサービスを用いる場合、利用可能なアプリケーションはサービス事業者から提供されるものに限られてしまう。
特開2009-277089号公報
 そこで、例えば、各PCに対して個別にアプリケーションをインストールするのではなく、1台のPCにインストールされたアプリケーションの実行ファイルやデータファイルなどの関連ファイルを複数のPC間で共有する、すなわち、アプリケーションを同期させることも考えられる。ここで、同期対象のアプリケーションが複数存在する場合、どのような順序でアプリケーションを同期させるかが問題となる。例えば、単純に、アプリケーション名の順序や、同期対象として登録された順序に従ってアプリケーションを同期させることも可能であるが、これらの順序はユーザが希望する順序とは異なる場合が多い。例えば、早く使用したいアプリケーションの同期順序が後になってしまうと、このアプリケーションの同期が完了するまでの時間が長くなってしまい、利便性が低下する可能性がある。
 そこで、本発明は、複数のコンピュータ間でアプリケーションを同期させる際の利便性を向上させることを目的とする。
 本発明の一側面に係る同期プログラムは、コンピュータを、複数のアプリケーションのそれぞれの起動実績を示す起動情報を記憶する起動情報記憶部、起動実績に基づいて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させる優先度をアプリケーションごとに決定する優先度決定部、決定された優先度に従って、同期サーバとの間で構成要素の送受信を行う同期通信部、として機能させるためのものである。
 また、本発明の一側面に係る同期方法では、コンピュータが、複数のアプリケーションのそれぞれの起動実績を示す起動情報を起動情報記憶部に記憶し、起動実績に基づいて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させる優先度をアプリケーションごとに決定し、決定された優先度に従って、同期サーバとの間で構成要素の送受信を行う。
 なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されてもよい。
 本発明によれば、複数のコンピュータ間でアプリケーションを同期させる際の利便性を向上させることが可能となる。
本発明の一実施形態におけるアプリケーション同期システムの構成例を示す図である。 同期サーバが有する機能の一例を示すブロック図である。 同期用データの一例を示す図である。 PCが有する機能の一例を示すブロック図である。 同期設定の際に表示される画面の一例を示す図である。 同期設定の一例を示す図である。 同期対象のアプリケーションを起動する画面の一例を示す図である。 起動情報の一例を示す図である。 アプリケーションの同期処理の一例を示すフローチャートである。
 以下、図面を参照して本発明の一実施形態について説明する。図1は、本発明の一実施形態であるアプリケーション同期システムの構成例を示す図である。図1に示すように、アプリケーション同期システムは、同期サーバ10、及び複数台のパーソナルコンピュータ(PC)20を含んで構成される。同期サーバ10は、ユーザに対してアプリケーションを複数のPC20間で同期可能とするためのサービスを提供するものであり、1台または複数台の情報処理装置を用いて構成される。PC20は、ユーザがアプリケーションを実行させるための情報処理装置であり、同期サーバ10とインターネット等のネットワークを介して通信可能である。
 ここで、例えばユーザ「USER001」は、PC20-1及びPC20-2の2台のPCを保有しているとする。このユーザ「USER001」は、同期サーバ10により提供されるアプリケーション同期システムを用いることにより、各PCに個別にアプリケーションをインストールしたり、手動でデータを同期させたりする必要なく、PC20-1及びPC20-2において同期された状態でアプリケーションを実行することが可能である。ここで、アプリケーションの同期とは、アプリケーションの実行環境を同一の状態にすることをいう。なお、実行環境には、アプリケーションの実行ファイルそのものや、ユーザデータ、設定情報などが含まれる。すなわち、複数のPC間でアプリケーションが同期されることにより、ユーザはどのPCを用いる場合においても同じ状態でアプリケーションを実行することが可能となる。
 図2は、同期サーバ10が有する機能の一例を示すブロック図である。図2に示すように、同期サーバ10は、同期通信部30、ユーザアカウントデータベース(DB)32、同期用データ記憶部34を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。
 同期通信部30は、ネットワークを介してPC20等の他の情報処理装置との間でデータの送受信を行うことが可能である。そして、同期通信部30は、複数のPC20間でアプリケーションを同期させるための各種制御を行うことが可能である。具体的には、同期通信部30は、同期対象のアプリケーションを複数のPC20間で同期させるための同期用データをPC20から受信して、同期用データ記憶部34に格納することができる。また、同期通信部30は、PC20からの要求に応じて、同期用データ記憶部34に格納されている同期用データをPC20に送信することができる。
 ユーザアカウントDB32は、アプリケーション同期システムを利用するユーザのアカウント情報を記憶するものである。例えば、アカウント情報には、ユーザIDやパスワード、メールアドレスなどが含まれる。
 同期用データ記憶部34は、複数のPC間でユーザのアプリケーション実行環境を同期させるためのデータである同期用データを記憶するものである。図3には、同期用データの構造の一例が示されている。図3に示す例では、同期用データは、同期用テーブルに格納されるデータと、データストレージに格納されるデータとにより構成されている。同期用テーブルには、ユーザID、アプリケーションID、アプリケーションファイルID、ユーザファイルID、及び更新日時が格納され、データストレージには、アプリケーションファイル及びユーザファイルが格納されている。同期用データ記憶部34に格納されている同期用データは、同期通信部30によって更新される。
 ユーザIDは、各ユーザを識別するためのものであり、ユーザアカウントDB32に登録されている情報と同じものが使用されている。アプリケーションIDは、各ユーザが同期対象として選択したアプリケーションを識別するためのものである。このアプリケーションIDは、例えば、ユーザが同期対象のアプリケーションを同期サーバ10に登録する際に設定することとしてもよいし、同期サーバ10側で生成されることとしてもよい。
 アプリケーションファイルは、同期対象のアプリケーションを実行するためのアプリケーションデータであり、実行ファイルやDLL(Dynamic Link Library)などを含んでいる。また、アプリケーションファイルには、PC20においてアプリケーションデータを格納するフォルダを指定するための情報も含まれている。そして、アプリケーションファイルIDは、データストレージ内におけるアプリケーションファイルの格納場所を示すものである。
 ユーザファイルは、アプリケーションの実行時に必要となるユーザデータである。ここで、ユーザデータとは、アプリケーションの実行時に参照されるユーザごとのデータであり、例えば、電子メールの送受信を行うための電子メールアプリケーションにおける各ユーザの電子メールデータや、Webブラウザにおける各ユーザのブックマークデータなどである。また、ユーザファイルには、PC20においてユーザデータを格納するフォルダを指定するための情報も含まれている。そして、ユーザファイルIDは、データストレージ内におけるユーザファイルの格納場所を示すものである。
 更新日時には、同期用アプリケーション、同期用ユーザデータ、または同期用設定情報が更新された日時が設定される。
 アプリケーションファイル及びユーザファイルは、アプリケーションを実行するために必要な構成要素である。また、アプリケーションファイルやユーザファイル以外の情報が構成要素に含まれることとしてもよい。例えば、レジストリに格納された設定情報が構成要素に含まれることとしてもよい。
 図4は、PC20が有する機能の一例を示すブロック図である。図4に示すように、PC20は、ファイル記憶部50、アプリケーション実行部52、同期設定部54、同期設定記憶部56、アプリケーション起動部58、起動情報生成部60、起動情報記憶部62、及び同期通信部64を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。
 ファイル記憶部50は、PC20において用いられる各種ファイルを記憶している。各種ファイルには、例えば、オペレーティングシステム(OS)やアプリケーションで用いられるプログラムやデータが含まれる。各ファイルは、ファイルパス名やファイル名などを含むファイルID(ファイル識別子)により識別することができる。
 アプリケーション実行部52は、ファイル記憶部50に記憶されているアプリケーション(アプリケーションプログラム)を実行する。具体的には、アプリケーション実行部52は、プログラムのインスタンスである「プロセス」を生成することにより、アプリケーションを実行する。各プロセスには、プロセスを識別するためのプロセスID(プロセス識別子)が割り当てられる。
 同期設定部54は、複数のPC20間でアプリケーションを同期させるための設定を行うものである。図5には、同期設定の際に表示される画面の一例が示されている。この画面は、アプリケーション同期システム用のプログラムが起動されることにより表示される。ユーザは、この画面を用いることにより、同期対象のアプリケーションを登録したり、同期された状態のアプリケーションを起動したりすることができる。例えば、ユーザが、PC20のデスクトップ等にある、あるアプリケーション「APL001」のショートカット110をドラッグアンドドロップによって画面100の表示領域112に移動させると、同期設定部54は、このショートカットにより特定されるアプリケーションを同期対象のアプリケーションとして登録する。なお、ドラッグアンドドロップに限らず、同期対象のアプリケーションを同期設定部54に認識させるための任意の手法を用いることができる。例えば、図5に示すように、アプリケーション追加ボタン114を押下してファイル参照用のインタフェースを表示させることにより、登録対象のアプリケーションが特定されることとしてもよい。そして、同期設定部54は、同期対象のアプリケーションに関する情報を同期設定記憶部56に格納する。なお、同期設定部54は、同期対象のアプリケーションに関する情報を同期設定部56に格納するのではなく、同期サーバ10の同期用データ記憶部34に格納することとしてもよい。
 図6は、同期設定記憶部56に記憶される同期設定の一例が示されている。図6に示すように、同期設定には、ユーザID、パスワード、アプリケーションID、アプリケーションファイルID、ユーザファイルID、及び更新日時を示す情報が含まれている。ユーザID及びパスワードは、アプリケーション同期システムを用いるためのものであり、例えば、本システムの利用開始時に同期設定部54により登録される。アプリケーションID、アプリケーションファイルID、ユーザファイルID、及び更新日時は、同期サーバ10の同期用データ記憶部34に格納されている情報と同等のものである。
 図4に戻り、アプリケーション起動部58は、ユーザ操作に応じて同期対象のアプリケーションを起動する。例えば、アプリケーション起動部58は、図7に示す画面100において、アプリケーションAPL001に割り当てられた表示領域120が選択されると、同期設定記憶部56に格納されている同期設定を参照し、アプリケーションAPL001を起動する。アプリケーション起動部58により起動されたアプリケーションは、他のアプリケーションと同様に、アプリケーション実行部52により実行される。
 起動情報生成部60は、同期対象のアプリケーションの起動実績を示す起動情報を生成し、起動情報記憶部62に格納する。起動実績には、例えば、起動回数や起動時間、起動日時、起動時間帯、起動間隔などが含まれる。起動情報生成部60は、例えば、同期対象のアプリケーションの実行を監視することにより、起動情報を生成することができる。具体的には、例えば、起動情報生成部60は、図7に示した画面100におけるアプリケーションの起動指示を検出することにより、アプリケーションの起動回数を検出することができる。また例えば、起動情報生成部60は、同期対象のアプリケーションの実行を監視し、そのプロセスが実行されている時間を検出することにより、アプリケーションの起動時間を検出することができる。アプリケーションの起動時間は、例えば、起動時間の累計であってもよいし、平均であってもよい。また、起動回数や起動時間を集計する期間は、例えば、過去1か月間などの所定期間であってもよいし、直近に同期したタイミングから現在までの期間であってもよい。また、起動情報生成部60は、例えば、PC20のOSが出力するログ情報を参照することによって、起動情報を生成することとしてもよい。
 図8は、起動情報記憶部62に記憶される起動情報の一例を示す図である。図8に示す例では、起動情報には、アプリケーションID、起動回数、及び起動時間が含まれている。図8に示す例では、アプリケーションID「APL001」の起動回数が「3回」、起動時間が「3時間25分42秒」であり、アプリケーションID「APL002」の起動回数が「5回」、起動時間が「0時間15分39秒」となっている。図8に示す例では示していないが、起動日時や起動時間帯等の起動実績を示す様々な情報についても同様に、アプリケーションごとに起動情報記憶部62に記憶することができる。
 図4に戻り、同期通信部64は、複数のPC20間でアプリケーションを同期させるためのデータ通信を行うものである。具体的には、同期通信部64は、同期設定記憶部56を参照し、同期対象のアプリケーションのアプリケーションファイル及びユーザファイルを、同期サーバ10との間で同期させることができる。例えば、同期通信部64は、同期設定記憶部56に記憶されている同期設定の内容と、同期サーバ10の同期用データ記憶部34に記憶されている同期用データの内容とを比較することにより、アプリケーションファイル及びユーザファイルの内容を、アプリケーションIDごとに最新の状態に合わせることが可能である。
 例えば、同期通信部64は、アプリケーションごとに更新日時を比較することにより、同期サーバ10内のファイルまたはPC20内のファイルの何れが新しいかを判定することができる。同期サーバ10内のファイルの方が新しい場合、同期通信部64は、該アプリケーションのアプリケーションファイル及びユーザファイルを同期サーバ10からダウンロードすることにより、アプリケーションを同期させることができる。また、PC20内のファイルの方が新しい場合、同期通信部64は、該アプリケーションのアプリケーションファイル及びユーザファイルを同期サーバ10にアップロードすることにより、アプリケーションを同期させることができる。
 また、同期通信部64は、起動情報記憶部62に記憶されている起動情報に基づいて、アプリケーションを同期させる際の優先度を決定することができる。一例として、起動情報記憶部62に、図8に示した2件の起動情報が格納されている場合を想定する。この場合、同期通信部64は、アプリケーション「APL001」と、アプリケーション「APL002」の同期順序を、起動情報に基づいて決定することができる。
 例えば、同期通信部64は、起動回数が多いアプリケーションの同期順序を早くすることができる。図8に示した2件の場合、アプリケーション「APL001」の起動回数は「3回」、アプリケーション「APL002」の起動回数は「5回」である。したがって、同期通信部64は、例えば、起動回数の多いアプリケーション「APL002」を、アプリケーション「APL001」より先に同期させることとしてもよい。
 また例えば、同期通信部64は、起動時間が長いアプリケーションの同期順序を早くすることができる。図8に示した2件の場合、アプリケーション「APL001」の起動時間は「3時間25分42秒」、アプリケーション「APL002」の起動時間は「0時間15分39秒」である。したがって、同期通信部64は、例えば、起動時間の長いアプリケーション「APL001」を、アプリケーション「APL002」より先に同期させることとしてもよい。
 なお、同期通信部64は、起動情報に含まれる複数の指標に基づいて、アプリケーションを同期させる際の優先度を決定することとしてもよい。例えば、起動情報に含まれる各指標のスコアを算出し、複数の指標のスコアを合計することにより、各アプリケーションの優先度を算出してもよい。なお、各指標のスコアを合計する際に、指標ごとに重みづけが設定されることとしてもよい。また例えば、指標の優先度が設定されていることとしてもよい。一例として、起動情報に起動回数及び起動時間が含まれる場合、起動回数の優先度が高く設定されていることとしてもよい。この場合、同期通信部64は、まず起動回数に基づいて、アプリケーションの優先度を決定することができる。そして、起動回数が同一である場合には、同期通信部64は、さらに、起動時間に基づいてアプリケーションの優先度を決定することができる。
 なお、同期通信部64は、アプリケーションを逐次的に同期させるのではなく、複数のアプリケーションを並列的に同期させることとしてもよい。具体的には、同期通信部64は、例えば、2つのアプリケーションを並列に同期させることとしてもよい。このように複数のアプリケーションを並列的に同期させる場合においても、同期通信部64は、優先度に従ってアプリケーションの同期を制御することとしてもよい。例えば、同期通信部64は、並列的に同期されているアプリケーションのうち、優先度の高いアプリケーションの通信時間の割合が大きくなるように、アプリケーションの同期を制御することとしてもよい。
 なお、同期通信部64が同期サーバ10との間で通信を行うタイミングは、例えば、アプリケーション起動部58が画面100を起動した際や、同期対象のアプリケーションが終了した際、タイマにより設定される所定間隔など、任意のタイミングであってよい。
 また、同期通信部64は、起動情報に応じた優先度に基づいて、アプリケーションを同期させるタイミングを決定することとしてもよい。例えば、同期通信部64は、優先度が比較的高いアプリケーションについては、所定の短い間隔でアプリケーションを同期させ、優先度が比較的低いアプリケーションについては、アプリケーション起動部58によって起動された際にアプリケーションを同期させることとしてもよい。
 起動情報に含まれる起動回数や起動時間等が、直近に同期したタイミングから現在までの期間における起動実績を示す情報である場合、同期通信部64は、同期処理を行ったアプリケーションの起動情報を初期値にリセットすることができる。
 次に、PC20における同期処理の流れについて説明する。図9は、同期処理の一例を示すフローチャートである。起動情報生成部60は、アプリケーションごとに起動情報を生成し、起動情報記憶部62に格納する(S901)。例えば、起動情報生成部60は、同期対象のアプリケーションの起動状態を監視したり、PC20のOSから出力されるログ情報を参照したりすることにより、起動情報を生成することができる。起動情報生成部60は、同期指示が発行されるまで(S902:N)、起動情報の生成を繰り返し実行する。
 同期指示が発行されると(S902:Y)、同期通信部64は、起動情報記憶部62に記憶されている起動情報に基づいて各アプリケーションの同期の優先度を決定する(S903)。同期通信部64は、同期指示が発行されるより前に、起動情報記憶部62を参照し、同期の優先度を決定しておくこととしてもよい。なお、同期指示は、例えば、アプリケーション起動部58が画面100を起動した際や、同期対象のアプリケーションが終了した際、タイマにより設定される所定間隔など、任意のタイミングで発行される。
 同期通信部64は、決定された優先度に従って、同期対象のアプリケーションの同期処理を実行する(S904)。具体的には、同期通信部64は、同期設定部56を参照し、同期対象のアプリケーションの構成要素を同期サーバ10とPC20との間で同期させるためのデータ通信を実行する。この際に、同期通信部64は、例えば、優先度が高いアプリケーションから順に同期処理を実行することができる。
 以上、本実施形態のアプリケーション同期システムについて説明した。本実施形態によれば、アプリケーションごとの起動実績を示す起動情報に基づいて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させる際のアプリケーションの優先度を決定することができる。そして、このように決定された優先度に従って、同期サーバとの間で構成要素の送受信を行うことができる。
 つまり、本実施形態によれば、各アプリケーションの同期処理が、各アプリケーションの起動実績に応じた優先度で行われることとなる。したがって、例えば、起動回数が多いアプリケーションや、起動時間が長いアプリケーションを優先的に同期させることができる。このように、起動回数が多いアプリケーションや、起動時間が長いアプリケーションは、ユーザが良く利用するアプリケーションであると考えられる。そのため、このようなアプリケーションの同期処理を優先的に行うことにより、このようなアプリケーションが使用可能となるまでの待ち時間を削減することができる。これにより、複数のコンピュータ間でアプリケーションを同期させる際の利便性を向上させることが可能となる。
 なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。
 例えば、本実施形態では、アプリケーション同期システムにおいてアプリケーションを実行するクライアントをPCとしたが、クライアントはPCに限られず、携帯端末等の任意の情報処理装置を用いることが可能である。
 また例えば、本実施形態では、起動回数や起動時間に基づいてアプリケーションを同期させる際の優先度を決定することとしたが、優先度を決定する際の指標はこれに限られない。例えば、起動情報には、起動日時や起動時間帯、起動間隔を示す情報が含まれることとしてもよい。そして、同期通信部64は、例えば、アプリケーションの起動日時や起動時間帯、起動間隔に基づいて優先度を決定することとしてもよい。具体的には、例えば、同期通信部64は、同期処理を実行する時刻近辺での実行頻度が高いアプリケーションの優先度を高くすることとしてもよい。
 10 同期サーバ
 20 PC
 30 同期通信部
 32 ユーザアカウントDB
 34 同期用データ記憶部
 50 ファイル記憶部
 52 アプリケーション実行部
 54 同期設定部
 56 同期設定記憶部
 58 アプリケーション起動部
 60 起動情報生成部
 62 起動情報記憶部
 64 同期通信部

Claims (5)

  1.  コンピュータを、
     複数のアプリケーションのそれぞれの起動実績を示す起動情報を記憶する起動情報記憶部、
     前記起動実績に基づいて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させる優先度をアプリケーションごとに決定する優先度決定部、
     前記決定された優先度に従って、前記同期サーバとの間で前記構成要素の送受信を行う同期通信部、
     として機能させるためのプログラム。
  2.  請求項1に記載のプログラムであって、
     前記コンピュータを、さらに、
     アプリケーションの起動状態を監視して前記起動情報を生成する起動情報生成部、
     として機能させるためのプログラム。
  3.  請求項1または2に記載のプログラムであって、
     前記起動情報には、アプリケーションの起動回数を示す情報が含まれ、
     前記優先度決定部は、起動回数が多くなるに従って前記優先度を高くする、
     プログラム。
  4.  請求項1~3の何れか一項に記載のプログラムであって、
     前記起動情報には、アプリケーションの起動時間を示す情報が含まれ、
     前記優先度決定部は、起動時間が長くなるに従って前記優先度を高くする、
     プログラム。
  5.  コンピュータが、
     複数のアプリケーションのそれぞれの起動実績を示す起動情報を起動情報記憶部に記憶し、
     前記起動実績に基づいて、アプリケーションの実行時に必要となる構成要素を同期サーバとの間で同期させる優先度をアプリケーションごとに決定し、
     前記決定された優先度に従って、前記同期サーバとの間で前記構成要素の送受信を行う、
     同期方法。
PCT/JP2012/064364 2012-06-04 2012-06-04 同期プログラム及び同期方法 WO2013183099A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014519708A JPWO2013183099A1 (ja) 2012-06-04 2012-06-04 同期プログラム及び同期方法
PCT/JP2012/064364 WO2013183099A1 (ja) 2012-06-04 2012-06-04 同期プログラム及び同期方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/064364 WO2013183099A1 (ja) 2012-06-04 2012-06-04 同期プログラム及び同期方法

Publications (1)

Publication Number Publication Date
WO2013183099A1 true WO2013183099A1 (ja) 2013-12-12

Family

ID=49711520

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/064364 WO2013183099A1 (ja) 2012-06-04 2012-06-04 同期プログラム及び同期方法

Country Status (2)

Country Link
JP (1) JPWO2013183099A1 (ja)
WO (1) WO2013183099A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108347480A (zh) * 2018-01-30 2018-07-31 深圳阿凡达智控有限公司 数据同步方法、装置及电子烟

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004187228A (ja) * 2002-12-06 2004-07-02 Nec Corp ユーザ端末の個人情報管理システム
JP2011237950A (ja) * 2010-05-07 2011-11-24 Fujitsu Ltd 情報処理装置、バックアップサーバ、バックアッププログラム、バックアップ方法及びバックアップシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004187228A (ja) * 2002-12-06 2004-07-02 Nec Corp ユーザ端末の個人情報管理システム
JP2011237950A (ja) * 2010-05-07 2011-11-24 Fujitsu Ltd 情報処理装置、バックアップサーバ、バックアッププログラム、バックアップ方法及びバックアップシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108347480A (zh) * 2018-01-30 2018-07-31 深圳阿凡达智控有限公司 数据同步方法、装置及电子烟

Also Published As

Publication number Publication date
JPWO2013183099A1 (ja) 2016-01-21

Similar Documents

Publication Publication Date Title
TWI536173B (zh) 元件間之無縫瀏覽
CN112214260B (zh) 终端应用app的加载方法及装置
US10268515B2 (en) Releasing resources from processes in a particular order to provide required resources to start an application
WO2014012449A1 (zh) 桌面同步方法、装置、处理中心及系统
WO2016112226A1 (en) Techniques for sharing applications
JP6152289B2 (ja) 情報処理装置、端末システム、情報処理プログラム、および、アプリケーションの更新用データの取得方法
WO2014035931A1 (en) Branded computer devices and apparatus to connect user and enterprise
JP5500704B2 (ja) アプリケーション同期方法及びプログラム
JP2016006608A (ja) 管理方法、仮想マシン、管理サーバ、管理システム、及びコンピュータプログラム
WO2013183099A1 (ja) 同期プログラム及び同期方法
US20180059650A1 (en) Techniques for multiple application banks in a welding or cutting system
JP6062722B2 (ja) 情報処理システム、情報処理装置、情報処理方法、およびコンピュータプログラム
US9460179B1 (en) Systems and methods for providing adaptive visualization of synchronization of multiple files
WO2013183159A1 (ja) 同期プログラム及び同期方法
US10452222B2 (en) Coordination of system readiness tasks
US20140280573A1 (en) Component loading based on user preferences
US10182106B2 (en) Data management system, information management apparatus, and non-transitory computer readable medium
CN109408336B (zh) 一种启动项监控方法、装置、终端及计算机可读介质
WO2013168221A1 (ja) 同期プログラム、同期サーバ、及び同期方法
JP2014135070A (ja) アプリケーション同期方法及びプログラム
WO2013190685A1 (ja) 同期サーバ、同期方法、及びプログラム
WO2017077581A1 (ja) 情報処理システム、情報処理方法、及び情報処理プログラム
JP6875334B2 (ja) サーバ、システム、クライアント装置、ログ情報記憶方法、クライアント情報送信方法及びプログラム
JP2016218541A (ja) 情報処理装置およびプログラム
JP6035192B2 (ja) 情報処理装置、端末システム、情報処理プログラム、および、アプリケーションの更新用データの取得方法

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: 12878564

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014519708

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12878564

Country of ref document: EP

Kind code of ref document: A1