JP3690809B2 - 不要な再送信を防止するarq技術を用いたネットワークマルチキャスティング方法 - Google Patents

不要な再送信を防止するarq技術を用いたネットワークマルチキャスティング方法 Download PDF

Info

Publication number
JP3690809B2
JP3690809B2 JP52237396A JP52237396A JP3690809B2 JP 3690809 B2 JP3690809 B2 JP 3690809B2 JP 52237396 A JP52237396 A JP 52237396A JP 52237396 A JP52237396 A JP 52237396A JP 3690809 B2 JP3690809 B2 JP 3690809B2
Authority
JP
Japan
Prior art keywords
server
client
multicast
data
block
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.)
Expired - Lifetime
Application number
JP52237396A
Other languages
English (en)
Other versions
JPH10512726A (ja
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=23481110&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP3690809(B2) "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 JPH10512726A publication Critical patent/JPH10512726A/ja
Application granted granted Critical
Publication of JP3690809B2 publication Critical patent/JP3690809B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • 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/1836Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
    • 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/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/1438Negotiation of transmission parameters prior to communication
    • H04L5/1446Negotiation of transmission parameters prior to communication of transmission speed
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • 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/24Negotiation of communication capabilities
    • 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/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/22Negotiating communication rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Description

関連する出願への相互参照
本願は、1995年1月19日に出願され、本願の出願日の時点では係属中である、米国特許出願第08/375,493号(代理人番号第PSM-001号)に関連している。また、本願は、その他2つの米国特許出願にも関連している。これらその他の出願は、ともに本願と同じ日に米国特許および商標庁に出願される。これらその他の出願は、代理人番号第STR-001CP1号および第STR-001CP2号により識別される。これら2つのその他の出願および米国特許出願第08/375,493号はいずれも、本願において参考として援用される。
発明の分野
本発明は、データ送信に関する。具体的には、本発明は、サーバからクライアントへの高速で信頼性の高いファイル送信に関する。
発明の背景
ワイドエリアネットワーク(WAN)のようなコンピュータネットワークは、サーバノードおよび1以上のクライアントノードのようなネットワーク加入者の間での通信を可能にするように、ユニキャスト、マルチキャストおよびブロードキャストサービスを提供している。マルチキャストフレームリレーは、コンピュータネットワーク上で通信するために利用されるサービスである。マルチキャストIPテクノロジーもまた、コンピュータネットワーク上で通信するために利用されるサービスである。ブロードキャストフレームリレーは、衛星ネットワーク上で通信するために利用されるサービスである。ここで、用語「ブロードキャスト」は、ネットワークに接続されたクライアントノードのすべてに情報を送るサーバノードを指している。用語「マルチキャスト」は、ネットワークに接続されたすべてのクライアントノード中の1サブセットに情報を送るサーバノードを指している。ブロードキャストおよびマルチキャストは、WANを用いた比較的、新しいネットワーク機能である。
情報プロバイダの中には、中央ロケーションにおけるサーバノードから遠隔カスタマロケーションにおける1以上のクライアントノードへと、サーバおよびクライアントが結合されているコンピュータネットワークを介して、情報を電子的にブロードキャストまたはマルチキャストすることにより情報を伝達したいと望んでいるものがある。ブロードキャストおよびマルチキャストネットワークは、伝達した情報についての応答確認を全く提供しないので、これらのサーバは信頼できない可能性がある。このような信頼性の低さは、一般に、情報プロバイダには望ましくなく、受け入れがたいことである。
コンピュータネットワークで通常用いられる1組のプロトコルは、TCP/IPである。これは、インターネットで用いられているプロトコルである。TCPとは、伝送制御プロトコルを表し、IPとは、インターネットプロトコルを表す。TCP/IPに関しては、2つのファイル転送プロトコルが利用可能である。すなわち、(i)TCPの最上位のアプリケーションをランするファイル転送プロトコル(FTP)と、(ii)UDPの最上位でランする簡易ファイル転送プロトコル(TFTP)との2つである。UDPとは、ユーザデータグラムプロトコルを表す。TCPおよびUDPはともに、インターネットワーク(すなわち、ネットワークのネットワーク)を介した情報のエンドツーエンド伝達の責任をもつトランスポートプロトコルである。
FTPおよびTFPTはともに、ポイントツーポイント(つまり、ユニキャスト)ファイル転送のみをサポートする。FTPは、信頼性ある伝達についてはTCPに依存する。なぜなら、TCPは、コネクションオリエンテッド応答確認型トランスポートプロトコルであるからである。TFTPは、信頼性については独自の応答確認を提供する。なぜなら、TFTPは、応答確認をサポートしないコネクションレストランスポートサービスであるUDPの最上位でランするからである。
TCPのような接続指向のプロトコルは、バーチャルサーキット接続のセットアップおよびティアダウンを要求する。そのオーバーヘッドが比較的長いので、TCPおよびこれに類似したプロトコルは、セルラーディジタルパケットデータ(CDPD)ネットワークのような本質的には貧弱な接続のネットワークでは望ましくない。CDPDは、TCP/IPを、ネットワークで用いられる1次プロトコルスイートとして利用する。CDPD無線ネットワークは、UDP(コネンクションレストランスポート層)よりも上位のアプリケーションのみで動作することを勧める。よって、CDPDに選択されるファイル転送プロトコルは、TFTPとなる。
TFTPは、ファイルを、それぞれのデータについて512バイトを有する複数のパケットに分解した後、それぞれのデータパケットを1度に1個ずつ送る。それぞれのデータパケットが送られた後、TFTPは、送信側のノードに次のデータパケットの送信を許可する前に、送信側のノードに、少なくとも1つの受信側ノードからの応答確認を待たせる。TFTPは、例えば、Douglas E. Comer(Internetworking with TCP/IP, Volume I, Principles, Protocols and Architecture、第2版、Prentice Hall、1991年、第23章、第377〜390頁)により著された文献に記載されている。
応答確認はTFTPの一部ではあるものの、TFTPにおいて用いられている応答確認スキームは、ネットワーク遅延が顕著になるにつれて、および/または受信側ノード中の2つ以上で異なってくると、非常に効率が悪くなる。現在知られているデータ転送メカニズムの中には、TFTPと同様に、パケット毎の応答確認を要求するものもある。よって、このようなその他のメカニズムも、データ全体の転送については、比較的低速である。
発明の要旨
本発明の目的は、通信リンク上でサーバから1つ以上のクライアントへとファイルを高速かつ信頼性よく送信することである。ファイルの転送は、好ましくは、複数のクライアントへのマルチキャスト送信である。概略的にいうと、本発明によるファイル転送は、たとえ遅延が顕著になっても、および/または受信側クライアント中の2つ以上で遅延が異なってきても、リンク遅延時にさえ速度、信頼性および効率の低下を被ることがない。本発明は、コンピュータソフトウェアファイルを電子的に分配するのに理想的なメカニズムを提供する。
サーバを複数のクライアントに結合し、それらの間での通信を可能にする通信リンクは、コンピュータネットワーク(例えば、LAN、WAN、インターネットなど)でも、無線ネットワーク(例えば、CDPDのようなパケットセルラーデータネットワーク)でも、これらのタイプの通信媒体の組み合わせでも、あるいは、一般に高速で遅延の少ないネットワークである、例えば衛星ネットワークのようなその他の通信媒体であってもよい。
本発明によれば、クライアントは、サーバがデータファイルを送っている間に、否定応答確認のみをサーバに送り返す。この通信は、連続的である。すなわち、サーバは、データの送信を中止してクライアントからの否定応答確認を待つのではなく、サーバは、サーバがデータを送信している間にクライアントの否定応答確認を受信する。クライアントの否定応答確認は、サーバに対して、特にどのパケットが再送信される必要があるかを指示する。パケットが再送信される必要があるのは、例えば、そのパケットが、1以上のクライアントによって受信されなかったか、あるいは誤って受信されたからである。サーバがリンクを介してデータの全体(例えば、ファイルの全体)をクライアントに送った後、サーバは、第2ラウンドの送信をおこなう。この第2ラウンドでは、サーバは、クライアントにより再送信を要求すると指示された特定のパケットのみを再送信する。この第2ラウンドの間も、クライアントは、やはり否定応答確認(すなわち、全く受信されなかったか、または正しく受信されなかったパケットの指示)のみを送る。その後、このプロセスは、それぞれのクライアントがすべてのパケットを正しく受信するのに必要であれば、さらに多数のラウンドの再送信を継続しておこなうことができる。あるいは、再送信ラウンドは、所定の回数だけ繰り返されてもよい。この回数は修正可能である(つまり、この回数は設定可能である)。後続するラウンドはそれぞれ、典型的には、その直前のラウンドよりも少数のパケットの送信を伴う。なぜなら、直前で誤りを含むパケットのみが再び送られるからである。
このスキームは、サーバから1以上のクライアントへとデータを迅速に、かつ信頼性よく転送する。このスキームが迅速なのは、パケット間の境界で停止して、今送信したばかりのパケットについてクライアントからの否定応答確認を待つことなく、ファイルの全体を転送することがサーバに許可されるからである。すなわち、データの転送は、それぞれのデータ転送ラウンドが、特定のクライアントの受信問題に関わりなく、および/またはどのようなリンク遅延の問題(例えば、パケットがサーバからあるクライアントへ到達するのに要する時間と、パケットがそのサーバから別のクライアントへと到達するのに要する時間との間の差)にも関わりなく継続するという点で、否定応答確認には直接結びつくものではない。また、後続するそれぞれの送信ラウンドは、直前のラウンドの間に受信されなかったか、または誤って受信されたパケットの送信のみを伴うので、概略的にいうと、サーバが、同一のファイルの全体を1回よりも多く送ることが必要になることは決してない。このスキームの信頼性が高いのは、それぞれのクライアントにあらゆるパケットを提供しようとしているからであり、また、概略的にいうと、特定個人のクライアントの受信問題が、その他のクライアントの受信速度および精度に悪影響を及ぼすことがないからである。
本発明によるデータ転送は、クライアントの誰からも肯定応答確認を要求することはないし、また期待することもない。もし否定応答確認がサーバに戻ってきて受信されなければ、肯定応答確認が暗黙のうちに示される。また、本発明によれば、好ましくは、複数の否定応答確認が収集され、「マルチプルセレクティブリジェクト否定応答確認」としてサーバに送り返される。典型的には、少なくとも1つのこのようなマルチプルセレクティブリジェクト否定応答確認が、例えば、サーバからクライアントへの第1ラウンドの送信の間にサーバに送り返される。1つのマルチプルセレクティブリジェクト否定応答確認が、何百もの個別否定応答確認を表現することができる。これらの否定応答確認の集合を用いることによって、リンク上のトラヒックを大幅に減らすことができ、サーバからクライアントへのデータ転送あるいはその他の目的のためにリンク上の帯域幅を解放することができる。本発明では、概略的にいうと、サーバとリンクとが、同時に、またはごく短い時間帯の間にまとめて戻ってくる多数の個別否定応答確認で閉塞されることはない。このように、リンク上でサーバへと送られつつある個別応答確認の個数を減らすことができる結果、スケーラビリティを改善できるという効果が得られ、有意な利点が得られる。すなわち、マルチプルセレクティブリジェクト否定応答確認を使用すれば、1個のファイルを送ることができるクライアントの数は、サーバに戻ってくる応答確認トラヒックが減るので増やすことができる。
本発明の好ましい実施の形態では、転送されるべきデータの全体(例えば、1個のファイル)は、複数のブロックに分割される。ここで、それぞれのブロックは複数のパケットを有する。サーバは、すべてのブロック(例えば、1個のファイル全体)の送信を終了すると、1ラウンドを完了する。1個の完全なブロックが送信された後、クライアントは、戻りユニキャスト通信パスを介して、否定応答確認をサーバに送り返す。ブロックの境界は、クライアントによる否定応答確認の送信をトリガする。ブロックNについて、否定応答確認がクライアントからサーバへと戻ってくる時、サーバは、ブロックN+1(つまり、後続ブロック)をクライアントに送出しつつあるか、または、サーバは、既にすべてのブロックの送信を終了している。
本発明によれば、以下の特徴が提供される。まず、伝送レートを設定し、マルチキャストグループを規定する能力が得られる。また、「マルチキャストネットワークプローブ」という特徴を用いて、容量が未知であるリンクについてその容量を決定し、同一の特徴を用いることによって、容量が既知であるリンクのフレームエラーレートを決定することができる。「マルチキャストピン」という特徴は、ソースと、マルチキャストグループのメンバーたちとの間のコネクティビティを決定するのに用いることができる。「シードグループ」は、リンクの容量を求めた後にセットアップすることができる。あるいは、もしその容量が分かっているのなら、第1のパスでは、最も高速のリンクによってソースに接続されている受け手はすべてのデータを受信するようにし、より低速なリンクの受け手は、そのデータの一部のみを受信するように、セットアップすることもできる。ソースからデータを受信できる受け手の数は、「否定応答確認収集」スキームを用いることによって、大幅に(例えば、1000倍以上に)増やすことができる。これにより、「複製点(replication point)」(好ましくは、ルータ)は、個々の否定応答確認を収集し、それらを1単位として次のレベルに送り出すことができる。
なお、用語「パケット」、「データグラム」および「フレーム」は、本願明細書においては、同一のものを識別するために用いられており、互いに置き換え可能な用語である。すなわち、これらの用語は、ソースアドレスおよびデスティネーションアドレスをその一部としてもつことができ、リンクを介して送信されるデータまたは情報の単位を指す言葉である。
本発明の上記目的、局面、特徴および利点、ならびに、その他の目的、局面、特徴および利点は、以下の説明および請求の範囲から明らかになるであろう。
【図面の簡単な説明】
図面において、同一の参照番号は、すべての図を通して広く同一の部分を指している。また、これらの図面は必ずしも現実の縮尺に即したものではなく、概略的には、本発明の原理を説明するために強調されているところもある。
図1は、本発明によるデータ送信動作のフローチャートである。
図2は、サーバが1以上のクライアントと通信することができるようにする物理構成の図である。
図3は、TCP/IPプロトコルスタックに対する本発明の一実施の形態のロケーションを示す図である。
図4は、本発明による、「第1パス」のブロックおよびフレーム送信および応答確認プロセスの図である。
図5は、本発明の少なくとも一部が実施可能である、サーバの簡略ブロック図である。
図6は、マルチキャストグループのメンバーたちが別々の容量のリンクにより接続されている、混成マルチキャストネットワークの図である。
図7は、スケーラビリティを向上させ、何百万もの受け手が送り手からのデータを迅速に、かつ信頼性よく受信できるようにする、本発明による応答確認収集という特徴を説明する図である。
図8は、可変ブロックサイズ方法を用いる、輻輳/フロー制御に関連する図である。
図9は、ブロック境界よりも前にクライアントからの否定応答確認を要請する好ましいステータスリクエスト方法を用いる、輻輳/フロー制御に関連する図である。
説明
図1および図2を参照すると、本発明によれば、通信リンク24上でのソースつまりサーバ20から1以上の受け手つまりレシーバつまりクライアント221、222、…、22Nへの迅速で、信頼性の高いデータ送信は、複数のフレームのかたちのデータ(例えば、ファイル)を、そのファイルの全体(すなわち、それら複数のフレームのすべて)がリンク24上で送信されてしまうまで、リンク24上で1以上の受け手22に送信すること(ステップ10)を含む。これらのフレームが送信されている間に、1以上の受け手22からのフレーム否定応答確認がリンク24を介して受信される(ステップ10)。もし、ファイルの全体がリンク24上で送信された後に、いくつかのフレームがリンク24上で再送信される必要があると否定応答確認が指示すれば(ステップ12)、これらいくつかのフレームのみが再送信される(ステップ14)。これらいくかのフレームがリンク24上で再送信されている間に、1以上の受け手22からのフレーム否定応答確認がリンク24を介して受信される(ステップ14)。このプロセスは、その後、ステップ12、14および16によって示されるフレーム再送信の要求がなくなるまで、必要な回数だけ繰り返される。ステップ16では、サーバ20は、すべての受け手22による「ダン(done)」メッセージがサーバ20において受信されたかどうかを判定する。もし受け手が「ダン」したのなら、その受け手は、すべてのフレームを既に受信しており、サーバ20に対して「ダン」メッセージを既に送ってその旨を示していることになる。「ダン」である受け手たちは、自分の名前が「ダンリスト」に載っているのを見るまで「ダン」メッセージをサーバに送り続ける。この「ダンリスト」は、すべての「ダン」である受け手(つまり、「ダンリスト」に載っている受け手)に対して、「ダン」メッセージをサーバに送ることをやめることを指示する通知としてサーバが送るものである。所定の時間の経過後、または所定のイベントの後に、サーバ20は、応答しないすべての受け手22(すなわち、サーバが、「ダン」メッセージを受信していない受け手)に対してステータスリクエストを送る(ステップ18)。ファイル全体の初期転送および後続するエラーフレームの一回の送信を、ここでは広く「ラウンド」または「パス」と称することにする。
第1のパスでは、サーバ20は、好ましくは、ファイルをすべてのクライアント22中の1サブセットにマルチキャストする。典型的には、これらのクライアント22のうち少なくとも2つで、それぞれに伴うサーバ・クライアント間フレーム伝送遅延が異なってくる。本発明によるデータ送信は、たとえ遅延の差が顕著であっても、また、たとえあらゆるクライアント22でそれぞれに伴う遅延が異なっているとしても、このような遅延の差に影響されることはない。
リンク24は、コンピュータネットワーク(例えば、LAN、WAN、インターネットなど)でも、無線ネットワーク(例えば、セルラーデータネットワーク)でも、これら2つのタイプの通信媒体の組み合わせでも、あるいは、典型的には、高速で遅延の少ない、例えば衛星ネットワークのようなその他の通信媒体であってもよい。第1ラウンドの間にリンク24上で送信される複数のフレームは、それら全部を合わせて、サーバ20から1以上のクライアント22に転送されている、1個のコンピュータデータファイルを表すことができる。
サーバ20およびクライアント22は、DOSを含む多種多様なオペレーティングシステムのいずれか1つをランする、PCあるいはワークステーションのようなコンピュータでありうる。図5を参照すると、サーバ20は、どのタイプのコンピュータであるかには関わりなく、典型的には、中央プロセッサ50と、プログラムおよび/またはデータを格納するメインメモリユニット52と、入力/出力コントローラ54と、ネットワークインタフェース56と、キーボートやマウスのような1つ以上の入力デバイス58と、ディスプレイデバイス60と、固定されたドライブユニット、すなわちハードディスクドライブユニット62と、フロッピーディスクドライブユニット64と、テープドライブユニット66と、これらの機器間での通信を可能にするようにこれらの機器を結合するデータバス68と、を備えている。クライアントコンピュータ22はそれぞれ、一般に、図5のサーバ20に含まれている機器のすべて、またはその一部を備えている。
ある実施の形態では、1つ以上のコンピュータプログラムが、サーバ20およびクライアント22の演算能力を規定する。これらのプログラムは、ハードドライブ62、フロッピードライブ64および/またはテープドライブ66を介してサーバ20およびクライアント22にロードされうる。あるいは、これらのプログラムは、メインメモリ52の永久記憶部分(例えば、ROMチップ)に常駐していてもよい。他の実施の形態では、サーバ20および/またはクライアント22は、コンピュータプログラムからインストラクションを受けることを必要とせずにここで記載されるすべての機能を実行する、特別に設計され、専用で、結線された電子回路を備えていてもよい。本発明は、例えば、クライアントソフトウェアの新しい改版レベルをサーバから1以上のクライアントへと電子的に、迅速かつ高い信頼性でロードするのに用いることができる。
図3を参照すると、本発明は、好ましくは、TCP/IPプロトコルスタック32のUDPよりも上位にあるアプリケーション層30で動作する。また、本発明は、ネットウェアSPX/IPXプロトコルスイートにおけるIPXのようなその他のプロトコルスタックに存在するコネクションレストランスポート層の上層にあるアプリケーション層において動作することもできる。UDPは、ユーザデータグラムプロトコルを表しており、また、あるコンピュータ上のアプリケーションプログラムが、別のコンピュータ上のアプリケーションプログラムへとデータグラムを送ることができるようにするのは、TCP/IP標準プロトコルである。UDPは、データグラムを伝達するためにインターネットプロトコル(IP)を用いる。UDPデータグラムがIPデータグラムと異なるのは、ダイアグラムの送り手に、受信側コンピュータ上の多数のデスティネーション(つまり、アプリケーションプログラム)からの識別を可能にする、プロトコルポートナンバをUDPデータグラムが含んでいることである。UDPデータグラムは、また、典型的には、送られているデータに対するチェックサムを含んでいる。
広くいうと、本発明によるデータ送信は、4つの局面、すなわち「アイドル」、「アナウンス/登録」、「転送」および「完了」を含んでいる。「アイドル」状態では、活動はおこなわれない。データの集合体(例えば、ファイル)がサーバ20により送信用に選択されると、「アナウンス/登録」フェーズに入る。これら4つのフェーズのいずれの間でも、サーバ20におけるオペレータにはすべてのファイルが利用可能である。
アナウンス/登録
このフェーズ(図1のステップ8)では、サーバは、クライアントに対して、1個のファイルがまさに転送されつつあることを「アナウンス」し、そのファイルの転送に伴うパラメータを提供する。このフェーズの最大持続時間は、分単位で表され、設定可能である。「アナウンス」メッセージは、マルチキャストグループをセットアップするのに用いられ、クラスDのアドレスは、マルチキャストグループの割り当てに用いられる。
クライアントは、「アナウンス」メッセージを受信したことをサーバに登録することを強制される。クライアントはこの「アナウンス」メッセージを見ると、自分が、そのメッセージ中で識別されているグループに関連づけられていることを確認する。レシーバが正しいサーバIPアドレスと、正しいポートナンバとをもっていることは、「アナウンス」メッセージを処理できるレシーバには暗黙のうちに示される。クライアントは、自分のアドレスが後続する「アナウンス」パケット内の登録されたクライアントリスト内にあるのを見るまで、「アナウンス」パケットに対して「登録」パケットを用いて自動的に応答する。「登録」パケットは、クライアントの加入に関するサーバへの肯定応答確認として作用する。いったんサーバがクライアントの「登録」パケットを受信すると、サーバは、そのクライアントを「アナウンス」パケットの次のブロードキャストにおけるクライアントリストに加える。クライアントリストは、サーバにより保守される。クライアントが、そのクライアントのIDがクライアントリスト内に含まれている「アナウンス」パケットを受信すると、そのクライアントの登録は完了する。期待されたすべてのレシーバが「アナウンス」メッセージに応答した時、または、「アナウンス」タイムアウトが時間切れになった時、これらのどちらが最初に起こっても、その時点でファイルの実際の転送が始まる。クライアントには、送られようとしているファイルを操作するリソースがあるので、このクライアントはそのグループに加入できることを、この登録は示している。望まざる加入を防止するために、グループセットアップ時に暗号鍵交換をおこなうことができる。いったんファイルの転送が始まると、「アナウンス」パケットは送られなくなり、「アナウンス」フェーズは、終了する(図1のステップ9)。
ファイル送信のすべての特性は、「アナウンス」パケットに入れて送信される。この「アナウンス」メッセージを受信するとただちに、クライアントは、ユニキャストデータグラムを用いてサーバに応答する。この応答は、レシーバがファイルを受信するための設備をもっているかどうかを示す。また、この応答は、送信アボートの場合には、クライアントが送信を続行(図1に示されている「再開」)するのに十分なコンテクストをもっているかどうかも示す。いくつかの事例でのアナウンス期間の持続時間は、サーバサイトのオペレータが、クライアントサイトに対する呼を開始し、コンピュータが利用可能ではないか、または転送用の設備をもっていないことを示すことができるだけの長さであるべきである。クライアントサイトでは、訂正は手動でなされてもよいし、あるいはそのように構成されている時には、クライアントが転送に参加できるようにリソースを解放するサーバからの遠隔制御の下になされてもよい。
全送信期間のどの時点においても、クライアントはこのパケットに応答して、そのエンドからの送信をアボートしたことを示し、メッセージ中にその理由を示すことができる。もし転送が完了以前に中断されたのなら、本発明では、ファイル中の既に送信に成功した部分を再び送ることなく、後に続行する(図1の「再開」)ことができる。このことは、非常に大きなファイルを送るときには、特に重要で有用な特徴である。この特徴を実現するために、クライアントは、部分的に受信済みのファイルを破棄しない。その代わり、クライアントは、部分的に受信済みのファイルを格納する。もし、ファイルが最初に送られている時、すべてのクライアント(例えば、1マルチキャストグループ内のすべてのクライアント)がそのファイルの全体を受信できないようにする問題が発生(例えば、ファイル送信中に何らかの理由でリンクが切れたときなど)すれば、後に送信は再開され、転送を完了することができる。再開時には、サーバは、受信されなかったデータフレームのリストをすべてのクライアントにクエリー(query)した後、サーバは、それらのフレームのみを送ることによって、転送を完了させ始める。よって、図1では、再開にあたって、ステップ10は、転送がアボートされなかった場合の通常の開始時のように、ファイルの最初のブロックの最初のフレームから開始するのではなく、初回のアボートされた送信の間に受信されなかった(つまり、否定応答確認された)フレームからまず開始する送信を伴う。
転送
データ転送フェーズに入ると、送信ログは、サーバにおいて保守される。このログは常にオンであり、すべてのイベントを見失わないようにする。それぞれのクライアントもまた、送信ログを保守する。それぞれのクライアントで保守されるログは、後に「完了」の項で参照する。
2ギガバイト以上のデータを有するファイルが転送されうる時、転送の全期間にわたってファイルの全体をサーバのメモリに保持しておくことは、一般に現実的ではない。そのファイルを受信することになるクライアントの数は、1000以上でありうるので、次のブロック転送に引き続いて移る前に、送信を一時中断して、それらのクライアントのそれぞれからの応答確認を待つことは、受け入れがたいことである。
サーバは、転送されるそれぞれのファイルを、フレームのブロックへと論理的に分解する。それぞれのブロックは、典型的には、複数のフレームを有しており、何千ものフレームを有する可能性もある。図4を参照すると、ある例では、サーバ20は、1個のファイルを4つのブロック、すなわちブロック1、ブロック2、ブロック3およびブロック4に分解している。ここで、それぞれのブロックは、1つ以上のフレームを有している。それぞれのブロックは、1個のブロックがサーバにより送られたとクライアントが判定したとき、転送に参加しているあらゆるクライアントにより否定応答確認される(だけで、肯定応答確認はされない)単位を表す。クライアントは、このことを、受信されたデータパケット中のブロック番号の変化により検出する。なぜなら、送られたそれぞれのフレームは、そのブロック番号と、そのブロック内でのフレーム番号とを示すからである。ファイルを複数のブロックに分解することにより、少なくとも2つの利点が得られる。すなわち、(i)要求される否定応答確認の個数を減らすことができ、かつ(ii)次のファイルパスの転送ブロックを決めるためのサーバでのメモリへの要求を減らすことができる。
データの転送は、否定応答確認に直接、結びつくものではない。転送は、どのような個別のクライアントによる否定応答確認を受信しそこねたとしても、あるいは、どのクライアントが、以前にデータパケットが受信しそこねたとしても、継続する。これによって、設計を簡単にすることができ、個々のクライアントの問題が、グループ全体には最小限の影響しか与えないようにすることが確実になる。なお、クライアントは、サーバから受信した内容に基づいてブロック否定応答確認を送ることについては、責任があることにも留意されたい。
図4を参照すると、サーバは、まず、第1のブロックの第1のフレーム(つまり、ブロック1の第1のフレーム)を送ることによって、転送を開始する。サーバは、これらのフレームを設定可能なレートで送る。このことは、基本転送レートが、パフォーマンス次第で減速させる(つまり、低くする)ことができることを表している。サーバは、完全なファイルがいったんネットワークに送られてしまう(つまり、ブロック1〜ブロック4が送信される)まで、ファイルのフレームを送り続ける。これが、第1パスまたは第1ラウンドとして規定され、図4において「B4」として表されているだけの量の時間を要する。クライアントの中には、第1パスの後、完全なファイル(つまり、4つのブロックのすべて)を正しく受信できた者もいる。そのような場合、それらのクライアントは、ファイルの受信を終了したことになる。1個以上のエラーを含むフレームを受信したか、または1個以上のフレームを全く受信していないクライアントは、そのファイルのいくつかの「部分」(つまり、誤って受信したフレーム、または受信しそこねたフレーム)を、後続するパスまたはラウンドで再び送ることを要求する。後続するパスまたはラウンドはそれぞれ、前回よりも少ない数のフレームの送信を要求する。なぜなら、前回のラウンドで否定応答確認されたフレーム(つまり、受信されなかったか、あるいは誤って受信されたフレーム)が、後続するラウンドでは再送信されるからである。
完了するための最大パスカウントまたは最大時間は、設定可能なパラメータでありうる。最大パス時間つまり最大持続時間までに、ファイルの全体を正しく受信できたわけではない複数のクライアントが存在する可能性がある。これらのクライアントはサーバにより識別される。また、サーバは、例えば、ユニキャストファイル転送プロセスを介して、残りの情報をこれらのクライアントが得ることができるようにするために、さらにアクションを起こすことができる。好ましい実施の形態では、クライアントは、「ダン」メッセージを送ることによって、ファイル全体を受信したことを示し、一方、サーバは、「ダンリスト」を送ることによって、「ダン」であるといっているクライアントを示す。もし、ある所定のイベント(例えば、所定の時間経過)の後、サーバが、いくつかのクライアントから「ダンメッセージ」を受け取っておらず、すべてのNAKがサービスされているのなら、サーバはそれらのクライアントに対してステータスリクエストメッセージを送り、さらなるデータを必要としているクライアントには、欠けているすべてのフレームを送る。依然として応答しないどのようなクライアントに対しても、例えばユニキャスト転送により、その後、サーバからそのクライアントへとファイルを送ることができる。
サーバがブロック境界(すなわち、図4ではB1、B2、B3およびB4)を通る時、個々のクライアントは、好ましくは、それぞれのブロックについて「マルチプルセレクティブリジェクト否定」応答確認(「Nak」)を送る。それぞれのブロックについてクライアントから送られてくるこれらの応答確認は、そのブロックの境界通過後、しばらくしてからサーバにおいて受信される。肯定応答確認は、暗黙のうちに示される。ある特定のブロックに対するマルチプルセレクティブリジェクト否定応答確認は、その特定のブロックにおける1個または多数のフレームが、これらのクライアントにより誤って受信されたか、あるいは、全く受信されなかったことを意味しており、何らかの理由でネットワークがそれらのフレームを伝達しなかったことを示している。よって、サーバに送られた応答確認は、誤って受信されたり、全く受信されなかったフレームがどれであるかを示している。
後続するパス(すなわち、図4に示す第1パスに続くパス)では、クライアントは、再び正しく受信されなかったブロックについての否定応答確認のみで応答する。サーバは、後続するパスで、さまざまなクライアントにより要求されたファイルの部分(フレーム)をすべてのクライアントに送るので、クライアントの多くが、それを既に第1パスで正しく受信している可能性がある。よって、それらのクライアントは、それを無視することになる。
一般に、クライアントからサーバに戻ってくるすべての情報は、サーバがそれらのフレームをクライアントに転送するのに用いる(1つ以上の)パスとは別の戻りパス上で送信されうる。しかし、ここでは、説明のために、通信リンク24(図2)または、サーバとクライアントとが通信できるようにするその他のパスは、サーバからクライアントへのリンクおよびクライアントへの戻りリンクの両方を広く意味するもの解釈されたい。
サーバは、転送およびその転送の加入者に関するさまざまな情報を保守する。好ましい実施の形態では、この情報は、データ構造またはリストのかたちでサーバにより保守される。サーバは、この情報を保守し、使用することによって、ファイル転送のステータスを記録し、決定する。
また、サーバは、すべてのクライアントからの個々のフレームに関するセレクティブリジェクトのすべてを示すフレームデータ構造も保守する。もし多数のクライアントが同一のフレームを受信しそこなったのなら、フレームデータ構造は、そのフレームが受信されなかったことを示すのみである。すなわち、フレームデータ構造は、サーバによりクライアント単位で保守されるわけではない。一般に、サーバが、受信されなかったフレームの詳細なリストを個々のクライアント単位で保守することは望ましくない。なぜなら、そのようなスキームは、特に多数(例えば、1000以上)のクライアントがマルチキャストに参加している時には、法外な量のメモリを用いることになるからである。例えば、1以上のクライアントが、ブロック1のフレーム24および25、ブロック2のフレーム1、ブロック9のいくつかのフレーム…を全く受信しなかったか、あるいは誤って受信したものとする。もしサーバにより保守されているフレームステータスが、ある特定のブロックのある特定のフレームが再送信される必要があることを示すのなら、クライアント中の少なくとも1人が、その特定のブロックを首尾よく完了したことを応答確認していないことは事実である。サーバがファイルの全体をいったん送信した後、サーバは、このフレームステータス情報を通過させ、そこにリストアップされているフレームのみを再び送信する。この操作は、すべてのクライアントが「ダンメッセージ」を送り終わり、フレームステータスリストが空になる(つまり、最大ラウンド数あるいは最大時間に到達する)まで、1パス毎に継続する。
なお、与えられたどのパスについても、もし否定応答確認が全くサーバに戻ってこないのなら、クライアントは、サーバによる次のパスの間、同じリジェクトおよび再送信リクエストメッセージを送り返すことになることには注意が必要である。このことは、もしある特定のクライアントがサーバにより受信されていないのなら、そのクライアントは、より長い時間のあいだ参加しなければならないが、そのクライアントが、残りの受信クライアントに顕著な影響を及ぼすことはないことを意味している。
サーバに格納されている情報の別の一部としては、マルチキャストグループに関する統計がある。送信が完了すると、オペレータがシステムパフォーマンスの問題および/または特定のクライアントのパフォーマンスの問題を判定する一助になるサマリー情報が送信データにのせられる。
ファイルを通した多数のパス:
いったんファイルが一回、完全に処理されると(つまり、第1パスまたは第1ラウンドが終了すると)、本発明による送信プロセスは、パスカウンタをインクリメントし、エラーのあった最初のブロックについて、サーバにあるフレームステータスリストをスキャンする。この最初のエラーブロックを発見するとただちに、サーバは、そのブロック中の受信されなかったパケットを再び送る。これらの受信されなかったパケットに対する否定応答確認は、前述したように、クライアントがブロック内のエラーを検出した時に、クライアントにより発生される。これは、第1パスとも一貫している。セレクティブリジェクト否定応答確認はすべて状態を示すものであるので、あるパスに固有ではない。ただし、それらの否定応答確認は、それぞれのパスで変化することはある。好ましい実施の形態では、マルチプルセレクティブリジェクト否定応答確認は、1個のワードの全体が1個のブロックを表し、そのワード中のそれぞれのビットが、そのブロックを構成する複数のフレームのそれぞれ異なる1つを表す、ビットマップのかたちをとる。
送信アボート:
もし、送信中に、修正不可能な欠陥に遭遇したか、あるいは、オペレータが手動でアボートしたのなら、送信アボートシーケンスが開始される。このシーケンスは、ある間隔のあいだ(例えば、送信ファイルにおいて指定された間隔のあいだ)、アボートメッセージを繰り返し送信することを必然的に伴う。レシーバは、このアボートメッセージを応答確認し、例えば、転送の潜在的続行(つまり再開)のためのコンテクストを保存するか、または、別の送信に備えてコンテクストを再び初期化するアクションを起こすことができる。ユーザが、送信アボートを初期化することを可能にする設備がある。理由コードは、一時中断のためにも、あるいは初期化のためにも設定されうる。前者の場合、送信は、その後ある時刻に続行または再開されうる。一方、後者の場合、クライアントは、そのコンテクストを再び初期化するようにリクエストされる。
完了
サーバは、クライアントから「ダンメッセージ」を受信することによって、個々のクライアントの完了を検出する。クライアントは、自分にファイルのすべてのブロックが手に入るとすぐに終了したことが分かるが、サーバが完了を確認するまでは、「ダンメッセージ」を送り続けなければならない。サーバは、あるクライアントが「ダン」であることを、そのクライアントのアドレスを「ダンリスト」に入れ、そのリストを複数のクライアントに送り出すことによって、確認する。クライアントは、自分のアドレスが「ダンリスト」にリストアップされているのを見て、転送を完了したことを知る。その後、このクライアントは、その送信ログを更新することによって、転送が上首尾に完了したことを示す。
サーバまたはクライアントからの転送をアボートする能力も設けられる。アボートパケットは、サーバおよびクライアントに対して、転送を早くにアボートする能力を与える。もしクライアントがアボートを送れば、サーバは、そのクライアントをグループから除く。もしサーバがアボートすれば、転送は、ファイルの全体を第1パスで送ってしまわなくても、再開可能である。
ステータスリクエスト:
もし、第1パスの後、サーバがクライアントからDONEもNAKも受信しなかったのなら、ステータスが分かっていないクライアントに対してクエリーが直接、送られる。これらの応答は、標準的な応答メッセージのかたちをとる。また、これらの応答は、もしリポートすべきエラーがあるのなら、それらのエラーを記述するビットマップを含むことがある。
輻輳/フロー制御
大型の「インターネット」がマルチキャスト可能になるにつれて、情報が、グループのメンバーたちに対してそれぞれ異なる送信リンクをもつことを望むマルチキャストグループは、さらによく見られるようになるであろう。これらの異なるリンクは、それぞれ異なる容量を有することができる。これら容量は、互いに大きく分散していてもよい。例えば、グループ中のあるメンバーが1Mbpsを超えるリンク容量をもつ一方で、別のメンバーが、わずか56Kbpsをもっていてもよい。一般に、これらのリンク容量に関する知識は、送信波の送り手(例えば、サーバ)には分からないであろう。よって、リンク容量を瞬時に決定し、フロー制御メカニズムを設けることによって、ネットワークのオーバーロード/輻輳を防止するとともに、データ転送プロトコルの効率を制御しないようにできるのが望ましい。
ここで説明されているデータ転送プロトコルは、ブロックの概念を含んでいる。これらのブロックはそれぞれ、何百または何千ものフレームを含みうる。クライアント(受け手)は、もしそのブロックにおいて何らかのフレームが欠けているか、あるいは誤っているのなら、ブロックの境界において、マルチプルセレクティブリジェクトNAKを送ることを強制される。フロー制御の目的から、実用的である限りにおいてできるだけ早く、受信されなかった/誤りを含む(つまり、脱落している)フレームに関する知識を得て、フロー制御の判定を下すことができるようにするのが望ましい。本発明によるデータ転送プロトコルを用いてこれを達成するためには、変更可能な、つまり可変のブロックサイズを使うのが、一つの方法である。このことは、比較的小さなブロックから始めて、ファイル転送の間にブロックのサイズを大きくしていき、クライアントの応答確認を減らすことによって、現在のスケーラビリティを維持することを必然的に伴う。本発明によるデータ転送プロトコルを用いてこれを達成するための別の好ましい方法としては、ブロックのサイズはすべて同じに(均一なブロックサイズに)するが、ブロック境界よりも前にクライアントがNAKで応答することができるように、ブロック境界が発生する前に、サーバにステータスリクエストを遅らせる方法がある。この後者の技術のほうがフレクシブルである。なぜなら、NAKは、ブロック境界のみ(前者の技術はこのケースに相当する)ではなく、いかなる時にも請求される可能性があるからである。これら2つの技術のいずれによっても、NAKは、転送の早い段階で請求される。
「可変ブロックサイズ」方法(前段落で言及した第1の技術)では、第1のブロックは、比較的小さくてもよい(例えば、100フレーム)。後続ブロックは、毎回2倍ずつ大きくなっていく。ブロックサイズは、最大のブロックサイズに到達するか、またはファイルがその終わりに達するまで、次々に倍増されていく。
「ステータスリクエスト」方法(前段落で言及した第2の技術)では、サーバは、自らが望む時点でNAKリクエストを請求する。それらの時点は、ブロック境界ではない。輻輳またはフロー制御のための好ましい実施の形態では、ステータスリクエストは、回を追うごとに長くなる間隔で送られる。
両方の方法ともに、伝送レートまたは転送レートは、本明細書に記載されているように設定される。しかし、固定された転送レートではない、セット可能な転送レートは、転送レートの上限を表す。第1のブロックの後(可変ブロックサイズ方法の場合)またはステータスリクエストが受信された後(ステータスリクエスト方法の場合)、NAKが、脱落したフレームのあるクライアントによりサーバに送られる。また、これは、これらのクライアントによりサーバに輻輳が示されることでもある。
もしNAKがあるのなら、それらが特定のリンクの瞬時の容量に関連しているという事実は、以下の方程式に基づき、輻輳を示すリンクのすべてについてリンク容量を決定するのに用いることができる。
((送られたフレーム数−否定応答確認されたフレーム数))×転送レート=リンク容量
図6の異質マルチキャストネットワークでは、リンク速度は、64Kbps〜1024Kbpsの範囲であり、リンク容量には大きな差がある。その他のトラヒックがないものとすると、もし転送レートが150Kbpsに合わせて設定されれば、クライアントAからのブロック1に対するブロックNAKは、(可変ブロックサイズ方法では)第1のブロックについて約58個のフレームが脱落していることを示すことになる。上記方程式を用いれば、瞬時のリンク速度は、63Kbpsと計算される。クライアントBからのブロック1に対するブロックNAKは、(可変ブロックサイズ方法では)第1のブロックについて約15個のフレームが脱落していることを示すことになる。再びこの方程式を用いれば、Bへのリンクの瞬時のリンク速度は、127.5Kbpsと計算される。その他のトラヒックが存在する場合、脱落するフレームの個数はより多くなるので、計算されるリンク速度はさらに低くなる結果となる。
グループ閾値パラメータは、ユーザにより設定されうる。グループ閾値は、マルチキャストグループに加入し続けることが許可されている特定のクライアントによる限界(脱落しているフレームの占めるパーセントで表される)である。もしグループ閾値が25%に設定されれば、グループ内で25%よりも高いフレーム脱落パーセンテージをもつどのクライアントも、グループの残りの者が悪影響を被らないように、アクションを起こす必要があることを意味している。図6の例では、58%のフレームが脱落しているクライアントAは、アクションを起こす必要があることになる。クライアントは、判定を下すのに十分な情報をもつことになる。なぜなら、転送レートおよびグループ閾値パラメータは、アナウンスメッセージのかたちでクライアントに送信されるからである。自分のフレーム脱落レートが閾値を超えていることを検出したクライアントは、以下のアクション中の一つを起こす。
1. グループを去り、より低速のグループに入ることをサーバからリクエストする。ここで、そのグループは、そのクライアントにおいてなされた測定に基づいて速度指定される。
2. それ以上の伝達をリクエストせずにグループを去る。このことは、このクライアントがこの送信を受信しそこなうことを意味する。
3. ステータスリクエストメッセージがサーバから受信されるまで、NAKを抑える。これにより、フレームロスの大きいクライアントから過度の再送信により停滞させることなく、グループの残りの者が終了できるようになる(このクライアントのセットに対する再送信のための転送レートは、それらの容量が小さいことを反映するように低くすることができる)。
図6の例では、2番目に高いフレーム脱落パーセンテージは、クライアントBの15%である。この値は、グループ閾値よりも低い。この数は、パフォーマンスを過度に低下させることなく、グループ全体が合わせることのできる係数を表している。クライアントBに合わせるためには、このグループのサーバ転送レートは、15%、またはそれよりも高いパーセンテージ、またはそれよりもわずかに高いパーセンテージだけ下落することになる。
可変ブロックサイズ方法のタイミングは、図8に示されている。クライアントにおける情報が、そのフレーム脱落はグループ閾値を超えていることを示すと直ちに、そのクライアントは、グループの送信に悪影響が及ぼされないように、上に列挙した3つの選択可能なアクションの中から1つを選択しなければならない。グループの転送レートの調整は、第2のブロックが送られた後おこなわれ、ブロック3のはじめから開始する。転送レートの変化は、ブロックの境界で実施され、正確なデータをブロック単位でブロックNAKから供給する。その後、ファイル転送は、ブロック3の転送に進む。ブロック3は、ちょうどブロック2がブロック1の2倍の大きさであるように、ブロック2の2倍の大きさに設定される。この後、ブロック4が続く。ブロック4は、ブロック3の2倍の大きさである。以下も、最大のブロックサイズに到達するか、ファイルがその終わりに到達するまで(それらのどちらが最初に起こっても)同様である。しかし、もしブロック3以降のグループからのNAKが、最悪のクライアントでもレート閾値パラメータ(設定可能)を超えていることを示すのなら、そのレートは、ブロック5の送信のためにさらに調整される。このレート閾値は、グループに対する転送レート調整がおこなわれる最小のフレーム脱落パーセンテージである。例えば、クライアントからの最大フレーム脱落パーセンテージが1%であるのなら、レート閾値が典型的には、1%を超える数に設定されるような調整は保証されない。
ステータスリクエスト方法では、ブロックは均一なサイズであり、ステータスリクエストは、ブロックの境界に到達する以前に、サーバにより送られてNAKをリクエストする。図9を参照すると、可変サイズブロック方法について今説明したばかりのシナリオと等価なシナリオが図示されている。ただし、ここでは(図9)では、ブロックサイズは均一である。ある例では、第1のステータスリクエストは、100個のフレームを転送した後に送られ、第2のステータスリクエストは、200個のフレームが送られた後に送られる。以下も同様である。クライアントのNAKは、可変ブロックサイズ方法と正確に同じ時刻にサーバに送り返される。しかし、ステータスリクエスト方法では、可変ブロックサイズ方法のようにNAKを受信するためにブロック境界を待つ必要はなく、いつでも望みの時刻にステータスリクエストが送られるという点で、よりフレクシブルである。
可変ブロックサイズ方法でも、ステータスリクエスト方法でも、単にグループのメンバーを削除し、それらのメンバーをハンギングのまま放置することは一般に望ましいことではない。削除されたグループメンバーは、より低い転送レートで動作する別のグループに集めることができる。より遅いこの転送レートは、グループを去ったクライアントによりおこなわれるリンク容量の計算により決定されうる。その後、このグループは、ふさわしい転送レートでセットアップされうる。そして、新しい転送が開始されうる。
フロー制御プロセスの可変ブロックサイズ方法およびステータスリクエスト方法はともに、自動化されうる。
マルチキャスト:
マルチキャストは二つの形をとりうる。すなわち、ネットワークが依然としてデータをブロードキャストグループの全体に伝達しているアプリケーション層(AL)マルチキャストと、ネットワークが、マルチキャストルータに基づいてトラヒックをルーティングしており、インターネット仕様RFC1112がクライアントに実施される、マルチキャストIPの2つである。
いずれの場合でも、マルチキャストグループは、サーバの開始の下にセットアップされる。サーバは、ユニキャスト単位でクライアントに通知を送ることによって、クライアントに対して特定のマルチキャストグループのメンバーシップを通知する。これらのマルチキャストグループは、迅速にセットアップされ、解体されうるので、マルチキャストグループをダイナミックに構成することが可能となる。例えば、マルチキャストグループは、ある特定のファイルを送信するためだけにセットアップされうる。その後、このグループは解体されうる。
ALマルチキャストでは、ネットワークは依然としてブロードキャスト単位でトラヒックを伝達しているが、グループに属していないクライアントは、それ専用ではないデータを破棄する。グループがセットアップされると、たとえデータがそのノードで破棄されないような事態が発生しても、グループの外のクライアントがそのデータをリードすることができないように、セキュリティキーを領布することもできる(なお、このことは、マルチキャストIPでも展開されうる)。また、ALマルチキャストでは、IPアドレスは、グローバルな、またはネットワークベースのブロードキャストアドレスのままである。ブロードキャストの場合と同様に、このアドレスは、リンク層プロトコルにおけるブロードキャストアドレス(例えば、ブロードキャストSMDSアドレス)にマッピングされる。マルチキャストヘッダが、このグループについて選択され、グループの識別子となる。
マルチキャストIPの場合、ネットワークは、ルータがクラスDのマルチキャストIPアドレスおよびマルチキャストルーティングをサポートする、ルータネットワークである。クライアントは、RFC1112、すなわち「IPマルチキャスティングのためのホスト拡張」をサポートする。RFC1112は、ルータテーブルのアップデートを目的として、最も近いマルチキャストルータへとその存在をホスト通知することを可能にする。
以下に、上述した本発明の機能について説明する。
再び図2を参照する。図2は、あらゆるブロードキャストまたはマルチキャストIPルータベースのネットワークを広く表しうる。本発明の目的は、ワイドエリアネットワーク(WAN)接続24を介して、サーバ20により5000以上の受信ノード22へと、小型または大型のデータファイル(サイズが2ギガバイトまで、またはそれ以上のファイル)を同時に送信可能とすることである。また、本発明は、前述したように、ローカルエリアネットワークまたはその他のタイプの通信リンク上でも作用可能である。送信媒体24は、好ましい実施の形態においてTCP/IPプロトコルスタックをサポートできれば、どのようなタイプのものでもよい。その他のプロトコルスタックもまた、本発明のための通信環境として作用可能であろう。
マルチキャストは、2つの方法によりサポートされうる。すなわち、前述したように、ALマルチキャストと、マルチキャストIPとの2つである。
クライアントに転送されるファイルは、テープを介して(例えば、図5のテープドライブ66を介して)サーバ20にロードされうるし、もしそれらのファイルが十分に小さければ、フロッピー(例えば、図5のフロッピードライブ)によってもロードされうる。また、転送されるファイルは、例えば、LANあるいはその他のネットワーク上で、ファイルのソースから、FTP(ファイル転送プロトコル)あるいはその他のユニキャスト転送メカニズムを介して、サーバ20へとロードされうる。これらのファイルは、一般に、どのようなフォーマットであってもよい。その後、データファイルが、テープまたはフロッピーから、送信サーバ20のファイルシステム内へとリードされる。なお、サーバ20が、データファイルの圧縮されていないコピーをリードするのに十分なスペースをもっていなければならないことには、留意されたい。どちらのサービスについても、データファイルは、不適格なレシーバがこのデータファイルを受信して利用することができないように、暗号化されてもよい。送信ファイルはそれぞれ、好ましくは、ユニークに識別される。その内容および発生時刻については、好ましくは、指示がある。プロセスへの入力ファイルは、2ギガバイトを超えるサイズであってもよい。また、システムは、2ギガバイトよりもはるかに大きいファイルを操作することもできる。
その後、ファイルは、サーバ20に格納され、送信の準備が整えられる。以前の送信からのデータは、再送信されることが必要である場合には、しばらくのあいだサーバ20上でいつでも利用できるようにされる必要がある。このデータにアクセスするためのメカニズムは、そのデータを待ち行列に入れておいて、いつでも再送信できるように設けられる。
効率のために、ファイルはブロックのかたちで送信される。ブロックのサイズは、通信リンク24上で転送されうる最大のパケットから導き出される(あるいは、ブロックサイズは、ユーザにより選択されてもよい)。その導出は、クライアントが、1個のブロック中のどのパケットを受信しそこねたかをサーバに示すことが必要になるという事実に基づいている。これをおこなうためのある方法(そして、一般に最も簡単な方法)としては、ビットマップを送って、ビットの設定値により、どのパケットが受信されなかったかを位置的に示す方法がある。よって、ブロックのサイズは、それ自身は1個のパケットの中に含められるビットマップのかたちで応答確認されうるパケットの個数にほぼ等しい。例えば、もしパケットサイズが256バイトであれば、1個のパケットが含むことのできる最大のビット数は、256(バイト/パケット)×8(ビット/バイト)=2048(ビット/パケット)となる。このことは、許容される最大のブロックサイズが、2048個のパケットを有するブロックであるということを意味する。
受信ノード22を10MbpsでイーサネットLANにインタフェースさせることは可能ではあるが、WANリンクは、それよりもずっと低い速度であることが多い。よって、明示的な送信データレートは、セット可能/設定可能である。
受信ノードは、それぞれ、送信の前、または送信中にリソースの問題を経験する可能性がある。受信ノードは、送信前にそのリソースについてクエリーし、データを受信するための設備をもっているかどうかを判定するようにイネーブルされる。もしそうではないのなら、これらのノードは、送信専用のスペースを再び初期化すべきであるか、あるいは、送信に参加できないことを示すべきである。そうすれば、異なるチャネルを通して、修正対策に着手可能となる。サーバが遠隔操作により利用可能なディスクのスペースを強制的に作らせることによって、ファイルの転送を実行可能とする設備を設けてもよい。
レシーバ22は、現在何を聴取しているかに気づいていなければならない。ある専用チャネルでデータグラムが受信される時、ノード22は、自らがアドレシングされているかどうかを判定しなければならない。このアプリケーションが2以上の送信サーバ20により用いられている時には、問題が発生する。受信ノード22が、ある与えられた時刻に正確に一つの送信に参加していることを保証できる方法がなければならない。UDPポートをサーバ20に専用とし、かつ暗号鍵をそのサーバに関連づけることによって、ネットワーク24上でランダムなモードタップを用いている受信ノードが、送信されたデータを解釈できる能力をもつような事態を確実に回避できる。
送信サーバ20上では、何らかの参照情報が保守されている。好ましくは、ネットワーク内のすべての可能な受信ノードのリストがある。サービス故障、問題などの場合に、情報プロバイダがクライアントを管理することを可能にするのに十分な参照情報が利用可能であれば好ましい。また、暗号化され、圧縮されたデータファイルがいつでも送信できるように保守されている送信データベースがあれば好ましい。この送信データベースは、準備されたデータとともに、ファイルの内容を識別する、例えば、70バイト以下の記述情報を含んでいる。
それぞれの送信は、好ましくは、完了ステータス指標記録と、送信中に遭遇したすべてのエラーのログとを有している。また、送信に失敗した対象であり、データを送るべき全ノード、および失敗した理由を記したリストを含むイベントファイルがあれば好ましい。
送信中のどの時点においても、オペレータは、サーバ20およびそれぞれの受信ノード22に適用している送信のステータスを問い合わせることもできる。もし、いくつかのクライアントへの通信に関する問題、あるいはその他の問題が発生すれば、警告が発せられる。もし何らかの介入が示されれば、オペレータには、修正アクションを開始することが許可される。
サービスに関する現在進行中の保守および管理について、オペレータには、レシーバ、送信グループ、送信ファイル記述子、送信パラメータおよび送信データベースのリストを保守することが許可される。バックグラウンドプロセスは、環境および年齢データの両方を保守し、もし警告を受けたオペレータにより許可されれば、ハウスキーピングパラメータにより、それを削除することになる。
以上に、本発明によるデータ送信について説明した。以下では、本発明のその他の局面について説明する。その他の局面には、「セット可能な伝送レート」、「マルチキャストグループ」、「マルチキャストピン」、「マルチキャストネットワークプローブ」、「速度グループ」および「否定応答確認収集」がある。
セット可能な伝送レート
前述したように、データ伝送レートをセットすることが可能である。以前に述べた例では、セット可能なレートが役に立つ場合を説明した。その例では、受信ノード22は、利用可能な帯域幅が10MbpsであるイーサネットLANと、そのLANを10Mbpsよりもはるかに低い速度のその他のネットワークに接続するWANリンクとにインタフェースされる。このような場合、データ伝送レートは、本発明によれば、例えば、最も低速のWANリンクの速度と一致するようにセットされることになる。
本発明によれば、どのようなファイル転送セッションが与えられたとしても、データ伝送レートは、事前にセットできる。もっと詳しく言えば、そのセッションの間にデータが送信される際の最大ビットレートは、セット可能である。好ましい実施の形態では、最大ビットレートは、キロビット/秒(Kbps)単位でビットレートを表す整数値にパラメータを設定することによってセットされる。例えば、もしこのレートパラメータが値56であるのなら、このパラメータは、最大のビットレートである56Kbpsに対応する。このレートパラメータは、ソースをデスティネーションに接続するリンクの利用可能な帯域幅を対応するいかなる値、または利用可能な帯域幅未満のレートを表す値に設定されうる。すなわち、もし利用可能な帯域幅が1Mbpsであるのなら、レートパラメータは、0から1000の間のどの値に設定されてもよい。ここで、1000Kbpsは、1Mbpsに等しい。転送レートを明示的にセットする能力は、ネットワーク全帯域幅あるいは実質的にすべての帯域幅を占有することなく、ネットワーク上のその他のアプリケーションと、(時間的に)長いファイル転送とを共存させることを可能にする。
マルチキャストグループ
「マルチキャスト」は、以上の説明では、サーバノード20が、ネットワーク24に接続されているすべてのクライアントノード22の1サブセットにデータ(例えば、ファイル)を送る場合として規定された。また、以上の説明では、マルチキャスト送信は、2つのかたちをとりうることも開示された。すなわち、「アプリケーション層(AL)マルチキャスト」と、「マルチキャストIP」の2つである。ALマルチキャストは、ネットワークがインターネット仕様RFC1112はサポートしないが、ブロードキャストはサポートする時に用いられる。もしマルチキャストIPがRFC1112およびマルチキャストIPルーティングに従ってネットワークによりサポートされるのなら、マルチキャストIPのほうが、ALマルチキャストよりも勧められる。マルチキャストIPは、グループのメンバーがマルチキャストをサポートしなければならず、ルータネットワークにおけるルータもまた、ある種のマルチキャストルーティングプロトコル(例えば、DVMRP、MOSPFあるいはPIM)をサポートしなければならない時に用いられる。ALマルチキャストとは異なり、マルチキャストIPは、マルチキャストグループのメンバーのみが送信されたデータを受信する、真のマルチキャストプロトコルである。
それぞれのファイル転送のたびに、マルチキャストグループは、前述したように、データ送信の「アナウンス/登録」局面のあいだに規定されうる。既に述べたように、サーバは、ファイル転送およびその転送に参加している加入者またはグループに関するさまざまな情報を保守する。好ましい実施の形態では、この情報は、データ構造またはリストのかたちでサーバにより保守される。サーバは、この情報を保守し、用いることによって、「データ転送」段階のあいだのファイル転送のステータスを記録し、決定する。クライアントステータス構造は、サーバにより受信されたアナウンス登録からのデータに基づく、マルチキャストグループの加入者のステータスリストを含んでいる。
マルチキャストグループ管理は、クライアントをマルチキャストグループに割り当てるプロセスである。それぞれのグループのクライアントリストを作成し、操作するタスクは、最初の事例でファイル転送を開始するアプリケーションプログラムの責任である。アプリケーションプログラムは、一般に、名前をクライアントのIPアドレスに関連づけること、名前をグループに割り当てることのような、簡単に利用できる特徴を提供する。グループ管理は、送信側の局(例えば、サーバ)のみで要求される。マルチキャストグループは、送信側の局がファイルを送信したいと望む時に指定される。このグループは、クライアントのIPアドレスリストにより識別される。ここで、1個のアドレスが、マルチキャストグループ内のそれぞれのクライアントに相当する。
マルチキャストグループには2つの選択肢がある。すなわち、ダイナミックおよびスタティックの2つである。ダイナミックマルチキャストグループの場合、転送が完了すると、グループは解体する。ダイナミックマルチキャストグループは、マルチキャストグループのクラスDアドレスを用いる「アナウンス」メッセージにより形成される。ダイナミックマルチキャストグループとは対照的に、スタティックマルチキャストグループでは、転送が完了しても、グループのメンバー全員がそのグループのメンバーのままである。スタティックマルチキャストグループは、サーバによりユニキャスト単位で形成され、および/またはコンフィギュレーションをセットアップするために通常のクラスDアドレスを用いて形成される。
マルチキャストピン
TCP/IPにおける「ピン」ユーティリティは、TCP/IPネットワーク内の2つのポイント間のコネクティビティを判定する(すなわち、2つのポインタが実際に接続されているかどうかを判定する)際には非常に有用である。TCP/IPでは、ピンパケットが所望のエンドポイントに送られると、そのエンドポイントは、アドレスを反転させ、それを送り手に送り返す。また、周回時間遅延も測定される。これは、ピンパケットが送り手から所望のエンドポイントへと移動してから、送り手に戻ってくるまでの時間の測定である。
また、あるマルチキャストグループのメンバー全員がピンパケットまたはピンリクエストに応答する、マルチキャストピンユーティリティを提供するのも望ましい。マルチキャストIP(RFC1112)をサポートするクライアントまたはホストは、ピンリクエストに対して、デスティネーションアドレスとしてのクラスDのIPアドレスで応答する。しかし、現在知られているマルチキャスト実現形態では、ピンリクエストの送り手は、そのピンリクエストに対して受信した最初の応答しか表示しない。すなわち、現在知られているマルチキャストピン技術では、ネットワークコネクティビティの測定をおこなわない。
本発明による「マルチキャストピン」という特徴によれば、ピンリクエストに対するすべてのマルチキャスト応答を表示することによって、ネットワークコネクティビティ情報をソースからグループ内の受け手へと提供し、マルチキャストグループ内のそれぞれの受け手についての周回時間遅延情報を提供する。好ましい実施の形態では、この特徴は、標準的なピンICMPメッセージを用いる。
また、本発明による一改善事項として、前述したアナウンス/登録機能を、「マルチキャストピン」という特徴の別の形態として用いることも可能である。この改善をおこなうことにより、アナウンス/登録ピンメッセージは、グループ内の受け手のアプリケーション層に至るコネクティビティおよび送り手に戻る側のコネクティビティを判定し、グループ内のそれぞれの受け手について周回時間遅延情報を判定する。
よって、この「マルチキャストピン」という特徴により、マルチキャストグループのメンバーについて、送り手がネットワークコネクティビティおよび周回遅延を判定することが可能になる。
マルチキャストネットワークプローブ
マルチキャスト(1つのものを全員ではなく、多数に送ること)データネットワークは、今まさにその実現段階に移行しようとしている。特に、マルチキャストIPは、ルータネットワークの中でも新しく、あらゆる種類(例えば、フレームリレー、SMDS、LAN、衛星、無線など)のネットワーク上でマルチキャストグループをつくるためのメカニズムを提供できる。インターネットもまた、「Mbone」(マルチキャストバックボーン)、すなわちマルチキャストIPをサポートするインターネットの一部を有している。
Mboneは、1992年の早いうちから開始され、成長を続けた結果、1995年のはじめには、インターネット中の1500を超えるサブネットがマルチキャスト可能になった。今日に至るまで、Mboneは、インターネット「ラジオ」およびその他の実験的アプリケーションとともに、PCおよびワークステーションに基づくビデオ会議およびホワイトボードマルチキャストアプリケーションをテストしてきたインターネットの研究者たちにより、実験的ネットワークとして用いられてきた。Mbone上のマルチキャストIPルーティングは、当初、マルチキャストルーティングプロトコルDVMRPを用いてワークステーションにおいて実施された。しかし、Mboneの一部は既にそのルータをアップグレードしていたので、それらは、現在、マルチキャスト可能である。今後、5、6年のうちに、インターネットは、インターネット内のルータを用いることによって、完全にマルチキャスト可能になると予想されている。
インターネット中のマルチキャスト可能な部分が増えていくにつれて、Mboneは、単なる実験用の研究ツールとしてではなく、メインストリームマルチキャストアプリケーションのために用いられるようになるであろう。これが実現されると、ツールは、その使用法を簡単にすることが要求されるであろう。
インターネットとプライベートネットワークとの間の大きな違いの一つとしては、インターネットは非常に異質なネットワークであることが挙げられる。インターネットは、ネットワークのネットワークであり、別々の組織により操作されるネットワークの別々の部分では、大きな違いがある。これに対して、多くのプライベートネットワークは、比較的均質であるようにセットアップされ、ネットワークのアーキテクチャに関しては、プライベートネットワークのオペレータが大きな制御を及ぼしている。
マルチキャストネットワーク内の多数のエンドポイントは、別々のネットワークを用いて別々のレートでリンクされる可能性が高く、ネットワーク内の輻輳は、ネットワークの別々の部分ではそれぞれ違ってくるので、マルチキャストグループ内での加入リンクの容量に関する知識を得て、その容量でのパフォーマンスをテストすることができるのが望ましい。本発明による「マルチキャストネットワークプローブ」という特徴は、Mboneあるいはその他の大型異質マルチキャストネットワークをそのトラヒックソースから調査(プローブ)し、そのトラヒックソースから個々のリンクの容量を迅速に測定することができるように設計されている。
図6を参照すると、異質マルチキャストネットワーク(例えば、インターネットのMbone部分)は、5つのメンバーA〜Eをもつマルチキャストグループを有している。ここで、グループのそれぞれのメンバーは、それぞれ異なる容量のリンク(すなわち、異なるレートのリンク)により接続されている。グループのメンバーAは、64Kbps(キロビット/秒)のリンクによりネットワークに結びつけられており、Bは128Kbpsのリンクによって、Cは256Kbpsのリンクによって、Dは512Kbpsのリンクによって、そしてEは1024Kbpsのリンクによって結びつけられている。これらのリンク接続の性格は、サーバ(すなわち、トラヒックソース)には知られていない。なぜなら、インターネットへの接続は、異なる多数の速度のリンクを介しておこなわれうるからである。
デスティネーションへの情報のマルチキャスト転送をどのようにしておこなうかを最適のかたちで決定できるように、トラヒックソースが、デスティネーションへと至るそれぞれのリンクの特性を知ることが望ましい。もしアプリケーションがビデオ会議であるのなら、64KbpsのAへの品質は受け入れられないが、残りの者は、128Kbpsで参加できると決定されうる。同様に、もしアプリケーションがファイル転送であるのなら、DおよびEのグループは、512Kbpsの転送レートで動作するグループを構成できるが、A、BおよびCからなるグループは、ネットワークの容量を超えることなく、64Kbpsで動作可能である。
本発明によれば、ネットワークをプローブすることによって、遠隔のリンク容量を決定するメカニズムは、本願明細書で記載されたシステムおよびプロトコルである。メンバーA〜Eから構成されるマルチキャストグループへのアナウンス/登録が、例えば、前セクションで記載した本発明の「マルチキャストピン」という特徴に基づいてコネクティビティを判定する(どのメンバーが実際にサーバに接続されているかを判定する)ための一手段として用いられた後、一連の小型テストファイルが、グループの個々のメンバーへとそれぞれ異なる速度で順次送られる。例えば、400個のフレームからなるテストファイルは、まず64Kbpsで送られた後、128Kbpsで送られ、次に256Kbpsで送られ、次に512Kbpsで送られ、そして最後に1024Kbpsで送られうる。クライアントの否定応答確認は、リンク上にその他のトラヒックがないものとすると、以下の表1に示すようにサーバで受信され、格納される。
Figure 0003690809
表1を参照すると、速度64Kbpsでの第1のランは、グループのメンバーの誰に対しても否定応答確認(つまり、NAKsまたはNaks)はゼロという結果である。なぜなら、すべてのリンクは64Kbps以上をサポートしているからである。
第2のランは、第1のランの2倍である128Kbpsである。この第2のランでは、クライアントAは200個のNAKをもっている。つまり、全フレームの半分が失われたことを意味している。このことは、クライアントAの速度が、64Kbpsである(すなわち、((400−200)/400)×128Kbps=64Kbps)ことを意味している。クライアントB〜Eは、第2のランでは失ったフレームがないことを示している。よって、これらのクライアントのそれぞれの速度は、少なくとも128Kbpsである。
第3のランでは、転送速度は256Kbpsであり、クライアントAおよびBは、それぞれ300個および50個のフレームを失ったことを示している。よって、この第3のランから、クライアントAの速度は、64Kbps(すなわち、((400−300)/400)×256Kbps=64Kbps)であることが分かる。これは、第2のランによる測定結果を裏書きしている。また、第3のランでは、クライアントBの速度は、128Kbps(すなわち、((400−200)/400)×256Kbps=128Kbps)である。クライアントC〜Eは、第3のランではエラーがなかったことを示している。よって、これらのクライアントはそれぞれ、少なくとも256Kbpsの速度で動作している。
第4のランでは、転送速度は512Kbpsである。クライアントAは、350個のフレームを失ったことを示している。よって、((400−350)/400)×512Kbpsつまり64Kbpsと測定され、この結果はこれまでの測定と一致する。クライアントBは、300個のフレームを失ったことを示している。よって、((400−300)/400)×512Kbpsつまり128Kbpsと測定され、この結果もこれまでのランと一致する。クライアントCは、200個のフレームを失ったことを示している。よって、((400−200)/400)×512Kbpsつまり256Kbpsと測定される。
第5のランでは、転送速度は1024Kbpsである。クライアントAは、375個のフレームを失ったことを示している。よって、これまでと同様に((400−375)/400)×1024Kbpsつまり64Kbpsと測定される。クライアントBは、((400−350)/400)×1024Kbpsつまり128Kbpsと測定され、クライアントCは、((400−300)/400)×1024Kbpsつまり256Kbpsと測定される。クライアントDは、((400−200)/400)×1024Kbpsつまり512Kbpsと測定される。クライアントEには、脱落がない。このことは、その速度が少なくとも1024Kbpsであることを意味している。
よって、これら5つのランのそれぞれについて、ある与えられたリンクの容量は、以下の方程式により求められる。
((送られたフレーム数−否定応答確認数)/送られたフレーム数)×送信速度=リンク容量
このテスト技術もまた、リンク上のトラヒックを考慮に入れることになる。例えば、もしテストがおこなわれている間に物理リンクが256Kbpsであり、リンク上に128Kbpsのトラヒックがあるのなら、測定結果は、128Kbpsの容量、すなわちトラヒックが考慮される時の残りの容量となる。
これらのテストを実施するためのソフトウェアは、ソースがそれぞれのクライアントに対するリンク速度を知っているとすれば、リンクの品質をテストするのに用いることもできる。例えば、図6では、リンク速度は知ることができるので、フレームエラーレートを求めるためには、比較的長いテストパターンを用いてリンクをテストするのが望ましい。例えば、100,000フレームのテストファイルを、メンバーA〜Eから構成されるグループに64Kbpsで送ればよい。伝送レートおよびNAKは、ソースに格納され、それぞれのクライアントからのNAK数は、それぞれのリンクの品質(すなわち、フレームエラーレート)を測定することを可能にする。Aは、最も重い負荷がかけられるリンクであるので品質が最悪になり、Eは、最小の負荷がかけられるリンクであるので最高になるだろうと予測されうる。しかし、その他のファクタがそれ以外の結果をもたらすこともある。同様に、より高速のリンクにより重い負荷を及ぼすためには、速度を増加させ、過剰な負荷のかけられたリンクをグループから削除してもよい。
よって、本発明による「マルチキャストネットワークプローブ」という特徴を用いれば、たとえ個々のリンクの容量が未知であっても、個々のリンクの容量を迅速に測定することができる。また、もしリンク速度がサーバには既知であるのなら、本発明のこの特徴は、それぞれのリンクの品質を判定する(すなわち、それぞれのリンクのフレームエラーレートを求める)のに用いることができる。
本発明のこの特徴によれば、マルチキャストグループのメンバーたちのコネクティビティが、まず、前述した「アナウンス/登録」フェーズを通ることにより判定される。すなわち、最初のステップは、グループ内のどのメンバーがサーバに接続されているかを判定することである。いったん接続されているメンバーがわかれば、テストファイル転送を開始して、テストファイルをそれぞれのメンバーに送り、その結果(すなわち、個々のグループメンバーについての否定応答確認の個数)を記録するサーバにより、リンク速度または品質を求めることができる。
速度グループ
サーバを複数のクライアントにインタフェースする多種多様なリンクそれぞれの容量、速度、あるいは帯域幅(例えば、前セクションに述べた「マルチキャストネットワークプローブ」という特徴により利用可能となる)がわかれば、これらの速度のリストが、サーバにより格納されうる。その後、このリストは、リンク速度に基づいて複数のクライアントグループを生成あるいは規定するのに用いることができる。例えば、2つの速度グループがあり、その一方は、可能な最高速度が64Kbpsであるリンク(つまり、実効リンク)上でサーバに接続されているクライアントを含んでおり、他方は、可能な最高速度が1024Kbpsであるリンク(つまり、実効リンク)上でサーバに接続されているクライアントを含んでいることがある。よって、第2のグループは、第1のグループよりもはるかに高速である。特定の受け手がどの速度グループに属しているかということは、その受け手へのデータ転送に影響を及ぼす。本発明による最初のデータ転送パスのあいだ、第2の、より高速なグループ内のそれぞれの受け手には、サーバにより複数のフレームのすべてが送られるが、第1の、より低速なグループ内のそれぞれの受け手には、第2のグループに送られた16個のフレーム中の1個(1/16)が送られるにすぎない。このことは、第1のパスの後、サーバは、第2グループの受け手にはすべてのフレームを送っているが、第1のグループには、それらのフレームの全個数中の16分の1しか送っていないことを意味している。第1のグループにまだ送られていない残りのフレーム(つまり、全フレーム中の15/16)は、その後、後続するパスで第1グループの受け手に送られる。要点は、いったん、サーバにグループの各メンバーの容量がわかれば、サーバは、データの転送を調整することによって、より大容量のリンクを活用し、そのグループへのデータの転送を遅くすることがないという点にある。
否定応答確認収集
前述したように、本発明によりファイルを受信できるクライアントの数は、何千にも及ぶことがある。よって、サーバにより保守されるクライアントステータスリストのエントリ数も、何千にもなることがある。本発明によるファイル転送は、さらにその数量を高めることができる。例えば、何千もの受け手/クライアントの代わりに、何百万もの受け手/クライアントにファイルを送るように、スケーリングすることができる。好ましい実施の形態では、これらのクライアントすなわち受け手は、複数のクライアントから構成されるマルチキャストグループのメンバーである。
このスケーリングに関する特徴は、グループ内のクライアントの数があまりにも大きくなった時に発生する可能性のある問題を避ける一助になる。この問題は、多数のクライアントが否定応答確認をファイルの送り手(例えば、サーバ)に送り返し、送り手が程良い長さの時間の間に処理可能な限度を超えている個数の否定応答確認で、送り手を事実上、閉塞している時に起こる。これにより、送り手のパフォーマンスは低下する。なぜなら、送り手は、否定応答確認を受信し、処理するのに膨大な量の時間を費やす必要があり、その他の義務に従事することができないからである。このことが、送り手に戻るリンクを停滞させ、これらの否定応答確認のトラヒックにより渋滞することになる。
この問題に対する解決策は、「否定応答確認の収集」である。これにより、ファイルの送り手/サーバ20に渋滞を起こすことなく、クライアント/受け手の数を数千から数百万へと飛躍的に増やすことが逆に可能となる。この収集という特徴によれば、いくつかのクライアントあるいはその他のネットワークノードが「複製点」として作用し、他のクライアントからのブロック否定応答確認を収集する。好ましい実施の形態では、これらの複製点(RP)はルータである。図7を参照すると、米国全体にわたって5つのRPが示されている。また、それぞれのRPから発している線は、そのRPに接続されている1以上のクライアントを表している。例えば、RP100は、1200のクライアントを傘下に入れており、RP102は、900のクライアントを傘下に入れており、RP104は、100のクライアントを傘下に入れており、RP106は、800のクライアントを傘下に入れており、RP108は、500のクライアントを傘下に入れている。サーバすなわちソース20は、米国内の別の場所に位置している。RP100は、それに加入しているか、または接続されている(例えば、1200の)クライアントからのブロック否定応答確認のすべてを収集する。その他のRP102、104、106および108も、それらに加入しているクライアントに対して同じことをする。それぞれのRPについて、それに加入しているクライアントのすべてからすべてのブロック否定応答確認を収集した後、そのRPがサーバ20、またはサーバ20へと向かうチェーンの別のRPへとただ1つの応答確認メッセージを送る。その1個のメッセージが、そのRPに加入しているすべてのクライアントからのブロック否定応答確認のすべてを含んでいる。サーバ20が、最終的にこれらの収集されたブロック否定応答確認メッセージを複数のRPから受信すると、サーバは、次のパスで否定応答確認されたフレームのすべてを送り返す。これらのRPは、これらの後続パスフレームを受信し、それらのフレームを、チェーン内の適切なクライアントまたはその他のRPへと送り出す責任をもつ。それらのクライアントまたはRPは、その後、それらのフレームをチェーン内の適切なクライアントまたはその他のRPへと送り出す。以下、この操作が繰り返される。
ここに記載されたことに関する変更、改変およびその他の実現形態は、クレームされている本発明の精神および範囲から離れることなく、当業者には着想可能であろう。したがって、本発明は、以上に記した例示的な説明によってではなく、以下の請求の範囲によって規定されるべきである。

Claims (12)

  1. 通信リンク上でデータを送信する方法であって、
    (A)該データを複数のブロックに区分するステップであって、該複数のブロックのそれぞれが複数のパケットを含み、該複数のパケットのそれぞれが1つ以上のビットを含み、該区分するステップがブロックごとのパケットの数を、パケットごとに利用できるビットの最大数とほぼ同等に設定することを含む、ステップと、
    (B)該複数のブロックのそれぞれにおける該複数のパケットのすべてを、ブロックごとに、1以上の受け手に送信するステップと、
    (C)送信の間に、該送信されたブロック内の再送信を要求するパケットの指示を、該1以上の受け手のうちの1以上から受信するステップであって、それぞれの指示は該1以上の受け手ごとに関連付けられており、該パケットの1つに含まれるビットマップを含む指示であって、該ビットマップが、該パケット内で利用できるビットの最大数にほぼ同等の複数のビットを含み、該ビットマップの各ビットが、該送信されるブロック内の該パケットの異なる1つを表す、ステップと、
    (D)該ステップ(B)、(C)および(D)を繰り返すことにより、再送信を必要とするパケットのみを再送信するステップと、
    を含む方法。
  2. 前記ステップ(D)が、前記ステップ(B)、(C)および(D)を所定の回数繰り返すことを含む、請求項1に記載の方法。
  3. 前記ステップ(D)が、前記ステップ(B)、(C)および(D)を所定の量の時間繰り返すことを含む、請求項1に記載の方法。
  4. 前記通信リンクがインターネットを含む、請求項1に記載の方法。
  5. 前記通信リンクがセルラーネットワークを含む、請求項1に記載の方法。
  6. 前記ステップ(B)が前記複数のパケットを所定の速度で送信することをさらに含む、請求項1に記載の方法。
  7. 送信を受け取っていない受信者がいる場合、どの受信者であるかを判別し、その後、該判別結果に基づき前記所定の速度を調節して、受信者のパケット受信を増大させるステップをさらに含む、請求項6に記載の方法。
  8. 前記データは、1つ以上のコンピュータファイルを含んでおり、前記区分するステップは、該1つ以上のコンピュータファイルを壊して前記複数のブロックにする、請求項1に記載の方法。
  9. 前記ステップ(C)において受信された指示は、前記1以上の受け手のうち特定の受け手が前記パケットのうち1つ以上のパケットの再送信を要求するという否定応答確認を含む、請求項1に記載の方法。
  10. 前記通信リンクは無線リンクを含み、前記ステップ(B)、(C)および(D)は、該無線リンクを介した送信を含む、請求項1に記載の方法。
  11. 前記区分するステップは、ブロックごとのパケット数をパケットごとに利用可能な最大ビット数に等しくなるように設定する、請求項1に記載の方法。
  12. 前記区分するステップは、ブロックごとのパケット数をパケットごとに利用可能な最大ビット数にほぼ等しくなるが、該最大ビット数未満となるように設定する、請求項1に記載の方法。
JP52237396A 1995-01-19 1996-01-16 不要な再送信を防止するarq技術を用いたネットワークマルチキャスティング方法 Expired - Lifetime JP3690809B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08375493 US5553083B1 (en) 1995-01-19 1995-01-19 Method for quickly and reliably transmitting frames of data over communications links
US08/375,493 1995-01-19
PCT/US1996/000634 WO1996022641A2 (en) 1995-01-19 1996-01-16 Network multicasting method using arq techniques for preventing unnecessary retransmissions

Publications (2)

Publication Number Publication Date
JPH10512726A JPH10512726A (ja) 1998-12-02
JP3690809B2 true JP3690809B2 (ja) 2005-08-31

Family

ID=23481110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52237396A Expired - Lifetime JP3690809B2 (ja) 1995-01-19 1996-01-16 不要な再送信を防止するarq技術を用いたネットワークマルチキャスティング方法

Country Status (9)

Country Link
US (3) US5553083B1 (ja)
EP (2) EP0804838B1 (ja)
JP (1) JP3690809B2 (ja)
AT (2) ATE209411T1 (ja)
AU (1) AU5295096A (ja)
DE (2) DE69636201T2 (ja)
DK (1) DK0804838T3 (ja)
ES (1) ES2163011T3 (ja)
WO (1) WO1996022641A2 (ja)

Families Citing this family (446)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4111131C2 (de) * 1991-04-06 2001-08-23 Inst Rundfunktechnik Gmbh Verfahren zum Übertragen digitalisierter Tonsignale
US6678864B1 (en) * 1992-02-25 2004-01-13 Irving Tsai Method and apparatus for linking designated portions of a received document image with an electronic address
US6193520B1 (en) * 1993-05-10 2001-02-27 Yugengaisha Adachi International Interactive communication system for communicating video game and karaoke software
JPH0816446A (ja) * 1994-07-05 1996-01-19 Fujitsu Ltd クライアント/サーバ・システム
US6292181B1 (en) * 1994-09-02 2001-09-18 Nec Corporation Structure and method for controlling a host computer using a remote hand-held interface device
US6453438B1 (en) 1995-01-19 2002-09-17 The Fantastic Corporation System and method for automatically rescheduling a data transmission to members of a group
US5553083B1 (en) * 1995-01-19 2000-05-16 Starburst Comm Corp Method for quickly and reliably transmitting frames of data over communications links
US6873627B1 (en) 1995-01-19 2005-03-29 The Fantastic Corporation System and method for sending packets over a computer network
US6625652B1 (en) 1995-01-19 2003-09-23 The Fantastic Corporation System and method for host list pruning
TW347616B (en) 1995-03-31 1998-12-11 Qualcomm Inc Method and apparatus for performing fast power control in a mobile communication system a method and apparatus for controlling transmission power in a mobile communication system is disclosed.
US6977967B1 (en) 1995-03-31 2005-12-20 Qualcomm Incorporated Method and apparatus for performing fast power control in a mobile communication system
US6700958B2 (en) * 1995-04-10 2004-03-02 Starguide Digital Networks, Inc. Method and apparatus for transmitting coded audio signals through a transmission channel with limited bandwidth
CA2229578C (en) * 1995-08-16 2003-02-11 Starguide Digital Networks, Inc. Dynamic allocation of bandwidth for transmission of audio signals and a video signal
EP0847638A4 (en) * 1995-09-01 2002-08-21 Starguide Digital Networks Inc DEVICE FOR GENERATING AND DISTRIBUTING AN AUDIO FILE
JP4160642B2 (ja) * 1995-09-08 2008-10-01 株式会社日立製作所 ネットワークデータ転送方法
US6470391B2 (en) * 1995-09-08 2002-10-22 Hitachi, Ltd. Method for transmitting data via a network in a form of divided sub-packets
JPH09160858A (ja) * 1995-12-08 1997-06-20 Nippon Telegr & Teleph Corp <Ntt> データ再送方法及びサーバ
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
KR970055857A (ko) * 1995-12-30 1997-07-31 김광호 디지탈 셀룰라 시스템에서 기지국시스템의 로딩방법
JP3000913B2 (ja) * 1996-02-02 2000-01-17 富士ゼロックス株式会社 デ−タ伝送装置および方法
JP2897711B2 (ja) * 1996-02-05 1999-05-31 日本電気株式会社 伝送制御システム
US6182109B1 (en) * 1996-03-08 2001-01-30 International Business Machines Corporation Dynamic execution unit management for high performance user level network server system
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US6154445A (en) 1996-04-18 2000-11-28 Bell Atlantic Network Services, Inc. Telephony communication via varied redundant networks
US6069890A (en) 1996-06-26 2000-05-30 Bell Atlantic Network Services, Inc. Internet telephone service
US7266686B1 (en) 1996-05-09 2007-09-04 Two-Way Media Llc Multicasting method and apparatus
KR100228297B1 (ko) * 1996-05-10 1999-11-01 윤종용 디지탈 셀룰라시스템의 기지국에서 로딩에러 검출방법
JP3159055B2 (ja) * 1996-05-16 2001-04-23 ヤマハ株式会社 通信システム
US5898780A (en) * 1996-05-21 1999-04-27 Gric Communications, Inc. Method and apparatus for authorizing remote internet access
US8079953B2 (en) * 1996-06-17 2011-12-20 Cybernet Systems Corporation General-purpose medical instrumentation
GB2357941B (en) * 1996-07-31 2001-08-22 Inmarsat Ltd Method and apparatus for transmitting data
US5928330A (en) * 1996-09-06 1999-07-27 Motorola, Inc. System, device, and method for streaming a multimedia file
US6094671A (en) * 1996-10-09 2000-07-25 Starguide Digital Networks, Inc. Aggregate information production and display system
US5905871A (en) * 1996-10-10 1999-05-18 Lucent Technologies Inc. Method of multicasting
US6101180A (en) 1996-11-12 2000-08-08 Starguide Digital Networks, Inc. High bandwidth broadcast system having localized multicast access to broadcast content
JP3605242B2 (ja) * 1996-11-12 2004-12-22 富士通株式会社 データ送信装置、データ受信装置、およびデータファイル記憶媒体
US6161207A (en) * 1996-11-15 2000-12-12 Motorola, Inc. Communications unit and method of communicating having efficient packet acknowledgement
US6078582A (en) 1996-12-18 2000-06-20 Bell Atlantic Network Services, Inc. Internet long distance telephone service
US6061722A (en) * 1996-12-23 2000-05-09 T E Network, Inc. Assessing network performance without interference with normal network operations
JP3507307B2 (ja) * 1996-12-27 2004-03-15 キヤノン株式会社 情報処理装置およびネットワークプリントシステムおよびその制御方法およびプログラムが格納された記憶媒体
JP3545154B2 (ja) 1997-01-29 2004-07-21 三菱電機株式会社 データ配布方法およびデータ配布装置
US6963923B1 (en) * 1997-02-10 2005-11-08 International Business Machines Corporation Method for file transfer restarts using standard internet protocol
DE69838043T2 (de) * 1997-02-10 2008-03-20 Motorola, Inc., Schaumburg Verfahren und Vorrichtung zur Suche von Fehlnachrichten in einem Radiokommunikatonssystem
US6067567A (en) * 1997-02-20 2000-05-23 International Business Machines Corporation Message distribution capability which uses distribution nodes to collect acknowledgements for a primary node
US6990069B1 (en) 1997-02-24 2006-01-24 At&T Corp. System and method for improving transport protocol performance in communication networks having lossy links
US5974028A (en) * 1997-02-24 1999-10-26 At&T Corp. System and method for improving transport protocol performance in communication networks having lossy links
US6049892C1 (en) * 1997-02-24 2002-06-04 Ethos Software Corp Process and apparatus for downloading data from a server computer to a client computer
US6006267A (en) * 1997-03-06 1999-12-21 International Business Machines Corp. Method and system for connecting network hosts having different communication protocols
US6137869A (en) 1997-09-16 2000-10-24 Bell Atlantic Network Services, Inc. Network session management
US6104711A (en) 1997-03-06 2000-08-15 Bell Atlantic Network Services, Inc. Enhanced internet domain name server
US6574216B1 (en) * 1997-03-11 2003-06-03 Verizon Services Corp. Packet data network voice call quality monitoring
US6075796A (en) 1997-03-17 2000-06-13 At&T Methods and apparatus for providing improved quality of packet transmission in applications such as internet telephony
US6870827B1 (en) 1997-03-19 2005-03-22 Verizon Services Corp. Voice call alternative routing through PSTN and internet networks
JP2001521716A (ja) * 1997-04-23 2001-11-06 モトローラ・インコーポレイテッド マルチキャスト・ネットワークにおいてマルチキャスト・グループ・メンバシップを管理するためのシステム,デバイスおよび方法
US6014688A (en) 1997-04-25 2000-01-11 Postx Corporation E-mail program capable of transmitting, opening and presenting a container having digital content using embedded executable software
US6407752B1 (en) 1997-04-29 2002-06-18 International Business Machines Corporation Method and system for a user interface for remote FTP hosts
JP3498887B2 (ja) 1997-04-30 2004-02-23 ソニー株式会社 送信装置および送信方法、並びに受信装置および受信方法
EP0876023A1 (en) * 1997-04-30 1998-11-04 Sony Corporation Transmitter and transmitting method, receiver and receiving method, and transceiver and transmitting/receiving method
US5931915A (en) * 1997-05-13 1999-08-03 International Business Machines Corporation Method for processing early arrival messages within a multinode asynchronous data communications system
US6061097A (en) 1997-05-22 2000-05-09 United Video Properties, Inc. Interactive television program guide with selectable non-program options
US6108706A (en) * 1997-06-09 2000-08-22 Microsoft Corporation Transmission announcement system and method for announcing upcoming data transmissions over a broadcast network
US6014710A (en) * 1997-06-30 2000-01-11 Sun Microsystems, Inc. System and method for message transmission between network nodes using remote wires
JPH1168873A (ja) * 1997-08-08 1999-03-09 Nec Corp データ通信方法及びデータ通信システム
US6553404B2 (en) * 1997-08-08 2003-04-22 Prn Corporation Digital system
US6385647B1 (en) * 1997-08-18 2002-05-07 Mci Communications Corporations System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data
DE19741870A1 (de) * 1997-09-23 1999-03-25 Cit Alcatel Verfahren zum Verteilen von Datenpaketen einer Betriebssoftware
US6061733A (en) * 1997-10-16 2000-05-09 International Business Machines Corp. Method and apparatus for improving internet download integrity via client/server dynamic file sizes
US7301944B1 (en) 1997-10-24 2007-11-27 Tranz-Send Broadcasting Network, Inc. Media file distribution with adaptive transmission protocols
US6185623B1 (en) * 1997-11-07 2001-02-06 International Business Machines Corporation Method and system for trivial file transfer protocol (TFTP) subnet broadcast
EP0920154B1 (de) * 1997-11-24 2004-11-03 STMicroelectronics GmbH Verfahren und Schaltungsanordnung zur selektiven digitalen seriellen Übertragung
US6038491A (en) * 1997-11-26 2000-03-14 Mars, Incorporated Monitoring and reporting system using cellular carriers
US6741869B1 (en) * 1997-12-12 2004-05-25 International Business Machines Corporation Radio-like appliance for receiving information from the internet
DE69840915D1 (de) * 1997-12-15 2009-07-30 Thomson Licensing Architektur für ein Stromleitungskommunikationsprotokoll
BR9906817A (pt) * 1998-01-09 2000-11-28 Abb Power T & D Co a qual suporta um protocolo de controle de terminal/protocolo de internet (tcp/ip). a rede de computação da empresa (50) compreende programas aplicativos (80) através dos quais ordens de trabalho podem ser atribuídas e gerenciadas, várias máquinas servidoras contendo dados relacionados às ordens de trabalho, uma rede de área local (lan) conectando as máquinas servidoras, e uma porta para a rede sem fio tcp/ip. uma unidade de campo móvel (52) compreende um dispositivo de computação e um modem para comunicação pela rede sem fio (54) para o sistema computacional de empresa (50). uma unidade de campo móvel
US6151357A (en) * 1998-01-16 2000-11-21 Aspect Communications Corporation Method and apparatus for displaying a visual indication of a transmission status
US7051003B1 (en) 1998-02-26 2006-05-23 Atabok Japan, Inc. Method and apparatus for delivering electronic data through a proxy server
US7194757B1 (en) * 1998-03-06 2007-03-20 Starguide Digital Network, Inc. Method and apparatus for push and pull distribution of multimedia
US6085251A (en) * 1998-04-02 2000-07-04 The United States Of America As Represented By The Secretary Of The Air Force Implementing a parallel file transfer protocol
US8284774B2 (en) * 1998-04-03 2012-10-09 Megawave Audio Llc Ethernet digital storage (EDS) card and satellite transmission system
US6160797A (en) * 1998-04-03 2000-12-12 Starguide Digital Networks, Inc. Satellite receiver/router, system, and method of use
US7545816B1 (en) * 1998-04-29 2009-06-09 Ncr Corporation Transaction processing systems maintenance
US6167444A (en) * 1998-05-08 2000-12-26 International Business Machines Corporation Method and system for exchanging routing information
US6182084B1 (en) 1998-05-26 2001-01-30 Williams Communications, Inc. Method and apparatus of data comparison for statistical information content creation
US6078954A (en) * 1998-05-26 2000-06-20 Williams Communications, Inc. Server directed multicast communication method and system
US6615383B1 (en) 1998-05-29 2003-09-02 Sun Microsystems, Inc. System and method for message transmission between network nodes connected by parallel links
US20070078978A1 (en) * 1998-06-01 2007-04-05 Sri International Method and apparatus for updating information in a low-bandwidth client/server object-oriented system
JP4080599B2 (ja) * 1998-06-17 2008-04-23 富士通株式会社 通信制御装置およびマルチキャスト対応lanに適用される通信制御方法
US6212240B1 (en) * 1998-06-24 2001-04-03 Motorola, Inc. Method and apparatus for conveying data between communication devices
US6381215B1 (en) * 1998-06-29 2002-04-30 Microsoft Corporation Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US6266334B1 (en) * 1998-07-20 2001-07-24 Zayante, Inc. Method for optimizing acknowledge packet rate
US6515994B1 (en) * 1998-07-30 2003-02-04 Lucent Technologies Inc. Method of communication in a communications network and apparatus therefor
US6289012B1 (en) 1998-08-03 2001-09-11 Instanton Corporation High concurrency data download apparatus and method
US6621799B1 (en) * 1998-10-05 2003-09-16 Enterasys Networks, Inc. Semi-reliable data transport
KR100418875B1 (ko) * 1998-10-10 2004-04-17 엘지전자 주식회사 영상데이터재전송방법
US6519636B2 (en) * 1998-10-28 2003-02-11 International Business Machines Corporation Efficient classification, manipulation, and control of network transmissions by associating network flows with rule based functions
US6373842B1 (en) * 1998-11-19 2002-04-16 Nortel Networks Limited Unidirectional streaming services in wireless systems
FI982530A (fi) 1998-11-23 2000-05-24 Nokia Multimedia Network Terminals Oy Menetelmä ja järjestelmä tiedonsiirtokapasiteetin varaamiseksi
US6452935B1 (en) * 1998-11-25 2002-09-17 Sony Corporation Stream allocation in home networks
US6272469B1 (en) * 1998-11-25 2001-08-07 Ge Medical Systems Global Technology Company, Llc Imaging system protocol handling method and apparatus
US7151770B1 (en) 1998-11-27 2006-12-19 British Telecommunications Public Limited Company Communications network
WO2000033502A1 (en) * 1998-11-27 2000-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth efficient acknowledgement/negative acknowledegment
US6367045B1 (en) 1999-07-01 2002-04-02 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth efficient acknowledgment/negative acknowledgment in a communication system using automatic repeat request (ARQ)
CA2352200C (en) * 1998-11-27 2007-10-16 British Telecommunications Public Limited Company Communications network
DE69927339T2 (de) 1998-11-30 2006-06-22 Matsushita Electric Industrial Co., Ltd., Kadoma Datenübertragungverfahren
US6405259B1 (en) * 1998-12-08 2002-06-11 International Business Machines Corporation Data processing system and method for transmission of a network packet specifying a group identifier identifying a selected plurality of clients
US20010011305A1 (en) * 1999-02-22 2001-08-02 Keith R. Barker File transmission acknowledgement system and method
US7106689B1 (en) * 1999-03-02 2006-09-12 Matsushita Electric Industrial Co., Ltd. OFDM transmission/reception apparatus
FI106760B (fi) 1999-03-03 2001-03-30 Nokia Oyj Menetelmä ja laite tiedonsiirtopakettien uudelleenlähettämiseksi
US7102998B1 (en) * 1999-03-22 2006-09-05 Lucent Technologies Inc. Scaleable congestion control method for multicast communications over a data network
US6728713B1 (en) 1999-03-30 2004-04-27 Tivo, Inc. Distributed database management system
US7024627B2 (en) * 2000-07-19 2006-04-04 Verizon Corporate Services Group Inc. System and method for providing a graphical representation of a frame inside a central office of a telecommunications system
US6269080B1 (en) * 1999-04-13 2001-07-31 Glenayre Electronics, Inc. Method of multicast file distribution and synchronization
WO2000064111A1 (en) * 1999-04-16 2000-10-26 Unifree, L.L.C. Media file distribution with adaptive transmission protocols
US6418473B1 (en) * 1999-05-20 2002-07-09 Nortel Networks Limited Multimedia clent and server
US7318102B1 (en) 1999-05-24 2008-01-08 Hewlett-Packard Development Company, L.P. Reliable datagram
WO2000072169A1 (en) * 1999-05-24 2000-11-30 Hewlett-Packard Company Congestion management in distributed computer system
WO2000072558A1 (en) * 1999-05-26 2000-11-30 Walter Jay Weingarten Transparent systems for communication over computer networks
US6507582B1 (en) * 1999-05-27 2003-01-14 Qualcomm Incorporated Radio link protocol enhancements for dynamic capacity wireless data channels
US7197144B1 (en) 1999-06-08 2007-03-27 Ethos Technologies, Inc. Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users
US6625773B1 (en) * 1999-06-09 2003-09-23 International Business Machines Corporation System for multicast communications in packet switched networks
US7296091B1 (en) 1999-06-18 2007-11-13 The Trustees Of Columbia University In The City Of New York System and method for receiving over a network a broadcast from a broadcast source
AU6337300A (en) * 1999-06-22 2001-01-09 World Multicast.Com, Inc. Self implementing multicast level escalation
US6870843B1 (en) 1999-06-22 2005-03-22 World Multicast.Com, Inc. Self implementing multicast level escalation
JP3289706B2 (ja) * 1999-06-23 2002-06-10 日本電気株式会社 送受信回路及び送受信方法並びに記録媒体
JP2001016233A (ja) * 1999-06-28 2001-01-19 Oki Electric Ind Co Ltd データ通信方法
US6581175B1 (en) * 1999-06-29 2003-06-17 Nortel Networks Limited Apparatus and method of requesting retransmission of a message across a network
GB9915593D0 (en) * 1999-07-02 1999-09-01 Nokia Telecommunications Oy Data acknowledgement
US7085273B1 (en) * 1999-07-08 2006-08-01 Lucent Technologies Inc. Sender-initiated recovery algorithm (SIRA) for the layer 2 tunneling protocol (L2TP)
KR100424654B1 (ko) 1999-08-02 2004-03-24 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 재전송 장치 및 방법
US6587434B1 (en) * 1999-08-10 2003-07-01 Cirrus Logic, Inc TCP/IP communications protocol
US6859834B1 (en) * 1999-08-13 2005-02-22 Sun Microsystems, Inc. System and method for enabling application server request failover
AU6643100A (en) * 1999-08-16 2001-03-13 Orblynx, Inc. Internet caching system
US6526434B1 (en) * 1999-08-24 2003-02-25 International Business Machines Corporation System and method for efficient transfer of data blocks from client to server
US6789130B1 (en) * 1999-08-26 2004-09-07 International Business Machines Corporation Automatic rate adaptation system in a local area network
JP3636947B2 (ja) * 1999-08-31 2005-04-06 株式会社日立製作所 情報サービスシステム、サービス利用クライアント及びサービス規制方法
US7313627B1 (en) 1999-09-30 2007-12-25 Data Expedition, Inc. Flow control method and apparatus
US7158479B1 (en) * 1999-09-30 2007-01-02 Data Expedition, Inc. Method and apparatus for non contiguous sliding window
US7404003B1 (en) * 1999-09-30 2008-07-22 Data Expedition, Inc. Method and apparatus for client side state management
US6771700B1 (en) * 1999-10-09 2004-08-03 Qualcomm Incorporated Method and apparatus for minimizing total transmission energy in a communication system employing retransmission of frame received in error
US9066113B1 (en) 1999-10-19 2015-06-23 International Business Machines Corporation Method for ensuring reliable playout in a DMD system
US20030182567A1 (en) 1999-10-20 2003-09-25 Tivo Inc. Client-side multimedia content targeting system
US6629284B1 (en) * 1999-10-28 2003-09-30 Koninklijke Philips Electronics N.V. System and method for supervised downloading of broadcast data
US6871203B1 (en) * 1999-10-29 2005-03-22 International Business Machines Corporation Data processing system
US6700893B1 (en) 1999-11-15 2004-03-02 Koninklijke Philips Electronics N.V. System and method for controlling the delay budget of a decoder buffer in a streaming data receiver
US6757736B1 (en) * 1999-11-30 2004-06-29 International Business Machines Corporation Bandwidth optimizing adaptive file distribution
US6674994B1 (en) 1999-12-01 2004-01-06 Panamsat Corporation Pickup and delivery of data files
US6564064B1 (en) * 1999-12-01 2003-05-13 Trimble Navigation Limited Cellular telephone using pseudolites for determining location
FR2802735B1 (fr) * 1999-12-20 2002-03-29 Canon Kk Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre
KR100394827B1 (ko) * 1999-12-22 2003-08-21 엘지전자 주식회사 이동통신교환기의 프로세서 재시동을 위한 프로그램 및데이터 적재방법
US6587438B1 (en) 1999-12-22 2003-07-01 Resonate Inc. World-wide-web server that finds optimal path by sending multiple syn+ack packets to a single client
US6738819B1 (en) * 1999-12-27 2004-05-18 Nortel Networks Limited Dynamic admission control for IP networks
FR2809839A1 (fr) * 1999-12-30 2001-12-07 Thomson Multimedia Sa Procede de telechargement de donnees procedees par des signaux d'annonce
US6574668B1 (en) * 2000-01-25 2003-06-03 Cirrus Logic, Inc. Retransmission scheme in wireless computer networks
US6996100B1 (en) 2000-02-03 2006-02-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for medium access on a radio channel
WO2001067673A2 (en) * 2000-03-03 2001-09-13 Sri International Method and apparatus for updating information in a low-bandwidth client/server object-oriented system
US6831912B1 (en) * 2000-03-09 2004-12-14 Raytheon Company Effective protocol for high-rate, long-latency, asymmetric, and bit-error prone data links
GB0006096D0 (en) * 2000-03-15 2000-05-03 Pace Micro Tech Plc Improvements to control system for network servers
US7284064B1 (en) * 2000-03-21 2007-10-16 Intel Corporation Method and apparatus to determine broadcast content and scheduling in a broadcast system
JP2001273122A (ja) * 2000-03-23 2001-10-05 Hitachi Ltd 並列計算システムのプログラムインストール方法及び装置
US6748447B1 (en) * 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US6993587B1 (en) 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
US6718361B1 (en) 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6745360B1 (en) * 2000-04-13 2004-06-01 Microsoft Corporation Method and system for controlling the rate of acknowledgment of communication packets
US6850488B1 (en) * 2000-04-14 2005-02-01 Sun Microsystems, Inc. Method and apparatus for facilitating efficient flow control for multicast transmissions
US6732182B1 (en) * 2000-05-17 2004-05-04 Worldcom, Inc. Method for generating packet loss report by a data coordinator in a multicast data transmission network utilizing a group shortest path tree
US6529525B1 (en) * 2000-05-19 2003-03-04 Motorola, Inc. Method for supporting acknowledged transport layer protocols in GPRS/edge host application
US6865617B2 (en) * 2000-05-23 2005-03-08 Sepaton, Inc. System maps SCSI device with virtual logical unit number and multicast address for efficient data replication over TCP/IP network
US7171484B1 (en) 2000-05-24 2007-01-30 Krause Michael R Reliable datagram transport service
US7953834B1 (en) * 2000-06-22 2011-05-31 Emc Corporation System and method for reducing bandwidth consumed by looping message packets in local area network
US6910063B1 (en) * 2000-06-28 2005-06-21 Microsoft Corporation System and method of enhancing web server throughput in single and multiple processor systems
US6952733B1 (en) * 2000-06-30 2005-10-04 Northrop Grumman Corporation System and method for reliable multicast data distribution over an unreliable packet switched network
WO2002003597A1 (en) * 2000-06-30 2002-01-10 Kanad Ghose System and method for fast, reliable byte stream transport
US7102773B1 (en) 2000-07-19 2006-09-05 Sharp Laboratories Of America, Inc. Method for multicast of documents
US6839754B2 (en) * 2000-09-15 2005-01-04 Wm. Marsh Rice University Network tomography using closely-spaced unicast packets
US6963993B1 (en) * 2000-09-28 2005-11-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Fail-over file transfer process
US6697962B1 (en) 2000-10-20 2004-02-24 Unisys Corporation Remote computer system monitoring and diagnostic board
US6970847B1 (en) * 2000-10-24 2005-11-29 Canon Kabushiki Kaisha Business method for secure document folder distribution
US7254605B1 (en) 2000-10-26 2007-08-07 Austen Services Llc Method of modulating the transmission frequency in a real time opinion research network
WO2002069073A2 (en) * 2000-11-13 2002-09-06 Starguide Digital Networks, Inc. Ethernet digital storage (eds) card and satellite transmission system including faxing capability
US6629261B1 (en) 2000-11-21 2003-09-30 At&T Wireless Services, Inc. Enhanced data link layer selective reject mechanism in noisy wireless environment
US7275254B1 (en) 2000-11-21 2007-09-25 Intel Corporation Method and apparatus for determining and displaying the service level of a digital television broadcast signal
US20020075824A1 (en) * 2000-12-14 2002-06-20 Willekes Tom J. System and method for distributing files in a wireless network infrastructure
US7254638B2 (en) * 2000-12-15 2007-08-07 International Business Machines Corporation Method and apparatus for identifying slow links and for providing application-based responses to slow links in a distributed computer network
US20020087752A1 (en) * 2000-12-28 2002-07-04 Connor Patrick L. Method of real time statistical collection for I/O controllers
US20020143499A1 (en) * 2001-01-12 2002-10-03 Graphin Co., Ltd Methods and apparatus for communicating information via a network
US20020133624A1 (en) * 2001-01-16 2002-09-19 Tony Hashem System and process for routing information in a data processing system
US6845274B2 (en) * 2001-01-24 2005-01-18 Koninklijke Philips Electronics N.V. Communication port control module for lighting systems
US7240105B2 (en) * 2001-01-26 2007-07-03 International Business Machines Corporation Distributed multicast caching technique
WO2002060149A2 (en) * 2001-01-26 2002-08-01 Placeware, Inc. A method and apparatus for automatically determining an appropriate transmission method in a network
US7260785B2 (en) * 2001-01-29 2007-08-21 International Business Machines Corporation Method and system for object retransmission without a continuous network connection in a digital media distribution system
US20020133398A1 (en) * 2001-01-31 2002-09-19 Microsoft Corporation System and method for delivering media
US7383329B2 (en) 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US7360075B2 (en) * 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US7689598B2 (en) * 2001-02-15 2010-03-30 International Business Machines Corporation Method and system for file system synchronization between a central site and a plurality of remote sites
JP3737705B2 (ja) * 2001-02-20 2006-01-25 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、サーバ、クライアント、通信方法、及び通信プログラム
US20020116500A1 (en) * 2001-02-22 2002-08-22 Arora Akhil K. Protocol for wireless devices
US20020131428A1 (en) * 2001-03-13 2002-09-19 Vivian Pecus Large edge node for simultaneous video on demand and live streaming of satellite delivered content
US7174373B1 (en) 2001-03-13 2007-02-06 Panamsat Corporation Self-contained demonstration node in a satellite based content delivery system
US6886029B1 (en) 2001-03-13 2005-04-26 Panamsat Corporation End to end simulation of a content delivery system
US7130908B1 (en) 2001-03-13 2006-10-31 Intelsat Ltd. Forward cache management between edge nodes in a satellite based content delivery system
US7237017B1 (en) 2001-03-13 2007-06-26 Panamsat Corporation Micronode in a satellite based content delivery system
US6807578B2 (en) 2001-03-14 2004-10-19 International Business Machines Corporation Nack suppression for multicast protocols in mostly one-way networks
US20020144265A1 (en) * 2001-03-29 2002-10-03 Connelly Jay H. System and method for merging streaming and stored content information in an electronic program guide
US8199696B2 (en) 2001-03-29 2012-06-12 Qualcomm Incorporated Method and apparatus for power control in a wireless communication system
US20020143591A1 (en) * 2001-03-30 2002-10-03 Connelly Jay H. Method and apparatus for a hybrid content on demand broadcast system
US20020144269A1 (en) * 2001-03-30 2002-10-03 Connelly Jay H. Apparatus and method for a dynamic electronic program guide enabling billing broadcast services per EPG line item
US6792544B2 (en) 2001-04-03 2004-09-14 Ge Financial Assurance Holdings, Inc. Method and system for secure transmission of information
US7301956B2 (en) * 2001-05-10 2007-11-27 Brocade Communications Systems, Inc. System and method for storing and retrieving multi-speed data streams within a network switch
US7024609B2 (en) * 2001-04-20 2006-04-04 Kencast, Inc. System for protecting the transmission of live data streams, and upon reception, for reconstructing the live data streams and recording them into files
US7418515B2 (en) 2001-04-27 2008-08-26 International Business Machines Corporation Data communication method, data communication system and program
US20020165970A1 (en) * 2001-05-02 2002-11-07 Carl Ludewig System and method for intelligent bit rate and buffer selection
JP2002359641A (ja) * 2001-05-31 2002-12-13 Matsushita Electric Ind Co Ltd ファイル配信システム、ファイル配信サーバ装置、及び受信クライアント装置
US7185352B2 (en) * 2001-05-11 2007-02-27 Intel Corporation Method and apparatus for combining broadcast schedules and content on a digital broadcast-enabled client platform
US7353252B1 (en) 2001-05-16 2008-04-01 Sigma Design System for electronic file collaboration among multiple users using peer-to-peer network topology
US7272645B2 (en) 2001-05-25 2007-09-18 Sbc Technology Resources, Inc. Method of improving the reliability of peer-to-peer network downloads
US20030005465A1 (en) * 2001-06-15 2003-01-02 Connelly Jay H. Method and apparatus to send feedback from clients to a server in a content distribution broadcast system
US20030005451A1 (en) * 2001-06-15 2003-01-02 Connelly Jay H. Method and apparatus to distribute content descriptors in a content distribution broadcast system
US20020194603A1 (en) * 2001-06-15 2002-12-19 Jay H. Connelly Method and apparatus to distribute content using a multi-stage broadcast system
US7328455B2 (en) * 2001-06-28 2008-02-05 Intel Corporation Apparatus and method for enabling secure content decryption within a set-top box
US20030002497A1 (en) * 2001-06-29 2003-01-02 Anil Vasudevan Method and apparatus to reduce packet traffic across an I/O bus
US7363569B2 (en) * 2001-06-29 2008-04-22 Intel Corporation Correcting for data losses with feedback and response
US6983410B2 (en) * 2001-07-02 2006-01-03 Qualcomm, Incorporated System and method for a frame re-transmission in a broadcast communication system
JP4767443B2 (ja) * 2001-07-04 2011-09-07 富士通株式会社 ネットワーク蓄積型ビデオカメラシステム
SE0102546D0 (sv) * 2001-07-16 2001-07-16 Icomera Ab Network-aware application in a 4g environment
EP1278348A1 (en) * 2001-07-17 2003-01-22 Alcatel Long-lived TCP connection using ICMP messages in wireless mobile communications
US20030023915A1 (en) * 2001-07-30 2003-01-30 Koninklijke Philips Electronics N.V. Forward error correction system and method for packet based communication systems
US8001594B2 (en) * 2001-07-30 2011-08-16 Ipass, Inc. Monitoring computer network security enforcement
US20030028632A1 (en) * 2001-08-02 2003-02-06 Davis Thomas G. System and method of multicasting data messages
US7149813B2 (en) * 2001-08-14 2006-12-12 Microsoft Corporation Method and system for synchronizing mobile devices
US20030037132A1 (en) * 2001-08-20 2003-02-20 Abdollahi Mahshid Ellie Controlling multiple nodes using SNMP
US7903593B2 (en) * 2001-08-23 2011-03-08 Runcom Technologies Ltd. Multicast transmission in packet based cellular networks
US7047456B2 (en) * 2001-08-28 2006-05-16 Intel Corporation Error correction for regional and dynamic factors in communications
US20030046683A1 (en) * 2001-08-28 2003-03-06 Jutzi Curtis E. Server-side preference prediction based on customer billing information to generate a broadcast schedule
US6535924B1 (en) * 2001-09-05 2003-03-18 Pluris, Inc. Method and apparatus for performing a software upgrade of a router while the router is online
US7231653B2 (en) 2001-09-24 2007-06-12 Intel Corporation Method for delivering transport stream data
US20030061611A1 (en) * 2001-09-26 2003-03-27 Ramesh Pendakur Notifying users of available content and content reception based on user profiles
US8943540B2 (en) * 2001-09-28 2015-01-27 Intel Corporation Method and apparatus to provide a personalized channel
US20030066090A1 (en) * 2001-09-28 2003-04-03 Brendan Traw Method and apparatus to provide a personalized channel
ES2254724T3 (es) * 2001-10-01 2006-06-16 Research In Motion Limited Gestion del contacto para dispositivos moviles de comunicacion en redes inalambricas de paquetes conmutados.
US7051112B2 (en) * 2001-10-02 2006-05-23 Tropic Networks Inc. System and method for distribution of software
US7647422B2 (en) 2001-11-06 2010-01-12 Enterasys Networks, Inc. VPN failure recovery
US6983334B2 (en) * 2001-11-07 2006-01-03 International Business Machines Corporation Method and system of tracking missing packets in a multicast TFTP environment
US7016967B2 (en) * 2001-11-08 2006-03-21 Northrop Grumman Corporation Methodology for fast file transfer protocol
US7330432B1 (en) * 2001-11-15 2008-02-12 Network Appliance, Inc. Method and apparatus for optimizing channel bandwidth utilization by simultaneous reliable transmission of sets of multiple data transfer units (DTUs)
US7013418B1 (en) * 2001-11-15 2006-03-14 Network Appliance, Inc. Method and apparatus for reliable delivery of status information for multiple sets of data units in a single packet
US7549096B2 (en) * 2001-11-16 2009-06-16 At&T Mobility Ii Llc Methods and systems for tracking and playing back errors in a communications network
US7487262B2 (en) 2001-11-16 2009-02-03 At & T Mobility Ii, Llc Methods and systems for routing messages through a communications network based on message content
US7617328B2 (en) 2001-11-16 2009-11-10 At&T Mobility Ii Llc System for translation and communication of messaging protocols into a common protocol
US7317697B2 (en) 2001-11-16 2008-01-08 At&T Mobility Ii Llc System for handling file attachments
US7454195B2 (en) 2001-11-16 2008-11-18 At&T Mobility Ii, Llc System for the centralized storage of wireless customer information
US7793334B2 (en) 2001-11-16 2010-09-07 At&T Mobility Ii Llc System and method for password protecting a distribution list
US7319858B2 (en) * 2001-11-16 2008-01-15 Cingular Wireless Ii, Llc System and method for querying message information
US7401148B2 (en) 2001-11-16 2008-07-15 At&T Mobility Ii Llc System for customer access to messaging and configuration data
US7657253B2 (en) 2001-11-16 2010-02-02 At&T Mobility Ii Llc System and method for providing message notification
US8660537B2 (en) * 2001-11-16 2014-02-25 At&T Mobility Ii Llc System for the storage and retrieval of messages
US20030126162A1 (en) * 2002-01-03 2003-07-03 Yohe Thomas Patrick System and method for synchronizing databases in a secure network environment
US20030135857A1 (en) * 2002-01-11 2003-07-17 Ramesh Pendakur Content discovery in a digital broadcast data service
US20030135605A1 (en) * 2002-01-11 2003-07-17 Ramesh Pendakur User rating feedback loop to modify virtual channel content and/or schedules
AU2003207617A1 (en) * 2002-01-22 2003-09-02 Sharp Laboratories Of America, Inc. Systems and methods for acknowledgement of multi-cast traffic
CA2369196A1 (en) * 2002-01-24 2003-07-24 Alcatel Canada Inc. System and method of downloading data for a communication switch
EP1333614A3 (en) * 2002-01-24 2004-04-14 Alcatel Canada Inc. System and method of downloading data for a communication switch
US6957374B1 (en) 2002-01-31 2005-10-18 The United States Of America As Represented By The National Security Agency Method of acknowledging receipt of data packets
JP4039658B2 (ja) * 2002-02-08 2008-01-30 株式会社東芝 ソフトウエア管理方法、通信システム、端末、アクセスポイント、通信システムの端末で用いるセキュリティ対策ファイルのダウンロード方法
DE10205901A1 (de) * 2002-02-13 2003-08-28 Tenovis Gmbh & Co Kg Verfahren und Anordnung zur Datenübertragung mit einer Mehrpunktverbindung
GB2385499A (en) * 2002-02-18 2003-08-20 Venation Ltd Network transport protocol
AU2003217819B2 (en) 2002-03-01 2008-04-03 Extreme Networks, Inc. Location aware data network
US7184705B2 (en) * 2002-03-08 2007-02-27 Telefonaktiebolaget Lm Ericsson (Publ) Distributed MAC in an uncoordinated radio environment
JP3920675B2 (ja) * 2002-03-22 2007-05-30 株式会社リコー データ通信方法、コンピュータ、プログラム及び記憶媒体
US7155578B2 (en) * 2002-04-05 2006-12-26 Genworth Financial, Inc. Method and system for transferring files using file transfer protocol
US20030206549A1 (en) * 2002-05-03 2003-11-06 Mody Sachin Satish Method and apparatus for multicast delivery of information
US7302691B2 (en) * 2002-05-10 2007-11-27 Sonics, Incorporated Scalable low bandwidth multicast handling in mixed core systems
DE10224994A1 (de) * 2002-06-05 2003-12-18 Siemens Ag Verfahren und System zum Übertragen von Datenpaketen
US7289500B1 (en) * 2003-07-17 2007-10-30 Novell, Inc. Method and system for reliable multicast data transmission
JP2004165712A (ja) * 2002-09-19 2004-06-10 Ntt Docomo Inc 移動通信システム、基地局、移動局及び無線制御装置
JP4133156B2 (ja) * 2002-09-19 2008-08-13 株式会社エヌ・ティ・ティ・ドコモ 移動通信システム、移動局及び無線制御装置
GB2394386A (en) * 2002-10-16 2004-04-21 Nokia Corp Multicast data transfer
JP2004159017A (ja) * 2002-11-05 2004-06-03 Ntt Docomo Inc 移動通信システム、及びこれに用いて好適な無線局
US7984174B2 (en) * 2002-11-11 2011-07-19 Supracomm, Tm Inc. Multicast videoconferencing
US7974416B2 (en) 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
JP2004180092A (ja) * 2002-11-28 2004-06-24 Sony Corp 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
US20040133699A1 (en) * 2002-12-04 2004-07-08 Tony Hashem System and method for performing data transfer
US6996763B2 (en) * 2003-01-10 2006-02-07 Qualcomm Incorporated Operation of a forward link acknowledgement channel for the reverse link data
US7747244B2 (en) * 2003-01-23 2010-06-29 Research In Motion Limited Methods and apparatus for re-establishing communication for a wireless communication device after a communication loss in a wireless communication network
US7660282B2 (en) 2003-02-18 2010-02-09 Qualcomm Incorporated Congestion control in a wireless data network
US20040160922A1 (en) 2003-02-18 2004-08-19 Sanjiv Nanda Method and apparatus for controlling data rate of a reverse link in a communication system
US8391249B2 (en) 2003-02-18 2013-03-05 Qualcomm Incorporated Code division multiplexing commands on a code division multiplexed channel
US7155236B2 (en) 2003-02-18 2006-12-26 Qualcomm Incorporated Scheduled and autonomous transmission and acknowledgement
IL154739A0 (en) * 2003-03-04 2003-10-31 Bamboo Mediacasting Ltd Segmented data delivery over non-reliable link
US7215930B2 (en) 2003-03-06 2007-05-08 Qualcomm, Incorporated Method and apparatus for providing uplink signal-to-noise ratio (SNR) estimation in a wireless communication
US8705588B2 (en) 2003-03-06 2014-04-22 Qualcomm Incorporated Systems and methods for using code space in spread-spectrum communications
JP4283589B2 (ja) * 2003-03-25 2009-06-24 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信制御方法及びプログラム
US7327731B1 (en) * 2003-04-09 2008-02-05 At&T Corp. Point-to-multipoint connections for data delivery
US9420072B2 (en) 2003-04-25 2016-08-16 Z124 Smartphone databoost
US8477592B2 (en) 2003-05-14 2013-07-02 Qualcomm Incorporated Interference and noise estimation in an OFDM system
US7181588B2 (en) * 2003-05-22 2007-02-20 International Business Machines Corporation Computer apparatus and method for autonomic adjustment of block transfer size
US7296204B2 (en) * 2003-05-30 2007-11-13 Wegener Communications, Inc. Error correction apparatus and method
US7400616B2 (en) * 2003-06-18 2008-07-15 Nippon Telegraph And Telephone Corporation Wireless packet communication method and wireless packet communication apparatus
US20050010687A1 (en) * 2003-06-26 2005-01-13 Silicon Graphics, Inc. Multiprocessor network multicasting and gathering
US8862866B2 (en) 2003-07-07 2014-10-14 Certicom Corp. Method and apparatus for providing an adaptable security level in an electronic communication
US7236738B2 (en) 2003-08-01 2007-06-26 Pathfire, Inc. Multicast control systems and methods for dynamic, adaptive time, bandwidth,frequency, and satellite allocations
US8489949B2 (en) 2003-08-05 2013-07-16 Qualcomm Incorporated Combining grant, acknowledgement, and rate control commands
EP1661311B1 (en) * 2003-08-15 2012-07-18 GVBB Holdings S.A.R.L Changeable functionality in a broadcast router
FR2859297A1 (fr) * 2003-08-29 2005-03-04 France Telecom Dispositif de transmission de messages par reseau a des postes d'utilisateurs
IL157886A0 (en) * 2003-09-11 2009-02-11 Bamboo Mediacasting Ltd Secure multicast transmission
IL157885A0 (en) * 2003-09-11 2004-03-28 Bamboo Mediacasting Ltd Iterative forward error correction
US7188292B2 (en) * 2003-09-26 2007-03-06 Nortel Networks Limited Data mirroring system
IL158158A (en) 2003-09-29 2012-05-31 Bamboo Mediacasting Ltd Distribution of multicast data to users
US7447148B2 (en) * 2003-10-28 2008-11-04 Ntt Docomo, Inc. Method for supporting scalable and reliable multicast in TDMA/TDD systems using feedback suppression techniques
US7095739B2 (en) * 2003-11-25 2006-08-22 Cisco Technology, Inc. Reliable multicast communication
US20050160345A1 (en) * 2003-12-24 2005-07-21 Rod Walsh Apparatus, system, method and computer program product for reliable multicast transport of data packets
WO2005069552A1 (en) * 2004-01-14 2005-07-28 Gridiron Software, Inc. Redundant pipelined file transfer
JP4695098B2 (ja) * 2004-01-23 2011-06-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ パケットデータマルチキャスト通信システム、局、及びこのようなシステムを動作する方法
US8190098B2 (en) * 2004-01-23 2012-05-29 Koninklijke Philips Electronics N.V. Packet data multicast communication system, a station, and a method of operating the system
US7580403B2 (en) 2004-02-26 2009-08-25 Enterasys Networks, Inc. Status transmission system and method
TWI278199B (en) * 2004-03-26 2007-04-01 Quanta Comp Inc Deployment method and system for multiple remote computers
US7680885B2 (en) 2004-04-15 2010-03-16 Citrix Systems, Inc. Methods and apparatus for synchronization of data set representations in a bandwidth-adaptive manner
US7756033B2 (en) * 2004-05-03 2010-07-13 Verizon Business Global Llc Systems and methods for managing multicast data transmissions
US8122145B2 (en) * 2004-05-17 2012-02-21 Nokia Corporation System, method and computer program product for grouping clients and transferring content in accordance with the same
JP4068592B2 (ja) * 2004-05-28 2008-03-26 株式会社東芝 無線通信装置
US20080192661A1 (en) * 2004-06-02 2008-08-14 Yasuo Hamamoto Radio Transmission Method
JP2006054853A (ja) * 2004-07-14 2006-02-23 Iwatsu Electric Co Ltd 無線lanにおけるパケット伝送方法及び装置
US8223647B2 (en) * 2004-07-21 2012-07-17 Nokia Corporation System and method for increasing data throughout using a block acknowledgement
JP4107594B2 (ja) * 2004-07-26 2008-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理システム、情報処理装置、制御方法、プログラム、及び記録媒体
US7945945B2 (en) 2004-08-06 2011-05-17 Enterasys Networks, Inc. System and method for address block enhanced dynamic network policy management
US7533324B2 (en) * 2004-09-22 2009-05-12 Kencast, Inc. System, method and apparatus for FEC encoding and decoding
US7360140B2 (en) * 2004-09-23 2008-04-15 International Business Machines Corporation Apparatus and method for tracking packets in a reliably connected transmission system
US7347628B2 (en) 2004-11-08 2008-03-25 Enterasys Networks, Inc. Optical interface identification system
KR100677425B1 (ko) * 2005-01-13 2007-02-02 엘지전자 주식회사 무선 데이터 망의 성능 점검 장치 및 그 방법
US7739580B1 (en) 2005-02-17 2010-06-15 Kencast, Inc. System, method and apparatus for reducing blockage losses on information distribution networks
EP1866789B8 (en) * 2005-02-28 2020-04-15 McAfee, LLC Mobile data security system and methods
WO2006094426A1 (en) 2005-03-05 2006-09-14 Intel Corporation Server side tftp flow control
US20060239195A1 (en) * 2005-04-26 2006-10-26 Martin Camins Method and apparatus for dual-mode application update protocol
US7586930B2 (en) * 2005-05-10 2009-09-08 Harris Corporation Multicast data communication method and network
FI20055239A (fi) * 2005-05-13 2006-11-14 Nethawk Oy Menetelmä sanomien käsittelemiseksi tietojenkäsittelylaite ja tietokoneohjelmatuote
US8675653B2 (en) * 2005-05-17 2014-03-18 Alcatel Lucent Co-existing static and dynamic IP multicast
US20060271877A1 (en) * 2005-05-25 2006-11-30 Citrix Systems, Inc. A system and methods for selective sharing of an application window
US8443040B2 (en) 2005-05-26 2013-05-14 Citrix Systems Inc. Method and system for synchronizing presentation of a dynamic data set to a plurality of nodes
KR101114737B1 (ko) * 2005-05-31 2012-02-29 삼성전자주식회사 이동통신시스템에서 패킷 수신 결과 보고방법
US8086232B2 (en) 2005-06-28 2011-12-27 Enterasys Networks, Inc. Time synchronized wireless method and operations
US8605642B2 (en) * 2005-07-07 2013-12-10 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for coding and scheduling in packet data communication systems
WO2007021097A1 (en) * 2005-08-12 2007-02-22 Samsung Electronics Co., Ltd. Method and apparatus to transmit and/or receive data via wireless network and wireless device
US8223643B1 (en) 2005-09-06 2012-07-17 Kencast, Inc. Method for packet-level FEC encoding a stream of source packets using shifted interleaving
CA2624671C (en) 2005-09-30 2012-01-03 Research In Motion Limited Methods and apparatus for dynamically adjusting a data packet window size for data packet transmission in a wireless communication network
US8396041B2 (en) 2005-11-08 2013-03-12 Microsoft Corporation Adapting a communication network to varying conditions
CN100505859C (zh) * 2005-11-08 2009-06-24 联想(北京)有限公司 一种点到多点的无线显示方法
KR100750170B1 (ko) 2005-11-15 2007-08-21 삼성전자주식회사 통신 네트워크에서 데이터 프레임을 효율적으로 전송하는방법 및 장치
US8381047B2 (en) * 2005-11-30 2013-02-19 Microsoft Corporation Predicting degradation of a communication channel below a threshold based on data transmission errors
US8000304B2 (en) * 2005-12-12 2011-08-16 Motorola Mobility, Inc. System and method for determining a forward channel rate for wirelessly communicating information to a wireless communication device
US7558587B2 (en) 2005-12-12 2009-07-07 Motorola, Inc. System and method for dynamically selecting wireless information communication modes for a wireless communication device
US8005892B2 (en) * 2006-02-17 2011-08-23 Nintendo Of America, Inc. Method and apparatus for distributing data to a plurality of game devices
US7664198B2 (en) * 2006-03-21 2010-02-16 Kyocera Corporation System and method for broadcasting data over a wireless network using rateless codes
US8688978B2 (en) 2006-04-13 2014-04-01 Certicom Corp. Method and apparatus for providing an adaptable security level in an electronic communication
US8677252B2 (en) * 2006-04-14 2014-03-18 Citrix Online Llc Systems and methods for displaying to a presenter visual feedback corresponding to visual changes received by viewers
EP1848139A1 (en) 2006-04-18 2007-10-24 THOMSON Licensing Method and device for transmitting data to several receivers using ARQ
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
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
US20080095052A1 (en) * 2006-07-27 2008-04-24 Patrick Julien Network Control Time Spans
US20080097824A1 (en) * 2006-07-27 2008-04-24 Patrick Julien Campaign Performance Report
US20080103904A1 (en) * 2006-07-27 2008-05-01 Patrick Julien Fine-Grained Criteria Targeting
US20080097848A1 (en) * 2006-07-27 2008-04-24 Patrick Julien Day Part Frame Criteria
US20080091497A1 (en) * 2006-07-27 2008-04-17 Patrick Julien Broadcast Days
KR20080018148A (ko) * 2006-08-23 2008-02-27 한국전자통신연구원 패킷 기반 셀룰라 시스템에서 방송 및 멀티캐스트 서비스데이터의 전송 및 수신 방법
KR100966047B1 (ko) * 2006-08-25 2010-06-28 삼성전자주식회사 통신시스템에서 미디어 송신 방법 및 장치
US8078972B2 (en) 2006-09-15 2011-12-13 Citrix Systems, Inc. Methods and interfaces for displaying performance data related to a current remote access session
US7978617B2 (en) 2006-09-15 2011-07-12 Citrix Systems, Inc. Methods for providing performance improvement recommendations
JP4680860B2 (ja) * 2006-09-29 2011-05-11 富士通株式会社 データ通信方法
US8707139B2 (en) 2006-10-18 2014-04-22 Kencast, Inc. Systems, methods, apparatus, and computer program products for providing forward error correction with low latency
US7924730B1 (en) * 2006-10-30 2011-04-12 Solace Systems, Inc. Method and apparatus for operations, administration and maintenance of a network messaging layer
CA2673778C (en) * 2006-12-28 2015-07-28 Research In Motion Limited Methods and apparatus for increasing data throughput by grouping data packets into maximum transmissible units
US8515079B1 (en) * 2007-01-26 2013-08-20 Cisco Technology, Inc. Hybrid rekey distribution in a virtual private network environment
EP2115923A4 (en) * 2007-02-09 2017-06-14 Clipsal Australia Pty Ltd Wireless network communications system
US20080198754A1 (en) * 2007-02-20 2008-08-21 At&T Knowledge Ventures, Lp Method and system for testing a communication network
US20080244042A1 (en) * 2007-03-26 2008-10-02 Sugih Jamin Method and system for communicating media over a computer network
US7949778B2 (en) * 2007-03-27 2011-05-24 Kencast, Inc. Systems, methods, apparatus and computer program products for providing packet-level FEC with higher throughput using user datagram protocol (UDP)
US8483068B2 (en) * 2007-03-30 2013-07-09 Verizon Patent And Licensing Inc. System and method of performance monitoring of multicast services with mobility support
CN101296165B (zh) * 2007-04-27 2011-09-21 华为技术有限公司 发送控制信令的方法和装置
US8312347B2 (en) * 2007-05-04 2012-11-13 Leviton Manufacturing Co., Inc. Lighting control protocol
US8055779B1 (en) 2007-05-10 2011-11-08 Adobe Systems Incorporated System and method using data keyframes
US8205140B2 (en) * 2007-05-10 2012-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for the use of network coding in a wireless communication network
US20080285496A1 (en) * 2007-05-14 2008-11-20 Bamboo Mediacasting Ltd. Data download in wireless network
US9979931B2 (en) * 2007-05-30 2018-05-22 Adobe Systems Incorporated Transmitting a digital media stream that is already being transmitted to a first device to a second device and inhibiting presenting transmission of frames included within a sequence of frames until after an initial frame and frames between the initial frame and a requested subsequent frame have been received by the second device
US8018933B2 (en) * 2007-06-27 2011-09-13 Microsoft Corporation Reliable multicast with automatic session startup and client backfil support
US8612617B2 (en) * 2007-06-28 2013-12-17 Microsoft Corporation Reliable multicast transport protocol
US8683065B2 (en) * 2007-06-29 2014-03-25 Microsoft Corporation Multicast content provider
JP5361888B2 (ja) * 2007-08-20 2013-12-04 アルカテル−ルーセント マルチキャスト・システムにおける再送をトリガするための方法、およびその方法を実施する装置
JP2009049704A (ja) * 2007-08-20 2009-03-05 Toshiba Corp 無線通信装置
US8233402B2 (en) 2007-09-20 2012-07-31 At&T Intellectual Property Ii, L.P. Multicast-based inference of temporal loss characteristics in packet data networks
JP5157351B2 (ja) * 2007-09-28 2013-03-06 日本電気株式会社 動画配信システム、加入者回線終端装置、動画配信方法、動画配信プログラム、及び記憶媒体
CA2706125A1 (en) 2007-11-29 2009-06-04 Airbus Operations Gmbh System and method for archiving of data
US8418034B2 (en) 2008-02-08 2013-04-09 Kencast, Inc. Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding
EP2243249A4 (en) * 2008-02-14 2012-03-21 Ericsson Telefon Ab L M SEGMENTATION OF SERVICES DISTRIBUTED IN MULTICAST
US8542683B2 (en) * 2008-06-30 2013-09-24 Entropic Communications, Inc. Dynamic bitloading
CN101631137B (zh) * 2008-07-15 2012-10-10 株式会社日立制作所 通信控制装置及通信控制方法
US8738780B2 (en) * 2009-01-22 2014-05-27 Citrix Systems, Inc. System and method for hybrid communication mechanism utilizing both communication server-based and direct endpoint-to-endpoint connections
US8977684B2 (en) * 2009-04-14 2015-03-10 Citrix Systems, Inc. Systems and methods for computer and voice conference audio transmission during conference call via VoIP device
US8223943B2 (en) * 2009-04-14 2012-07-17 Citrix Systems Inc. Systems and methods for computer and voice conference audio transmission during conference call via PSTN phone
US8060645B1 (en) * 2009-05-26 2011-11-15 Google Inc. Semi reliable transport of multimedia content
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
SG169903A1 (en) * 2009-09-08 2011-04-29 Certis Cisco Security Pte Ltd A file transfer system
US8891939B2 (en) * 2009-12-22 2014-11-18 Citrix Systems, Inc. Systems and methods for video-aware screen capture and compression
US8902967B2 (en) 2010-03-31 2014-12-02 Citrix Systems, Inc. Systems and methods for distributed media stream transcoding and sharing
CN102484616B (zh) * 2010-06-16 2015-02-25 松下电器产业株式会社 发送终端及频带估计方法
DE102010045683A1 (de) 2010-09-16 2012-03-22 Heidelberger Druckmaschinen Ag Kombinierte Unicast/Multicast Softwareübertragung
US8788576B2 (en) * 2010-09-27 2014-07-22 Z124 High speed parallel data exchange with receiver side data handling
US8751682B2 (en) 2010-09-27 2014-06-10 Z124 Data transfer using high speed connection, high integrity connection, and descriptor
US8533374B1 (en) * 2010-11-11 2013-09-10 Symantec Corporation Techniques for adaptive data transfer
US8799378B2 (en) * 2010-12-17 2014-08-05 Microsoft Corporation Non-greedy consumption by execution blocks in dataflow networks
US8922617B2 (en) 2010-12-23 2014-12-30 Citrix Systems, Inc. Systems, methods, and devices for time-shifting playback of a live online meeting
US9282289B2 (en) 2010-12-23 2016-03-08 Citrix Systems, Inc. Systems, methods, and devices for generating a summary document of an online meeting
US9269072B2 (en) * 2010-12-23 2016-02-23 Citrix Systems, Inc. Systems, methods, and devices for facilitating navigation of previously presented screen data in an ongoing online meeting
US9129258B2 (en) 2010-12-23 2015-09-08 Citrix Systems, Inc. Systems, methods, and devices for communicating during an ongoing online meeting
CN102088378A (zh) * 2011-01-19 2011-06-08 深圳创维数字技术股份有限公司 一种网络设备状态实时检测方法及系统
US8824687B2 (en) * 2011-05-04 2014-09-02 Acquire Media Ventures, Inc. Method and system for pacing, acking, timing, and handicapping (path) for simultaneous receipt of documents employing encryption
US20140055400A1 (en) 2011-05-23 2014-02-27 Haworth, Inc. Digital workspace ergonomics apparatuses, methods and systems
US9471192B2 (en) 2011-05-23 2016-10-18 Haworth, Inc. Region dynamics for digital whiteboard
EP2715490B1 (en) 2011-05-23 2018-07-11 Haworth, Inc. Digital whiteboard collaboration apparatuses, methods and systems
US9465434B2 (en) 2011-05-23 2016-10-11 Haworth, Inc. Toolbar dynamics for digital whiteboard
US20130013438A1 (en) * 2011-07-05 2013-01-10 Li-Hui Chen Grouping Method for Group-buying Based on Wireless Communication Protocol
US8499051B2 (en) 2011-07-21 2013-07-30 Z124 Multiple messaging communication optimization
US9774721B2 (en) 2011-09-27 2017-09-26 Z124 LTE upgrade module
US9495012B2 (en) 2011-09-27 2016-11-15 Z124 Secondary single screen mode activation through user interface activation
US20130097656A1 (en) 2011-10-17 2013-04-18 John Kennedy Methods and systems for providing trusted signaling of domain-specific security policies
US8850133B1 (en) * 2011-12-20 2014-09-30 Emc Corporation Using dynamic block sizes in data transfer operations
US9479549B2 (en) 2012-05-23 2016-10-25 Haworth, Inc. Collaboration system with whiteboard with federated display
US9479548B2 (en) 2012-05-23 2016-10-25 Haworth, Inc. Collaboration system with whiteboard access to global collaboration data
CN104782078B (zh) * 2012-07-27 2019-02-26 爱立信(中国)通信有限公司 执行文件修复过程的用户设备节点、服务器节点以及方法
US10567471B2 (en) * 2012-10-26 2020-02-18 Sirius Xm Radio Inc. Systems and methods for cost effective distribution of files to user devices using combination of broadcast and two-way communication paths
US9071659B2 (en) 2012-11-29 2015-06-30 Citrix Systems, Inc. Systems and methods for automatically identifying and sharing a file presented during a meeting
US9224219B2 (en) 2012-12-21 2015-12-29 Citrix Systems, Inc. Systems and methods for presenting a free-form drawing
US10304037B2 (en) 2013-02-04 2019-05-28 Haworth, Inc. Collaboration system including a spatial event map
US11861561B2 (en) 2013-02-04 2024-01-02 Haworth, Inc. Collaboration system including a spatial event map
US20150341858A1 (en) * 2014-05-21 2015-11-26 Qualcomm Incorporated Apparatus, methods, and computer program products providing power savings in sps-configured volte with c-drx
CA2990957A1 (en) 2014-06-25 2015-12-30 Daniel Maurice Lerner Piping assembly control system with addressed datagrams
JP6717193B2 (ja) * 2014-06-30 2020-07-01 ソニー株式会社 無線通信装置、無線通信方法及びプログラム
US9646163B2 (en) 2014-11-14 2017-05-09 Getgo, Inc. Communicating data between client devices using a hybrid connection having a regular communications pathway and a highly confidential communications pathway
EP3291507B1 (en) * 2015-04-27 2023-12-13 Sony Group Corporation Information processing device, communication system, information processing method and program
EP3292524B1 (en) 2015-05-06 2020-07-08 Haworth, Inc. Virtual workspace viewport follow mode in collaboration systems
US10623149B2 (en) * 2017-01-24 2020-04-14 Mediatek Inc. Blockage detection in millimeter wave radio communications
CN108631954B (zh) * 2017-03-24 2020-12-11 电信科学技术研究院 一种数据传输方法及装置
US11126325B2 (en) 2017-10-23 2021-09-21 Haworth, Inc. Virtual workspace including shared viewport markers in a collaboration system
US11934637B2 (en) 2017-10-23 2024-03-19 Haworth, Inc. Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces
US10741143B2 (en) * 2017-11-28 2020-08-11 Nvidia Corporation Dynamic jitter and latency-tolerant rendering
WO2020176517A1 (en) 2019-02-25 2020-09-03 Haworth, Inc. Gesture based workflows in a collaboration system
US11444805B2 (en) * 2019-08-06 2022-09-13 WiSilica Inc. Secure over the air upload mechanism for wireless mesh nodes
US11750672B2 (en) 2020-05-07 2023-09-05 Haworth, Inc. Digital workspace sharing over one or more display clients in proximity of a main client
US11212127B2 (en) 2020-05-07 2021-12-28 Haworth, Inc. Digital workspace sharing over one or more display clients and authorization protocols for collaboration systems

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493021A (en) * 1981-04-03 1985-01-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Multicomputer communication system
US4554656A (en) * 1982-08-11 1985-11-19 At&T Bell Laboratories Method and system for controlling the interconnecting of a plurality of local data networks
US4888767A (en) * 1984-12-25 1989-12-19 Nec Corporation Repeat request signal transmission method for multi-station packet communication
JPS6276840A (ja) * 1985-09-30 1987-04-08 Hitachi Ltd ノ−ド装置
JPH0771088B2 (ja) * 1987-04-06 1995-07-31 古河電気工業株式会社 多重伝送方式
US4807224A (en) * 1987-08-21 1989-02-21 Naron Steven E Multicast data distribution system and method
US4937819A (en) * 1988-09-26 1990-06-26 A.T. & T. Paradyne Time orthogonal multiple virtual dce for use in analog and digital networks
US5109384A (en) * 1988-11-02 1992-04-28 Tseung Lawrence C N Guaranteed reliable broadcast network
GB2240011B (en) * 1990-01-11 1994-01-19 Stc Plc Telecommunications systems
US5297143A (en) * 1990-12-03 1994-03-22 Echelon Systems, Corp. Network communication protocol including a reliable multicasting technique
US5296936A (en) * 1991-07-22 1994-03-22 International Business Machines Corporation Communication apparatus and method for transferring image data from a source to one or more receivers
JPH05207023A (ja) * 1992-01-24 1993-08-13 Hitachi Ltd 大量データ伝送方法
US5619689A (en) * 1993-10-19 1997-04-08 Hughes Electronics Method and apparatus for confirming delivery of files in a file broadcast system with rebroadcast timing at the receiver
US5497373A (en) * 1994-03-22 1996-03-05 Ericsson Messaging Systems Inc. Multi-media interface
US5553083B1 (en) * 1995-01-19 2000-05-16 Starburst Comm Corp Method for quickly and reliably transmitting frames of data over communications links

Also Published As

Publication number Publication date
JPH10512726A (ja) 1998-12-02
US5727002A (en) 1998-03-10
WO1996022641A2 (en) 1996-07-25
AU5295096A (en) 1996-08-07
DE69617204T2 (de) 2002-07-04
US6151696A (en) 2000-11-21
US5553083B1 (en) 2000-05-16
ES2163011T3 (es) 2002-01-16
EP0804838B1 (en) 2001-11-21
DE69636201D1 (de) 2006-07-06
ATE328417T1 (de) 2006-06-15
DE69636201T2 (de) 2007-05-16
EP1128591A2 (en) 2001-08-29
ATE209411T1 (de) 2001-12-15
EP0804838A2 (en) 1997-11-05
WO1996022641A3 (en) 1997-01-16
DK0804838T3 (da) 2002-03-18
EP1128591B1 (en) 2006-05-31
EP1128591A3 (en) 2002-03-06
US5553083A (en) 1996-09-03
DE69617204D1 (de) 2002-01-03

Similar Documents

Publication Publication Date Title
JP3690809B2 (ja) 不要な再送信を防止するarq技術を用いたネットワークマルチキャスティング方法
Yavatkar et al. A reliable dissemination protocol for interactive collaborative applications
US6453438B1 (en) System and method for automatically rescheduling a data transmission to members of a group
US5905871A (en) Method of multicasting
US7020714B2 (en) System and method of source based multicast congestion control
Talpade et al. Single connection emulation (SCE): An architecture for providing a reliable multicast transport service
EP0969622B1 (en) Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US6577599B1 (en) Small-scale reliable multicasting
US6392993B1 (en) Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems
US6507562B1 (en) Dynamic optimization for receivers using distance between a repair head and a member station in a repair group for receivers having a closely knit topological arrangement to locate repair heads near the member stations which they serve in tree based repair in reliable multicast protocol
EP2211270A2 (en) Methods and systems for testing stateful network communications devices
US20030031175A1 (en) Method of multicasting
KR20030093221A (ko) 통신 네트워크를 통한 데이터 전송 방법, 프로그램 요소,컴퓨터 소프트웨어 제품 및 컴퓨터 시스템
WO2000062495A1 (en) Method of multicast file distribution and synchronization
JP2003515269A (ja) 送信システム
WO2001069853A2 (en) Synchronised data delivery
JP2002507857A (ja) 最小時間のマルチキャストグラフト・ジョイン復元の方法、装置および媒体
EP1018248A1 (en) Congestion control in reliable multicast protocol
Buskens et al. Reliable multicasting of continuous data streams
CN111371888B (zh) 一种基于纠删编码的多源数据传输系统及方法
Sano et al. Monitoring-based flow control for reliable multicast protocols and its evaluation
Gemmell et al. In search of an api for scalable reliable multicast
El-Marakby et al. A scalability scheme for the real-time control protocol
Dunigan et al. Pvm and ip multicast
Azcorra et al. " A Network-Based Approach to Reliable Multicast

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040921

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041221

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050614

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080624

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090624

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130624

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term