KDDI技術戦略部の高木幸一です、私は、KDDIの技術戦略上、Web技術が非常に重要な位置を占める中で、社内外へのWeb技術浸透、およびW3C標準化作業等を行っています。さて、突然ですが、KDDIが2014年末に出した新種のスマートフォン端末をご存知でしょうか?そうです、「Fx0」です。Android OSでもiOSでもない第3のOSの端末として登場し、多くのニュースでも取り上げられていたのでご記憶の方も多いのではないかと思います。一方で、この端末の発売に関するKDDIのプレスリリースであるキーワードが掲載されていました。それが
「WoT (Web of Things)」
です。聞きなれない方も多いかもしれません。実はこの「WoT」は「IoT(Internet of Things = モノのインターネット)」の究極の姿であり、我々が目指す姿でもあります。「IoT」がこれだけバズワードになっている中で、なぜKDDIは「WoT」に取り組むのか?本ブログではこの内容についてお話ししたいと思います。
WoTとIoTの関係
さて、「WoT」に取り組む理由をお話しする前に、「WoT」とは何なのか?そして「WoT」は「IoT」とどのような関係にあるのか整理しておきましょう。 「IoT」の定義については諸説あるかと思いますが、「モノがインターネットにつながり、モノと人(モノとモノ)が連携することで(これまでにない)新たな価値を創造するもの」です 。ここで、重要となるのが「インターネットにつながり」という部分です。「IoT」ではOSI参照モデルでいえば、ネットワーク層やトランスポート層について、モノがどのようにつながればよいのかを規定します。この層までは水平分散型の標準化(3GPP, IETF, …)が進められています。その上で、アプリケーション層について、特定のベンダに特化した枠組み(アライアンス、コンソーシアム)がいくつもできています。すなわち、その枠組みに加入し、その枠組みの方法に従うことにより、その枠組み内にあるさまざまな機器と連携することが可能なのです。一方で、「WoT」は、まさにアプリケーション層を規定したものになります。アプリケーション層より下の層の動作は「IoT」で定められる別の取決めに任せた上で、アプリケーション層としてWeb Runtime(ここにWeb APIが含まれる)を使いなさいということです。結果として、モノと人(モノとモノ)がWeb APIをベースとしたWeb アプリケーションを介してつながることになります。ここで重要なのは、「WoT」はWeb技術を検討しているコンソーシアムであるW3C(World Wide Web Consortium)による取組であるという点です。W3Cは特定のベンダに特化した組織ではありません。そして、最近多くの機器がWebブラウザ、Web Runtimeを搭載しつつあります。以上を整理すると、冒頭の図のようになります。左図が、「IoT」に対し特定のベンダにより構成される枠組み、右図が「WoT」による枠組みです。WoTはかなり広範なモノを対象にしていることがお分かりいただけると思います。
KDDIがWoTに取り組む理由
それでは本題に入ります。なぜ我々がWoTに取り組んでいるのか?理由は大きく3つあります。
1.開発が簡単になること
通常、IoT機器(たいていの場合組み込み機器)に対してそれとつながるアプリケーションを組もうとすると、C言語などのソフトウェアの知識に加え、組込み系の知識が必要になります。一方で、WoTではHTMLやJavaScriptなどのWeb系の言語で開発ができるようになります。Web系プログラマの人数は組み込み機器系プログラマの人数と比較すると数百倍以上はいると言われています。従って、アプリケーションの開発をより円滑に進められることが期待できます。
2.あらゆるケースで使えること
KDDIはモバイルから固定(FTTH)、ケーブルなどさまざまな通信環境を提供する総合通信企業です。多種多様な通信環境を対象にしているのと同時に、デバイスも多種多様なものを対象としております。そのような背景の下、どのような環境でもあらゆるサービスをシームレスに提供できることが求められます。そこで、「マルチユース」「マルチネットワーク」「マルチデバイス」の3つの頭文字からなる「3M戦略」を推進しています。では、今の世の中において、さまざまなユースケース、ネットワーク、デバイスに対し共通に利用できる枠組みは何でしょうか? おそらく、その1つとしてWoTがあげられるのではないでしょうか?前述のW3Cにおいても、そのミッションを「Web for all」「Web on Everything」と提唱しているとおりです。従って、KDDIがWebを積極的に実践するのは、その戦略を円滑に推進する上でストレートフォワードな方策です。
3.オープンな技術であること
W3Cで標準化される技術は基本的にオープンであるため、その1つである「WoT」もオープンな技術になります。ではなぜオープンであることが求められるのか?それは、様々な課題に対応できる必要があるためと考えます。先ほども申しあげたとおり、WoTでは非常に広範なデバイスを扱います。よって、非常に強靭な技術であることが求められます。オープンな技術は、あらゆる開発者の目にさらされることにより、多くの課題を乗り越え強靭になっています。事実、IoTについても、その中核となる技術のほとんどはすべてオープンな技術です。Linux、Apache、Hadoop、・・・挙げればきりがありません。極論すると、技術としてはオープンであることが長期的に生き残るための術であるといっても過言ではないと思います。
以上、3点掲げました。もう一度言うと、「開発が簡単で、どんなことにも使えて、さらにオープン(自由に使える)」ということで夢物語のようですが、現実はそんな簡単ではありません。実は、W3Cの中でも検討が始まったばかりで、既存のWebブラウザ、Web Runtime上では、そのためのAPIがほとんど使えるようになっていません。そこで、具体的なAPIの検討、および課題抽出を進めるべく、我々はMozillaを中心に「MozOpenHardware」というプロジェクトを立ち上げ、活動を開始しています(後述)。
WoTに対する私の取り組み
展示@HTML5 Conference (Jan. 2015)
html5jへの参画
WoTを実現するにあたり、HTML5はベースとなる技術であるため、国内最大のHTML5開発者コミュニティであるhtml5jに参画し、WoTに関するアクティビティ立ち上げに向け奔走しています。具体的には、2014年7月に同コミュニティが主催した開発イベントhtml5 Japan CupではKDDI賞として「スマートフォンの次を狙え!生活を快適にするデバイス×Webアプリ」を設置しました。この中で、多くの応募をいただくために、デバイスとWebが連携したら何ができるのかというお題でハッカソンを開催しました。私はそのファシリテータとして、マンダラート等を用いて参加者の皆さんが気になっているものからそれと関連するものを書いていただき、そこに出てきた複数のものをつなげることで新しいアプリケーションを生み出すという方策をとりました。このようなハッカソンが功を奏し、30以上のアプリを集めることに成功しました。また、同コミュニティが年に一回開催するカンファレンスでは展示を担当しました。KDDIのWeb広報責任者として、W3C標準化活動や各種コミュニティ活動に参加していたこともあり、その伝手で、私からのお誘いに共感いただき、15の個人・団体の方に出展いただくことができました。
Mozilla Factoryへの参画

ぶっ飛びケータイの展示@Mozilla Festival (Sep. 2013)
また、Mozilla Japanが進めるMozilla Factoryという取組みに協賛し参加しております。これは、中高生を中心に「“オープン”に考える、作る、伝える」を軸にしたモノづくりを進めていくための場所や環境を提供する取組で2012年にスタートしたものです。そのなかで「ぶっ飛びケータイ」というプロジェクトに参加しています。名前の通り、現在ないぶっ飛んだケータイを検討し開発するプロジェクトです。例えば、「XXな人」「XXという特徴を持つ」を複数用意し、これらを組み合わせることにより新たなケータイ像を生み出そうというアイディアソンをやりました。例えば、「子供が欲しがるいい匂いのするケータイ」「バナナ型ケータイ」など、様々なアイディアを抽出しました。実はこの取り組みの中で、ArduinoやRaspberry PiにFirefoxOSをインストールし新たなケータイとなるものは何か考えてみようという話になりました。ところが、実際にFirefoxOSをインストールした上で触れば触るほど、スペックが足りないとかI/Oが不足しているなど、多くの課題があることに気づかされました。そこで、このような課題を解決するために、自分たちで組込機器用基板をオープンに開発していこうという流れになったのです。これが、前述した「MozOpenHardware」というプロジェクトになります。
この詳細について語ると長くなってしまうので、次回とさせていただきます。ご興味のある方は是非とも覗いてみてください。