245
초고속통신망을 이용한 치의학정보시스템 개발 The Development of Dental Hospital Information Systems on the Information Super Highway 1999. 9. 20. 주관연구기관 정보통신 DK 정보통신부

초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

초고속통신망을 이용한 치의학정보시스템 개발

The Development of Dental Hospital Information Systems on

the Information Super Highway

1999. 9. 20.

주관연구기관 정보통신DK

정 보 통 신 부

Page 2: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 출 문

정보통신부장관 귀하

본 보고서를 초고속 통신망을 이용한 치의학 병원 정보시스템 개발 의 연구 개발 결과보고“ ”

서로 제출합니다.

년 월 일1999 9 20

주관연구기관 정보통신: DK

연구책임자 김 서 균:

참여 연구원 남 지 승 한 재 호: , ,

오 준 김 경 훈, ,

김 남 종 조 기 영, ,

문 호 림 강 현 철, ,

Page 3: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

요 약 문

제 목1.

초고속 통신망을 이용한 치의학 병원 정보시스템 개발

연구개발의 목적 및 중요성2.

의 비약적인 발전 개인용 컴퓨터의 대중화 네트웍 인프라의 향상을 통해 인터넷은WWW . ,

기업을 비롯한 산업 전반의 정보 환경에 많은 변화를 이끌었고 이러한 정보시스템을 통해,

수많은 사용자들은 정보를 어디서나 클라이언트 프로그램에 관계 없이 서비스 받게 되었다.

특히 다양한 형태의 멀티미디어 정보를 신속하게 처리 전송시킬 수 있는 데이터 통신 및,

네트워크와 이를 웹을 통해 종합적으로 관리할 수 있는 멀티미디어 데이터베이스의 기능 향

상은 정보시스템에 있어 많은 것을 가능하게 해주었다 이러한 개념은 의료분야에서 상당한.

업무의 변화를 요구하게 되었다.

치의학 정보 시스템은 치과 업무를 초고속 통신망을 치과를 방문하지 않고서도 간단한 진단

을 받을 수 있으며 치과용 기구 의약품 현황 및 기타 중요한 치과 관련 정보를 업체로부터,

제공받아 치과 의사 및 치의학 관련 종사자들이 웹상에서 편리하게 검색할 수 있으며 치과,

병원들 사이의 협진 및 부가 서비스를 제공하여 치과의료의 질을 한단계 올려 국민 의료 복

지에 이바지 하며 앞으로 올 고도 정보화 사회에서 많은 이용자에게 편리하고 쉽게 사용될

수 있다.

Page 4: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

연구개발의 내용 및 범위3.

본 과제에서는 고도정보화 사회에서 많은 이용자에게 편리하고 쉽게 사용될 수 있는 초고속

통신망을 이용한 치의학 정보시스템을 개발하며 내용 및 범위는 다음과 같다.

치과용 기구 의약품 현황 및 기타 중요한 치과 관련 정보를 업체로부터 제공받아 치과1) ,

의사 및 치의학 관련 종사자들이 웹상에서 편리하게 검색할 수 있는 치의학 정보 시스템을

개발한다.

국제 표준 프로토콜 프로토콜 프로토콜 에 따르는 치의학 의2) (TCP/IP , UDP/IP , DICOM )

료영상 및 관련정보를 제작하고 전송한다.

치의학 영상 동화상 음성 문자정보 등의 멀티미디어 정보를 실시간으로 통신하고 자율3) , , ,

적으로 데이터의 흐름을 제어하는 기술을 개발하여 이에 필요한 데이터의 종류에 따라 실시

간으로 을 조정하는 기능을 개발한다Event .

서비스 사용자가 편리하고 쉽게 사용할 수 있는 를 개발한다4) User Interface .

분산 치의학정보 시스템을 개발한다 를 사용하여 각 미디어별로 자료를 분산하5) . Local DB

여 저장 관리함으로서 시스템의 효율을 증가시키고 네트워크상의 트래픽을 감소시키도록,

한다.

치의학 화상회의 서비스를 개발 한다 치과 의사들간의 치의학 영상 자료 교환 및 토의6) .

를 하기 위한 도구로 활용하기 위해 요구되는 기능을 개발한다.

Page 5: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

연구 개발 결과4.

발표 논문●

문호림 조기영 김서균 남지승 치의학 정보시스템의 인트라넷 모델의 설계 및 구현(1) , , , , “ ”,

한국정보과학회 춘계학술발표논문집 한국정보과학회 제 권 호99 , , 26 1 pp. 417-419, 1999.4

문호림 조기영 김서균 남지승 분산 객체를 이용한 치의학 인프라넷 모델 성능 개선(2) , , , , “

에 관한 연구 한국정보처리학회 제 권 호 춘계학술발표논문집 한국정보처리학회”, 6 1 , 99 , , pp.

963-966, 1999.4

김경훈 곽지영 남지승 보장을 위한 서버의 효율적 수용제어 한국정보과(3) , , , “QoS VOD ”,

학회 춘계학술발표논문집 한국정보과학회 제 권 호99 , , 26 1 pp.232-234, 1999.4

이성섭 류재상 김서균 남지승 의 설계 한국정보과학회 춘계학술(4) , , , , “X(eXpress)RTP ”. 99

발표논문집 한국정보과학회 제 권 호, , 26 1 pp. 232-234, 1999.4

김남종 갬체훤 이남길 남지승 프로토콜 에서의 캐쉬 구조 한국정보처리(5) , , , , “ATM ASIC ”,

학회 제 회 호 춘계학술발표논문집 한국정보처리학회6 1 , 99 , , pp.1115-1118, 1999.4

(6) Seo-Gyun Kim, Ji-Seung Nam, "Modified Slow Start algorithm for Network

Congestion Control", ITC-CSCC '99, 1999.7

Page 6: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

남지승 조진용 임정균 통신망의 혼잡제어를 위한 변형된 알고리즘 한국(7) , , , “ slow start ”,

정보처리학회 논문지 ,1999.7

조기영 류재상 문호림 김서균 남지승 화상회의 시스템 구현을 위한 양방향 흐름제어(8) , , , , , “

프로토콜 개발 연구 정보통신 논문지 제 권 제 호 년 월”, , 2 1 , pp 23-30, 1998 12

김경훈 강태운 김남종 이성섭 김체훤 남지승 클라이언트의 전송효율을 위한(9) , , , , , , “VOD

다중접속 기법 정보통신논문지 제 권 제 호 년 월”, , 2 1 , pp85-90, 1998 12

조진용 임정균 남지승 변형을 통한 혼잡 제어법 연구 한국통신학회 추(10) , , , “Slow start ,”

계종합학술발표회 논문집 한국통신학회, , pp. 695-699, 1998.11

개발된 프로그램●

치의학 관련 정보를 웹상에서 편리하게 접속 및 검색할 수 있는 치의학 정보시스템1)

국제 표준에 따르는 치의학 의료영상 및 관련 정보를 제작하고 전송하는 통신 프로그램2)

멀티미디어 정보를 실시간으로 통신하고 자율적으로 데이터의 흐름을 제어하는 프로그램3)

분산 치의학 시스템 프로그램4) DB

치의학 화상회의 서비스 프로그램5)

Page 7: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

활용에 대한 건의5.

본 과제의 결과물은 기존의 방식을 수행되는 의료의 주요 업무나 치과병원 기타 개체간의

관계성을 규정해서 이에 기초하여 치의학 병원 정보시스템의 인트라넷 모델을 설계하고 치

과 병원의 진료행위가 를 통한 가상의 공간에서 어떻게 대체되고 보완될 수 있는 지WWW

에 대한 모델을 구현하고 다자간 진료회의를 통한 협동 진료 서비스 프로그램 화상회의 시,

스템의 부분으로 의사들간의 치의학 영상자료에 대한 토의 프로그램이다 이 결과물은 핵심.

기술 개발 및 데모용 프로그램 개발에 목표를 두고 추진 되어 아직 실제로 병원에서 활용할

수 있는 수준은 아니다.

과제의 결과물은 상용화 과정을 거친다면 실용화 할 수 있을 것이며 다음과 같이 활용할 계

획이다.

전남대 치과병원을 통한 원격 진료 시범서비스●

전남대 치과병원을 통한 기초 치의학 상담 서비스●

기대효과6.

미래 의료 정보사회 구축을 위한 핵심기술 개발●

미래 의료 정보사회 관련 요소기술의 개발로 새로운 초고속정보통신●

치의학 병원 화상정보 시스템 관련 표준화 촉진을 통하여 무분별한 고가 의료 장비 도입●

저지

Page 8: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

의료 정보사회 관련 초고속정보통신 서비스의 개발로 이용자 확산 의료서비스 개선 및,●

국민복지 증진

개발된 원천기술의 파급으로 의료장비 관련 국내사업체에 산업 경쟁력 확보●

Page 9: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

SUMMARY

WWW is developing more and more. Personal computers become public and their

performances have been improved highly. furthermore,

Network infrastructure has been improved continuously.

In consequence, Internet has been developing into the region in which we are able to

assist our life like medical area.

The supporting technology for multimedia has advanced rapidly in recent years. These

technologies integrate various types of information such as

voice, image, text and video, Also the imaging equipment and viewing workstations

currently provide excellent quality images for diagnosis

and analysis for several modalities. Additionally, the technology for network and

communication systems are progressing rapidly enough

to support Dental Hospital Information System(DHIS).

DHIS will operate in a dental clinic and provide a total service for storing and

retrieving dental images, diagnostic reports, patient data,

and etc. Remote consultation facility to DHIS using a video conference system will be

very helpful.

DHIS describes the intranet model of dental hospital information. DHIS is consists of 5

categories.

First, when users contacts DHIS, they can manage sessions for each people in a session

management. And for its session, the administrator can restrict

the range of access In Medical certificate/Prescription/Images Transmission, Dentists can

transmit them through the internet to the other hospital

or drug store.

Page 10: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

Time delay and prescription missing can be handled by SMTP component.

Video conferencing system provides remote conferencing with doctors and consulting for

patient.

In an online catalog, DHIS provides an online catalog to the vendors for introduction

their medical products

In remote Database management tool, administrator can handles a DBMS using web at

any time. This system can be designed to meet a future

computer environment by introducing a distributive object.

The integration of various imaging equipment, image viewing workstation, and image

database requires good communication protocol. There is

an ACR-NEMA (American College of Radiology and the National Electrical

Manufactures Association) standard protocols which has been

defined since 1985. They announced DICOM (Digital Imaging and Communications in

Medicine) Version 3.0 in 1992. Since the most of manufactures

of imaging equipment follows DICOM standard, it is essential to develop PACS based

on this communication protocol.

The large volume of image data is one of fundamental characteristics of PACS. In the

Medical Center of the Chonnam National University,

the generated image data is estimated more than 40 gigabytes per week. Since the goal

of PACS is to provide a totally digital imaging environment

is a hospital, this tremendous amount of images will be stored in the image database.

Page 11: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

Thus, a high-speed optical network and large image databases are required to satisfy

PACS users.

The communication traffic with single large database will be concentrated to server

when there are concurrent requests of an image retrieval

from several viewing workstations. The concentration of communication traffic generates

congestion problem, which overloads the PACS database

server. The processing overhead for communication in the server is increased

exponentially based on each connection establishment with

new client request. Since each connection reserves resource in the server and shares

CPU time, the real time image retrieval will be impossible when

the number of client is increased more than certain level. Furthermore, the images in

the database server are stored in a magnetic disk, not in the

main memory. The access time of a magnetic disk in much longer (operates at

mechanical speeds) than the access time of the main

memory (operates at electronic speeds). Thus, the bottleneck of image retrieval form the

database server will be the access operation of the magnetic disk.

The distribution of the database is studied in this project to resolve the traffic

congestion. There are two types of database in this PACS,

the one is a main database and the others are local databases. The local database roll

as cache memory, considering that the main database function

as main memory.

Page 12: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

Each department in the hospital can have their local database to store images while it is

needed.

Page 13: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

CONTENTS

제 장1 INTRODUCTION

제 장2 INTRODUCTION TO MEDICAL INFORMATION SYSTEM

제 장3 INTRANET AND MEDICAL INFORMATION SYSTEM

제 장4 THE DISTRIBUTED DESIGN OF HIS & PACS USING WWW

제 장5 INTRODUCTION TO THE STANDARD OF DICOM

제 장6 PAPYRUS

제 장7 COOPERATION OF WEB AND DATABASE USING ADO

제 장8 TRANSACTION MANAGEMENT ON WEB

제 장9 PERFORMANCE IMPROVEMENT OF INTRANET MODEL USING

DISTRIBUTIVE OBJECT

제 장10 DESIGN AND IMPLEMENTATION OF VIDEO CONFERENCE SYSTEM

제 장11 IMPLEMENTATION OF ATM NIC

제 장12 DESIGN AND IMPLEMENTATION OF REAL TIME INTERNET MEDICAL

INFORMATION MEDIA SYSTEM

제 장13 CONCLUSION

REFERENCE

Page 14: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

목 차

제 장 서 론1

제 장 의료 정보 시스템2

제 절 의료 정보 시스템 개요1

제 절 의료 정보 시스템의 구조2

제 절 와3 DHIS PACS

제 장 인트라넷과 의료 정보 시스템3

제 절 인트라넷의 정의1

제 절 클라이언트 서버 모델의 발전2 /

제 절 인트라넷 구축방안3

제 장 웹기반에서 와 의 분산 설계4 DHIS PACS

제 절 분산 서버 시스템의 특성1

제 절 웹 기반에서 와 의 분산설계2 DHIS PACS

제 절 원격 진료 회의3

제 장 병원 영상 정보시스템의 개발을 위한 표준5 DICOM

제 절 추상적 규격1 *ABSTRACT SYNTAX)

제 절 표준의 역사2 ACR-NEMA

제 절 표준3 DICOM V3.0

제 절 정보 객체 정의4 IOD(INFORMATION OBJECT DEFINITION: )

제 장6 PAPYRUS

제 절1 PAPYRUS 3.x

Page 15: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 소개 및 구현 방법2 PAPYRUS TOOLKIT

제 절 이미지 생성과 처리3 DICOM

제 장 를 이용한 웹과 데이터베이스 연동7 ADO

제 절 서버 객체 개요1

제 절2 ACTIVE SERVER PAGE OBJECT MODEL

제 절3 ACTIVE X DATA OBJECT

제 장 웹상에서의 트랜잭션8 MANAGEMENT

제 절 관의 정의1 TRANSACTION

제 절 이점2 TRANSACTION PROCESSING

제 절 웹상에서 분산 설계3 TRANSACTION MANAGEMENT

제 장 분산객체를 이용한 인트라넷 모델의 성능 개선9

제 절 분산응용과 사용자1

제 절 분산객체의 기법2

제 절 분산객체를 이용한 치의학 인트라넷 모델의 성능 평가 및 결과3

제 장 화상회의 시스템의 설계와 구현10

제 절 화상회의 시스템의 개요1

제 절 화상회의 시스템의 개발2

제 절 비디오 프로그래밍3

제 절 네트워크 프로그래밍4

제 장 망 접속 카드의 설계11 ATM

제 절 서 론1

제 절 프로토콜의 개요2 B-ISDN/ATM

제 절 설계 요구 사항 및 변화 요인3

Page 16: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 구조 검토4

제 절 망 접속 카드 설계 사양5 ATM

제 절 망 접속 카드 구현 기준 모델6 ATM

제 절 디바이스 드라이버 소프트웨어7

제 절 결 론8

제 장 인터넷 의료정보 실시간 미디어 시스템 설계 및 구현12

제 절 개 요1

제 절 멀티미디어 저장 서버 설계2

제 절 네트워크와 프로토콜3

제 절 치의학 미디어 서비스4

제 절 서버 자원 관리와 수용제어5

제 절 결 론6

제 장 결 론13

참고 문헌

Page 17: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 서 론1

이하 이 발표된 이후 병원을 비롯한 산업 전반의 정보 환경에 많World Wide Web( WWW)

은 변화가 생겨났다 따라서 인터넷의 보급확대가 의료 환경에 어떠한 변화를 가져올 것인.

가에 대한 제안은 중요한 관심사가 아닐 수 없다 멀티미디어 데이터베이스의 기능 향상은.

정보 시스템에 있어 많은 것을 가능하게 해주었다.

개인용 컴퓨터의 대중화 네트웍 인프라의 향상을 통해 인터넷은 단순히 정보를 획득하는,

공간의 개념에서 환자의 진단이나 처방 그리고 포괄적 의료 업무가 가능한 공간으로 영역을

넓혀가고 있다.

그리고 정보 기술과 통신 기술의 발달로 의료 정보 시스템이 빠르게 발전하여 환자들의 진

료에 실질적인 도움을 주기 위한 많은 시스템들이 개발되어 사용 중에 있다 병원 정보 시.

스템의 도입을 통해 병원은 업무의 혁신적인 효율 향상을 또한 환자에게는 양질의 진료 서,

비스의 제공이 가능해 진다.

병원 전반의 업무 능력을 향상시켜주는 시스템을 크게 분류하면 환자와 관련된 모든 정보를

관리하는 방사선에서 취급하는HIS(Hospital Information System), RIS)(Radiology

각종 의료영상 자료를 수집 저장 및 전송하는Information System), , PACS(Picture

등으로 나눌 수 있다 기존에 추진되어 오던 병원Archiving And Communication System) .

정보 시스템 과 더불어 병원 내 영상정보의 관리를 담당하는 의 도입은 현대화된(HIS) PACS

병원정보 시스템의 필수적인 구성 요소라 하겠다.

각종 의학 영상정비로부터 디지털 영상을 획득 저장 관리하며 통신망을 통해 검색용 단말, ,

기에서 방사선 검사의 진단과 조회가 가능하게 하는 PACS(Picture Archiving and

는 여러 가지의 유용성에도 불구하고 많은 병원에서 임상 진료에Communication System)

효율적으로 활용되기에도 다소 시간이 걸릴 것으로 예상되지만 제반 기술의 강화와 전반적

인 인식 전환을 통해 점차 병원 정보 시스템 체계의 큰 축으로 작용할 것이다.

Page 18: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이러한 병원 정보 시스템의 흐름에 비해 현재 한국 의료계의 실정은 국내 병원들간의 정보

교류는 물론 한 병원 내에서의 의료 정보의 전산화 및 의료 영상 정보 교환 처리도 힘든 형

편이며 단지 일부 병원에 이의 시험적인 도입이 추진되었다 특히 신설 병원보다 병원 정보.

시스템을 운영해오던 기존 병원에서는 도입은 훨씬 더 많은 제약 조건이 따른다 막대한 예.

산과 기술 및 운영 노력이 필요로 되는 정보 시스템을 구현하기 위해서는 정보 시스템 기술

을 바로 이해함과 더불어 병원 내의 여러 가지 여건과 적절히 조화를 이루는 과정이 필요하

다.

본 시스템은 기존의 방식으로 수행되는 의료의 주요 업무나 치과 병원과 기타 개체간의 관

계성을 규정한다 규정된 관계에 기초하여 치의학 병원정보시스템의 인트라넷 모델을 설계.

하고 치과병원과 기타 개체간의 관계성을 규정한다 규정된 관계에 기초하여 치의학 병원정.

보시스템의 인트라넷 모델을 설계하고 치과병원의 포괄적 진료행위가 를 통한 가상WWW

의 공간에서 어떻게 대체되고 보완될 수 있는 지에 대한 모델을 구현한다.

구현한 치의학 병원정보시스템은 실제 병원에서 업무와 진료를 원격으로 수행할 수 있도록

지원하는 프로그램이다 환자는 원격으로 진료상담 및 진료신청을 할 수 있으며 언제 어디.

서는 자신의 병력에 관한 자료를 웹 상에서 접근 가능하게 된다.

Page 19: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 의료 정보 시스템2

제 절 의료 정보 시스템 개요1

의료정보 시스템은 첫째 병원내의 업무만을 처리하는 병원정보 시스템과 둘째 병원을 비롯, ,

한 여러 의료기관에 있는 모든 의료정보를 종합하여 업무를 수행할 수 있도록 의료 데이터

은행 의료정보 센터로 구성되는 광역 의료 정보 시스템으로 크게 구분할 수 있다, .

의료정보 시스템이 구축되면 컴퓨터 통신으로 환자의 데이터를 전송하여 원격지의 환자 검

진이 가능하므로 지역 광역 및 벽지 의료 서비스가 가능하다 또 각종 의료기관 의학연구, . , ,

소에 소속되어 있는 의료관련 종사자들에게 의료정보 센터에 기억되어 있는 정보를 이용할

수 있게 한다 의료정보 시스템에서는 모든 환자의 정보를 공동으로 등록 및 조화하여 데이.

터를 수집하고 개인의 사생활을 보장하기 위하여 이러한 의료 데이터를 보호하는 것이 아주

중요한 요소가 된다 컴퓨터화된 환자 진료 데이터는 필요하다면 환자의 침대 또는 진료실.

에서 직접 활용할 수 있다 의료정보 시스템은 높은 성능이 보장되어야 하므로 빠른 응답성.

과 신뢰성을 고려해야 할 환자의 프라이버시 보호를 위하여 의료 데이터를 활용할 수 있는

권한을 가진 의료 관계자만이 접근할 수 있도록 보안성을 고려해야 한다 따라서 이러한 여.

러 목표 중 보안 문제를 해결하기 위해 미국 스탠포드 대학교 의과대학에서 진행하고 있는

시스템과TIHI(Trusted Interoperation of Healthcare Information) TIDE(Text Information

시스템을 기술한다Detection and Elimination) .

Page 20: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 의료 정보 시스템의 기능 구조2

서비스 기능1.

기존의 통신망을 활용한 정보처리 능력 정보 전달능력을 종합적으로 활용하여 사용자가 원,

하는 시기와 목적에 부합하는 서비스 기능 제공

데이터베이스 기능2.

의료과정에서 발생하는 여러 종류의 문서를 비롯한 멀티미디어 영상 정보를 분산하여 빠르

고 신속하게 검색하고 저장하는 기능

정보 처리기능3.

멀티미디어 정보를 초고속으로 빠르게 처리하는 컴퓨터 하드웨어 및 소프트웨어 기능을 설

명한다.

사용자 접속 기능4.

인간에게 가장 자연스러운 형태로 정보를 이용할 수 있도록 지원하는 데이터베이스와 사용

자간의 인터페이스 기능

접속 및 프로토콜 기능5.

다양한 형태의 멀티미디어 정보가 초고속으로 통신 가능한 프로토콜 및 의학 장비간의 통신

기능

Page 21: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

정보 전달 기능6.

의료 정보를 이루는 다양한 개체 간의 멀티미디어 정보를 초고속으로 전송 교환하는 기능,

제 절 와3 DHIS PACS

개요1. DHIS(Dental Hospital Information System)

을 기반으로 한 치의학 정보시스템을 구성하는 요소기술은 웹 등WWW , Mail, CGI, HTML

의 인터넷 기술과 데이터를 저장하고 관리하는 기술 웹 기반 화상회의 기술이다Database , .

인터넷 관련 기술요소는 웹 서버와 웹 클라이언트와 같은 웹 관련 기술 메일 뉴스, , ,

FTP(File Transfer Protocol), CGI(Common Gateway Interface), HTML(Hyper Text

일반적으로 치과 병원에서 일어날 수 있는 포괄적 의료 행위의 관점에서 볼 때Markup),

다음과 같이 관계 점을 정의할 수 있다.

가 의사 상호간의 관계.

진료와 업무를 함께하는 관계를 말한다 즉 웹 환경에서 의사 상호간의 이루어질 수 있는.

일반적 의사소통을 위한 도구를 지원한다.

나 의사와 협회 혹은 학회간의 관계.

회원 관리를 인터넷을 통해 실시하고 또 지금까지 발행된 의학협회지를 데이터베이스화하,

여 으로 제공하고 있다On-line .

Page 22: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

다 의사가 속해 있는 병원과 사회와의 관계.

가상공간에 돌아다니는 네티즌을 위한 가상병원의 설립 즉 병원의 홈페이지 구축이 매우 활

발해질 것이다.

라 의사와 환자와의 관계.

환자는 화상회의를 통해 의사와 공간에 관계없이 만날 수 있고 그 자리에서 환자의 증상에,

관해 간단한 상담을 할 수 있다 또한 원격으로 자신의 병력이나 진단서 처방전 그리고 촬.

영자료를 전송받고 전송할 수 있게 된다.

마 병원과 협진 관계의 병원 혹은 기타 검사기관과의 관계.

환자의 치료에 있어서 보다 정밀한 거사가 요망되거나 보다 숙련된 전문 의사들의 치료가,

필요한 경우 환자를 이송하게 된다.

이렇듯 병원과 병원간에 환자가 이동할 때 인터넷을 통해 환자의 도착 이전에 모든 진료기

록이 전달되어 환자가 도착했을 때에는 검사나 치료를 위한 모든 준비가 마무리 된다 치료.

결과는 다시 지역 의원으로 송신되고 환자는 가까운 지역 의원에서 계속적인 관리를 받을

수 있게 된다.

그림 에서 보듯이 병 의원에서 검사를 주로 의뢰하고 결과를 송부 받는 임상병리 센터2.1 , ,

필름 그리고 검사결과를 주고 받던 상태에서 검사체를 제외한 환자의 영상 검사결과 등은,

인터넷을 통해 바로 병 의원에 전달되고 특히 분야의 인터넷 활용은 매우, Tele-Radiology

활발하게 될 것이다.

Page 23: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

바 병원과 상업적인 관계에 있는 기관과의 관계.

병원에서 거래하는 많은 회사들의 상품을 카달로그를 통해 알 수 있고 비교할 수On-line

있다 고도의 정밀도를 요하는 의료 기기라 하더라도 모든 외장 화질 사용법등을. , , On-line

카달로그를 통해 알 수 있고 의약품의 구매와 발주는 으로 자동 해결될 것이며 금On-line ,

융회사와의 거래도 인터넷을 통해 자동결재 혹은 인터넷을 통한 통신망으로 송금하게 될 것

이다 그림 는 의약품 물류가 인터넷을 통하게 될 경우에 대한 것을 보여주고 있다. 2 .2 .

Page 24: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

사 의약부업 후 의원과 약국과의 관계.

의약부업 이후 환자가 처방전을 발급 받아 약국으로 가서 투약을 하게 되는 과정에서 생기

는 시간지연 필요한 의약품의 준비 분실 혹은 처방전 파손 등에 의한 치료의 지연을 인, , ,

터넷을 통해 해명 할 수 있다.

진료 후 환자의 처방전은 인터넷을 통해 전달되며 전국의 어느 약국에서든 이 처방전은 인

터넷을 통해 내려 받아 조제할 수 있고 또는 특정 약국으로 전달되도록 할 것이다.

의 개요2. PACS

는 기존 필름을 기반으로 하는 병원PACS( Picture Archiving and Communication System)

의 화상정보를 디지털 화상정보 관리 체계로 변환시키는 병원 정보 시스템의 일종이다 환.

자의 진단부위를 다양한 의학장비로 촬영 생성되어진 디지털 영상정보를 컴퓨터에 저장하,

고 이를 통신망을 통하여 각 검색용 단말기로 전송하여 병원 내 각 부서 또는 통신망에 연,

결된 원격 단말기에서 동시에 검색 할 수 있다.

Page 25: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

기존의 이 문자 정보의 관리를 기본으로 하기 때문에 실제 병원에서 많이 사HIS System ,

용되는 같은 대용량 영상정보는 대부분 으로 관리되고 있다 이러한X-RAY, CT, MRI Film .

을 기반으로 하는 관리체계는 그 동안 수많은 문제점의 표출로 인해 새로운 관리 체Film

계로의 전환이 급박한 실정이었다 을 보관할 저장장소의 부족은 물론 잦은 분실과 재. Film ,

촬영으로 인한 자원낭비 그리고 수많은 고급 인력들이 이러한 을 검색 관리하는데 많, Film ,

은 시간을 낭비함으로써 전체적인 병원 업무의 흐름에 막대한 지장을 초래했다 또한 각.

부서간 병원간의 의료 전달 체계의 미비로 불필요한 검사나 촬영을 반복하는 데서 오는 불,

편과 손실은 병원 업무의 지연으로 이어져 환자들이 당연히 받아야 할 진료 및 서비스에 많

은 차질을 주고 있다 이런 실정에서 멀티미디어 기술과 고속의 네트워크를 기반으로 하는.

의 도입은 현대화된 병원 정보 시스템으로 필수적인 구성 요소라 하겠다 아PACS System .

직까지 을 도입 운영하는 데는 여러 가지의 제약조건이 따르긴 하지만 많은PACS System , ,

병원들이 도입을 신중히 검토하고 있는 실정이다 다음은 간단한PACS System . PACS

이다System Architecture .

Page 26: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

구성 요소3. PACS

가. Imaging Equipment

를 비롯한 각종 영상장비로부터 영상을 획득하는 부분은 자료 흐름의 시작CT, MRI PACS

이라 할 수 있다 영상 정보는 현재 국제적으로 의료 장비 개발 업체에서 표준으로 사용하.

고 있는 표준에 따른 파일 구조를 갖추어야 한다ACRNEMA(DICOM 3.0) .

나. Viewing Workstations

영상표시 단말은 크게 조회용 단말과 진단용 단말로 나누어 진다 조회용 단말은 기존 필름.

과의 비교분석 및 조회를 목적으로 함으로 빠른 구조는 필요 없지만 장기적 저장Network

장치가 요구되며 진단용 단말은 환자의 환부 촬영과 영상전달 판독이 실시간에 이루어져야, ,

하므로 빠른 구조와 단기적인 저장장치가 요구된다Network .

다. Database Management System

운영의 가장 기초가 되는 부분으로서 방사선과 내의 각종 진단 장비와PACS System

하여 영상데이타를 수집 축적 관리하는 부분이다 또한 각 진료처에서 요구한 영Interface , , .

상 정보에 대한 처리를 담당한다.

라. High Speed Digital Network

의 통신망은 대용량의 멀티미디어 정보의 원활한 흐름을 위해 기존 전산망보다PACS 10 ~

배정도의 고속의 통신망이 필요하다100 .

Page 27: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

마. High Technology

구현에 있어 제일 먼저 고려되어야 할 사항은 급속히 발전하는 정보 시스템PACS System

기술의 이해라 할 수 있다 높은 기술력으로는 실용성 있는 의 구현이 필요. PACS System

하다.

의 파급 효과4. PACS System

신속 정확한 정보전달을 통한 진료시간 단축,●

기존의 필름으로 인한 여러 가지 문제 해결●

원격 의료 원거리 교육 원격 진단, ,●

고급인력의 활성화●

멀티미디어 기술과 결합하여 의료 서비스의 질을 향상●

의료 서비스 이용의 보편화●

와 간의 관계설정5. DHIS PACS

종합적인 병원 정보 시스템이라면 병원 내에서 이루어지는 모든 자료를 처리 관리하는 시,

스템이라야만 한다 하지만 과거 병원에서 사용하던 정보 시스템은 몇몇을 제외하고는 거의.

대부분 문자 정보를 기반으로 하는 라고 할 수 있다 하지만 최근의 정보 산업의 발DHIS .

전에 따른 대용량의 멀티미디어 정보를 처리 전송하는 도입은 병원으로서는, PACS System

무시할 수 없는 필수 조건이 되었다 신설 병원인 경우 도입부터 와 를 통합한. DHIS PACS

개념의 병원정보시스템도입하면 되지만 기존 병원의 경우는 과거에 사용하던 에DHIS

을 통합 사용하는 데는 많은 제약 사항이 있다PACS .

Page 28: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

병원 내 컴퓨터 환경의 복합성으로 인한 사용자 측면 그리고 시스템 관리 측면에서의 어려,

움을 해결하기 위해서는 꾸준하고 단계적인 통합 방법들이 요구되고 있다.

Page 29: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 인트라넷과 의료정보 시스템3

제 절 인트라넷의 정의1

인트라넷이라는 용어가 처음 등장한 것이 정확히 언제인지는 알려져 있지 않다 하지만 대.

략 년을 기점으로 인트라넷이라는 용어는 사용되기 시작하였고 이러한 가능성에 동의하95 ‘ ’ ,

는 많은 기업들을 중심으로 확산되어가기 시작하였다.

초기에는 그룹웨어 와의 구분상의 모호함으로 인하여 규정자체가 애매하였지만 현재는“ ” ,

웹을 중심으로 와 인터넷을 통합 이용하는 기업의 내부 인프라 라는 개념으로 많“ TCP/IP / ”

은 사람들이 동의하고 있다.

이러한 개념에 기초해 인트라넷이 구체화되는 과정을 다시 단계로 구분한다면 첫 번째 시3

기는 웹을 이용한 전자출판의 시기 두 번째 시기는 웹을 이용한 전자상거래의 출현시기 세, ,

번째 시기는 웹을 이용한 공동작업의 시기라고 이야기할 수 있다.

웹의 시작 자체가 그러하듯 초기 인트라넷은 내부의 홍보자료부터 시작하여 다양한 종류의, ,

기업 자료들의 일정부분을 공유하는 것에서부터 시작하였다 내부의 브로셔에서부터 시작해.

프로젝트 보고서 기술보고서의 내용 등을 공유하는 것이었다 이러한 과정에서 를 이용, . CGI

한 데이터베이스의 연동 동적 생성 다양한 등이 시도되고 등장하기 시작하, HTML , Plug-in

였다.

Page 30: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

두 번째 단계에서는 웹을 이용한 전자상거래가 구체화되는 시기로 단순한 문서의 교환정도,

에서 탈피하여 가상상점을 개설하고 고객상담 고객서비스 등을 제공하기 시작하면서 실제, / ,

적인 온라인 거래의 가능성을 타진하기 시작하였다 이 때 그. CyberCash, SSL, S-HTTP,

리고 단위의 처리가 시도되기 시작하였다Transaction .

세 번째 단계에서는 낮은 대역폭 하에서의 실시간 스트림 기술의 가능성을 이용한 다양한

공동작업을 시도하는 시기로 화상회의 전자칠판 달력 등의 다양한 기능들을 통, AOD/VOD/ / /

합하여 적용하기 시작한 것이다 이러한 공동작업은 보다 다양한 형태의 기업내의 공동작업. ,

개인 팀 기업내 상호작용을 시키는 방법으로 엑스트라넷과 같은 새로운 개념을 등장시키기/ /

도 하였다.

그렇다면 인트라넷이 산업전반에 미친 파급효과로 산업 구조 자체를 혁신하게 하고 있고 이

러한 변화가 병원정보시스템에 어떻게 적용될 수 있을까에 관한 문제는 다가올 내일의 중요

한 관심사일 것이다.

제 절 클라이언트 서버 모델의 발전2 /

클라이언트 서버 컴퓨팅이란 컴퓨팅 작업을 클라이언트와 서버프로세스로 분리시키는 것/

이다 현재 클라이언트 서버 컴퓨팅은 패러다임에서 지배적인 기술의 하나이며 이로 인. / IT ,

해 컴퓨터 산업은 집중화된 논리 기반 시스템 으로부(centralized shard logic based system)

터 웍스테이션과 서버로 이루어진 네트웍으로 변모 되어 왔다 클라이언트 서버가 제공. [4] /

하는 애플리케이션 아키텍쳐는 컴퓨팅 프로세서를 보다 간단한 태스크로 분해하고 이러한,

서버 프로세스들이 서로 공조할 수 있는 커뮤니케이션 매커니즘을 지원한다.

Page 31: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

문제를 분해하는데 있어서 주요 개념은 다양한 기기들에 걸쳐 사용될 수 있는 지정된 레이

어를 제공하는 것이다.

프리젠테이션 로직(Presentation logic)●

사용자가 애플리케이션과 상호 작용하는 방법을 제어 보통 사용이 간편한 그래픽 사용자 인

터페이스 를 통해 구현된다(GUI) .

비즈니스 로직(Business logic)●

애플리케이션의 매커니즘 혹은 비즈니스 규칙 을 제어( )

데이터 액세스 로직(Data access logic)●

데이터의 저장과 검색을 제어 데이터의 무결성 을 유지하는 것이 중요함; (integrity) .

분리된 레이어를 개발하기 위해서는 신중한 설계와 아울러 서로 다른 레이어간에 로직이 뒤

섞이지 않도록 각각의 경계가 명확하게 정의되어야 한다 이러한 방식의 로직 캡슐화.

를 통해 향후 변경이 필요할 때 다른 레이어들에게 미치는 영향을 최소화하(encapsulation)

면서 재사용성과 신뢰성 을 확보할 수 있다, (reusability and reliability) .

클라이언트 서버는 모듈화 되고 유연한 방법으로 시스템 구현이 가능하도록 해주는 기수를/

간주된다 클라이언트 서버로 인해 애플리케이션은 격리된 개별 부서의 개별기기로부터 벗. .

어나 전 기업에 걸쳐 분산될 수 있게 되었다.

Page 32: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이중 계층 클라이언트 서버1. (two-tier) /

클라이언트 서버 시스템의 세대는 파일 공유 애플리케이션이 진화된 것이다 이는 파일 공/ 1 .

유 애플리케이션의 중앙 파일 서버가 전문화된 관계형 데이터베이스 관리시스템(RDBMS)

으로 대체된 것이다 클라이언트 서버 시스템의 데이터베이스는 메인 프레임의 수분지 일의. /

비용으로 높은 트랜잭션률 을 제공한다 클라이언트 보통 를 사용하는(transaction rate) . ( GUI

윅스테이션 애플리케이션 는 데이터를 이용할 필요가 생기면 네트웍을 통해 데이터베이스) ,

서버에게 요청 을 보낸다 요청을 받은 데이터베이스는 요청을 처리하여 클라이언트(request) .

의 요청에 부합되는 데이터를 리턴한다.

전체 파일을 리턴하는 파일 공유 애플리케이션에 비해 이러한 클라이언트 서버 아키텍쳐는/

극적으로 복잡한 멀티사용자 애플리케이션을 개발할 수 있도록 다양한 기능들을 제공하고

있다.

예를 들어 복수의 사용자가 별문제 없이 같은 데이터에 접근하고 업데이트하는 것이 가능,

하다 프로세싱이 두 개의 별개 레어 윅스테이션과 데이터베이스 서버에 분리되어 있으므로. -

이러한 아키텍쳐는 이중계층 클라이언트 서버라고 불린다. .

가 클라이언트 중심 컴퓨팅.

이중 계층 시스템의 가장 간단하고 흔한 형태는 프리젠테이션과 비즈니스 로직을 클라이언

트에 두는 방법으로 클라이언트 서버라고 불린다 클라이언트로 부터의 데이터 베fat /thin .

이스 요청은 보통 데이터베이스 질의와 을 통해 구현된다 데이터베이스 요청은SQL . remote

에 의해 데이터 베이스에 보내진다 그러나 프로그래머는database transport protocol .

와 같은 미들 웨어를 사용하면 간단히 문제를 해결할ODBC(Open Database Connectivity)

수 있다.

Page 33: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이러한 시스템은 를 사용하면 빠르고 쉽게 구현될 수RAD(rapid application development)

있으며 소규모 워크그룹 타입의 환경에 적합하다 많은 업체들이 이러한 환경에서의 애플리, .

케이션 개발을 위한 저렴한 개발 툴들을 내놓고 있다.

그러나 다음과 같은 중대한 문제점들을 유발하게 된다.

클라이언트 들에게 과중한 처리 부하를 유발한다 이것은 클라이언트들에게 강력한. :●

와 많은 양의 디스크와 메모리가 필요함을 뜻한다cpu .

데이터 베이스의 요청도 과도하게 증가한다 대량의 사용자 기반에서는 심각한 네트웍. :●

의 성능 저하를 유발한다.

개별 웍스테이션 세션이 각각 별도의 데이터베이스 접속을 요구한다 이는 데이터베이스.●

서버의 리소스 를 고갈 시킨다 예를 들어 마이크로소프트의 서버는 각각의(resource) . SQL

사용자 접속에 메모리가 필요하다 그런데 이는 다른 보다 상당히 낮은 수준이37k . ( RDBMS

다.)

비즈니스 로직을 클라이언트에 배치함으로써 설치 및 유지 비용이 높아지게 된다 로직. :●

변경시 수 많은 웍 스테이션 소프트웨어 업데이트는 막대한 비용이 든다.

실제로 이러한 이중 계층 아키텍처는 적정수의 사용자를 초과하면 네트웍 병목현상,

이 일어남과 동시에 네트웍 성능이 급격히 저하되는 것으로 알려져 있(network bottleneck)

다 결과적으로 이중 계층은 전사적 환경이나 인터넷 환경에서 대용량의 애플리케이션을 실.

행하는데 필요한 유연성과 확장성을 제공하지 못한다.

Page 34: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

나 데이터 베이스 서버 중심 컴퓨팅.

클라이언트 서버라는 접근법으로 저장 프로시저 트리거thin /fat . (stored procedures) ,

제약 조건 과 같은 기법들을 통해 비즈니스 로직을 데이테베이스 서(trigger) , (constraints)

보로 이동시킨 것이다 저장 프로시저는 비즈니스 로직에 해당되며 저장 프로시저의 이름과. ,

패러미터값들을 포함한 데이터베이스 요청을 데이터베이스 서버로 보냄으로써 실행된다.

Page 35: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

다중 계층 클라이언트 서버2 . (Multi-tier)

가 삼중 계층 컴퓨팅. (three-tier)

진보된 아키텍쳐는 클라이언트와 서버 사이에 추가적인 중간 계층을 삽입해서 구성thin thin

될 수 있다.

클라이언트는 와 같은 표준 통신 프로토콜을 이용해 중간 계층과 통신한다 중간 계TCP/IP .

층은 표준 데이터베이스 프로토콜이나 데이터베이스 미들웨어를 사용해서 백엔드 RDBMS

와 접속된다 삼중계층을 이용함으로써 프리젠테이션 로직 비즈니스 로직 및 데이터 액세. , ,

스 로직은 서로 완전히 분리되었다.

결과적으로 세 계층 중에서 어떠한 것도 다른 계층들에 영향을 미치지 않고 개선되거나 교,

체될 수 있는 장점이 있다 이중 계층 시스템은 간단한 애플리케이션용으로만 쓰이고 있는.

반면에 삼중 계층 클라이언트 서버 솔루션은 유지 보수상의 장점과 급변하는 비즈니스의, /

요구에 맞추어 발전시킬 수 있는 유연성으로 인해 오늘날의 기업환경에 적합한 이상적인 선

택으로 인식되고 있다.

Page 36: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

나 다중 계층 컴퓨팅. (Multi-tier)

삼중 계층 솔루션을 더욱 확장하면 다중 계층 중 계층이라고 불림 이 된다 이 솔루션은(n ) .

융통성 및 확장성에 있어서 가장 탁월하며 삼중 계층 아키텍처의 모든 장점을 지니고 있다.

다중 계층 클라이언트 서버 솔루션에 있어서 비즈니스 로직은 다수의 기기들에 걸쳐 격리/ ,

분산되어 있다 계층 추가에 의해 다수의 데이터베이스와 메시지 스위치 기존 시스템 데이. , , ,

터 웨어 하우스 통신 채널 등의 다양한 서비스를 지원할 수 있다 작업량을 여러 개의. CPU

로 분산시킴으로써 대칭적 멀티프로세상 이나 거대한 병렬 클- (Symmetric multiprocessing)

러스트링 기술을 사용하여 거의 무한대로 확장성을 실현할 수 있다(parallel clustered) - .

때때로 로직을 별도의 지리적인 지역으로 분산시킴으로써 최적의 수행능력을 얻을 수 있다, .

Page 37: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

다중 계층 클라이언트 서버의 취약점 다음 기술은3. / - ?

삼중 계층과 다음 계층 클라이언트 서버 솔류션을 구현하는 것은 간단한 일은 아니다 이중/ .

계층을 구축할 때보다 많은 일손이 필요하며 복잡한 문제들을 해결해야 한다 다중 계층 클, .

라이언트 서버 개발 기술이 완벽한 이해와 잠재적인 위험들에 사전 평가는 절대적으로 필요/

하다 그러나 인터넷혁명으로 인해 사람들의 관심은 클라이언트 서버 아키텍쳐로부터 멀어. /

지고 있다 웹에서의 동적인 컨텐츠에 대한 요구로 인해 웹 컴퓨팅은 새로운 형태의 다중.

계층 컴퓨팅 형태로 변화되고 있으며 이는 기존 클라이언트 서버의 전통적인 문제점들에, /

대한 해결책을 제시하고 있다 을 이용하면 한가지 언어만으로 어떠한 운영체계에서. HTML ,

도 돌아가는 애플리케이션을 개발 할 수 있다 그러나 도 나름대로 문제점을 가지고. HTML

있다 바로 로 작성된 페이지는 정적 이라는 것이다 이점이 바로 과 액. HTML (static) . I IS 4.0

티브 서버 페이지가 필요한 이유다.

제 절 인트라넷 구축방안3

인트라넷을 도입할 경우 어떤 이득이 있는가 도입시에는 어떤점을 고려해야 하는가 인트. .

라넷이라는 개념이 어느 정도의 범위를 포함하는가에 관하여 알아보자.

인터넷과 인트라넷의 차이1.

인트라넷이란 무엇인가 이 질문에 대한 답을 얻기 위해 인터넷을 여기저기 기웃거려본 결.

과 혼란만 가중됐다 업체가 속해있는 분야마다 제각기 다른 개념으로 정의하고 그에 따른.

해결방안을 제시하고 있다.

Page 38: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

또한 인트라넷에 대한 정의 자체가 지금 이 순간에도 변화 하고 있으므로 한마디(Evolving)

로 잘라 말할 수는 없다.

우선 인트라넷에 대한 여러 가지 정의들에 공통적으로 들어있는 내용을 열거해 본다면 다음

과 같다.

기업체가 소유하고 있는 네트워크 하부구조를 이용한다- (LAN) .

현재 인터넷에서 사용하고 있는 개방된 기술을 응용한다- .

주 처리 대상은 숫자 가 아니라 효율적인 문서 작성 처리 배포다- (Number Crunching) / / .

사용자가 웹 서버에 쉽게 문서를 퍼블리싱 하고 공유할 수 있다- (Publishing) .

워크 그룹용 소프트웨어 그룹웨어 가 제공하는 기능성을 제공할 수 있다- ( ) .

최종 사용자는 웹 브라우저를 이용해 웹 서버라 부르는 서버상의 자원을 사용한다- .

위에 열거한 내용만 본다면 인터넷과 인트라넷이 쉽게 구별되지 않는다 일부에서는 인트라.

넷을 작은 인터넷이라고 부르는 사람들도 있다‘ ’ .

인터넷이란 다 알다시피 어떤 제품 회사 서비스 또는 정부 기관이나 단체를 지칭하는 것, , ,

이 아니라 세계의 컴퓨터가 서로 연결돼 있는 상태에 붙여진 이름이다 인터넷은 년에. 1969

핵전쟁이 벌어져 컴퓨터는 운용 상호 통신할 수 있도록 한다 는 목표 아래 미국 국방부의‘ , .’

주도로 태동됐다 현재는 약 만 명의 사용자가 있는 것으로 추산되며 매년 의 사용. 3500 , 10%

자 증가 추세를 보이고 있는 글로벌 네트워크다.

Page 39: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

또한 매일 만 건 이상의 게시물이 뉴스그룹에 게재된다5 .

인터넷의 주요 기술2.

통신 프로토콜 네트워크간이나 개개 사용자 장비간의 통신이나 연결을 가능케 하는 통- :

신 규약

파일 전송 두 지점간의 파일 송수신을 위한 기능- :

메일 개인이나 그룹 간의 통신을 제공하는 기능- :

웹 브라우저 요구에 따라 대 방식으로 정보를 액세스할 수 있는 기능 제공- : 1 N

터미널 에뮬레이션 기존 호스트 상의 프로그램을 사용할 수 있도록 하는 기능- :

사용자 인터페이스 사용자가 기술적인 세부 사항을 모르더라도 직관적으로 원하는 일을- :

할 수 있도록 하는 기능

웹은 스위스에 소재한 연구소의 물리학자들에 의해 태어났다 웹은. GUI(Graphical User

를 제공하며 사용자는 마우스를 이용해 문서를 보거나 인터넷 상의 다른 사이트로Interface)

이동할 수 있다.

웹 브라우저는 사용의 용이성과 미려한 외관 덕에 인터넷 사용자의 절대적인 지지를 받고

있다 또한 인터넷 상에서 사용되는 각종 프로그램 즉 등을. , Telnet, FTP, Gopher, E-mail

위한 액세스 창구 역할도 한다.

Page 40: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

인트라넷 도입의 목적3.

필요는 발명의 어머니 라는 말이 있다 역시 어떤 필요성 때문에 등장했고 분명히 어떤 혜‘ ’ .

택을 주기 때문에 논의되고 발전하고 있다.

인트라넷은 글자 그대로 기업 내부에서 사용할 목적으로 도입한 기술이다 그렇다면 기업.

들이 인트라넷을 도입하는 데는 어떠한 장단점이 존재하는가 단편적인 예를 들어보자 기존. .

에는 회사 소식 회사 정책 상의 변화 가격 정보 등의 각종 사내 문서 즉 사내 전화번호부, , , ,

제품 사양 가격 등을 인쇄해 사보 가격표 등의 형태로 배포해 많은 비용과 시간을 소비해, ,

야 했다.

뿐만 아니라 모든 직원이 필요한 자료를 전달 받았는지 현재 보유하고 있는 자료가 최신,

버전인지 또 그 이후 변경된 내용을 제대로 전달 받았는지 등을 보장할 수 없었다 설령, . ,

이런 사항들이 보장된다 해도 지금과 같은 급변하는 환경 하에서는 기존의 방식으로 전달되

는 정보가 최종 수요자의 손에 전달되기도 전에 그 정보 자체의 신선도가 떨어 질 수도 있

다 또한 무한 경쟁으로 인해 대부분의 기업은 다음과 같은 새로운 압박에 시달리고 있다. .

제품의 수명 단축 인터넷에서의 년은 개월이다 라는 말이 있다 한 회사가 시장에서- : ‘ 1 4 .’ .

경쟁력을 유지하기 위해서는 최소한 년에 회 정도는 신제품을 발표하거나 업그레이드를1 2

해야한다 다시 말하면 회사의 이익은 둘째로 치고 회사의 명맥을 유지하기 위해서는 개월. , 2

에 한 번씩은 새로운 것을 보여줘야 한다.

Page 41: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

지속적인 가격 압박 지금은 사용자가 시장을 주도한다 사용자는 적은 가격으로 많은- : .

것을 요구한다 이런 현실을 두고 볼 때 유일한 해결책은 비용을 줄이고 생산성 특히 지식. , , ‘

노동자 의 생산성을 향상하는 것이다’ .

제품의 질과 고객 지원에 대한 요구 증대 경쟁이 첨예화됨에 따라 고객들의 기대치는- :

상승하고 있다 즉 같은 값이면 서비스가 좋은 회사의 제품을 찾는 경향이 뚜렷해지고 있. ,

다.

시장의 변화 기업에서 변하지 않는 유일한 부분은 시장은 계속 빠르게 변화한다 는 사- : ‘ .’

실이다 이러한 변화를 수용하고 지속적으로 진일보하기 위해서는 신기술을 적극적으로 수.

용 구현해야 한다, .

새로운 비즈니스 모델 지속적인 기업 주변 환경이 변화로 최근에는 기업의 형태와 직원- :

의 작업 형태에 대한 근본적인 변혁이 이뤄지고 있다 예를 들면 재택 근무 가상 기업 협. , , ,

업 통합된 공급선 관리 등이다(collaboration), .

그렇다면 앞에 열거한 문제점들에 대한 해결방안은 무엇인가 기업에 따라 여러 가지 해결.

책이 있겠지만 가장 급선무는 기업 내의 커뮤니케이션을 개선하고 그 영향력이 미치는 범위

를 확대하는데 있다 바로 이 기능을 제공하기 위해 등장한 것이 인트라넷이다. .

인트라넷을 선택하는 이유4.

Page 42: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

인트라넷에서 인터넷 기술을 채택한 몇 가지 필연적인 이유는 다음과 같다.

공통적인 통신 방식 프로토콜 인트라넷 상의 사용자는 같은 인트라넷 상의 사용자뿐만- ( ) :

아니라 다른 네트워크 사의 사용자 고객들과도 통신해야 한다 현재 인터넷에서 사용되는, .

각종 통신 프로토콜은 이 요구사항을 충족시킨다.

고성능 기업 네트워크 는 기본적으로 고성능을 제공하므로 사용자들에게 단순한- : (LAN)

형태의 자료 뿐 만이 아니라 오디오나 비디오 정보도 사용할 수 있도록 한다.

신뢰도 인터넷 기술은 이미 입증한 안정된 기술이다- : .

비용 특정 업체 고유의 네트워크 환경 즉 노벨 의 네트웨어 로터스- : , (Novell) (NetWare),

의 노츠 등에 비해 비용이 매우 저렴하다(Lotus) (Notes) .

표준 표준화된 프로토콜과 등과 표준- : MIME, Windows Socket, TCP/IP, FTP, HTML

를 채택함으로써 가용 도구가 많고 재빨리 개발돼 지속적인 기업의 변화를 수용할 수API ,

있으며 외부 사용자와도 통신이 용이하다, .

이런 점에 볼 때 인터넷은 대외 통신을 위한 각종 기술을 정의하고 인트라넷은 조직 내에,

서 기업 네트워크 를 중심으로 인터넷 기술을 응용하는 것이라 할 수 있다 다음에는(LAN) .

인트라넷을 주로 어떤 분야에 적용하는지 살펴보자

Page 43: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

인트라넷의 적용 대상5.

성숙도에 따라 적용 범위는 기업마다 다르지만 인트라넷의 도입 초기에는 주로 다음과 같은

일을 하는데 인트라넷을 도입한다.

기업의 각종 문서 배포 사보 연례 보고서 회사 안내서 가격표 제품 정보 및 관련 문- :L , , , ,

서 등등 주로 비용 절감을 위한 부문이 이 영역에 해당한다. .

자료 검색 기업 내부의 전화 번호부나 규정집 등과 같은 개방된 자료의 검색용- : .

기업 부서 개인 홈 페이지 조직이 커지게 되면 어느 부서의 누가 해당 문제를 해결하는- / / :

데 도움이 될지를 파악하기가 여간 힘들지 않다 이 경우 개인 또는 부서 홈 페이지는 매우.

도움이 된다.

간이 그룹웨어 현재의 인트라넷 소프트웨어로는 로터스 노츠 같은 대규모 그룹웨어를- :

대체하기는 어려우나 그룹웨어가 제공하는 기능 중의 일부를 소규모로 대체 또는 보완할 수

는 있다.

소프트웨어 배포 자바나 와 같은 기술을 이용해 단순한 자료 배포 뿐 아니라- : ActiveX

소프트웨어도 배포할 수 있다.

Page 44: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

메일 단순한 텍스트 뿐만 아니라 음성 동화상 등과 같은 멀티미디어 메일을 사용할 수- : ,

있다.

사용자 인터페이스 기존에는 사용자가 자신이 사용하는 호스트용 터미널 에뮬레이션 프- :

로그램을 사용하거나 클라이언트 서버 프로그램이 제공하는 사용자 인터페이스를 이용해 작/

업해야 하므로 별도의 학습 기간을 필요로 했으나 인트라넷의 표준 사용자 인터페이스인‘ ’ ,

웹 브라우저를 사용하면 학습 기간을 대폭 줄일 수 있다.

인트라넷의 부가 기능6.

기존 애플리케이션의 수용 현재 세계의 개발자들은 온갖 종류의 프로그램을 인트라넷용- :

으로 이식 개발하고 있다 네트워크 관리자의 사용하는 네트워크 관리프로그램에서부터 표/ .

계산 프로그램에 이르기까지 다양한 프로그램들을 인트라넷용으로 개발하고 있다.

의사결정 지원 도구 인트라넷의 목표 중의 하나는 기업 내의 각종 정보를 연계 시키는- :

것이다 경영층은 이렇게 연계된 각종 정보를 활용해 신속한 의사결정을 할 수 있다 또 일. .

단 생성된 정보를 고유하고 배포하는 수단도 제공하므로 신속성은 더욱 제고된다.

완벽한 통신 도구 기존에 사용하던 전화 팩스 등의 기능이 통합됨으로써 개인간- : , OA ,

그룹간 기업간의 통신이 더욱 촉진된다, .

Page 45: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

그 결과 거대한 조직에서도 언제 어디에서나 누구라도 최신 정보를 가지고 업무를 처리할,

수 있다 특히 지역적으로 산재해 시차로 문제를 겪고 있는 회사는 시차를 극복할 수 있다. .

균일한 서비스 제공 직원들이 사내의 각종 정보를 컴퓨터 상에서 사용할 수 있으므로- :

고객 서비스나 교육 시 원하는 자료를 잘라내기 와 붙여넣기를 통해 신입 사원들일지라도‘ ’ ‘ ’

양질의 문서를 작성해 고객에게 배포 또는 교육함으로써 균일한 서비스를 고객에게 제공할

수 있다.

작업 진척도 확인 및 개선 도구 를 확인할 수 있으므로 현재 자신의 서류가- : Work-Flow

어디까지 도달했는지를 파악할 수 있어 고객에게 정확한 자료를 제출하거나 불필요한 과정

을 파악할 수 있다.

협력업체와 고객에 대한 창구 좀더 신속 정확하게 고객이나 협력 업체의 동향과 반응을- : /

파악할 수 있다.

도구 인트라넷을 도입 활용하면 여러 가지 구비 요건을 충족시킬 수 있- ISO : ISO 9000

다 즉 단일 위치에서 온 라인으로 정보 제공 프로세스 공정 확인 각종 수치 확인 등을. , , ( ) ,

들 수 있다.

Page 46: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 웹기반에서 와 의 분산설계4 DHIS PACS

제 절 분산 서버 시스템의 특성1

기업 구조의 변화와 확장1.

많은 기업이 실제로 중앙 집중적인 형태보다는 분산된 형태를 가지고 있기 때문에 분산 환

경이 도입이 기업의 구조 조정에 자연스럽게 맞게 된다 또한 컴퓨터의 발전에 따라 메인.

프레임에 비해 워크스테이션이 가격 대 성능비가 좋아졌다.

통신 오버 헤드의 감소2.

분산 환경의 서버 및 데이터베이스에서 많은 작업이 지역적으로 처리 가능하면 통신 오버

헤드가 중앙 집중형 환경에서보다 분명히 감소될 수 있다 하지만 잘못된 분산 구조 설계나.

데이터베이스 설계는 더욱 많은 통신 오버 헤드를 만들 수 있다.

기존 데이터베이스 들간의 상호 연동3.

분산 환경에서는 어떤 조직이 이미 여러 개의 데이터베이스가 존재하는 상황에서 작업을 전

역적으로 처리 할 필요가 발생하였을 때 이러한 요구를 자연스럽게 만족시켜 줄수 있다.

Page 47: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

성능향상4 .

분산 환경에서는 많은 작업이 지역적으로 처리 가능하므로 데이터를 업무의 특성에 맞게 적

절히 분할하여 작업 처리에 지역성을 최대화 할 수 있는 이점이 있다 따라서 프로세서의.

효율을 높일 수 있고 통신망 자체나 공통적인 서비스 등의 심각한 병목현상을 미리 방지 할

수 있다.

신뢰성 향상5.

여러 사이트에서 자치적으로 처리 할 수 있는 기능이 전체 시스템의 신뢰성을 높일 수는 없

지만 기능적으로 갑자기 저하되지 않고 점차적으로 저하되도록 보장해 준다 또한 분산 데.

이터베이스를 이용하면 자료의 신뢰성도 높일 수 있다.

제 절 웹상에서 와 의 분산설계2 DHIS PACS

Page 48: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

은 크게 접수처와 진료처 그리고 와 로 구성되어 있고 웹System , HIS Server PACS Server

을 통한 서버 클라이언트간 통신 부분은 기본적인 와 에서 제공되는 클래/ HTTP Java Socket

스와 드라이버에서 제공되는 으로 이루어져 있다Oracle JDBC Connection .

다음은 해당 부서별 업무 내용이다.

접수처와 진료처의 및 환자정보와 진료정보에 대한HIS Server : Web Server DBMS●

관리

방사선과의 및 환자의 촬영 이미지 정보에 대한 관PACS Server : Web Server DBMS●

접수처 접수된 환자를 진료처별로 진료:●

방사선과 진료에 필요한 촬영 이미지에 대한 업무 처리:●

웹기반 치의학 병원정보시스템의 설계1.

Page 49: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

그림 에서 보이듯이 클라이언트와 서버와의 통신 채널 병원과 그것의 관계점을 규정하4 .2

고 있다 각 관계점 사이의 처리에는. HTTP Connection, MS-SQL DBMS Connection,

메커니즘이 사용된다 병원과 환자의 관계 혹은 병원과 협진Server Component Creation . ,

관계의 병원의 관계에서는 주로 웹 기반 화상회의 기능이 제공된다 또한 각종 진단자료 교.

류를 위한 와의 연동 부분이 고려되었다DBMS .

앞으로 전개될 의약 분업의 현실에 적용될 처방전 교류도 그 관계점 속에 포함된다 그리고.

상업적인 기관과의 관계 속에서는 카달로그를 으로 자동으로 해결할 수 있는 기능On-Line

을 지원한다.

환자와 병원과의 관계 속에는 자신의 병력을 알 수 있도록 진단자료나 처방전 각종 영상자,

료에 대한 검색이 가능하다 이 모든 프로그램은 웹 브라우저만 있으면 어떤 클라이언트에.

서도 사용이 가능하도록 구현되었다.

치의학 병원 정보 시스템에 도입한 자료 구조2 .

일반적 치과병원에서 행해질 수 있는 진료행위에서부터 행위과정에서 생성되는 일반적인 텍

스트 그리고 대용량의 의료영상을 포함해 전자 카달로그 처리를 위한 자료구조를 고려해,

다음과 같이 설계되었다. [5] [6] [7]

그림 는 본 시스템의 전반적인 자료 구조로 는 진료 행위에서 발생하는 각종4 .3 Diagnose

진료 자료를 의미하고 는 기본적 환자 신상에 관련된 자료이다 는 의약분업을Patient . Recipe

대비한 처방전을 위한 구조이며 은 환자의 의료영상을 저장하고 관리하기 위한 구Imageset

조를 갖는다 또한 는 전자 카달로그를 위한 구조를 이야기하며 은 환자. Catalog Reservation

가 진료 예약시 발생하는 자료를 처리하며 의사가 예약환자를 진단시 갱신되는 구조를 갖는

다.

Page 50: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

진단처리는 서버에 저장된 미리 만들어진 문 를 이용하여 진단Stored Procedure(SQL SQL )

처리가 이루어지면 등록환자 자료테이블을 갱신하게 된다 등록환자 자료테이블은 진단처리.

가 마무리되는 즉시 갱신이 이루어지는 특성을 갖는다 따라서 를 활용하. Stored Procedure

면 다음 갱신은 캐쉬를 통해 가능하므로 웹에서의 데이터베이스 조회에서 보다 나은 성능을

제공하게 된다.

치의학 병원 정보 시스템의 구현3.

가 관리. Session

사용자가 으로 본 시스템에 접속하면 각 사용자마다 이 관리된다WWW Session . Session[4]

에 따라 시스템의 접근 범위가 제한된다 즉 자신만의 의료영상이나 진단서 그리고 처방전.

을 검색하도록 결정지워진다.

Page 51: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

나 파일진단서 처방전 발부 및 전송. /

웹을 통해서만 이루어지는 진료 방식의 단점은 검색된 자료나 영상이 곧바로 문서화가 어렵

다는 단점이 있다 따라서 검색된 자료를 직접 파일로 작성하고 접수처에서 발부 및 전송할.

수 있게 된다.

다 진단 처방 영상자료 저장 및 검색. / /

치의학 병원정보시스템에 원격으로 로그인한 사용자는 와의 연결설정을 통해 시스템DBMS

접근 범위가 제한된다 각자의 영역에서 진단서 처방전 그리고 촬영영상을 검색할 수 있다. , .

Page 52: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

라 진단서 처방전 영상자료 전송. / /

기존의 의료체계에서는 병원과 협진병원 혹은 분업 약국과의 관계에서 대중교통을 통해 검

사체 필름 그리고 진단서나 처방전이 전달되는 형태를 가지고 있었다 이로 인해 생기는, , .

시간지연이나 처방전 분실등의 치료 장애는 본 시스템에서 컴포넌트를 통한 인터넷SMTP

메일 전송방식을 통해 해결할 수 있다. [8]

제 절 원격 진료 회의3

지금까지 환자가 진료를 받고자 하는 경우 직접 병원을 방문했다 인터넷 기술과 정보 기술.

의 발달로 이러한 제한을 극복한다 화자는 화상 회의를 통해 시간이나 공간에 구애됨이 없.

이 간단하게 담당의사에게 상담을 받을 수 있는 기능을 제공한다. [9]

Page 53: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

원격 진료 회의는 실제 의사들의 진료들 통해 얻은 자료 웹상에서 원격으로 토의할Study

수 있도록 지원해 주는 프로그램이 기본적으로 기능과 기능이 제공White Board Chatting

되며 자료에 대한 와의 연동 부분이 고려되었다 그리고 의사들이 촬영 이Study DBMS .[1]

미지를 세밀하게 고찰할 수 있도록 이미지 처리기능도 구현되어 있다 사용자간 통신을 위.

해 서버 이 으로 동작하고 있다Application emon .

Page 54: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

전자 카달로그1.

병원과 거래하는 사업적 기관과의 거래는 전화 에서 차츰 전자상거래로 옮겨갈 것이다, Fax .

본 시스템에서는 의료기기에 한해 가 정보시스템에 고화질의 의료 장비영상과 설명Vendor

을 제공하면 자동으로 가 만들어지고 그 를 의사가 참조할 수 있다Catalog Catalog .

원격 관리 도구2. Database

병원 업무 과정에서 발생하는 관련 자료를 관리자는 시간 장소에 관계없이 웹으로, DBMS

에 접속해서 지원할 수 있다.[10]

Page 55: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 병원 영상 정보시스템의 개발을 위한 표준5 DICOM

서론에서 언급했듯이 를 구현하는데 제기된 문제점으로 서로 다른 제조업체에서 만들PACS

어진 의료 장비간에 의료정보 제작 저장 전달 디스플레이 등의 작업에 대한 완벽한 호환, , ,

성을 현재로서는 제공할 수 없다는 것이다 이를 해결하기 위해서는 를 구성하는 모든. PACS

장비에 공통된 프로토콜이 필요하게 되었다 이런 요구로 제시된 프로토콜이. ACR-NEMA

표준화 기관이 이다DICOM .

제 절 추상적 규격1 (Abstract Syntax)

애플리케이션 교환은 데이터 구조들간의 전송을 의미한다 이 데이터 구조들은 매우 복잡하.

다 예를 들어 메시지 교환 애플리케이션의 경우 메시지는 와 로 구성된다. Envelop Content .

차례로 는 각각의 변수들의 주소들과 정보들을 가지고 있고 이들 또한 각각의 구조Envelop ,

를 갖는다 결국 교환되는 데이터 구조는 독립적이고 복잡한 구조를 갖는다는 것을 의미한.

다 이런 일반성은 다음과 같은 두 가지의 의문점을 제기한다 첫째로 명백한 양식장에서 어. .

떻게 데이터 구조들을 정의할 것인가와 둘째로 네트워크 상에서 손실된 정보 없이 데이터

구조 인스턴스를 어떻게 전송할 것 인가이다.

이 의문점의 해결책으로 와 표기법을 소개하겠다 데이터Abstract syntax Transfer syntax .

를 표현하는 가지 방법은 다음과 같다2 .

각 데이터 형은 구조와 제약으로부터 독립적- Abstract Representation : machine oriented

으로 묘사된다.

Page 56: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

데이터 형의 선택된 인스턴스는 네트워크 상에서 바이트 또- Concrete Representation : 1

는 비트 스트링으로 전송된다.

추상 규격 표기1. (Abstract Syntax Notation)

는 모델 중 서비스 레벨 이상 상위계층 전체에 영향을 미친Abstract syntax OSI Session ( 5)

다 언어는 기계에 독립적인 형식으로 데이터 형들을 정의한다 즉. Abstract syntax . ,

언어를 사용해서 정의한 프로토콜은 특정한 기계에 대한 제약에서 자유롭Abstract syntax

다.

보통 이런 언어를 사용해서 데이터 형을 정의할 때는 태그 를 자주 사용한다 이것은(Tag) .

곧 애플리케이션 교환할 때 전송되는 데이터 형들을 구분하는 데 유용한 방법들을 제공해

준다 언어는 정규화 돼있으며 각 언어는 데이터 형들을 어떻게 서술하여. Abstract syntax

사용할 것인지를 정의한 문법을 제공한다는 뜻이다 이런 정규화는 애플리케이션 개발자들.

에게 를 다루는 프로그램을 제작할 수 있게끔 한다 처음 소개된Abstract syntax . Abstract

언어는 의 이다syntax OSI Abstract Syntax Notation One (ASN.1) .[11]

전송 규격 표기2. (Transfer Syntax Notation)

앞에서 설명했듯이 은 한 애플리케이션 안에서 실제로 데이터 형들을 정의Abstract syntax

한 애플리케이션 프로토콜 안에서 나타낼 수 있는 데이터 형들을 구분한다. Transfer

은 네트워크 상에서 교환될 데이터 형들의 값들을 명백하게 표현하는 것이Syntax Notation

다.

Page 57: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

는 서비스에서 교환된다 그러므로Session Service Data Units(SSDUs) Session . Transfer

를 사용하는 프로세스는 데이터형의 정의와 대응하는 내부 표현을syntax Abstract syntax

실행부와 비트 연속 스트링이 의미하는 정보를 나열하는 부분으로 이루어진다8 .

그러므로 적용은 데이터 형의 와 이 데이터로부터 생성Transfer syntax Abstract syntax

된 인스턴스를 사용하는 사이의 맵핑을 수행한다Concrete syntax .

앞의 의 를 간단히 소개하자면 은 우선 각 데이터ASN.1 Basic Encoding Rules(BER) BER

형이 필드로 인코딩 한다 다음은 각 필드별 인코딩 내용이다TLV(Tag, Length, Value) . .

필드 의 타입을 가리킨다- Tag : ASN.1 .

필드 인코딩하는 값의 크기를 가리킨다- Length : ASN.1 .

필드 실제 코딩하고자 하는 값을 가리킨다- Value : ASN. 1 .

간단한 타입으로 등BOOLEAN, REAL, INTEGER, BIT STRING, OCTET STRING, NUL

이 있고 객체 타입으로는 가 있고 구조체, OBJECT IDENTIFIER, OBJECT, DESCRIPTOR ,

타입으로는 등이 있다 여기서 는 전송하SEQUENCE(OF), SET(OF) . OBJECT IDENTIFIER

는 정보가 어떤 객체인지를 먼저 판단하는 기준이 되는 중요한 부분이다.

예를 들어 다음의 첫 번째 노드 의 의미는 루트 노드를 가리키{ 1 . 0 . 8571 . 5 . 1 } “1”

고 객체를 의미한다 루트 노드는 다음과 같이 가지가 있다, ISO/IEC . 3 .

Page 58: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

의- ccitt ( 0 ) : International Telegraph and Telephone Consultative Committee(CCITT)

객체를 상징한다.

- iso ( 1 ) : International Organization for Standard- ization and International

객체를 상징한다Electrotechnical Committee (ISO/IEC) .

와 의 혼합 객체를 상징한다- joint-iso-ccitt ( 2 ) : ISO/IEC CCITT .

이어서 두 번째 노드 세 번째 노드 그 이후의 자리도 각각의 하위 개념을 가지고 있어서, ,

현재의 객체 속성을 알 수 있다 이것은 다음 제 절에서 설명할 의. 2 DICOM UID(

과 같다 이와 같은 표기법을 이용하여 현재 이용중인 객체의 정보를 알아{1.2.840.xxxx. }) .~

낼 수 있다.

제 절 표준의 역사2 ACR-NEMA

에서는 병원의 디지털 영상정보를 통합하기 위한 통신 프로토콜을 마련하기 위ACR-NEMA

한 목적으로 표준화 위원회를 결성하여 년에 표준 을PACS 1985 ACR-NEMA Version 1.0

년에 을 표준으로 정의하였다 두 표준은 일대일 방식의 시스템간 하드웨어1988 Version 2.0 .

접속 에 필요한 소프트웨어 명령 그리고 에 적합한 데이터 형식, PACS , PACS (data format)

을 포함하고 있다 그러나 이 표준은 병원에 네트워크화 된 환경을 제공하기에는 충. PACS

분하지 못하였다.

우선 일대일 방식에 기초하여 두 시스템간을 연결하는 단순 기능의 통신 능력을 제공하도록

정의되었고 둘째로 이종의 망을 통과하여 목적하는 시스템에 정보를 전달하는 네트워크 계,

층 및 트랜스포트 계층의 적절한 기능이 마련되지 않았다.

Page 59: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

또한 이 표준은 급속히 발전하고 있는 고속 통신 기술의 적용이 어려운 고정된 구조로 정의

되었다 특히 광 통신망과 같은 신기술의 물리 계층과 데이터 링크 계층에서 제공하는 높은.

대역폭은 에서 요구하는 성능을 제공하므로 이러한 네트워크 기술의 변화를 쉽게 적PACS

용할 수 있는 구조가 요구되었다 그 밖에도 이 프로토콜의 많은 문제점들이 개발 과정에서.

노출되었다.

개발 과정에서 얻은 이전의 경험을 토대로 는 상당PACS ACR-NEMA Working Group VI

히 많은 변화를 도입한 프로토콜 표준 표준 을 발표하였다 정의PACS DICOM Version 3.0 .

된 프로토콜은 다른 병원 정보 시스템과의 접속 분산된 많은 의료 장비로부터 생성PACS ,

된 검진 정보를 전달하여 구축된 영상정보 데이터베이스 그리고 다양한 개발자 환경을 고,

려한 정보 통신 능력 제공을 고려하였다.

그림 에 묘사된 바와 같이 정의된 프로토콜의 구조는 기존의 표준5.1 ACR-NEMA , TCP/IP

인터넷 프로토콜 국제 표준 통신 프로토콜의 사용을 허용하고 있다, ISO .

Page 60: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 표준3 DICOM3.0

표준 은 년도에 제안도기 시작하여 년도에 상당 부분이 완성DICOM Version 3.0 1988 1993

되었다 표준은 다양한 의료 장비들을 상호 연결하기에 필요한 공통의 통신 프로토콜을 마.

련하였다 현재의 필름을 기반으로 하는 병원 체계를 영상정보 시스템으로 바꾸는 일은 이.

와 같은 영상 장비들을 네트워크를 통하여 물리적으로 연결하는 것만으로는 충분하지 않으

며 의료 영상 및 관련된 정보의 상호 인식에 필요한 공통의 데이터 집합 정보의 표현 방법, ,

정보처리 절차 정보 이송 과정 등의 상호 일치가 필요하다, , .

Page 61: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

표준 은 통신 프로토콜 데이터 표현 운용 절차 세 영역의 주제를DICOM Version 3.0 , , Part

부터 로 나누어 서술하고 있다 데이터 표현 영역은 데이터 사전 데이터 의미1 Part 9 . ,

정보객체 부분에 정의되어 있다 또한 운용 절차 영역은 메시지 교환 부분과(semantics), .

서비스 객체 규격 부분에 정의되어 있다 그리고 통신 프로토콜 영역은 메시지 교환을 위한.

네트워크 통신 지원 부분과 일대일 통신 지원 부분에 정의되어 있다 다음 소개된 그림. 5.2

는 표준 의 전체 개요을 나타낸 것이다DICOM Version 3.0 Specification .

Page 62: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

순응성1. (Conformance) - Part 2

표준의 순응 부분은 응용 개체의 동작에서 필요 조건을 기술하고 순응에서DICOM PACS

요구하는 구현 요구 조건을 정의한다 순응 필요 조건도 어떠한 순응 요구의 구현에 꼭 필.

요한 일반적인 조건을 기술하였다.

순응 요구는 그 안에서 나타내야 할 정보를 기술하는 순응 요구의 구조를 정의하였다 순응.

필요조건과 요구는 표준의 다른 부분의 관련된 섹션 안에서 상술 되었다 순응 요DICOM .

구는 이 구현으로 승인된 정보 객체의 집합 이 구현에 의해 지원된 서비스 클래스들의 집,

합과 통신 프로토콜들의 집합으로 이루어져 있다.

승인된 정보 객체의 집합들은 데이터 사전 데이터 구조와 의미 정보 객체 규격서들이다, , .

지원된 서비스 클래스들의 집합은 메시지 교환과 서비스 클래스 정의이다 지원된 통신 프.

로토콜의 집합은 메시지 교환을 위한 망 통신 지원과 메시지 교환을 위한 일대일 통신이다.

정보 객체 정의2. IOD(Information Object Definitions : ) - Part 3

이것은 객체로서의 병원 정보 데이터를 정의한다 객체들은 자체적으로 기술된 데이터 구. “

조 와 보호 구조 를 가진다 표준의 이 부분은 많은 수의 정보 객체 클래스를 기” “ ” . DICOM

술하였는데 정보 객체 클래스는 디지털 의학 영상의 통신에 적용 가능한 실질적인 개체의,

개괄적 정의를 제공한다 각 정보 객체 클래스 정의는 그것을 정의하는 데 대한 속성과 목.

적이 기술되어 있다.

Page 63: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

하나의 정보 객체 클래스가 그것의 정의를 구성하는 속성을 위한 가치를 포함하지는 않는

다.

이것은 데이터 모듈을 제공하고 서비스 클래스에 의해 작동되는 객체의 속성을 제공하낟.

그런 객체들은 영상과 연구 환자 등을 포함한다 하나의 객체 클래스는 객체 속성 모듈의, .

그룹으로 정의되어 있다 하나의 객체 속성 모듈은 연관 객체 속성의 그룹이다 예를 들어. .

서 한 환자 정보 객체 클래스는 확인 객체 속성 모듈 연관 속성 모듈 예증 생성 속성 모, , ,

듈 인적 사항 속성 모듈 의학 속성 모듈로 이루어져 있다, , .

각 모듈은 몇 개의 속성으로 이루어져 있다 예를 들어 인적사항 객체 속성 모듈은 개의. 12

속성을 가진다 환자 주소 거주지 국적 환자 생년월일시 인종 성별 키 몸무게 병역 사. , , , , , , , ,

항 보험 사항 등 이 부분에 대해서는 제 절에서 다시 설명하겠다, . 4 .

서비스 클래스 규격서3. (Specifications) - Part 4

이것은 특정한 서비스를 제공하기 위한 정보 객체에서 수행될 수 있는 연산들의 집합을 정

의하였다 연산들의 집합은 현재의 작업 초안에 정의되어 있는데 환자 관리 연산 연구 관. , ,

리 연산 결과 관리 연산들이다, .

각 연산들의 집합은 하나의 서비스 클래스로 구별된다 각 서비스 클래스는 두 개의 순응.

레벨 서비스를 가진다 순응 레벨 서비스와 순응 레벨 서비스 순응 레벨 서비스는 정. 0 1 0

보 객체 상태에서 정보 전송과 변경 통지를 필요로 하는 연산이다.

Page 64: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

순응 레벨 서비스는 순응 레벨 보다 응용 개체간의 상호 작용에서 더 높은 레벨을 필요1 0

로 한다 순응 레벨 연산은 정보객체 상태에서 정보 전송과 변경 통지를 제공할 뿐 아니. 1

라 응용 개체로의 정보 객체를 고려한 상호 의존적 신뢰도를 제공한다.

은 환자 관리 서비스 클래스 연구 관리 서비스 클래스 결과 관리 서비스 클래DICOM 3.0 , ,

스의 가지 서비스 클래스를 제안했다 환자 관리 서비스 클래스는 환자 정보의 복구 호3 . , 자 정보의 저장 방문 정보 처리 환자 전출입 관리 환자 정보의 갱신 등의 환자 정보, , ,를 다룰 수 있다.

연구 관리 서비스 클래스는 연구 정보의 검색 연구 정보 저장 연구 완료 연산 연구 인증, , ,

연산 연구 계획 등의 환자 연구 분야를 다룰 수 있도록 한다 결과 관리 서비스 클래스 또, .

한 환자 연구를 다룬다 이 세 서비스 클래스는 종합 의료 정보 시스템. (Hospital

서비스 클래스에 기초를 두고 정의되었다 영상을 다루는 부분Information System : HIS) .

은 아직 정의되지 않았지만 영상의 다양한 조작을 위해 정의되어야 한다.

데이터 구조와 의미4. - Part 5

이것은 의학 영상 장치들간에 교환된 메시지의 인코딩 규칙을 정한다 메시지들은 이런 정.

의된 규칙에 의해서 데이터 요소로부터 조합된다 이것은 그림 에 나온 것과 같이 메시지. 5.3

의미를 정의한다 메시지는 명령어 집합과 데이터 집합을 가진다 명령어 집합은 수. DICOM .

행될 연산을 정의한다PACS .

Page 65: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

명령어 집합은 표준의 데이터 사전 부분에 기술된 명령어들로 이루어져 있다 데이DICOM .

터 집합은 응용 개체간에 전송될 정의를 담고 있다 이것들은 객체 데이터 집합 조합 데이. ,

터 집합 데이터 집합 널 데이터 집합의 가지 형태의 데이터 집합으로 이루어져 있다, , * , 4 .

표준에서 이 부분은 특별한 시스템에 의존한 실질적 데이터 구조를 고려하지 않은 통신 시

스템들간의 구조화된 데이터 전송의 능력을 제공한다.

데이터 사전5. - Part 6

이것은 정보 객체를 만들기 위한 개별 정보 속성을 제공하는 데이터 요소들을 정의한다 데.

이터 요소는 특정한 목적을 위해 특별한 형식으로 마련된 정보이다 일반 데이터 형식은 다.

른 영상화 장비와 진료용 워크스테이션으로부터 여러 가지 데이터 형식을 통합하기 위해 정

의된 것이다 데이터 요소들은 정보의 종류에 따라 몇 가지 그룹으로 나뉘어진다. .

Page 66: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

표준 그룹들은 승인 환자 취득 연관 영상 표현 문자 오버레이 흑백 픽셀 데이터 그리고, , , , , , , ,

약간의 새로 제안된 그룹들이다 승인 그룹은 사용자에게 단일한 영상 승인 매개변수를 제.

공한다 환자 그룹은 환자에게 관련된 정보를 제공한다 취득 그룹은 영상 취득 장비와 영상. .

화 공정에 관련된 정보를 제공한다 연관 그룹은 환자에 포함된 영상의 위치와 다른 관련된.

보조 영상과 관련된 정보를 제공한다 영상 표현 그룹은 영상이 일관적이고 재생적인 방법.

으로 나타내거나 표현될 수 있는 방법에 관한 정보를 제공한다 문자 그룹은 문자이. ASCII

다.

오버레이 그룹은 이미지에 관련된 픽셀 데이터를 오버레이 하는데 관련된 정보를 제공한다.

흑백 픽셀 데이터 그룹은 흑백 영상픽셀 데이터의 정보를 제공한다 흑백 픽셀 데이터 그룹.

은 흑백 영상 픽셀 데이터의 정보를 제공한다 각 그룹은 정보의 개별적 세그먼트들을 포함.

하는데 데이터 요소들로 다시 나뉘어진다 데이터 요소의 구성은 그룹 번호 데이터 요소 번. ,

호 길이 그리고 값의 네 개의 필드로 나뉜다 그룹 번호 필드와 바이트의 번호로서 각각, , . 2

바이트로 이루어져 있다 길이 필드는 바이트의 번호로서 값 필의 길이를 정의하며 바이트. , 4

로 이루어져 있다 바이트는 비트로 이루어져 있다. 1 8 .

메시지 교환6. - Part 7

메시지 교환 규격서는 진단 영상 획득 디스플레이 기록을 위해 정보와 명령어들의 교환을, ,

정의한다 이것은 대등한 응용 개체간의 메시지를 전송하기 위한 서비스와 프로토콜을 기술.

하였다 메시지 교환 서비스는 메시지 교환 요소의 능력과 메시지를 교환하기 위한 통신 지.

원 능력을 정의한다.

Page 67: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

메시지 교환 프로토콜은 통신양식과 메시지 구조를 결정하기 위한 규칙과 형식의 집합을 정

의하였다 규칙과 형식의 집합은 메시지 교환 연산을 수행하는데 사용된다 메시지는 명령어. .

집합과 데이터 집합을 포함하는데 이들은 데이터 구조와 의미 규격서에 정의되어 있다.

메시지 교환을 위한 네트워크 통신 지원7. - Part 8

표준 버전 과 은 네트워킹 환경의 강화에 필수적인데 그것은 앞ACR-NEMA 1.0 2.0 PACS ,

으로 다른 서비스들이나 프로토콜들에 사용할 수 있는 불변성과 일대일 특성 때문이다 그.

래서 환경에 적합한 와 프로토콜 스택은 표준의 이 부분에PACS TCP/IP ISO/OSI DICOM

서 네트워크 통신 지원을 제공하는 역할이 더해진다 그림 에 개략적인 모습이 나타나 있. 5.1

다.

메시지 교환을 위한 네트워크 통신 지원은 네트워크 통신을 제공하기 위한 서비스와 상위

계층 프로토콜들을 정의한다 이것은 응용 계층에서 일대일 메시지 교환 서비스를 제공하는.

필수적인 네트워킹 서비스를 유지할 것이다 그림 에서 본 것처럼 와. 5.1 , TCP/IP ISO/OSI

프로토콜 스택들은 네트워킹 서비스를 제공하는 두 개의 프로토콜 스택들은 네트ISO/OSI

워킹 서비스를 제공하는 두 개의 독립적인 프로토콜 스택이다 두 스택은. Ethernet, FDDI,

등 현재의 표준 네트워크를 이용할 수 있다 두 프로토콜 스택의 유연성은 앞으로 다ISDN .

른 데이터 링크와 물리 프로토콜이 더해 질 수 있도록 하며 이전의 구현들과 호환성을 유지

할 수 있다.

표준의 스택은 물리 계층에서 응용 계층까지의 참조 모델의 프레임 구조DICOM OSI OSI

를 따른다 이것은 부분을 제외하고는 표. ACSE(Association Control Service Element) OSI

준에서 대부분의 응용 계층 서비스를 포함하지 않는다.

Page 68: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

응용 메시지 교환은 와 기초가 되는 계층에서 제공된 필수적인 서비스DICOM ASCE OSI

를 사용한다 표준의 이 부분은 기초의 매개변수들을 자세히 정의한다 이것은. ASCE .

응용 메시지 교환에 필수적인 기능적 단위를 정의한다 이것은 표현 계층에서의 커DICOM .

널 기능 단위와 세션 계층에서의 전이중 기능 단위를 기술한다.

두 스택 모두에서 전송 계층과 네트워크 계층은 지역과 전역 환경에서 대부분의 중PACS

요한 기능성을 제공한다 사실 전송 계층은 통신을 제공하고 네트워크 계층. , End-To-End ,

은 지역과 전역 환경에서 요구하는 인터네트워킹 능력을 제공한다 이들은 디지털 방PACS .

사선 응용과 통신망에 독립적이고 일정함을 유지하는데 필요한 계층들이다.

메시지 교환을 위한 일대일 통신 지원8. - Part 9

메시지 교환을 위한 일대일 통신 지원은 주로 그림 에 있는 것처럼 개 계층의 프로토콜5.1 3

을 정의를 포함한다 데이터 링크 계층그리고 계층. , Session/ Transport/Network (STNET) .

표준은 다른 네트워크간의 인터네트워킹에 필요한 프로토콜 스택이나 인터넷 프로토콜OSI

스택에서의 프로토콜의 네트워크의 구역을 포함하지는 않는다 이것은 주로 영상 장비와 네.

트워크 인터페이스 장치간의 인터페이스나 일대일 인터페이스를 통한 응용 메시지DICOM

교환을 지원하기 위한 또 다른 영상 장비를 정의한다.

일대일 물리 계층 프로토콜은 물리적 인터페이스와 신호 핸드쉐이크 신호 인터럽트 개의, , 50

선을 이용한 비트 병렬 데이터의 전송을 다루기 위한 시그널링 프로토콜을 정의한다16 .

Page 69: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

목표하는 데이터 전송률은 인테 이것은 비동기 핸드웨이크 프로토콜8 Megabytes/ second ,

을 사용하여 좀더 느린 데이터 전송률을 가진다.

데이터 링크 계층은 프레임 제어 순서 프로토콜을 사용하여 데이터의 흐름을 제어한다 송.

신 측은 수신 측으로부터 인지 신호를 받을 때까지 다른 프레임을 보내지 않고 있다 또 패.

리티 검사와 프레임 검사 순서 프로토콜에 의해 검출된 데이터 전송 에러를 다룬다 만약.

수신 측이 에러를 함유한 프레임을 받으면 수신 측은 프레임을 버리고 송신 측에 재전송,

요구를 한다.

계층은 응용 계층에서 메시지 교환 서비스로 가상 채널을 제공한다 송신 측에서는STNET .

응용 계층으로부터 메시지를 받아서 워드 블록을 전송한다 수신 측에서는 데이터 링2048 .

크 계층에서 워드 블록을 받아서 메시지를 재구성하여 응용 계층으로 통과 시킨다 또 메시, .

지 전송을 위한 연결 확립을 다룬다.

제 절 정보 객체 정의4 IOD(Information Object Definition: )

의 일반적인 개념은 제 절 에서 언급했지만 실제 시스템을 구성하는 데 필요한 자료IOD 3 2

구조를 잡기 위해서는 의 이해가 선행되어야 하므로 다시 한번 정보 객체 클래스에 대IOD

해 설명하겠다 간단한 클래스를 그림 에서 소개하고 있다. IOD 5.4 .

Page 70: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

실세계 객체1. Real-World Object ( )

실제 의료 과정에서 사용되는 모든 개체들을 의미한다.

2. Attribute Tag

한 쌍의 수들로 이루어진 정보 객체의 속성을 위한 이다UID(Unique Identifier) .

정보 객체 정의3. IOD ( Information Object Definition : )

실세계 객체들을 의미하는 한 집합과 연관되어 있는 속성들과 성질을 정의한 육사한 실세계

객체들의 집합들의 데이터 추상화이다.

4. DICOM Application Model

표준에서 다루고 있는 실세계 객체들 사이의 관계를 모델화 시키는 사용한DICOM

다이어그램이다E-R(entity-Relationship) .

Page 71: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

5. DICOM Information Model

로 정의하는 실세계 객체들의 집합들을 기술하는 들 사이의DICOM Application Model IOD

관계를 모델화 시키는 다이어그램이다E-R .

6. Composited IOD

중에 여러 개체 의 부분들을 기술하는 이다 이런DICOM Application Model (Entity) IOD .

는 가 기술하는 실세계 객체들로부터 상속 받은 속성들을 포함하지 않고 실세계 객IOD IOD ,

체들로부터 직접 상속 받은 속성들을 포함한다.

7. Normalized IOD

안에서 하나의 개체를 기술하는 이다 이런 는 가 기DICOM Application Model IOD . IOD IOD

술하는 실세계 객체들로부터 상속 받은 속성들만을 포함한다.

8. IE ( Information Entity )

실세계 객체 중의 구체한 하나의 집합과 연관된 에의해 정의된 정보의 한Composite IOD

부분이다 개체들과 사이에는 일대일 대응이 존재한다 다음은. DICOM Application Model IE .

모델을 표현하는 데 사용되는 를 기술하고 있다E-R IE(Information Entity) .

가. Patient IE

는 의료 영상들을 다루는 하나 또는 그 이상의 연구들의 주체인 환자의 특성들Patient IE

을 정의한다 는 속성 에 독립적이다. Patient IE (Modality) .

Page 72: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

나. Study IE

한 환자에 대해서 수행되는 연구의 특성들을 정의한다 연구는 한 환자를 진단할 목적을 가.

지고 논리적으로 관계된 의료 영상들 오버레이들 그리고 또는 들에 대한 하나 또는, / Curve

그 이상의 들의 집합이다 각 연구는 정확히 한 환자에 한정된다 연구는 한 속성 여Series . . ,

러 속성들 또는 같은 속성을 가진 여러 대의 장치들에 의해 구성된 영상들을 포함할 수도

있다 는 속성에 독립적이다. Study IE .

다. Series IE

는 논리적으로 명확히 구분되는 집합들인 영상 그룹 오버레이 그룹 또는 그리고Series IE , /

그룹들이 사용하는 속성들을 정의한다 각각의 는 정확히 하나의 와 결Curves . Series Study

합한다.

다음은 특정 에 포함되는 영상들의 기준들이다Series .

한 안에 포함된 모든 영상들은 반드시 동일한 속성에 한정한다- Series .

만약 한 특정한 가 한 좌표계 의 지원을- Composited Image IOD Frame of Reference( ) IE

받는다면 그 안의 모든 영상들은 공간적으로 상호간에 관계가 있어야 한다, Series Spatially( ) .

그러므로 각 은 정확히 한 좌표계 과 결합한다, Series Frame of Reference( ) IE .

만약 한 특정한 영상 가 한 의 지원을 받는 다면 그 안에 모든- IOD Equipment IE , Series

영상들은 동일한 에 의해 만들어져야 한다 그러므로 각 은 정확히 한equipment . , Series

과 결합해야 한다Equipment IE .

Page 73: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

한 안의 모든 영상들은 모두 동일한 정보를 가져야 한다 오버레이들과- Series Series .

들은 영상을 포함하던 포함하지 않던 상관없이 한 으로 구성될 수도 있다Curve Series .

와 는 그리고 와는 전혀 관계가 없Equipment IE Frame of Reference IE Overlay IE Curve IE

다.

라. Equipment IE

는 그 의 영상들을 생성시킨 특별한 영상 처리 장치를 가리킨다 영상Equipment IE Series .

처리 장치는 한 연구 안에 하나 또는 그 이상의 을 생성시킬 수 있다 하지만Series .

는 한 안의 영상을 이루는데 사용하는 자료 획득 또는 영상 생성 속성Equipment IE Series

을 가리키지는 않는다 그런 속성들은 에서 설명한다. Image IE .

마 좌표계. Frame of Reference( ) IE

는 한 안에 영상의 공간적 그리고 또는 시간적 정보를 보관하Frame of Reference IE Series /

는 좌표계 시스템을 의미한다 는 하나 또는 그 이상의 과 관. Frame of Reference IE Series

계되어 있다.

이 경우에 여러 은 서로에 대해 공간적 또는 시간적으로 연계될 수 있다Series .

바. Image IE

는 영상의 픽셀 데이터를 의미하는 속성을 정의한다 이 픽셀 데이터는 오리지널Image IE .

영상이라 불리우는 환자 영상의 직접적인 결과로서 이루어질 수도 있고 다른 하나 또는 그,

이상의 파생된 영상이라 불리우는 영상들의 픽셀 데이터로부터 상속될 수도 있다.

Page 74: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

다음은 영상을 정의하는 요소들이다.

자신의 영상- Plane

픽셀 데이터 특징들-

특징들- Gray scale and/or Color mapping

오버레이 들 획득된 변수들과 영상 생성 정보들로 이루어진 속성 특징들- Plane ,

영상은 한 연구 안의 한 과 연관돼 있다 안의 픽셀 데이터는 한 프레임의Series . Image IE

픽셀들이나 여러 프레임의 데이터들로 구성되어 있다 멀티 프레임 영상의 프레임들은 연속.

적으로 많은 수의 공통 속성들을 공유하거나 요구한다 또 소수의 속성들 시간. ( , angular

은 프레임들 사이에서 수정될 수도 있다 그리고 공통된Displacement, Slice Increment) .

속성들은 여러 프레임 영상의 첫 번째 프레임에 언급된다 오버레이 테Image IE . , Lookup

이블 그리고 데이터는 단지 이 정보들이 영상과 정확히 일치할 때만 한 안Curve Image IE

에 포함될 수 있다.

사 오버레이. IE

오버레이 는 오버레이 의 독립적인 집합을 의미하는 속성들을 정의한다 오버레이IE Plane .

는 한 비트맵 포맷 그래픽들 또는 텍스트들을 나타내기도 하고 관심 영역 참고 마크 그IE , , ,

리고 주석들과 같은 아이템들을 가리키는데 쓰이기도 한다 이들 오버레이 들은 영상. Plane

과 일치할 수도 일치하지 않을 수도 있다 만약 오버레이 이 영상과 일치할 수 있다면. Plane ,

충분한 오버레이가 그것과 관련된 특별한 영상을 겹치는 디스플레이 위치를 나타낼 수 있도

록 할 수 있어야 한다.

Page 75: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

오버레이 는 단지 한 와만 관련되어 있다 오버레이 는 한 프레임 영상과IE Series IE . Plane

연관됐을 때 한 프레임으로 보일 수도 있고 멀티 프레임 영상과 연관됐을 때 오버레이,

들의 여러 프레임들로 보일 수도 있다Plane .

아. Curve IE

는 한 의 연결된 지점들을 의미할 수 있는 그래픽 데이터를 나타내는 데 사용되Curve Series

어 진다 데이터는 일치하는 영상에 겹쳐지지 않을 수도 있고 겹쳐질 수도 있다 독. Curve , .

립적인 오버레이와 같이 독립적인 는 어떤 데이터도 가지지 않은 영상이 존재할Curve Pixel

수 있다 들은 다차원의 그래프들 관심 영역 그리고 주석을 구체화하는데 사용할 수. Curve ,

있다 각 는 의 연관된 지점들로써 구체화 된다 하나 이상의 는. Curve Series . Curves Curve

모듈에서 속성들을 설명하는 하나 이상의 반복되는 그룹 들을 이용하여 기(5000-501E, eeee)

술되어 진다 에 포함된 데이터 타입 은 구체화될 수 있다 독립적인. Curve (50xx, 0020) .

에서는 인식 모듈이 를 구별하는 데 사용되어 진다Curves , Curve Curve .

Page 76: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장6 PAPYRUS

제 절1 PAPYRUS 3.x

파일 형식은 이동형 저장 미디어나 파일들 안의 의료 영상들간의 교환을 정PAPYRUS 3.x

의한 을 기반으로 제작되었다 표준에 대한 이런 구현은 이동형 미디어DICOM 3.0 . DICOM

안에서 여러 속성을 같은 의료 영상들의 교환의 해결책으로 제시되었다 또한 파일 전송 메.

커니즘에 관한 산업 표준을 기본으로 다른 컴퓨터 시스템간의 이미지 교환을 더욱 효율적으

로 할 수 있게 되었다 결과적으로 포맷을 기반으로 한 의료 영상 데이터들을 저장. DICOM

하는 데 효율적인 시스템을 제작할 수 있다.

소 개1.

파일 포맷 은 표준의 데이터 사전과 데이PAPYRUS V1.0 ACR/NEMA 2.0 Communication

터 구조를 기반으로 년에 재네바 대학 병원 에서1990 (The University Hospital of Geneva)

개발되었다 파일 포맷은 이미지 저장과 통신 포맷의 필요와 의료 영상들을 위. PAPYRUS

한 어떤 자료 구조들 또는 이미지들을 전송하는 데 사용되는 어떤 통신 방식에 대해서도 독

립되어야 한다는 요구를 기본으로 개발되었다 포맷은 디지털 이미지에 관련된. PAYPYRUS

여러 유럽 프로젝트에서 사용되었다 또한 제네바 대학 병원은 파일을 쉽게 읽. PAPYRUS

고 저장할 수 있는 라이브러리를 이라는 이름으로 제공하고 있다“PAPYRUS Toolkit" .

Page 77: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

파일 포맷은 파일형태 또는 이동 가능한 저장 미디어 형태의 의료 영상들을Papyrus 3. x

다루는 표준을 기반으로 하고 있다 또한 서로 다른 업체에서 제공하는 메커니DICOM 3.0 .

즘의 호환성을 제공한다 그리고 파일 포맷은 이동형 저장 미디어나 파일. PAPYRUS 3. x

들의 의료 영상 교환을 정의한 을 기반으로 제작되었다 표준의 구현은DICOM 3.0 . DICOM

이동형 미디어 안에서 여러 속성을 같은 의료 영상들의 교환의 해결책으로 제시되었다 또.

한 파일 전송 메커니즘에 관한 산업 표준을 기본으로 다른 컴퓨터 시스템간의 이미지 교환

을 더욱 효율적으로 할 수 있게 되었다 결과적으로 포맷을 기반으로 한 의료 영상. DICOM

데이터들을 저장하는 데 효율적인 시스템을 제작할 수 있다 하지만 에서는. DICOM V3. 0

상태의 디지털 이미지 교환에 맞추어져 있고 에서의 통신을 중심on-line , Network Interface

으로 제정되었지만 현재로선 완벽한 통신을 제공하지는 못한다 이런 이유로 인해. off-line

상태에서 이미지 교환에 대한 를 정의가 필요하게 되었“Storage Media Data Interchange"

다.

현재 제네바 대학 측은 완벽한 파일 포맷에 대한 인DICOM Working Group

의 멤버로서 활약하고 있다 년 초 에는 미디어 저장ACR-NEMA-WGVI . 1993 DICOM V3.0

파일 포맷 표준을 언급하고 있는 의 버전을 발표했다Part 10 Draft .

파일 포맷 구조2. PAPYRUS 3.x

파일 포맷은 다음과 같은 기본적 가지 특징을 가져야 한다PAPYRUS 3 .

Page 78: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

정보 객체가 한 이미지 정보만을 가졌을 경우 각 파일은 한 이미지만을 갖는다- , .

정보 객체가 멀티 이미지 정보를 가졌을 경우 그러한 파일들은 여러 장의 이미지들을 갖- ,

는다.

객체 디렉토리 를 정의한다면 디렉토리 정보 객체는 를- “ ” , “Master Media Directory File"

정의할 뿐만 아니라 그것에 대한 정보도 가지고 있어야 한다.

파일 포맷을 정의하기 위해 의 버전에 정의되어 있PAPYRUS DICOM V3.0 Part 10 Draft

는 미디어 저장 모델 를 적용했다 이 모델을 기본으로 가지 미디어 저장 어플리케이션“ ” . 2

프로파일을 제시한다.

가. PAPYRUS-File : The Images Encapsulation File

한 파일 안에 동일 에 속하는 여러 장의 이미지들의 집합을 말한다 다음 페이지의Series .

그림 는 구조를 보여주고 있다6.1 PAPYRUS-File .

나. PAPYRUS-Folder : The Image File Reference Folder

여러 파일들을 참조하는 파일 폴더로 구성되어 있다 가장 중요한 점은 한 폴더 안에 있는.

파일의 각 들과 각 연구는 반드시 한 환자의 정보여야 한다Series .

각 파일들의 내용은 다음과 같다.

객체와 관련된 정보- DICOM Patient, Visit or Study

동일한 들의 하나 이상의 이미지를 캡슐화한 객체- Series PAPYRUS-File

Page 79: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 소개 및 구현 방법2 PAPYRUS Toolkit

소개1. PAPYRUS Toolkit

Page 80: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

파일은 로 구성되어 있다 구조는 그림 에 정의하고 있다PAPYRUS 4 Layer . 6.2 .

하나 이상의 이미지들을 가진다- File : .

한 이미지에 대한 여러 가지 정보를 가진다- Data Set : .

동일한 범주 예를 들어 등 등에 관련된 정보 안에 속하- Module : - Patient, Study, Series -

는 정보들을 재구성한다.

에서 규정한 문법에 의해 구성된 값들을 의미한다- element : DICOM .

구현 방법2. PAPYRUS Toolkit

가 초기화.

초기화하기 위해서는 파일을 시킨 다음 함수를 호출한다Papyrus3. h Include Papy3Init .

Page 81: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

나 파일 열기와 생성 및 닫기.

파일 열기1)

먼저 파일을 열기 위해서는 초기화 작업 후 함수를 호출하고 이 함수의 변Papy3FileOpen ,

수로 원하는 파일명을 지정한다 이 과정이 제대로 된다면 원하는 파일의PAPYRUS . Data

들과 이미지들 이미지들의 속성들에 대한 정보를 얻을 수 있다Set , .

파일 닫기2)

파일 닫기는 모드와 모드에 따라 달라진다Read Write .

가 모드 함수만을 호출한다 이 함수는 단순히 파일을 닫고 메모리) Read : Papy3Fileclose . ,

를 해제시키고 마친다.

나 모드 함수를 호출한다 이 함수는 파일을 닫을 때 파) Write : papy3WriteAndCloseFile .

일에 첨가하고자 한 데이터들을 기록할 뿐만 아니라 데이터 세트들의 오프세트와 이미지들

을 계산하여 저장하고 메모리의 내용을 지운 다음 파일을 닫는다, .

파일 생성3)

파일 생성은 함수를 호출하는 데 변수로는 파일 이름 이미지 데이터 세트Papy3FileCreate , , (

의 개수 개수 전송 문법 이미지들의 속성들을 사용한다) , , .

Page 82: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

다 데이터 세트의 생성과 닫기.

데이터 세트 생성1)

각각의 데이터 세트는 이미지들의 정보들을 가지고 있다 그러므로 저장하기를 원하는 이미.

지는 데이터 세트를 생성시키는 것이 필수적이다 함수는 를 사용한다. Papy3creatDataSet .

데이터 세트 닫기2)

쓰기 과정 중에서 데이터 세트의 정보를 모두 입력했다면 닫기를 실행해야 한다.

함수를 실행시켜 데이터 세트에 대한 닫기를 수행한다Papy3closeDataSet .

라 모듈에 대한 생성과 읽기.

모듈 생성1)

앞에서 언급했듯이 데이터 세트는 파일이 포함한 이미지 속성들에 따라 다른 모듈들로 구성

되어 있다 함수는 을 호출. Papy3CreatModule .

모듈 읽기2)

모듈은 부분적인 주제에 대한 변수들을 그룹 지은 논리적 개체 들로 구성되어 있다(Entity) .

이 모듈은 오픈된 데이터 세트에서 함수를 호출하여 필요한 정보를 읽는Papy3GetModule

다.

Page 83: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

마 데이터 세트 안의 이미지 삽입과 획득 방법.

이미지 삽인1) (Put)

은 파일 속에 이미지들을 삽입하기 위해 특별한 루틴을 사용한다 이는PAPYRUS Toolkit .

픽셀 데이터가 겹치지 않게 하여 메모리 효율을 높이기 위해서이다 아이콘이나 이미지 등.

을 삽입하는데 사용하는 함수는 이다Papy3PutImage .

이미지 획득2) (Get)

이미지획득에서도 메모리 효율을 높이기 위해 함수를 사용한다Papy3GetPixe1Data .

이미지 제작과 처리3.

본 시스템에서는 스캐너나 이미 저장돼 있는 이미지로부터 디지털 의료 영상을 입력 받는

다 그 다음 영상을 를 이용하여 환자 정보 및 제반 정보를 입력하거나 불러들인. PAPYRUS

다 이와 같은 개괄적인 작업을 다음 그림 을 통해 설명하고자 한다. 6.3 .

Page 84: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

그림 프로그램 순서6.3 PAPYRUS

이와 같은 작업을 통해 얻어진 의료 정보를 데이터베이스로 저장하여 진료처나 방사선과등

병원 정보 시스템에서 사용하게 된다.

Page 85: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 이미지 생성과 처리3 DICOM

의료 장비로부터 의료 영상 취득 부분은 의료 장비의 준비와 실제 구현의 어려움을 감안하

여 스캐너를 통해서 입력된 이미지 파일을 기본으로 한다 이렇게 입력된 파일JPEG . JPEG

에 관련된 를 함으로써 표준에 맞는 파일을Meta Information Header Encapsulation DICOM

생성된다.

표준에 맞게 제작된 파일을 에 저장되어 관리되며 진료와DICOM PACS Server Database ,

원격 의료회의 등의 사용자의 필요 시에 하는 과정을 통해 이미지들에 관련된 다양Parcing

한 정보와 로 구분되어 에 표시되어 진다 그림 에JPEG Image file Workstation . 6.4 DICOM

제작 및 처리를 도식화하여 나타내었다Image .

영상 입력 장치 의료 장비 로부터 의료 영상 제작은 표준을 기반으로 한( ) DICOM Papyrus

파일 포맷을 이용하여 파일을 제작 처리함으로써 방사선과의 업무를 대신하고 있다, .

Page 86: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 를 이용한 웹과 데이터 베이스 연동7 ADO

제 절 서버 객체 개요1

서버 객체 개요1.

서버 객체는 객체의 클래스에 의해 정의되는 하나 또는 그 이상의 인터페이스를 지원하는

컴포넌트이다 서버 객체 인터페이스는 미리 정의된 관련된 함수의 집합을 말한다 서버 컴. .

포넌트는 하나 또는 그 이상의 인터페이스를 정의하고 유일한 비트 에 의해 구128 ClassID

분된다 서버 객체는 클래스의 런 타임 인스턴스이다. - .

특정 객체는 자신의 클래스가 제공하는 모든 인터베이스를 위한 함수의 구현을 제공한다.

클라이언트는 서버 객체를 항상 인터페이스 포인터를 이용해 다룬다 클라이언트는 결코 객.

체에 직접적으로 접근하지 않는다 인터페이스는 전통적인 의미에서 객체가 아님을 이지하.

기 바란다.

모든 객체를 클라이언트는 객체의 생명을 제어할 수 있다 스테레오 시스템 비유를 사용하.

여 설명한다면 클라이언트는 인터페이스 잭에 맞는 정확한 종류의 플러그를 가지고 있어야,

한다.

제 절2 Active Server Page Object Model

내에서 서버 스크립트를 사용하는 것이 가능하기는 하지만 스크립트Active Server Page ,

언어 자체가 매우 한정된 기능만을 가지고 있으므로 실제 사용에는 많은 제약점이 있다 그, .

럼에도 불구하고 스크립트 언어는 한 가지 매우 유용한 기능을 가지고 있는데, Active

핵심 엔진을 이루는 객체의 메쏘드를 호출하고 프로퍼티를 설정함으로써 이를Server Page

조작할 수 있다는 것이다.

Page 87: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

는 서버 스크립트 언어를 통해 조작할 수 있는 특유의 객체 집합을 제Active Server Page

공한다.

전체적인 객체 모델 구조1.

우리의 서버 프로그램에서 사용할 수 있는 액티브 서버 페이지 핵심 엔진의 내장 객체는 6

개가 있다 브라우저 객체 모델을 비롯한 다른 객체 모델과 달리 액티브 서버 페이지 내장.

객체는 계층구조를 이루지 않는다 전통 적인 객체 모델의 부모 자식 관계가 아니라 서로. “ ” “ - ”

논리적인 관계를 이룰 뿐 이다 객체 모델 중 객체는 스크립트 전반에 걸쳐 사용되. Server

는 일반적인 유틸리티 기능을 제공하는 메소드와 프로퍼티들을 가지고 있다 객체는. Server

페이지가 실행되는 환경과 나머지 다섯 개의 객체가 액티브 서버 애플리케이션을 구성하기

위해 사용되는 환경을 나타낸다.

나머지 다섯 개의 객체는 및 객체이Application Session, Request, Response ObjectContext

다 마지막의 는 액티브 서버 페이지 에 추가된 것이다 아래의 다이어그램. ObjectContext 2.0 .

은 객체간의 관계를 보여준다.

Page 88: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이 다이어그램은 몇 가지 중요한 개념의 윤곽을 보여주고 있다 우선 단일 서버에 다수의. ,

애플리케이션이 실행될 수 있다는 것이다 객체는 단일 가상 디렉토리나 가상. Application

매핑 내에 저장된 스프립트 파일 파일 및 이미지 등의 집합으로 구성되어 있다 이, HTML .

러한 매핑은 서버 파일 시스템의 물리적인 디렉토리를 가리킨다 가상 디렉토리를 생성한다. .

핵심객체 와: Application Sessions●

앞에서 살펴 본 바와 같이 객체는 전체 액티브 서버 페이지 애플케이션을 대표, Application

한다 이 객체를 사용하여 해당 애플리케이션을 사용하는 모든 사용자간에 정보를 공유하도.

록 할 수 있다 각각의 은 다수의 세션을 가질 수 있다. application .

개체는 애플리케이션으로부터 페이지 혹은 문서 를 요청하는 각각의 사용자에게 할Session ( )

당되어 있다 객체를 사용하여 특정 사용자 세션을 위해 필요한 정보를 저장할 수. Session

있다.

Page 89: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

객체에 저장된 변수들을 애플리케이션 내에서 사용자가 페이지를 이동하더라도 파Session

기되지 않는다 대신 이러한 변수들을 사용자가 애플리케이션 내에 머무는 전체 기간동안. ,

유지된다 또한 메쏘드를 사용하여 명시적으로 세션을 종료시키거나 유휴상태의. Session ,

세션에 대한 시간 초과 시간을 설정할 수 있다(idle) .

애플리케이션과 세션의 개념은 액티브 서버 페이지 프로그래밍의 핵심이다 또한 우리가 페. ,

이지와 방문객을 연결하는 액티브 서버 페이지의 독특한 개념을 활용할 수가 있다.

세션 수명 와(lifetime ) : Requests Responses●

통신을 관리하기 위해서 액티브 서버 페이지는 클라이언트 요청의 모든 정보를 캡HTTP ,

쳐한 후 이를 저장하여 서버상에서 실행되는 애플리케이션이 이를 액세스 할 수 있도록 해

야 한다 이를 위해 브라우저의 세부 사항과 요청 자체 그리고 기타 정보 일체가. , , Request

객체에 저장된다 서버는 요청도중에 클라이언트 브라우저가 전송하도록 값들을 포. HTTP

착하여 이를 객체에 저장한다 스크립트는 이 객체의 메쏘드와 프로퍼티를 사용하Request .

여 취해야 할 행동과 리턴할 페이지의 종류를 결정한다.

객체는 클라이언트 브라우저에게 정보를 반환하기 위해 사용된다 이 객체는 클라Response .

이언트에게 보내질 모든 서버의 정보를 저장하고 있다 이 객체의 메쏘드와 프로퍼티를 사.

용하여 클라이언트 브라우저에게 반환될 정보를 다시 생성 및 수정할 수 있으며 요청을 다,

른 페이지로 리디렉트하는 것과 같은 기타 작업을 수행 할 수 있다.

Page 90: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

트랜잭션 : ObjectContext●

객체를 사용하여 액티브 서버 페이지 스크립트에 의해 시작되고 마이크로소ObjectContext ,

프트 트랜잭션 서버 에 의해 관리되는 트랜잭션을 적용 하거나 중단시킬 수(MTS) (commit)

있다 가 명령을 포함하고 있으면 페이지는 트랜잭션 내에서 실행. ASP @TRANSACTION ,

되며 트랜잭션이 성공적으로 종료되거나 실패할 때까지 프로세싱을 종료하지 않는다.

이제 각각의 객체와 객체를 구동하는 방법을 상세히 살펴보자.

의 내장 객체2. Active Server Page

는 다음과 같이 기본적으로 개의 내장객체 를 갖는다Active Server Page 5 (Intrinsic Object) .

가. Request Object

는 브라우저로부터 오는 정보를 에게 제공하는 것으로 다음과 같은 개의Request Object IIS 5

컬렉션으로 다시 나누어 볼 수 있다 컬렉션이란 동일한 객체의 집합으로 볼 수 있으며 비. ,

유하자면 객체의 배열로 표현될 수 있다.

Collection 설명

QueryStuing문자열 안에 있는 각 변수들HTTP Query

의 값

Form 태그에 따린 요소들의 값<FORM>

ServerVariables 환경 변수들의 값HTTP

Cookies 브라우저가 보낸 쿠키 값

CoientCertificate 브라우저가 보낸 클라이언트 인증값

표 7.1 Request Object

Page 91: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

나. Response Object

는 브라우저가 서버측에 전달한 정보를 조사할 때 사용하는 것이라면Request Response

는 서버에서 브라우저에게 정보를 보낼 때 사용한다Object .

Method/Property 설명

Write 브라우저에게 문자열 혹은 변수 값을 보냄

Redirect 해당 에게 옮겨가도록 지시URL

Cookies Collection 브라우저에게 보내는 쿠키들의 정보

표 7.2 Respose Object

다. Server Object

는 거의 모든 에서 사용되는 몇가지 기본적인 속성과 메Server Object Active Server Page

서드를 가지고 있다.

Method/Property 설명

CreateObject Method객체 또는 서버 컴포넌트의 인스턴스를 생성

ScriptTimeoutProperty

스크립트가 실행되는 제한시간

HTMLEncode Method태그를 실행하지 않고 문자열로 보HTML

URL Encode Method 을 문자열로 보낼 때 사용URL

MapPahe Method가상디렉토리를 물리적디렉토리로 변환

표 7.3 Server Object

Page 92: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

라. Application Object

이란 에서 하나의 가상 디렉토리를 할당 받아 특정한Application Internet Information Server

업무를 수행하도록 구현된 모든 파일들의 집합을 의미한다 는. Application Object

전체에 관여된 이벤트를 정의하거나 전역 변수를 정의할 수 있다Application .

마. Session Object

는 클라이언트가 웹 서버에 접속할 때 특정 함수를 실행하거나 변수Session Object Session

를 초기화할 때 사용한다.

Method/Property/Event 설명

OnStart Event 세션이 맺어질 때 실행되는 이벤트

OnEnd Event 세션이 끝나거나 값을 초과했을때timeout

TimeOut Property 시 세션이 유지되는 제한시간IDLe

SessionID Property 유저에 대한 세션 ID

Abandon Method 세션을 강제로 끊고 자원을 해제

표 7.4 Session Object

< % Session. TimeOut = 30%>

< % = Session. SessionID %>

Page 93: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절3 ActivieX Data Object

데이터 객체 개요1. Active X .

데이터 객체 는 진정으로 모든 종류의 데이터에 대한 액세스를 제공하는 연결Active (AOD)

메커니즘이다 가장 흔한 용도는 관계형 데이터 베이스에 저장된 데이터와 클라이언트 애플.

리케이션을 연결시키는 것이다 이는 액티브 서버 페이지 경우에는 비베 스크립트나 스크. , J

립트와 같은 스크립팅 언어를 사용하여 데이터베이스와 상호 작용하는 것을 의미한다. ASP

폼의 융통성과 결합됨으로써 는 인터넷상에서 작동되며 특정 클라이언트 브라우저에, AOD

국한되지 않은 클라이언트 서버 애플리케이션을 만들 수 있도록 해 준다/ .

데이터 인터페이스2. ADO

는 간단하게는 를 통해 관계형 데이터베이스와 연ADO Open Database Connectivity(ODBC)

결되도록 설계되었다 가 지원되는 데이터 원본이라면 어떤것과도 연결될 수 있다 이. ODBC .

는 서버 오라클 액세스 등과 같은 엄밀한 의미의 데이터베이스뿐만 아니라 마이크로SQL , , ,

소프트 과 같은 스프레드시트나 평범한 포맷의 텍스트 파일과도 연결이 가능함을 뜻한Excel

다 그러나 는 실제로 라 불리는 기술을 기반으로 구현되어 있다 그러나. ADO OLE DB .

는 실제로 라 불리는 기술을 기반으로 구현되어 있다 는 내부의 포ADO OLE DB . OLE DB

함된 메쏘드와 프로퍼티를 통해 일관된 데이터 인터페이스를 제공한다.

와 액티브서버 페이지와 액세스 할 수 있는 데이터 형식은 데이터 뿐만 아니라ADO ODBC ,

예를 들어 윈도우 디렉토리 데이터 현재 이 기술은NT - Active Directory Services

라고 불린다Interface(ADSI) .

Page 94: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

데이터 제공자# (provider)

가 라는 또 다른 레이어 위에 구현되어 있으므로 데이터 원본과의 연결에 이ADO OLE DB ,

어서 추가적인 레이어를 지정해야 할 필요가 있다 바꿔 말하면 단지 드라이버 소프트웨어. ,

만을 고려하는 것으로는 충분히 않고 실제 정보의 제공자 가 무엇인가(ex. ODBC) , (provider)

를 고려할 필요가 있다는 것이다 전에는 로 알려진 는 바로 가장 인기. MSDASQL , ODBC

있는 제공자 중의 하나이다OLE DB .

의 기능은 제공자의 기능에 따라 큰 차이가 있다 몇몇 객체는 다른 방식으ADO OLE DB .

로 작동할 수 있으며 프로퍼티가 없어질 수 있으며 심지어 어떤 객체들은 아예 존재하지,

않거나 사용이 불가능할 수도 있다.

또한 드라이버를 사용할 때의 의 기능도 드라이버의 기능에 따라 큰 차이ODBC ADO ODBC

가 있다 예를 들면 대다수의 드라이버가 모든 커서 형식을 제공하지는 않는다 그러. , ODBC .

나 에서 사용가능한 커서 형식과 커서 형식을 사용하지 않는다 는 서버가ADO ODBC . ADO

지원하기만 한다면 클라이언트나 서버상에서 의 커서를 사용할 수 있도록 해 준다ADO .

서버 는 지원하지만 오라클은 지원하지 않는다 또한 서버와 액세스(SQL 6.5 , .) , SQL ODBC

는 라는 프로퍼티를 제공하는데 대부분의 다른 데이터베이스 드라이버AbsoultePage , ODBC

는 이를 지원하지 않는다.

Page 95: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

따라서 실제로 의 베일 뒤에서 일어나고 있는 것들은 이해하는 것은 간단한 일이 아, ADO

니다 다행히도 차 내부의 구조에 대해서 이해하는 것이 나쁠 것은 없지만 차를 운전하기. , ,

위해서 기계공이 될 필요는 없을 것이다.

객체 모델3. ADO

는 마이크로소프트 엑세스나 다른 객체 기반의 애플리케이션에 포함된 것들보다 단연ADO

간단하고 명료한 데이터베이스 엑세스를 제공하는 메커니즘이다 예를 들어 계층 구조는. ,

오직 개의 메인 객체 와 몇 개의 부속 객체의 컬렉션3 -Connection, Recordset, Command

를 가지고 있다-Parameters, Properties, Errors- .

객체를 사용하면 다른 곳에 저장된 데이터에 대한 액세스를 제공하는 액티브 연Connection ,

결을 성립시킬 수 있다 이 데이터 원본으로부터 레코드를 얻고 질의를 실행하고 혹은. , SQL ,

데이터를 직접조작하기 위해서는 객체를 사용한다 객체는 질의나Command . RecordSet SQL

저장 프로시저 수행결과로 반환되는 데이터나 테이블 열기에 반환되는 데이터에 대한 엑세

를 제공한다.

및 객체는 지금까지 살펴본 많은 객체들과 마찬가지로 각Connection, Command Recordset ,

각 한 개의 컬렉션을 가지고 있다 객체는 또한 객체의 컬렉션Properties . connection Error

을 가지고 있는데 이는 객체를 사용하는 도중에 발생하는 에러에 대해 상세히 기술하고 있,

다 마지막으로 객체는 한 개의 컬렉션을 포함하고 있다 이 컬렉션이 각. , Recordest fields .

각의 구성원들은 객체이며 이는 레코드셋이 개별필드에 대한 정보를 포함하고 있다Field , .

Page 96: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

지금으로선 이러한 용어들이도대체 무엇을 뜻하는지에 대해서는 염려하지 않아도 된다 예, .

제에서 이것들을 사용하게 되면서 하나씩 언급하게 될 것이다.

훨씬 간단한 객체 계층구조 뿐만 아니라 는 대부분이 다른 메인 스트림 데이터베이, ADO

스 애플리케이션보다 뛰어난 융통성을 개발자들에게 제공한다 예를 들면 객체. , Connection

가 다이어그램의 최상부에 위치하고 있지만 레코드셋을 만들 때 이것을 사용할 의무는 없,

다 사실 객체는 계층 구조를 따를 필요없이 독자적으로 사용될 수 있다 잠시 후에 이에. , .

대해 다루게 될 것이다.

그러나 우선 데이터 원본에 연결하는 방법과 데이터를 조작하는 방법을 살표보기로 하자, .

가 제공하는 개의 메인 객체를 살펴보는 것부터 시작하기로 한다ADO 3 .

의 메소드와 속성4. ActiveX Data Object

가. Connection Object

메소드1) Open

를 이용하여 서버에 연결하기 위해서는 의 를 사용한다 먼저ADO Connection Open Method .

의 인스턴스를 만들고 적절한 연결 스트링을 설정함으로 해서 연결이 생Connection Object

성된다.

<%

Set Conn = Server .CreateObject(“ADODB. Connection”)

Conn. Open “dental”,“sa”, ””

%>

Page 97: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

위의 예에서 은 데이터 소스명을 나타내는 것으로 미리 제어판에서 데이터“dental” ODBC

소스를 설정해 주어야 한다.

메소드2) Execute

서버와 연결된 이후에 메소드를 이용하여 문장을 실행시킬 수 있다Execute SQL . Execute

는 서버의 데이터를 조작하거나 특정 자료를 클라이언트로 가져올 수 있다SQL .

<%

Set Conn = Server. CreateObject(“ADODB. Connection”)

Conn. Open“dental”,”sa”,:””

Conn. Execute “Delete Patient where userid='a100'”

%>

메소드3) Close

을 모두 사용한 후에 이를 닫기 위해서는 메소드를 사용한다 실제 객체가Connection Close .

사용하던 리소스를 비우려면 다음과 같이 을 설정해 준다Nothing .

<%

Conn . close

Set Conn = Nothing

%>

Page 98: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

나. Command Object

Method 설명

CreateParameter 새로운 매개변수를 설정한다.

Execute속성에 있는 문CommandText SQL ,를 실행시킨다Stored Procedure .

속성 설명

ActiveConnection객체에서 사용될 을Command Connection

지정

CommandText 실행될 명령 문자열

CommandTimeout 명령 실행 제한 시간

CommandType 의 타입CommandText

Prepared실행전에 를 생성할 지Prepared Statement를 결정

표 7.5 Commend Object

<%

Set Cmd = CreateObject(“ADODB.Command”)

Cmd . ActiveConnection = “DSN=dental;UID=sa;PWD=1234;”

Cmd . CommandText = “UPDATE diagnose”

Cmd . CommandType = acCmdText

Cmd . CommandTimeout = 30

Cmd . Executd

Set Cmd . ActiveConnection = Nothing

%>

Page 99: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

다. Recordset Object

메소드 설명

Open 레코드 세트 열기

AddNew 새 레코드를 추가하기

Update 현재의 레코드 갱신 저장

CancelUpdate 현재의 레코드 갱신 작업 취소

Delete 현재 레코드 삭제

Move레코드 이동 현재 레코드 기준으로 상대적으로 이,동

표 7 .6 Recordset Object

Page 100: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 웹상에서의 트랜잭션8 MANAGEMENT

제 절 관리 정의1 Transaction

트랜잭션 은 데이터베이스 어플리케이션에서 하나의 논리적 기능을 수행하는 작(transaction)

업이다 즉 여러 데이터 항복을 액세스하고 갱신할 수 있는 프로그램의 실행단위이다 각 트. .

랜잭션은 원자성과 일관성의 단위이다 그러므로 트랜잭션은 어떠한 데이터베이스 일관성.

제약 조건도 위반해서는 안된다 즉 트랜잭션이 성공적으로 종료되었을 때에도 일관성을 가. ,

져야 한다 그러나 트랜잭션이 이루어지는 동안 일시적인 불일치를 허용해야 할 필요가 있. , ,

다.

이러한 일시적인 불일치가 필요하기는 하지만 고장이 발생하면 어려움을 야기시킨다 데이, .

터베이스에서 여러 개의 트랜잭션이 동시에 실행되는 동안에는 데이터의 일관성이 유지되지

않는다.

그러므로 시스템이 동시 프랜잭션간의 상호 작용을 제어해야 한다, .

즉 트랜잭션은 기본적인 연산의 집합인데 이들은 전부 수행되는지 아니면 한도 수행되지,

않는지 두 가지 경우만을 만들어 낸다.

본 시스템에서는 분산 시스템에서 중복된 자료의 유지를 위한 수단으로Data Integrity

를 설계하였다Transaction Management .

다음은 트랜잭션의 가지 특성이다4 .

원자성1. Atomicity( )

Page 101: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

트랜잭션의 동작이 모두 완료되거나 또는 아무것도 작동하지 않아야 하는 단일조작단위로

처리된다 이것을 전부 아니면 전무 특징 이라고 하며 모든 작동이 성공적으로 수행한 경. “ ”

우 그것을 확약되었다고 한다, .

일관성2. Consistency( )

가 오류가 없는 정확한 상태를 유지해야 하는 특성Database

고립성3. Isolation( )

트랜잭션이 확약 되기 전에는 동시에 수행되는 다른 트랜잭션에 결과를 노출시키지 않는다.

고립성은 갱신되고 있는 데이터에 대한 트랜잭션이 접근방지를 보장한다.

지속성4. Durability( )

트랜잭션이 일단 성공적으로 완료되면 이후에 어떤 형태의 시스템 고장이 발생되더라고 그

트랜잭션의 결과를 잃어버리지 않는다.

제 절 이점2 Transaction Processing

단일 사용자 모드에서 애플리케이션을 개발한 다음에 수백 수천 명의 사용자 수준으로 확,

장하는데 트랜잭션 프로세싱 시스템을 사용할 수 있다는 이점을 가지고 있고 또한 트랜잭션

프로세싱 시스템은 성공적으로 완료되지 못한 프랜잭션의 자동적인 롤백을 지원한다 이.[12]

러한 트랜잭션 프로세싱 시스템을 사용함으로써 좀더 손쉽게 구현될 수 있는 것이다 이러.

한 것들에는 삼중 계층 애플리케이션 모델의 개념 다수의 시스템에 분산된 애플리케이션, ,

그리고 소위 트랜잭션 프로세싱 시스템의 프로퍼티로 알려진 장점 등이 포함된다ACID .

Page 102: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

명시적으로 아키텍처를 개발하지 않고도 애플리케이션을 구성하는 컴포넌트를 별도의 서버,

들에 걸쳐 분산시킬수 있는 능력은 트랜잭션 프로세싱 시스템의 또 다른 장점이다 또한 트.

랜잭션 프로세싱 시스템은 트랜잭션이 원자성 일관성 격리 및 내구성을 보장되도록 해준, ,

다.

제 절 웹상에서 분산 설계3 Transaction Management

에서 자료의 일관성을 위한 를 설계하기Distributed database System transaction Manager

위해서는 에서의 접근을 화 시켜 관리함으로써Application Database Transaction Distributed

에서의 중복된 자료의 일관성을 유지해야 한다Database System .

따라서 의 접근을 화 시키기 위한 단계를 다음 그림으로Application Database Transaction

도식화 하였다.

Page 103: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

분산 데이터베이스 시스템에서 중복된 자료의 불일치 현상을 분석한다.●

에서 요구되는 의 유형을 분석한다Application Transaction .●

분산된 의 상호 일치성 및 원자성에 위배되지 않게 분석한다Transaction .●

분산 의 개발을 통한 결과를 분석한다Transaction .●

가 분산되어지고 하나의 데이터 항복이 중복 저장되면 필연적으로 발생하게 되는Database

문제가 바로 자료의 를 보장하는 문제이다 즉 원본에 문제가 생겼을 때 적시에 모Integrity . ,

든 사본에도 변경을 반영해야 하는 것이다 실제 구현된 역시 와. System Local DB Main

사이의 자료의 중복으로 인해 양단간의 자료의 불일치성이 유발될 문제점이 크다 이를DB .

해결하기 위해 다음과 같은 를 설계하였다Transaction Management .

각 트랜잭션은 데이터베이스의 일관성을 유지하는 프로그램으로 트랜잭션과 관계 있는 모든

연산 둘은 완전히 실행되거나 전혀 실행되지 않아야 한다 이를 트랙잭션의 원자성이라고, .

한다.[11]

이런 원자성을 만족시키기 위해서 성공적으로 완료된 은 완료 됨으로서Transaction Commit( )

데이터베이스 일관성 상태를 유지할 수 있다 도한 수행 중 중단 시에는 복. Abort( ) Rollback(

구 함으로써 이 수행되기 이전 상태로 복귀되어야 한다 기본적으로 트랜잭션) Transaction .

에 관계된 업무들을 트랜잭션 객체화 하여 를 통해 관리함으로써 업무Transaction Manager

의 특성에 따라 여러 곳에서 분산되어 수행되는 트랜잭션 업무도 성공적으로 이루질 수 있

다.[11][12]

Page 104: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

그림 에서 은 이고 은 이며 는8.2 TM Transaction Manager RM Resource Manager(DBMS) AP

에서 수행되는 수준의 프로세서를 의미한다Server Application .

Page 105: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 분산객체를 이용한 인트라넷 모델의 성능 개선9

제 절 분산 애플리케이션과 사용자1

컴퓨터 기능의 핵심은 정보를 교환할 수 있는 능력이다 이러한 정보는 전자우편에서부터. ,

회계 데이터 혹은 그림에서 개인적인 정보에 이르기까지수 백만 가지의 형식과 포맷을 가,

지고 있는 문서에 담겨질 수 있다 이러한 모든 종류의 정보들이 공유하는 것은 컴퓨터들을.

연결하는 네트웍이다.

그렇다면 우리가 로컬 네트웍에서 인트라넷이건 엑스트라넷이건 혹은 월드 와이드 웹이건,

간에 웹으로 바꾸고자 한다면 우리의 애플리케이션이 네트웍을 통해 전체 파일을 끌어오는,

것을 막아야 한다는 것이 분명해진다.

실제로 우리의 애플리케이션의 실행은 서버상에서 제어는 클라이언트상에서 이루어져야 한, ,

다 이미 사용자들이 마치 로컬 작업을 하는 것처럼 애플리케이션을 수행할 수 있도록 해.

주는 많은 원격 액세스 기술들이 발표되었다 그러나 이러한 것들은 완전한 의미에서의 웹.

애플리케이션이라고 할 수 있다 우리가 원하는 것은 서버상에서 실행되는 우리 자신만의.

커스텀 애플리케이션의 서비스를 사용할 수 있는 웹 페이지를 디자인하는 것이다.

원격 애플리케이션 제어1.

만일 자신만의 커스텀 애플리케이션을 이러한 새로운 환경에 적응할 수 있도록 개조하고자

한다면 우선 인터페이스와 작동 부분을 분리시킬 수 있는 방안을 찾아야 한다 그 다음에, . ,

그것들을 웹이나 사내 인트라넷을 통해 다시 연결시킬 수 있는 방안을 마련해야 한다.

Page 106: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제어 정보에 대한 사용자 정의 포맷을 생성하여 이를 를 통해 전송하는 것이 가능하, HTTP

기는 하지만 이것은 손쉬운 해결책이라고 할 수는 없다, .

컴포넌트 다루기2.

애플리케이션을 웹에 잘 적응하도록 변환할 수 있느냐의 여부는 애플리케이션 자체에 달려

있다 만일 현재의 경향을 따라서 컴포넌트를 작성하여 애플리케이션을 구성한다면 성공가. , , ,

능성은 매우 높다 사실 애플리케이션 자체를 컴포넌트로 구성하고 기존의 컴포넌트를 사. , ,

용함으로서 얻어지는 효과는 그것을 웹에 맞게 재구축함에 따라 이제부터 빛을 보기 시작,

하고 있는 것이다.

이러한 경우 인터페이스와 백엔트 사이의 경계선은 더욱 명확해지고 그로 인해 웹으로의,

적응은 더욱 쉽게 이루어질 수 있다.

일단 분리를 완수하고 나면 클라이언트상에서 일반적인 페이지를 사용하여 정보를, HTML

수집하고 이를 서버상의 액티브 서버 페이지에 전송할 수 있게 된다 다음에 이러한 스크, . ,

립트들은 백엔드의 컴포넌트들을 조작하여 필요한 작업을 수행하고 결과를 일반적인,

로 다시 클라이언트에게 반환한다HTML .

제 절 분산객체의 기법2

인터넷 기술의 발전과 네트웍 인프라의 향상으로 분산 컴퓨팅 환경이 자리잡아 가고 있다.

환경의 중심에 컴포넌트 기반 소프트웨어 구조가 자리잡고 있다.

Page 107: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이를 통해 네트워크 프로그램의 캡슐화가 가능하고 관련 프로그래밍을 단순화 시킬 수 있으

며 소프트웨어 재사용성을 높일 수 있다.

분산 컴퓨팅의 환경에 적용하는 분산 객체 모델이 두 가지 표준이 등장하였는데 과DCOM

이다CORBA .

본 모델에서 작용한 분산 객체는 을 따르고 있다 는DCOM . DCOM Object Remote

를 제공한다Procedure Call(ORPC) .

서버는 다중 객체클래스의 객체 인스턴스를 만들어 낸다 분산 객체는 다중의 인터페이스와.

이에 연관된 메쏘드로 이루어진다.

클라이언트는 객체 인터페이스에 대한 포인터를 획득하고 서버객체와 상호 작용하며 그 포

인터를 통해 메쏘드를 호출하고 마치 객체가 클라이언트의 공간에 존재하는 것처럼 생각하

게 된다.

원격으로 대용량의 병원 업무 데이터를 제공하고 처리함에 있어서 데이터베이스 트랜잭션의

성능 향상은 주요한 과제이다.

본 시스템에서 데이터베이스 트랜잭션을 처리하는 요소 기술은 Active Server Page,

를 사용한다 는 이고ActiveX Data Object, MS-SQL Server DBMS . ASP Server Side Script

안에서 분산 처리 객체로 정의되는 서버 컴포넌트를 호출하고 실행할 수 있다Script [15] .[16]

본 시스템의 주요한 성능의 문제인 을 분산 객체를 도입했다 각각의Database Transaction .

캡슐화된 객체가 데이터베이스 트랜잭션을 처리하게 했다 데이터베이스 트랜잭션을 적절한.

서버 모듈로 분리하여 성능 향상을 시도할 수 있게 된다.

Page 108: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 분산객체를 이용한 인트라넷 모델의 성능 평가 및 결과3

분산객체 응용 제안모델1.

본 시스템에서 을 처리하는 요소기술은Database Transaction Active Server Page, Activex

를 사용한다 란 에 제공되는 확장엔Data Object, MS-SQL server DBMS . ASP Web Server

진의 일종이며 서버측에 이라는 파일로 존재한다 는 이고Asp. dll . ASP Server Side script

안에서 분산처리 객체의 하나인 를 호출하고 실행할 수 있Script ActiveX server Component

다.

란 데이터 접근시 사용되는 표준 메소드와 속성을 갖는 객체들의 집합이다 즉 는ADO . ADO

서버측에서 실행되는 의 일종이다Server component .

모델의 중요한 성능의 문제인 의 성능을 로구현함으로서Database Transaction Database

을 효과적으로 분산 처리함으로 말한다 분산 분산 객체 기술을 적절Transaction . Database

히 사용하면 본시스템의 성능 향상을 가져올 수 있다 다음과 같이 순수하게 객체를. ASP

사용하는 경우와 로 했을 때의 성능비료를 비교한다 서버의 트랜ActiveX Dll Encapsulation .

잭션 성능을 높이기 위해서 가 담당하는 을 적절한 서버 모듈로ADO Database Transaction

분리 분산된 서버 객체로 하여금 을 분산하여 처리하게 함으로써 전체 인트라넷, transaction

응용 프로그램의 성능 향상을 기대할 수 있다.

여기서 적절한 서버 모듈로 분리한다는 의미는 가 데이터 접근시 사용하는 객체와 메ADO

소드 그리고 속성이 갖는 기능을 적절히 분해하여 모델을 따르는 분산 객체로 구현DCOM

함을 말한다 이 때의 처리 시간을 비교해 보았다 다음의 그림 은 서버 객체를 웹 서버. . 9.1

의 객체 저장소에 라이브러리화하여 위치시킨 후 사용자의 요구를 분산 처리하는 구조를 설

명하고 있다.

Page 109: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

처리 구조의 주안점2.

그림 의 분산객체응용 제안모델 처리구조의 주안점은 다음과 같다9.1 .

서버와 클라이언트 사이의 객체 저장소를 둠(Server Component)●

와 가 담당하는 데이터베이스 트랜잭션을 적절한 서버 모듈로 분리SAP ADO●

서버 모듈을 로 구현하고 분산 트랜잭션 처리에 응용ActiveX Server component●

레이어 방법론에 근거한 비즈니스 로직과 데이터 액세스 로직을 서버 컴포넌트로 캡슐화●

로직의 사용을 제안하여 프리젠테이션 로직의 생성을 제어하는 데에만 사용ASP●

Page 110: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

복잡한 계산의 캡슐화3.

이러한 종류의 계산의 예스 리스 를 파기하는 비용을 계산하는 데 사용되는 순 현재(Lease)

가격의 산출과 같은 것이 있다 이 계산은 많은 리스들이 미래에 대여가 증가하는 것을 대.

비한 공식을 갖고 있다는 것을 고려한다 이러한 계산을 수행하기 위하여 컴포넌트. ActiveX

를 사용하는 경우 의 고유 객체를 사용한 경우의 성능을 비교해 보았다Active Server Page .

복잡한 계산을 객체로 캡슐화했을 때의 걸린 시간은 팬티엄에서 약 초의 시간이 걸린 것을9

알 수 있었다 반면에 의 고유 객체를 사용했을 경우 약 초가 걸린 것. Active Server Page 7

을 확인했다.

이것은 아마도 클래스를 부르는 것과 관련된 오버헤드가 직접 계산을 통해 수행하는 데서

생기는 속도 이익보다 거 크기 때문인 것으로 보인다.

분산 객체를 이용한 인트라넷 성능 개선4.

이를 위해 정상 모드에서 애플리케이션 프로그램 분산 객체를 사용하Active Server page

는 것과의 비교자료를 제시한다.

여기서의 처리 조건은 개의 데이터를 가진 에서 개의 값을 불러오는 경16000 Database 1000

우로 결정했다.

객체와 객체 모델로 구현했을 경우 애플리케이션이 완료되는데 약Active Server Page ADO

초가 걸렸다6 .

이제 동일한 애플리케이션을 분산 객체로 캡슐화했을 경우는 약 초가 걸렸다 이것을 통해4 .

우리는 서버에 분산시킬 고유의 객체를 최적화하여 구현하고 이로 하여금 데이터베이스 트

랜잭션을 담당한다면 인트라넷 모델에서는 중요한 성능향상을 기대할 수 있게 된다.

Page 111: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

본 치의학 정보시스템의 인트라넷 모델에서 대용량의 데이터베이스를 진단서 자료로 설정하

고 분산 객체와 스크립팅 객체와의 처리시간을 비교해 보았다 역시Active Server Page .

상에서는 초간의 성능차이를 나타내었다 상에서 역시 초간의 데이터베이스 트LAN 2 . WAN 2

랜잭션 처리향상을 확인할 수 있었다.

복잡한 계산응답 트랜잭션 응답

스크립팅 처리 초7 초5-6

ActiveX Server기반

처리Component초9 3-4

표 분산 객체와 스크립팅 객체와의 처리시간을 비교9.1 AS

성능향상에 대한 근거5.

모든 것이 안에서 쓰여진 동일한 보다 고유 객체를 사용할 수 있는VBScript Application

로 변환한 것이 좀더 빠름을 알 수 있다 분산해서 생성한 고유Activex server Component .

의 객체가 데이터 인터페이스를 제공하면서 데이터베이스 트랜잭션을 캡슐화하여 처리ADO

함으로서 성능향상을 가져올 수 있다 복잡한 계산처리의 경우를 살펴보면 고유객체를 생성.

하는 오버헤드가 스크립트에서 직접 계산을 수행하는 속도이익보다 크기 때문이다.

Page 112: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

데이터베이스 트랜잭션의 경우에는 의 기능을 단순화하고 캡슐ActiveX Server Component

화를 통한 프로세스 최적화로 인한 응답속도 개선을 확인할 수 있었다.

Page 113: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 화상회의 시스템의 설계와 구현10

제 절 화상회의 시스템의 개요1

최근 지속적인 컴퓨터 시스템의 성능 향상과 통신망의 확대로 통신망 서비스를 이용하는 컴

퓨터 사용자들이 많아지고 있다 또한 단순한 정보의 공유와 이용 뿐만 아니라 고속의 통신.

망을 통해 여러 사용자들이 공동 작업을 수행할 수 있는 환경도 제공할 수 있게 되었다 이.

러한 통신망에 연결된 컴퓨터를 통해 그룹활동을 지원하고자 하는 요구로 컴퓨터 지원 협동

작업 혹은 그룹웨어 라고 하(Computer-Supported cooperative Work : CSCW) (groupware)

는 새로운 응용분야가 탄생하게 되었으며 이러한 정보통신 서비스의 실현은 최근 멀티미디,

어 기술의 등장과 함께 더욱 가속화되고 있다.

화상회의 시스템은 그룹활동을 지원하는 대표적인 시스템으로서 분산되어 있는 참가자들의

회의 참여를 용이하게 하고 회의 진행시 참가자들이 여러 매체를 이용하여 정보를 주고 받

들 수 있는 통신 환경을 제공해 준다 이러한 시스템은 자신의 사무실 또는 집에서 회의 참.

여가 가능하므로 회의 참석을 위해 이동해야 하는 비용 노력 및 시간을 감소시킬 수 있고, ,

컴퓨터 통신망을 통하여 분산된 여러 프로그램과 데이터를 서로 공유할 수 있는 이점이 있

다.[17]

일반적으로 화상회의 시스템은 상대방의 모습을 보면서 대화할 수 있도록 비디오 오디오,

기능을 기본적으로 갖추어야 하며 그 외에 높은 수준의 서비스를 위한 다음과 같은 기능들,

을 가지고 있어야 한다.

Page 114: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

전자 화이트 보드●

사용자가 실시간으로 데이터 화면을 공유하고 주석을 붙일 수 있도록 하는 기능이다 회의.

실에서 화이트 보드에 그림을 그리고 글씨를 쓰면서 설명하듯이 컴퓨터와 네트워크를 통해

원거리 사용자와 가상의 회의실에서 가상의 화이트 보드를 이용할 수 있다 말과 표정으로.

만 설명하기 어려운 복잡한 내용도 전자 화이트 보드를 사용하면 원거리 사용자에게 쉽게

설명할 수 있다.

화면 공유 기능●

원거리에 있는 작업자와 동일한 데이터 동일한 응용 프로그램으로 공동 작업을 해야 할 경

우에 필수적인 기능이다 예를 들면 오토 와 같은 응용 프로그램으로 화면을 보. CAD CAD

면서 공동작업을 수행할 수 있다 자신의 컴퓨터에 나타난 도면을 화면 공유 기능을. CAD

이용하여 원거리에 있는 작업자의 컴퓨터에 그대로 보여 줄 수 있다.

파일 송수신 기능●

데이터 파일을 사용자간에 주고 받는 기능으로 네트워크 서비스에 의해 구현할 수 있다.

다자간 회의 기능●

동시에 여러 사람이 화상회의에 참석할 수 있게 해주는 기능으로 적어도 명에서 명까지는4 6

지원할 수 있어야 한다 화상회의에 참석할 수 있는 시스템이 많을수록 화면의 크기와 네트.

워크의 대역폭에 제한을 받게 되나 대 의 화상회의만 허용되는 것은 진정한 의미의 화, 1 1

상회의 시스템의 기능에 적합하지 않다.

Page 115: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

추가 접속자 지원 기능●

화상회의 진행되는 동안에도 새롭게 연결을 시도해 오는 사람을 회의에 참석 시키는 기능이

다.

다음 장에서는 다수의 사용자끼리 기본적으로 영상과 음성 통화가 가능하고 프로그램 공유

와 파일 전송 등의 유용한 기능을 지원하는 화상회의 시스템을 설계하고 구현해본다.

제 절 화상 회의 시스템 개발2

화상 회의 시스템은 원격의 거리에 있는 회의자가 한 장소에 모이지 않고서도 통신망을 이

용해 공동의 작업을 수행하고 토의할 수 있는 시스템이다 이전에는 고가의 통신 장비를 갖.

추어야 가능했던 이러한 화상 회의 시스템은 날로 발전하는 컴퓨터 관련 기술과 인터넷등

통신 네트워크의 사용이 증가하면서 가정에서도 개인 컴퓨터를 이용해 저렴한 비용으로 쉽

게 구축할 수 있게 됐다.

여기서는 데스크탑 컴퓨터를 기반으로 한 저가의 화상회의 시스템을 개발하는 데(desk-top)

필요한 비디오와 통신에 관련된 프로그램 방법 및 프로토콜에 대해 설명한다.

화상 회의 시스템을 구현하는 데 다음과 같은 하드웨어 및 소프트웨어를 사용하였다.

펜티엄 대PC 2

카메라CCD

영상 압축 보드 대(Intel Ind 3.2)

양방향 사운드 카드

Page 116: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

Ethernet Network

Visual C++ 5.0 compiler & Windows '95 SDK

제 절 비디오 프로그래밍3

화상 회의 시스템에서 비디오 통신은 가장 핵심적인 부분이며 그것의 시각적인 효과로 인하

여 음성이나 문자만을 전송하는 기존의 통신 시스템과 뚜렷이 구분되어지는 특징을 갖게 된

다 비디오 통신을 하기 위해서는 비디오의 캡쳐 와 저장 그리고 화면으로 출력하는. (capture)

기능이 필수적으로 요구되며 이것의 성능의 전체 시스템의 성능을 좌우한다고 해도 과언이

아닐 것이다 여기서는 비디오를 제어하는 이러한 기능들을 애플리케이션 내에 프로그램하.

는 방법에 대해 설명한다.

AVICap window class[18]

에서 에 관한 부분 중 비디오를 캡처하는 기능을 제공하는Win32 SDK Multimedia AVICap

가 있다 이 를 이용하여 애플리케이션 내에 비디오 캡처 기능을 쉽게window class . class

첨가할 수가 있다.

은 비디오와 웨이브 형태의 오디오를 취급하는 하드웨어를 액세스할 수 있는 간단AVICap

하고 메시지에 기반한 인터페이스 를 제공하여 비디오 스트림을(message based interface)

디스크에 캡처할 수 있다 은 실시간으로 비디오 스트림 내지는 단일 프레임을 캡처. AVICap

할 수 있는 기능을 지원하며 비디오 소스를 컨트롤 할 수 있는 MCI(Media Control

를 제공한다 를 사용하여 생성한 윈도우는 다음과 같은 일Interface) . AVICap window class

을 수행할 수 있다 오디오와 비디오 스트림을 파일로 캡처한. AVI(audio-video interleaved)

다 비디오 또는 오디오 입력 장치를 동적으로 연결하고 끊는다. .

Page 117: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

입력되고 있는 비디오 신호를 나 방식으로 생생하게 보여준다overlay preview .

캡처할 때나 캡처한 내용을 다른 곳에 복사할 때 사용할 파일을 지정하고 캡처율(capture

을 설정한다rate) .

비디오 소스와 포맷을 제어하는 다이얼로그 박스 를 디스플레이한다 파레트를(dialog box) .

생성하고 저장하고 로드한다.

이미지와 파레트를 클립보드에 복사한다 단일 이미지를 로. DIV(device-independent bitmap)

캡처하여 저장한다.

캡처 원도우의 스타일

에서 캡처 윈도우는 개념적으로 표준 컨트롤 버튼 리스트 박스 또는 스Microsoft Windows ( ,

크롤 바와 같은 과 유사하다 특히 캡처 윈도우는 윈도우 스타일 중 와) . WS_CHILD

을 사용한다WS-VISIBLE .

캡처 원도우의 생성AVICap

의 캡처 윈도우 생성은 함수를 사용한AVICapo window class 'capCreateCapture WIndow'

다 이 함수는 캡처 윈도우임을 증명하고 애플리케이션에서 윈도우로 메시지를 전달할 때.

사용되는 핸들을 리턴한다 애플리케이션 내에 둘 이상의 캡처 윈도우를 생성할 수 있으며. ,

각각의 윈도우를 다른 캡처 장치와 연결할 수 있다.

hWndC = capCreateCaptureWindow (

(LPSTR) "My Capture Window", // window name if pop-i[

WS_CHILD WS_VISIBLE, // window style|

Page 118: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

0, 0, 160, 120, // window position and dimensions

(HWND) hwndParent,

(int nID /* child ID 8/);

캡처 드라이버와의 연결

메 의 캡처 윈도우를 생성한 후에는 실제적인 캡처 장치를 제어하는 드AVIC window class

라이버와 연결을 해야 한다 캡처 드라이버와의 연결하거나 끊는 것은 동적으로 가능하다. .

드라이버와 연결할 때에는 라는 메시지를 사용한다‘WM_CAP_DRIVER_CONNECT' .

또한 매크로를 사용할 때에는 를 쓸 수 있다‘capDriverConnect' .

캡처 윈도우를 생성하고 드라이버와 연결한 후에는 윈도우와 연계된 드라이버에 장치를 제

어하는 특징적인 메시지를 보낼 수 있게 된다 연결을 해제할 때에는.

라는 메시지를 이용하며 이것의 메크로는‘WM_CAP_DRIVER_DISCONNECT'

이다’capDriverDisconnect' .

fOK = SendMessage (hWndC, WM_CVAP_DRIVER_CONNECT, O, OL);

//

// Or, use the macro to connect to the MSVIDEO driver:

//fOK = capDriverConnect(hWndC, 0);

// .

// . Place code to set up and capture video here.

// .

capDriverDisconnect (hWndC);

만약 시스템에 두 개 이상의 캡처 장비가 설비되어 있다면 특정한 드라이버를 선택하여 연

결할 수가 있다 메시지의 파라미터에 특정 드. ‘WM_CAP_DRIVER_CONNECT' ‘wParam'

라이버를 나타내는 정수값을 주면 되는데 이때의 정수값은 파일의, ’SUSTEM.INI' [drivers]

목록에 있는 비디오 캡처 드라이버의 인덱스 값이다 첫 번째 엔트리는 이 된다. 0 .

Page 119: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

설비되어 있는 캡처 드라이버의 이름과 버전을 알 수 있는 다른 방법으로

함수가 있다 애플리케이션에서 설치된 캡처 드라이버를 열거하려‘capGetDrvierDescription' .

면 이 함수를 사용하면 된다.

char szDeviceName[80];

char szDeviceVersion[80];

for (wIndex = ); wIndes <10; wIndex++) {

if (capGetDriverDescription (wIndex, szDeviceName,

sizeof (szDeviceName), szDeviceVersion,

sizeof (szDeviceVersion))

{

// Append name to list of installed capture drivers

// and then let the user select a driver to use.

}

}

이 외에 드라이버의 이름만 알아내는 방법으로는 메시‘WM_CAP_DRIVER_GET_NAME'

지 매크로는 가 있고 버전만을 알아내는 방법으로는( ’capDriverGetName')

메시지 매크로는 가 있다‘WM_CAP_DRIVER_GET_VERSION' ( ’capDriverGetVersion') .

Page 120: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

캡처 드라이버의 성능

시스템에 설치되어 있는 캡처 드라이버의 성능을 알아야 할 때가 있다 하드웨어에 다라 각.

기 다른 기능을 제공하거나 기원되지 않은 기능이 있을 수 있기 때문에 애플리케이션은 이

러한 사항을 미리 알아야 한다 드라이버의 성능은 메시지. ‘WM_CAP_DRIVER_GET_CAP'

매크로는 이다 로 알 수 있다( ’capDriverGetcap‘ ) .

CAPDRIVERCAPS CapDrvCaps;

// .

// .

// .

SendMessage (hWndC, WM_CAP_DRIVER_GET_CAPS,

sizeof (CAPDRVERCAPS)< (LONG)(LPVOID) &CapDrvCaps);

//

// Or, use the macro to retrieve the driver capabilities.

// capDriverGetCaps (hWndC, &capDrvCaps, sizeof (CAPDRIVERCAPS));

구조체CAPDRIVERCAPS

typedef struce {

UINT wDeviceIndex;

BOOL fHasOverlay;

BOOL fHasDlgVideoSource;

BOOL fHasDlgVideoFormat;

BOOL fHasDlgVideoDisplay;

BOOL fCaptureInitialized;

BOOL fDriverSuppliesPalettes;

HANDLE hVideoIn;

HANDLE hVideoOut;

Page 121: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

HANDLE hVideoExtIn;

HANDLE hVideoExtOut;

} CAPDRIVERCAPS;

캡처 드라이버의 인덱스 값을 나타낸다 인덱스는 부터 까지의 범위를 갖wDeviceIndex : . 0 9

는다.

비디오 오버레이 플래그이다 디바이스가 오버레이를 지원한다면 이다FhasOverlay : . TRUE .

비디오 소스 다이알로그 플래그이다 디바이스가 비디오 소스를 선FhasDlgVideoSource : .

택하거나 컨트롤할 수 있는 다이알고르 박스를 제공한다면 이다TRUE .

비디오 포맷 다이알로그 플래그이다 디바이스가 비디오 포맷을 선FHasDlgVideoFormat : .

택하거나 컨트롤할 수 있는 다이알로그 박스를 제공한다면 이다TRUE .

비디오 포맷 다이알로그 플래그이다 디바이스가 비디오 포맷을 선FHasDlgVideoFormat : .

택하거나 컨트롤할 수 있는 다이알로그 박스를 제공한다면 이다TRUE .

비디오 디스플레이 다이알로그 플래그 이다 디바이스가 캡처 프레FHasDlgVideoDisplay : .

임 버퍼로부터의 재출력을 컨트롤할 수 있는 다이알로그 박스를 제공한다면 이다TRUE .

캡처 초기화 플래그이다 캡처 디바이스가 성공적으로 연결되었으면FCaptureinitialized : ff .

이다TRUE .

드라이버 팔레트 플래그이다 드라이버가 팔레트를 생성할 수 있FDriverSuppliesPalettes : .

으면 이다TRUE .

비디오 다이알로그 박스

구조체를 보면 다이알로그 박스 플레그가 있는 것을 알 수 있는데 캡‘CAPDRIVERCAPS'

처 드라이버는 총 네 가지의 다이알로그 박스를 지원할 수 있다 다이알로그 박스들은 비디.

오 디지타이징과 캡처 프로세스의 상황을 조정하며 비디오 데이터를 줄이기 위한 압축속성

을 정의한다.

Page 122: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이러한 다이알로그 박스들의 내용은 비디오 캡처 드라이버에 의해 정의된다.

비디오 소스 다이알로그 박스는 입력 채널의 선택과 프레임 버퍼에서 디지타이징되는 이미

지에 효과를 주는 파라미터의 선택을 컨트롤한다 이 다이알로그 박스는 캡처 카드에 연결.

하는 비디오 소스의 신호 종류를 열거하면 색상과 명암 또는 채도를 조절할 수 있다 비디, .

오 캡처 드라이버에서 이 다이알로그 박스가 제공된다면 다이알로그 박스를 활성화시킬 때

사용하는 메시지는 이다 매크로를 사용할 때는‘WM_CAP_DLG_VIDEOSOURCE' (

’capDlgVideo Source').

WM_CAP_VIDEOSOURCE

wParam = (WPARAM) O;

lParam = OL;

// Corresponding macro

capDlgVideoSource (hwnd);

성공하면 실패하면 를 리턴한다TRUE, FALSE .

캡처 윈도우의 핸들hwnd :

Page 123: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

비디오 포맷 다이알로그 박스는 디지타이즈된 비디오 프레임의 크기와 색상 수 그리고 압,

축할 때의 선택 사항들에 대한 선택을 컨트롤 한다.

비디오 캡처 드라이버에 이 다이알로그 박스가 제공된다면

메시지 매크로를 쓸 때는 로 다이‘WM_CAP_DLG_VIDEOFORMAT' ( ’capDlgVideoFormat')

알로그 박스를 출력한다.

WM_CAP_DLG_VIDEOFORMAT

wParam = (WPARAM) 0;

lParam = LO;

// Corresponding macro

capDlgVideoFormat (hwnd);

성공하면 실패하면 를 리턴한다TRUE, FALSE .

캡처 윈도우의 핸들hwnd :

Page 124: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

비디오 디스플레이 다이알로그 박스는 캡처되는 동안 화면에 나타나는 비디오의 모습을 제

어한다 이 다이알로그 박스의 조정은 디지타이즈된 비디오 데이터에는 아무 영향이 없고.

오버레이가 지원되는 캡처 드라이버에서만 사용된다 다이알로그 박스를 사용할 때는.

메시지를 쓴다 매크로는 이다‘WM_CAP_DLG_VIDEODISPLAY' ( ’capDlgVIdeoDi splay' ).

Page 125: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

WM_CAP_DLG_VIDEODISPLAY

wParam = (WPARAM) O;

lParam = OL;

// Corresponding macro

capDlgVideoDisplay (hwnd);

성공하면 실패하면 를 리턴한다TRUE, FALSE .

캡처 윈도우의 핸들hwnd :

비디오 압축 다이일로그 박스는 비디오의 압축 방법을 선택한다 이 다이알로그 박스를 사.

용할려면 메시지를 쓴다 매크로를 쓸 때는‘WM_CAP_DLG_VIDEOCOMPRESSION' (

이다’capDlgVideoCompression' ).

WM_CAP_DLG_VIDEOCOMPRESSION

wParam = (WPARAM) O;

lparam = OL;

// Corresponding macro

capDlgvideoCompression (hwnd);

성공하면 실패하면 를 리턴한다TRUE, FALSE .

캡처 윈도우의 핸들hwnd :

Page 126: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

비디오 캡처 설정[19]

라는 구조체는 비디오 스트림을 캡쳐하기 위한 제어 파라미터를 포함하‘CAPTUREPARMS'

고 있다 이 구조체는 캡처프로세스에 대한 몇 가지 사항을 조절하고 다음과 같은 일들을.

할 수 있도록 해준다.

프레임율 을 정한다(frame rate) .●

할당된 비디오 버퍼의 수를 정한다.●

오디오 캡처를 할 것인지 선택한다.●

캡처할 시간 간격을 정한다.●

캡처 중에 디바이스 또는 비디오 디스크 를 사용할 지를 정한다MCI (VCR ) .●

스트림 캡처를 끝낼 때 키보드나 마우스 동작으로 제어할 지정한다.●

캡처 중 적용되는 비디오 에버리징의 종류를 정한다.●

구조체CAPTUREPARMS

typedef struct {

DWORD dwRequestMicroSecPerFrame;

BOOL fMakeUserHitOKToCapture;

UINT wpercentDropForError;

BOOL fYield;

Page 127: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

DWORD dwIndexSize;

UINT wChunkGranularity;

BOOL fUsingDOSMemory;

UINT wNumVideoRequested;

BOOL fCaptureAudio;

UINT wNumAudioRequested;

UINT vKeyAbort;

BOOL fAbortLeftMouse;

BOOL fAbortRightMouse;

BOOL fLimitEnabled;

UINT wTimeLimit;

BOOL fMCIControl;

BOOL FstepMCIDevice;

DWORD dwMCIStartTime;

DWORD dwMCIStopTime;

BOOL fStepCaptureAt2x;

UINT wStepCaptureAverageFrames;

DWORD dwAudioBufferSize;

BOOL fDisableWriteCache;

UINT AVStreamMaster;

} CAPTUREPARMS;

프레임율 을 마이크로 초 단위로 설정한다 초기dwRequestMicroSecPerFrame : (frame rate) .

값은 로 초당 프레임에 해당한다66667 15 .

사용자 초기화 캡처 플래그이다 이면 사용자에게 캡FMakeUserHitOKToCapture : . TRUE

처를 시작할 것인지에 대해 묻는 다이알로그 박스를 출력한다 초기값은 이다. FALSE .

캡처 도중 허용되는 최대 손실 프레임의 퍼센티지이다 부터WpercentDropForError : . 0 100

까지의 범위를 갖으며 초기값은 이다 이 값이 이면 캡처 윈도우는 별개의10 . FYield : TRUE

백그라운드 쓰레드를 생성하여 캡처작업을 수행한다 초기값은 이다. FALSE .

Page 128: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

메모리에 할당할 비디오 버퍼의 최대 개수이다WNumVideoRequested : .

캡처 오디오 플래그이다 이면 스트림 캡처를 하는 동안 오디오를FCaptureAudio : . TRUE

캡처한다.

메모리에 할당할 오디오 버퍼의 최대 개수이다 최대값은 이다WNumAudioRequested : . 10 .

캡처하는 비디오의 화면 출력

캡처 드라이버는 입력되는 비디오를 두 가지의 방법으로 화면에 출력할 수 있다 하나는 플.

릴뷰 모드이고 다른 하나는 오버레이 모드이다.

프리뷰 모드는 디지타이즈된 비디오 프레임을 캡처 장치로부터 시스템 메모리에 전송한 후

함수를 써서 출력하는 방법이다 프리뷰 동작은 세 가지의GDI(Graphics Device Interface) .

메시지로 제어된다 메시지 매크로는 는 캡처 윈. ‘WM_CAP_SET_PREVIEW' ( ’capPreview')

도우가 프리뷰를 할 수 있게 또는 할 수 없게 한다 비디오를 화면에 프리뷰할 때에 속도를.

정할 수 있는데 이 때 사용하는 메시지는 이다 매크로‘WM_CAP_SET_PREVIEWRATE' (

는 이다 메시지는 프리뷰되는 스케일링할 때 사’capPreviewRate' ). ‘WM_CAP_SET_SCALE'

용한다 매크로는 이다( ’capPreviewScale' ).

WM_CAP_SET_PREVIEW

wParam = (WPARAM) (BOOL) (f);

lParam =OL;

// Corresponding macro

capPreview (hwnd, f);

Page 129: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

성공하면 실패하면 를 리턴한다TRUE, FALSE .

캡처 윈도우의 핸들hwnd :

프리뷰 플래그 이면 프리뷰를 할 수 있게 하고 이면 할 수 없게 한다f : . TRUE , FALSE .

WM_CAP_SET_PREVIEWRATE

wParam = (WPARAM) (wMS);

lParam = OL;

// Corresponding macro

capPreviewRate (hwnd, wMS);

성공하면 캡처 윈도우가 캡처 드라이버와 연결되어 있지 않으면 를 리턴한TRUE, FALSE

다.

캡처 윈도우의 핸들hwnd :

마이크로 초 단위의 프레임 속도wMS : .

WM_CAP_SET_SCALE

wParam = (WPARAM) (BOOL) (f);

lParam = OL;

// Corresponding macro

capPreviewScale (hwnd, f);

성공하면 실패하면 를 리턴한다TRUE, FALSE .

캡처 윈도우의 핸들hwnd :

프리뷰 스케일링 플래그 이면 프레임을 윈도우의 크기에 맞춰서 출력하고f : . TRUE

이면 원래 크기로 출력한다FALSE .

오버레이 모드는 캡처 버퍼에 있는 내용을 자원을 쓰지 않고 화면에 직접 출력하는CPU

하드웨어적인 기능이다 사용하는 메시지는 이고 매크로를 쓸. ‘WM_CAPO_SET_OVERLAY'

때에는 이다’capOverlay' .

Page 130: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

WM_CAP_SET_OVERLAY

wParam = (WPARAM) (BOOL) (f);

lParam = OL;

// Corresponding macro

capOverlay (hwnd, f);

성공하면 실패하면 를 리턴한다TRUE, FALSE .

캡처 윈도우의 핸들hwnd :

오버레이 플래그이다 이면 오버레이를 할 수 있게 하고 이면 할 수 없게f : . TRUE , FALSE

한다.

데이터를 디스크에 저장하지 않는 캡처 방법

화상회의 시스템은 실시간 멀티미디어 통신 서비스이다 캡처된 비디오 데이터는 상대 시스.

템에 프레임 단위의 화상을 빠른 속도로 전송해야 한다 이러기 위해서 캡처한 데이터를 디.

스크에 저장하지 않는 방법을 사용하는데 이 방법은 콜백 함수와 결합하여 사용되어진다.

콜백 함수는 애플리케이션에서 비디오 데이터를 직접적으로 쓸 수 있게 해준다.

사용하는 메시지는 이며 메시지 대신 매크로는 쓸 때는‘WM_CAP_SEQUENCE_NOFILE' ,

이다’capCaptureSequenceNoFile' .

WM_CAP_SEQUENCE_NOFILE

wParam = (WPARAM) O;

lParam = OL;

// Corresponding macro

capCaptureSequenceNoFile (hwnd);

Page 131: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

성공하면 실패하면 를 리턴한다TURE, FALSE .

캡처 윈도우의 핸들hwnd :

콜백 함수AVICap

캡처 윈도우는 상태의 변화 에러의 발생 또는 비디오 프레임과 오디오 버퍼가 다시 사용,

가능할 때 이를 알려주는 콜백 함수들을 등록할 수가 있다 다음 메시지들은 콜백 함수들을.

설정된다.

Page 132: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

Message Description

WM_CAP_SET_CALLBACK_CAPCONTROL Specifies the callback function in theapplication called to give precisecontrolover capture start and end. You canalso use thecapSetCallbackOnCapControlmacro to send this message.

WM_CAP_SET_CALLBACK_ERROR Specifies the callback function in theapplication called when an error occurs.You can also use thecapSetCallbackOnError macro to sendthis message.

WM_CAP_SET_CALLBACK_FRAME Specifies the callback function in theapplication called when preview framesare captured. You can also use thecapSetCallbackOnFrame macro to sendthis message.

WM_CAP_SET_CALLBACK_STATUS Specifies the callback function in theapplicationcalled when the status changes. Youcan also use thecapSetCallbackOnStatus macro tosend this message.

WM_CAP_SET_CALLBACK_VIDEOSTREAM Specifies the callback function inthe application called duringstreaming capture when a new videobuffer becomes available. You canalso use thecapSetCallbackOnVideoStream macroto send this message.

WM_CAP_SET_CALLBACK_WAVESTREAM Specifies the callback function inthe application called duringstreaming capture when a new audiobuffer becomes available. You canalso use thecapSetCallbackonWaveStream macroto send this message.

WM_CAP_SET_CALLBACK_YIELD Specifies the callback function inthe application called when yieldingduring streaming capture. You canalso use the capSetCallbackOnYieldmacro the send this message.

표 콜백함수10. 1

콜백 함수들 중 은 비디오 데이터가 한 프‘WM_CAP_SET_CALLBACK_VIDEOSTREAM'

레임씩 캡처될 대 마다 불려진다 화상회의 시스템에서 프레임 단위의 비디오 테이터를 고.

속으로 전송하기 위해서 이

Page 133: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

콜백함수를 이용한다.

case WM_CREATE:

{

// Create the capture window.

ghWndCap = capCreateCaptureWindow((LPSTR):Capture Window", WM_CHILD |

WS_VISIBLE, 0, 0, 160, 120, (HWND) hWnd, (int) 0);

// Register the video-stream callback function.

fpVideoCallback - =

MakeProcInstance((FARPROC)VideoCallbackproc, ghInst);

capSetCallbackOnVideoStream(ghWndCap, fpVideoCallback); break;

}

case WM_CLOSE:

{

// Use the following macro to disable the frame callback.

FreeProcInstance(fpVideoCallback);

capSetCallbackOnVideoStream(ghWndCap, NULL);

break;

}

Page 134: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

오디오 데이터의 캡처

앞서 살펴본 구조체에는 라는 멤버가 있다 비디오 캡‘CAPTUREPARMS' ’fCaptureAudio' .

처할 수가 있다 오디오 데이터의 캡처는 비디오의 경우와 마찬가지로 콜백함수를 이용한다. .

메시지를 사용하여 콜백 함수를 등록하면‘WM_CAP_SET_CALL BACK_WAVESTREAM'

구조체의 에 지정된 크기만큼의 데이터가 녹음’CAPTUREPARAMS' ‘dwAudioBufferSize'

될 때마다 콜백 함수가 실행된다.

Page 135: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 네트워크 프로그래밍4

에서의 소켓 클래스1. MFC

에서는 윈도우 소켓을 이용하여 네트워크 통신 프로그래밍을 할 수 있는 두 가지의 클MFC

래스 모델을 제공한다.

CAsyncSopcket :

윈도우 소켓 를 캡슐화한 것으로 소켓 를 직접 사용하여 보다 유연한 프로그래밍과API API

네트워크 이벤트의 통지에 대한 콜백 함수를 사용할 수 있다.

CSocket :

에서 상속되는 클래스이다 객체를 통하여 고수준의 소켓 통신을CAsyuncSocket . CArchive

지원한다 은 의 동기적인 작용에 필수적인 블록킹을 제공한다. CSocket CArchive .

윈도우 소켓2.

가 스트림 소켓.

스트림 소켓은 레코드 경계가 없는 데이터 흐름을 제공한다 스트림은 전송 순서와 중복성.

문제를 보장한다 네트워크의 트랜스포트 계층에서는 데이터를 적당한 크기의 패킷단위로.

나누거나 합하게 되는데 은 이러한 과 을 해준다 스트림 소켓은CSocket packing unpacking .

도착이 보장되어야 하거나 전송되는 양이 많은 데이터일 경우 테이터그램 소켓에 비해 보다

효율적이다.

Page 136: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

나 테이터그램 소켓.

데이터그램 소켓은 순서와 비중복이 보장되지 않는 양방향의 데이터 흐름을 제공한다 데이.

터그램은 또한 신뢰성에 대한 보장도 하지 않는다 패킷은 도착에 실패할 수 있으며 전송된.

순서와 다르게 도착할 수 있고 중복될 수도 있다 데이터그램은 명확한 연결이 설정되지 않.

는 방식이나 데이터 내의 레코드 경계는 구분된다 데이터그램은‘connectionless' .

데이터의 경우 스트림 소켓보다 더 낫다record-oriented .

Page 137: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 망 접속 카드의 설계11 ATM

제 절 서 론1

컴퓨터 처리 능력이 향상과 함께 네트워크 응용에 대한 사용자들의 요구가 높아 가고 있다.

은 다양한 수준의 와 대역폭을 제공하고 작은 셀을 고속으로 처리함으B-ISDN/ATM QoS ,

로써 실시간 처리능력을 갖을 수 있을 뿐만 아니라 순간적인 고속 전송에도 충분한 전송 능

력을 보인다 이러한 특성들은 원격 화상 회의 주문형 비디오 원격 교육 전자 우편 등과. , , ,

같은 빠른 응답 시간을 요구하는 시간 의존적인 미래형 멀티미디어 서비스를 지원하기에,

적합한 프로토콜로서 인식되고 있으며 백본 환경에서의 응용뿐만 아니라 기존의, , WAN

시장으로도 확장되고 있다 앞으로 기대되는 공중망의 광대역 통신망으로의 진화와 더LAN .

불어 망 접속 카드의 큰 수요가 기대된다ATM .

앞으로의 기술 및 표준화의 변화에 맞추어 유연하게 적응 할 수 있는 보다 향상된 성능의,

망 접속 카드를 설계하기 위해 다양한 관점에서의 가격 및 성능에 미치는 요소들을ATM

분류하고 검토할 필요가 있다.

하드웨어 소프트웨어 등의 관점에서의 다양한 설계 요소들을 분류하고 분석하여 각각의 가,

능성 등을 기술하였으며 분석된 설계 사항들을 바탕으로 적절한 설계 사양을 정하여 적합,

한 모델의 예를 제시하였다.

Page 138: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 프로토콜의 개요2 B-ISDN/ATM

프로토콜 참조 모델1. B-ISDN/ATM (protocol Reference Model)

다음 그림 은 권고안 에서 정의된 프로토콜 참11.1 ITU-T (Recommendation) I.321 B-ISDN

조 모델이다.

프로토콜은 물리적 매체를 통해 실질적 전송을 담당하는 물리 계층B-ISDN/ATM (Physical

셀 처리 및 흐름 제어를 담당하는 계층 사용자 데이터와 셀간의layer), (Cell) ATM , ATM

매핑 등과 같은 계층과 상위 계층과의 접속 기능을 수행하는 접속 계(Mapping) ATM ATM

층 응용의 상위 계층 으로 구분된다(AAL), ATM (Higher Layer) .

사용자 평면 은 흐름 제어 에러 복구와 같은 기능을 구현하여 사용자 정보의(User Plane) ,

전송을 담당한다 제어 평면 은 호 제어 및 연결 제어 기능들을 담당한다 관. (Control Plane) .

리 평면 은 계층 관리 는 전송 수렴(Management Plane) (Layer Management) Physical Layer

과 물리적 매체 의 두 부 계층(Transmission Convergence : TC) (Physical Medium :PM)

으로 나누어진다(Sublayer) .

Page 139: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

부 계층은 실제의 전송 매체와의 인터페이스이며 전송된 을 부 계층으로PM Bit stream TC

전달한다 부 계층은 계층에 전달된 셀 을 프레임. TC ATM ATM (ATM Cell) TDM (Frame)

에 넣거나 프레임에서 분리한 셀을 계층으로 전달한다 계층은, TDM ATM ATM . ATM

다중화 스위칭 등의 기능을 셀 헤더 의 정보를 바탕으, (Switching) ATM (ATM Cell Header)

로 수행한다 그리고 계층과 셀들을 주고 받는다 은 절단 및 재결합. AAL . AAL

과 서비스 수렴 부 계층(Segmentation And Reassembly : SAR) (Convergence Sublayer :

의 두부 계층으로 나누어진다 또한 부 계층은 공통 부분 과 서CS) . CS (Common Part : CP)

비스 의존 으로 나뉜다 은 프로토콜 데이터 단위(Service-Specific : CS) . AAL (Protocol Data

들을 상위 계층에 전달하고 상위 계층으로부터 전달되는 다양한 길이의 들Unit :PDU) , PDU

을 받는다.

셀2. ATM (ATM Cell)

은 서로 독립적인 가상 채널들로 음성 데이터 비디오 신호들을 보내기 위해 작고ATM , , , ,

고정된 바이트 크기의 셀을 정의한다 셀은 바이트의 헤더와 바이트의 데이터로53 . ATM 5 48

구성되어있다.

다음 그림 은 셀의 구조와 에서의 헤더 구성11.3 ATM ATM User Network Interface(UNI)

을 나타내고 있다.

Page 140: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

은 셀을 스위칭 하고 다중화하는 기술이다 즉 전송 특성을 예견할 수 있고ATM (Switching) . ,

일정한 능력을 보장할 수 있는 의 장점과 간헐적인 트래픽에 대해 유연하Circuit Switching

고 효과적인 의 장점을 결합한 기술이다 그러므로 작고 고정된 크기의, Packet Switching . ,

셀의 정의는 광대역 네트워크에 대해 다음과 같은 몇 가지의 이점을 갖는다.

전송 지연이나 큐잉 지연 이 작아지고 고속 데이터 전송율에서의 지연율 변화(Latency) ,●

가 작아진다 이는 실시간 데이터 전송의 보장 예상된 서비스 전송율의 보장을 할 수 있다. , .

셀 스위칭 기술을 하드웨어로 구성할 수 있으므로 보다 고속의 스위칭 속도를 구현할 수●

있다.

프로토콜의 처리 과정3. ATM

사용자 정보를 프로토콜을 이용해서 전송 또는 수신 시에 통신의 처리 과정을ATM , ATM

다음 그림 와 같은 처리 과정에 의해 나타낼 수 있다11.4 .

Page 141: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

다양한 형태 크기의 사용자 데이터는 과 계층의 처리를 통해 바이트의, AAL ATM 53

셀들로 나누어진다 이 셀들은 계층의 처리에 의해 전송 속도의 선택과 네트워크ATM . TC

환경에 맞게 선택된 등과 같은 프레임, SONET, DSx, 4B/5B Time Division Multiplexing

에 셀들을 매핑 하여 전송한다 전송 매체는 지원하는 전송 속도와(Frame) ATM (Mapping) .

전송 질에 따라 등을 사용한다Optic Fiber, UTP 3/5, STP .

각 계층별 기능4. ATM

프로토콜 참조 모델에 따라 하드웨어적 소프트웨어적으로 구현해야 할 각 계층별B-ISDN ,

기능들을 살펴본다.

물리 계층에서는 생성 및 헤더 검증 셀 속도 정합 및 경계 추출 전송 프레임ATM HEC , ,

생성 복구 및 정합 스크램블링 및 디스크램블링 관리 평면과의 연동 기능 등을 지원해야, , ,

한다.

Page 142: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

계층에서는 계층 연결의 설정과 해제 셀 헤드 생성 및 추출 셀 다중화ATM ATM , ATM ,

및 역 다중화 비할당 셀 발생 및 제어 기능 관리 셀 손실 우선 처리 일반 흐름, , VPI/VCI , ,

제어 기능 형태 구분 관리 평면과 연동 기능 등을 지원해야 한다, Payload , .

계층에서는 절단 및 재결합 기능 서비스 수렴 기능 신호 메시지AAL , (Class A, B, C, D),

수렴 기능 및 연결형 프로토콜 등을 지원해야 한다.

신호 처리는 호 및 가상 채널 연결 설정 해제 및 제어 호 제어 메시지B-ISDN (Signaling) , ,

의 생성 및 해석 액세스 자원의 관리 이용자 요구 사항과 제공 서비스와의 호환성 검사, , ,

부가 서비스 제공 기능 등을 지원해야 한다.

평면 관리는 메타 신호 기능 성능 관리 기능 장애 관리기능 형상 관리 기능 보안 관리 기, , , ,

능 관리기능 등을 지원해야 한다 이들 기능과 구조는 크게 개의 기능블럭 즉, Account . 4 ,

사용자 평면 모듈 제어 평면 모듈ATM (ATM User Plane Module), ATM (ATM Control

관리 평면 모듈 계층 모듈Plane Module), ATM (ATM Management Plane Module), ATM

로 구성할 수 있다(ATM and Physical Layer Module) .

제 절 설계 요구 사항 및 변화 요인3

사용의 망 접속 카드를 개발함에 있어 우선 인식해야 할 몇 가지 점이 있다ATM . [24]

Page 143: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

기존이 인터넷과같은 장비들과의 성능 비교상 충분히 수용할 만한 가격으로 구현되어야 한,

다.

기술의 장점을 최대한 반영할 수 있는 고성능의 구조를 구현해야 한다ATM .

급격히 변화하는 기술 표준안 등을 적절히 수용할 수 있어야 하며 변화에 쉽게 적응 가능, ,

한 구조를 모색해야 한다.

빠르게 변화하는 시장의 요구를 만족시키기 위해 개발의 시작부터 최대한 빠른 기간에 프,

로젝트를 완성해야 한다.

가 망 접속 카드 개발상의 몇 가지 변화 요인들을 다음과 같이 분석해 볼 수 있다. ATM .

나 호스트 컴퓨터 계산 능력의 변화 및 기종의 변화.

다 호스트 컴퓨터 기종 변화에 따른 운영체제의 변화.

라 호스트 컴퓨터 기종 변화에 따른 버스 인터페이스 구조의 변화.

마 처리를 위한 마이크로 프로세서 및 등과 같은 기술의 변화. ATM ASIC IC

바 설치 환경 변화에 다른 전송 방식의 변화.

사 설치 환경 변화에 따른 전송 대역폭의 변화.

아 적용 표준 안의 개선 및 새로운 지원 등의 변화.

제 절 구조 검토4

위와 같은 설계상의 요구 및 변화 요인에 대한 적응성을 높이기위해 하드웨어 및 소프트웨,

어 적인 다양한 관점에서의 구성 요소들을 분석하였다.

Page 144: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

망 접속 카드의 개발 후 여러 변화 요인들에 의해 수정이 필요하게 된다 이때 최소한ATM .

의 비용의 소요되도록 하드웨어적 소프트웨어적인 기능 구조를 나눌 필요가 있으며 이는, ,

미래의 단말기 기술에의 응용에도 변화되지 않는 기능을 재사용하는 것을 가능하게ATM

한다.

프로토콜의 기본적인 사항들에 대한 표준들은 큰 이견 없이 안정되어있으나B-ISDN/ATM ,

형태 기존의 환경의 지원 방식 등 상위 계층 부분에 있어서는 다양AAL , ATM API, LAN

한 표준 안들이 제안되고 있어 이들에 대한 검토와 함께 시장의 흐름을 파악하여 적절한 지

원을 고려해야 한다.

카드 자체의 성능 뿐만 아니라 소프트웨어 설치 다큐멘테이션과 같은 사용자에 대한 지원,

적 측면의 성능을 고려해야 하며 관련 표준안 및 다양한 사회들에 의해 제공되어지는 스위,

치 시스템과의 호환성을 가질 수 있어야 한다.

일반적인 이 지원하는 개까지의 가상 채널 수와 및 형태를 우선ASIC 1024 AAL 5 AAL 3/4

고려해야 한다 및 현재 에서 추진 중인 데이터 전송을 위한. AAL 1 ATM forum , MPEG-2

의 지원 여부도 차후 고려해야 한다AAL 6 .

현재 다양한 들이 및 물리 계층의 기능을 구현한 들을 개발 판매하고IC Vender SAR ASIC ,

있다 이들 중 상대적으로 안정적으로 평가되고 있으며 개발자를 위한 적극적인 지원을 기. , ,

대할 수 있는 Transwitch, PMC Sierra, Texas Instruments, Integrated Device Technology,

등의 회사들을 초기개발 단계에서 긍정적으로 검토해 볼 수 있다 또한 에서LSI Logic . ETRI

개발한 도 비교 검토해 볼 수 있다ASIC .

Page 145: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

망 접속 카드의 내부 구현 구조는 성능에 가장 큰 영향을 미치는 요소로서 호스트ATM

성능 버스 인터페이스의 성능 호스트와 와의 전송 부하량 가격 복잡성CPU , , ATM NIC , , ,

네트워크의 전송 질 등의 요소들을 비교하여 적절한 구조를 선택하여야 한,

다.[25][26][27][28]

구조 방식은 매우 단순한 구조로서 프로토콜의 대부분의 처리를 호스트 가FIFO ATM CPU

담당하고 내에는 전송을 위한 단순한 버퍼만을 내장하는 방법으로 호스트, ATM NIC CPU

의 사용율이 과다한 구조이다.

내부 프로세서 구현 방식은 단순한 구조에 인텔의 와 같은 마이크로 프로세서FIFO ‘i960Ca'

를 내장하여 프로토콜처리 및 호스트와의 데이터 교환을 담당하도록 함으로써 보다 다양한

표준 및 기능의 지원과 호스트 기종의 특성에 적합한 구조를 모색할 수 있다는 유연성이 있

으나 프로세서 및 메모리의 추가로 인한 가격 상승과 보드 내 운영체제 지원 소프트웨어,

설계 및 구동에 있어 개발상의 많은 부하가 예상된다.

Page 146: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

방식은 각 응용에 대한 대역폭 관리를 호스트 가 담당하는 구조로서Programmed I/O CPU

저가격으로 구현할 수 있으며 단순한 인터페이스를 갖는다 그러나 셀 재조립 기능이 제한, .

되고 호스트 의 부하가 가중된다, CPU .

전송 방식은 호스트 메모리를 호스트와 가 공동 이용하며 데이터 전달을DMA ATM NIC ,

위해 를 이용한다 호스트 메모리를 사용함으로써 가격을 최DMA(Direct Memory Access) .

소화할 수 있고 호스트 의 부하를 낮출 수 있는 구조이나 버스 인터페이스의, CPU latency

가 예측 가능해야 한다.

공유 메모리 방식은 내부에 패킷을 저장하기 위한 공유 메모리를 적용한 구조로ATM NIC

서 잦은 전송에 의한 인터럽트 처리가 증가 버스 인터페이스 자원의 오랜 점유 등과, DMA ,

같은 문제를 개선함으로서 성능향상을 기대할 수 있으나 내부 메모리에 의해 구현 비용이

높아진다.

Page 147: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

셀의 도착이나 전송 시 셀을 처리하기 위해 호스트에 인터럽트가 걸린다 이상의. 100Mbps

전송 능력을 고려하면 데이터 처리 시간에 비해 인터럽트 처리에 대한 과부하가 너무 크다, .

보다 낮은 발생율을 위한 인터럽트 처리 구조가 모색되어야 한다, .[27]

다양한 호스트 기종에 적용 가능하도록 설계하기 위해서는 각 기종에 따른 버스 인터페이스

를 고려해야 한다 의 버스 워크스테이션의 의. PC PCI , SUN SBus, DEC Station Turbo

의 버스등에 대한 지원을 고려해야 한다Channel, IBM RS/600 MicroChannel, VME .

시스템에서 계층 과 물리 계층의 구성 들간에 공통적인 인터페이스를ATM ATM (SAR) IC

정의한 표준인 를 고려해야UTOPIA(Universal Test Operation PHY Interface for ATM)

한다 전송 대역폭에 따른 지원 사양을 검토해야 한다. .

Page 148: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

프로토콜은 물리 계층의 특정한 전송 방식을 정의하지 않고 기존의 매핑 방식을 이ATM

용한다 각 설치 환경을 고려한. E1/2/3, DS1/2/3, 4B/5B, 8B/10B, SONET STS-1/3c(SDH

등의 셀 매핑 및 전송 방식들의 지원을 고려해야 한다 운영체제가 메모리 관STM-1/4) .[29]

리 기업 캐쉬 관리 구조 등의 특성상 네트워크를 지원하기에 관리 기법 캐쉬 관리 구조 등, ,

의 특성상 네트워크를 지원하기에 적합한 특성이 있는지 또는 적절한 최적화 방법이 있는,

지의 여부를 분석해야 한다 의 성능에 크게 영향을 미치는 요소이다. ATM NIC .[27]

다양한 기종의 호스트에 적용하기 위해 그만큼의 다양한 운영체제를 지원할 수 있어야 한

다 특히 각 운영 체제마다 네트워크 장비를 위한 저 수준의 디바이스 드라이버 규격이 있.

다 의 의 의. DOS Packet Driver, Novel Netware Open Data Link Interface driver, Unix

의Data Link Provider Interface (DLPI) Driver, Windows 95/NT Network Driver Interface

등의 규격에 대한 디바이스 드라이버를 구현해야 한다Specification(NDIS) Driver .[30]

으로의 전이 과정으로써 기존의 환경을 수용하기 위한 표준안들이 제안되고 있ATM , LAN

다 에서 제안된. RFC 1577 Classical IP over ATM, ATM Forum LAN Emulation 1.0,

사에서 개발한 스위치와의 호환을 위한MultiProtocol Over ATM(MPOA), Ipsilon IP RFC

등의 기존의1953 Ipsilon Flow Management Protocol Specification for Ipv4 Version 1.0

프로토콜들과 상호 연동을 위한 다양한 구현 방식들이 진행 되고 있고 이러한 표준안LAN

들을 지원하기 위한 소프트웨어를 구현해야 한다.

Page 149: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 망 접속 카드 설계 사양5 ATM

제 절에서는 고려했던 부분들은 검토하여 현 상황의 요구에 부합하는 를 설계4 , ATM NIC

하고자 한다.

현재의 환경에서 검증해 볼 수 있는 적절한 설계 사양을 다음과 같이 결정할 수 있다, .

시스템을 단말 호스트로 가정한다Pentium PC .●

을 운영체제로 한다Memphis/Windows NT 5.0 .●

의 버스 구조인 를 지원한다PC PCI Bus .●

하드웨어 구현 구조는 전송방식으로 한다DMA .●

전송 속도는 이다SONET STS-3c 155.52 MHz .●

전송 매체는 와 광섬유 이다UTP 5 (MMF) .●

와 형태를 지원한다AAL 3/4 AAL5 .●

개까지의 가상 채널을 지원한다1024 .●

을 지원한다NDIS Version 5.0 .●

다음과 같은 소프트웨어가 구현 되어야 한다.●

설치 환경 설정 및 진단 소프트웨어,●

NDIS 5.0 Miniport Driver●

ATM Forum UNI 3.0/3.1 Driver●

ATM Forum LAN Emulation Version 1.0 Client●

Classical IP over ATM Client●

IFMP Driver●

로고 인증을 비롯한 각 스위치 및 프로토콜과의 호환성 테스트“Design for Windows"●

를 해야한다.

Page 150: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

전송 시 오버헤드 셀 헤더를 제거한 순수한 사용자 데이터SPMET STS-3c SONET , ATM

전송율은

{( 2340 Payload Bytes/frame - ((5 ATM OverHead Bytes/cell)*(44 cells/frame)) ) *

정도가 된다 의 전155.52 Mbps} / 2430 Total bytes/frame = 135 Mbps . 155.52Mbps ATM

송 대역폭을 구현하기 위한 버스 인터페이스 대역폭은 최대 약 밖에 소모되지 않는다30% .

일반적으로 고려하는 최대 를 로 가정하더라도 약 로써 충분한 조건, latency 1.6 sec 800Mbpsμ

이다.[31]

은 최악의 로서 를 설정해 놓고 있으므로 적정의 크기는PCI Spec latency 30 sec , FIFO 30μ μ

정도가 필요하게 된다 가격을 낮추고 개발 부담을sec * 20M Bytes/sec = 600 bytes .[31] ,

최소화 하기 위해 전송 방식으로 구현한다 설정된 시스템이 성능상 데이터 교환에는DMA . ,

충분한 성능을 보장할 수 있다고 판단된다 마이크로소프트는 최근 의 차기 판인. Window 95

와 에 표준에 근거한 을 지원할 것이라고 발표했Memphis Windows NT 5.0 NDIS 5.0 ATM

다 현재의 에 기반한 디바이스 드라이버를 개발하기보다는 에 대.[32] NDIS 3.z/4.0 , NDIS 5.0

한 개발자 킷이 배포 중이므로 이를 이용해 차기 판의 드라이버를 개발하고자 한다.

제 절 망 접속 카드 구현 기준 모델6 ATM

위 설계 사양을 바탕으로 의 칩 셋과 의Texas Instruments ThunderCell PMC sierra

을 이용한 구현 구조를 제시한다LASAR ASIC ATM NIC .

Page 151: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

그림 은 의 버스 인터페이스를 내장한 과 데이터 처리를 위한11.9 TI SAR 'TNETA1561'

환경 설정 코드를 위한 인 광 전송 모듈인RAM, EPROM, Transceiver IC ‘TNETA 1600' ,

를 사용하여 설계된 기본 구조이다’HFBR5205' .[33][34]

계층과 계층 기능과 계층 기능 계층 기능을 각각 따로 구현한 구조ATM SAR TC , PMD

이다.

은 버스 인터페이스가 내장되어 있으며 를 기본으로 지원하고 제‘TNETA1561' PCI , AAL 5 ,

한적으로 와 을 지원할 수 있다 가상 채널은 개까지 설정할 수 있다AAL 3/4 AAL 1 . 1023 .

은 셀을 전송하기 위한 나 프레임을‘TNETA1600' ATM 155.52Mbps 622.08bps SONET/SDH

생성하고 분해한다.

다음 그림 는 의 를 이용한 의 구조를 보11.10 PMC sierra ‘PM7375 LASAR-155' ATM NIC

인 것으로 원 칩에 의해 계층 계층 계층의 기능이 한꺼번에 구현되어 단ATM , SAR , TC

순한 구조로 구현할 수 있도록 되어있다.[35]

Page 152: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

는 한 개의 안에 버스 인터페이스와 나 의'PM7375' IC PCI 155.52Mbps 51.84Mbps

프레임을 처리할 수 있는 기능과 를 지원한다SONET/SDH AAL 5 .

과 의 두 를 이용하여 의 기준 클럭을 발생시킨다‘S54R8' ’CY74FCT541' IC ‘PM7375' .

은 의 출력을 의 입력으로 연결시켜 준다‘MC100-EL16' ’PM7375' CMOS ‘HFBR5205' PECL .

제 절 디바이스 드라이버 소프트웨어7

다음 그림 에서와 같이 는 과 에 의해11.11 Memphis/Windows NT Winsock 2.0 Win32 API

상위에 의 연결 지향적 의 특징을 제공하고 있다 호환의ATM , QoS . IETF RFC 1577, 2022

에 의해 제안된 에 기반한‘IP over ATM Client' , ATM Forum LAN Emulation 1.0 ‘LAN

를 구현하고 있으며 에 의해 제안된 을 지원Emulation Client' , ATM Forum ATM UNI 3.1

하는 를 구현하고 있다’Call Manager' .

Page 153: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

또한 저 수준의 직접적인 접근도 허용하는 구조를 택하고 있다, .[36]

이러한 지원 사양으로 인해 소프트웨어 개발 및 테스트가 용이해 졌다 설치 환경 설정 및. ,

진단 소프트웨어 하드웨어에 의존적인 미니 포트 드라이버를 개발하고 입실론의, ATM , IT

스위치와의 호환성을 위해 소프트웨어를 개발 탑재한다 또한 이미 개발된 화상 회IFMP , . ,

의 등과 같은 어플리케이션을 이용해 성능을 측정한다.

Page 154: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

1. Network Driver Interface Specification (NDIS)

는 사의 계열 운영 체제에서 사용되는 개념으로써 하나 이상의NDIS Microsoft Windows

드라이버와 상위 프로토콜 드라이버 하드웨어 운영체제와의 상호 연결을 위한NIC , NIC ,

인터페이스를 구현 제공한다, .

상위 프로토콜들과의 연결 하드웨어에서 발생하는 인터럽트를 등록 및 인식 레지스터, NIC , ,

들을 통한 하부 하드웨어와의 작동등과 같이 드라이버가 처리하는 모든Port I/O NIC , NIC

외부 함수들은 를 통해서 수행되어 진다NDIS .

은 다음과 같은 기본적인 특성들을 제공한다NDIS 5.0 .

하나의 드라이버만으로도 여러 개의 하드웨어를 제어할 수 있는 기능을 제공한다NIC NIC .

라이브러리는 디바이스 드라이버를 코팅 하는데 있어 다른 여러 플랫폼과 상관NDIS NIC ,

없는 완전히 추상화 된 인터페이스를 제공한다, .

프로토콜 드라이버 드라이버가 환경에서 안전하게, NIC Symmetric Multiprocessor(SMP)

실행될 수 있는 함수들을 지원한다.

한 호스트 내의 여러 프로세서들간의 패킷을 드라이버들과의 연결을 지원한다NIC .

상의 모든 상위 프로토콜 드라이버들은 드라이버의 저장 정보를 통해 하드NDIS NIC NIC

웨어 정보에 대해 인식할 수 있다.

Page 155: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

한번의 전송요구에 한 개의 패킷 뿐만 아니라 연속된 여러개의 패킷 전송도 가능하다.

호스트에서 테이터의 전송과 수신을 동시에 처리 할 수 있는 전송 기능SMP Full-duplex

을 지원한다.

과 드라이버들에서 필요한 프레임 포맷을 변환할 수 있는 기능을 지원한다ARCNET WAN , .

의 지원과 과 같은 연결 지향형의 전송 매체를 지원한다QoS ATM .

모든 큐 관리와 동기화 작업을 드라이버가 전담하는 드라이miniport deserialized miniport

버를 지원한다.

와 기능을 지원한다Windows Power-Management netcard-initiated wake-up .

인공위성과 같은 고속의 단방향 방송 전송 매체를 지원한다.

체크섬 계산이나 압축 및 부호화 등의 에 부담을 주는 부하들을 하드웨어TCP/IP PPP CPU

가 지원한다면 네트워크 카드가 지원할 수 있도록 한다.

2. Miniport Driver

는 드라이버와 드라이버의 두가지 형태로 디바이스 드라NDIS Full NIC Miniport NIC NIC

이버를 구현 할 수 있게 한다.

드라이버는 하드웨어와 직접 관련한 기능들과 각종 전송 및 수신상의 동기화 및Full NIC

큐잉 기능들을 모두 구현하고 상위 프로토콜들과 패킷 데이터 구조등과의 연결 정보를 유,

지해야 한다.

Page 156: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

드라이버는 기존의 드라이버에서 하드웨어와 직접 관련된 기능들만을Miniport , Full NIC

직접 구현하고 나머지 필요한 기능들은 에서 지원하도록 구현하는 형태의 드라이버로, NDIS

서 기존의 드라이버 구조보다 약 의 오버헤드를 제거함으로써 보다 작고 빠르게 동작, 50% ,

할 수 있는 드라이버 구조이다.

즉 드라이버는 에서부터 지원되는 드라이버 구조로서 기존의, Miniport NDIS V.4.0 , Full

드라이버 구조에서 모든 드라이버들에 공통적인 기능들을 라이브러리에NIC NDIS NDIS

구현되어 있어 개발자가 하드웨어와 직접 관련된 부분 만을 구현 할 수 있도록 함으로써 보

다 쉽게 구현 할 수 있게 한다.

또한 기존의 드라이버에 비해 새 버전의 특징을 이용할 수 있어 보다 작고 빠른 드, NDIS ,

라이버를 구현 할 수 있다.

은 드라이버를 지원하기 위해 다음과 같은 기능들을 지원하고 있다NDIS 5.0 miniport .

Filter packages●

Opens, closes and queuing●

Timers to detect hung hardware●

Synchronization and multiporcessor support●

Support for multipacket sends and receives●

Support for full-duplex operation●

Page 157: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

드라이버 함수들3. Miniport NIC

드라이버는 개발자가 구현해야 할 드라이버 함수들과Miniport NIC Upper-edge miniport

드라이버 내에서 불려질 라이브러리 함수들이 있다NDIS .

다음과 같은 한정된 세트의 함수들은 상위 프로토콜 드라이버의 기능 수행에 따Upper-edge

라 에서 호출하게 되는 함수들로써 디바이스 드라이버 개발자가 직접 구현해 주어야NDIS

한다.

DriverEntry Called by the operating system to activate and initialize the NIC driver.●

MiniportCheckForHang Checks the internal state of the network interface card.●

MiniportDisableInterrupt disables the network interface card from generating●

interrupts.

MiniportEnableInterrupt Enables the network interface card to generate interrupts.●

MiniportHalt Deallocates and deregisters resources used for the NIC, and halts the●

NIC so it is no longer functioning.

MiniportHandleInterrupt Deferred processing function called to complete interrupt●

driven I/O processing.

MiniportINitialize Initializes the network interface card.●

MiniportISR Runs at a high priority as the interrupt service function for the network●

interface card.

MiniportQueryInformation Queries the capabilities and current status of the miniport●

driver.

MiniportReconfigure Not used. No●

MiniportReset Issues a hardware reset to the network interface card.●

MiniportSend Transmits a packet through the network interface card onto the●

network.

MiniportSetInformation Changes (sets) information about the miniport driver or its●

NIC.

MiniporttransferData Copies the contents of a packet received by the network●

interface card into a given packet buffer.

MiniportSendPackets Transmits an array of apckets through the network interface●

card onto the network

Page 158: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

MiniportReceivePacket Receives a packet from an upper layer that was previously●

passed up by a callto NdisMIndicateReceivePacket

MiniportAllocateMemorycompleteCalled to indicate that a preceding call to●

NdisMAllocateMemoryAsyne is now complete.

또한 는 다음과 같은 다양한 기능들을 구현하기위해 드라이버 초기화 및 등록 하, Miniport , ,

드웨어 컨피규레이션 처리 전송 및 컨피규레이션 인터럽트 처리 동기화, I/O port , DMA , ,

처리 상태 정보 처리 송수신 처리 패킷 및 버퍼 처리등과 같은 각각의 기능들과 관련한, , , ,

라이브러리 함수들을 호출한다NDIS .

가 드라이버 초기화 및 등록.

NdisMInitializeWrapper Initializes the NDIS library data structures for this miniport●

driver.

NdisMRegisterMiniportProvides the NDIS library with information about the miniport●

driver.

Page 159: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisMSetAttributes Informs the NDIS library of the type of network interface card●

supported by the miniport driver and passes the handle

to the miniport's context area which will be passed in subsequent calls to MiniportXxx

functions.

NdisMSetAttributesEx Changes the default NIC timeout behavior as well as passing●

the same information passed to NdisMSetAttributes. NDIS

intermediate drivers must call this function, rather than NdisMSetAttributes.

NdisMQueryInformationComplete Indicates that a prior call to●

MiniportQueryInformation is complete.

NdisMSetInformationComplete Informs the NDIS library that the previous●

MiniportSetInformation operation has completed.

NdisOpenConfigurationOpens the registry and obtains a handle to the Parameters key●

that describes a NIC managed by the driver.

Page 160: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisReadconfigurationUses the parameters handle obtained by calling●

NdisOpenConfiguration to read key values stored in the registry

at the keyword passed to NdisReadconfiguration.

NdisWriteConfiguration Uses the Parameters handle obtained by calling●

NdisOpenConfiguration to write key values into the registry

at the keyword passed to NdisWriteconfiguration.

NdisCloseconfiguration closes the handle to the registry that was opened with a call●

to NdisOpenConfiguratIon.

나 버스 구조등과 같은 하드웨어 컨피규레이션. ISA, EISA, PCI

NdisReadEisaSlotInformation Reads the slot information for and EISA network●

interface card and copies it into a buffer that the NIC

driver provides.

Page 161: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisReadEisaSlotInformationEx Reads the slot information and a set of functions●

information for an EISA network interface card tat supports

alternative configurations and copies these configurations into a buffer that the NIC

driver provides.

NdisReadMcaPosInformation Reads data from the POS register on an MCA network●

interface card and copies this information into a buffer that

the NIC driver provides.

NdisImmediateReadPciSlotInformationReads a specified number of bytes from the●

configuration space of a specified PCI device.

NdisImmediateWritePciSlotInformationWrites a specified number of bytes to the●

configuration space of a specified PCI device.

NdisMPciAssignResources Returns a list of resources claimed for a specified PCI●

device.

Page 162: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisReadPciSlotInformation Reads a specified number of bytes from the configuration●

space of a specified PCI device.

NdisWritePciSlotInformation Writes a specified number of bytes to the configuration●

space of a specified PCI device.

다 처리. I/O Port

NdisMRegisterIoPortRange Sets up access to I/O ports for using●

NdisRawReadPortXxx and NdisRawWritePortXxx.

NdisMDeregisterIoPortRange Removes access to I/O ports previously registered with●

NdisMRegisterIoPortRange.

NdisMMapIoSpace Maps a range of device memory for subsequent PIO operations.●

NdisMUnmapIoSpace Releases a region mapped by a call to NdisMMapIoSpace.●

NdisImmediateReadSharedMemoryReads a single buffer of data from a shared●

memory address before the driver has called NdisMMapIoSpace.

Page 163: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisImmediateWriteSharedMemory Writes a single buffer of data to a shared●

memory address before the driver has called NdisMMapIoSpace.

NdisRawReadPortXxx Read a single piece of data from an I/O port. Specific●

functions include:

NdisRawReadPortUchar

NdisRawReadPortUlong

NdisRawreadPortUshort

NdisRawreadportBufferXxxRead a buffer of data a piece at a time from an I/O port.●

specific functions include:

NdisRawreadPortbufferuchar

NdisRawReadPortbufferUlong

NdisRawReadPortbufferUshort

NdisRawWritePortXxx Writes a single piece of data to an I/O port. Specific functions●

include:

NdisRawWritePortUchar

NdisRawWritePortUlong

NdisRawWriteportUshort

Page 164: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisRawWritePortBufferXxx Writes a buffer of data to I/O port. Specific functions●

include:

NdisRawWritePortbufferUchar

NdisRawWritePortbufferUlong

NdisRawWritePortbufferUshort

NdisImmediateReadPortXxxReads a piece of data from an I/O port before the driver●

has mapped the port by calling NdisMRegisterIoPortRange.

Specific functions include:

NdisImmediateReadPortUchar

NdisImmediateReadPortUshort

NdisImmediateReadPortUlong

NdisImmediateWritePortXxx Writes a piece of data from an I/O port before the●

driver has mapped the port by calling NdisMRegisterIoPortRange.

Specific functions include:

NdisImmediateWritePortUchar

NdisImmediateWritePortUshort

NdisImmediateWritePortUlong

라 전송 및 컨피규레이션. DMA

Page 165: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisMallocateMapRegisters Allocates map registers for use with busmaster DMA●

devices.

NdisMAllocateSharedMemory Allocates memory to be shared between the system and●

a busmaster DMA NIC. It is called during driver

initialization at IRQL PASSIVE_LEVEL.

NdisMAllocateSharedMemoryAsyncCalled at raised IRQL, such as in a miniport's●

HandleInterruptHandler, to allocate shared memory for a

busmaster DMA NIC.

NdisMCompleteBufferPhysicalMapping Releases the map registers used by a previous●

call to NdisMStarBufferPhysicalMapping for a busmaster

DMA operation.

NdisMCompleteDmaTransferIndicates to the NDIs library that a slave DMA operation●

has completed.

NdisMDeregisterDmaChannel releases a miniport driver's claim on its DMA channel.●

Page 166: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisFlushBuffer called by the driver before sending data to the NIC or transferring●

data from the NIC to ensure coherence between cache

memory and host physical memory during busmaster DMA operations.

NdisMFreeMapRegisters Frees map registers for busmaster DMA that were●

previously allocated by NdisMAllocatemapRegisters.

NdisMFreeSharedMemoryfrees memory that was previously allocated by●

NdisMAllocateSharedMemory or NdisMAllocateSharedMemoryAsync

NdisQueryMapRegisterCount Returns the total number of map registers possible. the●

driver calls NdisQuerymapRegisterCount before calling

NdisMAllocatemapregisters to more realistically choose how many registers to allocate.

Page 167: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisMReadDmaCounter Reads the current value of the system DMA controller●

counter.

NdisMRegisterDmaChannel Sets up a DMA channel for future slave DMA operations.●

NdisMSetupDmaTransferSets up the host system DMA controller for a slave DMA●

transfer.

NdisMStartBufferPhysicalMapping Creates a physical address mapping for a●

busmaster DMA operation.

NdisMupdateSharedMemory Ensures that data to be read from a shared memory●

region is up-to-date during busmaster DMA operations.

마 인터럽트 처리.

NdisMDergisterInterruptStops an interrupt handler from receiving interrupts. The●

operating system disconnects the interrupt service function

from its associated NIC interrupt.

NdisMRegisterInterrupt Associates the miniport interrupt service●

function(MiniportISR) with interrupts generated by its network

interface card.

Page 168: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisMSynchronizeWithInterrupt Any NIC driver function that shares resources with●

the miniportISr or MiniportDisableInterrupt functions must

synchronize access to these resources to prevent race conditions.

functions that must synchronize with MiniportISR and MiniportDisableInterrupt do so by

calling NdisMSynchronizeWithInterrupt passing the address of

a MiniportSynchronizeWithInterrupt passing the address of a MiniportSynchronizeISr

function. The MiniportSynchronizeISR function runs at DIRQL

so that it can safely access the shared resource.

Page 169: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

바 동기화 처리.

NdisMCancelTimer Cancels a timer that was previously set with NdisMSetTimer.●

NdisMInitializeTimer Initializes a timer object and associates a MiniportTimer●

function with the object.

NdisMSetTimer Sets a timer to go off after a specified interval.●

NdisMSetPeriodicTimer Sets a timer that goes off automatically at a specified●

interval of until cancelled with a call to NdisMCancelTimer.

NdisSleep Causes the caller's thread to block for the specified interval. A driver calls●

NdisSleep during initialization or when halting the adapter, for

instance, while waiting for the NIC to complete initialization. NdisSleep is only called at

IRQL PASSIVE_LEVEL.

Page 170: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisStallExecution Causes the caller's thread to stall for a specified interval not to●

exceed 50 milliseconds. NdisStallExecution is only called at

raised IRQL when NdisSleep cannot be used.

NdisInitializeEvent Creates and initializes and event which can then be used to●

synchronize driver operations.

NdisSetevent Signals the specified event.●

NdisresetEvent Resets the specified event to the unsignaled state.●

NdisWaitevent Causes the caller to wait until the specified event is signaled or the●

specified time interval expires.

NdisAcquireSpinLock Acquires a spin lock to protect access to shared resources●

between nonISR driver functions in an SMP-safe way.

Miniports that are running at IRQL <DISPATCH_LEVEL call this function to acquire a

spin lock.

NdisReleaseSpinLock Releases a spin lock previously acquired by calling●

NdisAcquireSpinLock.

NdisDprAcquireSpinLockAcquires a spin lock at IRQL DISPATCH_LEVEL. Protects●

access to shared resources between nonISr driver functions in

an SMP-safe way. Faster than calling NdisAcquireSpinLock for driver functions running

at IRQL DISPATCH_LEVEL.

NdisDprReleaseSpinLockReleases a spin lock previously acquired by calling●

NdisDprAcquirespinLock.

NdisMSynchronizeWithInterrupt Any NIC driver function that shares resources with●

the MiniportISR or MiniportDisableInterrupt functions

must synchronize access to the resources with these two functions to prevent race

conditions. Such functions that must synchronize with

MiniportISR and Miniport DisableInterrupt do so by calling

NdisMSynchronizeWithInterrupt with a MiniportSynchronizeISR

function that also runs at DIRQL while it accesses the shared resource.

사 상태 정보.

NdisMIndicateStatus Indicates to the NDIS library that the network interface card●

status has changed.

NdisMIndicateStatusComplete Indicates to the NDIS library that the status change is●

complete.

NdisMQueryInformationComplete Indicates that a prior call to●

MiniportQueryInformation is complete.

NdisMSetInformationComplete Indicates that a prior call to MiniportSetInformation is●

complete.

Page 171: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

아 송수신 처리.

NdisMIndicateReceiverPacket indicates up one or more packets to interested upper●

layers.

NdisMArcIndicateReceive●

NdisMEthIndicateReceive

NdisMFddiIndicateReceive

NdisMTrIndicateReceive

Indicates that a packet of a specific media type is being received.

NdisMArcIndicateReceiveComplete●

NdisMEthIndicateReceiveComplete

NdisMFddiIndicateReceiveComplete

NdisMTrIndicateReceivecomplete

Indicates that the previous packet receive operation is complete.

NdisMSendComplete Indicates that the previous packet send operation is complete.●

This function is used when the previous MiniportSend

function operated asynchronously.

NdisMsendResourcesAvailablel Indicates to the NDIS library that the miniport driver●

has available resources for send operations. A minport

calls this function in its MiniportSend function if it completes a send synchronously or

in its MiniportHandleInterrupt when it detects that an asynchronous

send has completed.

Page 172: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisMSendResourcesAvailable can only be called when the driver has not called

NdisMSendComplete for a pending send.

NdisMTransferDataCompleteInforms the NDIS library that the previous●

MiniportTransferData request is complete. This function is sued

when the previous call to the MiniporttransferData function returned

NDIS_STATUS_PENDING.

자 패킷과 버퍼 처리.

NdisAllocatePacketPool Allocates and initializes a block of nonpaged packet pool.●

Page 173: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

The caller supplies the requested number of packet descriptors and the size in bytes of

each fixed-size packet

NdisAllocatePacket Allocates a fixed-size packet descriptor from the packet pool●

returned by NdisAllocatePacketPool.

NdisAllocateBufferPool Returns a handle with which the caller can allocate buffer●

descriptors with NdisallocateBuffer.

NdisAllocateBuffer Creates a buffer descriptor mapping a specified virtual range●

within an already allocated, nonpaged memory block, given

a handle returned by NdisAllocateBufferPool.

NdisAdjustBufferLength modifies the length of the range specified in a given buffer●

descriptor.

NdisCopyBuffer creates a buffer descriptor for a specified range, given a handle for a●

block of already allocated memory and a pointer to the buffer

descriptor for the block.

Page 174: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisCopyFromPacketToPacket Copies a specified number of bytes from one packet to●

another, given a specified source packet and a destination packet

and specified offsets in each.

NdisCreateLookaheadbufferFromSharedMemory Returns the virtual address of a buffer●

within a block of memory shared with a busmaster DMA NIC.

allows a driver to map a portion of received data to indicate up to interested protocols

as a read-only lookahead buffer.

NdisDestroyLookaheadBufferFromSharedMemory Releases a buffer acquired by calling●

NdisCreateLookaheadBufferFromSharedMemory.

NdisQueryPacket Returns a set of information that describes a packet and a pointer●

to the initial buffer in the chain.

Page 175: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisQueryBuffer Returns the base virtual address and size of a buffer that is●

mapped by a given buffer descriptor.

NdisQueryBufferOffset Returns the base virtual address of the range specified in a●

given buffer descriptor.

NdisGentFirstBufferFromPacket Returns pointers to the buffer descriptor and base●

virtual address for the initial buffer chained to a given packet,

along with the size of the initial buffer and full buffer, in case the buffer is fragmented.

NdisGentNextBuffer Returns the next buffer descriptor in a chain, given the current●

buffer descriptor.

NdisGetPacketFlags Returns the flags, if any, set by a protocol driver in a given●

packet.

NidsFreePacketPool Releases a block of nonpaged pool allocated by calling●

NdisAllocatePacketPool.

NdisFreePacket Releases a packet allocated by calling NdisAllocatePacket.●

Page 176: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisFreeBufferPool Releases a handle obtained by calling NdisAllocateBufferPool.●

NdisFreeBuffer Releases a buffer descriptor allocated by calling NdisAllocateBuffer.●

NdisChainBufferAtFronT Links a given buffer descriptor at the front of a chain of●

buffer descriptors for a given packet.

NdisChainBufferAtBack Links a given buffer descriptor at the and of a chain of●

buffer descriptors for a given packet.

NdisUnchainbufferAtfront Removes a given buffer descriptor from the front of a●

chain of buffer descriptors for a given packet and returns a

pointer to that buffer descriptor.

NdisUnchainBufferAtBack Removes a given buffer descriptor from the back of a●

chain of buffer descriptors for a given packet and returns

a pointer to that buffer descriptor.

Page 177: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

NdisReinitializePacket Removes any chained buffers from a given packet and●

reinitializes it for reuse.

NdisRecalculatePacketCounts Resets the valid count for a given packet so that the●

next call to NdisQueryPacket recalculates the counts.

드라이버 동작4. Miniport

디바이스 드라이버를 개발하는 개발자는 다음과 같은 기본적인 작업Miniport NIC miniport

을 구현 해야 한다.

라이브러리는 각 드라이버가 초기화 과정에서 등록한 함수들에NDIS , miniport upper-edge

대한 정보를 담고있는 을 가지고 있다driver-descriptor block .

드라이버는 기본적으로 이들 함수를 이용해서 라이브러리의 초기화 와miniport NDIS NIC

드라이버 등록 하드웨어의 등록 데이터 전송 수신된 데이터, Network Interface Card(NIC) , ,

의 인식 및 전송 인식 상태 처리 하드웨어와 드라이버 특성 데이터의 요구와 설정, , NIC ,

하드웨어의 통계적 데이터 요구 하드웨어 재설정 하드웨어 제거 드라이버NIC , NIC , NIC ,

의 등록 취소와 라이브러리 사용 마무리등의 기본적인 작업을 수행해야 한다NDIS .

Page 178: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

가 라이브러리의 초기화 와 드라이버 등록. NDIS NIC

운영체제는 드라이버가 로드되어질 때 레지스트리에 있는 바인딩 정보를 이용해서, miniport

드라이버에 대한 드라이버 오브젝트를 생성하고 그 드라이버의 함수를 호출한DriveEntry

다.

는 드라이버 오브젝트와 레지스트리 경로 정보를 매개변수로해서miniport

함수를 호출해서 초기화를 수행한 후 함수를NdisMInitializeWrapper , NdisMregisterMiniport

호출해서 자신을 네트워크의 드라이버로써 등록한다 라이브러리는 드라이버 오브젝. NDIS

트 에서 제공하는 함수들의 주소들을 저장한다miniport .

나 하드웨어 등록. Network Interface Card(NIC)

라이브러리는 드라이버에서 제공하는 함수를 호출한다NDIS miniport MiniportInitialize .

Page 179: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

함수는MiniportIntialize NdisOpenConfiguration, NdisReadCongurations,

함수들을 호출해서 환경 레지스트리 데이터베이스를 읽는다 또한NdisCloseConfiguration . ,

함NdisReadPciSlotInformation, NdisReadEisaSlotInformation, NdisReaMcaSlotInformation

수들을 호출 하여 각 시스템 버스 형태에 대한 구성 정보를 읽는다.

적절한 구성 정보를 얻은 후 의 구조체에 저장하고 함, NIC context NdisMSetattributes(Ex)

수를 호출하여 핸들을 구조체에 전달한다 그리고context . , NdisRawWritePorXxx,

함수들을 이용해서 를 더 초기화 하고NdisRawWriteXxx NIC ,

함수들을NdisMAllocateSharedMemory, NdisMMapIoSpace, NdisMRegisterIoPortRange

이용해서 장치 메모리를 설정하고 자원을 설정한다I/O .

의 초기화를 마무리한 후 하드웨어가 인터럽트를 발생시키면NIC , NIC

를 호출하여 인터럽트 핸들링을 설정하고 인터럽트를 발생시키지NdisMregisterInaterrupt ,

않으면 디바이스에 대한 시간을 설정하기 위해 를 호출한다polling NdismInitiaoizeTimer .

마지막으로 드라이버는 를 호출해서, NdisMRegisterAdapterShutdown Hamdoer shutdown

핸들러를 등록한다.

Page 180: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

다 데이터 전송.

함수는 전송하고자 하는 한 개 이상의 패킷의 포인터로 이루어진 배MiniportSendPackets

열 포인트를 매개 변수로 받는다.

드라이버는 패킷들을 전송하는데 있어 동기적으로 처리 할 수 있다 각각의 패킷은NIC .

나 의 전송 완료를 해야NDIS_STATUS-STCCESS NDIS-STATUS-FAILURE

함수를 끝낼 수 있다MiniportSendPackets .

만약 어떤 패킷에 대해 이 리턴되면 그 패킷이 처리되면, NDIS-STATUS-PENDING

함수를 호출 해야 한다NdisMSendComplete .

는 한 개의 패킷을 전송한다 가 실제로 패킷을 전송하기 전에MiniportSend . miniport

를 호출하여 패킷 헤더 구조체의 멤버에 있는 정보를 읽을 수 있NdisGetPacketFlage Flags

다.

가 동기적으로 하다면 함수가 리턴하기 전에 전송을 한다MiniportSend complete , complete .

Page 181: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

비동기적으로 동작하는 경우에는 가 을 리턴하고 패킷miniprort NDIS-STATUS-PENDING

이 처리되면 를 호출해야 한다NdisMSendComlete .

라 수신된 데이터의 인식 및 전송.

드라이버는 을 호출하여 관련된 상위 프로토콜Miniport NIC NdisMIndicateReceivePacket

드라이버들에게 한 개 이상의 패킷이 수신되었음을 알린다.

을 호출하여 각각의 패킷들에 대해 각각 한다MiniporReturnPacket complete .

가 패킷을 수신하면 상위 프로토콜 드라이버에 네트워크 형태에 따라NIC

함수를 이용해 알린다NdisM(Arc/Eth/Fddi/Tr) ImdicateReceive .

만약 그 패킷이 부분적인 패킷이라면 나머지 전체 패킷을 전송하기위해 드라이버, miniport

에서 지원하는 함수를 호출한다NdisTransferDate .

Page 182: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

함수가 리턴하기 전에 전송을 끝낼 수 없으면MiniportTransferDate data

을 리턴하고 는 데이터가 전송되어 졌을 때NDIS-STATUS-PENDING miniport

를 호출한다NdismTransDataComplete .

가 모든 수신된 데이터 프레임을 전송 받았을 때 는NIC miniport NdisM(Arc/Eth/

를 호출한다Fddi/Tr)ImdicateReceIveComplete .

자 인식 상태 처리.

가 상위 프로토콜 드라이버에 상태 변화에 대한 정보를 알려 줄 필요가 있을 때miniport ,

를 호출하고 프로토콜 드라이버 라이버러리NdisMIndicatatus , , NDIS , Configuration

는 상태 변화를 기록한다Manager .

드라이버는 를 호출하여 상태 변화 정보를 모두 전Miniport NdisMIndicateStatusComplete

송 했음을 알린다.

Page 183: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

바 하드웨어와 드라이버 특성 데이터의 요구와 설정. NIC

함수를 호출하여 특성 및 통계 정보를 요구하고 설정Miniport(Query/Set)Information NIC

하고 기능을 수행한다.

이 함수들은 비동기적으로 동작하기 때문에 함수가 을 리턴하고, NDI-STATUS-PENDING

나서 가 동작을 모두 수행한 후 를 호출한다miniport NdisM(Query/Set)InformationComplete .

사 하드웨어 재 설정. NIC

전송 이나 수신 수행이 되거나 드라이버의 함수가Time-Out , NIC MiniportChechForHang

를 리턴하면 드라이버는 함수를 호출하여 하드웨어 및 소프TRUE miniport MiniportReset

트웨어 상태를 리셋한다.

만약 비동기적으로 동작하면 드라이버는 를 호출한다, miniport NdisMResetComplete .

Page 184: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

아 드라이버의 등록 취소와 라이브러리 사용 마무리. NDIS

함수가 호출되면 를 호출해서 초기화시에MiniportHalt , NdisTerminateWrapper

를 호출해서 얻은 핸들을 제거 한다NdisTerminateWrapper .

만약 드라이버가 인터럽트를 등록했었다면 를 호출하고, miniport , NdisMDergisterInterrupt ,

핸들러를 등록했었다면 를 호출한다ShutDown NdisMDeregisterAdapterShutdownHandler .

타이머를 설정했었다면 각 생성된 타이머 마다 를 호출한다NdisMCancelTimer .

또한, NdisAllocateMemory, NdisMAllocateShareMemory,

등을 호출하여 메모리를 할당했다면NdisMAllocsteSharedMemoryAsync NdisFreeMemory

를 호출하고 을 호출 했었다면 을 호출한다 하, NdisAllocatePacketPool NdisFreePacketPool .

드웨어 자원이 할당 되었다면 즉 버스 마스터 인 경우, DMANIC

나 의 함수들을 호출한다NdisMDergisterIoportRange NdisMFreeMapRegisters .

Page 185: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 결 론8

현재 는 등의 전송속도를ATM NIC 25Mbps, 51.84Mbps, 100Mbps, 155,52Mbps, 622.08Mbps

중심으로 시장을 형성시켜가고 있다 각 들에 의해서 제품들이 발표되고 있으나. Vender ,

이 발전단계 또는 네트워크 시장의 초기 단계에 있는 특수성으로 인해 각 들ATM , Vender

의 입장 차이로 인한 호환성이 결여되어있는 부분이 많은 상황이다 네트워크 시장의. ATM

진행에 따라 호환성과 성능적 측면에서 보다 유연하게 적응해 갈 수 있는 기술을 확보할 필

요가 있다.

본 논문에서는 의 기본적인 개념 및 의 개념을 살펴보고 를 개발ATM ATM NIC , ATM NIC

함에 있어 기술의 발전 사용자의 요구의 변화 환경의 변화에 따라 보다 유연하게 대처하기, ,

위해 각 설계 요소들을 분류하고 검토하였다 이러한 검토 사항을 바탕으로 현재 개발하고.

자 하는 기본 설계 사양을 선정하여 그 설계 모델을 구현하였다.

의 설계 시 의 개수 전송 속도 호환성 전용 등과 같은 일반적ATM NIC AAL Type, VC , , , IC

인 설계 사항 보드의 내수 구조 호스트와의 버스 구조 프레임 포맷 내부 프, NIC , , TDM ,

로세서 지원 여부 등과 같은 하드웨어적인 설계 사항 소프트웨어적인 설계 사항들을 검토,

하여 적절한 선정을 해야 할 것이다.

본 논문에서 분류하고 검토한 설계 사항들은 현재 몇몇 들의 설계사양ATM NIC Vender

및 각 기관의 개발 문서 및 보고서 관련 표준안등을 바탕으로 기술되었다 분석된 설계 사, .

항들 및 구현된 모델들은 앞으로 를 개발함에 있어 기본적인 기술로써 활용할 것ATM NIC

이다.

Page 186: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 인터넷 의료정보 실시간 미디어 시스템 설계 및 구현12

제 절 개 요1

인터넷 정보 시스템은 웹 인터페이스를 시점으로 사용자 위주의 그래픽 인터페이스의 환경

으로 바뀌어 가고 있으며 텍스트 위주의 정보 전달에서 점차로 멀티미디어 정보 전달의 중

요성이 강조되고 있다 화상회의 시스템과 같은 환자 의사 또는 업체와 의사 의사와 의사간.

의 대화 도구는 물론 교육과 학술 또는 실시간 진료장면 중계 같은 인간에 직관적으로 다,

가설 수 있는 콘텐트를 서비스 해야 하는 추세로 변화하고 있다.

네트워크의 발전과 더불어 대용량의 저장 시스템 등과 같이 시스템 의 발전은 이 같은H/W

환경을 확장 앞당기고 있으나 인터넷에서 사용하는 각종 프로토콜과 통신 매카니즘 또는 사

용자 인터페이스 등이 기존의 기술들이 되어 왔다는 점에서 효율적이고 최적화된 별도의 멀

티미디어 제공 시스템을 필요로 하게 된다.

본 장에서는 이 같은 실시간 또는 형식의 멀티미디어 정보제공 서비스를 수행On Demand

하고 치의학 정보 시스템과 통합되는 부분을 기술한다 절에서는 비디오와 같은 콘텐트 저. 2

장 서버 설계시의 고려사항에 관해 기술하고 절에서는 인터넷을 통한 스트리밍 서비스를3

위한 네트워크와 프로토콜에 관해 기술하며 절에서는 치의학정보 시스템과의 통합을 위한4

미디어 서버 구축기술에 관하여 설명하고 정에서는 웹 인터페이스를 통한 서비스 제공과5

네트워크와 관련 자원을 관리하고 사용자 수위를 조절하는 기법등에 대해 논하고 절에서6

결론을 맺는다.

Page 187: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 멀티미디어 저장 서버 설계2

멀티미디어 저장 서버 설계 시 고려할 사항1.

디지털 오디오는 연속적인 샘플들로 나타나고 비디오는 연속적인 프레임 형태로서 요약할

수 있다 이들을 이라고 부르고 이들의 커다란 크기와 데이터 전송률로 인하. Media Stream

여 대부분의 멀티미디어 서버는 를 채용한다Disk Array .

를 효율적으로 사용하기 위해서는 멀티미디어 서버는 이나Disk Array Media Block Striping

으로 불리는 저장단위로 각 디스크에 데이터를 분산한다 디스크의 자원관리는 순차적Unit .

인 데이터의 특성 때문에 비교적 간단하다고 말할 수 있지만 저장 공간관리의 복잡성이 증

가한다 가변 크기 공간 배치 기법은 와 같은 읽기 전용 환경에 적합하다 반면 빈번한. VOD .

트랜잭션 처리에 있어서는 고정 사이즈의 블록 배치기법이 더 일반적이다 이 같은 정책들.

은 의 성능을 최대화 하기 위하여 서버는 최적의 블록 크기와 디스크의 수 등을 고려Array

해야 한다 파일 시스템에서의 최적의 블록크기는 평균 반응 시간을 최소화하고 처리량을.

최대화 하도록 선택 되어 진다 재생 중 끊기는 것을 최소화하기 위해 서버는 반응시간의.

분산을 최소화 하고 처리량을 최대화하도록 최적의 블록 크기를 선택하여야 한다.

작은 크기의 블록들은 내의 디스크 사이에서 일정한 적재분포를 초래하고 디스크 탐Array

색과 회전지연의 부하를 증가 시킨다.

반면 큰 블록의 선택은 증가된 적재 불균형과 반응시간의 분산으로 인하여 처리량이 증가된

다.

Page 188: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

동시에 서비스 할 수 있는 클라이언트를 최대화 하기 위해 서버는 이들 를 균형화tradeoff

하는 블록 크기를 선택해야 한다 최적의 블록 크기는 내의 디스크수 서버에 접근하. Array ,

는 최대 클라이언트의 수 그리고 그들의 데이터 요구에 의존한다 의. Media Stream String

정도는 내의 디스크 수에 의존한다Array .

또한 디스크 많은 수의 디스크로 구성된 일수록 오류의 확률이 증가하며 이를 위한Array

복구 빠른 복구 매커니즘도 제공되어야 한다.

이것을 위해 일반적으로 데이터를 복제하거나 에러정정 코드를 사용한다 그렇지만 이 같은.

방법은 재생 끊김을 야기 시키면서 잘 동작하는 디스크의 적재를 증가 시킬 수 있다 오류.

복구 동안 끊김을 막기 위해 서버는 온라인 복구를 부하를 줄이기 위해 비디오 접근의 순차

성을 이용 하는 등의 기법을 사용 할 수 있다.

이러한 멀티미디어 서버 설계 시에 기본적으로 나타나는 문제점은 몇몇의 기술적인 해결책

이 제시되어 있다 의 타입과 특성에 의존해서 멀티미디어 파일 시스템은 전체적인 성. Media

능을 최적화하기 위해 다른 블록 크기와 복구정책을 선택한다 대략적인 복구는 비디Media .

오나 실시간 미디어에는 적합하지만 텍스트나 수치데이터에는 적용이 곤란하다 통합된 환.

경에서 다수의 데이터 타입의 공존을 이용하는 데이터구조와 알고리즘을 설계할 필요가 있

다.

또 다른 계산과 통신능력을 가진 클라이언트를 서비스하기 위해 멀티미디어 서버는 공간적

시간적으로 각각 다른 방법으로 저장하게 된다.

Page 189: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이를 이라고 하고 이를 효과적으로 배치하기 위한 전략이 필요하다 또한Multi-resolution .

저장공간과 대역폭의 신뢰성을 요구하기 위해 커다란 멀티미디어 서버는 각각의 노드가 저

장장치의 계층성을 포함하는 의 클러스터가 된다 복제와 분산 그리고 신뢰적인 접근node .

을 보장하는 기술이 필요하다Caching .

서버의 설계2. Media

그림 은 마이크로 소프트의 서버로서 일반적인 서비스 서버의 일반적12.1 NetShow Media

인 형태이다 와 모두를 고려한 설계가 고려 되 있고 저장 서버에. On Demand Live Stream

분산 처리나 배치 방식에 관한 한 디자인은 고려되어 있지 않다 상용 서버 프로Low-Level .

그램인 서버는 저장 콘텐트 서버들간의 동등한 분산이 고려된 스트라이NetShow Theatre

핑 형 클러스트 서버형태를 지원한다.

하지만 아직 인터넷을 통한 스트리밍에 적합한 포맷 등은 지원하지 못하고 대역폭을ASF

요구하는 서비스가 가능하여 로컬 이나 상용 서비스를 위한 주문형 비디오 구축 등의LAN

용도에 더 최적화되어 있다.

Page 190: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

서버에 저장 시스템은 고성능의 하드웨어 아키텍쳐를 적용하는 것이 일반적인데 그RAID

림 의 서버는 치의학 정보 시스템의 멀티미디어와 실시간 멀티미디어 서비스를 위한 서12.2

버의 하드웨어 구조이다.

우리의 서버는 다양한 실험을 위한 진보적인 구조로서 멀티 프로세서를 채용하고 인ATM

터페이스와 의 를 지원하는 를 가진 콘트롤러와80M/s Wide SCSI Intel 960 MPU RAID

의 디스크 개를 의 로 구성하고 시스템 를 위해 별도의 콘트롤Segate 8 Level 5 Array OS SCSI

러와 디스크를 사용하였다.

마이크로소프트의 을 채용하고 와 를Windows Advanced Server 2000 OS NetShow SDK

이용한 사용자 수용제어 정책 서버 자원 관리정책을 위한 인터페이스 구조와 네트워크 관련

구조를 설계 하였다.

Page 191: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

서버 시스템의 메모리는 메가 이고 의 인코딩 머신은 멀티플 비트율 스트림256 Live Stream

을 지원하기 위해 펜티엄 와 의 메모리 용량과 비디오 오버레이 보드를 장착한196MⅡ

의 서버이다 각 서버들은 스위치를 통해 의 인터페이스windows98 PC . ATM 25Mb/s ATM

와 의 이더넷 를 동시에 가지고 있으며 를 지원한다100BaseT NIC IPOA(IP Over ATM) .

디스크 스케줄링과3. Storage Managememtn

기존의 디스크 스케줄링은 탐색시간을 줄이고 높은 처리율로 여러 사용자에 동일한 성능제

공이 목표였다 멀티미디어 저장 시스템은 다중 스트림을 실시간으로 동시에 사용가능 하게.

하는 것이 필요하다 멀티미디어 시스템 디스크 운영의 전반적인 목표는 시간 기준 작업들.

이므로 제한 시간을 우선적으로 하는 기법 즉 가 요구된다 이DEF(Earliest Deadline First) .

기법은 우선 선점 스케즐링처럼 적용하는데 작업의 우선 선점 비용과 다른 작업의 스케줄링

비용이 높으므로 파일 시스템 전략과 결합하여 수행된다.

이 결합기법은 기법 균형과 짧은 탐색시간 기준의 혼합기법 등이 있다 보Scan-EDF, GSS , .

다 효율적인 기법으로 백트래킹이 잆어 탐색지연을 피하는 기법이 많이 사용된. Scan-DEF

다 서비스 주기동안 각 스트림을 위하여 각 주기의 블록들을 검색하는데 가장 간단한 방법.

이 라운드로빈 기법이다 라운드로빈은 각 블록의 상대적인 위치를 알 수 없어 자료배치기.

법을 혼용하여 지연 시간을 줄인다.

Page 192: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

기법은 라운드 길이와 지연의 기법으로 각 라운드를 그룹으로 분리하여 각GSS Trade-off

스트림을 한 그룹에 배정한다 또한 각 라운드의 스트림이 한가지인가 여러 가지인가에 따.

라 스캔과 라운드로빈을 혼합하여 사용한다 라운드의 길이를 최소화하기 위하여 각 라운드.

동안에 각 스트림을 위해 검색되는 블록 수를 스트림의 재생율에 맞춘다.

최적의 서비스를 위한 데이터블록은 연속적이거나 산재 방식으로 배치한다 연속적일 떼에.

는 삽입이나 삭제시 어려우며 주문형비디오 와 같이 읽기 위주인 서비스를 주로 한다(VOD) .

산재배치법은 조각 발생이나 복사할 때 오버헤드를 피할 수 있다 기존의 고정된 크기의 클.

러스터들은 압축된 정도에 따라 다양한 시간을 갖는데 선택적으로 시스템이 다양한 클러스

터크기의 고정된 시간에 따라 클러스터에 자료를 저장할 수 있다 서버는 입출력 위주의 작.

업이 주로 수행되는데 각 디스크에 연속적으로 미디어를 저장하는 방법과 여러 디스크를 동

기화하여 인터리빙 하는 방법이 있다 또한 동기화 하여야 하는 미디어들은 각각 디스크에.

저장하는 방법과 미디어를 동기화 하여 하나의 디스크에 저장하는 방법 등이 있다.

데이터 스트라이핑과 인터리빙4.

하나의 디스크에 하나의 멀티미디어 파일을 저장하였다면 디스크 공간이 조각 날 수 있으며

동시접근 횟수는 디스크 처리율에 제한을 받게 된다 즉 최대 검색 대역폭은 하나의 디스크.

의 데이터 전달 비율에 제한을 받는다 이것을 극복하기 위한 방법은 다른 디스크에 복사하.

는 방법인데 이는 추가적인 디스크 공간을 필요로 하므로 다중 디스크에 미디어 파일을 산

재하여 저장하는 데이터 스트라이핑과 인터리빙 기법을 사용한다.

Page 193: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

데이터 스트라이핑은 의 기본적인 구성 방법인데 오류 복구에 사용될 패리티정보를RIAD

추가 하여 데이터를 각 물리적 디스크에 논리적으로 분산한다 이는 인터페이스의 병. SCSI

렬접근 매커니즘에 의거한 것인데 각 디스크의 수와 스트라이핑 크기에 따라 성능에 영향을

줄 수 있다 전체적으로 디스크의 전송율은 다른 자원에 비해 매우 느리므로 병렬접근에 따.

라 동기화 부하를 고려하더라도 많은 속도의 증가를 기대 할 수 있으나 디스크 자체의 탐색

지연이나 회전지연을 개선 할 수 는 없다.

시스템 목적에 부합하는 적절한 크기의 스트라이핑 크기나 레벨선택은 시스템의 성능에 여

러 가지 변화 요인으로 작용 할 수 있다.

멀티미디어 파일시스템과 검색구조5.

멀티미디어 파일 시스템 설계자는 클라이언트 서버 상호작용을 고려하여야 하며 멀티미디어/

객체의 생성 편집 검색 등의 파일구조를 통하여 자료를 추적할 수 있어야 한다, , .

멀티미디어 저장구조는 기존 파일시스템의 기준과 스트림 기준 두 종류로 구분할 수 있다.

파일시스템 기준은 멀티미디어 객체를 하나의 커다란 파일로 간주하며 열기 닫기 일기 등, ,

의 명령어를 사용한다 클라이언트 읽기 요구를 계속하여 서버가 자료를 계속 읽어 오도록.

하며 읽기 요구를 잠시 중단하여 멈춤 재시작의 명령어를 대신할 수 있다 요구 서비스를.

만족시키기 위해 디스크의 자료를 열기 위해 최소지연으로 메모리의 버퍼에 미리 가져온다.

Page 194: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

스트림 기준은 클라이언트가 재생 멈춤 재시작 등의 명령어를 사용하며 한번의 일기 요구, ,

로서 서버가 주기적으로 선택된 비율로 사용자에게 자료를 보내도록 한다 멀티미디어 자료.

의 높은 처리율 때문에 공유메모리가 바람직하며 자료의 복사를 피하기 위해서는 메모리를

다른 주소공간으로 재 할 수도 있다mapping .

멀티미디어 파일 시스템은 멀티미디어 스트림을 저장하는 디스크 저장구조 멀티미디어 객,

체를 효율적으로 접근하기 위한 와 도구들과 클라이언트 서버의 상호동작을 지원S/W H/W /

하는 하부 구조로 구성되어 있다 기존의 파일시스템과는 달리 연속적인 미디어 검색 효율. ,

적인 브라우징을 위한 인덱스가 필요하다.

파일시스템을 구현하는데 디스크블록을 유지하는 것이 필요하다 산재된 파일 사상은 연결.

리스트방법 파일할당 테이블방법 예 인덱스 방법 방법 혼합방법등, ( :FAT) (I-node in UNIX)

여러 가지가 있다.

연결 리스트방법은 임의의 접근시 효율적이다 파일할당 테이블 방법은 많은 파일을 사용할.

대 부적절하다 인덱스 방법은 유닉스의 와 같으며 파일 할당 테이블 방법이 현재. I-node

열린 파일 정보를 가지지 못한 점을 보완한다 이진트리구조로 계층적 파일을 가질 수 있고.

빠른 임의 접근이 가능하다.

그러나 커다란 미디어 파일등과 같은 모든 열린 파일 인덱스의 정보를 주기억장치에 유지하

기 어려울 가능성이 있다 연속적인 파일의 검색은 실시간으로 인덱스 블록과 파일자체 블.

록 검색을 포함한다 인덱스의 검색은 작은 대역폭과 시스템 자원을 사용하므로 검색시에.

효율적인 시스템을 운용할 수 있다.

Page 195: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

혼합방법은 위의 방법을 혼용하는 방식이다 자원의 과도한 사용으로 인한 부하를 피하는.

방법은실시간으로 재생할 데이터 블록의 포인터를 지적하는 연결 리스트 방법이다 임의의.

탐색은 실시간으로 자원 보장 없이 인덱스를 통하여 빠르게 보존 할 수 있다.

저장될 파일의 정보 저장6.

각 미디어 파일은 다양한 형태와 포맷과 다양한 자원 요구 사항을 포함하고 있다 특히 가.

변 비트율의 데이터일 경우는 가변적인 대역폭으로 사용으로 자원 활용의 모니터링이 필요

하며 이는 시스템 가용량을 늘리는 기법의 기분으로 사용 할 수 있다.

또한 클라이언트로 부터의 대역폭 요구와 데이터 스케줄링이나 네트워크의 흐름 제어의 기

준 자료로도 사용 할 수 있다 각 미디어 포맷의 헤더에 있는 기본 정보 외에도 미디어 저작

시나 또는 기존의 미디어 저장시 효율적인 배치기법과 더불어 파일 정보에 관한 정보를 여

분의 공간에 저장하여 시스템 관리와 효율적인 서비스에 관련 자료로 이용하는 것이 필수적

이다 이는 가용 사용자수의 결정이나 서비스 상황을 모니터링을 위한 자료 서비스 품질이. ,

나 보장 등의 사항에 정보로 사용할 수 있으며 클라이언트에서 서버의 상황을 알려주고QoS

클라이언트에 서비스 대기 시간이나 지연 요소 품질 관계를 알려줄 수 있는 자료로 활용 할

수 있다.

구조7. SCSI

는 버스에 연결된 장치를 논리적 장치로 인식하므로 사용자는 장치들이 물리적SCSI SCSI

특징을 알 필요가 없다.

Page 196: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

호스트의 입장에서 디스크는 논리적 주소로 접근이 가능한 선형주소공간으로 인식된SCSI

다 사용자는 읽기 쓰기 연산시 라는 자료구조를 통해 원. / CDB(Command Description Block)

하는 데이터의 논리적 블록번호와 크기만 디스크에 전달하면 된다 또 최근 디스크는. SCSI

성능에 관련되는 복잡하고 다양한 기능을 제공한다 그러나 디스크의 이러한 특성은. SCSI

저 수준의 성능 최적화 성과를 얻지만 성능 평가시의 모델링을 어렵게 하는 요인이 된다.

버스에 연결된 장치들은 입출력 처리를 요구하는 과 입출력 명령을 수행하는SCSI initiator

으로 구분되고 이들은 각각의 식별자를 부여 받는다 이 식별자는 버스 연결 시 우선target .

순위를 나타낸다 여러 개의 장치가 버스를 사용하려고 할 때 우선순위가 가장 높은 장치가.

버스사용권을 얻게 된다 버스는 성능향상을 위해 버스 절환 재연결 기능을 이용한. SCSI /

다 로부터 입출력 명령을 받은 장치는 전송하기 위해 걸리는 탐색시간동안 버. Initiator target

스의 제어권을 내어놓고 다른 장치가 버스를 이용할 수 있도록 하고 전송준비가 끝나면 재

연결을 요구한다.

또 디스크는 저장 밀도 및 전송률을 높이기 위하여 전체 실린더를 여러 개의 구역SCSI

으로 나누어 각 구역마다 트랙당 바이트 수를 다르게 한다 전송률은 기록밀도에 비(zone) .

례하므로 안쪽의 구역보다 한 트랙의길이가 긴 바깥쪽 구역의 트랙에서의 전송률이 더 높

다.

접근하고자 하는 블록들이 두 개의 트랙에 걸쳐 있을 때 한 트랙의 마지막 블록에 접근한

뒤 다음 트랙의 첫 번째 블록을 읽기 위해서는 헤드전이가 필요하고 이때 지연시간 때문에

회전 지연만큼 기다려야 연속적인 블록에 접근할 수 있다 헤드전이로 발생하는 이러한 유1 .

휴시간을 없애기 위해 트랙 스큐잉이 쓰인다.

Page 197: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이 방법은 헤드전이 시간을 고려해 연속된 블록을 그만큼 떨어진 위치에 배치하는 것이다.

마찬가지로 접근하고자 하는 블록이 실린더 경계를 걸쳐서 위치 할 때 한 실린더를 읽고 연

속된 다음 실린더로 헤드가 전이할 때 발생하는 유휴시간을 없애기 위해 실린더 스큐잉이

사용된다 트랙 스큐와 실린더 스큐의 값은 명령을 통해 계산할 수 있다. SCSI .

디스크 캐쉬는 전송속도와 디스크 전송속도의 불일치로 인한 지연시간을 없애기 위한SCSI

속도조절버퍼의 역할을 한다.

속도조절 버퍼로의 캐쉬의 성능은 버퍼가 일 비율과 비율에 의해 제어된다FULL EMPTY .

이 두 매개변수는 각각 디스크 읽기와 쓰기시 버스의 재연결 조건을 의미하고 호스트가 제

어할 수 있다 캐쉬의 또 다른 역할은 호스트로 데이터 블록을 전송한 뒤 다음 요청이 올.

때까지 유휴시간동안 인접한 블록을 선 반입한다 디스크 캐쉬는 에서 의 크기를. 64KB 1MB

가지며 명령으로 여러 세그먼트로 분할될 수 있다SCSI .

선반입 정책은 하나의 디스크 입출력요청을 처리한 후 유휴시간 동안에 요청된 블록과 연속

적인 블록을 캐쉬에 저장했다가 다음 입출력 요청이 왔을 때 캐쉬에 해당 블록이 있으며 디

스크 접근 없이 바로 데이터를 전송한다 따라서 멀티미디어 저장서버에서 스트라이핑 크기.

와 사용자가 요구하는 블록이 크기 스케줄링 정책 등의 요소는 캐쉬를 효율적으로 이용할,

수 있도록 설정되어야 한다.

Page 198: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 네트워크 프로토콜3

보장을 위한 노력1. QoS

인터넷을 통한 실시간 들의 서비스는 에서 의 매카니즘에 의한media WAN IP best effort

제한으로 기존의 프로토콜들로는 아무런 보장을 받을 수 없다 기존의 프로토콜들은 실QoS .

시간 미디어 전송에 관한 아무런 조치도 취하지 않는다.

인터넷은 주로 최소 또는 로서 신뢰성 있는 의 교환을 위해 사용No Delay constraint data

되어 왔다 프로토콜은 이러한 형태의 트랙픽을 위해 개발되었으며 매우 효과적으. TCP/IP

로 작동한다.

하지만 잠재적인 멀티캐스트 트래픽의 상당부분을 구성하고있는 멀티미디어 트래픽은 각기,

다른 특성을 가지고 있으며 따라서 필요한 서비스를 공급하기 위해 다른 프로토콜의 이용을

필요로 한다.

예를 들어 수신자가 의 재전송을 기다려야 할 경우 실시간 데이터 오디오 비디오 또, TCP ( , ,

는 기타 지연에 민간한 데이터 의 재생시 허용할 수 없는 캡이 있을 수 있다) .

이것 뿐만 아니라 또한 오디오와 비디오, slow start "TCP congestion-control mechanism

의 재생율을 간섭 방해 할 수 있다( ) .

인터넷을 통한 데이터그램의 유동에 대한 고정된 경로 가 없기 때문에 수신자와 송신(path)

자간의 멀티미디어 송수신을 위해 필요한 대역폭을 확인할 만한 메카니즘이 없다 따라서.

를 보장할 수 없다QoS .

또한 는 타이밍 및 멀티미디어 지원을 위해 엄격하게 요구되는 정보 등을 제공하지 않, PCP

는다.

Page 199: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

일반적으로멀티미디어 애플리케이션은 복잡한 에 선행하며 간결한 트랜스포트 프레임TCP ,

워크를 사용한다 대부분의 재생 플레이백 알고리즘은 재전송에 의해 발생하는 긴 지연 보다. ( )

손실된 데이터에 대하여더 높은 허용을 보이며 확실한 인 시퀸스 순차적인 전달을 요구하지- ( )

않는다.

인터넷 아키텍쳐의 개선과 오디오와 비디오 인터랙티브 멀티미디어 컨퍼런스 지원을 향상,

시키기 위한 여러 프로토콜이 개발 된 바 있다 및 프로토콜등. RTP, RTCP, RSVP RTSP

이 그것인데 이러한 실시간 기반 프로토콜들은 리얼 타임 지향 프로토콜들 멀티캐스트 또( )

는 유니캐스트 네트웍 서비스에 모두 사용할 수 있도록 설계되었다.

대부분의 리얼타임 애플리케이션은 네트웍 및 멀티캐스트를 이용한 서버 리소스를 보존IP

할 수 있으므로 와 멀티캐스트 라우팅 및 다수의 수신자 및 다양한 수신자를 수scalability

용하기 위해 멀티캐스트에 대한 특수한 요구조건 및 특성이 고려되어야 한다IP .

유니캐스트 서버의 경우 레이어에서의 에러 수정 및 검출에 의해 신뢰성이 제공된IP , TCP

다 멀티캐스트 송신자가 수천명의 수신자를 가질수 있으므로 신뢰성있는 멀티캐스트를. IP

위해 에러 수정 및 검출에 대한 새로운 접근방식이 개발되었다.

2. RTP (Real Time Transport Protocol)

버전 는 유니캐스트와 멀티캐스트 네트웍 서비스 등을 통해 인터랙티브 오디오와 비RTP( 2)

디오 같은 실시간 애플리캐이션 전송을 지원하기 위한 엔드 투 앤드 전달 시스템을 제공하- -

기 위한 실시간 전송 프로토콜이다.

Page 200: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

는 에서 정의되었다 는 오디오 비디오 툴인 에 의해RTP IETF RFC 1889 . RTP / vat MBONE

에서 사용된다.

서비스에는 페이로드 타입 식별과 시퀀스 넘버링 타임 스탬핑 이 포함된다 전달은RTP , .

라는 프로토콜을 통해 모니터링 된다RTCP .

는 엔드 투 엔드 전달 서비스를 제공하지만 트랜스포트 프로토콜에 의해 제공되는 모RTP - - ,

든 기능성을 제공하지는 않는다.

사실 는 멀티플렉싱 다중전송 과 서비스를 이용하기위해 최상위에서, RTP ( ) checksum UDP

작동한다.

를 셋업하기 위해 애플리케이션은 특정한 트랜스포트 어드레스 도착지 데스티네이션RTP , ( )

를 정의한다 멀티미디어 세션에서 각각의 단일미디어는 분리된 세션을 통해 전달된다. RTP .

예를 들어 오디오와 비디오는 분리된 세션을 통해 이동하며 수신자는 특정한 단일미, RTP ,

디어를 수신할 것인지 말 것인지를 선택할 수 있다.

에서 제시된 오디오 컨퍼런싱 시나리오에서 의 세그먼트로 전송한다고 가정해RFC1889 - 20ms

보라 오디오 데이터의 각각의 세그먼트는 헤더를 선행하여 가며 결과적인 메시. RTP , RTP

지는 패킷에 위치하게 된다 헤더는 사용된 오디오 인코딩의 종류를 나타낸다UDP . RTP .

예를 들어 사용중 네트웍 이 일어날 경우 또는 낮은 대역폭을 갖는 새로( PCM) congestion

운 참여자가 나타났을 때 이를 수용하기 위해 사용자는 컨퍼런스 도중에 인코딩을 변경할

수 있다.

헤더의 타이밍 인포메이션과 시퀀스 넘버는 수신자에 의해 소스에 의해 생성된 타이RTP

밍을 재구성 하여 오디오 세그먼트가 연속적으로 재생되게 하기 위해 사용된다.

Page 201: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

는 시기적절한 전달과 를 보장할 만한 어떠한 메카니즘도 제공하지 않는다RTP (timely) QoS .

이는 확실한 전달이나 잘못된 전달의 방지를 보장하지 않는다 적용 응용 가능한 일부 애플. ( )

리케이션은 이와 같은 보장을 필요로 하지 않지만 이와 같이 보장을 필요로 할 경우 리소스

레져베이션과 신뢰성있는 서비스를 제공하게 할 수 있는 다른 메카니즘과 동반하여 를RTP

사용해야 한다.

3. RTCP(Real-Time Control Protocol)

는 와 연계하여 사용하는 제어 프로토콜 이다 제어 패킷은 세션 내RTCP RTP . RTCP RTP

의 각각의 참가자에 의해 다른 모든 참가자에게로 주기적으로 전송된다.

애플리케이션에 대한 정보의 피드백은 성능을 통제와 진단용으로 사용할 수 있다.

는 아래와 같은 가지 기능을 수행한다RTCP 4 .

가 애플리케이션에 정보를 제공함.

차적인 기본 기능은 애플리케이션에 데이터 분포의 퀄리티 질 에 대한 정보를 제공하는 것1 ( ) ( )

이다 멀티캐스팅을 이용한 실험 결과 분포 결함 디스크리뷰선 폴트 을 진단하기 위한. IP ( ) ,

로부터의 유저 피드백의 중요성이 밝혀진바 있다RTCP .

이러한 통계에는 송신된 패킷의 수 분실된 패킷의 수 지터 등이 포함되어 있, , inter-arrive

다.

Page 202: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이러한 리셉션 퀄러티 피드백을 송신자와 수신자 그리고 제 의 모니터 요원에3 (third-party)

게 아주 유용할 것이다.

예로서 송신자는 피드백에 의해 송신 트랜스미션 을 변경할 수 있으며 수신자는 문제가 로, ( ) ,

컬인지 지역적인지 또는 글로벌인지를 판단할 수 있고 네트웍 관리자는 멀티캐스트 디스트, ,

리뷰션에 대한 그들의 네트웍 성능을 평가하기 위해 패킷 내의 정보를 이용할 수 있RTCP

다.

나 소스의 구별. RTP (Identify)

는 소스에 대한 라고 불리우는 트랜스포트 레벨 식별자를 전송한다 이RTCP RTP , CNAME - .

는 세션 내의 참가자를 추적하기 위해 사용된다CNAME RTP .

수신자는 일련의 관련된 세션에서의 멀티플 데이터 스트림을 결합 하기 위해 즉 오디RTP ,

오와 비디오를 동기화 하기 위해 를 사용한다CNAME .

다 컨츄롤 전송 간격. RTCP

컨트롤 트래픽이 네트웍을 점유하는 것을 방지하고 로 하여금 다수의 세션 참가자를, RTP

일정하게 증가하는 할 수 있게 하기 위해 컨트롤 트래픽은 전체 세션 트래픽의scale-up( )

최대 까지로 제한된다 이러한 제한은 참가자의 수에 대한 함수로서 패킷 전송5% . RTCP

비율을 조절함으로서 실행된다 각 참가자가 기타 다른 참가자에게 컨츄를 패킷을 보내므로.

각각은 전체 참가자를 추적할 수 있으며 이 숫자를 패킷 전송율을 계산하는데 사용RTCP

한다.

Page 203: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

라 최소 세션 트래픽 인포메이션의 전달 운반. ( )

선택적인 기능으로서 는 모든 세션 참가자에게 최소량의 정보를 전달하는데 매우 편, RTCP

리한 방법으로 이용할 수 있다 예를들어 는 사용자의 디스플레이 상에서 참가자의. , RTCP

이름을 확인하기 위해 각 개인의 이름을 전달할 수 있다.

이러한 기능은 참가자들이 비공식적으로 세션에 들어오거나 나가는 등으로 허술하게 통제되

는 세션에서 유용하게 사용될 수 있다.

4. RTSP

애플리케이션 레벨 는 유니케스트와 멀티캐스트 상의 일 대 다수 멀티미디어를 스트- RTSP - -

리밍하기 위한 강력한 프로로콜을 제공하기 위한 것이며 또한 각기 벤더에 따른 클라이언트

와 서버간의 협동작업 지원하기 위한 것이다.

스트리밍은 데이터를 양 클라이언트와 서버간에 이용할 수 있는 대역폭에 적당한 패킷 사이

즈로 나누는 것이다 클라이언트가 충분한 패킷을 수신하였을 때 사용자의 소프트웨어.

는 개의 패킷을 재생 플레이 하며 다른 것을 하며 번째를 받아(software) 1 ( ) , Decompreesing , 3

들인다 사용자는 전체 미디어 파일을 다운로드 하지 않고서도 거의 바로 이를 청취할 수.

있다.

스트리밍을 위한 데이터의 소스에는 와 저장된 클립이 모두 포함될 수LIVE DATA FEED

있다.

는 프로로콜 이라기 보다는 프레임워크에 가깝다 이는 다중 데이터 전달세션을 통제RTSP .

하기 위한 것이며 와 멀티캐스트와 같은 전달 채널을 선택할 수 있는 방법을, UDP TCP, IP

제공하며 에 근거하여 전달 메카니즘을 선택할 수 있게 해준다RTP .

Page 204: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

는 실시간 미디어를 통제 전달하기 위해 최상단에서 작동하도록 개발중이다RPSP , RTP .

따라서 헤더 컴프레션의 새로운 표준과 같은 의 개량에 의해 의 성능 향상RTP RTP RTSP

이 이루어질 수 있다.

멀지않은 장래에 를 유니 캐스트와 함께 사용할 수 있게 된다 하여도 이의 사용에 따RTSP

라 유니 캐스트로부터 를 이용한 멀티캐스팅으로의 환경 이전이 자연스럽게 이루어RTP IP

질 것이다 는 할당된 대역폭 스트리밍 세션을 셋업 관리하기 위해 를 병용하여. RTS , RSVP

사용할 수 있다.

5. RSVP

가 수신의 질에 대한 피드백을 제공할 수 있는 반면에 다른 프로로콜 메카니즘은 시RSVP ,

기적절한 전달과 수신자와 송신자 간의 세션에서 특정한 를 보장해야 한다QoS .

는 통합 서비스 네트웍을 위해 설계된 리소스 레져베이션 셋업 프로로콜이다RSVP .

어플리케이션은 로 하여금 데이터 스트림에대한 특정한 엔드 투 엔드 를 요청하RSVP - - QoS

도록 지시한다.

는 유니 캐스트와 멀티캐스트 라우팅 프로로콜을 지원하는 리소스 레져베이션을RSVP QoS

효과적으로 셋업하기 위한 것이다 는 현재 에 의해 정의 되고 있다. RSVP IETF .

호스트 리시버는 데이터 소스의 특정한 데이터 스트림에 대한 네트웍으로 부터의 르 요QoS

청하기 위해 를 이용한다RSVP .

Page 205: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

멀티캐스트의 경우 호스트는 호스트 그룹을 결합하기 위해 메시지를 전송하며 그, IGMP ,

그룹의 전달경로를 따라 리소스를 저장하기 위해 메시지를 보낸다 는 호스트RSVP . RSVP

와 네트웍이 엔드 투 엔드 전송의 질을 보장하기 위해 협동하여 작동하는 인터 네트웍 확- -

장 서비스에 대한 접근을 제공한다.

수신자와 송신자 간의 모든 호스트와 라우터 및 기타 네트웍 인프라 구성요소는 를RSVP

지원해야 한다 그들은 요청을 만족하기 위해 대역폭과 및 메모리 버퍼와 같은. QoS CPU

시스템 리소스를 각기 저장한다.

는 모든 라우터와 호스트 와 송신자에 대한 전달 경RSVP QoS CONTROL message node( )

로를 따라 리소스를 저장하기 위해 보내진다.

는 수신자 주도형 즉 는 오직 한 방향으로 리소스를 요청한다RSVP - , RSVP .

멀티캐스트의 경우 레저베이션 요청은 같은 소스 스트림에 대한 다른 레저베이션이 발생하,

는 서브네트워크만 이동하면 된다.

이러한 수신자 주도형 설계는 다수의 멀티캐스트 그룹과 다이내믹 그룹 멤버쉽을 수용하기-

위한 것이다.

가 레져베이션.

는 과 컨트롤에 의해 수락 또는 거절된다 이러한 컨트롤은Request Admission policy . , RSVP

의 일부가 아닌 확장된 서비스 메카니즘의 정보를 이용한다.

수용 제어 는 노드에 충분한 자원이 있는지 없는지를 결정하며(admission control) policy

은 사용자가 저장에 대한 권한을 가지고 있는지 없는지에 대한 여부를 결정한다control .

Page 206: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

저장이 거절될 경우 는 해당 수신자 에게 에러 메시지를 들려 보낸다, RSVP .

저장이 수용될 경우 노드는 패킷 식별자가 도착하는 적절한 데이터 패킷을 선택하도록 설,

정하며 패킷 스케쥴러는 출력되는 인터페이스에서 원하는 를 달성하도록 한다, QoS .

오직 개의 세션만이 다른 것에 대해 우선권을 갖는다1 RSVP .

나 리퀘스트 업스트림의 전송. ]

레져베이션 리퀘스트는 적절한 송진자에 대해 노드 업스트림을 전파한다.

는 프로토콜 스택의 트랜스포트 프로토콜의 위치를 점유하여 또는 의RSVP IP(IPv4 IPv6)

최상단에서 작동하지만 세션 레이어 서비스 이는 어떠한 데이터도 전송하지 않는다 를 제공( )

한다.

는 라우팅 프로토콜이 아닌 또는 와 같은 인터넷 컨츄를 프로토콜이다RSVP , IGMP ICMP .

이는 레저베이션 리퀘스트를 전송할것인지 말것인지를 결정하기 위해 언더라잉 프로토콜을

이용한다(underlying protocol) .

라우팅 경로가 변경됨에 따라 는 레저베이션을 다른 경로에 적용한다 포로토RSVP . RSVP

클은 라우터에 의해 컨트롤 리퀘스트를 경로를 따라 모든 노드에 전달하며 요청된 서QoS

비스를 유지 공급 하는데 사용된다, .

저장이 이루어지고 나면 를 지원하는 라우터는 각각의 도착 패킷에 대한 루트와RSVP QoS

등급을 결정하며 스케쥴러는 각각의 출력패킷에 대한 전달 결정을 한다, .

의 단점 중의 하나는 라우터가 이러한 패킷의 우선순위를 조사 처리 하는데 필요한RSVP ,

계산 리소스의 필요에 있다.

Page 207: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이러한 문제점을 중이고자 태그 스위칭과 같은 접근 방법이 개발 중이다.

또 다른 연구 분야는 대체의 고정 경로를 제공하는 라우팅 서비스를 이용하여 를 개RSVP

선 하는 것 이다 는 애플리케이션이 언더라잉 네트웍 성능에 반응하도록 허용함으로써. RTP

보완할 수 있다RSVPFMF .

인식 어플리케이션은 에 민감한 원속 를 이용하여 개발할 수 있다 윈RSVP QoS 2(winsock2) .

도우즈 과 윈도우즈 의 원속 가 전개됨에 따라 이러한 접근은 실용성을 가지게 될NT4.0 95 2

것이다.

또 다른 접근 방식은 저장을 하기 위해 리얼 어플리케이션과 독립되어 동작하는RSVP

프락시 이용하는 것이다RSVP .

네트웍크 서비스6. MicroSoft NetShow

의 서비스인 는 와 서비스에서 각기 유니캐스트MicroSoft Media NetShow Live On demand

와 멀티캐스트를 모두 지원한다.

와 그리고 를 전송 프로토콜로 사용하며TCP UDP HTTP MMS, MMSU, MMST, MMBD

등의 이름으로 데이터 스트림을 전송한다 이는 각기 유니캐스트와 멀티캐스트 브로드캐스.

트을 나타내는 윈도우 미디어의 서비스 프로토콜 이름이고 와 를 선별해서 전송할UDP TCP

수 있을 뿐만 아니라 스테이션이라는 이름으로 멀티캐스트 서비스도 지원한다.

이 같은 지원은 네트워크 리소스를 효과적으로 사용할 수 있고 관리자 차원에서 자원 모니

터링과 관리가 용이하고 또한 적절하게 자원 분배를 할 수 있는 관리 기법의 자료가 된다.

Page 208: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

를 통한 스트림의 전송도 가능하고 라는 스트리밍 방향 지시자 파일을 통해 웹HTTP ASX

에 링크 한다.

그림 은 윈도우 서비스의 서비스 과정을 나타낸 것이다 여기서 은 미디어12 .3 NetShow . 1

툴을 이용하여 파일을 제작 저장하는 것을 나타내고 는 미디어 인코더를 이용하여ASF 2

파일을 생성하는 것을 나타내고 은 미디어 인코더가 라이브 스트림을 서버에서 유니ASF 3

캐스트나 멀티캐스트로 서비스 하도록 인코딩하여 전달한다.

는 서버가 파일을 서비스하기 위해 전달하고 는 서버가 유니 캐스트로 클라이언트에4 ASF 5

서비스하는 것을 나타낸다 은 서버가 멀티캐스트 콘텐트를 어드레스로 서비스 하는 것. 6 IP

을 나타낸다.

Page 209: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

유니 캐스트 스트림은 와 브로드캐스트 두 가지로 클라이언트에 배포된다On-Demand .

유니 캐스트와 서버가 에 저장되어 있는 콘텐트를 각 연결로 서비On-demand Storage ASF

스 하는 것이다 브로드 캐스트 유니 캐스트는 실시간 라이브 미디어를 미디어 인코드가 인.

코딩 하면서 서버에서 유니 캐스트 방식으로 배포하는 것이다 서버와 미디어 인코더는 네.

트워크에 스트림을 배포하고 클라이언트는 서버와 유니 캐스트로 연결되지만 특정 파일ASF

이 아니라 네트워크 서버를 미디어 플레이어가 지정한다 그림 은 브로드캐스트 유. 12 .4,5,6

니 캐스트와 브로드 캐스트 멀티캐스트를 나타낸 것이다.

Page 210: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

서버 프로토콜 은 유니 캐스트 데이터 전송에 사용된다 클라이언트Microsoft Media (MMS) .

가 로 연결되면 최적의 연결을 유지하기 위한 방법을 찾는다MMS .

는 우선 기본적으로 을 사용하려 한다 는 에 기초한 프로토콜이다MMS MMSU . MMSU UDP .

연결이 적적하지 않다고 판단되면 프로토콜을 이용한다 는 에 기반한MMST . MMST TCP

프로토콜이다 이마저 적절치 않다고 여겨지면 최종적으로 를 사용한다 컨트롤 프로HTTP .

토콜을 사용하지 않고 멀티캐스트에 연결된 클라이언트들은 데이터를 멀티캐스트 를 통해IP

스트림 형태로 데이터를 전송받고 연결설정이 필요없다.

는 미디어 인코더와 서비스 컴포넌트 사이MSBD)Media Streaming broadcast Distribution)

에 사용되고 또한 서버들 사이에 데이터 스트림 전송에 사용된다.

는 미디어 인코더와 서비스 컴포넌트 사이MSBD(Media Streaming broadcast Distribution)

에 사용되고 또한 서버들 사이에 데이터 스트림 전송에 사용된다.

는 스트리밍 미디어에 최적화된 연결 지향형 프로토콜이다 이것은 클라이언트와 서MSBD .

버의 연결과 전송품질을 테스팅 하는데 적합하다 이것은 서비스 하기 위한 기본 프로토콜.

은 아니다 미디어 인코더는 개 서비스 콤포넌트는 개의 를 지원한다. 15 5 MSBD .

Page 211: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 치의학 미디어 서비스4

치의학 정보 시스템에서 미디어 서비스는 통합된 인트라넷 서비스 유형으로 데이터 서버와,

웹 서버등과는 분리된 미디어 서버가 분리되 통합된 웹 인터페이스를 통해 배포되거나

된다 서비스 될 데이터는 치의학 관련 시술이나 첨단 기법에 관련된 비디오로On-damand .

서 인터넷을 통해 배포되며 실제 의사의 시술 장면을 스트림 형식으로 배포하고 이는LIVE

멀티캐스트를 지원한다.

원격진료에 이용되는 양방향 화상회의는 미디어 서버와 따로 분리되어 지원하고 현재 대1 1

즉 의사와 의료기기 벤더 그리고 의사와 의사간 단일 채널만 지원하고 미디어 서버와는 통

합되어 있지 않다 향후 미디어 서버를 통한 대 다의 멀티캐스트 지원이 필요하다. 1 .

제공될 스트림은 포맷으로 인코딩 되어 있으며 멀티플 비트율을 지원한다 다양한 사용ASF .

자 대역폭 링크를 지원할 수 있으며 비디오는 의 코덱을 사용하고 오디오는MS mpeg4

의 오디오코덱을 사용해 인코딩 되어 있다 웹 인터페이스를 위해 메타파일microsoft . ASX

을 이용하여 웹 서버에서 미디어 서버로의 데이터 링크 방향을 설정하고 이에 대한 관리는

미디어 서버와 웹 서버와의 데이터 교환을 통하여 웹 상에서 시스템 자원을 모니터링 할 수

있다.

이는 단순히 미디어 데이터를 웹에 링크하는 것보다 추가적인 사용자 수용을 얻을 수 있으

며 많은 클라이언트에 적절한 비트율로 서비스를 행할 수 있다 다음은 웹상에서 구현한 치.

의학 미디어 인터페이스의 예이다.

Page 212: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

웹과 스트리밍 방식의 비교1.

웹에서 오디오와 비디오와 같은 멀티미디어 콘텐트를 서비스 하는 방법은 크게 기존의 웹서

버가 플레이어로 서비스하는 방법과 특별히 멀티미디어 콘텐트를 서비스 하도록 고안된 몇

몇의 서버를 이용하여 서비스 하는 두 가지 방법으로 나눌 수 있다.

기본적으로 최근의 웹에서의 멀티미디어 콘텐트의 서비스는 다운로드 플레이가 기본으로&

되어있다 따라서 사용자는 콘텐트를 다운로드 한 후에 그것을 플레이하여야 한다. .

그렇지만 콘텐트의 길이가 길어진다면 다운로드를 기다려야 하는 시간은 무척 지루할 것이

다.

Page 213: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

스트리밍 방식의 서비스의 목표는 이 같은 문제 해결을 위해 즉시 사용자가 서비스를 받을

수 있도록 하는 것이다 데이터가 보내지기 시작하면 사용자는 모두 다운로드 기다릴 필요.

가 없다.

웹 서버를 이용한 미디어 콘텐트의 스트리밍은 다운로드 플레이 방식과 다르게 약간의 시&

작시 버퍼링 지연 후 다운로드 하는 중에 그것을 플레이 한다 이 같은 방식은 가능한 후.

다운로드 하는 중에 그것을 플레이 한다 이 같은 방식은 가능한 빨리 클라이언트는 데이터.

를 웹 서버로부터 전송받고 압축된 컨텐트의 비트 레이트를 간주하지 않는 방식을 취한다.

이 같은 은 몇몇 특정한 데이터 스트림만이 가능한데 나 리얼시“progressive playback" ASF

스템 미디어 파일 포맷등이 이를 지원한다.

웹 서버는 프로토콜을 사용하여 데이터를 스트리밍한다 는 기본적으로HTTP . HTTP TCP

프로토콜을 기반으로 설계되어 있다 이는 실시간 데이터에 최적화 되어 있지 않다는 뜻으.

로 의 알고리즘에 의하여 는 처음 데이터를 로 보내며 점TCP “slow start" TCP low bit rate

진적으로 패킷 손실을 감지하면 점진적으로 를 증가시킨다 그리고 신뢰성있는 전달bit-rate .

을 위해 손실된 패킷을 재 전송한다 결국 이 같은 패킷들은 미디어 스트림의 재생시간에.

맞춰 도착하여야 한다.

웹 서버외에 특별한 미디어 서버를 사용하는 방식은 데이터 전송에 다른 방식을 사용한다.

약간 지능적인 방식이 클라이언트에 데이터를 보내기 위해 사용된다 이것은 자세한.

가 스트리밍시 사용되다는 뜻이다bit-rate .

미디어 서버는 외에도 를 이용하여 데이터를 스트리밍한다 일반적으로 인HTTP/TCP UDP .

터넷 환경에서 와 달리 는 빠른 속도를 보이며 이것은 재전송이나 데이터 매니지TCP UDP

먼트 알고리즘들이 없기 때문이다.

Page 214: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이러한 특성은 실시간 미디어 전송에 의 약간의 패킷 결함 포용이 가미하면 이상적인UDP

이유가 되는데 또한 보다 인터넷 상에 은연중 우선순위를 갖는 사실도 이를 입증한다TCP .

스트리밍 미디어 서버는 의 재전송 매카니즘을 이용하는 대신에 상에서 다른 지능TCP UDP

형 재전송 방식을 이용한다 이것은 클라이언트가 시간 안에 플레이 할 수 있는 손실된 패.

킷만 재 전송하는 방식이다.

스트리밍 미디어 서버 채용시의 장점은 첫째로 현재의 웹 서버는 형식으로 다Stand-alone

른 서버와 분산 처리에 비효율적이라는 점을 들수 있다 반면에 이 같은 점은 웹 서버를 이.

용한 스트리밍의 유일한 장점이라고 말할 수 있는데 아무런 서버 확장이 필요 없는 점이 그

렇다 미디어 서버를 채택하게 되면 부가적인 서버 공간외에도 관리자 그리고 인코더 소프.

트웨어나 하드웨어 자원이 더 필요하게 된다.

둘째로 효율적인 네트워크 을 기대 할 수 있다 나 서비스에서throughput . Live On-Demand

프로토콜이 더 효율적이며 거기에 신뢰성없는 부분에 대한 고려만 이루어진다면 텍스UDP

트 기반의 를 사용하는 것보다 많은 성능 향상을 기대 할 수 있다 또 는 높은 대TCP . UDP

역폭을 클라이언트를 지원하기 위해 유용하다.

전체적으로 미디어 서버 채영시의 이점은 효율적인 네트워크 대역폭의 확보와 콘텐트의 품

질 자세한 콘텐트의 정보획득 그리고 무엇보다도 많은 사용자에게 서비스 할 수 있는 등으,

로 점에서 유리하다.

Page 215: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

2.Windows Media Player

는 멀티미디어 컨텐트를 가장 편리하고 유연하며 확장성 있게 재생Windows Media Player , ,

할 수 있게 고안한 플레이어로서 Windows Media, Real Audio 4 .0, Real Video 4 .0,

등을 포함한 다양한 콘텐트를 지원한다 또한 를 이용하QuickTime, AVI, WAV, MP3 . SDK

여 개발자들은 보다 다양한 컨텐트 형식을 지원할 수 있도록 의 기Windows Media Player

능을 확장 시키는 필터를 작성할 수도 있다 는 를 지원하고. Windows Media Player playlist

스크립트를 콘텐트내에 삽입할 수 있는 기능을 지원한다

.

아래의 표 는 의 의 의 기능을 설명한 자료이다12 .1 MicroSoft MicroSoft Media Player .

대부분의 로컬

및 스트림 멀티

미디어 컨텐트를

지원

로Windows Media Player ASF, Real Video/Real Audio 4.0, MPEG

1, MPEG 2, WAV, AVI, MIDI, MOV, VOD, AU, MP3,

등의 모든 멀티미디어 형식을 간편하게 재생할 수 있다QuickTime .

재생 목록

컨텐트 저작자들은 재미있는 내용들 서로 다른 서버에서 또는 다른(

미디어 형식으로 작성된 을 모아 하나의 프로그램으로 만들거나 계)

속 반복시킬 수 있다.

코덱 자동(codec)

다운로드-

필요한 코덱이 설치되어있는지 확인하고 설치되어있지 않은 경우, ,

사용자의 조작없이 자동으로 코텍을 다운로드 합니다 코덱 기술이.

발전함에 따라 간편하고 보다 완벽한 업그레이드 메커니즘을 지원, , .

아키DirectShow

텍쳐 기반

보다 많은 멀티미디어 데이터 형식을 지원할 수 있도록 Media

의 기능을 확장시키는 필터를 개발할 수 있다Player .

가장 넓은 스트

림 멀티미디어

대역폭 지원

의 현실감있는 오디오에서부터 전체 화면크기의 풀 모션2.4 Kbps - - 8

비디오까지 재생할 수 있음Mbps .

완벽한 스트림

전환

컨텐트 스트림 서로 다른 서버에서 또는 다른 미디어 형식으로 작성(

된 은 클립 사이의 멈춤없이 재생될 수 있음) .

인텔리전트 스트

리밍

앞선 인텔리전트 방식으로 클라이언트에 스트림을 조절할 수 있는

다음과 같은 기능을 제공

대역폭에 따라 두 개의 비디오 스트림을 선택할 수 있음1.

보다 낮은 비트 율 스트림이 계속 될 수 없을 경우주요 프레임2. -

만 요청할 수 있음

서버에게 비디오 송신을 중지하고 오디오만 계속 송신할 수 있도3.

록 요청할 수 있습니다 사용자에게 오디오가 매우 중요하기 때문에( ,

가장 높은 우선 순위를 갖게 됨).

네트워크의 대역폭과 상태가 호전되면 비디오를 가장 잘 보였던4. ,

상태까지 뒤로 돌려 재생할 수 있는 지적인 기능을 제공합니다.

표 의 의 기능12.1 MicroSoft Media player

Page 216: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성
Page 217: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

그림 은 클라이언트로서 의 구조를 나타낸 것이다 인터페이12.8 Windows Media player COM

스로서 필터 그래프로 연결이 되어 콘텐트 플레이 시 사용하는 필터형식으DirectX media

로 개별적으로 디자인 되어 있어 향후 다른 형식의 미디어를 지원할수 있고 출력의 방향을

지정하는 필터를 개발 화상회의 같은 멀티미디어 응용에 사용할수도있게 구조화되어 있다.

는 로컬 파일 시스템이 거나 인터넷을 통한 스트림이 데이터이며Media Source DirecectX

을 통하여 하드웨어 장치와 통신한다Foundation .

사용자 인터페이스를 위해 미디어 플레이어는 컨트롤 형태로 사용자 어플리케이션ActiveX

에 이용할 수 있으며 이는 웹 페이지 인터페이스에 삽입 할 수 있음을 의미한다 간단한 형

태의 플레이의 삽입은 웹 페이지에 다음과 같은 태그를 이용하여 가능하다<Object> .

<OBJECT ID="MediaPlayer1" WIDTH=320 HEIGHT=240

CLASSID="CLSIE:22D6f312-BOF6-11D0-94AB-0080C74C7E95"

CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Versio

n=5,1,52,701"

STANDBY="Loading Microsoft Windows Media Player components..."Ⓡ ⓇTYPE="application/x-oleobject">

Page 218: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

메타화일3. ASX

는 웹에서 미디어서버로의 방향지정자의 역할을 하며 미디어 큰텐트를 다운로드 하지ASX

않고 스트림서버로 서비스 콘텐트의 장소를 지정하는 역할을 한다.

파일에는 간단한 텍스트로서 사용 프로토콜과 서버를 지정할뿐 아니라 플레이리스트와ASX

스크립트를 사용할 수 있다.

다음은 간단 파일의 사용 예이다ASX .

Page 219: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

<ASX version = "3.0">

<!-- This is example comment in XML syntax. This indormation is

only visible when editing an . asx file. -->

<ENTRY>

<REF HREF = "mms://mdcserver/dental .asf" />

</ENTRY>

</ASX>

위는 간단한 의 예로서 페이지 형식으로 프로토콜을 사용하여ASX XML MMS dental . asf

파일을 서비스 받는 코드이다.

성능4.

미디어 서비스 시 어떠한 프로토콜로 어떠한 정책을 사용하여 서비스의 유형을 결정할 것인

지는 인터페이스와 서버구축에 중요한 판단 기준이다 다음은 마이크로소프트 자료를 이용.

하여 서비스의 성능에 관한 분석이다NetShow .

실험환경은 의 패스트 스위치드 이더넷 환경이며 사용할 콘텐트는100M ASF 28K, 56K,

의 와 이다 다음은 사용할 클라이언트와 서버의 하드웨어를100K On-demend Live Stream .

나타낸다.

200-MHz Pentiumㆍ

64 MB of RAMㆍ

Microsoft Windows NT Workstation version 4.0, Microsoft Wimdows NT Serverㆍ

version 4.0, Service Pack 3; Microsoft Windows 95

Microsoft Windows Media Playerㆍ

Page 220: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

Single-processor: 300-MHz Pentiumㆍ Ⅱ

256 MB of RAMㆍ

Windows NT Server 4 .0 with Service Pack 3ㆍ

NetShow Servicesㆍ

2 striped 4-gigabyte (GB) SCSI disksㆍ

100-Mbps Fast Ethernet network cardㆍ

결과에서는 모니터를 통하여 와 메모리환경 그리고 트NT perfomance DISK Access LAN

래픽을 분석한다 비교에서 은 과 연결된 클라이언트가 이전 디스. Live Stream AtiveStream

크의 가 발생할 때까지 동기화 상태로 지속된다 같은 방식으로 테스트된 각각의 프로read .

토콜에 대해서 점들을 이동시킬 때 같은 양상을 발견해 낼 수 있다 이러한 테스트들은 윈.

도우 디스크 관리자 툴을 이용하여 된 두 개의 디스크 드라이브들을 가지고NT stripe 4GB

수행한 결과이다 가 없는 스트라이프셋 에 세 번째 디스크를 붙이면 디. Parity (RAID level 0)

스크 동기의 발생 시간을 맞춤으로써 성능을 개선 할 수 있다 서버에서 프로세서의 사용은.

이 같은 테스트에서 가 발생 했을때가 에 이름으로써 디스크 성능의 중요성Late reads 40%

을 반증한다 프로세서의 사용은 거의 프로토콜에 따라서 크게 달라진다. .

Page 221: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

가 가장 효과적인 것으로 나타난다MMSU .

위 그림 은 다른 두가지의 사이즈와 세 의 동시 서비스 가능 클라이언12 .10 RAM Bit Rate

트의 수를 나타낸 것이다 메모리의 크기는 가장 중요한 자원의 하나임을 알수 있다 다음. .

그림 은 의 와 의 각 프로토콜 별 수용 스트림 수이다 전12 .11 28K On-demend Live Stream .

체적으로 즉 가 가장 많은 수의 스트림을 지원한다MMSU UDP .

라이브 스트림은 디스크 실행을 끊지 않는다 라이브 테스트에서는 나중에 실행이 감소되어. ,

지고 프로세서와 네트워크 이용에 관련이 있다, bandwidth .

Page 222: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

다음 그림 은 모니터 동작에 의해 캡쳐된 다음 그림은 프로세서 이용 시간을 보여주12 .12

는 그래프이다.

Page 223: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

이 차트에서는 두 가지 중요한 요인을 기대할 수 있다.

첫째로 더 많은 스트림은 즉 에서 더 작은 스트림 프로세서에서 더 큰 부담을, ( , Max Load )

가진다 각 스트림은 위의 글과 관련하여 결론을 내릴 수 있다 예를 들어 각 클라이언트. . ,

접속은 서버에 의해 인정되어야 하고 할당되어진 를 조사하고 더 많은, bandwidth , re-send

된 메시지 잃어버린 데이터를 가지고 할당되어진 는 처리되여야 하며 스트림 특성에 관련된( ) ,

데이터는 모니터 되어야 한다.

두 번째 요인은 프로토콜의 능률과 관련이 있다.

모든 스트림 나 에서 요구한 것 보다 에서는 더bandwidthsms HTT MMS-TCP MMS-UDP

적은 프로세서를 사용한다.

제 절 서버 자원 관리와 수용제어5

서버 자원 모니터링1.

대용량 멀티미디어서버에서 자원의 관리는 서비스 품질보장을 유지하기위한 새로운 사용자

의 수용제어와 서버 자원의 확장 또는 시스템 가용량을 늘리기 위한 방법 등 에 이용하기

위해서 멀티미디어 서버에서 기본적으로 고려해야 할 부분이다.

멀티미디어 서버를 구성하기 위한 각 부분에 대한 각각의 하드웨어 자원과 현재 사용현황을

실시간으로 모니터링 함으로써 최대의 시스템 가용성을 확보하고 시스템 오버플로우를 막기

위한 제어 알고리즘의 판단 근거가 됨으로 정확한 시스템 분석과 모니터링은 중요하다.

크게 두 가지로 시스템 가용성을 결정하는 자원을 규정할 수 있는데 네트워크 자원과 서버

시스템 자원이다.

Page 224: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

서버 시스템은 다시 메모리와 대역폭 프로세스 부하 등으로 나눌 수 있다I/O .

사용자 수용정책의 기준으로 네트워크 서버 시스템 특히 서브 시스템 상대적으로 느린( I/O )

장치를 선택하는데 최근의 초고속 네트워크를 고려하여 자원을 기준으로 수용제어 하는I/O

것이 일반적이다 하지만 인터넷을 통한 서비스를 위해서는 시스템 자원 뿐만 아니라 네트.

워크 수준의 자원 관리도 필요하며 이는 망의 연결 상태와 클라이언트의 정보 등을 이용하

여 가장 최선의 프로토콜과 최선의 경로등을 설정하는데 그 목적이 있다.

또한 서버의 미디어 자원에 의해서도 그 정책은 달라질 수 있는데 대표적으로 가변 비트율

데이터 같은 미디어는 서비스 주기당 서버가 제공해야 할 데이터량이 다르기 때문에(MPEG)

새로운 클라이언트 대역폭 할당은 좀더 복잡한 양상을 가지게 된다.

현재의 대부분의 데이터는 일정한 비트율을 기준으로 형식의 압축 방식을 취하MPEG CBR

고 있어 스트림 주기의 최대값을 사용자 수용제어의 기분으로 하여도 큰 서버 가용량의 낭

비가 없으나 고압축 데이터 서비스 데이터의 가변성이 크므로 같은 방식으로 사용자VBR

수용 결정을 하였을 경우 시스템 가용량을 떨어뜨리게 된다.

이와 같이 자원 관리는 결국 서비스 클라이언트의 를 보장하기 위한 것으로 이는 몇가QoS

지 매개 변수로서 나타낼 수 있는데 세부적으로 응용계층에서 미디어의 품질과 미디어와의

관계를 들수 있다 이는 송신자와 데이터의 전송단위와 단말간 지연등과 미디어의 변환 스. ,

트림과의 관계 또는 스트림 내부 동기화 등을 나타내고 또 시스템 를 결정하는 매개변, Qos

수는 의 매개변수를 포함하며 이는 미디어의 양가 스트림 동기하 허용 에러수 에러 회복OS

기법 스케줄링 기법등을 포함한다.

Page 225: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

네트워크 매개변수는 네트워크의 로드와 네트워크 성능을 나타내며 이는 전송률과 지연 대

역폭의 지연 편차등을 말한다 마지막으로 디바이스 수준의 매개변수는 미디어 데이터. QoS

단위의 처리율과 시간으로 나타낼수 있는데 정적이나 통계적 경계를 가지면 보장된 서비스

가 필요하다.

마이크로 소프트의 는 과 유니캐스트 그리고 멀티미디어NetShow File transfer Control

서비스 콘트롤들로 네트워크 서비스를 구성한다 이와 같은 서비스구성Station . ACTIVEX

콘트롤들이 제공하는 프로퍼티와 메소드를 이용하여 네트워크의 자원상태를 모니터링 할 수

있다.

다음은 의 프로퍼티를 나타낸 것이다NetShow file transfer control .

Property Access Description

AddressFamily Read/WriteReturns r sets the address family ofthe File Transfer object.

CurrentFileAttributes Read OnlyReturns the attributes of the currentfile.

CurrentFilepath Read Only Returns the current file path.

CurrentFileSize Read Only Returns the size of the current file.

DestinationFilePath Read OnlyReturns the destination file path of thefile transfer

EndpointAddress Read OnlyReturns the endpoint address of thefile transfer.

EndpointPort Read OnlyReturns the endpoint port of the filetransfer.

FullyReliableService Read/WriteReturns or sets the status of the Fullyreliable service.

FullyRelicableServiceUsed Read Onlyreturns a value indicationg whether atransfer is using the Fully reliableservice.

LocalAddress Read/WriteReturns or sets the local address ofthe File Transfer object.

LocalPort Read/WriteReturns of sets the local port of theFile transfer object.

LocalPortUsed Read OnlyReturns the local port used for thelast file transfer.

Page 226: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

MaxReceiveBufferSize Read/WriteReturns or sets the maximum receivebuffer size of the File Transfer object.

NumBogusPacketsReceived Read OnlyReturns the number of bogus packetsreceived.

NumDirectoriesTransferred Read OnlyReturns the number of directorystructures transferred.

NumDuplicatePacketsReceived Read OnlyReturns the number of duplicatepackets received.

NumFiledatabytesTransferred Read OnlyReturns the number of file data bytestransferred for the current file.

NumFilesTransferred Read OnlyReturns the number of filestransferred.

NumPacketsCorrected Read Onlyreturns the number of packetsreceived and corrected.

NumPacketsDropped Read OnlyReturns the number of packetsdropped.

NumPacketsTransferred Read OnlyReturns the number of packetstransferred.

NumTotalBvtesTransferred Read OnlyReturns the total numberof bytes forall files transferred.

NumTotalDataBytesTransferred

Read OnlyReturns the total data bytes for allfiles transferred.

Param Read OnlyReturns a value used by the caller toidentify transfer notification requests.

PercentFileDatabytestransferred

Read OnlyReturns the percentage of the numberof file data bytes transferred.

Protocol Read/Writereturns or sets the protocol of theFile Transfer object.

ReceiveTimeout Read/WriteReturns or sets the receive timeoutof the File Transfer object.

Result Read OnlyReturns the result of a file transferoperation.

SourceAddress Read OnlyReturns the source address of the filetransfer.

Page 227: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

SourceFilePath Read OnlyReturns the source filepath of the filetransfer.

SourcePort Read OnlyReturns the source port of the filetransfer.

TransferOperation Read OnlyReturns the transfer operation for theFile Transfer object.

transferStatus Read Onlyreturns the status of the FileTransfer object.

Type Read/WriteReturns or sets the type of Filetransfer object.

ValidateReceivedPackets Read/Write

Returns or sets a value that indicateswhether the user wants to validateincoming packets to ensure that theyare for the current transfer.

Page 228: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

유니 캐스트 서비스 서버의 모니터링을 위에 언급한 콘트롤들의 속성을 이용하여 웹 인터페

이스로 나타낸 샘플 페이지이다 위 페이지의 소스에서 로 작성된 코드를 아래에VBScript

나타내었다.

<script language="VBScript">

Sub ConnectToUniServer_OnClick

On Error Resume Next

ResetTheForm

' Connection succede

NSUnicastMgr1.Connect UniServername. Value

If Err.Number = 0 Then

Page 229: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

UniServerStatusBox. Value = "Connected"

ShowProperties

EnumerateClients

AuthenticatorBox. Value = EnumerateModules

( NSUnicastMgr1.AuthenticationPlugins)

AuthorizerBox.Value = EnumerateModules

( NSUniocastMgr1.EventPlugins )

Else

MsgBox "connection could not be made" & vbCrLf & Err.Description

ServerStatusBox.Value = "Not Connected"

End If

End Sub

Sub ResetTheForm

UniServerStatusBox.Value = " "

ServerEventsBox.Value = " "

AdminEventsBox.Value = " "

AlertEventsBox.Value = " "

clientEventsBox.Value = " "

MaxClientsBox.Value = " "

MaxBandwidthBox.Value= " "

MaxFileBitRateBox.Value = " "

ClientBox.Value = " "

AuthenticatorBox.Value = " "

Page 230: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

AuthorizerBox.Value = “ ”

End Sub

‘ Called when a client connects to the server.

Sub NSUnicastMgr1_OnClientConnect(datetime, status, clientid, ipaddress, port)

EnumerateClients

end sub

‘ Called when a client disconnects from a server.

Sub NSUnicastMgrl_OnClientDisconnect(datetime, status, clientid, ipaddress, prot)

EnumerateClients

end sub

Sub ShowProperties

On Error Resume Next

‘ Update Max Clients display.

If NSUnicastMgr1.MaxClients = -1 then

MaxClientsBox.Value = “No Limit”

Else MaxClientsBox.Value = NSUnicastMgr1.MaxClients

End If

‘ Update Max Bandwidth & Max File Bit Rate display

Page 231: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

MaxBandwidthBox.Value = KbpsLimit

( NSUnicastMgrl.MaxBandwidth )

MaxFileBitRateBox.Value = KbpsLimit

( NSUnicastMgrl.MaxFileBitRate )

‘ Update events filter display.

ServerEventsBox.Value = EventsBox

( NSUnicastMgrl.ServerEvents )

AlertEventsBox.Value = EventsBox

( NSUnicastMgrl.AlertEvents )

ClientEventsBox.Value = EventsBox

( NSUnicastMgrl.ClientEvents )

End Sub

‘ Display Kbps values ( Max File Bit Rate & MaxBandwidth )

Function KbpsLimit ( KbpsValue )

If KbpsValue = -1 then

KbpsLimit = “No Limit”

Else KbpsTempVar = KbpsValue / 1024

KbpsLimit = KbpsTempVar & “Kbps”

End If

End Function

Page 232: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

‘ Display enabled/disabled state of events.

Function EventsBox ( EventsValue )

If EventsValue Then

EventsBox = “Enabled”

Else

EventsBox = “Disabled"

End If

End Function

‘ Update client connection display

Sub EnumerateClients

On Error Resume Next

If NSUnicastMgr1.ClientEvents then

ClientConnections =

CInt(NSUnicastMgrl.Clients.Count)

If ClientConnections < 1 then

ClientConnections = “No”

ClientBox.Value = ClientConnections & “

client(s) connected: “ & vbCrLf & vbCrLf

Set ClientsSnapshot = NSUnicastMgrl.Clients

For Each Client in ClientsSnapshot

ClientBox.Value = ClientBox.Value &

“Client #:(” & Clnt(Client.ClientID) & “)”

ClientBox.Value = ClientBox.Value &

“ - Viewing Title: ” & client.FileName

Page 233: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

ClientBox.Value = ClientBox.Value &

vbCrLf

next

Else

ClientBox.Value = “Client events are NOT being monitored” & vbCrLf

End If

End Sub

‘ Enumerate plug-in security components

Function EnumerateModules ( ModuleVar )

EnumerateModules = “”

For I=) to Clnt(ModuleVar.Count - 1 )

EnumerateModules = EnumerateModules &

ModuleVar.ltem(i).Description & vbCIf

Next

End Fynction

</script>

Page 234: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

위 스크립트 소스에서 구성 프로퍼티를 사용하여 자원 모니터링을 하는 방법을 알수 있다.

다음 그림 은 서버의 이벤트를 표시하는 페이지이다 다음 그림 은 서버의 이벤트를12.14 . 12.14

표시하는 페이지이다 비디오 타이틀의 이름과 자세한 정보와 멀티캐스트 스테이션 관련 정.

보를 표시하는 페이지로서 같은 미디어 파일을 실시간 서비스 하면서 채팅을 할 수 있는 기

능을 위한 모니터링도 지원한다 위와 같이 를 통해 각 컨트롤들의 도구를 이용하여 모. SDK

니터링 하고자 하는 자원이나 이벤트 등의 사용자 수준의 모니터링 프로그래밍이 가능하다.

다른 프로그램 군과 마찬가지로 역시 컴포넌트 기반의 프로그램이며 이 콤포넌트NetShow

를 이용한 수준의 프로그래밍 도구를 지원한다.

Page 235: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

네트워크 외에 디스크와 서버 상태 서버 자원의 사용을 표시하는 이벤트도 모두 지원Task

하며 이와는 별도로 에서 다른 서버 이벤트 콤포넌트를 통한 수준의 모니터링 프로그NT OS

램도 가능하다.

버퍼와 디스크2.

미디어 서버에서 앞의 성능분석에서도 보듯이 버퍼의 역할을 시스템 성능을 측정하는데 있

어 중요할 뿐만 아니라 기존의 플랫폼 기반의 미디어 서버를 설계 할 때 실시간성을 갖OS

는 미디어 서버의 메모리 사용량에 대한 고려와 그 가용성을 높이는 방법은 서버 설계시의

중요한 요소이다.

또한 디스크 자원은 발전된 형태의 등을 이용하더라도 고I/O( RAID, Server Area network)

용량의 디스크를 다수의 사용자가 임의의 시간에 검색하여 서비스 하여야 하므로 시스템 내

의 가용성 확보의 가장 큰 병목지점일 수가 있으므로 멀티미디어 데이터를 위한 효율적인

디스크 관리 정책을 중요하다 프로세서나 의 고속의 네트워크 자원에 비해 디스크 자. LAN

원은 상대적으로 그 검색과 전송률이 떨어지므로 채용시의 효율적인 파라메터 채용과RAID

디스크 검색과 데이터 배치등 많은 부분의 연구가 진행되고 있다.

또한 데이터의 디스크 배치를 효율적으로 개선하고 수용제어시 시스템 자원의 가용성VBR

을 최대화 하기 위한 알고리즘도 구현되어야 한다.

여기에 관한 많은 연구가 과거와 현재 이루어지고 있으며 다음절에서 현재 구현가능한 OS

플랫폼에서 데이터를 서비스 하기 위한 개선된 형태의 수요제어 알고리즘을 제안하고VBR

성능을 분석해 본다.

Page 236: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

수용제어 기법3.

서버에 사용자를 수용할 결정 알고리즘의로 서비스 할 데이터의 메타 데이터를 미리VBR

저장 이를 이용하여 수용될 클라이언트의 미래 주기를 예측하고 그 최대값으로 하여 새로.

운 사용자를 수용하는 알고리즘을 이용하였다 이는 데이터의 최대 비트율을 기준으로. VBR

수용함에 있어서 초래되는 서버의 가용성 낭비를 최대한 줄이고자 서버 시스템의 남는 프로

세스 자원 미디어 전용 서비스로서의 프로세서 부하가 작음 을 수용제어에 이용하고 장시간( )

의 서비스 요구를 하는 클라이언트가 초기 지연시간에 대해 관대한 특성을 이용하여 시스템

성능을 향상하고자 하는 기법이다.

수용제어는 다음과 같은 식으로 표시할 수 있는데 여기에서 이는 새 요구 스트림 블록중 최

대값( 과 서비스 중인 스트림들의 미서비스 주기 블록들중 최대값 들의 합)

이 전체 디스크 대역폭 을 넘지 않을 때 서비스가 수락됨을 나타낸다.

Ta

j.....................n Ta(I, n+1) Ta(i, n+2)

i

.

.m

스트림 가 주기 에i j소비하는 데이터 량

스트림 주기중 최대i데이터량

의 위치Ta(i, n+1)

Tb

k 1 2 3 4 5

.

.1

서비스 스트림번호

서비스 주기번호

Pimax Run Flag Pimax의 위치

그림 메타데이터와 서비스 상태 테이블12. 14

Page 237: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

그림 에서 수용제어에 사용될 메타 데이터와서비스 상태 테이블을 나타내었다 서비스12.14 .

상태 테이블 의 와 는 주기적으로 업데이트 되어야 한다(tB) Tb( k ,2) Tb( k, 4) .

M 서비스할 비디오 스트림 수

L 클라이언트의 수 서비스 스트림 수( )

N 영화 스트림의 주기의 수

Ta( i , j ) 스트림 가주기 에 소비하는 데이터의 양i j

Tb( k, 1 ) 클라이언트의 서비스 스트림k

Tb( k, 2 ) 클라이언트의 서비스 되고 있는 주기k

Tb( k , 3 ) 서비수중인 번 영화의 미 서비스주기의 최대 값I

Tb( k , 4) 서비스 중인지를 판단하는 flag(run=1 ,stop=0)

Tb( k , 5 ) 비디오 스트림중 최대 데이터량의 주기위치

는 에 사용될 스트림내의 최대 데이터요구량 주기 위치를 나타내고 이는 재검Tb( k, 5) CBR

색을 하지 않기 위하여 서비스 수락시에 에서 한번 버퍼로 전송한다Ta( I , n+2) . Tb(k , 3)

은 새 수용요구 발생시에 계산되어 저장되는데 이 오버헤드가 사용자가 대기 해야 할 수락

대기시간이 된다.

Page 238: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

을 계산하기 위해 을 계산하기 위해 와 를 먼저 비Tb(k , 3) Tb(k , 3) Tb( k, 2) Tb( k , 5)

교하여 현재 서비스 위치가 스트림내의 최대 데이량의 주기 위치보다 작으면 메타데이터에

서 데이터 검색을 행하지 않고 의 값을 에 전송한다 인Ta(I, n+1) Tb(k , 3) . RunFlag Tb(k ,

는 서비스가 수락되면 인 상태가 되고 서비스가 종료되면 이 되어 다른 클라이언트를4) 1 0

위해 초기화 된다.

결국 다음식을 만족하여야 새로운 클라이언트는 수용된다.

미서비스 주기의 최대값을 이용한 수용제어는 서비스 데이터 최대 블록 크기가 영화스VBR

트림의 어떤 주기에 위치 하는가에 따라서 성능 차이를 보이고 알고리즘 오버헤드 역시 데

이터 크기 분포에 따라 결정된다.

최악의 경우 성능은 주기당 사용하는 데이터량을 최대 비트율로 가정하는 과 같을 수CBR

있다 그러나 그림 과 같은 특성을 가진 데이터를 서비스 하는 경우 전체 주기의. 1 VBR

에서만 스트림내 최대 비트율인 의 대역폭으로 계산되고 는15% 250Kbyte/sec 45% 130K,

는 나머지 는 로 수용제어 함으로써 이 비디오 스트림의 평균 대25% 100K 15% 25Kbyte/sec

역폭은 균일한 분포로 수용제어 부하가 발생한다고 가정할 때

(250 × 15 × 130 × 45 + 100 × 25 + 25 × 15) ÷ 100

으로 약 으로 대역폭을 할당하여 최대 비트율 가정시보다약 의 성능 향상124Kbyte/sec 50%

을 기대 할 수 있다.

Page 239: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

알고리즘의 성능은 전적으로 서비스 할 데이터의 가변 특성에 따라서 좌우되는데 이는 서비

스 주기별로 최악의 상황을 가정하므로 어떤 경우에 있어서도 전체 시스템 대역폭 이상의

대역폭을 예약하지 않기 때문에 를 보장 할 수 있다QoS .

평균 비트율은 정도이므로 이값을 이용하여 수용제어를 하게 되면 최악 가정시보다70K

배 이상 미서비스 주기의 최대값을 이용하는 수용제어보다도 배 가까운 서비스를 수용3.5 2

할 수 있지만 지극히 임의적인 사용자 부하와 예측과 통계적인 다양한 알고리즘을 적용하더

라도 오버플로우 발생에 신뢰성을 보장 할 수 없어 전체 를 보장 할 수 없다100% QoS .

알고리즘의 오버헤드 역시 비디오 데이터의 특성과 밀접한 관계가 있다 예를 들어 스트림.

내의 최대 데이터 요구 주기가 스트림의 끝부분에 위치한다면 알고리즘은 최대 주기 데이터

를 가정하는 에 근접하는 성능을 나타내고 오버헤드는 거의 발생하지 않는다 반대로CBR .

최대주기가 스트림의 시작부분에 위치하고 미 서비스 주기의 최대 데이터가 일정간격으로

계속 감소하면 가장 큰 오버헤드를 예상할 수 있는데 이런 특성의 데이터는 중간 정도의 성

능을 보인다.

가장 큰 효율은 시작 부분에 최대주기가 위치하고 끝부분에 대부분의 서비스주기보다 약간

큰 주기가 존재 하는 경우이다 전체적으로 데이터의 가변성이 큰 경우에 다른 수용제. VBR

어 알고리즘과 마찬가지로 좋은 효율을 나타낼 수 있다.

Page 240: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 절 결 론6

인터넷이나 으로 실시간 미디어 멀티미디어 데이터 를 서비스해야 하는 수요가 늘어가LAN ( )

는 추세인 지금 이를 위해 기존의 범용 플랫폼과 기법등을 그대로 활용하기에는 많은 한계

가 있다.

실시간 처리에 최적화된 실시간 나 멀티미디어 파일 시스템등 특수한 플랫폼이 아닌 기OS

존의 웹 인터페이스와 또는 파일 시스템에서 최적의 서비스를 위한 각종 연구와 제품들OS

이 개발되어지고 있다 궁극적으로 정보 시스템은 많은 사용자에게 높은 품질의 정보를 문.

제 없이 서비스 해야 하는 것이 목표이므로 실시간 미디어를 위한 별도의 서버 디자인이 필

요하게 되었다.

치의학 정보 시스템도 실시간 의료영상 서비스나 의사들간의 토의 또는 진료 장면 방송등

실시간 응용의 수요가 증가 하게 될 것이다 문자 정보와 더불어 효율적인 이와 같은 멀티.

미디어 정보 제공에 있어서도 최적화되고 고 가용성을 유지하는 시스템 구축을 위해서는 실

시간 미디어에 특화된 기능이 구현되어야 하고 응용 수준의 각종 멀티미디어 어플리케이션

화상회의 진료 영상 방송 진료 장면 데이터 베이스 등 을 위한 별도의 서버와 서비스 정( , , )

책이 반드시 필요하다.

Page 241: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

제 장 결 론13

정보기술과 통신 기술의 발달로 의료 정보시스템의 변화에 속도를 더하고 있으며 변화하는

의료 인프라에 적응하는 실제적 모델이 여러 기관에서 연구 및 개발되고 있는 추세이다 특.

히 인간의 생명을 근본으로 하는 치의학 병원 정보 시스템은 제반 기술과 더불어 병원내의

여러 가지 여건과 조화속에서 실용성 있는 구현이 필요하다 현실적 진료행위가 웹을 기반.

으로 한 가상의 공간을 통해서도 진료가 이뤄질 수 있어야 하며 상거래 보험처리가 인터넷,

을 통해 부분 처리되거나 완전히 대체될 것이다 본 시스템은 치과병원에서 행해지는 포괄.

적 의료행위를 규정하고 그로부터 발생가능한 대용량의 의료 영상을 비롯한 진단 치료 및

처방 자료를 원격으로 서비스하는데 있다 이를 위해 를 기업 내부의 인프라에 적용. TCP/IP

한 모델 즉 인트라넷 모델을 제시했고 실제 구현고 적용으로서 병원 업무의 효율과 다양하

고 편리한 화자 서비스를 기대할 수 있다 최근에는 국내외의 다양한 업체에 의하여 상품화.

된 제품이 많이 있는 실정으로 자체에 관한 기술개발은 많이 이루어져 있다고 생각한PACS

다 앞으로는 의 통합 연동에 관한 분야 영상의 저장 및 전송을 위한 압축. PACS/HIS/RIS ,

분야 효율적인 판독 입력을 위한 음성 인식관련 분야 그리고 원격 진료와 멀티미디어 관련, ,

분야 등을 들 수 있겠다.

병원과 환자 그리고 모든 관계에서 보다 편리하고 업무에 효율적적용을 위해 병원 업무파악

에 더욱 관심을 기울여야 한다 그리고 의료 정보는 선택적 보완이 필요로 되는 중요한 정.

보이므로 보안의 허점을 극복할 수 있도록 보완 관련 기술을 연구함으로써 좀 더 신뢰도 있

는 치의학 정보시스템으로 발전해 나가야 할 것이다.

Page 242: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

참고 문헌

[1] Ralph Martinez, Jinman Kim, Jiseung Nam, Bijal Sutaria, "Remote Consultation and

Diagnosis in Mediacal Imaging Using a Global PACS backbone

Network" , Proc. OfIntl. Symp. On Fiber Optics Networks and Video Communications,

Berlin, Germany, April 1993

[2] Alfonso F, Caedenas, Ricky K.Taira, Wesley W. chu, Claudine M. breant, "Integration

and Interoperability of a Multimedia Medical Distributed Database

System" , IEEE Data Engineering, Vol 16, No 1, pp 43-47, March 1993

[3] G.N.M. Subhakar, N.D.Georganas,A. Karmouch, Fellow, IEEE, "Design and

Performance Evalution Considerations of a Multimedia Medical

Database" , IEEE Trabsaction On Knowledge and Data Engineering, Vol 5, No 5,

October 1993

[4] Francis B, Fedorov A, Harrison R, Hommerv A,Murphy S, Smith R, Sussman D,

Wood s, "ProfessIo nal Active Server Page 2.0 "1999 January

[5] Alfonso F, Caedenas, Ricky K.Taira, Wesley W. Chu, Claudine M. breant,

"Integration and Interoperability of a Multimedia Medical

Distributed Database System", IEEE Data Engineering, Vol 16, NO1, pp43-47, March

1993

[6] G.N.M Subhakar, N.D.Georganas, A.Karmouch, Fellow, IEEE, "Design and

Performance Evaluation Considerations of a Multimedia

Medical Database: , IEEE Transaction On Knowledge and Data Engineering, Vol 5, NO

5, October 1993

Page 243: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

남지승 김서균 병원 화상정보 시스템 개발을 위한 표준 정보과학회지[7] , , “ DICOM ”, ,

1996.4

[8] Scot Johnson, "Special Edition Using Active Server Pages", 1998

[9] S. Sarin, "Computer-Based Real-Time Conferencing Systems", Computers Vol 18,

pp92-103, OCT, 1985

[10] http://www.microsoft.com/, "Universal Data Access Technical Materials" served by

Microsoft.

[11] Oracle Corporation, "Oracle JDBC Drivers: Accessing the Oracle RDBMS from

Java", 1997

[12] Henry F, Korth, Silberschatz A, Sudarshan S. "Database System Concepts" 1999

February

[13] RalphJim Gray, Andreas Reuter, "Transaction Processing : concepts and techniques",

Morgan Kaufmann Publishers, 1993

[14] Philip A. Bernstein, "Transaction Processing Monitors" , communication of the

ACM, Vol 33. No 11, November 1990

[15] Swqgato Basumallick and Johnny S. K. Wong, "Design and Implementation of a

Distributed Database System", J Systems Software, 1996

[16] The component Object Model Specification, http://www.microsoft.com, October 24,

1995

[17] S.Sarin, "Computer-Based Real-Time Conferencing Systems", Computers Vol.

18,pp92-103 Oct,1985

Page 244: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

[18] Win32SDK: Multimedia, Advanced Video Techniques.

[19] Pat Bonner, "Network Programming with Windows Sockets", Prentice Hall, 1996.

[20] Doeringer, D.Dykeman,M.Kaiserwerth,B.MeIster,H.Rudin,and R.Williamson, "A Survey

of Light-Weight Transport Protocols for High-Speed

Networks", IEEE Trans. On Communications, Vol.38, No.11, pp.2025-2039, Nov.1990.

[21] Jean-Chrysostome bolot, "Dynamical Behavior of Rate-Based Flow Control

Mechanisms" , Computer networks and ISDN Systems 23, Elsevier

Science Publishers B.V.,pp.143-151, 1991.

[23] Raj Jain, "Congestion Control in computer Networs: Issues and Trends", IEEE

Network Magazine, Vol.4,NO.3, pp.24-30, May.1990.

[24] Barry Gray, "Delivering ATM to the desktop: practical network interface card

stratagies" , Silicon Valley Networking Conference, p187-194, 1995

[25] David J Greaves, Derek McAuley, Leslie J French, Eoin Hyden, " Protocol and

interface for ATM LANs" , 1994

김길화 남기동 채종억 이용희 호스트 접속 장치의 구조 추계통신학회[26] , , , , “ATM ” , ,

1994

[27] Peter Druschel , Larry L. Perterson, Bruce S. Davie, " Experiences with a

High-Speed Network Adapter: A Software Perspective" ,

ACM SIGCOMM, P2-13, 1994

Page 245: 초고속통신망을이용한치의학정보시스템개발 ... · 요약문 1.제목 초고속통신망을이용한치의학병원정보시스템개발 2.연구개발의목적및중요성

[28] "ATM and SONET : Broadband solution for LAN and WAN applications" ,Taxas

Instruments, p15-27,p241-250, 1994

[29] Sailesh K. Rao and Mehdi Hatamian, "The ATM Physical Layer" , ACM

SIGCOMM< 1996

[30] Sanjay Dhawan, "Networking Device Drivers" <Van Nostrand Rinhold, 1995

[31] " High Performance PCI Bus ATM Adapter Design"

www.zeinet.com/press/comartc.html, 1996

[32] "NDIS 5.0 Extensions and ATM Support in Windows"

www.microsoft.com/hwdev/devdes/ndis4_ATM.HTM, 1997

[33] "TNETA1561" , Texas Instruments, 1996

[34] "TNET1600" , Texas Instruments, 1996

[36] "NDIS 5.0 Alpha Getting Started" , Microsoft Corporation, 1998

[37] "Windows NT 4.0 DDK - Miniport NIC Drivers" Microsoft Corporation, 1996