(57)【要約】【課題】情報機器間で簡易にネットワーク接続を指示するユーザ・インターフェース装置を提供する。【解決手段】ユーザが２台の機器を接続したいとき、各機器上の接続ボタンを同時に押下し且つ同時に押下操作を解除する。各機器からは接続ボタンの押下及び押下を解除したタイミングを含んだパケットがマルチキャスト送信される。パケットに含まれるタイミングを機器内に記録されているものと比較して、両機器は互いに正しく識別し合う。重複し合う接続要求を検出するので、スケーラビリティがある接続方法である。公開鍵の交換によりセキュアな接続を確立できる。【選択図】  図１
2004328093.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ通信装置が通信媒体を介してデータ通信を行なうデータ通信システムであって、
データ通信を行なうそれぞれの機器はユーザ操作を受容するユーザ・インターフェースを備え、前記ユーザ・インターフェースの一部に対するユーザ操作及びユーザ操作解除はネットワーク接続を指示する接続指示手段に割り当てられ、
通信相手となる双方の機器同士で互いの接続指示手段に対して同じタイミングでユーザ操作及びユーザ操作解除がなされたことに応答して、該ユーザ操作及びユーザ操作解除に関するタイミング情報を通信相手となる機器間で共有させるタイミング情報共有手段と、
同じユーザ操作及びユーザ操作解除に関するタイミング情報を共有する機器を前記通信媒体上で探索して通信相手を特定する探索手段と、
を具備することを特徴とするデータ通信システム。
【請求項２】
前記探索手段は、各機器において、ユーザ操作及びユーザ操作解除のタイミングを含んだ接続要求パケットを一斉送信するとともに、他の機器から受信した接続要求パケットからユーザ操作及びユーザ操作解除のタイミング情報を取り出し、自身が保持するユーザ操作及びユーザ操作解除のタイミング情報と比較し、両者が一致することにより機器間で識別し合う、
ことを特徴とする請求項１に記載のデータ通信システム。
【請求項３】
前記接続要求パケットには、ユーザ操作からユーザ操作解除までの時間間隔と送信元のネットワーク識別情報を含む、
ことを特徴とする請求項２に記載のデータ通信システム。
【請求項４】
前記接続要求パケットはさらにセキュアなネットワーク接続のために使用するキー情報を含む、
ことを特徴とする請求項３に記載のデータ通信システム。
【請求項５】
通信媒体を介してデータ通信を行なうデータ通信装置であって、
ユーザ操作を受容するユーザ・インターフェースと、
前記ユーザ・インターフェースの一部に割り当てられた、ユーザ操作及びユーザ操作解除はネットワーク接続を指示する接続指示手段と、
前記接続指示手段に対してユーザ操作及びユーザ操作解除がなされたことに応答して、該ユーザ操作及びユーザ操作解除に関するタイミング情報を記憶するタイミング情報記憶手段と、
同じユーザ操作及びユーザ操作解除に関するタイミング情報を共有する機器を前記通信媒体上で探索して通信相手を特定する探索手段と、
を具備することを特徴とするデータ通信装置。
【請求項６】
前記探索手段は、
前記接続指示手段に対するユーザ操作解除がなされたことに応答して、ユーザ操作及びユーザ操作解除のタイミング情報を含んだ接続要求パケットを一斉送信するパケット送信手段と、
前記接続指示手段に対するユーザ操作解除がなされてから所定時間内に他のデータ通信装置からの接続要求パケットを受信するパケット受信手段と、
他の機器から受信した接続要求パケットからユーザ操作及びユーザ操作解除に関するタイミング情報を取り出し、前記タイミング情報記憶手段に保持されているユーザ操作及びユーザ操作解除に関するタイミング情報と比較し、両者が一致することにより機器間で識別し合う通信相手識別手段と、
を備えることを特徴とする請求項５に記載のデータ通信装置。
【請求項７】
前記接続要求パケットは、自己のネットワーク識別情報とユーザ操作からユーザ操作解除までの時間間隔を含む、
ことを特徴とする請求項６に記載のデータ通信装置。
【請求項８】
前記通信相手識別手段は、自装置上で前記接続指示手段へのユーザ操作が解除された時点から接続要求パケットを受信した時点までの時間の差が所定の誤差限界値未満であるか、及び、前記タイミング情報記憶手段に保持されている前記接続指示手段をユーザ操作してから該ユーザ操作が解除されるまでの時間間隔と受信した接続要求パケットに含まれる該当時間間隔との差が誤差限界値であるかどうかを判別することによって、接続要求パケットの送信元が通信相手であるかどうかを識別する、
ことを特徴とする請求項６に記載のデータ通信装置。
【請求項９】
前記接続指示手段に対するユーザ操作が通常のユーザ・インターフェース操作を逸脱する場合には、ネットワーク接続要求として処理される、
ことを特徴とする請求項５に記載のデータ通信装置。
【請求項１０】
前記接続指示手段に対するユーザ操作からユーザ装置解除までの時間間隔が所定値以下の場合は通常のインターフェース操作として処理され、該所定値を越える場合はネットワーク接続要求として処理される、
ことを特徴とする請求項５に記載のデータ通信装置。
【請求項１１】
前記接続指示手段に対するユーザ操作解除がなされてから所定時間内に２又はそれ以上の接続要求パケットが到着したことに応答して衝突を検出する衝突検出手段をさらに備える、
ことを特徴とする請求項５に記載のデータ通信装置。
【請求項１２】
衝突を検出したことに応答して、ユーザに対して前記接続指示手段の再操作を要求する接続要求再試行手段をさらに備える、
ことを特徴とする請求項１１に記載のデータ通信装置。
【請求項１３】
衝突検出時に受信した各接続要求パケットに含まれるネットワーク識別情報をすべて記憶し、前記接続要求の再試行時には該記憶しているネットワーク識別情報を持つ送信元からの接続要求パケットのみを受容する、
ことを特徴とする請求項１２に記載のデータ通信装置。
【請求項１４】
公開鍵暗号方式の公開鍵を生成する手段をさらに備え、
前記パケット送信手段は、接続要求パケットに公開鍵を含めて送信する、
ことを特徴とする請求項６に記載のデータ通信装置。
【請求項１５】
前記通信相手識別手段により通信相手を識別したことに応じて、ユーザに所定のフィードバックを与える手段をさらに備える、
ことを特徴とする請求項５に記載のデータ通信装置。
【請求項１６】
通信媒体を介してデータ通信を行なうデータ通信方法であって、
一部のユーザ・インターフェースに対するユーザ操作及びユーザ操作解除によってネットワーク接続を指示する接続指示ステップと、
前記接続指示におけるユーザ操作及びユーザ操作解除に関するタイミング情報を記憶するタイミング情報記憶ステップと、
同じユーザ操作及びユーザ操作解除に関するタイミング情報を共有する機器を前記通信媒体上で探索して通信相手を特定する探索ステップと、
を具備することを特徴とするデータ通信方法。
【請求項１７】
情報機器間の接続を確立する接続確立方法であって、
第１の情報機器の操作に用いる操作部に対し第１の物理的操作が行なわれた第１の時間と、前記操作部に対し第２の物理的操作が行なわれた第２の時間との差分からなる第１の時間差を取得するステップと、
第２の情報機器上で生成された、前記第１の時間に対応する第３の時間と、前記第２の時間に対応する第４の時間との差分からなる第２の時間差を取得するステップと、
前記第１及び第２の時間差に基づいて前記第１及び第２の情報機器間の接続を確立するステップとを備え、
前記第１及び第２の物理的操作はユーザが前記操作部に対し一連の動作で行なうことができる、
ことを特徴とする接続確立方法。
【請求項１８】
前記第２の機器により受信可能な方法で暗号鍵を生成するための第１の種情報を送出するステップ、及び／又は前記第２の情報機器により送出された暗号鍵生成のための第２の種情報を取得するステップと、
前記接続の確立後に、前記暗号鍵に基づく暗号処理を用いて通信を行なうステップと、
をさらに備えることを特徴とする請求項１７に記載の接続確立方法。
【請求項１９】
情報機器間の接続を確立する接続確立方法であって、
第１の情報機器の操作に用いる操作部に対し第１の物理的操作が行なわれた第１の時間を取得するステップと、
前記操作部に対し第２の物理的操作が行なわれた第２の時間を取得するステップと、
第２の情報機器上で生成された、前記第１及び第２の時間に対応する第３及び第４の時間を取得するステップと、
前記第１乃至第４の時間に基づいて前記第１及び第２の情報機器間の接続を確立するステップとを備え、
前記第１及び第２の物理的操作はユーザが前記操作部に対し一連の動作で行なうことができる、
ことを特徴とする接続確立方法。
【請求項２０】
他の情報機器との間で接続を確立する接続確立装置であって、
ユーザが物理的操作を印加する操作部と、
前記操作部に対し第１の物理的操作が行なわれた第１の時間と、前記操作部に対し第２の物理的操作が行なわれた第２の時間との差分からなる第１の時間差を取得する手段と、
接続先となる情報機器上で生成された、前記第１の時間に対応する第３の時間と、前記第２の時間に対応する第４の時間との差分からなる第２の時間差を取得する手段と、
前記第１及び第２の時間差に基づいて前記第１及び第２の情報機器間の接続を確立する手段とを備え、
前記第１及び第２の物理的操作はユーザが前記操作部に対し一連の動作で行なうことができる、
ことを特徴とする接続確立装置。
【請求項２１】
情報機器間の接続を確立する接続確立システムであって、
第１の情報機器の操作に用いる操作部に対し第１の物理的操作が行なわれた第１の時間と、前記操作部に対し第２の物理的操作が行なわれた第２の時間との差分からなる第１の時間差を取得する手段と、
第２の情報機器上で生成された、前記第１の時間に対応する第３の時間と、前記第２の時間に対応する第４の時間との差分からなる第２の時間差を取得する手段と、
前記第１及び第２の時間差に基づいて前記第１及び第２の情報機器間の接続を確立するステップとを備え、
前記第１及び第２の物理的操作はユーザが前記操作部に対し一連の動作で行なうことができる、
ことを特徴とする接続確立システム。
【請求項２２】
他の情報機器との間で接続を確立するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
機器上に装備された操作部に対し第１の物理的操作が行なわれた第１の時間と、前記操作部に対し第２の物理的操作が行なわれた第２の時間との差分からなる第１の時間差を取得するステップと、
接続先となる情報機器上で生成された、前記第１の時間に対応する第３の時間と、前記第２の時間に対応する第４の時間との差分からなる第２の時間差を取得するステップと、
前記第１及び第２の時間差に基づいて前記第１及び第２の情報機器間の接続を確立するステップとを備え、
前記第１及び第２の物理的操作はユーザが前記操作部に対し一連の動作で行なうことができる、
ことを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信媒体上の識別情報が判らない通信相手とデータ通信を行なうデータ通信システム、データ通信装置及びデータ通信方法、接続確立方法及び接続確立装置、接続確立システム、並びにコンピュータ・プログラムに係り、特に、目の前に居るなど実世界上の所在は明確であるが通信媒体上の識別情報が判らない通信相手と情報機器間で簡易で直接的なネットワーク接続の指示により接続を確立するデータ通信システム、データ通信装置及びデータ通信方法、接続確立方法及び接続確立装置、接続確立システム、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、ネットワーク構成が複雑でダイナミックに変化する通信環境下で、情報機器間で簡易で直感的・直接的なユーザ・インターフェース操作によりセキュアなネットワーク接続を確立するデータ通信システム、データ通信装置及びデータ通信方法、接続確立方法及び接続確立装置、接続確立システム、並びにコンピュータ・プログラムに係り、特に、キーボードなどの一般的なユーザ・インターフェースを利用してスケーラビリティのあるネットワーク接続を行なうデータ通信システム、データ通信装置及びデータ通信方法、接続確立方法及び接続確立装置、接続確立システム、並びにコンピュータ・プログラムに関する。
【０００３】
【従来の技術】
情報処理技術や情報通信技術が高度に発達した現代においては、パーソナル・コンピュータ（ＰＣ）や携帯情報端末をはじめとする情報機器がオフィスや家庭内などの実世界上の至るところに遍在する。このような環境下では、機器同士を接続して、いつでもどこでも欲しい情報を入手できるようにする「ユビキタス（Ｕｂｉｑｕｉｔｏｕｓ）・コンピューティング」の実現が期待される。
【０００４】
例えば、ＰＣやプリンタ、ＴＶ、ビデオ・レコーダ、デジタル・カメラ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話、電話機、ゲーム機、さらにはマウスやキーボード、ヘッドセットを始めとする入出力機器などをネットワークに接続して使用することが一般的となってきている。ネットワークの媒体としては、例えば有線（Ｅｔｈｅｒｎｅｔ（登録商標）や電源線などのネットワーク）や無線（ＩＥＥＥ８０２．１１など）が混在して利用されている。
【０００５】
ユビキタス・コンピューティングの概念は、人がどこに移動しても利用できるコンピュータの環境が同じであることである。すなわち、「いつでもどこでも」なのだから、究極のユビキタス・コンピューティングは、必ずしも情報端末を必ずしも必要とはしない。
【０００６】
しかしながら、ネットワーク上でデータ転送先となるコンピュータや周辺機器（すなわちターゲット）を指定したり、あるいは実世界上のオブジェクトに関連した情報を入手したりしようとすると、すぐ目の前にある相手であっても、その名前（若しくは、機器固有のＩＤやネットワーク・アドレス、ホスト・ネーム、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）などの資源識別情報）を知る必要がある。すなわち、ユーザ操作に関して言えば、間接的な形式でしかコンピュータ間の連携がなされておらず、煩雑で直感性にやや欠ける。言い換えれば、ユーザが正しくネットワーク接続を確立することができる直感的なユーザ・インターフェースを提供することが肝要である。
【０００７】
最近では、任意の端末同士が直接非同期の無線通信を行なうことができるアドホック（Ａｄ−ｈｏｃ）通信が脚光を浴びている。例えば、以下のような場合にアドホック通信が採用される。
【０００８】
（１）ＰＤＡなどの情報端末内のドキュメントをユーザの目の前にあるプリンタでハードコピー出力する。
（２）会議室のスクリーン上でプレゼンテーション資料を表示する。発表者のノートブック・コンピュータからプレゼンテーション用コンピュータへ無線ネットワーク経由でデータ伝送する。
（３）ＰＤＡが目の前のテレビ受像機のリモコンとなる。
（４）ホットスポット（Ｈｏｔｓｐｏｔ）などの公共ワイヤレス・サービスで、仲間内でファイル転送し合う。但し、データ伝送路がセキュアであることが望ましい。
【０００９】
一般に、各機器は自身を特定するために、固有のＩＰアドレスやマシン名を使用する。ところが、ネットワーク構成が複雑でダイナミックに変化するような通信環境下では、アドレス・ベースで通信相手（ｔａｒｇｅｔ）を指定する方法は効率的でない。例えば、プリンタなどのターゲット装置のＩＰアドレスを逐次調べるのは煩わしい。また最近では、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を始めとしてネットワーク・アドレスを装置に自動的に割り当てる機構が普及してきているが、通信相手を識別するという上記の観点からはユーザにとってさらに状況が複雑化してくる。
【００１０】
例えば、物理的なアクションを利用して近接する機器間の接続を試みるシステムについて幾つかの提案がなされている（例えば、非特許文献１、非特許文献２、非特許文献３を参照のこと）。しかしながら、これらのシステムは、ＲＦＩＤ（無線周波数識別）タグや、赤外線ビーム、バーコードなどの認識センサを新たに装備する必要がある。すなわち、これらのセンサを搭載することができないような機器においては、効果的な手法とは言い難い。
【００１１】
最近では、例えば「ケイトのパソコン」や「コピー室のプリンタ」といった理解し易い名前を用いてネットワーク上の資源にアクセスする手法について提案がなされている（例えば、非特許文献４を参照のこと）。この場合、ユーザは、メニュー・アイテムを選択することによって、通信相手を指定することができる。しかしながら、膨大な名前のリストを保守するための膨大な手間が必要である。
【００１２】
また、この手法は、ワイヤレス・ヘッドセットのようなディスプレイ・スクリーンやＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）環境下での選択機能を装備しないようなデジタル機器と共存することはできない。
【００１３】
【非特許文献１】
Ｗａｎｔ，  Ｒ．他著“Ｂｒｉｄｇｉｎｇ  ｐｈｙｓｉｃａｌ  ａｎｄ  ｖｉｒｔｕａｌ  ｗｏｒｌｄｓ  ｗｉｔｈ  ｅｌｅｃｔｒｏｎｉｃ  ｔａｇｓ”（Ｉｎ：  ＣＨＩ’９９  Ｐｒｏｃｅｅｄｉｎｇｓ．  （１９９９）  ｐｐ．３７０−３７７）
【非特許文献２】
暦本他著“Ａｕｇｍｅｎｔｅｄ  Ｓｕｒｆａｃｅ：  Ａ  ｓｐａｔｉａｌｌｙ  ｃｏｎｔｉｎｕｏｕｓ  ｗｏｒｋｓｐａｃｅ  ｆｏｒ  ｈｙｂｒｉｄ  ｃｏｍｐｕｔｉｎｇ  ｅｎｖｉｒｏｎｍｅｎｔ”（Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＣＨＩ’９９．  （１９９９）  ｐｐ．３７８−３８５）
【非特許文献３】
Ｓｗｉｎｄｅｌｌｓ，  Ｃ．他著“Ｔｈａｔ  ｏｎｅ  ｔｈｅｒｅ！  Ｐｏｉｎｔｉｎｇ  ｔｏ  ｅｓｔａｂｌｉｓｈ  ｄｅｖｉｃｅ  ｉｄｅｎｔｉｔｙ．”（Ｉｎ：  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｏｆｔｗａｒｅ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ  （ＵＩＳＴ’０２）．  （２００２）  ｐｐ．１５１−１６０）
【非特許文献４】
Ｚｅｒｏ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｎｅｔｗｏｒｋｉｎｇ：  （ｈｔｔｐ：／／ｗｗｗ．ｚｅｒｏｃｏｎｆ．ｏｒｇ）
【００１４】
【発明が解決しようとする課題】
本発明の目的は、目の前に居るなど実世界上の所在は明確であるが通信媒体上の識別情報が判らない通信相手と情報機器間で簡易で直接的なネットワーク接続の指示により接続を確立することができる、優れたデータ通信システム、データ通信装置及びデータ通信方法、接続確立方法及び接続確立装置、接続確立システム、並びにコンピュータ・プログラムを提供することにある。
【００１５】
本発明のさらなる目的は、ネットワーク構成が複雑でダイナミックに変化する通信環境下で、簡易で直感的・直接的なユーザ・インターフェース操作により情報機器間のセキュアなネットワーク接続を確立することができる、優れたデータ通信システム、データ通信装置及びデータ通信方法、接続確立方法及び接続確立装置、接続確立システム、並びにコンピュータ・プログラムを提供することにある。
【００１６】
本発明のさらなる目的は、キーボードなどの一般的なユーザ・インターフェースを利用してスケーラビリティのあるネットワーク接続を行なうことができる、優れたデータ通信システム、データ通信装置及びデータ通信方法、接続確立方法及び接続確立装置、接続確立システム、並びにコンピュータ・プログラムを提供することにある。
【００１７】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、複数のデータ通信装置が通信媒体を介してデータ通信を行なうデータ通信システムであって、
データ通信を行なう機器はユーザ操作を受容するユーザ・インターフェースを備え、前記ユーザ・インターフェースの一部に対するユーザ操作及びユーザ操作解除はネットワーク接続を指示する接続指示手段に割り当てられ、
通信相手となる双方の機器同士で互いの接続指示手段に対して同じタイミングでユーザ操作及びユーザ操作解除がなされたことに応答して、該ユーザ操作及びユーザ操作解除に関するタイミング情報を通信相手となる機器間で共有させるタイミング情報共有手段と、
同じユーザ操作及びユーザ操作解除に関するタイミング情報を共有する機器を前記通信媒体上で探索して通信相手を特定する探索手段と、
を具備することを特徴とするデータ通信システムである。
【００１８】
但し、ここで言う「システム」とは、複数の装置（又は特定の機能を実現する機能モジュール）が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【００１９】
第１の情報機器と第２の情報機器間の接続を確立することを考えた場合、第１の情報機器側では、そのユーザ・インターフェースに対する第１回目のユーザ操作が行なわれた第１の時間と、第２回目のユーザ操作が行なわれた第２の時間との差分からなる第１の時間差が取得される。同様に、第２の情報機器側では、そのユーザ・インターフェースに対する第１回目のユーザ操作が行なわれた第３の時間と、第２回目のユーザ操作が行なわれた第４の時間との差分からなる第２の時間差が取得される。
【００２０】
第１及び第２の情報機器のユーザ・インターフェースに対してそれぞれ印加される物理的なユーザ操作は、ユーザが一連の動作で行なうことから、ある程度の誤差は含まれるものの同時性があり、第１及び第２の情報機器間で共有されるタイミング情報である。したがって、第１及び第２の時間差に基づいて前記第１及び第２の情報機器間の接続を確立することができる。
【００２１】
すなわち、前記探索手段は、各機器において、ユーザ操作及びユーザ操作解除のタイミングを含んだ接続要求パケットを一斉送信するとともに、他の機器から受信した接続要求パケットからユーザ操作及びユーザ操作解除に関するタイミング情報を取り出し、自身が保持するユーザ操作及びユーザ操作解除のタイミング情報と比較し、両者が一致することにより機器間で識別し合うことができる。
【００２２】
本発明によれば、ユーザが特定の機器間でネットワーク接続を確立したいと思ったとき、双方の機器において接続要求に割り当てられたユーザ・インターフェースすなわちＳｙｎｃＴａｐボタンを同時に押下操作するとともに同時に押下を解除すればよい。このようなユーザ操作を同期的に行ない互いにそのタイミングをチェックすることにより、互いを識別し合い、ネットワーク接続を開始することができる。すなわち、情報機器間で簡易で直感的・直接的なユーザ・インターフェース操作によりネットワーク接続を確立することができる。
【００２３】
前記接続要求パケットには、例えば、自己のネットワーク識別情報とユーザ操作からユーザ操作解除までの時間間隔を含まれる。
【００２４】
このような場合、タイミング情報の比較により通信相手の識別を行なうことができる。すなわち、前記通信相手識別手段は、自装置上で前記接続指示手段へのユーザ操作が解除された時点から接続要求パケットを受信した時点までの時間の差が所定の誤差限界値未満であるか、及び、前記タイミング情報記憶手段に保持されている前記接続指示手段をユーザ操作してから該ユーザ操作が解除されるまでの時間間隔と受信した接続要求パケットに含まれる該当時間間隔との差が誤差限界値であるかどうかを判別することによって、接続要求パケットの送信元が通信相手であるかどうかを識別することができる。
【００２５】
このような通信相手の識別方法では、各機器において管理されている時間情報の相違により通信相手を識別し、各機器における計時時刻そのものを使用していないことから、機器間でシステム・タイマが同期している必要は全くない。
【００２６】
また、接続しようとする２台の機器間で、前記接続指示手段をユーザ操作した時刻とユーザ操作を解除した時刻の２回で同時性を計測することにより、第３者との間で全く同時となる確率を充分に低くしている。
【００２７】
前記接続指示手段は、キーボードのような一般的なユーザ・インターフェース上の一部の指示手段に割り当てられる。前記接続指示手段に対するユーザ操作が、通常のユーザ・インターフェース操作、又はネットワーク接続要求のいずれであるかを判別しなければならない。例えば、通常のユーザ・インターフェース操作を逸脱する場合には、ネットワーク接続要求として処理される。
【００２８】
前記接続指示手段は、例えばキーボード上のＥｓｃキーを活用することができる。そして、前記接続指示手段に対するユーザ操作からユーザ装置解除までの時間間隔が所定値以下の場合は通常のインターフェース操作として処理され、該所定値を越える場合はネットワーク接続要求として処理される。
【００２９】
ＳｈｉｆｔキーをＳｙｎｃＴａｐボタンに割り当てた場合も同様である。他のいずれのキーとも組み合わせることなく、Ｓｈｉｆｔキーが押下されさらに押下が解除された場合、ＳｙｎｃＴａｐボタンの操作として処理される。それ以外の場合には通常のＳｈｉｆｔキー操作として処理される。
【００３０】
また、本発明に係るデータ通信装置は、前記接続指示手段に対するユーザ操作解除がなされてから所定時間内に２又はそれ以上の接続要求パケットが到着したことに応答して衝突を検出する衝突検出手段をさらに備えてもよい。
【００３１】
また、衝突を検出したことに応答して、ユーザに対して前記接続指示手段の再操作を要求する接続要求再試行手段をさらに備えてもよい。
【００３２】
衝突検出時に受信した各接続要求パケットに含まれるネットワーク識別情報をすべて記憶し、前記接続要求の再試行時には該記憶しているネットワーク識別情報を持つ送信元からの接続要求パケットのみを受容するようにしてもよい。
【００３３】
このような衝突検出・衝突回避方法によれば、他のネットワーク接続確立オペレーションとの衝突のために１回目のＳｙｎｃＴａｐオペレーションが失敗したとしても、２回目の試行時には、接続先の候補が既に大幅に削減されているので、ほとんど衝突なし（ｃｏｌｌｉｓｉｏｎ  ｆｒｅｅ）の状況となる。したがって、本発明に係るネットワーク接続方式にはスケーラビリティがあり、１つのＬＡＮセグメント上で数多のデータ通信装置がひしめき合うような通信環境にも適用することができる。
【００３４】
また、データ通信装置は、公開鍵暗号方式の公開鍵を生成する手段をさらに備え、前記パケット送信手段は、接続要求パケットに公開鍵を含めて送信するようにしてもよい。
【００３５】
このような場合、前記第２の機器により受信可能な方法で暗号鍵生成のための第１の種情報を送出し、あるいは前記第２の情報機器により送出された暗号鍵生成のための第２の種情報を取得し、接続の確立後に、種情報に基づいて暗号鍵を生成し、暗号鍵に基づく暗号処理を用いて通信を行なう。
【００３６】
すなわち、通信相手との間で公開鍵を交換し合い、これら公開鍵を暗号化通信に用いられる共用秘密セッション鍵を計算するために使用することができる。ここで言う公開鍵は、例えば、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ方式の公開鍵である。
【００３７】
Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎアルゴリズムは、一般に、”ｍａｎ−ｉｎ−ｔｈｅ−ｍｉｄｄｌｅ”（誰でも勝手に接続できる）問題を解決するため、通信路の端点を立証する付加的な手法を必要とする。これに対し、本発明に係るネットワーク接続方式を利用した場合、”ｍａｎ−ｉｎ−ｔｈｅ−ｍｉｄｄｌｅ”すなわち第三者が勝手に介在するためには、すべてのマルチキャスト・パケットを妨げ、これらに代えてなりすましのパケットを伝送しなければならないので、不正が著しく困難となる。
【００３８】
また、データ通信装置は、前記通信相手識別手段により通信相手を識別したことに応じて、ユーザに対して何らかのフィードバックを与える手段をさらに備えてもよい。
【００３９】
本発明に係るネットワーク接続方式は、近接する（すなわちユーザの両手が届く）機器間の接続に利用されるので、それぞれの機器は、ネットワーク接続に関して瞬時のフィードバックを容易に行なうことができる。例えば、ディスプレイ・スクリーン上にメッセージ・ウィンドウをポップアップ表示したり、ＬＥＤインジケータを点滅させたりして、ユーザにフィードバックを与えるようにする。これによって、隠れたｍａｎ−ｉｎ−ｔｈｅ−ｍｉｄｄｌｅホストを容易に検出することができるので、簡易な公開鍵交換方法であっても現実的な通信環境下で十分な信頼性を得ることができる。
【００４０】
また、本発明の第２の側面は、他の情報機器との間で接続を確立するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
機器上に装備された操作部に対し第１の物理的操作が行なわれた第１の時間と、前記操作部に対し第２の物理的操作が行なわれた第２の時間との差分からなる第１の時間差を取得するステップと、
接続先となる情報機器上で生成された、前記第１の時間に対応する第３の時間と、前記第２の時間に対応する第４の時間との差分からなる第２の時間差を取得するステップと、
前記第１及び第２の時間差に基づいて前記第１及び第２の情報機器間の接続を確立するステップとを備え、
前記第１及び第２の物理的操作はユーザが前記操作部に対し一連の動作で行なうことができる、
ことを特徴とするコンピュータ・プログラムである。
【００４１】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１の側面に係るデータ通信システムと同様の作用効果を得ることができる。
【００４２】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００４３】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００４４】
ＰＣやプリンタ、ＴＶ、ビデオ・レコーダ、デジタル・カメラ、ＰＤＡ、携帯電話、電話機、ゲーム機、さらにはマウスやキーボード、ヘッドセットを始めとする入出力機器などをネットワークに接続して使用することが一般的となってきている。他方、ネットワーク構成の複雑化により、ネットワーク・アドレスで通信相手を指定するのは煩雑な作業となる。このようなユビキタス環境下では、ユーザが通信相手をより直接的に指定することができる方法が望ましい。
【００４５】
例えば、ＩｒＤＡのような赤外線通信インターフェースを用いて機器間でＩＰアドレスを通信するという方法も考えられる。本出願人に既に譲渡されている特開２００２−２０４２３９号公報には、接続する２者間だけで通信を行なえる別の手段（例えばＲＦＩＤタグなど）を併用し、このような通信手段を無線接続を確立するための最初の情報交換手段として用いる装置について開示されている（当該公開公報の内容は本明細書に組み込まれるものとする）。この場合、ユーザは、一方の情報機器からの赤外線ビームをターゲットとなる他方の機器に向ける。これがトリガとなって、機器間の無線通信が起動する。そして、セキュアなネットワーク接続を確立するためには、赤外線ビーム内にｏｎｅ−ｔｉｍｅセッション・キーを含ませればよい。但し、この方法を実現するためには、すべての機器に赤外線送受信機を遍く搭載しなければならず、言い換えれば、通用しないこともある。
【００４６】
本明細書では、通常の機器が最低限備えるハードウェア構成要素又はセンサを用いて、より簡素で直感的・直接的なユーザ操作に従って特定の機器間でネットワーク接続を確立する方法について開示する。
【００４７】
機器は少なくとも１つのボタンを備えているものと仮定する。これは、キーボードやキーパッドのような、一般的な情報機器が備えるユーザ・インターフェースでよい。この１つのボタンを、ネットワーク接続を指示するボタン（以下では、「ＳｙｎｃＴａｐ」とも呼ぶ）に割り当てる。
【００４８】
ユーザが特定の機器間でネットワーク接続を確立したいと思ったとき、双方の機器のＳｙｎｃＴａｐボタンを同時に押下操作するとともに同時に押下を解除する。このようなユーザ操作を同期的に行ない互いにそのタイミングをチェックすることにより、互いを識別し合い、ネットワーク接続を開始することができる。
【００４９】
勿論、ＳｙｎｃＴａｐボタンは他の用途に使用してもよい。例えば、パーソナル・コンピュータに装備されているキーボード上の１つのキーをＳｙｎｃＴａｐボタンとして割り当てた場合、本来のキー・ファンクションを無視することはない（後述）。
【００５０】
Ａ．システム構成
図１には、本発明に係るデータ通信システムの基本構成を模式的に示している。同図に示す例では、通信相手となる２台のデータ通信装置Ａ及びＢが、ネットワークを介して相互接続されている。それぞれのデータ通信装置Ａ及びＢは、互いの目の前に居て、ＳｙｎｃＴａｐボタンの押下操作及び押下操作の解除タイミングを共有することができる。但し、各データ通信装置は、互いのネットワーク識別情報（ＩＰアドレスなど）をまったく知らないものとする。
【００５１】
ある時刻において、ユーザは、データ通信装置Ａとデータ通信装置Ｂの間でネットワーク接続を行ないたいとする。このとき、ユーザは、双方の機器のＳｙｎｃＴａｐボタンを同時に押下操作するとともに同時に押下を解除する（図１（ａ）を参照のこと）。
【００５２】
このような場合、データ通信装置Ａ及びＢは、同じＳｙｎｃＴａｐボタンの押下及び押下解除のタイミングを共有することができる（図１（ｂ）を参照のこと）。ここで、データ通信装置Ａ及びＢは、それぞれのシステム・タイマで計時したＳｙｎｃＴａｐボタンの押下及び押下解除のタイミングの時刻を逐次的に記憶しておく。
【００５３】
その後、各データ通信装置は、同じＳｙｎｃＴａｐボタンの押下及び押下解除のタイミングを共有する機器をネットワーク上で探索することにより、ユーザが指定した通信相手を識別することができる。より具体的には、データ通信装置Ａ又はデータ通信装置Ｂの双方（あるいはいずれか一方）は、自身が記憶しているＳｙｎｃＴａｐボタンの押下及び押下解除に関するタイミング情報を含んだネットワーク接続要求（問い合わせ）パケットをネットワーク上でマルチキャスト送信することで、所望の通信相手を探し出すことができる（図１（ｃ）を参照のこと）。勿論、マルチキャスト以外の通信方式によって、通信相手を探索するようにしてもよい。
【００５４】
このような通信相手の探索作業は、ユーザが双方のデータ通信装置のＳｎｔｃＴａｐボタンを同時操作した直後から開始することができる。（勿論、相当期間が経過した後であってもＳｙｎｃＴａｐボタンの押下及び押下解除のタイミングが保存されている間であれば、いつ実行してもよいように構成することもできるが、この点については本明細書中では説明を省略する。）
【００５５】
図２には、本実施形態に係るデータ通信システムにおいて動作することができるデータ通信装置のハードウェア構成の一例を示している。
【００５６】
システム１００のメイン・コントローラであるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、オペレーティング・システム（ＯＳ）の制御下で、各種のアプリケーションを実行する。ＣＰＵ１０１は、例えば、通信アプリケーションや、ＳｙｎｃＴａｐボタンに対するユーザ操作の観測及び保持、ＳｙｎｃＴａｐボタンに対するユーザ情報を共有する通信相手の探索などを行なうアプリケーション・プログラムを実行することができる。図示の通り、ＣＰＵ１０１は、バス１０８によって他の機器類（後述）と相互接続されている。
【００５７】
メモリ１０２は、ＣＰＵ１０１において実行されるプログラム・コードを格納したり、実行中の作業データを一時保管したりするために使用される記憶装置である。同図に示すメモリ１０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの不揮発性メモリ及びＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）などの揮発性メモリの双方を含むものと理解されたい。
【００５８】
ディスプレイ・コントローラ１０３は、ＣＰＵ１０１が発行する描画命令を実際に処理するための専用コントローラである。ディスプレイ・コントローラ１０３において処理された描画データは、例えばフレーム・バッファ（図示しない）に一旦書き込まれた後、ディスプレイ１１１によって画面出力される。
【００５９】
入力機器インターフェース１０４は、キーボード１１２やマウス１１３などのユーザ入力機器をコンピュータ・システム１００に接続するための装置である。
【００６０】
本実施形態では、キーボード１１２又はその他のユーザ・インターフェース装置の一部は、ＳｙｎｃＴａｐボタンに割り当てられている。ユーザが特定の機器間でネットワーク接続を確立したいと思ったとき、双方の機器のＳｙｎｃＴａｐボタンを同時に押下操作するとともに同時に押下を解除する。勿論、ＳｙｎｃＴａｐボタンは他の用途に使用してもよい。例えば、キーボード１１２上の１つのキーをＳｙｎｃＴａｐボタンとして割り当てた場合、本来のキー・ファンクションを無視することはない。
【００６１】
ネットワーク・インターフェース１０５は、Ｅｔｈｅｒｎｅｔ（登録商標）などの所定の通信プロトコルに従って、システム１００をＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークに接続することができる。本実施形態では、データ通信装置１００は、ネットワーク・インターフェース１０５を介してネットワーク接続要求（マルチキャスト・パケット）を送信したり、他のデータ通信装置とのネットワーク接続を確立することができる。
【００６２】
外部機器インターフェース１０７は、ハード・ディスク・ドライブ（ＨＤＤ）１１４やメディア・ドライブ１１５などの外部装置をシステム１００に接続するための装置である。
【００６３】
ＨＤＤ１１４は、記憶担体としての磁気ディスクを固定的に搭載した外部記憶装置であり（周知）、記憶容量やデータ転送速度などの点で他の外部記憶装置よりも優れている。ソフトウェア・プログラムを実行可能な状態でＨＤＤ１１４上に置くことをプログラムのシステムへの「インストール」と呼ぶ。ＨＤＤ１１４には、例えばＣＰＵ１０１が実行すべきオペレーティング・システムのプログラム・コードや、アプリケーション・プログラム、デバイス・ドライバなどが不揮発的に格納されている。例えば、ＳｙｎｃＴａｐボタンに対するユーザ操作の観測及び保持、ＳｙｎｃＴａｐボタンに対するユーザ情報を共有する通信相手の探索などを行なうアプリケーション・プログラムがＨＤＤ１１４上にインストールされている。
【００６４】
また、メディア・ドライブ１１５は、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）やＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの可搬型メディアを装填して、そのデータ記録面にアクセスするための装置である。可搬型メディアは、データやプログラムの装置間での移動に使用される。例えば、ＳｙｎｃＴａｐボタンに対するユーザ操作の観測及び保持、ＳｙｎｃＴａｐボタンに対するユーザ情報を共有する通信相手の探索などを行なうアプリケーション・プログラムを、可搬方メディアを媒介にしてデータ通信装置１００にインストールすることができる。
【００６５】
なお、図２に示すようなデータ通信装置１００の一例は、米ＩＢＭ社のパーソナル・コンピュータ”ＰＣ／ＡＴ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ／Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ）”の互換機又は後継機などのパーソナル・コンピュータである。勿論、他のアーキテクチャを備えた情報処理端末、例えばＰＤＡや携帯電話機、デジタル・カメラなどの情報機器や、テレビ受像機やＡＶ録画再生装置などの情報家電を、本実施形態に係るデータ通信装置１００として適用することも可能である。
【００６６】
Ｂ．ＳｙｎｃＴａｐオペレーションによるネットワーク接続
図１に示したようなＳｙｎｃＴａｐボタン操作に基づくネットワーク接続のメカニズムは、極めて簡素に構成することができる。例えば、ノートブック・コンピュータとデジタル・カメラをネットワーク接続したい場合、ユーザはこれらの機器上に設けられたＳｙｎｃｔａｐボタンを同時に押下操作し、さらに同時に押下を解除するだけでよい。ＳｙｎｃＴａｐボタンが解除されたことに応答して、双方のデータ通信装置は、以下の情報を含んだＵＤＰパケットをマルチキャスト送信する。
【００６７】
▲１▼ＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔
▲２▼送信元のＩＰアドレス
▲３▼セキュアなネットワーク接続のために使用される公開鍵情報（オプション）
【００６８】
接続を行なう一方の情報機器側では、そのユーザ・インターフェースに対する第１回目のユーザ操作が行なわれた第１の時間と、第２回目のユーザ操作が行なわれた第２の時間との差分からなる第１の時間差が取得される。同様に、接続を行なう他方の情報機器側では、そのユーザ・インターフェースに対する第１回目のユーザ操作が行なわれた第３の時間と、第２回目のユーザ操作が行なわれた第４の時間との差分からなる第２の時間差が取得される。そして、それぞれの情報機器のユーザ・インターフェースに対してそれぞれ印加される物理的なユーザ操作は、ユーザが一連の動作で行なうことから、ある程度の誤差は含まれるものの同時性があり、第１及び第２の情報機器間で共有されるタイミング情報である。したがって、第１及び第２の時間差に基づいて情報機器間の接続を確立することができる。
【００６９】
ここで、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）とともに、インターネット標準のトランスポート層プロトコルとして当業界で広く知られている。ＴＣＰではセッションを確立してから通信を開始するのに対し、ＵＤＰではセッションの確率なしにデータを宛先に送り出す。ＵＤＰパケット伝送によれば、プロトコル処理が高速であるが、誤り訂正や再送の機能を持たない。
【００７０】
このようなＵＤＰパケットをマルチキャスト送信することにより、周辺のすべての機器（ユーザがＳｙｎｃＴａｐボタンを操作した機器に限定されない）は、特定のＵＤＰポートで受信処理して、マルチキャスト・パケットを受信することができる。そして、ＳｎｙｃＴａｐボタンがユーザ操作された双方の機器では、パケットを受信すると、自身が保持するＳｎｙｃＴａｐボタンのユーザ操作に関するタイミング情報と、パケットに含まれるＳｎｙｃＴａｐボタンのユーザ操作に関するタイミング情報とを比較し、自身へのネットワーク接続要求かどうかを判別する。
【００７１】
図３には、本実施形態に係るデータ通信方式を利用してデータ通信装置Ａとデータ通信装置Ｂがネットワーク接続するための動作シーケンスを示している。
【００７２】
ユーザは、データ通信装置Ａとデータ通信装置Ｂをネットワーク接続したいと思ったとき、双方の機器のＳｙｎｃＴａｐボタンを同時に押下操作するとともに同時に押下を解除する。
【００７３】
本実施形態では、データ通信装置Ａとデータ通信装置Ｂのシステム・タイマが同期している必要はない。すなわち、双方の機器のＳｙｎｃＴａｐボタンに対する操作が同期している必要はあるが、各機器において異なる時刻としてこれらを観測しても構わない。図３に示す例では、データ通信装置Ａは、自身のＳｙｎｃＴａｐボタンが押下された時刻をＴ１、押下が解除された時刻をＴ２として記録する。また、データ通信装置Ｂは、自身のＳｙｎｃＴａｐボタンが押下された時刻をＳ１、押下が解除された時刻をＳ２として記録する。
【００７４】
データ通信装置Ａは、ＳｙｎｃＴａｐボタンが解除されたことに応答して、ネットワーク接続を要求するパケットをＵＤＰプロトコルに従ってマルチキャスト送信する。このパケットには、自身のＩＰアドレス（ここでは、仮に”Ａ”とする）と、ＳｙｎｃＴａｐボタンの押下を解除した時刻Ｔ２とＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｔ（＝Ｔ２−Ｔ１）を含める。
【００７５】
また、データ通信装置Ｂも、ＳｙｎｃＴａｐボタンが解除されたことに応答して、ネットワーク接続を要求するパケットをＵＤＰプロトコルに従ってマルチキャスト送信する。このパケットには、自身のＩＰアドレス（ここでは、仮に”Ｂ”とする）と、ＳｙｎｃＴａｐボタンの押下を解除した時刻Ｓ２とＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｓ（＝Ｓ２−Ｓ１）を含める。
【００７６】
そして、データ通信装置Ａからマルチキャスト送信されたパケットは、通信相手であるデータ通信装置Ｂに時刻Ｓ３に到着し、また、データ通信装置Ｂからマルチキャスト送信されたパケットは、通信相手であるデータ通信装置Ａに時刻Ｔ３に到着したとする。
【００７７】
データ通信装置Ａ及びデータ通信装置Ｂでは、以下の事柄を比較することにより、到着パケットが自身に対するネットワーク接続要求であるかどうかをチェックする。
【００７８】
▲１▼ローカルに保持されているＳｙｎｃＴａｐボタンの押下解除時刻とパケットの到着時刻
▲２▼ローカルに保持されているＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔と、パケットに含まれるＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔
【００７９】
各機器上でＳｙｎｃＴａｐボタンを押下したり押下を解除したりする時刻は、ネットワーク遅延時間や、人間の動作上の精度などに起因して差異が生じる。そこで、本実施形態では、誤差限界値としてＣ１及びＣ２（固定値）を導入している。Ｃ１は、１人のユーザが両手を使って２台の装置に対して同時にＳｙｎｃＴａｐボタンを押下するとともに同時に押下を解除する時間間隔についての同時性の許容範囲である。また、Ｃ２は、１人のユーザが両手を使って２台の装置に対して同時にＳｙｎｃＴａｐボタンを押下した後に押下を解除する時刻についての同時性の許容範囲である。これら誤差限界値Ｃ１、Ｃ２は、例えば１００〜２００ミリ秒程度でよい。
【００８０】
データ通信装置Ａは、自装置上でＳｙｎｃＴａｐボタンが解除された時点（Ｔ２）からパケットを受信した時点（Ｔ３）までの時間の差｜Ｔ３−Ｔ２｜が誤差限界値Ｃ２未満であるか、及び、ローカルに保持されているＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｔとパケットに含まれるＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｓの差｜Ｔ−Ｓ｜が誤差限界値Ｃ１であるかどうかをチェックする。
【００８１】
同様に、データ通信装置Ｂは、自装置上でＳｙｎｃＴａｐボタンが解除された時点（Ｓ２）からパケットを受信した時点（Ｓ３）までの時間の差｜Ｓ３−Ｓ２｜が誤差限界値Ｃ２未満であるか、及び、ローカルに保持されているＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｓと、パケットに含まれるＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｔの差｜Ｔ−Ｓ｜が誤差限界値Ｃ１であるかどうかをチェックする。
【００８２】
そして、双方のデータ通信装置Ａ及びＢは、ＳｙｎｃＴａｐボタンが解除されてからパケットを受信するまでの時間と、ＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔の差がいずれも誤差限界の範囲内である場合には、互いがユーザにより指定された通信相手であることを識別して、パケットに含まれている相手方のＩＰアドレスを用いてネットワーク接続を確立する。
【００８３】
上述したネットワーク接続方法では、各機器において管理されている時間情報の相違により通信相手を識別し、各機器における計時時刻そのものを使用していないことから、機器間でシステム・タイマが同期している必要は全くない。
【００８４】
本実施形態では、マルチキャスト・パケットの送信によりデータ通信装置間でＳｙｎｃＴａｐボタンの押下及び押下解除に関するタイミング情報を交換し、これらの同一性に基づいて、ネットワーク接続要求を識別することができる。図４には、ＳｙｎｃＴａｐボタンの押下及び押下解除のタイミングに従った通信相手の同定方法を図解している。
【００８５】
図４（ａ）に示す例では、２台のデータ通信装置間でＳｙｎｃＴａｐボタンの押下（ｐｒｅｓｓ）及び押下解除（ｒｅｌｅａｓｅ）のタイミングがいずれも一致しているので、ネットワーク接続要求は受理される（ａｃｃｅｐｔｅｄ）。
【００８６】
また、図４（ｂ）に示す例では、２台のデータ通信装置間で、ＳｙｎｃＴａｐボタンの押下解除のタイミングは一致しているものの、押下されたタイミングが相違することから、ネットワーク接続要求は受理されない（ｎｏｔ  ａｃｃｅｐｔｅｄ）。
【００８７】
また、図４（ｃ）に示す例では、３台のデータ通信装置間でＳｙｎｃＴａｐボタンの押下（ｐｒｅｓｓ）及び押下解除（ｒｅｌｅａｓｅ）のタイミングがいずれも一致しているが、これは通信の衝突（ｃｏｌｌｉｓｉｏｎ）とみなされるので、ネットワーク接続要求は受理されない。
【００８８】
また、図４（ｄ）に示す例では、ＳｙｎｃＴａｐボタンの押下（ｐｒｅｓｓ）及び押下解除（ｒｅｌｅａｓｅ）のタイミングがいずれも一致するデータ通信装置の組み合わせが２つ存在する。このような場合、それぞれの組み合わせにおいてネットワーク接続要求が受理される。
【００８９】
図５には、図３に示したようなネットワーク接続を行なうためのデータ通信装置上での処理動作をフローチャートの形式で示している。
【００９０】
まず、ＳｙｎｃＴａｐボタンが押下されると（ステップｓ１）、現在時刻を押下時刻Ｔ１として保存する（ステップｓ２）。
【００９１】
また、ＳｙｎｃＴａｐボタンの押下が解除されると（ステップｓ３）、現在時刻を押下解除時刻Ｔ２として保存する（ステップｓ４）。
【００９２】
次いで、ＳｙｎｃＴａｐボタンが押下されてから押下が解除されるまでの時刻Ｔ（＝Ｔ１−Ｔ２）を計算するとともに、これが所定値Ｃ３以上であることを確認する（ステップｓ５）。そして、自身のＩＰアドレスと、ＳｙｎｃＴａｐボタンのユーザ操作に関する時間情報Ｔを含んだネットワーク接続要求パケットを、ネットワーク上にマルチキャスト送信する（ステップｓ６）。
【００９３】
ＳｙｎｃＴａｐボタンは、機器上に新規に搭載してもよいが、パーソナル・コンピュータに接続されているキーボード上の特定のボタン（ＥｓｃキーやＳｈｉｆｔキーなど）のように既存のユーザ・インターフェース装置を活用することもできる。例えば、ＥｓｃキーがＳｙｎｃＴａｐボタンに割り当てられている場合、即時に押下が解除されたときは通常のタイピング操作として処理されるが、押下が解除されるまでの時間間隔が所定値を越える場合は、ＳｙｎｃＴａｐボタンの操作として処理され、Ｅｓｃキーの押下タイミングと押下解除タイミングがそれぞれＴ１、Ｔ２として扱われる（後述）。
【００９４】
一方、他のデータ通信装置からマルチキャスト送信されたパケットを受信した場合には（ステップｓ７）、パケットから、送信元のＩＰアドレスとＳｙｎｃＴａｐボタンのユーザ操作に関する時間情報Ｓを取り出す。また、パケットの受信時刻をＴ３として保存する（ステップｓ８）。そして、自装置上でＳｙｎｃＴａｐボタンが解除された時点（Ｔ２）からパケットを受信した時点（Ｔ３）までの時間の差｜Ｔ３−Ｔ２｜が誤差限界値Ｃ２未満であるか（｜Ｔ３−Ｔ２｜＜Ｃ２）、及び、ローカルに保持されているＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｔとパケットに含まれるＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｓの差｜Ｔ−Ｓ｜が誤差限界値Ｃ１であるかどうか（｜Ｔ−Ｓ｜＜Ｃ１）をチェックする（ステップｓ９）。そして、この判別結果が肯定的であった場合には、ユーザにより指定された通信相手であることを識別して、パケットに含まれている相手方のＩＰアドレスを用いてネットワーク接続を確立する（ステップｓ１０）。
【００９５】
ステップｓ７〜ｓ１０の処理は、自ら接続要求するマルチキャスト・パケットを送信した場合にのみ起動するように限定してもよい。
【００９６】
Ｃ．ＳｙｎｃＴａｐボタンのキー割り当て
上述したようなＳｙｎｃＴａｐボタンを利用したネットワーク接続メカニズムは、各機器がネットワーク接続機能を装備するとともに、少なくとも１つのオペレーション可能なボタンを備えていることを前提とする。ＳｙｎｃＴａｐボタンは、機器上に新規に搭載してもよいが、パーソナル・コンピュータに接続されているキーボード上の特定のボタン（ＥｓｃキーやＳｈｉｆｔキーなど）のように既存のユーザ・インターフェース装置を活用することもできる。あるいは、ＧＵＩスクリーン上のボタンとして実装することもできる。あるいは、単一ボタンの１回の押し放し操作だけではなく、ボタンの複数回の押し放し操作、又は、複数ボタンの操作シーケンスによってパケットを構成することができる（例えば、‘Ａ’キーと‘ＥＳＣ’キーを連続的に押した場合に、ＳｙｎｃＴａｐボタンの操作として活用することができる）。
【００９７】
例えば、ＳｙｎｃＴａｐボタンに割り当てられたＥｓｃキーが押下されさらに即時（例えば５００ミリ秒以内）に押下が解除された場合は、通常のタイピング操作として処理される。そして、Ｅｓｃキーが押下されてから押下が解除されるまでの時間間隔があらかじめ定められた値を越える場合には、ＳｙｎｃＴａｐボタンの操作として処理される。
【００９８】
また、ＳｈｉｆｔキーをＳｙｎｃＴａｐボタンに割り当てた場合も同様に、通常のＳｈｉｆｔキー操作であるかどうかに応じてＳｙｎｃＴａｐボタンの操作を検出する。すなわち、いずれのキーとも組み合わせることなく、Ｓｈｉｆｔキーが押下されさらに押下が解除されたときには、ＳｙｎｃＴａｐボタンの操作として処理され、それ以外の場合（例えば、Ｓｈｉｆｔキーが単独で長押しされた場合）には通常のＳｈｉｆｔキー操作として処理される。
【００９９】
Ｄ．衝突検出
ある２台のデータ通信装置間でネットワーク接続を行なう際に、他の装置の組み合わせで別のネットワーク接続の開始が試行されることもある。この場合、他のＳｎｙｃＴａｐマルチキャスト・パケットが伝送される。
【０１００】
図４（ｃ）にも示したように、本実施形態に係るデータ通信システムでは、自装置上のＳｙｎｃＴａｐボタンが解除されてからある時間間隔内に届いたすべてのマルチキャスト・パケットを収集することにより、衝突検出（ｃｏｌｌｉｓｉｏｎ  ｄｅｔｅｃｔｉｏｎ）を行なう。ＳｙｎｃＴａｐボタンが解除されてから所定時間内に２又はそれ以上のマルチキャスト・パケットが到着した場合、データ通信装置は、衝突が発生したとみなす。
【０１０１】
本実施形態に係るネットワーク接続方式は、接続要求にマルチキャストを用いているので、同時に第３者が別の接続を試みた場合には、同様のマルチキャスト・パケットが送信されることになる。例えば、データ通信装置Ａとデータ通信装置Ｂを接続しようとしているときに、同じ通信範囲内で全く同時にデータ通信装置Ｃとデータ通信装置Ｄを接続しようとした場合に、誤ってデータ通信装置Ａとデータ通信装置Ｃ（あるいはデータ通信装置Ｂとデータ通信装置Ｄ）が接続しないように保証する必要がある。
【０１０２】
本実施形態では、ＳｙｎｃＴａｐボタンを押下した時刻とその押下を解除した時刻の２回で同時性を計測するので、第３者との間で全く同時となる確率は充分に低い。また、衝突を検出した後、接続を再試行するときには、１回目の接続で受け取ったマルチキャスト・パケットの送信元だけに接続候補を限定することで、２回目（あるいはそれ以降）にさらに別のサイト同士の接続パケットと衝突することを回避する。
【０１０３】
衝突が発生した後、ユーザに対してＳｙｎｃＴａｐボタンを再度押下操作することを促し、ネットワーク接続要求を再試行する。
【０１０４】
データ通信装置は、衝突検出時に、各マルチキャスト・パケットに含まれるＩＰアドレスをすべて記憶しておく。そしてネットワーク接続要求の再試行時には、既に記録されているＩＰアドレスを持つ送信元からのマルチキャスト・パケットのみを受容する。
【０１０５】
図６には、データ通信装置がネットワーク接続を試みる際の衝突検出並びに衝突回避するための処理手順をフローチャートの形式で示している。この処理手順は、例えば図５に示す処理動作のうち例えばステップｓ７におけるマルチキャスト・パケットの受信処理内に組み込まれる。
【０１０６】
マルチキャスト・パケットを受信すると（ステップｓ１１）、一定時間だけ待ち、さらに別のマルチキャスト・パケットが到着しないかを確かめる（ステップｓ１２）。
【０１０７】
そして、別のマルチキャスト・パケットが到着した場合には、マルチキャスト・パケットの受信先を、受け取ったパケットの送信元に限定して（ステップｓ１４）、ステップＳ１１に戻り、マルチキャスト・パケットの再送を待機する。
【０１０８】
一方、一定時間内に別のマルチキャスト・パケットを受信しなかった場合には、ステップｓ１５に進み、図５のステップｓ８〜ｓ１０に示すような通常の接続処理を行なう。
【０１０９】
図７には、衝突を検出した後、ネットワーク接続要求を再試行する様子を示している。同図に示す例では、ある通信環境下で、６台のデータ通信装置Ａ〜Ｂが動作している。ここで、ある時間内に、３台のデータ通信装置Ａ〜Ｃにおいてネットワーク接続を要求するマルチキャスト・パケットの送信が行なわれたとする。
【０１１０】
この結果、衝突検出により、ネットワーク接続の確立に失敗するが、各データ通信装置Ａ〜Ｂは、受信したマルチキャスト・パケットの中からＩＰアドレスを取り出して記憶しておく。これによって、データ通信装置Ａ〜Ｂは、互いをネットワーク接続の再試行時における候補グループであると認識する。そして、再試行時に、これら以外のデータ通信装置Ｅ、Ｆからもマルチキャスト・パケットが送信されても、候補グループ内では無視される。
【０１１１】
このような衝突検出・衝突回避方法によれば、他のネットワーク接続確立オペレーションとの衝突のために１回目のＳｙｎｃＴａｐオペレーションが失敗したとしても、２回目の試行時には、接続先の候補が既に大幅に削減されているので（１回目のメッセージ送信元に限定される）、ほとんど衝突なし（ｃｏｌｌｉｓｉｏｎ  ｆｒｅｅ）の状況となる。したがって、ＳｙｎｃＴａｐオペレーションによるネットワーク接続にはスケーラビリティがあり、１つのＬＡＮセグメント上で数多のデータ通信装置がひしめき合うような通信環境にも適用することができる。
【０１１２】
なお、悪意のあるサイト（コンピュータ）が接続を妨害するために故意にマルチキャスト・パケットを大量に送出する、という事態も想定されるが、攻撃の存在を検出することが可能なので、通常のＤＯＳ（Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ：サービス拒否攻撃）アタックと同様の手法により犯人を特定してネットワークから切り離すことて対処することができる。
【０１１３】
Ｅ．セキュアな通信
無線ネットワークにおいては、有線に比し傍受の危険性が高いので、伝送路を保護する必要がある。とりわけ、ホットスポットのような公共無線ネットワークにおいては、このことが該当する。
【０１１４】
マルチキャスト・パケットを用いてＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ公開鍵をピギーバック方式で伝送することにより、セキュアな通信のための共用セッション鍵を生成するために、上述したＳｙｎｃＴａｐオペレーションを利用することができる。なお、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ公開鍵方式は、米国特許第４，２００，７７０号明細書並びに米国特許第４，２１８，５８２号明細書に記載され、これら明細書の内容は本明細書に組み込まれるものとする。
【０１１５】
通信相手となる各データ通信装置は、それぞれ公開鍵を生成して、マルチキャスト・パケットを用いて交換し合う。これら公開鍵は、暗号化通信に用いられる共用秘密セッション鍵を計算するために使用される。
【０１１６】
図８には、ＳｎｙｃＴａｐオペレーションを利用してデータ通信装置Ａとデータ通信装置Ｂがネットワーク接続する際に、公開鍵を交換し合う動作シーケンスを示している。
【０１１７】
ユーザは、データ通信装置Ａとデータ通信装置Ｂをネットワーク接続したいと思ったとき、双方の機器のＳｙｎｃＴａｐボタンを同時に押下操作するとともに同時に押下を解除する。このとき、データ通信装置Ａは、自身のＳｙｎｃＴａｐボタンが押下された時刻をＴ１、押下が解除された時刻をＴ２として記録する。また、データ通信装置Ｂは、自身のＳｙｎｃＴａｐボタンが押下された時刻をＳ１、押下が解除された時刻をＳ２として記録する。
【０１１８】
データ通信装置Ａは、乱数Ｘａを種情報として生成し、この乱数Ｘａを利用して公開鍵Ｙａ（＝ＧＸａ  ｍｏｄ  Ｐ）を生成する。また、データ通信装置Ａは、ＳｙｎｃＴａｐボタンが解除されたことに応答して、ネットワーク接続を要求するパケットをＵＤＰプロトコルに従がってマルチキャスト送信する。このパケットには、自身のＩＰアドレス（ここでは、仮に”Ａ”とする）と、ＳｙｎｃＴａｐボタンの押下を解除した時刻Ｔ２とＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｔ（＝Ｔ２−Ｔ１）と、公開鍵Ｙａを含める。
【０１１９】
他方のデータ通信装置Ｂも、乱数Ｘｂを種情報として生成し、この乱数Ｘｂを利用して公開鍵Ｙｂ（＝ＧＸｂ  ｍｏｄ  Ｐ）を生成する。また、データ通信装置Ｂは、ＳｙｎｃＴａｐボタンが解除されたことに応答して、ネットワーク接続を要求するパケットをＵＤＰプロトコルに従がってマルチキャスト送信する。このパケットには、自身のＩＰアドレス（ここでは、仮に”Ｂ”とする）と、ＳｙｎｃＴａｐボタンの押下を解除した時刻Ｓ２とＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｓ（＝Ｓ２−Ｓ１）と、公開鍵Ｘｂを含める。
【０１２０】
なお、公開鍵の生成に使用されるＧ、Ｐはデータ通信装置Ａとデータ通信装置Ｂの間で事前に合意した定数であり、公開されていても構わない。
【０１２１】
そして、データ通信装置Ａからマルチキャスト送信されたパケットは、通信相手であるデータ通信装置Ｂに時刻Ｓ３に到着し、また、データ通信装置Ｂからマルチキャスト送信されたパケットは、通信相手であるデータ通信装置Ａに時刻Ｔ３に到着したとする。データ通信装置Ａ及びデータ通信装置Ｂでは、以下の事柄を比較することにより、到着パケットが自身に対するネットワーク接続要求であるかどうかをチェックする。
【０１２２】
▲１▼ローカルに保持されているＳｙｎｃＴａｐボタンの押下解除時刻とパケットの到着時刻
▲２▼ローカルに保持されているＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔と、パケットに含まれるＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔
【０１２３】
データ通信装置Ａは、自装置上でＳｙｎｃＴａｐボタンが解除された時点（Ｔ２）からパケットを受信した時点（Ｔ３）までの時間の差｜Ｔ３−Ｔ２｜が誤差限界値Ｃ２未満であるか、及び、ローカルに保持されているＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｔとパケットに含まれるＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｓの差｜Ｔ−Ｓ｜が誤差限界値Ｃ１であるかどうかをチェックする。
【０１２４】
同様に、データ通信装置Ｂは、自装置上でＳｙｎｃＴａｐボタンが解除された時点（Ｓ２）からパケットを受信した時点（Ｓ３）までの時間の差｜Ｓ３−Ｓ２｜が誤差限界値Ｃ２未満であるか、及び、ローカルに保持されているＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｓと、パケットに含まれるＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔Ｔの差｜Ｔ−Ｓ｜が誤差限界値Ｃ１であるかどうかをチェックする。
【０１２５】
そして、双方のデータ通信装置Ａ及びＢは、ＳｙｎｃＴａｐボタンが解除されてからパケットを受信するまでの時間と、ＳｙｎｃＴａｐボタンを押下してから押下が解除されるまでの時間間隔の差がいずれも誤差限界の範囲内である場合には、互いがユーザにより指定された通信相手であることを識別して、パケットに含まれている相手方のＩＰアドレスを用いてネットワーク接続を確立する。
【０１２６】
このとき、データ通信装置Ａは、自身が保持する乱数Ｘａとデータ通信装置Ｂからのマルチキャスト・パケットに含まれる公開鍵Ｙｂを用いて共用秘密セッション鍵Ｋ（＝ＹｂＸａ  ｍｏｄ  Ｐ）を生成する。また、データ通信装置Ｂは、自身が保持する乱数Ｘｂとデータ通信装置Ａからのマルチキャスト・パケットに含まれる公開鍵Ｙａを用いて共用秘密セッション鍵Ｋ（＝ＹａＸｂ  ｍｏｄ  Ｐ）を生成する。
【０１２７】
以後、データ通信装置Ａとデータ通信装置Ｂの間では、共用秘密セッション鍵Ｋを用いて暗号化通信が行なわれる。例えば、公共ワイヤレス・インターネット接続サービスなどを提供するホットスポットにおいて、近隣の２台の機器間で簡易に秘密通信を行なうことができる。
【０１２８】
但し、図８に示す方法では、データ通信装置Ａとデータ通信装置Ｂの間になりすましであるデータ通信装置Ｃが介在した場合、すなわち、データ通信装置Ｃがデータ通信装置Ａに対してはデータ通信装置Ｂのふりをし、データ通信装置Ｂに対してはデータ通信装置Ａのふりをした場合、通信が傍受されてしまう可能性がある。このため、通常は、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ方式で鍵交換を行なった後、ＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）を用いてさらに相手を認証する方式を採用することができる。
【０１２９】
なお、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ方式は、有限体上の乗法群における離散対数問題が困難であるという数学的な仮定を安全性の根拠に用いた公開鍵配布系アルゴリズムである。この方式を用いるユーザは、自分だけが知る秘密鍵とこの秘密鍵から数学的な演算によって計算される公開鍵を準備する。そして、自分の秘密鍵と相手ユーザの公開鍵から特定の演算を行なうことで、２人だけで共有できる秘密鍵を計算する。第三者はこの計算を行なうことは困難となるように秘密鍵と公開鍵の関係が構成されている。すなわち、仮に公開鍵ＹａやＹｂを傍受することができたとしても、セッション鍵を計算することはできないので、通信内容を解読できない。
【０１３０】
Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎアルゴリズムは、一般に、”ｍａｎ−ｉｎ−ｔｈｅ−ｍｉｄｄｌｅ”（誰でも勝手に接続できる）問題を解決するために用いられ、通信路の端点を立証する付加的な手法を必要とする。これに対し、上述したＳｙｎｃＴａｐ方式を利用した場合、”ｍａｎ−ｉｎ−ｔｈｅ−ｍｉｄｄｌｅ”すなわち第三者が勝手に介在するためには、すべてのマルチキャスト・パケットを妨げ、これらに代えてなりすましのパケットを伝送しなければならないので、不正が著しく困難となる。
【０１３１】
また、ＳｙｎｃＴａｐを用いたネットワーク接続方式は、近接する（ユーザの両手が届く）機器間の接続に利用されるので、それぞれの機器は、ネットワーク接続に関して瞬時のフィードバックを容易に行なうことができる。例えば、ディスプレイ・スクリーン上にメッセージ・ウィンドウをポップアップ表示したり、ＬＥＤインジケータを点滅させたりする。これによって、隠れたｍａｎ−ｉｎ−ｔｈｅ−ｍｉｄｄｌｅホストを容易に検出することができる。したがって、簡易な公開鍵交換方法であっても、現実的な通信環境下で十分な信頼性を得ることができる。
【０１３２】
Ｆ．応用例
前項までで説明したように、本実施形態に係るＳｙｎｃＴａｐを利用したネットワーク接続方式では、さまざまなタイプの情報機器間で簡単で直感的なユーザ操作によりネットワーク接続を確立することができる。以下では、このネットワーク接続方式の応用例について説明する。
【０１３３】
（１）パーソナル・コンピュータと機器間のインスタント・コネクション
ここで、無線ネットワークに接続することが可能なデジタル・カメラがあったとする。そして、幾つか写真を撮影した後、ノートブック・コンピュータに撮像画像を転送したいとする。
【０１３４】
このような場合、ユーザは、ＳｙｎｃＴａｐボタンに割り当てられたカメラのシャッター・ボタン、並びにノートブック・コンピュータのＳｈｉｆｔキーを同時に押下しさらに同時に押下を解除する。
【０１３５】
これに応答して、ノートブック・コンピュータとデジタル・カメラ間の無線ネットワークが確立する。その後、コンピュータ・スクリーン上には、デジタル・カメラに対応するウィンドウが出現する。ユーザは、このウィンドウからコンピュータ側のドキュメント・フォルダに画像ファイルをドラッグ操作する。これに応答して、デジタル・カメラからノートブック・コンピュータへの画像ファイルの転送処理が起動する（図９を参照のこと）。
【０１３６】
また、ノートブック・コンピュータとワイヤレス・マウスやワイヤレス・ヘッドセットなどの周辺機器と接続したい場合も、同様にコンピュータと接続先の周辺機器のＳｙｎｃＴａｐボタンを同時に押下しさらに同時に押下を解除すればよい。勿論、コンピュータとテレビ受像機やビデオ録画再生機、ＡＶ機器、その他の家電とを接続したい場合も、同様にコンピュータと接続先の家電機器のＳｙｎｃＴａｐボタンを同時に押下しさらに同時に押下を解除すればよい。接続確立後、コンピュータからストリーム配信が開始され、家電機器ではコンテンツ再生が行なわれる（図１０を参照のこと）。
【０１３７】
（２）ホットスポットや会議室でのアドホック接続
ユーザが公共ラウンジにいて、ホットスポット・サービスを利用しているとする。ここで、同席する仲間との間でファイルを交換したくなったとする。このような場合、ユーザは、双方のパーソナル・コンピュータのＳｙｎｃＴａｐボタンを同時に押下しさらに同時に押下を解除する。これに応答して、コンピュータ間のネットワーク接続が確立する。
【０１３８】
ネットワーク接続が確立したのと、それぞれのコンピュータ・スクリーンにはファイル交換用ウィンドウが表示される。ユーザは、ファイル送信元となるコンピュータ側で、転送したいファイルをファイル交換用ウィンドウにドラッグすることにより、コンピュータ間でのファイル転送処理が起動する（図１１を参照のこと）。
【０１３９】
さらに、コンピュータ間でＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ方式の公開鍵を交換し合うことで、セキュアなデータ伝送を開始することができる（前述）。
【０１４０】
（３）プリント
例えば、ユーザが所持するＰＤＡに蓄積されているドキュメントを至近距離のプリンタでプリント・アウトしたいとする。このような場合、ユーザは双方の機器のＳｙｎｃＴａｐボタンを同時に押下しさらに同時に押下を解除する。これに応答して、ＰＤＡとプリンタ間でネットワーク接続が確立する。
【０１４１】
さらに、ＰＤＡスクリーン上にプリンタ・アイコンが出現する。ユーザは、ＰＤＡ画面上でドキュメント・アイテムをプリンタ・アイコン上にドラッグすることによって、プリント・アウト処理が起動する（図１２を参照のこと）。この場合、プリントされるドキュメントのコンテンツ自体は、ＰＤＡ内のフラッシュ・メモリに維持されたままであり、あるいはＰＤＡはドキュメントへのリンク（ＵＲＬなど）を管理するだけである。
【０１４２】
（４）プレゼンテーション
会議室などで、スライドを用いてプレゼンテーションを行ないたいとする。このとき、発表者は、無線ネットワークを用いて、スライド・データを自分のコンピュータからプレゼンテーション・コンピュータへ転送する。このような場合、双方のコンピュータのＳｙｎｃＴａｐボタンを同時に押下しさらに同時に押下を解除する。プレゼンテーション・コンピュータ側のＳｙｎｃＴａｐボタンは例えば、スライド用のリモコン・ボタンに割り当てられている。プレゼンテーション・コンピュータは、リモコンからの赤外線ビームを受信し、コンピュータ間のネットワーク接続が確立する。
【０１４３】
この例が示すように、ＳｙｎｃＴａｐの適用例はユーザの両手が届く２台の機器には限定されない。簡易な構成の赤外線リモコンのような仲介する装置を、遠隔的なＳｙｎｃＴａｐボタンとして活用することができる。この場合、赤外線リモコンに組み込まれたＳｙｎｃＴａｐボタンを押下するタイミングでターゲット機器に対して赤外線ビーム（リモコン信号）が発射される。ターゲット機器側ではその時刻を使ってＳｙｎｃＴａｐボタンが押下された時刻及び押下が解除された時刻を取得して、ネットワーク接続を要求するマルチキャスト・パケットを送信する。
【０１４４】
リモコンは、単にボタンを押下及び押下を解除したタイミングを伝達するだけの目的で使用され、赤外線ビームで通信相手に対して複雑なデータを伝送する必要は全くない。リモコン信号には、ターゲット機器のアドレス情報や認証情報を含める必要はない。
【０１４５】
また、ＰＤＡをリモコンとして使用する場合には、ＰＤＡ上のＳｙｎｃＴａｐボタンを押し続けると、マルチキャスト・パケットとリモコン信号を同時に発射する（図１３を参照のこと）。
【０１４６】
ノートブック・コンピュータとテレビ受像機やビデオ録画再生機、ＡＶ機器、あるいはその他のリモコン操作が可能な家電とを接続したい場合も、上述と同様にコンピュータと家電機器のリモコンのＳｙｎｃＴａｐボタンを同時に押下し、さらに同時に押下を解除すればよい（図１４を参照のこと）。ネットワーク接続が確立した後、例えば、コンピュータ内に蓄積されているＡＶコンテンツをテレビ画面上で流したり、コンピュータ・スクリーンを介してハード・ディスクレコーダにアクセスして番組の録画予約を行なったりすることができる。
【０１４７】
なお、遠隔的なＳｙｎｃＴａｐボタンとして機能することができる赤外線リモコン以外の仲介装置の例として、Ｐｉｃｋ−ａｎｄ−Ｄｒｏｐペンを挙げることができる。Ｐｉｃｋ−ａｎｄ−Ｄｒｏｐペンは主にデータを取り扱うものであるが、仲介装置としてネットワーク接続をも取り扱う。なお、Ｐｉｃｋ−ａｎｄ−Ｄｒｏｐペンに関しては、例えば、暦本他著の論文“Ｐｉｃｋ−ａｎｄ−Ｄｒｏｐ：  Ａ  Ｄｉｒｅｃｔ  Ｍａｎｉｐｕｌａｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｍｕｌｔｉｐｌｅ  Ｃｏｍｐｕｔｅｒ  Ｅｎｖｉｒｏｎｍｅｎｔｓ．”（Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＵＩＳＴ’９７  （１９９７）  ｐｐ．３１−３９）を参照されたい。
【０１４８】
（５）ハイパーカーソルを利用した通信の確立
本発明者らは、Ａｕｇｍｅｎｔｅｄ  Ｓｕｒｆａｃｅ（拡張デスクトップ）システムの１つの機能として、ＨｙｐｅｒＣｕｒｓｏｒ（ハイパーカーソル）と呼ばれる移動可能なカーソル・システムを実現した。ハイパーカーソルを用いることで、単一のマウス及びキーボードだけで２台のコンピュータを操作することができる。一方のコンピュータ・スクリーン上でカーソルが周縁に達したとき、カーソルは自動的の他方のコンピュータ・スクリーンへジャンプする。また、キーボード入力は２台目のコンピュータへ配送される。ユーザは、一方のコンピュータから他方のコンピュータへ、コンピュータ・スクリーンの境界を経て、オブジェクトのドラッグ操作を行なうことができる。
【０１４９】
本来のハイパー・ドラッグ・システムは、各コンピュータの位置を認識するカメラ・センサに基づいて構成される。論理空間上のマウス移動はそれぞれのコンピュータ・スクリーン上の物理的な配置に反映されることから、センサ出力に基づいてオブジェクト操作の空間的な連続性を実現することができる。例えば、２台目のコンピュータを１台目のコンピュータの左側に設置した場合、カーソルは、１台面コンピュータ・スクリーンの左端から２台面コンピュータ・スクリーンへジャンプするように構成される。しかながら、カメラ・センサ・システムがない場合には、ユーザは、ハイパーカーソルに相当するデスクトップ環境をマニュアル作業で構成しなければならない。このような作業は、コンピュータがＤＨＣＰなどに基づくＩＰアドレスの自動割り振りを採用している場合、特に煩わしくなる。
【０１５０】
そこで、ハイパーカーソルとＳｙｎｃＴａｐを組み合わせて、センサ・システムを装備しない場合の問題点について考察してみる。例えば、ユーザが、キーボードを持たないタブレット式・コンピュータをオフィスのディスクに持ち込み、デスクトップ・コンピュータに接続されているキーボードやマウスを用いてタブレット・コンピュータを操作したくなったとする。このような場合、ユーザは、単にそれぞれのコンピュータのＳｙｎｃＴａｐボタンを同時に押下しさらに同時に押下を解除するだけでよい（デスクトップ・コンピュータでは、ＥｓｃキーやＳｈｉｆｔキーがＳｙｎｃＴａｐボタンに割り当てられている。また、タブレット・コンピュータでは、スクリーン上のタップによりＳｙｎｃＴａｐボタンが実装されている）。これに応答して、コンピュータ間のネットワーク接続が確立する。次いで、ユーザは、デスクトップ・コンピュータ側のスクリーンの周縁を打つように間数操作する。このような操作によって、タブレット・コンピュータの相対位置をシステムに指示し、カーソルはタブレット・コンピュータのスクリーンへとジャンプする。
【０１５１】
本発明者らは、ＳｙｎｃＴａｐボタンを選択することによって物理的な配置を特定することができる他の方法についてさらに試している。例えば、左側のＳｈｉｆｔキーを操作することによって、他の機器が左側に設置されていることをシステム側に通知する。
【０１５２】
なお、ハイパーカーソルに関しては、例えば、暦本他著の論文“Ａｕｇｍｅｎｔｅｄ  Ｓｕｒｆａｃｅ：  Ａ  ｓｐａｔｉａｌｌｙ  ｃｏｎｔｉｎｕｏｕｓ  ｗｏｒｋｓｐａｃｅ  ｆｏｒ  ｈｙｂｒｉｄ  ｃｏｍｐｕｔｉｎｇ  ｅｎｖｉｒｏｎｍｅｎｔ”（Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＣＨＩ’９９．  （１９９９）  ｐｐ．３７８−３８５）を参照されたい。
【０１５３】
（６）ペン入力型コンピュータにおけるＳｙｎｃＴａｐ
フルキーボード型のコンピュータを用いた場合、例えばＥＳＣキーやＳｈｉｆｔキーに対する特定の押下操作や、これらキーと通常のキャラクタ・キー操作の組み合わせによってＳｙｎｃＴａｐボタンを構成することができる（前述）。これに対し、キーやボタンを特に持たないようなペン入力コンピュータの場合には、特定のペンストロークをＳｙｎｃＴａｐボタン操作に割り当てることができる。
【０１５４】
例えば、ペンダウン（すなわちストロークの開始）とペンアップのタイミングを用いる。さらに、ペンストロークの長さ、方向、形状などの属性情報をパケットに添付して送ることができる。
【０１５５】
これにより、複数のＳｙｎｃＴａｐパケットが同時に到着した場合、似た形状のストロークを持つパケットの送信者とのみ選択的に接続することが可能であり、語接続や衝突を好適に回避することができる。
【０１５６】
［追補］
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１５７】
本明細書中では、ＳｙｎｃＴａｐ技術を主にネットワーク接続の確立に適用した場合を中心に説明してきたが、ネットワーク接続確立後のユーザ・インターフェースとしてもＳｙｎｃＴａｐ技術は同様に重要である。例えば、複数の機器の組み合わせからなるシステムにおいて有益なオペレーションを効率的に選択するような局面において、同様にＳｙｎｃＴａｐ技術を適用することができる。
【０１５８】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１５９】
【発明の効果】
以上詳記したように、本発明によれば、目の前に居るなど実世界上の所在は明確であるが通信媒体上の識別情報が判らない通信相手と情報機器間で簡易で直接的なネットワーク接続の指示により接続を確立することができる、優れたデータ通信システム、データ通信装置及びデータ通信方法、接続確立方法及び接続確立装置、接続確立システム、並びにコンピュータ・プログラムを提供することができる。
【０１６０】
また、本発明によれば、ネットワーク構成が複雑でダイナミックに変化する通信環境下で、情報機器間で簡易で直感的・直接的なユーザ・インターフェース操作によりセキュアなネットワーク接続を確立することができる、優れたデータ通信システム、データ通信装置及びデータ通信方法、接続確立方法及び接続確立装置、接続確立システム、並びにコンピュータ・プログラムを提供することができる。
【０１６１】
また、本発明によれば、キーボードなどの一般的なユーザ・インターフェースを利用してスケーラビリティのあるネットワーク接続を行なうことができる、優れたデータ通信システム、データ通信装置及びデータ通信方法、接続確立方法及び接続確立装置、接続確立システム、並びにコンピュータ・プログラムを提供することができる。
【０１６２】
また、本発明によれば、通常の機器が最低限備えるハードウェア構成要素（例えば、ユーザ操作可能なボタン）又はセンサを用いて、より簡素で直感的・直接的なユーザ操作に従って特定の機器間でネットワーク接続を確立することができる。したがって、本発明に係るネットワーク接続方式は、ワイヤレス・ヘッドセットのようなディスプレイ・スクリーンやＧＵＩ環境下での選択機能を装備しないようなデジタル機器とも共存することができる。
【図面の簡単な説明】
【図１】本発明に係るデータ通信システムの基本構成を模式的に示した図である。
【図２】本発明に係るデータ通信システムにおいて動作することができるデータ通信装置のハードウェア構成の一例を示した図である。
【図３】本発明に係るデータ通信方式を利用してデータ通信装置Ａとデータ通信装置Ｂがネットワーク接続するための動作シーケンスを示した図である。
【図４】ＳｙｎｃＴａｐボタンの押下及び押下解除のタイミングに従った通信相手の同定方法を説明するための図である。
【図５】図３に示したようなネットワーク接続を行なうためのデータ通信装置上での処理動作を示したフローチャートである。
【図６】データ通信装置がネットワーク接続を試みる際の衝突検出並びに衝突回避するための処理手順を示したフローチャートである。
【図７】衝突を検出した後、ネットワーク接続要求を再試行する様子を示した図である。
【図８】本発明に係るデータ通信方式を利用してデータ通信装置Ａとデータ通信装置Ｂがネットワーク接続する際に公開鍵を交換し合うための動作シーケンスを示した図である。
【図９】ＳｙｎｃＴａｐによりパーソナル・コンピュータと機器間でインスタント・コネクションを行なう様子を示した図である。
【図１０】ＳｙｎｃＴａｐによりパーソナル・コンピュータと機器間でインスタント・コネクションを行なう様子を示した図である。
【図１１】ＳｙｎｃＴａｐによりパーソナル・コンピュータ間でインスタント・コネクションを行なう様子を示した図である。
【図１２】ＳｙｎｃＴａｐによりプリンタとＰＤＡ間でインスタント・コネクションを行なう様子を示した図である。
【図１３】リモコンを用いてＳｙｎｃＴａｐによるインスタント・コネクションを行なう様子を示した図である。
【図１４】リモコンを用いてＳｙｎｃＴａｐによるインスタント・コネクションを行なう様子を示した図である。
【図１５】ペン入力型コンピュータにおいてペンストロークを用いてＳｙｎｃＴａｐ昨日を実現する様子を示した図である。
【符号の説明】
１００…コンピュータ
１０１…ＣＰＵ，１０２…メモリ
１０３…ディスプレイ・コントローラ
１０４…入力機器インターフェース
１０５…ネットワーク・インターフェース
１０７…外部機器インターフェース
１０８…バス
１０９…ビデオ・キャプチャ・カード
１１１…ディスプレイ
１１２…キーボード
１１３…マウス
１１４…ハード・ディスク装置
１１５…メディア・ドライブ
【図１】
2004328093.tif 000003
【図２】
2004328093.tif 000004
【図３】
2004328093.tif 000005
【図４】
2004328093.tif 000006
【図５】
2004328093.tif 000007
【図６】
2004328093.tif 000008
【図７】
2004328093.tif 000009
【図８】
2004328093.tif 000010
【図９】
2004328093.tif 000011
【図１０】
2004328093.tif 000012
【図１１】
2004328093.tif 000013
【図１２】
2004328093.tif 000014
【図１３】
2004328093.tif 000015
【図１４】
2004328093.tif 000016
【図１５】
2004328093.tif 000017