blogs
nekobeanNetBeans 6.8 はスケジュールからするともうすぐリリース候補版ですね。先週末に trunk から 6.8 リリース用クローンが用意され安定化の作業に移っています。日本語翻訳の作業は最初のリリース候補版では 99% 完了している見込みです。

NetBeans 6.8 のユーザープログラムも引き続き行なっています。問題点はもちろん動作レポートなどでもかまいません。ぜひ参加してください。

Some street shots from Jakarta and Bandung last week ...

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

Indonesia Indonesia

After spending Tuesday talking with hundreds of engineering students at ITHB Bandung (and after a great lunch with the university faculty), we found a very cool Bandung OpenSolaris User Group meeting at detikinet.com, which is Indonesia`s largest news portal (meeting references here and here). The gathering was held in a dimly lit driveway under a tent. For over two hours we sat on the floor on a carpet and just talked about building developer communities using OpenSolaris.

I didn`t present any slides. We just had a free-flowing conversation. It was a warm night and the rains (read: utterly massive downpours) had stopped, so everything was nice and relaxed and quiet. I tried to stress that it`s important to build community locally first (this way you can follow your own rules) but then to connect globally so you learn from others around the world. The second point I made was that there is no secret to establishing credibility in a community. It`s a simple concept, really. Contributing. That`s it. In fact, there is no other way. Your title does not matter. Nor does your age or political associations or position in any given organization. And you geography should`t matter, either. What matters most is your ability to get involved, to organize and engage new people, to build basic infrastructure and tools to facilitate participation, and then to contribute directly yourself. That`s how you build community -- and the building concept pervades all levels of a community. Everyone builds. And everyone builds from within the community, not from the outside. I also told a bunch of stories about the engineers, managers, and community developers I have met along the way, the ones I respect most and from who I still learn every day. Excellent night. Then the next morning some of guys took me to a nearby volcano.

昨日は3連休の初日で、天気も良かったのですが、
今日は一転曇り&寒くなりましたね。
皆様、風邪を引かずに元気でいらっしゃいますか?

さて、日本の GlassFish コミュニティの忘年会の
〆切りまであと1週間を切りましたが、もし
ご都合の付くかたがいらっしゃいましたら、今から
でも参加可能ですので、是非ご登録ください。

ご登録 (11月27日まで):
http://atnd.org/events/2146

PS.
実は、いま秘密プロジェクトが立ち上がってまして、
その準備で来年1月中旬位までかなり忙しい状況で
GlassFish v3 のリリース時(12/9)もあまり
プロモーションができずに申し訳ありません。
ただ、運良く先日、ご紹介させていただいた下記のセミナーの
日程と GlassFish v3 のリリース日程が重なるようですので、
若干紹介させて頂きたいと考えております。

事例に学ぶ!オープンソースの実践的導入・活用セミナー
〜 「次の一手」につながる効率的な情報投資とは? 〜


日本以外では Eduardo さんを中心にウェビナー等を
リリース記念を企画しているようですので、ご興味のある方は、
是非、ご確認ください。(イベント情報はアクアリウムから

さて、この3連休も私は準備をしなければならないので、
自宅で作業をしているのですが、せっかくの3連休なので
1日だけ自分に休暇を与え妻と一緒に散歩してきました。
世の中は、クリスマスシーズン到来ですね。

On Tuesday we went to ITHB in Bandung, which is about two hours from Jakarta, for another university visit. We were a bit late due to some impressive winter rain, but when we arrived the energy in the room was palpable. Great fun. Loved every minute. Can`t wait to go back. More presos on OpenSolaris from Harry Kaligis, Agus Setiawan, Lukman Prihandika, Rachmat Febrianto, Alex Budiyanto. And me

OpenSolaris at ITHB Bandung OpenSolaris at ITHB Bandung

OpenSolaris at ITHB Bandung OpenSolaris at ITHB Bandung

OpenSolaris at ITHB Bandung OpenSolaris at ITHB Bandung

OpenSolaris at ITHB Bandung OpenSolaris at ITHB Bandung

OpenSolaris at ITHB Bandung OpenSolaris at ITHB Bandung

OpenSolaris at ITHB Bandung OpenSolaris at ITHB Bandung

OpenSolaris at ITHB Bandung OpenSolaris at ITHB Bandung

OpenSolaris at ITHB Bandung OpenSolaris at ITHB Bandung

OpenSolaris at ITHB Bandung OpenSolaris at ITHB Bandung

OpenSolaris at ITHB Bandung OpenSolaris at ITHB Bandung

Blog tag: indonesia-09 | Photos on Flickr | Presentation | Search for Indonesia OSUGs

On Monday after visiting Gunadarma University we went back to Jakarta for an OpenSolaris User Group meeting at the Sun office. Met a lot of nice guys and had some good conversations about OpenSolaris. More pics to come. 

Indonesia OSUG Jakarta Indonesia OSUG Jakarta

Blog tag: indonesia-09 | Photos on Flickr

I was in Indonesia earlier this week for some OpenSolaris university and user group events. Really cool trip. Exhausting, too. I did a lot of talking. Much more than usual. The community there is engaged and thriving, so there was a lot of talking in between the talks, too. Everyone was super friendly and quite obviously talented. It was my first trip to Indonesia, and it moved me deeply. I will go back, no question about it. I really liked it there. And I learned a lot. I shot 500 images and saved about 200, so I`ll post them across a few entries over the next few days. Indonesia should make for an interesting future for OpenSolaris in South East Asia with these guys coming along. Trust me on that one.

On Monday we started the day at Gunadarma University in Depok, which is about an hour outside Jakarta. Presenting at the event were Harry Kaligis, Alex Budiyanto, Made Wiryana, Agus Setiawan, and Rachmat Febrianto. And me. I talked about the history of OpenSolaris, some of the open development and website projects to support contributions, and how we are building a development community around the world. The other guys talked about local programs and specific technologies in the OpenSolaris distribution. After all the talks and questions/answers, we met with the school faculty to discuss how OpenSolaris can be used to help students learn software development, and we also stressed the importance of building an engineering community on campus where students can contribute both locally and globally.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

OpenSolaris at Gunadarma Univ. OpenSolaris at Gunadarma Univ.

Blog tag: indonesia-09 | Photos on Flickr | Presentation | Search for Indonesia OSUGs

Special thanks to Alex Budiyanto for driving everything. Alex is an amazing community organizer (and presenter too). More to come.

12/4(金曜日)、 弊社は 「クラウド・ソリューションセミナー ~ クラウド・コンピューティング時代に要求される「広域」シングルサインオン・ID管理の最先端テクノロジー ~」 と題するセミナーを主催します。

今回のセミナーではクラウド環境下においてSSOを実現し、社内システムと同様にIDや権限管理が可能になるテクノロジーをご紹介するとともに、次世代の認証スタイルに向けて動き出して発足された「Kantara Initiative (カンターラ・イニシアチブ) 」をはじめとする世界の最先端技術をご紹介致します。

【セミナーの主な内容】

・一般企業の視点から見たクラウドコンピューティング戦略とは

・クラウド相互連携のためのアイデンティティ管理技術

・クラウドコンピューティング時代に求められる認証管理基盤のご紹介

・富士通のSun Java System Identity Manager事例のご紹介

プログラムの詳細については以下をご参照ください。
http://fjid.jp.fujitsu.com/events/seminar/2009/12/09002042.html

Bill Rushmore has been working on updating bugs.opensolaris.org. Go here for the new boo: http://bugs.opensolaris.org/. More updates to other website applications coming along soon as well.

It's excellent to see that the Sun Globalization Engineering team released a new version of the Community Translation Interface tool: Sun OpenCTI: https://translate.sun.com/opencti

Among other things, this is the tool that the OpenSolaris community used to localize Auth (which we'll update with new languages soon as well). Also, the announcement from Ales says that he's opened some new translation projects to get ready for the next release of the OpenSolaris distribution. So, if you want to contribute translations to OpenSolaris, check out this new version of the Community Translation Interface. Send questions to the Internationalization & Localization Community on i18n-discuss (subscribe to the list here and/or post to the Jive forum here). More info here at the CTI team blog.

127

I updated to OpenSolaris developer build 127 a few days ago. Nice. It performs much better than b126 on my Toshiba Tecra M10. That freezing mouse bit is gone.



来月 12月9日にイベントを開催することになりました。
実際に、GlassFish や MySQL を導入してサービスを提供している
マピオン様からの生の感想等を聞く良い機会です。
Sun の OSS 製品の導入による効果を知りたい
お客様は是非ご参加ください。

−マピオン様による導入事例講演−

高い信頼性を要求されるシステム基盤に、なぜオープンソースを選択したのか?

情報投資の削減圧力のなか、企業は「次の一手」を見据えたより戦略的な情報投資を求められています。

そこでは、これまでの商用ソフトウェアの延長線上の取組みではなく、オープンソース・ソフトウェアを積極的に企業情報システムに 有効に活用し、TCOの削減を実現することがより重要な要素と言えるでしょう。
本セミナーでは、地図情報サービスを提供している株式会社マピオン様での、オープンソース・ソフトウェア導入の取組みをはじめ、導入に伴う成果、メリット、課題についてご講演いただきす。現在、オープンソース・ソフトウェアをどのように導入・活用していくべきかご検討中の皆様に大変有益な情報をなりますことを確信しております。
【セミナーの見所】

・マピオン様ユーザ導入事例

・インテグレータから見た、オープンソース事情
・アプリケーションサーバー「GlassFish」最新情報
・「MySQL」実践的パフォーマンスチューニング裏技

お忙しいところとは存じますが、導入企業様による「生の声」が聞けるまたとない機会となっておりますので、ぜひご参加を検討いただきたくお願い申し上げます。
イベントの詳細、登録はこちらから。

はじめに

Solaris の IPMP には送信パケットの負荷を分散するアウトバウンド・ロード・スプレッディングという機能があります。マニュアル にも記載されていますので、ご存知の方も多いと思いますが、この機能を利用するとサーバからの返信時(アウトバウンド)のネットワークの負荷(ロード)を複数のインターフェイスに分散(スプレッディング)する事が可能になり、結果としてスループットを上げることができる場合があります。今回の記事ではその挙動をご覧頂きたいと思います。

検証環境

検証用に次の図の様な環境を用意しました。サーバには igb1 と igb2 という 1 Gigabit のネットワークインターフェイスがあり、どちらも同じネットワークセグメントに接続されています。この 2 つのインターフェイスに負荷を分散することができれば、最大で 2 Gigabit の帯域を使用出来ることになります。

igb1 の IP アドレスは 192.168.10.1/24 で、igb2 の IP アドレスは 192.168.10.2/24 です。サーバと同じセグメントにはクライアントマシンが 2 台接続されています。クライアント A の IP アドレスは 192.168.10.3/24, クライアント B の IP アドレスは 192.168.10.4/24 です。なお、サーバにはテスト用に lighttpd をインストールしてあります。サーバもクライアントも OS は Solaris 10 10/09 です。

   +-----------------+                 o Switching Hub 192.168.10.0/24
   |                 |                 |
   |                 | 192.168.10.1    |
   |            igb1 +-----------------+
   |                 |                 |    192.168.10.3 +----------+
   | Server          |                 +-----------------+ Client A |
   |                 | 192.168.10.2    |                 +----------+
   |            igb2 +-----------------+
   |                 |                 |    192.168.10.4 +----------+
   |                 |                 +-----------------+ Client B |
   +-----------------+                 |                 +----------+
                                       o

サーバ側のネットワークの設定は以下の通り行いました。

 # ifconifg igb1 plumb
 # ifconfig igb1 inet 192.168.10.1/24 broadcast + up
 # ifconfig igb2 plumb
 # ifconfig igb2 inet 192.168.10.2/24 broadcast + up

なお、ルーティングは停止してあります。

 # routeadm 
               Configuration   Current              Current
                      Option   Configuration        System State
 ---------------------------------------------------------------
                IPv4 routing   disabled             disabled
                IPv6 routing   disabled             disabled
             IPv4 forwarding   disabled             disabled
             IPv6 forwarding   disabled             disabled
 ...

SPARC マシンで試す場合は local-mac-address? を true に設定して下さい。

 # eeprom local-mac-address?=true
 # reboot

[検証1] IPMP を組んでいない場合の挙動

この検証環境を使って、まずは IPMP を組んでいない場合の挙動から見て行きましょう。

HTTP で接続する

テストには HTTP を使用しました。2 台のクライアントからサーバの HTTP ポートに telnet コマンドで同時に接続し、返信パケットの負荷分散が行われるかを確認します。クライアントからの送信時もネットワーク帯域を有効に利用するため、クライアントはそれぞれ別のネットワークインターフェイスを目指して接続する事にします。クライアント A の接続先は 192.168.10.1 の 80 番ポートで、クライアント B の接続先は 192.168.10.2 の 80 番ポートです。これは丁度、複数のウェブサーバの手前にロードバランサーを置いて負荷分散している構成と似ています。今回の構成はサーバが一台だけで済んでいると言う点だけが異なります。

物理構成上はサーバとクライアント A の間の通信と、サーバとクライアント B の間の通信は、全く重複しない経路を通る事が可能です。それぞれの通信が完全に別々の経路を通った場合、ネットワーク帯域は最大 2 Gigabit となります。実際にどういう動きになるか見てみましょう。

 <<クライアント A から HTTP で接続>>
 # telnet 192.168.10.1 80
 
 <<クライアント B から HTTP で接続>>
 # telnet 192.168.10.2 80

クライアントから接続したら、意図した通りの接続になっているかを netstat -a コマンドで確認します。コマンドの出力結果を見ると、クライアント A は 192.168.10.3 から 192.168.10.1 の 80 番ポートへ、クライアント B は 192.168.10.4 から 192.168.10.2 の 80 番ポートへきちんと接続されている事が分かります。サーバ側でも同じ IP アドレスのペアで接続を受け取っている事が確認出来ます。

 <<クライアント A>>
 # netstat -a | grep 80          
 192.168.10.3.42881   192.168.10.1.80      49640      0 49640      0 ESTABLISHED
 
 <<クライアント B>>
 # netstat -a | grep 80
 192.168.10.4.37305   192.168.10.2.80      49640      0 49640      0 ESTABLISHED
 
 <<サーバ>>
 # netstat -a | grep 80   
 192.168.10.1.80      192.168.10.3.42881   49640      0 49640      0 ESTABLISHED
 192.168.10.2.80      192.168.10.4.37305   49640      0 49640      0 ESTABLISHED

HTTP の通信が実際にどの経路を通るかを確認する

次に HTTP の通信を発生させて、実際にどのネットワークインターフェイスを通ってデータがやり取りされるかを確認します。HTTP の通信はクライアント側からファイルを GET する事で発生させます。

 <<クライアント A>>
 # telnet 192.168.10.1 80
 Trying 192.168.10.1...
 Connected to 192.168.10.1.
 Escape character is '^]'.
 GET /001.txt HTTP/1.0
 
 
 <<クライアント B>>
 # telnet 192.168.10.2 80
 Trying 192.168.10.2...
 Connected to 192.168.10.2.
 Escape character is '^]'.
 GET /001.txt HTTP/1.0
 

ネットワークインターフェイスの使用状況は、サーバ側で dladm コマンドを使用して確認します。dladm コマンドの出力は rbytes がそのインターフェイスに於ける受信バイト数、obytes が送信バイト数です。この値が 0 以外であればデータ通信が発生している事を示しています。

下記の出力結果を見ると igb1 は受信も送信もデータのやり取りが発生しています。一方、igb2 は受信バイト数は上がっていますが、送信バイト数は 0 になっており、データの送信には使われていない事が分かります。igb2 で受け付けた接続の返信パケットはどうなってしまったのでしょうか。

 # dladm show-dev -s -i 1 igb1
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb1            503       32192       0       1893      2797601     0       
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb1            389       24896       0       1975      2931778     0       
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb1            416       26624       0       1644      2438276     0
 # dladm show-dev -s -i 1 igb2
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb2            386       24704       0       0         0           0       
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb2            469       30016       0       0         0           0       
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb2            628       40192       0       0         0           0

パケットの中身を確認する

もう少し詳しく状況を調査するため、igb1 を通るパケットを snoop コマンドでキャプチャします。snoop コマンドに -o オプションを付けて、保存先のファイル名を指定するとパケットを保存する事が出来ます。保存したファイルから読み込む場合は -i オプションでファイルを指定します。また、snoop コマンドに port 80 オプションを付けると、80 番ポートを通ったパケットだけを抽出する事が出来ます。同じく src 192.168.10.3 オプションを付けた場合は、送信元アドレスが 192.168.10.3 のパケットだけを抽出します。snoop コマンドのデフォルトの出力は一つのパケットに付き一行ずつ表示されます。出力の内容は、一番左がパケットに順番に振られる通し番号、続いて前のパケットを受け取ってからの経過時間、送信元 IP アドレス、宛先 IP アドレス、残りは通信プロトコル毎の出力です。

snoop コマンドを使用して igb1 上で port 80 番のパケットを見ると、192.168.10.2 から送信されるパケットも igb1 を通って外へ出て行っている事が分かります("->" の左側の送信元アドレスが 192.168.10.2 になっているパケットがあります)。src オプションで抽出すると、受信パケットは 192.168.10.3 から送信された物だけです。これで先ほどの dladm コマンドの出力で送信パケットが片方のインターフェイスしか使っていなかった理由が分かりました。サーバに入ってくるパケットは別々のインターフェイスを通っていますが、サーバから出て行くパケットは igb1 のインターフェイスしか使っていない様です。しかし、これでは返信パケットは片方のインターフェイスの帯域しか使用する事が出来ません。また 192.168.10.2 は igb2 に設定された IP アドレスなのに何故 igb1 から出て行っているのでしょうか。

 <<サーバ>>
 # snoop -d igb1 -o /var/tmp/snoop01.dump
 ...
 ^C
 # snoop -i /var/tmp/snoop01.dump port 80
   1   0.00000 192.168.10.3 -> 192.168.10.1 HTTP C port=42875 
   2   0.00012 192.168.10.1 -> 192.168.10.3 HTTP R port=42875 
   3   0.00010 192.168.10.3 -> 192.168.10.1 HTTP C port=42875 
   4   2.21303 192.168.10.2 -> 192.168.10.4 HTTP R port=37300 
   5  16.15477 192.168.10.3 -> 192.168.10.1 HTTP GET /001.txt HTTP/1.0
 ...
 # snoop -i /var/tmp/snoop01.dump src 192.168.10.3
   1   0.00000 192.168.10.3 -> 192.168.10.1 HTTP C port=42875 
   2   0.00023 192.168.10.3 -> 192.168.10.1 HTTP C port=42875 
   3  18.36780 192.168.10.3 -> 192.168.10.1 HTTP GET /001.txt HTTP/1.0
   4   2.85314 192.168.10.3 -> 192.168.10.1 HTTP (body)
   5   0.00014 192.168.10.3 -> 192.168.10.1 HTTP C port=42875 
 ...
 # snoop -i /var/tmp/snoop01.dump src 192.168.10.4

経路情報を確認する

送信元アドレスが 192.168.10.2 のパケットが何故 igb1 から送り出されるのかを調べる為にサーバ側でルーティングテーブルを確認します。netstat -ar コマンドの出力を見ると、クライアント A(192.168.10.3) 宛の経路もクライアント B(192.168.10.4) 宛の経路も igb1 になっている事が分かります。192.168.10.4 宛のパケットの送信元アドレスは igb2 に割り当てた 192.168.10.2 ですが、192.168.10.4 宛の経路は igb1 が選択されています。これが送信元アドレスが 192.168.10.2 のパケットが igb1 から送信されていた原因です。

 <<サーバ>>
 # netstat -ar | egrep '192.168.10.3|192.168.10.4'
 192.168.10.3             --               UHA       1          1 igb1      
 192.168.10.4             --               UHA       1          1 igb1

たまたま経路情報が偏っていたという可能性も考えられますので、念の為にルーティングのキャッシュを消去して何度も接続をテストしてみます。結果は以下の通り、何度接続し直しても経路は片方のネットワークインターフェイスにまとめられてしまいます。これが IPMP を使用しない場合の挙動です。

 <<サーバ側でルーティングテーブルのエントリを消去する>>
 # arp -d 192.168.10.3; arp -d 192.168.10.4       
 192.168.10.3 (192.168.10.3) deleted
 192.168.10.4 (192.168.10.4) deleted
 # arp -d 192.168.10.3; arp -d 192.168.10.4       
 192.168.10.3 (192.168.10.3) -- no entry
 192.168.10.4 (192.168.10.4) -- no entry
 <<再びクライアントから接続した後にルーティングテーブルを確認>>
 # netstat -ar | egrep '192.168.10.3|192.168.10.4'
 192.168.10.3             --               UHA       2          6 igb1      
 192.168.10.4             --               UHA       2          6 igb1

まとめ

単純にネットワークにインターフェイスを繋いだ場合、クライアントから送られて来たパケットは宛先 IP アドレスの通りのインターフェイスを通り、サーバから返信されるパケットは常に一つのインターフェイスだけを通る事が分かりました。言い換えれば、受信パケットは 2 つのインターフェイスの帯域を有効に利用しているのに対し、返信パケットが使用出来る帯域はポート 1 つ分しかないことになります。

[検証2] IPMP を組んだ場合の挙動

ご覧頂きました通り、ここまでの構成では返信パケットは常に片方のポートしか通りませんでした。これでは帯域の利用効率は良くありません。IPMP のアウトバウンド・ロード・スプレッディングを使用する事で両方のポートを利用する様に変更する事が可能です。見てみましょう。

構成

これまでの構成に加えて、サーバの igb1 と igb2 で IPMP を組みます。IPMP の構成は簡単です。ifconfig の group オプションに適当な IPMP グループ名を指定するだけで完了します。グループ名は ipmp としましたが、その他の文字列でも構いません。

 # ifconfig igb1 group ipmp
 # ifconfig igb2 group ipmp

IPMP を組んで ifconfig でインターフェイスの一覧を見ると groupname ipmp と表示され、インターフェイスが IPMP に参加している事が分かります。

 # ifconfig -a
 ...
 igb1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
         inet 192.168.10.1 netmask ffffff00 broadcast 192.168.10.255
         groupname ipmp
         ether 0:14:4f:cb:16:b1 
 igb2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4
         inet 192.168.10.2 netmask ffffff00 broadcast 192.168.10.255
         groupname ipmp
         ether 0:14:4f:cb:16:b2 

HTTP で接続する

先ほどと同じ様に HTTP で接続してテストを行います。クライアント A は 192.168.10.1 に、クライアント B は 192.168.10.2 に、同時に接続します。返信パケットが負荷分散されるかどうか確認しましょう。

経路情報を確認する

netstat コマンドで経路情報を見てみると、今度はクライアント A(192.168.10.3) への接続は igb1 を、クライアント B(192.168.10.4) への接続は igb2 を通る様になっている事が分かります。IPMP を組む前は両方とも igb1 を通る様になっていましたが、IPMP を組むと別々のインターフェイスを使う様になりました。

 <<サーバ>>
 # netstat -ar | egrep '192.168.10.3|192.168.10.4'
 192.168.10.3             --               UHA       1          1 igb1      
 192.168.10.4             --               UHA       1          1 igb2

実際にどの経路を通っているかを確認する

続いて dladm コマンドを使用して、実際にどの経路を通って通信が行われているのかを見てみます。以下の出力結果を見ると、igb1 の opackets も igb2 の opackets も 0 以外の数値になっています。IPMP を組んだことにより、返信のパケットも 2 つのネットワークインターフェイスに股がって分散される様になりました。

 <<サーバ>>
 # dladm show-dev -s -i 1 igb1
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb1            369       23616       0       718       1067024     0       
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb1            384       24576       0       746       1107084     0       
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb1            384       24576       0       746       1104508     0
 # dladm show-dev -s -i 1 igb2
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb2            542       34688       0       1056      1555293     0       
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb2            414       26496       0       806       1189420     0       
                 ipackets  rbytes         ierrors opackets        obytes      oerrors
 igb2            452       28928       0       882       1308835     0

igb1 を snoop すると、igb1 のインターフェイスはクライアント A(192.168.10.3) と 192.168.10.1 の間の通信のみに使われている事が分かります。

 # snoop -d igb1 -o /var/tmp/snoop_igb1.dump
 # snoop -i /var/tmp/snoop_igb1.dump host 192.168.10.1
   1   0.00000 192.168.10.3 -> 192.168.10.1 HTTP C port=42878 
   2   0.00002 192.168.10.1 -> 192.168.10.3 HTTP R port=42878 
   3   0.00010 192.168.10.3 -> 192.168.10.1 HTTP C port=42878 
   4   7.98546 192.168.10.3 -> 192.168.10.1 HTTP GET /001.txt HTTP/1.0
   5   0.00001 192.168.10.1 -> 192.168.10.3 HTTP R port=42878 
   ...
 # snoop -i /var/tmp/snoop_igb1.dump host 192.168.10.2    <-- 192.168.10.2 との通信には使用されていない
 # snoop -i /var/tmp/snoop_igb1.dump host 192.168.10.3
   1   0.00000 192.168.10.3 -> 192.168.10.1 HTTP C port=42878 
   2   0.00002 192.168.10.1 -> 192.168.10.3 HTTP R port=42878 
   3   0.00010 192.168.10.3 -> 192.168.10.1 HTTP C port=42878 
   4   7.98546 192.168.10.3 -> 192.168.10.1 HTTP GET /001.txt HTTP/1.0
   5   0.00001 192.168.10.1 -> 192.168.10.3 HTTP R port=42878 
   ...
 # snoop -i /var/tmp/snoop_igb1.dump host 192.168.10.4    <-- 192.168.10.4 との通信には使用されていない

一方 igb2 はクライアント B(192.168.10.4) と 192.168.10.2 の間の通信にのみ使用されている事が分かります。

 # snoop -d igb2 -o /var/tmp/snoop_igb2.dump
 # snoop -i /var/tmp/snoop_igb2.dump host 192.168.10.1    <-- 192.168.10.1 との通信には使用されていない
 # snoop -i /var/tmp/snoop_igb2.dump host 192.168.10.2
   1   0.00000 192.168.10.4 -> 192.168.10.2 HTTP C port=37303 
   2   0.00001 192.168.10.2 -> 192.168.10.4 HTTP R port=37303 
   3   0.00009 192.168.10.4 -> 192.168.10.2 HTTP C port=37303 
   4   6.40605 192.168.10.4 -> 192.168.10.2 HTTP GET /001.txt HTTP/1.0
   5   0.00001 192.168.10.2 -> 192.168.10.4 HTTP R port=37303 
   ...
 # snoop -i /var/tmp/snoop_igb2.dump host 192.168.10.3    <-- 192.168.10.3 との通信には使用されていない
 # snoop -i /var/tmp/snoop_igb2.dump host 192.168.10.4
   1   0.00000 192.168.10.4 -> 192.168.10.2 HTTP C port=37303 
   2   0.00001 192.168.10.2 -> 192.168.10.4 HTTP R port=37303 
   3   0.00009 192.168.10.4 -> 192.168.10.2 HTTP C port=37303 
   4   6.40605 192.168.10.4 -> 192.168.10.2 HTTP GET /001.txt HTTP/1.0
   5   0.00001 192.168.10.2 -> 192.168.10.4 HTTP R port=37303
   ...

まとめ

IPMP を使用すると、サーバからの返信時もネットワーク負荷が複数のインターフェイスに分散される事が分かりました。これで複数のネットワークインターフェイスの帯域を最大限に有効利用する事が出来ます。

チューニングパラメータ

一度クライアントまでの経路が決定されると、その後の接続はキャッシュを元に経路が選択される様になります。既に見た通り、キャッシュは netstat -ar で確認、arp -d で削除する事が可能です。このキャッシュの有効期限は ip_ire_arp_interval と arp_cleanup_interval パラメータで設定する事が出来ます。もし経路に偏りが発生していた場合は有効期限を短く設定すると経路選択の機会が増えて偏りが解消されるかもしれません。ip_ire_arp_interval と arp_cleanup_interval の確認方法と設定方法は以下の通りです。

 # ndd -get /dev/ip ip_ire_arp_interval
 1200000
 # ndd -set /dev/ip ip_ire_arp_interval 60000
 # ndd -get /dev/arp arp_cleanup_interval
 300000
 # ndd -set /dev/arp arp_cleanup_interval 30000

おわりに

今回は IPMP のアウトバウンド・ロード・スプレッディング機能による負荷分散をご紹介しました。要件次第では、簡単にネットワークの実行帯域を増やす事が可能です。特にウェブサーバやファイルサーバは、IPMP のアウトバウンド・ロード・スプレッディングだけで十分かもしれません。サンのサーバの多くは最小構成でもネットワークインターフェイスを4ポート装備しています。Solaris の機能を活用し、是非それらのポートを有効利用して下さい。

補足

  • IPMP の作成は簡単でしたが、削除も簡単に出来ます。ifconfig コマンドの group オプションに空文字を指定してください。groupname エントリが消えていれば IPMP も解除されています。
  •  # ifconfig igb1 group ''
     # ifconfig igb2 group ''
    
  • IPMP のアウトバウンド・ロード・スプレッディングでどの経路を通るかはラウンドロビンで決定されます。例えば igb1, igb2 の 2 つのインターフェイスを使用した IPMP で、2 台のクライアントからコネクションが張られていた場合、最初のクライアントからの接続が igb1 を経由して返ったなら、次のクライアントからの接続は igb2 を経由して返ります。この時、クライアントからの接続を受けたインターフェイスとは別のインターフェイスを経由してクライアントに返る事もあります。また、ラウンドロビンで経路が決まるのは、コネクションが一本しか無い場合も例外ではありません。igb1 で受け取ったコネクションが igb2 から出て行くというケースも普通に発生します。その場合も、返信パケットの送信元 IP アドレスが書き変わったりする事はありません。
  • コネクション数が少ない場合は通信が片方のインターフェイスに偏る事があります。例えば 3 台のクライアントから接続があり、その内 2 台への返信パケットが igb1 を通り、残りの 1 台が igb2 を通っていた場合、igb2 を使用していたコネクションが終了すると、クライアントは 2 台あるのに、インターフェイスは片方しか使用されていない状態になります。アウトバウンド・ロード・スプレッディングは、インターフェイスの負荷を監視してロードバランスするのではなく、単純にラウンドロビンでロードスプレッドしているだけなので、インターフェイスの数に対してクライアントの数が多ければ多いほど効率よく帯域を使用する事が出来ます。
  • IPMP のアウトバウンド・ロード・スプレッディングは片方のインターフェイスにのみ IP アドレスを振った場合にも有効になります。構成の仕方は こちら をご参照下さい。以下の例では、igb2 には IP アドレスが設定されていませんが、192.168.10.4 宛の経路には igb2 が選択されています。サーバ側で受信用の帯域がそれ程必要とされておらず、使用する IP アドレスを減らしたい場合は、この構成が便利です。
  •  # ifconfig -a
     ...
     igb1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
             inet 192.168.10.1 netmask ffffff00 broadcast 192.168.10.255
             groupname ipmp
             ether 0:14:4f:cb:16:b1 
     igb2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 5
             inet 0.0.0.0 netmask ff000000 
             groupname ipmp
             ether 0:14:4f:cb:16:b2 
     # netstat -ar | egrep '192.168.10.3|192.168.10.4'
     192.168.10.3             --               UHA       2         25 igb1      
     192.168.10.4             --               UHA       2         25 igb2
    
  • アウトバウンド・ロード・スプレッディングによる負荷分散はクライアントの IP アドレス毎です。コネクション毎ではありません。
  • クライアントとサーバの間にルータを挟んだ場合もアウトバウンド・ロード・スプレッディングは有効です。パケットの送信に使われるインターフェイスはクライアントの IP アドレス毎に決定されます。以下の例はクライアント A(192.168.11.2) とクライアント B(192.168.12.2) が、ルータ (192.168.10.3) を経由して、IPMP を構成したサーバへアクセスした際の、サーバのルーティングテーブルです。クライアントへの経路が igb1 と igb2 に分かれている事が分かります。
  •  <<サーバ>>
     # netstat -ar | egrep '192.168.11.2|192.168.12.2'
     192.168.11.2         192.168.10.3         UHA       1          1 igb2      <-- ルータ経由のクライアント A
     192.168.12.2         192.168.10.3         UHA       1          1 igb1      <-- ルータ経由のクライアント B
    
  • IPMP に参加出来るポートの数は 2 つに限定されている訳ではありません。オンボードのインターフェイスを全て同一の IPMP に入れる事も可能ですし、もっと多くのポートを参加させる事も可能です。
  • arp -d で ARP のエントリを削除するとルーティングの情報も削除され、即座に経路が変更されます。netstat -ar で表示される一番上のエントリが経路として使用され、arp -d で一番最初に消去されます。
  • サーバ側からコネクションを張る場合は IP ソースアドレス・セレクションという別の機能を使って負荷分散されます。サーバがクライアントにコネクションを張る際に、送信元 IP アドレスを自分の複数のインターフェイスからラウンドロビンで決定する事で、クライアントが返信する先の IP アドレスを操作する事が出来、結果的にサーバが受信する際の負荷分散になります。これは IPMP の機能ではなく IP の機能です。コネクションを張る時に IP モジュールより上位で送信元 IP アドレスが設定されていない事が条件です。
  • IPMP のアウトバウンド・ロード・スプレッディングはリンクアグリゲーション (dladm(1M)) と併用する事も可能です。また、OpenSolaris の ILB(Integrated Load Balancer) と組み合わせて使うと更に便利かもしれません。

参考文献

jdk7-devアットopenjdk.java.net を subscribe している方は今メールを受け取られたと思いますが、JDK7のリリーススケジュールが更新されました。今のところ、2010年9月リリース予定で、開発時間を延長できた分、いくつかの新機能を追加できそうです。Closureとか。

これで、「裏切った」「出す出す詐欺」などなどの皆様のJavaへの失望を少しでも減らせればいいのですが。
# JWebPaneも、社外で言及しないだけで、なくなった訳ではありませんので・・・。:-)

そうそう、開発への協力者は随時募集中です。諸事情 (^^; で社内の人的リソースが減っているのは事実で、そのためにできなくて心苦しく思っていることは山とあります。約束というか、出す「予定」を必ずしも守れていませんし、涙を飲んで何かを諦めることもあります。
技術力に自信のある方は、リリースをただ待つだけでなく、是非ともご協力くださいっ!!


12/9(水曜日)、 弊社は 「事例に学ぶ!オープンソースの実践的導入・活用セミナー ~ 「次の一手」につながる効率的な情報投資とは? ~」 と題するセミナーを主催します。

本セミナーでは、地図情報サービスを提供している 株式会社マピオン様での、オープンソース・ソフトウェア導入の取組みをはじめ、導入に伴う成果、メリット、課題についてご講演いただきす。現在、オープンソース・ソフトウェアをどのように導入・活用していくべきかご検討中の皆様に大変有益な情報をなりますことを確信しております。

【セミナーの見所】

・マピオン様ユーザ導入事例

・インテグレータから見た、オープンソース事情

・アプリケーションサーバー「GlassFish」最新情報

・「MySQL」実践的パフォーマンスチューニング裏技

プログラムの詳細については以下をご参照ください。
http://jp.sun.com/company/events/oss/

~180,000円(税抜)以上の受講で、もれなくiPod Touchをプレゼント~

サン・マイクロシステムズでは、2009/12/25までの期間に限定し、「Sun トレーニングコース X'mas キャンペーン」を開催致します。

本キャンペーンは、10/1~12/25の期間に開催される「キャンペーン対象コース(◆キャンペーン詳細ご参照)」の受講者を対象としています。

期間中「キャンペーン対象コース」を合計180,000円(税抜、実際のお支払金額にて計算)以上お申込み頂き、受講後、プレゼント申請用紙に必要事項を記入の上、FAX(03-5717-4810)をお送り下さい。もれなく"iPod Touch 第一世代 8GB" をプレゼント致します。

キャンペーンの詳細はこちら
~目指せ! クラウド世代の選り抜きエンジニア~

サンではエンジニアの皆様のスキルアップ/キャリアデザインを応援するため、認定試験の受験結果が不合格だった場合、無料で再受験ができる再受験無料付きチケットをご提供する、下記のダブルキャンペーンを実施いたします。 キャンペーンの期間は2009年11月9日より12月23日までとなっております。 皆様、ぜひこの機会にお申し込みいただけますよう、よろしくお願いいたします。

キャンペーンの詳細はこちら

(11/17 AM9:00)
本障害につき、解決いたしましたので、現在はご利用可能な状態になっております。
長時間に渡りご迷惑お掛けいたしましたことを、お詫び申し上げます。

(11/16 PM1:35)
現在、関連サーバのメンテナンスのため、SunSolveにつながりにくい状況となっております。
関連サーバのメンテナンスは日本時間の14時半終了予定となっておりますので、それまでの間ご不便をお掛け致しますことをお詫び申し上げます。

GlassFish v3は単なるモジュラーではありませんが、コンポーネントはIPSに基づいたアップデートセンター機器を通して更新されます。アップデートセンターのチームの面々はIPSの変更を追跡することと彼ら自身の改良を加えることを行ってきています。 GFv3Previewのような新しいリリースは最新のUCで実行されてきてますが、 GFv3Prelude 用のリポジトリは古いバージョンのUCで実行されてきました。

先週、GlassFishチームはPreludeリポジトリ用の Update Center Toolkit 2.2u2 を配信しました。普通の状態では変更点に気づかないと思いますが、もし、レポジトリを 直接訪れた 新しい画像と追加されたファシリティ(パッケージサーチのような)やパフォーマンスやメトリックの向上がわかるでしょう。

GFv3 FCSはもうすぐそこであり、私たちはとても高い関心を もってリリースを見ています。私たちが期待する点はIPSレポジトリからの引き出すGlassFishのダウンロード容量です。(私たちの容量の見積もりが正確であるかどうかわかるでしょう)

Some images from the Tokyo Linux User Group technical meeting and nomikai tonight.

Tokyo Linux User Group 111409 Tokyo Linux User Group 111409

Tokyo Linux User Group 111409 Tokyo Linux User Group 111409

Tokyo Linux User Group 111409 Tokyo Linux User Group 111409

Tokyo Linux User Group 111409 Tokyo Linux User Group 111409

Tokyo Linux User Group 111409 Tokyo Linux User Group 111409

Tokyo Linux User Group 111409 Tokyo Linux User Group 111409

Tokyo Linux User Group 111409 Tokyo Linux User Group 111409

Tokyo Linux User Group 111409 Tokyo Linux User Group 111409

Many more TLUG photos here.

2009 年 10 月 30 日 (金) 開催の OpenSolaris Night Seminar の音声を mediacast.sun.com  に置きました。

動画は原口さんの blog からアクセス可能です。

http://blogs.sun.com/hara/entry/ns1030_video


日本の GlassFish コミュニティで懇親会(忘年会)の
開催を予定しています。

懇親会の日程についてですが、下記の日程で
開催したいと考えて おります。

日時:12/4 (金) PM 7:00 〜
場所:渋谷近辺 (まだ未定)

当日は、もしかしたらいくつかのちょっとした
GlassFish 関連グッズを持っていけるかもしれませんので、
ご興味のある方も是非ご登録下さい。

参加登録

誠に勝手ながら、受付の 〆切りは 11月27日 PM 5:30
とさせて頂きたいと思います。

懇親会へ参加をご希望される方はぜひご登録ください。
どうぞ宜しくお願いします。

Radio Receiver Icon

これは週1回のニュース捕捉の第1弾であり、今月1日から11日までをカバーします。 今週の捕捉は部分的なものです。 次週は1週間を通して記事を作り、より包括的なものにするつもりです。

今週はJRubyとOSGiの古めのニュースもカバーします。

GlassFish&ミドルウェアニュース

我々のシステムの未来予測

少々以前の記事より: GlassFish の OSGi (このスレッドから引っ張ってきました):

少々以前の記事より: JRuby on GlassFish (このスレッドからひいてきました)

Identity Manager と Messaging Server の注意事項が掲載されました。

  1. Identity Manager の注意事項
    ログイン画面やブラウザのロケールとメッセージに関する注意事項をまとめました。
  2. Messaging Server の注意事項
    Metermaid の動作の不具合修正に関する注意事項があります。

以下の記事が掲載されましたのでお知らせします。

  • Solaris 10 OS におけるゾーンの「接続時に更新」機能とパッチ適用
    Solaris 10 5/08 オペレーティングシステム以降、システム管理者は、ゾーンの切り離しと接続ができるようになりました。すなわち、1 つのシステムからゾーンを切り離し、別のシステムに接続することです。初期の機能には、非大域ゾーンが接続されている転送元と転送先の両システムが、同じソフトウェアレベルのパッケージバージョン、パッチレベル、およびアーキテクチャーを持っている必要があったため、いくつかの制限がありました。つまり、 sun4v システムから sun4u システムへ、あるいは以前の Solaris リリースから最新の Solaris 更新リリースへとゾーンを移動することはできませんでした。 Solaris 10 10/08 リリースでは、zoneadm attach に -u 引数を指定する「接続時に更新」コマンドによって新機能が提供されました。
  • RT: Request Tracker、第 1 部RT: Request Tracker、第 2 部
    チケットシステムについての記事です。第 1 部では、RT (Request Tracker) の概要を説明し、基本的な Solaris 9 OS インストールからすべての依存関係と RT 自体をインストールについて説明します。第 2 部では、RT の概念と設定オプションを説明したあと、簡単な設定について紹介します。

Check out the new diagonal crossing at Oxford Circus in London. It looks beautiful. Really nice job. They based the design on the Shibuya Crossing in Tokyo (which can be great fun if you've never experienced it: here and here). The first time I navigated the Shibuya intersection I thought I was going to get run over flat by waves of people weaving their way toward me from multiple directions, but it's actually a remarkably efficient way to move masses of people. I've never been to London, so I don't know what it's like walking around the city. It'll be interesting to see how the British like this change.

London


Tokyo


eclipse plugin logo

GlassFish Plugins for Eclipse の日本語翻訳が Pleiades 開発版に 取り込まれました!

該当バージョンは以下のとおりです。
• Pleiades 1.3.2.20091108

ダウンロード先は以下のとおりです。
• [mergedoc] / trunk / Pleiades / build / pleiades.zip
http://sourceforge.jp/projects/mergedoc/svn/view/trunk/Pleiades/build/pleiades.zip?root=mergedoc&view=log

Eclipse ユーザには朗報ですね。Pleiades コミュニティの伊賀(いがぴょん)さん、どうもありがとうございます!

こんなに遅くなってしまって、恥ずかしいけど、OSC 2009 Tokyo Fall のことを書きます。(いや、色々あって... そのことは後で書きます)

蒲田の会場は、新しくて綺麗で清潔でした。スタッフのみなさんも優しくて感謝。

1 日目はセミナーはしなくて、一日、「l10n よろず相談」のコーナーにいました。椅子が二つにテーブル一つ、看板たててパネルをたてて、、、PC では OpenCTI/CTI や OmegaT、Pootle のデモをしました。「翻訳一緒にしませんか?」と笑顔で勧誘します。。。気のせいか前回より怪訝な顔をされる機会が減った感じが。よかった!みんなで翻訳って、以前より受け入れられつつあるかしら? 

二日目はセミナーがあったので、ちょっと緊張していました。自分の考えを自分の言葉で表現して、かつ、来てくれる方のニーズにも応えるようなものにしたいって思うと「大丈夫かなぁ」と不安がよぎります。昼休みに、ひとりでセットアップと練習してたら、LINBIT の Partner Relationship Manager で、一日目のオープニングトークをした Florian が「ハロー」と入ってきました。「いやー、緊張するわー」と話すと、「じゃあ、うまく話すコツを教えてあげよう」と、いくつかヒントを教えてくれました。しっかり立って声を前に響かせること、スライドより参加者の目を見ること、質問があったら繰り返して意味を確認すること、などなど。ふむふむ、どれも納得するわ。その通りできるかどうかは別として、、、でも頑張る!と気合いを入れました。

さて、いよいよセミナー。部屋はいっぱいになったので、たぶん 40 - 50 人ぐらい来てくれたのかな。ありがとうございました! Florian に教えてもらったとおりに、いっぱい息を吸い込んで大きな声で話しました。早口にならないように、一方通行にならないように、、、30 分ほどでスライド発表は終わり、残り 15 分ぐらいで質問を受けました。やったー、うまくいったー!!と終わり近くなって、マイクをしていなかったことに気づいてしまった! Florian には「マイクを有効に使うこと」って言われたのに。あかんやん、私。


プレゼン資料をアップしますね。英語と日本語、どちらも作りました。

セッションの合間に自分もあちこち回ってみました。やっぱり興味があるのは、翻訳関係です。Eclipse 翻訳で使い始めたという翻訳ツールが見たい!と思ってセッションにも出てみました。xliff ベースで翻訳して、翻訳メモリーを共有しつつ、用語も共有して、というシステム。OpenCTI と同じ発想ですね。やっぱり興味アルー。使ってみたいー。翻訳者募集の際には是非声をかけてくださいとお願いしておきました。

Ubuntu などの翻訳プロジェクトでは、何を使っているんだろう、と興味あります。今度機会があったらお話聞きたいなぁ。

English:

I feel so ashamed to post my report about OSC 2009 Tokyo Fall now, but let me try... (oh, many things have been happening... let me write about it later ...)

Event space in Kamata was brand new, clean, and beautiful! All of the staff members were so nice and kind - thank you so much!

1st day - no seminar for me. I sit all day in our corner "All Sorts of Consultation about Localization/Translation - Sun-related OSS / OmegaT project". 2 chairs, 1 table, 2 PCs (one for me, and one for JC), with panels. I ran a demo of Pootle and OpenCTI on my PC, and JC did OmegaT on his Mac. If someone is passing by, I take full of my courage, and ask "why don't you join our translation project ?" with a big smile :-) and give out a booklet "Sun Community Guidebook". As far as I remember, the number of people who looks surprised and annoyed, like "what is translation for OSS!?", becomes less and more people are interested in my talk. That's a great sign! I really hope "contribution by translation" is more popular in Japan.

2nd day - Seminar day for me. I has been nervous from the beginning. I like to talk and make a presentation, but sometimes feel so nervous that I have to express my thoughts clearly in my words, and have to meet the needs of the audience... I was setting up and doing a dryrun all alone in the seminar room, then, Mr. Florian Haas, Partner Relationship Manager from LINBIT, who made a wonderful opening speech on the 1st day came in to day Hi! I said "Oh, I am very nervous... Do you have any tips to share ?", then, he showed me some. Having a good posture, Taking a deep breath to keep a fresh air in your lungs, looking in the eyes of a few people, instead of reading the slides, and repeat the questions to share with other audience... Hummm what a great words of wisdom. Thank you Florian. I do not know if I can remember all, but I will try ...

Now, it's my seminar time. The room was full, so I guess 40 - 50 people came in.. Thank you!!! I did my best to talk clearly and slowly enough. I took 30 minutes for presentation and 15 minutes for Q&A. Closer to the end, I realized I forgot to use a microphone ... I might have been shouting... sorry Florian, you said "use your microphone effectively", but I failed to even use it...;-(


Here is my presentation slides in English and Japanese.

I have been around the corners in different rooms to see translation related projects. I wanted to see the translation systems for Eclipse, and attended that session. The translation editor will be available as open source and the system uses xliff format, leveraging translation memory and terminology database ... like OpenCTI. Wow, exciting, I want to try it ! So, asked them to let me know when the translation project is ready to go.

I wonder which editor, translation system, or project management method is used for other projects, such as Ubuntu ... I really want to discuss with them.

アクエリアム(英語版)GlassFishのニュース をお知らせする新しい仕掛けを追加しました。これによって、時間を有意義に使うことができるでしょう。

• pelegriが短いニュース記事を twitter に投稿し始めました。
   また、 Frank, Giuseppe, Andi, BinodAlexisMPもtwitterをやっています。
TheAquariumで誰かがつぶやく訳ではありません。
   しかし、editorからつぶやきをフォローしたい場合は、 @theaquarium/editorsを使って下さい。
• 彼らは、時間の許す限り、これまで通り注目する記事の投稿を続けていくつもりです。
• pelegriは日常の投稿でカバーしきれなかったニュースの一週間のまとめを行います。

また、pelegriは記事を書く手間を省くために ScribeFire を使い始めました。しかし、このことは読者には気づかないでしょう。

ニュースで知らせるということは、戦いに負けたということですが、このアプローチは アクエリアム をGlassFishコミュニティーニュースの一番のソースにし続けること、また、編者に他の仕事を行う「暇な」時間を与えるものになる事をきたいしています。

10月30日(金)に神宮前オフィスにて行われた、ナイトセミナーの動画と資料です。

(1) Part-1 Solaris エバンジェリスト・ひよこ組 鮮烈デビュー!!
「新入社員のOpenSolaris奮闘記」〜Crossbowへの道 序章〜
  Solarisが持つ機能に魅せられた新入社員が紡ぎ出す愛と感動の体験談!
太陽に命届くまで!

(2) Part-2

「Solaris 10 10/09最新情報」
8回目のアップデートを迎えたSolaris 10の最新情報を紹介!
ZFSのバージョンアップにより、待望のL2ARCも利用可能に!
[ 資料 ]
「Solaris 3分クッキング」
切っても切っても切れない ネットブック編
新しくなったIPマルチパスの紹介
[ 資料 ]

Q&A

(60分)[動画再生][音声のみ再生]