본 발명은 미리결정된 매체 접근 제어 프로토콜에 따르는 한 네트워크를 이루는 말단 스테이션들로부터의 데이타의 흐름 제어를 제공한다. 본 발명의 한 실시예에 따르면, 말단 스테이션들은 성형의 중심에 있는 중계기 유니트로부터의 신호를 흐름 제어된 말단 스테이션으로 전송시키며 상기 말단 스테이션이 패킷들을 전송 또는 폐기시키는 것을 방지하도록 매체 접근 제어 프로토콜을 기초로한 간격들로 전송된 신호를 인터럽트시킴으로써 흐름제어된다.
본 발명은 말단 스테이션이 전송 데이타를 폐기하지 않게 하여도 말단 스테이션이 일정치 않은 시간 주기동안 한정적으로 흐름제어되는 것을 허용한다.
또한, 본 발명은 흐름제어된 말단 스테이션에 어드레스된 데이타가 말단 스테이션에 전송되고 흐름제어된 상태로 말단 스테이션을 유지하는 데 사용되는 것을 허용한다.
더욱이, 본 발명은 말단 스테이션 전송 데이타가 네트워크 장치내에 저장되기보다는 오히려 흐름제어된 말단 스테이션에서 버퍼링되는 것을 허용한다.
본 발명의 한 실시예는 중앙 노드가 한 네트워크를 이루는 한 말단 스테이션을 흐름제어하는 방법으로서, 상기 중앙 노드는 제 1 신호가말단 스테이션으로 하여금 데이타 전송을 지연시키게 하도록 제 1 신호를 말단 스테이션에 전송시키며, 상기 말단 스테이션은 통신 매체상에 데이타를 전송시키기전에 말단 스테이션이 말단 스테이션에 결합된 통신 매체상의 전송작용을 검출하는 것을 필요로 하는, IEEE 802.3 의 MAC 와 같은 매체 접근 제어 프로토콜하에서 작동하는 방법이다. MAC 프로토콜은, 말단 스테이션이 데이타를 전송하도록 시도하기전에 상기 프로토콜에 의해 한정된 최소한 제 1 시간 주기동안 계속되는 통신 매체상의 전송 작용에서의 갭 ( gap ) 을 대기하는 것을 필요로 한다. 상기 중앙 노드는 제 1 신호의 전송시간 기간의 MAC 프로토콜의 제 1 시간주기보다 짧도록 제 1 신호의 전송을 정지시키는 데, 이 경우 MAC 프로토콜은 말단 스테이션이 데이타를 통신 매체상에 전송하는 것을 일임하기 전에 최소한 제 2 시간주기를 대기하는 것을 필요로 한다. 상기 중앙 노드는, 제 1 신호의 전송이 정지되는 시간주기의 기간이 매체 접근 제어 프로토콜의 제 2 시간주기보다 짧도록 제 1 신호의 전송을 재개하게 된다.
본 발명의 다른 한 실시예는 한 말단 스테이션과 통신하는 통신 메체와 결합하도록 구성된 한 포트를 갖는 네트워크용의 중앙 노드로서, 상기 포트가 또한 신호들을 통신 매체상에 전송하고 통신 매체로 부터 신호들을 수신하도록 구성되어 있으며, 상기 말단 스테이션이 미리결정된 통신 프로토콜에 따라 상기 매체로의 접근을 제어하도록 구성되어 있는 중앙 노드이다. 미리결정된 프로토콜은 말단 스테이션이 매체상에서의전송작용을 검출하는 경우 제 1 시간 주기동안 말단 스테이션이 데이타를 통신 매체상에 전송하는 것을 억제하는 것을 필요로 한다. 또한, 상기 프로토콜은 말단 스테이션이 데이타를 전송하는 것을 일임하기전에 최소한 제 2 시간 주기만큼 긴 기간인 전송작용에서의 갭을 대기하고, 말단 스테이션이 제 2 시간주기의 종료전에 전송작용의 재개를 검출하는 경우 계속해서 제 1 시간주기동안 전송하는 것을 억제하는 것을 필요로 한다. 상기 중앙 노드는, 포트와 결합되고 흐름 제어 신호 및 데이타 신호를 수신하도록 구성되어 포트의 전송작용을 제어하는 흐름 제어 수단을 포함하며, 이 경우 상기 흐름 제어 수단은, 흐름 제어 신호를 수신할 경우 통신매체상에 제 1 신호를 전송하도록 포트에 명령을 내리고, 상기 흐름 제어수단은, 제 1 신호의 전송기간이 제 1 시간주기보다 짧도록 흐름 제어 신호가 활성상태에 있는 경우 제 1 신호의 전송을 정지하도록 포트에 명령을 내리고, 상기 흐름 제어수단은, 제 1 신호의 전송이 제 2 시간 주기보다 짧은 시간 길이동안 정지되도록 흐름 제어 신호가 활성상태에 있는 경우 제 1 신호의 전송을 재개하도록 포트에 명령을 내린다.
본 발명의 이들 및 다른 특징 및 이점들은 이하 본 발명의 실시예 및 첨부 도면을 고려하면 이해될 것이다.
실시예
본 발명은 IEEE 802.3 표준 MAC 에 의해 수신된 CRS 신호를 조작함으로써 특정의 MAC 인터페이스로 부터의 패킷의 전송을 제어하는 IEEE 802.3표준 MAC 를 사용하는 성형 네트워크용의 반이중 ( half duplex ) 흐름 제어 설계이다.
IEEE 802.3 MAC 는 CRS 이벤트가 전형적인 패킷보다 길고 ' 과도한 지연시간 ' 이라 불리우는 최대 허용 지연보다 짧지만 프레임들을 전달하는 것을 지연시킨다. 이는 MAC 의 충돌 카운터가 증분되게 하지 않고서도 흐름 제어 메시지를 전송하는 작동체가 흐름제어 메시지를 검출하는 MAC 로 하여금 과도한 지연 시간주기 ( 대략 2 × 최대사이즈 패킷 ) 동안 전송하는 것을 방지할 수 있다는 것을 의미한다. 이러한 흐름 제어 방법은 시스템 견지에서 관리될 수 있다.
보다 구체적으로 기술하면, 특정의 MAC 에 대하여, 일단 한 지연을 야기시키는 CRS 이벤트가 개시된 경우, 이는 정지될 필요가 없음으로써, IEEE 802.3 MAC 로 부터의 데이타의 흐름이 일정하지 않은 시간주기동안 정지되는 것을 가능하게 한다. 그러나, CRS 이벤트가 24288 비트시간 ( 과도한 지연 이벤트에서 2 패킷 * 1518 바이트/패킷 * 8 - 비트시간/바이트 = 24288 비트 시간 ) 보다 긴 시간동안 지속하는 경우, IEEE 802.3 MAC 는, 잠재적으로 전송 패킷을 폐기시키고 네트워크 에러를 표시하게 하는 과도한 지연 이벤트를 검출하게 된다. 그러나, CRS 가 단정되지 않는 경우, MAC 용의 과도한 지연 타이머는 리세트될 수 있다. CRS 가 결코 과도한 지연시간보다 긴 시간동안 단정되지 않으며 64 비트시간내에서 단정되지 않고 다시 재단정되는한, IEEE 802.3 MAC 는 그이 충돌계수를 증분시키지 않거나 또는 아마도 결코 에러 상태를 보고하지 않고서 그의 프레임을 일정하지 않게 유지하게 한다. 몇몇의 MAC 는 전송이 계류중에 있었던 시간을 기초로 하여 과도한 지연 이벤트를 해석하여 관리 엔티티에 시간종료를 보고할 수 있다. 따라서, 긴 지연 이벤트는 부적절한 네트워크 작동을 야기시키지는 않지만, 네트워크상의 관리 엔티티가 가시화될 수 있다.
더욱이, CRS 신호가 원격 스테이션에 의해 발생될 수 있기 때문에, 중계기 유니트, 스위치, 브리지, 또는 루터와 같은 원격 디바이스는 현존하는 IEEE 802.3 기본구조(infrastructure)와 완전히 역 호환가능한(backward compatible) 수정된 프로토콜로 말단 스테이션의 MAC 전송특성을 제어할 수 있다.
본 발명의 흐름 제어 메카니즘은 네트워크의 메모리 요구가 중앙 네트워크 스위치보다는 오히려 말단 스테이션사이에 분배되는 것을 허용하며, 효과적인 작동 포인트를 설정하는 메카니즘을 네트워크 스위치에 제공하고, 한 부류의 디바이스로 부터 다른 한 부류의 디바이스로의 대기시간을 보장할 수 있으며, 네트워크에서의 우선순위 선정 형태를 구현하는 데 사용될 수 있다.
보다 구체적으로 기술하면, 본 발명은 중계기 유니트가 네트워크에의 제공된 로드 ( load ) 를 제어하는 것을 허용하으로써 효과적인 작동 포인트를 설정하는 메카니즘을 네트워크 스위치에 제공한다. IEEE 802.3 중계기 유니트 및 그에 부착된 네트워크의 성능이 네트워크에 제공된 로드에 의존하기 때문에, 네트워크에 제공된 교통량을 제어하는 것은 그것이 보다 효과적으로 실행되는 것을 허용한다. 즉, 이더넷 시스템은 충돌 및 지연이 데이타 손실 및 처리량의 악화를 야기시킬 정도로 충분한 교통량이 네트워크에 제공되는 경우 효과적이지 않게 된다. 전형적인 이더넷 로드 대 처리량 곡선은 도 5 에 도시되어 있다.
중계기 유니트가 네트워크에 제공된 로드를 제어하는 것을 허용함으로써, 처리량이 최적화될 수 있다. 바꾸어 말하면, 본 발명의 흐름 제어 방법을 사용하는 경우, 제공된 로드는 최대 시스템 처리를 달성하는 데 적합할 수 있다. 예를들면, 도 5 에서, 제공된 로드 (220) 는 처리량이 도면부호 (210) 보다 낮게 감소하지 않게 하도록 제어될 수 있다. 보다 높은 ISO 계층 엔티티 ( 예를들면, 관리 ) 는 자원들이 불충분할 경우, 결과적으로는 본 발명에서 구체화되는 바와같이 흐름 제어 메시지의 전송을 야기시켜야 할 경우를 결정하는데 스위치드 네트워크에서 사용된 동일 종류의 기준을 적용할 수 있다. 예를들면, 관리 엔티티는 한 세그먼트상에서의 충돌의 수, 주어진 프레임 ( 전송기에서 프레임 손실을 감시함 ) 에 대한 충돌 계수, 반송파의 퍼센트, 유용한 대역폭 ( 즉, 에러없는 통신에서 소비된 시간 대 이론적인 데이타 속도 ) 의 퍼센트, 또는 상기한 것들의 결합을 감시할 수 있다.
그 이외에도, 본 발명은 한 부류의 디바이스에서 다른 한 부류의 디바이스까지의 대기 시간을 보장할 수 있으며 네트워크내에서의 우선순위선정형태를 구현하는 데 사용될 수 있다. 네트워크내의 중앙 디바이스에 말단 스테이션 전송의 타이밍을 제어할 수 있는 능력을 제공함으로써, 특정한 스테이션 또는 특정한 교통 흐름으로 부터의 교통량이 다른 전송보다 우월하게 인식되는 것을 허용하는 수단이 규정될 수 있다. 한 스테이션에 대한 우선순위선정을 허용함으로써, 중계기 유니트는 한 패킷이 일정한 시간 및 그보다 더 길지 않은 시간동안 전송 대기에 방치하는 것을 보장할 수 있다. 이는 네트워크에 내재하는 디바이스들사이의 대기 시간을 보장하는 것과 동등하다. 패킷화된 비디오 및 오디오와 같은 몇몇의 용도는 큰 대기시간의 변화에 극히 민감하다. 바운드 ( bound ) 가 네트워크에서의 대기시간 또는 ' 지터 ( jitter ) ' 상에 놓여지는 것을 허용하는 것은 중계기 유니트가 비용효과적인 방식으로 이들 유형의 응용을 지원하는 것을 허용한다.
중계기 유니트는 주어진 한세트의 교통량에 대해 한 우선순위 레벨을 결정하도록 패킷에 포함된 특징 ( 예컨대, 수신지 어드레스, 발신지 어드레스, 프로토콜 식별자 ) 을 인식할 수 있다. 각각의 중계기 유니트가 일정한 한세트의 자원을 지니기 때문에, 흐름제어 방법은 중계기 유니트가 이들 자원의 사용을 제어하는 것을 허용한다. 그러한 교통량에 우선순위선정 기준을 적용함으로써, 중계기 유니트는 상위 우선순위 교통량을 사용해야 할지 또는 규정된 기준을 만족시키지 않는 교통량을 흐름제어해야 할지 지능적인 결정을 내릴 수 있다.
중계기 유니트가 전송을 수신하고, 이를 제거하며, 이를 말단 스테이션의 대기중에 일정하지 않게 유지할 수 있는 능력을 지니기 때문에, 이는 또한 패킷의 내용을 찾아서 그의 중요성을 결정하도록 한 세트의 기준을 사용할 수 있다. 이러한 형태의 작동은 네트워크의 예견능력의 형태로서 특징화될 수 있다.
그러나, 한 말단 스테이션이 무작위 방식으로 독립적인 스트림을 다
중화할 수 있는 능력을 지니기 때문에, 명백한 하위 우선순위 프레임에 흐름제어를 사용하는 것은 그후에 오는 상위 우선순위를 차폐시킬 수 있다. 이러한 현상은 ' 헤드 오브 라인 블록킹 ( head of line blocking ; HOL ) ' 으로서 알려져 있다. 그러므로, 또한 하나이상의 우선순위를 지원하지 못하는 이어받는 말단 스테이션에 대하여, 이와같은 흐름제어 용도는 어느 주어진 스테이션으로 부터의 모든 교통량에 네트워크내의 상이한 우선순위를 제공하는 데 대체로 더 적합하다. 즉, 우선순위는 스위치 섬유 자체내에서보다는 오히려 말단 스테이션을 직접 제어함으로써 네트워크의 에지상에서 구현된다 ( 즉, 스위치 투 스위치 ( switch to switch ) 교통량은 우선순위화되지 않는다 ). 스위치된 영역범위에 있는 모든 교통량은 말단 스테이션이 스위치들에 분배되는 수단의 결과로서 스위치 섬유로의 접근이 허용될 수 있지만 동일한 우선순위로 취급된다. 분배수단을 달성하는 한가지 방법은 예를들면 잘 알려진 단순한 네트워크 관리 프로토콜 ( Simple Network Management Protocol ; SNMP ) 을 사용하여 구현되는 네트워크 관리를 통해서 이루어진다.
중계기 유니트는 우선순위를 암시적으로 결정하고 말단 스테이션 및 중계기 유니트사이나 중계기 유니트들사이의 우선순위 정보의 어떠한 명시적인 통신 메카니즘도 필요하지 않다는 점에 유념하기 바란다. 이러한 것을 찾는 다른 한가지 방법은 네트워크로의 상이한 스테이션들의 접근의 정당성에 대한 수정으로서 이루어진다. 원격관리는 네트워크 요구가 변경될때마다 스테이션의 중요성을 변경시킨다.
이더넷에 있어서, CSMA/CD 메카니즘자체는 어느 전송기가 네트워크를 접근하도록 허용되는 지를 무작위화시킴으로써 많은 시간 주기에 걸쳐 측정되는 경우 모든 스테이션에 정당성을 제공하도록 시도한다. 그러나, 이더넷은 한 스테이션 또는 한세트의 스테이션들이 다른 스테이션들보다 통계학상 많은 양의 전송을 개시하는 포획효과 ( Capture Effect ) 라고 불리우는 잘 알려진 상태하에서 네트워크가 많은 로드상태에 있는 짧은 시간간격동안 정당하게 되지 않는다. 포획효과로부터 우위를 차지하는 스테이션들은 또한 무작위 상태이며, 결과적으로는 포획효과는 보다 많은 시간주기에 걸쳐 소멸된다. 또한, 교통 패턴은 많은 시간주기에 걸쳐 측정되는 경우, 더 변화가 심해지는 것처럼 보인다. 이더넷을 이루는 네트워크의 정당성이 일제히 작동하는 이더넷 컨트롤러내에서의 무작위 처리에 의해 결정되는 곳에서는, 관리 엔티티에 의해 규정되는 바와 같은 ' 우선선위 ' 를 기초로한 본 발명을 사용하여 흐름제어를 적용하는 것은 어느 노드가 어느 정도의 ' 정당한 ' 측정 및 어느 정도의 시간규모를 얻는 지에 대하여 다시 네트워크 설치를 제어한다.
도 6 은 본 발명의 흐름제어 메카니즘을 설명하는 데 사용되는 IEEE 802.3 MAC 프로토콜을 사용하여 기능을 하는 말단 스테이션 ( 420, 430, 440 ) 에 연결된 다중 포트 중계기 (400) 를 주요 특징부로 하는 성형 위상 네트워크를 도시한 것이다. 일례로서, 말단 스테이션 ( 420, 440 ) 사이에 대화가 진행중인 동안 말단 스테이션 (430) 의 흐름제어를 고려해 보기로 한다. 대개는, 노드 (430) 가 전송할 데이타를 지니는 경우, 이는 매체상의 어떠한 전송도 발생하지 않을 때까지 대기한 다음에 전송을 개시한다. 그러나, 노드 (430) 는 노드 (420) 에서 노드 (440) 로의 데이타의 전송에 있어서의 프레임간 갭동안 전송할 수 있고, 일단 노드 (420) 가 전송을 재개하는 경우, 충돌이 생겨서 노드 (420) 및 노드 (430) 모두가 우선 JAM 신호를 전송한 다음에 또 다른 전송을 시도하기전에 전송작용에서의 프레임간 갭을 발생하기를 대기하게 한다. 그러한 충돌은 충돌된 프레임에 대한 전송시간과 백오프 주기를 더한 것의 손실을 초래시킨다.
이와는 대조적으로, 본 발명의 흐름제어 수단에 있어서는, 중계기 (400) 는 24288 비트시간보다 길지 않은 시간주기동안 CRS 신호를 말단 스테이션 (430) 에 전송하여 노드 (430) 가 그이 데이타의 전송을 지연하게 한다. 말단 스테이션 (430) 은 24288 비트시간의 경과이전에 중계기(400) 가 64 비트시간보다 적은 주기동안 CRS 를 단정하지 않은 다음에 CRS 를 다시 단정하는 경우 24288 비트시간보다 긴 시간동안 지연될 수 있다. 노드 (430) 의 흐름제어는 노드 (420) 가 노드 (430) 로 부터의 중단 또는 충돌없이 노드 (440) 로의 데이타 프레임의 모든 데이타 패킷의 전송을 완료시키는 것을 허용한다.
흐름제어로 부터 노드 (430) 를 해제시키기 위하여, 중계기 (400) 는 노드 (430) 에서의 CRS 신호를 단정시키지 않는 통신 매체상에서의 전송작용을 정지시킨다. 이때, 노드 (430) 는 그의 데이타를 전송하기전에 96 비트시간의 프레임간 갭 주기를 대기시킨다. 노드 (430) 에 의한 96 비트시간대기는 2 가지 이유로 해서 유리하다. 첫째로, 96 비트시간은 또 다른 노드에 전송하여 이 노드와 충돌하는 노드 (430) 로 부터 초래되는 JAM 신호 및 백오프 시간주기보다 더 짧다. 둘째로, 노드 (430) 의 작동은 노드 (430) 가 전송할 데이타를 지니는 경우 노드 (430) 가 프레임간 갭의 종료시 일정하게 전송을 개시한다는 점에서 한정적으로 제어될 수 있다.
CRS 는 말단 스테이션의 물리적 계층 프로토콜에 의해 네트워크 작동으로서 검출되는 어느 한 신호를 전송함으로써 한 말단 스테이션에서 발생될 수 있다. 한 접근 방안은 단지 한 반송파 신호만이 발생되는 것이다. 여기서 필요한 점은 신호가 수신기를 작동시키는 경우, 전송된 신호가 결과적으로 말단 스테이션이 패킷을 제거하게 하여야 한다는점이다.
10 BASE-T 네트워크에 대하여, CRS 를 발생시키지만, MAC 가 상위 계층으로 전송되는 데이타를 무시하지 않게 하는 신호는 ' 1010 ' 맨체스터 엔코딩형이며 10 BASE-T 물리적 계층 전송과 호환가능한 중계 패턴이다. 기본적으로는, 이는 프레임 개시 구분문자 ( SFD) 나 IEEE 802.3 프레임의 다른 필드들중 어느 한 필드도 지니지 않는 통상의 데이타 패킷의 프리앰블과 동등하다. 상기 프리앰블은 수신된 신호로부터 타이밍 기준 ( 클록 ) 을 추출하기 위해 물리적 계층에서의 위상 동기 루프를 동기시키는 수단으로서 및 수신작용 ( CRS ) 의 초기 표시로서 10 BASE-T 네트워크에서 사용된다. 일단 클록이 회복되고 SFD 가 검출되는 경우, IEEE 802.3 MAC 는 상위 프로토콜 계층에 이르기까지 IEEE 802.3 프레임내의 잔류 필드들을 전달한다. 어떠한 데이타도 MAC 에서 DTE 로 결코 전송되지 않도록 흐름제어 신호가 어떠한 SFD 도 지니지 않고서 단지 프리앰블만을 전송하는 것이 가능하다. 그 대신에, 단지 CRS 만이 ' 확장된 프리앰블 ' 의 결과로서 발생되고 그에 따라 데이타 전송을 지연시킴으로써 CSMA/CD MAC 가 작동한다.
100 BASE-X 및 100 BASE-T4 를 포함하는 다른 기법에 대하여, 중계 ' 1010 ' 패턴의 정확한 엔코딩에 해당하는 신호를 사용하는 것으로 충분하다. 실제로 대개는 이들 모든 기법들에 대한 MAC 가 그러한 이벤트들을 필터링하여야하는 경우인 논리적 설명으로서, 통상의 작동은 결과적으로 중계기 유니트가 단지 ' 1010 ' 만을 포함하는 일부분을 전송할 수 있게 한다는 점에 유념하기 바란다. 예를들면, 노드 (420) 및 노드 (430) 가 중계기 (400) 를 통해 충돌하고 있는 경우를 취하고자 한다. 충돌이 프리앰블에서 생기는 경우, 중계기 (400) 는 양호한 패킷의 제 1 부분 ( 이는 프리앰블처럼 보임 ) 을 중계하고 또한 프리앰블처럼 보이는 JAM 신호를 충돌 검출의 경우에 전송하도록 스위치하며 네트워크를 이루는 모든 말단 스테이션이 충돌을 확인하도록 전송된 신호가 네트워크의 가장 먼 도달범위에 이르게 하도록 충분히 긴 시간주기동안 전송된다. 그 결과, 노드 (440) 가 전송하고 있지 않기 때문에 충돌에 관여하고 있지 않은 노드 (440) 는 단지 프리앰블만인 것처럼 보이는 것을 포함하는 일부분을 확인한다. 이것이 MAC 가 다루도록 설계되어야 하는 완전히 유효하고 에러없는 상태이기 때문에, 본 발명의 신호처리 기법은 엔코딩 수단에 관계없이 모든 기저 대역 네트워크 기법에 대해 유효하다.
다른 엔코딩 수단은 CRS 이벤트가 얼마나 근접할 수 있는지 ( 즉, CRS 의 비단정에 대한 최소 시간 기간 요구 ) 에 대한 몇가지 제한이 있다. 예를들면, 100 BASE-TX 는 12 유휴 ( IDLE ) 심벌이 스크램블러 동기를 유지하도록 프레임들사이에 존재하는 것을 필요로 한다. 이는 48 비트시간에 해당한다. 48 비트시간은 100 BASE-TX 성형 디바이스가 CRS 단정신호를 분리시킬 수 있는 하위 바운드가 된다. 64 비트 시간은 여전히 MAC 에 의해 부과된 상위 바운드이다. 100 BASE-TX 에 대하여는, 명확한 설계 윈도우가 존재한다. 64 비트 시간보다 큰 하위 바운드를 부과하는 어느 한 MAC 표준에 대하여, 제안된 신호처리 메카니즘은 종래의 충돌을 기초로한 흐름제어 기법상태로 저하된다.
본 발명의 흐름제어 메카니즘의 추가적인 이점은, 중계기 (400) 가 흐름제어 상태로 유지되는 말단 스테이션 (430) 에 전송할 데이타를 지니는 경우, 이것이 상기에 기술한 프리앰블 신호대신에 이러한 데이타를 말단 스테이션에 전송할 수 있다는 점이다. 노드 (430) 는 ' 지연 신호 ' ( 단정된 CRS ) 의 종료가 전송될 패킷의 개시로 부터 64 비트시간보다 짧다는 것을 중계기 (400) 가 보장하는 한 전송하지 않는다. 그러므로, ' 지연 작용 ' 은 패킷의 종료로 부터 64 비트시간보다 짧은 시간에 지연신호의 전송을 재개함으로써 계속될 수 있다. 이는 유효한 데이타가 CRS 단정을 야기시키는 적절한 프리앰블 신호대신에 전송신호로서 실제 패킷을 사용함으로써 흐름제어 상태로 유지되는 말단 스테이션에 전달될 수 있지만 MAC 에 의해 DTE 에 이르기까지 전달되지 않는다는 점에서 흐름제어 알고리즘에 대한 향상을 나타낸다.
본 발명의 흐름제어 메카니즘의 또 다른 이점은 말단 스테이션들을 흐름제어함으로써 전송 데이타가 말단 스테이션들에서 효과적으로 버퍼링된다는 점이다. 중계기 (400) 는, 말단 스테이션들이 그들의 전송 데이타를 폐기시키지 않고서 전송 데이타를 유지하게 할 수 있기 때문에, 전송 데이타를 버퍼링하는 데 말단 스테이션들내의 메모리를 효과적으로 사용하고 있다. 그러하지 않은 경우, 패킷들의 손실을 피하기 위하여, 중계기 (400) 는 강제로 말단 스테이션들이 전송하는 것을 허용하게 하고, 또한 특정한 패킷이 그의 수신지를 향해 전송될 수 있을때까지 전송된 데이타를 저장하여야 한다. 여러 작동 노드들을 갖는 네트워크는 말단 스테이션들에 의해 전송된 패킷들을 버퍼링하는 데 대량의 메모리를 필요로 하며, 많은 교통량 상태하에서, 착신 데이타 패킷은 활용가능한 중계기 버퍼 메모리를 오버플로우 ( overflow ) 하지 못하여 결과적으로 패킷의 손실을 초래시킨다. 발신지의 말단 스테이션에서 네트워크 작용을 흐름제어함으로써, 전송 데이타를 버퍼링하기 위한 메모리 요구는 메모리 공간이 이미 네트워크 통신용으로 할당되어진 말단 스테이션들에 분배되고 말단 스테이션들은 본래 네트워크 버퍼링 능력을 오버플로우하지 못하게 된다.
본 발명의 흐름제어 메카니즘이 다중 중계기를 주요 특징부로 하는 네트워크에서 어떠한 방식으로 노드들을 제어할 수 있는지의 설명으로서, 도 7 은 IEEE 802.3 MAC 프로토콜을 사용하여 기능을 하는 말단 스테이션들 ( 420, 430, 440, 460, 470, 480 ) 에 연결된 2 개의 다중 포트 중계기 ( 400, 410 ) 를 갖는 네트워크를 도시한 것이다. 본 발명의 다중 포트 중계기 ( 400, 410 ) 각각은 다른 중계기로 부터 수신된 CRS 신호를 그 중계기에 의해 제공되는 말단 스테이션들에 전송한다. 예를들면, 중계기 (400) 에 의해 발생되는 CRS 신호는 중계기 (410) 에 의해 수신되고 말단스테이션 ( 460, 470, 480 ) 에 전송된다. 이와는 반대로, 중계기 (410) 에 의해 발생되는 CRS 신호는 중계기 (400) 에 의해 수신되며 말단 스테이션 ( 420, 430, 440 ) 에 재전송된다. 따라서, 중계기 (400) 에서 생기는 흐름제어 상태는 네트워크내의 다른 노드들이 전송하는 것을 방지하도록 중계기 (410) 를 통해 전달될 수 있다.
네트워크의 특정 노드를 흐름제어하는 결정은 전송된 패킷이 이미 통화중인 노드에 어드레스되는 것을 전송 초기에 중계기가 인식하는 경우나 말단 스테이션 (420) 이 말단 스테이션 (440) 에 전송중이며 말단 스테이션 (480) 이 말단 스테이션 (420) 에 어드레스된 패킷을 전송하기 시작한 경우와 같은 여러가지 이유로 해서 내려질 수 있다. 또 다른 예는 전송을 수용하기에 불충분한 자원들이 존재한다는 것을 나타내는 신호를 중계기 유니트가 감지 또는 수신한 경우이다. 흐름제어 결정은 중계기 유니트내의 데이타 통신 컨트롤러나 네트워크내의 그밖의 부분에 상주하는 시스템 자원 관리 레벨에서 내려진다.
도 8 은 본 발명을 이루는 네트워크, 시스템 자원 관리 기능, 흐름제어 생성기 기능 및 포트 논리부간의 논리적 관계의 일례를 보여주는 블록 다이어그램이다. 상기 시스템 자원관리 ( System Resource Management ; SRM ) 서브 시스템 (610) 은 네트워크 (602) 에 대한 시스템 자원의 활용도에 관한 정보를 수집 및 유지할 책무를 갖는 논리적 엔티티이다. SRM 서브시스템 (610) 은 수신된 메시지 교통 ( NET-receive (X) ),전송된 메시지 교통 ( NET-transmit (Y) ), 시스템 구조 ( configuration-info ) 및 내부적으로 유지된 시스템 변수 ( int-sys-var ) 와 같은 정보를 기초로 하여 흐름제어 메시지를 공급하는 것이 필요한 지를 결정한다. NET-receive (X) 및 NET-transmit (X) 에서의 변수 ( X, Y ) 는 NET-receive (X) 또는 NET-transmit (Y) 에서의 데이타가 어드레스되는 말단 스테이션에 해당하는 포트의 어드레스라고 칭한다. 한 포트는 한 말단 스테이션을 서비스하는 논리 시스템 엔티티이다. 본 발명의 예에 있어서, 포트 (X) (630) 는 말단 스테이션 (640) 을 제공하는 포트 엔티티이다. 한 말단 스테이션을 전후한 전송은 그러한 말단 스테이션에 해당하는 포트를 통과한다.
메시지 교통량은 SRM (610) 을 통과하고 포트 (X) (630) 에 대해 수신되는 receive-packet (X) 의 하방으로 전달하며 네트워크 (602) 내의 다른 어느 부분에 위치한 포트 (Y) 의 수신지에 포트 (X) (630) 로 부터 전송된 transmit-packet (Y) 를 중계시킨다. SRM (610) 이 네트워크 (602) 상의 모든 메시지 교통량을 감시하기 때문에, 이는 어느 포트가 이미 작동상태로 사용되고 있는 지를 안다. 결과적으로, 이는 데이타 패킷이 어드레스되는 포트가 이미 통화중에 있다는 것을 결정할 수 있으며 통화중인 포트에 데이타를 전송하는 어느 한 포트는 흐름제어되어야 한다.
포트 (X) (630) 가 흐름제어되어야 한다고 SRM (610) 이 결정한 경우, 이는 흐름제어 신호 생성기 ( FCS ; 620 ) 에 send-fc-msg (X) 를 전송한다.본 발명의 흐름제어 시스템에 포함될 수 있는 선택적인 특징은 SRM (610) 이 포트 (X) (630) 에 대한 흐름제어 상태의 기대된 기간을 계산할 수 있는 경우 SRM (610) 은 또한 fc-duration (X) 로서 FCS (620) 에 흐름제어 기간을 전송한다.
send-fc-msg (X) 를 수신하면, FCS (620) 는 포트 (X) (630) 에 의해 말단 스테이션에 전송되도록 port-transmit 의 내용을 공식화한다. 상기에 기술한 바와 같이, 어느한 전송작용은 말단 스테이션과 충돌하도록 제공하거나 말단 스테이션이 전송을 지연하게 한다. port-transmit 신호는 말단 스테이션 (640) 이 전송작용으로서 인식하지만 데이타에 대해 오인하지 않는 프리앰블 신호일 수 있다. 변형적으로는, 포트 (X) 가 흐름제어 상태에 있는 동안 FCS (620) 가 포트 (X) 에 대해 receive-packet (X) 를 수신하는 경우, receive-packet (X) 는 port-transmit 로서 전송될 수 있다.
일례로서, 한 패킷이 포트 1 상에서 수신되고 있고 패킷의 헤더내의 수신지 어드레스가 포트 2 에 대해 수신된다는 것을 나타내지만, 포트 2가 이미 통화중인 상태에서 또 다른 패킷을 수신하거나 전송하는 경우, 포트 1 은 흐름제어되어야 한다.
일단 포트 1 이 흐름제어되어야 한다고 SRM (610) 이 결정한 경우, 이는 FCS (620) 에 send-fc-msg (1) 신호를 단정한다. FCS (620) 는 포트 1 상에 port-transmit 로서 프리앰블을 전송시킴으로써 응답한다. port-transmit 는 포트 1 에 연결된 말단 스테이션과 충돌하여 말단 스테이션이 포트 1 에 대한 패킷의 전송을 종단하게 한다. 상기에 기술한 바와 같이, 말단 스테이션은 그리하여 포트 1 로 부터의 전송작용을 감시하고 전송할 또 다른 기회를 대기한다. FCS (620) 는 포트 1 상에 프리앰블을 전송시킴으로써 흐름제어 상태로 포트 1 에 연결된 말단 스테이션을 유지시킨다.
그러나, SRM (610) 이 포트 1 상의 전송을 위해 데이타 패킷 (NET-receive (1) ) 을 수신하는 경우, 이는 receive-packet (1) 으로서 FCS (620) 에 데이타를 전송한다. 포트 1 상의 패킷 데이타의 전송을 허용하기 위해 포트 1 에 대한 흐름제어 상태의 기간 ( fc-duration (1) ) 에 남아 있는 시간이 충분한 경우, 포트 1 는 말단 스테이션의 port-transmit 상에 receive-packet (1) 를 전송한다. receive-packet (1) 의 전송은 계속 흐름제어 상태로 말단 스테이션을 유지하면서 데이타 전송은 결과적으로 말단 스테이션에서의 유효한 수신 데이타 패킷을 초래시킨다.
도 9 는 방금 기술한 이벤트들의 시퀀스를 구현하는 FCS (620) 에서의 상태기계의 한 실시예를 보여주는 상태 다이어그램이다. 무 흐름제어 상태 (710) 부터 개시하면, FCS (620) 가 포트 (X) 에 대해 receive-packet (X) 를 수신하는 경우, 이는 포트 (X) (630) 상의 port-transmit 로서 패킷을 전송한다. 포트 (X) 에 대해 어떠한 패킷 데이타도 존재하지 않는 경우 ( 즉, recevie-packet (X) = IDLE ), FCS (620) 는 포트 (X) 상의 프레임간 갭의 최소기간을 보장하도록 내부 타이머 ( FC-gap-timer ) 를 시동한다.
FCS (620) 가 SRM (610) 으로부터 send-fc-msg (X) = TRUE 를 전송하는 경우, FCS (620) 는 포트 (X) (630) 를 흐름제어하기 시작한다. fc-gap-timer 가 기간경과한 경우, FCS (620) 는 개시 흐름제어 상태 (720) 로 이동하여 포트 (X) (630) 상에 프리앰블 ( port-transmit = PREAMBLE ) 을 전송하기 시작한다. FCS (620) 가 개시 흐름제어 상태 (720) 에 들어가는 경우, 이는 포트 (X) (630) 상의 말단 스테이션 (640) 이 현재 전송을 대기할 수 있는 어느 한 전송 패킷을 폐기하게 하는 프로토콜의 초과 시간제한이 초과되지 않게 하는 시간값으로 내부 타이머 ( excess-timer ) 를 설정한다.
FCS(620) 가 무흐름제어 상태 (710) 에서 동안 send-fc-msg (X) = true 를 수신하는 경우 FC-gap-timer 가 기간경과되지 않는다면, FCS (620) 는 흐름제어 정지상태 (740) 로 천이하고 포트 (X) (630) 상의 port-transmit = IDLE 을 대기함으로써 말단 스테이션 (640) 이 전송작용에서의 충분한 프레임간 갭을 감시하게 한다. FC-gap-timer 가 기간경과되지 않는 경우, FCS (620) 는 말단 스테이션 (640) 으로의 흐름제어 신호의 전송을 개시하도록 개시 FC 상태 (720) 로 천이한다.
FCS (620) 가 개시흐름제어 상태 (720) ( send-fc-msg (X) = true ) 에 있으며, excess-timer 가 기간경과되는 동안, FCS (620) 는 흐름제어 정지상태 (740) 로 천이하여 FC-gap-timer 를 시동한다. 이는 말단 스테이션 (640) 이 그의 전송 패킷을 폐기하게 하는 초과시간 위반이 생기지 않게 전송작용에서의 프레임간 갭을 관찰하게 한다. FC-gap-timer 의 시간 기간은, 말단 스테이션 (640) 이 그의 데이타를 전송하여 또 다른 충돌을 초래하게 하기 전에 FCS (620) 가 포트 (X) (630) 로 하여금 전송을 재개하게 하도록 충분히 짧게 유지된다. 따라서, FC-gap-timer 가 기간만료되는 경우, FCS (620) 는 개시 흐름제어 상태 (720) 로 다시 천이한다.
FCS (620) 가 포트 (X) (630) 를 흐름제어하고 있으면서 receive-packet (X) 이 수신되고, 흐름제어 상태의 나머지 기간 ( fc-duration (X) ) 이 receive-packet (X) 를 전송하는 데 소요되는 시간 ( PKT-TIME ) 보다 긴 경우, FCS (620) 는 흐름제어 패킷 스위치 상태 (640) 로 천이한다. 흐름제어 패킷 스위치 (730) 에서, FCS (620) 는 포트 (X) (630) 로 부터의 port-transmit 로서 receive-packet (X) 를 사용하고 그 패킷을 말단 스테이션 (640) 에 전송한다. receive-packet (X) 의 전송이 완료된 경우, FCS (620) 는 전송작용에 프레임간 갭을 삽입하도록 흐름제어 정지상태 (740) 로 천이한다.
개시 FC (720) 또는 FC 정지 (740) 상태동안, FCS (620) 가 send-fc-msg (X) = false 를 수신한 경우, FCS (620) 는 무흐름제어 상태 (710) 로 다시 천이하고 그것이 네트워크 (602) 에서의 교통량의 정상적인 흐름으로 수신됨에 따라 receive-packet (X) 를 전송한다.
도 10 은 도 9 의 흐름제어 상태기계를 합체시킨 흐름제어 신호 생성기의 제어하에서 한 포트 (820) 에 대한 한가지 가능한 메시지 전송 시나리오를 설명하는 시간 공간 다이어그램이다. 도 10 의 시나리오에서, 한 말단 스테이션에서의 노드 MAC (810) 는 SRM (830) 에 transmit-packet 으로서 데이타를 전달하는 포트 (820) 에 데이타를 전송하기 시작한다. SRM (830) 은 노드 MAC (810) 가 흐름제어되어야 한다고 결정하고 send-fc-msg (X) = TRUE 를 포트 (820) 에 전달한다. 그러한 흐름제어 신호를 수신하는 경우 포트 (820) 는 JAM 신호 ( port-transmit = PREAMBLE ) 를 노드 MAC (810) 에 전송하기 시작하고 노드 MAC (810) 의 프로토콜에 대한 초과 지연시간보다 짧은 시간주기후에 기간경과하도록 설정되는 excess-timer 를 시동한다. 노드 MAC (810) 는 PREAMBLE 신호와의 충돌을 검출하고 데이타 패킷 전송을 수신하는 다른 모든 말단 스테이션이 그러한 충돌을 검출하는 것을 프로토콜하에서 보장하도록 데이타 패킷 전송시간중 나머지 시간동안 그 자체의 PREAMBLE 신호를 전송하기 시작한다. 노드 MAC (810) 는 포트 (820) 로부터의 전송작용의 기간을 감시하도록 통신 프로토콜의 일부로서 초과지연 타이머 ( exc-def-timer ) 를 또한 시동한다.
도 10 의 시나리오가 계속됨에 따라, 포트 (820) 는 상기 excess-timer 가 기간경과될때까지 PREAMBLE 를 계속 전송하는 데, 이러한 시간에는 포트 (820) 가 노드 MAC (810) 를 향한 전송을 정지시키고 제 1 지연 타이머 ( FC-gap-timer ) 를 시동한다. 포트 (820) 로 부터의 전송작용의차단은 노드 MAC (810) 가 exe-def-timer 를 리세트되게 함으로써, 상기 MAC 가 그의 전송 패킷을 폐기하고 과도한 지연 에러를 플래깅 ( flagging ) 하는 것을 방지하며, 그러한 프로토콜하에서의 한세트의 프레임간 갭 부분후에 기간경과하도록 설정되는 프레임간 갭부분 타이머 ( IFGp-timer ) 를 시동한다. IFGp-timer 가 기간경과되는 경우에, 노드 MAC (810) 는 포트 (820) 가 전송을 재개하는 지의 여부에 관계없이 프레임간 갭의 종료시 그의 데이타를 전송하기 시작한다. 그러나, FC-gap-timer 는 노드 MAC (810) 가 또 다른 전송시도에 관여하는 것을 방지하도록 IFGp-timer 의 기간보다 짧은 기간을 갖게 선택되었으며, FC-gap-timer 의 기간경과시, 포트 (820) 는 PREAMBLE 신호의 전송을 재개함으로써 노드 MAC (810) 에서의 IFGp-timer 를 리세트시킨다.
노드 MAC (810) 의 흐름제어가 종료되어야 한다고 SRM (830) 이 결정한 경우, send-fc-msg (X) 는 포트 (820) 에 대해 FALSE 로 설정된다. 그후, 포트 (820) 는 노드 MAC (810) 를 향하는 전송을 정지시키고 excess-timer 를 리세트시킨다. 포트 (820) 로 부터의 전송작용의 정지는 노드 MAC (810) 가 exc-def-timer 를 리세트되게 하고 IFGp-timer 를 시동되게 한다. IFGp-timer 가 기간경과된 경우, 노드 MAC (810) 는 그의 전송 데이타를 상향으로 대기행렬시키고, 프레임간 갭의 종료시, 다시 전송하도록 시도한다.
도 11 은 도 9 의 흐름제어 상태기계를 합체시킨 흐름제어 생성기의제어하에서 포트 (820) 에 대한 제 2 메시지 전송 시나리오를 설명하는 또 다른 시간 공간 다이어그램이다. 도 11 의 시나리오에서, 노드 MAC (810) 는 SRM (830) 이 흐름제어하기로 결정한 경우 유휴 ( idle ) 상태이다. SRM (830) 으로부터의 send-fc-msg (X) = TRUE 신호는 노드 MAC (810) 에 PREAMBLE 를 전송하기 시작하며 excess-timer 를 시동하도록 포트 (820) 를 프롬포트 ( prompt ) 한다. PREAMBLE 전송은 exc-def-timer 를 시동하는 노드 MAC (810) 에 의해 반송파 작용으로서 검출된다. 포트 (820) 는 excess-timer 가 기간경과될 경우 PREAMBLE 전송을 정지시키는 데, 이러한 시점에서 포트 (820) 는 또한 FC-gap-timer 를 시동한다. 전송차단은 노드 MAC (810) 가 exc-def-timer 를 리세트되게 하고 IFGp-timer 를 시동되게 한다.
FC-gap-timer 가 기간경과된 경우, 포트 (820) 는 PREAMBLE 전송을 재개시키고 excess-timer 를 시동한다. PREAMBLE 전송은 IFGp-timer 를 리세트시키고 노드 MAC (810) 에서의 exc-def-timer 를 시동한다. 제 2 PREAMBLE 전송시, SRM (830) 은 노드 MAC (810) 에 어드레스되는 포트 (820) 에 데이타 패킷 ( transmit-packet=data ) 을 중계시킨다. 데이타 패킷의 전송을 허용하는 데 excess-timer 상에 남아 있는 시간이 충분해서, 포트 (820) 는 노드 MAC (810) 에 PREAMBLE 대신에 데이타 패킷을 전송하여 pot-transmit=data 가 된다. 포트 (820) 는 여전히 excess-timer 상에 남아 있는 시간이 있다고 결정하고 상기 타이머가 기간경과될때까지PREAMBLE 전송을 재개한다.
excess-timer 가 기간경과된 경우, 포트 (820) 는 PREAMBLE 전송을 정지시키고 FC-gap-timer 를 시동한다. 노드 MAC (810) 는 exc-def-timer 를 리세트시키고 전송차단에 응답하여 IFGp-timer 를 시동한다. 그러나, 전송차단시, SRM (830) 은 포트 (820) 에 send-fc-msg (X) = FALSE 를 전송한다. 포트 (820) 는 FC-gap-timer 를 리세트시키고 PREAMBLE 전송을 재개하지 않는다. 노드 MAC (810) 에서의 IFGp-timer 는 리세트되지 않음으로써 기간경과하여 노드 MAC (810) 가 흐름제어되는 동안 수신된 어느 한 데이타의 전송을 시도하는 것을 허용한다.
도 12 는 본 발명의 흐름제어 방법을 사용하는 네트워크 스위치 요소의 한 특정의 실시예의 기능적 블록 다이어그램을 도시한 것이다. 상기 스위치 요소 (1000) 는 각각이 단일의 말단 스테이션과의 통신을 지원하는 12 개의 포트를 지원한다. 스위치 요소 (1000) 는 스위치 버스 (1010) 를 거쳐 또한 말단 스테이션들을 서비스하는 포트들을 지원하는 다른 유사한 스위치 요소들에 연결될 수 있다.
스위치 버스 (1010) 상에 수신되고 스위치 요소 (1000) 내에 포함된 포트에 어드레스되는 데이타 패킷은 상기 패킷용의 수신지 포트에 전용된 TX FIFO (1014) 내의 블록에 결과적인 데이타를 저장하는 변환기 (1012) 에 의해 수신되고 포트들에 대한 적합한 데이타 사이즈로 변환된다. TX FIFO 관리자 (1016) 는 스위치 요소내의 모든 포트에 대해 TX FIFO (1014)에 저장된 FIFO 블록들을 전송한다.
각각의 포트는 각각의 말단 스테이션을 갖는 물리적 통신 링크에 해당하는 논리적 엔티티인 포트 블록을 지닌다. 포트 1 블록 (1018), 포트 2 블록 (1020) 및 포트 12 블록 (1022) 은 도 12 에 도시되어 있으며 포트 3-11 에 대한 포트 블록은 명료성을 위해 배제되어 있다. 각각의 포트 블록은 그러한 포트에 대한 상태기계를 실행한다. 예를들면, 포트 1 블록은 도 8 에 예시된 포트 (X) (630) 를 포함하는 흐름제어 신호 생성기 ( FCS ) (620) 로서 작용하고 포트 1 에 대하여 도 9 에 예시된 상태 다이어그램을 구현한다.
한 포트로부터 수신된 데이타 패킷은 MUX (1024) 를 통과하며 RX FIFO (1026) 내의 발신지 포트의 수신 ( RX ) FIFO 블록에 저장된다. RX FIFO 관리자 (1028) 는 스위치 요소 (1000) 내의 모든 포트에 대한 수신 FIFO 블록을 관리한다. RX FIFO (1026) 내의 데이타 패킷들은 변환기 (1032) 에 의해 스위치 버스에 대한 데이타 사이즈로 변환된다. 스위치 요소 (1000) 상의 또 다른 포트에 대해 수신되는 데이타 패킷들 조차도 스위치 버스 (1010) 상에 전송되며 변환기 (1012) 를 통해 수신되고 TX FIFO (1014) 에 저장된다.
조사 엔진 ( lookup engine ) (1030) 은 스위치 버스 (1010) 상에서 관찰되는 데이타 패킷에 예비적으로 계류되는 발신지 및 수신지 어드레스를 조사하고 다중 스위치 요소들을 합체시킨 네트워크내에 작동포트의 테이블을 유지한다. 조사 엔진 (1030) 에서 SRM (610) 을 구현하는 것이 가능하다. 네트워크내의 작동 포트를 감시하고 스위치 버스 (1010) 대역폭과 같은 시스템 자원의 사용 레벨을 추적함으로써, 조사 엔진 (1030) 은 한 포트가 이미 통화중인 상태로 전송 또는 수신하는 또 다른 포트에 전송하는 것을 방지하고 또는 메시지 교통량의 레벨이 스위치 버스 (1010) 의 용량에 이르는 경우 한 포트가 전송하는 것을 방지하도록 스위치 요소 (1000) 에서의 한 포트를 흐름제어하도록 결정할 수 있다.
본 발명의 구조 및 작동방법에 있어서의 여러 다른 수정 및 변경은 본 발명의 범위 및 사상으로부터 이탈하지 않고서도 당업자에게는 자명해질 것이다. 그러한 모든 수정은 이하 청구범위내에 포함되도록 의도되어 있다. 특히, 본 발명은 기술된 예와는 다른 네트워크 매체, 위상 및 프로토콜을 지원하는 데 사용될 수 있다. 그 이외에도, 본 발명은 버스 위상으로 함께 연결된 다중 말단 스테이션들과 브로드케스트하는 단일의 흐름제어 신호생성기를 사용하여 다중 말단 스테이션 또는 총체적인 네트워크 세그먼트들을 동시에 흐름제어하는 데 사용될 수 있다.
지금까지 본 발명이 단지 특정의 바람직한 실시예들과 연관지어 설명되었지만, 권리주장된 바와 같은 발명은 그러한 특정한 실시예에 부당하게 제한되어선 안된다는 점을 이해하여야 한다. 첨부된 청구범위들은 본 발명의 범위를 한정하며 이들 청구범위 및 등가범위에 속하는 구조및 방법은 본 발명에 속하는 것으로 의도되어 있다.