(57)【要約】【課題】  異種装置間での協調動作のシステム及び方法を提供すること。【解決手段】  医療装置が、１つ又は複数の可動要素及び１つ又は複数のプロセッサを含む。プロセッサのいずれかが、共有インターフェイスを使用してサービスにアクセスする。医療装置は、共有インターフェイスを介してトークン・サービスから運動トークンを要求し、トークン・サービスから運動トークンを受け取り、共有インターフェイスを介して構成データ、運動学的データ、又は計画した動きデータを交換し、運動トークンと、構成データ、運動学的データ、又は計画した動きデータとに基づいて、可動要素のうちの第１の可動要素についての第１の動きを計画し、且つ第１の動きを実行する。【選択図】図３
2019072572.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、当該装置は、
１つ又は複数の可動要素と、
１つ又は複数のプロセッサであって、該１つ又は複数のプロセッサのいずれかが、当該装置と第２の装置との間の共有インターフェイスを使用して当該装置と前記第２の装置との間の相互運用性をサポートするためのサービスにアクセスする、１つ又は複数のプロセッサと、を備えており、
当該装置は、
前記共有インターフェイスを使用して前記第２の装置を検出し、
前記第２の装置の検出に基づいて所望のタイプの協調動作を決定し、
前記共有インターフェイスを介してトークン・サービスから第１のタイプの運動トークンを要求することであって、前記第１のタイプは、前記所望のタイプの協調動作に基づいて選択される、要求し、
前記トークン・サービスから前記運動トークンを受信し、
前記共有インターフェイスを介して前記第２の装置の構成データ、運動学的データ、又は計画した動きデータを受信することであって、当該装置及び前記第２の装置は異なる異種装置である、受信し、
前記第１のタイプの運動トークンと、前記第２の装置の前記構成データ、前記運動学的データ、又は前記計画した動きデータとに基づいて、前記可動要素のうちの第１の可動要素について第１の動きを計画し、
前記装置が前記運動トークンを保持している間に、前記第１の動きを実行する、ように構成される、
装置。
【請求項２】
当該装置は、コンピュータ支援手術用装置、手術台、撮像装置、及び焦点介入装置から構成されるグループから選択される装置である、請求項１に記載の装置。
【請求項３】
当該装置が前記運動トークンに一致する前記第１の動きを実行することができない場合に、警報を発するようにさらに構成される、請求項１又は２に記載の装置。
【請求項４】
当該装置は、前記第２の装置によって生成された警告について前記共有インターフェイスを監視するようにさらに構成される、請求項１乃至３のいずれか一項に記載の装置。
【請求項５】
前記第１のタイプの運動トークンは、排他的な動きトークン、マスター・フォローミー・トークン、スレーブ・フォローミー・トークン、マスター衝突回避トークン、スレーブ衝突回避トークン、及び受動的な衝突回避トークンから構成されるグループから選択される、請求項１乃至４のいずれか一項に記載の装置。
【請求項６】
前記第１のタイプの運動トークンは、前記マスター・フォローミー・トークンであり、
当該装置は、前記共有インターフェイスの黒板サービスを使用して、前記第１の可動要素についての計画した動きを共有するようにさらに構成される、請求項５に記載の装置。
【請求項７】
前記第１のタイプの運動トークンは、前記スレーブ・フォローミー・トークンであり、
当該装置は、
前記共有インターフェイスの出版サービスから別の可動式装置についての計画した第２の動きを受け取り、
該計画した第２の動きに準拠した、前記第１の可動要素についての前記第１の動きを計画する、ようにさらに構成される、請求項５に記載の装置。
【請求項８】
前記第１のタイプの運動トークンは、前記マスター衝突回避トークンであり、
当該装置は、前記共有インターフェイスの黒板サービスを使用して、前記第１の可動要素についての計画した動きを共有するようにさらに構成される、請求項５に記載の装置。
【請求項９】
前記第１のタイプの運動トークンは、前記スレーブ衝突回避トークンであり、
当該装置は、
前記共有インターフェイスの出版サービスから前記第２の装置についての計画した第２の動きを受け取り、
前記第２の装置との衝突を回避する、前記第１の可動要素についての第１の動きを計画する、ようにさらに構成される、請求項５に記載の装置。
【請求項１０】
前記第１のタイプの運動トークンは、前記受動的な衝突回避トークンであり、
当該装置は、その現在の構成、運動学的な構成、静的な構成、又は動力学的な構成に関連したデータを定期的に共有する、ようにさらに構成される、請求項５に記載の装置。
【請求項１１】
当該装置は、前記共有インターフェイスを介して前記第２の装置への第２の運動トークンの割当てを要求し、該第２の運動トークンが割り当てられていることの確認を受け取る、ようにさらに構成される、請求項１乃至１０のいずれか一項に記載の装置。
【請求項１２】
協調動作の方法であって、当該方法は、
第１の装置が、該第１の装置と第２の装置との間の共有インターフェイスにアクセスするステップと、
前記第１の装置が、前記共有インターフェイスを使用して前記第２の装置を検出するステップと、
前記第１の装置が、前記第２の装置の検出に基づいて所望のタイプの協調動作を決定するステップと、
前記第１の装置が、前記共有インターフェイスを介してトークン・サービスから第１のタイプの運動トークンを要求するステップであって、前記第１のタイプは、前記所望のタイプの協調動作に基づいて選択される、要求するステップと、
前記第１の装置が、前記トークン・サービスから前記運動トークンを受信するステップと、
前記第１の装置が、前記共有インターフェイスを介して前記第２の装置の構成データ、運動学的データ、又は計画した動きデータを受信するステップであって、前記第１の装置及び前記第２の装置は異なる異種装置である、受信するステップと、
前記第１の装置が、前記第１のタイプの運動トークンと、前記第２の装置の前記構成データ、前記運動学的データ、又は前記計画した動きデータとに基づいて、前記第１の装置の可動要素について第１の動きを計画するステップと、
前記第１の装置が前記運動トークンを保持している間に、前記第１の装置が、前記第１の動きを実行するステップと、を含む、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、異種装置間の相互運用性に関し、より具体的には、異種装置間の協調動作に関する。
【背景技術】
【０００２】
益々多くの装置が、自律的な及び半自律的な電子機器に置き換えられている。これは、自律的な及び半自律的な電子機器の大型アレイが、手術室、介入処置室、集中治療室、救急処置室等で見受けられるような、今日の病院に特に当てはまる。例えば、ガラス体温計や水銀体温計が、電子体温計に置き換えられ、点滴ラインは、現在、電子監視装置及び流れ調整器を含み、従来のハンドヘルド式手術用器具は、コンピュータ支援医療装置に置き換えられている。
【０００３】
これらの電子機器は、それら電子機器を操作する従事者に利点と課題との両方を与える。これら電子機器のそれぞれは、患者の状況、電子機器の状態等に関する大量の正確なデータ及び精密なデータの両方を提供することが可能である。しかしながら、これら異なる電子機器のそれぞれは、異なるデータを使用して監視及び／又は作動し且つ異なるタスクを実行するため、それら異なる電子機器は、医療装置の異種集合体（collection）を形成する。これら多数の異種装置でのプログラム可能なプロセッサ及びマイクロプロセッサの存在にも拘わらず、データ及び情報を共有し且つそれら異種装置のそれぞれの動作を統合するためのこれらの異種医療装置の能力は、大抵の場合、十分に活用されていない。
【０００４】
多くの場合、異種装置同士の間でデータや情報の交換は皆無か殆ど行われていない。この１つの理由は、手術室や介入処置室にある異種医療装置の多くは、異なる業者によって供給されるためである。他の理由は、医療装置の様々なモデル同士の間に差異があり、さらに医療装置のそれぞれが異なるタスクを実行するように設計されるためである。その結果、多くの手術室や介入処置室は、医療装置が互いを認識しておらず、それら医療装置同士の間でデータや情報を交換せず、重要な類の相互運用性を殆ど示さない異種医療装置で満たされている。代わりに、医療従事者は、大抵の場合、各装置を独立して監視し且つ操作することが期待されるか、又は医療装置は、それら装置が互いに干渉しないような方法で使用しなければならない。例えば、コンピュータ支援手術用装置は、手術室に存在する撮像システムと干渉し又はこれと衝突しないような、手術室の領域でのみ動きが許可される。このような制限は、コンピュータ支援手術用装置及び撮像システムの両方の機能を制限しかねない。
【０００５】
異種装置同士の間でのデータや情報の交換及び相互運用性の他の形態をサポートする１つの手法は、業者同士の間や単一の業者の設計チーム同士の間の共同開発活動を必要とする。これらの開発活動は、２つの異なる異種装置がデータや情報を交換し且つ相互運用するのを可能にするためのカスタム・ハードウェア及び／又はソフトウェアの開発を含み得る。これらの類の開発活動は、大抵の場合、非常に時間がかかり且つ費用を要し、大抵の場合、広範囲に及ぶテストやメンテナンスを必要とする。それらの開発活動は、２つの特定の異種装置同士の間の問題のみに対処するので、それら開発活動は、全体的な相互運用性の問題に限定された解決策しか提供できない。開発作業は、同じ製品ラインであっても、他の装置にまで拡張できず、おそらく他のタイプの装置又は他の業者からの装置にまで拡張できない。これらの開発活動は、企業秘密等の知的財産の交換に関連したコンプライアンス、及び最終製品の所有者を特定する困難性をさらにもたらし得る。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、異種装置同士の間の相互運用性をサポートするための改良された方法及びシステムを提供することが所望されている。異種装置間の協調動作をサポートするための改良された方法及びシステムを提供することも所望されている。
【課題を解決するための手段】
【０００７】
いくつかの実施形態に一貫して、医療装置は、１つ又は複数の可動要素と、１つ又は複数のプロセッサとを含む。１つ又は複数のプロセッサのいずれかが、共有インターフェイスを使用してサービスにアクセスする。医療装置は、共有インターフェイスを介してトークン・サービスから運動トークンを要求し、トークン・サービスから運動トークンを受け取り、共有インターフェイスを介して構成データ、運動学的データ、又は計画した動きデータを交換し、運動トークンと、構成データ、運動学的データ、又は計画した動きデータとに基づいて、可動要素のうちの第１の可動要素について第１の動きを計画し、及び第１の動きを実行するように構成される。
【０００８】
いくつかの実施形態に一貫して、動きを協調させる協調動作の方法は、共有インターフェイスにアクセスするステップと、共有インターフェイスを介してトークン・サービスから運動トークンを要求するステップと、トークン・サービスから運動トークンを受け取るステップと、共有インターフェイスを介して構成データ、運動学的データ、又は計画した動きデータを交換するステップと、運動トークンと、構成データ、運動学的データ、又は動き計画データとに基づいて、可動要素の第１の動きを計画するステップと、及び第１の動きを実行するステップと、を含む。
【０００９】
いくつかの実施形態に一貫して、協調動作システムは、トークン・サービス含む１つ又は複数のサービスにアクセスするための共有インターフェイスを含むサーバと、共有インターフェイスに結合され且つ第１の可動要素を含む第１の異種装置と、共有インターフェイスに結合され且つ第２の可動要素を含む第２の異種装置と、を有する。第１の異種装置は、共有インターフェイスを介してトークン・サービスから第１の運動トークンを要求し、トークン・サービスから第１の運動トークンを受け取り、共有インターフェイスの出版サービスから第２の可動要素の構成データ、運動学的データ、又は計画した動きデータを受け取り、第１の運動トークンと、構成データ、位置データ、又は計画した動きデータとに基づいて、第１の可動要素の動きを計画し、第１の動きを実行するように構成される。第２の異種装置は、共有インターフェイスを介してトークン・サービスから第２の運動トークンを要求し、トークン・サービスから第２の運動トークンを受け取り、黒板サービスを使用して、第２の可動要素の構成データ、運動学的データ、又は計画した動きデータを共有インターフェイスに送信し、受け取った第２の運動トークンをリリースするように構成される。
【図面の簡単な説明】
【００１０】
【図１】いくつかの実施形態に係る相互運用システムの概略図である。
【図２】いくつかの実施形態に係る別の相互運用システムの概略図である。
【図３】いくつかの実施形態に係る可動装置で協調動作を実行する方法の簡略図である。
【図４】いくつかの実施形態に係る協調動作システムの概略図である。
【発明を実施するための形態】
【００１１】
図において、同一の記号表示を有する要素は、同一又は同様の機能を有する。
以下の説明では、本開示に一致するいくつかの実施形態を説明する具体的な詳細について記載する。しかしながら、いくつかの実施形態は、これらの特定の詳細の一部又は全てを用いずに実施できることは、当業者には明らかであろう。本明細書に開示された特定の実施形態は、例示することを意図しており、限定するものではない。当業者は、ここで特に説明しないが、本開示の範囲及び精神の範囲内にある他の要素を実現することができる。また、不必要な繰返しを避けるために、一実施形態に関連して示し且つ説明した１つ又は複数の特徴は、他に特に明記しない限り又は１つ又は複数の特徴が実施形態を機能的でないものにしない限り、他の実施形態に組み込むことができる。
【００１２】
図１は、いくつかの実施形態に係る相互運用システム１００の概略図である。図１に示されるように、相互運用システム１００は、相互運用システム１００の相互運用ポイントとして機能するサーバ１１０を含む。サーバ１１０は、１つ又は複数のクラスタ化されたコンピュータ装置を含むワークステーション又は他の種類のコンピュータ装置であってもよく、例えば、スタンドアロン型コンポーネントであってもよく或いは１つ又は複数の医療装置に埋め込んでもよい。図１には示されないが、サーバ１１０は、１つ又は複数のプロセッサ及びメモリを含むことができる。メモリは、１つ又は複数のタイプの機械可読媒体を含んでもよい。機械可読媒体のいくつかの一般的な形態は、フロッピーディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、ＣＤ−ＲＯＭ、他の光媒体、パンチカード、紙テープ、ホール（holes）パターンを含む他の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他のメモリチップ又はカートリッジ、及び／又はプロセッサ又はコンピュータが読み取るように適合された他の媒体を含むことができる。
【００１３】
サーバ１１０は、共有インターフェイス１２０を含み、共有インターフェイス１２０に結合した異種医療装置同士の間の通信及び相互運用性をサポートし且つ標準化するように設計される。異種装置は、異なるタスクを実行し及び／又は異なる業者によって供給されるような１つ又は複数の装置を含むことができる。いくつかの例では、異種装置は、同じタイプ、モデル、バージョンの２つ以上の装置を含んでもよい。共有インターフェイス１２０は、異種装置のそれぞれが使用し得る既知のハードウェア及びソフトウェアのインターフェイスを提供する。共有インターフェイス１２０は、異種装置からの要求をさらに受け取ることができる。いくつかの例では、その要求は、アプリケーション・プログラミング・インターフェイス（API）コール、リモートプロシージャ・コール、ウェブサービス・コール、メッセージパッシング等の機構を使用して、異種装置によって生成され、共有インターフェイス１２０によって受信される。共有インターフェイス１２０は、相互運用性をさらにサポートするために、データ及び／又は他の情報を異種装置に返信することもできる。いくつかの例では、共有インターフェイス１２０は、階層化ソフトウェアスタック及び／又は複合したハードウェア及びソフトウェアスタックを使用して実現することができる。
【００１４】
異種装置同士の間の相互運用性をサポートするために、サーバ１１０は、サービスモジュール又はサービスの柔軟な収集（collection）のためのサポートをさらに含むことができる。いくつかの例では、サービスは、以下のサービス、登録サービス１３１、黒板（blackboard）サービス１３２、出版（publisher）サービス１３３、データ処理サービス１３４、ロギング（logging）サービス１３５、警告サービス１３６、トークン・サービス１３７、再生サービス１３８、暗号化サービス１３９、圧縮サービス１４０、業者（vender）サービス１４１、緊急停止サービス１４２、及び／又は他のサービス等のうちの１つ又は複数を含んでもよい。サービス１３１〜１４２のみが図１に示されているが、サービス１３１〜１４２のこの列挙は、単なる例示であり、限定するものではない。１つ又は複数のサービス１３１〜１４２を省略してもよく、及び／又は説明していない他のサービスを追加してもよい。各サービスは、相互運用性をサポートするための更なる機能を追加することができ、サービスは、異種装置同士の間で所望される相互運用性のタイプやレベルに応じて混合及び一致させることができる。いくつかの例では、サーバ１１０は、図１に示されていない追加のサービスも提供することができる。いくつかの例では、共有インターフェイス１２０によってサポートされる１つ又は複数のプラグインを使用して、サービスを追加し及び／又はサーバ１１０から消去することができる。
【００１５】
登録サービス１３１は、サーバ１１０によって提供されるサービス１３２〜１４２等の他のサービスを使用するユーザ及び／又は異種装置を登録及び／又は認証するためのサポートを含む。いくつかの例では、登録サービス１３１は、許可されたユーザ及び／又は異種装置だけにサーバ１１０へのアクセスを制限するためのユーザ名及びパスワードを使用するログイン機構を提供することができる。いくつかの例では、登録が成功すると、認証されたユーザ及び／又は異種装置には、１つ又は複数のキー及び／又はセッション識別子を提供することができる。１つ又は複数のキー及び／又はセッション識別子を使用して、ユーザ及び／又は異種装置とサーバ１１０によって提供される他のサービス１３２〜１４２とを特定することができる。１つ又は複数のキー及び／又はセッション識別子を使用して、ユーザ同士及び／又は異種装置同士の間で及びサーバ１１０及び／又はサーバ１１０に格納されたデータとの間で交換されるデータ及び他の情報を暗号化及び／又は復号化することもできる。
【００１６】
いくつかの例では、登録サービス１３１は、サービス１３２〜１４２へのアクセスを制限するために共有インターフェイス１２０及び／又はサービス１３２〜１４２によって使用される１つ又は複数のアクセス制御リストをさらに保持することができる。いくつかの例では、登録サービス１３１への登録のプロセスは、サーバ１１０に接続する異種装置のタイプを識別するステップをさらに含んでもよい。異種装置のタイプは、異種装置の業者及びモデル番号、ファームウェア・バージョン番号、異種装置の分類、及び／又は他の番号等の情報をさらに含んでもよい。分類は、コンピュータ支援医療装置、撮像装置、心臓モニタ、及び／又は他の装置等のカテゴリを含んでもよい。いくつかの例では、登録サービス１３１は、同じ異種装置によってサポートされる異なるアプリケーションが、サーバ１１０及びサービス１３２〜１４２に対して異なるアクセスレベルを有することができるように、装置レベルではなく、アプリケーションレベルでの登録を提供することができる。いくつかの例では、登録サービス１３１は、その機能を管理するために必要な１つ又は複数のデータ構造を更新することができる。
【００１７】
黒板サービス１３２が、異種装置間で共有されるメモリ領域を提供する。サーバ１１０及び共有インターフェイス１２０に登録された異種装置のそれぞれは、黒板サービス１３２を使用してデータや情報を記録することができ、次にこれらを他の異種装置と共有することができる。例えば、コンピュータ支援手術用装置及び／又は撮像システムは、エントリが許可されない領域及び／又はボリュームを表す飛行禁止（no-fly）区域、コンポーネントの位置、及び／又は動き経路計画に関連する情報を黒板サービス１３２に供給することができ、それによって、他の可動装置は、それに応じてそれらの運動を協調させることができる。
【００１８】
いくつかの実施形態では、黒板サービス１３２は、キーバリュー・ペア（key-value  pair）アプローチを使用して、データを共有メモリ領域に格納することができる。異種装置がデータを黒板サービス１３２に提供する場合に、データは、後でデータを読み出すために使用される固有のキーに関連付けることができる。キーは、データを供給する異種装置によって供給してもよく、又は黒板サービス１３２によって生成してもよい。いくつかの例では、黒板サービス１３２と異種装置との間で交換されるデータは、ハイパーテキスト・トランスファー・プロトコル（HTTP）、ユーザ・データグラム・プロトコル（UDP）、拡張可能マークアップ言語（XML）、ヘルスレベル７（HL7）、医療分野におけるデジタル撮像及び通信（DICOM）、コントローラ・エリア・ネットワーク（CAN）、フィールドバス（IEC61158）、プロセス・フィールド・バス（Profibus）、及び／又は同様のプロトコル等を含む１つ又は複数のプロトコルを使用して交換することができる。いくつかの例では、黒板サービス１３２は、セキュリティ目的のために、１つ又は複数のデータ項目を共有メモリ内でさらに暗号化及び／又は圧縮することができる。いくつかの例では、黒板サービス１３２は、暗号化サービス１３９及び／又は圧縮サービス１４０に依存して、暗号化／復号化及び／又は圧縮／解凍を実行してもよい。いくつかの例では、黒板サービス１３２は、登録サービス１３１によって維持される１つ又は複数のアクセス制御リストを使用して、アプリケーション及び／又は他の異種装置のサブセットに対して共有メモリ内の一部のデータへのアクセスを制限してもよい。いくつかの例では、黒板サービス１３２は、共有メモリ内の一部のデータを他の異種装置が一時的に利用できないようにする、共有メモリ内のデータロックのためのサポートも提供することができる。
【００１９】
出版サービス１３３は、異種装置同士の間でデータや情報を積極的に共有するためのパブリッシュ・サブスクライブ機構を提供する。出版サービス１３３を使用して、異種装置は、他の異種装置によって出版サービス１３３に発行された他のデータや情報に関連付けられた通知及び／又はコールバックを申し込むことができる。例えば、異種装置は、撮像装置が新たな画像を利用可能になったときの等の、黒板サービス１３２の共有メモリに格納されたデータに対して更新が行われるたびに、通知を受ける又はコールバックを受け取ることを要求することができる。いくつかの例では、出版サービス１３３は、通知を送信する前に、更新されたデータへの条件チェックをサポートすることができる。いくつかの例では、条件チェックは、範囲チェック、ロック状態に基づいた１つ又は複数のブール（Boolean）試験、及び／又はデータの値又は状態に基づいた他のテストを含んでもよい。黒板サービス１３２と同様に、出版サービス１３３は、暗号化、圧縮、及び／又はアクセス制御リストをさらにサポートすることができ、又は暗号化サービス１３９及び／又は圧縮サービス１４０等の他のサービスに依存して、この機能を提供してもよい。
【００２０】
データ処理サービス１３４は、共有インターフェイス１２０に供給されたデータのスクリプト処理及び後処理を提供する。いくつかの例では、データ処理サービス１３４は、データの統合、集約、及び／又は黒板サービス１３２を使用して格納されたデータや情報の統計的解析を実行することができる。例えば、データの統合及び統計的解析は、移動平均及び／又は加重平均を計算すること、及び／又は黒板サービス１３２を使用して格納された数値の雑音パラメータを推定することができる。いくつかの例では、データ処理サービス１３４は、他の異種装置が、格納されたデータ上で実行される単純な及び／又は複雑なスクリプトを供給するのを可能にするスクリプト言語をサポートすることができ、そのスクリプトは、出版サービス１３３の通知及びコールバックと共にさらに使用される。いくつかの例では、データ処理サービス１３４は、データ処理サービス１３４が格納されたデータ又はパラメータ化データに使用するようなカスタム処理スクリプトを異種装置から受け取ることができる。
【００２１】
いくつかの実施形態では、データ処理サービス１３４は、データを中央に集約することによりサーバ１１０と異種装置との間の帯域幅要件を低減することができ、それによって集約されたデータのみが、異種装置間に配信される。いくつかの実施形態では、データ処理サービス１３４は、多くの異なる異種装置からのデータの集約をさらに効率化することができる。
【００２２】
ロギング・サービス１３５は、異種装置によって提供されたデータ及び／又はイベントを記録する機能を提供する。１つ又は複数のログを使用して、ロギング・サービス１３５は、タイムスタンプと一緒にデータ及びイベントを記録するように構成することができる。例えば、ログは、黒板サービス１３２を使用して格納された特定のデータ項目に対して行われた更新を記録する、及び／又は特定の異種装置によって行われた更新を記録するように構成することができる。いくつかの実施形態では、ロギング・サービス１３５は、ロギング・サービス１３５を構成する、記録したログにアクセスする、及び／又は記録したログを管理するためのユーザインターフェイス（図示せず）をサポートすることもできる。いくつかの例では、ユーザインターフェイスは、別のコンピュータ又はワークステーションからロギング・サービス１３５に遠隔操作でアクセスすることができる。いくつかの実施形態では、ロギング・サービス１３５は、サーバ１１０と異種装置との間の時刻同期もサポートして、１つ又は複数のログに亘って記録されたタイムスタンプが、データの更新やイベントの実際の時間を一貫して反映することを確実にすることができる。いくつかの例では、ロギング・サービス１３５は、１つ又は複数の同期メッセージを異種装置と交換して、サーバ１１０と異種装置との間の処理及び／又は通信の遅延及び／又はクロックドリフトに関連した待ち時間に関する影響をより正確にモデル化することができる。いくつかの例では、ロギング・サービス１３５は、圧縮サービス１４１によって提供されるような圧縮を使用して、記録したログのサイズを減少させることができる。
【００２３】
いくつかの実施形態では、ロギング・サービス１３５は、メモリ及び／又はいくつかのタイプの持続的な記憶装置にログを記録することができる。いくつかの例では、ログは、サーバ１１０内に位置するディスクドライブ又は同様の記憶媒体を用いて記録してもよい。いくつかの例では、ログは、別のワークステーション（図示せず）に位置するディスクドライブ又は記憶媒体を用いて記録してもよい。
【００２４】
いくつかの実施形態では、ロギング・サービス１３５は、１つ又は複数のログをオフラインの使用で利用可能にすることもできる。いくつかの例では、１つ又は複数のログを使用して、試験を評価する及び／又は個々の異種装置をデバッグする、及び／又は異種装置間で協調させることができる。いくつかの例では、１つ又は複数のログは、例えば異種装置の効率を評価するためにマイニングされた及び／又は解析対象となったデータであってもよい。いくつかの例では、１つ又は複数のログを使用して、可動装置の代表的な軌跡及び／又は試験軌跡等の記録された情報に基づいて、１つ又は複数のモデル及び／又は地図（atlas）を合成することができる。いくつかの例では、１つ又は複数のログは、再生サービス１３８に対して利用可能にしてもよい。
【００２５】
警告サービス１３６は、同期及び／又は非同期通知を異種装置に送信する機能を提供する。出版サービス１３３とは異なり、警告サービス１３６は、必ずしもデータを更新する際の使用に限定されるものではない。いくつかの実施形態では、警告サービス１３６を使用して、イベント、及び／又は異種装置同士の間の他のイベントへの割込み、例外処理、非常停止に関連した非同期通知を共有することができる。例えば、酸素センサが警告サービス１３６を使用して、危険なレベルの酸素を検出したことを焼灼ツール等の他の異種装置に通知することができる。いくつかの実施形態では、警告サーバ１３６を使用して、定期的な時刻同期メッセージ及び／又は心拍メッセージを発する時間管理システムに関連するような同期通知を共有することができる。
【００２６】
トークン・サービス１３７は、異種装置間の協調トークンを共有するためのシステムを提供する。トークン・サービス１３７を使用して、異種装置は、協調トークンを要求し及びリリース（release）することができる。必要に応じて、異種装置は、それら異種装置が所望の協調トークンを取得できない場合に、更なる動作を阻止することができる。協調トークンは、相互に排他的な（MUTEX）トークン、マルチユース（multiple  use）トークン、及び／又は必要に応じて異種装置による特殊目的のトークンを含んでもよい。いくつかの例では、ＭＵＴＥＸトークンを使用して、２つの可動装置が衝突回避戦略を使用するときに発生し且つある時点で１つの可動装置のみを移動させるような、２つの異種装置同士の間の競合状態及び／又はこう着状態を回避することができる。いくつかの例では、マルチユース・トークンを限られた数の異種装置に発して、それによって共有リソースが、共有リソースをサポートするその限られた数の異種装置のみに利用可能になる。いくつかの実施形態では、特殊目的のトークンを使用して、異種装置間の特定の活動を協調せせることができる。
【００２７】
協調運動の文脈では、特殊目的のトークンは、排他的な動きトークン、フォローミー・トークン、衝突回避トークン、及び／又は同様のトークンを含むことができる。単一の可動装置のみが移動するのを許可されたときに、排他的な動きトークンを使用することができる。いくつかの例では、可動装置は、可動装置に結合した１つ又は複数の要素の自律的な及び／又は半自律的な運動を可能にする装置であってもよい。いくつかの例では、可動装置は、装置の一部又は全てを移動させることができる装置を含み得る。排他的な動きトークンを保持する可動装置のみを移動可能にさせることができる。いくつかの例では、排他的な動きトークンを保持する可動装置は、黒板サービス１３２を使用して格納された他の装置からの位置データを使用して、衝突の生じない動き経路を計画することができる。フォローミー・トークンは、２つ以上の可動装置のうちの１つが、他の可動装置（複数可）が追従すべき動きを実行しているときに、使用することができる。いくつかの例では、フォローミー・トークンを保持する可動装置（複数可）は、黒板サービス１３２を使用して格納した動き経路計画及び／又は他の位置データを使用して、準拠した軌跡を計画することができる。衝突回避トークンは、プライマリ可動装置が動きを実行する必要がある場合であって、１つ又は複数の他のセカンダリ可動装置が、それが移動する際に、プライマリ可動装置をよけなければならない場合に使用される。いくつかの例では、フォローミー・トークン及び衝突回避トークンは、複数のサブトークン、プライマリ可動装置によって保持された排他的なマスター・トークン、及びセカンダリ可動装置によって保持された他の共有可能なスレーブ・トークンを含むことができる。いくつかの例では、セカンダリ可動装置（複数可）は、黒板サービス１３２を使用して格納されたプライマリ可動装置からの経路計画及び／又は他の位置データを使用して、準拠する及び／又は衝突の生じない軌跡を計画することができる。いくつかの実施形態では、１つの可動装置によってトークン・サービス１３７を使用して、特定の運動トークンを別の可動装置に割り当てることができる。いくつかの例では、マスター・トークンを保持する可動装置によって運動トークンの割当てを使用して、必要に応じて１つ又は複数のスレーブ・トークンを対応する１つ又は複数の他の可動装置に割り当ててもよい。いくつかの例では、動きを実行するための可動装置の計画によって、受動的な衝突回避トークンを１つ又は複数の他の可動装置に割り当てることができる。受動的な衝突回避トークン（複数可）を使用して、他の可動装置（複数可）の動きを制限及び／又は禁止するだけでなく、他の可動装置（複数可）がそれら他の可動装置の現在の位置を定期的に報告することも要求することができる。いくつかの例では、運動トークンの割当てを要求する可動装置は、動きを実行する前に、割当ての確認を待ってもよい。いくつかの例では、トークン・サービス１３７は、警告サービス１３６を使用して、様々なサブトークンの発行及び／又は割当てを調整することができる。
【００２８】
再生サービス１３８は、１つ又は複数のログからのデータストリーム及び／又はイベントを再生するためのシステムを提供する。いくつかの実施形態では、再生サービス１３８を使用して、訓練及び／又は評価目的のために、シミュレートされた環境で手術又は他の処置を確認及び／又は再現することができる。いくつかの実施形態では、再生サービス１３８をシステムで使用して、１つ又は複数の異種装置を再生装置としてエミュレートすることができる。いくつかの例では、コンピュータ支援手術用装置は、処置計画等の目的のためにシミュレートされた撮像装置を含む環境で使用することができる。撮像装置からの記録した（logged）一連の画像は、コンピュータ支援手術用装置がライブで操作する間に、シーケンス処理のために記録したタイムスタンプを用いて再生サービス１３８によって再生することができる。いくつかの例では、再生撮像装置は、コンピュータ支援手術用装置の再生した軌跡データを使用して最適な軌跡を計画することができ、可動式医用撮像装置は、コンピュータ支援手術用装置との衝突を回避しながら、患者の所望の画像を捕捉することができる。いくつかの例では、再生サービス１３８は、以前記録した軌跡データを使用して、可動装置同士の間の実際の衝突のリスク及び／又は実際の患者への危険を与えることなしに、フォローミー又は衝突回避アルゴリズムを試験及び／又は評価することができる。いくつかの実施形態では、再生サービス１３８は、記録したデータからのモデル及び／又は業者からのシミュレーションに基づいた合成データを再生することもできる。いくつかの実施形態では、再生サービス１３８は、ライブの、記録した、シミュレートした、及び／又は合成の異種装置の混在したものと同時に使用することができる。
【００２９】
暗号化サービス１３９は、暗号化及び復号化のプロセス及び／又はアルゴリズムを共有インターフェイス１２０に結合した他のサービスから切り離すためのシステムを提供する。暗号化及び復号化を他のサービスから切り離すことにより、共有インターフェイス１２０のユーザは、その機能を他のサービスのうちの１つに埋め込むことなく、様々な暗号化及び復号化のプロセス及びアルゴリズムをインストール及び／又は操作することができる。暗号サービス１３９は、対称鍵暗号化、公開鍵暗号化、秘密鍵暗号化、及び／又は同様の暗号化等のいずれかの種類の暗号化及び復号化を提供することができる。暗号サービス１３９は、チェックサム、ＣＲＣ符号化、ＭＤ５、及び／又は他のこのようなサービス等のデータの整合性サービスをさらに提供することができる。
【００３０】
圧縮サービス１４０は、圧縮及び解凍のプロセス及び／又はアルゴリズムを他のサービスから切り離すためのシステムを提供する。圧縮及び解凍を他のサービスから切り離すことにより、共有インターフェイス１２０のユーザは、その機能を他のサービスのうちの１つに埋め込むことなく、様々な圧縮及び解凍のプロセス及びアルゴリズムをインストール及び／又は操作することができる。圧縮サービス１４０は、Ｌｅｍｐｅｌ−Ｚｉｖ−Ｗｅｌｃｈ（LZW）圧縮等の可逆性圧縮及び解凍、及び／又は、ＪＰＥＧ、ＭＰＥＧ等の非可逆性圧縮を含むあらゆる種類の圧縮及び解凍を提供することができる。
【００３１】
業者サービス１４１は、異種装置が追加のサービスを異種装置間で利用可能にするためのシステムを提供する。いくつかの実施形態では、業者サービス１４１は、異種装置に存在する利用可能なサービスを共有するための登録を提供することができる。いくつかの例では、業者サービス１４１は、他の異種装置が利用可能なサービスを使用できるようなインターフェイス仕様を含む利用可能なサービスのレジストリ又はカタログを含むことができる。いくつかの例では、インターフェイス仕様は、Ｗｅｂサービスを公開し且つ共有するために使用される仕様と同様の規定を含んでもよい。いくつかの例では、業者サービス１４１は、利用可能なサービスを利用したい異種装置を、サービスをホストしている異種装置に結合するような位置及び／又は転送サービスを提供することができる。
【００３２】
緊急停止サービス１４２は、サーバ１１０及び／又は共有インターフェイス１２０を使用する異種装置間での安全なシャットダウンのためのサポート及び／又は他の素直な（graceful）障害操作のためのサポートを提供する。いくつかの例では、緊急停止サービス１４２は、警告サービス１３６と連携して機能し、他のサービス及び／又は異種装置間の活動を監視すること、又は緊急停止及び／又はその他の障害警告を他のサービス及び／又は異種装置に提供することのいずれかを行うことができる。例えば、緊急停止サービス１４２を使用して、移動可能な異種装置のそれぞれに移動停止警告を送信することができる。図１には示されていないが、いくつかの例では、緊急停止サービス１４２は、１つ又は複数のデッドマンスイッチ、ウォッチドッグ・タイマ、ウォッチドッグ・リレー、及び／又は他の緊急停止装置やウォッチドッグ装置に結合してもよい。いくつかの例では、緊急停止サービス１４２は、非常停止信号を異種装置のそれぞれで共有するために、異種装置のそれぞれへの専用の配線を含む１つ又は複数の共有安全回路（図示せず）にさらに結合してもよい。いくつかの例では、共有安全回路は、プライマリ回路及びバックアップ用のセカンダリ回路の両方を含んでもよい。
【００３３】
サーバ１１０は、サーバ１１０を異種装置に結合するための複数のハードウェアポート１５０をさらに含む。いくつかの例では、１つ又は複数のハードウェアポート１５０は、ユニバーサルシリアルバス（USB）、ファイアワイヤ（IEEE  1394）、ＲＳ２３２、ＲＳ４８５、ＣＡＮ、フィールドバス、プロフィバス、内部集積回路（I2C）等の標準化されたハードウェアインターフェイスのサポートを提供することができる。いくつかの例では、１つ又は複数のハードウェアポート１５０は、イーサネット（登録商標）等のローカルエリアネットワーク（LAN）及び／又はインターネット等のワイドエリアネットワーク（WAN）にサーバ１１０を結合するためのサポートを提供することができる。いくつかの例では、１つ又は複数のハードウェアポート１５０は、周辺コンポーネント相互接続エクスプレス（PCIe）、エクスプレスカード等の規格をサポートするスロットを使用してサーバ１１０にインストールされた、カスタム設計された及び／又は業者特有のインターフェイスカードを用いて提供される。
【００３４】
図１に示されるように、相互運用システム１００は、サーバ１１０のハードウェアポート１５０の１つをノード１６０のポート１６５に示されるような例示的な異種装置に結合するようなリンク１５５をさらに含む。いくつかの実施形態では、リンク１５５を使用して転送されるデータを暗号化することができる。サーバ１１０と同様に、ノード１６０は、１つ又は複数のプロセッサ及びメモリを含むことができる。また、ポート１６５は、ポート１５０のいずれかと同様であってもよい。いくつかの実施形態では、ノード１６０は、撮像装置、画像保管通信システム（PACS）ステーション、コンピュータ支援手術用装置又は介入装置、焦点介入(focal  interventional)装置、定位装置、位置決め装置、追跡装置、監視装置、手術台、ナビゲーション、表示、及び／又は他の技術をサポートするスマートフロア又は壁、カメラ、距離センサ、環境センサ、追跡装置等を含む多くのタイプの異種装置のいずれであってもよい。焦点介入装置は、生検装置、組織採取装置、及び／又は他の装置等を含む診断装置及び／又は治療装置を含んでもよい。撮像装置は、超音波、Ｘ線、ＣＴ、ＭＲＩ装置、ガンマプローブ、及び／又は同様のものであってもよい。監視装置は、心臓モニタ、呼吸モニタ、及び／又は同様のモニタを含んでもよい。距離センサは、ソナー装置、ＬＩＤＡＲ装置、及び／又は同様の装置を含んでもよい。環境センサは、熱センサ、圧力センサ、湿度センサ、酸素センサ、及び／又は同様のセンサを含んでもよい。いくつかの例では、追跡装置は、ビジョン(vision)、電磁気、ＲＦＩＤ、超音波、関節式機械システム、及び／又は同様のものに基づく１つ又は複数の追跡技術を含んでもよい。
【００３５】
サーバ１１０と同様に、ノード１６０は、共有インターフェイス１７０を含む。例えば、共有インターフェイス１７０は、ノード１６０がサーバ１１０の共有インターフェイス１２０及びサービス１３１〜１４２を利用するのを可能にするＡＰＩ及び／又はソフトウェア開発キット（SDK）を使用することができる。いくつかの例では、共有インターフェイス１７０は、共有インターフェイス１２０のローカルバージョンであり得る。
【００３６】
ノード１６０は、共有インターフェイス１７０を使用して、共有インターフェイス１２０及びサービス１３１〜１４２にアクセスするための１つ又は複数のアプリケーション１７２をさらに含む。アプリケーション１７２によって、ノード１６０が相互運用システム１００でアクティブな参加者となることができる。例えば、１つ又は複数のアプリケーション１７２は、登録サービス１３１を使用してサーバ１１０に登録し、黒板サービス１３２を使用してデータや情報を他の異種装置及びノードと交換し、ロギング・サービス１３５を使用してロギングを有効にすること等ができる。他の例では、ノード１６０が可動装置である場合に、アプリケーション１７２は、トークン・サービス１３７からの特殊なトークン及び黒板サービス１３２からのデータを使用して１つ又は複数の他の可動装置と動きを協調させるための運動計画及び実行アルゴリズムを含むことができる。
【００３７】
ノード１６０は、共有インターフェイス１７０も使用する１つ又は複数のサービス１７４をさらに含む。いくつかの実施形態では、サービス１７４は、他の異種装置及び／又はノードと共有されるデータや情報をノード１６０から黒板サービス１３２に非同期又は同期して共有するサービスを含むことができる。いくつかの例では、サービス１７４は、共有するために撮像装置によって撮影された新たな画像を黒板サービス１３２に送信するサービスを含むことができる。いくつかの例では、サービス１７４は、可動装置の位置座標を同期して更新するサービスを含むことができる。
【００３８】
いくつかの実施形態では、サービス１７４は、ノード１６０が、例えば業者サービス１４１を使用して、相互運用システム１００の他の異種装置及び／又はノードに利用可能にすることができる共有サービスを含むことができる。いくつかの例では、共有サービスは、ノード１６０によって提供されるサービス１３１〜１４２及び／又は追加的なサービスのいずれかを含むことができる。いくつかの例では、ノード１６０の共有サービスは、そのデータが黒板サービス１３２で共有するために送信される前に、データを前処理するパラメータ化処理スクリプトへのアクセスを含んでもよい。例として、撮像装置のパラメータ化処理スクリプトは、それら画像が共有される前に、画像に適用される所有者を示す(proprietary)撮像処理アルゴリズムのパラメータを受け取ることができる。このパラメータ化処理スクリプトを使用して、他の異種装置及び／又はノードは、画像のカスタマイズしたバージョンを要求することができる。
【００３９】
ノード１６０は、ユーザインターフェイス１７６のためのサポートも含むことができる。ユーザインターフェイス１７６を使用して、アプリケーション１７２及び／又はサービス１７４を管理及び／又は制御することができる。いくつかの例では、ユーザインターフェイス１７６を使用して、どのサービス１７４がシステム１００の他の異種装置及び／又はノードに利用可能となるかを制御することができる。いくつかの例では、ユーザインターフェイス１７６を使用して、データを黒板サービス１３２に送信する速度を制御することができる。いくつかの例では、ユーザインターフェイス１７６を使用して、ロギング・サービス１３５によってどのデータ及び／又はイベントを記録すべきかを制御することができる。いくつかの実施形態では、ユーザインターフェイス１７６は、グラフィカル・ユーザインターフェイスであってもよい。いくつかの実施形態では、ユーザインターフェイス１７６には、ノード１６０上のタッチスクリーン等のコントロールパネル及び／又は監視スクリーンを使用してアクセスすることができる。いくつかの実施形態では、ユーザインターフェイス１７６は、ネットワークを介してノード１６０に結合した端末、ワークステーション、手術用コンソール、及び／又は同様のものを使用して遠隔操作でアクセスすることができる。
【００４０】
図１にさらに示されるように、相互運用システム１００は、任意の数のノード及び／又は異種装置をさらに含むことができる。２つのこのような追加のノードが、ノード１８１及び１８９として示されており、これらは、ノード１８１からノード１８９までのノードの範囲を表す。ノード１６０と同様に、ノード１８１は、共有インターフェイスだけでなく、アプリケーション、サービス、及び／又はユーザインターフェイスのバージョンを含む。ノード１８１は、リンク１９１を使用してサーバ１１０に結合される。同様に、ノード１８９は、共有インターフェイスだけでなく、アプリケーション、サービス、及び／又はユーザインターフェイスのバージョンを含み、及びリンク１９９を使用してサーバ１１０に結合される。各ノード１８１〜１８９は、異種装置を表し、及び他のノード１６０及び１８１〜１８９のいずれかとは異なる又は他のノード１６０及び１８１〜１８９のいずれかと同じモデルであり、それによってノード１６０及び１８１〜１８９は、同一の２つ以上の医療装置を含むことが可能となる。
【００４１】
図２は、いくつかの実施形態に係る別の相互運用システム２００の概略図である。図２に示されるように、相互運用システム２００は、複数の異種医療装置又はノード２１０〜２３０を含む。３つのノードが相互運用システム２００に示されているが、相互運用システム２００は、任意の数のノードを含んでもよい。ノード２１０〜２３０は、ノード１６０及び１８１〜１８９と同様のノードである。上述したように、各ノード２１０〜２３０は、共有インターフェイス、アプリケーション、サービス、及び／又はユーザインターフェイスのバージョンを含んでもよい。
【００４２】
各ノード２１０〜２３０は、ネットワーク２４０を使用してサーバ２５０及び２６０に結合される。ネットワーク２４０は、ＬＡＮ及び／又はＷＡＮ等の任意の種類のネットワークであってもよい。サーバ２５０及び２６０は、サーバ１１０と同様のサーバであってもよく、それぞれのサーバは、共有インターフェイス１２０及び／又はサービス１３１〜１４２のバージョンを含むことができる。２つのサーバが相互運用システム２００に示されているが、相互運用システム２００は、任意の数のサーバを含むことができ、共有インターフェイス１２０がノード２１０〜２３０に亘って分散する場合に、サーバを含まない。サービス１３１〜１４２及び１７２が、ノード２１０〜２３０及びサーバ２５０，２６０の任意の組合せで潜在的にホストされる際に、サーバ２５０及び２６０の説明では、共有インターフェイス１２０及び１７０と相互運用システム２００との柔軟な特性が強調される。いくつかの実施形態では、サーバ２５０及び２６０を省略してもよく、サービス１３１〜１４２は、ノード２１０で完全にホストされてもよく又はノード２１０〜２３０の任意の組合せでホストされてもよい。いくつかの実施形態では、ノード２１０〜２３０のいずれかを、同じワークステーション内に又はサーバ２５０〜２６０のいずれかとしてクラスタ内にまとめてもよい。いくつかの実施形態では、サーバ２６０は、サーバ２５０のバックアップ及び／又は障害迂回サポートを提供するミラーサーバ２５０であってもよい。いくつかの実施形態では、サービス１３１〜１４２は、サーバ２５０及び２６０間で重複してもよい。いくつかの例では、サーバ２５０は、特定の種類のデータを記録するために使用されるロギング・サービス１３５のバージョンを含んでもよく、及びサーバ２６０は、他の種類のデータを記録するために使用されるロギング・サービス１３５の別のバージョンを含んでもよい。いくつかの実施形態では、相互運用システムは、登録サービス１３１及び業者サービス１４１のみを提供する限定されたサーバ又はハブのみを含むことができ、ここで業者サービス１４１を使用して、他のサービス１３２〜１４０及び／又は１４２をホストしているノード２１０〜２３０にサービス要求を配置し及び向ける。
【００４３】
図３は、いくつかの実施形態に係る可動装置で協調動作を行う方法３００の簡略図である。方法３００のプロセス３０５〜３５５の１つ又は複数は、１つ又は複数のプロセッサ（例えば、ノード１６０、１８１〜１８９、及び／又は２１０〜２３０の、及び／又はサーバ１１０、２５０、及び／又は２６０の１つ又は複数のプロセッサ）によって実行されたときに、１つ又は複数のプロセッサにプロセス３０５〜３５５の１つ又は複数を実行させるような、非一時的な、有形の機械可読媒体上に格納された実行可能コードの形態で少なくとも部分的に実現することができる。いくつかの実施形態では、方法３００は、アプリケーション１７２のうちの１つ等のあるアプリケーションによって実行してもよい。
【００４４】
プロセス３０５では、可動装置が、共有インターフェイスに登録される。協調動作を実行するために使用されるトークン及びデータを受け取るために、可動装置は、それ自体を共有インターフェイス１２０等の共有インターフェイスに登録することができる。例えば、可動装置は、登録サービス１３１に登録要求を行うことができる。いくつかの例では、可動装置は、可動装置を共有インターフェイスで特定するために使用されるキー及び／又はセッション識別子を受け取ることができる。いくつかの実施形態では、可動装置は、装置のタイプを識別する情報をさらに提供することができ、その動きに関する構成の、幾何学的な、及び／又は運動学的な情報をさらに提供することができる。いくつかの例では、これは、可動装置の１つ又は複数の幾何学的及び／又は運動学的モデルをサービス１７４等のサービスの形態で提供することを含んでもよく、１つ又は複数の他の異種装置、ノード、及び／又は可動装置は、その可動装置によって占有される現在及び／又は潜在的な将来のボリュームを検出するために使用する。
【００４５】
プロセス３１０では、可動装置は、１つ又は複数の他のノード及び／又は可動装置を検出することができる。例えば、可動装置は、共有インターフェイスを使用して、関心対象の１つ又は複数の他のノード及び／又は可動装置を含むリスト及び／又は他のデータ構造にアクセスすることができる。いくつかの例では、黒板サービス３１０は、可動装置が、例えば、広く認識された及び／又は標準化されたキーを使用して要求することができる、１つ又は複数の他のノード及び／又は可動装置を含むリスト又はデータ構造を格納することができる。いくつかの例では、１つ又は複数の他のノード及び／又は可動装置のリストに基づいて、可動装置は、可能な及び／又は望ましい１つ又は複数のタイプの協調動作を決定することができる。
【００４６】
プロセス３１５では、可動装置は、運動トークンを要求する。複数の可動装置を含むシステムでは、可動装置は、動きを始める前に運動トークンを保持又は有していなければならない。これは、１つ又は複数の他の可動装置との衝突を防止するために、及び／又は可動装置を含む部屋で患者及び／又は他の従事者への危険を回避するために、重要な安全ステップとすることができる。いくつかの例では、運動トークンは、トークン・サービス１３７を使用して要求することができる。いくつかの例では、運動トークンは、排他的な動きトークン、フォローミー・トークン、衝突回避トークン及び／又は同様のトークン等の特殊目的のトークンとすることができる。いくつかの例では、可動装置が動きを開始することを望む場合に、その可動装置は、排他的な動きトークン、マスター・フォローミー・トークン、及び／又はマスター衝突回避トークンを要求することができる。いくつかの例では、可動装置が準拠した動き及び／又は衝突の生じない動きを提供することを望む場合に、可動装置は、スレーブ・トークンを要求することができる。
【００４７】
プロセス３２０では、可動装置は、運動トークンを受け取ることができる。受け取った運動トークンは、プロセス３１５の間に要求された運動トークンに基づくものである。いくつかの例では、運動トークンをトークン・サービス１３７から受け取る。いくつかの例では、可動装置は、運動トークンを受け取るまで、プロセス３２０で待機することができる。いくつかの実施形態では、複数の可動装置が、交差するボリュームを決して有さないときに、可動装置は、この可動装置が制限を受けない動きを行うことを可能とする排他的な動きトークンを受け取ることができる。いくつかの実施形態では、可動装置は、複数の制約を可動装置に設ける複数の運動トークンを受け取ることができる。例えば、可動装置は、別の可動装置に追従するためのスレーブ・フォローミー・トークンを受け取る一方、１つ又は複数の他の可動装置との衝突を回避するためのスレーブ衝突回避トークンも受け取ることができる。いくつかの例では、受け取った１つ又は複数の運動トークンの集合体によって、可動装置の動き挙動を決定する。いくつかの例では、可動装置は、他の可動装置によって形成された競合するトークンについての複数の係属中の要求によって、しばらくの間、要求運動トークンを受け取ることができない場合がある。いくつかの例では、競合するトークンについての複数の要求は、先着順の戦略、事前規定された優先度モデル、カスタム優先度モデル、及び／又は同様のモデル等を用いる優先度システムを使用して解決することができる。
【００４８】
プロセス３２５では、可動装置は、１つ又は複数の他の可動装置に対する運動トークンの割当てを要求することができる。いくつかの例では、運動中のより高い安全性及び／又は確実性を提供するために、可動装置は、１つ又は複数の特定のタイプの可動運動トークンをプロセス３１０の間に検出された１つ又は複数の他の可動装置に割り当てることを要求することができる。いくつかの例では、可動装置がプロセス３２０の間にマスター運動トークンを受け取る場合に、可動装置は、１つ又は複数の対応するスレーブ運動トークンを１つ又は複数の他の可動装置に割り当てることを要求することができる。いくつかの例では、可動装置は、１つ又は複数の受動的な衝突回避トークンを、スレーブ運動トークンを保持していない１つ又は複数の他の装置に割り当てる要求をして、可動装置が、プロセス３３５の間に１つ又は複数の他の可動装置からの最新の位置情報を受け取ることを保証するのに役立てることができる。プロセス３２５を使用することにより、可動装置は、１つ又は複数の他の可動装置間での協調動作のより積極的な制御を行うことができる。
【００４９】
プロセス３３０では、可動装置は、運動トークンの割当ての確認を受け取る。運動トークンの割当てを要求した後に、可動装置は、１つ又は複数の他の可動装置が、プロセス３４０の間に動きを実行する前に、それらの対応する運動トークンの受信を確認するような確証を受け取るまで、待機することができる。
【００５０】
プロセス３３５では、可動装置は、位置及び／又は経路データを１つ又は複数の他の可動装置と交換する。いくつかの実施形態では、可動装置によって保持された運動トークンに拘わらず、可動装置は、黒板サービス１３２を使用して、その位置及び／又は運動学的データの更新を定期的に送信することができる。いくつかの例では、これらの更新は、サービス１７４のうちの１つ等のサービスを使用して提供することができる。これによって、１つ又は複数の他の装置が、可動装置の動きを監視することが可能になる。いくつかの例では、可動装置は、可動装置が現在占有しているボリュームを記述するデータを共有することができる。いくつかの例では、可動装置は、バッファゾーンを含む、可動装置に関する外周ボリュームを記述するデータを共有することができる。いくつかの例では、これらのボリュームのいずれかは、可動装置に関連した飛行禁止区域を記述することができる。いくつかの例では、可動装置は、データ処理サービス１３４及び／又は業者サービス１４１を使用してアクセスできるスクリプトを使用して、関節パラメータを飛行禁止区域に変換し得る移動関節パラメータを共有することができる。いくつかの例では、可動装置は、１つ又は複数の他の可動装置が対応する１つ又は複数のスレーブ・フォローミー・トークン及び／又はスレーブ衝突回避トークンを遵守できるような計画した動き等の将来の経路情報を共有することができる。いくつかの例では、可動装置がスレーブ・フォローミー・トークン、スレーブ衝突回避トークン、受動的な衝突回避トークン、及び／又は同様のトークンを保持する場合に、可動装置は、黒板サービス１３２を使用して１つ又は複数の他の可動装置上での飛行禁止データ、位置データ、及び／又は計画した動きデータを受け取ることができ、及び／又は出版サービス１３３を使用して飛行禁止データ、位置データ、及び／又は経路データの更新を受け取ることができる。いくつかの例では、可動装置は、１つ又は複数の他の可動要素が、位置及び／又は計画した動きの更新を提供するように１つ又は複数の要求を発することができる。いくつかの例では、位置及び／又は経路データは、可動装置によって操作される１つ又は複数のエネルギービーム及び／又は１つ又は複数のエネルギー場に関連付けることができる。いくつかの実施形態では、可動装置は、力データを１つ又は複数の他の可動装置と交換することができる。いくつかの例では、力データは、力、トルク、圧力、及び／又は、可動装置及び／又は１つ又は複数の他の可動要素の他の静的及び／又は動的な特性に関連するデータを含んでもよい。
【００５１】
プロセス３４０では、可動装置は、動きを実行することができる。保持された運動トークン（複数可）のタイプ及び１つ又は複数の他の可動装置に関する既知の飛行禁止データ、位置データ、及び／又は経路データに基づいて、可動装置は、関節アーム等の１つ又は複数の可動要素の動きを計画し且つ実行することができる。いくつかの例では、可動装置がスレーブ・フォローミー・トークンを保持する場合に、可動装置は、マスター・フォローミー・トークンを保持する他の可動装置によって共有された経路に準拠した動きを計画し且つ実行することができる。いくつかの例では、可動装置がスレーブ衝突回避トークンを保持する場合に、可動装置は、マスター衝突回避トークンを保持する他の可動装置によって共有される飛行禁止データ、位置データ、及び／又は経路データを回避するような衝突の生じない経路を計画し且つ実行することができる。いくつかの実施形態では、可動装置間の運動計画は、他の可動装置のうちの１つでのデータ処理サービス１３４及び／又はサービス１７４等のサービスを使用して一元管理することができる。いくつかの例では、一元管理された運動計画サービスは、１つ又は複数の他の可動装置のそれぞれにより占有された１つ又は複数のボリュームを含む組合せ飛行禁止区域を利用可能にすることができる。いくつかの例では、実行される動きは、１つ又は複数のエネルギービーム及び／又は１つ又は複数のエネルギー場に関連付けることができる。
【００５２】
プロセス３４５では、可動装置は、警報を発することができる。例えば、可動装置がスレーブ・トークンに準拠することができない及び／又は運動トークンを保持していないにも拘わらず、移動しなければならない場合に、可動装置は、警報を発することができる。いくつかの例では、可動装置は、警告サービス１３６を使用して、その可動装置が保持する運動トークンに準拠することができない１つ又は複数の他の可動装置に通知することができる。いくつかの実施形態では、可動装置は、プロセス３３５の間に他の可動装置から受け取った位置データ、経路データ、及び／又は他のデータに基づいて警報をさらに発することができる。いくつかの実施例では、警報は、可動装置が、他の可動装置の位置付け及び／又は動きに関して行うことができる監視に関連し得る。
【００５３】
プロセス３５０では、可動装置は、警告を監視することができる。例えば、可動装置が排他的な動きトークン及び／又はマスター・トークンを保持する場合に、可動装置は、他の可動装置のうちの１つが、予定通りには遵守することができないことを示す警告を監視することができる。いくつかの例では、１つ又は複数の警告は、他の可動装置のうちの１つの対応するプロセス３４５の間に発生した警報に起因し得る。いくつかの例では、可動装置は、警告サービス１３６を使用して警告を監視することができる。いくつかの実施形態では、データ処理サービス１３４及び／又はカスタム運動サービスは、警告サービス１３６と共に使用することができる。いくつかの例では、スクリプトを使用して可動装置について１つ又は複数の特別な警告を生成することができる。いくつかの例では、スクリプトは、別の可動装置が規定したボリュームから離れる及び／又はこのボリュームに入るたびに警告を発することを要求することができる。いくつかの例では、規定されたボリュームは、中心及び半径によって規定された球体、凸型ハル（hull）によって規定された多面体ボリューム、及び／又は他の、おそらくより複雑なボリュームであってもよい。いくつかの例では、スクリプトは、他の可動装置が動きを実行するたびに警告を発することを要求することができる。
【００５４】
プロセス３５５では、可動装置は、運動トークンをリリース(release)することができる。可動装置がもはや動きを実行するのを望まない場合に、その可動装置は、プロセス３２０の間に受け取った運動トークンをリリースすることができる。いくつかの例では、運動トークンをリリースすることによって、可動装置は、トークンをリリースしたことを１つ又は複数の他の可動装置に通知するような１つ又は複数の警告をトリガすることができる。こうして、対応するスレーブ・トークンを保持する１つ又は複数の他の可動装置は、それら他の可動装置がもはやスレーブ・フォローミー・トークン及び／又はスレーブ衝突回避トークンに準拠する必要はないという通知を受けることができる。排他的な動きトークン及び／又はマスター運動トークンのリリースの際に、それら対応するプロセス３１５の間にこれらの運動トークンを要求した１つ又は複数の他の可動装置は、対応するプロセス３２０の間に要求した運動トークンを受け取ることができる。いくつかの例では、可動装置は、ユーザ及び／又は別の可動装置から受け取った要求に基づいて、運動トークンをリリースすることができる。
【００５５】
図４は、いくつかの実施形態に係る協調動作システム４００の簡略図である。図４に示されるように、協調動作システム４００は、手術室及び／又は介入処置室に見受けられる。協調動作システム４００は、患者カート及び／又は手術台４１０を含む。手術台４１０は、可動装置であってもよい。いくつかの例では、手術台４１０は、その自由度のいずれか１つの運動を行うことができる。いくつかの例では、手術台４１０は、患者に処置を行う医師及び／又は看護師の背の高さを考慮して、及び／又は手術台４１０付近の１つ又は複数の他の装置の高さ及び／又はサイズを考慮して高さを調整可能である。いくつかの例では、手術台は、現在の手術及び／又は処置をサポートするために患者を適切な姿勢で配置するために、必要に応じて横方向へ移動し、ロール、ピッチ及び／又はヨー運動を調整することができる。
【００５６】
協調動作システム４００は、コンピュータ支援手術用装置４２０も含む。コンピュータ支援手術用装置４２０は、手術用器具、撮像装置、及び／又は同様の装置等を支持するための１つ又は複数の可動要素又は関節アーム４２５を含むことができる。コンピュータ支援手術用装置４２０は、外科医コンソール４３０にさらに結合され、この外科医コンソールは、コンピュータ支援手術用装置４２０及び／又は１つ又は複数の関節アーム４２５を操作するための１つ又は複数のマスター制御装置を含むことができる。いくつかの実施形態では、コンピュータ支援手術用装置４２０及び外科医コンソール４３０は、カリフォルニア州サニーベールにあるIntutive  Surgical,  Inc.によって市販されているda  Vinci（登録商標）手術システムに対応してもよい。いくつかの実施形態では、他の構成、より少ない又はより多い関節アーム、及び／又は同様の構成を含むコンピュータ支援手術用装置を、協調動作システム４００で使用することができる。いくつかの実施形態では、コンピュータ支援手術用装置４２０は、図４に示されるように、自立型というよりもむしろ手術台４１０に取り付けることができる。
【００５７】
協調動作システム４００は、撮像装置４４０をさらに含むことができる。撮像装置４４０は、手術台４１０に位置する患者の１つ又は複数の診断画像を撮影するために使用されるような撮像サブシステム４４５を含む。撮像装置４４０及び撮像サブシステム４４５は、所望の１つ又は複数の診断画像を撮影するために撮像サブシステム４４５を患者に対して位置付けするのに必要な１つ又は複数の可動要素を含むことができる。図４の撮像装置４４０は、Ｃ形状アームとして特徴付けられる撮像サブシステム４４５で示されているが、他のタイプの撮像装置４４０が、協調動作システム４００で使用可能である。いくつかの実施形態では、撮像サブシステム４４５は、ＭＲボア等のドーナツ形状のボア、プローブを含む関節アーム、１つ又は複数の関節アーム、及び／又は同様のもの等を含んでもよい。いくつかの実施形態では、撮像装置４４０は、図４に示されるように、自立型というよりもむしろ手術台４１０に取り付けることができる。
【００５８】
協調動作システム４００は、動き追跡システム４５０をさらに含むことができる。動き追跡システム４５０は、協調動作システム４００付近の１つ又は複数の装置及び／又は１つ又は複数の従事者の位置を追跡することができるような１つ又は複数の追跡装置を含むことができる。いくつかの例では、追跡装置は、ビジョン、電磁気、ＲＦＩＤ、超音波、関節式機械システム、及び／又は同様のシステム等に基づく１つ又は複数の追跡技術を含むことができる。いくつかの例では、動き追跡システム４５０は、手術台４１０、コンピュータ支援手術用装置４２０、外科医コンソール４３０、及び／又は撮像装置４４０上の１つ又は複数のレジストレーション・ポイントだけでなく、１つ又は複数の他の対象物及び／又は１つ又は複数の従事者のそれらのポイントを追跡することができる。動き追跡システム４５０によって収集された追跡データに基づいて、動き追跡システム４５０は、１つ又は複数の装置の位置を監視し、切迫した衝突警告等の１つ又は複数の警告を発し、及び／又は、共有インターフェイス及び／又はトークン等の協調動作機能、警告、及び／又は１つ又は複数の装置及び／又は１つ又は複数の従事者が他の装置を使用することができない状態で、協調動作システム４００の使用を可能にするすることができる。いくつかの例では、動き追跡システム４５０は、追跡される各対象物及び／又は従事者について１つ又は複数の仮想可動装置を形成することができる。他の可動装置と同様に、動き追跡システム４５０は、１つ又は複数の仮想可動装置のそれぞれについて位置及び／又は経路の更新を提供することができる。
【００５９】
手術台４１０、コンピュータ支援手術用装置４２０、外科医コンソール４３０、撮像装置４４０、及び動き追跡システム４５０は、それぞれ、ノード１６０、１８１〜１８９、及び／又は２１０〜２３０に確認されるものと同様の特徴を含む異種装置であってもよい。これらの異種装置のそれぞれをサーバ４６０に結合してもよい。例えば、サーバ４６０は、サーバ１１０、２５０、及び／又は２６０のいずれであってもよい。共有インターフェイス１２０及び１７０だけでなくサービス１３１〜１４２及び／又１７４、及び／又はアプリケーション１７２を異種装置のそれぞれで使用して、協調動作システム４００は、方法３００のプロセスに一致する協調動作を実施することができる。
【００６０】
いくつかの実施形態では、協調動作システム４００は、図示されていない他の異種装置及び／又は可動装置を含むことができる。いくつかの例では、他の異種装置及び／又は可動装置は、１つ又は複数のＰＡＣＳステーション、コンピュータ支援介入装置、焦点介入装置、定位装置、位置決め装置、監視装置、スマートフロアや壁、カメラ、距離センサ、環境センサ、及び／又は同様の装置等を含んでもよい。
【００６１】
方法３００のプロセスのいくつかの例示的な使用は、ここで、１つ又は複数の共有インターフェイス及び関連するサービスを含むシステムでどの様に協調動作を実現することができるかを実証するために提示される。
【００６２】
実施例１−フォローミー・トークンの使用：
手術又は他の処置中では、手術又は処置が完了するまで、コンピュータ支援手術用装置４２０の関節アーム４２５を患者からドッキング解除することは、一般的に望ましくない。これは、１つ又は複数の切開部位への感染症及び／又は反復ドッキングによる合併症の可能性を低減するのに役立つ。いくつかの手術又は処置中に、関節アーム４２５を患者にドッキングしている間に、手術台４１０の場所、位置、及び／又は高さを変更することが望ましい場合がある。これをサポートするために、方法３００は、手術台４１０によって、プロセス３１５を使用してマスター・フォローミー・トークンを要求するように使用することができる。サーバ４６０の共有インターフェイス及びトークン・サービス１３７を介したネゴシエーションに続いて、手術台４１０は、マスター・フォローミー・トークンを発することができ、コンピュータ支援手術用装置４２０は、プロセス３２０を使用してスレーブ・フォローミー・トークンを発することができる。手術台４１０は、その後、黒板サービス１３２を使用して、プロセス３３５を使用して計画した経路を提供することができ、その計画した経路は、出版サービス１３３によって、コンピュータ支援手術用装置４２０に転送することができる。手術台４１０の計画した経路に基づいて、コンピュータ支援手術用装置４２０は、関節アーム４２５が患者とドッキングした状態に留まるのを可能にし、且つ手術用器具の位置付けを阻害しないような準拠した経路を計画し且つ実行することができる。いくつかの例では、これは、手術台４１０が移動している間であっても、手術又は処置の継続をさらに可能にすることができる。コンピュータ支援手術用装置４２０がスレーブ・フォローミー・トークンに準拠した状態のままにすることができないときに、患者への衝突や損傷が発生する前に、手術台４１０がその動きを停止するように、警告サービス１３６を使用して、手術台４１０に警告することができる。いくつかの例では、撮像装置４４０は、スレーブ衝突回避トークンをさらに発することができ、それによって撮像装置４４０は、手術台４１０及び患者の双方の衝突だけでなく、コンピュータ支援手術用装置４２０及び関節アーム４２５の双方の衝突を回避するような経路を計画し且つ実行することができる。いくつかの例では、撮像装置４４０は、スレーブ・フォローミー・トークンをさらに発することができ、それによって撮像装置４４０は、患者の標的解剖学的構造を撮像サブシステム４４５の視野に維持するために、手術台４１０及びコンピュータ支援手術用装置４２０と一緒に移動することができる。
【００６３】
実施例２−衝突回避トークンの使用：
手術又は他の処置中に、撮像装置４４０を使用して患者の更新した画像を撮影することが望ましい場合が多い。撮像装置４４０が断層撮像装置である場合に、撮像装置４４０は、一般に、撮像サブシステム４４５を患者の周囲の経路に移動させる。衝突回避トークンは、患者からドッキング解除するためにコンピュータ支援手術用装置４２０を必要とすることなく、撮像装置４４０が患者の更新画像を撮影することが可能となるように、２つの方法のうちの１つで使用することができる。一例では、撮像装置４４０は、マスター衝突回避トークンを発することができ、コンピュータ支援手術用装置４２０は、スレーブ衝突回避トークンを発することができ、そして手術台は、運動トークンを発しなくてもよい。撮像装置４４０は、その後、コンピュータ支援手術用装置４２０が、対応する衝突回避経路を計画するために使用する計画した経路を共有することができ、その対応する衝突回避経路によって、コンピュータ支援手術用装置４２０が患者とドッキングした状態のままとなることを可能にする。いくつかの例では、撮像装置４４０によって共有された計画した経路は、撮像装置４４０によって操作される１つ又は複数のエネルギービーム及び／又は１つ又はエネルギー場に関連付けられた位置データ及び／又は経路データを含むことができる。別の例では、トークンは、マスター・トークンを受け取るコンピュータ支援手術用装置４２０、及びスレーブ・トークンを受け取る撮像装置４４０を逆にしてもよい。この場合に、撮像装置４４０は、コンピュータ支援手術用装置４２０及びその関節アーム４２５の計画した経路及び／又は共有した位置の周りに撮影軌跡を計画することができる。コンピュータ支援手術用装置４２０及び／又は撮像装置４４０のいずれかが、それが保持する衝突回避トークンに準拠できない場合に、警告サービス１３６を使用して他の装置に警告することができる。
【００６４】
実施例３−手術従事者及び他の装置の回避：
動き追跡システム４５０は、協調動作に参加するために、共有インターフェイスを用いることなく対象物を含めるように使用することができる。手術従事者及び手術従事者が使用する器具は、動き追跡システム４５０によって追跡することができるレジストレーション・ポイントをマークすることができる。観察されたレジストレーション・ポイントに基づいて、動き追跡システム４５０は、手術従事者及び器具に関連する１つ又は複数の仮想可動装置を形成することができる。コンピュータ支援手術用装置４２０等の他の可動装置は、仮想可動装置が受動的な衝突回避トークンを割り当てられ且つ飛行禁止区域のように機能する場合に、衝突回避トークンを使用してこれらの仮想可動要素を回避することができる。いくつかの例では、仮想可動装置のそれぞれの寸法は、各レジストレーション・マーカ及び／又はタグに関連付けられた対象物の種類に基づいて、データベースから取得することができる。いくつかの例では、動き追跡システム４５０がＲＦＩＤタイプの場合に、各対象物の寸法は、関連するＲＦＩＤタグに格納することができ、動き追跡システム４５０を用いて読み出すことができる。いくつかの実施形態では、コンピュータ支援手術用装置４２０は、上記の実施例１に記載したように手術台４１０に追従するようにスレーブ・フォローミー・トークンを保持することができる。
【００６５】
図４の異種装置等の異種装置のいくつかの実施例、及び／又は協調動作システム４００は、１つ又は複数のプロセッサにより実行されたときに、１つ又は複数のプロセッサに方法３００のプロセスを実行させる実行可能コードを含むような非一時的な、有形の機械可読媒体を含むことができる。方法３００のプロセスを含み得る機械可読媒体の一般的な形態は、例えば、フロッピーディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、ＣＤ−ＲＯＭ、他の光媒体、パンチカード、紙テープ、ホールパターンを含む他の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他のメモリチップ又はカートリッジ、及び／又はプロセッサ又はコンピュータが読み取るように適合された他の媒体である。
【００６６】
例示的な実施形態について図示し且つ説明してきたが、広範な修正、変更及び置換が、前述した開示において企図されており、いくつかの例では、実施形態のいくつかの特徴は、他の特徴の対応する使用なしに用いることができる。当業者は、多くの変形形態、代替形態、及び修正形態を認識するであろう。従って、本発明の範囲は、以下の特許請求の範囲によってのみ限定されるものではなく、特許請求の範囲は、広範に及び本明細書に開示された実施形態の範囲と一致する態様で解釈することが適切である。
【図１】
2019072572.tif 000003
【図２】
2019072572.tif 000004
【図３】
2019072572.tif 000005
【図４】
2019072572.tif 000006
【外国語明細書】
2019072572000001.pdf