JP6510099B2 - ロボットシステムのノードを同期させるためのシステム及び方法 - Google Patents

ロボットシステムのノードを同期させるためのシステム及び方法 Download PDF

Info

Publication number
JP6510099B2
JP6510099B2 JP2018034965A JP2018034965A JP6510099B2 JP 6510099 B2 JP6510099 B2 JP 6510099B2 JP 2018034965 A JP2018034965 A JP 2018034965A JP 2018034965 A JP2018034965 A JP 2018034965A JP 6510099 B2 JP6510099 B2 JP 6510099B2
Authority
JP
Japan
Prior art keywords
node
attributes
attribute
database
subscriber
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018034965A
Other languages
English (en)
Other versions
JP2018137758A (ja
Inventor
ディー ホフマン,ブライアン
ディー ホフマン,ブライアン
ラデル,ジョシュア
Original Assignee
インテュイティブ サージカル オペレーションズ, インコーポレイテッド
インテュイティブ サージカル オペレーションズ, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテュイティブ サージカル オペレーションズ, インコーポレイテッド, インテュイティブ サージカル オペレーションズ, インコーポレイテッド filed Critical インテュイティブ サージカル オペレーションズ, インコーポレイテッド
Publication of JP2018137758A publication Critical patent/JP2018137758A/ja
Application granted granted Critical
Publication of JP6510099B2 publication Critical patent/JP6510099B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B34/37Master-slave robots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Surgery (AREA)
  • Robotics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Public Health (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Veterinary Medicine (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Manipulator (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Description

関連出願の相互参照
本出願は、2013年2月15日に出願された、米国仮出願第61/765,559号、及び2014年2月14日に出願された、米国非仮出願第14/181,499号の優先権を主張し、当該出願はそれらの全体が参照により本出願に援用される。
本開示は、ロボットシステムのノードを同期させるためのシステム及び方法に関する。特に、本開示は、ロボットシステムのそれぞれのノードにおいて実行されることができる同期データベースに関し、同期データベースは、ロボットシステムのノード間の更新された属性の購読及び発行を可能にする。
いくつかのアプリケーションは、通信に関して、高帯域幅要件並びに厳密な同期、待ち時間、及び信頼性要件を有する。例えば、ロボット支援手術は、実時間で制御及びフィードバック信号を伝達するために低遅延を必要とする。理想的には、マスタインプットを制御している外科医の動作とマスタに従動するロボットの動作との間はできる限り小さい遅れであるべきであるので、このようなアプリケーションの同期及び待ち時間要件は厳格である。
ロボット支援手術システムを含む、複雑なシステムは、システム内で共に働き、従って、同期されたままになる必要がある、一般にここでは「ノード」と称される、多くのコンポーネントを含む。これらの結合されたノードのそれぞれに対して、第1のノードが第2のノードにデータ要求を送信することによって同期が頻繁に実行され、このデータ要求に対して第2のノードは、要求されたデータを第1のノードに提供することによって要求に応答する。いくつかの場合、第1のノードは、第2のノード及び第3のノードの存在をチェックし、第2及び第3のノードが存在することが見出される場合、第1のノードはその後第2及び第3のノードにデータをプッシュする。第2又は第3のノードが第1のノードから切り離されその後再接続される場合、第1のノードは、第2又は第3のノードが第1のノードから切り離されたことを通知されないかもしれず、結果として再接続されたノードは、切り離しの間に第1のノードが送ったデータを取り損なうかもしれない。さらに、新しいノードが第1のノードに結合されるとき、第1のノードは新しいノードの存在をチェックしないかもしれず、したがって、何のデータも新しいノードに提供されないので、新しいノードにおけるデータは第1のノードのデータと同期されない。最終的に、ノードの存在を絶えずチェックしその後同期されたままにするためにノードのそれぞれにデータを送ることのシステムに対する必要は、システムを減速させ得る又はメッセージキューをオーバーフローさせ得る不必要なシステムトラフィックを作り得る。
必要とされることは、システムのノードの自動的な同期を最小のシステムトラフィックで可能に且つシステムへの新しいノードの迅速な同期を可能にするシステム及び方法である。
幾つかの実施形態と一致して、ロボットシステムが提供される。ロボットシステムは、少なくとも1つの第1の同期データベースを含む発行(パブリッシュ)ノードを含み、第1の同期データベースは、複数の属性(attributes)であって、属性のそれぞれが属性を識別するタグ及びデータを含む、複数の属性、属性のそれぞれと関連付けられるフラグ、及び購読者(サブスクライバ)リストを含む。システムはまた、少なくとも1つの第2の同期データベースを含む購読者ノードを含む。属性が少なくとも1つの第1の同期データベースに書かれるとき又は属性に含まれるデータが修正され且つ購読者ノードにフラグ付き属性を発行するとき、発行ノードは、属性に関連付けられるフラグをセットするように構成される。
幾つかの実施形態と一致して、ロボットシステムのノードに渡ってデータを同期させるための方法も提供される。方法は、発行ノードから、発行ノードで実行している同期データベースのサーバインスタンスに格納される属性を広告する広告メッセージを送信するステップ、発行ノードに結合される購読(サブスクライブ)ノードによって、広告メッセージを受信するステップ及び購読ノードによって、少なくとも1つの購読ノードが購読することを望む発行ノードで実行している同期データベースのサーバインスタンスに格納される属性を示すサブスクリプション(購読)メッセージを送信するステップ、を含む。方法はまた、発行ノードによって、発行ノードで実行している同期データベースのサーバインスタンスに保持される購読リストに購読ノードを加えるステップ、発行ノードによって、購読される属性のそれぞれに対してフラグをセットするステップ、発行ノードによって、フラグ付き属性のそれぞれを含む同期パケットを購読ノードに送信するステップ、及び送信された属性のそれぞれに対してフラグをクリアするステップ、を含む。
さらに幾つかの実施形態と一致して、実行されるとき、ロボットシステムの1又は複数のプロセッサにロボットシステムのノードを同期させる方法を実行させる、ロボットシステムの1又は複数のプロセッサによる実行のための命令を有する非一時的なコンピュータ可読媒体も提供され、方法は、発行ノードから、発行ノードで実行している同期データベースのサーバインスタンスに格納される属性を広告する広告メッセージを送信するステップ、発行ノードに結合される購読ノードによって、広告メッセージを受信するステップ、及び購読ノードから発行ノードに購読メッセージを送信するステップを含み、購読メッセージは、少なくとも1つの購読ノードが購読することを望む発行ノードで実行している同期データベースのサーバインスタンスに格納される属性を示す。方法はまた、発行ノードで実行している同期データベースのサーバインスタンスに保持される購読リストに購読ノードを加えるステップ、発行ノードで実行している同期データベースのサーバインスタンスに購読される属性のそれぞれに対してフラグをセットするステップ、発行ノードから購読ノードに同期パケットを送信するステップであって、同期パケットはフラグ付き属性のそれぞれを含む、ステップ、及び発行ノードで実行している同期データベースのサーバインスタンスの送信された属性のそれぞれに対してフラグをクリアするステップ、を含む。
これらの及び他の実施形態は、以下の図に関して、以下にさらに詳細に記載される。
幾つかの実施形態と一致する、同期データベースのインスタンスを使用するシステムのノードを同期させるためのシステムを示す図である。 幾つかの実施形態と一致する、同期パケットを示す図である。 幾つかの実施形態と一致する、複数の同期データベースインスタンスがノードで実行しているシステムを示す図である。 幾つかの実施形態と一致する、サーバデータベースとクライアントデータベースとの間の属性を同期させる方法を示すフローチャートである。 幾つかの実施形態と一致する、サーバデータベースとクライアントデータベースとの間の属性を同期させる方法を示すフローチャートである。 幾つかの実施形態と一致する、エラー検出方法を示すフローチャートである。 幾つかの実施形態と一致する、ロボットシステムで使用されている図1のシステムの例である。 幾つかの実施形態と一致する、ロボットシステムで使用されている図1のシステムの他の例である。 幾つかの実施形態と一致する、ロボットシステムで使用されている図1のシステムの他の例である。 幾つかの実施形態と一致する、ロボット支援手術システムで使用されている図1のシステムの例である。 図面において、同じ記号を有する要素は、同じ又は同様の機能を有する。
以下の記載では、幾つかの実施形態を記載する特定の詳細が説明される。しかし、開示された実施形態がこれらの特定の詳細の幾つか又は全てなしで実施され得ることは、当業者に明白となるであろう。提示される特定の実施形態は、説明のためであって、限定するものではないことが意味される。当業者は、ここに具体的に記載されていないが、他の要素がこの開示の範囲及び精神の中にあることを理解することができる。様々な機械的、組成上の、構造的、電気的、及び動作上の変更が、この記載及び請求項の精神及び範囲から離れることなしに行われ得る。場合によっては、よく知られた回路、構造、及び技法は、本発明をあいまいにしないように、詳細に示されていない。さらに、単数形“a”、“an”、及び“the”は、文脈上他に指定のない限り、複数形も同様に含むことが意図される。用語「有する」、「有している」、「含む」等は、規定された特徴、ステップ、操作、プロセス、要素、及び/又はコンポーネントの存在を特定するが、1又は複数の他の特徴、ステップ、操作、プロセス、要素、コンポーネント、及び/又は群の存在または追加を除外しない。結合されるように記載される構成要素は、電気的又は機械的に直接結合され得る、或いは1又は複数の中間構成要素を介して間接的に結合され得る。
図1は、幾つかの実施形態と一致する、同期データベースのインスタンスを使用するシステム100のノードを同期させるためのシステム100を示す図である。図1に示されるように、システム100は、複数の相互接続されたノード102−1乃至102−N(「ノード102」として集合的に称される)を含む。幾つかの実施形態と一致して、各ノード102は、装置、ロボットシステムのコンポーネント、1又は複数のプロセッサ、1又は複数のプロセッサで実行されている個々のタスクであり得る。ノード102は、1又は複数のプロセッサを有し且つ1又は複数のプロセッサによる実行のための非一時的なコンピュータ可読媒体に格納された命令を読むことができるハードウェア及び/又はソフトウェアの任意の適切な組み合わせを含み得る。このような命令は、ここに記載されるように、同期データベースの1又は複数のインスタンスを作るための命令を含み得る。
図1に戻ると、ノード102は、第2のノード102−2に結合される第1のノード102−1を含み、この第2のノードは、今度は複数のノード102−3乃至102−Nに結合される。図1に示されていないが、ノード102−1はノード102−2での接続と同様の方法で、追加的なノードに直接結合され得る。幾つかの実施形態と一致して、メモリ(図示せず)が各ノード102と関連付けられる。さらに、1又は複数のプロセッサもまた、各ノード102と関連付けられることができる。同期データベースのインスタンスを作るための命令がメモリに記憶されることができ、1又は複数のプロセッサは、各ノード102において同期データベースの1又は複数のインスタンスを作るためにこれらの命令を実行することができる。幾つかの実施形態と一致して、同期データベースは、(i)状態又はイベントのような、データ属性を格納する、(ii)発行ノードと称される、1つのノードのデータ変化のアグリゲーション(aggregation)をサポートする、及び(iii)1又は複数の購読ノードへのその変化したデータの発行をサポートするソフトウェアコンテナオブジェクトである。同期データベースは、発行ノードを購読するために及びデータ変化を受信する或いはデータ変化を1又は複数の購読ノードに発行するために必要な機能を実行するように各ノードで実行される1又は複数の同期アプリケーションの実行を通じてこれを達成し得る。同期アプリケーションは、発行ノードのための発行アプリケーション及び購読ノードのための購読アプリケーションと称され得る。
図1に示されるように、ノード102−1は、同期データベース104のサーバインスタンスを実行しており、発行ノードとして働き、ノード102−2は同期データベース106のクライアントインスタンスを実行しており、購読ノードとして働く。同期データベース、サーバインスタンス及びクライアントインスタンスの両方は、属性108と称される、データベクトルのセット、購読ノード116のリスト、及び同期を管理するために使用され得る追加的な状態(図示せず)を格納し得る。属性108は、システム100の状態又はイベントを含むデータを参照し得るとともに、さらに、カウンタ及びタイムスタンプを含み得る。属性108はまた、システム100の挙動を記述するために使用される挙動要素であるデータを参照し得る。幾つかの実施形態と一致して、属性108は、1つのノードに生じる状態又はイベントの視覚的表現であり得るユーザインタフェース(UI)状態又はイベントを参照することができ、この1つのノードに生じる状態又はイベントは、イベントの追加的なノードを更新するために及び/又は追加的なノードのこれらの状態又はイベントの視覚的表現を複製するために追加的なノードに発行されることができる。属性108はまた、図1に示されるノード102−1に関連付けられるデータベース104及びノード102−2に関連付けられるデータベース106のような、1又は複数のデータベースに格納され得る。
図1に示されるように、属性108は、タグ110、データ112、及びセット又はクリアされることができる関連付けられるフラグ114を含む。ノード102−1に関連付けられるデータベース104及びノード102−2に関連付けられるデータベース106は3又は4つの属性のみを有して示されているが、属性の数は、各ノード102の同期データベースインスタンスのために割り当てられたメモリによってのみ制限される。幾つかの実施形態と一致して、データベース104又はデータベース106に格納された属性108は、データベース104又はデータベース106に関連付けられたノードが要求ノードからクエリを受信するとき、要求ノードに送信される。
同期データベースに格納された各属性108は、タグ110によって一意に識別される。幾つかの実施形態と一致して、タグ110は、32ビットタグであり得るとともに、ハッシュテーブル検索機能を使用することによって効率的なデータベース操作をサポートし得る。フラグ114は、属性108が、同期属性108を購読クライアントデータベース106に発行することを必要とするかどうかを示す。属性108がデータベース104に書かれる又はそうでなければデータベース106に格納された対応する属性108が異なり得るようにデータベース104において修正されるとき、フラグ114はセットされる。ノード102−1は1又は複数の属性108を修正することができ、各修正された属性108に対してフラグ114をセットする。ノード102−1は次に、ノード102−2のような購読ノード102にセットされたフラグ114を持つデータベース104に格納された全ての属性108を発行するために、その関連付けられたデータベース104の「発行」方法をコールし得る。属性108が発行された後、フラグ114はデータベース104においてクリアされる。フラグ114は、各購読ノード102に対するビットを含むフィールドであり得る。
図1に示されるように、データベース104はまた、購読リスト116を含み、この購読リストは、ノード102のリストであり且つデータベース104に格納された1又は複数の属性108に購読されているそれらの関連付けられたデータベースである。幾つかの実施形態と一致して、データベース104は、その格納された属性108を広告する。このような実施形態では、データベース104は、ノード102−2のような、他のノードが、データベース104に格納された1又は複数の属性108を完全に又は部分的に購読すべきかを決定することができるように、属性108及びそれが格納しているデータを示す信号を全ての結合されたノードに周期的に送信し得る。例えば、データベース104は、購読ノード102との初期接続に際し又はデータベース104が起動するとき、広告メッセージを送信し得る。同時に、データベース106は、データベース106が必要とするデータを格納する関連付けられるデータベースを有するノードを識別するよう試みるために発見メッセージを周期的に送信する。例えば、データベース106は、データベース104を有する発行ノード102−1との初期接続に際し又はデータベース106が起動するとき、発見メッセージを送信し得る。データベース104が発見メッセージを受信する又はデータベース106が広告信号を受信するとき、データベース104及びデータベース106はリンクを確立する。広告信号又は発見応答信号の受信に際し、データベース106は、購読メッセージをデータベース104に送信し、2つのノードのリンク及びノード102−2に関連付けられるデータベース106のノード102−1に関連付けられるデータベース104に格納された1又は複数の属性108の購読を確立する。
ノード102−2及びその関連付けられるデータベース106は、データベース104に格納される全ての属性108を購読し得る又は幾つかの属性のみを購読し得る。各ノード102は、購読ノードを一意に識別するために購読リスト116に格納される一意識別子を有し得る。ノード102がデータベース104に格納される属性108を購読するとき、購読される属性が修正されるとき、フラグ114がセットされるように、ノードは、各購読される属性108に対してフラグ114を割り当てられる。ノード102がサーバデータベース104を最初に購読するとき、購読される全ての属性108はセットされたフラグ114を有する。ノード102−2及びその関連付けられるデータベース106のような購読ノードは次に、それがセットされたフラグ114を有する全ての属性を受信する準備ができていることを示す応答メッセージをデータベース104に送信し得る。データベース104が、ノード102−2及びその関連付けられるデータベース106のような購読ノードからの応答メッセージを待つ間、データベース104は、購読された属性108への任意のさらなる変更又は修正及びその結果セットされたフラグ114を集める。応答メッセージを受信した後、データベース104は次にセットされたフラグ114を有する属性を発行し、次にフラグ114をクリアする。属性108が受信された後、それらはエラーをチェックされ、エラーが無い場合、購読ノードのデータベースは、データベース104に確認メッセージを送信する。データベース104が確認メッセージを待つ間に修正された任意の購読属性108が、確認メッセージを受信した後に購読ノードのデータベースに発行される。受信ノードのデータベースが、受信属性108がエラーを含むことを決定する場合、データベースは、エラー状態を入力し、データベース104が購読属性を再送信することを要求する。属性108を発行する方法は、以下に図4を参照してさらに論じられる。
ノード102−2がノード102−1におけるデータベース104に格納される属性108を購読するために同期データベースのクライアントインスタンスを実行するのと全く同じように、ノード102−3乃至102−Nもまた、ノード102−2における同期データベースの属性を購読するために同期データベースのクライアントインスタンスを実行し得る。
幾つかの実施形態と一致して、同期データベースインスタンスは、受信した属性を下流のノードに再発行するためにクライアント及びサーバの両方として働き得るように、ダブルバッファされ得る。例えば、ノード102−2は、ノード102−1のデータベース104に格納された属性を購読するために同期データベースのクライアントインスタンスを実行し得る。データベース104から受信される(更新された状態を持つ)属性、場合によりスパニング(spanning)複数同期パケットは、ノード102−2の第1の非アクティブ/「バックグラウンド」バッファに格納される。同時に、ノード102−2の第2のアクティブ/「フォアグラウンド」バッファに格納される同じ属性(現在の状態を持つ)が購読ノード102−3乃至102−Nに発行されることができる。ノード102−1と102−2との間の同期更新が完了するとき、バックグラウンド及びフォアグラウンドバッファは、新しいフォアグラウンドバッファがノード102−1から受信した最新の属性を有するように、交換される。その後、ノード102−2において更新されたフォアグラウンドバッファに保持される属性108は、下流のノード102−3乃至102−Nを更新するために使用される。ノード102−2は、ノード102−1からバックグラウンドバッファにそしてその後フォアグラウンドバッファに受信された、属性108を、ノード102−2から属性を受信することを購読している任意のノード102−3乃至102−Nに再発行する。記載された実施形態では、クライアントインスタンスが記載されるように属性108を再発行することができるとき、ノード102−2が、ノード102−1から受信される属性108をノード102−3乃至102−Nに発行するためにサーバインスタンスを実行する必要はない。しかし、ノード102−2は、図3を参照して以下に記載されるように、同期データベースのサーバインスタンス及びクライアントインスタンスの両方を実行することができる。
さらに、ノード102−2は受信した属性を下流ノードに再発行するためにダブルバッファされているように記載されているが、ノードが受信した属性を下流ノードに再発行していないとしても、他のノードを購読する任意のノード102はダブルバッファされていることから利益を得ることができる。例えば、ノード102−3のような購読ノードは、以下に、図2を参照してさらに記載されるように、同期パケットで、102−2のような発行ノードから修正された属性を受信し得る。これらの同期パケットは、ノード102−3によって受信され、それらが受信されるときバックグラウンドバッファに格納される。いったんノード102−3が特定の同期動作のために同期パケットを受信すると、バックグラウンドバッファはフォアグラウンドバッファと交換され、ノード102−3に集合したトランザクションの微小の見方を与え、ノード102−3がちょうど交換されたフォアグラウンドバッファに格納されることになるさらなる同期パケットを受信することを可能にし、このフォアグラウンドバッファは今やバックグラウンドバッファとして働く。
幾つかの実施形態と一致して、データベースを有する102−1のような発行ノードは、その属性108を購読する、データベース106を有するノード102−2のような、これらのノード102に心拍信号を送信し得る。心拍信号は、属性の無い同期パケットを有する同期更新信号であり得る。幾つかの実施形態と一致して、心拍信号は、属性同期の後、発行ノード102−1から周期的に送信されることができ、周期的送信は各属性同期の後にリセットされる。心拍信号を受信するとき、データベース106は、同期信号として心拍信号を見るとともに、まるで信号が更新された属性を含むように応答メッセージを送信する。クライアントデータベース106を有する、ノード102−2のような購読ノードは、この心拍信号を周期的に受信し、したがって、データベース104がオンラインであり且つデータベース106が、購読している更新された属性を受信することを認識している。購読ノードが周期的な心拍信号を受信することを停止する場合、ノード102−1のデータベース104がオフラインであり且つ更新された属性を提供しないことを認識する。データベース106は次に、発行ノードから送信された広告メッセージを分析し始め得る、発見メッセージをサーバノードに発し始め得る、及び所望の属性を有する発行ノードを購読し得る。幾つかの実施形態では、例えば、発行と購読ノードとの間の通信断絶の後、ノード102−2のデータベース106は、所望の属性を受信するためにノード102−1のデータベース104を再講読し得る。
任意の購読ノード102のデータベースが、受信される応答メッセージの欠如のために、購読ノード及び/又はその関連付けられるデータベースが「死んでいる」と発行ノードがみなすのに十分な所定の期間オフラインになる場合、発行ノードのデータベースは、購読ノード及びその関連付けられるデータベースをその購読リストから外す。いったん購読ノードがオンラインに戻ると、それは、それが以前に行ったのと同じ方法で、発行ノードのデータベースに格納された1又は複数の属性を再講読し得る。すなわち、再講読ノード102は、属性108及びその関連付けられるデータベースから利用可能なデータを示す発行ノードから送信された広告メッセージを受信する、又はそれが購読することを望む属性を示す発見メッセージを送信する、及びその後発行ノードのデータベースに格納された1又は複数の属性108へのメッセージを購読する。発行ノードのデータベースはその後その購読者リスト116に再講読ノードを再び加え、示された属性108のそれぞれに対してフラグ114をセットする。再講読ノードのデータベースから発せられた初期「同期−応答」の受信に際し、発行ノードのデータベースは、セットされたフラグ114を持つ属性を発行する。再講読ノード102のデータベースはその後、その購読属性108への任意の更なる修正を受信する。
図2は、幾つかの実施形態と一致する、同期パケットを示す図である。発行ノードのデータベースが購読ノード102に属性108を発行するとき、属性108は同期パケット200として送信される。同期パケット200は、パケットヘッダ202及びパケットボディ204を含む。パケットボディ204は、同期ヘッダ206及び同期ペイロード208の中に同期されることになる属性108を含む。同期されることになる属性108のそれぞれは、属性ヘッダ210及び属性ペイロード212を含み得る。幾つかの実施形態と一致して、同期ヘッダ206は、(リセット、開始、継続、終了のような)同期状態、同じ発行イベントで発行されている属性のグループに関連付けられるシリアルナンバ、及びパケット数を含み得る。属性ヘッダ210は、属性タグ110、属性の最終修正のタイムスタンプ、及び属性ヘッダ210に続く属性ペイロード212の長さを含み得る。幾つかの実施形態と一致して、属性ヘッダ210はまた、属性ペイロードが分割され且つ多数の同期パケット200に渡って送信されることを可能にするオフセットを含み得る。
幾つかの実施形態と一致して、図1に示されるデータベースのような、発行ノードのデータベースが、セットされたフラグ114を有する属性108を識別し且つノード102−2のデータベース106のような、購読ノードのデータベースに発行するためにこれらの属性を準備する。発行ノードのデータベースは次に、属性108を同期パケット200に配置することができ、この同期パケットの中では、先頭のパケットは同期ヘッダ206において「開始」として示され、後続のパケットは、同期ヘッダ206において「継続」として示され、最終のパケットは同期ヘッダ206において「終了」として示される。幾つかの実施形態と一致して、2つの同期パケットのみが配置される場合、それらはそれぞれ、同期ヘッダ206において「開始」及び「終了」として示される。1つの同期パケットのみが配置される場合、それは、同期ヘッダ206において「終了」として示される。いったん同期パケット200が構成されると、それらはその後、発行ノードのデータベースによって送信され、購読ノードのデータベースによって受信される。各同期パケット200が購読ノードのデータベースによって受信されるとき、属性108は、アンパックされ、データベースに書き込まれる。いったん購読ノードのデータベースが「終了」指示を有する同期ヘッダ206を処理すると、確認メッセージが発行ノードに送られる。その後、幾つかの実施形態と一致して、購読ノードは、発行ノードとして働き、属性をその購読ノード102に発行する。
図3は、幾つかの実施形態と一致して、複数同期データベースインスタンスがノード102で実行しているシステムを示す図である。図3に示されるように、各ノード102は、複数同期データベースインスタンスを実行することができる。例えば、図3に示されるように、ノード102−1は、(i)購読ノード102−2及び関連付けられるデータベース106に属性を発行するための同期データベース104のサーバインスタンス、及び(ii)ノード304及びその関連付けられるデータベース306を購読する同期データベースインスタンス302のクライアントインスタンスの両方を実行している。したがって、データベース302は、購読者リスト316に記されるように、データベース306の属性308に加入(購読)され、データベース302は、これらの属性308がデータベース306に書き込まれる又はそうでなければ修正されるとき、これらの属性を受信する。同時に、データベース104は、書き込まれた又はそうでなければ修正された属性108を、購読ノード102−2のデータベース106に及び、もし購読されるとしたら、追加的に結合されたノード310−1乃至310−Nに発行する。各ノード102、304、及び310は、購読ノード及び発行ノードの両方であることができるように、同期データベースの複数のインスタンスを実行することができる。そして、幾つかの実施形態と一致して、単一ノードで実行しているデータベースの1又は複数は、上述のようにダブルバッファされ得る。
したがって、単一ノードは、発行及び購読ノードの両方であることができ、これらの発行及び購読機能は、単一属性データ同期データベース又は複数属性データ同期データベースのいずれかを用いて実行され得る。単一ノードは、属性の第1のセットを1又は複数のノードの対応する第1のセットに及び属性の第2のセットを1又は複数の購読ノードの対応する第2のセットに発行し得る。同様に、単一ノードは、第1の発行ノードから属性の第1のセットを及び第2の発行ノードから属性の第2のセットを購読し得る。そして、心拍信号のような、上述の様々な特徴は、様々な同期データベースの1又は複数の特徴であり得る。加えて、幾つかの実施形態と一致して、相互接続されたノードのセットが単に1つの下流方向だけではなく両方向での属性更新を実行し得る。
図4A及び4Bは、幾つかの実施形態と一致する、発行ノードと購読ノードとの間の属性を同期させる方法を示すフローチャートである。特に、図4Aは、ノード102−1のデータベース104によって実行されるアクションを示し、図4Bは、ノード102−2のデータベース106によって実行されるアクションを示す。説明のために、図4A及び4Bに示される方法は、図1−3を参照して記載される。図4A及び4Bに示される方法は、ロボットシステムのメモリ又はノード102に関連付けられるメモリに入れられた命令に含まれ得るとともに、ロボットシステムに含まれる又はノード102に関連付けられる1又は複数のプロセッサによって実行され得る。
図4A及び4Bに示されるように、同期データベース104のサーバインスタンスを有する発行ノード102−1は、広告メッセージを周期的に送信し(401)、その上で実行している同期データベース106のクライアントインスタンスを有するノード102−2のような、購読ノード102は、発見メッセージを周期的に送信する(402)。例えば、データベース104及びクライアントデータベース102はそれぞれ、データベース104を有する発行ノード102−1とデータベース106を有する購読ノード102との間の初期接続に際し又はデータベース104及び106が起動するとき、広告メッセージ及び発見メッセージを送信し得る。幾つかの実施形態と一致して、広告メッセージは、データベース104に格納される属性108に関する情報を含み得る。発見メッセージは、購読ノード102−2のデータベース106が必要とする属性108を示し得る。ノード102−1のデータベース104がノード102−2からの発見メッセージを受信する(403)とき、発見応答メッセージを購読ノードに送り返す(404)。購読ノード102−2が、発行ノードから広告メッセージを受信する(405)又は発行ノードから発見応答メッセージを受信する(406)とき、サーバ発見コールバック(407)が購読ノード102−2のデータベース106によって起動され、データベース104を有する発行ノード102−1が発見されていることを購読ノードに知らせる。購読ノード102−2はその後、追加購読者メッセージを発行ノード102−1に送信する(408)。幾つかの実施形態と一致して、追加購読者メッセージは、どの属性を購読ノード102−2が購読することを望むかを示し得る。発行ノード102−1が購読ノード102−2から追加購読者メッセージを受信するとき、発行ノード102−1のデータベース104は、ノード102−2を購読者として追加し(409)且つそれを購読者リスト116に追加する。購読ノード102−2を購読者として追加することはまた、購読者が追加されていることを発行ノード102−1に知らせる購読者追加コールバック(410)を起動する。いったん購読ノード102−2が発行ノード102−1のデータベース1−4に購読者として加えられると、データベース104は全ての購読属性に対してフラグ114をセットし(411)、購読ノード102−2からの同期応答メッセージを待つ(412)。データベース104が購読ノード102−2からの同期応答メッセージを待つ間、同期応答メッセージが受信されるまで、属性108に対する修正がデータベース104に集められる。したがって、データベース106が、それが受け取ることが出来る情報の量のみを受信するように、購読ノード102−2のデータベース106に送信される情報の組み込み制限がある。
図4A及び4Bに戻ると、購読ノード102−2が同期応答メッセージを送信(413)した後、同期パケットが発行ノード102−1によって送信されることを待つ(414)。いったん発行ノード102−1が購読データベース102−2から同期応答メッセージを受信すると、発行ノード102−1のデータベース104は、購読ノード102−2に購読されるいずれかの属性がセットされたフラグ114を有するかどうかを決定する(415)。発行ノード102−1のデータベース104が、1又は複数の属性の購読者としてクライアントデータベース106にちょうど加えられた場合、全ての属性108に対するフラグ114はセットされる。そうでなければ、属性108に対するフラグ114は、属性108が修正されるとき、セットされ、このデータベース104は、修正属性コールが発行アプリケーションから受信される(416)とき、処理する。属性108がセットされたフラグ114を有さない場合、データベース104は、アイドル状態に入り、サーバアプリケーションからの発行コールを待つ(417)。データベース104が、セットされたフラグ114を有する属性108がまだあることを決定する場合及び/又はデータベース104が発行コール(418)を受信するとき、発行ノード102−1のデータベース104は、セットされたフラグ114を有する属性108を含む1又は複数の同期パケット200を発行し(419)、全ての発行属性108に対するフラグ114をクリアし(420)、その後、購読ノード102−2からの同期応答信号を待つことに進む(412)。購読ノード102−2のデータベース106が発行ノード102−1から1又は複数の同期パケットを受信する(421)とき、データベース106は、その中に格納された属性108を更新し(422)、受信した全ての同期パケットに対して、受信したパケットが同期ヘッダ206の「終了」として示される最終パケットであるかどうかを確かめる(423)。購読ノード102−2のデータベース106が、受信した同期パケット200が最終パケットでないことを決定する場合、発行ノード102−1のデータベース104からの追加的な同期パケット200を待ち続ける(414)。受信した同期パケット200が最終パケットである場合、購読ノード102−2のデータベース106は、クライアント更新コールを開始し(424)、このクライアント更新コールは、同期応答メッセージを発行ノード102−1に送り(413)且つノード102−3乃至102−Nのような、任意の下流購読者に更新された属性108を再発行する(425)。図4A及び4Bに示されていないが、ステップ421と422との間で、クライアントデータベースは、受信した同期パケット200にエラー検出を実行し得る。エラー検出方法の例は、以下に、図5を参照して記載される。
図5は、幾つかの実施形態と一致するエラー検出方法を示すフローチャートである。説明のために、図5に示される方法は、図1−3を参照して記載される。図5に示される方法は、ロボットシステムの又はノード102に関連付けられるメモリに入れられた命令に含まれ得るとともに、ロボットシステムに含まれる又はノード102に関連付けられる1又は複数のプロセッサによって実行され得る。
図5に示されるように、ノード102−1のような発行ノードから同期パケット200を受信した後、ノード102−2のような、購読ノードは、同期パケット200のエラーをスキャンする(502)。同期パケット200にエラーが見つからない場合、購読ノード102−2のデータベース106は、属性がアンパックされデータベース106に書きこまれる(504)ように、同期パケットを普通に処理する。エラーが検出される場合、エラー信号が購読ノード102−2によって発行ノード102−1に送信される(506)。購読ノード102−2はその後、「開始」、「継続」、又は「終了」指示を持つ同期ヘッダ206を有する如何なるさらに受信される同期パケット200も廃棄されるエラー状態に入る(508)。いったん発行ノード102−1がエラー信号を受信すると、データベース104は、購読ノード102−2が購読されている全ての属性に対してフラグ114をセットする(510)。発行ノード102−1はその後、「リセット」指示を持つ同期ヘッダ206を有する同期パケット200であり得るリセットメッセージを購読ノード102−2に送信する(512)。幾つかの実施形態と一致して、リセットメッセージは、如何なるペイロードも含まなくてもよく、購読ノード102−2のデータベース106によって受信される属性の予想シーケンスをリセットするように働く。発行ノード102−1はその後、フラグ付き属性を含む同期パケット200を購読ノード102−2に送信し(514)、購読ノード102−2のデータベース106は再び同期パケット200のエラーをスキャンする(502)。幾つかの実施形態と一致して、他のエラーが発見される場合、他のエラー信号が送られ、ステップ506−514が再び実行される。さらに幾つかの実施形態と一致して、発行ノード102−1のデータベース104は、同期パケット200を購読ノード102−2にうまく送信しようとする試みの数を数えるカウンタを含むことができ、カウンタが所定の数に達する場合、送信を中止する。データベース104はその後、エラーが発生したことを記録することができ、データベース104がタイムアウトコールバックで安全目的のために任意のアクションを取ること又はエラーを修正することを可能にするタイムアウトを発生させることができる。カウンタは、発行ノード102−1が成功した送信を示す購読ノード102−2からの確認メッセージを受信するとき、リセットされ得る。
図1−5に記載されるような実施形態は、ロボットシステムのノードを最小のシステムトラフィック及び遅れで同期させるためにロボットシステムで使用され得る。幾つかの実施形態はまた、ノードを最小のシステムトラフィック及び遅延で同期させるためにロボット支援手術システムのノードを同期させるようにロボット支援手術システムで使用されることができ、システムを信頼性高くし、外科医のアクションに対する準リアルタイム応答(例えば、外科医が、システムコンポーネントに動く又は機能するように命令することと実際の動作又は機能との間で遅れを知覚しない応答)を提供する。システム100の使用の例は、以下に、図6−9に記載される。
図6は、ロボットシステムに使用されているシステム100の例である。図6に示されるように、ロボットシステム600は、第2のユニットコントローラ604に結合される第1のユニットコントローラ602を含む。ユニットコントローラ602及び604のそれぞれは、示されるようにサブシステムスーパーバイザ606及び608にそれぞれ結合される。サブシステムスーパーバイザ606は、複数の機械的マニピュレータ612−1乃至612−Nに結合されるディスパッチャ610を含む。サブシステムスーパーバイザ608は、複数の機械的マニピュレータ616−1乃至616−Nに結合されるディスパッチャ614を含む。幾つかの実施形態と一致して、各ユニットコントローラ、ディスパッチャ、及びマニピュレータは、図1及び3に対して上述されたノード102−1乃至102−Nに対応し得る。さらに、各マニピュレータは、ロボットシステム600の異なる機械的な部分(例えば、直列運動学的チェーンにおける異なるリンク、異なるアクチュエータ、異なるセンサ、異なるシステムサブグループ、等)に対応し得る。
幾つかの実施形態にしたがって、ディスパッチャ610は、各マニピュレータ612−1乃至612−Nに対する及びユニットコントローラ602に対する購読ノードとして働く。すなわち、ディスパッチャ610は、各マニピュレータ612−1乃至612−N及びユニットコントローラ602に対する同期データベースのクライアントインスタンスを実行するので、ディスパッチャ610は、ユニットコントローラ602から利用可能な幾つかの属性を購読し且つ各マニピュレータ612−1乃至612−Nから利用可能な幾つかの属性を購読し、これらの全てはディスパッチャ610への発行ノードとして働く。ディスパッチャ610はその後、属性をユニットコントローラ602からマニピュレータ612−1乃至612−Nに再発行し得るとともに属性をマニピュレータ612−1乃至612−Nからユニットコントローラ602に再発行し得る。同様の機能性を使用して、ディスパッチャ610は、ディスパッチャ610がマニピュレータ612−1乃至612−Nの間で属性を同期させ得るように、他のマニピュレータ612−1乃至612−Nの間で発行者/購読者として働き得る。さらに、新しいマニピュレータ612が加えられるとき、それは購読ノードとして働く同期データベースのクライアントインスタンスを事項することができ、それは所望の属性を即座に購読し、この所望の属性はその後ディスパッチャ610によって加えられたマニピュレータに発行され、したがって、所望の属性の最新の状態を持つ新しいマニピュレータを提供するので、マニピュレータ612−1乃至612−N物理的に取り除かれることができ且つシステム600に加えられる、又は「ホットスワップ」され得る。ディスパッチャ610は、ユニットコントローラ604及びマニピュレータ616−1乃至616−Nに対して同様の機能性を提供する。
図7は、幾つかの実施形態と一致する、ロボットシステムに使用されるシステム100の他の例である。図7に示されるように、ロボットシステム700は、1又は複数の同期データベース704に結合されるスーパバイザノード702を含む。幾つかの実施形態と一致して、スーパバイザノード702は、スーパバイザノード702の状態を1又は複数の同期データベース704に送信し、この1又は複数の同期データベースは、受信した状態をユーザインタフェース(UI)ノード706及びビデオサブシステムノード708に発行する。このような構成では、スーパバイザノード702は、同期データベースのサーバインスタンスを実行し且つ発行ノードとして働き、この発行ノードに対して1又は複数の同期データベース704は、同期データベースのクライアントインスタンスを実行し且つスーパバイザノード702に対する購読ノードとして働く。1又は複数の同期データベース704はその後、スーパバイザノード702の属性及び状態をUIノード706及びビデオサブシステムノード708に再発行する。
幾つかの実施形態と一致して、UIノード706はその後、スーパバイザノード702の状態をUIノード706に結合される1又は複数のコントローラ712によって実行されるアクション710に翻訳し得る。同様に、ビデオサブシステムノード708は、スーパバイザノード702の状態を、ビデオを表示するための命令に翻訳し得る。図7に示されるように、スーパバイザノード702は、ビデオサブシステムノード708からユーザインタフェースイベント714を受信するためにビデオサブシステムノード708にも結合される。幾つかの実施形態と一致して、ユーザインタフェースイベント714は、スーパバイザノード702の状態に変化を生じさせ得るとともに、変化した状態は、フラグを付けられ、その後、上述の実施形態にしたがって、1又は複数の同期データベース704に発行される。システム700の状態を伝搬するための同期データベースの使用は、スーパバイザノード702によって保持される状態と一致するようにUIノード706及びビデオサブシステムノード708が両方更新することを確実にする。ビデオサブシステムノード708は、さらに多数のディスプレイを駆動することができ、各ディスプレイの内容は、同期データベースを介して伝搬される状態によって決定される。
図8は、幾つかの実施形態と一致する、ロボットシステム800に使用されるシステム100の他の例である。ロボットシステム800は、ツリー構造に共に結合される複数のノードを含む。ロボットシステム800は、ビデオパイプラインノード804及び追加的なコントローラノード806に結合されるディスプレイコントローラノード802を含む。ビデオパイプラインノード804は、さらなる追加的なコントローラノード808−1乃至808−Nに結合される。幾つかの実施形態と一致して、ロボットシステム800は、システム100と同様のシステムを使用してノードに渡ってデータを同期させる。例えば、ビデオパイプラインノード804は、同期データベースのクライアントインスタンスを実行し且つさらなる追加的なコントローラノード808−1乃至808−Nを購読し、このさらなる追加的なコントローラノードのそれぞれは、同期データベースのサーバインスタンスを実行し且つ属性を発行する。さらに、ディスプレイコントローラノード802は、同期データベースのクライアントインスタンスを実行し且つビデオパイプラインノード804及び追加的なコントローラノード806−1乃至806−Nを購読し、この追加的なコントローラノードのそれぞれは、同期データベースのサーバインスタンスを実行し且つ属性を発行する。したがって、さらなる追加的なコントローラノード808における如何なる属性変化もビデオプロセッサノード804に発行され、(さらなる追加的なコントローラノード808から受信されたものを含む)ビデオプロセッサノード804及び追加的なコントローラノード806−1乃至806−Nにおける如何なる属性変化もディスプレイコントローラノード802に発行される。ディスプレイコントローラノード802は、下位ノード804、806−1乃至806−N(及び804を介した、808−1乃至808−N)から収集された1又は複数の重要な「グローバルに可視の」状態を再発行するように、「ルート」サーバデータベースを実行する。下位ノード804、及び806−1乃至806−Nは、このルートデータベースを購読し;ノード808−1乃至808−Nは、ルートデータベースコンテンツのためにノード804を購読する。さらに、ツリー構造への如何なる新たに追加されるノードも、前の実施形態に記載されるように、同期データベースのクライアントインスタンスを実行し、所望の属性を購読し、且つ所望の属性の最新の状態を発行されることができる。
図9は、幾つかの実施形態と一致する、ロボット支援手術システム900に使用されるシステム100の他の例である。図9に示されるように、システム900は、コアシステム904に結合される患者カート02を含み、このコアシステム904は、外科医コンソール906に結合される。幾つかの実施形態と一致して、システム900は、患者カート902が(カメラ器具を含む)スレーブマニピュレータ制御手術器具を含み、外科医コンソール906がスレーブマニピュレータのためのマスタコントロールを含み、コアシステム904が他のシステムデータ処理コンポーネントに加えてカメラ及び視覚システム処理コンポーネントを含むような、カルフォルニア州SunnyvaleのIntuitive Surgical, Inc.によって市販されているda Vinci(登録商標)Surgical Systemに対応し得る。さらに、患者カート902、コアシステム904及び外科医コンソール906のそれぞれは、上述の実施形態と一致する1又は複数の同期データベースを実行することができ得るとともに、システム900のノードと称され得る。さらに、システム900のノードのそれぞれは、追加的なノードを含み得る。例えば、患者カート902は、それぞれが同期データベースのクライアントインスタンスを実行することができる1又は複数のプロセッサを含むことができ、これらの1又は複数のプロセッサは、セットアップジョイント910及びマニピュレータ912のような、患者カート902内の個別のノードによって発行される属性を購読するノード908と称され得、この個別のノードのそれぞれは、同期データベースのサーバインスタンスを実行している関連付けられるプロセッサを含む。同期データベースのクライアントインスタンスを実行する、ノード908は、セットアップジョイント910及びマニピュレータ912から発行された属性を受信し、これらの属性を同期データベースのクライアントインスタンスに格納する。これらの属性はその後、ノード908が同期データベースのサーバインスタンスを実行し且つコアシステム904が同期データベースのクライアントインスタンスを実行して、ノード908によってコアシステム904に発行され得る。同様に、ノード908は、コア904のサーバインスタンスから発行される属性を購読するために同期データベースのクライアントインスタンスを実行し得る。同様の構成が、属性がシステム900に渡って同期され得るように、コア904と外科医コンソール906との間に提供され得る。
幾つかの実施形態と一致して、患者カート902が残りのシステム900から切り離される場合、患者カート902は、同期データベースのクライアントインスタンスを実行するノード908が、ロボットマニピュレータセットアップアームジョイント910から及びマニピュレータクラッチ912から発行された属性を受信し、その後これらの属性を同期データベースのクライアントインスタンスに格納する、スタンドアロン環境で、動作することができる。システム900との再接続に際し、ノード908は、格納された値をコア904に発行し、その後コア904は、システム900全体に渡ってデータ属性が同期されるように、その格納された値をノード908に発行する。システムの同期は、それに対して属性データベース同期機能が実行される外科医コンソール906又は任意の他のシステムコンポーネントの切り離し及びその後の再接続に対して同様に動作する。
適用可能な場合、本開示によって提供されるさまざまな実施形態は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せを用いて実装され得る。また、適用可能な場合、本明細書において説明されたさまざまなハードウェア構成要素及び/又はソフトウェア構成要素は、本開示の精神を逸脱することなくソフトウェア、ハードウェア、及び/又はそれら両方を含む複合的な構成要素に組み合わされ得る。適用可能な場合、本明細書において説明されたさまざまなハードウェア構成要素及び/又はソフトウェア構成要素は、本開示の範囲を逸脱することなくソフトウェア、ハードウェア、又はそれら両方を含む下位構成要素へ分けられ得る。加えて、適用可能な場合、ソフトウェア構成要素がハードウェア構成要素として実装され得る及びその逆も考えられる。
プログラムコード及び/又はデータのような、本開示によるソフトウェアは、1又は複数のコンピュータ可読媒体に記憶され得る。本明細書において特定されたソフトウェアが、ネットワーク接続された及び/又はそれ以外の、1つ又は複数の汎用又は専用コンピュータ及び/又はコンピュータシステムを用いて実装され得ることも考えられる。適用可能な場合、本明細書において説明されたさまざまなステップの順序づけは、本明細書において説明された特徴を提供するために変更され、複合的なステップへ組み合わされる、及び/又は下位ステップへ分けられ得る。
本明細書に開示された実施形態は、最小のシステムトラフィック並びに最小の衝突及び中断でシステムのノードを同期させるためのシステム及び方法を提供し得る。本明細書に開示された実施形態はまた、ノードをシステムに容易に接続し、切り離し、及び再接続すること可能に且つ最小の遅れで同期されることを可能にする、システムのノードを同期させるためのシステム及び方法を提供し得る。さらに、本明細書に開示された実施形態はまた、1つのノードにおけるディスプレイが最小の遅れで他のノードにおいて複製されることを可能にする、システムのノードを同期させるためのシステム及び方法を提供し得る。上で提供された例は、単なる例であり、限定することを意図するものではない。当業者は、本開示の範囲内であることが意図される開示された実施形態と一致する他のシステムを容易に考え出すであろう。そのようなものとして、本出願は、以下の特許請求の範囲によってのみ限定される。
なお、本発明の実施形態によれば、少なくとも1つの第1の同期データベースを含む発行ノードであって、前記第1の同期データベースは:
複数の属性であって、前記属性のそれぞれが前記属性を識別するタグ及びデータを含む、複数の属性;
前記属性のそれぞれと関連付けられるフラグ;及び
購読者リスト;を含む、
発行ノード、並びに
少なくとも1つの第2の同期データベースを含む購読者ノード、を有し、
前記属性が前記少なくとも1つの第1の同期データベースに書かれるとき又は前記属性に含まれる前記データが修正され且つ前記購読者ノードにフラグ付きの前記属性を発行するとき、前記発行ノードは、前記属性に関連付けられる前記フラグをセットするように構成される。
また、前記購読者ノードは、追加的に結合される二次購読者ノードのための二次発行ノードとして働くように構成され、前記二次発行ノードは、前記二次購読者ノードに新しい又は修正された属性を発行するように構成されてよい。
また、前記発行ノードは、前記少なくとも1つの第1の同期データベースに格納される前記属性を広告する広告メッセージを送信するように構成され、
前記購読者ノードは、発見メッセージを送信するように構成されてよい。
また、前記購読者ノードは、前記広告メッセージを受信し且つ購読することを望む前記少なくとも1つの第1の同期データベースに格納される前記属性を示す購読メッセージを送信してよい。
また、前記発行ノードは、前記発見メッセージを受信し且つ応答メッセージを送信してよい。
また、前記発行ノードはさらに、前記発行ノードが前記購読メッセージを受信するとき、所望の前記属性に関連付けられる前記フラグをセットするように構成されてよい。
また、前記発行ノードはさらに、同期応答信号が前記購読者ノードから受信されるまで、前記所望の属性に対する修正を集めるように構成されてよい。
また、前記発行ノードはさらに、心拍信号を前記購読者ノードに送信するように構成されてよい。
また、前記発行ノードはさらに、前記購読者ノードが前記発行ノードにもはや結合されていないことを前記発行ノードが決定する場合、前記購読者ノードを全ての購読されている属性から購読を取り消すように構成されてよい。
また、前記発行ノード及び前記購読者ノードは、前記ロボットシステムのコンポーネント、前記ロボットシステムの1若しくは複数のプロセッサ、又は前記1若しくは複数のプロセッサによって実行されている個別のタスクの少なくとも1つを有してよい。
また、前記発行ノードは、第4の同期データベースを有する他のノードの発行された属性を購読することができる第3の同期データベースを含んでよい。
また、前記第1の同期データベースは、前記発行ノードのプロセッサによって実行される同期データベースインスタンスを有し、前記第2の同期データベースは、前記購読者ノードのプロセッサによって実行される同期データベースインスタンスを有してよい。
また、本発明の他の実施形態によれば、ロボットシステムのノードに渡ってデータを同期させるための方法であって、方法は:
発行ノードから、前記発行ノードで実行している同期データベースのサーバインスタンスに格納される属性を広告する広告メッセージを送信するステップ;
前記発行ノードに結合される購読ノードによって、前記広告メッセージを受信するステップ;
前記購読ノードによって、少なくとも1つの前記購読ノードが購読することを望む前記発行ノードで実行している同期データベースの前記サーバインスタンスに格納される前記属性を示す購読メッセージを送信するステップ;
前記発行ノードによって、前記発行ノードで実行している同期データベースの前記サーバインスタンスに保持される購読リストに前記購読ノードを加えるステップ;
前記発行ノードによって、購読される前記属性のそれぞれに対してフラグをセットするステップ;
前記発行ノードによって、フラグ付きの前記属性のそれぞれを含む同期パケットを前記購読ノードに送信するステップ;及び
送信された前記属性のそれぞれに対して前記フラグをクリアするステップ;を含む。
また、前記購読ノードによって、発見メッセージを送信するステップ;
前記発行ノードによって、前記発見メッセージを受信するステップ;及び
前記発行ノードによって、前記購読ノードに応答メッセージを送信するステップ;をさらに含んでよい。
また、前記フラグをセットするステップは:
前記属性が、前記発行ノードで実行している前記同期データベースの前記サーバインスタンスに書き込まれるとき、前記属性に含まれる前記データが修正されるとき、又は前記属性が前記少なくとも1つの購読ノードによって購読されるとき、前記フラグをセットするステップ、を含んでよい。
また、前記購読ノードから前記発行ノードに同期応答信号を送信するステップ;及び
前記同期応答信号が受信されるまで、前記発行ノードで実行している前記同期データベースにおける前記属性に対する修正を集めるステップ;をさらに含んでよい。
また、前記発行ノード及び前記購読ノードはそれぞれ、前記ロボットシステムのコンポーネント、又は前記ロボットシステムの1若しくは複数のプロセッサの少なくとも1つを有してよい。
また、前記発行ノードによって、心拍信号を送信するステップ;及び
前記購読ノードによって、前記心拍信号を受信することに応じて、確認信号を送信するステップ;をさらに含んでよい。
また、前記確認信号が受信されない場合、前記発行ノードによって、前記購読リストから前記購読ノードを外すステップ、をさらに含んでよい。
また、前記クライアントデータベースによって、前記同期パケットのエラーをチェックするステップ、をさらに含んでよい。
また、前記同期パケットのエラーをチェックするステップは:
前記購読ノードによって、前記同期パケットがエラーを含むかどうか決定するステップ;
前記購読ノードによって、エラー信号を前記発行ノードに送信するステップ;
前記発行ノードによって、前記購読された属性のそれぞれに対してフラグをセットするステップ;
前記発行ノードによって、リセットメッセージを前記購読ノードに送信するステップ;及び
前記発行ノードによって、フラグ付きの前記属性のそれぞれを含む新しい同期パケットを前記購読ノードに送信するステップ;をさらに含んでよい。
また、本発明のさらに他の実施形態では、実行されるとき、ロボットシステムの1又は複数のプロセッサに前記ロボットシステムのノードを同期させる方法を実行させる、前記ロボットシステムの前記1又は複数のプロセッサによる実行のための命令を有する非一時的なコンピュータ可読媒体であって、前記方法が:
発行ノードから、前記発行ノードで実行している同期データベースのサーバインスタンスに格納される属性を広告する広告メッセージを送信するステップ;
前記発行ノードに結合される購読ノードによって、前記広告メッセージを受信するステップ;
前記購読ノードから前記発行ノードに購読メッセージを送信するステップであって、前記購読メッセージは、少なくとも1つの前記購読ノードが購読することを望む前記発行ノードで実行している前記同期データベースの前記サーバインスタンスに格納される前記属性を示す、ステップ;
前記発行ノードで実行している前記同期データベースの前記サーバインスタンスに保持される購読リストに前記購読ノードを加えるステップ;
前記発行ノードで実行している前記同期データベースの前記サーバインスタンスに購読される前記属性のそれぞれに対してフラグをセットするステップ;
前記発行ノードから前記購読ノードに同期パケットを送信するステップであって、前記同期パケットはフラグ付きの前記属性のそれぞれを含む、ステップ;及び
前記発行ノードで実行している前記同期データベースの前記サーバインスタンスの送信された前記属性のそれぞれに対する前記フラグをクリアするステップ;を含む。
また、前記購読ノードから前記発行ノードに発見メッセージを送信するステップ;
前記発行ノードで前記発見メッセージを受信するステップ;及び
前記発行ノードから前記購読ノードに応答メッセージを送信するステップ;をさらに含んでよい。
また、前記フラグをセットするステップは:
前記属性が、前記発行ノードで実行している前記同期データベースの前記サーバインスタンスに書き込まれるとき、前記属性に含まれる前記データが修正されるとき、又は前記属性が前記少なくとも1つの購読ノードによって購読されるとき、前記フラグをセットするステップ、を含んでよい。
また、前記購読ノードから前記発行ノードに同期応答信号を送信するステップ;及び
前記同期応答信号が受信されるまで、前記発行ノードで実行している前記同期データベースにおける前記属性に対する修正を集めるステップ;をさらに含んでよい。
また、前記発行ノード及び前記購読ノードはそれぞれ、前記ロボットシステムのコンポーネント、又は前記ロボットシステムの1若しくは複数のプロセッサの少なくとも1つを有してよい。
また、前記発行ノードから前記購読ノードに心拍信号を送信するステップ;及び
前記心拍信号を受信することに応じて、前記購読ノードから前記発行ノードに確認信号を送信するステップ;をさらに含んでよい。
また、前記確認信号が受信されない場合、前記発行ノードによって、前記購読リストから前記購読ノードを外すステップ、をさらに含んでよい。
また、受信した前記同期パケットのエラーをチェックするステップ、をさらに含んでよい。
また、前記同期パケットのエラーをチェックするステップは:
前記同期パケットがエラーを含むかどうか決定するステップ;
エラー信号を前記発行ノードに送信するステップ;
前記発行ノードで実行している前記同期データベースの前記サーバインスタンスにおいて前記購読された属性のそれぞれに対してフラグをセットするステップ;
前記発行ノードから前記購読ノードにリセットメッセージを送信するステップ;及び
前記発行ノードから前記購読ノードにフラグ付きの前記属性のそれぞれを含む新しい同期パケットを送信するステップ;をさらに含んでよい。

Claims (15)

  1. 発行ノードであって、
    1又は複数のプロセッサと;
    第1の同期データベースであって:
    複数の第1の購読者の購読者リスト;
    複数の第1の属性であって、前記複数の第1の属性のそれぞれの個々の属性がデータ及びタグを含み、前記タグは前記個々の属性を識別する、複数の第1の属性;及び
    複数の第1のフラグであって、前記複数の第1のフラグのそれぞれの個々のフラグが、前記複数の第1の属性のうちの対応する属性及び前記複数の第1の購読者のうちの対応する購読者と関連付けられる、複数の第1フラグ;を含む、
    第1の同期データベースと;
    を含み、
    前記発行ノードは:
    前記複数の第1の属性の第2の属性に含まれる前記データが書かれる又は修正され且つ前記第2の属性が前記複数の第1のフラグの第2のフラグによって第1の購読者ノードに関連付けられる条件で、前記第2のフラグをセットし;且つ
    設定され且つ前記第1の購読者ノードに関連付けられる前記複数の第1のフラグのそれぞれの個々のフラグに関して、前記複数の第1の属性のうちの前記の関連付けられる属性を前記第1の購読者ノードに発行する;
    ように構成される、
    発行ノード。
  2. 前記発行ノードはさらに:
    第2の購読者ノードから、前記複数の第1の属性の第3の属性を識別する第1の購読メッセージを受信し;
    前記第1の購読メッセージを受信することに応じて、前記第2の購読者ノードが前記購読者リストにまだない場合に前記購読者リストに前記第2の購読者ノードを追加し且つ前記第2の購読者ノード及び前記第3の属性の両方に関連付けられる前記複数の第1のフラグの前記個々のフラグをセットする;
    ように構成される、
    請求項1に記載の発行ノード。
  3. 前記発行ノードはさらに、前記複数の第1の属性を広告する広告メッセージを送信するように構成される、
    請求項1に記載の発行ノード。
  4. 前記発行ノードはさらに:
    前記第1の購読者ノードから発見メッセージを受信し;且つ
    前記発見メッセージに応じて前記第1の購読者ノードに発見応答メッセージを送信する;
    ように構成され、
    前記発見応答メッセージは、前記複数の第1の属性のリストを含む、
    請求項1に記載の発行ノード。
  5. 前記発行ノードはさらに、同期応答信号が前記第1の購読者ノードから受信されるまで、前記複数の第1の属性に対する修正を集めるように構成される、
    請求項1に記載の発行ノード。
  6. 前記発行ノードはさらに、準備完了信号が前記第1の購読者ノードから受信されるまで、前記第1の購読者ノードへの属性の発行を遅延させるように構成される。
    請求項1に記載の発行ノード。
  7. 前記発行ノードはさらに、前記第1の購読者ノードに関連付けられ且つ前記第1の購読者ノードに第4の属性を発行した後に前記複数の第1の属性からの前記第4の属性に関連付けられる、前記複数の第1のフラグの第3のフラグをクリアするように構成される、
    請求項1に記載の発行ノード。
  8. 手術システムのユニットにおいて具体化される、
    請求項1乃至7のいずれか1項に記載の発行ノード。
  9. システムのノードに渡ってデータを同期させるための方法であって:
    複数の第1の購読者の購読者リストを保持するステップ;
    複数の第1の属性を保持するステップであって、前記複数の第1の属性のそれぞれの個々の属性がデータ及びタグを含み、前記タグは前記個々の属性を識別する、ステップ;
    複数の第1のフラグを保持するステップであって、前記複数の第1のフラグのそれぞれの個々のフラグが、前記複数の第1の属性のうちの対応する属性及び前記複数の第1の購読者のうちの対応する購読者と関連付けられる、ステップ;
    前記複数の第1の属性の第2の属性に含まれる前記データが書かれる又は修正され且つ前記第2の属性が前記複数の第1のフラグの第2のフラグによって第1の購読者ノードに関連付けられる条件で、前記第2のフラグをセットするステップ;並びに
    設定され且つ前記第1の購読者ノードに関連付けられる前記複数の第1のフラグのそれぞれの個々のフラグに関して、前記複数の第1の属性のうちの前記の関連付けられる属性を前記第1の購読者ノードに発行するステップ;を含む、
    方法。
  10. 第2の購読者ノードから第1の購読メッセージを受信するステップであって、前記第1の購読メッセージは、前記複数の第1の属性の第3の属性を識別する、ステップと;
    前記第1の購読メッセージを受信することに応じて、前記第2の購読者ノードが前記購読者リストにまだない場合に前記購読者リストに前記第2の購読者ノードを追加するステップと;
    前記第1の購読メッセージを受信することに応じて、前記第2の購読者ノード及び前記第3の属性の両方に関連付けられる前記複数の第1のフラグの前記個々のフラグをセットするステップと;をさらに含む、
    請求項9に記載の方法。
  11. 前記複数の第1の属性を広告する広告メッセージを送信するステップをさらに含む、
    請求項9に記載の方法。
  12. 前記第1の購読者ノードから発見メッセージを受信するステップと;
    前記発見メッセージに応じて、前記第1の購読者ノードに発見応答メッセージを送信するステップであって、前記発見応答メッセージは前記複数の第1の属性のリストを含む、ステップと;をさらに含む、
    請求項9に記載の方法。
  13. 同期応答信号が前記第1の購読者ノードから受信されるまで、前記複数の第1の属性に対する修正を集めるステップをさらに含む、
    請求項9に記載の方法。
  14. 準備完了信号が前記第1の購読者ノードから受信されるまで、前記第1の購読者ノードへの属性の発行を遅延させるステップをさらに含む、
    請求項9に記載の方法。
  15. 前記第1の購読者ノードに関連付けられ且つ前記第1の購読者ノードに第4の属性を発行した後に前記複数の第1の属性からの前記第4の属性に関連付けられる、前記複数の第1のフラグの第3のフラグをクリアするステップをさらに含む、
    請求項9に記載の方法。
JP2018034965A 2013-02-15 2018-02-28 ロボットシステムのノードを同期させるためのシステム及び方法 Active JP6510099B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361765559P 2013-02-15 2013-02-15
US61/765,559 2013-02-15
US14/181,499 2014-02-14
US14/181,499 US9424303B2 (en) 2013-02-15 2014-02-14 Systems and methods for synchronizing nodes of a robotic system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015558173A Division JP6301373B2 (ja) 2013-02-15 2014-02-14 ロボットシステムのノードを同期させるためのシステム及び方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019071247A Division JP6720377B2 (ja) 2013-02-15 2019-04-03 ロボットシステムのノードを同期させるためのシステム及び方法

Publications (2)

Publication Number Publication Date
JP2018137758A JP2018137758A (ja) 2018-08-30
JP6510099B2 true JP6510099B2 (ja) 2019-05-08

Family

ID=51352036

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2015558173A Active JP6301373B2 (ja) 2013-02-15 2014-02-14 ロボットシステムのノードを同期させるためのシステム及び方法
JP2018034965A Active JP6510099B2 (ja) 2013-02-15 2018-02-28 ロボットシステムのノードを同期させるためのシステム及び方法
JP2019071247A Active JP6720377B2 (ja) 2013-02-15 2019-04-03 ロボットシステムのノードを同期させるためのシステム及び方法
JP2020104150A Active JP7008103B2 (ja) 2013-02-15 2020-06-17 ロボットシステムのノードを同期させるためのシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015558173A Active JP6301373B2 (ja) 2013-02-15 2014-02-14 ロボットシステムのノードを同期させるためのシステム及び方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2019071247A Active JP6720377B2 (ja) 2013-02-15 2019-04-03 ロボットシステムのノードを同期させるためのシステム及び方法
JP2020104150A Active JP7008103B2 (ja) 2013-02-15 2020-06-17 ロボットシステムのノードを同期させるためのシステム

Country Status (6)

Country Link
US (5) US9424303B2 (ja)
EP (2) EP3670112A1 (ja)
JP (4) JP6301373B2 (ja)
KR (2) KR102214868B1 (ja)
CN (2) CN108280239B (ja)
WO (1) WO2014127300A1 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101185051B (zh) 2005-05-04 2010-05-19 希尔克瑞斯特实验室公司 电子节目指南和在gui上切换模式、滚动通过对象的方法
CN108280239B (zh) 2013-02-15 2023-01-17 直观外科手术操作公司 同步机器人系统节点的系统和方法
CN110074844B (zh) 2013-12-11 2023-02-17 柯惠Lp公司 用于机器人手术系统的腕组件及钳夹组件
US10390853B2 (en) 2014-08-13 2019-08-27 Covidien Lp Robotically controlling mechanical advantage gripping
CA2975907C (en) 2015-02-19 2023-10-10 Covidien Lp Repositioning method of input device for robotic surgical system
US10716639B2 (en) 2015-03-10 2020-07-21 Covidien Lp Measuring health of a connector member of a robotic surgical system
US10959788B2 (en) 2015-06-03 2021-03-30 Covidien Lp Offset instrument drive unit
US10507068B2 (en) 2015-06-16 2019-12-17 Covidien Lp Robotic surgical system torque transduction sensing
CN107820412B (zh) 2015-06-23 2021-01-15 柯惠Lp公司 机器人手术组合件
US10376325B2 (en) 2015-07-07 2019-08-13 Intuitive Surgical Operations, Inc. Control of multiple devices
EP3352699B1 (en) 2015-09-25 2023-08-23 Covidien LP Robotic surgical assemblies and instrument drive connectors thereof
CN108135670B (zh) 2015-10-23 2021-02-26 柯惠Lp公司 用于检测灌注中逐步变化的手术系统
US10660714B2 (en) 2015-11-19 2020-05-26 Covidien Lp Optical force sensor for robotic surgical system
WO2017173524A1 (en) 2016-04-07 2017-10-12 Titan Medical Inc. Camera positioning method and apparatus for capturing images during a medical procedure
WO2017205333A1 (en) 2016-05-26 2017-11-30 Covidien Lp Robotic surgical assemblies
CA3022139A1 (en) 2016-05-26 2017-11-30 Covidien Lp Instrument drive units
WO2017210074A1 (en) 2016-06-03 2017-12-07 Covidien Lp Passive axis system for robotic surgical systems
EP3463162A4 (en) 2016-06-03 2020-06-24 Covidien LP SYSTEMS, METHODS AND COMPUTER READABLE PROGRAM PRODUCTS FOR CONTROLLING A ROBOT CONTROLLED MANIPULATOR
CN113180835A (zh) 2016-06-03 2021-07-30 柯惠Lp公司 用于机器人手术系统的控制臂
WO2017210500A1 (en) 2016-06-03 2017-12-07 Covidien Lp Robotic surgical system with an embedded imager
US10993760B2 (en) 2016-08-16 2021-05-04 Ethicon, Llc Modular surgical robotic tool
US11246670B2 (en) 2016-08-16 2022-02-15 Cilag Gmbh International Modular surgical robotic tool
CA3048039A1 (en) 2017-02-15 2018-08-23 Covidien Lp System and apparatus for crush prevention for medical robot applications
CN108632300B (zh) * 2017-03-15 2021-12-10 阿里巴巴集团控股有限公司 数据同步系统、方法、服务器、客户端及电子设备
CN108881014B (zh) * 2017-05-12 2021-10-01 北京猎户星空科技有限公司 一种数据发送系统及方法
US11717361B2 (en) 2017-05-24 2023-08-08 Covidien Lp Electrosurgical robotic system having tool presence detection
JP2020520694A (ja) 2017-05-25 2020-07-16 コヴィディエン リミテッド パートナーシップ ロボット手術システムおよびロボット手術システムのコンポーネントを覆うためのドレープ
JP7130003B2 (ja) 2017-05-25 2022-09-02 コヴィディエン リミテッド パートナーシップ 画像捕捉デバイスの視野内の物体の検出のためのシステムおよび方法
EP3629980A4 (en) 2017-05-25 2021-03-10 Covidien LP ROBOTIC SURGICAL SYSTEM WITH AUTOMATED GUIDANCE
WO2019016588A1 (en) * 2017-07-19 2019-01-24 Siemens Industry Software Ltd. METHOD AND SYSTEM FOR SIMULATION OF A ROBOTIC PROGRAM OF AN INDUSTRIAL ROBOT
US11628022B2 (en) 2017-09-05 2023-04-18 Covidien Lp Collision handling algorithms for robotic surgical systems
CN111132629B (zh) 2017-09-06 2024-04-16 柯惠Lp公司 手术机器人的边界缩放
WO2019136062A1 (en) 2018-01-04 2019-07-11 Covidien Lp Systems and assemblies for mounting a surgical accessory to robotic surgical systems, and providing access therethrough
US11189379B2 (en) 2018-03-06 2021-11-30 Digital Surgery Limited Methods and systems for using multiple data structures to process surgical data
CN111787880A (zh) 2018-03-08 2020-10-16 柯惠Lp公司 手术机器人系统
EP3781073A4 (en) 2018-04-20 2022-01-26 Covidien LP COMPENSATION OF OBSERVER MOTION IN ROBOTIC SURGICAL SYSTEMS WITH STEREOSCOPIC DISPLAYS
JP7071045B2 (ja) 2018-04-20 2022-05-18 コヴィディエン リミテッド パートナーシップ 外科用ロボットカートの配置のためのシステムおよび方法
US11576739B2 (en) 2018-07-03 2023-02-14 Covidien Lp Systems, methods, and computer-readable media for detecting image degradation during surgical procedures
US11109746B2 (en) 2018-10-10 2021-09-07 Titan Medical Inc. Instrument insertion system, method, and apparatus for performing medical procedures
CN109165261A (zh) * 2018-10-10 2019-01-08 深圳市欧瑞博科技有限公司 数据同步方法、装置、服务器及计算机存储介质
US11868494B1 (en) * 2018-11-26 2024-01-09 Amazon Technologies, Inc. Synchronization of access management tags between databases
US11586106B2 (en) 2018-12-28 2023-02-21 Titan Medical Inc. Imaging apparatus having configurable stereoscopic perspective
US11717355B2 (en) 2019-01-29 2023-08-08 Covidien Lp Drive mechanisms for surgical instruments such as for use in robotic surgical systems
US11576733B2 (en) 2019-02-06 2023-02-14 Covidien Lp Robotic surgical assemblies including electrosurgical instruments having articulatable wrist assemblies
US11484372B2 (en) 2019-02-15 2022-11-01 Covidien Lp Articulation mechanisms for surgical instruments such as for use in robotic surgical systems
US11200255B2 (en) * 2019-08-22 2021-12-14 Adp, Llc Robust data synchronization solution between databases
USD963851S1 (en) 2020-07-10 2022-09-13 Covidien Lp Port apparatus
CN112256538A (zh) * 2020-09-01 2021-01-22 北京航天控制仪器研究所 一种无人船设备信息采集处理及控制方法
US11570266B2 (en) * 2021-02-10 2023-01-31 Juniper Networks, Inc. Real-time detection of completion of sensor wrap completion in GNMI telemetry of a network device
US11948226B2 (en) 2021-05-28 2024-04-02 Covidien Lp Systems and methods for clinical workspace simulation

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860285A (en) * 1987-10-21 1989-08-22 Advanced Micro Devices, Inc. Master/slave synchronizer
US6421570B1 (en) * 1997-08-22 2002-07-16 Honeywell Inc. Systems and methods for accessing data using a cyclic publish/subscribe scheme with report by exception
US6272386B1 (en) 1998-03-27 2001-08-07 Honeywell International Inc Systems and methods for minimizing peer-to-peer control disruption during fail-over in a system of redundant controllers
JP3175692B2 (ja) * 1998-04-28 2001-06-11 日本電気株式会社 コンピュータと携帯端末間のデータ連携システム及びそのデータ連携方法
JP4478236B2 (ja) * 1998-12-14 2010-06-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 資源管理システムおよびその方法
US7113963B1 (en) * 2000-11-10 2006-09-26 Palmsource, Inc. Optimized database technique to enable faster data synchronization
US20020099787A1 (en) * 2001-01-12 2002-07-25 3Com Corporation Distributed configuration management on a network
US6711578B1 (en) * 2001-01-17 2004-03-23 Palmsource, Inc. Rule-based, n-way, synchronization of multiple copies of a database
JP3577028B2 (ja) * 2001-11-07 2004-10-13 川崎重工業株式会社 ロボットの協調制御システム
US7180253B2 (en) * 2003-09-30 2007-02-20 Rockwell Automation Technologies, Inc. Method and system for generating multi-dimensional motion profiles
US7346633B2 (en) 2004-06-10 2008-03-18 Sybase, Inc. System providing methodology for replication subscription resolution
US7706895B2 (en) 2005-02-25 2010-04-27 Rockwell Automation Technologies, Inc. Reliable messaging instruction
US20070198629A1 (en) 2006-02-21 2007-08-23 Nec Laboratories America, Inc. Scalable Content Based Event Multicast Platform
ES2685250T3 (es) 2006-05-11 2018-10-08 Abb Schweiz Ag Sincronización de un programa gráfico y un programa de robot
CN1937536A (zh) * 2006-10-31 2007-03-28 华为技术有限公司 网管拓扑数据同步刷新的方法及系统
CN100449548C (zh) * 2007-04-11 2009-01-07 华为技术有限公司 数据库同步方法及系统
JP5298626B2 (ja) * 2007-10-17 2013-09-25 ソニー株式会社 ネットワークシステム、ネットワーク家電機器、コンテンツ/メタデータの同期処理方法、及びコンピュータ・プログラム
KR101358477B1 (ko) 2008-04-02 2014-02-05 아이로보트 코퍼레이션 로보틱스 시스템
JP4621837B2 (ja) 2008-07-10 2011-01-26 国立大学法人名古屋大学 中継装置、通信システム及び通信方法
JP4581037B2 (ja) 2008-07-10 2010-11-17 国立大学法人名古屋大学 中継装置、通信システム及び通信方法
KR101248802B1 (ko) * 2008-10-31 2013-03-29 한국전자통신연구원 지능형 로봇 시스템에서의 로봇 소프트웨어 컴포넌트 관리 장치 및 방법
US8370443B2 (en) 2009-09-08 2013-02-05 Microsoft Corporation Reliable messaging using publish subscribe mechanism
EP2537322B1 (en) 2010-02-16 2014-12-17 iRobot Corporation Internal communication system for a mobile robot
US20120254108A1 (en) 2011-03-30 2012-10-04 Microsoft Corporation Synchronization Of Data For A Robotic Device
CN102571485B (zh) * 2011-12-14 2014-08-27 上海交通大学 一种在微博平台上识别机器人用户的方法
US9906450B2 (en) * 2012-07-16 2018-02-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for handling error indications
US8635373B1 (en) * 2012-09-22 2014-01-21 Nest Labs, Inc. Subscription-Notification mechanisms for synchronization of distributed states
CN102830645B (zh) * 2012-09-26 2014-11-12 苏州工业园区职业技术学院 单轴全自动高速点胶机器人伺服控制系统
CN108280239B (zh) 2013-02-15 2023-01-17 直观外科手术操作公司 同步机器人系统节点的系统和方法

Also Published As

Publication number Publication date
KR20210016088A (ko) 2021-02-10
CN108280239A (zh) 2018-07-13
KR20150118130A (ko) 2015-10-21
JP2020167710A (ja) 2020-10-08
JP2018137758A (ja) 2018-08-30
JP7008103B2 (ja) 2022-01-25
WO2014127300A1 (en) 2014-08-21
US20200192911A1 (en) 2020-06-18
EP2956879B1 (en) 2020-01-22
JP2016513414A (ja) 2016-05-12
JP6301373B2 (ja) 2018-03-28
EP3670112A1 (en) 2020-06-24
US20230289366A1 (en) 2023-09-14
KR102264615B1 (ko) 2021-06-14
CN105009127B (zh) 2018-04-10
EP2956879A4 (en) 2016-10-26
US11971905B2 (en) 2024-04-30
US10592529B2 (en) 2020-03-17
CN105009127A (zh) 2015-10-28
US20160357838A1 (en) 2016-12-08
CN108280239B (zh) 2023-01-17
US20140236894A1 (en) 2014-08-21
US9830371B2 (en) 2017-11-28
US11687556B2 (en) 2023-06-27
US20180075120A1 (en) 2018-03-15
EP2956879A1 (en) 2015-12-23
JP6720377B2 (ja) 2020-07-08
JP2019145137A (ja) 2019-08-29
US9424303B2 (en) 2016-08-23
KR102214868B1 (ko) 2021-02-10

Similar Documents

Publication Publication Date Title
JP6510099B2 (ja) ロボットシステムのノードを同期させるためのシステム及び方法
EP3951792A1 (en) System and method for intersystem device exchange
JP2006268470A (ja) 非同期通信方法
US20220394085A1 (en) Network connection method and device for training participant end of common training model
CN109165261A (zh) 数据同步方法、装置、服务器及计算机存储介质
JP6434021B2 (ja) データフィードの管理
JP2015141644A (ja) データ収集装置
CN114924861A (zh) 一种分布式任务处理方法及系统
KR101582802B1 (ko) In-memory 기반 실시간 DBMS를 활용한 DDS 노드 간 데이터 동기화 방법
US20240020297A1 (en) Metrics and events infrastructure
Koning et al. Evaluating ITER remote handling middleware concepts
US9588924B2 (en) Hybrid request/response and polling messaging model
CN116757399A (zh) 物品配送的进度同步方法、装置、电子设备和可读介质
JP2009211348A (ja) 管理システム
JP2014059706A (ja) データ配布システムとその配布方法、中継管理装置とその制御方法およびプログラム、クライアント装置とその制御方法およびプログラム
CN118101752A (zh) 一种应急信息处理方法及系统
JP2018522357A (ja) データリクエストに関連するクロックカウンタに基づくタイムアウト信号の生成
JP2010287972A (ja) ネットワーク装置およびネットワーク処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190403

R150 Certificate of patent or registration of utility model

Ref document number: 6510099

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250