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
Application number
JP9527663A
Other languages
English (en)
Inventor
ジョセフ サミュエル,ダニエル
ピーター ウィアトコウスキー,マーク
ジャッキエル ロスチャイルド,ジェフリー
Original Assignee
エムパス インターアクティブ,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24382776&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2000504133(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by エムパス インターアクティブ,インコーポレイテッド filed Critical エムパス インターアクティブ,インコーポレイテッド
Publication of JP2000504133A publication Critical patent/JP2000504133A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/327Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the session layer [OSI layer 5]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer 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の上位レベルプロトコルアドレスを含む、ステップと、 該サーバーが、該ユニキャストネットワークを介して該ペイロード部分を、該 第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のネットワークアドレスセットに関連付けられた選択されたホストコンピュ ータに伝送するステップと、 を包含する方法。
JP9527663A 1996-02-01 1997-01-21 対話型アプリケーションのためのグループサーバー通信システム Pending JP2000504133A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 同報送信システム及びその宛先データベース管理方式