[openrtm-users 00737] Re: コンポーネントの複数起動に関して

Masayuki Shimizu masayuki.shimizu @ aist.go.jp
2009年 1月 15日 (木) 00:39:57 JST


早稲田大 菅様

静岡大の清水です。

番号の自動インクリメントの方式ですが、
複数サーバに登録する場合どういうルールが
よいとお考えでしょうか?

自動インクリメントの実装は以前から
考えてはいるのですが、
複数サーバが存在する場合に
どう対処すべきかで悩んでいます。

こういうのが良いというのを
ご提案いただければ幸いです。

清水

--- Yuki Suga <ysuga @ suou.waseda.jp> wrote:

> 産総研 末廣様:
> 早稲田の菅です.
> 
> 丁寧な返信,ありがとうございます.
> せっかくなので,僕の考え方も述べさせてください.
> 
> > ただコンポーネントの命名規則はアプリケーションに
> > 依存する部分が大きいように思います。
> -- 中略
> >
> このような名前付けサービスはRTミドルウェアのコアな部分
ではなく
> >
> アプリケーション用のツール、アプリケーション用のミドル
ウェアで
> > 吸収したほうが良いのではないかと思います。
> 
> ミドルウェアが独自の名前規則を利用して,
> 自動的に連番を振らない理由も無いと思いますがどうでしょ
う.
> 
> アプリケーションごとにツールを作成すると,
> いちいち労力を割かれますし,
> 連番が自動的に振られない理由が無いと思うのです.
> 
> 
> 現状考えられる基本ルールとして,
> rtc.confに書かれたnaming.formatsの値の%nの部分には,
> RTC::ManagerクラスのcreateComponentメソッドに渡した
> 文字列に数字のサフィックスが追加された文字列になる
> と解釈しています.
> 
> 
> これを,createComponentメソッド内
> (おそらくはcreateComponent内で呼ばれるより下層のメソ
ッド内)で,
> rtc.confの命名規則にしたがって名前文字列を形成して,
> ネームサーバーに登録する直前に,
> 同一の名前があるかどうかチェックを行って,
> 存在する場合は数字のサフィックスをインクリメントする
> という規則を追加できないか,と考えています.
> 
> また,コンポーネント自身がネームサービス上で
> どのような名前になっているかを取得できるインターフェー
ス
> も必要になると思っています.
> 
> 
> この機能が入っていて,不便になる状況はありますでしょう
か?
> 自分では特に思いつかないのですが…
> 
> 
> 
> 時間があるときにOpenRTM-aistのソースコードとにらめっこ
してみます.
> 
> 
> 
> >
> それよりは、その部分は既存のスクリプト言語にお任せする
のが
> 良いと思います。
> 
> たしかに.
> あとはRTC_LauncherなるものをjavaかPythonで作って,
> システムにインストールされたRTコンポーネントをそこから
起動することで,
> 名前付けのルールをLauncherで吸収する方法も考えました.
> この方法でもやれそうですね.
> 
> Launcherからコンポーネントが実行されるたびに
> 新しいrtc.confを生成して,名前のサフィックス番号を変更
できますよね.
> 
> 
> 
> 




openrtm-users メーリングリストの案内