JP2017528961A - 自律ネットワークについてのルーティングアウェアネスの伝達 - Google Patents

自律ネットワークについてのルーティングアウェアネスの伝達 Download PDF

Info

Publication number
JP2017528961A
JP2017528961A JP2017505190A JP2017505190A JP2017528961A JP 2017528961 A JP2017528961 A JP 2017528961A JP 2017505190 A JP2017505190 A JP 2017505190A JP 2017505190 A JP2017505190 A JP 2017505190A JP 2017528961 A JP2017528961 A JP 2017528961A
Authority
JP
Japan
Prior art keywords
network
routing
communication session
awareness
autonomous
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017505190A
Other languages
English (en)
Inventor
リーブ,ガンター
エー. ハッサン,アメル
エー. ハッサン,アメル
エフ. メネゼス,パスカル
エフ. メネゼス,パスカル
ハウゲン,トッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017528961A publication Critical patent/JP2017528961A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

自律ネットワークについてのルーティングアウェアネスを伝達するための技術が説明される。少なくともいくつかの実施形態において、ルーティングアウェアネスは、異なるエンドポイント間で通信セッションをルーティングする自律ネットワークの属性を指す。様々な実施形態に従うと、ルーティングアウェアネスは、特定の自律ネットワークが、異なる自律ネットワーク間でルーティングアウェアネスを伝達するためのプロトコルをサポートしているかどうかを示す。ルーティングアウェアネスはまた、自律ネットワークの性能属性を含み得る。そのようなルーティングアウェアネスは、通信セッションをルーティングすることに関与するエンティティが、通信セッションのルーティング及び処理に関して十分な情報に基づく決定をすることを可能にする。

Description

現在の通信システムは、異なるサービスとの様々な通信モダリティの統合を含む様々な機能を有する。例えば、インスタントメッセージング、音声/ビデオ通信、データ/アプリケーション共有、ホワイトボーディング、及び他の形態の通信が、加入者についてのプレゼンス及び利用可能性情報と組み合わされ得る。そのようなシステムは、様々なステータスカテゴリ、代替連絡先、カレンダー情報、及び類似の特徴について発呼者に命令を提供すること等の拡張機能を加入者に提供することができる。さらに、様々なタイプの文書及びコンテンツを作成及び変更するのにユーザが共有及び連携することを可能にするコラボレーションシステムが、異なる種類のコミュニケーション及びコラボレーション機能を提供するマルチモーダルコミュニケーションシステムと統合され得る。そのような統合されたシステムは、時としてユニファイドコミュニケーション及びコラボレーション(UC&C)システムと呼ばれる。
UC&Cシステムは、通信の増大した柔軟性を提供しているが、いくつかの実装課題も与えている。例えば、UC&Cシステムは、一般に、複数の相互接続ネットワークを利用して様々な通信をルーティングする。異なるネットワークが、異なるエンティティによって管理されることがあるので、したがって、独立して管理されるネットワーク間でルーティングされる通信の通信品質を管理するのに課題が生じる。さらに、UC&Cは、一般に、モバイルデバイス、例えば、タブレット、スマートフォン、ラップトップ等にロードすることができるソフトウェアを介して実装される。したがって、UC&C通信トラフィックを管理するための技術は、一般に、変化する接続シナリオに適応するために、流動性を有し動的でなければならない。
この発明の概要は、発明を実施するための形態において以下でさらに説明されるコンセプトのうち選択されたコンセプトを簡略化された形で紹介するために提供される。この発明の概要は、特許請求される主題の主要な特徴又は必要不可欠な特徴を特定することを意図するものでもないし、特許請求される主題の範囲を決定する際の助けとして使用されることを意図するものでもない。
自律ネットワークについてのルーティングアウェアネス(routing awareness)を伝達するための技術が説明される。少なくともいくつかの実施形態において、ルーティングアウェアネスは、異なるエンドポイント間で通信セッションをルーティングする自律ネットワークの属性を指す。様々な実施形態に従うと、ルーティングアウェアネスは、特定の自律ネットワークが、異なる自律ネットワーク間でルーティングアウェアネスを伝達するためのプロトコルをサポートしているかどうかを示す。ルーティングアウェアネスはまた、自律ネットワークの性能属性を含み得る。そのようなルーティングアウェアネスは、通信セッションをルーティングすることに関与するエンティティが、通信セッションのルーティング及び処理に関して十分な情報に基づく決定をすることを可能にする。
詳細な説明が、添付の図面を参照して記載される。図面において、参照符号の最も左の数字(群)は、その参照符号が最初に出現する図面を特定するものである。説明及び図面における異なるインスタンスでの同じ参照符号の使用は、類似の又は同一のアイテムを示し得る。
本明細書で説明される技術を使用するよう動作可能である、例示的な実装における環境の図。 1以上の実施形態に従った、ルーティングアウェアネスを集約するための例示的な実施シナリオを示す図。 1以上の実施形態に従った、自律ネットワーク間でルーティングパスアウェアネスを決定するための例示的な実施シナリオを示す図。 1以上の実施形態に従った、通信セッションをリルーティングするための例示的な実施シナリオを示す図。 1以上の実施形態に従った、ルーティングアウェアネスを伝達するための方法におけるステップを示すフロー図。 1以上の実施形態に従った、ルーティングパス優先を示すための方法におけるステップを示すフロー図。 1以上の実施形態に従った、ルーティングパス属性の変化のルーティングアウェアネスを伝達するための方法におけるステップを示すフロー図。 本明細書で説明される技術の実施形態を実装するよう構成されている、図1に関連して説明される例示的なシステム及びコンピューティングデバイスを示す図。
概要
自律ネットワークについてのルーティングアウェアネスを伝達するための技術が説明される。少なくともいくつかの実施形態において、ルーティングアウェアネスは、異なるエンドポイント間で通信セッションをルーティングする自律ネットワークの属性を指す。一般に、通信セッションは、異なる通信エンドポイント間の通信メディアのリアルタイム交換を指す。通信セッションの例は、ボイスオーバーインターネットプロトコル(VoIP)通話、ビデオ通話、テキストメッセージング、ファイル転送、コンテンツ共有、及び/又はこれらの組合せを含む。少なくともいくつかの実施形態において、通信セッションは、ユニファイドコミュニケーション及びコラボレーション(UC&C)セッションを表す。
様々な実施形態に従うと、ルーティングアウェアネスは、特定の自律ネットワークが、異なる自律ネットワーク間でルーティングアウェアネスを伝達するためのプロトコルをサポートしているかどうかを示す。そのようなプロトコルは、以下でより詳細に説明されるが、一般に、通信セッション自体から帯域外(out-of-band)で自律ネットワーク及び通信セッションの属性を伝達するためのプロシージャを指す。したがって、ルーティングアウェアネスの伝達は、通信セッションのルーティング及び処理とは独立している。
様々な実施形態に従うと、ルーティングアウェアネスは、通信セッション品質及び/又は異なる自律ネットワークにわたって発生するエラーのインジケーション等の、自律ネットワークの性能属性を含む。したがって、本明細書で説明される技術は、異なる自律ネットワークにルーティングアウェアネスを通知するための多様なシナリオを提供する。そのようなルーティングアウェアネスは、通信セッションをルーティングすることに関与するエンティティが、通信セッションデータのルーティング及び処理に関して十分な情報に基づく決定をすることを可能にする。
以下の説明において、本明細書で説明される技術を使用するよう動作可能である例示的な環境が最初に説明される。次に、「ルーティングアウェアネスの伝達」と題されたセクションにおいて、1以上の実施形態に従った、ルーティングアウェアネスを伝達するためのいくつかの例示的なやり方が説明される。これに続いて、「例示的な実施シナリオ」と題されたセクションにおいて、1以上の実施形態に従ったいくつかの例示的な実施シナリオが説明される。次に、「例示的なプロシージャ」と題されたセクションにおいて、1以上の実施形態に従ったいくつかの例示的なプロシージャが説明される。最後に、「例示的なシステム及びデバイス」と題されたセクションにおいて、1以上の実施形態に従った、本明細書で説明される技術を使用するよう動作可能である例示的なシステム及びデバイスが説明される。
1以上の実施形態に従った例示的な実装の概要を提示したが、次に、例示的な実装が使用され得る例示的な環境について検討する。
例示的な環境
図1は、本明細書で説明される、自律ネットワークについてのルーティングアウェアネスを伝達するための技術を使用するよう動作可能である、例示的な実装における環境100の図である。一般に、環境100は、様々な異なるモダリティを介する通信を可能にする様々なデバイス、サービス、及びネットワークを含む。例えば、環境100は、クライアントネットワーク104に接続されるクライアントデバイス102を含む。クライアントデバイス102は、従来のコンピュータ(例えば、デスクトップパーソナルコンピュータ、ラップトップコンピュータ等)、移動局、エンターテイメント機器、スマートフォン、ウェアラブルデバイス、ネットブック、ゲームコンソール、ハンドヘルドデバイス(例えば、タブレット)等といった様々な態様で構成され得る。
クライアントネットワーク104は、インターネット等の様々なネットワーク及び/又はサービスへの接続をクライアントデバイス102に提供するネットワークを表す。クライアントネットワーク104は、インターネットサービスプロバイダ(ISP)等の特定のエンタープライズエンティティによって提供及び/又は管理され得る。例えば、クライアントネットワーク104は、ネットワーク接続をクライアントデバイス102に提供するローカルアクセスプロバイダ(LAP)ネットワークを表す。クライアントアクセスネットワーク104は、ブロードバンドケーブル、デジタル加入者線(DSL)、無線セルラ、無線データ接続(例えば、WiFi(登録商標))、Tキャリア(例えば、T1)、イーサネット(登録商標)等といった様々な異なる接続技術を介して接続をクライアントデバイス102に提供することができる。
クライアントネットワーク104は、クライアントネットワークコンポーネント106を含み、クライアントネットワークコンポーネント106は、クライアントネットワーク104を実装及び維持するためのハードウェア及びロジック等の、クライアントネットワーク104の異なるインフラストラクチャコンポーネントを表す。クライアントネットワークコンポーネント106の例は、ネットワークスイッチ、ルータ、ゲートウェイ等を含む。クライアントネットワークコンポーネント106は、例えば、クライアントネットワークコントローラ108及びクライアントゲートウェイ110を含む。クライアントネットワークコントローラ108は、クライアントネットワークコンポーネント106の接続及びルーティング等の、クライアントネットワーク104の様々な側面を管理する機能を表す。クライアントゲートウェイ110は、クライアントネットワーク104から他のネットワークにデータをルーティングするための機能を表す。クライアントゲートウェイ110の例は、ボーダールータ、顧客構内設備(CPE)ルータ、及び/又は、他のネットワークとインタフェースをとってデータを交換する他のデバイスを含む。
様々な実施形態に従うと、クライアントネットワークコントローラ108は、様々なクライアントネットワークコンポーネント106の状態アウェアネスを保持する。例えば、クライアントネットワークコントローラ108は、(例えば、位置に関する)クライアントネットワークコンポーネント106のマッピングと、異なるクライアントネットワークコントローラ108についての信号品質、クライアントネットワークコントローラ108のサービス品質(QoS)属性等といった、クライアントネットワークコントローラ108の性能属性と、を保持する。
クライアントネットワークコントローラ108は、例えば、クライアントネットワークコンポーネント106についてのルーティング情報にアクセスする接続及びロジックを含む。例えば、クライアントネットワークコントローラ108は、クライアントネットワークコンポーネント106についての内部ゲートウェイプロトコル(IGP)及び/又はスパニングツリースイッチングトポロジにアクセスすることができる。これは、クライアントネットワークコントローラ108が、クライアントネットワーク104内の異なるデータルーティングパスを識別すること、及び、異なるルーティングパスをマッピング及び再マッピングすることを可能にする。
クライアントネットワーク104には、中間ネットワーク112が接続され、中間ネットワーク112は、エンドポイントネットワーク114に接続される。中間ネットワーク112及びエンドポイントネットワーク114は、ブロードバンドケーブル、デジタル加入者線(DSL)、無線セルラ、無線データ接続(例えば、WiFi(登録商標))、Tキャリア(例えば、T1)、イーサネット(登録商標)等といった様々な異なるネットワーキング技術に従って、異なるそれぞれのエンティティによって、実装及び管理され得る異なるタイプ及びインスタンスの有線ネットワーク及び無線ネットワークを表す。
様々な実施形態に従うと、クライアントネットワーク104と中間ネットワーク112とエンドポイントネットワーク114との間の接続は、クライアントデバイス102とエンドポイント116との間の異なる通信パスを提供する。エンドポイント116は、クライアントデバイス102が通信できるデバイス及び/又は機能を表す。
中間ネットワーク112は、中間ネットワークコンポーネント118を含み、中間ネットワークコンポーネント118は、中間ネットワークコントローラ120及びエッジルータ122を含む。一般に、中間ネットワークコンポーネント118は、中間ネットワーク112を実装及び維持するためのハードウェア及びロジック等の、中間ネットワーク112の異なるインフラストラクチャコンポーネントを表す。中間ネットワークコントローラ120は、中間ネットワークコンポーネント118の接続及びルーティング等の、中間ネットワーク112の様々な側面を管理する機能を表す。エッジルータ122は、中間ネットワーク112から、クライアントネットワーク104及びエンドポイントネットワーク114等の他のネットワークにデータをルーティングするための機能を表す。様々な実施形態に従うと、エッジルータ122のうちの1以上は、クライアントゲートウェイ110のうちの1以上とインタフェースをとって、クライアントネットワーク104と中間ネットワーク112との間のピアリングポイントを提供する。
エンドポイントネットワーク114は、エンドポイントネットワークコンポーネント124を含み、エンドポイントネットワークコンポーネント124は、エンドポイントネットワークコントローラ126及びエンドポイントゲートウェイ128を含む。一般に、エンドポイントネットワークコントローラ126は、エンドポイントネットワークコンポーネント124の接続及びルーティング等の、エンドポイントネットワーク114の様々な側面を管理する機能を表す。エンドポイントゲートウェイ128は、エンドポイントネットワーク114から、中間ネットワーク112等の他のネットワークにデータをルーティングするための機能を表す。例えば、エッジルータ122のうちの1以上は、エンドポイントゲートウェイ128のうちの1以上とインタフェースをとって、エンドポイントネットワーク114と中間ネットワーク112との間のピアリングポイントを提供する。エンドポイントネットワークコンポーネント124の例示的な属性及び態様は、クライアントネットワークコンポーネント106に関して上述されている通りである。
様々な実施形態に従うと、クライアントデバイス102とエンドポイント116との間の通信は、クライアントデバイス102の通信クライアント130及びエンドポイント116の通信クライアント132を介して促進される。一般に、通信クライアント130、132は、クライアントデバイス102及びエンドポイント116を介する異なる形態の通信を可能にする機能を表す。通信クライアント130、132の例は、音声通信アプリケーション(例えば、VoIPクライアント)、ビデオ通信アプリケーション、メッセージングアプリケーション、コンテンツ共有アプリケーション、及びこれらの組合せを含む。通信クライアント130、132は、例えば、異なる通信モダリティが組み合わされて多様な通信シナリオが提供されることを可能にする。
少なくともいくつかの実施形態において、通信クライアント130、132は、通信サービス134へのインタフェースを表す。一般に、通信サービス134は、クライアントデバイス102とエンドポイント116との間の通信の管理のための様々なタスクを実行するサービスを表す。通信サービス134は、例えば、通信クライアント130と通信クライアント132との間の通信セッションの開始、調整、及び終了を管理することができる。
通信サービス134は、多くの異なるネットワークにわたってプレゼンスを維持し、クラウドベースのサービス、分散サービス、ウェブベースのサービス等といった様々な異なるアーキテクチャに従って実装され得る。通信サービス134の例は、VoIPサービス、オンライン会議サービス、UC&Cサービス等を含む。少なくともいくつかの実施形態において、通信サービス134は、公衆交換電話網(「PSTN」)と通信する構内交換機(PBX)として実装されて又はそのようなPBXに接続されて、クライアントデバイス102とエンドポイント116等の他のエンドポイントとの間の音声通信が可能にされ得る。
本明細書で説明される、自律ネットワークについてのルーティングアウェアネスを伝達するための技術に関して、環境100は、ネットワークアドバイザシステム136を含む。一般に、ネットワークアドバイザシステム136は、異なるエンティティにルーティングアウェアネスを伝達する機能を表す。「ルーティングアウェアネス」は、例えば、中間ネットワーク112を介してクライアントデバイス102とエンドポイント116との間でデータをルーティングするためのルーティングパスに関連する情報を指す。少なくともいくつかの実施形態において、ルーティングアウェアネスは、異なるネットワークの属性を含み、特定の通信セッションから独立している。さらに、ルーティングアウェアネスは、通信セッションの特定のインスタンス、通信セッションをルーティングすることに関与するネットワークの属性、通信セッションに参加するユーザ等についてのデータを含み得る。ルーティングアウェアネスに関するさらなる詳細は、以下で説明される。
様々な実施形態に従うと、ネットワークアドバイザシステム136は、クライアントネットワーク104のクライアントネットワークアドバイザ138、中間ネットワーク112の中間ネットワークアドバイザ140、及びエンドポイントネットワーク114のエンドポイントネットワークアドバイザ142とインタフェースをとる。ネットワークアドバイザシステム136は、異なるネットワークアドバイザからルーティングアウェアネスを受信することができ、異なるネットワークアドバイザ間でルーティングアウェアネスを伝達して、個々のネットワークが異なるネットワークのルーティング属性の状態アウェアネスを保持し、したがって、通信セッション性能を最適化するためにインテリジェントな決定をすることを可能にし得る。少なくともいくつかの実施形態において、ネットワークアドバイザは、ネットワークアドバイザシステム136のエージェントとして異なるネットワークに配置され得る。代替的に、ネットワークアドバイザは、ネットワークアドバイザシステム136とは独立して配置及び/又は実装されてもよい。
様々な実施形態に従うと、ネットワークアドバイザは、異なるネットワークに関連するルーティングアウェアネスを受信し、それらのそれぞれのネットワークのネットワークコンポーネント(例えば、それらのそれぞれのネットワークコントローラ)にルーティングアウェアネスを伝達し、それらのそれぞれのネットワークのルーティング属性の状態アウェアネスを保持する機能を表す。クライアントネットワークアドバイザ138は、例えば、クライアントネットワークコントローラ108及び/又は他のクライアントネットワークコンポーネント106とインタフェースをとり、クライアントネットワークコンポーネント106と、ネットワークアドバイザシステム136及び/又は他のネットワークアドバイザ等の他のエンティティと、の間の情報ポータルとして動作する機能を表す。
中間ネットワークアドバイザ140は、中間ネットワークコントローラ120及び/又は他の中間ネットワークコンポーネント118とインタフェースをとり、中間ネットワークコンポーネント118と、ネットワークアドバイザシステム136及び/又は他のネットワークアドバイザ等の他のエンティティと、の間の情報ポータルとして動作する機能を表す。様々な実施形態に従うと、中間ネットワーク112の少なくともいくつかはそれぞれ、中間ネットワークアドバイザ140の異なるそれぞれのインスタンスを含む。しかしながら、これは、限定的であると解釈されるべきではなく、以下で詳述されるように、中間ネットワーク112のうちのいくつかは、それぞれのネットワークアドバイザ140を含まず、したがって、本明細書で説明される、自律ネットワークについてのルーティングアウェアネスを伝達するための技術をサポートしない。本明細書における説明の目的で、そのようなネットワークは、「非サポートネットワーク」と呼ばれる。
エンドポイントネットワークアドバイザ142は、エンドポイントネットワークコントローラ126及び/又は他のエンドポイントネットワークコンポーネント124とインタフェースをとり、エンドポイントネットワークコンポーネント124と、ネットワークアドバイザシステム136及び/又は他のネットワークアドバイザ等の他のエンティティと、の間の情報ポータルとして動作する機能を表す。クライアントネットワークアドバイザ138、中間ネットワークアドバイザ140、及びエンドポイントネットワークアドバイザ142のうちの1つが具体的に言及されない限り、本明細書で使用される「ネットワークアドバイザ」という用語は、クライアントネットワークアドバイザ138、中間ネットワークアドバイザ140、及びエンドポイントネットワークアドバイザ142のうちの1つ又はこれらの全てを指し得る。
1以上の実施形態に従うと、ネットワークアドバイザシステム136は、例えば、通信サービス134によって管理される通信セッションのついてのルーティングアウェアネスを伝達するために、通信サービス134によって実装及び/又は維持され得る。代替的に、ネットワークアドバイザシステム136は、通信サービス134とは別々に且つ/又は独立して実装されてもよい。ネットワークアドバイザシステム136は、例えば、異なる通信クライアント及び通信サービス等の、通信セッションに関与する異なるエンティティ及び/又はシステムについてのルーティングアウェアネスを集約及び伝達することができる。
クライアントネットワークデータベース(DB)144が、クライアントネットワーク104について保持され、クライアントネットワーク104についての様々なタイプのルーティング情報をトラッキングする機能を表す。例えば、クライアントネットワークDB144は、様々なクライアントネットワークコンポーネント106についての性能属性及び統計量等の、様々なクライアントネットワークコンポーネント106についての状態情報をトラッキングするために使用され得る。クライアントネットワークコントローラ108は、例えば、クライアントネットワークコンポーネント106についての状態情報をクライアントネットワークアドバイザ138に通信することができ、クライアントネットワークアドバイザ138は、クライアントネットワークDB144の一部として、状態情報を記憶する。代替的又は追加的に、クライアントネットワークコントローラ108は、クライアントネットワークDB144と直接インタラクトして、例えば、クライアントネットワークDB144に情報を投入し、クライアントネットワークDB144から情報を取得してもよい。様々な実施形態に従うと、クライアントネットワークDB144からの情報を使用して、例えば、クライアントデバイス102の通信セッションについてのルーティングパスを決定するために、様々な決定をすることができる。以下でさらに詳述されるように、クライアントネットワークDB144は、中間ネットワーク112及びエンドポイントネットワーク114等の他のネットワークについての状態情報を記憶するために使用されてもよい。
中間ネットワークデータベース(DB)146が、中間ネットワーク112について保持され、中間ネットワーク112についての様々なタイプの情報をトラッキングする機能を表す。様々な実施形態に従うと、中間ネットワーク112の個々はそれぞれ、中間ネットワークDB146の異なるそれぞれのインスタンスを含む。例えば、個々の中間ネットワークDB146は、それぞれの中間ネットワーク112のための中間ネットワークコンポーネント118についての性能属性及び統計量等の、それぞれの中間ネットワークコンポーネント118についての状態情報をトラッキングするために使用され得る。中間ネットワークDBはまた、他の中間ネットワーク112、クライアントネットワーク104、エンドポイントネットワーク114等といった他のネットワークについての状態情報を記憶することができる。中間ネットワークDB146のさらなる態様及び機能は、クライアントネットワークDB144に関して上述されている通りである。
エンドポイントネットワークデータベース(DB)148が、エンドポイントネットワーク114について保持され、エンドポイントネットワーク114についての様々なタイプの情報をトラッキングする機能を表す。例えば、エンドポイントネットワークDB148は、様々なエンドポイントネットワークコンポーネント124についての性能属性及び統計量等の、様々なエンドポイントネットワークコンポーネント124についての状態情報をトラッキングするために使用され得る。エンドポイントネットワークDBはまた、中間ネットワーク112のうちの1以上、クライアントネットワーク104等といった他のネットワークについての状態情報を記憶することができる。エンドポイントネットワークDB148のさらなる態様及び機能は、クライアントネットワークDB144に関して上述されている通りである。
1以上の実施形態に従うと、ネットワークアドバイザシステム136は、システムネットワークデータベース(DB)150を保持し、システムネットワークDB150は、環境100の異なるネットワークに関連する様々な情報をトラッキングする機能を表す。例えば、システムネットワークDB150は、クライアントネットワーク104、中間ネットワーク112、及びエンドポイントネットワーク114のネットワーク属性のアクティブ状態アウェアネス(例えば、ルーティングアウェアネス)を保持する。システムネットワークDB150は、例えば、特定のネットワークが、本明細書で説明される、ルーティングアウェアネスの伝達のためのプロトコルをサポートしているか、部分的にサポートしているか、又はサポートしていないかをトラッキングする。システムネットワークDB150によってトラッキングされ得るネットワーク属性の他の例は、異なるネットワークにわたる通信セッションの現在の性能属性及び過去の性能属性等の性能属性を含む。
システムネットワークDB150はまた、個々の通信セッションについての識別子、個々の通信セッションに関与するエンドポイント、個々の通信セッションがルーティングされる途中のネットワーク、通信セッションの性能属性等といった、様々な現在の通信セッション及び過去の通信セッションについてのルーティングアウェアネスをトラッキングすることができる。本明細書でさらに詳述されるように、通信セッションに関連するルーティングアウェアネスは、通信セッション自体のデータから帯域外で伝達され得る。したがって、通信セッションデータの処理及びルーティングに関する決定は、実際の通信セッションデータを処理する且つ/又は扱うことなく、なされ得る。
少なくともいくつかの実施形態において、通信セッション及び/又はネットワーク状態に関連するルーティングアウェアネスは、通信セッションに影響を及ぼし得る状態のエンドツーエンドアウェアネスを提供するために、異なるネットワークアドバイザ間で伝達され得る。例えば、ネットワークアドバイザは、互いと通信して、ネットワークアドバイザシステム136とは独立して、ルーティングアウェアネスを共有することができる。代替的又は追加的に、ルーティングアウェアネスは、個々のネットワークアドバイザからネットワークアドバイザシステム136に伝達されてもよく、ネットワークアドバイザシステム136が、システムネットワークDB150の一部として、そのような情報を集約してもよい。ネットワークアドバイザシステム136は、ルーティングアウェアネスが、通信セッションをルーティング及び処理することに関与するエンティティに伝達されることを可能にするために、異なるネットワーク間でルーティングアウェアネスを共有することができる。さらに別の実施形態として、個々のネットワークコントローラは、ネットワークアドバイザシステム136と直接通信して、ルーティングアウェアネスを送信及び受信してもよい。
一般に、クライアントネットワーク104、個々の中間ネットワーク112、及びエンドポイントネットワーク114はそれぞれ、それらのそれぞれのピアリングポイント、例えば、ゲートウェイ、エッジルータ等を介して互いと接続する個々の自律ネットワークを表す。異なるネットワークは、例えば、異なるインフラストラクチャ及びサービスプロバイダ等の異なるエンティティによって実装及び管理され得る。したがって、本明細書で説明される実装は、ルーティングアウェアネスが、通信セッションをルーティング及び/又は処理することに関与する異なる自律ネットワークの間で伝達され得る様々な異なる環境を提供する。
様々な実施形態に従うと、クライアントネットワーク104、中間ネットワーク112のうちの1以上、及びエンドポイントネットワーク114は、ソフトウェア定義ネットワーク(SDN)として実装され得る。そのような実装において、SDNネットワークのためのそれぞれのネットワークアドバイザは、ルーティングアウェアネスを受信、処理、及び伝達することができるSDNコントローラを表す。
本明細書で説明される様々なエンティティは、複数及び単数の両方の実装において言及され得る。エンティティが、複数及び単数の両方の実装において説明されるとき、単数の実装への言及は、複数の実装のインスタンスを指す。例えば、1つの中間ネットワーク112への言及は、複数の中間ネットワーク112の特定のインスタンスを指す。
本明細書で説明される技術が動作し得る例示的な環境例を説明したが、次に、1以上の実施形態に従った、ルーティングアウェアネスを伝達する例示的なやり方について検討する。
ルーティングアウェアネスの伝達
様々な実施形態に従うと、技術は、ネットワーク状態についての情報、通信セッションについての情報等といったルーティングアウェアネスを様々なエンティティに動的に通知するために使用され得る。例えば、ネットワーク及び通信セッションの様々な属性を含む通知イベントが生成され得る。本明細書で説明される、自律ネットワークについてのルーティングアウェアネスを伝達するための技術に関して、通知イベントは、異なるエンティティに伝達され得る。
少なくともいくつかの実施形態において、通知イベントは、ルーティングアウェアネスを構成して、通信セッションに関与する様々なエンティティにルーティングアウェアネスを通信するために使用され得る通信アプリケーションプログラミングインタフェース(API)を使用して構成され得る。例えば、通信APIは、ネットワーク及び/又は通信セッションの属性が特定され得るダイアログイベント及びセッションイベントを特定することができる。例えば、通信APIを使用して生成された通知イベントを介して伝達され得る以下のイベント及び属性について検討する。
ダイアログイベント−これらのイベントは、通信セッションの開始、更新、及び終了等の、通信セッションの様々な部分に適用される。ダイアログイベントは、以下の例示的な属性のうちの1以上を含み得る。
(1)ネットワーク識別子:この属性は、ダイアログイベントが受信される元のネットワーク等のネットワークを識別するために使用され得る。少なくともいくつかの実施形態において、ネットワーク識別子は、特定のネットワークを識別する自律システム(AS)番号を含み得る。環境100に関して、例えば、ネットワーク識別子は、クライアントネットワーク104、中間ネットワーク112、及び/又はエンドポイントネットワーク114を識別することができる。
(2)タイムスタンプ:この属性は、通信セッションの開始、通信セッション中に発生する更新、及び通信セッションの終了(例えば、終わり)についてのタイムスタンプを指定するために使用され得る。
(3)送信元IPアドレス:この属性は、通信セッション中のメディアの送信元であるデバイス、例えば、通信セッションを開始するデバイスについてのIPアドレスを指定するために使用され得る。環境100に関して、例えば、送信元IPアドレスは、クライアントデバイス102又はエンドポイント116についてのものであり得る。
(4)宛先IPアドレス:この属性は、通信セッションの一部としてメディアを受信するデバイスについてのIPアドレスを指定するために使用され得る。環境100に関して、例えば、宛先IPアドレスは、クライアントデバイス102又はエンドポイント116についてのものであり得る。
(5)トランスポートタイプ:この属性は、通信セッションについての1つのトランスポートタイプ又はトランスポートタイプの組合せを指定するために使用され得る。トランスポートタイプの例は、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)等を含む。
(6)送信元ポート:この属性は、送信元デバイス、例えば、上述した送信元IPアドレスによって識別される送信元デバイスにおけるポートについての識別子を指定するために使用され得る。
(7)宛先ポート:この属性は、宛先デバイス、例えば、上述した宛先IPアドレスによって識別される宛先デバイスにおけるポートについての識別子を指定するために使用され得る。
(8)メディアタイプ:この属性は、通信セッションの一部として送信される且つ/又は送信されている1つのメディアタイプ及び/又は複数のメディアタイプを指定するために使用され得る。本明細書の別の箇所で説明されるように、通信セッションは、複数の異なるタイプのメディアを含み得る。したがって、メディアタイプ属性は、例えば、本明細書で説明されるサービスポリシーを適用するために、通信セッションにおけるメディアタイプを識別するために使用され得る。
(9)帯域幅推定:この属性は、通信セッションに対して割り当てられる推定帯域幅を指定するために使用され得る。推定帯域幅は、例えば、ユーザに関連付けられた特権レベル、通信セッションに含まれる1つのタイプのメディア及び/又は複数のタイプのメディア等といった様々なファクタに基づき得る。
(10)To:この属性は、通信セッションにおけるメディアの送信先のユーザを識別するために使用され得る。
(11)From:この属性は、通信セッションにおけるメディアの送信元のユーザを識別するために使用され得る。
(12)コーデック:この属性は、通信セッションの一部として利用される1以上のコーデックを指定するために使用され得る。
(13)エラーコード:この属性は、通信セッションの一部として発生し得るエラーについての様々なエラーコードを指定するために使用され得る。例えば、エラーは、通信セッションの開始中に発生するエラー、通信セッション中に発生したエラー、通信セッションが終了されるときに発生するエラー等を含み得る。
セッション問題イベント−これらのイベントは、通信セッションがエラー、性能劣化等を経験したときに生成及び適用され得る。セッション問題イベントは、ダイアログイベントに関して上述した属性のうちの1以上を含み得、以下の属性のうちの1以上をさらに含んでもよい。
(1)平均オピニオン評点(MOS)劣化:この属性は、通信セッションについてのMOSを指定するために使用され得る。この属性は、例えば、通信セッションの全般的な品質が低下したことを示すために使用され得る。
(2)ジッタ到着時間間隔:この属性は、通信セッションについてのジッタ値を指定するために使用され得る。この属性は、例えば、1以上のジッタ値が増加したこと、例えば、1以上のジッタ値が、指定された閾ジッタ値を超えたことを示すために使用され得る。
(3)パケット損失率:この属性は、通信セッションについてのパケット損失率を指定するために使用され得る。この属性は、例えば、パケット損失率が増加したこと、例えば、パケット損失率が、指定された閾パケットロス率値を超えたことを示すために使用され得る。
(4)ラウンドトリップ遅延(RTD):この属性は、通信セッションにおけるパケットについてのRTD値を指定するために使用され得る。この属性は、例えば、パケットについてのRTD値が増加したこと、例えば、パケットについてのRTD値が、指定された閾RTD値を超えたことを示すために使用され得る。
(5)隠匿比率:この属性は、通信セッションを開始した後に観測される発話時間に対する隠匿時間(concealment time)の累積比率を指定するために使用され得る。この属性は、例えば、隠匿比率が増加したこと、例えば、隠匿比率が、指定された閾隠匿比率値を超えたことを示すために使用され得る。
ネットワーク性能イベント−これらのイベントは、様々なネットワーク属性に加えて、特定のネットワークについて観測される挙動及び性能パラメータを指定するために生成及び適用され得る。例えば、ネットワーク性能イベントは、特定のエンティティ(例えば、ネットワークアドバイザ)にルーティングアウェアネスを提供するために、特定のエンティティに通信され得る。ネットワーク性能イベントは、ダイアログイベントに関して上述した属性のうちの1以上を含み得、以下の属性のうちの1以上をさらに含んでもよい。
(1)サポートネットワーク:この属性は、特定のネットワークが、ルーティングアウェアネスを伝達するためのプロトコルをサポートしている(「サポート」)か、部分的にサポートしている(「部分的」)か、又はルーティングアウェアネスの伝達をサポートしていない(「非サポート」)かを示すために使用され得る。少なくともいくつかの実施形態において、ルーティングアウェアネスプロトコルは、このプロトコルを他のプロトコルと区別するカスタムプロトコルID及び/又はプロトコル番号を介して識別され得る。
(2)平均オピニオン評点(MOS)レベル:この属性は、特定のネットワークを移動する通信セッションについて観測されるMOSを示すために使用され得る。ネットワークについてのMOSは、例えば、複数の異なる通信セッションにわたってMOSを平均化することによって決定され得る。
(3)ジッタ到着時間間隔:この属性は、特定のネットワークにおける通信セッションデータについて観測されるジッタ値を指定するために使用され得る。
(4)パケット損失率:この属性は、特定のネットワークにおける通信セッションデータについて観測されるパケット損失率を指定するために使用され得る。
(5)ラウンドトリップ遅延(RTD):この属性は、特定のネットワークにおける通信セッションデータについて観測されるRTD値を指定するために使用され得る。
(6)隠匿比率:この属性は、特定のネットワークにおける通信セッションデータについて観測される発話時間に対する隠匿時間の観測される累積比率を示すために使用され得る。
(7)ルーティングポリシー:この属性は、セキュリティポリシー、サービスレベルポリシー、サービス品質(QoS)ポリシー等といった異なるルーティングポリシーを指定するために使用され得る。ルーティングポリシーは、例えば、特定のネットワーク、個々の通信セッション等に固有であり得る。
(8)ネットワーク優先:この属性は、通信セッションをルーティングするために利用されるよう優先され得る特定のネットワーク等の、特定のネットワークについての優先レベルを識別するために使用され得る。少なくともいくつかの実施形態において、ネットワークのホワイトリスト、グレーリスト、及び/又はブラックリストが実装され得る。ネットワークホワイトリストは、例えば、ルーティングアウェアネスを伝達することをサポートしている、通信セッションデータを処理するときに許容可能な性能品質に関連付けられている、有効なセキュリティプロシージャを実施すると知られている、等の優先されるネットワークを識別する。ネットワークブラックリストは、非サポートであると知られているネットワーク、旧式のセキュリティプロトコルを実装するネットワーク、安全でない位置(例えば、地理的位置)におけるネットワーク等といった、様々な基準を満たさないと知られているネットワークを識別することができる。ネットワークグレーリストは、知られていない属性を有するネットワーク、例えば、ホワイトリスト又はブラックリストに入れられるのに十分な情報のないネットワークを識別することができる。
したがって、本明細書で説明される様々な通知は、上述した属性のうちの1以上を含み得、様々なエンティティにルーティングアウェアネスを伝達するために使用され得る。少なくともいくつかの実施形態において、属性は、特定のネットワーク及び/又はネットワークコンポーネントの性能属性を特徴づけるために、特定のネットワーク及び/又はネットワークコンポーネントに対応付けられ得る。
ルーティングアウェアネスを伝達する例示的なやり方を説明したが、次に、1以上の実施形態に従った、ルーティングアウェアネスを伝達するためのいくつかの例示的な実施シナリオについて検討する。
例示的な実施シナリオ
以下のセクションにおいて、1以上の実施形態に従った、ルーティングアウェアネスを伝達するための例示的な実施シナリオが説明される。実施シナリオは、上述した環境100及び/又は任意の他の適切な環境において実施され得る。
図2は、1以上の実施形態に従った、ルーティングアウェアネスを集約するための例示的な実施シナリオ200を示している。シナリオ200は、環境100に関して上記で紹介された様々なエンティティ及びコンポーネントを含む。
シナリオ200において、通信セッション202が、クライアントデバイス102とエンドポイント116との間で開始される又は開始されるようスケジュールされている。例えば、ユーザが、エンドポイント116との通信セッション202を開始する要求を入力する。代替的に、通信セッション202は、スケジュールされているミーティング又は他のカレンダーイベントに関連する等、未来時に発生するようスケジュールされたスケジュールされている通信セッションを表す。
通信セッションを開始する要求に応じて、通信セッション202についてのルーティングパスが、クライアントデバイス102とエンドポイント116との間で決定される。様々な実施形態に従うと、通信セッションをルーティングするためのルーティングパスは、クライアントネットワークコントローラ108、中間ネットワークコントローラ120、及び/又はエンドポイントネットワークコントローラ126によって適用される最短パスアルゴリズム等の任意の適切なアルゴリズムを使用して選択される。少なくともいくつかの実施形態において、ルーティングパスは、ボーダーゲートウェイプロトコル(BGP)等の特定のルーティングプロトコルに基づいて導出される。
さらに通信セッション202を開始する要求に応じて、通信クライアント130は、クライアントネットワークアドバイザ138に開始ダイアログイベント204を送信する。開始ダイアログイベント204は、通信セッション202を一意に識別する情報を含む。例えば、上述した通知イベントが、送信元識別子及び宛先識別子、ポート番号、セッションタイプ、コーデック等といった、通信セッション202の属性を通信するために使用され得る。
クライアントネットワークアドバイザ138は、開始ダイアログイベント204に基づいて、通信セッション202についての情報に関して、クライアントネットワークコントローラ108にセッション問合せ206を通信する。一般に、セッション問合せ206は、通信セッション202を識別する等の、開始ダイアログイベント204からの情報を含む。セッション問合せ206はまた、通信セッション202についてのルーティング情報を要求する。例えば、セッション問合せ206は、トレースルートプロシージャを実行して、通信セッション202がエンドポイント116にルーティングされる又はルーティングされるであろう途中のネットワーク及び/又はネットワークコンポーネントを特定する要求を含む。
クライアントネットワークコントローラ108は、セッション問合せ206に応じて、通信セッション202が中間ネットワーク112に向けてクライアントネットワーク104を出る際の特定のクライアントゲートウェイ110についての識別子等の、クライアントネットワーク104内の通信セッション202についてのルーティングパス情報を決定する。少なくともいくつかの実施形態において、クライアントネットワークコントローラ108は、通信セッションがルーティングされる途中の異なるネットワーク(例えば、中間ネットワーク112)を決定する。例えば、クライアントネットワークコントローラ108は、トレースルートプロシージャを実行して、そのようなネットワークを特定することができる。
クライアントネットワークコントローラ108は、ルーティング情報を含むセッション応答208を生成する。セッション応答208にはまた、クライアントネットワーク104におけるルーティングパスの性能属性等の他の情報も投入され得る。そのような性能属性の例は、ルーティングパスにわたって観測される、利用可能な帯域幅、パケット誤り率、ジッタ、パケット損失率等を含む。クライアントネットワークコントローラ108は、次いで、クライアントネットワークアドバイザ138にセッション応答208を通信する。
シナリオ200に関して、クライアントネットワークアドバイザ138は、通信セッション202に関与するエンドポイントについての識別子、ルーティング情報(例えば、通信セッションがクライアントネットワーク104から出る際のクライアントゲートウェイ110)、ルーティングパスの性能属性等といった、開始ダイアログイベント204及びセッション応答208からの情報が投入されたクライアントセッション通知210を生成する。クライアントネットワークアドバイザ138は、ネットワークアドバイザシステム136にクライアントセッション通知210を通信する。
ネットワークアドバイザシステム136は、クライアントセッション通知210を受信し、この通知において指定されている様々な属性及び情報を確認する。ネットワークアドバイザシステム136は、これらの属性に基づいて、通信セッション202がルーティングされる途中の中間ネットワーク112を特定する。中間ネットワーク112は、ネットワークについて指定される自律システム(AS)番号を介して等、様々な方法で特定され得る。
ネットワークアドバイザシステム136は、通信セッション202のルーティングパスについてのネットワーク識別子(ID)を、システムネットワークDB150において識別されるネットワークと照合しようと試みる。一般に、システムネットワークDB150は、個々のネットワークIDを個々のネットワークの属性に対応付けている。異なるネットワーク属性の例は、本明細書の別の箇所で詳述され、個々のネットワークが、本明細書で説明される、ルーティングアウェアネスの伝達のためのプロトコルをサポートしているかどうかを含む。
少なくともいくつかの実施形態において、システムネットワークDB150は、クライアントデバイス102とエンドポイント116との間の異なるネットワークルートを指定する変更ルーティングテーブルを含む。異なるルートについて、システムネットワークDB150は、個々の中間ネットワーク112がサポートネットワークであるかどうかと、個々の中間ネットワーク112についての性能属性と、を指定することができる。システムネットワークDB150はまた、個々の中間ネットワーク112が、ネットワークホワイトリスト、ネットワークブラックリスト、又はネットワークグレーリストにリストされるかを指定することができる。ネットワークホワイトリスト、ネットワークブラックリスト、及びネットワークグレーリストの例は、上述されている。
ネットワークアドバイザシステム136は、ネットワークIDをシステムネットワークDB150と照合したことに基づいて、特定されたネットワークのうちの1以上のネットワークの属性を含む通信セッション202のルーティングパスのルーティングアウェアネスを生成する。ネットワークアドバイザシステム136は、クライアントネットワークアドバイザ138にルーティングアウェアネス212aを通信し、通信セッション202のルーティングパスに沿った中間ネットワークアドバイザ140にルーティングアウェアネス212bを通信し、エンドポイントネットワークアドバイザ142にルーティングアウェアネス212nを通信する。一般に、ルーティングアウェアネス212a、212b、212nは、通信セッション202のルーティングパスに沿った異なるネットワークの属性を含み、その例は、上述されている。
1以上の実施形態に従うと、ルーティングアウェアネス212a、212b、212nは、通信セッション202をルーティングするためにどの中間ネットワーク112が使用されるかを指定する、異なるネットワークアドバイザに対する命令を含み得る。例えば、特定の中間ネットワーク112が、プロトコルサポートネットワークであると判定され、他の中間ネットワークが、非サポートであると判定された場合、ルーティングアウェアネス212a、212b、212nは、プロトコルサポートネットワークが非サポートネットワークの代わりに使用されることを指定することができる。そのような命令に基づいて、通信セッション202は、1以上の異なる中間ネットワーク112を介してリルーティングされ(rerouted)得る。
代替的又は追加的に、ルーティングアウェアネス212a、212b、212nは、他のネットワークより優先されるネットワークについてのID等の、ネットワークについての情報又は提案を提供してもよい。個々のネットワークアドバイザ及び/又はネットワークコントローラは、通信セッションをルーティングするためのルーティングパスを決定する際にルーティングアウェアネス212a、212b、212nを考慮することができる。例えば、特定のネットワークのためのネットワークアドバイザは、特定のネットワークについてのルーティングポリシーに基づいて、提案されたネットワークに通信セッション202をルーティング(例えば、リルーティング)するかどうかを決定することができる。異なるルーティングポリシーの例は、上述されている。
上述したように、中間ネットワーク112のうちの1以上は、プロトコルサポートネットワークとはみなされない。したがって、少なくともいくつかの実施形態において、ルーティングアウェアネスは、そのような非サポートネットワークには伝達されない。
したがって、シナリオ200は、少なくともいくつかの実施形態において、ネットワークアドバイザシステム136が、異なるネットワークからのルーティングアウェアネスを集約するよう機能できることを例示している。ネットワークアドバイザシステム136は、例えば、ルーティングアウェアネスを受信、集約、及び伝達することができる中央サービスとして機能する。
図3は、1以上の実施形態に従った、自律ネットワーク間でルーティングパスアウェアネスを決定するための例示的な実施シナリオ300を示している。シナリオ300は、環境100に関して上記で紹介された様々なエンティティ及びコンポーネントを含む。少なくともいくつかの実施形態において、シナリオ300は、シナリオ200に対する代替のシナリオ又は追加のシナリオを表す。
シナリオ300において、通信セッション302が、クライアントデバイス102とエンドポイント116との間で開始される又は開始されるようスケジュールされている。したがって、クライアントネットワークアドバイザ138は、クライアントネットワーク104にわたる通信セッション302についての初期パスルーティング情報を確認する。パスルーティング情報を確認する例示的なやり方は、上述されており、クライアントネットワークコントローラ108にパスルーティング情報について問い合わせることを含み得る。クライアントネットワークコントローラ108は、例えば、BGPを使用して、クライアントデバイス102とエンドポイント116との間の最短パスを最初に確認する。
初期ルーティングパス情報で始まって、クライアントネットワークアドバイザ138は、通信セッション302をルーティングする次の中間ネットワーク112を特定する。例えば、クライアントネットワークアドバイザ138は、最短パス決定の一部として特定される次の中間ネットワーク112が、プロトコルサポートネットワークであるかどうかを確認する。クライアントネットワークアドバイザ138は、次のネットワークについてのIDをクライアントネットワークDB144に対してチェックすること、次の中間ネットワーク112がサポートネットワークであるかどうかに関して次の中間ネットワーク112に問い合わせること、次の中間ネットワーク112がサポートネットワークであるかどうかに関してネットワークアドバイザシステム136に問い合わせること等によって等、様々な方法で、次の中間ネットワーク112が、プロトコルサポートネットワークであるかどうかを確認することができる。
次の中間ネットワーク112が、サポートネットワークであると特定された場合、クライアントネットワークアドバイザ138は、次の中間ネットワーク112がアウェアネスプロトコルサポートネットワークであることを示すために、クライアントネットワークDB144を更新することができる。例えば、次の中間ネットワーク112がサポートネットワークであることを示すために、次の中間ネットワーク112を識別するレコードエントリが作成又は更新され得る。様々な実施形態に従うと、クライアントネットワークアドバイザ138はまた、ネットワークアドバイザシステム136に通知を通信することができ、ネットワークアドバイザシステム136は、次の中間ネットワーク112がサポートネットワークであることを示すために、システムネットワークDB150を更新することができる。
シナリオ300の目的で、次の中間ネットワーク112がプロトコルサポートネットワークであると特定されなかったと仮定する。したがって、クライアントネットワークアドバイザ138は、他の中間ネットワーク112がプロトコルサポートネットワークであるかどうかについて問い合わせる。クライアントネットワークアドバイザ138は、他の中間ネットワーク112についてのIDをクライアントネットワークDB144に対してチェックすること、他の中間ネットワーク112がサポートネットワークであるかどうかに関して他の中間ネットワーク112に問い合わせること、他の中間ネットワーク112がサポートネットワークであるかどうかに関してネットワークアドバイザシステム136に問い合わせること等によって等、様々な方法で、他の中間ネットワーク112がプロトコルサポートネットワークであるかどうかを確認することができる。
クライアントネットワークアドバイザ138は、プロトコルサポートネットワークについての問合せに基づいて、サポートネットワークである異なる中間ネットワーク112を特定する。したがって、クライアントネットワークアドバイザ138は、通信セッション302をルーティングするための優先されるネットワークであるとして異なる中間ネットワーク112を特定するルーティング通知304を、クライアントネットワークコントローラ108に通信する。ルーティング通知304は、例えば、次の中間ネットワーク112から異なる中間ネットワーク112に通信セッション302をリルーティングする命令を含み得る。代替的に、ルーティング通知304は、異なる中間ネットワーク112が、通信セッション302についての優先されるルーティングパスであることを特定してもよく、クライアントネットワークコントローラ108が、異なる中間ネットワーク112に通信セッション302をリルーティングするどうかを決定してもよい。例えば、クライアントネットワークコントローラ108は、クライアントネットワーク104についてのネットワークポリシーに基づいて、異なる中間ネットワーク112へのリルーティングが優先される且つ/又は許可されるかどうかを確認してもよい。
シナリオ300を続けると、通信セッション302が、異なる中間ネットワーク112にリルーティングされる。様々な実施形態に従うと、リルーティングは、通信セッション302が進行中である間に動的に発生し得る。通信セッション302がまだ開始されていない例において、リルーティングは、通信セッション302が開始されるときに、通信セッション302が異なる中間ネットワーク112を介してルーティングされるように、通信セッション302についてのルーティングパスを再構成するように実施されてもよい。
シナリオ300に関して、クライアントネットワークアドバイザ138によって行われる反復的パス決定が、通信セッション302がエンドポイント116にルーティングされる途中の中間ネットワーク112のための中間ネットワークアドバイザ140によって行われる。例えば、反復的パス決定306が、異なる中間ネットワーク112のための中間ネットワークアドバイザ140に加えて、通信セッション302がルーティングされる途中の中間ネットワーク112のための他の中間ネットワークアドバイザ140によって行われる。個々の中間ネットワークアドバイザ140は、例えば、それぞれ反復的パス決定306を行う。
様々な実施形態に従うと、反復的パス決定306は、特定の中間ネットワーク112がサポートネットワークであるかどうかに基づいて通信セッション302をルーティングするための優先されるパス候補を特定するプロシージャを表す。例えば、反復的パス決定306は、プロトコルサポート中間ネットワーク112の最高割合(highest proportion)を含む、クライアントネットワーク104とエンドポイントネットワーク114との間の最短パスを特定しようと試みる。反復的パス決定306はまた、上述したルーティングポリシー等の他のネットワークポリシーに基づき得る。一般に、反復的パス決定306は、例えば、通信セッション302をルーティングするために、ルーティングアウェアネスを生成する例示的なやり方を表す。
個々の中間ネットワークアドバイザ140は、反復的パス決定306に基づいて、中間ネットワークコントローラ120のそれぞれのインスタンスに、ルーティング通知308を通信することができる。様々な実施形態に従うと、ルーティング通知308は、異なる中間ネットワーク112に通信セッション302をリルーティングする命令を含み得る。代替的に、ルーティング通知308は、異なる中間ネットワーク112が、通信セッション302についての優先されるルーティングパスであることを特定してもよく、それぞれの中間ネットワークコントローラ120が、それに応じて通信セッション302をリルーティングするかどうかを決定してもよい。例えば、中間ネットワークコントローラ120は、それぞれの中間ネットワーク112についてのネットワークポリシーに基づいて、異なる中間ネットワーク112へのリルーティングが優先される且つ/又は許可されるかどうかを確認することができる。
したがって、シナリオ300は、ルーティングアウェアネスが、優先されるパス候補を特定するためにネットワークごとに生成され得ること、及び、通信セッションについてのルーティングパスが、プロトコルサポートネットワークを含むように、ルーティングアウェアネスに基づいて、先制的且つ/又は動的に構成及び再構成され得ること、を例示している。
図4は、1以上の実施形態に従った、通信セッションをリルーティングするための例示的な実施シナリオ400を示している。シナリオ400は、環境100に関して上記で紹介された様々なエンティティ及びコンポーネントを含む。理解を単純化するために、環境100の所定の要素は、視覚的に省略されるが、説明の目的で暗に存在するものとみなされる。少なくともいくつかの実施形態において、シナリオ400は、シナリオ200、300の例及び/又は拡張を表す。
シナリオ400において、通信セッション402が、クライアントデバイス102とエンドポイント116との間で開始される又は開始されるようスケジュールされている。通信セッション402は、例えば、通信セッション202、302の例を表す。したがって、初期ルーティングパス404が、最短パスプロトコル、例えば、BGPに基づく等して、通信セッション402について決定される。図示されるように、ルーティングパス404は、中間ネットワーク112a、中間ネットワーク112b、及び中間ネットワーク112nを含む。
シナリオ400に関して、ルーティングアウェアネス406が、通信セッション402について生成される。ルーティングアウェアネス406は、様々な方法で生成され得、その例が、上述されており、以下で説明される。例えば、ルーティングアウェアネス406は、シナリオ200に関して説明されたように、ネットワークアドバイザシステム136から伝達されたルーティングアウェアネスに基づいて生成され得る。代替的又は追加的に、ルーティングアウェアネス406は、シナリオ300に関して説明されたように、個々のネットワークによって実行されるプロシージャを介して生成されてもよい。
様々な実施形態に従うと、ルーティングアウェアネス406は、通信セッション402をルーティングするための優先されるパス候補を特定する。ルーティングアウェアネス406は、例えば、中間ネットワーク112cが中間ネットワーク112bより優先されることを指定する。例えば、中間ネットワーク112cは、プロトコルサポートネットワークであると特定され得るのに対し、中間ネットワーク112bは、非プロトコルサポートネットワーク又は未同定(uncharacterized)ネットワークであると特定され得る。
したがって、初期ルーティングパス404は、ルーティングアウェアネス406に基づいて、変更ルーティングパス408を生成するよう再構成され得る。変更ルーティングパス408は、中間ネットワーク112bを介してではなく、中間ネットワーク112cを介して、通信セッション402をルーティングする。様々な実施形態に従うと、変更ルーティングパス408は、クライアントネットワーク104とエンドポイントネットワーク114との間の厳密な最短パス決定に基づくルーティングパス404より長いルーティングパスであり得る。しかしながら、これは、限定的であることを意図するものではなく、他の例示的な実施形態においては、変更ルーティングパス408は、ルーティングパス404と等しい又はルーティングパス404より短いルーティング距離であってもよい。
1以上の実施形態に従うと、変更ルーティングパス408は、通信セッション402の開始前に先制的に実装され得る。代替的又は追加的に、変更ルーティングパス408は、通信セッション402の開始後に、通信セッション402が進行中である間に動的に適用されてもよい。例えば、変更ルーティングパス408は、ルーティングパス404から変更ルーティングパス408に通信セッション402を動的にリルーティングするために適用されてもよい。
少なくともいくつかの実施形態において、上記シナリオにおいて説明された様々な通知、問合せ、及び応答は、上記で詳述された通信APIを介して等、上述した例示的な通知イベントを使用して構成され得る。例えば、通信APIに関して説明された様々な属性についての値が、シナリオ200〜400に関して説明された様々な情報を伝達するために使用され得る。したがって、通信APIは、通信セッションに関与する異なるエンティティの間でルーティングアウェアネスを伝達するために利用され得る。
これらのシナリオにおいて示されるように、ルーティングアウェアネスは、通信セッションから帯域外で、例えば、通信セッションとは独立しているデータストリームを使用して、伝達される。例えば、様々な通知及び応答は、通信セッションに関与するエンティティの間で伝達され得るルーティングアウェアネスのインスタンスを表す。
これらのシナリオが、クライアントデバイス102とエンドポイント116との間の通信セッションに関して説明されたが、本明細書で説明される技術は、複数の通信セッション、例えば、複数の同時通信セッションについてのルーティングアウェアネスを伝達するために使用されてもよいことを理解されたい。例えば、様々な問合せ、応答、及び通知は、クライアントデバイス102、エンドポイント116、及び明示されていない他のエンドポイントを伴う会議呼の一部等の、複数の同時通信セッションについてのルーティングアウェアネスを決定及び伝達するために使用されてもよい。別の例として、通信セッションは、クライアントデバイス102からエンドポイント116を含む複数の他のエンドポイントへのマルチキャスト通信イベントの一部であってもよい。したがって、ルーティングアウェアネスは、複数の異なるルーティングパスに沿って、同時に発生している又は同時に実施されるようスケジュールされている個々の通信セッションについて、伝達されてもよい。
少なくともいくつかの実施形態において、上述したシナリオは、通信セッションが開始されるようにスケジュールされていることを検出したことに応じて、例えば、通信セッションが開始される前に、実施され得る。カレンダーイベントは、例えば、通信セッションが、スケジュールされた将来の日時に開始されるようスケジュールされていることを示し得る。したがって、スケジュールされている通信セッションについてのルーティングアウェアネスが、通信セッションの開始前に生成及び伝達され得る。
したがって、これらのシナリオは、スケジュールされた日時前に通信セッションのルーティングアウェアネスを伝達するために実施され得る。そのような先制的なルーティングアウェアネスは、個々のネットワークが、スケジュールされている通信セッションを処理するためのリソースを確保することを可能にするため等の様々な目的で、使用され得る。
少なくともいくつかの実施形態において、これらのシナリオは、通信セッション中に複数回等、通信セッションが進行中である間に実施され得る。例えば、これらのシナリオは、ネットワーク及び通信セッション状態のアクティブ状態アウェアネスを保持するために、通信セッション中に周期的に実施され得る。代替的又は追加的に、これらのシナリオは、特定のネットワーク内のネットワーク問題及び/又はセッション問題のインジケーション等のトリガーイベントに応じて実施されてもよい。したがって、上述したシナリオに従って伝達されるルーティングアウェアネスは、セッション開始、セッション診断及び修復、セッション終了、セッション後解析等のため等、様々な目的で利用され得る。
したがって、ネットワーク及び通信セッションに関連する状態のルーティングアウェアネスは、通信セッションをルーティング及び/又は処理することに関与するエンティティの間で共有され得る。そのようなルーティングアウェアネスは、通信セッションの性能を最適化する、通信セッションにおいて発生する且つ/又は発生し得るエラーを軽減する等のため等、様々な形で利用され得る。
いくつかの例示的な実施シナリオを説明したが、次に、1以上の実施形態に従ったいくつかの例示的なプロシージャにつて検討する。
例示的なプロシージャ
以下の説明において、1以上の実施形態に従った、自律ネットワークについてのルーティングアウェアネスを伝達するためのいくつかの例示的なプロシージャが記載される。例示的なプロシージャは、図1の環境100、図8のシステム800、及び/又は任意の他の適切な環境において使用され得る。プロシージャは、例えば、上述した実施シナリオを実装するための例示的なプロシージャを表す。少なくともいくつかの実施形態において、様々なプロシージャについて示されるステップは、自動的に実行され、ユーザインタラクションとは独立しているものであり得る。
図5は、1以上の実施形態に従った方法におけるステップを示すフロー図である。この方法は、1以上の実施に従った、ルーティングアウェアネスを伝達するための例示的なプロシージャを示している。
ステップ500は、複数の自律ネットワークについてのルーティングアウェアネスを集約する。ルーティングアウェアネスを集約する例示的なやり方は、シナリオ200〜400を参照して等、上述されている。例えば、ルーティングアウェアネスは、ネットワークアドバイザシステム136等の、個々の自律ネットワークとは別個に実装されるシステムによって受信及び集約され得る。例えば、ネットワークアドバイザシステム136は、個々の自律ネットワークからルーティングパス属性を受信することができ、ルーティングパス属性を集約してルーティングアウェアネスを生成することができる。代替的又は追加的に、ルーティングアウェアネスは、異なるネットワーク間の、例えば、異なるネットワークアドバイザ間のルーティングパス属性の通信に基づいて、集約されてもよい。
一般に、ルーティングアウェアネスは、通信セッションについてのルーティングパスに関連する様々なタイプの情報を含む。ルーティングアウェアネスは、例えば、特定のネットワークが、プロトコルサポートネットワークであるか又は非サポートネットワークであるかを示す。ルーティングアウェアネスに含まれ得る他の例示的な属性は、通知イベント及び/又は通信APIに関して上記で詳述されている。ルーティングアウェアネスは、例えば、通信セッションがルーティングされ得る途中の自律ネットワークの性能属性を指定する。
少なくともいくつかの実施形態において、ルーティングパスアウェアネスは、通信セッションが開始される又は開始されるようスケジュールされているというインジケーションに応じて集約され得る。環境100に関して、例えば、ネットワークアドバイザのうちの1以上が、ネットワークのうちの1以上を伴う通信セッションのインジケーションを受信する。インジケーションは、通信クライアント(例えば、通信クライアント130)から、ネットワークコントローラから、ネットワークアドバイザシステム136から等の通知を介する等、様々な形で受信され得る。
少なくともいくつかの実施形態において、スケジュールされている通信セッションが、スケジュールされている通信セッションを含むカレンダーイベントに基づく等して、検出され得る。例えば、ユーザは、カレンダーアプリケーションを利用して、ウェブミーティング、会議呼、マルチキャストセッション等といったカレンダーイベントを将来の日時にスケジュールすることができる。ユーザは、日時、招待されるユーザ、関与する通信メディアのタイプ等といった、カレンダーイベントについてのパラメータを指定することができる。したがって、通信セッションが開始されるようスケジュールされていることを確認することは、通信セッションを含むカレンダーイベントを検出することに基づき得る。
ステップ502は、複数の自律ネットワーク間でルーティングアウェアネスを伝達する。ルーティングアウェアネスは、例えば、通信セッションのデータストリームから帯域外で通信される。
少なくともいくつかの実施形態において、ルーティングアウェアネスは、ネットワークツーネットワーク通信を介して等、自律ネットワーク自体の間で通信される。例えば、異なる自律ネットワークのためのネットワークアドバイザは、互いとの直接通信に関与して、ルーティングアウェアネスを交換することができる。
代替的又は追加的に、ルーティングアウェアネスは、ネットワークアドバイザシステム136等の、自律ネットワークとは別個に実装されるサービス及び/又はシステムによって伝達されてもよい。
上述したように、ルーティングアウェアネスは、異なるやり方で実装され得る。例えば、ルーティングアウェアネスは、特定の優先されるネットワークを介して通信セッションをルーティングする命令を含み得る。代替的又は追加的に、ルーティングアウェアネスは、通信セッションをルーティングするための特定の優先されるネットワークを特定し、ネットワーク関連エンティティ(例えば、ネットワークコントローラ)が、優先されるネットワークに通信セッションをルーティングするかどうかを決定することを可能にし得る。したがって、様々な実施形態に従うと、ルーティングアウェアネスは、指示的又は情報的であり得る。
図6は、1以上の実施形態に従った方法におけるステップを示すフロー図である。この方法は、1以上の実施形態に従った、ルーティングパス優先を示すための例示的なプロシージャを示している。
ステップ600は、通信セッションについてのルーティングパスのインジケーションを受信する。インジケーションは、例えば、2つのエンドポイント間の通信セッションが開始される又は開始されるようスケジュールされているというインジケーションに対応する。例えば、特定の自律ネットワークのためのネットワークアドバイザが、通信クライアントから等、通信セッションが開始されるという通知を受信する。少なくともいくつかの実施形態において、ルーティングパスのインジケーションは、ルーティングパスのネットワーク及び/又はネットワークコンポーネントについての識別子を介して等、通信セッションについてのルーティングパスに沿ったネットワークを特定することができる。様々な実施形態に従うと、通信セッションは、2つのエンドポイント間の仮想通信セッションに対応してもよく、必ずしも実際の通信セッションである必要はない。
ステップ602は、通信セッションについてのルーティングパスに沿った特定の自律ネットワークが、通信セッションについてのルーティングアウェアネスを伝達するためのプロトコルをサポートしていないことを確認する。特定の自律ネットワークは、例えば、最短パスアルゴリズムを使用して算出されたルーティングパスに基づいて決定され得る。ネットワークがサポートネットワークであるかどうかを判定する例示的なやり方は上述されている。
ステップ604は、通信セッションをルーティングするために利用可能でありプロトコルをサポートしている異なる自律ネットワークを特定する。特定のネットワークのためのクライアントネットワークアドバイザが、例えば、特定のネットワークのネットワークコントローラ及び/又はルーティングテーブルに、通信セッションをルーティングするために利用可能である別のネットワークについて問い合わせる。
ステップ606は、通信セッションをルーティングするために異なる自律ネットワークが特定の自律ネットワークより優先されることを示すために、通信セッションについてのルーティングアウェアネスを更新する。ルーティングアウェアネスは、例えば、特定のネットワークを異なるネットワークで置き換えた、通信セッションについての変更ルーティングパスを含み得る。
ステップ608は、通信セッションをルーティングすることに関与するエンティティに、更新されたルーティングアウェアネスを通信する。例えば、更新されたルーティングアウェアネスは、ルーティングパスが、異なる自律ネットワークを含み且つ/又は特定の自律ネットワークを含まないように再構成されることを可能にするために、特定の自律ネットワークのためのネットワークコントローラに通信され得る。代替的又は追加的に、更新されたルーティングアウェアネスは、更新されたルーティングアウェアネスが、集約されて、通信セッションをルーティングすることに関与する他のエンティティに伝達され得るように、外部サービス(例えば、ネットワークアドバイザシステム136)に通信され得る。
上述したように、更新されたルーティングアウェアネスは、通信セッションをリルーティングする命令として、且つ/又は、通信セッションをルーティングすることに関与する他のエンティティ(例えば、ネットワークコントローラ)の裁量で実装され得る情報として、伝達され得る。
図7は、1以上の実施形態に従った方法におけるステップを示すフロー図である。この方法は、1以上の実施形態に従った、ルーティングパス属性の変化のルーティングアウェアネスを伝達するための例示的なプロシージャを示している。
ステップ700は、自律ネットワークについてのルーティング属性の変化のインジケーションを受信する。例えば、自律ネットワークが本明細書で説明されたルーティングアウェアネスプロトコルをサポートしているというインジケーションが受信され得る。自律ネットワークは、例えば、ルーティングアウェアネスプロトコルを以前にはサポートしていなかったかもしれないが、ルーティングアウェアネスプロトコルをサポートするよう再構成され得る。
変化することがあるルーティング属性の他の例は、例示的な通知イベント及び例示的な通信APIに関して上述されている。ルーティング属性の変化は、例えば、セッション品質の低下のインジケーション及び/又は自律ネットワークにわたって通信セッションにおいて発生するセッションエラーの増加のインジケーションに基づき得る。そのようなインジケーションの例は、ジッタ、パケット損失率、パケット誤り率等の増加を含む。少なくともいくつかの実施形態において、ルーティング属性の変化は、通信セッションの品質が低下したことを指定するユーザ入力に基づいて示され得る。
ルーティングパス属性の変化は、ネットワーク輻輳の増加、1以上のネットワークコンポーネントの不具合、利用可能な帯域幅の減少等といった、自律ネットワーク内のネットワーク状態の変化に基づき得る。
様々な実施形態に従うと、変化のインジケーションは、自律ネットワークのためのネットワークアドバイザ等の、自律ネットワークに関連付けられているエンティティによって受信され得る。追加的又は代替的に、変化のインジケーションは、異なる自律ネットワークのためのネットワークアドバイザ、ネットワークアドバイザシステム136等といった別のエンティティによって受信されてもよい。
様々な実施形態に従うと、変化のインジケーションは、通信セッションが進行中である間に受信される。自律ネットワークは、例えば、通信セッションについての全ルーティングパスを構成する自律ネットワークのグループ内に現れる。
ステップ702は、自律ネットワークのルーティング属性の変化のルーティングアウェアネスを伝達する。例えば、自律ネットワークのためのネットワークアドバイザは、他の自律ネットワークのための他のネットワークアドバイザ、ネットワークアドバイザシステム136等といった他のエンティティに、変化のルーティングアウェアネスを伝達する。少なくともいくつかの実施形態において、ネットワークアドバイザシステム136は、他の自律ネットワークのための1以上のネットワークアドバイザに、変化のルーティングアウェアネスを伝達することができる。
少なくともいくつかの実施形態において、ルーティングパス属性の変化のルーティングアウェアネスは、通信セッションのルーティングパスが再構成されることを可能にし得る。例えば、変化が、自律ネットワークにわたる通信セッションにおけるエラー及び/又は問題を示す場合、ルーティングパスは、自律ネットワーク周辺で再算出され得る。例えば、ルーティングパス属性の変化を検出したネットワークアドバイザは、それぞれのネットワークコントローラに通知することができ、それぞれのネットワークコントローラは、自律ネットワーク周辺でルーティングパスを再算出することができる。ルーティングパスは、例えば、問題がある自律ネットワークが回避されるように、異なる自律ネットワークを含むように再算出され得る。
代替的に、自律ネットワークがルーティングアウェアネスプロトコルをサポートしていること、及び/又は、自律ネットワークの性能属性がセッション品質の増大を示すこと、を変化が示す場合、通信セッションについてのルーティングパスは、自律ネットワークを含むように再算出され得る。例えば、ルーティングパスは、ルーティングアウェアネスプロトコルをサポートしていない且つ/又はセッション問題を経験している現在の自律ネットワークの代わりに自律ネットワークを含むように再算出され得る。
様々な実施形態に従うと、上述した方法は、セッション開始前、セッション開始と同時、通信セッション中、セッション終了時、及び通信セッション後等、通信セッションの様々な段階で複数回実行され得る。例えば、ルーティングアウェアネスは、通信セッションに影響を及ぼし得るルーティング状態の動的且つアクティブな状態アウェアネスを保持するために、通信セッションが進行中である間にリアルタイムに伝達及び更新され得る。
ルーティングアウェアネスはまた、例えば、異なる自律ネットワークにおけるルーティング状態を自律ネットワークに通知し、自律ネットワークが通信セッションのルーティングに関してインテリジェントな決定をすることを可能にするために、通信セッションの開始前に先制的に通信され得る。ルーティングアウェアネスは、通信セッション中に発生したネットワーク性能のシステム診断及び統計解析のため等、通信セッションの終了後に通信されることもある。
したがって、本明細書で説明された技術は、通信セッションをルーティングすることに関与する異なるエンティティにルーティングアウェアネスを伝達するための様々なシナリオ及び実装を提供する。ルーティングアウェアネスは、そのようなエンティティが、通信セッションデータのルーティング及び処理に関して十分な情報に基づく決定をすることを可能にする。
いくつかの例示的なプロシージャを説明したが、次に、1以上の実施形態に従った例示的なシステム及びデバイスについて検討する。
例示的なシステム及びデバイス
図8は、本明細書で説明された様々な技術を実装することができる1以上のコンピューティングシステム及び/又はコンピューティングデバイスを表す例示的なコンピューティングデバイス802を含む例示的なシステムを、概括的に800で示している。例えば、図1を参照して上述したクライアントデバイス102及び/又はエンドポイント116は、コンピューティングデバイス802として具現化され得る。コンピューティングデバイス802は、例えば、サービスプロバイダのサーバ、クライアントに関連付けられたデバイス(例えば、クライアントデバイス)、オンチップシステム、及び/又は任意の他の適切なコンピューティングデバイス若しくはコンピューティングシステムであり得る。
図示される例示的なコンピューティングデバイス802は、互いと通信可能に説明される、処理システム804、1以上のコンピュータ読み取り可能な媒体806、及び1以上の入力/出力(I/O)インタフェース808を含む。図示されていないが、コンピューティングデバイス802は、様々なコンポーネントを互いに接続するシステムバス又は他のデータ・コマンド転送システムをさらに含み得る。システムバスは、メモリバス若しくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス、及び/又は、様々なバスアーキテクチャのいずれかを利用するプロセッサバス若しくはローカルバス等の異なるバス構造の任意の1つ又は組合せを含み得る。制御線及びデータ線等の様々な他の例も企図されている。
処理システム804は、ハードウェアを使用して1以上の動作を実行する機能を表す。したがって、処理システム804は、プロセッサ、機能ブロック等として構成され得るハードウェア要素810を含むものとして図示されている。これは、特定用途向け集積回路又は1以上の半導体を使用して形成される他のロジックデバイスとしてのハードウェアによる実装物を含み得る。ハードウェア要素810は、ハードウェア要素810が形成される材料又はハードウェア要素810において使用される処理機構によって限定されるものではない。例えば、プロセッサは、1以上の半導体及び/又はトランジスタ(例えば、電子集積回路(IC))を含み得る。そのようなコンテキストにおいて、プロセッサ実行可能な命令は、電子的に実行可能な命令であり得る。
コンピュータ読み取り可能な媒体806は、メモリ/ストレージ812を含むものとして図示されている。メモリ/ストレージ812は、1以上のコンピュータ読み取り可能な媒体に関連付けられたメモリ/ストレージ能力を表す。メモリ/ストレージ812は、揮発性媒体(ランダムアクセスメモリ(RAM)等)及び/又は不揮発性媒体(読み取り専用メモリ(ROM)、フラッシュメモリ、光ディスク、磁気ディスク等)を含み得る。メモリ/ストレージ812は、固定媒体(例えば、RAM、ROM、固定ハードドライブ等)に加えて、取外し可能な媒体(例えば、フラッシュメモリ、取外し可能なハードドライブ、光ディスク等)を含み得る。コンピュータ読み取り媒体806は、さらに以下で説明されるように、様々な他の態様で構成されてもよい。
1以上の入力/出力インタフェース808は、ユーザが様々な入力デバイスを使用してコンピューティングデバイス802にコマンド及び情報を入力することを可能に、様々な出力デバイスを使用して情報がユーザ及び/又は他のコンポーネント若しくはデバイスに提示されることを可能にする機能を表す。入力デバイスの例は、キーボード、カーソル制御デバイス(例えば、マウス)、マイクロホン(例えば、音声認識及び/又は発話入力用)、スキャナ、タッチ機能(例えば、物理的タッチを検出するよう構成される静電容量式センサ又は他のセンサ)、(例えば、タッチを伴わない動きをジェスチャとして検出するために、赤外周波数等の非可視波長又は可視波長を使用することができる)カメラ等を含む。出力デバイスの例は、ディスプレイデバイス(例えば、モニタ又はプロジェクタ)、スピーカ、プリンタ、ネットワークカード、触覚応答デバイス等を含む。したがって、コンピューティングデバイス802は、ユーザインタラクションをサポートするために、さらに以下で説明されるように、様々な態様で構成されてもよい。
様々な技術が、ソフトウェア、ハードウェア要素、又はプログラムモジュールの一般的コンテキストにおいて本明細書で説明され得る。一般に、そのようなモジュールは、特定のタスクを実行する又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造等を含む。本明細書で使用される「モジュール」、「機能」、「エンティティ」、及び「コンポーネント」という用語は、一般に、ソフトウェア、ファームウェア、ハードウェア、又はこれらの組合せを表す。本明細書で説明された技術の特徴は、プラットフォーム非依存であり、これは、本技術が、様々なプロセッサを有する様々な商用コンピューティングプラットフォーム上に実装され得ることを意味する。
説明されたモジュール及び技術の実装物は、何らかの形態のコンピュータ読み取り可能な媒体に記憶されてもよいし、そのような媒体を介して伝送されてもよい。コンピュータ読み取り可能な媒体は、コンピューティングデバイス802がアクセスできる様々な媒体を含み得る。限定ではなく例として、コンピュータ読み取り可能な媒体は、「コンピュータ読み取り可能な記憶媒体」及び「コンピュータ読み取り可能な信号媒体」を含み得る。
「コンピュータ読み取り可能な記憶媒体」は、単なる信号伝送、搬送波、又は信号自体ではなく、情報の永続的記憶を可能にする媒体及び/又はデバイスを指し得る。コンピュータ読み取り可能な記憶媒体は、信号自体を含まない。コンピュータ読み取り可能な記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、ロジック要素/回路、又は他のデータ等の情報の記憶に適した方法又は技術で実装された揮発性及び不揮発性の取外し可能及び取外し不可能な媒体及び/又は記憶デバイス等のハードウェアを含む。コンピュータ読み取り可能な記憶媒体の例は、RAM、ROM、EEPROM、フラッシュメモリ、若しくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、若しくは他の光ストレージ、ハードディスク、磁気カセット、磁気テープ、磁気ディスクストレージ、若しくは他の磁気記憶デバイス、又は、所望の情報を記憶するのに適しておりコンピュータがアクセスできる他の記憶デバイス、有形媒体、若しくは製品を含み得るが、これらに限定されるものではない。
「コンピュータ読み取り可能な信号媒体」は、ネットワークを介して等、コンピューティングデバイス802のハードウェアに命令を伝送するよう構成された信号伝送媒体を指し得る。信号媒体は、典型的には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータを、搬送波、データ信号、又は他の伝送機構等の変調されたデータ信号で具現化することができる。信号媒体はまた、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号内の情報を符号化するように設定又は変更された特性のうちの1以上を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク又は直接配線接続等の有線媒体と、音響、無線周波数(RF)、赤外線、及び他の無線媒体等の無線媒体と、を含む。
前記したように、ハードウェア要素810及びコンピュータ読み取り可能な媒体806は、本明細書で説明された技術の少なくともいくつかの態様を実装するためにいくつかの実施形態において使用され得るハードウェア形態で実装される命令、モジュール、プログラマブルデバイスロジック、及び/又は固定デバイスロジックを表す。ハードウェア要素は、集積回路又はオンチップシステム、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、コンプレックスプログラマブルロジックデバイス(CPLD)、及び、シリコンによる他の実装物又は他のハードウェアデバイスのコンポーネントを含み得る。このコンテキストにおいて、ハードウェア要素は、ハードウェア要素に加えて、実行される命令を記憶するために利用されるハードウェアデバイス、例えば、前述したコンピュータ読み取り可能な記憶媒体によって具現化される命令、モジュール、及び/又はロジックによって定義されるプログラムタスクを実行する処理デバイスとして動作することができる。
上記の組合せも、本明細書で説明された様々な技術及びモジュールを実装するために使用されてよい。したがって、ソフトウェア、ハードウェア、又はプログラムモジュール及び他のプログラムモジュールが、何らかの形態のコンピュータ読み取り可能な記憶媒体上に具現化される且つ/又は1以上のハードウェア要素810によって具現化される1以上の命令及び/又はロジックとして実装され得る。コンピューティングデバイス802は、ソフトウェアモジュール及び/又はハードウェアモジュールに対応する特定の命令及び/又は機能を実行するよう構成され得る。したがって、ソフトウェアとしてコンピューティングデバイス802によって実行可能であるモジュールの実装は、例えば、処理システムのハードウェア要素810及び/又はコンピュータ読み取り可能な記憶媒体を使用することによって、少なくとも部分的にハードウェアで実現され得る。命令及び/又は機能は、本明細書で説明された技術、モジュール、及び例を実装する1以上の製品(例えば、1以上のコンピューティングデバイス802及び/又は処理システム804)によって実行可能/動作可能であり得る。
図8にさらに示されるように、例示的なシステム800は、パーソナルコンピュータ(PC)、テレビジョンデバイス、及び/又はモバイルデバイス上でアプリケーションを実行するときにシームレスなユーザエクスペリエンスのためのユビキタス環境を可能にする。サービス及びアプリケーションは、アプリケーションを利用している間、ビデオゲームをプレイしている間、ビデオを見ている間等に1つのデバイスから次のデバイスに遷移するときに、共通のユーザエクスペリエンスのために全ての3つの環境で実質的に同様に動作する。
例示的なシステム800において、複数のデバイスが、中央コンピューティングデバイスを介して相互接続される。中央コンピューティングデバイスは、複数のデバイスに対してローカルにあってもよいし、複数のデバイスからリモートに位置してもよい。1つの実施形態において、中央コンピューティングデバイスは、ネットワーク、インターネット、又は他のデータ通信リンクを介して複数のデバイスに接続される1以上のサーバコンピュータのクラウドであり得る。
1つの実施形態において、この相互接続アーキテクチャは、複数のデバイスのユーザに共通のシームレスなエクスペリエンスを提供するために、機能が複数のデバイスにわたって提供されることを可能にする。複数のデバイスの各々は、異なる物理的要件及び能力を有し得、中央コンピューティングデバイスは、デバイスに合わせて調整されるとともになお全てのデバイスに共通であるエクスペリエンスをデバイスに提供することを可能にするプラットフォームを使用する。1つの実施形態において、ターゲットデバイスのクラスが作成され、エクスペリエンスは、デバイスの一般クラスに合わせて調整される。デバイスのクラスは、デバイスの物理的特徴、使用のタイプ、又は他の共通の特性によって定義され得る。
様々な実施形態において、コンピューティングデバイス802は、コンピュータ814、モバイル816、及びテレビジョン818使用のため等、様々な異なる構成をとることができる。これらの構成の各々は、一般に異なる構造及び能力を有し得るデバイスを含み、したがって、コンピューティングデバイス802は、異なるデバイスクラスのうちの1以上に応じて構成され得る。例えば、コンピューティングデバイス802は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブック等を含むデバイスのコンピュータ814クラスとして実装され得る。
コンピューティングデバイス802はまた、携帯電話機、ポータブル音楽プレーヤ、ポータブルゲームデバイス、タブレットコンピュータ、ウェアラブルデバイス、マルチスクリーンコンピュータ等といったモバイルデバイスを含むデバイスのモバイル816クラスとして実装され得る。コンピューティングデバイス802はまた、カジュアルな視聴環境で一般により大型のスクリーンを有する又はそのようなスクリーンに接続されるデバイスを含むデバイスのテレビジョン818クラスとして実装され得る。これらのデバイスは、テレビジョン、セットトップボックス、ゲームコンソール等を含む。
本明細書で説明された技術は、コンピューティングデバイス802のこれらの様々な構成によってサポートされ得るものであり、本明細書で説明された技術の特定の例に限定されるものではない。例えば、ネットワークアドバイザ、通信サービス134、及び/又はネットワークアドバイザシステム136に関して説明された機能は、全て又は部分的に、以下で説明されるプラットフォーム822を介して「クラウド」820を通じて等、分散システムの使用を介して実装されてもよい。
クラウド820は、リソース824のためのプラットフォーム822を含む且つ/又は表す。プラットフォーム822は、クラウド820のソフトウェアリソース及びハードウェア(例えば、サーバ)の基礎をなす機能を抽象化する。リソース824は、コンピューティングデバイス802からリモートにあるサーバ上でコンピュータ処理が実行されている間に利用され得るアプリケーション及び/又はデータを含み得る。リソース824はまた、インターネット、及び/又は、セルラネットワーク若しくはWi−Fi(登録商標)ネットワーク等の加入者ネットワークを介して提供されるサービスを含み得る。
プラットフォーム822は、コンピューティングデバイス802を他のコンピューティングデバイスに接続するためのリソース及び機能を抽象化することができる。プラットフォーム822はまた、リソースのスケーリングを抽象化して、プラットフォーム822を介して実装されるリソース824の遭遇する要求に対応するレベルのスケールを提供するよう機能することができる。したがって、相互接続されるデバイスの実施形態において、本明細書で説明された機能の実装は、システム800にわたって分散されてもよい。例えば、機能は、部分的にコンピューティングデバイス802上に実装されるとともに、クラウド820の機能を抽象化するプラットフォーム822を介して実装されてもよい。
本明細書で説明された技術を実行するために実装され得るいくつかの方法が、本明細書で説明されている。方法の態様は、ハードウェア、ファームウェア、若しくはソフトウェア、又はこれらの組合せで実装され得る。方法が、1以上のデバイスによって実行される動作を指定するステップのセットとして図示されているが、それぞれのブロックによる動作を実行するために図示される順序に必ずしも限定されるわけではない。さらに、特定の方法に関して図示される動作は、1以上の実施形態に従った異なる方法の動作と組み合わされることもあるし、且つ/又は、交換されることもある。方法の態様は、環境100に関して上述した様々なエンティティ間のインタラクションを介して実行され得る。
結び
自律ネットワークについてのルーティングアウェアネスを伝達するための技術が説明された。実施形態が、構造的特徴及び/又は方法的動作に特有の言葉で説明されたが、請求項において定められる実施形態は、説明された特定の特徴又は動作に必ずしも限定されるものではないことを理解されたい。そうではなく、特定の特徴及び動作は、特許請求される実施形態を実施する例示的な形態として開示されている。

Claims (14)

  1. 通信セッションの性能を最適化するための、コンピュータにより実施される方法であって、
    複数の自律ネットワークについてのルーティングアウェアネスであって、前記複数の自律ネットワークの個々のネットワークが、通信セッションのルーティングについてのルーティングアウェアネスを伝達するためのプロトコルをサポートしているかどうかを指定するルーティングアウェアネスを集約するステップと、
    前記通信セッションの性能最適化をもたらすために、前記通信セッションのデータストリームとは独立して、前記複数の自律ネットワークのうちの1以上の自律ネットワークに前記ルーティングアウェアネスを伝達するステップと、
    を含む方法。
  2. 前記集約するステップは、
    前記通信セッションの開始、及び
    前記通信セッションが未来時に発生するようスケジュールされていることを確認したこと
    のうちの少なくとも1つに応じて発生する、請求項1に記載の方法。
  3. 前記集約するステップの前に、
    前記複数の自律ネットワークのうちの1以上の自律ネットワークから、ルーティングパス属性を受信するステップと、
    前記ルーティングパス属性を含むように前記ルーティングアウェアネスを集約するステップと、
    をさらに含む、請求項1に記載の方法。
  4. 前記ルーティングアウェアネスは、前記通信セッションをルーティングするために、前記プロトコルをサポートしている特定の自律ネットワークが、前記プロトコルをサポートしていない異なる自律ネットワークより優先されることを示す、請求項1に記載の方法。
  5. 前記ルーティングアウェアネスは、前記複数の自律ネットワークのうちの少なくとも1つの自律ネットワークが、通信セッションをルーティングするためのネットワークのホワイトリスト、ブラックリスト、及びグレーリストのうちの1つにリストされていることを示す、請求項1に記載の方法。
  6. 前記複数の自律ネットワークのうちの特定の自律ネットワークのルーティング属性の変化のインジケーションを受信するステップと、
    前記特定の自律ネットワークの前記ルーティング属性の変化のさらなるルーティングアウェアネスを伝達するステップと、
    をさらに含む、請求項1に記載の方法。
  7. 通信セッションの性能を最適化するためのシステムであって、
    少なくとも1つのプロセッサと、
    命令を記憶している1以上のコンピュータ読み取り可能な記憶媒体であって、前記命令は、前記少なくとも1つのプロセッサによる実行に応じて、前記システムに、
    通信セッションについてのルーティングパスのインジケーションを受信する動作と、
    前記通信セッションについての前記ルーティングパスに沿った特定の自律ネットワークが、前記通信セッションについてのルーティングアウェアネスを伝達するためのプロトコルをサポートしていないことを確認する動作と、
    前記通信セッションをルーティングするために利用可能であり前記プロトコルをサポートしている異なる自律ネットワークを特定する動作と、
    前記通信セッションをルーティングするために前記異なる自律ネットワークが前記特定の自律ネットワークより優先されることを示すために、前記通信セッションについてのルーティングアウェアネスを更新する動作と、
    前記通信セッションの性能最適化をもたらすために、前記通信セッションをルーティングすることに関与するエンティティに、前記の更新されたルーティングアウェアネスを通信する動作と、
    を含む複数の動作を実行させる、1以上のコンピュータ読み取り可能な記憶媒体と、
    を備えているシステム。
  8. 前記システムは、前記特定の自律ネットワーク及び前記異なる自律ネットワークとは別個に実装されているネットワークシステムを備えている、請求項7に記載のシステム。
  9. 前記ルーティングアウェアネスは、前記通信セッションについての前記ルーティングパスに沿った複数の自律ネットワークについてのルーティングパス属性を含む、請求項7に記載のシステム。
  10. 通信セッションの性能を最適化するための、コンピュータにより実装される方法であって、
    通信セッションの開始に応じて、前記通信セッションのルーティングパスに沿った1以上の自律ネットワークについてのルーティングアウェアネスであって、前記1以上の自律ネットワークが、前記通信セッションのルーティングについてのルーティングアウェアネスを伝達するためのプロトコルをサポートしているかどうかを指定するルーティングアウェアネスを集約するステップと、
    前記通信セッションの性能最適化をもたらすために、前記通信セッションのデータストリームとは独立して、前記通信セッションの前記ルーティングパスに沿った少なくとも1つの他の自律ネットワークに、前記ルーティングアウェアネスを伝達するステップと、
    を含む方法。
  11. 前記ルーティングアウェアネスは、前記1以上の自律ネットワークのうちの少なくとも1つの自律ネットワークが、前記通信セッションをルーティングするための優先されるネットワークであることを示す、請求項10に記載の方法。
  12. 前記ルーティングアウェアネスは、前記1以上の自律ネットワークについての性能属性を含む、請求項10に記載の方法。
  13. 前記ルーティングアウェアネスは、前記ルーティングパスを変更して特定の自律ネットワークを異なる自律ネットワークで置き換える命令又は提案を含む、請求項10に記載の方法。
  14. 前記1以上の自律ネットワークのうちの特定の自律ネットワークのルーティング属性の変化のインジケーションを受信するステップと、
    前記特定の自律ネットワークの前記ルーティング属性の変化のさらなるルーティングアウェアネスを伝達するステップと、
    をさらに含む、請求項10に記載の方法。
JP2017505190A 2014-07-31 2015-07-28 自律ネットワークについてのルーティングアウェアネスの伝達 Pending JP2017528961A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462031748P 2014-07-31 2014-07-31
US62/031,748 2014-07-31
US14/460,985 US9787576B2 (en) 2014-07-31 2014-08-15 Propagating routing awareness for autonomous networks
US14/460,985 2014-08-15
PCT/US2015/042371 WO2016018859A1 (en) 2014-07-31 2015-07-28 Propagating routing awareness for autonomous networks

Publications (1)

Publication Number Publication Date
JP2017528961A true JP2017528961A (ja) 2017-09-28

Family

ID=55181207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017505190A Pending JP2017528961A (ja) 2014-07-31 2015-07-28 自律ネットワークについてのルーティングアウェアネスの伝達

Country Status (8)

Country Link
US (1) US9787576B2 (ja)
EP (1) EP3155770B1 (ja)
JP (1) JP2017528961A (ja)
CN (1) CN106664249B (ja)
BR (1) BR112017001254A2 (ja)
RU (1) RU2017102485A (ja)
TW (1) TW201605206A (ja)
WO (1) WO2016018859A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US9414417B2 (en) 2014-08-07 2016-08-09 Microsoft Technology Licensing, Llc Propagating communication awareness over a cellular network
US10355969B2 (en) * 2015-12-25 2019-07-16 KN Install Solutions (N.IRE) Limited Data driven orchestrated network using a light weight distributed sdn controller
US20170295209A1 (en) * 2016-04-11 2017-10-12 Microsoft Technology Licensing, Llc Subscription for Communication Attributes
US20190253341A1 (en) 2018-02-15 2019-08-15 128 Technology, Inc. Service Related Routing Method and Apparatus
CN110225418B (zh) * 2019-05-15 2020-10-27 西安交通大学 一种基于SDN的HTTP视频流QoE路由优化方法
CN111416770B (zh) * 2020-02-21 2021-05-14 北京交通大学 一种跨协议融合传输的自适应调度系统和方法
EP4140106A1 (en) 2020-04-23 2023-03-01 Juniper Networks, Inc. Session monitoring using metrics of session establishment

Family Cites Families (346)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3410774A (en) 1965-10-23 1968-11-12 Ibm Method and apparatus for reverse sputtering selected electrically exposed areas of a cathodically biased workpiece
US3542453A (en) 1967-10-25 1970-11-24 Frederick W Kantor Grating device composed of elongated layers
US4294507A (en) 1980-01-25 1981-10-13 International Business Machines Corporation Controllably deformed elastic waveguide elements
US4758087A (en) 1981-03-09 1988-07-19 Polaroid Corporation Fiber optic transducer
US5004673A (en) 1987-04-20 1991-04-02 Environmental Research Institute Of Michigan Method of manufacturing surface relief patterns of variable cross-sectional geometry
US4799752A (en) 1987-09-21 1989-01-24 Litton Systems, Inc. Fiber optic gradient hydrophone and method of using same
US5106181A (en) 1989-04-12 1992-04-21 Rockwell Iii Marshall A Optical waveguide display system
US5019898A (en) 1989-04-26 1991-05-28 The California Institute Of Technology Real-time pseudocolor density encoding of an image
US5305389A (en) 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5313535A (en) 1992-02-27 1994-05-17 Nynex Corporation Optical path length modulator
US5991087A (en) 1993-11-12 1999-11-23 I-O Display System Llc Non-orthogonal plate in a virtual reality or heads up display
JP2910546B2 (ja) 1993-12-28 1999-06-23 日本電気株式会社 反射板の製造方法
US5487143A (en) 1994-04-06 1996-01-23 Altera Corporation Computer user interface having tiled and overlapped window areas
EP0770219B1 (en) 1994-07-08 1999-10-20 Forskningscenter Riso An optical measurement method and apparatus
GB2300930A (en) 1995-02-22 1996-11-20 Univ Southampton Chirped optical fibre grating and etching bath
US6417892B1 (en) 1995-05-23 2002-07-09 Colorlink, Inc. Color filters, sequencers and displays using color selective light modulators
US5648643A (en) 1995-06-16 1997-07-15 Knowles; Terence J. Acoustic wave touch panel with inlayed, etched arrays and method of making the panel
US5712995A (en) 1995-09-20 1998-01-27 Galileo Frames, Inc. Non-overlapping tiling apparatus and method for multiple window displays
US5920315A (en) 1996-07-17 1999-07-06 International Business Machines Corporation Multi-pane window with recoiling workspaces
US5771042A (en) 1996-07-17 1998-06-23 International Business Machines Corporation Multi-size control for multiple adjacent workspaces
US6396941B1 (en) 1996-08-23 2002-05-28 Bacus Research Laboratories, Inc. Method and apparatus for internet, intranet, and local viewing of virtual microscope slides
US5772903A (en) 1996-09-27 1998-06-30 Hirsch; Gregory Tapered capillary optics
EP0970416B1 (en) 1997-03-28 2002-06-12 Sun Microsystems, Inc. Method and apparatus for configuring sliding panels
US5925261A (en) 1997-05-21 1999-07-20 Seagate Technology, Inc. Method for fabricating a taper on a recording head slider
US6144439A (en) 1997-07-29 2000-11-07 Kaiser Electro-Optics, Inc. Method and apparatus for reducing ghost images with a tilted cholesteric liquid crystal panel
US6360234B2 (en) 1997-08-14 2002-03-19 Virage, Inc. Video cataloger system with synchronized encoders
US6483580B1 (en) 1998-03-06 2002-11-19 Kla-Tencor Technologies Corporation Spectroscopic scatterometer system
US6385641B1 (en) 1998-06-05 2002-05-07 The Regents Of The University Of California Adaptive prefetching for computer network and web browsing with a graphic user interface
CA2278356C (en) 1998-07-31 2005-03-22 David B. Hall Optical waveguide sensor system for remote detection
US6181852B1 (en) 1998-09-23 2001-01-30 Lucent Technologies Inc. Optical grating device with variable coating
WO2000051299A1 (en) 1999-02-26 2000-08-31 Voice Technologies Group, Inc. Digital browser phone
US6924828B1 (en) 1999-04-27 2005-08-02 Surfnotes Method and apparatus for improved information representation
US6876668B1 (en) 1999-05-24 2005-04-05 Cisco Technology, Inc. Apparatus and methods for dynamic bandwidth allocation
JP2000347037A (ja) 1999-06-07 2000-12-15 Nippon Mitsubishi Oil Corp コレステリック液晶性フィルムの製造方法
EP1230575B1 (en) 1999-10-29 2005-01-26 Microvision, Inc. Personal display with vision tracking
HUP0000532A2 (hu) 2000-02-07 2002-03-28 Optilink Ab Eljárás és rendszer információ rögzítésére holografikus kártyán
US6901403B1 (en) 2000-03-02 2005-05-31 Quovadx, Inc. XML presentation of general-purpose data sources
US7730113B1 (en) 2000-03-07 2010-06-01 Applied Discovery, Inc. Network-based system and method for accessing and processing emails and other electronic legal documents that may include duplicate information
US6553165B1 (en) 2000-07-14 2003-04-22 Applied Wdm, Inc. Optical waveguide gratings
JP2004507719A (ja) 2000-08-10 2004-03-11 サーマ−ウェーブ・インコーポレイテッド 回折微細構造の光学的測定のためのデータベース補間方法
JP2002082745A (ja) 2000-09-07 2002-03-22 Sony Corp 情報処理装置及び方法、並びにプログラム格納媒体
US6943900B2 (en) 2000-09-15 2005-09-13 Timbre Technologies, Inc. Generation of a library of periodic grating diffraction signals
US7115858B1 (en) 2000-09-25 2006-10-03 Nanometrics Incorporated Apparatus and method for the measurement of diffracting structures
US7099005B1 (en) 2000-09-27 2006-08-29 Kla-Tencor Technologies Corporation System for scatterometric measurements and applications
US7028253B1 (en) 2000-10-10 2006-04-11 Eastman Kodak Company Agent for integrated annotation and retrieval of images
DE10059268C1 (de) 2000-11-29 2002-08-22 Fraunhofer Ges Forschung Verfahren und Vorrichtung zur Herstellung eines Koppelgitters für einen Wellenleiter
US6661436B2 (en) 2000-12-07 2003-12-09 International Business Machines Corporation Method for providing window snap control for a split screen computer program GUI
US6900892B2 (en) 2000-12-19 2005-05-31 Kla-Tencor Technologies Corporation Parametric profiling using optical spectroscopic systems
US7020848B2 (en) 2000-12-20 2006-03-28 Eastman Kodak Company Comprehensive, multi-dimensional graphical user interface using picture metadata for navigating and retrieving pictures in a picture database
US20020081072A1 (en) 2000-12-27 2002-06-27 Kenji Ootsu Method of processing end portions of optical fibers and optical fibers having their end portions processed
US20020093956A1 (en) 2001-01-16 2002-07-18 Gurin Michael H. Dynamic communication and method of use
US20020138772A1 (en) 2001-03-22 2002-09-26 Crawford Timothy James Battery management system employing software controls upon power failure to estimate battery duration based on battery/equipment profiles and real-time battery usage
KR20020083737A (ko) 2001-04-30 2002-11-04 삼성전자 주식회사 착용형 디스플레이 시스템
US7181699B2 (en) 2001-06-13 2007-02-20 Microsoft Corporation Dynamic resizing of dialogs
US20020191028A1 (en) 2001-06-19 2002-12-19 Senechalle David A. Window manager user interface
US6957071B1 (en) 2001-07-18 2005-10-18 Cisco Technology, Inc. Method and system for managing wireless bandwidth resources
US6909778B2 (en) 2001-07-27 2005-06-21 Alcatel Enhanced IP phone operation
US7031894B2 (en) 2002-01-16 2006-04-18 Timbre Technologies, Inc. Generating a library of simulated-diffraction signals and hypothetical profiles of periodic gratings
US7159174B2 (en) 2002-01-16 2007-01-02 Microsoft Corporation Data preparation for media browsing
US7209874B2 (en) 2002-02-25 2007-04-24 Zoran Corporation Emulator-enabled network connectivity to a device
US6716754B2 (en) 2002-03-12 2004-04-06 Micron Technology, Inc. Methods of forming patterns and molds for semiconductor constructions
GB2386978B (en) 2002-03-25 2007-03-28 Sony Uk Ltd Data communications network
US6930053B2 (en) 2002-03-25 2005-08-16 Sanyo Electric Co., Ltd. Method of forming grating microstructures by anodic oxidation
US6792328B2 (en) 2002-03-29 2004-09-14 Timbre Technologies, Inc. Metrology diffraction signal adaptation for tool-to-tool matching
CA2384185A1 (en) 2002-04-29 2003-10-29 Ibm Canada Limited-Ibm Canada Limitee Resizable cache sensitive hash table
US7415677B2 (en) 2002-06-05 2008-08-19 Sap Aktiengesellschaft Temporary communication areas for a computer user interface
US7532227B2 (en) 2002-07-02 2009-05-12 Ricoh Company, Ltd. Optical scanner and image forming apparatus
US7966184B2 (en) 2006-03-06 2011-06-21 Audioeye, Inc. System and method for audible web site navigation
US6916584B2 (en) 2002-08-01 2005-07-12 Molecular Imprints, Inc. Alignment methods for imprint lithography
US6917636B2 (en) 2002-08-22 2005-07-12 Xponent Photonics Inc Grating-stabilized semiconductor laser
US7668842B2 (en) 2002-10-16 2010-02-23 Microsoft Corporation Playlist structure for large playlists
CA2415112A1 (en) 2002-12-24 2004-06-24 Gerald Michael O'brien System and method for real-time web fragment identification and extraction
US7706785B2 (en) 2003-01-22 2010-04-27 International Business Machines Corporation System and method for context-aware unified communications
WO2004068218A2 (en) 2003-01-24 2004-08-12 University Of Washington Optical beam scanning system for compact image display or image acquisition
US20040162830A1 (en) 2003-02-18 2004-08-19 Sanika Shirwadkar Method and system for searching location based information on a mobile device
US7634478B2 (en) 2003-12-02 2009-12-15 Microsoft Corporation Metadata driven intelligent data navigation
US7457879B2 (en) 2003-04-01 2008-11-25 Microsoft Corporation Notification platform architecture
US7480872B1 (en) 2003-04-06 2009-01-20 Apple Inc. Method and apparatus for dynamically resizing windows
US8984440B2 (en) 2010-10-01 2015-03-17 Z124 Managing expose views in dual display communication devices
WO2004109349A2 (en) 2003-06-10 2004-12-16 Elop Electro-Optics Industries Ltd. Method and system for displaying an informative image against a background image
US7742584B2 (en) 2003-07-14 2010-06-22 Cisco Technology, Inc. Mobile device calls via private branch exchange
US20050022135A1 (en) 2003-07-23 2005-01-27 De Waal Abraham B. Systems and methods for window alignment grids
US7035517B2 (en) 2003-11-10 2006-04-25 Boris Gilman Integrated demultiplexer/photoreceiver for optical networks and method of controlling transparency of optical signal transmission layer
US8990255B2 (en) 2003-11-17 2015-03-24 Nokia Corporation Time bar navigation in a media diary application
US7196758B2 (en) 2003-12-30 2007-03-27 3M Innovative Properties Company Method of alignment of liquid crystals comprising exposing an alignment material to an interference pattern
US8055755B2 (en) * 2004-02-05 2011-11-08 At&T Intellectual Property Ii, L.P. Method for determining VoIP gateway performance and SLAs based upon path measurements
US7189362B2 (en) 2004-03-05 2007-03-13 University Of Alabama In Huntsville Optical waveguide microcantilever with differential output and associated methods of cantilever sensing
US7151635B2 (en) 2004-03-24 2006-12-19 Enablence, Inc. Planar waveguide reflective diffraction grating
CN100410727C (zh) 2004-03-29 2008-08-13 索尼株式会社 光学装置以及虚像显示装置
JP2005292718A (ja) 2004-04-05 2005-10-20 Furukawa Electric Co Ltd:The 光導波路、光導波路モジュールおよび光導波路の作成方法
US8108430B2 (en) 2004-04-30 2012-01-31 Microsoft Corporation Carousel control for metadata navigation and assignment
US7496583B2 (en) 2004-04-30 2009-02-24 Microsoft Corporation Property tree for metadata navigation and assignment
EP1757974B1 (en) 2004-05-17 2012-08-29 Olympus Corporation Head-mounted type image display device
JP4385224B2 (ja) 2004-07-02 2009-12-16 日本電気株式会社 光導波路デバイス及び光導波路モジュール
TW200622893A (en) 2004-07-09 2006-07-01 Nokia Corp Cute user interface
US20060020903A1 (en) 2004-07-26 2006-01-26 Shih-Yang Wang Window split system and method
US7895590B2 (en) 2004-09-03 2011-02-22 Microsoft Corporation Update at shutdown
JP4372648B2 (ja) 2004-09-13 2009-11-25 シャープ株式会社 液晶表示装置およびその製造方法
US7429993B2 (en) 2004-09-17 2008-09-30 Microsoft Corporation Method and system for presenting functionally-transparent, unobtrusive on-screen windows
US7496642B2 (en) 2004-09-29 2009-02-24 International Business Machines Corporation Adaptive vicinity prefetching for filesystem metadata
US8149739B2 (en) * 2004-10-15 2012-04-03 Lifesize Communications, Inc. Background call validation
GB0425215D0 (en) 2004-11-16 2004-12-15 Cambridge Flat Projection Flat projection diffuser
US8150893B2 (en) 2004-12-29 2012-04-03 Alcatel Lucent Method and apparatus for incremental evaluation of schema-directed XML publishing
US7716317B2 (en) 2005-01-10 2010-05-11 Samsung Electronics Co., Ltd. Method and system for presenting a single view of content in a home network
KR100971384B1 (ko) 2005-02-07 2010-07-21 엘지디스플레이 주식회사 액정표시소자용 배향막 형성방법 및 형성장치
US7212723B2 (en) 2005-02-19 2007-05-01 The Regents Of The University Of Colorado Monolithic waveguide arrays
US7333690B1 (en) 2005-03-28 2008-02-19 Kla-Tencor Technologies Corporation Evanescent waveguide couplers
US7573640B2 (en) 2005-04-04 2009-08-11 Mirage Innovations Ltd. Multi-plane optical apparatus
US7871811B2 (en) 2005-04-07 2011-01-18 Corning Incorporated Method for eliminating crosstalk between waveguide grating-based biosensors located in a microplate and the resulting microplate
US7958454B2 (en) 2005-04-19 2011-06-07 The Mathworks, Inc. Graphical state machine based programming for a graphical user interface
US7519200B2 (en) 2005-05-09 2009-04-14 Like.Com System and method for enabling the use of captured images through recognition
US20060262772A1 (en) * 2005-05-23 2006-11-23 Guichard James N System and methods for providing a network path verification protocol
US7321919B2 (en) 2005-05-23 2008-01-22 Picateers, Inc. System and method for collaborative image selection
US20080005348A1 (en) 2005-06-24 2008-01-03 David Kosiba System and method for enabling playlist navigation of digital multimedia content
KR20070001771A (ko) 2005-06-29 2007-01-04 정순애 화면정보 제어방법
JP2007043078A (ja) 2005-07-04 2007-02-15 Nuflare Technology Inc 描画装置及び描画方法
CN100412792C (zh) 2005-07-25 2008-08-20 腾讯科技(深圳)有限公司 一种多界面显示方法
US7636509B2 (en) 2005-08-04 2009-12-22 Microsoft Corporation Media data representation and management
US7788474B2 (en) 2005-08-30 2010-08-31 Microsoft Corporation Operating system shut down
US7586583B2 (en) 2005-09-15 2009-09-08 Franklin Mark Schellenberg Nanolithography system
GB2430760A (en) 2005-09-29 2007-04-04 Bookham Technology Plc Chirped Bragg grating structure
US7437678B2 (en) 2005-10-27 2008-10-14 International Business Machines Corporation Maximizing window display area using window flowing
US20070214180A1 (en) 2005-11-14 2007-09-13 Crawford C S L Social network application for processing image or video data from wireless devices of users and methods of operation
JP5266059B2 (ja) 2005-11-18 2013-08-21 ナノコンプ オイ リミテッド 回折格子の製造方法
EP1952189B1 (en) 2005-11-21 2016-06-01 Microvision, Inc. Display with image-guiding substrate
US7513627B2 (en) 2005-12-30 2009-04-07 Honeywell International Inc. Image projection system with vibration compensation
EP1818813A1 (en) 2006-02-02 2007-08-15 Research In Motion Limited System and method and apparatus for using UML tools for defining web service bound component applications
US7908273B2 (en) 2006-03-09 2011-03-15 Gracenote, Inc. Method and system for media navigation
EP2002610B1 (en) * 2006-03-31 2010-11-24 Telefonaktiebolaget LM Ericsson (publ) Updating state in edge routers
US7958216B2 (en) 2006-03-31 2011-06-07 Sap Ag Method for implementing an unplanned shutdown of a computer system
US20080025350A1 (en) 2006-04-03 2008-01-31 Collinear Corporation Wavelength combining using a arrayed waveguide grating having a switchable output
EP1847924A1 (en) 2006-04-20 2007-10-24 International Business Machines Corporation Optimal display of multiple windows within a computer display
US7890882B1 (en) 2006-04-20 2011-02-15 Adobe Systems Incorporated Content and proximity based window layout optimization
WO2008008344A2 (en) 2006-07-11 2008-01-17 Massachusetts Institute Of Technology Microphotonic maskless lithography
US8060514B2 (en) 2006-08-04 2011-11-15 Apple Inc. Methods and systems for managing composite data files
US7941643B2 (en) 2006-08-14 2011-05-10 Marvell World Trade Ltd. Multi-thread processor with multiple program counters
US20080049704A1 (en) 2006-08-25 2008-02-28 Skyclix, Inc. Phone-based broadcast audio identification
US20080059535A1 (en) 2006-08-29 2008-03-06 Motorola, Inc. Annotating media content with related information
US7818336B1 (en) 2006-08-30 2010-10-19 Qurio Holdings, Inc. Methods, systems, and products for searching social networks
US20110161174A1 (en) 2006-10-11 2011-06-30 Tagmotion Pty Limited Method and apparatus for managing multimedia files
US8756510B2 (en) 2006-10-17 2014-06-17 Cooliris, Inc. Method and system for displaying photos, videos, RSS and other media content in full-screen immersive view and grid-view using a browser feature
US7612882B2 (en) 2006-10-20 2009-11-03 Hewlett-Packard Development Company, L.P. Optical gratings, lithography tools including such optical gratings and methods for using same for alignment
US8594702B2 (en) 2006-11-06 2013-11-26 Yahoo! Inc. Context server for associating information based on context
TW200823739A (en) 2006-11-22 2008-06-01 Ulead Systems Inc Method for displaying digital items
US8381130B2 (en) 2006-11-29 2013-02-19 Yahoo! Inc. Method and user interface tool for navigation through grid of scheduled items
US8589341B2 (en) 2006-12-04 2013-11-19 Sandisk Il Ltd. Incremental transparent file updating
KR101253274B1 (ko) 2006-12-07 2013-04-10 삼성디스플레이 주식회사 도광판 제조용 금형 제조 방법 및 이를 이용한 도광판 제조방법
KR100831721B1 (ko) 2006-12-29 2008-05-22 엘지전자 주식회사 휴대단말기의 디스플레이 장치 및 방법
WO2008085207A2 (en) 2006-12-29 2008-07-17 Prodea Systems, Inc. Multi-services application gateway
US7702644B2 (en) 2007-01-25 2010-04-20 Ludi Labs, Inc. Data management system and method to host applications and manage storage, finding and retrieval of typed items with support for tagging, connections, and situated queries
US8819079B2 (en) 2007-02-02 2014-08-26 Rogers Family Trust System and method for defining application definition functionality for general purpose web presences
US7836085B2 (en) 2007-02-05 2010-11-16 Google Inc. Searching structured geographical data
EP2118693A4 (en) 2007-02-23 2011-08-10 Nanocomp Ltd METHOD FOR THE DESIGN OF A BENDING GRID STRUCTURE AND A BENDING GRID STRUCTURE
JP2008227367A (ja) 2007-03-15 2008-09-25 Oki Electric Ind Co Ltd 分布帰還型半導体レーザ素子
CN100523834C (zh) 2007-03-22 2009-08-05 浙江大学 用于八毫米波段电介质测量的圆波导驻波测量装置
US7693911B2 (en) 2007-04-09 2010-04-06 Microsoft Corporation Uniform metadata retrieval
KR101506949B1 (ko) 2007-04-16 2015-03-30 노쓰 캐롤라이나 스테이트 유니버시티 기판들 상의 액정 편광 격자들의 제조 방법들 및 관련된 소자들
US8332402B2 (en) 2007-06-28 2012-12-11 Apple Inc. Location based media items
US7716003B1 (en) 2007-07-16 2010-05-11 Kla-Tencor Technologies Corporation Model-based measurement of semiconductor device features with feed forward use of data for dimensionality reduction
US7895151B2 (en) 2008-06-23 2011-02-22 Teradata Us, Inc. Fast bulk loading and incremental loading of data into a database
US20090084757A1 (en) 2007-09-28 2009-04-02 Yuri Erokhin Uniformity control for ion beam assisted etching
US8244667B1 (en) 2007-10-18 2012-08-14 Google Inc. Querying multidimensional data with independent fact and dimension pipelines combined at query time
US20090113301A1 (en) 2007-10-26 2009-04-30 Yahoo! Inc. Multimedia Enhanced Browser Interface
US7738492B2 (en) 2007-11-19 2010-06-15 Avistar Communications Corporation Network communication bandwidth management
WO2009066475A1 (ja) 2007-11-21 2009-05-28 Panasonic Corporation 表示装置
US8745513B2 (en) 2007-11-29 2014-06-03 Sony Corporation Method and apparatus for use in accessing content
DE102008005817A1 (de) 2008-01-24 2009-07-30 Carl Zeiss Ag Optisches Anzeigegerät
US20090193024A1 (en) 2008-01-28 2009-07-30 Sudhanva Dhananjaya Metadata Based Navigation Method
KR100949663B1 (ko) 2008-01-31 2010-03-30 고려대학교 산학협력단 광섬유 브래그 격자 제조 방법
US8131118B1 (en) 2008-01-31 2012-03-06 Google Inc. Inferring locations from an image
US8356258B2 (en) 2008-02-01 2013-01-15 Microsoft Corporation Arranging display areas utilizing enhanced window states
US20090198581A1 (en) 2008-02-06 2009-08-06 Lidestri James M Digital creative works widgets
JP2009245423A (ja) 2008-03-13 2009-10-22 Panasonic Corp 情報機器およびウインドウ表示方法
US7981591B2 (en) 2008-03-27 2011-07-19 Corning Incorporated Semiconductor buried grating fabrication method
US8612888B2 (en) 2008-04-01 2013-12-17 Litl, Llc Method and apparatus for managing digital media content
US8285810B2 (en) 2008-04-17 2012-10-09 Eloy Technology, Llc Aggregating media collections between participants of a sharing network utilizing bridging
CN101286944B (zh) * 2008-05-19 2012-05-30 中国科学院计算技术研究所 一种路由协作网络系统及其工作方法
US8434019B2 (en) 2008-06-02 2013-04-30 Daniel Paul Nelson Apparatus and method for positioning windows on a display
WO2009149063A1 (en) 2008-06-02 2009-12-10 Azuki Systems, Inc. Media mashup system
US8307066B2 (en) 2008-06-06 2012-11-06 International Business Machines Corporation Automated digital media content filtration based on relationship monitoring
EP2139178A1 (en) * 2008-06-27 2009-12-30 Alcatel, Lucent Method of determining a routing path
US8627192B2 (en) 2008-07-03 2014-01-07 Ebay Inc. System and methods for automatic media population of a style presentation
US8893015B2 (en) 2008-07-03 2014-11-18 Ebay Inc. Multi-directional and variable speed navigation of collage multi-media
US7917494B2 (en) 2008-07-11 2011-03-29 Adobe Software Trading Company Limited System and method for a log-based data storage
KR100966177B1 (ko) 2008-07-22 2010-06-25 한국전자통신연구원 광 경로 변환을 위한 광 도파로 장치 및 광 통신 모듈 장치
JP4591570B2 (ja) 2008-07-28 2010-12-01 株式会社村田製作所 周波数調整装置
KR101182523B1 (ko) 2008-07-28 2012-09-12 삼성전자주식회사 홈 네트워크에서 브라우징 속도를 향상하기 위한 시스템 및방법
US8190639B2 (en) 2008-08-15 2012-05-29 International Business Machines Corporation Ordering content in social networking applications
US20100079865A1 (en) 2008-09-26 2010-04-01 Nokia Corporation Near-to-eye scanning display with exit-pupil expansion
WO2010042564A2 (en) 2008-10-06 2010-04-15 Uni-Pixel Displays, Inc. Cavity reflector light injection for flat panel displays
US7752265B2 (en) 2008-10-15 2010-07-06 Eloy Technology, Llc Source indicators for elements of an aggregate media collection in a media sharing system
EP2624503B1 (en) 2008-10-31 2018-04-18 Telefonaktiebolaget LM Ericsson (publ) Policy and charging control user terminal
US8537822B2 (en) 2008-11-10 2013-09-17 Research In Motion Limited Methods and apparatus for providing alternative paths to obtain session policy
US8018329B2 (en) 2008-12-12 2011-09-13 Gordon * Howard Associates, Inc. Automated geo-fence boundary configuration and activation
US9465213B2 (en) 2008-12-12 2016-10-11 Bae Systems Plc Waveguides
US8331992B2 (en) 2008-12-19 2012-12-11 Verizon Patent And Licensing Inc. Interactive locked state mobile communication device
US8442922B2 (en) 2008-12-24 2013-05-14 Strands, Inc. Sporting event image capture, processing and publication
US8566362B2 (en) 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9014832B2 (en) 2009-02-02 2015-04-21 Eloy Technology, Llc Augmenting media content in a media sharing group
US9405752B2 (en) 2009-02-13 2016-08-02 T-Mobile Usa, Inc. System and method for automatically presenting a media file on a mobile device based on relevance to a user
FR2942811B1 (fr) 2009-03-04 2011-05-06 Oberthur Technologies Element de securite pour document-valeur.
GB0904476D0 (en) 2009-03-16 2009-04-29 Bookham Technology Plc Ridge waveguide serial interferometers
US8139504B2 (en) 2009-04-07 2012-03-20 Raytheon Bbn Technologies Corp. System, device, and method for unifying differently-routed networks using virtual topology representations
US20100262582A1 (en) 2009-04-10 2010-10-14 Microsoft Corporation Content synchronization across multiple computers
AU2010238336B2 (en) 2009-04-14 2014-02-06 Bae Systems Plc Optical waveguide and display device
US8793282B2 (en) 2009-04-14 2014-07-29 Disney Enterprises, Inc. Real-time media presentation using metadata clips
ES2621820T3 (es) 2009-04-20 2017-07-05 Bae Systems Plc Rejilla de relieve superficial en una guía de ondas óptica con una superficie reflectante y una capa dieléctrica adaptada a la superficie
US8769421B2 (en) 2009-04-30 2014-07-01 Apple Inc. Graphical user interface for a media-editing application with a segmented timeline
US20110119597A1 (en) 2009-05-09 2011-05-19 Vivu, Inc. Method and apparatus for capability-based multimedia interactions
US8300614B2 (en) 2009-05-14 2012-10-30 Avaya Inc. Preventing packet loops in unified networks
US8281343B2 (en) 2009-05-19 2012-10-02 Cisco Technology, Inc. Management and display of video content
US8627228B2 (en) 2009-05-24 2014-01-07 International Business Machines Corporation Automatic sash configuration in a GUI environment
US8402071B2 (en) 2009-06-19 2013-03-19 Aptare, Inc. Catalog that stores file system metadata in an optimized manner
US8285681B2 (en) 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8549437B2 (en) 2009-08-27 2013-10-01 Apple Inc. Downloading and synchronizing media metadata
US8473789B2 (en) 2009-09-21 2013-06-25 International Business Machines Corporation Memory leak monitoring system and associated methods
US9031860B2 (en) 2009-10-09 2015-05-12 Visa U.S.A. Inc. Systems and methods to aggregate demand
US8577872B2 (en) 2009-10-13 2013-11-05 Microsoft Corporation Selection of photos based on tagging history
US20110099199A1 (en) 2009-10-27 2011-04-28 Thijs Stalenhoef Method and System of Detecting Events in Image Collections
KR101636570B1 (ko) 2009-10-28 2016-07-20 엘지전자 주식회사 출력표시영역 제어 장치 및 방법
US20110106798A1 (en) 2009-11-02 2011-05-05 Microsoft Corporation Search Result Enhancement Through Image Duplicate Detection
US8698705B2 (en) 2009-12-04 2014-04-15 Vuzix Corporation Compact near eye display with scanned image generation
US8341037B2 (en) 2009-12-18 2012-12-25 Apple Inc. Mixed source media playback
IT1397439B1 (it) 2009-12-30 2013-01-10 St Microelectronics Srl Procedimento e dispositivi per la distribuzione di contenuti mediali e relativo prodotto informatico
US8698845B2 (en) 2010-01-06 2014-04-15 Apple Inc. Device, method, and graphical user interface with interactive popup views
EP3907593A1 (en) 2010-01-19 2021-11-10 LG Electronics, Inc. Mobile terminal and control method thereof
US8526993B2 (en) 2010-02-23 2013-09-03 Telefonaktiebolaget Lm Ericsson (Publ) Power control for home base station with GNSS receiver
US9097890B2 (en) 2010-02-28 2015-08-04 Microsoft Technology Licensing, Llc Grating in a light transmissive illumination system for see-through near-eye display glasses
WO2011112533A1 (en) 2010-03-08 2011-09-15 Stereotaxis, Inc. Method for managing non-overlapping windows
US20110231745A1 (en) 2010-03-15 2011-09-22 TripAdvisor LLC. Slideshow creator
US8296380B1 (en) 2010-04-01 2012-10-23 Kel & Partners LLC Social media based messaging systems and methods
US9946068B2 (en) 2010-04-23 2018-04-17 Bae Systems Plc Optical waveguide and display device
US9405845B2 (en) 2010-05-17 2016-08-02 Microsoft Technology Licensing, Llc Adaptable layouts for social feeds
JP5593841B2 (ja) 2010-05-28 2014-09-24 富士通株式会社 データベース装置
US20120005602A1 (en) 2010-07-02 2012-01-05 Nokia Corporation Methods and apparatuses for facilitating task switching
JP2012014071A (ja) 2010-07-02 2012-01-19 Furukawa Electric Co Ltd:The アレイ導波路回折格子型光合分波器
US8843112B2 (en) * 2010-07-02 2014-09-23 Blackberry Limited Method and system for data session establishment
US8538351B2 (en) 2010-07-20 2013-09-17 Blackberry Limited Radiation power level control system and method for a wireless communication device based on a tracked radiation history
US9342208B2 (en) 2010-07-27 2016-05-17 Yahoo! Inc. System and method for optimizing window display
US8793104B2 (en) 2010-08-12 2014-07-29 Kuan Wen Chen Flat panel display device
US20130091204A1 (en) 2010-08-12 2013-04-11 Joheem Loh System and method of integrating various platforms and methods of using the same
US8875047B2 (en) 2010-08-31 2014-10-28 Blackboard Inc. Smart docking for windowing systems
US8649099B2 (en) 2010-09-13 2014-02-11 Vuzix Corporation Prismatic multiple waveguide for near-eye display
US8376548B2 (en) 2010-09-22 2013-02-19 Vuzix Corporation Near-eye display with on-axis symmetry
US10387524B2 (en) 2010-09-29 2019-08-20 Open Text Sa Ulc System and method for managing objects using an object map
US20120208168A1 (en) 2010-10-11 2012-08-16 Teachscape, Inc. Methods and systems relating to coding and/or scoring of observations of and content observed persons performing a task to be evaluated
US8751419B2 (en) 2010-11-19 2014-06-10 Shipjo, Llc Shipping system and method with taxonomic tariff harmonization
US20120144331A1 (en) 2010-12-03 2012-06-07 Ari Tolonen Method for Arranging Application Windows on a Display
US8576143B1 (en) 2010-12-20 2013-11-05 Google Inc. Head mounted display with deformation sensors
US9178981B2 (en) 2010-12-22 2015-11-03 Lg Electronics Inc. Mobile terminal and method of sharing information therein
US10042546B2 (en) 2011-01-07 2018-08-07 Qualcomm Incorporated Systems and methods to present multiple frames on a touch screen
US20120176474A1 (en) 2011-01-10 2012-07-12 John Norvold Border Rotational adjustment for stereo viewing
US8266115B1 (en) 2011-01-14 2012-09-11 Google Inc. Identifying duplicate electronic content based on metadata
US8291349B1 (en) 2011-01-19 2012-10-16 Google Inc. Gesture-based metadata display
US8723823B2 (en) 2011-02-07 2014-05-13 Qualcomm Incorporated System and method for providing notifications on a mobile computing device
US9602453B2 (en) 2011-02-10 2017-03-21 International Business Machines Corporation Smart attachment to electronic messages
US8630822B2 (en) 2011-02-11 2014-01-14 International Business Machines Corporation Data center design tool
US10152192B2 (en) 2011-02-21 2018-12-11 Apple Inc. Scaling application windows in one or more workspaces in a user interface
JP5698578B2 (ja) 2011-03-24 2015-04-08 オリンパス株式会社 頭部装着型表示装置
US20120271823A1 (en) 2011-04-25 2012-10-25 Rovi Technologies Corporation Automated discovery of content and metadata
US20130027613A1 (en) 2011-05-03 2013-01-31 Lg Electronics Inc. Image display apparatus, portable terminal, and methods for operating the same
US20120290308A1 (en) 2011-05-12 2012-11-15 Detwiller Dennis Rewarding Users for Sharing Digital Content
KR101864164B1 (ko) 2011-05-18 2018-06-04 삼성전자주식회사 노광 시스템과, 이 시스템으로 제조되는 포토마스크 및 웨이퍼
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US20120311481A1 (en) 2011-05-31 2012-12-06 Fanhattan Llc System and method for pivot navigation of content
US20140198655A1 (en) 2011-06-01 2014-07-17 Ntt Docomo, Inc. Enhanced local access in mobile communications using small node devices
WO2012177811A1 (en) 2011-06-20 2012-12-27 BENTON, Steven Lynn System and method for application management on device having a touch screen display
CN102866907B (zh) 2011-07-06 2015-11-25 腾讯科技(深圳)有限公司 桌面切换方法和装置
US8925021B2 (en) 2011-07-11 2014-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for trick play in over-the-top video delivery
KR101859100B1 (ko) 2011-07-19 2018-05-17 엘지전자 주식회사 휴대 전자기기 및 이의 제어방법
US8629815B2 (en) 2011-08-09 2014-01-14 Google Inc. Laser alignment of binocular head mounted display
US9113486B2 (en) 2011-08-12 2015-08-18 Alcatel Lucent Method and apparatus for controlling wireless uplink sessions
US8472119B1 (en) 2011-08-12 2013-06-25 Google Inc. Image waveguide having a bend
US20130090988A1 (en) 2011-10-06 2013-04-11 Revionics, Inc. Defining a markdown event using store clustering methodology
CN102394809B (zh) * 2011-10-13 2014-04-16 中国人民解放军国防科学技术大学 一种多线程边界网关协议并行处理方法
US8726359B2 (en) 2011-10-14 2014-05-13 Sony Corporation Method and system for content distribution management
EP2769252A4 (en) 2011-10-21 2015-12-02 Hewlett Packard Development Co DIFFRACTION NETWORK COUPLERS EQUIPPED WITH NON-UNIFORM DEEP GROWTH DIFFRACTION NETWORKS
US8934661B2 (en) 2011-12-09 2015-01-13 Facebook, Inc. Automatic photo album creation based on social information
US8737777B2 (en) 2012-01-03 2014-05-27 Xyratex Technology Limited Optical waveguide and a method for making an optical waveguide
KR101819513B1 (ko) 2012-01-20 2018-01-17 엘지전자 주식회사 이동단말기 및 그 제어방법
KR101303166B1 (ko) 2012-01-26 2013-09-09 엘지전자 주식회사 이동 단말기 및 그의 사진 검색방법
WO2013117211A1 (en) 2012-02-06 2013-08-15 Nokia Siemens Networks Oy Customer experience management interaction with caching
US9350942B2 (en) 2012-02-13 2016-05-24 Tata Communications (America) Inc. Video session manager and method for enabling and managing video calling and telepresence communications sessions across multiple domains
US9747293B2 (en) 2012-02-28 2017-08-29 Deep Information Sciences, Inc. Method and system for storage and retrieval of information
US9106513B2 (en) 2012-03-23 2015-08-11 Microsoft Technology Licensing, Llc Unified communication aware networks
US20130254708A1 (en) 2012-03-26 2013-09-26 Ipplex Holdings Corporation Communication Room Management Systems
US8700931B2 (en) 2012-03-30 2014-04-15 Verizon Patent And Licensing Inc. Method and system for managing power of a mobile device
JP6238965B2 (ja) 2012-04-25 2017-11-29 ロックウェル・コリンズ・インコーポレーテッド ホログラフィック広角ディスプレイ
CN102707471B (zh) 2012-05-03 2013-11-27 北京京东方光电科技有限公司 液晶光栅、其制作方法、3d显示器件及3d显示装置
WO2013169070A1 (en) 2012-05-11 2013-11-14 Samsung Electronics Co., Ltd. Multiple window providing apparatus and method
US20130300684A1 (en) 2012-05-11 2013-11-14 Samsung Electronics Co. Ltd. Apparatus and method for executing multi applications
US8788587B2 (en) 2012-06-15 2014-07-22 Be Labs, Llc System, method, and product for capturing memories
US9003162B2 (en) 2012-06-20 2015-04-07 Microsoft Technology Licensing, Llc Structuring storage based on latch-free B-trees
US9066303B2 (en) 2012-06-25 2015-06-23 Hitachi, Ltd. Power control in LTE-advanced heterogeneous networks
US8751500B2 (en) 2012-06-26 2014-06-10 Google Inc. Notification classification and display
CN103543904A (zh) 2012-07-13 2014-01-29 汉王科技股份有限公司 将应用程序图标移动到目标分屏的方法及装置
US9092455B2 (en) 2012-07-17 2015-07-28 Microsoft Technology Licensing, Llc Image curation
US8571539B1 (en) 2012-07-30 2013-10-29 Siemens Enterprise Communications Gmbh & Co. Kg Method, device, and system for providing a notification of a shutdown
TWI510820B (zh) 2012-08-08 2015-12-01 C Sun Mfg Ltd 具微光柵的電子裝置、分光裝置及其製造方法
KR101417318B1 (ko) 2012-08-17 2014-07-09 주식회사 팬택 멀티태스킹이 가능한 사용자 인터페이스 제공방법, 이동 단말기, 컴퓨터 판독 가능 매체
US9230287B2 (en) 2012-08-21 2016-01-05 Google Inc. Real-time notifications and sharing of photos among users of a social network
KR101957173B1 (ko) 2012-09-24 2019-03-12 삼성전자 주식회사 터치 디바이스에서 멀티윈도우 제공 방법 및 장치
KR20170038123A (ko) 2012-09-24 2017-04-05 인터디지탈 패튼 홀딩스, 인크 동적 스펙트럼 관리 시스템에서의 채널 품질 측정 및 송신 전력 할당
US9491801B2 (en) 2012-09-25 2016-11-08 Parallel Wireless, Inc. Dynamic multi-access wireless network virtualization
US9113352B2 (en) 2012-09-25 2015-08-18 Parallel Wireless, Inc. Heterogeneous self-organizing network for access and backhaul
US20150199092A1 (en) 2012-09-26 2015-07-16 Google Inc. Intelligent window placement
JP6510160B2 (ja) 2012-10-22 2019-05-08 セイコーエプソン株式会社 光学デバイス及び画像表示装置
US9069434B1 (en) 2012-10-24 2015-06-30 Google Inc. Adjusting sizes of attached windows
WO2014071308A1 (en) 2012-11-02 2014-05-08 Interdigital Patent Holdings, Inc. Power control methods and procedures for wireless local area networks
US9031953B2 (en) 2012-11-19 2015-05-12 Realnetworks, Inc. Method and system to curate media collections
US10242412B2 (en) 2012-11-20 2019-03-26 Facebook, Inc. Ambient-location-push notification
US9537917B2 (en) 2012-11-20 2017-01-03 Google Technology Holdings LLC Method and apparatus for streaming media content to client devices
US9420523B2 (en) 2012-11-26 2016-08-16 Apple Inc. Reducing radio frequency band scan time by a wireless communication device
KR20210068622A (ko) 2012-11-29 2021-06-09 파세토, 인크. 여러 애플리케이션들을 디스플레이하기 위한 시스템 및 방법
KR20140071157A (ko) 2012-12-03 2014-06-11 삼성전자주식회사 단말기의 정보 운용 방법 이를 지원하는 단말기
KR20140073398A (ko) 2012-12-06 2014-06-16 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
WO2014088343A1 (en) 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd. Display device and method of controlling the same
EP2741192A3 (en) 2012-12-06 2016-09-14 Samsung Electronics Co., Ltd Display device for executing a plurality of applications and method for controlling the same
KR102210278B1 (ko) 2012-12-06 2021-02-02 삼성전자주식회사 디스플레이 장치 및 제어 방법
US10585553B2 (en) 2012-12-06 2020-03-10 Samsung Electronics Co., Ltd. Display device and method of controlling the same
CN103873364B (zh) * 2012-12-11 2017-04-19 清华大学 域间多路径路由的实现方法
US10275136B2 (en) 2013-01-05 2019-04-30 Duvon Corporation System and method for management of digital media
US20140195620A1 (en) 2013-01-08 2014-07-10 Ebay Inc. Notification routing to a user device
EP2752691A1 (en) 2013-01-08 2014-07-09 BAE Systems PLC Variable-efficiency diffraction grating
US20150212660A1 (en) 2013-01-25 2015-07-30 Xiaoqiang Su System and method for displaying multiple applications
US20140240842A1 (en) 2013-02-22 2014-08-28 Ian Nguyen Alignment-insensitive image input coupling
US8769431B1 (en) 2013-02-28 2014-07-01 Roy Varada Prasad Method of single-handed software operation of large form factor mobile electronic devices
US11294529B2 (en) 2013-04-15 2022-04-05 Microsoft Technology Licensing, Llc Application window divider control for window layout management
US20140351722A1 (en) 2013-05-23 2014-11-27 Microsoft User interface elements for multiple displays
CN103476081B (zh) * 2013-09-11 2017-05-03 北京交通大学 一种无线传感器网络中路由的方法
US9269150B1 (en) 2013-11-22 2016-02-23 Google Inc. Using pose data and positioning information to locate online photos of a user
US9508278B2 (en) 2014-02-21 2016-11-29 Intel Corporation Present contents on persistent display
US20150356121A1 (en) 2014-06-04 2015-12-10 Commachine, Inc. Position location-enabled, event-based, photo sharing software and service
US9514211B2 (en) 2014-07-20 2016-12-06 Microsoft Technology Licensing, Llc High throughput data modifications using blind update operations
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US20160033784A1 (en) 2014-07-30 2016-02-04 Tapani Levola Optical Components
US9304235B2 (en) 2014-07-30 2016-04-05 Microsoft Technology Licensing, Llc Microfabrication
US9836464B2 (en) 2014-07-31 2017-12-05 Microsoft Technology Licensing, Llc Curating media from social connections
US20160034157A1 (en) 2014-07-31 2016-02-04 Microsoft Corporation Region-Based Sizing and Positioning of Application Windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US9414417B2 (en) 2014-08-07 2016-08-09 Microsoft Technology Licensing, Llc Propagating communication awareness over a cellular network
US9928264B2 (en) 2014-10-19 2018-03-27 Microsoft Technology Licensing, Llc High performance transactions in database management systems

Also Published As

Publication number Publication date
EP3155770A1 (en) 2017-04-19
CN106664249B (zh) 2020-10-09
TW201605206A (zh) 2016-02-01
BR112017001254A2 (pt) 2017-11-14
US9787576B2 (en) 2017-10-10
RU2017102485A (ru) 2018-07-26
EP3155770B1 (en) 2020-11-04
CN106664249A (zh) 2017-05-10
WO2016018859A1 (en) 2016-02-04
US20160036692A1 (en) 2016-02-04

Similar Documents

Publication Publication Date Title
JP2017528961A (ja) 自律ネットワークについてのルーティングアウェアネスの伝達
EP3146755B1 (en) Synthetic transactions between communication endpoints
US10355914B2 (en) Procedure for a problem in a communication session
US9755950B2 (en) Path routing for communication sessions
US10171345B2 (en) Routing communication sessions
KR102317694B1 (ko) 세션 기반 디바이스 구성
US9730133B2 (en) Synthetic transaction for wireless handover
US9414417B2 (en) Propagating communication awareness over a cellular network
US20160156691A1 (en) Session Awareness for Communication Sessions
US20180316741A1 (en) Synthetic Transaction based on Network Condition
WO2016149053A1 (en) Subscription for communication attributes
US9609064B2 (en) Propagating communication awareness for communication sessions
US20170295209A1 (en) Subscription for Communication Attributes
BR112017001317B1 (pt) Método implementado por computador e sistema para propagação de consciência de comunicação para sessões de comunicação