JPWO2013168221A1 - Synchronization program, synchronization server, and synchronization method - Google Patents
Synchronization program, synchronization server, and synchronization method Download PDFInfo
- Publication number
- JPWO2013168221A1 JPWO2013168221A1 JP2014514251A JP2014514251A JPWO2013168221A1 JP WO2013168221 A1 JPWO2013168221 A1 JP WO2013168221A1 JP 2014514251 A JP2014514251 A JP 2014514251A JP 2014514251 A JP2014514251 A JP 2014514251A JP WO2013168221 A1 JPWO2013168221 A1 JP WO2013168221A1
- Authority
- JP
- Japan
- Prior art keywords
- component
- application
- synchronization
- information
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
同期対象のアプリケーションの構成要素の特定精度を向上させる。コンピュータが、アプリケーションの実行時に必要となる構成要素を特定し、アプリケーションの構成要素を示す構成要素情報を同期サーバから取得し、構成要素の特定結果と構成要素情報とに応じた構成要素を同期サーバに送信する。Improve the accuracy of identifying the components of the application to be synchronized. The computer identifies the components that are required when the application is executed, acquires the component information indicating the components of the application from the synchronization server, and synchronizes the components according to the component identification results and the component information. Send to.
Description
本発明は、同期プログラム、同期サーバ、及び同期方法に関する。 The present invention relates to a synchronization program, a synchronization server, and a synchronization method.
パーソナルコンピュータ(PC)や携帯端末等の情報処理装置では、文書作成ソフトウェアやウェブブラウザなどの様々なアプリケーションを実行することが可能である。通常、このようなアプリケーションは、情報処理装置ごとにインストールされたうえで使用される。そのため、例えば複数のPCを保有しているユーザが、これら複数のPC上で同じアプリケーションを使用する場合は、各PCに対して個別にアプリケーションをインストールする必要がある。さらに、アプリケーションを使用する際のユーザ設定についても、各PCにおいて個別に行う必要がある。このように、複数のPCで同一のアプリケーションを使用するのは非常に煩雑となる場合が多い。 An information processing apparatus such as a personal computer (PC) or a portable 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, a configuration in which an application is not individually installed on each PC by using a service such as SaaS (Software as a Service), which has been spreading in recent years, can be considered (for example, Patent Document 1). However, when such a service is used, available applications are limited to those provided by service providers.
そこで、例えば、各PCに対して個別にアプリケーションをインストールするのではなく、1台の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. In this case, components such as an execution file, a data file, and setting information necessary for executing the synchronization target application must be synchronized between the PCs. However, the constituent elements are often stored in various folders, registries, etc., and it may be difficult to specify all the constituent elements.
そこで、本発明は、同期対象のアプリケーションの構成要素の特定精度を向上させることを目的とする。 Therefore, an object of the present invention is to improve the identification accuracy of components of an application to be synchronized.
本発明の一側面に係る同期プログラムは、コンピュータを、アプリケーションの実行時に必要となる構成要素を特定する構成要素特定部、アプリケーションの構成要素を示す構成要素情報を同期サーバから取得する構成要素情報取得部、構成要素特定部による特定結果と、構成要素情報とに応じた構成要素を同期サーバに送信する構成要素送信部、として機能させる。 A synchronization program according to an aspect of the present invention provides a component identification unit that identifies a component necessary for execution of an application from a computer, and component information acquisition that acquires component information indicating a component of the application from a synchronization server And a component transmission unit that transmits a component according to the identification result by the component identification unit and the component element information to the synchronization server.
また、本発明の一側面に係る同期サーバは、アプリケーションの識別子と、該アプリケーションの実行時に必要となる構成要素とを対応づけて記憶する構成要素記憶部と、第1のコンピュータから、アプリケーションの構成要素を示す構成要素情報の取得要求を受信する構成要素情報取得要求受信部と、構成要素情報の取得要求に応じて、構成要素記憶部を参照し、構成要素情報を第1のコンピュータに送信する構成要素情報送信部と、第1のコンピュータから、アプリケーションの識別子と、該アプリケーションの構成要素とを受信して構成要素記憶部を更新する構成要素受信部と、第2のコンピュータから、アプリケーションの構成要素の取得要求を受信する構成要素取得要求受信部と、構成要素の取得要求に応じて、構成要素記憶部を参照し、構成要素を第2のコンピュータに送信する構成要素送信部と、を備える。 The synchronization server according to one aspect of the present invention includes: a component storage unit that stores an identifier of an application and a component necessary for executing the application in association with each other; and a configuration of the application from the first computer A component element acquisition request receiving unit that receives a component element information acquisition request indicating an element, and refers to the component element storage unit in response to the component element acquisition request, and transmits the component element information to the first computer A component information transmission unit, a component reception unit that receives an application identifier and a component of the application from the first computer, and updates the component storage unit, and a configuration of the application from the second computer A component acquisition request receiving unit that receives an element acquisition request, and a component storage unit in response to the component acquisition request Irradiation and comprises a component transmitting unit that transmits the components to the second computer, a.
また、本発明の一側面に係る同期方法では、コンピュータが、アプリケーションの実行時に必要となる構成要素を特定し、アプリケーションの構成要素を示す構成要素情報を同期サーバから取得し、構成要素の特定結果と構成要素情報とに応じた構成要素を同期サーバに送信する。 Further, in the synchronization method according to one aspect of the present invention, the computer specifies a component necessary for executing the application, acquires component information indicating the component of the application from the synchronization server, and specifies the component identification result. And the component according to the component information are transmitted to the synchronization server.
また、本発明の一側面に係る同期方法では、同期サーバが、アプリケーションの識別子と、該アプリケーションの実行時に必要となる構成要素とを対応づけて構成要素記憶部に記憶し、第1のコンピュータから、アプリケーションの構成要素を示す構成要素情報の取得要求を受信し、構成要素情報の取得要求に応じて、構成要素記憶部を参照し、構成要素情報を第1のコンピュータに送信し、第1のコンピュータから、アプリケーションの識別子と、該アプリケーションの構成要素とを受信して構成要素記憶部を更新し、第2のコンピュータから、アプリケーションの構成要素の取得要求を受信し、構成要素の取得要求に応じて、構成要素記憶部を参照し、構成要素を第2のコンピュータに送信する。 Further, in the synchronization method according to one aspect of the present invention, the synchronization server stores the identifier of the application and the component necessary for executing the application in the component storage unit in association with each other, from the first computer Receiving the component element information acquisition request indicating the component element of the application, referring to the component element storage unit in response to the component element information acquisition request, transmitting the component element information to the first computer, The application identifier and the application component are received from the computer to update the component storage unit, the application component acquisition request is received from the second computer, and the component acquisition request is received. Then, referring to the component storage unit, the component is transmitted to the second computer.
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されてもよい。 In the present invention, the “part” does not simply mean a physical means, but includes a case where the function of the “part” 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 improve the identification accuracy of components of an application to be synchronized.
以下、図面を参照して本発明の一実施形態について説明する。図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
ここで、例えばユーザ「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
図2は、同期サーバ10が有する機能の一例を示すブロック図である。図2に示すように、同期サーバ10は、アカウント情報記憶部30、構成要素記憶部32、及び同期通信部34を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。
FIG. 2 is a block diagram illustrating an example of functions that the
アカウント情報記憶部30は、アプリケーション同期システムを利用するユーザのアカウント情報を記憶するものである。例えば、アカウント情報には、ユーザIDやパスワード、メールアドレスなどが含まれる。
The account
構成要素記憶部32は、同期対象のアプリケーション(同期アプリケーション)の構成要素を記憶するものである。構成要素は、前述したように、同期アプリケーションを実行するために必要となるものであり、実行ファイルやユーザファイル、設定情報などを含む。図2に示すように、構成要素記憶部32は、ユーザ別構成要素記憶部40及び構成要素情報記憶部42を含むことができる。
The
ユーザ別構成要素記憶部40は、同期アプリケーションの構成要素をユーザ別に記憶する。図3には、ユーザ別構成要素記憶部40の構成の一例が示されている。図3に示す例では、ユーザ別構成要素記憶部40は、ユーザ別構成要素テーブル及びデータストレージを含んで構成されている。
The user-specific
ユーザ別構成要素テーブルには、ユーザID、アプリケーションID、アプリケーション・ファイルID、ユーザファイル・ファイルID、同期設定情報、及び更新日時が格納され、データストレージには、アプリケーション及びユーザファイルが格納されている。 The user-specific component table stores a user ID, an application ID, an application file ID, a user file / file ID, synchronization setting information, and an update date / time, and the data storage stores an application and a user file. .
ユーザIDは、各ユーザを識別するためのものであり、アカウント情報記憶部30に登録されている情報と同じものが使用されている。アプリケーションIDは、各ユーザが選択した同期アプリケーションを識別するためのものである。このアプリケーションIDは、例えば、ユーザが同期アプリケーションを同期サーバ10に登録する際に設定することとしてもよいし、同期サーバ10側で生成されることとしてもよい。
The user ID is for identifying each user, and the same information as that registered in the account
アプリケーションファイルは、同期アプリケーションを実行するためのアプリケーションデータを有するファイルであり、実行ファイルやDLL(Dynamic Link Library)などを含んでいる。また、アプリケーションファイルには、PC20において同期アプリケーションのアプリケーションファイルを格納するフォルダを指定するための情報も含まれている。さらに、アプリケーションファイルには、PC20においてアプリケーションがインストールされた際にアプリケーションファイルが格納されていたフォルダを示す情報も含まれる。アプリケーション・ファイルIDは、データストレージ内におけるアプリケーションファイルの格納場所を示すものである。
The application file is a file having application data for executing the synchronous 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 the application file of the synchronous application in the
ユーザファイルは、同期アプリケーションの実行時に必要となるユーザデータを有するファイルである。ここで、ユーザデータとは、アプリケーションの実行時に参照されるユーザごとのデータであり、例えば、電子メールの送受信を行うための電子メールアプリケーションにおける各ユーザの電子メールデータや、Webブラウザにおける各ユーザのブックマークデータなどである。また、ユーザファイルには、PC20において同期アプリケーション用のユーザファイルを格納するフォルダを指定するための情報も含まれている。さらに、ユーザファイルには、PC20においてアプリケーションがインストールされた際にユーザファイルが格納されていたフォルダを示す情報も含まれる。ユーザファイル・ファイルIDは、データストレージ内におけるユーザファイルの格納場所を示すものである。
The user file is a file having user data required when executing the synchronization 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. The user file also includes information for designating a folder for storing the user file for the synchronization application in the
同期設定情報は、同期アプリケーションの実行に必要な情報であり、例えば、PC20のレジストリに格納される設定情報と同等の内容を有する情報である。また、同期設定情報には、PC20において同期アプリケーション用の同期設定情報を格納するフォルダを指定するための情報も含まれている。さらに、同期設定情報には、PC20においてアプリケーションがインストールされた際に設定情報が格納されていた場所(レジストリキー)を示す情報も含まれる。なお、同期設定情報についても、アプリケーションファイルやユーザファイルと同様にデータストレージに格納されていることとしてもよい。
The synchronization setting information is information necessary for executing the synchronization application, for example, information having contents equivalent to the setting information stored in the registry of the
更新日時には、アプリケーションファイル、ユーザファイル、または同期設定情報が更新された日時が設定される。この更新日時は、例えば、アプリケーションファイル、ユーザファイル、または同期設定情報がPC20から同期サーバ10に送信されることにより更新される。
The date and time when the application file, user file, or synchronization setting information is updated is set as the update date and time. This update date and time is updated by, for example, transmitting an application file, a user file, or synchronization setting information from the
図2に戻り、構成要素情報記憶部42は、同期アプリケーションの構成要素を示す構成要素情報をアプリケーションごとに記憶する。図4には、構成要素情報記憶部42の構成の一例が示されている。図4に示す例では、構成要素情報記憶部42には、アプリケーションIDと構成要素情報とが対応づけられて記憶されている。そして、構成要素情報には、アプリケーション・ファイルID、ユーザファイル・ファイルID、及び同期設定情報IDが含まれている。
Returning to FIG. 2, the component
アプリケーション・ファイルIDは、同期アプリケーションのアプリケーションファイルを識別するための情報である。なお、アプリケーション・ファイルIDは、PC20においてアプリケーションがインストールされた際にアプリケーション・ファイルが格納されていた場所、すなわちオリジナルの格納場所を示す情報を含むことができる。
The application file ID is information for identifying the application file of the synchronous application. The application file ID can include information indicating a location where the application file is stored when the application is installed on the
ユーザファイル・ファイルIDは、同期アプリケーションのユーザファイルを識別するための情報である。なお、ユーザファイル・ファイルIDは、PC20においてアプリケーションがインストールされた際にユーザファイルが格納されていた場所、すなわちオリジナルの格納場所を示す情報を含むことができる。
The user file / file ID is information for identifying the user file of the synchronization application. The user file / file ID can include information indicating a location where the user file is stored when the application is installed on the
同期設定情報IDは、同期アプリケーションの同期設定情報を識別するための情報である。例えば、同期設定情報がレジストリに格納されたデータに対応する情報である場合、同期設定情報IDは、例えば、レジストリのキーを示す情報とすることができる。 The synchronization setting information ID is information for identifying the synchronization setting information of the synchronization application. For example, when the synchronization setting information is information corresponding to data stored in the registry, the synchronization setting information ID can be information indicating a key of the registry, for example.
なお、構成要素情報は、ユーザ別構成要素記憶部40に記憶されている構成要素を示す構成要素情報を、アプリケーションごとに集約したものである。図5は、構成要素情報の集約の一例を説明するための図である。図5に示す例では、アプリケーションAPL001について、ユーザUSER001のアプリケーション・ファイルIDがA,B、ユーザUSER002のアプリケーション・ファイルIDがA,Cとなっている。そして、ユーザUSER001の構成要素情報とユーザUSER002の構成要素情報とが集約されることにより、アプリケーションAPL001に対する構成要素情報には、アプリケーション・ファイルIDとして、A,B,Cが含まれることとなる。ユーザファイル・ファイルIDや設定情報IDなどの他の構成要素情報についても同様に集約される。
Note that the component information is obtained by collecting the component information indicating the components stored in the user-specific
このように、同一アプリケーションであってもユーザによって構成要素が一致していないことがあるのは、後述する構成要素の特定手法では、各PC20においてアプリケーションの構成要素を全て特定することができるとは限らないからである。そこで、構成要素情報記憶部42は、1ユーザにおける構成要素の特定もれを補完するために、複数のユーザのPC20において特定された構成要素を示す構成要素情報をアプリケーションごとに記憶する。
In this way, even if the application is the same, the components may not match depending on the user. In the component component identification method described later, it is possible to identify all component components of the application in each
同期通信部34は、ネットワークを介してPC20等の他の情報処理装置との間でデータの送受信を行うことが可能である。そして、同期通信部34は、複数のPC20間でアプリケーションを同期させるための各種制御を行うことが可能である。図2に示すように、同期通信部34は、ユーザ認証部50、構成要素情報取得要求受信部52、構成要素情報送信部54、構成要素受信部56、構成要素取得要求受信部58、及び構成要素送信部60を含むことができる。
The
ユーザ認証部50は、PC20からの認証要求に応じてユーザ認証を行う。認証要求には、例えば、ユーザIDやパスワードなどのアカント情報が含まれる。ユーザ認証部50は、PC20から受信するアカウント情報を、アカウント情報記憶部30に記憶されているアカウント情報と照合することによりユーザ認証を行うことができる。
The
構成要素情報取得要求受信部52は、PC20から構成要素取得要求を受信する。構成要素取得要求には、アプリケーションIDが含まれている。また、構成要素取得要求には、アプリケーションIDの代わりにユーザIDが含まれていてもよい。
The component element information acquisition
構成要素情報送信部52は、構成要素情報取得要求に含まれるアプリケーションIDに対応する構成要素情報を構成要素情報記憶部42から取得し、要求元のPC20に送信する。なお、構成要素取得要求にユーザIDが含まれている場合、構成要素情報送信部52は、該ユーザIDと対応づけられているアプリケーションIDをユーザ別構成要素記憶部40から取得することにより、該アプリケーションIDに対応する構成要素情報を構成要素情報記憶部42から取得することとしてもよい。
The component element
構成要素受信部56は、PC20から構成要素を受信し、構成要素記憶部32を更新する。具体的には、構成要素受信部56は、ユーザID、アプリケーションID、及び構成要素が対応づけられた情報をPC20から受信する。構成要素受信部56は、ユーザ別構成要素記憶部40における、該ユーザID及びアプリケーションIDに対応する構成要素を更新する。また、構成要素受信部56は、ユーザ別構成要素テーブルの更新日時を更新する。さらに、構成要素受信部56は、構成要素情報記憶部42を参照し、該構成要素を示す構成要素情報が該アプリケーションIDと対応づけられていない場合は、該構成要素を示す構成要素情報を該アプリケーションIDと対応づけて記憶する。
The
構成要素取得要求受信部58は、PC20から構成要素取得要求を受信する。構成要素取得要求には、ユーザID及びアプリケーションIDが含まれている。なお、構成要素取得要求には、アプリケーションIDが含まれていなくてもよい。
The component
構成要素送信部60は、構成要素取得要求に含まれるユーザID及びアプリケーションIDに対応する構成要素をユーザ別構成要素記憶部40から取得し、要求元のPC20に送信する。なお、構成要素取得要求にアプリケーションIDが含まれていない場合、構成要素送信部60は、構成要素取得要求に含まれるユーザIDに対応する複数のアプリケーションの構成要素を、アプリケーションIDと対応づけて要求元のPC20に送信することとしてもよい。
The
図6は、PC20が有する機能の一例を示すブロック図である。図6に示すように、PC20は、ファイル記憶部80、設定情報領域82、ファイルシステムドライバ84、アプリケーション実行部86、設定情報参照部88、同期設定部90、同期アプリケーション起動部92、構成要素特定部94、及び同期通信部96を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。特に、アプリケーション同期システムを利用するために必要となる、同期設定部90、同期アプリケーション起動部92、構成要素特定部94、及び同期通信部96は、アプリケーション同期システム用のプログラムを実行することにより実現される。各PC20には、このプログラムが例えば同期サーバ10からダウンロードされ、インストールされていることとする。
FIG. 6 is a block diagram illustrating an example of functions that the
ファイル記憶部80は、PC20において用いられる各種ファイルを記憶している。各種ファイルには、例えば、オペレーティングシステム(OS)やアプリケーションで用いられるプログラムやデータが含まれる。各ファイルは、ファイルパス名やファイル名などを含むファイルID(ファイル識別子)により識別することができる。
The
図6に示すように、ファイル記憶部80は、アプリケーション記憶部100、ユーザファイル記憶部102、同期設定記憶部104、同期アプリケーション記憶部106、同期ユーザファイル記憶部108、及び同期設定情報記憶部110を含むことができる。
As shown in FIG. 6, the
アプリケーション記憶部100には、PC20において実行される各種アプリケーションの実行ファイルやDLLなどのアプリケーションファイルが格納される。アプリケーションファイルの格納場所は、例えば、アプリケーションがPC20にインストールされる際にユーザによって指定されたり、インストーラによってあらかじめ定められていたりする。
The
ユーザファイル記憶部102には、アプリケーションで用いられるユーザデータを含むファイルであるユーザファイルが格納される。ユーザファイルは、例えば、各種アプリケーション用の共通のフォルダの下に設けられた、アプリケーションごとのフォルダに格納することができる。この場合、例えば、共通のフォルダの情報は、環境変数に設定されていることとすることができる。アプリケーションは、環境変数を参照することにより、ユーザファイルの格納場所を特定することができる。また、このように共通のフォルダの配下ではなく、アプリケーションで独自に定められた場所にユーザファイルが格納されることとしてもよい。
The user
同期設定記憶部104には、アプリケーション同期システムを利用するための設定である同期設定が記憶される。図7は、同期設定記憶部104の構成の一例を示す図である。図7に示す例では、同期設定記憶部104は、ユーザIDやパスワードなどのアカウント情報に加えて、同期アプリケーションに関する情報を記憶する。同期アプリケーションに関する情報としては、例えば、アプリケーション情報や、ユーザファイルフォルダ情報、同期設定情報フォルダ情報、更新日時が含まれる。
The synchronization
ユーザIDやパスワードなどのアカウント情報は、アプリケーション同期システムを用いるためのものであり、例えば、本システムの利用開始時に同期設定部90により登録される。
Account information such as a user ID and password is for using the application synchronization system, and is registered by the
アプリケーション情報は、例えば、同期アプリケーションの実行ファイルの格納場所を示す情報を含んでいる。本実施形態では、同期アプリケーションのアプリケーションファイルは、アプリケーション記憶部100から同期アプリケーション記憶部106にコピーされて使用される。図8には、アプリケーション記憶部100から同期アプリケーション記憶部106へのコピーの一例が示されている。図8に示すように、アプリケーション記憶部100に格納されているアプリケーションファイルを、例えばフォルダ単位で、同期アプリケーション記憶部106にコピーすることができる。同期設定記憶部104のアプリケーション情報は、例えば、同期アプリケーション記憶部106におけるフォルダの情報や、該フォルダ内に格納されている実行ファイルの情報を含むことができる。また、同期設定のアプリケーション情報は、例えば、アプリケーション記憶部100におけるアプリケーションファイルの格納場所、すなわちオリジナルの格納場所を示す情報を含むことができる。
The application information includes, for example, information indicating the storage location of the execution file of the synchronization application. In the present embodiment, the application file of the synchronous application is copied from the
また、本実施形態では、同期アプリケーションで用いられるユーザファイルは、ユーザファイル記憶部102から同期ユーザファイル記憶部108にコピーされて使用される。例えば、アプリケーション記憶部100に格納されているアプリケーションを、本システムを用いずに通常通り起動した場合、ユーザファイル記憶部102に格納されているユーザファイルが用いられる。一方、本システムを用いることにより同期アプリケーション記憶部108に格納されているアプリケーションが起動される場合は、同期ユーザファイル記憶部102に格納されているユーザファイルが用いられる。同期設定に含まれるユーザファイルフォルダ情報は、同期ユーザファイル記憶部108に格納されているユーザファイルの格納場所を特定するための情報を含むことができる。また、同期設定のユーザファイルフォルダ情報は、例えば、ユーザファイル記憶部102におけるユーザファイルの格納場所、すなわちオリジナルの格納場所を示す情報を含むことができる。
In this embodiment, the user file used in the synchronization application is copied from the user
また、本実施形態では、同期アプリケーションの実行時には、設定情報領域(レジストリ)82に格納されている設定情報のかわりに、同期設定情報記憶部110に格納されている同期設定情報が参照される。設定情報領域82は、例えばレジストリなどの特殊なデータ領域であり、アプリケーションのインストール時やアプリケーションの実行時に生成される各種設定情報が格納される。同期設定記憶部104の同期設定情報フォルダ情報は、例えば、同期設定情報記憶部110において同期設定情報が格納されているフォルダの情報を含むことができる。
In the present embodiment, when the synchronization application is executed, the synchronization setting information stored in the synchronization setting
例えばアプリケーション記憶部100に格納されているアプリケーションを、本システムを用いずに通常通り起動した場合、設定情報領域82に格納されている設定情報が用いられる。一方、本システムを用いることにより同期アプリケーション記憶部106に格納されているアプリケーションが起動される場合は、同期設定情報記憶部110に格納されている同期設定情報が用いられる。同期設定に含まれる同期設定情報フォルダに関する情報は、同期設定情報記憶部110に格納されている同期設定情報の格納場所を特定するための情報を含むことができる。なお、同期設定情報は、設定情報領域82に格納されている設定情報と同等の内容を含む所定のデータ形式のファイルとすることができる。例えば、同期設定情報は、シリアライズされたメッセージパックなど、構造化されたデータとすることができる。なお、同期設定情報は、設定情報領域82にリストアすることなく参照することができる。
For example, when an application stored in the
同期設定記憶部104の更新日時には、同期アプリケーションのアプリケーションファイルやユーザファイル、同期設定情報が更新された日時を示す情報が設定される。
In the update date and time of the synchronization
図6に戻り、設定情報領域82は、例えばレジストリなどの特殊なデータ領域であり、アプリケーションのインストール時やアプリケーションの実行時に生成される各種設定情報が格納される。
Returning to FIG. 6, the setting
ファイルシステムドライバ84は、ファイル記憶部80に格納されている各種ファイルにアクセスするためのドライバである。具体的には、例えば、PC20のOSがWindows(登録商標)の場合であれば、プロセスからファイルへのアクセスが行われる際には入出力要求パケット(IRP:I/O Request Packet)が発行される。ファイルシステムドライバ84はこのIRPをプロセスから受け取ることにより、IRPによって特定されるファイルへのアクセスを実行する。なお、本実施形態では、ファイルシステムドライバ84は、カーネルモードで実行されることとする。
The
アプリケーション実行部86は、ユーザ操作に応じて、アプリケーション記憶部100または同期アプリケーション記憶部106に格納されているアプリケーションを実行する。
The
設定情報参照部88は、アプリケーション実行時に設定情報領域82に格納されている設定情報を参照するための機能を提供する。例えば、設定情報参照部88は、DLLによって実現されるものであり、アプリケーションの起動時に動的にリンクすることが可能である。
The setting
同期設定部90は、複数のPC20間でアプリケーションを同期させるための設定を行うものである。図9には、同期設定の際に表示される画面の一例が示されている。この画面は、例えば、アプリケーション同期システム用のプログラムが起動されることにより表示される。ユーザは、この画面を用いることにより、同期アプリケーションを登録したり、同期アプリケーションを起動したりすることができる。例えば、ユーザが、PC20のデスクトップ等にある、あるアプリケーション「APL001」のショートカット210をドラッグアンドドロップによって画面200の表示領域212に移動させると、同期設定部90は、このショートカットにより特定されるアプリケーションを同期アプリケーションとして認識する。なお、ドラッグアンドドロップに限らず、同期アプリケーションを同期設定部90に認識させるための任意の手法を用いることができる。例えば、図9に示すように、アプリケーション追加ボタン214を押下してファイル参照用のインタフェースを表示させることにより、登録対象のアプリケーションが認識されることとしてもよい。そして、同期設定部90は、認識した同期アプリケーションに関する情報を同期設定記憶部104に格納する。なお、同期設定部90は、同期アプリケーションに関する情報を同期設定記憶部104に格納するのではなく、同期サーバ10のユーザ別構成要素記憶部40に格納することとしてもよい。
The
例えば、同期設定部90は、図9に示した画面200で同期対象のアプリケーションが指定されると、このアプリケーションのアプリケーションファイルをアプリケーション記憶部100から同期アプリケーション記憶部106にコピーすることができる。例えば、図9に示すように、アプリケーション「APL001」が同期対象として指定された場合、同期設定部90は、アプリケーション記憶部100に記憶されている「APL001」のアプリケーションファイルをフォルダごと同期アプリケーション記憶部106にコピーすることができる。
For example, when a synchronization target application is designated on the
なお、あるユーザが複数のPC20を保有する場合に、アプリケーション記憶部100にアプリケーションファイルが格納されている必要があるのは1台のPC20のみである。すなわち、はじめにユーザがアプリケーションを同期対象として登録するPC20においてアプリケーション記憶部100にアプリケーションデータが格納されていればよい。ユーザファイルおよび設定情報についても同様である。
When a certain user has a plurality of
また、同期設定部90は、同期設定記憶部104に格納されている同期設定の更新日時を更新することができる。例えば、同期設定部90は、同期アプリケーションが登録された際の日時を更新日時の初期情報として設定することができる。また、同期設定部90は、同期アプリケーションの実行によって、アプリケーションファイル、ユーザファイル、または同期設定情報が更新された際には、同期設定に含まれる更新日時を更新することができる。
In addition, the
図6に戻り、同期アプリケーション起動部92は、ユーザ操作に応じて同期アプリケーションを起動する。例えば、同期アプリケーション起動部92は、図10に示す画面200において、アプリケーション「APL001」に割り当てられた表示領域220が選択されると、同期設定記憶部104に格納されている同期設定を参照し、同期アプリケーション記憶部106に格納されている同期アプリケーションを起動する。
Returning to FIG. 6, the synchronous
このとき、同期アプリケーション起動部92は、ユーザファイルの参照先が、ユーザファイル記憶部102ではなく、同期ユーザファイル記憶部108となるように、同期アプリケーションを起動する。具体的には、同期アプリケーション起動部92は、同期設定記憶部104に格納されている同期設定を参照し、起動対象のアプリケーションに対応づけられているユーザファイルフォルダ情報を取得する。そして、同期アプリケーション起動部92は、この情報によって示されるフォルダがユーザファイルの参照先となるように同期アプリケーションを起動する。例えば、同期アプリケーション起動部92は、同期アプリケーションが実行される際の環境変数に、ユーザファイルの参照先としてこのフォルダの情報を設定する。
At this time, the synchronization
また、同期アプリケーション起動部92は、設定情報の参照先が、設定情報領域82ではなく、同期設定情報記憶部110となるように、同期アプリケーションを起動する。設定情報の参照先を同期設定情報記憶部110とするための手法については後述する。
Further, the synchronization
構成要素特定部94は、同期アプリケーションの実行時に必要となる構成要素を特定することができる。図6に示すように、構成要素特定部94は、フォルダ特定部120、設定情報検出部122、及びファイル検出部124を含んで構成される。
The
フォルダ特定部120は、同期アプリケーションの実行時に必要となる構成要素が格納されたフォルダを特定することができる。例えば、フォルダ特定部120は、同期設定記憶部104を参照することにより、アプリケーションファイルやユーザファイル、同期設定情報が格納されたフォルダを特定することができる。そして、フォルダ特定部120は、このように特定されたフォルダに格納されているファイルを構成要素として特定することができる。
The
設定情報検出部122(同期設定情報参照部)は、設定情報領域82に格納されている設定情報の中から、同期アプリケーションの実行時に必要となる設定情報を検出することができる。設定情報検出部122は、検出した設定情報を同期設定情報として同期設定情報記憶部110に格納することができる。また、設定情報検出部122は、同期アプリケーションの実行時に、同期設定情報記憶部110に格納されている同期設定情報を参照することができる。設定情報検出部122は、例えば、設定情報参照部88と同様にDLLによって実現されるものであり、同期アプリケーションの起動時に動的にリンクすることが可能である。
The setting information detection unit 122 (synchronization setting information reference unit) can detect setting information required when executing the synchronization application from the setting information stored in the setting
例えば、設定情報検出部122は、同期アプリケーション起動部92が同期アプリケーションを起動する際に、設定情報参照部88の代わりに同期アプリケーションに動的にリンクされることとなる。これにより、アプリケーション実行部86において実行される処理で、設定情報領域82に格納されている設定情報にアクセスするための関数が呼び出されると、設定情報検出部122が起動され、同期設定情報記憶部110に格納されている設定情報が参照されることとなる。つまり、設定情報検出部122は、アプリケーション実行部86による設定情報参照部88の関数の呼び出しをフック(横取り)し、設定情報参照部88の代わりに処理を実行することとなる。このような手法は一般的にDLLインジェクションと言われている。
For example, the setting
また、設定情報検出部122は、アプリケーション実行部86からの指示により同期設定情報記憶部110を参照した際に、対象の設定情報が同期設定情報記憶部110に格納されていない場合は、この設定情報を設定情報領域82から取得してアプリケーション実行部86に返すことができる。そして、設定情報検出部122は、この設定情報を同期設定情報記憶部110に同期設定情報として格納する。これは、同期アプリケーションを登録する際には、設定情報領域82のどこに格納されている設定情報がこのアプリケーションで用いられるかを特定することができないからである。そのため、設定情報検出部122は、アプリケーションの実行時に指定された設定情報を設定情報領域82から抽出して同期設定情報記憶部110に格納する。なお、設定情報検出部122は、設定情報領域82から設定情報を抽出する際に、設定情報参照部88を呼び出すことができる。
In addition, when the setting
ファイル検出部124は、同期アプリケーションにおいてアクセスされたファイルを検出する。このようにファイル検出部124によってファイルを検出するのは、フォルダ特定部120によって特定されるファイルだけでは、同期アプリケーションで使用されるファイルを全て特定することができるとは限らないからである。
The
図11には、ファイル検出部124の構成の一例が示されている。図11に示す例では、ファイル検出部124は、アプリケーション監視部150、アプリケーション情報記憶部152、ファイルシステムフィルタドライバ154、アクセス情報記憶部156、ファイル特定部158、及び特定情報記憶部160を含んで構成されている。図12は、ファイル検出部124を構成する各部の関連を示す図である。図11及び図12を参照して、ファイル検出部124の構成について説明する。なお、本実施形態では、同期アプリケーションのプロセスを監視対象プロセス100、それ以外のアプリケーションのプロセスを監視対象外プロセス310という。
FIG. 11 shows an example of the configuration of the
アプリケーション監視部150は、PC20におけるアプリケーションの実行状態を監視する。アプリケーション監視部150は、同期設定記憶部104に登録されている同期アプリケーションが実行されている場合には、当該アプリケーションのプロセスIDを取得する。例えば、PC20のOSがWindows(登録商標)の場合であれば、アプリケーション監視部150は、ToolHelp32等のAPI(Application Program Interface)関数を用いることによって、アプリケーションの実行状態の監視や、プロセスIDの取得を行うことができる。同期アプリケーションのプロセスIDが取得された場合、アプリケーション監視部150は、アプリケーションIDとプロセスIDとを対応づけたアプリケーション情報を生成し、アプリケーション情報記憶部152に格納する。図13には、アプリケーション情報の一例が示されている。
The
また、アプリケーション監視部150は、同期アプリケーションのプロセスIDが取得された場合、当該プロセスIDを、ファイルシステムフィルタドライバ154に通知する。なお、アプリケーション監視部150がプロセスIDをファイルシステムフィルタドライバ154に通知するのではなく、ファイルシステムフィルタドライバ154がアプリケーション情報記憶部152を参照することとしてもよい。
When the process ID of the synchronous application is acquired, the
ファイルシステムフィルタドライバ154(アクセス情報出力部)は、ファイルに対するアクセス要求をフィルタリングすることにより、監視対象プロセス300からアクセスされたファイルを特定する。本実施形態では、ファイルシステムフィルタドライバ154は、カーネルモードで実行されることとする。例えば、PC20のOSがWindows(登録商標)の場合であれば、プロセスからファイルへのアクセスが行われる際には入出力要求パケット(IRP:I/O Request Packet)が発行される。IRPには、アクセス対象のファイルと、アクセス要求を行っているプロセスのプロセスIDとを特定可能な情報が含まれている。なお、ファイルIDやプロセスIDそのものがIRPに含まれている必要はなく、IRPに含まれる情報に基づいて、ファイルIDやプロセスIDを特定可能であればよい。また、本実施形態ではIRPをアクセス要求の一例として説明するが、アクセス要求はIRPに限定されず、OSに応じた任意の形式とすることができる。
The file system filter driver 154 (access information output unit) specifies a file accessed from the
ファイルシステムフィルタドライバ154が存在しない構成においては、IRPがファイルシステムドライバ84に出力されることにより、ファイルアクセスが実行される。ファイルシステムフィルタドライバ154は、ファイルシステムドライバ84に出力されるIRPを横取りし、監視対象プロセス300においてアクセスされたファイルを特定することができる。具体的には、ファイルシステムフィルタドライバ154は、IRPを発行したプロセスのプロセスIDが、アプリケーション監視部150から通知されたプロセスIDに含まれる場合、当該IRPによるアクセス対象のファイルのファイルIDを特定する。なお、ファイルシステムフィルタドライバ154は、アプリケーション監視部150から通知されたプロセスIDを記憶しておくことができる。そして、ファイルシステムフィルタドライバ154は、プロセスID及びファイルIDを対応づけたアクセス情報を生成し、アクセス情報記憶部156に格納する。図14には、アクセス情報の一例が示されている。
In a configuration in which the file
ファイルシステムフィルタドライバ154は、アクセス情報の生成後に、IRPをファイルシステムドライバ84に出力する。また、IRPを発行したプロセスのプロセスIDが、アプリケーション監視部150から通知されたプロセスIDに含まれない場合、すなわち、IPRを発行したプロセスが監視対象外プロセス310である場合、ファイルシステムフィルタドライバ154は、アクセス情報を生成せずにIRPをファイルシステムドライバ84に出力する。
The file
ファイル特定部158は、アプリケーション情報記憶部152に記憶されているアプリケーション情報と、アクセス情報記憶部156に記憶されているアクセス情報とに基づいて、同期アプリケーションにおいてアクセスされたファイルを特定する。具体的には、ファイル特定部158は、アプリケーション情報におけるアプリケーションID及びプロセスIDの対応関係と、アクセス情報におけるプロセスID及びファイルIDの対応関係とに基づいて、アプリケーションID及びファイルIDの対応関係を判定する。そして、ファイル特定部158は、アプリケーションID及びファイルIDを対応づけた特定情報を生成し、特定情報記憶部160に格納する。図15には、特定情報の一例が示されている。
The
図6に戻り、同期通信部96は、複数のPC20の間でアプリケーションを同期させるためのデータ通信を行うものである。図6に示すように、同期通信部96は、認証要求部130、構成要素情報取得部132、構成要素情報記憶部134、構成要素送信部136、及び構成要素受信部138を含んで構成することができる。
Returning to FIG. 6, the
認証要求部130は、同期設定記憶部104に記憶されているアカウント情報を用いることにより、アプリケーション同期システムを利用するための認証要求を同期サーバ10に送信する。なお、認証要求部130は、同期設定記憶部104からアカウント情報を取得するのではなく、例えば、アカウント情報を入力するための画面を出力することにより、アカウント情報をユーザから受け付けることとしてもよい。
The
構成要素情報取得部132は、同期処理を行うタイミングにおいて、同期アプリケーションの構成要素を示す構成要素情報を同期サーバ10から取得し、構成要素情報記憶部134に格納する。例えば、構成要素情報取得部132は、同期アプリケーションのアプリケーションIDを含む、構成要素情報取得要求を同期サーバ10に送信することにより、同期アプリケーションの構成要素を示す構成要素情報を取得することができる。前述したように、この構成要素情報は、複数のユーザが同期サーバ10に送信した構成要素を示す情報を集約したものである。構成要素情報は、PC20においてアプリケーションがインストールされた状態における構成要素の格納場所を示す情報を含むことができる。
The component element
構成要素送信部136は、同期処理を行うタイミングにおいて、同期アプリケーションの構成要素を同期サーバ10に送信する。具体的には、構成要素送信部136は、構成要素特定部94による特定結果と、同期サーバ10から取得する構成要素情報とに応じた構成要素を同期サーバ10に送信する。
The
図16は、構成要素送信部136によって送信される構成要素の一例を示す図である。図16に示す例では、構成要素特定部94により特定された構成要素には、A,B,Cが含まれている。また、同期サーバ10から取得された構成要素情報によって示される構成要素には、A,B,Dが含まれている。この場合、構成要素送信部136は、特定結果によって示される構成要素と、構成要素情報によって示される構成要素との両方(A,B,C,D)を同期サーバ10への送信対象とすることができる。
FIG. 16 is a diagram illustrating an example of a component transmitted by the
つまり、構成要素送信部136は、あるユーザのPC20において特定された構成要素に加えて、他のユーザのPC20において特定された構成要素についても同期サーバ10に送信することができる。これにより、あるユーザのPC20において特定された構成要素のみを同期サーバ10に送信する場合と比較して、同期アプリケーションの構成要素の特定精度を向上させることができる。
That is, the
構成要素受信部138は、同期処理を行うタイミングにおいて、同期サーバ10から構成要素を受信し、同期アプリケーション記憶部106、同期ユーザファイル記憶部108、及び同期設定情報記憶部110を更新する。例えば、構成要素受信部138は、同期アプリケーションのアプリケーションIDを含む構成要素取得要求を同期サーバ10に送信することにより、同期アプリケーションの構成要素を取得することができる。
The
図17は、PC20における各部の関連を示す図である。図18は、PC20における処理の流れの一例を示すフローチャートである。図19は、PC20における同期処理の一例を示すフローチャートである。図20は、PC20におけるアプリケーション実行処理の一例を示すフローチャートである。図17〜図20を参照して、アプリケーション同期処理について説明する。
FIG. 17 is a diagram illustrating the relationship between the units in the
アプリケーション同期システム用のプログラムが起動されると、同期通信部96は、同期サーバ10にアクセスして同期処理を実行する(S1801)。同期処理によってPC20内の同期アプリケーションの構成要素の状態が同期サーバ10と同期される。つまり、あるユーザが有する複数のPC20間において、同期アプリケーションの構成要素の状態が同期されることとなる。同期処理が行われた後、アプリケーション実行部86は、同期アプリケーションを実行する(S1802)。同期アプリケーションの実行終了後、同期通信部96は、同期サーバ10にアクセスして同期処理を実行する(S1803)。同期アプリケーションの実行後に同期処理を実行することにより、同期通信部96は、同期アプリケーションの実行によって更新されたユーザファイルや設定情報などの構成要素を同期サーバ10に送信することができる。
When the program for the application synchronization system is activated, the
図19を参照して、同期処理の一例について説明する。構成要素情報取得部132は、同期アプリケーションの構成要素情報を取得するための構成要素情報取得要求を同期サーバ10に送信する(S1901)。構成要素情報取得部132は、該要求に応じて同期サーバ10から送信されてくる、同期アプリケーションの更新日時及び構成要素情報を受信する(S1802)。ここで、同期サーバ10から送信されてくる、同期アプリケーションの更新日時は、ユーザ別構成要素記憶部40に記憶されている更新日時を示すものである。なお、構成要素情報取得部132は、受信した構成要素情報を構成要素情報記憶部134に格納する。
An example of the synchronization process will be described with reference to FIG. The component element
構成要素受信部138は、同期アプリケーションについて、同期サーバ10から受信した更新日時と、同期設定記憶部104に記憶されている更新日時とを比較する(S1903)。これらが同じ場合(S1903:A)、構成要素受信部138は、PC20内の同期アプリケーションの構成要素が同期サーバ10に記憶されている構成要素と同期された状態になっている判断し、同期処理を終了する。
The
一方、PC20における更新日時が同期サーバ10における更新日時より古い場合(S1903:B)、構成要素受信部138は、PC20内の同期アプリケーションの構成要素が最新の状態になっていないと判断する。そこで、構成要素受信部138は、当該同期アプリケーションの構成要素を取得するための構成要素取得要求を同期サーバ10に送信する(S1904)。構成要素受信部138は、該要求に応じて同期サーバ10から送信されてくる、同期アプリケーションの構成要素を受信し、同期設定記憶部104、同期アプリケーション記憶部106、同期ユーザファイル記憶部108、及び同期設定情報記憶部110を更新する(S1905)。
On the other hand, when the update date / time in the
PC20における更新日時が同期サーバ10における更新日時より新しい場合(S1903:C)、構成要素送信部136は、PC20内の同期アプリケーションの構成要素の方が、同期サーバ10に記憶されている構成要素よりも新しいと判断し、PC20内の同期アプリケーションの構成要素を同期サーバ10に送信する(S1906)。このとき、構成要素送信部136は、構成要素特定部94によって特定された構成要素に加えて、構成要素情報記憶部134に記憶されている構成要素情報に対応する構成要素を、同期アプリケーションの構成要素として同期サーバ10に送信する。つまり、構成要素送信部136は、あるユーザのPC20において特定された構成要素に加えて、他のユーザのPC20において特定された構成要素も同期サーバ10に送信することができる。これにより、同期アプリケーションの構成要素の特定精度を向上させることができる。
When the update date and time in the
図20を参照して、アプリケーション実行処理の一例について説明する。同期アプリケーション起動部92は、ユーザファイル及び設定情報の参照先を同期用に設定して同期アプリケーションを起動する(S2001)。具体的には、例えば図17に示すように、同期アプリケーション起動部92は、ユーザファイルの格納先を示す環境変数に、同期ユーザファイル記憶部108内の同期ユーザファイルが格納されたフォルダを設定することができる。また、同期アプリケーション起動部92は、設定情報参照部88の代わりに設定情報検出部122を同期アプリケーションに動的にリンクすることができる。
An example of application execution processing will be described with reference to FIG. The synchronous
アプリケーション監視部150は、同期アプリケーション起動部92により起動されたアプリケーションの実行状態を監視することにより、当該アプリケーションのプロセスID(PID)を取得する(S2002)。なお、アプリケーション監視部150は、同期設定記憶部104に設定されている同期アプリケーションを監視対象のアプリケーションとすることができる。
The
続いて、アプリケーション監視部150は、アプリケーションID(AID)及びプロセスIDを対応づけたアプリケーション情報を生成し、アプリケーション情報記憶部152に格納する(S2003)。また、アプリケーション監視部150は、取得したプロセスIDをファイルシステムフィルタドライバ154に通知する(S2004)。
Subsequently, the
アプリケーション実行部86は、処理が終了するまでアプリケーションを実行する(S2005,S2006)。
The
ここで、アプリケーションの実行中に設定情報領域82に格納された設定情報が必要となった場合、設定情報検出部124が、設定情報領域82ではなく、同期設定情報記憶部110を参照する。そして、同期設定情報記憶部110に対象の同期設定情報があれば、設定情報検出部124は、該同期設定情報を用いて処理を実行する(S2007:N)。
Here, when the setting information stored in the setting
一方、同期設定情報記憶部110に対象の同期設定情報がない場合(S2007:Y)、設定情報検出部124は、設定情報領域82から対象の設定情報を取得し、同期設定情報記憶部110に同期設定情報として格納する(S2008)。これにより、同期設定情報記憶部110には、同期アプリケーションによって使用される同期設定情報が格納されることとなる。
On the other hand, when there is no target synchronization setting information in the synchronization setting information storage unit 110 (S2007: Y), the setting
ファイルシステムフィルタドライバ154は、アプリケーション監視部150から通知されたプロセスIDを記憶する(S2010)。そして、ファイルシステムフィルタドライバ154は、IRP(アクセス要求)を受信すると(S2011:Y)、当該IRPに含まれる情報に基づいて、実行中のアプリケーションのプロセスIDを取得する(S2012)。取得したプロセスIDが、アプリケーション監視部150から通知されたプロセスIDに含まれる場合、すなわち、監視対象プロセスである場合(S2013:Y)、ファイルシステムフィルタドライバ154は、IRPに含まれる情報に基づいて、アクセス対象のファイルのファイルID(FID)を取得する(S2014)。そして、ファイルシステムフィルタドライバ154は、プロセスID及びファイルIDを対応づけたアクセス情報を生成し、アクセス情報記憶部156に格納する(S2015)。その後、ファイルシステムフィルタドライバ154は、IRPをファイルシステムドライバ84へ出力する(S2016)。なお、監視対象プロセスではない場合(S2013:N)、ファイルシステムフィルタドライバ154は、アクセス情報を生成せずにIRPをファイルシステムドライバ84へ出力する(S2016)。
The file
同期アプリケーションの実行が終了すると(S2006:Y)、ファイル特定部158は、アプリケーション情報記憶部152に格納されているアプリケーション情報と、アクセス情報記憶部156に記憶されているアクセス情報とに基づいて、同期アプリケーションにおいてアクセスされたファイルを特定する(S2020)。そして、ファイル特定部158は、アプリケーションID及びファイルIDを対応づけた特定情報を生成し、特定情報記憶部160に格納する(S2021)。
When the execution of the synchronous application ends (S2006: Y), the
このように、本実施形態によれば、同期アプリケーションによって使用された設定情報やファイルを同期アプリケーションの構成要素として特定することができる。さらに、前述したように、本実施形態によれば、同期サーバ10から取得した構成要素情報によっても、同期アプリケーションの構成要素を特定することができる。これにより、同期アプリケーションの構成要素の特定精度を向上させることができる。
As described above, according to the present embodiment, setting information and files used by the synchronization application can be specified as components of the synchronization application. Furthermore, as described above, according to the present embodiment, the constituent elements of the synchronization application can be specified also by the constituent element information acquired from the
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。 Note that this embodiment is intended to facilitate understanding of the present invention and is not intended to limit the present 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 portable terminal can be used.
また、例えば、本実施形態では、参照対象となった同期設定情報が同期設定情報記憶部110に格納されていない場合に、設定情報領域82から設定情報が抽出されて同期設定情報記憶部110に格納されることとしたが、はじめに同期アプリケーションを登録するPCにおいて、設定情報領域82に格納されている全ての設定情報を抽出して同期設定情報記憶部110に格納することとしてもよい。ただし、本実施形態に示したように、同期設定情報へのはじめての参照が発生したタイミングで、設定情報領域82から設定情報を抽出して同期設定情報記憶部110に格納することにより、同期設定情報のデータサイズを小さくすることが可能となる。
Further, for example, in the present embodiment, when the synchronization setting information to be referenced is not stored in the synchronization setting
また、例えば、本実施形態では、図18に示した処理において、アプリケーション同期システム用のプログラムが起動されたタイミングや、同期アプリケーションが終了されるタイミングでPC20と同期サーバ10との間で同期処理が実行されることとしたが、同期処理のタイミングはこれに限られず任意のタイミングを採用することができる。
Further, for example, in the present embodiment, in the processing shown in FIG. 18, synchronization processing is performed between the
また、例えば、本実施形態では、図7に示したように、アプリケーションファイル、ユーザファイル、及び設定情報の全てに対して1つの更新日時を保持し、この更新日時に基づいて同期処理が実行されることとしたが、アプリケーションファイル、ユーザファイル、及び設定情報の各々について個別に更新日時が判定され、個別に同期処理が実行されることとしてもよい。また、ファイル単位で更新日時の判定が行われることとしてもよい。なお、更新日時の情報は、同期設定に含まれる情報として保持するのではなく、OSによって保持されている、フォルダやファイルの更新日時を示す情報を用いることとしてもよい。 Further, for example, in this embodiment, as shown in FIG. 7, one update date and time is held for all of the application file, user file, and setting information, and synchronization processing is executed based on this update date and time. However, the update date and time may be individually determined for each of the application file, the user file, and the setting information, and the synchronization process may be individually executed. Further, the update date / time may be determined in units of files. Note that the update date and time information is not held as information included in the synchronization setting, but information indicating the update date and time of a folder or file that is held by the OS may be used.
10 同期サーバ
20 パーソナルコンピュータ
30 アカウント情報記憶部
32 構成要素記憶部
34 同期通信部
40 ユーザ別構成要素記憶部
42 構成要素情報記憶部
50 ユーザ認証部
52 構成要素情報取得要求受信部
54 構成要素情報送信部
56 構成要素受信部
58 構成要素取得要求受信部
60 構成要素送信部
80 ファイル記憶部
82 設定情報領域
84 ファイルシステムドライバ
86 アプリケーション実行部
88 設定情報参照部
90 同期設定部
92 同期アプリケーション起動部
94 構成要素特定部
96 同期通信部
100 アプリケーション記憶部
102 ユーザファイル記憶部
104 同期設定記憶部
106 同期アプリケーション記憶部
108 同期ユーザファイル記憶部
110 同期設定情報記憶部
120 フォルダ特定部
122 設定情報検出部
124 ファイル検出部
130 認証要求部
132 構成要素情報取得部
134 構成要素情報記憶部
136 構成要素送信部
138 構成要素受信部
150 アプリケーション監視部
152 アプリケーション情報記憶部
154 ファイルシステムフィルタドライバ
156 アクセス情報記憶部
158 ファイル特定部
160 特定情報記憶部DESCRIPTION OF
Claims (8)
アプリケーションの実行時に必要となる構成要素を特定する構成要素特定部、
前記アプリケーションの構成要素を示す構成要素情報を同期サーバから取得する構成要素情報取得部、
前記構成要素特定部による特定結果と、前記構成要素情報とに応じた構成要素を前記同期サーバに送信する構成要素送信部、
として機能させるためのプログラム。Computer
A component identification unit that identifies the components required when the application is executed,
A component information acquisition unit that acquires component information indicating the components of the application from the synchronization server;
A component transmission unit that transmits a component according to the identification result by the component identification unit and the component element information to the synchronization server;
Program to function as.
他のコンピュータから前記同期サーバに送信されたアプリケーションの構成要素を該同期サーバから受信する構成要素受信部、
前記同期サーバから受信した構成要素に基づいてアプリケーションを実行するアプリケーション実行部、
として機能させるためのプログラム。Said computer further
A component reception unit that receives a component of an application transmitted from another computer to the synchronization server;
An application execution unit that executes an application based on components received from the synchronization server;
Program to function as.
前記コンピュータを、さらに、前記アプリケーションの実行時に使用されるファイルを検出するファイル検出部として機能させ、
前記構成要素特定部は、検出された前記ファイルを前記アプリケーションの構成要素として特定する、
プログラム。The program according to claim 1 or 2,
The computer is further caused to function as a file detection unit that detects a file used when the application is executed,
The component specifying unit specifies the detected file as a component of the application.
program.
前記コンピュータを、さらに、前記アプリケーションの実行時に使用される設定情報を検出する設定情報検出部として機能させ、
前記構成要素特定部は、検出された前記設定情報を前記アプリケーションの構成要素として特定する、
プログラム。The program according to any one of claims 1 to 3,
The computer is further caused to function as a setting information detection unit that detects setting information used when the application is executed,
The component specifying unit specifies the detected setting information as a component of the application.
program.
第1のコンピュータから、前記アプリケーションの前記構成要素を示す構成要素情報の取得要求を受信する構成要素情報取得要求受信部と、
前記構成要素情報の取得要求に応じて、前記構成要素記憶部を参照し、前記構成要素情報を前記第1のコンピュータに送信する構成要素情報送信部と、
前記第1のコンピュータから、前記アプリケーションの識別子と、該アプリケーションの構成要素とを受信して前記構成要素記憶部を更新する構成要素受信部と、
第2のコンピュータから、前記アプリケーションの構成要素の取得要求を受信する構成要素取得要求受信部と、
前記構成要素の取得要求に応じて、前記構成要素記憶部を参照し、前記構成要素を前記第2のコンピュータに送信する構成要素送信部と、
を備える同期サーバ。A component storage unit that stores an identifier of an application and a component necessary for executing the application in association with each other;
A component information acquisition request receiving unit that receives a component element information acquisition request indicating the component of the application from the first computer;
In response to the component element information acquisition request, the component element storage unit is referred to, and the component element information transmission unit that transmits the component element information to the first computer;
A component reception unit that receives the identifier of the application and the component of the application from the first computer and updates the component storage unit;
A component acquisition request receiver for receiving an acquisition request for the component of the application from a second computer;
In response to the component acquisition request, the component storage unit refers to the component storage unit, and transmits the component to the second computer.
A synchronization server comprising:
前記構成要素記憶部は、
前記アプリケーションの識別子と前記構成要素とをユーザ別に対応づけて記憶するユーザ別構成要素記憶部と、
前記アプリケーションの識別子と前記構成要素情報とを複数のユーザ分集約して記憶する構成要素情報記憶部と、
を含み、
前記構成要素情報送信部は、前記構成要素情報の取得要求に応じて、前記構成要素情報記憶部を参照し、前記構成要素情報を前記第1のコンピュータに送信する、
同期サーバ。The synchronization server according to claim 5,
The component storage unit
A user-specific component storage unit that stores the application identifier and the component in association with each other;
A component information storage unit that aggregates and stores the identifier of the application and the component information for a plurality of users;
Including
The component element information transmitting unit refers to the component element information storage unit in response to the component element information acquisition request, and transmits the component element information to the first computer.
Sync server.
アプリケーションの実行時に必要となる構成要素を特定し、
前記アプリケーションの構成要素を示す構成要素情報を同期サーバから取得し、
前記構成要素の特定結果と前記構成要素情報とに応じた構成要素を前記同期サーバに送信する、
同期方法。Computer
Identify the components needed when running the application,
Obtaining component information indicating the components of the application from the synchronization server;
Transmitting a component corresponding to the result of specifying the component and the component information to the synchronization server;
Synchronization method.
アプリケーションの識別子と、該アプリケーションの実行時に必要となる構成要素とを対応づけて構成要素記憶部に記憶し、
第1のコンピュータから、前記アプリケーションの前記構成要素を示す構成要素情報の取得要求を受信し、
前記構成要素情報の取得要求に応じて、前記構成要素記憶部を参照し、前記構成要素情報を前記第1のコンピュータに送信し、
前記第1のコンピュータから、前記アプリケーションの識別子と、該アプリケーションの構成要素とを受信して前記構成要素記憶部を更新し、
第2のコンピュータから、前記アプリケーションの構成要素の取得要求を受信し、
前記構成要素の取得要求に応じて、前記構成要素記憶部を参照し、前記構成要素を前記第2のコンピュータに送信する、
同期方法。Sync server is
Associating the identifier of the application with the component necessary for executing the application and storing it in the component storage unit,
Receiving an acquisition request for component information indicating the component of the application from the first computer;
In response to the acquisition request of the component element information, the component element storage unit is referred to, and the component element information is transmitted to the first computer,
Receiving the identifier of the application and the component of the application from the first computer, and updating the component storage unit;
Receiving an acquisition request for a component of the application from a second computer;
In response to the component acquisition request, refer to the component storage unit and transmit the component to the second computer.
Synchronization method.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/061717 WO2013168221A1 (en) | 2012-05-08 | 2012-05-08 | Synchronization program, synchronization server, and synchronization method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2013168221A1 true JPWO2013168221A1 (en) | 2015-12-24 |
Family
ID=49550306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014514251A Ceased JPWO2013168221A1 (en) | 2012-05-08 | 2012-05-08 | Synchronization program, synchronization server, and synchronization method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2013168221A1 (en) |
WO (1) | WO2013168221A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166711B (en) * | 2014-08-12 | 2017-07-14 | 小米科技有限责任公司 | The method and apparatus for controlling router plug |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070283049A1 (en) * | 2006-06-02 | 2007-12-06 | Google Inc. | Resolving Conflicts While Synchronizing Configuration Information Among Multiple Clients |
JP2008065409A (en) * | 2006-09-05 | 2008-03-21 | Fujitsu Ltd | Software management program, software management method and software management device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101583940B (en) * | 2006-01-17 | 2012-10-31 | 基达罗(以色列)有限公司 | Seamless integration of multiple computing environments |
JP2009064115A (en) * | 2007-09-04 | 2009-03-26 | Vision Arts Kk | File synchronization between mobile terminal device and server device |
JP5236352B2 (en) | 2008-05-15 | 2013-07-17 | 株式会社日立製作所 | Application distribution control system, application distribution control method, information processing apparatus, and client terminal |
-
2012
- 2012-05-08 JP JP2014514251A patent/JPWO2013168221A1/en not_active Ceased
- 2012-05-08 WO PCT/JP2012/061717 patent/WO2013168221A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070283049A1 (en) * | 2006-06-02 | 2007-12-06 | Google Inc. | Resolving Conflicts While Synchronizing Configuration Information Among Multiple Clients |
JP2008065409A (en) * | 2006-09-05 | 2008-03-21 | Fujitsu Ltd | Software management program, software management method and software management device |
Also Published As
Publication number | Publication date |
---|---|
WO2013168221A1 (en) | 2013-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102105636B1 (en) | Installing application remotely | |
US10740299B2 (en) | Systems and methods for providing continuing access to a remote computer program | |
EP2942703A1 (en) | Application sharing method and apparatus | |
US10209976B2 (en) | Automated application installation | |
WO2006021835A1 (en) | Device-to-device software distribution | |
WO2014012449A1 (en) | Method, device, processing center and system for desktop synchronization | |
US8799355B2 (en) | Client server application manager | |
US9535666B2 (en) | Dynamic agent delivery | |
JP5500704B2 (en) | Application synchronization method and program | |
JP2017107307A (en) | Apparatus, information processing system, information processing method, and program | |
JP2016186777A (en) | Mash-up method, mash-up program, and terminal | |
JP6478026B2 (en) | Information processing apparatus, program, and recording medium | |
CN108055141B (en) | Contextual interaction with an application | |
JP2024083510A (en) | Transmission device, method, and program | |
US10209868B2 (en) | Display terminal and display method for displaying application images based on display information | |
JPWO2014156825A1 (en) | Log output control device, method and program | |
WO2013168221A1 (en) | Synchronization program, synchronization server, and synchronization method | |
EP2928158B1 (en) | Distribution apparatus and distribution method | |
US9128738B2 (en) | Information processing program and information processing method | |
US20190129670A1 (en) | Information processing apparatus | |
US10298516B2 (en) | System and methods for sharing resources among application modules | |
WO2013183099A1 (en) | Synchronization program and synchronization method | |
JP2014229056A (en) | Electronic apparatus, control method and program | |
JP2014135070A (en) | Application synchronization method and program | |
WO2013190685A1 (en) | Synchronization server, synchronization method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151222 |
|
A045 | Written measure of dismissal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20160421 |