KR20040070167A - 통신링에서 다수의 토큰에 대한 동시 관리를 위한 방법 및시스템 - Google Patents

통신링에서 다수의 토큰에 대한 동시 관리를 위한 방법 및시스템 Download PDF

Info

Publication number
KR20040070167A
KR20040070167A KR10-2004-7001459A KR20047001459A KR20040070167A KR 20040070167 A KR20040070167 A KR 20040070167A KR 20047001459 A KR20047001459 A KR 20047001459A KR 20040070167 A KR20040070167 A KR 20040070167A
Authority
KR
South Korea
Prior art keywords
bus
data
agent
slave
master
Prior art date
Application number
KR10-2004-7001459A
Other languages
English (en)
Other versions
KR100628630B1 (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 KR20040070167A publication Critical patent/KR20040070167A/ko
Application granted granted Critical
Publication of KR100628630B1 publication Critical patent/KR100628630B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Abstract

본 발명은 마스터/슬레이브 에이전트 네트워크 토폴로지에서 버스를 통해 동신 통신하기 위한 방법, 장치 및 컴퓨터 판독가능한 매체에 관한 것이다. 네트워크상에서 각각의 통신 에이전트는 입력과 출력을 갖는 마스터 에이전트 또는 슬레이브 에이전트 중 하나이다. 일 실시예에서, 입력과 출력은 래치(latch)이다. 본 방법은 링에서의 톤큰의 개수가 링에서의 에이전트의 전체 개수보다 하나 적을 때까지 같아지게 할 수 있다.

Description

통신링에서 다수의 토큰에 대한 동시 관리를 위한 방법 및 시스템{Method and System For Simultaneous Management of Multiple Tokens On a Communication Ring}
컴퓨터 네트워크는 연결된 장치들이 서로 통신할 수 있도록 해준다. 주변장치에 대한 컴퓨터의 근접도에 따라 세가지 기본 유형의 네트워크들이 정의된다. 가장 짧은 거리는 개인 영역 네트워크(PAN: personal area network)이다. PAN의 예는 컴퓨터, 프린터, 스캐너, 그 외의 것을 연결하기 위한 범용 직렬 버스 (USB: Universal Serial Bus) 방법을 이용하는 가정용 컴퓨터(hnome computer)이다. 그들이 근접해 있는 한 PAN이 서로 통신하는데 이용된다.
통신은 직렬 버스에 기반을 두고 다수의 제한(조건)들을 갖는데, 다수의 제한조건들중 하나는 동시 통신을 행할 수 없다는 것이다. 따라서, 개선된 동시 네트워크를 허용하는 통신에 대한 필요성이 존재한다.
전형적인 기업 환경에서 컴퓨터, 프린터 및 관련 장비가 서로 통신할 수 있도록 대부분의 사무실들이 서로 연결된다. 이 구성은 근거리 통신망(LAN : Local Area Network)으로 알려져 있다. 광범위하게 설치되는(deploy) 두가지 형태의 LAN이 있다. 첫번째 형태의 LAN은 이더넷 네트(ethernet net)(IEEE 802.3)이고 다른 형태의 LAN은 토큰 링(token ring)(IEEE 802.5) 네트워크이다. 이더넷 네트워크는 일반적으로 설치하는데 소요되는 비용이 상대적으로 적기 때문에 더 광범위하게 이용된다. 그러나, 다수의 통신 디바이스가 동일한 시간에 통신하기 위해 경쟁한다면, 하나의 디바이스가 통신을 완료할 때까지 하나의 디바이스를 제외한 모든 디바이스가 통신을 "철회(backoff)"하거나 연기시켜야(hold-off)만 하는 동안 병목현상이 일어난다. 모든 디바이스들이 통신을 완료할 때까지 다음 다른 디바이스가 통신을 시작한다. 이는 "동시" 통신에 관한 문제이다. 이더넷 네트워크 토폴로지에서, 네트워크의 통합된 밴드폭은 부하(loading) 조절의 결여로 인해 증분 밴드폭에 접근할 수 없다.
이더넷 네트워크 토폴로지와는 대조적으로, 토큰 링은 부하 조절을 허용한다. 그 이름이 암시하는 것과 같이, 밴드폭의 더 높은 공유를 위해, 토큰 링 네트워크(token ring network)는 토큰전달에 기반을 두며, 토큰의 제어에 근거하여 충돌(collision)을 피한다.
LAN 표준인 이더넷 네트워크 및 토큰 링 네트워크는 둘다 유용하지만 그들의 단점이 없는 것은 아니다. 하나의 단점은 이더넷과 토큰 링 네트워크 둘다 동시 통신을 고려하지 않는다는 점이다. 따라서 동시 통신을 제공하고 통신 밴드폭을 개선해야할 필요가 있다.
전술한 바와 같이, 네트워크 설치에 소요되는 비용은 종종 네트워크 토폴로지의 도입에서 주요한 요인(factor)이다. 현저한 추가 비용을 요구하는 종래기술에서의 동시 통신에 대한 다른 종래기술의 해결방안은 도입 비용의 상승으로 인해 바람직하지 않다. 따라서, 적절한 비용으로 동시 통신을 제공하기 위한 방법 및 장치가 필요하다.
이름이 암시하는 것과 같이, 광역 통신망(WAN : wide area network)은 광범위하게 컴퓨터와 컴퓨터 장비를 구획한다(separate). 이 컴퓨터들을 연결하는 다수의 방법이 있다. 인터넷은 가장 보편적으로 멀리까지 연결된다. WAN을 이용하는 동안의 다른 컴퓨터와의 네트워크 경합은 가변 연결 속도 및 피드 전송률의 동시 연결을 구비함으로써 제어된다. 다르게 기재하면, 컴퓨터는 일반적으로 다른 컴퓨터와 동시에 WAN을 이용하여 통신하지만, 통신은 통신 유닛들 사이에 연장된 거리때문에 긴 시간이 걸릴 수 있다. 따라서, LAN의 일부분이면서 동시 통신을 허용하는 방법 및 장치가 필요하다.
본 발명은 일반적으로 컴퓨터 네트워크 분야에 관한 것이다.
본 발명은 이하 도면에 도시된 바와 같이 바람직한 실시예에 관련하여 단순한 예시로써 설명될 수 있다.
도 1a는 두개의 마스터 에이전트와 두개의 슬레이브 에이전트를 도시하는 전형적인 토큰 링 네트워크의 블럭도이다.
도 1b는 데이터 및 제어가 어떻게 정의되는지 예를 설명하는 패킷의 블럭도이다.
도 2는 버스와 에이전트 사이의 인터페이스의 실시예를 도시하는 논리적 블럭도인데, 이는 마스터 에이전트 또는 슬레이브 에이전트일 수 있다.
도 3 내지 도 9는 도 1의 링 네트워크 토폴로지에 대한 예시적인 시간주기 T0 ~ T6에 대한 동시 통신을 도시하는 일련의 논리적 다이어그램이다.
도 10은 전술한 버스 또는 링에서 마스터 에이전트의 L1래치 관점에서 이루어진 흐름도이다.
도 11은 슬레이브 에이전트에 대한 프로그램 흐름도(1100)이다.
간략히 말해, 본 발명에 따르면, 마스터/슬레이브(master/slave) 에이전트 네트워크 토폴로지에서 버스를 통한 동시 통신을 위한 방법, 장치 및 컴퓨터 판독가능 매체가 개시된다. 네트워크상 각각의 통신 에이전트는 입력과 출력을 갖는 마스터 에이전트이거나 슬레이브 에이전트이다. 일실시예에서, 입력과 출력은 래치된다(latch). 본 방법은 소정의 주어진 시간에 하나이상의 토큰이 링상에 있게 할 수 있다(permit). 마스터 에이전트는 요구(request)를 시작할 수 있으며, 슬레이브 에이전트는 요구을 시작할 수 없다. 마스터 에이전트가 토큰을 링으로부터수신하고 진행중인 요구(pending request)를 갖은 경우, 마스터 에이전트는 링으로부터 토큰을 제거하고 그 요구를 송출한다(issue). 마스터 에이전트가 요구에 대한 응답을 선정된 슬레이브 에이전트로부터 수신할 때까지 토큰은 링으로 되돌려지지 않는다. 즉, 토큰 타임 스롯(token time slot)은, 단순히 요구 또는 응답을 전송하는 것대신에, 완전한, 라운드 트립 트랜잭션(round trip transaction)을 위해 이용된다. 슬레이브 에이전트가 요구를 수신하는 경우, 슬레이브 에이전트는 토큰을 기다리지 않고 가능한한 빨리 응답을 생성하여 링으로 인가한다(put). 본 발명은 본 명세서에서 설명된 테크널로지를 이용하여, 동일한 버스에 연결된 다수의 마스터 에이전트를 지원한다.
제1 측면에 따라, 적어도 하나의 슬레이브 에이전트와 적어도 하나의 마스터 에이전트를 연결하는 버스를 통해 동시 통신을 위한 방법을 제공하며, 상기 버스에 대해 입력과 출력을 구비하는 마스터 에이전트에 대한 상기 방법은, 마스터로부터의 데이터 또는 버스로부터의 데이터가 있는지를 판단하는 단계와, 마스터로부터의 데이터가 있으면, 버스로부터의 데이터가 토큰인지를 검사하는 단계와, 버스로부터의 데이터가 토큰이면 데이터를 마스터에서부터 버스로 이동시키고 토큰을 버스에서 제거하는 단계와, 데이터가 버스로부터의 토큰이 아니면 데이터를 버스의 입력으로부터 버스의 출력으로 이동시키는 단계를 수행하는 단계를 포함하고, 상기 데이터가 버스로부터이면 데이터를 버스의 입력에서부터 버스의 출력으로 이동시킨다.
바람직하게, 출력에 데이터가 없거나 또는 어드밴스 라인(advance line)이인가되는지(asserted)를 판단하고 출력에 데이터가 없거나 어드밴스 라인이 인가되면 버스로부터 데이터가 있는지 또는 마스터로부터의 데이터가 있는지를 판단하는 단계를 수행한다. 바람직한 실시예예서, 상기 방법은 마스터 에이전트가 액세스 매크로(access macro)에 연결되는지를 판단하고 마스터 에이전트가 액세스 매크로에 연결되어 있다면, 버스가 초기화될 때 버스에 토큰을 배치하는 단계를 수행하는 단계를 더 포함하며, 여기서 버스에서 토큰의 최대 개수는 마스터 에이전트의 전체 개수에 슬레이브 에이전트의 전체 개수에서 하나를 뺀것을 더한 것과 같게 설정된다. 적절하게, 본 방법은 리셋 명령(reset command)을 수신하는 단계와, 리셋한 다음 마스터 에이전트가 액세스 매크로에 연결되는 지를 판단하여 마스터 에이전트가 액세스 매크로에 연결되면 버스에 n-1개의 토큰을 배치하는 단계를 더 포함하며, 여기서 n은 버스에서 통신하는 마스터 에이전트와 슬레이브 에이전트의 전체 개수이다.
제2 측면에 따라, 프로그램이 컴퓨터에서 작동할 때 전술한 방법의 모든 단계를 수행하기 위해 적용된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램이 제공된다.
제3 측면에 따라, 적어도 하나의 마스터 에이전트와 적어도 하나의 슬레이브 에이전트를 연결하는 버스를 통해 동시 통신을 위한 방법이 제공되며, 버스에 대한 입력과 출력을 구비하는 슬레이브 에이전트에 대한 상기 방법은 버스로부터의 데이터 또는 슬레이브로부터의 데이터가 있는지를 판단하여 버스로부터의 데이터는 있지만 슬레이브로부터의 데이터는 없으면 데이터를 버스로부터 출력으로 이동시키고, 슬레이브로부터의 데이터는 있지만 버스로부터의 데이터가 없으면 데이터를 슬레이브로부터 출력으로 이동시키는 단계와, 버스와 슬레이브 둘다로부터 데이터가 있는지를 판단하여 버스와 슬레이브 둘다로부터 데이터가 있으면 다음 서브-단계들을 수행하는 단계를 포함한다. 상기 서브-단계들은 버스가 우선권(priority)를 갖으면 데이터를 버스로부터 출력으로 이동시키고 우선권을 슬레이브로 설정하는 단계와, 버스가 우선권을 갖지 않으면 데이터를 슬레이브로부터 출력으로 이동시키고 우선권을 버스로 설정하는 단계를 포함한다. 바람직하게, 본 방법은 출력에 데이터가 없으면 또는 어드밴스 라인(advance line)이 인가되는지를 판단하고, 출력에 데이터가 없거나 어드밴스 라인이 인가된다면 버스로부터 데이터가 있는지 또는 마스터로부터의 데이터가 있는지를 판단하는 단계를 수행한다.
제4 측면에 따라, 프로그램이 컴퓨터에서 동작할 때 상기 방법의 모든 단계를 수행하기 위해 적용된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램이 제공된다.
제5 측면에 따라, 본 발명은 두개 이상의 에이전트 사이에 동시 통신을 위한 데이터 통신 네트워크를 제공하는 것으로, 상기 데이터 통신 네트워크는 통신 버스에 연결된 슬레이브 에이전트로서 선정된 적어도 하나의 에이전트와, 상기 통신버스에 연결된 마스터 에이전트로서 선정된 적어도 하나의 에이전트와, 버스로부터의 입력과 버스에 대한 출력을 갖는 마스터 에이전트에 대한 인터페이스를 포함하고, 상기 인터페이스는, 데이터가 있는지를 검사하고, 마스터로부터의 데이터가 있으면 버스로부터의 데이터가 토큰인지를 검사하고, 데이터가 버스로부터의 토큰이면 데이터를 마스터로부터 버스로 이동시키고 토큰을 제거하고, 데이터가 버스로부터의 토큰이 아니면 데이터를 버스의 입력으로부터 버스의 출력으로 이동시키고, 데이터가 마스터로부터가 아니고 버스로부터이면 데이터를 버스의 입력으로부터 버스의 출력으로 이동시키기 위한 다수의 래치를 포함한다.
제4 측면에 따라, 본 발명은 두개 이상의 에이전트 사이에 동시 통신을 위한 데이터 통신 네트워크를 제공하는 것으로, 상기 데이터 통신 네트워크는 통신 버스에 연결된 슬레이브 에이전트로서 선정된 적어도 하나의 에이전트와, 상기 통신버스에 연결된 마스터 에이전트로서 선정된 적어도 하나의 에이전트와, 버스에 대한 입력과 버스에 대한 출력을 갖는 슬레이브 에이전트 각각에 대한 인터페이스를 포함하고, 상기 인터페이스는, 버스로부터의 데이터가 있는지 또는 슬레이브 에이전트로부터의 데이터가 있는지를 검사하기 위한 다수의 래치를 구비함- 를 포함하고, 버스로부터의 데이터는 있지만 슬레이브로부터의 데이터가 없으면 데이터를 버스로부터 출력으로 이동시키고 슬레이브로부터의 데이터는 있지만 버스로부터의 데이터가 없으면 데이터를 슬레이브로부터 출력으로 이동시키기 위한 다수의 래치를 포함하고, 상기 다수의 래치는 버스로부터의 데이터 와 슬레이브로부터의 데이터가 둘다 있는지를 검사하여 버스와 슬레이브로부터의 데이터가 둘다 있으면 버스가 우선권을 갖는지를 검사하는 지를 검사하고, 버스가 우선권을 갖으면 데이터를 버스로부터 출력으로 이동시키고 슬레이브에 우선권을 설정하고, 버스가 우선권을 갖지 않으면 데이터를 슬레이브로부터 출력으로 이동시키고 우선권을 버스에 설정한다.
바람직하게, 데이터는 제어 데이터 및 패리티 데이터(parity data)를 더 포함한다. 보다 바람직하게, 이종 환경(heterogeneous environment)을 형성하기 위해 통신 에이전트 중 적어도 하나는 제1 브랜드 컴퓨터에 연결되며 통신 에이전트중 적어도 하나는 제2 브랜드 컴퓨터에 연결된다. 보다 더 바람직하게, 버스는 유선, 무선 및 적외선으로 구성되는 버스의 그룹으로부터 선택된다.
바람직한 실시예에서, 각각의 슬레이브 에이전트에서의 인터페이스는 데이터가 슬레이브 에이전트에 대한 것인지를 검사하고, 데이터가 슬레이브 에이전트에 대한 것이면 데이터를 슬레이브에 전송하기 위한 다수의 래치를 포함한다. 바람직하게, 마스터 에이전트에 대한 인터페이스는 데이터가 마스터 에이전트에 대한 것인지를 검사하고, 데이터가 마스터 에이전트에 대한 것이면, 데이터를 마스터로 전달하기 위한 다수의 래치를 더 포함한다.
제5 측면에 따라, 두개 이상의 에이전트 사이의 동시 통신을 위한 데이터 통신 네트워크가 제공되며, 상기 데이터 통신 네트워크는 전술한 바와 같이 통신 버스에 연결된 마스터 에이전트로 선정된 적어도 하나의 에이전트와, 전술한 바와 같이 통신 버스에 연결된 슬레이브 에이전트로 선정된 적어도 하나의 에이전트를 포함한다.
제6 측면에 따라, 적어도 하나의 마스터 에이전트와 적어도 하나의 슬레이브 에이전트를 연결하는 버스를 통해 동시 통신을 위한 프로그래밍 명령어를 포함하는 컴퓨터 판독가능한 매체가 제공되며, 버스에 대해 입력과 출력을 구비하는 마스터 에이전트상에서 상기 프로그래밍 명령어는, 리셋 명령을 수신하고, 리셋 다음 마스터 에이전트가 액세스 매크로에 연결되는지를 판단하여 마스터 에이전트가 액세스매크로에 연결되어 있다면 버스에서 n-1개의 토큰을 배치하며, 여기서, n은 버스에서의 마스터 에이전트와 슬레이브 에이전트 통신의 전체 개수이다.
제7 측면에 따라, 적어도 하나의 마스터 에이전트와 적어도 하나의 슬레이브 에이전트를 연결하는 버스를 통해 동신 통신을 위한 프래그래밍 명령어를 포함하는 컴퓨터 판독가능한 매체가 제공되며, 버스에 대해 입력과 출력을 구비하는 마스터에이전트상에, 상기 프로그래밍 명령어는 마스터로부터의 데이터가 있는지를 판단하여 마스터로부터의 데이터가 있으면, 입력으로부터의 데이터가 토큰인지를 검사하고 버스로부터의 데이터가 토큰이면 데이터를 마스터로부터 버스로 이동시키고 토큰을 제거하며, 버스로부터의 데이터가 토큰이 아니면 데이터를 버스의 입력으로부터 출력으로 이동시키고, 데이터가 마스터로부터가 아니고 버스로부터 온 것이면, 데이터를 버스의 입력으로부터의 버스의 출력으로 이동시킨다.
- 본 출원서에 이용된 용어 해설
에이전트(AGENT) - 요구기(requester)(마스터) 또는 응답기(responder)(슬레이브)를 통신 구조에 연결하는 일련의 데이터 통신 로직.
버스(BUS) - 두개의 노드 사이에 데이터 및 제어를 전송하기 위해 이용되는 유선 또는 유선 그룹. 버스라는 용어는 본 발명에서 페쇄된 루프 BUS 토폴로지에 대한 용어 RING과 교환가능하게 이용된다.
이종(HETEROGENEOUS) - 상이한 제품들에 의해 공통으로 사용되는 표준에 따른 하드웨어(standard-conforming hardware) 및 소프트웨어 인터페이스에 기반을 둔 네트워크. 따라서, 상이한 제품들이 서로 통신할 수 있도록 해줌. 인터넷 자체가 이종 네트워크의 실례이다.
근거리 통신망(LAN) - 근거리 통신망(local area network)은 공통 통신선을 공유하고 일반적으로 지리적으로 좁은 지역 내(예를 들면, 사무실내)에서의 단일프로세서 또는 서버의 리소스를 공유하는 컴퓨터의 그룹 및 이에 연관된 장치들이다. 일반적으로, 서버는 다수의 컴퓨터 사용자에 의해 공동으로 공유되는 어플리케이션과 데이터 저장부를 갖는다. 근거리 통신망은 두 세명의 사용자만큼 적거나(예를 들면, 가정용 네트워크) 수천의 사용자와 같이 많이(예를 들면, FDDI 네트워크) 제공할 수 있다.
마스터/슬레이브(MASTER/SLAVE) - 마스터 : 요구를 생성하고 응답을 사용하는(consume) 통신 엔티티(communicating entity)이다. 마스터는 마스터 에이전트를 통해 통신 구조(communication fabric)에 연결한다. 슬레이브 : 요구를 사용하여 응답을 생성하는 통신 엔티티이다. 슬레이브는 슬레이브 에이전트를 통해 통신 구조에 연결한다.
링(RING) - 논리적 링을 형성하는 폐쇄된-루프 토폴로지이다. 토큰 링 토포로지는 논리적 링을 형성하지만, 중앙 허브(hub)를 구비하는 성상 토폴로지(star topology)의 케이블 배치(cable layout)을 갖는다. 성상 토폴로지를 계획하여 설치하는 것이 더 쉽기 때문에 트루 링 토포로지(true ring topology)는 드물다.
라운드-트립(ROUND-TRIP) - 라운드 트립은 요구 및 응답 둘다를 포함하고 링 또는 버스를 통하는 마스터 에이전트로부터의 완전한 송신 및 수신 트랜잭션(transaction)이다. 슬레이브 에이전트는 요구를 시작할 수 없다.
동시(SIMULTANEOUS) - 마스터 에이전트 또는 슬레이브 에이전트든 하나보다 맣은 에이전트가 클럭 신호에 무관한 동일한 시간에 통신하는 버스상의 통신이다. 등시성(isochronous)과 동기(synchronous)에 대조된다. 요청 및 응답이 하나의 라운드-트립 또는 하나의 버스 사이클로 달성될 수 있으므로 버스에 연결된 두개이상의 에이전트 사이에 통신이 일어난다.
토큰 링 네트워크(TOKEN RING NETWORK) - 토큰 링 네트워크는 모든 컴퓨터들이 링 또는 성상 토폴로지로 연결되고 동시에 메시지를 전송하기를 원하는 두개의 컴퓨터들 사이의 데이터의 충돌을 차단하기 위해 이진수 또는 토큰 전달기법이 이용되는 LAN이다. 토큰 링 프로토콜은 이더넷 다음으로 근거리 통신망에 두번째로 가장 광범위하게 이용된다. IBM 토큰링 프로토콜은 IEEE 802.5에 상세화된 표준 버전이 되었다. 양쪽 프로토콜 모두 이용되며 매우 유사하다. IEEE 802.5 토큰 링 기술은 초당 4 또는 16 메가비트(megabit)중 하나의 데이터 전송률(data transfer rate)을 제공한다. 기술에 대한 간략한 설명이 이하에 개시된다.
1. 비어있는 정보 프레임은 링에서 연속적으로 순환된다.
2. 컴퓨터가 전송할 메시지를 갖는 경우, 비어있는 프레임내에 토큰을 삽입하고(이는 프레임의 토큰 비트 부분의 0을 1로 단순 변경시키는 것으로 이루어질 수 있음) 프레임내에 메시지와 목적지 식별자(destination identifier)를 삽입한다.
3. 그 다음, 프레임은 연속적인 워크스테이션 각각에 의해 검사된다. 워크 스테이션이 자신이 이 메시지에 대한 목적지인 것을 알게되면(see), 메시지를 프레임으로부터 복사하고 토큰을 0으로 변경시킨다.
4. 프레임이 발신자(originator)로 되돌아갈 때, 발신자는 토큰이 0으로 변경되었고 메시지가 복사되어서 수신되었음을 알게된다(see). 그것은 메시지를 프레임으로부터 제거한다.
5. 프레임은 전송할 메시지를 갖는 워크스테이션에 의해 취해질 준비가 된 "공백" 프레임으로서 계속적으로 순환한다.
원거리 통신망(WAN)- 원거리 통신망은 지리적으로 분산된 통신망이고 그 용어는 더 넓은 통신 구조를 근거리 통신망과 구별한다. 원거리 통신망은 개인적으로 소유되거나 대열될 수 있지만, 그 용어는 일반적으로 공공 네트워크(공유된 사용자)의 포함하는 것을 의미한다.
링 토폴로지 및 패킷 정의(Ring Topology and Packet Definition)
도 1a는 본 발명에 따른 두개의 마스터 에이전트(102, 106)(M1, M2)와 두개의 슬레이브 에이전트(104, 108)(S1, S2)를 예시하는 전형적인 토큰 링 네트워크(100)의 블럭도이다. 각각의 에이전트(102, 104, 106, 108)는 직렬 또는 병렬 버스 또는 링(110)에 의해 연결된다. 마스터 에이전트 1(102)은 포트(112)에서 병렬 링으로 부터 연결되고, 포트(114)에서 링(110)에 연결된다.
도 1b는 본 발명에 따라 데이터 비트(122)와 제어 비트(124)가 어떻게 정의 되는 지에 대한 예로써 도시된 패키(120)의 블럭도이다. 본 실시예에서, 데이터 패킷(120)은 64비트(bit)폭 또는 8바이트(byte)가 되도록 도시된다. 패리티 비트(parity bit)는 각각의 바이트와 연관된다. 이는 결국 72비트의 전체 데이터비트 폭을 발생시킨다. 전체 비트 개수 및 데이터 비트(122) 및 제어 비트(124)의 할당은 변경될 수 있으며 본 발명의 가르침을 제한하는 것이 아니라는 것을 알 필요가 있다.
프로토콜의 개관(Overview of Protocol)
디바이스들과 통신하는 마스터/슬레이브 에이전트를 갖는 전형적인 토큰 링 네트워크에서, 표준 토큰 프로토콜에서와 같이, 마스터 에이전트는 토큰을 갖을 때만 새로운 요구를 송출할 수 있다. 그러나, 표준 토큰 프로토콜과는 몇가지 상이점이 있다.
ㆍ 라운드 트립은 요구와 응답을 모두 포함하는 링 또는 버스를 통한 마스터 에이전트로부터의 라운드 트립이다. 슬레이브 에이전트는 요구를 시작할 수 없다.
ㆍ마스터 에이전트가 토큰을 링으로부터 수신하고 진행중인 요청을 가지고 있을때, 마스터 에이전트는 링으로부터 토큰을 제거하고 그 요청을 송출한다. 토큰은 지정된 슬레이브 에이전트로부터 요청에 대한 응답을 수신할 때까지 링으로 되돌아가지 않는다. 즉, 토큰 시간 슬롯은 요구 또는 응답을 간단하게 전송하는 것보다 는 완전한 라운드 트립 트랜잭션을 위해 이용된다. 이는 슬레이브 응답에 대한 슬롯을 사전-할당하는 것에 의한 교착상태(deadlock)를 피한다.
ㆍ 슬레이브 에이전트가 요구를 수신하면, 그것은 응답을 생성하여 토큰을 기다리지 않고 가능한한 빨리 그것을 링에 넣는다. 토큰은 완전한 라운트 트립을 개시하기 위해 마스터 에이전트에 의해 이용된다. 마스터 에이전트에 의해 이용된 토큰은 요구 및 응답 둘다에 대한 공간을 예약한다(reserve).
ㆍ 임의의 시점에서 하나이상의 토큰이 링에서 순환될 수 있다.
에이전트 인터페이스(Agent Interface)
이제 도 2를 참조하면, 버스(110) 및 마스터 에이전트(102, 106) 또는 슬레이브 에이전트(104, 108)일 수 있는 에이전트(102, 104, 106, 108) 사이의 인터페이스(200)의 실시예를 나타내는 논리적 블럭도가 도시된다. L2 래치(202)는 포트(112)에서 기존의 에이전트(미도시)에 연결된다. 라인(210)을 통해 패킷(120)내의 제어 및 데이터 정보를 수신한다. 제어 비트(124)가 L2에서 래치될 때, CTS(clear to send :송신가능)(212) 신호가 업스트림(upstream)을 기존의 에이전트(미도시)로 되전송된다. 관련된 데이터가 에이전트(200)에 대해 있는 지에 대한 판단이 L2에서 수신된 제어비트(124)에 근거하여 이루어진다. 만약 있다면, 제어비트(124)는 이 에이전트에 의한 처리를 위해 라인(228)을 통해 L3 래치(208)로 일ㅇ다(pass). 이것이 에이전트에 대한 제어 비트 및 데이터 비트의 수신을 설명했다.
에어전트가 링(218)으로 놓여질 정보를 갖는다면, 정보는 연결(230)을 이용하는 L4래치(206)에 의해 L1래치(204)에 제공된다. 본 정보는 포트(114)에서 버스(110)상으로 제공된다. 이것이 전송/수신 라운드 트립의 완료라면, 마스터 에이전트(102, 106)는 동일한 경로(230)를 이용하여 버스(110)로 그의 토큰을 다시 제공한다(미도시). 이는 에이전트로부터 포트(114)로 버스(110)에 제어 및 데이터의 전송을 설명했다.
상기 에이전트에 대한 것이 아닌 데이터가 L2 래치(202)에 의해 수신되었다면, 그것은 연결(226)을 이용하여 L1래치(204)에 제공된다. L1래치(204)는 이 에이전트에 대한 것으로 확인되지 않은 정보를 통과시킬 것이다. 이는 다운스트림 에이전트의 L2(미도시)가 CTS 신호(216)를 L1래치(204)에 제공한 후에, 포트(114)의 경로(214)를 통해 버스(110)로 이 정보를 제공함으로써 달성된다.
송신 마스터 에이전트가 다른 에이전트에 의해 처리되지 않는 요청 버스(110)로부터 다시 수신했다면, 송신 마스터 에이전트는 재시도하거나 일시 정지하고 나중에 다시 시도할 수 있다.
링 주위의 데이터 흐름(Data Flow Around the Ring)
이제 본 발명에 따른 도 1의 링 네트워크 토폴로지(100)에 대해 예시적인 시간 주기 T0 - T6에 대한 동시 통신을 설명하는 일련의 논리적 블럭도가 도시된 도 3 내지 도 9를 참조한다.
왼쪽에서 오른쪽까지 각각의 영숫자에 대한 표시 규약(labeling convention)은 다음과 같으며, 여기서 #은 도 3 내지 도 9에 대한 도면 번호(place holder)를 표시한다.
1. 첫번째 숫자는 예를 들면, 3#### 및 8####과 같이 도면의 번호이다.
2. 다음, 예를 들면, #M1## #S2##과 같이 영숫자는 에어전트의 형태 및 그 번호이며, 여기서 M은 마스터 에이전트에 대한 것이고 S는 슬레이브 에이전트에 대한 것이다.
3. 다음, 표시(label) ###L2 및 ###L3는 래치 L와 래치의 번호에 관한 것이다.
케이블 명명법은, 예를 들면, ###-##와 같이 6개의 자리 홀더를 갖는다. 첫번째 번호는 도면 번호이다. 다음 번호는 연결된 에이전트의 표시인데, 여기서 "M"은 마스터 에이전트이고 "S"는 슬레이브 에이전트이고, ###-##에서 "-"는 시작부터 끝을 표시하며, 예를 들면 4M2-S2는 도 4의 마스터 에이전트 2(M2)에서부터 슬레이브 에이전트 2(S2)로이다.
시간 T0
도 3을 참조하면, 네개의 링에이전트(ring agent)와 네개의 상호 연결 케이블(interconnecting cables)이 도시된다. T-0으로 정의된 시간에, 링에이전트들은 방금 전력이 상승되거나 리셋되었다. 리셋은 토큰을 갖는 n-1개의 에이전트를 초기화한다. 여기서, n은 링에이전트의 전체 개수이다. 본 실시예에서는 4개의 링에이전트(102, 104, 106, 108)가 있으므로, 토큰의 최대개수는 3개일 것이다.
마스터 에이전트 1의 L1 3M1L1, L3 3M1L3 및 L4 3M1L4는 모두 블랭크(blank)이다. L2 3M1L2는 T1으로 표시된 토큰을 갖는다.
슬레이브 에이전트 1의 L1 3S1L1, L3 3S1L3, 및 L4 3S1L4는 모두 블랭크이다. L2 3S1L2 는 T2로 표시된 토큰을 갖는다.
마스터 에이전트 2의 L1 3M2L1, L3 3M2L3 및 L4 3M2L4는 모두 블랭크이다. L2 3M2L2는 T3으로 표시된 토큰을 갖는다.
슬레이브 에이전트 2의 L1 3S2L1, L3 3S2L3, 및 L4 3S2L4는 모두 블랭크이다. L2 3S1L2 역시 블랭크이다. 버스(110)에서 순환하는 링에이전트보다 하나 적은 토큰이 있어야만 한다.
시간 T1
도 4를 참조하면, 네개의 링에이전트와 네개의 상호연결 케이블이 도시된다. T-1으로 정의된 시간에, 후술하는 바와 같이, 마스터 에이전트들은 소정의 토큰을 얻어서(pullin) 그들의 요청을 버스(110)상에 배치함으로써 그들의 개별적 제어에 동시에 반응된다.
마스터 에이전트 1은 T1토큰을 얻어서 판독 S2요구를 버스(110)에 배치한다. 이에 따라,
· L1 4M1L1은 그 레지스터내에 요구 M1 : 판독(read) S2를 갖는다.
· L2 4M1L2는 그 레지스터내에 블랭크를 갖는다.
· L3 4M1L3는 그 레지스터내에 블랭크를 갖는다.
· L4 4M1L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 1은 T2토큰을 수신했지만 어떤한 요청도 개시할 수 없다. 이에 따라,
· L1 4S1L1은 그 레지스터내에 T2 토큰을 갖는다.
· L2 4S1L2는 그 레지스터내에 블랭크를 갖는다.
· L3 4S1L3는 그 레지스터내에 블랭크를 갖는다.
· L4 4S1L4는 그 레지스터 내에 블랭크를 갖는다.
마스터 에이전트 2는 T3토큰을 얻어서 요청 기록(WRITE) S1을 버스(110)에 배치하였다. 이에 따라,
· L1 4M2L1은 그 레지스터내에 커맨드 M2 : 기록 S1를 갖는다.
· L2 4M2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 4M2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 4M2L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 2는 토큰을 수신하지 않았으므로,
· L1 4M2L1은 그 레지스터내에 블랭크를 갖는다.
· L2 4M2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 4M2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 4M2L4는 그 레지스터 내에 블랭크를 갖는다.
이것으로 T-1의 설명을 끝마친다.
시간 T2
도 5를 참조하면, 네개의 버스(110)에이전트와 네개의 상호 연결 케이블이 도시된다. T-2로 정의된 시간에, 버스(110) 에이전트들은 다음 버스(110) 에이전트로 그들의 개별적 컨텐트의 전송을 완료하였다.
마스터 에이전트 1은 블랭크 정보를 슬레이브 에이전트(2)로부터 수신하였다. 이에 따라,
· L1 5M1L1은 그 레지스터내에 블랭크를 갖는다.
· L2 5M1L2는 그 레지스터내에 블랭크를 갖는다.
· L3 5M1L3는 그 레지스터내에 블랭크를 갖는다.
· L4 5M1L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 1은 정보를 마스터 에이전트(1)로부터 정보를 수신하였으며, 다음 통신 사이클(cycle)을 준비한다. 이 커맨드는 이 슬레이브 에이전트에 대한 것은 아니다. 따라서,
· L1 5S1L1은 그 레지스터내에 커맨드 M1 : 판독 S2를 갖는다.
· L2 5S1L2는 그 레지스터내에 블랭크를 갖는다.
· L3 5S1L3는 그 레지스터내에 블랭크를 갖는다.
· L4 5S1L4는 그 레지스터 내에 블랭크를 갖는다.
마스터 에이전트 2는 정보를 슬레이브 에이전트(1) 에이전트로부터 정보를 수신하였다. 상기 정보는 T2 토큰이다. 이에 따라,
· L1 5M2L1은 T2토큰을 갖는다.
· L2 5M2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 5M2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 5M2L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 2는 마스터 에이전트(2) 에이전트로부터 정보를 방금 수신하였다. 그러므로,
· L1 5S2L1은 그 레지스터내에 M2 : 기록 S1을 갖는다.
· L2 5S2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 5S2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 5S2L4는 그 레지스터 내에 블랭크를 갖는다.
시간 T3
도 6을 참조하면, 네개의 버스(110)에이전트와 네개의 상호 연결 케이블이 도시된다. T-3으로 정의된 시간에, 버스(110) 에이전트들은 다음 버스(110) 에이전트에 그들의 개별적 컨텐트의 또 다른 전송을 방금 완료하였다.
마스터 에이전트 1은 기록 S1에 대한 마스터 에이전트 2 커맨드를 수신하였다. 이 커맨드는 이 마스터 에이전트에 대한 것은 아니다. 이에 따라,
· L1 6M1L1은 그 레지스터내에 커맨드 M2 : 기록 S1을 갖는다.
· L2 6M1L2는 그 레지스터내에 블랭크를 갖는다.
· L3 6M1L3는 그 레지스터내에 블랭크를 갖는다.
· L4 6M1L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 1은 블랭크 정보를 수신하였다. 이에 따라,
· L1 6S1L1은 그 레지스터내에 블랭크를 갖는다.
· L2 6S1L2는 그 레지스터내에 블랭크를 갖는다.
· L3 6S1L3는 그 레지스터내에 블랭크를 갖는다.
· L4 6S1L4는 그 레지스터 내에 블랭크를 갖는다.
마스터 에이전트(2)는 M1 : 판독 S2 커맨드를 수신하였다. 이 커맨드는 이 마스터 에이전트에 대한 것은 아니다. 이에 따라;
· L1 6M2L1은 그 레지스터내에 M1 : 기록 S1 커맨드를 갖는다.
· L2 6M2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 6M2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 6M2L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 2는 T2 토큰을 수신하였다. 그러므로,
· L1 6S2L1은 그 레지스터내에 T2토큰을 갖는다.
· L2 6S2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 6S2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 6S2L4는 그 레지스터 내에 블랭크를 갖는다.
이것으로 T-3의 설명을 끝마친다.
시간 T4
도 7을 참조하면, 네개의 버스(110)에이전트들과 네개의 상호 연결 케이블이 도시된다. T-4로 정의된 시간에, 버스(110) 에이전트들은 다음 버스(110)에이전트에 대한 그들의 개별적 컨텐트의 또 다른 전송을 방금 완료하였다.
마스터 에이전트 1은 T2를 수신한다. 이에 따라;
· L1 6M1L1은 그 레지스터내에 커맨드 M1 : 기록 S2을 갖는다.
· L2 6M1L2는 그 레지스터내에 블랭크를 갖는다.
· L3 6M1L3는 그 레지스터내에 블랭크를 갖는다.
· L4 6M1L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 1은 커맨드 M2 : 기록 S1을 수신하였다. 이 커맨드는 이 슬레이브 에이전트에 대한 것이고, 마스터 2로부터의 기록 커맨드가 수행될 것이다. 따라서;
· L1 6S1L1은 그 레지스터내에 아무것도 없다.
· L2 6S1L2는 그 레지스터내에 블랭크를 갖는다.
· L3 6S1L3는 그 레지스터내에 커맨드 M2 : 기록 S1을 갖는다. 이 커맨드는 슬레이브 에이전트에 대한 것이므로, 마스터 에이전트 2로부터의 기록 커맨드가 수행될 것이다. 커맨드의 결과가 L4레지스터에 입력될 것이다.
· L4 6S1L4는 그 레지스터 내에 블랭크를 갖는다.
마스터 에이전트 2는 블랭크를 슬레이브 에이전트 1 버스(110) 에이전트로부터 수신하였다. 그러므로;
· L1 6M2L1은 그 레지스터내에 블랭크를 갖는다.
· L2 6M2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 6M2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 6M2L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 2는 그 레지스터내에 커맨드 M2 : 판독 S2를 갖는다. 이 커맨드는 이 슬레이브 에이전트에 대한 것이므로, 마스터 에이전트(1)로부터의 판독 커맨드가 수행될 것이다. 이에 따라,
· L1 6S2L1은 그 레지스터내에 블랭크를 갖는다.
· L2 6S2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 6S2L3는 그 레지스터내에 커맨드 M1 : 판독 S2를 갖는다. 이 커맨드는 이 슬레이브 에이전트에 대한 것이므로 마스터 에이전트(1)로부터의 판독커맨드가 수행될 것이다. 커맨드 결과는 L4레지스터에 입력될 것이다.
· L4 6S2L4는 그 레지스터 내에 블랭크를 갖는다.
이것으로 T-4의 설명을 끝마친다.
시간 T5
도 8을 참조하면, 네개의 버스(110)에이전트와 네개의 상호 연결 케이블이 도시된다. T-5로 정의된 시간에, 버스(110) 에이전트들은 다음 버스(110)에이전트에 대한 그들의 개별적 컨텐트의 또 다른 전송을 방금 완료하였다.
마스터 에이전트 1은 블랭크를 슬레이브 에이전트 2 버스 (110)로부터 수신하였다. 이에 따라;
· L1 8M1L1은 그 레지스터내에 블랭크를 갖는다.
· L2 8M1L2는 그 레지스터내에 블랭크를 갖는다.
· L3 8M1L3는 그 레지스터내에 블랭크를 갖는다.
· L4 8M1L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 1는 T2토큰을 수신하고 버스(110)상에 응답 M2 : 기록 검증 S1을 배치하였다. 이에 따라:
· L1 8S1L1은 그 레지스터내에 블랭크를 갖는다.
· L2 8S1L2는 그 레지스터내에 토큰 T2를 갖는다.
· L3 8S1L3는 블랭크를 갖는다.
· L4 8S1L4는 그 레지스터 내에 블랭크를 갖는다.
마스터 에이전트 2는 블랭크를 슬레이브 에이전트 1 버스(110)로부터 수신하였다. 그러므로;
· L1 8M2L1은 그 레지스터내에 블랭크를 갖는다.
· L2 8M2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 8M2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 8M2L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 2는 토큰을 수신하지 않았지만 버스(110)상에 S2로부터 응답 M1 : 데이터를 배치하였다. 그러므로,
· L1 8S2L1은 그 레지스터내에 응답 M2 : 기록 검증 S1을 갖는다.
· L2 8S2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 8S2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 8S2L4는 그 레지스터 내에 블랭크를 갖는다.
이것으로 T-5의 설명을 끝마친다.
시간 T6
도 9를 참조하면, 네개의 버스(110)에이전트들과 네개의 상호 연결 케이블이 도시된다. T-6으로 정의된 시간에, 버스(110) 에이전트들은 다음 버스(110)에이전트에 그들의 개별적 컨텐트의 또 다른 전송을 방금 완료하였다.
마스터 에이전트 1은 그 진행중인 커맨드의 결과를 수신한다. 이때 마스터 에이전트 1 버스(110) 에이전트에 의한 요구가 완료되었다. 그것은 버스(110)상에 T1 토큰을 넣을 것이다. 그러므로,
· L1 9M1L1은 그 레지스터내에 블랭크를 갖는다.
· L2 9M1L2는 그 레지스터내에 블랭크를 갖는다.
· L3 9M1L3는 그 레지스터내에 응답 M1 : S2로부터의 데이터를 갖는다.
· L4 9M1L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 1은 T2 토큰을 수신하였다. 그러므로 :
· L1 9S1L1은 그 레지스터내에 블랭크를 갖는다.
· L2 9S1L2는 그 레지스터내에 T2토큰을 갖는다.
· L3 9S1L3는 그 레지스터내에 블랭크를 갖는다.
· L4 9S1L4는 그 레지스터 내에 블랭크를 갖는다.
마스터 에이전트 2는 그 진행중인 커맨드의 결과를 수신하였다. 이때 마스터 에이전트(2) 에이전트에 의한 요청이 완료되었다. 그것은 버스(110)상에 토큰을 넣을 것이다. 이에 따라,
· L1 9M2L1은 그 레지스터내에 블랭크를 갖는다.
· L2 9M2L2는 그 레지스터내에 응답 M2 : 기록 검증 S1을 갖는다.
· L3 9M2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 6M2L4는 그 레지스터 내에 블랭크를 갖는다.
슬레이브 에이전트 2는 토큰을 수신하지 않았다. 그러므로,
· L1 9S2L1은 그 레지스터내에 블랭크를 갖는다.
· L2 9S2L2는 그 레지스터내에 블랭크를 갖는다.
· L3 9S2L3는 그 레지스터내에 블랭크를 갖는다.
· L4 9S2L4는 그 레지스터 내에 블랭크를 갖는다.
이것으로 T-6에 대한 설명 및 본 발명의 토큰링 동시 정보 전송예에 대한 설명을 끝마친다.
각각의 에이전트에 대한 링 규칙의 요약
이하 요약에서는 도 2의 인터페이스(200)를 참조하여 링상에서 각각의 구성요소의 행동 및 규칙에 대해 설명한다.
1. 초기화 시점에, 하나의 마스터 에이전트는 링에 n-1개의 토큰을 배치하는데, 여기서 n은 링 에이전트의 전체 개수이다. 토큰은 마스터 에이전트가 요청을 기대하는 것에 대한 승인을 나타내는 단순한 단문 메시지(short message)이다. 이 토큰들 모두가 동일할 수 있다. 다른 실시예에서는, 초기화시점에 액세스 매크로에 연결된 에이전트를 제외한 모든 링 에이전트가 링에 토큰을 넣는다(put).
2. L2 래치는 단일 버퍼를 갖는다. 버퍼가 비어있으면, 신호는송신가능(CTS : Clear to Send)이라는 것을 업스트림 L1에 나타낸다.
3. 임의의 L4가 전송할 데이터를 갖을 때, 그것은 유효함(valid)을 표시하고 적절한 요구 또는 응답중 하나를 L1에 표시한다. L4는 L1으로부터 CTS를 찾은 경우, 전송할 수 있다.
4. L1래치가 CTS신호를 다운스트림 에이전트로부터 찾았을 때, 다음의 순서화된 방식을 통해 데이터를 찾으려고 시도한다.
A) L4로부터 유효(Valid) 찾기
· L4가 유효 및 응답을 표시하면, L1은 L4에 CTS를 설정하고 데이터를 얻을 수 있다.
· L4가 유효 및 요구를 표시하면, L1이 다운 스트림 에이전트로부터 CTS를 보고 L2가 유효 및 토큰을 나타내는 경우에만 L1은 CTS를 L4에 설정할 수 있다. 이 경우, L1은 L2와 L4둘 모두에 CTS를 송출한다. L4 데이터는 버스(110)에 포워딩되고(forward), L2 데이터(토큰)는 무시된다.
B) L2가 유효를 표시하면, CTS를 L2에 설정하고 데이터를 얻는다.
·L2가 응답을 L3에 전송한 다음, 버스(110)상에 토큰을 역시 포워딩한다(유효 및 토큰을 L1에 표시한다). 트랜잭션(transaction)을 완료하고 토큰을 사용가능하게 만드는 것은 항상 마스터 에이전트이다.
· L3가 요구를 수신할 때, 특정 기능이 수행될 필요는 없다. 그러나, 첨부된 로직은 L4가 응답을 전송할 때까지 L3가 다른 요청을 수신하지 않는다는 것을 보장해야만 한다. 요구를 수신하는 것은 항상 슬레이브 에이전트이다. 트랜잭션을 완료하기 위해, 그것은 전송에 대한 암시적인 승인(implicit permission)을 갖는다. 일 실시예에서, 3은 L4가 공백이될때까지 CTS를 업스트림 L2에 선언하지(assert) 않는다.
마스터 에이전트에 대한 흐름도
도 10은 전술된 버스 또는 링(110)에 대하여 마스터 에이전트의 L1래치 관점으로으로부터 얻어진 흐름도(1000)를 도시한다. 페이지의 상부에는 프로세스가 시작되는 합침 노드(summing node, 1002)가 있다.
합침 노드(1002)의 하부에 결정 블럭이 있다(1004). L1에 데이터가 없고 다음 버스(110) 에이전트가 어드밴스 라인(A)을 전송하지 않으면, 링(110)은 합침 노드(1002)로 복귀함으로써 인덱스(index)된다. L1에 데이터가 없거나 다음 버스 에이전트가 어드밴스 라인을 전송하면, 프로세스는 아래 단계 (1006)로 진행한다.
단계 (1006)에서, 버스(110) 또는 이 마스터 유닛(102, 106)으로부터 유효 데이터가 있는지를 판단한다. 버스(110) 또는 마스터로부터 유효데이터가 없으면, 링(110)은 합침 노드(1002)로 복귀함으로써 인덱스(index)된다. 링(100)으로부터 또는 이 마스터로부터 유효 데이터가 있으면, 프로세스는 단계 (1008)로 진행한다.
단계 (1008)에서는, 버스(110)로부터의 데이터가 있고 마스터로부터의 데이터가 없는지를 판단한다. 단계 (1008)에서 버스로부터의 데이터는 있고 마스터로부터의 데이터가 없으면, 처리는 단계 (1009)로 진행한다. 버스(110)으로부터의 데이터가 없거나 마스터로부터의 데이터가 있으면, 처리는 단계 (1010)으로 진행한다.
단계 (1009)에서, 버스(110) 데이터가 마스터 에이전트에 대한 것인지를 판단한다. 버스(110) 데이터가 마스터 에이전트에 대한 것이면, 버스(110) 데이터가 마스터로 전달되며, (단계 (1017))에서, 링은 합침 노드(1002)에 복귀함으로써 인덱스(index)된다. 버스(110) 데이터가 마스터 에이전트에 대한 것이 아니면, 버스(110) 데이터는 L1에 전달되고, (단계 (1016))에서, 링(110)은 합침 노드(1002)에 복귀함으로써 인덱스(index)된다.
단계 (1010)에서, 마스터로부터의 데이터는 있고 버스(110)로부터의 데이터가 없는지를 판단한다. 마스터로부터의 데이터는 있고 버스(110)로부터의 데이터는 없으면 링(110)은 합침노드(1002)에 복귀함으로써 인덱스(index)된다. 그렇지 않으면 마스터로부터의 데이터가 없거나 버스(110)로부터의 데이터가 있으면, 프로세스는 단계 (1012)로 진행한다.
단계 (1012)에서, 버스(110)로부터의 데이터가 토큰과 같으면, 단계 (1014)에서 마스터 요구는 L1에 배치되고, 토큰은 비트 버킷(bit bucket)에서 제거됨으로써 추출되며(decimate) 링(110)은 합침노드(1002)에 복귀함으로써 인덱스(index)된다. 그렇지 않으면, 버스(110)로부터의 데이터가 토큰과 같지 않으면, 단계 (1018)에서, 버스(110)는 L1에 전달되고 링(110)은 합침 노드(1002)에 복귀함으로써 인덱스(index)된다.
슬레이브 에이전트에 대한 흐름도
도 11을 참조하면, 슬레이브 에이전트에 대한 프로그램 흐름도(1100)가 도시된다. 페이지의 상부에 합침 노드(1102)가 있다. 이 지점은 시작되면 링(110)에서 의 사이클(cycle)을 나타낸다.
합침 노드(1102) 단계 아래는 L1 또는 어드밴스가 아닌지를 판단하는 제1 결정 블럭이다(단계 1104). 어느 것도 유효하지 않으면, 링(110)은 합침노드(1002)로 복귀함으로써 인덱스(index)된다. 어느 하나가 유효하면, 프로세스는 단계 (1106)으로 진행한다.
단계 (1106)에서, 정보가 슬레이브 에이전트에 대한 것이거나 링(110)으로 전달되는 것인지를 판단한다. 데이터가 링(110)에 대한 것이 아니거나 슬레이브 에이전트에 대한 것이 아니면, 링(110)은 합침 노드(1102)로 복귀함으로써 인덱스(index)된다. 정보가 링에 대한 것이거나 슬레이브 에이전트에 대한 것중 하나이면 프로세스는 단계(1107)로 진행한다.
단계 (1107)에서는, 정보가 슬레이브 에이전트에 대한 것인지를 판단한다. 데이터가 슬레이브 에이전트에 대한 것이면, 링(110)은 정보를 단계 (1105)에서 슬레이브로 전달하고 프로세스는 단계 (1102)로 진행한다.
링 정보가 슬레이브 에이전트에 대한 것이 아니면, 단계 (1108)에서 링정보는 슬레이브 태그(slave tag)와 배타적(exclusively) OR(즉, XOR) 된다. 정보가 링에 대한 것이거나 정보가 슬레이브로부터 제공되는 것이면, 단계 (1110)에서 데이터가 L1으로 전송되거나 슬레이브 응답이 L1으로 전송되고 링은 합침 노드(1002)로 복귀함으로써 인덱스(index)된다. 그렇지 않으면, 정보가 모두 링으로부터이고 슬레이브 에이전트에 대한 것이면, 프로세스는 단계 (1112)로 진행한다.
단계 (1112)에서, 우선권(priority : P)은 링정보와 비교된다. 우선권에 부합하면(match), 단계 (1114)에서 링정보는 L1으로 놓이고(put) 슬레이브 정보는 링이 합침노드(1102)로 복귀함으로써 인덱스된 다음에 처리된다. 그렇지 않으면, 우선권이 단계(1112)에서 링정보와 같지않으면, 슬레이브 정보가 L1에 놓이고 링정보는 링이 인덱스된(1114) 후에 처리될 것이다. 단계 (1112 내지 1116)는 슬레이브 에이전트(104 및 109)에 대한 우선권이 라운드-로빈 방식으로 설정되도록 해주며, 우선권은 각각의 사이클동안 링(110)과 슬레이브 사이에서 스위칭된다.
본 기술분야에서 당업자들에게 알려질 수 있는 본 발명은 하드웨어 또는 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합으로 생성될 수 있다. 바람직한 실시예와 연관되어 설명된 발명적 원리에 따른 시스템 또는 방법은 설명되거나 청구된 개별적 기능 또는 단계를 수행하기 위한 분리된 구성요소 또는 수단, 또는 설명되거나 청구된 임의의 기능 또는 단계의 성능을 결합한 하나이상의 구성요소 또는 수단을 구비하는 단일 컴퓨터 시스템으로 생성될 수 있거나, 당업자들에 의해 공지된 임의의 적절한 수단에 의해 상호 연결된 분산 컴퓨터 시스템으로 구성될 수 있을 것이다.
바람직한 실시예와 연관하여 설명된 발명적 원리들에 따라, 본 발명과 발명의 원리들은 특정 종류의 컴퓨터 시스템에 제한되지는 않으며, 당업자들에게 공지되어진 바와 같이, 설명된 기능 및 설명된 방법 단계들을 수행하기 위해 배열된 임의의 범용 컴퓨터로 이용될 것이다. 전술한 바와 같이, 이러한 컴퓨터의 동작은, 본 기술분야에서 당업자들에게 널리 공지되진 바와 같이, 컴퓨터의 동작 또는 제어에 이용하기 위한 매체에 포함된 컴퓨터 프로그램에 따를 수 있다. 컴퓨터 프로그램 제품을 구비하거나 포함하는데 이용될 수 있는 컴퓨터 매체는, 당업자들에게 공지된 바와 같이, 내장된 메모리와 같이 컴퓨터에 고정될 수 있거나 디스크와 같이 운반할 수 있는 매체일 수 있다.
본 발명은 임의의 특정 컴퓨터 프로그램 또는 로직 또는 언어, 또는 명령어에 제한되지 않으며 본 기술분야에서 당업자들에게 공지되는 바와 같이 임의의 적절한 프로그램, 로직 또는 언어, 또는 명령어들로 수행될 수 있다. 설명된 발명의 원리에 제한을 받지 않고, 이러한 임의의 컴퓨팅 시스템은 특히, 컴퓨터로 하여금 컴퓨터 판독가능매체로부터 데이터, 명령어, 메시지 또는 메시지 패킷, 및 다른 컴퓨터 판독가능한 정보를 판독할 수 있도록 해주는 적어도 하나의 컴퓨터 판독가능한 매체를 포함할 수 있다. 컴퓨터 판독가능한 매체는 ROM, 플래시 메모리, 플로피 디스크, 디스크 드라이브 메모리, CD-ROM, 및 다른 영구 저장부와 같은 비휘발성 메모리를 포함할 수 있다. 추가적으로, 컴퓨터 판독가능 매체는 예를 들면, RAM, 버퍼, 캐시 메모리, 및 네트워크 회로 등과 같은 휘발성 저장부를 포함할 수 있다.
더욱이, 컴퓨터 판독가능 매체는 컴퓨터가 컴퓨터 판독가능한 정보를 판독할 수 있는 네트워크 링크 및/또는 유선 네트워크 또는 무선 네트워크를 포함하는 네트워크 인터페이스와 같은 일시적인 상태 매체의 컴퓨터 판독가능한 정보를 포함할 것이다.
본 발명의 특정 실시예가 설명되어 있을지라도, 본 기술분야의 당업자들은 본 발명의 정신 및 범주를 벗어남이 없이 특정 실시예를 변경할 수 있다는 것을 알 수 있을 것이다. 발명의 범주가 특정 실시예에 제한되지 않으므로, 본 발명의 범주내의 임의의 그리고 모든 이런 어플리케이션, 변경 및 실시예들은 첨부된 청구항들이 커버할 수 있다.

Claims (13)

  1. 적어도 하나의 마스터 에이전트와 적어도 하나의 슬레이브 에이전트를 연결하는 버스를 통해 동시 통신하기 위한 위한 방법에 있어서, 상기 버스에 대한 입력과 출력을 구비하는 마스터 에이전트에 대한 상기 방법은,
    상기 마스터로부터의 데이터 또는 상기 버스로부터의 데이터가 있는지를 판단하여 상기 마스터로부터의 데이터가 있으면,
    상기 버스로부터의 데이터가 토큰인지를 검사하는 단계와,
    상기 버스로부터의 데이터가 토큰이면, 상기 데이터를 상기 마스터로부
    터 상기 버스로 이동시키고 상기 토큰을 상기 버스에서 제거하는 단계, 및
    상기 데이터가 상기 버스로부터의 토큰이 아니면, 상기 데이터를 상기
    버스의 입력으로부터 상기 버스의 출력으로 이동시키는 단계
    를 수행하는 단계를 포함하며,
    상기 데이터가 상기 버스로부터이면, 상기 데이터를 상기 버스의 입력으로부터 상기 버스의 출력으로 이동시키는 방법.
  2. 제1항에 있어서, 상기 출력에 데이터가 없거나 어드밴스 라인이 인가되는지(assert)를 판단하여, 상기 출력에 데이터가 없거나 어드밴스 라인이 인가되면 상기 버스로부터의 데이터가 있는지 또는 상기 마스터로부터의 데이터가 있는지를 판단하는 단계를 수행하는 단계를 더 포함하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 마스터 에이전트가 액세스 매크로(access macro)에 연결되는지를 판단하고, 상기 마스터 에이전트가 액세스 매크로에 연결되었다면, 상기 버스가 초기화될 때 상기 버스상에 토큰을 배치하는 단계를 수행하는 단계를 더 포함하며,
    상기 버스상의 상기 토큰의 최대 개수는 마스터 에이전트의 전체 개수에 슬레이브 에이전트의 전체 개수를 더한 값에서 하나 작은 값과 동일하게 설정되는 방법.
  4. 제1항 또는 제2항에 있어서,
    리셋 커맨드를 수신하는 단계와,
    리셋된 후에 상기 마스터 에이전트가 액세스 매크로 연결되는 지를 판단하고, 상기 마스터 에이전트가 액세스 매크로에 연결된다면 상기 버스상에 n-1개의 토큰을 배치하는 단계를 더 포함하며, 상기 n은 상기 버스상에서 통신하는 상기 마스터 에이전트와 상기 슬레이브 에이전트의 전체 개수인 방법.
  5. 적어도 하나의 마스터 에이전트와 적어도 하나의 슬레이브 에이전트를 연결하는 버스를 통해 동시 통신하기 위한 방법에 있어서, 상기 버스에 대한 입력과 출력을 구비하는 슬레이브 에이전트에 대한 상기 방법은,
    상기 버스로부터 또는 상기 슬레이브로부터의 데이터가 있는지를 판단하여, 상기 버스로부터의 데이터는 있지만 상기 슬레이브로부터의 데이터가 없으면 상기 데이터를 상기 버스로부터 상기 출력으로 이동시키고, 상기 슬레이브로부터의 데이터는 있지만 상기 버스로부터의 데이터가 없으면 상기 데이터를 상기 슬레이브로부터 상기 출력으로 이동시키는 단계와,
    상기 버스와 상기 슬레이브 둘다로부터 데이터가 있는지를 판단하고 상기 버스와 상기 슬레이브 둘다로부터 데이터가 있으면,
    상기 버스가 우선권(priority)을 갖으면, 상기 데이터를 상기 버스로부
    터 상기 출력으로 이동시키고 상기 우선권을 상기 슬레이브에 설정하
    는 단계와,
    상기 버스가 우선권을 갖지 않으면, 상기 데이터를 상기 슬레이브로부
    터 상기 출력으로 이동시키고 상기 우선권을 상기 버스에 설정하는 단
    를 수행하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    출력에 데이터가 없거나 어드밴스 라인이 인가되는지를 판단하여, 출력에 데이터가 없거나 어드밴스 라인이 인가된면, 상기 버스로부터의 데이터가 있는지 또는 상기 슬레이브로부터의 데이터가 있는지를 판단하는 단계를 수행하는 단계를 더포함하는 방법.
  7. 두개 이상의 에이전트 사이의 동시 통신을 위한 데이터 통신 네트워크에 있어서,
    통신 버스에 연결된 슬레이브 에이전트로 지정된 적어도 하나의 에이전트와,
    상기 통신 버스에 연결된 마스터 에이전트로 지정된 적어도 하나의 에이전트와,
    상기 버스로부터의 입력과 상기 버스로의 출력을 갖는 상기 마스터에이전트에 대한 인터페이스
    를 포함하며,
    상기 인터페이스는 데이터가 있는지를 검사하고, 상기 마스터로부터 데이터가 있으면 상기 버스로부터의 데이터가 토큰인지를 검사하고,
    상기 버스로부터의 상기 데이터가 토큰이면, 상기 데이터를 상기 마스터로부터 상기 버스로 이동시키고 상기 토큰을 제거하며,
    상기 데이터가 상기 버스로부터의 토큰이 아니면, 상기 데이터를 상기 버스의 입력으로부터 상기 버스의 상기 출력으로 이동시키며,
    상기 데이터가 상기 마스터로부터가 아니고 상기 데이터가 버스로부터이면, 상기 데이터를 상기 버스의 입력으로부터 상기 버스의 상기 출력으로 이동시키기 위한 다수의 래치를 포함하는 데이터 통신 네트워크.
  8. 제7항에 있어서, 상기 마스터 에이전트에 대한 상기 인터페이스는 상기 데이터가 상기 마스터 에이전트에 대한 것인지를 검사하고 상기 데이터가 상기 마스터 에이전트에 대한 것이면 상기 데이터를 상기 마스터에 전달하기 위한 다수의 래치를 더 포함하는 데이터 통신 네트워크.
  9. 두개 이상의 에이전트 사이의 동시 통신을 위한 데이터 통신 네트워크에 있어서,
    통신 버스에 연결된 슬레이브 에이전트로 지정된 적어도 하나의 에이전트와,
    상기 통신 버스에 연결된 마스터 에이전트로 지정된 적어도 하나의 에이전트와,
    상기 버스로의 입력과 상기 버스로의 출력을 갖는 각각의 슬레이브에서의 인터페이스를 포함하며,
    상기 인터페이스는 상기 버스 또는 슬레이브 에이전트로부터 데이터가 있는지를 검사하고, 상기 버스로부터의 데이터는 있지만 상기 슬레이브로부터의 데이터가 없으면 상기 데이터를 상기 버스로부터 상기 출력으로 이동시키고, 상기 슬레이브로부터의 데이터는 있지만 상기 버스로부터의 데이터가 없으면 상기 데이터를 상기 슬레이브로부터 상기 출력으로 이동시키기 위한 다수의 래치를 포함하고,
    상기 다수의 래치는 상기 버스로부터 그리고 상기 슬레이브로부터의 데이터 둘다 있는지를 검사하여 상기 버스와 상기 슬레이브 둘다로부터 데이터가 있으면 상기 버스가 우선권을 갖는지를 검사하고,
    상기 버스가 우선권을 갖으면, 상기 데이터를 상기 버스로부터 상기 출력으로 이동시키고 상기 우선권을 상기 슬레이브로 설정하고,
    상기 버스가 우선권을 갖지 않으면 상기 데이터를 상기 슬레이브로부터 상기 출력으로 이동시키고 상기 우선권을 상기 버스로 설정하는 데이터 통신 네트워크.
  10. 제9항에 있어서,
    각 슬레이브에 대한 상기 인터페이스는 상기 데이터가 상기 슬레이브 에이전트에 대한 것인지를 테스트하고 상기 데이터가 슬레이브 에이전트에 대한 것이라면 상기 데이터를 상기 슬레이브에 전송하기 위한 다수의 래치를 더 포함하는 데이터 통신 네트워크.
  11. 둘 이상의 에이전트 사이의 동시 통신을 위한 데이터 통신 네트워크에 있어서,
    청구항 제7항 또는 청구항 제8항에서 청구된 것과 같이 상기 통신 버스에 연결된 마스터 에이전트로 선정된 적어도 하나의 에이전트와,
    청구항 제9항 또는 청구항 제10항에서 청구된 것과 같이 상기 통신 버스에 연결된 슬레이브 에이전트로 선정된 적어도 하나의 에이전트
    를 포함하는 데이터 통신 네트워크.
  12. 프로그램이 컴퓨터상에서 동작할 때 청구항 제1항 내지 제4항의 모든 단계를수행하기 위해 적용된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램.
  13. 컴퓨터상에서 동작할 때 청구항 제5항 또는 제6항의 모든 단계를 수행하기 위해 적용된 프로그램 코드 수단을 포함하는 컴퓨터 프로그램.
KR1020047001459A 2002-01-23 2003-01-15 통신링에서 다수의 토큰에 대한 동시 관리를 위한 방법 및시스템 KR100628630B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/055,335 2002-01-23
US10/055,335 US7099922B2 (en) 2002-01-23 2002-01-23 Method and system for simultaneous management of multiple tokens on a communication ring
PCT/GB2003/000127 WO2003063424A2 (en) 2002-01-23 2003-01-15 Method and system for simultaneous management of multiple tokens on a communication ring

Publications (2)

Publication Number Publication Date
KR20040070167A true KR20040070167A (ko) 2004-08-06
KR100628630B1 KR100628630B1 (ko) 2006-09-26

Family

ID=21997161

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047001459A KR100628630B1 (ko) 2002-01-23 2003-01-15 통신링에서 다수의 토큰에 대한 동시 관리를 위한 방법 및시스템

Country Status (6)

Country Link
US (1) US7099922B2 (ko)
JP (1) JP3995249B2 (ko)
KR (1) KR100628630B1 (ko)
CN (1) CN100367728C (ko)
TW (1) TWI236813B (ko)
WO (1) WO2003063424A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102338517B1 (ko) * 2021-04-28 2021-12-13 주식회사 인코어드 테크놀로지스 태양광 발전을 위한 rtu

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1384945A (zh) * 1999-05-25 2002-12-11 塞弗派澳大利亚有限公司 网上交易处理系统
US7046621B2 (en) * 2002-07-10 2006-05-16 I/O Controls Corporation Redundant multi-fiber optical ring network
US6961306B2 (en) * 2002-07-10 2005-11-01 I/O Controls Corporation Fiber optic control network and related method
US6965560B2 (en) * 2002-07-10 2005-11-15 I/O Controls Corporation Multi-tier, hierarchical fiber optic control network
FR2849730A1 (fr) * 2003-01-02 2004-07-09 Thomson Licensing Sa Methode pour reserver de la bande passante dans un reseau de type ethernet
US8228931B1 (en) * 2004-07-15 2012-07-24 Ciena Corporation Distributed virtual storage switch
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7809871B2 (en) * 2006-12-07 2010-10-05 Integrated Device Technology Inc. Common access ring system
JP5012387B2 (ja) * 2007-10-05 2012-08-29 ヤマハ株式会社 音声処理システム
CN101594433A (zh) * 2008-05-30 2009-12-02 鸿富锦精密工业(深圳)有限公司 网络电话语音监听系统及方法
CN102047616B (zh) * 2008-06-02 2015-06-10 三菱电机株式会社 数据通信系统以及数据通信装置
US8203932B2 (en) * 2008-12-02 2012-06-19 Electronics And Telecommunications Research Institute Method and system for protection switching in ethernet ring
JP4948651B2 (ja) * 2008-12-25 2012-06-06 三菱電機株式会社 データ通信システムおよびデータ通信装置
CN102710480B (zh) * 2008-12-25 2015-11-18 三菱电机株式会社 通信管理装置、通信装置以及通信方法
TWI474678B (zh) * 2009-06-12 2015-02-21 Mitsubishi Electric Corp 通信管理裝置及資料通信方法
GB2484483B (en) * 2010-10-12 2018-07-11 Advanced Risc Mach Ltd Communication using integrated circuit interconnect circuitry
KR101720347B1 (ko) * 2011-01-20 2017-03-27 엘에스산전 주식회사 적응성의 다중 링 네트워크 시스템 및 우회경로 설정방법
CN104115451A (zh) * 2012-02-27 2014-10-22 松下电器产业株式会社 主机装置、通信系统以及通信方法
US9213660B2 (en) * 2013-06-14 2015-12-15 Arm Limited Receiver based communication permission token allocation
US10205666B2 (en) * 2013-07-29 2019-02-12 Ampere Computing Llc End-to-end flow control in system on chip interconnects
TWI743736B (zh) * 2020-04-08 2021-10-21 瑞昱半導體股份有限公司 資料傳輸系統、電路與方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4602365A (en) * 1984-02-10 1986-07-22 Prime Computer, Inc. Multi-token, multi-channel single bus network
JP2642332B2 (ja) * 1985-04-15 1997-08-20 株式会社日立製作所 優先レベル更新制御方法
AU622208B2 (en) * 1988-08-12 1992-04-02 Digital Equipment Corporation Frame removal mechanism for token ring networks
US6070003A (en) * 1989-11-17 2000-05-30 Texas Instruments Incorporated System and method of memory access in apparatus having plural processors and plural memories
US5235593A (en) * 1989-12-01 1993-08-10 National Semiconductor Corporation Ring latency timer
US5155726A (en) * 1990-01-22 1992-10-13 Digital Equipment Corporation Station-to-station full duplex communication in a token ring local area network
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
JPH0695686B2 (ja) * 1990-08-24 1994-11-24 登 山口 データ通信ユニットおよびデータ通信装置
JPH04332065A (ja) * 1991-05-08 1992-11-19 Matsushita Electric Ind Co Ltd データ転送方法
US6275864B1 (en) * 1991-08-13 2001-08-14 Storage Technology Corporation Matrix switch for a network management system
SE501373C2 (sv) * 1992-12-17 1995-01-30 Televerket Anordning vid kommunikationsnät
JP2793489B2 (ja) * 1993-01-13 1998-09-03 インターナショナル・ビジネス・マシーンズ・コーポレイション 共通データ・リンク・インターフェース
US5689678A (en) * 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
US5457683A (en) * 1993-05-07 1995-10-10 Apple Computer, Inc. Link and discovery protocols for a ring interconnect architecture
US5805914A (en) * 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
FR2710804B1 (fr) * 1993-09-29 1995-11-10 Alcatel Business Systems Dispositif numérique de connexion d'une pluralité de stations de travail sur un réseau local en anneau.
US5666497A (en) * 1995-03-08 1997-09-09 Texas Instruments Incorporated Bus quieting circuits, systems and methods
US5657315A (en) * 1995-06-01 1997-08-12 International Business Machines Corporation System and method for ring latency measurement and correction
US5634138A (en) * 1995-06-07 1997-05-27 Emulex Corporation Burst broadcasting on a peripheral component interconnect bus
US5764634A (en) * 1996-03-13 1998-06-09 International Business Machines Corporation Lan switch with zero latency
US5970510A (en) * 1996-04-10 1999-10-19 Northrop Grumman Corporation Distributed memory addressing system
EP0802655A3 (en) * 1996-04-17 1999-11-24 Matsushita Electric Industrial Co., Ltd. Communication network
US5764896A (en) * 1996-06-28 1998-06-09 Compaq Computer Corporation Method and system for reducing transfer latency when transferring data from a network to a computer system
US5909559A (en) * 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
US5948089A (en) * 1997-09-05 1999-09-07 Sonics, Inc. Fully-pipelined fixed-latency communications system with a real time dynamic bandwidth allocation
JP3813013B2 (ja) * 1998-01-23 2006-08-23 松下電器産業株式会社 ネットワーク制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102338517B1 (ko) * 2021-04-28 2021-12-13 주식회사 인코어드 테크놀로지스 태양광 발전을 위한 rtu

Also Published As

Publication number Publication date
WO2003063424A3 (en) 2003-09-12
CN100367728C (zh) 2008-02-06
TW200307427A (en) 2003-12-01
JP3995249B2 (ja) 2007-10-24
US7099922B2 (en) 2006-08-29
US20030140109A1 (en) 2003-07-24
TWI236813B (en) 2005-07-21
KR100628630B1 (ko) 2006-09-26
CN1620783A (zh) 2005-05-25
JP2005516477A (ja) 2005-06-02
WO2003063424A2 (en) 2003-07-31

Similar Documents

Publication Publication Date Title
KR100628630B1 (ko) 통신링에서 다수의 토큰에 대한 동시 관리를 위한 방법 및시스템
US5875301A (en) Method and apparatus for the addition and removal of nodes from a common interconnect
EP3776231B1 (en) Procedures for implementing source based routing within an interconnect fabric on a system on chip
CN102124449B (zh) 用于低开销数据传输的方法和系统
US5764895A (en) Method and apparatus for directing data packets in a local area network device having a plurality of ports interconnected by a high-speed communication bus
US5041963A (en) Local area network with an active star topology comprising ring controllers having ring monitor logic function
US6012099A (en) Method and integrated circuit for high-bandwidth network server interfacing to a local area network
CN103636181B (zh) 通过远程直接存储器访问的任意大小的传输操作
JP3663385B2 (ja) 非サイクル有向グラフで接続された構成要素間の通信方法
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
US6529518B1 (en) Method and apparatus for providing a network interface
US6205147B1 (en) Virtual network architecture
CN101449253A (zh) 多处理器网关
US5666488A (en) Port expansion network and method for lAN hubs
JP3105760B2 (ja) マルチセグメント・ネットワークの通信方法および装置
US20040225734A1 (en) Method and system to control the communication of data between a plurality of inteconnect devices
US8407330B2 (en) Method and apparatus for the addition and removal of nodes from a common interconnect
US20010019579A1 (en) Infinitely expandable ethernet network repeater unit
JP3295074B2 (ja) Ieee1394シリアルバストポロジー最適化方法
JP2001257686A (ja) 計算機システム及び計算機システムのデータ通信方法
DONAGHUE Method and apparatus for the addition and removal of nodes from a common interconnect
Sadiku et al. Local Area Networks
van Dijk et al. Performance measurements of a communication protocol implemented for distributed real-time systems
Liang et al. An approach for fairness improvement in DQDB networks
Dekkers Local area networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee