Chap 2. Architeture and Design Goals

Size: px
Start display at page:

Download "Chap 2. Architeture and Design Goals"

Transcription

1 Client-Server Model 1. Client-Server Architecture 2. Message Passing 3. Client-Server Communication 4. IPC 1

2 1. Client Server Architecture Consists of one or more clients and one or more servers. 3 basic components of C/S application 1. Presentation logic 2. Application logic 3. Data management logic Client Server Architecture c lie n t se rve r P A D 2 tie r P A D 2 tier architecture P A A D 2 tier architecture P A D 3 tier architecture 2

3 2. Message Passing Send and Receive operations Single message passing can be supported by send and receive operations. In order for one process to communicate with another, one process sends a message to a destination and another process at the destination receives the message. It involves the synchronization of the two processes. PROCEDURE Send( p: PortId, m: Message) PROCEDURE Receive( p: PortId, VAR m: Message) 3

4 Synchronous/Asynchronous Communication Synchronous communication The sending and receiving processes synchronize at every message. Whenever a Send is issued, the sending process is blocked until the corresponding Receive is issued. Whenever a Receive is issued, the process blocks until a message arrives. Asynchronous communication Send is non-blocking, the sending process is allowed to proceed as soon as the message has been copied to a local buffer The transmission of the message proceeds in parallel with the sending process. In the non-blocking receive, the receiver proceeds with its program after issuing a Receive operation which provides a buffer to be filled in the background. The receiving process must separately receive notification that its buffer has been filled. Non-blocking comm. appears to be more efficient, but it involves extra complexity in the receiving process associated with the need to acquire the incoming message. 4

5 The blocking receive is good in multiple thread environment It can be issued by one thread while other thread in the process remain active, and Synchronizing the receiving threads with the incoming message is simple. A simple blocking receive could wait for the arrival of a message; but for many purposes a timeout is required. Communication Blocking Blocking Languages,Systems Type Send Receive Synchronous Yes Yes occam of the Transputer Asynchronous No Yes Mach, Chorus, BSD 4.x Asynchronous No No Charlotte 5

6 Location-independent identifiers Message Destinations In DOS that use location-independent identifiers, services can be relocated without having to inform clients about their new locations. When the destination in the Send operation is specified as a location-independent identifier, this is mapped to a low-level address in order to deliver a message. This mapping is carried out by routing software when the message is sent and takes into account the current location of the destination. Port Most OSs have chosen to use either processes or ports as message destinations. A port is one of several alternative points of entry to a receiving process. A port is a message destination that has exactly one receiver, but can have many senders. Port enables to deliver the same message to the members of a set of processes. Ports are sometimes called mailboxes - a mailbox always has a message queue, whereas a port may or may not have one. Any process that knows the identifier of a port can send a message to it. Servers generally publicize their port identifiers for use by clients. Mach, Chorus, Amoeba, provides ports with location-independent identifiers. 6

7 Ports For process to receive messages, its socket must be bound to a local port and one of the Internet addresses of the computer on which it runs socket any port agreed port socket client Internet address = message other ports server Internet address =

8 3. Client-Server Communication Message exchanges in typical client-server interaction. In the normal case, request-reply communication is synchronous because the client process blocks until the reply arrives from the sender. Request-reply protocols The Amoeba, Chorus, Mach and V OS have protocols designed to support this communication with less overheads by introducing three of message primitives: DoOperation, GetRequest and SendReply. It uses the server reply message as an ACK of the client request message. DoOperation. (wait). (continuation) Request message Reply message GetRequest execute request SendReply 8

9 Delivery Failure Assumption about request-reply protocol Messages are occasionally dropped by sender, receivers and network gateways. Networks may become partitioned, thus one or more nodes of a network may become detached from the remainder of the network. Processes may sometimes fail. How to recognize this? In general, it is impossible. Network provides communication error-freeness. Possibilities of delivery failure Loss of the request message Server process failure during its task Loss of the reply message Three types of request/reply protocols the request (R) protocol the request/reply (RR) protocol the request/reply/acknowledge-reply (RRA) protocol 9

10 Operations for Reliability Timeouts To prepare the failure, DoOperation should use a timeout when it is waiting reply. When the timer expires, it may return immediately from DoOperation with an indication. Alternatively, DoOperation may send the request message repeatedly until either it succeeds or else it is reasonably sure that the delay is due to the server. Discarding duplicate request messages In cases when the request message is retransmitted, the server may receive it more than once. To avoid repeated processing, the protocol is designed to recognize successive messages (from the same client) with the same message identifier and to filter out duplicates. Lost reply messages If the server has already sent the reply when it receives the duplicate request, it may need to execute the operation again to obtain the result. Idempotent operation An operation that can be performed repeatedly with the same effect as if it had been performed exactly once. A server whose operations are all idempotent need not take special measure to avoid executing its operations more than once. 10

11 History To allow the server to retransmit reply messages when client processes request them. For servers that require retransmission of replies without re-execution of operations, a history may be used. An entry contains a message identifier, a message and an identifier of the client. A problem is its memory cost. It will become very large unless the server can tell when the messages will no longer be needed for retransmission. Multipacket message Each packet has an element that indicates whether it is part of a multipacket and a sequence number. Acknowledgment Server acknowledges once when all the packets have been received. Server acknowledges each request packet. 11

12 BSD 4.x UNIX 4. IPC in UNIX IPC primitives in BSD 4.x are provided as system calls which are implemented as a layer over the Internet TCP and UDP protocols. Message destinations are specified as socket addresses A socket address is a communication identifier. It consists of a local port number and an Internet address. Socket mechanism Messages are queued at the sending socket until the networking protocol has transmitted them, and until an ACK arrives, if the protocol requires one. When messages arrive, they are queued at the receiving socket until the receiving process makes an appropriate system call to receive them. The socket call returns a descriptor by which the socket may be referenced in subsequent system calls. Before a pair of processes can communicate, the recipient must bind its socket descriptor to a socket address The sender must also bind its socket descriptor to a socket address if it requires a reply. Once a socket has been bound, its address cannot be changed. 12

13 Datagram communication In order to send datagrams, a socket pair is identified each time a communication is made. This is achieved by the sending process using its local socket descriptor and the socket address of the receiving socket. Stream communication In order to use the stream protocol, two processes must first establish a connection (uni- or bi-directional) between their pair of sockets. When a connection is accepted, UNIX automatically creates a new socket and pairs it with the client's socket so that the server may continue listening for other clients' connection requests through the original socket. 13

14 Procedure to Use Stream The server (listening process) first uses the socket operation to create a stream socket. The server binds its socket to a socket address. It uses listen operation to listen on its socket for client requests for connections. The client creates socket. Then the client uses the connect system call to request a connection via the socket address of the listening process. As the connect call automatically binds a socket name to the caller's socket, prior binding is unnecessary. The server uses the accept system call to accept a connection requested by a client and obtain a new socket for communication with that client. The original socket may still be used to accept further connections with other clients. 14

15 Sockets used for datagrams Sending a message Receiving a message s = socket(af_inet,sock_dgram, 0) bind(s, ClientAddress) sendto(s, message, ServerAddress) s = socket(af_inet,sock_dgram, 0) bind(s, ServerAddress) amount = recvfrom(s, buffer, from) ServerAddress and ClientAdderss are sockets consisting of internet address and port number 15

16 Sockets used for streams Requesting a connection s = socket(af_inet, SOCK_STREAM, 0) connect(s, ServerAddress) write(s, message, length) Listening and accepting a connection s = socket(af_inet, SOCK_STREAM, 0) bind(s, ServerAddress); listen(s,5); snew = accept(s, from); N = read(snew,buffer,amount) ServerAddress is a socket consisting of internet address and port number 16

17 Middleware 1. Definition 2. RPC Middleware 3. DB Middleware 4. MOM 5. TP Monitor 6. CORBA 7. CORBA Programming 8. OLE/COM/DCOM 17

18 1. Definition 미들웨어 (middleware) Computer와 computer 사이에통신및정보처리를지원하는기능 OSI 참조모델의 5계층 ~6계층에존재하면서컴퓨터와컴퓨터간의통신을쉽고안전하게제공하며이에대한관리를도와주는소프트웨어 네트웍프로그램을 빠르게작성하고 쉽게사용하며 편하게관리하게하는기능 - of the client-server system, / of the client/server system 18

19 Technology 에의한분류 RPC middleware Message Oriented Middleware(MOM) Transaction Processing(TP) Monitor Object based middleware Groupware 미들웨어의종류 용도에의한분류 Computer communication (RPC, Groupware, CORBA) DB middleware Mobile computing middleware Home automation middleware 19

20 2. RPC Middleware Remote Procedure Call 기반미들웨어 이종시스템의프로세스들간통신을위해데이터표현변환, synchronization 을지원 단순한 point-to-point 형태이므로다양한형태의응용프로그램지원에한계 장애감내성 (fault tolerance), 트랜잭션처리부적절 예 : Inprise 의 Entera( 20

21 Remote Procedure Call Model client process server process local procedure call = (1) client routines client stub (10) server routines (6) (5 ) server stub system call = (2) (9) (7) (4) network routines (8) (3) = network communications network routines 21

22 Executing in order 1. The client calls a local procedure,called the client stub. The purpose of the stub is to package up the arguments to the remote procedure, possibly put them into some standard format and then build one or more network messages. 2. Network messages are sent to the remote system by the client stub. This requires a system call into the local kernel. 3. The network messages are transferred to the remote system. 4. A server stub procedure is waiting on the remote system for the client s request. It unmarshals the arguments from the network messages and possibly converts them. 5. The server stub executes a local procedure call to invoke the actual server function, passing it the arguments that it received in the network messages from the client stub. 6. When the server procedure is finished, it returns to the server stub, returning whatever its return values are. 7. The server stub converts the return values, if necessary, and marshals them into one or more network messages to send back to the client stub. 8. The messages get transferred back across the network to the client stub. 9. The client stub reads the network messages from the local kernel. 10. After possibly converting the return values, the client stub finally returns to the client function. 22

23 Sun RPC An actual RPC implementation with the Sun RPC system. Consists of the following parts rpcgen, a compiler that takes the definition of a remote procedure interface, and generates the client stubs and the server stubs. XDR(eXternal Data Representation), a standard way of encoding data in a port-able fashion between different systems. A run-time library to handle all the details. Example Defines two functions that the client calls using RPC. bin_date_1 : returns the current time as the number of seconds since 00:00;00 GMT, January 1,1970. str_date_1 : takes a long integer value from the previous function and converts it into an ASCII string that is fit for human consumption. 23

24 Files involved in generating a Sun RPC program server procedures server program date_proc.c server stub cc date_svc date_svc.c RPC specification file date.x rpcgen date.h RPC run-time library client main function date_clnt.c client program rdate.c cc rdate Must provide the three files date_proc.c : server procedures that are called remotely from the client. date.x : RPC specification file. rdate.c : client main function. rpcgen compiler takes the date.x file and generates two C files, the client stub and the server stub, along with a header file. 24

25 date.x / * date.x - Specification of remote date and time service. */ / * Define 2 procedures : * bin_date_1() returns the binary time and date(no arguments). * str_date_1() takes a binary time and returns a human-readable string. * / program DATE_PROG{ version DATE_VERS { long BIN_DATE(void) = 1; / * procedure number = 1 * / string STR_DATE(long) = 2; / * procedure number = 2 * / } = 1; / * version number = 1 * / } = 0x ; / * program number = 0x * / date.h (generated by rpcgen) #definedate_prog ((unsigned long)(0x )) #definedate_vers ((unsigned long)(1)) #definebin_date ((unsigned long)(1)) extern long * bin_date_1(); #definestr_date ((unsigned long)(2)) extern char ** str_date_1(); #endif /*!_DATE_H_RPCGEN */ 25

26 rdate.c ( client program for remote date service) #include <stdio.h> #include <rpc/rpc.h> /* standard RPC include file */ #include "date.h /* this file is generated by rpcgen */ main(argc,argv) int argc; char *argv[]; { CLIENT *cl; /* RPC handle */ char *server; long * lresult; /* return value from bin_date_1() */ char **sresult; /* return value from str_date_1() */ if(argc!=2){ fprintf(stderr,"usage:%s hostname n",argv[0]); exit(1); } server=argv[1]; 26

27 /* create the client handle */ if((cl=clnt_create(server,date_prog,date_vers,"udp"))==null){ clnt_pcreateerror(server); /* couldn t establish connecion with server. */ exit(2); } /* Fist call the remote procedure bin_date */ if( (lresult=bin_date_1(null,cl)) ==NULL){ clnt_perror(cl,server); exit(3); } printf("time on host %s=%ld n",server,*lresult); } /* call the remote procedure str_date */ if((sresult=str_date_1(lresult,cl))==null){ clnt_perror(cl,server); exit(4); } printf("time on host %s=%s",server,*sresult); clnt_destroy(cl); /* done with the handle */ exit(0); 27

28 call clnt_create to create an RPC handle to the specified program and version on a host and specify UDP as the protocol call bin_date_1, the first argument of the call is the argument we defined in the date.x specification file -a void argument that we specify as a NULL pointer. The second argument is the client handle. The return value is a pointer to a long integer. call str_date_1 function, the first argument is a pointer to a long integer. 28

29 dateproc.c ( remote procedures ; called by server stub) #include <rpc/rpc.h> #include "date.h" /* return the binary date and time */ long* bin_date_1(){ static long timeval; /* must be static */ long time(); /* unix function */ timeval =time((long*)0); return(&timeval); } /* convert a binary time and return a human readable string. */ char ** str_date_1(bintime) long *bintime; { static char *ptr; char *ctime(); ptr=ctime(bintime); /* convert to local time */ return(&ptr); /* return the address of pointer */ } 29

30 return values must be static variable because both functions return the address of these variables. Steps to use RPC 1. Compile the RPC specification file rpcgen date.x 2. The client stub is compiled with our client main function to generate the executable client program. gcc -o rdate rdate.c date_clnt.c -lnsl 3. Generate the server program by compiling the server stub along with server function. gcc -o date_svc date_proc.c date_svc.c -lnsl 4. Start server as a background process date_svc & 5. Invoke it from anather system(or same system) using client program 6. Result./rdate concert.comeng.chungnam.ac.kr time on host concert = time on host concert = Mon Aug 30 14:05:

31 Steps involved in RPC calls portmapper daemon (1) tell port mapper who we are date_svc (server) remote system (2) (3) (4) rdate (client) local system (1) When we start the server program on the remote system, it creates a UDP socket and binds any local port to the socket and calls a function in the RPC library, svc_register, to register its program number and version. This function contacts the port mapper process to register itself. The port mapper keeps track of the program number, version number, and port number. Server then waits for a client request. This step are done by the server stub, the main function that is generated by the rpcgen compiler. 31

32 (2) Starting client program and it calls the clnt_create function. This call specifies the name of the remote system, the program number, version number, and the protocol. This function contacts the port mapper on the remote system to find out the UDP port for the server. (3) Client program calls the bin_date_1 function. This function is defined in the client stub that was generated by the rpcgen compiler. This function sends a datagram to the server, using the UDP port number from the previous step and waits for a response, this stub determines which procedure is being called and calls our bin_date_1 function. When our function returns to the server stub, the stub takes the return value, converts it into the XDR standard format and packages it into a datagram for transmission back to the client. When the response if received, the client stub takes the value from the datagram, converts it as required, and returns it to our client program. (4) Client calls the str_date_1 function, which goes through a similar sequence of operations as described in the previous step. One difference is that the client stub has to pass an argument to the remote procedure. 32

33 Transparency issues Parameter passing A single argument and a single result are allowed. Multiple arguments or return values must be packaged into a structure Binding The port mapper daemon on the desired remote system is contacted to locate a specific program and version. The caller has to specify the name of the remote system and the transport protocol. Transport protocol Supports either UDP or TCP. Exception Handling Using UDP : it automatically times out and retransmits an RPC request, if necessary. Using TCP : an error is also returned to the caller if the connection is terminated by the server. Call Semantics Every client request carries a unique transaction ID, 32-bit integer termed the xid. 33

34 Data Representation Supported by XDR. Security Null authentication Unix authentication DES authentication 34

35 3. DB Middleware Client 가 DB에접속해SQL(Structured Query Language) 을사용할수있도록함. 이종의 DB를대상으로 client 프로그램을작성할수있도록 MS에서 ODBC(Open Database Connectivity) 규격정의 주로특정 DB 제품에의존적인 2-tier 구조 (client : DB) 최근컴퓨팅환경이 3-tier 화함에따라위축 예 : ORACLE의 SQL*Net( 35

36 4. MOM 프로세스간메시지형식의통신기능제공 Non-blocking, Store-and-forward 통신 36

37 메시지를 queue 저장한후관리, 전송 우선순위등급에따라메시지처리속도차별화 내용에따라불필요한메시지 filtering 가능 전자메일, FAX, 음성메일등최근인터넷응용에적합 예 : IBM의 MQSeries, BEA의 MessageQ ( 37

38 5. TP Monitor 트랜잭션처리를감시, 관리하는소프트웨어 IBM 메인프레임에서은행입출금처리업무에적용된것을시초로하여많은사용자를대상으로즉각적인처리를필요로하는업무에보편화 프로세스관리기능과트랜잭션관리기능으로구성 프로세스관리기능 : 시스템성능감시, 동작상태감시 트랜잭션처리및관리 확장성및장애감내성우수 예 : IBM 의 CICS, IMS, BEA 의 TUXEDO, TOPEND( OTM(Object Transaction Manager) 로발전 38

39 6. CORBA Object Based Middleware 분산객체 ( 프로그램, 데이터 ) 간통신 객체지향기술과더불어최근각광 ORB(Object Request Broker) TP 모니터기능추가위해 OTS(Object Transaction Service) 정의 예 : OMG의 CORBA, MS의 DCOM CORBA Common Object Request Broker Architecture 39

40 Distributed Object System 배경 OMG CORBA Develop Client/Server SW in the Heterogeneous Network(HN) Need to Integration Method of a group of Application in DS RPC, OLE(Object Linking and Embedding) -->primitive OMG --> CORBA Standard 제정 OMG Consortium : 1984 OMA(Object Management Architecture) 제안 (1990) OMA(Object Management Architecture) CORBA(Common Object Request Broker) OMG ORB(Object Request Broker) Software Bus 40

41 Community Group PTC(Platform Technology Community) : CORBA 자체하부기술 DTC(Domain Technology Community) : CORBA 기반응용분야 GSIG(General Special Interest Group) : OMG 전반에관련된명세 OMA 구조 : OO-based Application Objects C,C++,Java,Smalltalk... Vertical Facilities user interface info manage Horizontal Facilities Common Object Request Broker Architecture Name Event Life Cycle Persistence Relationships Externalization Transactions Concurrency Security Time Licensing Properties Query Trading Collections Startup CORBA Services 41

42 Object Request Broker(ORB) CORBA Concept Request : Clint Request---->Object Implementation(Server) (ORB) Structure of ORB Interface Client Object Implementation IDL Complier Dynamic Invocation IDL Stubs ORB Interface Static IDL Skeleton Dynamic Skeleton Object Adapter ORB Core ORB implimentation interface object adapter interface stubs/skeleton interface ORB-dependant interface 42

43 Object Request Broker ORB Components Static IDL Stubs/Skeletons Static-->defined at the compilation time Define Interface between client and object implementation Compiled by IDL Compiler--> translate the implemented language(c, C++, Java, etc.) Client-->Stub Object Implementation-->Skeleton Dynamic Invocation Interface(DII) Dynamic-->determined at the execution time Client find to an object method in the Interface Repository Request to the object for the service ORB Interface the interface can directly access to the ORB 43

44 Object Request Broker (Con t) Dynamic Skeleton Interface(DSI) Allows dynamic handling of object invocation 외부구현객체호출 Skeleton, stub를갖지않는객체외부객체 Client s Dynamic Invocation Interface와유사 메시지의파라미터를통해객체나메소드 search ORB와 ORB간 bridge나, 외부모듈과의 gateway 구현에적합 Object Adapter Primary way that an Object Implementation accesses services provided by ORB Client s object Service request를받아들이고, 구현객체에 object reference를부여하고, object activate, The method invoke through the skeleton 44

45 Repositories Interface Repository IDL로작성된모든 interface information 저장 client가요구한 service request에대한interface information 조회 ConstantDef, ModuleDef, ExceptionDef, InterfaceDef, TypeDef, OperationDef Implementation Repository 구현객체정보를저장 객체어댑터가구현객체구동시 : 물리적위치, 서버구동방식, 사용프로토콜 IDL Definitions Implementation Installation Interface Repository Stubs Stubs Stubs Skeletons Skeletons Skeletons Implementation Repository Client Object Implementation 45

46 BOA s role Basic Object Adapter Register Object Implementation to Implementation repository Create the instance of new object implementation Grant OID to the created object Inform to the ORB for creation object Receive service request from client through ORB Up-call a method to object implementation by skeleton then skeleton analysis receiving parameters 구현객체호출을위해 Implementation Repository 참조 미리정보가저장되어야함. 객체의물리적위치, 이름, 활성화정책, 사용프로토콜등 Object Activate Policy(4) Shared server policy : BOA 가활성화 (1 server-m OI) Persistent server policy : user 가수동적으로 server 구동 (1 server- m OI) Unshared server policy : server method 를호출할때마다 BOA 가활성화 (1 server-1 method), method 수행수 OI 종료 46

47 CORBA Invocation Principle A request consists of target object operation, parameters optional request context Invocation Caller Caller Stub Marshalling Person::getAge() { return age; }... person *person; Interconnection Network Callee Person->getAge(); Unmarshalling Skeleton Callee 47

48 Service Request Client Static Invocation Method-->using Stubs Dynamic Invocation Interface Declaration of the required object Select an interface of the object implementation from the interface repository get_interface method return the object reference of OI Get the method description lookup_name(), describe() Construction of parameters list NVList(NamedValue list) struct NamedValue{ Identifier name; any argument; long len; Flags arg_modes; }; Construct a request object using create_request --> send to OI 48

49 Client Start-up ORB Interface -->functionality supported by the ORB basic function : Communication function, Method invocation applied to the client object and the object implementation Client Start-up Process step1:get Object_Name (string type) Client Process step2:get Object reference (OID) step3: Request Invoke (method) step4:exception check step5:result OK step6:orbfree() string_to_object OID user Invocation Results Exception ORB Interface Interface Stubs ORB Core 49

50 Object Implementation Start-up Object Implementation Start-up Process Object start-up(activate) Method Invocation Object Inactivate Object Implementation step2: start-up Object Impl. step3: regist Object Impl. step4: activate Object step5: invoke Method Method Skeletons step6:boa Service invoke 활용 Results Basic Object Adapter step1:boa Service Invocation ORB 50

51 Horizontal Facilities User Interface Information Management System Management Common Facility Vertical Facilities : common functionality in the special part Image part Information highway part Distributed simulation part Session part Application development part Mapping part Manufacturing part 51

52 응용프로그램작성단계 7. CORBA Programming IDL 작성및컴파일 클라이언트와서버구현코드작성 구현객체구현 클라이언트와구현객체의메인프로그램작성 생성된모든화일들을컴파일하고링크한후클라이언트와구현객체의바이너리생성 클라이언트와서버바이너리완성 구현저장소에구현객체의실행정보저장 클라이언트바이너리실행 52

53 CORBA 응용프로그램개발절차 Client Source Code Step 2 C++ Compiler Step 1 Client Stub Code Step 3 Client Binary IDL file (. Idl) IDL Compiler Header Orbix Runtime Library Server Skeleton Code Step 3 Server Binary C++ Compiler Server Source Code Step 2 53

54 환경설정과실행 환경설정 Orbix 의실행화일과라이브러리 path 지정과 Orbixd& 명령어를통해 Orbix 실행프로그램을띄운다. 54

55 클라이언트 2 차원격자에대한 IDL 작성 (grid.idl) IDL 작성및컴파일 idl 컴파일러를통해 C++ 형태의소스코드로변환 -B : BOA(Basic Object Adapter) 를이용하는데필요한기능생성 idl -B grid.idl // IDL defintion of a 2-D grid (in row major order): Interface grid { readonly attribute short height; // height of the grid readonly attribute short width; // width of the grid }; // IDL operations // set the element [n,m] of the grid, to value: void set(in short n, in short m, in long value); // return element [n,m] of the grid: long get(in short n, in short m); 55

56 생성파일 IDL 작성및컴파일 grid.hh : Orbix 를운용하는데필요한클래스정의 class grid_dispatch : 해당객체를디스패치하는데필요한메소드선언 class grid : grid 인터페이스가 C++ 클래스로변환된결과 class gridproxyfactoryclass : 프락시객체를생성하고조작하기위해필요한메소드선언 class gridboaimpl : 분산객체처리에필요한 BOA 선언 class grid##x : 분산객체처리에필요한 TIE 선언 gridc.cc grid.hh 에정의한클래스의멤버함수구현 클라이언트가구현객체의구현부분에요구사항을전달하기위한메소드구현 grids.cc 서버구현객체에서필요한메소드선언 56

57 서버측면 IDL 작성및컴파일 idl 컴파일러를통해 C++ 형태의소스코드로변환 -S : 사용자가서버쪽에구현해야할부분을명시 idl -S grid.idl 생성파일 grid.ic, grid.ih, grid.hh, gridc.cc, grids.cc Grid 에대한클래스선언과메소드선언만이정의되어있는 grid.ih 와 grid.ic 화일에각기원하는로직을추가함으로서클라이언트에게서비스할객체를구현한다. grid.ih -> grid_i.h, grid.ic -> grid_i.cc 변경 57

58 Sample Server Source[1] grid.ih #include "grid.hh" class grid== { public: virtual CORBA::Short height (CORBA::Environment &IT_env=CORBA::default_environment) throw (CORBA::SystemException); virtual CORBA::Short width (CORBA::Environment &IT_env=CORBA::default_environment) throw (CORBA::SystemException); virtual void set (CORBA::Short n, CORBA::Short m, CORBA::Long value, CORBA::Environment &IT_env= CORBA::default_environment) throw (CORBA::SystemException); virtual CORBA::Long get (CORBA::Short n, CORBA::Short m, CORBA::Environment &IT_env= CORBA::default_environment) throw (CORBA::SystemException); }; #endif 58

59 Sample Server Source [2] grid_i.h #include "grid.hh class grid_i : public gridboaimpl { short m_height; // store the height short m_width; // store the width long **m_a; // a 2-D array to store the grid data itself public: // ctor grid_i(short h, short w); // dtor virtual ~grid_i(); // functions corresponding to the two IDL readonly attributes. virtual short width(corba::environment &env); virtual short height(corba::environment &env); // functions corresponding to the two IDL operations virtual void set(short n, short m, long value, CORBA::Environment &env); virtual long get(short n, short m, CORBA::Environment &env); }; 59

60 Sample Server Source [3] grid.ic #include "grid.ih" CORBA::Short grid==:: height (CORBA::Environment &IT_env) throw (CORBA::SystemException) { } CORBA::Short grid==:: width (CORBA::Environment &IT_env) throw (CORBA::SystemException) { } void grid==:: set (CORBA::Short n, CORBA::Short m, CORBA::Long value, CORBA::Environment &IT_env) { } CORBA::Long grid==:: get (CORBA::Short n, CORBA::Short m, CORBA::Environment &IT_env) { } 60

61 Sample Server Source [4] grid_i.cc #include "grid_i.h" // ctor grid_i:: grid_i (CORBA::Short h, CORBA::Short w) { m_height=h; // set up height m_width=w; // set up width // now allocate the 2-D array: as an array of pointers to 1-D arrays. m_a = new CORBA::Long* [h]; for (int i = 0; i < h; i++ ) m_a[i] = new CORBA::Long[w]; } // dtor grid_i:: ~grid_i() { // free the individual 1-D arrays: for (int i = 0; i < m_height; i++) delete[] m_a[i]; // then free the overall array: delete[] m_a; } // implementation of the function which reads the height attribute CORBA::Short rid_i::height(corba::environment&) { return m_height; } // implementation of the function which reads the width attribute CORBA::Short grid_i::width(corba::environment &) { return m_width; } // implementation of the set operation: void grid_i::set(corba::short n, CORBA::Short m, CORBA::Long value, CORBA::Environment &) { } m_a[n][m] = value; // implementation of the get operation: CORBA::Long grid_i::get(corba::short n, CORBA::Short m, CORBA::Environment &) { return m_a[n][m]; } 61

62 메인프로그램작성 클라이언트 구현객체쪽의 grid_i 클래스를이용하는클라이언트프로그램 구성 해당클래스선언 (grid_var gridvar;) 구현객체의구현부분과해당클래스를바인딩 (gridvar=grid::bind();) 해당클래스의메소드호출 (gridvar -> height();) 서버 서버쪽클래스인 grid_i 를선언하고, 이를클라이언트에서사용가능할수있도록한다. 62

63 Sample Client Main Source Client.cc #include "grid.hh" #include <stream.h> #include <stdlib.h> int main (int argc, char **argv) { grid_var gridvar; // pointer the grid object that will be used. CORBA::Short h, w; CORBA::Long v; if (argc < 2) { cout << "usage: " << argv[0] << " <hostname>" << endl; exit (-1); } try { gridvar = grid::_bind ("", argv[1]); } catch (CORBA::SystemException &sysex) { cerr << "Unexpected system exception" << endl; cerr << &sysex; exit(1); } catch(...) { cerr << "Bind to object failed" << endl; cerr << "Unexpected exception " << endl; exit(1); } try { h = gridvar->height (); w = gridvar->width (); } catch (CORBA::SystemException &sysex) { cerr << "Unexpected system exception" << endl; cerr << &sysex; exit(1); catch(...) { // no problem reading the height and width: cout << "height is " << h << endl; cout << "width is " << w << endl; 63

64 try { // try to set element [2,4] of the grid - to value 123 gridvar->set (2, 4, 123); // then read back what we have just set: v = gridvar->get (2, 4); } catch (CORBA::SystemException &sysex) { cerr << "Unexpected system exception" << endl; cerr << &sysex; exit(1); } catch(...) { // an error occurred while calling set or get: cerr << "Call to set or get failed" << endl; cerr << "Unexpected exception " << endl; exit(1); } // no problem setting and getting the elememt: cout << "grid[2,4] is " << v << endl; // sanity check: make sure we got the value 123 back: if ( v!= 123 ) { // oops - we didn't: cerr << "something went seriously wrong" << endl; exit(1); } return 0; } 64

65 Sample Server Main Source Srv_Main.cc #include <stream.h> #include <stdlib.h> #include "grid_i.h" int main() { // create a grid object - using the implementation class grid_i grid_i mygrid(100,100); try { // tell Orbix that we have completed the server's initialisation: CORBA::Orbix.impl_is_ready("grid"); } catch (CORBA::SystemException &sysex) { cerr << "Unexpected system exception" << endl; cerr << &sysex; exit(1); } catch (...) { // an error occured calling impl_is_ready() - output the error. cout << "Unexpected exception" << endl; exit(1); } // impl_is_ready() returns only when Orbix times-out an idle server // (or an error occurs). cout << "server exiting" << endl; return 0; } 65

66 코드생성및정보저장 클라이언트와서버바이너리코드생성 스터브와스켈리턴코드그리고작성한프로그램들을통합하여컴파일한후바이너리를생성 client.exe, server.exe 구현객체의구현저장소에실행정보저장 구현저장소에구현된구현객체의위치정보와이름을저장 putit -hflower grid/lab2/ds/jyyou/demos/grid/server 66

67 클라이언트바이너리실행 67

68 catit lsit rmit putit killit pingit 자주쓰는 Orbix 관리명령어 주어진서버에대한정보를구현저장소에서추출하여보여준다. 구현저장소에서해당구현객체를조회하거나매개변수없이사용할경우모든구현객체의이름을보여준다. 구현저장소에서해당서버를삭제한다. 구현저장소에구현된구현객체의위치정보와이름을명시한다. 서버구현객체를종료한다. Orbixd 데몬의생사여부를확인한다. chmodit IR 의소유권한을변경할때사용한다. chownit 구현저장소에대한접근권한을조정할때사용한다. 68

69 8. OLE/COM/DCOM OLE(Object Linking and Embedding)? 초기 OLE 워드내에엑셀시트를삽입하거나파워포인트그림을삽입하는등서로다른데이터를통합해하나의문서를만드는방법으로이해 사용자에게는마치하나의데이터처럼보이지만실제로는두개이상의다른응용프로그램을사용해생성된복합문서를작성하기위한기술 현재 OLE COM(Component Object Model) 이라는기술을바탕으로서로다른응용프로그램들이생산해내는다수의정보소스객체를모아서하나의문서를만들어낼수있는기술 COM 은모든윈도우응용프로그램간의통합이가능한윈도우객체버스 OLE 개발역사 응용프로그램간의데이터교환방법인 DDE(Dynamic Data Exchange) 를확장한새로운데이터교환방법을제안 -> OLE OLE 1.0 : 복합문서중심의역할 OLE 2.0 : 프로그램간의통신기능추가, 다른프로그램의 in-place action OLE 3.0 : 네트워크 OLE 를통합분산윈도우객체, DCE(Distributed Computing Environment) RPC 이용 69

70 COM(Component Object Model)? OLE 의기본토대 COM 응용프로그램을작성한다고가정할때응용프로그램은해당작업을위해운영체제, 각종라이브러리, 그리고다른프로세스와정보를교환 OLE 프로그램작성자는운영체제의시스템호출, 라이브러리의 API 호출, 다른프로세스와의 IPC 호출등각기다른방법을사용하여프로그래밍이어려움 단일한인터페이스를제공해주는 COM 으로문제점해결 COM 객체를이용하여각종라이브러리나운영체제에서 COM 인터페이스를제공한다면단일 COM 인터페이스로일관된접근가능 COM 은 client 프로그램과객체서버프로그램간의상호통신방식을정의한모델 윈도우객체버스 단일컴퓨터내 CORBA 에해당 복수컴퓨터내 CORBA ---->DCOM(Distributed COM) 70

71 COM 객체모델 COM 객체는데이터와메소드로구성 개발되는언어에독립적 윈도우객체버스 COM 단지인터페이스만을알고이를통하면원하는메소드를호출할수있기때문 COM 은인터페이스를통한바이너리표준을제공 이표준을이용하면 C++ 객체든다른바이너리객체든상관할것없이응용프로그램을작성 COM 인터페이스 COM 은인터페이스를작성하기위한기반도구로서 IDL(Interface Definition Language) 을제공 COM IDL 은 DCE IDL 을채용하여사용하기때문에다양한언어로의매핑이불가능 DCE IDL 은 C 언어로의매핑을전제로하기때문 클라이언트가해당인터페이스를통해 COM 객체의메소드를이용하는과정 클라이언트틑해당인터페이스에대한포인터 (COM 에서제공 ) 를얻음 이포인터를따라가면각메소드를가리키고있는함수테이블이존재 이함수테이블에서원하는메소드를호출 71

72 DCOM(Distributed COM)? DCOM 네트웍에서 OLE 가가능하도록만들어진기능 네트웍환경에서프로그램을공유해서사용할수있게하기위해만들어진기술 DCOM 은 LAN, WAN 또는인터넷에서서로다른컴퓨터간의통신을지원하기위한 COM 의확장형 DCOM 을이용하면응용프로그램사용자나응용프로그램간에적절하게위치를분배해서사용가능 로컬이든네트웍이든상관없이어디에나응용프로그램을가져다놓고여러사람이사용가능 클라이언트는오버헤드도없이컴포넌트의메소드를호출해서사용 72

73 CORBA 와 OLE/COM 윈도우프로그래머입장에서 COM/OLE 는보편화된기능일수도있지만, 모든것을 CORBA 프로그램으로대체하거나반대로윈도우프로그램으로대체하는것은불가능 현재분산객체기술의핵심인 OMG 의 CORBA 와 MS 의 COM/OLE, DCOM/OLE 의결합이주요이슈 차세대미들웨어기술 환경적측면 : 기존의 LAN 을기반환경에서인터넷을포함한 WAN 환경으로변환 기술적측면 : 초기파일서버나데이터베이스서버에서분산객체시스템으로전환 각각의장점을바탕으로 CORBA 와 DCOM 을기반으로하는분산객체시스템은계속확산될것으로예상 기존 www 의프로토콜인 HTTP 에 CORBA 의인터넷호환프로토콜이자분산객체호출프로토콜인 IIOP 가통합될전망 인터넷의광범위한확산과아울러인터넷을기반으로한통합정보시스템인인트라넷을구현가능 차세대미들웨어의모습 수많은서버를자동으로찾아다니며클라이언트의서비스를자동으로해결해주는모습일것으로예측 73

74 Memo 74

Chap7.PDF

Chap7.PDF Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools All rights reserved 1 Intranet Data Warehouse : Distributed Networking Computing Peer-to-peer Peer-to-peer:,. C/S Microsoft ActiveX DCOM(Distributed

More information

thesis

thesis CORBA TMN Surveillance System DPNM Lab, GSIT, POSTECH Email: mnd@postech.ac.kr Contents Motivation & Goal Related Work CORBA TMN Surveillance System Implementation Conclusion & Future Work 2 Motivation

More information

final_thesis

final_thesis CORBA/SNMP DPNM Lab. POSTECH email : ymkang@postech.ac.kr Motivation CORBA/SNMP CORBA/SNMP 2 Motivation CMIP, SNMP and CORBA high cost, low efficiency, complexity 3 Goal (Information Model) (Operation)

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

Something that can be seen, touched or otherwise sensed

Something that can be seen, touched or otherwise sensed Something that can be seen, touched or otherwise sensed Things about an object Weight Height Material Things an object does Pen writes Book stores words Water have Fresh water Rivers Oceans have

More information

°í¼®ÁÖ Ãâ·Â

°í¼®ÁÖ Ãâ·Â Performance Optimization of SCTP in Wireless Internet Environments The existing works on Stream Control Transmission Protocol (SCTP) was focused on the fixed network environment. However, the number of

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

0125_ 워크샵 발표자료_완성.key

0125_ 워크샵 발표자료_완성.key WordPress is a free and open-source content management system (CMS) based on PHP and MySQL. WordPress is installed on a web server, which either is part of an Internet hosting service or is a network host

More information

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

More information

SK IoT IoT SK IoT onem2m OIC IoT onem2m LG IoT SK IoT KAIST NCSoft Yo Studio tidev kr 5 SK IoT DMB SK IoT A M LG SDS 6 OS API 7 ios API API BaaS Backend as a Service IoT IoT ThingPlug SK IoT SK M2M M2M

More information

- 2 -

- 2 - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 - - 16 - - 17 - - 18 - - 19 - - 20 - - 21 - - 22 - - 23 - - 24 - - 25 - - 26 - - 27 - - 28 - - 29 - - 30 -

More information

bn2019_2

bn2019_2 arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

SMB_ICMP_UDP(huichang).PDF

SMB_ICMP_UDP(huichang).PDF SMB(Server Message Block) UDP(User Datagram Protocol) ICMP(Internet Control Message Protocol) SMB (Server Message Block) SMB? : Microsoft IBM, Intel,. Unix NFS. SMB client/server. Client server request

More information

Chap06(Interprocess Communication).PDF

Chap06(Interprocess Communication).PDF Interprocess Communication 2002 2 Hyun-Ju Park Introduction (interprocess communication; IPC) IPC data transfer sharing data event notification resource sharing process control Interprocess Communication

More information

No Slide Title

No Slide Title Copyright, 2001 Multimedia Lab., CH 3. COM object (In-process server) Eun-sung Lee twoss@mmlab.net Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea 0. Contents 1.

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

untitled

untitled Embedded System Lab. II Embedded System Lab. II 2 RTOS Hard Real-Time vs Soft Real-Time RTOS Real-Time, Real-Time RTOS General purpose system OS H/W RTOS H/W task Hard Real-Time Real-Time System, Hard

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

○ 제2조 정의에서 기간통신역무의 정의와 EU의 전자커뮤니케이션서비스 정의의 차이점은

○ 제2조 정의에서 기간통신역무의 정의와 EU의 전자커뮤니케이션서비스 정의의 차이점은 이동전화시장 경쟁활성화를 위한 MVNO 추진을 바라보며 김원식 1) 1. 들어가며 최근 이동전화의 무선재판매 시장 활성화 등을 위해 정보통신부가 준비한 전기통신사업 법 개정안 공청회에서 무선재판매의무제 관련규정을 둘러싸고 전문가들의 우려와 지적이 상당하였다. 우선 무선재판매 제도 도입의 배경을 살펴보자. 직접적 배경으로는 국내 이동전화 요금에 대한 이용자들의

More information

TCP.IP.ppt

TCP.IP.ppt TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP Internet Protocol _ IP Address Internet Protocol _ Subnet Mask Internet Protocol _ ARP(Address Resolution Protocol) Internet Protocol _ RARP(Reverse Address Resolution

More information

제20회_해킹방지워크샵_(이재석)

제20회_해킹방지워크샵_(이재석) IoT DDoS DNS (jaeseog@sherpain.net) (www.sherpain.net) DDoS DNS DDoS / DDoS(Distributed DoS)? B Asia Broadband B Bots connect to a C&C to create an overlay network (botnet) C&C Provider JP Corp. Bye Bye!

More information

ecorp-프로젝트제안서작성실무(양식3)

ecorp-프로젝트제안서작성실무(양식3) (BSC: Balanced ScoreCard) ( ) (Value Chain) (Firm Infrastructure) (Support Activities) (Human Resource Management) (Technology Development) (Primary Activities) (Procurement) (Inbound (Outbound (Marketing

More information

thesis

thesis CORBA TMN 1 2 CORBA, CORBA CORBA TMN CORBA 3 - IN Intelligent Network (Call) SMS : Service Management System SCP : Service Control Point SSP : Service Switching Point SCP SMS CMIP Signaling System No.7

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

The Self-Managing Database : Automatic Health Monitoring and Alerting

The Self-Managing Database : Automatic Health Monitoring and Alerting The Self-Managing Database : Automatic Health Monitoring and Alerting Agenda Oracle 10g Enterpirse Manager Oracle 10g 3 rd Party PL/SQL API Summary (Self-Managing Database) ? 6% 6% 12% 55% 6% Source: IOUG

More information

<32382DC3BBB0A2C0E5BED6C0DA2E687770>

<32382DC3BBB0A2C0E5BED6C0DA2E687770> 논문접수일 : 2014.12.20 심사일 : 2015.01.06 게재확정일 : 2015.01.27 청각 장애자들을 위한 보급형 휴대폰 액세서리 디자인 프로토타입 개발 Development Prototype of Low-end Mobile Phone Accessory Design for Hearing-impaired Person 주저자 : 윤수인 서경대학교 예술대학

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

` Companies need to play various roles as the network of supply chain gradually expands. Companies are required to form a supply chain with outsourcing or partnerships since a company can not

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

untitled

untitled 3 IBM WebSphere User Conference ESB (e-mail : ljm@kr.ibm.com) Infrastructure Solution, IGS 2005. 9.13 ESB 를통한어플리케이션통합구축 2 IT 40%. IT,,.,, (Real Time Enterprise), End to End Access Processes bounded by

More information

SchoolNet튜토리얼.PDF

SchoolNet튜토리얼.PDF Interoperability :,, Reusability: : Manageability : Accessibility :, LMS Durability : (Specifications), AICC (Aviation Industry CBT Committee) : 1988, /, LMS IMS : 1997EduCom NLII,,,,, ARIADNE (Alliance

More information

¹Ìµå¹Ì3Â÷Àμâ

¹Ìµå¹Ì3Â÷Àμâ MIDME LOGISTICS Trusted Solutions for 02 CEO MESSAGE MIDME LOGISTICS CO., LTD. 01 Ceo Message We, MIDME LOGISTICS CO., LTD. has established to create aduance logistics service. Try to give confidence to

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

歯I-3_무선통신기반차세대망-조동호.PDF

歯I-3_무선통신기반차세대망-조동호.PDF KAIST 00-03-03 / #1 1. NGN 2. NGN 3. NGN 4. 5. 00-03-03 / #2 1. NGN 00-03-03 / #3 1.1 NGN, packet,, IP 00-03-03 / #4 Now: separate networks for separate services Low transmission delay Consistent availability

More information

歯부장

歯부장 00-10-31 1 (1030) 2/26 (end-to-end) Infrastructure,, AMR. e-business e-business Domain e-business B2B Domain / R&D, B2B B2E B2C e-business IT Framework e-business Platform Clearance/Security * e-business

More information

Intra_DW_Ch4.PDF

Intra_DW_Ch4.PDF The Intranet Data Warehouse Richard Tanler Ch4 : Online Analytic Processing: From Data To Information 2000. 4. 14 All rights reserved OLAP OLAP OLAP OLAP OLAP OLAP is a label, rather than a technology

More information

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for 2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

Subnet Address Internet Network G Network Network class B networ

Subnet Address Internet Network G Network Network class B networ Structure of TCP/IP Internet Internet gateway (router) Internet Address Class A Class B Class C 0 8 31 0 netid hostid 0 16 31 1 0 netid hostid 0 24 31 1 1 0 netid hostid Network Address : (A) 1 ~ 127,

More information

Microsoft PowerPoint - RMI.ppt

Microsoft PowerPoint - RMI.ppt ( 분산통신실습 ) RMI RMI 익히기 1. 분산환경에서동작하는 message-passing을이용한 boundedbuffer 해법프로그램을실행해보세요. 소스코드 : ftp://211.119.245.153 -> os -> OSJavaSources -> ch15 -> rmi http://marvel el.incheon.ac.kr의 Information Unix

More information

#Ȳ¿ë¼®

#Ȳ¿ë¼® http://www.kbc.go.kr/ A B yk u δ = 2u k 1 = yk u = 0. 659 2nu k = 1 k k 1 n yk k Abstract Web Repertoire and Concentration Rate : Analysing Web Traffic Data Yong - Suk Hwang (Research

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

11¹Ú´ö±Ô

11¹Ú´ö±Ô A Review on Promotion of Storytelling Local Cultures - 265 - 2-266 - 3-267 - 4-268 - 5-269 - 6 7-270 - 7-271 - 8-272 - 9-273 - 10-274 - 11-275 - 12-276 - 13-277 - 14-278 - 15-279 - 16 7-280 - 17-281 -

More information

10주차.key

10주차.key 10, Process synchronization (concurrently) ( ) => critical section ( ) / =>, A, B / Race condition int counter; Process A { counter++; } Process B { counter ;.. } counter++ register1 = counter register1

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

소프트웨어개발방법론

소프트웨어개발방법론 사용사례 (Use Case) Objectives 2 소개? (story) vs. 3 UC 와 UP 산출물과의관계 Sample UP Artifact Relationships Domain Model Business Modeling date... Sale 1 1..* Sales... LineItem... quantity Use-Case Model objects,

More information

Sena Device Server Serial/IP TM Version

Sena Device Server Serial/IP TM Version Sena Device Server Serial/IP TM Version 1.0.0 2005. 3. 7. Release Note Revision Date Name Description V1.0.0 2005-03-7 HJ Jeon Serial/IP 4.3.2 ( ) 210 137-130, : (02) 573-5422 : (02) 573-7710 email: support@sena.com

More information

04-다시_고속철도61~80p

04-다시_고속철도61~80p Approach for Value Improvement to Increase High-speed Railway Speed An effective way to develop a highly competitive system is to create a new market place that can create new values. Creating tools and

More information

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX 20062 () wwwexellencom sales@exellencom () 1 FMX 1 11 5M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2 FMX FMX D E (one

More information

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾ P a 02 r t Chapter 4 TCP Chapter 5 Chapter 6 UDP Chapter 7 Chapter 8 GUI C h a p t e r 04 TCP 1 3 1 2 3 TCP TCP TCP [ 4 2] listen connect send accept recv send recv [ 4 1] PC Internet Explorer HTTP HTTP

More information

step 1-1

step 1-1 Written by Dr. In Ku Kim-Marshall STEP BY STEP Korean 1 through 15 Action Verbs Table of Contents Unit 1 The Korean Alphabet, hangeul Unit 2 Korean Sentences with 15 Action Verbs Introduction Review Exercises

More information

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용

More information

Voice Portal using Oracle 9i AS Wireless

Voice Portal using Oracle 9i AS Wireless Voice Portal Platform using Oracle9iAS Wireless 20020829 Oracle Technology Day 1 Contents Introduction Voice Portal Voice Web Voice XML Voice Portal Platform using Oracle9iAS Wireless Voice Portal Video

More information

자바-11장N'1-502

자바-11장N'1-502 C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),

More information

Output file

Output file 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 An Application for Calculation and Visualization of Narrative Relevance of Films Using Keyword Tags Choi Jin-Won (KAIST) Film making

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

No Slide Title

No Slide Title J2EE J2EE(Java 2 Enterprise Edition) (Web Services) :,, SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Discovery, Description & Integration 4. (XML Protocol

More information

Portal_9iAS.ppt [읽기 전용]

Portal_9iAS.ppt [읽기 전용] Application Server iplatform Oracle9 A P P L I C A T I O N S E R V E R i Oracle9i Application Server e-business Portal Client Database Server e-business Portals B2C, B2B, B2E, WebsiteX B2Me GUI ID B2C

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

슬라이드 제목 없음

슬라이드 제목 없음 2006-09-27 경북대학교컴퓨터공학과 1 제 5 장서브넷팅과슈퍼넷팅 서브넷팅 (subnetting) 슈퍼넷팅 (Supernetting) 2006-09-27 경북대학교컴퓨터공학과 2 서브넷팅과슈퍼넷팅 서브넷팅 (subnetting) 하나의네트워크를여러개의서브넷 (subnet) 으로분할 슈퍼넷팅 (supernetting) 여러개의서브넷주소를결합 The idea

More information

초보자를 위한 ADO 21일 완성

초보자를 위한 ADO 21일 완성 ADO 21, 21 Sams Teach Yourself ADO 2.5 in 21 Days., 21., 2 1 ADO., ADO.? ADO 21 (VB, VBA, VB ), ADO. 3 (Week). 1, 2, COM+ 3.. HTML,. 3 (week), ADO. 24 1 - ADO OLE DB SQL, UDA(Universal Data Access) ADO.,,

More information

hd1300_k_v1r2_Final_.PDF

hd1300_k_v1r2_Final_.PDF Starter's Kit for HelloDevice 1300 Version 11 1 2 1 2 3 31 32 33 34 35 36 4 41 42 43 5 51 52 6 61 62 Appendix A (cross-over) IP 3 Starter's Kit for HelloDevice 1300 1 HelloDevice 1300 Starter's Kit HelloDevice

More information

untitled

untitled CAN BUS RS232 Line Ethernet CAN H/W FIFO RS232 FIFO IP ARP CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter ICMP TCP UDP PROTOCOL Converter TELNET DHCP C2E SW1 CAN RS232 RJ45 Power

More information

Microsoft Word doc

Microsoft Word doc TCP/IP 구조 1. I.P 구조설명 2. ARP 구조설명 3. TCP 구조설명 4. UDT 구조설명 5. RIP 구조설명 6. BOOTP 구조설명 7. TFTP 구조설명 destination addr source addr type data CRC 6 6 2 46-1500 4 type 0X0800 IP datagram 2 46-1500 type 0X0806

More information

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드]

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드] 전자회로 Ch3 iode Models and Circuits 김영석 충북대학교전자정보대학 2012.3.1 Email: kimys@cbu.ac.kr k Ch3-1 Ch3 iode Models and Circuits 3.1 Ideal iode 3.2 PN Junction as a iode 3.4 Large Signal and Small-Signal Operation

More information

ARMBOOT 1

ARMBOOT 1 100% 2003222 : : : () PGPnet 1 (Sniffer) 1, 2,,, (Sniffer), (Sniffer),, (Expert) 3, (Dashboard), (Host Table), (Matrix), (ART, Application Response Time), (History), (Protocol Distribution), 1 (Select

More information

歯이시홍).PDF

歯이시홍).PDF cwseo@netsgo.com Si-Hong Lee duckling@sktelecom.com SK Telecom Platform - 1 - 1. Digital AMPS CDMA (IS-95 A/B) CDMA (cdma2000-1x) IMT-2000 (IS-95 C) ( ) ( ) ( ) ( ) - 2 - 2. QoS Market QoS Coverage C/D

More information

http://www.kbc.go.kr/ Abstract Competition and Concentration in the Market for the Multichannel Video Programming G h e e - Young Noh ( P r o f e s s o, rschool of Communication,

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

Microsoft PowerPoint APUE(Intro).ppt

Microsoft PowerPoint APUE(Intro).ppt 컴퓨터특강 () [Ch. 1 & Ch. 2] 2006 년봄학기 문양세강원대학교컴퓨터과학과 APUE 강의목적 UNIX 시스템프로그래밍 file, process, signal, network programming UNIX 시스템의체계적이해 시스템프로그래밍능력향상 Page 2 1 APUE 강의동기 UNIX 는인기있는운영체제 서버시스템 ( 웹서버, 데이터베이스서버

More information

chapter4

chapter4 Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก

More information

<3130C0E5>

<3130C0E5> Redundancy Adding extra bits for detecting or correcting errors at the destination Types of Errors Single-Bit Error Only one bit of a given data unit is changed Burst Error Two or more bits in the data

More information

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not,

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not, Page 1 of 5 Learn Korean Ep. 4: To be and To exist Of course to be and to exist are different verbs, but they re often confused by beginning students when learning Korean. In English we sometimes use the

More information

Intro to Servlet, EJB, JSP, WS

Intro to Servlet, EJB, JSP, WS ! Introduction to J2EE (2) - EJB, Web Services J2EE iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

歯M991101.PDF

歯M991101.PDF 2 0 0 0 2000 12 2 0 0 0 2000 12 ( ) ( ) ( ) < >. 1 1. 1 2. 5. 6 1. 7 1.1. 7 1.2. 9 1.3. 10 2. 17 3. 25 3.1. 25 3.2. 29 3.3. 29. 31 1. 31 1.1. ( ) 32 1.2. ( ) 38 1.3. ( ) 40 1.4. ( ) 42 2. 43 3. 69 4. 74.

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

슬라이드 1

슬라이드 1 DHCP (Dynamic Host Configuration Protocol) Oct 2006 Technical Support Div. Tel : 031-739-6800 Mail : support@corecess.com DHCP Motivations Automatic network configuration for clients No administrator intervention

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석 ,, Even the short history of the Web system, the techniques related to the Web system have b een developed rapidly. Yet, the quality of the Webbased application software has not improved. For this reason,

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

06_ÀÌÀçÈÆ¿Ü0926

06_ÀÌÀçÈÆ¿Ü0926 182 183 184 / 1) IT 2) 3) IT Video Cassette Recorder VCR Personal Video Recorder PVR VCR 4) 185 5) 6) 7) Cloud Computing 8) 186 VCR P P Torrent 9) avi wmv 10) VCR 187 VCR 11) 12) VCR 13) 14) 188 VTR %

More information

Switching

Switching Switching 강의의목표 Switching/Switching Network의필요성을이해한다. 세가지대표적교환기술에열거하고그차이를설명할수있다. 각교환기술의장, 단점을비교하여설명할수있다. Packet Switching 에서 Fairness 문제와 Pipelining 을 패킷크기와연계하여설명할수있다. Soft Switch 개념을이해하고설명할수있다. 교재 Chapter

More information

UDP Flooding Attack 공격과 방어

UDP Flooding Attack 공격과 방어 황 교 국 (fullc0de@gmail.com) SK Infosec Co., Inc MSS Biz. Security Center Table of Contents 1. 소개...3 2. 공격 관련 Protocols Overview...3 2.1. UDP Protocol...3 2.2. ICMP Protocol...4 3. UDP Flood Test Environment...5

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

Page 2 of 6 Here are the rules for conjugating Whether (or not) and If when using a Descriptive Verb. The only difference here from Action Verbs is wh

Page 2 of 6 Here are the rules for conjugating Whether (or not) and If when using a Descriptive Verb. The only difference here from Action Verbs is wh Page 1 of 6 Learn Korean Ep. 13: Whether (or not) and If Let s go over how to say Whether and If. An example in English would be I don t know whether he ll be there, or I don t know if he ll be there.

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

C++-¿Ïº®Çؼ³10Àå

C++-¿Ïº®Çؼ³10Àå C C++. (preprocessor directives), C C++ C/C++... C++, C. C++ C. C C++. C,, C++, C++., C++.,.. #define #elif #else #error #if #itdef #ifndef #include #line #pragma #undef #.,.,. #include #include

More information

MPLAB C18 C

MPLAB C18 C MPLAB C18 C MPLAB C18 MPLAB C18 C MPLAB C18 C #define START, c:\mcc18 errorlevel{0 1} char isascii(char ch); list[list_optioin,list_option] OK, Cancel , MPLAB IDE User s Guide MPLAB C18 C

More information