CORBA 기반 실시간 응용 서비스 지원 객체그룹플랫폼

Download Report

Transcript CORBA 기반 실시간 응용 서비스 지원 객체그룹플랫폼

한국정보과학회 1998년도 추계학술발표회
CORBA 기반 실시간 응용 서비스 지원
객체그룹 플랫폼 설계
원광대학교
분산 컴퓨팅 연구실
신경민
1998. 10. 31.
원광대학교 분산컴퓨팅 연구실
목차
 서론
 관련 연구
실시간 CORBA 경향
연구 현황
 연구 목적
 실시간 객체그룹 플랫폼 환경
 실시간 객체그룹의 정의
 실시간 객체그룹 모델링 과정
 요구사항 분석
 실시간 객체그룹 구조
 실시간 객체그룹 모델링
 OMG-IDL을 이용한 인터페이스 상세 설계
 결론
원광대학교 분산컴퓨팅 연구실
관련 연구
 컴퓨팅 환경의 변화
 절차 지향적 패러다임에서 객체 지향 패러다임 변화
 기존의 분산환경에 대응한 분산객체 기술 발전
 OMG의 CORBA
 Reusability
 Interoperability
 Portability
Object Management Architecture
Vertical Facilities
Application Objects
Horizontal
Facilities
C, C++, Smalltalk
Common Object Request Broker Architecture
Dynamic
Invocation
IDL
Stubs
ORB
Interface
Static IDL
Skeleton
Dynamic
Skeleton
ORB Core
CORBA Services
Name, Event, Time, Query, Trading, etc
원광대학교 분산컴퓨팅 연구실
Object
Adapter
실시간 CORBA의 경향
 표준 CORBA
 종단간 시간 제약(End-to-end time constraint) 지원하지 않음
 OMG의 RT-SIG(Real-Time Special Interest Group)
Time constraint
Scheduling
QoS
Performance
A/synchronization
Fault Tolerance
Real-Time CORBA
Real-time CORBA White paper
Fixed priority
scheduling
Time management
Real-Time ORB
Real-time CORBA RFP
원광대학교 분산컴퓨팅 연구실
Flexible Communication
연구 현황
제품명
제작사
The Ace ORB
(TAO)
Washington Univ.
NRaD 실시간
CORBA
Rhode Island Univ.
미 해군 NRaD,
MITRE
ORBIX-RT
IONA Technologies
Chorus/Cool
ORB
기타
Chorus
특 징
결정적이고 통계적인 QoS를 보장하기 위 해
요구되는 기능을 제공
미들웨어와 분산 응용 프로그램의 종단간
대역폭과 안정성을 보장할 수 있는 최적화
된 실시간 I/O 서비스 시스템을 갖는 ORB
를 제공
CORBA 시스템 내의 동적 종단간 시간제약을
표현하고 강요할 수 있도록 설계
클라이언트나 서버가 추가 또는 삭제되고, 시간
제약이 변경 될 수 있는 환경 제공
실시간 운영체제에서 동작
경량이며 안정적인 구조 제공
CHORUS 운영체제에 의존
융통성 있는 바인딩 구조를 제공
자원관리 정책과 메커니즘을 철저히 분리
New Attack Submarine 실시간 CORBA, Fast CORBA, DIMMA
RCP-ORB, Bionic Buffalo
원광대학교 분산컴퓨팅 연구실
연구 목적
 기존의 연구
 ORB를 수정하거나 확장하여 실시간을 지원
 특정한 실시간 운영체제에서 운영
 본 연구
 객체그룹 + 표준 CORBA + 실시간 개념을 포함
실시간 응용 서비스를 지원하기 위한
객체그룹 플랫폼 설계
원광대학교 분산컴퓨팅 연구실
실시간 지원 객체그룹 플랫폼 환경
Applications
Application
Management Services
Real-Time Services
Real-Time Object Group
Real-Time
Object Group
Platform
CORBA
Time service
COSS
Physical Network
disc
disc
Network
원광대학교 분산컴퓨팅 연구실
객체그룹의 정의
 TINA-C
 분산환경에서 객체들의 효율적인 관리와 분산 어플리케이션의
개발이 용이하도록 하기 위한 객체들의 모임
 본 논문
 하나의 서비스를 수행하기 위해 마감시간을 포함한 실시간
객체들의 집합
Deadline
원광대학교 분산컴퓨팅 연구실
개발 과정
요구사항 분석
구조 제시
설계
객체 모델
기능 모델
인터페이스 상세 설계
구 현
검 증
원광대학교 분산컴퓨팅 연구실
동적 모델
요구 사항 분석
 구성 요소
 그룹관리자, 객체 팩토리, 스케줄러, 보안, 객체정보 레포지토리, 객체
 객체의 분산성
 객체그룹의 보안성
 실시간 지원에 따른 서비스 수행의 예견성(predictability)
 서비스 수행을 요구하는 클라이언트 객체들에 대한 우선순위
 시간의 표준 타입 명시
 동기화를 위한 타임 서비스
 스케줄링
원광대학교 분산컴퓨팅 연구실
객체그룹 구조
Object Group
Sub-Object Groups
Object
Info. Rep.
Object
Factory
Object
1
Security
원광대학교 분산컴퓨팅 연구실
Group
Manager
Scheduler
Object
2
Object
3
객체 모델
 그룹 관리자(Group Manager)
 객체그룹과 연관된 내외의 모든 요구 사항을 관리
 객체그룹내의 모든 객체와 구성 요소들의 관리 기능 수행
 객체정보 레포지토리(Object Information Repository)
 객체그룹내의 정보를 저장 및 관리
 객체팩토리(Object Factory)
 객체그룹의 모든 객체를 생성
 보안 객체(Security Object)
 객체그룹 내의 객체나 서브객체그룹의 객체에 대한 서비스
요청 시 보안 검사
 객체(Object)
 실질적인 서비스를 제공
 서브객체그룹(Sub-Object Group)
 객체그룹의 특성을 상속 받은 객체그룹
원광대학교 분산컴퓨팅 연구실
객체 모델
 스케줄러
 객체그룹 내 객체들의 실행 시간 정보를 포함
 우선순위 적용범위는 객체그룹 내로 한정
 Soft Real-Time Scheduling
 Earliest Deadline First 방법 채용
원광대학교 분산컴퓨팅 연구실
객체 모델 - 구성 요소들간의 관계
+1
Object Group
Use of
Sub-Object Group
Timer
Attribute
global_time
get_time( )
set_time( )
+1
Objects
Use of
Group Component
Object Information Rep.
Attribute
distinguished_name_list
service_type
Operation
create_obj_info( )
delete_obj_info( )
update_obj_info( )
lookup_obj_info( )
create_subgroup_info( )
delete_subgroup_info( )
update_subgroup_info( )
lookup_subgroup_info( )
Security Object
Attribute
distinguished_name_list
Operation
create_ACL( )
delete_ACL( )
check_ACL( )
init_subgroup( )
request_ obj( )
Access Control List
Attribute
distinguished_name
req_entity_id_list
Object Information
Attribute
obj_ref
object_status
service
Group Manager
Attribute
distinguished_name
obj_ref
deadline
global_time
Operation
init_group( )
Operation
create_access_rule( )
delete_access_rule( )
update_access_rule( )
check_access_rule( )
Object Factory
Attribute
distinguished_name
Operation
create_ obj( )
create_subgroup( )
lookup_obj( )
원광대학교 분산컴퓨팅 연구실
Attribute
obj_ref
deadline
exec_time
Operation
Scheduling( )
check_priority( )
destroy_ obj( )
enable_ obj( )
Schedule List
Attribute
obj_ref
deadline
exec_time
Priority_order
disable_ obj( )
request_subgroup( )
destroy_subgroup( )
enable_subgroup( )
disable_subgroup( )
set_time( )
Use of
Access Rule
Attribute
req_entity_id
operation_name_list
Scheduler
기능 모델
 시간 동기화
 클라이언트는 그룹 관리자에게 서비스 요청 전에 타임
서버에게 Global Time 요청
 Christian 알고리즘
Time Server
Client
Server
RT-OG
RT-OG
RT-OG
Synchronization
invoke
원광대학교 분산컴퓨팅 연구실
RT-OG
기능 모델
 스케줄러 원리
Global Time
10 : 30 : 30.25
Deadline
ScheduleList
스케줄러 객체
1 object 3 10:30:50.00
2 object 1 10:31:00.00
3 object 2 10:33:00.00
System A
System B
System C
Object 1
Object 2
Object 3
10 : 31 : 00.00
10 : 33 : 00.00
10 : 30 : 50.00
First invoke
Second invoke
Third invoke
Ci  Di  Cutc
원광대학교 분산컴퓨팅 연구실
Cutc : current global time
Di : Deadline
Ci : execution time
기능 모델
 객체 그룹 2 내의 서브객체그룹과 객체 생성 및 서비스
수행과정
원광대학교 분산컴퓨팅 연구실
동적 모델(ETD)
원광대학교 분산컴퓨팅 연구실
OMG-IDL을 이용한 인터페이스 상세 설계
 스케줄러의 IDL(Interface Definition Language) 표현
Module Scheduler_Object {
typedef string
typedef long
typedef long
typedef long
struct ScheduleList {
Object_Name
Deadline_Time
};
struct TimeInfoList {
Object_Name
Execution_Time
Sync_Time
};
typedef ScheduleList
typedef TimeInfoList
interface Scheduler {
attribute
attribute
attribute
attribute
Object_Name;
Deadline_Time;
Execution_Time;
Sync_Time;
obj_name;
dead_line;
obj_name;
exec_time;
sync_time;
SchList[50];
TInfoList[50];
SchList
TInfoList
short
short
m_schList;
m_tinfoList;
m_schIdx;
m_timeinfoIdx;
TimeInfoList Gettimeinfo(in Object_Name obj_name);
boolean Settimeinfo(in Object_Name obj_name, in Execution_Time exec_time, in Sync_Time sync_time);
boolean Scheduling(in Object_Name obj_name, in Deadline_Time deadline);
boolean Check_priority(in Object_Name obj_name);
boolean EraseList(in Object_Name obj_name);
};
};
원광대학교 분산컴퓨팅 연구실
결론
 기존의 분산객체 환경인 CORBA
 실시간 요구사항 지원의 미흡
시간 제약 조건, 스케줄링, 동기화
 실시간 객체그룹 플랫폼
 요구사항 분석
 실시간 객체그룹 플랫폼 제시
 James Rumbauch의 모델링 방법으로 설계
객체 모델, 기능 모델, 동적 모델
 인터페이스 세부 설계
 기존의 객체그룹 + 표준 CORBA + 시간조건
 시간 제약 조건을 만족하는 구성요소 추가(스케줄러, 타이머)
 차후 연구 내용
 설계된 실시간 응용 서비스 지원 객체그룹 플랫폼 구현
 실시간 서비스 지원을 요구하는 분산 어플리케이션에 응용
원광대학교 분산컴퓨팅 연구실