JP5313108B2 - アプリケーション・プログラムの操作環境を同期させる方法 - Google Patents

アプリケーション・プログラムの操作環境を同期させる方法 Download PDF

Info

Publication number
JP5313108B2
JP5313108B2 JP2009260526A JP2009260526A JP5313108B2 JP 5313108 B2 JP5313108 B2 JP 5313108B2 JP 2009260526 A JP2009260526 A JP 2009260526A JP 2009260526 A JP2009260526 A JP 2009260526A JP 5313108 B2 JP5313108 B2 JP 5313108B2
Authority
JP
Japan
Prior art keywords
file
computer
application program
operation context
main memory
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.)
Active
Application number
JP2009260526A
Other languages
English (en)
Other versions
JP2011107853A (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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2009260526A priority Critical patent/JP5313108B2/ja
Publication of JP2011107853A publication Critical patent/JP2011107853A/ja
Application granted granted Critical
Publication of JP5313108B2 publication Critical patent/JP5313108B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本発明は複数のコンピュータ間でアプリケーション・プログラムの操作環境を同期させる技術に関する。
近年、コンピュータのユーザはオフィスでは豊富な機能と性能を備えたデスクトップ型パーソナル・コンピュータ(以下、デスクトップPCという。)を使用し、外出先では機動性に優れたノートブック型パーソナル・コンピュータ(以下、ノートPCという。)を使用するというように使用場所に応じて複数のコンピュータを使い分けることが多くなってきている。この場合、たとえば、ノートPCでアプリケーション・プログラム(以下、アプリケーションという。)を実行して作業をしているときに、その作業の状態をそのままデスクトップPCに移行できれば2台のコンピュータを使用する上での利便性が向上する。
特許文献1の発明は、利用者が異なる場所で異なるコンピュータを使用しても、同じコンピュータ作業環境で仕事ができるようにする技術を開示する。利用者がコンピュータ環境携帯装置を異なるコンピュータに接続すると、コンピュータ環境ソフトウウエアが自動的にインストールされ、当該コンピュータの作業環境を変換することができる。ここに作業環境としては、電子メールの設定、ウェブブラウザのブックマーク、履歴、クッキー、デスクトップ、ショートカット、または作業関係のドキュメントおよびファイルなどの個人設定が例示されている。
特許文献2は、第1のデバイスと第2のデバイスの間でソフトウエア・プログラムを同期させる技術を開示する。また、同文献には、スクリーンサイズ、計算能力、オペレーティング・システム、無線アプリケーションパートユーザプロファイル作業部会による無線アプリケーションパートのバージョンなど、ユーザに依存しないようなデバイスの機能を同期させることや、電子カレンダー入力、アドレス帳入力、または電子メールのようなユーザデータを、複数デバイス間で同期させることが記載されている。
非特許文献1は、ネットワークで接続された複数のコンピュータ間でファイルを同期させる技術を開示する。ユーザは各コンピュータにDropboxというソフトウエアをインストールしてMy Dropboxというフォルダを作成する。作成したファイルをMy Dropboxにいれるだけで複数のコンピュータ間で同期させることができる。
特開2006−146912号公報 特表2008−510207号公報
URLがhttp://web-tan.forum.impressrd.jp/e/2008/11/13/4371のWebサイト
複数のコンピュータの間で同期させる情報の対象には、アプリケーションの操作環境というものが存在する。操作環境はたとえば、文書作成ソフトウエアであれば現在メイン・メモリ上で作成している保存前のデータ、作成中のページ、およびカーソルの位置などである。ノートPCにおいて存在する操作環境をデスクトップPCにマイグレーションし、また、デスクトップPCの操作環境をノートPCにマイグレーションするといったように2台のコンピュータ間で操作環境の同期をとることができれば、デスクトップPCとノートPC間の間で使用するコンピュータを変更する上で都合がよい。しかし、操作環境を同期させる場合には主として2つの場面で課題が発生する。
1つ目の課題は、ユーザがたとえばノートPCで文書作成ソフトウエアにより付与されるディフォルトのファイル名のファイルとして新規に文書を作成しハードディスク・ドライブ(HDD)に保存する前の操作環境を、デスクトップPCに同期させる場合に発生する。この場合、操作環境を同期させるには、デスクトップPCで同じ文書作成ソフトウエアを実行したときに、ノートPCと同一のファイル名でノートPCが作成した文書を開くようにする必要がある。2つ目の課題は、ノートPCとデスクトップPCが同一名称の同期したファイルをすでに保有しているときに、たとえばノートPCで修正したファイルをHDDに保存する前の操作環境をデスクトップPCに同期させる場合に発生する。
デスクトップPCにおいて同じ文書作成ソフトウエアを実行してそれまで保存していた同一名称のファイルを開いたときには、ノートPCで修正されたファイルを開くようにする必要がある。また、デスクトップPCで同じ文書作成ソフトウエアを実行しているときに、ノートPCから更新されたファイルを受け取ったときには更新されたファイルを開いて修正を継続できるようにする必要がある。前述のように複数のコンピュータ間において作業環境やファイルを同期させる技術は存在していたが、これらは一旦HDDに記録されたデータが対象となっているのに対し、操作環境を示すデータは、同期の瞬間にHDDに保存されていない場合があるためこれらと同様の方法で同期させることはできない。いいかえると、従来の方法では、メイン・メモリに存在するデータを一旦HDDに保存してから保存したデータを同期させることはできるが、保存する前のデータである操作環境を同期させることはできない。
そこで本発明の目的は、複数のコンピュータ間でアプリケーションの操作環境を同期させる方法を提供することにある。さらに本発明の目的は、複数のコンピュータ間でユーザが作成した保存前のデータを同期させる方法を提供することにある。さらに本発明の目的は、複数のコンピュータ間でアプリケーションの操作状態を同期させる方法を提供することにある。さらに本発明の目的は、そのような方法を実行するコンピュータおよびコンピュータ・プログラムを提供することにある。
本発明は、第1のコンピュータから第2のコンピュータにアプリケーションの操作環境を同期させる方法を提供する。アプリケーションの操作環境は、ユーザが作成したデータと実行状態にあるアプリケーションの操作情報で構成された操作コンテキストとしてコンピュータ間で転送される。操作コンテキストは、メイン・メモリ上に存在しており不揮発性記憶装置に保存する前にメイン・メモリの電源を遮断したりアプリケーションを終了したりすると消失するデータである。
本発明の第1の態様は、第1のコンピュータで新規にファイルを作成している場合に、第1のコンピュータで実行している第1のアプリケーションの操作環境を第2のコンピュータの第2のアプリケーションに移行する場合に適用することができる。第1のアプリケーションと第2のアプリケーションは、種類が同一で相互に作成したファイルを交換できる程度にバージョンが整合していることが前提になっている。
第1のコンピュータがアプリケーションを実行すると、メイン・メモリ上にディフォルトのファイル名を付与したファイルを作成するための作業領域が形成される。第1のコンピュータがデータの入力されたファイルを不揮発性記憶装置に保存する前に操作環境を同期させるための指示を受け取ると、メイン・メモリ上に存在し不揮発性記憶装置に保存する前の作成中のファイルに関連する操作コンテキストを第1のコンピュータが第2のコンピュータに転送する。不揮発性記憶装置に保存する前とは、同期の指示があった瞬間に未保存のデータがメイン・メモリに存在していることを意味しており同期の指示がある以前に保存されたことがあってもよい。
第2のコンピュータは当該操作コンテキストを受信し第2のアプリケーションを実行してメイン・メモリ上にディフォルトのファイル名を付与したファイルを作成するための作業領域を形成する。最初に第2のアプリケーションを実行するときに生成されるディフォルトのファイル名のファイルには何らデータが入力されていないが、本発明では、第2のアプリケーションを実行したときに第1のコンピュータから受信した操作コンテキストを第2アプリケーションの作業領域にロードする。その結果、第2のコンピュータでアプリケーションを実行するだけでユーザは同期の指示をしたときの第1のコンピュータの操作環境を第2のコンピュータに再現して作業を継続することができる。
操作コンテキストには、第1のアプリケーションを実行して作成されたデータを含むことができる。第1のアプリケーションによりメイン・メモリ上で作成されたデータをディフォルトのファイル名とは異なるファイル名の仮ファイルとして定期的に第1のコンピュータの不揮発性記憶装置に保存するようにすれば、同期の指示があったときに操作コンテキストを前回の保存からの差分だけ取得すればよいので転送時間の短縮を図ることができる。操作コンテキストには、作成中のページ位置、カーソル位置、曲名、音声の再生位置、動画の再生位置およびWebサイトのURLからなるグループから選択された1または複数の要素で構成された操作情報を含むことができる。操作情報は、第1のアプリケーションを終了する前にファイルを保存しても第1のコンピュータに保存されない情報を含むようにすることができる。操作情報は、関連するファイルが保存されても一緒に保存されたり、アプリケーションのレジストリに保存されたりしない情報を含む。
第2のアプリケーションは操作コンテキストが作業領域にロードされたときに、操作コンテキストに含まれる操作情報を前記メイン・メモリ上のファイルに設定することで、データだけでなく作成中のページやカーソルの位置まで第2のコンピュータに再現することができる。第2のコンピュータが操作コンテキストを受信したときに、すでに第2のアプリケーションが実行されているときは、操作コンテキストが到着しているので第2のアプリケーションを停止させて再実行する旨の表示を第2のコンピュータに行うことができる。ユーザがその表示に従って第2のアプリケーションを再実行することで、第1のコンピュータの操作環境を再現することができる。操作コンテキストは、同期の指示に応じてネットワークを通じて転送することもできるし、可搬式記録媒体に保存して転送することもできる。
本発明の第2の態様では、第1のファイルを保存する第1のコンピュータが実行する第1のアプリケーションの操作環境を、第1のファイルに同期した第2のファイルを保存する第2のコンピュータが実行する第2のアプリケーションに移行する場合に適用することができる。第1のコンピュータが第1のアプリケーションを実行して第1のファイルを修正する。第1のコンピュータが第1のファイルを不揮発性記憶装置に保存する前に操作環境を同期させるための指示があると、メイン・メモリ上に存在し不揮発性記憶装置に保存する前の修正された第1のファイルに関連する操作コンテキストを第1のコンピュータが第2のコンピュータに転送する。
第2のコンピュータでは、操作コンテキストを受信すると第2のアプリケーションを実行して第2のファイルのロードを開始する。このとき第2のコンピュータは第2のアプリケーションの作業領域に第2のファイルに代えて第1のコンピュータから受信した操作コンテキストをロードする。その結果、第2のコンピュータでは、同期したファイルを最初に第1のコンピュータで修正し、同期の指示があったときにファイルの修正作業にかかる操作環境を第2のコンピュータに再現することができる。操作コンテキストを受信したときにすでに第2のアプリケーションが実行されている場合は、操作コンテキストを第2のアプリケーションに提供するために、操作コンテキストが到着しているので第2のアプリケーションを停止させてから再実行する旨の表示を第2のコンピュータに行うことができる。
本発明により、複数のコンピュータ間でアプリケーションの操作環境を同期させる方法を提供することができた。さらに本発明により、複数のコンピュータ間でユーザが作成した保存前のデータを同期させる方法を提供することができた。さらに本発明により、複数のコンピュータ間でアプリケーションの操作状態を同期させる方法を提供することができた。さらに本発明により、そのような方法を実行するコンピュータおよびコンピュータ・プログラムを提供することができた。
文書作成ソフトエアを使用して新規にファイルを作成し同期データを作成するときの様子を示す図である。 本実施の形態にかかるコンピュータ・システムの主要なハードウエア構成を示す機能ブロック図である。 本実施の形態にかかるソフトウエアの構成を説明する図である。 アプリケーションを実行して新規なデータを作成している間にPC1からPC2にアプリケーションの操作環境を移行する手順を示すフローチャートである。 アプリケーションを実行して新規なデータを作成している間にPC1からPC2にアプリケーションの操作環境を移行させる手順を示すフローチャートである。 図4、図5の手順におけるファイルの状態を示した図である。 操作コンテキストのデータ構造体の一例を示す図である。 PC1とPC2との間で同期したファイルをPC1で修正してから保存する前に、PC1からPC2にアプリケーションの操作環境を移行する手順を示すフローチャートである。 PC1とPC2との間で同期させたファイルをPC1で修正してから保存する前に、PC1からPC2にアプリケーションの操作環境を移行する手順を示すフローチャートである。 図8、図9の手順におけるファイルの状態を示した図である。
[操作コンテキスト]
操作コンテキストとは、ユーザがアプリケーションを実行して新規にファイルを作成したり既存のファイルを修正したりしているときにメイン・メモリ上に存在するデータおよびその時点での当該アプリケーションの動作状態を示す情報をいう。以後本明細書においては、ユーザが作成したデータを実データといい、アプリケーションの動作状態を示す情報を操作情報ということにする。操作コンテキストは、アプリケーションの通常の利用方法においてメイン・メモリの電源を遮断したり、不揮発性記憶装置に保存しないでアプリケーションを終了したりするとコンピュータから消失するか少なくともユーザが当該アプリケーションを通じて取得できないデータである。本発明では操作コンテキストを同期のタイミングで取得して同期データとして転送する方法を提供する。
操作コンテキストを構成する実データは、文書作成ソフトウエアにおける作成データ、音声再生ソフトウエアにおける再生コンテンツに対するユーザによる評価点数などの付加データ、Web閲覧ソフトウエアにおける入力データ、およびクリップボードに保存されてデータなどのメイン・メモリの電源が維持されている間だけ存在するデータである。操作コンテキストを構成する操作情報には、文書作成ソフトウエアにおける作成中のページ位置または当該ページにおけるカーソルの位置(ラインおよびカラム)に関する情報、音声または動画再生ソフトウエアにおける再生中の曲名または再生位置に関する情報、Web閲覧ソフトウエアにおける閲覧中のサイトのURLまたは設定したタブの構成に関する情報などを含む。
また、各アプリケーションに共通する操作情報として、ウインドウがフォアグランドで表示されているか否かを示す情報またはデータを作成するアプリケーションを開いたときに自動的に付与するファイル名称などを含む。アプリケーションの操作環境を設定する情報やコンピュータの画面を設定する情報も利用形態からみると本発明の操作情報に類似するが、そのような情報は不揮発性記憶装置のレジストリというフォルダに記憶される点で本発明の操作情報とは異なるものである。本発明の操作情報は、ページ位置やカーソルの位置などのようなアプリケーションが作成したファイルを保存しても保存されない情報も含むことができる。
図1は、文書作成ソフトウエアを使用して新規にファイルを作成し同期対象データを作成するときの様子を説明する図である。時刻t0でユーザが文書作成ソフトウエアを実行すると、最初に無題Aというディフォルトのファイル名が当該ソフトウエアにより付与されてメイン・メモリ上にファイルを作成する作業領域が確保される。HDDには、無題Aという名称のファイルを格納するスペースが確保される。ユーザは無題Aのファイルにデータを入力し、時刻t3で作業を終了するときにユーザ設定名というファイル名を付与してHDDに保存する。このときある種類の文書作成ソフトウエアは、バックアップのために定期的に作成中のデータを当該ソフトウエアが定めた仮のファイル名でHDDに保存する。
時刻t3の直前にメイン・メモリの電源を遮断すると、直前の時刻t1にHDDに保存されたデータを復元することはできる。また、他の種類の文書作成ソフトウエアは、時刻t3まで何ら自動的な保存作業をしないため、そのようなソフトウエアでは時刻t3の直前にメイン・メモリの電源を遮断したり、保存しないでプログラムを終了したりするとそれまで作成したデータは消失する。無題Aという名称のファイルは、そのファイル名でユーザまたはシステムが保存操作をしない限りHDDには保存されない。
ここで、このコンピュータの操作コンテキストを他のコンピュータにマイグレーションするために時刻t3より前の時刻である時刻t2で同期操作を行うときに、時刻t1と時刻t2の間に入力された実データはHDDに保存されていない。さらに、時刻t2の瞬間にメイン・メモリに存在する操作情報は保存する方法がない。したがって、同期のタイミングに存在する操作環境をマイグレーションさせるためには、時刻t2の操作コンテキストを取得する必要がある。
本発明においては、マイグレーションの対象に、操作コンテキスト以外のファイルやシステムの操作情報などのデータも含めることができる。システムの操作情報は、たとえば、デスクトップ画面の表示内容や各アプリケーションの画面構成などのようなレジストリに格納されたデータである。本明細書ではマイグレーションの対象が操作コンテキスト以外のデータを含む場合は同期データということにする。
[コンピュータ・システムの構成]
図2は、本実施の形態にかかるコンピュータ・システム10の主要なハードウエア構成を示す機能ブロック図である。コンピュータ・システム10は、バス27に接続されたCPU11、メイン・メモリ13、入力デバイス15、無線モジュール17、HDD19、液晶表示装置(LCD)21、BIOS_ROM23およびUSBポート25などを含んでいる。本実施の形態にかかるプログラムはHDD19に格納され、メイン・メモリ13にロードされてCPU11により実行される。入力デバイス15は、キーボードやマウスで構成され、ユーザがアプリケーションを実行してデータを入力するために使用される。
LCD21には、作業中のデータ、ページ位置、およびカーソル位置などが表示される。無線モジュール17は、コンピュータ10と他のコンピュータを同期させる際に操作コンテキストを無線通信ネットワークで転送するために使用することができる。USBポート25は、操作コンテキストをここに接続された可搬式のUSBメモリで転送するために使用することができる。なお、本実施の形態においてハードウエアの構成は周知であるため詳細な説明は省略する。
[ソフトウエアの構成]
図3は、本実施の形態にかかるソフトウエアの構成を説明する図である。図3には、本発明にかかる新規なソフトウエアである同期システム100と、その他の周知のソフトウエアおよびハードウエアを示している。アプリケーション51は、文書作成ソフトウエア、アプリケーション53は音声再生ソフトウエア、およびアプリケーション55はWebサイト閲覧ソフトウエアである。オペレーティング・システム(OS)57は、Windows(登録商標)、Linux(登録商標)またはMacOS(登録商標)などを採用することができる。OS57は、HDD19およびその他の記憶装置のファイルおよびディレクトリの作成、変更、移動、および削除の管理などを行うファイル・システム58を含む。
HDD19には、特に本発明との関連で記録媒体に操作コンテキスト格納部59、ユーザ・ファイル格納部61、および更新リスト格納部63というデータ記憶領域が定義されている。操作コンテキスト格納部59は、ユーザが直接アクセスする必要のない記憶領域で、同期システム100が作成したマイグレーションの対象となる操作コンテキストを格納する。ユーザ・ファイル格納部61は、各アプリケーション51、53、55が作成したファイルを格納する。更新リスト格納部63は、ユーザ・ファイル格納部61に格納されたファイルの中で、前回の同期から現在までの間に更新されたファイルのリストを格納する。
操作情報取得部101は、同期イベント生成部111から同期イベントを受け取ったときに、フォアグランドまたはバックグランドで動作しているアプリケーション51、53、55から操作情報を取得して、OS57を通じて操作コンテキスト格納部59に保存する。操作情報取得部101は保存した操作情報を同期データ処理部113に送る。操作情報は操作コンテキストの一部である。仮ファイル管理部103は、フィルタ・ドライバ107からアプリケーション51、53、55が新規にファイルを作成したり既存のファイルを更新したりしていることの通知を受け取ったときに、アプリケーション51、53、55にアクセスしてメイン・メモリ13にある実データが入力されたファイルのコピーを仮ファイルとして作成し、別のファイル名を付与して操作コンテキスト格納部59に保存する。仮ファイル管理部103は、以後メイン・メモリ13にファイルがある限り定期的に仮ファイルを更新する。仮ファイルは、操作コンテキストの一部である。
仮ファイル管理部103は、メイン・メモリ13上で新規に作成されているかまたは修正されているファイルのファイル名をアプリケーション51、53、55に問い合わせて、操作コンテキスト格納部59に格納する仮ファイルとメイン・メモリ上のファイルに両者を関連付けた識別子を付与する。識別子は、アプリケーションが同時に複数の異なるディフォルトのファイル名のファイルを作成したときは、それぞれのディフォルトのファイル名を識別できるように構成されている。識別子は、ファイルおよび仮ファイルのヘッダに設定することができる。仮ファイル管理部103は、識別子を操作情報取得部101と共用して操作コンテキスト格納部59に保存する。
仮ファイル管理部103は、同期イベント生成部111から同期イベントを受け取ったときに、アプリケーション51、53、55にアクセスして、次回の更新のタイミングがくる前に操作コンテキスト格納部59に保存されていた仮ファイルを更新する。仮ファイル管理部103は、同期イベントに応じて作成または更新した仮ファイルを同期データ処理部113に送る。操作情報取得部101および仮ファイル管理部103はアプリケーションにアクセスする際に、アプリケーション51に公開されたCOM(Component Object Model)に基づいたオートメーションと呼ばれるプログラミング・インターフェースを利用することができる。仮ファイル管理部103は、メイン・メモリ13上のファイルがユーザ・ファイル格納部61に保存されたときに、フィルタ・ドライバ107からその通知を受けて操作コンテキスト格納部59に保存されていた同一識別子の仮ファイルを削除する。仮ファイル管理部103は、同一の識別子を備える新しい仮ファイルが保存されたときに、操作コンテキスト格納部59から古い仮ファイルを削除することができる。
フィルタ・ドライバ107は、ファイル・システム58とアプリケーション51、53、55との間で交換されるAPI関数やデータを監視して、アプリケーション51、53、55が新規にメイン・メモリ13にファイルを作成したり、ユーザ・ファイル格納部61に保存されていたファイルをロードしたりしたことを検知すると、仮ファイル管理部103、ファイル切替部109または更新ファイル管理部115に通知する。ファイル切替部109は、同期データ処理部113から受け取った仮ファイルの識別子と同一の識別子のファイルがアプリケーション51、53、55によりロードされようとしていることの通知をフィルタ・ドライバ107から受け取ったときに、当該ファイルに代えて仮ファイルを含む操作コンテキストをフィルタ・ドライバ107経由でアプリケーション51、53、55に渡す。ファイル切替部109は、同期データ処理部から受け取った仮ファイルの識別子から、操作コンテキストがディフォルトのファイル名が付与されたファイルに関連する仮ファイルを含むと判断した場合は、当該仮ファイルを作成したアプリケーションに対応するアプリケーションが実行されてディフォルトのファイル名のファイルがメイン・メモリに作成されたときに、当該仮ファイルを含む操作コンテキストをフィルタ・ドライバ107経由でアプリケーションに渡す。
同期イベント生成部111は、入力デバイス15を通じてユーザが行った同期操作に応じて生成した同期イベントを、操作情報取得部101、仮ファイル管理部103および同期データ処理部113に送る。ユーザ・インターフェース部105は、ユーザに同期に関連する情報を提供するためにLCD21に画面を表示する。ユーザ・インターフェース部105は、同期データ処理部113がネットワーク65またはUSBメモリ67を通じて他のコンピュータから同期データを受け取ったときにLCD21に画面を表示してユーザに知らせる。同期データ処理部113は、同期イベントが生成されたときに操作情報取得部101から操作情報を受け取り、仮ファイル管理部103から仮ファイルを受け取ってそれらをネットワーク65またはUSBメモリ67を通じて他のコンピュータに転送する。同期データ処理部113は他のコンピュータから操作コンテキストを受信したときに、ユーザ・インターフェース部105、仮ファイル管理部103、およびファイル切替部109に識別子を通知し、さらに操作コンテキストを操作コンテキスト格納部59に保存する。
同期データ処理部113は他のコンピュータから、当該他のコンピュータで保存されたファイルを同期データとして受け取ったときには、ユーザ・インターフェース105、仮ファイル管理部103、およびファイル切替部109に識別子を通知し、さらにファイルをユーザ・ファイル格納部61に保存する。同期データ処理部113は、他のコンピュータから同期データとして転送されたファイルがユーザ・ファイル格納部61に保存されたとき、操作コンテキスト格納部59を検索してみつけた同一識別子の仮ファイルを削除する。同期データ処理部113は、他のコンピュータから受信した操作コンテキストがフォアグランドで動作していたアプリケーションに関するものであると判断したときに、対応するアプリケーションを自動的に実行する。
更新ファイル管理部115は、フィルタ・ドライバ107から、ユーザ・ファイル格納部61に保存されたファイルが前回の同期以降に更新されたことの通知を受けたときに、更新リスト格納部63のファイル・リストを更新する。同期システム100の各要素は、HDD19に格納されたプログラムがメイン・メモリ上にロードされ、CPU11で実行されたときにコンピュータ11で実現される。また、各要素は独立したプログラム・モジュールで構成してもよいし、複数の要素を1つのプログラム・モジュールとして統合してもよい。
[新規なデータを作成している間の同期]
図4、図5は、アプリケーションを実行して新規なデータを作成している間にPC1からPC2にアプリケーションの操作環境を移行する手順を示すフローチャートである。図6は、図4、図5の手順におけるファイルの状態を示した図である。ここにPC1とPC2はいずれも図2および図3に示したハードウエアおよびソフトウエアの構成を備えており、同一のまたは互換性のあるバージョンのアプリケーションが導入されている。ユーザはアプリケーションを実行して、アプリケーションにより付与されたディフォルトのファイル名のファイルに実データを入力しているときに、HDD19に作成中のファイルを保存する前にPC2で同一の操作環境を再現してファイルの作成を継続させることを意図している。
ブロック201では、PC1でユーザがアプリケーション51のアイコンをクリックして新規に文書を作成する作業を開始する。アプリケーション51は、当該作業に対してディフォルトとして用意している無題A(Null)というファイル名を自動的に割り当てて、メイン・メモリ13にデータを作成する作業領域を確保する。なお、図6において(Null)という記載は、ファイル名の一部としての表示ではなく当該ファイルに実データが存在しないことを示しており、(501)、(503)といった記載は当該ファイルの実データの状態を示している。たとえば、無題(501)のファイルと無題(503)のファイルはファイル名が同一で実データが異なり、無題A(503)のファイルと仮題名A(503)のファイルはファイル名が異なり実データが同じであることを意味している。
アプリケーション51はHDD19のユーザ・ファイル格納部61に、無題A(Null)というファイル名でデータを格納するための領域を確保する。ブロック203でユーザは、入力デバイス15を通じてメイン・メモリ13に確保された無題Aというファイル名のファイルにデータの入力を開始する。フィルタ・ドライバ107から、アプリケーション51が実行されたことの通知を受け取った仮ファイル管理部103は、ブロック203でアプリケーション51に問い合わせてアプリケーション51が無題Aという名称のファイルを作成したことを認識すると、無題Aのファイルに対応する識別子を付与した仮題名Aという仮ファイルを作成して、操作コンテキスト格納部59に保存する。識別子は、仮ファイルのヘッダに設定される。仮ファイルはユーザが認識する必要のないデータであるため、ユーザからみえないように保存してもよい。
ユーザ・ファイル格納部61に保存された無題A(Null)のファイルは、アプリケーション51が無題Aというファイル名でメイン・メモリ13上のデータに対する保存動作をしない限り空(Null)の状態である。また、操作コンテキスト格納部59に保存された仮ファイルは、メイン・メモリ13上の無題Aのファイルが同一または別のファイル名でユーザ・ファイル格納部61に保存されたときに、フィルタ・ドライバ107からその通知を受けた仮ファイル管理部103が自動的に削除する。
アプリケーション51は、ユーザが実データを入力している間に自動的にバックグランドでバックアップ・データを作成してよいが、仮ファイルはそのようなバックアップ・データとは別に作成される。無題Aのファイルがメイン・メモリ13上に存在する間、仮ファイル管理部103はアプリケーション51が実行されているメイン・メモリ13に定期的にアクセスして操作コンテキスト格納部59の仮ファイルを更新し図6に示すように仮題名A(500)という仮ファイルを保存する。ユーザは作成中のデータが仮ファイルとして定期的に保存されていることを認識しない状態で実データを入力し無題A(501)というファイルを作成している。仮題名A(500)のファイルは無題A(501)のファイルよりも遅れて作成されるため若干実データの内容が異なっている。
ブロック205では、ユーザはPC1でアプリケーション51を実行してその時点で作成していたメイン・メモリ13上の無題A(503)のファイルの作成に関する操作環境をPC2で再現してファイルの作成を行うために、入力デバイス15からPC1に対して同期の指示をする。同期の指示を受け取った同期イベント生成部111は同期イベントを生成し、操作情報取得部101、仮ファイル管理部103および同期データ処理部113に送る。
ブロック207では、同期イベントを受け取った操作情報取得部101はアプリケーション51にアクセスして、その時点でメイン・メモリ13に存在する操作状態に関する操作コンテキストを取得し、操作コンテキスト格納部59に保存してから同期データ処理部113に送る。また、同期イベントを受け取った仮ファイル管理部103はアプリケーション51にアクセスして、定期的に行っている次回の仮ファイルを更新するタイミングを待たないで、現在のメイン・メモリ13の無題A(503)のファイルを仮題名A(503)の仮ファイルとして操作コンテキスト格納部59に保存してから同期データ処理部113に送る。仮ファイル管理部103は、クリップボードの実データも操作コンテキスト格納部59に保存してから同期データ処理部113に送る。
仮ファイルは定期的に操作コンテキスト格納部59に格納されているので、仮題名A(503)の仮ファイルを作成する際に、仮ファイル管理部103は前回の更新と今回の更新の差分だけを更新すればよく短時間で仮ファイルの保存作業を終了することができるので、アプリケーションが多くなっても短時間で作業を終了することができる。同期イベントに基づく操作コンテキストの作成のための時間が問題にならない場合は、仮ファイルを定期的に更新する必要はなく、仮ファイル管理部103は同期イベントを受け取った時点でファイル全体に対する仮ファイルを作成するようにしてもよい。また、操作情報および操作コンテキストは、操作コンテキスト格納部59に保存しないでメイン・メモリ13に存在する状態で同期データ処理部113が受け取るようにしてもよい。
ブロック209では、操作コンテキストを受け取った同期データ処理部113は、無線モジュール17による無線のネットワークまたは図2に示していない有線のネットワークでPC1とPC2が通信可能な状態になっているか否かを判断する。通信が可能であれば、ブロック207で受け取った仮題名A(503)の仮ファイルと操作情報からなる操作コンテキストを、ネットワーク65を通じてPC2に転送する。同期データ処理部113がネットワークの通信ができないと判断した場合は、ブロック211に移行する。なお、本発明においては、マイグレーションの対象となるデータは後に説明するように保存されたファイルも含むので、操作コンテキストと保存されたファイルを含めて同期対象データということにする。
ブロック211では、同期データ処理部113は、今回の同期操作で作成された操作コンテキストを示すデータ構造体をキューに登録する。ブロック213では、同期データ処理部113は、キューに送信待ちの操作コンテキストが保存されていることをユーザ・インターフェース部105に通知する。ユーザ・インターフェース部105は、LCD21にプロンプト画面を表示して、キューに同期データが存在するのでPC1とPC2のネットワーク通信を確立したり、USBポート25にUSBメモリ67を挿入したりすることをユーザに促す。ブロック214では、ネットワーク65またはUSBメモリ67によりPC1からPC2への通信が確立され、ブロック215で操作コンテキストが送信される。図4に示した手順は各アプリケーション51、53、55について実行され、1回の同期のタイミングでそれぞれのアプリケーション51、53、55から作成された操作コンテキストが一括してPC2に送信される。
図7は操作コンテキスト格納部59に一回の同期操作で保存される操作コンテキストのデータ構造体150の一例を示す。データ構造体150には、各アプリケーションについて操作コンテキストと操作コンテキストのメタ情報で構成されている。アプリケーション51については、仮題名Aの仮ファイルとクリップボードのデータが実データとして保存されている。また、同期時のページ位置、カーソル位置、およびフォアグランドか否かの情報が操作情報として保存されている。アプリケーション53については、仮題名B−1と仮題名B−2の2つの仮ファイルが実データとして保存されている。また、同期時に再生していた曲名と再生位置を示す情報が操作情報として保存されている。アプリケーション53については、仮題名Cの仮ファイルが実データとして保存されている。また同期時に参照していたサイトのURLとブラウザの画面を構成するタグ情報が操作情報として保存されている。そして、アプリケーションにより付与されたディフォルトのファイル名に対応する識別子と操作コンテキストの作成時刻からなる操作コンテキストのメタ情報が保存されている。なお、以下の説明においては、特に言及しない限り操作コンテキストと表現したときにはメタ情報も含んでいるものとする。
つぎに、転送された操作コンテキストを受け取ったPC2で、PC1の操作環境を再現して作業を継続する手順を図5のフローチャートで説明する。PC2では、アプリケーション51は終了しているものとする。ブロック251ではネットワーク65またはUSBメモリ67によりPC2が操作コンテキストを受信すると、PC2の同期システム100が動作して以後の手順を行う。同期データ処理部113は、ネットワーク65を通じて操作コンテキストを受信したことを検出すると、ユーザ・インターフェース部105、仮ファイル管理部103およびファイル切替部109に仮ファイルの識別子を通知しさらに受信した操作コンテキストを操作コンテキスト格納部59に保存する。ユーザ・インターフェース部105は、ブロック253でLCD21に操作コンテキストを受け取ったことおよび同期の対象となるアプリケーションの名称を表示してユーザに通知する。
USBポート25にUSBメモリ67が挿入されたときには、同期データ処理部113は同様にユーザ・インターフェース部105に通知する。ユーザ・インターフェース部105は、LCD21に操作コンテキストを受け取ったことおよび同期の対象となるアプリケーションの名称を表示してユーザに操作コンテキストを保存するように通知する。ユーザが保存操作を行うと、操作コンテキストは操作コンテキスト格納部59に保存される。
操作コンテキストをネットワーク65経由で受信したときは、ブロック255で同期データ処理部113は、操作情報を検索してPC1において同期のタイミングのときにフォアグランドで表示されていたウインドウを保有するアプリケーションを検出し、OS57を通じて自動的に実行する。操作コンテキストをネットワーク65経由で受信したときに、PC1において同期のタイミングのときにバックグランドで表示されていたウインドウを保有するアプリケーションと、操作コンテキストをUSBメモリ67経由で受信したときのすべてのアプリケーションはPC2を操作するユーザが手動で実行する。
ブロック255では、アプリケーション51が自動または手動で実行されるものとする。アプリケーション51は、当該作業に対してディフォルトとして用意している無題Aというファイル名を自動的に割り当てて、メイン・メモリ13にデータを作成する作業領域を確保する。アプリケーション51はHDD19のユーザ・ファイル格納部61に、無題A(Null)というファイル名でデータを格納するための領域を確保する。
このときアプリケーション51が実行されたことの通知をフィルタ・ドライバ107から受け取ったファイル切替部109は、PC1から受け取った操作コンテキストを操作コンテキスト格納部59から読み出してフィルタ・ドライバ107経由でアプリケーション51の作業領域にロードする。アプリケーション51は、仮題名A(503)の仮ファイルの実データが無題Aのファイルに入力された状態となり、当該無題Aのファイルに対して操作コンテキストに含まれる操作情報を設定する。ファイル切替部109はPC2で実行されたアプリケーション51が付与したディフォルトのファイル名が、PC1から受信した操作コンテキストに含まれるディフォルトのファイル名に一致しない場合は、仮ファイルの識別子に基づいて一致させるようにアプリケーション51に設定する。PC2では、同期のタイミングでアプリケーション51が作成していたファイルの実データとページ位置およびカーソル位置などの操作状態が再現される。
ブロック257では、ユーザがPC2で無題A(503)のファイルのデータ作成を開始して無題A(505)というファイルを作成する。仮ファイル管理部103は仮題名A(504)という仮ファイルを作成して操作コンテキスト格納部59に保存している。仮ファイル管理部103は、仮題名(504)という新しい仮ファイルを保存したときに同一識別子の仮題名A(503)という古い仮ファイルを操作コンテキスト格納部59から削除することができる。ユーザはPC2で作業が終了すると、ブロック257で無題A(507)のファイルに自らが題名A(507)というファイル名を付与してユーザ・ファイル格納部61に保存する。
題名A(507)のファイルのヘッダには、PC1の仮ファイル管理部103により仮題名A(503)のファイルに付与された識別子と同じ識別子が付与される。アプリケーション51が題名A(507)のファイルを保存したことの通知をフィルタ・ドライバ107から受け取った仮ファイル管理部103は、操作コンテキスト格納部59に保存した仮題名A(504)の仮ファイルは最新のファイルが別名で保存されて不要になったため削除する。また、仮ファイル管理部103は、ユーザ・ファイル格納部61に保存されていた無題A(Null)のファイルを削除する。
ブロック259では、ユーザがPC2のユーザ・ファイル格納部61に保存した題名A(507)というファイルをPC1にマイグレーションするために同期操作を行う。同期イベント生成部101から同期イベントを受け取った同期データ処理部113は、ブロック261で更新リスト格納部63を参照して各アプリケーション51、53、55が前回の同期から今回の同期までの間に更新してユーザ・ファイル格納部61に保存したファイルが存在するか否かを判断する。更新されたファイルが存在する場合はブロック267に移行する。更新されたファイルが存在しない場合は、ブロック263に移行して同期データ処理部113は、操作情報取得部101および仮ファイル管理部103からブロック207の手順に基づいて操作コンテキストを受け取っているか否かを判断する。
操作コンテキストを受け取っていないときは、ブロック265に移行して同期データ処理部113は、同期対象データが存在しない旨をユーザ・インターフェース105に通知する。ユーザ・インターフェース105は、LCD21に同期操作に対する同期対象データがないことを示す画面を表示する。操作コンテキストを受け取っているときは、ブロック267に移行する。ブロック267では、同期データ処理部113が、更新されてユーザ・ファイル格納部61保存されたファイルおよび操作コンテキスト格納部59に保存された操作コンテキストまたはそのいずれか一方をネットワーク65またはUSBメモリ67を通じてPC1に送信する。
ここでは、マイグレーションの対象になる操作コンテキストは存在せず、同期対象データとしてユーザ・ファイル格納部61に保存された題名A(507)のファイルだけが送信されることにする。ブロック271の作業は再びPC1で行われる。ブロック271では、同期対象データを受け取ったPC1の同期データ処理部113は、ユーザ・インターフェース105、仮ファイル管理部103、およびファイル切替部109に同期データの受信を通知するとともに題名A(507)のファイルからなる同期対象データを操作コンテキスト格納部59ではなくユーザ・ファイル格納部61に保存する。
同期データ処理部113は、操作コンテキスト格納部59を検索して、題名A(507)のファイルと同一の識別子で関連付けられた仮題名A(503)の仮ファイルが存在することを確認すると関連する操作情報も含めてそれを削除する。さらに同期データ処理部113は、ユーザ・ファイル格納部61に保存されていた無題A(Null)のファイルを削除する。したがって、PC1とPC2の間で同期を複数回繰り返しても新しいファイルがユーザ・ファイル格納部61に保存されたときに不要になった仮ファイルや無題(Null)のファイルを削除することができる。
[同期後に修正したファイルの同期]
図8、図9は、PC1とPC2との間で同期させたファイルをPC1で修正してから保存する前に、PC2にアプリケーションの操作環境を移行する手順を示すフローチャートである。図10は、図8、図9の手順におけるファイルの状態を示した図である。PC1とPC2は、同一の識別子を備えファイル名が題名A(601)のファイルをそれぞれのユーザ・ファイル格納部61に保存している。ユーザはPC1で題名A(601)のファイルを修正して保存する前にPC2に操作環境を移行し、PC2でさらに修正した後に保存することを意図している。
ブロック301では、PC1でユーザがアプリケーション51を実行して題名A(601)のファイルをメイン・メモリ13にロードする。ブロック303でユーザは、題名A(601)のファイルを修正して題名A(603)のファイルを作成する。フィルタ・ドライバ107からアプリケーション51が題名Aのファイルをロードしたことの通知を受け取った仮ファイル管理部103は、メイン・メモリ13にロードされている題名Aのファイルと同じ識別子を付与したファイル名が仮題名Aの仮ファイルを作成して操作コンテキスト格納部59に保存する。仮ファイルは、仮ファイル管理部103により定期的に更新され、図10では仮題名A(602)の仮ファイルが保存されている。
ブロック307では、ユーザが入力デバイス15からPC1に同期の指示をする。同期の指示を受け取った同期イベント生成部111は同期イベントを生成し、操作情報取得部101、仮ファイル管理部103および同期データ処理部113に送る。そしてブロック309では、図4のブロック205〜215と同じ手順で操作コンテキスト格納部59に保存された操作コンテキストがPC2に送信される。
つぎに、操作コンテキストを受け取ったPC2で、PC1の操作状態を再現する手順を図9のフローチャートで説明する。以後の手順は、PC2の同期システム100が実行する。ブロック351ではPC2が操作コンテキストを受信すると、図5のブロック251と同様の手順を実行して、同期データ処理部113はユーザ・インターフェース部105、仮ファイル管理部103およびファイル切替部109に仮ファイルの識別子を通知し受信した操作コンテキストを操作コンテキスト格納部59に保存する。ブロック353でユーザ・インターフェース部105は、LCD21に操作コンテキストを受け取ったことおよび同期の対象となるアプリケーションの名称を示す画面表示してユーザに通知する。
ブロック355では、受信した操作コンテキストの仮ファイルに関連するアプリケーションが現在同一の識別子を備えるファイルをメイン・メモリ13にロードして実行しているか否かをフィルタ・ドライバ107に問い合わせる。実行している仮ファイルについてはブロック357に移行して処理する。実行していない仮ファイルについてはブロック361に移行して処理する。ブロック357では、操作コンテキストに含まれる仮ファイルと同一の識別子を備える題名Aのファイルがアプリケーション51によりメイン・メモリ13にロードされていることを同期データ処理部113はユーザ・インターフェース105に通知する。
通知を受け取ったユーザ・インターフェース105は、現在修正している題名Aのファイルよりも実データが新しい仮題名A(605)の仮ファイルが同期対象データとして到着しているため、修正中の題名Aのファイルを一旦閉じて再度題名AのファイルをロードするようにLCD21に表示する。このとき、ユーザは閉じる前に修正中の題名Aのファイルをユーザ・ファイル格納部61に保存しても保存しなくてもよい。ユーザは、ブロック359で修正中の題名Aのファイルを閉じてブロック361に移行する。
ブロック361では、ユーザがアプリケーション51を実行してメイン・メモリ13に当初からPC2のユーザ・ファイル格納部61に保存されていた題名A(601)のファイルまたはブロック359でアプリケーション51を終了する前に保存された題名A(**)のファイルのロードを行う。ファイル・システム58とアプリケーション51との間の通信を監視しているフィルタ・ドライバ107から、同期データ処理部113から受け取った識別子のファイルをアプリケーション51がロードしようとしていることの通知を受け取ったファイル切替部109は、ユーザ・ファイル格納部61に保存されていた題名A(601)または題名A(**)のファイルに代えて、操作コンテキスト格納部59に保存された同一識別子の仮題名A(605)の仮ファイルと操作情報からなる操作コンテキストを、フィルタ・ドライバ107を経由してアプリケーション51に渡す。
操作コンテキストは、メイン・メモリ13に形成されたアプリケーション51の作業領域にロードされる。アプリケーション51は、ユーザ・ファイル格納部61に保存した題名Aのファイルにアクセスしたのであるが、実際にはPC1で作成された操作コンテキストの仮ファイルを開くことになる。そして、アプリケーション51は、題名AのファイルにPC1における同期のタイミングで取得された実データと操作状態を設定する。その結果、PC1で同期イベントが生成されるタイミングにおいてアプリケーション51で作成されていた実データが、PC2で題名A(605)のファイルとしてメイン・メモリ13にロードされ、さらにカーソルの位置および作成中のページもPC1と同じになるようにPC2のLCD21に表示される。
ブロック363では、ユーザが題名A(605)というファイルの修正を開始して題名A(607)のファイルを作成すると、仮ファイル管理部103は仮題名A(606)という仮ファイルを作成して操作コンテキスト格納部59に保存する。仮ファイル管理部103は仮ファイルを定期的に更新する。仮ファイル管理部103は、仮題名A(606)の仮ファイルを作成したときに、PC1から転送された操作コンテキストを操作コンテキスト格納部59から削除することができる。ユーザはPC2で修正作業が終了すると、題名A(607)のファイルをPC2のユーザ・ファイル格納部61に保存する。このとき題名A(607)のファイルは、当初からPC2のユーザ・ファイル格納部61に保存されていた題名A(601)のファイルまたは途中まで更新された題名A(**)のファイルに上書きされる。
ブロック365では、ユーザがユーザ・ファイル格納部61に保存された題名A(607)のファイルをPC1に転送するため同期操作を行う。ブロック367では図5のブロック261〜267の手順に基づいて同期データ処理部113が同期対象データをPC1に送信する。以後の手順は、PC1の同期システム100で実行される。ブロック369ではPC1の同期データ処理部113は、同期対象データのうち操作コンテキストがあれば操作コンテキスト格納部59に保存し、PC2で保存されていた題名A(607)のファイルがあればユーザ・ファイル格納部61に保存する。同期データ処理部113は、保存する前にユーザ・ファイル格納部61に同一名称の題名Aのファイルがあることを検出すると、ユーザ・インターフェース105に通知する。
ユーザ・インターフェース105は更新された題名A(607)のファイルで題名A(601)のファイルを上書きしてよいか否かを問い合わせる画面をLCD21に表示する。ユーザが上書きに同意すると、題名A(601)のファイルは題名A(607)のファイルに置き換わる。同期データ処理部113は、操作コンテキスト格納部59を検索して、題名A(607)のファイルと同一の識別子を備える仮題名A(605)の仮ファイルが存在することを確認すると関連する操作情報も含めてそれを削除する。
図5のブロック255では、操作コンテキストを受信したときにアプリケーション51は実行されていないことを前提にして説明したが、アプリケーション51が実行されている間にPC2が操作コンテキストを受信したときは、図9のブロック355〜359の手順に従って、ユーザに一旦アプリケーション51を終了して再実行するように通知することができる。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
10…コンピュータ
100…同期システム
150…操作コンテキストのデータ構造体

Claims (13)

  1. 第1のコンピュータが実行している第1のアプリケーション・プログラムの操作環境を第2のコンピュータが実行する第2のアプリケーション・プログラムに移行する方法であって、
    前記第1のコンピュータが前記第1のアプリケーション・プログラムを実行してメイン・メモリ上にディフォルトのファイル名を付与したファイルを作成するための作業領域を形成するステップと、
    前記第1のコンピュータが前記ファイルを不揮発性記憶装置に保存する前に操作環境を同期させるための指示を受け取るステップと、
    前記指示を受け取るステップに応答して前記メイン・メモリ上に存在し前記不揮発性記憶装置に保存する前の前記ファイルに関連する操作コンテキストを前記第1のコンピュータから前記第2のコンピュータに転送するステップと、
    前記第2のコンピュータが前記操作コンテキストを受信するステップと、
    前記第2のコンピュータが前記第2のアプリケーション・プログラムを実行してメイン・メモリ上にディフォルトのファイル名を付与したファイルを作成するための作業領域を形成するステップと、
    前記形成するステップに応答して前記第2のコンピュータが前記受信した操作コンテキストを前記作業領域にロードするステップと、
    前記第2のアプリケーション・プログラムが付与したディフォルトのファイル名を前記第1のアプリケーション・プログラムが付与したディフォルトのファイル名に一致させるステップと
    を有する方法。
  2. 前記操作コンテキストが、前記第1のアプリケーション・プログラムを実行して作成されたデータを含む請求項1に記載の方法。
  3. 前記転送するステップが、前記メイン・メモリ上で作成されたデータを前記ディフォルトのファイル名とは異なるファイル名の仮ファイルとして定期的に前記第1のコンピュータの前記不揮発性記憶装置に保存するステップを含む請求項1または請求項2に記載の方法。
  4. 前記操作コンテキストが、作成中のページ位置、カーソル位置、曲名、音声の再生位置、動画の再生位置およびWebサイトのURLからなるグループから選択された1または複数の要素で構成された操作情報を含む請求項1から請求項3のいずれに記載の方法。
  5. 前記第2のアプリケーション・プログラムは、前記操作コンテキストに含まれる操作情報を前記メイン・メモリ上の前記ファイルに設定する請求項4に記載の方法。
  6. 前記受信するステップに応答して、すでに前記第2のアプリケーション・プログラムが実行されているときは前記第2のアプリケーション・プログラムを終了してから再実行する旨の表示を前記第2のコンピュータに行うステップを有する請求項1から請求項のいずれかに記載の方法。
  7. 前記転送するステップが、可搬式記録媒体を通じて前記操作コンテキストを転送するステップを含む請求項1から請求項のいずれかに記載の方法。
  8. 第1のファイルを保存する第1のコンピュータが実行する第1のアプリケーション・プログラムの操作環境を前記第1のファイルに同期した第2のファイルを保存する第2のコンピュータが実行する第2のアプリケーション・プログラムに移行する方法であって、
    前記第1のコンピュータが前記第1のアプリケーション・プログラムを実行して前記第1のファイルを修正するステップと、
    前記第1のコンピュータが前記第1のファイルを不揮発性記憶装置に保存する前に操作環境を同期させるための指示を受け取るステップと、
    前記指示を受け取るステップに応答して前記メイン・メモリ上に存在し前記不揮発性記憶装置に保存する前の前記第1のファイルに関連する操作コンテキストを前記第1のコンピュータから前記第2のコンピュータに転送するステップと、
    前記第2のコンピュータが前記操作コンテキストを受信するステップと、
    前記第2のコンピュータが前記第2のアプリケーション・プログラムを実行して前記第2のファイルのロードを開始するステップと、
    前記ロードを開始するステップに応答して前記第2のコンピュータが前記第2のアプリケーション・プログラムの作業領域に前記第2のファイルに代えて前記操作コンテキストをロードするステップと
    を有する方法。
  9. 前記受信するステップに応答して、前記第2のアプリケーション・プログラムが実行されているか否かを判断するステップと、
    実行されている場合に、前記第2のアプリケーション・プログラムを終了してから再実行する旨の表示を前記第2のコンピュータに行うステップを有する請求項に記載の方法。
  10. 第1のコンピュータとデータ交換が可能な第2のコンピュータに、
    前記第1のコンピュータが第1のアプリケーション・プログラムを実行してメイン・メモリ上にディフォルトのファイル名を付与して作成したファイルを前記不揮発性記憶装置に保存する前に取得した前記ファイルに関連する操作コンテキストを前記第1のコンピュータから受信するステップと、
    第2のアプリケーション・プログラムを実行してメイン・メモリ上にディフォルトのファイル名を付与したファイルを作成するための作業領域を形成するステップと、
    前記形成するステップに応答して前記受信した操作コンテキストを前記作業領域にロードするステップと、
    前記第2のアプリケーション・プログラムが付与したディフォルトのファイル名を前記第1のアプリケーション・プログラムが付与したディフォルトのファイル名に一致させるステップと
    を有する処理を実行させるコンピュータ・プログラム。
  11. 第1のファイルを保存する第1のコンピュータとデータ交換が可能で前記第1のファイルと同期した第2のファイルを保存している第2のコンピュータに、
    前記第1のコンピュータが第1のアプリケーション・プログラムを実行して修正したメイン・メモリ上に存在する前記第1のファイルを不揮発性記憶装置に保存する前に取得した前記第1のファイルに関連する操作コンテキストを前記第1のコンピュータから受信するステップと、
    前記第2のアプリケーション・プログラムを実行して前記第2のファイルのロードを開始するステップと、
    前記ロードを開始するステップに応答して前記第2のアプリケーション・プログラムの前記メイン・メモリ上の作業領域に前記第2のファイルに代えて前記操作コンテキストをロードするステップと
    を有する処理を実行させるコンピュータ・プログラム。
  12. 他のコンピュータとデータ交換が可能なコンピュータであって、
    不揮発性記憶装置と、
    メイン・メモリと、
    前記メイン・メモリにディフォルトのファイル名を付与したファイルを作成するための作業領域を形成する機能を前記コンピュータに実現させるアプリケーション・プログラムと、
    前記作業領域にデータを入力する入力手段と、
    前記他のコンピュータにおいてアプリケーション・プログラムの操作環境を同期させる指示を受け取ったときに前記他のコンピュータのメイン・メモリ上に存在し不揮発性記憶装置に保存する前のファイルに関連する操作コンテキストを前記他のコンピュータから受信する受信手段と、
    前記アプリケーション・プログラムが実行されたときに前記受信した操作コンテキストを前記アプリケーション・プログラムの作業領域にロードするファイル切替手段と、
    前記ディフォルトのファイル名を前記受信した操作コンテキストが示すファイル名に一致させるファイル名処理手段と
    を有するコンピュータ。
  13. 他のコンピュータが保存するファイルに同期したファイルを保存し前記他のコンピュータとデータ交換が可能なコンピュータであって、
    不揮発性記憶装置と、
    メイン・メモリと、
    前記メイン・メモリ上に作業領域を形成して前記ファイルを修正する機能を前記コンピュータに実現させるアプリケーション・プログラムと、
    前記ファイルを修正するデータを入力する入力手段と、
    前記他のコンピュータにおいてアプリケーション・プログラムの操作環境を同期させる指示を受け取ったときに前記他のコンピュータのメイン・メモリ上に存在し不揮発性記憶装置に保存する前のファイルに関連する操作コンテキストを前記他のコンピュータから受信する受信手段と、
    前記アプリケーション・プログラムを実行したときに前記作業領域に前記ファイルに代えて前記受信した操作コンテキストをロードするファイル切替手段と
    を有するコンピュータ。
JP2009260526A 2009-11-14 2009-11-14 アプリケーション・プログラムの操作環境を同期させる方法 Active JP5313108B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009260526A JP5313108B2 (ja) 2009-11-14 2009-11-14 アプリケーション・プログラムの操作環境を同期させる方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009260526A JP5313108B2 (ja) 2009-11-14 2009-11-14 アプリケーション・プログラムの操作環境を同期させる方法

Publications (2)

Publication Number Publication Date
JP2011107853A JP2011107853A (ja) 2011-06-02
JP5313108B2 true JP5313108B2 (ja) 2013-10-09

Family

ID=44231269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009260526A Active JP5313108B2 (ja) 2009-11-14 2009-11-14 アプリケーション・プログラムの操作環境を同期させる方法

Country Status (1)

Country Link
JP (1) JP5313108B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5975113B2 (ja) * 2012-12-17 2016-08-23 富士通株式会社 情報処理装置、作業環境連携方法、及び作業環境連携プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09230955A (ja) * 1996-02-21 1997-09-05 Canon Inc 情報処理方法とその装置

Also Published As

Publication number Publication date
JP2011107853A (ja) 2011-06-02

Similar Documents

Publication Publication Date Title
CN109117425B (zh) 用于数字资产同步的方法、系统和介质
KR101138491B1 (ko) 동기화 방법 및 시스템
US9417889B2 (en) Fast provisioning of a centralized virtual desktop using linked clones with overlaid centralized virtual desktop layers
US7620667B2 (en) Transfer of user profiles using portable storage devices
CN109564529B (zh) 基于符号链接的占位符
US20100115254A1 (en) Synchronization in Multiple Environments
US20120059793A1 (en) Method of bi-directional synchronization of user data
KR101212858B1 (ko) 동기화 방법 및 시스템
KR20040028036A (ko) 다종 단말에서 동기화된 개인 환경 구축 방법
KR20110128846A (ko) 장치와 웹 서비스 간에 브라우저 캐시를 동기화하는 프로그래밍 모델
JP2006099557A (ja) 計算機システム
US9280423B1 (en) Mounting block level backup images
JP2011165032A (ja) コンピュータプログラム及びデータバックアップ方法
EP3467681A1 (en) Data migration method and device
WO2013027248A1 (ja) アプリケーション同期方法及びプログラム
US20100017863A1 (en) Portable storage apparatus for providing working environment migration service and method thereof
US9135116B1 (en) Cloud enabled filesystems provided by an agent which interfaces with a file system on a data source device
JP5345998B2 (ja) コンピュータ・システムの制御方法およびコンピュータ
JP5313108B2 (ja) アプリケーション・プログラムの操作環境を同期させる方法
US10061653B1 (en) Method to expose files on top of a virtual volume
JP5525740B2 (ja) 仮想アプライアンスサーバ管理方法及びシステム
JP4249387B2 (ja) デスクトップ・コンピュータおよび多数のモバイル・デバイス間における双方向処理システムおよび方法
JP2015041179A (ja) デバイス装置、制御方法およびコンピュータプログラム
EP2096545B1 (en) Method and apparatus for managing the copying of data
US8346787B1 (en) Method and apparatus for continuous data protection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130703

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5313108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250