[go: up one dir, main page]

KR100415067B1 - 네트워크를 이용한 하드웨어 장치의 원격 연결 방법 - Google Patents

네트워크를 이용한 하드웨어 장치의 원격 연결 방법 Download PDF

Info

Publication number
KR100415067B1
KR100415067B1 KR10-2001-0040935A KR20010040935A KR100415067B1 KR 100415067 B1 KR100415067 B1 KR 100415067B1 KR 20010040935 A KR20010040935 A KR 20010040935A KR 100415067 B1 KR100415067 B1 KR 100415067B1
Authority
KR
South Korea
Prior art keywords
lan
host computer
data link
frame
hardware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR10-2001-0040935A
Other languages
English (en)
Other versions
KR20030005580A (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 김한규
Priority to KR10-2001-0040935A priority Critical patent/KR100415067B1/ko
Publication of KR20030005580A publication Critical patent/KR20030005580A/ko
Application granted granted Critical
Publication of KR100415067B1 publication Critical patent/KR100415067B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 네트워크를 이용한 입출력장치 원격 연결 방법에 관한 것으로, LAN을 통하여 입출력 장치를 CPU/메모리가 탑재되어 있는 호스트 컴퓨터의 본체와 분리함으로써, 사용자를 호스트 컴퓨터의 열, 소음 등에 영향받지 않을 거리만큼 충분히 공간적으로 완전히 분리하여 쾌적한 작업 환경을 제공하고, 사용자가 원하는 성능의 호스트 컴퓨터 본체와 입출력 장치 및 하드디스크와 같은 하드웨어 장치를 선택적으로 연결할 수 있는 방법을 제공하는 데에 그 목적이 있다.
디바이스 컨트롤러를 거쳐서 시스템 버스에 연결되어 있는 기존의 하드웨어 장치들을 LAN을 통해 호스트 컴퓨터 본체와 분리하기 위해서 본 발명에서는 디바이스 컨트롤러와 하드웨어 장치를 함께 본체로부터 Ethernet과 같은 LAN을 통하여 분리하거나, 디바이스 컨트롤러는 시스템 버스에 부착하고 디바이스 컨트롤러와 하드웨어 장치 사이를 LAN으로 분리한다.

Description

네트워크를 이용한 하드웨어 장치의 원격 연결 방법{METHOD OF REMOTE CONNECTING OF HARDWARE DEVICES USING THE NETWORK}
본 발명은 네트워크를 이용한 입출력장치 및 하드디스크의 원격 연결 방법에 관한 것으로, 더 자세하게는 CPU와 메모리를 탑재한 호스트 컴퓨터의 본체로부터 입출력 장치와 하드디스크 등의 하드웨어 장치(이후로는 별도의 언급이 없으면 "하드웨어 장치"는 입출력 장치 및 하드디스크를 지칭함)들을 이더넷(Ethernet)과 같은 LAN을 통하여 원격으로 분리하여 호스트 컴퓨터의 본체와 LAN을 통하여 연결하여 사용하는 방법에 관한 것이다.
일반적으로, 기존의 하드웨어 장치는 기본적으로 호스트 컴퓨터의 내부 시스템 버스에 부착되어 있는 디바이스 컨트롤러(device controller)를 통하여 호스트 컴퓨터와 연결되어 있다. 이를테면 모니터는 비디오 카드를 통하여 시스템에 연결되고 키보드는 PPI (Programmable Peripheral Interface)와 같은 키보드 제어기를 통하여 시스템에 부착되며 플로피 디스켓 드라이버는 해당 컨트롤러에, 마우스는 직렬 포트(serial port)등에 부착되어 있다. CD-ROM 드라이브는 타입에 따라 IDE 컨트롤러 또는 SCSI 컨트롤러에 부착된다. 하드디스크는 입출력 장치와 구분하여 저장 장치로 분류하는데, 하드디스크도 타입에 따라 IDE 컨트롤러 또는 SCSI 컨트롤러에 부착된다. 모든 경우에 각 입출력 장치들을 위한 컨트롤러는 단일 chip 또는 add-on 카드의 형태로 호스트 시스템의 내부 버스에 부착된다. 예외적인 경우로서 프린터가 있는데, 흔히 호스트 컴퓨터의 병렬 포트에 직접 부착되지만 경우에 따라서는 Ethernet과 같은 LAN에 부착되어 호스트 컴퓨터와는 LAN을 통해 연결되는 수도 있다.
이를 나타낸 것이 도 1이다. 도 1은 입출력 시스템을 포함하고 있는 컴퓨터 시스템의 일반적인 논리적 형상을 보여준다. 1989년에 Addison-Wesley 출판사가 발행하고 A. J. van de Goor가 저술한 computer Architecture and Design-(ISBN 번호0-201-18241-6) 306 페이지에 기술되어 있는 것과 같이 CPU 11에 연결되어 있는 입출력 장치들을 총괄하여 입출력 시스템 21이라고 부르고, 단일 디바이스 컨트롤러 하드웨어 13, 14, 15를 통하여 한 개 이상의 입출력 장치가 부착되어 있는 입출력 부시스템(I/O subsystem) 18, 19, 20이 호스트 컴퓨터의 내부 시스템 버스에 연결된다.
도 2는 도 1에서의 입출력 부시스템의 일반적인 구조로서, 도1의 디바이스 컨트롤러 13, 14, 15와 입출력 장치들 16, 17의 기능 구조를 보여 주고 있다. 도 2의 디바이스 컨트롤러 14는 부착된 입출력 장치들 16을 조작하는데 필요한 제어와 버퍼 기능을 담당한다.
즉, 디바이스 컨트롤러는 버스로부터 하드웨어 장치로 전해지는 입출력 명령을 해당 하드웨어 장치의 입출력 신호로 변환하여 하드웨어 포트를 통해 전달하고 역으로 해당 하드웨어로부터의 데이터를 시스템 버스로 전달하는 프로토콜 변환 장치로 볼 수 있다.
디바이스 컨트롤러 14는 경우에 따라 물리적으로 입출력 장치 16 또는 CPU 11 내부에 직접 장착되거나 별도의 칩으로 만들어져 시스템 버스에 연결되기도 한다.
별도의 칩으로 만들어지는 경우에는 칩을 직접 물리적으로 시스템 버스에 고정적으로 부착하기도 하고 또는 별도의 add-on board에 부착하여 시스템 버스의 확장 슬롯에 삽입하여 사용하기도 한다.
도 2에 보인 것처럼 디바이스 컨트롤러는 CPU 11에 대해서는 입출력 장치 16의 상태와 제어 정보를 제공하는 호스트 포트 31와 입출력 장치 16에 대해서는 입출력 장치를 물리적으로 연결하여 입출력 장치를 제어하고 데이터를 전송하는 디바이스 포트 33, 34를 가지고 있다.
디바이스 컨트롤러 내부의 CPU와 메모리 32는 장치의 제어, DMA(Direct Memory Access) 및 버퍼링(buffering) 등과 같은 입출력 관련 기능을 수행한다.
그러나, 상기와 같은 종래 기술은, 하드웨어 장치들이 디바이스 컨트롤러를 통하여 호스트 컴퓨터(이후로는 호스트 컴퓨터라 칭하는 경우에는 특별한 경우가 아니면 CPU/메모리를 시스템 내부 버스에 탑재한 시스템을 의미함)에 직접 부착되어 있으므로 키보드, 마우스, 모니터, 플로피 디스켓, CD 등등을 사용하기 위하여 반드시 호스트 컴퓨터와 거리적으로 근접해 있어야 하며, 이에 따라 호스트 컴퓨터로부터의 소음과 열에 의한 불편함과 호스트 컴퓨터가 작업 공간을 차지하는 것에 대한 불편함이 따르는 문제점이 있다.
또한, 한 대 또는 여러 대의 데스크 탑 PC를 사용하는 경우에 호스트 컴퓨터 본체가 공간을 차지하기 때문에 생기는 작업 공간의 문제와 함께 열과 소음의 문제는 작업 환경을 악화시키고 작업 능률을 떨어뜨리는 원인이 된다.
또한, 입출력 장치들과 호스트 컴퓨터를 직접 부착하였으므로 호스트 컴퓨터의 CPU/메모리가 고장 난 경우에 물리적으로 별개의 호스트 컴퓨터를 사용자의 작업 공간으로 옮겨오거나 사용자가 옮겨가서 사용하기 전에는 컴퓨터를 사용할 수 없고, 반대로 입출력 장치가 고장 난 경우에 호스트 컴퓨터 전체를 사용할 수 없고심지어는 호스트 컴퓨터 전체를 수리하거나 교체해야 하는 문제도 생긴다.
그리고, 입출력 장치들이 호스트 컴퓨터의 본체에 부착되어 호스트 컴퓨터로부터 전원을 공급받으므로, 호스트 컴퓨터는 큰 용량의 전원 장치가 필요하게 되어 본체의 열 및 소음 발생과 크기를 작게 줄이지 못하는 원인이 되며, 전원과 입출력 장치의 컨트롤러가 거리적으로 근접하여 있으므로 높은 음질 및 화질을 제공하는 멀티미디어 컨트롤러에 전자기적 소음(noise)을 일으키는 문제점이 있다.
따라서, 기존의 컴퓨터 시스템의 버스 구조 및 디바이스 컨트롤러 등과 같은 하드웨어와 디바이스 드라이버와 같은 시스템 소프트웨어를 가능한대로 변경하지 않고, 하드웨어 장치들을 디바이스 컨트롤러를 통하여 호스트 컴퓨터의 내부 시스템 버스에 직접 부착하는 기존의 방식 대신에 하드웨어 장치들을 Ethernet과 같은 LAN을 통하여 호스트 컴퓨터와 연결하는 방식을 채택하여 호스트 컴퓨터와 입출력 장치들을 공간적으로는 물론 기능적으로도 분리할 수 있는 발명이 요구되어 진다.
위와 같은 문제점을 해소하기 위해 안출된 본 발명은, LAN을 통하여 하드웨어 장치를 CPU/메모리가 탑재되어 있는 호스트 컴퓨터의 본체와 분리함으로써 인간 사용자를 호스트 컴퓨터의 열, 소음 등에 영향받지 않을 거리만큼 충분히 공간적으로 완전히 분리하여 쾌적한 작업 환경을 제공할 수 있는 방법을 제공하는 데에 그 목적이 있다.
본 발명의 다른 목적은, 호스트 컴퓨터 본체를 입출력 장치들과 LAN을 통하여 분리함으로써 호스트 컴퓨터 본체의 고장과 입출력 장치의 고장을 구분하여 수리하고 호스트 컴퓨터 본체들을 유지, 보수, 관리함에 있어서 효율성과 경제성을높이는 데에 있다.
본 발명의 또 다른 목적은, 입출력 장치들을 LAN을 통하여 호스트 컴퓨터 본체와 분리함으로써 입출력 장치가 별도의 전원을 사용토록 하여 호스트 컴퓨터의 케이스 크기, 전원의 용량 등을 줄이고 입출력 장치는 자신에 적절한 하드웨어로 구현토록 하는 것이다. 예를 들면, 멀티미디어 오디오 인터페이스 카드를 호스트 컴퓨터의 버스에 부착하는 대신에 LAN을 통하여 분리함으로써 고성능 음질을 제공하는 장치를 보다 쉽게 구현할 수 있도록 한다.
본 발명의 또 다른 목적은, 상기와 같이 하드웨어 장치들과 호스트 컴퓨터 본체를 동적으로 연결할 수 있는 기능을 이용하여 필요한 사양의 호스트 컴퓨터 본체를 필요한 대 수만큼 운용함으로써 효과적이고 경제적으로 컴퓨터 시스템을 운영할 수 있도록 하는 것이다.
본 발명의 또 다른 목적은, 상기와 같이 하드웨어 장치를 동적으로 호스트 컴퓨터 본체와 LAN을 통하여 연결함으로써, 사용자가 다수의 호스트 컴퓨터를 사용할 경우에도 단일 입출력 장치를 다수의 호스트 컴퓨터 본체와 연결시켜서 사용할 수 있도록 하는 것이다.
도 1은 일반적인 컴퓨터 시스템의 논리 구성을 나타낸 것이다.
도 2는 도 1에서 입출력 부시스템의 구성을 나타낸 것이다.
도 3은 본 발명에 의해 연결된 호스트 본체들과 하드웨어 장치들의 네트워크 구성을 나타낸 것이다.
도 4는 PC호스트에서 일반적으로 사용되고 있는 버스의 구조를 나타낸 것이다.
도 5는 도 3에서의 버스 구조를 이용하여 입출력장치와 저장장치를 PC본체로부터 분리한 구성을 나타낸 것이다.
도 6은 변환기를 사용하여 입출력장치와 저장장치를 PC본체로부터 분리한 일예를 나타낸 것이다.
도 7은 호스트 컴퓨터와 역변환기가 LAN을 통해 연결된 구조를 나타낸 것이다.
도 8은 데이터 링크가 공유된 구조를 나타낸 것이다.
도 9는 버스-LAN변환기와 LAN-콘트롤러 변환기의 구성을 나타낸 것이다.
도 10은 호스트 컴퓨터 본체에는 변환기 대신에 일반 네트워크 인터페이스 카드를 사용하고 하드웨어 장치와 호스트 컴퓨터의 연결을 구현한 것을 나타낸 것이다.
* 도면의 주요부분에 대한 부호의 설명 *
1 : 호스트 컴퓨터 10 : 시스템 버스
11 : CPU 12 : 메모리
13,14,15,260a,260b : 디바이스 콘트롤러
16 : 전용버스용 입출력장치 17 : 공유버스용 입출력장치
18,19,20 : 입출력 부시스템 21 : 입출력 시스템
31 : 호스트 포트 32 : 로컬 CPU와 메모리
33,34,260c : 디바이스 포트 40 : AGP칩 세트
41 : AGP버스 42 : PCI버스
43 : ISA 버스 44 : USB 허브
45 : 모니터 46 : 키보드
47 : 마우스 48 : 플로피 디스크
49 : CD 50 : USB 포트
51 : 입출력장치 콘트롤러 52 : AGP 비디오카드
53 : CO-ROM 콘트롤러 54 : HDD 콘트롤러
55,136,146 : 네트워크 인터페이스카드
82,92, 104,125,147, 330 : LAN 83,93,135,145 : 시스템 버스
84 : 버스-LAN 변환기 85 : LAN-콘트롤러 변환기
86,94,137,149 : 디바이스 콘트롤러 87,97,138,150 : 입출력장치
95 : 콘트롤러-LAN 변환기 96 : LAN-입출력포트 변환기
96,97,98,101,102,103,105,106,107,127,128,129 : 변환기
124,126 : 스위치 108,130 : 입출력장치 1
109,131 : 입출력장치 2 110, 132 : 입출력장치 3
133,143 : 네트워크 디바이스 드라이버
134,144 : 입출력 디바이스 드라이버
146 : 네트워크 인터페이스 카드 210 : 버스
220a~220d : 버퍼 221 : 버스신호/프레임 변환모듈
222 : 프레임/버스신호 변환모듈 223 : 프레임/콘트롤러신호 변환모듈
224 : 콘트롤러신호/프레임 변환모듈 225 : 포트신호/프레임 변환모듈
226 : 프레임/포트신호 변환모듈 300: 호스트컴퓨터 본체 집단
310 : 하드디스크 집단 320 : 입출력장치 집단
340 : 하드디스크요 LAN 또는 SAN
위와 같은 목적을 달성하기 위한 본 발명은, 입출력 장치 및 하드디스크 드라이브의 주변장치를 LAN을 통하여 호스트 컴퓨터에 원격으로 연결하여 임의의 호스트 컴퓨터와 임의의 시간에 동적으로 연결하는 방법에 있어서, 상기 호스트 컴퓨터측에서는, 내부 시스템 버스의 신호를 LAN의 데이터 링크 프레임 형식으로 변환하여 상기 LAN으로 전송하고, 역으로 상기 LAN의 데이터 링크 프레임을 상기 시스템 버스 신호로 변환하여 상기 시스템 버스에 전송하는 버스-LAN변환기를 호스트 컴퓨터의 상기 시스템 버스에 부착하여 상기 LAN에 연결하고, 상기 주변장치측에서는, 상기 LAN의 데이터 링크 프레임을 디바이스 컨트롤러 신호로 변환하고, 역으로 상기 디바이스 컨트롤러의 신호를 상기 LAN의 데이터 링크 프레임으로 변환하는 LAN-컨트롤러 변환기를 상기 디바이스 컨트롤러에 부착하고 상기 LAN에 연결하여, 상기 주변장치를 상기 디바이스 컨트롤러의 하드웨어 포트에 부착하고, 각각의 상기 변환기에 레지스터와 논리회로를 사용하여 LAN의 목적지 데이터 링크 주소를 지정하여, 연결설정 프로토콜을 이용하여 하드웨어의 변경없이 상기 LAN을 통하여 임의의 상기 호스트 컴퓨터와 상기 주변장치를 원격으로 동적으로 연결하며, 연결해제 프로토콜을 이용하여 연결을 해제하되, 상기 연결설정 프로토콜은, 상기 주변장치가 데이터 링크 프레임인 연결설정 요구 프레임을 방송 또는 멀티캐스팅으로 LAN에 연결된 다수의 호스트 컴퓨터들에게 보내는 단계와, 상기 연결설정 요구 프레임을 받은 호스트 컴퓨터들은 적절한 호스트 컴퓨터를 선정하고, 선정된 호스트 컴퓨터는 연결 설정 요구 프레임에 포함된 주변장치들의 데이터 링크 주소를 자신의 해당 버스-LAN 변환기 또는 컨트롤러-LAN 변환기들(101, 102, 103)에 전하여 각 변환기들이 적절한 데이터 링크 주소를 목적지 주소로 만들어 입출력 명령과 데이터를 해당 주변장치에 전송할 수 있도록 한 후에 연결 설정에 대한 응답 프레임을 해당 주변 장치에 보내는 단계와, 상기 응답 프레임을 받은 주변장치의 변환기들은 응답 프레임에 포함된 목적지 호스트 컴퓨터의 변환기 데이터 링크 주소들 중 해당 변환기의 데이터 링크 주소를 연결을 해제할 때까지 각자의 목적지 데이터 링크 주소로 만들어 필요한 입출력 데이터를 해당 호스트 컴퓨터로 전송하는 단계로 이루어지는 것을 특징으로 한다.
또한, 본 발명은 입출력 장치 및 하드디스크 드라이브의 주변장치를 LAN을 통하여 호스트 컴퓨터에 원격으로 연결하여 임의의 호스트 컴퓨터와 임의의 시간에 동적으로 연결하는 방법에 있어서, 상기 호스트 컴퓨터측에서는, 내부 시스템 버스에 부착된 디바이스 컨트롤러의 신호를 LAN의 데이터 링크 프레임 형식으로 변환하여 상기 LAN으로 전송하고, 역으로 상기 LAN의 데이터 링크 프레임을 상기 디바이스 컨트롤러 신호로 변환하여 상기 디바이스 컨트롤러에 전송하는 컨트롤러-LAN 변환기를 호스트 컴퓨터의 상기 디바이스 컨트롤러에 부착하여 상기 LAN에 연결하고, 상기 주변장치측에서는, 상기 LAN의 데이터 링크 프레임을 하드웨어 포트 신호로 변환하여 하드웨어 포트로 전송하고 역으로 하드웨어 포트 신호를 상기 LAN의 데이터 링크 프레임으로 변환하여 상기 LAN으로 전송하는 LAN-하드웨어 포트 변환기를 상기 하드웨어 포트에 부착하여 상기 LAN에 연결하고, 각각의 상기 변환기에 레지스터와 논리회로를 사용하여 LAN의 목적지 데이터 링크 주소를 지정하여, 연결설정 프로토콜을 이용하여 하드웨어의 변경없이 상기 LAN을 통하여 임의의 상기 호스트 컴퓨터와 상기 주변장치를 원격으로 동적으로 연결하며, 연결해제 프로토콜을 이용하여 연결을 해제하되, 상기 연결설정 프로토콜은, 상기 주변장치가 데이터 링크 프레임인 연결설정 요구 프레임을 방송 또는 멀티캐스팅으로 LAN에 연결된 다수의 호스트 컴퓨터들에게 보내는 단계와, 상기 연결설정 요구 프레임을 받은 호스트 컴퓨터들은 적절한 호스트 컴퓨터를 선정하고, 선정된 호스트 컴퓨터는 연결 설정 요구 프레임에 포함된 주변장치들의 데이터 링크 주소를 자신의 해당 버스-LAN 변환기 또는 컨트롤러-LAN 변환기들(101, 102, 103)에 전하여 각 변환기들이 적절한 데이터 링크 주소를 목적지 주소로 만들어 입출력 명령과 데이터를 해당 주변장치에 전송할 수 있도록 한 후에 연결 설정에 대한 응답 프레임을 해당 주변 장치에 보내는 단계와, 상기 응답 프레임을 받은 주변장치의 변환기들은 응답 프레임에 포함된 목적지 호스트 컴퓨터의 변환기 데이터 링크 주소들 중 해당 변환기의 데이터 링크 주소를 연결을 해제할 때까지 각자의 목적지 데이터 링크 주소로 만들어 필요한 입출력 데이터를 해당 호스트 컴퓨터로 전송하는 단계로 이루어지는 것을 특징으로 한다.
또한 본 발명은, 입출력 장치 및 하드디스크 드라이브의 주변장치를 LAN을 통하여 호스트 컴퓨터에 원격으로 연결하여 임의의 호스트 컴퓨터와 임의의 시간에 동적으로 연결하는 방법에 있어서, 상기 주변장치측에서는, 입출력을 위한 하드웨어 제어 명령을 담은 LAN의 데이터 링크 프레임을 하드웨어 포트 신호로 변환하여 하드웨어 포트로 전송하고, 역으로 하드웨어 포트 신호를 상기 LAN의 데이터 링크 프레임으로 변환하여 상기 LAN으로 전송하는 LAN-하드웨어 포트 변환기를 하드웨어 장치의 상기 하드웨어 포트에 부착하여 상기 LAN에 연결하고, 상기 호스트 컴퓨터측에서는, 내부 시스템의 운영체제로 하여금 입출력 명령을 일반적인 네트워크 프로토콜 데이터 단위(Protocol Data Unit, PDU)로 전송하는 네트워크 인터페이스 카드를 구동하게 되는 네트워크 디바이스 드라이버 소프트웨어를 통하여 상기 LAN의 데이터 링크 프레임에 담아 상기 LAN을 통해 상기 LAN-하드웨어 포트 변환기로 전송하고 역으로 상기 LAN-하드웨어 포트 변환기로부터 데이터를 상기 네트워크 디바이스 드라이버 소프트웨어를 통해 수신하도록 하고, 각각의 상기 변환기에 레지스터와 논리회로를 사용하여 LAN의 목적지 데이터 링크 주소를 지정하여, 연결설정 프로토콜을 이용하여 하드웨어의 변경없이 상기 LAN을 통하여 임의의 상기 호스트 컴퓨터와 상기 주변장치를 원격으로 동적으로 연결하며, 연결해제 프로토콜을 이용하여 연결을 해제하며, 상기 연결설정 프로토콜은, 상기 주변장치가 데이터 링크 프레임인 연결설정 요구 프레임을 방송 또는 멀티캐스팅으로 LAN에 연결된 다수의 호스트 컴퓨터들에게 보내는 단계와, 상기 연결설정 요구 프레임을 받은 호스트 컴퓨터들은 적절한 호스트 컴퓨터를 선정하고, 선정된 호스트 컴퓨터는 연결 설정 요구 프레임에 포함된 주변장치들의 데이터 링크 주소를 자신의 해당 버스-LAN 변환기 또는 컨트롤러-LAN 변환기들(101, 102, 103)에 전하여 각 변환기들이 적절한 데이터 링크 주소를 목적지 주소로 만들어 입출력 명령과 데이터를 해당 주변장치에 전송할 수 있도록 한 후에 연결 설정에 대한 응답 프레임을 해당 주변 장치에 보내는 단계와, 상기 응답 프레임을 받은 주변장치의 변환기들은 응답 프레임에 포함된 목적지 호스트 컴퓨터의 변환기 데이터 링크 주소들 중 해당 변환기의 데이터 링크 주소를 연결을 해제할 때까지 각자의 목적지 데이터 링크 주소로 만들어 필요한 입출력 데이터를 해당 호스트 컴퓨터로 전송하는 단계로 이루어지는 것을 특징으로 한다.
또한 본 발명은, 상기 연결 해제 프로토콜은, 현재 연결을 설정하고 있는 호스트 컴퓨터로 정해진 타입의 데이터 프레임인 연결 해제 프레임을 전송하고, 연결을 해제하려는 해당 주변장치들에도 해제 프레임을 보내어 더 이상 해당 호스트 컴퓨터의 변환기의 데이터 링크 주소를 목적지 데이터 링크로 사용하지 않도록 하여 연결을 해제하는 단계와, 연결 해제 프레임을 받은 호스트 컴퓨터는 해당 변환기들로 하여금 지금까지 연결을 설정하고 있던 주변장치들에 더 이상 입출력 명령이나 데이터를 전송하지 않도록 하여 연결을 해제하고 새로운 연결 설정 요구 프레임을 기다리도록 하는 단계로 이루어지는 것을 특징으로 한다.
본 발명은 상기에서 지적한 문제들을 해소하고자, 호스트 컴퓨터에 직접 부착된 기존의 입출력 방식 대신에 입출력 장치들을 원격으로 호스트 컴퓨터와 분리하여 연결하는 방법을 이용한다.
본 발명에서는 사용자가 물리적으로 접근하여 사용하는 키보드, 모니터, 마우스, 플로피 디스켓 드라이브 등과 같은 모든 입출력 장치들을 호스트 컴퓨터의 본체로부터 분리하여 LAN을 통하여 연결하는 것이다.
본 발명의 기술은 USB(Universal Serial Bus) 기술과의 차이점을 보이는데, USB는 입출력 장치들의 데이터 입출력 속도가 CPU와 메모리의 속도에 비해 상대적으로 매우 낮음에도 불구하고 저속의 버스(예를 들면 ISA 버스)에 부착되어 CPU의 연산 기능을 저해하는 방식으로 연결된 구조를 개선하여 다양한 입출력 장치들을 직렬 버스로 연결하여 효과적으로 입출력 할 수 있도록 입출력 방식을 개선하도록 하지만, USB 방식의 입출력 장치 부착은 네트워크를 통한 입출력 방치의 부착이 아니라 호스트 컴퓨터의 루트 USB 허브를 통하여 호스트 컴퓨터에 고정적으로 연결되어 있는 것이므로 입출력 장치를 상황에 따라 다른 호스트 컴퓨터에 동적으로 연결할 수 있는 것은 아니며, USB 케이블은 그 길이가 최대 5 미터로 한정되어 있어서 공간적으로도 호스트 컴퓨터 본체와 멀리 격리하는 것은 어렵다.
상기 USB 기술은 입출력 장치들을 네트워크를 통하여 공간적, 논리적으로 호스트 본체와 분리하기 위한 기술이 아니라, 보다 능률적인 입출력을 위한 직렬 시스템 버스 기술이다.
상기와 같은 입출력 장치를 호스트 컴퓨터 본체와 단순히 물리적으로 분리하기 위해서는, 입출력 장치의 유선 인터페이스를 무선 인터페이스로 대체할 수도 있으나, 단순히 유선 인터페이스를 무선 인터페이스로 대체하는 것은 네트워크를 통하여 분리하는 것과 기능적으로 전혀 다르다.
무선 인터페이스의 경우에는 물리적으로는 입출력 장치를 호스트 컴퓨터 본체와 격리시킬 수 있으나, 네트워크를 통하여 입출력 장치를 호스트 컴퓨터와 연결하는 것과는 달리 항상 정해진 하나의 호스트 컴퓨터와만 연결되어 있는 것이므로 네트워크를 통한 경우와는 다르다. 본 발명의 입출력 장치들의 LAN을 통한 원격 분리에 있어서도 필요한 경우에는 입출력 장치들과 LAN을 유선으로 연결하지 않고 무선으로 연결할 수 있다.
본 발명은 입출력 장치 공유기 기술과는 차이를 나타낸다. 공유기 기술은 한 세트의 키보드와 모니터를 몇 대의 PC와 동시에 연결하여 PC의 수만큼 키보드와 모니터를 필요로 하지 않는 기술이지만 입출력 장치와 PC들을 LAN을 통하여 연결하는 것이 아니므로 한 세트의 입출력 장치들을 정해진 PC들과만 고정적으로 연결하므로 선택적으로 임의의 시간에 임의의 호스트 컴퓨터 본체와 하드웨어 장치를 연결하는 본 발명과는 근본적으로 다르다. 특히 공유기 기술은 하드디스크와 PC 본체를 분리하지는 못한다.
본 발명은 또한, 종래에 단일 호스트 컴퓨터가 직렬 회선 또는 모뎀과 전화선을 사용하여 여러 대의 터미널을 연결하는 것과도 차이를 보인다. 상기에서 설명한 것과 마찬가지로 종래에는 터미널들이 지정된 호스트 컴퓨터와 고정적으로 연결되므로, 본 발명에서처럼 LAN을 통하여 임의의 호스트 컴퓨터와 임의의 시간에 선택적으로 연결하는 것과는 기술적 차이를 나타낸다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조로 하여 설명하면 다음과 같다.
도 3 (a)는 본 발명에 의해 호스트 컴퓨터 본체와 입출력 장치 및 하드디스크를 LAN을 통하여 원격으로 연결한 전체 시스템의 네트워크 구성도를 나타낸다. 도시된 바와 같이, 입출력 장치들(320)과 하드디스크(310)는 호스트 컴퓨터 본체(300)와 직접 연결되지 않고 Ethernet과 같은 LAN(330)을 통하여 원격으로 연결되므로 상호간에 고정적으로 연결되지 않고 일단의 하드웨어 장치들이 임의의 호스트 컴퓨터(300)와 임의의 시간에 동적으로 연결되고 분리된다.
도 3 (b)는 필요에 따라서 하드디스크들과 입출력 장치들을 구분하여 각각 별도의 LAN을 사용하여 호스트 컴퓨터 본체들과 연결하는 네트워크 구성도를 나타낸다. 사용자가 직접 물리적으로 접근하여 사용하는 입출력 장치들과는 달리 하드디스크는 반드시 사용자와 물리적으로 근접해서 위치할 필요가 없으므로, 호스트컴퓨터의 본체들(300)과 SAN(Storage Area Network)과 같은 하드디스크 전용의 별도의 LAN(340)을 사용하여 연결하는 네트워크를 구성하면, LAN의 전송 대역폭의 제한에 따른 데이터 전송의 속도 문제를 해결하고 효과적인 운영을 하는데 유리할 것이다.
도 4는 PC 호스트에서 현재 일반적으로 사용되고 있는 버스 구조를 나타낸 것이다. 도시된 바와 같이, 도 4에서는 AGP(Accelerated Graphics Port) 칩 세트를 채택한 일반적인 PC 호스트 컴퓨터의 본체 1 내부에 있는 입출력 시스템을 나타낸다.
도 4에서는 마이크로 프로세서(CPU)(11)와 메모리(12)가 AGP 칩(40)을 통하여 연결되어 있고, 각종 입출력 장치들을 위한 디바이스 컨트롤러들은 AGP 버스 (41), PCI 버스(42), ISA 버스(43), USB 허브(44) 등에 부착되어 있다.
또한, 입출력 장치들로서 모니터(45), 키보드(46), 마우스(47), 플로피 디스켓 드라이브(48), CD-ROM 드라이브(49)를 보여 주고 있으며, USB 포트에 키보드, 마우스, 플로피 디스켓 드라이브 등등의 입출력 장치를 연결하여 사용할 수 있도록 USB 루트 허브(44)와 USB 포트(50)를 보여 주고 있다.
또한, 키보드(46), 마우스(47), 플로피 디스켓 드라이브(38)는 각각 ISA 버스(43)에 부착되어 있는 디바이스 컨트롤러(51)를 통하여 시스템 버스에 연결되고, 모니터(45)는 AGP 버스(41)에 부착되어 있는 AGP 비디오 카드(52)를 통하여 시스템에 연결되어 있으며 CD-ROM 드라이브(49)는 CD-ROM 디바이스 컨트롤러(53)를 통하여 PCI 버스(42)에 연결되어 있는 것을 보여 준다.
물론, 모니터, 키보드 등의 각각의 입출력 장치들은 각 지정된 커넥터 (connector)를 사용하여 기계적으로 디바이스 컨트롤러에 연결된다.
상기 하드디스크는 하드디스크 컨트롤러(54)를 통해 PCI 버스(42)에 부착되어 있는데, 하드디스크는 저장 장치로서 입출력 장치와는 다른 특성을 가지고 있으며 사용자가 직접 물리적으로 접근하여 사용하는 장치는 아니지만, 본 발명의 LAN을 통한 입출력 장치들의 분리와 동일한 방법으로 시스템 본체로부터 분리하여 LAN을 통해 연결할 수 있다.
도 4는 특정한 경우의 PC 시스템에서 각종 입출력 장치들과 저장 장치인 하드디스크가 부착되어 있는 특정 경우를 보여 주는 것으로서, 경우에 따라서는 각 입출력 장치들과 저장 장치가 다른 종류의 버스에 부착될 수도 있다. 이를테면, 모니터는 AGP 비디오 카드를 통하여 AGP 버스에 부착되는 대신에 PCI 버스 슬롯에 삽입되는 비디오 카드를 통하여 PCI 버스에 연결될 수 도 있고, 상기 전술한 것처럼 키보드, 마우스, 플로피 디스켓 드라이브 등이 USB 포트를 통하여 연결될 수 도 있다.
여기서 중요한 요점은, 단일 칩의 형태 또는 add-on 카드의 형태로 구현된 디바이스 컨트롤러들이 호스트 컴퓨터의 내부 버스에 부착되고, 각 디바이스 컨트롤러를 통하여 입출력 장치들과 저장 장치(이후부터는 하드웨어 장치를 입출력 장치들과 저장 장치를 총칭하기 위하여 사용한다)가 호스트 컴퓨터에 연결된다는 것이다.
본 발명에서는 사용자를 네트워크를 통하여 호스트 컴퓨터와 완전히 분리하기 위해 하드웨어 장치들을 호스트 컴퓨터와 네트워크를 통하여 분리하였다.
도 5는 도 4의 예를 그대로 사용하여 입출력 장치들과 저장 장치를 Ethernet과 같은 LAN을 통하여 호스트 컴퓨터 본체로부터 분리하는 방법을 나타낸다.
상기와 같이 하드웨어 장치들은 디바이스 컨트롤러를 거쳐서 시스템 버스에 연결되어 있으므로, 하드웨어 장치들을 LAN을 통해 호스트 컴퓨터 본체와 분리하기 위해서는 디바이스 컨트롤러와 하드웨어 장치를 함께 본체로부터 Ethernet과 같은 LAN을 통하여 분리하거나 디바이스 컨트롤러는 시스템 버스에 부착하고, 디바이스 컨트롤러와 하드웨어 장치 사이를 LAN으로 분리할 수 있다.
즉, 도 5의 분리면(61, 62, 63, 64, 65)은 시스템 버스와 디바이스 컨트롤러 사이를 분리하여 그 사이를 LAN으로 연결하는 경우를 의미하며, 분리면(71, 72, 73, 74)은 디바이스 컨트롤러와 하드웨어 장치 사이를 LAN으로 분리하는 것을 나타낸다.
상기 두 가지 분리 방식 중 어느 방식을 채택할지를 정하는 것은 디바이스 컨트롤러와 하드웨어의 특성에 따라 개별적으로 결정할 수 있다.
디바이스 컨트롤러가 흔히 단일 칩의 형태로 시스템 버스에 부착되어 있는 키보드, 마우스, 플로피 드라이브, CD-ROM 드라이브, 하드디스크 등이나 USB 허브에 부착되는 장치들은 도 5의 디바이스 컨트롤러와 하드웨어 장치 사이의 분리면 (72, 73, 74) 등을 채택하는 것이 편리할 것이며, 비디오 카드나 멀티미디어 카드 등을 시스템 버스의 슬롯에 삽입하여 연결하는 모니터, 오디오 장치 등은 도 5의 분리면(61)을 분리하여 개인이 사용하는 입출력 장치 쪽에 디바이스 컨트롤러가 위치하는 것이 바람직하다.
비디오 및 오디오 장치 등은 각 개인의 수요에 따라 다양한 종류의 디바이스 컨트롤러 보드를 사용하므로 호스트 본체에 두기보다는 각 개인이 사용하는 입출력 장치와 함께 두는 것이 편리하다. 더욱이 디바이스 컨트롤러에서 아날로그 신호를 입출력 장치로 전송하는 경우에는 디바이스 컨트롤러와 입출력 장치 사이를 LAN으로 분리하여 해당 아날로그 신호를 전송하는 것은 매우 불편하기 때문에 도 5의 분리면(61)과 같이 시스템 버스와 디바이스 컨트롤러 사이를 분리하여 LAN으로 연결하는 것이 바람직하다.
분리면을 결정하는 요인에는 그 외에도 전원 공급과 관련된 요인이 있는데, 디바이스 컨트롤러에 소요되는 전원을 호스트 컴퓨터의 본체로부터 공급받지 않는 것이 유리한 경우에는, 도 5의 분리면(61)과 같이 시스템 버스와 디바이스 컨트롤러 사이를 분리하는 것이 바람직하다.
상기 두 가지 분리 방식 중 어느 방식을 채택하든 호스트 시스템과 LAN을 통하여 하드웨어 장치들을 연결하기 위해서는 기존의 하드웨어와 시스템 버스 사이의 데이터 이송 프로토콜을 그대로 사용할 수 없으므로, 프로토콜 변환기 장치가 필요하다.
즉, 기존의 방식은 시스템 버스에서의 입출력 프로토콜과 하드웨어 장치에서의 입출력 프로토콜을 변환하는 디바이스 컨트롤러를 시스템 버스와 하드웨어 사이에 두어 시스템 버스에 하드웨어 장치를 고정적으로 연결한 방식임에 비해, 본 발명의 연결 방식은 하드웨어 장치를 시스템 버스에 직접 고정시키지 않고 LAN을 통해 연결하는 것이므로, 시스템 버스와 하드웨어 장치 사이에 기존의 디바이스 컨트롤러 이외에도 입출력 명령과 신호를 해당 LAN의 데이터 링크 프레임으로 변환하고 또 역 방향으로도 변환하는 변환 장치가 추가적으로 필요하다.
도 6은 상기 두 가지 분리 방식을 채택했을 경우에 필요한 변환기를 보여준다. 도시된 바와 같이, (a)는 시스템 버스(83)와 디바이스 컨트롤러(86) 사이를 분리하여 LAN(82)로 연결하는 경우로서, 호스트 컴퓨터의 시스템 버스(83)에는 기존의 디바이스 컨트롤러 대신에 버스로부터의 입출력 명령을 해당 LAN의 데이터 링크 프레임으로 변환하고, 역으로 LAN을 통해서 하드웨어 장치로부터 전달되어 온 데이터 프레임을 적절히 변환하여 시스템 버스에 전달하는 장치인 버스-LAN 변환기(84) 를 부착하여 LAN에 연결하고, 기존의 디바이스 컨트롤러(85)는 기존처럼 하드웨어에 직접 연결하되, 해당 LAN의 데이터 링크 프레임에 담겨서 전달받은 입출력 명령을 디바이스 컨트롤러에 전하고, 역으로 디바이스 컨트롤러를 통해 전달받은 데이터를 해당 LAN의 데이터 링크 프레임으로 변환하여 LAN으로 전송하는 LAN-컨트롤러 변환기(85)를 통하여 기존의 하드웨어 장치를 LAN에 연결하여 궁극적으로 호스트 컴퓨터의 본체와 입출력 장치(87)를 분리하여 LAN을 통하여 연결하는 방법을 보여준다.
즉, 하드웨어 장치를 디바이스 컨트롤러를 통하여 시스템 버스에 직접 부착하는 대신에 디바이스 컨트롤러의 앞에 LAN-컨트롤러 변환기를 부착하여 하드웨어 장치를 LAN을 통하여 호스트 컴퓨터에 연결하고, 호스트 컴퓨터에서는 버스-LAN 변환기를 디바이스 컨트롤러 대신에 부착하여 LAN을 통하여 하드웨어 장치와 연결하는 것이다.
상기와 같이 분리하는 방식은 디바이스 컨트롤러를 add-on 카드로 구성하여 시스템 버스에 삽입하여 하드웨어 장치를 부착하는 모니터나 오디오 장치의 경우에 바람직하다.
도 6의 (b)의 디바이스 컨트롤러(94)는 기존과 같이 시스템 버스 93에 직접 부착하되, 입출력 장치(97)와 디바이스 컨트롤러 사이(94)를 LAN(92)을 통하여 연결하는 경우로서, 전술한 것과 마찬가지 이유로 디바이스 컨트롤러(94)와 LAN 사이에는 컨트롤러-LAN 변환기(95)를 두고 입출력 장치(97)와 LAN(92)사이에는 LAN-입출력 포트 변환기(96)를 두는 방식을 나타낸다.
도 6의 (a)의 경우에는 입출력 장치와 디바이스 컨트롤러, LAN-컨트롤러 변환기를 하나의 케이스 내부에 두거나 변환기와 디바이스 컨트롤러를 하나의 케이스에 두고 입출력 장치는 기존의 커넥터(connector)를 사용하여 연결할 수 있다.
도 6의 (b)의 경우도 마찬가지로 변환기를 입출력 장치와 같은 케이스에 두거나 별도의 케이스에 두고 기존의 커넥터를 사용하여 입출력 장치를 연결할 수 있다.
도 7은 호스트 컴퓨터와 역변환기들(105, 106, 107)은 각 하드웨어 장치별로 독립적인 LAN 데이터 링크를 각각 사용하여 LAN(104)에 연결되어 있으나 변환기들(101, 102, 103)은 하나의 케이스에 모아 둔 경우를 보여준다.
그러나, 입출력 장치들(108, 109, 110)은 사용자가 물리적으로 서로 떨어진 위치에 두고 사용하는 장치가 아니라 키보드, 마우스, 모니터, 플로피 드라이브, CD-ROM 드라이브 등을 물리적으로 근접한 위치에 두고 동시에 사용하므로, 도 6에서 나타내는 것처럼 각각의 입출력 장치들을 위한 변환기들(101, 102, 103)을 모두 하나의 케이스에 담아 키보드, 마우스, 모니터는 상기 케이스에 커넥터를 사용하여 연결하고, 플로피 드라이브 및 CD-ROM 드라이브 등은 상기 케이스에 직접 부착하여 사용할 수도 있다.
도 7과 같이 하나의 케이스에 해당 변환기들을 모아 두어 단순히 물리적으로 근접시켜 설치하는 것 이외에 해당 LAN의 네트워크 포트를 절약할 수 있다.
도 8은 각 하드웨어 장치마다 독립적인 데이터 링크를 할당하지 않고 하나의데이터 링크를 두 개 이상의 하드웨어 장치나 변환기가 공유할 수 있도록 하는 경우를 보여준다.
도시된 바와 같이, 스위치 모듈은 다수의 변환기 또는 역변환기와 LAN을 연결하여 다중화/역다중화(multiplexing/demultiplexing)를 통하여 단일 링크를 사용하여 다수의 변환기/ 또는 역변환기를 LAN에 연결하는 장치이다.
상기와 같은 경우에는, 세 개의 입출력 장치들(130, 131, 132)을 단일 링크를 사용하여 LAN 125에 연결한 경우를 보여주고 있는데, 스위치(124)는 변환기 가, 나, 다(96,97,98)로부터의 입출력 명령을 다중화 과정을 거쳐 단일 링크를 통하여 LAN(125)으로 전송하고, 스위치(126)는 역으로 LAN으로부터 전송되어 온 입출력 명령을 해당 입출력 장치들로 역다중화 하여 배분하여 준다.
입출력 장치(130, 131, 132)로부터 호스트 컴퓨터 방향으로의 데이터 전송도 마찬가지 방식으로 스위치(126)가 다중화/역다중화의 과정을 거쳐 데이터를 적절한 변환기로 전해 준다.
실제에 있어서는 키보드, 마우스와 같이 상대적으로 느린 데이터 전송 속도를 갖는 한 개 이상의 하드웨어 장치들을 도 8의 스위치와 같은 다중화/역다중화 장치를 통하여 LAN에 연결하고, 모니터, 오디오 장치, 하드디스크와 같이 상대적으로 빠른 데이터 전송 속도를 필요로 하는 하드웨어는 도 7과 같이 각각 별도의 데이터 링크를 사용하여 LAN에 연결할 수 있도록 한다.
상기의 변환기들은 입출력 명령의 프로토콜 변환기들로서, LAN을 통해 하드웨어 장치를 시스템 버스로부터 분리하는 분리면의 위치에 따라 시스템 버스로부터의 입출력 명령에 관한 버스 신호를 LAN의 데이터 링크 프레임으로 변환하는 버스-LAN 변환기와 시스템 버스로부터 전송된 입출력 명령을 포함한 데이터 링크 프레임을 다시 버스 입출력 명령으로 바꾸어 해당 디바이스 컨트롤러로 전달하는 LAN-컨트롤러 변환기가 한 짝을 이루며, 컨트롤러로부터 하드웨어 포트에 전달되는 입출력 신호를 LAN의 데이터 링크 프레임으로 변환하는 컨트롤러-LAN 변환기와 수신한 데이터 프레임을 역으로 변환하여 하드웨어 장치에게 신호를 전하는 LAN-하드웨어 디바이스 포트 변환기가 한 짝을 이룬다.
이와 같은 변환기는 전술한 것과 같이 입출력 명령의 형식을 변환하는 프로토콜 변환기이므로 변환기가 연결하는 양쪽의 데이터 전송 속도의 차이와 프로토콜 데이터 형식의 크기 차이에 의한 전송 속도 불일치를 보정할 버퍼가 필요하다.
예를 들면, Ethernet을 통하여 모니터를 시스템 버스와 분리한 경우에는 Ethernet의 전송 속도가 모니터와 시스템 버스 사이에서의 데이터 전송 속도보다 낮은 경우, 변환기에 버퍼를 두어 속도의 불일치에 따른 데이터 손실을 방지하는 흐름 제어(flow control)를 해야 하며, 한 단위로 전송되는 데이터의 크기가 한 개의 Ethernet 프레임의 최대 크기보다 큰 경우에도 버퍼를 두어 몇 개의 Ethernet 프레임으로 나누어 (segment) 전송해야 한다.
또한, 여러 개의 Ethernet 프레임에 나뉘어서 전송된 데이터는 반대편 변환기에서 다시 재합성 (reassemble)되어야 한다.
도 9의 (a)와 (b)는 각각 상기 버스-LAN 변환기(84)와 LAN-컨트롤러 변환기(85)의 구성도로서, 상기 버스-LAN 변환기(84)는 시스템 버스로부터의 입출력 명령과 데이터 신호를 LAN의 데이터 프레임으로 변환하는 버스 신호->데이터 프레임 변환 모듈(221)과 역으로 LAN으로부터 수신한 데이터 프레임을 해당 버스 신호로 변환하는 데이터 프레임->버스 신호 변환 모듈(222), 상기 변환에 따른 속도의 불일치를 조절하기 위한 버퍼 및 LAN으로 데이터 프레임을 발신하는 발신 모듈(230)과 데이터 프레임을 LAN으로부터 수신하는 수신 모듈(240)로 구성되며, 상기 LAN-컨트롤러 변환기(85)는 LAN으로부터 데이터 프레임을 수신하는 수신 모듈(240)과 LAN으로 발신하는 발신 모듈(230) 및 수신한 데이터 프레임을 하드웨어 컨트롤러 신호로 변환하는 변환 모듈(223)과, 역으로 컨트롤러로부터의 신호를 데이터 프레임으로 변환하는 변환 모듈(224)과, 상기 변환에 따른 속도의 불일치를 조절하기 위한 버퍼(220)로 구성된다.
도 9의 (c)와 (d)는 상기 각각 컨트롤러-LAN 변환기와 LAN-하드웨어 디바이스 포트 변환기의 구성도로서, 각 변환기를 구성하는 모듈들은 도 8의 (a)와 (b)에 보인 상기 변환기의 모듈들과 유사한 기능을 수행하는 모듈들로 구성된다.
도 9의 장치들은 결국 기존의 네트워크 인터페이스 카드와 유사한 장치이지만 기존의 네트워크 인터페이스 카드는 일반적인 네트워크 프로토콜의 데이터 단위(Protocol Data Unit)를 전송하는 장치인데 반해 본 발명의 도 9의 장치들은 입출력 장치 및 하드디스크와 호스트 컴퓨터 본체 사이에서의 입출력 명령과 데이터를 전송하는 특정 데이터 프레임만을 전적으로 전송하는 하드웨어장치 전용 네트워크 인터페이스 카드로 볼 수 있다.
본 발명은 입출력 장치와 같은 하드웨어 장치를 Ethernet과 같은 LAN을 통하여 시스템 버스로부터 분리하여 네트워크로 연결하는 것이다. 이 때 하드웨어 장치와 시스템 버스 사이에서의 입출력 명령과 데이터는 해당 LAN의 데이터 링크 프레임에 담겨서(encapsulated) 전송되지만 해당 하드웨어 장치들과 호스트 컴퓨터와의 연결은 해당 LAN의 데이터 링크 계층에서 하드웨어적으로 연결되고 별도의 라우팅을 거치지 않으므로 해당 LAN의 데이터 링크 계층보다 상위 계층의 프로토콜과는 기본적으로 전혀 무관하다.
즉, Ethernet으로 구성된 LAN이 TCP/IP를 통신 프로토콜로 채택하든 다른 프로토콜을 채택하든 상관없이 본 LAN을 통해 호스트 컴퓨터의 시스템 버스로부터 분리하여 하드웨어 장치들을 연결할 수 있다.
본 발명의 변환기들은 입출력 명령과 데이터를 LAN의 데이터 링크 프레임으로 변환하고 프레임으로부터 역변환하는 기능을 수행하는 입출력 명령 및 데이터 형식의 프로토콜 변환기로서 통상적인 네트워크 인터페이스 카드와는 다르다.
즉, 통상적인 네트워크 인터페이스 카드가 자신에게 전송된 데이터 링크 프레임으로부터 IP 프로토콜 같은 상위 프로토콜을 처리하는 기능을 수행하는 것과는 달리 본 발명의 전술한 변환기들은 입출력 명령과 데이터를 단순히 해당 LAN의 데이터 링크 프레임으로 변환하여 LAN을 통해 해당 하드웨어 장치나 호스트 시스템으로 전송하는 기능만을 필요로 한다.
물론, 본 발명의 적용 구간을 단일 LAN을 넘어서 다른 네트워크로 확장할 수는 있다. 이를테면, 인터넷에서 본 발명의 하드웨어를 사용하기 위해서는 본 발명의 변환기에는 TCP/IP 프로토콜 스택을 처리하는 기능이 추가되어야 하며, 그와 같은 경우에는 호스트 컴퓨터와 하드웨어 장치는 인터넷을 통하여 원격으로 연결될 수 있다.
디바이스 드라이버는 디바이스 컨트롤러를 제어하는 시스템 소프트웨어이다. 본 발명의 상기 전술한 변환기를 사용하여 원격 입출력 시스템을 구현하면 기존의 호스트 컴퓨터에서 사용하는 디바이스 드라이버 소프트웨어는 수정할 필요가 없다.
본 발명에서는 LAN을 통하여 하드웨어 장치와 호스트 컴퓨터 사이에서 데이터를 주고받는다.
구체적으로는 입력 장치로부터 변환기를 거쳐 LAN을 통하여 호스트 컴퓨터의 변환기로 데이터가 전송되고, 호스트 컴퓨터로부터 변환기를 거쳐 LAN을 통하여 출력 장치로 전송된다.
저장 장치의 경우에는 호스트 컴퓨터와 저장 장치 사이에 양방향으로 LAN을 통하여 데이터가 전송되고, 호스트 컴퓨터로부터의 입출력 명령도 마찬가지로 호스트 컴퓨터로부터 해당 장치로 전송된다.
따라서, 본 발명의 하드웨어 장치들이 LAN을 통하여 호스트 컴퓨터와 연결되어 상호간에 입출력 명령과 데이터를 전하기 위해서는 본 발명의 전술한 변환기들은 데이터 프레임을 전송하고자 하는 해당 하드웨어 장치의 변환기 또는 해당 호스트 컴퓨터의 변환기의 데이터 링크 주소를 구별하여 해당 하드웨어 장치 또는 해당 호스트 컴퓨터로 데이터 프레임을 전송할 수 있도록 해야 한다.
이를테면, 도 6의 경우에 Ethernet이 LAN으로 채택된 경우라면, 모든 변환기들은 서로 다른 Ethernet 주소를 가지고 Ethernet에 연결되므로 특정 호스트와 특정 하드웨어 장치가 상대방에게 입출력 명령과 데이터를 전송하기 위해서는 서로 상대방 하드웨어 장치의 변환기 또는 호스트 컴퓨터의 변환기의 Ethernet 주소를 목적지 주소로 하는 Ethernet 프레임을 전송해야 한다.
즉, 도 6의 호스트 컴퓨터의 변환기와 하드웨어 장치의 변환기는 목적지 변환기의 Ethernet 주소를 목적지 Ethernet 주소로 만들어서 데이터 프레임을 전송해야 한다.
이 때, 목적지 데이터 링크 주소를 상황에 따라 변경할 수 없이 고정된 주소만을 사용하도록 변환기들이 만들어지면 특정 변환기가 전송할 수 있는 데이터 프레임의 목적지 주소가 고정되므로, 임의의 호스트 컴퓨터와 임의의 하드웨어 장치를 선택적으로 연결할 수 없이 고정적으로만 연결된다.
물론, 본 발명의 입출력 장치를 단순히 거리적으로 호스트 컴퓨터와 격리하여 사용하기 위한 경우라면 변환기가 전송하는 데이터 프레임의 목적지 주소를 고정하여도 무관하지만, 하드웨어 장치들을 임의의 호스트 컴퓨터에게 상황에 따라 선택적으로 연결하기 위해서는 호스트 컴퓨터에 부착된 변환기와 하드웨어 장치에 부착된 변환기들이 선택적으로 목적지 데이터 링크 주소를 결정할 수 있도록 만들어야 한다.
이와 같이 각각의 변환기가 고정된 목적지 데이터 링크 주소 대신에 선택적으로 목적지 데이터 링크 주소를 지정할 수 있도록 하는 방법에는 하드웨어 스위치를 사용하여 목적지 데이터 링크 주소를 선택하거나, 디바이스 드라이버 소프트웨어를 통하여 선택하는 방법이 있다.
하드웨어 스위치를 사용하는 경우에는, 각 변환기마다 목적지 데이터 링크 주소를 스위치를 사용하여 손으로 입력할 수 있으며, 목적지 주소를 변경할 필요가 있는 경우에는 스위치를 손으로 조작하여 변경한다.
디바이스 드라이버 소프트웨어를 사용하는 경우에는, 각 변환기에 목적지 데이터 링크 주소를 입력받을 수 있는 레지스터와 논리 회로를 두어 소프트웨어를 통하여 목적지주소를 변경할 수 있다.
디바이스 드라이버를 통하여 소프트웨어적으로 목적지 주소를 변환하게 되면, 원하는 시점에 임의의 호스트 컴퓨터와 하드웨어 장치를 동적으로 연결하거나 분리할 수 있는 이점이 있으며, 따라서 사용자는 자신이 사용하는 입출력 장치와 하드디스크를 원하는 성능과 규격의 호스트 컴퓨터에 임의적으로 연결하여 사용할 수 있고, 또한 단일 입출력 장치를 사용하여 동시에 여러 대의 호스트 컴퓨터와 연결하여 사용할 수 있으므로 동시에 많은 작업을 행할 필요가 있는 경우에 편리하다.
그리고, 이와 같이 동적으로 하드웨어 장치와 임의의 호스트 컴퓨터를 연결할 수 있으므로 적절한 수만큼의 호스트 컴퓨터를 여러 사용자들이 각자 필요한 시간대에 돌아가며 사용할 수 있으며, 호스트 컴퓨터의 수리, 보수 및 업그레이드 시간 동안에 다른 호스트 컴퓨터를 사용할 수 있으므로 높은 가용성을 제공한다.
변환기에 목적지 주소를 입력하는 상기 디바이스 드라이버는 기존의 하드웨어 장치를 제어하는 디바이스 드라이버와는 별도의 디바이스 드라이버로서 변환기에서 필요로 하는 목적지 데이터 링크 주소 지정을 위한 소프트웨어 모듈이다.
입출력 장치 및 하드디스크를 포함하는 하드웨어 장치는 본 발명에서 기술한 것과 같이, 동적으로 임의의 호스트 컴퓨터와 연결할 수 있다. 따라서, 아직 어느 호스트 컴퓨터와도 연결되지 않은 상태에서 특정 입출력 장치 및 하드디스크를 특정 호스트 컴퓨터와 연결을 설정하고 원하는 시점에서 해당 연결을 해제할 수 있다.
이와 같이 하드웨어 장치들과 호스트 컴퓨터와의 연결을 설정하고 해제하기 위한 프로토콜이 호스트 컴퓨터와 하드웨어 장치 사이에 필요하다. 본 발명에서는 하드웨어 장치와 호스트 컴퓨터 사이의 연결 설정과 해제를 위한 프로토콜을 본 발명의 LAN이 Ethernet인 경우에 대하여 기술하겠으나, 다른 종류의 LAN을 채택하는 경우에도 마찬가지 방식의 프로토콜이 적용될 수 있다.
Ethernet을 포함하여 LAN을 구성하는 대부분의 데이터 링크는 방송 (broadcast) 또는 멀티캐스트(multicast) 기능을 가지고 있다. 즉, 방송 또는 멀티캐스트 모드로 전송한 데이터 프레임은 LAN에 연결된 전체 또는 지정된 다수의 노드가 받아 볼 수 있다.
연결 설정 프로토콜은 다음과 같다. (1) 연결이 설정되지 않은 키보드 또는 마우스와 같은 입력 장치를 사용하여 정해진 타입의 데이터 링크 프레임인 연결 설정 요구 프레임을 방송 또는 멀티캐스팅으로 LAN에 연결된 다수의 호스트 컴퓨터들에게 보낸다.
이 때, 연결 설정을 위해 최초로 방송 또는 멀티캐스트 하는 데이터 프레임에는 사용자가 연결하고자 하는 입출력 장치의 변환기들과 하드디스크의 변환기의데이터 링크 주소를 포함하며, 사용자가 특정 호스트 컴퓨터와 연결하기를 원하는 경우에는 지정된 호스트 컴퓨터의 ID를 포함하고 사용자가 특정 호스트 컴퓨터를 지정하지 않는 경우에는 호스트 컴퓨터의 규격 및 성능에 관한 정보를 포함한다.
(2) 연결 설정 프레임을 받은 호스트 컴퓨터들은 적절한 호스트 컴퓨터를 선정하고, 선정된 호스트 컴퓨터는 연결 설정 요구 프레임에 포함된 하드웨어 장치들의 데이터 링크 주소를 자신의 해당 버스-LAN 변환기 또는 컨트롤러-LAN 변환기들에 전하여 각 변환기들이 적절한 데이터 링크 주소를 목적지 주소로 만들어 입출력 명령과 데이터를 해당 하드웨어에 전송할 수 있도록 한 후에 연결 설정에 대한 응답 프레임을 해당 입출력 장치에 보낸다.
이 응답 프레임은 해당 하드웨어 장치들이 데이터 전송을 할 때 필요한 해당 호스트 컴퓨터의 목적지 변환기의 데이터 링크 주소들을 포함한다.
(3) 응답 프레임을 받은 하드웨어 장치의 변환기들은 응답 프레임에 포함된 목적지 호스트 컴퓨터의 변환기 데이터 링크 주소들 중 해당 변환기의 데이터 링크 주소를 연결을 해제할 때까지 각자의 목적지 데이터 링크 주소로 만들어 필요한 입출력 데이터를 해당 호스트 컴퓨터로 전송한다.
연결 해제 프로토콜은 다음과 같다. (1) 키보드 또는 마우스와 같은 입력 장치를 사용하거나 별도의 프로그램을 사용하여 현재 연결을 설정하고 있는 호스트 컴퓨터로 정해진 타입의 데이터 프레임인 연결 해제 프레임을 전송하고, 연결을 해제하려는 해당 하드웨어 장치들에도 해제 프레임을 보내어 더 이상 해당 호스트 컴퓨터의 변환기의 데이터 링크 주소를 목적지 데이터 링크로 사용하지 않도록 하여연결을 해제한다.
(2) 연결 해제 프레임을 받은 호스트 컴퓨터는 해당 변환기들로 하여금 지금까지 연결을 설정하고 있던 하드웨어 장치들에 더 이상 입출력 명령이나 데이터를 전송하지 않도록 하여 연결을 해제하고 새로운 연결 설정 요구 프레임을 기다린다.
상기 연결 설정 및 해제 프로토콜은 입력 장치로부터 시작하도록 하였으나, 유사한 방식으로 호스트 컴퓨터로부터 시작하여 설정 밀 해제를 할 수 있다.
전술한 바와 같이 변환기는 하드웨어의 포트 명령을 LAN의 데이터 링크 프레임으로 변경하는 데 사용된다.
본 발명의 하드웨어 장치를 분리하여 LAN을 통해 호스트 컴퓨터에 연결하는 방법에 있어서 호스트 컴퓨터와 LAN 사이와 LAN과 하드웨어 장치 사이에 입출력 프로토콜 변환기를 두었는데, 본 발명의 변환기를 전술한 것과 같이 필요한 분리면에 삽입하여 사용하면 기존의 디바이스 컨트롤러 및 하드웨어 장치 자체를 전혀 변경하지 않고 그대로 사용할 수 있다.
그러나, 변환기의 기능은 입출력 프로토콜을 변환하는 것이므로 기존의 디바이스 컨트롤러와 본 발명의 변환기를 하나로 합하여 디바이스 컨트롤러와 LAN 사이에서 적절히 디바이스 컨트롤러 신호를 LAN의 데이터 프레임으로 직렬화 하여 전송하거나 데이터를 LAN 프레임의 형식으로 직렬화 되어 전송하는 별도의 장치로 만들 수 있다.
물론 도 6의 입출력 장치의 포트도 기존의 포트를 통한 신호 전달 방식 대신에 LAN으로 직접 포트 신호를 직렬로 송수신할 수 있도록 만들 수 있다.
또한, 본 발명의 하드웨어 장치를 분리하여 LAN을 통해 호스트 컴퓨터에 연결하는 방법에 있어서 호스트 컴퓨터와 LAN 사이와 LAN과 하드웨어 장치 사이에 입출력 프로토콜 변환기를 두어 구현하는 방법을 설명하였으나, 호스트 컴퓨터 쪽에는 별도의 상기 변환기들을 사용하지 않고 네트워크 인터페이스 카드와 디바이스 드라이버 소프트웨어를 사용하여 구현할 수도 있다. 물론 이와 같은 방법으로 구현하는 경우에도 하드웨어 장치 쪽에는 전술한 것과 같은 변환기들이 필요하다.
도 10(a)는 보통의 디바이스 드라이버 소프트웨어를 통하여 하드웨어 장치를 접근하는 것을 보여준다. 통상적으로 시스템 버스에 부착되어 있는 하드웨어에 접근하기 위해서는 도 10의 (a)에서 보여주는 것처럼 운영체제가 입출력장치 드라이버 소프트웨어(134)를 통하여 입출력 명령(132)을 하드웨어 장치에 전하고 하드웨어 장치로부터 역으로 응답 데이터를 받게 된다.
그러나, 본 발명의 경우에는 하드웨어 장치가 LAN을 통하여 연결되어 있으므로 운영체제(141)가 입출력 명령(142)을 통상적인 디바이스 드라이버에 전송하는 대신에 도 9(b)에 보인 것처럼 네트워크 인터페이스 카드(146)를 제어하는 네트워크 디바이스 드라이버(143)로 전송하고 네트워크 디바이스 드라이버 소프트웨어는 LAN을 통해 연결된 하드웨어 장치로 입출력 명령을 전송하여 LAN(147)에 연결된 입출력 하드웨어 장치(150)로 하여금 입출력 명령에 대한 응답 데이터를 LAN(147)을 통해 호스트 컴퓨터의 네트워크 인터페이스 카드(146)로 전송하도록 하여 호스트 컴퓨터의 네트워크 디바이스 드라이버(143)가 전송 받은 데이터를 운영체제 (141)에 전해 주어 LAN(146)으로 연결된 입출력하드웨어 장치(150)로부터 입출력을 할수 있다.
즉, 시스템 버스에 부착된 하드웨어에 접근하기 위하여 해당 디바이스 드라이버 소프트웨어를 통해 입출력 명령을 전하고 응답 데이터를 받는 통상적인 방식 대신에 본 발명에서와 같이 LAN(147)을 통해 연결된 입출력 하드웨어(150)에 접근하기 위해서 입출력 명령(142)을 네트워크 디바이스 드라이버 소프트웨어(144)를 통하여 통상적인 기존의 네트워크 인터페이스 카드(146)로 전송하고 네트워크 인터페이스(146)에 전송되어 온 입출력 하드웨어 장치(150)로부터의 응답 데이터를 운영 체제(141)에 적절히 전달할 수 있도록 네트워크 디바이스 드라이버 소프트웨어 143를 구현하여 호스트 컴퓨터 쪽에는 별도의 상기 변환기들을 사용하지 않고 통상적인 기존의 네트워크 인터페이스 카드와 디바이스 드라이버 소프트웨어를 사용하여 LAN(147)을 통해 연결된 하드웨어 장치(150)들과 입출력을 달성할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
본 발명은 입출력 장치 및 하드디스크는 LAN을 통하여 호스트 컴퓨터와 분리하였으므로, 입출력 장치를 사용하는 인간 사용자와 호스트 컴퓨터를 원격으로 분리함으로써 소음과 열 및 공간 문제를 해결할 수 있는 효과가 있다.
본 발명은 또한, 동적으로 입출력 장치를 포함한 하드웨어 장치를 임의의 호스트 컴퓨터와 연결할 수 있으므로 사용자는 원하는 규격과 성능의 호스트 컴퓨터를 필요에 따라 연결하여 사용할 수 있으며 동시에 한 대 이상의 호스트 컴퓨터와도 연결하여 사용할 수 있는 효과가 있다.
본 발명은 또한, 필요한 수만큼의 호스트 컴퓨터를 여러 사용자가 필요한 시간대에 돌아가며 사용할 수 있으므로 경제적으로 운용할 수 있으며 호스트 컴퓨터의 수리, 보수 및 업그레이드 시간에도 사용자는 방해받지 않고 다른 호스트 컴퓨터와 접속하여 사용할 수 있으므로 높은 생산성과 가용성을 제공하는 효과가 있다.
본 발명은 또한, 입출력 장치를 포함한 하드웨어 장치들이 호스트 컴퓨터 본체로부터 전원을 공급받지 않을 수 있으므로 전자기적 소음 문제를 해결하고 호스트 본체의 크기를 줄일 수 있는 효과가 있다.
본 발명은 또한, 사용자가 특정 호스트 컴퓨터를 고정적으로 사용할 필요가 없고 호스트 컴퓨터는 특정 하드디스크와 입출력 장치들을 고정적으로 연결하고 있을 필요가 없으므로 사용자가 네트워크 상의 장소를 이동하여 다른 입출력 장치들을 사용하여 자신의 하드디스크를 임의의 호스트 컴퓨터와 연결하여 사용할 수 있으므로 사용자의 이동성(mobility)과 장치의 이동성(portability)을 제공하는 효과가 있다.

Claims (12)

  1. 입출력 장치 및 하드디스크 드라이브의 주변장치를 LAN을 통하여 호스트 컴퓨터에 원격으로 연결하여 임의의 호스트 컴퓨터와 임의의 시간에 동적으로 연결하는 방법에 있어서,
    상기 호스트 컴퓨터측에서는, 내부 시스템 버스의 신호를 LAN의 데이터 링크 프레임 형식으로 변환하여 상기 LAN으로 전송하고, 역으로 상기 LAN의 데이터 링크 프레임을 상기 시스템 버스 신호로 변환하여 상기 시스템 버스에 전송하는 버스-LAN변환기를 호스트 컴퓨터의 상기 시스템 버스에 부착하여 상기 LAN에 연결하고,
    상기 주변장치측에서는, 상기 LAN의 데이터 링크 프레임을 디바이스 컨트롤러 신호로 변환하고, 역으로 상기 디바이스 컨트롤러의 신호를 상기 LAN의 데이터 링크 프레임으로 변환하는 LAN-컨트롤러 변환기를 상기 디바이스 컨트롤러에 부착하고 상기 LAN에 연결하여, 상기 주변장치를 상기 디바이스 컨트롤러의 하드웨어 포트에 부착하고,
    각각의 상기 변환기에 레지스터와 논리회로를 사용하여 LAN의 목적지 데이터 링크 주소를 지정하여, 연결설정 프로토콜을 이용하여 하드웨어의 변경없이 상기 LAN을 통하여 임의의 상기 호스트 컴퓨터와 상기 주변장치를 원격으로 동적으로 연결하며, 연결해제 프로토콜을 이용하여 연결을 해제하되,
    상기 연결설정 프로토콜은,
    상기 주변장치가 데이터 링크 프레임인 연결설정 요구 프레임을 방송 또는 멀티캐스팅으로 LAN에 연결된 다수의 호스트 컴퓨터들에게 보내는 단계와,
    상기 연결설정 요구 프레임을 받은 호스트 컴퓨터들은 적절한 호스트 컴퓨터를 선정하고, 선정된 호스트 컴퓨터는 연결 설정 요구 프레임에 포함된 주변장치들의 데이터 링크 주소를 자신의 해당 버스-LAN 변환기 또는 컨트롤러-LAN 변환기들(101, 102, 103)에 전하여 각 변환기들이 적절한 데이터 링크 주소를 목적지 주소로 만들어 입출력 명령과 데이터를 해당 주변장치에 전송할 수 있도록 한 후에 연결 설정에 대한 응답 프레임을 해당 주변 장치에 보내는 단계와,
    상기 응답 프레임을 받은 주변장치의 변환기들은 응답 프레임에 포함된 목적지 호스트 컴퓨터의 변환기 데이터 링크 주소들 중 해당 변환기의 데이터 링크 주소를 연결을 해제할 때까지 각자의 목적지 데이터 링크 주소로 만들어 필요한 입출력 데이터를 해당 호스트 컴퓨터로 전송하는 단계로 이루어지는 것을 특징으로 하는 네트워크를 이용한 하드웨어장치 원격 연결 방법.
  2. 입출력 장치 및 하드디스크 드라이브의 주변장치를 LAN을 통하여 호스트 컴퓨터에 원격으로 연결하여 임의의 호스트 컴퓨터와 임의의 시간에 동적으로 연결하는 방법에 있어서,
    상기 호스트 컴퓨터측에서는, 내부 시스템 버스에 부착된 디바이스 컨트롤러의 신호를 LAN의 데이터 링크 프레임 형식으로 변환하여 상기 LAN으로 전송하고, 역으로 상기 LAN의 데이터 링크 프레임을 상기 디바이스 컨트롤러 신호로 변환하여 상기 디바이스 컨트롤러에 전송하는 컨트롤러-LAN 변환기를 호스트 컴퓨터의 상기 디바이스 컨트롤러에 부착하여 상기 LAN에 연결하고,
    상기 주변장치측에서는, 상기 LAN의 데이터 링크 프레임을 하드웨어 포트 신호로 변환하여 하드웨어 포트로 전송하고 역으로 하드웨어 포트 신호를 상기 LAN의 데이터 링크 프레임으로 변환하여 상기 LAN으로 전송하는 LAN-하드웨어 포트 변환기를 상기 하드웨어 포트에 부착하여 상기 LAN에 연결하고,
    각각의 상기 변환기에 레지스터와 논리회로를 사용하여 LAN의 목적지 데이터 링크 주소를 지정하여, 연결설정 프로토콜을 이용하여 하드웨어의 변경없이 상기 LAN을 통하여 임의의 상기 호스트 컴퓨터와 상기 주변장치를 원격으로 동적으로 연결하며, 연결해제 프로토콜을 이용하여 연결을 해제하되,
    상기 연결설정 프로토콜은,
    상기 주변장치가 데이터 링크 프레임인 연결설정 요구 프레임을 방송 또는 멀티캐스팅으로 LAN에 연결된 다수의 호스트 컴퓨터들에게 보내는 단계와,
    상기 연결설정 요구 프레임을 받은 호스트 컴퓨터들은 적절한 호스트 컴퓨터를 선정하고, 선정된 호스트 컴퓨터는 연결 설정 요구 프레임에 포함된 주변장치들의 데이터 링크 주소를 자신의 해당 버스-LAN 변환기 또는 컨트롤러-LAN 변환기들(101, 102, 103)에 전하여 각 변환기들이 적절한 데이터 링크 주소를 목적지 주소로 만들어 입출력 명령과 데이터를 해당 주변장치에 전송할 수 있도록 한 후에 연결 설정에 대한 응답 프레임을 해당 주변 장치에 보내는 단계와,
    상기 응답 프레임을 받은 주변장치의 변환기들은 응답 프레임에 포함된 목적지 호스트 컴퓨터의 변환기 데이터 링크 주소들 중 해당 변환기의 데이터 링크 주소를 연결을 해제할 때까지 각자의 목적지 데이터 링크 주소로 만들어 필요한 입출력 데이터를 해당 호스트 컴퓨터로 전송하는 단계로 이루어지는 것을 특징으로 하는 네트워크를 이용한 하드웨어장치 원격 연결 방법.
  3. 입출력 장치 및 하드디스크 드라이브의 주변장치를 LAN을 통하여 호스트 컴퓨터에 원격으로 연결하여 임의의 호스트 컴퓨터와 임의의 시간에 동적으로 연결하는 방법에 있어서,
    상기 주변장치측에서는, 입출력을 위한 하드웨어 제어 명령을 담은 LAN의 데이터 링크 프레임을 하드웨어 포트 신호로 변환하여 하드웨어 포트로 전송하고, 역으로 하드웨어 포트 신호를 상기 LAN의 데이터 링크 프레임으로 변환하여 상기 LAN으로 전송하는 LAN-하드웨어 포트 변환기를 하드웨어 장치의 상기 하드웨어 포트에 부착하여 상기 LAN에 연결하고,
    상기 호스트 컴퓨터측에서는, 내부 시스템의 운영체제로 하여금 입출력 명령을 일반적인 네트워크 프로토콜 데이터 단위(Protocol Data Unit, PDU)로 전송하는 네트워크 인터페이스 카드를 구동하게 되는 네트워크 디바이스 드라이버 소프트웨어를 통하여 상기 LAN의 데이터 링크 프레임에 담아 상기 LAN을 통해 상기 LAN-하드웨어 포트 변환기로 전송하고 역으로 상기 LAN-하드웨어 포트 변환기로부터 데이터를 상기 네트워크 디바이스 드라이버 소프트웨어를 통해 수신하도록 하고,
    각각의 상기 변환기에 레지스터와 논리회로를 사용하여 LAN의 목적지 데이터 링크 주소를 지정하여, 연결설정 프로토콜을 이용하여 하드웨어의 변경없이 상기 LAN을 통하여 임의의 상기 호스트 컴퓨터와 상기 주변장치를 원격으로 동적으로 연결하며, 연결해제 프로토콜을 이용하여 연결을 해제하며,
    상기 연결설정 프로토콜은,
    상기 주변장치가 데이터 링크 프레임인 연결설정 요구 프레임을 방송 또는 멀티캐스팅으로 LAN에 연결된 다수의 호스트 컴퓨터들에게 보내는 단계와,
    상기 연결설정 요구 프레임을 받은 호스트 컴퓨터들은 적절한 호스트 컴퓨터를 선정하고, 선정된 호스트 컴퓨터는 연결 설정 요구 프레임에 포함된 주변장치들의 데이터 링크 주소를 자신의 해당 버스-LAN 변환기 또는 컨트롤러-LAN 변환기들(101, 102, 103)에 전하여 각 변환기들이 적절한 데이터 링크 주소를 목적지 주소로 만들어 입출력 명령과 데이터를 해당 주변장치에 전송할 수 있도록 한 후에 연결 설정에 대한 응답 프레임을 해당 주변 장치에 보내는 단계와,
    상기 응답 프레임을 받은 주변장치의 변환기들은 응답 프레임에 포함된 목적지 호스트 컴퓨터의 변환기 데이터 링크 주소들 중 해당 변환기의 데이터 링크 주소를 연결을 해제할 때까지 각자의 목적지 데이터 링크 주소로 만들어 필요한 입출력 데이터를 해당 호스트 컴퓨터로 전송하는 단계로 이루어지는 것을 특징으로 하는 네트워크를 이용한 하드웨어장치 원격 연결 방법.
  4. 제 1항에 있어서,
    상기 주변 장치는, 모니터, 키보드, 마우스, CD 드라이브, 플로피 디스켓 드라이브, 오디오 장치, 스캐너, 모뎀, 조이스틱 인 것을 특징으로 하는 네트워크를 이용한 하드웨어장치 원격 연결 방법.
  5. 제 2항에 있어서,
    상기 주변 장치는 모니터, 키보드, 마우스, CD 드라이브, 플로피 디스켓 드라이브, 오디오 장치, 스캐너, 모뎀, 조이스틱인 것을 특징으로 하는 네트워크를 이용한 하드웨어장치 원격 연결 방법.
  6. 제 3항에 있어서,
    상기 주변 장치는 모니터, 키보드, 마우스, CD 드라이브, 플로피 디스켓 드라이브, 오디오 장치, 스캐너, 모뎀, 조이스틱인 것을 특징으로 하는 네트워크를 이용한 하드웨어장치 원격 연결 방법.
  7. 제 1항, 제 2항 및 제 3항 중의 어느 한 항에 있어서,
    상기 디바이스 컨트롤러는 USB 허브인 것을 특징으로 하는 네트워크를 이용한 하드웨어장치 원격 연결 방법.
  8. 삭제
  9. 삭제
  10. 제 1항, 제 2항 및 제 3항 중의 어느 한 항에 있어서,
    상기 연결 해제 프로토콜은,
    현재 연결을 설정하고 있는 호스트 컴퓨터로 정해진 타입의 데이터 프레임인 연결 해제 프레임을 전송하고, 연결을 해제하려는 해당 주변장치들에도 해제 프레임을 보내어 더 이상 해당 호스트 컴퓨터의 변환기의 데이터 링크 주소를 목적지 데이터 링크로 사용하지 않도록 하여 연결을 해제하는 단계와,
    연결 해제 프레임을 받은 호스트 컴퓨터는 해당 변환기들로 하여금 지금까지 연결을 설정하고 있던 주변장치들에 더 이상 입출력 명령이나 데이터를 전송하지 않도록 하여 연결을 해제하고 새로운 연결 설정 요구 프레임을 기다리도록 하는 단계로 이루어지는 것을 특징으로 하는 네트워크를 이용한 하드웨어장치 원격 연결 방법.
  11. 삭제
  12. 삭제
KR10-2001-0040935A 2001-07-09 2001-07-09 네트워크를 이용한 하드웨어 장치의 원격 연결 방법 Expired - Fee Related KR100415067B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0040935A KR100415067B1 (ko) 2001-07-09 2001-07-09 네트워크를 이용한 하드웨어 장치의 원격 연결 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0040935A KR100415067B1 (ko) 2001-07-09 2001-07-09 네트워크를 이용한 하드웨어 장치의 원격 연결 방법

Publications (2)

Publication Number Publication Date
KR20030005580A KR20030005580A (ko) 2003-01-23
KR100415067B1 true KR100415067B1 (ko) 2004-01-13

Family

ID=27714056

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0040935A Expired - Fee Related KR100415067B1 (ko) 2001-07-09 2001-07-09 네트워크를 이용한 하드웨어 장치의 원격 연결 방법

Country Status (1)

Country Link
KR (1) KR100415067B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013157757A1 (ko) * 2012-04-18 2013-10-24 현대인프라코어 주식회사 저오류 초고속 시리얼 통신이 가능한 산업용 컨트롤러 장치 및 그 구동 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003210067A1 (en) * 2003-02-14 2004-09-06 Elgen Corporation Multi-user support system using one computer main frame

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950003879A (ko) * 1993-07-23 1995-02-17 쯔지 하루오 액정 표시장치 및 그의 제조방법
US5579486A (en) * 1993-01-14 1996-11-26 Apple Computer, Inc. Communication node with a first bus configuration for arbitration and a second bus configuration for data transfer
JPH1091586A (ja) * 1996-09-10 1998-04-10 Noriaki Kitagawa オフィスにおけるネットワークコンピュータ集中処理システム
JPH10207809A (ja) * 1997-01-22 1998-08-07 Hitachi Ltd キ−ボ−ド及びマウスの遠隔操作装置
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
KR200221081Y1 (ko) * 2000-11-18 2001-04-16 이금석 멀티 컴퓨터 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579486A (en) * 1993-01-14 1996-11-26 Apple Computer, Inc. Communication node with a first bus configuration for arbitration and a second bus configuration for data transfer
KR950003879A (ko) * 1993-07-23 1995-02-17 쯔지 하루오 액정 표시장치 및 그의 제조방법
JPH1091586A (ja) * 1996-09-10 1998-04-10 Noriaki Kitagawa オフィスにおけるネットワークコンピュータ集中処理システム
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
JPH10207809A (ja) * 1997-01-22 1998-08-07 Hitachi Ltd キ−ボ−ド及びマウスの遠隔操作装置
KR200221081Y1 (ko) * 2000-11-18 2001-04-16 이금석 멀티 컴퓨터 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013157757A1 (ko) * 2012-04-18 2013-10-24 현대인프라코어 주식회사 저오류 초고속 시리얼 통신이 가능한 산업용 컨트롤러 장치 및 그 구동 방법

Also Published As

Publication number Publication date
KR20030005580A (ko) 2003-01-23

Similar Documents

Publication Publication Date Title
US6549966B1 (en) Data routing device and system
US8700821B2 (en) Unified multi-transport medium connector architecture
US6732218B2 (en) Dual-role compatible USB hub device and method
US7162566B2 (en) USB-based host-to-host networking method
WO2011126190A1 (ko) 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크 프로토콜
US20070255883A1 (en) Method and apparatus for enhancing universal serial bus applications
CA2657827A1 (en) Method and apparatus for distributing usb hub functions across a network
US7783761B2 (en) Scheme for dynamically connecting I/O devices through network
CN116644010B (zh) 一种数据处理方法、装置、设备及介质
CN202535384U (zh) 基于PCIe总线的网络设备扩展连接和虚拟机互连优化系统
JP2004532457A (ja) 伝送リンク層コア速度を高くするためのネットワーク
JP5212543B2 (ja) 情報処理装置および情報処理装置の制御方法
EP1516261B1 (en) Bus system, station for use in a bus system, and bus interface
JP3989376B2 (ja) 通信システム
JP2003256351A (ja) Usbハブ
KR100415067B1 (ko) 네트워크를 이용한 하드웨어 장치의 원격 연결 방법
CN1828574A (zh) 使用串行连接总线的计算机系统及多cpu互连方法
JP2007087082A (ja) 情報処理装置およびオプションデバイス共有方法
CN1435029A (zh) 桥接口电路
JP5842491B2 (ja) 中継装置および通信システム
JP2001051939A (ja) 周辺機器及びusbハブとサーバ
CN1265300C (zh) 一种紧凑型外围部件互连总线系统中控制平面的实现方法
CN113709066B (zh) 一种PCIe通信装置及BMC
CN119396747B (zh) 一种usb共享装置及其通信透传方法
JP3917598B2 (ja) 複合チェーン形成用のキーボード/ビデオ/マウススイッチ及びその方法

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20010709

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20030328

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20030728

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20030328

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

J201 Request for trial against refusal decision
PJ0201 Trial against decision of rejection

Patent event date: 20030828

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20030728

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20031107

Appeal identifier: 2003101003341

Request date: 20030828

AMND Amendment
PB0901 Examination by re-examination before a trial

Comment text: Amendment to Specification, etc.

Patent event date: 20030926

Patent event code: PB09011R02I

Comment text: Request for Trial against Decision on Refusal

Patent event date: 20030828

Patent event code: PB09011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20030626

Patent event code: PB09011R02I

B701 Decision to grant
PB0701 Decision of registration after re-examination before a trial

Patent event date: 20031107

Comment text: Decision to Grant Registration

Patent event code: PB07012S01D

Patent event date: 20031006

Comment text: Transfer of Trial File for Re-examination before a Trial

Patent event code: PB07011S01I

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20031230

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20031231

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20061221

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20071226

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20081224

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20091231

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20101206

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20111111

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20121226

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20121226

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20140128

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20140128

Start annual number: 11

End annual number: 11

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20151109