[openrtm-users 00097] 一つのRTコンポーネントから複数ネームサーバ登録に関して

3 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 2日 8時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00097] 一つのRTコンポーネントから複数ネームサーバ登録に関して

初めて投稿させていただきます、内田洋行 江口と申します。

私の実行環境のRTMバージョンは、OpenRTM-aist-0.2.0
OSは、Fedora Core 4です。

現在、一つのRTコンポーネントから複数のネームサーバに登録を行いたいと考え
ているのですが、方法をご存知の方がいらっしゃいましたらアドバイスをいただ
けませんでしょうか?

具体的には、RTコンポーネントの起動時に一つのネームサーバに登録を行うよう
にしたときに、同じネットワークに新しいネームサーバがたった場合に、ネーム
サーバの登録を古いサーバから新しいサーバに変えたいと考えております。

説明が下手で申し訳ありませんが、よろしくお願いします。

未定義
root
オフライン
Last seen: 2日 8時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00098] 一つのRTコンポーネントから複数ネームサーバ登録に関して

江口様

安藤です

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

> 初めて投稿させていただきます、内田洋行 江口と申します。
>
> 私の実行環境のRTMバージョンは、OpenRTM-aist-0.2.0
> OSは、Fedora Core 4です。
>
> 現在、一つのRTコンポーネントから複数のネームサーバに登録を行いたいと考え
> ているのですが、方法をご存知の方がいらっしゃいましたらアドバイスをいただ
> けませんでしょうか?
>
> 具体的には、RTコンポーネントの起動時に一つのネームサーバに登録を行うよう
> にしたときに、同じネットワークに新しいネームサーバがたった場合に、ネーム
> サーバの登録を古いサーバから新しいサーバに変えたいと考えております。

現状のRtcManagerにはそのような機能はありませんので、
ご自分で実装していただくしかありませんが、まもなくリリースする0.4.0では
複数のネームサーバを利用でき、かつrtc.confに記述されているネームサーバが
コンポーネント起動時点で動いていなくても、Managerが定期的にネームサーバが
起動しているかどうか見に行き、起動したら、それまで登録されていたコンポーネント
を全て新しいネームサーバに登録するようになっています。

ご希望の機能は、こういったものでよろしいでしょうか?
他に必要な機能がありましたらお知らせください。
余裕がありましたら実装したいと思います。

参考までに、その部分の0.4.0のソースをお送りいたします。
ただ、これを0.2.0のマネージャに組み込むのは少し面倒かもしれません。
もし組み込む場合は、NamingManagerクラスのupdate()を定期的に呼んでください。
なお、すでに存在しているネームサーバがなくなったときの処理はまだ書いていない
ので、その場合に新たに名前を登録しようとするとおそらく落ちます(笑

処理の概要は以下のとおりです。
CorbaNaming クラスはCORBA::ORB::resolve_initial_referenceではなく、
CORBA::ORB::string_to_objectを使用してネームサーバのオブジェクト参照を
取得し、参照やコンテキストのバインド・アンバインドを行います。
(なので、複数のNSを使用することができます。)
NamingManagerはCorbaNamingのインスタンスを複数作成・管理しており、
NamingManager::bindObjectで管理下にあるCorbaNamingを通して、
コンポーネントのバインドを行うと同時に、コンポーネントの名前とポインタを保存します。
update()を呼び出すと、未接続のCorbaNamingに対し、再度接続を試みて
接続できれば、NamingManagerに保存されているコンポーネントを
登録しに行くという流れです。

なお、OpenRTM-aist-0.4.0は4月中にはリリースしたいと考えております。
リリース時にはこのメーリングリストでも改めてお知らせいたします。

また、4月末か5月初めに産総研で、また5月の秋田のROBOMECで、
0.4.0を対象とした講習会も行う予定です。(まだ予定ですが。)
講習会についても日程等が決まりましたらこのMLでお知らせいたします。

どうぞよろしくお願いいたします。

root
オフライン
Last seen: 2日 8時間 前
登録日: 2009-06-23 14:31
[openrtm-users 00099] 一つのRTコンポーネントから複数ネームサーバ登録に関して

安藤様

ご返答ありがとうございました。

>> 参考までに、その部分の0.4.0のソースをお送りいたします。
>> ただ、これを0.2.0のマネージャに組み込むのは少し面倒かもしれません。
>> もし組み込む場合は、NamingManagerクラスのupdate()を定期的に呼んでください。
>> なお、すでに存在しているネームサーバがなくなったときの処理はまだ書いていない
>> ので、その場合に新たに名前を登録しようとするとおそらく落ちます(笑

現在開発を行っているバージョンが0.2.0であるので、できれば0.2.0を今回は使
いたいので、送付いただいたソースを参考に実装も検討してみたいと思います。
できるかどうか自信はありませんが。。。

>> ご希望の機能は、こういったものでよろしいでしょうか?
>> 他に必要な機能がありましたらお知らせください。
>> 余裕がありましたら実装したいと思います。

知りたかった事は、ご返答いただいた内容でした。
最終的に今回やろうとしていることは、新しいコンポーネントがネットワークに
参加した場合に、ネットワーク存在するネームサーバすべてにIPを問い合わせ、
返信されてきたIPをもとにネームサーバへの登録を行うというものでした。

現在Ad-hoc環境でのRTコンポーネントの稼働を想定しているので、ネットワーク
参加者やネームサーバが固定ではなく、随時動的に変更されることを考えています。
このような環境では、RTコンポーネントがネットワーク参加した場合にネーム
サーバのIPが事前には知ることができない場合があると考えられるので、上のよ
うな機能の必要性を感じました。

新機能として検討いただければ幸いです。

江口

Ando Noriaki wrote:
> 江口様
>
> 安藤です
>
> お世話になっております。
>
>> 初めて投稿させていただきます、内田洋行 江口と申します。
>>
>> 私の実行環境のRTMバージョンは、OpenRTM-aist-0.2.0
>> OSは、Fedora Core 4です。
>>
>> 現在、一つのRTコンポーネントから複数のネームサーバに登録を行いたいと考え
>> ているのですが、方法をご存知の方がいらっしゃいましたらアドバイスをいただ
>> けませんでしょうか?
>>
>> 具体的には、RTコンポーネントの起動時に一つのネームサーバに登録を行うよう
>> にしたときに、同じネットワークに新しいネームサーバがたった場合に、ネーム
>> サーバの登録を古いサーバから新しいサーバに変えたいと考えております。
>
> 現状のRtcManagerにはそのような機能はありませんので、
> ご自分で実装していただくしかありませんが、まもなくリリースする0.4.0では
> 複数のネームサーバを利用でき、かつrtc.confに記述されているネームサーバが
> コンポーネント起動時点で動いていなくても、Managerが定期的にネームサーバが
> 起動しているかどうか見に行き、起動したら、それまで登録されていたコンポーネント
> を全て新しいネームサーバに登録するようになっています。
>
> ご希望の機能は、こういったものでよろしいでしょうか?
> 他に必要な機能がありましたらお知らせください。
> 余裕がありましたら実装したいと思います。
>
> 参考までに、その部分の0.4.0のソースをお送りいたします。
> ただ、これを0.2.0のマネージャに組み込むのは少し面倒かもしれません。
> もし組み込む場合は、NamingManagerクラスのupdate()を定期的に呼んでください。
> なお、すでに存在しているネームサーバがなくなったときの処理はまだ書いていない
> ので、その場合に新たに名前を登録しようとするとおそらく落ちます(笑
>
> 処理の概要は以下のとおりです。
> CorbaNaming クラスはCORBA::ORB::resolve_initial_referenceではなく、
> CORBA::ORB::string_to_objectを使用してネームサーバのオブジェクト参照を
> 取得し、参照やコンテキストのバインド・アンバインドを行います。
> (なので、複数のNSを使用することができます。)
> NamingManagerはCorbaNamingのインスタンスを複数作成・管理しており、
> NamingManager::bindObjectで管理下にあるCorbaNamingを通して、
> コンポーネントのバインドを行うと同時に、コンポーネントの名前とポインタを保存します。
> update()を呼び出すと、未接続のCorbaNamingに対し、再度接続を試みて
> 接続できれば、NamingManagerに保存されているコンポーネントを
> 登録しに行くという流れです。
>
> なお、OpenRTM-aist-0.4.0は4月中にはリリースしたいと考えております。
> リリース時にはこのメーリングリストでも改めてお知らせいたします。
>
> また、4月末か5月初めに産総研で、また5月の秋田のROBOMECで、
> 0.4.0を対象とした講習会も行う予定です。(まだ予定ですが。)
> 講習会についても日程等が決まりましたらこのMLでお知らせいたします。
>
> どうぞよろしくお願いいたします。

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

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

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

Choreonoid

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

OpenHRP3

動力学シミュレータ

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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