KR100267378B1 - 컴퓨터 그룹통신 장치 및 그 제어방법 - Google Patents

컴퓨터 그룹통신 장치 및 그 제어방법 Download PDF

Info

Publication number
KR100267378B1
KR100267378B1 KR1019980034696A KR19980034696A KR100267378B1 KR 100267378 B1 KR100267378 B1 KR 100267378B1 KR 1019980034696 A KR1019980034696 A KR 1019980034696A KR 19980034696 A KR19980034696 A KR 19980034696A KR 100267378 B1 KR100267378 B1 KR 100267378B1
Authority
KR
South Korea
Prior art keywords
call
group
connection
user
conference
Prior art date
Application number
KR1019980034696A
Other languages
English (en)
Other versions
KR20000015015A (ko
Inventor
류형근
오성수
양동지
이봉영
Original Assignee
이계철
한국전기통신공사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이계철, 한국전기통신공사 filed Critical 이계철
Priority to KR1019980034696A priority Critical patent/KR100267378B1/ko
Publication of KR20000015015A publication Critical patent/KR20000015015A/ko
Application granted granted Critical
Publication of KR100267378B1 publication Critical patent/KR100267378B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

본 발명은 멀티미디어 시스팀, 고속통신망, 서버등을 종합적으로 활용하여 시간적, 공간적으로 분산된 사용자들이 공동 작업을 협동하여 수행할 수 있는 컴퓨터 그룹통신형 서비스 장치 및 그 제어방법에 관한 것으로, 시공간적으로 분산된 사용자들이 공동작업을 할 수 있는 그룹통신 등의 여러 분야에 활용가능하고, B-ISDN 응용서비스로서 제공시 저가에 보급가능한 경제적인 잇점이 있다.

Description

컴퓨터 그룹통신 장치 및 그 제어 방법
본 발명은 멀티미디어 시스팀, 고속통신망, 서버등을 종합적으로 활용하여 시간적, 공간적으로 분산된 사용자들이 공동 작업을 협동하여 수행할 수 있는 컴퓨터 그룹통신 서비스 장치 및 그 제어방법에 관한 것으로, 효과적인 그룹통신을 위하여 화상회의 시스팀, 전자칠판, 공유작업공간등의 도구들을 제공하는 기술이다.
현재 광대역 통신관련 기술들이 발전되어 감에 따라 향후 광대역 통신망에서 제공될 응용서비스로서 화상회의, 원격강의 및 교육등과 같이 모든 구성원들이 동등하게 정보를 주고 받을 수 있는 그룹통신 서비스의 개발이 요구되고 있으며, 미디어 관련 기술의 발전으로 그룹통신 기술은 급속이 발달하고 있다.
현재 여러 가지 유형의 그룹통신 시스팀이 연구되고 있으며, 시범적인 실시가 이루어지고 있다.
컴퓨터 그룹통신 시스팀을 구현하기 위하여 멀티미디어 통신기술, 미디어 관련 기술, 사용자 인터페이스 기술과 같은 여러 가지 요소 기술들을 필요로 할 뿐만 아니라, 이러한 시스팀을 실용화 하기 위하여 경제적, 기능적 측면이 고려되어야 한다.
따라서 편리하면서 효율적인 컴퓨터 그룹통신 시스팀을 사용자에게 제공하기 위하여 실용적이면서 경제적 부담이 적은 그룹통신 장치의 개발이 요구되고 있다.
본 발명은 상기에 기술한 바와 같은 종래 요구사항을 감안하여, 시공간적으로 분산된 사용자들이 공동작업을 할 수 있는 그룹통신 등의 여러분야에 활용가능하며, 모든 플랫폼에 사용가능하고, B-ISDN 응용서비스로서 제공시 저가에 보급할 수 있는 그룹통신 장치 및 그 제어방법을 제공하는 것을 목적으로 한다.
도 1은 본 발명에 의한 컴퓨터 그룹통신이 적용되는 하드웨어의 개략적인 구성을 나타내는 블럭도.
도 2는 본 발명에 의한 서버와, 클라이언트 내의 기능 구조를 나타내는 블럭도.
도 3은 본 발명에 의한 호모델의 객체모델을 나타내는 도면.
도 4는 본 발명에 의한 호 객체의 상태천이도.
도 5는 본 발명에 의한 그룹 객체의 상태천이도.
도 6은 본 발명에 의한 접속 객체의 상태천이도.
도 7은 본 발명에 의한 동기 객체의 상태천이도.
도 8은 본 발명에 의한 UPT 객체의 상태천이도.
도 9는 본 발명에 의한 사용자(User) 객체의 상태천이도.
도 10은 본 발명에 의한 PC 객체의 상태천이도.
도 11a ∼ 11k 는 본 발명에 의한 회의 관리 절차를 나타내는 설명도.
도 12는 본 발명에 의한 사용자 인증 절차를 나타내는 설명도.
< 도면의 주요부분에 대한 부호의 설명 >
1 : 워크스테이션 2 : 개인용 컴퓨터
3 : 스위치 10 : 서버
11 : 웹서버 12 : 회의 관리자
13 : CGI 기능부 20 : 클라이언트
21 : 웹브라우저 22 : 회의패널
23 : 음성/화상 처리부
상기와 같은 목적을 달성하기 위해 본 발명에서는 웹(WWW) 서비스를 제공해 주는 웹서버와,
전체 회의 그룹을 관리하는 부분으로, 다수의 클라이언트로 부터 패킷을 수신하여, 이를 적당한 클라이언트에게 전송하는 회의 관리자와,
상기 웹서버가 서버쪽에서 실행시키는 기능으로서, 웹페이지 상에 사용자가 입력한 내용에 따라 다른 일을 처리할 수 있도록 하는 CGI 기능부와,
상기 CGI 기능부에 의해 억세스 되며, 부가 서비스 제공에 필요한 데이터가 저장되어 있는 데이터베이스를 포함하여 이루어지는 서버와;
웹(WWW) 서비스를 제공해 주는 웹브라우저와,
회의그룹에 가입하거나 탈퇴하는 등의 회의그룹관련 작업을 할 경우 사용자로부터 입력을 받아 상기 서버 내의 회의관리자와 통신하는 회의패널과,
사용자로 부터 음성과 화상을 입력받고 이 내용을 전송하거나 수신하는 기능을 하는 음성/화상 처리부를 포함하여 이루어진 클라이언트를 포함하여 구성하는 것을 특징으로 하여, 하나의 서버를 통해 그룹통신을 수행할 수 있도록 한다.
또한 상기와 같은 목적을 달성하기 위해, 호전체를 추상화하는 객체로서, 호를 개시하고 종료하며, 참가자를 추가하고 삭제하는 연산을 수행하는 호(Call) 객체와;
여러 개의 소그룹으로 구성되어 있는 호를 지원하기 위한 객체로서, 호 중에 있는 일부 사용자들만을 호 내부에 소그룹으로 연결할 때 사용하는 사용자들간의 논리적 연관을 나타내는 그룹(Group) 객체와;
사용자들간에 실제로 데이터를 전송하는 연결에 대한 제어연산을 수행하는 연결(Connection) 객체와;
하나의 호에 여러 개의 미디어를 위한 연결이 존재 할 때 각 미디어간 동기 서비스를 수행하기 위한 동기(Synchronization) 객체와;
각 개인마다 유일하게 할당된 UPT 번호를 나타내는 정적으로 존재하는 개인고유번호(UPT #) 객체와;
현재 호에 참석하고 있는 사람들만을 나타내는 객체로서, 호 객체 내에서만 유일하게 존재하는 사용자(User) 객체와;
물리적으로 연결이 설정될 때 물리적 연결의 끝점을 나타내는 PC 객체를 포함하여 이루어져,
하나의 서버를 통해 그룹통신 제공시 호 제어 기능을 하는 것을 특징으로 한다.
상술한 목적 및 특징들, 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.
본 발며에서 제공하고자 하는 컴퓨터 그룹통신 장치의 전체적인 구조를 개략적으로 살펴보면, 도 1에 도시된 바와 같이, 웹서버와 회의관리자가 동작하는 워크스테이션(1)과;
호제어 및 음성/화상 처리를 위하여 네트워크 카드와, 비디오 장비(비디오 카드, 비디오 카메라, 모니터) 및 오디오 장비(사운드 카드, 마이크, 스피커)를 갖추고, 비디오와 오디오 정보를 모두 디지털화하여 전송하는 개인용 컴퓨터(PC)(2)와;
네트워크 구성에 따라 이더넷(Ethernet) 허브, 이더넷(Ethernet) 스위치 또는 ATM 스위치 등을 포함하는 스위치(3)를 포함하여 구성된다.
상기와 같은 장치를 기본 구성으로 하는 본 발명의 장치에서 제공하는 주요기능은 아래와 같다.
- 웹을 통한 화상회의 기능
- 회의 관리기능
- 부가서비스 기능
- 공유작업공간 기능
- 음성/화상 처리기능
- 데이터베이스 등록 정보관리기능
이와 같은 기능을 제공하는 본 장치의 대부분은 웹브라우저 상에서 자바 애플릿으로 구현되기 때문에 음성/화상 기능을 사용하지 않는다면 어떤 플랫폼에서도 사용될 수 있다.
또한 여러가지 기능들이 클라이언트상에 있는 것이 아니라 서버에 존재해 있다가, 사용자가 요구할 때 다운로드되어 사용되는 것이기 때문에, 서버에 변경이 생기더라도 클라이언트쪽에는 아무런 변경이 필요하지 않다.
그리고 사용자는 음성/화상 처리부만을 시스팀에 설치하면 되기 때문에 설치과정도 매우 간단하다.
상기와 같은 하드웨어적인 장치외에 컴퓨터 그룹통신 장치에서 필요로 되는 소프트웨어상의 구조를 살펴보면, 도 2에 도시된 바와 같으며, 본 장치는 기본적으로 웹(WWW)의 인터페이스를 사용해 동작하도록 되어 있다.
전체 회의그룹을 관장하는 회의 관리자가 워크스테이션에서 작동하며, 각 사용자는 웹브라우저를 통해 회의 그룹에 접속하게 된다. 웹브라우저는 화상회의 페이지에 접근하는 경우에 웹서버에게 요청해 '회의패널'이라는 자바애플릿을 다운로드한다. 클라이언트 컴퓨터에 다운로드된 자바 애플릿은 전송제어프로토콜(Transmission : 이하 TCP 라 칭한다)/IP를 이용해 회의관리자와 연결되며 이후의 모든 관리작업은 이 회의 관리자에 의해 이루어진다. 이때 웹 브라우저는 음성/화상 처리부를 헬퍼 프로그램으로 구동시킨다. 음성/화상 처리 프로그램도 회의관리자와 TCP/IP 연결을 만들어 회의그룹에 관련된 정보를 통보받는다. 이 음성/화상 처리부는 윈도우 소켓의 멀티캐스팅 기능을 사용해 음성과 화상을 송수신한다. 부가 서비스를 위한 데이터베이스의 등록과정은 웹서버에 의해 호출되는 공통게이트웨이인터페이스(Common Gateway Interface : 이하 CGI 라 칭한다) 프로그램에 의해 수행된다.
상기 각 구성요소에 대해 서버(10)와 클라이언트(20) 별로 구분하여 상세히 기술한다.
먼저 서버(10)에 내장되는 구성요소를 보면, 웹(WWW) 서비스를 제공해 주는 웹서버(11)와;
전체 회의 그룹을 관리하는 부분으로, 클라이언트(20)로 부터 패킷을 수신하여, 이를 적당한 클라이언트(20)에게 전송하는 회의 관리자(12)와;
상기 웹서버(11)가 서버(10)쪽에서 실행시키는 기능으로서, 웹페이지 상에 사용자가 입력한 내용에 따라 다른 일을 처리할 수 있도록 하는 CGI 기능부(13)와;
상기 CGI 기능부(13)에 의해 억세스 되며, 부가 서비스 제공에 필요한 데이터가 저장되어 있는 데이터베이스(14)를 포함하여 구성된다.
이때 상기 회의 관리자(12)는 자바를 사용해 독립적인 프로그램으로 구현되어 서버(10)쪽에서 항상 구동되고 있는 부로, 클라이언트(20) 내의 회의 패널(22) 및 음성/화상 처리부(23)와 연결되어 이들로부터 패킷을 받고 적당한 클라이언트에게 전달해 주는 기능을 한다.
그리고, 여러 개의 회의패널(22) 및 음성/화상 처리부(23)와 통신을 해야하므로 TCP 서버로서 동작하게 된다.
이러한 TCP 서버를 구현하기 위해 자바의 쓰레드 기능을 사용하였는 바, 회의 패널을 위한 하나의 쓰레드와 음성/화상 처리부와의 통신을 위한 쓰레드 등 모두 두개의 쓰레드에서 클라이언트(20)로 부터의 접속을 기다리다가 새로운 사용자가 접속을 시도하면 새로운 쓰레드를 더 생성한 후, 상기 새로운 클라이언트와의 접속은 새로 생성된 쓰레드가 담당하게 한다.
또한 상기 CGI 기능부(13)는 상기 데이터베이스(14)와 접속하여 부가 서비스 제공에 필요한 데이터의 등록이나 수정을 수행하는 기능을 하며, 이 CGI 기능부(13)는 대부분 데이터베이스(14)의 검색이나 변경을 필요로 하는데 이를 위해 본 발명에서는 GNU 데이터베이스 관리자(GNU DataBase Manager : GDBM)를 사용한다.
한편, 클라이언트(20)에 내장되는 구성요소를 보면, WWW 서비스를 제공해 주는 웹브라우저(21)와;
(이때 상기 웹서버(11)와 웹브라우저(21)는 모두 상용 제품을 사용한다.)
회의그룹에 가입하거나 탈퇴하는 등의 회의그룹관련 작업을 할 경우 사용자로부터 입력을 받아 상기 서버(10) 내의 회의관리자(12)와 통신하는 회의패널(22)과;
사용자로 부터 음성과 화상을 입력받고 이 내용을 전송하거나 수신하는 기능을 하는 음성/화상 처리부(23)를 포함하여 구성한다.
이때 상기 회의패널(22)은 공유 작업공간의 기능도 제공하며,맨처음 사용자가 접속할 때 서버로부터 다운로드되어 클라이언트쪽에서 실행되는 원격 기능이고, 이는 자바애플릿으로 구현되며 실행된 회의패널(22)은 항상 상기 서버(10) 내의 회의관리자(12)와 통신을 하도록 한다.
또한, 상기 음성/화상 처리부(23)는 크게 두가지로 나누어 통신을 행하는데, 하나는 서버(10) 내의 회의관리자(12)와의 통신이며, 회의관리자(12)는 회의그룹과 관련된 사항이 변경되는 경우에 음성/화상 처리부(23)에 알려주어 음성/화상 처리부(23)가 멀티캐스팅 송수신을 제대로 할 수 있게 해 준다.
또 하나의 통신은 음성/화상 정보를 모든 회의 참석자에게 멀티캐스팅하는 통신이다. 도 2에서 음성/화상처리부(23)의 프로토콜 구조에서 보여주듯이 회의관리자 통신응용은 TCP 프로토콜위에서 구현된다.
이처럼 TCP 프로토콜을 사용한 이유는 회의 제어 데이터는 매우 중요한 데이터이므로 에러가 발생하면 안되는 반면, 데이터의 실시간 전송은 별로 중요하지 않기 때문이다.
반면 음성/화상 정보는 UDP상에서 멀티캐스트 된다.
만약 어떤 사용자가 한 회의 그룹에 가입하는 경우에 그 사용자는 멀티캐스트 주소를 회의 관리자로부터 받게 되며, 음성/화상 처리부(23)는 이 멀티캐스트 주소에 가입하므로써 그 회의 그룹내에서 교환되는 모든 음성/화상 정보를 받을 수 있다.
사용자가 토큰을 소유하게 되면 그 사용자는 이제 자신이 캡쳐한 화상정보를 그 멀티캐스트 주소로 보내므로써 다른 사용자에게 화상을 전송할 수 있다.
음성 정보는 회의 패널이 회의 그룹에 가입하면 토큰에 관계 없이 전송된다.
한편, 본 발명에서 구현한 컴퓨터 그룹통신 장치의 호모델의 객체모델과 각 객체의 상태천이도를 설명하면, 도 3과, 도 4 에서 부터 도 9에 도시된 바와 같다.
본 장치의 호 모델은 도 3에 도시된 바와 같이 호(Call), 그룹(Group), 연결(Connection), 동기(Synchronization), 개인고유번호(UPT #), 사용자(User), PC의 기본객체들로 구성된다.
상기 호(Call) 객체는 호전체를 추상화하는 객체로서 호를 개시하고 종료하며, 참가자를 추가하고 삭제하는 연산을 수행한다.
그룹(Group) 객체는 여러 개의 소그룹으로 구성되어 있는 호를 지원하기 위한 객체로서 호 중에 있는 일부 사용자들만을 호 내부에 소그룹으로 연결할 때 사용하는 사용자들간의 논리적 연관을 나타내는 객체이다.
연결(Connection) 객체는 사용자들간에 실제로 데이터를 전송하는 연결에 대한 제어연산을 수행하는 객체이다. 즉, 연결 객체는 특정 유형 미디어 데이터를 전송하기 위한 속성과 연산을 포함하여 각 연결을 개별적으로 제어할 수 있으므로 각 사용자 시스팀 능력의 상이함이나 변화에도 대처할 수 있다.
동기(Synchronization) 객체는 하나의 호에 여러 개의 미디어를 위한 연결이 존재 할 때 각 미디어간 동기 서비스를 수행하기 위한 객체이다.
개인고유번호(UPT #) 객체는 각 개인마다 유일하게 할당된 개인고유 번호를 나타내는 정적으로 존재하는 객체이다.
사용자(User) 객체는 현재 호에 참석하고 있는 사람들만을 나타내는 객체로서,호 객체 내에서만 유일하게 존재한다. 개인고유번호(UPT #) 객체와 사용자(User) 객체를 분리하므로써, 한 개인이 둘이상의 호에 참석하는 경우를 표현 할 수 있다. 즉, 하나의 개인고유번호 객체에 각 호에 대한 사용자 객체가 만들어지므로 한 사람이 둘 이상의 호에 참석하는 것을 나타낼 수 있다.
PC 객체는 물리적으로 연결이 설정될 때 물리적 연결의 끝점을 나타내는 객체이다. 이처럼 호의 종단점을 나타내는데 있어서 개인고유번호 객체와 PC 객체로 분리하므로써, 개인 통신 서비스(Personal Communication Service : PCS)와 같은 서비스도 개인고유번호 객체와 PC 객체의 관계로써 효과적으로 표현 할 수 있다.
이상과 같은 각 객체의 속성과 연산을 상세히 살펴보면 다음과 같다.
① 호(이하 Call라 칭한다) 객체
Call 객체는 다음과 같은 속성을 갖는다.
호 식별번호(Call ID) : 호 관리자가 여러 개의 Call 객체를 구분하기 위한 식별자.
개인고유번호 리스트(UPT # list) : Call을 구성하는 사용자의 UPT #를 나타내는 정보.
그룹 테이블(Group Table) : Call을 구성하는 Group 객체에 대한 참조 정보.
호 타입(Call Type ) : 이 호의 속성을 나타내는 정보.
호에 대한 주석(Call Conetxt) : 호 종류가 회의 호인 경우 그 회의에 관한 정보(회의 개시자, 회의 주제, 회의 종류, 시작 시각, 예상종료 시각등)
상기와 같은 속성을 갖는 Call 객체는 호 생성(Establish Call)라는 연산을 수행하므로써 생성된다.
분산된 방식으로 제어되는 장치에서는 생성된 Call 객체를 개시자가 유지 관리하면서 연결하고자 하는 다른 사용자들과 하나의 그룹을 만들고 연결(Connection)을 설정하여 여러가지 인자들을 협상한다.
본 장치에서는 중앙 집중된 방식으로 제어되는 장치를 기반으로 하므로 개시자가 호 생성(Establish Call) 라는 연산을 수행하라는 메시지를 호 관리자에게 보내면, 호 관리자는 Call 객체를 생성하고 해당 그룹, 연결 객체를 자동으로 생성한다.
이 때 다른 사용자들과 제어 정보를 교환하여 협상한다.
또한 미리 예약한 호와 제 3자가 설정한 호의 경우 호가 유보되었을 때 실제 호를 시작하기 위해 시작 호(Start Call) 연산을 수행한다.
Call 에 참석자를 초대하거나 Call에 속하지 않은 참석자를 Call에 참여시키고자 할 때에는 호 추가(Increase Call) 연산을 수행하고, 참석자를 Call로 부터 축출하거나 참여한 Call로 부터 탈퇴시키고자 할 때에는 호 축소(Decrease Call) 연산을 수행한다.
또한 Call을 해제할 때에는 호 소멸(Release Call) 연산을 수행한다.
회의중에 이미 호에 참석한 사람들과 사적회담이나 부회의를 하는 효과를 얻기 위해서는 그룹 객체를 첨가하는 그룹부가(Add Group) 연산을 수행하며, 부회의를 해지하기 위해서는 해당 Call 객체에 그룹삭제(Delete Group) 연산을 수행한다.
이미 생성된 호와 통합하기위해서는 통합하는 Call 객체에 호 병합(Merge Call) 연산을 수행하고, 통합되는 Call 객체에 호 피병합(BeMerged Call)연산을 수행한다.
이외에도 부가적으로 Call 객체의 속성을 얻을 수 있는 입수연산(Get 연산) 이 있다. 이러한 Call 객체에서 수행되는 연산들은 하위객체인 그룹(Group) 객체나 채널(Channel) 객체, 동기(Synchronization) 객체들의 연산을 야기 할 수 있으며 하위 객체들의 연산이 수행되어야만 Call 객체의 연산도 종료된다.
이와 같은 연산을 수행하는 과정을 나타낸 상태 천이도가 도 4에 도시되어 있으며, 각 과정에 대한 상세 설명은 다음 표 1에 나타냈다.
<표 1> 호 객체 상태 천이도 과정 설명표
상태 실행내용(C20 : Activity)
C1 : Establishing(생성) Call 객체 생성(call ID 할당)
C2 : Making(마킹) UPT # list에 넣음User 객체 생성(Establish User 호출)Group 객체 생성(Establish group 호출)Group Table에 생성한 Group 객체를 넣음Modify NameServer 호출
C3 : Pending(펜딩) 해당 Group으로 Pend Group 호출
C4 : Connecting(접속) 해당 Group으로 Start Group 호출
C5 : Increasing(추가) Establish User 호출 (계속 첨가되는 User 객체 생성 위함)UPT # LIST 확장Increase Group 호출(첨가되는 참가자를 그룹에 넣기 위함)Modify NameServer 호출
C6 : Decreasing(축소) UPT # list 축소 ==> 만약(퇴장하는 사람 ?이면 Release Call 호출, 아니면 Decrease Group 호출)Modify NameServer 호출
C7 : Merging(병합) 하위 Call의 main group 및 subgroup을 알아내고 하위 Call의 UPT # list를 알아낸다UPT # list 확장Merge Group 호출Modify NameServer 호출합쳐지는 Call의 subgroup을 포함(Add Group사용하여 Group Table의 변경)gkqcuwlsms call(하위 Call) 의 Release Group 호출)
C8 : BeMerged(피병합) BeMerged 호출
C9 : Adding(부가) 부회의를 나타내는 subgroup생성 (Establish group 호출)Group Table 확장
C11 : Releasing(소멸) 해당 Group 객체 소멸(Release Group 호출)Modify NameServer 호출Call 객체 소멸
② 그룹(이하 Group이라 칭한다) 객체
Group 객체는 아래와 같은 속성으로 규정된다.
그룹 식별번호(Group ID) : Call 객체내에 존재하는 여러 개의 Group 객체를 구별하기 위한 식별자.
사용자 리스트(User list) : Group에 속하는 사용자 객체들에 관한 참조 정보.
연결 테이블(Connection Table ) : Group내의 데이터를 전송하는 연결 객체에 관한 참조정보.
상기와 같은 속성을 갖는 Group 객체에 적용되는 연산은 보통 상위객체인 Call 객체에서 야기되거나 연산을 요구하는 메시지를 받았을 때 수행된다.
Group 객체에서 적용되는 연산중 대표적인 것으로 Group 객체를 생성하는 그룹 생성(Establish Group) 연산, Group 객체를 소멸하는 그룹 소멸(Release Group) 연산과, 통신중에 참석하는 User를 늘리는 그룹추가(Increase Group) 연산, 참석하는 User를 줄이는 그룹축소(Decrease Group) 연산이 있다.
사용자의 능력(Capability)의 변화등으로 인한 연결의 추가나 삭제에는 연결부가(Add Connection), 연결삭제(Delete Connection)연산이 사용된다.
또한 상위 Call 객체의 통합으로 인해 야기되는 그룹병합(Merge Group), 그룹피병합(BeMerged Group) 연산이 있다.
이외에도 부가적으로 Group 객체의 속성을 얻을 수 있는 입수(Get) 연산이 있다.
이와 같은 연산을 수행하는 과정을 나타낸 상태 천이도가 도 5에 도시되어 있으며, 각 과정에 대한 상세 설명은 다음 표 2에 나타냈다.
<표 2> 그룹 객체 상태 천이도 과정 설명표
상태 실행내용(C20 : Activity)
G1 : Establishing(생성) Group 객체 생성(Group ID 할당)User List에 넣음Group Context 넣음지원하는 미디어에 따라 Connection 객체들 생성Connection Table 에 넣음필요한 경우 Synchronization 객체 생성
G3 : Pending(펜딩) 해당 Connection으로 Pend Connection 호출
G4 : Connecting(접속) 해당 Connection으로 Start Connection 호출
G5 : Increasing(추가) User List 확장Increase Connection 호출(첨가되는 참가자의 capability에 따라 적절한 Connection 넣기 위함)
G6 : Decreasing(축소) User List 축소Release User 호출(퇴장하는 사용자의 User 객체를 삭제하기 위함Release Connection 호출Modify NameServer 호출
G7 : Merging(병합) 합쳐지는 Group을 구성하고 있는 Connection 을 알아낸다.Merge Connection 호출합쳐지는 Group을 구성하는 User를 알아낸다.User List 확장
G8 : BeMerged(피병합) BeMerged Connection 호출
G9 : Adding(부가) 첨가되는 미디어에 따라 이미 그 미디어에 Connection이 만들어져 있으면 Increase Conncetion 호출, 만들어져 있지 않으면 Establish Connection 호출Connection Table에 넣음
G11 : Releasing(소멸) Release Connection 호출Release user 호출Modify NameServer 호출Group 객체 소멸
③ 연결(이하 Connection이라 칭한다) 객체
Connection 객체의 속성과 연산은 아래와 같다.
연결 식별자(Connection ID) : Group 객체가 참조하도록 Connection 객체를 구별하기 위한 식별자.
토폴로지(Topology) : 각 PC들이 어떤 모양으로 연결되는 지를 나타내는 것으로 PC를 노드로 하고 PC의 방향성있는 연결을 에지(Edge)로 하는 방향성 그래프로 각 PC들의 접근방식(송/수신)을 표현한다.
미디엄(Medium) : 전송 미디어 종류.
코딩 스키머(Coding scheme) : 각 미디어에 따른 정보를 전송할 때 그 미디어가 어떤 방식에 의해 코딩되는지를 나타내는 정보.
서비스 품질(QoS) : Connection 객체의 서비스 품질 요구 정도.
멀티캐스트 주소(Multicast Address) : 이 Connection으로 데이터를 전송할 때 사용하는 주소정보.
주석문(Context) : 지원하는 미디어 종류(Sync 유무 포함), 토큰 등
Connection 객체의 속성중 Connection 객체를 구별할 수 있는 것으로 Connection ID외에 미디엄(Medium)과 멀티캐스트 주소(Multicast Address)를 들 수 있다.
미디엄(Medium)은 연결에 전송되는 데이터의 속성을 나타내고 있으므로 연결하는 PC 객체의 특정 미디어에 해당하는 능력(Capability)을 사용한다.
이 능력(Capability)은 포트(Port)정보를 나타내고 있으므로 멀티캐스트 주소와 함께 유일하게 연결을 구별할 수 있다. 이미 사용하고 있는 주소를 중복하여 사용하지 않기 위해 멀티캐스트 주소는 중앙의 주소관리자(MAAS)에서 할당받는다.
특정 Group에 해당하는 Connection 객체를 주어진 서비스 품질(QoS)로 생성하는 연산으로 연결 생성(Establish Connection) 연산이 있고 Connection 객체를 소멸하는 연산으로 연결 소멸(Release Connection) 연산이 있다.
Connection 객체의 참석자인 PC객체가 첨가되었거나 탈퇴되었을 때는 연결추가(Increase Connection), 연결축소(Decrease Connection) 연산이 사용된다. 이 연산들은 주로 참석자의 변동에 대한 것으로 상위의 Call이나 Group 객체에서 불려져서 Connection 객체로 야기된다. 하지만 특수한 경우로 참석자의 접속능력(Capability)의 변화로 직접 추가연결 연산, 소멸연결 연산이 불려질 수 있다.
또한 호중에 Connection 객체에 참석하는 PC 객체의 변화나 PC객체의 연결 형태의 변화가 필요한 때는 토폴로지 수정(Modify Topology )연산을 수행한다.
멀티캐스트 주소(Multicast Address)는 주소 관리자로 부터 할당받아 결정되며 해당 Connection에 데이터를 전송할 때 사용하는 연산은 전송데이터(Send Data)이다.
또한 부가적으로 각 속성들을 얻거나 고정하는 입수(Get), 셋(Set) 연산이 있다. 공유공간을 위한 토큰 관리에 사용되는 연산으로 "Token Grab, Token Release, Token Please, Token Give"가 있다.
이와 같은 연산을 수행하는 과정을 나타낸 상태 천이도가 도 6에 도시되어 있으며, 각 과정에 대한 상세 설명은 다음 표 3에 나타냈다.
<표 3> 접속 객체 상태 천이도 과정 설명표
상태 실행내용 (Cn20 : Activity)
Cn1 : Establishing(생성) Conncetion 객체 생성 (Connection ID 할당)Toplogy에 넣음Medium, Coding scheme, QoS 넣음
Cn4 : Connecting(접속) Multicast Address 할당 (MAAS에 의뢰)실제 연결 수행(SC에 의뢰)
Cn5 : Increasing(추가) Topology 축소Multicast Address 확장 (MAAS에 의뢰)실제연결 수행(SC에 의뢰)
Cn6 : Decreasing(축소) Topology 축소Multicast Address를 구성하는 PC list 축소실제 연결을 끊음 (SC에 의뢰)
Cn7 : Merging(병합) 하위 Connection의 Topology를 알아낸후 Topology 확장QoS, Coding Scheme 협상필요한 경우 Multicast Address를 구성하는 PC list 확장실제 연결을 바꿈
Cn9 : ModifyingTopology(토폴리지 수정) Topology의 변경필요한 경우 Multicast Address를 구성하는 PC list 확장실제연결을 바꿈Name Sever 바꿈
Cn10 : ModifyingQoS(QoS 수정) QoS의 변경
Cn11 : Releasing(소멸) Connection 객체 소멸사용하고 있는 Multicast Address를 없앰 (MAAS에 의뢰)실제연결을 끊음
④ 동기(이하 Synchronization라 칭한다) 객체
Synchronization 객체의 속성과 연산은 아래와 같다.
동기 식별자(Sync ID) : Synchronization 객체 식별자.
연결 테이블(Connection Table) : 동기화되는 Connection들에 관한 참조정보.
Synchronization 객체에 적용되는 연산으로는 Synchronization 객체를 설정하고 해제하는 동기 생성(Establish Sync) 연산과 동기소멸(Release Sync) 연산이 있고, 해당 Synchronization 객체에 Connection을 새로 포함하거나 기존의 Connection을 탈퇴시킬 때 수행되는 동기추가(Increase Sync) 동기축소,(Decrease Sync)연산이 있다.
이와 같은 연산을 수행하는 과정을 나타낸 상태 천이도가 도 7에 도시되어 있으며, 각 과정에 대한 상세 설명은 다음 표 4에 나타냈다.
<표 4> Synchronization 객체 상태 천이도 과정 설명표
상태 실행내용 (S10 : Activity)
S1 : Establishing(생성) Synchronization 객체 생성 (Sync ID 할당)Connection Table에 동기화할 Connection들 넣음
S2 : Increasing(추가) 첨가될 동기화할 Connetcion을 Connection Table에 넣음
S3 : Decreasing(축소) 동기화에서 제외될 Connetion을 Connetion Table에 넣음
S4 : Increasing(추가) Synchronization 객체
⑤ 개인고유번호(이하 UPT # 라 칭한다) 객체
UPT #객체의 속성에는 사용자를 유일하게 구별하는 UPT 번호가 있다.
적용되는 연산은 UPT #객체를 생성하는 개인고유번호 생성 (Establish UPT #)연산, UPT 객체를 소멸시키는 개인고유번호 소멸 (Release UPT #) 연산이 있다.
개인 통신 서비스를 제공하기 위해서는 사용자가 어떤 네트워크 접속점에 있는 지를 나타내는 데에 UPT #객체와 PC객체의 관계를 이용하면 이러한 관계를 유지하는 특수한 네임서버(Name Server)를 사용하여 사용자가 어느 네트워크 접속점에 위치했는지를 알 수 있다.
이와 같은 연산을 수행하는 과정을 나타낸 상태 천이도가 도 8에 도시되어 있으며, 각 과정에 대한 상세 설명은 다음 표 5에 나타냈다.
<표 5> UPT 객체 상태 천이도 과정 설명표
상태 실행내용 (UP10 : Activity)
UP1 : Establishing(생성) UPT # 객체 생성
UP2 : Releasing(소멸) UPT # 객체 소멸
⑥ 사용자(이하 User라 칭한다) 객체
User 객체의 속성은 아래와 같다.
사용자 식별자(User ID) : Group 객체 내에 속하는 여러 User 객체를 구별하기위한 식별자.
우선순위(Priority) : User객체가 호에서 공유공간을 사용할 때 토큰(Token)의 접근순서를 규정하기 위한 우선순위.
사용자 객체에 적용되는 연산으로는 사용자 객체를 생성하고 소멸하는 사용자 생성(Establish User) 연산과 사용자 소멸(Release User) 연산이 있다.
이와 같은 연산을 수행하는 과정을 나타낸 상태 천이도가 도 9에 도시되어 있으며, 각 과정에 대한 상세 설명은 다음 표 6에 나타냈다.
<표 6> User 객체 상태 천이도 과정 설명표
상태 실행내용 (U10 : Activity)
U1 : Establishing(생성) User 객체 생성 (User ID 할당)Priority 넣음
U2 : Releasing(소멸) User 객체 소멸
⑦ PC 객체
PC 객체의 속성은 아래와 같다.
PC 식별자(PC ID) : PC 객체를 참조하는 객체들이 PC 객체를 구별하기 위한 식별자.
신호 능력(Signal Capability) : 호의 연결과 같은 신호 데이터 전송시 사용되는 포트 정보와 사용유무.
데이터 능력(Data Capability) : 데이터 전송시 사용되는 포트 정보와 사용유무.
비디오 능력(Video Capability) : 비디오 데이터 전송시 사용되는 포트정보와 사용유무.
오디오 능력(Audio Capability) : 오디오 데이터 전송시 사용되는 포트 정보와 사용유무.
PC 객체의 속성을 미디어에 따른 포트들과 신호를 위해 사용되는 포트로 나누었다. 이 포트들은 데이터 미디어 종류에 관계 없이 같은 것을 사용할 수도 있으나, 신호와 데이터의 분리를 위해 신호와 데이터는 다른 포트를 사용하는 것이 바람직하다. 이 객체에 사용되는 연산은 PC 객체를 생성, 변경, 소멸하는 PC 생성(Establish PC) 연산과, PC 수정(Modify PC) 연산과, PC 소멸(Release PC) 연산이 있다.
이와 같은 연산을 수행하는 과정을 나타낸 상태 천이도가 도 10에 도시되어 있으며, 각 과정에 대한 상세 설명은 다음 표 7에 나타냈다.
<표 7> PC 객체 상태 천이도 과정 설명표
상태 실행내용 (P10 : Activity)
P1 : Establishing(생성) PC 객체 생성
P2 : Releasing(소멸) PC 객체 소멸
상기와 같이 도 4에서 부터 도 10에서 객체들의 시간에 따른 변화를 나타내기 위한 동작모델의 표현도구인 상태도(State Diagram)를 사용하여 객체모델에서 정의한 각 객체들을 표현하였다.
호 모델은 각 객체의 동적인 생성이 중시되기 때문에 상태를 객체가 존재후의 상태로부터 표현하지 않고 널(Null)이란 상태를 두어 객체가 존재하지 않는 상태로부터 표현하였다.
도 11a ∼ 11k는 상기와 같은 각 객체 모델들을 사용하여 컴퓨터 그룹통신을 실행할 경우 그룹통신 장치의 회의관리절차를 나타내는 도면으로, 본 장치의 회의관리 기능은 회의그룹의 생성, 참가, 초청, 방출, 탈퇴 및 회의그룹종료등으로 구성되고, 이러한 기능은 클라이언트(20) 내의 웹브라우저(21)에 있는 회의패널(22)을 이용하여, 서버(10) 내의 회의관리자(12)와 메시지를 주고받으므로써 동작하게 된다.
또한 회의 그룹에 공통된 자원을 관리하기 위하여 토큰을 사용하며, 회의 그룹을 생성함과 동시에 토큰이 생성되어 회의 그룹의 개시자가 토큰을 자동적으로 보유하게되고, 토큰에 대한 관리도 회의 그룹의 개시자가 수행한다.
회의 그룹의 개시자는 언제든지 토큰을 보유하고 있는 회의 참석자로부터 토큰을 빼앗은 후 다른 구성원에게 줄 수 있으며 토큰은 회의 그룹을 종료함과 동시에 사라지게 된다.
이밖에 회의 패널(22)은 회의 관리자(12)에게 회의 그룹에 대한 정보와 각 회의 그룹의 구성원에 대한 정보를 요구하여 사용할 수 있다.
도 11a는 정보가 실리는 기본적인 프레임 구조를 나타내는 도면으로, '메시지 종류', '그룹 이름', '사용자 이름' 및 '플래그'로 구성되어 전송된다.
도 11b는 컴퓨처 그룹 회의를 실행하기 위해 장치를 등록하는 과정을 나타내는 도면으로, 새로운 회의 패널에서 회의 관리자(12) 측으로 새로운 사용자 등록을 위한 요청메시지(NEW_USER_REQ)가 전송되면, 회의 관리자(12) 측에서는 이에 대한 응답신호로 확인 메시지(NEW_USER_CONF)를 전송한다.
도 11c는 회의 그룹을 생성하는 과정을 나타내는 도면으로, 이미 등록이 된 회의패널(22)에서 새로운 그룹을 생성하고자 하는 요구 메시지(NEW_GROUP_REQ)를 회의 관리자(12) 측으로 전송하면, 회의 관리자(12)에서는 그에 대한 응답신호로 확인 메시지(NEW_GROUP_CONF)를 전송한다.
도 11d는 회의가 추제된 상태에서 회의를 주체한 사용자가 다른 사람을 회의에 초정할 경우 수행되는 과정을 나타내는 도면으로, 주인인 회의패널(22)에서 회의관리자(12) 측으로 초청요구 메시지(INVITE_REQ)를 전송하면, 회의 관리자(12)에서는 상기 회의 주체자가 초정하고자하는 사용자의 클라이언트 회의패널(초청된 회의패널임)로 상기 초청 요구를 수용하라는 요구 메시지(INVITE_ACCEPT_REQ)를 전송한다.
상기 초청 메시지를 받은 회의패널에서는 이에 대한 확인 메시지(INVITE_ACCEPT_CONF)를 확인 관리자(12)로 전송하고, 확인 관리자(12)에서는 상기 받은 메시지에 따라 상기 초청을 요구한 주인 회의패널(22)로 초청 응답 메시지(INVITE_CONF)를 전송한다.
도 11e는 회의 주체자가 회의에 참가한 구성원 중 축출하고 싶은 가입자를 방출하는 과정을 나타내는 도면으로, 주인인 회의패널(22)에서 방출 요구 메시지(EXPEL_REQ)를 화의 관리자(12)에게로 전송하고, 회의 관리자(12)는 이에 대한 정보 메시지(EXPEL_INFO)를 그룹의 모든 구성원 중 해당 구성원에게 전송한 다음 상기 주인 회의패널(22) 측으로는 방출 확인 메시지(EXPEL_CONF)를 전송한다.
도 11f는 회의 그룹에 가입을 원하는 신규 가입자의 가입 과정을 나타내는 도면으로, 가입을 원하는 회의패널에서 참가하고자 하는 그룹 또는 참가하고자하는 사용자 요구 메시지(JOIN_GROUP_REQ, OJOIN_USER_REQ)를 회의 관리자(12)로 전송한다.
회의 관리자(12)에서는 새로운 가입자가 회의에 참가를 요구하고 있으며, 이에 대한 응답을 바라는 메시지(JOIN_ACCEPT_REQ)를 주인인 회의패널(22)로 전송한다.
상기 요구 메시지를 받은 주인 회의패널(22)은 이에 대한 확인 메시지(JOIN_ACCEPT_CONF)를 회의 관리자(12)로 전송하고, 회의 관리자(12)에서는 상기 가입을 원하는 회의 패널 측으로 요청을 완료하였다라는 확인 메시지(JOIN_CONF)를 전송한다.
도 11g는 회의 그룹에 가입된 가입자가 회의 탈퇴를 요구하는 과정을 나타내는 도면으로, 탈퇴를 원하는 회의패널에서 탈퇴요구 메시지(DROP_REQ)를 회의 관리자(22) 측으로 전송하고, 회의 관리자(12)에서는 그룹에 있는 모든 사용자들에게 상기 가입자가 탈퇴한 정보를 저장한 메시지(DROP_INFO)를 전송한다.
도 11h는 그룹의 주인 회의 패널에서 회의를 종료하는 과정을 나타내는 도면으로, 그룹의 주인 회의 패널(22)에서 회의종료요구 메시지(DROP_REQ, EXIT_REQ, EXPEL_REQ)를 회의 관리자(22) 측으로 전송하고, 회의 관리자(12)에서는 회의를 종료한다라는 정보 메시지(DEL_GROUP_INFO)를 그룹에 있는 모든 사용자들에게 전송한다.
도 11i는 회의를 주체한 그룹의 주인이 토큰을 관리하는 과정을 나타내는 도면으로, 토큰을 변경하겠다라는 메시지(CHANGE_TOKEN)를 회의 관리자(12)측으로 전송하면, 회의 관리자(12)에서는 초청된 많은 회의패널 중에서 현재 토큰을 소유한 회의 패널에게는 토큰을 제거하는 메시지(DEPRIVE_TOKEN)를 전송하고, 반대로 토큰을 넘겨줄 회의패널에게는 토큰 소유 메시지(GIVE_TOKEN)를 전송한다.
도 11j는 그룹 정보를 주고받는 과정을 나타내는 도면으로, 회의 패널(22)에서는 회의 관리자(12)에게로 현재 통신 중인 그룹에 대한 정보를 요구하는 메시지(GROUP_INFO_REQ)를 전송하고, 회의 관리자(12)에서는 해당하는 그룹 정보를 전송(GROUP_INFO)한다.
이때 메시지의 프레임 구조를 살펴보면 그룹 정보(GROUP_INFO) 임을 나타내는 피드와, 그룹수를 나타내는 필드와, 그룹이름을 나타내는 복수의 필드들로 이루어진다.
도 11kj는 그룹 구성원의 정보를 주고받는 과정을 나타내는 도면으로, 회의 패널(22)에서는 회의 관리자(12)에게로 현재 통신 중인 그룹 구성원에 대한 정보를 요구하는 메시지(MEMBER_INFO_REQ)를 전송하고, 회의 관리자(12)에서는 해당하는 그룹 구성원 정보를 전송(MEMBER_INFO)한다.
이때 메시지의 프레임 구조를 살펴보면 그룹 구성원 정보(MEMBER_INFO) 임을 나타내는 피드와, 구성원수를 나타내는 필드와, 구성원 이름을 나타내는 복수의 필드들로 이루어진다.
한편, 상기와 같이 동작되는 컴퓨터 그룹 통신은 모두에게 개방되어 있는 웹이란 환경에서 동작하도록 만들어져 있기 때문에 어떠한 사용자이든지 접속이 가능하게 되어 있다.
이에 따라 사용자를 인증하는 과정이 필요하게 되는 바, 본 발명의 인증방법을 설명하면 도 12에 도시된 바와 같이, 본 장치에서는 사용자 정보가 매번 변하도록하고 실질적인 사용자 인증은 웹서버(11) 내에서 일어나도록 하였다.
일단 사용자는 이 장치에 접속하기 전에 자신의 사용자 이름과 패스워드를 입력해야 하며, 입력된 정보는 웹서버(11)에게 전달되고, 웹서버(11)는 이 정보를 패스워드 확인 프로그램에 전달한다.
패스워드 확인 프로그램에서는 입력된 정보가 정확한지를 확인한 후 인증된 사용자인 경우는 0-99999999 사이의 난수를 발생시켜 회의패널(실제로는 회의패널 내의 자바 애플릿으로 입력됨)에게 키 인자로 알려준다.
이와 동시에 패스워드 확인 프로그램에서는 항상 회의 관리자(12)와의 TCP 연결을 하나 유지하고 상태에서, 이처럼 새로운 사용자 인증이 끝난 경우에는 회의 관리자(12)에게 사용자 이름과 상기 키 인자를 알려준다.
인자로 이 key를 알게된 회의 패널(22)은 회의 관리자(12)에게 새로운 사용자로 접속할 때 패킷안에 자신의 사용자 이름과 상기 키 인자를 넣어서 전송한다.
회의 관리자(12)는 이 정보를 자신이 갖고 있는 값과 비교해 같은 경우에 이 사용자에게 서비스를 해주고, 그렇지 않은 경우에는 불법적인 사용자로 간주하고 서비스를 해주지 않는다. 새로 서비스를 해 주게되는 경우에는 가지고 있던 키값을 지우므로써 다른 사용자가 다시 같은 키를 사용할 수 없도록 한다.
이상에서 상세히 설명한 바와 같이 본 발명은 멀티미디어 시스팀, 고속통신망, 서버등을 종합적으로 활용하여 시간적, 공간적으로 분산된 사용자들이 공동 작업을 협동하여 수행할 수 있는 컴퓨터 그룹통신형 서비스 장치를 제공하므로써, 시공간적으로 분산된 사용자들이 공동작업을 할 수 있는 그룹통신 등의 여러 분야에 활용가능하고, B-ISDN 응용서비스로서 제공시 저가에 보급가능한 경제적인 잇점이 있다.
또한 본 발명에서 필요한 장치의 대부분은 웹브라우저 상에서 자바 애플릿으로 구현되기 때문에 음성/화상 기능을 사용하지 않는다면 어떤 플랫폼에서도 사용될 수 있어, 효율적, 실용적인 그룹통신 제어를 가능하게 한다.
아울러 본 발명의 바람직한 실시예들은 예시의 목적을 위해 개시된 것이며, 당업자라면 본 발명의 사상과 범위안에서 다양한 수정, 변경, 부가등이 가능할 것이며, 이러한 수정 변경 등은 이하의 특허 청구의 범위에 속하는 것으로 보아야 할 것이다.

Claims (23)

  1. 웹(WWW) 서비스를 제공해 주는 웹서버와,
    전체 회의 그룹을 관리하는 부분으로, 다수의 클라이언트로 부터 패킷을 수신하여, 이를 적당한 클라이언트에게 전송하는 회의 관리자와,
    상기 웹서버가 서버쪽에서 실행시키는 기능으로서, 웹페이지 상에 사용자가 입력한 내용에 따라 다른 일을 처리할 수 있도록 하는 공통 게이트웨이 인터페이스(CGI) 기능부와,
    상기 CGI 기능부에 의해 억세스 되며, 부가 서비스 제공에 필요한 데이터가 저장되어 있는 데이터베이스를 포함하여 이루어지는 서버와;
    웹(WWW) 서비스를 제공해 주는 웹브라우저와,
    회의그룹에 가입하거나 탈퇴하는 등의 회의그룹관련 작업을 할 경우 사용자로부터 입력을 받아 상기 서버 내의 회의관리자와 통신하는 회의패널과,
    사용자로 부터 음성과 화상을 입력받고 이 내용을 전송하거나 수신하는 기능을 하는 음성/화상 처리부를 포함하여 이루어진 클라이언트를 포함하여 구성하는 것을 특징으로 하여,
    하나의 서버를 통해 그룹통신을 수행할 수 있도록 하는 컴퓨터 그룹통신 장치.
  2. 제 1항에 있어서,
    상기 회의 관리자는 독립적인 기능으로 구현되어 서버쪽에서 항상 구동되고 있는 부로, 여러 개의 회의패널 및 음성/화상 처리부와 통신을 행하기 위해, 전송제어 프로토콜(TCP) 서버로서 동작하며,
    상기 TCP 서버를 구현하기 위해, 회의 패널을 위한 하나의 쓰레드와, 음성/화상 처리부와의 통신을 위한 쓰레드를 사용하고, 새로운 사용자가 접속을 시도하면 새로운 쓰레드를 더 생성하여 접속을 담당하도록 하는 것을 특징으로 하는 컴퓨터 그룹통신 장치.
  3. 제 1항에 있어서,
    상기 회의패널은 공유 작업공간의 기능을 제공하고, 맨처음 사용자가 접속할 때 상기 서버로 부터 다운로드되어 클라이언트쪽에서 실행되는 원격 기능이며, 항상 상기 서버 내의 회의관리자와 통신을 하도록 설정되어 있는 것을 특징으로 하는 컴퓨터 그룹통신 장치.
  4. 제 1항에 있어서,
    상기 음성/화상 처리부는 멀티캐스팅 송수신을 정확히 수행하기 위해, 상기 회의 관리자와 항상 통신을 행하여, 회의그룹과 관련된 사항이 변경될 때마다 회의 관리자로 부터 전송되는 변동사항을 수신하는 통신과,
    음성/화상 정보를 모든 회의 참석자에게 멀티캐스팅하는 통신을 수행하는 것을 특징으로 하는 컴퓨터 그룹통신 장치.
  5. 호전체를 추상화하는 객체로서, 호를 개시하고 종료하며, 참가자를 추가하고 삭제하는 연산을 수행하는 호(Call) 객체와;
    여러 개의 소그룹으로 구성되어 있는 호를 지원하기 위한 객체로서, 호 중에 있는 일부 사용자들만을 호 내부에 소그룹으로 연결할 때 사용하는 사용자들간의 논리적 연관을 나타내는 그룹(Group) 객체와;
    사용자들간에 실제로 데이터를 전송하는 연결에 대한 제어연산을 수행하는 연결(Connection) 객체와;
    하나의 호에 여러 개의 미디어를 위한 연결이 존재 할 때 각 미디어간 동기 서비스를 수행하기 위한 동기(Synchronization) 객체와;
    각 개인마다 유일하게 할당된 UPT 번호를 나타내는 정적으로 존재하는 개인고유번호(UPT #) 객체와;
    현재 호에 참석하고 있는 사람들만을 나타내는 객체로서, 호 객체 내에서만 유일하게 존재하는 사용자(User) 객체와;
    물리적으로 연결이 설정될 때 물리적 연결의 끝점을 나타내는 PC 객체를 포함하여 이루어져,
    하나의 서버를 통해 그룹통신 제공시 호 제어 기능을 하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  6. 제 5항에 있어서,
    상기 호 객체는 호 관리자가 여러 개의 Call 객체를 구분하기 위한 식별자인 호 식별번호(Call ID)와;
    호를 구성하는 사용자의 UPT 번호를 나타내는 정보인 개인고유번호 리스트(UPT # list)와;
    호를 구성하는 그룹 객체에 대한 참조 정보인 그룹 테이블(Group Table)과;
    이 호의 속성을 나타내는 정보인 호 타입(Call Type)과;
    호 종류가 회의 호인 경우 그 회의에 관한 정보를 나타내는 호에 대한 주석(Call Conetxt)을 포함하여 구성하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  7. 제 5항에 있어서,
    상기 호 객체는 호 생성(Establish Call) 연산을 수행하여 호를 생성하고;
    분산된 방식으로 제어되는 장치에서는 생성된 호 객체를 개시자가 유지 관리하면서 연결하고자 하는 다른 사용자들과 하나의 그룹을 만들고 연결을 설정하여 여러가지 인자들을 협상하며;
    중앙 집중된 방식으로 제어되는 장치에서는 개시자가 호 생성 연산수행 메시지를 호 관리자에게 보내면, 호 관리자는 호 객체를 생성하고 해당 그룹, 연결 객체를 자동으로 생성하며;
    미리 예약한 호와 제 3자가 설정한 호의 경우 호가 유보되었을 경우에는 실제 호를 시작하기 위해 시작 호(Start Call) 연산을 수행하며;
    그룹 통신을 통한 회의 개시시 회의 관리 기능을 수행하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  8. 제 5항에 있어서,
    상기 회의 관리 기능에 수행되는 호 객체의 연산으로는 호에 참석자를 초대하거나 호에 속하지 않은 참석자를 호에 참여시키고자 할 경우의 호 추가(Increase Call) 연산과;
    참석자를 호로 부터 축출하거나 참여한 호로 부터 탈퇴시키고자 할 경우의 호 축소(Decrease Call) 연산과;
    호를 해제하는 호 소멸(Release Call) 연산과;
    회의중에 이미 호에 참석한 사람들과 사적회담이나 부회의를 하는 효과를 얻기 위해, 그룹 객체를 첨가하는 그룹부가(Add Group) 연산과;
    부회의를 해지하기 위한 해당 호 객체의 그룹삭 (Delete Group) 연산과;
    이미 생성된 호와 통합을 위한 호 병합(Merge Call)연산과;
    상기 통합되는 호 객체에 대한 호 피병합(BeMerged Call) 연산과;
    호 객체의 속성을 얻기 위한 입수(Get) 연산을 포함하여 수행하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  9. 제 5항에 있어서,
    상기 그룹 객체는 호 객체내에 존재하는 여러 개의 그룹 객체를 구별하기 위한 식별자인 그룹 식별번호(Group ID)와;
    그룹에 속하는 사용자 객체들에 관한 참조 정보인 사용자 리스트(User list)와;
    그룹 내의 데이터를 전송하는 연결 객체에 관한 참조정보인 연결 테이블(Connection Table )을 포함하여 구성하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  10. 제 5항에 있어서,
    상기 그룹 객체에 적용되는 연산은 상위객체인 상기 호 객체에서 야기되거나 연산을 요구하는 메시지를 받았을 때 수행되며;
    그룹 객체를 생성하는 그룹 생성(Establish Group) 연산과;
    그룹 객체를 소멸하는 그룹 소멸(Release Group) 연산과;
    통신중에 참석하는 사용자를 늘리는 그룹 추가(Increase Group) 연산과;
    참석하는 사용자를 줄이는 그룹 축소(Decrease Group) 연산과;
    사용자의 능력(Capability)의 변화등으로 인한 연결의 추가나 삭제를 하는 연결 부가(Add Connection), 연결 삭제(Delete Connection)연산과;
    상위 호 객체의 통합으로 인한 그룹 병합(Merge Group), 그룹 피병합(BeMerged Group) 연산을 포함하여 수행하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  11. 제 5항에 있어서,
    상기 연결 객체는 그룹 객체가 참조하도록 연결 객체를 구별하기 위한 식별자인 연결 식별자 (Connection ID)와;
    각 PC들이 어떤 모양으로 연결되는 지를 나타내는 것으로, PC를 노드로 하고 PC의 방향성있는 연결을 에지(Edge)로 하는 방향성 그래프로써, 각 PC들의 접근방식(송/수신)을 표현하는 토폴로지(Topology)와;
    전송 미디어 종류를 나타내는 미디엄(Medium)과;
    각 미디어에 따른 정보를 전송할 때 그 미디어가 어떤 방식에 의해 코딩되는지를 나타내는 정보인 코딩 스키머(Coding scheme)와;
    연결 객체의 서비스 품질 요구 정도를 나타내는 서비스 품질(QoS)과;
    이 연결로 데이터를 전송할 때 사용하는 주소정보인 멀티캐스트 주소(Multicast Address)와;
    지원하는 미디어 종류를 나타내는 주석문( Context)을 포함하여 구성하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  12. 제 5항에 있어서,
    상기 연결 객체에 적용되는 연산은 특정 그룹에 해당하는 연결 객체를 주어진 서비스 품질(QoS)로 생성하는 연결생성 연산(Establish Connection)과;
    연결 객체를 소멸하는 연결소멸(Release Connection)연산과;
    연결 객체의 참석자인 PC객체가 첨가되었거나 탈퇴되었을 경우 수행하는 연결 추가(Increase Connection), 연결 축소(Decrease Connection)연산과;
    호중에 연결 객체에 참석하는 PC 객체의 변화나 PC객체의 연결 형태의 변화가 필요한 경우 수행하는 변경 토폴로지(Modify Topology)연산과;
    해당 연결에 데이터를 전송할 때 수행하는 전송데이터(Send Data)연신과;
    부가적으로 각 속성들을 얻거나 고정하는 입수(Get), 셋(Set) 연산과;
    공유공간을 위한 토큰 관리연산을 포함하여 수행하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  13. 제 12항에 있어서,
    상기 연결추가(Increase Connection)연산, 연결축소 (Decrease Connection)연산은 상위의 호 객체나, 그룹 객체에 의해서 불려져 수행되거나, 참석자의 접속능력(Capability)의 변화에 의해 직접 불려져 수행되는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  14. 제 5항에 있어서,
    상기 연결 객체는 특정 유형 미디어 데이터를 전송하기 위한 속성과 연산을 포함하여, 각 연결을 개별적으로 제어하므로써, 각 사용자 장치의 상이함이나 변화에 대해 호환 가능하도록 한 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  15. 제 5항에 있어서,
    상기 동기 객체는 동기 객체 식별자인 동기 식별자(Sync ID)와;
    동기화되는 연결들에 관한 참조정보인 연결 테이블(Connection Table)을 포함하여 구성하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  16. 제 5항에 있어서,
    상기 동기 객체에 적용되는 연산은 동기 객체를 설정하고 해제하는 동기생성(Establish Sync), 동기소멸(Release Sync) 연산과;
    해당 동기 객체에 연결을 새로 포함하거나 기존의 연결을 탈퇴시킬 때 수행되는 동기추가(Increase Sync), 동기축소(Decrease Sync) 연산을 포함하여 수행하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  17. 제 5항에 있어서,
    상기 UPT 번호 객체는 사용자를 유일하게 구별하는 UPT 번호를 포함하여 구성하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  18. 제 5항에 있어서,
    상기 UPT 번호 객체에 적용되는 연산은 UPT 번호 객체를 생성하는 개인고유변호 생성(Establish UPT #)연산과;
    UPT 객체를 소멸시키는 개인고유변호 소멸(Release UPT #) 연산을 포함하여 수행하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  19. 제 5항에 있어서,
    상기 사용자 객체는 그룹 객체 내에 속하는 여러 사용자 객체를 구별하기위한 식별자인 사용자 식별자(User ID)와;
    사용자 객체가 호에서 공유공간을 사용할 때 토큰(Token)의 접근순서를 규정하기 위한 우선순위를 나타내는 우선순위(Priority)를 포함하여 구성하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  20. 제 5항에 있어서,
    상기 사용자 객체에 적용되는 연산은 사용자 객체를 생성하고 소멸하는 사용자 생성(Establish User)연산, 사용자 소멸(Release User) 연산을 포함하여 수행하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  21. 제 5항에 있어서,
    상기 UPT 번호 객체와 사용자 객체를 분리하여, 한 개인이 둘 이상의 호에 참석할 수 있도록 한 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  22. 제 5항에 있어서,
    상기 PC 객체는 PC 객체를 참조하는 객체들이 PC 객체를 구별하기 위한 식별자인 PC 식별자(PC ID)와;
    호의 연결과 같은 신호 데이터 전송시 사용되는 포트 정보와 사용유무를 나타내는 신호 능력(Signal Capability)과;
    데이터 전송시 사용되는 포트 정보와 사용유무를 나타내는 데이터 능력(Data Capability)과;
    비디오 데이터 전송시 사용되는 포트정보와 사용유무를 나타내는 비디오 능력(Video Capability)과;
    오디오 데이터 전송시 사용되는 포트 정보와 사용유무를 나타내는 오디오 능력(Audio Capability)을 포함하여 구성하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
  23. 제 5항에 있어서,
    상기 PC 객체에 적용되는 연산은 PC 객체를 생성, 변경, 소멸하는 PC생성(Establish PC)연산, PC변경 (Modify PC)연산, PC소멸(Release PC)연산을 포함하여 수행하는 것을 특징으로 하는 컴퓨터 그룹통신 제어 방법.
KR1019980034696A 1998-08-26 1998-08-26 컴퓨터 그룹통신 장치 및 그 제어방법 KR100267378B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980034696A KR100267378B1 (ko) 1998-08-26 1998-08-26 컴퓨터 그룹통신 장치 및 그 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980034696A KR100267378B1 (ko) 1998-08-26 1998-08-26 컴퓨터 그룹통신 장치 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20000015015A KR20000015015A (ko) 2000-03-15
KR100267378B1 true KR100267378B1 (ko) 2000-10-16

Family

ID=19548381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980034696A KR100267378B1 (ko) 1998-08-26 1998-08-26 컴퓨터 그룹통신 장치 및 그 제어방법

Country Status (1)

Country Link
KR (1) KR100267378B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439957B1 (ko) * 2002-02-20 2004-07-12 주식회사데이콤 IP망의 QoS에 따른 컨퍼런스 서비스 방법

Also Published As

Publication number Publication date
KR20000015015A (ko) 2000-03-15

Similar Documents

Publication Publication Date Title
KR100971273B1 (ko) 클라이언트 사이에 멀티캐스트 세션을 설정하기 위한 방법 및 시스템
KR100964983B1 (ko) 네트워크에 걸쳐서 화상회의 세션을 자동으로 개시하는 방법 및 시스템, 네트워크에 걸쳐서 화상회의 세션에 참가하기 위한 방법 및 네트워크에 걸쳐서 멀티캐스트 세션에 참가하기 위한 방법
US20030014488A1 (en) System and method for enabling multimedia conferencing services on a real-time communications platform
GB2289186A (en) Collaborative working method and system
KR20040104526A (ko) 화상회의 시스템 아키텍처
WO2006044098A1 (en) Method for sessions including multiple resources
NO322875B1 (no) System og fremgangsmate for a inkludere deltakere i en konferansesamtale
JPH1198139A (ja) インターネット用コンファレンス管理装置及びそのシステム及びその方法
CN100433626C (zh) 多媒体会议召开方法
Heijenk et al. Communication systems supporting multimedia multi-user applications
JP2006285494A (ja) マルチメディア対応フロア権管理システム、方法、プログラム及び記録媒体、メディアサーバ及び端末
KR100267378B1 (ko) 컴퓨터 그룹통신 장치 및 그 제어방법
CA2484728C (en) Apparatus and method for distribution of streamed real-time information between clients
CN1610349B (zh) 实时消息传送方法
KR100233851B1 (ko) 공동작업 네트워크 자원 관리 장치 및 이를 이용한 공유 어플리케이션의 액세스 제어 방법
KR100243679B1 (ko) 다지점 접속 제어 장치내의 회의 제어부에서의 쓰레드간 통신방법
KR100327235B1 (ko) Corba를 이용한 멀티캐스트 통신장치 및 방법
KR100248264B1 (ko) 상호 참여형 멀티미디어 응용 개발 환경에서의 세션 관리 시스템 및 그 방법
KR100186959B1 (ko) 상호 참여형 멀티미디어 응용 개발 환경에서의 세션 관리 시스템 및 그 방법
KR100307194B1 (ko) 상호 참여형 멀티미디어 응용 개발 시스템에서의 세션 관리 및 컴포넌트 관리장치와 그 방법
KR100283148B1 (ko) 단지점 화상회의 단말기를 통한 다지점 화상회의 시스템
KR100608639B1 (ko) 화상 회의 시스템의 다지점 회의 연결 장치
KR100280130B1 (ko) 다지점 접속 제어장치내에서의 자체 회의 생성방법
KR100345444B1 (ko) 개방형 통신망에서 단말의 멀티미디어 장치 특성에 따른 서비스 설정방법
KR20010007695A (ko) 가상 대화 서버를 이용한 대화 서비스 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130701

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20160901

Year of fee payment: 17

LAPS Lapse due to unpaid annual fee