Presentation is loading. Please wait.

Presentation is loading. Please wait.

서 론 분산 객체의 필요성 실시간 특성 컴퓨팅 환 경 실시간 환경 + CORBA 객체 그룹 분 산 객 체 컴퓨팅 실시간 시스템

Similar presentations


Presentation on theme: "서 론 분산 객체의 필요성 실시간 특성 컴퓨팅 환 경 실시간 환경 + CORBA 객체 그룹 분 산 객 체 컴퓨팅 실시간 시스템"— Presentation transcript:

0 분산 객체 컴퓨팅에서 실시간 객체그룹 플랫폼의 구축
A Construction of Real-time Object-Group Platform in Distributed Object Computing 원 광 대 학 교 대 학 원 컴퓨터공학과 컴퓨터공학 전공 김 명 희

1 서 론 분산 객체의 필요성 실시간 특성 컴퓨팅 환 경 실시간 환경 + CORBA 객체 그룹 분 산 객 체 컴퓨팅 실시간 시스템
환 경 실시간 환경 + CORBA 객체 그룹 분 산 객 체 컴퓨팅 실시간 시스템 요구사항 분석 구조 제시 구성 요소 설계 기능 정립 실시간 객체그룹 플랫폼 제시 GUI 실행 화면 구현 수행 분석 객체 호출 절차 서비스 요청 수행 원광대학교 컴퓨터공학과 김 명 희

2 컴퓨팅 환경 분산 컴퓨팅 객체지향 방법론 정보의 공유 분산 객체 네트웍을 통하는 객체
이기종 컴퓨터 환경에 대한 상호운영성과 투명성 제공 객체지향 방법론 소프트웨어 개발 방법론 원광대학교 컴퓨터공학과 김 명 희

3 분산 객체 컴퓨팅 분산 객체 컴퓨팅 분산 컴퓨팅 + 객체지향 기술 어플리케이션 개발의 생산성 향상
사용자에게 분산 환경에 대한 투명성 제공 이종의 분산 환경에서 여러 종류의 응용 프로그램을 통합할 방식 필요 RPC(Remote Procedure Call) 방식 네트웍의 상호작용 설계의 어려움 OLE(Object Linking and Embedding) 방식 윈도우 환경에서의 분산 공통구조 개념의 필요성 대두 CORBA, TINA, DCE ... 원광대학교 컴퓨터공학과 김 명 희

4 CORBA(1) CORBA 분산 객체 시스템의 설계와 개발에 대한 표준 제시 기본 개념 : 균일한 방법을 제공
IDL(Interface Definition Language)로 인터페이스 정의 구조 : 인터페이스와 구현을 분리 주요 요소 클라이언트측(Client) 구현 객체측(Object Implementation) ORB core 원광대학교 컴퓨터공학과 김 명 희

5 CORBA(2) ORB Object Services : naming, events, life cycle, persistence, transactions, concurrency, relationships, externalization, object licensing, properties, object query Stub IDL Interface skeleton Object Adapter client Object Implementation 원광대학교 컴퓨터공학과 김 명 희

6 CORBA와 TINA 공통점 차이점 이질적인 네트웍을 기반으로 한 단일 분산 객체 컴퓨팅 환경을 정의
네트웍 구조의 블랙-박스화 객체 접근에 대한 위치 투명성 제공 인터페이스 정의어가 존재 CORBA : IDL, TINA : ODL 차이점 TINA CORBA 기본 단위 객체, 객체그룹 객체 통신 담당 DPE ORB 서버 객체로의 바인딩 대리인 직접 객체 관리 서비스 DPE의 일부분 객체 서비스와 공통기능 요청/응답에 대한 표준 형태 기술서가 존재하지 않음 기술서 존재 원광대학교 컴퓨터공학과 김 명 희

7 동시 접근(Concurrent Access)
객체그룹(1) 분산 객체와 로컬 객체 분산 어플리케이션 개발 애플리케이션에 의해 사용되는 데이터의 분산 연산의 분산 사용자의 분산 분산 어플리케이션 개발자에게 분산된 객체들의 관리와 접근에 대한 용이성 제공의 필요성 대두 연관된 객체 분산된 객체 통신(Communication) 빠름 느림 실패(Failure) 객체 모두 실패 객체는 독립적으로 실패 동시 접근(Concurrent Access) 다중 스레드일 경우만 가능 가능 보안(Secure) 불가 객체 그룹(Object Group) 원광대학교 컴퓨터공학과 김 명 희

8 객체그룹(2) 개념 TINA에서의 객체그룹 개념
서비스나 어플리케이션 또는 시스템이 다수의 컴퓨팅 노드에 분산되어 있는 객체들로 구성된 집합 복잡한 설계와 관리의 어려움을 해결 구성요소들의 명세만 존재 구현 제품군이 존재하지 않음 CORBA 기반에 객체그룹 개념 도입 원광대학교 컴퓨터공학과 김 명 희

9 객체그룹 구조 원광대학교 컴퓨터공학과 김 명 희

10 실시간 시스템 실시간 시스템의 목적 실시간 특성 초기 시작 시간(Earliest Start Time)
모든 응용 시스템들이 각자에게 주어진 시간적인 요구 조건을 정확히 만족하도록 보장하는 것 실시간 특성 not Fasting! 하드 실시간 소프트 실시간 시간 제약 조건(Timing Constraints) 표현 초기 시작 시간(Earliest Start Time) 최후 시작 시간(Latest Start Time) 마감 시간(Dead Line) 원광대학교 컴퓨터공학과 김 명 희

11 실시간 환경에 CORBA의 접근(1) “Fast” CORBA 워싱턴 대학에서 연구
실시간 객체 아답터의 도입 단점 실시간 특성 (우선순위, 중요도) 기술 능력을 제공하지 못함 이벤트의 분산이 불가능 CORBA 메소드 호출에 대한 이벤트 위주의 데드라인 표현과 수행 메커니즘의 지원 불가능 스케쥴링 정책 적용에 어려움 원광대학교 컴퓨터공학과 김 명 희

12 Fast CORBA, RTOS+CORBA ===> 시간 제약조건의 지원에 불충분
순수 운영체제보다 적은 오버헤드(시간과 메모리 크기) 발생 단점 실시간 운영체제의 제한된 특징만 지원 실시간 우선순위, 스케쥴링 정책 실시간 특성 지원이 안됨 시간 제약조건, 스케쥴링 파라미터, QoS 요구사항의 표현형식과 시행에 대한 지원이 불가능 Fast CORBA, RTOS+CORBA ===> 시간 제약조건의 지원에 불충분 원광대학교 컴퓨터공학과 김 명 희

13 실시간 CORBA OMG에서 제안 CORBA 시스템에서 종단간 서비스를 실행하는데 실시간 조건을 만족하는 시스템 실시간 개념
시간관리, QoS, 스케쥴링, 동시성, 고장 허용, 성능 등 실시간 기술 CPU 스케쥴링, 디스패칭 기술, 실시간 통신 프로토콜, QoS 관리, 클럭 동기화 등 실시간 요구사항의 세가지 영역 오퍼레이팅 환경을 위한 요구사항 ORB 아키텍쳐를 위한 요구사항 객체 서비스와 기능을 위한 요구사항 원광대학교 컴퓨터공학과 김 명 희

14 실시간 객체그룹 특징 객체그룹 + 실시간 특성 지원 실시간 객체그룹 플랫폼 분산 객체 컴퓨팅 환경 : 표준 CORBA
객체그룹 + 실시간 특성 지원 실시간 객체그룹 플랫폼 특징 분산 객체 컴퓨팅 환경 : 표준 CORBA 분산 객체 관리의 용이성 실시간 특성 지원 시간 제약 조건의 표현과 시행 가능 원광대학교 컴퓨터공학과 김 명 희

15 요구사항(1) 그룹 관리적 요구사항 분산 객체들의 관리적 용이성을 위한 논리적인 집합체
그룹내에 있는 서비스 객체들에 대한 관리를 책임 클라이언트의 서비스 수행 객체에 대한 레퍼런스 요청을 수행 그룹의 관리적 요청에 대한 통일된 입구 필요 객체그룹내 서비스 객체들의 접근권한 정보를 유지 객체그룹내 서비스 객체들의 상태 정보 유지 객체그룹내 객체 생성에 대한 수행 역할 필요 그룹관리자 보안 객체 객체 정보 레포지토리 객체팩토리 원광대학교 컴퓨터공학과 김 명 희

16 요구사항(2) 실시간 요구사항 시간 제약 조건의 지원 서비스 요청에 대한 전반적 수행 과정 총괄 전역 시간 유지
시간 표현에 대한 기준 정의 우선 순위 선정하는 스케쥴링 정책 지원 스케쥴링 수행 역할 필요 마감시간 위반 여부 확인 가능 실시간 관리자 스케쥴러 타이머 원광대학교 컴퓨터공학과 김 명 희

17 구 조 Object Group Object Info. Timer Security Scheduler GM Object
Factory Scheduler GM RM GM Object Factory RM Object Object Object Sub-Group Object Object Object GM : Group Manager RM : Real-time Manager Object Info. : Object Information 원광대학교 컴퓨터공학과 김 명 희

18 구성 요소 그룹관리자(GM : Group Manager)
객체그룹내 분산객체의 멤버화, 탈퇴, 생성, 삭제등의 관리적인 절차 수행 보안 객체(Security) 클라이언트가 요청한 서비스 객체에 대한 접근 권한 여부 검사 및 보안 정보 관리 객체팩토리(Object Factory) 실질적인 객체생성의 기능 수행 객체정보 레포지토리(Object Information Repository) 객체그룹의 멤버 객체들에 대한 정보 저장 실시간관리자(RM : Real-time Manager) 시간 제약조건에 대한 전반적인 처리를 수행 스케쥴러(Scheduler) 특정 스케쥴링 알고리즘에 따라 클라이언트들의 우선순위 결정 타이머(Timer) 마감시간에 대한 상대값을 이용하여 마감시간 위반 여부를 알림 원광대학교 컴퓨터공학과 김 명 희

19 객체의 기본 관리 절차 CORBA의 생명주기 서비스의 객체 접속 실시간 객체그룹의 객체 접속 Naming Trader GM
1 2 2 1 GM 3 Node Manager 3 4 Client 7 6 Client 7 5 4 8 5 6 Service Object 8 Service Object CORBA의 생명주기 서비스의 객체 접속 실시간 객체그룹의 객체 접속 원광대학교 컴퓨터공학과 김 명 희

20 실시간 특성 처리 방안(1) 실시간 파라미터 처리 Client Server Get ( int x, structure RI );
Get(20, RI) Get ( int x, structure RI ); Structure RI{ int deadline; int priority; int importance; QoS; } Get(20) Get ( int x ) ; Get(20, 10) Get ( int x, time deadline ); Get(20, 10, 8) Get ( int x, time deadline, QoS); (a) (b) (c) (d) 원광대학교 컴퓨터공학과 김 명 희

21 실시간 특성 처리 방안(2) 실시간 스케쥴링 시간 제약 조건의 정의 호출 시간 (IT : Invocation Time)
클라이언트의 호출시간(CIT : Client Invocation Time) 서비스 객체의 호출시간(SIT : Server Invocation Time) 수행 시간(ST : Service Time) 전송 시간(TT : Transfer Time) 서비스 수행 마감시간(SD : Service Deadline) 서비스 요청 마감시간(RD : Request Deadline) 원광대학교 컴퓨터공학과 김 명 희

22 실시간 특성 처리 방안(3) T1 : 클라이언트의 한 서비스 요청에 대한 호출시간(CIT)
T2 : 서비스 객체의 호출시간(SIT) T3 : 서비스 객체의 서비스 수행 마감시간(SD) T4 : 클라이언트의 서비스 요청에 대한 마감시간(RD) 원광대학교 컴퓨터공학과 김 명 희

23 설 계(1) 관리 모듈 그룹관리자 보안 객체 객체팩토리 객체 정보 레포지토리 실시간 객체그룹의 관리 모듈 객체
원광대학교 컴퓨터공학과 김 명 희

24 설 계(2) 서비스 모듈 실시간 관리자 스케쥴러 타이머 실시간 객체그룹의 관리 모듈 객체 원광대학교 컴퓨터공학과 김 명 희

25 기능 정립(1) 관리적 기능 수행 (실시간 객체그룹 생성) CORBA Object Group2 Object Scheduler
Info. Scheduler Timer create(ObjectGroup2) destroy(ObjectGroup2) RM Security Object Factory ObjectGroup Factory GM CORBA creation / destroy 원광대학교 컴퓨터공학과 김 명 희

26 기능 정립(2) 원광대학교 컴퓨터공학과 김 명 희 : ObjectGroupFactory : GM : Security :
ObjectFactory : Object_Info : RM : Timer : Scheduler : Client 1: create() 2: creation 3: creation 5: creation 6: creation 7: creation 9: return 8: creation 10: return 11: return 12: return 13: return 14: return 15: return 16: reference of GM 4: creation 원광대학교 컴퓨터공학과 김 명 희

27 기능 정립(3) 관리적 기능 수행 (실시간 객체그룹 멤버로의 참여) CORBA 원광대학교 컴퓨터공학과 김 명 희
GM RM Object1 Security Scheduler Timer Object Group2 Object Factory Info. CORBA enter(Object1) ObjectGroup enter(Object1) GM Security Object Info Repository : Client 1: enter() 2: create_ACL() 3: True or False 4: create_obj() 5: True or False 6: True or False 원광대학교 컴퓨터공학과 김 명 희

28 기능 정립(4) 관리적 기능 수행 (클라이언트의 서비스 객체의 레퍼런스 요청) CORBA Object Group1
Info. Scheduler Object Info. Scheduler Timer Timer 4 RM 5 RM Security Object Factory Security Object Factory client1 2 3 Object1 GM GM CORBA 1 5 원광대학교 컴퓨터공학과 김 명 희

29 기능 정립(5) 원광대학교 컴퓨터공학과 김 명 희 Client : GM : Security : ObjectFactory
: Object_Info Service Object 1: request(object_name ) 2: check_ACL( ) 3: Able or Nonable 4: create(object_name ) 5: lookup_obj_info(object_name ) 7: object creation 8: object reference 9: object reference 10: object reference 6: return 원광대학교 컴퓨터공학과 김 명 희

30 기능 정립(6) 서비스 요청 수행 (클라이언트의 서비스 요청) CORBA Object Group1 Object Group2
Info. Scheduler Object Info. Scheduler Timer Timer ,  RM RM Security Object Factory Security Object Factory ,’ client1 Object1 GM GM CORBA 원광대학교 컴퓨터공학과 김 명 희

31 기능 정립(7) 원광대학교 컴퓨터공학과 김 명 희 : Client : RM : Timer : Service Object
: Scheduler 1: Start_Client_RM( ) 2: Set_Alarm() 3: True or False 4: True or False 5: service method invocation with RI structure 6: Start_Server_RM(RI) 7: Scheduling() 8: Client Priority 9: Set_Alarm() 10: True or False 11: Client_ID 14: End_Server_RM() 15: Disarm_Alarm() 18: True or False 12: return 결과값 20: True or False 13: End_Client_RM( ) 16: Disarm_Alarm() 17: True or False 19: True or False 원광대학교 컴퓨터공학과 김 명 희

32 기능 정립(8) CORBA Timer Scheduler Timer Set_Alarm(); ’Unset_Alarm();
실시간정보(RI) 마감시간부터 계산 도착시간 : 10시 1분 전송시간 : 10시 1분 - 10시 = 1분 마감시간 : 10분 -2*1분= 8분 10분 Scheduler Timer 8분 Set_Alarm(); CID : client1 현재시간 : 10시 마감시간: 10분 ’Unset_Alarm(); Scheduling( ); Set_Alarm(); ’Unset_Alarm(); client1 10시 8분 ’ ’ RM RM 10분후  Start_Client_RM(10분);  Start_Server_RM(RI); RI 넘겨줌 ’End_Client_RM(); client1 Object1 전송시간 1분 ’End_Server_RM(); CORBA Get( index, RI ); 원광대학교 컴퓨터공학과 김 명 희

33 obj1의 수행시간은 25ms이다. C1의 서비스 수행 완료.
기능 정립(9) 스케쥴러와 실시간 관리자의 스케쥴링 예제 (EDF : Earliest Deadline First) scheduler RM (C1, obj1, 10:00:10:00) (C2, obj1, 10:00:15:00) (C3, obj1, 10:00:12:00) (C4, obj1, 10:00:13:00) C1 obj1 Priority list C2 C3 C4 Scheduling 요구 10:00:00:10 10:00:00:20 10:00:00:30 10:00:00:40 C1은 스케쥴링 후에 바로 서비스를 받는다. 10:00:00:35 obj1의 수행시간은 25ms이다. C1의 서비스 수행 완료. C3가 서비스를 받는다. 전역시간 원광대학교 컴퓨터공학과 김 명 희

34 구 현(1) 개발 환경 원광대학교 컴퓨터공학과 김 명 희 Pentium III Windows 98 Visibroker
RTOG-3 Pentium III Windows 98 Visibroker Visual C++ 6.0 RTOG-1 RTOG-2 Pentium III Windows NT Visibroker Visual C++ 6.0 Pentium III Windows 98 Visibroker Visual C++ 6.0 원광대학교 컴퓨터공학과 김 명 희

35 구 현(2) 그래픽 유저 인터페이스에 의한 실시간 객체그룹의 생성 1 2 3 원광대학교 컴퓨터공학과 김 명 희

36 구 현(3) 실시간 객체그룹의 멤버로 참여 1 2 3 4 원광대학교 컴퓨터공학과 김 명 희
ObjectGroup1의 그룹관리자 객체의 레퍼런스를 얻어오게 된다. 1 2 3 4 원광대학교 컴퓨터공학과 김 명 희

37 실시간 객체그룹 생성/삭제 수행에 따른 객체 생성/삭제 시간 (1)
시뮬레이션(1) 시뮬레이션 모델 실시간 객체그룹 플랫폼을 이용한 실시간 객체그룹 생성/삭제(1) 클라이언트의 서비스 객체에 대한 레퍼런스 요청(2) 클라이언트의 서비스 수행 요청(3) A - ObjectGroupFactory :0 (0) msec B - GM : 4(3) msec C - Security : 9(10) msec D - ObjectFactory : 12(12) msec E - Object Info. : 16(18) msec F - RM : 18(20) msec G - Timer : 20(22) msec H - Scheduler : 25(29) msec : ( )안의 시간 실시간 객체그룹 생성/삭제 수행에 따른 객체 생성/삭제 시간 (1) 원광대학교 컴퓨터공학과 김 명 희

38 시뮬레이션(2) 클라이언트의 레퍼런스 요청 수행에 대한 객체 호출시간 (2) 클라이언트의 서비스 수행 요청 대한
A - Client 1 :0 msec B - GM : 11 msec C - Security : 13msec D - ObjectFactory : 33 msec E - Object Info. : 35 msec F - Service Object : 53 msec G - Client로 return : 65 msec 클라이언트의 레퍼런스 요청 수행에 대한 객체 호출시간 (2) A - Client 1 :0 msec B - Service Object : 10 msec C - RM : 12msec D - Scheduler : 18 msec E - Timer : 40 msec 클라이언트의 서비스 수행 요청 대한 객체 호출시간 (3) 원광대학교 컴퓨터공학과 김 명 희

39 시뮬레이션(3) 시뮬레이션 모델(2) 클라이언트 수 변화에 따른 서비스 요청 수행에 대한 분석 실시간 관리자 스케쥴러
Client 1 Client 2 Client 3 RM Object1 Scheduler Timer 원광대학교 컴퓨터공학과 김 명 희

40 시뮬레이션(4) / client(1) 원광대학교 컴퓨터공학과 김 명 희

41 시뮬레이션(5) / client(1) 원광대학교 컴퓨터공학과 김 명 희

42 시뮬레이션(6) / client(2) 원광대학교 컴퓨터공학과 김 명 희

43 시뮬레이션(7) / client(3) 원광대학교 컴퓨터공학과 김 명 희

44 결 론 표준 CORBA 환경에서 시간 제약 조건의 표현과 처리가 가능하며 간단하다.
클라이언트나 서비스 객체는 실시간 정보 처리에 대한 복잡한 절차를 몰라도 된다.(실시간 처리에 대한 투명성 제공) 실시간정보 파라미터의 확장이 가능하다.(실시간정보에 대한 유연성 제공) 클라이언트 식별자와 마감시간 정보뿐만아니라, concurrency control에 대한 priority 클라이언트의 중요도에 관련된 정보 QoS 파라미터 등 실시간정보의 확장에 대해 클라이언트나 서비스 객체는 전혀 무관하다. 스케쥴러 객체에 상황에 맞는 스케쥴링 알고리즘을 적용하여 구현가능하며, 이는 다른 객체에 영향을 미치지 않는다. 타이머를 이용하여 클라이언트와 서비스 객체 모두 마감시간 경과를 알 수 있다. 원광대학교 컴퓨터공학과 김 명 희


Download ppt "서 론 분산 객체의 필요성 실시간 특성 컴퓨팅 환 경 실시간 환경 + CORBA 객체 그룹 분 산 객 체 컴퓨팅 실시간 시스템"

Similar presentations


Ads by Google