2012/09/02

NFP ?

知らない方がよかったのか?

昨日、Windows8でRC-S370は動かん、という記事を書いた。
そしたら「SNEPはPC/SCじゃなくて、NFPだよ」と教えてもらった。

NFP ?
またMicrosoftが新しい用語を作りやがって・・・。
知ってしまったからには、少しは調べておかねば。


NFCは"Near Field Communication"の略だが、NFPは"Near Field Proximity"の略らしい。
Proximityってのが、既に「近接、近傍」みたいなもんだから、「豚のとんかつ」みたいな印象を受けてしまうが、まあいいや。

ドキュメントは、ここ
私は、2012年2月28日版をダウンロードできた。
ドキュメントの部類としては"Networking"になるようだ。
まあ、無線通信だから、そうなのか。

関係あるか知らんが、こんなページもあった。
近接通信とタップのサポート (JavaScript と HTML を使った Metro スタイル アプリ)

 

このドキュメントは、以下の章からなっている。

  1. Tap and Do Scenarios and Use Cases
  2. NFP Provider Model
  3. NFP Device Driver Interface Definition and Requirements
  4. System Design & Implementation Guidelines
  5. Peripheral Wireless Device Design and Implementation Guidelines

60ページある・・・。
全部読む気にはならないので、つまみ食い程度に眺めよう。

Microsoftから見たNFCの分析、ともいえるので、ユースケースだけでも読んでおくと面白そうだ。


1. Tap and Do Scenarios and Use Cases

"Tap and Do"ってのが、MicrosoftのNFCアクションに対する名称らしい。
タッチアンドゴー、みたいなもんか。

シナリオ

Peripheral Wireless Device Setup

Tap and Doで周辺機器とのセットアップを済ませよう!かな。

Ad-Hoc Interaction in the Real World

PC間というかユーザ間というか装置間というか、そういったものの関係を作るトリガとしてTap and Doしようぜ!とかかな。。。
URLの交換とか、Wi-Fiとかでの画像交換とか。NFCだけで全部済ませようとはしていないようだ。

ユースケース

Tap and Doゼスチャー

  • Tap and Setup : 機器とのセットアップ
  • Tap and Reconnect : 再接続
  • Tap and Use : アプリとの接続
  • Tap and Launch : アプリ起動へ誘う
  • Tap and Acquire : アプリ取得へ誘う
  • Tap and Share : コンテンツの共有
  • Tap and Receive : 他のデバイスやポスターからコンテンツを受信

こういう分類をちゃんとやるのは、さすがですな。

ユースケースは、最終的には2つのカテゴリのうちどっちかになる、という。

  • Personal : システムだけしか関係しない
    • 人が関係しない
    • ユーザは直接Windowsシステムを操作する(タグ、カード、周辺機器など)
    • (うまく訳せぬ)ユーザはユースケースの完全な制御権を持つ。
  • Interpersonal : 2人のユーザが一緒にやる。最低でも片方はWindowsシステム。
    • 相手のユーザが必要
    • 相手はWindowsシステムか、モバイル電話。
    • お互いがユースケース実行のために協調して動く。デバイスを向かい合わせるとかも含めてね。

それぞれのユースケースについて詳細も書かれているが、めんどうなので省略。
例も書かれているので、NFCを使ったサービスを考えている人にはよさそう。

 

2. NFC Provider Model

NFC provider modelは、Windowsシステムでさっきのユースケースみたいなものを使うための共通項目(common surface)を提供する。

ここら辺から、NDEFという単語が出てくる。
NFCではNDEFを使う、という前提のようだ。
なおかつ、NFP providerは"Windows"をサポートする必要がある、と。例えば、

Windows.urn:contoso.com:t

のような。
NFC Forumでのサービス名は

urn:nfc:sn:<servicename>
urn:nfc:xsn:<domain>:<servicename>

というルールになっている(LLCP)。
urn(Uniform Resource Name)の標準というものもあるらしいが、私は詳しくない。
AndroidからSNEPできるというところから、これらはWindowsのプロトコルだけに適用されるんだろうけど、なんか、ねぇ。

urn:nfc:xsn:Windows:contoso.com:t

とかでよかったんじゃないの、と思ってしまう。

 

3. NFC Device Driver Interface Definition and Requirements

ここは、実装詳細だ。
GUIDとか、IOCTLとか。

WindowsのSNEPはPC/SCとは関係ない、ということだったから、ここもPC/SCとは関係ないのだろう。
ってことは、メーカーはNFP用に実装し直さないといけないと言うことか。

NDEF Protocolというのも、ここら辺に書かれている。
LLCPとかSNEPもここだ。
うーん、LLCPの実装までの実装はドライバがやってもいいと思うけど、SNEPはWindowsが自分でやってもよかったのでは。NDEFもドライバでやるからこうなったのかな?
詳細を読みきれていないから認識を間違ってるかもしれんし、そもそも私が実装するわけじゃないからいいんだけどね。

 

4. System Design & Implementation Guidelines

運用面の話なのかな。
Tap and Doのマークとか、アンテナはここに置け、とか。

5. Peripheral Wireless Device Design and Implementation Guidelines

ペアリングとかWindows8で使うNDEF詳細とか。
Bluetooth OOB(out of band)、なんてものもある。


urnにWindowsってのが出てきたところでテンションが下がってしまったが、だいたいこんなもんだ。

NFC Forumと共通の部分はOSではなくドライバ側でやりそうなので、きっとコンパチビリティテストみたいなものもMicrosoft側でやるんだろう。
やらないと、A社のR/Wではうまく動くけど、B社のでは動かないことがある、みたいな非互換性が出てきてしまうからな。

 

もうちょっとWindows色を薄くして、「みんなこうやろうぜ」みたいな方がよかったんじゃないかな、と個人的には思う。
Tap and Setupなんて規格化してしまうと今後はいいと思うけど、頭に「Windows」って付くと、ちょっとなぁ(くどい)。

私の英語ドキュメント読み違いであることを期待しよう。
きっと、やましたさんがうまいことやってくれるだろう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。