(58)【調査した分野】(Int.Cl.,DB名)
計算ノードであって、オペレーティング・システムと、前記オペレーティング・システム上で実行されるサービス・プロセス、バックアップ・ソフトウェア、及びアプリケーション・ソフトウェアとを含む、計算ノード、に適用されるアプリケーション・データを処理するための方法であって、前記方法は:
前記オペレーティング・システムによる、前記サービス・プロセスを開始するステップ;
前記オペレーティング・システムによる、前記サービス・プロセスと前記バックアップ・ソフトウェアとの間のソケット接続を設定するステップであって、前記サービス・プロセスがルート操作権を有し、かつ前記サービス・プロセスと前記バックアップ・ソフトウェアが同じユーザ識別子(uid)を有する、ステップ;
前記バックアップ・ソフトウェアによる、前記ソケットにより、アプリケーション・データに関する処理要求を送信するステップ;
前記サービス・プロセスによる、前記ソケットにより、アプリケーション・データに関する前記処理要求を受信するステップであって、前記処理要求は、前記バックアップ・ソフトウェアにより送信される、ステップ;
前記サービス・プロセスによる、アプリケーション・データに関する前記処理要求を、対応するアプリケーション・ソフトウェアに対して送信するステップ;
前記サービス・プロセスによる、前記対応するアプリケーション・ソフトウェアにより返されたアプリケーション・データを受信するステップであって、前記アプリケーション・データは、前記処理要求に応答して返されたアプリケーション・データである、ステップ;及び
前記サービス・プロセスによる、前記ソケットにより、前記返されたアプリケーション・データを前記バックアップ・ソフトウェアに送信するステップ;
を備えることを特徴とする、方法。
アプリケーション・データに関する前記処理要求がカタログ読み取り要求又はファイル読み取り要求を含み、従って、前記対応するアプリケーション・ソフトウェアによって返された前記アプリケーション・データが、読み取ったカタログ情報又は読み取ったファイル内容
を含むことを特徴とする、請求項1乃至3のいずれか1項記載の方法。
アプリケーション・データに関する前記処理要求がカタログ書き込み要求又はファイル書き込み要求を含み、従って、前記対応するアプリケーション・ソフトウェアによって返された前記アプリケーション・データが、前記カタログ書き込み要求に対応する結果又は前記ファイル書き込み要求に対応する結果
を含むことを特徴とする、請求項1乃至3のいずれか1項記載の方法。
ハードウェア層、前記ハードウェア層上で動作するオペレーティング・システム、及び前記オペレーティング・システム上で実行されるサービス・プロセス、バックアップ・ソフトウェア、及びアプリケーション・ソフトウェアを含む計算ノードであって:
前記オペレーティング・システムが前記サービス・プロセスを開始できるように構成された開始モジュールと、
前記オペレーティング・システムが前記サービス・プロセスと前記バックアップ・ソフトウェアとの間のソケット接続を設定できるように構成された接続設定モジュールであって、前記サービス・プロセスがルート操作権を有し、かつ前記サービス・プロセスと前記バックアップ・ソフトウェアが同じユーザ識別名(uid)を有する、接続設定モジュール;
前記バックアップ・ソフトウェアが、アプリケーション・データに関する処理要求を、前記ソケットにより、送信すること、を可能とするように構成された第1の送信モジュール;
前記サービス・プロセスが、アプリケーション・データに関する前記処理要求を、前記ソケットにより、受信すること、を可能とするように構成された第1の受信モジュールであって、前記処理要求が前記バックアップ・ソフトウェアによって送信される、第1の受信モジュール;
前記サービス・プロセスが、対応するアプリケーション・ソフトウェアに、アプリケーション・データに関する前記処理要求を送信すること、を可能とするように構成された第2の送信モジュール;
前記サービス・プロセスが、前記対応するアプリケーション・ソフトウェアにより返されたアプリケーション・データを受信すること、を可能とするように構成された第2の受信モジュールであって、前記アプリケーション・データは前記処理要求に応答して返されたアプリケーション・データである、第2の受信モジュール;及び
前記サービス・プロセスが、前記返されたアプリケーション・データを、前記バックアップ・ソフトウェアに、前記ソケットにより、送信すること、を可能とするように構成された第3の送信モジュール;
を備えることを特徴とする、計算ノード。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の諸実施形態は、計算ノードがルート操作権を有しておらず、計算ノード上のアプリケーション・ソフトウェアがプロバイダ・インターフェースを提供しない時に、データ・バックアップ及びリカバリを達成するために、アプリケーション・データを処理するための方法及び計算ノードを提供する。
【課題を解決するための手段】
【0006】
本発明の一実施形態は、計算ノードであって、オペレーティングシステム、オペレーティング・システム上で実行されるサービス・プロセス、バックアップ・ソフトウェア、及びアプリケーション・ソフトウェアとを含む、計算ノードに適用される、アプリケーション・データを処理するための方法を提供し、前記方法は:
オペレーティング・システムによる、サービス・プロセスを開始するステップ;
オペレーティング・システムによる、前記サービス・プロセスと前記バックアップ・ソフトウェアとの間のソケット(socket)接続(socket connection)を設定するステップであって、前記サービス・プロセスがルート(root)操作権を有し、かつ前記サービス・プロセスと前記バックアップ・ソフトウェアが同じユーザ識別子(uid)を有する、ステップ;
前記バックアップ・ソフトウェアによる、前記ソケットにより、アプリケーション・データに関する処理要求を送信するステップ;
前記サービス・プロセスによる、前記ソケットにより、アプリケーション・データに関する前記処理要求を受信するステップであって、前記処理要求が前記バックアップ・ソフトウェアによって送信される、ステップ;
前記サービス・プロセスによる、アプリケーション・データに関する前記処理要求を対応するアプリケーション・ソフトウェアに送信するステップ;
前記サービス・プロセスによる、前記対応するアプリケーション・ソフトウェアによって返されたアプリケーション・データを受信するステップであって、前記アプリケーション・データが前記処理要求に応答して返されたアプリケーション・データである、ステップ;及び
前記サービス・プロセスによる、前記返されたアプリケーション・データを、前記ソケットにより、前記バックアップ・ソフトウェアに送信するステップ;
を備える。
【0007】
本発明の一実施形態は、ハードウェア層、ハードウェア層上で動作するオペレーティング・システム、及びオペレーティング・システム上で実行されるサービス・プロセス、バックアップ・ソフトウェア、及びアプリケーション・ソフトウェアを含む計算ノードであって、かつ:
前記オペレーティング・システムが、前記サービス・プロセスを開始すること、を可能とするように構成された開始モジュール;
前記オペレーティング・システムが、前記サービス・プロセスと前記バックアップ・ソフトウェアとの間のソケット(socket)接続を設定すること、を可能とするように構成された接続設定モジュールであって、前記サービス・プロセスがルート(root)操作権を有し、かつ前記サービス・プロセス及び前記バックアップ・ソフトウェアが同じユーザ識別名(uid)を有する、接続設定モジュール;
前記バックアップ・ソフトウェアが、アプリケーション・データに関する処理要求を、前記ソケットにより、送信すること、を可能とするように構成された第1の送信モジュール;
前記サービス・プロセスが、アプリケーション・データに関する前記処理要求を、前記ソケットにより、受信すること、を可能とするように構成された第1の受信モジュールであって、前記処理要求が前記バックアップ・ソフトウェアによって送信される、第1の受信モジュール;
前記サービス・プロセスが、対応するアプリケーション・ソフトウェアに、アプリケーション・データに関する前記処理要求を送信すること、を可能とするように構成された第2の送信モジュール;
前記サービス・プロセスが、前記対応するアプリケーション・ソフトウェアにより返されたアプリケーション・データを受信すること、を可能とするように構成された第2の受信モジュールであって、前記アプリケーション・データは前記処理要求に応答して返されたアプリケーション・データである、第2の受信モジュール;及び
前記サービス・プロセスが、前記返されたアプリケーション・データを、前記バックアップ・ソフトウェアに、前記ソケットにより、送信すること、を可能とするように構成された第3の送信モジュール;
を含む、計算ノードを提供する。
【0008】
本発明の実施形態は、サービスプロセスを開始することにより、サービス・プロセスがルート操作権を有しているため、サービス・プロセスが計算ノード内の様々なアプリケーション・ソフトウェアにアクセスできることを保証することができ、かつサービス・プロセスがバックアップ・ソフトウェアとのソケット接続を設定しし、そしてバックアップ・ソフトウェアと同じuidを有しているため、サービス・プロセスとバックアップ・ソフトウェアとの間の対話処理を保証することができることは、上記の技術的解決策から理解されてもよい。従って、バックアップ・ソフトウェアはサービス・プロセスを介してアプリケーション・ソフトウェアと対話処理を実行することができ、それにより、バックアップ・ソフトウェアによるアプリケーション・ソフトウェア内のアプリケーション・データのバックアップ又はリカバリを達成することができる。
【0009】
本発明の諸実施形態における技術的解決策をより明瞭に例示するために、諸実施形態を説明するための添付図面について以下に簡単に紹介する。明らかに、以下の説明における添付図面は本発明のいくつかの実施形態を示しており、当業者であれば、創造的努力なしに添付図面からその他の図面を導き出すことができる。
【発明を実施するための形態】
【0011】
本発明の目的、技術的解決策、及び利点をより分かり易くするために、本発明の諸実施形態における添付図面を参照することにより、本発明の諸実施形態に従う技術的解決策について以下に明瞭かつ完全に説明する。明らかに、以下の説明における諸実施形態は、本発明の諸実施形態のすべてではなく、一部に過ぎない。創造的努力なしに本発明の諸実施形態に基づいて当業者が取得したその他の実施形態はいずれも本発明の保護範囲に属するものとしなければならない。
【0012】
図1は、本発明のアプリケーション・データを処理するための方法の一実施形態の概略流れ図であり、以下のステップを含む。
【0013】
ステップ11: オペレーティング・システムがサービス・プロセスを開始する。
【0014】
ステップ12: オペレーティング・システムが、サービス・プロセスとバックアップ・ソフトウェアとの間のソケット(socket)接続を確立し、サービス・プロセスがルート(root)操作権を有し、サービス・プロセスとバックアップ・ソフトウェアが同じユーザ識別名(User Identifier、uid)を有する。
【0015】
本発明のこの実施形態では、計算ノードであるAndroid携帯電話が一例として挙げられており、Android携帯電話はルート操作権を有していない可能性があり、この場合、携帯電話内のバックアップ・ソフトウェアはアプリケーション・ソフトウェアからデータを取得するためにアプリケーション・ソフトウェアと直接的には対話処理を実行することができない。その上、Android携帯電話はプロバイダ・インターフェースを提供するためにアプリケーション・ソフトウェアを必要としない可能性もあり、この場合、携帯電話内のバックアップ・ソフトウェアはアプリケーション・ソフトウェアからデータを直接取得することもできない。
【0016】
Android携帯電話がルート操作権を有しておらず、アプリケーション・ソフトウェアがプロバイダ・インターフェースを提供しない場合、アプリケーション・ソフトウェアのアプリケーション・データのバックアップ及びリカバリを達成するために、本発明のこの実施形態では携帯電話の最下層でプロセスを開始してもよく、このプロセスはサービス(Service)プロセスと呼ばれてもよい。
【0017】
サービス・プロセスは、バックアップ・ソフトウェアが開始された場合に同時に開始されてもよく、或いはバックアップ・ソフトウェア内の特定の機能が開始された後に開始されてもよい。サービス・プロセスの具体的なの実行方法は、携帯電話の最下層でCコードを使用することによりLinux(登録商標)プロセスを実行することである。Linux(登録商標)プロセスはinit.rcにより起動される。このLinux(登録商標)プロセスはサービス・プロセスと呼ばれてもよい。具体的には、サービス・プロセス名をカスタマイズすることができ、アプリケーション・データの読み取り、書き込み、及び削除のための操作権を持たせるためにサービス・プロセスに特定の操作権を割り当てることができ、その間に、バックアップ・ソフトウェアと通信するためにプロセスに特別なUIDが割り当てられる。このプロセスは、特定の操作権が割り当てられ、特別なUIDも割り当てられるという点で、一般的なプロセスとは異なっている。
【0018】
加えて、一般的に言えば、開始されたプロセスに対応する操作権及びそのプロセスのuidは、プロセスを開始する過程で設定することができる。本発明のこの実施形態では、
図2を参照すると、開始されたサービス・プロセスの操作権はルート操作権として設定され、そのプロセスのuidはバックアップ・ソフトウェアのuidと同じである。
【0019】
サービス・プロセスの操作権をルート操作権として設定することにより、サービス・プロセスが計算ノード内のすべての種類のアプリケーション・ソフトウェア及びバックアップ・ソフトウェアと対話処理を行えることを保証してもよく、その結果、サービス・プロセスがアプリケーション・ソフトウェアからアプリケーション・データを読み取り、読み取ったアプリケーション・データをバックアップ・ソフトウェアに書き込むことができ、バックアップ・ソフトウェアからアプリケーション・ソフトウェアにアプリケーション・データを書き込むこともできるようになる。サービス・プロセスのuidがバックアップ・ソフトウェアのuidと同じになるように設定することにより、ソケットにより接続が確立した後にサービス・プロセスとバックアップ・ソフトウェアが相互に対話処理を行えることを保証してもよく、その結果、サービス・プロセスがバックアップ・ソフトウェアにアプリケーション・データを送信してもよく、また、バックアップ・ソフトウェアによって送信されたアプリケーション・データを受信してもよい。例えば、サービス・プロセスとバックアップ・ソフトウェアとの間の接続はsocket/dev/socket/filebackというコマンドにより確立することができる。
【0020】
ステップ13: バックアップ・ソフトウェアがアプリケーション・データに関する処理要求を、ソケットにより、送信する。
【0021】
ステップ14: サービス・プロセスがアプリケーション・データに関する処理要求を、ソケットにより、受信する。ここで、当該処理要求は、バックアップ・ソフトウェアにより送信される。
【0022】
ステップ15: サービス・プロセスが対応するアプリケーション・ソフトウェアにアプリケーション・データに関する処理要求を送信する。
【0023】
ステップ16: サービス・プロセスが対応するアプリケーション・ソフトウェアによって返されたアプリケーション・データを受信する。
【0024】
ステップ17: サービス・プロセスが、返されたアプリケーション・データをバックアップ・ソフトウェアに、ソケットにより、送信する。
【0025】
図2を参照すると、バックアップ・ソフトウェアとサービス・プロセスは、ソケット接続により、相互に対話処理を行うことができ、サービス・プロセスはルート操作権を有しているので、アプリケーション・ソフトウェアと対話することができる。
【0026】
バックアップ・ソフトウェア、サービス・プロセス、及びアプリケーション・データの間でやり取りされた具体的なコマンド、データなどは、データをバックアップするか又はデータをリカバリする目的に応じて異なる可能性があり、具体的な対話処理の流れについては、バックアップ及びリカバリに関する以下の流れを参照することができる。
【0027】
更に、セキュリティを保証するために、バックアップ・ソフトウェアとサービス・プロセスとの間のインターフェース及びサービス・プロセスとアプリケーション・ソフトウェアとの間のインターフェースは、シグネチャによって保護されるように設定することができる。この場合、まず受信した情報についてシグネチャ検証を実行する必要があり、次に検証に合格した後に処理が実行される。例えば、サービス・プロセスは、ソケットにより、アプリケーション・データに関する処理要求であって、バックアップ・ソフトにより送信される、処理要求、を受信し;サービス・プロセスは処理要求についてシグネチャ検証を実行し、次にシグネチャ検証に合格した後に対応するアプリケーション・ソフトウェアにアプリケーション・データに関する処理要求を送信する。他の例の場合、サービス・プロセスの処理要求を受信した後に、アプリケーション・ソフトウェアはまずシグネチャ検証を実行し、次にシグネチャ検証に合格した後にそのアプリケーション・データをサービス・プロセスに送信する。他の例に関して、サービス・プロセスによって返されたアプリケーション・データを受信した場合に、バックアップ・ソフトウェアはまずシグネチャ検証を実行し、次にシグネチャ検証に合格した後にアプリケーション・データを保存する。
【0028】
サービス・プロセスを開始することにより、この実施形態は、サービス・プロセスがルート操作権を有しているのでサービス・プロセスが計算ノード内の様々なアプリケーション・ソフトウェアにアクセスできることを保証することができ、サービス・プロセスがバックアップ・ソフトウェアとのソケット接続を確立し、バックアップ・ソフトウェアと同じuidを有しているのでサービス・プロセスとバックアップ・ソフトウェアとの間の対話処理を保証することができる。従って、バックアップ・ソフトウェアは、サービス・プロセスにより、アプリケーション・ソフトウェアと対話処理を行うことができ、それにより、バックアップ・ソフトウェアによるアプリケーション・ソフトウェア内のアプリケーション・データのバックアップ及びリカバリを達成することができる。
【0029】
図3は、本発明のアプリケーション・データを処理するための方法の他の実施形態の概略流れ図であり、この実施形態はバックアップの流れを一例として挙げている。バックアップ・ソフトウェアとサービス・プロセスは、まず情報のやり取りのために接続を確立する必要があるので、この実施形態によって含まれる以下のステップはサービス・プロセスを開始するためのステップ及びサービス・プロセスとバックアップ
・ソフトウェアとの間のソケット接続の設定のためのステップの後であるということを理解すべきである。
【0030】
アプリケーション・データに関する処理要求はカタログ読み取り要求又はファイル読み取り要求を含み、従って、対応するアプリケーション・ソフトウェアによって返されたアプリケーション・データは、読み取ったカタログ情報又は読み取ったファイル内容を含む。アプリケーション・データを読み取るための全体的な流れについては以下に詳細に説明する。
【0031】
図3を参照すると、この流れは以下のステップを含む。
【0032】
ステップ31: バックアップ・ソフトウェアは、ソケット接続により、カタログ読み取り要求をサービス・プロセスに送信する。
【0033】
バックアップ・ソフトウェアがコマンド・ワード及びパラメータをサービス・プロセスに送信する場合、バックアップ・ソフトウェアはまずコマンド・ワード及びパラメータの長さをサービス・プロセスに送信し、次にコマンド・ワード及びパラメータの具体的な内容を送信することができる。
【0034】
例えば、カタログ読み取り要求が送信される場合、カタログ読み取り要求はopendir+catalogueと表すことができ、ここで、「opendir」はコマンド・ワードであり、「catalogue」はカタログ・パス・パラメータである。この場合、まず「opendir+catalogue」の長さを送信することができ、ここで、その長さは符号なしショート16ビット(unsigned short 16bit)の形で表すことができ、次に「opendir+catalogue」を送信することができる。
【0035】
ステップ32: サービス・プロセスは、カタログ読み取り要求に従って、対応するアプリケーション・ソフトウェアにカタログ読み取り要求を送信する。
【0036】
サービス・プロセスは、コマンド・ワード及びパラメータの受信した長さに従って、対応する長さの内容を読み取り、その内容をコマンド・ワード及びパラメータの具体的な内容と判断し、即ち、カタログ読み取り要求の具体的な内容と判断することができる。
【0037】
例えば、カタログ読み取り要求は、カタログ・パス・パラメータ「catalogue」など、カタログの情報を伝達し、サービス・プロセスは、カタログの情報に応じてカタログのハンドルを取得し、次にハンドルによって示されたアプリケーション・ソフトウェアにカタログ読み取り要求を送信することができる。
【0038】
ステップ33: アプリケーション・ソフトウェアがサービス・プロセスに結果を返す。
【0039】
返された結果は、カタログに基づくすべてのファイル及び関連属性であってもよい。例えば、バックアップ・ソフトウェアによって送信されたカタログ読み取り要求がアプリケーション・ソフトウェアAのカタログを読み取るためのものである場合、アプリケーション・ソフトウェアAは、カタログ1に含まれるファイル情報、カタログ2に含まれるファイル情報、及びカタログ3に含まれるファイル情報など、アプリケーション・ソフトウェアAに含まれるカタログをサービス・プロセスに返す。カタログ読み取り要求は一般に一度に1つのカタログを読み取るためのものであるので、返された結果は一般に1つのカタログに関する情報であることを理解すべきである。
【0040】
ステップ34: サービス・プロセスは、読み取った内容を、ソケット接続により、バックアップ・ソフトウェアに送信する。
【0041】
読み取った内容は、カタログ1に含まれるファイル情報、カタログ2に含まれるファイル情報、並びにカタログ3に含まれるファイル情報など、アプリケーションによってサービス・プロセスに返された結果に含まれるカタログの情報であってもよい。
【0042】
更に、サービス・プロセスは、読み取った内容をバッファ(buffer)に記憶し、次にバッファ内に記憶されたデータ、即ち読み取った内容をバックアップ・ソフトウェアに送信することができる。バッファは、データを記憶するためのデータ・フィールドと解釈することができる。
【0043】
加えて、サービス・プロセスは、まず読み取った内容の長さであって、符号なしショート16ビット(unsigned short 16bit)の形で表すことができる、長さ、を送信することができ、そして次に、読み取った内容をバックアップ・ソフトウェアに送信することができる。バックアップ・ソフトウェアは、読み取った内容の長さに従って、対応する長さのデータを読み取り、次にバックアップ・ソフトウェアは読み取ったデータをバックアップすることができる。
【0044】
ステップ35: バックアップ・ソフトウェアがサービス・プロセスにファイル読み取り要求を送信する。
【0045】
カタログ読み取り要求と同様に、バックアップ・ソフトウェアは、まずファイル読み取り要求の長さを送信し、次にファイル読み取り要求の具体的な内容を送信することができる。
【0046】
ステップ36: サービス・プロセスが対応するアプリケーション・ソフトウェアにファイル読み取り要求を送信する。
【0047】
バックアップ・ソフトウェアによって送信されるファイル読み取り要求はファイル情報を伝達し、例えば、ファイル読み取り要求はopen+file pathであり、ここで、file pathはオープンすべきファイルのパス情報を示してもよい。次にサービス・プロセスはファイル読み取り要求内のファイル・パスから対応するアプリケーション・ソフトウェアを見つけることができる。
【0048】
ステップ37: アプリケーション・ソフトウェアがサービス・プロセスに結果を返す。
【0049】
返された結果は、ファイルの内容、ファイルのフォーマット、及びファイルの操作権など、ファイルの内容に関連する情報を含んでもよい。
【0050】
ステップ38: サービス・プロセスがバックアップ・ソフトウェアにファイルの内容を返す。
【0051】
例えば、返されたファイルの内容は、ファイルの内容、ファイルのフォーマット、ファイルの操作権などを含む。
【0052】
この実施形態においてサービス・プロセスを開始することにより、サービス・プロセスは、アプリケーション・ソフトウェアからデータを読み取り、かつバックアップ・ソフトウェアに当該データを送信してもよく、そしてバックアップ・ソフトウェアは当該データをバックアップしてもよく、これによりデータ・バックアップの処理を実現する。
【0053】
図4は、本発明のアプリケーション・データを処理するための方法の他の実施形態の概略流れ図であり、この実施形態は一例としてリカバリの流れを挙げている。バックアップ・ソフトウェアとサービス・プロセスはまず情報のやり取りのために接続を設定する必要があるので、この実施形態によって含まれる以下のステップはサービス・プロセスを開始するステップ並びにサービス・プロセスとバックアップ・ソフトウェアとの間のソケット接続を設定するステップの後であることを理解すべきである。
【0054】
アプリケーション・データに関する処理要求はカタログ書き込み要求又はファイル書き込み要求を含み、従って、対応するアプリケーション・ソフトウェアによって返されたアプリケーション・データは、カタログ書き込み要求に対応する結果又はファイル書き込み要求に対応する結果を含む。アプリケーション・データをリカバリするための全体的な流れを以下に詳細に説明する。
【0055】
図4を参照すると、この流れは以下のステップを含む。
【0056】
ステップ41: バックアップ・ソフトウェアは、ソケット接続により、カタログ書き込み要求をサービス・プロセスに送信する。
【0057】
カタログ書き込み要求を送信する場合、カタログ読み取り要求の処理と同様に、バックアップ・ソフトウェアはまずカタログ書き込み要求の長さを送信し、次にカタログ書き込み要求の具体的な内容を送信することができる。
【0058】
加えて、カタログ書き込み要求の具体的な内容は、例えば、カタログ1、カタログ2、カタログ3などを含む複数のカタログなどのファイル情報を含んでもよい。そして、カタログ1はファイル1、ファイル2などを含む。任意選択で、カタログ書き込みは一般に一度に1つのカタログを書き込むので、カタログ書き込み要求は一般に1つのカタログの情報を含む。例えば、カタログ書き込み要求のフォーマットは、writeDir+catalogue nameである。加えて、複数のカタログを同じ要求に入れ、特殊文字で分離することができ、例えば、カタログ書き込み要求のフォーマットは、writeDir+catalogue name 1; catalogue name 2; catalogue name 3になる。
【0059】
ステップ42: サービス・プロセスは、カタログ書き込み要求に従って、対応するアプリケーション・ソフトウェアにカタログ書き込み要求を送信する。
【0060】
サービス・プロセスは、カタログ書き込み要求に含まれるカタログ名に応じて対応するハンドルを決定し、次に対応するハンドルによって示されているアプリケーションにカタログ書き込み要求を送信してもよい。、ここで、カタログ書き込み要求はカタログに含まれるファイル情報をんでもよい。
【0061】
例えば、カタログ書き込み要求はアプリケーションAに送信され、ここで、カタログ書き込み要求はカタログ1、カタログ2、カタログ3などを伝達し、かつ含み、カタログ1はファイル1、ファイル2などを含む。
【0062】
ステップ43: アプリケーション・ソフトウェアがサービス・プロセスに結果を返す。
【0063】
ステップ44: サービス・プロセスがバックアップ・ソフトウェアに結果を返す。
【0064】
ステップ43〜44における結果は、カタログ書き込みが成功したかどうかを示す情報であってもよい。
【0065】
ステップ45: バックアップ・ソフトウェアがサービス・プロセスにファイル書き込み要求を送信する。
【0066】
ファイル書き込み要求のフォーマットは、write+file name+file contentにすることができる。
【0067】
ファイル内容は、
図3に示されている方法でバックアップ・ソフトウェアによってすでにバックアップされたデータである可能性がある。
【0068】
ステップ46: サービス・プロセスが対応するアプリケーション・ソフトウェアにファイル書き込み要求を送信する。
【0069】
サービス・プロセスは、ファイル書き込み要求を受信した後に、ファイル名に従って、対応するカタログを決定してもよい。例えば、それぞれのカタログについて実行される操作は一般に直列であるので、操作はその時点の特定のカタログについてのみ実行され、従って、書き込み操作がその時点でカタログBについて実行されている場合、サービス・プロセスは、カタログBに対応するアプリケーションAにファイル書き込み要求を送信することになる。任意選択で、操作がそれぞれのカタログについて並列に実行されてもよく、かつ複数のカタログに対応する複数のファイル名が同じであってもよい場合、バックアップ・ソフトウェアにより送信されるファイル書き込み要求もまた、対応するファイル内容を正しいカタログに書き込むために、カタログの情報を伝達してもよい。
【0070】
ステップ47: アプリケーション・ソフトウェアがサービス・プロセスに結果を返す。
【0071】
ステップ48: サービス・プロセスがバックアップ・ソフトウェアに結果を返す。
【0072】
ステップ47〜48における結果は、ファイル書き込みが成功したかどうかを示す情報であってもよい。リカバリが完了した後に、ソケット(socket)接続を除去してもよく、かつサービス・プロセスは、停止されてもよい。
【0073】
リカバリ操作が完了したと判断した後に、バックアップ・ソフトウェアは、例えば、close+content及び/又はfile pathというコマンドにより、停止させるために、サービス・プロセスに対して指示してもよい。
【0074】
この実施形態においてサービス・プロセスを開始することにより、サービス・プロセスは、バックアップ・ソフトウェアによってバックアップされたデータを受信し、そしてバックアップされたデータをアプリケーション・ソフトウェアに送信してもよく、これによりデータ・リカバリの処理を実現することができる。
【0075】
図5は、開始モジュール51と、接続設定モジュール52と、第1の送信モジュール53と、第1の受信モジュール54と、第2の送信モジュール55と、第2の受信モジュール56と、第3の送信モジュール57とを含む、本発明の計算ノードの一実施形態の概略構造図である。開始モジュール51は、サービス・プロセスを開始するように構成される。接続確立モジュール52は、サービス・プロセスとバックアップ・ソフトウェアとの間のソケット(socket)接続を設定するように構成され、サービス・プロセスはルート(root)操作権を有し、サービス・プロセスとバックアップ・ソフトウェアは同じユーザ識別名(uid)を有する。第1の送信モジュール53は、バックアップ・ソフトウェアが、ソケットにより、アプリケーション・データに関する処理要求を送信すること、を可能とするように構成される。第1の受信モジュール54は、サービス・プロセスが、ソケットにより、アプリケーション・データに関する処理要求であって、バックアップ・ソフトウェアにより送信される、処理要求、を受信すること、を可能とするように構成される。第2の送信モジュール55は、サービス・プロセスがアプリケーション・データに関する処理要求を対応するアプリケーション・ソフトウェアに送信すること、を可能とするように構成される。第2の受信モジュール56は、サービス・プロセスが対応するアプリケーション・ソフトウェアによって返されたアプリケーション・データを受信すること、を可能とするように構成される。第3の送信モジュール57は、サービス・プロセスが、返されたアプリケーション・データを、ソケットにより、バックアップ・ソフトウェアに送信すること、を可能とするように構成される。
【0076】
開始モジュール51及び接続設定モジュール52はオペレーティング・システムにより実現されてもよく、第1の送信モジュール53はバックアップ・ソフトウェアにより実現されてもよく、かつ第1の受信モジュール54、第2の送信モジュール55、第2の受信モジュール56、及び第3の送信モジュール57はサービス・プロセスにより実現されてもよいことに注意すべきである。
【0077】
任意選択で、
図6を参照すると、第1の送信モジュールは第1の送信ユニット61と第2の送信ユニット62とを含む。第1の送信ユニット61は、バックアップ・ソフトウェアがアプリケーション・データに関する処理要求の長さをソケットにより送信すること、を可能とするように構成される。第2の送信ユニット62は、バックアップ・ソフトウェアが、アプリケーション・データに関する処理要求の長さに対応する具体的な内容を、ソケットにより、送信すること、を可能とするように構成される。
【0078】
任意選択で、
図7を参照すると、第3の送信モジュールは第3の送信ユニット71と第4の送信ユニット72とを含む。第3の送信ユニット71は、サービス・プロセスが、返されたアプリケーション・データの長さを、ソケットにより、バックアップ・ソフトウェアに送信すること、を可能とするように構成される。第4の送信ユニット72は、サービス・プロセスが、返されたアプリケーション・データの具体的な内容を、ソケットにより、バックアップ・ソフトウェアに送信すること、を可能とするように構成される。
【0079】
任意選択で、
図8を参照すると、第2の送信モジュールは検証ユニット81と第5の送信ユニット82とを含む。検証ユニット81は、サービス・プロセスが、処理要求について、シグネチャ検証を実行すること、を可能とするように構成される。第5の送信ユニット82は、シグネチャ検証に合格した場合に、アプリケーション・データに関する処理要求を対応するアプリケーション・ソフトウェアに送信するように構成される。
【0080】
サービス・プロセスを開始することにより、この実施形態は、サービス・プロセスがルート操作権を有しているのでサービス・プロセスが計算ノード内の様々なアプリケーション・ソフトウェアにアクセスできることを保証することができ、かつサービス・プロセスがバックアップ・ソフトウェアとのソケット接続を設定し、バックアップ・ソフトウェアと同じuidを有しているのでサービス・プロセスとバックアップ・ソフトウェアとの間の対話処理を保証することができる。従って、バックアップ・ソフトウェアは、サービス・プロセスにより、アプリケーション・ソフトウェアと対話処理を行うことができ、それにより、バックアップ・ソフトウェアによるアプリケーション・ソフトウェア内のアプリケーション・データのバックアップ又はリカバリを実現することができる。
【0081】
計算ノードはモバイル端末であってもよく、、かつモバイル端末は上記の諸実施形態におけるバックアップ及びリカバリ機能を実現してもよく、これについては本明細書でもう一度詳細に説明しないことに注意すべきである。
【0082】
当業者は、本発明のいずれかの実施形態に指定された方法の諸ステップの全部又は一部が、関連するハードウェアに指示するプログラムによって実現されてもよいことを理解すべきである。このプログラムはコンピュータ可読記憶媒体の中に記憶されてもよい。プログラムが実行されると、このプログラムは上記の実施形態に指定された方法の諸ステップを実行する。記憶媒体は、ROM、RAM、磁気ディスク、又はCD−ROMなど、プログラム・コードを記憶できる任意の媒体であってもよい。
【0083】
最後に、上記の諸実施形態は本発明の技術的解決策について説明するために提供されたものに過ぎず、本発明を限定するためのものではないことに注意すべきである。上記の諸実施形態に関連して本発明について詳細に説明してきたが、変更又は置き換えによって対応する技術的解決策の本質が本発明のそれぞれの実施形態の技術的解決策の範囲を逸脱することがない限り、上記の諸実施形態に記載されている技術的解決策に対して変更を行ってもよく、或いは技術的解決策におけるいくつかの技術的特徴に対して均等の置き換えを行ってもよいことを、当業者は理解すべきである。
【0084】
本出願は、「METHOD AND COMPUTATION NODE FOR PROCESSING APPLICATION DATA」という名称で2012年1月4日に出願された中国特許出願第201210000757.1号に対する優先権を請求するものであり、同出願は参照によりその全体が本明細書に組み込まれている。