(57)【特許請求の範囲】
【請求項１】
ワイヤレスサービスアドバタイザデバイスを使用してワイヤレスシリアルバス（ＷＳＢ）サービスを確立するための方法であって、
前記ワイヤレスサービスアドバタイザデバイスが、ワイヤレスサービスシーカーデバイスと、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間に確立されたワイヤレス接続でデータを転送するためにメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのためのトランスポートモードをネゴシエートすることと、ここで、前記ＭＡＵＳＢプロトコルのための前記トランスポートモードをネゴシエートすることは、
前記ワイヤレスサービスアドバタイザデバイスが、前記ワイヤレスサービスアドバタイザデバイスによって提供されるＷＳＢサービスのための広告を送信することと、ここで、前記広告は、前記ワイヤレスサービスアドバタイザデバイスによってサポートされる前記ＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものまたは直接メディアアクセス制御（ＭＡＣ）レイヤによるもののうちの１つまたは複数を含み、
前記ワイヤレスサービスアドバタイザデバイスが、前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求を前記ワイヤレスサービスシーカーデバイスから受信することと、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ワイヤレスサービスアドバタイザデバイスが、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを有する前記ＷＳＢセッションを受け入れることと、
を含み、
前記ＷＳＢセッションを受け入れると、前記ワイヤレスサービスアドバタイザデバイスが、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間の前記ワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立することと、
前記ワイヤレスサービスアドバタイザデバイスが、前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続でデータを前記ワイヤレスサービスシーカーデバイスに転送することと、
を備える方法。
【請求項２】
前記ＷＢＳセッションについての前記要求を受信することは、
前記ＷＳＢセッションのために前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間の前記ワイヤレス接続を確立するために前記ワイヤレスサービスシーカーデバイスからプロビジョン発見要求を受信することと、ここで、前記プロビジョン発見要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含み、
前記セッション情報を受け入れると、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間の前記ワイヤレス接続を確立することと、
を備える、請求項１に記載の方法。
【請求項３】
前記ＷＳＢセッションについての前記要求を受信することは、前記ワイヤレスサービスシーカーデバイスから、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含むアプリケーションソフトウェアプラットフォーム（ＡＳＰ）セッション要求を受信することを備える、請求項１に記載の方法。
【請求項４】
前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスのための前記広告を送信することは、
あるサービス能力を要求するサービス発見要求を前記ワイヤレスサービスシーカーデバイスから受信することと、
前記要求されたサービス能力と前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスとの間のマッチに基づいて、前記ワイヤレスサービスシーカーデバイスに、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードを識別する前記ＷＳＢサービスの前記サービス情報を含むサービス発見応答を送ることと、
を備える、請求項１に記載の方法。
【請求項５】
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが、直接前記ＭＡＣレイヤによるものであることに基づいて、
前記データを転送することは、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（ＷＦＡ）固有の組織固有識別子（ＯＵＩ）値とＷＳＢ固有のＯＵＩタイプ値とを含むサブネットワークアクセスプロトコル（ＳＮＡＰ）ヘッダを使用して前記ＭＡＵＳＢプロトコルデータをカプセル化することを備える、請求項１に記載の方法。
【請求項６】
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが、直接前記ＭＡＣレイヤによるものであることに基づいて、
前記ＷＳＢサービスの前記ＷＳＢセッションを確立することは、前記ワイヤレスサービスアドバタイザのアプリケーションソフトウェアプラットフォーム（ＡＳＰ）における前記ＭＡＵＳＢプロトコルのための特定のイーサネットタイプの処理をアクティブ化することを備える、請求項１に記載の方法。
【請求項７】
前記ＷＳＢサービスの前記サービス情報は、前記ワイヤレスサービスアドバタイザデバイスによって提供される１つまたは複数のユニバーサルシリアルバス（ＵＳＢ）機能を識別し、前記ＷＳＢセッションを確立することは、前記ワイヤレス接続で前記ワイヤレスサービスアドバタイザデバイスにおいて前記ＵＳＢ機能のうちの少なくとも１つに前記ワイヤレスサービスシーカーデバイス上のＵＳＢアプリケーションを接続することを備える、請求項１に記載の方法。
【請求項８】
ワイヤレスシリアルバス（ＷＳＢ）サービスを確立するためのワイヤレスサービスアドバタイザデバイスを実装する装置であって、
データを記憶するように構成されたメモリと、
前記メモリに接続された１つまたは複数のプロセッサであって、
前記ワイヤレスサービスアドバタイザデバイスが、ワイヤレスサービスシーカーデバイスと、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間に確立されたワイヤレス接続でデータを転送するためにメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのためのトランスポートモードをネゴシエートすることと、ここで、前記ＭＡＵＳＢプロトコルのための前記トランスポートモードをネゴシエートするために前記１つまたは複数のプロセッサは、
前記ワイヤレスサービスアドバタイザデバイスによって提供されるＷＳＢサービスのための広告を送信することと、ここで、前記広告は、前記ワイヤレスサービスアドバタイザによってサポートされる前記ＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものまたは直接メディアアクセス制御（ＭＡＣ）レイヤによるもののうちの１つまたは複数を含み、
前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求を前記ワイヤレスサービスシーカーデバイスから受信することと、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを有する前記ＷＳＢセッションを受け入れることと、
を行うように構成され、
前記ＷＳＢセッションを受け入れると、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間の前記ワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立することと、
前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続でデータを転送することと、
を行うように構成された、１つまたは複数のプロセッサと、
を備える装置。
【請求項９】
前記１つまたは複数のプロセッサは、
前記ＷＳＢセッションのために前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間の前記ワイヤレス接続を確立するために前記ワイヤレスサービスシーカーデバイスからプロビジョン発見要求を受信することと、ここで、前記プロビジョン発見要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含み、
前記セッション情報を受け入れると、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間の前記ワイヤレス接続を確立することと、
を行うように構成された、請求項８に記載の装置。
【請求項１０】
前記１つまたは複数のプロセッサは、前記ワイヤレスサービスシーカーデバイスから、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含むアプリケーションソフトウェアプラットフォーム（ＡＳＰ）セッション要求を受信することを行うように構成された、請求項８に記載の装置。
【請求項１１】
前記ＷＳＢサービスのための前記広告を送信するために、前記１つまたは複数のプロセッサは、
あるサービス能力を要求するサービス発見要求を前記ワイヤレスサービスシーカーデバイスから受信することと、
前記要求されたサービス能力と前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスとの間のマッチに基づいて、前記ワイヤレスサービスシーカーデバイスに、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードを識別する前記ＷＳＢサービスの前記サービス情報を含むサービス発見応答を送ることと、
を行うように構成された、請求項８に記載の装置。
【請求項１２】
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが、直接前記ＭＡＣレイヤによるものであることに基づいて、前記１つまたは複数のプロセッサは、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（ＷＦＡ）固有の組織固有識別子（ＯＵＩ）値とＷＳＢ固有のＯＵＩタイプ値とを含むサブネットワークアクセスプロトコル（ＳＮＡＰ）ヘッダを使用して前記ＭＡＵＳＢプロトコルデータをカプセル化することを行うように構成された、請求項８に記載の装置。
【請求項１３】
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが、直接前記ＭＡＣレイヤによるものであることに基づいて、前記１つまたは複数のプロセッサは、前記ワイヤレスサービスアドバタイザのアプリケーションソフトウェアプラットフォーム（ＡＳＰ）における前記ＭＡＵＳＢプロトコルのための特定のイーサネットタイプの処理をアクティブ化することを行うように構成された、請求項８に記載の装置。
【請求項１４】
前記ＷＳＢサービスの前記サービス情報は、前記ワイヤレスサービスアドバタイザデバイスによって提供される１つまたは複数のユニバーサルシリアルバス（ＵＳＢ）機能を識別し、前記ＷＳＢセッションを確立すると、前記１つまたは複数のプロセッサは、前記ワイヤレス接続で前記ワイヤレスサービスアドバタイザデバイスにおいて前記ＵＳＢ機能のうちの少なくとも１つに前記ワイヤレスサービスシーカーデバイス上のＵＳＢアプリケーションを接続することを行うように構成された、請求項８に記載の装置。
【請求項１５】
ワイヤレスシリアルバス（ＷＳＢ）サービスを確立するためのワイヤレスサービスアドバタイザデバイスを実装する装置であって、
前記ワイヤレスサービスアドバタイザデバイスが、ワイヤレスサービスシーカーデバイスと、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間に確立されたワイヤレス接続でデータを転送するためにメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのためのトランスポートモードをネゴシエートするための手段と、ここで、前記ＭＡＵＳＢプロトコルのための前記トランスポートモードをネゴシエートするための手段は、
前記ワイヤレスサービスアドバタイザデバイスによって提供されるＷＳＢサービスのための広告を送信するための手段と、ここで、前記広告は、前記ワイヤレスサービスアドバタイザデバイスによってサポートされる前記ＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものまたは直接メディアアクセス制御（ＭＡＣ）レイヤによるもののうちの１つまたは複数を含み、
前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求を前記ワイヤレスサービスシーカーデバイスから受信するための手段と、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを有する前記ＷＳＢセッションを受け入れるための手段と、
を含み、
前記ＷＳＢセッションを受け入れると、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間の前記ワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立するための手段と、
前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続でデータを転送するための手段と、
を備える装置。
【請求項１６】
前記ＷＳＢセッション要求を受信するための前記手段は、
前記ＷＳＢセッションのために前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間の前記ワイヤレス接続を確立するために前記ワイヤレスサービスシーカーデバイスからプロビジョン発見要求を受信するための手段と、ここで、前記プロビジョン発見要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含み、
前記セッション情報を受け入れると、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間の前記ワイヤレス接続を確立するための手段と、
をさらに備える、請求項１５に記載の装置。
【請求項１７】
前記ＷＳＢセッション要求を受信するための前記手段は、前記ワイヤレスサービスシーカーデバイスから、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含むアプリケーションソフトウェアプラットフォーム（ＡＳＰ）セッション要求を受信するための手段を備える、請求項１５に記載の装置。
【請求項１８】
ワイヤレスシリアルバス（ＷＳＢ）サービスを確立するための命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、実行されたとき、１つまたは複数のプロセッサに、
ワイヤレスサービスアドバタイザデバイスが、ワイヤレスサービスシーカーデバイスと、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間に確立されたワイヤレス接続でデータを転送するためにメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのためのトランスポートモードをネゴシエートすることと、ここで、前記ＭＡＵＳＢプロトコルのための前記トランスポートモードをネゴシエートするために前記命令は、前記１つまたは複数のプロセッサに、
前記ワイヤレスサービスアドバタイザデバイスが、前記ワイヤレスサービスアドバタイザデバイスによって提供されるＷＳＢサービスのための広告を送信することと、ここで、前記広告は、前記ワイヤレスサービスアドバタイザデバイスによってサポートされる前記ＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものまたは直接メディアアクセス制御（ＭＡＣ）レイヤによるもののうちの１つまたは複数を含み、
前記ワイヤレスサービスアドバタイザデバイスが、前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求を前記ワイヤレスサービスシーカーデバイスから受信することと、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ワイヤレスサービスアドバタイザデバイスが、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを有する前記ＷＳＢセッションを受け入れることと、
を行わせ、
前記ＷＳＢセッションを受け入れると、前記ワイヤレスサービスアドバタイザデバイスが、前記ワイヤレスサービスアドバタイザデバイスと前記ワイヤレスサービスシーカーデバイスとの間の前記ワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立することと、
前記ワイヤレスサービスアドバタイザデバイスが、前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続でデータを前記ワイヤレスサービスシーカーデバイスに転送することと、
を行わせる、非一時的コンピュータ可読媒体。
【請求項１９】
ワイヤレスサービスシーカーデバイスを使用してワイヤレスシリアルバス（ＷＳＢ）サービスを確立するための方法であって、
前記ワイヤレスサービスシーカーデバイスが、ワイヤレスサービスアドバタイザデバイスと、前記ワイヤレスサービスシーカーデバイスと前記ワイヤレスサービスアドバタイザデバイスとの間に確立されたワイヤレス接続でデータを転送するためにメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのためのトランスポートモードをネゴシエートすることと、ここで、前記ＭＡＵＳＢプロトコルのための前記トランスポートモードをネゴシエートすることは、
前記ワイヤレスサービスシーカーデバイスが、前記ワイヤレスサービスアドバタイザデバイスによって提供されるＷＳＢサービスのための広告を発見すること、ここで、前記広告は、前記ワイヤレスサービスアドバタイザデバイスによってサポートされる前記ＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものまたは直接メディアアクセス制御（ＭＡＣ）レイヤによるもののうちの１つまたは複数を含み、
前記ワイヤレスサービスシーカーデバイスが、前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求を送信すること、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ワイヤレスサービスシーカーデバイスが、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを有する前記ＷＳＢセッションの受入れを前記ワイヤレスサービスアドバタイザデバイスから受信することと、
を含み、
前記ワイヤレスサービスアドバタイザデバイスから前記ＷＳＢセッションの前記受入れを受信すると、前記ワイヤレスサービスシーカーデバイスが、前記ワイヤレスサービスシーカーデバイスと前記ワイヤレスサービスアドバタイザデバイスとの間の前記ワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立することと、
前記ワイヤレスサービスシーカーデバイスが、前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続でデータを前記ワイヤレスサービスアドバタイザデバイスに転送することと、
を備える方法。
【請求項２０】
前記ワイヤレスサービスアドバタイザデバイスからの前記サービス情報中で識別された前記サポートされるトランスポートモードと前記ＷＳＢセッションのための前記ワイヤレスサービスシーカーデバイスのトランスポートモード選好とに基づいて、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを選択することをさらに備える、請求項１９に記載の方法。
【請求項２１】
前記ＷＳＢセッションについての前記要求を送信することは、
前記ＷＳＢセッションのために前記ワイヤレスサービスシーカーデバイスと前記ワイヤレスサービスアドバタイザデバイスとの間の前記ワイヤレス接続を確立するために前記ワイヤレスサービスアドバタイザデバイスにプロビジョン発見要求を送ることと、ここで、前記プロビジョン発見要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含み、
前記ワイヤレスサービスアドバタイザデバイスから前記セッション情報の受入れを受信すると、前記ワイヤレスサービスシーカーデバイスと前記ワイヤレスサービスアドバタイザデバイスとの間の前記ワイヤレス接続を確立することと、
を備える、請求項１９に記載の方法。
【請求項２２】
前記ＷＳＢセッションについての前記要求を送信することは、前記ワイヤレスサービスアドバタイザデバイスに、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含むアプリケーションソフトウェアプラットフォーム（ＡＳＰ）セッション要求を送ることを備える、請求項１９に記載の方法。
【請求項２３】
前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスのための前記広告を発見することは、
あるサービス能力を要求するサービス発見要求を前記ワイヤレスサービスアドバタイザデバイスに送ることと、
前記要求されたサービス能力にマッチする前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスを広告するサービス発見応答を受信することと、ここで、前記サービス発見応答は、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードを識別する前記ＷＳＢサービスの前記サービス情報を含む、
を備える、請求項１９に記載の方法。
【請求項２４】
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが直接前記ＭＡＣレイヤによるものであることに基づいて、
前記データを転送することは、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（ＷＦＡ）固有の組織固有識別子（ＯＵＩ）値とＷＳＢ固有のＯＵＩタイプ値とを含むサブネットワークアクセスプロトコル（ＳＮＡＰ）ヘッダを使用して前記ＭＡＵＳＢプロトコルデータをカプセル化することを備える、請求項１９に記載の方法。
【請求項２５】
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが直接前記ＭＡＣレイヤによるものであることに基づいて、
前記ＷＳＢサービスの前記ＷＳＢセッションを確立することは、前記ワイヤレスサービスシーカーのアプリケーションソフトウェアプラットフォーム（ＡＳＰ）における前記ＭＡＵＳＢプロトコルのための特定のイーサネットタイプの処理をアクティブ化することを備える、請求項１９に記載の方法。
【請求項２６】
前記ＷＳＢサービスの前記サービス情報は、前記ワイヤレスサービスアドバタイザデバイスによって提供される１つまたは複数のユニバーサルシリアルバス（ＵＳＢ）機能を識別し、前記ＷＳＢセッションを確立することは、前記ワイヤレス接続で前記ワイヤレスサービスアドバタイザデバイスにおいて前記ＵＳＢ機能のうちの少なくとも１つに前記ワイヤレスサービスシーカーデバイス上のＵＳＢアプリケーションを接続することを備える、請求項１９に記載の方法。
【請求項２７】
ワイヤレスシリアルバス（ＷＳＢ）サービスを確立するためのワイヤレスサービスシーカーデバイスを実装する装置であって、
データを記憶するように構成されたメモリと、
前記メモリに接続された１つまたは複数のプロセッサであって、
前記ワイヤレスサービスシーカーデバイスが、ワイヤレスサービスアドバタイザデバイスと、前記ワイヤレスサービスシーカーデバイスと前記ワイヤレスサービスアドバタイザデバイスとの間に前記ＷＳＢサービスによって確立されたワイヤレス接続でデータを転送するためにメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのためのトランスポートモードをネゴシエートすることと、ここで、前記ＭＡＵＳＢプロトコルのための前記トランスポートモードをネゴシエートするために前記１つまたは複数のプロセッサは、
前記ワイヤレスサービスアドバタイザデバイスによって提供されるＷＳＢサービスのための広告を発見することと、ここで、前記広告は、前記ワイヤレスサービスアドバタイザデバイスによってサポートされる前記ＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものまたは直接メディアアクセス制御（ＭＡＣ）レイヤによるもののうちの１つまたは複数を含み、
前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求を前記ワイヤレスサービスアドバタイザデバイスに送信することと、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ＭＡＵＳＢプロトコルのための前記サポートされたトランスポートモードの前記選択された１つを有する前記ＷＳＢセッションの受入れを前記ワイヤレスサービスアドバタイザデバイスから受信することと、
を行うように構成され、
前記ワイヤレスサービスアドバタイザデバイスから前記ＷＳＢセッションの前記受入れを受信すると、前記ワイヤレスサービスシーカーデバイスと前記ワイヤレスサービスアドバタイザデバイスとの間の前記ワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立することと、
前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続でデータを転送することと、
を行うように構成された１つまたは複数のプロセッサと、
を備える装置。
【請求項２８】
前記１つまたは複数のプロセッサは、前記ワイヤレスサービスアドバタイザデバイスからの前記サービス情報中で識別された前記サポートされるトランスポートモードと前記ワイヤレスサービスシーカーデバイスにおけるトランスポートモード選好とに基づいて、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを選択することを行うように構成された、請求項２７に記載の装置。
【請求項２９】
前記ＷＳＢセッションについての前記要求を送信するために、前記１つまたは複数のプロセッサは、
前記ＷＳＢセッションのために前記ワイヤレスサービスシーカーデバイスと前記ワイヤレスサービスアドバタイザデバイスとの間の前記ワイヤレス接続を確立するために前記ワイヤレスサービスアドバタイザデバイスにプロビジョン発見要求を送ることと、ここで、前記プロビジョン発見要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含み、
前記ワイヤレスサービスアドバタイザデバイスから前記セッション情報の受入れを受信すると、前記ワイヤレスサービスシーカーデバイスと前記ワイヤレスサービスアドバタイザデバイスとの間の前記ワイヤレス接続を確立することと、
を行うように構成された、請求項２７に記載の装置。
【請求項３０】
前記ＷＳＢセッションについての前記要求を送信するために、前記１つまたは複数のプロセッサは、前記ワイヤレスサービスアドバタイザデバイスに、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含むアプリケーションソフトウェアプラットフォーム（ＡＳＰ）セッション要求を送ることを行うように構成された、請求項２７に記載の装置。
【請求項３１】
前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスのための前記広告を発見するために、前記１つまたは複数のプロセッサは、
あるサービス能力を要求するサービス発見要求を前記ワイヤレスサービスアドバタイザデバイスに送ることと、
前記要求されたサービス能力にマッチする前記ワイヤレスサービスアドバタイザデバイスによって提供される前記ＷＳＢサービスを広告するサービス発見応答を受信することと、ここで、前記サービス発見応答は、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードを識別する前記ＷＳＢサービスの前記サービス情報を含む、
を行うように構成された、請求項２７に記載の装置。
【請求項３２】
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが直接前記ＭＡＣレイヤによるものであることに基づいて、
前記１つまたは複数のプロセッサは、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（ＷＦＡ）固有の組織固有識別子（ＯＵＩ）値とＷＳＢ固有のＯＵＩタイプ値とを含むサブネットワークアクセスプロトコル（ＳＮＡＰ）ヘッダを使用して前記ＭＡＵＳＢプロトコルデータをカプセル化することを行うように構成された、請求項２７に記載の装置。
【請求項３３】
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが直接前記ＭＡＣレイヤによるものであることに基づいて、
前記１つまたは複数のプロセッサは、前記ワイヤレスサービスシーカーのアプリケーションソフトウェアプラットフォーム（ＡＳＰ）における前記ＭＡＵＳＢプロトコルのための特定のイーサネットタイプの処理をアクティブ化することを行うように構成された、請求項２７に記載の装置。
【請求項３４】
前記ＷＳＢサービスの前記サービス情報は、前記ワイヤレスサービスアドバタイザデバイスによって提供される１つまたは複数のユニバーサルシリアルバス（ＵＳＢ）機能を識別し、前記ＷＳＢセッションを確立すると、前記１つまたは複数のプロセッサは、前記ワイヤレス接続で前記ワイヤレスサービスアドバタイザデバイスにおいて前記ＵＳＢ機能のうちの少なくとも１つに前記ワイヤレスサービスシーカーデバイス上のＵＳＢアプリケーションを接続することを行うように構成された、請求項２７に記載の装置。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本開示は、その内容全体が参照により本明細書に組み込まれる、２０１３年５月８日に出願された米国仮出願番号第６１／８２１，０７５号の利益を主張する。
【技術分野】
【０００２】
本開示は、一般にワイヤレス通信技法に関する。
【背景技術】
【０００３】
[0003]モバイルデバイスは、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、ワイヤレス通信カードをもつポータブルコンピュータ、携帯情報端末（ＰＤＡ）、デジタルカメラ、ビデオゲームデバイス、ポータブルメディアプレーヤ、ワイヤレス通信機能をもつフラッシュメモリデバイス、いわゆる「スマート」フォンおよび「スマート」パッドまたはタブレットを含むワイヤレス通信デバイス、電子リーダー、あるいは多種多様な他のタイプのポータブルデバイスの他のものの形態をとり得る。モバイルデバイスは、高電力プロセッサと、メディアコンテンツを処理する能力と、クラウドでネットワークと対話する能力との追加とともにますます強力になっている。これらの改善により、より良いユーザエクスペリエンスを与え、生産性を改善するモバイルデバイスのための新しい使用モデルを開発することが可能になる。
【０００４】
[0004]最近、ワイヤレスアクセスポイントの使用なしにワイヤレス通信をサポートする動きがある。Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（登録商標）によって現在開発中のＷｉ−Ｆｉ  Ｄｉｒｅｃｔ（登録商標）規格は、ワイヤレスアクセスポイントの必要なしに２つ以上のデバイス間の通信をサポートする１つの規格である。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔにより、ワイヤレスデバイスは、複雑なセットアッププロセスの必要なしに、暗号化されたワイヤレス通信チャネル上で容易に互いに接続し、通信することも可能になる。Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ上で通信するデバイスは、送信サービス、再生サービス、印刷サービス、表示サービス、ワイヤレスドッキングサービス、およびワイヤレスシリアルバス（ＷＳＢ：wireless serial bus）サービス（すなわち、ワイヤレスサービスによるユニバーサルシリアルバス（ＵＳＢ））などのサービスを提供および探索し得、したがって、１つのデバイスは、別のデバイスの能力をワイヤレスに使用し得る。Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅは、デバイスがこれらのサービスを広告し、探索し、管理するために必要とされる共通機能を実装するアプリケーションサービスプラットフォーム（ＡＳＰ）を開発してきた。
【発明の概要】
【０００５】
[0005]本開示の技法は、概して、ワイヤレスシリアルバス（ＷＳＢ）サービスのＷＳＢセッション中の選択されたトランスポートモードに従ってメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ：Media Agnostic Universal Serial Bus）プロトコルを使用してデータをトランスポートするためにＷＳＢサービスを確立することに関する。ＷＳＢサービスを確立するために、ワイヤレスサービスアドバタイザ（advertiser）とワイヤレスサービスシーカー(seeker)とは、サービス発見（ディスカバリ）と、ピアツーピア（Ｐ２Ｐ）接続セットアップと、ＷＳＢセッションセットアップとを実施する。ＷＳＢサービスが確立されると、ＭＡＵＳＢプロトコルは、Ｐ２Ｐワイヤレス接続上でＷＳＢセッションのためのデータをトランスポートするために、インターネットプロトコル（ＩＰ）スタック上で展開されるか、あるいは直接メディアアクセス制御（ＭＡＣ）レイヤ上で展開され得る。
【０００６】
[0006]本開示の技法によれば、ワイヤレスサービスアドバタイザとワイヤレスサービスシーカーとは、ＷＳＢサービスの各ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのトランスポートモードをネゴシエートする。たとえば、サービス発見プロセス中に、ワイヤレスサービスアドバタイザは、サービス情報中のＭＡＵＳＢプロトコルのための１つまたは複数のサポートされるトランスポートモードを識別する。Ｐ２Ｐ接続セットアップおよびＷＳＢセッションセットアップ中に、ワイヤレスサービスシーカーは、ＷＳＢセッションのためのセッション情報中でＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示す。
【０００７】
[0007]一例では、本開示は、ワイヤレスサービスアドバタイザを使用してＷＳＢサービスを確立するための方法であって、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を送信することと、ここにおいて、広告は、ワイヤレスサービスアドバタイザによってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、サポートされるトランスポートモードは、ＩＰスタックによるものと直接ＭＡＣレイヤによるものとのうちの１つまたは複数を含み、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのＷＳＢセッションについての要求をワイヤレスサービスシーカーから受信することと、ここにおいて、要求は、ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、ＷＳＢセッションを受け入れると、ワイヤレスサービスアドバタイザとワイヤレスサービスシーカーとの間のワイヤレス接続上でＷＳＢサービスのＷＳＢセッションを確立することと、ＷＳＢセッションのためのサポートされるトランスポートモードのうちの選択された１つに従ってＭＡＵＳＢプロトコルを使用してワイヤレス接続上でデータを転送することと、を備える方法を対象とする。
【０００８】
[0008]別の例では、本開示は、ＷＳＢサービスを確立するためのワイヤレスサービスアドバタイザを実装する装置であって、データを記憶するように構成されたメモリと、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を送信することと、ここにおいて、広告は、ワイヤレスサービスアドバタイザによってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、サポートされるトランスポートモードは、ＩＰスタックによるものと直接ＭＡＣレイヤによるものとのうちの１つまたは複数を含み、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのＷＳＢセッションについての要求をワイヤレスサービスシーカーから受信することと、ここにおいて、要求は、ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、ＷＳＢセッションを受け入れると、ワイヤレスサービスアドバタイザとワイヤレスサービスシーカーとの間のワイヤレス接続上でＷＳＢサービスのＷＳＢセッションを確立することと、ＷＳＢセッションのためのサポートされるトランスポートモードのうちの選択された１つに従ってＭＡＵＳＢプロトコルを使用してワイヤレス接続上でデータを転送することとを行うように構成された１つまたは複数のプロセッサと、を備える装置を対象とする。
【０００９】
[0009]さらなる一例では、本開示は、ＷＳＢサービスを確立するためのワイヤレスサービスアドバタイザを実装する装置であって、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を送信するための手段と、ここにおいて、広告は、ワイヤレスサービスアドバタイザによってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、サポートされるトランスポートモードは、ＩＰスタックによるものと直接ＭＡＣレイヤによるものとのうちの１つまたは複数を含み、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのＷＳＢセッションについての要求をワイヤレスサービスシーカーから受信するための手段と、ここにおいて、要求は、ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、ＷＳＢセッションを受け入れると、ワイヤレスサービスアドバタイザとワイヤレスサービスシーカーとの間のワイヤレス接続上でＷＳＢサービスのＷＳＢセッションを確立するための手段と、ＷＳＢセッションのためのサポートされるトランスポートモードのうちの選択された１つに従ってＭＡＵＳＢプロトコルを使用してワイヤレス接続上でデータを転送するための手段と、を備える装置を対象とする。
【００１０】
[0010]別の例では、本開示は、実行されたとき、１つまたは複数のプロセッサに、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を送信すること、ここにおいて、広告は、ワイヤレスサービスアドバタイザによってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、サポートされるトランスポートモードは、ＩＰスタックによるものと直接ＭＡＣレイヤによるものとのうちの１つまたは複数を含み、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのＷＳＢセッションについての要求をワイヤレスサービスシーカーから受信することと、ここにおいて、要求は、ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、ＷＳＢセッションを受け入れると、ワイヤレスサービスアドバタイザとワイヤレスサービスシーカーとの間のワイヤレス接続上でＷＳＢサービスのＷＳＢセッションを確立することと、ＷＳＢセッションのためのサポートされるトランスポートモードのうちの選択された１つに従ってＭＡＵＳＢプロトコルを使用してワイヤレス接続上でデータを転送することと、を行わせる、ＷＳＢサービスを確立するための命令を記憶した非一時的コンピュータ可読媒体を対象とする。
【００１１】
[0011]追加の例では、本開示は、ワイヤレスサービスシーカーを使用してＷＳＢサービスを確立するための方法であって、ワイヤレスサービスシーカーを用いて、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を発見することと、ここにおいて、広告は、ワイヤレスサービスアドバタイザによってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、サポートされるトランスポートモードは、ＩＰスタックによるものかまたは直接ＭＡＣレイヤによるものかのうちの１つまたは複数を含み、ワイヤレスサービスシーカーを用いて、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのＷＳＢセッションを要求することと、ここにおいて、要求は、ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、ワイヤレスサービスアドバタイザからＷＳＢセッションの受入れを受信すると、ワイヤレスサービスシーカーとワイヤレスサービスアドバタイザとの間のワイヤレス接続上でＷＳＢサービスのＷＳＢセッションを確立することと、ＷＳＢセッションのためのサポートされるトランスポートモードのうちの選択された１つに従ってＭＡＵＳＢプロトコルを使用してワイヤレス接続上でデータを転送することと、を備える方法を対象とする。
【００１２】
[0012]さらなる一例では、本開示は、ＷＳＢサービスを確立するためのワイヤレスサービスシーカーを実装する装置であって、データを記憶するように構成されたメモリと、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を発見することと、ここにおいて、広告は、ワイヤレスサービスアドバタイザによってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、サポートされるトランスポートモードは、ＩＰスタックによるものと直接ＭＡＣレイヤによるものとのうちの１つまたは複数を含み、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのＷＳＢセッションを要求することと、ここにおいて、要求は、ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、ワイヤレスサービスアドバタイザからＷＳＢセッションの受入れを受信すると、ワイヤレスサービスシーカーとワイヤレスサービスアドバタイザとの間のワイヤレス接続上でＷＳＢサービスのＷＳＢセッションを確立することと、ＷＳＢセッションのためのサポートされるトランスポートモードのうちの選択された１つに従ってＭＡＵＳＢプロトコルを使用してワイヤレス接続上でデータを転送することとを行うように構成された１つまたは複数のプロセッサと、を備える装置を対象とする。
【００１３】
[0013]本開示の１つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】本開示の技法による、ワイヤレス接続上でデータを転送するワイヤレスサービスアドバタイザとワイヤレスサービスシーカーとを含むワイヤレスネットワークを示すブロック図。
【図２】本開示の技法による、ワイヤレス接続上でデータを転送するワイヤレスシリアルバス（ＷＳＢ）ホストデバイスといくつかのＷＳＢクライアントデバイスとを含む別の例示的なワイヤレスネットワークを示すブロック図。
【図３】ＩＰスタックで動作するかあるいは直接ＭＡＣレイヤで動作するように構成されたＭＡＵＳＢ構成要素を含む例示的なＷＳＢアーキテクチャを示す概念図。
【図４Ａ】ワイヤレスサービスシーカーとワイヤレスサービスアドバタイザとの間にＷＳＢサービスを確立するためのコールフローを示す概念図。
【図４Ｂ】ワイヤレスサービスシーカーとワイヤレスサービスアドバタイザとの間にＷＳＢサービスを確立するためのコールフローを示す概念図。
【図５】直接ＭＡＣレイヤ上で展開されるＷＳＢセッションのためのＡＳＰ協調プロトコルをカプセル化する例示的なパケット構造を示す概念図。
【図６】直接ＭＡＣレイヤ上で展開されるＷＳＢセッションのためのＭＡＵＳＢプロトコルをカプセル化する例示的なパケット構造を示す概念図。
【図７】ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのトランスポートモードをネゴシエートするワイヤレスサービスアドバタイザの例示的な動作を示すフローチャート。
【図８】ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのトランスポートモードをネゴシエートするワイヤレスサービスシーカーの例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１５】
[0022]図１は、本開示の技法による、ワイヤレス接続１６上でデータを転送するワイヤレスサービスアドバタイザ１４とワイヤレスサービスシーカー１２とを含むワイヤレスネットワーク１０を示すブロック図である。ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とは、ワイヤレス通信機能をもつデバイスを各々備え得る。例としては、スマートフォンもしくは他のモバイルハンドセット、タブレットコンピュータ、ラップトップコンピュータ、またはワイヤレス通信能力をもつ他の電子デバイスなどのモバイルデバイスがある。他の例では、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とは、各々、より大きいデバイスまたはシステムの、プロセッサ、処理コア、チップ、チップセット、あるいは１つまたは複数の他の集積回路などの構成要素であり得る。
【００１６】
[0023]いくつかの例では、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４の各々は、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せを含むように実装され得る。明快のために図示しないが、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４の各々は、限定はしないが、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、磁気ランダムアクセスメモリ（ＭＲＡＭ）、フラッシュメモリなどを含む、多種多様な揮発性または不揮発性メモリのいずれかから構成されるメモリを含み得る。いくつかの例では、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４の各々は、オーディオデータ、ビデオデータならびに他の種類のデータを記憶するためのコンピュータ可読記憶媒体を備え得る。ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４の各々はまた、インクルード様々なミキサ、フィルタ、増幅器、および信号変調のために設計された他の構成要素、ならびに、１つまたは複数のアンテナ、およびデータを送信し、受信するために設計された他の構成要素を含む送信機／受信機ユニットを含み得る。
【００１７】
[0024]いくつかの例では、ワイヤレスサービスシーカー１２は、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とがお互いの動作可能な通信レンジ内に来ると自動的に、またはユーザ入力に応答して手動で、ワイヤレスサービスアドバタイザ１４との通信を確立し得る。ワイヤレス接続１６は、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４との間でワイヤレス通信信号を伝搬することが可能なワイヤレスチャネルであり得る。いくつかの例では、ワイヤレス接続１６は、２．４ギガヘルツ（ＧＨｚ）帯、５ＧＨｚ帯、６０ＧＨｚ帯、または他の周波数帯などの、周波数帯内での無線周波通信に基づいて確立され得る。いくつかの例では、ワイヤレス接続１６は、（Ｗｉ−Ｆ  Ａｌｌｉａｎｃｅによって促進される）Ｗｉ−Ｆｉ（登録商標）、（Ｗｉｒｅｌｅｓｓ  Ｇｉｇａｂｉｔ  Ａｌｌｉａｎｃｅによって促進される）ＷｉＧｉｇ、および／もしくは米国電気電子技術者協会（ＩＥＥＥ）８０２．１１標準セット（たとえば、８０２．１１、８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ、８０２．１１ａｃ、８０２．１１ａｄなど）、あるいは他の標準、プロトコル、または技術など、標準、プロトコル、または技術のうちの１つもしくは複数のセットに準拠し得る。
【００１８】
[0025]一例では、ワイヤレス接続１６は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ（ＷＦＤ）規格に従って確立されるピアツーピア（Ｐ２Ｐ）接続を備え得る。Ｐ２Ｐ接続は、ワイヤレスアクセスポイントの必要なしに、Ｗｉ−Ｆｉ  Ｐ２Ｐグループ中のデータリンクレイヤ、すなわち、ＭＡＣレイヤにおいてワイヤレスサービスアドバタイザ１４にワイヤレスサービスシーカー１２を接続するセキュアな接続を与える。他の例では、ワイヤレス接続１６は、インフラストラクチャモードでトンネルダイレクトリンクセットアップ（ＴＤＬＳ：Tunneled Direct Link Setup）またはＷｉ−Ｆｉを使用して確立され得る。ＷＦＤおよびＴＤＬＳは、比較的短距離の通信セッションをセットアップすることを目的とする。この文脈では、比較的短距離とは、たとえば、約７０メートル未満を指すことがあるが、雑音の多いまたは遮るもののある環境では、デバイス間の距離は、約３５メートル未満、または約２０メートル未満など、さらに短いことがある。
【００１９】
[0026]ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とは、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔサービス（ＷＦＤＳ）規格に従ってＰ２Ｐ接続上で１つまたは複数のサービスをサポートし得、したがって、デバイスのうちの１つは、他のデバイスの能力をワイヤレスに使用し得る。サポートされるサービスは、送信サービス、再生サービス、印刷サービス、表示サービス、ワイヤレスドッキングサービス、およびワイヤレスシリアルバスサービスを含み得る。ＷＦＤＳをサポートするために、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４の各々は、デバイスがサービスを広告し、探索し、管理するために必要とされる共通機能を実装するアプリケーションサービスプラットフォーム（ＡＳＰ）を含み得る。
【００２０】
[0027]本開示の技法は、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４との間でＷｉ−Ｆｉ  Ｄｉｒｅｃｔサービスを確立することを対象とする。本開示は、主に、ＷＳＢサービスのＷＳＢセッション中の選択されたトランスポートモードに従ってメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルを使用してデータを転送および受信するためにワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４との間でワイヤレスシリアルバス（ＷＳＢ）サービスを確立するための技法について説明する。ＷＳＢサービスは、ワイヤレスサービスアドバタイザ１４によって提供される複数のユニバーサルシリアルバス（ＵＳＢ）機能のうちの１つを備え得る。ＷＳＢサービスにより、ワイヤレスサービスシーカー１２上の既存のＵＳＢアプリケーションは、ワイヤレス接続１６上でワイヤレスサービスアドバタイザ１４によって提供されるＵＳＢ機能と接続することが可能になる。
【００２１】
[0028]以下でより詳細に説明するように、ＷＳＢサービスを確立するために、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とは、発見と、Ｐ２Ｐ接続セットアップを含むＷＳＢ接続セットアップと、ＷＳＢセッションセットアップとを実施する。ＷＳＢサービスが確立されると、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とは、ワイヤレス接続１６上でＵＳＢデバイス列挙（enumeration）とＵＳＢデータ転送とを実施するためにＭＡＵＳＢプロトコルを使用し得る。ＭＡＵＳＢプロトコルは、ＵＳＢＩＦ（USB Implementers Forum）によって定義される。
【００２２】
[0029]ＷＳＢサービスは、概念的に、ＷＳＢ発見と、ＷＳＢ接続セットアップと、Ｗｉ−Ｆｉ固有の構成と、ＭＡＵＳＢプロトコルを使用するＵＳＢデータ転送との４つの構成要素から構成される。たとえば、ＷＳＢ発見ステージは、ワイヤレスサービスシーカー１２がワイヤレスサービスアドバタイザ１４と、ワイヤレスサービスアドバタイザ１４によって提供されるＷＳＢサービスのためのサービス情報とを発見することを可能にするためにＷＦＤＳ  ＡＳＰで管理される。初期ＷＳＢ発見の後に、ワイヤレスサービスシーカー１２は、Ｐ２Ｐワイヤレス接続とＷＳＢサービスのための新しいＷＳＢセッションとをセットアップすることによって、ワイヤレスサービスアドバタイザ１４とのＷＳＢ接続を確立することができる。ワイヤレスサービスアドバタイザ１４は、アドバタイザ１４によって提供されるＷＳＢサービスへのワイヤレスサービスシーカー１２によるアクセスを制御するために、ＷＳＢ接続セットアップ中にワイヤレスサービスシーカー１２によって与えられる情報を使用し得る。ＷＳＢ接続セットアップの後に、ＵＳＢデバイス列挙とＵＳＢデータ配信とを実施するためにＭＡＵＳＢプロトコルが使用される。
【００２３】
[0030]Ｐ２Ｐ接続が確立された後、ＷＳＢセッションは、ＷＳＢサービスのためのトランスポートモードに従って展開されるＡＳＰ協調プロトコルを使用してセットアップおよび維持され得る。たとえば、ＡＳＰ協調プロトコルは、ユーザデータグラムプロトコル（ＵＤＰ）／インターネットプロトコル（ＩＰ）スタック上で展開されるか、あるいは直接メディアアクセス制御（ＭＡＣ）レイヤ上で展開され得る。ＡＳＰ協調プロトコルのためのトランスポートモードは、ＷＳＢ接続セットアップ中にプロビジョン発見要求／応答メッセージ中の特徴能力フィールドを使用してネゴシエートされ得る。
【００２４】
[0031]本開示の技法によれば、ＷＳＢ接続セットアップが完了した後、ＭＡＵＳＢプロトコルは、ＷＳＢサービスのＷＳＢセッションごとに選択されたトランスポートモードに従ってＰ２Ｐ接続でデータを転送し得る。ＭＡＵＳＢプロトコルは、ＵＤＰ／ＩＰスタック上で展開されるか、あるいは直接ＭＡＣレイヤ上で展開され得る。ＭＡＵＳＢプロトコルのためのトランスポートモードは、ＷＳＢ発見プロセス中にサービス発見応答メッセージ中で広告されるサービス情報フィールドを使用してネゴシエートされ、ＷＳＢ接続セットアップ中にプロビジョン発見要求メッセージとＡＳＰセッション要求メッセージとの中のセッション情報フィールドを使用してネゴシエートされ得る。たとえば、サービス発見プロセス中に、ワイヤレスサービスアドバタイザ１４は、ＷＳＢサービスのために広告されるサービス情報中でＭＡＵＳＢプロトコルのための１つまたは複数のサポートされるトランスポートモードを識別する。Ｐ２Ｐ接続セットアップおよびＷＳＢセッションセットアップ中に、ワイヤレスサービスシーカー１２は、ＷＳＢセッションのためのセッション情報中でＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示す。
【００２５】
[0032]本開示の技法は、概して、ＷＳＢサービスに関して説明するが、ＷＳＢサービスが、本開示に一致するＷｉ−Ｆｉ  Ｄｉｒｅｃｔ接続上で確立され得るサービスの一例にすぎないことを理解されたい。したがって、本技法について、ＷＳＢサービスに関して説明するが、送信サービス、再生サービス、印刷サービス、表示サービス、およびワイヤレスドッキングサービスなどの他の同様のサービスが、本開示の技法から同様に利益を得られる。
【００２６】
[0033]図２は、本開示の技法による、確立されたＷＳＢ接続３８条で通信するワイヤレスシリアルバス（ＷＳＢ）ホストデバイス２２といくつかのＷＳＢクライアントデバイスとを含む別の例示的なワイヤレスネットワーク２０を示すブロック図である。図２に示すように、ＷＳＢクライアントデバイスは、ＷＳＢ周辺デバイス２４、ＵＳＢデバイス２８に接続されたＷＳＢプロトコルアダプテーションレイヤ（ＰＡＬ：Protocol Adaptation Layer）デバイス２６、またはダウンストリームＵＳＢデバイス３６Ａ〜３６Ｃ（「ＵＳＢデバイス３６」）に接続するＷＳＢハブデバイス３２のいずれかであり得る。図２の構成要素は、ＷＳＢ接続３８上で通信し得る。概して、ＷＳＢホストデバイス２２は、図１からのワイヤレスサービスシーカー１２と実質的に同様の方式で動作し得、ＷＳＢクライアントデバイス２４、２６、３２のいずれかは、図１からのワイヤレスサービスアドバタイザ１４と実質的に同様の方式で動作し得る。
【００２７】
[0034]概して、コンピューティングデバイスは、通信規格を使用して様々な周辺装置と通信し得る。１つのそのような通信規格は、ユニバーサルシリアルバス（ＵＳＢ）接続を含む。ＵＳＢ接続を使用し得る周辺デバイスのいくつかの例としては、マウス、キーボード、ディスプレイ、デジタルカメラ、プリンタ、パーソナルメディアプレーヤ、フラッシュドライブなどの大容量ストレージデバイス、ネットワークアダプタ、および外部ハードドライブがある。それらのデバイスの多数にとって、ＵＳＢは、周辺デバイス接続を容易にする非常に一般的な通信規格になった。したがって、本開示は、「ＵＳＢデバイス」を、ホストコンピューティングデバイスと通信することが可能なＵＳＢ接続を有する周辺デバイスと呼ぶことがある。いくつかの例では、ＵＳＢデバイスは、共通ＵＳＢ通信仕様に従ってホストデバイスと通信し得る。
【００２８】
[0035]ＷＳＢホストデバイス２２は、スマートフォンまたは他のモバイルハンドセットなどのモバイルデバイス、タブレットコンピュータ、ラップトップコンピュータ、あるいはワイヤレス通信能力をもつ別の電子デバイス、あるいはより大きいデバイスまたはシステムの構成要素であり得る。ＷＳＢホストデバイス２２は、ＷＳＢサービスを発見し、ＷＳＢクライアントデバイス２４、２６、３２のうちの１つとＷＳＢセッションを開始するＷＳＢサービスシーカーアプリケーションを実行し得る。さらに、ＷＳＢホストデバイス２２は、ＭＡＵＳＢプロトコル中でＭＡＵＳＢホスト役割を実施し得る。ＷＳＢホストデバイス２２は、ＷＳＢ周辺デバイス２４、ＷＳＢ  ＰＡＬデバイス２６、およびＷＳＢハブデバイス３２のいずれかへの接続を可能にするＵＳＢホストと同様の機能を実施し得る。
【００２９】
[0036]ＷＳＢクライアントデバイス２４、２６、３２の各々は、スマートフォンまたは他のモバイルハンドセットなどのモバイルデバイス、タブレットコンピュータ、ラップトップコンピュータ、あるいはワイヤレス通信能力をもつ別の電子デバイス、あるいはより大きいデバイスまたはシステムの構成要素であり得る。ＷＳＢクライアントデバイス２４、２６、３２の各々は、ＷＳＢホストデバイス２２からの発見クエリに応答するＷＳＢサービスアドバタイザアプリケーションを実行し得、ＵＳＢデータ配信のためにＷＳＢホストデバイス２２のＵＳＢホストと通信する。ＷＳＢクライアントデバイス２４、２６、３２の各々は、ＭＡＵＳＢプロトコルでＭＡＵＳＢドック／デバイス役割を実施し得る。たとえば、ＷＳＢクライアントデバイス２４、２６、３２は、直接Ｗｉ−Ｆｉ  ＭＡＣレイヤでＭＡＵＳＢプロトコルデータ転送をカプセル化するように定義され得る。他の場合には、ＷＳＢクライアントデバイス２４、２６、３２は、ＩＰスタックでＭＡＵＳＢプロトコルデータ転送を可能にするように定義される。
【００３０】
[0037]ＷＳＢ周辺デバイス２４は、ＷＳＢホストデバイス２２への接続を可能にするＵＳＢ周辺機器と同様の機能を実施し得る。ＷＳＢ  ＰＡＬデバイス２６は、ＷＳＢ  ＰＡＬとオプションのコネクタをもつ単一のＵＳＢポートとを含むスタンドアロンアシステムであり得る。図２に示すように、ＷＳＢ  ＰＡＬデバイス２６は、ＵＳＢデバイス２８に接続され、ＷＳＢ周辺デバイスとして動作し得る。他の例では、ＷＳＢ  ＰＡＬデバイス２６は、ＵＳＢハブに接続されると、ＷＳＢハブデバイスとして動作し得る。ＷＳＢ  ＰＡＬデバイス２６は、それが接続されないときはＷＳＢプロトコルを使用し得ない。ＷＳＢハブデバイス３２は、ＵＳＢデバイス３６など、１つまたは複数の他のデバイスの接続をサポートし得、ＵＳＢデバイス３６とＵＳＢホストデバイス２２との間の通信を可能にし得る。いくつかの例では、ＷＳＢハブデバイス３２は、コンピューティングデバイスなどの別のデバイス（たとえば、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ＷｉＦｉ（登録商標）対応テレビジョンなど）または周辺デバイス（たとえば、内蔵ＷＳＢハブを含むＵＳＢキーボードデバイス）に統合され得る。ＷＳＢハブデバイス３２は、ＷＳＢホストデバイス２２への接続を可能にするＵＳＢハブと同様の機能を実施し得る。ＵＳＢデバイス３６へのＷＳＢハブデバイス３２のワイヤレスダウンストリーム接続は、ＷＳＢサービスの範囲を越えている。
【００３１】
[0038]一例として、ＷＳＢクライアントデバイス２４、２６および３２のうちの１つまたは複数は、ディスプレイを備え得る。ディスプレイは、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なビデオ出力デバイスのいずれかを備え得る。これらのまたは他の例では、ディスプレイは、放射型ディスプレイまたは透過型ディスプレイであり得る。いくつかの事例では、ディスプレイは、Ｗｉ−Ｆｉ対応テレビジョンあるいは１つまたは複数のワイヤレス接続からメディアデータを受信することが可能な別のデバイスを含み得る。
【００３２】
[0039]別の例として、ＷＳＢクライアントデバイス２４、２６および３２のうちの１つまたは複数は、様々な入力デバイスを含み得るヒューマンインターフェースデバイス（ＨＩＤ）を備え得る。ＨＩＤは、ユーザがＷＳＢホストデバイス２２と対話することを可能にするデバイスを含み得る。ＨＩＤは、概して、マウス、キーボード、トラックパッド、カメラなどを含み得る。本開示の例では、ＨＩＤは、ワイヤレス接続でＷＳＢホストデバイス２２と通信し得る。たとえば、ＨＩＤは、Ｗｉ−Ｆｉ対応であり、ＷＳＢホストデバイス２２とのＷＳＢ接続３８を確立するためにＷＦＤＳをサポートし得る。
【００３３】
[0040]図３は、ＩＰスタックで動作するかあるいは直接ＭＡＣレイヤで動作するように構成されたＭＡＵＳＢ構成要素５２を含む例示的なＷＳＢアーキテクチャ４０を示す概念図である。ＷＳＢアーキテクチャ４０は、図１からのワイヤレスサービスシーカー１２または図２からのＷＳＢホストデバイス２２など、ワイヤレスデバイス内で動作するＷＳＢサービスシーカーアプリケーションのアーキテクチャを表し得る。さらに、ＷＳＢアーキテクチャ４０は、図１からのワイヤレスサービスアドバタイザ１４、またはＷＳＢ周辺デバイス２４、ＷＳＢ  ＰＡＬ２６のいずれか、または図２からのＷＳＢハブデバイス３２など、ワイヤレスデバイス内で動作するＷＳＢサービスアドバタイザアプリケーションのアーキテクチャを表し得る。
【００３４】
[0041]ＷＳＢアーキテクチャ４０は、アプリケーションサービスプラットフォーム（ＡＳＰ）４４とＩＰトランスポート４６とをサポートするＷｉ−Ｆｉ  Ｄｉｒｅｃｔ構成要素４２を含む。ＷＳＢアーキテクチャ４０はまた、ＷＳＢサービス構成要素５０とＭＡＵＳＢ構成要素５２とを含むＷＳＢ構成要素４８を含む。ＷＳＢアーキテクチャ４０は、ＵＳＢクラスドライバ５４をさらに含む。ＵＳＢクラスドライバ５４は、共通ＵＳＢプロトコルを共有する多数の異なるＵＳＢデバイスを動作させるように構成されたデバイスドライバである。いくつかの例では、様々な機能または拡張機能を提供するより具体的なＵＳＢデバイスドライバがＵＳＢクラスドライバ５４上で動作し得る。
【００３５】
[0042]Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ構成要素４２は、ワイヤレスネットワーク１０で、たとえば、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４との間のＰ２Ｐ接続、たとえば、ワイヤレス接続１６を確立するように構成される。Ｐ２Ｐ接続は、Ｗｉ−Ｆｉ  Ｐ２Ｐグループ中のデータリンクレイヤ、すなわち、ＭＡＣレイヤにおいてワイヤレスサービスアドバタイザ１４にワイヤレスサービスシーカー１２を接続する。他の例では、ＷＳＢアーキテクチャ４０は、代わりに、ワイヤレスネットワークでワイヤレスデバイス間に直接リンクを確立するように構成されたトンネルダイレクトリンクセットアップ（ＴＤＬＳ）構成要素を含み得る。さらに他の例では、ＷＳＢアーキテクチャ４０は、代わりに、ワイヤレスアクセスポイントを介してワイヤレスネットワークでワイヤレスデバイス間に接続を確立するためにインフラストラクチャモードで動作するＷｉ−Ｆｉ構成要素を含み得る。
【００３６】
[0043]ＷＳＢサービス構成要素５０は、ＡＳＰ４４の上に展開される。ＷＳＢサービス構成要素５０は、ＷＳＢサービスのためのサービス発見と接続セットアップとを実施するためにＡＳＰ４４と対話するように構成される。ＷＳＢサービス構成要素５０とＡＳＰ４４とは、通信経路５６でサービス発見および接続セットアップのためのメソッドおよびイベントプリミティブを交換し得る。たとえば、ＷＳＢサービス構成要素５０は、ＷＳＢサービスのＷＳＢセッションごとにＭＡＵＳＢプロトコルの、たとえば、ＩＰスタックで、あるいは直接ＭＡＣレイヤでの、プロトコルトランスポートモードを指定し得る。図４Ａおよび図４Ｂに関してさらに詳細に説明するように、サービス発見中に、ワイヤレスサービスアドバタイザアプリケーションのＷＳＢサービス構成要素５０は、ＡＳＰ４４にＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードを広告し得る。さらに、Ｐ２Ｐ接続セットアップおよびＷＳＢセッションセットアップ中に、ワイヤレスサービスシーカーアプリケーションのＷＳＢサービス構成要素５０は、ＭＡＵＳＢプロトコルのための選択されたトランスポートモードを使用するＷＳＢセッションを要求し得る。このようにして、ＷＳＢサービス構成要素５０は、ＷＳＢサービスのためのサービス発見ネゴシエーションと、Ｐ２Ｐ接続セットアップネゴシエーションと、ＷＳＢセッションセットアップネゴシエーションとの一部としてＭＡＵＳＢプロトコルのためのトランスポートモードを含む。
【００３７】
[0044]ＡＳＰ４４は、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ構成要素４２または別のワイヤレス接続上で動作するアプリケーションおよびサービスによって使用される共通機能を実装する論理エンティティである。場合によっては、ＡＳＰ４４は、ＷＦＤＳ技術仕様に準拠するアプリケーションおよびサービスによって使用される共通機能を実装するＷＦＤＳ  ＡＳＰを備え得る。図５に示すＷＳＢアーキテクチャ４０では、ＡＳＰ４４は、ＷＳＢサービス構成要素５０によって開始されるアクションを実行するように構成される。たとえば、図４Ａおよび図４Ｂに関してさらに詳細に説明するように、ＷＳＢサービス構成要素５０は、通信経路５６でＡＳＰ４４にＷＳＢサービスを広告することによってサービス発見プロセスを開始する。それに応答して、ＡＳＰ４４は、ワイヤレスサービスアドバタイザアプリケーションによってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含むＷＳＢサービスをワイヤレスサービスシーカーに広告する。
【００３８】
[0045]発見プロセスが完了した後、ＡＳＰ４４は、ワイヤレスサービスアドバタイザによって提供される発見されたＷＳＢサービスのＷＳＢセッションを確立するために、Ｐ２Ｐ接続セットアップとＷＳＢセッションセットアップとを含むＷＳＢ接続セットアップを実施し得る。たとえば、図４Ａおよび図４Ｂに関してさらに詳細に説明するように、ＷＳＢサービス構成要素５０は、要求されたＷＳＢセッションのために使用されるべきＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの１つを選択する。ＡＳＰ４４は、次いで、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含むＷＳＢセッションを要求する。ＡＳＰ４４は、ＷＳＢ接続セットアップの段階ごとにオーバージエア（ＯＴＡ）メッセージングを実行し得る。ＡＳＰ４４はまた、ＷＳＢセッションセットアップを実施し、ＷＳＢサービスのためのＷＳＢセッションを維持するためにＡＳＰ協調プロトコルを実行し得る。
【００３９】
[0046]ＷＳＢセッションセットアップが完了した後、ＷＳＢサービス構成要素５０は、Ｐ２Ｐ接続でＭＡＵＳＢプロトコルを使用してＵＳＢデバイス列挙とＵＳＢデータ配信とを実施するために通信経路５７でＭＡＵＳＢ構成要素５２をアクティブ化する。ＵＳＢデータ配信の場合、ＭＡＵＳＢ構成要素５２は、ＩＰトランスポート４６でＷＳＢデータ経路５８を確立するか、または直接ＭＡＣレイヤでＷＳＢデータ経路６０を確立する。このようにして、ＭＡＵＳＢプロトコルは、ＩＰスタック上で展開されるか、あるいは直接ＭＡＣレイヤ上で展開され得る。
【００４０】
[0047]図４Ａおよび図４Ｂは、サービスシーカーとして動作するＷＳＢホストデバイス６２とサービスアドバタイザとして動作するＷＳＢクライアントデバイス７２との間にＷＳＢサービスを確立するための例示的なコールフローを示す概念図である。たとえば、図４Ａおよび図４Ｂに、ＷＳＢホストデバイス６２のアプリケーション６３と、ＷＳＢサービス６４と、ＡＳＰ６６との間と、ＷＳＢクライアントデバイス７２のアプリケーション７３と、ＷＳＢサービス構成要素７４と、ＡＳＰ７６との間とで通信され得るメソッドおよびイベントプリミティブのフローを示す。さらに、図４Ａおよび図４Ｂは、ＷＳＢホストデバイス６２のＡＳＰ６６とＷＳＢクライアントデバイス７２のＡＳＰ７６との間で送信され得るメッセージのフローを示す。
【００４１】
[0048]図４Ａおよび図４Ｂに、ＷＳＢサービスセットアップ中に一般的に含まれるＷＳＢ発見段階７０と、Ｐ２Ｐ接続セットアップ段階７１と、ＷＳＢセッションセットアップ段階７５との３つの段階の各々のためのコールフローを示す。いくつかの例では、本開示は、Ｐ２Ｐ接続セットアップ段階７１とＷＳＢセッションセットアップ段階７５とを総称してＷＳＢ接続セットアップ段階と呼ぶことがある。さらに、図４Ｂに、ＷＳＢセッションティアダウン（切断）段階７７のためのコールフローを示す。段階の各々は、ＷＳＢサービス構成要素と、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２とのＡＳＰとの間のメソッドおよびイベント呼出しを含む。メソッドおよびイベントプリミティブのパラメータについて、以下で説明し、それらは、ＷＦＤＳ技術仕様においてさらに定義され得る。
【００４２】
[0049]図４Ａに、ＷＳＢ発見段階７０とＰ２Ｐ接続セットアップ段階７１の各々のためのコールフローを示す。図４Ａの例では、ＷＳＢホストデバイス６２のＡＳＰ６６とＷＳＢクライアントデバイス７２のＡＳＰ７６とは、ＷＳＢ発見段階７０とＰ２Ｐ接続セットアップ段階７１の両方を実施するために、オーバージエアメッセージングを実行する。図４Ｂに、ＷＳＢセッションセットアップ段階７５とＷＳＢセッションティアダウン段階７７の各々のためのコールフローを示す。図４Ｂの例では、ＷＳＢホストデバイス６２のＡＳＰ６６とＷＳＢクライアントデバイス７２のＡＳＰ７６とは、ＷＳＢセッションセットアップ段階７５とＷＳＢセッションティアダウン段階７７の両方を実施するために、オーバージエアメッセージングとＡＳＰ協調プロトコルとを実行し得る。
【００４３】
[0050]以下の図４Ａおよび図４Ｂの説明は、図４Ａの上部から図４Ｂの下部に時系列に進む。図４Ａおよび図４Ｂに示す各矢印は、以下で説明するように、その後通信により対話する構成要素での停止を表す。図４Ａおよび図４Ｂに示すメッセージのシーケンスは、一例であり、本技法は、必ずしも図４Ａおよび図４Ｂに示す順序で実施される必要はなく、より少ないステップ、追加のステップ、または代替のステップが実施され得る。
【００４４】
[0051]図４Ａに示すＷＳＢ発見段階７０は、以下でより詳細に説明するデバイス発見プロセスとサービス発見プロセスの両方を含む。概して、ＷＳＢ発見段階７０中に、ＷＳＢクライアントデバイス７２は、クライアントデバイス７２によって提供されたＷＳＢサービスを広告し、ＷＳＢホストデバイス６２は、クライアントデバイス７２によって与えられたＷＳＢサービスを発見する。発見プロセスは、ＷＦＤＳアプリケーションサービスプラットフォームを使用してＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々において実行される。ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々におけるＷＳＢサービス構成要素は、発見プロセスを直接実施しないが、代わりに、ＷＳＢ発見段階７０の発見プロセスを実施するためにＡＳＰが重要なメカニズム（underlining mechanism）を使用することができるように関連するＡＳＰにサービス情報を与える。図４Ａに示すように、ＷＳＢ発見プロセス７０は、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々におけるＷＳＢサービス構成要素とＡＳＰとの間でＳｅｅｋＳｅｒｖｉｃｅメソッドとＡｄｖｅｒｔｉｓｅＳｅｒｖｉｃｅメソッドとを使用して実施され得る。
【００４５】
[0052]図４Ａに示すように、クライアントデバイス７２のＷＳＢサービス構成要素７４は、ＷＳＢ発見段階７０中に受信される発見要求への応答を開始するためにＡＳＰ７６にクライアントデバイス７２によって提供されるＷＳＢサービスを広告する。たとえば、ＷＳＢサービス構成要素７４は、発見プロセスを開始するためにＡＳＰ７６に、広告されるＷＳＢサービスのためのサービス情報を示すように構成された複数のパラメータを含むＡｄｖｅｒｔｉｓｅＳｅｒｖｉｃｅメソッドを呼び出す。
【００４６】
[0053]一例では、ＷＳＢ  ＡｄｖｅｒｔｉｓｅＳｅｒｖｉｃｅプリミティブは、ＡｄｖｅｒｔｉｓｅＳｅｒｖｉｃｅ（ｓｅｒｖｉｃｅ＿ｎａｍｅ，ａｕｔｏ＿ａｃｃｅｐｔ，ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎ，ｓｅｒｖｉｃｅ＿ｓｔａｔｕｓ）のフォーマットを有する。クライアントデバイス７２のＷＳＢサービス構成要素７４は、ｓｅｒｖｉｃｅ＿ｎａｍｅパラメータを「ｏｒｇ．ｗｉ−ｆｉ．ｗｆｄｓ．ｗｓｂ．ｃｌｉｅｎｔ」となるように指定し得る。他の例では、ｓｅｒｖｉｃｅ＿ｎａｍｅパラメータは、要求されたＵＳＢ機能をより詳細には識別するために設定され得る。代替のｓｅｒｖｉｃｅ＿ｎａｍｅパラメータ構造について、本開示の最後でより詳細に説明する。
【００４７】
[0054]ａｕｔｏ＿ａｃｃｅｐｔパラメータは、ＡＳＰ７６が、ＷＳＢセッション要求を自動的に受け入れるのか、またはＷＳＢサービス構成要素７４からセッション確認を受信するのを待つのかを示す。ＷＳＢサービス構成要素７４は、ユーザ構成またはポリシーによって決定されたようにａｕｔｏ＿ａｃｃｅｐｔパラメータの値を設定し得る。ｓｅｒｖｉｃｅ＿ｓｔａｔｕｓパラメータは、広告されたＷＳＢサービスが使用可能であるかどうかを示す。
【００４８】
[0055]ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎストリングは、本開示の最後でより詳細に説明するＸＭＬスキーマによって定義される要素「ｗｓｂＳｅｒｖｉｃｅＩｎｆｏｒｍａｔｉｏｎ」を含んでいる拡張マークアップ言語（ＸＭＬ）データの符号化テキストストリングである。ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎストリングは、ＷＳＢクライアントデバイス７２によって提供される、広告されたＷＳＢサービスのためのＵＳＢ機能情報について説明する。他の例では、ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎストリングは、ＷＳＢサービスのためのトランスポートモードを含む、要求されたＷＳＢサービスのためのＵＳＢ機能情報についてより詳細に説明し得る。代替のｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎパラメータ構造について、本開示の最後でより詳細に説明する。
【００４９】
[0056]本開示の技法によれば、ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎストリングは、ＷＳＢクライアントデバイス７２によってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードをさらに識別し得る。識別されたトランスポートモードは、ＷＳＢサービスのためのＷＳＢ接続が確立されると、ＭＡＵＳＢプロトコルが、ＩＰスタック上で展開され得るか、または直接ＭＡＣレイヤ上で展開され得るかを指定する。
【００５０】
[0057]他の例では、ＡｄｖｅｒｔｉｓｅＳｅｒｖｉｃｅプリミティブは、広告されるＷＳＢサービスのためのトランスポートモードを示すように構成された別個のパラメータを含み得る。たとえば、ＷＳＢ接続が確立されると、ＷＳＢクライアントデバイス７２によって実行されるＭＡＵＳＢプロトコルが、ＵＳＢデータ配信を実施するために直接ＭＡＣレイヤで動作する場合、トランスポートモードパラメータは０に等しく設定され得る。ＷＳＢ接続が確立されると、ＷＳＢクライアントデバイス７２によって実行されるＭＡＵＳＢプロトコルが、ＵＳＢデータ配信を実施するためにＩＰスタックで動作する場合、トランスポートモードパラメータは１に等しく設定され得る。
【００５１】
[0058]ＷＳＢクライアントデバイス７２のＡＳＰ７６は、広告されたＷＳＢサービスのために受信されたサービス発見要求およびデバイスのための応答を作成するために、ＷＳＢサービス構成要素７４によって広告されたパラメータを使用する。たとえば、ＡＳＰ７６は、ＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードを識別する広告されたＷＳＢサービスのためのサービス情報を作成し得る。
【００５２】
[0059]図４Ａに示すように、ホストデバイス６２のアプリケーション６３は、特定のＷＳＢサービスを使用するためにホストデバイス６２のＷＳＢサービス構成要素６４にサービス使用要求を送る。ＷＳＢサービス構成要素６４は、次いで、ＡＳＰ６６に、あるサービス能力を有する特定のＷＳＢサービスのための発見プロセスを開始するように要求する。たとえば、ＷＳＢサービス構成要素６４は、発見プロセスを開始するためにＡＳＰ６６に、要求されたＷＳＢサービスのためのサービス能力を示すように構成された複数のパラメータを含むＳｅｅｋＳｅｒｖｉｃｅメソッドを呼び出す。
【００５３】
[0060]一例では、ＷＳＢ  ＳｅｅｋＳｅｒｖｉｃｅプリミティブは、ＳｅｅｋＳｅｒｖｉｃｅ（ｓｅｒｖｉｃｅ＿ｎａｍｅ，ｅｘａｃｔ＿ｓｅａｒｃｈ，ｍａｃ＿ａｄｄｒｅｓｓ，ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｒｅｑｕｅｓｔ）のフォーマットを有する。サービス能力をもつ要求されたＷＳＢサービスを提供するＷＳＢクライアントデバイスを探索するために、ホストデバイス６２のＷＳＢサービス構成要素６４は、ｓｅｒｖｉｃｅ＿ｎａｍｅパラメータを「ｏｒｇ．ｗｉ−ｆｉ．ｗｆｄｓ．ｗｓｂ．ｃｌｉｅｎｔ」となるように指定し、ＷＳＢサービスを提供するデバイスだけを発見するためにｅｘａｃｔ＿ｓｅａｒｃｈパラメータを真に等しく設定し得る。他の例では、ｓｅｒｖｉｃｅ＿ｎａｍｅパラメータは、要求されたＵＳＢ機能をより詳細には識別するために設定され得る。代替のｓｅｒｖｉｃｅ＿ｎａｍｅパラメータ構造について、本開示の最後でより詳細に説明する。
【００５４】
[0061]さらに、ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｒｅｑｕｅｓｔストリングは、ＵＳＢ機能情報を記述するヌルとサブストリングのいずれかであり、クライアントデバイスによって広告されるｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎストリングにマッチすることが可能であり得る。いくつかの例では、ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｒｅｑｕｅｓｔストリングは、ＷＳＢサービスのためのトランスポートモードを含む、要求されたＷＳＢサービスのためのＵＳＢ機能情報をより詳細に記述するｓｅｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎストリングにマッチするように設定され得る。代替のｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎパラメータ構造について、本開示の最後でより詳細に説明する。
【００５５】
[0062]いくつかの例では、ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｒｅｑｕｅｓｔストリングは、ＷＳＢホストデバイス６２によってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードをさらに識別し得る。識別されたトランスポートモードは、ＷＳＢサービスのためのＷＳＢ接続が確立されると、ＭＡＵＳＢプロトコルが、ＩＰスタック上で展開され得るか、または直接ＭＡＣレイヤ上で展開され得るかを指定する。他の例では、ＳｅｅｋＳｅｒｖｉｃｅプリミティブは、要求されたＷＳＢサービスのためのトランスポートモードを示すように構成された別個のパラメータを含み得る。
【００５６】
[0063]ＷＳＢホストデバイス６２のＡＳＰ６６は、要求されたＷＳＢサービスのためのサービス発見とデバイス発見とを実施するために、ＷＳＢサービス構成要素６４によって与えられたパラメータを使用する。ＡＳＰ６６は、要求されたＷＳＢサービスのためのサービス名に基づいてサービスハッシュを含むＰ２Ｐプローブ要求メッセージを送ることによってデバイス発見を実施する。要求されたサービス名が広告されたサービス名にマッチする場合、ＡＳＰ７６は、ホストデバイス６２にＰ２Ｐプローブ応答メッセージを送る。
【００５７】
[0064]ＡＳＰ６６はまた、ＷＳＢサービス構成要素６４によって与えられたパラメータに基づいてサービス名とサービス情報要求とを含むＰ２Ｐサービス発見要求メッセージを送ることによって、サービス発見、すなわち、アソシエーション（関連付け）前のサービス発見を実施する。たとえば、サービス情報要求は、要求されたＷＳＢサービスのためのｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎ＿ｒｅｑｕｅｓｔストリングを示し得る。要求されたＷＳＢサービスについてのサービス情報要求が、広告されたＷＳＢサービスのためのサービス情報にマッチする場合、ＡＳＰ７６は、クライアントデバイス７２が要求されたＷＳＢサービスを提供することを確認するために、ホストデバイス６２にＰ２Ｐサービス発見応答メッセージを送る。Ｐ２Ｐサービス発見応答メッセージは、ＷＳＢクライアントデバイス７２によってサポートされるＭＡＵＳＢプロトコルのためのトランスポートモードを識別する広告されたＷＳＢサービスのためのサービス情報を含む。
【００５８】
[0065]Ｐ２Ｐプローブ応答メッセージおよび／またはＰ２Ｐサービス発見応答メッセージを受信すると、ホストデバイス６２のＡＳＰ６６は、発見されたＷＳＢサービスを報告するためにＷＳＢサービス構成要素６４にＳｅａｒｃｈＲｅｓｕｌｔｓイベントを送る。ＷＳＢサービス構成要素６４は、次いで、要求されたＷＳＢサービスを提供するものとしてクライアントデバイス７２を識別するデバイスリストをアプリケーション６３に報告する。
【００５９】
[0066]概して、Ｐ２Ｐ接続セットアップ段階７１中に、ＷＳＢホストデバイス６２は、Ｗｉ−Ｆｉ  Ｐ２Ｐグループ中のデータリンクレイヤ、すなわち、ＭＡＣレイヤにおいてＷＳＢクライアントデバイス７２に接続する。接続プロセスは、ＷＦＤＳアプリケーションサービスプラットフォームを使用してＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々において実行される。ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々におけるＷＳＢサービス構成要素は、Ｐ２Ｐプロビジョン発見（Ｐ２Ｐ  Provision  Discovery）、Ｐ２Ｐグループ形成（Ｐ２Ｐ  Group  Formation）、またはＰ２Ｐ勧誘（Ｐ２Ｐ  Invitation）を含む接続プロセスを直接実施しないが、代わりに、Ｐ２Ｐ接続セットアップ段階７１の接続プロセスを実施するためにＡＳＰが重要なメカニズム（underlining mechanism）を使用することができるように関連するＡＳＰに情報を与える。図４Ａに示すように、Ｐ２Ｐ接続セットアップ段階７１は、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々におけるＷＳＢサービス構成要素とＡＳＰとの間でＣｏｎｎｅｃｔＳｅｓｓｉｏｎｓメソッドとＣｏｎｆｉｒｍＳｅｓｓｉｏｎメソッドとを使用して実施され得る。
【００６０】
[0067]図４Ａに示すように、ホストデバイス６２のアプリケーション６３は、ユーザ入力に従ってデバイスリストから選択デバイスを示す。ＷＳＢホストデバイス６２のＷＳＢサービス構成要素６４は、ＷＳＢクライアントデバイス７２によって提供される発見されたＷＳＢサービスについてのＷＳＢセッション要求を開始するようにＡＳＰ６６に要求する。たとえば、ＷＳＢサービス構成要素６４は、ＷＳＢクライアントデバイス７２を識別することと、Ｐ２Ｐ接続をどのように確立するかを示すことと、ＷＳＢセッションを要求することとを行うように構成されたパラメータを含むＣｏｎｎｅｃｔＳｅｓｓｉｏｎｓメソッドを呼び出す。
【００６１】
[0068]さらに、本開示の技法によれば、ＷＳＢサービス構成要素６４は、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのためのトランスポートモードを選択する。たとえば、ＷＳＢサービス構成要素６４は、ＷＳＢクライアントデバイス７２からのサービス情報中で識別されるサポートされるトランスポートモードとＷＳＢホストデバイス６２のトランスポートモード選好とに基づいて、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのためのトランスポートモードを選択し得る。
【００６２】
[0069]一例では、ＷＳＢ  ＣｏｎｎｅｃｔＳｅｓｓｉｏｎｓプリミティブは、ＣｏｎｎｅｃｔＳｅｓｓｉｏｎｓ（Ｌｉｓｔ  ｏｆ（ｓｅｒｖｉｃｅ＿ｍａｃ、ａｄｖｅｒｔｉｓｅｍｅｎｔ＿ｉｄ），ｓｅｓｓｉｏｎ＿ｉｎｆｏｒｍａｔｉｏｎ，ｎｅｔｗｏｒｋ＿ｒｏｌｅ）のフォーマットを有する。ｓｅｓｓｉｏｎ＿ｉｎｆｏｒｍａｔｉｏｎストリングは、ＸＭＬスキーマによって定義される要素「ｗｓｂＳｅｓｓｉｏｎＩｎｆｏｒｍａｔｉｏｎ」を含んでいるＸＭＬデータの符号化テキストストリングである。ＸＭＬデータは、接続開始を受け入れるべきかどうかに関する決定を行うためにＷＳＢクライアントデバイス７２によって使用され得るＰＩＮを含んでいる。ｎｅｔｗｏｒｋ＿ｒｏｌｅパラメータは、ＡＳＰ６６に、ホストデバイス６２が、要求されたＷＳＢセッションのためのＰ２Ｐグループオーナー（ＧＯ：group owner）であると主張するか、または主張するのに関心がないかを識別する。Ｐ２Ｐ接続は、同じＷＳＢセッションについてホストデバイス６２とクライアントデバイス７２の両方がＰ２Ｐ  ＧＯであると同時に主張しない限り確立され得る。
【００６３】
[0070]本開示の技法によれば、ｓｅｓｓｉｏｎ＿ｉｎｆｏｒｍａｔｉｏｎは、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのための選択されたトランスポートモードを示すように構成されたｔｒａｎｓｐｏｒｔ＿ｍｏｄｅパラメータを含む。たとえば、ＷＳＢ接続が確立されると、ＷＳＢホストデバイス６２によって実行されるＭＡＵＳＢプロトコルが、ＵＳＢデータ配信を実施するために直接ＭＡＣレイヤで動作する場合、トランスポートモードパラメータは０に等しく設定され得る。ＷＳＢ接続が確立されると、ＷＳＢホストデバイス６２によって実行されるＭＡＵＳＢプロトコルが、ＵＳＢデータ配信を実施するためにＩＰスタックで動作する場合、トランスポートモードパラメータは１に等しく設定され得る。
【００６４】
[0071]ＷＳＢホストデバイス６２のＡＳＰ６６は、Ｐ２Ｐプロビジョン発見要求メッセージとＰ２Ｐプロビジョン発見応答メッセージとをＷＳＢクライアントデバイス７２と交換することによって接続プロセスを実施する。プロビジョン発見交換は、ホストデバイス６２とクライアントデバイス７２との間のＰ２Ｐ接続がどのように確立されることになるのかと、各デバイスによって仮定されるネットワークロールと、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのために使用されるトランスポートモードとを決定する。たとえば、Ｐ２Ｐプロビジョン発見要求メッセージは、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのための選択されたトランスポートモードを示すセッション情報を含む。Ｐ２Ｐプロビジョン発見要求および応答メッセージの交換中に、ホストデバイス６２のＡＳＰ６６は、ＷＳＢサービス要求のステータスを送信（Sent）から延期（Deferred）、受入れ（Accepted）に更新する。
【００６５】
[0072]一例として、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２との間に以前に形成されたＰ２Ｐ永続グループ（Persistent Group）がない場合、ホストデバイス６２のＡＳＰ６６は、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２との間のＰ２Ｐグループを作成するためにＰ２Ｐプロビジョン発見プロシージャとＰ２Ｐグループ形成プロシージャとを実行する。別の例として、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２との間に、ホストデバイス６２のＡＳＰ６６が使用しようとする、以前に形成された既存のＰ２Ｐ永続グループがある場合、ＡＳＰ６６は、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２との間のＰ２Ｐグループを再呼出しするためにＰ２Ｐプロビジョン発見プロシージャとＰ２Ｐ勧誘（Invitation）プロシージャとを実行する。
【００６６】
[0073]ＷＳＢホストデバイス６２からのＰ２Ｐプロビジョン発見要求の受信に応答して、ＷＳＢクライアントデバイス７２のＡＳＰ７６は、ＷＳＢセッション開始要求を受け入れるべきか拒否すべきかの決定を要求するためにＷＳＢサービス構成要素７４にＳｅｓｓｉｏｎＲｅｑｕｅｓｔイベントを送る。一例では、ＷＳＢ  ＳｅｓｓｉｏｎＲｅｑｕｅｓｔイベントは、ＳｅｓｓｉｏｎＲｅｑｕｅｓｔ（ａｄｖｅｒｔｉｓｅｍｅｎｔ＿ｉｄ、ｓｅｓｓｉｏｎ＿ｍａｃ，ｓｅｓｓｉｏｎ＿ｄｅｖｉｃｅ＿ｎａｍｅ，ｓｅｓｓｉｏｎ＿ｉｄ、ｓｅｓｓｉｏｎ＿ｉｎｆｏｒｍａｔｉｏｎ）のフォーマットを有する。ＳｅｓｓｉｏｎＲｅｑｕｅｓｔプリミティブ中に含まれるパラメータは、ＷＳＢクライアントデバイス７２とＷＳＢサービスのための要求されたＷＳＢセッションとを識別するように構成される。
【００６７】
[0074]ＷＳＢクライアントデバイス７２が、ＳｅｓｓｉｏｎＲｅｑｕｅｓｔイベントを介して着信サービス要求を受信し、ＡｄｖｅｒｔｉｓｅＳｅｒｖｉｃｅメソッドが呼び出されたときにａｕｔｏ＿ａｃｃｅｐｔが偽に設定された場合、クライアントデバイス７２のアプリケーション７３は、受信されたｓｅｓｓｉｏｎ＿ｉｎｆｏｒｍａｔｉｏｎストリングに基づいてＷＳＢセッション開始を受け入れるべきかどうかに関する決定を行うべきである。上記で説明したように、ｓｅｓｓｉｏｎ＿ｉｎｆｏｒｍａｔｉｏｎストリングは、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのための選択されたトランスポートモードを示すように構成されたｔｒａｎｓｐｏｒｔ＿ｍｏｄｅパラメータを含む。ＭＡＵＳＢプロトコルのための選択されたトランスポートモードが、クライアントデバイス７２によってサポートされるトランスポートモードのうちの１つである限り、クライアントデバイス７２のアプリケーション７３は、要求されたＷＳＢセッションを受け入れるべきである。
【００６８】
[0075]ＷＳＢクライアントデバイス７２のアプリケーション７３は、ＷＳＢホストデバイス６２からｓｅｓｓｉｏｎ＿ｉｎｆｏｒｍａｔｉｏｎストリング中で受信されたＰＩＮを処理し得る。ＷＳＢクライアントデバイス７２は、ＰＩＮの期待値で構成され得る。ＰＩＮテキストストリングが、ＷＳＢクライアントデバイス７２の期待値にマッチする場合、アプリケーション７３は、ＣｏｎｆｉｒｍＳｅｓｓｉｏｎメソッドを呼び出すことによってＳｅｓｓｉｏｎＲｅｑｕｅｓｔイベントを受け入れることを確認し得る。
【００６９】
[0076]一例では、ＷＳＢ  ＣｏｎｆｉｒｍＳｅｓｓｉｏｎメソッドは、ＣｏｎｆｉｒｍＳｅｓｓｉｏｎ（ｓｅｓｓｉｏｎ＿ｍａｃ，ｓｅｓｓｉｏｎ＿ｉｄ，ｃｏｎｆｉｒｍｅｄ）のフォーマットを有する。ＣｏｎｆｉｒｍＳｅｓｓｉｏｎメソッド中に含まれるパラメータは、ＷＳＢサービスのための要求されたＷＳＢセッションを識別し、ＷＳＢセッション開始が受け入れられるかどうかを識別する。たとえば、ＷＳＢクライアントデバイス７２のアプリケーション７３が、ＳｅｓｓｉｏｎＲｅｑｕｅｓｔイベントの受入れを確認すると、クライアントデバイス７２のＷＳＢサービス構成要素７４は、確認されたパラメータを真に等しく設定した状態で、ＣｏｎｆｉｒｍＳｅｓｓｉｏｎメソッドを呼び出すことになる。要求されたＷＳＢ接続開始の受入れに応答して、ホストデバイス６２のＡＳＰ６６とクライアントデバイス７２のＡＳＰ７６とは、Ｐ２Ｐグループ形成のステータスを開始から完了まで更新する。
【００７０】
[0077]概して、ＷＳＢセッションセットアップ段階７５中に、ＷＳＢホストデバイス６２は、接続されたＷＳＢクライアントデバイス７２とのＡＳＰセッションをセットアップし、ＷＳＢクライアントデバイス７２は、セッションセットアップ試みを受け入れるべきかどうかを決定するために、セッションセットアップ中にＷＳＢホストデバイス７２によって与えられた情報を使用し得る。セッションセットアッププロセスは、ＷＦＤＳアプリケーションサービスプラットフォームを使用してＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々において実行される。ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々におけるＷＳＢサービス構成要素は、セッションセットアッププロセスを直接実施しないが、代わりに、ＷＳＢセッションセットアップ段階７５のセッションセットアッププロセスを実施するためにＡＳＰが重要なメカニズム（underlining mechanism）を使用することができるように関連するＡＳＰに情報を与える。図４Ｂに示すように、ＷＳＢセッションセットアッププロセス７５は、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々におけるＷＳＢサービス構成要素とＡＳＰとの間でＢｏｕｎｄＰｏｒｔメソッドとオプションでＡｃｔｉｖａｔｅＥｔｈｅｒｔｙｐｅメソッドとを使用して実施され得る。
【００７１】
[0078]図４Ｂに示すように、ＷＳＢサービスのためのＰ２Ｐ接続の確立の後に、ＷＳＢホストデバイス６２のＡＳＰ６６は、ＷＳＢサービスのためのＡＳＰ協調プロトコルを使用してＡＳＰ  Ｒｅｑｕｅｓｔ＿Ｓｅｓｓｉｏｎメッセージを送ることによってＷＳＢセッションセットアップ処理を実施する。本開示の技法によれば、ＡＳＰ  Ｒｅｑｕｅｓｔ＿Ｓｅｓｓｉｏｎメッセージは、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのための選択されたトランスポートモードを示すｓｅｓｓｉｏｎ＿ｉｎｆｏｒｍａｔｉｏｎストリングを含む。
【００７２】
[0079]ＡＳＰ  Ｒｅｑｕｅｓｔ＿Ｓｅｓｓｉｏｎメッセージを受信すると、ＷＳＢクライアントデバイス７２のＡＳＰ７６は、ＷＳＢセッションステータスを要求（Requested）に更新する。ステータス更新に応答して、クライアントデバイス７２のＷＳＢサービス構成要素７４は、ＳｅｓｓｉｏｎＲｅａｄｙメソッドを呼び出すことによって、要求されたＷＳＢセッションをオープンし得る。他の例では、ＷＳＢサービス構成要素７４は、代わりに、要求されたＷＳＢセッションをアボートすることを決定し得る。
【００７３】
[0080]ＷＳＢサービス構成要素７４が要求されたＷＳＢセッションをオープン（開く）と、ＷＳＢサービス構成要素６４は、次いで、ＷＳＢセッション中のＭＡＵＳＢプロトコルのための選択されたトランスポートモードに基づいてＡＳＰ７６におけるデータパケット処理をアクティブ化し得る。たとえば、ＷＳＢサービス構成要素６４は、ＷＳＢサービスのためのＭＡＵＳＢプロトコルがＩＰスタック上で展開されるとき、確立されたＷＳＢセッションに関連するポートをオープンする（開く）ためにＢｏｕｎｄＰｏｒｔメソッドを呼び出す。一例では、ＷＳＢ  ＢｏｕｎｄＰｏｒｔメソッドは、ＢｏｕｎｄＰｏｒｔ（ｓｅｓｓｉｏｎ＿ｍａｃ、ｓｅｓｓｉｏｎ＿ｉｄ，ｉｐ＿ａｄｄｒｅｓｓ，ｐｏｒｔ，ｐｒｏｔｏ）のフォーマットを有する。ＷＳＢクライアントデバイス７２のＷＳＢサービス構成要素７４は、ＭＡＵＳＢプロトコルのためのＡＳＰ７６において１つの伝送制御プロトコル（ＴＣＰ）ポートと１つのＵＤＰポートとをオープンするためにＢｏｕｎｄＰｏｒｔメソッドを呼び出す。ＷＳＢサービス構成要素７４は、決定されるべきポート値と、ＴＣＰを示すプロト値の６とを使用し得る。ＷＳＢサービス構成要素７４はまた、決定されるべきポート値と、ＵＤＰを示すプロト値の１７とを使用し得る。
【００７４】
[0081]本開示の技法によれば、ＷＳＢサービス構成要素６４は、ＷＳＢサービスのためのＭＡＵＳＢプロトコルが直接ＭＡＣレイヤ上で展開されるとき、ＡＳＰ７６においてデータパケット処理をアクティブ化するために別個のメソッドを呼び出す必要がないことがある。他の例では、ＷＳＢサービス構成要素７４は、ＷＳＢサービスのためのＭＡＵＳＢプロトコルが直接ＭＡＣレイヤ上で展開されるとき、特定のイーサネット（登録商標）タイプの処理をアクティブ化するためにＡｃｔｉｖａｔｅＥｔｈｅｒｔｙｐｅメソッドを呼び出し得る。一例では、ＷＳＢ  ＡｃｔｉｖａｔｅＥｔｈｅｒｔｙｐｅメソッドは、ＡｃｔｉｖａｔｅＥｔｈｅｒＴｙｐｅ（ｓｅｓｓｉｏｎ＿ｍａｃ、ｓｅｓｓｉｏｎ＿ｉｄ，ｅｔｈｅｒ＿ｔｙｐｅ）のフォーマットを有する。ｅｔｈｅｒ＿ｔｙｐｅパラメータは、ＷＳＢサービスのための特定のイーサネットタイプを示すように構成される。ＭＡＵＳＢプロトコルを識別するために使用されるｅｔｈｅｒ＿ｔｙｐｅ値は、ＷＦＤＳ技術仕様または別の仕様の一部として後で決定され得る。
【００７５】
[0082]ＷＳＢサービス構成要素７４によるＳｅｓｓｉｏｎＲｅａｄｙメソッド呼出しは、ＡＳＰ７６に、ＷＳＢセッションのステータスをオープン（開）に更新させる。さらに、ＡＳＰ７６は、ＷＳＢサービスのためのＡＳＰ協調プロトコルを使用して、ＡＳＰにＡｄｄｅｄ＿Ｓｅｓｓｉｏｎメッセージを送る。  ＡＳＰ  Ａｄｄｅｄ＿Ｓｅｓｓｉｏｎメッセージを受信すると、ホストデバイス６２のＡＳＰ６６は、ＷＳＢセッションのステータスをオープン（開）に更新する。ＷＳＢホストデバイス６２のＷＳＢサービス構成要素６４は、次いで、ＷＳＢセッション中のＭＡＵＳＢプロトコルのための選択されたトランスポートモードに基づいてＡＳＰ６６においてデータパケット処理をアクティブ化し得る。たとえば、ＷＳＢサービス構成要素６４は、ポートを開くか、または確立されたＷＳＢセッションに関連するイーサネットタイプをアクティブ化するためにＢｏｕｎｄＰｏｒｔメソッドまたはオプションでＡｃｔｉｖａｔｅＥｔｈｅｒＴｙｐｅメソッドを呼び出し得る。
【００７６】
[0083]ＷＳＢセッションセットアッププロセス７５が完了した後、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々におけるＷＳＢサービス構成要素は、ＵＳＢデバイス列挙（enumeration）を実施し、Ｐ２Ｐワイヤレス接続でＷＳＢセッションのためのＭＡＵＳＢパケットを交換するために、ＭＡＵＳＢプロトコルをアクティブ化する。ＭＡＵＳＢプロトコルは、ＷＳＢセッションのためのサポートされるトランスポートモードのうちの選択された１つに従ってＵＳＢデバイス列挙とＵＳＢデータ配信との動作を実施し得る。
【００７７】
[0084]ＷＳＢセッションティアダウン（切断）段階７７中に、ＷＳＢホストデバイス６２は、確立されたＷＳＢセッションをクローズする（閉じる）ことによってＷＳＢサービスを終了する。セッションティアダウンプロセスは、ＷＦＤＳアプリケーションサービスプラットフォームを使用してＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々において実行される。ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の各々におけるＷＳＢサービス構成要素は、セッションティアダウンプロセスを直接実施しないが、代わりに、ＷＳＢセッションティアダウン段階７７のセッションティアダウンプロセスを実施するためにＡＳＰが重要なメカニズム（underlining mechanism）を使用することができるように関連するＡＳＰに情報を与える。図４Ｂに示すように、ＷＳＢセッションティアダウンプロセス７７は、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２のいずれかにおけるＷＳＢサービス構成要素とＡＳＰとの間でＣｌｏｓｅＳｅｓｓｉｏｎメソッドを使用して実施され得る。
【００７８】
[0085]図４Ｂに示すように、セッションティアダウンプロセスは、ホストデバイス６２のアプリケーション６３によって明示的にトリガされ得る。他の例では、セッションティアダウンプロセスは、ホストデバイス６２のＷＳＢサービス構成要素６４によって自律的にトリガされ得る。さらに他の例では、ＷＳＢホストデバイス６２は、（１）ＷＳＢホストアプリケーション６３がユーザからＷＳＢセッションをティアダウンするようにとの明示的命令を受信する、ＷＳＢクライアントアプリケーション７３がユーザからＷＳＢセッションをティアダウンするようにとの明示的命令を受信する、（３）ＷＳＢホストデバイス６２上で実行されるＭＡＵＳＢプロトコルが、ある時間期間にわたってＷＳＢクライアントデバイス７２に達することができないことを検出し、ＷＳＢサービス構成要素６４にＷＳＢセッションをティアダウンするという指示を送る、および（４）Ｐ２Ｐ接続失敗の後に、ＷＳＢホストデバイス６２のＡＳＰ６６が、ＭＡＣレイヤにおいてクライアントデバイス７２に再接続しようとするが、何回も失敗する、との条件のいずれかの下で、確立されたＷＳＢセッションをティアダウンし得る。
【００７９】
[0086]特定の確立されたＷＳＢセッションをティアダウンするために、ＷＳＢサービス構成要素６４は、特定のＷＳＢセッションのためのセッションティアダウンプロセスを開始することをＡＳＰ６６に要求する。たとえば、ＷＳＢサービス構成要素６４は、特定のＷＳＢセッションがクローズした（閉じた）ことを識別するように構成されたパラメータを含むＣｌｏｓｅＳｅｓｓｉｏｎメソッドを呼び出す。一例では、ＣｌｏｓｅＳｅｓｓｉｏｎプリミティブは、ＣｌｏｓｅＳｅｓｓｉｏｎ（ｓｅｓｓｉｏｎ＿ｍａｃ，ｓｅｓｓｉｏｎ＿ｉｄ）のフォーマットを有する。
【００８０】
[0087]ＷＳＢセッションのためのＭＡＵＳＢプロトコルがＩＰスタック上で展開される場合、ＣｌｏｓｅＳｅｓｓｉｏｎメソッドがＷＳＢホストデバイス６２のＡＳＰ６６によって実行されると、クローズされるべきＷＳＢセッションに関連付けられ、他のオープンＡＳＰセッションに関連付けられないポートがブロック状態に戻ることになる。場合によっては、ＷＳＢサービス構成要素６４は、ＡＳＰ６６においてポートをブロックするためにＲｅｌｅａｓｅＰｏｒｔメソッドを呼び出し得る。ＷＳＢサービスのためのＭＡＵＳＢプロトコルが直接ＭＡＣレイヤ上で展開される場合、ＣｌｏｓｅＳｅｓｓｉｏｎメソッドがＡＳＰ６６によって実行されると、終了されるべきＷＳＢセッションのためのＭＡＵＳＢプロトコルのために使用され、他のオープンＡＳＰセッションで使用されないイーサネットタイプの処理が非アクティブ化される。場合によっては、ＷＳＢサービス構成要素６４は、ＡＳＰ６６においてイーサタイプを非アクティブ化するためにＤｅａｃｔｉｖｅＥｔｈｅｒＴｙｐｅメソッドを呼び出し得る。ＷＳＢクライアントデバイス７２のＷＳＢサービス構成要素７４は、ポートをブロックし、クローズされたＷＳＢセッションに関連するイーサネットタイプを非アクティブ化するために、同じメソッドを呼び出し得る。
【００８１】
[0088]ＷＳＢホストデバイス６２のＡＳＰ６６は、ＡＳＰ協調プロトコルを使用してＲｅｍｏｖｅ＿Ｓｅｓｓｉｏｎメッセージを送ることによってＷＳＢクライアントデバイス７２とのＷＳＢセッションを閉じる。Ｒｅｍｏｖｅ＿Ｓｅｓｓｉｏｎメッセージを受信すると、クライアントデバイス７２のＡＳＰ７６は、ＷＳＢセッションのステータスをクローズ（閉）に更新する。Ｒｅｍｏｖｅ＿Ｓｅｓｓｉｏｎメッセージの肯定応答を受信すると、ホストデバイス６２のＡＳＰ６６は、ＷＳＢセッションのステータスをクローズ（閉）に更新する。ＷＳＢセッションが閉じられると、ホストデバイス６２のＡＳＰ６６とクライアントデバイス７２のＡＳＰ７６とはディアソシエーションメッセージを送るためにオーバージエアメッセージングを実行する。
【００８２】
[0089]図５は、直接ＭＡＣレイヤ上で展開されるＷＳＢサービスのためのＡＳＰ協調プロトコルをカプセル化する例示的なパケット構造８０を示す概念図である。上記で説明したように、ＷＳＢサービスのためのＡＳＰ協調プロトコルは、ＩＰスタックで動作するか、あるいは直接ＭＡＣレイヤ（すなわち、生（raw）ＭＡＣ）で動作し得る。ＡＳＰ、たとえば、図３からのＡＳＰ４４は、Ｐ２Ｐ接続セットアップ段階中に交換されるＡＳＰ固有情報に基づいてどのトランスポートモードをＡＳＰ協調プロトコルが使用すべきかを選択する。詳細には、プロビジョン発見要求は、プロビジョン発見要求中の協調プロトコルトランスポートビットマスクに基づいてＡＳＰ協調プロトコルのための選択されたトランスポートモードを識別し、プロビジョン発見応答は、プロビジョン発見応答中の協調プロトコルトランスポートビットマスクに基づいてＡＳＰ協調プロトコルのための選択されたトランスポートモードを確認する。
【００８３】
[0090]直接ＭＡＣレイヤ上でＡＳＰ協調プロトコルを展開すると、ＡＳＰ協調プロトコルデータ８８は、ＡＳＰ協調プロトコルを識別するサブネットワークアクセスプロトコル（ＳＮＡＰ）ヘッダ８６によってカプセル化される。図５に示すように、パケット構造８０は、ＩＥＥＥ８０２．１１ＭＡＣヘッダ８２と、論理リンク制御（ＬＬＣ：logical link control）ヘッダ８４と、ＳＮＡＰヘッダ８６と、プロトコルデータ８８と、フレーム検査シーケンス（ＦＣＳ：frame check sequence）８９とを含む。ＭＡＣヘッダ８２は、パケットのソースＭＡＣアドレスと宛先ＭＡＣアドレスとを含み、たとえば、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とのＭＡＣアドレスを含み得る。ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とは、直接ＭＡＣレイヤでＡＳＰ協調プロトコル通信を実施するために、パケット構造８０を有するパケットを送信し得る。
【００８４】
[0091]図５の例では、ＬＬＣヘッダ８４は、値０ｘＡＡを有する宛先サービスアクセスポイント（ＤＳＡＰ：destination service access point）フィールドと、値０ｘＡＡを有するソースサービスアクセスポイント（ＳＳＡＰ）ヘッダと、値０ｘ０３を有する非番号制情報（ＵＩ）または制御フィールドとを含み得る。ＬＬＣヘッダ８４中に含まれる３つのフィールドの各々は、１オクテットサイズのフィールド値を備える。さらに、ＳＮＡＰヘッダ８６は、５オクテットサイズのプロトコル識別フィールドを含み、プロトコル識別フィールドは、ＳＮＡＰ上で動作するプロトコルを識別する３オクテットサイズの組織固有識別子（ＯＵＩ：Organizationally Unique Identifier）値と２オクテットサイズのプロトコル識別ＯＵＩタイプ値とを含む。図５に示すように、ＯＵＩ値は、１６進値の０ｘ５０−６Ｆ−９Ａを有し得るＷｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（ＷＦＡ）固有ＯＵＩ値である。図５にさらに示すように、プロトコル識別ＯＵＩタイプ値は、１６進値の０ｘ１４−００を有し得るＡＳＰ固有ＯＵＩタイプ値である。ＡＳＰ協調プロトコルを識別するために使用されるＡＳＰ  ＯＵＩタイプ値は、ＷＦＤＳ技術仕様または別の仕様の一部として後で割り当てられ得る。
【００８５】
[0092]パケット構造８０は、ＡＳＰ協調プロトコルに関連するメッセージと、機能と、イベントと、コマンドと、ペイロードとを含み得るＡＳＰ協調プロトコルデータ８８をさらに含む。ＡＳＰ協調プロトコルデータ８８は、送られているメッセージとメッセージのコンテンツとに応じて可変長になり得る。ＦＣＳ８９は、パケットフォーマット８０のコンテンツに基づいてチェックサムまたはフレーム検査シーケンスを備え、ＦＣＳ８９により、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とが、データ送信中にコンテンツが破損したかどうかを検出することが可能になる。
【００８６】
[0093]図６は、直接ＭＡＣレイヤ上で展開されるＷＳＢサービスのためのＭＡＵＳＢプロトコルをカプセル化する例示的なパケット構造９０を示す概念図である。上記で説明したように、ＷＳＢサービスの各ＷＳＢセッションのためのＭＡＵＳＢプロトコルは、ＩＰスタックで動作するか、あるいは直接ＭＡＣレイヤ（すなわち、生ＭＡＣ）で動作し得る。ワイヤレスサービスシーカー１２は、ワイヤレスサービスアドバタイザ１４によって広告されるサービス情報中に識別される、１つまたは複数サポートされるトランスポートモードと、ＷＳＢセッションのためのワイヤレスサービスシーカー１２のトランスポートモード選好とに基づいて、どのトランスポートモードをＷＳＢセッションのためにＭＡＵＳＢプロトコルが使用すべきかを選択する。
【００８７】
[0094]直接ＭＡＣレイヤでＭＡＵＳＢプロトコルを展開すると、ＭＡＵＳＢプロトコルデータ９８は、ＷＳＢサービスのためのＭＡＵＳＢプロトコルを識別するサブネットワークアクセスプロトコル（ＳＮＡＰ）ヘッダ９６によってカプセル化される。図６に示すように、パケット構造９０は、ＩＥＥＥ８０２．１１ＭＡＣヘッダ９２と、論理リンク制御（ＬＬＣ）ヘッダ９４と、ＳＮＡＰヘッダ９６と、プロトコルデータ９８と、フレーム検査シーケンス（ＦＣＳ）９９とを含む。ＭＡＣヘッダ９２は、パケットのソースＭＡＣアドレスと宛先ＭＡＣアドレスとを含み、たとえば、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とのＭＡＣアドレスを含み得る。ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とは、直接ＭＡＣレイヤでＭＡＵＳＢプロトコルデータを交換するために、パケット構造９０を有するパケットを送信し得る。
【００８８】
[0095]図６の例では、ＬＬＣヘッダ９４は、値０ｘＡＡを有する宛先サービスアクセスポイント（ＤＳＡＰ）フィールドと、値０ｘＡＡを有するソースサービスアクセスポイント（ＳＳＡＰ）ヘッダと、値０ｘ０３を有する非番号制情報（ＵＩ）または制御フィールドとを含み得る。ＬＬＣヘッダ９４中に含まれる３つのフィールドの各々は、１オクテットサイズのフィールド値を備える。さらに、ＳＮＡＰヘッダ９６は、５オクテットサイズのプロトコル識別フィールドを含み、プロトコル識別フィールドは、ＳＮＡＰ上で動作するプロトコルを識別する３オクテットサイズの組織固有識別子（ＯＵＩ）値と２オクテットサイズのプロトコル識別ＯＵＩタイプ値とを含む。図６に示すように、ＯＵＩ値は、１６進値の０ｘ５０−６Ｆ−９Ａを有し得るＷｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（ＷＦＡ）固有ＯＵＩ値である。図６にさらに示すように、プロトコル識別ＯＵＩタイプ値は、１６進値の０ｘ１５−００を有し得るＷＳＢ固有ＯＵＩタイプ値である。ＭＡＵＳＢプロトコルを識別するために使用されるＷＳＢ  ＯＵＩタイプ値は、ＷＦＤＳ技術仕様または別の仕様の一部として後で割り当てられ得る。
【００８９】
[0096]パケット構造９０は、ＭＡＵＳＢプロトコルに関連するデータと他のペイロードとを含み得るＭＡＵＳＢプロトコルデータ９８をさらに含む。ＭＡＵＳＢプロトコルデータ９８は、送られているメッセージとメッセージのコンテンツとに応じて可変長になり得る。ＦＣＳ９９は、パケットフォーマット９０のコンテンツに基づいてチェックサムまたはフレーム検査シーケンスを備え、ＦＣＳ９９により、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とが、データ送信中にコンテンツが破損したかどうかを検出することが可能になる。
【００９０】
[0097]図７は、ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのトランスポートモードをネゴシエートするワイヤレスサービスアドバタイザの例示的な動作を示すフローチャートである。図７の例示的な動作について、図３からのＷＳＢアーキテクチャ４０を有する図１からのワイヤレスサービスアドバタイザ１４に関して説明する。他の例では、動作は、サービスアドバタイザとして動作する図２からのＷＳＢ周辺デバイス２４、ＷＳＢ  ＰＡＬデバイス２６またはＷＳＢハブデバイス３２のいずれかによって実施され得る。
【００９１】
[0098]ワイヤレスサービスアドバタイザ１４は、ワイヤレスサービスアドバタイザ１４によってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含むＷＳＢサービスのための広告を送信する（１００）。ＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードは、ＩＰスタック上でのものと直接ＭＡＣレイヤ上でのものとの一方または両方を含み得る。さらに、広告されたＷＳＢサービスのためのサービス情報はまた、ワイヤレスサービスアドバタイザ１４によって提供される１つまたは複数のＵＳＢ機能を識別する。
【００９２】
[0099]ワイヤレスサービスアドバタイザ１４のＷＳＢアーキテクチャ４０に関して、ＷＳＢサービス構成要素５０は、ＡＳＰ４４にＷＳＢサービスを広告する。ＡＳＰ４４は、ワイヤレスサービスシーカー１２などの他のワイヤレスデバイスから、あるサービス能力を要求するサービス発見要求を受信する。ＡＳＰ４４は、提供されたＷＳＢサービスと要求されたサービス能力との間の名前およびサービス情報マッチを実施する。提供されたＷＳＢサービスとワイヤレスサービスシーカー１２からの要求されたサービス能力との間のマッチに基づいて、ＡＳＰ４４は、提供されたＷＳＢサービスのサービス情報を含むサービス発見応答を生成し、それをワイヤレスサービスシーカー１２に送る。
【００９３】
[0100]ワイヤレスサービスアドバタイザ１４は、次いで、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含む、提供されたＷＳＢサービスのＷＳＢセッションについての要求をワイヤレスサービスシーカー１２から受信する（１０２）。要求されたＷＳＢセッションを受け入れると、ワイヤレスサービスアドバタイザ１４とワイヤレスサービスシーカー１２とは、ワイヤレスサービスアドバタイザ１４とワイヤレスサービスシーカー１２との間のワイヤレス接続でＷＳＢサービスのＷＳＢセッションを確立する（１０４）。
【００９４】
[0101]ＷＳＢセッションセットアップは、Ｐ２Ｐ接続で、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４との間のＰ２Ｐワイヤレス接続を確立し、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とのＡＳＰ間にＡＳＰセッションを確立する２段階ネゴシエーションを含む。たとえば、ＡＳＰ４４は、Ｐ２Ｐワイヤレス接続を確立するために、ワイヤレスサービスシーカー１２からプロビジョン発見要求を受信し得る。プロビジョン発見要求は、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含む。ワイヤレスサービスアドバタイザ１４のアプリケーションがセッション情報を受け入れる場合、ワイヤレスサービスアドバタイザ１４とワイヤレスサービスシーカー１２とはＰ２Ｐワイヤレス接続を確立する。ＡＳＰ４４は、次いで、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含むＡＳＰセッション要求をワイヤレスサービスシーカー１２から受信し得る。セッション要求は、ワイヤレスサービスアドバタイザ１４のＡＳＰ４４においてＡＳＰセッションを開くためにＷＳＢサービス構成要素５０にパスされる。
【００９５】
[0102]ＷＳＢサービス構成要素５０は、ＷＳＢセッションのためのサポートされるトランスポートモードのうちの選択された１つに従ってＭＡＵＳＢプロトコルを使用してＰ２Ｐワイヤレス接続でデータを転送することを始めるためにＭＡＵＳＢ構成要素５２をアクティブ化する（１０６）。ＷＳＢサービス構成要素５０はまた、ＷＳＢセッション中のＭＡＵＳＢプロトコルのための選択されたトランスポートモードに基づいてＡＳＰ４４においてデータパケット処理をアクティブ化し得る。
【００９６】
[0103]図８は、ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのトランスポートモードをネゴシエートするワイヤレスサービスシーカーの例示的な動作を示すフローチャートである。図８の例示的な動作について、図３からのＷＳＢアーキテクチャ４０を有する図１からのワイヤレスサービスシーカー１２に関して説明する。他の例では、動作は、サービスシーカーとして動作する、図２からのＷＳＢホストデバイス２２によって実施され得る。
【００９７】
[0104]ワイヤレスサービスシーカー１２は、ワイヤレスサービスアドバタイザ１４によってサポートされるＭＡＵＳＢプロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含む、ワイヤレスサービスアドバタイザ１４によって提供されるＷＳＢサービスのための広告を発見する（１１０）。ＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードは、ＩＰスタックによるものと直接ＭＡＣレイヤによるものとの一方または両方を含み得る。さらに、発見されたＷＳＢサービスのためのサービス情報はまた、ワイヤレスサービスアドバタイザ１４によって提供される１つまたは複数のＵＳＢ機能を識別する。
【００９８】
[0105]ワイヤレスサービスシーカー１２のＷＳＢアーキテクチャ４０に関して、ＷＳＢサービス構成要素５０は、ＡＳＰ４４に、あるサービス能力を有するＷＳＢサービスを探索することを要求する。ＡＳＰ４４は、サービス能力を要求するサービス発見要求を生成し、それをワイヤレスサービスアドバタイザ１４を含む他のワイヤレスデバイスに送る。ＡＳＰ４４は、要求されたサービス能力に一致するワイヤレスサービスアドバタイザ１４によって提供されるＷＳＢサービスを広告するサービス発見応答を受信し得る。ワイヤレスサービスアドバタイザ１４からのサービス発見応答は、提供されたＷＳＢサービスのサービス情報を含む。
【００９９】
[0106]ワイヤレスサービスシーカー１２は、要求されたＷＳＢセッションのために使用されるべきＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの１つを選択する（１１２）。ワイヤレスサービスシーカー１２のＷＳＢサービス構成要素５０は、ワイヤレスサービスアドバタイザ１４からのサービス情報中で識別されるサポートされるトランスポートモードとワイヤレスサービスシーカー１２のトランスポートモード選好とに基づいて、サポートされるトランスポートモードのうちの１つを選択し得る。
【０１００】
[0107]ワイヤレスサービスシーカー１２は、次いで、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含む、ワイヤレスサービスアドバタイザ１４によって提供されるＷＳＢサービスのＷＳＢセッションについての要求を送信する（１１４）。ワイヤレスサービスアドバタイザ１４からＷＳＢセッションの受入れを受信すると、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とは、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４との間のワイヤレス接続でＷＳＢサービスのＷＳＢセッションを確立する（１１６）。
【０１０１】
[0108]ＷＳＢセッションセットアップは、Ｐ２Ｐ接続で、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４との間のＰ２Ｐワイヤレス接続を確立し、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とのＡＳＰ間にＡＳＰセッションを確立する２段階ネゴシエーションを含む。たとえば、ＡＳＰ４４は、Ｐ２Ｐワイヤレス接続を確立するために、ワイヤレスサービスアドバタイザ１４にプロビジョン発見要求を送り得る。プロビジョン発見要求は、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含む。ワイヤレスサービスアドバタイザ１４からセッション情報の受入れを受信すると、ワイヤレスサービスシーカー１２とワイヤレスサービスアドバタイザ１４とは、Ｐ２Ｐワイヤレス接続を確立する。ＡＳＰ４４は、次いで、要求されたＷＳＢセッション中のＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含むＡＳＰセッション要求をワイヤレスサービスアドバタイザ１４に送り得る。ワイヤレスサービスアドバタイザ１４においてＡＳＰセッションが開いているという確認を受信すると、セッションステータスは、ワイヤレスサービスシーカー１２のＡＳＰ４４においてＡＳＰセッションを開くためにＷＳＢサービス構成要素５０にパスされる。
【０１０２】
[0109]ＷＳＢサービス構成要素５０は、ＷＳＢセッションのためのサポートされるトランスポートモードのうちの選択された１つに従ってＭＡＵＳＢプロトコルを使用してＰ２Ｐワイヤレス接続でデータを転送することを始めるためにＭＡＵＳＢ構成要素５２をアクティブ化する（１１８）。ＷＳＢサービス構成要素５０はまた、ＷＳＢセッション中のＭＡＵＳＢプロトコルのための選択されたトランスポートモードに基づいてＡＳＰ４４においてデータパケット処理をアクティブ化し得る。
【０１０３】
[0110]図７および図８に示した例示的な動作に関して上記で示し説明したステップは単に例として与えられたものにすぎないことを理解されたい。図７および図８の動作のステップは、必ずしも図７および図８に示す順序で実行される必要はなく、より少数の、追加の、または代替のステップが実行され得る。
【０１０４】
[0111]図４Ａに戻ると、ＷＳＢクライアントデバイス７２によって広告されるｓｅｒｖｉｃｅ＿ｎａｍｅは、（［デバイスクラスコード］，［デバイスサブクラスコード］，［デバイスプロトコルコード］，［インターフェースクラスコード］，［インターフェースサブクラスコード］，［インターフェースプロトコルコード］）タプル（tuple）を使用してそれのＵＳＢ機能を広告する。ＵＳＢデバイスが、構成された多くのインターフェースを有し得る場合、フォーマットは、すべてが送られるのかまたはサブセットが送られるのかを明らかにせず、どのサブセットが広告されるべきであるのかを明らかにしない。さらに、一部の複合ＵＳＢデバイスの場合、それらのＵＳＢ機能は、デバイス／インターフェース記述子中に常駐しないことがあり、代わりに、ＩＡＤ記述子中に常駐し得る。
【０１０５】
[0112]ＷＳＢサービスは、それのサービス名によって発見プロセス中に識別され得る。
一例では、サービス名は、「ｏｒｇ．ｗｉ−ｆｉ．ｗｓｂ．［アーキテクチャ要素］．［ベースクラス］．［サブクラス］．［プロトコル］」の構造を有し得る。［アーキテクチャ要素］の値を設定するためのルールを以下に示す。ＷＳＢホストデバイス６２によって与えられるＷＳＢサービスのサービス名中の「［アーキテクチャ要素］」は、「ホスト」に設定されることになる。ＷＳＢクライアントデバイス７２によって与えられるＷＳＢサービスのサービス名中の「［アーキテクチャ要素］」は、「デバイス」に設定されることになる。
【０１０６】
[0113]［ベースクラス］．［サブクラス］．［プロトコル］．［インデックス］の値を設定するためのルールを以下に示す。［ベースクラス］は、ＵＳＢベースクラスコードを表す２つの１６進数字を含んでいる。［サブクラス］は、バイトＵＳＢサブクラスコードを表す２つの１６進数字を含んでいる。［プロトコル］は、バイトＵＳＢプロトコルコードを表す２つの１６進数字を含んでいる。［ベースクラス］．［サブクラス］．［プロトコル］タプル（tuple）中のコードは、ＷＳＢクライアントデバイス７２がＷＳＢサービスとして広告しようとする主要機能を示す。この情報は、ＵＳＢデバイスのＵＳＢ記述子（たとえば、デバイス記述子、インターフェース記述子、ＩＡＤ記述子など）から導出され得る。情報は、ＷＳＢホストデバイス６２が、デバイスの注目する機能を識別するのを助け、それの能力が［ＵＳＢ＿ＲＥＦ］に基づいてデバイスドライバをロードするのを助ける。ＷＳＢクライアントデバイス７２に関連するＵＳＢデバイスが、複数のＵＳＢインターフェースを有する複数のインターフェースまたは複数の構成を有する場合、ＷＳＢクライアントデバイス７２は、１つまたは複数のＷＳＢサービスを広告することになり、各々は、対応するインターフェースまたはＩＡＤ記述子の［ベースクラス］．［サブクラス］．［プロトコル］タプル（tuple）を含んでいるサービス名によって識別される。
【０１０７】
[0114]ＷＳＢホストデバイス６２は、それの広告されるＷＳＢサービスのサービス名中に「．［ベースクラス］．［サブクラス］．［プロトコル］」を含めない。ＷＳＢハブとして動作するＷＳＢクライアントデバイス７２は、埋込みＵＳＢハブデバイスの「［ベースクラス］．［サブクラス］．［プロトコル］」を含む少なくとも１つのＷＳＢサービスを広告し得る。ＷＳＢハブは、それのダウンストリームＵＳＢデバイスのＵＳＢ記述子の「［ベースクラス］．［サブクラス］．［プロトコル］」を含んでいるサービス名を広告することによってそれのダウンストリームＵＳＢデバイスのためのＷＳＢサービスを随意に広告し得る。ＷＳＢ周辺機器として動作するＷＳＢクライアントデバイス７２は、それの埋込みＵＳＢデバイスのＵＳＢ記述子の「［ベースクラス］．［サブクラス］．［プロトコル］」を含んでいるサービス名をもつ少なくとも１つのＷＳＢサービスを広告し得る。
【０１０８】
[0115]たとえば、下流にＵＳＢマウスデバイスが接続されたフルスピードＵＳＢハブをもつＷＳＢハブは、サービス名「ｏｒｇ．ｗｉ−ｆｉ．ｗｓｂ．ｄｅｖｉｃｅ．０９．００．００」をもつＷＳＢサービスを広告することになり、ここで、「０９．００．００」は、フルスピードＵＳＢハブのベースクラス、サブクラスおよびプロトコルタプルを識別する。それはまた、サービス名「ｏｒｇ．ｗｉ−ｆｉ．ｗｓｂ．ｄｅｖｉｃｅ．０３．００．０２」をもつＷＳＢサービスを広告し得、ここで、「０３．００．０２」は、ＵＳＢマウスデバイスのベースクラス、サブクラスおよびプロトコルタプルを識別する。
【０１０９】
[0116]図４Ａに戻ると、ＷＳＢホストデバイス６２によって与えられるｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎの一例は以下の通りである。
【０１１０】
【数１−１】
0005951918.tif 000002
【０１１１】
【数１−２】
0005951918.tif 000003
【０１１２】
【数１−３】
0005951918.tif 000004
【０１１３】
[0117]ＷＳＢクライアントデバイス７２によって広告されるｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎの一例は以下の通りである。
【０１１４】
【数２−１】
0005951918.tif 000005
【０１１５】
【数２−２】
0005951918.tif 000006
【０１１６】
[0118]上記の例では、ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎフィールドは、アソシエーション前サービス発見のための何らかのＵＳＢ情報を含み、したがって、ＷＳＢホストデバイス６２は、それが、ＷＳＢクライアントデバイス７２とのＷＳＢ接続を確立する前に、ＷＳＢクライアントデバイス７２上のＵＳＢデバイスをサポートすることができるかどうかを評価するためにこの情報を使用することができる。ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎフィールド中のＵＳＢ情報が、デバイス記述子、構成記述子、ストリング記述子、およびＯＳ記述子からのキー情報を含んでいたら有益であり得る。
【０１１７】
[0119]一例では、ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎフィールドのためのフォーマットは、ＷＳＢホストデバイス６２とＷＳＢクライアントデバイス７２の両方によって共有され得る。ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎフィールドは２つの部分を有する。第１の部分は、ＸＭＬフォーマットのヌル終了なしのＵＴＦ−８符号化ストリングであり、ＷＳＢ動作固有情報を含んでいる。第２の部分は、タイプ−長さ−値（ＴＬＶ）フォーマットのバイナリデータのブロックであり、ＵＳＢ動作固有情報を含んでいる。
【０１１８】
[0120]ＸＭＬスキーマとｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎフィールドの第１の部分のＵＴＦ−８符号化ストリングのためのそれの要素の使用とは、以下を定義する。ＷＳＢクライアントデバイス７２のＷＳＢサービス構成要素７４によって広告されるＸＭＬデータは、要素「ｗｓｂＤｅｖｉｃｅＳｅｒｖｉｃｅＩｎｆｏｒｍａｔｉｏｎ」を含み得る。ＷＳＢホストデバイス６２のＷＳＢサービス構成要素６４によって広告されるＸＭＬデータは、要素「ｗｓｂＨｏｓｔＳｅｒｖｉｃｅＩｎｆｏｒｍａｔｉｏｎ」を含み得る。
【０１１９】
【数３−１】
0005951918.tif 000007
【０１２０】
【数３−２】
0005951918.tif 000008
【０１２１】
[0121]ＸＭＬ要素＜ｗｓｂＤｅｖｉｃｅＳｅｒｖｉｃｅＩｎｆｏ＞および＜ｗｓｂＨｏｓｔＳｅｒｖｉｃｅＩｎｆｏ＞は以下のフィールドを有する。ｆｒｉｅｎｄｌｙＮａｍｅフィールドは、ＷＳＢホストまたはクライアントデバイスのユーザフレンドリーな説明（たとえば、「自宅におけるジョンの大容量ストレージＵＳＢデバイス」または「アマンダのＷＳＢ対応モバイルフォン」）を与えるテキストストリングである。トランスポートフィールドは、ＷＳＢホストまたはクライアントデバイスがサポートするトランスポートを識別する。それのフォーマットは、ＸＭＬシンプルタイプ「ｔｒａｎｓｐｏｒｔＭｏｄｅ」によって定義される。ｕｓｂＶｅｒｓｉｏｎフィールドは、ＷＳＢホストまたはクライアントデバイスがサポートするＵＳＢ仕様のバージョンを識別する。それのフォーマットは、ＸＭＬシンプルタイプ「ｕｓｂＶｅｒｓｉｏｎＮａｍｅ」によって定義される。利用可能なフィールドは、ＷＳＢホストまたはクライアントデバイスにおけるこのＷＳＢサービスが利用可能であるかどうかを示す。
【０１２２】
[0122]さらに、ＷＳＢクライアントデバイスがＷＳＢハブである場合、ＸＭＬ要素＜ｗｓｂＤｅｖｉｃｅＳｅｒｖｉｃｅＩｎｆｏ＞は以下のフィールドを有する。ｄｏｗｎｓｔｒｅａｍＩｎｆｏＡｖａｉｌａｂｌｅフィールドは、ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎフィールドのバイナリ部分が、ダウンストリームＵＳＢデバイスのための何らかのＵＳＢ情報を含むかどうかを示す。ｉｓＤｏｗｎｓｔｒｅａｍＩｎｆｏＣｏｍｐｌｅｔｅフィールドは、ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎフィールドのバイナリ部分が、すべてのダウンストリームＵＳＢデバイスのＵＳＢ情報を含んでいたかどうかを示す。
【０１２３】
[0123]ＸＭＬシンプルタイプ「ｔｒａｎｓｐｏｒｔＭｏｄｅ」は、以下の列挙値を有する。「ｉｐ」は、ＩＰトランスポートのサポートを示し、「ｎａｔｉｖｅ」は、直接ＭＡＣ上のトランスポートのサポートを示す。ＸＭＬシンプルタイプ「ｕｓｂＶｅｒｓｉｏｎＮａｍｅ」は、以下の列挙値を有する。「２．０」は、ＵＳＢ２．０のサポートを示し、「３．１」は、ＵＳＢ３．１のサポートを示す。
【０１２４】
[0124]以下のＴＬＶ要素は、ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎフィールドの第２の部分に対して定義される。
【０１２５】
【表１】
0005951918.tif 000009
【０１２６】
[0125]ｓｅｒｖｉｃｅ＿ｉｎｆｏｒｍａｔｉｏｎフィールドのバイナリ部分は、単一のＵＳＢ情報ＴＬＶ要素からなる。ＵＳＢ情報ＴＬＶ要素は、以下のフォーマットを有する。
【０１２７】
【表２】
0005951918.tif 000010
【０１２８】
[0126]ＵＳＢデバイス情報ＴＬＶ要素は、以下のフォーマットを有する。
【０１２９】
【表３】
0005951918.tif 000011
【０１３０】
[0127]図４Ａおよび図４Ｂに戻ると、ＷＳＢホストデバイス６２によって与えられるｓｅｓｓｉｏｎ＿ｉｎｆｏｒｍａｔｉｏｎの一例は以下の通りである。
【０１３１】
【数４】
0005951918.tif 000012
【０１３２】
[0128]上記のように、本開示の技法は、概して、ＷＳＢサービスに関して説明するが、ＷＳＢサービスが、本開示に一致するＷｉ−Ｆｉ  Ｄｉｒｅｃｔ接続上で確立され得るサービスの一例にすぎないことを理解されたい。したがって、本技法について、ＷＳＢサービスに関して説明するが、送信サービス、再生サービス、印刷サービス、表示サービス、およびワイヤレスドッキングサービスなどの他の同様のサービスが、本開示の技法から同様に利益を得られる。
【０１３３】
[0129]１つまたは複数の例において、前述の機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実施される場合、諸機能は、１つまたは複数の命令またはコードとして、コンピュータ可読媒体を介して記憶または伝送され得、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的な有形コンピュータ可読記憶媒体、あるいは（２）信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法を実装するための命令、コード、および／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１３４】
[0130]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、任意の接続が、適切にコンピュータ可読媒体と呼ばれる。たとえば、もし命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバー、または他のリモートソースから送信されるならば、そのとき同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。ディスク（ｄｉｓｋおよびｄｉｓｃ）は、本明細書で使用される時に、コンパクトディスク（ｄｉｓｃ）（ＣＤ）、レーザーディスク（登録商標）（ｄｉｓｃ）、光ディスク（ｄｉｓｃ）、デジタル多用途ディスク（ｄｉｓｃ）（ＤＶＤ）、フロッピー（登録商標）ディスク（ｄｉｓｋ）、およびブルーレイ（登録商標）ディスク（ｄｉｓｃ）を含み、ｄｉｓｋは、通常は磁気的にデータを再生し、ｄｉｓｃは、レーザーを用いて光学的にデータを再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含めるべきである。
【０１３５】
[0131]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積論理回路またはディスクリート論理回路など、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または、本明細書で説明する技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明する機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、技術は、１つまたは複数の回路または論理要素で完全に実施され得る。
【０１３６】
[0132]本開示の技術は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。そうではなくて、前述のように、様々なユニットは、コーデックハードウェアユニットで結合され得る、または、適切なソフトウェアおよび／またはファームウェアとともに、前述のように１つまたは複数のプロセッサを含む、相互に動作するハードウェアユニットの一群によって提供され得る。
【０１３７】
[0133]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ワイヤレスサービスアドバタイザを使用してワイヤレスシリアルバス（ＷＳＢ）サービスを確立するための方法であって、
前記ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を送信することと、ここで、前記広告は、前記ワイヤレスサービスアドバタイザによってサポートされるメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものと直接メディアアクセス制御（ＭＡＣ）レイヤによるものとのうちの１つまたは複数を含み、
前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求をワイヤレスサービスシーカーから受信することと、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ＷＳＢセッションを受け入れると、前記ワイヤレスサービスアドバタイザと前記ワイヤレスサービスシーカーとの間のワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立することと、
前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続でデータを転送することと、
を備える方法。
［Ｃ２］
前記要求を受信することは、
前記ＷＳＢセッションのために前記ワイヤレスサービスアドバタイザと前記ワイヤレスサービスシーカーとの間の前記ワイヤレス接続を確立するために前記ワイヤレスサービスシーカーからプロビジョン発見要求を受信することと、ここで、前記プロビジョン発見要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記１つを示す前記セッション情報を含み、
前記セッション情報を受け入れると、前記ワイヤレスサービスアドバタイザと前記ワイヤレスサービスシーカーとの間の前記ワイヤレス接続を確立することと、
を備える、Ｃ１に記載の方法。
［Ｃ３］
前記要求を受信することは、前記ワイヤレスサービスシーカーから、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記１つを示す前記セッション情報を含むアプリケーションソフトウェアプラットフォーム（ＡＳＰ）セッション要求を受信することを備える、Ｃ１に記載の方法。
［Ｃ４］
前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスのための前記広告を送信することは、
あるサービス能力を要求するサービス発見要求を前記ワイヤレスサービスシーカーから受信することと、
前記要求されたサービス能力と前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスとの間のマッチに基づいて、前記ワイヤレスサービスシーカーに、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードを識別する前記ＷＳＢサービスの前記サービス情報を含むサービス発見応答を送ることと、
を備える、Ｃ１に記載の方法。
［Ｃ５］
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが、直接前記ＭＡＣレイヤによるものであることに基づいて、
前記データを転送することは、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（登録商標）（ＷＦＡ）固有の組織固有識別子（ＯＵＩ）値とＷＳＢ固有のＯＵＩタイプ値とを含むサブネットワークアクセスプロトコル（ＳＮＡＰ）ヘッダを使用して前記ＭＡＵＳＢプロトコルデータをカプセル化することを備える、Ｃ１に記載の方法。
［Ｃ６］
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが、直接前記ＭＡＣレイヤによるものであることに基づいて、
前記ＷＳＢサービスの前記ＷＳＢセッションを確立することは、前記ワイヤレスサービスアドバタイザのアプリケーションソフトウェアプラットフォーム（ＡＳＰ）における前記ＭＡＵＳＢプロトコルのための特定のイーサネット（登録商標）タイプの処理をアクティブ化することを備える、Ｃ１に記載の方法。
［Ｃ７］
前記ＷＳＢサービスの前記サービス情報は、前記ワイヤレスサービスアドバタイザによって提供される１つまたは複数のユニバーサルシリアルバス（ＵＳＢ）機能を識別し、前記ＷＳＢセッションを確立することは、前記ワイヤレス接続で前記ワイヤレスサービスアドバタイザにおいて前記ＵＳＢ機能のうちの少なくとも１つに前記ワイヤレスサービスシーカー上のＵＳＢアプリケーションを接続することを備える、Ｃ１に記載の方法。
［Ｃ８］
ワイヤレスシリアルバス（ＷＳＢ）サービスを確立するためのワイヤレスサービスアドバタイザを実装する装置であって、
データを記憶するように構成されたメモリと、
前記ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を送信することと、ここで、前記広告は、前記ワイヤレスサービスアドバタイザによってサポートされるメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものと直接メディアアクセス制御（ＭＡＣ）レイヤによるものとのうちの１つまたは複数を含み、
前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求をワイヤレスサービスシーカーから受信することと、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ＷＳＢセッションを受け入れると、前記ワイヤレスサービスアドバタイザと前記ワイヤレスサービスシーカーとの間のワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立することと、
前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続で前記データを転送することと、
を行うように構成された１つまたは複数のプロセッサと、
を備える装置。
［Ｃ９］
前記ＷＳＢセッションを確立するために、前記１つまたは複数のプロセッサは、
前記ＷＳＢセッションのために前記ワイヤレスサービスアドバタイザと前記ワイヤレスサービスシーカーとの間の前記ワイヤレス接続を確立するために前記ワイヤレスサービスシーカーからプロビジョン発見要求を受信することと、ここで、前記プロビジョン発見要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含み、
前記セッション情報を受け入れると、前記ワイヤレスサービスアドバタイザと前記ワイヤレスサービスシーカーとの間の前記ワイヤレス接続を確立することと、
を行うように構成された、Ｃ８に記載の装置。
［Ｃ１０］
前記ＷＳＢセッションを確立するために、前記１つまたは複数のプロセッサは、前記ワイヤレスサービスシーカーから、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含むアプリケーションソフトウェアプラットフォーム（ＡＳＰ）セッション要求を受信することを行うように構成された、Ｃ８に記載の装置。
［Ｃ１１］
前記ＷＳＢサービスのための前記広告を送信するために、前記１つまたは複数のプロセッサは、
あるサービス能力を要求するサービス発見要求を前記ワイヤレスサービスシーカーから受信することと、
前記要求されたサービス能力と前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスとの間のマッチに基づいて、前記ワイヤレスサービスシーカーに、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードを識別する前記ＷＳＢサービスの前記サービス情報を含むサービス発見応答を送ることと、
を行うように構成された、Ｃ８に記載の装置。
［Ｃ１２］
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが、直接前記ＭＡＣレイヤによるものであることに基づいて、前記１つまたは複数のプロセッサは、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（ＷＦＡ）固有の組織固有識別子（ＯＵＩ）値とＷＳＢ固有のＯＵＩタイプ値とを含むサブネットワークアクセスプロトコル（ＳＮＡＰ）ヘッダを使用して前記ＭＡＵＳＢプロトコルデータをカプセル化することを行うように構成された、Ｃ８に記載の装置。
［Ｃ１３］
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが、直接前記ＭＡＣレイヤによるものであることに基づいて、前記プロセッサは、前記ワイヤレスサービスアドバタイザのアプリケーションソフトウェアプラットフォーム（ＡＳＰ）における前記ＭＡＵＳＢプロトコルのための特定のイーサネットタイプの処理をアクティブ化することを行うように構成された、Ｃ８に記載の装置。
［Ｃ１４］
前記ＷＳＢサービスの前記サービス情報は、前記ワイヤレスサービスアドバタイザによって提供される１つまたは複数のユニバーサルシリアルバス（ＵＳＢ）機能を識別し、前記ＷＳＢセッションを確立すると、前記１つまたは複数のプロセッサは、前記ワイヤレス接続で前記ワイヤレスサービスアドバタイザにおいて前記ＵＳＢ機能のうちの少なくとも１つに前記ワイヤレスサービスシーカー上のＵＳＢアプリケーションを接続することを行うように構成された、Ｃ８に記載の装置。
［Ｃ１５］
ワイヤレスシリアルバス（ＷＳＢ）サービスを確立するためのワイヤレスサービスアドバタイザを実装する装置であって、
前記ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を送信するための手段と、ここで、前記広告は、前記ワイヤレスサービスアドバタイザによってサポートされるメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものと直接メディアアクセス制御（ＭＡＣ）レイヤによるものとのうちの１つまたは複数を含み、
前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求をワイヤレスサービスシーカーから受信するための手段と、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ＷＳＢセッションを受け入れると、前記ワイヤレスサービスアドバタイザと前記ワイヤレスサービスシーカーとの間のワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立するための手段と、
前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続でデータを転送するための手段と、
を備える装置。
［Ｃ１６］
前記ＷＳＢセッション要求を受信するための前記手段は、
前記ＷＳＢセッションのために前記ワイヤレスサービスアドバタイザと前記ワイヤレスサービスシーカーとの間の前記ワイヤレス接続を確立するために前記ワイヤレスサービスシーカーからプロビジョン発見要求を受信するための手段と、ここで、前記プロビジョン発見要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含み、
前記セッション情報を受け入れると、前記ワイヤレスサービスアドバタイザと前記ワイヤレスサービスシーカーとの間の前記ワイヤレス接続を確立するための手段と、
をさらに備える、Ｃ１５に記載の装置。
［Ｃ１７］
前記ＷＳＢセッション要求を受信するための前記手段は、前記ワイヤレスサービスシーカーから、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含むアプリケーションソフトウェアプラットフォーム（ＡＳＰ）セッション要求を受信するための手段を備える、Ｃ１５に記載の装置。
［Ｃ１８］
ワイヤレスシリアルバス（ＷＳＢ）サービスを確立するための命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、実行されたとき、１つまたは複数のプロセッサに、
ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を送信することと、ここで、前記広告は、前記ワイヤレスサービスアドバタイザによってサポートされるメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものと直接メディアアクセス制御（ＭＡＣ）レイヤによるものとのうちの１つまたは複数を含み、
前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求をワイヤレスサービスシーカーから受信することと、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ＷＳＢセッションを受け入れると、前記ワイヤレスサービスアドバタイザと前記ワイヤレスサービスシーカーとの間のワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立することと、
前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続でデータを転送することと、
を行わせる、非一時的コンピュータ可読媒体。
［Ｃ１９］
ワイヤレスサービスシーカーを使用してワイヤレスシリアルバス（ＷＳＢ）サービスを確立するための方法であって、
前記ワイヤレスサービスシーカーを用いて、ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を発見すること、ここで、前記広告は、前記ワイヤレスサービスアドバタイザによってサポートされるメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものまたは直接メディアアクセス制御（ＭＡＣ）レイヤによるもののうちの１つまたは複数を含み、
前記ワイヤレスサービスシーカーを用いて、前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求を送信すること、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ワイヤレスサービスアドバタイザから前記ＷＳＢセッションの受入れを受信すると、前記ワイヤレスサービスシーカーと前記ワイヤレスサービスアドバタイザとの間のワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立することと、
前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続でデータを転送することと、
を備える方法。
［Ｃ２０］
前記ワイヤレスサービスアドバタイザからの前記サービス情報中で識別された前記サポートされるトランスポートモードと前記ＷＳＢセッションのための前記ワイヤレスサービスシーカーのトランスポートモード選好とに基づいて、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを選択することをさらに備える、Ｃ１９に記載の方法。
［Ｃ２１］
前記ＷＳＢセッションについての前記要求を送信することは、
前記ＷＳＢセッションのために前記ワイヤレスサービスシーカーと前記ワイヤレスサービスアドバタイザとの間の前記ワイヤレス接続を確立するために前記ワイヤレスサービスアドバタイザにプロビジョン発見要求を送ることと、ここで、前記プロビジョン発見要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含み、
前記ワイヤレスサービスアドバタイザから前記セッション情報の受入れを受信すると、前記ワイヤレスサービスシーカーと前記ワイヤレスサービスアドバタイザとの間の前記ワイヤレス接続を確立することと、
を備える、Ｃ１９に記載の方法。
［Ｃ２２］
前記ＷＳＢセッションについての前記要求を送信することは、前記ワイヤレスサービスアドバタイザに、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含むアプリケーションソフトウェアプラットフォーム（ＡＳＰ）セッション要求を送ることを備える、Ｃ１９に記載の方法。
［Ｃ２３］
前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスのための前記広告を発見することは、
あるサービス能力を要求するサービス発見要求を前記ワイヤレスサービスアドバタイザに送ることと、
前記要求されたサービス能力にマッチする前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスを広告するサービス発見応答を受信すること、ここで、前記サービス発見応答は、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードを識別する前記ＷＳＢサービスの前記サービス情報を含む、
を備える、Ｃ１９に記載の方法。
［Ｃ２４］
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが直接前記ＭＡＣレイヤによるものであることに基づいて、
前記データを転送することは、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（ＷＦＡ）固有の組織固有識別子（ＯＵＩ）値とＷＳＢ固有のＯＵＩタイプ値とを含むサブネットワークアクセスプロトコル（ＳＮＡＰ）ヘッダを使用して前記ＭＡＵＳＢプロトコルデータをカプセル化することを備える、Ｃ１９に記載の方法。
［Ｃ２５］
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが直接前記ＭＡＣレイヤによるものであることに基づいて、
前記ＷＳＢサービスの前記ＷＳＢセッションを確立することは、前記ワイヤレスサービスシーカーのアプリケーションソフトウェアプラットフォーム（ＡＳＰ）における前記ＭＡＵＳＢプロトコルのための特定のイーサネットタイプの処理をアクティブ化することを備える、Ｃ１９に記載の方法。
［Ｃ２６］
前記ＷＳＢサービスの前記サービス情報は、前記ワイヤレスサービスアドバタイザによって提供される１つまたは複数のユニバーサルシリアルバス（ＵＳＢ）機能を識別し、前記ＷＳＢセッションを確立することは、前記ワイヤレス接続で前記ワイヤレスサービスアドバタイザにおいて前記ＵＳＢ機能のうちの少なくとも１つに前記ワイヤレスサービスシーカー上のＵＳＢアプリケーションを接続することを備える、Ｃ１９に記載の方法。
［Ｃ２７］
ワイヤレスシリアルバス（ＷＳＢ）サービスを確立するためのワイヤレスサービスシーカーを実装する装置であって、
データを記憶するように構成されたメモリと、
ワイヤレスサービスアドバタイザによって提供されるＷＳＢサービスのための広告を発見することと、ここで、前記広告は、前記ワイヤレスサービスアドバタイザによってサポートされるメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルのための１つまたは複数のトランスポートモードを識別するサービス情報を含み、前記サポートされるトランスポートモードは、インターネットプロトコル（ＩＰ）スタックによるものと直接メディアアクセス制御（ＭＡＣ）レイヤによるものとのうちの１つまたは複数を含み、
前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスのＷＳＢセッションについての要求を送信すること、ここで、前記要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの選択された１つを示すセッション情報を含み、
前記ワイヤレスサービスアドバタイザから前記ＷＳＢセッションの受入れを受信すると、前記ワイヤレスサービスシーカーと前記ワイヤレスサービスアドバタイザとの間のワイヤレス接続で前記ＷＳＢサービスの前記ＷＳＢセッションを確立することと、
前記ＷＳＢセッションのための前記サポートされるトランスポートモードのうちの前記選択された１つに従って前記ＭＡＵＳＢプロトコルを使用して前記ワイヤレス接続で前記データを転送することと、
を行うように構成された１つまたは複数のプロセッサと、
を備える装置。
［Ｃ２８］
前記プロセッサは、前記ワイヤレスサービスアドバタイザからの前記サービス情報中で識別された前記サポートされるトランスポートモードと前記ワイヤレスサービスシーカーにおけるトランスポートモード選好とに基づいて、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを選択することを行うように構成された、Ｃ２７に記載の装置。
［Ｃ２９］
前記ＷＳＢセッションについての前記要求を送信するために、前記プロセッサは、
前記ＷＳＢセッションのために前記ワイヤレスサービスシーカーと前記ワイヤレスサービスアドバタイザとの間の前記ワイヤレス接続を確立するために前記ワイヤレスサービスアドバタイザにプロビジョン発見要求を送ることと、ここで、前記プロビジョン発見要求は、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含み、
前記ワイヤレスサービスアドバタイザから前記セッション情報の受入れを受信すると、前記ワイヤレスサービスシーカーと前記ワイヤレスサービスアドバタイザとの間の前記ワイヤレス接続を確立することと、
を行うように構成された、Ｃ２７に記載の装置。
［Ｃ３０］
前記ＷＳＢセッションについての前記要求を送信するために、前記プロセッサは、前記ワイヤレスサービスアドバタイザに、前記ＷＳＢセッション中の前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つを示す前記セッション情報を含むアプリケーションソフトウェアプラットフォーム（ＡＳＰ）セッション要求を送ることを行うように構成された、Ｃ２７に記載の装置。
［Ｃ３１］
前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスのための前記広告を発見するために、前記プロセッサは、
あるサービス能力を要求するサービス発見要求を前記ワイヤレスサービスアドバタイザに送ることと、
前記要求されたサービス能力にマッチする前記ワイヤレスサービスアドバタイザによって提供される前記ＷＳＢサービスを広告するサービス発見応答を受信することと、ここで、前記サービス発見応答は、前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードを識別する前記ＷＳＢサービスの前記サービス情報を含み、
を行うように構成された、Ｃ２７に記載の装置。
［Ｃ３２］
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが直接前記ＭＡＣレイヤによるものであることに基づいて、
前記プロセッサは、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（ＷＦＡ）固有の組織固有識別子（ＯＵＩ）値とＷＳＢ固有のＯＵＩタイプ値とを含むサブネットワークアクセスプロトコル（ＳＮＡＰ）ヘッダを使用して前記ＭＡＵＳＢプロトコルデータをカプセル化することを行うように構成された、Ｃ２７に記載の装置。
［Ｃ３３］
前記ＭＡＵＳＢプロトコルのための前記サポートされるトランスポートモードのうちの前記選択された１つが直接前記ＭＡＣレイヤによるものであることに基づいて、
前記プロセッサは、前記ワイヤレスサービスシーカーのアプリケーションソフトウェアプラットフォーム（ＡＳＰ）における前記ＭＡＵＳＢプロトコルのための特定のイーサネットタイプの処理をアクティブ化することを行うように構成された、Ｃ２７に記載の装置。
［Ｃ３４］
前記ＷＳＢサービスの前記サービス情報は、前記ワイヤレスサービスアドバタイザによって提供される１つまたは複数のユニバーサルシリアルバス（ＵＳＢ）機能を識別し、前記ＷＳＢセッションを確立すると、前記プロセッサは、前記ワイヤレス接続で前記ワイヤレスサービスアドバタイザにおいて前記ＵＳＢ機能のうちの少なくとも１つに前記ワイヤレスサービスシーカー上のＵＳＢアプリケーションを接続することを行うように構成された、Ｃ２７に記載の装置。
【要約】  ＷＳＢサービスのＷＳＢセッション中の選択されたトランスポートモードに従ってメディアアグノスティックユニバーサルシリアルバス（ＭＡＵＳＢ）プロトコルを使用してデータをトランスポートするためにワイヤレスシリアルバス（ＷＳＢ）サービスを確立するための技法について説明する。ＭＡＵＳＢプロトコルは、インターネットプロトコル（ＩＰ）スタック上で展開されるか、あるいは直接メディアアクセス制御（ＭＡＣ）レイヤ上で展開され得る。本技法によれば、ワイヤレスサービスアドバタイザとワイヤレスサービスシーカーとは、ＷＳＢサービスの各ＷＳＢセッション中のＭＡＵＳＢプロトコルのためのトランスポートモードをネゴシエートする。サービス発見プロセス中に、ワイヤレスサービスアドバタイザは、ＷＳＢサービスのためのサービス情報中でＭＡＵＳＢプロトコルのための１つまたは複数のサポートされるトランスポートモードを識別する。Ｐ２Ｐ接続セットアップおよびＷＳＢセッションセットアップ中に、ワイヤレスサービスシーカーは、ＷＳＢセッションのためのセッション情報中でＭＡＵＳＢプロトコルのためのサポートされるトランスポートモードのうちの選択された１つを示す。
【選択図】図３【図１】
0005951918.tif 000013
【図２】
0005951918.tif 000014
【図３】
0005951918.tif 000015
【図４Ａ】
0005951918.tif 000016
【図４Ｂ】
0005951918.tif 000017
【図７】
0005951918.tif 000018
【図８】
0005951918.tif 000019
【図５】
0005951918.tif 000020
【図６】
0005951918.tif 000021