[openrtm-users 00260] コンポーネント名についてのお伺い

5 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 3日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00260] コンポーネント名についてのお伺い

いつも御世話になります。宇田@NECシステムテクノロジーです

旧バージョンのお話しで恐縮ですが、OpenRTM-aist-0.2.0の振る舞い についてご教授ください。

下記のように、ローカルLANを介して複数のマシンがつながっており、 1台でネーミングサービスが稼動している状態で、他のマシン上で 「同じモジュール名で」createComponent()を行った場合、コンポー ネント番号は重複しないように調停されますでしょうか?

それとも調停は行われず、各マシン毎に0から始まるコンポーネント 番号が割り振られますでしょうか?

                    ネーミングサービス
                          を起動
                            ↓
                      ┏━━━━━┓
                      ┃ マシンA ┃
                      ┗━━┳━━┛
                            ┃
                            ┃
                        ┏━┻━┓
                        ┃HUB┃
                        ┗┳┳┳┛
            ┏━━━━━━┛┃┗━━━━━━┓
            ┃              ┃              ┃
      ┏━━┻━━┓  ┏━━┻━━┓  ┏━━┻━━┓
      ┃ マシンB ┃  ┃ マシンC ┃  ┃ マシンD ┃
      ┗━━━━━┛  ┗━━━━━┛  ┗━━━━━┛
            ↑              ↑              ↑
            │              │              │
            └───────┼───────┘
                            │
                     各マシン上で同じ
           createComponent("SameModuleName", …);
            を実行(つまり同じプログラムを実行)

またもし後者が正しい場合、同じコンポーネント名を持つ複数マシン 上のコンポーネントを識別する方法はございますでしょうか?

未定義
root
オフライン
Last seen: 3日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00261] コンポーネント名についてのお伺い

宇田様

産総研 安藤です

お世話になっております。

OpenRTM-aist-0.2.0では、コンポーネントの名前は、

[モジュール名]+[インスタンス番号]

となります。インスタンス番号はマネージャがカウントしたものが
与えられますので、異なるマネージャでは、それぞれ0から始まってしまいます。
従いまして、当然異なるマシン上で生成されたコンポーネントでは、
それぞれ0から始まってしまいます。

コンポーネントはデフォルトではネームサーバ上に以下のフォーマットの名前として
登録されると思います。
[ホスト名]/[マネージャ名]/[カテゴリ名]/[モジュール名]/コンポーネント名

従いまして、ネームサーバ上では全てのコンポーネントは一意な名前として登録
されますので、これを利用すれば同一名称のコンポーネントを識別することが可能です。

ただし、エイリアスを使用してコンポーネントを登録している場合には、
名前の一意性を満たすのはユーザの責任となっております。

なお、0.4.0では名前を登録する方法はrtc.confで自由に変えられるようになっています。

> いつも御世話になります。宇田@NECシステムテクノロジーです
>
> 旧バージョンのお話しで恐縮ですが、OpenRTM-aist-0.2.0の振る舞い
> についてご教授ください。
>
> 下記のように、ローカルLANを介して複数のマシンがつながっており、
> 1台でネーミングサービスが稼動している状態で、他のマシン上で
> 「同じモジュール名で」createComponent()を行った場合、コンポー
> ネント番号は重複しないように調停されますでしょうか?
>
> それとも調停は行われず、各マシン毎に0から始まるコンポーネント
> 番号が割り振られますでしょうか?
>
>
> ネーミングサービス
> を起動
> ↓
> ┏━━━━━┓
> ┃ マシンA ┃
> ┗━━┳━━┛
> ┃
> ┃
> ┏━┻━┓
> ┃HUB┃
> ┗┳┳┳┛
> ┏━━━━━━┛┃┗━━━━━━┓
> ┃ ┃ ┃
> ┏━━┻━━┓ ┏━━┻━━┓ ┏━━┻━━┓
> ┃ マシンB ┃ ┃ マシンC ┃ ┃ マシンD ┃
> ┗━━━━━┛ ┗━━━━━┛ ┗━━━━━┛
> ↑ ↑ ↑
> │ │ │
> └───────┼───────┘
> │
> 各マシン上で同じ
> createComponent("SameModuleName", …);
> を実行(つまり同じプログラムを実行)
>
>
> またもし後者が正しい場合、同じコンポーネント名を持つ複数マシン
> 上のコンポーネントを識別する方法はございますでしょうか?
>
>
>
>

root
オフライン
Last seen: 3日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00262] コンポーネント名についてのお伺い

いつも御世話になります。宇田@NECシステムテクノロジーです

早速のご回答をどうもありがとうございます。

下記のフォーマットは、例えばRtcManagerのfindComponents()などに
渡して検索する場合に使われるかと思いますが、この時にはホスト名
としてマシンB〜DのIPアドレスを指定してもよろしいでしょうか?

例えば

findComponents("192.168.0.1/.*/Generic/SameModuleName/SameModuleName0");

は有効でしょうか?

> 宇田様
>
> 産総研 安藤です
>
> お世話になっております。
>
> OpenRTM-aist-0.2.0では、コンポーネントの名前は、
>
> [モジュール名]+[インスタンス番号]
>
> となります。インスタンス番号はマネージャがカウントしたものが
> 与えられますので、異なるマネージャでは、それぞれ0から始まってしまいます。
> 従いまして、当然異なるマシン上で生成されたコンポーネントでは、
> それぞれ0から始まってしまいます。
>
> コンポーネントはデフォルトではネームサーバ上に以下のフォーマットの名前として
> 登録されると思います。
> [ホスト名]/[マネージャ名]/[カテゴリ名]/[モジュール名]/コンポーネント名
>
> 従いまして、ネームサーバ上では全てのコンポーネントは一意な名前として登録
> されますので、これを利用すれば同一名称のコンポーネントを識別することが可能です。
>
> ただし、エイリアスを使用してコンポーネントを登録している場合には、
> 名前の一意性を満たすのはユーザの責任となっております。
>
> なお、0.4.0では名前を登録する方法はrtc.confで自由に変えられるようになっています。
>
> > いつも御世話になります。宇田@NECシステムテクノロジーです
> >
> > 旧バージョンのお話しで恐縮ですが、OpenRTM-aist-0.2.0の振る舞い
> > についてご教授ください。
> >
> > 下記のように、ローカルLANを介して複数のマシンがつながっており、
> > 1台でネーミングサービスが稼動している状態で、他のマシン上で
> > 「同じモジュール名で」createComponent()を行った場合、コンポー
> > ネント番号は重複しないように調停されますでしょうか?
> >
> > それとも調停は行われず、各マシン毎に0から始まるコンポーネント
> > 番号が割り振られますでしょうか?
> >
> >
> > ネーミングサービス
> > を起動
> > ↓
> > ┏━━━━━┓
> > ┃ マシンA ┃
> > ┗━━┳━━┛
> > ┃
> > ┃
> > ┏━┻━┓
> > ┃HUB┃
> > ┗┳┳┳┛
> > ┏━━━━━━┛┃┗━━━━━━┓
> > ┃ ┃ ┃
> > ┏━━┻━━┓ ┏━━┻━━┓ ┏━━┻━━┓
> > ┃ マシンB ┃ ┃ マシンC ┃ ┃ マシンD ┃
> > ┗━━━━━┛ ┗━━━━━┛ ┗━━━━━┛
> > ↑ ↑ ↑
> > │ │ │
> > └───────┼───────┘
> > │
> > 各マシン上で同じ
> > createComponent("SameModuleName", …);
> > を実行(つまり同じプログラムを実行)
> >
> >
> > またもし後者が正しい場合、同じコンポーネント名を持つ複数マシン
> > 上のコンポーネントを識別する方法はございますでしょうか?
> >
>

root
オフライン
Last seen: 3日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00263] コンポーネント名についてのお伺い

宇田様

安藤です

> いつも御世話になります。宇田@NECシステムテクノロジーです
>
> 早速のご回答をどうもありがとうございます。
>
> 下記のフォーマットは、例えばRtcManagerのfindComponents()などに
> 渡して検索する場合に使われるかと思いますが、この時にはホスト名
> としてマシンB〜DのIPアドレスを指定してもよろしいでしょうか?
>
> 例えば
>
> findComponents("192.168.0.1/.*/Generic/SameModuleName/SameModuleName0");
>
> は有効でしょうか?

ネームサーバに上記のような名前で登録されていれば、探せるとは思いますが、
一番初めのホスト名は、IPアドレスではなく、そのホストに設定されている
ホスト名を使用するようになっていたと思います。
hostname コマンドで表示される名前ですね。

>
>
> > 宇田様
> >
> > 産総研 安藤です
> >
> > お世話になっております。
> >
> > OpenRTM-aist-0.2.0では、コンポーネントの名前は、
> >
> > [モジュール名]+[インスタンス番号]
> >
> > となります。インスタンス番号はマネージャがカウントしたものが
> > 与えられますので、異なるマネージャでは、それぞれ0から始まってしまいます。
> > 従いまして、当然異なるマシン上で生成されたコンポーネントでは、
> > それぞれ0から始まってしまいます。
> >
> > コンポーネントはデフォルトではネームサーバ上に以下のフォーマットの名前として
> > 登録されると思います。
> > [ホスト名]/[マネージャ名]/[カテゴリ名]/[モジュール名]/コンポーネント名
> >
> > 従いまして、ネームサーバ上では全てのコンポーネントは一意な名前として登録
> > されますので、これを利用すれば同一名称のコンポーネントを識別することが可能です。
> >
> > ただし、エイリアスを使用してコンポーネントを登録している場合には、
> > 名前の一意性を満たすのはユーザの責任となっております。
> >
> > なお、0.4.0では名前を登録する方法はrtc.confで自由に変えられるようになっています。
> >
> > > いつも御世話になります。宇田@NECシステムテクノロジーです
> > >
> > > 旧バージョンのお話しで恐縮ですが、OpenRTM-aist-0.2.0の振る舞い
> > > についてご教授ください。
> > >
> > > 下記のように、ローカルLANを介して複数のマシンがつながっており、
> > > 1台でネーミングサービスが稼動している状態で、他のマシン上で
> > > 「同じモジュール名で」createComponent()を行った場合、コンポー
> > > ネント番号は重複しないように調停されますでしょうか?
> > >
> > > それとも調停は行われず、各マシン毎に0から始まるコンポーネント
> > > 番号が割り振られますでしょうか?
> > >
> > >
> > > ネーミングサービス
> > > を起動
> > > ↓
> > > ┏━━━━━┓
> > > ┃ マシンA ┃
> > > ┗━━┳━━┛
> > > ┃
> > > ┃
> > > ┏━┻━┓
> > > ┃HUB┃
> > > ┗┳┳┳┛
> > > ┏━━━━━━┛┃┗━━━━━━┓
> > > ┃ ┃ ┃
> > > ┏━━┻━━┓ ┏━━┻━━┓ ┏━━┻━━┓
> > > ┃ マシンB ┃ ┃ マシンC ┃ ┃ マシンD ┃
> > > ┗━━━━━┛ ┗━━━━━┛ ┗━━━━━┛
> > > ↑ ↑ ↑
> > > │ │ │
> > > └───────┼───────┘
> > > │
> > > 各マシン上で同じ
> > > createComponent("SameModuleName", …);
> > > を実行(つまり同じプログラムを実行)
> > >
> > >
> > > またもし後者が正しい場合、同じコンポーネント名を持つ複数マシン
> > > 上のコンポーネントを識別する方法はございますでしょうか?
> > >
>
>
>

root
オフライン
Last seen: 3日 3時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00264] コンポーネント名についてのお伺い

いつも御世話になります。宇田@NECSTです

了解致しました。では、ホスト名を使う方式を検討したいと思います。
ご教授ありがとうございました。

> 宇田様
>
> 安藤です
>
> > いつも御世話になります。宇田@NECシステムテクノロジーです
> >
> > 早速のご回答をどうもありがとうございます。
> >
> > 下記のフォーマットは、例えばRtcManagerのfindComponents()などに
> > 渡して検索する場合に使われるかと思いますが、この時にはホスト名
> > としてマシンB〜DのIPアドレスを指定してもよろしいでしょうか?
> >
> > 例えば
> >
> > findComponents("192.168.0.1/.*/Generic/SameModuleName/SameModuleName0");
> >
> > は有効でしょうか?
>
> ネームサーバに上記のような名前で登録されていれば、探せるとは思いますが、
> 一番初めのホスト名は、IPアドレスではなく、そのホストに設定されている
> ホスト名を使用するようになっていたと思います。
> hostname コマンドで表示される名前ですね。
>
> >
> >
> > > 宇田様
> > >
> > > 産総研 安藤です
> > >
> > > お世話になっております。
> > >
> > > OpenRTM-aist-0.2.0では、コンポーネントの名前は、
> > >
> > > [モジュール名]+[インスタンス番号]
> > >
> > > となります。インスタンス番号はマネージャがカウントしたものが
> > > 与えられますので、異なるマネージャでは、それぞれ0から始まってしまいます。
> > > 従いまして、当然異なるマシン上で生成されたコンポーネントでは、
> > > それぞれ0から始まってしまいます。
> > >
> > > コンポーネントはデフォルトではネームサーバ上に以下のフォーマットの名前として
> > > 登録されると思います。
> > > [ホスト名]/[マネージャ名]/[カテゴリ名]/[モジュール名]/コンポーネント名
> > >
> > > 従いまして、ネームサーバ上では全てのコンポーネントは一意な名前として登録
> > > されますので、これを利用すれば同一名称のコンポーネントを識別することが可能です。
> > >
> > > ただし、エイリアスを使用してコンポーネントを登録している場合には、
> > > 名前の一意性を満たすのはユーザの責任となっております。
> > >
> > > なお、0.4.0では名前を登録する方法はrtc.confで自由に変えられるようになっています。
> > >
> > > > いつも御世話になります。宇田@NECシステムテクノロジーです
> > > >
> > > > 旧バージョンのお話しで恐縮ですが、OpenRTM-aist-0.2.0の振る舞い
> > > > についてご教授ください。
> > > >
> > > > 下記のように、ローカルLANを介して複数のマシンがつながっており、
> > > > 1台でネーミングサービスが稼動している状態で、他のマシン上で
> > > > 「同じモジュール名で」createComponent()を行った場合、コンポー
> > > > ネント番号は重複しないように調停されますでしょうか?
> > > >
> > > > それとも調停は行われず、各マシン毎に0から始まるコンポーネント
> > > > 番号が割り振られますでしょうか?
> > > >
> > > >
> > > > ネーミングサービス
> > > > を起動
> > > > ↓
> > > > ┏━━━━━┓
> > > > ┃ マシンA ┃
> > > > ┗━━┳━━┛
> > > > ┃
> > > > ┃
> > > > ┏━┻━┓
> > > > ┃HUB┃
> > > > ┗┳┳┳┛
> > > > ┏━━━━━━┛┃┗━━━━━━┓
> > > > ┃ ┃ ┃
> > > > ┏━━┻━━┓ ┏━━┻━━┓ ┏━━┻━━┓
> > > > ┃ マシンB ┃ ┃ マシンC ┃ ┃ マシンD ┃
> > > > ┗━━━━━┛ ┗━━━━━┛ ┗━━━━━┛
> > > > ↑ ↑ ↑
> > > > │ │ │
> > > > └───────┼───────┘
> > > > │
> > > > 各マシン上で同じ
> > > > createComponent("SameModuleName", …);
> > > > を実行(つまり同じプログラムを実行)
> > > >
> > > >
> > > > またもし後者が正しい場合、同じコンポーネント名を持つ複数マシン
> > > > 上のコンポーネントを識別する方法はございますでしょうか?
> > > >

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2195
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク