JP5500704B2 - アプリケーション同期方法及びプログラム - Google Patents

アプリケーション同期方法及びプログラム Download PDF

Info

Publication number
JP5500704B2
JP5500704B2 JP2013529789A JP2013529789A JP5500704B2 JP 5500704 B2 JP5500704 B2 JP 5500704B2 JP 2013529789 A JP2013529789 A JP 2013529789A JP 2013529789 A JP2013529789 A JP 2013529789A JP 5500704 B2 JP5500704 B2 JP 5500704B2
Authority
JP
Japan
Prior art keywords
synchronization
application
setting information
storage unit
stored
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.)
Expired - Fee Related
Application number
JP2013529789A
Other languages
English (en)
Other versions
JPWO2013027248A1 (ja
Inventor
泰大 山本
恭平 倉世古
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synclogue
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
Application granted granted Critical
Publication of JP5500704B2 publication Critical patent/JP5500704B2/ja
Publication of JPWO2013027248A1 publication Critical patent/JPWO2013027248A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Description

本発明は、アプリケーション同期方法及びプログラムに関する。
パーソナルコンピュータ(PC)や携帯端末等の情報処理装置では、文書作成ソフトウェアやウェブブラウザなどの様々なアプリケーションを実行することが可能である。通常、このようなアプリケーションは、情報処理装置ごとにインストールされたうえで使用される。そのため、例えば複数のPCを保有しているユーザが、これら複数のPC上で同じアプリケーションを使用する場合は、各PCに対して個別にアプリケーションをインストールする必要がある。さらに、アプリケーションを使用する際のユーザ設定についても、各PCにおいて個別に行う必要がある。このように、複数のPCで同一のアプリケーションを使用するのは非常に煩雑となる場合が多い。
また、近年普及しつつある、SaaS(Software as a Service)などのサービスを用いることにより、各PCに対して個別にアプリケーションをインストールしない構成も考えられる(例えば、特許文献1)。しかしながら、このようなサービスを用いる場合、利用可能なアプリケーションはサービス事業者から提供されるものに限られてしまう。
特開2009−277089号公報
そこで、例えば、各PCに対して個別にアプリケーションをインストールするのではなく、1台のPCにインストールされたアプリケーションの実行ファイルやデータファイルなどの関連ファイルを複数のPC間で共有することも考えられる。しかしながら、アプリケーションの実行に必要な設定情報は、レジストリ等の設定情報領域に格納されている場合も多い。また、このような設定情報領域の構造はOS(Operation System)のバージョンなどによって異なることが多い。そのため、単純にファイルを共有するだけでは複数のPC間でアプリケーションを同期させることはできない。
そこで、本発明は、設定情報領域に格納された設定情報を用いるアプリケーションを複数の情報処理装置の間で同期させることを目的とする。
本発明の一側面に係るアプリケーション方法によれば、コンピュータが、アプリケーションの実行に必要な設定情報が記憶される設定情報領域から抽出された設定情報を、同期用設定情報として所定のデータ形式で同期用設定情報記憶部に記憶し、アプリケーションの実行に設定情報が必要となった際に同期用設定情報記憶部に格納されている同期用設定情報を参照するようにアプリケーションを起動し、同期用設定情報を含む、アプリケーションの実行に必要なデータを、所定のタイミングで他のコンピュータに送信する。
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、1つの「部」や装置が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の「部」や装置の機能が1つの物理的手段や装置により実現されてもよい。
本発明によれば、設定情報領域に格納された設定情報を用いるアプリケーションを複数の情報処理装置の間で同期させることができる。
本発明の一実施形態であるアプリケーション同期システムの構成例を示す図である。 同期サーバが有する機能の一例を示すブロック図である。 同期用データの構造の一例を示す図である。 PCが有する機能の一例を示すブロック図である。 同期設定の際に表示される画面の一例を示す図である。 アプリケーション記憶部及び同期用アプリケーション記憶部の構造の一例を示す図である。 同期設定部により登録される同期設定の構造の一例を示す図である。 実行する同期用アプリケーションを選択する操作の一例を示す図である。 PCにおける各部の関連を示す図である。 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間でアプリケーションを同期させるための各種制御を行うことが可能である。
ユーザアカウントDB32は、アプリケーション同期システムを利用するユーザのアカウント情報を記憶するものである。例えば、アカウント情報には、ユーザIDやパスワード、メールアドレスなどが含まれる。
同期用データ記憶部34は、複数のPC間でユーザのアプリケーション実行環境を同期させるためのデータである同期用データを記憶するものである。図3には、同期用データの構造の一例が示されている。図3に示す例では、同期用データは、同期用テーブルに格納されるデータと、データストレージに格納されるデータとにより構成されている。同期用テーブルには、ユーザID、アプリケーションID、同期用アプリケーション・データID、同期用ユーザデータ・データID、同期用設定情報、及び更新日時が格納され、データストレージには、同期用アプリケーション及び同期用ユーザデータが格納されている。
ユーザIDは、各ユーザを識別するためのものであり、ユーザアカウントDB32に登録されている情報と同じものが使用されている。アプリケーションIDは、各ユーザが同期対象として選択したアプリケーションを識別するためのものである。このアプリケーションIDは、例えば、ユーザが同期対象のアプリケーションを同期サーバ10に登録する際に設定することとしてもよいし、同期サーバ10側で生成されることとしてもよい。同期用アプリケーションは、同期対象のアプリケーションを実行するためのアプリケーションデータであり、実行ファイルやDLL(Dynamic Link Library)などを含んでいる。また、同期用アプリケーションには、PC20においてアプリケーションデータを格納するフォルダを指定するための情報も含まれている。そして、同期用アプリケーション・データIDは、データストレージ内における同期用アプリケーションの格納場所を示すものである。同期用ユーザデータは、アプリケーションの実行時に必要となるユーザデータである。ここで、ユーザデータとは、アプリケーションの実行時に参照されるユーザごとのデータであり、例えば、電子メールの送受信を行うための電子メールアプリケーションにおける各ユーザの電子メールデータや、Webブラウザにおける各ユーザのブックマークデータなどである。また、同期用ユーザデータには、PC20においてユーザデータを格納するフォルダを指定するための情報も含まれている。そして、同期用ユーザデータ・データIDは、データストレージ内における同期用ユーザデータの格納場所を示すものである。同期用設定情報は、アプリケーションの実行に必要な設定情報であり、例えば、PC20のレジストリに格納される設定情報と同等の内容を有する情報である。また、同期用設定情報には、PC20において設定情報を格納するフォルダを指定するための情報も含まれている。なお、同期用設定情報についても、同期用アプリケーションや同期用ユーザデータと同様にデータストレージに格納されていることとしてもよい。更新日時には、同期用アプリケーション、同期用ユーザデータ、または同期用設定情報が更新された日時が設定される。
図4は、PC20が有する機能の一例を示すブロック図である。図4に示すように、PC20は、同期設定部40、アプリケーション起動部42、アプリケーション実行部44、設定情報参照部46、同期設定情報参照部48、同期通信部50、アプリケーション記憶部52、ユーザデータ記憶部54、設定情報記憶部56、同期設定記憶部58、同期用アプリケーション記憶部60、同期用ユーザデータ記憶部62、及び同期用設定情報記憶部64を含んで構成される。これらの各部は、例えば、メモリや記憶装置等の記憶領域を用いたり、記憶領域に格納されているプログラムをプロセッサが実行したりすることにより実現することができる。特に、アプリケーション同期システムを利用するために必要となる、同期設定部40、アプリケーション起動部42、同期設定情報参照部48、及び同期通信部50は、アプリケーション同期システム用のプログラムを実行することにより実現される。各PC20には、このプログラムが例えば同期サーバ10からダウンロードされ、インストールされていることとする。
同期設定部40は、複数のPC20間でアプリケーションを同期させるための設定を行うものである。図5には、同期設定の際に表示される画面の一例が示されている。この画面は、アプリケーション同期システム用のプログラムが起動されることにより表示される。ユーザは、この画面を用いることにより、同期対象のアプリケーションを登録したり、同期された状態のアプリケーションを起動したりすることができる。例えば、ユーザが、PC20のデスクトップ等にある、あるアプリケーション「APL001」のショートカットをドラッグアンドドロップによって画面100の表示領域112に移動させると、同期設定部40は、このショートカットにより特定されるアプリケーションを同期対象のアプリケーションとして登録する。なお、ドラッグアンドドロップに限らず、同期対象のアプリケーションを同期設定部40に認識させるための任意の手法を用いることができる。例えば、図5に示すように、アプリケーション追加ボタン114を押下してファイル参照用のインタフェースを表示させることにより、登録対象のアプリケーションが特定されることとしてもよい。そして、同期設定部40は、同期対象のアプリケーションに関する情報を同期設定記憶部58に格納する。なお、同期設定部40は、同期対象のアプリケーションに関する情報を同期設定部58に格納するのではなく、同期サーバ10の同期用データ記憶部34に格納することとしてもよい。
図6及び図7を参照して同期設定部40におけるアプリケーションの登録処理について説明する。図6には、アプリケーション記憶部52及び同期用アプリケーション記憶部60の構造の一例が示されている。アプリケーション記憶部52は、PC20においてアプリケーションが通常の手法でインストールされた際に実行ファイルやDLLなどのアプリケーションデータが格納される領域である。同期用アプリケーション記憶部60は、同期対象のアプリケーションのアプリケーションデータが格納される領域である。本実施形態では、同期設定部40は、図5に示した画面100で同期対象のアプリケーションが指定されると、このアプリケーションのアプリケーションデータをアプリケーション記憶部52から同期用アプリケーション記憶部60にコピーすることができる。例えば、図6に示すように、アプリケーション「APL001」が同期対象として指定された場合、同期設定部40は、アプリケーション記憶部52に記憶されている「APL001」のアプリケーションデータをフォルダごと同期用アプリケーション記憶部60にコピーすることができる。
なお、後述するように、あるユーザが複数のPC20を保有する場合に、アプリケーション記憶部52にアプリケーションデータが格納されている必要があるのは1台のPC20のみである。すなわち、はじめにユーザがアプリケーションを同期対象として登録するPC20においてアプリケーション記憶部52にアプリケーションデータが格納されていればよい。
図7には、同期設定部40により登録される同期設定の構造の一例が示されている。図7に示すように、同期設定には、ユーザID、パスワード、アプリケーションID、アプリケーション、ユーザデータフォルダ、設定情報フォルダ、及び更新日時を示す情報が含まれている。ユーザID及びパスワードは、アプリケーション同期システムを用いるためのものであり、例えば、本システムの利用開始時に同期設定部40により登録される。アプリケーションIDは、同期対象のアプリケーションを識別するためのものである。アプリケーションに関する情報は、同期対象のアプリケーションの実行ファイルが格納される場所を示すものである。
ユーザデータフォルダに関する情報は、同期対象のアプリケーションのユーザデータが格納されるフォルダを示すものである。例えば、アプリケーション記憶部52に格納されているアプリケーションを、本システムを用いずに通常通り起動した場合、ユーザデータ記憶部54に格納されているユーザデータが用いられる。一方、本システムを用いることにより同期用アプリケーション記憶部60に格納されているアプリケーションが起動される場合は、同期用ユーザデータ記憶部62に格納されている同期用ユーザデータが用いられる。同期設定に含まれるユーザデータフォルダに関する情報は、同期用ユーザデータ記憶部62に格納されている同期用ユーザデータの格納場所を特定するための情報である。
設定情報フォルダに関する情報は、同期対象のアプリケーションの設定情報が格納されるフォルダを示すものである。例えばアプリケーション記憶部52に格納されているアプリケーションを、本システムを用いずに通常通り起動した場合、設定情報領域56に格納されている設定情報が用いられる。ここで、設定情報領域56は、例えばレジストリなどの特殊なデータ領域であり、アプリケーションのインストール時やアプリケーションの実行時に生成される各種設定情報が格納される。一方、本システムを用いることにより同期用アプリケーション記憶部60に格納されているアプリケーションが起動される場合は、同期用設定情報記憶部64に格納されている同期用設定情報が用いられる。同期設定に含まれる設定情報フォルダに関する情報は、同期用設定情報記憶部64に格納されている同期用設定情報の格納場所を特定するための情報である。なお、同期用設定情報は、設定情報領域56に格納されている設定情報と同等の内容を含む所定のデータ形式のファイルとすることができる。例えば、同期用設定情報は、シリアライズされたメッセージパックなど、構造化されたデータとすることができる。なお、同期用設定情報は、設定情報領域56にリストアすることなく参照することができる。
更新日時には、同期用アプリケーション、同期用ユーザデータ、または同期用設定情報が更新された日時が設定される。同期設定部40は、同期用アプリケーションが登録された際の日時を更新日時の初期情報として設定することができる。後述するように、同期用アプリケーションの実行によって、同期用アプリケーション、同期用ユーザデータ、または同期用設定情報が更新された際には、同期設定に含まれる更新日時も更新されることとなる。
図1に戻り、アプリケーション起動部42は、ユーザ操作に応じて同期用アプリケーションを起動する。例えば、アプリケーション起動部42は、図8に示す画面100において、アプリケーション「APL001」に割り当てられた表示領域120が選択されると、アプリケーション起動部42は、同期設定記憶部58に格納されている同期設定を参照し、同期用アプリケーション記憶部60に格納されている同期用アプリケーションを起動する。このとき、アプリケーション起動部42は、ユーザデータの参照先が、ユーザデータ記憶部54ではなく、同期用ユーザデータ記憶部60となるように、同期用アプリケーションを起動する。具体的には、アプリケーション起動部42は、同期設定記憶部58に格納されている同期設定を参照し、起動対象のアプリケーションに対応づけられているユーザデータフォルダに関する情報を取得する。そして、アプリケーション起動部42は、このフォルダがユーザデータの参照先となるように同期用アプリケーションを起動する。例えば、アプリケーション起動部42は、同期用アプリケーションが実行される際の環境変数に、ユーザデータの参照先としてこのフォルダの情報を設定する。また、アプリケーション起動部42は、設定情報の参照先が、設定情報領域56ではなく、同期用設定情報記憶部64となるように、同期用アプリケーションを起動する。設定情報の参照先を同期用設定情報記憶部64とするための手法については後述する。
アプリケーション実行部44は、アプリケーション起動部42により起動されたアプリケーションにおける各種処理を実行する。ここで、同期用アプリケーションは、アプリケーション記憶部52に格納されていたアプリケーションと同じものであるため、アプリケーション実行部44により実行される処理はアプリケーション記憶部52に格納されているアプリケーションと同じ内容となる。ただし、アプリケーション実行部44は、ユーザデータ記憶部54ではなく、同期用ユーザデータ記憶部62に格納されているユーザデータを用いる。また、アプリケーション実行部44は、設定情報領域56ではなく、同期用設定情報記憶部64に格納されている設定情報を用いる。
設定情報参照部46は、アプリケーション記憶部52に格納されているアプリケーションの実行時に、設定情報領域56に格納されている設定情報を参照するために用いられるものである。例えば、設定情報参照部46は、DLLによって実現されるものであり、アプリケーションの起動時に動的にリンクすることが可能である。
同期設定情報参照部48は、同期用アプリケーション記憶部60に格納されているアプリケーションの実行時に、同期用設定情報記憶部64に格納されている設定情報を参照するために用いられるものである。例えば、同期設定情報参照部48は、設定情報参照部46と同様にDLLによって実現されるものであり、同期用アプリケーションの起動時に動的にリンクすることが可能である。このような同期設定情報参照部48は、アプリケーション起動部42が同期用アプリケーションを起動する際に、設定情報参照部46の代わりにアプリケーションン実行部44に動的にリンクされることとなる。これにより、アプリケーション実行部44において実行される処理で、設定情報領域56に格納されている設定情報にアクセスするための関数が呼び出されると、設定情報参照部46ではなく同期設定情報参照部48が起動され、同期用設定情報記憶部64に格納されている設定情報が参照されることとなる。つまり、同期設定情報参照部48は、アプリケーション実行部44による設定情報参照部46の関数の呼び出しをフック(横取り)し、設定情報参照部46の代わりに処理を実行することとなる。このような手法は一般的にDLLインジェクションと言われている。
また、同期設定情報参照部48は、アプリケーション実行部44からの指示により同期用設定情報記憶部64を参照した際に、対象の設定情報が同期用設定情報記憶部64に格納されていない場合は、この設定情報を設定情報領域56から取得してアプリケーション実行部44に返す。そして、同期設定情報参照部48は、この設定情報を同期用設定情報記憶部64に、同期用設定情報記憶部64における所定のデータ形式で格納する。これは、同期対象のアプリケーションを登録する際には、設定情報領域56のどこに格納されている設定情報がこのアプリケーションで用いられるかを特定することができないからである。そのため、同期設定情報参照部48は、アプリケーションの実行時に指定された設定情報を設定情報領域56から抽出して同期用設定情報記憶部64に格納する。なお、同期設定情報参照部48は、設定情報領域56から設定情報を抽出する際に、設定情報参照部46を呼び出すことができる。
同期通信部50は、複数のPC20の間でアプリケーションを同期させるためのデータ通信を行うものである。具体的には、同期通信部50は、同期設定記憶部58を参照し、同期対象のアプリケーション、ユーザデータ、及び設定情報を、同期サーバ10との間で同期させることができる。具体的には、例えば、同期通信部50は、同期設定記憶部58に記憶されている同期設定の内容と、同期サーバ10の同期用データ記憶部34に記憶されている同期用データの内容とを比較することにより、同期用アプリケーション記憶部60、同期用ユーザデータ記憶部62、及び同期用設定情報記憶部64の内容と、同期サーバ10の同期用データ記憶部34の内容とを、ユーザID及びアプリケーションIDごとに最新の状態に合わせることが可能である。なお、同期通信部50が同期サーバ10との間で通信を行うタイミングは、例えば、アプリケーション起動部42が画面100を起動した際や、同期用アプリケーションが終了した際、タイマにより設定される所定間隔など、任意のタイミングであってよい。
図9は、PC20における各部の関連を示す図である。また、図10は、PC20における同期用アプリケーションの実行処理の一例を示すフローチャートである。図9及び図10を参照して、同期用アプリケーションの実行処理について説明する。
アプリケーション同期システム用のプログラムが起動されると、同期通信部50は、同期サーバ10にアクセスして同期処理を実行する(S1001)。具体的には、同期通信部50は、同期設定記憶部58に格納されている同期設定の内容と、同期サーバ10の同期用データ記憶部34に格納されている同期用データの内容とを比較し、同期サーバ10に格納されているデータがPC20に格納されているデータよりも新しいと判断される場合は、同期サーバ10に格納されているデータによって同期用アプリケーション記憶部60、同期用ユーザデータ記憶部62、及び同期用設定情報記憶部64を更新する。ここで、例えば、PC20に、同期対象となっているアプリケーションが通常の手段によってインストールされていない場合には、アプリケーション記憶部52にこのアプリケーションの実行ファイルなどは格納されていない。この場合、同期通信部50による同期処理によって、このアプリケーションの実行ファイルなどは、同期サーバ10からダウンロードされて同期用アプリケーション記憶部60に格納されることとなる。ユーザデータや設定情報についても同様である。
アプリケーション起動部42は、例えば図8に示すように、実行する同期用アプリケーションが選択されると、ユーザデータ及び設定情報の参照先を同期用に設定して同期用アプリケーションを起動する(S1002)。具体的には、アプリケーション起動部42は、同期設定記憶部58を参照し、同期設定によって指定されるユーザデータフォルダをユーザデータの参照先として環境変数に設定するとともに、設定情報領域56の設定情報の代わりに同期用設定情報記憶部64の同期設定情報が参照されるように同期用アプリケーションを起動する。これにより、アプリケーション実行部44が生成される。
アプリケーション実行部44は、環境変数にしたがって同期用ユーザデータ記憶部62を参照するとともに、同期設定情報参照部48を介して同期用設定情報記憶部64を参照することにより、アプリケーションにおいて規定されている各種処理を実行する(S1003)。このアプリケーション実行部44による処理は、処理終了が指示されない間は(S1004:N)、繰り返し実行される。ここで、アプリケーション実行部44から呼び出される同期設定参照部48は、参照する対象の設定情報が同期用設定情報記憶部64に格納されていない場合は(S1005:Y)、設定情報領域56から対象の設定情報を取得してアプリケーション実行部44に返すとともに、同期用設定情報記憶部64用のデータ形式に変換した設定情報を生成して同期用設定情報記憶部64に格納する(S1006)。
ユーザ操作等によって、同期用アプリケーションの終了が指示されると(S1004:Y)、同期通信部50は、同期サーバ10にアクセスして同期処理を実行し、処理を終了する(S1007)。具体的には、同期通信部50は、同期設定記憶部58、同期用アプリケーション記憶部60、同期用ユーザデータ記憶部62、及び同期用設定情報記憶部64を参照し、同期設定に含まれる更新日時を更新する。そして、同期通信部50は、同期設定記憶部58に格納されている同期設定の内容と、同期サーバ10の同期用データ記憶部34に格納されている同期用データの内容とを比較し、同期サーバ10に格納されているデータがPC20に格納されているデータよりも古いと判断される場合は、PC20に格納されているデータを同期サーバ20にアップロードすることにより、同期サーバ20の同期用データ記憶部34に格納されている同期用データを更新する。これにより、同じユーザが別のPC20で同じアプリケーションを本システムを用いて実行する場合には、同期サーバ20から同期用データがダウンロードされ、同一の実行環境でアプリケーションを実行することが可能となる。
以上、本実施形態について説明した。本実施形態のアプリケーション同期システムによれば、複数のPCを保有するユーザは、各PCで個別にアプリケーションをインストールしたり、手動でデータを同期させたりする必要なく、複数のPC間で同期された状態でアプリケーションを実行することができる。そして、本実施形態では、同期用アプリケーションが起動される際に、設定情報領域56の設定情報ではなく同期用設定情報記憶部64の同期用設定情報が参照されるようにアプリケーションが起動される。これにより、設定情報領域56に格納された設定情報を用いるアプリケーションを複数のPC間で同期させることが可能となる。つまり、本実施形態によれば、設定情報領域56のデータ構造がOSのバージョン等によってPCごとに異なるような場合であっても、その構造の差異に関係なく、複数のPCにおいて同期がとれた状態でアプリケーションを実行することができる。
また、本実施形態では、同期設定情報参照部48は、同期用設定情報記憶部64に同期用設定情報が記憶されていない場合には、この同期用設定情報に対応する設定情報を設定情報領域56から抽出し、同期用設定情報のデータ形式で同期用設定情報記憶部64に格納することができる。これにより、設定情報領域56に記憶されているどの設定情報がアプリケーションで用いられるかを事前に判断することができないような場合であっても、アプリケーションで用いられる設定情報を特定し、同期用設定情報記憶部64に格納することができる。
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。
例えば、本実施形態では、アプリケーション同期システムにおいてアプリケーションを実行するクライアントをPCとしたが、クライアントはPCに限られず、携帯端末等の任意の情報処理装置を用いることが可能である。
また、例えば、本実施形態では、参照対象となった同期用設定情報が同期用設定情報記憶部64に格納されていない場合に、設定情報領域56から設定情報が抽出されて同期用設定情報記憶部64に格納されることとしたが、はじめにアプリケーションを同期用に登録するPCにおいて、設定情報領域56に格納されている全ての設定情報を抽出して同期用設定情報記憶部64に格納することとしてもよい。ただし、本実施形態に示したように、同期用設定情報へのはじめての参照が発生したタイミングで、設定情報領域56から設定情報を抽出して同期用設定情報記憶部64に格納することにより、同期用設定情報のデータサイズを小さくすることが可能となる。
また、例えば、本実施形態では、図10に示した処理において、アプリケーション同期システム用のプログラムが起動されたタイミングや、同期用アプリケーションが終了されるタイミングでPC20と同期サーバ10との間で同期処理が実行されることとしたが、同期処理のタイミングはこれに限られず任意のタイミングを採用することができる。
また、例えば、本実施形態では、図7に示したように、アプリケーション、ユーザデータ、及び設定情報の全てに対して1つの更新日時を保持し、この更新日時に基づいて同期処理が実行されることとしたが、アプリケーション、ユーザデータ、及び設定情報の各々について個別に更新日時が判定され、個別に同期処理が実行されることとしてもよい。また、ファイル単位で更新日時の判定が行われることとしてもよい。なお、更新日時の情報は、同期設定に含まれる情報として保持するのではなく、OSによって保持されている、フォルダやファイルの更新日時を示す情報を用いることとしてもよい。
10 同期サーバ
20 パーソナルコンピュータ
30 通信部
32 ユーザアカウントデータベース
34 同期用データ記憶部
40 同期設定部
42 アプリケーション起動部
44 アプリケーション実行部
46 設定情報参照部
48 同期設定情報参照部
50 同期通信部
52 アプリケーション記憶部
54 ユーザデータ記憶部
56 設定情報領域
58 同期設定記憶部
60 同期用アプリケーション記憶部
62 同期用ユーザデータ記憶部
64 同期用設定情報記憶部

Claims (4)

  1. コンピュータが、
    アプリケーションの実行に必要な設定情報が記憶される設定情報領域から抽出された前記設定情報を、同期用設定情報として所定のデータ形式で同期用設定情報記憶部に記憶し、
    前記アプリケーションの実行に前記設定情報が必要となった際に前記同期用設定情報記憶部に格納されている前記同期用設定情報を参照するように前記アプリケーションを起動し、
    前記同期用設定情報を含む、前記アプリケーションの実行に必要なデータを、所定のタイミングで他のコンピュータに送信
    前記アプリケーションの実行に前記同期用設定情報が必要となった際に該同期用設定情報が前記同期用設定情報記憶部に記憶されていない場合、該同期用設定情報に対応する設定情報を前記設定情報領域から抽出して前記同期用設定情報として前記所定のデータ形式で前記同期用設定情報記憶部に格納する、
    アプリケーション同期方法。
  2. 請求項に記載のアプリケーション同期方法であって、
    前記コンピュータは、
    前記アプリケーションの実行に必要なデータの一つであるユーザデータが格納されるデータ記憶部とは異なる、該ユーザデータと同一のデータ形式のデータである同期用ユーザデータを同期用ユーザデータ記憶部に格納し、
    前記アプリケーションの実行に前記ユーザデータが必要となった際に、前記同期用ユーザデータ記憶部に記憶されている前記同期用ユーザデータを参照するように前記アプリケーションを起動し、
    前記同期用ユーザデータ記憶部に記憶されている前記同期用ユーザデータを所定のタイミングで前記他のコンピュータに送信する、
    アプリケーション同期方法。
  3. 請求項1または2に記載のアプリケーション同期方法であって、
    前記設定情報領域に記憶されている前記設定情報と、前記同期用設定情報記憶部に記憶されている前記同期用設定情報とはデータ形式が異なる、
    アプリケーション同期方法。
  4. コンピュータに、
    アプリケーションの実行に必要な設定情報が記憶される設定情報領域から抽出された前記設定情報を、同期用設定情報として所定のデータ形式で同期用設定情報記憶部に記憶する機能と、
    前記アプリケーションの実行に前記設定情報が必要となった際に前記同期用設定情報記憶部に格納されている前記同期用設定情報を参照するように前記アプリケーションを起動する機能と、
    前記同期用設定情報を含む、前記アプリケーションの実行に必要なデータを、所定のタイミングで他のコンピュータに送信する機能と、
    前記アプリケーションの実行に前記同期用設定情報が必要となった際に該同期用設定情報が前記同期用設定情報記憶部に記憶されていない場合、該同期用設定情報に対応する設定情報を前記設定情報領域から抽出して前記同期用設定情報として前記所定のデータ形式で前記同期用設定情報記憶部に格納する機能と、
    を実現させるためのプログラム。
JP2013529789A 2011-08-19 2011-08-19 アプリケーション同期方法及びプログラム Expired - Fee Related JP5500704B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/068740 WO2013027248A1 (ja) 2011-08-19 2011-08-19 アプリケーション同期方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014044034A Division JP2014135070A (ja) 2014-03-06 2014-03-06 アプリケーション同期方法及びプログラム

Publications (2)

Publication Number Publication Date
JP5500704B2 true JP5500704B2 (ja) 2014-05-21
JPWO2013027248A1 JPWO2013027248A1 (ja) 2015-03-05

Family

ID=47746030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013529789A Expired - Fee Related JP5500704B2 (ja) 2011-08-19 2011-08-19 アプリケーション同期方法及びプログラム

Country Status (5)

Country Link
US (1) US20150052539A1 (ja)
EP (1) EP2746937A4 (ja)
JP (1) JP5500704B2 (ja)
KR (1) KR20140054073A (ja)
WO (1) WO2013027248A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015121970A (ja) * 2013-12-24 2015-07-02 株式会社リコー 情報処理システム、情報処理装置、及び情報処理方法
JP5898712B2 (ja) * 2014-02-13 2016-04-06 キヤノン株式会社 画像形成装置及びその制御方法
JP2017028590A (ja) * 2015-07-25 2017-02-02 滋春 神山 関連付けられた複数のsimカードを挿入した各々の携帯電話やスマートフォンを使い、電池切れの際電池交換や携帯充電器の使用を不要にした通信システム
US10592470B2 (en) * 2016-08-10 2020-03-17 Microsoft Technology Licensing, Llc Discovery of calling application for control of file hydration behavior
CN106775970B (zh) * 2016-12-01 2018-02-09 掌阅科技股份有限公司 跨进程的窗口操作同步方法、装置及电子设备
CN115865528B (zh) * 2023-02-20 2023-05-12 深圳市英唐数码科技有限公司 基于多设备的用户资料操作方法、系统和可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282729A (ja) * 2000-03-30 2001-10-12 Casio Comput Co Ltd ユーザ環境設定システム、その方法及び記録媒体
JP2005032171A (ja) * 2003-07-11 2005-02-03 Nippon Telegr & Teleph Corp <Ntt> データ共有のための機能モジュール間通信制御システム,機能モジュール間通信制御方法,機能モジュール間通信制御プログラムおよびその記録媒体
US20050066337A1 (en) * 2003-09-18 2005-03-24 Carmody Quinn Portable operating environment

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671757B1 (en) * 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
FI113129B (fi) * 2001-03-26 2004-02-27 Nokia Corp Sovellusdatan synkronointi tietoliikennejärjestelmässä
US20050005259A1 (en) * 2003-03-14 2005-01-06 Infowave Software, Inc. System and method for communication and mapping of business objects between mobile client devices and a plurality of backend systems
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US7962575B2 (en) * 2003-11-03 2011-06-14 Grape Technology Group, Inc. System and method for data synchronization between devices
JP4470900B2 (ja) * 2006-03-31 2010-06-02 日本電気株式会社 コミュニティ参加型の情報共有システムおよび情報共有方法
JP5164391B2 (ja) * 2007-02-07 2013-03-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US8185601B2 (en) * 2008-05-11 2012-05-22 Nokia Corporation Sharing information between devices
JP5236352B2 (ja) 2008-05-15 2013-07-17 株式会社日立製作所 アプリケーション配信制御システム、アプリケーション配信制御方法、情報処理装置、およびクライアント端末
JP5581654B2 (ja) * 2009-11-06 2014-09-03 株式会社リコー ネットワーク同期システム及び情報処理装置
US8805783B2 (en) * 2010-05-27 2014-08-12 Microsoft Corporation Synchronization of subsets of data including support for varying set membership
US20130066832A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Application state synchronization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282729A (ja) * 2000-03-30 2001-10-12 Casio Comput Co Ltd ユーザ環境設定システム、その方法及び記録媒体
JP2005032171A (ja) * 2003-07-11 2005-02-03 Nippon Telegr & Teleph Corp <Ntt> データ共有のための機能モジュール間通信制御システム,機能モジュール間通信制御方法,機能モジュール間通信制御プログラムおよびその記録媒体
US20050066337A1 (en) * 2003-09-18 2005-03-24 Carmody Quinn Portable operating environment

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CSND200301474006; 清水達哉、野口靖貴: 'クライアントPC管理の鉄則:PCが変わっても同じマシン環境を呼び出せる' 日経Windowsプロ 第59号, 20020201, pp.94〜97, 日経BP社 *
CSND200800017006; '特集1 USBメモリー最強活用術:どんなソフトも持ち運び可能になる?' 日経PC21 第13巻,第5号(通巻249号), 20080301, p.49, 日経BP社 *
JPN6011050905; '"Joho Planet inc" Announces The Release Of An Application Synchronizing Service "Synclogue" Beta Ver' [online] , 20110524, Joho Planet Inc. *
JPN6014004988; 清水達哉、野口靖貴: 'クライアントPC管理の鉄則:PCが変わっても同じマシン環境を呼び出せる' 日経Windowsプロ 第59号, 20020201, pp.94〜97, 日経BP社 *
JPN6014004992; '特集1 USBメモリー最強活用術:どんなソフトも持ち運び可能になる?' 日経PC21 第13巻,第5号(通巻249号), 20080301, p.49, 日経BP社 *

Also Published As

Publication number Publication date
US20150052539A1 (en) 2015-02-19
JPWO2013027248A1 (ja) 2015-03-05
EP2746937A1 (en) 2014-06-25
WO2013027248A1 (ja) 2013-02-28
EP2746937A4 (en) 2015-05-06
KR20140054073A (ko) 2014-05-08

Similar Documents

Publication Publication Date Title
JP5500704B2 (ja) アプリケーション同期方法及びプログラム
US9519654B2 (en) Method, device, processing center and system for desktop synchronization
US9503520B2 (en) Application synchronization among multiple computing devices
US20150220245A1 (en) Branded computer devices and apparatus to connect user and enterprise
US10356212B2 (en) Application delivery to a computing device using dynamic application volume creation and streaming
JP6257238B2 (ja) 情報処理装置及びアプリケーションの提示方法と制御プログラム、ネットワークシステム
JP2017107307A (ja) 機器、情報処理システム、情報処理方法、及びプログラム
JP2009199261A (ja) 情報処理システムと情報処理方法とプログラム
JP6478026B2 (ja) 情報処理装置、プログラム、及び記録媒体
WO2014136429A1 (en) Information processing apparatus and method for the same
TWI505100B (zh) 在區域網路中進行資料分享與數據同步的方法
JP5410471B2 (ja) 複数のアプリケーションを連携起動する通信端末、連携起動方法及びコンピュータプログラム
WO2020044977A1 (ja) アプリケーションプログラムおよびデータ転送システム
JP2014135070A (ja) アプリケーション同期方法及びプログラム
JP4829368B1 (ja) ファイル処理プログラム、装置及び方法
JP6536942B2 (ja) 情報処理装置およびプログラム
JP6536007B2 (ja) 情報処理装置、その制御方法とプログラム
CN107968794A (zh) 一种虚拟光驱挂载方法及系统、服务器、终端
WO2013168221A1 (ja) 同期プログラム、同期サーバ、及び同期方法
JP6851836B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2013183099A1 (ja) 同期プログラム及び同期方法
JP6099365B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、アプリケーションの実行方法、および、記憶媒体
WO2013190685A1 (ja) 同期サーバ、同期方法、及びプログラム
JP2015121887A (ja) 情報処理装置及びその制御方法、およびプログラム
JP2019133509A (ja) コンテナ収容装置、システム、コンテナ収容方法及びプログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140307

R150 Certificate of patent or registration of utility model

Ref document number: 5500704

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees