本発明の実施形態は、コンピュータ技術に関し、詳細には、分散トランザクション・リソースを実行するための方法、装置、及びシステムに関する。
現在、マシン・トゥ・マシン(Machine to Machine,以下では略してM2M)通信、すなわち、モノのインターネット技術が、インテリジェント・トラフィック、農業灌漑産業、及びスマート・ホーム産業等の、より多くの産業及び分野に広範に適用されている。さまざまな産業におけるアプリケーション・サービス要件を満たすために、M2Mシステム事業者が、統一M2Mプラットフォームを開発し、統一M2Mプラットフォームは、いくつかの共通機能、たとえば、データ・アクセス及び記憶、データ共有及び送信、並びにグループ通信を実行する。さまざまなタイプの(たとえば、センサ等の)管理対象オブジェクト・デバイスが、M2Mプラットフォームにアクセスしてもよく、M2Mプラットフォームは、ノースバウンド・アプリケーション・アクセス・インタフェースを提供して、さまざまな産業のアプリケーション・サーバが、アクセス・インタフェースを使用することによって、M2Mプラットフォームによって提供される共通機能を起動してもよい。
RESTfulアーキテクチャを使用するM2Mシステムにおける分散トランザクションについては、トランザクションは、アプリケーション・サーバと管理対象オブジェクト・デバイスとの間で複数の要求を使用することによってタスク又は動作を完了する必要であるということを意味する。トランザクションは、原子性(本明細書では、原子性は、トランザクションが不可分の作業単位であり、そのトランザクションに含まれる動作のすべては、実行完全性を保証するように実行されるべきであるということを意味する)を有することが必要とされる。さらに、分散トランザクションがコミットされるM2Mシステムのいくつかのシナリオでは、複数のサーバ上のトランザクション・リソースは、同時実行を必要とする。たとえば、水源と膨大な数の弁(これらの弁は管理対象オブジェクト・デバイスである)とを含むインテリジェント灌漑のシナリオでは、弁の開放/閉止及び開放率によって、農地のいずれの部分が灌漑されるか及びどれくらいの水が供給されるかを決定する。具体的には、1区画の土地が複数の小区画に分割される。その土地に展開され異なる小区画に分散された土壌センサは、土壌中の水不足の程度を収集し、異なる小区画に展開されたゲートウェイを使用することによって、収集された土壌の水不足のデータをM2Mプラットフォームに報告する。M2Mプラットフォーム上でセンサのデータを読み取ることによって、アプリケーション・サーバは、各々の小区画内の土壌が現在水不足であるか否かを決定し、弁の開放/閉止を制御することによって土地の灌漑を実行する。したがって、ある土地での灌漑は、複数の弁を調整する、たとえば、キャナル・ヘッド弁、サブメイン・パイプ弁、ブランチ・キャナル弁、及びブランチ・パイプ弁を開放することによって、実行されることが必要である。これらの弁は、同時に開放されることが必要である。そうでない場合には、キャナル・ヘッド弁及びサブメイン・パイプ弁は開放されたが、ブランチ・キャナル弁が開放されていない場合、ブランチ・キャナルは溢流させられる。代替的に、いくつかの細いパイプにおいて、弁を非同期的に調整すると、細いパイプ内での異常な圧力を引き起こし、継手を緩めさせる又はパイプを変形させることなどがある。
従来技術は、RESTfulアーキテクチャにおいて分散トランザクション・リソースを実行するための方法、すなわち、試行−確認/キャンセル(TCC−Try Confirm Cancel,以下では略してTCC)方法を提供する。具体的には、アプリケーション・サーバが、複数の管理対象オブジェクト・デバイスに更新要求を送信する。各々の更新要求は、更新要求の有効時間を持つ。管理対象オブジェクト・デバイスは、管理対象オブジェクト・デバイスが、更新要求を実行するための条件を満たすか否かを決定する。そうである場合、管理対象オブジェクト・デバイスは、アプリケーション・サーバに成功応答を返送し、更新要求に対してアプリケーション・サーバによって送信されるコミット要求を待つ。そうでない場合、管理対象オブジェクト・デバイスは、アプリケーション・サーバに失敗応答を返送し、アプリケーション・サーバはロールバック・フェーズに入る。アプリケーション・サーバが、各々の管理対象オブジェクト・デバイスによって返送された成功応答を受信した後、アプリケーション・サーバは、複数の管理対象オブジェクト・デバイスの各々にコミット要求を送信し、それによって、複数の管理対象オブジェクト・デバイスは、更新要求を実行する、すなわち、トランザクション・リソースの実行を完了し、最終状態に入る。管理対象オブジェクト・デバイスが、有効時間が到来する前に、アプリケーション・サーバによって送信されるコミット要求を受信するのに失敗した場合、以前に受信された更新要求が自動的にキャンセルされ、それによって、管理対象オブジェクト・デバイスは初期状態に戻る。
しかしながら、従来技術によって提供される方法では、各々の管理対象オブジェクト・デバイスによってコミット要求の受信の遅延が存在するので、複数の管理対象オブジェクト・デバイスは、トランザクション・リソースを同時に実行することはできない(すなわち、更新要求を同時に実行することはできない)。したがって、分散システムの信頼性に影響を与える。さらに、従来技術では、トランザクションを完了することができる前に、トランザクション・コーディネータとサーバとの間で少なくとも2つの要求(前述の更新要求及びコミット要求)が必要とされ、トランザクションのシグナリング・オーバヘッドは比較的高い。
本発明の複数の実施形態は、分散トランザクション・リソースを実行するための方法、装置、及びシステムを提供して、コミット要求の受信の遅延により複数の管理対象オブジェクト・デバイスがトランザクション・リソース更新要求を同時に実行することはできないので、分散システムの信頼性に影響を与えるという従来技術における技術的問題を解決するとともに、シグナリング・オーバヘッドが高いという従来技術における技術的問題を解決する。
第1の態様によれば、本発明の1つの実施形態は、ママシン・トゥ・マシン通信M2Mシステムに適用される分散トランザクション・リソースを実行するための方法であって、前記M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含み、第1の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちの前記第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであり、当該方法は、
第1のトランザクションについて前記アプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスで受信するステップであって、前記第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む、ステップと、
前記第1のトランザクションについて前記アプリケーション・サーバによって送信された第2のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスで受信するステップであって、前記第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、前記第1の実行時間と前記第2の実行時間は同じである、ステップと、
前記第1のトランザクション・リソース作成要求にしたがって前記第1のトランザクションの第1のトランザクション・リソースを前記第1の管理対象オブジェクト・デバイスによって正常に作成し、前記第2のトランザクション・リソース作成要求にしたがって前記第1のトランザクションの第2のトランザクション・リソースを前記第2の管理対象デバイスによって正常に作成するステップであって、前記第1のトランザクション・リソースは、前記第1の実行時間と前記第1の実行されるべき動作とを含み、前記第2のトランザクション・リソースは、前記第2の実行時間と前記第2の実行されるべき動作とを含む、ステップと、
前記第1のトランザクションの前記第1のトランザクション・リソースの作成に成功したことを示す応答を、前記第1の管理対象オブジェクト・デバイスによって前記アプリケーション・サーバに送信し、前記第1のトランザクションの前記第2のトランザクション・リソースの作成に成功したことを示す応答を、前記第2の管理対象オブジェクト・デバイスによって前記アプリケーション・サーバに送信するステップと、
前記第1の実行時間が到来すると、前記第1の管理対象オブジェクト・デバイス及び前記第2の管理対象デバイスによって実行されるべき前記動作を、それぞれ前記第1の管理対象オブジェクト・デバイス及び前記第2の管理対象デバイスによって実行するステップと、を含む、方法を提供する。
第1の態様を参照して、第1の態様の第1の可能な実装方法では、当該方法は、
第2のトランザクションについて前記アプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスで受信するステップであって、前記第3のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第3の実行時間と、第3の実行されるべき動作とを含む、ステップと、
前記第2のトランザクションについて前記アプリケーション・サーバによって送信された第4のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスで受信するステップであって、前記第4のトランザクション・リソース作成要求は、前記第2の動作させられるべきリソースの前記識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、前記第3の実行時間と前記第4の実行時間は、同じである、ステップと、
前記第2のトランザクションの第3のトランザクション・リソースが前記第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗したということを、前記第1の管理対象オブジェクト・デバイスによって決定し、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す応答を前記アプリケーション・サーバに送信し、前記第4のトランザクション・リソース作成要求にしたがって前記第2の管理対象デバイスによって、前記第2のトランザクションの第4のトランザクション・リソースを正常に作成し、前記第2のトランザクションの前記第4のトランザクション・リソースの作成に成功したことを示す応答を前記アプリケーション・サーバに送信するステップであって、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答は、前記第4のトランザクション・リソースの識別子を持っている、ステップと、
前記第2のトランザクションの前記第4のトランザクション・リソースについて前記アプリケーション・サーバによって送信された処理要求を、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を前記アプリケーション・サーバに送信する前記第2の管理対象オブジェクト・デバイスで受信するステップであって、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている、ステップと、
前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を前記アプリケーション・サーバに送信する前記第2の管理対象オブジェクト・デバイスによって、前記第4のトランザクション・リソースの前記識別子にしたがって、前記作成された第4のトランザクション・リソースを処理するステップと、をさらに含む。
第1の態様の第1の可能な実装方法を参照して、第1の態様の第2の可能な実装方法では、前記第2のトランザクションの第3のトランザクション・リソースが前記第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗したということを、前記第1の管理対象オブジェクト・デバイスによって決定するステップは、
第1のトランザクション・リソース・キューが前記第1の管理対象オブジェクト・デバイスに存在するということを、前記第1の管理対象オブジェクト・デバイスによって決定するステップであって、前記第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む、ステップと、
前記第1の管理対象オブジェクト・デバイスによって、前記第3の実行時間及び前記第1の管理対象オブジェクト・デバイスの前記第1の動作させられるべきリソースの状態にしたがって、前記第3のトランザクション・リソースは、あらかじめ設定されたリソース作成条件を満たさないということを決定するステップと、
前記あらかじめ設定されたリソース作成条件にしたがって、前記第1の管理対象オブジェクト・デバイスによって、前記第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと前記第3の実行時間を更新するということを決定し、前記更新された第3の実行時間を持っている第2の失敗応答を、前記第1の管理対象オブジェクト・デバイスによって前記アプリケーション・サーバに送信するステップと、を含む。
第1の態様の第1の可能な実装方法又は第1の態様の第2の可能な実装方法を参照して、第1の態様の第3の可能な実装方法では、前記第4のトランザクション・リソース作成要求にしたがって前記第2の管理対象デバイスによって、前記第2のトランザクションの第4のトランザクション・リソースを正常に作成するステップは、
前記第2の管理対象オブジェクト・デバイスによって、第2のトランザクション・リソース・キューが前記第2の管理対象オブジェクト・デバイスに存在するということを決定するステップであって、前記第2のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む、ステップと、
前記第2の管理対象オブジェクト・デバイスによって、前記第4の実行時間及び前記第2の管理対象オブジェクト・デバイスの前記第2の動作させられるべきリソースの状態にしたがって、前記第4のトランザクション・リソースは前記あらかじめ設定されたリソース作成条件を満たすということを決定し、第前記4のトランザクション・リソースを作成するステップと、を含む。
第1の態様の第1の可能な実装方法から第1の態様の第3の可能な実装方法のいずれか1つを参照して、第1の態様の第4の可能な実装方法では、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子及び前記更新された第3の実行時間を持っている更新要求であり、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を前記アプリケーション・サーバに送信する前記第2の管理対象オブジェクト・デバイスによって、前記第4のトランザクション・リソースの識別子にしたがって、前記作成された第4のトランザクション・リソースを処理するステップは、具体的には、
前記更新された第3の実行時間にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第4のトランザクション・リソースを正常に更新し、前記更新が成功した後に、更新成功応答メッセージを前記アプリケーション・サーバに返送する、又は、前記更新された第3の実行時間にしたがって前記第4のトランザクション・リソースを更新するのに失敗した場合に、更新失敗応答メッセージを前記アプリケーション・サーバに返送するステップを、含む。
第1の態様の第4の可能な実装方法を参照して、第1の態様の第5の可能な実装方法では、前記更新された第3の実行時間にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第4のトランザクション・リソースを正常に更新するステップは、
前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除するステップと、
前記第2の管理対象オブジェクト・デバイスによって、前記更新された第3の実行時間を新しい第4のトランザクション・リソースの実行時間として使用するステップと、
前記新しい第4のトランザクション・リソースの前記実行時間及び前記第2の管理対象オブジェクト・デバイスの前記第2の動作させられるべきリソースの前記状態にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記新しい第4のトランザクション・リソースは前記あらかじめ設定されたリソース作成条件を満たすということを決定するステップと、
前記更新された第3の実行時間にしたがって前記新しい第4のトランザクション・リソースを、前記第2の管理対象オブジェクト・デバイスによって作成するステップと、を含む。
第1の態様の第1の可能な実装方法から第1の態様の第3の可能な実装方法のいずれか1つを参照して、第1の態様の第6の可能な実装方法では、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている削除要求であり、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を前記アプリケーション・サーバに送信する前記第2の管理対象オブジェクト・デバイスによって前記第4のトランザクション・リソースの前記識別子にしたがって、前記作成された第4のトランザクション・リソースを処理するステップは、具体的には、
前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスによって前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除するステップを含む。
第1の態様の第6の可能な実装方法を参照して、第1の態様の第7の可能な実装方法では、前記第2のトランザクション・リソース・キューの中の1つのトランザクション・リソースは、予約状態であり、前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスによって前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除するステップの後に、当該方法は、
前記第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の前記第2の動作させられるべきリソースの前記状態にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定するステップであって、前記第1の位置は、前記第2のトランザクション・リソース・キューの中の前記第4のトランザクション・リソースより前の位置であり、前記第2の位置は、前記第2のトランザクション・リソース・キューの中の前記第4のトランザクション・リソースの次の位置である、ステップと、
前記第2の位置にある前記トランザクション・リソースが正常に実行される場合に、前記第2の管理対象オブジェクト・デバイスによって前記アプリケーション・サーバに第1の削除応答を送信し、前記第1の位置にある前記トランザクション・リソースが実行された後に、前記第2の位置にある前記トランザクション・リソースの状態を前記予約状態へと更新するステップ、又は
前記第2の位置にある前記トランザクション・リソースが実行されるのに失敗した場合に、前記第2の管理対象オブジェクト・デバイスによって記第2の位置にある前記トランザクション・リソースを削除するステップをさらに含む。
第1の態様の第6の可能な実装方法を参照して、第1の態様の第8の可能な実装方法では、前記第2のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースは、予約状態であり、前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除するステップの後に、当該方法は、
前記第2の管理対象オブジェクト・デバイスによって、前記第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースが、あらかじめ設定された削除条件を満たすか否かを決定するステップと、
前記第2のトランザクション・リソース・キューの中の前記半予約状態の前記トランザクション・リソースが、あらかじめ設定された削除条件を満たす場合に、前記第2の管理対象オブジェクト・デバイスによって、前記半予約状態の前記トランザクション・リソースを削除し、第2の削除応答を前記アプリケーション・サーバに送信するステップ、又は
前記第2のトランザクション・リソース・キューの中の前記半予約状態の前記トランザクション・リソースが、前記あらかじめ設定された削除条件を満たさない場合に、前記半予約状態の前記トランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の前記第2の動作させられるべきリソースの前記状態にしたがって、前記第2の管理対象オブジェクト・デバイスによって、前記半予約状態の前記トランザクション・リソースが正常に実行可能であるということを決定し、前記第2の管理対象オブジェクト・デバイスによって、前記半予約状態の前記トランザクション・リソースを前記予約状態へと更新するステップと、をさらに含む。
第2の態様によれば、本発明の1つの実施形態は、マシン・トゥ・マシン通信M2Mシステムに適用される分散トランザクション・リソースを実行するための方法であって、前記M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含み、第1の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのいずれか1つであり、前記第2の管理対象オブジェクトは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちの前記第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであり、当該方法は、
前記アプリケーション・サーバによって、第1のトランザクションについての第1のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスに送信するステップであって、前記第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む、ステップと、
前記アプリケーション・サーバによって、前記第1のトランザクションについての第2のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスに送信するステップであって、前記第2のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、前記第1の実行時間と前記第2の実行時間は、同じである、ステップと、
アプリケーション・サーバによって、あらかじめ設定された時間内に、前記第2の管理対象オブジェクト・デバイスによって送信されるとともに前記第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答を受信し、前記第1の管理対象オブジェクト・デバイスによって送信されるとともに前記第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答を受信するステップと、を含む、方法を提供する。
第2の態様を参照すると、第2の態様の第1の可能な実装方法では、当該方法は、
前記アプリケーション・サーバによって、第2のトランザクションについての第3のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスに送信するステップであって、前記第3のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第3の実行時間と、第3の実行されるべき動作とを含む、ステップと、
前記アプリケーション・サーバによって、前記第2のトランザクションについての第4のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスに送信するステップであって、前記第4のトランザクション・リソース作成要求は、前記第2の動作させられるべきリソースの前記識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、前記第3の実行時間と前記第4の実行時間は、同じである、ステップと、
前記アプリケーション・サーバによって、あらかじめ設定された時間内に、前記第1の管理対象オブジェクト・デバイスによって送信されるとともに前記第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答を受信し、前記あらかじめ設定された時間内に、前記第2の管理対象オブジェクト・デバイスによって送信されるとともに前記第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答を受信するステップであって、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答は、前記第4のトランザクション・リソースの識別子を持っている、ステップと、
前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答及び前記第2のトランザクションの前記第4のトランザクション・リソースの作成に成功したことを示す前記応答に基づいて、前記アプリケーション・サーバによって、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記第2のトランザクションの前記第4のトランザクション・リソースについての処理要求を送信するステップであって、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている、ステップと、をさらに含む。
第2の態様の第1の可能な実装方法を参照して、第2の態様の第2の可能な実装方法では、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答及び前記第2のトランザクションの前記第4のトランザクション・リソースの作成に成功したことを示す前記応答に基づいて、前記アプリケーション・サーバによって、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記第2のトランザクションの前記第4のトランザクション・リソースについての処理要求を送信するステップは、
前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答は、更新された第3の実行時間を持っていない第1の失敗応答であるということを、前記アプリケーション・サーバによって決定し、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記第4のトランザクション・リソースの前記識別子を持っている削除要求を送信するステップ、又は
前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答は、前記更新された第3の実行時間を持っている第2の失敗応答であるということを、前記アプリケーション・サーバによって決定し、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記更新された第3の実行時間及び前記第4のトランザクション・リソースの前記識別子を持っている更新要求を送信するステップを含み、当該方法は、前記アプリケーション・サーバによって、前記更新された第3の実行時間を持っている第3のトランザクション・リソース作成要求を前記第1の管理対象デバイスに送信するステップをさらに含む。
第3の態様によれば、本発明の1つの実施形態は、マシン・トゥ・マシン通信M2Mシステムに適用されるアプリケーション・サーバであって、前記M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、当該アプリケーション・サーバとを備え、第1の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、前記第2の管理対象オブジェクトは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちの前記第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであり、当該アプリケーション・サーバは、
第1の動作させられるべきリソースの識別子と第1の実行時間と第1の実行されるべき動作とを含むとともに第1のトランザクションについての第1のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスに送信するように構成され、前記第1の動作させられるべきリソースの前記識別子と第2の実行時間と第2の実行されるべき動作とを含むとともに前記第1のトランザクションについての第2のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスに送信するようにさらに構成される送信モジュールであって、前記第1の実行時間と前記第2の実行時間は、同じである、送信モジュールと、
あらかじめ設定された時間内に、前記第2の管理対象オブジェクト・デバイスによって送信されるとともに前記第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答を受信し、前記第1の管理対象オブジェクト・デバイスによって送信されるとともに前記第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答を受信するように構成される受信モジュールと、
を含むアプリケーション・サーバを提供する。
第3の態様を参照して、第3の態様の第1の可能な実装方法では、前記送信モジュールは、前記第1の動作させられるべきリソースの前記識別子と第3の実行時間と第3の実行されるべき動作とを含むとともに第2のトランザクションについての第3のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスに送信するようにさらに構成され、前記第2の動作させられるべきリソースの前記識別子と第4の実行時間と第4の実行されるべき動作とを含むとともに前記第2のトランザクションについての第4のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスに送信するようにさらに構成され、前記第3の実行時間と前記第4の実行時間は、同じであり、
前記受信モジュールは、あらかじめ設定された時間内に、前記第1の管理対象オブジェクト・デバイスによって送信されるとともに前記第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答を受信し、前記あらかじめ設定された時間内に、前記第2の管理対象オブジェクト・デバイスによって送信されるとともに前記第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答を受信するようにさらに構成され、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答は、前記第4のトランザクション・リソースの識別子を持ち、
送信モジュールは、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答及び前記第2のトランザクションの前記第4のトランザクション・リソースの作成に成功したことを示す前記応答に基づいて、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記第2のトランザクションの前記第4のトランザクション・リソースについての処理要求を送信するようにさらに構成され、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている。
第3の態様の第1の可能な実装方法を参照して、第3の態様の第2の可能な実装方法では、前記送信モジュールは、具体的には、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答は、更新された第3の実行時間を持っていない第1の失敗応答であるということを決定し、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記第4のトランザクション・リソースの前記識別子を持っている削除要求を送信する、又は、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答は、前記更新された第3の実行時間を持っている第2の失敗応答であるということを決定し、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記更新された第3の実行時間及び前記第4のトランザクション・リソースの前記識別子を持っている更新要求を送信するように構成され、
前記送信モジュールは、前記更新された第3の実行時間を持っている第3のトランザクション・リソース作成要求を前記第1の管理対象デバイスに送信するようにさらに構成される。
第4の態様によれば、本発明の1つの実施形態は、マシン・トゥ・マシン通信M2Mシステムに適用される分散トランザクション・リソースを実行するためのシステムであって、前記M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含み、第1の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちの前記第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであり、分散トランザクション・リソースを実行するための当該システムは、前記第1の管理対象オブジェクト・デバイスと前記第2の管理対象オブジェクト・デバイスとを含み、
前記第1の管理対象オブジェクト・デバイスは、第1のトランザクションについてアプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を受信し、前記第1のトランザクション・リソース作成要求にしたがって前記第1のトランザクションの第1のトランザクション・リソースを正常に作成し、前記第1のトランザクションの前記第1のトランザクション・リソースの作成に成功したことを示す応答を前記アプリケーション・サーバに送信するように構成され、前記第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含み、
前記第2の管理対象オブジェクト・デバイスは、前記第1のトランザクションについて前記アプリケーション・サーバによって送信された第2のトランザクション・リソース作成要求を受信し、前記第2のトランザクション・リソース作成要求にしたがって前記第1のトランザクションの第2のトランザクション・リソースを正常に作成し、前記第1のトランザクションの前記第2のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信するように構成され、前記第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、前記第1の実行時間と前記第2の実行時間は、同じであり、前記第1のトランザクション・リソースが、前記第1の実行時間と、前記第1の実行されるべき動作とを含み、前記第2のトランザクション・リソースは、第前記2の実行時間と、前記第2の実行されるべき動作とを含み、
前記第1の実行時間が到来すると、前記第1の管理対象オブジェクト・デバイス及び前記第2の管理対象デバイスはそれぞれ、前記第1の管理対象オブジェクト・デバイス及び前記第2の管理対象オブジェクト・デバイスによって実行されるべき前記動作を実行するように構成される、システムを提供する。
第4の態様を参照すると、第4の態様の第1の可能な実装方法では、前記第1の管理対象オブジェクト・デバイスは、第2のトランザクションについて前記アプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信し、前記第2のトランザクションの第3のトランザクション・リソースが前記第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗したということを決定し、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す応答を前記アプリケーション・サーバに送信するようにさらに構成され、前記第3のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第3の実行時間と、第3の実行されるべき動作とを含み、
前記第2の管理対象オブジェクト・デバイスは、前記第2のトランザクションについて前記アプリケーション・サーバによって送信された第4のトランザクション・リソース作成要求を受信し、前記第4のトランザクション・リソース作成要求にしたがって前記第2のトランザクションの第4のトランザクション・リソースを正常に作成し、前記第2のトランザクションの前記第4のトランザクション・リソースの作成に成功したことを示す応答を前記アプリケーション・サーバに送信するようにさらに構成され、前記第4のトランザクション・リソース作成要求は、前記第2の動作させられるべきリソースの前記識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、前記第3の実行時間と前記第4の実行時間は、同じであり、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答は、前記第4のトランザクション・リソースの識別子を持ち、
前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を前記アプリケーション・サーバに送信する前記第2の管理対象オブジェクト・デバイスは、前記第2のトランザクションの前記第4のトランザクション・リソースについて前記アプリケーション・サーバによって送信された処理要求を受信し、前記第4のトランザクション・リソースの前記識別子にしたがって前記作成された第4のトランザクション・リソースを処理するようにさらに構成され、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている。
第4の態様の第1の可能な実装方法を参照して、第4の態様の第2の可能な実装方法では、前記第1の管理対象オブジェクト・デバイスは、具体的には、第1のトランザクション・リソース・キューが前記第1の管理対象オブジェクト・デバイスに存在するということを決定し、前記第3の実行時間及び前記第1の管理対象オブジェクト・デバイスの前記第1の動作させられるべきリソースの状態にしたがって、前記第3のトランザクション・リソースはあらかじめ設定されたリソース作成条件を満たさないということを決定し、前記あらかじめ設定されたリソース作成条件にしたがって、前記第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと前記第3の実行時間を更新するということを決定し、前記更新された第3の実行時間を持っている第2の失敗応答を前記アプリケーション・サーバに送信するように構成され、前記第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
第4の態様の第1の可能な実装方法又は第4の態様の第2の可能な実装方法を参照して、第4の態様の第3の可能な実装方法では、前記第2の管理対象オブジェクト・デバイスは、具体的には、第2のトランザクション・リソース・キューが前記第2の管理対象オブジェクト・デバイスに存在するということを決定し、前記第4の実行時間及び前記第2の管理対象オブジェクト・デバイスの前記第2の動作させられるべきリソースの状態にしたがって、前記第4のトランザクション・リソースはあらかじめ設定されたリソース作成条件を満たすということを決定し、前記第4のトランザクション・リソースを作成するように構成され、前記第2のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
第4の態様の第1の可能な実装方法から第4の態様の第3の可能な実装方法のいずれか1つを参照して、第4の態様の第4の可能な実装方法では、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子及び前記更新された第3の実行時間を持っている更新要求であり、前記第2の管理対象オブジェクト・デバイスは、前記更新された第3の実行時間にしたがって前記第4のトランザクション・リソースを正常に更新し、前記更新が成功した後に、更新成功応答メッセージを前記アプリケーション・サーバに返送する、又は、前記更新された第3の実行時間にしたがって前記第4のトランザクション・リソースを更新するのに失敗し、更新失敗応答メッセージを前記アプリケーション・サーバに返送するようにさらに構成される。
第4の態様の第4の可能な実装方法を参照して、第4の態様の第5の可能な実装方法では、前記第2の管理対象オブジェクト・デバイスは、前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除し、前記更新された第3の実行時間を新しい第4のトランザクション・リソースの実行時間として使用し、前記新しい第4のトランザクション・リソースの前記実行時間及び前記第2の管理対象オブジェクト・デバイスの前記第2の動作させられるべきリソースの前記状態にしたがって、前記新しい第4のトランザクション・リソースが前記あらかじめ設定されたリソース作成条件を満たすということを決定し、前記更新された第3の実行時間にしたがって前記新しい第4のトランザクション・リソースを作成するようにさらに構成される。
第4の態様の第1の可能な実装方法から第4の態様の第3の可能な実装方法のいずれか1つを参照して、第4の態様の第6の可能な実装方法では、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている削除要求であり、前記第2の管理対象オブジェクト・デバイスは、前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除するようにさらに構成される。
第4の態様の第6の可能な実装方法を参照して、第4の態様の第7の可能な実装方法では、前記第2のトランザクション・リソース・キューの中の1つのトランザクション・リソースは、予約状態であり、前記第2の管理対象オブジェクト・デバイスは、前記第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の前記第2の動作させられるべきリソースの前記状態にしたがって、前記第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定するようにさらに構成され、前記第1の位置は前記第2のトランザクション・リソース・キューの中の前記第4のトランザクション・リソースの前の位置であり、前記第2の位置は前記第2のトランザクション・リソース・キューの中の前記第4のトランザクション・リソースの次の位置であり、
前記第2の位置にある前記トランザクション・リソースが正常に実行される場合に、前記第2の管理対象オブジェクト・デバイスは、第1の削除応答を前記アプリケーション・サーバに送信し、前記第1の位置にある前記トランザクション・リソースが実行された後に、前記第2の位置にある前記トランザクション・リソースの状態を前記予約状態へと更新するようにさらに構成される、又は
前記第2の位置にある前記トランザクション・リソースが実行されるのに失敗した場合に、前記第2の管理対象オブジェクト・デバイスは、前記第2の位置にある前記トランザクション・リソースを削除するようにさらに構成される。
第4の態様の第6の可能な実装方法を参照して、第4の態様の第8の可能な実装方法では、前記第2のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースは、予約状態であり、前記第2の管理対象オブジェクト・デバイスは、前記第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすか否かを決定するようにさらに構成され、
前記第2のトランザクション・リソース・キューの中の前記半予約状態の前記トランザクション・リソースが前記あらかじめ設定された削除条件を満たす場合に、前記第2の管理対象オブジェクト・デバイスは、前記半予約状態の前記トランザクション・リソースを削除し、第2の削除応答を前記アプリケーション・サーバに送信するようにさらに構成される、又は、
前記第2のトランザクション・リソース・キューの中の前記半予約状態の前記トランザクション・リソースが前記あらかじめ設定された削除条件を満たさない場合に、前記第2の管理対象オブジェクト・デバイスは、前記半予約状態の前記トランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の前記第2の動作させられるべきリソースの前記状態にしたがって、前記半予約状態の前記トランザクション・リソースが正常に実行可能であるということを決定し、前記半予約状態のトランザクション・リソースを前記予約状態へと更新するようにさらに構成される。
第5の態様によれば、本発明の1つの実施形態は、マシン・トゥ・マシン通信M2Mシステムに適用される管理対象オブジェクト・デバイスであって、前記M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスとアプリケーション・サーバとを含み、当該管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちの当該管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであり、当該管理対象オブジェクト・デバイスは、
第1のトランザクションについて前記アプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を受信するように構成された受信モジュールであって、前記第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含み、前記第1の実行時間は、前記第1のトランザクションについての第2のトランザクション・リソース作成要求の中の第2の実行時間と同じであり、前記第2のトランザクション・リソース作成要求は、前記M2Mシステムの中の当該管理対象オブジェクト・デバイス以外の前記第2の管理対象オブジェクト・デバイスによって受信される、受信モジュールと、
前記第1のトランザクション・リソース作成要求にしたがって第1のトランザクション・リソースを正常に作成するように構成される作成モジュールであって、前記第1のトランザクション・リソースは、前記第1の実行時間と、前記第1の実行されるべき動作とを含む、作成モジュールと、
前記第1の実行時間が到来すると、前記第1のトランザクションの前記第1のトランザクション・リソースについて前記アプリケーション・サーバによって送信された処理要求が受信されないということを決定するように構成される決定モジュールであって、前記アプリケーション・サーバが、前記第2の管理対象オブジェクト・デバイスによって送信されるとともに前記第1のトランザクションの第2のトランザクション・リソースの作成に成功しなかったことを示す応答を受信した後に、前記第1のトランザクションの前記第1のトランザクション・リソースについての前記処理要求が送信される、決定モジュールと、
第1の実行されるべき動作を実行するように構成される処理モジュールと、を含む、管理対象オブジェクト・デバイスを提供する。
第5の態様を参照して、第5の態様の第1の可能な実装方法では、当該管理対象オブジェクト・デバイスは、送信モジュールをさらに含み、
前記受信モジュールは、第2のトランザクションについて前記アプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信するようにさらに構成され、前記第3のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第3の実行時間と、第3の実行されるべき動作とを含み、前記第3の実行時間は、前記第2のトランザクションについて前記第2の管理対象オブジェクト・デバイスによって受信された第4のトランザクション・リソース作成要求の中の第4の実行時間と同じであり、
前記作成モジュールは、第3のトランザクション・リソースが前記第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗したということを決定するようにさらに構成され、
前記送信モジュールは、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す応答を前記アプリケーション・サーバに送信するように構成される。
第5の態様の第1の可能な実装方法を参照して、第5の態様の第2の可能な実装方法では、前記作成モジュールは、具体的には、第1のトランザクション・リソース・キューが当該管理対象オブジェクト・デバイスに存在するということを決定し、前記第3の実行時間及び当該管理対象オブジェクト・デバイスの前記第1の動作させられるべきリソースの状態にしたがって、前記第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たさないということを決定し、前記あらかじめ設定されたリソース作成条件にしたがって、前記第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと前記第3の実行時間を更新するということを決定するように構成され、前記第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含み、
前記送信モジュールは、具体的には、前記更新された第3の実行時間を持っている第2の失敗応答を前記アプリケーション・サーバに送信するように構成される。
第5の態様の第1の可能な実装方法を参照して、第5の態様の第3の可能な実装方法では、当該管理対象オブジェクト・デバイスは、送信モジュールをさらに含み、
前記受信モジュールは、第2のトランザクションについて前記アプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信するようにさらに構成され、前記第3のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第3の実行時間と、第3の実行されるべき動作とを含み、前記第3の実行時間は、前記第2のトランザクションについて前記第2の管理対象オブジェクト・デバイスによって受信された第4のトランザクション・リソース作成要求の中の第4の実行時間と同じであり、
前記作成モジュールは、前記第3のトランザクション・リソース作成要求にしたがって前記第3のトランザクション・リソースを正常に作成するようにさらに構成され、
前記送信モジュールは、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功したことを示す応答を前記アプリケーション・サーバに送信するように構成され、前記第3のトランザクション・リソースの作成に成功したことを示す前記応答は、前記第3のトランザクション・リソースの識別子を持ち、
前記決定モジュールは、前記第3の実行時間が到来する前に、前記第2のトランザクションの前記第3のトランザクション・リソースについて前記アプリケーション・サーバによって送信された処理要求が受信されたということを決定するようにさらに構成され、前記第2のトランザクションの前記第3のトランザクション・リソースについての前記処理要求は、前記第3のトランザクション・リソースの前記識別子を持ち、
前記処理モジュールは、前記第3のトランザクション・リソースの前記識別子にしたがって、前記作成された第3のトランザクション・リソースを処理するようにさらに構成される。
第5の態様の第3の可能な実装方法を参照して、第5の態様の第4の可能な実装方法では、前記作成モジュールは、具体的には、第1のトランザクション・リソース・キューが当該管理対象オブジェクト・デバイスに存在するということを決定し、前記第3の実行時間及び当該管理対象オブジェクト・デバイスの前記第1の動作させられるべきリソースの状態にしたがって、前記第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、前記第3のトランザクション・リソースを作成するように構成され、前記第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
第5の態様の第3の可能な実装方法又は第5の態様の第4の可能な実装方法を参照して、第5の態様の第5の可能な実装方法では、前記第2のトランザクションの前記第3のトランザクション・リソースについての前記処理要求は、前記第3のトランザクション・リソースの前記識別子及び更新された第4の実行時間を持っている更新要求であり、前記処理モジュールは、具体的には、前記更新された第4の実行時間にしたがって前記第3のトランザクション・リソースを正常に更新し、前記更新が成功した後に、更新成功応答メッセージを前記アプリケーション・サーバに返送する、又は、前記更新された第4の実行時間にしたがって前記第3のトランザクション・リソースを更新するのに失敗し、更新失敗応答メッセージを前記アプリケーション・サーバに返送するように構成される。
第5の態様の第5の可能な実装方法を参照して、第5の態様の第6の可能な実装方法では、前記処理モジュールは、具体的には、前記第3のトランザクション・リソースの前記識別子にしたがって当該管理対象オブジェクト・デバイスにある前記第3のトランザクション・リソースを削除し、前記更新された第4の実行時間を新しい第3のトランザクション・リソースの実行時間として使用し、前記新しい第3のトランザクション・リソースの前記実行時間及び当該管理対象オブジェクト・デバイスの前記第1の動作させられるべきリソースの前記状態にしたがって、前記新しい第3のトランザクション・リソースが前記あらかじめ設定されたリソース作成条件を満たすということを決定し、前記更新された第4の実行時間にしたがって前記新しい第3のトランザクション・リソースを作成するように構成される。
第5の態様の第3の可能な実装方法又は第5の態様の第4の可能な実装方法を参照して、第5の態様の第7の可能な実装方法では、前記第2のトランザクションの前記第3のトランザクション・リソースについての前記処理要求は、前記第3のトランザクション・リソースの前記識別子を持っている削除要求であり、前記処理モジュールは、具体的には、前記第3のトランザクション・リソースの前記識別子にしたがって当該管理対象オブジェクト・デバイスにある前記第3のトランザクション・リソースを削除するように構成される。
第5の態様の第7の可能な実装方法を参照して、第5の態様の第8の可能な実装方法では、前記第1のトランザクション・リソース・キューの中の1つのトランザクション・リソースは、予約状態であり、前記処理モジュールは、前記第1のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の前記第1の動作させられるべきリソースの前記状態にしたがって、前記第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定し、前記第2の位置にある前記トランザクション・リソースが正常に実行される場合に、第1の削除応答を前記アプリケーション・サーバに送信し、前記第1の位置にある前記トランザクション・リソースが実行された後に、前記第2の位置にある前記トランザクション・リソースの状態を前記予約状態へと更新する、又は、前記第2の位置にある前記トランザクション・リソースが実行されるのに失敗した場合に、前記第2の位置にある前記トランザクション・リソースを削除するようにさらに構成され、前記第1の位置は、前記第1のトランザクション・リソース・キューの中の前記第3のトランザクション・リソースの前の位置であり、前記第2の位置は、前記第1のトランザクション・リソース・キューの中の前記第3のトランザクション・リソースの次の位置である。
第5の態様の第7の可能な実装方法を参照して、第5の態様の第9の可能な実装方法では、前記第1のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースは、予約状態であり、前記処理モジュールは、前記第1のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすか否かを決定し、前記第1のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たす場合に、前記半予約状態の前記トランザクション・リソースを削除し、第2の削除応答を前記アプリケーション・サーバに送信する、又は、前記第1のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たさない場合、前記半予約状態の前記トランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の前記第1の動作させられるべきリソースの前記状態にしたがって、前記半予約状態の前記トランザクション・リソースが正常に実行可能であるということを決定し、前記半予約状態の前記トランザクション・リソースを前記予約状態へと更新するようにさらに構成される。
本発明の実施形態にしたがって分散トランザクション・リソースを実行するための方法、装置、及びシステムにおいては、複数の管理対象オブジェクト・デバイスに送信されるトランザクション・リソース作成要求は同じ実行時間を持ち、それによって、トランザクション・リソースが正常に作成され、実行時間が到来すると、複数の管理対象オブジェクト・デバイスが、管理対象オブジェクト・デバイスによって作成されるトランザクション・リソースを同時に実行し、その結果、トランザクション・リソースが同時に実行されることを保証する。さらに、本発明の実施形態では、トランザクション・リソースが同時に実行されることを保証するには、アプリケーション・サーバは、管理対象オブジェクト・デバイスにトランザクション・リソース作成要求を1つのみ送信すればよい。したがって、アプリケーション・サーバのシグナリング・オーバヘッドが減少される。
本発明の実施形態又は従来技術における技術的解決策についてより明確に説明するために、以下は、実施形態又は従来技術について説明するために必要とされる添付の図面について簡単に説明する。明らかに、以下の説明における添付の図面は本発明のいくつかの実施形態を示し、当業者は、依然として、創造的な努力なしにこれらの添付の図面から他の図面を得てよい。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態1の概略フローチャートである。
本発明による、インテリジェント灌漑のためのM2Mネットワーク・アーキテクチャの概略図である。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態2の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態2の別の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態2の別の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態2の別の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態3の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態4の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態5の概略フローチャートである。
本発明によるアプリケーション・サーバの1つの実施形態の概略構造図である。
本発明による管理対象オブジェクト・デバイスの実施形態1の概略構造図である。
本発明による管理対象オブジェクト・デバイスの実施形態2の概略構造図である。
本発明による、分散トランザクション・リソースを実行するためのシステムの1つの実施形態の概略構造図である。
本発明の実施形態の目的、技術的解決策、及び利点をより明確にするために、以下は、本発明の実施形態における添付の図面を参照して、本発明の実施形態における技術的解決策について明確及び完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のすべてではないが、いくつかである。当業者によって創造的な努力なしに本発明の実施形態に基づいて得られるすべての他の実施形態は、本発明の保護範囲内に含まれるものとする。
本出願における技術的解決策は、マシン・トゥ・マシン(Machine to Machine,以下では略してM2M)通信システムに適用され得る。このシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含んでよい。本出願に関与する第1の管理対象オブジェクト・デバイスは、少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであってよく、第2の管理対象オブジェクトは、少なくとも2つの管理対象オブジェクト・デバイスのうちの第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであってよい。M2Mシステム内の管理対象オブジェクト・デバイスが第1の管理対象オブジェクト・デバイスとして規定される場合、本明細書では、第2の管理対象オブジェクト・デバイスは、第1の管理対象オブジェクト・デバイスを除くM2Mシステム内の任意の管理対象オブジェクト・デバイスである。本出願内の管理対象オブジェクト・デバイスは、サーバ、通信ゲートウェイ、又はM2Mプラットフォームであってよいことが留意されるべきである。アプリケーション・サーバは、M2Mシステム内のトランザクション・コーディネータであってもよいし、別の管理エンティティ・デバイスであってもよい。
RESTfulアーキテクチャでは、アプリケーション・サーバは、インフラストラクチャ・ノード−アプリケーション・エンティティ(Infrastructure Node−Application Entity,以下では略してIN−AE)、アプリケーション・サービス・ノード−アプリケーション・エンティティ(Application Service Node−Application Entity,以下では略してASN−AE)、アプリケーション専用ノード−アプリケーション・エンティティ(Application Dedicated Node−Application Entity,以下では略してADN−AE)、又はミドル・ノード−アプリケーション・エンティティ(Middle Node−Application Entity,以下では略してMN−AE)であってよい。管理対象オブジェクト・デバイスは、インフラストラクチャ・ノード−共通サービス・エンティティ(Infrastructure Node−Common Service Entity,以下では略してIN−CSE)、ミドル・ノード−共通サービス・エンティティ(Middle Node−Common Service Entity,以下では略してMN−CSE)、又はアプリケーション・サービス・ノード−共通サービス・エンティティ(Application Service Node−Common Service Entity,以下では略してASN−CSE)であってよい。RESTfulアーキテクチャでは、トランザクションの関係者としては、1つのAEと、複数のCSEがあり、AEは本出願におけるアプリケーション・サーバであり、CSEは、本出願における管理対象オブジェクト・デバイスである。
さらに、1つの管理対象オブジェクト・デバイスは1つの動作させられるべきリソースのみに対応する、すなわち、管理対象オブジェクト・デバイスによって受信されるすべてのトランザクション・リソース作成要求に含まれる動作させられるべきリソースの識別子は同じ識別子であることが留意されるべきである。異なる管理対象オブジェクト・デバイスは、異なる動作させられるべきリソースに対応する。
図1は、本発明による、分散トランザクション・リソースを実行するための方法の実施形態1の概略フローチャートである。本発明のこの実施形態は、管理対象オブジェクト・デバイスがアプリケーション・サーバのトランザクション内の複数のトランザクション・リソースを同時に実行する具体的なプロセス、すなわち、M2Mシステム内の管理対象オブジェクト・デバイスにある動作させられるべきリソースに対して、別のトランザクションのトランザクション・リソースが現在ないシナリオに関する。図1に示されるように、方法は、以下のステップを含む。
S101。第1の管理対象オブジェクト・デバイスは、第1のトランザクションについてアプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を受信し、この第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む。
S102。第2の管理対象オブジェクト・デバイスは、第1のトランザクションについてアプリケーション・サーバによって送信された第2のトランザクション・リソース作成要求を受信し、この第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、第1の実行時間と第2の実行時間は同じである。
具体的には、アプリケーション・サーバは、第1のトランザクションに対する第1のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに、第1のトランザクションに対する第2のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに、別々に送信する、すなわち、第1のトランザクション・リソースと第2のトランザクション・リソースの両方は、アプリケーション・サーバの第1のトランザクションに属する。第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む。第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含む。第1の実行時間と第2の実行時間は同じである。選択的に、第1の実行されるべき動作と第2の実行されるべき動作は、同じであってもよいし、異なってもよい。さらに、第1の実行されるべき動作又は第2の実行されるべき動作は、プリミティブな形で反映されてもよいし、別の様式で反映されてもよい。
S103。第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース作成要求にしたがって第1のトランザクションの第1のトランザクション・リソースを正常に作成し、第2の管理対象デバイスは、第2のトランザクション・リソース作成要求にしたがって第1のトランザクションの第2のトランザクション・リソースを正常に作成し、第1のトランザクション・リソースは、第1の実行時間と、第1の実行されるべき動作とを含み、第2のトランザクション・リソースは、第2の実行時間と、第2の実行されるべき動作とを含む。
第1の管理対象デバイスによって実行される動作と第2の管理対象オブジェクト・デバイスによって実行される動作は類似していることは、留意されるべきである。したがって、以下の技術的解決策のすべてにおいて、第1の管理対象オブジェクト・デバイスが、説明される対象として使用される。第2の管理対象オブジェクト・デバイスによって実行される動作については、第1の管理対象オブジェクト・デバイスによって実行される動作を参照されたい。第2の管理対象オブジェクト・デバイスによって第2のトランザクション・リソースを作成するプロセスについては、第1の管理対象オブジェクト・デバイスによって第1のトランザクション・リソースを作成するプロセスを参照されたい。
具体的には、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース作成要求内で持たれる第1の実行時間及び第1の実行されるべき動作等の情報にしたがって、第1のトランザクション・リソースが正常に作成可能であるかどうかを決定する。第1の実行されるべき動作は、要求の開始者、要求されたターゲット・リソースの識別子、及び要求される特定の内容等の情報を含む。
選択的に、第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる情報にしたがって、第1のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすかどうかを決定してよい。具体的には、この条件は、以下の(1)から(4)の内容を含み得る。(1)第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる「要求されたターゲット・リソースの識別子」にしたがって、第1の実行されるべき動作に対して要求されるターゲット・リソースが第1の動作させられるべきリソースであるかどうかをチェックする。(2)第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる「要求の開始者」にしたがって、開始者(すなわち、アプリケーション・サーバ)が、第1のトランザクション・リソース作成要求を開始するのに十分な権利を有するかどうかをチェックする。(3)第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる「要求された内容」にしたがって、要求された内容が第1の動作させられるべきリソースに対して実行可能であるかどうかをチェックする。たとえば、第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる属性が、第1の管理対象オブジェクト・デバイスの許可された属性範囲内であるかどうかをチェックすることによって、要求された内容が第1の動作させられるべきリソースに対して実行可能であるかどうかをチェックする。(4)第1の管理対象オブジェクト・デバイスは、第1の実行時間並びに第1の管理対象オブジェクト・デバイスの作業期間及び休止期間の構成にしたがって、第1の実行時間によって指定された時間に、第1のトランザクション・リソース作成要求内に持たれた第1の実行されるべき動作の実行が保証可能であるかどうかをチェックする。
前述の4つの項目がすべて正常にチェックされた場合、それは、第1のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすことを示し、第1の管理対象オブジェクト・デバイスが第1のトランザクション・リソース作成要求にしたがって第1のトランザクション・リソースを正常に作成可能である。RESTfulアーキテクチャの特徴に基づいて、作成された第1のトランザクション・リソースは、3つの属性、すなわち、第1のトランザクション・リソースの状態と、第1の実行時間と、第1の実行されるべき動作とを含む(対応して、第2のトランザクション・リソースは、3つの属性、すなわち、第2のトランザクション・リソースの状態と、第2の実行時間と、第2の実行されるべき動作とを含む)。
第1のトランザクション・リソースが、3つの属性、すなわち、状態と、実行時間と、実行されるべき動作とを含むことが留意されるべきである。状態は、現在のトランザクション・リソースの状態を示す。状態は、予約状態であってもよいし、半予約状態であってもよい。予約状態は、管理対象オブジェクト・デバイスが、実行時間が到来したとき、トランザクション・リソース内の実行されるべき動作の実行正常を保証することができる、すなわち、管理対象オブジェクト・デバイスは、アクセス権、属性一貫性などを含むトランザクション・リソースを実行するために必要とされるさまざまな条件をチェックしたことを意味する。半予約状態は、トランザクション・リソース・キューの中のトランザクション・リソースの一般的な状態である、すなわち、管理対象オブジェクト・デバイスがトランザクション・リソースを正常に実行することができるかどうかは、トランザクション・リソース・キューの中の1つ又は複数のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態に依存する。実行時間(Texecによって示される)は、現在のトランザクション・リソースの実行時間を示し、実行時間が到来するとトランザクション・リソース内の実行されるべき動作を実行するように管理対象オブジェクト・デバイスに指示するために使用される。実行されるべき動作(プリミティブによって示される)は、実行予定要求を示し、すなわち、管理対象オブジェクト・デバイスにある動作させられるべきリソースを処理するために必要とされるすべての情報を含む。
さらに、トランザクション・リソースは、管理対象オブジェクト・デバイスにある動作させられるべきリソースと関連付けられる、すなわち、トランザクション・リソース内の実行されるべき動作に対して要求されるターゲット・リソースは、動作させられるべきリソースである。トランザクション・リソースを動作させられるべきリソースと関連付ける様式は、トランザクション・リソースの識別子が動作させられるべきリソースの属性である様式であってもよいし、トランザクション・リソースが動作させられるべきリソースのサブ・リソースである様式であってもよい。具体的には、動作させられるべきリソースは、1つ又は複数のトランザクション・リソースの識別子を含んでよく、又は、トランザクション・リソースの識別子は、動作させられるべきリソースの識別子を直接含んでよい。
S104。第1の管理対象オブジェクト・デバイスは、第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信し、第2の管理対象オブジェクト・デバイスは、第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。
具体的には、第1の管理対象オブジェクト・デバイスが第1のトランザクション・リソースを正常に作成した後、第1の管理対象オブジェクト・デバイスは、第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。第1の管理対象オブジェクト・デバイスが第1の実行時間の到来を待機する時間期間内に、選択的に、第1の管理対象オブジェクト・デバイスは、第1のトランザクションの第1のトランザクション・リソースについてアプリケーション・サーバによって送信された処理要求が受信されたかどうかを決定する。アプリケーション・サーバ上の1つのトランザクションは複数のトランザクション・リソースを含むので、アプリケーション・サーバは、管理対象オブジェクト・デバイスにある1つのトランザクションに属するトランザクション・リソースを作成するように、異なるトランザクション・リソース作成要求を複数の管理対象オブジェクト・デバイスに送信する。この実施形態では、第2の管理対象オブジェクト・デバイスが第2のトランザクション・リソースを正常に作成しない場合、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信する。第2のトランザクション・リソースの作成失敗を示す応答を受信した後、アプリケーション・サーバは、正常に作成された第1のトランザクション・リソースを削除又は更新するように第1の管理対象オブジェクト・デバイスに指示するように、第1のトランザクションの第1のトランザクション・リソースについての処理要求を第1の管理対象オブジェクト・デバイスに送信する。第2の管理対象オブジェクト・デバイスが第2のトランザクション・リソースを正常に作成した場合、第2の管理対象オブジェクト・デバイスは、第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。したがって、アプリケーション・サーバは、第1のトランザクションの第1のトランザクション・リソースについての処理要求を第1の管理対象オブジェクト・デバイスに送信しない。
S105。第1の実行時間が到来すると、第1の管理対象オブジェクト・デバイス及び第2の管理対象デバイスはそれぞれ、第1の管理対象オブジェクト・デバイス及び第2の管理対象デバイスによって実行されるべき動作を実行する。
具体的には、第1の実行時間が到来すると、第1の管理対象オブジェクト・デバイスが、第1のトランザクションの第1のトランザクション・リソースについてアプリケーション・サーバによって送信された処理要求を受信しなかった場合、それは、第2のトランザクション・リソースもM2Mシステム内の第2の管理対象オブジェクト・デバイス上で正常に作成されることを示す。したがって、第1の管理対象オブジェクト・デバイスは、作成された第1のトランザクション・リソース内の第1の実行されるべき動作にしたがって、第1の動作させられるべきリソースの識別子によって示された第1の動作させられるべきリソース上の第1の実行されるべき動作を実行する。さらに、第2のトランザクション・リソースもM2Mシステム内の第2の管理対象オブジェクト・デバイス上で正常に作成され、第2の管理対象オブジェクト・デバイスはまた、アプリケーション・サーバによって送信された第1のトランザクションの第2のトランザクション・リソースに対する処理要求を受信しなかったので、第2の管理対象オブジェクト・デバイスは、第2の実行時間に、第2の動作させられるべきリソースの識別子によって示される第2の動作させられるべきリソース上で第2の実行されるべき動作も実行し得る。すなわち、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスはそれぞれ、第1の実行されるべき動作及び第2の実行されるべき動作を同時に実行する、すなわち、同じトランザクションに含まれるトランザクション・リソースを同時に実行する。
本発明のこの実施形態の技術的解決策について、さらに説明するために、本明細書では、背景技術におけるインテリジェント灌漑の一例が、説明のために使用される。
インテリジェント灌漑の例では、アプリケーション・サーバは、M2Mプラットフォームとともに登録されたネットワーク・アプリケーションであり、管理対象オブジェクト・デバイスは、異なる農地に分散された弁である。図2に示されるインテリジェント灌漑に関するM2Mネットワーク・アーキテクチャを参照すると、M2Mシステムは、1つのアプリケーション・サーバと、3つの弁とを含む。弁1は第1の管理対象オブジェクト・デバイスであり、弁2及び弁3は両方とも、第2の管理対象オブジェクト・デバイスである。
アプリケーション・サーバは、弁1、弁2、及び弁3にトランザクション・リソース作成要求をそれぞれ送信する。弁1に送信されるトランザクション・リソース作成要求は、第1のトランザクション・リソース作成要求である。弁2に送信されるトランザクション・リソース作成要求は、第2のトランザクション・リソース作成要求である。弁3に送信されるトランザクション・リソース作成要求は、別の第2のトランザクション・リソース作成要求である。アプリケーション・サーバによって3つの弁に送信されるトランザクション・リソース作成要求内の実行時間はすべて12:00であり、トランザクション・リソース作成要求はそれぞれ、異なる弁を調整するための要求を含む。弁1に送信される第1のトランザクション・リソース作成要求は、弁1の開放度を20%に調整する(すなわち、第1の実行されるべき動作)ための要求である。弁2に送信される第2のトランザクション・リソース作成要求は、弁2の開放度を30%に調整する(すなわち、第2の実行されるべき動作)ための要求である。弁3に送信される第2のトランザクション・リソース作成要求は、弁3の開放度を40%に調整する(すなわち、別の第2の実行されるべき動作)ための要求である。
弁1を一例として使用すると(弁2及び弁3によって実行される動作については、弁1によって実行される動作を参照されたい)、弁1は、最初に、アプリケーション・サーバが第1のトランザクション・リソースを作成する権利を有するかどうかをチェックし、次いで、第1のトランザクション・リソース作成要求に含まれる第1の実行されるべき動作をチェックする。第1の実行されるべき動作の内容は、弁1を20%に調整することである。弁1は、さらに、アプリケーション・サーバが弁1上の動作させられるべきリソースを調整する権利を有するかどうかをチェックし、20%が弁の調整範囲内であるかどうかをチェックする。最後に、弁1は、第1のトランザクション・リソース作成要求内で提供される第1の実行時間及び弁1の休止時間にしたがって、第1のトランザクション・リソースは正常に作成可能であると結論する、すなわち、弁1は、弁1が12:00に弁1の完全開放の20%に調整されることを保証し得る。この例では、弁1はトランザクション・リソースを初めて作成する、すなわち、弁1の動作させられるべきリソースは、対応するトランザクション・リソース・キューを持たないので、弁1は、第1のトランザクション・リソースの現在の状態を予約状態に設定し、この状態を、第1のトランザクション・リソースの作成成功を示す応答に追加して、この応答をアプリケーション・サーバに送信する。
弁2及び弁3は、類似のステップを実行し得る。この例では、弁2及び弁3も、弁が12:00に対応する値に調整されることを保証することができることが仮定される。したがって、3つの弁によって作成されるトランザクション・リソースはすべて、予約状態である。この実施形態では、3つの弁がすべて、トランザクション・リソースの作成成功についての応答を返送するので、アプリケーション・サーバは、実行時間の到来を待機する時間期間内に要求を開始しない。
3つの弁によって作成されるトランザクション・リソース内で指定された実行時間が到来すると、すなわち、12:00が到来すると、3つの弁は、弁によって実行される予定の動作の内容を同時に実行する。すなわち、弁1は、その開放度を20%に調整し、弁2は、その開放度を30%に調整し、弁3は、その開放度を40%に調整する。
複数の管理対象オブジェクト・デバイスに送信されるトランザクション・リソース作成要求は同じ実行時間を持ち、それによって、トランザクション・リソースが正常に作成されることが決定され、実行時間が到来すると、複数の管理対象オブジェクト・デバイスは、管理対象オブジェクト・デバイスによって作成されるトランザクション・リソースを同時に実行し、その結果、トランザクション・リソースが同時に実行されることを保証する。さらに、本発明の実施形態では、トランザクション・リソースが同時に実行されることを保証するには、アプリケーション・サーバは、管理対象オブジェクト・デバイスにトランザクション・リソース作成要求を1つのみ送信すればよい。したがって、アプリケーション・サーバのシグナリング・オーバヘッドが減少される。
図3は、本発明による、分散トランザクション・リソースを実行するための方法の実施形態2の概略フローチャートである。前述の実施形態に基づいて、この実施形態において使用される方法は、第1の管理対象オブジェクト・デバイスが、第2のトランザクションの第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信するプロセスである。図3に示されるように、方法は、以下のステップをさらに含む。
S201。第1の管理対象オブジェクト・デバイスは、第2のトランザクションについてアプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信し、この第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含む。
S202。第2の管理対象オブジェクト・デバイスは、第2のトランザクションについてアプリケーション・サーバによって送信された第4のトランザクション・リソース作成要求を受信し、この第4のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、第3の実行時間と第4の実行時間は同じである。
具体的には、アプリケーション・サーバは、第2のトランザクションに対する第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに、第2のトランザクションに対する第4のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに、それぞれ送信する。第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含む。第4のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第4の実行時間と、第4の実行されるべき動作とを含む。第3の実行時間と第4の実行時間は同じである。選択的に、第3の実行されるべき動作と第4の実行されるべき動作は、同じであってもよいし、異なってもよい。さらに、第3の実行されるべき動作又は第4の実行されるべき動作は、プリミティブな形で反映されてもよいし、別の様式で反映されてもよい。
S203。第1の管理対象オブジェクト・デバイスは、第2のトランザクションの第3のトランザクション・リソースが第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗したということを決定し、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信する。
S204。第2の管理対象デバイスは、第4のトランザクション・リソース作成要求にしたがって第2のトランザクションの第4のトランザクション・リソースを正常に作成し、この第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信し、この第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っている。
第1の管理対象デバイスによって実行される動作と第2の管理対象オブジェクト・デバイスによって実行される動作は類似していることは、留意されるべきである。したがって、以下の技術的解決策のすべてにおいて、第1の管理対象オブジェクト・デバイスが、説明される対象として使用される。第2の管理対象オブジェクト・デバイスによって実行される動作については、第1の管理対象オブジェクト・デバイスによって実行される動作を参照されたい。第2の管理対象オブジェクト・デバイスによって第4のトランザクション・リソースを作成するプロセスについては、第1の管理対象オブジェクト・デバイスによって第3のトランザクション・リソースを作成するプロセスを参照されたい。
具体的には、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内で持たれる第3の実行時間及び第3の実行されるべき動作等の情報にしたがって、第3のトランザクション・リソースが正常に作成可能であるかどうかを決定する。第3の実行されるべき動作は、第1の動作させられるべきリソースに対する要求を含み、この要求は、要求の開始者、要求されたターゲット・リソースの識別子、及び要求される特定の内容等の情報を含んでよい。
選択的に、第1の管理対象オブジェクト・デバイスは、第3の実行されるべき動作に含まれる情報にしたがって、第3のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすかどうかを決定してよい。この条件は、具体的には、以下の(1)から(4)の内容を含み得る。(1)第1の管理対象オブジェクト・デバイスが、第3の実行されるべき動作に含まれる「要求されたターゲット・リソースの識別子」にしたがって、第3の実行されるべき動作に対して要求されるターゲット・リソースが第1の動作させられるべきリソースであるかどうかをチェックする。(2)第1の管理対象オブジェクト・デバイスは、第3の実行されるべき動作に含まれる「要求の開始者」にしたがって、開始者(すなわち、アプリケーション・サーバ)が、要求を開始するのに十分な権利を有するかどうかをチェックする。(3)第1の管理対象オブジェクト・デバイスは、第3の実行されるべき動作に含まれる「要求された内容」にしたがって、要求された内容が第1の動作させられるべきリソースに対して実行可能であるかどうかをチェックする。(4)第1の管理対象オブジェクト・デバイスは、第3の実行時間並びに第1の管理対象オブジェクト・デバイスの作業期間及び休止期間の構成にしたがって、第3の実行時間によって指定された時間に、第3のトランザクション・リソース作成要求内に持たれた第3の実行されるべき動作の実行が保証可能であるかどうかをチェックする。
前述の4つの項目のいずれか1つがチェックされるのに失敗した場合、それは、第3のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たさないことを示す。第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第3のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信する。
さらに、第2の管理対象デバイスは、第4のトランザクション・リソース作成要求にしたがって第2のトランザクションの第4のトランザクション・リソースを正常に作成し(詳細については、第3のトランザクション・リソースを作成するプロセスを参照されたい)、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。この第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っている。
アプリケーション・サーバが、第1の管理対象オブジェクト・デバイスによって送信され第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答と、第2の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答を受信した後、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソースを正常に作成する第2の管理対象オブジェクト・デバイスに送信するということを決定し、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている。
S205。第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する第2の管理対象オブジェクト・デバイスは、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求を受信し、この第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている。
具体的には、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースを削除するための削除要求であってもよいし、第4のトランザクション・リソース内の第4の実行時間を更新するための更新要求であってもよく、それにより、第2の管理対象オブジェクト・デバイスは、新しい第4のトランザクション・リソースを取得する(第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内の第3の実行時間が適切でないということを決定すると、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースの作成不成功を示す応答を送信し、この応答は、更新された第3の実行時間を持っている。したがって、アプリケーション・サーバは、更新された第3の実行時間を持っている処理要求を第2の管理対象オブジェクト・デバイスに送信する。もちろん、第1の管理対象オブジェクト・デバイスは、更新された第3の実行時間にしたがって新しい第3のトランザクション・リソースを作成してもよい)。
S206。第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースの識別子にしたがって作成された第4のトランザクション・リソースを処理する。
具体的には、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する第2の管理対象オブジェクト・デバイスが、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求を受信した後、第2の管理対象オブジェクト・デバイスは、処理要求内に持たれる第4のトランザクション・リソースの識別子にしたがって、第2の管理対象オブジェクト・デバイス上ですでに正常に作成された第4のトランザクション・リソースを処理する。
選択的に、第2の管理対象オブジェクト・デバイスは、第2のトランザクションの原子性を確保するために、第2の管理対象オブジェクト・デバイスにある第4のトランザクション・リソースを削除してよい(第3のトランザクション・リソースは作成されるのに失敗し、第2のトランザクション自体が正常に実行されることはできないので、同じく第2のトランザクションに属する第4のトランザクション・リソースは、それが正常に作成された場合でも、削除されるべきである)。
選択的に、第2の管理対象オブジェクト・デバイスにある第4のトランザクション・リソース内の第4の実行されるべき動作を実行する時間は、第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソース内の第3の実行されるべき動作を実行する時間が、第2の管理対象オブジェクト・デバイスによって新しい第4のトランザクション・リソース内の第4の実行されるべき動作を実行する時間と一致するように、更新されてよい。さらに、更新された第3の実行時間が到来する前に、アプリケーション・サーバは、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスに処理要求を送信しない。したがって、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスは、同じトランザクションに含まれるトランザクション・リソースを実行することができる。
本発明のこの実施形態により分散トランザクション・リソースを実行するための方法では、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスはそれぞれ、アプリケーション・サーバによって送信され同じ実行時間を持つ第3のトランザクション・リソース作成要求及び第4のトランザクション・リソース作成要求を受信する。第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソース作成要求内の第4の実行時間にしたがって、第4のトランザクション・リソースが正常に作成されるということを決定し、第4の実行時間が到来する前に、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求を受信する。第2の管理対象オブジェクト・デバイスは、処理要求にしたがって、作成された第4のトランザクション・リソースを処理する。本発明のこの実施形態によって提供される方法では、第2の管理対象オブジェクト・デバイスは、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求にしたがって(処理要求が更新要求であるとき)、第2の管理対象オブジェクト・デバイスによって更新された第4のトランザクション・リソースを実行する時間が、第1の管理対象オブジェクト・デバイスが、第1の管理対象オブジェクト・デバイスによって作成された新しい第3のトランザクション・リソースを実行する時間と同じであることを保証することができる、すなわち、第1の管理対象オブジェクト・デバイスと第2の管理対象オブジェクト・デバイスは、デバイスによって実行される予定の動作を同時に実行することができることが保証される。したがって、トランザクション・リソースの同時実行が保証される。
図3に示される前述の実施形態に基づいて、本発明のこの実施形態の第1の可能な実装方法では、本発明のこの実施形態は、管理対象オブジェクト・デバイスが、1つのトランザクションのみに含まれる複数のトランザクション・リソースを実行し、実行が失敗する(すなわち、トランザクションの実行が失敗する)特定のシナリオ、すなわち、M2Mシステム内の第1の管理対象オブジェクト・デバイスにある第1の動作させられるべきリソースに対して、別のトランザクションのトランザクション・リソースが現在関連付けられていないシナリオに関する。
前述のS203は、具体的には、以下の通りであってよい。
第1の管理対象オブジェクト・デバイスが、第3の実行されるべき動作に含まれる情報にしたがって、第3のトランザクション・リソース作成要求が前述のトランザクション・リソース作成条件における(1)の内容を満たさないということを決定した場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求にしたがって、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第3のトランザクション・リソースが正常に作成されることはできないことをアプリケーション・サーバに通知するように、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信する。
第1の管理対象オブジェクト・デバイスが、第3の実行されるべき動作に含まれる情報にしたがって、第3のトランザクション・リソース作成要求が前述のトランザクション・リソース作成条件における(2)から(4)のいずれか1つの内容を満たさないということを決定した場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求にしたがって、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、現在の第3の実行時間は適切でないが、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースの作成不成功を示す応答内に持たれる更新された第3の実行時間を使用し、第3のトランザクション・リソースは正常に作成可能であることをアプリケーション・サーバに通知するように、第3のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信し、この応答は、更新された第3の実行時間を持っている。
この実施形態の技術的解決策について、さらに説明するために、本明細書では、インテリジェント灌漑の前述の例が、依然として説明のために使用される。
アプリケーション・サーバは、弁1、弁2、及び弁3にトランザクション・リソース作成要求をそれぞれ送信する。弁1に送信されるトランザクション・リソース作成要求は、第3のトランザクション・リソース作成要求である。弁2に送信されるトランザクション・リソース作成要求は、第4のトランザクション・リソース作成要求である。弁3に送信されるトランザクション・リソース作成要求は、別の第4のトランザクション・リソース作成要求である。アプリケーション・サーバによって3つの弁に送信されるトランザクション・リソース作成要求内の実行時間はすべて12:00であり、トランザクション・リソース作成要求はそれぞれ、異なる弁を調整するための要求を含む。弁1に送信される第3のトランザクション・リソース作成要求は、弁1の開放度を20%に調整するための要求である。弁2に送信される第4のトランザクション・リソース作成要求は、弁2の開放度を30%に調整するための要求である。弁3に送信される第4のトランザクション・リソース作成要求は、弁3の開放度を40%に調整するための要求である。
弁1を一例として使用すると(弁2及び弁3によって実行される動作については、弁1を参照されたい)、弁1は、最初に、アプリケーション・サーバが第3のトランザクション・リソースを作成する権利を有するかどうかをチェックし、次いで、第3のトランザクション・リソース作成要求に含まれる第3の実行されるべき動作をチェックする。第3の実行されるべき動作の内容は、弁1を20%に調整することである。弁1は、さらに、アプリケーション・サーバが弁1上の動作させられるべきリソースを調整する権利を有するかどうかをチェックし、20%が弁の調整範囲に適合するかどうかをチェックする。最後に、弁1は、第3のトランザクション・リソース作成要求内で提供される第3の実行時間及び弁1の休止時間にしたがって、それは、(4)の内容に適合しないので、第3のトランザクション・リソースは正常に作成されることはできないが、12:01に正常に作成可能であると結論する。したがって、弁1は、第3のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信し、この応答は、更新された第3の実行される時間(すなわち、12:01)を持つ。この例では、弁2及び弁3の第4のトランザクション・リソースが正常に作成可能である、すなわち、弁2及び弁3によって受信される第4のトランザクション・リソース作成要求は前述の(1)から(4)の内容に適合すると仮定して、弁2及び弁3は、弁2及び弁3の第4のトランザクション・リソースが正常に作成されることをアプリケーション・サーバに通知するように、対応するトランザクション・リソースの作成成功についての応答をアプリケーション・サーバに送信し、この応答は、それぞれ弁2及び弁3によって作成された第4のトランザクション・リソースの識別子を持つ。
現在、アプリケーション・サーバは、第3のトランザクション・リソースの作成不成功についての弁1によって送信された応答を受信し、この応答は、更新された第3の実行時間を持っているので、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を弁2及び弁3に送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求であってよい。選択的に、更新要求は、第4の実行されるべき動作をさらに持ってよい。さらに、アプリケーション・サーバは、新しい第3のトランザクション・リソース作成要求を弁1にさらに送信し、この新しい第3のトランザクション・リソース作成要求は、更新された第3の実行時間を持ち、選択的に、第3の実行されるべき動作をさらに持ってよい。
弁1が新しい第3のトランザクション・リソース作成要求を受信すると、弁1は、(1)から(4)の内容も実行し得る。弁1は、第3の実行されるべき動作が(1)から(3)の内容に適合するということを決定したので、新しい第3のトランザクション・リソース作成要求に持たれる第3の実行されるべき動作は変更されず、弁1は、更新された第3の実行時間が(4)の内容に適合するかどうかを直接決定し得る。さらに、更新された第3の実行時間は、弁1の作業状態にしたがって弁1によってアプリケーション・サーバに推奨された時間であるので、更新された第3の実行時間は、第3のトランザクション・リソースの作成成功を保証し得る時間である。弁2及び弁3も、アプリケーション・サーバによって送信された更新要求を受信すると、前述の(1)から(4)の内容を実行する。弁2及び弁3はそれぞれ、それらの第4の実行されるべき動作が(1)から(3)の内容に適合するということを決定し、更新要求内で持たれる第4の実行されるべき動作は変更されないので、弁2及び弁3も、更新された第3の実行時間が(4)の内容に適合するかどうかを直接決定し得る。弁2が、受信された更新要求内の更新された第3の実行時間が(4)の内容に適合する、すなわち、弁2上の第4のトランザクション・リソースは正常に更新され得るということを決定すると仮定して、及び弁3が、受信された更新要求内の更新された第3の実行時間が(4)の内容に適合しないということを決定する、すなわち、弁3が、更新された第3の実行時間が到来したとき弁3は休止状態に入っており、作業を再開する時間が不確定であるということを決定すると仮定して、弁3上の第4のトランザクション・リソースは正常に作成されることはできず、弁3は、すでに、いかなるトランザクション・リソースの作成もローカルにサポートすることはできない。したがって、弁3は、第2のトランザクションの第4のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信し、弁3がすでにいかなるトランザクション・リソースの作成もサポートすることはできないことをアプリケーション・サーバに通知する。
この場合、弁1上の新しい第3のトランザクション・リソースは正常に作成されており、弁2上の第4のトランザクション・リソースは正常に更新されているが、更新された第3の実行時間が到来する前に、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースの作成不成功についての弁3によって送信された応答を受信しており、弁3はすでにいかなるトランザクション・リソースの作成もサポートすることはできないことを知っているので、アプリケーション・サーバは、弁1上の新しい第3のトランザクション・リソース及び弁2上の更新された第4のトランザクション・リソースを削除して、トランザクションの原子性を確保するように、弁1及び弁2に削除要求を送信する。したがって、アプリケーション・サーバ上の現在の第2のトランザクションは、正常に実行されることはできない。
弁1が新しい第3のトランザクション・リソース作成要求を受信したとき、弁1が、新しい第3のトランザクション・リソース作成要求にしたがって新しい第3のトランザクション・リソースを正常に作成した場合、弁2及び弁3は、更新要求内の更新された第3の実行時間にしたがって第4のトランザクション・リソースを正常に更新し、更新された第3の実行時間が到来する前は、弁1、弁2、及び弁3のいずれも、アプリケーション・サーバによって送信された処理要求を受信せず、更新された第3の実行時間が到来すると、弁1、弁2、及び弁3は、新しい第3のトランザクション・リソースと、更新された第4のトランザクション・リソースを同時に実行する。
本発明のこの実施形態による分散トランザクション・リソースを実行するための方法では、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソース作成要求にしたがって第3のトランザクション・リソースを作成するのに失敗したとき、第1の管理対象オブジェクト・デバイスは、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信し、第3のトランザクション・リソースの作成不成功を示す応答は、更新された第3の実行時間を持ち、したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。さらに、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を第2の管理対象オブジェクト・デバイスに送信する。処理要求が、更新された第3の実行時間を持っている更新要求であるとき、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスは、更新された第3の実行時間にしたがって、デバイスによって作成されたトランザクション・リソースをそれぞれ処理し、更新された第3の実行時間が到来したとき、それらの現在のトランザクション・リソースが同時に実行可能であることを保証することができる。
実際のM2Mシステムでは、管理対象オブジェクト・デバイスにある動作させられるべきリソースに対して、通常、既存のトランザクション・リソースがまだ実行されないとき、新しいトランザクション・リソース作成要求が再度送信され、この場合、動作させられるべきリソースに対するトランザクション・リソース・キューが形成される。したがって、図3に示される前述の実施形態に基づいて、本発明のこの実施形態の第2の可能な実装方法では、本発明のこの実施形態は、管理対象オブジェクト・デバイス上の同時発生するトランザクション・リソースを処理するシナリオ、すなわち、トランザクション・リソース・キューが管理対象オブジェクト・デバイスに存在するシナリオに適用される。この実施形態は、第1の管理対象オブジェクト・デバイスが第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを作成するのに失敗する特定のプロセスに関する。図4を参照すると、前述のS203は、具体的には、以下のステップを含み得る。
S301。第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在するということを決定し、この第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
第1の管理対象オブジェクト・デバイスによって実行される動作と第2の管理対象オブジェクト・デバイスによって実行される動作は類似しているので、以下の技術的解決策では、第1の管理対象オブジェクト・デバイスが、主な説明される対象として使用される。第4のトランザクション・リソース作成要求が受信された後で第2の管理対象オブジェクト・デバイスによって実行される動作については、第3のトランザクション・リソース作成要求が受信された後で第1の管理対象オブジェクト・デバイスによって実行される動作を参照されたい。
具体的には、第1の管理対象オブジェクト・デバイスが、第2のトランザクションについてアプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信した後、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内に持たれる第1の動作させられるべきリソースの識別子にしたがって、第1の動作させられるべきリソースに対応する第1のトランザクション・リソース・キューが存在するかどうかを決定する。第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含み、第1のトランザクション・リソース・キューの中のトランザクション・リソースは、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間にしたがって並べられる。第1の管理対象オブジェクト・デバイスが、第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在しないということを決定した場合、第1の管理対象オブジェクト・デバイスは、図1に示される実施形態1における又は図3に示される実施形態の第1の可能な実装方法における技術的解決策による実行を実行し得る。詳細は、本明細書では、再度説明されない。第1のトランザクション・リソース・キューが存在することが決定された場合、ステップ302が実行される。
S302。第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが、あらかじめ設定されたリソース作成条件を満たさないということを決定する。
具体的には、第1の管理対象オブジェクト・デバイスが、第1の動作させられるべきリソースの識別子にしたがって、第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在するということを決定すると、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内の第3の実行時間及び第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間にしたがって構成及び比較を実行し、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置を決定する。第1の管理対象オブジェクト・デバイスが現在、第3のトランザクション・リソースを正常に作成していないことが留意されるべきである。本明細書では、第3のトランザクション・リソースは、作成予定トランザクション・リソースである。
さらに、第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の管理対象オブジェクト・デバイスにある第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが、あらかじめ設定されたリソース作成条件を満たさないということを決定し得る、すなわち、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信する。第1の動作させられるべきリソースの状態は、具体的には、第1のトランザクション・リソース・キューの中の少なくとも1つのトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態である。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースはあらかじめ設定されたリソース作成条件を満たさないということを決定することは、具体的には、以下の2つの場合A及びBを含み得る。
A。第3の実行時間が、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新される場合、第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の管理対象オブジェクト・デバイスの第1の動作させられるべきリソースの状態にしたがって、あらかじめ設定されたリソース作成条件が満たされないということを決定する。第1の管理対象オブジェクト・デバイスは、アプリケーション・サーバに第1の失敗応答を送信する。
選択的に、第1のトランザクション・リソース・キューに含まれる1つのトランザクション・リソースが予約状態であり、第1のトランザクション・リソース・キューの中の第1の位置に配置されたトランザクション・リソースが予約状態であるとき、第1の管理対象オブジェクト・デバイスは、第3の実行時間が、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新されるとき、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、あらかじめ設定されたリソース作成条件が満たされないということを決定する。具体的には、以下の3つのケースa、b、及びcが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、a、b、及びcにおいて説明される内容を参照されたいことが留意されるべきである。さらに、あらかじめ設定されたリソース作成条件は、前述の実施形態における(1)から(4)の内容と異なる。たとえば、以下のあらかじめ設定されたリソース作成条件aでは、第3のトランザクション・リソースがキューの中の第1の位置に配置されると、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中の他の任意の位置に挿入される場合、第3のトランザクション・リソースが正常に実行されることはできないということを決定する。この条件が満たされる限り、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定する。しかしながら、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中の他の任意の位置に配置されたときに第3のトランザクション・リソースが正常に実行可能であるかどうかをどのようにして具体的に決定するかについては、具体的な決定ステップは、前述の実施形態における(1)から(4)の内容による決定であってよい。
a。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入する位置の前に、第1のトランザクション・リソース・キューの中のトランザクション・リソースが存在しないことが決定される場合、及び、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースの第3の実行時間を、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新する場合(すなわち、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースを第1のトランザクション・リソース・キューの中の他の任意の位置に挿入する場合)、第1の管理対象オブジェクト・デバイスは、第3の実行時間が到来したとき、第3のトランザクション・リソースが正常に実行されることはできないということを決定する。すなわち、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースのステータスにしたがって、第3のトランザクション・リソースが予約状態に切り換えられることはできないということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイスに正常に作成された第4のトランザクション・リソースを削除するために使用される。
本発明のこの実施形態におけるトランザクション・リソースは、実行時間に正常に実行されることはできないことが留意されるべきであり、トランザクション・リソースは予約状態に切り換えられることはできないことも理解され得る。さらに、上記で説明されたように、ケースaでは、前述の第1の動作させられるべきリソースの状態は、第1のトランザクション・リソース・キューの中の任意の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態である。
b。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースが、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前と後の両方に存在することが決定された場合、第1の管理対象オブジェクト・デバイスは、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定し、この第3の位置は、第3のトランザクション・リソースを第1のトランザクション・リソース・キュー内に挿入するための位置に隣接する、前の位置である。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行されることはできないということを決定した場合、及び、第3のトランザクション・リソースの第3の実行時間が、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新される場合(すなわち、第3のトランザクション・リソースを、第1のトランザクション・リソース・キューの中の他の任意の位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが同じく正常に実行されることはできないということを決定する。すなわち、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の状態に基づいて、第3のトランザクション・リソースは、予約状態に切り換えられることはできない。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイスに正常に作成された第4のトランザクション・リソースを削除するために使用される。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定し、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第1のトランザクション・リソース・キューの中の第4の位置にあるトランザクション・リソースが正常に実行されることはできないということを決定し(第4の位置は、第3のトランザクション・リソースを第1のトランザクション・リソース・キューの中の挿入するための位置に隣接する、次の位置である)、第3のトランザクション・リソースの第3の実行時間を、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新するということを決定した場合(すなわち、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中の他の任意の位置に挿入されるということを決定するとき)、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが同じく正常に実行されることはできないということを決定する。すなわち、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の状態に基づいて、第3のトランザクション・リソースは、予約状態に切り換えられることはできない。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイスに正常に作成された第4のトランザクション・リソースを削除するために使用される。
上記で説明されたように、ケースbでは、前述の第1の動作させられるべきリソースの状態は、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る。第1の動作させられるべきリソースのステータスは、異なるケースにより決定される。
c。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースは、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前に存在するが、第1のトランザクション・リソース・キューの中のトランザクション・リソースが、挿入位置の後には存在しないことが決定される場合、第1の管理対象オブジェクト・デバイスは、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定する。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行されることはできないということを決定し、第3のトランザクション・リソースの第3の実行時間を、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新するということを決定する場合(すなわち、第3のトランザクション・リソースを、第1のトランザクション・リソース・キューの中の他の任意の位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが同じく正常に実行されることはできないということを決定する。すなわち、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の状態に基づいて、第3のトランザクション・リソースは、予約状態に切り換えられることはできない。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイスに正常に作成された第4のトランザクション・リソースを削除するために使用される。
上記で説明されたように、ケースcでは、前述の第1の動作させられるべきリソースの状態は、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
選択的に、第1のトランザクション・リソース・キューに含まれる少なくとも2つのトランザクション・リソースが予約状態である場合、第1の管理対象オブジェクト・デバイスは、第3の実行時間が、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新されるとき、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、あらかじめ設定されたリソース作成条件が満たされないということを決定する。具体的には、以下の2つのケースd及びeが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、d及びeにおいて説明される決定条件を参照されたいことが留意されるべきである。
d。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の後の第1のトランザクション・リソース・キューの中の予約状態の他のトランザクション・リソースのいずれも実行不可能であること、又は、それらのうちの1つが正常に実行されることはできないということを決定し、第3のトランザクション・リソースの第3の実行時間を、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新するということを決定する場合(すなわち、第3のトランザクション・リソースを、第1のトランザクション・リソース・キューの中の他の任意の位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の他の任意の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、他の任意の位置の後の予約状態のトランザクション・リソースのいずれも同じく正常に実行されることはできないこと、又は、それらのうちの1つが正常に実行されることはできないということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイスに正常に作成された第4のトランザクション・リソースを削除するために使用される。
上記で説明されたように、ケースdでは、前述の第1の動作させられるべきリソースの状態は、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第1のトランザクション・リソース・キューの中の他の任意の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
e。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の後の予約状態内の他の任意のトランザクション・リソースが正常に実行可能であるということを決定する場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の他の任意のトランザクション・リソースが挿入位置の前に存在するかどうかをさらに決定する。
第1のトランザクション・リソース・キューの中の別のトランザクション・リソースが、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前に存在する場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の挿入位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定する。そうでない場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する。そうでない場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースの実行時間が第1のトランザクション・リソース内の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新される場合、第3のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する(すなわち、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中の他の任意の位置に挿入される場合、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定する)。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中の他の任意の位置に挿入される場合、第3のトランザクション・リソースが正常に実行されることはできないということを決定するとき、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイス上で正常に作成された第4のトランザクション・リソースを削除するために使用される。
上記で説明されたように、ケースeでは、前述の第1の動作させられるべきリソースの状態は、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、前述の決定された挿入位置の前の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第1のトランザクション・リソース・キューの中の任意の他の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
要約すると、すべての前述の5つのケースa、b、c、d、及びeは、第1の管理対象オブジェクト・デバイスが、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースの第3の実行時間が、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新されるとき、あらかじめ設定されたリソース作成条件が満たされないということを決定するケースである。
B。第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の管理対象オブジェクト・デバイスの第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが、あらかじめ設定されたリソース作成条件を満たさないということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、あらかじめ設定されたリソース作成条件にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新する(すなわち、時間が、第3のトランザクション・リソースに、あらかじめ設定されたリソース作成条件を満たさせる)。第1の管理対象オブジェクト・デバイスは、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信する。
選択的に、第1のトランザクション・リソース・キューに含まれる1つのトランザクション・リソースが予約状態であり、第1のトランザクション・リソース・キューの中の第1の位置に配置されたトランザクション・リソースが予約状態であるとき、第1の管理対象オブジェクト・デバイスは、第3の実行時間が、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間に更新されるとき、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、あらかじめ設定されたリソース作成条件が満たされるということを決定する。具体的には、以下の3つのケースf、g、及びhが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、f、g、及びhにおいて説明される決定条件を参照されたいことが留意されるべきである。
f。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースが、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入する位置の前に存在しないことが決定され、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースの第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定した場合(すなわち、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中のある位置に挿入されるということを決定した場合)、第1の管理対象オブジェクト・デバイスは、その位置におけるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
上記で説明されたように、ケースfにおける第1の動作させられるべきリソースの状態は、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中のある位置に挿入される場合、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態であり得る(トランザクション・リソースの実行は、第3のトランザクション・リソースの実行成功を保証することを必要とする)。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
g。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースが、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前と後の両方に存在することが決定された場合、第1の管理対象オブジェクト・デバイスは、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定し、この第3の位置は、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置に隣接する、前の位置である。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行されることはできないということを決定し、第3のトランザクション・リソースの第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定する場合(すなわち、第3のトランザクション・リソースを、第1のトランザクション・リソース・キューの中のある位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定し、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第1のトランザクション・リソース・キューの中の第4の位置にあるトランザクション・リソースが正常に実行されることはできない(第4の位置は、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置に隣接する、次の位置である)ということを決定し、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースの第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新する場合(すなわち、第3のトランザクション・リソースを第1のトランザクション・リソース・キューの中のある位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが実行されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
上記で説明されたように、ケースgにおける第1の動作させられるべきリソースの状態は、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが、第1のトランザクション・リソース・キューの中のある位置に挿入される場合、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る(トランザクション・リソースの実行は、第3のトランザクション・リソースの実行成功を保証することを必要とする)。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
h。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースは、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前に存在するが、第1のトランザクション・リソース・キューの中のトランザクション・リソースが、挿入位置の後には存在しないことが決定される場合、第1の管理対象オブジェクト・デバイスは、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定する。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行されることはできないということを決定し、第3のトランザクション・リソースの第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定する場合(すなわち、第3のトランザクション・リソースを、第1のトランザクション・リソース・キューの中のある位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
ケースhにおける第1の動作させられるべきリソースの状態は、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中のある位置に挿入される場合、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る(トランザクション・リソースの実行は、第3のトランザクション・リソースの実行成功を保証することを必要とする)ことが留意されるべきである。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
選択的に、第1のトランザクション・リソース・キューに含まれる少なくとも2つのトランザクション・リソースが予約状態である場合、第1の管理対象オブジェクト・デバイスは、第3の実行時間が、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも任意の時間に更新されるとき、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、あらかじめ設定されたリソース作成条件が満たされるということを決定する。具体的には、以下の2つのケースi及びjが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、i及びjにおいて説明される決定条件を参照されたいことが留意されるべきである。
i。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の後の第1のトランザクション・リソース・キューの中の予約状態の他のトランザクション・リソースのいずれも実行されることができない、又はそれらのいずれも正常に実行されることができないということを決定し、第3のトランザクション・リソースの第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定する場合(すなわち、第3のトランザクション・リソースを第1のトランザクション・リソース・キューの中のある位置に挿入するとき)、第1のトランザクション・リソース・キューの中の時間の後の予約状態にあるすべてのトランザクション・リソースは正常に実行可能である(すなわち、第1の管理対象オブジェクト・デバイスは、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、その位置の後の第1のトランザクション・リソース・キューの中の予約状態のすべてのトランザクション・リソースが正常に実行可能であるということを決定する)。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
ケースiにおける第1の動作させられるべきリソースの状態は、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中のある位置に挿入される場合、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る(トランザクション・リソースの実行は、その位置の後の第1のトランザクション・リソース・キューの中の予約状態のすべてのトランザクション・リソースの実行成功を保証することを必要とする)ことが留意されるべきである。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
j。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの現在の状態にしたがって、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の後の予約状態内の他の任意のトランザクション・リソースが正常に実行可能であるということを決定する場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の他の任意のトランザクション・リソースが挿入位置の前に存在するかどうかをさらに決定する。
第1のトランザクション・リソース・キューの中の別のトランザクション・リソースが、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前に存在する場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の挿入位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定する。そうでない場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する。そうでない場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースの実行時間が、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間に更新されるとき、第3のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する(すなわち、第3のトランザクション・リソースが、第1のトランザクション・リソース・キューの中のある位置に挿入される場合、第1の管理対象オブジェクト・デバイスは、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定する)。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
ケースiにおける第1の動作させられるべきリソースの状態は、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中のある位置に挿入された場合、その位置にあるトランザクション・リソースが実行された後の後の第1の動作させられるべきリソースの状態でもあり得る(トランザクション・リソースの実行は、第3のトランザクション・リソースの実行成功を保証することを必要とする)ことが留意されるべきである。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
要約すると、すべての前述の5つのケースf、g、h、i、及びjは、第1の管理対象オブジェクト・デバイスが、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースの第3の実行時間が、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースの実行時間よりも遅い時間に更新されるとき、あらかじめ設定されたリソース作成条件が満たされるということを決定するケースである。
図3に示される前述の実施形態に基づいて、本発明のこの実施形態の第3の可能な実装方法では、本発明のこの実施形態は、管理対象オブジェクト・デバイス上の同時発生するトランザクション・リソースを処理するシナリオ、すなわち、トランザクション・リソース・キューが管理対象オブジェクト・デバイスに存在するシナリオにも適用される。この実施形態は、第2の管理対象オブジェクト・デバイスが第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを正常に作成する特定のプロセスに関する。図5を参照すると、前述のS204は、具体的には、以下のステップを含み得る。
S401。第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイスに存在するということを決定し、第2のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
具体的には、アプリケーション・サーバによって送信される第4のトランザクション・リソース作成要求を受信した後、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューが存在するかどうかを決定する。第2のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含み、第2のトランザクション・リソース・キューの中のトランザクション・リソースは、第2のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間にしたがって並べられる。第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイスに存在しないということを決定した場合、第2の管理対象オブジェクト・デバイスは、図1に示される実施形態1の技術的解決策又は図3に示される実施形態の第1の可能な実装方法による実行を実行し得る。詳細は、本明細書では、再度説明されない。第2のトランザクション・リソース・キューが存在することが決定された場合、ステップ402が実行される。
S402。第2の管理対象オブジェクト・デバイスは、第4の実行時間及び第2の管理対象オブジェクト・デバイスの第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第4のトランザクション・リソースを作成する。
具体的には、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューが存在するということを決定すると、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソース作成要求内の第4の実行時間及び第2のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間にしたがって構成及び比較を実行し、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置を決定する。第2の管理対象オブジェクト・デバイスが現在、第4のトランザクション・リソースを正常に作成していないことが留意されるべきである。本明細書では、第4のトランザクション・リソースは、作成予定トランザクション・リソースである。
さらに、第2の管理対象オブジェクト・デバイスは、第4の実行時間及び第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第4のトランザクション・リソースを作成して、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。この応答は、第4のトランザクション・リソースの識別子を持つ。具体的には、以下の2つのケースC及びDが含まれ得る。
C。第2のトランザクション・リソース・キューに含まれる1つのトランザクション・リソースが予約状態であり、第2のトランザクション・リソース・キューの中の第1の位置に配置されたトランザクション・リソースが予約状態であるとき、第2の管理対象オブジェクト・デバイスは、第4の実行時間及び第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第4のトランザクション・リソースを作成する。具体的には、以下の2つのケースk及びlが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、k及びlにおいて説明される決定条件を参照されたいことが留意されるべきである。
k。第4の実行時間にしたがって、第2のトランザクション・リソース・キューの中のトランザクション・リソースが、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の前と後の両方に存在することが決定された場合、第2の管理対象オブジェクト・デバイスは、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるかどうかを決定し、この第1の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置に隣接する、前の位置である。
第2の管理対象オブジェクト・デバイスが、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるということを決定し、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の第2の位置にあるトランザクション・リソースも正常に実行可能であるということを決定する場合(第2の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置に隣接する、次の位置である)、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答内で持たれる第4のトランザクション・リソースの状態は半予約状態であり、応答は、第4のトランザクション・リソースの識別子を持つ。
選択的に、第4のトランザクション・リソースが正常に作成された後、第4の実行時間が到来すると、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースに含まれる第4の実行されるべき動作を実行し、実行された第4のトランザクション・リソースをキューから削除し、次のトランザクション・リソース(すなわち、第2の位置にあるトランザクション・リソース)を半予約状態から予約状態に切り換えて、第2の位置にあるトランザクション・リソースが予約状態に切り換えられたことをアプリケーション・サーバに通知する。
上記で説明されたように、ケースkでは、第2の動作させられるべきリソースの状態は、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得るし、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得る。第2の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
l。第4の実行時間にしたがって、第2のトランザクション・リソース・キューの中のトランザクション・リソースが、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の前に存在すること、及び第2のトランザクション・リソース・キューの中のトランザクション・リソースは、挿入位置の後には存在しないことが決定される場合、第2の管理対象オブジェクト・デバイスが、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるということを決定すると、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答内に持たれる第4のトランザクション・リソースの状態は半予約状態であり、応答は、第4のトランザクション・リソースの識別子を持つ。
上記で説明されたように、ケースlでは、第2の動作させられるべきリソースの状態は、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態であり得る。
D。第2のトランザクション・リソース・キューに含まれる少なくとも2つのトランザクション・リソースが予約状態であるとき、第2の管理対象オブジェクト・デバイスは、第4の実行時間及び第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第4のトランザクション・リソースを作成する。具体的には、以下の3つのケースm、n、及びpが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、m、n、及びpにおいて説明される決定条件を参照されたいことが留意されるべきである。
m。第2の管理対象オブジェクト・デバイスが、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の後の予約状態の他の任意のトランザクション・リソースが正常に実行可能であるということを決定し、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューの中の他のトランザクション・リソースが挿入位置の前には存在しないということを決定する場合、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答内で持たれる第4のトランザクション・リソースの状態は予約状態であり、応答は、第4のトランザクション・リソースの識別子を持つ。
上記で説明されたように、ケースmでは、第2の動作させられるべきリソースの状態は、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態であり得る。
n。第2の管理対象オブジェクト・デバイスが、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の後の第2のトランザクション・リソース・キューの中の予約状態の他の任意のトランザクション・リソースが正常に実行可能であるということを決定し、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューの中の別のトランザクション・リソースが挿入位置の前に存在するということを決定する場合、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の挿入位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する。そうである場合、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答内に持たれる第4のトランザクション・リソースの状態は予約状態であり、応答は、第4のトランザクション・リソースの識別子を持つ。
上記で説明されたように、ケースnでは、第2の動作させられるべきリソースの状態は、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得るし、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得る。第2の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
p。第2の管理対象オブジェクト・デバイスが、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の後の第2のトランザクション・リソース・キューの中の予約状態の他の任意のトランザクション・リソースが正常に実行可能であるということを決定し、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューの中の別のトランザクション・リソースが挿入位置の前に存在するということを決定する場合、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の挿入位置の前に存在するトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する。そうでない(すなわち、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の挿入位置の前に存在するトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースのステータスにしたがって、第4のトランザクション・リソースは正常に実行されることはできないということを決定する)場合、第2の管理対象オブジェクト・デバイスは、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する。第2の管理対象オブジェクト・デバイスが、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるということを決定する場合、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答内に持たれる第4のトランザクション・リソースの状態は半予約状態であり、応答は、第4のトランザクション・リソースの識別子を持つ。
上記で説明されたように、ケースpでは、第2の動作させられるべきリソースの状態は、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得るし、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得るし、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得る。第2の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
要約すると、すべての前述の5つのケースk、l、m、n、及びpは、第2の管理対象オブジェクト・デバイスが、第4の実行時間及び第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定するケースである。
図3に示される前述の実施形態に基づいて、本発明のこの実施形態の第4の可能な実装方法では、この実施形態は、第2のトランザクションの第4のトランザクション・リソースに対する第2の管理対象オブジェクト・デバイスによって受信される処理要求が、第4のトランザクション・リソースの識別子及び更新された第3の実行時間を持っている更新要求であるとき、第2の管理対象オブジェクト・デバイスが、この更新要求にしたがって第4のトランザクション・リソースを処理する特定のプロセスに関する。前述のS206は、具体的には、以下を含む。第2の管理対象オブジェクト・デバイスが、更新された第3の実行時間にしたがって第4のトランザクション・リソースを正常に更新し、更新が成功した後に、更新成功応答メッセージをアプリケーション・サーバに返送する、又は、更新された第3の実行時間にしたがって第4のトランザクション・リソースを更新するのに失敗し、更新失敗応答メッセージをアプリケーション・サーバに返送する。
具体的には、更新要求を受信した後、第2の管理対象オブジェクト・デバイスは、第2の管理対象オブジェクト・デバイスによって正常に作成された第4のトランザクション・リソースを処理する。以下の2つのケースq及びsが含まれ得る。
q。第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイスに存在しない、すなわち、第2の管理対象オブジェクト・デバイスにある第2の動作させられるべきリソースは現在、別のトランザクションのトランザクション・リソースと関連付けられていないが、第4のトランザクション・リソースのみと関連付けられているということを決定すると、第2の管理対象オブジェクト・デバイスは、更新された第3の実行時間が前述の(4)の内容に適合しないかどうかを決定する、すなわち、第2の管理対象オブジェクト・デバイスは、更新された第3の実行時間が第2の管理対象オブジェクト・デバイスの休止期間内に含まれるかどうかを決定する。更新された第3の実行時間が、依然として、第2の管理対象オブジェクト・デバイスの作業時間である場合、第2の管理対象オブジェクト・デバイスは直接、正常に作成された第4のトランザクション・リソースの第4の実行時間を更新された第3の実行時間に更新し、更新成功応答メッセージをアプリケーション・サーバに送信する。更新された第3の実行時間が、依然として、第2の管理対象オブジェクト・デバイスの休止時間である場合、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが更新されるのに失敗したということを決定し、更新失敗応答メッセージをアプリケーション・サーバに送信する。
r。第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイスに存在するということを決定すると、第2の管理対象オブジェクト・デバイスは、更新された第3の実行時間を持っている更新要求を受信した後で、以前に正常に作成された第4のトランザクション・リソースを第2のトランザクション・リソース・キューから削除し、次いで、更新された第3の実行時間を新しい第4のトランザクション・リソースの実行時間として使用する。第2の管理対象オブジェクト・デバイスは、新しい第4のトランザクション・リソースの実行時間及び対応する第2の動作させられるべきリソースの状態にしたがって、新しい第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、更新された第3の実行時間にしたがって、新しい第4のトランザクション・リソースを作成し、更新成功応答をアプリケーション・サーバに送信する。すなわち、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイスに存在するということを決定すると、更新要求が受信された後で第2の管理対象オブジェクト・デバイスによって実行される動作は、実際には、新しいトランザクション・リソースを再度作成する動作である。具体的な実行プロセスについては、前述のaからrにおいて説明される具体的な解決策を参照されたい。
第2の管理対象オブジェクト・デバイスが、更新要求にしたがって、第4のトランザクション・リソースの第4の実行時間を更新された第3の実行時間に正常に更新する場合、第1の管理対象オブジェクト・デバイスは、新しい第3のトランザクション・リソース作成要求内に持たれる更新された第3の実行時間にしたがって、新しい第3のトランザクション・リソースを正常に作成し(さらに、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスによってアプリケーション・サーバに送信される第2のトランザクションのトランザクション・リソースの作成成功についての応答内に持たれるトランザクション・リソースの状態は両方とも、予約状態である)、更新された第3の実行時間が到来する前には、アプリケーション・サーバは処理要求を送信せず、更新された第3の実行時間が到来すると、第1の管理対象オブジェクト・デバイスと第2の管理対象オブジェクト・デバイスは、デバイスによって実行される予定の動作を同時に実行する。
図3に示される前述の実施形態に基づいて、本発明のこの実施形態の第5の可能な実装方法では、この実施形態は、第2のトランザクションの第4のトランザクション・リソースに対する第2の管理対象オブジェクト・デバイスによって受信される処理要求が、第4のトランザクション・リソースの識別子を持つ削除要求であるとき、第2の管理対象オブジェクト・デバイスが、この削除要求にしたがって第4のトランザクション・リソースを処理する特定のプロセスに関する。図6に示されるように、前述のS206は、具体的には、以下を含む。
S501。第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースの識別子にしたがって、第2の管理対象オブジェクト・デバイスにある第4のトランザクション・リソースを削除する。
S502。第2の管理対象オブジェクト・デバイスは、削除応答をアプリケーション・サーバに送信する。
具体的には、以下の2つのケースs及びtが含まれ得る。
s。第2のトランザクション・リソース・キューの中の1つのトランザクション・リソースが予約状態であるとき、第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスは、決定動作を実行し、決定結果を取得する。決定動作は、以下を含む。第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定する(すなわち、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行される後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが予約状態に入ることができるかどうかを決定する)。第1の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置に隣接する、前の位置であり、第2の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置に隣接する、次の位置である。
第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが正常に実行されるということを決定する場合、第2の管理対象オブジェクト・デバイスは、第1の削除応答をアプリケーション・サーバに送信し、第1の位置にあるトランザクション・リソースが実行された後に、第2の位置にあるトランザクション・リソースの状態を予約状態へと更新し、第2の位置にあるトランザクション・リソースがすでに予約状態であることをアプリケーション・サーバに通知する。
第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが実行されるのに失敗するということを決定する場合、第2の管理対象オブジェクト・デバイスは、第2の位置にあるトランザクション・リソースを削除し、第2の位置にあるトランザクション・リソースが削除されていることをアプリケーション・サーバに通知する。第2の管理対象オブジェクト・デバイスは、第2の位置にある削除されたトランザクション・リソースが第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースであるかどうかをさらに決定する。第2の位置にあるトランザクション・リソースが第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースでないことが決定される場合、第2の管理対象オブジェクト・デバイスは、第2の位置の次の位置を新しい第2の位置として使用して、新しい第2の位置にあるトランザクション・リソース上で前述の決定動作を実行する。第2の位置にあるトランザクション・リソースが第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースであることが決定される場合、トランザクション・リソース削除手順が終了される。
本明細書では、単純な例が、説明のために使用され得る。第2のトランザクション・リソース・キューが4つのトランザクション・リソース、すなわち、T1と、T2と、T3と、T4とを含むことが仮定される。第4のトランザクション・リソースがT1とT2との間に挿入され、第4のトランザクション・リソースがT5であると仮定される。表1に示されるように、T1は予約状態であるが、T2、T3、及びT4は半予約状態である。
第2の管理対象オブジェクト・デバイスがT5を第2のトランザクション・リソース・キューから削除した後、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが予約状態に切り換え可能であるということを決定することが必要である、すなわち、第2の管理対象オブジェクト・デバイスは、T5の前のT1が実行された後の第2の動作させられるべきリソースの状態にしたがって、T2が予約状態に切り換え可能であるかどうかを決定することが必要である。そうである場合、第2の管理対象オブジェクト・デバイスは、第1の削除応答をアプリケーション・サーバに送信し、T1が実行された後にT2の状態を予約状態に更新して、T2がすでに予約状態であることをアプリケーション・サーバに通知する。そうでない場合、第2の管理対象オブジェクト・デバイスは、T2を削除し、T2が削除されたことをアプリケーション・サーバに通知することも必要である。さらに、第2の管理対象オブジェクト・デバイスは、削除されたT2が第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースであるかどうかを決定することも必要である。T2が第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースでないことが決定される場合、第2の管理対象オブジェクト・デバイスは、T1が実行された後の(この場合、T5及びT2が削除されている)第2の動作させられるべきリソースの状態にしたがって、T3が予約状態に切り換え可能であるかどうかを引き続き決定する。そうである場合、第2の管理対象オブジェクト・デバイスは、第1の削除応答をアプリケーション・サーバに送信し、T1が実行された後にT3の状態を予約状態に更新して、T3がすでに予約状態であることをアプリケーション・サーバに通知する。そうでない場合、第2の管理対象オブジェクト・デバイスは、T3を削除し、T3が削除されたことをアプリケーション・サーバに通知することも必要である。さらに、削除されたトランザクション・リソースが第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースであることが決定されるまで、第2の管理対象オブジェクト・デバイスは、削除されたT3が第2のトランザクション・リソース内の最後のトランザクション・リソースであるかどうかを決定し、以下同様であることも必要であり、次いで、削除手順が終了される。
第2のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースが予約状態である場合、第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすか否かを決定する。
第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスが、第4のトランザクション・リソースが削除された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすということを決定した場合、すなわち、第4のトランザクション・リソースが削除された後、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが削除された後の第2の動作させられるべきリソースのステータスにしたがって(すなわち、第4のトランザクション・リソースが削除された後、第2の管理対象オブジェクト・デバイスが、半予約状態のトランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の第2の動作させられるべきリソースのステータスにしたがって、以下のということを決定する)、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースが正常に実行されることはできないということを決定し、第2の管理対象オブジェクト・デバイスは、半予約状態のトランザクション・リソースを削除して、トランザクション・リソースが削除されたことをアプリケーション・サーバに通知するように、アプリケーション・サーバに第2の削除応答を送信する。
本明細書では、単純な例が、説明のために使用され得る。第2のトランザクション・リソース・キューが4つのトランザクション・リソース、すなわち、T1と、T2と、T3と、T4とを含むことが仮定される。表2に示されるように、前述のT1、T2、及びT4はすべて予約状態であり、T3は半予約状態であり、T2が第4のトランザクション・リソースであると仮定される。
第4のトランザクション・リソースT2が削除された後、第2の管理対象オブジェクト・デバイスは、T3が予約状態に切り換え可能であるかどうかを決定する。T3が正常に実行可能であるかどうかは、T2が実行された後の第2の動作させられるべきリソースの状態のみに依存する(T3が作成されたとき、T3が実行された後の第2の動作させられるべきリソースの状態に基づいてキューの中のT3の後の予約状態の任意のトランザクション・リソースは正常に実行可能であることが決定され、T1及びT2がT3の前に存在し、T2が実行された第2の動作させられるべきリソースの状態に基づけばT3はコミット可能であるが、T1が実行された後の第2の動作させられるべきリソースの状態に基づけばT3はコミットされることはできないことも決定されるので、T3は半予約状態である。したがって、T3が作成され、T3の状態が半予約状態であることが決定される)。したがって、T3の実行成功は、T2が実行された後の第2の動作させられるべきリソースの状態のみに依存し、T3はまた、T2が削除された後、正常に実行されることはできない。したがって、第2の管理対象オブジェクト・デバイスはまた、T3を削除し、トランザクション・リソースが削除されたことをアプリケーション・サーバに通知するように、第2の削除応答をアプリケーション・サーバに送信することが必要である。
第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスが、第4のトランザクション・リソースが削除された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たさないということを決定する場合、すなわち、第4のトランザクション・リソースが削除された後、第4のトランザクション・リソースが削除された後の第2の動作させられるべきリソースの状態に基づいて(すなわち、第4のトランザクション・リソースが削除された後、半予約状態のその前の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態に基づいて)、半予約状態のトランザクション・リソースは正常に実行可能であり、第2の管理対象オブジェクト・デバイスは、半予約状態のトランザクション・リソースを予約状態へと更新する。
本明細書では、単純な例がまた、説明のために使用される。第2のトランザクション・リソース・キューが4つのトランザクション・リソース、すなわち、T1と、T2と、T3と、T4とを含むことが仮定される。表3に示されるように、前述のT1、T2、及びT4はすべて予約状態であり、T3は半予約状態であり、T1が第4のトランザクション・リソースであると仮定される。
第4のトランザクション・リソースT1が削除された後、第2の管理対象オブジェクト・デバイスは、T3が予約状態に切り換え可能であるかどうかを決定する。T3が予約状態に切り換え可能であるかどうかは、T2が実行された後の第2の動作させられるべきリソースの状態のみに依存する。したがって、T1が削除された後、T3の半予約状態は影響されず、すなわち、第2の管理対象オブジェクト・デバイスは、T2が実行された後の第2の動作させられるべきリソースのステータスにしたがって、T3が正常に実行可能であるということを決定する。したがって、第2の管理対象オブジェクト・デバイスは、T3の前の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、T3が正常に実行可能であることをさらに決定する(この例では、T1が削除された後、T2のみが状態を維持し、したがって、T3については、T2が実行された後の第2の動作させられるべきリソースの状態のみを参照されたい)。この場合、T2が実行された後、第2の管理対象オブジェクト・デバイスは、T3を予約状態に更新する。
図3に示される実施形態の第4の可能な実装方法及び第5の可能な実装方法では、第2の管理対象オブジェクト・デバイスが削除要求又は更新要求を実行する場合、予約状態のトランザクション・リソースの実行が影響されることが留意されるべきである。これは、削除要求又は更新要求が実行される場合、トランザクション・リソースの元の実行可能状態が破棄され、さらに、トランザクションの原子性が破棄されることを意味する。したがって、第2の管理対象オブジェクト・デバイスは、この場合、削除要求又は更新要求を拒否する。
本出願の技術的解決策について、さらに説明するために、以下は、具体的な説明のためにインテリジェント灌漑の2つの例を使用する。例1は主に、第2のトランザクション・リソース・キューが予約状態の1つのトランザクション・リソースを含むシナリオに関する。例2は主に、第2のトランザクション・リソース・キューが予約状態の少なくとも2つのトランザクション・リソースを含むシナリオに関する。
例1。このシナリオは、同時に発生するトランザクションを処理するプロセスに関し、管理対象オブジェクト・デバイスにある第2のトランザクション・リソース・キューは、予約状態の1つのトランザクション・リソースを含む。アプリケーション・サーバは全部で6つのトランザクションを有し、それらのトランザクションはそれぞれ、トランザクション1、トランザクション2、トランザクション3、トランザクション4、トランザクション5、及びトランザクション6である。これらのトランザクションは3つの管理対象オブジェクト・デバイスに関係し、その管理対象オブジェクト・デバイスはそれぞれ、第1の管理対象オブジェクト・デバイスA(弁1)、第2の管理対象オブジェクト・デバイス(弁2)、及び第1の管理対象オブジェクト・デバイスB(弁3)である。トランザクション1の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T1を弁2に送信し、第3のトランザクション・リソース作成要求R1を弁1及び弁3に送信する。トランザクション2の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T2を弁2に送信し、第3のトランザクション・リソース作成要求R2を弁1及び弁3に送信する。トランザクション3の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T3を弁2に送信し、第3のトランザクション・リソース作成要求R4を弁1及び弁3に送信する。トランザクション4の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T4を弁2に送信し、第3のトランザクション・リソース作成要求R4を弁1及び弁3に送信する。トランザクション5の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T5を弁2に送信し、第3のトランザクション・リソース作成要求R5を弁1及び弁3に送信する。トランザクション6の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T6を弁2に送信し、第3のトランザクション・リソース作成要求R6を弁1及び弁3に送信する。以下は、第2の管理対象オブジェクト・デバイス(すなわち、弁2)上の動作のみについて説明する。弁1及び弁3上の動作については、弁2上の動作を参照されたい。
アプリケーション・サーバが、T1要求、T2要求、T3要求、T4要求、T5要求、及びT6要求をトランザクションの順に順序通り弁2に送信することが留意されるべきである。
T1要求にしたがって作成される予定の第4のトランザクション・リソースはt1であり、T2要求にしたがって作成される予定の第4のトランザクション・リソースはt2であり、T3要求にしたがって作成される予定の第4のトランザクション・リソースはt3であり、T4要求にしたがって作成される予定の第4のトランザクション・リソースはt4であり、T5要求にしたがって作成される予定の第4のトランザクション・リソースはt5であり、T6要求にしたがって作成される予定の第4のトランザクション・リソースはt6である。以下は、第2の管理対象オブジェクト・デバイス(すなわち、弁2)上の動作のみについて説明する。弁1及び弁3上の動作については、弁2上の動作を参照されたい。
トランザクション1の場合、アプリケーション・サーバは、T1要求を弁2に送信し、弁2を12:00に30%に調整することを要求する。T1要求を受信した後、弁2は、この場合、第2のトランザクション・リソースが弁2上に存在しないことをチェックする。弁2は、この場合は第2の動作させられるべきリソースの状態に基づいて、第4のトランザクション・リソースt1が正常に作成可能であることをさらに決定し、したがって、t1を作成する。t1は予約状態である。弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表4に示されている。t1が正常に作成された後、t1は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション2の場合、アプリケーション・サーバは、T2要求を弁2に送信し、弁2を12:05に40%に調整することを要求する。T2要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1を含むことを確認する。弁2は、T2要求によって要求された実行時間12:05及び第2のトランザクション・リソース・キューの中のt1の実行時間12:00にしたがって、T2要求にしたがって作成される予定の第4のトランザクション・リソースt2は、第2のトランザクション・リソース・キューの中の最後の位置に作成されるべきであるということを決定する。弁2は、t1が実行された後の第2の動作させられるべきリソースの状態に基づいて、t2が予約状態に切り換えられ得ることをさらに確認及び決定する。したがって、弁2はt2を正常に作成し、t2の現在の状態は半予約状態である。弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表5に示されている。さらに、t2が正常に作成された後、t2は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション3の場合、アプリケーション・サーバは、T3要求を弁2に送信し、弁2を12:03に20%に調整することを要求する。T3要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とを含むことを確認する。弁2は、T3要求によって要求された実行時間12:03、第2のトランザクション・リソース・キューの中のt1の実行時間12:00、及びt2の実行時間12:05にしたがって、T3要求にしたがって作成される予定の第4のトランザクション・リソースt3がt1とt2の間に作成されるべきであるということを決定する。弁2は、t1が実行された後の第2の動作させられるべきリソースの状態(この場合、第2の動作させられるべきリソースの状態は、弁2の開放度が30%であることである)に基づいて、t3が予約状態に切り換えられ得ることをさらに確認及び決定し(すなわち、弁2は、弁2が30%から20%に調整され得るということを決定し、あらかじめ設定された閾値が60%であると仮定すると、調整範囲は、あらかじめ設定された閾値範囲内である)、t3が実行された後の第2の動作させられるべきリソースの状態に基づいて(この場合、第2の動作させられるべきリソースの状態は、弁2の開放度が20%であることである)、t2も予約状態に切り換えられ得るということを決定する(すなわち、弁2は、弁2が20%から40%に調整され得るということを決定する、調整範囲は、あらかじめ設定された閾値範囲内である)。したがって、弁2はt3を正常に作成し、t3の現在の状態は半予約状態である。弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表6に示されている。さらに、t3が正常に作成された後、t3は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション4の場合、アプリケーション・サーバは、T4要求を弁2に送信し、弁2を11:55に20%に調整することを要求する。T4要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とt3とを含むことを確認する。弁2は、T4要求によって要求された実行時間11:55及びキューの中のt1の実行時間12:00にしたがって、T4要求にしたがって作成される予定の第4のトランザクション・リソースt4は、t1の前、すなわち、第2のトランザクション・リソース・キューの中の第1の位置に作成されるべきであるということを決定する。t1はすでに予約状態であるので、別のトランザクション・リソースがt1の前に作成される場合、予約されたトランザクション・リソースt1は実行されることはできない(M2Mシステムは、この可能性が存在することを許可しない)。しかしながら、弁2は、t4の実行時間が12:05よりも遅くに設定されている場合、すなわち、t4がt2の後に作成される場合、t2が実行された後の第2の動作させられるべきリソースの状態に基づいて(t2が実行された後の第2の動作させられるべきリソースの状態は40%である)、t4は正常に実行可能である(すなわち、弁2は、弁2が40%から20%に調整され得るということを決定する。調整範囲は、あらかじめ設定された閾値範囲内である)ことをチェックする。したがって、弁2は第2の失敗応答をアプリケーション・サーバに返送するが、この応答は、適切な実行時間12:10を持つ。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが依然として表6に示されている。
トランザクション5の場合、アプリケーション・サーバは、T5要求を弁2に送信し、弁2を12:02に80%に調整することを要求する。T5要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とt3とを含むことを確認する。弁2は、T5要求によって要求された実行時間12:02、キューの中のt1の実行時間12:00、及びt3の実行時間12:03にしたがって、t5は、トランザクション・リソース・キューの中のt1とt2との間に作成されるべきであるということを決定する。しかしながら、t5が正常に実行される場合、弁の開放度は80%である(すなわち、この場合、弁2上の第2の動作させられるべきリソースの状態は80%である)が、t3は、このときに弁2の開放度を20%に調整する(すなわち、弁2を80%から20%に調整する)ことを要求し、自己保護のために、弁2は、2つの調整の間の成長範囲があらかじめ設定された閾値(60%と仮定する)以上になることを許可しない。それは、弁2の成長範囲が60%に等しい場合、その後の柔軟なパイプ及びインタフェースに大きな影響がもたらされ、漏水又は継手の緩みという現象を招くからである。したがって、弁2は、t5が実行された後、半予約状態のt3は影響され、予約状態に入ることはできないということを決定する。したがって、弁2は、第2の失敗応答をアプリケーション・サーバに返送する。しかしながら、同様に、弁2は、t5がt2の後に作成される場合、t5は、正常に作成可能であることをチェックする。したがって、第2の失敗応答は、適切な実行時間12:10を持つ。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが依然として表6に示されている。
トランザクション6の場合、アプリケーション・サーバは、T6要求を弁2に送信し、弁2を12:08に100%に調整することを要求する。T6要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とt3とを含むことを確認する。弁2は、T6要求によって要求された実行時間12:08及びキューの中のt2の実行時間12:05にしたがって、t6は第2のトランザクション・リソース・キューの中のt2の後に作成される、すなわち、第2のトランザクション・リソース・キューの中の最後の位置であるべきであるということを決定する。しかしながら、t2が正常に実行された後、弁2の開放度は40%である(すなわち、この場合、弁2上の第2の動作させられるべきリソースの状態は40%である)が、t6は、このとき弁2の開放度を100%に調整することを要求する。したがって、弁の成長範囲は、あらかじめ設定された閾値(60%と仮定する)に等しい。したがって、弁2は、t2が実行された後、t6が予約状態に入ることはできないということを決定し、同時に、弁2は、t6の100%調整は第2のトランザクション・リソース・キューの中のいかなる場所でも適切でないことをチェックし、したがって、第1の失敗応答を返送する。
トランザクション1におけるトランザクション・リソースの削除の場合(1つのトランザクションは複数のトランザクション・リソースを含み、複数のトランザクション・リソースは、それぞれ異なる管理対象オブジェクト・デバイスによって作成され、前述の表6中のt1、t2、及びt3は、異なるトランザクションに属するトランザクション・リソースである)、トランザクション1では、アプリケーション・サーバは、第4のトランザクション・リソース作成要求を弁2に送信し、第4のトランザクション・リソースは、弁2上で正常に作成される。第4のトランザクション・リソースは、前述のt1であると仮定される。さらに、アプリケーション・サーバは、第3のトランザクション・リソースの作成不成功についての弁1によって送信された応答を受信する。これは、トランザクション1の第3のトランザクション・リソースは、弁1上で正常に作成されることができないことを示す。したがって、アプリケーション・サーバは、弁2上で正常に作成されたt1を削除することが必要である。したがって、アプリケーション・サーバは、t1の識別子を持つ削除要求を弁2に送信し、したがって、弁2は、t1の実行時間が到来する前に、アプリケーション・サーバによって送信された削除要求を受信する。削除要求は、第2のトランザクション・リソース・キューの中のt1を削除するために使用される。弁2は、現在の第2のトランザクション・リソース・キューにしたがって、t1の削除がt3の半予約状態に影響しないということを決定する。t1が削除された後、弁2は、完全閉止から20%に直接開放されるからである。したがって、t3は、予約状態に入ることができる。t1が実行された後、弁2は、t2の状態を半予約状態から予約状態に更新し、t2が予約状態に入ったことをアプリケーション・サーバに通知する。
トランザクション2内のトランザクション・リソースの実行の場合、弁2は、トランザクション2のt2を削除するための削除要求又はアプリケーション・サーバによって送信された更新要求が受信されないことを確認する。12:05が到来した後、弁2は、t2において動作予定動作を実行する、すなわち、弁の開放度を40%に調整する。次いで、弁は、t2を第2のトランザクション・リソース・キューから削除する。この場合、別のトランザクション・リソースTxが第2のトランザクション・リソース・キューの中のt2の後に存在する場合、弁2は、Txの状態を半予約状態から予約状態に切り換え、通知をアプリケーション・サーバに送信し、Txが予約状態に入ったことを通知する。
例1は、第2のトランザクション・リソース・キューが1つの予約状態のトランザクション・リソースを含むシナリオのためのものであり、アプリケーション・サーバ及び第2の管理対象オブジェクト・デバイスによって同時に発生するトランザクションを処理するプロセス、並びに処理中に第2の管理対象オブジェクト・デバイスの第2のトランザクション・リソース・キューを維持する技術的解決策について説明する。
例2。このシナリオは、同時に発生するトランザクションを処理するプロセスに関し、管理対象オブジェクト・デバイスにある第2のトランザクション・リソース・キューは、予約状態の少なくとも2つのトランザクション・リソースを含む。アプリケーション・サーバは全部で6つのトランザクションを有し、それらのトランザクションはそれぞれ、トランザクション1、トランザクション2、トランザクション3、トランザクション4、トランザクション5、及びトランザクション6である。これらのトランザクションは3つの管理対象オブジェクト・デバイスに関係し、その管理対象オブジェクト・デバイスはそれぞれ、第1の管理対象オブジェクト・デバイスA(弁1)、第2の管理対象オブジェクト・デバイス(弁2)、及び第1の管理対象オブジェクト・デバイスB(弁3)である。トランザクション1の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T1を弁2に送信し、第3のトランザクション・リソース作成要求R1を弁1及び弁3に送信する。トランザクション2の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T2を弁2に送信し、第3のトランザクション・リソース作成要求R2を弁1及び弁3に送信する。トランザクション3の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T3を弁2に送信し、第3のトランザクション・リソース作成要求R4を弁1及び弁3に送信する。トランザクション4の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T4を弁2に送信し、第3のトランザクション・リソース作成要求R4を弁1及び弁3に送信する。トランザクション5の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T5を弁2に送信し、第3のトランザクション・リソース作成要求R5を弁1及び弁3に送信する。トランザクション6の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T6を弁2に送信し、第3のトランザクション・リソース作成要求R6を弁1及び弁3に送信する。以下は、第2の管理対象オブジェクト・デバイス(すなわち、弁2)上の動作のみについて説明する。弁1及び弁3上の動作については、弁1上の動作を参照されたい。
アプリケーション・サーバが、T1要求、T2要求、T3要求、T4要求、T5要求、及びT6要求をトランザクションの順に順序通り弁2に送信することが留意されるべきである。アプリケーション・サーバが、T1要求、T2要求、T3要求、T4要求、T5要求、及びT6要求を順序通り弁2に送信すると仮定される。
T1要求にしたがって作成される予定の第4のトランザクション・リソースはt1であり、T2要求にしたがって作成される予定の第4のトランザクション・リソースはt2であり、T3要求にしたがって作成される予定の第4のトランザクション・リソースはt3であり、T4要求にしたがって作成される予定の第4のトランザクション・リソースはt4であり、T5要求にしたがって作成される予定の第4のトランザクション・リソースはt5であり、T6要求にしたがって作成される予定の第4のトランザクション・リソースはt6である。以下は、第2の管理対象オブジェクト・デバイス(すなわち、弁2)上の動作のみについて説明する。弁1及び弁3上の動作については、弁2上の動作を参照されたい。弁2の初期状態は25%であることが留意されるべきである。
トランザクション1の場合、アプリケーション・サーバは、T1要求を弁2に送信し、弁2を12:00に40%に調整することを要求する。T1要求を受信した後、弁2は、この場合、第2の動作させられるべきリソースに対する第2のトランザクション・リソースが弁2上に存在しないことをチェックする。弁2は、この場合は第2の動作予定の状態リソースに基づいて、第4のトランザクション・リソースt1が正常に作成可能であることをさらにチェック及び決定し、したがって、t1を作成する。t1は予約状態である。弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表7に示されている。t1が正常に作成された後、t1は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション2の場合、アプリケーション・サーバは、T2要求を弁2に送信し、弁2を12:05に80%に調整することを要求する。T2要求を受信した後、弁2は、この場合は第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1を含むことを確認する。弁2は、T2要求によって要求された実行時間12:05及び第2のトランザクション・リソース・キューの中のt1の実行時間12:00にしたがって、T2要求にしたがって作成される予定のt2は、第2のトランザクション・リソース・キューの中の最後の位置に作成されるべきであるということを決定する。したがって、弁2は、作成される予定の第4のトランザクション・リソースt2は、第2のトランザクション・リソース・キューの中の作成される予定のトランザクション・リソースt2の位置の後の別のトランザクション・リソースの予約状態に影響しないことを確認する。前述の表7に示される第2のトランザクション・リソース・キューでは、t1はさらに、t2の前に存在する。弁2は、t1が実行された後の第2の動作させられるべきリソースの状態に基づくにせよ、t1が削除された第2の動作させられるべきリソースの現在の状態(すなわち、弁2の初期状態25%)に基づくにせよ、t2は予約状態に入ることができることを確認する。したがって、弁2はt2を正常に作成し、t2の現在の状態は予約状態である。弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表8に示されている。t2が正常に作成された後、t2は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション3の場合、アプリケーション・サーバは、T3要求を弁2に送信し、弁2を12:03に10%に調整することを要求する。T3要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とを含むことを確認する。弁2は、T3要求によって要求された実行時間12:03、キューの中のt1の実行時間12:00、及びt2の実行時間12:05にしたがって、t3はt1とt2との間に配置されるということを決定する。さらに、t3の作成成功は、弁2のt2の調整範囲を10%(t3の10%)から80%(t2の80%)に直接増加させ得る。これは、弁2の1つの調整が60%を超えるべきではないという制限を超える。したがって、t2の予約状態が影響される。したがって、t3は、作成されるのに失敗する。t3がt1の前に作成される場合、t3は、正常に作成可能である。したがって、第1の失敗応答が返送され、この応答は、適切な実行時間11:59を含む。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが依然として表8に示されている。
トランザクション4の場合、アプリケーション・サーバは、T4要求を弁2に送信し、弁2を11:55に30%に調整することを要求する。T4要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とを含むことを確認する。T4要求によって要求される実行時間11:55及びキューの中のt1の実行時間12:00にしたがって、弁2は、t4は第2のトランザクション・リソース・キューの中のt1の前に作成されるべきであるということを決定する。t1及びt2はすでに予約状態であるので、弁2は、t4が正常に作成される場合、30%への弁開放(すなわち、t4が実行された後の第2の動作させられるべきリソースの状態が30%である)がt1及びt2の通常実行に影響せず、他のトランザクション・リソースが第2のトランザクション・リソース・キューの中のt4の前に存在しないということを決定する。したがって、弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送し、t4は予約状態である。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表9に示されている。t4が正常に作成された後、t4は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション5の場合、アプリケーション・サーバは、T5要求を弁2に送信し、弁2を12:02に100%に調整することを要求する。T5要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とt4とを含むことを確認する。弁2は、T5要求によって要求された実行時間12:02、キューの中のt1の実行時間12:00、及びt2の実行時間12:05にしたがって、t5は、第2のトランザクション・リソース・キューの中のt1とt2との間に作成されるべきであるということを決定する。t5の作成成功は、t2の予約状態に影響しない。しかしながら、t4もt1もt5の前に存在する。t4が実行された後の動作させられるべきリソースの状態に基づくにせよ、t1が実行された後の動作させられるべきリソースの状態に基づくにせよ、t5は、正常に作成されることはできない。t4の30%又はt1の40%のどちらかの場合、100%調整は限度60%を超える。したがって、t5は、作成されるのに失敗する。しかしながら、弁2は、t5がt2の後に作成される場合、t5は、正常に作成可能であることをチェックする。したがって、第2の失敗応答が返送され、この応答は、適切な実行時間12:10を含む。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが依然として表9に示されている。
トランザクション6の場合、アプリケーション・サーバは、T6要求を弁2に送信し、弁2を12:02に90%に調整することを要求する。T6要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とt4とを含むことを確認する。弁2は、T6要求によって要求された実行時間12:02、キューの中のt1の実行時間12:00、及びt2の実行時間12:05にしたがって、t6は、第2のトランザクション・リソース・キューの中のt1とt2との間に作成されるべきであるということを決定する。t6の作成成功は、t2の予約状態に影響しない。しかしながら、t4もt1もt6の前に存在する。t1が実行された後の結果に基づいて、t6は実行可能である。しかしながら、t4が実行された後の結果に基づくと、t6は、正常に作成されることはできない。t4の30%の場合、90%調整は限度60%を超える。したがって、t6は正常に作成されるが、t6は半予約状態であり、弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表10に示されている。t6が正常に作成された後、t6は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになり、t6は半予約状態である。
トランザクション・リソースt4の実行の場合、11:55が到来すると、弁2はt4において実行されるべき動作を実行する、すなわち、弁2は30%開放に切り換えられ、次いで、t4が削除される(すなわち、第2の動作させられるべきリソースの状態は、この場合、30%である)。現在の第2のトランザクション・リソース・キューは、以下の表11に示されている。
トランザクション・リソースt1の削除の場合、トランザクション1では、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T1を弁2に送信し、弁2は、第2のトランザクション・リソース・キューの中のt1を正常に作成する。さらに、アプリケーション・サーバは、第3のトランザクション・リソースの作成不成功を示す応答を弁1から受信し、これは、トランザクション1の第3のトランザクション・リソースは弁1上で正常に作成されることができないことを示す。したがって、アプリケーション・サーバは、弁2上で正常に作成されたt1を削除することが必要である。したがって、アプリケーション・サーバは、t1の識別子を持つ削除要求を弁2に送信し、したがって、弁2は、t1の実行時間が到来する前に、アプリケーション・サーバによって送信された削除要求を受信する。削除要求は、第2のトランザクション・リソース・キューの中のt1を削除するために使用される。弁2は、現在の第2のトランザクション・リソース・キュー(表11を参照のこと)にしたがって、t1の後のt6のみが半予約状態であるということを決定する。弁2は、t1の削除がt6の半予約状態に影響するかどうかを決定する。t1が削除された後、弁2は、第2の動作させられるべきリソースの現在のステータス(30%開放)にしたがって、t6が予約状態に入ることはできないということを決定するので、弁2は、t6を削除し、t6が削除されたことをアプリケーション・サーバに通知する。
トランザクション・リソースt4の削除の場合、前述の表10に示される第2のトランザクション・リソース・キューでは、t4が実行される前と仮定すると、弁2は、40%に直接開放されるように弁2に要求する更新要求を受信する。更新要求を受信した後、弁2は初期の25%状態から40%に更新され、この調整範囲はあらかじめ設定された閾値を超えない、すなわち、第2の動作させられるべきリソースの現在の状態は40%である。
11:55の前、t4に関連する別の弁が、トランザクション4に属する第3のトランザクション・リソースを作成するのに失敗する場合、弁2上のt4も削除されることが必要である。弁2は、アプリケーション・サーバによって送信された削除要求を受信し、この削除要求は、t4の識別子を持ち、第2のトランザクション・リソース・キューの中のt4を削除するために使用される。弁2がt4を削除した後、現在の第2のトランザクション・リソース・キューにしたがって、t4の後のt6のみが半予約状態である。弁2は、t4の削除がt6の半予約状態に影響するかどうかを決定する。t4が削除された後、第2の動作させられるべきリソースの現在の状態(40%開放)に基づくにせよ、t1が実行された後の状態(40%開放)に基づくにせよ、t6は、予約状態に入ることができる。したがって、弁2は、t6の状態を予約に更新し、t6はすでに予約状態であることをアプリケーション・サーバに通知する。
例2は、第2のトランザクション・リソース・キューが少なくとも2つの予約状態のトランザクション・リソースを含むシナリオのためのものであり、アプリケーション・サーバ及び第2の管理対象オブジェクト・デバイスによって同時に発生するトランザクションを処理するプロセス、並びに処理中に第2の管理対象オブジェクト・デバイスの第2のトランザクション・リソース・キューを維持する技術的解決策について説明する。
図7は、本発明による、分散トランザクション・リソースを実行するための方法の実施形態3の概略フローチャートである。この方法は、M2Mシステムに適用される。M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含む。第1の管理対象オブジェクト・デバイスは、少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクトは、少なくとも2つの管理対象オブジェクト・デバイス内の第1の管理対象オブジェクト・デバイスを除く任意の管理対象オブジェクト・デバイスである。図7に示されるように、方法は、以下のステップを含む。
S601。アプリケーション・サーバは、第1のトランザクションについての第1のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信し、この第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む。
S602。アプリケーション・サーバは、第1のトランザクションについての第2のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに送信し、この第2のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、第1の実行時間と第2の実行時間は同じである。
具体的には、アプリケーション・サーバは、第1のトランザクションに対する第1のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに、第1のトランザクションに対する第2のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに、別々に送信する、すなわち、第1のトランザクション・リソースと第2のトランザクション・リソースの両方は、アプリケーション・サーバの第1のトランザクションに属する。第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む。第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含む。第1の実行時間と第2の実行時間は同じである。選択的に、第1の実行されるべき動作と第2の実行されるべき動作は、同じであってもよいし、異なってもよい。さらに、第1の実行されるべき動作又は第2の実行されるべき動作は、プリミティブな形で反映されてもよいし、別の様式で反映されてもよい。
第1の管理対象デバイスによって実行される動作と第2の管理対象オブジェクト・デバイスによって実行される動作は類似していることは、留意されるべきである。したがって、以下の技術的解決策のすべてにおいて、第1の管理対象オブジェクト・デバイスは、説明される対象として使用される。第2の管理対象オブジェクト・デバイスによって実行される動作については、第1の管理対象オブジェクト・デバイスによって実行される動作を参照されたい。第2の管理対象オブジェクト・デバイスによって第2のトランザクション・リソースを作成するプロセスについては、第1の管理対象オブジェクト・デバイスによって第1のトランザクション・リソースを作成するプロセスを参照されたい。
S603。アプリケーション・サーバは、あらかじめ設定された時間内に、2の管理対象オブジェクト・デバイスによって送信されるとともに第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答を受信し、第1の管理対象オブジェクト・デバイスによって送信されるとともに第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答を受信する。
具体的には、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース作成要求内で持たれる第1の実行時間及び第1の実行されるべき動作等の情報にしたがって、第1のトランザクション・リソースが正常に作成可能であるかどうかを決定する。第1の実行されるべき動作は、第1の動作させられるべきリソースに対する要求を含み、この要求は、要求の開始者、要求されたターゲット・リソースの識別子、及び要求される具体的な内容等の情報を含んでよい。
選択的に、第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる情報にしたがって、第1のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすかどうかを決定してよい。具体的には、この条件は、以下の(1)から(4)の内容を含み得る。(1)第1の管理対象オブジェクト・デバイスが、第1の実行されるべき動作に含まれる「要求されたターゲット・リソースの識別子」にしたがって、第1の実行されるべき動作に対して要求されるターゲット・リソースが第1の動作させられるべきリソースであるかどうかをチェックする。(2)第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる「要求の開始者」にしたがって、開始者(すなわち、アプリケーション・サーバ)が、第1のトランザクション・リソース作成要求を開始するのに十分な権利を有するかどうかをチェックする。(3)第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる「要求された内容」にしたがって、要求された内容が第1の動作させられるべきリソースに対して実行可能であるかどうかをチェックする。(4)第1の管理対象オブジェクト・デバイスは、第1の実行時間並びに第1の管理対象オブジェクト・デバイスの作業期間及び休止期間の構成にしたがって、第1の実行時間によって指定された時間に、第1のトランザクション・リソース作成要求内に持たれた第1の実行されるべき動作の実行が保証可能であるかどうかをチェックする。
前述の4つの項目がすべて正常にチェックされた場合、それは、第1のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすことを示し、第1の管理対象オブジェクト・デバイスが第1のトランザクション・リソース作成要求にしたがって第1のトランザクション・リソースを正常に作成可能である。RESTfulアーキテクチャの特徴に基づいて、作成された第1のトランザクション・リソースは、3つの属性、すなわち、第1のトランザクション・リソースの現在の状態と、第1の実行時間と、第1の実行されるべき動作とを含み得る(対応して、第2のトランザクション・リソースは、3つの属性、すなわち、第2のトランザクション・リソースの状態と、第2の実行時間と、第2の実行されるべき動作とを含む)。
さらに、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソースが正常に作成されることをアプリケーション・サーバに通知するように、第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。第1の管理対象オブジェクト・デバイスの前述の実行プロセスと同様に、第2の管理対象オブジェクト・デバイスも、第2のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクション・リソースが正常に作成されることをアプリケーション・サーバに通知するように、第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答が第1のトランザクション・リソースの作成成功を示す応答であるか第2のトランザクション・リソースの作成成功を示す応答であるかに関係なく、応答は、それぞれ作成されたトランザクション・リソースの識別子を持ってもよいし、それぞれ作成されたトランザクション・リソースの状態をさらに持ってもよい。状態は、予約状態であってもよいし、半予約状態であってもよい。
アプリケーション・サーバは、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスによって送信されたトランザクション・リソース作成応答があらかじめ設定された時間内に受信されるかどうかを決定することが必要であることが留意されるべきである。本明細書では、トランザクション・リソース作成応答が成功応答であるか失敗応答であるかに関係なく、アプリケーション・サーバが、あらかじめ設定された時間内にトランザクション・リソース作成応答を受信するのに失敗する限り、アプリケーション・サーバは、トランザクション・リソースが作成されるのに失敗するとみなす。
アプリケーション・サーバが、あらかじめ設定された時間内に、第2の管理対象オブジェクト・デバイスによって送信され第2のトランザクション・リソースの作成成功を示す応答を受信するが、第1の管理対象オブジェクト・デバイスによって送信されたトランザクション・リソース作成応答を受信するのに失敗した場合、アプリケーション・サーバは、第1のトランザクション・リソースが作成されるのに失敗したということを決定し、第2の管理対象オブジェクト・デバイス上で正常に作成された第2のトランザクション・リソースを削除し、トランザクションの原子性を確保するように、第2のトランザクション・リソースを正常に作成した第2の管理対象オブジェクト・デバイスに削除要求を送信する。アプリケーション・サーバが、あらかじめ設定された時間内に、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスによって送信されたトランザクション・リソース作成応答を受信するのに失敗した場合、アプリケーション・サーバは作成手順を終了する。
さらに、本発明のこの実施形態では、第1の管理対象オブジェクト・デバイスと第2の管理対象オブジェクト・デバイスの両方が、第1のトランザクションのトランザクション・リソースの作成成功についての応答をアプリケーション・サーバに送信するので、アプリケーション・サーバは、第1のトランザクション・リソースの作成成功を示す応答及び第2のトランザクション・リソースの作成成功を示す応答があらかじめ設定された時間内に受信されるということを決定した後、処理要求を第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスに送信しないということを決定する。したがって、第1の管理対象オブジェクト・デバイスは、第1の実行時間が到来する前、アプリケーション・サーバによって送信された処理要求を受信するのに失敗する(又は、第2の管理対象オブジェクト・デバイスは、第2の実行時間が到来する前、これを受信するのに失敗する)。したがって、第1の実行時間(第2の実行時間)が到来すると、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクトは、それぞれデバイスによって作成されたトランザクション・リソース内の実行されるべき動作を同時に実行することができる。
本発明のこの実施形態による分散トランザクション・リソースを実行するための方法では、アプリケーション・サーバによって複数の管理対象オブジェクト・デバイスに送信されるトランザクション・リソース作成要求は同じ実行時間を持ち、それによって、トランザクション・リソースが正常に作成されることが決定され、実行時間が到来すると、複数の管理対象オブジェクト・デバイスは、管理対象オブジェクト・デバイスによって作成されるトランザクション・リソースを同時に実行し、その結果、トランザクション・リソースが同時に実行されることを保証する。さらに、本発明の実施形態では、トランザクション・リソースが同時に実行されることを保証するには、アプリケーション・サーバは、管理対象オブジェクト・デバイスにトランザクション・リソース作成要求を1つのみ送信すればよい。したがって、アプリケーション・サーバのシグナリング・オーバヘッドが減少される。
さらに、応答内で持たれる、第2の管理対象オブジェクト・デバイスが第2のトランザクション・リソースを正常に作成した後で第2の管理対象オブジェクト・デバイスによってアプリケーション・サーバに送信される、第2のトランザクション・リソースの作成成功についての第2のトランザクション・リソースの状態が半予約状態である場合、図8を参照すると、前述のS603の後に、方法は以下をさらに含む。
S701。アプリケーション・サーバは、第2のトランザクション・リソースに申し込み、それによって、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソースの状態が変化すると、通知メッセージをアプリケーション・サーバに送信する。
S702。アプリケーション・サーバは、この通知メッセージにしたがって、第2のトランザクション・リソースの状態を決定する。
この実施形態では、アプリケーション・サーバは、第2の管理対象オブジェクト・デバイスにある第2のトランザクション・リソースの状態を任意の時間に監視し、第2のトランザクション・リソースの状態が変化すると、変化を任意の時間に追跡することができる。これは、トランザクション・リソースが実行されるときの状態の精度を保証する。
図9は、本発明による、分散トランザクション・リソースを実行するための方法の実施形態5の概略フローチャートである。図7又は図8に示される前述の実施形態に基づいて、この実施形態において使用される方法は、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第3のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信するプロセスである。図9に示されるように、方法は、以下のステップを含む。
S801。アプリケーション・サーバは、第2のトランザクションについての第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信し、この第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含む。
S802。アプリケーション・サーバは、第2のトランザクションについての第4のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに送信し、この第4のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、第3の実行時間と第4の実行時間は同じである。
具体的には、アプリケーション・サーバは、第2のトランザクションに対する第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに、第2のトランザクションに対する第4のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスにそれぞれ送信する、すなわち、第3のトランザクション・リソースと第4のトランザクション・リソースの両方が、アプリケーション・サーバの第2のトランザクションに属する。第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含む。第4のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第4の実行時間と、第4の実行されるべき動作とを含む。第3の実行時間と第4の実行時間は同じである。選択的に、第3の実行されるべき動作と第4の実行されるべき動作は、同じであってもよいし、異なってもよい。さらに、第3の実行されるべき動作又は第4の実行されるべき動作は、プリミティブな形で反映されてもよいし、別の様式で反映されてもよい。
S803。アプリケーション・サーバは、あらかじめ設定された時間内で、第1の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答を受信し、あらかじめ設定された時間内で、第2の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答を受信する。第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っている。
具体的には、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内で持たれる第3の実行時間及び第3の実行されるべき動作等の情報にしたがって、第3のトランザクション・リソースが正常に作成可能であるかどうかを決定する。具体的な決定プロセスについては、図7に示される前述の実施形態における(1)から(4)の決定プロセスを参照されたい。詳細は、本明細書では、再度説明されない。
第1の管理対象オブジェクト・デバイスが前述の4つの項目のいずれか1つをチェックするのに失敗した場合、それは、第3のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たさないことを示す。第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信する。第2の管理対象オブジェクト・デバイスがすべての前述の4つの項目を正常にチェックする場合、それは、第4のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすことを示す。第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソース作成要求にしたがって第4のトランザクション・リソースを正常に作成し、第4のトランザクション・リソースが正常に作成されることをアプリケーション・サーバに通知するように、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信することができる。第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っていてもよく、作成された第4のトランザクション・リソースの状態をさらに持っていてもよい。この状態は、予約状態又は半予約状態である。
選択的に、第1の管理対象オブジェクト・デバイスが、第1の動作させられるべきリソースに対応する第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在しないということを決定するとき、第1の管理対象オブジェクト・デバイスが、第3の実行されるべき動作に含まれる情報にしたがって、第3のトランザクション・リソース作成要求が前述のトランザクション・リソース作成条件における(1)の内容を満たさないということを決定する場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求にしたがって、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第3のトランザクション・リソースが正常に作成されることはできないことをアプリケーション・サーバに通知するように、第1の失敗応答をアプリケーション・サーバに送信する。
選択的に、第1の管理対象オブジェクト・デバイスが、第1の動作させられるべきリソースに対応する第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在しないということを決定するとき、第1の管理対象オブジェクト・デバイスが、第3の実行されるべき動作に含まれる情報にしたがって、第3のトランザクション・リソース作成要求が前述のトランザクション・リソース作成条件における(2)から(4)のいずれか1つの内容を満たさないということを決定する場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求にしたがって、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、現在の第3の実行時間は適切でないが、第1の管理対象オブジェクト・デバイスは、第2の失敗応答内に持たれる更新された第3の実行時間を使用することによって第3のトランザクション・リソースを正常に作成することができることをアプリケーション・サーバに通知するように、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信する。
選択的に、第1の管理対象オブジェクト・デバイスが、第3の実行時間にしたがって、第1の動作させられるべきリソースに対応する第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在するということを決定する場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内の第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが作成されるのに失敗するということを決定する。具体的には、以下の2つのケースが含まれ得る。
第1のケース。第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3の実行時間が第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新されるとき、あらかじめ設定されたリソース作成条件が満たされないということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第1の失敗応答をアプリケーション・サーバに送信する。
第2のケース。第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3の実行時間が第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースの実行時間よりも遅い時間に更新されるとき、あらかじめ設定されたリソース作成条件が満たされるということを決定する。第1の管理対象オブジェクト・デバイスは、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信する。第1の管理対象オブジェクト・デバイスの具体的な決定プロセスについては、図3に示される実施形態の第1の可能な実装方法又は第2の可能な実装方法における技術的解決策を参照されたい。詳細は、本明細書では、再度説明されない。
したがって、アプリケーション・サーバは、第1の管理対象オブジェクト・デバイスによって送信され第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答及び第2の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答が、あらかじめ設定された時間内に受信されるということを決定する。
S804。アプリケーション・サーバは、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答及び第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答に基づいて、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、第2のトランザクションの第4のトランザクション・リソースについての処理要求を送信する。第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている。
具体的には、アプリケーション・サーバが、あらかじめ設定された時間内に、第1の管理対象オブジェクト・デバイスによって送信され第3のトランザクション・リソースの作成不成功を示す応答(第3のトランザクション・リソースの作成失敗を示す応答は第1の失敗応答又は第2の失敗応答である)及び第2の管理対象オブジェクト・デバイスによって送信され第4のトランザクション・リソースの作成に成功したことを示す応答を受信した後、アプリケーション・サーバは、第1の管理対象オブジェクト・デバイスは第3のトランザクション・リソースを作成するのに失敗することを知り、第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを正常に作成することを知る。したがって、アプリケーション・サーバは、第3のトランザクション・リソースの作成不成功を示す応答にしたがって、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、第2のトランザクションの第4のトランザクション・リソースについての処理要求を送信する。具体的には、以下の2つの様式が利用可能である。
第1の様式。アプリケーション・サーバが、第3のトランザクション・リソースの作成に成功しなかったことを示す応答は、更新された第3の実行時間を持っていない第1の失敗応答であるということを決定する場合、アプリケーション・サーバは、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、第4のトランザクション・リソースの識別子を持っている削除要求を送信する。
具体的には、第2の管理対象オブジェクト・デバイスが削除要求を受信した後で実行される動作については、図3に示される実施形態の第5の可能な実装方法において第4のトランザクション・リソースの識別子にしたがって第4のトランザクション・リソースを第2の管理対象オブジェクト・デバイスによって削除するプロセスを参照されたい。詳細は、本明細書では、再度説明されない。
第2の様式。アプリケーション・サーバが、第3のトランザクション・リソースの作成不成功を示す応答は、更新された第3の実行時間を持っている第2の失敗応答であるということを決定した場合、アプリケーション・サーバは、更新された第3の実行時間を持っている更新要求及び第4のトランザクション・リソースの識別子を、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1の管理対象オブジェクト・デバイスによって第3のトランザクション・リソースを正常に作成する時間である。
具体的には、第2の管理対象オブジェクト・デバイスが更新要求を受信した後で実行される動作については、図3に示される実施形態の第4の可能な実装方法において第4のトランザクション・リソースの識別子及び更新された第3の実行時間にしたがって第4のトランザクション・リソースを第2の管理対象オブジェクト・デバイスによって更新するプロセスを参照されたい。詳細は、本明細書では、再度説明されない。
更新要求を第2の管理対象オブジェクト・デバイスに送信するとき、アプリケーション・サーバは、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスにさらに送信し、したがって、第1の管理対象オブジェクト・デバイスは、更新された第3の実行時間にしたがって新しい第3のトランザクション・リソースを正常に作成することが留意されるべきである。第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスは、更新された第3の実行時間にしたがって以前に作成された第4のトランザクション・リソースを正常に更新することもできると仮定すると、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を第2の管理対象オブジェクト・デバイスに送信しない、すなわち、更新された第3の実行時間が到来する前に、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスは、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求を受信するのに失敗する。したがって、更新された第3の実行時間が到来すると、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスは、デバイスによって作成されたトランザクション・リソース内の実行されるべき動作を同時に実行することができる。
本発明のこの実施形態により分散トランザクション・リソースを実行するための方法では、アプリケーション・サーバは、第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信し、第3のトランザクション・リソース作成要求内で持たれる第3の実行時間は、アプリケーション・サーバによって第2の管理対象オブジェクト・デバイスに送信される第4のトランザクション・リソース作成要求内で持たれる第4の実行時間と同じであり、アプリケーション・サーバが、第1の管理対象オブジェクト・デバイスによって送信され第3のトランザクション・リソースの作成不成功を示す応答及び第2の管理対象オブジェクト・デバイスによって送信され第4のトランザクション・リソースの作成に成功したことを示す応答が、あらかじめ設定された時間内に受信されるということを決定した後、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を第2の管理対象オブジェクト・デバイスに送信する。本発明のこの実施形態によって提供される方法では、第2の管理対象オブジェクト・デバイスは、アプリケーション・サーバによって送信された処理要求にしたがって(処理要求が更新要求であるとき)、第2の管理対象オブジェクト・デバイスによって更新された第4のトランザクション・リソースを実行する時間が、第1の管理対象オブジェクト・デバイスが、第1の管理対象オブジェクト・デバイスによって作成された新しい第3のトランザクション・リソースを実行する時間と同じであることを保証することができる、すなわち、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスはデバイスによって実行される予定の動作を同時に実行することができることが保証される。したがって、トランザクション・リソースの同時実行が保証される。
当業者は、方法実施形態のすべて又はいくつかのステップが関連ハードウェアに指示するプログラムによって実施され得ることを理解し得る。プログラムは、コンピュータ可読記憶媒体に記憶されてよい。プログラムが実行されると、方法実施形態のステップが実行される。記憶媒体としては、ROM、RAM、磁気ディスク、又は光ディスク等の、プログラム・コードを記憶することができる任意の媒体がある。
図10は、本発明によるアプリケーション・サーバの1つの実施形態の概略構造図である。図10に示されるように、アプリケーション・サーバは、M2Mシステムに適用される。M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含む。第1の管理対象オブジェクト・デバイスは、少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクトは、少なくとも2つの管理対象オブジェクト・デバイスのうちの第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスである。アプリケーション・サーバは、送信モジュール10と、受信モジュール11とを含む。
具体的には、送信モジュール10は、第1の動作させられるべきリソースの識別子と第1の実行時間と第1の実行されるべき動作とを含む第1のトランザクションについての第1のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信するように構成され、第1の動作させられるべきリソースの識別子と第2の実行時間と第2の実行されるべき動作とを含むとともに第1のトランザクションについての第2のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに送信するようにさらに構成され、第1の実行時間と第2の実行時間は同じである。
受信モジュール11は、あらかじめ設定された時間内に、2の管理対象オブジェクト・デバイスによって送信されるとともに第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答を受信し、第1の管理対象オブジェクト・デバイスによって送信されるとともに第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答を受信するように構成される。
本発明のこの実施形態によって提供されるアプリケーション・サーバについては、アプリケーション・サーバの前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
さらに、送信モジュール10は、第1の動作させられるべきリソースの識別子と第3の実行時間と第3の実行されるべき動作とを含むとともに第2のトランザクションについての第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信するようにさらに構成され、第2の動作させられるべきリソースの識別子と第4の実行時間と第4の実行されるべき動作とを含むとともに第2のトランザクションについての第4のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに送信するようにさらに構成され、第3の実行時間と第4の実行時間は同じである。
受信モジュール11は、あらかじめ設定された時間内に、第1の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答を受信し、あらかじめ設定された時間内に、第2の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答を受信するようにさらに構成され、第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っている。この場合、送信モジュール10は、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答及び第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答に基づいて、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、第2のトランザクションの第4のトランザクション・リソースについての処理要求を送信するようにさらに構成され、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている。
さらに、送信モジュール10は、具体的には、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答が、更新された第3の実行時間を持っていない第1の失敗応答であるということを決定し、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、第4のトランザクション・リソースの識別子を持っている削除要求を送信する、又は、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答が、更新された第3の実行時間を持っている第2の失敗応答であるということを決定し、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持っている更新要求を送信するように構成され、更新された第3の実行時間を持っている第3のトランザクション・リソース作成要求を第1の管理対象デバイスに送信するようにさらに構成される。
本発明のこの実施形態によって提供されるアプリケーション・サーバについては、アプリケーション・サーバの前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
図11は、本発明による管理対象オブジェクト・デバイスの実施形態1の概略構造図である。管理対象オブジェクト・デバイスは、マシン・トゥ・マシン通信M2Mシステムに適用される。M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含む。管理対象オブジェクト・デバイスは、少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクトは、その管理対象オブジェクト・デバイスを除く少なくとも2つの管理対象オブジェクト・デバイス内の任意の管理対象オブジェクト・デバイスである。図11に示されるように、管理対象オブジェクト・デバイスは、受信モジュール20と、作成モジュール21と、決定モジュール22と、処理モジュール23とを含む。
受信モジュール20は、第1のトランザクションについてアプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を受信するように構成され、この第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含み、第1の実行時間は、第1のトランザクションに対する第2のトランザクション・リソース作成要求内の第2の実行時間と同じであり、第2のトランザクション・リソース作成要求は、M2Mシステムの中の管理対象オブジェクト・デバイス以外の第2の管理対象オブジェクト・デバイスによって受信される。作成モジュール21は、第1のトランザクション・リソース作成要求にしたがって第1のトランザクション・リソースを正常に作成するように構成され、この第1のトランザクション・リソースは、第1の実行時間と、第1の実行されるべき動作とを含む。決定モジュール22は、第1の実行時間が到来すると、第1のトランザクションの第1のトランザクション・リソースについてアプリケーション・サーバによって送信された処理要求が受信されないということを決定するように構成され、第1のトランザクションの第1のトランザクション・リソースについての処理要求は、アプリケーション・サーバが、第2の管理対象オブジェクト・デバイスによって送信されるとともに第1のトランザクションの第2のトランザクション・リソースの作成に成功しなかったことを示す応答を受信した後に、送信される。処理モジュール23は、第1の実行されるべき動作を実行するように構成される。
本発明のこの実施形態によって提供される管理対象オブジェクト・デバイスについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
図12は、本発明による管理対象オブジェクト・デバイスの実施形態2の概略構造図である。この実施形態は、管理対象オブジェクト・デバイスによって第3のトランザクション・リソースを作成する特定のプロセスに関する。図11に示される前述の実施形態に基づくと、管理対象オブジェクト・デバイスは、送信モジュール24をさらに含む。
受信モジュール20は、第2のトランザクションについてアプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信するようにさらに構成され、この第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含み、第3の実行時間は、第2の管理対象オブジェクト・デバイスによって受信される第2のトランザクションに対する第4のトランザクション・リソース作成要求内の第4の実行時間と同じである。作成モジュール21は、第3のトランザクション・リソースが第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗するということを決定するようにさらに構成される。送信モジュール24は、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信するように構成される。
さらに、作成モジュール21は、具体的には、第1のトランザクション・リソース・キューが管理対象オブジェクト・デバイスに存在するということを決定し、第3の実行時間及び管理対象オブジェクト・デバイスの第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たさないということを決定し、あらかじめ設定されたリソース作成条件にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定するように構成され、第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。送信モジュール24は、具体的には、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信するように構成される。
本発明のこの実施形態によって提供される管理対象オブジェクト・デバイスについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
図12をさらに参照すると、この実施形態は、管理対象オブジェクト・デバイスが第3のトランザクション・リソースを正常に作成し、第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを正常に作成し、管理対象オブジェクト・デバイスが、第2のトランザクションの第3のトランザクション・リソースについてアプリケーション・サーバによって送信された処理要求にしたがって作成された第3のトランザクション・リソースを処理する特定のプロセスに関する。具体的には、以下の通りである。
受信モジュール20は、第2のトランザクションについてアプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信するようにさらに構成され、この第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含み、第3の実行時間は、第2の管理対象オブジェクト・デバイスによって受信される第2のトランザクションに対する第4のトランザクション・リソース作成要求内の第4の実行時間と同じである。作成モジュール21は、第3のトランザクション・リソース作成要求にしたがって第3のトランザクション・リソースを正常に作成するようにさらに構成される。送信モジュール24は、第2のトランザクションの第3のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信するようにさらに構成され、第3のトランザクション・リソースの作成に成功したことを示す応答は、第3のトランザクション・リソースの識別子を持つ。決定モジュール22は、第3の実行時間が到来する前に、第2のトランザクションの第3のトランザクション・リソースについてアプリケーション・サーバによって送信された処理要求が受信されるということを決定するようにさらに構成され、第2のトランザクションの第3のトランザクション・リソースについての処理要求は、第3のトランザクション・リソースの識別子を持つ。処理モジュール23は、第3のトランザクション・リソースの識別子にしたがって作成された第3のトランザクション・リソースを処理するようにさらに構成される。
さらに、作成モジュール21は、具体的には、第1のトランザクション・リソース・キューが管理対象オブジェクト・デバイスに存在するということを決定し、第3の実行時間及び管理対象オブジェクト・デバイスの第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第3のトランザクション・リソースを作成するように構成され、第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
選択的に、第2のトランザクションの第3のトランザクション・リソースについての処理要求は、第3のトランザクション・リソースの識別子及び更新された第4の実行時間を持っている更新要求であり、処理モジュール23は、具体的には、更新された第4の実行時間にしたがって第3のトランザクション・リソースを正常に更新し、更新が成功した後に、更新成功応答メッセージをアプリケーション・サーバに返送する、又は、更新された第4の実行時間にしたがって第3のトランザクション・リソースを更新するのに失敗し、更新失敗応答メッセージをアプリケーション・サーバに返送するように構成される。さらに、処理モジュール23は、具体的には、第3のトランザクション・リソースの識別子にしたがって管理対象オブジェクト・デバイスにある第3のトランザクション・リソースを削除し、更新された第4の実行時間を新しい第3のトランザクション・リソースの実行時間として使用して、新しい第3のトランザクション・リソースの実行時間及び管理対象オブジェクト・デバイスの第1の動作させられるべきリソースの状態にしたがって、新しい第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、更新された第4の実行時間にしたがって新しい第3のトランザクション・リソースを作成するように構成される。
管理対象オブジェクト・デバイスによって第3のトランザクション・リソースを更新するプロセスについては、方法実施形態において第2の管理対象オブジェクト・デバイスによって第4のトランザクション・リソースを更新するプロセスを参照されたく、詳細は、本明細書では、再度説明されないことが留意されるべきである。
選択的に、第2のトランザクションの第3のトランザクション・リソースについての処理要求は、第3のトランザクション・リソースの識別子を持っている削除要求であり、処理モジュール23は、具体的には、第3のトランザクション・リソースの識別子にしたがって管理対象オブジェクト・デバイスにある第3のトランザクション・リソースを削除するように構成される。
選択的に、第1のトランザクション・リソース・キューの中の1つのトランザクション・リソースは予約状態であり、処理モジュール23は、第1のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定し、第2の位置にあるトランザクション・リソースが正常に実行される場合に、第1の削除応答をアプリケーション・サーバに送信し、第1の位置にあるトランザクション・リソースが実行された後に、第2の位置にあるトランザクション・リソースの状態を予約状態へと更新する、又は、第2の位置にあるトランザクション・リソースが実行されるのに失敗する場合、第2の位置にあるトランザクション・リソースを削除するようにさらに構成される。第1の位置は、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースの前の位置であり、第2の位置は、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースの次の位置である。
選択的に、第1のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースは予約状態であり、処理モジュール23は、第1のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすか否かを決定し、そうである場合、半予約状態のトランザクション・リソースを削除し、第2の削除応答をアプリケーション・サーバに送信する、又は、そうでない場合、半予約状態のトランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、半予約状態のトランザクション・リソースが正常に実行可能であるということを決定し、半予約状態のトランザクション・リソースを予約状態へと更新するようにさらに構成される。
管理対象オブジェクト・デバイスによって第3のトランザクション・リソースを削除するプロセスについては、方法実施形態において第2の管理対象オブジェクト・デバイスによって第4のトランザクション・リソースを削除するプロセスを参照されたく、詳細は、本明細書では、再度説明されないことが留意されるべきである。
本発明のこの実施形態によって提供される管理対象オブジェクト・デバイスについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
図13は、本発明による、分散トランザクション・リソースを実行するためのシステムの1つの実施形態の概略構造図である。このシステムは、M2Mシステムに適用される。M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含む。第1の管理対象オブジェクト・デバイス31は、少なくとも2つの管理対象オブジェクト・デバイスのいずれか1つであり、第2の管理対象オブジェクト・デバイス32は、第1の管理対象オブジェクト・デバイスを除く、少なくとも2つの管理対象オブジェクト・デバイス内の任意の管理対象オブジェクト・デバイスである。図13に示されるように、分散トランザクション・リソースを実行するためのシステムは、第1の管理対象オブジェクト・デバイス31と、第2の管理対象オブジェクト・デバイス32とを含む。具体的には、以下の通りである。
第1の管理対象オブジェクト・デバイス31は、第1のトランザクションについてアプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を受信し、この第1のトランザクション・リソース作成要求にしたがって第1のトランザクションの第1のトランザクション・リソースを正常に作成し、第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信するように構成され、第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む。第2の管理対象オブジェクト・デバイス32は、第1のトランザクションについてアプリケーション・サーバによって送信された第2のトランザクション・リソース作成要求を受信し、この第2のトランザクション・リソース作成要求にしたがって第1のトランザクションの第2のトランザクション・リソースを正常に作成し、第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信するように構成される。第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、第1の実行時間と第2の実行時間は同じであり、第1のトランザクション・リソースは、第1の実行時間と、第1の実行されるべき動作とを含み、第2のトランザクション・リソースは、第2の実行時間と、第2の実行されるべき動作とを含む。第1の実行時間が到来すると、第1の管理対象オブジェクト・デバイス31及び第2の管理対象デバイス32はそれぞれ、第1の管理対象オブジェクト・デバイス及び第2の管理対象デバイスによって実行されるべき動作を実行するように構成される。
本発明のこの実施形態による分散トランザクション・リソースを実行するためのシステムについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
さらに、第1の管理対象オブジェクト・デバイス31は、第2のトランザクションについてアプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信し、第2のトランザクションの第3のトランザクション・リソースが第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗するということを決定し、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信するようにさらに構成され、第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含む。第2の管理対象オブジェクト・デバイス32は、第2のトランザクションについてアプリケーション・サーバによって送信された第4のトランザクション・リソース作成要求を受信し、第4のトランザクション・リソース作成要求にしたがって第2のトランザクションの第4のトランザクション・リソースを正常に作成し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信するようにさらに構成される。第4のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、第3の実行時間と第4の実行時間は同じであり、第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っている。第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する第2の管理対象オブジェクト・デバイス32は、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求を受信し、第4のトランザクション・リソースの識別子にしたがって作成された第4のトランザクション・リソースを処理するようにさらに構成され、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている。
またさらに、第1の管理対象オブジェクト・デバイス31は、具体的には、第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイス31上に存在するということを決定し、第3の実行時間及び第1の管理対象オブジェクト・デバイス31の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たさないということを決定し、あらかじめ設定されたリソース作成条件にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定して、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信するように構成され、第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
またさらに、第2の管理対象オブジェクト・デバイス32は、具体的には、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイス32上に存在するということを決定し、第4の実行時間及び第2の管理対象オブジェクト・デバイス32の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第4のトランザクション・リソースを作成するように構成され、第2のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
本発明のこの実施形態による分散トランザクション・リソースを実行するためのシステムについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
選択的に、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子及び更新された第3の実行時間を持っている更新要求であり、第2の管理対象オブジェクト・デバイス32は、更新された第3の実行時間にしたがって第4のトランザクション・リソースを正常に更新し、更新が成功した後に、更新成功応答メッセージをアプリケーション・サーバに返送する、又は、更新された第3の実行時間にしたがって第4のトランザクション・リソースを更新するのに失敗し、更新失敗応答メッセージをアプリケーション・サーバに返送するようにさらに構成される。
さらに、第2の管理対象オブジェクト・デバイス32は、第4のトランザクション・リソースの識別子にしたがって第2の管理対象オブジェクト・デバイス32上の第4のトランザクション・リソースを削除し、更新された第3の実行時間を新しい第4のトランザクション・リソースの実行時間として使用し、新しい第4のトランザクション・リソースの実行時間及び第2の管理対象オブジェクト・デバイス32の第2の動作させられるべきリソースの状態にしたがって、新しい第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、更新された第3の実行時間にしたがって新しい第4のトランザクション・リソースを作成するようにさらに構成される。
本発明のこの実施形態による分散トランザクション・リソースを実行するためのシステムについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
選択的に、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている削除要求であり、第2の管理対象オブジェクト・デバイス32は、第4のトランザクション・リソースの識別子にしたがって第2の管理対象オブジェクト・デバイスにある第4のトランザクション・リソースを削除するようにさらに構成される。
選択的に、第2のトランザクション・リソース・キューの中の1つのトランザクション・リソースは、予約状態であり、第2の管理対象オブジェクト・デバイス32は、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定するようにさらに構成され、第1の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースの前の位置であり、第2の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースの次の位置である。第2の位置にあるトランザクション・リソースが正常に実行される場合に、第2の管理対象オブジェクト・デバイス32は、第1の削除応答をアプリケーション・サーバに送信し、第1の位置にあるトランザクション・リソースが実行された後に、第2の位置にあるトランザクション・リソースの状態を予約状態へと更新するようにさらに構成される。又は、第2の位置にあるトランザクション・リソースが実行されるのに失敗する場合、第2の管理対象オブジェクト・デバイス32は、第2の位置にあるトランザクション・リソースを削除するようにさらに構成される。
選択的に、第2のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースは、予約状態であり、第2の管理対象オブジェクト・デバイス32は、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすか否かを決定するようにさらに構成される。第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たす場合に、第2の管理対象オブジェクト・デバイス32は、半予約状態のトランザクション・リソースを削除し、第2の削除応答をアプリケーション・サーバに送信するようにさらに構成される。又は、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たさない場合に、第2の管理対象オブジェクト・デバイス32は、半予約状態のトランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、半予約状態のトランザクション・リソースが正常に実行可能であるということを決定し、半予約状態のトランザクション・リソースを予約状態へと更新するようにさらに構成される。
本発明のこの実施形態による分散トランザクション・リソースを実行するためのシステムについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
最後に、前述の実施形態は、本発明の技術的解決策について説明することを意図したものにすぎず、本発明を限定することを意図したものではないことに留意されたい。本発明は、前述の実施形態に関して詳細に説明されているが、当業者は、彼らは、本発明の実施形態の技術的解決策の範囲から逸脱することなく、前述の実施形態において説明される技術的解決策に修正を依然として加えてよいし、そのいくつか又はすべての技術的特徴に対して等価な置き換えを加えてよいことを理解するべきである。
本発明の実施形態は、コンピュータ技術に関し、詳細には、分散トランザクション・リソースを実行するための方法、装置、及びシステムに関する。
現在、マシン・トゥ・マシン(Machine to Machine,以下では略してM2M)通信、すなわち、モノのインターネット技術が、インテリジェント・トラフィック、農業灌漑産業、及びスマート・ホーム産業等の、より多くの産業及び分野に広範に適用されている。さまざまな産業におけるアプリケーション・サービス要件を満たすために、M2Mシステム事業者が、統一M2Mプラットフォームを開発し、統一M2Mプラットフォームは、いくつかの共通機能、たとえば、データ・アクセス及び記憶、データ共有及び送信、並びにグループ通信を実行する。さまざまなタイプの(たとえば、センサ等の)管理対象オブジェクト・デバイスが、M2Mプラットフォームにアクセスしてもよく、M2Mプラットフォームは、ノースバウンド・アプリケーション・アクセス・インタフェースを提供して、さまざまな産業のアプリケーション・サーバが、アクセス・インタフェースを使用することによって、M2Mプラットフォームによって提供される共通機能を起動してもよい。
RESTfulアーキテクチャを使用するM2Mシステムにおける分散トランザクションについては、トランザクションは、アプリケーション・サーバと管理対象オブジェクト・デバイスとの間で複数の要求を使用することによってタスク又は動作を完了する必要であるということを意味する。トランザクションは、原子性(本明細書では、原子性は、トランザクションが不可分の作業単位であり、そのトランザクションに含まれる動作のすべては、実行完全性を保証するように実行されるべきであるということを意味する)を有することが必要とされる。さらに、分散トランザクションがコミットされるM2Mシステムのいくつかのシナリオでは、複数のサーバ上のトランザクション・リソースは、同時実行を必要とする。たとえば、水源と膨大な数の弁(これらの弁は管理対象オブジェクト・デバイスである)とを含むインテリジェント灌漑のシナリオでは、弁の開放/閉止及び開放率によって、農地のいずれの部分が灌漑されるか及びどれくらいの水が供給されるかを決定する。具体的には、1区画の土地が複数の小区画に分割される。その土地に展開され異なる小区画に分散された土壌センサは、土壌中の水不足の程度を収集し、異なる小区画に展開されたゲートウェイを使用することによって、収集された土壌の水不足のデータをM2Mプラットフォームに報告する。M2Mプラットフォーム上でセンサのデータを読み取ることによって、アプリケーション・サーバは、各々の小区画内の土壌が現在水不足であるか否かを決定し、弁の開放/閉止を制御することによって土地の灌漑を実行する。したがって、ある土地での灌漑は、複数の弁を調整する、たとえば、キャナル・ヘッド弁、サブメイン・パイプ弁、ブランチ・キャナル弁、及びブランチ・パイプ弁を開放することによって、実行されることが必要である。これらの弁は、同時に開放されることが必要である。そうでない場合には、キャナル・ヘッド弁及びサブメイン・パイプ弁は開放されたが、ブランチ・キャナル弁が開放されていない場合、ブランチ・キャナルは溢流させられる。代替的に、いくつかの細いパイプにおいて、弁を非同期的に調整すると、細いパイプ内での異常な圧力を引き起こし、継手を緩めさせる又はパイプを変形させることなどがある。
従来技術は、RESTfulアーキテクチャにおいて分散トランザクション・リソースを実行するための方法、すなわち、試行−確認/キャンセル(TCC−Try Confirm Cancel,以下では略してTCC)方法を提供する。具体的には、アプリケーション・サーバが、複数の管理対象オブジェクト・デバイスに更新要求を送信する。各々の更新要求は、更新要求の有効時間を持つ。管理対象オブジェクト・デバイスは、管理対象オブジェクト・デバイスが、更新要求を実行するための条件を満たすか否かを決定する。そうである場合、管理対象オブジェクト・デバイスは、アプリケーション・サーバに成功応答を返送し、更新要求に対してアプリケーション・サーバによって送信されるコミット要求を待つ。そうでない場合、管理対象オブジェクト・デバイスは、アプリケーション・サーバに失敗応答を返送し、アプリケーション・サーバはロールバック・フェーズに入る。アプリケーション・サーバが、各々の管理対象オブジェクト・デバイスによって返送された成功応答を受信した後、アプリケーション・サーバは、複数の管理対象オブジェクト・デバイスの各々にコミット要求を送信し、それによって、複数の管理対象オブジェクト・デバイスは、更新要求を実行する、すなわち、トランザクション・リソースの実行を完了し、最終状態に入る。管理対象オブジェクト・デバイスが、有効時間が到来する前に、アプリケーション・サーバによって送信されるコミット要求を受信するのに失敗した場合、以前に受信された更新要求が自動的にキャンセルされ、それによって、管理対象オブジェクト・デバイスは初期状態に戻る。
しかしながら、従来技術によって提供される方法では、各々の管理対象オブジェクト・デバイスによってコミット要求の受信の遅延が存在するので、複数の管理対象オブジェクト・デバイスは、トランザクション・リソースを同時に実行することはできない(すなわち、更新要求を同時に実行することはできない)。したがって、分散システムの信頼性に影響を与える。さらに、従来技術では、トランザクションを完了することができる前に、トランザクション・コーディネータとサーバとの間で少なくとも2つの要求(前述の更新要求及びコミット要求)が必要とされ、トランザクションのシグナリング・オーバヘッドは比較的高い。
本発明の複数の実施形態は、分散トランザクション・リソースを実行するための方法、装置、及びシステムを提供して、コミット要求の受信の遅延により複数の管理対象オブジェクト・デバイスがトランザクション・リソース更新要求を同時に実行することはできないので、分散システムの信頼性に影響を与えるという従来技術における技術的問題を解決するとともに、シグナリング・オーバヘッドが高いという従来技術における技術的問題を解決する。
第1の態様によれば、本発明の1つの実施形態は、マシン・トゥ・マシン通信M2Mシステムに適用される分散トランザクション・リソースを実行するための方法であって、前記M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含み、第1の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちの前記第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであり、当該方法は、
第1のトランザクションについて前記アプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスで受信するステップであって、前記第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む、ステップと、
前記第1のトランザクションについて前記アプリケーション・サーバによって送信された第2のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスで受信するステップであって、前記第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、前記第1の実行時間と前記第2の実行時間は同じである、ステップと、
前記第1のトランザクション・リソース作成要求にしたがって前記第1のトランザクションの第1のトランザクション・リソースを前記第1の管理対象オブジェクト・デバイスによって正常に作成し、前記第2のトランザクション・リソース作成要求にしたがって前記第1のトランザクションの第2のトランザクション・リソースを前記第2の管理対象オブジェクト・デバイスによって正常に作成するステップであって、前記第1のトランザクション・リソースは、前記第1の実行時間と前記第1の実行されるべき動作とを含み、前記第2のトランザクション・リソースは、前記第2の実行時間と前記第2の実行されるべき動作とを含む、ステップと、
前記第1のトランザクションの前記第1のトランザクション・リソースの作成に成功したことを示す応答を、前記第1の管理対象オブジェクト・デバイスによって前記アプリケーション・サーバに送信し、前記第1のトランザクションの前記第2のトランザクション・リソースの作成に成功したことを示す応答を、前記第2の管理対象オブジェクト・デバイスによって前記アプリケーション・サーバに送信するステップと、
前記第1の実行時間が到来すると、前記第1の管理対象オブジェクト・デバイス及び前記第2の管理対象オブジェクト・デバイスによって実行されるべき前記動作を、それぞれ前記第1の管理対象オブジェクト・デバイス及び前記第2の管理対象デバイスによって実行するステップと、を含む、方法を提供する。
第1の態様を参照して、第1の態様の第1の可能な実装方法では、当該方法は、
第2のトランザクションについて前記アプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスで受信するステップであって、前記第3のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第3の実行時間と、第3の実行されるべき動作とを含む、ステップと、
前記第2のトランザクションについて前記アプリケーション・サーバによって送信された第4のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスで受信するステップであって、前記第4のトランザクション・リソース作成要求は、前記第2の動作させられるべきリソースの前記識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、前記第3の実行時間と前記第4の実行時間は、同じである、ステップと、
前記第2のトランザクションの第3のトランザクション・リソースが前記第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗したということを、前記第1の管理対象オブジェクト・デバイスによって決定し、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す応答を前記アプリケーション・サーバに送信し、前記第4のトランザクション・リソース作成要求にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第2のトランザクションの第4のトランザクション・リソースを正常に作成し、前記第2のトランザクションの前記第4のトランザクション・リソースの作成に成功したことを示す応答を前記アプリケーション・サーバに送信するステップであって、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答は、前記第4のトランザクション・リソースの識別子を持っている、ステップと、
前記第2のトランザクションの前記第4のトランザクション・リソースについて前記アプリケーション・サーバによって送信された処理要求を、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を前記アプリケーション・サーバに送信する前記第2の管理対象オブジェクト・デバイスで受信するステップであって、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている、ステップと、
前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を前記アプリケーション・サーバに送信する前記第2の管理対象オブジェクト・デバイスによって、前記第4のトランザクション・リソースの前記識別子にしたがって、前記作成された第4のトランザクション・リソースを処理するステップと、をさらに含む。
第1の態様の第1の可能な実装方法を参照して、第1の態様の第2の可能な実装方法では、前記第2のトランザクションの第3のトランザクション・リソースが前記第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗したということを、前記第1の管理対象オブジェクト・デバイスによって決定するステップは、
第1のトランザクション・リソース・キューが前記第1の管理対象オブジェクト・デバイスに存在するということを、前記第1の管理対象オブジェクト・デバイスによって決定するステップであって、前記第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む、ステップと、
前記第1の管理対象オブジェクト・デバイスによって、前記第3の実行時間及び前記第1の管理対象オブジェクト・デバイスの前記第1の動作させられるべきリソースの状態にしたがって、前記第3のトランザクション・リソースは、あらかじめ設定されたリソース作成条件を満たさないということを決定するステップと、
前記あらかじめ設定されたリソース作成条件にしたがって、前記第1の管理対象オブジェクト・デバイスによって、前記第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと前記第3の実行時間を更新するということを決定し、前記更新された第3の実行時間を持っている第2の失敗応答を、前記第1の管理対象オブジェクト・デバイスによって前記アプリケーション・サーバに送信するステップと、を含む。
第1の態様の第1の可能な実装方法又は第1の態様の第2の可能な実装方法を参照して、第1の態様の第3の可能な実装方法では、前記第4のトランザクション・リソース作成要求にしたがって前記第2の管理対象デバイスによって、前記第2のトランザクションの第4のトランザクション・リソースを正常に作成するステップは、
前記第2の管理対象オブジェクト・デバイスによって、第2のトランザクション・リソース・キューが前記第2の管理対象オブジェクト・デバイスに存在するということを決定するステップであって、前記第2のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む、ステップと、
前記第2の管理対象オブジェクト・デバイスによって、前記第4の実行時間及び前記第2の管理対象オブジェクト・デバイスの前記第2の動作させられるべきリソースの状態にしたがって、前記第4のトランザクション・リソースは前記あらかじめ設定されたリソース作成条件を満たすということを決定し、第前記4のトランザクション・リソースを作成するステップと、を含む。
第1の態様の第1の可能な実装方法から第1の態様の第3の可能な実装方法のいずれか1つを参照して、第1の態様の第4の可能な実装方法では、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子及び前記更新された第3の実行時間を持っている更新要求であり、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を前記アプリケーション・サーバに送信する前記第2の管理対象オブジェクト・デバイスによって、前記第4のトランザクション・リソースの識別子にしたがって、前記作成された第4のトランザクション・リソースを処理するステップは、具体的には、
前記更新された第3の実行時間にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第4のトランザクション・リソースを正常に更新し、前記更新が成功した後に、更新成功応答メッセージを前記アプリケーション・サーバに返送する、又は、前記更新された第3の実行時間にしたがって前記第4のトランザクション・リソースを更新するのに失敗した場合に、更新失敗応答メッセージを前記アプリケーション・サーバに返送するステップを、含む。
第1の態様の第4の可能な実装方法を参照して、第1の態様の第5の可能な実装方法では、前記更新された第3の実行時間にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第4のトランザクション・リソースを正常に更新するステップは、
前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除するステップと、
前記第2の管理対象オブジェクト・デバイスによって、前記更新された第3の実行時間を新しい第4のトランザクション・リソースの実行時間として使用するステップと、
前記新しい第4のトランザクション・リソースの前記実行時間及び前記第2の管理対象オブジェクト・デバイスの前記第2の動作させられるべきリソースの前記状態にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記新しい第4のトランザクション・リソースは前記あらかじめ設定されたリソース作成条件を満たすということを決定するステップと、
前記更新された第3の実行時間にしたがって前記新しい第4のトランザクション・リソースを、前記第2の管理対象オブジェクト・デバイスによって作成するステップと、を含む。
第1の態様の第1の可能な実装方法から第1の態様の第3の可能な実装方法のいずれか1つを参照して、第1の態様の第6の可能な実装方法では、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている削除要求であり、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を前記アプリケーション・サーバに送信する前記第2の管理対象オブジェクト・デバイスによって前記第4のトランザクション・リソースの前記識別子にしたがって、前記作成された第4のトランザクション・リソースを処理するステップは、具体的には、
前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスによって前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除するステップを含む。
第1の態様の第6の可能な実装方法を参照して、第1の態様の第7の可能な実装方法では、前記第2のトランザクション・リソース・キューの中の1つのトランザクション・リソースは、予約状態であり、前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスによって前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除するステップの後に、当該方法は、
前記第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の前記第2の動作させられるべきリソースの前記状態にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定するステップであって、前記第1の位置は、前記第2のトランザクション・リソース・キューの中の前記第4のトランザクション・リソースより前の位置であり、前記第2の位置は、前記第2のトランザクション・リソース・キューの中の前記第4のトランザクション・リソースの次の位置である、ステップと、
前記第2の位置にある前記トランザクション・リソースが正常に実行される場合に、前記第2の管理対象オブジェクト・デバイスによって前記アプリケーション・サーバに第1の削除応答を送信し、前記第1の位置にある前記トランザクション・リソースが実行された後に、前記第2の位置にある前記トランザクション・リソースの状態を前記予約状態へと更新するステップ、又は
前記第2の位置にある前記トランザクション・リソースが実行されるのに失敗した場合に、前記第2の管理対象オブジェクト・デバイスによって記第2の位置にある前記トランザクション・リソースを削除するステップをさらに含む。
第1の態様の第6の可能な実装方法を参照して、第1の態様の第8の可能な実装方法では、前記第2のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースは、予約状態であり、前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスによって、前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除するステップの後に、当該方法は、
前記第2の管理対象オブジェクト・デバイスによって、前記第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースが、あらかじめ設定された削除条件を満たすか否かを決定するステップと、
前記第2のトランザクション・リソース・キューの中の前記半予約状態の前記トランザクション・リソースが、あらかじめ設定された削除条件を満たす場合に、前記第2の管理対象オブジェクト・デバイスによって、前記半予約状態の前記トランザクション・リソースを削除し、第2の削除応答を前記アプリケーション・サーバに送信するステップ、又は
前記第2のトランザクション・リソース・キューの中の前記半予約状態の前記トランザクション・リソースが、前記あらかじめ設定された削除条件を満たさない場合に、前記半予約状態の前記トランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の前記第2の動作させられるべきリソースの前記状態にしたがって、前記第2の管理対象オブジェクト・デバイスによって、前記半予約状態の前記トランザクション・リソースが正常に実行可能であるということを決定し、前記第2の管理対象オブジェクト・デバイスによって、前記半予約状態の前記トランザクション・リソースを前記予約状態へと更新するステップと、をさらに含む。
第2の態様によれば、本発明の1つの実施形態は、マシン・トゥ・マシン通信M2Mシステムに適用される分散トランザクション・リソースを実行するための方法であって、前記M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含み、第1の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのいずれか1つであり、前記第2の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちの前記第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであり、当該方法は、
前記アプリケーション・サーバによって、第1のトランザクションについての第1のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスに送信するステップであって、前記第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む、ステップと、
前記アプリケーション・サーバによって、前記第1のトランザクションについての第2のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスに送信するステップであって、前記第2のトランザクション・リソース作成要求は、前記第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、前記第1の実行時間と前記第2の実行時間は、同じである、ステップと、
アプリケーション・サーバによって、あらかじめ設定された時間内に、前記第2の管理対象オブジェクト・デバイスによって送信されるとともに前記第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答を受信し、前記第1の管理対象オブジェクト・デバイスによって送信されるとともに前記第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答を受信するステップと、を含む、方法を提供する。
第2の態様を参照すると、第2の態様の第1の可能な実装方法では、当該方法は、
前記アプリケーション・サーバによって、第2のトランザクションについての第3のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスに送信するステップであって、前記第3のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第3の実行時間と、第3の実行されるべき動作とを含む、ステップと、
前記アプリケーション・サーバによって、前記第2のトランザクションについての第4のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスに送信するステップであって、前記第4のトランザクション・リソース作成要求は、前記第2の動作させられるべきリソースの前記識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、前記第3の実行時間と前記第4の実行時間は、同じである、ステップと、
前記アプリケーション・サーバによって、あらかじめ設定された時間内に、前記第1の管理対象オブジェクト・デバイスによって送信されるとともに前記第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答を受信し、前記あらかじめ設定された時間内に、前記第2の管理対象オブジェクト・デバイスによって送信されるとともに前記第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答を受信するステップであって、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答は、前記第4のトランザクション・リソースの識別子を持っている、ステップと、
前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答及び前記第2のトランザクションの前記第4のトランザクション・リソースの作成に成功したことを示す前記応答に基づいて、前記アプリケーション・サーバによって、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記第2のトランザクションの前記第4のトランザクション・リソースについての処理要求を送信するステップであって、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている、ステップと、をさらに含む。
第2の態様の第1の可能な実装方法を参照して、第2の態様の第2の可能な実装方法では、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答及び前記第2のトランザクションの前記第4のトランザクション・リソースの作成に成功したことを示す前記応答に基づいて、前記アプリケーション・サーバによって、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記第2のトランザクションの前記第4のトランザクション・リソースについての処理要求を送信するステップは、
前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答は、更新された第3の実行時間を持っていない第1の失敗応答であるということを、前記アプリケーション・サーバによって決定し、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記第4のトランザクション・リソースの前記識別子を持っている削除要求を送信するステップ、又は
前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答は、前記更新された第3の実行時間を持っている第2の失敗応答であるということを、前記アプリケーション・サーバによって決定し、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記更新された第3の実行時間及び前記第4のトランザクション・リソースの前記識別子を持っている更新要求を送信するステップを含み、当該方法は、前記アプリケーション・サーバによって、前記更新された第3の実行時間を持っている第3のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスに送信するステップをさらに含む。
第3の態様によれば、本発明の1つの実施形態は、マシン・トゥ・マシン通信M2Mシステムに適用されるアプリケーション・サーバであって、前記M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、当該アプリケーション・サーバとを備え、第1の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、前記第2の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちの前記第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであり、当該アプリケーション・サーバは、
第1の動作させられるべきリソースの識別子と第1の実行時間と第1の実行されるべき動作とを含むとともに第1のトランザクションについての第1のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスに送信するように構成され、前記第1の動作させられるべきリソースの前記識別子と第2の実行時間と第2の実行されるべき動作とを含むとともに前記第1のトランザクションについての第2のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスに送信するようにさらに構成される送信モジュールであって、前記第1の実行時間と前記第2の実行時間は、同じである、送信モジュールと、
あらかじめ設定された時間内に、前記第2の管理対象オブジェクト・デバイスによって送信されるとともに前記第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答を受信し、前記第1の管理対象オブジェクト・デバイスによって送信されるとともに前記第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答を受信するように構成される受信モジュールと、
を含むアプリケーション・サーバを提供する。
第3の態様を参照して、第3の態様の第1の可能な実装方法では、前記送信モジュールは、前記第1の動作させられるべきリソースの前記識別子と第3の実行時間と第3の実行されるべき動作とを含むとともに第2のトランザクションについての第3のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスに送信するようにさらに構成され、前記第2の動作させられるべきリソースの前記識別子と第4の実行時間と第4の実行されるべき動作とを含むとともに前記第2のトランザクションについての第4のトランザクション・リソース作成要求を前記第2の管理対象オブジェクト・デバイスに送信するようにさらに構成され、前記第3の実行時間と前記第4の実行時間は、同じであり、
前記受信モジュールは、あらかじめ設定された時間内に、前記第1の管理対象オブジェクト・デバイスによって送信されるとともに前記第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答を受信し、前記あらかじめ設定された時間内に、前記第2の管理対象オブジェクト・デバイスによって送信されるとともに前記第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答を受信するようにさらに構成され、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答は、前記第4のトランザクション・リソースの識別子を持ち、
送信モジュールは、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答及び前記第2のトランザクションの前記第4のトランザクション・リソースの作成に成功したことを示す前記応答に基づいて、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記第2のトランザクションの前記第4のトランザクション・リソースについての処理要求を送信するようにさらに構成され、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている。
第3の態様の第1の可能な実装方法を参照して、第3の態様の第2の可能な実装方法では、前記送信モジュールは、具体的には、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答は、更新された第3の実行時間を持っていない第1の失敗応答であるということを決定し、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記第4のトランザクション・リソースの前記識別子を持っている削除要求を送信する、又は、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す前記応答は、前記更新された第3の実行時間を持っている第2の失敗応答であるということを決定し、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を送信する前記第2の管理対象オブジェクト・デバイスに、前記更新された第3の実行時間及び前記第4のトランザクション・リソースの前記識別子を持っている更新要求を送信するように構成され、
前記送信モジュールは、前記更新された第3の実行時間を持っている第3のトランザクション・リソース作成要求を前記第1の管理対象オブジェクト・デバイスに送信するようにさらに構成される。
第4の態様によれば、本発明の1つの実施形態は、マシン・トゥ・マシン通信M2Mシステムに適用される分散トランザクション・リソースを実行するためのシステムであって、前記M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含み、第1の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちの前記第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであり、分散トランザクション・リソースを実行するための当該システムは、前記第1の管理対象オブジェクト・デバイスと前記第2の管理対象オブジェクト・デバイスとを含み、
前記第1の管理対象オブジェクト・デバイスは、第1のトランザクションについてアプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を受信し、前記第1のトランザクション・リソース作成要求にしたがって前記第1のトランザクションの第1のトランザクション・リソースを正常に作成し、前記第1のトランザクションの前記第1のトランザクション・リソースの作成に成功したことを示す応答を前記アプリケーション・サーバに送信するように構成され、前記第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含み、
前記第2の管理対象オブジェクト・デバイスは、前記第1のトランザクションについて前記アプリケーション・サーバによって送信された第2のトランザクション・リソース作成要求を受信し、前記第2のトランザクション・リソース作成要求にしたがって前記第1のトランザクションの第2のトランザクション・リソースを正常に作成し、前記第1のトランザクションの前記第2のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信するように構成され、前記第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、前記第1の実行時間と前記第2の実行時間は、同じであり、前記第1のトランザクション・リソースが、前記第1の実行時間と、前記第1の実行されるべき動作とを含み、前記第2のトランザクション・リソースは、第前記2の実行時間と、前記第2の実行されるべき動作とを含み、
前記第1の実行時間が到来すると、前記第1の管理対象オブジェクト・デバイス及び前記第2の管理対象オブジェクト・デバイスはそれぞれ、前記第1の管理対象オブジェクト・デバイス及び前記第2の管理対象オブジェクト・デバイスによって実行されるべき前記動作を実行するように構成される、システムを提供する。
第4の態様を参照すると、第4の態様の第1の可能な実装方法では、前記第1の管理対象オブジェクト・デバイスは、第2のトランザクションについて前記アプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信し、前記第2のトランザクションの第3のトランザクション・リソースが前記第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗したということを決定し、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す応答を前記アプリケーション・サーバに送信するようにさらに構成され、前記第3のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第3の実行時間と、第3の実行されるべき動作とを含み、
前記第2の管理対象オブジェクト・デバイスは、前記第2のトランザクションについて前記アプリケーション・サーバによって送信された第4のトランザクション・リソース作成要求を受信し、前記第4のトランザクション・リソース作成要求にしたがって前記第2のトランザクションの第4のトランザクション・リソースを正常に作成し、前記第2のトランザクションの前記第4のトランザクション・リソースの作成に成功したことを示す応答を前記アプリケーション・サーバに送信するようにさらに構成され、前記第4のトランザクション・リソース作成要求は、前記第2の動作させられるべきリソースの前記識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、前記第3の実行時間と前記第4の実行時間は、同じであり、前記第4のトランザクション・リソースの作成に成功したことを示す前記応答は、前記第4のトランザクション・リソースの識別子を持ち、
前記第4のトランザクション・リソースの作成に成功したことを示す前記応答を前記アプリケーション・サーバに送信する前記第2の管理対象オブジェクト・デバイスは、前記第2のトランザクションの前記第4のトランザクション・リソースについて前記アプリケーション・サーバによって送信された処理要求を受信し、前記第4のトランザクション・リソースの前記識別子にしたがって前記作成された第4のトランザクション・リソースを処理するようにさらに構成され、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている。
第4の態様の第1の可能な実装方法を参照して、第4の態様の第2の可能な実装方法では、前記第1の管理対象オブジェクト・デバイスは、具体的には、第1のトランザクション・リソース・キューが前記第1の管理対象オブジェクト・デバイスに存在するということを決定し、前記第3の実行時間及び前記第1の管理対象オブジェクト・デバイスの前記第1の動作させられるべきリソースの状態にしたがって、前記第3のトランザクション・リソースはあらかじめ設定されたリソース作成条件を満たさないということを決定し、前記あらかじめ設定されたリソース作成条件にしたがって、前記第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと前記第3の実行時間を更新するということを決定し、前記更新された第3の実行時間を持っている第2の失敗応答を前記アプリケーション・サーバに送信するように構成され、前記第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
第4の態様の第1の可能な実装方法又は第4の態様の第2の可能な実装方法を参照して、第4の態様の第3の可能な実装方法では、前記第2の管理対象オブジェクト・デバイスは、具体的には、第2のトランザクション・リソース・キューが前記第2の管理対象オブジェクト・デバイスに存在するということを決定し、前記第4の実行時間及び前記第2の管理対象オブジェクト・デバイスの前記第2の動作させられるべきリソースの状態にしたがって、前記第4のトランザクション・リソースはあらかじめ設定されたリソース作成条件を満たすということを決定し、前記第4のトランザクション・リソースを作成するように構成され、前記第2のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
第4の態様の第1の可能な実装方法から第4の態様の第3の可能な実装方法のいずれか1つを参照して、第4の態様の第4の可能な実装方法では、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子及び前記更新された第3の実行時間を持っている更新要求であり、前記第2の管理対象オブジェクト・デバイスは、前記更新された第3の実行時間にしたがって前記第4のトランザクション・リソースを正常に更新し、前記更新が成功した後に、更新成功応答メッセージを前記アプリケーション・サーバに返送する、又は、前記更新された第3の実行時間にしたがって前記第4のトランザクション・リソースを更新するのに失敗し、更新失敗応答メッセージを前記アプリケーション・サーバに返送するようにさらに構成される。
第4の態様の第4の可能な実装方法を参照して、第4の態様の第5の可能な実装方法では、前記第2の管理対象オブジェクト・デバイスは、前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除し、前記更新された第3の実行時間を新しい第4のトランザクション・リソースの実行時間として使用し、前記新しい第4のトランザクション・リソースの前記実行時間及び前記第2の管理対象オブジェクト・デバイスの前記第2の動作させられるべきリソースの前記状態にしたがって、前記新しい第4のトランザクション・リソースが前記あらかじめ設定されたリソース作成条件を満たすということを決定し、前記更新された第3の実行時間にしたがって前記新しい第4のトランザクション・リソースを作成するようにさらに構成される。
第4の態様の第1の可能な実装方法から第4の態様の第3の可能な実装方法のいずれか1つを参照して、第4の態様の第6の可能な実装方法では、前記第2のトランザクションの前記第4のトランザクション・リソースについての前記処理要求は、前記第4のトランザクション・リソースの前記識別子を持っている削除要求であり、前記第2の管理対象オブジェクト・デバイスは、前記第4のトランザクション・リソースの前記識別子にしたがって前記第2の管理対象オブジェクト・デバイスにある前記第4のトランザクション・リソースを削除するようにさらに構成される。
第4の態様の第6の可能な実装方法を参照して、第4の態様の第7の可能な実装方法では、前記第2のトランザクション・リソース・キューの中の1つのトランザクション・リソースは、予約状態であり、前記第2の管理対象オブジェクト・デバイスは、前記第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の前記第2の動作させられるべきリソースの前記状態にしたがって、前記第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定するようにさらに構成され、前記第1の位置は前記第2のトランザクション・リソース・キューの中の前記第4のトランザクション・リソースの前の位置であり、前記第2の位置は前記第2のトランザクション・リソース・キューの中の前記第4のトランザクション・リソースの次の位置であり、
前記第2の位置にある前記トランザクション・リソースが正常に実行される場合に、前記第2の管理対象オブジェクト・デバイスは、第1の削除応答を前記アプリケーション・サーバに送信し、前記第1の位置にある前記トランザクション・リソースが実行された後に、前記第2の位置にある前記トランザクション・リソースの状態を前記予約状態へと更新するようにさらに構成される、又は
前記第2の位置にある前記トランザクション・リソースが実行されるのに失敗した場合に、前記第2の管理対象オブジェクト・デバイスは、前記第2の位置にある前記トランザクション・リソースを削除するようにさらに構成される。
第4の態様の第6の可能な実装方法を参照して、第4の態様の第8の可能な実装方法では、前記第2のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースは、予約状態であり、前記第2の管理対象オブジェクト・デバイスは、前記第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすか否かを決定するようにさらに構成され、
前記第2のトランザクション・リソース・キューの中の前記半予約状態の前記トランザクション・リソースが前記あらかじめ設定された削除条件を満たす場合に、前記第2の管理対象オブジェクト・デバイスは、前記半予約状態の前記トランザクション・リソースを削除し、第2の削除応答を前記アプリケーション・サーバに送信するようにさらに構成される、又は、
前記第2のトランザクション・リソース・キューの中の前記半予約状態の前記トランザクション・リソースが前記あらかじめ設定された削除条件を満たさない場合に、前記第2の管理対象オブジェクト・デバイスは、前記半予約状態の前記トランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の前記第2の動作させられるべきリソースの前記状態にしたがって、前記半予約状態の前記トランザクション・リソースが正常に実行可能であるということを決定し、前記半予約状態のトランザクション・リソースを前記予約状態へと更新するようにさらに構成される。
第5の態様によれば、本発明の1つの実施形態は、マシン・トゥ・マシン通信M2Mシステムに適用される管理対象オブジェクト・デバイスであって、前記M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスとアプリケーション・サーバとを含み、当該管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクト・デバイスは、前記少なくとも2つの管理対象オブジェクト・デバイスのうちの当該管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであり、当該管理対象オブジェクト・デバイスは、
第1のトランザクションについて前記アプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を受信するように構成された受信モジュールであって、前記第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含み、前記第1の実行時間は、前記第1のトランザクションについての第2のトランザクション・リソース作成要求の中の第2の実行時間と同じであり、前記第2のトランザクション・リソース作成要求は、前記M2Mシステムの中の当該管理対象オブジェクト・デバイス以外の前記第2の管理対象オブジェクト・デバイスによって受信される、受信モジュールと、
前記第1のトランザクション・リソース作成要求にしたがって第1のトランザクション・リソースを正常に作成するように構成される作成モジュールであって、前記第1のトランザクション・リソースは、前記第1の実行時間と、前記第1の実行されるべき動作とを含む、作成モジュールと、
前記第1の実行時間が到来すると、前記第1のトランザクションの前記第1のトランザクション・リソースについて前記アプリケーション・サーバによって送信された処理要求が受信されないということを決定するように構成される決定モジュールであって、前記アプリケーション・サーバが、前記第2の管理対象オブジェクト・デバイスによって送信されるとともに前記第1のトランザクションの第2のトランザクション・リソースの作成に成功しなかったことを示す応答を受信した後に、前記第1のトランザクションの前記第1のトランザクション・リソースについての前記処理要求が送信される、決定モジュールと、
第1の実行されるべき動作を実行するように構成される処理モジュールと、を含む、管理対象オブジェクト・デバイスを提供する。
第5の態様を参照して、第5の態様の第1の可能な実装方法では、当該管理対象オブジェクト・デバイスは、送信モジュールをさらに含み、
前記受信モジュールは、第2のトランザクションについて前記アプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信するようにさらに構成され、前記第3のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第3の実行時間と、第3の実行されるべき動作とを含み、前記第3の実行時間は、前記第2のトランザクションについて前記第2の管理対象オブジェクト・デバイスによって受信された第4のトランザクション・リソース作成要求の中の第4の実行時間と同じであり、
前記作成モジュールは、第3のトランザクション・リソースが前記第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗したということを決定するようにさらに構成され、
前記送信モジュールは、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功しなかったことを示す応答を前記アプリケーション・サーバに送信するように構成される。
第5の態様の第1の可能な実装方法を参照して、第5の態様の第2の可能な実装方法では、前記作成モジュールは、具体的には、第1のトランザクション・リソース・キューが当該管理対象オブジェクト・デバイスに存在するということを決定し、前記第3の実行時間及び当該管理対象オブジェクト・デバイスの前記第1の動作させられるべきリソースの状態にしたがって、前記第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たさないということを決定し、前記あらかじめ設定されたリソース作成条件にしたがって、前記第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと前記第3の実行時間を更新するということを決定するように構成され、前記第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含み、
前記送信モジュールは、具体的には、前記更新された第3の実行時間を持っている第2の失敗応答を前記アプリケーション・サーバに送信するように構成される。
第5の態様の第1の可能な実装方法を参照して、第5の態様の第3の可能な実装方法では、当該管理対象オブジェクト・デバイスは、送信モジュールをさらに含み、
前記受信モジュールは、第2のトランザクションについて前記アプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信するようにさらに構成され、前記第3のトランザクション・リソース作成要求は、前記第1の動作させられるべきリソースの前記識別子と、第3の実行時間と、第3の実行されるべき動作とを含み、前記第3の実行時間は、前記第2のトランザクションについて前記第2の管理対象オブジェクト・デバイスによって受信された第4のトランザクション・リソース作成要求の中の第4の実行時間と同じであり、
前記作成モジュールは、前記第3のトランザクション・リソース作成要求にしたがって前記第3のトランザクション・リソースを正常に作成するようにさらに構成され、
前記送信モジュールは、前記第2のトランザクションの前記第3のトランザクション・リソースの作成に成功したことを示す応答を前記アプリケーション・サーバに送信するように構成され、前記第3のトランザクション・リソースの作成に成功したことを示す前記応答は、前記第3のトランザクション・リソースの識別子を持ち、
前記決定モジュールは、前記第3の実行時間が到来する前に、前記第2のトランザクションの前記第3のトランザクション・リソースについて前記アプリケーション・サーバによって送信された処理要求が受信されたということを決定するようにさらに構成され、前記第2のトランザクションの前記第3のトランザクション・リソースについての前記処理要求は、前記第3のトランザクション・リソースの前記識別子を持ち、
前記処理モジュールは、前記第3のトランザクション・リソースの前記識別子にしたがって、前記作成された第3のトランザクション・リソースを処理するようにさらに構成される。
第5の態様の第3の可能な実装方法を参照して、第5の態様の第4の可能な実装方法では、前記作成モジュールは、具体的には、第1のトランザクション・リソース・キューが当該管理対象オブジェクト・デバイスに存在するということを決定し、前記第3の実行時間及び当該管理対象オブジェクト・デバイスの前記第1の動作させられるべきリソースの状態にしたがって、前記第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、前記第3のトランザクション・リソースを作成するように構成され、前記第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
第5の態様の第3の可能な実装方法又は第5の態様の第4の可能な実装方法を参照して、第5の態様の第5の可能な実装方法では、前記第2のトランザクションの前記第3のトランザクション・リソースについての前記処理要求は、前記第3のトランザクション・リソースの前記識別子及び更新された第4の実行時間を持っている更新要求であり、前記処理モジュールは、具体的には、前記更新された第4の実行時間にしたがって前記第3のトランザクション・リソースを正常に更新し、前記更新が成功した後に、更新成功応答メッセージを前記アプリケーション・サーバに返送する、又は、前記更新された第4の実行時間にしたがって前記第3のトランザクション・リソースを更新するのに失敗し、更新失敗応答メッセージを前記アプリケーション・サーバに返送するように構成される。
第5の態様の第5の可能な実装方法を参照して、第5の態様の第6の可能な実装方法では、前記処理モジュールは、具体的には、前記第3のトランザクション・リソースの前記識別子にしたがって当該管理対象オブジェクト・デバイスにある前記第3のトランザクション・リソースを削除し、前記更新された第4の実行時間を新しい第3のトランザクション・リソースの実行時間として使用し、前記新しい第3のトランザクション・リソースの前記実行時間及び当該管理対象オブジェクト・デバイスの前記第1の動作させられるべきリソースの前記状態にしたがって、前記新しい第3のトランザクション・リソースが前記あらかじめ設定されたリソース作成条件を満たすということを決定し、前記更新された第4の実行時間にしたがって前記新しい第3のトランザクション・リソースを作成するように構成される。
第5の態様の第3の可能な実装方法又は第5の態様の第4の可能な実装方法を参照して、第5の態様の第7の可能な実装方法では、前記第2のトランザクションの前記第3のトランザクション・リソースについての前記処理要求は、前記第3のトランザクション・リソースの前記識別子を持っている削除要求であり、前記処理モジュールは、具体的には、前記第3のトランザクション・リソースの前記識別子にしたがって当該管理対象オブジェクト・デバイスにある前記第3のトランザクション・リソースを削除するように構成される。
第5の態様の第7の可能な実装方法を参照して、第5の態様の第8の可能な実装方法では、前記第1のトランザクション・リソース・キューの中の1つのトランザクション・リソースは、予約状態であり、前記処理モジュールは、前記第1のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の前記第1の動作させられるべきリソースの前記状態にしたがって、前記第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定し、前記第2の位置にある前記トランザクション・リソースが正常に実行される場合に、第1の削除応答を前記アプリケーション・サーバに送信し、前記第1の位置にある前記トランザクション・リソースが実行された後に、前記第2の位置にある前記トランザクション・リソースの状態を前記予約状態へと更新する、又は、前記第2の位置にある前記トランザクション・リソースが実行されるのに失敗した場合に、前記第2の位置にある前記トランザクション・リソースを削除するようにさらに構成され、前記第1の位置は、前記第1のトランザクション・リソース・キューの中の前記第3のトランザクション・リソースの前の位置であり、前記第2の位置は、前記第1のトランザクション・リソース・キューの中の前記第3のトランザクション・リソースの次の位置である。
第5の態様の第7の可能な実装方法を参照して、第5の態様の第9の可能な実装方法では、前記第1のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースは、予約状態であり、前記処理モジュールは、前記第1のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすか否かを決定し、前記第1のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たす場合に、前記半予約状態の前記トランザクション・リソースを削除し、第2の削除応答を前記アプリケーション・サーバに送信する、又は、前記第1のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たさない場合、前記半予約状態の前記トランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の前記第1の動作させられるべきリソースの前記状態にしたがって、前記半予約状態の前記トランザクション・リソースが正常に実行可能であるということを決定し、前記半予約状態の前記トランザクション・リソースを前記予約状態へと更新するようにさらに構成される。
本発明の実施形態にしたがって分散トランザクション・リソースを実行するための方法、装置、及びシステムにおいては、複数の管理対象オブジェクト・デバイスに送信されるトランザクション・リソース作成要求は同じ実行時間を持ち、それによって、トランザクション・リソースが正常に作成され、実行時間が到来すると、複数の管理対象オブジェクト・デバイスが、管理対象オブジェクト・デバイスによって作成されるトランザクション・リソースを同時に実行し、その結果、トランザクション・リソースが同時に実行されることを保証する。さらに、本発明の実施形態では、トランザクション・リソースが同時に実行されることを保証するには、アプリケーション・サーバは、管理対象オブジェクト・デバイスにトランザクション・リソース作成要求を1つのみ送信すればよい。したがって、アプリケーション・サーバのシグナリング・オーバヘッドが減少される。
本発明の実施形態又は従来技術における技術的解決策についてより明確に説明するために、以下は、実施形態又は従来技術について説明するために必要とされる添付の図面について簡単に説明する。明らかに、以下の説明における添付の図面は本発明のいくつかの実施形態を示し、当業者は、依然として、創造的な努力なしにこれらの添付の図面から他の図面を得てよい。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態1の概略フローチャートである。
本発明による、インテリジェント灌漑のためのM2Mネットワーク・アーキテクチャの概略図である。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態2の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態2の別の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態2の別の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態2の別の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態3の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態4の概略フローチャートである。
本発明による、分散トランザクション・リソースを実行するための方法の実施形態5の概略フローチャートである。
本発明によるアプリケーション・サーバの1つの実施形態の概略構造図である。
本発明による管理対象オブジェクト・デバイスの実施形態1の概略構造図である。
本発明による管理対象オブジェクト・デバイスの実施形態2の概略構造図である。
本発明による、分散トランザクション・リソースを実行するためのシステムの1つの実施形態の概略構造図である。
本発明の実施形態の目的、技術的解決策、及び利点をより明確にするために、以下は、本発明の実施形態における添付の図面を参照して、本発明の実施形態における技術的解決策について明確及び完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のすべてではないが、いくつかである。当業者によって創造的な努力なしに本発明の実施形態に基づいて得られるすべての他の実施形態は、本発明の保護範囲内に含まれるものとする。
本出願における技術的解決策は、マシン・トゥ・マシン(Machine to Machine,以下では略してM2M)通信システムに適用され得る。このシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含んでよい。本出願に関与する第1の管理対象オブジェクト・デバイスは、少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであってよく、第2の管理対象オブジェクト・デバイスは、少なくとも2つの管理対象オブジェクト・デバイスのうちの第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスであってよい。M2Mシステム内の管理対象オブジェクト・デバイスが第1の管理対象オブジェクト・デバイスとして規定される場合、本明細書では、第2の管理対象オブジェクト・デバイスは、第1の管理対象オブジェクト・デバイスを除くM2Mシステム内の任意の管理対象オブジェクト・デバイスである。本出願内の管理対象オブジェクト・デバイスは、サーバ、通信ゲートウェイ、又はM2Mプラットフォームであってよいことが留意されるべきである。アプリケーション・サーバは、M2Mシステム内のトランザクション・コーディネータであってもよいし、別の管理エンティティ・デバイスであってもよい。
RESTfulアーキテクチャでは、アプリケーション・サーバは、インフラストラクチャ・ノード−アプリケーション・エンティティ(Infrastructure Node−Application Entity,以下では略してIN−AE)、アプリケーション・サービス・ノード−アプリケーション・エンティティ(Application Service Node−Application Entity,以下では略してASN−AE)、アプリケーション専用ノード−アプリケーション・エンティティ(Application Dedicated Node−Application Entity,以下では略してADN−AE)、又はミドル・ノード−アプリケーション・エンティティ(Middle Node−Application Entity,以下では略してMN−AE)であってよい。管理対象オブジェクト・デバイスは、インフラストラクチャ・ノード−共通サービス・エンティティ(Infrastructure Node−Common Service Entity,以下では略してIN−CSE)、ミドル・ノード−共通サービス・エンティティ(Middle Node−Common Service Entity,以下では略してMN−CSE)、又はアプリケーション・サービス・ノード−共通サービス・エンティティ(Application Service Node−Common Service Entity,以下では略してASN−CSE)であってよい。RESTfulアーキテクチャでは、トランザクションの関係者としては、1つのAEと、複数のCSEがあり、AEは本出願におけるアプリケーション・サーバであり、CSEは、本出願における管理対象オブジェクト・デバイスである。
さらに、1つの管理対象オブジェクト・デバイスは1つの動作させられるべきリソースのみに対応する、すなわち、管理対象オブジェクト・デバイスによって受信されるすべてのトランザクション・リソース作成要求に含まれる動作させられるべきリソースの識別子は同じ識別子であることが留意されるべきである。異なる管理対象オブジェクト・デバイスは、異なる動作させられるべきリソースに対応する。
図1は、本発明による、分散トランザクション・リソースを実行するための方法の実施形態1の概略フローチャートである。本発明のこの実施形態は、管理対象オブジェクト・デバイスがアプリケーション・サーバのトランザクション内の複数のトランザクション・リソースを同時に実行する具体的なプロセス、すなわち、M2Mシステム内の管理対象オブジェクト・デバイスにある動作させられるべきリソースに対して、別のトランザクションのトランザクション・リソースが現在ないシナリオに関する。図1に示されるように、方法は、以下のステップを含む。
S101。第1の管理対象オブジェクト・デバイスは、第1のトランザクションについてアプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を受信し、この第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む。
S102。第2の管理対象オブジェクト・デバイスは、第1のトランザクションについてアプリケーション・サーバによって送信された第2のトランザクション・リソース作成要求を受信し、この第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、第1の実行時間と第2の実行時間は同じである。
具体的には、アプリケーション・サーバは、第1のトランザクションに対する第1のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに、第1のトランザクションに対する第2のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに、別々に送信する、すなわち、第1のトランザクション・リソースと第2のトランザクション・リソースの両方は、アプリケーション・サーバの第1のトランザクションに属する。第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む。第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含む。第1の実行時間と第2の実行時間は同じである。選択的に、第1の実行されるべき動作と第2の実行されるべき動作は、同じであってもよいし、異なってもよい。さらに、第1の実行されるべき動作又は第2の実行されるべき動作は、プリミティブな形で反映されてもよいし、別の様式で反映されてもよい。
S103。第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース作成要求にしたがって第1のトランザクションの第1のトランザクション・リソースを正常に作成し、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース作成要求にしたがって第1のトランザクションの第2のトランザクション・リソースを正常に作成し、第1のトランザクション・リソースは、第1の実行時間と、第1の実行されるべき動作とを含み、第2のトランザクション・リソースは、第2の実行時間と、第2の実行されるべき動作とを含む。
第1の管理対象オブジェクト・デバイスによって実行される動作と第2の管理対象オブジェクト・デバイスによって実行される動作は類似していることは、留意されるべきである。したがって、以下の技術的解決策のすべてにおいて、第1の管理対象オブジェクト・デバイスが、説明される対象として使用される。第2の管理対象オブジェクト・デバイスによって実行される動作については、第1の管理対象オブジェクト・デバイスによって実行される動作を参照されたい。第2の管理対象オブジェクト・デバイスによって第2のトランザクション・リソースを作成するプロセスについては、第1の管理対象オブジェクト・デバイスによって第1のトランザクション・リソースを作成するプロセスを参照されたい。
具体的には、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース作成要求内で持たれる第1の実行時間及び第1の実行されるべき動作等の情報にしたがって、第1のトランザクション・リソースが正常に作成可能であるかどうかを決定する。第1の実行されるべき動作は、要求の開始者、要求されたターゲット・リソースの識別子、及び要求される特定の内容等の情報を含む。
選択的に、第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる情報にしたがって、第1のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすかどうかを決定してよい。具体的には、この条件は、以下の(1)から(4)の内容を含み得る。(1)第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる「要求されたターゲット・リソースの識別子」にしたがって、第1の実行されるべき動作に対して要求されるターゲット・リソースが第1の動作させられるべきリソースであるかどうかをチェックする。(2)第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる「要求の開始者」にしたがって、開始者(すなわち、アプリケーション・サーバ)が、第1のトランザクション・リソース作成要求を開始するのに十分な権利を有するかどうかをチェックする。(3)第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる「要求された内容」にしたがって、要求された内容が第1の動作させられるべきリソースに対して実行可能であるかどうかをチェックする。たとえば、第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる属性が、第1の管理対象オブジェクト・デバイスの許可された属性範囲内であるかどうかをチェックすることによって、要求された内容が第1の動作させられるべきリソースに対して実行可能であるかどうかをチェックする。(4)第1の管理対象オブジェクト・デバイスは、第1の実行時間並びに第1の管理対象オブジェクト・デバイスの作業期間及び休止期間の構成にしたがって、第1の実行時間によって指定された時間に、第1のトランザクション・リソース作成要求内に持たれた第1の実行されるべき動作の実行が保証可能であるかどうかをチェックする。
前述の4つの項目がすべて正常にチェックされた場合、それは、第1のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすことを示し、第1の管理対象オブジェクト・デバイスが第1のトランザクション・リソース作成要求にしたがって第1のトランザクション・リソースを正常に作成可能である。RESTfulアーキテクチャの特徴に基づいて、作成された第1のトランザクション・リソースは、3つの属性、すなわち、第1のトランザクション・リソースの状態と、第1の実行時間と、第1の実行されるべき動作とを含む(対応して、第2のトランザクション・リソースは、3つの属性、すなわち、第2のトランザクション・リソースの状態と、第2の実行時間と、第2の実行されるべき動作とを含む)。
第1のトランザクション・リソースが、3つの属性、すなわち、状態と、実行時間と、実行されるべき動作とを含むことが留意されるべきである。状態は、現在のトランザクション・リソースの状態を示す。状態は、予約状態であってもよいし、半予約状態であってもよい。予約状態は、管理対象オブジェクト・デバイスが、実行時間が到来したとき、トランザクション・リソース内の実行されるべき動作の実行正常を保証することができる、すなわち、管理対象オブジェクト・デバイスは、アクセス権、属性一貫性などを含むトランザクション・リソースを実行するために必要とされるさまざまな条件をチェックしたことを意味する。半予約状態は、トランザクション・リソース・キューの中のトランザクション・リソースの一般的な状態である、すなわち、管理対象オブジェクト・デバイスがトランザクション・リソースを正常に実行することができるかどうかは、トランザクション・リソース・キューの中の1つ又は複数のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態に依存する。実行時間(Texecによって示される)は、現在のトランザクション・リソースの実行時間を示し、実行時間が到来するとトランザクション・リソース内の実行されるべき動作を実行するように管理対象オブジェクト・デバイスに指示するために使用される。実行されるべき動作(プリミティブによって示される)は、実行予定要求を示し、すなわち、管理対象オブジェクト・デバイスにある動作させられるべきリソースを処理するために必要とされるすべての情報を含む。
さらに、トランザクション・リソースは、管理対象オブジェクト・デバイスにある動作させられるべきリソースと関連付けられる、すなわち、トランザクション・リソース内の実行されるべき動作に対して要求されるターゲット・リソースは、動作させられるべきリソースである。トランザクション・リソースを動作させられるべきリソースと関連付ける様式は、トランザクション・リソースの識別子が動作させられるべきリソースの属性である様式であってもよいし、トランザクション・リソースが動作させられるべきリソースのサブ・リソースである様式であってもよい。具体的には、動作させられるべきリソースは、1つ又は複数のトランザクション・リソースの識別子を含んでよく、又は、トランザクション・リソースの識別子は、動作させられるべきリソースの識別子を直接含んでよい。
S104。第1の管理対象オブジェクト・デバイスは、第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信し、第2の管理対象オブジェクト・デバイスは、第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。
具体的には、第1の管理対象オブジェクト・デバイスが第1のトランザクション・リソースを正常に作成した後、第1の管理対象オブジェクト・デバイスは、第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。第1の管理対象オブジェクト・デバイスが第1の実行時間の到来を待機する時間期間内に、選択的に、第1の管理対象オブジェクト・デバイスは、第1のトランザクションの第1のトランザクション・リソースについてアプリケーション・サーバによって送信された処理要求が受信されたかどうかを決定する。アプリケーション・サーバ上の1つのトランザクションは複数のトランザクション・リソースを含むので、アプリケーション・サーバは、管理対象オブジェクト・デバイスにある1つのトランザクションに属するトランザクション・リソースを作成するように、異なるトランザクション・リソース作成要求を複数の管理対象オブジェクト・デバイスに送信する。この実施形態では、第2の管理対象オブジェクト・デバイスが第2のトランザクション・リソースを正常に作成しない場合、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信する。第2のトランザクション・リソースの作成失敗を示す応答を受信した後、アプリケーション・サーバは、正常に作成された第1のトランザクション・リソースを削除又は更新するように第1の管理対象オブジェクト・デバイスに指示するように、第1のトランザクションの第1のトランザクション・リソースについての処理要求を第1の管理対象オブジェクト・デバイスに送信する。第2の管理対象オブジェクト・デバイスが第2のトランザクション・リソースを正常に作成した場合、第2の管理対象オブジェクト・デバイスは、第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。したがって、アプリケーション・サーバは、第1のトランザクションの第1のトランザクション・リソースについての処理要求を第1の管理対象オブジェクト・デバイスに送信しない。
S105。第1の実行時間が到来すると、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスはそれぞれ、第1の管理対象オブジェクト・デバイス及び第2の管理対象デバイスによって実行されるべき動作を実行する。
具体的には、第1の実行時間が到来すると、第1の管理対象オブジェクト・デバイスが、第1のトランザクションの第1のトランザクション・リソースについてアプリケーション・サーバによって送信された処理要求を受信しなかった場合、それは、第2のトランザクション・リソースもM2Mシステム内の第2の管理対象オブジェクト・デバイス上で正常に作成されることを示す。したがって、第1の管理対象オブジェクト・デバイスは、作成された第1のトランザクション・リソース内の第1の実行されるべき動作にしたがって、第1の動作させられるべきリソースの識別子によって示された第1の動作させられるべきリソース上の第1の実行されるべき動作を実行する。さらに、第2のトランザクション・リソースもM2Mシステム内の第2の管理対象オブジェクト・デバイス上で正常に作成され、第2の管理対象オブジェクト・デバイスはまた、アプリケーション・サーバによって送信された第1のトランザクションの第2のトランザクション・リソースに対する処理要求を受信しなかったので、第2の管理対象オブジェクト・デバイスは、第2の実行時間に、第2の動作させられるべきリソースの識別子によって示される第2の動作させられるべきリソース上で第2の実行されるべき動作も実行し得る。すなわち、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスはそれぞれ、第1の実行されるべき動作及び第2の実行されるべき動作を同時に実行する、すなわち、同じトランザクションに含まれるトランザクション・リソースを同時に実行する。
本発明のこの実施形態の技術的解決策について、さらに説明するために、本明細書では、背景技術におけるインテリジェント灌漑の一例が、説明のために使用される。
インテリジェント灌漑の例では、アプリケーション・サーバは、M2Mプラットフォームとともに登録されたネットワーク・アプリケーションであり、管理対象オブジェクト・デバイスは、異なる農地に分散された弁である。図2に示されるインテリジェント灌漑に関するM2Mネットワーク・アーキテクチャを参照すると、M2Mシステムは、1つのアプリケーション・サーバと、3つの弁とを含む。弁1は第1の管理対象オブジェクト・デバイスであり、弁2及び弁3は両方とも、第2の管理対象オブジェクト・デバイスである。
アプリケーション・サーバは、弁1、弁2、及び弁3にトランザクション・リソース作成要求をそれぞれ送信する。弁1に送信されるトランザクション・リソース作成要求は、第1のトランザクション・リソース作成要求である。弁2に送信されるトランザクション・リソース作成要求は、第2のトランザクション・リソース作成要求である。弁3に送信されるトランザクション・リソース作成要求は、別の第2のトランザクション・リソース作成要求である。アプリケーション・サーバによって3つの弁に送信されるトランザクション・リソース作成要求内の実行時間はすべて12:00であり、トランザクション・リソース作成要求はそれぞれ、異なる弁を調整するための要求を含む。弁1に送信される第1のトランザクション・リソース作成要求は、弁1の開放度を20%に調整する(すなわち、第1の実行されるべき動作)ための要求である。弁2に送信される第2のトランザクション・リソース作成要求は、弁2の開放度を30%に調整する(すなわち、第2の実行されるべき動作)ための要求である。弁3に送信される第2のトランザクション・リソース作成要求は、弁3の開放度を40%に調整する(すなわち、別の第2の実行されるべき動作)ための要求である。
弁1を一例として使用すると(弁2及び弁3によって実行される動作については、弁1によって実行される動作を参照されたい)、弁1は、最初に、アプリケーション・サーバが第1のトランザクション・リソースを作成する権利を有するかどうかをチェックし、次いで、第1のトランザクション・リソース作成要求に含まれる第1の実行されるべき動作をチェックする。第1の実行されるべき動作の内容は、弁1を20%に調整することである。弁1は、さらに、アプリケーション・サーバが弁1上の動作させられるべきリソースを調整する権利を有するかどうかをチェックし、20%が弁の調整範囲内であるかどうかをチェックする。最後に、弁1は、第1のトランザクション・リソース作成要求内で提供される第1の実行時間及び弁1の休止時間にしたがって、第1のトランザクション・リソースは正常に作成可能であると結論する、すなわち、弁1は、弁1が12:00に弁1の完全開放の20%に調整されることを保証し得る。この例では、弁1はトランザクション・リソースを初めて作成する、すなわち、弁1の動作させられるべきリソースは、対応するトランザクション・リソース・キューを持たないので、弁1は、第1のトランザクション・リソースの現在の状態を予約状態に設定し、この状態を、第1のトランザクション・リソースの作成成功を示す応答に追加して、この応答をアプリケーション・サーバに送信する。
弁2及び弁3は、類似のステップを実行し得る。この例では、弁2及び弁3も、弁が12:00に対応する値に調整されることを保証することができることが仮定される。したがって、3つの弁によって作成されるトランザクション・リソースはすべて、予約状態である。この実施形態では、3つの弁がすべて、トランザクション・リソースの作成成功についての応答を返送するので、アプリケーション・サーバは、実行時間の到来を待機する時間期間内に要求を開始しない。
3つの弁によって作成されるトランザクション・リソース内で指定された実行時間が到来すると、すなわち、12:00が到来すると、3つの弁は、弁によって実行される予定の動作の内容を同時に実行する。すなわち、弁1は、その開放度を20%に調整し、弁2は、その開放度を30%に調整し、弁3は、その開放度を40%に調整する。
複数の管理対象オブジェクト・デバイスに送信されるトランザクション・リソース作成要求は同じ実行時間を持ち、それによって、トランザクション・リソースが正常に作成されることが決定され、実行時間が到来すると、複数の管理対象オブジェクト・デバイスは、管理対象オブジェクト・デバイスによって作成されるトランザクション・リソースを同時に実行し、その結果、トランザクション・リソースが同時に実行されることを保証する。さらに、本発明の実施形態では、トランザクション・リソースが同時に実行されることを保証するには、アプリケーション・サーバは、管理対象オブジェクト・デバイスにトランザクション・リソース作成要求を1つのみ送信すればよい。したがって、アプリケーション・サーバのシグナリング・オーバヘッドが減少される。
図3は、本発明による、分散トランザクション・リソースを実行するための方法の実施形態2の概略フローチャートである。前述の実施形態に基づいて、この実施形態において使用される方法は、第1の管理対象オブジェクト・デバイスが、第2のトランザクションの第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信するプロセスである。図3に示されるように、方法は、以下のステップをさらに含む。
S201。第1の管理対象オブジェクト・デバイスは、第2のトランザクションについてアプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信し、この第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含む。
S202。第2の管理対象オブジェクト・デバイスは、第2のトランザクションについてアプリケーション・サーバによって送信された第4のトランザクション・リソース作成要求を受信し、この第4のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、第3の実行時間と第4の実行時間は同じである。
具体的には、アプリケーション・サーバは、第2のトランザクションに対する第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに、第2のトランザクションに対する第4のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに、それぞれ送信する。第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含む。第4のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第4の実行時間と、第4の実行されるべき動作とを含む。第3の実行時間と第4の実行時間は同じである。選択的に、第3の実行されるべき動作と第4の実行されるべき動作は、同じであってもよいし、異なってもよい。さらに、第3の実行されるべき動作又は第4の実行されるべき動作は、プリミティブな形で反映されてもよいし、別の様式で反映されてもよい。
S203。第1の管理対象オブジェクト・デバイスは、第2のトランザクションの第3のトランザクション・リソースが第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗したということを決定し、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信する。
S204。第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソース作成要求にしたがって第2のトランザクションの第4のトランザクション・リソースを正常に作成し、この第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信し、この第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っている。
第1の管理対象オブジェクト・デバイスによって実行される動作と第2の管理対象オブジェクト・デバイスによって実行される動作は類似していることは、留意されるべきである。したがって、以下の技術的解決策のすべてにおいて、第1の管理対象オブジェクト・デバイスが、説明される対象として使用される。第2の管理対象オブジェクト・デバイスによって実行される動作については、第1の管理対象オブジェクト・デバイスによって実行される動作を参照されたい。第2の管理対象オブジェクト・デバイスによって第4のトランザクション・リソースを作成するプロセスについては、第1の管理対象オブジェクト・デバイスによって第3のトランザクション・リソースを作成するプロセスを参照されたい。
具体的には、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内で持たれる第3の実行時間及び第3の実行されるべき動作等の情報にしたがって、第3のトランザクション・リソースが正常に作成可能であるかどうかを決定する。第3の実行されるべき動作は、第1の動作させられるべきリソースに対する要求を含み、この要求は、要求の開始者、要求されたターゲット・リソースの識別子、及び要求される特定の内容等の情報を含んでよい。
選択的に、第1の管理対象オブジェクト・デバイスは、第3の実行されるべき動作に含まれる情報にしたがって、第3のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすかどうかを決定してよい。この条件は、具体的には、以下の(1)から(4)の内容を含み得る。(1)第1の管理対象オブジェクト・デバイスが、第3の実行されるべき動作に含まれる「要求されたターゲット・リソースの識別子」にしたがって、第3の実行されるべき動作に対して要求されるターゲット・リソースが第1の動作させられるべきリソースであるかどうかをチェックする。(2)第1の管理対象オブジェクト・デバイスは、第3の実行されるべき動作に含まれる「要求の開始者」にしたがって、開始者(すなわち、アプリケーション・サーバ)が、要求を開始するのに十分な権利を有するかどうかをチェックする。(3)第1の管理対象オブジェクト・デバイスは、第3の実行されるべき動作に含まれる「要求された内容」にしたがって、要求された内容が第1の動作させられるべきリソースに対して実行可能であるかどうかをチェックする。(4)第1の管理対象オブジェクト・デバイスは、第3の実行時間並びに第1の管理対象オブジェクト・デバイスの作業期間及び休止期間の構成にしたがって、第3の実行時間によって指定された時間に、第3のトランザクション・リソース作成要求内に持たれた第3の実行されるべき動作の実行が保証可能であるかどうかをチェックする。
前述の4つの項目のいずれか1つがチェックされるのに失敗した場合、それは、第3のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たさないことを示す。第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第3のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信する。
さらに、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソース作成要求にしたがって第2のトランザクションの第4のトランザクション・リソースを正常に作成し(詳細については、第3のトランザクション・リソースを作成するプロセスを参照されたい)、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。この第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っている。
アプリケーション・サーバが、第1の管理対象オブジェクト・デバイスによって送信され第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答と、第2の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答を受信した後、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソースを正常に作成する第2の管理対象オブジェクト・デバイスに送信するということを決定し、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている。
S205。第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する第2の管理対象オブジェクト・デバイスは、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求を受信し、この第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている。
具体的には、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースを削除するための削除要求であってもよいし、第4のトランザクション・リソース内の第4の実行時間を更新するための更新要求であってもよく、それにより、第2の管理対象オブジェクト・デバイスは、新しい第4のトランザクション・リソースを取得する(第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内の第3の実行時間が適切でないということを決定すると、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースの作成不成功を示す応答を送信し、この応答は、更新された第3の実行時間を持っている。したがって、アプリケーション・サーバは、更新された第3の実行時間を持っている処理要求を第2の管理対象オブジェクト・デバイスに送信する。もちろん、第1の管理対象オブジェクト・デバイスは、更新された第3の実行時間にしたがって新しい第3のトランザクション・リソースを作成してもよい)。
S206。第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースの識別子にしたがって作成された第4のトランザクション・リソースを処理する。
具体的には、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する第2の管理対象オブジェクト・デバイスが、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求を受信した後、第2の管理対象オブジェクト・デバイスは、処理要求内に持たれる第4のトランザクション・リソースの識別子にしたがって、第2の管理対象オブジェクト・デバイス上ですでに正常に作成された第4のトランザクション・リソースを処理する。
選択的に、第2の管理対象オブジェクト・デバイスは、第2のトランザクションの原子性を確保するために、第2の管理対象オブジェクト・デバイスにある第4のトランザクション・リソースを削除してよい(第3のトランザクション・リソースは作成されるのに失敗し、第2のトランザクション自体が正常に実行されることはできないので、同じく第2のトランザクションに属する第4のトランザクション・リソースは、それが正常に作成された場合でも、削除されるべきである)。
選択的に、第2の管理対象オブジェクト・デバイスにある第4のトランザクション・リソース内の第4の実行されるべき動作を実行する時間は、第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソース内の第3の実行されるべき動作を実行する時間が、第2の管理対象オブジェクト・デバイスによって新しい第4のトランザクション・リソース内の第4の実行されるべき動作を実行する時間と一致するように、更新されてよい。さらに、更新された第3の実行時間が到来する前に、アプリケーション・サーバは、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスに処理要求を送信しない。したがって、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスは、同じトランザクションに含まれるトランザクション・リソースを実行することができる。
本発明のこの実施形態により分散トランザクション・リソースを実行するための方法では、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスはそれぞれ、アプリケーション・サーバによって送信され同じ実行時間を持つ第3のトランザクション・リソース作成要求及び第4のトランザクション・リソース作成要求を受信する。第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソース作成要求内の第4の実行時間にしたがって、第4のトランザクション・リソースが正常に作成されるということを決定し、第4の実行時間が到来する前に、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求を受信する。第2の管理対象オブジェクト・デバイスは、処理要求にしたがって、作成された第4のトランザクション・リソースを処理する。本発明のこの実施形態によって提供される方法では、第2の管理対象オブジェクト・デバイスは、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求にしたがって(処理要求が更新要求であるとき)、第2の管理対象オブジェクト・デバイスによって更新された第4のトランザクション・リソースを実行する時間が、第1の管理対象オブジェクト・デバイスが、第1の管理対象オブジェクト・デバイスによって作成された新しい第3のトランザクション・リソースを実行する時間と同じであることを保証することができる、すなわち、第1の管理対象オブジェクト・デバイスと第2の管理対象オブジェクト・デバイスは、デバイスによって実行される予定の動作を同時に実行することができることが保証される。したがって、トランザクション・リソースの同時実行が保証される。
図3に示される前述の実施形態に基づいて、本発明のこの実施形態の第1の可能な実装方法では、本発明のこの実施形態は、管理対象オブジェクト・デバイスが、1つのトランザクションのみに含まれる複数のトランザクション・リソースを実行し、実行が失敗する(すなわち、トランザクションの実行が失敗する)特定のシナリオ、すなわち、M2Mシステム内の第1の管理対象オブジェクト・デバイスにある第1の動作させられるべきリソースに対して、別のトランザクションのトランザクション・リソースが現在関連付けられていないシナリオに関する。
前述のS203は、具体的には、以下の通りであってよい。
第1の管理対象オブジェクト・デバイスが、第3の実行されるべき動作に含まれる情報にしたがって、第3のトランザクション・リソース作成要求が前述のトランザクション・リソース作成条件における(1)の内容を満たさないということを決定した場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求にしたがって、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第3のトランザクション・リソースが正常に作成されることはできないことをアプリケーション・サーバに通知するように、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信する。
第1の管理対象オブジェクト・デバイスが、第3の実行されるべき動作に含まれる情報にしたがって、第3のトランザクション・リソース作成要求が前述のトランザクション・リソース作成条件における(2)から(4)のいずれか1つの内容を満たさないということを決定した場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求にしたがって、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、現在の第3の実行時間は適切でないが、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースの作成不成功を示す応答内に持たれる更新された第3の実行時間を使用し、第3のトランザクション・リソースは正常に作成可能であることをアプリケーション・サーバに通知するように、第3のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信し、この応答は、更新された第3の実行時間を持っている。
この実施形態の技術的解決策について、さらに説明するために、本明細書では、インテリジェント灌漑の前述の例が、依然として説明のために使用される。
アプリケーション・サーバは、弁1、弁2、及び弁3にトランザクション・リソース作成要求をそれぞれ送信する。弁1に送信されるトランザクション・リソース作成要求は、第3のトランザクション・リソース作成要求である。弁2に送信されるトランザクション・リソース作成要求は、第4のトランザクション・リソース作成要求である。弁3に送信されるトランザクション・リソース作成要求は、別の第4のトランザクション・リソース作成要求である。アプリケーション・サーバによって3つの弁に送信されるトランザクション・リソース作成要求内の実行時間はすべて12:00であり、トランザクション・リソース作成要求はそれぞれ、異なる弁を調整するための要求を含む。弁1に送信される第3のトランザクション・リソース作成要求は、弁1の開放度を20%に調整するための要求である。弁2に送信される第4のトランザクション・リソース作成要求は、弁2の開放度を30%に調整するための要求である。弁3に送信される第4のトランザクション・リソース作成要求は、弁3の開放度を40%に調整するための要求である。
弁1を一例として使用すると(弁2及び弁3によって実行される動作については、弁1を参照されたい)、弁1は、最初に、アプリケーション・サーバが第3のトランザクション・リソースを作成する権利を有するかどうかをチェックし、次いで、第3のトランザクション・リソース作成要求に含まれる第3の実行されるべき動作をチェックする。第3の実行されるべき動作の内容は、弁1を20%に調整することである。弁1は、さらに、アプリケーション・サーバが弁1上の動作させられるべきリソースを調整する権利を有するかどうかをチェックし、20%が弁の調整範囲に適合するかどうかをチェックする。最後に、弁1は、第3のトランザクション・リソース作成要求内で提供される第3の実行時間及び弁1の休止時間にしたがって、それは、(4)の内容に適合しないので、第3のトランザクション・リソースは正常に作成されることはできないが、12:01に正常に作成可能であると結論する。したがって、弁1は、第3のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信し、この応答は、更新された第3の実行される時間(すなわち、12:01)を持つ。この例では、弁2及び弁3の第4のトランザクション・リソースが正常に作成可能である、すなわち、弁2及び弁3によって受信される第4のトランザクション・リソース作成要求は前述の(1)から(4)の内容に適合すると仮定して、弁2及び弁3は、弁2及び弁3の第4のトランザクション・リソースが正常に作成されることをアプリケーション・サーバに通知するように、対応するトランザクション・リソースの作成成功についての応答をアプリケーション・サーバに送信し、この応答は、それぞれ弁2及び弁3によって作成された第4のトランザクション・リソースの識別子を持つ。
現在、アプリケーション・サーバは、第3のトランザクション・リソースの作成不成功についての弁1によって送信された応答を受信し、この応答は、更新された第3の実行時間を持っているので、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を弁2及び弁3に送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求であってよい。選択的に、更新要求は、第4の実行されるべき動作をさらに持ってよい。さらに、アプリケーション・サーバは、新しい第3のトランザクション・リソース作成要求を弁1にさらに送信し、この新しい第3のトランザクション・リソース作成要求は、更新された第3の実行時間を持ち、選択的に、第3の実行されるべき動作をさらに持ってよい。
弁1が新しい第3のトランザクション・リソース作成要求を受信すると、弁1は、(1)から(4)の内容も実行し得る。弁1は、第3の実行されるべき動作が(1)から(3)の内容に適合するということを決定したので、新しい第3のトランザクション・リソース作成要求に持たれる第3の実行されるべき動作は変更されず、弁1は、更新された第3の実行時間が(4)の内容に適合するかどうかを直接決定し得る。さらに、更新された第3の実行時間は、弁1の作業状態にしたがって弁1によってアプリケーション・サーバに推奨された時間であるので、更新された第3の実行時間は、第3のトランザクション・リソースの作成成功を保証し得る時間である。弁2及び弁3も、アプリケーション・サーバによって送信された更新要求を受信すると、前述の(1)から(4)の内容を実行する。弁2及び弁3はそれぞれ、それらの第4の実行されるべき動作が(1)から(3)の内容に適合するということを決定し、更新要求内で持たれる第4の実行されるべき動作は変更されないので、弁2及び弁3も、更新された第3の実行時間が(4)の内容に適合するかどうかを直接決定し得る。弁2が、受信された更新要求内の更新された第3の実行時間が(4)の内容に適合する、すなわち、弁2上の第4のトランザクション・リソースは正常に更新され得るということを決定すると仮定して、及び弁3が、受信された更新要求内の更新された第3の実行時間が(4)の内容に適合しないということを決定する、すなわち、弁3が、更新された第3の実行時間が到来したとき弁3は休止状態に入っており、作業を再開する時間が不確定であるということを決定すると仮定して、弁3上の第4のトランザクション・リソースは正常に作成されることはできず、弁3は、すでに、いかなるトランザクション・リソースの作成もローカルにサポートすることはできない。したがって、弁3は、第2のトランザクションの第4のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信し、弁3がすでにいかなるトランザクション・リソースの作成もサポートすることはできないことをアプリケーション・サーバに通知する。
この場合、弁1上の新しい第3のトランザクション・リソースは正常に作成されており、弁2上の第4のトランザクション・リソースは正常に更新されているが、更新された第3の実行時間が到来する前に、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースの作成不成功についての弁3によって送信された応答を受信しており、弁3はすでにいかなるトランザクション・リソースの作成もサポートすることはできないことを知っているので、アプリケーション・サーバは、弁1上の新しい第3のトランザクション・リソース及び弁2上の更新された第4のトランザクション・リソースを削除して、トランザクションの原子性を確保するように、弁1及び弁2に削除要求を送信する。したがって、アプリケーション・サーバ上の現在の第2のトランザクションは、正常に実行されることはできない。
弁1が新しい第3のトランザクション・リソース作成要求を受信したとき、弁1が、新しい第3のトランザクション・リソース作成要求にしたがって新しい第3のトランザクション・リソースを正常に作成した場合、弁2及び弁3は、更新要求内の更新された第3の実行時間にしたがって第4のトランザクション・リソースを正常に更新し、更新された第3の実行時間が到来する前は、弁1、弁2、及び弁3のいずれも、アプリケーション・サーバによって送信された処理要求を受信せず、更新された第3の実行時間が到来すると、弁1、弁2、及び弁3は、新しい第3のトランザクション・リソースと、更新された第4のトランザクション・リソースを同時に実行する。
本発明のこの実施形態による分散トランザクション・リソースを実行するための方法では、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソース作成要求にしたがって第3のトランザクション・リソースを作成するのに失敗したとき、第1の管理対象オブジェクト・デバイスは、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信し、第3のトランザクション・リソースの作成不成功を示す応答は、更新された第3の実行時間を持ち、したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。さらに、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を第2の管理対象オブジェクト・デバイスに送信する。処理要求が、更新された第3の実行時間を持っている更新要求であるとき、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスは、更新された第3の実行時間にしたがって、デバイスによって作成されたトランザクション・リソースをそれぞれ処理し、更新された第3の実行時間が到来したとき、それらの現在のトランザクション・リソースが同時に実行可能であることを保証することができる。
実際のM2Mシステムでは、管理対象オブジェクト・デバイスにある動作させられるべきリソースに対して、通常、既存のトランザクション・リソースがまだ実行されないとき、新しいトランザクション・リソース作成要求が再度送信され、この場合、動作させられるべきリソースに対するトランザクション・リソース・キューが形成される。したがって、図3に示される前述の実施形態に基づいて、本発明のこの実施形態の第2の可能な実装方法では、本発明のこの実施形態は、管理対象オブジェクト・デバイス上の同時発生するトランザクション・リソースを処理するシナリオ、すなわち、トランザクション・リソース・キューが管理対象オブジェクト・デバイスに存在するシナリオに適用される。この実施形態は、第1の管理対象オブジェクト・デバイスが第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを作成するのに失敗する特定のプロセスに関する。図4を参照すると、前述のS203は、具体的には、以下のステップを含み得る。
S301。第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在するということを決定し、この第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
第1の管理対象オブジェクト・デバイスによって実行される動作と第2の管理対象オブジェクト・デバイスによって実行される動作は類似しているので、以下の技術的解決策では、第1の管理対象オブジェクト・デバイスが、主な説明される対象として使用される。第4のトランザクション・リソース作成要求が受信された後で第2の管理対象オブジェクト・デバイスによって実行される動作については、第3のトランザクション・リソース作成要求が受信された後で第1の管理対象オブジェクト・デバイスによって実行される動作を参照されたい。
具体的には、第1の管理対象オブジェクト・デバイスが、第2のトランザクションについてアプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信した後、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内に持たれる第1の動作させられるべきリソースの識別子にしたがって、第1の動作させられるべきリソースに対応する第1のトランザクション・リソース・キューが存在するかどうかを決定する。第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含み、第1のトランザクション・リソース・キューの中のトランザクション・リソースは、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間にしたがって並べられる。第1の管理対象オブジェクト・デバイスが、第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在しないということを決定した場合、第1の管理対象オブジェクト・デバイスは、図1に示される実施形態1における又は図3に示される実施形態の第1の可能な実装方法における技術的解決策による実行を実行し得る。詳細は、本明細書では、再度説明されない。第1のトランザクション・リソース・キューが存在することが決定された場合、ステップ302が実行される。
S302。第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが、あらかじめ設定されたリソース作成条件を満たさないということを決定する。
具体的には、第1の管理対象オブジェクト・デバイスが、第1の動作させられるべきリソースの識別子にしたがって、第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在するということを決定すると、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内の第3の実行時間及び第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間にしたがって構成及び比較を実行し、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置を決定する。第1の管理対象オブジェクト・デバイスが現在、第3のトランザクション・リソースを正常に作成していないことが留意されるべきである。本明細書では、第3のトランザクション・リソースは、作成予定トランザクション・リソースである。
さらに、第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の管理対象オブジェクト・デバイスにある第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが、あらかじめ設定されたリソース作成条件を満たさないということを決定し得る、すなわち、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信する。第1の動作させられるべきリソースの状態は、具体的には、第1のトランザクション・リソース・キューの中の少なくとも1つのトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態である。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースはあらかじめ設定されたリソース作成条件を満たさないということを決定することは、具体的には、以下の2つの場合A及びBを含み得る。
A。第3の実行時間が、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新される場合、第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の管理対象オブジェクト・デバイスの第1の動作させられるべきリソースの状態にしたがって、あらかじめ設定されたリソース作成条件が満たされないということを決定する。第1の管理対象オブジェクト・デバイスは、アプリケーション・サーバに第1の失敗応答を送信する。
選択的に、第1のトランザクション・リソース・キューに含まれる1つのトランザクション・リソースが予約状態であり、第1のトランザクション・リソース・キューの中の第1の位置に配置されたトランザクション・リソースが予約状態であるとき、第1の管理対象オブジェクト・デバイスは、第3の実行時間が、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新されるとき、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、あらかじめ設定されたリソース作成条件が満たされないということを決定する。具体的には、以下の3つのケースa、b、及びcが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、a、b、及びcにおいて説明される内容を参照されたいことが留意されるべきである。さらに、あらかじめ設定されたリソース作成条件は、前述の実施形態における(1)から(4)の内容と異なる。たとえば、以下のあらかじめ設定されたリソース作成条件aでは、第3のトランザクション・リソースがキューの中の第1の位置に配置されると、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中の他の任意の位置に挿入される場合、第3のトランザクション・リソースが正常に実行されることはできないということを決定する。この条件が満たされる限り、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定する。しかしながら、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中の他の任意の位置に配置されたときに第3のトランザクション・リソースが正常に実行可能であるかどうかをどのようにして具体的に決定するかについては、具体的な決定ステップは、前述の実施形態における(1)から(4)の内容による決定であってよい。
a。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入する位置の前に、第1のトランザクション・リソース・キューの中のトランザクション・リソースが存在しないことが決定される場合、及び、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースの第3の実行時間を、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新する場合(すなわち、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースを第1のトランザクション・リソース・キューの中の他の任意の位置に挿入する場合)、第1の管理対象オブジェクト・デバイスは、第3の実行時間が到来したとき、第3のトランザクション・リソースが正常に実行されることはできないということを決定する。すなわち、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースのステータスにしたがって、第3のトランザクション・リソースが予約状態に切り換えられることはできないということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイスに正常に作成された第4のトランザクション・リソースを削除するために使用される。
本発明のこの実施形態におけるトランザクション・リソースは、実行時間に正常に実行されることはできないことが留意されるべきであり、トランザクション・リソースは予約状態に切り換えられることはできないことも理解され得る。さらに、上記で説明されたように、ケースaでは、前述の第1の動作させられるべきリソースの状態は、第1のトランザクション・リソース・キューの中の任意の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態である。
b。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースが、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前と後の両方に存在することが決定された場合、第1の管理対象オブジェクト・デバイスは、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定し、この第3の位置は、第3のトランザクション・リソースを第1のトランザクション・リソース・キュー内に挿入するための位置に隣接する、前の位置である。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行されることはできないということを決定した場合、及び、第3のトランザクション・リソースの第3の実行時間が、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新される場合(すなわち、第3のトランザクション・リソースを、第1のトランザクション・リソース・キューの中の他の任意の位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが同じく正常に実行されることはできないということを決定する。すなわち、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の状態に基づいて、第3のトランザクション・リソースは、予約状態に切り換えられることはできない。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイスに正常に作成された第4のトランザクション・リソースを削除するために使用される。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定し、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第1のトランザクション・リソース・キューの中の第4の位置にあるトランザクション・リソースが正常に実行されることはできないということを決定し(第4の位置は、第3のトランザクション・リソースを第1のトランザクション・リソース・キューの中の挿入するための位置に隣接する、次の位置である)、第3のトランザクション・リソースの第3の実行時間を、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新するということを決定した場合(すなわち、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中の他の任意の位置に挿入されるということを決定するとき)、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが同じく正常に実行されることはできないということを決定する。すなわち、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の状態に基づいて、第3のトランザクション・リソースは、予約状態に切り換えられることはできない。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイスに正常に作成された第4のトランザクション・リソースを削除するために使用される。
上記で説明されたように、ケースbでは、前述の第1の動作させられるべきリソースの状態は、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る。第1の動作させられるべきリソースのステータスは、異なるケースにより決定される。
c。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースは、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前に存在するが、第1のトランザクション・リソース・キューの中のトランザクション・リソースが、挿入位置の後には存在しないことが決定される場合、第1の管理対象オブジェクト・デバイスは、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定する。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行されることはできないということを決定し、第3のトランザクション・リソースの第3の実行時間を、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新するということを決定する場合(すなわち、第3のトランザクション・リソースを、第1のトランザクション・リソース・キューの中の他の任意の位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが同じく正常に実行されることはできないということを決定する。すなわち、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の状態に基づいて、第3のトランザクション・リソースは、予約状態に切り換えられることはできない。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイスに正常に作成された第4のトランザクション・リソースを削除するために使用される。
上記で説明されたように、ケースcでは、前述の第1の動作させられるべきリソースの状態は、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
選択的に、第1のトランザクション・リソース・キューに含まれる少なくとも2つのトランザクション・リソースが予約状態である場合、第1の管理対象オブジェクト・デバイスは、第3の実行時間が、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新されるとき、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、あらかじめ設定されたリソース作成条件が満たされないということを決定する。具体的には、以下の2つのケースd及びeが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、d及びeにおいて説明される決定条件を参照されたいことが留意されるべきである。
d。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の後の第1のトランザクション・リソース・キューの中の予約状態の他のトランザクション・リソースのいずれも実行不可能であること、又は、それらのうちの1つが正常に実行されることはできないということを決定し、第3のトランザクション・リソースの第3の実行時間を、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新するということを決定する場合(すなわち、第3のトランザクション・リソースを、第1のトランザクション・リソース・キューの中の他の任意の位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の他の任意の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、他の任意の位置の後の予約状態のトランザクション・リソースのいずれも同じく正常に実行されることはできないこと、又は、それらのうちの1つが正常に実行されることはできないということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイスに正常に作成された第4のトランザクション・リソースを削除するために使用される。
上記で説明されたように、ケースdでは、前述の第1の動作させられるべきリソースの状態は、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第1のトランザクション・リソース・キューの中の他の任意の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
e。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の後の予約状態内の他の任意のトランザクション・リソースが正常に実行可能であるということを決定する場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の他の任意のトランザクション・リソースが挿入位置の前に存在するかどうかをさらに決定する。
第1のトランザクション・リソース・キューの中の別のトランザクション・リソースが、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前に存在する場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の挿入位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定する。そうでない場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する。そうでない場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースの実行時間が第1のトランザクション・リソース内の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新される場合、第3のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する(すなわち、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中の他の任意の位置に挿入される場合、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定する)。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中の他の任意の位置に挿入される場合、第3のトランザクション・リソースが正常に実行されることはできないということを決定するとき、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第1の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信する。この処理要求は、第4のトランザクション・リソースの識別子を持つ削除要求であり、この削除要求は、第2の管理対象オブジェクト・デバイス上で正常に作成された第4のトランザクション・リソースを削除するために使用される。
上記で説明されたように、ケースeでは、前述の第1の動作させられるべきリソースの状態は、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、前述の決定された挿入位置の前の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第1のトランザクション・リソース・キューの中の任意の他の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
要約すると、すべての前述の5つのケースa、b、c、d、及びeは、第1の管理対象オブジェクト・デバイスが、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースの第3の実行時間が、第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新されるとき、あらかじめ設定されたリソース作成条件が満たされないということを決定するケースである。
B。第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の管理対象オブジェクト・デバイスの第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが、あらかじめ設定されたリソース作成条件を満たさないということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、あらかじめ設定されたリソース作成条件にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新する(すなわち、時間が、第3のトランザクション・リソースに、あらかじめ設定されたリソース作成条件を満たさせる)。第1の管理対象オブジェクト・デバイスは、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信する。
選択的に、第1のトランザクション・リソース・キューに含まれる1つのトランザクション・リソースが予約状態であり、第1のトランザクション・リソース・キューの中の第1の位置に配置されたトランザクション・リソースが予約状態であるとき、第1の管理対象オブジェクト・デバイスは、第3の実行時間が、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間に更新されるとき、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、あらかじめ設定されたリソース作成条件が満たされるということを決定する。具体的には、以下の3つのケースf、g、及びhが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、f、g、及びhにおいて説明される決定条件を参照されたいことが留意されるべきである。
f。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースが、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入する位置の前に存在しないことが決定され、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースの第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定した場合(すなわち、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中のある位置に挿入されるということを決定した場合)、第1の管理対象オブジェクト・デバイスは、その位置におけるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
上記で説明されたように、ケースfにおける第1の動作させられるべきリソースの状態は、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中のある位置に挿入される場合、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態であり得る(トランザクション・リソースの実行は、第3のトランザクション・リソースの実行成功を保証することを必要とする)。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
g。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースが、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前と後の両方に存在することが決定された場合、第1の管理対象オブジェクト・デバイスは、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定し、この第3の位置は、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置に隣接する、前の位置である。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行されることはできないということを決定し、第3のトランザクション・リソースの第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定する場合(すなわち、第3のトランザクション・リソースを、第1のトランザクション・リソース・キューの中のある位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定し、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第1のトランザクション・リソース・キューの中の第4の位置にあるトランザクション・リソースが正常に実行されることはできない(第4の位置は、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置に隣接する、次の位置である)ということを決定し、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースの第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新する場合(すなわち、第3のトランザクション・リソースを第1のトランザクション・リソース・キューの中のある位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが実行されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
上記で説明されたように、ケースgにおける第1の動作させられるべきリソースの状態は、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが、第1のトランザクション・リソース・キューの中のある位置に挿入される場合、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る(トランザクション・リソースの実行は、第3のトランザクション・リソースの実行成功を保証することを必要とする)。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
h。第3の実行時間にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースは、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前に存在するが、第1のトランザクション・リソース・キューの中のトランザクション・リソースが、挿入位置の後には存在しないことが決定される場合、第1の管理対象オブジェクト・デバイスは、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定する。
第1の管理対象オブジェクト・デバイスが、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行されることはできないということを決定し、第3のトランザクション・リソースの第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定する場合(すなわち、第3のトランザクション・リソースを、第1のトランザクション・リソース・キューの中のある位置に挿入するとき)、第1の管理対象オブジェクト・デバイスは、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
ケースhにおける第1の動作させられるべきリソースの状態は、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中のある位置に挿入される場合、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る(トランザクション・リソースの実行は、第3のトランザクション・リソースの実行成功を保証することを必要とする)ことが留意されるべきである。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
選択的に、第1のトランザクション・リソース・キューに含まれる少なくとも2つのトランザクション・リソースが予約状態である場合、第1の管理対象オブジェクト・デバイスは、第3の実行時間が、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも任意の時間に更新されるとき、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、あらかじめ設定されたリソース作成条件が満たされるということを決定する。具体的には、以下の2つのケースi及びjが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、i及びjにおいて説明される決定条件を参照されたいことが留意されるべきである。
i。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の後の第1のトランザクション・リソース・キューの中の予約状態の他のトランザクション・リソースのいずれも実行されることができない、又はそれらのいずれも正常に実行されることができないということを決定し、第3のトランザクション・リソースの第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定する場合(すなわち、第3のトランザクション・リソースを第1のトランザクション・リソース・キューの中のある位置に挿入するとき)、第1のトランザクション・リソース・キューの中の時間の後の予約状態にあるすべてのトランザクション・リソースは正常に実行可能である(すなわち、第1の管理対象オブジェクト・デバイスは、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、その位置の後の第1のトランザクション・リソース・キューの中の予約状態のすべてのトランザクション・リソースが正常に実行可能であるということを決定する)。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
ケースiにおける第1の動作させられるべきリソースの状態は、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中のある位置に挿入される場合、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る(トランザクション・リソースの実行は、その位置の後の第1のトランザクション・リソース・キューの中の予約状態のすべてのトランザクション・リソースの実行成功を保証することを必要とする)ことが留意されるべきである。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
j。第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの現在の状態にしたがって、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の後の予約状態内の他の任意のトランザクション・リソースが正常に実行可能であるということを決定する場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の他の任意のトランザクション・リソースが挿入位置の前に存在するかどうかをさらに決定する。
第1のトランザクション・リソース・キューの中の別のトランザクション・リソースが、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前に存在する場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の挿入位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかを決定する。そうでない場合、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース・キューの中の第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する。そうでない場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースの実行時間が、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間に更新されるとき、第3のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する(すなわち、第3のトランザクション・リソースが、第1のトランザクション・リソース・キューの中のある位置に挿入される場合、第1の管理対象オブジェクト・デバイスは、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが正常に実行可能であるということを決定する)。この場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信し、したがって、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を、第4のトランザクション・リソース作成要求を受信する第2の管理対象オブジェクト・デバイスに送信し、この処理要求は、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持つ更新要求である。したがって、アプリケーション・サーバは、新しい第3のトランザクション・リソースを作成するように、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1のトランザクション・リソース・キュー内で第1の管理対象オブジェクト・デバイスによって新しい第3のトランザクション・リソースを正常に作成する時間である。
ケースiにおける第1の動作させられるべきリソースの状態は、第3のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースを挿入するための位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得るし、第3のトランザクション・リソースが第1のトランザクション・リソース・キューの中のある位置に挿入された場合、その位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態でもあり得る(トランザクション・リソースの実行は、第3のトランザクション・リソースの実行成功を保証することを必要とする)ことが留意されるべきである。第1の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
要約すると、すべての前述の5つのケースf、g、h、i、及びjは、第1の管理対象オブジェクト・デバイスが、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースの第3の実行時間が、第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースの実行時間よりも遅い時間に更新されるとき、あらかじめ設定されたリソース作成条件が満たされるということを決定するケースである。
図3に示される前述の実施形態に基づいて、本発明のこの実施形態の第3の可能な実装方法では、本発明のこの実施形態は、管理対象オブジェクト・デバイス上の同時発生するトランザクション・リソースを処理するシナリオ、すなわち、トランザクション・リソース・キューが管理対象オブジェクト・デバイスに存在するシナリオにも適用される。この実施形態は、第2の管理対象オブジェクト・デバイスが第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを正常に作成する特定のプロセスに関する。図5を参照すると、前述のS204は、具体的には、以下のステップを含み得る。
S401。第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイスに存在するということを決定し、第2のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
具体的には、アプリケーション・サーバによって送信される第4のトランザクション・リソース作成要求を受信した後、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューが存在するかどうかを決定する。第2のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含み、第2のトランザクション・リソース・キューの中のトランザクション・リソースは、第2のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間にしたがって並べられる。第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイスに存在しないということを決定した場合、第2の管理対象オブジェクト・デバイスは、図1に示される実施形態1の技術的解決策又は図3に示される実施形態の第1の可能な実装方法による実行を実行し得る。詳細は、本明細書では、再度説明されない。第2のトランザクション・リソース・キューが存在することが決定された場合、ステップ402が実行される。
S402。第2の管理対象オブジェクト・デバイスは、第4の実行時間及び第2の管理対象オブジェクト・デバイスの第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第4のトランザクション・リソースを作成する。
具体的には、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューが存在するということを決定すると、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソース作成要求内の第4の実行時間及び第2のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間にしたがって構成及び比較を実行し、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置を決定する。第2の管理対象オブジェクト・デバイスが現在、第4のトランザクション・リソースを正常に作成していないことが留意されるべきである。本明細書では、第4のトランザクション・リソースは、作成予定トランザクション・リソースである。
さらに、第2の管理対象オブジェクト・デバイスは、第4の実行時間及び第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第4のトランザクション・リソースを作成して、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。この応答は、第4のトランザクション・リソースの識別子を持つ。具体的には、以下の2つのケースC及びDが含まれ得る。
C。第2のトランザクション・リソース・キューに含まれる1つのトランザクション・リソースが予約状態であり、第2のトランザクション・リソース・キューの中の第1の位置に配置されたトランザクション・リソースが予約状態であるとき、第2の管理対象オブジェクト・デバイスは、第4の実行時間及び第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第4のトランザクション・リソースを作成する。具体的には、以下の2つのケースk及びlが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、k及びlにおいて説明される決定条件を参照されたいことが留意されるべきである。
k。第4の実行時間にしたがって、第2のトランザクション・リソース・キューの中のトランザクション・リソースが、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の前と後の両方に存在することが決定された場合、第2の管理対象オブジェクト・デバイスは、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるかどうかを決定し、この第1の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置に隣接する、前の位置である。
第2の管理対象オブジェクト・デバイスが、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるということを決定し、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の第2の位置にあるトランザクション・リソースも正常に実行可能であるということを決定する場合(第2の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置に隣接する、次の位置である)、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答内で持たれる第4のトランザクション・リソースの状態は半予約状態であり、応答は、第4のトランザクション・リソースの識別子を持つ。
選択的に、第4のトランザクション・リソースが正常に作成された後、第4の実行時間が到来すると、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースに含まれる第4の実行されるべき動作を実行し、実行された第4のトランザクション・リソースをキューから削除し、次のトランザクション・リソース(すなわち、第2の位置にあるトランザクション・リソース)を半予約状態から予約状態に切り換えて、第2の位置にあるトランザクション・リソースが予約状態に切り換えられたことをアプリケーション・サーバに通知する。
上記で説明されたように、ケースkでは、第2の動作させられるべきリソースの状態は、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得るし、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得る。第2の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
l。第4の実行時間にしたがって、第2のトランザクション・リソース・キューの中のトランザクション・リソースが、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の前に存在すること、及び第2のトランザクション・リソース・キューの中のトランザクション・リソースは、挿入位置の後には存在しないことが決定される場合、第2の管理対象オブジェクト・デバイスが、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるということを決定すると、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答内に持たれる第4のトランザクション・リソースの状態は半予約状態であり、応答は、第4のトランザクション・リソースの識別子を持つ。
上記で説明されたように、ケースlでは、第2の動作させられるべきリソースの状態は、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態であり得る。
D。第2のトランザクション・リソース・キューに含まれる少なくとも2つのトランザクション・リソースが予約状態であるとき、第2の管理対象オブジェクト・デバイスは、第4の実行時間及び第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第4のトランザクション・リソースを作成する。具体的には、以下の3つのケースm、n、及びpが含まれ得る。あらかじめ設定されたリソース作成条件についての詳細については、m、n、及びpにおいて説明される決定条件を参照されたいことが留意されるべきである。
m。第2の管理対象オブジェクト・デバイスが、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の後の予約状態の他の任意のトランザクション・リソースが正常に実行可能であるということを決定し、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューの中の他のトランザクション・リソースが挿入位置の前には存在しないということを決定する場合、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答内で持たれる第4のトランザクション・リソースの状態は予約状態であり、応答は、第4のトランザクション・リソースの識別子を持つ。
上記で説明されたように、ケースmでは、第2の動作させられるべきリソースの状態は、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態であり得る。
n。第2の管理対象オブジェクト・デバイスが、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の後の第2のトランザクション・リソース・キューの中の予約状態の他の任意のトランザクション・リソースが正常に実行可能であるということを決定し、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューの中の別のトランザクション・リソースが挿入位置の前に存在するということを決定する場合、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の挿入位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する。そうである場合、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答内に持たれる第4のトランザクション・リソースの状態は予約状態であり、応答は、第4のトランザクション・リソースの識別子を持つ。
上記で説明されたように、ケースnでは、第2の動作させられるべきリソースの状態は、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得るし、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得る。第2の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
p。第2の管理対象オブジェクト・デバイスが、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の後の第2のトランザクション・リソース・キューの中の予約状態の他の任意のトランザクション・リソースが正常に実行可能であるということを決定し、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューの中の別のトランザクション・リソースが挿入位置の前に存在するということを決定する場合、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の挿入位置の前に存在するトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する。そうでない(すなわち、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の挿入位置の前に存在するトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースのステータスにしたがって、第4のトランザクション・リソースは正常に実行されることはできないということを決定する)場合、第2の管理対象オブジェクト・デバイスは、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるかどうかをさらに決定する。第2の管理対象オブジェクト・デバイスが、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースが正常に実行可能であるということを決定する場合、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答内に持たれる第4のトランザクション・リソースの状態は半予約状態であり、応答は、第4のトランザクション・リソースの識別子を持つ。
上記で説明されたように、ケースpでは、第2の動作させられるべきリソースの状態は、第4のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得るし、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置の前に存在する他のトランザクション・リソース内の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得るし、第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態でもあり得る。第2の動作させられるべきリソースの状態の内容は、異なるケースにより決定される。
要約すると、すべての前述の5つのケースk、l、m、n、及びpは、第2の管理対象オブジェクト・デバイスが、第4の実行時間及び第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定するケースである。
図3に示される前述の実施形態に基づいて、本発明のこの実施形態の第4の可能な実装方法では、この実施形態は、第2のトランザクションの第4のトランザクション・リソースに対する第2の管理対象オブジェクト・デバイスによって受信される処理要求が、第4のトランザクション・リソースの識別子及び更新された第3の実行時間を持っている更新要求であるとき、第2の管理対象オブジェクト・デバイスが、この更新要求にしたがって第4のトランザクション・リソースを処理する特定のプロセスに関する。前述のS206は、具体的には、以下を含む。第2の管理対象オブジェクト・デバイスが、更新された第3の実行時間にしたがって第4のトランザクション・リソースを正常に更新し、更新が成功した後に、更新成功応答メッセージをアプリケーション・サーバに返送する、又は、更新された第3の実行時間にしたがって第4のトランザクション・リソースを更新するのに失敗し、更新失敗応答メッセージをアプリケーション・サーバに返送する。
具体的には、更新要求を受信した後、第2の管理対象オブジェクト・デバイスは、第2の管理対象オブジェクト・デバイスによって正常に作成された第4のトランザクション・リソースを処理する。以下の2つのケースq及びsが含まれ得る。
q。第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイスに存在しない、すなわち、第2の管理対象オブジェクト・デバイスにある第2の動作させられるべきリソースは現在、別のトランザクションのトランザクション・リソースと関連付けられていないが、第4のトランザクション・リソースのみと関連付けられているということを決定すると、第2の管理対象オブジェクト・デバイスは、更新された第3の実行時間が前述の(4)の内容に適合しないかどうかを決定する、すなわち、第2の管理対象オブジェクト・デバイスは、更新された第3の実行時間が第2の管理対象オブジェクト・デバイスの休止期間内に含まれるかどうかを決定する。更新された第3の実行時間が、依然として、第2の管理対象オブジェクト・デバイスの作業時間である場合、第2の管理対象オブジェクト・デバイスは直接、正常に作成された第4のトランザクション・リソースの第4の実行時間を更新された第3の実行時間に更新し、更新成功応答メッセージをアプリケーション・サーバに送信する。更新された第3の実行時間が、依然として、第2の管理対象オブジェクト・デバイスの休止時間である場合、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが更新されるのに失敗したということを決定し、更新失敗応答メッセージをアプリケーション・サーバに送信する。
r。第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイスに存在するということを決定すると、第2の管理対象オブジェクト・デバイスは、更新された第3の実行時間を持っている更新要求を受信した後で、以前に正常に作成された第4のトランザクション・リソースを第2のトランザクション・リソース・キューから削除し、次いで、更新された第3の実行時間を新しい第4のトランザクション・リソースの実行時間として使用する。第2の管理対象オブジェクト・デバイスは、新しい第4のトランザクション・リソースの実行時間及び対応する第2の動作させられるべきリソースの状態にしたがって、新しい第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、更新された第3の実行時間にしたがって、新しい第4のトランザクション・リソースを作成し、更新成功応答をアプリケーション・サーバに送信する。すなわち、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイスに存在するということを決定すると、更新要求が受信された後で第2の管理対象オブジェクト・デバイスによって実行される動作は、実際には、新しいトランザクション・リソースを再度作成する動作である。具体的な実行プロセスについては、前述のaからrにおいて説明される具体的な解決策を参照されたい。
第2の管理対象オブジェクト・デバイスが、更新要求にしたがって、第4のトランザクション・リソースの第4の実行時間を更新された第3の実行時間に正常に更新する場合、第1の管理対象オブジェクト・デバイスは、新しい第3のトランザクション・リソース作成要求内に持たれる更新された第3の実行時間にしたがって、新しい第3のトランザクション・リソースを正常に作成し(さらに、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスによってアプリケーション・サーバに送信される第2のトランザクションのトランザクション・リソースの作成成功についての応答内に持たれるトランザクション・リソースの状態は両方とも、予約状態である)、更新された第3の実行時間が到来する前には、アプリケーション・サーバは処理要求を送信せず、更新された第3の実行時間が到来すると、第1の管理対象オブジェクト・デバイスと第2の管理対象オブジェクト・デバイスは、デバイスによって実行される予定の動作を同時に実行する。
図3に示される前述の実施形態に基づいて、本発明のこの実施形態の第5の可能な実装方法では、この実施形態は、第2のトランザクションの第4のトランザクション・リソースに対する第2の管理対象オブジェクト・デバイスによって受信される処理要求が、第4のトランザクション・リソースの識別子を持つ削除要求であるとき、第2の管理対象オブジェクト・デバイスが、この削除要求にしたがって第4のトランザクション・リソースを処理する特定のプロセスに関する。図6に示されるように、前述のS206は、具体的には、以下を含む。
S501。第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースの識別子にしたがって、第2の管理対象オブジェクト・デバイスにある第4のトランザクション・リソースを削除する。
S502。第2の管理対象オブジェクト・デバイスは、削除応答をアプリケーション・サーバに送信する。
具体的には、以下の2つのケースs及びtが含まれ得る。
s。第2のトランザクション・リソース・キューの中の1つのトランザクション・リソースが予約状態であるとき、第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスは、決定動作を実行し、決定結果を取得する。決定動作は、以下を含む。第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定する(すなわち、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行される後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが予約状態に入ることができるかどうかを決定する)。第1の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置に隣接する、前の位置であり、第2の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースを挿入するための位置に隣接する、次の位置である。
第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが正常に実行されるということを決定する場合、第2の管理対象オブジェクト・デバイスは、第1の削除応答をアプリケーション・サーバに送信し、第1の位置にあるトランザクション・リソースが実行された後に、第2の位置にあるトランザクション・リソースの状態を予約状態へと更新し、第2の位置にあるトランザクション・リソースがすでに予約状態であることをアプリケーション・サーバに通知する。
第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスが、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが実行されるのに失敗するということを決定する場合、第2の管理対象オブジェクト・デバイスは、第2の位置にあるトランザクション・リソースを削除し、第2の位置にあるトランザクション・リソースが削除されていることをアプリケーション・サーバに通知する。第2の管理対象オブジェクト・デバイスは、第2の位置にある削除されたトランザクション・リソースが第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースであるかどうかをさらに決定する。第2の位置にあるトランザクション・リソースが第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースでないことが決定される場合、第2の管理対象オブジェクト・デバイスは、第2の位置の次の位置を新しい第2の位置として使用して、新しい第2の位置にあるトランザクション・リソース上で前述の決定動作を実行する。第2の位置にあるトランザクション・リソースが第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースであることが決定される場合、トランザクション・リソース削除手順が終了される。
本明細書では、単純な例が、説明のために使用され得る。第2のトランザクション・リソース・キューが4つのトランザクション・リソース、すなわち、T1と、T2と、T3と、T4とを含むことが仮定される。第4のトランザクション・リソースがT1とT2との間に挿入され、第4のトランザクション・リソースがT5であると仮定される。表1に示されるように、T1は予約状態であるが、T2、T3、及びT4は半予約状態である。
第2の管理対象オブジェクト・デバイスがT5を第2のトランザクション・リソース・キューから削除した後、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが予約状態に切り換え可能であるということを決定することが必要である、すなわち、第2の管理対象オブジェクト・デバイスは、T5の前のT1が実行された後の第2の動作させられるべきリソースの状態にしたがって、T2が予約状態に切り換え可能であるかどうかを決定することが必要である。そうである場合、第2の管理対象オブジェクト・デバイスは、第1の削除応答をアプリケーション・サーバに送信し、T1が実行された後にT2の状態を予約状態に更新して、T2がすでに予約状態であることをアプリケーション・サーバに通知する。そうでない場合、第2の管理対象オブジェクト・デバイスは、T2を削除し、T2が削除されたことをアプリケーション・サーバに通知することも必要である。さらに、第2の管理対象オブジェクト・デバイスは、削除されたT2が第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースであるかどうかを決定することも必要である。T2が第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースでないことが決定される場合、第2の管理対象オブジェクト・デバイスは、T1が実行された後の(この場合、T5及びT2が削除されている)第2の動作させられるべきリソースの状態にしたがって、T3が予約状態に切り換え可能であるかどうかを引き続き決定する。そうである場合、第2の管理対象オブジェクト・デバイスは、第1の削除応答をアプリケーション・サーバに送信し、T1が実行された後にT3の状態を予約状態に更新して、T3がすでに予約状態であることをアプリケーション・サーバに通知する。そうでない場合、第2の管理対象オブジェクト・デバイスは、T3を削除し、T3が削除されたことをアプリケーション・サーバに通知することも必要である。さらに、削除されたトランザクション・リソースが第2のトランザクション・リソース・キューの中の最後のトランザクション・リソースであることが決定されるまで、第2の管理対象オブジェクト・デバイスは、削除されたT3が第2のトランザクション・リソース内の最後のトランザクション・リソースであるかどうかを決定し、以下同様であることも必要であり、次いで、削除手順が終了される。
第2のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースが予約状態である場合、第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすか否かを決定する。
第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスが、第4のトランザクション・リソースが削除された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすということを決定した場合、すなわち、第4のトランザクション・リソースが削除された後、第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソースが削除された後の第2の動作させられるべきリソースのステータスにしたがって(すなわち、第4のトランザクション・リソースが削除された後、第2の管理対象オブジェクト・デバイスが、半予約状態のトランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の第2の動作させられるべきリソースのステータスにしたがって、以下のということを決定する)、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースが正常に実行されることはできないということを決定し、第2の管理対象オブジェクト・デバイスは、半予約状態のトランザクション・リソースを削除して、トランザクション・リソースが削除されたことをアプリケーション・サーバに通知するように、アプリケーション・サーバに第2の削除応答を送信する。
本明細書では、単純な例が、説明のために使用され得る。第2のトランザクション・リソース・キューが4つのトランザクション・リソース、すなわち、T1と、T2と、T3と、T4とを含むことが仮定される。表2に示されるように、前述のT1、T2、及びT4はすべて予約状態であり、T3は半予約状態であり、T2が第4のトランザクション・リソースであると仮定される。
第4のトランザクション・リソースT2が削除された後、第2の管理対象オブジェクト・デバイスは、T3が予約状態に切り換え可能であるかどうかを決定する。T3が正常に実行可能であるかどうかは、T2が実行された後の第2の動作させられるべきリソースの状態のみに依存する(T3が作成されたとき、T3が実行された後の第2の動作させられるべきリソースの状態に基づいてキューの中のT3の後の予約状態の任意のトランザクション・リソースは正常に実行可能であることが決定され、T1及びT2がT3の前に存在し、T2が実行された第2の動作させられるべきリソースの状態に基づけばT3はコミット可能であるが、T1が実行された後の第2の動作させられるべきリソースの状態に基づけばT3はコミットされることはできないことも決定されるので、T3は半予約状態である。したがって、T3が作成され、T3の状態が半予約状態であることが決定される)。したがって、T3の実行成功は、T2が実行された後の第2の動作させられるべきリソースの状態のみに依存し、T3はまた、T2が削除された後、正常に実行されることはできない。したがって、第2の管理対象オブジェクト・デバイスはまた、T3を削除し、トランザクション・リソースが削除されたことをアプリケーション・サーバに通知するように、第2の削除応答をアプリケーション・サーバに送信することが必要である。
第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを削除した後、第2の管理対象オブジェクト・デバイスが、第4のトランザクション・リソースが削除された後の第2の動作させられるべきリソースの状態にしたがって、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たさないということを決定する場合、すなわち、第4のトランザクション・リソースが削除された後、第4のトランザクション・リソースが削除された後の第2の動作させられるべきリソースの状態に基づいて(すなわち、第4のトランザクション・リソースが削除された後、半予約状態のその前の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態に基づいて)、半予約状態のトランザクション・リソースは正常に実行可能であり、第2の管理対象オブジェクト・デバイスは、半予約状態のトランザクション・リソースを予約状態へと更新する。
本明細書では、単純な例がまた、説明のために使用される。第2のトランザクション・リソース・キューが4つのトランザクション・リソース、すなわち、T1と、T2と、T3と、T4とを含むことが仮定される。表3に示されるように、前述のT1、T2、及びT4はすべて予約状態であり、T3は半予約状態であり、T1が第4のトランザクション・リソースであると仮定される。
第4のトランザクション・リソースT1が削除された後、第2の管理対象オブジェクト・デバイスは、T3が予約状態に切り換え可能であるかどうかを決定する。T3が予約状態に切り換え可能であるかどうかは、T2が実行された後の第2の動作させられるべきリソースの状態のみに依存する。したがって、T1が削除された後、T3の半予約状態は影響されず、すなわち、第2の管理対象オブジェクト・デバイスは、T2が実行された後の第2の動作させられるべきリソースのステータスにしたがって、T3が正常に実行可能であるということを決定する。したがって、第2の管理対象オブジェクト・デバイスは、T3の前の任意のトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、T3が正常に実行可能であることをさらに決定する(この例では、T1が削除された後、T2のみが状態を維持し、したがって、T3については、T2が実行された後の第2の動作させられるべきリソースの状態のみを参照されたい)。この場合、T2が実行された後、第2の管理対象オブジェクト・デバイスは、T3を予約状態に更新する。
図3に示される実施形態の第4の可能な実装方法及び第5の可能な実装方法では、第2の管理対象オブジェクト・デバイスが削除要求又は更新要求を実行する場合、予約状態のトランザクション・リソースの実行が影響されることが留意されるべきである。これは、削除要求又は更新要求が実行される場合、トランザクション・リソースの元の実行可能状態が破棄され、さらに、トランザクションの原子性が破棄されることを意味する。したがって、第2の管理対象オブジェクト・デバイスは、この場合、削除要求又は更新要求を拒否する。
本出願の技術的解決策について、さらに説明するために、以下は、具体的な説明のためにインテリジェント灌漑の2つの例を使用する。例1は主に、第2のトランザクション・リソース・キューが予約状態の1つのトランザクション・リソースを含むシナリオに関する。例2は主に、第2のトランザクション・リソース・キューが予約状態の少なくとも2つのトランザクション・リソースを含むシナリオに関する。
例1。このシナリオは、同時に発生するトランザクションを処理するプロセスに関し、管理対象オブジェクト・デバイスにある第2のトランザクション・リソース・キューは、予約状態の1つのトランザクション・リソースを含む。アプリケーション・サーバは全部で6つのトランザクションを有し、それらのトランザクションはそれぞれ、トランザクション1、トランザクション2、トランザクション3、トランザクション4、トランザクション5、及びトランザクション6である。これらのトランザクションは3つの管理対象オブジェクト・デバイスに関係し、その管理対象オブジェクト・デバイスはそれぞれ、第1の管理対象オブジェクト・デバイスA(弁1)、第2の管理対象オブジェクト・デバイス(弁2)、及び第1の管理対象オブジェクト・デバイスB(弁3)である。トランザクション1の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T1を弁2に送信し、第3のトランザクション・リソース作成要求R1を弁1及び弁3に送信する。トランザクション2の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T2を弁2に送信し、第3のトランザクション・リソース作成要求R2を弁1及び弁3に送信する。トランザクション3の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T3を弁2に送信し、第3のトランザクション・リソース作成要求R4を弁1及び弁3に送信する。トランザクション4の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T4を弁2に送信し、第3のトランザクション・リソース作成要求R4を弁1及び弁3に送信する。トランザクション5の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T5を弁2に送信し、第3のトランザクション・リソース作成要求R5を弁1及び弁3に送信する。トランザクション6の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T6を弁2に送信し、第3のトランザクション・リソース作成要求R6を弁1及び弁3に送信する。以下は、第2の管理対象オブジェクト・デバイス(すなわち、弁2)上の動作のみについて説明する。弁1及び弁3上の動作については、弁2上の動作を参照されたい。
アプリケーション・サーバが、T1要求、T2要求、T3要求、T4要求、T5要求、及びT6要求をトランザクションの順に順序通り弁2に送信することが留意されるべきである。
T1要求にしたがって作成される予定の第4のトランザクション・リソースはt1であり、T2要求にしたがって作成される予定の第4のトランザクション・リソースはt2であり、T3要求にしたがって作成される予定の第4のトランザクション・リソースはt3であり、T4要求にしたがって作成される予定の第4のトランザクション・リソースはt4であり、T5要求にしたがって作成される予定の第4のトランザクション・リソースはt5であり、T6要求にしたがって作成される予定の第4のトランザクション・リソースはt6である。以下は、第2の管理対象オブジェクト・デバイス(すなわち、弁2)上の動作のみについて説明する。弁1及び弁3上の動作については、弁2上の動作を参照されたい。
トランザクション1の場合、アプリケーション・サーバは、T1要求を弁2に送信し、弁2を12:00に30%に調整することを要求する。T1要求を受信した後、弁2は、この場合、第2のトランザクション・リソースが弁2上に存在しないことをチェックする。弁2は、この場合は第2の動作させられるべきリソースの状態に基づいて、第4のトランザクション・リソースt1が正常に作成可能であることをさらに決定し、したがって、t1を作成する。t1は予約状態である。弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表4に示されている。t1が正常に作成された後、t1は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション2の場合、アプリケーション・サーバは、T2要求を弁2に送信し、弁2を12:05に40%に調整することを要求する。T2要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1を含むことを確認する。弁2は、T2要求によって要求された実行時間12:05及び第2のトランザクション・リソース・キューの中のt1の実行時間12:00にしたがって、T2要求にしたがって作成される予定の第4のトランザクション・リソースt2は、第2のトランザクション・リソース・キューの中の最後の位置に作成されるべきであるということを決定する。弁2は、t1が実行された後の第2の動作させられるべきリソースの状態に基づいて、t2が予約状態に切り換えられ得ることをさらに確認及び決定する。したがって、弁2はt2を正常に作成し、t2の現在の状態は半予約状態である。弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表5に示されている。さらに、t2が正常に作成された後、t2は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション3の場合、アプリケーション・サーバは、T3要求を弁2に送信し、弁2を12:03に20%に調整することを要求する。T3要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とを含むことを確認する。弁2は、T3要求によって要求された実行時間12:03、第2のトランザクション・リソース・キューの中のt1の実行時間12:00、及びt2の実行時間12:05にしたがって、T3要求にしたがって作成される予定の第4のトランザクション・リソースt3がt1とt2の間に作成されるべきであるということを決定する。弁2は、t1が実行された後の第2の動作させられるべきリソースの状態(この場合、第2の動作させられるべきリソースの状態は、弁2の開放度が30%であることである)に基づいて、t3が予約状態に切り換えられ得ることをさらに確認及び決定し(すなわち、弁2は、弁2が30%から20%に調整され得るということを決定し、あらかじめ設定された閾値が60%であると仮定すると、調整範囲は、あらかじめ設定された閾値範囲内である)、t3が実行された後の第2の動作させられるべきリソースの状態に基づいて(この場合、第2の動作させられるべきリソースの状態は、弁2の開放度が20%であることである)、t2も予約状態に切り換えられ得るということを決定する(すなわち、弁2は、弁2が20%から40%に調整され得るということを決定する、調整範囲は、あらかじめ設定された閾値範囲内である)。したがって、弁2はt3を正常に作成し、t3の現在の状態は半予約状態である。弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表6に示されている。さらに、t3が正常に作成された後、t3は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション4の場合、アプリケーション・サーバは、T4要求を弁2に送信し、弁2を11:55に20%に調整することを要求する。T4要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とt3とを含むことを確認する。弁2は、T4要求によって要求された実行時間11:55及びキューの中のt1の実行時間12:00にしたがって、T4要求にしたがって作成される予定の第4のトランザクション・リソースt4は、t1の前、すなわち、第2のトランザクション・リソース・キューの中の第1の位置に作成されるべきであるということを決定する。t1はすでに予約状態であるので、別のトランザクション・リソースがt1の前に作成される場合、予約されたトランザクション・リソースt1は実行されることはできない(M2Mシステムは、この可能性が存在することを許可しない)。しかしながら、弁2は、t4の実行時間が12:05よりも遅くに設定されている場合、すなわち、t4がt2の後に作成される場合、t2が実行された後の第2の動作させられるべきリソースの状態に基づいて(t2が実行された後の第2の動作させられるべきリソースの状態は40%である)、t4は正常に実行可能である(すなわち、弁2は、弁2が40%から20%に調整され得るということを決定する。調整範囲は、あらかじめ設定された閾値範囲内である)ことをチェックする。したがって、弁2は第2の失敗応答をアプリケーション・サーバに返送するが、この応答は、適切な実行時間12:10を持つ。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが依然として表6に示されている。
トランザクション5の場合、アプリケーション・サーバは、T5要求を弁2に送信し、弁2を12:02に80%に調整することを要求する。T5要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とt3とを含むことを確認する。弁2は、T5要求によって要求された実行時間12:02、キューの中のt1の実行時間12:00、及びt3の実行時間12:03にしたがって、t5は、トランザクション・リソース・キューの中のt1とt2との間に作成されるべきであるということを決定する。しかしながら、t5が正常に実行される場合、弁の開放度は80%である(すなわち、この場合、弁2上の第2の動作させられるべきリソースの状態は80%である)が、t3は、このときに弁2の開放度を20%に調整する(すなわち、弁2を80%から20%に調整する)ことを要求し、自己保護のために、弁2は、2つの調整の間の成長範囲があらかじめ設定された閾値(60%と仮定する)以上になることを許可しない。それは、弁2の成長範囲が60%に等しい場合、その後の柔軟なパイプ及びインタフェースに大きな影響がもたらされ、漏水又は継手の緩みという現象を招くからである。したがって、弁2は、t5が実行された後、半予約状態のt3は影響され、予約状態に入ることはできないということを決定する。したがって、弁2は、第2の失敗応答をアプリケーション・サーバに返送する。しかしながら、同様に、弁2は、t5がt2の後に作成される場合、t5は、正常に作成可能であることをチェックする。したがって、第2の失敗応答は、適切な実行時間12:10を持つ。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが依然として表6に示されている。
トランザクション6の場合、アプリケーション・サーバは、T6要求を弁2に送信し、弁2を12:08に100%に調整することを要求する。T6要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とt3とを含むことを確認する。弁2は、T6要求によって要求された実行時間12:08及びキューの中のt2の実行時間12:05にしたがって、t6は第2のトランザクション・リソース・キューの中のt2の後に作成される、すなわち、第2のトランザクション・リソース・キューの中の最後の位置であるべきであるということを決定する。しかしながら、t2が正常に実行された後、弁2の開放度は40%である(すなわち、この場合、弁2上の第2の動作させられるべきリソースの状態は40%である)が、t6は、このとき弁2の開放度を100%に調整することを要求する。したがって、弁の成長範囲は、あらかじめ設定された閾値(60%と仮定する)に等しい。したがって、弁2は、t2が実行された後、t6が予約状態に入ることはできないということを決定し、同時に、弁2は、t6の100%調整は第2のトランザクション・リソース・キューの中のいかなる場所でも適切でないことをチェックし、したがって、第1の失敗応答を返送する。
トランザクション1におけるトランザクション・リソースの削除の場合(1つのトランザクションは複数のトランザクション・リソースを含み、複数のトランザクション・リソースは、それぞれ異なる管理対象オブジェクト・デバイスによって作成され、前述の表6中のt1、t2、及びt3は、異なるトランザクションに属するトランザクション・リソースである)、トランザクション1では、アプリケーション・サーバは、第4のトランザクション・リソース作成要求を弁2に送信し、第4のトランザクション・リソースは、弁2上で正常に作成される。第4のトランザクション・リソースは、前述のt1であると仮定される。さらに、アプリケーション・サーバは、第3のトランザクション・リソースの作成不成功についての弁1によって送信された応答を受信する。これは、トランザクション1の第3のトランザクション・リソースは、弁1上で正常に作成されることができないことを示す。したがって、アプリケーション・サーバは、弁2上で正常に作成されたt1を削除することが必要である。したがって、アプリケーション・サーバは、t1の識別子を持つ削除要求を弁2に送信し、したがって、弁2は、t1の実行時間が到来する前に、アプリケーション・サーバによって送信された削除要求を受信する。削除要求は、第2のトランザクション・リソース・キューの中のt1を削除するために使用される。弁2は、現在の第2のトランザクション・リソース・キューにしたがって、t1の削除がt3の半予約状態に影響しないということを決定する。t1が削除された後、弁2は、完全閉止から20%に直接開放されるからである。したがって、t3は、予約状態に入ることができる。t1が実行された後、弁2は、t2の状態を半予約状態から予約状態に更新し、t2が予約状態に入ったことをアプリケーション・サーバに通知する。
トランザクション2内のトランザクション・リソースの実行の場合、弁2は、トランザクション2のt2を削除するための削除要求又はアプリケーション・サーバによって送信された更新要求が受信されないことを確認する。12:05が到来した後、弁2は、t2において動作予定動作を実行する、すなわち、弁の開放度を40%に調整する。次いで、弁は、t2を第2のトランザクション・リソース・キューから削除する。この場合、別のトランザクション・リソースTxが第2のトランザクション・リソース・キューの中のt2の後に存在する場合、弁2は、Txの状態を半予約状態から予約状態に切り換え、通知をアプリケーション・サーバに送信し、Txが予約状態に入ったことを通知する。
例1は、第2のトランザクション・リソース・キューが1つの予約状態のトランザクション・リソースを含むシナリオのためのものであり、アプリケーション・サーバ及び第2の管理対象オブジェクト・デバイスによって同時に発生するトランザクションを処理するプロセス、並びに処理中に第2の管理対象オブジェクト・デバイスの第2のトランザクション・リソース・キューを維持する技術的解決策について説明する。
例2。このシナリオは、同時に発生するトランザクションを処理するプロセスに関し、管理対象オブジェクト・デバイスにある第2のトランザクション・リソース・キューは、予約状態の少なくとも2つのトランザクション・リソースを含む。アプリケーション・サーバは全部で6つのトランザクションを有し、それらのトランザクションはそれぞれ、トランザクション1、トランザクション2、トランザクション3、トランザクション4、トランザクション5、及びトランザクション6である。これらのトランザクションは3つの管理対象オブジェクト・デバイスに関係し、その管理対象オブジェクト・デバイスはそれぞれ、第1の管理対象オブジェクト・デバイスA(弁1)、第2の管理対象オブジェクト・デバイス(弁2)、及び第1の管理対象オブジェクト・デバイスB(弁3)である。トランザクション1の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T1を弁2に送信し、第3のトランザクション・リソース作成要求R1を弁1及び弁3に送信する。トランザクション2の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T2を弁2に送信し、第3のトランザクション・リソース作成要求R2を弁1及び弁3に送信する。トランザクション3の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T3を弁2に送信し、第3のトランザクション・リソース作成要求R4を弁1及び弁3に送信する。トランザクション4の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T4を弁2に送信し、第3のトランザクション・リソース作成要求R4を弁1及び弁3に送信する。トランザクション5の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T5を弁2に送信し、第3のトランザクション・リソース作成要求R5を弁1及び弁3に送信する。トランザクション6の場合、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T6を弁2に送信し、第3のトランザクション・リソース作成要求R6を弁1及び弁3に送信する。以下は、第2の管理対象オブジェクト・デバイス(すなわち、弁2)上の動作のみについて説明する。弁1及び弁3上の動作については、弁1上の動作を参照されたい。
アプリケーション・サーバが、T1要求、T2要求、T3要求、T4要求、T5要求、及びT6要求をトランザクションの順に順序通り弁2に送信することが留意されるべきである。アプリケーション・サーバが、T1要求、T2要求、T3要求、T4要求、T5要求、及びT6要求を順序通り弁2に送信すると仮定される。
T1要求にしたがって作成される予定の第4のトランザクション・リソースはt1であり、T2要求にしたがって作成される予定の第4のトランザクション・リソースはt2であり、T3要求にしたがって作成される予定の第4のトランザクション・リソースはt3であり、T4要求にしたがって作成される予定の第4のトランザクション・リソースはt4であり、T5要求にしたがって作成される予定の第4のトランザクション・リソースはt5であり、T6要求にしたがって作成される予定の第4のトランザクション・リソースはt6である。以下は、第2の管理対象オブジェクト・デバイス(すなわち、弁2)上の動作のみについて説明する。弁1及び弁3上の動作については、弁2上の動作を参照されたい。弁2の初期状態は25%であることが留意されるべきである。
トランザクション1の場合、アプリケーション・サーバは、T1要求を弁2に送信し、弁2を12:00に40%に調整することを要求する。T1要求を受信した後、弁2は、この場合、第2の動作させられるべきリソースに対する第2のトランザクション・リソースが弁2上に存在しないことをチェックする。弁2は、この場合は第2の動作予定の状態リソースに基づいて、第4のトランザクション・リソースt1が正常に作成可能であることをさらにチェック及び決定し、したがって、t1を作成する。t1は予約状態である。弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表7に示されている。t1が正常に作成された後、t1は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション2の場合、アプリケーション・サーバは、T2要求を弁2に送信し、弁2を12:05に80%に調整することを要求する。T2要求を受信した後、弁2は、この場合は第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1を含むことを確認する。弁2は、T2要求によって要求された実行時間12:05及び第2のトランザクション・リソース・キューの中のt1の実行時間12:00にしたがって、T2要求にしたがって作成される予定のt2は、第2のトランザクション・リソース・キューの中の最後の位置に作成されるべきであるということを決定する。したがって、弁2は、作成される予定の第4のトランザクション・リソースt2は、第2のトランザクション・リソース・キューの中の作成される予定のトランザクション・リソースt2の位置の後の別のトランザクション・リソースの予約状態に影響しないことを確認する。前述の表7に示される第2のトランザクション・リソース・キューでは、t1はさらに、t2の前に存在する。弁2は、t1が実行された後の第2の動作させられるべきリソースの状態に基づくにせよ、t1が削除された第2の動作させられるべきリソースの現在の状態(すなわち、弁2の初期状態25%)に基づくにせよ、t2は予約状態に入ることができることを確認する。したがって、弁2はt2を正常に作成し、t2の現在の状態は予約状態である。弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表8に示されている。t2が正常に作成された後、t2は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション3の場合、アプリケーション・サーバは、T3要求を弁2に送信し、弁2を12:03に10%に調整することを要求する。T3要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とを含むことを確認する。弁2は、T3要求によって要求された実行時間12:03、キューの中のt1の実行時間12:00、及びt2の実行時間12:05にしたがって、t3はt1とt2との間に配置されるということを決定する。さらに、t3の作成成功は、弁2のt2の調整範囲を10%(t3の10%)から80%(t2の80%)に直接増加させ得る。これは、弁2の1つの調整が60%を超えるべきではないという制限を超える。したがって、t2の予約状態が影響される。したがって、t3は、作成されるのに失敗する。t3がt1の前に作成される場合、t3は、正常に作成可能である。したがって、第1の失敗応答が返送され、この応答は、適切な実行時間11:59を含む。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが依然として表8に示されている。
トランザクション4の場合、アプリケーション・サーバは、T4要求を弁2に送信し、弁2を11:55に30%に調整することを要求する。T4要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とを含むことを確認する。T4要求によって要求される実行時間11:55及びキューの中のt1の実行時間12:00にしたがって、弁2は、t4は第2のトランザクション・リソース・キューの中のt1の前に作成されるべきであるということを決定する。t1及びt2はすでに予約状態であるので、弁2は、t4が正常に作成される場合、30%への弁開放(すなわち、t4が実行された後の第2の動作させられるべきリソースの状態が30%である)がt1及びt2の通常実行に影響せず、他のトランザクション・リソースが第2のトランザクション・リソース・キューの中のt4の前に存在しないということを決定する。したがって、弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送し、t4は予約状態である。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表9に示されている。t4が正常に作成された後、t4は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになる。
トランザクション5の場合、アプリケーション・サーバは、T5要求を弁2に送信し、弁2を12:02に100%に調整することを要求する。T5要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とt4とを含むことを確認する。弁2は、T5要求によって要求された実行時間12:02、キューの中のt1の実行時間12:00、及びt2の実行時間12:05にしたがって、t5は、第2のトランザクション・リソース・キューの中のt1とt2との間に作成されるべきであるということを決定する。t5の作成成功は、t2の予約状態に影響しない。しかしながら、t4もt1もt5の前に存在する。t4が実行された後の動作させられるべきリソースの状態に基づくにせよ、t1が実行された後の動作させられるべきリソースの状態に基づくにせよ、t5は、正常に作成されることはできない。t4の30%又はt1の40%のどちらかの場合、100%調整は限度60%を超える。したがって、t5は、作成されるのに失敗する。しかしながら、弁2は、t5がt2の後に作成される場合、t5は、正常に作成可能であることをチェックする。したがって、第2の失敗応答が返送され、この応答は、適切な実行時間12:10を含む。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが依然として表9に示されている。
トランザクション6の場合、アプリケーション・サーバは、T6要求を弁2に送信し、弁2を12:02に90%に調整することを要求する。T6要求を受信した後、弁2は、第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが弁2上に存在し、第2のトランザクション・リソース・キューがt1とt2とt4とを含むことを確認する。弁2は、T6要求によって要求された実行時間12:02、キューの中のt1の実行時間12:00、及びt2の実行時間12:05にしたがって、t6は、第2のトランザクション・リソース・キューの中のt1とt2との間に作成されるべきであるということを決定する。t6の作成成功は、t2の予約状態に影響しない。しかしながら、t4もt1もt6の前に存在する。t1が実行された後の結果に基づいて、t6は実行可能である。しかしながら、t4が実行された後の結果に基づくと、t6は、正常に作成されることはできない。t4の30%の場合、90%調整は限度60%を超える。したがって、t6は正常に作成されるが、t6は半予約状態であり、弁2は、第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに返送する。この場合、弁2上の第2の動作させられるべきリソースに対する第2のトランザクション・リソース・キューが表10に示されている。t6が正常に作成された後、t6は、第2のトランザクション・リソース・キューの中のトランザクション・リソースになり、t6は半予約状態である。
トランザクション・リソースt4の実行の場合、11:55が到来すると、弁2はt4において実行されるべき動作を実行する、すなわち、弁2は30%開放に切り換えられ、次いで、t4が削除される(すなわち、第2の動作させられるべきリソースの状態は、この場合、30%である)。現在の第2のトランザクション・リソース・キューは、以下の表11に示されている。
トランザクション・リソースt1の削除の場合、トランザクション1では、アプリケーション・サーバは、第4のトランザクション・リソース作成要求T1を弁2に送信し、弁2は、第2のトランザクション・リソース・キューの中のt1を正常に作成する。さらに、アプリケーション・サーバは、第3のトランザクション・リソースの作成不成功を示す応答を弁1から受信し、これは、トランザクション1の第3のトランザクション・リソースは弁1上で正常に作成されることができないことを示す。したがって、アプリケーション・サーバは、弁2上で正常に作成されたt1を削除することが必要である。したがって、アプリケーション・サーバは、t1の識別子を持つ削除要求を弁2に送信し、したがって、弁2は、t1の実行時間が到来する前に、アプリケーション・サーバによって送信された削除要求を受信する。削除要求は、第2のトランザクション・リソース・キューの中のt1を削除するために使用される。弁2は、現在の第2のトランザクション・リソース・キュー(表11を参照のこと)にしたがって、t1の後のt6のみが半予約状態であるということを決定する。弁2は、t1の削除がt6の半予約状態に影響するかどうかを決定する。t1が削除された後、弁2は、第2の動作させられるべきリソースの現在のステータス(30%開放)にしたがって、t6が予約状態に入ることはできないということを決定するので、弁2は、t6を削除し、t6が削除されたことをアプリケーション・サーバに通知する。
トランザクション・リソースt4の削除の場合、前述の表10に示される第2のトランザクション・リソース・キューでは、t4が実行される前と仮定すると、弁2は、40%に直接開放されるように弁2に要求する更新要求を受信する。更新要求を受信した後、弁2は初期の25%状態から40%に更新され、この調整範囲はあらかじめ設定された閾値を超えない、すなわち、第2の動作させられるべきリソースの現在の状態は40%である。
11:55の前、t4に関連する別の弁が、トランザクション4に属する第3のトランザクション・リソースを作成するのに失敗する場合、弁2上のt4も削除されることが必要である。弁2は、アプリケーション・サーバによって送信された削除要求を受信し、この削除要求は、t4の識別子を持ち、第2のトランザクション・リソース・キューの中のt4を削除するために使用される。弁2がt4を削除した後、現在の第2のトランザクション・リソース・キューにしたがって、t4の後のt6のみが半予約状態である。弁2は、t4の削除がt6の半予約状態に影響するかどうかを決定する。t4が削除された後、第2の動作させられるべきリソースの現在の状態(40%開放)に基づくにせよ、t1が実行された後の状態(40%開放)に基づくにせよ、t6は、予約状態に入ることができる。したがって、弁2は、t6の状態を予約に更新し、t6はすでに予約状態であることをアプリケーション・サーバに通知する。
例2は、第2のトランザクション・リソース・キューが少なくとも2つの予約状態のトランザクション・リソースを含むシナリオのためのものであり、アプリケーション・サーバ及び第2の管理対象オブジェクト・デバイスによって同時に発生するトランザクションを処理するプロセス、並びに処理中に第2の管理対象オブジェクト・デバイスの第2のトランザクション・リソース・キューを維持する技術的解決策について説明する。
図7は、本発明による、分散トランザクション・リソースを実行するための方法の実施形態3の概略フローチャートである。この方法は、M2Mシステムに適用される。M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含む。第1の管理対象オブジェクト・デバイスは、少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクトは、少なくとも2つの管理対象オブジェクト・デバイス内の第1の管理対象オブジェクト・デバイスを除く任意の管理対象オブジェクト・デバイスである。図7に示されるように、方法は、以下のステップを含む。
S601。アプリケーション・サーバは、第1のトランザクションについての第1のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信し、この第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む。
S602。アプリケーション・サーバは、第1のトランザクションについての第2のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに送信し、この第2のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、第1の実行時間と第2の実行時間は同じである。
具体的には、アプリケーション・サーバは、第1のトランザクションに対する第1のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに、第1のトランザクションに対する第2のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに、別々に送信する、すなわち、第1のトランザクション・リソースと第2のトランザクション・リソースの両方は、アプリケーション・サーバの第1のトランザクションに属する。第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む。第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含む。第1の実行時間と第2の実行時間は同じである。選択的に、第1の実行されるべき動作と第2の実行されるべき動作は、同じであってもよいし、異なってもよい。さらに、第1の実行されるべき動作又は第2の実行されるべき動作は、プリミティブな形で反映されてもよいし、別の様式で反映されてもよい。
第1の管理対象オブジェクト・デバイスによって実行される動作と第2の管理対象オブジェクト・デバイスによって実行される動作は類似していることは、留意されるべきである。したがって、以下の技術的解決策のすべてにおいて、第1の管理対象オブジェクト・デバイスは、説明される対象として使用される。第2の管理対象オブジェクト・デバイスによって実行される動作については、第1の管理対象オブジェクト・デバイスによって実行される動作を参照されたい。第2の管理対象オブジェクト・デバイスによって第2のトランザクション・リソースを作成するプロセスについては、第1の管理対象オブジェクト・デバイスによって第1のトランザクション・リソースを作成するプロセスを参照されたい。
S603。アプリケーション・サーバは、あらかじめ設定された時間内に、2の管理対象オブジェクト・デバイスによって送信されるとともに第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答を受信し、第1の管理対象オブジェクト・デバイスによって送信されるとともに第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答を受信する。
具体的には、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソース作成要求内で持たれる第1の実行時間及び第1の実行されるべき動作等の情報にしたがって、第1のトランザクション・リソースが正常に作成可能であるかどうかを決定する。第1の実行されるべき動作は、第1の動作させられるべきリソースに対する要求を含み、この要求は、要求の開始者、要求されたターゲット・リソースの識別子、及び要求される具体的な内容等の情報を含んでよい。
選択的に、第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる情報にしたがって、第1のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすかどうかを決定してよい。具体的には、この条件は、以下の(1)から(4)の内容を含み得る。(1)第1の管理対象オブジェクト・デバイスが、第1の実行されるべき動作に含まれる「要求されたターゲット・リソースの識別子」にしたがって、第1の実行されるべき動作に対して要求されるターゲット・リソースが第1の動作させられるべきリソースであるかどうかをチェックする。(2)第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる「要求の開始者」にしたがって、開始者(すなわち、アプリケーション・サーバ)が、第1のトランザクション・リソース作成要求を開始するのに十分な権利を有するかどうかをチェックする。(3)第1の管理対象オブジェクト・デバイスは、第1の実行されるべき動作に含まれる「要求された内容」にしたがって、要求された内容が第1の動作させられるべきリソースに対して実行可能であるかどうかをチェックする。(4)第1の管理対象オブジェクト・デバイスは、第1の実行時間並びに第1の管理対象オブジェクト・デバイスの作業期間及び休止期間の構成にしたがって、第1の実行時間によって指定された時間に、第1のトランザクション・リソース作成要求内に持たれた第1の実行されるべき動作の実行が保証可能であるかどうかをチェックする。
前述の4つの項目がすべて正常にチェックされた場合、それは、第1のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすことを示し、第1の管理対象オブジェクト・デバイスが第1のトランザクション・リソース作成要求にしたがって第1のトランザクション・リソースを正常に作成可能である。RESTfulアーキテクチャの特徴に基づいて、作成された第1のトランザクション・リソースは、3つの属性、すなわち、第1のトランザクション・リソースの現在の状態と、第1の実行時間と、第1の実行されるべき動作とを含み得る(対応して、第2のトランザクション・リソースは、3つの属性、すなわち、第2のトランザクション・リソースの状態と、第2の実行時間と、第2の実行されるべき動作とを含む)。
さらに、第1の管理対象オブジェクト・デバイスは、第1のトランザクション・リソースが正常に作成されることをアプリケーション・サーバに通知するように、第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。第1の管理対象オブジェクト・デバイスの前述の実行プロセスと同様に、第2の管理対象オブジェクト・デバイスも、第2のトランザクション・リソースが正常に作成されるということを決定し、第2のトランザクション・リソースが正常に作成されることをアプリケーション・サーバに通知するように、第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する。応答が第1のトランザクション・リソースの作成成功を示す応答であるか第2のトランザクション・リソースの作成成功を示す応答であるかに関係なく、応答は、それぞれ作成されたトランザクション・リソースの識別子を持ってもよいし、それぞれ作成されたトランザクション・リソースの状態をさらに持ってもよい。状態は、予約状態であってもよいし、半予約状態であってもよい。
アプリケーション・サーバは、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスによって送信されたトランザクション・リソース作成応答があらかじめ設定された時間内に受信されるかどうかを決定することが必要であることが留意されるべきである。本明細書では、トランザクション・リソース作成応答が成功応答であるか失敗応答であるかに関係なく、アプリケーション・サーバが、あらかじめ設定された時間内にトランザクション・リソース作成応答を受信するのに失敗する限り、アプリケーション・サーバは、トランザクション・リソースが作成されるのに失敗するとみなす。
アプリケーション・サーバが、あらかじめ設定された時間内に、第2の管理対象オブジェクト・デバイスによって送信され第2のトランザクション・リソースの作成成功を示す応答を受信するが、第1の管理対象オブジェクト・デバイスによって送信されたトランザクション・リソース作成応答を受信するのに失敗した場合、アプリケーション・サーバは、第1のトランザクション・リソースが作成されるのに失敗したということを決定し、第2の管理対象オブジェクト・デバイス上で正常に作成された第2のトランザクション・リソースを削除し、トランザクションの原子性を確保するように、第2のトランザクション・リソースを正常に作成した第2の管理対象オブジェクト・デバイスに削除要求を送信する。アプリケーション・サーバが、あらかじめ設定された時間内に、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスによって送信されたトランザクション・リソース作成応答を受信するのに失敗した場合、アプリケーション・サーバは作成手順を終了する。
さらに、本発明のこの実施形態では、第1の管理対象オブジェクト・デバイスと第2の管理対象オブジェクト・デバイスの両方が、第1のトランザクションのトランザクション・リソースの作成成功についての応答をアプリケーション・サーバに送信するので、アプリケーション・サーバは、第1のトランザクション・リソースの作成成功を示す応答及び第2のトランザクション・リソースの作成成功を示す応答があらかじめ設定された時間内に受信されるということを決定した後、処理要求を第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスに送信しないということを決定する。したがって、第1の管理対象オブジェクト・デバイスは、第1の実行時間が到来する前、アプリケーション・サーバによって送信された処理要求を受信するのに失敗する(又は、第2の管理対象オブジェクト・デバイスは、第2の実行時間が到来する前、これを受信するのに失敗する)。したがって、第1の実行時間(第2の実行時間)が到来すると、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクトは、それぞれデバイスによって作成されたトランザクション・リソース内の実行されるべき動作を同時に実行することができる。
本発明のこの実施形態による分散トランザクション・リソースを実行するための方法では、アプリケーション・サーバによって複数の管理対象オブジェクト・デバイスに送信されるトランザクション・リソース作成要求は同じ実行時間を持ち、それによって、トランザクション・リソースが正常に作成されることが決定され、実行時間が到来すると、複数の管理対象オブジェクト・デバイスは、管理対象オブジェクト・デバイスによって作成されるトランザクション・リソースを同時に実行し、その結果、トランザクション・リソースが同時に実行されることを保証する。さらに、本発明の実施形態では、トランザクション・リソースが同時に実行されることを保証するには、アプリケーション・サーバは、管理対象オブジェクト・デバイスにトランザクション・リソース作成要求を1つのみ送信すればよい。したがって、アプリケーション・サーバのシグナリング・オーバヘッドが減少される。
さらに、応答内で持たれる、第2の管理対象オブジェクト・デバイスが第2のトランザクション・リソースを正常に作成した後で第2の管理対象オブジェクト・デバイスによってアプリケーション・サーバに送信される、第2のトランザクション・リソースの作成成功についての第2のトランザクション・リソースの状態が半予約状態である場合、図8を参照すると、前述のS603の後に、方法は以下をさらに含む。
S701。アプリケーション・サーバは、第2のトランザクション・リソースに申し込み、それによって、第2の管理対象オブジェクト・デバイスは、第2のトランザクション・リソースの状態が変化すると、通知メッセージをアプリケーション・サーバに送信する。
S702。アプリケーション・サーバは、この通知メッセージにしたがって、第2のトランザクション・リソースの状態を決定する。
この実施形態では、アプリケーション・サーバは、第2の管理対象オブジェクト・デバイスにある第2のトランザクション・リソースの状態を任意の時間に監視し、第2のトランザクション・リソースの状態が変化すると、変化を任意の時間に追跡することができる。これは、トランザクション・リソースが実行されるときの状態の精度を保証する。
図9は、本発明による、分散トランザクション・リソースを実行するための方法の実施形態5の概略フローチャートである。図7又は図8に示される前述の実施形態に基づいて、この実施形態において使用される方法は、第1の管理対象オブジェクト・デバイスが、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第3のトランザクション・リソースの作成不成功を示す応答をアプリケーション・サーバに送信するプロセスである。図9に示されるように、方法は、以下のステップを含む。
S801。アプリケーション・サーバは、第2のトランザクションについての第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信し、この第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含む。
S802。アプリケーション・サーバは、第2のトランザクションについての第4のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに送信し、この第4のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、第3の実行時間と第4の実行時間は同じである。
具体的には、アプリケーション・サーバは、第2のトランザクションに対する第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに、第2のトランザクションに対する第4のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスにそれぞれ送信する、すなわち、第3のトランザクション・リソースと第4のトランザクション・リソースの両方が、アプリケーション・サーバの第2のトランザクションに属する。第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含む。第4のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第4の実行時間と、第4の実行されるべき動作とを含む。第3の実行時間と第4の実行時間は同じである。選択的に、第3の実行されるべき動作と第4の実行されるべき動作は、同じであってもよいし、異なってもよい。さらに、第3の実行されるべき動作又は第4の実行されるべき動作は、プリミティブな形で反映されてもよいし、別の様式で反映されてもよい。
S803。アプリケーション・サーバは、あらかじめ設定された時間内で、第1の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答を受信し、あらかじめ設定された時間内で、第2の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答を受信する。第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っている。
具体的には、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内で持たれる第3の実行時間及び第3の実行されるべき動作等の情報にしたがって、第3のトランザクション・リソースが正常に作成可能であるかどうかを決定する。具体的な決定プロセスについては、図7に示される前述の実施形態における(1)から(4)の決定プロセスを参照されたい。詳細は、本明細書では、再度説明されない。
第1の管理対象オブジェクト・デバイスが前述の4つの項目のいずれか1つをチェックするのに失敗した場合、それは、第3のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たさないことを示す。第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信する。第2の管理対象オブジェクト・デバイスがすべての前述の4つの項目を正常にチェックする場合、それは、第4のトランザクション・リソース作成要求がトランザクション・リソース作成条件を満たすことを示す。第2の管理対象オブジェクト・デバイスは、第4のトランザクション・リソース作成要求にしたがって第4のトランザクション・リソースを正常に作成し、第4のトランザクション・リソースが正常に作成されることをアプリケーション・サーバに通知するように、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信することができる。第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っていてもよく、作成された第4のトランザクション・リソースの状態をさらに持っていてもよい。この状態は、予約状態又は半予約状態である。
選択的に、第1の管理対象オブジェクト・デバイスが、第1の動作させられるべきリソースに対応する第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在しないということを決定するとき、第1の管理対象オブジェクト・デバイスが、第3の実行されるべき動作に含まれる情報にしたがって、第3のトランザクション・リソース作成要求が前述のトランザクション・リソース作成条件における(1)の内容を満たさないということを決定する場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求にしたがって、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、第3のトランザクション・リソースが正常に作成されることはできないことをアプリケーション・サーバに通知するように、第1の失敗応答をアプリケーション・サーバに送信する。
選択的に、第1の管理対象オブジェクト・デバイスが、第1の動作させられるべきリソースに対応する第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在しないということを決定するとき、第1の管理対象オブジェクト・デバイスが、第3の実行されるべき動作に含まれる情報にしたがって、第3のトランザクション・リソース作成要求が前述のトランザクション・リソース作成条件における(2)から(4)のいずれか1つの内容を満たさないということを決定する場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求にしたがって、第3のトランザクション・リソースが作成されるのに失敗するということを決定し、現在の第3の実行時間は適切でないが、第1の管理対象オブジェクト・デバイスは、第2の失敗応答内に持たれる更新された第3の実行時間を使用することによって第3のトランザクション・リソースを正常に作成することができることをアプリケーション・サーバに通知するように、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信する。
選択的に、第1の管理対象オブジェクト・デバイスが、第3の実行時間にしたがって、第1の動作させられるべきリソースに対応する第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイスに存在するということを決定する場合、第1の管理対象オブジェクト・デバイスは、第3のトランザクション・リソース作成要求内の第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースが作成されるのに失敗するということを決定する。具体的には、以下の2つのケースが含まれ得る。
第1のケース。第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3の実行時間が第1のトランザクション・リソース・キューの中の各トランザクション・リソースの実行時間よりも遅い任意の時間に更新されるとき、あらかじめ設定されたリソース作成条件が満たされないということを決定する。この場合、第1の管理対象オブジェクト・デバイスは、第1の失敗応答をアプリケーション・サーバに送信する。
第2のケース。第1の管理対象オブジェクト・デバイスは、第3の実行時間及び第1の動作させられるべきリソースの状態にしたがって、第3の実行時間が第1のトランザクション・リソース・キューの中の任意のトランザクション・リソースの実行時間よりも遅い時間に更新されるとき、あらかじめ設定されたリソース作成条件が満たされるということを決定する。第1の管理対象オブジェクト・デバイスは、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信する。第1の管理対象オブジェクト・デバイスの具体的な決定プロセスについては、図3に示される実施形態の第1の可能な実装方法又は第2の可能な実装方法における技術的解決策を参照されたい。詳細は、本明細書では、再度説明されない。
したがって、アプリケーション・サーバは、第1の管理対象オブジェクト・デバイスによって送信され第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答及び第2の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答が、あらかじめ設定された時間内に受信されるということを決定する。
S804。アプリケーション・サーバは、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答及び第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答に基づいて、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、第2のトランザクションの第4のトランザクション・リソースについての処理要求を送信する。第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている。
具体的には、アプリケーション・サーバが、あらかじめ設定された時間内に、第1の管理対象オブジェクト・デバイスによって送信され第3のトランザクション・リソースの作成不成功を示す応答(第3のトランザクション・リソースの作成失敗を示す応答は第1の失敗応答又は第2の失敗応答である)及び第2の管理対象オブジェクト・デバイスによって送信され第4のトランザクション・リソースの作成に成功したことを示す応答を受信した後、アプリケーション・サーバは、第1の管理対象オブジェクト・デバイスは第3のトランザクション・リソースを作成するのに失敗することを知り、第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを正常に作成することを知る。したがって、アプリケーション・サーバは、第3のトランザクション・リソースの作成不成功を示す応答にしたがって、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、第2のトランザクションの第4のトランザクション・リソースについての処理要求を送信する。具体的には、以下の2つの様式が利用可能である。
第1の様式。アプリケーション・サーバが、第3のトランザクション・リソースの作成に成功しなかったことを示す応答は、更新された第3の実行時間を持っていない第1の失敗応答であるということを決定する場合、アプリケーション・サーバは、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、第4のトランザクション・リソースの識別子を持っている削除要求を送信する。
具体的には、第2の管理対象オブジェクト・デバイスが削除要求を受信した後で実行される動作については、図3に示される実施形態の第5の可能な実装方法において第4のトランザクション・リソースの識別子にしたがって第4のトランザクション・リソースを第2の管理対象オブジェクト・デバイスによって削除するプロセスを参照されたい。詳細は、本明細書では、再度説明されない。
第2の様式。アプリケーション・サーバが、第3のトランザクション・リソースの作成不成功を示す応答は、更新された第3の実行時間を持っている第2の失敗応答であるということを決定した場合、アプリケーション・サーバは、更新された第3の実行時間を持っている更新要求及び第4のトランザクション・リソースの識別子を、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに送信する。更新された第3の実行時間は、第1の管理対象オブジェクト・デバイスによって第3のトランザクション・リソースを正常に作成する時間である。
具体的には、第2の管理対象オブジェクト・デバイスが更新要求を受信した後で実行される動作については、図3に示される実施形態の第4の可能な実装方法において第4のトランザクション・リソースの識別子及び更新された第3の実行時間にしたがって第4のトランザクション・リソースを第2の管理対象オブジェクト・デバイスによって更新するプロセスを参照されたい。詳細は、本明細書では、再度説明されない。
更新要求を第2の管理対象オブジェクト・デバイスに送信するとき、アプリケーション・サーバは、更新された第3の実行時間を持っている新しい第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスにさらに送信し、したがって、第1の管理対象オブジェクト・デバイスは、更新された第3の実行時間にしたがって新しい第3のトランザクション・リソースを正常に作成することが留意されるべきである。第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスは、更新された第3の実行時間にしたがって以前に作成された第4のトランザクション・リソースを正常に更新することもできると仮定すると、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を第2の管理対象オブジェクト・デバイスに送信しない、すなわち、更新された第3の実行時間が到来する前に、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスは、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求を受信するのに失敗する。したがって、更新された第3の実行時間が到来すると、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスは、デバイスによって作成されたトランザクション・リソース内の実行されるべき動作を同時に実行することができる。
本発明のこの実施形態により分散トランザクション・リソースを実行するための方法では、アプリケーション・サーバは、第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信し、第3のトランザクション・リソース作成要求内で持たれる第3の実行時間は、アプリケーション・サーバによって第2の管理対象オブジェクト・デバイスに送信される第4のトランザクション・リソース作成要求内で持たれる第4の実行時間と同じであり、アプリケーション・サーバが、第1の管理対象オブジェクト・デバイスによって送信され第3のトランザクション・リソースの作成不成功を示す応答及び第2の管理対象オブジェクト・デバイスによって送信され第4のトランザクション・リソースの作成に成功したことを示す応答が、あらかじめ設定された時間内に受信されるということを決定した後、アプリケーション・サーバは、第2のトランザクションの第4のトランザクション・リソースについての処理要求を第2の管理対象オブジェクト・デバイスに送信する。本発明のこの実施形態によって提供される方法では、第2の管理対象オブジェクト・デバイスは、アプリケーション・サーバによって送信された処理要求にしたがって(処理要求が更新要求であるとき)、第2の管理対象オブジェクト・デバイスによって更新された第4のトランザクション・リソースを実行する時間が、第1の管理対象オブジェクト・デバイスが、第1の管理対象オブジェクト・デバイスによって作成された新しい第3のトランザクション・リソースを実行する時間と同じであることを保証することができる、すなわち、第1の管理対象オブジェクト・デバイス及び第2の管理対象オブジェクト・デバイスはデバイスによって実行される予定の動作を同時に実行することができることが保証される。したがって、トランザクション・リソースの同時実行が保証される。
当業者は、方法実施形態のすべて又はいくつかのステップが関連ハードウェアに指示するプログラムによって実施され得ることを理解し得る。プログラムは、コンピュータ可読記憶媒体に記憶されてよい。プログラムが実行されると、方法実施形態のステップが実行される。記憶媒体としては、ROM、RAM、磁気ディスク、又は光ディスク等の、プログラム・コードを記憶することができる任意の媒体がある。
図10は、本発明によるアプリケーション・サーバの1つの実施形態の概略構造図である。図10に示されるように、アプリケーション・サーバは、M2Mシステムに適用される。M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含む。第1の管理対象オブジェクト・デバイスは、少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクト・デバイスは、少なくとも2つの管理対象オブジェクト・デバイスのうちの第1の管理対象オブジェクト・デバイスを除くいずれかの管理対象オブジェクト・デバイスである。アプリケーション・サーバは、送信モジュール10と、受信モジュール11とを含む。
具体的には、送信モジュール10は、第1の動作させられるべきリソースの識別子と第1の実行時間と第1の実行されるべき動作とを含む第1のトランザクションについての第1のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信するように構成され、第1の動作させられるべきリソースの識別子と第2の実行時間と第2の実行されるべき動作とを含むとともに第1のトランザクションについての第2のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに送信するようにさらに構成され、第1の実行時間と第2の実行時間は同じである。
受信モジュール11は、あらかじめ設定された時間内に、2の管理対象オブジェクト・デバイスによって送信されるとともに第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答を受信し、第1の管理対象オブジェクト・デバイスによって送信されるとともに第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答を受信するように構成される。
本発明のこの実施形態によって提供されるアプリケーション・サーバについては、アプリケーション・サーバの前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
さらに、送信モジュール10は、第1の動作させられるべきリソースの識別子と第3の実行時間と第3の実行されるべき動作とを含むとともに第2のトランザクションについての第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信するようにさらに構成され、第2の動作させられるべきリソースの識別子と第4の実行時間と第4の実行されるべき動作とを含むとともに第2のトランザクションについての第4のトランザクション・リソース作成要求を第2の管理対象オブジェクト・デバイスに送信するようにさらに構成され、第3の実行時間と第4の実行時間は同じである。
受信モジュール11は、あらかじめ設定された時間内に、第1の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答を受信し、あらかじめ設定された時間内に、第2の管理対象オブジェクト・デバイスによって送信されるとともに第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答を受信するようにさらに構成され、第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っている。この場合、送信モジュール10は、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答及び第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答に基づいて、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、第2のトランザクションの第4のトランザクション・リソースについての処理要求を送信するようにさらに構成され、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている。
さらに、送信モジュール10は、具体的には、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答が、更新された第3の実行時間を持っていない第1の失敗応答であるということを決定し、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、第4のトランザクション・リソースの識別子を持っている削除要求を送信する、又は、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答が、更新された第3の実行時間を持っている第2の失敗応答であるということを決定し、第4のトランザクション・リソースの作成に成功したことを示す応答を送信する第2の管理対象オブジェクト・デバイスに、更新された第3の実行時間及び第4のトランザクション・リソースの識別子を持っている更新要求を送信するように構成され、更新された第3の実行時間を持っている第3のトランザクション・リソース作成要求を第1の管理対象オブジェクト・デバイスに送信するようにさらに構成される。
本発明のこの実施形態によって提供されるアプリケーション・サーバについては、アプリケーション・サーバの前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
図11は、本発明による管理対象オブジェクト・デバイスの実施形態1の概略構造図である。管理対象オブジェクト・デバイスは、マシン・トゥ・マシン通信M2Mシステムに適用される。M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含む。管理対象オブジェクト・デバイスは、少なくとも2つの管理対象オブジェクト・デバイスのうちのいずれか1つであり、第2の管理対象オブジェクトは、その管理対象オブジェクト・デバイスを除く少なくとも2つの管理対象オブジェクト・デバイス内の任意の管理対象オブジェクト・デバイスである。図11に示されるように、管理対象オブジェクト・デバイスは、受信モジュール20と、作成モジュール21と、決定モジュール22と、処理モジュール23とを含む。
受信モジュール20は、第1のトランザクションについてアプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を受信するように構成され、この第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含み、第1の実行時間は、第1のトランザクションに対する第2のトランザクション・リソース作成要求内の第2の実行時間と同じであり、第2のトランザクション・リソース作成要求は、M2Mシステムの中の管理対象オブジェクト・デバイス以外の第2の管理対象オブジェクト・デバイスによって受信される。作成モジュール21は、第1のトランザクション・リソース作成要求にしたがって第1のトランザクション・リソースを正常に作成するように構成され、この第1のトランザクション・リソースは、第1の実行時間と、第1の実行されるべき動作とを含む。決定モジュール22は、第1の実行時間が到来すると、第1のトランザクションの第1のトランザクション・リソースについてアプリケーション・サーバによって送信された処理要求が受信されないということを決定するように構成され、第1のトランザクションの第1のトランザクション・リソースについての処理要求は、アプリケーション・サーバが、第2の管理対象オブジェクト・デバイスによって送信されるとともに第1のトランザクションの第2のトランザクション・リソースの作成に成功しなかったことを示す応答を受信した後に、送信される。処理モジュール23は、第1の実行されるべき動作を実行するように構成される。
本発明のこの実施形態によって提供される管理対象オブジェクト・デバイスについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
図12は、本発明による管理対象オブジェクト・デバイスの実施形態2の概略構造図である。この実施形態は、管理対象オブジェクト・デバイスによって第3のトランザクション・リソースを作成する特定のプロセスに関する。図11に示される前述の実施形態に基づくと、管理対象オブジェクト・デバイスは、送信モジュール24をさらに含む。
受信モジュール20は、第2のトランザクションについてアプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信するようにさらに構成され、この第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含み、第3の実行時間は、第2の管理対象オブジェクト・デバイスによって受信される第2のトランザクションに対する第4のトランザクション・リソース作成要求内の第4の実行時間と同じである。作成モジュール21は、第3のトランザクション・リソースが第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗するということを決定するようにさらに構成される。送信モジュール24は、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信するように構成される。
さらに、作成モジュール21は、具体的には、第1のトランザクション・リソース・キューが管理対象オブジェクト・デバイスに存在するということを決定し、第3の実行時間及び管理対象オブジェクト・デバイスの第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たさないということを決定し、あらかじめ設定されたリソース作成条件にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定するように構成され、第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。送信モジュール24は、具体的には、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信するように構成される。
本発明のこの実施形態によって提供される管理対象オブジェクト・デバイスについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
図12をさらに参照すると、この実施形態は、管理対象オブジェクト・デバイスが第3のトランザクション・リソースを正常に作成し、第2の管理対象オブジェクト・デバイスが第4のトランザクション・リソースを正常に作成し、管理対象オブジェクト・デバイスが、第2のトランザクションの第3のトランザクション・リソースについてアプリケーション・サーバによって送信された処理要求にしたがって作成された第3のトランザクション・リソースを処理する特定のプロセスに関する。具体的には、以下の通りである。
受信モジュール20は、第2のトランザクションについてアプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信するようにさらに構成され、この第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含み、第3の実行時間は、第2の管理対象オブジェクト・デバイスによって受信される第2のトランザクションに対する第4のトランザクション・リソース作成要求内の第4の実行時間と同じである。作成モジュール21は、第3のトランザクション・リソース作成要求にしたがって第3のトランザクション・リソースを正常に作成するようにさらに構成される。送信モジュール24は、第2のトランザクションの第3のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信するようにさらに構成され、第3のトランザクション・リソースの作成に成功したことを示す応答は、第3のトランザクション・リソースの識別子を持つ。決定モジュール22は、第3の実行時間が到来する前に、第2のトランザクションの第3のトランザクション・リソースについてアプリケーション・サーバによって送信された処理要求が受信されるということを決定するようにさらに構成され、第2のトランザクションの第3のトランザクション・リソースについての処理要求は、第3のトランザクション・リソースの識別子を持つ。処理モジュール23は、第3のトランザクション・リソースの識別子にしたがって作成された第3のトランザクション・リソースを処理するようにさらに構成される。
さらに、作成モジュール21は、具体的には、第1のトランザクション・リソース・キューが管理対象オブジェクト・デバイスに存在するということを決定し、第3の実行時間及び管理対象オブジェクト・デバイスの第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第3のトランザクション・リソースを作成するように構成され、第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
選択的に、第2のトランザクションの第3のトランザクション・リソースについての処理要求は、第3のトランザクション・リソースの識別子及び更新された第4の実行時間を持っている更新要求であり、処理モジュール23は、具体的には、更新された第4の実行時間にしたがって第3のトランザクション・リソースを正常に更新し、更新が成功した後に、更新成功応答メッセージをアプリケーション・サーバに返送する、又は、更新された第4の実行時間にしたがって第3のトランザクション・リソースを更新するのに失敗し、更新失敗応答メッセージをアプリケーション・サーバに返送するように構成される。さらに、処理モジュール23は、具体的には、第3のトランザクション・リソースの識別子にしたがって管理対象オブジェクト・デバイスにある第3のトランザクション・リソースを削除し、更新された第4の実行時間を新しい第3のトランザクション・リソースの実行時間として使用して、新しい第3のトランザクション・リソースの実行時間及び管理対象オブジェクト・デバイスの第1の動作させられるべきリソースの状態にしたがって、新しい第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、更新された第4の実行時間にしたがって新しい第3のトランザクション・リソースを作成するように構成される。
管理対象オブジェクト・デバイスによって第3のトランザクション・リソースを更新するプロセスについては、方法実施形態において第2の管理対象オブジェクト・デバイスによって第4のトランザクション・リソースを更新するプロセスを参照されたく、詳細は、本明細書では、再度説明されないことが留意されるべきである。
選択的に、第2のトランザクションの第3のトランザクション・リソースについての処理要求は、第3のトランザクション・リソースの識別子を持っている削除要求であり、処理モジュール23は、具体的には、第3のトランザクション・リソースの識別子にしたがって管理対象オブジェクト・デバイスにある第3のトランザクション・リソースを削除するように構成される。
選択的に、第1のトランザクション・リソース・キューの中の1つのトランザクション・リソースは予約状態であり、処理モジュール23は、第1のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定し、第2の位置にあるトランザクション・リソースが正常に実行される場合に、第1の削除応答をアプリケーション・サーバに送信し、第1の位置にあるトランザクション・リソースが実行された後に、第2の位置にあるトランザクション・リソースの状態を予約状態へと更新する、又は、第2の位置にあるトランザクション・リソースが実行されるのに失敗する場合、第2の位置にあるトランザクション・リソースを削除するようにさらに構成される。第1の位置は、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースの前の位置であり、第2の位置は、第1のトランザクション・リソース・キューの中の第3のトランザクション・リソースの次の位置である。
選択的に、第1のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースは予約状態であり、処理モジュール23は、第1のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすか否かを決定し、そうである場合、半予約状態のトランザクション・リソースを削除し、第2の削除応答をアプリケーション・サーバに送信する、又は、そうでない場合、半予約状態のトランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の第1の動作させられるべきリソースの状態にしたがって、半予約状態のトランザクション・リソースが正常に実行可能であるということを決定し、半予約状態のトランザクション・リソースを予約状態へと更新するようにさらに構成される。
管理対象オブジェクト・デバイスによって第3のトランザクション・リソースを削除するプロセスについては、方法実施形態において第2の管理対象オブジェクト・デバイスによって第4のトランザクション・リソースを削除するプロセスを参照されたく、詳細は、本明細書では、再度説明されないことが留意されるべきである。
本発明のこの実施形態によって提供される管理対象オブジェクト・デバイスについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
図13は、本発明による、分散トランザクション・リソースを実行するためのシステムの1つの実施形態の概略構造図である。このシステムは、M2Mシステムに適用される。M2Mシステムは、少なくとも2つの管理対象オブジェクト・デバイスと、アプリケーション・サーバとを含む。第1の管理対象オブジェクト・デバイス31は、少なくとも2つの管理対象オブジェクト・デバイスのいずれか1つであり、第2の管理対象オブジェクト・デバイス32は、第1の管理対象オブジェクト・デバイスを除く、少なくとも2つの管理対象オブジェクト・デバイス内の任意の管理対象オブジェクト・デバイスである。図13に示されるように、分散トランザクション・リソースを実行するためのシステムは、第1の管理対象オブジェクト・デバイス31と、第2の管理対象オブジェクト・デバイス32とを含む。具体的には、以下の通りである。
第1の管理対象オブジェクト・デバイス31は、第1のトランザクションについてアプリケーション・サーバによって送信された第1のトランザクション・リソース作成要求を受信し、この第1のトランザクション・リソース作成要求にしたがって第1のトランザクションの第1のトランザクション・リソースを正常に作成し、第1のトランザクションの第1のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信するように構成され、第1のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第1の実行時間と、第1の実行されるべき動作とを含む。第2の管理対象オブジェクト・デバイス32は、第1のトランザクションについてアプリケーション・サーバによって送信された第2のトランザクション・リソース作成要求を受信し、この第2のトランザクション・リソース作成要求にしたがって第1のトランザクションの第2のトランザクション・リソースを正常に作成し、第1のトランザクションの第2のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信するように構成される。第2のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第2の実行時間と、第2の実行されるべき動作とを含み、第1の実行時間と第2の実行時間は同じであり、第1のトランザクション・リソースは、第1の実行時間と、第1の実行されるべき動作とを含み、第2のトランザクション・リソースは、第2の実行時間と、第2の実行されるべき動作とを含む。第1の実行時間が到来すると、第1の管理対象オブジェクト・デバイス31及び第2の管理対象オブジェクト・デバイス32はそれぞれ、第1の管理対象オブジェクト・デバイス及び第2の管理対象デバイスによって実行されるべき動作を実行するように構成される。
本発明のこの実施形態による分散トランザクション・リソースを実行するためのシステムについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
さらに、第1の管理対象オブジェクト・デバイス31は、第2のトランザクションについてアプリケーション・サーバによって送信された第3のトランザクション・リソース作成要求を受信し、第2のトランザクションの第3のトランザクション・リソースが第3のトランザクション・リソース作成要求にしたがって作成されるのに失敗するということを決定し、第2のトランザクションの第3のトランザクション・リソースの作成に成功しなかったことを示す応答をアプリケーション・サーバに送信するようにさらに構成され、第3のトランザクション・リソース作成要求は、第1の動作させられるべきリソースの識別子と、第3の実行時間と、第3の実行されるべき動作とを含む。第2の管理対象オブジェクト・デバイス32は、第2のトランザクションについてアプリケーション・サーバによって送信された第4のトランザクション・リソース作成要求を受信し、第4のトランザクション・リソース作成要求にしたがって第2のトランザクションの第4のトランザクション・リソースを正常に作成し、第2のトランザクションの第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信するようにさらに構成される。第4のトランザクション・リソース作成要求は、第2の動作させられるべきリソースの識別子と、第4の実行時間と、第4の実行されるべき動作とを含み、第3の実行時間と第4の実行時間は同じであり、第4のトランザクション・リソースの作成に成功したことを示す応答は、第4のトランザクション・リソースの識別子を持っている。第4のトランザクション・リソースの作成に成功したことを示す応答をアプリケーション・サーバに送信する第2の管理対象オブジェクト・デバイス32は、アプリケーション・サーバによって送信された第2のトランザクションの第4のトランザクション・リソースについての処理要求を受信し、第4のトランザクション・リソースの識別子にしたがって作成された第4のトランザクション・リソースを処理するようにさらに構成され、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている。
またさらに、第1の管理対象オブジェクト・デバイス31は、具体的には、第1のトランザクション・リソース・キューが第1の管理対象オブジェクト・デバイス31上に存在するということを決定し、第3の実行時間及び第1の管理対象オブジェクト・デバイス31の第1の動作させられるべきリソースの状態にしたがって、第3のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たさないということを決定し、あらかじめ設定されたリソース作成条件にしたがって、第1のトランザクション・リソース・キューの中のトランザクション・リソースの実行時間よりも遅い時間へと第3の実行時間を更新するということを決定して、更新された第3の実行時間を持っている第2の失敗応答をアプリケーション・サーバに送信するように構成され、第1のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
またさらに、第2の管理対象オブジェクト・デバイス32は、具体的には、第2のトランザクション・リソース・キューが第2の管理対象オブジェクト・デバイス32上に存在するということを決定し、第4の実行時間及び第2の管理対象オブジェクト・デバイス32の第2の動作させられるべきリソースの状態にしたがって、第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、第4のトランザクション・リソースを作成するように構成され、第2のトランザクション・リソース・キューは、少なくとも1つのトランザクション・リソースを含む。
本発明のこの実施形態による分散トランザクション・リソースを実行するためのシステムについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
選択的に、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子及び更新された第3の実行時間を持っている更新要求であり、第2の管理対象オブジェクト・デバイス32は、更新された第3の実行時間にしたがって第4のトランザクション・リソースを正常に更新し、更新が成功した後に、更新成功応答メッセージをアプリケーション・サーバに返送する、又は、更新された第3の実行時間にしたがって第4のトランザクション・リソースを更新するのに失敗し、更新失敗応答メッセージをアプリケーション・サーバに返送するようにさらに構成される。
さらに、第2の管理対象オブジェクト・デバイス32は、第4のトランザクション・リソースの識別子にしたがって第2の管理対象オブジェクト・デバイス32上の第4のトランザクション・リソースを削除し、更新された第3の実行時間を新しい第4のトランザクション・リソースの実行時間として使用し、新しい第4のトランザクション・リソースの実行時間及び第2の管理対象オブジェクト・デバイス32の第2の動作させられるべきリソースの状態にしたがって、新しい第4のトランザクション・リソースがあらかじめ設定されたリソース作成条件を満たすということを決定し、更新された第3の実行時間にしたがって新しい第4のトランザクション・リソースを作成するようにさらに構成される。
本発明のこの実施形態による分散トランザクション・リソースを実行するためのシステムについては、前述の方法実施形態の実行プロセスを参照されたい。実装原理及びその技術的効果は、方法実施形態の実装原理及びその技術的効果に類似しており、詳細は、本明細書では、再度説明されない。
選択的に、第2のトランザクションの第4のトランザクション・リソースについての処理要求は、第4のトランザクション・リソースの識別子を持っている削除要求であり、第2の管理対象オブジェクト・デバイス32は、第4のトランザクション・リソースの識別子にしたがって第2の管理対象オブジェクト・デバイスにある第4のトランザクション・リソースを削除するようにさらに構成される。
選択的に、第2のトランザクション・リソース・キューの中の1つのトランザクション・リソースは、予約状態であり、第2の管理対象オブジェクト・デバイス32は、第2のトランザクション・リソース・キューの中の第1の位置にあるトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、第2の位置にあるトランザクション・リソースが正常に実行可能であるか否かを決定するようにさらに構成され、第1の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースの前の位置であり、第2の位置は、第2のトランザクション・リソース・キューの中の第4のトランザクション・リソースの次の位置である。第2の位置にあるトランザクション・リソースが正常に実行される場合に、第2の管理対象オブジェクト・デバイス32は、第1の削除応答をアプリケーション・サーバに送信し、第1の位置にあるトランザクション・リソースが実行された後に、第2の位置にあるトランザクション・リソースの状態を予約状態へと更新するようにさらに構成される。又は、第2の位置にあるトランザクション・リソースが実行されるのに失敗する場合、第2の管理対象オブジェクト・デバイス32は、第2の位置にあるトランザクション・リソースを削除するようにさらに構成される。
選択的に、第2のトランザクション・リソース・キューの中の少なくとも2つのトランザクション・リソースは、予約状態であり、第2の管理対象オブジェクト・デバイス32は、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たすか否かを決定するようにさらに構成される。第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たす場合に、第2の管理対象オブジェクト・デバイス32は、半予約状態のトランザクション・リソースを削除し、第2の削除応答をアプリケーション・サーバに送信するようにさらに構成される。又は、第2のトランザクション・リソース・キューの中の半予約状態のトランザクション・リソースがあらかじめ設定された削除条件を満たさない場合に、第2の管理対象オブジェクト・デバイス32は、半予約状態のトランザクション・リソースの前のいずれかのトランザクション・リソースが実行された後の第2の動作させられるべきリソースの状態にしたがって、半予約状態のトランザクション・リソースが正常に実行可能であるということを決定し、半予約状態のトランザクション・リソースを予約状態へと更新するようにさらに構成される。