【手続補正書】
【提出日】平成18年7月14日(2006.7.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
一のデバイスにおいて実行されているアプリケーションをネットワークを介して他のデバイスにマイグレーションさせる方法であって、
（ａ）アプリケーションの構成に用いられる１以上のソフトウェアコンポーネントの各々の実行に要するハードウェア資源の条件を示す必要ハードウェア資源条件情報と、互いに代替可能な機能を有する２以上のソフトウェアコンポーネントの対応関係を示す代替ソフトウェアコンポーネント情報とを記憶した一のデバイスであるソースデバイスが、前記ソースデバイスにおいて実行中のマイグレーション対象のアプリケーションを、マイグレーション先のデバイスであるターゲットデバイスへマイグレーションさせる指示を受け取るステップと、
（ｂ）前記ステップ（ａ）における前記指示を受け取った場合に、前記ソースデバイスが、前記マイグレーション対象のアプリケーションを構成する１以上のソフトウェアコンポーネントの各々に関し、当該ソフトウェアコンポーネントの機能を代替可能なソフトウェアコンポーネントである代替ソフトウェアコンポーネントの有無を前記代替ソフトウェアコンポーネント情報に基づき判定するステップと、
（ｃ）前記ステップ（ａ）における前記指示を受け取った場合に、前記ソースデバイスが、前記ターゲットデバイスに前記ターゲットデバイスのハードウェア構成を示すハードウェア構成情報を要求し、当該要求に対する応答として前記ターゲットデバイスから前記ハードウェア構成情報を受信するステップと、
（ｄ）前記ソースデバイスが、前記ステップ（ｂ）における前記判定において代替ソフトウェアコンポーネントが有ると判定したソフトウェアコンポーネントについて当該ソフトウェアコンポーネントおよび当該ソフトウェアコンポーネントの代替ソフトウェアコンポーネントのうちの少なくとも１に関して、前記ターゲットデバイスにおいて実行可能か否かを前記必要ハードウェア資源条件情報と前記ハードウェア構成情報とに基づき判定するステップと、
（ｅ）前記ソースデバイスが、前記ステップ（ｂ）における前記判定において代替ソフトウェアコンポーネントが無いと判定したソフトウェアコンポーネントおよび前記ステップ（ｄ）における前記判定において実行可能と判定したソフトウェアコンポーネントのうち１以上のソフトウェアコンポーネントの識別情報を前記ターゲットデバイスに通知するステップと、
（ｆ）前記ソースデバイスが、前記ステップ（ａ）における前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値のうち前記ステップ（ｅ）において通知する識別情報により識別されるソフトウェアコンポーネントに関するものを示す実行状態情報を前記ターゲットデバイスに送信するステップと
を備える方法。
【請求項２】
前記ステップ（ｆ）において、前記ソースデバイスは、前記ステップ（ｅ）において通知する識別情報により識別されるソフトウェアコンポーネントのうち前記マイグレーション対象のアプリケーションを構成するソフトウェアコンポーネントの代替ソフトウェアコンポーネントであるものに関しては、前記ステップ（ａ）における前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値を当該代替ソフトウェアコンポーネントに応じた変数値に変換して得られる実行状態情報を前記ターゲットデバイスに送信する
請求項１に記載の方法。
【請求項３】
（ｇ）前記ソースデバイスが、前記ステップ（ｂ）における前記判定において代替ソフトウェアコンポーネントが無いと判定したソフトウェアコンポーネントに関して、前記ターゲットデバイスにおいて実行可能か否かを前記必要ハードウェア資源条件情報と前記ハードウェア構成情報とに基づき判定するステップと、
（ｈ）前記ソースデバイスが、前記ステップ（ｇ）において前記ターゲットデバイスにおいて実行不可能と判定したソフトウェアコンポーネントに関して、当該ソフトウェアコンポーネントの識別情報を、前記ネットワークを介して前記ターゲットデバイスとは異なるデバイスに通知するステップと、
（ｉ）前記ソースデバイスが、前記ステップ（ａ）における前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値のうち前記ステップ（ｈ）において通知する識別情報により識別されるソフトウェアコンポーネントに関するものを示す実行状態情報を前記ネットワークを介して前記ターゲットデバイスとは異なるデバイスに送信するステップと
を備える請求項１に記載の方法。
【請求項４】
ソースデバイスおよびターゲットデバイスを備え、前記ソースデバイスにおいて実行されているアプリケーションをネットワークを介して前記ターゲットデバイスにマイグレーション可能なシステムであって、
前記ソースデバイスは、記憶手段、指示取得手段、第１通信手段および判定手段を備え、
前記記憶手段は、アプリケーションの構成に用いられる１以上のソフトウェアコンポーネントの各々の実行に要するハードウェア資源の条件を示す必要ハードウェア資源条件情報と、互いに代替可能な機能を有する２以上のソフトウェアコンポーネントの対応関係を示す代替ソフトウェアコンポーネント情報とを記憶し、
前記指示取得手段は、実行中の１以上のアプリケーションのうちの１をマイグレーション対象のアプリケーションとして前記ターゲットデバイスへマイグレーションさせる指示を受け取り、
前記判定手段は、前記指示取得手段が前記指示を受け取った場合に、前記マイグレーション対象のアプリケーションを構成する１以上のソフトウェアコンポーネントの各々に関し、当該ソフトウェアコンポーネントの機能を代替可能なソフトウェアコンポーネントである代替ソフトウェアコンポーネントの有無を前記代替ソフトウェアコンポーネント情報に基づき判定し、
前記第１通信手段は、前記指示取得手段が前記指示を受け取った場合に、前記ターゲットデバイスに前記ターゲットデバイスのハードウェア構成を示すハードウェア構成情報を要求し、当該要求に対する応答として前記ターゲットデバイスから前記ハードウェア構成情報を受信し、
前記判定手段は、代替ソフトウェアコンポーネントが有ると判定したソフトウェアコンポーネントについて当該ソフトウェアコンポーネントおよび当該ソフトウェアコンポーネントの代替ソフトウェアコンポーネントのうちの少なくとも１に関して、前記ターゲットデバイスにおいて実行可能か否かを前記必要ハードウェア資源条件情報と前記ハードウェア構成情報とに基づき判定し、
前記第１通信手段は、前記判定手段により代替ソフトウェアコンポーネントが無いと判定されたソフトウェアコンポーネントと、前記判定手段により代替ソフトウェアコンポーネントが有ると判定されたソフトウェアコンポーネントまたは当該ソフトウェアコンポーネントの代替ソフトウェアコンポーネントであって前記判定手段により前記ターゲットデバイスにおいて実行可能と判定されたソフトウェアコンポーネントとのうち１以上のソフトウェアコンポーネントの識別情報を前記ターゲットデバイスに通知し、
前記第１通信手段は、前記指示取得手段が前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値のうち前記ターゲットデバイスに通知する識別情報により識別されるソフトウェアコンポーネントに関するものを示す実行状態情報を前記ターゲットデバイスに送信し、
前記ターゲットデバイスは、第２通信手段および第１インスタンス化手段を備え、
前記第２通信手段は、前記ソースデバイスから前記ターゲットデバイスのハードウェア構成情報の要求を受信し、当該要求に対する応答として前記ソースデバイスに前記ターゲットデバイスのハードウェア構成情報を送信し、
前記第２通信手段は、前記ソースデバイスから１以上のソフトウェアコンポーネントの識別情報の通知を受信し、
前記第２通信手段は、前記ソースデバイスから受信する識別情報により識別される１以上のソフトウェアコンポーネントに関する変数値を示す実行状態情報を受信し、
前記第１インスタンス化手段は、前記第２通信手段が受信した実行状態情報を用いて、前記第２通信手段が受信した識別情報により識別される１以上のソフトウェアコンポーネントを構成要素とするアプリケーションをインスタンス化する
システム。
【請求項５】
前記第１通信手段は、前記ターゲットデバイスに通知する識別情報により識別されるソフトウェアコンポーネントのうち前記マイグレーション対象のアプリケーションを構成するソフトウェアコンポーネントの代替ソフトウェアコンポーネントであるものに関しては、前記指示取得手段が前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値を当該代替ソフトウェアコンポーネントに応じた変数値に変換して得られる実行状態情報を前記ターゲットデバイスに送信する
請求項４に記載のシステム。
【請求項６】
前記ソースデバイスおよび前記ターゲットデバイスのいずれとも異なり、前記ソースデバイスおよび前記ターゲットデバイスと前記ネットワークを介して通信可能な他のデバイスを備え、
前記判定手段は、前記マイグレーション対象のアプリケーションを構成する１以上のソフトウェアコンポーネントのうち代替ソフトウェアコンポーネントが無いと判定したものに関して、前記ターゲットデバイスにおいて実行可能か否かを前記必要ハードウェア資源条件情報と前記ハードウェア構成情報とに基づき判定し、
前記第１通信手段は、前記マイグレーション対象のアプリケーションを構成する１以上のソフトウェアコンポーネントのうち前記判定手段により代替ソフトウェアコンポーネントが無いと判定され、かつ前記ターゲットデバイスにおいて実行不可能と判定されたものに関して、当該ソフトウェアコンポーネントの識別情報を、前記他のデバイスに通知し、
前記第１通信手段は、前記指示取得手段が前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値のうち前記他のデバイスに通知する識別情報により識別されるソフトウェアコンポーネントに関するものを示す実行状態情報を前記他のデバイスに送信し、
前記他のデバイスは、第３通信手段および第２インスタンス化手段を備え、
前記第３通信手段は、前記ソースデバイスから１以上のソフトウェアコンポーネントの識別情報の通知を受信し、
前記第３通信手段は、前記ソースデバイスから受信する識別情報により識別される１以上のソフトウェアコンポーネントに関する変数値を示す実行状態情報を受信し、
前記第２インスタンス化手段は、前記第３通信手段が受信した実行状態情報を用いて、前記第３通信手段が受信した識別情報により識別される１以上のソフトウェアコンポーネントを構成要素とするアプリケーションをインスタンス化する
請求項５に記載のシステム。
【請求項７】
実行中のアプリケーションをネットワークを介して自機とは異なるデバイスであるターゲットデバイスにマイグレーション可能なデバイスであって、
記憶手段、指示取得手段、通信手段および判定手段を備え、
前記記憶手段は、アプリケーションの構成に用いられる１以上のソフトウェアコンポーネントの各々の実行に要するハードウェア資源の条件を示す必要ハードウェア資源条件情報と、互いに代替可能な機能を有する２以上のソフトウェアコンポーネントの対応関係を示す代替ソフトウェアコンポーネント情報とを記憶し、
前記指示取得手段は、実行中の１以上のアプリケーションのうちの１をマイグレーション対象のアプリケーションとして前記ターゲットデバイスへマイグレーションさせる指示を受け取り、
前記判定手段は、前記指示取得手段が前記指示を受け取った場合に、前記マイグレーション対象のアプリケーションを構成する１以上のソフトウェアコンポーネントの各々に関し、当該ソフトウェアコンポーネントの機能を代替可能なソフトウェアコンポーネントである代替ソフトウェアコンポーネントの有無を前記代替ソフトウェアコンポーネント情報に基づき判定し、
前記通信手段は、前記指示取得手段が前記指示を受け取った場合に、前記ターゲットデバイスに前記ターゲットデバイスのハードウェア構成を示すハードウェア構成情報を要求し、当該要求に対する応答として前記ターゲットデバイスから前記ハードウェア構成情報を受信し、
前記判定手段は、代替ソフトウェアコンポーネントが有ると判定したソフトウェアコンポーネントについて当該ソフトウェアコンポーネントおよび当該ソフトウェアコンポーネントの代替ソフトウェアコンポーネントのうちの少なくとも１に関して、前記ターゲットデバイスにおいて実行可能か否かを前記必要ハードウェア資源条件情報と前記ハードウェア構成情報とに基づき判定し、
前記通信手段は、前記判定手段により代替ソフトウェアコンポーネントが無いと判定されたソフトウェアコンポーネントと、前記判定手段により代替ソフトウェアコンポーネントが有ると判定されたソフトウェアコンポーネントまたは当該ソフトウェアコンポーネントの代替ソフトウェアコンポーネントであって前記判定手段により前記ターゲットデバイスにおいて実行可能と判定されたソフトウェアコンポーネントとのうち１以上のソフトウェアコンポーネントの識別情報を前記ターゲットデバイスに通知し、
前記通信手段は、前記指示取得手段が前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値のうち前記ターゲットデバイスに通知する識別情報により識別されるソフトウェアコンポーネントに関するものを示す実行状態情報を前記ターゲットデバイスに送信する
デバイス。
【請求項８】
前記通信手段は、前記ターゲットデバイスに通知する識別情報により識別されるソフトウェアコンポーネントのうち前記マイグレーション対象のアプリケーションを構成するソフトウェアコンポーネントの代替ソフトウェアコンポーネントであるものに関しては、前記指示取得手段が前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値を当該代替ソフトウェアコンポーネントに応じた変数値に変換して得られる実行状態情報を前記ターゲットデバイスに送信する
請求項７に記載のデバイス。
【請求項９】
前記判定手段は、前記マイグレーション対象のアプリケーションを構成する１以上のソフトウェアコンポーネントのうち代替ソフトウェアコンポーネントが無いと判定したものに関して、前記ターゲットデバイスにおいて実行可能か否かを前記必要ハードウェア資源条件情報と前記ハードウェア構成情報とに基づき判定し、
前記通信手段は、前記マイグレーション対象のアプリケーションを構成する１以上のソフトウェアコンポーネントのうち前記判定手段により代替ソフトウェアコンポーネントが無いと判定され、かつ前記ターゲットデバイスにおいて実行不可能と判定されたものに関して、当該ソフトウェアコンポーネントの識別情報を、前記ネットワークを介して前記ターゲットデバイスとは異なる他のデバイスに通知し、
前記通信手段は、前記指示取得手段が前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値のうち前記他のデバイスに通知する識別情報により識別されるソフトウェアコンポーネントに関するものを示す実行状態情報を前記ネットワークを介して前記他のデバイスに送信する
請求項７に記載のデバイス。
【請求項１０】
記憶手段、指示取得手段、通信手段および制御手段を備えるコンピュータに、前記制御手段が実行中のアプリケーションをネットワークを介して自機とは異なるデバイスであるターゲットデバイスにマイグレーションさせるプログラムであって、
前記記憶手段に、アプリケーションの構成に用いられる１以上のソフトウェアコンポーネントの各々の実行に要するハードウェア資源の条件を示す必要ハードウェア資源条件情報と、互いに代替可能な機能を有する２以上のソフトウェアコンポーネントの対応関係を示す代替ソフトウェアコンポーネント情報とを記憶させ、
前記指示が前記指示取得手段により受け取られた時に、前記制御手段に、前記マイグレーション対象のアプリケーションを構成する１以上のソフトウェアコンポーネントの各々に関し、当該ソフトウェアコンポーネントの機能を代替可能なソフトウェアコンポーネントである代替ソフトウェアコンポーネントの有無を前記代替ソフトウェアコンポーネント情報に基づき判定させ、
前記制御手段が実行中の１以上のアプリケーションのうちの１をマイグレーション対象のアプリケーションとして前記ターゲットデバイスへマイグレーションさせる指示が前記指示取得手段により受け取られた時に、前記通信手段に、前記ターゲットデバイスに前記ターゲットデバイスのハードウェア構成を示すハードウェア構成情報を要求させるとともに、当該要求に対する応答として前記ターゲットデバイスから送信される前記ハードウェア構成情報を受信させ、
前記制御手段に、代替ソフトウェアコンポーネントが有ると判定したソフトウェアコンポーネントについて当該ソフトウェアコンポーネントおよび当該ソフトウェアコンポーネントの代替ソフトウェアコンポーネントのうちの少なくとも１に関して、前記ターゲットデバイスにおいて実行可能か否かを前記必要ハードウェア資源条件情報と前記ハードウェア構成情報とに基づき判定させ、
前記通信手段に、前記制御手段により代替ソフトウェアコンポーネントが無いと判定されたソフトウェアコンポーネントと、前記制御手段により代替ソフトウェアコンポーネントが有ると判定されたソフトウェアコンポーネントまたは当該ソフトウェアコンポーネントの代替ソフトウェアコンポーネントであって前記制御手段により前記ターゲットデバイスにおいて実行可能と判定されたソフトウェアコンポーネントとのうち１以上のソフトウェアコンポーネントの識別情報を前記ターゲットデバイスに通知させ、
前記通信手段に、前記指示取得手段が前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値のうち前記ターゲットデバイスに通知する識別情報により識別されるソフトウェアコンポーネントに関するものを示す実行状態情報を前記ターゲットデバイスに送信させる
プログラム。
【請求項１１】
前記通信手段に、前記ターゲットデバイスに通知する識別情報により識別されるソフトウェアコンポーネントのうち前記マイグレーション対象のアプリケーションを構成するソフトウェアコンポーネントの代替ソフトウェアコンポーネントであるものに関しては、前記指示取得手段が前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値を当該代替ソフトウェアコンポーネントに応じた変数値に変換して得られる実行状態情報を前記ターゲットデバイスに送信させる
請求項１０に記載のプログラム。
【請求項１２】
前記制御手段に、前記マイグレーション対象のアプリケーションを構成する１以上のソフトウェアコンポーネントのうち代替ソフトウェアコンポーネントが無いと判定したものに関して、前記ターゲットデバイスにおいて実行可能か否かを前記必要ハードウェア資源条件情報と前記ハードウェア構成情報とに基づき判定させ、
前記通信手段に、前記マイグレーション対象のアプリケーションを構成する１以上のソフトウェアコンポーネントのうち前記制御手段により代替ソフトウェアコンポーネントが無いと判定され、かつ前記ターゲットデバイスにおいて実行不可能と判定されたものに関して、当該ソフトウェアコンポーネントの識別情報を、前記ネットワークを介して前記ターゲットデバイスとは異なる他のデバイスに通知させ、
前記通信手段に、前記指示取得手段が前記指示を受け取った時点の前記マイグレーション対象のアプリケーションの変数値のうち前記他のデバイスに通知する識別情報により識別されるソフトウェアコンポーネントに関するものを示す実行状態情報を前記ネットワークを介して前記他のデバイスに送信させる
請求項１０に記載のプログラム。