JP2000504133A - 対話型アプリケーションのためのグループサーバー通信システム - Google Patents
対話型アプリケーションのためのグループサーバー通信システムInfo
- Publication number
- JP2000504133A JP2000504133A JP9527663A JP52766397A JP2000504133A JP 2000504133 A JP2000504133 A JP 2000504133A JP 9527663 A JP9527663 A JP 9527663A JP 52766397 A JP52766397 A JP 52766397A JP 2000504133 A JP2000504133 A JP 2000504133A
- Authority
- JP
- Japan
- Prior art keywords
- message
- address
- host
- network
- group
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 98
- 230000002452 interceptive effect Effects 0.000 title abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 116
- 230000004044 response Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims 7
- 230000009467 reduction Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 107
- 230000008569 process Effects 0.000 description 63
- 230000002776 aggregation Effects 0.000 description 36
- 238000004220 aggregation Methods 0.000 description 36
- 230000005540 biological transmission Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 20
- 238000009826 distribution Methods 0.000 description 11
- 239000000872 buffer Substances 0.000 description 10
- 238000013459 approach Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000013144 data compression Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 4
- 230000001629 suppression Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005304 joining Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000002716 delivery method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/327—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the session layer [OSI layer 5]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
(57)【要約】
ホストコンピュータ(58、59、60、61)およびグループ通信サーバー(62)を含むネットワークを通して対話型アプリケーションを展開する方法が開示される。方法は、従来のネットワークリンク、ユニキャストゲートウェイ、およびルーターよりなる従来のユニキャストネットワークアーキテクチャーで動作する。ホストは、ユニキャストによって宛先グループアドレスを含むメッセージをグループ通信サーバーに送る。グループアドレスは、グループ通信サーバーによって維持されるメッセージグループを選択する。各メッセージグループに対して、グループ通信サーバーはまた、特定のグループのメンバーであるすべてのホストのリスト(142)を維持する。この最も簡単な実現形態において、方法は、グループサーバーが宛先グループアドレスを含むホストからのメッセージを受け取ることを含む。グループアドレスを用いて、グループ通信サーバーは次に、グループへのメッセージの目的地であるグループのすべてのホストメンバーをリストするメッセージグループを選択する。グループ通信サーバーは次に、メッセージを各目的地ホストに送る。対話型アプリケーションでは、多くのメッセージは時間的に互いに接近してグループサーバーに到着する。単に各メッセージを目的地ホストに送るのではなく、グループ通信サーバーは、特定の期間中に受け取られた各メッセージの内容を集成して、集成メッセージを目的地ホストに送る。この方法は、ネットワーク化された対話型アプリケーション内のホスト間のメッセージ通信量を減らし、またホスト間の通信での待ち時間の減少に貢献する。
Description
【発明の詳細な説明】
対話型アプリケーションのためのグループサーバー通信システム
産業上の利用分野
本発明は、コンピュータネットワークシステムに関し、特に、メッセージレー
トおよび待ち時間を減少させるグループサーバ通信システムおよび方法に関する
。
発明の背景
今日、コンピュータシステム上で実行される対話型アプリケーションは広範囲
にわたっている。これらはすべて、ユーザに対するダイナミックな応答によって
特徴づけられる。ユーザは、コンピュータに入力を提供し、アプリケーションは
迅速に応答する。パーソナルコンピュータ(PC)上の対話型アプリケーション
の一般に普及している一例としてゲームが挙げられる。この場合、ユーザに対す
る迅速な応答とは、30ミリ秒と100ミリ秒との間で新しい画像を画面上に描
き出すことを意味し得る。ゲームなどの対話型アプリケーションは、内部タイム
ベースを用いてユーザとの対話速度を制御する。アプリケーションは、このタイ
ムベースを用いて、ユーザの入力がサンプリングされ、画面が再び描き出され、
サウンドが鳴らされるレートを引き出す。
コンピュータがより強力かつ一般的になるにつれて、コンピュータをネットワ
ークで接続することは重要になった。ネットワークは、ノードおよびリンクから
構成される。ノードは、リンクを介しかつ他のノードを通して、各ノードからネ
ットワーク内の他のノードのそれぞれにパスが存在するように接続されている。
各ノードは、少なくとも1つのリンクでネットワークに接続され得る。ノードは
さらに、ホスト、ゲートウェイ、およびルータに分類される。ホストは、1つの
リンクによってネットワークに接続されているコンピュータシステムである。ホ
ストは、メッセージを送信および受信することによってネットワーク上の他のノ
ードと通信する。ゲートウェイは、1つより多くのリンクによってネットワーク
に接続されているコンピュータシステムである。ゲートウェイは、ホストのよう
に他のノードと通信するだけでなく、それらのネットワークリンクの1つのリン
ク上のメッセージを他のネットワークリンク上の他のノードに転送する。メッセ
ージを転送するこの処理は、ルーティングと呼ばれる。メッセージを送信および
受信する機能、ならびにそれらのルーティング機能に加えて、ゲートウェイは、
ネットワーク内の他の機能を果たし得る。ルータは、1つより多くのリンクによ
ってネットワークに接続されているノードであり、その唯一の機能は、1つのネ
ットワークリンク上のメッセージをそのネットワークリンクが接続されている他
のネットワークリンクに転送することである。多くのネットワークリンクからな
るネットワークは、ゲートウェイを有するサブネットワークおよび/またはサブ
ネットワークを共に接続して、いわゆるインターネットを形成するルータのネッ
トワークであると考えられ得る。今日、世界的なインターネットの広範囲に知ら
れている例としては、フルタイムで世界的に、1995年では10、000、0
00より多くのコンピュータが接続されている、いわゆる「インターネット」で
ある。
単一の世界的なネットワーク上に非常に多くのコンピュータが存在するので、
多くの人々を、共同で使用されるネットワーク化された対話型アプリケーション
にまとめるネットワーク化された対話型アプリケーションを形成することが所望
される。残念なことに、このような共同で使用されるネットワーク化された対話
型アプリケーションの形成については、既存のネットワーク技術に制限されると
いう問題がある。
例えば、ネットワーク上で展開されるように設計され、多数のプレイヤーによ
って同時にプレイされるゲームについて考えてみよう。このようなゲームは、ネ
ットワークに接続されているPC上のソフトウェアにおいて実行され得る。レー
トは、その内部タイムベースによって設定され、ローカルユーザの入力がサンプ
リングされ、他のプレイヤーのPCからネットワークを通じてメッセージを受信
し、他のプレイヤーのPCにメッセージを送信する。典型的なレートは、100
ミリ秒の期間において1秒間あたり10回である。PC間で送信されるメッセー
ジは、すべてのPC間でゲームを一貫したものに維持するのに必要な情報を含む
。各プレイヤーが移動し得るように空間環境の錯覚を起こさせるゲームにおいて
は、パケットは、プレイヤーが移動するプレイヤーの新しい位置に関する情報を
含み得る。今日、ローカルエリアネットワーク(LAN)上で多数のプレイヤー
間で、またはモデムを用いて公衆電話回線を通して2人のプレイヤーでプレイさ
れ得るPCゲームが多く市販されている。このようなゲームによって送信される
ネットワークメッセージは、ゲームに特異的な広範囲な情報を含む。これには、
ゲーム内の他のプレイヤーに影響する、あるプレイヤーによって取られる特別な
アクションと共に、ゲーム内のオブジェクトの位置および速度情報が含まれ得る
。
モデムを介してプレイされる2人のプレイヤー用ゲームの場合は、特に簡単で
ある。メッセージレートが1秒当たり10メッセージである場合、各PCは、他
のPCに1秒当たり10メッセージを送信し、一秒当たり10メッセージを受信
する。モデムおよび電話回線によって導入される遅延は、小さく、大抵のゲーム
においては認識されない。残念なことに、ネットワーク化された対話型アプリケ
ーションでは、2人のプレイヤーの場合面白くない。LAN上で8人のプレイヤ
ーが同じゲームをプレイする場合、メッセージレートは増加する。各PCは、各
期間毎に他の7人のプレイヤーのそれぞれに1つずつ7個のメッセージを送らな
ければならず、同一の期間に他のプレイヤーから7個のメッセージを受け取る。
通信期間が100ミリ秒である場合、メッセージレートの合計は、1秒当たり7
0メッセージが送信され、1秒当たり70メッセージが受信される。これより理
解され得るように、メッセージレートは、ゲームのプレイヤーの数に対して直線
的に増加する。一般に普及しているLANによってサポートされているメッセー
ジレートおよびデータレートは、妥当なメッセージサイズで大多数のプレイヤー
をサポートするのに十分高い。残念なことに、LANは、市販のアプリケーショ
ン内でのみ展開され、ネットワーク化された対話型アプリケーションを消費者ユ
ーザに対して展開することについては考慮され得ない。
消費者ユーザが今日利用できる広エリアネットワークはすべて、モデムを用い
て公衆電話回線を通してアクセスされなければならない。モデム速度は、急速に
増加し、今では1秒当たり28.8キロビットのビットレートに到達した。これ
は、従来の電話回線の信号対ノイズ比によって設定される限界に近い。ISDN
を用いることによってさらに速度を増加させることが可能であるが、この技術は
、大量使用のために市場に出せる準備が整っていない。はるかに広い帯域幅を提
供する他の新しい広エリアネットワーキング技術について議論されているが、い
ずれも商業用に実用化するには至っていない。従って、ネットワーク化された対
話型アプリケーションを展開する場合、既存のネットワーキングおよび通信イン
フラストラクチャと共に動作するように展開させる必要がある。
8人のプレイヤー用のネットワーク化されたゲームを例に挙げて、プレイヤー
のそれぞれのPCがネットワークに1秒当たり28.8キロビットのモデムで接
続されている広エリアネットワークの実行について考えてみよう。この例で用い
られるネットワークを、ネットワークプロトコルおよびルーティング挙動のすべ
てがうまく定義され理解されるように、インターネットであると仮定しよう。ゲ
ームがTCP/IPを用いて、そのメッセージをゲーム内のPC間で送信する場
合、公衆電話回線を介したPPPプロトコルは、TCP/IPヘッダを圧縮する
ようにうまく利用され得る。それでも、典型的なメッセージは、約25バイトの
サイズである。これは、モデムを通して送信すると、250ビットである。メッ
セージは、ゲーム内の他のPCのそれぞれに対して1秒当たり10回で送信され
、他のPCから1秒当たり10回で受信される。これは、1秒当たり35.0キ
ロビットであり、モデムの能力を20%越えている。メッセージが20バイトに
減少すると、8人のプレイヤーしかサポートされ得ないが、このアプローチは、
明らかに、多数の参加者によって使用されるネットワーク化された対話型アプリ
ケーションをサポートし得ない。ネットワーク接続の帯域幅だけでなく、他の問
題がある。高パケットレートによって引き起こされる各PC上のローディングが
あり、送信用のパケットをすべて送信するのに必要な時間によって導入される待
ち時間がある。PCによって送信または受信される各パケットは、ある量の処理
時間を必要とする。パケットレートがゲーム内のプレイヤーの数と共に増加する
につれて、ゲームソフトウェア自体を走らせるために利用できるプロセッサの数
は減る。対話型アプリケーションにおいて待ち時間は重要である。なぜなら、待
ち時間は、システムの応答性を限定するからである。プレイヤーがそのシステム
上
で新しい入力を提供すると、その入力が即座に他のプレイヤーのすべてのシステ
ム上のゲームに影響を与えることが所望される。これは、特に、ゲームの結果が
、他のプレイヤーのアクションによって移動する標的を撃つプレイヤーに依存す
る任意のゲームにおいて特に重要である。この場合待ち時間は、プレイヤーが標
的を動かすように動作したときから、標的がゲーム内の他のプレイヤーの画面上
で移動するときまでの時間である。この待ち時間の主な部分は、メッセージをゲ
ーム内の他の7人のプレイヤーに送信する必要がある時間から生じる。この例に
おいて、メッセージを他の7人のプレイヤーに送信する時間は、約50ミリ秒で
ある。7人のうちの最初のプレイヤーがメッセージを迅速に受信してから、50
ミリ秒経過してから、7人のうちの最後のプレイヤーがメッセージを受信する。
インターネットプロトコルマルチキャスティング
上記のように、インターネットは、高エリアネットワークの広く知られている
例である。インターネットは、正式にはインターネットプロトコル(IP)と呼
ばれるプロトコルに基づいている。ネットワークプロトコルのレイヤーのOSI
基準モデルにおいて、IPは、レイヤー3またはネットワークレイヤープロトコ
ルに対応する。IPは、インターネット内の2つのノード間におけるパケットの
送信およびルーティングのためのサービスを提供する。アドレッシングモデルは
、ネットワーク内のすべてのノードに対して32ビットアドレスを提供し、すべ
てのパケットは、ソースおよび宛先アドレスを搬送する。IPはまた、インター
ネットワークにおけるネットワークリンク間のパケットのルーティングを規定す
る。ゲートウェイおよびルータは、受信するパケットの宛先アドレスに基づいて
ルーティング情報を参照するために用いられるテーブルを維持する。ルーティン
グ情報は、パケットが、ゲートウェイ/ルータに接続されたローカルネットワー
クリンク上でその宛先に直接到達可能であるかどうかをゲートウェイ/ルータに
知らせ、または、もし到達可能でない場合には、パケットが転送されるべきロー
カルネットワークリンクの1つのリンク上の他のゲートウェイ/ルータのアドレ
スを知らせる。IP以外には、レイヤー4搬送プロトコルTCPおよびUDPが
ある。UDPは、データグラムの信頼のおけるまたは秩序のある送達を保証しな
いアプ
リケーションにデータグラム送達サービスを提供する。TCPは、データストリ
ームの信頼のおける送達を提供するアプリケーションとの接続指向のサービスで
ある。TCPは、ストリームをパケットに分割し、信頼のおける秩序のある送達
を確実にする。Internet Society RFGs: RFC-791"Internet Protocol",RFC-793
"Transmission Control Protocol" and RFC-1180"A TCP/IP Tutorial"を参照の
こと。IP、TCPおよびUDPは、ユニキャストプロトコルであり、パケット
、ストリームまたはデータグラムは、ソースから単一の宛先に送信される。
例として、図1および図2を参照する。図1は、ホスト1、2、3および4、
ならびにネットワークリンク11、12、13、14、15、16、17、18
および19、ならびにルータ5、6、7、8、9および10を有する従来のユニ
キャストネットワークを示す。この例において、各ホストは、データペイロード
を他のホストのそれぞれに送信したい。ホスト1は、ネットワークアドレスA、
ホスト2は、ネットワークアドレスC、ホスト3は、ネットワークアドレスB、
およびホスト4は、ネットワークアドレスDを有する。既存のネットワークプロ
トコルは、通常、ソースアドレス、宛先アドレス、およびペイロードを含むパケ
ットフォーマットに基づいている。これは、IPなどの一般に用いられる広エリ
アネットワークプロトコルを示す。実際のIPパケットには他の構成要素がある
が、この例のために、これらのアイテムのみを考慮する。図2は、IPなどの従
来のユニキャストネットワークプロトコルを用いてホストによって互いに送信さ
れるパケットの例を示す。ホスト1は、パケット20をホスト3に、パケット2
1をホスト2に、パケット22をホスト4に送信する。ホスト1は、同一のデー
タP1を他の3つのホストのそれぞれに送信したいので、これらの3つのすべて
のパケットにおけるペイロードは同一である。パケット20は、ネットワークリ
ンク11、12、15および18を介して、ルータ5、6および8を通ってホス
ト3に到達する。同様に、ホスト3は、パケット23をホスト1に、パケット2
4をホスト2に、パケット25をホスト4に送信する。ホスト2および4は、パ
ケット26、27、28および29、30、31をそれぞれ他の3つのホストに
送信する。これらのパケットはすべて、ソースホストから宛先ホストまで個別に
ユニキャストネットワークによって搬送される。従って、この例では、各ホスト
は、そのペイロードを他の3つのホストに送信するために、3つのパケットを送
信し、3つのパケットを受信しなければならない。
理解され得るように、各ホストは、対話型アプリケーションにおいて通信を所
望する他のホストの各々にパケットを送信しなければならない。さらに、各ホス
トは、そのホストと通信を所望する他のホストの各々からパケットを受信する。
対話型アプリケーションにおいて、これは、規則的かつ高いレートで発生する。
互いに通信を所望するホストはすべて、1秒間に8から10回で互いにパケット
を送信する必要がある。この例のように4つのホストが互いに通信する場合、各
ホストは、1秒当たり8から10回で、3つのメッセージを送信し、3つのメッ
セージを受信する。互いに通信する必要があるアプリケーション内のホストの数
が増加するにつれて、メッセージレートは、従来の公衆回線ではサポートされ得
ないレートに到達する。これによって、ユニキャスト搬送プロトコルは、多数の
参加者に対して対話型アプリケーションを送達するには不適切となる。なぜなら
、これらを使用すると、参加者の数と共に増える高パケットレートの問題を引き
起こすからである。
IPプロトコルを拡張し、マルチキャスティングをサポートする試みがなされ
ている。RFC-1112"Host Extensions for IP Multicasting"を参照のこと。この
文献は、IPマルチキャスティングを可能にするIPプロトコルの一連の拡張に
ついて記載している。IPマルチキャスティングは、データグラムを単一の宛先
アドレスにアドレス指定することによって、IPデータグラムのホストグループ
への送信をサポートする。マルチキャストアドレスは、IPアドレス空間のサブ
セットであり、クラスD IPアドレス(これらは、高位4ビットにおける「1
110」を有するIPアドレスである)のサブセットである。ホストグループは
、ゼロまたはそれ以上のIPホストを含み、IPマルチキャスティングプロトコ
ルは、アドレス指定されるグループのすべてのメンバーにマルチキャストデータ
グラムを送信する。ホストは、ダイナミックにグループに参加およびグループか
ら離れ、マルチキャストデータグラムのルーティングは、マルチキャストルータ
およびゲートウェイによってサポートされる。マルチキャスト通信へのこの一般
的なアプローチを「分配マルチキャスト通信」として記載するのが適切である。
こ
れは、分配技術である。なぜなら、メッセージ送達および複製の仕事が、ネット
ワークを通じて、すべてのマルチキャストルータに分配されるからである。広エ
リアネットワークにおいて分配されたマルチキャスト通信を動作させるためには
、マルチキャストホストのルータ処理データグラムのすべてが、マルチキャスト
データグラムのルーティングをサポートしなければならない。このようなマルチ
キャストルータは、マルチキャストデータグラムをローカルホストに送達するた
めに、ローカルでルータに接続されたすべてのホストのマルチキャストグループ
メンバーシップを知らなければならない。マルチキャストルータはまた、ローカ
ルネットワークリンク上でマルチキャストパケットをルータに転送することがで
きなければならない。マルチキャストルータはまた、どのローカルルータ(もし
存在するならば)にマルチキャストデータグラムを転送しなければならないかを
決定しなければならない。マルチキャストルータによってマスチキャストデータ
グラムが受け取られると、そのグループアドレスは、グループアドレスの各ロー
カルマルチキャストルータ用のリストと比較される。一致した場合、データグラ
ムはそのローカルマルチキャストルータに転送される。従って、ネットワークに
おけるマルチキャストルータは、それらが、データグラムを転送するグループア
ドレスの正確かつ最新のデータリストを維持しなければならない。これらのリス
トは、ホストが、マルチキャストグループに参加またはグループから離れるとき
に更新される。ホストは、これを、インターネットグループ管理プロトコル(I
GMP)を用いてメッセージをそれらのすぐ近隣のマルチキャストルータに送信
することによって行う。分配マルチキャスト通信の他の属性は、ルータが、特定
のグループに関するグループのメンバーシップ情報を、ネットワークを通じてそ
のグループの転送トラヒックとなるすべての他のルータに伝搬しなければならな
いことである。RFC−1112は、どのようにしてこれが行われるかについて
記載していない。多くの様々なアプローチがこの問題を解決するために規定され
ているが、これらのアプローチについては、関連の従来技術の記載において後述
する。これらのアプローチはすべて、それらの相違にもかかわらず、マルチキャ
ストルータ間でマルチキャストルーティング情報を伝搬する方法および分配され
たマルチキャスト通信をサポートするインターネットワークにおけるマルチキャ
ス
トデータグラムのルーティングの技術である。
分配されたマルチキャスト通信アプローチは、多くの望ましくない副作用を有
する。すべての関連ルータへのグループメンバーシップ情報の伝搬プロセスは瞬
間的ではない。大きく複雑なネットワークにおいては、更新されたグループメン
バーシップ情報を受信しなければならないルータの数およびグループメンバーシ
ップ更新の情報が通過しなければならないルータの数に依存して非常に長い時間
かかり得る。このプロセスは、使用されるアルゴリズムの特性に応じて、優に数
秒および数分かかり得る。RFC−1112は、この問題およびマルチキャスト
通信のための実用的なルーティングアルゴリズムを実行することによって取り扱
われなければならない副作用のいくつかについて言及している。グループがダイ
ナミックに作成および破壊されるときに1つの問題が発生する。グループアドレ
スを割り当てるための中央管轄部がネットワーク内に存在しないため、分配ネッ
トワークにおいてグループアドレスの割当てを複製することは容易にできる。こ
れによって、正しくないデータグラム送達が行われ、ホストは、複製グループか
ら欲しくないデータグラムを受信することになる。これには、各ホストが欲しく
ないデータグラムをフィルターにかける方法が必要である。他の一連の問題は、
グループが作成され、破壊され、またはそのメンバーシップが変更されたときか
ら、データグラムをメンバーホストにルートする必要があるすべてのルータにこ
れらの変更が伝えられたときまでの時間遅延から生じる。ホストNが、参加メッ
セージをそのローカルルータに送信することによって既存のグループに参加する
場合を想定してみよう。グループはすでにネットワーク内でホストNから離れた
多数のルータホップであるホストMを含んでいる。ホストNがホストMに参加メ
ッセージを送信した直後、ホストMは、データグラムをグループに送信するが、
ホストMのローカルルータは、グループメンバーシップの変更を知らされていな
い。その結果、データグラムは、最終的にホストNに到達する、ルータからのネ
ットワーク内の唯一のパスであるホストMのローカルルータに接続されている特
定のネットワークリンクの1つに転送されない。その結果、Mのローカルルータ
がそのグループメンバーシップ情報を更新するまで、ホストNは、ホストMから
グループにアドレス指定されたデータグラムを受信しない。他の関連した問題も
発生し得る。ホストがグループを離れるとき、そのグループにアドレス指定され
たメッセージは、しばらくの間連続して、そのホストのローカルルータまでその
ホストにルートされる。ローカルルータは、そのホストのローカルネットワーク
にデータグラムをルートしないことは少なくとも知っている。それでも、迅速に
変更されるメンバーシップを有するアクティブなメッセージグループが多く存在
するときには、大きなネットワークにおいて、大量の不要なデータグラムが搬送
され得る。
最後に、分配マルチキャスト通信は、ホスト間のメッセージレートを十分に減
少させない。分配マルチキャスト通信では、各ホストは、メッセージをグループ
内の他のホストのすべてに送信するために、メッセージグループにアドレス指定
された1つのメッセージを送信するだけでよい。これは、1つのメッセージが、
グループ内の他のホストのそれぞれに送信されなければならない従来のユニキャ
スト通信よりも改善されている。しかし、分配マルチキャスト通信は、グループ
内の多数のホストが、時間的に近接したグループにメッセージを送信していると
きに、ホストのそれぞれにおいて受信したメッセージレートを減少させるために
何もしない。1秒当たり7回でメッセージをグループに送信する10個のホスト
グループの例に戻ろう。従来のユニキャスト通信では、各ホストは、1秒当たり
7回で9つのメッセージを他のホストに送信し、1秒当たり7回で9つのメッセ
ージを受信する必要がある。分配マルチキャスト通信では、各ホストは、すべて
のホストを含むグループに1秒当たり7回で1つのメッセージのみを送信する必
要があるが、1秒当たり7回で9つのメッセージを受信する。受信されるメッセ
ージの数をさらに減少させることが所望される。
分配マルチキャスティングの例を図3および図4に示す。図3は、マルチキャ
ストルータ39、40、41、42、43および44、ならびにホスト35、3
6、37および38、ならびにネットワークリンク45、46、47、48、4
9、50、51、52および53を有するネットワークを示す。4つのホストは
、ユニキャストネットワークアドレスA、B、CおよびDを有し、アドレスEを
有するメッセージグループのすべてのメンバーでもある。予め、メッセージグル
ープを作成し、各ホストは、マルチキャストルータのそれぞれがメッセージグル
ー
プを知り、適切なルーティング情報を有するように、メッセージグループに参加
した。マルチキャスト拡張を有するIPなどのネットワークプロトコルを、この
例において使用するものと仮定する。ホスト35は、ソースアドレスAおよび宛
先マルチキャストアドレスEを有するパケット54を全メッセージグループに送
信する。同様に、ホスト37はパケット55を全メッセージグループに送信し、
ホスト36はパケット56を全メッセージグループに送信し、ホスト38はパケ
ット57を全メッセージグループに送信する。パケットがマルチキャストルータ
によって取り扱われている間、パケットをグループのすべてのメンバーに送達さ
せるためにパケットは必要に応じて複製される。ホスト35によって送信される
パケットがどのようにして最終的に他のホストに送達されるかについて考えてみ
よう。パケット54は、ネットワークリンク45を介してマルチキャストルータ
39に搬送される。ルータは、そのルーティングテーブルから、マルチキャスト
パケットが、ネットワークリンク46および47に送信されなければならないこ
とを決定し、そのパケットを複製し、これらのネットワークリンクの両方にパケ
ットを送信する。パケットは、マルチキャストルータ40および43に受信され
る。マルチキャストルータ43は、パケットをネットワークリンク50に送信し
、ルータ40は、そのパケットをリンク48および49に送信する。次に、パケ
ットは、マルチキャストルータ44、42および41で受信される。ルータ41
は、パケットがホスト36によって受信される、ネットワークリンク51を介し
てパケットを送信する。ルータ42は、パケットをネットワークリンク52を介
してホスト37に送信し、ルータ44は、パケットをリンク53を介してホスト
38に送信する。ホストによってマルチキャストグループEに送信される他のパ
ケットのそれぞれについて、同様のプロセスが行われる。各ホストによって受信
される最後のパケットを図4に示す。
分配マルチキャスティングが、ネットワーク化された対話型アプリケーション
においてホストによって送信される必要があるメッセージの数を減少させる一方
、ホストが受信するメッセージの数に影響はない。グループメンバーシップが迅
速に変化し、マルチキャストルータの特別なネットワークインフラストラクチャ
を必要とするとき、分配マルチキャスティングは、挙動が良好でないという他の
欠
点を有する。分配マルチキャスティングはまた、メッセージの凝集をサポートせ
ず、また凝集することもできない。なぜなら、メッセージ送達は分配されている
からである。分配マルチキャスティングは、メッセージグループとユニキャスト
ホストアドレス間での論理的な動作を規定するメッセージもサポートしない。
これらの問題はすべて、分配マルチキャスト通信に対する設計目標に関連して
配置されると理解され得る。分配マルチキャスト通信は、グループが迅速に作成
され、変更され、破壊される対話型アプリケーションに対して設計されなかった
。その代わりに、分配マルチキャスト通信は、おそらく数分または数時間におい
て測定される比較的長期の間にわたってグループが作成、変更、および破壊され
るアプリケーションに対して最適化された。一例としては、すべての参加者が、
1時間連続し得る会議に対して特定の時間に接続されることに同意したビデオ会
議が挙げられる。他の例としては、おそらく数千または数百万で測定される、1
つのホストから多くの受信ホストへの音声または映像プログラムの送信が挙げら
れる。マルチキャストグループは、音声/映像プログラムの存続している間存在
する。ホストメンバーは、ダイナミックに参加および離れるが、このアプリケー
ションにおいて、接続が確立または切断される前に参加または離れたときからか
なりの時間遅延があることが受け入れられ得る。
IPおよびIPへのマルチキャスト拡張は、パケットのルーティングに基づい
ているが、非同期転送モード(ATM)を呼ばれる他の形式の広エリアネットワ
ーキング技術は、スイッチを介して固定サイズのセルを切り替えることに基づい
ている。データグラムおよび接続指向サービスの両方をサポートするIPと違っ
て、ATMは、基本的に接続指向である。ATMネットワークは、ポイントから
ポイントへのリンクによって相互に接続されているATMスイッチからなる。ホ
ストシステムは、ネットワークのリーブ(leaves)に接続されている。通信が、
ネットワークを通してホスト間で発生し得る前に、仮想の回路は、ネットワーク
にわってセットアップされなければならない。2つの形態の通信は、ATMネッ
トワークによってサポートされ得る。2つのホスト間の双方向のポイントからポ
イントへのおよび1つのホストから多数のホストへの一方向のポイントからマル
チポイントである。しかし、ATMは、どんな形態のマルチキャスティングも直
接サポートしない。ATMの他に、マルチキャスティングをレイヤー状にするた
めの多数の提案がなされている。1つのアプローチは、図8に示すマルチキャス
トサーバと呼ばれるものである。ホストシステム112、113、114および
115は、マルチキャストサーバ105に対してポイントからポイントへの接続
106、107、108および109をセットアップする。ATMセルは、これ
らのリンクを介してホストによってマルチキャストサーバへ送信される。マルチ
キャストサーバは、集合的にメッセージグループを構成するホストにポイントか
らマルチポイントへの接続111をセットアップする。グループにアドレス指定
されサーバに送信されるセルは、ポイントからマルチポイントへのリンク111
に転送される。ATMネットワーク110は、ホストとサーバとの間のすべての
接続を維持するための転送および切り替えを行う。ポイントからマルチポイント
への接続によって搬送されるセルは、分岐ネットワークリンク間のネットワーク
ツリーにおける分岐点におけるATMスイッチによって必要に応じて複製され、
分岐ネットワークリンクに転送される。従って、サーバではなく、ネットワーク
が、セルおよびそれらのペイロードの複製を行う。この方法は、対話型アプリケ
ーションに使用される場合、分配マルチキャスティングと同様の問題を有する。
各ホストは、他のホストのそれぞれから個々のセルを受信するので、単一のホス
トに標的付けられたセルのペイロードの凝集はない。ホストグループの一連のメ
ンバーに対する論理的な動作に基づいて、セルをホストにアドレス指定するサポ
ートはない。
関連の従来技術
本発明の分野に関連する既存の特許および欧州特許出願が多数ある。これらは
、2つの個別のカテゴリー:マルチキャストルーティング/分配およびソースか
ら宛先マルチキャストストリームに分類され得る。
マルチキャストルーティングおよび分配
これらの特許は、Cottonらによる米国特許第4,740,954号、Perlmanによる米国
特許第4,864,559号、Doeringerらによる米国特許第5,361,256号、Perlmanによる
米国特許第5,079,767号、およびCidonらによる米国特許第5,309,433号である。
これらの特許は、集合的に、分配マルチキャストネットワークにおけるデータグ
ラムのルーティングおよび分配に関する様々なアルゴリズムを網羅している。こ
れらの特許のいずれも、メッセージグループが迅速に変化したときに挙動が良好
でないなどの、このクラスのマルチキャストルーティングおよびメッセージ分配
について上述した問題を扱っていない。これらすべての特許において、メッセー
ジは、ルータの分配ネットワークを介して、ホストからグループのメンバーであ
る複数の宛先ホストに送信される。これらの特許は、分配マルチキャスティング
の改変を扱っているに過ぎないので、これらの特許は、受信メッセージのレート
を減少させる手段、メッセージを凝集する方法を提供せず、メッセージグループ
に対する論理動作を行うメッセージ内での方法を提供していない。
宛先マルチキャストストリームへのソース
これらは、PCTおよび欧州特許出願である。これらは、PerlmanらによるEP0
637 149 A2号、DanneelsらによるPCT/US94/11282号、およびSivakumarらによる
PCT/US94/11278号である。これらの3つの特許出願は、データス
トリームのソースからグループの宛先への送信を取り扱う。これらの特許出願の
いずれにおいても、グループの多数のメンバー間でのデータの送信方法について
は記載していない。これらのすべての出願において、データ送信は、ソースから
複数の宛先において行われる。これらの特許出願は、ポイントからマルチポイン
トへの通信のみを取り扱うので、これらの特許出願は、受信されたメッセージの
レートを減少させる手段、メッセージを凝集する方法を提供せず、メッセージグ
ループに対する論理的な動作を行うためのメッセージ内での方法を提供しない。
発明の要旨
本発明は、従来の広域通信ネットワークにわたる多数のホストコンピュータ間
の効率的な通信を促進することにより、多数のプレーヤー間でのコンピュータゲ
ームなどの対話型アプリケーションを実現することに関する。このようなアプリ
ケーションでは、各ホストは、対話型アプリケーションが各ホスト上で一致して
動作するのを保持するために他のホストが必要とする情報を互いにダイナミック
に送り合う。本発明は、ホスト間で情報の通信を行うためにホストが用いるメッ
セージグループの集合を維持するネットワークに接続するグループ通信サーバー
を含む。本発明はさらに、ホストおよびサーバーによって使用されるサーバー−
グループ通信プロトコルを含む。サーバー−グループ通信プロトコルは、ネット
ワークのトランスポートレベルプロトコル(TLP)の上層に位置し、上位レベ
ルプロトコル(またはULP)と呼ばれる。OSI基準モデルでは、ULPは、
トランスポートの上部に構築されたセッション層プロトコル、またはアプリケー
ション層プロトコルとして考えられ得る。ULPプロトコルは、TLPのアドレ
ススペースとは異なるサーバー−グループアドレススペースを用いる。ホストは
、ULPアドレススペース内のアドレスへのメッセージを、ネットワークの下層
のユニキャストトランスポートプロトコルを用いてグループ通信サーバーに送る
。ULPアドレススペースは、ユニキャストアドレス、暗黙グループ通信アドレ
ス、および論理グループ通信アドレスに区分される。暗黙および論理グループ通
信アドレスはまとめてグループ通信アドレスと呼ばれる。
ホストシステムは先ず、メッセージをいずれのULPアドレスに送る前にもグ
ループ通信サーバーへの接続を確立しなければならない。この接続を確立するプ
ロセスは、TLPメッセージをサーバーに送ることによって行われる。サーバー
は、ユニキャストULPアドレスをホストに割り当て、このアドレスを受け取り
通知メッセージに入れてホストに戻すことによって接続を確立する。接続が行わ
れると、ホストは、現存するメッセージグループについての問い合わせ、現存す
るメッセージグループへの参加、新しいメッセージグループの作成、参加してい
るメッセージグループからの離脱、およびサーバーの知っているULPアドレス
へのメッセージの送信を行うことができる。各メッセージグループは、タイプに
依存して暗黙または論理ULPアドレスのいずれかを割り当てられる。
図5は、グループ通信サーバー(「GMS」)を有する広域ネットワークの一
例を示す。ホスト58はTLPアドレスAおよびULPアドレスHを有し、ホス
ト59はTLPアドレスCおよびULPアドレスJを有し、ホスト60はTLP
アドレスBおよびULPアドレスIを有し、ホスト61はTLPアドレスDおよ
びULPアドレスKを有する。このネットワークは、ネットワークリンク69、
70、71、72、73、74、75、76、および77、ならびにユニキャス
トルーター63、64、65、66、67、および68よりなる従来のユニキャ
ストネットワークである。グループ通信サーバー62は、あるメッセージグルー
プに向けられたホストからのメッセージを受け取り、メッセージの内容をそのメ
ッセージグループのメンバーに送る。図6は、ホストからそのホストがメンバー
であるメッセージグループに送られるデータグラムの一例を示す。前述のように
、ここではIPなどのTLP(メッセージヘッダが発信元および宛先TLPアド
レスを含む)が使用されるものと仮定する。ホスト58は、ホストのTLP発信
元アドレスAとGMS62のための宛先TLPアドレスSとを含むメッセージ8
0を送る。宛先ULPアドレスGは、GMSによって扱われる暗黙ULPアドレ
スであり、ペイロードP1は、送られるデータとホストの発信元ULPアドレス
Hの両方を含む。ULPメッセージをGMSに送る前に、各ホストは既にGMS
への接続を確立し、メッセージグループGに参加しているものと仮定する。ホス
ト60は、データと発信元ULPアドレスIとを含むペイロードP2を有するメ
ッセージ81を送る。ホスト59は、データと発信元ULPアドレスJとを含む
ペイロードP3を有するメッセージ82を送る。ホスト61は、データと発信元
ULPアドレスKとを含むペイロードP4を有するメッセージ83を送る。GM
Sはこれらのメッセージのすべてを受け取り、各メッセージがメンバーH、I、
J、およびKを擁する暗黙メッセージグループGに向けられていることを知る。
GMSはこれらのペイロードを集成してまたは集成せずにメッセージの処理を行
う。図6は集成しない場合を示し、図7は集成する場合を示す。
集成しない場合、GMSは発信メッセージ84、85、86、87、88、8
9、90、91、92、93、94、および95を生成し、これらをホストに送
る。これらのデータグラムは、それぞれGMSおよびホストの発信元および宛先
TLPアドレスを含むTLPヘッダを有する。データグラムの次のフィールドは
データグラムの宛先ULPである。データグラム84および85は、TLPアド
レスAおよびULPアドレスHを有するホスト58に送られる。データグラム8
7、88、および89は、TLPアドレスBおよびULPアドレスIを有するホ
スト60に送られる。データグラム90、91、および92は、TLPアドレス
CおよびULPアドレスJを有するホスト59に送られる。データグラム93、
94、および95は、TLPアドレスDおよびULPアドレスKを有するホスト
61に送られる。各ホストが受け取ったペイロードから分かるように、各ホスト
は他の3つのホストからのペイロードを受け取っている。各ホストはそれ自体の
オリジナルメッセージのコピーは受け取っていないことに有意されたい。これは
GMSがエコー抑制を行ったからである。アプリケーションによっては、ホスト
が、自らもメンバーであるグループに送る各メッセージのエコーを受け取ること
が有用である場合もあるため、これはGMSの選択可能な属性である。図6の例
では、配信マルチキャスティングと同じメッセージ送達を本発明が如何に欠点な
く実現し得るかを示している。集成しない場合、本発明により、ホストが、単一
のメッセージを1つのメッセージグループのメンバーである多数の他のホストに
送ることが可能である。これにより、各ホストが他のホストに送らなければなら
ないメッセージの数が減るため、対話型アプリケーションでホストが処理しなけ
ればならないメッセージ通信量が減少する。しかし、集成しない場合は、ホスト
が受け取るメッセージ数は減らない。集成しない場合は、マルチキャストルータ
ーを有するネットワークを必要とせず、配信マルチキャスティングと同じメッセ
ージレートを実現することができる。インターネットなどの従来のユニキャスト
ネットワークを使用することができる。本発明はまた、ダイナミックグループメ
ンバーシップにより配信マルチキャスティングに生じる問題を回避する。グルー
プメンバーシップは極めて迅速に変更することができる。ホストからGMSにそ
れぞれ1つのユニキャストメッセージを送るだけで、グループの結成、参加、お
よび離脱が可能である。これらのメッセージはポイントからポイントへのメッセ
ージであり、ネットワーク全体にわたって伝播させる必要はなく、またルーター
内のルーティングテーブルを変更する必要もない。この迅速且つ正確にグループ
メンバーシップを変更できる能力は、ネットワーク化された対話型アプリケーシ
ョンの実現にとって重要である。ゲームによって作成される3次元空間を通して
広がる何百人ものプレーヤーをサポートする、多プレーヤー用コンピュータゲー
ムについて考えてみる。他のプレーヤーは視野から外れた他の領域にいるため、
常時見ることができ互いに影響し合うことができるのは2〜3人のプレーヤーだ
けである。各プレーヤーのコンピュータからのデータをネットワークに伝送する
ために従来の電話線を使用すると、各プレーヤーのすべてのアクションを他のす
べてのプレーヤーに送ることは不可能である。しかし、常時近くには2〜3人の
プレーヤーしかいないため、これを行う必要はない。必要なのは、互いに近くに
いるプレーヤー間のデータを送ることだけである。これらのプレーヤー「グルー
プ」が当然ながら本発明のメッセージグループに写像する。プレーヤーがゲーム
の3次元空間を移動するに従って、プレーヤーは必要に応じてメッセージグルー
プへの参加およびメッセージグループからの離脱を行う。これが迅速に行われな
い場合は、ゲームの対話性が制約されるか、またはゲーム内の異なるプレーヤー
間で結果が一致しない事態が生じる。
本発明はまた、単一のホストに向けられた多数のメッセージのメッセージペイ
ロードを単一のより大きなメッセージへと集成することが可能である。これは、
メッセージのすべてがホストに送られる前にGMSによって受け取られるため、
可能となる。図7は、これがどのように働くかの一例を示す。ホストは、図5で
既に規定された同じアドレスを用いて、図6に示すのと全く同じ方法でGMSに
メッセージを送る。ホスト58はメッセージ96を送り、ホスト60はメッセー
ジ97を送り、ホスト59はメッセージ98を送り、ホスト61はメッセージ9
9を送る。GMSはこれらのメッセージのすべてを受け取り、発信メッセージ1
00、101、102、および103を作成する。これらのメッセージを作成す
るプロセスについては、発明の詳細な説明において詳細に説明する。各メッセー
ジは単一のホストに向けられ、多数のペイロード項目を有する集成ペイロードを
含む。メッセージ100は、ホスト58のための宛先ULPアドレスHと、ホス
ト59、60、および61からのメッセージに含まれる集成ペイロードP2、P
3、およびP4とを有する。メッセージ101はホスト60を宛先とし、102
はホスト59を宛先とし、メッセージ103はホスト61を宛先とする。分かり
得るように、各ホストは1つのメッセージを送り、1つのメッセージを受け取る
。受け取られたメッセージは長く、多数のペイロードを含むが、これは、多数の
メッセージヘッダおよびメッセージ処理時間のためのの無駄な費用を掛けて多数
の
メッセージを受け取ることに較べると著しい改善である。全体的に、本発明は、
各ホストが送信および受信しなければならないデータ量を飛躍的に低減させる。
モデムを使用する従来の電話線を通してのビットレートは低いため、送信および
受信しなければならないデータ量の削減は、直接、ホスト間のメッセージ通信に
おける時間および待ち時間期を向上させる。
ホストは、ULPプロトコルでのGMSへのコントロールメッセージを用いて
、メッセージグループの作成、参加、および離脱を行う。ホストはまた、GMS
に格納されているアプリケーション特異的ステート情報の読み出しおよび書き込
みを行い得る。ホストがメッセージを他のホストに送ると、メッセージは少なく
とも暗黙グループアドレスに向けられなければならない。ULP暗黙アドレスは
いつでも、1つのホストから別のホストへのメッセージ内の主要アドレスであり
得る。メッセージは、選択的に、補助宛先アドレスを特定してもよい。多くの場
合、暗黙ULPアドレスがメッセージ内の唯一の宛先ULPアドレスである。G
MSは、暗黙メッセージグループに向けられたULPメッセージの、グループの
メンバーであるすべてのホストへの送達を扱う。ULP送信メッセージは、暗黙
ULPアドレスの主要宛先に加えて、選択的に、補助アドレスのアドレスリスト
を特定し得る。この補助アドレスリストは、ユニキャストおよび論理ULPアド
レスのみを含み得る。アドレスリストはまた、ユニキャストアドレスおよび論理
グループによって規定されるホストULPアドレス集合間で行われる集合演算子
を特定し得る。アドレスリストが処理されホスト集合を生成すると、この集合は
、メッセージ内の主要暗黙ULPアドレスによって特定される暗黙メッセージグ
ループのメンバーであるホストの集合と交差する。このメッセージグループにお
ける論理集合演算子を行う能力は、対話型アプリケーションでは非常に有用であ
る。これにより、単一のULPメッセージが、送信しているホストがアドレスリ
スト内のグループのメンバーについて何かを知る必要なく、計算された基準の集
合に適合するホストに選択的にメッセージを送達することが可能になる。ゲーム
によって創成される3次元環境内で何百人のプレーヤーとネットワーク化された
ゲームを行う例を再び取り上げる。プレーヤーのすべてが互いに対話を行い得る
ゲームのうちのある領域内のすべてのゲームプレーヤーよりなる暗黙メッセージ
グル
ープについて考える。プレーヤーは多数のチームに分かれているものとする。ゲ
ーム内の各チーム毎に論理メッセージグループが作成され得る。1つのチームに
属するこの領域内のプレーヤーのすべてに対してメッセージを送るためには、U
LPメッセージは、選択されたチームに属するすべてのプレーヤーのための論理
メッセージグループの補助アドレスを有する、その領域内のすべてのプレーヤー
のためのULP暗黙メッセージグループに送られ得る。GMSは、得られるメッ
セージを目標ホストに送る前に、適切な集合共通部分化を行い得る。この結果、
メッセージはゲームの選択された領域内の選択されたチームに属するプレーヤー
のみに送達され得る。
要約すれば、本発明は、全体的なメッセージレートを低減し、待ち時間を低減
する方法を提供することによって、広域ネットワーク上で多数の参加者のための
対話型アプリケーションを展開するという問題を取り扱う。本発明は、上述の「
配信マルチキャスト通信」方法に対抗するものとして、サーバーグループ通信方
法を使用する。本発明は、配信マルチキャスト通信方法の望ましくない副作用を
克服する。さらに、本発明はホスト間のメッセージレートを低減させる。上述の
例で指摘したように、従来の配信マルチキャスト通信では、各ホストは、すべて
のホストを含むグループに1つのメッセージを毎秒7回送るだけでよいが、9つ
のメッセージを毎秒7回受け取る。サーバーグループ通信の本発明では、各ホス
トは1つのメッセージを毎秒7回送り、1つのメッセージを毎秒7回受け取る。
本発明は、米国特許第4,740,954号、第4,864,559号、第5,361,256号、第5,079
,767号、および5,309,433号に開示されたマルチキャストルーティングおよび配
信方法とは異なる。これらの特許は、配信マルチキャスティングの変形例のみに
関するものであるため、受信メッセージレートを低減する手段、メッセージを集
成する方法、およびメッセージグループで論理演算を行うメッセージ内の方法を
提供しない。これは、多数のホストから1つのメッセージグループに向けられた
メッセージがグループサーバーによって受け取られ、グループサーバーがメッセ
ージの内容を処理しその結果を宛先ホストに伝送する本発明とは異なる。
本発明はまた、EP 0 637 149 A2、PCT/US94/11282、およびPCT/US94/11278に
開示された宛先マルチキャストストリーム方法とは異なる。これらの参照のすべ
てにおいて、データ伝送は発信元から複数の指定先へと行われるが、本発明は、
送信しているホストからサーバホストシステムへ、次にサーバーホストから宛先
ホストへのデータ伝送について記載している。
本発明の上記のおよび他の特徴および利点は、添付の図面を参照して以下に述
びる発明の詳細な説明のより理解され得る。
図面の説明
図1は、ホスト、ネットワークリンク、およびルーターよりなる従来のユニキ
ャストネットワークを示す。
図2は、4つのホスト間で対話型アプリケーションを実現するのに必要な従来
のユニキャストネットワーク上のユニキャストデータグラムを示す。
図3は、ホスト、ネットワークリンク、およびマルチキャストルーターよりな
る従来のマルチキャストネットワークを示す。
図4は、4つのホスト間で対話型アプリケーションを実現するのに必要な従来
のマルチキャストネットワーク上のマルチキャストデータグラムを示す。
図5は、本発明のグループ通信サーバーを備えたユニキャストネットワークを
示す。
図6は、4つのホスト間で対話型アプリケーションを実現するのに必要な、本
発明のネットワーク上のペイロードの集成を行わないULPデータグラムを示す
。
図7は、4つのホスト間で対話型アプリケーションを実現するのに必要な、本
発明のネットワーク上のペイロードの集成を行わうULPデータグラムを示す。
図8は、マルチキャストサーバーを有する従来のATMネットワークを示す。
図9は、本発明のULPメッセージのための詳細なデータグラムフォーマット
およびアドレスフォーマットを示す。
図10は、本発明のGMSの内部機能を示す。
図11は、本発明のULPをサポートするのに必要なホストソフトウェアイン
タフェースおよび機能を示す。
発明の詳細な説明
本発明は、多数のユーザ間で対話型アプリケーションを実現するために、多数
のホストコンピュータが広域ネットワークにわたって互いに効率的に情報を通信
する方法を提供する。この方法は3つの成分、ホストプロトコルインタフェース
、プロトコル、およびサーバーよりなる。プロトコルは、ホストプロトコルイン
タフェースとサーバーとの間に位置し、広域ネットワークのネットワークトラン
スポートプロトコルの上層に実現される。このプロトコルは、現存するネットワ
ークトランスポートレベルプロトコル(TLP)より上の層に位置するため上位
レベルプロトコル(ULP)と呼ばれる。OSI基準モデルでは、このプロトコ
ルは、ネットワークのトランスポート層の上層のセッション層プロトコルとして
説明され得る。図11は、対話型アプリケーション150およびトランスポート
レベルプロトコルのためのホストインタフェース153に対するホストプロトコ
ルインタフェース151を示す。ネットワークインタフェース155は、ホスト
のネットワークへの物理的な接続を提供する。ネットワーク通信スタック154
は、ホストとトランスポートレベルプロトコル153のためのホストインタフェ
ースとのためのネットワークトランスポートサービスを提供し、ホストアプリケ
ーションソフトウェアとネットワーク通信スタックのネットワークトランスポー
トサービスとの間のインタフェースである。
対話型アプリケーションは、TLPへのホストインタフェースを用いて従来の
ネットワークメッセージを送信および受信することができる。対話型アプリケー
ションはまた、ULPのためのホストインタフェースを通してULPメッセージ
を送信および受信することができる。ULPのためのホストインタフェースの内
部にはテーブル152が配備され、ホストはそのすべてのULPアドレスにメッ
セージを送ることができる。テーブルの各エントリは一対のアドレス、ULPア
ドレスおよびその対応するTLPアドレスを含む。ホストがメッセージをULP
アドレスに送ると、そのメッセージは、そのULPアドレスに対応するTLPア
ドレスに送られるTLPメッセージに組み込まれる。これにより、ULPメッセ
ージを現存するネットワークのトランスポートメカニズムによってトランスパレ
ントに取り扱うことができる。ULPの中心的な機能は、ホストが多数のホスト
が集合したメッセージグループにメッセージを送るグループ通信である。これに
より、ホストは、1つのULPメッセージで多数のホストにメッセージを送るこ
とができる。ULPはTLPの上層に位置しているため、ULPのグループ通信
機能は、TLPメッセージを1つのホストから他の唯1つのホストにしか送るこ
とができない従来のユニキャストネットワーク上で作動する。
グループベース通信は、グループ通信サーバーと呼ばれるサーバーを用いるこ
とにより実現される。ホストからのすべてのULPメッセージは、TLPプロト
コルを用いてホストからグループ通信サーバーに送られる。サーバーはメッセー
ジのULP部分を処理して、ULPメッセージによって必要とされる必要部分を
取り出す。コントロールULPメッセージがサーバーによって局所的に処理され
、送信ホストに受け取り通知が送付される。他のホストに向けられたULPメッ
セージはグループ通信サーバーによって処理され、適切なULP宛先ホストに再
伝送される。この場合も、TLPプロトコルを用いてこれらのメッセージの組み
込みおよびトランスポートが行われる。
図5では、ホスト58、59、60、および61は、グループ通信サーバー6
2を用いて従来のユニキャストネットワークを通してULPを用いて互いにメッ
セージを送る。ネットワークは、従来のネットワークリンク69、70、71、
72、73、74、75、76、および77と接続する従来のルーター63、6
4、65、66、67、および68より構成される。ホスト58は、ULPメッ
セージグループである宛先アドレスを特定している単一のULPメッセージをグ
ループ通信サーバー62に送ることによって、メッセージをホスト59、60、
および61に送ることができる。ULPメッセージはグループ通信サーバーに向
けられるTLPメッセージに組み込まれる。これにより、メッセージはルーター
63によってネットワークリンク71へ、次にルーター67へ、さらにサーバー
62へと適切に送られる。グループ通信サーバーはULPメッセージを受け取り
、このメッセージがホスト59、60、および61をメンバーとして含むメッセ
ージグループに向けれられたものであると決定する。サーバーは受け取ったメッ
セージのペイロードをホストのそれぞれに、3つのホストに個別に送られる3つ
の新しいULPメッセージとして送る。各メッセージはTLPメッセージに組み
込まれているため、メッセージは従来のユニキャストネットワークを通して適切
に
送信される。第1のULPメッセージはグループ通信サーバーによってホスト6
1に送られる。このメッセージはネットワークリンク71、70、72、および
75、ならびにルーター67、63、64、および65によって運ばれる。第2
のULPメッセージはグループ通信サーバーによってホスト60に送られる。こ
のメッセージはネットワークリンク71、70、73、および76、ならびにル
ーター67、63、64、および66によって運ばれる。第3のULPメッセー
ジはグループ通信サーバーによってホスト61に送られる。このメッセージはネ
ットワークリンク74および77、ならびにルーター67および68によって運
ばれる。
本発明は、データグラム形態および接続志向形態の両方で実現され得る。本発
明の詳細を最良に理解するためには、先ずデータグラムでの実現について考慮す
るのが最良である。
データグラムトランスポートによる実現化
ULPは、アドレス、メッセージタイプの情報、およびメッセージペイロード
を、下層ネットワークトランスポートプロトコルのデータグラム内に組み込むこ
とによって、データグラムプロトコルとして実現され得る。ULPデータグラム
メッセージフォーマットの一般的な形態を図9に、要素123、124、125
、126、127、128、および129として示す。トランスポートヘッダ1
23は、ULPデータグラムを組み込むTLPのデータグラムヘッダである。U
LPメッセージタイプフィールド124は、送信メッセージであるか受信メッセ
ージであるか、コントロールメッセージであるかステートメッセージであるかを
示す。下記の表はいくつかのメッセージタイプを示す。ULPメッセージタイプ
フィールドはULPデータグラム内に存在しなければならない。 メッセージタイプ
1 送信
2 受信
3 コントロール送信
4 コントロール受信
5 ステート送信
6 ステート受信
送信メッセージは常にホストからグループ通信サーバーに送られる。グループ
サーバーからホストへのメッセージは常に受信メッセージである。コントロール
送信メッセージは、ホストからグループ通信サーバーへのコントロール機能を実
行するように要求するメッセージである。コントロール受信メッセージは、先の
コントロール送信メッセージに応答してグループ通信サーバーからホストへの受
け取り通知である。ステート送信および受信メッセージは、ホストがグループ通
信サーバー内に格納されたアプリケーション特異的ステートの読み出しおよび書
き込みを可能にする、コントロール送信および受信の特別な場合である。ULP
によってサポートされる特定のコントロール機能については後述する。
宛先ULPアドレス125はULPデータグラムで必要とされ、ULPメッセ
ージの主要宛先を特定する。アドレスカウントフィールド126はULP送信メ
ッセージタイプで必要とされ、ULP受信メッセージタイプには存在しない。U
LP送信メッセージ内のアドレスカウントフィールドがゼロでないときは、これ
はアドレスカウントフィールドに続く送信メッセージのための補助宛先アドレス
の数を特定する。これらの補助宛先アドレスは項目127および128として示
されているが、アドレスカウントフィールドによって特定される分だけの補助U
LP宛先アドレスが存在することは理解される。最後にペイロード129が続く
。
ULPデータグラムのためのペイロードフォーマットは、項目116、117
、118、119、120、121、および122によって規定される。項目1
16はメッセージカウントであり、ペイロード内に含まれるペイロード要素の数
を規定する。1つのペイロード要素は、発信元ULPアドレス、データ長、およ
びデータの三つ組よりなる。項目117、118、および119がペイロードの
第1のペイロード要素を構成する。項目117は、ペイロード要素の発信元のU
LPアドレスであり、項目118はペイロード要素内のデータのデータ長であり
、項目119は実際のデータである。項目120、121、および122はペイ
ロ
ードの最後のペイロード要素を構成する。ULP送信メッセージは、単一のペイ
ロード要素を有するペイロードのみをサポートする。従って、メッセージカウン
トは1に等しくなければならない。ULP受信メッセージは1つ以上のペイロー
ド要素を有するペイロードを有し得る。
ULPアドレススペース
ULPのアドレススペースは3つのセグメント、すなわち、ユニキャストホス
トアドレス、暗黙グループアドレス、および論理グループアドレスに分割される
。ULPのすべての発信元および宛先アドレスはこのアドレススペース内に存在
しなければならない。ULPアドレススペースは1つのグループ通信サーバーに
固有のものである。従って、各グループ通信サーバーは固有のULPアドレスス
ペースを有する。各ULPデータグラムはTLPのヘッダを含むため、多数のグ
ループ通信サーバーがネットワークに接続され得、ホストは混乱なく多数のグル
ープ通信サーバーと通信し得る。異なるグループ通信サーバーは、多数のULP
アドレススペースを固有に識別するためにホストによって使用され得る固有のT
LPアドレスを有し得る。ULPアドレスのためのフォーマットを図9に項目1
30、131、よび132で示す。アドレスフォーマットフィールド130は、
多数のアドレス長のサポートが可能なように使用される可変長フィールドである
。アドレスタイプフィールド131はULPアドレスのタイプ、すなわち、ユニ
キャストホスト、暗黙グループ、または論理グループを示す。符号化は以下の通
りである。 アドレスタイプ符号化
00 ユニキャストホストアドレス
01 ユニキャストホストアドレス
10 暗黙グループアドレス
11 論理グループアドレス
アドレスフォーマット符号化により、アドレスフィールドの長さ、従ってUL
Pアドレスの全長が決定される。この符号化について以下に示す。アドレスタイ
プがユニキャストホストアドレスを特定するときは、アドレスタイプフィールド
bの下位ビットはアドレスフィールドに連結され、アドレスの最重要ビットとな
る。これにより、ユニキャストホストアドレスのためのアドレススペースのサイ
ズが二倍になる。これは、通常ホストはグループ通信サーバーより多いため、有
用である。 アドレスフォーマット符号化
0 29ビットアドレスフィールド
10 4ビットアドレスフィールド
110 11ビットアドレスフィールド
ULPユニキャストホストアドレスは、グループ通信サーバーに最初に接続す
るとき各ホストに割り当てられる。ホストが他のULPアドレスにメッセージを
送るとき、ホストのユニキャストULPアドレスが受信したペイロード要素内の
発信元ULPアドレスとして現れる。ユニキャストULPホストアドレスはまた
、ULP送信メッセージ内の補助アドレスとしてのみ宛先アドレスとして使用さ
れ得る。これらは主要ULP宛先アドレスとして使用することはできない。これ
は、ホストはULPを直接互いに送ることはできず、常にグループ通信サーバー
を通してメッセージを互いに送らなければならないことを意味する。
暗黙グループアドレスは、暗黙メッセージグループの作成を要求するグループ
通信サーバーへのコントロールメッセージに応答して、グループ通信サーバーに
よって作成される。暗黙メッセージグループの作成を要求するホストは、これが
作成されるとそのメッセージグループのメンバーとなる。他のホストは、グルー
プ通信サーバーへ問い合わせコントロールメッセージを送って、その存在を知り
、次にこのグループに参加するために暗黙グループ参加メッセージを送ることが
できる。グループ通信サーバーは、暗黙メッセージグループのメンバーであるホ
ストのULPアドレスリストを維持する。暗黙ULPグループアドレスのみが、
ULP送信メッセージの主要宛先であることを許されるULPアドレスである。
暗
黙ULPアドレスは、ペイロード要素内のULP発信元アドレスとして現れるこ
とはない。
論理ULPアドレスは、論理メッセージグループに対して、およびULP送信
メッセージ内の補助ULPアドレスのグループメンバー間の集合演算を特定する
ための両方に用いられる。論理メッセージグループは、暗黙メッセージグループ
と同様に、作成および参加が行われるが、論理ULPアドレスは、ULP送信メ
ッセージ内の補助ULPアドレスとしてのみ使用され得る。論理ULPアドレス
もまた、ペイロード要素内の発信元ULPアドレスとして現れることはない。U
LP送信メッセージの一部としてのメッセージグループ間の集合演算のサポート
については、ULP送信メッセージについての後のセクションで説明する。
グループ通信サーバーの内部機能
グループ通信サーバーの内部要素を図10に示す。
好適な実施形態では、グループ通信サーバーは、広域ネットワークに接続させ
るネットワークインタフェースを有する汎用コンピュータシステムである。項目
135はグループ通信サーバーのためのネットワークインタフェースであり、ネ
ットワークへのハードウェア接続のみでなく、サーバーにTLPを実現するため
に使用される通信プロトコルスタックを含む。
項目136は、グループ通信サーバーのための全体的なコントロール機能であ
る。このコントロール機能は、GMSによって送信または受信されるすべてのU
LPメッセージを受け持つ。このコントロール機能の内部には、いくつかの重要
な格納および処理機能が存在する。項目137は、GMSに現在接続しているす
べてのホストのためのアドレスマップである。このアドレスマップは、GMSに
接続する各ホストのULPホストアドレスおよびこれに対応するTLPアドレス
のリストである。これにより、コントロール機能が、GMSに接続されたホスト
にULPメッセージを送るために必要なTLPヘッダを構築するのが可能となる
。項目138は、GMSによって現在認識されている現在アクティブな暗黙UL
Pアドレスすべてのリストである。項目139は、アプリケーション特異的ステ
ートの格納および処理機能である。ネットワークを通じて展開される多くの対話
型
アプリケーションが、ホストベースの処理のみによって実現され得る。このよう
な場合には、ホスト間で送る必要のあるすべてのデータがULPを用いてトラン
スポートされ得る。しかし、アプリケーションによっては、アプリケーションの
ステート情報を中心に格納し維持し続ける必要があるものがある。これは、ホス
トがダイナミックにアプリケーションへの参加または離脱を行うときには有用で
ある。ホストがこのようなアプリケーションに参加するとき、既にアプリケーシ
ョンのどこかの部分にいる他のホストと一致するために、アプリケーションの現
在のステートについての速写を得ることができる位置を必要とする。このステー
ト格納領域の読み出しおよび書き込みを行うために、ULPはステート送信およ
び受信メッセージタイプをサポートする。これらのメッセージ内には、ステート
の異なる部分が個別にアクセスされ得るようにステートアドレススペースにアク
セスする能力がある。このステート格納領域に書き込まれたアプリケーション特
異的なステート処理もまた実現され得る。
項目140および141は、GMS上で走る多数のULPサーバープロセスの
うちの2つである。これらは、ULPの心臓部に存在するソフトウェアプロセス
である。GMSによって認識される各暗黙ULPアドレスは、ULPサーバープ
ロセスおよびこのプロセスによって維持されるメッセージグループに1対1の対
応を有する。すべてのULP送信メッセージは、メッセージの主要宛先アドレス
として暗黙ULPアドレスを持たなくてはならないため、すべてのULP送信メ
ッセージはULPサーバープロセスに送られ、そこで処理される。これらのプロ
セスは、ULPコントロールメッセージに応答してGMSコントロール機能によ
って作成され、新しい暗黙ULPアドレスを作成する。これらは、そのメッセー
ジグループのメンバーである最後のホストがメッセージグループを離脱すると、
破壊される。ULPサーバープロセスの内部には、メッセージグループのメンバ
ーのULPホストアドレスのリスト142、メッセージグループのメンバーであ
る各ホストのためのメッセージキューセット143、および単一のホストへの多
数のメッセージを単一のメッセージへと集成するために使用されるメッセージ集
成機能149が存在する。
項目145は、GMS内の論理ULPアドレスおよびメッセージグループすべ
てのリストを維持する。項目144および146は、多数の論理ULPアドレス
のうちの2つを表す。各論理ULPアドレスに対しては、論理メッセージグルー
プのメンバーのホストULPアドレスの対応するリスト147および148が存
在する。論理メッセージグループは特定のULPサーバープロセスにつながって
はおらず、ULPサーバープロセスのすべてに対してGMSとグローバルの関係
にある。
コントロール機能
コントロール機能は、接続、切断、グループ作成、グループ閉鎖、グループ参
加、グループ問い合わせ、グループメンバー問い合わせ、グループ属性問い合わ
せよりなる。これらのコントロール機能は、ULPコントロール送信および受信
メッセージによって実現される。コントロール機能は、ホストがULPコントロ
ール送信メッセージをGMSに送ることによって開始される。これらのメッセー
ジは、メッセージ内に主要ULP宛先アドレスのみを許可し、補助アドレスは許
可しない。主要ULPアドレスは、上述に列挙したコントロール機能のそれぞれ
に割り当てられる固有の固定アドレスを有するコントロールアドレススペースと
して解釈される。ペイロード内のデータの内容により、コントロール機能が必要
とする引数が供給される。コントロール機能からの戻り値は、データの戻しが行
われている最初のコントロールメッセージを送ったホストに向けられるULPコ
ントロール受信メッセージで戻される。これらのコントロール機能の詳細な動作
については後述する。接続
このコントロール機能により、ホストはGMSに接続することができる。メッ
セージ内の宛先ULPアドレスが接続機能を示す固定アドレスである。ペイロー
ド内の発信元ULPアドレスおよびすべてのデータが無視される。
このメッセージを受け取ると、GMSコントロール機能136は、新しいホス
トアドレスを作成し、このホストアドレスを、メッセージのTLPヘッダからの
発信元TLPアドレスと共に、ホストアドレスマップ136内に入れる。これが
成功裏に完了すると、GMSコントロール機能は、ホスト接続が成功したことを
示す、ペイロードのデータ部分内の機能コードと共に、コントロール受信ULP
メッセージをホストに送る。メッセージ内の宛先ULPアドレスは、ホストに割
り当てられたULPアドレスである。ホストはこれを保存して、将来GMSにメ
ッセージを送るときに使用する。エラーが発生した場合は、コントロール機能は
、ホスト接続が失敗したことを示す、ペイロードのデータ部分内の機能コードと
共に、ホストにメッセージを戻す。切断
この機能により、ホストはGMSからの切断が可能になる。メッセージ内の宛
先ULPアドレスが切断機能を示す固定アドレスである。発信元ULPアドレス
は、切断を行う前にホストを暗黙または論理グループのメンバーシップから離脱
させるために使用される。ペイロード内のすべてのデータは無視される。GMS
コントロール機能はまた、ホストアドレスマップからホストのエントリを除去す
る。成功裏に完了すると、GMSコントロール機能は、ホストの切断が成功した
ことを示す、ペイロードのデータ部分内の機能コードと共に、コントロール受信
ULPメッセージをホストに送る。メッセージ内の宛先ULPアドレスは、ホス
トに割り当てられたULPアドレスである。エラーが発生した場合は、コントロ
ール機能は、ホスト切断が失敗したことを示す、ペイロードのデータ部分内の機
能コードと共に、ホストにメッセージを戻す。暗黙グループ作成
この機能により、ホストは新しい暗黙メッセージグループならびに関連する暗
黙ULPアドレスおよびサーバープロセスを作成することができる。メッセージ
内のペイロードは単一のペイロード項目を含み得、このデータフィールドがグル
ープの属性を保持する。これらの属性はグループのいずれの選択的機能を規定す
るためにも使用され得る。メッセージ内の宛先ULPアドレスが暗黙グループ作
成機能を示す固定アドレスである。GMSコントロール機能は新しい暗黙ULP
アドレスを割り当て、これを暗黙ULPアドレスリスト138に加え、新しいU
LPサーバープロセス140を作成する。このメッセージを送るホストは、暗黙
グループのメンバーシップリストに加えられる。これは、メッセージ内の発信元
ULPアドレスをULPサーバープロセス内のグループメンバーシップリスト1
42に加えることによって行われる。成功裏に完了すると、GMSコントロール
機能は、暗黙グループ作成が成功したことを示す、ペイロードのデータ部分内の
機能コードと共に、コントロール受信ULPメッセージをホストに送る。ペイロ
ード内の発信元ULPアドレスは新しい暗黙グループに割り当てられたULPア
ドレスである。エラーが発生した場合は、コントロール機能は、暗黙グループ作
成が失敗したことを示す、ペイロードのデータ部分内の機能コードと共に、ホス
トにメッセージを戻す。論理グループ作成
この機能により、ホストは新しい論理メッセージグループおよび関連する論理
ULPアドレスを作成することができる。メッセージ内のペイロードは単一のペ
イロード項目を含み得、このデータフィールドがグループの属性を保持する。こ
れらの属性はグループのいずれの選択的機能を規定するためにも使用され得る。
メッセージ内の宛先ULPアドレスは、論理グループ作成機能を示す固定アドレ
スである。GMSコントロール機能は新しい論理ULPアドレスを割り当て、こ
れを論理ULPアドレスリスト145に加える。このメッセージを送るホストは
、論理グループのメンバーシップリストに加えられる。これは、メッセージ内の
発信元ULPアドレスを新しい論理メッセージグループ144のためのグループ
メンバーシップリスト147に加えることによって行われる。成功裏に完了する
と、GMSコントロール機能は、論理グループ作成が成功したことを示す、ペイ
ロードのデータ部分内の機能コードと共に、コントロール受信ULPメッセージ
をホストに送る。ペイロード内の発信元ULPアドレスは、新しい論理グループ
に割り当てられたULPアドレスである。エラーが発生した場合は、コントロー
ル機能は、論理グループ作成が失敗したことを示す、ペイロードのデータ部分内
の機能コードと共に、ホストにメッセージを戻す。グループ参加
この機能により、ホストは現存する論理または暗黙メッセージグループに参加
することができる。メッセージ内の宛先ULPアドレスがグループ参加機能を示
す固定アドレスである。ペイロードのデータ部分は、参加する予定のグループの
ULPアドレスを含む。GMSコントロール機能はこのアドレスを調べて、これ
bが暗黙ULPアドレスであるか論理ULPアドレスであるかどうかを決定する
。これが暗黙ULPアドレスである場合は、GMSコントロール機能は、メッセ
ージペイロード内のアドレスによって選択されたULPサーバープロセスを見い
出して、メッセージからの発信元ULPホストアドレスをグループメンバーシッ
プリスト142に加える。これが論理ULPアドレスである場合は、GMSコン
トロール機能はメッセージペイロード内のアドレスによって選択された論理UL
Pアドレス144を見い出して、メッセージからの発信元ULPホストアドレス
をグループメンバーシップリスト147に加える。成功裏に完了すると、GMS
コントロール機能は、グループ参加が成功したことを示す、ペイロードのデータ
部分内の機能コードと共に、コントロール受信ULPメッセージをホストに送る
。ペイロード内の発信元ULPアドレスが参加したグループのULPアドレスで
ある。エラーが発生した場合は、コントロール機能は、グループ作成が失敗した
ことを示す、ペイロードのデータ部分内の機能コードと共に、ホストにメッセー
ジを戻す。グループ離脱
この機能により、ホストはメンバーである現存する論理または暗黙メッセージ
グループから離脱することができる。メッセージ内の宛先ULPアドレスがグル
ープ離脱機能を示す固定アドレスである。ペイロードのデータ部分は、離脱する
予定のグループのULPアドレスを含む。GMSコントロール機能はこのアドレ
スを調べて、これが暗黙ULPアドレスであるか論理ULPアドレスであるかど
うかを決定する。これが暗黙ULPアドレスである場合は、GMSコントロール
機能は、メッセージペイロード内のアドレスによって選択されるULPサーバー
プロセスを見い出して、メッセージからの発信元ULPホストアドレスをグルー
プメンバーシップリスト142から除去する。このホストがグループの最後のメ
ンバーである場合は、ULPサーバープロセスは終了し、この暗黙ULPアドレ
スの割り当てが除去される。これが論理ULPアドレスである場合は、GMSコ
ントロール機能はメッセージペイロード内のアドレスによって選択される論理U
LPアドレス144を見い出して、メッセージからの発信元ULPホストアドレ
スをグループメンバーシップリスト147から除去する。ホストがグループの最
後のメンバーであれば、ULPアドレスは割り当てられない。成功裏に完了する
と、GMSコントロール機能は、グループ離脱が成功したことを示す、ペイロー
ドのデータ部分内の機能コードと共に、コントロール受信ULPメッセージをホ
ストに送る。エラーが発生した場合は、コントロール機能は、グループ作成が失
敗したことを示す、ペイロードのデータ部分内の機能コードと共に、ホストにメ
ッセージを戻す。グループ問い合わせ
この機能により、ホストはGMS上で現在アクティブである暗黙または論理メ
ッセージグループのリストを手に入れることができる。メッセージ内の宛先UL
Pアドレスがグループ問い合わせ機能を示す固定アドレスである。ペイロードの
すべてのデータ部分は無視される。成功裏に完了すると、GMSコントロール機
能は、多数のペイロード要素を有するペイロードと共に、コントロール受信UL
Pメッセージをホストに送る。最初のペイロード要素はグループ問い合わせが成
功したことを示す機能コードを含む。最初のペイロード要素内の発信元ULPア
ドレスは無視される。後に続くペイロード要素のそれぞれは、GMS上のアクテ
ィブなグループアドレスのうちの1つであるペイロード要素の発信元アドレスフ
ィールド内のULPグループアドレスを含む。これら後に続くペイロード要素に
はデータフィールドはない。エラーが発生した場合は、コントロール機能は、グ
ループ問い合わせが失敗したことを示す、単一のペイロード要素を有するペイロ
ードのデータ部分内の機能コードと共に、ホストにメッセージを戻す。グループメンバー問い合わせ
この機能により、ホストはメッセージグループのメンバーであるすべてのホス
トのリストを手に入れることができる。メッセージ内の宛先ULPアドレスがグ
ループメンバー問い合わせ機能を示す固定アドレスである。ペイロードのデータ
部分が、問い合わせを行うメッセージグループのアドレスを有する。成功裏に完
了すると、GMSコントロール機能は、多数のペイロード要素を有するペイロー
ドと共に、コントロール受信ULPメッセージをホストに送る。最初のペイロー
ド要素はグループメンバー問い合わせが成功したことを示す機能コードを含む。
最初のペイロード要素内の発信元ULPアドレスは無視される。後に続くペイロ
ード要素のそれぞれは、GMS上のアクティブなグループアドレスのうちの1つ
であるペイロード要素の発信元アドレスフィールド内のULPグループアドレス
を含む。これら後に続くペイロード要素にはデータフィールドはない。エラーが
発生した場合は、コントロール機能は、グループメンバー問い合わせが失敗した
ことを示す、単一のペイロード要素を有するペイロードのデータ部分内の機能コ
ードと共に、ホストにメッセージを戻す。グループ属性問い合わせ
この機能により、ホストはメッセージグループの属性のリストを手に入れるこ
とができる。メッセージ内の宛先ULPアドレスがグループ属性問い合わせ機能
を示す固定アドレスである。ペイロードのデータ部分が、問い合わせを行うメッ
セージグループのアドレスを有する。成功裏に完了すると、GMSコントロール
機能は、2つのペイロード要素を有するペイロードと共に、コントロール受信U
LPメッセージをホストに送る。最初のペイロード要素は、グループ属性問い合
わせが成功したことを示す機能コードを含む。第2のペイロード要素はメッセー
ジグループの属性を含む。エラーが発生した場合は、コントロール機能は、グル
ープ属性問い合わせが失敗したことを示す、単一のペイロード要素を有するペイ
ロードのデータ部分内の機能コードと共に、ホストにメッセージを戻す。
送信メッセージ動作
送信メッセージ機能の動作を十分に理解するために、多くの個別のケースにつ
いて考えるのは無駄ではない。単一の暗黙宛先
最も簡単なケースは、メッセージを単一の暗黙ULPアドレスに送ることであ
る。すべての送信メッセージデータグラムでは、宛先ULPアドレス125は暗
黙ULPアドレスでなければならない。この単一の暗黙宛先のケースでは、これ
がデータグラム内の唯一の宛先アドレスである。補助アドレスカウント126は
ゼロであり、補助宛先アドレス127または128は存在しない。ペイロードは
、1であるメッセージカウント116、発信元ULPアドレス117内のメッセ
ージを送るホストのULP、データ長118、およびデータ119よりなる。送
信メッセージデータグラムは、1つのペイロード項目しか持たないため、メッセ
ージカウントフィールド116は常に1でなければならない。
ホストは、データグラムをメッセージの選択された目標であるGMSに向ける
TLPヘッダと共に、送信メッセージをネットワークに送る。GMSはメッセー
ジを受け取り、GMSコントロール機能136が、これは送信メッセージデータ
グラムであると決定し、その暗黙ULPアドレスリスト138内の暗黙宛先アド
レスを調べる。アドレスが存在しない場合は、ULP受信メッセージデータグラ
ムと共にエラーメッセージが送信ホストへ戻される。アドレスが有効である場合
は、GMSコントロール機能により、TLPヘッダがデータグラムから除去され
、ULP部分を宛先暗黙ULPアドレスに対応するULPサーバープロセスに送
る。説明のために、これがULPサーバープロセス140であると仮定する。U
LPサーバープロセス140は、メッセージ117、118、および119から
単一のペイロード項目を取り出して、このペイロード項目をメッセージキュー1
43のそれぞれに配置する。ULPサーバープロセス140によって奉仕される
メッセージグループの各メンバーに対して1つのメッセージキューが存在し得る
。グループの各メンバーは、ホストアドレスリスト142に列挙されているそれ
ぞれのホストULPアドレスを有し得る。ULPサーバープロセス内の各メッセ
ージキューは、特定の宛先ホストを目標とするペイロード項目で満たされ得る。
ペイロード項目がキューから取り出されホストに送られるメカニズムについては
後述する。補助ユニキャスト宛先
このケースでは、暗黙宛先125に加えて、データグラムには1つの補助アド
レス127もまた存在する。補助アドレスカウント126は1であり、補助宛先
アドレス127はユニキャストホストULPアドレスである。ペイロードは、1
であるメッセージカウント116、発信元ULPアドレス117内のメッセージ
を送るホストのULP、データ長118、およびデータ119よりなる。
ホストは、データグラムをメッセージの選択された目標であるGMSに向ける
TLPヘッダと共に、送信メッセージをネットワーク上に送る。GMSはメッセ
ージを受け取り、GMSコントロール機能136が、これは送信メッセージデー
タグラムであると決定し、その暗黙ULPアドレスリスト138内の暗黙宛先ア
ドレス、およびホストアドレスマップ137内のユニキャストホストULP補助
アドレスを調べる。これらのアドレスのいずれも存在しない場合は、送信ホスト
に、ULP受信メッセージデータグラムと共にエラーメッセージが戻される。ア
ドレスが有効である場合は、GMSコントロール機能により、TLPヘッダがデ
ータグラムから除去され、ULP部分が宛先暗黙ULPアドレスに対応するUL
Pサーバープロセスに送られる。説明のために、これがULPサーバープロセス
140であると仮定する。ULPサーバープロセスは、メッセージから補助UL
Pアドレスを取り出して、このアドレスからこれがユニキャストホストULPア
ドレスであると決定する。サーバープロセスは次に、このアドレスがホストアド
レスリスト142によって規定されるメッセージグループのメンバーであるかど
うかを調べる。メンバーでない場合は、これ以上のアクションは行われず、メッ
セージ内のペイロード項目はメッセージキュー143のいずれにも配置されない
。ホストアドレスがメッセージグループ内にある場合は、メッセージ内のペイロ
ード項目は、そのホストに対応する単一のメッセージキュー内に配置される。こ
の正味の効果は、ULPサーバープロセスが、暗黙ULP宛先アドレスによって
選択されグループメンバーシップリスト142によって規定されたメッセージグ
ループのメンバーに、補助アドレスによって規定されるホストセットのメンバー
と共に、集合共通部分演算を行ったということである。次にペイロード項目は、
こ
の集合共通部分のメンバーであるホストのみに送られる。補助論理宛先
このケースでは、暗黙宛先125に加えて、データグラムには1つの補助アド
レス127もまた存在する。補助アドレスカウント126は1であり、補助宛先
アドレス127は論理ULPアドレスである。ペイロードは、1であるメッセー
ジカウント116、発信元ULPアドレス117内のメッセージを送るホストの
ULP、データ長118、およびデータ119よりなる。
ホストは、データグラムをメッセージの選択された目標であるGMSに向ける
TLPヘッダと共に、送信メッセージをネットワーク上に送る。GMSはメッセ
ージを受け取り、GMSコントロール機能136が、これは送信メッセージデー
タグラムであると決定し、その暗黙ULPアドレスリスト138内の暗黙宛先ア
ドレス、および論理ULPアドレスリスト145内の論理ULP補助アドレスを
調べる。これらのアドレスのいずれも存在しない場合は、送信ホストに、ULP
受信メッセージデータグラムと共にエラーメッセージが戻される。アドレスが有
効である場合は、GMSコントロール機能により、TLPヘッダがデータグラム
から除去され、ULP部分が宛先暗黙ULPアドレスに対応するULPサーバー
プロセスに送られる。説明のために、これがULPサーバープロセス140であ
ると仮定する。ULPサーバープロセスは、メッセージから補助ULPアドレス
を取り出して、このアドレスからこれが論理ULPアドレスであると決定する。
この例では、この論理ULPアドレスが論理アドレス144であると仮定する。
サーバープロセスは、論理アドレスに対応するグループメンバーシップリスト1
47を調べて、サーバープロセスのグループメンバーシップリスト142との集
合共通部分演算を行う。この集合共通部分にメンバーが存在しない場合は、これ
以上のアクションは行われず、メッセージ内のペイロード項目はメッセージキュ
ー143のいずれにも配置されない。集合共通部分演算のメンバーが存在する場
合は、メッセージ内のペイロード項目は、集合共通部分のメンバーであるホスト
に対応するキューに配置される。論理演算を伴う多数の補助アドレス
最も高度な形態では、送信メッセージは、ULPサーバープロセスの暗黙メッ
セージグループと多数の論理およびユニキャストULPアドレスとの間で集合演
算を行うことができる。これは、メッセージ内の多数の補助宛先ULPアドレス
を、アドレスリストに埋め込まれた論理演算子と共に配置することによって行わ
れる。アドレスカウント126は、アドレスリスト127および128内のすべ
ての補助アドレスのカウントを保持する。補助アドレスは、論理ULPアドレス
とユニキャストホストULPアドレスの混合である。ULPアドレススペース内
の2つの論理ULPアドレスが、論理メッセージグループとメッセージリスト内
のユニキャストホストアドレスとの間で行われる集合演算を特定化する役割を割
り当てられる。これらは、機能である集合共通部分、和集合のために特に割り当
てられたアドレスである。集合の補完体を示すためには、第3の論理アドレスが
用いられる。ペイロードは、1であるメッセージカウント116、発信元ULP
アドレス117内のメッセージを送るホストのULP、データ長118、および
データ119よりなる。
ホストは、データグラムをメッセージの選択された目標であるGMSに向ける
TLPヘッダと共に、送信メッセージをネットワーク上に送る。GMSはメッセ
ージを受け取り、GMSコントロール機能136が、これは送信メッセージデー
タグラムであると決定し、暗黙ULPアドレスリスト138内の暗黙ULPメッ
セージ、およびホストULPアドレスマップ137かまたは論理ULPアドレス
リスト145のいずれかの適切な方のアドレスリスト内のすべてのアドレスを調
べる。いずれのアドレスも存在しない場合は、ULP受信メッセージデータグラ
ムと共に、エラーメッセージが送信ホストに戻される。アドレスが有効である場
合は、GMSコントロール機能により、TLPヘッダがデータグラムから除去さ
れ、ULP部分を宛先暗黙ULPアドレスに対応するULPサーバープロセスに
b送る。説明のために、これがULPサーバープロセス140であると仮定する
。ULPサーバープロセスは、メッセージから補助ULPアドレスを取り出して
、これを始めから終わりまで走査する。集合演算子の走査および処理はポストフ
ィックス方式で行われる。これは、引数が読み出され、続いて演算子が読み出さ
れ、
これが次に引数に適用されることを意味する。演算子の結果は次の演算の最初の
引数になる。従って、走査の開始時には2つのアドレスがアドレスリストから読
み出される。次のアドレスはこれらの引数に適用される演算子であり、この演算
子の結果が、次の演算子によって使用される最初の引数である。これ以降は、1
つのアドレスがアドレスリストから読み出され、続いて論理ULPアドレスが読
み出され、これは新しい引数と最後の演算子の結果とからなる2つの引数におけ
る演算子である。集合補完を示すために用いられる論理アドレスは集合演算子で
はなく、引数限定子である。何故なら、これはアドレスリスト内のいかなるアド
レスにも先行し得るからである。集合補完引数限定子の意味は、送信メッセージ
内の暗黙グループアドレスのグループメンバーシップに関連する。集合補完限定
子が、送信メッセージ内の暗黙ULPアドレスによって選択されるメッセージグ
ループのメンバーではないユニキャストホストアドレスに先行する場合は、有効
引数は、暗黙メッセージグループのメンバーであるすべてのホストの集合である
。集合補完限定子が、送信メッセージ内の暗黙ULPアドレスによって選択され
るメッセージグループのメンバーであるユニキャストホストアドレスに先行する
場合は、有効引数は、補完関数によって限定されるオリジナルのユニキャストホ
ストアドレス以外の暗黙メッセージグループのメンバーであるすべてのホストの
集合である。集合補完限定子が論理ULPアドレスに先行する場合は、有効引数
は、集合補完限定子によって先行される論理メッセージグループのメンバーであ
るホスト以外の、送信メッセージによって特定される暗黙メッセージグループの
メンバーであるすべてのホストの集合である。アドレスリスト全体がホストの単
一の結果集合となるように処理されると、この集合、および送信メッセージ内の
暗黙アドレスによって規定される暗黙メッセージグループ142のメンバーの集
合について集合共通部分演算が行われる。この集合共通部分にメンバーが存在し
ない場合は、もはやアクションは行われず、メッセージ内のペイロード項目はメ
ッセージキュー143のいずれにも配置されない。集合共通部分演算のメンバー
が存在する場合は、メッセージ内のペイロード項目は、集合共通部分のメンバー
であるホストに対応するキューに配置される。
メッセージ送達および集成
メッセージがULPサーバープロセス内のメッセージキューに入れられると、
これらが最終的に目標ホストに送達され得るには様々な方法がある。本発明では
、送達方法は、暗黙ULPメッセージグループおよびサーバープロセスが作成さ
れるときに提供される属性によってULPサーバープロセス毎に設定される。こ
れらの方法についての記述においては、本発明は、ネットワーク化された対話型
アプリケーションを実現中はホストグループが互いに高速でメッセージを送る効
率的な手段を提供するように意図されていることを念頭に置くことが重要である
。また、以下の記述においては、GMSは、ホストが自らの属するグループにメ
ッセージを送るときエコー抑制を行うものと仮定する。このことは、ホストはグ
ループへのそれ自体のメッセージのコピーを、単一の非集成メッセージとしても
集成メッセージ内のペイロード項目としても受け取らないことを意味する。これ
は、ULPサーバープロセスの属性によって制御され、エコー抑制を停止するよ
うに変更され得るが、エコー抑制がデフォルトである。即時送達
最も簡単な送達方法は、ペイロード項目がメッセージキュー内に置かれると直
ちにそれらの目標ホストに即時送達することである。メッセージキュー内の各ペ
イロード項目は、ULP発信元アドレス、データ長、および送付されるデータを
含み得る。即時送達を実現するためには、ULPサーバープロセスは、特定のホ
スト143のためのメッセージキューからペイロード項目を取り出す。このホス
トのためのホストアドレスは、グループメンバーシップリスト142から得られ
得る。ペイロード項目および宛先ホストアドレスがGMSコントロール機能13
6に送られ、そこで宛先ホストに送られるULP受信メッセージを作成するため
に用いられる。GMSコントロール機能136は宛先ULPホストアドレスを用
いて、ホストアドレスマップ137からホストのTLPアドレスを調べる。これ
は、メッセージのためのTLPヘッダ123を作成するために用いられ得る。U
LPメッセージタイプ124はULP受信であり、宛先ULPアドレス125は
宛先ホストであり、アドレスカウントはで0であり、補助アドレスは存在しない
。
このケースでのペイロードは、1であるメッセージカウント116を有し、フィ
ールド117、118、および119よりなるペイロード項目がメッセージキュ
ーから取り出されるペイロード要素となる。
即時送達は、ホストグループ間のメッセージレートが低いとき有用である。グ
ループの各メンバーが固定レートでグループの他のメンバーすべてにメッセージ
を送る、暗黙メッセージグループのメンバーである4つのホストについて考える
。即時送達では、各ホストは固定レートでグループの他のメンバーに3つのメッ
セージを送り、またグループの他のメンバーから3つのメッセージを受け取る。
これは、グループのサイズが小さくメッセージレートが低い場合は受容可能であ
る。しかし、全メッセージレートは、基本メッセージレートとグループの全メン
バー数マイナス1との積であることは明らかである。このことから、大きなグル
ープおよび対話度の高いメッセージレートに対してはメッセージレートが受容範
囲を超えて高くなり過ぎることは明らかである。毎秒10個のメッセージという
基本メッセージレートを有する20のメンバーよりなるグループでは、各ホスト
におおいて毎秒190個のメッセージの送信および190個のメッセージの受信
という全メッセージレートが得られる。このメッセージレートは、インターネッ
トなどの従来の広域ネットワークへの従来のダイアルアップ接続ではサポート不
能となり得る。集成
本発明の中心的な概念は、メッセージキュー内の多数のメッセージを、ペイロ
ード内に多数のペイロード項目を含むホストへの単一のULP受信メッセージへ
と集成することである。ULPサーバープロセス140はホストのためのメッセ
ージキュー143からペイロード項目を取り出し、これらを集成バッファ149
内に蓄積する。集成バッファは、メッセージキューを有する各ホストのためのバ
ッファ領域を有する。集成バッファ内のこれらの個別のホスト領域は、ホスト集
成バッファと呼ばれる。この集成期間の開始および終了は、次のセクションで述
べる多くの方法で制御され得る。集成期間の終了時には、各ホスト集成バッファ
は、多数のペイロード項目を保持し得る。ホスト集成バッファは、ペイロード項
目のメッセージカウントを保持し、これに多数のペイロード項目が続く。ホスト
集成バッファの内容は、対応するホストのULPホストアドレスと共に、GMS
コントロール機能136に送られ、ここで、宛先ホストに送られるULP受信メ
ッセージを作成するために使用される。GMSコントロール機能136は、宛先
ULPホストアドレスを用いて、ホストアドレスマップ137からホストのTL
Pアドレスを調べる。これは、メッセージのためのTLPヘッダ123を作成す
るために使用され得る。ULPメッセージタイプ124はULP受信であり、宛
先ULPアドレス125は宛先ホストであり、アドレスカウントは0であり、補
助アドレスは存在しない。このケースでのペイロードは、メッセージカウント1
16をホスト集成バッファからのメッセージカウント値によって設定する。ペイ
ロードは、ホスト集成バッファからのペイロード項目すべてを含み得る。
集成の効果は、ホストによって受け取られる全メッセージレートを大幅に低減
させ得ることである。ホストへの単一のメッセージが、集成期間中に他のホスト
から受信される多数のペイロード項目を運ぶことが可能となり得る。これは、ホ
ストグループが定期的なレートでグループ内の他のホストすべてにメッセージを
送っている本発明の対話型アプリケーションに非常に良好に適合する。集成は、
他のホストすべてからのメッセージすべてをグループの各メンバーのための単一
のメッセージへとまとめるのに非常に効果的であり得る。これにより、多くの個
別のメッセージではなく単一のメッセージを受け取るため、各受信ホストでの処
理が低減する。また、集成は各ペイロード項目のために個別のメッセージヘッダ
を設ける必要をなくすため、ホストへの全データレートを低減させ得る。多数の
ペイロード項目に対してフィールド123、124、および125よりなる唯1
つのメッセージヘッダしか存在しないため、小さなペイロード項目にとってはこ
の節約は重要である。ホストグループが定期的なレートでグループにメッセージ
を送る場合、多くの対話型アプリケーションでは、各ホストがグループに送るデ
ータが他のホストが送るメッセージに非常に類似していることが多い。このため
、多数のペイロード項目が集成されたペイロード内で、ペイロード要素の多数の
データ要素にわたってデータ圧縮方法を適用する機会が与えられる。これには様
々な既知のデータ圧縮方法が適用され得る。最初のペイロード項目内の最初のデ
ー
タ要素は非圧縮形態で送られ、これに続く各データ要素は、ある形態の差異符号
化方法を用いて圧縮される。様々な既知のデータ圧縮方法が、符号化される予測
値からの差異を有する予測子の概念を用いる。集成されたペイロード内の最初の
データ要素がこの予測子として用いられ得、これに続くデータ要素はこのような
データ圧縮方法を用いて符号化される。これらの従来のデータ圧縮方法は、圧縮
するデータ要素の一部の内部構造または機能についてのいかなる知識も仮定しな
い。符号化の効率性を暗黙的にもっと高くするために、このような知識を利用す
るアプリケーション特異的符号化方法を用いることも可能である。サーバー等時
集成期間を規定し得る1つの方法として、サーバー等時またはSIと呼ばれる
ものがある。この方法では、ULPサーバープロセスが、集成期間を規定するた
めの均一時間ベースを規定する。この時間ベースは3つのパラメータ、すなわち
期間、集成オフセット、および伝送オフセット、によって規定される。これらの
パラメータは、暗黙グループおよびULPサーバープロセスが作成されるとき、
暗黙グループ作成コントロール機能に提供される属性によって設定される。期間
は、固定時間間隔であり、この間に、ULPサーバープロセスがメッセージキュ
ー内にメッセージを蓄積し、キュー内のメッセージを集成し、そして集成された
メッセージを目標ホストに送る。集成オフセットは、期間の開始後のある時点を
規定する。期間の開始後は、到着メッセージは次の期間での送達のためにメッセ
ージキュー内に格納される。従って、期間開始後の集成オフセットでは、各メッ
セージキュー内のすべてのメッセージの速写が得られる。新しいメッセージが続
いて到着し集成オフセット後のキューに入れられる。集成オフセット時点より前
のキュー内のメッセージのみが発信メッセージへと集成されることになる。得ら
れる集成メッセージは次に、期間の開始後の伝送オフセットである時点で、それ
らの目標ホストに送られ得る。この結果、メッセージは連続して到着しメッセー
ジキューに格納される。各期間に1回、メッセージは、メッセージの目標である
各ホストへの単一のメッセージへと集成され、各期間に1回、これらの集成メッ
セージはホストに送られる。
SI方法の別の実施形態として、ULPサーバープロセスは、受信メッセージ
レートおよび/または受信データレートなどのある基準に基づいて期間をダイナ
ミックに変動させ得る。ULPサーバーは、毎秒受信されるメッセージ数または
毎秒受信されるペイロードバイト全数に基づいて集成期間を規定する機能を用い
得る。1つの妥当な機能としては、受信メッセージのレートまたは受信ペイロー
ドのデータレートが増大するに従って集成期間を短くすることがある。これによ
り、受信メッセージおよび/または受信データレートが増大するに従って発信メ
ッセージのサイズが大きくなり過ぎないようにされる。受信メッセージレート、
受信ペイロードデータレート、またはULPサーバープロセスが利用可能な他の
パラメータに基づいて集成期間を変動させる他の他の可能な機能も用いられ得る
。ホスト同期
集成期間を規定するホスト同期またはHS方法は、ホストによって制御される
柔軟な期間を規定することが可能である。これは、ホストがHSモードで動作し
ている暗黙メッセージグループの1つ以上のメンバーにメッセージを送る順番の
概念に基づく。メッセージグループ内のすべてのホストが順番を終えると、集成
期間は終了する。メッセージキューの内容の速写が得られ、各キューの内容が集
成され、集成されたメッセージが各メッセージキューによって目標ホストに送ら
れる。この方法の改良によれば、グループへの3つのULP送信メッセージタイ
プ、すなわちグループの暗黙アドレスのみへの送信、グループ内のユニキャスト
ホストアドレスへの送信、およびメンバーをグループと共有する論理ULPアド
レスへの送信、のうちのいずれがホストの順番を構成するかを限定する。グルー
プの属性は、HS集成を規定するのみでなく、ホストの順番であると見なされ得
る1つ以上のULP送信メッセージタイプも規定する。さらなる改良によれば、
単一の集成期間内でホストに回ってくる順番の全回数を設定する。デフォルトは
1回であるが、多数回でも許可され得る。ホストが許可されている回数を超えて
順番を取ろうとすると、メッセージは無視される。
この集成方法は、HS暗黙メッセージグループのメンバーであるホスト同志が
、同じ対話型アプリケーションを実行しているとき同期化される処理機能を有す
る
というさらなる利点を持つ。多くのネットワーク化された対話型アプリケーショ
ンは、簡単で包括的な3段階動作モデル、すなわち、他のホストからのメッセー
ジを待つ、メッセージおよびローカルユーザの入力を処理してローカルアプリケ
ーションを更新する、メッセージを他のホストに送るというモデルに基づく。こ
の基本的なアプリケーションループは、毎秒5〜30回などの対話回数を提供す
るのに十分な速さのレートで繰り返される。アプリケーションのステートが異な
るホストマシーン間で一致するように、このようなアプリケーションを同期状態
に保つことが望ましい。このようなアプリケーションが本発明のHSモデルを用
いて通信するとき、これらの動作は自然に同期化される。HSによるULPサー
バープロセスは、メッセージグループのすべてのメンバーがそれそれの順番を終
え、グループにメッセージを送るまで待ち、その後グループのメンバーに集成メ
ッセージを送る。これにより、ホスト上のアプリケーションは、集成メッセージ
を受け取るまで待つことになる。この後で、各アプリケーションはこれらのメッ
セージならびにローカルユーザの入力の処理を開始する。各アプリケーションが
それぞれの処理を異なる速度で行い、次のメッセージをグループに異なる時間に
送る場合でも、HSによるULPサーバーは、すべてがそれぞれの処理を完了し
メッセージをグループに報告するまで待つ。これにより、すべてのホストが他の
すべてと同じアプリケーションループ反復位置にあるように、すべてのホストア
プリケーションが同期化された状態で保たれる。これにより、アプリケーション
ステートがすべてのホストで一致した状態に保たれる。GMSからホストへのネ
ットワーク伝播遅延およびホスト間での処理速度の違いによってのみ、それぞれ
の処理の開始および終了が異なる時間に始まる結果となり得る。すべてのホスト
を正確に同期化状態に保つことはネットワーク化されたアプリケーションでは必
要条件ではない。アプリケーションステートが一致していることのみが必要であ
る。HS方法は、本発明の環境においてこれを行う自然の方法を提供する。
好適な実施形態
本発明の詳細な記述では、本発明を説明する最良の方法として、本発明のデー
タグラムの実現について述べた。本発明の好適な実施形態について以下に述べる
。
この好適な実施形態では、広域ネットワークはインターネットであり、TLP
プロトコルはTCP/IPである。GMSは、インターネットに接続された汎用
コンピュータシステムであり、ホストはインターネットに接続されたパーソナル
コンピュータである。
TCP/IPは、ホスト151上にもっと効率的なアプリケーションインタフ
ェースを提供する多くの利点を与える。TCP/IPは、そのヘッダ内の発信元
および宛先ポート番号の概念をサポートする。ULPは、発信元および宛先UL
P接続を識別するポート番号を利用し得る。ほとんどのULP送信メッセージは
ホストから暗黙ULPグループアドレスへのものであり、ほとんどのULP受信
メッセージは暗黙ULPアドレスからULPホストアドレスへのものである。こ
れらおよびULPメッセージタイプフィールドのすべては、TCP/IPヘッダ
内の発信元および宛先ポートアドレスによって表され得る。これは、ほとんどの
ULPメッセージにとって、TCP/IPメッセージ内に組み込まれたULPメ
ッセージはペイロードを含むだけでよいことを意味する。ULPサーバープロセ
スからホストに送られる集成ULP受信メッセージは僅かに複雑になる。ここで
は、宛先ポートはホストであり、発信元ポートは暗黙ULPグループアドレスで
あり、ペイロードは各ペイロード項目内に発信元ホストULPアドレスを依然と
して含んでいる。
TCP/IPはまた、低速ダイアルアップラインに対するヘッダ圧縮をサポー
トし、これもまたこのアプリケーションでは重要である。RFC144を参照。
TCP/IPは、信頼できる端部−端部接続のトランスポートを提供する接続志
向型プロトコルである。これは、エラーの再伝送ならびにデータの上位レベルプ
ロトコルへのトランスパレントな断片化および再構築を扱う。ヘッダ圧縮により
、TCP/IPヘッダの多くを各パケットと共に省略し、小さな接続識別子に置
き換えることが可能である。この接続IDは発信元および宛先IPアドレスなら
びに発信元および宛先TCP/IPポート番号よりなる接続を固有に規定し得る
。
ホスト上のアプリケーションへのインタフェースでは、この好適な実施形態で
のULPはセッション層プロトコルとして働く。この好適な実施形態では、ホス
ト上のアプリケーションはULPサーバープロセスによりセッションを開く。こ
のセッションはホスト上の固有のセッションIDにより識別される。ホストアプ
リケーションは次にデータを、このセッションIDの標識の付いたULPホスト
インタフェース151に送る。セッションIDは、暗黙ULPアドレスのための
特定のULPサーバープロセスを走らせるGMSサーバーのTCP/IP TL
Pアドレスを含む、ホストおよび暗黙ULPペアを規定する。ULPサーバープ
ロセスのGMSのトランスポートアドレスをセッションIDに結びつけることに
よって、ネットワーク上の多数のグループ通信サーバーをアプリケーシヨンにと
ってトランスパレントな方法でサポートすることができ、単一のホストが、異な
る物理的なグループ通信サーバーを有する多数のアクティブなセッションを持つ
ことができる。これにより、ULPアドレススペースが各GMSに固有であると
いう事実から生じ得るアドレススペースの衝突問題が回避される。
別の実施形態
本発明の1つの可能な拡張は、GMSおよびこれに接続するホストの共通の同
期化時間ベースをサポートするようにULPを拡張することである。これはSI
メッセージ集成モード環境において最も興味深いものである。GMSのSI時間
ベースはすべてのホスト上で複製され得、またすべてのホストおよびGMSはま
とめてこれらの時間ベースをロックし得る。多数のコンピュータシステムで時間
ベースを同期化する方法は既に存在する。このような方法の1つはNTPと呼ば
れる。
本発明の別の拡張は、受信されるメッセージの内容に特定のアプリケーション
特異的な処理を行うULPサーバープロセスを規定することである。様々な異な
るアプリケーション特異的処理機能が規定および実現され得る。1つの特定の機
能は、暗黙グループ作成機能で提供される属性によって選択され得る。これらの
機能はメッセージペイロード内のデータを処理し、ペイロード内のデータ要素を
処理結果に置き換えることができる。個別に、またはメッセージペイロードの処
理と組み合わせて、処理は裸のメッセージペイロードデータをアプリケーション
特異的ステート格納領域に格納し得るか、または処理結果を格納し得る。
ホストシステムはパーソナルコンピュータである必要はなく、専用ゲームコン
ソール、テレビのトップボックス、またはULPプロトコルを実現し得るプログ
ラム可能コントローラを有する他の装置であり得ることは明らかである。
ULPプロトコルをトランスポートするために使用される広域ネットワークは
インターネットである必要はなく、またIPに基づく必要はない。ATMネット
ワークまたはデジタルケーブルテレビジョンネットワークを含む、広域パケット
またはデータグラムトランスポートのための手段を有する他のネットワークでも
可能である。
上記の本発明の十分な説明により、本明細書で述べた本発明の精神または範囲
から外れることなく、本発明に変更および改変がなされ得ることは、当業者にと
っては明らかである。従って、本発明は添付の請求の範囲によってのみ限定され
るものとする。
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FI,FR,GB,GR,IE,IT,L
U,MC,NL,PT,SE),OA(BF,BJ,CF
,CG,CI,CM,GA,GN,ML,MR,NE,
SN,TD,TG),AP(KE,LS,MW,SD,S
Z,UG),UA(AM,AZ,BY,KG,KZ,MD
,RU,TJ,TM),AL,AM,AT,AU,AZ
,BA,BB,BG,BR,BY,CA,CH,CN,
CU,CZ,DE,DK,EE,ES,FI,GB,G
E,HU,IL,IS,JP,KE,KG,KP,KR
,KZ,LC,LK,LR,LS,LT,LU,LV,
MD,MG,MK,MN,MW,MX,NO,NZ,P
L,PT,RO,RU,SD,SE,SG,SI,SK
,TJ,TM,TR,TT,UA,UG,UZ,VN
(72)発明者 ウィアトコウスキー,マーク ピーター
アメリカ合衆国 カリフォルニア 95030,
ロス ガトス,マッソル アベニュー ナ
ンバー108 347
(72)発明者 ロスチャイルド,ジェフリー ジャッキエ
ル
アメリカ合衆国 カリフォルニア 95030,
ロス ガトス,オールド ランチ ロード
15560
【要約の続き】
地ホストに送る。対話型アプリケーションでは、多くの
メッセージは時間的に互いに接近してグループサーバー
に到着する。単に各メッセージを目的地ホストに送るの
ではなく、グループ通信サーバーは、特定の期間中に受
け取られた各メッセージの内容を集成して、集成メッセ
ージを目的地ホストに送る。この方法は、ネットワーク
化された対話型アプリケーション内のホスト間のメッセ
ージ通信量を減らし、またホスト間の通信での待ち時間
の減少に貢献する。
Claims (1)
- 【特許請求の範囲】 1.ユニキャスト広域通信ネットワークを通して接続される複数のホストコンピ ュータにメッセージを提供する方法であって、該複数のホストコンピュータは、 複数のネットワークアドレスに関連付けられている方法において、 該ネットワークに連結するサーバーを提供するステップであって、該サーバー は該ユニキャストネットワークを用いて該複数のホストコンピュータのそれぞれ と通信し、該サーバーは上位レベルプロトコルアドレスのリストと該ホストコン ピュータに関連付けられた該ネットワークアドレスのリストとを維持する、ステ ップと、 該サーバーが、該上位レベルプロトコルアドレスリスト内の第1の上位レベル プロトコルアドレスと、該ネットワークアドレスリスト内の第1のネットワーク アドレスセットとの間に第1のアドレスマッピングを形成するステップと、 該第1のネットワークアドレスセットのうちの1つに関連付けられた第1のホ ストコンピュータが、メッセージを該サーバーに該ユニキャストネットワークを 介して送るステップであって、該メッセージはペイロード部分と識別部分とを含 み、該識別部分は該第1の上位レベルプロトコルアドレスを含む、ステップと、 該サーバーが、該ユニキャストネットワークを介して該ペイロード部分を、該 第1のネットワークアドレスセットに関連付けられた選択されたホストコンピュ ータに伝送するステップと、 を包含する方法、 2.前記選択されたホストコンピュータは、前記第1のホストコンピュータ以外 の、前記第1のネットワークアドレスセットに関連付けられたすべてのホストコ ンピュータよりなる、請求項1に記載の方法。 3.前記ホストコンピュータに関連付けられた前記リスト化されたネットワーク アドレスは、インターネットプロトコルアドレスである、請求項1に記載の方法 。 4.前記サーバによって受け取られるコントロールメッセージに応答して該サー バーが、前記上位レベルプロトコルアドレスリストのうちの第2の上位レベルプ ロトコルアドレスと少なくとも第1にリストされたネットワークアドレスとの間 に第2のアドレスマッピングを作成するステップであって、該コントロールメッ セージは、該第1にリストされたネットワークアドレスに関連付けられたホスト コンピュータから前記ネットワークを介して送られる、ステップをさらに包含す る、請求項1に記載の方法。 5.前記サーバによって受け取られる第2のコントロールメッセージに応答して 該サーバーが、別のリストされたネットワークアドレスを前記第2のアドレスマ ッピングに加えるステップであって、該別のリストされたネットワークアドレス は、前記複数のホストコンピュータ内の別のホストコンピュータに関連付けられ 、該第2のコントロールメッセージは該別のホストコンピュータから送られる、 ステップをさらに包含する、請求項4に記載の方法。 6.前記ネットワークは少なくとも1つのインターネットプロトコルを用い、前 記サーバーは、セッション層プロトコルを用いて前記複数のホストコンピュータ と通信する、請求項1に記載の方法。 7.ユニキャスト広域通信ネットワークを通して接続される複数のホストコンピ ュータにグループメッセージを提供する方法であって、 該ネットワークに連結するグループ通信サーバーを提供するステップであって 、該サーバーは該ユニキャストネットワークを用いて該複数のホストコンピュー タと通信し、またメッセージグループのリストを維持し、各メッセージグループ は少なくとも1つのホストコンピュータを含む、ステップと、 第1のメッセージグループに属する複数のホストコンピュータが、メッセージ を該サーバーに該ユニキャストネットワークを介して送るステップであって、該 メッセージはペイロード部分と該第1のメッセージグループを識別する部分とを 含む、ステップと、 該サーバーが、所定の基準に従って決定された時間間隔内で、該メッセージの 該ペイロード部分を集成して、集成ペイロードを作成するステップと、 該集成ぺイロードを用いて集成メッセージを形成するステップと、 該サーバが、該ユニキャストネットワークを介して該集成メッセージを、該第 1のメッセージグループに属する受信ホストコンピュータに伝送するステップと 、 を包含する方法。 8.前記時間間隔は固定期間である、請求項7に記載の方法。 9.前記時間間隔は、前記サーバーが、前記第1のメッセージグループに属する 各ホストコンピュータから少なくとも1つのメッセージを受け取る時間に対応す る、請求項7に記載の方法。 10.前記複数のホストコンピュータのうちの1つが、第1のコントロールメッ セージを前記サーバーに前記ユニキャストネットワークを介して送ることによっ て、前記第1のメッセージグループを作成するステップをさらに包含する請求項 7に記載の方法。 11.前記複数のホストコンピュータのいずれかが、前記第1のメッセージグル ープを特定するコントロールメッセージを前記ユニキャストネットワークを介し て前記サーバに送ることによって、該第1のメッセージグループに参加するステ ップをさらに包含する、請求項10に記載の方法。 12.前記ネットワークはインターネットであり、前記サーバーは、セッション 層プロトコルを用いて前記複数のホストコンピュータと通信する、請求項7に記 載の方法。 13.ユニキャスト広域通信ネットワークを通して接続される複数のホストコン ピュータにメッセージを提供する方法であって、該複数のホストコンピュータは 、 複数のネットワークアドレスに関連付けられている方法において、 該ネットワークに連結するサーバーを提供するステップであって、該サーバー は該ユニキャストネットワークを用いて該複数のホストコンピュータのそれぞれ と通信し、該サーバーは、上位レベルプロトコルアドレスのリストと該ホストコ ンピュータに関連付けられた該ネットワークアドレスのリストとを維持し、該サ ーバーはさらに、該上位レベルプロトコルアドレスリストのうちの第1のアドレ スとネットワークアドレスリストのうちの第1のセットとの間の第1のアドレス マッピングを維持する、ステップと、 該サーバによって受け取られる第1のコントロールメッセージに応答して該サ ーバーが、該複数のネットワークアドレスのうちの第1のネットワークアドレス を該第1のアドレスマッピングにダイナミックに加えるステップであって、該第 1のネットワークアドレスは、該複数のホストコンピュータ内の第1のホストコ ンピュータに関連付けられ、該第1のコントロールメッセージは、該第1のホス トコンピュータによって該ネットワークを介して送られる、ステップと、 該第1のホストコンピュータによって発行される第2のコントロールメッセー ジに応答して、該サーバーが該第1のアドレスマッピングから該第1のネットワ ークアドレスをダイナミックに除去するステップと、 を包含する方法。 14.ユニキャスト広域通信ネットワークを通して接続される複数のホストコン ピュータにメッセージを提供する方法であって、該複数のホストコンピュータは 、複数のネットワークアドレスに関連付けられている方法において、 該ネットワークに連結するサーバーを提供するステップであって、該サーバー は該ユニキャストネットワークを用いて該複数のホストコンピュータのそれぞれ と通信し、該サーバーは、上位レベルプロトコルアドレスのリストと該ホストコ ンピュータに関連付けられた該ネットワークアドレスのリストとを維持する、ス テップと、 該サーバーが、該上位レベルプロトコルアドレスリスト内の第1の上位レベル プロトコルアドレスと、該ネットワークアドレスリスト内の第1のネットワーク アドレスセットとの間に第1のアドレスマッピングを形成するステップと、 該サーバーが、該上位レベルプロトコルアドレスリスト内の第2の上位レベル プロトコルアドレスと、該ネットワークアドレスリスト内の第2のネットワーク アドレスセットとの間に第2のアドレスマッピングを形成するステップと、 該第1のネットワークアドレスセットのうちの1つに関連付けられた第1の ホストコンピュータが、メッセージを該サーバーに該ユニキャストネットワーク を介して送るステップであって、該メッセージはペイロード部分と識別部分とを 含み、該識別部分は該第1の上位レベルプロトコルアドレスを含み、さらに該第 2の上位レベルプロトコルアドレスを含む、ステップと、 該第1および第2のネットワークアドレスセットを用いて論理集合演算を行い 、第3のネットワークアドレスセットを形成するステップと、 該サーバーが、該ユニキャストネットワークを介して該ペイロード部分を、該 第3のネットワークアドレスセットに関連付けられた選択されたホストコンピュ ータに伝送するステップと、 を包含する方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/595,323 | 1996-02-01 | ||
US08/595,323 US5822523A (en) | 1996-02-01 | 1996-02-01 | Server-group messaging system for interactive applications |
PCT/US1997/000567 WO1997028502A1 (en) | 1996-02-01 | 1997-01-21 | Server-group messaging system for interactive applications |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000504133A true JP2000504133A (ja) | 2000-04-04 |
Family
ID=24382776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9527663A Pending JP2000504133A (ja) | 1996-02-01 | 1997-01-21 | 対話型アプリケーションのためのグループサーバー通信システム |
Country Status (5)
Country | Link |
---|---|
US (3) | US5822523A (ja) |
EP (1) | EP1012724A1 (ja) |
JP (1) | JP2000504133A (ja) |
AU (1) | AU1747197A (ja) |
WO (1) | WO1997028502A1 (ja) |
Families Citing this family (314)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US6240451B1 (en) * | 1995-05-25 | 2001-05-29 | Punch Networks Corporation | Method and apparatus for automatically disseminating information over a network |
US8574074B2 (en) | 2005-09-30 | 2013-11-05 | Sony Computer Entertainment America Llc | Advertising impression determination |
US7895076B2 (en) | 1995-06-30 | 2011-02-22 | Sony Computer Entertainment Inc. | Advertisement insertion, profiling, impression, and feedback |
US6088749A (en) * | 1995-11-30 | 2000-07-11 | Excel Switching Corp. | Universal API with generic call processing message having user-defined PPL event ID and generic response message for communications between telecommunications switch and host application |
US6343313B1 (en) * | 1996-03-26 | 2002-01-29 | Pixion, Inc. | Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability |
US5956491A (en) | 1996-04-01 | 1999-09-21 | Marks; Daniel L. | Group communications multiplexing system |
US5905871A (en) * | 1996-10-10 | 1999-05-18 | Lucent Technologies Inc. | Method of multicasting |
US6758755B2 (en) | 1996-11-14 | 2004-07-06 | Arcade Planet, Inc. | Prize redemption system for games executed over a wide area network |
US20080227538A1 (en) * | 1996-11-14 | 2008-09-18 | Bally Gaming Inc. | Game prize controller and system |
US8235821B2 (en) * | 1996-11-14 | 2012-08-07 | Bally Gaming, Inc. | Progressive controller and TCP/IP in gaming system |
US6041343A (en) * | 1996-12-19 | 2000-03-21 | International Business Machines Corp. | Method and system for a hybrid peer-server communications structure |
US6175831B1 (en) * | 1997-01-17 | 2001-01-16 | Six Degrees, Inc. | Method and apparatus for constructing a networking database and system |
JP2000509237A (ja) * | 1997-02-07 | 2000-07-18 | サムスン エレクトロニクス カンパニー リミテッド | 電子メールシステムにおけるグループメッセージの送信および処理方法 |
US6055364A (en) * | 1997-07-31 | 2000-04-25 | Cisco Technology, Inc. | Content-based filtering of multicast information |
US6850484B1 (en) * | 1997-08-21 | 2005-02-01 | At&T Corp. | Packet redirection and message stream management |
US6259701B1 (en) * | 1997-09-11 | 2001-07-10 | At&T Corp. | Method and system for a unicast endpoint client to access a multicast internet protocol (IP) session |
DK0909068T3 (da) * | 1997-10-13 | 2001-05-07 | X Way Rights B V | Fremgangsmåde og apparat til struktureret kommunikation |
US6216167B1 (en) * | 1997-10-31 | 2001-04-10 | Nortel Networks Limited | Efficient path based forwarding and multicast forwarding |
US6185623B1 (en) * | 1997-11-07 | 2001-02-06 | International Business Machines Corporation | Method and system for trivial file transfer protocol (TFTP) subnet broadcast |
US6108652A (en) * | 1997-12-01 | 2000-08-22 | At&T Corp. | Multicast probability-base grouping of nodes in switched network for improved broadcast search |
US6295560B1 (en) * | 1997-12-05 | 2001-09-25 | Kabushiki Kaisha Toshiba | Data delivery system with load distribution among data delivery units using shared lower address and unique lower layer address |
CA2315210C (en) * | 1997-12-16 | 2006-12-12 | Sourcenet Corporation | Method and apparatus for receiving full-motion digital video multi-casts, interactive data and interactive voice via a dsl circuit |
US6519686B2 (en) * | 1998-01-05 | 2003-02-11 | Intel Corporation | Information streaming in a multi-process system using shared memory |
US6301229B1 (en) | 1998-04-07 | 2001-10-09 | 3Com Corporation | Distribution of protocol processes from network elements to end stations |
US6112245A (en) * | 1998-04-07 | 2000-08-29 | 3Com Corporation | Session establishment for static links in Point-to-Point Protocol sessions |
US6118785A (en) * | 1998-04-07 | 2000-09-12 | 3Com Corporation | Point-to-point protocol with a signaling channel |
US6097720A (en) * | 1998-04-07 | 2000-08-01 | 3Com Corporation | Enabling multicast distribution efficiencies in a dialup access environment |
JPH11331191A (ja) | 1998-05-18 | 1999-11-30 | Nec Corp | 加入者アクセス装置 |
JP3620010B2 (ja) * | 1998-05-22 | 2005-02-16 | 富士通株式会社 | 無線通信システムで用いられる装置とプログラム記録媒体 |
US6163810A (en) * | 1998-06-02 | 2000-12-19 | At&T Corp. | System and method for managing the exchange of information between multicast and unicast hosts |
US6098100A (en) * | 1998-06-08 | 2000-08-01 | Silicon Integrated Systems Corp. | Method and apparatus for detecting a wake packet issued by a network device to a sleeping node |
US6125116A (en) * | 1998-07-27 | 2000-09-26 | Nec Corporation | Message sets for a flexible programmable ATM access multiplexer using functional separation of line and protocol related functions |
FR2781860B1 (fr) * | 1998-07-31 | 2000-09-01 | Inst Francais Du Petrole | Systeme de mise en communication alternee d'au moins quatre fluides et son application dans un procede de separation en lit mobile simule |
EP0993163A1 (en) | 1998-10-05 | 2000-04-12 | Backweb Technologies Ltd. | Distributed client-based data caching system and method |
JP3519616B2 (ja) * | 1998-10-21 | 2004-04-19 | 株式会社日立製作所 | 中継装置 |
US6366913B1 (en) * | 1998-10-21 | 2002-04-02 | Netscape Communications Corporation | Centralized directory services supporting dynamic group membership |
US6272522B1 (en) * | 1998-11-17 | 2001-08-07 | Sun Microsystems, Incorporated | Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture |
US6625813B1 (en) | 1999-01-12 | 2003-09-23 | Sony Corporation | Digital television broadcast architecture for massively multi-user application |
US6415312B1 (en) * | 1999-01-29 | 2002-07-02 | International Business Machines Corporation | Reliable multicast for small groups |
US6502140B1 (en) * | 1999-01-29 | 2002-12-31 | International Business Machines Corporation | Multicast support for small groups |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
US7006616B1 (en) | 1999-05-21 | 2006-02-28 | Terayon Communication Systems, Inc. | Teleconferencing bridge with EdgePoint mixing |
AU5288700A (en) * | 1999-05-24 | 2000-12-12 | B.R. Badrinath | System and method for network packet reduction |
US7100000B1 (en) * | 1999-05-28 | 2006-08-29 | International Business Machines Corporation | System and methods for processing audio using multiple speech technologies |
US7009969B1 (en) * | 1999-06-08 | 2006-03-07 | Cisco Technology, Inc. | Local area network and message packet for a telecommunications device |
US6625773B1 (en) * | 1999-06-09 | 2003-09-23 | International Business Machines Corporation | System for multicast communications in packet switched networks |
US20040193722A1 (en) * | 1999-08-30 | 2004-09-30 | Donovan Kevin Remington Joseph Bartholomew | Universal instant messaging system for the internet |
US6640244B1 (en) * | 1999-08-31 | 2003-10-28 | Accenture Llp | Request batcher in a transaction services patterns environment |
US6415317B1 (en) | 1999-10-01 | 2002-07-02 | Joshua Michael Yelon | Software system for reducing the appearance of latency in a multi-user environment |
US6917963B1 (en) * | 1999-10-05 | 2005-07-12 | Veritas Operating Corporation | Snapshot image for the application state of unshareable and shareable data |
US6848106B1 (en) * | 1999-10-05 | 2005-01-25 | Veritas Operating Corporation | Snapshot restore of application chains and applications |
US6716103B1 (en) | 1999-10-07 | 2004-04-06 | Nintendo Co., Ltd. | Portable game machine |
DE69937830T2 (de) * | 1999-10-12 | 2008-12-24 | Alcatel Lucent | Vorrichtung und Verfahren zur Komprimierung von Mehrfahrnachrichten-Zieladressen |
US7006494B1 (en) | 2000-01-04 | 2006-02-28 | Cisco Technology, Inc. | System and method for a virtual telephony intermediary |
US7069432B1 (en) | 2000-01-04 | 2006-06-27 | Cisco Technology, Inc. | System and method for providing security in a telecommunication network |
US7079495B1 (en) | 2000-01-04 | 2006-07-18 | Cisco Technology, Inc. | System and method for enabling multicast telecommunications |
US6804254B1 (en) | 2000-01-04 | 2004-10-12 | Cisco Technology, Inc. | System and method for maintaining a communication link |
AU2001227856A1 (en) * | 2000-01-14 | 2001-07-24 | Multitude, Inc. | Apparatus and method for creating moderated forums |
US20020046405A1 (en) * | 2000-01-28 | 2002-04-18 | Ibeam Broadcasting Corporation | System and method for determining optimal server in a distributed network for serving content streams |
US7508753B2 (en) * | 2000-01-31 | 2009-03-24 | At&T Intellectual Property, Ii, L.P. | Packet redirection and message stream management |
US20020091855A1 (en) * | 2000-02-02 | 2002-07-11 | Yechiam Yemini | Method and apparatus for dynamically addressing and routing in a data network |
US6513003B1 (en) | 2000-02-03 | 2003-01-28 | Fair Disclosure Financial Network, Inc. | System and method for integrated delivery of media and synchronized transcription |
US7302497B2 (en) * | 2000-02-08 | 2007-11-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Using internet protocol (IP) in radio access network |
US6724770B1 (en) * | 2000-02-17 | 2004-04-20 | Kenneth P. Birman | Multicast protocol with reduced buffering requirements |
US6651086B1 (en) * | 2000-02-22 | 2003-11-18 | Yahoo! Inc. | Systems and methods for matching participants to a conversation |
US7392281B1 (en) | 2000-02-25 | 2008-06-24 | Navic Systems, Inc. | System and method for providing guaranteed delivery of messages to embedded devices over a data network |
US6845396B1 (en) | 2000-02-25 | 2005-01-18 | Navic Systems, Inc. | Method and system for content deployment and activation |
US6714992B1 (en) * | 2000-02-25 | 2004-03-30 | Navic Systems, Inc. | Method and system for embedded network device installation |
US7330824B1 (en) | 2000-02-25 | 2008-02-12 | Navic Systems, Inc. | Method and system for content profiling and activation |
US6751218B1 (en) * | 2000-02-26 | 2004-06-15 | Avaya Technology Corp. | Method and system for ATM-coupled multicast service over IP networks |
US7240093B1 (en) * | 2000-02-29 | 2007-07-03 | Microsoft Corporation | Use of online messaging to facilitate selection of participants in game play |
US6807562B1 (en) * | 2000-02-29 | 2004-10-19 | Microsoft Corporation | Automatic and selective assignment of channels to recipients of voice chat data |
CA2403709C (en) * | 2000-03-17 | 2007-11-20 | America Online, Inc. | Home-networking |
US7725523B2 (en) | 2000-04-11 | 2010-05-25 | Bolnick David A | System, method and computer program product for gathering and delivering personalized user information |
US8818855B2 (en) * | 2000-04-18 | 2014-08-26 | Intellectual Ventures I Llc | System and method for aggregating information over a wide area network |
US6826621B1 (en) | 2000-04-24 | 2004-11-30 | International Business Machines Corporation | Method and system for aggregating interface addresses |
US7065079B1 (en) * | 2000-05-04 | 2006-06-20 | Cisco Technology, Inc. | VC sharing for multicast in a computer network |
US7385917B1 (en) | 2000-05-05 | 2008-06-10 | Fujitsu Limited | Method and system for providing a protection path for connectionless signals in a telecommunications network |
US6515966B1 (en) | 2000-05-05 | 2003-02-04 | Fujitsu Network Communications, Inc. | System and method for application object transport |
US7151773B1 (en) | 2000-05-05 | 2006-12-19 | Fujitsu Limited | System and method for connectionless/connection oriented signal transport |
US7075927B2 (en) * | 2000-05-05 | 2006-07-11 | Fujitsu Limited | Method and system for quality of service (QoS) support in a packet-switched network |
US7047176B2 (en) * | 2000-05-05 | 2006-05-16 | Fujitsu Limited | Method and system for hardware simulation |
US7058730B2 (en) * | 2000-05-05 | 2006-06-06 | Fujitsu Limited | Unique address space and method for a transport network |
US7133403B1 (en) * | 2000-05-05 | 2006-11-07 | Fujitsu Limited | Transport network and method |
US6775229B1 (en) | 2000-05-05 | 2004-08-10 | Fujitsu Network Communications, Inc. | Method and system for providing a protection path for connection-oriented signals in a telecommunications network |
US7173912B2 (en) * | 2000-05-05 | 2007-02-06 | Fujitsu Limited | Method and system for modeling and advertising asymmetric topology of a node in a transport network |
US6693909B1 (en) | 2000-05-05 | 2004-02-17 | Fujitsu Network Communications, Inc. | Method and system for transporting traffic in a packet-switched network |
US6845389B1 (en) * | 2000-05-12 | 2005-01-18 | Nortel Networks Limited | System and method for broadband multi-user communication sessions |
US20060067500A1 (en) * | 2000-05-15 | 2006-03-30 | Christofferson Frank C | Teleconferencing bridge with edgepoint mixing |
JP4436960B2 (ja) | 2000-05-16 | 2010-03-24 | 日本電気株式会社 | パケット通信システムおよび移動通信システム |
FR2809559B1 (fr) * | 2000-05-25 | 2002-08-16 | Cit Alcatel | Procede de transferts mutuels de parametres de commande a travers un reseau de communication |
US7056217B1 (en) | 2000-05-31 | 2006-06-06 | Nintendo Co., Ltd. | Messaging service for video game systems with buddy list that displays game being played |
US8131867B1 (en) * | 2000-06-01 | 2012-03-06 | Qualcomm Incorporated | Dynamic layer congestion control for multicast transport |
AU2001265079A1 (en) * | 2000-06-09 | 2001-12-24 | Rashida A. Karmali | Application specific live streaming multimedia mixer apparatus, systems and methods |
DE10030272A1 (de) * | 2000-06-20 | 2002-01-03 | Siemens Ag | Verfahren zur Übertragung von Kurznachrichten |
US20020001310A1 (en) * | 2000-06-29 | 2002-01-03 | Khanh Mai | Virtual multicasting |
US6862430B1 (en) * | 2000-07-05 | 2005-03-01 | Echelon Corporation | System and method for selecting repeaters |
US7111163B1 (en) | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
US7103016B1 (en) * | 2000-08-11 | 2006-09-05 | Echelon Corporation | System and method for providing transaction control on a data network |
EP1189387B1 (en) * | 2000-08-25 | 2006-05-10 | Alcatel | Method of providing bidirectional communication in a network for multicasting Internet Protocol data streams and network for applying the method |
US20020026480A1 (en) * | 2000-08-25 | 2002-02-28 | Takanori Terada | E-mail system |
US7596784B2 (en) | 2000-09-12 | 2009-09-29 | Symantec Operating Corporation | Method system and apparatus for providing pay-per-use distributed computing resources |
US6742028B1 (en) * | 2000-09-15 | 2004-05-25 | Frank Wang | Content management and sharing |
US7870183B1 (en) * | 2000-10-25 | 2011-01-11 | International Business Machines Corporation | Multicast enabled mail |
US7244181B2 (en) * | 2000-11-14 | 2007-07-17 | Netamin Communication Corp. | Multi-player game employing dynamic re-sequencing |
US7653743B2 (en) * | 2000-11-28 | 2010-01-26 | Microsoft Corporation | Protocol for throttling high volume messages |
US7047273B2 (en) * | 2000-11-28 | 2006-05-16 | Navic Systems, Inc. | Load balancing in set top cable box environment |
US20020065929A1 (en) * | 2000-11-28 | 2002-05-30 | Navic Systems Inc. | Protocol extensions to increase reliability of bulk data transmissions |
US6760330B2 (en) | 2000-12-18 | 2004-07-06 | Sun Microsystems, Inc. | Community separation control in a multi-community node |
US6931028B1 (en) * | 2000-12-28 | 2005-08-16 | Cisco Technology, Inc. | Scaleable RSVP signaling between VoIP dial-peers for tandem voice solutions |
US8751310B2 (en) | 2005-09-30 | 2014-06-10 | Sony Computer Entertainment America Llc | Monitoring advertisement impressions |
US6963919B1 (en) * | 2001-02-28 | 2005-11-08 | Agilent Technologies, Inc. | Method and system for improving computer network performance |
US20020129159A1 (en) * | 2001-03-09 | 2002-09-12 | Michael Luby | Multi-output packet server with independent streams |
US7177950B2 (en) * | 2001-04-26 | 2007-02-13 | Microsoft Corporation | Synchronization and recovery of peers in a peer to peer environment |
US7266609B2 (en) * | 2001-04-30 | 2007-09-04 | Aol Llc | Generating multiple data streams from a single data source |
US8572278B2 (en) * | 2001-04-30 | 2013-10-29 | Facebook, Inc. | Generating multiple data streams from a single data source |
US7237033B2 (en) * | 2001-04-30 | 2007-06-26 | Aol Llc | Duplicating switch for streaming data units to a terminal |
WO2003105006A1 (en) * | 2001-04-30 | 2003-12-18 | America Online, Inc. | Load balancing with direct terminal response |
US7124166B2 (en) | 2001-04-30 | 2006-10-17 | Aol Llc | Duplicating digital streams for digital conferencing using switching technologies |
US7292571B2 (en) * | 2001-04-30 | 2007-11-06 | Aol Llc, A Delaware Limited Liability Company | Load balancing with direct terminal response |
US7227658B2 (en) * | 2001-08-01 | 2007-06-05 | Canon Kabushiki Kaisha | Content management in a broadband printing system |
US20030037102A1 (en) * | 2001-08-14 | 2003-02-20 | Philippe Eckert | Message broker |
US7103011B2 (en) * | 2001-08-30 | 2006-09-05 | Motorola, Inc. | Use of IP-multicast technology for 2-party calls in mobile communication networks |
US7389359B2 (en) * | 2001-10-19 | 2008-06-17 | Foundry Networks, Inc. | Method and system for intelligently forwarding multicast packets |
US8387111B2 (en) | 2001-11-01 | 2013-02-26 | International Business Machines Corporation | Type independent permission based access control |
US6971064B2 (en) | 2001-11-14 | 2005-11-29 | Lite-On Technology Corporation | Method for automatically forwarding and replying short message |
US8147334B2 (en) * | 2003-09-04 | 2012-04-03 | Jean-Marie Gatto | Universal game server |
US20030120800A1 (en) * | 2001-12-06 | 2003-06-26 | Edwards Systens Technology, Inc. | Network layer protocol |
US7139565B2 (en) | 2002-01-08 | 2006-11-21 | Seven Networks, Inc. | Connection architecture for a mobile network |
WO2003065242A1 (en) * | 2002-01-25 | 2003-08-07 | Tibco Software, Inc. | Single applet to communicate with multiple html elements contained inside of multiple categories on a page |
US8959230B2 (en) * | 2002-01-28 | 2015-02-17 | Qualcomm Incorporated | Method and apparatus for negotiation of transmission parameters for broadcast/multicast services |
US7313135B2 (en) * | 2002-01-31 | 2007-12-25 | Mosaid Technologies, Inc. | Trunking in a matrix |
US6922718B2 (en) * | 2002-02-01 | 2005-07-26 | Dell Products L.P. | Method and system for participating locations in a multi-point video conference |
EP1333693A1 (en) | 2002-02-04 | 2003-08-06 | Koninklijke KPN N.V. | Method and system for transmitting messages to terminal groups |
US7143135B2 (en) * | 2002-02-08 | 2006-11-28 | Microsoft Corporation | Automatic participant evaluation in computer mediated persistent conversations |
US20040210947A1 (en) | 2003-04-15 | 2004-10-21 | Shusman Chad W. | Method and apparatus for interactive video on demand |
US20030196206A1 (en) | 2002-04-15 | 2003-10-16 | Shusman Chad W. | Method and apparatus for internet-based interactive programming |
US20030236120A1 (en) * | 2002-04-19 | 2003-12-25 | Kenneth Reece | Method and device for determining the physical location and identity of a user |
US7756918B2 (en) * | 2002-06-25 | 2010-07-13 | Chua Chien Liang | Group networking utilizing screening methods |
US8028092B2 (en) | 2002-06-28 | 2011-09-27 | Aol Inc. | Inserting advertising content |
US7383339B1 (en) | 2002-07-31 | 2008-06-03 | Aol Llc, A Delaware Limited Liability Company | Local proxy server for establishing device controls |
WO2004017597A1 (en) * | 2002-08-14 | 2004-02-26 | Nokia Corporation | Layered compression architecture for multi-hop header compression |
US7571256B2 (en) * | 2002-09-24 | 2009-08-04 | Sun Microsystems, Inc. | Data communication execution thread |
US20060224922A1 (en) * | 2002-10-08 | 2006-10-05 | Koninklijke Philips Electronics N.V. | Integrated circuit and method for sending requests |
GB0227048D0 (en) * | 2002-11-20 | 2002-12-24 | 3Com Corp | Network units for use in and organisation of cascade systems |
US7263102B2 (en) * | 2002-11-27 | 2007-08-28 | At&T Intellectual Property, Inc. | Multi-path gateway communications device |
US7379464B2 (en) * | 2002-11-27 | 2008-05-27 | At&T Bls Intellectual Property, Inc. | Personal digital gateway |
US7224698B2 (en) * | 2002-11-27 | 2007-05-29 | Bellsouth Intellectual Property Corporation | Edge side assembler |
US7359939B2 (en) * | 2002-12-06 | 2008-04-15 | Alcatel Canada, Inc. | Fast service restoration for lost IGMP leave requests |
US7853563B2 (en) | 2005-08-01 | 2010-12-14 | Seven Networks, Inc. | Universal data aggregation |
US7917468B2 (en) | 2005-08-01 | 2011-03-29 | Seven Networks, Inc. | Linking of personal information management data |
US8468126B2 (en) | 2005-08-01 | 2013-06-18 | Seven Networks, Inc. | Publishing data in an information community |
US9110853B2 (en) * | 2003-03-10 | 2015-08-18 | Oracle America, Inc. | Computer system with multiple classes of device IDs |
US20040186888A1 (en) * | 2003-03-19 | 2004-09-23 | International Business Machines Corporation | Method and system for transferring real-time messages between multiple non-connected messaging servers |
US20040225738A1 (en) * | 2003-05-09 | 2004-11-11 | Patel Dipak M. | Methods, systems and computer program products for replicating servers and network traffic for problem determination and/or tuning |
US7455590B2 (en) * | 2003-05-09 | 2008-11-25 | Microsoft Corporation | Sending messages in response to events occurring on a gaming service |
US7769885B1 (en) * | 2003-05-23 | 2010-08-03 | Juniper Networks, Inc. | Determining liveness of protocols and interfaces |
US7385937B2 (en) * | 2003-07-23 | 2008-06-10 | International Business Machines Corporation | Method and system for determining a path between two points of an IP network over which datagrams are transmitted |
US7111047B2 (en) * | 2003-08-08 | 2006-09-19 | Teamon Systems, Inc. | Communications system providing message aggregation features and related methods |
US7437457B1 (en) | 2003-09-08 | 2008-10-14 | Aol Llc, A Delaware Limited Liability Company | Regulating concurrent logins associated with a single account |
US7508814B1 (en) | 2003-12-30 | 2009-03-24 | At&T Intellectual Property, Ii, L.P. | Electronic loop provisioning methods and systems |
US7743367B1 (en) * | 2003-12-30 | 2010-06-22 | Sap Ag | Registration method for supporting bytecode modification |
US8838743B2 (en) * | 2004-02-13 | 2014-09-16 | Intel Corporation | Apparatus and method for a dynamically extensible virtual switch |
US7418491B2 (en) * | 2004-02-19 | 2008-08-26 | International Business Machines Corporation | Architecture for a centralized management system |
US20050198437A1 (en) * | 2004-03-08 | 2005-09-08 | Mukherjee Shubhendu S. | Method and system for coalescing coherence messages |
US7519669B2 (en) * | 2004-04-30 | 2009-04-14 | Sap Aktiengesellschaft | Prioritizing producers and consumers of an enterprise messaging system |
US20050262205A1 (en) * | 2004-04-30 | 2005-11-24 | Nikolov Radoslav I | Delivering messages in an enterprise messaging system using message selector hierarchy |
US20060036689A1 (en) * | 2004-06-04 | 2006-02-16 | John Buford | Personal messaging proxy |
US20060031367A1 (en) * | 2004-06-04 | 2006-02-09 | John Buford | Instant messaging and presence using virtual devices |
US20060031317A1 (en) * | 2004-06-04 | 2006-02-09 | Wanrong Lin | System for synthesizing instant message and presence attributes from polled, queried and event information sources |
US7491123B2 (en) * | 2004-07-29 | 2009-02-17 | Nintendo Co., Ltd. | Video game voice chat with amplitude-based virtual ranging |
US7785197B2 (en) * | 2004-07-29 | 2010-08-31 | Nintendo Co., Ltd. | Voice-to-text chat conversion for remote video game play |
US20060041624A1 (en) * | 2004-08-18 | 2006-02-23 | International Business Machines Corporation | System and method for distributing an electronic message |
US8763157B2 (en) | 2004-08-23 | 2014-06-24 | Sony Computer Entertainment America Llc | Statutory license restricted digital media playback on portable devices |
JP2006074379A (ja) * | 2004-09-01 | 2006-03-16 | Ntt Docomo Inc | サーバ装置、送信端末、移動通信システム及び移動通信方法 |
US7441271B2 (en) | 2004-10-20 | 2008-10-21 | Seven Networks | Method and apparatus for intercepting events in a communication system |
US8010082B2 (en) | 2004-10-20 | 2011-08-30 | Seven Networks, Inc. | Flexible billing architecture |
US7706781B2 (en) | 2004-11-22 | 2010-04-27 | Seven Networks International Oy | Data security in a mobile e-mail service |
FI117152B (fi) | 2004-12-03 | 2006-06-30 | Seven Networks Internat Oy | Sähköpostiasetusten käyttöönotto matkaviestimelle |
US7969959B2 (en) | 2004-12-16 | 2011-06-28 | Critical Response Systems, Inc. | Method and apparatus for efficient and deterministic group alerting |
WO2006090202A1 (en) * | 2005-02-25 | 2006-08-31 | Nokia Corporation | Controlling communications between players of a multi-player game |
US7752633B1 (en) | 2005-03-14 | 2010-07-06 | Seven Networks, Inc. | Cross-platform event engine |
US7796742B1 (en) | 2005-04-21 | 2010-09-14 | Seven Networks, Inc. | Systems and methods for simplified provisioning |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
US7596141B2 (en) * | 2005-06-30 | 2009-09-29 | Intel Corporation | Packet classification using encoded addresses |
US8069166B2 (en) | 2005-08-01 | 2011-11-29 | Seven Networks, Inc. | Managing user-to-user contact with inferred presence information |
US8626584B2 (en) | 2005-09-30 | 2014-01-07 | Sony Computer Entertainment America Llc | Population of an advertisement reference list |
US11004089B2 (en) | 2005-10-25 | 2021-05-11 | Sony Interactive Entertainment LLC | Associating media content files with advertisements |
US8676900B2 (en) | 2005-10-25 | 2014-03-18 | Sony Computer Entertainment America Llc | Asynchronous advertising placement based on metadata |
US20070118425A1 (en) | 2005-10-25 | 2007-05-24 | Podbridge, Inc. | User device agent for asynchronous advertising in time and space shifted media network |
US10657538B2 (en) | 2005-10-25 | 2020-05-19 | Sony Interactive Entertainment LLC | Resolution of advertising rules |
US20070104186A1 (en) * | 2005-11-04 | 2007-05-10 | Bea Systems, Inc. | System and method for a gatekeeper in a communications network |
CN101346634B (zh) * | 2005-11-04 | 2012-10-24 | 甲骨文国际公司 | 用于通信网络中的网守的系统和方法 |
US7769395B2 (en) | 2006-06-20 | 2010-08-03 | Seven Networks, Inc. | Location-based operations and messaging |
US8204005B2 (en) * | 2006-03-09 | 2012-06-19 | Intel Corporation | Wireless communication device and method for dynamic bidirectional aggregation of MAC frames with delayed channel access in a wireless network |
WO2007120741A2 (en) * | 2006-04-12 | 2007-10-25 | Netamin Communication Corp. | Team-based networked video gaming and automatic event management |
US8769019B2 (en) * | 2006-05-04 | 2014-07-01 | Citrix Systems, Inc. | Methods and systems for managing shared state within a distributed system with varying consistency and consensus semantics |
US8140618B2 (en) * | 2006-05-04 | 2012-03-20 | Citrix Online Llc | Methods and systems for bandwidth adaptive N-to-N communication in a distributed system |
CN101438526B (zh) | 2006-05-05 | 2013-03-13 | 美国索尼电脑娱乐公司 | 广告旋转 |
US8171466B2 (en) * | 2006-05-16 | 2012-05-01 | Oracle International Corporation | Hitless application upgrade for SIP server architecture |
US8112525B2 (en) * | 2006-05-16 | 2012-02-07 | Oracle International Corporation | Engine near cache for reducing latency in a telecommunications environment |
US8001250B2 (en) * | 2006-05-16 | 2011-08-16 | Oracle International Corporation | SIP and HTTP convergence in network computing environments |
US8219697B2 (en) * | 2006-05-17 | 2012-07-10 | Oracle International Corporation | Diameter protocol and SH interface support for SIP server architecture |
GB2438454B (en) * | 2006-05-26 | 2008-08-06 | Motorola Inc | Method and system for communication |
US7945620B2 (en) * | 2006-06-13 | 2011-05-17 | International Business Machines Corporation | Chat tool for concurrently chatting over more than one interrelated chat channels |
US7725577B2 (en) * | 2006-07-31 | 2010-05-25 | Sap Ag | Method and system to adaptively manage the quality of service of interactions between smart item networks and enterprise applications |
US20080072292A1 (en) * | 2006-09-01 | 2008-03-20 | Narjala Ranjit S | Secure device introduction with capabilities assessment |
US7661027B2 (en) * | 2006-10-10 | 2010-02-09 | Bea Systems, Inc. | SIP server architecture fault tolerance and failover |
US9667430B2 (en) * | 2006-12-13 | 2017-05-30 | Oracle International Corporation | System and method for a SIP server with offline charging |
US8078737B2 (en) * | 2006-12-13 | 2011-12-13 | Oracle International Corporation | System and method for efficient storage of long-lived session state in a SIP server |
US20080147551A1 (en) * | 2006-12-13 | 2008-06-19 | Bea Systems, Inc. | System and Method for a SIP Server with Online Charging |
US20080159286A1 (en) * | 2006-12-28 | 2008-07-03 | Moore Martin T | Contextualized broadcast message channel for activity-centric collaborative computing |
US8693494B2 (en) | 2007-06-01 | 2014-04-08 | Seven Networks, Inc. | Polling |
US8805425B2 (en) | 2007-06-01 | 2014-08-12 | Seven Networks, Inc. | Integrated messaging |
US20090049128A1 (en) * | 2007-08-17 | 2009-02-19 | Sony Computer Entertainment America Inc. | Schemes for game chat routing and taunt control |
US7761525B2 (en) * | 2007-08-23 | 2010-07-20 | International Business Machines Corporation | System and method for providing improved time references in documents |
US8295306B2 (en) * | 2007-08-28 | 2012-10-23 | Cisco Technologies, Inc. | Layer-4 transparent secure transport protocol for end-to-end application protection |
US8416247B2 (en) | 2007-10-09 | 2013-04-09 | Sony Computer Entertaiment America Inc. | Increasing the number of advertising impressions in an interactive environment |
US8364181B2 (en) | 2007-12-10 | 2013-01-29 | Seven Networks, Inc. | Electronic-mail filtering for mobile devices |
US9002828B2 (en) | 2007-12-13 | 2015-04-07 | Seven Networks, Inc. | Predictive content delivery |
US8793305B2 (en) | 2007-12-13 | 2014-07-29 | Seven Networks, Inc. | Content delivery to a mobile device from a content service |
US8107921B2 (en) | 2008-01-11 | 2012-01-31 | Seven Networks, Inc. | Mobile virtual network operator |
US8862657B2 (en) | 2008-01-25 | 2014-10-14 | Seven Networks, Inc. | Policy based content service |
US20090193338A1 (en) | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
US8769558B2 (en) | 2008-02-12 | 2014-07-01 | Sony Computer Entertainment America Llc | Discovery and analytics for episodic downloaded media |
US8787947B2 (en) | 2008-06-18 | 2014-07-22 | Seven Networks, Inc. | Application discovery on mobile devices |
JP5149709B2 (ja) * | 2008-06-18 | 2013-02-20 | 株式会社エヌ・ティ・ティ・ドコモ | ショートメッセージサービス管理システム、ショートメッセージ転送装置、ショートメッセージ転送形態規定情報供給装置、および、ショートメッセージ転送方法 |
US8078158B2 (en) | 2008-06-26 | 2011-12-13 | Seven Networks, Inc. | Provisioning applications for a mobile device |
SG157990A1 (en) * | 2008-07-04 | 2010-01-29 | 3Rd Brand Pte Ltd | System and method for facilitating the growth of a mobile community |
EP2314019A4 (en) * | 2008-07-31 | 2011-09-07 | Juma Technology Corp | METHOD FOR RESOLVING ADDRESS CONFLICTS BETWEEN DISPARATE NETWORKS IN A NETWORK MANAGEMENT SYSTEM |
US8909759B2 (en) | 2008-10-10 | 2014-12-09 | Seven Networks, Inc. | Bandwidth measurement |
US8176200B2 (en) * | 2008-10-24 | 2012-05-08 | Microsoft Corporation | Distributed aggregation on an overlay network |
US8145711B2 (en) * | 2008-11-05 | 2012-03-27 | At&T Intellectual Property I, L.P. | Multi-player game data via multicast transmission |
US8160060B2 (en) * | 2008-11-10 | 2012-04-17 | Infosys Technologies Limited | System and method for transferring data using variance based messaging |
US20100160047A1 (en) * | 2008-12-22 | 2010-06-24 | Microsoft Corporation | Scalable Game Primitives / Distributed Real-Time Aggregation Of Player Data |
US8423088B2 (en) | 2009-07-22 | 2013-04-16 | Microsoft Corporation | Aggregated, interactive communication timeline |
US8763090B2 (en) | 2009-08-11 | 2014-06-24 | Sony Computer Entertainment America Llc | Management of ancillary content delivery and presentation |
US9049617B2 (en) * | 2009-09-23 | 2015-06-02 | At&T Intellectual Property I, L.P. | Signaling-less dynamic call setup and teardown by utilizing observed session state information |
US9361165B2 (en) * | 2009-12-03 | 2016-06-07 | International Business Machines Corporation | Automated merger of logically associated messages in a message queue |
US9205328B2 (en) | 2010-02-18 | 2015-12-08 | Activision Publishing, Inc. | Videogame system and method that enables characters to earn virtual fans by completing secondary objectives |
JP5477095B2 (ja) * | 2010-03-19 | 2014-04-23 | 富士通株式会社 | 情報処理システム、装置、方法、及びプログラム |
TW201209697A (en) | 2010-03-30 | 2012-03-01 | Michael Luna | 3D mobile user interface with configurable workspace management |
US9682324B2 (en) | 2010-05-12 | 2017-06-20 | Activision Publishing, Inc. | System and method for enabling players to participate in asynchronous, competitive challenges |
CN102986166B (zh) * | 2010-07-23 | 2016-07-06 | 瑞典爱立信有限公司 | 记录控制平面事件 |
CA2806557C (en) | 2010-07-26 | 2014-10-07 | Michael Luna | Mobile application traffic optimization |
EP3407673B1 (en) | 2010-07-26 | 2019-11-20 | Seven Networks, LLC | Mobile network traffic coordination across multiple applications |
US8838783B2 (en) | 2010-07-26 | 2014-09-16 | Seven Networks, Inc. | Distributed caching for resource and mobile network traffic management |
WO2012018477A2 (en) | 2010-07-26 | 2012-02-09 | Seven Networks, Inc. | Distributed implementation of dynamic wireless traffic policy |
WO2012050618A1 (en) | 2010-10-16 | 2012-04-19 | James Charles Vago | Multimedia methods, devices and systems |
EP2633707B1 (en) | 2010-10-27 | 2018-05-09 | Telefonaktiebolaget LM Ericsson (publ) | Network service of a cellular communication network |
US8843153B2 (en) | 2010-11-01 | 2014-09-23 | Seven Networks, Inc. | Mobile traffic categorization and policy for network use optimization while preserving user experience |
US8484314B2 (en) | 2010-11-01 | 2013-07-09 | Seven Networks, Inc. | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US9060032B2 (en) | 2010-11-01 | 2015-06-16 | Seven Networks, Inc. | Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic |
WO2012060996A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Caching adapted for mobile application behavior and network conditions |
WO2012061430A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed management of keep-alive message signaling for mobile network resource conservation and optimization |
US9330196B2 (en) | 2010-11-01 | 2016-05-03 | Seven Networks, Llc | Wireless traffic management system cache optimization using http headers |
US8903954B2 (en) | 2010-11-22 | 2014-12-02 | Seven Networks, Inc. | Optimization of resource polling intervals to satisfy mobile device requests |
US8166164B1 (en) | 2010-11-01 | 2012-04-24 | Seven Networks, Inc. | Application and network-based long poll request detection and cacheability assessment therefor |
US8204953B2 (en) | 2010-11-01 | 2012-06-19 | Seven Networks, Inc. | Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache |
WO2012060995A2 (en) | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
WO2012071283A1 (en) | 2010-11-22 | 2012-05-31 | Michael Luna | Aligning data transfer to optimize connections established for transmission over a wireless network |
WO2012094675A2 (en) | 2011-01-07 | 2012-07-12 | Seven Networks, Inc. | System and method for reduction of mobile network traffic used for domain name system (dns) queries |
EP2700021A4 (en) | 2011-04-19 | 2016-07-20 | Seven Networks Llc | MANAGEMENT OF COMMON RESOURCES AND VIRTUAL RESOURCES IN A NETWORKED ENVIRONMENT |
US8621075B2 (en) | 2011-04-27 | 2013-12-31 | Seven Metworks, Inc. | Detecting and preserving state for satisfying application requests in a distributed proxy and cache system |
GB2493473B (en) | 2011-04-27 | 2013-06-19 | Seven Networks Inc | System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief |
WO2013015994A1 (en) | 2011-07-27 | 2013-01-31 | Seven Networks, Inc. | Monitoring mobile application activities for malicious traffic on a mobile device |
TWI591992B (zh) | 2011-11-16 | 2017-07-11 | Alibaba Group Holding Ltd | 群組通信關係的建立、以及網頁展現方法和相關設備 |
US9679009B2 (en) * | 2011-11-17 | 2017-06-13 | Sap Se | Component independent process integration message search |
EP2789138B1 (en) | 2011-12-06 | 2016-09-14 | Seven Networks, LLC | A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation |
US8934414B2 (en) | 2011-12-06 | 2015-01-13 | Seven Networks, Inc. | Cellular or WiFi mobile traffic optimization based on public or private network destination |
US9277443B2 (en) | 2011-12-07 | 2016-03-01 | Seven Networks, Llc | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
GB2498064A (en) | 2011-12-07 | 2013-07-03 | Seven Networks Inc | Distributed content caching mechanism using a network operator proxy |
US9832095B2 (en) | 2011-12-14 | 2017-11-28 | Seven Networks, Llc | Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic |
US8861354B2 (en) | 2011-12-14 | 2014-10-14 | Seven Networks, Inc. | Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization |
EP2792188B1 (en) | 2011-12-14 | 2019-03-20 | Seven Networks, LLC | Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system |
US8909202B2 (en) | 2012-01-05 | 2014-12-09 | Seven Networks, Inc. | Detection and management of user interactions with foreground applications on a mobile device in distributed caching |
WO2013116856A1 (en) | 2012-02-02 | 2013-08-08 | Seven Networks, Inc. | Dynamic categorization of applications for network access in a mobile network |
US9326189B2 (en) | 2012-02-03 | 2016-04-26 | Seven Networks, Llc | User as an end point for profiling and optimizing the delivery of content and data in a wireless network |
US9020888B1 (en) | 2012-04-04 | 2015-04-28 | Nectar Services Corp. | Data replicating systems and data replication methods |
US8812695B2 (en) | 2012-04-09 | 2014-08-19 | Seven Networks, Inc. | Method and system for management of a virtual network connection without heartbeat messages |
WO2013155208A1 (en) | 2012-04-10 | 2013-10-17 | Seven Networks, Inc. | Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network |
WO2014011216A1 (en) | 2012-07-13 | 2014-01-16 | Seven Networks, Inc. | Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications |
US9161258B2 (en) | 2012-10-24 | 2015-10-13 | Seven Networks, Llc | Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion |
US9307493B2 (en) | 2012-12-20 | 2016-04-05 | Seven Networks, Llc | Systems and methods for application management of mobile device radio state promotion and demotion |
US9241314B2 (en) | 2013-01-23 | 2016-01-19 | Seven Networks, Llc | Mobile device with application or context aware fast dormancy |
US8874761B2 (en) | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
US8750123B1 (en) | 2013-03-11 | 2014-06-10 | Seven Networks, Inc. | Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network |
US9332404B2 (en) | 2013-03-15 | 2016-05-03 | Spireon, Inc. | Server abstracted messaging system |
US9065765B2 (en) | 2013-07-22 | 2015-06-23 | Seven Networks, Inc. | Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network |
CN103684808B (zh) * | 2013-12-30 | 2017-02-08 | 腾讯科技(深圳)有限公司 | 广播消息的发送方法及服务器 |
WO2015140745A2 (en) * | 2014-03-19 | 2015-09-24 | Ascom Deutschland Gmbh | A system and method for managing workflows associated with a document exchanged between a first service provider and a second service provider |
US10376792B2 (en) | 2014-07-03 | 2019-08-13 | Activision Publishing, Inc. | Group composition matchmaking system and method for multiplayer video games |
GB2530781A (en) | 2014-10-02 | 2016-04-06 | Ibm | Processing messages for retrieval from a message queuing system |
US10118099B2 (en) | 2014-12-16 | 2018-11-06 | Activision Publishing, Inc. | System and method for transparently styling non-player characters in a multiplayer video game |
US10303782B1 (en) | 2014-12-29 | 2019-05-28 | Veritas Technologies Llc | Method to allow multi-read access for exclusive access of virtual disks by using a virtualized copy of the disk |
US10315113B2 (en) | 2015-05-14 | 2019-06-11 | Activision Publishing, Inc. | System and method for simulating gameplay of nonplayer characters distributed across networked end user devices |
US10471348B2 (en) | 2015-07-24 | 2019-11-12 | Activision Publishing, Inc. | System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks |
CN105516487B (zh) * | 2015-12-04 | 2019-07-16 | 上海斐讯数据通信技术有限公司 | 广播接收方法、系统及设备 |
US10846779B2 (en) | 2016-11-23 | 2020-11-24 | Sony Interactive Entertainment LLC | Custom product categorization of digital media content |
US10500498B2 (en) | 2016-11-29 | 2019-12-10 | Activision Publishing, Inc. | System and method for optimizing virtual games |
US10860987B2 (en) | 2016-12-19 | 2020-12-08 | Sony Interactive Entertainment LLC | Personalized calendar for digital media content-related events |
US11040286B2 (en) | 2017-09-27 | 2021-06-22 | Activision Publishing, Inc. | Methods and systems for improved content generation in multiplayer gaming environments |
US10561945B2 (en) | 2017-09-27 | 2020-02-18 | Activision Publishing, Inc. | Methods and systems for incentivizing team cooperation in multiplayer gaming environments |
US10974150B2 (en) | 2017-09-27 | 2021-04-13 | Activision Publishing, Inc. | Methods and systems for improved content customization in multiplayer gaming environments |
US10864443B2 (en) | 2017-12-22 | 2020-12-15 | Activision Publishing, Inc. | Video game content aggregation, normalization, and publication systems and methods |
US10931991B2 (en) | 2018-01-04 | 2021-02-23 | Sony Interactive Entertainment LLC | Methods and systems for selectively skipping through media content |
US11679330B2 (en) | 2018-12-18 | 2023-06-20 | Activision Publishing, Inc. | Systems and methods for generating improved non-player characters |
US11097193B2 (en) | 2019-09-11 | 2021-08-24 | Activision Publishing, Inc. | Methods and systems for increasing player engagement in multiplayer gaming environments |
US11712627B2 (en) | 2019-11-08 | 2023-08-01 | Activision Publishing, Inc. | System and method for providing conditional access to virtual gaming items |
US11457057B2 (en) * | 2020-03-11 | 2022-09-27 | Microsoft Technology Licensing, Llc | Systems and methods for establishing highly secure and resilient persistent communication connections |
US11524234B2 (en) | 2020-08-18 | 2022-12-13 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically modified fields of view |
US11351459B2 (en) | 2020-08-18 | 2022-06-07 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4572509A (en) | 1982-09-30 | 1986-02-25 | Sitrick David H | Video game network |
US4470954A (en) * | 1983-06-13 | 1984-09-11 | Chiknas Steven G | Rotor or carrier for centrifugal analyzer and bead washer |
US4740954A (en) | 1986-12-31 | 1988-04-26 | Bell Communications Research, Inc. | Multicast routing algorithm |
US4984235A (en) | 1987-04-27 | 1991-01-08 | Thinking Machines Corporation | Method and apparatus for routing message packets and recording the roofing sequence |
US5117420A (en) | 1987-04-27 | 1992-05-26 | Thinking Machines Corporation | Method and apparatus for routing message packets |
US4807224A (en) | 1987-08-21 | 1989-02-21 | Naron Steven E | Multicast data distribution system and method |
US4998199A (en) | 1987-10-02 | 1991-03-05 | Namco Ltd. | Game machine system with machine grouping feature |
US5079767A (en) * | 1988-09-27 | 1992-01-07 | Digital Equipment Corporation | Method of multicast message distribution |
US5083800A (en) | 1989-06-09 | 1992-01-28 | Interactive Network, Inc. | Game of skill or chance playable by several participants remote from each other in conjunction with a common event |
US5089813A (en) | 1989-07-19 | 1992-02-18 | Motorola, Inc. | Method of super battery saving in a selective call receiver |
US4991171A (en) | 1989-09-26 | 1991-02-05 | At&T Bell Laboratories | Broadcast packet switch network |
US5150464A (en) * | 1990-06-06 | 1992-09-22 | Apple Computer, Inc. | Local area network device startup process |
US5309437A (en) * | 1990-06-29 | 1994-05-03 | Digital Equipment Corporation | Bridge-like internet protocol router |
JPH077975B2 (ja) | 1990-08-20 | 1995-01-30 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ伝送を制御するためのシステムおよび方法 |
US5251205A (en) | 1990-09-04 | 1993-10-05 | Digital Equipment Corporation | Multiple protocol routing |
US5245608A (en) * | 1990-09-26 | 1993-09-14 | International Business Machines Corporation | Logical grouping of layer entities in a layered communication architecture |
CA2048306A1 (en) * | 1990-10-02 | 1992-04-03 | Steven P. Miller | Distributed configuration profile for computing system |
US5297143A (en) | 1990-12-03 | 1994-03-22 | Echelon Systems, Corp. | Network communication protocol including a reliable multicasting technique |
US5150410A (en) | 1991-04-11 | 1992-09-22 | Itt Corporation | Secure digital conferencing system |
GB2254980B (en) | 1991-04-16 | 1995-03-08 | Roke Manor Research | Improvements in or relating to multicast server apparatus |
US5257113A (en) | 1991-09-20 | 1993-10-26 | International Business Machines Corporation | Video mixing technique using JPEG compressed data |
US5590281A (en) | 1991-10-28 | 1996-12-31 | The United States Of Americas As Represented By The Secretary Of The Navy | Asynchronous bidirectional application program processes interface for a distributed heterogeneous multiprocessor system |
US5502726A (en) | 1992-01-31 | 1996-03-26 | Nellcor Incorporated | Serial layered medical network |
US5309433A (en) * | 1992-06-18 | 1994-05-03 | International Business Machines Corp. | Methods and apparatus for routing packets in packet transmission networks |
CA2094410C (en) | 1992-06-18 | 1998-05-05 | Joshua Seth Auerbach | Distributed management communications network |
US5289460A (en) | 1992-07-31 | 1994-02-22 | International Business Machines Corp. | Maintenance of message distribution trees in a communications network |
US5329619A (en) * | 1992-10-30 | 1994-07-12 | Software Ag | Cooperative processing interface and communication broker for heterogeneous computing environments |
US5365523A (en) | 1992-11-16 | 1994-11-15 | International Business Machines Corporation | Forming and maintaining access groups at the lan/wan interface |
EP0598969B1 (en) * | 1992-11-27 | 1999-02-10 | International Business Machines Corporation | Inter-domain multicast routing |
US5481735A (en) | 1992-12-28 | 1996-01-02 | Apple Computer, Inc. | Method for modifying packets that meet a particular criteria as the packets pass between two layers in a network |
JPH06253308A (ja) | 1993-03-01 | 1994-09-09 | Fujitsu Ltd | 映像通信制御方式 |
ZA943336B (en) | 1993-05-19 | 1995-08-11 | Menashe Julian | Interactive computerised gaming system with remote terminals |
US5511168A (en) | 1993-07-01 | 1996-04-23 | Digital Equipment Corporation | Virtual circuit manager for multicast messaging |
US5483664A (en) * | 1993-07-26 | 1996-01-09 | Motorola, Inc. | Cellular communications with scheduled handoffs |
WO1995010911A1 (en) * | 1993-10-12 | 1995-04-20 | Intel Corporation | Method and system for multicasting related data streams on a computer network |
AU7966594A (en) * | 1993-10-12 | 1995-05-04 | Intel Corporation | Method and system for multicasting formatted data on a computer network |
US5453780A (en) | 1994-04-28 | 1995-09-26 | Bell Communications Research, Inc. | Continous presence video signal combiner |
US5586257A (en) | 1994-05-05 | 1996-12-17 | Perlman; Stephen G. | Network architecture to support multiple site real-time video games |
US5558339A (en) | 1994-05-05 | 1996-09-24 | Perlman; Stephen G. | Network architecture to support recording and playback of real-time video games |
EP0774186A4 (en) | 1994-05-05 | 2005-07-20 | Catapult Entertainment Inc | NETWORK ARCHITECTURE FOR REAL-TIME VIDEO GAMES |
US5740231A (en) * | 1994-09-16 | 1998-04-14 | Octel Communications Corporation | Network-based multimedia communications and directory system and method of operation |
US5517494A (en) * | 1994-09-30 | 1996-05-14 | Apple Computer, Inc. | Method and system of multicast routing for groups with a single transmitter |
US5805830A (en) | 1994-09-30 | 1998-09-08 | Intel Corporation | Method and apparatus for managing communications with selective subsets of conference participants |
US5685775A (en) | 1994-10-28 | 1997-11-11 | International Business Machines Corporation | Networking video games over telephone network |
US5630757A (en) | 1994-11-29 | 1997-05-20 | Net Game Limited | Real-time multi-user game communication system using existing cable television infrastructure |
JP3121221B2 (ja) | 1995-02-07 | 2000-12-25 | 株式会社日立製作所 | 情報処理システムの通信方法および情報処理システム |
US5594732A (en) | 1995-03-03 | 1997-01-14 | Intecom, Incorporated | Bridging and signalling subsystems and methods for private and hybrid communications systems including multimedia systems |
US5674127A (en) | 1995-03-07 | 1997-10-07 | Habilas, Inc. | Multisite multiplayer interactive electronic entertainment system having a partially player defined universe |
US5581552A (en) | 1995-05-23 | 1996-12-03 | At&T | Multimedia server |
US5930259A (en) | 1995-08-25 | 1999-07-27 | Kabushiki Kaisha Toshiba | Packet transmission node device realizing packet transfer scheme and control information transfer scheme using multiple virtual connections |
US5784568A (en) | 1995-08-31 | 1998-07-21 | Intel Corporation | Multi-party audio chat system which allows individual user utterances to be staged separately to render received utterances in order |
US5729540A (en) | 1995-10-19 | 1998-03-17 | Qualcomm Incorporated | System and method for scheduling messages on a common channel |
US5684800A (en) | 1995-11-15 | 1997-11-04 | Cabletron Systems, Inc. | Method for establishing restricted broadcast groups in a switched network |
US5812552A (en) | 1996-03-19 | 1998-09-22 | At & T Corp | Method and apparatus for dynamically forming multimedia emulated local area networks |
US5778187A (en) | 1996-05-09 | 1998-07-07 | Netcast Communications Corp. | Multicasting method and apparatus |
US5761436A (en) | 1996-07-01 | 1998-06-02 | Sun Microsystems, Inc. | Method and apparatus for combining truncated hyperlinks to form a hyperlink aggregate |
-
1996
- 1996-02-01 US US08/595,323 patent/US5822523A/en not_active Expired - Lifetime
-
1997
- 1997-01-21 JP JP9527663A patent/JP2000504133A/ja active Pending
- 1997-01-21 EP EP97904759A patent/EP1012724A1/en not_active Withdrawn
- 1997-01-21 AU AU17471/97A patent/AU1747197A/en not_active Abandoned
- 1997-01-21 WO PCT/US1997/000567 patent/WO1997028502A1/en not_active Application Discontinuation
- 1997-07-18 US US08/896,797 patent/US6018766A/en not_active Expired - Lifetime
-
1999
- 1999-09-28 US US09/407,371 patent/US6226686B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1012724A1 (en) | 2000-06-28 |
US6018766A (en) | 2000-01-25 |
US5822523A (en) | 1998-10-13 |
AU1747197A (en) | 1997-08-22 |
US6226686B1 (en) | 2001-05-01 |
WO1997028502A1 (en) | 1997-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000504133A (ja) | 対話型アプリケーションのためのグループサーバー通信システム | |
US10652147B2 (en) | Packet coalescing | |
US7142509B1 (en) | Method and apparatus providing for delivery of streaming media | |
US7827304B2 (en) | Method and system for virtual multicast networking | |
US6795866B1 (en) | Method and apparatus for forwarding packet fragments | |
US6735201B1 (en) | Efficient network multicast switching apparatus and methods | |
EP0889624B1 (en) | Trunking ethernet-compatible networks | |
EP0909062A1 (en) | Methods and apparatus for accelerating OSI layer 3 routers | |
WO2011119793A2 (en) | Managing network communications between network nodes and stream transport protocol | |
EP1194876B1 (en) | Method and apparatus in a communication network | |
JPH1013442A (ja) | マルチメディアエミュレーテッドローカルエリア網をダイナミックに形成するための方法および装置 | |
US7596595B2 (en) | Efficient unicast-based multicast tree construction and maintenance for multimedia transmission | |
US6023734A (en) | Establishing direct communications between two hosts without using a high performance LAN connection | |
US6909717B1 (en) | Real time ethernet protocol | |
US6515994B1 (en) | Method of communication in a communications network and apparatus therefor | |
USH2065H1 (en) | Proxy server | |
Oliveira et al. | Router level filtering for receiver interest delivery. | |
Yano et al. | The breadcrumb forwarding service: A synthesis of PGM and EXPRESS to improve and simplify global IP multicast | |
WO2002080018A1 (en) | Simulating high-speed access on a low-bandwidth network connection | |
CN1330137C (zh) | 向局域网内特定目标发送地址解析协议请求报文的方法 | |
Fisher | Multicast issues for collaborative virtual environments | |
US8131867B1 (en) | Dynamic layer congestion control for multicast transport | |
Raghavendra et al. | Multicast routing in internetworks using dynamic core based trees | |
CN102075514B (zh) | 一种网络音频传输方法 | |
JP2001326685A (ja) | 同報送信システム及びその宛先データベース管理方式 |