(57)【特許請求の範囲】
【請求項１】
通信セッションのためにクライアント装置を構成するシステムであって：
少なくとも一つのプロセッサと；
前記少なくとも一つのプロセッサによる実行に応答して当該システムに動作を実行させる命令が記憶されている一つまたは複数のコンピュータ可読記憶媒体とを有しており、前記動作は：
通信セッションがネットワークにおいて開始されるという通知を受信する段階であって、前記通知は、前記通信セッションの属性についての値を含むセッション通知アプリケーション・プログラミング・インターフェース（API）を含む、段階と；
前記セッション通知APIの一部として受領された前記通信セッションの前記属性を判別する段階と；
前記セッション通知APIの一部として受領された前記通信セッションの前記属性を前記ネットワークについてのネットワーク・ポリシーに適用して前記通信セッションのためのパラメータを指定する段階と；
前記通信セッションのための前記パラメータをもってセッション構成APIを構成する段階と；
前記通信セッションのための前記パラメータをもって構成された前記セッション構成APIを含む構成イベントを生成する段階と；
前記構成イベントを、前記ネットワークに接続されており、前記通信セッションに参加しているクライアント装置に通信して、前記クライアント装置を前記通信セッションのために構成されるようにする段階とを含む、
システム。
【請求項２】
前記通知は前記通信セッションのデータ・パケットとは別個である、請求項１記載のシステム。
【請求項３】
前記セッション通知APIは前記通信セッションの複数の属性を含む、請求項１記載のシステム。
【請求項４】
前記通信セッションのための前記パラメータが、前記クライアント装置によって適用されるべき無線挙動を指定する、請求項１記載のシステム。
【請求項５】
前記通信セッションのための前記パラメータが、前記通信セッションのデータ・パケットに前記クライアント装置によって適用されるべきサービス品質マーキングを指定する、請求項１記載のシステム。
【請求項６】
前記動作がさらに：
前記通信セッションにおける変化の指標を受領する段階と；
前記通信セッションのための前記パラメータに対する変化または前記通信セッションのための異なるパラメータへの変更の少なくとも一方を含む再構成イベントを生成する段階と；
前記再構成イベントを、前記クライアント装置に通信する段階とを含む、
請求項１記載のシステム。
【請求項７】
コンピュータ実装される方法であって：
通信セッションがネットワークにおいて開始されるという通知を受信する段階であって、前記通知は、前記通信セッションの属性についての値を含むセッション通知アプリケーション・プログラミング・インターフェース（API）を含む、段階と；
前記セッション通知APIの一部として受領された前記通信セッションの前記属性を判別する段階と；
前記セッション通知APIの一部として受領された前記通信セッションの前記属性を前記ネットワークについてのネットワーク・ポリシーに適用して前記通信セッションのためのパラメータを指定する段階と；
前記通信セッションのための前記パラメータをもってセッション構成APIを構成する段階と；
前記通信セッションのための前記パラメータをもって構成された前記セッション構成APIを含む構成イベントを生成する段階と；
前記構成イベントを、前記ネットワークに接続されており、前記通信セッションに参加しているクライアント装置に通信して、前記クライアント装置を前記通信セッションのために構成されるようにする段階とを含む、
方法。
【請求項８】
前記通信セッションのための前記パラメータが、前記クライアント装置によって適用されるべき無線挙動を指定する、請求項７記載の方法。
【請求項９】
装置に：
無線事業体ネットワークのネットワーク・コントローラから、通信セッションのための構成イベントを受領する段階であって、前記構成イベントは、前記通信セッションのためのパラメータをもって構成されたセッション構成アプリケーション・プログラミング・インターフェース（API）を含み、前記構成イベントは、前記通信セッションのパケットからは帯域外で受領され、前記パラメータは前記通信セッションおよび前記無線事業体ネットワークの両方に固有である、段階と；
前記構成イベントを処理して、前記通信セッションについての前記パラメータを同定する段階と；
前記パラメータに基づいて前記通信セッションのために前記装置を構成する段階とを実行させるためのコンピュータ・プログラム。
【請求項１０】
前記パラメータが前記通信セッションについての無線挙動を含み、前記構成する段階は、クライアント装置の無線装置を、前記無線挙動に従って機能するよう構成することを含む、
請求項９記載のコンピュータ・プログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
モバイル・コンピューティング装置は、モバイルな場面においてユーザーに利用可能にされる機能を増すよう開発されてきた。たとえば、ユーザーは携帯電話、タブレット・コンピュータまたは他のモバイル・コンピューティング装置と対話することで電子メールを確認したり、ウェブ・サーフィンをしたり、文章を書いたり、アプリケーションと対話したりなどできる。事業体場面では、ユーザーは個人のモバイル装置を利用して、オンライン会議、コンテンツ作成および／または共有などといった事業体関係の活動に携わることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
事業体場面においてユーザーが自分の個人の装置を利用できるようにすることはコスト節減および利便性の面では有利だが、いくつかの実装上の課題を呈する。たとえば、無線でデータを送受信するために事業体無線ネットワークを利用するために、個人の装置は典型的には、その無線ネットワークを通じて接続し、データ送信するために特定の設定をもって構成される必要がある。多様な機能および動作環境をもつ幅広い多様な異なるモバイル装置が存在するので、適切な設定で種々の装置を構成することはユーザーが自分の装置を事業体無線ネットワークにおいて利用する能力を複雑にすることがある。
【課題を解決するための手段】
【０００３】
この概要は、詳細な説明においてさらに記載される概念のセレクションを簡略化された形で紹介するために与えられている。この概要は、特許請求される主題のキーとなる特徴や本質的な特徴を特定することを意図したものではなく、特許請求される主題の範囲を決定する際の助けとして使われることも意図されていない。
【０００４】
セッション・ベースの装置構成のための技法が記述される。一つまたは複数の実装によれば、無線装置のさまざまな設定が、無線ネットワークを介して通信セッションに参加している間に装置パフォーマンスを最適にするよう構成される。設定は、たとえば、動的に、セッション毎に構成される。
【図面の簡単な説明】
【０００５】
詳細な説明は、付属の図面を参照して記述される。図面においては、参照符号の左端の数字（単数または複数）が、その参照符号が最初に現われる図を特定する。説明および図面の異なるインスタンスにおける同じ参照符号の使用は、同様のまたは同一の項目を示しうる。
【図１】本稿で論じられる技法を用いるよう動作可能な例示的な実装における環境の図である。
【図２】一つまたは複数の実施形態に従って通信セッションを開始するための例示的な実装シナリオを示す図である。
【図３】一つまたは複数の実施形態に従ってセッション認知を更新するための例示的な実装シナリオを示す図である。
【図４】一つまたは複数の実施形態に従ったセッション終了のための例示的な実装シナリオを示す図である。
【図５】一つまたは複数の実施形態に従って通信セッションにネットワーク・ポリシーを適用する方法の段階を記載する流れ図である。
【図６】一つまたは複数の実施形態に従ってエンティティに通信セッション属性を通知する方法の段階を記載する流れ図である。
【図７】一つまたは複数の実施形態に従って装置に通信セッション属性の変化を通知する方法の段階を記載する流れ図である。
【図８】一つまたは複数の実施形態に従って通信セッションに参加するよう装置を構成する方法の段階を記載する流れ図である。
【図９】図１を参照して記載されている例示的なシステムおよびコンピューティング装置であって、本稿に記載される技法の実施形態を実装するよう構成されているものを示す図である。
【発明を実施するための形態】
【０００６】
〈概観〉
セッション・ベースの装置構成のための技法が記述される。少なくともいくつかの実施形態では、通信セッションは、ネットワークにおける異なるノードの間の通信データの交換をいう。通信セッションの例は、インターネット・プロトコルを通じた音声（VoIP:  Voice  over  Internet  Protocol）通話、ビデオ通話、テキストメッセージング、ファイル転送および／またはそれらの組み合わせを含む。たとえば、通信セッションは統合通信および協働（UC&C:  Unified  Communication  and  Collaboration）セッションを表わす。
【０００７】
一つまたは複数の実装によれば、無線装置のさまざまな設定が、事業体無線ネットワークを介して通信セッションに参加する間、装置パフォーマンスを最適化するよう構成される。設定はたとえば、動的に、セッション毎に構成される。
【０００８】
たとえば、ユーザー装置（たとえばユーザーの個人のモバイル装置）が、ビジネス・エンティティ、教育エンティティ、政府エンティティなどのような事業体エンティティによって管理されている無線事業体ネットワークに接続するシナリオを考える。事業体エンティティは、事業体ネットワークへの無線接続のためおよび事業体ネットワークを介した通信セッションへの参加のための規則およびパラメータを指定するさまざまなネットワーク・ポリシーを確立する。
【０００９】
上記の例示的なシナリオに関してさらに、事業体ネットワークに接続されている間、ユーザーの装置は異なる装置との通信セッションに携わる。前記異なる装置は事業体ネットワークに接続されていてもよく、あるいは事業体ネットワークと通信する異なるネットワークに接続されていてもよい。ユーザー装置が通信セッションに携わっていることを検出するのに応答して、事業体ネットワークのためのネットワーク・コントローラは、ユーザー装置および／または通信セッションのさまざまな属性を見きわめる。たとえば、ネットワーク・コントローラはユーザー装置から直接、事業体ネットワークのネットワーク要素（たとえば無線アクセスポイント）からおよび／または外部サービスから受領される通知を介してそれらの属性を見きわめてもよい。
【００１０】
ネットワーク・コントローラはそれらの属性をネットワーク・ポリシーに適用して、ユーザー装置のための種々の構成パラメータを指定する。構成（configuration）パラメータはたとえば、ユーザー装置のための種々の装置設定（settings）を指定する。次いで、ネットワーク・コントローラは、構成パラメータを含む通知を生成する。のちに詳述するように、通知は、それらのパラメータをもって構成されたアプリケーション・プログラミング・インターフェース（API）を含んでいてもよい。
【００１１】
上記の例示的なシナリオに関してさらに、ネットワーク・コントローラは前記通知をユーザー装置に通信する。ユーザー装置は通知を受信し、通知（たとえばAPI）を処理して構成パラメータを見きわめる。ユーザー装置は、構成パラメータを利用して、ユーザー装置のさまざまな設定および／または属性を構成する。たとえば、構成パラメータは、オフ・チャネル・スキャン、節電手順、無線アクセスポイント接続などといったさまざまな無線に関係した挙動を制御するために使われる。
【００１２】
上記で言及したように、装置はセッション毎に構成されてもよい。たとえば、その装置に関わる新たな通信セッションが開始されるたびに構成されてもよい。こうして、装置がさまざまなネットワークおよび／または装置状態に適応し、ネットワーク・ポリシー、ネットワーク状態、装置状態などに基づいて動的に自らを構成し直すことができるようにするカスタムの装置構成が（たとえば動的に、ネットワーク・ポリシーに基づいて）定義されることができる。
【００１３】
以下の議論では、本稿に記載される技法を用いるよう動作可能な例示的な環境がまず記述される。次に、「通信セッションについてのセッション認知の伝搬」という題の節は、種々のエンティティに通信セッションの属性を通知するためのさまざまな例示的な仕方を論じる。これに続いて、「例示的なネットワーク・ポリシー」という題の節は、一つまたは複数の実施形態に基づくいくつかの例示的なネットワーク・ポリシーを記述する。次に、「例示的な実装シナリオ」という題の節は、一つまたは複数の実施形態に基づくいくつかの例示的な実装シナリオを記述する。これに続いて、「例示的な手順」という題の節は、一つまたは複数の実施形態に基づくいくつかの例示的な手順を記述する。最後に、「例示的なシステムおよび装置」という題の節は、一つまたは複数の実施形態に基づく本稿で論じられる技法を用いるよう動作可能な例示的なシステムおよび装置を記述する。
【００１４】
一つまたは複数の実施形態に基づく例示的な実装の概観を提示したところで、今、例示的な実装が用いられうる例示的な環境を考える。
【００１５】
〈例示的な環境〉
図１は、本稿に記載されるセッション・ベースの装置構成のための技法を用いるよう動作可能な例示的な実装における環境１００の図解である。一般に、環境１００は、多様な異なるモダリティーを介して通信を可能にするさまざまな装置、サービスおよびネットワークを含む。たとえば、環境１００は、無線事業体ネットワーク（WEN:  wireless  enterprise  network）１０４に接続されたクライアント装置１０２を含む。クライアント装置１０２は、伝統的なコンピュータ（たとえばデスクトップ・パーソナル・コンピュータ、ラップトップ・コンピュータなど）、モバイル・ステーション、娯楽機器、スマートフォン、ネットブック、ゲーム・コンソール、ハンドヘルド装置（たとえばタブレット）、ウェアラブル・コンピューティング装置などといった多様な仕方で構成されうる。
【００１６】
WEN  １０４は、インターネットのようなさまざまなネットワークおよび／またはサービスへの接続性をクライアント装置１０２に提供するネットワークを表わす。WEN  １０４は、ビジネス・エンティティ、教育機関（たとえば大学）、政府機関などといった特定の事業体エンティティによって提供および／または管理されてもよい。本稿で使われるところでは、用語「事業体」〔エンタープライズ〕は一般に、さまざまな目的のために無線データ・ネットワークを維持しうるエンティティまたはエンティティのグループを指す。WEN  １０４は、クライアント装置１０２に、ブロードバンド・ケーブル、デジタル加入者線（DSL）、無線データ接続性（たとえばWiFi（商標））、Tキャリア（たとえばT1）、イーサネット(登録商標)などといった多様な異なる接続技術を介した無線接続性を提供しうる。
【００１７】
WEN  １０４は、少なくとも部分的には無線アクセスポイント（WAP）１０６を介して実装される。WAP  １０６は、WEN  １０４の一部として無線データを送受信するための機能を表わす。WAP  １０６はたとえば、クライアント装置１０２および他の無線対応装置のための無線接続性を提供する。クライアント装置１０２はさらに、クライアント装置１０２が無線データを送受信できるようにするための機能を表わす無線装置１０８を含む。無線装置１０８の例示的実装は、種々の型のアンテナ、無線機、フィルタ、受信機、送信機などを含む。
【００１８】
無線装置１０８は一般に、クライアント装置１０２と無線装置１０８のコンポーネント間の、およびその逆の対話を可能にする機能を表わす無線ドライバ１１０に関連付けられている。たとえば、通信アプリケーション１１２は、通信データが無線装置１０８を介して送受信されることができるようにするために、無線ドライバ１１０を利用してもよい。
【００１９】
一般に、通信アプリケーション１１２は、クライアント装置１０２を介した通信の種々の形を可能にする機能を表わす。通信アプリケーション１１２の例は、音声通信アプリケーション（たとえばVoIPクライアント）、ビデオ通信アプリケーション、メッセージ交換アプリケーション、コンテンツ共有アプリケーションおよびそれらの組み合わせを含む。通信アプリケーション１１２はたとえば、さまざまな通信シナリオを提供するよう種々の通信モダリティーが組み合わされることを可能にする。一つまたは複数の実施形態によれば、通信アプリケーション１１２は、クライアント装置１０２にインストールされているアプリケーションを表わす。追加的または代替的に、通信アプリケーション１１２は、ウェブ・ブラウザー、ウェブ・アプリケーションなどを介してアクセス可能なリモート・アプリケーションとして実装されることができる。
【００２０】
環境１００はさらに、さまざまなエンティティの間でデータを交換、処理および／またはルーティングする種々の接続されたコンポーネントを表わすネットワーク・インフラストラクチャー１１４を含む。ネットワーク・インフラストラクチャー１１４はたとえば、インターネット・サービス・プロバイダー（ISP）のような種々のエンティティによって提供および管理されることのできる種々のネットワークおよび／またはサブネットワークを表わす。たとえば、WAP  １０６は、WAP  １０６にインターネット、ウェブ、他の事業体ネットワークなどへのネットワーク接続性を提供する（たとえば有線および／または無線の接続によって）ネットワーク・インフラストラクチャー１１４に接続される。
【００２１】
少なくともいくつかの実施形態では、ネットワーク・インフラストラクチャー１１４は種々の形の通信を可能にする。ネットワーク・インフラストラクチャー１１４はたとえば、音声データ、ビデオ・データ、コンテンツ・データなどの送信および受信を可能にする。少なくともいくつかの実施形態では、ネットワーク・インフラストラクチャー１１４は、統合通信および協働（UC&C）対応のネットワークを表わす。
【００２２】
通信サービス１１６がネットワーク・インフラストラクチャー１１４に接続されている、および／またはネットワーク・インフラストラクチャー１１４の一部として実装されている。通信サービス１１６は、クライアント装置１０２とユーザー装置１１８との間の通信の管理のためのさまざまなタスクを実行するためのサービスを表わす。通信サービス１１６はたとえば、通信セッションの開始、司会（moderation）および終了を管理することができる。通信サービス１１６の例は、VoIPサービス、オンライン会議サービス、UC&Cサービスなどを含む。少なくともいくつかの実施形態では、通信サービス１１６は、クライアント装置１０２とユーザー装置１１８との間の音声通信を可能にするために公衆電話交換網（PSTN:  Public  Switched  Telephone  Network）と通信する構内交換機（PBX:  private  branch  exchange）として実装されてもよく、あるいは該構内交換機に接続されていてもよい。
【００２３】
一つまたは複数の実装によれば、クライアント装置１０２とユーザー装置１１８の間の通信を可能にするために、クライアント装置１０２は通信アプリケーション１１２を介して通信サービス１１６とインターフェースをもつよう構成される。通信アプリケーション１１２はたとえば、さまざまな型の通信を可能にするために通信サービス１１６によって実装および管理される通信ポータルを表わす。
【００２４】
環境１００はさらに、WEN  １０４のさまざまな側面を管理する機能を表わすネットワーク・コントローラ１２０を含む。ネットワーク・コントローラ１２０はたとえば、WEN  １０４に接続されており、WEN  １０４の種々のコンポーネントの状態認知（state  awareness）を維持する。たとえば、ネットワーク・コントローラ１２０は、（たとえば位置に関する）WAP  １０６のマッピングならびに種々のWAP  １０６についての信号品質、WAP  １０６のサービス品質（QoS）属性などといったWAP  １０６のパフォーマンス属性を維持する。ネットワーク・コントローラ１２０はたとえば、WEN  １０４のさまざまな側面を管理するためのソフトウェア定義ネットワーキング（SDN:  software-defined  networking）コントローラとして実装されてもよい。
【００２５】
一つまたは複数の実施形態によれば、ネットワーク・コントローラ１２０は、WEN  １０４のためのルーティング情報にアクセスする接続性および論理を含む。たとえば、ネットワーク・コントローラ１２０は、WEN  １０４についての内部ゲートウェイ・プロトコル（IGP:  Interior  Gateway  Protocol）および／またはスパニング・ツリー・スイッチング・トポロジーにアクセスすることができる。これにより、ネットワーク・コントローラ１２０は、WEN  １０４内で種々のデータ・ルーティング経路を識別し、それらのルーティング経路をマッピングおよび再マッピングすることができる。ネットワーク・コントローラ１２０はこの情報をネットワーク・データベース１２２の一部として記憶する。ネットワーク・データベース１２２は、WEN  １０４のコンポーネントについて状態情報を追跡し、記憶する機能を表わす。
【００２６】
ネットワーク・コントローラ１２０は、個々のWAP  １０６を通じたデータ・フロー品質の指標のような、WAP  １０６からのパフォーマンス・データをもって、ネットワーク・データベース１２２を増強してもよい。本稿でさらに詳述されるように、これによりネットワーク・コントローラ１２０は、品質メトリックに基づいて決定を行なうことができ、さまざまなエンティティ（たとえばクライアント装置１０２）にWAP  １０６についての品質メトリックを通知し、それらのエンティティがネットワーク接続性の決定をすることができるようにすることができる。
【００２７】
ネットワーク・コントローラ１２０はさらに、WEN  １０４についての種々の規則およびパラメータを表わすネットワーク・ポリシー１２４を維持する。ネットワーク・ポリシー１２４はたとえば、WEN  １０４に接続する装置のための特定の挙動および／または設定を指定する。ネットワーク・ポリシー１２４の種々の例示的実装の例はのちに論じる。
【００２８】
ネットワーク・コントローラ１２０は、ネットワーク・ポリシー１２４を構成ブローカー１２６を介して種々のエンティティに伝搬させるよう構成されている。一般に、構成ブローカー１２６は、種々の無線装置（たとえばクライアント装置１０２）と対話して、それらの装置がネットワーク・ポリシー１２４に基づいて構成されることができるようにする機能を表わす。クライアント装置１０２はたとえば、構成ブローカー１２６と対話する機能および／またはWEN  １０４を介した無線通信のためにクライアント装置１０２の構成を可能にする他の機能を表わす構成モジュール１２８を含む。
【００２９】
たとえば、構成ブローカー１２６は、ネットワーク・ポリシー１２４のさまざまな属性を構成モジュール１２８に通信することができる。構成モジュール１２８は、それらの属性に従ってクライアント装置１０２が構成されるようにすることができる。たとえばクライアント装置１０２の無線パフォーマンスを最適化する。構成モジュール１２８は、ソフトウェア、ファームウェア、ハードウェアおよび／またはそれらの組み合わせを介して多様な仕方で実装されうる。一つまたは複数の実装によれば、構成モジュール１２８は、クライアント装置１０２の物理層（PHY）および／または媒体アクセス制御（MAC）層コンポーネントとして実装されることができる。このように、本稿で論じられるさまざまな技法は、通信セッションのためにクライアント装置１０２を構成するようPHYおよび／またはMAC層において実装されうる。
【００３０】
ネットワーク・コントローラ１２０は、WAP  １０６が種々の通信セッションのために構成されるようにすることもできてもよい。たとえば、クライアント装置１０２を参照して本稿で論じられるさまざまな通知および動作は、WAP  １０６に通信セッション属性およびポリシーを通知して、WAP  １０６が特定の通信セッションのために構成されることができるようにするために利用されてもよい。
【００３１】
少なくともいくつかの実施形態では、ネットワーク・ポリシー１２４に基づくクライアント装置１０２の構成は、セッション毎に、たとえばクライアント装置１０２が別の装置との通信セッションに参加するたびに、行なわれることができる。種々のネットワーク・ポリシー１２４および／またはセッション属性に基づくクライアント装置１０２の構成に関するさらなる詳細はのちに論じられる。
【００３２】
一つまたは複数の実装によれば、ネットワーク・コントローラ１２０はWEN  １０４に接続されたさまざまな装置のアクティブ状態認知（active  state  awareness）、WEN  １０４の、およびWEN  １０４に関わる通信セッションの状態条件を維持する。たとえば、ネットワーク・データベース１２２は、WEN  １０４内の種々の装置およびコンポーネントの接続性属性を追跡する。ネットワーク・データベース１２２はたとえば、アクティブ通信セッションの記録を含んでおり、ルーティング経路の変化、接続品質の変化などに基づいて該記録を動的に更新する。少なくともいくつかの実施形態では、ネットワーク・データベース１２２からの品質メトリックは、クライアント装置１０２がさまざまな状態変化に対して調整できるようにする通知を、クライアント装置１０２に発するために使用されることができる。環境１００のさまざまなエンティティのさらなる詳細および実装については下記で論じる。
【００３３】
本稿に記載される技法が動作しうる例示的な環境を記載したところで、今、一つまたは複数の実施形態に基づいて通信セッションのさまざまな属性およびネットワーク・ポリシーを伝搬させる例示的な仕方の議論を考える。
【００３４】
〈通信セッションについてのセッション認知（session  awareness）の伝搬〉
さまざまな実施形態によれば、通信セッションについての情報をさまざまなネットワーク・コンポーネントに動的に教えるための諸技法が用いられることができる。たとえば、通信セッションのさまざまな属性を含む通知イベントが生成されることができる。本稿で論じられるセッション・ベースの装置構成のための技法に対してさらに、通知イベントは種々のエンティティに伝搬されることができる。
【００３５】
少なくともいくつかの実施形態では、通知イベントは、通信セッションに関わるさまざまなネットワーク・コンポーネントを構成し、それらのコンポーネントにセッション情報を通信するために利用されることのできる通信アプリケーション・プログラミング・インターフェース（API）を使って構成されることができる。たとえば、通信APIは、特定の通信セッションについてのそれぞれの値を入れられることのできるダイアログ・イベントおよびセッション・イベントを同定することができる。たとえば、通信APIによって生成された通知イベントを介して伝達されうる以下のイベントおよび属性を考える。
【００３６】
ダイアログ・イベント――これらのイベントは、通信セッションの開始、更新および終了といった、通信セッションのさまざまな部分に適用される。ダイアログ・イベントは、次の例示的な属性の一つまたは複数を含むことができる。
【００３７】
（１）タイムスタンプ：この属性は、通信セッションの開始、通信セッション中に生起する更新および通信セッションの終了（たとえば打ち切り）のためのタイムスタンプを指定するために利用できる。
【００３８】
（２）ソースIPアドレス：この属性は、通信セッションの間のメディアのソースである装置、たとえば通信セッションを開始する装置についてのIPアドレスを指定するために利用できる。
【００３９】
（３）宛先IPアドレス：この属性は、通信セッションの一部としてメディアを受領する装置についてのIPアドレスを指定するために利用できる。
【００４０】
（４）転送型：この属性は、通信セッションについての転送の型または転送の型の組み合わせを指定するために利用できる。転送の型の例は、伝送制御プロトコル（TCP:  Transmission  Control  Protocol）、ユーザー・データグラム・プロトコル（UDP:  User  Datagram  Protocol）などを含む。
【００４１】
（５）ソース・ポート：この属性は、ソース装置、たとえば上記で言及したソースIPアドレスによって同定されるソース装置おけるポートについての識別子を指定するために利用できる。
【００４２】
（６）宛先ポート：この属性は、宛先装置、たとえば上記で言及した宛先IPアドレスによって同定される宛先装置におけるポートについての識別子を指定するために利用できる。
【００４３】
（７）メディア型：この属性は、通信セッションの一部として伝送されるおよび／または伝送されつつあるメディア型および／または諸メディア型を指定するために利用できる。本稿の他所で論じるように、通信セッションは複数の異なる型のメディアに関わることができる。よって、メディア型属性は、たとえば本稿で論じられるネットワーク・ポリシーを適用するために、通信セッションにおけるメディア型を同定するために用いられることができる。
【００４４】
（８）帯域幅推定：この属性は、通信セッションについて割り当てられるべき推定された帯域幅を指定するために利用できる。推定された帯域幅はたとえば、ユーザーに関連付けられた特権レベル、通信セッションに含まれるメディアの型および／または複数の型、通信セッションに適用されるネットワーク・ポリシーなどといったさまざまな因子に基づくことができる。
【００４５】
（９）受信者：この属性は、通信セッションにおいてメディアが送信される先のユーザーを同定するために利用できる。
【００４６】
（１０）発信者：この属性は、通信セッションにおいてメディアが送信される元のユーザーを同定するために利用できる。
【００４７】
（１１）エラー・コード：この属性は、通信セッションの一部として起こりうるエラーについてのさまざまなエラー・コードを指定するために利用できる。たとえば、エラーは、通信セッションの開始の間に起こるエラー、通信セッションの間に起こったエラー、通信セッションが終了されるときに起こるエラーなどを含むことができる。
【００４８】
セッション問題イベント――これらのイベントは、通信セッションがエラー、パフォーマンス劣化などを経験するときに生成され、適用されることができる。セッション問題イベントは、ダイアログ・イベントに関して上記で論じた属性の一つまたは複数を含むことができ、以下の属性の一つまたは複数をも含んでいてもよい。
【００４９】
（１）平均オピニオン評点（MOS:  Mean  Opinion  Score）劣化：この属性は、通信セッションについてのMOSを指定するために利用できる。この属性はたとえば、通信セッションの全体的な品質が低下したことを示すために使用できる。
【００５０】
（２）ジッタ到着時間間隔（Jitter  Inter-Arrival  Time）：これは、通信セッションについてのジッタ値を指定するために利用できる。この属性はたとえば、ジッタ値（単数または複数）が増大した、たとえば指定されたジッタ値閾値を超えたことを示すために使用できる。
【００５１】
（３）パケット損失率：この属性は、通信セッションについてパケット損失率を指定するために利用できる。この属性はたとえば、パケット損失率が増大した、たとえば指定されたパケット損失率値の閾値を超えたことを示すために使用できる。
【００５２】
（４）往復遅延（RTD:  Round  Trip  Delay）：この属性は、通信セッションにおけるパケットについてのRTD値を指定するために利用できる。この属性はたとえば、パケットについてのRTD値が増大した、たとえば指定されたRTD値の閾値を超えたことを示すために使用できる。
【００５３】
（５）隠蔽比：この属性は、通信セッション開始後に観察される発話時間に対する隠蔽〔コンシールメント〕時間の累積的な比を指定するために利用できる。この属性はたとえば、隠蔽比が増大した、たとえば指定された隠蔽比の値の閾値を超えたことを指定するために使用できる。
【００５４】
このように、本稿で論じられるさまざまな通知は、上記で論じた属性の一つまたは複数を含むことができ、さまざまなエンティティに属性を伝搬させるために使用されることができる。たとえば上記で論じた通信APIからの諸要素は、ネットワーク・ポリシーおよび通信セッションの属性に基づいて構成されることができる。たとえば、特定の通信セッションの属性は、通信APIの諸要素を構成するために、ネットワーク・ポリシーに適用されることができる。構成された要素は、装置（たとえばクライアント装置１０２）に通信されて、該装置が通信APIの要素からの値に基づいて構成されることができるようにすることができる。
【００５５】
通信セッションについてセッション認知を伝搬させる例示的な仕方を記述したところで、今、一つまたは複数の実施形態に基づく、いくつかの例示的なネットワーク・ポリシーを考える。
【００５６】
〈例示的なネットワーク・ポリシー〉
本節は、一つまたは複数の実施形態に基づく例示的なネットワーク・ポリシー（たとえば、ネットワーク・ポリシー１２４）を記述する。上記で言及したように、ネットワーク・ポリシーは一般に、無線ネットワークに接続するためのおよび該無線ネットワークを介してデータを送受信するためのさまざまな規則およびパラメータを指定する。
【００５７】
オフ・チャネル・スキャン
一般に、オフ・チャネル・スキャン（off-channel  scanning）とは、利用可能な無線ネットワーク・チャネルを求めるスキャンをいう。たとえば、装置は、無線チャネルが必要とされるというイベントにおいてチャネル認知（channel  awareness）を維持しようとして利用可能な無線チャネルを求めてスキャンすることがある。
【００５８】
例示的なネットワーク・ポリシーは、通信セッションが進行しているとき、オフ・チャネル・スキャンは停止および／または最小化されるべきであることを指定することができる。たとえば、ネットワーク・ポリシーは、通信セッションが進行している間はオフ・チャネル・スキャンは実行されないべきであることを指定してもよい。あるいはまた、ネットワーク・ポリシーは、通信セッションが進行している間にオフ・チャネル・スキャンが実行されてもよい時間の最大長さ、たとえば30ミリ秒、60ミリ秒などを指定してもよい。
【００５９】
少なくともいくつかの実施形態では、クライアント装置に対して、該装置が現在通信セッションに参加しており、よってオフ・チャネル・スキャンが停止または最小にされるべきであることを通知する通知イベントが送られることができる。通知イベントはたとえば、上で紹介した通信APIの属性を含むことができる。通信イベントが終了されるとき、通知イベントが終了され、よってオフ・チャネル・スキャンがデフォルト設定に従って再開されてもよいことを通知する（たとえば通信APIに基づく）通知イベントがクライアント装置に送られることができる。
【００６０】
無線移動性
モバイル装置はしばしば異なる位置の間で移動する。無線ネットワークに接続されている間にモバイル装置が移動するとき、モバイル装置はそのネットワーク接続を異なるWAPの間で移行させてもよい。たとえば、ユーザーが事業体施設の諸エリアの間で歩きながらモバイル装置での通信セッションに参加している場合、通信セッションが継続し、受け入れ可能な信号品質を維持できるようにするために、異なるWAPの間でハンドオフが行なわれてもよい。
【００６１】
さまざまな実装によれば、ネットワーク・ポリシーは、異なるWAPの間の接続ハンドオフを最適化するために用いられることができる。たとえば、ネットワーク・コントローラ１２０は、WEN  １０４のコンポーネントについてのさまざまな状態情報を維持することができる。そのような状態情報（state  information）の例は、次のものを含む。
【００６２】
（１）クライアント装置１０２が接続されている現在のWAPについての識別子。
【００６３】
（２）クライアント装置１０２の位置。位置はたとえば、クライアント装置１０２が接続されているWAPに対して決定されることができる。
【００６４】
（３）クライアント装置１０２の移動の方向。たとえば、ネットワーク・コントローラ１２０が、クライアント装置１０２がたとえば関連付けされているWAPに対して特定の方向に動いていることを判別することができる。少なくともいくつかの実施形態では、この情報は、一般的な方向においてクライアント装置１０２の動きを検出するWAPから受信されることができる。
【００６５】
（４）WAPへのクライアント装置１０２の現在の接続の信号品質属性。信号品質属性の例は、信号対雑音比（SNR）、受信信号強度指標（RSSI）、ジッタ、パケット遅延、無線輻輳などを含む。
【００６６】
（５）WEN  １０４の他のWAPの諸信号品質属性。これら属性はたとえば、そのWAP自身からおよび／または接続された装置から決定されることができる。
【００６７】
（６）他のWAPの位置。たとえばネットワーク・コントローラ１２０がWAP位置のマップを維持してもよい。さらに、ネットワーク・コントローラが種々の位置における無線利用可能性および品質のマッピングを維持するよう、マップは個々のWAPの信号品質属性で補強されていてもよい。
【００６８】
ネットワーク・コントローラ１２０は、アクセスポイント機能に関して知的な決定ができるようにするためにこの情報を利用できる。たとえば、ネットワーク・コントローラ１２０は、クライアント装置１０２についての最良候補WAPを、たとえばクライアント装置１０２への位置近接性および信号品質に基づいて、同定することができる。次いで、ネットワーク・コントローラ１２０は、（たとえば通信APIを使って）通知イベントをクライアント装置１０２に送って、クライアント装置１０２にWAPとの接続を確立するよう指示することができる。
【００６９】
代替的または追加的に、ネットワーク・コントローラ１２０は最良候補WAPのリストをクライアント装置１０２に提供することができ、クライアント装置１０２は内部的な意思決定論理を用いて、該リストから接続するべきWAPを選択することができる。
【００７０】
さまざまな実装によれば、このプロセスは、動的かつ連続的に生起できる。たとえば、ネットワーク・コントローラ１２０は定期的および／または連続的にそのWAP状態認知（WAP  state  awareness）を更新できる。さらに、ネットワーク・コントローラ１２０は定期的および／または連続的に、無線データ伝送のための最良候補WAPに関してクライアント装置１０２を更新できる。
【００７１】
バッテリー電力および無線パフォーマンス
モバイル装置はしばしば、バッテリー電力のもとで動作しているとき、バッテリー節約手順を実装する。たとえば、交流（AC）電源から切断されているとき、バッテリー寿命を保存するために、モバイル装置は無線データを送信するために使われる電力の量を下げることがある。しかしながら、無線機能（たとえば無線装置１０８）への電力の量を下げることは、無線信号品質に悪影響を与えることがある。
【００７２】
よって、ネットワーク・ポリシー１２４は、通信セッションが進行している間は無線機能に供給される電力が減らされないことを指定してもよい。少なくともいくつかの実装では、このネットワーク・ポリシーは、装置がバッテリー電力で動作しているときは無線データ伝送のための電力を減らそうとするデフォルトの装置設定をオーバーライドできる。
【００７３】
ネットワーク・コントローラ１２０はたとえば、（たとえば通信APIを使って）クライアント装置１０２に通知イベントを送って、通信セッションが進行中であり、よって無線機能に供給される電力が減らされるべきではないことを示すことができる。通信セッションが終了したとき、ネットワーク・コントローラ１２０は、通信セッションが終了したことを示す通知イベントをクライアント装置１０２に送ることができる。こうして、クライアント装置は、無線機能に供給される電力を減らすといったデフォルトの節電手順を再開しうる。
【００７４】
無線レート適応
モバイル装置は、RF干渉を生成するノイズ源をもつ領域において生じうるような信号品質の問題を補償するために、レート適応手順を実装してもよい。一般に、レート適応とは、データ送信のための送信電力を増しつつ送信ビットレートを下げるプロセスをいう。しかしながら、典型的なレート適応アルゴリズムは、無線信号品質に悪影響を及ぼしうる。たとえば、いくつかのレート適応アルゴリズムは、パケット送信再試行および再送信の増大を引き起こし、通信セッションからメディアを再生する時間シーケンスの期限が切れるため、これにより受信装置がパケットを脱落させることがある。
【００７５】
よって、ネットワーク・ポリシー１２４は、通信セッションの進行中は、デフォルトのレート適応アルゴリズムはカスタムのレート適応アルゴリズムでオーバーライドされることを指定してもよい。カスタムのレート適応アルゴリズムはたとえば、パケット再送信および送信再試行がデフォルト・レベルから減らされるべきであることを指定してもよい。カスタムのレート適応アルゴリズムの実装は、不必要なパケット再送信および送信再試行が送信装置によって実行される可能性を減らしうる。
【００７６】
たとえばネットワーク・コントローラ１２０は、（たとえば通信APIを使って）通知イベントをクライアント装置１０２に送って、通信セッションが進行中であり、よってレート適応が実行される場合にはカスタムのレート適応アルゴリズムが実装されるべきであることを示すことができる。通信セッションが終了すると、ネットワーク・コントローラ１２０はクライアント装置１０２に、通信セッションが終了したことを示す通知イベントを送ることができる。こうして、クライアント装置はデフォルトのレート適応手順を再開しうる。
【００７７】
サービス品質
さまざまな実装によれば、送信される無線パケットは、パケットがさまざまなネットワーク要素によってどのように扱われるべきかを指定するサービス品質（QoS）マーキングに関連付けられていてもよい。QoSマーキングの例は、迅速化転送（expedited  forwarding）、保証転送（assured  forwarding）、ベストエフォートなどを含む。たとえば、IPパケットにおける差別化サービス・コード・ポイント（DSCP:  differentiated  services  code  point）フィールドは、ネットワーク・トラフィックに異なるレベルのサービスが割り当てられることを可能にするよう、異なるQoSレベルに基づいて構成されることができる。しかしながら、QoSマーキングについての典型的な解決策は、パケット毎のQoSマーキングに依拠する。
【００７８】
よって、ネットワーク・ポリシー１２４は、種々のデータ・パケットの送信に適用されるべき特定のQoSレベルを指定してもよい。たとえばネットワーク・コントローラ１２０は、（たとえば通信APIを使って）クライアント装置１０２に通知イベントを送って、通信セッションが進行中であり、よってクライアント装置１０２によって送信されるパケットに特定のQoSレベルが適用されるべきであることを示してもよい。通知イベントは、たとえば、通信セッションの実際のメディア・パケットからは帯域外であってもよい。通知は、データ・パケットが送信のために受領されるときにどのようにタグ付けされているかに関わりなく、データ・パケットに適用される実際のタグを含んでいてもよい。こうして、通信セッションのパケットについて通知イベントによって指定されるQoSレベルが、パケットに取り付けられたQoSマーキングをオーバーライドしうる。こうして、本稿で論じられる実施形態は、セッション毎など動的に通信セッションのためのQoSを構成する仕方を提供する。
【００７９】
チャネル品質
上記で論じたように、異なるWAPについての位置および信号品質などの、異なるWAPに関する状態情報（state  information）が維持されることができる。こうして、クライアント装置１０２が現在のWAPで信号品質劣化を経験する場合、クライアント装置１０２は候補置換WAPを通知されることができる。たとえばネットワーク・コントローラ１２０は（たとえば通信APIを使って）クライアント装置１０２に通知イベントを送って、信号品質を高めるためにクライアント装置１０２が関連付けされうる候補WAPおよび／または無線チャネルを同定することができる。少なくともいくつかの実装では、これは、クライアント装置がオフ・チャネル・スキャンのようなチャネル探索手順を実行する必要性を回避できる。
【００８０】
いくつかの例示的なネットワーク・ポリシーについて述べたところで、今、一つまたは複数の実施形態に基づくセッション・ベースの装置構成のためのいくつかの例示的な実装シナリオを考える。
【００８１】
〈例示的な実装シナリオ〉
本節は、一つまたは複数の実施形態に基づく、セッション・ベースの装置構成のための例示的な実装シナリオを記述する。これらの実装シナリオは上記で論じた環境１００および／または他の好適な環境において実装されてもよい。
【００８２】
図２は、概括的に２００において、通信セッションを開始するための例示的な実装シナリオを示している。シナリオ２００は、環境１００を参照して上記で紹介したさまざまなエンティティおよびコンポーネントを含んでいる。
【００８３】
シナリオ２００では、クライアント装置１０２とユーザー装置１１８との間で通信サービス１１６を介して通信セッション２０２が開始される。通信サービス１１６はたとえば、クライアント装置１０２の通信アプリケーション１１２とユーザー装置１１８との間の仲介者のはたらきをする。たとえば、通信サービス１１６は、通信セッション２０２の開始、司会（moderation）および終了のさまざまな側面を管理しうる。
【００８４】
通信セッション２０２は、声、ビデオおよび／またはそれらの組み合わせのようなさまざまな型の通信メディアを含む。ユーザー装置１１８はWEN  １０４の外側に接続されているものとして示されているが、代替的な実装では、クライアント装置１０２およびユーザー装置１１８はWEN  １０４に直接接続されてもよい。
【００８５】
通信セッション２０２の開始に応答して、通信サービス１１６は通知イベント２０４を生成し、通知イベント２０４をネットワーク・コントローラ１２０に送る。通知イベント２０４は、通信セッション２０２が開始されることをネットワーク・コントローラ１２０に通知する。通知イベント２０４は、上記で詳述した通信APIの実装を表わすセッション通知API  ２０６を含む。
【００８６】
シナリオ２００に対してさらに、セッション通知API  ２０６は、通信セッション２０２についてのさまざまな属性についての値を含む。そのような属性の例は、クライアント装置１０２およびユーザー装置１１８についての識別子、たとえばIPアドレス、媒体アクセス制御（MAC）アドレスなどを含む。属性はさらに、通信セッション自身の属性、たとえば通信セッションの間に転送されるメディアの型（単数または複数）、通信セッションの開始時刻、通信アプリケーション１１２についてのアプリケーションIDなどを含む。セッション通知API  ２０６とともに通信されうる他の属性の例は、例示的な通信APIおよび例示的なネットワーク・ポリシーの議論などにおいて、上記で詳述している。
【００８７】
このように、セッション通知APIからの情報（たとえばクライアント装置１０２についてのID）に基づいて、ネットワーク・コントローラ１２０はクライアント装置１０２がネットワーク・コントローラ１２０のネットワーク・ドメインに接続されていることを見きわめる。よって、ネットワーク・コントローラ１２０は、セッション構成API  ２１０を含む構成イベント２０８を生成する。セッション構成API  ２１０はたとえば、セッション通知API  ２０６からの値をネットワーク・ポリシー１２４に適用することによって構成される。
【００８８】
シナリオ２００に対してさらに、ネットワーク・コントローラ１２０は構成イベント２０８を、WEN  １０４を介してクライアント装置１０２に通信する。たとえば、構成ブローカー１２６は構成モジュール１２８と対話し、構成イベント２０８を通信する。構成モジュール１２８はセッション構成API  ２１０を消費し、該APIから情報を抽出し、セッション構成API  ２１０に含まれる属性および値に基づいてクライアント装置１０２のさまざまな属性を構成するための機能を含む。たとえば、構成モジュール１２８は、セッション構成API  ２１０からの情報をクライアント装置１０２の種々の機能に伝搬させることができる。クライアント装置１０２がたとえば通信セッション２０２に従事している間、ネットワーク・ポリシー１２４に従って動作できるようにするためである。
【００８９】
例として、無線ドライバ１１０がデフォルトで、利用可能な無線チャネルを同定するために定期的なオフ・チャネル・スキャンを実行するよう構成されていると考える。シナリオ２００によれば、セッション構成API  ２１０は、クライアント装置が、通信セッション２０２の間はオフ・チャネル・スキャンを停止するまたはオフ・チャネル・スキャンが実行される時間の長さを制限することの指標を含む。構成モジュール１２８はセッション構成API  ２１０からこの情報を読み、この情報を無線ドライバ１１０に通信することができる。こうして、無線ドライバ１１０は、このポリシーに従って動作し、通信セッション２０２がアクティブである間、オフ・チャネル・スキャンを制限または停止してもよい。
【００９０】
この例示的なポリシーは、単に例のために挙げられている。本稿で論じられる技法を使って幅広い多様な異なるポリシーおよび挙動が実施されることができることは理解しておくものとする。利用されうる他のポリシーおよび挙動の例は上記で論じている。
【００９１】
図３は、概括的に３００において、セッション認知（session  awareness）を更新するための例示的な実装シナリオを示している。シナリオ３００は、環境１００を参照して上記で紹介したさまざまなエンティティおよびコンポーネントを含んでいる。少なくともいくつかの実施形態では、シナリオ３００は、上記で論じたシナリオ２００の続きを表わす。
【００９２】
シナリオ３００では、通信サービス１１６が通信セッション２０２における一つまたは複数の変化を検出する。たとえば、通信サービス１１６は、クライアント装置１０２および／またはユーザー装置１１８から、通信セッション２０２のセッション品質に関する問題の指標を受信してもよい。セッション品質問題の例は、受け入れ可能より低いS/N比、低い信号強度、多すぎるジッタ、多すぎる脱落させられるパケットなどを含む。
【００９３】
セッション品質問題の指標に応答して、通信サービス１１６は、セッション更新API  ３０４を含む更新イベント３０２を生成する。セッション更新API  ３０４はたとえば、上記で詳述した通信APIの実装を表わす。通信サービス１１６は更新イベント３０２をネットワーク・コントローラ１２０に送る。更新イベント３０２はネットワーク・コントローラ１２０に通信セッション２０２の変化を、たとえば通信セッションでの信号問題を通知する。
【００９４】
シナリオ３００に対してさらに、セッション更新API  ３０４は、通信セッション２０２についてのさまざまな属性についての値を含む。そのような属性の例は、クライアント装置１０２およびユーザー装置１１８についての識別子、たとえばIPアドレス、媒体アクセス制御（MAC）アドレスなどを含む。属性はさらに、通信セッションについての属性および通信セッションに対する変化の指標を含んでいてもよい。セッション更新API  ３０４とともに通信されうる他の属性の例は、例示的な通信APIおよび例示的なネットワーク・ポリシーの議論などにおいて、上記で詳述している。
【００９５】
このように、セッション更新API  ３０４からの情報に基づいて、ネットワーク・コントローラ１２０は通信セッション２０２で問題が起こりつつあることを見きわめる。たとえば、セッション更新API  ３０４は、クライアント装置１０２が接続されているWAP  １０６についての信号品質が貧弱であることを示してもよい。
【００９６】
よって、ネットワーク・コントローラ１２０は、再構成API  ３０８を含む再構成イベント３０６を生成する。再構成API  ３０８はたとえば、セッション更新API  ３０４からの値をネットワーク・ポリシー１２４に適用することによって構成される。少なくともいくつかの実施形態では、再構成API  ３０８は、クライアント装置１０２が接続されている現在のWAP  １０６よりよい信号品質をもつ候補WAP  １０６を同定してもよい。
【００９７】
シナリオ３００に対してさらに、ネットワーク・コントローラ１２０は再構成イベント３０６を、WEN  １０４を介してクライアント装置１０２に通信する。たとえば、構成ブローカー１２６は構成モジュール１２８と対話し、再構成イベント３０６を通信する。構成モジュール１２８は再構成API  ３０８を消費し、該APIから情報を抽出し、再構成API  ３０８に含まれる属性および値に基づいてクライアント装置１０２のさまざまな属性を構成するための機能を含む。たとえば、構成モジュール１２８は、再構成API  ３０８からの情報をクライアント装置１０２の種々の機能に伝搬させることができる。クライアント装置１０２がたとえば通信セッション２０２に従事している間、ネットワーク・ポリシー１２４に従って動作できるようにするためである。
【００９８】
少なくともいくつかの実施形態では、再構成API  ３０８において同定されている候補WAP  １０６に基づいて、クライアント装置１０２は、現在のWAP  １０６から切断して異なるWAP  １０６に接続するハンドオフ手順を開始する。こうして、通信セッション２０２についての信号品質は、より高い信号品質をもつWAP  １０６に接続することによって増大されうる。
【００９９】
シナリオ３００は、再構成イベント３０６が更新イベント３０２に応答して生成されることに言及して論じられているが、これは限定するものとは意図されていない。たとえば、少なくともいくつかの実施形態では、ネットワーク・コントローラ１２０は、通信サービス１１６とは独立に、自分自身のセッションおよび／またはネットワーク認知を維持する。こうして、ネットワーク・コントローラ１２０は、ネットワークおよび／またはセッション属性における変化を検出でき、そうした変化および該変化に基づくクライアント装置１０２のための適切な構成設定をクライアント装置１０２に通知するために再構成イベントおよび再構成APIを生成することができる。ネットワーク・コントローラ１２０はたとえば、自分自身の状態認知に基づき、通信サーバー１１６のような外部エンティティからの通知とは独立に、再構成イベント３０６および再構成API  ３０８を生成することができる。
【０１００】
よって、本稿で論じられる技法は、通信セッションが進行している間、通信セッション認知を動的に更新するために用いられることができる。さらに、更新イベントおよび再構成イベントは、特定の通信セッションの間に複数回発されてもよく、こうして、参加する装置はセッション品質および／またはセッション属性における変化に適応するよう動的に再構成されることができる。
【０１０１】
図４は、概括的に４００において、セッション終了のための例示的な実装シナリオを示している。シナリオ４００は、環境１００を参照して上記で紹介したさまざまなエンティティおよびコンポーネントを含んでいる。少なくともいくつかの実施形態では、シナリオ４００は上記で論じたシナリオ２００および３００の続きを表わす。
【０１０２】
シナリオ４００では、通信サービス１１６は、通信セッション２０２が終了したことを検出する。たとえば、通信サービス１１６はクライアント装置１０２および／またはユーザー装置１１８から、通信セッション２０２が終わったことの指標を受信してもよい。
【０１０３】
セッション終了の指標に応答して、通信サービス１１６は、更新セッションAPI  ４０４を含む更新イベント４０２を生成する。セッション更新API  ４０４はたとえば、上記で詳述した通信APIの実装を表わす。通信サービス１１６は、ネットワーク・コントローラ１２０に更新イベント４０２を送る。更新イベント４０２は、ネットワーク・コントローラ１２０に、通信セッション２０２が終わったことを通知する。
【０１０４】
シナリオ４００に対してさらに、セッション更新API  ４０４は、通信セッション２０２のさまざまな属性についての値を含む。そのような属性の例は、クライアント装置１０２およびユーザー装置１１８についての識別子を含む。属性はさらに、通信セッション２０２についてのセッションIDおよび通信セッション２０２についてのセッション終了タイムスタンプを含んでいてもよい。セッション更新API  ４０４とともに通信されうる他の属性の例は、例示的な通信APIの議論などにおいて、上記で詳述している。
【０１０５】
このように、セッション更新API  ４０４からの情報に基づいて、ネットワーク・コントローラ１２０は通信セッション２０２が終わったことを見きわめる。よって、ネットワーク・コントローラ１２０は、終了API  ４０８を含む終了イベント４０６を生成する。終了API  ４０８はたとえば、セッション更新API  ４０４からの値をネットワーク・ポリシー１２４に適用することによって構成される。少なくともいくつかの実施形態では、終了API  ４０８は、通信セッション２０２を同定し、通信セッションが終わったことを指定する。
【０１０６】
シナリオ４００に対してさらに、ネットワーク・コントローラ１２０は終了イベント４０６を、WEN  １０４を介してクライアント装置１０２に通信する。たとえば、構成ブローカー１２６は構成モジュール１２８と対話し、終了イベント４０６を通信する。構成モジュール１２８は終了API  ４０８を消費し、終了API  ４０８に含まれる属性および値に基づいてクライアント装置１０２のさまざまな属性を構成するための機能を含む。たとえば、構成モジュール１２８は、終了API  ４０８からの情報をクライアント装置１０２の種々の機能に伝搬させることができる。クライアント装置１０２がネットワーク・ポリシー１２４に従って動作できるようにするためである。
【０１０７】
少なくともいくつかの実施形態では、通信セッション２０２が終了されるという指示に基づいて、クライアント装置１０２はそのさまざまなコンポーネントに、デフォルトの挙動を再開してもよいことを通知してもよい。たとえば、構成モジュール１２８は、無線ドライバ１１０に、たとえばオフ・チャネル・スキャン、バッテリー保存技法、無線レート適応アルゴリズムなどに関し、デフォルトの挙動を再開してもよいことを通知してもよい。
【０１０８】
よって、本稿で論じられる技法は、セッション開始および停止イベントを装置に通知し、セッション毎に装置属性を動的に構成するために用いられることができる。
【０１０９】
いくつかの例示的な実装シナリオを論じたところで、今、一つまたは複数の実施形態に基づくいくつかの例示的な手順の議論を考える。
【０１１０】
〈例示的な手順〉
以下の議論は、一つまたは複数の実施形態に基づくセッション・ベースの装置構成のためのいくつかの例示的な手順を記述している。例示的な手順は図１の環境１００、図９のシステム９００および／または他の任意の好適な環境において用いられてもよい。さらに、例示的な手順は、上記で論じた例示的なシナリオの実装を表わしてもよい。少なくともいくつかの実施形態では、さまざまな手順のために記載される段階は、自動的に、ユーザー対話とは独立に、実装されることができる。
【０１１１】
図５は、一つまたは複数の実施形態に基づく方法における段階を記述する流れ図である。本方法は、一つまたは複数の実施形態に基づいて通信セッションにネットワーク・ポリシーを適用するための例示的な手順を記述する。少なくともいくつかの実施形態では、本方法は、ネットワーク・コントローラ１２０によって実行されることができる。
【０１１２】
段階５００は、ネットワークにおいて通信セッションが開始されるという通知を受信する。通知はたとえば、通信セッションのさまざまな属性を含む。たとえば、通知は、上記で詳述した通信APIを介して構成されてもよい。通知を介して通信されうる属性および情報の例は上記している。
【０１１３】
段階５０２は、通知から通信セッションの属性を見きわめる。たとえば、ネットワーク・コントローラ１２０は、上記の通知を処理して、たとえば該通知に含まれる通信APIから、セッション属性を同定することができる。
【０１１４】
段階５０４は、通信セッションの属性をネットワークについてのネットワーク・ポリシーに適用して、通信セッションについてのパラメータを指定する。たとえば、上記の属性に基づいて種々のポリシー・ベースの決定をすることができる。ネットワーク・ポリシーの例は上記で詳述している。
【０１１５】
段階５０６は、通信セッションについてのパラメータを含む構成イベントを生成する。構成イベントはたとえば、通信セッションについてのパラメータを表わすさまざまな値を入れられる通信APIを含む。そのようなパラメータの例は、通信セッションに参加している装置についての挙動、たとえば、通信セッションの間にオフ・チャネル・スキャンに従事するかどうか、通信セッションの間の許容される電力節約技法、セッション・パケットに適用されるべきQoSマーキングなどを含む。
【０１１６】
段階５０８は、ネットワークに接続されており、上記通信セッションに参加している装置に構成イベントを通信する。少なくともいくつかの実施形態では、構成イベントからの情報により、前記装置は、その通信セッションのためのパラメータに従って動作するよう自らを構成することができる。
【０１１７】
上記で論じた環境１００およびシナリオを参照するに、ネットワーク・コントローラ１２０は、構成イベントをクライアント装置１０２に通信することができる。代替的または追加的には、ネットワーク・コントローラ１２０は、構成イベントを、WAP  １０６のような他のネットワーク要素に通信することができる。たとえば、本稿で論じられる技法は、WAP  １０６および／または他のネットワーク・コンポーネントおよびネットワーク要素を構成するために用いられてもよく、エンドユーザー装置の構成に限定されない。
【０１１８】
図６は、一つまたは複数の実施形態に基づく方法における段階を記述する流れ図である。本方法は、一つまたは複数の実施形態に従ってエンティティに通信セッション属性を通知するための例示的な手順を記述している。
【０１１９】
段階６００は、ネットワークにおいて生起している通信セッションの属性を含む通知イベントを構成する。通信サービス１１６はたとえば、通信セッションの属性を通信APIに入れる。通信APIおよび通信セッション属性の例は上記で詳述している。少なくともいくつかの実施形態では、属性は、最近開始された通信セッションの属性および／または既存の通信セッションの属性への変更を含んでいてもよい。
【０１２０】
段階６０２は、通知イベントをネットワークのためのネットワーク・コントローラに通信する。通信サービス１１６はたとえば、値を入れられた通信APIをネットワーク・コントローラ１２０に通信する。通知イベントは、新しい通信セッションの属性および／または既存の通信セッションの属性への変更を含んでいてもよい。本稿で詳述されるように、ネットワーク・コントローラ１２０は通信APIからの情報を利用してネットワーク・ポリシーを適用し、さまざまな装置に、通信セッションのために適用されるべきパラメータおよび挙動を通知することができる。
【０１２１】
図７は、一つまたは複数の実施形態に基づく方法における段階を記述する流れ図である。本方法は、一つまたは複数の実施形態に従って通信セッション属性における変化を装置に通知するための例示的な手順を記述している。
【０１２２】
段階７００は、ネットワークにおいて生起しつつある通信セッションについての通信セッション属性における変化の指標を受領する。ネットワーク・コントローラ１２０はたとえば、通信セッションの一つまたは複数の属性が変化したとの指標を受領する。そのような変化の例は、セッション品質の変化、装置位置の変化、（たとえば、クライアント装置１０２および／またはWAP  １０６についての）装置パフォーマンスの変化などを含む。変化の指標は、通信サービス１１６から、および／またはネットワークについての検出された状態条件に基づいて、受領されてもよい。
【０１２３】
段階７０２は、通信セッション属性の変化に基づいて再構成イベントを生成する。ネットワーク・コントローラ１２０はたとえば、変化した属性をネットワーク・ポリシー１２４に適用して、通信セッションについてのセッション更新APIを生成する。セッション更新APIはたとえば、ネットワーク・ポリシー１２４に適用されるような通信セッション属性の変化を反映する要素値を含む。
【０１２４】
少なくともいくつかの実施形態では、再構成イベントは、無線接続を提供する候補であるWAP  １０６を同定してもよい。それらの候補は、個々のWAP  １０６についての信号品質および／または個々のWAP  １０６についての位置に基づいて同定されてもよい。たとえば、通信セッション属性における変化が、セッション品質の変化を示す場合、再構成イベントは、現在接続されているWAPより高い信号品質をもつ、特定の領域内のWAP  １０６を同定することができる。
【０１２５】
代替的または追加的に、通信セッション属性における変化が装置（たとえばクライアント装置１０２）がある位置から別の位置に動いていることを示す場合、再構成イベントは、動きのその概括的な方向に現われ、無線接続性を提供するために利用可能なWAP  １０６を同定することができる。このようにして、再構成イベントを受領する装置は、イベントからのデータを処理し、通信イベントの間の信号品質を改善するおよび／または位置の間で動くときに通信イベントが継続できるようにするなどのために、関連付けするべきWAP  １０６を選択することができる。
【０１２６】
段階７０４は、ネットワークに接続され、通信イベントに参加している装置に再構成イベントを通信する。ネットワーク・コントローラ１２０はたとえば、再構成イベントをクライアント装置１０２に通信する。通信イベントからの情報に基づいて、クライアント装置１０２はその内部設定を変える、異なるWAP  １０６に接続する、などすることができる。
【０１２７】
図８は、一つまたは複数の実施形態に基づく方法における段階を記述する流れ図である。本方法は、一つまたは複数の実施形態に従って通信セッションに参加するよう装置を構成するための例示的な手順を記述している。
【０１２８】
段階８００は、通信セッションについて適用されるべきパラメータを含む構成イベントを受領する。クライアント装置１０２はたとえば、ネットワーク・コントローラ１２０から構成イベントを受領する。少なくともいくつかの実施形態では、構成イベントは、初期構成イベント、たとえば通信セッションの開始後に受領される最初の構成イベントであってもよい。あるいはまた、構成イベントは、通信セッションの間に、該通信セッションについての以前の受領された構成イベントの後に、受領される再構成イベントであってもよい。さまざまな実装によれば、構成イベントは、クライアント装置１０２が通信セッションへの参加を開始した後に受領される。
【０１２９】
段階８０２は、構成イベントを処理して、通信セッションについてのパラメータを同定する。構成イベントはたとえば、種々のセッション・パラメータおよび／または装置設定についての種々の値を入れられた通信APIを含む。クライアント装置１０２は、通信セッションについての種々のパラメータを明らかにするよう通信APIを処理してもよい。
【０１３０】
段階８０４は、それらのパラメータに基づいて、その通信セッションのために装置を構成する。たとえばクライアント装置１０２は、それらのパラメータに基づいてさまざまな装置設定を構成することができる。たとえば、構成モジュール１２８は、さまざまなパラメータおよび／または設定を無線ドライバ１１０に通信し、無線ドライバ１１０がそれらのパラメータおよび設定に従って無線装置１０８を制御できるようにすることができる。構成されることのできる種々の装置設定および属性の例は上記で論じており、オフ・チャネル・スキャン設定、電力節約設定、通信セッション・パケットに適用されるべきQoSマーキングなどを含む。
【０１３１】
装置は、該装置の初期構成の一部としておよび／または構成更新の一部として、通信セッションのために構成されてもよい。たとえば、パラメータは、再構成イベントの一部として受領されるような、以前に構成された設定および装置属性に対する更新を含んでいてもよい。こうして、通信セッションに参加する装置についての以前に適用された設定および属性は、通信セッションにおける変化を反映するなどのために、通信セッションのために更新されてもよい。
【０１３２】
環境１００の議論において上記で言及したように、構成モジュール１２８はクライアント装置１０２のPHYおよび／またはMAC層コンポーネントとして実装されることができる。上記で論じたさまざまな手順の諸側面は、たとえば、通信セッションのために装置を構成するためにPHYおよび／またはMAC層において実装されてもよい。たとえば、通信APIの処理は、通信セッションのためにさまざまな装置パラメータおよび設定が構成されることができるようにするために、PHYおよび／またはMAC層において行なわれてもよい。
【０１３３】
上記で論じた方法は、通信セッションのためにユーザー装置（たとえばクライアント装置１０２）を構成することに言及して記述されているが、これは限定することは意図されていない。たとえば、少なくとも一つの実施形態では、無線アクセスポイント、ネットワーク・ファイアウォールなどといったネットワーク・コンポーネントが、本稿で論じられる技法を利用して構成されてもよい。本稿で論じられる種々のイベントおよびAPIはたとえば、異なるネットワーク・コンポーネントに通信されて、それらのコンポーネントが特定の通信セッションのために構成されることができるようにしてもよい。ネットワーク・コンポーネントの構成が、エンドユーザー装置の構成に対して追加的または代替的に行なわれてもよく、少なくともいくつかの実施形態では、エンドユーザー装置の構成と並列に行なわれてもよい。たとえば、上記ではクライアント装置１０２に通信されるとして論じられたさまざまな通知イベントは、追加的または代替的に、WAP  １０６、ネットワーク・ファイアウォール・コンポーネント、ハブ、スイッチ、ルーターなどのうちの一つまたは複数に通信されて、それら種々のコンポーネントが本稿で論じられる技法に従って構成されることができるようにしてもよい。
【０１３４】
上記で論じたように、本稿で言及される種々の通知イベントおよびAPIは、通信セッションのデータ・パケットとは別個に通信されてもよい。よって、通知イベントは、通信セッションに関して帯域外通信と考えられてもよい。少なくともいくつかの実施形態では、これは、装置が通信セッションのために構成および再構成されることを、通信セッション自身に干渉することなく、たとえば通信セッションのためのデータ・パケットのフローとは独立に、可能にする。
【０１３５】
いくつかの例示的な手順を論じたところで、今、一つまたは複数の実施形態に基づく例示的なシステムおよび装置の議論を考える。
【０１３６】
〈例示的なシステムおよび装置〉
図９は、本稿に記載されるさまざまな技法を実装しうる一つまたは複数のコンピューティング・システムおよび／または装置を表わす例示的なコンピューティング装置９０２を含む例示的なシステムを概括的に９００において示している。たとえば、クライアント装置１０２、上記で論じた通信サービス１１６および／またはネットワーク・コントローラ１２０は、コンピューティング装置９０２として具現されることができる。コンピューティング装置９０２はたとえば、サービス・プロバイダーのサーバー、クライアントに関連付けられた装置（たとえばクライアント装置）、オンチップ・システムおよび／または他の任意の好適なコンピューティング装置またはコンピューティング・システムであってもよい。
【０１３７】
図示した例示的なコンピューティング装置９０２は、互いに通信上結合された、処理システム９０４、一つまたは複数のコンピュータ可読媒体９０６および一つまたは複数の入出力（I/O）インターフェース９０８を含む。図示していないが、コンピューティング装置９０２はさらに、さまざまなコンポーネントを互いに結合するシステム・バスまたは他のデータおよびコマンド転送システムを含んでいてもよい。システム・バスは、多様なバス・アーキテクチャの任意のものを利用する、メモリ・バスまたはメモリ・コントローラ、周辺バス、ユニバーサル・シリアル・バスおよび／またはプロセッサもしくはローカル・バスのような種々のバス構造の任意の一つまたは組み合わせを含むことができる。制御およびデータ線のような、多様な他の例も考えられる。
【０１３８】
処理システム９０４は、ハードウェアを使って一つまたは複数の動作を実行する機能を表わす。よって、処理システム９０４は、プロセッサ、機能ブロックなどとして構成されうるハードウェア要素９１０を含むものとして示されている。これは、特定用途向け集積回路または一つまたは複数の半導体を使って形成される他の論理デバイスとしてのハードウェア実装を含みうる。ハードウェア要素９１０は、該ハードウェア要素が形成される材料または該ハードウェア要素において用いられる処理機構によって限定されない。たとえば、プロセッサは、半導体（単数または複数）および／またはトランジスタから構成されていてもよい（たとえば、電子的な集積回路（IC））。そのようなコンテキストでは、プロセッサ実行可能命令は電子的に実行可能な命令であってもよい。
【０１３９】
コンピュータ可読媒体９０６は、メモリ／記憶９１２を含むものとして示されている。メモリ／記憶９１２は、一つまたは複数のコンピュータ可読媒体に関連付けられたメモリ／記憶容量を表わす。メモリ／記憶９１２は、揮発性媒体（ランダム・アクセス・メモリ（RAM）など）および／または不揮発性媒体（読み出し専用メモリ（ROM）、フラッシュ・メモリ、光ディスク、磁気ディスクなど）を含みうる。メモリ／記憶９１２は、固定した媒体（たとえば、RAM、ROM、固定ハードドライブなど）ならびにリムーバブルな媒体（たとえばフラッシュ・メモリ、リムーバブル・ハードドライブ、光ディスクなど）を含みうる。コンピュータ可読媒体９０６は、下記でさらに述べるように多様な他の仕方で構成されうる。
【０１４０】
入出力インターフェース（単数または複数）９０８は、さまざまな入出力装置を使って、ユーザーがコンピューティング装置９０２にコマンドおよび情報を入力できるようにするとともに、ユーザーおよび／または他のコンポーネントもしくは装置に情報が呈示されることができるようにする機能を表わす。入力装置の例は、キーボード、カーソル制御装置（たとえばマウス）、マイクロフォン（たとえば、音声認識および／または発話入力のためのもの）、スキャナ、タッチ機能（たとえば、物理的なタッチを検出するよう構成された容量性またはその他のセンサー）、カメラ（これはたとえば赤外線振動数などの可視または不可視の波長を用いて、ジェスチャーのようにタッチを含まない動きを検出しうる）などを含む。出力装置の例は、表示装置（たとえばモニタまたはプロジェクター）、スピーカー、プリンター、ネットワーク・カード、触覚応答装置などを含む。このように、コンピューティング装置９０２は、ユーザー対話をサポートするために、下記でさらに述べる多様な仕方で構成されうる。
【０１４１】
本稿では、さまざまな技法が、ソフトウェア、ハードウェア要素またはプログラム・モジュールの一般的なコンテキストにおいて記述されることがある。一般に、そのようなモジュールは、特定のタスクを実行するまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造などを含む。本稿で使うところの「モジュール」、「機能」および「コンポーネント」という用語は一般に、ソフトウェア、ファームウェア、ハードウェアまたはそれらの組み合わせを表わす。本稿に記載される技法の事項はプラットフォーム独立である、つまりそれらの技法は多様なプロセッサを有する多様な商業的コンピューティング・プラットフォームで実装されうる。
【０１４２】
記載されるモジュールおよび技法の実装が、何らかの形のコンピュータ可読媒体に記憶されたり、あるいはそれを通じて伝送されたりしてもよい。コンピュータ可読媒体は、コンピューティング装置９０２によってアクセスされうる多様な媒体を含みうる。限定ではなく例として、コンピュータ可読媒体は、「コンピュータ可読記憶媒体」および「コンピュータ可読信号媒体」を含みうる。
【０１４３】
「コンピュータ可読記憶媒体」は、単なる信号伝送、搬送波または信号自身とは対照的に、情報の持続的な記憶を可能にする媒体および／またはデバイスを指しうる。コンピュータ可読記憶媒体は、信号自身は含まない。コンピュータ可読記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブルな媒体および／または記憶デバイスのような、コンピュータ可読命令、データ構造、プログラム・モジュール、論理要素／回路または他のデータのような、情報の記憶のために好適な方法または技術で実装されるハードウェアを含む。コンピュータ可読記憶媒体の例は、RAM、ROM、EEPROM、フラッシュ・メモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスク（DVD）または他の光記憶、ハードディスク、磁気カセット、磁気テープ、磁気ディスク記憶または他の磁気記憶デバイスまたは他の記憶デバイス、有体の媒体または製造物であって所望される情報を記憶するのに好適であり、コンピュータによってアクセスされうるものを含みうるが、それに限られない。
【０１４４】
「コンピュータ可読信号媒体」は、ネットワークを介するなどしてコンピューティング装置９０２のハードウェアに命令を伝送するよう構成されている信号を担う媒体を指しうる。信号媒体は典型的には、コンピュータ可読命令、データ構造、プログラム・モジュールまたは変調データ信号における他のデータ、たとえば搬送波、データ信号または他の転送機構を具現しうる。信号媒体は、いかなる情報送達媒体をも含む。用語「変調されたデータ信号」は、信号においてデータをエンコードするような仕方でその特性の一つまたは複数が設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線のネットワークまたは直接結線された接続といった有線媒体ならびに音響、電波周波数（RF）、赤外線および他の無線媒体といった無線媒体を含む。
【０１４５】
先述したように、ハードウェア要素９１０およびコンピュータ可読媒体９０６は、命令、モジュール、プログラム可能なデバイス論理および／またはハードウェアの形で実装された固定されたデバイス論理であっていくつかの実施形態では本稿に記載される技法の少なくともいくつかの側面を実装するよう実装されうるものを表わす。ハードウェア要素は、集積回路またはオンチップ・システム、特定用途向け集積回路（ASIC）、フィールド・プログラマブル・ゲート・アレイ（FPGA）、複雑プログラマブル論理デバイス（CPLD）およびシリコンもしくは他のハードウェア・デバイスでの他の実装のコンポーネントを含みうる。このコンテキストにおいて、ハードウェア要素は、命令、モジュールおよび／または論理によって定義されたプログラム・タスクを実行する処理装置として動作してもよい。該命令、モジュールおよび／または論理は、該ハードウェア要素によって具現されるものでも、実行のための命令を記憶するために利用されるハードウェア・デバイス、たとえば先述したコンピュータ可読記憶媒体によって具現されるものでもよい。
【０１４６】
上記の組み合わせも、本稿に記載されるさまざまな技法およびモジュールを実装するために用いられてもよい。よって、ソフトウェア、ハードウェアまたはプログラム・モジュールおよび他のプログラム・モジュールは、何らかの形のコンピュータ可読記憶媒体上に具現された一つまたは複数の命令および／または論理としておよび／または一つまたは複数のハードウェア要素９１０によって実装されてもよい。コンピューティング装置９０２は、ソフトウェアおよび／またはハードウェア・モジュールに対応する具体的な命令および／または関数を実装するよう構成されてもよい。よって、コンピューティング装置９０２によって実行可能なモジュールの実装は、少なくとも部分的にはハードウェアにおいて、たとえばコンピュータ可読記憶媒体および／または処理システムのハードウェア要素９１０の使用を通じて、達成されてもよい。命令および／または関数は、本稿に記載される技法、モジュールおよび例を実装するために、一つまたは複数の製造物（たとえば、一つまたは複数のコンピューティング装置９０２および／または処理システム９０４）によって実行可能／動作可能であってもよい。
【０１４７】
図９にさらに示されるように、例示的なシステム９００は、パーソナル・コンピュータ（PC）、テレビジョン装置および／またはモバイル装置上でアプリケーションを実行するときのシームレスなユーザー経験のための遍在する環境を可能にする。サービスおよびアプリケーションは、アプリケーションを利用する、ビデオ・ゲームをプレイする、ビデオを見るなどしている間にある装置から次の装置に移行するときの共通のユーザー経験のために、三つすべての環境において実質的に同様に実行される。
【０１４８】
例示的なシステム９００において、複数の装置が中央コンピューティング装置を通じて相互接続されている。中央コンピューティング装置は、前記複数の装置に対してローカルであってもよく、あるいは前記複数の装置からリモートに位置していてもよい。ある実施形態では、中央コンピューティング装置は、ネットワーク、インターネットまたは他のデータ通信リンクを通じて複数の装置に接続されている一つまたは複数のサーバー・コンピュータのクラウドであってもよい。
【０１４９】
ある実施形態では、この相互接続アーキテクチャにより、機能が複数の装置を横断して送達され、該複数の装置のユーザーに対して、共通でシームレスな経験を提供することが可能になる。複数の装置のそれぞれは、異なる物理的な要件および機能をもつことができ、中央コンピューティング装置は、前記装置に合わせて仕立てられているとともにすべての装置に共通の経験の前記装置への送達を可能にするためにプラットフォームを使う。ある実施形態では、目標装置のクラスが生成され、経験は装置の一般的なクラスに合わせて調整される。装置のクラスは、物理的な特徴、使用の型または装置の他の共通の特性によって定義されうる。
【０１５０】
さまざまな実装では、コンピューティング装置９０２は、コンピュータ９１４、モバイル９１６およびテレビジョン９１８使用のためのような多様な異なる構成を想定しうる。これらの構成のそれぞれは、一般に異なる構造体および機能をもちうる装置を含み、コンピューティング装置９０２は、異なる装置クラスの一つまたは複数に従って構成されてもよい。たとえば、コンピューティング装置９０２は、パーソナル・コンピュータ、デスクトップ・コンピュータ、マルチスクリーン・コンピュータ、ラップトップ・コンピュータ、ネットブックなどを含む装置のコンピュータ９１４クラスとして実装されてもよい。
【０１５１】
コンピューティング装置９０２は、携帯電話、ポータブル音楽プレーヤー、ポータブル・ゲーム装置、タブレット・コンピュータ、マルチスクリーン・コンピュータなどといったモバイル装置を含む装置のモバイル９１６クラスとして実装されてもよい。コンピューティング装置９０２は、何気なく見る環境での一般的により大きなスクリーンをもつまたはそのようなスクリーンに接続された装置を含む装置のテレビジョン９１８クラスとして実装されてもよい。これらの装置は、テレビジョン、セットトップボックス、ゲーム・コンソールなどを含む。
【０１５２】
本稿に記載された技法は、コンピューティング装置９０２のこれらのさまざまな構成によってサポートされることができ、本稿に記載される技法の個別的な例に限定されない。たとえば、通信サービス１１６、通信アプリケーション１１２および／またはネットワーク・コントローラ１２０を参照して論じた機能は、後述するプラットフォーム９２２を介して「クラウド」９２０上のような分散されたシステムの使用を通じて、全部がまたは部分的に実装されてもよい。
【０１５３】
クラウド９２０は、資源９２４のためのプラットフォーム９２２を含むおよび／またはそれを表わす。プラットフォーム９２２は、クラウド９２０のハードウェア（たとえばサーバー）およびソフトウェア資源の根底にある機能を抽象化する。資源９２４は、コンピューティング装置９０２からリモートなサーバー上でコンピュータ処理が実行されている間に利用されることのできるアプリケーションおよび／またはデータを含んでいてもよい。資源９２４は、インターネットを通じておよび／またはセルラーもしくはWi-Fiネットワークのような加入者ネットワークを通じて提供されるサービスを含むこともできる。
【０１５４】
プラットフォーム９２２は、コンピューティング装置９０２を他のコンピューティング装置と接続するための資源および機能を抽象化してもよい。プラットフォーム９２２は、プラットフォーム９２２を介して実装される資源９２４に対する遭遇される需要に対応するレベルのスケールを提供するための資源のスケーリングを抽象化してもよい。よって、相互接続された装置の実施形態では、本稿に記載される機能の実装はシステム９００を通じて分散されてもよい。たとえば、機能は、部分的にはコンピューティング装置９０２でならびにクラウド９２０の機能を抽象化するプラットフォーム９２２を介して実装されてもよい。
【０１５５】
本稿では、本稿で論じられる技法を実行するために実装されうるいくつかの方法が記載されている。それらの方法の諸側面は、ハードウェア、ファームウェアまたはソフトウェアまたはそれらの組み合わせにおいて実装されてもよい。それらの方法は、一つまたは複数の装置によって実行される動作を指定する段階の集合として示され、必ずしも、それぞれのブロックによる動作を実行するための示される順序に限定されない。さらに、特定の方法に関して示される動作は、一つまたは複数の実装に従って異なる方法の動作と組み合わされおよび／または交換されてもよい。それらの方法の諸側面は、環境１００を参照して上記で論じたさまざまなエンティティの間の対話を介して実装されることができる。
【０１５６】
〈まとめ〉
セッション・ベースの装置構成のための技法が記載される。実施形態は構造的な特徴および／または方法論的な工程に固有の言辞で記載されているが、付属の請求項において定義される実施形態は必ずしも記載されるそれらの個別的な特徴または工程に限定されないことは理解しておくものとする。むしろ、それらの個別的な特徴および工程は、特許請求される実施形態を実装する例示的な形として開示されている。
いくつかの態様を記載しておく。
〔態様１〕
通信セッションのためにクライアント装置を構成するシステムであって：
少なくとも一つのプロセッサと；
前記少なくとも一つのプロセッサによる実行に応答して当該システムに動作を実行させる命令が記憶されている一つまたは複数のコンピュータ可読記憶媒体とを有しており、前記動作は：
通信セッションがネットワークにおいて開始されるという通知の一部として受領された通信セッションの属性を判別する段階と；
前記通信セッションの属性を前記ネットワークについてのネットワーク・ポリシーに適用して前記通信セッションのためのパラメータを指定する段階と；
前記通信セッションのための前記パラメータを含む構成イベントを生成する段階と；
前記構成イベントを、前記ネットワークに接続されており、前記通信セッションに参加しているクライアント装置に通信して、前記クライアント装置を前記通信セッションのために構成されるようにする段階とを含む、
システム。
〔態様２〕
前記通知は前記通信セッションのデータ・パケットとは別個である、態様１記載のシステム。
〔態様３〕
前記属性は、前記通信セッションの複数の属性を含むアプリケーション・プログラミング・インターフェース（API）の一部として受領される、態様１記載のシステム。
〔態様４〕
前記パラメータが、前記クライアント装置によって適用されるべき無線挙動を指定する、態様１記載のシステム。
〔態様５〕
前記パラメータが、前記通信セッションのデータ・パケットに前記クライアント装置によって適用されるべきサービス品質マーキングを指定する、態様１記載のシステム。
〔態様６〕
前記動作がさらに：
前記通信セッションにおける変化の指標を受領する段階と；
前記パラメータに対する変化または前記通信セッションのための異なるパラメータへの変更の少なくとも一方を含む再構成イベントを生成する段階と；
前記再構成イベントを、前記クライアント装置に通信する段階とを含む、
態様１記載のシステム。
〔態様７〕
通信セッションのためにクライアント装置を構成するコンピュータ実装される方法であって：
事業体ネットワークの外部にあるサービスによって、前記事業体ネットワークにおいて生起しつつある通信セッションの属性を含む通知イベントを構成する段階と；
前記通知イベントを前記事業体ネットワークについてのネットワーク・コントローラに通信する段階であって、前記ネットワーク・コントローラが、前記通知イベントに基づいて構成イベントを生成し、前記構成イベントを前記通信セッションに参加しているクライアント装置に通信することをさせ、前記クライアント装置が前記構成イベントに基づいて前記通信セッションについて構成されるようにする、段階とを含む、
方法。
〔態様８〕
前記通信する段階は、前記通知イベントを前記通信イベントのデータ・パケットとは別個に通信することを含む、態様７記載の方法。
〔態様９〕
通信セッションのためにクライアント装置を構成するための動作を実行するために実行可能な命令が記憶されている一つまたは複数のコンピュータ可読記憶媒体であって、前記動作は：
クライアント装置において、通信セッションについて適用されるべきパラメータを含む構成イベントを受領する段階であって、前記構成イベントは、前記通信セッションのパケットからは帯域外で受領され、前記パラメータは前記通信セッションおよび前記クライアント装置が接続されているネットワークの両方に固有である、段階と；
前記構成イベントを処理して、前記通信セッションについての前記パラメータを同定する段階と；
前記パラメータに基づいて前記通信セッションのために前記クライアント装置を構成する段階とを含む、
一つまたは複数のコンピュータ可読記憶媒体。
〔態様１０〕
前記パラメータが前記通信セッションについての無線挙動を含み、前記構成する段階は、前記クライアント装置の無線装置を、前記無線挙動に従って機能するよう構成することを含む、
態様９記載の一つまたは複数のコンピュータ可読記憶媒体。
【図１】
0006509907.tif 000002
【図２】
0006509907.tif 000003
【図３】
0006509907.tif 000004
【図４】
0006509907.tif 000005
【図５】
0006509907.tif 000006
【図６】
0006509907.tif 000007
【図７】
0006509907.tif 000008
【図８】
0006509907.tif 000009
【図９】
0006509907.tif 000010