000 - みる会図書館


検索対象: UNIX MAGAZINE 2003年4月号
204件見つかりました。

1. UNIX MAGAZINE 2003年4月号

ワークステーションのおと一 0 Read option: roundrobin (default) Pass : 1 Resync 土Ⅱ progress : 28 % done State : Resyncing Submirror 1 : d10 State : Okay Submirror 0 : d11 d12 : Mirror # metastat d12 図 27 metastat で d12 の好を確認 parallel (default) Write option: Size : 4067760 blocks d11 : Submirror of State : Okay Size: 4067760 blocks Stripe 0 : Device cOt2dOs1 d10 : Submirror of d12 28560 Start B10ck d12 Size: 4067760 blocks State: Resyncing Stripe 0 : cOtOdOs1 Start B10ck 28560 Dbase Yes Dbase Yes State Re10c Hot Spare Okay Yes State Re10c H0t Spare Resyncing Yes 図 28 d22 はまだ Needs maintenance だカヾ # metastat d22 d22 : Mirror Submirror 0 : d20 State : Needs maintenance Submirror 1 : d21 State : Okay Pass: 1 Read option : roundrobin (default) Write option: para11e1 (default) Size : 72216000 blocks d20 : Submirror of d22 State : Needs maintenance lnvoke : metareplace d22 cOt0dOsO く new device> Size: 72216000 blocks Stripe 0 : Device c0t0dOs0 Start B10ck 0 Dbase State Re10c Hot Spare No Maintenan. ce Yes d21 : Submirror of d22 State: Okay Size : 72216000 blocks Stripe 0 : Device cOt2d0sO Start B10ck 0 Dbase No Device Re10cation lnformation : Device cOtOdO c0t2dO Re10c Yes Yes Device ID idl , dad@AIC35L040AVVA07—O= idl , dad@AIC35L040AVVA07—O= State Re10c Hot Spare Okay Yes _VNC204A2HMAGTA た。いけませんね。気をとりなおして、図 26 のように disk2 から起動してみます。 今度は、なんとなく大丈夫なようです。 metastat で UNIX MAG AZINE 2003.4 d12 の様子を確認すると、状態が、、 Resyncing" となり、 ミラーリングをおこなっているパーティシヲン間で同期 か始されたことが分かります ( 図 27 ) 。 _VNC204A2HVAAKA 145

2. UNIX MAGAZINE 2003年4月号

ワークステーションのおと 図 20 ミラーリングは依然として停止したまま " # metastat d22 : Mirror Submirror 0 : d20 State : Needs maintenance Submirror 1 : d21 State : Okay Pass : 1 Read option : roundrobin (default) Write option: parallel (default) Size: 72216000 blocks d20 : Submirror of d22 State: Needs maintenance ゝ d12 : Mirror Submirror 0 : d11 State : Okay Submirror 1 : d10 State : Needs maintenance 図 21 システムを再起動 # halt Feb 2 17 : 21 : 49 takasago reboot : rebooted by root syncing file systems. done Sun U1tra 5 / 10 UPA/PCI (U1traSPARC—IIi 270MHz) , No Keyboard OpenBoot 3.27 , 256 MB ( 60 (s) memory installed, Seria1 # 10422051. Ethernet address 8 : 0 : 20 : 9f : 7 : 23 , Host ID: 809f0723. ←プライマリ・マスターから起動しようとして失敗する ok boot B00t device : disk:a Fi1e and args : The file just loaded does not appear to be executable . B00t device: disk:a Fi1e and args : The file just loaded does not appear to be executable . ←セカンダリ・マスターから起動 ok boot disk2 B00t device : /pci@1f.O/pci@1 , 1/ide@3/disk@2.0 Fi1e and args : SunOS Re1ease 5 . 9 Version Ge Ⅱ eric ー 112233 ー 03 64—bit Copyright 1983 ー 2002 Sun Microsystems , 工Ⅱ c. A11 rights reserved. Use is subject tO license terms. 図 22 flags 直が変わっている # met adb flags p 1u0 p 1u0 a p 1u0 a p 1u0 a p 1u0 a p 1u0 a block C ount 8192 8192 8192 8192 8192 8192 first blk 16 8208 16400 16 8208 16400 /dev/dsk/cOt2dOs1 /dev/dsk/cOt2dOs1 /dev/dsk/c0t2dOs1 /dev/dsk/c0t0dOs1 /dev/dsk/cOtOdOs1 /dev/dsk/c0t0dOs1 プライマリ・マスターのハードディスクの内容は空です。 もちろん、これでは起重丿、きません。そこで、 OpenBoot で、、 boot disk2" として起動しています。 再起動後、 metadb コマンドでメタデータベースの状態 をみると、日 ags の値か変わっています ( 図 22 ) 。 flags の 欄に表示された値の意味は、 metadb コマンドに -i オプ ションを付けて実行すると分かります ( 図 23 ) 。 下部に説明か表示されていますが、、、 p luo" はそれぞ れ次のような意味です。 p : メタデータベースの位置がカーネルに通知された。 1 : このメタデータベースの位置か第売める。 u : 最所の状態にある。 。 : 最後に史新されたときにも正しく動いていた。 「よし、これやったら大丈夫」 ・・と思うのは早言です。 metareplace メタデータベース自体は正しい状態になりましたが、 142 UNIX MAGAZINE 2003.4

3. UNIX MAGAZINE 2003年4月号

2 / 0 2 / 2 0 / 2 2 / 2 2 / 2 2 / ー 0 / 1 0 / 0 2 / 2 0 / 0 0 / 0 0 / 0 nifO-ge 3ffe : 516 : 5100 : : / 40 localhost 3ffe : 516 : 5000 : 5000 : : 2 / 128 nif2_fe3 3ffe : 516 : 5000 : 5000 : : / 64 localhost 図 18 ASE 経路の詳畩示 3ffe : 501 : 5634 : : 2 / 128 nif0-ge 3ffe : 516 : 2000 : : / 64 nifO—ge 3ffe : 516 : 4000 : : / 36 nifO—ge 3ffe : 516 : 4000 : 21 : : / 64 nifO—ge 3ffe : 516 : 4000 : 66 : : 2 / 128 nifO—ge 3ffe : 516 : 4000 : 111 : : 2 / 128 nif0—ge 3ffe : 516 : 5000 : : / 40 nif0—ge 3ffe : 516 : 5000 : : / 64 nifO—ge 3ffe : 516 : 5000 : : 100 / 128 16m 56S 19m 12S 19m 12S 19m 12S RIPng OSPF6_ASE Direct Direct OSPF6 OSPF6_ASE OSPF6_ASE OSPF6_ASE OSPF6_ASE 19m 12S 18S 17m 18d 19m 19m fe80 : fe80 : fe80: 12S fe80 : fe80: fe80 : 12S fe80 : 旧 v4 / 旧 v6 デュアルスタック ( 5 ) : 290 : 69ff :fee3:8c1f%nifO—ge : 290 : 69ff :fee3:8c1f%nifO—ge : 290 : 69ff :fee3:8c1f%nifO—ge : 290 : 69ff :fee3:8c1f%nifO—ge : 290 : 69ff :fee3: 8c1f%nifO—ge : 290 :69ff :fee3:8c1f%nifO-ge : 200 : 87ff :fe28:bOfe%nif0—ge 3ffe : 516 : 5000 : : 100 3h 0s 3ffe : 516 : 5000 : 5000 : : 2 OSPF6_ASE Direct Direct lh 17m 16m Os fe80 : : 290 :69ff :fee3:8c1f%nifO—ge gr2000ー2b + /admin> ip show ospf area external Area : 0 . 0 . 0 .0 Domain : 1 Loca1 Router ID : 202.244.164.254 Address State Priority COSt Neighbor 1 DR Backup DR 202.244.164.254 BackupDR 100 5 LS Database : AS Externa1 Link 202.244.188.193 202.244.164.254 Network Age : Age : Age : Network Age : Network Age : Address : 0.0.0.0 / 0 , AS Boundary Router: 202.244.161.1 Sequence : 80000468 , Checksums : 720F 621 , Length : 36 ImportRoute: 0.0.0.0 / 0 , NextHop: 202.244.164.1 Type: 1 , Metric: 4 , く lnt Gateway> Network Address : 0 . 0 .0 . 0 / 0 88 , Length : 36 ー > Type: 2 , Metric: 10 , Network Address : 0 .0 .0 . 0 / 0 859 , Length: 36 ー > Type: 1 , Metric: 5 , Tag: 00000000 , Forward: 0.0.0.0 AS Boundary Router : 202.244.164.254 Sequence : 80000006 , Checksums : B448 Tag : 00000000 , Forward: 202.244.164.1 AS Boundary Router : 203.178.141.142 Sequence : 800000b0 , Checksums : E730 Tag : 000009C4 , Forward : 0.0.0.0 Address : 202.244.163 / 24 , AS Boundary Router : 202.244.164.254 Sequence : 80000004 , Checksums: F118 263 , Length : 36 ー > Type : 2 , Metric: 1 , Tag: 00000000 , Forward: 0.0.0.0 Address : 202.244.165 / 26 , AS Boundary Router: 202.244.165.225 Sequence : 8000305f , Checksums : AC28 1731 , Length: 36 ImportRoute: 202.244.165.0 / 26 , NextHop: 202.244.164.1 Type : 2 , Metric: 2 , Tag: 00000000 , Forward: 0.0.0.0 く lnt Ext Active Gateway> UNIX MAGAZINE 2003.4 109

4. UNIX MAGAZINE 2003年4月号

インターフェイスの街角 リスト 1 JAN バーコード生成ライプラリ (barcode. rb) * 3 ) class JAN PARITY = [ ' 000000 ' ' OOEEOE ' ' OEOOEE ' ' OEEEOO ' ' OEOEEO ' DATA = { ' RE8 ' ' RE6 ' ' RE4 ' , RE2 , 'REO ' ' LE8 ' ' LE6 ' ' LE4 ' 'LE2 ' ' LEO ' ' L08 ' ' L06 ' ' L04 ' ' L02 ' ' L00 ' ' 000110P ' 0010011 ' ' 0100011 ' ' 0101111 ' ' 0110111 ' ' 0100111 ' ' 0011011 ' ' 0011101 ' ' 0000101 ' ' 0001001 ' ) 1110010 ' ' 1101100 ' ' 1011100 ' ' 1010000 ' ' 1001000 ' ' OOEOEE ' ' OOEEEO ' ' OEEOOE ' ' OEOEOE ' ' OEEOEO ' ) L01 ' ' L03 ' ' L05 ' ' L07 ' ' L09 ' 'LEI' 'LE3 ' ' LE5 ) ' LE7 ' ' LE9 ' 'REI' ' RE3 ' ' RE5 ' , RE7 , ' RE9 ' ' 0011001 ' ' 0111101 ' ' 0110001 ' ' 0111011 ' ' 0001011 ' ) 0110011 ' ) 0100001 ' ) 011100P ' 0010001 ' ) 0010111 ' ' 1100110 ' ' 1000010 ) ' 1001110 ' ' 1000100 ' ' 1110100 ' def checksum(id) # 13 桁目を計算 d = id [ 土 , 1 ] . t o—i ( 0 .. 11 ) . each { は一 sum = 0 sum 十 = d = ( 10 end (i % 2 = 0 ? d sum % 10 ) % 10 d def to—s(recalc = false) if recalc then @s @s + = ' 101 ' UNIX MAGAZINE 2003.4 puts "lnvalid ID: #{id}" 13 then if @id.length ! = 12 if @id.length = = @id + = checksum(@id) . to—s 土 d = id def initialize(id) end @s end @s + = ' 101 ' ・ d = @id[i + 7,1] ( 0 .. 5 ) . each { は一 @s + = ' 01010 ' ・ P = parity[i, 1 ] d = @id [ i + 1 , 1 ] ( 0 .. 5 ) . each { は一 parity = PARITY[@id[0, 1 ] . to—i] exit end to—s(true) end " PI \ n95 1\n#{to-s}\n" def pbm attr_reader : id end %%BoundingBox : 0 0 #{width*92} #{barcode—width} %%Tit1e : #{id} %%Creator : barcode . rb % ! PS-Adobe—2.0 EPSF—2.0 くく EOF end EOF 0 setgray id show digitheight 5 div moveto barcodewidth idwidth sub 2 div 1 setgray fill 0 bgwidth sub 0 rlineto closepath bgwidth 0 rlineto 0 bgheight rlineto barcodewidth bgwidth sub 2 div 0 moveto /bgheight digitheight 1 . 0 mul def /bgwidth idwidth 1 . 2 mul def /idwidth id stringwidth pop def /Courier findfont digitheight scalefont setfont /digitheight #{digit—height} def /barcodewidth #{barcode—width} def /id (#{id}) def digit—eps くく EOF if print—digit then digit—eps digit—width = barcode—width * 0.8 digit—height = barcode—width / 14 barcode_width = width * 92 def eps (width=l , height=20 , print—digit=false) end end EOF #{digit—eps} { bar } forall 0 0 moveto } def width 0 rmoveto 49 eq { fill } if closepath 0 width sub 0 rlineto 0 height rlineto width 0 て 1 土Ⅱ eto /bar { /height #{height} def /width #{width} def %%EndComment s 179

5. UNIX MAGAZINE 2003年4月号

ワークステーションのおと—O 図 11 format コマンドの実行 1 . 0 . Feb 2 17. (dad0) : # format ・ 11 : 27 takasago dada: WARNING: /pci@1f.O/pci@1, 1/ide@3/dad@0.O (dadO) : Feb 2 17 : 11 : 27 takasago corrupt 1abe1 ー wrong magic number Searching for disks ... Feb 2 17 : 11 : 27 takasago dada: WARNING: /pci@lf .O/pci@1, 1/ide@3/dad@0.0 /pci@1f.O/pci@1 , 1/ide@3/dad@2.O cOt2dO く IC35L040AVVA07 ー 0 cy1 19708 alt 2 hd 16 sec 255 > /pci@1f.O/pci@1 , 1/ide@3/dad@O.O c0tOd0 くエ C35L040AVVA07 ー 0 cyl 19708 alt 2 hd 16 sec 255 > AVAILABLE DISK SELECTIONS : Feb 2 17 : 11 : 27 takasago corrupt label ー wrong magic number [disk formatted, no defect list found] selecting c0tOdO Specify disk (enter its number) : 0 FORMAT MENU : disk type partition current f ormat quit f ormat > select a disk select (define) a disk type select (define) a partition table describe the current disk format and analyze the disk 図 12 print コマンドでノく一ティションを確えを partition> print Current partition table (original) : T0taI disk cylinders available : 19708 2 Part Tag 0 unassigned 1 unassigned 2 backup 3 unassigned 4 unassigned 5 unassigned 6 unassigned 7 unassigned partition> F1ag Cy1inders (reserved 0 0 0 0 0 38.34GB 0 0 cylinders) B10cks ( 0 / 0 / 0 ) ( 0 / 0 / 0 ) 0 0 0 0 0 0 0 0 0 0 19707 ( 19708 / 0 / 0 ) 80408640 ( 0 / 0 / 0 ) ( 0 / 0 / の ( 0 / 0 / 0 ) ( 0 / 0 / 0 ) ( 0 / 0 / 0 ) 0 0 0 0 0 / ーティションの設定 UNIX MAGAZINE 2003.4 いディスクを変更するには、 quit で partition サプコマ 動いているはうのディスクをみてみましよう。参照した ていないことが分かります。 けたディスクには、まったくパーティションか設定され の print コマンドて市忍できます ( 図 12 ) 。新たに取り付 パーティションの設定状態は、 partition サプコマンド マンドで言置をしていきます。 partition サプコマンド・モードに入り、そのなかのコ 残っているディスクとまったく同しにするだけです。 mat コマンドを使います ( 図 11 ) 。ガ去は簡単で、生き パーティションの設定には、 2 月号でも紹介した for- ンドを終了し、 disk サプコマンドを実行します ( 図 13 ) 。 ディスクの一覧が表示されるので、参照したいディスク の番号を入力します。続いて、 partition サプコマンドの print コマンドでパーティションの成正状況を石忍します ( 図 14 ) 。 新しいディスクのパーティションをこれと同しにすれ ばよいわけです。 disk コマンドて澤斤しいディスクを選択 したら、 partition サプコマンド・モードに戻り、さきほ どの図 12 といに print コマンドを実行します。 パーティションが表示されたら、変史したいパーティ ションの番号を入力します ( 図 15 ) 。するとパーティショ ンに関する情報の入力を求められるので、順番に値を入れ 139

6. UNIX MAGAZINE 2003年4月号

最新スよリー ミング動向 図 4 特設サイトのトップページ ( イベント開始前 ) ? 物ル編第 0 をテ第に人り内ツ、 - ルヘルプ 0 郵・ 0 ・☆こーを第 0 駆・一を 0 この・第・ ~ ジが 1 月博日に韈像公聞べ、 ~ ジとなります . 事前に「お気にスノくは「ブックマークいこ録願います . トップペーン設チャットル - ム入第メンハー第第 メッセ - ン第第第 ストリー三ングについて , ′ノロードバントを復について , クレジント 図 6 前日までのプロードバンド・ヘ / イル望第表〒 ) お知 : 人り内蘿ヘルプ⑧ 0 第一 0 ・圄”びりメをを 0 新・し - , 約 0 - トッ′ペーン物設ラヤノトル - ム入第メンバー第第 メセーン事第第 ストリーミングについてプロードバンドを復について : 、レコート悪てのを一中第について・ドリい、験い 第クレジット プロードバンド配信にフいて 今④わⅢ STREAHD-0 20 まイケイケ ! ー物こおいて、下紀 2 1 ) 0 インターネットサースプロ硺イー↓ 4 下 SP ) のごカ 1 ただき、これら SP のラロードバンド約・知であれは、プロー物朝ド環で・をご知 : なることがでさ当よ うになリまし厩 各・加方第第なりますのて、」一ドバンド環境で第たいま . こ製約第の第 P のバナーをグノック第中一りところは . 準修できは第ノンクを ) ますんていただき、を SP からの詳明をごださい . 第なお、第カ・第第日 1 兮も増戈は第 : のべ、・ジでこ第します . \ ~ ・三ンをは阯、を、母上当譲導珮こ : なれますれ 4 下当日二 : ル物′い羈冫のを′ー物こて第一 1 諡いた、浦す . 00N 工第 強。ま物地 0 〒 日ま・第物ま金は 費ø。佐 い日いリをトいけ川 : ' 0 代な当 ) イケ ! ユ臼日い V [ 3 一日 [ 川 G20 代はイみイみ ! にを 0 新 rn [ 0 信 " ” 、い : いー : Ⅲ代イ ) 当物 : 3 年一月 19 日ギ、田ごカル 20 ・の建生日に金・のフ′ンに第去 1 フィシ物ルサイトである・灯 S WEB 5 Ⅱ E で一紙 51 第石をー ) イト明第は M 、 20 代はイケイケ ! 」 . フ第ンのみ % さ . 、と一物こ人になったかち水す . なんと当日はミ : モも予を . 興第当日にメ・′セージが運れる物設チをットルームは入ーできるみは第第 : よる確盟を物設 . ・までギ田カルへメッなーシをれます一 また、物設チ , 2 トルームに入れない方も事こメール境てメ″セージを第第いたします 20 代はイケイケ / 洋物′勲 0 ・、 0 ′ ・ Xci を 0 題ー 0 上し」もン」、宝しこいこ二り匚三 ) 了ツ・、の叮」 S いび紀 Eoc H Ⅸ灯が 生放て リアクツョン一 生てメッセージ が送れる一 スタジオよリ生中 ! " ま年ニ第ツ物を 図 7 当日のプロードバンド・ページ 図 5 図 4 と差し替えた当日のトップページ カイル 0 第表〒お知こ入り竫ルヘル ) 響 0 ・ 0 叮圄メ ) ”☆り守ーを第・露を 0 。 ユ川い EST 既 AM 朝幻代はイクイケ ! ー日Ⅳを 5 リ毖の材リハイ ) イケ = ! ー”物”い物いいⅵい”” 第を第をツを娵」日 - Ⅳし訂 R ト A Ⅵー 20 代はイクイク第 イルの環集 ) 表〒 ) お知 : 入り》ツ、沸ヘルプ 0 第・ 0 圄メ、物人り守戸を第 0 ・しを 0 プロードバントこ信にス、て 下記力憺ま社では各社づロードバンド金員礎けに高画質鱸像を機催 . てあリまれご契約先の会の名物をクノックす るとを社配べージにます . : 憙を方ま各社町」ますのて、ご淺ださい . ※また選 : よ当復の第をと , ていう虫被伝 : さいますので、あらしめこ了たい . 第下 ~ ンク先でこ印こ宿れないはナローパンド島の映物をご覧 ( だい第 : えは工ゑー ただいま配信中 ! / イへ : 材 ? にこのペ。 - ンで冫を、アイみ必せをリま気材 ? 県 1 の : 三、ザ喞 : 第ツン第ノて、た釟、 ・イベント中、・携見れ第、簽た物イり事第ツ第冫残物朝を初ラザのぎ蔓額をタ : 物てください . ナローバンド価 6K デムな ご覧になられる方はこちら 再生小出第ない場謝ま . 各プレイヤーのホ、 - ムページのヘルッコーナーをご覧下さい . 当鹽物照させ . 第物イ ( れロに STREAKOIG 20 代はイケイケ工 挙の第、に E 日 5 E をご : な 1 る方はこちら 2 ー ~ 、物第引 1 ー第第当お第 ! 3 を第 グのアナウンスなども、 IRC を中心におこないました ) 。 本来なら、各 ISP の担当者が 1 カ所に集まって退秀しな がら運用する体制か理想的ですが、今回のイベントでは協 カ企業の数が多いだけに会場の確保も不可能で、あきらめ 以下では、大規期己信における重要なカギともいえるオ ざるをえませんでした。 ペレーション・センターと IRC について紹介します。 もちろん、 IRC 以外の手段も利用しています。たとえ オペレーション・センター は、 NTT C 。 m 大手町に設置されたコアセンターと、当 日、和ゞいた大阪・堂島の NTT-SmC に設置されたコア 大莫なストリーミング中継では、つねにも増してオペ キャッシュ・センターとのあいだには TV 会議システム レータ間のコミュニケーションか重要になります。いうま のホットラインが用意され、柤に ; 叫各しながら運用にあ でもなく、ストリーミング中継は待ったなしの一回性のオ たりました。 ペレーションです。したがって、バックアッフ系への切 これ以外にも、コアのメンバー間での連絡用に IRC の 替えやサーバーの追加投入など、瞬のデータ取得と 別チャンネルを設けたり、各種メッセンジャーや携帯電 判求められます。オペレータ同士カ随くにいれば、障 話なども駆使して、スムーズな連携を心掛けました。 害の本剱日やそれへの対処をおこなう際に顔を合わせてのコ 86 UNIX MAGAZINE 2003.4

7. UNIX MAGAZINE 2003年4月号

RFC ダイジェストー① 2002 年 12 月 16 日 ~ 2003 年 1 月 15 日に公開されたインターネット・ドラフトのエリア / 分科会ごとの集計 ( 1 ) アプリケーション・エリア (Applications Area) 表 6 2 1 0 0 2 1 4 3 2 1 0 4 ldapbis: LDAP (v3) Revision acap. Applicat ion Configuration Access Protocol cdi: Content Distribution lnternetworking ediint: EIectronic Data lnterchange-lnternet ln- tegration geopriv: Geographic Location/Privacy imapext: lnternet Message Access Protocol Ex- t enSIOYl impp. lnstant Messaging and Presence Protocol trade: lnternet Open Trading Protocol webdav: WWW Distributed Authoring and Ver- S10mng apex: Application Exchange calsch: Calendaring and Scheduling cr isp : Cross Registry lnformation Service proto C01 fax. lnternet Fax ftpext: Extensions to FTP ipr: lntellectual Property Rights 0 ipp: lnternet Printing Protocol ldapext: LDAP Extension ldup: LDAP Duplication/Replication/Update Proto cols msgtrk: Message Tracking Protocol nntpext: NNTP Extensions opes: Open Pluggable Edge Services C01 xmpp: ExtensibIe Messaging and Presence Prot0- vpim. Voice Profile for lnternet Mail usefor: Usenet Article Standard Update tn3270e : Telnet TN3270 Enhancements Leveragi ng Extensions simple: SIP for lnstant Messaging and Presence rescap. Resource Capabilities Discovery provreg: Provisioning Registry Protocol prim. Presence and lnstant Messaging Pr0tocol 殳工リア (GeneraI Area) 0 nomcom: Operation 0f the IESG/IAB Nominat- ing and Recall Committees インターネット・エリア (lnternet Area) dhc: Dynamic Host Configuration ipoib: IP over InfiniBand atommib: AToM MIB dnsext: DNS Extensions ipv6: IP Version 6 Working Group ipcdn: IP over CabIe Data Network eap: ExtensibIe Authentication Pr0toc01 mobileip: IP Routing for Wireless/MobiIe Hosts magma: Multicast & Anycast Group Membership 12tpext: Lay ℃ r Two Tunneling Protoc01 Extensions 1 0 pana: Pr0tocoI for carrying Authentication for Network Access pppext: P0int-t0-Point f)rotocol Extensions idn: lnternationalized Domain Name ifmib: lnterfaces MIB iporpr. IP over Resilient Packet Rings itrace: ICMP Traceback nemo: Network M0bility send: Securing Neighbor Discovery zeroconf: Zero Configuration Networking 運用・里工リア (Operations and Management Area) aaa: Authentication, Authorization and Accounting 0 dnsop: Domain Name Server Operations rmonmib: Remote Network Monitoring v60ps: IPv6 Operations hubmib: Ethernet lnterfaces and Hub MIB adslmib: ADSL MIB rap. Resource Allocation Protocol bmwg: Benchmarking Methodology mboned: MBONE DepIoyment snmpconf: Configuration Management with SNMP snmpv3: SNMP Version 3 bridge: Bridge MIB disman: Distributed Management XMPP Core XMPP コア XMPP のフレームワークおよひフ。ロトコルの中核部分 UNIX MAGAZINE 2003.4 entmib: Entity MIB eos: Evolution of SNMP ipfix: IP Flow lnformation Export multi6: Site Multihoming ⅲ IPv6 nasreq: Network Access Server Requirements policy: POIicy Framework psamp: Packet Sampling ptomaine: Prefix Taxonomy Ongoing Measure- ment & lnter Network Experiment sming: Next Generation Structure 0f Manage- ment lnformation について言義している。 [draft-ietf-xmpp-e2e-OO. txtl End-to-End Object Encryption in XMPP 163

8. UNIX MAGAZINE 2003年4月号

ん回ラックマウント・システムのパイオニア、ロジカルイフェクトなら Effect 貴社条件にビッタリの仕様で注文が可能。 当社サーバは、お客様仕様状態 & 1 台ずつ 30 ℃検証室 & 100 時間の高負荷テストを行い、合格品だけが出荷されます。 当社ラックマウント製品は、自社製品の為全て整合性が取れています。相性間題で悩む必要はありません。 1 U 、外気温摂氏 30 ℃・ Gigabit LAN 最大 5 ポート / 10 / 18 LAN 最大 8 ポート / 5 ポートハプ内蔵可 ロジカルイフェクトは、常に最先端技術を求め続ける、「完全技術主導型企業」です。 \ 1 99 , 8002 XEON NEW 1 U12U13U14U M ・ m 3 年一 CPIJ 2 年保証 対応システム t Xeon 1.8GHz ~ デュアルプロセッサ対応 0 ・ y3 0 ・ y2 0 ・ⅵ IDE MOb 畆・ Rack SCSI MobiIe Rack 1 2 3 40 \ 99 , 800 ~ Ⅲ川ⅢⅢⅢⅢⅢⅢ ⅢⅢ当ⅢⅢⅢⅢⅢ 物 S M ・ m 3 年一 CPLJ 2 年保 対応システム Pentium4 & DDR 1 .8 ~ 2.4GHz C 引 e 「 on ~ Pen um Ⅲ 1.13 ~ 1 40GHz 1 U 4 ホットスワップ HDD 対応 D u a ー A t Ⅲ 0 n M P 2 2 0 0 + 対応 D u a ド X E 0 N 2 . 8 G H z 対応 ※ X E 0 N は、 T h e r m M 0 n i t 0 「が機能せずに動作可能 ! 0 ⅢⅢⅢⅡⅢⅢⅢ ⅢⅢⅢⅢⅢⅢ日 完全動作 これって実は。当社たから出来るをスゴイ技術 デスクトップサーバ \ 49 , 800 ~ 対応システム CPU: Ce厄「0n1. OGHz—/ P Ⅲ 1.13 ~ P4 1.8GHz—/ Athlon MP / Xeon Drive: IDE/SCSI HDD—RAID システノ、 \ 49 , 800 ~ 1 リ / 2U / 4U 物 S - 対応システム CeIeron 1. OG—PentiumIL1.40GHz Pentium4 & SDRAM 1.8 ~ 2.8GHz 物 s NAS 1 2 3 41J \ 1 99 , 800 ~ 管理者の為の NAS ・設定 10 分。 MS-Windows/Linux/MAC 混在対応 ■ハードウェア R 州 D & ホットスワップ ERAID 0 / 1 / 5 に対応 ・ IDE および SC 引対応。混在可 ・各種 IJ Ⅲ X 設定対応 ( 識者向け ) ・ 1 U = 640GB / 2U ニ 1. 28TB / 3U = 2. 4TB 対応 Raxys NAS Builder ⅵ .0 搭載 Ⅷ田皿 1 2 3 41J \ 229 , 800 ~ M ・ m 5 年一 CPLJ 3 年保証 対応システム Pentium4 & RIMM 1 .8 ~ 2.8GHz DUAL Pen um Ⅲ 1.13 ~ 1 40GHz DUAL Athlon MP 1600 + ~ 2200 + DUAL Xeon 1.8 ~ 2.8GHz 物 s 0 リ A し / 2 釶 / 41J \ 1 49 , 800 ~ M ・ m 3 年一 CPLJ 2 年保証 対応システム DUAL Pen um Ⅲ 1.13 ~ 1 .40GHz DUAL AthIon MP 1600 + ~ 2200 + 1 リ 4 ホットスワップ HDD 対応 日市 コⅢⅱⅢⅢ ◎④⑤ ー a S - A 1 リ \ 249 , 800 【 全ての入出力機能を 1 U に搭載 8Port KVM/ TFT/ Touch Pad/ Keyboard 装備 Ⅷ , 800 RaKYS - 財 0 M ・れ・・′ ・ IU 8Port/2U 16Port KB/Mouse/ モニタ切替機 ・相性問題を抑える為、標準規格コネクタを採用 ・レ 0 Manager IU / 2U の混在に対応 VIANetSwitch \ 99 , 800 ~ Raxys 15 30W35 410 高品質ラック・キャビネット 1 U 遠隔電源 0 N / 0 F F スイッチ ・ 1500VA および 3000VA の 2 モデルを用意。 ■アルミを多用し、 41U = 90kg を実現 EMaster 、 Slave の 2 タイプを用意。 ■標準で、 750 / 900 / 1105 を用意。 ・ 1 台に 8 ロの電源コネクタを装備 ■フロント・リアドア・サイドバネル全装備 ・モデムによる電源 ON ・ OFF に対応 ■トップ・ポトムプレート装備 ( FAN 付 ) ■オプションで SNMP 、 LAN 、 USB に対応 Ⅷ 9 , 800 ~ ■キャスタ・スタンド添付 ・カスケード接続により、最大 1 2 8 ロの電源に対応 ( Y79. 800 / \ 119 , 800 ) ■ラック対応 6 ポート 0A タップ装備 ■日 A に完全準拠。他社製品の利用に対応 VIANetUPS \ 149 , 800 ~ 翡権 a 0 ①皿 c ・を 遠隔電源 0 N / 0 F F 機能対応 U P S ・ LRF モデルは Du 引 At on / XE の積載に対応 ・アルミを多用し、 41U = 85kg を実現 ■フロントに強化ガラスを採用。 \ 249 , 800 ~ ・ UPS 機能標準装備。 ・リアドア・サイドバネル全装備 ・ 3U 3000VA に対応 ・トップ・ポトムプレート装備 (FAN 付 ) ・オプションで SNMP/LAN/USB 経由で ON ・ OFF 可能 ・キャスタ・スタンド添付 / OA タップ装備 •VIA Net Switch と併用し、高度な電源管理が可能 ■日 A に完全準拠し設計。他社製品の利用に対応 ■拡張バッテリーパックにより、無限増設 & 長時間稼動に対応 ( Y99 , 800 ) p : 〃」 09i0a 厄 00m ※当社では、可能な限り、生産基地を日本国内とする、国内産業育成努力をしています。 ※当社は、ラックマウント分野におけるクーリング技術において、最先端の技術力を持っています。 ※開発会社のため、基本的に「他社に存在し、当社に出来ない仕様はありません」 ※本広告の数倍のモデルが w 6 b ページに存在し、また特注仕様も 0 E M 企業様には行っております。 ロシカルイフェクト株式会社東京都台東区淺草橋 2 ・ 1 & 6 ロシカルスクエア※通常は開発業務を行っていますので、お問合せは可能な限り、 w 。 b サイトにて御願い致します。 ※ 2 0 台以上の計画注文で簡易設計変更可能です。競合企業様も、協力企業様としてお問合せ下さい。 FAX : 03 ・ 5822 ・ 5522 / TEL: 03-5822-3322 ※技術力を有し、自己改造行為はコストが高い事を承知している方のみ、御利用下さい。 N を W 3000 Ⅵ A 149 00 9 0 0 B / 9 0 0 W N E 響 N に W 9 0 0 S B L R F

9. UNIX MAGAZINE 2003年4月号

特集・プログラミング入門 半分になるため、〇 ( 1 。 g れ ) となります。このようなア ルゴリズムを、、対数的なアルゴリズム " と呼ぶこともあ ・ 0 ( れ ) のアルゴリズム ります。 れ一 1 の本をみて 1 つを尺するといった作業、す また、れの入力の本をみて 1 つを尺し、次に残りの すべて調べるといったアルゴリズムによくみられます。 普通に 2 重のループを作成し、入力のそれぞれの対を ・ 0 ( れ 2 ) のアルゴリズム ります。 ため、結果として多くのアルゴリズムがこの計算量にな 分割統治アルゴリズムでは言 t 算量が 0 ( れ log れ ) となる ム ( 分割統治アルゴリズム ) を使うからです。オ剽純勺な ぞれの解を求めて本の解を決定する方式のアルゴリズ います。なぜなら、入力を調べて 2 つに分割し、それ ラムのうち、計算量の小さいものはこの引算量となって ちます。たとえば、並べ替えをおこなう一ヨ勺なプログ はありませんが、多くのアルゴリズムがこの計算量をも ムです。この種のアルゴリズムの引算量に特別な呼び名 らの解を合わせて全体の解を導き出すようなアルゴリズ 定固の部分間題に分割してそれぞれの解を求め、それ ・ 0 ( れ 10g れ ) のアノレゴリズム す。これは、新彡のアルゴリズム " と呼ばれます。 ひととおり調べることになるので、 0 ( れ ) となるわけで えます。このとき、このアルゴリズムではすべての桁を 3 の剰余系での加算を利用すれは、これは簡単におこな り切れるかを詩ヾれは半」定できます。合言を求める際に かは、すべての桁の値を合計し、その合言値が 3 て割 とすると 0 ( れ ) になります。ある数が 3 て割り切れる べました。 3 て割り切れるかどうかは、入力の桁数をれ す。さきほど、 2 で割り切れるかどうかは 0 ( 1 ) だと述 の要素をひととおり調べますが、これは 0 ( れ ) となりま す。たとえば、線丿架索ではう頁から末尾までのすべて 入力をすべてひととおり調べるようなアルゴリズムで UNIX MAGAZINE 2003.4 0 ( れ 2 ) と表現されます。 の手間がかかるようなアルゴリズムも、 0 言己去であれば ん = れ 2 れ ( れ + 1 ) 1 なわち、 今月は、、探索 " の 3 回目としてスキップリストを用い た探索、そして、前回までにとりあげた探去とは異なる 考え方を導入したノ、ツシュ法について説明しました。これ に里して、 0 記法をとりあげてアルゴリズムの能に関 する考え方を紹介しました。 探索法については、これでひととおりとりあげたことに なります。ーロに探索といっても数多くの方法があり、そ れぞれに得失があります。探索にかぎらす、アルゴリズム を適用する場合には、これらの得失をみきわめて適切なも のを尺するようにしましよう。 ( いまいすみ・たかし千葉大学 ) [ 赭文献 ] [ 1 ] Pugh, William, "Skip Lists: A Probabilistic Alter- native tO Balanced Trees ” , Comm 社れを ca 厖 0 れ s 0 / the ACM, VOL33 , lssue 6 , June 1990 , pp. 668 ー 676 (ftp:// ftp.cs.umd.edu/pub/skipLists/skiplists.pdf) [ 2 ] R. セジウィック著、野下浩平、星守、佐藤創、田口東共 訳「アルゴリズム第 2 巻探索・文字列・計算幾何』、近 ( 斗 ・ 0 ( 2 れ ) のアルゴリズム これは、出現するすべての組合について条件を満たす かどうかを調べるといった、いかにもカまかせのアルゴ リズムによくみられます。この種のアルゴリズムでは、 の大きさが 1 増えるだけで、実行時間カイ部曽してし まいます。間題の大きさカ賠になると、かかる時間が 2 乗になるのですから、とうてい実用的とはいえません。 このようなアルゴリズムは、、指数的なアルゴリズム " と 呼ばれます。 現実には、どうがんばっても指数的な言 t 算量になって しまう間題もあります。しつは、暗号化のアルゴリズム などでは、この性質を積知勺に利用しています。ですか ら、指数的な言 1 算量になってしまうからといって、まっ たく未がないわけではありません。 ☆ 学社、 1992 年 131

10. UNIX MAGAZINE 2003年4月号

特集・プログラミング入門 図 7 スキップリストカ啌かどうかを調べるマクロ (slnode)(t) ! = (s1node)O;\ #define skiplistisnull(s) ( (s) & & (s)->head & & (s)->head → f0110W[0] ) 図 8 スキップリストに登録されているすべての要素を順番にタ里するマクロ #define skiplistforall(), t, e) for ( \ ( (s) → head → f0110買[0] ) ; \ (slnode) (t) (void *)(e) = ((t)? ((slnode) (t)) → elem: (void * ) 0 ) , ( ((slnode) (t) ) ー > f 。 11 。 w [ 0 ] ) ) (slnode) (t) ん。ただし、要素が 1 つでもあ川ま、ダミー要素の follow 配列の 0 番目の要素にはかならす 0 以外の値かオ褓内されま す。この性質を利用して、スキップリストが空かどうかを 調 , ヾることができるわけです。ただし、この場合にも、引 数としてケえられたものがスキップリストとして正しい構 造になっているかは分かりません。したがって、そのまま f 。Ⅱ。 w の先を調べてしまうと、セグメント違反などを起こ してプログラムか停止してしまう可能性もあります。そこ で、引数として与えられたスキップリスト自身、その先に 付けられたダミー要素、そこに格納されている foIIow[0] という順番で調べていき、エラーかをおしないようにして います。 もう 1 つ、スキップリストに登録されているすべての 要素を順番に処理するマクロをみてみましよう。スキップ リストて表現しているものと同じデータの集まりをヨ冓造 で表そうとすると、すべてのデータを処理するために、再 帰関数を用いてすべてのノードを訪間するように書く必要 があります。しかし、スキップリストであれば、これを普 通の for ループで実現できます。 レベル 0 の follow は、つねに次のノードを指すことが 分かっていますから、そこをたどりながらすべてのデータ を処理すればよいのです。作成したマクロは、図 8 のよう になります。 ちょっと複雑かもしれませんが、第 1 引数にスキップ リストを、第 2 引数には一一時変数として使う void * 型の 変数を、第 3 引数にはループの本体部を実行するときに登 録されているデータを代入する変数を指定します。 たとえば、整数を登録しているスキップリストであれ ば、次のように利用できます。 skiplistforall(sl V ; void *p; skiplist sl; UNIX MAGAZINE 2003.4 printf ( "%d\n" t slnode ( (s) → head → f0110W[0] ) ; \ #define skiplistforall(s , e) for ( \ 上て折り返しています ) 。 うに for の初期化部分で宣言できるからです ( 誌面の都合 この問題はなくなります。 C 十十では、下記のマクロのよ 時変数が問題になりますが、 C 十十で実現するのであれば 今回は、 C 言語での実現を前提としているため、この一 せん。 細までみせてしまうことになるので、あまりお勧めできま 構造の作成という観点からすると、データ構造の内部の詳 すれば、マクロはもっと簡単になります。しかし、データ るようにしています。 slnode 型の変数を指定するように を意識させないために、わざわざキャストしながら利用す たいところです。しかし、できるかぎりデータ構造の言岩田 第 2 引数については、本来なら slnode 型の値を指定し れているすべての値を順に出力することができます。 んが、このコードを実行すれば、スキップリストに 0 当求さ もちろん、値をる当求したあとでなけれは・未はありませ (void * ) (e) (void * ) の , —t—>elem: - (s1node)O;\ ー t ー > f0110W [ 0 ] ) これならば、データ構造を利用する際に一引変数のため の領域を考える必はありません。もちろん、こちらのほ うが手法としては優れていますが、残念ながら C 言語で はこのような亘暠はできないので、マクロに対してかなら す一印学変数を指定しています。 以 - ヒ、スキップリストの実現をひととおりみてきまし た。今回とりあげたプログラムは、全体で 160 行はどで す。 2 月号で紹介した AVL 木のプログラムは . 二分探索木 のコードの 3 イ部呈度と述べましたが、デバッグ用の関数を 削除するなどして今回説明した部分を抜き出すと、ちょう 119