KR20010020340A - Predictive bandwidth allocation method and apparatus - Google Patents

Predictive bandwidth allocation method and apparatus Download PDF

Info

Publication number
KR20010020340A
KR20010020340A KR1019997009956A KR19997009956A KR20010020340A KR 20010020340 A KR20010020340 A KR 20010020340A KR 1019997009956 A KR1019997009956 A KR 1019997009956A KR 19997009956 A KR19997009956 A KR 19997009956A KR 20010020340 A KR20010020340 A KR 20010020340A
Authority
KR
South Korea
Prior art keywords
data
stream
packet
bandwidth
packets
Prior art date
Application number
KR1019997009956A
Other languages
Korean (ko)
Inventor
미카미유키히로
스펠데이비드
로널드데이브
래이에이제이
엘리스데일
Original Assignee
야스카와 히데아키
세이코 엡슨 가부시키가이샤
데일 엘리스
턴키 솔루션즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 야스카와 히데아키, 세이코 엡슨 가부시키가이샤, 데일 엘리스, 턴키 솔루션즈 코포레이션 filed Critical 야스카와 히데아키
Publication of KR20010020340A publication Critical patent/KR20010020340A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00572Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium
    • G11B20/00586Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium said format change concerning the physical format of the recording medium
    • G11B20/00594Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium said format change concerning the physical format of the recording medium wherein the shape of recording marks is altered, e.g. the depth, width, or length of pits

Abstract

상기 통신 시스템들의 대역폭의 배분이 예측적 방법으로 제공되는 것이 바람직하다. 패킷들은 특정한 데이터 스트림으로 식별되고, 그 데이터 스트림의 특성은 장래의 대역폭 필요량을 예측하기 위하여 사용된다. 그 예측들은, 그 예측된 필요량에 따라 ISDN의 B 채널들과 같은 광대역폭 채널들을 배분하여, 채널을 종료하거나 변경하기 위해서 사용된다. 그 시스템은 자가학습형이고, 예컨대 실제의 사용 통계에 근거하여 배분 결정들을 행하기위해서 규칙 베이스를 수정할 수가 있는 것이 바람직하다.Preferably, the bandwidth allocation of the communication systems is provided in a predictive manner. Packets are identified with a particular data stream, and the characteristics of that data stream are used to predict future bandwidth requirements. The predictions are used to terminate or change the channel by allocating wideband channels, such as the B channels of the ISDN, according to the expected needs. The system is self-learning and preferably able to modify the rule base to make distribution decisions based on actual usage statistics, for example.

Description

예측 대역폭 배분 방법 및 장치{Predictive bandwidth allocation method and apparatus}Predictive bandwidth allocation method and apparatus

초창기 전기 통신에 있어서, 지금은 POTS(단순한 구식 전화 서비스)로 알려진것에 속하는 서비스하에서 사용자들이 사용가능한 서비스 옵션들이 거의 없었고, 입중계 라인수, 사설 또는 "공동 가입자 라인" 서비스를 선택하고, 더 많은 사용자를 위해 구내 교환기(PBX)를 선택하는데 제한이 있었다. 이와는 대조적으로, 현대의 사용자들은 다양한 서비스들을 선택할 수 있는데 각각의 서비스는, (POTS이외에) ISDN(종합 서비스 디지털 통신망)서비스와, T1 서비스와, 셀룰러 서비스 및 유사한 것들을 포함하여 각각의 서비스는 관련된 장점,단점 및 비용들을 가진다. 전기통신의 이용이 음성통화를 넘어서 확대되어, 텔레(tele) 팩시밀리(facsimile),디지털(또는 음성변조 디지털)신호들(예컨대 네트워크 또는 인터넷 통신에 사용되는) 및 등등을 포함하게됨에 따라 광대역 전기 통신들을 위한 가능성을 제공하는 ISDN 및 T1 과 같은 서비스들은 특히 중요해졌다. 비디오 정보, 디지털 파일전송, 정지화상, 스트리밍 오디오등과 같은 정보 형태의 통신은(종종 시간이 짧다고는 해도)넓은 대역폭을 필요로 한다.In early telecommunications, there were very few service options available to users under services belonging to what is now known as POTS (Simple Old Telephone Service), and the number of incoming lines, private or "joint subscriber line" services, There was a limit to selecting PBXs for users. In contrast, modern users can choose from a variety of services, each of which has associated advantages, including ISDN (in addition to POTS) services, T1 services, cellular services and the like. , Disadvantages and costs. Broadband telecommunications as the use of telecommunications extends beyond voice calls to include tele facsimile, digital (or voice modulated digital) signals (such as those used in network or Internet communications), and the like. Services such as ISDN and T1, which offer the possibility for others, have become particularly important. Communication in the form of information, such as video information, digital file transfers, still pictures, streaming audio, etc., often requires short bandwidths.

그럼에도 불구하고, ISDN 등의 광대역폭 서비스는, 주로 비용(설치비 뿐만이 아니라 접속 요금 및 관세를 포함하여) 때문에 종래의 덜 적당한 상기 통신 서비스들을 대체하지 못해왔다. ISDN 및 그 밖의 광대역폭 선택에 부수하는 비용의 일부는, 다음과 같은 사실로부터 생기고 있다, 즉, 그 그러한 많은 시스템에서 광대역폭 채널이 각 가입자에게 배분되어, 따라서 각 가입자는, 간헐적으로, 비교적 짧은 시간(예컨대, 비교적 큰 파일가 전송될동안)에 걸쳐 그 큰대역폭으로부터 이익을 얻고 사용함에도 불구하고, 장시간동안 대역폭 전체에 대한 비용을 부담해야만 한다는 사실로부터 생기고 있는 것이다. 따라서, 복수의 사용자들에 의해, 하지만 다른 시간대에 필요에 따라 사용되도록 할당되는 대역폭에서 "공동 가입자선"과 대체적으로(그리고 불완전하게) 유사한 시스템들이 제안되어 왔다.Nevertheless, broadband services, such as ISDN, have not been able to replace the conventional less suitable telecommunications services, mainly due to cost (including installation fees as well as access fees and tariffs). Some of the costs associated with ISDN and other bandwidth choices arise from the fact that, in many such systems, broadband channels are allocated to each subscriber, so that each subscriber is intermittently relatively short. Despite the benefit and use of the large bandwidth over time (e.g., while a relatively large file is being transferred), it arises from the fact that it must pay for the entire bandwidth for a long time. Thus, systems have been proposed that are generally (and incompletely) similar to "public subscriber lines" in bandwidth allocated by multiple users, but to be used as needed at other times.

하나의 제안된 시스템은(AO/DI)(Always On/Dynamic ISDN)라고 불리고 있다. AO/DI 시스템에서는, “D” 채널은 연속적으로 이용가능(항상 온(on))하다. 비교적 대역폭이 좁은 D 채널은 사용자에게 있어서는 “홈(home)” 채널로서 도움이 되고, 하나 이상의 B 채널들이 비교적 대량의 전송를 위해(때문에) 사용되고, 불필요하게 되면 닫혀진다. 이러한 시스템으로서는 비용을 복수의 사용자가 공동으로 부담할 수가 있어, 개인 사용자의 비용은 여러가지 방법으로 감소된다. 광대역폭 채널이 쓰이고 있지 않은 시간동안 또는 그 최종(end) 사용자가 채널을 필요로 하고 있지 않은 시간동안 주어진 사용자는 채널의 비용을 부담할 필요가 없다. ISDN 회선들은 공유되기 때문에, 주어진 사용자 그룹에 공급되기위해 감소된 회선이 필요하게 되므로, 장비의 이용과 회선 요금이 감소된다.One proposed system is called Always On / Dynamic ISDN (AO / DI). In AO / DI systems, the “D” channel is continuously available (always on). The relatively narrow bandwidth D channel is helpful to the user as a "home" channel, where one or more B channels are used for a relatively large amount of transmission and are closed when not needed. With such a system, a plurality of users can share the cost, so that the cost of an individual user is reduced in various ways. A given user does not have to pay for the channel during times when the wide bandwidth channel is not in use or during times when the end user does not need the channel. Since ISDN circuits are shared, a reduced circuit is needed to supply a given group of users, thus reducing equipment usage and line charges.

AO/DI 시스템과 관련하여 어떤 프로토콜이 제안되어 있고, 그것들의 프로토콜의 중에는, 다수의 채널의 집성을 가능하게 하는 복수-회선 포인트 투 포인트 프로토콜(multi-link point-to-point protocol(MLPPP))과, MLPPP의 “위에서” 동작하여 채널 개폐의 개시 및 관리를 위한, 판매업자에 상관없는 규격을 제공하는 대역폭 배분 제어 프로토콜(BACP)을 포함하고 있다. 제안된 AO/DI, MLPPP 및 BACP의 해설은, 예컨대, 판매업자의 ISDN 협회(Vendor's ISDN Association (VIA). 이것은 캘리포니아의 비영리법인이고, 그 소재지는, bishop lunch(launch)2,2694 bishop drive, shoot105,(산라몬), CA94583(Bishop Ranch 2, 2694 Bishop Drive, Suite 105,San Ramon,CA 94583)이다)로부터 입수할 수 있는 “상시 사용가능/동적인 ISDN(Always On/Dynamic ISDN)” RFC-1990 및 RFC 2125 각각에서 또는 이것을 인터넷의 http://ftp.via-isdn.org/에서 입수하는 것이 가능하고, 본 명세서에서 참고로 병합되어 있다. 그러나, 이들 3개의 시스템은, 대역폭을 스위치하거나 배분하는 능력을 제공하는 동안, 그와 같은 배분 또는 배분해제를 할 시기를 결정하기위한 시스템을 지시하지 않고, 유효하고 효율 좋은 결정 시스템을 제안하지 않는다.Some protocols have been proposed in the context of AO / DI systems, and among them, a multi-link point-to-point protocol (MLPPP) that enables aggregation of multiple channels. And Bandwidth Allocation Control Protocol (BACP), which operates "on top" of MLPPP to provide vendor-independent specifications for initiating and managing channel switching. Commentary on the proposed AO / DI, MLPPP and BACP is, for example, Vendor's ISDN Association (VIA), a California non-profit corporation whose location is bishop lunch (launch) 2,2694 bishop drive, shoot 105 “Always On / Dynamic ISDN” RFC- available from San Ramon, CA94583 (Bishop Ranch 2, 2694 Bishop Drive, Suite 105, San Ramon, CA 94583). It is possible to obtain it in 1990 and RFC 2125 respectively or from http://ftp.via-isdn.org/ on the Internet, which is incorporated herein by reference. However, these three systems do not dictate a system for determining when to do such distribution or disintegrant, while providing the ability to switch or allocate bandwidth, and do not propose a valid and efficient determination system. .

하나의 실행가능한 접근법은, 처리 큐(que)에 축적되어 있는 통신 패킷(packet)의 수가 소정의 임계치에 도달하였을 때에 광대역폭 채널을 배분하는 큐-심도 시스템이다. 그와 같은 시스템은, 본질적으로, 과거 호수의 고려에 근거한다. 이미 행하여지고 있는 트래픽(traffic)이 혹시 주어진 시간내에 소정량에 달하면, 더 폭이 넓은 대역폭 채널이 배분된다. 이러한 시스템은 어떤 레벨에서 기능하지만, 비용을 낮추고 사용의 편이를 반드시 달성하지 않는다. 실제로, 혹시 대역폭 스위칭 또는 배분이 일어나지 않으면, 부과되는 비용을 증가시키는 큐-심도 시스템이 있다. 예컨대, 파일전송의 종료 직전에 임계치에 달한 경우, 가령 최종 사용자가 추가의 대역폭으로부터 거의 혹 전혀 이익을 얻을 수 있지 않더라도(그 추가의 대역폭이 배분되기 전 또는 그 직후에 파일 전송이 종료하니까) 큐-심도 시스템은 추가의 대역폭(및 통상적으로 비용을 최종 사용자가 피해보도록 한다.)을 배분하고자 한다. 그러한 임계치는 미리 정해지고 고정되기때문에, 단지 다른 임계치를 선택하는 것만으로는 이것들의 문제를 해결할 수 없다. 예컨대, 임계치를 크게하면 상기의 예로서는 무익한 B 채널 배분으로부터 생기는 불필요한 요금을 피할 수 있을지도 모르지만, 다른 특성을 갖는 전송들은(예컨대, 대량이지만 짧은 데이터전송을), 높은 임계치를 가진 시스템으로부터는 이익을 얻을 수 없다.One viable approach is a queue-depth system that allocates a wide bandwidth channel when the number of communication packets accumulated in the processing queue has reached a predetermined threshold. Such a system is, in essence, based on the consideration of past lakes. If the traffic already being reached in a given amount in a given time, a wider bandwidth channel is allocated. These systems function at some level, but do not necessarily lower costs and ease of use. Indeed, there is a queue-depth system that increases the cost charged if no bandwidth switching or allocation occurs. For example, if a threshold is reached just before the end of the file transfer, for example, even if the end user can hardly or never benefit from the additional bandwidth (because the file transfer ends before or immediately after that additional bandwidth is allocated), the queue Depth systems seek to allocate additional bandwidth (and typically end users avoid costs). Since such thresholds are predetermined and fixed, simply selecting different thresholds cannot solve these problems. For example, increasing the threshold may avoid unnecessary charges resulting from useless B channel allocation in the above example, but transmissions with other characteristics (e.g. bulk but short data transfers) will benefit from high threshold systems. Can not.

따라서, 큐-심도 시스템은 효율적인 이용을 위해, 주어진 최종 사용자를 위한 트래픽의 특정 혼합을 수용하도록 임계치가 설정되어야 한다는 것을 요구한다. 그러나 통상의 최종 사용자는 최적의 또는 유용한 임계치를 달성하기 위한 기술도 시간도 가지고 있지 않다. 이렇게, 큐-심도 시스템은, 많은 경우에 비용을 절약하는 목표를 달성할 수 없는 뿐만 아니라, 그것을 실용하는 대해 비교적 많은 관리 비용을 요한다. 더욱이, 큐-심도 시스템은, 융통성이 있지 않고, 데이터 트래픽의 특성의 변화(예컨대, 하루종일 혹 더 장시간에 걸친 트래픽 변화)에 순응할 수 없다. 큐-심도 시스템의 임계치를 조정하기위해서는, 비교적 고도의 기술을 가진 관리자에 의해 상당한 시간을 요구한다. 또한, 큐-심도 시스템은, 주어진 데이터 스트림에서 초기에 대역폭을 배분할 수 없고 (예컨대, 처음의 그저 하나∼4개의 패킷처럼 소수의 패킷직후에 대역폭을 배분하는 것은 할 수 없다), 적어도 충분한 갯수의 패킷이 소정의 큐 임계치에 달할 때까지 기다리지 않으면 안된다.Thus, a queue-depth system requires that a threshold be set to accommodate a particular mix of traffic for a given end user, for efficient use. However, a typical end user has neither the skills nor the time to achieve an optimal or useful threshold. As such, a queue-depth system is not only able to achieve a cost saving goal in many cases, but also requires relatively high administrative costs for practical use. Moreover, queue-depth systems are inflexible and incapable of adapting to changes in the nature of the data traffic (eg, changes in traffic over an entire day or longer period of time). Adjusting the threshold of a queue-depth system requires considerable time by a manager of relatively high skill. In addition, a queue-depth system cannot initially allocate bandwidth in a given data stream (e.g., cannot distribute bandwidth immediately after a few packets, such as just the first one to four packets), and at least a sufficient number of It must wait until the packet reaches a predetermined queue threshold.

따라서, 그러한 시스템을 설치하고 유지하기 위하여 부가적인 시간과 기술을 요구함없이 광대역 상기 통신들을 위한 비용을 줄이도록 대역폭 배분을 실현할 수 있는 시스템을 제공하는 것이 유용하다. 시간에 따라 변하는 트래픽 또는 사용 패턴들을 수용할 수 있는 시스템을 제공하는 것이 또한 유용하다.Thus, it is useful to provide a system that can realize bandwidth allocation to reduce the cost for broadband said communications without requiring additional time and technology to install and maintain such a system. It is also useful to provide a system that can accommodate traffic or usage patterns that change over time.

오직 처음의 소수의 패킷들이 수신된 직후와 같이, 데이터 스트림에서 초기에 대역폭 배분을 결정할 수 있는 시스템을 제공하는 것이 아울러 더 유용하다.It is also more useful to provide a system that can initially determine bandwidth allocation in the data stream, such as only after the first few packets have been received.

광대역 액세스를 제공하는 몇몇 시스템은 최종 사용자들이 중요한 추가 하드웨어 또는 소프트웨어에 투자하도록 하는 것과 같이 최종 사용자들에게 부가적인 짐을 지운다. 따라서, 그러한 시스템이 동작하도록 최종 사용자 위치에서(고객편) 소프트웨어 또는 부가적인 장치의 중요한 설치를 요구함없이 상기 통신할 수 있는 광대역의 효율적 공급과 낮은 비용을 실현하는 시스템을 제공하는 것이 유용하다.Some systems that provide broadband access put additional burden on end users, such as allowing end users to invest in additional critical hardware or software. Thus, it is useful to provide a system that realizes an efficient supply and low cost of the communicable broadband without requiring significant installation of software or additional devices at the end user location (customer side) for the system to operate.

부가적으로, 몇 몇 시스템들은 효율적인 대역폭 분배를 실현하기 위하여 상기 통신 회사들에게 상당한 짐들을 부과한다. 예를 들어, 프로토콜 스택(stack)을 일부 변경하거나 "상주"하기도 하는 시스템을 실현하기 위해서, 판매업자는 그 프로토콜 스택을 인증하도록 요구하고, 그것이 그러한 시스템을 실현하기 위한 판매업자의 비용을 증가시킨다. 상기 통신 시스템들은 다양한 판매업자의 설비 및 소프트웨어를 사용하기 때문에, 판매업자의 설비 및 소프트웨어와의 일정한 레벨에서의 대화에 의존하는 대역폭 배분 처리순서는, 어떤 판매업자가 기본 경로지정 또는 그 밖의 상기통신설비 및 소프트웨어를 공급하는 것인지에 의해, 여러가지의 버전이 협동하는 것을 필요로 하여 (즉, 판매업자 의존이 된다), 필요한 적절한 버전(version)을 선택하는데 따르는 비용과, 다수의 라우터(라우터) 판매업자의 장치 및 소프트웨어와 관련하여 동작하는 대역폭 배분 시스템의 다수가 다른 버전을 공급하는 것과 관련된 개발 및 실시 비용들이 증가한다.In addition, some systems impose significant burdens on the telecommunications companies to realize efficient bandwidth distribution. For example, to realize a system that makes some changes or "residents" of the protocol stack, the vendor requires that the protocol stack be authenticated, which increases the vendor's cost to realize such a system. Since the communication systems use the various vendors' equipment and software, the bandwidth allocation processing procedure, which relies on a constant level of dialogue with the vendor's equipment and software, is that a vendor has default routing or other such communications equipment and software. By providing different versions of the software (ie, vendor-dependent), the cost of selecting the appropriate version required, and the devices and software of multiple router vendors The development and implementation costs associated with the provision of different versions of a large number of bandwidth distribution systems operating in conjunction with this increase.

따라서, 상기 통신 회사들 및 개발자들에게 비용을 줄이거나 최소화하는 적어도 부분적으로는 판매업자에 의존하지 않는 시스템과 같은, 상기 통신회사 및 개발자가 부담하는 비용을 감소시켜 최소로 하는 대역폭 배분 장치 및 처리 순서를 제공하는 것이 유용할 것이다.Thus, bandwidth allocation devices and processing that reduce and minimize the cost borne by the telecommunications company and the developer, such as a system that is at least partly not vendor dependent, reducing or minimizing the cost to the telecommunications companies and developers. It would be useful to provide an order.

본 발명은 패킷들 또는 다른 통신들 및/또는 바람직하게 통신 비용상에서 배분의 효과를 고려하여 크기 또는 데이터 스트림의 다른 특징에 근거하는 ISDN-베어러(bearer) 채널들의 배분과 같은, 대역폭의 배분의 우선순위를 정하는 것을 허가한다.The present invention prioritizes the allocation of bandwidth, such as the allocation of ISDN-bearer channels based on size or other characteristics of the data stream, taking into account the effect of allocation on packets or other communications and / or communication costs. Permit ranking.

도 1은 AODI 네트워킹 어플리케이션과 연관되어 유용한 상기 통신 시스템의 블럭도.1 is a block diagram of the communication system useful in conjunction with an AODI networking application.

도 2는 큐-심도에 의해 배분되는 채널 사용의 예를 서술하는 타이밍 도.FIG. 2 is a timing diagram illustrating an example of channel usage distributed by cue-depth. FIG.

도 3은 본 발명의 실시예에 따라 대역폭 배분을 위한 유용한 정보의 흐름을 서술하는 블럭도.3 is a block diagram illustrating the flow of useful information for bandwidth allocation in accordance with an embodiment of the invention.

도 4는 본 발명의 실시예의 모듈의 실현을 서술하는 블럭도.4 is a block diagram illustrating the realization of a module of an embodiment of the invention.

도 5는 부가적인 클라이언트 쪽 성분들을 도시하는 것 이외에는 도 4의 블럭도와 유사한 블럭도.5 is a block diagram similar to the block diagram of FIG. 4 except showing additional client-side components.

도 6a 및 6b는 도 4의 성분들을 사용하는 과정들을 각각이 도시하는 흐름도 및 블럭도.6A and 6B are flow diagrams and block diagrams each illustrating processes of using the components of FIG.

도 7a 및 7b는 본 발명의 실시예에 따라 실시간 성분과 관련하여 과정을 각각이 도시하는 흐름도 및 블럭도.7A and 7B are flow diagrams and block diagrams each illustrating a process with respect to real-time components in accordance with an embodiment of the present invention.

도 8A 및 8B는 본 발명의 실시예에 따른 실현 성분과 관련하여 과정을 도시하는 흐름도 및 블럭도.8A and 8B are a flow diagram and block diagram illustrating a process with respect to realization components in accordance with an embodiment of the present invention.

도 9A 및 9B는 본 발명에 따라 개조 성분과 관련하여 과정을 각각이 도시하는 흐름도 및 블럭도.9A and 9B are flow diagrams and block diagrams each illustrating a process in connection with a retrofit component in accordance with the present invention.

도 10은 본 발명의 실시예와 관련하여 네트워크 라우터 정보의 표시를 도시하는 도.10 is a diagram illustrating display of network router information in connection with an embodiment of the present invention.

도 11은 본 발명의 실시예와 관련하여 사용가능한 라우터의 표시를 도시하는 도.11 illustrates an indication of a router usable in connection with an embodiment of the present invention.

도 12는 본 발명의 실시예와 관련하여 사용가능한 계획 선택권들의 표시를 도시하는 도.12 illustrates an indication of planning options available in connection with an embodiment of the present invention.

도 13은 본 발명의 실시예와 관련하여 사용가능한 계획 편집기의 표시를 도시하는 도.Figure 13 illustrates a representation of a plan editor usable in connection with an embodiment of the present invention.

도 14a 및 14b는 자가-학습을 도시하는 본 발명의 실시예의 각각의 흐름도 및 블럭도.14A and 14B are respective flow diagrams and block diagrams of embodiments of the present invention showing self-learning.

도 15는 데이터 스트림의 분류를 행하는 대역폭을 증가시키는 것을 포함하는 본 발명의 실시예에 따른 예의 흐름도.15 is a flow diagram of an example according to an embodiment of the present invention that includes increasing the bandwidth for classifying data streams.

도 16은 데이터 스트림이 식별되지 않을때, 대역폭을 증가시키는 것을 포함하는, 본 발명의 실시예에 따른 예의 흐름도.16 is a flow diagram of an example in accordance with an embodiment of the present invention, including increasing the bandwidth when no data stream is identified.

도 17은 데이터 호수에 응답하여 대역폭을 증가시키는 것을 포함하는 본 발명의 실시예에 따른 예의 흐름도.17 is a flow diagram of an example in accordance with an embodiment of the present invention that includes increasing the bandwidth in response to a data lake.

도 18a은 펙보드(pegboard) 자가 학습 시스템에서 사용되는 카운터의 개략 도.18A is a schematic diagram of a counter used in a pegboard self learning system.

도 19는 본 발명의 실시예에 따라 사용가능한 알려지지 않은 유형의 데이터 스트림들을 추적하는 테이블의 개략도.19 is a schematic diagram of a table tracking data streams of unknown type usable in accordance with an embodiment of the present invention.

도 20은 본 발명의 일실시예에 따른 개시를 도시하는 개략 블럭도.20 is a schematic block diagram illustrating the disclosure in accordance with an embodiment of the present invention.

도 21은 본 발명의 일실시예에 따른 패킷 속도 제어를 도시하는 개략 블럭도.21 is a schematic block diagram illustrating packet rate control according to an embodiment of the present invention.

도 22는 본 발명의 일실시예에 따른 보안 특성들을 도시하는 개략 블럭도.22 is a schematic block diagram illustrating security features in accordance with an embodiment of the present invention.

도 23은 본 발명의 일실시예에 따른 매체 라우팅을 도시하는 개략 블럭도.23 is a schematic block diagram illustrating media routing according to one embodiment of the present invention.

도 24는 본 발명의 실시예들에 따른 스트림 이외에서의 처리를 도시하는 개략 블럭도.24 is a schematic block diagram illustrating processing outside the stream in accordance with embodiments of the present invention.

본 발명은, 전술한 것을 포함하여 이전의 처리 순서들의 문제의 적어도 일부분에 관해서 인식을 포함한다. 본 발명은 대역폭 배분이 평균적으로 더 효율적인 대역폭 이용을 실현하고, 사용자들에게 비용을(평균적으로 최소로) 바람직하게 낮추는 가능성을 증가시키는 큐-심도와 다른(또는 이에 부가적으로) 특성들을 사용하는, 예측 구성에서 적어도 부분적으로 근거하는 결정들을 처리하도록 하는 것을 포함한다. 개시된 이 방법 및 다른 방법들에서, 본 발명은 데이터 및 신호 통신용 서비스 레벨을 관리하고 제공하기 위하여 사용된다.The present invention encompasses awareness of at least a portion of the problem of previous processing sequences, including the foregoing. The present invention utilizes queue-depth and other (or in addition to) features that allow bandwidth allocation to achieve more efficient bandwidth utilization on average, and increase the likelihood of users desirably lowering costs (on average on average). And making decisions that are based at least in part on the prediction configuration. In this and other methods disclosed, the present invention is used to manage and provide service levels for data and signal communication.

일 실시예에 따라 데이터 패킷들은 특정한 데이터 스트림들에 속한 것으로써 식별된다. 데이터 스트림의 특성(즉, GIF 데이터, 스트리밍 비디오 데이터, 텍스트 E-메일 또는 배치 2진 다운로드들과 같은 전송되는 데이터 유형에 관련된 분류)은 이 데이터 스트림에서 앞으로의 패킷을 전송에서 사용을 위해 추가 대역폭을 배분하기에 효과적 및/또는 비용-효율적인지에 따라 결정을 내리게 된다. 예를 들어, 일 실시예에서, GIF 스트림의 첫번째 소수의 패킷들의 수신은 부가적인 대역폭 배분을 초래한다(예를 들어, 시스템은 비교적 GIF 데이터의 큰 량이 데이터 스트림의 나머지동안 올 것이라고 예측한다면), 텍스트 E-메일로써(즉, 상기 서술된 GIF 스트림으로써 동일한 큐-심도를 이루는) 분류된 데이터의 동일한 량의 수신은 시스템이 그 텍스트 스트림이 비교적 짧거나, 인지되지 않는다면 즉, 즉시 수신되지 않는다면, 부가적인 대역폭을 배분하지 않을 것이다.According to one embodiment, data packets are identified as belonging to particular data streams. The nature of the data stream (ie, the classification related to the type of data being transmitted, such as GIF data, streaming video data, text e-mail or batch binary downloads), provides additional bandwidth for use in future transmissions of packets in this data stream. The decision is made as to whether it is effective and / or cost-effective to allocate. For example, in one embodiment, reception of the first few packets of the GIF stream results in additional bandwidth allocation (eg, if the system predicts that a relatively large amount of GIF data will come during the rest of the data stream). Receiving the same amount of data classified as text E-mail (i.e., achieving the same queue-depth as the GIF stream described above) is such that if the system is relatively short or unrecognized, i.e. not immediately received, It will not allocate additional bandwidth.

일 실시예에서, 그 시스템은 특정한 스트림을(소스/목적/포트 정보 또는 몇가지 경우에서, 데이터 필드 정보와 같은) 패킷과 연관시키기 위해 데이터 패킷들의 필드들 또는 댜양한 성분들에 접근할 수 있다. 그 시스템은 데이터 유형에 따라 특정한 데이터를 분류하는 다양한 과정들을 사용하는 것이 바람직하다. 몇가지 실행에서, 데이터 유형에 따라 데이터 스트림들의 분류를 사용하는 것에 부가적으로, 데이터 스트림에 대한 장래의 대역폭 요구들을 예견하는데 유용한 다른 정보가 사용된다.(소정의 사용자에게, 특정 시간의 주기동안에 일어나는 데이터 스트림의 특정한 유형은 비교적 길거나 비교적 짧은 경향이라는 지식과 같이). 본 시스템은 발견적 교수법에 근거한 시스템인 것이 바람직하며, 일 실시예에서, 그러한 부가적인 예측 정보는 발전되고 자가 학습법에 의해 사용되거나 인공 지능 시스템에 의해 사용된다. 이 방법으로, 그 시스템은 자동인 방법으로 초과 시간을 스스로 변경할 수 있다. 이 문맥에서, "자동"은 목표가 분석,결정, 또는 작동자 또는 관리자로부터 다른 입력들 요구없이(비록, 요구된다하더라도, 그 시스템은 인간의 입력이 자동 분석을 보충하거나 무시하도록 구성될 수 있다.) 컴퓨터 또는 컴퓨터 시스템에 의해 달성되는 것을 의미한다. 바이트 코드 시스템들로써 본 발명의 최소 특정한 부분들을 제공하는 것은 더 쉽게 규칙들을 변경하는 것을(이후에 도시된 것처럼) 즉, 자가 변경 또는 자가 학습을 더 쉽게 이루도록 도와준다고 믿어진다.In one embodiment, the system may access fields or various components of data packets to associate a particular stream with a packet (such as source / destination / port information or, in some cases, data field information). The system preferably uses various processes to classify specific data according to the data type. In some implementations, in addition to using a classification of data streams according to data type, other information is used that is useful for predicting future bandwidth requirements for the data stream (for a given user, what happens during a particular period of time). (Such as the knowledge that certain types of data streams tend to be relatively long or relatively short). The system is preferably a system based on heuristic teaching, and in one embodiment, such additional predictive information is developed and used by self-learning or by artificial intelligence systems. In this way, the system can change the overtime by itself in an automatic way. In this context, "automatic" means that the system can be configured so that human input supplements or ignores automatic analysis, even if the goal is required without analysis, determination, or other inputs from the operator or administrator (although it is required). ) Means achieved by a computer or computer system. It is believed that providing at least certain portions of the present invention with byte code systems makes it easier to change the rules (as shown later), ie to make self alteration or self learning easier.

시스템은 실질적으로 모듈로 조립되는 것이 바람직하다. 일 실시예에서, 직접적으로 모니터되거나 또는 상기 통신 회선에 연결된 그 모듈은 실시간으로 수행되는 아이템들만을 포함하도록 구성되고, 효율적이거나 또는 적합한 바이트 코드 시스템인 바이트 코드 시스템으로써 수행함으로써 빠르게 동작하도록 구성되는 것이 바람직하다. 시스템 동작을 분석하고 또는 학습 또는 다른 인공 지능 능력들을 제공하도록 구성된 것과 같은 그 시스템의 다른 성분들은, (라우팅 컴퓨터가 반대로 쉬고 있을 동안 라우팅 컴퓨터 설비를 이용하기 위하여) 사이클-스틸(steal) 모드에서 실질적으로 동작함으로써 컴퓨터들 라우팅상에서 부하를 줄이거나 최소화하도록 구성된다.It is preferred that the system be substantially assembled in modules. In one embodiment, the module directly monitored or connected to the communication line is configured to include only items that are performed in real time, and configured to operate quickly by performing as a byte code system, which is an efficient or suitable byte code system. desirable. Other components of the system, such as configured to analyze system behavior or provide learning or other artificial intelligence capabilities, may be used in cycle-steal mode (to use routing computer facilities while the routing computer is resting in reverse). Is configured to reduce or minimize the load on the computers routing.

일 실시예에서, 그 시스템은 실질적으로, 판매자 API를 사용함으로써 판매자로부터 독립적인 것이 바람직하다. 판매자-독립은 코드 모듈화와 판매자-의존적인 구성 부품들을 즉, 몇개의 잘 지정된 기능들로 제한함으로써 조장된다.In one embodiment, the system is preferably substantially independent of the seller by using the seller API. Seller-independence is encouraged by limiting code modularization and seller-dependent components, that is, to some well-defined functions.

본 발명의 특성들을 설명하기 이전에, AODI 네트워킹 어플리케이션의 특정한 특성들과 큐-심도 제어의 예를 설명하는 것은 유용하다고 믿어진다. 다음에서, 회선들 또는 통신 회선들의 유형에 대한 참조들은 OSI 모델을 참고로, 다른 "어떤 층" 물리적 매체를 포함한다. 본 발명 발표를 이해한 후에 당업자에게 명백하듯이, 본 발명의 몇몇 또는 모든 특성들은, 상기통신 라인 또는 통신 라인이 무선일때, 실현될 수 있다. 도 1에서 도시된 시스템에서, 데이터 서버(12)(하나이상의 컴퓨터를 포함할 수 있는) 및 클라이언트(114)는 라우터(116)의 한면에 연결되고, 라우터(116)는 ISDN 통신 회선(118)을 사용하는 서버측에 연결된다. 통상적인 상황에서, 라우터(116)는 지역 네트워크(LAN)(135)로 광대역 연결(133)을 포함하는 클라이언트에 연결된다. 도시된 ISDN 회선은 D채널(122) 및 제 1 및 제 2 B(베어러)채널들(124),(126)을 포함한다. D채널(122)은 예로, 일 초당 9.6 킬로바이트(kilobytes)정도까지 데이터의 비율들을 수용하도록 비교적 협대역폭을 갖는다. 위에서 언급되었듯이, AODI 시스템에서, B 채널들은 회로-스위치된다.(예로, BACP 및 MLPPP 프로토콜들에 따라)Before describing the features of the present invention, it is believed that it is useful to describe specific features of an AODI networking application and an example of queue-depth control. In the following, references to the types of circuits or communication circuits include other "any layer" physical media, with reference to the OSI model. As will be apparent to those skilled in the art after understanding the present disclosure, some or all of the features of the present invention may be realized when the communication line or communication line is wireless. In the system shown in FIG. 1, the data server 12 (which may include one or more computers) and the client 114 are connected to one side of the router 116, and the router 116 is connected to the ISDN communication line 118. It is connected to the server side using. In a typical situation, router 116 is connected to a client that includes a broadband connection 133 over a local area network (LAN) 135. The ISDN circuit shown includes a D channel 122 and first and second B (bearer) channels 124, 126. D-channel 122 has a relatively narrow bandwidth, for example, to accommodate rates of data up to about 9.6 kilobytes per second. As mentioned above, in an AODI system, the B channels are circuit-switched (eg according to BACP and MLPPP protocols).

AO/DI의 하나의 실현에서, D채널(122)은 항상 온(on)(항상 오프(off)-후크)상태이다. AO/DI의 하나의 실현에서, X.25로써 알려진 것들과 같은 패킷화 과정들을 사용함으로써 호출은 D 채널에 초기에 배치되고 다루어진다. D채널이 항상 온상태이기 때문에, 예로 "추진-메일"을 포함하는, 항상 사용가능한 서비스를 제공하는 것이 가능하다. 추가적인 대역폭이 제공되어야 한다고 결정될때에, 하나 또는 둘의 베어러 채널들은 데이터 전송을 돕도록 스위치된다. 통상적으로, 베어러 채널들은 MLPPP(예로, D 채널상에서 사용되는 X.25 패킷화없이)를 사용한다. 그러한 대역폭이 불연속적이어야 한다고 결정될때에, 하나 또는 둘의 B 채널은 단절되어야 한다.In one implementation of AO / DI, the D channel 122 is always on (always off-hook). In one implementation of AO / DI, calls are initially placed and handled on the D channel by using packetization procedures such as those known as X.25. Since the D channel is always on, it is possible to provide always available services, including, for example, "promotional mail". When it is determined that additional bandwidth should be provided, one or two bearer channels are switched to assist in data transmission. Typically, bearer channels use MLPPP (eg, without the X.25 packetization used on the D channel). When it is determined that such bandwidth should be discontinuous, one or two B channels must be disconnected.

AO/DI의 유용성은 대역폭이 배분되는 방법, 즉, B 채널들을 가산하거나 빼는 결정들이 만들어지는 방식에 관련될 것이다. 라우터 큐(128)에서 데이터의 데이터의 심도가 소정의 임계치에 도달하는지에 따라 결정을 하는 것과 같이,데이터 트래픽의 최근 호수에 근거하여 결정하는 것은 가능하다. 도 2는 큐-심도 결정의 (간단한)예를 표현하고, 또한 그러한 시스템의 단점들의 하나를 도시한다. 도 2에서, 큐 심도(212)는 초기에는 낮지만 데이터 통신이 시간 T1에서 시작될 때에 비교적 급격히 증가하기 시작한다. 위에서 주지되었듯이, 통신은 초기에 D채널(214)에 의해 실행된다. 그러나, D 채널이 비교적 협대역폭이기에, 큐-심도는 T1이후에 급속히 상승하여, 시간 T2에서 소정의 큐 심도 임계(216)에 도달한다. 시간 T2에서 임계(216)에 도달하는 것은 결정을 스위치-인(in) B채널 번호 1로 트리거한다. 이 결정은 특정한 시간이 걸리고, 따라서 도2의 도시에서, B 채널 번호 1은 시간 T3(218)에서 스위치-인된다. B 채널의 대역폭은 비교적 크고, 큐 심도는 빨리 임계치(216)이하 레벨로(222) 떨어진다. 도 2의 예에서, 전송되는 데이터는 비교적 큰 대역폭 요구를 갖고, 시간 T3후에, 시간 T1다음에 주기동안보다 더 느려짐에도 불구하고 큐-심도는 계속 오른다. 도시된 예에서, 큐-심도는 제 2B 채널을 더하는 결정을 하도록 트리거하는 시간 T4(224)에서 다시 한번 임계(216)에 도달한다. 도시된 예에서, 그러나, 데이터 전송은 시간 T4후에 짧게 완성되게 된다. 그럼에도 불구하고, B 채널에서 스위칭에 포함되는 지연때문에, 그 다음에는 B 채널 스위칭 아웃 또는 불연속에 포함된 지연때문에, 도시된 예에서 B 채널 번호(2)는 시간 T5에서 스위치되고, 시간 T6때까지 스위치 아웃되지 않는다. 따라서, 도 2의 예에서, 사용자가 B 채널 번호(2)의 사용으로부터 아무런 혜택을 받지 못함에도 불구하고, (데이터 전송은 B 채널 스위치 인되기 이전까지 완성되기 때문이다.) 사용자는 시간 T5와 T6사이의 B 채널 번호(2)의 사용을 위해 요금을 물게 될 것이다.The usefulness of AO / DI will relate to how bandwidth is allocated, that is, decisions are made that add or subtract B channels. It is possible to make decisions based on recent lakes of data traffic, such as making a decision based on whether the depth of data of the data in the router queue 128 reaches a predetermined threshold. 2 represents a (simple) example of queue-depth determination and also shows one of the disadvantages of such a system. In FIG. 2, the queue depth 212 is initially low but begins to increase relatively rapidly when data communication begins at time T 1 . As noted above, communication is initially performed by D-channel 214. However, since the D channel is relatively narrow bandwidth, the cue-depth rises rapidly after T 1 , reaching a predetermined queue depth threshold 216 at time T 2 . Reaching threshold 216 at time T 2 triggers the decision to switch-in B channel number 1. This decision takes a certain time, so in the illustration of FIG. 2, B channel number 1 is switched in at time T 3 218. The bandwidth of the B channel is relatively large and the queue depth quickly drops to a level 222 below the threshold 216. In the example of FIG. 2, the transmitted data has a relatively large bandwidth requirement, and after time T 3 the queue-depth continues to rise even though it is slower than during the period after time T 1 . In the example shown, the cue-depth once again reaches a threshold 216 at time T 4 224 which triggers a decision to add the second B channel. In the example shown, however, the data transfer is completed shortly after time T 4 . Nevertheless, because of the delay involved in the switching on the B channel, and then because of the delay involved in the B channel switching out or discontinuity, in the example shown the B channel number 2 is switched at time T 5 , and time T 6 Until it is switched out. Thus, in the example of FIG. 2, even though the user has no benefit from the use of the B channel number 2 (because the data transmission is completed before the B channel switch-in), the user has time T 5. You will be charged for the use of the B channel number (2) between and T 6 .

도 3은 블록 형태로 시스템을 본 발명에 따라, 큐 심도와 다른(또는 추가적으로) 정보를 근거로 대역폭 분배 결정을 할 수 있는 시스템을 도시한다. 시스템의 세부사항들은 아래에서 설명될 것이다. 일반적으로, 도 3에서 도시된 것과 같이 데이터의 특성에 관련된 정보는 결정 시스템(314)으로 건네진다(312). 결정 시스템은 대역폭이 분배되어야 하는지 또는 분배되지 않아야 하는지 및 이들 결정들이 원하는 대역폭 배분을 달성하는 동안 데이터 흐름 혼란을 피하기 위한 방법으로 그러한 스위칭을 실현하기 위하여 MLPPP(318)와 BACP(322)를 사용하여 실행되는지(316)의 여부와 시기를 결정한다. 아래의 자세한 실시예에서, 결정 시스템(314)은 결정하기 위한 규칙 베이스를 사용하고, 규칙 베이스를 세우기 위한 발전 환경을 제공한다. 일 실시예에서, 결정 시스템(314)은 자가-학습 능력(인공지능)을 제공하여서, 변화하는 환경적 요구들에 부응하는 자가자신의 규칙 베이스를 변경할 수 있다. 그 규칙 베이스 구조는 판매자로부터 독립적인 것이 바람직하고, 다양한 판매자의 하드웨어 시스템들로의 교차적으로 인식할 수 있는,즉, 동시에 단일 콘솔로부터 변화된 시스템들을 관리자가 관리할 수 있도록 관리 툴(tool)을 포함하는 것이 바람직하다.3 illustrates a system in block form, in accordance with the present invention, capable of making bandwidth distribution decisions based on queue depth and other (or additionally) information. Details of the system will be described below. In general, information related to the characteristics of the data, as shown in FIG. 3, is passed 312 to the decision system 314. The decision system may use the MLPPP 318 and BACP 322 to realize such switching in a manner that should or should not be bandwidth allocated and to avoid data flow confusion while these decisions achieve the desired bandwidth allocation. Determine if and when to execute (316). In the detailed embodiments below, the determination system 314 uses a rule base to make decisions and provides a development environment for building rule bases. In one embodiment, decision system 314 may provide self-learning capabilities (artificial intelligence) to modify its own rule base to meet changing environmental needs. The rulebase architecture is preferably independent of the vendor and provides a management tool that can be cross-recognized to the hardware systems of the various vendors, i.e. administrators can manage systems that have been changed from a single console at the same time. It is preferable to include.

일 실시예에서, 발견적인 분석은 자가 학습 시스템을 실현하도록 사용된다. 발견적 분석의 한 예는 소위 "펙보드" 시스템이라 불린다. 펙보드 유형의 발견적 방법의 예에서, 시스템은 시스템의 성능의 평가를 수행할 시기(a) 및 수행이 평가되는 방법(b) 및 수행이 충분히 좋지 않다고 생각할 때 규칙들을 개선하는 방법을 제공한다. 한 펙보드 시스템에서, 메세지들과(특정한 형태의 메시지들의 총 수와 같은) 그러한 메시지들 또는 올바르게 다루어지는 데이터 스트림들의 총 수의 분리된 카운트들은 소프트웨어 카운터에 축적된다(또는 몇몇 경우에는 하드웨어). 특정한 유형의 총 데이터 스트림과 올바르게 다루어지는 총 수의 카운터들은 도 18a에서 도시된 것처럼 첫째로 및 둘째 펙보드(1812) 및 (1814)에서 시각화될 수 있고 도 18a는 첫번째 펙보드(1812)에서 어둡게 칠해진 원들은 특정 주기에서(예로, 성능의 마지막 평가이후에) 특정한 유형의 데이터 스트림들의 수(도시에서, E-메일 세션들의 수)를 나타내고, 두 번째 펙보드(1814)에서의 어둡게 칠해진 원들은 정확하게 다루어진 E-메일 세션들의 수를 도시한다. 도시의 목적으로, 널리 수행되고 있는 규칙 베이스는 E-메일 세션들이 비교적 작고 따라서 E-메일 세션들을 위한 대역폭을 증가시키지 않는 규칙들을 제공한다는 가정을 근거로 하여 구성된다. 따라서, 도 18a에서의 도시에서, 새로운 E-메일 데이터 스트림이 다루어질 때마다, 그 카운터 또는 펙보드(1812)는 증가된다. E-메일 세션의 조종은 E-메일 세션이 정확하게 조종되는지 결정하도록 평가되고 정확한 조종이 결정된다면, 두 번째 카운터 또는 펙보드(1814)는 증가된다. 평가 과정들은 E-메일 세션의 조종이 정확한지를 결정하는 많은 방법들로 구성될 수 있다. 예를 들어, E-메일 세션을 위한 대역폭 증가시키는 것을 명기하지 않는 그 규칙은 E-메일 세션이 작다는 가정에 근거를 두고 있기 때문에, 사실, 특정 E-메일 세션이 작다면(임계량보다 적은), 현재의 규칙 베이스하에 특정 E-메일 세션의 조종은 "정확한"이라고 여기는 것과 같은 소프트웨어 평가를 구성하는 것이 가능하다. 성능의 다른 유형들의 평가도 또한 가능하다. 예를 들어, E-메일의 실제의 조종은 E-메일을 조종하는 하나 이상의 가능한 대안들에(대역폭을 증가시키는 것과 같은) 비교되도록 소프트웨어를 구성하는 것이 가능하고 실제의 조종이 개선될 수 있는지 결정하는 것이 가능하다(예로, 비교적 낮은 비용으로 더 나은 성능을 제공하는 것, 또는 사용자가 세운 성능 기준에 더 가깝게 제공하는 의미에서)In one embodiment, heuristic analysis is used to realize a self learning system. One example of a heuristic analysis is called a "pebboard" system. In an example of a heuristic method of the board type, the system provides when (a) to perform an evaluation of the performance of the system, how the performance is evaluated (b) and how to improve the rules when performance is not good enough. . In one panel system, separate counts of messages (such as the total number of messages of a particular type) or the total number of such data streams that are handled correctly are accumulated in a software counter (or hardware in some cases). The particular type of total data stream and the total number of counters handled correctly can be visualized in the first and second panels 1812 and 1814 as shown in FIG. 18A and FIG. 18A is darkened in the first panel 1812. The painted circles represent the number of specific types of data streams (in the city, the number of e-mail sessions) in a particular period (eg, since the last assessment of performance), and the dark colored circles in the second panel 1814 Shows the number of e-mail sessions handled correctly. For purposes of illustration, a widely practiced rule base is constructed based on the assumption that E-mail sessions are relatively small and thus provide rules that do not increase bandwidth for E-mail sessions. Thus, in the illustration in FIG. 18A, each time a new E-mail data stream is handled, its counter or panel 1812 is incremented. Steering of the e-mail session is evaluated to determine if the e-mail session is steered correctly, and if the correct steering is determined, the second counter or peckboard 1814 is incremented. Evaluation processes can consist of many ways to determine if the steering of an e-mail session is correct. For example, the rule, which does not specify increasing bandwidth for an e-mail session, is based on the assumption that the e-mail session is small, so in fact, if a particular e-mail session is small (less than the threshold), It is possible, however, to construct a software evaluation such that the manipulation of a particular e-mail session under the current rule base is considered "accurate". Evaluation of other types of performance is also possible. For example, the actual manipulation of the e-mail may be possible to configure the software to be compared to one or more possible alternatives to maneuvering the e-mail (such as increasing bandwidth) and to determine if the actual manipulation can be improved. (Eg, to provide better performance at a relatively low cost, or to be closer to the performance criteria set by the user).

다른 경우에, 소프트웨어가 펙보드들(1812),(1814)에서 카운트를 자동으로 포함하도록 구성되는 방법이 전술한 것으로부터 보여질 수 있다. 당업자에게는 명확한 것처럼, 다른 유형들의 메세지들을(예로, 도시된 E-메일 펙보드들에 부가적으로) 위한 펙보드들 또는 카운터들의 설정을 제공하는 것이 또한 가능하다.In other cases, it can be seen from the foregoing that the software is configured to automatically include a count at the panels 1812, 1814. As will be apparent to those skilled in the art, it is also possible to provide a setting of the panes or counters for other types of messages (eg, in addition to the illustrated E-mail panel).

기능(b)을 수행하기 위하여, 몇몇 지점에서 펙보드들에 효과적으로 축적된 정보는 평가를 위한 기회가 충분한 것으로 간주된다. 많은 시스템들은 평가들이 언제 일어날지 결정하기 위하여 사용된다. 도 18a의 도시에서, 평가는 카운터들 또는 펙보드들(1812),(1814)중의 하나가 최대값에 도달하는 때면,즉, 펙보드들(1812),(1814)중의 하나가 "충분한"(1816)일때, 언제든지 수행된다. 평가를 초기화하는 다른 기준은 소정의 시간 주기의 경과와 같이 또한 사용될 수 있어서, 제 1 펙보드(제 2 에서는 아닌)에서 임계치에 도달하고, 제 2 펙보드에서(제 1 에서는 아닌)임계에 도달하고, 전체로써 시스템의 성능 및 전체로써 시스템의 비용 및 성능을 평가하는 초기화된 사용자 요구에 도달하고, (하루중 시간마다 변하는 임계치와 같이) 다양한 임계치들 및 유사한 것에 도달한다.In order to perform function (b), the information accumulated effectively on the clipboards at some point is considered to be sufficient for evaluation. Many systems are used to determine when evaluations will occur. In the illustration of FIG. 18A, the evaluation is performed when one of the counters or the panels 1812, 1814 reaches a maximum value, that is, one of the panels 1812, 1814 is “sufficient” ( 1816), any time. Other criteria for initiating the assessment can also be used with the passage of a predetermined time period, such that a threshold is reached at the first panel (not at the second) and a threshold at the second panel (but not at the first). And an initialized user need to assess the performance of the system as a whole and the cost and performance of the system as a whole, and reach various thresholds and the like (such as thresholds that vary from hour to day).

도시된 실시예에서, 각 개인별 E-메일 세션의 "올바른" 조종은 개별적이었고 연속적으로 평가되는 것이 바람직했기 때문에, 일단 평가 주기가 도달되면, 그시스템 평가 수행은 단순히 정확히 조종된 세션들(1814)의 수를 소정의 시간프레임에서 세션들의(1812) 총 수에 비교함으로써 구해질 수 있다. 예를 들어, 소프트웨어를 구성하는 것이 정확하여서, 정확히 조종된 E-메일 세션들과 시간 프레임에서 E-메일 션셔들의 총수의 비율이 소정의 비율보다 작다면, 그 시스템은 성능을 개선하려는 시도로 규칙 베이스에 변화를 개시하게 될 것이다.In the illustrated embodiment, since the "right" steering of each individual e-mail session was individual and desired to be evaluated continuously, once the evaluation cycle is reached, the system evaluation performance is simply performed by correctly controlled sessions 1814. Can be found by comparing the number of to the total number of sessions 1812 in a given timeframe. For example, if the configuration of the software is correct so that the ratio of the totally controlled e-mail sessions and the total number of e-mail shunts in the time frame is less than the predetermined rate, then the system may rule in an attempt to improve performance. You will start to change the base.

도시된 예에서, 현재의 규칙 베이스가 수용할 수 없을 정도록 안좋은 성능의(정확히 조종된 E-메일 세션들 대 총 E-메일 세션들의 비교적 낮은 비율) 검출에 응답하여 E-메일 세션들을 위한 대역폭을 증가시키는 것을 포함하지 않기때문에, 그 시스템은 예로, E-메일 트래픽의 소정의 최소치와 같은, E-메일 트래픽에 응답하여 대역폭에서의 증가를 허용하는 것과 같은 규칙들 베이스를 변경할 것이다. 당업자에게는 명확한 것처럼, 안좋은 성능을 검출하는 규칙 베이스를 변경하는 다른 방법들은 E-메일 메시지들 또는 유사한것들의 큐잉(queuing)을 초기화하는 것으로 제공된다.In the example shown, the bandwidth for e-mail sessions in response to detection of poor performance (a relatively low ratio of precisely steered e-mail sessions to total e-mail sessions) to make the current rule base unacceptable. Since it does not include increasing the system, the system will change the rules base, such as allowing an increase in bandwidth in response to E-mail traffic, such as a certain minimum of E-mail traffic. As will be apparent to those skilled in the art, other ways to modify the rule base to detect poor performance are provided by initiating queuing of E-mail messages or the like.

도 18a가 펙보드-형 발견적 방법, 자가-학습의 다른 형태들을 도시하고, 발견적 자가-학습 방법들이 사용될 수 있다. 예를 들어, 더 일반적인 발견적 방법은 데이터 스트림들의(날짜, 시간, 효율적인 데이터 속도, 포트 번호, 및 현재의 규칙 베이스하의 조종) 복수의 상이한 특성들상에서 정보를 얻는 것을 포함하고, 복수의 상이한 특성들은 많은 데이터 스트림들에 걸쳐서, 결정하기 위하여 분석될 수 있고, 원인들은 시스템의 성능에 가장 관련있다. 일례로써, 그 시스템은 알려지지 않은 유형의 메세지 및 그 데이터 스트림들과 관련있는 정보를 얻고 저장하도록 구성된다. 위에서 언급되었듯이, 이 시스템은 통상적으로 이들 데이터 스트림들을 위해 더 높은 대역폭으로 스위치하지 않거나 또는 더 높은 데역폭으로 스위치하는 결정을 초래하는, 알려지지 않은 유형의 데이터 스트림들을 조종하는 현재의 규칙 베이스에서 몇몇 과정들을 가질 것이다. 더 일반적인 발견적 방법의 예에서, 그 시스템은 예를 들어, 그러한 알려지지 않은 유형의 데이터 스트림들을 위한 포트 번호의 트랙을 유지하고 각 포트 및 스위칭이 발생했는지와 관련된 알려지지 않은 데이터 유형들의 주파수를(예로, 도 19에서 도시된 것과 같은 테이블(1912)에서) 저장할 수 있다. 이 예에 따라, 분석이 현재의 규칙 베이스하에 알려지지 않은 데이터 스트림들의 조종을 평가하기 위하여 주기적으로 수행된다. 예를 들어, 도 19에서 도시된 정보는 시스템상에서 가장 큰 충격을 갖는 것같은 세션 유형들 또는 그러한 세션들을 선택하도록 사용될 수 있다. 이 도시에서, 가장 큰 충격을(가장 빈번히 발생하는 특정의 포트 어드레스를 갖는 알려지지 않는 데이터 스트림들과 같은) 갖는 알려지지 않은 데이터 스트림들의 카테고리는 그때에 그것들이 "정확히" 조종되었는지를 결정하기 위하여 분석된다. "정확한" 조종의 분석은 도 18의 예와 관련하여 위에서 언급된 것들을 포함하는 많은 방법들에 의해 수행될 수 있다. 예를 들어, 상이한 스위칭 결정들이 낮은 가격 이외에 수용할 수 없는 성능을 (예로, 성능의 원하는 레벨을 갖는 일관된 최소 레벨에서 가격을 유지하도록 시스템이 구성되거나 또는 사용자들이 지시한다면,) 초래하였는지 결정한다. 일례에서, 비교적 많은 알려지지 않는 유형의 데이터 스트림들이 정확히 조종되지 않는다면, 결정은 성능을 개선시키는 시도를 위해 규칙 베이스를 변경하는 방법에 대해 결정이 자동적으로 만들어진다.FIG. 18A shows a boardboard-type heuristic method, other forms of self-learning, and heuristic self-learning methods can be used. For example, a more general heuristic method involves obtaining information on a plurality of different characteristics of data streams (date, time, efficient data rate, port number, and manipulation under the current rule base), and a plurality of different characteristics. Can be analyzed to determine over many data streams, and the causes are most relevant to the performance of the system. As an example, the system is configured to obtain and store information related to messages of unknown type and their data streams. As mentioned above, this system typically uses some rules in the current rule base to manipulate unknown types of data streams, resulting in the decision not to switch to a higher bandwidth or switch to a higher bandwidth for these data streams. Will have processes. In an example of a more general heuristic, the system maintains a track of port numbers for such unknown types of data streams, for example, and reports the frequency of unknown data types associated with each port and switching (e.g. , In a table 1912 as shown in FIG. 19). According to this example, analysis is performed periodically to evaluate the manipulation of unknown data streams under the current rule base. For example, the information shown in FIG. 19 can be used to select session types or those sessions that seem to have the greatest impact on the system. In this city, the category of unknown data streams with the biggest impact (such as unknown data streams with the most frequently occurring specific port address) are then analyzed to determine if they have been "correctly" manipulated. . Analysis of the "correct" steering can be performed by many methods, including those mentioned above in connection with the example of FIG. 18. For example, it is determined whether different switching decisions resulted in unacceptable performance other than the low price (eg, if the system is configured or the users instructed to keep the price at a consistent minimum level with the desired level of performance). In one example, if relatively many unknown types of data streams are not steered correctly, the decision is made automatically about how to change the rule base in an attempt to improve performance.

일 실시예에서, 규칙 베이스를 변경하는 방법에 대한 이 결정은 다음의 분석에 근거하는 데 이 분석은 많은 상이한 가능한 상관관계들로 정확하고 부정확한 스위칭 결정들을 상관관계한다(이를 테면, 소정의 가능성은 후보자들처럼 결정되온 것을 상관관계한다). 예들은 패킷이 보내지는 날짜 및 시간 및 패킷들의 "돌발적인/연속적인" 행동 및 소정의 전송 주기에 걸쳐서 효과적인 데이터 속도 및 유사한 것으로 정확한 그리고 부정확한 스위칭 결정들을 상관관계화하는 것을 포함한다.In one embodiment, this decision on how to change the rule base is based on the following analysis, which correlates correct and inaccurate switching decisions with many different possible correlations (eg, some likelihood). Correlates to what is determined as candidates). Examples include correlating accurate and inaccurate switching decisions with the effective data rate and the like over a certain transmission period and the date and time the packet is sent and the “abrupt / continuous” behavior of the packets.

이 분석에 근거하여, 하나 이상의 상관 관계들은 조종의 정확성으로 비교적 중요한 상관 관계를 갖는 것으로써 식별되며 그러한 상관 관계는 규칙 베이스를 변경하는 근거로써 사용된다. 예를 들어, 부정확하게 조종된 알려지지 않은 유형의 데이터 스트림들의 대부분은 정오 및 오후 3시 사이 및/또는 특정한 포트 번호동안 발생한다고 결정된다면, 규칙 베이스는 그 시간들동안 발생되는 알려지지 않은 데이터 스트림들을 위해 상이한 스위칭 결정들을 내리도록 변경된다. 그 시스템은 이 알려지지 않은 데이터 유형을 위해 새로운 규칙들을 임시적으로 가산할 것이고 알려지지 않은 세션 유형을 위해 이전의 규칙 설정을 교체하는 이 새로운 규칙 설정을 사용한다. 그 카운터들(도 19에서 도시된 것들처럼)은 변화된 규칙들과 관계있는 카테고리들을 위해 적어도 그다음에 재설정되고, 그 시스템은 후의 발견적 방법에 근거한 성능 분석을 위해 정보를 축적하고 수행하는 것을 계속한다.Based on this analysis, one or more correlations are identified as having a relatively significant correlation with the accuracy of the steering and that correlation is used as the basis for changing the rule base. For example, if it is determined that the majority of incorrectly steered unknown types of data streams occur between noon and 3 pm and / or during a particular port number, the rule base may be used for unknown data streams generated during those times. It is changed to make different switching decisions. The system will temporarily add new rules for this unknown data type and use this new rule set to replace the previous rule set for the unknown session type. The counters (such as those shown in FIG. 19) are at least subsequently reset for categories related to the changed rules, and the system continues to accumulate and perform information for performance analysis based on later heuristics. .

대역폭 스위칭의 목적으로 데이터 스트림 유형의 식별을 사용하는 것 이외에, 데이터 유형은 다른 목적들을 위해 사용될 수 있다. 일 실시예에서, 데이터 스트림 유형들은 데이터 스트림들의 큐잉을(가중된 순조로운 큐잉과 같은) 위해 식별되고 사용된다. 그러한 큐잉은 위에서 서술된 대역폭 선택 또는 스위칭에 부가적으로 또는 대신해서 사용될 수 있다. 도 20의 도시에서, 그 시스템(2012)은 도시된 실시예에서 들어오는 10Mbps 랜 패킷 스트림(2016)을 수신하고 128Kbps의 왠(WAN) 패킷 스트림(2018)을 출력하는 라우터(2014)에 위치하는 것과 같이 데이터 스트림에 위치한다. 도시된 실시예에서, E-메일 및 인터넷 "웹(web)" 패킷들이 더 낮은 우선순위(2024,2026)으로 제공되는 동안, 음성 및 비디오 데이터 패킷들은 가장 높은 우선순위(2022)로 제공된다. 출력 스트림(2018)의 대역폭이 완전히 이용되지 않는다면, 패킷 스트림(2016)의 패킷들은 버퍼링없이 실질적으로 출력 라인(2018)로 위치된다. 그러나, 출력 스트림(2018)의 대역폭이 완전이 이용되지 않는다면, 그 시스템은 예로, 다른 큐들(2028a,b,c)에서 패킷들을 위치함으로써 그들이 도착했을때 패킷들을 큐한다. 제일 높은 우선 순위(2022)를 갖는 음성 및 비디오에 해당하는 큐(2028a)를 제공하는 것과 같이 다른 큐들은 다른 우선순위로 제공된다. 라우터(2014)는 큐들(2028a,b,c)로부터 패킷들을 출력하지만, 그것들이 도착했던 순서대로 나아가는 방법으로 패킷들을 출력할 필요는 없고, 다양한 큐들로부터 동일한 분포를 제공할 필요는 없다. 대신에, 가장 높은 우선 순위를 갖는 큐(2028a)에서 패킷들은 더 낮은 우선순위의 큐들(2028b,c)에서 패킷들보다 더 큰 주파수를(입력 주파수 또는 동일한 또는 비례적인 주파수를 혼합한다) 갖는 출력이다. 따라서, 들어오는 패킷 스트림(2016), 음성 및 비디오는 패킷들의 대략적으로 3분의 1을 나타내는데 반하여, 그 음성 및 비디오 패킷들은 더욱 빈번히 출력이어서 도 20의 예에서 도시된 출력 스트림(2018)에서, 그것들이 출력 패킷들의 50%를 나타내게 된다.In addition to using the identification of the data stream type for the purpose of bandwidth switching, the data type can be used for other purposes. In one embodiment, data stream types are identified and used for queuing of data streams (such as weighted smooth queuing). Such queuing may be used in addition to or in place of the bandwidth selection or switching described above. 20, the system 2012 is located in a router 2014 that receives the incoming 10 Mbps LAN packet stream 2016 and outputs a 128 Kbps WAN packet stream 2018 in the illustrated embodiment. It is located in the data stream together. In the illustrated embodiment, voice and video data packets are provided at the highest priority 2022, while E-mail and Internet "web" packets are provided at the lower priorities 2024, 2026. If the bandwidth of the output stream 2018 is not fully utilized, the packets of the packet stream 2016 are positioned substantially in the output line 2018 without buffering. However, if the bandwidth of the output stream 2018 is not fully utilized, the system queues the packets when they arrive, for example by placing the packets in the other queues 2028a, b, c. Other cues are provided at different priorities, such as providing a cue 2028a corresponding to the voice and video having the highest priority 2022. Router 2014 outputs packets from queues 2028a, b, and c, but need not output packets in a way that goes in the order in which they arrived, and does not need to provide the same distribution from the various queues. Instead, the packets in the highest priority queue 2028a have an output with a higher frequency (mixing the input frequency or the same or proportional frequency) than the packets in the lower priority queues 2028b, c. to be. Thus, while incoming packet stream 2016, voice and video represent approximately one third of the packets, the voice and video packets are more frequently output so that in the output stream 2018 shown in the example of FIG. This represents 50% of these output packets.

도 21은 데이터 스트림에서 시스템(2112)이 성능을 높이고 비용을 축소하기 위하여 사용될 수 있는 다른 방법을 소개한다. 도 21에서 도시된 예는 비디오 수신기가 10Mbps의 랜 패킷 스트림(2116)을 통하여 비디오 송신기로(예로, 128Kbps의 왠 패킷 스트림(2118)을 통하여) 특정한 크기의 비디오 패킷 데이터를 위한 요청들을 송신하는 상황에 관련된 것이다. 이 예에서, 시스템(2112)은 패킷 속도 제어를 위해 사용된다. 예를 들어, 비디오 수신기가 특정한 량의 비디오 데이터를 요청하는 것일 수 있고, 그러나 데이터 요청을 한번에 완료하기에 필요한 모든 패킷들을 전송하기에 가장 효율적이지 않을 것이다. 도 12의 예에 따른, 패킷 스트림들(2116,2118)의 들어오고 나가는 효과적인 데이터 속도들을 결정한 후에, 그 시스템은 관리자에 의해 이전에 요청되어온 데이터 속도와 같은 비디오를 위해 "가상의" 데이터 속도를 고려한다. 예를 들어, 관리자는 64Kbps 또는 예로 8Kbps의 속도로 비디오 데이터를 요청할 수 있다. 그 시스템은(2112) 속도 제어를 유지하기 위하여 데이터의 최대 "청크(chunk)" 크기를 계산한다. 비디오에 있어서(128Kbps 인 (2118)과 같은 회선를 통하여 패킷 속도 제어에 있어서), 이것은 예로, 1초당 두번 요청받는 4KB 청크들로 설정될 수 있다. 이 청크 크기는 시간 초과들을 방지하기 위해 필요한 것으로써 조정될 수 있다. 이 상황에서, 비디오 패킷 데이터 요청 "ACK"이 수신될 때, 스 시스템(2112)은 요청된 데이터의 양의 크기를 바꾼다. 예를 들어, 그 시스템은 계산된 최대 청크 크기와 요청된 데이터의 사이에서 떨어진 최소 값의 크기를 선택한다. 일례로써, 비디오 수신기가 32KB용 요청을 보낸다면, 그 시스템(2112)은 대신에, 송신기에게 4KB용 요청을 출력한다. 그 시스템(2112)이 요청된 4KB가 송신기(2126)으로부터 송신됨으로서, 28KB(2128)의 남아있는 양을 방치한다는 것을 인지할 때, 그 시스템(2112)은 다음에 4KB용 다른 요청을 출력한다. 이 과정은 다음에 요청된 32KB가 수신기에 제공될 때까지 반복된다. 이 방법으로, 특정한 요청(2122)을 수신하는 것에 응답하여, 그 시스템(2112)은 이것을 일련의 상이한 요청들(2124,2132)등으로 변환하고, 이는 데이터 전송의 종합적인 요구 성능 및 경제적 성능이 일정한 방법으로 패킷 속도의 제어를 제공하기 위해서이다.21 introduces another method that system 2112 can use to increase performance and reduce cost in a data stream. In the example shown in FIG. 21, a video receiver transmits requests for video packet data of a specific size to a video transmitter (eg, through a WAN packet stream 2118 of 128 Kbps) via a LAN packet stream 2116 of 10 Mbps. Related to. In this example, system 2112 is used for packet rate control. For example, a video receiver may be requesting a certain amount of video data, but it will not be the most efficient to send all the packets needed to complete the data request at once. After determining the effective data rates for incoming and outgoing packet streams 2116, 2118, according to the example of FIG. 12, the system may determine a " virtual " data rate for video such as the data rate previously requested by the administrator. Consider. For example, an administrator can request video data at a rate of 64 Kbps or 8 Kbps, for example. The system 2112 calculates the maximum "chunk" size of the data to maintain speed control. For video (for packet rate control over a line such as 2118, which is 128 Kbps), this may be set, for example, to 4 KB chunks requested twice per second. This chunk size can be adjusted as needed to prevent timeouts. In this situation, when a video packet data request "ACK" is received, the swap system 2112 changes the size of the amount of data requested. For example, the system selects the size of the minimum value that falls between the calculated maximum chunk size and the requested data. As an example, if the video receiver sends a request for 32 KB, the system 2112 instead outputs a request for 4 KB to the transmitter. When the system 2112 realizes that the requested 4KB is sent from the transmitter 2126, leaving the remaining amount of 28KB 2128, the system 2112 then outputs another request for 4KB. This process is repeated until the next requested 32 KB is provided to the receiver. In this way, in response to receiving a particular request 2122, the system 2112 converts it into a series of different requests 2124, 2132, and the like, which may result in the overall required performance and economic performance of the data transfer. To provide control of the packet rate in some way.

도 22는 데이터 스트림 유형 정보가 예로, "방화벽"과 같은 보안 기능들을 제공하기 위하여 사용되는 다른 방법의 도시를 제공한다. 도 22의 도시에서, 그 시스템(2112)은 데이터 스트림에서 위치된다(라우터(2214)와 같이). 도 22의 도시는 원하는 보안 특성들은 시간이 오후 4시 및 8시 사이가 아니고 보안 소프트웨어 키가 라우터에게 보내지지 않는다면, 모든 파일 전송 프로토콜(FTP) 패킷들(2216)을 위성 뱅크내로부터 거부하는 것을 포함한다.FIG. 22 provides an illustration of another method in which data stream type information is used to provide security functions such as, for example, a "firewall." In the illustration of FIG. 22, the system 2112 is located in a data stream (such as router 2214). 22 shows that the desired security characteristics are to reject all file transfer protocol (FTP) packets 2216 from within the satellite bank unless the time is between 4 pm and 8 pm and no security software key is sent to the router. Include.

도 22의 도시에서, 10Mbps 랜 패킷 스트림상에서 FTP 패킷들(2216)은 128Kbps 왠 패킷 스트림상에서 제공되지 않는다. 외냐하면, 도시에서, 시간이 오후 4시에서 8시 사이에 있지 않거나 또는 보안 키가 라우터에게 보내지지 않기때문이다. 일 실시예에서, 만약 첫번째로 HQ 시스템들이 예로, 15분 전송 윈도우까지 허용하는 라우터로 보안 연결을 "잠금 해제"한다면, 그 시스템은 예로, HQ 시스템들에 의해 위성 뱅크 시스템들로 액세스를 허용하기 위하여 구성될 수 있다.In the illustration of FIG. 22, FTP packets 2216 on a 10 Mbps LAN packet stream are not provided on a 128 Kbps WAN packet stream. The reason is that in the city, the time is not between 4 pm and 8 pm or the security key is not sent to the router. In one embodiment, if HQ systems first "unlock" a secure connection to a router that allows, for example, up to a 15-minute transmission window, the system may, for example, allow access to satellite bank systems by HQ systems. Can be configured.

도 23은 상이한 통신 매체상에서 상이한 형태의 데이터 스트림들을 라우팅하는 라우터(2314)에서 시스템(2312)의 사용의 예를 도시한다. 예를 들어, 도시된 실시예에서, 랜 패킷 스트림(2316)상에서 패킷들은 저속도, 저비용 다이얼-업 왠(2318)으로, 중간 속도,중간 비용의 ISDN 왠(2322)으로, 또는 고속도, 고비용 광섬유 왠(2324)으로 라우트된다.FIG. 23 shows an example of the use of system 2312 at router 2314 for routing different types of data streams on different communication media. For example, in the illustrated embodiment, packets on a LAN packet stream 2316 are either a low speed, low cost dial-up WAN 2318, a medium speed, medium cost ISDN WAN 2232, or a high speed, high cost fiber optic WAN. Routed to 2324.

다른 형태의 가능한 매체가 당업계에서 있을 수 있다. 도시된 실시예에서, 랜 패킷 스트림은 음성 및 비디오 패킷들(2326)을 포함하는 많은 상이한 형태들의 패킷들을 포함할 수 있고, 이들 패킷들은 이예에서, 타이밍이 중요한 데이터로 간주되고, 최대 성능을 요구하고, 이 예에서, 평균 중요성이라고 여겨지는 웹 패킷들(2332)와 비용을 최소화하기 위한 방법을 요구하고 이 예에서 시간이 중요하지 않다고 여겨지는 E-메일 패킷들(2328)을 포함한다. 그 시스템(2312)은 패킷들을 패킷 유형에 따라 다양한 매체(2318,2322,2324)로 각 매체와 관련된 버퍼들(2334a,b,c)를 통하여 라우트하기 위하여 작동한다. 도 23의 예에서, 시스템(2312)를 위한 규칙 베이스는 타이밍에 민간한 또는 임무에 민감한 패킷들이 수신되었을때, 예로,(2326), 이들은 사용가능한 고속의 회선 또는 왠(2324)을 통하여 송신된다. 시간이 덜 중요한 패킷들이, 상호 작용 어플리케이션을 위해 이를 테면, 패킷들 및 웹 패킷들(2332)이 수신될 때, 이것들은 덜 비싼 중간 속도의 회선 또는 왠(2322)를 통하여 송신되고, E-메일 패킷들 및 다른 시간이 덜 중요한 패킷들이 수신될때, 이것들은 가장 싼 비용 회선 또는 왠(2318)을 통하여 송신된다.Other forms of possible media may be present in the art. In the illustrated embodiment, the LAN packet stream may include many different types of packets including voice and video packets 2326, which in this example are considered timing critical data and require maximum performance. And, in this example, Web packets 2322, which are considered to be of average importance, and a method for minimizing costs, and E-mail packets 2328, which in this example are not considered time critical. The system 2312 operates to route packets to various media 2318, 2232, 2324 depending on the packet type through the buffers 2334a, b, c associated with each media. In the example of FIG. 23, the rule base for system 2312 is transmitted over an available high speed line or WAN 2324 when, for example, 2326, a private or mission sensitive packet is received in timing. . Less time-critical packets, such as for interactive applications, when packets and web packets 2332 are received, are sent over a less expensive medium speed line or WAN 2322, and e-mail. When packets and other less time critical packets are received, they are transmitted over the cheapest cost line or WAN 2318.

시스템 사용의 도시들이 스위칭을 포함하는 도시들을 포함하여 제공되어왔음에도 불구하고, 많은 스위칭의 시스템 외부로의 어플리케이션들을 제공하는 것이 가능하다. 많은 그러한 어플리케이션들은 도 24에서 도시되었던 것처럼, 패킷 스트림으로 생성된 패킷들(2418)을 삽입하는 것 및/또는 데이터 스트림(2416)에서 패킷들의 복사본들을 시스템(2412)에 공급하는 것을 포함한다. 스위칭의 시스템 외부로의 어플리케이션들의 예들은 회선을 모니터링하는 것을, 예로, 이용을 넘어서, 트래픽 유형들을 추적하고, 관리자에게 리포트하고, 원격으로 연결하는 사용자들의 사용 특성들을 추적하고, 현재의 연결의 효율과 비용을 이론적 연결 유형(예로, 이론적 연결 유형의 소정의 프로파일)으로 비교하고, 증가된 지능 방화벽으로써 역할을 하고(보안을 분석하고 개선점들을 추천하기 위하여), 진단 목적으로 데이터를 시뮬레이트하고, 재생하고, 시스템을 통하여 송신되는 데이터의 전송 효율을 개선하고, 효율을 개선하기 위하여 생각치 못한 방법들을 연구하고, 용장성을 자동적으로 제공하기 위하여 다른 시스템들과 통신하고, 또는 바이러스들을 방지하고 식별하기 위하여 패킷들내애 바이트 패턴들을 추적하고, 터널된 프로토콜들과 보안 프로토콜들과 유사한 것들에 작용하하고 이것들을 식별하는 것을 포함한다.Although cities of system use have been provided including cities including switching, it is possible to provide applications outside of the system of many switching. Many such applications include inserting the packets 2418 generated into the packet stream and / or supplying copies of the packets in the data stream 2416 to the system 2412, as shown in FIG. 24. Examples of applications outside the switching system include monitoring the circuit, e.g. beyond usage, tracking traffic types, reporting to administrators, tracking usage characteristics of users connecting remotely, and efficiency of current connections. Compare cost and cost to theoretical connection types (eg, a certain profile of theoretical connection types), act as an increased intelligence firewall (to analyze security and recommend improvements), simulate data for diagnostic purposes, and play back To improve the transmission efficiency of data transmitted through the system, to study unexpected methods to improve the efficiency, to communicate with other systems to automatically provide redundancy, or to prevent and identify viruses To track byte patterns in packets, tunneled protocols It includes acting on things similar to security protocols and to identify them.

결정 시스템(314)은 많은 성분들을 포함하고, 일실시예에서, 이것들은 분배된다. 다른 것들은 시스템 개발자 및/또는 관리자의 워크스테이션들에 존재하는 반면, 몇몇 성분들은 판매자의 기기에 존재한다.Determination system 314 includes many components, and in one embodiment, they are distributed. Others are present on the workstations of the system developer and / or administrator, while some components are on the vendor's device.

그 시스템은 패킷에 근거한 레벨보다는 스트림에 근거하여 작동하는 것이 바람직하다. 당업자들은 알고 있듯이. X.25, 복수 회선 프로토콜 및 유사한 시스템들은 복수의 데이터 패킷들을 전송함으로써 소정의 데이터 스트림을 전송하고, 데이터 패킷의 각각은 데이터 스트림의 부분을 포함한다. 각 데이터 패킷을 위해 분리된 결정들을 만들기 보다는, 본 시스템은, 각각 상이한 데이터 스트림에 대한 정보를 근거로하여 결정을 내리고 보강하는 데이터 스트림들을 식별한다. 결정 시스템(314)은 예로, ISDN 인터페이스를 통하여 데이터 스트림의 종료 시간, 시작 시간, 크기 모두를 결정할 수 있다. 시스템은 데이터스트림의 제 1 소수의 패킷들로부터 정보를 얻은 후에 및 몇몇 경우에서는 스트림의(스트림의 데이터 유형을 식별하는 다른 정보 또는 충분한 헤더를 갖고 있는) 오직 하나의(제 1로써) 패킷으로부터 정보를 얻은 후에 이 결정을 할 수 있다.The system preferably operates on a stream rather than on a packet level. As those skilled in the art know. X.25, multi-line protocols and similar systems send certain data streams by sending a plurality of data packets, each of which comprises a portion of the data stream. Rather than making separate decisions for each data packet, the system identifies data streams that make and enrich decisions based on information about different data streams, respectively. Decision system 314 may determine all of the end time, start time, and size of the data stream, for example, via an ISDN interface. The system obtains information from the first few packets of the datastream and in some cases from only one (as first) packet of the stream (with enough information or other information identifying the data type of the stream). You can make this decision after obtaining.

또한, 결정 시스템(314)은 스트림의 다른 특성들을 식별할 수 있다. ISP(Internet Service Provider) 환경에서, 예를 들어, 결정 시스템(314)은 특정한 스트림이 FTP 세션 및 HTTP 요청을 또는 몇몇 다른 유형의 전송을 서버에게 보내는지를 결정할 수 있다. 스트림 유형에 대한 이 정보는 아래에 놓여있는 ISDN 회선들상의 예측된 수요에 대해 결정을 내리는데 사용될 수 있어서, 예로, 언제 채널을 가산하고 종료할지 결정을 내리는 근거로써 역할을 한다. 테이블 1은 도시의 목적으로 선택된 데이터 스트림 유형과 데이터 스트림들의 특정한 특성들의 리스트를 제공하고, 이것들은 소정의 환경에서 그 데이터 스트림에 대한 장래의 대역폭 수요들을 예측하기에 유용하다. 다른 데이터 유형들과 특성들은 예로, HTTP,SMTP,SNMP 및 H.323을 포함하는 당업계에 잘 알려져 있다.In addition, the decision system 314 can identify other characteristics of the stream. In an Internet Service Provider (ISP) environment, for example, the decision system 314 can determine whether a particular stream sends FTP sessions and HTTP requests or some other type of transmission to the server. This information about the stream type can be used to make decisions about the predicted demand on underlying ISDN circuits, for example to serve as a basis for making decisions about when to add and terminate a channel. Table 1 provides a list of data stream types and specific characteristics of the data streams selected for illustrative purposes, which are useful for predicting future bandwidth demands for that data stream in a given environment. Other data types and characteristics are well known in the art including, for example, HTTP, SMTP, SNMP and H.323.

데이터 스트림 유형Data stream type 대표적 특성들Representative Characteristics FTPFTP 큰 크기, 크기면에서 큰 표준 편향, 통상적으로 시간은 중요하지않음Large size, large standard deflection in size, usually time is not important HTTPHTTP 요청들은 평균적으로 작은 크기이며, 응답들은 평균적으로 큰크기이며, 크기면에서 큰 표준 편향이며, 비교적 시간이 중요함Requests are small on average, responses are big on average, large standard bias in size, and relatively time critical SMTP(E-메일)SMTP (E-mail) 평균적으로 작은 크기, 시간은 중요하지 않음Small size on average, time doesn't matter 비디오 회의/오디오 스트림들Video Conferencing / Audio Streams 평균적으로 큰 크기, 시간이 중요On average big size, time matters

일 실시예에서, 데이터 스트림에 대한 장래의 대역폭 수요에 대한 예측들은 규칙 베이스에 의해 실현된다. 그 규칙 베이스는 트래픽 통계치에 근거하여 자동적으로 또는 수동적으로 변경될 수 있는 것이 바람직하다. 그 결정 시스템(314)은 규칙 베이스를 변경하기에 유용한 통계치를 자동적으로 모으는 것이 바람직하다. 본 발명에 따라 많은 방법으로 결정 시스템(314)을 실현하는 것은 가능함에도 불구하고, 규칙 베이스 구성에 의한 실현은 일련의 예/아니오 결정들을 통하여 비교적 직관적인 방법으로 상이한 데이터 스트림들을 다루기에 시스템 개발자들이 더 쉽게 결정 시스템(314)을 프로그램하도록 해왔다고 믿어져왔다. 그러한 시스템 설계 또는 프로그래밍은 기본적인 하드웨어와 무관하여 다양한 하드웨어 구성들의 어떤 것과도 사용될 수 있는 것이 바람직하다. 일 실시예에서, 규칙들의 재프로그래밍 또는 변경들은 시스템의 동작을 간섭함없이, 예로, 라우터(116)를 재부팅할 필요없이 이루어질 수 있다.In one embodiment, predictions for future bandwidth demand for the data stream are realized by a rule base. The rule base may preferably be changed automatically or manually based on traffic statistics. The decision system 314 preferably automatically gathers statistics useful for changing the rule base. Although it is possible to realize the decision system 314 in many ways in accordance with the present invention, the realization by rule base construction is not possible for system developers to handle different data streams in a relatively intuitive way through a series of yes / no decisions. It has been believed that it has been easier to program the decision system 314. Such system design or programming may be used with any of a variety of hardware configurations regardless of the underlying hardware. In one embodiment, reprogramming or changing of rules may be made without interfering with the operation of the system, eg, without having to reboot router 116.

결정 시스템(314)의 최소 부분들에서 결정 시스템(314)의 효율적인 실행을 이루는 것을 돕는 것은 바이트 코드로써 실행되는 것이 바람직하다. 그 규칙 베이스 시스템은 판매자 기기로 다운로드되기 전에 판매자와 무관한 바이트 코드로 컴파일되는 것이 바람직하다. 그 바이트 코드는 특히 패킷상에서 작동하기 위해서 및 2진(예/아니오) 결정들을 내리기 위해 발전되는 것이 바람직하다. 부가적인 효율은 최적의 또는 증가된 효율을 위해 2진 결정들을 자동적으로 명령함으로써 실행되는 것이 바람직하다. 하나의 실현에서, 몇몇 또는 모든 2진 결정들은 그들이 만든 것처럼 그 세션을 위해 플래그들을 설정하는 것을 초래하여, 한번 만들어진 결정들은 필요없다면 반복될 필요가 없다.Helping to achieve efficient execution of decision system 314 at the minimum portions of decision system 314 is preferably implemented as byte code. The rule base system is preferably compiled into vendor-independent byte code before being downloaded to the merchant device. The byte code is preferably developed to operate on the packet and to make binary (yes / no) decisions. Additional efficiency is preferably implemented by automatically instructing binary decisions for optimal or increased efficiency. In one implementation, some or all binary decisions result in setting flags for the session as they are made, so that the decisions made once need not be repeated unless needed.

바이트 코드는 컴파일링할 필요없이(컴파일러보다는 해석프로그램이 바이트 코드르르 제공할 때처럼) 제공될 수 있다. 이 접근은 새로운 또는 변경된 바이트 코드를 제공하기에 유용할 수 있고, 이 바이트 코드는 시스템을 간섭하거나 또는 재부팅할 필요없이 실시간 성분들에 또는 시스템들의 성분들에 로드될 수 있다.Bytecode can be provided without the need to compile (as the interpreter provides the bytecode rather than the compiler). This approach can be useful for providing new or modified byte codes, which can be loaded into real-time components or components of systems without the need to interrupt or reboot the system.

실현 효율은 도 4에서 도시된 실시예에서와 같이 결정 시스템(314)의 성분화된 또는 모듈화된 구조에 의해 더 촉진된다. 도 4의 실시예에서, 실시간 성분 RTC(412)는 패킷들이 라우터(116)를 통과할 때 패킷들에 대한 정보를 얻기 위하여 ISDN(119) 데이터 스트림들과 결부한다. RTC(412)는 그러한 스택에 존재하지 않고, 대신에, 판매자 어플리케이션 프로그램 인터페이스들(API's)를 통하여 패킷들에 대한 정보를 얻는 것이 바람직하다. 프로토콜 스택 자체는 변경될 수 없기에, 본 발명이 필요한 API's를 제공하는 판매자에게 제공회고, 실현될 때, 프로토콜 스택을 다시 증명할 필요가 없다.Realization efficiency is further facilitated by the componentized or modular structure of the crystal system 314 as in the embodiment shown in FIG. In the embodiment of FIG. 4, real-time component RTC 412 associates with ISDN 119 data streams to obtain information about the packets as they pass through router 116. RTC 412 does not reside on such a stack, and instead it is desirable to obtain information about packets via vendor application program interfaces (API's). Since the protocol stack itself cannot be changed, the present invention is provided to vendors providing the necessary API's, and when realized, there is no need to prove the protocol stack again.

RTC(412)는 결정 시스템(314)의 실시간 동작들의 대부분 모두를 포함하는 것이 바람직하다. 도시된 실시예에서, RTC(412)는 많은 기능들을 수행한다. 그것은 특정한 데이터 스트림들의 시작,중간,끝 패킷들을 식별할 수 있다. 그 RTC(412)는 바이트 코드 시스템 또는 엔진에서 제공되는 규칙들을 사용하여 채널들을 개방하고 패쇄하는, 즉, 채널들을 스위치할 시기를 결정한다. RTC(412)는 데이터 트래픽에 대한 통계치를 또한 모은다. 모아지는 그 유형의 통계치들은 그 바이트 코드 엔진에 의해 결정되는 것이 바람직하다.RTC 412 preferably includes most of the real-time operations of decision system 314. In the illustrated embodiment, the RTC 412 performs many functions. It can identify the start, middle and end packets of specific data streams. The RTC 412 uses rules provided by the byte code system or engine to determine when to open and close channels, ie switch channels. RTC 412 also aggregates statistics for data traffic. The types of statistics that are collected are preferably determined by the byte code engine.

도 4의 실시예에서, RTC에 의해서 실행되는 그 바이트 코드 엔진은 적응 성분(AC)(416)에 의해서 RTC(414)에 제공된다. 이 구조는 RTC에 의해 실행되는 바이트 코드 엔진을 변경하거나 갱신하는 것을 허용한다. 특히, AC(416)은 데이터 스트림 특성들에 대한 통계들 뿐만아니라, RTC(422)에 의해 채널 스위치/개방/종료/ 결정을 수신한다. RTC가 현재 사용되고 있는 존재하는 구칙 베이스와 대비하여, 수신된 통계치들을 비료함으로써, AC(416)은 그 규칙 베이스가 현재의 환경에 더 적합한지 결정할 수 있다. AC(416)은 자동적으로(인간의 간섭없이) 바이트 코드 엔진의 개정된 또는 변경된 버전을 발생하고, 향상된 또는 적응된 엔진(414)을 RTC(412)로 다운로드한다. 이 방법으로, AC(416)는 환경 변화의 구체적 필요에 부응하기 위하여 RTC를 변경하거나 적응시킨다. AC에 의해서 사용되는 통계치들은 또한 관리자 콘솔(콘솔)(424)로 전송되는 것이 바람직하다.(서술된 실시예에서, 실현 성분(IC)(428)를 통하여)In the embodiment of FIG. 4, the byte code engine executed by the RTC is provided to the RTC 414 by an adaptation component (AC) 416. This structure allows changing or updating the byte code engine executed by the RTC. In particular, AC 416 receives channel switches / opens / ends / decisions by RTC 422 as well as statistics on data stream characteristics. By fertilizing the received statistics against the existing rule base where the RTC is currently being used, the AC 416 can determine whether the rule base is more suitable for the current environment. AC 416 automatically generates a revised or changed version of the byte code engine (without human intervention) and downloads the enhanced or adapted engine 414 to RTC 412. In this way, AC 416 alters or adapts the RTC to meet the specific needs of environmental change. The statistics used by the AC are also preferably sent to the administrator console (console) 424 (in the embodiment described, via the realization component (IC) 428).

AC(416)는 실시간으로 동작할 필요성이 없다(또는 AC(416)의 정지 또는 감속과 같은 다른 방법의 선택은 현재의 데이터 흐름에 즉각적인 영향을 주지 않을 것이다). AC(416)과 같은 비-실시간 성분들은 라우터 프로세서 주기들이 사용가능할 때에만 동작하도록 구성되기 때문에(즉, 라우터 프로세서가 쉬고 있는 동안 라우터 프로세서를 사용하기 위하여) 실시간으로 동작할 필요가 없는 AC(416)와 같은, 그러한 성분들의 모듈화 또는 구분하는 것은 라우터 컴퓨터 상에 초과적인 계산 부하들을 부과하는 것을 피할수 있는 기회를 제공한다. 주기-훔침의 사용은 비교적 복합적이고, 시간-소모적인 분석이 전체적인 성능에 영향을 줌없이 및 중요한 부가사항 또는 라우팅 프로세서들 또는 다른 하드웨어의 갱신을 필요로함 없이 실현되도록 한다. 여기서 도시된 것처럼, 주기-훔침 및 다른 효율 증가 측정은 포함된 계산 부하때문에 상기 통신들 라우터들용으로 이전에 일반적으로 실행 불가능하다고 여겨졌던 여기 서술된 학습 또는 인공 지능 접근들을 사용하는 것을 가능하게 한다. 그 AC(416)는 또한 (RTC에 의해 만들어진) 스위치/개방/종료 채널 결정들(425)을 IC(428)로 전송한다. IC (428)의 주된 기능은 BACP(322) 및 MLPPP(318)의 판매자의 완성들과 인터페이스함으로써 RTC에 의한 결정들을 실행하는 것이다. IC(428)는 AC(416)를 통하여 전송되고 RTC에 의해 결정된 것처럼 채널들을 스위치하고, 개방하고,해체하기 위하여 판매자들 API's를 사용하는 BACP로 호출하는 것이 바람직하다. IC(428)는 또한 통계적인 정보(424)를 저장하고, (432)상에서 그것을 관리자 콘솔(426)로 전송한다. 도 10에서 도시된 것처럼, 그 관리자 콘솔(426)은 즉, 네트워크에서 총 액티브 및 인액티브 라우터들(1014) 및 유사한 것들인 상태(1012)와 같은 모든 라우터들에 대한 정보를 디스플레이하도록 구성되는 것이 바람직하다. 도 11에서 도시된 것처럼, 관리자 콘솔(426)은 다양한 시간 주기들(1114a),(114b) 및 유사한 것들에서 바이트들 및 패킷들과 같은 상태(1112)와 같은 다양한 라우터들을 위한 많은 형태의 통계치들의 상세한 주문형 도면들을 디스플레이하도록 구성되는 것이 바람직하다.AC 416 does not need to operate in real time (or the choice of other methods, such as stopping or decelerating AC 416, will not immediately affect the current data flow). Non-real-time components, such as AC 416, are configured to operate only when router processor cycles are available (i.e., to use the router processor while the router processor is idle), so that AC 416 does not need to operate in real time. Modularization or differentiation of such components, such as), provides an opportunity to avoid imposing excessive computational loads on the router computer. The use of cycle-stealing is relatively complex and allows time-consuming analysis to be realized without affecting overall performance and without requiring significant additions or updating of routing processors or other hardware. As shown here, period-stealing and other efficiency gain measures make it possible to use the learning or artificial intelligence approaches described herein previously considered not viable for the communications routers because of the computational load involved. . The AC 416 also sends switch / open / end channel decisions 425 (made by RTC) to the IC 428. The main function of IC 428 is to implement decisions by RTC by interfacing with the vendors' completions of BACP 322 and MLPPP 318. IC 428 preferably calls BACP using Vendor API's to switch, open, and tear down channels as determined by RTC and transmitted over AC 416. IC 428 also stores statistical information 424 and sends it on 432 to administrator console 426. As shown in FIG. 10, the administrator console 426 is configured to display information about all routers, such as state 1012, which is the total active and inactive routers 1014 and similar in the network. desirable. As shown in FIG. 11, the administrator console 426 is capable of many forms of statistics for various routers, such as state 1112 such as bytes and packets, at various time periods 1114a, 114b, and the like. It is preferred to be configured to display detailed on-demand drawings.

새로운 또는 변경된 규칙 베이스들은 도시된 관리 어플리케이션들(426),(434)을 사용하는 관리자들에 의해 발전될 수 있다. 그러한 새로운 규칙 베이스들은 IC(428)에(즉, 인터넷 프로토콜(IP) 소켓들) 의해서 AC(416)으로 다운로드(436)되고, AC(416)은 RTC(412)가 사용할 수 있는 바이트 코드(양호하게 최적화된)로 변환된다. 바이트 코드, 특히, 효율적인 또는 최적화된 바이트 코드로의 변환은 어려운 과제일 수 있다. 일 실시예에서, 그 과제는 주된 임플리컨트 이론에 근거한 과정들을 사용하여 달성되거나 또는 보조된다.New or changed rule bases may be developed by administrators using the illustrated management applications 426, 434. Such new rule bases are downloaded 436 to the AC 416 by the IC 428 (ie, Internet Protocol (IP) sockets), and the AC 416 is a byte code (good) that the RTC 412 can use. Is optimized). Conversion to bytecode, in particular efficient or optimized bytecode, can be a challenging task. In one embodiment, the task is achieved or assisted using processes based on the main implicator theory.

관리자 콘솔(426)은 관리자가 네트워크에서(또는 라우터 계획 및 사용자 계획들과 같은 규칙 베이스들의 구체적인 부분들) 라우터들상에서 작동하는 규칙 베이스들을 위한 파라미터들을 변화시키거나 설정하도록 그래픽적인 사용자 인터페이스(GUI)를 공급한다. 예를 들어, 도 12에서 도시된 것처럼, 일 실시예에서 관리자 콘솔(426)은 특별한 사용자들(1212)을 위한 최대 대역폭을 설정하고, 특정 데이터 유형들(1214)용 계획을 설정하고, 계획들(1216)을 이름짓고 이와 유사한 것을 설정하기 위하여 드럽-다운(drop-down) 박스들 또는 다른 선택 아이템들을 디스플레이함으로써 특정 계획의 선택을 쉽게 하도록 구성될 수 있다. 그 관리자 콘솔(426)은 또한 통계치(432)의 쉽게 액세스 가능하고 이해할 수 있는 도면을 제공한다. 도시된 실시예에서, 계획 설정 성분(434)는 규칙 베이스들을 생성하고 변경하기 위하여 네트워크 엔지니어 사용된다. 도 13에서 도시된 것처럼, 그러한 계획 설정은 많은 프로그래머들 또는 네트워크 엔지니어들에게 익숙한 유형의 "트리(tree)"도면들을 배열함으로써 용이해지는 것이 바람직하다.The administrator console 426 provides a graphical user interface (GUI) for the administrator to change or set parameters for rule bases operating on routers in the network (or specific portions of rule bases such as router plans and user plans). To supply. For example, as shown in FIG. 12, in one embodiment the administrator console 426 sets the maximum bandwidth for special users 1212, sets a plan for specific data types 1214, and plans. It may be configured to facilitate the selection of a particular plan by displaying drop-down boxes or other selection items to name 1216 and set something similar. The administrator console 426 also provides an easily accessible and understandable view of the statistics 432. In the illustrated embodiment, plan configuration component 434 is used by a network engineer to create and modify rule bases. As shown in FIG. 13, such planning is preferably facilitated by arranging "tree" drawings of the type familiar to many programmers or network engineers.

그 관리자 콘솔은 하나 이상의 결정 시스템들(314)과 복수의 규칙 베이스들의 동시적인 관리를 허용한다. 모든 결정 시스템들로의 소켓-레벨 IP 인터페이스와 같은 인터페이스의 사용은 이러한 과제를 실현하는데 도움이 된다. 그러한 구성에서, 규칙 베이스들을 변경하고 생성하기 위하여 사용되는 언어 뿐만이 아니라 관리자 콘솔에서 표현되는 인터페이스는 판매자-독립적이고, 따라서 소정의 IP 네트워크상에서 현재의 판매자 하드웨어의 유형과 관계없이 관리자에게 동일하게 나타날 것이다.The administrator console allows simultaneous management of one or more decision systems 314 and a plurality of rule bases. The use of an interface, such as a socket-level IP interface to all decision systems, helps to realize this challenge. In such a configuration, the interface used in the administrator console, as well as the language used to change and create rulebases, is vendor-independent and will therefore appear identical to the administrator regardless of the type of merchant hardware present on a given IP network. .

도 4에서 도시된 것처럼, 최종 사용자 또는 클라이언트(114)의 하드웨어 또는 소프트 웨어로의 변경없이 본 발명을 실현하는 것은 가능하다. 그러나, 몇가지의 이로운 경우에서 도 5에서 도시된 것처럼 특정한 클라이언트 쪽 어플리케이션들을 포함하는 시스템을 제공하는 것이 가능하다. 일 실싱예에서, 클라이언트 연결 성분(514)는 전화 회사 및 ISP(Internet 서비스 Provider)모두에게 사용자의 ISDN 연결을 설정하는 것을 도와준다. 관리 성분(516)는 그의 또는 그녀의 ISDN 사용에(예로, 사용자 계획의 사용 및 변경을 통하여) 대해 제어의 등급을 최종 사용자에게 제공하기 위하여 제공될 수 있다. 이것은 사용자들이 그들 자신의 요청의 그들의 특별한 지식에 근거한 데이터 통신의 비용을 줄이고, 효율을 더 증가시키도록 한다. 사용자는 예로, 서비스의 비용들 및 레벨사이의 특정한 평형을 나타내고 싶어하고, 예로, E-메일 메세지들이 비용과 상관없이 제일 높은 우선 순위를 수신하는 것을 구체화하고 싶어한다. 그 서버는 또한 시스템의 동작상에 영향을 미치는 몇가지의 가능성을 갖고 싶어한다. 일 실시예에서, ISP는 최종 사용자에게 사용가능한 옵션들을 부가하거나 또는 변화시키고 싶을때, 서비스 공급자는 클라이언트쪽에 변경된 조건들을 즉시 빠르게 보낼 수 있다.As shown in FIG. 4, it is possible to implement the invention without changing the hardware or software of the end user or client 114. However, in some advantageous cases it is possible to provide a system that includes specific client side applications as shown in FIG. 5. In one practical example, the client connection component 514 helps establish a user's ISDN connection to both the telephone company and the Internet Service Provider (ISP). The management component 516 may be provided to provide the end user with a grade of control for his or her ISDN use (eg, through the use and modification of a user plan). This allows users to reduce the cost of data communication based on their special knowledge of their own request, and further increase the efficiency. The user, for example, wants to indicate a particular equilibrium between the costs and levels of service, for example, to specify that e-mail messages receive the highest priority regardless of cost. The server also wants to have several possibilities that affect the behavior of the system. In one embodiment, when the ISP wants to add or change the options available to the end user, the service provider can immediately send the changed conditions to the client side immediately.

도 6a 및 6b는 본 발명의 일 실시예에 따라 채널 스위칭 결정을 하는데 포함되는 단계들을 처리하고 성분들을 도시한다. 도시된 구성에서, 데이터 패킷이 라우터(612),(614)에 도달할 때, 패킷(616)의 복사본은 스위칭 시스템(618)으로 특히, 라우터(624)에 의해 RTC(622)로 배달된다. 그 RTC는 그 패킷을 해독하고 대역폭(628)을 변화시킬 것인지 아닌지 결정하기 위하여 규칙 베이스(626)를 사용한다. RTC가 대역폭을 변화시키지 않는다면, 그 RTC는 그것의 결정을 기록하고 AC(638)을 통하여 IC(636)으로 추천(634)을 보낼 것이다. 그 IC(636)는 라우터(642)에 의해 대역폭으로 조정을 요청하기 위하여 대역폭 제어 방법을 사용하여, 대역폭 스위치들 644a,b,c를 개방하거나 또는 패쇄한다. 특정의 패킷이 대역폭에서 변화를 초래하는지에 상관없이, 그 RTC(622)는 때때로 또는 주기적으로 AC(646)으로 만들어진 결정에 대해 리포트할 것이다. 그 AC(638)는 이 결정들을 평가할 것이고 RTC(648)의 규칙들 베이스(626)을 변경하기 위하여 그것 자체의 더 큰 규칙 설정을 사용할 것이다.6A and 6B illustrate the components and processing steps involved in making a channel switching decision in accordance with one embodiment of the present invention. In the configuration shown, when a data packet arrives at routers 612, 614, a copy of the packet 616 is delivered to the switching system 618, in particular by the router 624, to the RTC 622. The RTC uses the rule base 626 to decrypt the packet and determine whether or not to change the bandwidth 628. If the RTC does not change the bandwidth, the RTC will record its decision and send a recommendation 634 through the AC 638 to the IC 636. The IC 636 opens or closes the bandwidth switches 644a, b, c using a bandwidth control method to request adjustment to the bandwidth by the router 642. Regardless of whether a particular packet causes a change in bandwidth, the RTC 622 will report on a decision made to AC 646 from time to time or periodically. The AC 638 will evaluate these decisions and use its own larger rule setting to change the rules base 626 of the RTC 648.

도 7a 및 도 7b는 더 자세히 RTC의 동작을 도시한다. 패킷 프로세서(712)는 처음 들어온 것이 처음 나가는(FIFO) 큐(714)와 같은 패킷 큐로 새로 도착한 패킷 복사본을 배치하여, 그것은 규칙 베이스 엔진(716)에 의해 처리 될 수 있다. 그 규틱 베이스 엔진(718)은 그것이 큐(714)로부터 패킷을 수신할 때, 다른 " 패킷 당 " 임시 변수(722)를 리셋하고, 규칙 베이스(626)를 통하여 처리(724)를 시작한다. 그 규칙 베이스(626)는 조작 코드 및/또는 분석기(726)에 의존하는 패킷을 해독하고, 패킷과 그것의 상태와 관련된 통계치들을 기록하고, 대역폭에서의 변화가 일어나는지(728) 결정한다. 규칙 베이스의 실행이 대역폭에서 변화를 초래한다면, RTC(622)는 그것의 결정을 기록하고, IC(636)로 추천(734)을 (AC를 통하여)보낸다. 상기 언급되었듯이, IC(636)는 라우터들(612)에 의하여 대역폭으로 조정들(736)을 요청하기 위하여 대역폭 제어 방법을 사용한다. 인지되었듯이 RTC(622)는 주기적으로 또는 때때로 그것의 결정들(738) 및 통계치들을 AC(742)로 기록한다. 다음 패킷을 처리하기 이전에, 그 RTC는 AC(638)로부터 수신된 새로운 또는 변경된 규칙들 베이스가 있는지 결정할 것이다. 그렇다면, 그 RTC는 현재 패킷의 처리가(예전의 규칙들 베이스를 사용하는) 완료될 때까지 기다릴 것이고(즉, 큐(714)로부터 새로운 패킷들을 처리하지 않을 것이다), 예전의 규칙들 베이스를 새로운 규칙들 베이스(746)로 교체할 것이고 처리(748)를 계속할 것이다.7A and 7B illustrate the operation of the RTC in more detail. The packet processor 712 places the newly arrived packet copy into a packet queue, such as the first incoming (FIFO) queue 714, which can be processed by the rule base engine 716. The rule base engine 718 resets another "per packet" temporary variable 722 when it receives a packet from the queue 714 and starts processing 724 through the rule base 626. The rule base 626 decrypts a packet that depends on the operation code and / or analyzer 726, records statistics related to the packet and its state, and determines 728 whether a change in bandwidth occurs. If the execution of the rule base results in a change in bandwidth, the RTC 622 records its decision and sends a recommendation 734 (via AC) to the IC 636. As mentioned above, IC 636 uses a bandwidth control method to request adjustments 736 to bandwidth by routers 612. As noted, RTC 622 writes its decisions 738 and statistics periodically or occasionally to AC 742. Before processing the next packet, the RTC will determine if there is a new or changed rules base received from AC 638. If so, the RTC will wait until the processing of the current packet is complete (using the old rules base) (ie, will not process new packets from queue 714), and will refresh the old rules base. It will replace the rules base 746 and continue processing 748.

도 8a 및 도 8b는 본 발명의 실시예에 따라 IC(636)의 처리 및 성분들을 도시한다. 도시된 실시예에서, 일반 관리자(812)는 계획들이 데이터 관리자(814)를 통하여(예로, 대용량의 저장 디바이스(816)상에) 저장되면서 관리 어플리케이션들(426,512)로부터의 상태 정보를 수신할 수 있고 데이터 매니저로부터 최근의 데이터를 충족시키기 위하여 정보를 요청한다. 그 대용량의 저장 디바이스(816)는 규칙 베이스들 및 데이터 사전들, 사용자 제한, 통계치들 및 유사한 것을 저장하기 위해 사용된다. 일반 관리자(812)는 새로운 계획들과 같은 이벤트들(824)에 대해 내부의 명령 제어기(822)를 인지한다. 그 명령 제어기(822)는 또한 AC(826)로부터 새로운 통계치들 및 상태 갱신들을 수신하고 제어기는 데이터 관리자(828)로 저장한다. 그 명령 제어기(822)는 또한 RTC(832)로부터 명령들을 수신하고 834상에서 연결 관리자(836,838)로 전송하는 대역폭을 변화하도록 명령한다. 그 연결 관리자(836)는 라우터의 (612) 연결 관리자(예로, BACP 또는 유사한 것)와 842와 통신함으로서 스위칭-업 및 스위칭-다운하는 요청들을 조정하여 움직이고 연결 요청들(844)의 진행을 처리한다.8A and 8B illustrate the processing and components of IC 636 in accordance with an embodiment of the present invention. In the illustrated embodiment, general manager 812 may receive status information from management applications 426 and 512 as plans are stored via data manager 814 (eg, on mass storage device 816). Request information from a data manager to satisfy recent data. The mass storage device 816 is used to store rule bases and data dictionaries, user restrictions, statistics and the like. The general manager 812 knows the internal command controller 822 for events 824 such as new plans. The command controller 822 also receives new statistics and status updates from AC 826 and the controller stores to data manager 828. The command controller 822 also instructs to change the bandwidth for receiving commands from the RTC 832 and sending them to the connection manager 836, 838 on 834. The connection manager 836 coordinates the switching-up and switching-down requests by communicating with the router's (612) connection manager (e.g., BACP or the like) to handle the progress of the connection requests 844. do.

도 9a 및 도 9b는 본 발명의 실시예에 따라 AC의 성분들 및 동작을 도시한다. 그 IC(636)는 계획들(912)의 설정을 (새로운 규칙 베이스, 데이터 사전의 형태인 또는 다른 형태들인) 플랫폼-중간의 포맷(914)이 (즉, 시스템(618)의 다른 실현에 의하여 판독될 수 있는) 되는 것이 양호하다. 로더(916)는 그 정책들을 플랫폼-구체적인 포맷으로 변환한다. 예로, 숫자들은 인텔 포맷상에서 승인된 16비트로 변환되고, 조작 부호들은 더 압축된 포맷으로 및 유사한 것(918)으로 저장된다. 그 로더는 그 계획들을 (922) ACBM(924)로 전송한다. 데이터 사전(926a), 분석기(926b), 조작 부호 리스트(926c) 및 유사한 것들과 제공되는 그 ACBM(924)은 정책들로부터 규칙들 베이스를 유도하고 그것을 분석기(934)의 주된 임플리컨트(932)로 전송한다. 그 주된 임플리컨트(932)는 규칙들 베이스를 감소시키고, 재정비하고 압축하여서 그것은 더 효율적인 (936)이 된다. 그 주된 임플리컨트는(932) 다음에 그 규칙들 베이스(938)를 RTC(942)로 전송한다. IC로부터 수신된 정보상에 규칙 베이스를 근거로 하는 것 대신에 또는 부가적으로 RTC로부터 주된 임플리컨트(946)으로 그것을 발생하고 그것을 주된 임플리컨트(946)로 보낸다.9A and 9B illustrate components and operation of AC in accordance with an embodiment of the invention. The IC 636 is responsible for setting up the plans 912 such that the platform-intermediate format 914 (in the form of a new rule base, data dictionary, or other forms) is enabled by other realizations of the system 618. (Which can be read). The loader 916 converts the policies into a platform-specific format. For example, numbers are converted to 16-bit approved on Intel format, and operation codes are stored in a more compressed format and similar 918. The loader sends the plans to ACBM 924 (922). The ACBM 924, provided with a data dictionary 926a, an analyzer 926b, an operation code list 926c, and the like, derives a rules base from the policies and converts it to the main implementor 932 of the analyzer 934. To send). The main implement 932 reduces, rearranges, and compresses the rules base so that it becomes more efficient (936). The main implementor 932 then sends the rules base 938 to the RTC 942. Instead of or based on the rule base on the information received from the IC, it additionally generates it from the RTC to the main implement 946 and sends it to the main implement 946.

도 14a 및 도 14b는 본 발명의 실시예에 따른 자가 변경 또는 자가 학습을 용이하게 하는 방법을 도시한다. 서술된 실시예에서, IC는 1412 데이터 사전 또는 규칙 베이스를 AC(1414)로 다운로드한다. AC가 데이터 사전을 수신한다면, 그것은 첫째로, RTC(622),(1416)으로 다운로드하기 전에 ACBM을 통하여 규칙 베이스를 발췌한다. 그 RTC(622)는 그것의 규칙 베이스(626)에 따라 처리하고 스위치한다. 주기적으로 또는 때때로, 그 RTC는 그것이 발견한 알려지지 않은 패킷에 대해 통계치(944) 및/또는 정보(지문)를 AC(638),(1418)로 전송한다. 그 AC(638)은 그것의 데이터 사전(926a)로 만들어진 알고리즘들 또는 규칙들(1422)을 삭제하거나 변경하거나 가산하기 위하여 규칙 베이스를 사용한다. 데이터 사전 또는 규칙 베이스에게 생긴 변화들은 저장(1424)를 위하여 IC 에 건네쥐어진다. 그 AC(638)은 규칙 베이스의 새로운 최적화되어 있지 않은 버전을 추출하고 주된 임플리컨트(932)로 전송한다. 그 주된 임플리컨트(932)는 RTC(1428)에 승인된 규칙 베이스를 전송하기 전에 새로운 규칙 베이스를 최적화하기 위하여 임플리컨트적 축소의 규칙들을 사용한다.14A and 14B illustrate a method for facilitating self-change or self-learning according to an embodiment of the present invention. In the embodiment described, the IC downloads a 1412 data dictionary or rule base to the AC 1414. If the AC receives a data dictionary, it first extracts the rule base via the ACBM before downloading to the RTCs 622 and 1416. The RTC 622 processes and switches according to its rule base 626. Periodically or occasionally, the RTC sends statistics 944 and / or information (fingerprints) to AC 638, 1418 for unknown packets it finds. The AC 638 uses a rule base to delete, modify or add algorithms or rules 1422 made from its data dictionary 926a. Changes made to the data dictionary or rule base are passed to the IC for storage 1424. The AC 638 extracts a new non-optimized version of the rule base and sends it to the main implementor 932. The primary implementor 932 uses the rules of implicit reduction to optimize the new rulebase before sending the approved rulebase to the RTC 1428.

그림 15는, 기지의 패킷이 스위치·업(즉 채널의 추가)을 생기게하는 방법의, 비교적 단순한 하나의 실례를 주고 있다. 그림 15의 실례로서는, 규칙 베이스626는, 패킷을 수취하고, 그 패킷의 유형를 HTTP(하이퍼텍스트(hypertext)전송 프로토콜(protocol))이라고 식별한다. 1512 규칙 베이스는, 이 패킷이 새로운 접속을 위한 헤더이라고 확인한다. 그 후, 규칙 베이스는, 그 패킷이 세션의 길이를 670 킬로 바이트이라고 지정하면 확인한다. 규칙 베이스는, 이 세션의 길이가, 스위치 업에 필요한 최대 바이트수보다 크다는 것을 확인한다. 세션(데이터 스트림)은 로그되어 (정보가 기억되어, 데이터 스트림식별자와 관련되어), 데이터·스트림,즉 세션의 진행이 추적된다. RTC는, 이 데이터 스트림및 /또는 패킷에 관하는 통계를 AC에 알리기위해서 기록을 만들어 (예컨대 데이터를 기억하거나, 플래그를 설정하거나 하는 것에 의해), 그것이 스위치 업이 옳았는지(소망의 데이터전송효과를 가져왔을까)아닌지 또한 /또는 규칙·베이스를 수정해야되는지 아닌지를 AC가 결정하는 데 도움이 된다. 그 후, RTC는 AC를 통하여 IC에 메시지를 보내어 스위치 업(대역폭의 추가)(1526)을 행하게 한다.Figure 15 gives a relatively simple example of how a known packet causes a switch up (ie, adding a channel). As an example in Figure 15, the rule base 626 receives a packet and identifies the type of packet as HTTP (hypertext transfer protocol). The 1512 rule base verifies that this packet is a header for a new connection. The rulebase then checks if the packet specifies a session length of 670 kilobytes. The rulebase verifies that the length of this session is greater than the maximum number of bytes needed for the switch up. The session (data stream) is logged (information is stored and associated with the data stream identifier) to track the data stream, i.e., the progress of the session. The RTC creates a record to inform AC about statistics about this data stream and / or packet (eg by storing data or setting a flag), and whether it is switched up correctly (desired data transfer effect). It also helps the AC decide whether or not to modify the rule base or not. The RTC then sends a message to the IC via AC to cause switch up (adding bandwidth) 1526.

그림 16은, 미지의 유형의 패킷이 수신된 결과로서 스위치 업이 행하여지는 것으로 되는 상태가 간단한 실례를 주고 있다. 그림 16의 실례로서는, 데이터의 유형를 식별할 수 없는 패킷이 수신된다(1612). 규칙 베이스는, 데이터 스트림, 스트림중의 패킷의 수등과 관련된 데이터 길이와 같은 이 패킷에 대한 정보(지문)를 입수하여, 전의 경우와 같이, 그 지문정보를 AC에 건네 주기위해서 기록을 만든다(1614). 도시된 실시예에서, 스위치 업을 요청하는 원인이 되는 2개의 조건(1616,1618)이 있다. 규칙 베이스는, 이것들의 조건(1616,1618)의 어느것인가가 실현되었을 때에 스위치 업을 요청하도록 구성되거나 또는 스위치 업을 요구하기 전에 양쪽의 조건(1616,1618)이 실현되는 것을 필요로 하게 될 수 있다. 도시된 실시예에서, 제 1의 조건은, 새로운 패킷을 포함하는 새로운 데이터 전송 속도가 현재의 대역폭 설정에 관해서의 최대 데이터 전송 속도보다 크다는 것이다(1616). 제 2의 조건은, 현재의 대역폭설정에 대한 소정의 시간보다 긴 시간에 걸쳐 데이터 전송 속도가 지나치게 높다(임계치를 상회하는)는 것이다(1618). 규칙 베이스의 구성에 의해, 이것들의 조건의 어느것인가 혹 양쪽이 실현되었을 때, 규칙 베이스는 스위치 업하도록 IC에(AC를 통하여) 메시지를 보낸다(1622).Figure 16 shows a simple example of a state where a switch up is performed as a result of receiving an unknown type of packet. As an example in Figure 16, a packet is received that cannot identify the type of data (1612). The rulebase obtains information (fingerprints) about this packet, such as the data length associated with the data stream, the number of packets in the stream, etc., and creates a record to pass the fingerprint information to the AC as before (1614). ). In the illustrated embodiment, there are two conditions 1616 and 1618 that cause a switch up request. The rule base may be configured to request a switch up when either of these conditions 1616 and 1618 is realized or may require that both conditions 1616 and 1618 be implemented before requesting a switch up. have. In the illustrated embodiment, the first condition is that the new data transfer rate including the new packet is greater than the maximum data transfer rate with respect to the current bandwidth setting (1616). The second condition is that the data transfer rate is too high (over the threshold) over a time period longer than the predetermined time for the current bandwidth setting (1618). By the construction of the rule base, when either or both of these conditions are realized, the rule base sends a message (via AC) to the IC to switch up (1622).

그림 17은, 스트림이 모이면 스위치 업이 행하여지는 것으로 되는 실례를 도시하고 있다. 그림 17의 실시예에서는, 규칙 베이스는 처음에 E-메일 세션의 개시를 의미하는 패킷을 식별한다(1712). 전의 경우와 같이, 규칙 베이스는, 이 세션,즉 데이터 스트림을 자르고 추적하여, AC에 통계를 알리기위해서 기록을 만든다(1714). 규칙 베이스는, 데이터의 유형만을 이유로, 즉 단지 이것이 E-메일 세션인 것을 이유로, 스위치 업을 요구하여서는 안된다는 것을 결정한다(1716). 어떤 구성에서는, E-메일 세션에 관해서는 시간은 중요한 요소가 아니라고 간주되어, 따라서 통상은 스위치 업이 행하여지지 않도록 규칙 베이스를 구성할 수가 있다. 도시된 실시예에서, 새로운 패킷을 포함하는 새로운 데이터 전송 속도가 현재의 대역폭 설정을 위한 최대치보다 크다는 것(1718) 또한 /또는 데이터전송속도가 이 현재의 대역폭설정에 관해서의 소정시간보다 긴 시간에 걸쳐 지나치게 높다는 것(1722)이 결정된다. 그 결과로서, 패킷이 E-메일 패킷이라고 식별되었다고 할지라도, 규칙 베이스는 스위치 업하도록 IC에(AC를 통하여) 메시지를 보낸다(1724). 대역폭 집성은, 속성 대역폭의 집성(aggregation of predicate bandwidth) 및 실제의 대역폭의 집성의 양쪽과의 관계로 사용될 수 있다.Figure 17 shows an example in which the switch up is performed when the streams are collected. In the embodiment of Figure 17, the rule base initially identifies the packet (1712) indicating the initiation of an E-mail session. As before, the rulebase cuts and tracks this session, i.e., the data stream, to create a record to inform the AC of the statistics (1714). The rule base determines (1716) that a switch-up should not be requested just because of the type of data, ie just because it is an e-mail session. In some configurations, it is considered that time is not an important factor in regards to an e-mail session, so that a rule base can usually be constructed so that no switch-up is performed. In the illustrated embodiment, the new data transfer rate including the new packet is greater than the maximum for the current bandwidth setting (1718) and / or at a time when the data transfer rate is longer than the predetermined time with respect to this current bandwidth setting. 1722 is determined to be too high. As a result, even if the packet has been identified as an E-mail packet, the rule base sends a message (via AC) to the IC (1724) to switch up. Bandwidth aggregation can be used in relation to both the aggregation of the attribute bandwidth and the aggregation of the actual bandwidth.

이상의 설명을 고려하면, 본 발명의 많은 장점을 볼 수 있다. 책 시스템은, 이용할 수 있는 대역폭을 한층 더 효율이 좋게 이용할 수 있도록 하여, 따라서 복수의 사용자가 B 채널 또는 그 밖의 광대역폭매체를 공유할 수 있도록 하는 것이 바람직하다. 1실시예로서는, 본 발명은, 약 3:1 보다 큰 사용자대 B 채널비를 제공할 수가 있고 약 5:1 인 것이 바람직하고,더욱 바람직하게는 약 8:1 이고, 약 10:1 인 것이 한층 더 바람직하다. 그 시스템은, 예컨대 가변 속도 환경에서의 현재의 속도를 고려하여, 배분이 사용자의 데이터 통신 요금에 미치게 하는 효과를 고려하는 것을 근거하여 대역폭배분을 결정하는 것이 바람직하다. 본 발명은, 데이터 트래픽에 있어서의 변화에 대처할 수가 있어, 또한 바람직하게 변화하는 조건을 자동적으로 학습하여 순응할 수가 있다. 말단 사용자에게 부과되는 비용을 감소혹 최소화하면서 광대역폭 서비스를 필요 또는 희망에 따라 제공하기 위해서 현재의 요금 및 그 밖의 요금을 고려하고 결정 규칙 베이스를 구성하도록 또한/또는 수정하도록 본 발명을 구성할 수가 있다. 본 발명은 대역폭 배분 결정을 실행하고 실현하기 위하여, 판매업자에 의존하지않은 메카니즘을 제공한다. 동일한 결정 처리는 상이한 판매업자의 하드웨어 상에서 변경없이 동작될 수 있다. 이렇게 판매업자에 의존하지 않기때문에, 본 발명의 결정 시스템에 거의 또는 완전히 수정을 가하지 않고서 새로운 하드웨어에의 이행을 행할 수 있어, 따라서 하드웨어의 업그레이드가 더욱 용이하게 된다. 이렇게, 서술된 결정 시스템에의 판매업자의 투자가 보호되어, 새로운 시스템이 전의 시스템의 처리순서와 양립하는 것이 된다. 본 발명은, 직감적 GUI 개발환경과, 시스템에 의해 사용되는 규칙 베이스를 작성하여 수정하기위한 언어를 제공한다. 그 개발환경은, 이미 이루어지고 있는 결정 알고리즘작업을 판매업자가 완전히 또한 용이하게 규칙 베이스로 통합하는 것을 가능하게 한다. 규칙 베이스 자체는 모듈형으로 재이용 가능한 것이 바람직하다. 본 발명은, 규칙 베이스가 라우터에 핫 로드되어 통상적인 동작동안, 즉 라우터를 분해하거나 재부트함 없이 및 데이터 스트림을 멈추지않고서, 실행되는 것을 가능하게 한다. 핫 로드를 행할 수 있는 능력에 의해 시험중에 빈번히 다운 로드를 행하는 것이 가능해지기 때문에, 본 발명은, 알고리즘들의 변경 뿐만 아니라 개발 및 시험을 쉽게 한다. 일 실시예에서, 널리 분배되어 있는 비교적 다수의 라우터를 단일의 관리자 콘솔이 제어할 수가 있다. 복수의 관리자 콘솔을 사용하여, 특정한 장소에 국지적으로 또한/또는 원격적으로 접속되어 있는 라우터들의 동일한 그룹을 관리할 수가 있어 (예컨대, 다른 교체 시간의 관리자가 다른 콘솔을 사용할 수가 있다), 용장성을 위하여 주요 백업 및 제3 콘솔을 사용할 수가 있거나 또는 라우터의 분리된 부분에 책임을 가지는 특별한 콘솔을 사용할 수가 있다. 본 발명은, 사용자에 의한 전화 회사 및 ISP와의 접속을 쉽게 하여, 사용자가 자기의 ISDN 이용을 어느 정도 제어할 수 있도록 함으로써, 말단 사용자에게 이점을 직접적으로 제공한다. 클라이언트측 어플리케이션을 사용할 수 있음에도 불구하고, 클라이언트측 설비는 필요없기에, 바람직한 정도의 유연성, 개방성 및 장래교정이 얻어진다. 본 시스템은, 혹시 충분한 메모리 및 처리 자원을 이용할 수 있으면, BACP 및 MLPPP을 지원하는 원격 접속되어 있는 기기상의 다른 판매업자 하드웨어와도 양립되는 것이 바람직하다. 본 발명은, 큐심도에만 의존하지 않고, 바람직하게 데이터 스트림 특성에 근거하는 장래의 대역폭 필요량의 예측을 사용함으로써, ISDN 등의 대역폭과 같은 대역폭을 배분하는 방법을 제공한다.In view of the above description, many advantages of the present invention can be seen. It is desirable for the book system to make more efficient use of the available bandwidth, so that a plurality of users can share a B channel or other wideband media. In one embodiment, the present invention can provide a user to B channel ratio of greater than about 3: 1, preferably about 5: 1, more preferably about 8: 1, and about 10: 1. More preferred. The system preferably determines bandwidth allocation based on, for example, taking into account the current speed in a variable speed environment, taking into account the effect that the allocation has on the user's data communication charges. The present invention can cope with a change in data traffic, and can automatically learn and adapt to a condition that changes preferably. The present invention may be configured to take into account and / or modify a decision rule base and to consider current and other charges in order to provide broadband services as needed or desired while reducing or minimizing the cost to end users. have. The present invention provides a mechanism that is not vendor dependent, in order to implement and realize bandwidth allocation decisions. The same decision process can be run on hardware of different vendors without change. Since it is not so dependent on the vendor, the transition to new hardware can be performed with little or no modification to the determination system of the present invention, which makes the hardware upgrade easier. In this way, the vendor's investment in the described decision system is protected, and the new system is compatible with the processing procedure of the previous system. The present invention provides an intuitive GUI development environment and a language for creating and modifying rulebases used by the system. The development environment allows the vendor to integrate the decision algorithm work that is already being done into the rule base completely and easily. The rule base itself is preferably modular and can be reused. The present invention allows a rule base to be hot loaded into a router and executed during normal operation, i.e. without disassembling or rebooting the router and without stopping the data stream. Since the ability to hot load makes it possible to download frequently during testing, the present invention facilitates development and testing as well as changes to algorithms. In one embodiment, a single administrator console can control a relatively large number of widely distributed routers. Multiple administrator consoles can be used to manage the same group of routers that are locally and / or remotely connected to a particular location (eg, administrators at different replacement times can use different consoles). You can use the main backup and a third console for this purpose, or you can use a special console that is responsible for a separate part of the router. The present invention directly provides benefits to end users by facilitating the user's access to the telephone company and ISP, allowing the user some control over their ISDN usage. Although client-side applications can be used, client-side equipment is not required, so that a desirable degree of flexibility, openness, and future calibration is achieved. The system is preferably compatible with other vendor hardware on remotely connected devices that support BACP and MLPPP if sufficient memory and processing resources are available. The present invention provides a method of allocating bandwidth, such as bandwidth, such as ISDN, by using prediction of future bandwidth requirements, preferably not based on queue depth, but preferably based on data stream characteristics.

본 시스템의 많은 변형 및 변경들도 사용될 수 있다. 다른 특징을 사용하지않고서 본 발명의 일부의 특징을 사용할 수가 있다. 예컨대, 자동 학습 처리 과정을 사용하지 않고, 규칙 베이스에 근거한, 데이터 스트림 지향의 대역폭 배분처리 과정을 실행하는 것이 가능하다. 본 발명은, 예컨대, 시스템이 데이터 스트림의 데이터의 유형을 식별할 수 없을 때(혹 그 식별을 행하기위한 시간 또는 그 밖의 자원을 부족할 때),“서비스의 레벨” 배분 방법들의 큐심도를 사용하는 등, 데이터 스트림 지향 대역폭 배분을 다른 방법들과 결합하는 것도 포함할 수 있다. 몇몇 실시예에서, 2개 이상의 데이터 스트림에 대역폭을 배분할 목적으로, 그것들의 데이터 스트림을 집합을 허용하는 것이 바람직할 수 도 있는(예컨대, 공존하는 2개 이상의 데이터·스트림들이 대역폭을 추가하는 것은 정당화 안되지만, 혹시 집합한 데이터 스트림에 대역폭을 추가하면 전체로서의 효율이 촉진되는 것 같은 경우에). 복수의 네트워크 수송매체가 있거나, 혹 예컨대 이더넷 또는 ADSL 네트워크등과같이 네트워크 수송매체가 하나만 있는 것 같은 환경에서 본 발명을 사용할 수가 있다. 일 실시예에서, 본 발명은 큐를 사용하여, 가상 또는 소프트웨어 채널을 할당하는 것이 실현될 수 있다. 본 발명을 ISDN 실현의 문맥으로 서술되고 있음에도 불구하고, (예컨대 가상 채널을 마련하여 사용하는 것에 의해) T1,프레임 릴레이 , ATM, 이더넷, 광섬유 및 xDSL을 포함하는 다른 상기 통신 시스템 또는 매체에 본 발명을 적용될 수 있다. 광섬유,프레임 릴레이 및 이더넷을 결합한 네트워크와 관련시켜 본 발명을 이용할 수가 있고, 또한 한가지 유형의 매체만을 갖는(예컨대 가상 채널 또는 소프트웨어 채널을 쓰고) 네트워크와 관련시켜 이용될 수 있다. 모듈화, 실시간분리, 바이트 코드,결정 플래깅 flagging)등의 특징은 실행의 효율화에 공헌한다고 생각되지만, 이것들의 하나 이상을 포함하지 않는 가동가능한 시스템을 실현하는 것도 가능하다. 본 발명의 어떤 특징을 ISP 이용의 문맥으로 서술되지만, 본 발명을 많은 다른 문맥으로 실현될 수 있다. 예컨대, 원격 네트워크 액세스를 위해, 시스템은(외부 사용자들이 그 라우터에 연결하기 위하여 ISDN을 사용하는 회사가 소유하는)원격 액세스 라우터에 상주할 수가 있다. 시스템은, 예컨대 공통 환경에서(그 데이터취급이 산발적이고 패턴화하고 있다)상기 통신에 편의를 도모하기위해서 대역폭을 정밀히 배분할 수가 있다. 본 발명은 라우터끼리의 접속과 관련시켜 사용될 수가 있다. 예컨대, 위성에서 판매 시스템들의 지점은 중앙 사이트에의 접속을 기억한다. 본 발명은, 예컨대 위성 위치에서 라우터가, 요금의 증가를 야기함없이, 장거리 수송회선도 통하여, 스위치된 연결을 통하여 끊임없이 본부에 접속되기를 계속하는 것을 가능하게 한다. 그와 같은 시스템으로서는, 낮은 레벨 처리량(가격 체크, 신용 카드 승인등)이 상시 온(on)상태인, 협대역폭 D 채널로 행해질 수 있어, 가격 파일전송, 쿠폰 다운로드, 상점 취급(store transactions), 요약 업로드등과 같은 높은 레벨 취급은, 요구가 있을 때마다 필요한 추가의 대역폭을 이용한다. 데이터 스트림에 우선 순위를 설정하는 것, 데이터스트림(또는 그 패킷)을 홀딩하고 큐잉하는 것, 방화벽 또는 그 밖의 보안 기능을 마련하는 것, 또한 계획 엔진을 마련하는 것의 일부 또는 전부를 포함하는 여러가지의 방법으로 본 발명을 사용될 수가 있다.Many variations and modifications of the present system can also be used. Some features of the invention can be used without using other features. For example, it is possible to execute a data stream-oriented bandwidth allocation process based on a rule base without using an automatic learning process. The present invention uses the queue depth of “level of service” distribution methods, for example, when the system cannot identify the type of data in the data stream (or lacks time or other resources to do that identification). Such as combining data stream oriented bandwidth allocation with other methods. In some embodiments, for the purpose of allocating bandwidth to two or more data streams, it may be desirable to allow aggregation of their data streams (e.g., adding two or more co-existing data streams to add bandwidth). No, but adding bandwidth to the aggregated data streams might improve overall efficiency). The present invention can be used in an environment where there are a plurality of network transport media, or where there is only one network transport media such as, for example, Ethernet or ADSL network. In one embodiment, the present invention may be realized using a queue to allocate a virtual or software channel. Although the invention has been described in the context of ISDN realization, the invention has been described in other such communication systems or media including T1, frame relay, ATM, Ethernet, fiber optics and xDSL (eg, by providing and using virtual channels). Can be applied. The present invention can be used in connection with a network combining fiber optics, frame relays and Ethernet, and can also be used in connection with a network having only one type of medium (eg using a virtual channel or a software channel). Features such as modularization, real-time separation, byte code, and flag flagging are thought to contribute to the efficiency of execution, but it is also possible to realize flexible systems that do not include one or more of these. While certain features of the invention are described in the context of using an ISP, the invention may be implemented in many other contexts. For example, for remote network access, the system may reside on a remote access router (owned by a company whose external users use ISDN to connect to that router). The system can precisely allocate bandwidth to facilitate the communication, for example in a common environment (the data handling is sporadic and patterned). The present invention can be used in connection with connection between routers. For example, the point of sale systems at the satellite remembers the connection to the central site. The present invention makes it possible for a router, for example at a satellite location, to continue to be constantly connected to the headquarters via switched connections, even over long distance transport lines, without causing an increase in tolls. With such a system, low level throughput (price checks, credit card authorizations, etc.) can be done on narrowband D channels, which are always on, such as price file transfers, coupon downloads, store transactions, Higher level handling, such as summary uploading, utilizes the additional bandwidth required on demand. Various, including prioritizing the data stream, holding and queuing the data stream (or its packets), providing a firewall or other security function, and also providing a planning engine. The present invention can be used as a method.

본 발명의 실시예는 C 언어 및/또는 플롤로그(Prolog)의 언어와 같은 알려진 인공 지능 언어 주물들을 사용하여 제공될 수 있지만. 다른 언어들 및 방식들을 사용하는 본 발명을 실현하는 것도 가능하다.Embodiments of the present invention may be provided using known artificial intelligence language castings such as C language and / or Prolog language. It is also possible to realize the invention using other languages and ways.

본 발명을 바람직한 실시예와 특정 변형 및 변경의 방법에 의해 서술되었지만, 다른 변형 및 변경을 사용될 수 있으며, 본 발명은 하기의 청구항에 의해서 정의된다.Although the present invention has been described in terms of preferred embodiments and by methods of specific variations and modifications, other variations and modifications may be used and the invention is defined by the following claims.

Claims (28)

전기 통신 시스템에서 적어도 몇몇의 패킷을 스위치하여, 통신 스트림(stream)을 만드는, 컴퓨터로 실행되는 프로세스로서,A computer-implemented process for switching at least some packets in a telecommunications system to create a communication stream, 제 1 대역폭을 갖는 매체로 전송되는 적어도 하나의 패킷을 상기 스트림의 성분으로서 식별하는 단계와,Identifying at least one packet transmitted as a medium having a first bandwidth as a component of the stream; 적어도 상기 패킷을 사용하여, 상기 스트림의 제 1 특성을 식별하는 단계에 서, 상기 특성은 상기 스트림의 데이터 크기를 적어도 부분적으로 예측하여,At least using the packet, in identifying the first characteristic of the stream, the characteristic at least partially predicts a data size of the stream, 추가의 패킷을 상기 스트림의 성분으로서 식별하는 단계와,Identifying additional packets as components of the stream; 적어도 상기의 제 1특성에 근거하여, 상기의 추가 패킷들의 적어도 일부를, 상기 제 1 대역폭보다 큰 대역폭을 갖는 제 2 매체로 스위치할지를 결정하는 단계를 포함하는 프로세스.Based on at least the first characteristic, determining whether to switch at least some of the additional packets to a second medium having a bandwidth greater than the first bandwidth. 제 1 항에 있어서, 상기 적어도 하나의 패킷을 식별하는 상기 단계는, 상기 패킷에 포함되는 출처, 목적지 및 포트(port) 정보 중의 적어도 하나에 근거하는 프로세스.The process of claim 1, wherein identifying the at least one packet is based on at least one of source, destination, and port information included in the packet. 제 1 항에 있어서, 상기 적어도 하나의 패킷을 식별하는 상기 단계는, 상기 패킷의 데이터 부분의 정보에 근거하는 프로세스.The process of claim 1, wherein identifying the at least one packet is based on information in a data portion of the packet. 제 1 항 내지 3 항중 어느 한 항에 있어서, 상기 제 1특성은 패킷 헤더(header)정보로부터 얻어지는 프로세스.4. Process according to any of the preceding claims, wherein the first characteristic is obtained from packet header information. 제 1 항 내지 4 항중 어느 한 항에 있어서, 상기 제 1특성은 상기 스트림의 데이터의 유형인 프로세스.The process of claim 1, wherein the first characteristic is a type of data of the stream. 제 5 항에 있어서, 상기 데이터 유형은,The method of claim 5, wherein the data type, 파일 전송 프로토콜유형과,File transfer protocol type, GIF유형과,GIF type, 스트리밍 비디오 유형과,Streaming video types, 스트리밍 오디오 유형과,Streaming audio types, 하이퍼텍스트 전송 프로토콜 유형과,Hypertext transfer protocol type, SMTP 유형과,SMTP type, SNMP 유형 및SNMP type and H.323 유형중에서 선택되는 프로세스.Process selected from H.323 types. 제 1항 내지 4항중 어느 한 항에 있어서, 상기 제 1 특성은 용도 특성인 프로세스.The process of claim 1, wherein the first characteristic is a usage characteristic. 상기 용도 특성은, 소정의 목적지에 대해서 하나 이상의 주기들과 관련되는 프로세스.Wherein said usage characteristic is associated with one or more periods for a given destination. 제 7 항에 있어서, 상기 용도 특성은 상기 전기 통신 시스템에서 통신 링크들의 상태와 관련된 프로세스.8. The process of claim 7, wherein the usage characteristic is related to a state of communication links in the telecommunication system. 제 9 항에 있어서, 상기 상태는 현재의 처리 능력(throughput)을 포함하는 프로세스.10. The process of claim 9, wherein said state includes a current throughput. 제 1 항 내지 9 항중 어느 한 항에 있어서, 상기 제 1 매체는 ISDN 회선의 D채널이고 상기 제 2 매체는 ISDN 회선의 베어러(bearer) 채널인 프로세스.10. The process of any of claims 1 to 9, wherein the first medium is a D channel of an ISDN line and the second medium is a bearer channel of an ISDN line. 제 1 항 내지 9 항중 어느 한 항에 있어서, 상기 전기 통신 시스템은 적어도 하나의 D채널과 베어러 채널을 갖는 매체를 포함하고 상기 결정 단계는 상기 베어러 채널의 사용을 초기화 또는 중단할 지를 결정하는 것을 비교하는 프로세스.10. The method according to any one of the preceding claims, wherein the telecommunications system comprises a medium having at least one D channel and a bearer channel and the determining step compares determining whether to initialize or stop the use of the bearer channel. Process. 제 12 항에 있어서, 상기 매체는 ISDN 서비스 또는 AO/DI 서비스를 제공하기 위하여 사용되는 프로세스.13. The process of claim 12, wherein the medium is used to provide ISDN service or AO / DI service. 제 12 항에 있어서, 상기매체는 T1 서비스를 제공하기 위해서 사용되는 프로세스.13. The process of claim 12 wherein the medium is used to provide a T1 service. 제 14 항에 있어서, 상기 매체는 T1 서비스와 다른 서비스를 제공하기 위하여 사용되는 프로세스.15. The process of claim 14 wherein the medium is used to provide a service other than a T1 service. 전기 통신 스트림에서 적어도 몇몇의 데이터를 스위치하는 전기 통신 시스템에서, 컴퓨터로 실행되는 프로세스로서,In a telecommunications system for switching at least some data in a telecommunications stream, a computer-implemented process, 상기 스트림의 제 1 특성을 식별하는 단계에서, 상기 특성은 적어도 부분적으로 상기 스트림의 가능한 데이터 크기를 예측하는 상기 단계와,In identifying the first characteristic of the stream, the characteristic at least partially predicts a possible data size of the stream; 다른 데이터 전송 특성을 제공하기 위해서 적어도 몇몇의 추가 데이터를 스위치할지를 상기 제 1 특성에 근거하여 결정하는 결정 단계와, 상기의 결정은, 제 1 저장된 규칙 베이스를 사용하여 수행되는 상기 결정 단계와,A determination step of determining, based on said first characteristic, whether to switch at least some additional data to provide another data transmission characteristic, said determination being performed using a first stored rule base; 상기 결정 단계의 유효성을 자동적으로 평가하는 단계를 포함하는 프로세스.Automatically evaluating the validity of the decision step. 제 16 항에 있어서, 상기 평가 단계에 근거하여 상기 규칙 베이스를 수정하는 단계를 더 포함하는 프로세스.17. The process of claim 16, further comprising modifying the rule base based on the evaluating step. 제 17 항에 있어서, 상기 규칙 베이스를 변경하는 상기 단계는, 컴퓨터로 실행되는 자가학습 전기 통신 스위칭 프로세스를 행하기위해서 자동적으로 실행되는 프로세스.18. The process of claim 17, wherein modifying the rule base is performed automatically to perform a computer-implemented self-learning telecommunications switching process. 제 16 항 내지 제 18항중 어느 한 항에 있어서, 상기의 결정 단계는 발견적 프로세스를 사용하여 실행되는 프로세스.19. The process according to any one of claims 16 to 18, wherein said determining step is carried out using a heuristic process. 제 16 항 내지 제 18 항중 어느 한 항에 있어서, 상기의 평가 단계는 서비스 비용 및 레벨 양쪽을 평가하는 것을 포함하는 프로세스.19. The process according to any one of claims 16 to 18, wherein said evaluating step includes evaluating both service costs and levels. 제 16 항 내지 제 19 항중 어느 한 항에 있어서, 상기의 평가 단계는 종합속성 대역폭을 평가하는 것을 포함하는 프로세스.20. The process according to any one of claims 16 to 19, wherein said evaluating step comprises evaluating global property bandwidth. 제 16 항에 있어서, 상기의 평가 단계는 사용자가 특정한 기준에 근거하여 평가하는 것을 포함하는 프로세스.17. The process of claim 16, wherein said evaluating step includes a user evaluating based on specific criteria. 제 16 항 내지 22 항에 있어서,상기 여러가지의 데이터 전송 특성은 여러가지의 대역폭 특성 및 다른 실효 데이터 전송 속도 특성으로 이루어지는 그룹에서 선택되는 프로세스.The process of claim 16, wherein the various data transfer characteristics are selected from the group consisting of various bandwidth characteristics and other effective data transfer rate characteristics. 데이터 스트림들을 큐잉(queuing)하는 전기 통신 시스템에서 컴퓨터로 실행되는 프로세스로서,A computer-implemented process in a telecommunications system that queues data streams, 제 1 및 제 2 입력 데이터 스트림들의 적어도 제 1 및 제 2 상이한 데이터 유형들을 식별하는 단계에서, 상기 입력 데이터 스트림들은 제 2 데이터 스트림의 패킷들에 대하여 상기 제 1 데이터 스트림의 데이터 패킷들의 제 1 주파수를 정의하는 단계와,In identifying at least first and second different data types of the first and second input data streams, the input data streams are the first frequency of the data packets of the first data stream relative to the packets of the second data stream. Defining the 상기 제 1 및 제 2 데이터 스트림들의 적어도 상기 패킷들을 큐잉하는 단계와,Queuing at least the packets of the first and second data streams; 상기 제 1 및 제 2 데이터 스트림들중의 적어도 하나의 패킷들을 출력하는 단계를 포함하며, 상기 데이터 스트림들의 상기 하나는 상기 제 1 주파수와 다른 주파수로 출력되는 컴퓨터로 실행되는 프로세스.Outputting at least one packets of said first and second data streams, said one of said data streams being output at a frequency different from said first frequency. 전기 통신 시스템에서 패킷 속도를 제어하는 전기 통신 시스템에서 컴퓨터로 실행되는 프로세스로서,A computer-implemented process in a telecommunications system that controls packet rates in a telecommunications system, 적어도, 제 1 데이터 크기 지시자를 포함하는 데이터에 대한 제 1 요청을 수신하는 단계와,At least, receiving a first request for data comprising a first data size indicator; 상기 수신에 응답하여 상기 제 1 데이터 크기 지시자와 다른 제 2 데이터 크기 지시자들을 갖는 복수의 데이터 요청들을 출력하는 단계를 포함하는 컴퓨터로 실행되는 프로세스.Outputting a plurality of data requests having a second data size indicator different from the first data size indicator in response to the receiving. 제 25 항에 있어서, 속도 제어를 유지하기 위하여 요청되는 데이터의 계산된 크기를 계산하는 단계를 더 포함하며, 상기 제 2 데이터 크기는 상기 계산된 데이터 크기와 상기 제 1 데이터 크기보다 작은 프로세스.27. The process of claim 25, further comprising calculating a calculated size of data requested to maintain speed control, wherein the second data size is less than the calculated data size and the first data size. 전기 통신 시스템에서,보안을 제공하는 컴퓨터로 실행되는 프로세스로서,In a telecommunications system, a process running on a computer that provides security, 상기 전기 통신 시스템상에서 전송되는 실질적으로 모든 패킷들의 데이터 스트림 유형을 식별하는 단계와,Identifying a data stream type of substantially all packets transmitted on the telecommunications system; 소정의 기준을 충족하는 패킷들만을 회송하는 단계를 포함하며, 상기 소정의 기준은 패킷의 데이터 스트림 유형과 관련한 기준을 포함하는 프로세스.Returning only packets that meet a predetermined criterion, wherein the predetermined criterion comprises a criterion relating to a data stream type of the packet. 제 27 항에 있어서, 미리 지정된 비밀 번호가 수신된 경우에 한해서 적어도 제 1 데이터 스트림 유형에 관한 패킷을 회송하는 단계를 더 포함하는 프로세스.28. The process of claim 27 further comprising returning a packet relating to at least a first data stream type only if a predetermined password has been received.
KR1019997009956A 1998-02-27 1999-02-26 Predictive bandwidth allocation method and apparatus KR20010020340A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US3193398A 1998-02-27 1998-02-27
US9/031,933 1998-02-27
US25816999A 1999-02-25 1999-02-25
US9/258,169 1999-02-25

Publications (1)

Publication Number Publication Date
KR20010020340A true KR20010020340A (en) 2001-03-15

Family

ID=26707789

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997009956A KR20010020340A (en) 1998-02-27 1999-02-26 Predictive bandwidth allocation method and apparatus

Country Status (5)

Country Link
EP (1) EP0988770A2 (en)
JP (1) JP2002515217A (en)
KR (1) KR20010020340A (en)
CN (1) CN1272297A (en)
WO (1) WO1999044335A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988110B1 (en) * 2002-04-18 2010-10-18 소니 주식회사 Recording device and recording method

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9925101D0 (en) * 1999-10-22 1999-12-22 Virtual Access Ireland Limited Multi channel communication control system and method
GB2393355B (en) * 1999-10-22 2004-06-30 Virtual Access Ireland Ltd Multi channel communication control system and method
US7849117B2 (en) 2000-01-12 2010-12-07 Knowledge Sphere, Inc. Multi-term frequency analysis
DE60202763T2 (en) 2002-07-17 2006-01-05 Alcatel Method, computer program, customer terminal and network for the efficient use of network resources through the "just-in-time" adjustment of the quality of service is based on the use of the service and the behavior of the user
KR100486713B1 (en) * 2002-09-17 2005-05-03 삼성전자주식회사 Apparatus and method for streaming multimedia data
FR2852762B1 (en) * 2003-03-19 2005-06-17 Acterna Ipms METHOD FOR EVALUATING THE BANDWIDTH OF A DIGITAL LINK
EP1628443A1 (en) * 2004-08-16 2006-02-22 Universite Pierre Et Marie Curie Method for making a network equipment proactive
JP5061619B2 (en) 2007-01-24 2012-10-31 日本電気株式会社 Resource securing method, relay device, distribution system, and program
US9578362B1 (en) 2015-12-17 2017-02-21 At&T Intellectual Property I, L.P. Channel change server allocation
CN113194007B (en) * 2021-04-22 2023-03-28 西安交通大学 Method, system and equipment for measuring available bandwidth of network and readable storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0512174B1 (en) * 1991-05-08 1997-02-26 Semaphore, Inc. Parallel rule-based data transmission method and apparatus
GB2265793B (en) * 1992-04-01 1995-12-20 Plessey Telecomm Bandwidth allocation on DPNSS networks
JP3000913B2 (en) * 1996-02-02 2000-01-17 富士ゼロックス株式会社 Data transmission apparatus and method
BR9714352A (en) * 1996-10-15 2000-04-11 Siemens Ag Process for handling service connections in a communication network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988110B1 (en) * 2002-04-18 2010-10-18 소니 주식회사 Recording device and recording method

Also Published As

Publication number Publication date
EP0988770A2 (en) 2000-03-29
WO1999044335A3 (en) 2000-01-20
JP2002515217A (en) 2002-05-21
WO1999044335A2 (en) 1999-09-02
WO1999044335A9 (en) 1999-12-02
WO1999044335A8 (en) 1999-11-04
CN1272297A (en) 2000-11-01

Similar Documents

Publication Publication Date Title
US6208640B1 (en) Predictive bandwidth allocation method and apparatus
US6459682B1 (en) Architecture for supporting service level agreements in an IP network
CN1685661B (en) Per user per service traffic provisioning
McCabe Network analysis, architecture, and design
US6502131B1 (en) Directory enabled policy management tool for intelligent traffic management
US6671724B1 (en) Software, systems and methods for managing a distributed network
US8331223B2 (en) Method and system for controlling network traffic within the same connection with different packet tags by varying the policies applied to a connection
US7260635B2 (en) Software, systems and methods for managing a distributed network
US7272115B2 (en) Method and apparatus for enforcing service level agreements
US6850989B1 (en) Method and apparatus for automatically configuring a network switch
US7990864B2 (en) Dynamic rate limiting adjustment
CA2358525C (en) Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US7512705B2 (en) Truncating data units
US6469986B1 (en) Method and system for configuring a network management network
US6278693B1 (en) Communications systems with quality of service parameters
US20040103193A1 (en) Response time and resource consumption management in a distributed network environment
US6266322B1 (en) Dimensioning bandwidth and connection admission control for elastic traffic in high-speed communication networks
US20070043738A1 (en) Methods and systems for reputation based resource allocation for networking
US6990525B1 (en) System for selecting data communications service
KR20010020340A (en) Predictive bandwidth allocation method and apparatus
US7260634B2 (en) Storage device band control apparatus, method, and program
US7206880B2 (en) Multi-protocol bus system and method of operation thereof
US7016301B1 (en) Fair multiplexing scheme for multiple input port router
US20070121509A1 (en) System and method for predicting updates to network operations
Stewart et al. An architecture for automated network control of QoS over consumer broadband links

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid