2007年02月28日

【通信】0AB-J

一般家庭に置いてある昔ながらの電話には0から始まる10桁の数字が割り当てられています。東京ならば、「03-xxxx-xxxx」ですよね。この電話番号の形式を「0AB~J」と表記することがあります。

アルファベット1文字は0~9の任意の数字1つを表しており、さらにアルファベットの個数は桁数を表しています。A~JだとABCDEFGHIJとアルファベットが10個ありますが「I」は数字の「1」と混同するので用いられません。つまり、「AB~J」はABCDEFGHJの9桁を示しています。

電話番号を電話に割り当てるには総務省の許可が必要です。特にこの「0AB-J」の電話番号を割り当てるには、以下の5つの条件を満たす必要があります。

(1) アクセス回線を直接収容し,そのための設備を自前で用意する
(2) 固定電話並みの通話品質と安定性を確保する
(3) 電話番号と発信場所を対応させる
(4) 確実な番号需要に基づいた事業計画を提出する
(5) 加入電話を置き換える場合は,緊急通報に対応する

各家庭に普及している加入電話(NTTが提供している昔ながらの電話)はもちろんこの条件を満たしていますが、IP電話などの加入電話以外の電話であっても上記の条件を満たせば、「0AB-J」の番号を割り当てることができるようになっています。

ただし、IP電話にとって上記は厳しい条件となります。(2)では固定電話並みの高い通話品質(クラスA)を保たなければなりません。(3)では電話番号と発信場所を対応させなければならないのでSkypeのような位置が特定できない電話は条件を満たせません。(5)では110番/119番などの緊急通報が確実にできるようにしなければなりません。

IP電話のうち、「0AB-J」が割り当てられたIP電話を「第一電話(プライマリ電話)」、条件を満たせない従来の050から始まるIP電話を「第二電話(セカンダリ電話)」と呼んで区別することもあります。

普段何気なく使っている「0AB-J」の電話番号は、厳しい条件に合格し信頼性が保障されている電話の証なのです。

【参考資料】
0AB-J ゼロエービージェーとは: - IT用語辞典バイナリ -
「0AB-J」番号:ITPro
IP電話 - Wilipedia -

2007年02月26日

【通信】CDN(コンテンツデリバリネットワーク)

コンテンツデリバリネットワーク[CDN: Contents Delivery Network]とは、動画や音楽などのファイルサイズの大きいコンテンツをインターネット経由で配信するために最適化されたネットワークです。

ところで、動画や音楽はインターネットに接続できれば普通にダウンロードできますよね。では、なぜコンテンツデリバリネットワークが必要なんでしょう。

ファイルサイズが大きいWebコンテンツを1箇所で配信した場合、アクセス数が増えるとサーバーや回線の能力を超えてしまい過負荷状態に陥る恐れがあります。特に回線の過負荷状態は配信サーバーのパフォーマンスを向上するだけでは回避することが困難です。コンテンツデリバリネットワークでは、ネットワーク上の様々な場所に配布ポイントを用意し、ユーザーのネットワーク位置に応じて最適な配布ポイントからWebコンテンツを配信する仕組みをネットワーク上に構築しています。コンテンツを配信サーバーから直接ユーザーに配信するのではなく、ネットワーク上に配置された配布ポイント(キャッシュサーバーやミラーサーバー)から配信することで負可分散を実現しているのです。

コンテンツデリバリネットワークは、単純に過負荷状態を回避するネットワークを指す場合もあれば、ファイルの配布ポイント管理から認証・課金まで、コンテンツをユーザーに販売する際に必要となる一連の機能を備えたシステムを指す場合もあります。

【参考資料】
[1] コンテンツデリバリネットワークとは【CDN】: IT用語辞典 e-Words
[2] コンテンツデリバリネットワーク - Wikipedia
[3] ブロードメディア@CDN クラビット株式会社
[4] @IT: CDNはISP業界を救うか、月額500円の接続サービス

2007年02月18日

【ビジネス】経営ほにゃらら

経営理念に関連する用語を整理しました。
しかし、経営なんとかという言葉が多くて混乱しますね(^^;
経営目的、経営理念、経営ビジョン、経営目標、経営行動基準、経営戦略、経営計画、経営管理・・。


画像はクリックすると拡大します。


以下は、各企業の経営理念をWebサイトより抜粋しています。実際には経営理念、ミッション、ビジョンの厳密な定義はなく、ある企業がミッションとしてしている内容を別の企業はビジョンとしていたりします。各企業の特性が表れていて面白いです。Googleは特に個性的で技術者を惹きつける内容だなと感じました。

【マッキンゼー】 http://www.mckinsey.co.jp/index.html
■理念
One Firm(一つの組織)
■ミッション
「顧客企業の成長」と「人材の育成」
■行動規範
最高のプロフェッショナルスタンダードにこだわる
顧客企業の業績を大幅に向上させる
優れた人材のために比類ない環境を作る

【Google】 http://www.google.co.jp/intl/ja/corporate/index.html
■理念
"最高" に甘んじない

■価値観
1. ユーザーに焦点を絞れば、「結果」は自然に付いてくる。
2. 1つのことを極めて本当にうまくやるのが一番。
3. 遅いより速い方がいい。
4. ウェブでも民主主義は機能する。
5. 情報を探したくなるのは机に座っているときだけではない。
6. 悪事を働かなくても金儲けはできる。
7. 世の中の情報量は絶えず増え続けている。
8. 情報のニーズはすべての国境を越える。
9. スーツがなくても真剣に仕事はできる。
10. すばらしい、では足りない。

【IBM】 http://www.ibm.com/jp/
■ビジョン
ネットワーク社会をリードし、新しい価値の創造を通じて、人と地球に豊かさと潤いをもたらす、熱意あふれるプロフェッショナル集団

■バリュー
お客様中心
グローバリゼーション
機敏さと活力

2007年02月04日

【MA2】マッシュアップアワード

サンとリクルートが主催するMashup Award 2ndが始まりました。

http://jp.sun.com/mashupaward/
http://bic.recruit.co.jp/mashupaward/

マッシュアップとは、複数の異なる提供元の技術やコンテンツを複合させて新しいサービスを提供することを指します。もともとは音楽業界の言葉だったようです。

マッシュアップアワードでは、主催者側が提供するWebサービスを1つ以上利用してアプリケーションを構築し、アイディアや完成度、ユーザビリティや独創性を競います。優勝者には賞金50万円が贈られます。

第1回ではリクルートが提供する4つのWebサービスの中からしか選べなかったのですが、今回は複数の企業が提供する計30以上のWebサービスを利用できるので、面白いサイトが作れそうです。

締め切りが3月12日と、ちょっと厳しいのですが作ってみようかな。
ところで何作ろうかなぁ。なんか良いアイディアないかなぁ~。

2007年02月03日

【SCAG】8章 - スマートクライアントアプリケーションパフォーマンス

スマートクライアントアーキテクチャ設計ガイド
Chapter 8 - Smart Client Application Performance

・パフォーマンス設計
・パフォーマンスチューニングと分析
・まとめ
・リファレンス

スマートクライアントアプリケーションはWebアプリケーションよりリッチでレスポンスの良いユーザーインターフェースを提供し、ローカルシステムリソースを最大限に活用することができる。アプリケーションの大部分がユーザーコンピュータ上に存在する場合、アプリケーションはWebサーバーに対する定期的なラウンドとリップを必要としない。これにより、パフォーマンスとレスポンスを向上させることができる。しかしながら、スマートクライアントアプリケーションの最大限の潜在能力を引き出すために、アプリケーションの設計フェーズでパフォーマンス問題を十分考慮したほうが良い。アプリケーションの設計時にパフォーマンス問題を扱うことは、早期にコストを抑え、後でパフォーマンス問題に出くわす可能性を軽減する。

注記: スマートクライアントアプリケーションのパフォーマンスを改善することは、アプリケーション設計時の問題だけではない。パフォーマンスの良い.NETのソースコードを作成するために、アプリケーションのライフサイクルを通して行われる対策が数多くある。たとえ.NET共通言語ランタイム(CLR)のコードを実行する効率がとても良かったとしても、コードのパフォーマンスを向上するために利用される数多くのテクニックがあり、コードレベルで引き起こされるパフォーマンス問題を未然に防ぐ。これらの問題に関するより詳細な情報は、http://msdn.microsoft.com/perfを参照。

現実的なパフォーマンス要件を定義し、アプリケーション設計時における潜在的な問題を特定することは明らかに重要である。しかし、パフォーマンスの問題はコードが記述された後やテストされた後にしか発生しない場合もある。この場合には、パフォーマンス問題の追跡するのに役立つツールやテクニックがある。

本章では最適なパフォーマンスを確保するためにスマートクライアントをどのように設計しチューニングするかについて検証する。スレッド化やキャッシュ化を含む設計時やアーキテクチャ上の数多くの問題を論じ、アプリケーションのWindowsフォーム部分のパフォーマンスを良くする方法を検証する。本章はスマートクライアントアプリケーションのパフォーマンス問題を追跡し診断するのに利用できるテクニックやツールについても調査する。


スマートクライアントアーキテクチャ設計ガイドトップへ戻る

【SCAG】7章 - スマートクライアントアプリケーションのデプロイとアップデート

スマートクライアントアーキテクチャ設計ガイド
Chapter 7 - Deploying and Updating Smart Client Applications

・.NETフレームワークのデプロイ
・スマートクライアントアプリケーションのデプロイ
・適切なデプロイ方法の選択
・スマートクライアントアップデートのデプロイ
・アップデート方法の選択
・まとめ

スマートクライアントアプリケーションはクライアントコンピュータ上でローカルプロセスを処理する。そのため、クライアントコンピュータ上にデプロイされる必要がある。昔、クライアントコンピュータ上で時間のかかるアプリケーションのデプロイ、アップデート、メンテナンス、アンインストールをすることは、とても困難で問題をはらんでいた。COMにより発生する以下のようないくつかの問題はクライアントコンピュータへアプリケーションをデプロイするのをとても難しくした。

* レジストリと密結合であるアプリケーション。COMアプリケーションをインストールするためにはクラスやライブラリのタイプをレジストリに登録する必要があった。

* 自己完結していないアプリケーション。レジストリにクラスやタイプを登録するだけなく、レジストリに格納された構成設定値はもちろん、通常のアプリケーションはディスク上に配置された共有ファイルを含んでいた。アプリケーションが自己完結していなかったのである。それどころか、そういった構成になっている部分はコンピュータ上の別々の領域へ配布されていた。

* 並列に(side by side)デプロイすることができなかったコンポーネント。同じディレクトリに同じDLLの2つの異なるバージョンをデプロイするのは不可能だった。

これらの問題はクライアントアプリケーションの効率的なデプロイとメンテナンスに対する大きな障害だった。

Microsoft .NETフレームワークは.NETフレームワークアプリケーションの処理やデプロイを簡単にする多くの機能を持っている。以下のような機能である。

* 自己記述的(Self-describing)なアセンブリ。.NETフレームワークのアセンブリは、(数ある中でも)バージョン情報、タイプ、リソース、全ての参照アセンブリの詳細を記述しているメタデータを含む。これはレジストリに依存していないことを意味する。

* バージョニングとサイドバイサイド(side-by-side)のサポート。.NET Frameworkは、並列(side by side)で実行できるようにバージョニングを広範囲に渡ってサポートしている。それにより、アプリケーションの複数のバージョンや.NETフレームワークの複数のバージョンをインストールすることができる。

* 分離されたアプリケーション。特定のアプリケーションでの利用や初期設定を保ったままでの利用のために、.NETフレームワークのアセンブリを他のアプリケーションから分離されたアプリケーションディレクトリにデプロイすることができる。これにより、アセンブリをWindowsディレクトリに登録する必要がない、又は明確にレジストリに登録する必要がない。そして他のアプリケーションをインストールした時、上書きされたり消される可能性が減少する。

* グローバルアセンブリキャッシュ。同じコンピュータ上で異なるアプリケーション間のコードを共有したい場合、グローバルアセンブリキャッシュにコンポーネントをデプロイすれば良い。グローバルアセンブリキャッシュは同一アセンブリの異なるバージョンが同時に存在することを許可している。グローバルアセンブリキャッシュのアセンブリを参照したい時は、Publicキートークンとバージョン番号を含むアセンブリの完全限定名を指定しなければならない。これは、気づかずに違うバージョンのコンポーネントを利用してしまう防ぐのに役立つ。

* 厳密名アセンブリのビルド時間に対するデフォルトの実行時間(Default run-time binding against build-time assemblies for strong-named assemblies.)。デフォルトでアセンブリを厳密名で指定している場合、.NETフレームワークは依存するアセンブリの正確なバージョンをバインドする。これにより、.NETフレームワークはビルド・テストされたアセンブリの適切なバージョンを読み込むため、アプリケーションの脆弱性が減る。もし必要ならばこの振る舞いを(明確に(explicitly))上書きすることができる。

これらはリッチクライアントアプリケーションのデプロイとメンテナンスで過去に悩まされたたくさんの潜在的な問題を解決するのに役立つ。.NETフレームワークのデプロイを簡単にする方法についてのより詳細な情報は「.NETフレームワークでデプロイを簡単にしDLL地獄を解決する」を参照。

本章は.NETフレームワークのデプロイのオプションについて解説し、.NETフレームワークに基づくスマートクライアントアプリケーションのデプロイ方法を検証する。アプリケーションをデプロイするためには数多くのオプションがあり、その各々について論ずる。
それを受けて、あなたは環境に最も適切な方法を選択することができるだろう。最後にアプリケーションアップデートのデプロイオプションを詳細に検証する。


スマートクライアントアーキテクチャ設計ガイドトップへ戻る

2007年02月01日

【ビジネス書】国家の品格 - 藤原正彦

以下、本書の大枠の内容です。

---------------------------------------------
環境破壊、家庭崩壊、教育崩壊による学力の低下、子どもたちの読書離れ、少年少女の非行など、現代の荒廃は日本だけではなく先進国共通の問題である。それは近代の欧米が推し進めてきた、論理性や合理性で全てを判断する近代合理精神が破綻してきたからだ。

「なぜ人を殺してはいけないのか。」
論理的にというだけなら良い理由も悪い理由もいくらでも挙げられる。戦争では双方に正しい論理・正義がある。そこには美しい論理がある。

人を殺してはいけないのは、「駄目だから駄目」なのである。本当に重要なことは親や先生が頭ごなしに押しつけなければならない。最初に何かの基準を与えないと子供は自分の立ち位置や行動基準がわからなくなる。

論理には出発点がある。AならばB, BならばCという論理があるならば、論理の出発点はAになる。いくら途中の論理が正しくとも出発点を間違ってしまえば、結果として大きく道を誤ってしまうことになる。

では、この出発点Aはどのように決まるのだろう?それは選ぶ人の「情緒」と「形」によって決まるのである。「情緒」とは喜怒哀楽のような誰でも生まれつき持っているものではなく、懐かしさとか、もののあわれといった教育によって培われるその人の総合力である。一方、「形」とは宗教・慣習からくる行動基準である。

日本人には古来から悠久の自然と儚い人生との対比に美を発見する感性(=もののあはれ)が備わっており、「情緒」を育める風土がある。さらに武士道精神を復活させ、卑怯を憎む心と惻隠の情を育てることで、「形」を作る。
日本人一人一人が美しい「情緒」と「形」を育み、国家の品格を保つことが、日本人として生れた真の意味であり、人類の責務である。
---------------------------------------------

全てを受け入れることはできませんが、いいことも書いてあると思います。
特に卑怯を憎む心と惻隠の情を育くむという点は賛成です。論理では語れきれない価値観であっても次の世代に理屈抜きに教えなくてはならないという点も新しい視点です。もちろん、説明できないことへの言い訳にしないように気をつけなくてはなりませんが。

ただ、残念な点として、本書は多少極論が過ぎると思います。ある例を誇張に取り上げて、自分の説を正当化しているような印象を受けてしまいます。例えば、英語より国語が重要な理由として、海外に行くと「三島由紀夫の自殺と夏目漱石のこころでの先生の自殺との関連性」など、日本の文化に対する具体的な質問をされるとありますが、それはきっと一握りの人間ではないでしょうか。もちろん、日本の文化を知ること、読書をすることは大切ですが、上記のような例を英語より国語を学ぶべき根拠とするのは、いささか強引ではないかと思えてなりません。

もう1つ、本書を読んでいて残念に感じた点は、論理的な展開が欠けているということです。筆者からすれば、重要なものは重要だし自明なのかもしれませんが、いくら日本人同士とは言え、もう子供ではないのですから、読者はそれぞれに違った価値観を持っていることでしょう。違った価値観を持った人々に対して納得してもらう手段として、共通ルールである論理にも気を配って欲しかったと思うのです。