KR20020072190A - 데이터 처리 시스템에서 직렬 포트를 가상화하기 위한방법 및 장치 - Google Patents
데이터 처리 시스템에서 직렬 포트를 가상화하기 위한방법 및 장치 Download PDFInfo
- Publication number
- KR20020072190A KR20020072190A KR1020020009710A KR20020009710A KR20020072190A KR 20020072190 A KR20020072190 A KR 20020072190A KR 1020020009710 A KR1020020009710 A KR 1020020009710A KR 20020009710 A KR20020009710 A KR 20020009710A KR 20020072190 A KR20020072190 A KR 20020072190A
- Authority
- KR
- South Korea
- Prior art keywords
- data stream
- port
- data
- transmitting
- processing system
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
데이터 처리 시스템에서 데이터 스트림의 방향을 변경시키기 위한 방법, 장치 및 컴퓨터로 구현된 명령어가 제공된다. 터미널로부터의 요청을 검출하는 것에 응답하여 하드웨어 스위치에 신호가 송신되어 상기 데이터 스트림의 방향을 제1 포트로부터 프로세서로 변경시킨다. 상기 데이터 스트림은 제2 포트를 통한 전송을 위해 패킷화된다. 패킷화된 데이터 스트림은 상기 프로세서에 의해 제2 포트를 통해 목적지로 보내진다.
Description
본 발명은 일반적으로는 향상된 데이터 처리 시스템에 대한 것이며, 보다 구체적으로는 데이터 스트림을 다루는 방법 및 장치에 관한 것이다. 더욱 구체적으로는, 본 발명은 직렬 포트를 가상화하기 위한 방법, 장치, 컴퓨터로 구현된 명령어를 제공한다.
데이터 처리 시스템(platform)에서 논리적 분할 옵션(LPAR)은 단일 운영체계(OS)의 여러 카피들 또는 다중 이종 운영체계가 하나의 데이터 처리 시스템 플랫폼에서 동시에 작동될 수 있도록 한다. 그 안에서 운영체계 이미지가 동작하게 되는 분할(partition)이 플랫폼의 리소스 중 중복되지 않는 서브세트에 할당된다. 이러한 플랫폼의 할당가능한 리소스는 인터럽트 처리 영역, 시스템 메모리 영역, I/O 어댑터 버스 슬롯을 가지는 하나 또는 그 이상의 구조적으로 독특한 프로세서를 포함한다. 상기 분할의 리소스는 OS 이미지에 대한 그 자신의 개방형 펌웨어 디바이스 트리(firmware device tree)로 표시된다.
이외 다른 분할의 구성은 통상 하드웨어 시스템 콘솔(HSC)과 같은 터미널을 통해 처리된다. 이러한 HSC는 통상 데이터 처리 시스템 내의 직렬 포트를 통해 데이터 처리 시스템에 연결된다. 시스템 관리, 시스템 디버깅 또는 시스템 리부팅에 관련된 다수의 소프트웨어 애플리케이션은 시스템의 제1 직렬 포트를 표준 입력/출력 디바이스로 사용하기 위해 하드코드화 된다. 이러한 직렬 포트는 통상 컴퓨터와 모뎀, 마우스 또는 직렬 포트와 같은 주변장치 사이의 직렬 전송을 위한 TIA/EIA 표준인 권고 표준(RS-232)을 따른다. RS-232 포트는 25핀의 DB25 또는 9핀의 DB9 커넥터를 사용한다.
결과로서, 데이터 처리 시스템에 연결하여 이러한 애플리케이션이나 프로그램으로부터 출력을 얻기 위해서 HSC는 전용 RS-232 케이블을 필요로 한다. 이러한 구조는 HSC가 데이터 처리 시스템으로부터 떨어질 수 있는 거리를 감소시킨다. 이와 같은 제한은 바람직하지 않다.
따라서, 전용 포트를 사용하여 애플리케이션과 프로그램으로부터 데이터를 수신하기 위한 향상된 방법, 장치, 컴퓨터로 구현된 명령어를 가지는 것이 유리할 것이다.
도 1은 본 발명이 구현될 수 있는 분산 데이터 처리 시스템을 나타낸 그림.
도 2는 본 발명에 따른 데이터 처리 시스템의 블록도.
도 3은 논리적 분할 서버(logically partitioned server)로서 구현될 수 있는 데이터 처리 시스템의 블록도.
도 4는 본 발명의 바람직한 구현에 따라 직렬 포트를 가상화하는 메커니즘을 나타내는 도면.
도 5는 본 발명의 바람직한 구현에 따라 포트를 가상화하는 데 사용되는 상태를 나타내는 도면.
본 발명의 새로운 특색이라고 생각되는 특징은 첨부된 청구항에서 다루고 있다. 그러나, 바람직한 사용모드 뿐만 아니라 발명 그 자체, 나아가 발명의 목적 및 장점은 수반되는 도면들과 함께 읽으면서 구현예에 대한 다음의 상세한 기술을 참조함으로써 가장 잘 이해될 수 있을 것이다.
본 발명은 데이터 처리 시스템 내의 데이터 스트림의 방향을 변경시키기 위한 방법, 장치, 컴퓨터로 구현된 명령어를 제공한다. 터미널로부터의 요청을 검출하는 것에 응답하여, 데이터 스트림의 방향을 제1 포트로부터 프로세서로 변경시키기 위해 하드웨어 스위치로 신호가 보내진다. 데이터 스트림은 제2 포트를 통한 전송을 위해 패킷화된다. 패킷화된 데이터 스트림은 프로세서에 의해 제2 포트를 통하여 목적지로 보내진다.
이제 도면, 특히 도 1을 참조해 보면, 본 발명이 구현될 수 있는 분산 데이터 처리 시스템을 나타낸 그림이 묘사된다.
분산 데이터 처리 시스템(100)은 본 발명이 구현될 수 있는 컴퓨터의 네트워크이다. 분산 데이터 처리 시스템(100)은 분산 데이터 처리 시스템 내에 연결된 다양한 디바이스와 컴퓨터 사이에 통신 링크를 제공하기 위해 사용되는 매체인 네트워크(102)를 포함한다. 네트워크(102)는 와이어나 광케이블과 같은 영구 연결 또는 전화 연결을 통해 이루어지는 일시 연결을 포함할 수 있다.
상기 묘사된 예에서 서버(104)는 하드웨어 시스템 콘솔(HSC; 150)에 연결된다. 서버(104)는 또한 저장 유닛(106)과 함께 네트워크(102)에도 연결된다. 게다가 클라이언트(108, 110, 112)도 또한 네트워크(102)에 연결된다. 이러한 클라이언트(108, 110, 112)는 예컨대 퍼스널 컴퓨터 또는 네트워크 컴퓨터일 수 있다. 이러한 애플리케이션을 위해, 네트워크 컴퓨터는 네트워크에 연결되어 네트워크에 연결된 다른 컴퓨터로부터 프로그램이나 다른 애플리케이션을 수신하는 어떠한 컴퓨터라도 상관없다. 상기 묘사된 예에서, 서버(104)는 논리적으로 분할된 플랫폼이고 부팅 파일, 운영체계 이미지, 애플리케이션과 같은 데이터를 클라이언트(108-112)에 제공한다. 하드웨어 시스템 콘솔(HSC; 150)은 랩탑 컴퓨터라도 좋고, 운영자로부터 수신된 입력 정보를 서버(104)에 송신하기 위해서 뿐만 아니라, 서버(104)에서 돌아가는 각 운영체계 이미지로부터 운영자에게 메시지를 표시하기 위해 사용된다. 본 실시예에서 HSC(150)는 직렬 포트에 의해 서버(104)에 연결된다.
클라이언트(108, 110, 112)는 서버(104)에 대한 클라이언트이다. 클라이언트(108)와 같은 이러한 클라이언트 중 하나는 HSC(150)에 추가된 HSC로서 구현될 수 있다. 일반적으로 HSC에 의해 접속될 수 있는 애플리케이션을 위한 디폴트 포트일지도 모르는 직렬 포트를 가상화하는 본 발명의 메커니즘이 이러한 구현에 도움이 될 수 있다. 본 발명의 메커니즘은 네트워크(102)를 통해 클라이언트(108)에포맷전송하기 위하여 스위치를 활성화해서 데이터 흐름의 방향을 직렬 포트로부터 변경시키는 것이다. 본 실시예에서 데이터 스트림은 패킷화되어 클라이언트(108)에 전송되는 패킷의 세트를 형성한다.
분산 데이터 처리 시스템(100)은 추가적으로 서버, 클라이언트 및 알려지지 않은 다른 디바이스를 포함할 수 있다. 분산 데이터 처리 시스템(100)은 또한 프린트(114, 116, 118)를 포함한다. 클라이언트(110)와 같은 클라이언트는 직접 프린터(114)에 인쇄할 수 있다. 클라이언트(108) 및 클라이언트(112)와 같은 클라이언트는 직접 부착된 프린터를 갖지는 않는다. 이러한 클라이언트는 서버(104)에 부착된 프린터(116) 또는 문서를 인쇄하는 데에 컴퓨터와의 연결을 요구하지 않는 네트워크 프린터인 프린터(118)에 인쇄할 수 있다.
상기 묘사된 예에서, 분산 데이터 처리 시스템(100)은 서로 통신하기 위해 TCP/IP 프로토콜을 사용하는 네트워크와 게이트웨이의 세계적인 집합을 나타내는 네트워크(102)를 가지는 인터넷이다. 인터넷의 중심에는 주요 노드 즉, 수천의 상업, 정부, 교육으로 구성되는 호스트 컴퓨터와 데이터나 메시지를 라우팅하는 다른 컴퓨터 시스템 사이의 고속 데이터 통신라인인 백본이 있다. 물론, 분산 데이터 처리 시스템(100)은 예를 들어, 인트라넷 또는 근거리 통신망(LAN)과 같은 다수의 다른 타입의 네트워크로서 구현될 수도 있다.
도 1은 하나의 예일 뿐, 본 발명의 프로세스에 대한 구조적인 제한으로서 의도된 것은 아니다.
이제 도 2를 참조해 보면, 본 발명에 따른 데이터 처리 시스템의 블록도가보여지고 있다. 데이터 처리 시스템(200)은 클라이언트나 도 1에 묘사된 하드웨어 시스템 콘솔(150)과 같은 하드웨어 시스템 콘솔에 대한 하나의 예이다.
데이터 처리 시스템(200)은 PCI(peripheral component interconnect) 로컬 버스 구조를 사용한다. 비록 묘사된 예에서는 PCI 버스를 사용하지만, 마이크로 채널(Micro Channel) 및 ISA와 같은 다른 버스 구조도 사용될 수 있다. 프로세서(202)와 메인메모리(204)는 PCI 브리지(208)를 통해 PCI 로컬 버스(206)에 연결된다. PCI 브리지(208)는 프로세서(202)를 위한 통합 메모리 컨트롤러 및 캐시 메모리를 포함할 수도 있다. 직접적인 소자 상호접속을 통하거나 애드인 보드를 통해 PCI 로컬 버스(206)에 대한 추가적인 연결도 가능하다. 상기 묘사된 예에서, LAN 어댑터(210), SCSI 호스트 버스 어댑터(212) 및 확장 버스 인터페이스(214)는 직접적인 소자 상호접속에 의해 PCI 로컬 버스(206)에 연결된다. 반면에, 오디오 어댑터(216), 그래픽 어댑터(218) 및 오디오/비디오(A/V) 어댑터(219)는 확장 슬롯에 삽입된 애드인 보드에 의해 PCI 로컬 버스(206)에 연결된다. 확장 버스 인터페이스(214)는 키보드 및 마우스 어댑터(220), 모뎀(222) 및 추가 메모리(224)를 위한 연결을 제공한다. 상기 묘사된 예에서, SCSI 호스트 버스 어댑터(212)는 하드디스크 드라이브(226), 테이프 드라이브(228), CD-ROM 드라이브(230) 및 디지털 비디오 디스크 읽기 전용 메모리(DVD-ROM) 드라이브를 위한 연결을 제공한다. 전형적인 PCI 로컬 버스 실시예는 세 개 또는 네 개의 PCI 확장 슬롯 또는 애드인 커넥터를 지원할 것이다.
운영체계(OS)는 프로세서(202)에서 돌아가며, 도 2의 데이터 처리시스템(200) 내에서 다양한 소자에 대한 제어를 조정하고 제공하기 위해 사용된다. 운영체계는 주식회사 IBM(International Business Machines)으로부터 구할 수 있는 OS/2와 같은 상업적으로 사용가능한 운영체계일 수 있다. OS/2는 주식회사 IBM의 상표이다. Java와 같은 객체지향 프로그래밍 시스템은 데이터 처리 시스템(200)에서 실행하는 Java 프로그램 또는 애플리케이션으로부터 운영체계에 호출을 제공하면서 운영체계와 연결되어 돌아갈 수 있다. 운영체계, 객체지향 운영체계 및 애플리케이션 또는 프로그램에 대한 명령어는 하드디스크 드라이브(226)와 같은 저장 디바이스에 위치하며, 프로세서(202)에 의한 수행을 위해 메인메모리(204)로 로드될 수 있다.
이 분야의 통상적인 기술을 가진 자라면 도 2의 하드웨어가 실시예에 따라 변할 수 있다는 것을 이해할 것이다. 예를 들어, 광디스크 드라이브나 그 동류와 같은 다른 주변장치가 도 2에 묘사된 하드웨어에 부가되거나 혹은 그 대신에 사용될 수 있다. 상기 묘사된 예가 본 발명에 대한 구조적인 제한을 의미하려는 것은 아니다. 예를 들어, 본 발명의 프로세서는 멀티프로세서 데이터 처리 시스템에 적용될 수 있다.
이제 도 3을 참조해 보면, 도 1의 서버(104)와 같은 논리적으로 분할된 서버로서 구현될 수 있는 데이터 처리 시스템의 블록도가 본 발명에 따라 묘사되고 있다. 데이터 처리 시스템(300)은 시스템 버스(306)에 연결된 다수의 프로세서(301, 302, 303, 304)를 포함하는 대칭형 멀티프로세서(SMP) 시스템이어도 좋다. 예를 들어, 데이터 처리 시스템(300)은 뉴욕주 Armonk시에 위치한 주식회사 IBM의 제품인 IBM RS/6000이어도 좋다. 이와 달리, 단일 처리 시스템을 사용해도 좋다. 다수의 로컬 메모리(360-363)에 대한 인터페이스를 제공하는 메모리 컨트롤러/캐시(308)도 시스템 버스(306)에 연결된다. I/O 버스 브리지(310)는 시스템 버스(306)에 연결되며, I/O 버스(312)에 대한 인터페이스를 제공한다. 메모리 컨트롤러/캐시(308) 및 I/O 버스 브리지(310)는 묘사된 바와 같이 통합되어도 좋다.
데이터 처리 시스템(300)은 논리적으로 분할된 데이터 처리 시스템이다. 따라서, 데이터 처리 시스템(300)은 동시에 동작하는 다수의 이종 운영체계(또는 단일 운영체계에 대한 다수의 인스턴스)를 가져도 좋다. 이러한 다수의 운영체계 각각은 그 내부에서 동작하는 소프트웨어 프로그램을 몇 개라도 가져도 좋다. 데이터 처리 시스템(300)은 논리적으로 분할되어 있으므로, 서로 다른 I/O 어댑터(320-321, 328-329, 336-337, 346-347)를 서로 다른 논리적 분할에 할당해도 좋다.
I/O 버스(312)에 연결된 PCI 호스트 브리지(314)는 PCI 로컬 버스(315)에 대한 인터페이스를 제공한다. 다수의 터미널 브리지(316-317)를 PCI 버스(315)에 연결해도 좋다. 전형적인 PCI 버스 실시예는 확장 슬롯이나 애드인 커넥터를 제공하기 위해 4개의 터미널 브리지를 지원할 것이다. 터미널 브리지(316-317) 각각은 PCI 버스(318-319)를 통한 PCI I/O 어댑터(320-321)에 연결된다. 각 I/O 어댑터(320-321)는 데이터 처리 시스템(300)과 예를 들어, 서버(300)에 대한 클라이언트인 다른 네트워크 컴퓨터와 같은 입력/출력 디바이스 사이에 인터페이스를 제공한다. 단지 하나의 I/O 어댑터(320-321)만이 각 터미널 브리지(316-317)에 연결되어도 좋다.
추가적인 PCI 호스트 브리지(322, 330, 340)는 추가적인 PCI 버스(323, 331, 341)를 위한 인터페이스를 제공한다. 추가적인 PCI 버스(323, 331, 341) 각각은 다수의 터미널 브리지(324-325, 332-333, 342-343)에 연결되며, 이들 터미널 브리지 각각은 PCI 버스(326-327, 334-335, 344-345)에 의해 PCI I/O 어댑터(328-329, 336-337, 346-347)에 연결된다. 그러므로, 예컨대 모뎀 또는 네트워크 어댑터와 같은 추가적인 I/O 디바이스는 각 PCI I/O 어댑터(328-329, 336-337, 346-347)를 통해 지원될 수 있다. 이러한 방식으로 서버(300)는 다수의 네트워크 컴퓨터에 대한 연결을 가능하게 한다. 메모리 맵핑된 그래픽 어댑터(memory mapped graphic adapter)(348) 및 하드디스크(350)도 묘사된 바와 같이 직접 또는 간접적으로 I/O 버스(312)에 연결될 수 있다.
논리적 분할의 처리는 하드웨어 시스템 콘솔(HSC)과 같은 터미널을 통해 실현될 수 있다. 본 실시예에서 이러한 액세스는 서비스 프로세서(366), 비휘발성 랜덤 액세스 메모리(NVRAM)(368) 및 입력/출력(I/O) 어댑터(370)를 통해 제공된다. HSC는 I/O 어댑터(370)를 통해 서비스 프로세서(366)에 연결된다. 본 실시예에서 I/O 어댑터(370)는 예컨대 직렬 포트 또는 이더넷 어댑터라도 좋다.
본 발명의 메커니즘은 데이터 스트림의 방향을 직렬 포트로부터 이더넷 어댑터와 같은 다른 포트로 변경시키는 것을 가능하게 한다. 본 실시예에서 서비스 프로세서(366)는 하드웨어 스위치를 디폴트 또는 직렬 포트와 같은 표준 I/O 디바이스로 제어하여 데이터 스트림의 방향을 다른 포트로 변경시킨다.
이 분야의 통상의 기술을 가진 자라면 도 3에서 묘사된 하드웨어가 달라져도 좋음을 이해할 것이다. 예컨대, 광디스크 드라이브 및 그 동류와 같은 다른 주변 장치도 또한 묘사된 하드웨어에 더하거나 대신해서 사용되어도 좋다. 상기 묘사된 예는 본 발명에 대한 구조적인 제한을 의미하는 것이 결코 아니다.
본 발명은 데이터 스트림의 방향을 디폴트 포트로부터 원하는 포트로 변경시키기 위한 향상된 방법, 장치 및 컴퓨터로 구현된 명령어를 제공한다. 다음으로 도 4로 넘어가면, 직렬 포트를 가상화하는 메커니즘을 예시적으로 나타내는 도면이 본 발명의 바람직한 구현예에 따라 묘사되고 있다. 예컨대, 데이터 처리 시스템(400)에서 하드웨어 스위치(402)는 다기능 I/O 칩(404)과 디폴트 포트인 직렬 포트(406) 사이에 위치하게 된다. 다수의 프로그램이나 애플리케이션에 대해, 데이터는 단지 RS-232 통신 프로토콜을 사용하여 직렬 포트(406)를 통해 로컬 터미널(408)로 보내질 수 있을 뿐이다.
본 발명의 메커니즘은 디폴트 포트로 하여금 가상화되게 하여, 데이터가 포트(410)와 같은 원하는 포트를 통해 보내질 수 있도록 한다. 회선(412)을 통해 신호가 하드웨어 스위치(402)로 보내져 출력으로 의도되는 데이터 스트림의 방향을 직렬 포트(406)를 통해 서비스/지원 프로세서(414)로 변경시킬 수 있다. 서비스/지원 프로세서(414)는 이어서 상기 데이터 스트림을 받아서 상기 데이터 스트림으로부터 한 세트의 패킷을 생성시켜 패킷화된 데이터 스트림을 형성시킨다. 본 실시예에서, 상기 패킷의 세트는 TCP/IP(Transmission Control Protocol/Internet Protocol) 네트워크를 통하여 데이터를 보내기 위해 사용되는 표준에 따른다.TCP/IP는 인터넷에서 사용되는 통신 프로토콜이며, 통신을 위한 세계적인 표준이 되었다. TCP는 전송되는 전체 바이트의 양이 반대쪽 단에서 정확하게 수신되는 것을 보증하는 전송 함수를 제공한다. TCP/IP 중에서 IP 부분은 라우팅 능력을 제공한다. 라우팅 가능한 프로토콜에서, 모든 메시지는 수신국의 주소뿐만 아니라 수신 네트워크의 주소도 포함하고 있다. 이러한 주소는 TCP/IP 메시지가 조직내의 다수의 네트워크나 세계에 있는 다수의 네트워크로 보내지는 것을 가능하게 한다.
이러한 패킷화된 데이터 스트림은 이어서 LAN이나 직렬 회선 IP(SLIP)에 의한 이더넷 포트인 포트(410)를 통해 원격 터미널(416)로 보내져도 좋다. SLIP는 TCP/IP 네트워크에 다이얼 업 접속을 하기 위한 데이터 링크 프로토콜이다.
패킷화된 데이터 스트림이 리모트 터미널(416)에 의해 수신될 때, 데이터는 언패킷화되어 디스플레이된다. 나아가 패킷화된 데이터 스트림은 서비스/지원 프로세서(414)에 의해 원격 터미널(416)로부터 포트(410)를 통해 수신되어도 좋다. 이러한 데이터 스트림은 언패킷화되어 프로그램 또는 애플리케이션으로 하드웨어 스위치(402)를 통해 되돌려 보내진다. 본 실시예에서, 데이터를 언패킷화하는 것에는 데이터를 패킷으로부터 제거하고 데이터를 애플리케이션이나 프로그램과 같은 목적지로의 전송을 위한 적당한 포맷으로 바꾸는 것이 포함된다.
이제 도 5로 넘어가면, 포트를 가상화하는 데 사용되는 상태를 예시적으로 나타내는 도면이 본 발명의 바람직한 실시예에 따라 묘사되고 있다. 상태 머신(500)은 직렬 포트와 같은 포트를 가상화하는데 사용되는 메커니즘이나 프로그램을 위한 다양한 상태를 예시적으로 나타내고 있다. 상기 묘사된 예에서, 이러한상태는 도 3의 서비스 프로세서(366)나 도 4의 서비스/지원 프로세서(414)와 같은 프로세서에 의해 실행되는 컴퓨터 명령어로서 구현되어도 좋다.
상태 머신(500)은 상태 S0에서 HSC로부터의 허가 요청(ENABLE REQUEST)을 기다리는 것에 의해 시작된다. 허가 요청이 수신되면 상태 머신(500)은 상태 S0으로부터 상태 S1로 천이되며, 스위치 위치를 변경해 데이터를 프로세서로 향하게 한다. 신호를 스위치로 전송함으로써 스위치를 움직일 수 있다. 그 후에, 상태 머신(500)은 상태 S3으로 천이되어 이벤트를 기다리게 된다. RS-232 인터페이스로부터 직렬 포트를 향하는 데이터가 도착되면, 상태 머신(500)은 상태 S3으로부터 상태 S4로 천이되며, 수신 버퍼가 비어있다면 버퍼 타이머를 시동시킨다. 또한, 상태 S4에서 데이터는 수신 버퍼에 채워진다. 그 후, 상태 머신(500)은 상태 S3으로 다시 천이된다. 상태 S3에서 버퍼 타이머의 작동이 끝나면 상태 머신(500)은 상태 S5로 천이되며, 수신 버퍼로부터 데이터를 제거하고, 데이터를 패킷에 채우며 패킷을 HSC로 전송한다. 나중에 상태 머신(500)은 상태 S3으로 다시 천이된다.
상태 S3에서 데이터가 HSC로부터 수신되면, 상태 머신(500)은 상태 S6으로 천이된다. 데이터는 패킷화된 포맷 내에 있다. 상태 S6에서 데이터는 언패킷화된 후 RS-232 인터페이스를 통해 전송된다. 상태 머신(500)은 이어서 상태 S3으로 되돌아간다. 상태 S3 내에서 HSC로부터 불허 요청(DISABLE REQUEST)이 수신되면 상태 머신(500)은 상태 S7로 천이되고, 스위치는 이어서 데이터가 본 예에서 직렬 포트인 외부 커넥터로 향하게 움직여진다. 이 순간에 데이터는 이어서 직렬 포트를 통하도록 지시된다. 그 후 상태 머신(500)은 상태 S0으로 돌아가 HSC로부터의 허가 요청을 기다리게 된다.
이러한 방식으로, 본 발명의 메커니즘은 직렬 포트와 같은 포트를 가상화하기 위한 방법, 장치 및 컴퓨터로 구현된 명령어를 제공한다. 데이터를 디폴트 포트로 향하게 하는 애플리케이션은 데이터가 다른 포트를 통해 전송되는 것을 가능하게 하는 수정을 필요로 하지 않는다. 상기 묘사된 예에서, 직렬 포트는 가상화되어 상기 직렬 포트를 향하도록 의도된 데이터가 이더넷과 같은 다른 포트로 보내지도록 하는 방향변경이 가능하다. 또한, I/O 칩에 대해서는 어떠한 변화도 필요로 하지 않는다. 본 실시예에서 스위치는 I/O 칩과 물리적 포트 자체 사이에 위치한다.
본 발명이 완전하게 동작하는 데이터 처리 시스템의 상황 내에서 설명되는 동안, 이 분야에서 통상의 지식을 가진 자라면 본 발명의 프로세스가 컴퓨터가 읽을 수 있는 명령어에 대한 매체의 형태 및 다양한 형태로 배포될 수 있다는 것과 본 발명이 배포를 수행하기 위해 실질적으로 사용되는 신호 운반 매체의 특정한 타입에 관계없이 동등하게 적용된다는 것을 이해할 것이라는 점에 주목하는 것은 중요하다. 컴퓨터가 읽을 수 있는 매체의 예에는 플로피디스크, 하드디스크 드라이브, 램, CD 롬, DVD 롬과 같은 기록가능한 타입의 매체 및 예를 들어 무선주파수 및 광파 전송과 같은 전송형태를 사용하는 디지털 및 아날로그 통신 링크, 유선 또는 무선 통신 링크와 같은 전송 타입의 매체가 포함된다. 컴퓨터가 읽을 수 있는 매체는 특정한 데이터 처리 시스템에서 실질적인 사용을 위해 디코딩되는 코드화된 포맷 형태를 취해도 좋다.
본 발명의 기재는 예시나 설명의 목적으로 제공되었으며, 따라서 전 범위를 망라할 의도도, 본 발명을 개시된 형태로 제한하려는 의도도 아니다. 이 분야의 통상적인 기술을 가진 자라면 누구에게나 다수의 수정 및 변형은 당연한 사항일 것이다. 상기 구현예는 본 발명의 원칙 및 실제적인 응용을 최대한 잘 설명하고, 이 분야의 통상의 기술을 가진 다른 자가 본 발명을 잘 이해해 의도하는 특정한 사용목적에 적합하게 다양하게 수정된 형태의 다양한 구현이 가능하도록 하기 위해 선택되고 설명되었다.
본 발명의 메커니즘은 직렬 포트와 같은 포트를 가상화하기 위한 방법, 장치 및 컴퓨터로 구현된 명령어를 제공하며, 전용 포트를 이용해 애플리케이션과 프로그램으로부터 데이터를 수신하기 위한 향상된 방법, 장치 및 컴퓨터로 구현된 명령어를 제공한다.
본 발명의 메커니즘은 데이터 스트림의 방향을 직렬 포트로부터 이더넷 어댑터와 같은 다른 포트로 변경시키는 것을 가능하게 하며, 디폴트 포트로 하여금 가상화되게 하여, 데이터가 포트와 같은 원하는 포트를 통해 보내질 수 있도록 한다.
Claims (21)
- 데이터 처리 시스템에서 데이터 스트림의 방향을 변경시키기 위한 방법에 있어서,터미널로부터의 요청을 검출하는 것에 응답하여 하드웨어 스위치에 신호를 보내 데이터 스트림의 방향을 제1 포트를 통해 보내지는 것으로부터 프로세서쪽으로 변경시키는 단계;제2 포트를 통한 전송을 위해 상기 데이터 스트림을 패킷화해서 패킷화된 데이터 스트림을 형성하는 단계; 및상기 패킷화된 데이터 스트림을 상기 제2 포트를 통해 목적지로 송신하는 단계를 포함하는 데이터 스트림의 방향을 변경시키기 위한 방법.
- 제1항에 있어서,상기 제1포트가 RS-232 표준 포트인 데이터 스트림의 방향을 변경시키기 위한 방법.
- 제1항에 있어서,상기 데이터 스트림이 RS-232 표준 데이터 스트림인 데이터 스트림의 방향을 변경시키기 위한 방법.
- 제1항에 있어서,상기 패킷이 TCP/IP 프로토콜을 사용한 전송을 위해 형성되는 데이터 스트림의 방향을 변경시키기 위한 방법.
- 제1항에 있어서,상기 제2 포트가 근거리 통신망(LAN)에 대한 연결을 제공하는 데이터 스트림의 방향을 변경시키기 위한 방법.
- 제1항에 있어서,상기 데이터 스트림은 발신 데이터 스트림이고,패킷화된 착신 데이터 스트림을 수신하는 단계;착신 데이터 스트림을 언패킷화하여 언패킷화된 착신 데이터 스트림을 형성하는 단계; 및상기 언패킷화된 착신 데이터 스트림을 제1 포트와 연계된 입력/출력 유닛으로 송신하는 단계를 더 포함하는 데이터 스트림의 방향을 변경시키기 위한 방법.
- 데이터 처리 시스템에서 정상적으로 디폴트 포트로 보내지는 데이터 스트림의 방향을 변경시키기 위한 방법에 있어서,상기 데이터 스트림을 원하는 포트를 사용하여 데이터 처리 시스템과 통신하는 터미널로 송신하라는 요청을 수신하는 단계;하드웨어 스위치로 신호를 송신하여 상기 데이터 스트림의 방향을 서비스 프로세서로 변경시키는 단계;상기 데이터 스트림을 패킷화하여 데이터 패킷 세트를 형성하는 단계; 및상기 데이터 패킷 세트를 원하는 포트를 사용하여 상기 터미널로 송신하는 단계를 포함하는 데이터 스트림의 방향을 변경시키기 위한 방법.
- 제7항에 있어서,상기 데이터 패킷 세트가 제1 데이터 패킷 세트이고,상기 터미널로부터 제2 데이터 패킷 세트를 수신하는 단계;상기 제2 데이터 패킷 세트를 언패킷화하여 언패킷화된 데이터 스트림을 형성하는 단계; 및상기 언패킷화된 데이터 스트림을 상기 하드웨어 스위치로 송신하는 단계를 더 포함하는 데이터 스트림의 방향을 변경시키기 위한 방법.
- 제7항에 있어서,상기 원하는 포트가 근거리 통신망에 대한 연결을 제공하는 데이터 스트림의 방향을 변경시키기 위한 방법.
- 제7항에 있어서,상기 터미널이 하드웨어 시스템 콘솔(HSC)인 데이터 스트림의 방향을 변경시키기 위한 방법.
- 데이터 처리 시스템에 있어서,버스 시스템;상기 버스 시스템에 연결된 제1 통신 유닛,상기 버스 시스템에 연결된 제2 통신 유닛,제1 통신 유닛과 연결을 가지며, 데이터 스트림의 방향을 신호에 응답하여 상기 제1 통신 유닛의 출력 대신에 대체 목적지로 변경시키는 스위치,상기 버스 시스템에 연결되며, 명령어 세트를 포함하는 메모리; 및상기 버스 시스템에 연결된 처리 유닛을 포함하되, 상기 처리 유닛은 상기 명령어 세트를 실행시켜서, 터미널로부터의 요청을 검출하는 것에 응답하여 스위치에 신호를 보내 데이터 스트림의 방향을 상기 제1 통신 유닛의 출력으로부터 상기 프로세서로 변경시키고; 상기 데이터 스트림을 패킷화하여 패킷화된 데이터 스트림을 형성하며, 상기 패킷화된 데이터 스트림을 제2 통신 유닛을 통해 목적지로 보내는 데이터 처리 시스템.
- 제11항에 있어서,상기 버스 시스템은 단일 버스인 데이터 처리 시스템.
- 제11항에 있어서,상기 버스 시스템은 1차 버스와 2차 버스를 포함하는 데이터 처리 시스템.
- 제11항에 있어서,상기 처리 유닛은 다수의 프로세서를 포함하는 데이터 처리 시스템.
- 제11항에 있어서,상기 제2 통신 유닛은 모뎀과 이더넷 어댑터 중 하나인 데이터 처리 시스템.
- 제11항에 있어서,상기 제1 통신 유닛은 RS-232 포트인 데이터 처리 시스템.
- 데이터 스트림의 방향을 변경시키기 위한 데이터 처리 시스템에 있어서,터미널로부터의 요청을 검출하는 것에 응답하여 하드웨어 스위치에 신호를 보내 데이터 스트림의 방향을 제1 포트를 통해 보내지는 것으로부터 프로세서쪽으로 변경시키는 제1 송신 수단;제2 포트를 통한 전송을 위해 상기 데이터 스트림을 패킷화해서 패킷화된 데이터 스트림을 형성하기 위한 패킷화 수단; 및상기 패킷화된 데이터 스트림을 상기 제2 포트를 통해 목적지로 송신하기 위한 제2 송신 수단을 포함하는 데이터 처리 시스템.
- 제17항에 있어서,상기 데이터 스트림이 발신 데이터 스트림이고,패킷화된 착신 데이터 스트림을 수신하기 위한 수신 수단;착신 데이터 스트림을 언패킷화하여 언패킷화된 착신 데이터 스트림을 형성하기 위한 언패킷화 수단; 및상기 언패킷화된 착신 데이터 스트림을 상기 제1 포트와 연계된 입력/출력 유닛으로 송신하기 위한 제3 송신 수단을 더 포함하는 데이터 처리 시스템.
- 정상적으로 디폴트 포트로 보내지는 데이터 스트림의 방향을 변경시키기 위한 데이터 처리 시스템에 있어서,상기 데이터 스트림을 원하는 포트를 사용하여 데이터 처리 시스템과 통신하는 터미널로 송신하라는 요청을 수신하기 위한 수신 수단;하드웨어 스위치에 신호를 송신하여 상기 데이터 스트림의 방향을 서비스 프로세서쪽으로 변경시키기 위한 제1 송신 수단;상기 데이터 스트림을 패킷화하여 데이터 패킷 세트를 형성하기 위한 패킷화 수단; 및상기 데이터 패킷 세트를 원하는 포트를 사용하여 상기 터미널로 송신하기 위한 제2 송신 수단을 포함하는 데이터 처리 시스템.
- 제19항에 있어서,상기 데이터 패킷 세트가 제1 데이터 패킷 세트이고, 상기 수신 수단이 제1 수신 수단이며,상기 터미널로부터 제2 데이터 패킷 세트를 수신하기 위한 제2 수신 수단;상기 제2 데이터 패킷 세트를 언패킷화하여 언패킷화된 데이터 스트림을 형성하기 위한 언패킷화 수단; 및상기 언패킷화된 데이터 스트림을 상기 하드웨어 스위치쪽으로 송신하기 위한 제3 송신 수단을 더 포함하는 데이터 처리 시스템.
- 제1항 내지 제10항의 데이터 스트림 방향 변경 방법의 각 단계를 구현하는 명령어들을 포함하는 컴퓨터 프로그램 제품이 저장되어 있는 컴퓨터 판독 가능한 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/801,607 | 2001-03-08 | ||
US09/801,607 US20020129099A1 (en) | 2001-03-08 | 2001-03-08 | Method and apparatus for virtualizing a serial port in a data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020072190A true KR20020072190A (ko) | 2002-09-14 |
KR100464196B1 KR100464196B1 (ko) | 2005-01-03 |
Family
ID=25181577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0009710A KR100464196B1 (ko) | 2001-03-08 | 2002-02-23 | 데이터 처리 시스템에서 직렬 포트를 가상화하기 위한방법 및 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20020129099A1 (ko) |
JP (1) | JP3790710B2 (ko) |
KR (1) | KR100464196B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7225247B2 (en) * | 2002-10-17 | 2007-05-29 | Intel Corporation | Serial port redirection using a management controller |
US8352728B2 (en) * | 2006-08-21 | 2013-01-08 | Citrix Systems, Inc. | Systems and methods for bulk encryption and decryption of transmitted data |
JP6638236B2 (ja) * | 2015-07-29 | 2020-01-29 | 東京電力ホールディングス株式会社 | 監視制御システム及び監視制御方法 |
CN111638944B (zh) * | 2020-06-01 | 2023-04-18 | 浙江大学 | 一种面向混核操作系统的串口虚拟化优化方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0765560A1 (en) * | 1994-06-08 | 1997-04-02 | Hughes Aircraft Company | Apparatus and method for hybrid network access |
EP0701349A1 (fr) * | 1994-09-07 | 1996-03-13 | T.R.T. Telecommunications Radioelectriques Et Telephoniques | Système et noeud de transmission de données avec surveillance de l'engorgement |
US5638448A (en) * | 1995-10-24 | 1997-06-10 | Nguyen; Minhtam C. | Network with secure communications sessions |
US5835566A (en) * | 1996-03-29 | 1998-11-10 | Telecom Technologies, Inc. | System and method for providing in-band and out-of-band testing of telecommunications network components |
US6028984A (en) * | 1996-08-08 | 2000-02-22 | Qualcomm, Incorporated | Method and apparatus for making a seamless network connection |
KR100221326B1 (ko) * | 1996-12-26 | 1999-09-15 | 전주범 | 계층 버퍼 구조를 갖는 파이프라인 시스템 |
US6055224A (en) * | 1996-12-30 | 2000-04-25 | Siemens Information And Communicatiion Networks, Inc. | Method and system for handling telecommunications data traffic |
JP3189820B2 (ja) * | 1998-02-23 | 2001-07-16 | 日本電信電話株式会社 | パケット伝送装置及びパケット伝送システム |
US6160797A (en) * | 1998-04-03 | 2000-12-12 | Starguide Digital Networks, Inc. | Satellite receiver/router, system, and method of use |
US6377571B1 (en) * | 1998-04-23 | 2002-04-23 | 3Com Corporation | Virtual modem for dialout clients in virtual private network |
US6434156B1 (en) * | 1998-07-24 | 2002-08-13 | Nortel Networks Limited | Virtual switching for interconnected networks |
KR100339374B1 (ko) * | 1998-10-27 | 2002-07-18 | 구자홍 | 분산처리시스템에서의멀티미디어미들웨어 |
JP3492229B2 (ja) * | 1999-03-12 | 2004-02-03 | 富士通株式会社 | 通信制御装置 |
IL130540A (en) * | 1999-06-17 | 2003-07-31 | Tadiran Telecom Business Syste | System having a port with two operating modes |
US6400710B1 (en) * | 1999-07-09 | 2002-06-04 | Enron Warspeed Services, Inc. | Network with hot button for providing switched broadband multipoint/multimedia intercommunication |
US6452910B1 (en) * | 2000-07-20 | 2002-09-17 | Cadence Design Systems, Inc. | Bridging apparatus for interconnecting a wireless PAN and a wireless LAN |
-
2001
- 2001-03-08 US US09/801,607 patent/US20020129099A1/en not_active Abandoned
-
2002
- 2002-02-23 KR KR10-2002-0009710A patent/KR100464196B1/ko not_active IP Right Cessation
- 2002-03-04 JP JP2002056933A patent/JP3790710B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20020129099A1 (en) | 2002-09-12 |
JP2002344454A (ja) | 2002-11-29 |
KR100464196B1 (ko) | 2005-01-03 |
JP3790710B2 (ja) | 2006-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6314525B1 (en) | Means for allowing two or more network interface controller cards to appear as one card to an operating system | |
US6253334B1 (en) | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses | |
US6519645B2 (en) | Method and apparatus for providing configuration information using a queued direct input-output device | |
US6347341B1 (en) | Computer program product used for exchange and transfer of data having a siga vector and utilizing a queued direct input-output device | |
US9448957B2 (en) | Unified system area network and switch | |
EP1530850B1 (en) | Store and forward switch device, system and method | |
US6345327B1 (en) | Queuing method and apparatus for providing direct data processing access using a queued direct input-output device | |
US7458075B2 (en) | Virtual USB port system and method | |
CN100382069C (zh) | 在逻辑分区之间共享网络i/o适配器的装置与方法 | |
US7100163B2 (en) | Hypervisor virtualization of OS console and operator panel | |
US6976083B1 (en) | Apparatus for providing direct data processing access using a queued direct input-output device | |
US20050172041A1 (en) | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture | |
US6195688B1 (en) | Computer system, program product and method of communicating internetworking data over a master-slave communication link | |
US6397350B1 (en) | Method of providing direct data processing access using a queued direct input-output device | |
US6345241B1 (en) | Method and apparatus for simulation of data in a virtual environment using a queued direct input-output device | |
US6401145B1 (en) | Method of transferring data using an interface element and a queued direct input-output device | |
EP2515241B1 (en) | Unified system area network and switch | |
US6321350B1 (en) | Method and apparatus for error detection using a queued direct Input-Output device | |
JP4444101B2 (ja) | バスシステム、バスシステム内で用いるためのステーション、及びバスインタフェース | |
US6341321B1 (en) | Method and apparatus for providing concurrent patch using a queued direct input-output device | |
KR100464196B1 (ko) | 데이터 처리 시스템에서 직렬 포트를 가상화하기 위한방법 및 장치 | |
US6345324B1 (en) | Apparatus for transferring data using an interface element and a queued direct input-output device | |
US6339803B1 (en) | Computer program product used for exchange and transfer of data having a queuing mechanism and utilizing a queued direct input-output device | |
US6324600B1 (en) | System for controlling movement of data in virtual environment using queued direct input/output device and utilizing finite state machine in main memory with two disjoint sets of states representing host and adapter states | |
US6339801B1 (en) | Method for determining appropriate devices for processing of data requests using a queued direct input/output device by issuing a special command specifying the devices can process data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20071130 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |