JP4926242B2 - Functionally redundant method and system for quality of service - Google Patents

Functionally redundant method and system for quality of service Download PDF

Info

Publication number
JP4926242B2
JP4926242B2 JP2009511037A JP2009511037A JP4926242B2 JP 4926242 B2 JP4926242 B2 JP 4926242B2 JP 2009511037 A JP2009511037 A JP 2009511037A JP 2009511037 A JP2009511037 A JP 2009511037A JP 4926242 B2 JP4926242 B2 JP 4926242B2
Authority
JP
Japan
Prior art keywords
data set
data
queue
redundancy
network
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 - Fee Related
Application number
JP2009511037A
Other languages
Japanese (ja)
Other versions
JP2009538046A (en
Inventor
エル スミス,ドナルド
ピー ガルッシオ,アンソニー
ジェイ ナズィック,ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harris Corp
Original Assignee
Harris Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harris Corp filed Critical Harris Corp
Publication of JP2009538046A publication Critical patent/JP2009538046A/en
Application granted granted Critical
Publication of JP4926242B2 publication Critical patent/JP4926242B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • 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/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

ここに開示された技術は、概して通信ネットワークに関する。特に、ここに開示された技術は、サービス品質(Quality of Service)のプロトコルフィルタリングシステム及び方法に関する。   The techniques disclosed herein generally relate to communication networks. In particular, the technology disclosed herein relates to a quality of service protocol filtering system and method.

通信ネットワークは、様々な環境で利用されている。典型的には、通信ネットワークは、1つ以上のリンクにより接続された2つ以上のノードを含む。一般的に、通信ネットワークは、リンク上の2つ以上の参加ノードと通信ネットワークの中間ノードとの間の通信をサポートするために使用される。ネットワークに多くの種類のノードが存在してもよい。例えば、ネットワークは、クライアント、サーバ、ワークステーション、スイッチ、及び/又はルータのようなノードを含んでもよい。例えば、リンクは、電話回線上のモデム接続、配線、Ethernet(登録商標)リンク、非同期転送モード(ATM:Asynchronous Transfer Mode)回線、衛星リンク、及び/又は光ファイバケーブルでもよい。   Communication networks are used in various environments. Typically, a communication network includes two or more nodes connected by one or more links. In general, communication networks are used to support communication between two or more participating nodes on a link and intermediate nodes of the communication network. There may be many types of nodes in the network. For example, the network may include nodes such as clients, servers, workstations, switches, and / or routers. For example, the link may be a modem connection over a telephone line, wiring, an Ethernet link, an Asynchronous Transfer Mode (ATM) line, a satellite link, and / or a fiber optic cable.

実際に、通信ネットワークは、1つ以上の小さい通信ネットワークで構成されてもよい。例えば、インターネットは、相互接続されたコンピュータネットワークのネットワークとして、しばしば記載されている。各ネットワークは、異なるアーキテクチャ及び/又はトポロジを利用してもよい。例えば、1つのネットワークはスタートポロジーの交換Ethernet(登録商標)ネットワークでもよく、他のネットワークは、FDDI(Fiber-Distributed Data Interface)リングでもよい。   Indeed, the communication network may consist of one or more small communication networks. For example, the Internet is often described as a network of interconnected computer networks. Each network may utilize a different architecture and / or topology. For example, one network may be a star topology switched Ethernet network, and the other network may be a FDDI (Fiber-Distributed Data Interface) ring.

通信ネットワークは広範囲のデータを伝達してもよい。例えば、ネットワークは、インタラクティブなリアルタイム会話のデータと共にバルクファイル転送を伝達してもよい。ネットワークで送信されるデータは、しばしばパケット、セル又はフレームで送信される。代替として、データはストリームとして送信されてもよい。或る場合には、データのストリーム又はフローは、実際のパケットのシーケンスでもよい。インターネットのようなネットワークは、一連のノードの間で汎用のデータパスを提供し、異なる要件の多くのデータを伝達する。   A communication network may carry a wide range of data. For example, the network may communicate bulk file transfers with interactive real-time conversation data. Data transmitted over a network is often transmitted in packets, cells or frames. Alternatively, the data may be sent as a stream. In some cases, the stream or flow of data may be an actual sequence of packets. A network such as the Internet provides a general data path between a series of nodes and conveys a lot of data with different requirements.

ネットワークでの通信は、典型的には複数のレベルの通信プロトコルを含む。プロトコルスタック(ネットワーキングスタック又はプロトコルスイートとも呼ばれる)は、通信に使用されるプロトコルの集合を示す。各プロトコルは、特定の種類の機能又は特定の形式の通信を専門としてもよい。例えば、1つのプロトコルは、導線により接続された装置と通信するために必要な電気信号に関係してもよい。例えば、他のプロトコルは、多くの中間ノードにより分離された2つのノードの間での順序のある信頼できる送信を扱ってもよい。   Communication over a network typically includes multiple levels of communication protocols. A protocol stack (also called a networking stack or protocol suite) refers to a collection of protocols used for communication. Each protocol may specialize in a specific type of function or a specific type of communication. For example, one protocol may relate to electrical signals required to communicate with devices connected by a conductor. For example, other protocols may handle ordered reliable transmissions between two nodes separated by many intermediate nodes.

典型的には、プロトコルスタックのプロトコルは階層に存在する。しばしば、プロトコルはレイヤに分類される。プロトコルレイヤの1つの参照モデルは、OSI(Open Systems Interconnection)モデルである。OSI参照モデルは、7つのレイヤ(物理レイヤ、データリンクレイヤ、ネットワークレイヤ、トランスポートレイヤ、セッションレイヤ、プレゼンテーションレイヤ、及びアプリケーションレイヤ)を含む。物理レイヤは、“最も低い”レイヤであり、アプリケーションレイヤは、“最も高い”レイヤである。2つの周知のトランスポートレイヤプロトコルは、TCP(Transmission Control Protocol)及びUDP(User Datagram Protocol)である。周知のネットワークレイヤプロトコルは、IP(Internet Protocol)である。   Typically, the protocols in the protocol stack exist in a hierarchy. Often protocols are grouped into layers. One reference model of the protocol layer is an OSI (Open Systems Interconnection) model. The OSI reference model includes seven layers (physical layer, data link layer, network layer, transport layer, session layer, presentation layer, and application layer). The physical layer is the “lowest” layer, and the application layer is the “highest” layer. Two well-known transport layer protocols are TCP (Transmission Control Protocol) and UDP (User Datagram Protocol). A well-known network layer protocol is IP (Internet Protocol).

送信ノードでは、送信されるデータは、最も高いものから最も低いものに、プロトコルスタックのレイヤを下に伝えられる。逆に、受信ノードでは、データは、最も低いものから最も高いものに、レイヤを上に伝えられる。各レイヤでは、データは、そのレイヤのプロトコル処理通信により扱われ得る。例えば、トランスポートレイヤプロトコルは、宛先ノードに到達したときにパケットの並び替えを可能にするヘッダをデータに追加してもよい。アプリケーションに応じて、或るレイヤは存在しても使用されなくてもよく、データは単に通過してもよい。   At the sending node, the transmitted data is conveyed down the protocol stack layer from highest to lowest. Conversely, at the receiving node, data is passed up the layers from lowest to highest. At each layer, data may be handled by that layer's protocol processing communications. For example, the transport layer protocol may add a header to the data that enables packet reordering when it reaches the destination node. Depending on the application, certain layers may or may not be used, and data may simply pass through.

1つの種類の通信ネットワークは、戦術データネットワーク(tactical data network)である。戦術データネットワークはまた、戦術通信ネットワークとも呼ばれることがある。戦術データネットワークは、軍隊(例えば、陸軍、海軍及び/又は空軍)のような組織内の部隊により利用され得る。例えば、戦術データネットワーク内のノードは、個々の軍人、航空機、指揮部隊、衛星、及び/又は無線機を含んでもよい。戦術データネットワークは、音声、位置測定データ、センサデータ、及び/又はリアルタイムビデオのようなデータを通信するために使用され得る。   One type of communication network is a tactical data network. A tactical data network may also be referred to as a tactical communication network. A tactical data network may be utilized by units within an organization such as the military (eg, army, navy and / or air force). For example, nodes in a tactical data network may include individual soldiers, aircraft, command units, satellites, and / or radios. A tactical data network may be used to communicate data such as voice, position measurement data, sensor data, and / or real-time video.

どのように戦術データネットワークが使用され得るかの例は以下の通りである。後方支援部隊は、戦場の戦闘部隊に供給品を提供するためにルート内に存在し得る。後方支援部隊及び戦闘部隊は、衛星無線リンクで位置測定データを指揮所に提供していてもよい。無人機(UAV:unmanned aerial vehicle)は、部隊がいる道路を巡回しており、同様に衛星無線リンクでリアルタイムビデオデータを指揮所に送信していてもよい。指揮所では、コントローラが道路の特定の部分のビデオを提供するようにUAVに作業させている間に、分析者はビデオデータを検査していてもよい。分析者は、部隊が近づいている簡易爆発物(IED:improvised explosive device)を見つけ、直接無線リンクで部隊に止まるように命令を送信し、IEDの存在を部隊に警告する。   An example of how a tactical data network can be used is as follows. Logistics units may be in the route to provide supplies to battlefield combat units. Logistics units and combat units may provide position data to command centers over satellite radio links. An unmanned aerial vehicle (UAV) patrols a road where troops are present, and may also transmit real-time video data to the command post via a satellite radio link. At the command post, the analyst may examine the video data while the controller is working with the UAV to provide a video of a particular part of the road. The analyst finds an explosive device (IED) approaching the unit, sends a command to stop the unit over the direct radio link, and alerts the unit to the presence of the IED.

戦術データネットワーク内に存在し得る様々なネットワークは、多くの異なるアーキテクチャ及び特性を有し得る。例えば、指揮部隊のネットワークは、衛星への無線リンクと共に、ギガビットEthernet(登録商標)ローカルエリアネットワーク(LAN)を含んでもよく、作業部隊は、かなり低いスループット及び高い待ち時間で動作してもよい。作業部隊は、衛星及び直接パス無線周波数(RF:radio frequency)を介して通信してもよい。データは、データの性質及び/又はネットワークの特定の物理特性に応じて、ポイント・ツー・ポイント、マルチキャスト、又はブロードキャストで送信されてもよい。例えば、ネットワークは、データを中継するために設定された無線機を含んでもよい。更に、ネットワークは、長距離通信を可能にする高周波数(HF:high frequency)ネットワークを含んでもよい。例えば、マイクロ波ネットワークも使用されてもよい。他にも理由があるが、リンク及びノードの種類の多様性のため、戦術ネットワークは、しばしば過度に複雑なネットワークアドレス方式及びルーティングテーブルを有する。更に、無線型ネットワークのような或るネットワークは、バーストを使用して動作してもよい。すなわち、継続的にデータを送信するのではなく、データの定期的なバーストを送信する。無線機は参加者により共有される特定のチャネルでブロードキャストしており、一度に唯一の無線機が送信してもよいため、このことは有用である。   The various networks that can exist within a tactical data network can have many different architectures and characteristics. For example, a command unit network may include a gigabit Ethernet local area network (LAN) along with a radio link to the satellite, and a work unit may operate with significantly lower throughput and higher latency. Working units may communicate via satellite and direct path radio frequency (RF). Data may be transmitted point-to-point, multicast, or broadcast depending on the nature of the data and / or specific physical characteristics of the network. For example, the network may include a radio set to relay data. Further, the network may include a high frequency (HF) network that enables long-range communication. For example, a microwave network may also be used. For other reasons, due to the diversity of link and node types, tactical networks often have overly complex network addressing schemes and routing tables. In addition, some networks, such as wireless networks, may operate using bursts. That is, instead of continuously transmitting data, a periodic burst of data is transmitted. This is useful because the radio is broadcasting on a specific channel shared by participants and only one radio may transmit at a time.

戦術データネットワークは、一般的に帯域に制約される。すなわち、何らかの所定の時点で、利用可能な帯域より一般的に多くのデータが通信される。例えば、これらの制約は、供給を超える帯域の需要のためであることがあり、及び/又はユーザの需要を満たすのに十分な帯域を供給しない利用可能な通信技術のためであることがある。例えば、或るノードの間で、帯域はキロビット/秒の単位になり得る。帯域に制約のある戦術データネットワークでは、あまり重要でないデータがネットワークを詰まらせ、より重要なデータが時間通りに通過することを妨げることがあり、或いは受信ノードに全く到達しないこともある。更に、ネットワークの一部は、信頼のないリンクを補うために内部バッファを含み得る。これは更なる遅延を生じることがある。更に、バッファが一杯になると、データが破棄されることがある。   Tactical data networks are generally limited in bandwidth. That is, more data than the available bandwidth is generally communicated at any given time. For example, these constraints may be due to demand for bandwidth that exceeds supply and / or may be due to available communication technologies that do not provide sufficient bandwidth to meet user demand. For example, between certain nodes, the bandwidth can be in units of kilobits / second. In bandwidth-constrained tactical data networks, less important data can clog the network, preventing more important data from passing on time, or not reaching the receiving node at all. Furthermore, part of the network may include an internal buffer to compensate for unreliable links. This can cause further delay. In addition, data may be discarded when the buffer is full.

多くの場合に、ネットワークに利用可能な帯域は増加不可能である。例えば、衛星通信リンクで利用可能な帯域は固定され、他の衛星を配置せずには有効に増加できない。これらの場合、帯域は需要に対処するように単に拡張されるのではなく、管理されなければならない。大規模システムでは、ネットワーク帯域は重要なリソースである。アプリケーションができるだけ効率的に帯域を利用することが望ましい。更に、アプリケーションが“パイプを詰まらせる(clogging the pipe)”ことを回避することが望ましい。すなわち、帯域が制限されているときに、データでリンクを圧倒することを回避することが望ましい。帯域割り当てが変化すると、好ましくは、アプリケーションは反応すべきである。帯域は、例えば、サービス品質、電波妨害、信号障害、優先度再割り当て、及び視野方向のため、動的に変化し得る。ネットワークはかなり不安定になる可能性があり、利用可能な帯域が急激に予告なしに変化する可能性がある。   In many cases, the bandwidth available to the network cannot be increased. For example, the bandwidth that can be used in a satellite communication link is fixed and cannot be effectively increased without arranging other satellites. In these cases, bandwidth must be managed, not simply expanded to meet demand. In large systems, network bandwidth is an important resource. It is desirable for applications to use bandwidth as efficiently as possible. In addition, it is desirable to avoid applications “clogging the pipe”. That is, it is desirable to avoid overwhelming the link with data when the bandwidth is limited. As the bandwidth allocation changes, the application should preferably react. Bandwidth can change dynamically due to, for example, quality of service, jamming, signal impairment, priority reassignment, and viewing direction. The network can be quite unstable and the available bandwidth can change rapidly without notice.

帯域の制約に加えて、戦術データネットワークは、高い待ち時間を受けることがある。例えば、衛星リンクで通信に関与するネットワークは、0.5秒以上のオーダーの待ち時間を生じ得る。或る通信では、これは問題にならない可能性があるが、他の場合(リアルタイム、インタラクティブ通信(例えば、音声通信)等)では、できるだけ待ち時間を最小化することがかなり望ましい。   In addition to bandwidth constraints, tactical data networks can experience high latency. For example, a network involved in communication on a satellite link can cause latency on the order of 0.5 seconds or more. In some communications this may not be a problem, but in other cases (real time, interactive communications (eg, voice communications), etc.) it is highly desirable to minimize latency as much as possible.

多くの戦術データネットワークに共通する他の特性は、データ損失である。データは、様々な理由で失われ得る。例えば、送信するデータを有するノードが損傷又は破壊されることがある。他の例として、宛先ノードは、一時的にネットワークから見えなくなることがある。これは、例えば、ノードが範囲外に移動したため、通信リンクが妨害されたため、及び/又はノードが電波妨害されたために生じることがある。宛先ノードが受信することができず、宛先ノードが利用可能になるまで中間ノードがデータをバッファするのに十分な容量を欠いているため、データが失われることがある。更に、中間ノードは、データを全くバッファしないことがあり、その代わりに、データが実際に宛先に到達したか否かを決定することを送信ノードに任せる。   Another characteristic common to many tactical data networks is data loss. Data can be lost for various reasons. For example, a node having data to transmit may be damaged or destroyed. As another example, the destination node may be temporarily invisible from the network. This may occur, for example, because the node has moved out of range, the communication link has been disturbed, and / or the node has been jammed. Data may be lost because the destination node cannot receive and the intermediate node lacks sufficient capacity to buffer the data until the destination node becomes available. Further, the intermediate node may not buffer the data at all, and instead leaves it to the sending node to determine whether the data has actually reached the destination.

しばしば、戦術データネットワークのアプリケーションは、ネットワークの特定の特性を認識及び/又は考慮しない。例えば、アプリケーションは、必要なだけ利用可能な大きい帯域を有することを単に仮定し得る。他の例として、アプリケーションは、データがネットワークで失われないことを仮定し得る。基礎となる通信ネットワークの特定の特性を考慮しないアプリケーションは、実際に問題を悪化させるように振る舞うことがある。例えば、アプリケーションは、大きい束であまり頻繁でなく有効に送信され得るかのように、データのストリームを継続して送信し得る。例えば、連続するストリームは、他のノードが通信することを有効に不足させるブロードキャスト無線ネットワークでは、かなり大きいオーバーヘッドを生じる可能性があり、その一方で、あまり頻繁でないバーストは、共有帯域が有効に使用されることを可能にする。   Often, tactical data network applications do not recognize and / or consider specific characteristics of the network. For example, the application may simply assume that it has as much bandwidth as available. As another example, an application may assume that no data is lost on the network. Applications that do not take into account the specific characteristics of the underlying communications network may actually behave to exacerbate the problem. For example, an application may continue to transmit a stream of data as if it could be effectively transmitted in large bundles less frequently. For example, a continuous stream can cause significant overhead in a broadcast wireless network that effectively lacks other nodes to communicate, while less frequent bursts make efficient use of shared bandwidth Allows to be done.

特定のプロトコルは、戦術データネットワークではうまく動作しない。例えば、TCPのようなプロトコルは、このようなネットワークが直面し得る高い損失率及び待ち時間のため、無線型戦術ネットワークでうまく機能しない可能性がある。TCPは、データを送信するために、いくつかの種類のハンドシェーク及び送達確認が生じることを必要とする。高い待ち時間及び損失は、TCPがタイムアウトになり、存在しても多くの重要なデータをこのようなネットワークで送信することができないことを生じ得る。   Certain protocols do not work well with tactical data networks. For example, protocols such as TCP may not work well in wireless tactical networks due to the high loss rates and latency that such networks can face. TCP requires several types of handshaking and delivery confirmation to occur in order to send data. High latency and loss can result in TCP timing out and not being able to send a lot of important data over such networks even if present.

戦術データネットワークで通信される情報は、ネットワークの他のデータに対してしばしば様々なレベルの優先度を有する。例えば、飛行機の危険警告受信機は、数マイル離れた地上の部隊の位置測定情報より高い優先度を有し得る。他の例として、交戦に関する本部からの命令は、友好ラインの背後での後方支援の通信より高い優先度を有し得る。優先レベルは、送信機及び/又は受信機の特定の状況に依存し得る。例えば、位置測定データは、部隊が標準的な巡回ルートに単に従っているときに比べて、部隊が積極的に戦闘に関与しているときにかなり高い優先度になり得る。同様に、UAVからのリアルタイムデータは、単にルート内にいるときに比べて、目標地域上にいるときに高い優先度を有し得る。   Information communicated over a tactical data network often has various levels of priority over other data in the network. For example, an airplane danger warning receiver may have higher priority than ground unit location information several miles away. As another example, orders from headquarters for engagement may have higher priority than logistical communication behind a friendship line. The priority level may depend on the specific situation of the transmitter and / or receiver. For example, position measurement data can be much higher priority when a unit is actively engaged in combat than when the unit simply follows a standard circuit route. Similarly, real-time data from UAVs may have a higher priority when on the target area than when simply in the route.

ネットワークでデータを配信する複数の手法が存在する。多くの通信ネットワークにより使用される1つの手法は、“ベストエフォート型”手法である。すなわち、通信されるデータは、他の需要を前提として、容量、待ち時間、信頼性、並び替え及びエラーに関してネットワークが可能な限り処理される。従って、ネットワークは、何らかの所定のデータが時間通りに、又はとにかく宛先に到達するという保証を提供しない。更に、送信された順序で、又はデータの1つ以上のビットを変更する送信エラーなしにデータが到達するという保証も行われない。   There are several ways to distribute data over a network. One approach used by many communication networks is the “best effort” approach. That is, the data to be communicated is processed as much as possible by the network in terms of capacity, latency, reliability, reordering and errors, assuming other demands. Thus, the network does not provide a guarantee that any given data will reach the destination on time or anyway. Furthermore, there is no guarantee that the data will arrive in the order it was transmitted or without transmission errors that change one or more bits of the data.

他の手法は、サービス品質(QoS:Quality of Service)である。QoSは、伝達されるデータに関して様々な種類の保証を提供するネットワークの1つ以上の機能を示す。例えば、QoSをサポートするネットワークは、データストリームに対して特定の量の帯域を保証し得る。他の例として、ネットワークは、2つの特定のノードの間のパケットが何らかの最大の待ち時間を有することを保証し得る。このような保証は、2つのノードがネットワークで会話を有する2人の人間である音声通信の場合に有用になり得る。例えば、このような場合のデータ配信の遅延は、通信の不愉快な途切れ及び/又は全くの静寂を生じ得る。   Another approach is Quality of Service (QoS). QoS refers to one or more functions of a network that provide various types of guarantees about the data being transmitted. For example, a network that supports QoS may guarantee a certain amount of bandwidth for the data stream. As another example, the network may ensure that packets between two specific nodes have some maximum latency. Such a guarantee can be useful in the case of voice communications where the two nodes are two people having a conversation on the network. For example, delays in data distribution in such cases can cause unpleasant interruptions in communication and / or total silence.

QoSは、選択されたネットワークトラヒックにより良いサービスを提供するネットワークの機能としてみなされ得る。QoSの主な目標は、専用の帯域と、制御されたジッタ及び待ち時間(何らかのリアルタイムのインタラクティブなトラヒックにより要求される)と、改善した損失特性とを含む優先度を提供することである。他の重要な目標は、1つのフローの優先度を提供することで他のフローが失敗しないことを確保することである。すなわち、次のフローについて行われる保証は、既存のフローに行われた保証を壊してはならない。   QoS can be viewed as a network function that provides better service to selected network traffic. The main goal of QoS is to provide a priority that includes dedicated bandwidth, controlled jitter and latency (as required by some real-time interactive traffic), and improved loss characteristics. Another important goal is to ensure that other flows do not fail by providing the priority of one flow. That is, the guarantee made for the next flow must not break the guarantee made for the existing flow.

QoSへの現在の手法は、しばしばネットワークの各ノードがQoSをサポートすること、或いは最低限でも特定の通信に関与するネットワークの各ノードがQoSをサポートすることを必要とする。例えば、現在のシステムでは、2つのノードの間の待ち時間の保証を提供するために、これらの2つのノードの間でトラヒックを伝達する各ノードは、特典(honor)を認識して合意し、保証を履行することができなければならない。   Current approaches to QoS often require that each node of the network support QoS, or at a minimum each node of the network involved in a particular communication supports QoS. For example, in the current system, in order to provide a guarantee of latency between two nodes, each node that communicates traffic between these two nodes recognizes and agrees to the honor, It must be possible to fulfill the guarantee.

QoSを提供する複数の手法が存在する。1つの手法は、Integrated Services又は“IntServ”である。IntServは、ネットワークの各ノードがサービスをサポートし、接続が設定されるときにこれらのサービスが確保されるQoSシステムである。IntServは、各ノードで維持されなければならない大量の状態情報と、このような接続を設定することに関連するオーバーヘッドとのため、あまりスケーラビリティがない。   There are several ways to provide QoS. One approach is Integrated Services or “IntServ”. IntServ is a QoS system in which each node of a network supports services and these services are reserved when a connection is set up. IntServ is not very scalable due to the large amount of state information that must be maintained at each node and the overhead associated with setting up such a connection.

QoSを提供する他の手法は、Differentiated Services又は“DiffServ”である。DiffServは、インターネットのようなネットワークのベストエフォート型サービスを拡張したサービスモデルの一種である。DiffServは、ユーザ、サービス要件及び他の基準により、トラヒックを区別する。次に、DiffServは、優先キュー若しくは帯域割り当てを介して、又は特定のトラヒックフローの専用ルートを選択することにより、ネットワークノードが異なるレベルのサービスを提供できるようにパケットにマークを付ける。典型的には、ノードはサービスのクラス毎に様々なキューを有する。ノードは、クラスのカテゴリに基づいて、これらのキューから送信する次のパケットを選択する。   Another approach to providing QoS is Differentiated Services or “DiffServ”. DiffServ is a type of service model that extends the best effort service of networks such as the Internet. DiffServ distinguishes traffic according to users, service requirements and other criteria. Next, DiffServ marks the packets so that network nodes can provide different levels of service through priority queues or bandwidth allocation, or by selecting a dedicated route for a particular traffic flow. Typically, a node has different queues for each class of service. The node selects the next packet to send from these queues based on the class category.

既存のQoSの対策は、しばしばネットワーク特有であり、各ネットワーク形式又はアーキテクチャは、異なるQoS構成を必要とし得る。既存のQoSの対策が利用する機構のため、現在のQoSシステムと同じように見えるメッセージは、メッセージ内容に基づいて実際に異なる優先度を有し得る。しかし、データ消費者は、低優先度のデータで溢れることなく、高優先度のデータにアクセスすることを必要とし得る。既存のQoSシステムは、トランスポートレイヤでのメッセージ内容に基づくQoSを提供することができない。   Existing QoS measures are often network specific and each network type or architecture may require a different QoS configuration. Because of the mechanism used by existing QoS measures, messages that look similar to current QoS systems may actually have different priorities based on message content. However, data consumers may need to access high priority data without overflowing with low priority data. Existing QoS systems cannot provide QoS based on message content at the transport layer.

前述のように、既存のQoSの対策は、QoSをサポートするために特定の通信に関与するノードを少なくとも必要とする。しかし、ネットワークの“エッジ”にあるノードは、総合的な保証を行うことができなくても、QoSへの何らかの改善を提供するように適合され得る。ノードは、通信の参加ノード(すなわち、送信及び/又は受信ノード)である場合、及び/又はネットワークの関所(chokepoint)に位置する場合、ネットワークのエッジにあると考えられる。関所は、他の部分に対して全てのトラヒックが通過しなければならないネットワークの部分である。LANから衛星リンクへのルータ又はゲートウェイは関所である。この理由は、LANからLAN上にない何らかのノードへの全てのトラヒックは衛星リンクへのゲートウェイを通過しなければならないからである。   As described above, existing QoS countermeasures require at least a node involved in specific communication in order to support QoS. However, nodes at the “edge” of the network may be adapted to provide some improvement to QoS even if they cannot make a comprehensive guarantee. A node is considered to be at the edge of the network if it is a participating node of communication (ie, a sending and / or receiving node) and / or located at a network chokepoint. A gateway is a part of the network that all traffic must pass through to other parts. The router or gateway from the LAN to the satellite link is the gateway. This is because all traffic from the LAN to any node not on the LAN must pass through the gateway to the satellite link.

従って、戦術データネットワークでQoSを提供するシステム及び方法の必要性が存在する。戦術データネットワークのエッジでQoSを提供するシステム及び方法の必要性が存在する。更に、戦術データネットワークで適応可能な構成可能なQoSシステム及び方法の必要性が存在する。   Accordingly, there is a need for a system and method for providing QoS in a tactical data network. There is a need for systems and methods that provide QoS at the edge of a tactical data network. Furthermore, there is a need for a configurable QoS system and method that can be adapted in a tactical data network.

本発明の実施例は、データ通信方法を提供する。この方法は、第1のデータセットを受信し、第1のデータセットをキューに格納することを含む。この方法はまた、第2のデータセットを受信することを含む。次に、この方法は、冗長ルールに基づいて第2のデータセットについて機能的冗長性処理を実行するか否かを決定することを含む。冗長ルールは、選択されたモードにより制御されてもよい。次に、この方法は、第1のデータセットについてキューを検索し、冗長ルールに基づいて第1のデータセットが第2のデータセットに対して機能的に冗長であるか否かを決定することを含む。第1のデータセットが第2のデータセットに対して機能的に冗長である場合、第1のデータセットはキューから破棄され、第2のデータセットがキューに追加される。実施例では、第1のデータセットが第2のデータセットにより置換されるときに、キューの場所は維持される。他の実施例では、第2のデータセットはキューの終わりに追加される。   An embodiment of the present invention provides a data communication method. The method includes receiving a first data set and storing the first data set in a queue. The method also includes receiving a second data set. The method then includes determining whether to perform functional redundancy processing for the second data set based on the redundancy rule. The redundancy rule may be controlled by the selected mode. The method then searches the queue for the first data set and determines whether the first data set is functionally redundant with respect to the second data set based on the redundancy rule. including. If the first data set is functionally redundant with respect to the second data set, the first data set is discarded from the queue and the second data set is added to the queue. In an embodiment, the queue location is maintained when the first data set is replaced by the second data set. In other embodiments, the second data set is added at the end of the queue.

本発明の特定の実施例は、処理装置で実行する一式の命令を有するコンピュータ可読媒体を提供する。一式の命令は、第1のデータセットと第2のデータセットとを受信する受信ルーチンを含む。一式の命令はまた、第1のデータセットをキューに格納する格納ルーチンを含む。一式の命令はまた、冗長ルールに基づいて第2のデータセットについて機能的冗長性処理を実行するか否かを決定する決定ルーチンを含む。冗長ルールは、選択されたモードにより制御される。一式の命令はまた、第1のデータセットについてキューを検索し、冗長ルールに基づいて第1のデータセットが第2のデータセットに対して機能的に冗長であるか否かを決定する検索ルーチンを含む。第1のデータセットが第2のデータセットに対して機能的に冗長である場合、第1のデータセットをキューから破棄し、第2のデータセットをキューに追加する。   Certain embodiments of the present invention provide a computer-readable medium having a set of instructions for execution on a processing device. The set of instructions includes a receive routine that receives a first data set and a second data set. The set of instructions also includes a storage routine that stores the first data set in a queue. The set of instructions also includes a decision routine that determines whether to perform functional redundancy processing for the second data set based on the redundancy rules. The redundancy rule is controlled by the selected mode. The set of instructions also searches the queue for the first data set and determines whether the first data set is functionally redundant with respect to the second data set based on redundancy rules. including. If the first data set is functionally redundant with respect to the second data set, discard the first data set from the queue and add the second data set to the queue.

本発明の特定の実施例は、データ通信方法を含む。この方法は、第1のデータセットを受信し、第2のデータセットを受信することを有する。この方法はまた、選択されたモードを検査し、第2のデータセットで機能的冗長性処理を実行するか否かを決定することを含む。選択されたモードは、機能的冗長性処理を実行するか否かを決定する一式の冗長ルールを有する。この方法はまた、第2のデータセットが第1のデータセットに対して機能的に冗長であるか否かを決定することにより、機能的冗長性処理を実行することを含む。第2のデータセットは、一式の冗長ルールに従って第1のデータセットに対して機能的に冗長である。第1のデータセットが第2のデータセットに対して機能的に冗長である場合、第1のデータセットをキューから破棄し、第2のデータセットをキューに追加する。   Particular embodiments of the present invention include a data communication method. The method includes receiving a first data set and receiving a second data set. The method also includes examining the selected mode and determining whether to perform functional redundancy processing on the second data set. The selected mode has a set of redundancy rules that determine whether to perform functional redundancy processing. The method also includes performing functional redundancy processing by determining whether the second data set is functionally redundant with respect to the first data set. The second data set is functionally redundant with respect to the first data set according to a set of redundancy rules. If the first data set is functionally redundant with respect to the second data set, discard the first data set from the queue and add the second data set to the queue.

本発明の実施例で動作する戦術通信ネットワーク環境Tactical communication network environment operating in an embodiment of the present invention 本発明の実施例による7レイヤのOSIネットワークモデルにおけるデータ通信システムの位置Location of data communication system in 7-layer OSI network model according to an embodiment of the present invention 本発明の実施例によるデータ通信システムを使用して容易になる複数ネットワークの例Examples of multiple networks facilitated using a data communication system according to embodiments of the present invention 本発明の実施例で動作するデータ通信環境Data communication environment operating in an embodiment of the present invention 本発明の実施例で動作するデータ通信環境Data communication environment operating in an embodiment of the present invention 本発明の実施例によるフローチャートFlowchart according to an embodiment of the invention 本発明の実施例によるフローチャートFlowchart according to an embodiment of the invention 本発明の実施例による方法Method according to an embodiment of the invention 本発明の実施例による方法Method according to an embodiment of the invention

前述の要約及び本発明の特定の実施例の以下の詳細な説明は、添付図面と共に読まれたときに良く理解される。本発明を説明する目的で、特定の実施例が図面に示されている。しかし、本発明は、添付図面に示す構成及び手段に限定されない。   The foregoing summary and the following detailed description of specific embodiments of the present invention will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, certain embodiments are shown in the drawings. However, the present invention is not limited to the configurations and means shown in the accompanying drawings.

図1は、本発明の実施例で動作する戦術通信ネットワーク環境100を示している。ネットワーク環境100は、複数の通信ノード110と、1つ以上のネットワーク120と、ノード及びネットワークを接続する1つ以上のリンク130と、ネットワーク環境100の構成要素での通信を容易にする1つ以上の通信システム150とを含む。以下の説明は、1つより多くのネットワーク120と1つより多くのリンク130とを含むネットワーク環境100を仮定するが、他の環境も可能であり想定されることがわかる。   FIG. 1 illustrates a tactical communication network environment 100 that operates in an embodiment of the present invention. The network environment 100 includes a plurality of communication nodes 110, one or more networks 120, one or more links 130 connecting the nodes and networks, and one or more that facilitate communication in the components of the network environment 100. Communication system 150. The following description assumes a network environment 100 that includes more than one network 120 and more than one link 130, but it will be appreciated that other environments are possible and envisioned.

例えば、通信ノード110は、無線機、送信機、衛星、受信機、ワークステーション、サーバ、及び/又は他の計算若しくは処理装置でもよく、及び/又はこれらを含んでもよい。   For example, the communication node 110 may be and / or include a radio, transmitter, satellite, receiver, workstation, server, and / or other computing or processing device.

例えば、ネットワーク120は、ノード110の間でデータを送信するハードウェア及び/又はソフトウェアでもよい。例えば、ネットワーク120は、1つ以上のノード110を含んでもよい。   For example, the network 120 may be hardware and / or software that transmits data between the nodes 110. For example, the network 120 may include one or more nodes 110.

リンク130は、ノード110及び/又はネットワーク120の間での送信を可能にする有線及び/又は無線接続でもよい。   Link 130 may be a wired and / or wireless connection that allows transmission between node 110 and / or network 120.

例えば、通信システム150は、ノード110とネットワーク120とリンク130との間でデータ送信を容易にするために使用されるソフトウェア、ファームウェア及び/又はハードウェアを含んでもよい。図1に示すように、通信システム150は、ノード110、ネットワーク120及び/又はリンク130に関して実装されてもよい。特定の実施例では、各ノード110が通信システム150を含む。特定の実施例では、1つ以上のノード110が通信システム150を含む。特定の実施例では、1つ以上のノード110が通信システム150を含まなくてもよい。   For example, the communication system 150 may include software, firmware, and / or hardware used to facilitate data transmission between the node 110, the network 120, and the link. As shown in FIG. 1, the communication system 150 may be implemented with respect to the node 110, the network 120 and / or the link 130. In particular embodiments, each node 110 includes a communication system 150. In particular embodiments, one or more nodes 110 include a communication system 150. In certain embodiments, one or more nodes 110 may not include the communication system 150.

通信システム150は、戦術通信ネットワーク(ネットワーク環境100等)での通信を確保するために役立つデータの動的な管理を提供する。図2に示すように、特定の実施例では、システム150は、OSIの7レイヤのプロトコルモデルにおけるトランスポートレイヤの一部として及び/又は上位で動作する。例えば、システム150は、戦術ネットワークでトランスポートレイヤに渡される高優先度のデータを優先してもよい。システム150は、単一のネットワーク(ローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)等)での通信又は複数のネットワークを通じた通信を容易にするために使用されてもよい。複数ネットワークシステムの例が図3に示されている。例えば、システム150は、ネットワークに更なる帯域を追加するのではなく、利用可能な帯域を管理するために使用されてもよい。   The communication system 150 provides dynamic management of data that is useful for ensuring communication over a tactical communication network (such as the network environment 100). As shown in FIG. 2, in certain embodiments, the system 150 operates as part of and / or above the transport layer in the OSI seven-layer protocol model. For example, the system 150 may prioritize high priority data passed to the transport layer in the tactical network. System 150 may be used to facilitate communication over a single network (such as a local area network (LAN) or a wide area network (WAN)) or through multiple networks. An example of a multiple network system is shown in FIG. For example, system 150 may be used to manage available bandwidth rather than adding additional bandwidth to the network.

特定の実施例では、システム150は、ソフトウェアシステムであるが、様々な実施例で、システム150は、ハードウェア構成要素とソフトウェア構成要素との双方を含んでもよい。例えば、システム150は、ネットワークハードウェアと独立してもよい。すなわち、システム150は、様々なハードウェア及びソフトウェアプラットフォームで機能するように適合されてもよい。特定の実施例では、システム150は、ネットワークの内部のノードではなく、ネットワークのエッジで動作する。しかし、システム150は、ネットワークの“関所(choke point)”のようなネットワークの内部で同様に動作してもよい。   In particular embodiments, system 150 is a software system, but in various embodiments, system 150 may include both hardware and software components. For example, the system 150 may be independent of network hardware. That is, the system 150 may be adapted to function on various hardware and software platforms. In certain embodiments, the system 150 operates at the edge of the network rather than a node inside the network. However, the system 150 may operate similarly within a network, such as a “choke point” of the network.

システム150は、利用可能な帯域の最適化、情報優先度の設定、及びネットワークでのデータリンクの管理のようなスループット管理機能を実行するために、ルール及びモード又はプロファイルを使用してもよい。例えば、帯域使用の最適化は、機能的に冗長なメッセージを除去すること、メッセージストリーム管理又は順序付け、及びメッセージ圧縮を含んでもよい。帯域の“最適化”は、ここに記載の技術が1つ以上のネットワークでデータを通信するための帯域使用の効率を増加させるために使用され得ることを意味する。例えば、情報優先度の設定は、インターネットプロトコル(IP)型技術より細かい精度でメッセージ形式を区別すること、及び選択されたルール型順序付けアルゴリズムを介してデータストリームにメッセージを順序付けることを含んでもよい。例えば、データリンク管理は、ルール、モード及び/又はデータ転送における変化に影響を及ぼすネットワーク測定のルール型分析を含んでもよい。モード又はプロファイルは、特定のネットワーク健康状態又は状況の動作上の必要性に関する一式のルールを含んでもよい。システム150は、進行中に新しいモードを規定して切り替えることを含み、モードの動的な“進行中(on-the-fly)”の再構成を提供する。   The system 150 may use rules and modes or profiles to perform throughput management functions such as optimizing available bandwidth, setting information priorities, and managing data links in the network. For example, bandwidth usage optimization may include removing functionally redundant messages, message stream management or ordering, and message compression. Bandwidth “optimization” means that the techniques described herein can be used to increase the efficiency of bandwidth usage for communicating data in one or more networks. For example, setting information priority may include distinguishing message formats with finer granularity than Internet Protocol (IP) type technology, and ordering messages into a data stream via a selected rule-type ordering algorithm. . For example, data link management may include rule-type analysis of network measurements that affect changes in rules, modes and / or data transfer. A mode or profile may include a set of rules regarding the operational needs of a particular network health condition or situation. The system 150 includes defining and switching to a new mode while in progress, and provides a dynamic “on-the-fly” reconfiguration of modes.

通信システム150は、例えば不安定な帯域に制約のあるネットワークで、変化する優先度及びサービスのグレードに適応するように構成されてもよい。システム150は、ネットワークの応答能力を増加させ、通信待ち時間を低減することに役立つように、改善したデータフローの情報を管理するように構成されてもよい。更に、システム150は、通信の可用性と残存力と信頼性とを改善するようにアップグレード可能でスケーラブルである柔軟なアーキテクチャを介して、相互運用性を提供してもよい。例えば、システム150は、所定の予測可能なシステムリソース及び帯域を使用しつつ、動的に変化する環境に自律的に適応可能になり得るデータ通信アーキテクチャをサポートする。   The communication system 150 may be configured to adapt to changing priorities and grades of service, for example in networks with unstable bandwidth constraints. The system 150 may be configured to manage improved data flow information to help increase network responsiveness and reduce communication latency. Further, the system 150 may provide interoperability through a flexible architecture that is upgradeable and scalable to improve communication availability, survivability, and reliability. For example, the system 150 supports a data communication architecture that can be autonomously adaptable to a dynamically changing environment while using predetermined and predictable system resources and bandwidth.

特定の実施例では、システム150は、ネットワークを使用するアプリケーションに対してトランスペアレントのままで、帯域に制約のある戦術通信ネットワークにスループット管理を提供する。システム150は、ネットワークへの低減した複雑性で、複数のユーザ及び環境を通じたスループット管理を提供する。前述のように、特定の実施例では、システム150は、OSIの7レイヤのモデルのレイヤ4(トランスポートレイヤ)で及び/又はその上位でホストノードを動作し、専用のネットワークハードウェアを必要としない。システム150は、レイヤ4インタフェースに対してトランスペアレントに動作してもよい。すなわち、アプリケーションは、トランスポートレイヤについて標準的なインタフェースを利用し、システム150の動作を認識しなくてもよい。例えば、アプリケーションがソケットをオープンすると、システム150は、プロトコルスタックのこのポイントでデータをフィルタリングしてもよい。システム150は、アプリケーションがシステム150に特有のインタフェースではなく、例えばネットワーク上の通信装置のオペレーティングシステムにより提供されるTCP/IPソケットインタフェースを使用することを可能にすることにより、トランスペアレント性を実現する。例えば、システム150のルールは、XML(extensible markup language)で記述されてもよく、及び/又はカスタムのDLL(dynamic link library)を介して提供されてもよい。   In certain embodiments, the system 150 provides throughput management for bandwidth-constrained tactical communication networks while remaining transparent to applications using the network. System 150 provides throughput management across multiple users and environments with reduced complexity to the network. As described above, in certain embodiments, the system 150 operates host nodes at and / or above the OSI seven-layer model Layer 4 (Transport Layer) and requires dedicated network hardware. do not do. System 150 may operate transparent to the layer 4 interface. That is, the application does not have to recognize the operation of the system 150 using a standard interface for the transport layer. For example, when an application opens a socket, the system 150 may filter data at this point in the protocol stack. The system 150 achieves transparency by allowing applications to use a TCP / IP socket interface provided by, for example, the operating system of the communication device on the network, rather than an interface specific to the system 150. For example, the rules of the system 150 may be written in extensible markup language (XML) and / or provided via a custom dynamic link library (DLL).

特定の実施例では、システム150は、ネットワークのエッジでサービス品質(QoS)を提供する。例えば、システムのQoS機能は、ネットワークのエッジでコンテンツ型のルール型のデータ優先付けを提供する。例えば、優先付けは、区別及び/又は順序付けを含んでもよい。例えば、システム150は、ユーザ構成可能な区別ルールに基づいて、メッセージをキューに区別してもよい。メッセージは、ユーザ構成の順序付けルール(例えば、スターベーション(starvation)、ラウンドロビン、相対頻度等)により記述される順序で、データストリームに順序付けされてもよい。例えば、エッジでQoSを使用して、通常のQoSの手法で区別不可能なデータメッセージは、メッセージ内容に基づいて区別されてもよい。例えば、ルールは、XMLで実装されてもよい。特定の実施例では、XMLを超える機能に適応するため、及び/又は極めて低い待ち時間の要件をサポートするため、例えば、システム150は、動的リンクライブラリがカスタムコードを備えることを可能にする。   In particular embodiments, system 150 provides quality of service (QoS) at the edge of the network. For example, the system QoS feature provides content-based rule-based data prioritization at the edge of the network. For example, prioritization may include distinction and / or ordering. For example, the system 150 may differentiate messages into queues based on user configurable differentiation rules. Messages may be ordered into the data stream in the order described by the user-configured ordering rules (eg, starvation, round robin, relative frequency, etc.). For example, a data message that cannot be distinguished by a normal QoS technique using QoS at the edge may be distinguished based on the message content. For example, the rules may be implemented in XML. In certain embodiments, for example, system 150 allows a dynamic link library to include custom code to accommodate features beyond XML and / or to support very low latency requirements.

ネットワークのインバウンド及び/又はアウトバウンドデータは、システム150を介してカスタマイズされてもよい。例えば、優先付けは、大量の低優先度のデータからクライアントアプリケーションを保護する。システム150は、アプリケーションが特定の動作シナリオ又は制約をサポートするデータを受信することを確保することに役立つ。   Network inbound and / or outbound data may be customized via the system 150. For example, prioritization protects client applications from large amounts of low priority data. The system 150 helps ensure that the application receives data that supports a particular operating scenario or constraint.

特定の実施例では、帯域に制約のある戦術ネットワークへのインタフェースとしてのルータを含むLANにホストが接続されると、システムは、プロキシによるQoSとして知られる構成で動作してもよい。この構成では、ローカルLANに向かうパケットは、システムをバイパスし、直ちにLANに進む。システムは、帯域に制約のある戦術ネットワークに向かうパケットにネットワークのエッジでQoSを適用する。   In certain embodiments, when a host is connected to a LAN that includes a router as an interface to a bandwidth-constrained tactical network, the system may operate in a configuration known as proxy QoS. In this configuration, a packet destined for the local LAN bypasses the system and immediately proceeds to the LAN. The system applies QoS at the edge of the network to packets destined for bandwidth-constrained tactical networks.

特定の実施例では、システム150は、命令プロファイル交換(commanded profile switching)を介して、複数の動作シナリオ及び/又はネットワーク環境について動的なサポートを提供する。プロファイルは、ユーザ又はシステムが指名されたプロファイルに変更することを可能にする名前又は他の識別子を含んでもよい。例えば、プロファイルはまた、機能的冗長ルール識別子、区別ルール識別子、アーカイバル(archival)インタフェース識別子、順序付けルール識別子、事前送信インタフェース識別子、事後送信インタフェース識別子、トランスポート識別子、及び/又は他の識別子のような1つ以上の識別子を含んでもよい。例えば、機能的冗長ルール識別子は、データの陳腐化又は実質的に類似のデータのような機能的な冗長性を検出するルールを指定する。例えば、区別ルール識別子は、メッセージを処理するキューに区別するルールを指定する。例えば、アーカイバルインタフェース識別子は、アーカイバルシステムへのインタフェースを指定する。順序付けルール識別子は、キューのフロントのサンプルを制御する順序付けアルゴリズムを特定し、従って、データストリームでのデータの順序付けを特定する。例えば、事前送信インタフェース識別子は、暗号化及び圧縮のような特別の処理を提供する事前送信処理のインタフェースを指定する。例えば、事後送信インタフェース識別子は、復号化及び解凍のような処理を提供する事後送信処理のインタフェースを特定する。トランスポート識別子は、選択されたトランスポートのネットワークインタフェースを指定する。   In particular embodiments, system 150 provides dynamic support for multiple operating scenarios and / or network environments via commanded profile switching. The profile may include a name or other identifier that allows the user or system to change to the named profile. For example, a profile can also be a functional redundancy rule identifier, a differentiation rule identifier, an archival interface identifier, an ordering rule identifier, a pre-send interface identifier, a post-send interface identifier, a transport identifier, and / or other identifiers. One or more identifiers may be included. For example, a functional redundancy rule identifier specifies a rule that detects functional redundancy, such as data staleness or substantially similar data. For example, the distinction rule identifier specifies a rule that distinguishes between queues that process messages. For example, the archival interface identifier specifies an interface to the archival system. The ordering rule identifier specifies the ordering algorithm that controls the samples at the front of the queue, and thus specifies the ordering of the data in the data stream. For example, the pre-transmission interface identifier specifies an interface for pre-transmission processing that provides special processing such as encryption and compression. For example, the post-transmission interface identifier specifies an interface for post-transmission processing that provides processing such as decoding and decompression. The transport identifier specifies the network interface of the selected transport.

例えば、プロファイルはまた、キューサイズ情報のような他の情報を含んでもよい。例えば、キューサイズ情報は、キューの数と、各キューに専用の二次記憶装置及びメモリの量とを特定する。   For example, the profile may also include other information such as queue size information. For example, the queue size information identifies the number of queues and the amount of secondary storage and memory dedicated to each queue.

特定の実施例では、システム150は、帯域を最適化するためにルール型手法を提供する。例えば、システム150は、メッセージをメッセージキューに区別するためにキュー選択ルールを使用してもよく、これにより、メッセージがデータストリームの優先度と適切な相対頻度とを割り当てられてもよい。システム150は、機能的に冗長なメッセージを管理するために、機能的冗長ルールを使用してもよい。例えば、ネットワークでまだ送信されていない前のメッセージと(ルールにより規定されるように)十分に異ならない場合、メッセージは機能的に冗長である。すなわち、送信されるように既にスケジューリングされた古いメッセージと十分に異ならないが、まだ送信されていない新しいメッセージが提供された場合、新しいメッセージは破棄されてもよい。この理由は、古いメッセージが機能的に同等の情報を伝達しており、キューの更に前にあるからである。更に、機能的冗長の多くは、実際に重複したメッセージと、古いメッセージが送信される前に到達する新しいメッセージとを含んでいる。例えば、ノードは、基礎のネットワークの特性のため、耐障害性の理由で2つの異なるパスにより送信されたメッセージのように、特定のメッセージの同一のコピーを受信してもよい。他の例として、新しいメッセージは、まだ送信されていない古いメッセージに取り代わるデータを含んでもよい。この状態で、システム150は、古いメッセージを破棄し、新しいメッセージのみを送信してもよい。システム150はまた、データストリームの優先度型メッセージシーケンスを決定する優先度順序付けルールを含んでもよい。更に、システム150は、圧縮及び/又は暗号化のように、事前送信及び事後送信専用の処理を提供する送信処理ルールを含んでもよい。   In certain embodiments, system 150 provides a rule-based approach to optimize bandwidth. For example, the system 150 may use queue selection rules to distinguish messages into message queues, so that messages may be assigned a priority of the data stream and an appropriate relative frequency. System 150 may use functional redundancy rules to manage functionally redundant messages. For example, a message is functionally redundant if it does not differ sufficiently (as defined by the rules) from a previous message that has not yet been sent on the network. That is, if a new message is provided that is not sufficiently different from an old message that has already been scheduled to be transmitted, but has not yet been transmitted, the new message may be discarded. This is because older messages carry functionally equivalent information and are in front of the queue. Moreover, much of the functional redundancy actually includes duplicate messages and new messages that arrive before old messages are sent. For example, a node may receive an identical copy of a particular message, such as a message sent by two different paths for fault tolerance reasons due to the characteristics of the underlying network. As another example, a new message may include data that replaces an old message that has not yet been sent. In this state, the system 150 may discard old messages and send only new messages. The system 150 may also include priority ordering rules that determine the priority type message sequence of the data stream. Further, the system 150 may include transmission processing rules that provide processing dedicated to pre-transmission and post-transmission, such as compression and / or encryption.

特定の実施例では、システム150は、データインテグリティ及び信頼性を保護することに役立つため、耐障害性機能を提供する。例えば、システム150は、メッセージをキューに区別するために、ユーザ定義のキュー選択ルールを使用してもよい。例えば、キューは、ユーザ定義の構成に従ってサイズ決定される。例えば、この構成は、キューが消費し得る最大量のメモリを指定する。更に、この構成は、ユーザがキューのオーバーフローに使用され得る二次記憶装置の位置及び量を指定することを可能にし得る。キューのメモリが一杯になった後に、メッセージは、二次記憶装置のキューに入れられてもよい。二次記憶装置も一杯になると、システム150は、キューの最も古いメッセージを除去し、エラーメッセージをログ記録し、最新のメッセージをキューに入れてもよい。動作モードでアーカイブが可能である場合、キューから外れたメッセージは、メッセージがネットワークで送信されていないというインジケータと共にアーカイブされてもよい。   In certain embodiments, the system 150 provides fault tolerance capabilities to help protect data integrity and reliability. For example, the system 150 may use user-defined queue selection rules to differentiate messages into queues. For example, the queue is sized according to a user-defined configuration. For example, this configuration specifies the maximum amount of memory that the queue can consume. Furthermore, this configuration may allow the user to specify the location and amount of secondary storage that can be used for queue overflow. After the queue memory is full, the message may be queued in the secondary storage device. When the secondary storage is also full, the system 150 may remove the oldest message in the queue, log an error message, and queue the latest message. If archiving is possible in the operational mode, a message that dequeues may be archived with an indicator that the message is not being sent over the network.

例えば、システム150のキューのメモリ及び二次記憶装置は、特定のアプリケーションについてリンク毎に構成されてもよい。ネットワークの可用性の期間の間の長い時間は、ネットワーク故障をサポートする多くのメモリ及び二次記憶装置に相当し得る。例えば、キューが適切にサイズ決定されることを確保するのに役立ち、故障の間の時間が定常状態を実現するのに役立ち、最終的なキューのオーバーフローを回避することに役立つのに十分であることを確保するのに役立つように、サイズ決定を特定するのに役立つため、システム150は、ネットワークモデリング及びシミュレーションアプリケーションと統合されてもよい。   For example, the queue memory and secondary storage of the system 150 may be configured on a per-link basis for a particular application. The long time between periods of network availability can correspond to many memories and secondary storage devices that support network failures. For example, it helps to ensure that the queue is properly sized, and the time between failures is sufficient to help achieve steady state and to help avoid eventual queue overflow To help ensure sizing, system 150 may be integrated with network modeling and simulation applications to help ensure that.

更に、特定の実施例では、システム150は、インバウンド(“シェーピング処理(shaping)”)データ及びアウトバウンド(“ポリシー処理(policing)”)データを測定(調節)する機能を提供する。ポリシー処理及びシェーピング処理機能は、ネットワークのタイミングの不一致に対処することに役立つ。シェーピング処理は、ネットワークバッファが低優先度のデータの後のキューに入れられた高優先度のデータで溢れることを回避するのに役立つ。ポリシー処理は、データ消費者が低優先度のデータで溢れることを回避するのに役立つ。ポリシー処理及びシェーピング処理は、2つのパラメータ(有効リンク速度及びリンク比率)により支配される。例えば、システム150は、リンク比率で乗算された有効リンク速度より大きくないデータストリームを形成してもよい。パラメータは、ネットワークが変化すると共に動的に変更されてもよい。システムはまた、検出されたリンク速度へのアクセスを提供し、データ測定でアプリケーションレベルの判定をサポートしてもよい。システム150により提供される情報は、何のリンク速度が所定のネットワークシナリオに適切であるかを判定することに役立つ他のネットワーク動作情報と結合されてもよい。   Further, in certain embodiments, the system 150 provides the ability to measure (adjust) inbound (“shaping”) data and outbound (“policy processing”) data. Policy processing and shaping functions help to address network timing discrepancies. The shaping process helps to avoid flooding the network buffer with high priority data queued after low priority data. Policy processing helps to prevent data consumers from overflowing with low priority data. Policy processing and shaping processing are governed by two parameters (effective link speed and link ratio). For example, the system 150 may form a data stream that is not greater than the effective link rate multiplied by the link ratio. The parameters may be changed dynamically as the network changes. The system may also provide access to detected link speeds and support application level decisions in data measurements. The information provided by the system 150 may be combined with other network operational information that helps determine what link speed is appropriate for a given network scenario.

図4は、本発明の実施例で動作するデータ通信環境400を示している。環境400は、データ通信システム410と、1つ以上のソースノード420と、1つ以上の宛先ノード430とを含む。データ通信システム410は、ソースノード420及び宛先ノード430と通信している。例えば、データ通信システム410は、有線、無線、衛星、ネットワークリンクのようなリンクで、及び/又はプロセス間通信を通じて、ソースノード420及び/又は宛先ノード430と通信してもよい。特定の実施例では、データ通信システム410は、1つ以上の戦術データネットワークで1つ以上のソースノード420及び/又は宛先ノード430と通信してもよい。システム400の構成要素は、単一のユニットでもよく、別々のユニットでもよく、様々な形式で統合されてもよく、ハードウェア及び/又はソフトウェアに実装されてもよい。   FIG. 4 illustrates a data communication environment 400 operating with an embodiment of the present invention. The environment 400 includes a data communication system 410, one or more source nodes 420, and one or more destination nodes 430. Data communication system 410 is in communication with source node 420 and destination node 430. For example, the data communication system 410 may communicate with the source node 420 and / or the destination node 430 over links such as wired, wireless, satellite, network links, and / or through interprocess communication. In certain embodiments, the data communication system 410 may communicate with one or more source nodes 420 and / or destination nodes 430 over one or more tactical data networks. The components of system 400 may be a single unit, separate units, integrated in various forms, and implemented in hardware and / or software.

例えば、データ通信システム410は、前述の通信システム150と同様のものでもよい。特定の実施例では、データ通信システム410は、1つ以上のソースノード420からデータを受信するように適合される。特定の実施例では、データ通信システム410は、コンピュータ命令とルールとを格納するメモリユニット及び/又はデータベースを含んでもよい。データ通信システム410はまた、データとルールと命令とを処理するプロセッサを含んでもよい。特定の実施例では、データ通信システム410は、データを格納、構成及び/又は優先付けする1つ以上のキューを含んでもよい。代替として、データを格納、構成及び/又は優先付けする他のデータ構造が使用されてもよい。例えば、テーブル、ツリー又は連結リストが使用されてもよい。特定の実施例では、データ通信システム410は、1つ以上の宛先ノード430にデータを通信するように適合される。   For example, the data communication system 410 may be the same as the communication system 150 described above. In certain embodiments, the data communication system 410 is adapted to receive data from one or more source nodes 420. In certain embodiments, the data communication system 410 may include a memory unit and / or database that stores computer instructions and rules. The data communication system 410 may also include a processor that processes data, rules, and instructions. In certain embodiments, the data communication system 410 may include one or more queues that store, configure, and / or prioritize data. Alternatively, other data structures that store, organize and / or prioritize data may be used. For example, a table, tree or linked list may be used. In certain embodiments, the data communication system 410 is adapted to communicate data to one or more destination nodes 430.

特定の実施例では、データ通信システム410は、他のアプリケーションに対してトランスペアレントである。例えば、データ通信システム410により実行される処理、構成及び/又は優先付けは、1つ以上のソースノード420又は他のアプリケーション若しくはデータソースにトランスペアレントでもよい。例えば、データ通信システム410と同じシステム又はデータ通信システム410に接続されたソースノード420で動作するアプリケーションは、データ通信システム410により実行されるデータの優先付けを認識しなくてもよい。   In certain embodiments, the data communication system 410 is transparent to other applications. For example, the processing, configuration and / or prioritization performed by the data communication system 410 may be transparent to one or more source nodes 420 or other applications or data sources. For example, an application running on the same system as the data communication system 410 or a source node 420 connected to the data communication system 410 may not be aware of the data prioritization performed by the data communication system 410.

例えば、データ通信システム410の構成要素、要素及び/又は機能は、単独で、又は様々な形式のハードウェア、ファームウェアの組み合わせで、及び/又はソフトウェアの一式の命令として実装されてもよい。特定の実施例は、汎用コンピュータ又は他の処理装置で実行するコンピュータ可読媒体(メモリ、ハードディスク、DVD又はCD等)に存在する一式の命令として提供されてもよい。   For example, the components, elements and / or functions of the data communication system 410 may be implemented alone or in various forms of hardware, firmware combinations and / or as a set of software instructions. Particular embodiments may be provided as a set of instructions residing on a computer readable medium (memory, hard disk, DVD or CD, etc.) executing on a general purpose computer or other processing device.

ソースノード420は、データ又は遠隔測定情報を収集するセンサ又は測定装置を含んでもよい。例えば、ソースノード420は、移動輸送手段(タンク、ハンビー(humvee)ユニット、個人用輸送車、又は個々の軍人等)の位置データを示すGPS(Global Positional System)センサでもよい。他の例では、ソースノード420は、映像又は画像を取得するビデオ又は静止画カメラのような撮影ユニットでもよい。他の例では、ソースノードは、無線機又はマイクロフォンのような通信モジュールでもよい。宛先ノード430は、ソースノード420により取得されたデータに関心のある如何なる装置又はシステムでもよい。例えば、宛先ノード430は、指揮所又は偵察部隊により利用される受信機、中央コンピュータシステム、及び/又はコンピュータでもよい。   Source node 420 may include a sensor or measurement device that collects data or telemetry information. For example, the source node 420 may be a GPS (Global Positional System) sensor that indicates position data of a mobile vehicle (such as a tank, a humvee unit, a personal transport vehicle, or an individual soldier). In another example, the source node 420 may be a shooting unit such as a video or still camera that acquires video or images. In another example, the source node may be a communication module such as a radio or a microphone. Destination node 430 may be any device or system that is interested in the data obtained by source node 420. For example, destination node 430 may be a receiver, central computer system, and / or computer utilized by a command post or reconnaissance unit.

データ通信システム410により受信、格納、優先付け、処理、通信、及び/又は送信されたデータは、データのブロックを含んでもよい。例えば、データのブロックは、パケット、セル、フレーム、及び/又はストリームでもよい。例えば、データ通信システム410は、ソースノード420からデータのパケットを受信してもよい。他の例として、データ通信システム410は、ソースノード420からのデータのストリームを処理してもよい。   Data received, stored, prioritized, processed, communicated, and / or transmitted by data communication system 410 may include blocks of data. For example, the block of data may be a packet, cell, frame, and / or stream. For example, the data communication system 410 may receive a packet of data from the source node 420. As another example, data communication system 410 may process a stream of data from source node 420.

特定の実施例では、データはプロトコル情報を含む。例えば、プロトコル情報は、データを通信するために1つ以上のプロトコルにより使用されてもよい。例えば、プロトコル情報は、ソースアドレス、宛先アドレス、ソースポート、宛先ポート、及び/又はプロトコル形式を含んでもよい。例えば、ソース及び/又は宛先アドレスは、ソースノード420及び/又は宛先ノード430のIPアドレスでもよい。プロトコル形式は、データの通信の1つ以上のレイヤに使用されるプロトコルの種類を含んでもよい。例えば、プロトコル形式は、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)、又はSCTP(Stream Control Transmission Protocol)のようなトランスポートプロトコルでもよい。他の例として、プロトコル形式は、IP(Internet Protocol)、IPX(Internetwork Packet Exchange)、Ethernet(登録商標)、ATM(Asynchronous Transfer Mode)、FTP(File Transfer Protocol)、及び/又はRTP(Real-time Transport Protocol)を含んでもよい。特定の実施例では、データはまた、タイムスタンプ情報を含んでもよい。例えば、タイムスタンプ情報は、ソースノード420によるデータ取得時間を示してもよい。   In certain embodiments, the data includes protocol information. For example, protocol information may be used by one or more protocols to communicate data. For example, the protocol information may include a source address, a destination address, a source port, a destination port, and / or a protocol type. For example, the source and / or destination address may be the IP address of the source node 420 and / or the destination node 430. The protocol format may include the type of protocol used for one or more layers of data communication. For example, the protocol format may be a transport protocol such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), or SCTP (Stream Control Transmission Protocol). As another example, the protocol format is IP (Internet Protocol), IPX (Internetwork Packet Exchange), Ethernet (registered trademark), ATM (Asynchronous Transfer Mode), FTP (File Transfer Protocol), and / or RTP (Real-time). Transport Protocol) may be included. In certain embodiments, the data may also include time stamp information. For example, the time stamp information may indicate a data acquisition time by the source node 420.

特定の実施例では、データは、ヘッダとペイロードとを含む。例えば、ヘッダは、プロトコル情報及びタイムスタンプ情報の一部又は全部を含んでもよい。特定の実施例では、プロトコル情報及びタイムスタンプ情報の一部又は全部は、ペイロードに含まれる。例えば、プロトコル情報は、データのブロックのペイロード部分に格納された高レベルのプロトコルに関する情報を含んでもよい。特定の実施例では、データは、メモリで連続的でない。すなわち、データの1つ以上の部分は、メモリの異なる領域に配置されてもよい。例えば、プロトコル情報はメモリの1つの領域に格納され、ペイロードは他のバッファに格納され、タイムスタンプ情報は更に他のバッファに格納されてもよい。   In certain embodiments, the data includes a header and a payload. For example, the header may include part or all of protocol information and time stamp information. In particular embodiments, some or all of the protocol information and time stamp information is included in the payload. For example, the protocol information may include information regarding high level protocols stored in the payload portion of the block of data. In certain embodiments, the data is not continuous in memory. That is, one or more portions of data may be placed in different areas of the memory. For example, the protocol information may be stored in one area of the memory, the payload may be stored in another buffer, and the time stamp information may be stored in another buffer.

実施例では、ソースノード420及びデータ通信システム410は、同じ移動ユニットの一部でもよい。移動ユニットは、タンク、ハンビーユニット、個人用輸送車、又は個々の軍人、無人機(UAV:unmanned aerial vehicle)、又は他の移動ユニットでもよい。タンクは、ソースユニット420として位置データを示すGPSセンサを有してもよい。位置データは、データ通信システム410に通信されてもよい。データ通信システム410は、タンクに配置されてもよい。データ通信システム410は、宛先ノード430に通信するデータを準備してもよい。宛先ノードへの通信の準備の一部として、データ通信システム410は、何らかの形式のネットワークアクセスプロトコルを実行してもよい。ネットワークアクセスプロトコルは、制御ユニットからネットワークアクセスを要求すること、搬送波の可用性を検出すること、又は他の形式のアクセス制御を含んでもよい。   In an embodiment, source node 420 and data communication system 410 may be part of the same mobile unit. The mobile unit may be a tank, a humby unit, a personal transport vehicle, or an individual soldier, an unmanned aerial vehicle (UAV), or other mobile unit. The tank may have a GPS sensor that indicates position data as the source unit 420. The location data may be communicated to the data communication system 410. Data communication system 410 may be located in a tank. The data communication system 410 may prepare data to be communicated to the destination node 430. As part of preparing for communication to the destination node, the data communication system 410 may implement some form of network access protocol. The network access protocol may include requesting network access from the control unit, detecting carrier availability, or other types of access control.

一例では、データ通信システム410がアクセスを得ようとしているネットワークは帯域に制約されてもよい。更に、1つ以上のリンクは、信頼性がなくてもよく、及び/又は継続的に切断されてもよい。従って、データ通信システム410がネットワークにアクセスして宛先430にデータを通信することができるまで、データ通信システム410は、ソース420から受信したデータを一時的にキューに入れてもよい。例えば、ソース420は第1のデータセットを取得してもよい。ソース420は、第1のデータセットをデータ通信システム410に通信してもよい。データ通信システム410は、第1のデータセットを宛先430に送信するためのネットワークアクセスを現在有していなくてもよい。データ通信システム410がネットワークアクセスを有するまで、第1のデータセットは、キューに一時的に入れられてもよい。その間に、ソースは第2のデータセットを取得してもよい。第2のデータセットは、データ通信システム410に通信されてもよい。データ通信システム410は、第1のデータセット又は第2のデータセットを宛先430に送信するためのネットワークアクセスをまだ有していなくてもよい。データがデータのタイミングが関係するような形式である場合(例えば、最近のデータ(例えば位置データ等)は宛先430に関係する)、第1のデータセットはもはや関係ない。換言すると、第1のデータセットは、第2のデータセットを考慮して機能的に冗長になっている。従って、宛先430への第1のデータセットの送信は、不要にネットワーク帯域を消費し得る。   In one example, the network that the data communication system 410 is trying to gain access to may be bandwidth limited. Further, one or more links may be unreliable and / or may be disconnected continuously. Accordingly, the data communication system 410 may temporarily queue data received from the source 420 until the data communication system 410 can access the network and communicate data to the destination 430. For example, the source 420 may obtain a first data set. Source 420 may communicate the first data set to data communication system 410. The data communication system 410 may not currently have network access to send the first data set to the destination 430. The first data set may be temporarily queued until the data communication system 410 has network access. In the meantime, the source may obtain a second data set. The second data set may be communicated to the data communication system 410. The data communication system 410 may not yet have network access to send the first data set or the second data set to the destination 430. If the data is in a format that involves the timing of the data (eg, recent data (eg, location data, etc.) is related to the destination 430), the first data set is no longer relevant. In other words, the first data set is functionally redundant considering the second data set. Accordingly, transmission of the first data set to the destination 430 can consume network bandwidth unnecessarily.

他の例では、ソースは、第1のデータセットを取得し、第1のデータセットをデータ通信システム410に通信してもよい。データ通信システム410は、宛先430に第1のデータセットを送信するためのネットワークアクセスを現在有していてもよく、有していなくてもよい。データ通信システム410がネットワークへのアクセスを有する場合、データ通信システム410は、第1のデータセットを宛先430に送信してもよい。ソース420は第2のデータセットを取得してもよい。データ通信システム410は、第2のデータセットを宛先430に送信するためのネットワークアクセスを現在有していてもよく、有していなくてもよい。データ通信システム410がネットワークへのアクセスを有する場合、データ通信システム410は、第2のデータセットを宛先430に送信してもよい。データが取得時間によりデータが連続する取得の間で比較的少量だけ変化するような形式である場合(例えば、地上5000フィートからの無人機(UAV)から毎秒撮影された写真等)、連続するデータセットは機能的に冗長である可能性がある。換言すると、主に同じ画像を取得している可能性がある。従って、宛先430への連続するデータセットの送信は、不要にネットワーク帯域を消費し得る。   In other examples, the source may obtain a first data set and communicate the first data set to the data communication system 410. The data communication system 410 may or may not currently have network access to send the first data set to the destination 430. If the data communication system 410 has access to the network, the data communication system 410 may send the first data set to the destination 430. Source 420 may obtain a second data set. The data communication system 410 may or may not currently have network access to send the second data set to the destination 430. If the data communication system 410 has access to the network, the data communication system 410 may send the second data set to the destination 430. If the data is in a format that changes by a relatively small amount between successive acquisitions depending on the acquisition time (for example, photos taken every second from an unmanned aerial vehicle (UAV) from 5000 feet above the ground), continuous data The set may be functionally redundant. In other words, there is a possibility that the same image is mainly acquired. Accordingly, transmission of successive data sets to destination 430 can unnecessarily consume network bandwidth.

他の例では、ソースは、第1のデータセットを取得し、第1のデータセットをデータ通信システム410に通信してもよい。データ通信システム410は、宛先430に第1のデータセットを送信するためのネットワークアクセスを現在有していてもよく、有していなくてもよい。データ通信システム410がネットワークへのアクセスを有する場合、データ通信システム410は、第1のデータセットを宛先430に送信してもよい。ソース420は第2のデータセットを取得してもよい。データ通信システム410は、第2のデータセットを宛先430に送信するためのネットワークアクセスを現在有していてもよく、有していなくてもよい。データ通信システム410がネットワークへのアクセスを有する場合、データ通信システム410は、第2のデータセットを宛先430に送信してもよい。第1のデータセットの内容が第2のデータセットの内容と同じである場合及び/又は類似する場合(オーディオ成分を有すると想定されるデータセットのオーディオ成分の欠如等)、連続するデータセットは機能的に冗長である可能性がある。従って、宛先430への連続するデータセットの送信は、不要にネットワーク帯域を消費し得る。   In other examples, the source may obtain a first data set and communicate the first data set to the data communication system 410. The data communication system 410 may or may not currently have network access to send the first data set to the destination 430. If the data communication system 410 has access to the network, the data communication system 410 may send the first data set to the destination 430. Source 420 may obtain a second data set. The data communication system 410 may or may not currently have network access to send the second data set to the destination 430. If the data communication system 410 has access to the network, the data communication system 410 may send the second data set to the destination 430. If the content of the first data set is the same as and / or similar to the content of the second data set (such as a lack of an audio component of a data set that is supposed to have an audio component), then the continuous data set is It may be functionally redundant. Accordingly, transmission of successive data sets to destination 430 can unnecessarily consume network bandwidth.

図5は、本発明の実施例で動作するデータ通信環境500を示している。環境500は、図4に示すデータ通信システム410と、ソース420と、宛先430とを含む。データ通信システム410は、本発明の特定の実施例を示すために拡大及び詳細化されている。   FIG. 5 illustrates a data communication environment 500 operating with an embodiment of the present invention. The environment 500 includes the data communication system 410, the source 420, and the destination 430 shown in FIG. Data communication system 410 has been expanded and detailed to illustrate a particular embodiment of the present invention.

図5に示すデータ通信システム410は、冗長ルールデータベース510と、受信機520と、動作プロセッサ530と、1つ以上のキュー540と、送信機550とを含む。冗長ルールデータベース510は、動作プロセッサ530と通信する。受信機520は、動作プロセッサ530及びソース420と通信する。動作プロセッサ530は、キュー540と通信する。例えば、図5に示すデータ通信システム410は、有線、無線、衛星、ネットワークリンクのようなリンクで、及び/又はプロセス間通信を通じて、ソースノード420及び/又は宛先ノード430と通信してもよい。特定の実施例では、データ通信システム410は、1つ以上の戦術データネットワークで1つ以上のソースノード420及び/又は宛先ノード430と通信してもよい。システム500の構成要素、システム500の接続及びシステム500は、単一のユニットでもよく、別々のユニットでもよく、様々な形式で統合されてもよく、ハードウェア及び/又はソフトウェアで実装されてもよい。   The data communication system 410 shown in FIG. 5 includes a redundancy rule database 510, a receiver 520, an operational processor 530, one or more queues 540, and a transmitter 550. The redundancy rule database 510 communicates with the motion processor 530. Receiver 520 communicates with motion processor 530 and source 420. The motion processor 530 communicates with the queue 540. For example, the data communication system 410 shown in FIG. 5 may communicate with the source node 420 and / or the destination node 430 over links such as wired, wireless, satellite, network links, and / or through interprocess communication. In certain embodiments, the data communication system 410 may communicate with one or more source nodes 420 and / or destination nodes 430 over one or more tactical data networks. The components of system 500, system 500 connections and system 500 may be a single unit, separate units, integrated in various forms, and implemented in hardware and / or software. .

実施例では、冗長ルールデータベース510は、様々なルール及び/又はプロトコルを格納し、動作プロセッサ530に通信するデータベースでもよい。冗長ルールデータベース510、及び冗長ルールデータベース510と動作プロセッサ530との間に示す接続は、動作を実行してルール及び命令を格納する様々な構成要素及び/又はソフトウェアを表す。受信機520は、ソース420からデータを受信する様々な構成要素及び/又はソフトウェアを表す。動作プロセッサ530は、冗長ルールデータベース510により通信されたルールに基づいてデータを処理して動作を実行するプロセッサを表す。キュー540は、データをキューに入れる様々な構成要素及び/又はソフトウェアを表す。送信機550は、データを宛先430に送信する様々な構成要素及び/又はソフトウェアを表す。   In an embodiment, redundancy rule database 510 may be a database that stores various rules and / or protocols and communicates to operational processor 530. The redundancy rule database 510 and the connections shown between the redundancy rule database 510 and the action processor 530 represent various components and / or software that perform actions and store rules and instructions. Receiver 520 represents various components and / or software that receive data from source 420. The operation processor 530 represents a processor that processes data based on the rules communicated by the redundancy rule database 510 to perform operations. Queue 540 represents various components and / or software that queue data. Transmitter 550 represents various components and / or software that transmits data to destination 430.

前述のように、データ通信システム410により受信、格納、優先付け、処理、通信、及び/又は送信されたデータは、データのブロックを含んでもよい。例えば、データのブロックは、パケット、セル、フレーム、及び/又はストリームでもよい。例えば、受信機520は、データのブロックを有するものとして示されている。データセットは、単一のデータのブロックを含んでもよく、複数のデータのブロックを含んでもよい。   As described above, data received, stored, prioritized, processed, communicated, and / or transmitted by the data communication system 410 may include blocks of data. For example, the block of data may be a packet, cell, frame, and / or stream. For example, the receiver 520 is shown as having a block of data. A data set may include a single block of data or a plurality of blocks of data.

特定の実施例では、データはプロトコル情報を含む。例えば、プロトコル情報は、データを通信するために1つ以上のプロトコルにより使用されてもよい。例えば、プロトコル情報は、ソースアドレス、宛先アドレス、ソースポート、宛先ポート、及び/又はプロトコル形式を含んでもよい。例えば、ソース及び/又は宛先アドレスは、ソースノード420及び/又は宛先ノード430のIPアドレスでもよい。プロトコル形式は、データの通信の1つ以上のレイヤに使用されるプロトコルの種類を含んでもよい。例えば、プロトコル形式は、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)、又はSCTP(Stream Control Transmission Protocol)のようなトランスポートプロトコルでもよい。他の例として、プロトコル形式は、IP(Internet Protocol)、IPX(Internetwork Packet Exchange)、Ethernet(登録商標)、ATM(Asynchronous Transfer Mode)、FTP(File Transfer Protocol)、及び/又はRTP(Real-time Transport Protocol)を含んでもよい。特定の実施例では、データはまた、タイムスタンプ情報を含んでもよい。例えば、タイムスタンプ情報は、ソースノード420によるデータ取得時間を示してもよい。   In certain embodiments, the data includes protocol information. For example, protocol information may be used by one or more protocols to communicate data. For example, the protocol information may include a source address, a destination address, a source port, a destination port, and / or a protocol type. For example, the source and / or destination address may be the IP address of the source node 420 and / or the destination node 430. The protocol format may include the type of protocol used for one or more layers of data communication. For example, the protocol format may be a transport protocol such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), or SCTP (Stream Control Transmission Protocol). As another example, the protocol format is IP (Internet Protocol), IPX (Internetwork Packet Exchange), Ethernet (registered trademark), ATM (Asynchronous Transfer Mode), FTP (File Transfer Protocol), and / or RTP (Real-time). Transport Protocol) may be included. In certain embodiments, the data may also include time stamp information. For example, the time stamp information may indicate a data acquisition time by the source node 420.

特定の実施例では、データは、ヘッダとペイロードとを含む。例えば、ヘッダは、プロトコル情報及びタイムスタンプ情報の一部又は全部を含んでもよい。特定の実施例では、プロトコル情報及びタイムスタンプ情報の一部又は全部は、ペイロードに含まれる。例えば、プロトコル情報は、データのブロックのペイロード部分に格納された高レベルのプロトコルに関する情報を含んでもよい。特定の実施例では、データは、メモリで連続的でない。すなわち、データの1つ以上の部分は、メモリの異なる領域に配置されてもよい。例えば、プロトコル情報はメモリの1つの領域に格納され、ペイロードは他のバッファに格納され、タイムスタンプ情報は更に他のバッファに格納されてもよい。   In certain embodiments, the data includes a header and a payload. For example, the header may include part or all of protocol information and time stamp information. In particular embodiments, some or all of the protocol information and time stamp information is included in the payload. For example, the protocol information may include information regarding high level protocols stored in the payload portion of the block of data. In certain embodiments, the data is not continuous in memory. That is, one or more portions of data may be placed in different areas of the memory. For example, the protocol information may be stored in one area of the memory, the payload may be stored in another buffer, and the time stamp information may be stored in another buffer.

動作中に、データセットは、1つ以上のデータソース420により提供及び/又は生成されてもよい。データセットは、受信機520で受信される。例えば、データセットは、1つ以上のリンクで受信されてもよい。例えば、データセットは、戦術データネットワークで無線機からデータ通信システム410で受信されてもよい。他の例として、データセットは、プロセス間通信機構により同じシステムで動作するアプリケーションにより、データ通信システム410に提供されてもよい。前述のように、例えば、データセットは単一のデータのブロックを含んでもよく、複数のデータのブロックを含んでもよい。   During operation, the data set may be provided and / or generated by one or more data sources 420. The data set is received at receiver 520. For example, the data set may be received on one or more links. For example, the data set may be received by the data communication system 410 from a radio over a tactical data network. As another example, the data set may be provided to the data communication system 410 by an application running on the same system with an inter-process communication mechanism. As described above, for example, a data set may include a single block of data or a plurality of blocks of data.

特定の実施例では、受信機520は、データセットを動作プロセッサ530に通信してもよい。動作プロセッサ530は、データセットを受信し、データセットで機能的冗長性処理を実行するか否かを決定してもよい。動作プロセッサ530は、データセットで機能的冗長性処理を実行するか否かの決定を、冗長ルールデータベース510からの冗長ルールに基づいて行ってもよい。   In certain embodiments, receiver 520 may communicate the data set to operational processor 530. The operational processor 530 may receive the data set and determine whether to perform functional redundancy processing on the data set. The motion processor 530 may determine whether to perform functional redundancy processing on the data set based on the redundancy rules from the redundancy rule database 510.

実施例では、冗長ルールは、特定のデータセットで機能的冗長性処理を実行するか否か、機能的冗長性処理が実行される場合にどのように機能的冗長性処理を実行するかを制御するルールでもよい。ユーザにより選択されたモード又は様々な要因に基づいてコンピュータソフトウェアにより選択されたモードは、データセットに適用可能な“一式”の冗長ルールを規定してもよい。   In an embodiment, the redundancy rule controls whether or not functional redundancy processing is performed on a particular data set, and how functional redundancy processing is performed when functional redundancy processing is performed. It may be a rule to do. The mode selected by the user or the mode selected by the computer software based on various factors may define a “set” of redundancy rules applicable to the data set.

例えば、冗長ルールは、ユーザにより選択された“モード”に基づいて“オン”又は“オフ”として設定されてもよい。前述のように、データ通信システム410は、利用可能な帯域の最適化、情報優先度の設定、及びネットワークでのデータリンクの管理のようなスループット管理機能を実行するために、ルール及びモード又はプロファイルを使用してもよい。例えば、異なるモードは、ルール、モード、及び/又はデータ転送における変化に影響を及ぼしてもよい。モード又はプロファイルは、特定のネットワーク健康状態又は状況への動作上の必要性に関する一式のルールを含んでもよい。例えば、データ通信システム410は、“進行中”に新しいモードを規定して切り替えることを含み、モードの動的な再構成を提供してもよい。   For example, the redundancy rule may be set as “on” or “off” based on the “mode” selected by the user. As described above, the data communication system 410 can use rules and modes or profiles to perform throughput management functions such as optimizing available bandwidth, setting information priorities, and managing data links in the network. May be used. For example, different modes may affect changes in rules, modes, and / or data transfer. A mode or profile may include a set of rules regarding operational needs for a particular network health condition or situation. For example, the data communication system 410 may provide for dynamic reconfiguration of modes, including defining and switching to a new mode “in progress”.

選択されたモードが一式の冗長ルールを利用する場合、動作プロセッサ530は、データセットを分析し、冗長ルールに基づいて機能的冗長性処理を実行するか否かを決定してもよい。実施例では、利用可能なモードは異なる冗長ルールを有してもよい。例えば、モードAは第1の一式の冗長ルールを有してもよく、モードBは第2の一式の冗長ルールを有してもよい。一式の冗長ルールは、単一のモードに属してもよく、複数のモードに属してもよい。モードは、一式より多い冗長ルールを含んでもよい。   If the selected mode utilizes a set of redundancy rules, the motion processor 530 may analyze the data set and determine whether to perform functional redundancy processing based on the redundancy rules. In an embodiment, the available modes may have different redundancy rules. For example, mode A may have a first set of redundancy rules, and mode B may have a second set of redundancy rules. A set of redundancy rules may belong to a single mode or may belong to multiple modes. A mode may include more than one set of redundancy rules.

機能的冗長性処理を実行するか否かを決定するときに、動作プロセッサ530は、データブロックから情報(データブロックのプロトコル情報、ペイロード、及び/又はタイムスタンプ等)を読み取ってもよい。例えば、前述のように、プロトコル情報は、ソースアドレス、宛先アドレス、ソースポート、宛先ポート、プロトコル形式、及び/又はタイムスタンプを含んでもよい。例えば、機能的冗長性が特定のソースからのデータについて実行されるべきであることを、選択されたモードでの冗長ルールデータベース510の冗長ルールが示す場合、動作プロセッサ530は、特定のソースからのデータについて機能的冗長性処理を実行する。例えば、選択されたモードの冗長ルールは、ソースノードBからのデータではなく、ソースノードAからのデータについて機能的冗長性処理を実行することを示してもよい。従って、この例では、機能的冗長性処理は、ソースノードBからのデータについて実行されない。   In determining whether to perform functional redundancy processing, the operational processor 530 may read information (such as protocol information, payload, and / or time stamp of the data block) from the data block. For example, as described above, the protocol information may include a source address, a destination address, a source port, a destination port, a protocol type, and / or a time stamp. For example, if the redundancy rule of the redundancy rule database 510 in the selected mode indicates that functional redundancy should be performed on data from a particular source, then the operational processor 530 may Perform functional redundancy processing on the data. For example, the redundancy rule for the selected mode may indicate that functional redundancy processing is performed on data from source node A rather than data from source node B. Thus, in this example, functional redundancy processing is not performed on data from source node B.

機能的冗長性処理がデータセットで実行されるべきであることを動作プロセッサ530が決定すると、動作プロセッサ530は、冗長ルールに従ってデータセットで機能的冗長性処理を実行してもよい。冗長ルールは、選択されたモードにより決定されてもよい。例えば、冗長ルールは、動作プロセッサ530が現在のデータセットと同じソースから生じたデータセットについてキュー540を検索することを示してもよい。冗長ルールは、特定のソースからの古いデータセットがキューに見つかった場合、古いデータセットが現在の新しいデータセットに対して機能的に冗長であることを示してもよい。代替として、冗長ルールは、動作プロセッサ530が現在のデータセットと同じソースから生じたデータセットについてキュー540を検索することを示してもよい。冗長ルールは、キューにあるデータセット及び現在のデータセットのタイムスタンプ情報を検査し、キューにあるデータセット及び現在のデータセットが機能的に冗長な情報を含んでいるか否かを決定するように、動作プロセッサに命令してもよい。他の代替例では、冗長ルールは、ペイロード情報を検査し、キューにあるデータセット及び現在のデータセットが類似の及び/又は同じ機能内容を有するか否か(従って、機能的に冗長であるか否か)を決定するように、動作プロセッサに命令してもよい。   If operational processor 530 determines that functional redundancy processing should be performed on the data set, operational processor 530 may perform functional redundancy processing on the data set according to the redundancy rules. The redundancy rule may be determined by the selected mode. For example, the redundancy rule may indicate that the motion processor 530 searches the queue 540 for a data set originating from the same source as the current data set. The redundancy rule may indicate that if an old data set from a particular source is found in the queue, the old data set is functionally redundant with respect to the current new data set. Alternatively, the redundancy rule may indicate that the operational processor 530 searches the queue 540 for a data set originating from the same source as the current data set. The redundancy rule checks the time stamp information of the queued dataset and the current dataset to determine whether the queued dataset and the current dataset contain functionally redundant information. The operating processor may be instructed. In another alternative, the redundancy rule checks the payload information and determines whether the queued data set and the current data set have similar and / or the same functional content (and therefore functionally redundant). The operating processor may be instructed to determine whether or not.

例えば、第1のデータセット及び第2のデータセットが同じソースから取得されている場合、冗長ルールは、第1の前のデータセットを、第2の後のデータセットに対して機能的に冗長であるとして特定してもよい。他の例では、第1のデータセット及び第2のデータセットが第1のデータセットと第2のデータセットとの間の所定の期間未満で取得されている場合、冗長ルールは、第1の前のデータセットを、第2の後のデータセットに対して機能的に冗長であるとして特定してもよい。他の例として、第1のデータセット及び第2のデータセットが機能的に類似の及び/又は同じ内容を有する場合(例えば、オーディオ成分を有すると想定されるデータセットのオーディオ成分の欠如)、冗長ルールは、第2の後のデータセットを、第1の前のデータセットに対して機能的に冗長であると特定してもよい。   For example, if the first data set and the second data set are obtained from the same source, the redundancy rule would make the first previous data set functionally redundant with respect to the second subsequent data set. May be specified as In another example, if the first data set and the second data set are acquired in less than a predetermined time period between the first data set and the second data set, the redundancy rule is: The previous data set may be identified as being functionally redundant with respect to the second subsequent data set. As another example, if the first data set and the second data set are functionally similar and / or have the same content (eg, lack of audio component of a data set that is supposed to have an audio component), The redundancy rule may specify that the second subsequent data set is functionally redundant with respect to the first previous data set.

機能的に冗長であると分類され得るデータの例は、位置データでもよい。例えば、ソース420(例えば、GPSインジケータ)は、特定の時間にハンビーの位置を報告するために第1のデータセットを生成してもよい。ネットワークの制約により、第1のデータセットはキュー540に格納されてもよい。ハンビーは移動中でもよいため、ソース420は、第1のデータセットと異なる位置を報告するために第2のデータセットを生成してもよい。動作プロセッサ530が第2のデータセットを受信すると、動作プロセッサ530は、選択されたモードがソース420からの位置データについて機能的冗長性を利用することを決定してもよい。   An example of data that can be classified as functionally redundant may be location data. For example, the source 420 (eg, GPS indicator) may generate a first data set to report the position of the humby at a particular time. Due to network constraints, the first data set may be stored in the queue 540. Since the humby may be on the move, the source 420 may generate a second data set to report a different location than the first data set. When motion processor 530 receives the second data set, motion processor 530 may determine that the selected mode utilizes functional redundancy for position data from source 420.

動作プロセッサ530は、キュー540を検索し、ソース420からのデータセットがキュー540に格納されているか否かを決定してもよい。ソース420からのデータセットが見つかった場合、動作プロセッサ530は、位置データの第1のデータセットが位置データの第2のデータセットに対して機能的に冗長であることを決定してもよい。前の時間に取得された位置データの第1のデータセットは、後の時間に取得された位置データの第2のデータセットより現時点で正確ではないため、動作プロセッサ530は、位置データの前の第1のデータセットをキュー540から破棄してもよい。動作プロセッサ530は、位置データの第2のデータセットをキュー540に追加してもよい。動作プロセッサ530は、キュー540の送信順序が変わらないように、第2のデータセットをキュー540に追加してもよい。例えば、第2のデータセットは、キューの位置において第1のデータセットと置換してもよい。実施例では、第1のデータセットが第2のデータセットにより置換されるときに、キューの場所は維持される。他の実施例では、第2のデータセットはキューの終わりに追加される。動作プロセッサ530は、先入れ先出しプロトコルで第2のデータセットをキュー540に追加してもよい。このように、もはや正確でない又は関係ない“古い”位置データでネットワークに負荷をかけずに、最近の位置データが宛先430に送信される。   The operational processor 530 may search the queue 540 and determine whether a data set from the source 420 is stored in the queue 540. If a data set from source 420 is found, motion processor 530 may determine that the first data set of location data is functionally redundant with respect to the second data set of location data. Since the first data set of position data acquired at the previous time is not currently more accurate than the second data set of position data acquired at the later time, the motion processor 530 The first data set may be discarded from the queue 540. The motion processor 530 may add a second data set of location data to the queue 540. The motion processor 530 may add the second data set to the queue 540 so that the transmission order of the queue 540 does not change. For example, the second data set may be replaced with the first data set at the cue position. In an embodiment, the queue location is maintained when the first data set is replaced by the second data set. In other embodiments, the second data set is added at the end of the queue. The motion processor 530 may add the second data set to the queue 540 with a first-in first-out protocol. In this way, recent location data is sent to the destination 430 without burdening the network with “old” location data that is no longer accurate or relevant.

機能的に冗長であると分類され得るデータの他の例は、短期間で取得された連続するデータセットでもよい。例えば、無人機(UAV)は、500フィートを飛行しており、毎秒1枚の写真を撮影してもよい。UAVは比較的遅く飛行しているため、UAVにより撮影された写真は、実質的には相互に異ならない。短期間に撮影された連続写真は、新しい情報を示さない可能性があるため、連続写真は機能的に冗長になる可能性がある。機能的に冗長な写真を送信することは、貴重な帯域を不要に消費し得る。   Another example of data that can be classified as functionally redundant may be a continuous data set acquired in a short period of time. For example, an unmanned aerial vehicle (UAV) is flying 500 feet and may take one photo per second. Since UAVs are flying relatively slowly, the photos taken by UAV are virtually different from each other. Since continuous photos taken in a short period of time may not show new information, they may be functionally redundant. Sending functionally redundant photos can consume valuable bandwidth unnecessarily.

より良い理解のために提供される例では、UAVは、カメラ(この例でのソース420)から第1の写真(この例での第1のデータ)を取得し、第1の写真を受信機520に通信してもよい。受信機520は、第1の写真を動作プロセッサ530に通信してもよい。動作プロセッサ530は、第1の写真をキュー540に通信してもよい。送信機550がネットワークアクセスを有するまで、第1の写真はキュー540に待機してもよい。特定の実施例では、カメラ(この例でのソース420)から第2の写真(この例での第2のデータセット)が動作プロセッサ530に通信される前に、送信機550は、ネットワークアクセスを有さなくてもよく、ネットワークアクセスを要求しなくてもよい。   In the example provided for better understanding, the UAV obtains the first photo (first data in this example) from the camera (source 420 in this example) and receives the first photo in the receiver. 520 may be communicated. The receiver 520 may communicate the first photo to the motion processor 530. The motion processor 530 may communicate the first photo to the queue 540. The first photo may wait in the queue 540 until the transmitter 550 has network access. In a particular embodiment, before the second photo (second data set in this example) from the camera (source 420 in this example) is communicated to motion processor 530, transmitter 550 may have network access. It does not have to be present, and network access may not be required.

動作プロセッサ530は、第2のデータセットを受信すると、第2のデータセットで機能的冗長性処理を実行するか否かを決定する。前述のように、動作プロセッサ530は、データブロックから情報(データブロックのプロトコル情報、ペイロード、及び/又はタイムスタンプ等)を読み取ってもよい。例えば、プロトコル情報は、ソースアドレス、宛先アドレス、ソースポート、宛先ポート、プロトコル形式、及び/又はタイムスタンプを含んでもよい。動作プロセッサ530が第2のデータセットを受信すると、動作プロセッサ530は、選択されたモードが冗長ルールに従ってソース420(この例でのUAVのカメラ)からデータについて機能的冗長性を利用することを決定してもよい。例えば、冗長ルールは、時間閾値の離れたデータセットがソース420から宛先430に送信されることを指定してもよい。   When the operational processor 530 receives the second data set, the operational processor 530 determines whether to perform functional redundancy processing on the second data set. As described above, the motion processor 530 may read information (such as data block protocol information, payload, and / or timestamp) from the data block. For example, the protocol information may include a source address, a destination address, a source port, a destination port, a protocol type, and / or a time stamp. When motion processor 530 receives the second data set, motion processor 530 determines that the selected mode utilizes functional redundancy for data from source 420 (UAV's camera in this example) according to the redundancy rules. May be. For example, the redundancy rule may specify that data sets that are separated by a time threshold are transmitted from the source 420 to the destination 430.

動作プロセッサ530は、キュー540を検索し、ソース420からのデータセットがキュー540に格納されているか否かを決定してもよい。ソース420からのデータセットが見つかると、動作プロセッサ530は、第1のデータセットのタイムスタンプと第2のデータセットのタイムスタンプとを検査してもよい。動作プロセッサ530は、タイムスタンプで特定された第1のデータセットと第2のデータセットとの間の取得時間の差が特定の時間閾値より小さいことを決定してもよい。第1のデータセット及び第2のデータセットの取得時間の差が特定の時間閾値より小さい場合、動作プロセッサ540は、第1のデータセットが第2のデータセットに対して機能的に冗長であることを決定してもよい。時間閾値の値は、選択されたモードにより決定されてもよい。   The operational processor 530 may search the queue 540 and determine whether a data set from the source 420 is stored in the queue 540. If a data set from source 420 is found, motion processor 530 may examine the time stamp of the first data set and the time stamp of the second data set. The motion processor 530 may determine that the difference in acquisition time between the first data set identified by the time stamp and the second data set is less than a particular time threshold. If the difference in acquisition time between the first data set and the second data set is less than a certain time threshold, the motion processor 540 is functionally redundant with respect to the second data set. You may decide that. The time threshold value may be determined by the selected mode.

実施例では、時間的に前に取得された第1のデータセットが時間的に後に取得された第2のデータセット(第2の写真)より現時点であまり関係ないため、動作プロセッサ530は、キュー540から前の第1のデータセット(第1の写真)を破棄してもよい。動作プロセッサ530は、第2のデータセット(第2の写真)をキュー540に追加してもよい。動作プロセッサ530は、キュー540の送信順序が変わらないように、第2のデータセットをキュー540に追加してもよい。例えば、第2のデータセットは、キューの位置において第1のデータセットと置換してもよい。実施例では、第1のデータセットが第2のデータセットにより置換されるときに、キューの場所は維持される。他の実施例では、第2のデータセットはキューの終わりに追加される。動作プロセッサ530は、先入れ先出しプロトコルで第2のデータセットをキュー540に追加してもよい。   In an embodiment, since the first data set acquired earlier in time is less relevant at this time than the second data set acquired later in time (second photo), the motion processor 530 may The first data set (first photo) from 540 may be discarded. The motion processor 530 may add the second data set (second photo) to the queue 540. The motion processor 530 may add the second data set to the queue 540 so that the transmission order of the queue 540 does not change. For example, the second data set may be replaced with the first data set at the cue position. In an embodiment, the queue location is maintained when the first data set is replaced by the second data set. In other embodiments, the second data set is added at the end of the queue. The motion processor 530 may add the second data set to the queue 540 with a first-in first-out protocol.

機能的に冗長であると分類され得るデータの他の例は、同じ又は類似の内容を有するデータセットでもよい。第1のデータセットの内容が第2のデータセットの内容と同じである場合及び/又は類似する場合(オーディオ成分を有すると想定されるデータセットのオーディオ成分の欠如等)、連続するデータセットは、機能的に冗長する可能性がある。例えば、オーディオデータを含まないオーディオデータを含むことが想定されるデータセットは、データセットが電波沈黙時間(radio silence)を送信していることを示してもよい。電波沈黙時間は宛先430に有用な情報ではないため、電波沈黙時間を含むデータセットを送信することは、帯域を不要に消費し得る。従って、オーディオ成分が想定されるデータセットについて、オーディオ成分をほとんど又は全く含まない連続するデータセットは、機能的に冗長になる可能性がある。   Another example of data that can be classified as functionally redundant may be a data set having the same or similar content. If the content of the first data set is the same as and / or similar to the content of the second data set (such as a lack of an audio component of a data set that is supposed to have an audio component), then the continuous data set is Could be functionally redundant. For example, a data set that is assumed to include audio data that does not include audio data may indicate that the data set is transmitting radio silence. Since the radio wave silence time is not useful information for the destination 430, transmitting a data set including the radio wave silence time can consume the bandwidth unnecessarily. Thus, for a data set that assumes an audio component, a continuous data set that contains little or no audio component can be functionally redundant.

より良い理解のために提供される例では、無線機又はマイクロフォン(この例でのソース420)は、第1のデータセットを取得し、第1のデータセットを受信機520に通信してもよい。受信機520は、第1のデータセットを動作プロセッサ530に通信してもよい。動作プロセッサ530は、第1のデータセットをキュー540に通信してもよい。送信機550がネットワークアクセスを有するまで、第1のデータセットはキュー540に待機してもよい。特定の実施例では、第2のデータセットがソース420から動作プロセッサ530に通信される前に、送信機550は、ネットワークアクセスを有さなくてもよく、ネットワークアクセスを要求しなくてもよい。   In the example provided for better understanding, the radio or microphone (source 420 in this example) may obtain the first data set and communicate the first data set to the receiver 520. . Receiver 520 may communicate the first data set to motion processor 530. The operational processor 530 may communicate the first data set to the queue 540. The first data set may wait in queue 540 until transmitter 550 has network access. In certain embodiments, before the second data set is communicated from source 420 to operational processor 530, transmitter 550 may not have network access and may not request network access.

動作プロセッサ530は、第2のデータセットを受信すると、第2のデータセットで機能的冗長性処理を実行するか否かを決定する。前述のように、動作プロセッサ530は、データブロックから情報(データブロックのプロトコル情報、ペイロード、及び/又はタイムスタンプ等)を読み取ってもよい。例えば、プロトコル情報は、ソースアドレス、宛先アドレス、ソースポート、宛先ポート、プロトコル形式、及び/又はタイムスタンプを含んでもよい。動作プロセッサ530が第2のデータセットを受信すると、動作プロセッサ530は、選択されたモードが冗長ルールに従ってソース420(この例での無線マイクロフォン)からデータについて機能的冗長性を利用することを決定してもよい。例えば、冗長ルールは、オーディオ成分がソース420からのデータペイロードに存在することを指定してもよい。   When the operational processor 530 receives the second data set, the operational processor 530 determines whether to perform functional redundancy processing on the second data set. As described above, the motion processor 530 may read information (such as data block protocol information, payload, and / or timestamp) from the data block. For example, the protocol information may include a source address, a destination address, a source port, a destination port, a protocol type, and / or a time stamp. When the motion processor 530 receives the second data set, the motion processor 530 determines that the selected mode will utilize functional redundancy for data from the source 420 (wireless microphone in this example) according to the redundancy rules. May be. For example, the redundancy rule may specify that an audio component is present in the data payload from the source 420.

動作プロセッサ530は、キュー540を検索し、ソース420からのデータセットがキュー540に格納されているか否かを決定してもよい。ソース420からのデータセットが見つかると、動作プロセッサ530は、オーディオ成分の想定の位置で第1のデータセットのペイロードを検査してもよい。動作プロセッサ530はまた、オーディオ成分の想定の位置で第2のデータセットのペイロードを検査してもよい。動作プロセッサ530は、第1のデータセットがオーディオ成分を含まず、第2のデータセットがオーディオ成分を含まないことを決定してもよい。第1のデータセット及び第2のデータセットの双方がオーディオ成分を有さず、双方のデータセットがオーディオ成分を有すると想定される場合、第1及び第2のデータセットを送信することは、送信機に有用な情報を通信しない。従って、動作プロセッサ540は、第1のデータセットが第2のデータセットに対して機能的に冗長であること又は第2のデータセットが第1のデータセットに対して機能的に冗長であることを決定してもよい。   The operational processor 530 may search the queue 540 and determine whether a data set from the source 420 is stored in the queue 540. Once the data set from source 420 is found, motion processor 530 may examine the payload of the first data set at the expected location of the audio component. The motion processor 530 may also examine the payload of the second data set at the expected location of the audio component. The motion processor 530 may determine that the first data set does not include an audio component and the second data set does not include an audio component. If both the first data set and the second data set do not have an audio component and both data sets are assumed to have an audio component, transmitting the first and second data sets is Do not communicate useful information to the transmitter. Accordingly, the motion processor 540 determines that the first data set is functionally redundant with respect to the second data set or the second data set is functionally redundant with respect to the first data set. May be determined.

実施例では、動作プロセッサ530は、キュー540から前の第1のデータセットを破棄してもよい。動作プロセッサ530は、第2のデータセットをキュー540に追加してもよい。動作プロセッサ530は、キュー540の送信順序が変わらないように、第2のデータセットをキュー540に追加してもよい。例えば、第2のデータセットは、キューの位置において第1のデータセットと置換してもよい。実施例では、第1のデータセットが第2のデータセットにより置換されるときに、キューの場所は維持される。他の実施例では、第2のデータセットはキューの終わりに追加される。動作プロセッサ530は、先入れ先出しプロトコルで第2のデータセットをキュー540に追加してもよい。   In an embodiment, motion processor 530 may discard the previous first data set from queue 540. The motion processor 530 may add the second data set to the queue 540. The motion processor 530 may add the second data set to the queue 540 so that the transmission order of the queue 540 does not change. For example, the second data set may be replaced with the first data set at the cue position. In an embodiment, the queue location is maintained when the first data set is replaced by the second data set. In other embodiments, the second data set is added at the end of the queue. The motion processor 530 may add the second data set to the queue 540 with a first-in first-out protocol.

他の実施例では、動作プロセッサ530は、後の第2のデータセットを破棄し、第1のデータセットをキュー540に残してもよい。実施例では、動作プロセッサ530が第2のデータセットをキューに追加して第1のデータセットを破棄するより、第2のデータセットを破棄することが効率的になる可能性がある。第1のデータセット及び第2のデータセットが一般的に類似の及び/又は同じ内容を含む実施例では、システム500は、送信のために第1のデータセット又は第2のデータセットを選択することに概して無関心でもよい。他の要因が実質的に等しい場合、動作プロセッサ530は、特定のデータについて第1のデータセットを送信し、第2のデータセットを削除するように効率的に動作してもよい。   In other embodiments, motion processor 530 may discard the subsequent second data set and leave the first data set in queue 540. In an embodiment, discarding the second data set may be more efficient than the motion processor 530 adding the second data set to the queue and discarding the first data set. In embodiments where the first data set and the second data set generally include similar and / or the same content, the system 500 selects the first data set or the second data set for transmission. In general, it may be indifferent. If the other factors are substantially equal, operational processor 530 may operate efficiently to send the first data set for the specific data and delete the second data set.

機能的冗長性の前述の例は単なる例である。冗長ルールは、ソース、時間、ペイロード又は他の要因に基づいて冗長データを規定するように作られてもよい。冗長ルールは、単一モード又は複数モードに適用可能になり得る。モードは、単一の一式の冗長ルールを利用してもよく、複数の一式の冗長ルールを利用してもよい。   The above example of functional redundancy is just an example. Redundancy rules may be made to define redundant data based on source, time, payload, or other factors. Redundancy rules may be applicable to single mode or multiple modes. A mode may use a single set of redundancy rules or a plurality of sets of redundancy rules.

図6は、本発明の実施例による動作プロセッサ530のフローチャート600を示している。ステップ610において、第1のデータセットが受信され、キュー540に格納される。第2のデータセットが受信され、動作プロセッサ530に通信される。データ通信システム410は、ソース420からのデータについて機能的冗長性を利用するモードにある。第2のデータセットは、動作プロセッサ530により動作される。動作プロセッサ530による動作は、選択されたモードにより規定される冗長ルールデータベース510からの冗長ルールに基づいて、第2のデータセットについて機能的冗長性処理を実行するか否かを決定することを含んでもよい。例えば、動作プロセッサ530は、第2のデータセットから情報(データセットのプロトコル情報、ペイロード、及び/又はタイムスタンプ等)を読み取ってもよい。例えば、前述のように、プロトコル情報は、ソースアドレス、宛先アドレス、ソースポート、宛先ポート、プロトコル形式、及び/又はタイムスタンプを含んでもよい。例えば、選択されたモードについて冗長ルールデータベース510の冗長ルールが、機能的冗長性が現在のデータセットについて実行されるべきであることを示す場合、動作プロセッサは、機能的冗長性処理を実行する。   FIG. 6 shows a flowchart 600 of motion processor 530 according to an embodiment of the present invention. In step 610, a first data set is received and stored in queue 540. A second data set is received and communicated to motion processor 530. Data communication system 410 is in a mode that utilizes functional redundancy for data from source 420. The second data set is operated by operation processor 530. The action by action processor 530 includes determining whether to perform functional redundancy processing for the second data set based on the redundancy rules from redundancy rule database 510 defined by the selected mode. But you can. For example, the motion processor 530 may read information (such as protocol information, payload, and / or time stamp of the data set) from the second data set. For example, as described above, the protocol information may include a source address, a destination address, a source port, a destination port, a protocol type, and / or a time stamp. For example, if the redundancy rule in redundancy rule database 510 for the selected mode indicates that functional redundancy is to be performed for the current data set, the operational processor performs functional redundancy processing.

機能的冗長性処理が実行されるべきであることを冗長ルールが示す場合、動作プロセッサ530の機能を示すフローチャートは、ステップ620に移動する。機能的冗長性処理が実行されるべきでないことを機能的冗長ルールが示す場合、動作プロセッサ530(フローチャート)はステップ640に移動し、第2のデータをキュー540に追加する。実施例では、第1のデータセットが第2のデータセットにより置換されるときに、キューの場所は維持される。他の実施例では、第2のデータセットはキューの終わりに追加される。第2のデータセットがキュー540に追加されると、第2のデータセットは宛先430への送信を待機する。   If the redundancy rule indicates that functional redundancy processing should be performed, the flowchart illustrating the function of the motion processor 530 moves to step 620. If the functional redundancy rule indicates that functional redundancy processing should not be performed, the operational processor 530 (flow chart) moves to step 640 and adds the second data to the queue 540. In an embodiment, the queue location is maintained when the first data set is replaced by the second data set. In other embodiments, the second data set is added at the end of the queue. When the second data set is added to queue 540, the second data set waits for transmission to destination 430.

ステップ620において、動作プロセッサ530は、冗長ルールに従ってキュー540を検索する。実施例では、動作プロセッサ530は、第2のデータセットに対して機能的に冗長である第1のデータセットについてキュー540を検索する。前述のように、動作プロセッサは、選択されたモードにより示される冗長ルールデータベース510のルールに基づいて、第1のデータセットが第2のデータセットに対して機能的に冗長であるか否かを決定する。一例として、動作プロセッサ530は、第1及び第2のデータセットが同じソースから生じる場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを決定してもよい。他の例として、動作プロセッサ530は、第1及び第2のデータセットが同じソースから生じており、タイムスタンプの間の差が所定の閾値より大きくない場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを決定してもよい。更に他の例として、動作プロセッサ530は、第1及び第2のデータセットが宛先430に複数回送信するほど有用でない可能性がある共通の要素を有する場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを決定してもよい。   In step 620, the motion processor 530 searches the queue 540 according to the redundancy rule. In an embodiment, motion processor 530 searches queue 540 for a first data set that is functionally redundant with respect to the second data set. As described above, the motion processor determines whether the first data set is functionally redundant with respect to the second data set based on the rules of the redundancy rule database 510 indicated by the selected mode. decide. As an example, operational processor 530 may determine that a first data set is functionally redundant with respect to a second data set when the first and second data sets originate from the same source. Good. As another example, the motion processor 530 determines that the first data set is the second data set when the first and second data sets originate from the same source and the difference between the time stamps is not greater than a predetermined threshold. It may be determined that the data set is functionally redundant. As yet another example, the motion processor 530 may have the first data set second if the first and second data sets have common elements that may not be useful enough to send to the destination 430 multiple times. It may be determined that the data set is functionally redundant.

ステップ620において、動作プロセッサ530がキュー540で機能的に冗長なデータを見つけた場合、動作プロセッサ530はステップ630に移動する。ステップ630において、動作プロセッサがキュー540で機能的に冗長なデータを見つけない場合、動作プロセッサ530はステップ640に移動し、第2のデータセットをキュー540に追加し、送信を待機する。   In step 620, if motion processor 530 finds functionally redundant data in queue 540, motion processor 530 moves to step 630. If, at step 630, the operational processor does not find functionally redundant data in queue 540, operational processor 530 moves to step 640, adds the second data set to queue 540, and waits for transmission.

ステップ630において、動作プロセッサ530は、キュー540から前の第1のデータセットを破棄してもよい。動作プロセッサ530は、後の第2のデータセットをキュー540に追加してもよい。実施例では、動作プロセッサ530は、キュー540の送信順序が変わらないように、第2のデータセットをキュー540に追加してもよい。実施例では、第1のデータセットが第2のデータセットにより置換されるときに、キューの場所は維持される。他の実施例では、第2のデータセットはキューの終わりに追加される。動作プロセッサ530は、先入れ先出しプロトコルで第2のデータセットをキュー540に追加してもよい。フローチャート600のステップは、帯域を効率的に利用するために繰り返して実行されてもよい。   In step 630, the motion processor 530 may discard the previous first data set from the queue 540. The motion processor 530 may add a later second data set to the queue 540. In an embodiment, motion processor 530 may add a second data set to queue 540 so that the order of transmission of queue 540 does not change. In an embodiment, the queue location is maintained when the first data set is replaced by the second data set. In other embodiments, the second data set is added at the end of the queue. The motion processor 530 may add the second data set to the queue 540 with a first-in first-out protocol. The steps of flowchart 600 may be performed iteratively in order to efficiently use bandwidth.

図7は、本発明の実施例による動作プロセッサ530のフローチャート700を示している。ステップ710において、第1のデータセットが受信され、キュー540に格納される。第2のデータセットが受信され、動作プロセッサ530に通信される。データ通信システム410は、ソース420からのデータについて機能的冗長性を利用するモードにある。第2のデータセットは、動作プロセッサ530により動作される。動作プロセッサ530による動作は、選択されたモードにより規定される冗長ルールデータベース510からの冗長ルールに基づいて、第2のデータセットについて機能的冗長性処理を実行するか否かを決定することを含んでもよい。例えば、動作プロセッサ530は、第2のデータセットから情報(データセットのプロトコル情報、ペイロード、及び/又はタイムスタンプ等)を読み取ってもよい。例えば、前述のように、プロトコル情報は、ソースアドレス、宛先アドレス、ソースポート、宛先ポート、プロトコル形式、及び/又はタイムスタンプを含んでもよい。例えば、選択されたモードについて冗長ルールデータベース510の冗長ルールが、機能的冗長性が現在のデータセットについて実行されるべきであることを示す場合、動作プロセッサは、機能的冗長性処理を実行する。   FIG. 7 shows a flowchart 700 of the motion processor 530 according to an embodiment of the present invention. In step 710, a first data set is received and stored in queue 540. A second data set is received and communicated to motion processor 530. Data communication system 410 is in a mode that utilizes functional redundancy for data from source 420. The second data set is operated by operation processor 530. The action by action processor 530 includes determining whether to perform functional redundancy processing for the second data set based on the redundancy rules from redundancy rule database 510 defined by the selected mode. But you can. For example, the motion processor 530 may read information (such as protocol information, payload, and / or time stamp of the data set) from the second data set. For example, as described above, the protocol information may include a source address, a destination address, a source port, a destination port, a protocol type, and / or a time stamp. For example, if the redundancy rule in redundancy rule database 510 for the selected mode indicates that functional redundancy is to be performed for the current data set, the operational processor performs functional redundancy processing.

機能的冗長性処理が実行されるべきであることを冗長ルールが示す場合、動作プロセッサ530の機能を示すフローチャートは、ステップ720に移動する。機能的冗長性処理が実行されるべきでないことを機能的冗長ルールが示す場合、動作プロセッサ530(フローチャート)はステップ740に移動し、第2のデータをキュー540に追加する。第2のデータセットがキュー540に追加されると、第2のデータセットは宛先430への送信を待機する。   If the redundancy rule indicates that functional redundancy processing should be performed, the flowchart illustrating the function of the motion processor 530 moves to step 720. If the functional redundancy rule indicates that functional redundancy processing should not be performed, the operational processor 530 (flow chart) moves to step 740 and adds the second data to the queue 540. When the second data set is added to queue 540, the second data set waits for transmission to destination 430.

ステップ720において、動作プロセッサ530は、冗長ルールに従ってキュー540を検索する。実施例では、動作プロセッサ530は、第2のデータセットに対して機能的に冗長である第1のデータセットについてキュー540を検索する。前述のように、動作プロセッサは、選択されたモードにより示される冗長ルールデータベース510のルールに基づいて、第1のデータセットが第2のデータセットに対して機能的に冗長であるか否かを決定する。一例として、動作プロセッサ530は、第1及び第2のデータセットが同じソースから生じる場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを決定してもよい。他の例として、動作プロセッサ530は、第1及び第2のデータセットが同じソースから生じており、タイムスタンプの間の差が所定の閾値より大きくない場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを決定してもよい。更に他の例として、動作プロセッサ530は、第1及び第2のデータセットが宛先430に複数回送信するほど有用でない可能性がある共通の要素を有する場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを決定してもよい。   In step 720, the motion processor 530 searches the queue 540 according to the redundancy rule. In an embodiment, motion processor 530 searches queue 540 for a first data set that is functionally redundant with respect to the second data set. As described above, the motion processor determines whether the first data set is functionally redundant with respect to the second data set based on the rules of the redundancy rule database 510 indicated by the selected mode. decide. As an example, operational processor 530 may determine that a first data set is functionally redundant with respect to a second data set when the first and second data sets originate from the same source. Good. As another example, the motion processor 530 determines that the first data set is the second data set when the first and second data sets originate from the same source and the difference between the time stamps is not greater than a predetermined threshold. It may be determined that the data set is functionally redundant. As yet another example, the motion processor 530 may have the first data set second if the first and second data sets have common elements that may not be useful enough to send to the destination 430 multiple times. It may be determined that the data set is functionally redundant.

ステップ720において、動作プロセッサ530がキュー540で機能的に冗長なデータを見つけた場合、動作プロセッサ530はステップ730に移動する。ステップ730において、動作プロセッサがキュー540で機能的に冗長なデータを見つけない場合、動作プロセッサ530はステップ740に移動し、第2のデータセットをキュー540に追加し、送信を待機する。   In step 720, if motion processor 530 finds functionally redundant data in queue 540, motion processor 530 moves to step 730. If, at step 730, the operational processor does not find functionally redundant data in queue 540, operational processor 530 moves to step 740, adds the second data set to queue 540, and waits for transmission.

ステップ730において、動作プロセッサ530は、後の第2のデータセットを破棄し、第1のデータセットをキュー540に残してもよい。実施例では、動作プロセッサ530が第2のデータセットをキューに追加して第2のデータセットを破棄するより、第2のデータセットを破棄することが効率的になる可能性がある。第1のデータセット及び第2のデータセットが一般的に類似の及び/又は同じ内容を含む実施例では、システム500は、送信のために第1のデータセット又は第2のデータセットを選択することに概して無関心でもよい。他の要因が実質的に等しい場合、動作プロセッサ530は、特定のデータについて第1のデータセットを送信し、第2のデータセットを削除するように効率的に動作してもよい。フローチャート700のステップは、帯域を効率的に利用するために繰り返して実行されてもよい。   In step 730, motion processor 530 may discard the subsequent second data set and leave the first data set in queue 540. In an embodiment, discarding the second data set may be more efficient than the motion processor 530 adding the second data set to the queue and discarding the second data set. In embodiments where the first data set and the second data set generally include similar and / or the same content, the system 500 selects the first data set or the second data set for transmission. In general, it may be indifferent. If the other factors are substantially equal, operational processor 530 may operate efficiently to send the first data set for the specific data and delete the second data set. The steps of flowchart 700 may be performed iteratively to make efficient use of bandwidth.

図8は、本発明の実施例による方法800を示している。ステップ810において、第1のデータセットが受信されてもよい。ステップ820において、第1のデータセットがキューに格納されてもよい。ステップ830において、第2のデータセットが受信されてもよい。ステップ840において、第2のデータセットについて機能的冗長性処理を実行するか否かが決定されてもよい。第2のデータセットについて機能的冗長性処理を実行するか否かの決定は、選択されたモードと、選択されたモードに関連する冗長ルールとに依存してもよい。モードは、例えばネットワーク状況に基づいて、手動又は自動で選択されてもよい。   FIG. 8 illustrates a method 800 according to an embodiment of the present invention. In step 810, a first data set may be received. In step 820, the first data set may be stored in a queue. In step 830, a second data set may be received. In step 840, it may be determined whether to perform functional redundancy processing for the second data set. The determination of whether to perform functional redundancy processing for the second data set may depend on the selected mode and the redundancy rule associated with the selected mode. The mode may be selected manually or automatically based on, for example, network conditions.

ステップ850において、第2のデータセットに対して機能的に冗長になり得るデータセットについてキューが検索されてもよい。キューにあるデータセットが現在のデータセットに対して機能的に冗長であるか否かは、冗長ルールにより決定されてもよい。冗長ルールは、選択されたモードにより決定されてもよい。一例として、冗長ルールは、第1及び第2のデータセットが同じソースから生じる場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを示してもよい。他の例として、冗長ルールは、第1及び第2のデータセットが同じソースから生じており、タイムスタンプの間の差が所定の閾値より大きくない場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを示してもよい。更に他の例として、冗長ルールは、第1及び第2のデータセットが同じ及び/又は類似の内容を有する場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを示してもよい。   In step 850, a queue may be searched for a data set that may be functionally redundant with respect to the second data set. Whether a data set in the queue is functionally redundant with respect to the current data set may be determined by a redundancy rule. The redundancy rule may be determined by the selected mode. As an example, a redundancy rule may indicate that a first data set is functionally redundant with respect to a second data set when the first and second data sets originate from the same source. As another example, the redundancy rule may be that if the first and second data sets originate from the same source and the difference between the timestamps is not greater than a predetermined threshold, the first data set is the second data set. It may indicate functional redundancy for the data set. As yet another example, the redundancy rule may be that the first data set is functionally redundant with respect to the second data set when the first and second data sets have the same and / or similar content. You may show that there is.

ステップ860において、第2のデータセットが第1のデータセットに対して機能的に冗長であると決定されると、前の第1のデータセットはキューから破棄されてもよい。ステップ870において、後の第2のデータセットはキューに追加されてもよい。実施例では、第2のデータセットは、キューの送信順序が変わらないように、キューに追加されてもよい。実施例では、第1のデータセットが第2のデータセットにより置換されるときに、キューの場所は維持される。他の実施例では、第2のデータセットはキューの終わりに追加される。代替として、第2のデータセットは、先入れ先出しプロトコルでキューに追加されてもよい。フローチャート800のステップは、帯域を効率的に利用するために繰り返して実行されてもよい。   In step 860, if it is determined that the second data set is functionally redundant with respect to the first data set, the previous first data set may be discarded from the queue. In step 870, a later second data set may be added to the queue. In an embodiment, the second data set may be added to the queue such that the queue transmission order does not change. In an embodiment, the queue location is maintained when the first data set is replaced by the second data set. In other embodiments, the second data set is added at the end of the queue. Alternatively, the second data set may be added to the queue with a first in first out protocol. The steps of flowchart 800 may be repeatedly performed to efficiently use bandwidth.

例えば、方法800の1つ以上のステップは、単独で、又はハードウェア、ファームウェアの組み合わせで、及び/又はソフトウェアの一式の命令として実装されてもよい。特定の実施例は、汎用コンピュータ又は他の処理装置で実行するコンピュータ可読媒体(メモリ、ハードディスク、DVD又はCD等)に存在する一式の命令として提供されてもよい。   For example, one or more steps of method 800 may be implemented alone or in a combination of hardware, firmware, and / or as a set of software instructions. Particular embodiments may be provided as a set of instructions residing on a computer readable medium (memory, hard disk, DVD or CD, etc.) executing on a general purpose computer or other processing device.

本発明の特定の実施例は、1つ以上の方法800のステップを省略してもよく、及び/又は記載の順序と異なる順序でステップを実行してもよい。例えば、本発明の或る実施例では、いくつかのステップは実行されなくてもよい。更なる例として、特定のステップは、前述のものと異なる時間的順序で(同時も含む)実行されてもよい。   Certain embodiments of the invention may omit one or more method 800 steps and / or perform the steps in a different order than the order described. For example, in certain embodiments of the present invention, some steps may not be performed. As a further example, certain steps may be performed in a different temporal order (including simultaneously) than those previously described.

前述のシステム及び方法800は、コンピュータ用の一式の命令を含むコンピュータ可読記憶媒体の一部として実行されてもよい。一式の命令は、第1のデータセット及び第2のデータセットを受信する受信ルーチンを含んでもよい。一式の命令はまた、第1のデータセットをキューに格納する格納ルーチンを含んでもよい。一式の命令はまた、冗長ルールに基づいて第2のデータセットについて機能的冗長性処理を実行するか否かを決定する決定ルーチンを含んでもよい。   The foregoing system and method 800 may be implemented as part of a computer readable storage medium that includes a set of instructions for a computer. The set of instructions may include a receive routine that receives the first data set and the second data set. The set of instructions may also include a store routine that stores the first data set in a queue. The set of instructions may also include a decision routine that determines whether to perform functional redundancy processing for the second data set based on redundancy rules.

冗長ルールは、選択モードルーチンにより制御されてもよい。選択モードルーチンは、選択ルーチンにより選択されてもよい。選択ルーチンは、ユーザにより選択されてもよく、ネットワーク状況に基づいて動的に選択されてもよい。冗長ルールは、第2のデータセット及び第1のデータセットが同じソースノードから生じるか否かを決定する第1の冗長ルーチンを含んでもよい。冗長ルールはまた、第2のデータセットのタイムスタンプと第1のデータセットのタイムスタンプとの間の時間を決定する第2の冗長ルーチンを含んでもよい。冗長ルールはまた、第1のデータセットと第2のデータセットとの間に共通の要素が存在するか否かを決定する第3の冗長ルーチンを含んでもよい。   The redundancy rule may be controlled by a selection mode routine. The selection mode routine may be selected by a selection routine. The selection routine may be selected by the user or may be selected dynamically based on network conditions. The redundancy rule may include a first redundancy routine that determines whether the second data set and the first data set originate from the same source node. The redundancy rule may also include a second redundancy routine that determines a time between the time stamp of the second data set and the time stamp of the first data set. The redundancy rule may also include a third redundancy routine that determines whether there is a common element between the first data set and the second data set.

一式の命令はまた、第1のデータセットについてキューを検索する検索ルーチンを含んでもよい。第1のデータセットが第2のデータセットに対して機能的に冗長である場合、第1のデータセットがキューから破棄され、第2のデータセットがキューに追加されてもよい。実施例では、第1のデータセットが第2のデータセットにより置換されるときに、キューの場所は維持される。他の実施例では、第2のデータセットはキューの終わりに追加される。第2のデータセットをキューに追加するステップは、先入れ先出しプロトコルで第2のデータセットをキューに追加する先入れ先出しルーチンを含む。   The set of instructions may also include a search routine that searches the queue for the first data set. If the first data set is functionally redundant with respect to the second data set, the first data set may be discarded from the queue and the second data set added to the queue. In an embodiment, the queue location is maintained when the first data set is replaced by the second data set. In other embodiments, the second data set is added at the end of the queue. The step of adding the second data set to the queue includes a first-in first-out routine for adding the second data set to the queue with a first-in first-out protocol.

図9は、本発明の実施例による方法900を示している。ステップ910において、第1のデータセットが受信されてもよい。ステップ920において、第1のデータセットがキューに格納されてもよい。ステップ930において、第2のデータセットが受信されてもよい。ステップ940において、第2のデータセットについて機能的冗長性処理を実行するか否かが決定されてもよい。第2のデータセットについて機能的冗長性処理を実行するか否かの決定は、選択されたモードと、選択されたモードに関連する冗長ルールとに依存してもよい。モードは、例えばネットワーク状況に基づいて、手動又は自動で選択されてもよい。   FIG. 9 illustrates a method 900 according to an embodiment of the present invention. In step 910, a first data set may be received. In step 920, the first data set may be stored in a queue. In step 930, a second data set may be received. In step 940, it may be determined whether to perform functional redundancy processing on the second data set. The determination of whether to perform functional redundancy processing for the second data set may depend on the selected mode and the redundancy rule associated with the selected mode. The mode may be selected manually or automatically based on, for example, network conditions.

ステップ950において、第2のデータセットに対して機能的に冗長になり得るデータセットについてキューが検索されてもよい。キューにあるデータセットが現在のデータセットに対して機能的に冗長であるか否かは、冗長ルールにより決定されてもよい。冗長ルールは、選択されたモードにより決定されてもよい。一例として、冗長ルールは、第1及び第2のデータセットが同じソースから生じる場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを示してもよい。他の例として、冗長ルールは、第1及び第2のデータセットが同じソースから生じており、タイムスタンプの間の差が所定の閾値より大きくない場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを示してもよい。更に他の例として、冗長ルールは、第1及び第2のデータセットが複数回送信するほど有用でない可能性のある共通の要素を有する場合に、第1のデータセットが第2のデータセットに対して機能的に冗長であることを示してもよい。   In step 950, a queue may be searched for a data set that may be functionally redundant with respect to the second data set. Whether a data set in the queue is functionally redundant with respect to the current data set may be determined by a redundancy rule. The redundancy rule may be determined by the selected mode. As an example, a redundancy rule may indicate that a first data set is functionally redundant with respect to a second data set when the first and second data sets originate from the same source. As another example, the redundancy rule may be that if the first and second data sets originate from the same source and the difference between the timestamps is not greater than a predetermined threshold, the first data set is the second data set. It may indicate functional redundancy for the data set. As yet another example, a redundancy rule may cause a first data set to become a second data set when the first and second data sets have common elements that may not be useful enough to transmit multiple times. On the other hand, it may indicate functional redundancy.

ステップ960において、第2のデータセットが第1のデータセットに対して機能的に冗長であると決定されると、第2のデータセットがキューから破棄され、第1のデータセットがキューに残ってもよい。実施例において、第2のデータセットをキューに追加して第2のデータセットを破棄するより、第2のデータセットを破棄することが効率的になる可能性がある。第1のデータセット及び第2のデータセットが一般的に類似の情報を含む実施例では、送信のために第1のデータセットが選択されてもよく、第2のデータセットが選択されてもよい。他の要因が実質的に等しい場合、特定のデータについて第1のデータセットを送信し、第2のデータセットを破棄することが効率的になる可能性がある。フローチャート900のステップは、帯域を効率的に利用するために繰り返して実行されてもよい。   If it is determined in step 960 that the second data set is functionally redundant with respect to the first data set, the second data set is discarded from the queue and the first data set remains in the queue. May be. In an embodiment, discarding the second data set may be more efficient than adding the second data set to the queue and discarding the second data set. In embodiments where the first data set and the second data set generally contain similar information, the first data set may be selected for transmission and the second data set may be selected. Good. If the other factors are substantially equal, it may be efficient to send the first data set for specific data and discard the second data set. The steps of flowchart 900 may be performed iteratively to make efficient use of bandwidth.

例えば、方法900の1つ以上のステップは、単独で、又はハードウェア、ファームウェアの組み合わせで、及び/又はソフトウェアの一式の命令として実装されてもよい。特定の実施例は、汎用コンピュータ又は他の処理装置で実行するコンピュータ可読媒体(メモリ、ハードディスク、DVD又はCD等)に存在する一式の命令として提供されてもよい。   For example, one or more steps of method 900 may be implemented alone or in a combination of hardware, firmware, and / or as a set of software instructions. Particular embodiments may be provided as a set of instructions residing on a computer readable medium (memory, hard disk, DVD or CD, etc.) executing on a general purpose computer or other processing device.

本発明の特定の実施例は、1つ以上の方法900のステップを省略してもよく、及び/又は記載の順序と異なる順序でステップを実行してもよい。例えば、本発明の或る実施例では、いくつかのステップは実行されなくてもよい。更なる例として、特定のステップは、前述のものと異なる時間的順序で(同時も含む)実行されてもよい。   Certain embodiments of the invention may omit one or more method 900 steps and / or perform the steps in a different order than the order described. For example, in certain embodiments of the present invention, some steps may not be performed. As a further example, certain steps may be performed in a different temporal order (including simultaneously) than those previously described.

前述のシステム及び方法900は、コンピュータ用の一式の命令を含むコンピュータ可読記憶媒体の一部として実行されてもよい。一式の命令は、第1のデータセット及び第2のデータセットを受信する受信ルーチンを含んでもよい。一式の命令はまた、第1のデータセットをキューに格納する格納ルーチンを含んでもよい。一式の命令はまた、冗長ルールに基づいて第2のデータセットについて機能的冗長性処理を実行するか否かを決定する決定ルーチンを含んでもよい。   The foregoing system and method 900 may be implemented as part of a computer readable storage medium that includes a set of instructions for a computer. The set of instructions may include a receive routine that receives the first data set and the second data set. The set of instructions may also include a store routine that stores the first data set in a queue. The set of instructions may also include a decision routine that determines whether to perform functional redundancy processing for the second data set based on redundancy rules.

冗長ルールは、選択モードルーチンにより制御されてもよい。選択モードルーチンは、選択ルーチンにより選択されてもよい。選択ルーチンは、ユーザにより選択されてもよく、ネットワーク状況に基づいて動的に選択されてもよい。冗長ルールは、第2のデータセット及び第1のデータセットが同じソースノードから生じるか否かを決定する第1の冗長ルーチンを含んでもよい。冗長ルールはまた、第2のデータセットのタイムスタンプと第1のデータセットのタイムスタンプとの間の時間を決定する第2の冗長ルーチンを含んでもよい。冗長ルールはまた、第1のデータセットの内容が第2のデータセットの内容に対して機能的に冗長であるか否かを決定する第3の冗長ルーチンを含んでもよい。   The redundancy rule may be controlled by a selection mode routine. The selection mode routine may be selected by a selection routine. The selection routine may be selected by the user or may be selected dynamically based on network conditions. The redundancy rule may include a first redundancy routine that determines whether the second data set and the first data set originate from the same source node. The redundancy rule may also include a second redundancy routine that determines a time between the time stamp of the second data set and the time stamp of the first data set. The redundancy rule may also include a third redundancy routine that determines whether the contents of the first data set are functionally redundant with respect to the contents of the second data set.

一式の命令はまた、第1のデータセットについてキューを検索する検索ルーチンを含んでもよい。一式の命令はまた、第1のデータセットの内容が第2のデータセットの内容に対して機能的に冗長である場合、第1のデータセットを送信して第2のデータセットを破棄する送信ルーチンを含んでもよい。   The set of instructions may also include a search routine that searches the queue for the first data set. The set of instructions also sends a first data set and discards the second data set if the contents of the first data set are functionally redundant with respect to the contents of the second data set. Routines may be included.

Claims (10)

第1のデータセットを受信し、
前記第1のデータセットをキューに格納し、
第2のデータセットを受信し、
冗長ルールに基づいて前記第2のデータセットについて機能的冗長性処理を実行するか否かを決定し、前記冗長ルールは、選択されたモードにより制御され、
前記第1のデータセットについて前記キューを検索し、前記冗長ルールに基づいて前記第1のデータセットが前記第2のデータセットに対して機能的に冗長であるか否かを決定し、
前記第1のデータセットが前記第2のデータセットに対して機能的に冗長である場合、前記第1のデータセットを前記キューから破棄し、前記第2のデータセットを前記キューに追加することを有し、
前記第1のデータセットのデータ内容と前記第2のデータセットのデータ内容との比較により、前記第1のデータセットのデータ内容と前記第2のデータセットのデータ内容との間の差の程度が閾値より小さい結果になることに少なくとも部分的に基づいて、前記第1のデータセットは前記第2のデータセットに対して機能的に冗長であり、前記閾値は重複しないデータを含むように設定されるデータ通信方法。
Receive a first data set;
Storing the first data set in a queue;
Receive a second data set;
Determining whether to perform functional redundancy processing on the second data set based on a redundancy rule, the redundancy rule being controlled by the selected mode;
Searching the queue for the first data set and determining whether the first data set is functionally redundant with respect to the second data set based on the redundancy rule;
If the first data set is functionally redundant with respect to the second data set, discard the first data set from the queue and add the second data set to the queue Have
The extent of the difference between the by comparison with the data contents of the first data set and data content of the second data set, data content of said data content of the first data set a second data set The first data set is functionally redundant with respect to the second data set, and the threshold is set to include non-overlapping data, based at least in part on resulting in a less than threshold Data communication method.
前記選択されたモードは、ユーザにより選択される、請求項1に記載の方法。  The method of claim 1, wherein the selected mode is selected by a user. 前記冗長ルールは、前記第2のデータセットのデータのヘッダに含まれる情報に基づいて機能的冗長性処理を実行するか否かを決定する、請求項1に記載の方法。  The method of claim 1, wherein the redundancy rule determines whether to perform functional redundancy processing based on information included in a data header of the second data set. 前記冗長ルールは、前記第2のデータセットのタイムスタンプと前記第1のデータセットのタイムスタンプとの間の時間が所定の期間より小さい場合に、前記第1のデータセットが前記第2のデータセットに対して機能的に冗長であることを決定する、請求項1に記載の方法。  The redundancy rule determines that the first data set is the second data when the time between the time stamp of the second data set and the time stamp of the first data set is smaller than a predetermined period. The method of claim 1, wherein the method is determined to be functionally redundant for the set. 前記第2のデータセットを前記キューに追加するステップは、先入れ先出しプロトコルで前記第2のデータセットを前記キューに追加することを含む、請求項1に記載の方法。  The method of claim 1, wherein adding the second data set to the queue comprises adding the second data set to the queue with a first-in first-out protocol. 処理装置で実行する一式の命令を有するコンピュータ可読媒体であって、
前記一式の命令は、
第1のデータセットと第2のデータセットとを受信する受信ルーチンと、
前記第1のデータセットをキューに格納する格納ルーチンと、
冗長ルールに基づいて前記第2のデータセットについて機能的冗長性処理を実行するか否かを決定する決定ルーチンであり、前記冗長ルールは、選択されたモードにより制御される決定ルーチンと、
前記第1のデータセットについて前記キューを検索し、前記冗長ルールに基づいて前記第1のデータセットが前記第2のデータセットに対して機能的に冗長であるか否かを決定する検索ルーチンであり、前記第1のデータセットが前記第2のデータセットに対して機能的に冗長である場合、前記第1のデータセットを前記キューから破棄し、前記第2のデータセットを前記キューに追加する検索ルーチンと
を有し、
前記第1のデータセットのデータ内容と前記第2のデータセットのデータ内容との比較により、前記第1のデータセットのデータ内容と前記第2のデータセットのデータ内容との間の差の程度が閾値より小さい結果になることに少なくとも部分的に基づいて、前記第1のデータセットは前記第2のデータセットに対して機能的に冗長であり、前記閾値は重複しないデータを含むように設定されるコンピュータ可読媒体。
A computer readable medium having a set of instructions for execution on a processing device comprising:
The set of instructions is
A receiving routine for receiving a first data set and a second data set;
A storage routine for storing the first data set in a queue;
A decision routine for determining whether to perform functional redundancy processing on the second data set based on a redundancy rule, the redundancy rule being a decision routine controlled by a selected mode;
A search routine that searches the queue for the first data set and determines whether the first data set is functionally redundant with respect to the second data set based on the redundancy rule; Yes, if the first data set is functionally redundant with respect to the second data set, discard the first data set from the queue and add the second data set to the queue And a search routine to
The extent of the difference between the by comparison with the data contents of the first data set and data content of the second data set, data content of said data content of the first data set a second data set The first data set is functionally redundant with respect to the second data set, and the threshold is set to include non-overlapping data, based at least in part on resulting in a less than threshold Computer readable medium.
前記選択されたモードは、選択モードルーチンにより選択され、前記選択モードルーチンは、ユーザにより制御される、請求項6に記載のコンピュータ可読媒体。  The computer-readable medium of claim 6, wherein the selected mode is selected by a selection mode routine, and the selection mode routine is controlled by a user. 第1のデータセットを受信し、
第2のデータセットを受信し、
選択されたモードを検査し、前記第2のデータセットで機能的冗長性処理を実行するか否かを決定し、前記選択されたモードは、機能的冗長性処理を実行するか否かを決定する一式の冗長ルールを有し、
前記第2のデータセットが前記第1のデータセットに対して機能的に冗長であるか否かを決定することにより、機能的冗長性処理を実行し、前記第2のデータセットは、前記一式の冗長ルールに従って前記第1のデータセットに対して機能的に冗長であり、
前記第1のデータセットが前記第2のデータセットに対して機能的に冗長である場合、前記第1のデータセットをキューから破棄し、前記第2のデータセットを前記キューに追加することを有し、
前記第1のデータセットのデータ内容と前記第2のデータセットのデータ内容との比較が閾値より小さいことに少なくとも部分的に基づいて、前記第1のデータセットは前記第2のデータセットに対して機能的に冗長であり、前記閾値は重複しないデータを含むように設定されるデータ通信方法。
Receive a first data set;
Receive a second data set;
Inspect the selected mode and determine whether to perform functional redundancy processing on the second data set, and the selected mode determines whether to perform functional redundancy processing A set of redundancy rules to
Performing functional redundancy processing by determining whether the second data set is functionally redundant with respect to the first data set, wherein the second data set is the set Functionally redundant to the first data set according to the redundancy rule of
If the first data set is functionally redundant with respect to the second data set, discarding the first data set from the queue and adding the second data set to the queue; Have
The first data set is relative to the second data set based at least in part on the comparison between the data content of the first data set and the data content of the second data set being less than a threshold. A data communication method in which the threshold value is set so as to include non-overlapping data.
前記冗長ルールは、前記第2のデータセットのソースノードに基づいて機能的冗長性処理を実行するか否かを決定する、請求項8に記載の方法。  The method of claim 8, wherein the redundancy rule determines whether to perform functional redundancy processing based on a source node of the second data set. 前記冗長ルールは、前記第2のデータセット及び前記第1のデータセットが同じソースノードから生じる場合に、前記第1のデータセットが前記第2のデータセットに対して機能的に冗長であることを決定する、請求項8に記載の方法。  The redundancy rule is that the first data set is functionally redundant with respect to the second data set when the second data set and the first data set originate from the same source node. The method of claim 8, wherein:
JP2009511037A 2006-05-18 2007-05-15 Functionally redundant method and system for quality of service Expired - Fee Related JP4926242B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/436,912 2006-05-18
US11/436,912 US7894509B2 (en) 2006-05-18 2006-05-18 Method and system for functional redundancy based quality of service
PCT/US2007/011649 WO2007136625A2 (en) 2006-05-18 2007-05-15 Method and system for functional redundancy based quality of service

Publications (2)

Publication Number Publication Date
JP2009538046A JP2009538046A (en) 2009-10-29
JP4926242B2 true JP4926242B2 (en) 2012-05-09

Family

ID=38723801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009511037A Expired - Fee Related JP4926242B2 (en) 2006-05-18 2007-05-15 Functionally redundant method and system for quality of service

Country Status (8)

Country Link
US (1) US7894509B2 (en)
EP (1) EP2030386B1 (en)
JP (1) JP4926242B2 (en)
KR (1) KR100989484B1 (en)
CN (1) CN101449532B (en)
CA (1) CA2652638C (en)
TW (1) TWI356615B (en)
WO (1) WO2007136625A2 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8064464B2 (en) * 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7565261B2 (en) * 2006-09-29 2009-07-21 Hewlett-Packard Development Company, L.P. Generating an alert to indicate stale data
US8195118B2 (en) 2008-07-15 2012-06-05 Linear Signal, Inc. Apparatus, system, and method for integrated phase shifting and amplitude control of phased array signals
US8872719B2 (en) 2009-11-09 2014-10-28 Linear Signal, Inc. Apparatus, system, and method for integrated modular phased array tile configuration
US8856364B2 (en) * 2011-03-11 2014-10-07 Google Inc. Conducting opportunistic network updates on a mobile device
EP2533152A1 (en) * 2011-06-08 2012-12-12 Astrium Ltd. Command and control system integrated with network management
MX350537B (en) 2012-06-12 2017-09-08 Sensity Systems Inc Lighting infrastructure and revenue model.
EP2870794A4 (en) * 2012-07-05 2016-04-06 Optis Cellular Technology Llc Method for managing a queue based on a change rate parameter
US9582671B2 (en) 2014-03-06 2017-02-28 Sensity Systems Inc. Security and data privacy for lighting sensory networks
CN103687200A (en) 2012-09-12 2014-03-26 赛西蒂系统股份有限公司 Networked lighting infrastructure for sensing applications
US9456293B2 (en) * 2013-03-26 2016-09-27 Sensity Systems Inc. Sensor nodes with multicast transmissions in lighting sensory network
US9933297B2 (en) 2013-03-26 2018-04-03 Sensity Systems Inc. System and method for planning and monitoring a light sensory network
EP2854442B1 (en) * 2013-09-25 2017-12-20 ABB Research Ltd. Transmitting data packets in an industrial wireless network
US9746370B2 (en) 2014-02-26 2017-08-29 Sensity Systems Inc. Method and apparatus for measuring illumination characteristics of a luminaire
US10417570B2 (en) 2014-03-06 2019-09-17 Verizon Patent And Licensing Inc. Systems and methods for probabilistic semantic sensing in a sensory network
US10362112B2 (en) 2014-03-06 2019-07-23 Verizon Patent And Licensing Inc. Application environment for lighting sensory networks
US9836047B2 (en) 2015-06-10 2017-12-05 Kespry, Inc. Aerial vehicle data communication system
US20180287943A1 (en) * 2017-03-31 2018-10-04 Microsoft Technology Licensing, Llc Combining Multiple Data Streams at a Receiver for QoS Balance in Asymmetric Communications
CN111935497B (en) * 2020-09-18 2021-01-12 武汉中科通达高新技术股份有限公司 Video stream management method and data server for traffic police system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0319545A (en) * 1989-06-16 1991-01-28 Nec Corp Packet transmission system
WO1999022494A1 (en) * 1997-10-24 1999-05-06 Fujitsu Ten Limited Communication gateway

Family Cites Families (259)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK0788693T3 (en) 1992-10-05 2000-06-05 Nokia Networks Oy Method of connecting local networks or network segments and a bridge to local networks
US5655140A (en) 1994-07-22 1997-08-05 Network Peripherals Apparatus for translating frames of data transferred between heterogeneous local area networks
US5627970A (en) 1994-08-08 1997-05-06 Lucent Technologies Inc. Methods and apparatus for achieving and maintaining optimum transmission rates and preventing data loss in a processing system nework
US5559999A (en) 1994-09-09 1996-09-24 Lsi Logic Corporation MPEG decoding system including tag list for associating presentation time stamps with encoded data units
US5664091A (en) * 1995-08-31 1997-09-02 Ncr Corporation Method and system for a voiding unnecessary retransmissions using a selective rejection data link protocol
US5844600A (en) 1995-09-15 1998-12-01 General Datacomm, Inc. Methods, apparatus, and systems for transporting multimedia conference data streams through a transport network
US5960035A (en) 1995-09-29 1999-09-28 Motorola Inc. Method and apparatus for load balancing for a processor operated data communications device
US6507864B1 (en) 1996-08-02 2003-01-14 Symbol Technologies, Inc. Client-server software for controlling data collection device from host computer
US6091725A (en) 1995-12-29 2000-07-18 Cisco Systems, Inc. Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network
US6301527B1 (en) 1996-04-03 2001-10-09 General Electric Company Utilities communications architecture compliant power management control system
US5949758A (en) 1996-06-27 1999-09-07 International Business Machines Corporation Bandwidth reservation for multiple file transfer in a high speed communication network
US6205486B1 (en) 1996-07-26 2001-03-20 Accton Technology Corporation Inter-network bridge connector provided for dynamically prioritizing frame transmission adaptive to current network transmission-state
US6067557A (en) 1996-09-06 2000-05-23 Cabletron Systems, Inc. Method and system for allocating CPU bandwidth by prioritizing competing processes
US6072781A (en) * 1996-10-22 2000-06-06 International Business Machines Corporation Multi-tasking adapter for parallel network applications
US6075770A (en) 1996-11-20 2000-06-13 Industrial Technology Research Institute Power spectrum-based connection admission control for ATM networks
JP3213697B2 (en) 1997-01-14 2001-10-02 株式会社ディジタル・ビジョン・ラボラトリーズ Relay node system and relay control method in the relay node system
US6404776B1 (en) 1997-03-13 2002-06-11 8 × 8, Inc. Data processor having controlled scalable input data source and method thereof
US6028843A (en) 1997-03-25 2000-02-22 International Business Machines Corporation Earliest deadline first communications cell scheduler and scheduling method for transmitting earliest deadline cells first
US6192406B1 (en) * 1997-06-13 2001-02-20 At&T Corp. Startup management system and method for networks
US6078565A (en) 1997-06-20 2000-06-20 Digital Equipment Corporation Method and apparatus to expand an on chip FIFO into local memory
US6181711B1 (en) 1997-06-26 2001-01-30 Cisco Systems, Inc. System and method for transporting a compressed video and data bit stream over a communication channel
US6937566B1 (en) 1997-07-25 2005-08-30 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic quality of service reservation in a mobile communications network
US6343085B1 (en) 1997-08-28 2002-01-29 Microsoft Corporation Adaptive bandwidth throttling for individual virtual services supported on a network server
WO1999013676A2 (en) 1997-09-12 1999-03-18 Williams Wireless, Inc. Wide area telemetry network
US6044419A (en) 1997-09-30 2000-03-28 Intel Corporation Memory handling system that backfills dual-port buffer from overflow buffer when dual-port buffer is no longer full
US6407998B1 (en) 1997-10-02 2002-06-18 Thomson Licensing S.A. Multimedia decoder for prioritized bi-directional communication in a broadcast system
US6363411B1 (en) 1998-08-05 2002-03-26 Mci Worldcom, Inc. Intelligent network
US6233248B1 (en) 1997-10-14 2001-05-15 Itt Manufacturing Enterprises, Inc. User data protocol for internet data communications
US6170075B1 (en) 1997-12-18 2001-01-02 3Com Corporation Data and real-time media communication over a lossy network
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
JP3448481B2 (en) 1998-03-05 2003-09-22 Kddi株式会社 TCP communication speed-up device for asymmetric line
EP1062559A2 (en) 1998-03-12 2000-12-27 DMW Worldwide, Inc. Operational system for operating on client defined rules
US6560592B1 (en) 1998-03-19 2003-05-06 Micro Data Base Systems, Inc. Multi-model computer database storage system with integrated rule engine
US6236656B1 (en) 1998-03-19 2001-05-22 Telefonaktiebolaget Lm Ericsson (Publ) Link-efficiency based scheduling in radio data communications systems
US6947943B2 (en) 2001-10-26 2005-09-20 Zeosoft Technology Group, Inc. System for development, management and operation of distributed clients and servers
US6247058B1 (en) * 1998-03-30 2001-06-12 Hewlett-Packard Company Method and apparatus for processing network packets using time stamps
US6279035B1 (en) 1998-04-10 2001-08-21 Nortel Networks Limited Optimizing flow detection and reducing control plane processing in a multi-protocol over ATM (MPOA) system
US6625135B1 (en) 1998-05-11 2003-09-23 Cargenie Mellon University Method and apparatus for incorporating environmental information for mobile communications
US6154778A (en) 1998-05-19 2000-11-28 Hewlett-Packard Company Utility-based multi-category quality-of-service negotiation in distributed systems
US6397259B1 (en) 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6343318B1 (en) 1998-05-29 2002-01-29 Palm, Inc. Method and apparatus for communicating information over low bandwidth communications networks
US6590588B2 (en) 1998-05-29 2003-07-08 Palm, Inc. Wireless, radio-frequency communications using a handheld computer
US6157955A (en) 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
IL134616A (en) 1998-06-19 2004-05-12 Juniper Networks Inc Device for performing ip forwarding and atm switching
US6952416B1 (en) 1998-06-22 2005-10-04 Nortel Networks Limited Treatments in a distributed communications system
US6625650B2 (en) 1998-06-27 2003-09-23 Intel Corporation System for multi-layer broadband provisioning in computer networks
US6862622B2 (en) 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
US6640248B1 (en) 1998-07-10 2003-10-28 Malibu Networks, Inc. Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer
US6680922B1 (en) 1998-07-10 2004-01-20 Malibu Networks, Inc. Method for the recognition and operation of virtual private networks (VPNs) over a wireless point to multi-point (PtMP) transmission system
WO2000008824A1 (en) 1998-08-04 2000-02-17 At & T Corp. A method for providing privacy by network address translation
US6618385B1 (en) 1998-09-23 2003-09-09 Cirrus Logic, Inc. High performance, high bandwidth, and adaptive local area network communications
US6563517B1 (en) 1998-10-02 2003-05-13 International Business Machines Corp. Automatic data quality adjustment to reduce response time in browsing
US6421335B1 (en) 1998-10-26 2002-07-16 Nokia Telecommunications, Oy CDMA communication system and method using priority-based SIMA quality of service class
US6819655B1 (en) 1998-11-09 2004-11-16 Applied Digital Access, Inc. System and method of analyzing network protocols
US6614781B1 (en) 1998-11-20 2003-09-02 Level 3 Communications, Inc. Voice over data telecommunications network architecture
US6490249B1 (en) 1998-12-01 2002-12-03 Nortel Networks Limited Adaptive connection admission control scheme for packet networks
US6643260B1 (en) 1998-12-18 2003-11-04 Cisco Technology, Inc. Method and apparatus for implementing a quality of service policy in a data communications network
US6691168B1 (en) 1998-12-31 2004-02-10 Pmc-Sierra Method and apparatus for high-speed network rule processing
EP1142213B1 (en) 1999-01-08 2005-11-23 Nortel Networks Limited Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US6856627B2 (en) 1999-01-15 2005-02-15 Cisco Technology, Inc. Method for routing information over a network
US6912221B1 (en) 1999-01-15 2005-06-28 Cisco Technology, Inc. Method of providing network services
US6498782B1 (en) 1999-02-03 2002-12-24 International Business Machines Corporation Communications methods and gigabit ethernet communications adapter providing quality of service and receiver connection speed differentiation
US6993027B1 (en) 1999-03-17 2006-01-31 Broadcom Corporation Method for sending a switch indicator to avoid out-of-ordering of frames in a network switch
US7184441B1 (en) * 1999-03-17 2007-02-27 Broadcom Corporation Network switch stacking configuration
US6600744B1 (en) 1999-03-23 2003-07-29 Alcatel Canada Inc. Method and apparatus for packet classification in a data communication system
US6950441B1 (en) 1999-03-30 2005-09-27 Sonus Networks, Inc. System and method to internetwork telecommunication networks of different protocols
US6584466B1 (en) 1999-04-07 2003-06-24 Critical Path, Inc. Internet document management system and methods
US6438603B1 (en) 1999-04-30 2002-08-20 Microsoft Corporation Methods and protocol for simultaneous tuning of reliable and non-reliable channels of a single network communication link
US6587875B1 (en) 1999-04-30 2003-07-01 Microsoft Corporation Network protocol and associated methods for optimizing use of available bandwidth
US6700871B1 (en) * 1999-05-04 2004-03-02 3Com Corporation Increased throughput across data network interface by dropping redundant packets
US6519225B1 (en) 1999-05-14 2003-02-11 Nortel Networks Limited Backpressure mechanism for a network device
SE522068C2 (en) 1999-07-15 2004-01-13 Ericsson Telefon Ab L M Method and apparatus for providing radio access carrier services
US20030195983A1 (en) 1999-05-24 2003-10-16 Krause Michael R. Network congestion management using aggressive timers
US6542593B1 (en) 1999-06-02 2003-04-01 Accenture Llp Rules database server in a hybrid communication system architecture
US6591301B1 (en) 1999-06-07 2003-07-08 Nortel Networks Limited Methods and systems for controlling network gatekeeper message processing
US6907243B1 (en) 1999-06-09 2005-06-14 Cisco Technology, Inc. Method and system for dynamic soft handoff resource allocation in a wireless network
US6628654B1 (en) 1999-07-01 2003-09-30 Cisco Technology, Inc. Dispatching packets from a forwarding agent using tag switching
US6819681B1 (en) 1999-08-06 2004-11-16 Shrikumar Hariharasubrahmanian Systems and methods for predicting data fields in layered protocols
US6715145B1 (en) 1999-08-31 2004-03-30 Accenture Llp Processing pipeline in a base services pattern environment
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
US6807648B1 (en) 1999-09-13 2004-10-19 Verizon Laboratories Inc. Variable-strength error correction in ad-hoc networks
US6598034B1 (en) 1999-09-21 2003-07-22 Infineon Technologies North America Corp. Rule based IP data processing
US6934795B2 (en) 1999-09-23 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with programmable word width and programmable priority
JP3583667B2 (en) 1999-09-30 2004-11-04 株式会社東芝 Wireless terminal device, data transfer method, and control information notification method
US6882642B1 (en) 1999-10-14 2005-04-19 Nokia, Inc. Method and apparatus for input rate regulation associated with a packet processing pipeline
US6934250B1 (en) 1999-10-14 2005-08-23 Nokia, Inc. Method and apparatus for an output packet organizer
US6687698B1 (en) 1999-10-18 2004-02-03 Fisher Rosemount Systems, Inc. Accessing and updating a configuration database from distributed physical locations within a process control system
US6820117B1 (en) 1999-10-18 2004-11-16 Sun Microsystems, Inc. Bandwidth management
AU2752201A (en) 1999-11-08 2001-06-06 Megaxess, Inc. Quality of service (qos) negotiation procedure for multi-transport protocol access for supporting multi-media applications with qos assurance
US6778530B1 (en) 1999-11-08 2004-08-17 Juniper Networks, Inc. Method and apparatus for multiple field matching in network device
US6650902B1 (en) 1999-11-15 2003-11-18 Lucent Technologies Inc. Method and apparatus for wireless telecommunications system that provides location-based information delivery to a wireless mobile unit
US7149222B2 (en) 1999-12-21 2006-12-12 Converged Access, Inc. Integrated access point network device
US6854009B1 (en) 1999-12-22 2005-02-08 Tacit Networks, Inc. Networked computer system
US6952824B1 (en) 1999-12-30 2005-10-04 Intel Corporation Multi-threaded sequenced receive for fast network port stream of packets
US6557053B1 (en) 2000-01-04 2003-04-29 International Business Machines Corporation Queue manager for a buffer
JP3732989B2 (en) 2000-01-12 2006-01-11 富士通株式会社 Packet switch device and scheduling control method
US20020062395A1 (en) 2000-01-21 2002-05-23 David Thompson Browser and network optimization systems and methods
US6496520B1 (en) * 2000-01-21 2002-12-17 Broadcloud Communications, Inc. Wireless network system and method
US6873600B1 (en) 2000-02-04 2005-03-29 At&T Corp. Consistent sampling for network traffic measurement
US6778546B1 (en) 2000-02-14 2004-08-17 Cisco Technology, Inc. High-speed hardware implementation of MDRR algorithm over a large number of queues
CA2401653A1 (en) 2000-02-24 2001-08-30 Findbase, L.L.C. Method and system for extracting, analyzing, storing, comparing and reporting on data stored in web and/or other network repositories and apparatus to detect, prevent and obfuscate information removal from information servers
US6934752B1 (en) 2000-03-23 2005-08-23 Sharewave, Inc. Quality of service extensions for multimedia applications in wireless computer networks
US6760309B1 (en) 2000-03-28 2004-07-06 3Com Corporation Method of dynamic prioritization of time sensitive packets over a packet based network
US6687735B1 (en) 2000-05-30 2004-02-03 Tranceive Technologies, Inc. Method and apparatus for balancing distributed applications
US6772223B1 (en) 2000-04-10 2004-08-03 International Business Machines Corporation Configurable classification interface for networking devices supporting multiple action packet handling rules
US6862265B1 (en) 2000-04-13 2005-03-01 Advanced Micro Devices, Inc. Weighted fair queuing approximation in a network switch using weighted round robin and token bucket filter
US6940808B1 (en) 2000-04-13 2005-09-06 Nortel Networks Limited Adaptive rate traffic recovery mechanism for communication networks
US6904014B1 (en) 2000-04-27 2005-06-07 Cisco Technology, Inc. Method and apparatus for performing high-speed traffic shaping
US6556982B1 (en) 2000-04-28 2003-04-29 Bwxt Y-12, Llc Method and system for analyzing and classifying electronic information
US6854069B2 (en) 2000-05-02 2005-02-08 Sun Microsystems Inc. Method and system for achieving high availability in a networked computer system
US20020009060A1 (en) 2000-05-05 2002-01-24 Todd Gross Satellite transceiver card for bandwidth on demand applications
US6922724B1 (en) 2000-05-08 2005-07-26 Citrix Systems, Inc. Method and apparatus for managing server load
US6993044B2 (en) 2000-05-19 2006-01-31 Scientific-Atlanta, Inc. Computerized method for allocating access across a shared communication medium
US6937561B2 (en) 2000-06-02 2005-08-30 Agere Systems Inc. Method and apparatus for guaranteeing data transfer rates and enforcing conformance with traffic profiles in a packet network
EP1162797B1 (en) 2000-06-09 2010-12-08 Broadcom Corporation Flexible header protocol for network switch
US7032031B2 (en) 2000-06-23 2006-04-18 Cloudshield Technologies, Inc. Edge adapter apparatus and method
US6832239B1 (en) 2000-07-07 2004-12-14 International Business Machines Corporation Systems for managing network resources
US7213077B2 (en) 2000-07-21 2007-05-01 Hughes Network Systems, Inc. Method and system for providing buffer management in a performance enhancing proxy architecture
US6910074B1 (en) 2000-07-24 2005-06-21 Nortel Networks Limited System and method for service session management in an IP centric distributed network
US6671732B1 (en) 2000-07-24 2003-12-30 Comverse Ltd. Method and apparatus for control of content based rich media streaming
US6904054B1 (en) 2000-08-10 2005-06-07 Verizon Communications Inc. Support for quality of service and vertical services in digital subscriber line domain
US6845100B1 (en) 2000-08-28 2005-01-18 Nokia Mobile Phones Ltd. Basic QoS mechanisms for wireless transmission of IP traffic
US6728749B1 (en) 2000-09-05 2004-04-27 The United States Of America As Represented By The Secretary Of The Army Adaptive scheduling technique for mission critical systems
US6865153B1 (en) 2000-09-20 2005-03-08 Alcatel Stage-implemented QoS shaping for data communication switch
US6822940B1 (en) 2000-09-29 2004-11-23 Cisco Technology, Inc. Method and apparatus for adapting enforcement of network quality of service policies based on feedback about network conditions
US6832118B1 (en) 2000-09-29 2004-12-14 Rockwell Automation Technologies, Inc. Programmable network control component and system of components
EP1193938A1 (en) 2000-09-29 2002-04-03 Telefonaktiebolaget L M Ericsson (Publ) Method and system for transmitting data
DE60045624D1 (en) 2000-10-03 2011-03-24 Gos Networks Ltd PACKET SEQUENCE CONTROL
US7023851B2 (en) 2000-10-12 2006-04-04 Signafor, Inc. Advanced switching mechanism for providing high-speed communications with high Quality of Service
US20020191253A1 (en) 2000-10-26 2002-12-19 Dah Yang Toy Industrial Co., Ltd. Method and apparatus for remote control
US6640184B1 (en) 2000-11-10 2003-10-28 Motorola, Inc. Method and apparatus for providing location information
US6888806B1 (en) 2000-11-22 2005-05-03 Motorola, Inc. Method and system for scheduling packets for transmission from a wireless communication platform
US6741562B1 (en) 2000-12-15 2004-05-25 Tellabs San Jose, Inc. Apparatus and methods for managing packets in a broadband data stream
US6947996B2 (en) 2001-01-29 2005-09-20 Seabridge, Ltd. Method and system for traffic control
US6671589B2 (en) 2001-02-13 2003-12-30 William Holst Method and apparatus to support remote and automatically initiated data loading and data acquisition of airborne computers using a wireless spread spectrum aircraft data services link
US6952407B2 (en) 2001-02-22 2005-10-04 Snowshore Networks, Inc. Minimizing latency with content-based adaptive buffering
US6778834B2 (en) 2001-02-27 2004-08-17 Nokia Corporation Push content filtering
US6947378B2 (en) 2001-02-28 2005-09-20 Mitsubishi Electric Research Labs, Inc. Dynamic network resource allocation using multimedia content features and traffic features
US7042843B2 (en) 2001-03-02 2006-05-09 Broadcom Corporation Algorithm for time based queuing in network traffic engineering
US6459687B1 (en) 2001-03-05 2002-10-01 Ensemble Communications, Inc. Method and apparatus for implementing a MAC coprocessor in a communication system
US6928085B2 (en) 2001-03-12 2005-08-09 Telefonaktiebolaget L M Ericsson (Publ) System and method for providing quality of service and contention resolution in ad-hoc communication systems
EP1386432A4 (en) 2001-03-21 2009-07-15 John A Stine An access and routing protocol for ad hoc networks using synchronous collision resolution and node state dissemination
US6957258B2 (en) 2001-03-28 2005-10-18 Netrake Corporation Policy gateway
US6914882B2 (en) 2001-03-30 2005-07-05 Nokia, Inc. Method and apparatus for improved queuing
US6944168B2 (en) 2001-05-04 2005-09-13 Slt Logic Llc System and method for providing transformation of multi-protocol packets in a data stream
US6928471B2 (en) 2001-05-07 2005-08-09 Quest Software, Inc. Method and apparatus for measurement, analysis, and optimization of content delivery
US20020188871A1 (en) 2001-06-12 2002-12-12 Corrent Corporation System and method for managing security packet processing
US7095715B2 (en) 2001-07-02 2006-08-22 3Com Corporation System and method for processing network packet flows
US6732228B1 (en) 2001-07-19 2004-05-04 Network Elements, Inc. Multi-protocol data classification using on-chip CAM
US20030016625A1 (en) 2001-07-23 2003-01-23 Anees Narsinh Preclassifying traffic during periods of oversubscription
US6912231B2 (en) 2001-07-26 2005-06-28 Northrop Grumman Corporation Multi-broadcast bandwidth control system
US6937154B2 (en) 2001-08-21 2005-08-30 Tabula Rasa, Inc. Method and apparatus for facilitating personal attention via wireless links
US6891842B2 (en) 2001-09-21 2005-05-10 Nokia Corporation System and method for enabling mobile edge services
US7218610B2 (en) 2001-09-27 2007-05-15 Eg Technology, Inc. Communication system and techniques for transmission from source to destination
EP1300991A1 (en) 2001-10-02 2003-04-09 Lucent Technologies Inc. A method for filtering redundant data packets
CN1565143A (en) 2001-10-04 2005-01-12 西门子公司 Distributed transmission of traffic flows in communication networks
US20030158963A1 (en) 2002-02-20 2003-08-21 Sturdy James T. Smartbridge for tactical network routing applications
US7200144B2 (en) 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
JP2003152544A (en) 2001-11-12 2003-05-23 Sony Corp Data communication system, data transmitter, data receiver, data-receiving method and computer program
US20030131079A1 (en) 2001-11-13 2003-07-10 Ems Technologies, Inc. Performance enhancing proxy techniques for internet protocol traffic
JP3726741B2 (en) 2001-11-16 2005-12-14 日本電気株式会社 Packet transfer apparatus, method and program
US7224703B2 (en) 2001-12-12 2007-05-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for segmenting a data packet
US20050021806A1 (en) 2001-12-15 2005-01-27 Richardson John William System and method for delivering data streams of multiple data types at diffferent priority levels
US7106757B2 (en) * 2001-12-19 2006-09-12 Intel Corporation System and method for streaming multimedia over packet networks
DE10200165A1 (en) 2002-01-04 2003-07-10 Klaus Rock Method for reducing the latency in interactive data communication via a satellite network
US6633835B1 (en) 2002-01-10 2003-10-14 Networks Associates Technology, Inc. Prioritized data capture, classification and filtering in a network monitoring environment
US7149898B2 (en) 2002-01-14 2006-12-12 Sun Microsystems, Inc. Self-monitoring and trending service system with a cascaded pipeline with enhanced authentication and registration
US7359321B1 (en) * 2002-01-17 2008-04-15 Juniper Networks, Inc. Systems and methods for selectively performing explicit congestion notification
DE60203779T2 (en) 2002-01-23 2006-03-09 Sony International (Europe) Gmbh A method for transmitting end-to-end QoS using the end-to-end negotiation protocol (E2ENP)
US6892309B2 (en) 2002-02-08 2005-05-10 Enterasys Networks, Inc. Controlling usage of network resources by a user at the user's entry point to a communications network based on an identity of the user
US7260102B2 (en) 2002-02-22 2007-08-21 Nortel Networks Limited Traffic switching using multi-dimensional packet classification
AU2003220679A1 (en) 2002-04-09 2003-10-27 Next Generation Systems, Inc. Systems and methods for providing qos environment ____________
US6879590B2 (en) 2002-04-26 2005-04-12 Valo, Inc. Methods, apparatuses and systems facilitating aggregation of physical links into logical link
US7852796B2 (en) 2002-05-13 2010-12-14 Xudong Wang Distributed multichannel wireless communication
GB0211286D0 (en) 2002-05-16 2002-06-26 Nokia Corp Routing data packets through a wireless network
US6839731B2 (en) 2002-05-20 2005-01-04 Vigilos, Inc. System and method for providing data communication in a device network
US7289498B2 (en) 2002-06-04 2007-10-30 Lucent Technologies Inc. Classifying and distributing traffic at a network node
US6901484B2 (en) 2002-06-05 2005-05-31 International Business Machines Corporation Storage-assisted quality of service (QoS)
US6888807B2 (en) 2002-06-10 2005-05-03 Ipr Licensing, Inc. Applying session services based on packet flows
US7272144B2 (en) 2002-06-26 2007-09-18 Arris International, Inc. Method and apparatus for queuing data flows
US7337236B2 (en) 2002-07-02 2008-02-26 International Business Machines Corporation Application prioritization in a stateless protocol
DE10233954B4 (en) 2002-07-25 2008-02-28 Nokia Siemens Networks Gmbh & Co.Kg Method, communication arrangement and communication device for transmitting data cells via a packet-oriented communication network
EP1525690B1 (en) 2002-08-02 2012-07-18 NMS Communications Methods and apparatus for network signal aggregation and bandwidth reduction
US7274730B2 (en) 2002-08-26 2007-09-25 Hitachi Kokusai Electric Inc. QoS control method for transmission data for radio transmitter and radio receiver using the method
WO2004023323A1 (en) 2002-09-03 2004-03-18 Thomson Licensing S.A. Mechanism for providing quality of service in a network utilizing priority and reserved bandwidth protocols
US6826627B2 (en) 2002-09-03 2004-11-30 Burnbag, Ltd. Data transformation architecture
US6904058B2 (en) 2002-09-20 2005-06-07 Intel Corporation Transmitting data over a general packet radio service wireless network
US7321591B2 (en) 2002-09-24 2008-01-22 Efficient Networks, Inc. Methods and systems for providing differentiated quality of service in a communications system
SE0203104D0 (en) 2002-10-18 2002-10-18 Ericsson Telefon Ab L M Method and apparatus for network initiated rate control for P2C services in a mobile system
US7433307B2 (en) 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
EP1427210B1 (en) 2002-12-04 2006-08-16 Irdeto Access B.V. Terminal, data distribution system comprising such a terminal and method of re-transmitting digital data
US7792121B2 (en) 2003-01-03 2010-09-07 Microsoft Corporation Frame protocol and scheduling system
US6940832B2 (en) 2003-01-17 2005-09-06 The Research Foundation Of The City University Of New York Routing method for mobile infrastructureless network
US6940813B2 (en) 2003-02-05 2005-09-06 Nokia Corporation System and method for facilitating end-to-end quality of service in message transmissions employing message queues
US7577161B2 (en) 2003-02-26 2009-08-18 Alcatel-Lucent Usa Inc. Class-based bandwidth allocation and admission control for virtual private networks with differentiated service
US6937591B2 (en) 2003-02-27 2005-08-30 Microsoft Corporation Quality of service differentiation in wireless networks
US7555559B2 (en) 2003-02-28 2009-06-30 Onion Networks, KK Parallel data transfer over multiple channels with data order prioritization
US6912198B2 (en) 2003-03-26 2005-06-28 Sony Corporation Performance of data transmission using adaptive technique
AU2004229975A1 (en) 2003-03-31 2004-10-28 General Dynamics-C4 Systems, Inc. Call admission control/session management based on N source to destination severity levels for IP networks
US20040210663A1 (en) 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
US7349400B2 (en) 2003-04-29 2008-03-25 Narus, Inc. Method and system for transport protocol reconstruction and timer synchronization for non-intrusive capturing and analysis of packets on a high-speed distributed network
US7573906B2 (en) 2003-05-15 2009-08-11 At&T Intellectual Property I, L.P. Methods, computer program products, and systems for managing quality of service in a communication network for applications
US8521889B2 (en) 2003-05-15 2013-08-27 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for modifying bandwidth and/or quality of service for a user session in a network
US7349422B2 (en) 2003-06-03 2008-03-25 Microsoft Corporation Providing contention free quality of service to time constrained data
US7436789B2 (en) 2003-10-09 2008-10-14 Sarnoff Corporation Ad Hoc wireless node and network
US7408932B2 (en) 2003-10-20 2008-08-05 Intel Corporation Method and apparatus for two-stage packet classification using most specific filter matching and transport level sharing
KR100590772B1 (en) 2003-12-26 2006-06-15 한국전자통신연구원 Apparatus and method of media access control processor for guaranteeing quality of service in wireless LAN
DE602004030487D1 (en) 2004-01-30 2011-01-20 Ericsson Telefon Ab L M Package flow control for data stream transmission
EP1575224A1 (en) 2004-03-09 2005-09-14 Matsushita Electric Industrial Co., Ltd. Packet output-controlling device
US7508815B2 (en) 2004-03-31 2009-03-24 Acterna Llc Method and system for facilitating network troubleshooting
US20050220115A1 (en) 2004-04-06 2005-10-06 David Romano Method and apparatus for scheduling packets
US20050232153A1 (en) 2004-04-16 2005-10-20 Vieo, Inc. Method and system for application-aware network quality of service
ATE383048T1 (en) 2004-06-15 2008-01-15 Matsushita Electric Ind Co Ltd PRIORITY BASED TREATMENT OF DATA TRANSFERS
US20050281277A1 (en) 2004-06-22 2005-12-22 Killian Thomas J Establishing traffic priorities in a voice over IP network
WO2006001155A1 (en) 2004-06-25 2006-01-05 Aruze Corp. Hanging scroll support device
US20080144493A1 (en) 2004-06-30 2008-06-19 Chi-Hsiang Yeh Method of interference management for interference/collision prevention/avoidance and spatial reuse enhancement
KR20070045282A (en) 2004-07-23 2007-05-02 사이트릭스 시스템스, 인크. Systems and methods for optimizing communications between network nodes
US7315963B2 (en) 2004-08-10 2008-01-01 International Business Machines Corporation System and method for detecting errors in a network
US7545788B2 (en) 2004-08-20 2009-06-09 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for modifying bandwidth and/or quality of service in a core network
US7545815B2 (en) 2004-10-18 2009-06-09 At&T Intellectual Property Ii, L.P. Queueing technique for multiple sources and multiple priorities
US7543072B1 (en) 2004-11-03 2009-06-02 Stampede Technologies, Inc. Method and system capable of performing a data stream over multiple TCP connections or concurrent interleave of multiple data streams over multiple TCP connections
US7440453B2 (en) 2004-11-12 2008-10-21 International Business Machines Corporation Determining availability of a destination for computer network communications
US8458467B2 (en) 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
KR100594993B1 (en) 2004-11-17 2006-07-03 삼성전기주식회사 Method for discovery reply packet transmission in communication network
US8023408B2 (en) 2004-11-19 2011-09-20 International Business Machines Corporation Dynamically changing message priority or message sequence number
US20060140193A1 (en) 2004-12-29 2006-06-29 Nokia Corporation Optimization of a TCP connection
WO2006071155A1 (en) 2004-12-29 2006-07-06 Telefonaktiebolaget Lm Ericsson (Publ) Priority bearers in a mobile telecommunication network
US20060149845A1 (en) 2004-12-30 2006-07-06 Xinnia Technology, Llc Managed quality of service for users and applications over shared networks
WO2007084147A2 (en) 2005-02-02 2007-07-26 Raytheon Company System for situational awareness
US7471689B1 (en) 2005-04-22 2008-12-30 Sun Microsystems, Inc. Method and apparatus for managing and accounting for bandwidth utilization within a computing system
US7499457B1 (en) 2005-04-22 2009-03-03 Sun Microsystems, Inc. Method and apparatus for enforcing packet destination specific priority using threads
US7590756B2 (en) 2005-05-13 2009-09-15 Itt Manufacturing Enterprises, Inc. Method and system for transferring data in a communications network using redundant communication paths
CA2611160A1 (en) 2005-06-06 2006-12-14 Mobidia, Inc. System and method of controlling a mobile device using a network policy
US20060286993A1 (en) 2005-06-20 2006-12-21 Motorola, Inc. Throttling server communications in a communication network
US7477651B2 (en) * 2005-07-01 2009-01-13 Cisco Technology, Inc. System and method for implementing quality of service in a backhaul communications environment
EP1911222A1 (en) 2005-07-18 2008-04-16 Starent Networks Corporation Method and system for quality of service renegotiation
US8576846B2 (en) 2005-10-05 2013-11-05 Qualcomm Incorporated Peer-to-peer communication in ad hoc wireless network
US7571247B2 (en) 2005-12-12 2009-08-04 International Business Machines Corporation Efficient send socket call handling by a transport layer
US7881199B2 (en) 2006-01-04 2011-02-01 Alcatel Lucent System and method for prioritization of traffic through internet access network
US7924890B2 (en) 2006-02-13 2011-04-12 Cisco Technology, Inc. Apparatus and method for increasing reliability of data sensitive to packet loss
US7929542B2 (en) 2006-03-03 2011-04-19 The Boeing Company Supporting effectiveness of applications in a network environment
US7801129B2 (en) 2006-04-27 2010-09-21 Alcatel-Lucent Usa Inc. Method and apparatus for SIP message prioritization
JP5555488B2 (en) * 2006-05-01 2014-07-23 アダプティブ スペクトラム アンド シグナル アラインメント インコーポレイテッド Method and apparatus for characterizing a communication system by combining data from multiple sources
US20070258445A1 (en) 2006-05-02 2007-11-08 Harris Corporation Systems and methods for protocol filtering for quality of service
US20070258459A1 (en) 2006-05-02 2007-11-08 Harris Corporation Method and system for QOS by proxy
US20070263616A1 (en) 2006-05-15 2007-11-15 Castro Paul C Increasing link capacity via traffic distribution over multiple WI-FI access points
US8516153B2 (en) 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US20070291768A1 (en) 2006-06-16 2007-12-20 Harris Corporation Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS
US20070291767A1 (en) 2006-06-16 2007-12-20 Harris Corporation Systems and methods for a protocol transformation gateway for quality of service
US8064464B2 (en) 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US20070291656A1 (en) 2006-06-16 2007-12-20 Harris Corporation Method and system for outbound content-based QoS
US20070291765A1 (en) 2006-06-20 2007-12-20 Harris Corporation Systems and methods for dynamic mode-driven link management
US8730981B2 (en) * 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US20080013559A1 (en) 2006-07-14 2008-01-17 Smith Donald L Systems and methods for applying back-pressure for sequencing in quality of service
US20080025318A1 (en) 2006-07-31 2008-01-31 Harris Corporation Systems and methods for dynamically customizable quality of service on the edge of a network
US8300653B2 (en) 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US20100241759A1 (en) 2006-07-31 2010-09-23 Smith Donald L Systems and methods for sar-capable quality of service
US20100238801A1 (en) 2006-07-31 2010-09-23 Smith Donald L Method and system for stale data detection based quality of service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0319545A (en) * 1989-06-16 1991-01-28 Nec Corp Packet transmission system
WO1999022494A1 (en) * 1997-10-24 1999-05-06 Fujitsu Ten Limited Communication gateway

Also Published As

Publication number Publication date
CN101449532A (en) 2009-06-03
US20070294393A1 (en) 2007-12-20
CA2652638A1 (en) 2007-11-29
CA2652638C (en) 2012-11-27
TW200818775A (en) 2008-04-16
US7894509B2 (en) 2011-02-22
KR20090017611A (en) 2009-02-18
WO2007136625A3 (en) 2008-08-14
EP2030386A2 (en) 2009-03-04
KR100989484B1 (en) 2010-10-22
TWI356615B (en) 2012-01-11
CN101449532B (en) 2012-07-18
EP2030386A4 (en) 2010-09-29
JP2009538046A (en) 2009-10-29
WO2007136625A2 (en) 2007-11-29
EP2030386B1 (en) 2012-07-11

Similar Documents

Publication Publication Date Title
JP4926242B2 (en) Functionally redundant method and system for quality of service
JP5016034B2 (en) Method and system for compression-based QoS
JP4757940B2 (en) Quality of service protocol filtering system and method
JP4871996B2 (en) Service quality protocol conversion gateway system and method
JP5334845B2 (en) QoS rule-type ordering method and system
JP5043941B2 (en) Method and system for detecting data obsolescence based on service quality
JP5016033B2 (en) Content-based differentiation and sequencing for prioritization
JP4814376B2 (en) Method and system for fault tolerant QoS
US7769028B2 (en) Systems and methods for adaptive throughput management for event-driven message-based data
JP4659116B2 (en) Closed queue system and method for supporting quality of service
JP4677500B2 (en) Network-independent QoS method and system
JP2009542048A (en) System and method for general data transparent rules to support quality of service
JP4659117B2 (en) Proxy QoS method and system
JP2012090302A (en) Method and system for inbound content-based qos
JP2009545274A (en) Dynamic customizable quality of service system and method at the edge of a network
JP2009540744A (en) Outbound content-type QoS method and system
JP2009544194A (en) System and method for applying back pressure for ordering in quality of service

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110704

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111201

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111209

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: 20120124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120207

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

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees