特許第5792180号(P5792180)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許5792180モデルをベースとする仮想ネットワーキング
<>
  • 特許5792180-モデルをベースとする仮想ネットワーキング 図000002
  • 特許5792180-モデルをベースとする仮想ネットワーキング 図000003
  • 特許5792180-モデルをベースとする仮想ネットワーキング 図000004
  • 特許5792180-モデルをベースとする仮想ネットワーキング 図000005
  • 特許5792180-モデルをベースとする仮想ネットワーキング 図000006
  • 特許5792180-モデルをベースとする仮想ネットワーキング 図000007
  • 特許5792180-モデルをベースとする仮想ネットワーキング 図000008
  • 特許5792180-モデルをベースとする仮想ネットワーキング 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5792180
(24)【登録日】2015年8月14日
(45)【発行日】2015年10月7日
(54)【発明の名称】モデルをベースとする仮想ネットワーキング
(51)【国際特許分類】
   H04L 12/70 20130101AFI20150917BHJP
   H04L 12/701 20130101ALI20150917BHJP
   H04L 12/24 20060101ALI20150917BHJP
【FI】
   H04L12/70 D
   H04L12/701
   H04L12/24
【請求項の数】15
【全頁数】15
(21)【出願番号】特願2012-538845(P2012-538845)
(86)(22)【出願日】2010年10月28日
(65)【公表番号】特表2013-511208(P2013-511208A)
(43)【公表日】2013年3月28日
(86)【国際出願番号】US2010054571
(87)【国際公開番号】WO2011059773
(87)【国際公開日】20110519
【審査請求日】2013年10月4日
(31)【優先権主張番号】12/616,800
(32)【優先日】2009年11月12日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】アナトリー パナシュク
(72)【発明者】
【氏名】ダルシャン レンジゴウダ
(72)【発明者】
【氏名】ラム ヴィスワナータン
(72)【発明者】
【氏名】アンソニー エス.チャベス
(72)【発明者】
【氏名】ジアツェン チェン
(72)【発明者】
【氏名】モーガン ブラウン
(72)【発明者】
【氏名】ハサン エス.アルハティーブ
(72)【発明者】
【氏名】ジェフリー エイチ.アウスレッド
【審査官】 衣鳩 文彦
(56)【参考文献】
【文献】 特開2003−188906(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00〜12/955
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実施されるネットワーク管理システムであって、
物理ネットワークの一連のノードと、
ネットワークのマシン及びユーザのアブストラクションを定義する接続セマンティクスを使用して前記ノード間の仮想接続を定義し、前記物理ネットワークの前記ノード間の通信を管理するように作成され、物理ネットワーク及びトポロジの実装の詳細ではなく、接続を表すマシン及びユーザ並びにグループのIDに関する接続インテントによって動作する接続モデルと
を備えることを特徴とするシステム。
【請求項2】
前記接続セマンティクスを、前記物理ネットワークの前記ノード間の前記通信を管理するポリシーおよび構成情報に変換するトランスレータをさらに備えることを特徴とする請求項1に記載のシステム。
【請求項3】
前記接続モデルは、物理レイヤを覆い、前記物理レイヤから独立している仮想ネットワークを表すことを特徴とする請求項1に記載のシステム。
【請求項4】
前記接続モデルは、物理レイヤを覆い、前記物理レイヤの要素および抽象型を含む仮想ネットワークを表すことを特徴とする請求項1に記載のシステム。
【請求項5】
前記接続モデルは、前記接続セマンティクスの一部としてネットワークセキュリティを定義することを特徴とする請求項1に記載のシステム。
【請求項6】
前記接続セマンティクスは、前記ノードのマシンIDおよびユーザIDを含むことを特徴とする請求項1に記載のシステム。
【請求項7】
前記接続セマンティクスは、ノードのグループおよびユーザのグループを含むことを特徴とする請求項1に記載のシステム。
【請求項8】
前記接続セマンティクスは、ノードIDを含むことを特徴とする請求項1に記載のシステム。
【請求項9】
前記接続セマンティクスは、前記物理ネットワークのポートおよびゲートウェイを管理することを特徴とする請求項1に記載のシステム。
【請求項10】
コンピュータによって実施されるネットワーク管理方法であって、
仮想ネットワークの特性のアブストラクションを定義する接続セマンティクスに基づいて物理レイヤのノード間の接続の仮想ネットワークを表す接続モデルを定義するステップと、
物理ネットワーク及びトポロジの実装の詳細ではなく、接続を表すマシン及びユーザ並びにグループのIDに関する接続インテントによって動作する前記接続モデルに基づいて前記物理レイヤの前記ノード間で通信を管理するステップと
を含むことを特徴とする方法。
【請求項11】
前記接続セマンティクスを前記物理レイヤの前記ノード間の前記通信を管理するポリシーおよび規則に変換するステップをさらに含むことを特徴とする請求項10に記載の方法。
【請求項12】
前記物理レイヤのオーバーレイとしての、また前記物理レイヤから独立している前記仮想ネットワークを適用するステップをさらに含むことを特徴とする請求項10に記載の方法。
【請求項13】
前記仮想ネットワークを、前記物理レイヤの要素および抽象型を含む前記物理レイヤのオーバーレイとして適用するステップをさらに含むことを特徴とする請求項10に記載の方法。
【請求項14】
ネットワークセキュリティを前記接続モデルの一部として前記物理レイヤに適用するステップをさらに含むことを特徴とする請求項10に記載の方法。
【請求項15】
前記ノードのマシンIDおよびユーザID、ノードのグループおよびユーザのグループ、ならびにノードIDを含む接続セマンティクスを作成するステップをさらに含むことを特徴とする請求項10に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデルをベースとする仮想ネットワーキングに関する。
【背景技術】
【0002】
ネットワーク運営は、もはや単純な仕事ではない。大企業は、一般に、1ヶ所で大きな存在感を有するか、集団経営によって相互接続されるいくつかの地理的場所にわたって分散されている。そのような大規模かつ複雑な展開の場合、ネットワークに伴う頻繁に変化するダイナミクスは、従業員を追加/削除すること、従業員デバイス(たとえば、コンピュータ、プリンタ)を追加/削除することなどを必要とし、複数の場所に及ぶ、または複数のサブネット、VPN(仮想プライベートネットワーク)、複数のルータ、若しくはサーバ、ルータ、ゲートウェイ、スイッチなど他のネットワークデバイスを含む複雑なネットワークを扱うとき特に明らかにわかる。さらに、今日のネットワーク管理は、しばしばネットワークの管理および運営をさらに複雑にするベンダ特有の知識およびデータを含む。
【発明の概要】
【0003】
以下は、本明細書に記載のいくつかの新規な実施形態を基本的に理解するために簡単にまとめたものである。この概要は、本発明の広範な全体像ではなく、主な/クリティカルな要素を識別することも、本発明の範囲を述べることも意図されていない。後から提供されるより詳細な説明の序文として、いくつかの概念を簡単な形態で示すことを目的とするにすぎない。
【0004】
開示されているアーキテクチャは、エンドポイント間の接続を仮想的に指定するのを容易にする。何らかの特定の技術ではなく接続インテント(connectivity intent)によって表される抽象的な接続モデル(connectivity model)として、ネットワークを定義することができる。このアーキテクチャは、使用可能な物理ネットワークおよびデバイス機能に基づいて、接続モデルを構成設定、ポリシー、ファイアウォール規則などにコンパイル(変換)し、接続インテントを実施する。
【0005】
接続モデルを使用し、ネットワークの接続セマンティクス(connectivity semantics)を定義する。このモデルを、物理ネットワーク内の物理ノード間の通信を制御する1組のポリシーおよびネットワーク構成に変換することができる。得られる仮想ネットワークは、物理レイヤから独立している仮想オーバーレイとなり得る。あるいは、この仮想オーバーレイは、(1つまたは複数の)物理ネットワークの要素および抽象型をも含むことができる。さらに、自動ネットワークセキュリティ規則(たとえば、インターネットプロトコルセキュリティ−IPSec)をネットワークの接続モデルから導出することができる。
【0006】
前述の、および関連の目的を達成するために、いくつかの例示的な態様について、以下の説明および添付の図面に関連して本明細書で述べる。これらの態様は、本明細書に開示されている原理を実施することができる様々な方法を示すものであり、すべての態様およびその均等物は、特許請求されている主題の範囲内にあるものとする。以下の詳細な説明を図面と共に考察したとき、他の利点および新規な特徴が明らかになろう。
【図面の簡単な説明】
【0007】
図1】開示されているアーキテクチャによる、コンピュータによって実施されるネットワーク管理システムの図である。
図2】変換レイヤを含むネットワーク管理システムの代替の実施形態の図である。
図3】開示されているアーキテクチャによるネットワーク管理システムをより詳細に表現した図である。
図4】接続モデルの例示的な詳細の図である。
図5】コンピュータによって実施されるネットワーク管理方法の図である。
図6図5の方法の追加の態様の図である。
図7】開示されているアーキテクチャによる接続モデルを開発し、変換し、実装するように動作可能なコンピューティングシステムのブロック図である。
図8】接続モデルの開発、変換、および実装のためのコンピューティング環境の概略ブロック図である。
【発明を実施するための形態】
【0008】
開示されているアーキテクチャは、物理ネットワークを構成および管理するために仮想ネットワークを定義する接続モデルの開発および実装を容易にする。換言すれば、物理ネットワークが、特定の技術ではなく接続インテントによって表される抽象的なモデルとして定義される。たとえば、接続モデルは、コンピュータX、Y、Zが互いに自由に通信すべきであり、また特定のポートでコンピュータDと制御された状態で通信すべきであることを、仮想的に指定することができる。モデルを変換(コンパイル)することにより、仮想ネットワークが物理ネットワークに適用され、その結果、使用可能な物理ネットワークおよび物理デバイスの機能を考えて、構成設定、ポリシー、ファイアウォール規則などにより接続インテントが実施される。
【0009】
たとえば、特定の範囲内のIPアドレスを、物理的なマシンA、Bに割り当てることができる。物理ネットワークを構成するための既存の技法に象徴されるように適当なサブネット間のルーティングを必要とするのではなく、接続モデルの接続セマンティクスは、単にマシンAとマシンBが互いに通信することができるべきであることを指定する。
【0010】
接続モデルは、物理ネットワークアドレスではなく、ID(たとえば、マシンおよびユーザ)、グループ(たとえば、マシンおよびユーザ)、および他のアブストラクション(接続の詳細のない論理モデル)によって動作する。
【0011】
所望の接続の実装は、(1つまたは複数の)物理ネットワークから独立している1つまたは複数のネットワークオーバーレイを作成することによって、および/または適切なAPI(アプリケーションプログラミングインターフェース)/設定を介して物理ネットワークを制御することによって行うことができる。ネットワークオーバーレイを使用する構成では、やはり接続モデルを使用し、ネットワークオーバーレイ内のマシンおよび/またはユーザに対するIPアドレス割当てを制御することができる。たとえば、特定のIPアドレスをあるマシンに割り当てることができ、次いで、その割り当てられたIPアドレスは、そのアドレスがネットワークオーバーレイ空間内にあるので、物理ネットワークまたはそのマシンのIPアドレスにかかわらず有効になる。この機能は、レガシーアプリケーションをサポートするのを容易にする。
【0012】
このアーキテクチャは、1つまたは複数のネットワークの接続モデルを、接続インテントを表す1組の規則として定義するための機構を含む。この機構は、たとえば接続モデルをグラフィカルに編集するためのGUI(グラフィカルユーザインターフェース)エディタとすることができる。また、接続モデルを構成設定、ポリシー、ファイアウォール規則などにコンパイルし、所望の接続モデルを実施するための機構も含まれる。
【0013】
接続モデルトランスレータ(コンパイラ)は、特定の実装によって使用される1組のネットワーキング技術に特有のものとすることができる。たとえば、1つの可能な実装は、Microsoft CorporationによるWindows(登録商標)Direct Access(商標)(DA)を介したものとすることができ、その場合、接続モデルは、一連のIPSec、Teredo(NAT(ネットワークアドレス変換)デバイスを介してIPv6データグラムを送るための送信プロトコル)、SSTP(セキュアソケットトンネリングプロトコル)、ファイアウォール、および実装において使用される他の設定にコンパイルすることができる。
【0014】
たとえばIPv4、IPv6など、他のオーバーレイネットワーク技術セット用にトランスレータを作成することが可能である。また、トランスレータ(コンパイラ)は、たとえばプログラマブルスイッチおよびVLAN(仮想ローカルエリアネットワーク)を制御することによって接続モデルを物理ネットワークに適用するためにも作成することができる。
【0015】
開示されているアーキテクチャはまた、接続モデルの一部分が(1つまたは複数の)ネットワークオーバーレイによってサポートされ、一方、モデルの他の部分が物理ネットワークによってサポートされる混成システムの実装を可能にする。そのような構成の一例は、(たとえば、VLAN、IPSecなどを介して)プログラムによって制御することができるLANに接続されたマシンと、(たとえば、TeredoまたはSSTPを介して)遠隔で接続されたマシンとの混合であり、これらのすべてが、単一の接続インテントによって制御される。
【0016】
また、このアーキテクチャは、接続モデルの必要な要素を実行するための機構を提供する。この必要管理は、物理的実装によって決まる(たとえば、オーバーレイネットワーク対物理ネットワーク、Teredo対SSTP対L2TP(レイヤ2トンネリングプロトコル)対他のプロトコル)。
【0017】
このアーキテクチャは、実装の詳細(たとえば、IP範囲、IPSec、ポリシーなど)ではなく所望の接続(接続インテント)に集中することによって、ネットワークの作成、管理、および使用を著しく簡素化する。さらに、IT担当者は、ネットワークを作成または管理するために、もはや深いネットワーキング知識を有する必要がない。小規模事業または中規模事業、および消費者アプリケーションなど、単純な場合には、複雑さを完全に解消することができ、ネットワーキング知識のない管理者がネットワークをうまくセットアップおよび管理することができる。
【0018】
さらに、ネットワークを一貫した、統一の取れたものにすることにより、またすべての関連の設定、ポリシーなどを単一の接続モデルから導出することにより、簡素化がもたらされる。必要とされる設定/ポリシーすべてが、十分に連携した、競合のないものであることが保証される。これは、各タイプの設定/ポリシー/規則が独立して定義され、誤りや不一致の余地を残す既存の状況と異なる。
【0019】
この簡素化はまた、一貫性および統一性を確保することにより、また実際の設定および接続が所期の接続モデルと連携していることを検証する内蔵の自己試験機構を含めることにより、高い信頼性をもたらす。
【0020】
このアーキテクチャの自己調整機能は、ネットワークが代替の接続技術およびシステム(たとえば、SSTP対ダイレクトIPv6またはTeredo)に自動的に切り替わり、所望の接続モデルを保存する一方、下にあるネットワークシステムが変化しつつあること(たとえば、相異なるネットワーク間を移動する可搬型コンピュータ)を可能にする。
【0021】
さらに、ネットワークセキュリティ規則(たとえば、IPSec)を接続モデルから自動的に導出することにより、高いセキュリティを達成することができる。これは、ネットワークセキュリティを構成または管理するために時間を費やすことなしに、安全な接続を可能にする。
【0022】
また、開示されている接続モデルは、技術の組合せをホストされたシステムと共に使用する、より複雑なネットワークおよびシステムの作成を可能にする。
【0023】
次に、同様の符号を使用し、全体を通して同様の要素を指す図面を参照する。以下の説明では、説明の目的で、完全に理解するために多数の特定の詳細を述べる。しかし、これらの新規な実施形態は、これらの特定の詳細なしに実施することができることは明らかであろう。他の場合には、周知の構造およびデバイスが、説明を容易にするために、ブロック図の形態で示される。特許請求されている主題の精神および範囲内に入る修正形態、均等物、および代替形態すべてを包含することが意図されている。
【0024】
図1は、開示されているアーキテクチャによる、コンピュータによって実施されるネットワーク管理システム100の図である。システム100は、物理ネットワーク104の一連のノード102と、接続セマンティクス108を使用してノード102間の仮想接続を定義する接続モデル106とを含む。接続モードは、物理ネットワーク104のノード102間の通信を管理するように作成される。
【0025】
接続モデル106は、物理レイヤを覆い、物理レイヤから独立している仮想ネットワークを表す。接続モデル106は、物理レイヤを覆い、物理ネットワーク104の要素および抽象型を含む仮想ネットワークを表す。また、接続モデル106は、接続セマンティクス108の一部としてネットワークセキュリティを定義することができる。接続セマンティクス108は、ノードのマシンIDおよびユーザID、ノードのグループおよびユーザのグループ、ならびに/またはノードIDを含むことができる。接続セマンティクス108は、物理ネットワーク108のポートおよびゲートウェイを管理する。
【0026】
したがって、あるネットワークから別のネットワークに移動する(たとえば、企業の地理的な位置にわたって)可搬型コンピュータを含むネットワーク運営が、シームレスに処理される。というのは、移動性があるときでさえ、ユーザを接続すべきグループを接続モデルが示すからである。
【0027】
図2は、変換レイヤ202を含むネットワーク管理システムの代替の実施形態200の図である。システム200は、物理ネットワーク104(物理レイヤ)の一連のノード102と、接続セマンティクス108を使用してノード102間の仮想接続を定義する接続モデル106とを含む。接続モードは、物理ネットワーク104のノード102間の通信を管理するように作成される。変換レイヤ202は、接続セマンティクス108を、物理ネットワーク104のノード102間の通信を管理するポリシーおよび構成情報に変換する。
【0028】
換言すれば、システム200は、物理ネットワーク104の一連のノード102と、接続セマンティクス108を使用してノード102間の仮想接続を定義する接続モデル106と、接続セマンティクス108を、物理ネットワーク104のノード102間の通信を管理するポリシーおよび構成情報に変換する変換レイヤ202とを含む。
【0029】
仮想接続は、物理レイヤを覆い、物理レイヤから独立している仮想ネットワーク204を表す。仮想接続は、物理レイヤを覆い、物理ネットワーク104の要素および抽象型を含む仮想ネットワーク204を表す。接続モデル106は、接続セマンティクス108の一部としてネットワークセキュリティを定義する。接続セマンティクス108は、ノードのマシンIDおよびユーザID、ノードのグループおよびユーザのグループ、ならびに/またはノードIDを含む。
【0030】
図3は、開示されているアーキテクチャによるネットワーク管理システム300をより詳細に表現したものを示す。システム300は、変換レイヤ202を介して物理レイヤ302に適用することができる接続モデル106(および仮想ネットワークの接続セマンティクス)を含む。変換レイヤは、物理レイヤ302に直接適用するために、セマンティクスをポリシーおよび規則などに変換するための1つまたは複数のトランスレータを含むことができる。
【0031】
また、システム300は、モデル定義306を使用して接続モデル106を開発および構成するためにユーザインターフェース304(たとえば、グラフィカルUI)を含む。定義306は、様々な接続モデルで選択的に展開するために、多種多様な定義を含むことができる。また、システム300は、既存のモデルを記憶し、望むように自動的または動的に取り出し、使用するための記憶コンポーネント308を含むことができる。接続モデルは、オンラインまたはオフラインで開発することができ、後で要求あり次第取り出し、使用するために記憶しておくことができる。
【0032】
図4は、接続モデル400の例示的な詳細を示す。ここで、接続モデル106は、マシンIDおよび/またはユーザID402、(マシンおよび/またはユーザの)グループ404、および他のアブストラクション406を定義することができる接続セマンティクス108を含む。セマンティクス108は、物理ネットワーク412の通信を管理するのを容易にする設定、ポリシー、および規則410にセマンティクス108を変換するために、接続モデル108(またはそのセマンティクス部分)に特有のトランスレータ408に通される。
【0033】
同様に、第2の接続モデル414は、マシンIDおよび/またはユーザID418、(マシンおよび/またはユーザの)グループ420、および他のアブストラクション422を定義することができる接続セマンティクス416を含む。セマンティクス416は、物理ネットワーク428の通信を管理するのを容易にする設定、ポリシー、および規則426にセマンティクス416を変換するために、第2の接続モデル414(またはそのセマンティクス部分)に特有のトランスレータ424に通される。
【0034】
換言すれば、複数の接続モデルを使用し、接続セマンティクス内で使用されている変換可能なセマンティクスによってのみ制限されて、対応する物理ネットワーク、ネットワークのサブネット、物理デバイス(たとえば、ゲートウェイ、ルータなど)、ならびに、たとえば物理デバイスおよびノードのポートを構成および管理することができる。複数のトランスレータに関して、1つのトランスレータは、IPSecポリシーを処理することに専念することができ、第2のトランスレータは、ファイアウォールポリシーを処理することに専念することができ、第3のトランスレータは、SSL(セキュアソケットレイヤ)を処理することに専念し、第4のトランスレータは、ゲートウェイを処理することに専念することができ、以下同様である。
【0035】
本明細書に開示されている接続モデルは、Microsoft Corporationによって開発された技術であるNAP(ネットワークアクセス保護)によって円滑化されるポリシーをマシン/ユーザのグループに割り当てることなど、システム健全性要件のためのポリシーをネットワークの管理者が定義するのに好都合かつ強力な機構を提供する。健全性要件は、たとえばマルウェア検出および防止ソフトウェアの所望のバージョンおよびアクティブファイアウォールを有するノードに関連付けることができる。
【0036】
開示されているアーキテクチャの新規な態様を実施するための例示的な方法を表す1組の流れ図が、本明細書に含まれている。説明を簡単にするために、本明細書ではたとえば流れ図(flow chart or flow diagram)の形態で示されている1つまたは複数の方法が、一連の動作として示され述べられているが、一部の動作は、本発明によれば、本明細書に示され述べられているものとは異なる順序で、かつ/または他の動作と同時に行われてもよいため、これらの方法は動作の順序によって制限されないことを理解されたい。たとえば、代替として、状態図でなど、方法を一連の相互に関連する状態またはイベントとして表すことができることを、当業者なら理解するであろう。さらに、新規な実装にとって、方法に示されている動作すべてが必要とされるわけではないことがある。
【0037】
図5は、コンピュータによって実施されるネットワーク管理方法を示す。500では、接続セマンティクスに基づいて物理レイヤのノード間の接続の仮想ネットワークを表す接続モデルが定義される。502では、接続モデルに基づいて物理レイヤのノード間で通信が管理される。
【0038】
図6は、図5の方法の追加の態様を示す。600では、接続セマンティクスが、物理レイヤのノード間の通信を管理するポリシーおよび規則に変換される。602では、物理レイヤのオーバーレイとしての、また物理レイヤから独立している仮想ネットワークが適用される。604では、仮想ネットワークが、物理レイヤの要素および抽象型を含む物理レイヤのオーバーレイとして適用される。606では、ネットワークセキュリティが、接続モデルの一部として物理レイヤに適用される。608では、ノードのマシンIDおよびユーザID、ノードのグループおよびユーザのグループ、ならびにノードIDを含む接続セマンティクスが作成される。
【0039】
本明細書では、「コンポーネント」および「システム」という用語は、コンピュータ関連のエンティティ、すなわちハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを指すものとする。たとえば、コンポーネントは、それだけには限らないが、プロセッサ上で動作するプロセス、プロセッサ、ハードディスクドライブ、(光記憶媒体、ソリッドステート記憶媒体、および/または磁気記憶媒体の)複数の記憶装置、オブジェクト、実行可能コンポーネント、実行のスレッド、プログラム、および/またはコンピュータとすることができる。例として、サーバ上で動作するアプリケーションもそのサーバも、コンポーネントとすることができる。1つまたは複数のコンポーネントがプロセスおよび/または実行のスレッド内に駐在することができ、あるコンポーネントを、1つのコンピュータ上でローカライズすることができ、かつ/または2つ以上のコンピュータ間で分散させることができる。本明細書では、「例示的」という語を使用し、例、実例、または例示として働くことを表すことがある。本明細書において「例示的」として述べられるどの態様または設計も、必ずしも他の態様または設計より好ましい、または有利なものと解釈すべきでない。
【0040】
図7を参照すると、開示されているアーキテクチャによる接続モデルを開発し、変換し、実装するように動作可能なコンピューティングシステム700のブロック図が示されている。その様々な態様に追加の場面を与えるために、図7および以下の説明は、様々な態様を実装することができる好適なコンピューティングシステム700を簡単に、一般的に述べることが意図されている。上記の説明は1つまたは複数のコンピュータ上で動作することができるコンピュータ実行可能命令の一般的な状況におけるものであるが、新規な実施形態はまた、他のプログラムモジュールと組み合わせて、かつ/またはハードウェアとソフトウェアの組合せとして実装することができることを、当業者なら理解するであろう。
【0041】
様々な態様を実装するためのコンピューティングシステム700は、(1つまたは複数の)処理ユニット704を備えるコンピュータ702と、システムメモリ706などコンピュータ可読記憶装置と、システムバス708とを含む。(1つまたは複数の)処理ユニット704は、シングルプロセッサ、マルチプロセッサ、シングルコアユニット、マルチコアユニットなど、様々な市販のプロセッサのいずれかとすることができる。さらに、新規な方法は、ミニコンピュータ、メインフレームコンピュータ、ならびにパーソナルコンピュータ(たとえば、デスクトップ、ラップトップなど)、ハンドヘルドコンピューティングデバイス、マイクロプロセッサをベースとする、またはプログラム可能な家電などを含めて、他のコンピュータシステム構成と共に実施することができ、これらのそれぞれは、1つまたは複数の関連のデバイスに動作可能に結合することができることを、当業者なら理解するであろう。
【0042】
システムメモリ706は、揮発性(VOL)メモリ710(たとえば、ランダムアクセスメモリ(RAM))および不揮発性メモリ(NON−VOL)712(たとえば、ROM、EPROM、EEPROMなど)など、コンピュータ可読記憶装置を含むことができる。基本入出力システム(BIOS)は、不揮発性メモリ712内に記憶しておくことができ、起動中など、コンピュータ702内のコンポーネント間でのデータおよび信号の通信を円滑にする基本ルーチンを含む。揮発性メモリ710は、データをキャッシュするために、スタティックRAMなど、高速RAMをも含むことができる。
【0043】
システムバス708は、それだけには限らないが(1つまたは複数の)処理ユニット704に対するメモリサブシステム706を含むシステムコンポーネントのためにインターフェースを提供する。システムバス708は、様々な市販のバスアーキテクチャのいずれかを使用して、(メモリコントローラあり、またはなしで)メモリバスおよび周辺バス(たとえば、PCI、PCIe、AGP、LPCなど)にさらに相互接続することができるいくつかのタイプのバス構造のいずれかとすることができる。
【0044】
コンピュータ702は、(1つまたは複数の)機械可読記憶サブシステム714と、(1つまたは複数の)記憶サブシステム714をシステムバス708および他の所望のコンピュータコンポーネントにインターフェースするための(1つまたは複数の)記憶インターフェース716とをさらに含む。(1つまたは複数の)記憶サブシステム714は、たとえばハードディスクドライブ(HDD)、磁気フロッピディスクドライブ(FDD)、および/または光ディスク記憶装置ドライブ(たとえば、CD−ROMドライブ、DVDドライブ)のうちの1つまたは複数を含むことができる。(1つまたは複数の)記憶インターフェース716は、たとえばEIDE、ATA、SATA、IEEE1394など、インターフェース技術を含むことができる。
【0045】
オペレーティングシステム720、1つまたは複数のアプリケーションプログラム722、他のプログラムモジュール724、およびプログラムデータ726を含めて、1つまたは複数のプログラムおよびデータを、メモリサブシステム706、機械可読かつ取外し式のメモリサブシステム718(たとえば、フラッシュドライブフォームファクタ技術)、および/または(1つまたは複数の)記憶サブシステム714(たとえば、光、磁気、ソリッドステート)内に記憶することができる。
【0046】
1つまたは複数のアプリケーションプログラム722、他のプログラムモジュール724、およびプログラムデータ726は、たとえば、本明細書に記載の接続モデルおよび接続セマンティクス、変換レイヤおよびトランスレータ、図3のシステム300、図4のモデル400および関連のエンティティ、ならびに図5図6の流れ図によって表されている方法を含むことができる。
【0047】
一般に、プログラムは、特定のタスクを実施し、または特定の抽象データ型を実装するルーチン、メソッド、データ構造、他のソフトウェアコンポーネントなどを含む。オペレーティングシステム720、アプリケーション722、モジュール724、および/またはデータ726のすべて、または一部分を、たとえば揮発性メモリ710など、メモリ内でキャッシュすることもできる。開示されているアーキテクチャは、様々な市販のオペレーティングシステム、またはオペレーティングシステムの組合せで(たとえば仮想マシンとして)実装することができることを理解されたい。
【0048】
(1つまたは複数の)記憶サブシステム714およびメモリサブシステム(706、718)は、データ、データ構造、コンピュータ実行可能命令などの揮発性記憶および不揮発性記憶のためのコンピュータ可読媒体として働く。コンピュータ可読媒体は、コンピュータ702によってアクセスすることができる任意の使用可能な媒体とすることができ、取外し式または非取外し式である、揮発性および不揮発性の内部媒体および/または外部媒体を含む。コンピュータ702に対して、これらの媒体は、任意の好適なデジタル形式でデータの記憶に対処する。開示されているアーキテクチャの新規な方法を実施するためのコンピュータ実行可能命令を記憶するために、zipドライブ、磁気テープ、フラッシュメモリカード、フラッシュドライブ、カートリッジなど、他のタイプのコンピュータ可読媒体を使用することができることを、当業者なら理解されたい。
【0049】
ユーザは、キーボードおよびマウスなど外部ユーザ入力デバイス728を使用して、コンピュータ702、プログラム、およびデータと対話することができる。他の外部ユーザ入力デバイス728は、マイクロフォン、IR(赤外線)遠隔制御、ジョイスティック、ゲームパッド、カメラ認識システム、スタイラスペン、タッチスクリーン、ジェスチャシステム(たとえば、目の動き、頭の動きなど)、および/または同様のものを含むことができる。ユーザは、たとえばコンピュータ702が可搬型コンピュータである場合、タッチパッド、マイクロフォン、キーボードなどオンボードユーザ入力デバイス730を使用して、コンピュータ702、プログラム、およびデータと対話することができる。これら、および他の入力デバイスは、(1つまたは複数の)入力/出力(I/O)デバイスインターフェース732を通って、システムバス708を介して(1つまたは複数の)処理ユニット704に接続されるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなど、他のインターフェースによって接続することができる。(1つまたは複数の)I/Oデバイスインターフェース732はまた、プリンタ、オーディオデバイス、カメラデバイスなど、ならびにサウンドカードおよび/またはオンボードオーディオ処理機能など、出力周辺機器734の使用を容易にする。
【0050】
1つまたは複数のグラフィックスインターフェース736(一般にグラフィックス処理ユニット(GPU)とも呼ばれる)は、コンピュータ702と、(1つまたは複数の)外部ディスプレイ738(たとえば、LCD、プラズマ)および/またはオンボードディスプレイ740(たとえば、可搬型コンピュータ用)との間でグラフィックス信号およびビデオ信号を送る。(1つまたは複数の)グラフィックスインターフェース736は、コンピュータシステム基板の一部として製造することもできる。
【0051】
コンピュータ702は、論理接続を使用して、1つまたは複数のネットワークおよび/または他のコンピュータに対する有線/無線通信サブシステム742を介して(たとえば、IPベースの)ネットワーク環境で動作することができる。これらの他のコンピュータは、ワークステーション、サーバ、ルータ、パーソナルコンピュータ、マイクロプロセッサをベースとするエンターテイメント機器、ピアデバイス、または他の共通ネットワークノードを含むことができ、一般に、コンピュータ702に関連して述べた要素の多数またはすべてを含む。論理接続は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ホットスポットなどに対する有線/無線接続を含むことができる。LANネットワーク環境およびWANネットワーク環境は、事務所および会社で一般的なものであり、イントラネットなど全社コンピュータネットワークの一助となり、それらのすべてが、インターネットなど大域的な通信ネットワークに接続することができる。
【0052】
コンピュータ702は、ネットワーク環境で使用されるとき、有線/無線通信サブシステム742(たとえば、ネットワークインターフェースアダプタ、オンボードトランシーバサブシステムなど)を介してネットワークに接続し、有線/無線ネットワーク、有線/無線プリンタ、有線/無線入力デバイス744などと通信する。コンピュータ702は、モデム、またはネットワークを介して通信を確立するための他の手段を含むことができる。ネットワーク環境では、コンピュータ702に関連するプログラムおよびデータを、分散システムに関連付けられている遠隔メモリ/記憶装置内に記憶することができる。図のネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用することができることを理解されたい。
【0053】
コンピュータ702は、IEEE802.xx標準ファミリなど無線技術を使用する有線/無線デバイスまたはエンティティ、たとえば、プリンタ、スキャナ、デスクトップおよび/または可搬型コンピュータ、携帯情報端末(PDA)、通信衛星、無線で検出可能なタグに関連付けられた何らかの機器または位置(たとえば、キオスク、新聞雑誌販売所、化粧室)、ならびに電話と無線通信(たとえば、IEEE802.11無線(over−the−air)変調技法)で動作可能に配置された無線デバイスなどと通信するように動作可能である。これは、少なくともホットスポット用Wi−Fi(またはWireless Fidelity)、WiMax、およびBluetooth(登録商標)無線技術を含む。したがって、通信は、従来のネットワークの場合と同様に予め定義された構造、または単に少なくとも2つのデバイス間のアドホックな通信とすることができる。Wi−Fiネットワークは、IEEE802.11x(a、b、c、など)と呼ばれる無線技術を使用し、安全、確実、高速な無線接続を提供する。Wi−Fiネットワークは、コンピュータを互いに接続する、インターネットに接続する、また(IEEE802.3関連の媒体および機能を使用する)有線ネットワークに接続するために使用することができる。
【0054】
また、図の態様は、通信ネットワークを介してリンクされる遠隔処理デバイスによってあるタスクが実施される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、ローカルおよび/または遠隔の記憶および/またはメモリシステムに位置することができる。
【0055】
次に、図8を参照すると、接続モデルの開発、変換、および実装のためのコンピューティング環境800の概略ブロック図が示されている。環境800は、1つまたは複数のクライアント802を含む。(1つまたは複数の)クライアント802は、ハードウェアおよび/またはソフトウェア(たとえば、スレッド、プロセス、コンピューティングデバイス)とすることができる。(1つまたは複数の)クライアント802は、たとえば(1つまたは複数の)クッキー、および/または関連のコンテキスト情報を収容することができる。
【0056】
環境800はまた、1つまたは複数のサーバ804を含む。(1つまたは複数の)サーバ804もまた、ハードウェアおよび/またはソフトウェア(たとえば、スレッド、プロセス、コンピューティングデバイス)とすることができる。サーバ804は、たとえば本アーキテクチャを使用することによって変換を実施するスレッドを収容することができる。クライアント802とサーバ804の間の1つの可能な通信は、2つ以上のコンピュータプロセス間で送信されるように適合されたデータパケットの形態をとることができる。データパケットは、クッキー、および/または関連のコンテキスト情報を含んでもよい。環境800は、(1つまたは複数の)クライアント802と(1つまたは複数の)サーバ804の間の通信を円滑にするために使用することができる通信フレームワーク806(たとえば、インターネットなど大域的な通信ネットワーク)を含む。
【0057】
通信は、有線(光ファイバを含む)および/または無線技術を介して円滑化することができる。(1つまたは複数の)クライアント802は、(1つまたは複数の)クライアント802にとってローカルな情報(たとえば、(1つまたは複数の)クッキー、および/または関連のコンテキスト情報)を記憶するために使用することができる1つまたは複数のクライアントデータストア808に動作可能に接続される。同様に、(1つまたは複数の)サーバ804は、(1つまたは複数の)サーバ804にとってローカルな情報を記憶するために使用することができる1つまたは複数のサーバデータストア810に動作可能に接続される。
【0058】
上述のものは、開示されているアーキテクチャの例を含む。当然ながら、コンポーネントおよび/または方法の考えられるあらゆる組合せについて述べることは可能でないが、当業者なら、多数の他の組合せおよび置き換えが可能であることを理解することができる。したがって、この新規なアーキテクチャは、添付の特許請求の範囲の精神および範囲内に入るそのような変更、修正、変形すべてを包含するものとする。さらに、「includes(含む)」という用語が詳細な説明または特許請求の範囲で使用されている場合、そのような用語は、「comprising(備える、含む)」が特許請求の範囲における転換語として使用されたとき解釈されるのと同様に、「comprising(備える、含む)」という用語と同様に包括的なものであることが意図されている。
図1
図2
図3
図4
図5
図6
図7
図8