端末およびサーバを有するシステムであって、前記端末は、アプリケーションを実行する第一の実行部と、前記アプリケーションの実行時に参照される固定リソースを参照するための変数を識別する識別情報を記憶する第一の記憶部と、前記第一の実行部により実行されたアプリケーションにおいて用いられる変数のうち、前記第一の記憶部に記憶された識別情報が示す変数に値を設定し、前記固定リソースを開放する第一の設定部と、前記アプリケーションを停止させ、前記アプリケーションの実行状態を抽出する抽出部と、前記実行状態を前記サーバに送信する送信部とを有し、前記サーバは、前記アプリケーションを実行する第二の実行部と、前記送信部により送信された前記実行状態を受信する受信部と、前記アプリケーションが参照する固定リソースを参照する変数を識別する識別情報を記憶する第二の記憶部と、前記第二の実行部により実行されたアプリケーションにおいて用いられる変数のうち、前記第二の記憶部に記憶された識別情報が示す変数の値を抽出し、前記受信部により受信された実行状態に基づいて生成されるインスタンスの対応する変数に前記抽出した値を設定する第二の設定部と、前記第二の設定部により設定されたインスタンスを再開することで、前記端末で停止されたアプリケーションを再開させる再開部とを有することを特徴とするシステム。前記第二の設定部は、固定リソースが参照する再設定変数に、前記再開部により再開されたアプリケーションの情報を設定することを特徴とする請求項1に記載のシステム。端末およびサーバを有するシステムが実行するマイグレーション方法であって、前記端末は、アプリケーションを実行し、前記第一の実行部により実行されたアプリケーションにおいて用いられる変数のうち、前記アプリケーションの実行時に参照される固定リソースを参照するための変数を識別する識別情報を記憶する第一の記憶部に記憶された識別情報が示す変数に値を設定し、前記固定リソースを開放し、前記アプリケーションを停止させ、前記アプリケーションの実行状態を抽出し、前記実行状態を前記サーバに送信し、前記サーバは、前記アプリケーションを実行し、送信された前記実行状態を受信し、前記第二の実行部により実行されたアプリケーションにおいて用いられる変数のうち、前記アプリケーションが参照する固定リソースを参照する変数を識別する識別情報を記憶する第二の記憶部に記憶された識別情報が示す変数の値を抽出し、前記受信部により受信された実行状態に基づいて生成されるインスタンスの対応する変数に前記抽出した値を設定し、設定されたインスタンスを再開することで、前記端末で停止されたアプリケーションを再開させることを特徴とするマイグレーション方法。しかしながら、上記の従来の技術では、固定リソースの再バインドが容易でないという問題がある。これを説明すると、従来技術では、マイグレート前後で、マイグレートする部分と、固定リソースの関係との切り張り処理が行われるように、アプリケーションを把握した上で、人がソースに記述を行う。また、従来技術では、GUI以外の固定リソースに関しても、再バインドする。そのため、固定リソースの再バインドに、人の労力や時間などがかかり、固定リソースの再バインドが容易でない。開示の技術は、上記に鑑みてなされたものであって、固定リソースの再バインドを容易にすることができるシステム、およびマイグレーション方法を提供することを目的とする。本願の開示するシステムは、端末およびサーバを有する。端末は、第一の実行部と、第一の記憶部と、第一の設定部と、抽出部と、送信部とを有する。第一の実行部は、アプリケーションを実行する。第一の記憶部は、アプリケーションの実行時に参照される固定リソースを参照するための変数を識別する識別情報を記憶する。第一の設定部は、第一の実行部により実行されたアプリケーションにおいて用いられる変数のうち、第一の記憶部に記憶された識別情報が示す変数に値を設定し、前記固定リソースを開放する。抽出部は、アプリケーションを停止させ、アプリケーションの実行状態を抽出する。送信部は、実行状態をクラウドサーバに送信する。サーバは、第二の実行部と、受信部と、第二の記憶部と、第二の設定部と、再開部とを有する。第二の実行部は、アプリケーションを実行する。受信部は、送信部により送信された実行状態を受信する。第二の記憶部は、アプリケーションが参照する固定リソースを参照する変数を識別する識別情報を記憶する。第二の設定部は、第二の実行部により実行されたアプリケーションにおいて用いられる変数のうち、第二の記憶部に記憶された識別情報が示す変数の値を抽出し、受信部により受信された実行状態に基づいて生成されるインスタンスの対応する変数に抽出した値を設定する。再開部は、第二の設定部により設定されたインスタンスを再開することで、端末で停止されたアプリケーションを再開させる。本願の開示するシステムおよびマイグレーション方法の一つの態様によれば、固定リソースの再バインドを容易にすることができる。以下に、本願の開示するシステムおよびマイグレーション方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。実施例1に係るシステムについて説明する。図1は、実施例1に係るクラウドシステムの構成の一例を示す図である。本実施例に係るクラウドシステム1は、端末10と、クラウドサーバ20とを有する。なお、図1の例では、クラウドシステム1に、端末10およびクラウドサーバ20が各々1台の場合が示されているが、端末10およびクラウドサーバ20の台数はこれに限られない。例えば、端末10およびクラウドサーバ20のそれぞれの台数は、複数台であってもよい。端末10は、スマートフォンなどの携帯電話や、PDAPersonalDigitalAssistants、またはPCPersonalComputerである。クラウドシステム1では、端末10とクラウドサーバ20とが連携し、端末10で実行中のアプリケーションの実行状態をマイグレートして、クラウドサーバ20でアプリケーションの続きを実行する。これにより、端末10が備えるバッテリの消費が抑制され、また、アプリケーションの処理速度が向上される。端末10で実行中のアプリケーションの実行状態をクラウドサーバ20にマイグレートし、クラウドサーバ20が続きからアプリケーションを実行し、クラウドサーバ20で実行されるアプリケーションの画面を端末10に転送して表示する場合を想定する。この場合には、表示される画面がシームレスになる。そのため、あたかも、端末10が、アプリケーションを高速に処理しているように見える。また、端末10およびクラウドサーバ20で実行されるアプリケーションの一例として、GUIを有するJavaアプリケーションが挙げられる。以下の説明では、端末10およびクラウドサーバ20で実行されるアプリケーションが、GUIを有するJavaアプリケーションである場合を例に挙げて説明する。ここで、GUIを備えるJavaアプリケーションをマイグレートする場合を想定する。GUIフレームワークでは、画面表示のためにnativeライブラリが使用される。GUIフレームワークでは、実行状態を抽出する場合に必要となる、メモリに記憶されたnativeライブラリの内容を、Javaからは取得できない。そのため、GUIを有するJavaアプリケーションのマイグレーションにおいて、GUIフレームワークは、実行状態をバイト列として出力できないので、他の装置に転送できない。このような場合に、マイグレートを実現するためには、シリアライズ可能な部分と、シリアライズ可能でない固定リソースの部分とを分離することが考えられる。例えば、シリアライズ可能な部分である計算処理の部分が、固定リソースに依存しない構造に変更することが考えられる。しかしながら、このような変更は、時間や労力などのコストがかかる。なお、GUI以外にも、固定リソースとしては、DBDataBase接続、ソケット接続、デバイスカメラ、GPSGlobalPositioningSystemなどが挙げられる。そこで、本実施例に係るクラウドシステム1が有する端末10およびクラウドサーバ20は、固定リソースの再バインドを容易にする。端末10は、入力部11と、出力部12と、通信部13と、記憶部14と、制御部15とを有する。入力部11は、各種情報を制御部15に入力する。例えば、入力部11は、ユーザから、マイグレーション要求を受け付け、マイグレーション要求を制御部15に入力する。入力部11のデバイスの一例としては、マウスやキーボードなどが挙げられる。出力部12は、各種情報を出力する。例えば、出力部12は、制御部15から画像が入力された場合には、画像を表示出力する。出力部12のデバイスの一例としては、CRTCathodeRayTubeや液晶ディスプレイなどが挙げられる。通信部13は、無線通信を行う。例えば、通信部13は、制御部15と、クラウドサーバ20との無線通信を行う。通信部13は、制御部15から情報が入力されると、入力された情報をクラウドサーバ20へ送信する。また、通信部13は、クラウドサーバ20から情報が入力されると、入力された情報を制御部15へ送信する。通信部13の一例としては、無線通信インタフェースが挙げられる。記憶部14は、固定リソースリスト14aと、インスタンス管理表14bとを記憶する。固定リソースリスト14aには、固定リソースを参照するための各メンバ変数のクラス名と変数名とが対応付けられて登録される。図2は、固定リソースリストの一例を示す図である。図2の例では、固定リソースリスト14aには、クラス名がCalcThreadのクラスと、メンバ変数名がbであるメンバ変数とが対応付けられて登録されている。また、図2の例では、固定リソースリスト14aには、クラス名がCalcThreadのクラスと、メンバ変数名がcであるメンバ変数とが対応付けられて登録されている。ここで、固定リソースリスト14aに登録されるクラス名およびメンバ変数名の抽出方法の一例について説明する。図3は、固定リソースリストに登録されるクラス名およびメンバ変数名の抽出方法の一例について説明するための図である。図3の例では、端末10およびクラウドサーバ20が模式的に示されている。図3の例では、開発者などは、アプリケーションの改変を行い、固定リソース判別ツールを使って、固定リソースリスト14aを生成する。開発者などは、固定リソース判別ツールを、マイグレート対象の計算処理スレッドクラスを指定して起動する。ここで、固定リソース判別ツールについて説明する。固定リソース判別ツールは、計算処理スレッドクラスに対してcheckpointを行い、シリアライズ時にExceptionが発生するメンバ変数、および計算処理スレッドクラスのクラス名を固定リソースリスト14aに登録するツールである。このようにして、固定リソースリスト14aおよび後述の固定リソースリスト24aのそれぞれに登録されるクラス名およびメンバ変数名を抽出する。また、後述のクラウドサーバ20の記憶部24に記憶される再設定変数リスト24bの生成方法の一例についても、図3を参照して説明する。クラウドシステム1の開発者などが、アプリケーションのソースを改変し、ユーザからのマイグレート要求を受け取った時の処理をソースに記述する。例えば、開発者などは、マイグレート対象とする計算処理スレッドを指定して、マイグレート用APIApplicationProgramInterfaceの呼び出しを行う。また、開発者などは、GUIから計算処理部を参照している場所を、計算処理部ラッパを使うように変更する。また、開発者などは、このラッパ内で、計算処理部を参照する変数を、後述の再設定変数リスト24bに登録する。そして、開発者などは、改変したアプリケーションと、生成した固定リソースリストを、端末10およびクラウドサーバ20のそれぞれの記憶部に記憶させる。また、開発者などは、再設定変数リスト24bをクラウドサーバ20の記憶部24に記憶させる。インスタンス管理表14bには、マイグレートされるインスタンスの種類であるインスタンス種類と、インスタンス参照アドレスとが対応付けられて登録される。図4は、インスタンス管理表の一例を示す図である。図4の例では、インスタンス管理表14bには、マイグレートインスタンスとして、計算処理部が登録されている場合が示されている。また、図4の例では、インスタンス管理表14bには、ラッパインスタンスとして計算処理部ラッパが登録されている場合が示されている。記憶部14は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部14は、上記の種類の記憶装置に限定されるものではなく、RAMRandomAccessMemory、ROMReadOnlyMemoryであってもよい。制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図1に示すように、制御部15は、第一の実行部15aと、第一の設定部15bと、抽出部15cと、送信部15dとを有する。第一の実行部15aは、アプリケーションを実行する。例えば、第一の実行部15aは、GUIを有するJavaアプリケーションを実行する。なお、このアプリケーションは、上述したように、開発者などによって、ソースが改変されたものである。例えば、かかるアプリケーションは、クラス名およびメンバ変数名が固定ソースリスト14aに抽出され、毎グレート要求を受け取った時の処理がソースに記述されており、また、この処理が、抽出されたクラス名およびメンバ変数名に基づいて行われる。図5は、端末およびクラウドサーバの処理を説明するための図である。図5の例では、端末10およびクラウドサーバ20で行われる処理が模式的に示されている。第一の実行部15aは、入力部11からマイグレート要求を受信すると、クラウドサーバ20にアプリケーションを実行する要求であるアプリケーション実行要求を送信する。これにより、クラウドサーバ20は、アプリケーションを実行する。そして、第一の実行部15aは、マイグレート処理エンジンのマイグレート用APIを呼び出す。マイグレート処理エンジンは、第一の設定部15bに、固定リソースリスト14aに登録されているクラス名およびメンバ変数名と一致するスレッドクラスのメンバ変数名を所定値、例えば、nullを設定するように指示を出す。第一の設定部15bは、第一の実行部15aにより実行されたアプリケーションにおいて用いられる変数のうち、アプリケーションの実行時に参照される固定リソースを参照するためのメンバ変数に値を設定し、固定リソースを開放する。また、抽出部15cは、アプリケーションを停止させ、アプリケーションの実行状態を抽出する。図5の例では、マイグレート処理エンジンからの指示を第一の設定部15bが受信した場合には、第一の設定部15bは、次のような処理を行う。すなわち、第一の設定部15bは、固定リソースリスト14aに登録されているクラス名およびメンバ変数名と一致するスレッドクラスのメンバ変数に所定値、例えば、nullを設定する。また、図5の例では、抽出部15cは、端末10上の計算処理部を停止し、計算処理部に対してcheckpointを実行して、変数値、スタック内容および実行場所を含む実行状態を抽出する。スタック内容には、ローカル変数やメソッド呼び出し履歴が保持されている。送信部15dは、実行状態をクラウドサーバ20に送信する。図5の例では、送信部15dは、抽出された実行状態をシリアライズし、シリアライズされた実行状態をクラウドサーバ20に送信する。図1に戻り、クラウドサーバ20は、入力部21と、出力部22と、通信部23と、記憶部24と、制御部25とを有する。入力部21は、各種情報を制御部25に入力する。入力部21のデバイスの一例としては、マウスやキーボードなどが挙げられる。出力部22は、各種情報を出力する。例えば、出力部22は、制御部25から画像が入力された場合には、外部のディスプレイに画像を表示するように、ディスプレイの表示を制御する。通信部23は、無線通信を行う。例えば、通信部23は、制御部25と、端末10との無線通信を行う。通信部23は、制御部25から情報が入力されると、入力された情報を端末10へ送信する。また、通信部23は、端末10から情報が入力されると、入力された情報を制御部25へ送信する。通信部23の一例としては、無線通信インタフェースが挙げられる。記憶部24は、固定リソースリスト24aと、再設定変数リスト24bと、インスタンス管理表24cとを記憶する。固定リソースリスト24aには、固定リソースリスト14aと同一の内容が登録される。すなわち、固定リソースリスト24aには、アプリケーションが参照する固定リソースを参照する変数を識別する識別情報が登録される。また、再設定変数リスト24bには、上述したように、計算処理部を参照する変数が登録される。図6は、再設定変数リストの一例を示す図である。図6の例では、再設定変数リスト24bには、クラス名が計算処理部ラッパであるラッパを参照するメンバ変数の変数名がcalcThreadであることが登録されている。また、インスタンス管理表24cについては、上述したインスタンス管理表14bと同様のものであるので、説明を省略する。記憶部24は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部24は、上記の種類の記憶装置に限定されるものではなく、RAMRandomAccessMemory、ROMReadOnlyMemoryであってもよい。制御部25は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図1に示すように、制御部25は、第二の実行部25aと、受信部25bと、第二の設定部25cと、再開部25dとを有する。第二の実行部25aは、アプリケーションを実行する。例えば、第二の実行部25aは、GUIを有するJavaアプリケーションを実行する。なお、このアプリケーションは、上述したように、開発者などによって、ソースが改変されたものである。例えば、かかるアプリケーションは、クラス名およびメンバ変数名が固定ソースリスト24aに抽出され、毎グレート要求を受け取った時の処理がソースに記述されており、また、この処理が、抽出されたクラス名およびメンバ変数名に基づいて行われる。図5の例では、第二の実行部25aによって、計算処理部1が起動されている。受信部25bは、送信部15dにより送信された実行状態を受信する。図5の例では、受信部25bは、端末10の送信部15dから送信された実行状態を受信し、受信した実行状態をデシリアライズし、計算処理部の新しいインスタンス計算処理部2を生成する。第二の設定部25cは、第二の実行部25aにより実行されたアプリケーションにおいて用いられる変数のうち、記憶部24に記憶された固定リソースリスト24aに登録された識別情報が示す変数の値を抽出し、次のように処理する。すなわち、第二の設定部25cは、受信部25bにより受信された実行状態に基づいて生成されるインスタンスの対応する変数に、抽出した値を設定する。図5の例では、第二の設定部25cは、計算処理部1で用いられる変数のうち、固定リソースリスト24aに登録された識別情報が示す変数b、cの各値を、計算処理部2の対応する変数、すなわち計算処理部2の変数b、cのそれぞれに設定する。また、図5の例では、第二の設定部25cは、計算処理部ラッパの参照先を、計算処理部1から、計算処理部2に変更する。再開部25dは、第二の設定部25cにより設定されたインスタンスを再開することで、端末10で停止されたアプリケーションを再開させる。図5の例では、再開部25dは、計算処理部1を停止させ、計算処理部2を再開させることで、端末10で停止されたアプリケーションを再開させる。端末10からクラウドサーバ20へのマイグレーションについて説明した。ここで、クラウドサーバ20が、端末10の制御部15が有する各部15a、15b、15c、15dと同様の機能を備え、端末10が、クラウドサーバ20の制御部25が有する各部25a、25b、25c、25dおよび再設定変数リスト24bと同様の機能を備えた場合を想定する。このような場合には、同様にして、クラウドサーバ20から端末10へのマイグレーションを行うこともできる。ここで、変数値の更新処理方法の一例について説明する。図7は、変数値の更新処理方法の一例について説明するための図である。Java仮想マシンでは、例えば以下のように変数が管理されている。あるオブジェクトリファレンスが指す先はJavaヒープメモリ領域内のハンドルプール内のアドレスである。該当アドレスの内容は、オブジェクトプール内のアドレスと、クラスデータのアドレスから成る。オブジェクトプール内のアドレスにある内容は、対象オブジェクトの各メンバ変数の値のアドレスである。各アドレスに各メンバ変数の値がある。メンバ変数の型がクラスの場合は、メンバ変数の値として、該当クラスのインスタンスのアドレスオブジェクトリファレンスが入っている。また、クラスデータのアドレスには、メソッドエリア領域内にある、対象オブジェクトのクラス構造が配置されている。クラスデータは、クラス名、コンスタントプール、フィールド情報、メソッド情報、クラス変数などから成る。このうち、フィールド情報にメンバ変数の情報が配置されており、各メンバ変数の変数名と型から成る。マイグレート開始時には、マイグレート対象オブジェクトとして、あるオブジェクトリファレンスが指定される。固定リソースの切り張りの際に使用するデータである、固定リソースリスト14a、24aには、以下の例のように、固定リソースを参照する各メンバ変数の、クラス名と変数名が登録されている。1マイグレート対象オブジェクトとして指定されたオブジェクトリファレンスが指すアドレスにあるクラスデータのアドレスにあるクラスデータから、クラス名を取得し、固定リソースリスト内で該当するクラス名を抜き出す。21で抜き出した固定リソースリストの各メンバ変数名を、クラスデータ内のフィールド情報内で探し、何番目の変数かインデックスを特定する。3指定されたオブジェクトリファレンスが指すアドレスにあるオブジェクトプールのアドレスから、2で特定したインデックスにある変数値のアドレスにある変数値をnullに変更する。41で取得したクラスデータ内のフィールド情報メンバ変数情報の各変数の型がクラスの場合、該当する各変数について、3と同様の方法で変数値のアドレスを特定して変数値を取得し、再帰的に1-4の処理を行う。checkpointは、実行状態の抽出を可能にするライブラリ例ApacheCommonsJavaflowを使用する。このライブラリは、コンパイル後のJavaのプログラムバイトコードを変更することで、ローカル変数メソッド呼び出し履歴現在の実行場所などの実行状態を抽出可能にする。シリアライズは、checkpointで抽出した実行状態を、マイグレート対象オブジェクトとして、Java付属のシリアライズ用メソッドjavaioObjectOutputStreamwriteObjectに渡すことによって、シリアライズを行う。Java付属のシリアライズ用メソッドでは、メンバ変数のシリアライズにあたって、以下の処理が行われる。Aマイグレート対象オブジェクトとして指定されたオブジェクトリファレンスが指すアドレスにあるクラスデータのアドレスにあるクラスデータ内のフィールド情報メンバ変数情報を取得し、各メンバ変数の型を取得する。その後、オブジェクトプールのアドレスから、各変数値のアドレスにある変数値を取得し、型が基本データ型int等Stringクラスの場合は変数値をバイト列として書き出し、他のクラスの場合はAを再帰的に実行して、バイト列を書き出す。デシリアライズは、シリアライズされたバイト列を、Java付属のデシリアライズ用メソッドjavaioObjectInputStreamreadObjectで読み込むことで、シリアライズ前と同内容のオブジェクトを生成する。Java付属のデシリアライズ用メソッドでは、メンバ変数のデシリアライズにあたって、以下の処理が行われる。Bシリアライズされたバイト列に含まれるクラス名をもとに、メソッドエリア内のクラスデータを探し、クラスデータ内のフィールド情報メンバ変数情報を取得する。C各メンバ変数値のアドレス用の領域をオブジェクトプール内に確保する。Dハンドルプール内のオブジェクトプールのアドレスの値として、確保したオブジェクトプール内のアドレスをセットする。Eシリアライズされたバイト列から各メンバ変数の型を取得する。メンバ変数の型が基本データ型Stringクラスでない場合は、B-Fを再帰的に実行する。メンバ変数の型が基本データ型Stringクラスの場合は、シリアライズされたバイト列から各メンバ変数の値を取得する。各メンバ変数値用の領域をオブジェクトプール内に確保し、取得したメンバ変数値をセットする。F各メンバ変数値のアドレスの値として、確保したメンバ変数値のアドレスをセットする。aデシリアライズされたオブジェクトのオブジェクトリファレンスが指すアドレスにあるクラスデータのアドレスにあるクラスデータから、クラス名を取得し、固定リソースリスト内で該当するクラス名を抜き出す。baで抜き出した固定リソースリストの各メンバ変数名を、クラスデータ内のフィールド情報メンバ変数情報内で探し、何番目の変数かインデックスを特定する。cインスタンス管理表から、マイグレートインスタンスを取得オブジェクトリファレンスし、オブジェクトリファレンスが指すアドレスにあるオブジェクトプールのアドレスから、bで特定したインデックスにある変数値のアドレスにある変数値を取得する。dデシリアライズされたオブジェクトリファレンスが指すアドレスにあるオブジェクトプールのアドレスから、bで特定したインデックスにある変数値のアドレスにある変数値を、cで取得した変数値に変更する。eaで取得したクラスデータ内のフィールド情報メンバ変数情報の各変数の型がクラスの場合、該当する各変数について、dと同様の方法で変数値のアドレスを特定して変数値を取得し、再帰的にa-eの処理を行う。10インスタンス管理表から、ラッパインスタンスを取得オブジェクトリファレンスし、オブジェクトリファレンスが指すアドレスにあるクラスデータのアドレスにあるクラスデータから、クラス名を取得し、再設定変数リスト内で該当するクラス名を抜き出す。1110で抜き出した再設定変数リストの各メンバ変数名を、クラスデータのフィールド情報メンバ変数情報内で探し、何番目の変数かインデックスを特定する。12インスタンス管理表から、マイグレートインスタンスを取得オブジェクトリファレンス。1310で取得したラッパインスタンスのオブジェクトリファレンスが指すアドレスにあるオブジェクトプールのアドレスから、11で特定したインデックスにある変数値のアドレスにある変数値が、12で取得した値と等しい場合、変数値をデシリアライズされたオブジェクトリファレンスに変更する。再開部25dは、インスタントを再開させる場合に、restartを使用する。restartは、checkpoint時に使用したライブラリのrestart機能を使用する。checkpointで抽出された実行状態の続きから処理を再開する。制御部25は、ASICApplicationSpecificIntegratedCircuitやFPGAFieldProgrammableGateArrayなどの集積回路またはCPUCentralProcessingUnitやMPUMicroProcessingUnitなどの電子回路である。[処理の流れ]次に、本実施例に係るクラウドシステム1の処理の流れを説明する。図8および図9は、実施例1に係るクラウドシステムの処理の手順を示すシーケンス図である。図8に示すように、第一の実行部15aは、アプリケーションを実行するステップS101。第一の実行部15aは、マイグレートされるインスタンスをインスタンス管理表14bに登録するステップS102。第一の実行部15aは、計算処理部ラッパインスタンスをインスタンス管理表14bに登録するステップS103。第一の実行部15aは、マイグレート要求を受信するステップS104。第一の実行部15aは、マイグレート要求を受信すると、クラウドサーバ20にアプリケーションを実行する要求であるアプリケーション実行要求を送信するステップS105。アプリケーション実行要求を受けたクラウドサーバ20の第二の実行部25aは、アプリケーションを実行するステップS201。第一の実行部15aは、マイグレート処理エンジンのマイグレート用APIを呼び出すステップS106。第一の設定部15bは、固定リソースリスト14aに登録されているクラス名およびメンバ変数名と一致するスレッドクラスのメンバ変数に所定値、例えば、nullを設定するステップS107。抽出部15cは、マイグレート対象のインスタンスを停止させるステップS108。抽出部15cは、マイグレート対象のインスタンスに対してcheckpointを実行して、変数値、スタック内容および実行場所を含む実行状態を抽出するステップS109。送信部15dは、抽出された実行状態をシリアライズするステップS110。送信部15dは、シリアライズされた実行状態のバイト列をクラウドサーバ20に送信するステップS111。クラウドサーバ20の受信部25bは、端末10の送信部15dから送信された実行状態のバイト列を受信するステップS202。受信部25bは、受信した実行状態をデシリアライズし、計算処理部の新しいインスタンス計算処理部2を生成するステップS203。第二の設定部25cは、第二の実行部25aにより実行されたアプリケーションにおいて用いられる変数のうち、記憶部24に記憶された固定リソースリスト24aに登録された識別情報が示す変数の値を、次のように処理する。すなわち、第二の設定部25cは、かかる変数の値を、受信部25bにより受信された実行状態に基づいて生成されるインスタンスの対応する変数に設定するステップS204。第二の設定部25cは、計算処理部ラッパの参照先を、既に実行されていたインスタンス登録インスタンスではなく、新たに生成されたインスタンス生成インスタンスとなるように、設定するステップS205。再開部25dは、登録インスタンスを停止させるステップS206。再開部25dは、生成インスタンスを再開restartさせることで、端末10で停止されたアプリケーションを再開させるステップS207。再開部25dは、生成インスタンスを、マイグレートされるインスタンスとして、インスタンス管理表24cのマイグレートインスタンスの参照の値を、生成インスタンスに更新するステップS208。そして、ユーザの操作により、または、ステップS111の処理を実行してから、所定時間が経過すると、端末10は、マイグレート要求をクラウドサーバ20に送信するステップS112。そして、図9に示す以降の処理ステップS113~119、S209~213については、図8に示すステップS202~208、S106~111と同様であるので説明を省略する。[実施例1の効果]上述してきたように、本実施例に係るクラウドシステム1では、マイグレーション元の端末10、マイグレーション先のクラウドサーバ20で、共通のアプリケーションが実行される。本実施例に係るクラウドシステム1では、マイグレーション先で、生成インスタンスの変数に、既に実行されているインスタンスの変数の値がコピーされて、固定リソースの再バインドが行われる。そのため、本実施例に係るクラウドシステム1では、固定リソースの再バインドを容易に行うことができる。さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。例えば、実施例1では、マイグレート先の装置に、予めソースが改変されたアプリケーションや、固定リソースリストを保持させる場合を例示したが、開示の装置はこれに限られない。例えば、マイグレート時に、マイグレート元の装置が、マイグレート先の装置に、予めソースが改変されたアプリケーションや、固定リソースリストを送信するようにしてもよい。この場合、マイグレート先の装置は、受信したアプリケーションを実行し、固定リソースリストを用いて、上述したマイグレートの方法と同様に、マイグレートを行う。また、実施例1において説明した処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、実施例1において説明した処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。例えば、ステップS208、ステップS119において、人間がインスタンス管理表の更新を行ってもよい。また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。ステップS102、ステップS103の処理をまとめることもできる。また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散統合して構成することができる。例えば、第一の設定部15bと、抽出部15cとが統合されてもよい。また、第二の設定部25cと、再開部25dとが統合されてもよい。以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。付記1端末およびサーバを有するシステムであって、前記端末は、アプリケーションを実行する第一の実行部と、前記アプリケーションの実行時に参照される固定リソースを参照するための変数を識別する識別情報を記憶する第一の記憶部と、前記第一の実行部により実行されたアプリケーションにおいて用いられる変数のうち、前記第一の記憶部に記憶された識別情報が示す変数に値を設定し、前記固定リソースを開放する第一の設定部と、前記アプリケーションを停止させ、前記アプリケーションの実行状態を抽出する抽出部と、前記実行状態を前記サーバに送信する送信部とを有し、前記サーバは、前記アプリケーションを実行する第二の実行部と、前記送信部により送信された前記実行状態を受信する受信部と、前記アプリケーションが参照する固定リソースを参照する変数を識別する識別情報を記憶する第二の記憶部と、前記第二の実行部により実行されたアプリケーションにおいて用いられる変数のうち、前記第二の記憶部に記憶された識別情報が示す変数の値を抽出し、前記受信部により受信された実行状態に基づいて生成されるインスタンスの対応する変数に前記抽出した値を設定する第二の設定部と、前記第二の設定部により設定されたインスタンスを再開することで、前記端末で停止されたアプリケーションを再開させる再開部とを有することを特徴とするシステム。付記2前記第二の設定部は、固定リソースが参照する再設定変数に、前記再開部により再開されたアプリケーションの情報を設定することを特徴とする付記1に記載のシステム。付記3端末およびサーバを有するシステムが実行するマイグレーション方法であって、前記端末は、アプリケーションを実行し、前記第一の実行部により実行されたアプリケーションにおいて用いられる変数のうち、前記アプリケーションの実行時に参照される固定リソースを参照するための変数を識別する識別情報を記憶する第一の記憶部に記憶された識別情報が示す変数に値を設定し、前記固定リソースを開放し、前記アプリケーションを停止させ、前記アプリケーションの実行状態を抽出し、前記実行状態を前記サーバに送信し、前記サーバは、前記アプリケーションを実行し、送信された前記実行状態を受信し、前記第二の実行部により実行されたアプリケーションにおいて用いられる変数のうち、前記アプリケーションが参照する固定リソースを参照する変数を識別する識別情報を記憶する第二の記憶部に記憶された識別情報が示す変数の値を抽出し、前記受信部により受信された実行状態に基づいて生成されるインスタンスの対応する変数に前記抽出した値を設定し、設定されたインスタンスを再開することで、前記端末で停止されたアプリケーションを再開させることを特徴とするマイグレーション方法。付記4前記抽出した値を設定する方法は、固定リソースが参照する再設定変数に、再開されたアプリケーションの情報を設定することを特徴とする付記3に記載のマイグレーション方法。