KR20030084164A - Dynamic communication method and system using remote method invocation - Google Patents

Dynamic communication method and system using remote method invocation Download PDF

Info

Publication number
KR20030084164A
KR20030084164A KR1020020022720A KR20020022720A KR20030084164A KR 20030084164 A KR20030084164 A KR 20030084164A KR 1020020022720 A KR1020020022720 A KR 1020020022720A KR 20020022720 A KR20020022720 A KR 20020022720A KR 20030084164 A KR20030084164 A KR 20030084164A
Authority
KR
South Korea
Prior art keywords
packet
rmic
communication
session
data
Prior art date
Application number
KR1020020022720A
Other languages
Korean (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 KR1020020022720A priority Critical patent/KR20030084164A/en
Publication of KR20030084164A publication Critical patent/KR20030084164A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

PURPOSE: A dynamic communication method using an RMI(Remote Method Invocation) call and a system thereof are provided to perform a session connection only when data is transmitted by using an RMI function, thereby reducing load of a client system or a server system. CONSTITUTION: A computer system(32) selects a computer system(34) for performing dynamic communication, transmits an RMIC(RMI Communication) packet to the selected computer system(34), and requests an RMIC connection. The computer system(34) decides a called method, a communication method, a connection port, and connection setup showing data, and executes the called method. The computer system(34) opens a designated connection port, and transmits an RMIC response signal for a connection request. The computer system(32) receives the RMIC response signal, and executes a communication application. A session setup is carried out between the computer systems(32,34).

Description

원격 메소드 호출을 이용한 동적 통신 방법 및 시스템{DYNAMIC COMMUNICATION METHOD AND SYSTEM USING REMOTE METHOD INVOCATION}DYNAMIC COMMUNICATION METHOD AND SYSTEM USING REMOTE METHOD INVOCATION

본 발명은 원격 메소드 호출(RMI)를 이용하여 서버 시스템 또는 클라이언트 시스템과의 동적 통신이 가능한 방법 및 시스템에 관한 것이다.The present invention relates to a method and system capable of dynamic communication with a server system or client system using remote method invocation (RMI).

복수개의 독립된 네트워크가 상호 연결되어 이루어진 복잡한 네트워크를 인터네트워크(Internetwork)라 하고, 복수개의 독립된 네트워크를 하나의 통합된 네트워크로 연결하는 방법, 즉 독립된 각 네트워크들 사이의 연결 과정을 인터네트워킹(Internetworking)이라고 한다.A complex network consisting of a plurality of independent networks interconnected is called an internetwork, and a method of connecting a plurality of independent networks into a single integrated network, that is, an internetworking process between the independent networks. It is called.

인터네트워킹을 이용하는 일반적인 예로서는 독립된 네트워크를 구성하는 LAN 사용자가 WAN(Wide Area Network)을 통해서 연결된 다른 LAN 사용자와 데이터를 주고받는 것을 들 수 있다. 이 경우에는 LAN과 WAN을 연결하는 것을 인터네트워킹이라고 할 수 있다. 이와 같은 인터네트워킹은 각각 독립된 네트워크들을 연결하기 때문에, 네트워크의 계층(Layer)별 서비스, 독립된 네트워크에서 사용하는 프로토콜(Protocol) 구조, 독립된 네트워크의 주소(Address) 구조, 데이터 전송 경로를 결정하는 라우팅(Routing) 및 전송하는 데이터 패킷(Packet)의 크기 등을 고려하여야 한다.As a general example of using internetworking, a LAN user constituting an independent network may exchange data with another LAN user connected through a wide area network (WAN). In this case, connecting the LAN and the WAN may be referred to as internetworking. Since such internetworking connects independent networks, routing to determine services of each layer of a network, a protocol structure used in an independent network, an address structure of an independent network, and a data transmission path is performed. Consider the routing and the size of the data packet to be transmitted.

최근에는 이와 같이 독립된 네트워크를 사용하는 사용자가 멀리 떨어져있는 다른 네트워크에 접속하여 상호간에 데이터를 전송할 수 있도록 전 세계에 분포된 독립된 네트워크를 연결하는 인터넷(Internet)의 사용이 활성화되어 있다. 인터넷은 인터넷 프로토콜(Internet Protocol: 이하, IP라 칭한다) 어드레스로 구분되는 복수개의 단위 네트워크와 각 단위 네트워크에 구비된 개별적인 IP 어드레스를 갖는 복수의 호스트(Host)들 간에 전송 제어 규약/인터넷 규약(Transmission Control Protocol/Internet Protocol: 이하, TCP/IP라 칭한다)을 기반으로 한다. 또한, 인터넷은 LAN이나 공중 전화 교환망(Public Switched Telephone Network: PSTN) 등의 독립된 네트워크를 통하여 데이터 통신을 수행할 수 있는 데이터 통신 네트워크이다. 한편, IP는 OSI(Open System Interface) 7 계층 구조에서 제 3 계층인 네트워크 계층(Network Layer)에 해당하는 것으로서, 네트워크에 종속적인 부분과 네트워크에 독립적인 부분이 결합되는 부분이다. 이러한 IP 어드레스는 인터넷 상에서 유일한 어드레스이다. IP 어드레스는 기본적으로 32 비트(bit)이며, 인터넷 상의 서브넷(Subnet)을 지칭하는 부분과 서브넷 상의 호스트를 지칭하는 부분으로 나눌 수 있다.Recently, the use of the Internet to connect independent networks distributed around the world has been activated so that users using these independent networks can access other remote networks and transmit data therebetween. The Internet is a transmission control protocol / Internet protocol between a plurality of unit networks divided by Internet Protocol (hereinafter referred to as IP) addresses and a plurality of hosts having individual IP addresses provided in each unit network. Control Protocol / Internet Protocol: hereinafter referred to as TCP / IP). In addition, the Internet is a data communication network capable of performing data communication through an independent network such as a LAN or a public switched telephone network (PSTN). On the other hand, IP corresponds to the network layer (Network Layer), which is the third layer in the OSI (Open System Interface) 7 layer structure, a part in which the network dependent part and the network independent part are combined. This IP address is the only address on the Internet. The IP address is basically 32 bits, and can be divided into a part indicating a subnet on the Internet and a part indicating a host on the subnet.

일반적으로, 사용자를 연결하는 네트워크 모델은 중앙 집중식과 클라이언트/서버 모델, 사용자를 개인별로 연결하는 Peer-to-Peer 방식으로 구분할 수 있다.In general, the network model for connecting users can be divided into a centralized, client / server model, and a peer-to-peer method for connecting users individually.

중앙 집중식은 초기 네트워크 모델로서 호스트(Host)와 터미널(Terminal)로 구분하여 호스트와 터미널 사이에 최고의 수행 속도와 고장 방지(fault tolerance), 보안 기능을 제공하였다. 즉, 호스트는 복수의 터미널로부터 요구되는 일련의 작업에 대해 업무용 데이터에 대한 일괄된 조회 기능을 제공하고, 데이터의 무결성(data integrity)을 유지하며, 인가되지 않은 사용자의 접근을 차단하는 보안 기능을 확보하였다. 따라서, 호스트와 터미널 사이에 상호간의 관련 작업이 거의 이루어지지 않았다. 그러나, 이러한 중앙 집중식 환경은 변화에 즉각적 대응이 불가능하고, 이로 인한 서비스 지연이 문제가 되었다. 또한, PC를 터미널 장치로 활용하는 경우에, PC를 통한 마이크로 컴퓨팅 환경은 데이터 처리 과정에서 데이터 무결성 및 보안 기능에 문제가 있었다. 하지만, 이들은 상호간에 가지지 못한 장점을 가지고 있었기 때문에, 시간이 지나면서 공존의 길을 찾기 시작했는데 그것이 클라이언트/서버 모델이다.Centralized, the initial network model, divided into host and terminal to provide the best performance, fault tolerance, and security between the host and terminal. In other words, the host provides a batch of functions for querying business data for a series of tasks required from a plurality of terminals, maintains the data integrity, and blocks security from unauthorized users. Secured. As a result, very little work was done between the host and the terminal. However, this centralized environment is incapable of reacting immediately to change, resulting in service delays. In addition, when using a PC as a terminal device, the micro-computing environment through the PC has a problem in data integrity and security functions during data processing. However, because they had advantages that they did not have, they began to find ways of coexistence over time, which is a client / server model.

이러한 클라이언트/서버 모델은 현재 인터넷 상에서 주로 구현되고 사용되는 모델로서, 서버 시스템의 자원 공유가 가능하다.This client / server model is a model that is mainly implemented and used on the Internet at this time, and server system resource sharing is possible.

도 1은 일반적인 클라이언트/서버 모델의 구성도를 나타낸 것이다.1 shows a schematic diagram of a general client / server model.

도 1을 참조하면, 클라이언트/서버 모델은 데이터를 보관하는 역할을 하는 서버(10)와 데이터를 요구하고 보여주는 역할을 하는 클라이언트(14)를 구분한다. 따라서, 업무는 데이터를 저장하고 제공하는 서버120)에서의 작업(Back end)과 서버(10)에 특정 데이터를 요구하는 클라이언트(14)에서의 작업(Front end)으로 나누어 수행된다. 클라이언트(14)에서 서버(10)로 데이터를 요구하는 쿼리(Query)가 전송되면, 서버(10)는 데이터베이스에서 해당하는 데이터를 추출하여, 요청된 작업을 수행하고 그 결과만을 네트워크를 통하여 클라이언트(14)에 제공한다.Referring to FIG. 1, the client / server model distinguishes a server 10 that stores data and a client 14 that requests and displays data. Therefore, the work is performed by dividing the work (Back end) at the server 120 for storing and providing data and the work (Front end) at the client 14 requesting specific data to the server 10. When a query requesting data is transmitted from the client 14 to the server 10, the server 10 extracts the corresponding data from the database, performs the requested operation, and only the result is transmitted through the network. 14) to provide.

이러한 클라이언트/서버 모델에서 서버(10)는 서비스의 제공자로서 클라이언트(14)로부터의 서비스 요청을 기다리며, 클라이언트(14)는 서버(10)에 대하여 서비스를 요청하기 위한 연결 요청을 한다. 또한, 클라이언트(14)와 서버(10)는 하드웨어(Hardware)에 종속되지 않는다. 즉, 클라이언트(14)와 서버(10)는 어떤 OS(Operating System)나 하드웨어를 사용하든지 서버(10)는 클라이언트(14)에게 동일한 서비스를 제공해야 한다. 그리고, 클라이언트/서버 시스템은 클라이언트(14)의 수를 늘이거나 서버(10)를 늘리는 등 그 규모를 늘이거나 줄이더라도 전체적인 시스템의 운영에는 아무런 영향이 없어야 한다.In this client / server model, the server 10 waits for a service request from the client 14 as a provider of the service, and the client 14 makes a connection request to the server 10 to request a service. In addition, the client 14 and the server 10 are not dependent on hardware. That is, no matter what operating system (OS) or hardware the client 14 and server 10 use, the server 10 must provide the same service to the client 14. In addition, even if the client / server system increases or decreases in size, such as increasing the number of clients 14 or increasing the server 10, there should be no influence on the operation of the overall system.

이와 같이, 인터넷을 이용하여 사용자는 다른 나라에 있는 사람들과 서로 얼굴을 마주보며 대화를 할 수 있는 화상 회의도 가능하고, 필요한 정보를 전송하거나 이를 수신할 수도 있으며, 전자 메일(Electronic mail: e-mail)이나 메신저(Messenger)를 통하여 편지 및 메시지의 왕래도 가능하다. 뿐만 아니라, 서버가 구비된 웹 사이트를 통하여 텍스트 파일, 이미지 파일, 동영상 등 각종 데이터를 제공할 수 있고, 사용자는 무한한 정보의 바다로부터 원하는 정보를 검색할 수 있게 되었다.In this way, using the Internet, users can also have video conferencing to face-to-face conversations with people in different countries, send or receive the necessary information, and e-mail (Electronic mail: e- You can also send and receive mail and messages via mail or messenger. In addition, various data such as a text file, an image file, a video, etc. can be provided through a web site provided with a server, and a user can search for desired information from an infinite sea of information.

한편, 이와는 달리 별도의 서버를 구비하지 않고 사용자 사이에 직접적인 연결을 설정함으로써, 직접 메시지나 데이터를 주고받을 수 있는 방식이 Peer-to-Peer 모델이다.On the other hand, Peer-to-Peer model is a method that can directly send and receive messages or data by establishing a direct connection between users without having a separate server.

도 2는 Peer-to-Peer 모델의 구성도를 나타낸 것이다.Figure 2 shows the configuration of the Peer-to-Peer model.

도 2를 참조하면, Peer-to-Peer 모델은 별도의 서버를 구비하지 않고, 상호간에 직접 연결된 사용자의 컴퓨터 시스템(20, 22)끼리 데이터 및 메시지를 전송한다. 즉, 각 컴퓨터 시스템(20, 22)이 동일한 레벨에서 메시지를 송신하고 수신하는 역할을 동시에 수행하는 것이다. 일반적으로 클라이언트/서버 모델은 같은 장소에 있지 않은 10명 이상의 사용자를 대상으로 하기 때문에, 저장 용량과 계산 능력이 충분한 컴퓨터 시스템을 서버로 설치 운용한다. 반면에, Peer-to-Peer 네트워크는 작업 그룹(Workgroup)으로도 불리며, 주로 10대 미만의 컴퓨터 시스템이 같은 장소에 있는 경우에 이를 네트워킹 하는데 사용된다. Peer-to-Peer 네트워크에 대한 보안 방법으로 가장 많이 사용되는 것은 공유 레벨 보안으로서, 특정 디렉토리, 파일 및 프린터와 같은 리소스(Resource)에 대해서 비밀 번호를 지정하여야만 억세스(Access)가 가능하다. 따라서, Peer-to-Peer 모델은 같은 지역의 LAN 내부에서 업무에 종사하는 사용자의 컴퓨터 시스템을 연결하는 경우에 주로 사용되어 왔다.Referring to FIG. 2, the peer-to-peer model does not include a separate server, and transmits data and messages between user computer systems 20 and 22 directly connected to each other. In other words, each computer system 20 and 22 simultaneously transmits and receives messages at the same level. In general, the client / server model is intended for ten or more users who are not in the same location, so a computer system with sufficient storage capacity and computing power is installed on the server. Peer-to-peer networks, on the other hand, are also called workgroups, and are often used to network when less than 10 computer systems are in the same location. The most commonly used security method for peer-to-peer networks is share level security, which requires access to a specific password for resources such as directories, files, and printers. Therefore, the Peer-to-Peer model has been mainly used for connecting computer systems of users working in the same local area LAN.

이러한 일대일 형태의 Peer-to-Peer 모델은 클라이언트/서버 모델에 비하여 데이터 전송 속도 및 신뢰성이 높고, 메시지 및 데이터의 보안을 유지할 수 있다. 반면에, 지정된 사용자에 대한 메시지나 데이터 전송을 단일 사용자에 대하여 각각관리하고, 사용자에 대한 통합적인 관리가 이루어지지 않기 때문에 효율성이 떨어지고 각 사용자에 대한 관리가 어려운 문제점이 있다. 그러나, 최근에는 인터넷 상에서 Peer-to-Peer 방식으로 컴퓨터 시스템을 연결하고, 각 사용자들끼리 직접 메시지 및 데이터를 주고받는 서비스가 크게 활성화되고 있다.This one-to-one peer-to-peer model has higher data transfer speed and reliability than client / server model, and can keep messages and data secure. On the other hand, since a single user manages a message or data transmission for a specific user, and there is no integrated management for a user, efficiency is inferior and management of each user is difficult. Recently, however, services that connect computer systems in a peer-to-peer manner over the Internet and directly send and receive messages and data among users have been greatly activated.

그 대표적인 서비스가 Napster와 소리바다이다.The main services are Napster and Soribada.

Napster 프로그램은 Napster 사에서 제작한 것으로, Napster 프로그램을 이용하여 Napster 서버에 접속한 사용자들을 서로 연결해주는 프로그램이다. 즉, Napster 프로그램을 통하여 Napster 서버에 접속한 사용자로부터 사용자 정보 및 해당하는 사용자가 보유하고 있는 mp3 파일을 검색하여 이를 다른 사용자가 확인할 수 있도록 제공한다. 따라서, Napster 프로그램을 사용하는 사용자는 Napster 프로그램을 사용하는 다른 사용자에 관한 정보 및 사용자가 보유하고 있는 mp3 파일을 실시간으로 확인할 수 있다. 특히, Napster 서버는 사용자로부터 mp3 파일을 다운받아 따로 보관하지 않고, 사용자가 보유하고 있는 mp3 파일이나 해당하는 사용자에 대한 정보만 제공한다.The Napster program is produced by Napster, which connects users connected to the Napster server using the Napster program. In other words, user information and mp3 files owned by the corresponding user are searched from the user connected to the Napster server through the Napster program, so that other users can check it. Therefore, the user using the Napster program can check in real time the information about the other user using the Napster program and the mp3 file held by the user. In particular, the Napster server does not download mp3 files from the user and stores them separately. The Napster server provides only information about the mp3 file owned by the user or the corresponding user.

한 사용자가 다른 사용자를 선택하여 메시지나 mp3 파일 전송을 원하는 경우에는, 다른 사용자의 IP 정보를 이용하여 직접 선택된 사용자와 연결한다. 따라서, 사용자는 Napster 서버를 통하지 않고, 선택된 사용자와 메시지를 주고받거나 필요한 데이터를 바로 전송받을 수 있다. 즉, Napster 프로그램을 사용하는 사용자는 일단 연결을 원하는 다른 사용자를 선택하면, 이들과 Peer-to-Peer로 연결을 설정한 다음 실시간으로 메시지 전송 및 데이터 전송이 가능하다. 이러한 Napster 프로그램은 Napster 사의 웹 사이트 www.napster.com에서 확인할 수 있다.If one user selects another user and wants to send a message or mp3 file, the other user's IP information is used to connect directly to the selected user. Therefore, the user can exchange messages with the selected user or directly send necessary data without going through the Napster server. In other words, once a user using Napster program selects another user who wants to connect, he / she can establish a connection with them and then send message and data in real time. The Napster program can be found on Napster's Web site at www.napster.com.

소리바다 역시 Napster 프로그램과 비슷한 기능을 담당하는 것으로, 서버에 접속한 사용자가 확인되면, 이들 소리바다 프로그램을 사용하는 사용자 사이의 메시지 전송 및 데이터 전송은 실시간으로 이루어진다. 소리바다 프로그램에 대한 내용은 소리바다 홈페이지 www.soribada.com에서 확인 가능하다.Soribada is similar in function to the Napster program. When a user connected to the server is confirmed, the message transfer and data transfer between users who use the soridsea program are performed in real time. For more information on the Soribada program, please visit www.soribada.com.

도 3은 Napster나 소리바다와 같은 서비스를 통하여 메시지 및 데이터를 전송하는 과정을 나타낸 도면이다.3 is a diagram illustrating a process of transmitting a message and data through a service such as a Napster or a sound sea.

도 3을 참조하면, 사용자의 컴퓨터 시스템(14)은 인터넷을 통하여 서버(10)에 접속한다. 이 때, 각 컴퓨터 시스템(14)은 서버(10)에 접속한 다른 컴퓨터 시스템의 IP 어드레스 및 사용자 정보를 확인할 수 있다. 그리고, 각 컴퓨터 시스템(14)은 mp3 파일이나 이미지 파일과 같이 자신이 보유하고 있는 데이터를 다른 컴퓨터 시스템에서 열람하도록 디렉토리를 오픈시킬 수 있다. 따라서, 각 컴퓨터 시스템(14)은 다른 사용자의 정보를 확인하고 메시지나 데이터 전송을 희망하는 컴퓨터 시스템(14)을 선택한 후에, 서버(10)를 거치지 않고 선택된 컴퓨터 시스템(14)의 IP 어드레스를 이용하여 직접 연결한다. 일단 컴퓨터 시스템(14)끼리 연결이 설정되면, 연결된 컴퓨터 시스템(14) 사이에 직접 메시지 및 데이터 전송이 이루어진다.Referring to FIG. 3, the user's computer system 14 connects to the server 10 via the Internet. At this time, each computer system 14 can check the IP address and user information of another computer system connected to the server 10. Each computer system 14 can open a directory to read data held by itself, such as an mp3 file or an image file, in another computer system. Therefore, each computer system 14 checks the information of the other user and selects the computer system 14 to which the message or data is to be transmitted, and then uses the IP address of the selected computer system 14 without passing through the server 10. To connect directly. Once the connection is established between the computer systems 14, direct message and data transfers are made between the connected computer systems 14.

이와 같은 방식은 클라이언트/서버 모델과 Peer-to-Peer 모델을 결합한 것으로, 서버에 접속한 사용자가 확인되면 지정된 사용자와 직접 연결하여 메시지 및데이터를 전송하는 방식이다. 이러한 방법은 IP 어드레스를 사용하기 때문에, 서비스를 이용할 수 있는 사용자는 공인된 IP 어드레스를 사용하는 사용자에게 한정되고, 그밖에 프록시(Proxy) 서버나 LAN 내부에서 사설 IP 어드레스를 사용하는 경우에는 이러한 서비스를 이용할 수 없다. 사설 IP 어드레스는 REC 1918에서 규정하고 있는 것으로, 사용자가 로컬(Local)로 자유로이 사용할 수 있도록 지정되어 있는 어드레스 블록이다. 구체적으로는 10. 0. 0. 0. 부터 10. 255. 255. 255. 까지의 IP 어드레스, 172. 16. 0. 0. 부터 172. 31. 255. 255. 까지의 IP 어드레스 및 192. 168. 0. 0 부터 192. 168. 255. 255. 까지의 IP 어드레스를 포함하는 3 블록이 여기에 해당한다.This method combines the client / server model and the peer-to-peer model. When the user connected to the server is confirmed, the method connects directly to the designated user and sends messages and data. Because this method uses IP addresses, the users who can use the service are restricted to users who use authorized IP addresses. Otherwise, if you use private IP addresses within a proxy server or LAN, Not available The private IP address is defined in REC 1918, and is an address block designated so that a user can freely use it locally. Specifically, IP addresses from 10. 0. 0. to 10. 255. 255. 255., IP addresses from 172. 16. 0. 0. to 172. 31. 255. 255. and 192.168. This includes three blocks containing IP addresses from 0 to 192.168.255.255.

이 때, 각 컴퓨터 시스템(14)이 서버(10)에 접속한 상태에서 다른 컴퓨터 시스템(14)의 정보를 확인하기 위해서는, 인터넷을 통하여 접속된 서버(10)와의 세션(Session)을 유지하여야 한다. 이를 통하여, 각 컴퓨터 시스템(14)은 다른 컴퓨터 시스템(14)의 접속 여부를 확인할 수 있다. 일반적으로, 서버(10)는 접속된 컴퓨터 시스템(14)과의 세션을 유지하기 위해서 1Mbyte의 메모리 용량을 할당하게 된다. 그에 따라, 서버(10)에 접속하는 컴퓨터 시스템(14)의 수가 증가할수록 서버(10)에서 사용되는 메모리 용량이 증가하게 되고, 동시에 많은 컴퓨터 시스템(14)이 접속하는 경우에 서버(10)에서의 데이터 처리 속도가 감소하게 된다.At this time, in order to check the information of the other computer system 14 in a state where each computer system 14 is connected to the server 10, a session with the server 10 connected through the Internet must be maintained. . Through this, each computer system 14 can check whether the other computer system 14 is connected. In general, the server 10 allocates a memory capacity of 1 Mbyte to maintain a session with the connected computer system 14. As a result, as the number of computer systems 14 connected to the server 10 increases, the memory capacity used by the server 10 increases, and at the same time the server 10 in the case where many computer systems 14 connect. Will reduce the data processing speed.

이러한 현상은 서버를 거치지 않고 LAN이나 특정한 네트워크 내에서 직접 연결되는 Peer-to-Peer 연결의 경우에도 동일하게 나타난다. 따라서, Peer-to-Peer 방식으로 연결된 컴퓨터 시스템의 경우에, 각 컴퓨터 시스템은 상호간의 데이터 전송을 위해서는 상대방 컴퓨터 시스템과의 연결을 위한 세션을 개방하고 있어야 한다. 따라서, 상호간의 데이터 전송을 위하여 네트워크를 형성하는 클라이언트 또는 서버와 같은 구성원의 수가 증가할수록, 네트워크의 전체적인 부하가 증가하고, 데이터 전송 속도가 저하되는 문제점이 있다.The same is true for peer-to-peer connections that are directly connected within a LAN or a specific network without going through a server. Therefore, in the case of a computer system connected in a peer-to-peer manner, each computer system must open a session for connection with the other computer system in order to transmit data to each other. Therefore, as the number of members such as clients or servers forming a network for data transmission between each other increases, the overall load of the network increases and the data transmission speed decreases.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 원격 메소드 호출(Remote Method Invocation; 이하 RMI라 칭한다)을 이용하여 원격으로 컴퓨터 시스템을 호출하고, 실제 전송 기간동안 세션을 유지하면서 데이터 통신을 수행할 수 있는 동적 통신 방법 및 시스템을 제공하는데 그 목적이 있다.The present invention is to solve the above problems, to remotely call a computer system using Remote Method Invocation (hereinafter referred to as RMI), and to perform data communication while maintaining a session for the actual transmission period It is an object of the present invention to provide a dynamic communication method and system.

또한, 본 발명은 RMI를 통하여 원격으로 컴퓨터 시스템을 호출하는 과정에서, 데이터 전송 방식에 따라 호출된 컴퓨터 시스템과의 연결을 제어할 수 있는 동적 통신 방법 및 시스템을 제공하는데 그 목적이 있다.Another object of the present invention is to provide a dynamic communication method and system capable of controlling a connection with a called computer system according to a data transmission method in a process of calling a computer system remotely through an RMI.

도 1은 일반적인 클라이언트/서버 모델의 구성도.1 is a schematic diagram of a typical client / server model.

도 2는 Peer-to-Peer 모델의 구성도.2 is a block diagram of a Peer-to-Peer model.

도 3은 Napster나 소리바다와 같은 서비스를 통하여 메시지 및 데이터를 전송하는 과정을 나타낸 도면.FIG. 3 is a diagram illustrating a process of transmitting a message and data through a service such as Napster or Sound Sea.

도 4는 본 발명의 바람직한 실시 예에 따른 원격 메소드 호출을 이용한 동적 통신을 위한 RMIC 패킷의 구성도.4 is a block diagram of an RMIC packet for dynamic communication using a remote method call according to an exemplary embodiment of the present invention.

도 5는 본 발명의 바람직한 실시 예에 따른 원격 메소드 호출을 이용한 동적 통신 시스템에 있어서, Peer-to-Peer로 연결 가능한 컴퓨터 시스템 상호간에 동적 통신 연결의 설정이 이루어지는 경우를 나타낸 도면.5 is a diagram illustrating a case in which a dynamic communication connection is established between peer-to-peer connectionable computer systems in a dynamic communication system using a remote method call according to an exemplary embodiment of the present invention.

도 6은 본 발명의 바람직한 실시 예에 따른 원격 메소드 호출을 이용한 동적 통신 시스템에 있어서, Peer-to-Peer로 동적 연결이 이루어진 컴퓨터 시스템 상호간에 연결 설정을 해제하는 경우를 나타낸 도면.FIG. 6 is a diagram illustrating a case in which a connection setting is released between computer systems in which a dynamic connection is made through a peer-to-peer in a dynamic communication system using a remote method call according to an exemplary embodiment of the present invention. FIG.

도 7은 본 발명의 바람직한 실시 예에 따른 원격 메소드 호출을 이용한 동적 통신 시스템에 있어서, 서버/클라이언트 구조를 통하여 동적 통신을 수행하는 경우를 나타낸 도면.7 is a diagram illustrating a case where dynamic communication is performed through a server / client structure in a dynamic communication system using a remote method call according to an exemplary embodiment of the present invention.

도 8a 내지 도 8c는 본 발명의 바람직한 실시 예에 따른 원격 메소드 호출을 이용한 동적 통신 방법에 있어서, 동적 통신을 위한 프로그램의 화면 예시도.8A to 8C are diagrams illustrating screens of a program for dynamic communication in a dynamic communication method using a remote method call according to an exemplary embodiment of the present invention.

(도면의 주요 부분에 대한 부호의 명칭)(Name of the code for the main part of the drawing)

40: 서버 시스템42, 44: 클라이언트 시스템40: server system 42, 44: client system

상기의 목적을 달성하기 위하여, 본 발명의 원격 메소드 호출을 이용한 동적 통신 방법은 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC(Remote Method Invocation for Communication) 패킷을 생성하는 단계와, 데이터 통신을 수행하기 위하여, 세션을 연결할 상대방 컴퓨터 시스템으로 상기 RMIC패킷을 전송함으로써, RMIC 패킷을 수신한 상대방 컴퓨터 시스템 내부의 저정된 메소드를 호출하는 단계와, 상기 상대방 컴퓨터 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 단계와, 상기 응답 신호에 응하여, 상대방 컴퓨터 시스템과 세션을 연결하는 단계와, 세션 연결 상태에서, 지정된 통신 방법으로 데이터를 전송하는 단계를 포함할 수 있다.In order to achieve the above object, in the dynamic communication method using the remote method call of the present invention, at least one of a communication method for data communication, a connection port, and connection setting data is attached to an RMI packet capable of calling a specified method. Generating a remote method invocation for communication (RMIC) packet, and transmitting the RMIC packet to a counterpart computer system to which a session is to be connected to perform data communication, thereby storing the stored method in the counterpart computer system receiving the RMIC packet. Calling a message, receiving a response signal for an RMIC packet from the counterpart computer system, connecting a session with the counterpart computer system in response to the response signal, and, in a session connection state, data in a designated communication method. It may include the step of transmitting.

상기 원격 메소드 호출을 이용한 동적 통신 방법은 데이터 전송이 완료된 경우에, 세션 해제를 위한 RMIC 패킷을 전송하는 단계를 더 포함할 수 있다.The dynamic communication method using the remote method call may further include transmitting an RMIC packet for session release when data transmission is completed.

또한, 본 발명의 원격 메소드 호출을 이용한 동적 통신 방법은 복수의 클라이언트 시스템을 연결하는 서버 시스템을 통하여 데이터 통신을 수행하는 방법에 있어서, 서버 시스템에 접속하여, 데이터 통신을 수행할 상대방 클라이언트 시스템의 IP 어드레스를 제공받는 단계와, 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 생성하는 단계와, 서버 시스템으로부터 제공받은 상대방 클라이언트 시스템의 IP 어드레스를 이용하여, 세션을 연결할 상대방 클라이언트 시스템으로 상기 RMIC 패킷을 전송함으로써, RMIC 패킷을 수신한 상대방 클라이언트 시스템 내부의 저정된 메소드를 호출하는 단계와, 상기 상대방 클라이언트 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 단계와, 상기 응답 신호에 응하여, 상대방 클라이언트 시스템과 세션을 연결하는 단계와, 세션 연결 상태에서, 지정된 통신 방법으로 데이터를 전송하는 단계를 포함할 수 있다.In addition, the dynamic communication method using a remote method call of the present invention is a method for performing data communication through a server system connecting a plurality of client systems, the IP of the other client system to access the server system, to perform data communication Receiving an address, generating an RMIC packet to which an RMI packet capable of invoking a specified method is attached, at least one of a communication method, a connection port, and connection setting data for data communication; Sending the RMIC packet to the counterpart client system to which the session is connected by using the received counterpart client system's IP address, calling a stored method inside the counterpart client system that has received the RMIC packet, and receiving the RMIC from the counterpart client system. Vs packet The method may include receiving a response signal, connecting a session with the counterpart client system in response to the response signal, and transmitting data through a designated communication method in a session connection state.

상기 서버 시스템에 접속하여, 데이터 통신을 수행할 상대방 클라이언트 시스템의 IP 어드레스를 제공받는 단계는 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 생성하는 단계와, IP 어드레스를 이용하여, 상기 서버 시스템으로 RMIC 패킷을 전송함으로써, RMIC 패킷을 수신한 서버 시스템 내부의 저정된 메소드를 호출하는 단계와, 상기 서버 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 단계와, 상기 응답 신호에 응하여, 서버 시스템과 세션을 연결하는 단계와, 세션 연결 상태에서, 서버 시스템으로부터 전송된 IP 어드레스를 수신하는 단계를 포함할 수 있다.The step of accessing the server system and receiving an IP address of the counterpart client system to perform data communication may include at least one of a communication method, a connection port, and connection setting data for data communication, for an RMI packet capable of calling a specified method. Generating an RMIC packet to which one is attached, calling the stored method inside the server system that has received the RMIC packet by sending the RMIC packet to the server system using the IP address, and from the server system Receiving a response signal for the RMIC packet, connecting the session with the server system in response to the response signal, and receiving the IP address transmitted from the server system in the session connection state.

또한, 본 발명의 원격 메소드 호출을 이용한 동적 통신 방법은 네트워크를 통하여 연결된 복수의 클라이언트 시스템에 대하여, 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 수신하는 단계와, 상기 RMIC 패킷에 포함된 RMI 패킷에 따라, 지정된 메소드를 실행하는 단계와, 상기 RMIC 패킷을 전송한 클라이언트 시스템으로 응답 신호를 전송하는 단계와, 상기 RMIC 패킷을 전송한 클라이언트 시스템과 세션을 연결하는 단계와, 상기 RMIC 패킷을 전송한 클라이언트 시스템으로, 선택된 데이터를 전송하는 단계를 포함할 수 있다.In addition, the dynamic communication method using the remote method call of the present invention, for a plurality of client systems connected via the network, the communication method for data communication, connection port and connection configuration data for the RMI packet that can call the specified method Receiving an RMIC packet to which at least one of the RMIC packets are attached, executing a specified method according to an RMI packet included in the RMIC packet, transmitting a response signal to a client system that has transmitted the RMIC packet; Connecting the session with the client system that transmitted the RMIC packet, and transmitting the selected data to the client system that transmitted the RMIC packet.

또한, 본 발명의 원격 메소드 호출을 이용한 동적 통신 시스템은 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 생성하는 RMIC 패킷 생성부와, 데이터 통신을 수행하기 위하여, 세션을 연결할 상대방 컴퓨터 시스템으로 상기 RMIC 패킷을 전송함으로써, RMIC 패킷을 수신한 상대방 컴퓨터 시스템 내부의 저정된 메소드를 호출하는 RMIC 패킷 전송부와, 상기 상대방 컴퓨터 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 수신부와, 상기 응답 신호에 응하여, 상대방 컴퓨터 시스템과 세션을 연결하는 세션 제어부와, 세션 연결 상태에서, 지정된 통신 방법으로 데이터를 전송하는 데이터 전송부를 포함할 수 있다.In addition, the dynamic communication system using a remote method call of the present invention generates an RMIC packet to which the RMI packet capable of invoking a specified method is attached, at least one of a communication method, a connection port, and connection setting data for data communication. An RMIC packet transmission unit for transmitting a RMIC packet to a counterpart computer system to which a session is to be connected to the RMIC packet generating unit and a counterpart computer system to which the session is connected, thereby calling a stored method in the counterpart computer system that has received the RMIC packet; A receiving unit for receiving a response signal to the RMIC packet from the other computer system, a session control unit for connecting a session with the other computer system in response to the response signal, and a data transmitting unit for transmitting data in a designated communication method in a session connection state It may include.

또한, 본 발명의 원격 메소드 호출을 이용한 동적 통신 시스템은 네트워크를 통하여 연결된 복수의 클라이언트 시스템에 대하여, 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 수신하는 RMIC 패킷 수신부와, 상기 RMIC 패킷에 포함된 RMI 패킷에 따라, 지정된 메소드를 실행하는 메소드 실행부와, 상기 RMIC 패킷을 전송한 클라이언트 시스템으로 응답 신호 및 데이터 신호를 전송하는 신호 전송부와, 상기 RMIC 패킷을 전송한 클라이언트 시스템과 세션을 연결하는 세션 제어부를 포함할 수 있다.In addition, the dynamic communication system using the remote method call of the present invention, for a plurality of client systems connected via a network, the communication method, data connection port and connection configuration data for data communication for the RMI packet that can call the specified method A RMIC packet receiver for receiving an RMIC packet to which at least one is attached, a method execution unit for executing a specified method according to the RMI packet included in the RMIC packet, and a response signal and data to a client system that has transmitted the RMIC packet. The apparatus may include a signal transmitter for transmitting a signal and a session controller for connecting a session with a client system that has transmitted the RMIC packet.

또한, 본 발명의 컴퓨터 프로그램 제품은 RMI를 이용하여 동적 통신을 수행할 수 있도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 기록 매체에 있어서, 상기 동적 통신을 수행하는 방법이 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 생성하는 단계와, 데이터 통신을 수행하기 위하여, 세션을 연결할 상대방 컴퓨터 시스템으로 상기 RMIC 패킷을 전송함으로써,RMIC 패킷을 수신한 상대방 컴퓨터 시스템 내부의 저정된 메소드를 호출하는 단계와, 상기 상대방 컴퓨터 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 단계와, 상기 응답 신호에 응하여, 상대방 컴퓨터 시스템과 세션을 연결하는 단계와, 세션 연결 상태에서, 지정된 통신 방법으로 데이터를 전송하는 단계를 포함할 수 있다.In addition, the computer program product of the present invention is a recording medium that is tangibly embodied in a program of instructions that can be executed by a digital processing apparatus so as to perform dynamic communication using RMI, and can be read by the digital processing apparatus. A method for performing dynamic communication, the method comprising: generating an RMIC packet to which an RMI packet capable of calling a specified method is attached, at least one of a communication method, a connection port, and connection setting data for data communication; In order to perform data communication, calling the stored method inside the counterpart computer system that has received the RMIC packet by transmitting the RMIC packet to the counterpart computer system to which the session is to be connected; and responding to the RMIC packet from the counterpart computer system. Receiving a signal, and in response to the response signal, And connecting a session with the counterpart computer system, and transmitting data in a designated communication method in a session connection state.

이하, 첨부한 도면에 의하여 본 발명의 바람직한 실시 예를 자세히 설명하도록 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 원격의 컴퓨터 시스템과 동적 통신을 가능하게 위하여, RMI(Remote Method Invocation)를 사용한다. RMI는 자바 프로그래밍 언어와 개발환경을 사용하여 서로 다른 컴퓨터 시스템 상에 있는 객체(Object)들이 분산 네트워크 내에서 상호 작용하는 객체 지향형(Object-oriented) 프로그램을 작성할 수 있는 방식이다.The present invention uses Remote Method Invocation (RMI) to enable dynamic communication with remote computer systems. RMI uses the Java programming language and development environment to create object-oriented programs in which objects on different computer systems interact within a distributed network.

RMI는 일반적으로 RPC(Remote Procedure Call)라고 알려져 있는 것의 자바 버전이지만, 요청과 함께 하나 이상의 객체들을 통과시키는 능력을 가지고 있다. 객체는 원격의 컴퓨터 시스템 내에서 수행되는 서비스를 변경하는 정보를 포함할 수 있다. RMI 요청은 원격 객체의 메소드(Method)를 부르는 요청이다. 이 요청은 컴퓨터 시스템 내에 존재하는 객체 메소드를 부르는 것과 같은 구문 형식을 가진다. 일반적으로, RMI는 네트워크에 걸쳐 있는 객체 모델과 그것의 장점들을 보호하기 위하여 설계된다.RMI is a Java version of what is commonly known as Remote Procedure Call (RPC), but has the ability to pass one or more objects with a request. The object may include information for changing a service performed in a remote computer system. An RMI request is a request that invokes a method on a remote object. This request has the same syntactic form as calling an object method that exists within the computer system. In general, RMI is designed to protect the object model and its benefits across the network.

통상적으로 RMI는 응용 프로그램(Application)과 자바 가상머신(Java Virtual Machine) 사이에 Stub/Skeleton 계층, Remote Reference 계층, Transport 계층의 세 개 계층(Layer)으로 구현된다. Stub/Skeleton 계층은 클라이언트/서버 관계에서 클라이언트 측에 있는 스터브 프로그램과, 서버 측에서 대응하는 조직 프로그램과 인터페이스(interface)를 담당한다. Remote Reference 계층은 호출하는 프로그램에 의해 전달된 매개변수에 따라서 원격 객체(Remote Object)을 제어한다. Transport 계층은 실제적인 네트워크 통신을 담당하는 부분으로서, 주로 TCP/IP를 근간으로 하고 있다.Typically, RMI is implemented as three layers between a Stub / Skeleton layer, a Remote Reference layer, and a Transport layer between an application and a Java Virtual Machine. The stub / skeleton layer is responsible for stub programs on the client side and the corresponding organizational programs and interfaces on the server side in a client / server relationship. The Remote Reference layer controls the Remote Object according to the parameters passed by the calling program. The transport layer is responsible for actual network communication, and is mainly based on TCP / IP.

본 발명은 네트워크를 통하여 연결된 컴퓨터 시스템 사이에 통신이 이루어지는 동안에만 세션을 유지하는 동적 통신을 위하여, RMI 패킷에 별도의 데이터를 첨부함으로써 RMIC(Remote Method Invocation for Communication) 패킷을 구성한다.The present invention configures a Remote Method Invocation for Communication (RMIC) packet by attaching separate data to an RMI packet for dynamic communication that maintains a session only while communication is performed between computer systems connected through a network.

도 4는 본 발명의 바람직한 실시 예에 따른 원격 메소드 호출을 이용한 동적 통신을 위한 RMIC 패킷의 구성도를 나타낸 것이다.4 is a block diagram of an RMIC packet for dynamic communication using a remote method call according to an exemplary embodiment of the present invention.

도 4를 참조하면, 본 발명의 동적 통신을 위한 RMIC 패킷은 네트워크를 통하여 연결되는 원격의 컴퓨터 시스템 내부에 존재하는 원격 메소드를 호출할 수 있는 RMI 패킷과, 여기에 동적 통신을 위한 첨부 데이터가 포함된다. 첨부되는 데이터는 원격의 컴퓨터 시스템 상호간에 연결이 이루어지는 통신 방법과, 통신을 위하여 개방시키는 연결 포트 및 동적 연결의 설정이나 해제를 나타내는 연결 설정/해제 중 적어도 하나를 포함할 수 있다.Referring to FIG. 4, the RMIC packet for dynamic communication according to the present invention includes an RMI packet capable of calling a remote method existing in a remote computer system connected through a network, and includes attached data for dynamic communication. do. The attached data may include at least one of a communication method in which a connection is established between remote computer systems, a connection port for opening for communication, and a connection establishment / release that indicates establishment or release of a dynamic connection.

통신 방법은 TCP/IP에 한정되지 않고, 전송할 데이터의 종류에 따라 UDP(User Datagram Protocol) 또는 멀티캐스트(Multicast) 등 다양한 통신 방법이 사용될 수 있다. 이 때, RMIC 호출을 하는 컴퓨터 시스템은 서버로서 동작하고, RMIC 호출에 응하여 응답하는 컴퓨터 시스템은 클라이언트의 기능을 수행한다고 볼 수 있다. 따라서, 서버로 동작하는 컴퓨터 시스템은 전송하거나 수신할 데이터의 종류에 따라, 통신 방법을 선택할 수 있도록 하는 것이 바람직하다.The communication method is not limited to TCP / IP, and various communication methods such as UDP (User Datagram Protocol) or Multicast may be used according to the type of data to be transmitted. At this time, the computer system making the RMIC call operates as a server, and the computer system responding in response to the RMIC call performs the function of a client. Therefore, it is preferable that a computer system acting as a server can select a communication method according to the type of data to be transmitted or received.

연결 포트는 서버로서 동작하는 컴퓨터 시스템에서 클라이언트로 동작하는 컴퓨터 시스템과의 통신을 위하여 연결을 수행할 포트 번호를 지정하기 위한 것이다. 따라서, RMIC 패킷을 전송하는 컴퓨터 시스템은 연결 설정을 위하여, 고정된 포트 번호를 지정하거나 현재 사용되지 않는 임의의 포트 번호를 선택하도록 지시할 수 있을 것이다.The connection port is for specifying a port number for performing a connection for communication with a computer system acting as a client in a computer system acting as a server. Thus, the computer system sending the RMIC packet may instruct to specify a fixed port number or to select any port number that is not currently used for establishing a connection.

연결 설정/해제는 세션이 설정되지 않은 원격의 컴퓨터 시스템에 대하여, 동적 통신을 위한 연결을 요청하거나, 세션이 설정된 상태에서 동적 통신이 이루어지고 있는 원격의 컴퓨터 시스템에 대하여 세션 설정의 해제를 요청하는 부분이다.Connection establishment / release requests a connection for dynamic communication to a remote computer system that has not established a session, or requests to release session establishment for a remote computer system where dynamic communication is being made while the session is established. Part.

이와 같이, 본 발명의 RMIC 패킷을 이용하여 동적 통신을 수행하는 방법은 Peer-to-Peer로 연결된 원격의 컴퓨터 시스템 상호간에 이루어지거나, 서버를 통하여 여기에 접속된 클라이언트로서의 컴퓨터 시스템 상호간에 이루어질 수도 있다.As such, the method of performing dynamic communication using the RMIC packet of the present invention may be performed between remote computer systems connected by peer-to-peer or between computer systems as clients connected thereto through a server. .

도 5는 본 발명의 바람직한 실시 예에 따른 원격 메소드 호출을 이용한 동적 통신 시스템에 있어서, Peer-to-Peer로 연결 가능한 컴퓨터 시스템 상호간에 동적통신 연결의 설정이 이루어지는 경우를 나타낸 도면이다.FIG. 5 is a diagram illustrating a case where a dynamic communication connection is established between computer systems that can be connected by peer-to-peer in a dynamic communication system using a remote method call according to an exemplary embodiment of the present invention.

도 5를 참조하면, Peer-to-Peer로 연결 가능한 상태에서, RMIC 연결 요청을 하는 컴퓨터 시스템(32)은 서버로서 동작하고, RMIC 연결 요청을 수신하는 컴퓨터 시스템(34)은 클라이언트로서 동작한다고 볼 수 있다.Referring to FIG. 5, in the Peer-to-Peer connection state, the computer system 32 making an RMIC connection request operates as a server, and the computer system 34 receiving an RMIC connection request operates as a client. Can be.

따라서, 서버로서 동작하는 컴퓨터 시스템(32)은 동적 통신을 수행할 컴퓨터 시스템(34)을 선택하고, IP 어드레스와 같은 식별 정보를 이용하여 선택된 컴퓨터 시스템(34)에 RMIC 패킷을 전송함으로써, RMIC 연결을 요청한다(1단계). RMIC 패킷을 수신한 컴퓨터 시스템(34)은 RMIC 패킷으로부터 호출된 메소드, RMIC 패킷을 송신한 컴퓨터 시스템(32)의 연결 방법을 나타내는 통신 방법, 연결 포트 및 연결 설정을 나타내는 데이터를 판별하고, 호출된 메소드를 실행한다(2단계). 이 때, RMIC 패킷에는 연결 설정을 요청하는 데이터가 포함될 것이다.Thus, computer system 32, acting as a server, selects computer system 34 to perform dynamic communication and sends RMIC packets to selected computer system 34 using identification information, such as an IP address, thereby providing an RMIC connection. Request (step 1). The computer system 34 receiving the RMIC packet determines the method called from the RMIC packet, the communication method indicating the connection method of the computer system 32 that sent the RMIC packet, the data indicating the connection port and the connection setting, Run the method (step 2). At this time, the RMIC packet will include data requesting connection establishment.

클라이언트로서 동작하는 컴퓨터 시스템(34)은 호출된 메소드의 실행과 함께, 지정된 연결 포트를 개방하고, 서버로서 동작하는 컴퓨터 시스템(32)과 통신을 수행할 수 있도록 연결 요청에 대한 RMIC 응답 신호를 전송한다(3단계). 클라이언트로서 동작하는 컴퓨터 시스템(34)으로부터 RMIC 응답 신호를 수신하면, 서버로서 동작하는 컴퓨터 시스템(32)에서 통신용 어플리케이션을 실행하고(4단계), 컴퓨터 시스템(32, 34) 상호간에 통신을 위한 세션 설정이 이루어진다(5단계).The computer system 34 acting as a client opens the designated connection port with the execution of the called method, and sends an RMIC response signal to the connection request to communicate with the computer system 32 acting as the server. (Step 3). Upon receiving the RMIC response signal from the computer system 34 acting as a client, the computer system 32 acting as a server executes a communication application (step 4), and a session for communication between the computer systems 32 and 34 is performed. The setting is made (step 5).

Peer-to-Peer로 연결되는 컴퓨터 시스템(32, 34) 상호간에 이루어지는 세션 설정은 데이터 전송이 이루어지는 동안 유지되며, 데이터 전송이 종료하면 세션 설정이 해제된다.The session setup between the computer systems 32 and 34 connected to the peer-to-peer is maintained during the data transfer, and the session setup is canceled when the data transfer ends.

도 6은 본 발명의 바람직한 실시 예에 따른 원격 메소드 호출을 이용한 동적 통신 시스템에 있어서, Peer-to-Peer로 동적 연결이 이루어진 컴퓨터 시스템 상호간에 연결 설정을 해제하는 경우를 나타낸 도면이다.FIG. 6 is a diagram illustrating a case where a connection setting is released between computer systems in which a dynamic connection is made through a peer-to-peer in a dynamic communication system using a remote method call according to an exemplary embodiment of the present invention.

도 6을 참조하면, RMIC 패킷을 통하여 컴퓨터 시스템(32, 34) 상호간에 세션이 설정된 상태(11단계)에서, 데이터 전송이 종료된 경우에 서버로서 동작하는 컴퓨터 시스템(32)은 연결 해제를 요청하는 RMIC 패킷을 전송한다(12단계). 이 때, 선택된 연결 포트 및 통신 방법으로 세션 설정이 이루어져 있기 때문에, 세션의 연결 해제를 요청하는 경우에 전송되는 RMIC 패킷은 통신 방법 및 연결 포트를 포함하지 않고, RMI 패킷과 연결 해제를 나타내는 데이터로 이루어질 수도 있을 것이다.Referring to FIG. 6, in a state in which a session is established between computer systems 32 and 34 through an RMIC packet (step 11), when the data transmission is terminated, the computer system 32 operating as a server requests to disconnect. The RMIC packet is transmitted (step 12). At this time, since the session setup is made with the selected connection port and communication method, the RMIC packet transmitted when the session is requested to be disconnected is not included in the communication method and connection port, but is data indicating the RMI packet and the connection release. It could be done.

RMIC 패킷을 수신한 컴퓨터 시스템(34)은 지정된 메소드를 추출하여 이를 실행하고(13단계), 서버로서 동작하는 컴퓨터 시스템(32)으로 연결 해제에 대한 RMIC 응답 신호를 전송한다(14단계). RMIC 응답 신호를 수신한 컴퓨터 시스템(32)은 통신용 어플리케이션을 종료함으로써(15단계) 세션을 해제한다(16단계).Receiving the RMIC packet, the computer system 34 extracts and executes the designated method (step 13), and transmits an RMIC response signal for disconnection to the computer system 32 operating as a server (step 14). Upon receiving the RMIC response signal, the computer system 32 releases the session (step 16) by terminating the communication application (step 15).

한편, 본 발명의 원격 메소드 호출을 이용한 동적 통신 방법은 Peer-to-Peer로 연결된 경우에는, 예컨대 IP 어드레스와 같이 통신을 수행할 컴퓨터 시스템의 식별 정보를 미리 알고 있어야 한다. 그러나, 본 발명의 동적 통신을 이용할 복수의 컴퓨터 시스템을 대상으로, 각 컴퓨터 시스템의 IP 어드레스를 수집할 수 있는 서버를 구축하는 경우에는 동적 통신을 수행할 컴퓨터 시스템을 선택할 수 있을 것이다.Meanwhile, in the dynamic communication method using the remote method call of the present invention, when connected by peer-to-peer, identification information of a computer system to communicate, such as an IP address, must be known in advance. However, in the case of constructing a server capable of collecting IP addresses of each computer system for a plurality of computer systems using the dynamic communication of the present invention, a computer system to perform dynamic communication may be selected.

도 7은 본 발명의 바람직한 실시 예에 따른 원격 메소드 호출을 이용한 동적 통신 시스템에 있어서, 서버/클라이언트 구조를 통하여 동적 통신을 수행하는 경우를 나타낸 도면이다.FIG. 7 is a diagram illustrating a case where dynamic communication is performed through a server / client structure in a dynamic communication system using a remote method call according to an exemplary embodiment of the present invention.

도 7을 참조하면, 본 발명의 동적 통신 시스템은 복수의 클라이언트 시스템(42, 44)과, 네트워크를 통하여 클라이언트 시스템(42, 44)을 통합하여 연결하는 서버 시스템(40)으로 이루어진다. 서버 시스템(40)과 각 클라이언트 시스템(42, 44)은 도 5 및 도 6에 도시된 바와 같은 동적 통신을 수행한다. 즉, 서버 시스템(40)과 클라이언트 시스템(42, 44)은 RMIC 패킷을 통하여 데이터 전송이 이루어지는 동안에만 세션을 유지하는 RMIC 연결을 수행한다. 따라서, 서버 시스템(40)은 RMIC 연결을 수행하는 클라이언트 시스템(42, 44)의 IP 어드레스 정보를 가질 수 있다.Referring to FIG. 7, the dynamic communication system of the present invention comprises a plurality of client systems 42 and 44 and a server system 40 integrating and connecting the client systems 42 and 44 through a network. The server system 40 and each client system 42, 44 perform dynamic communication as shown in FIGS. 5 and 6. That is, the server system 40 and the client systems 42 and 44 perform an RMIC connection that maintains a session only while data transmission is made through the RMIC packet. Thus, server system 40 may have IP address information of client systems 42 and 44 making RMIC connections.

한편, 클라이언트 시스템(42, 44)은 상호간의 IP 정보를 가지지 않을 수 있다. 이 때, 제1 클라이언트 시스템(42)에서 제2 클라이언트 시스템(44)으로의 RMIC 연결을 위해서는 서버 시스템(40)을 통하여 제2 클라이언트 시스템(44)의 IP 정보를 획득할 수 있다. 이 때, 제1 클라이언트 시스템(42)에서 제2 클라이언트 시스템(44)의 IP 정보를 획득하는 과정도 본 발명의 RMIC 연결을 통하여 이루어지는 것은 자명할 것이다.On the other hand, the client systems 42 and 44 may not have mutual IP information. At this time, for the RMIC connection from the first client system 42 to the second client system 44, IP information of the second client system 44 may be acquired through the server system 40. At this time, it will be apparent that the process of acquiring the IP information of the second client system 44 from the first client system 42 is also performed through the RMIC connection of the present invention.

따라서, 제1 클라이언트 시스템(42)은 획득한 제2 클라이언트 시스템(44)의IP 정보를 이용하여, 제2 클라이언트 시스템(44)과 본 발명의 RMIC 연결이 가능하다. 여기에서, 본 발명의 동적 통신은 데이터 전송의 시작부터 데이터 전송의 종료 시점까지의 기간 동안만 세션을 개방하기 때문에, 도 7에서 RMIC 연결을 점선으로 도시하였다.Accordingly, the first client system 42 may connect the second client system 44 with the RMIC of the present invention by using the acquired IP information of the second client system 44. Here, since the dynamic communication of the present invention opens the session only for a period from the start of the data transmission to the end of the data transmission, the RMIC connection is shown in dotted lines in FIG.

본 발명의 원격 메소드 호출을 이용한 동적 통신 방법을, 컴퓨터 시스템 상호간의 대화가 가능한 메신저 프로그램에 적용하는 경우를 예로 들어 보자.As an example, the dynamic communication method using the remote method call of the present invention is applied to a messenger program that can communicate with computer systems.

지금까지 이용되고 있는 메신저 프로그램을 살펴보면, 대화 상대를 선택하여 등록하면, 등록된 대화 상대가 메신저 프로그램의 일측 화면에 표시된다. 이 때, 화면에는 등록된 대화 상대가 서버 시스템에 접속되어 있는지, 접속되지 않았는지의 상태가 표시된다. 대화 상대가 서버 시스템에 접속되지 않은 경우에는 해당하는 상대방과의 세션 연결이 이루어지지 않기 때문에 대화가 불가능하다.Looking at the messenger program used so far, if a chat partner is selected and registered, the registered chat partner is displayed on one screen of the messenger program. At this time, the screen displays a status of whether the registered chat partner is connected to or not connected to the server system. If the contact is not connected to the server system, the conversation is not possible because the session connection with the corresponding party is not established.

그러나, 본 발명의 원격 메소드 호출을 이용한 동적 통신 방법을 적용하면, 대화하고자 하는 상대가 서버 시스템에 접속되지 않은 경우에도 RMI을 이용하여 상대방과의 세션 설정이 가능하다. 따라서, 클라이언트 시스템은 다른 클라이언트 시스템의 IP 정보를 획득하거나, 필요한 데이터를 전송하는 경우에만 서버 시스템에 연결하면 되고, 서버 시스템과의 세션을 유지할 필요가 없다. 결국, 서버 시스템의 경우에도 수많은 클라이언트 시스템과의 세션을 계속적으로 유지할 필요가 없기 때문에, 시스템의 부하를 감소시키고 데이터 전송의 효율을 높일 수 있다. 또한, 클라이언트 시스템 역시, 대화할 클라이언트 시스템이 서버 시스템에 접속되어 있는지 여부에 상관없이 필요에 따라 세션 연결을 통하여 데이터 전송이 가능해 진다.However, if the dynamic communication method using the remote method call of the present invention is applied, it is possible to establish a session with the counterpart by using the RMI even when the counterpart to communicate with is not connected to the server system. Therefore, the client system only needs to connect to the server system when obtaining IP information of another client system or transmitting necessary data, and there is no need to maintain a session with the server system. As a result, even in a server system, there is no need to continuously maintain sessions with a large number of client systems, thereby reducing the load on the system and increasing the efficiency of data transmission. In addition, the client system also enables data transmission through a session connection as needed, regardless of whether the client system to be communicated with is connected to the server system.

도 8a 내지 도 8c는 본 발명의 바람직한 실시 예에 따른 원격 메소드 호출을 이용한 동적 통신 방법에 있어서, 동적 통신을 위한 프로그램의 화면 예시도를 나타낸 것이다.8A to 8C illustrate screen examples of a program for dynamic communication in a dynamic communication method using a remote method call according to an exemplary embodiment of the present invention.

먼저, 도 8a는 서버/클라이언트 구조로 시스템을 구축하는 경우에, 서버 시스템의 관리자가 복수의 클라이언트 시스템을 대상으로 서버 시스템의 IP 어드레스를 세팅하는 경우를 나타낸 것이다. 이 때, 서버 시스템의 관리자는 서버 시스템의 IP 어드레스뿐만 아니라 각 부서별 정보와 부서를 구성하는 구성원의 직책 및 관리자에 관한 정보를 설정할 수 있다.First, FIG. 8A illustrates a case where an administrator of a server system sets an IP address of a server system for a plurality of client systems when building a system in a server / client structure. At this time, the administrator of the server system can set not only the IP address of the server system but also information about each department and the position and manager of the members constituting the department.

도 8b는 클라이언트 시스템에서 본 발명의 동적 통신을 수행할 수 있는 프로그램의 화면 예시도이다. 클라이언트 시스템은 서버 시스템의 접속을 위한 ID와 패스워드, RMIC 연결을 위한 개인 회원과 그룹 회원 등에 관한 정보를 기록할 수 있다.8B is an exemplary view of a screen of a program capable of performing dynamic communication of the present invention in a client system. The client system may record information about an ID and password for accessing the server system, individual members and group members for RMIC connection, and the like.

도 8c는 클라이언트 시스템의 프로그램에서 동적 통신을 위한 사용자의 개인 정보를 입력하는 화면 예시도이다. 여기에서는 이름, 주민 등록 번호, 전화 번호, 주소, 회사 상호, 부서, 직책, ID와 패스워드에 관한 입력 항목이 있지만, 이러한 개인 정보는 그 항목이 다양하게 변경될 수 있을 것이다.8C is an exemplary view of inputting personal information of a user for dynamic communication in a program of a client system. There are entries for names, social security numbers, telephone numbers, addresses, company names, departments, titles, IDs, and passwords, but these personal information may vary.

본 발명의 원격 메소드 호출을 이용한 동적 통신 방법은 필요에 따라 ERP(Enterprise Resource Planning) 및 CRM(Customer Relationship Management) 등에 응용될 수 있을 것이다.The dynamic communication method using the remote method call of the present invention may be applied to Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM) as necessary.

상술한 같이, 본 발명의 원격 메소드 호출을 이용한 동적 통신 방법 및 시스템에 따르면, RMI를 이용하여 데이터 전송이 이루어지는 기간 동안에만 세션 연결이 이루어지기 때문에, 클라이언트 시스템 또는 서버 시스템의 부하를 줄일 수 있다.As described above, according to the dynamic communication method and system using the remote method call of the present invention, since the session connection is made only during the period of data transmission using the RMI, it is possible to reduce the load on the client system or the server system.

또한, 본 발명의 원격 메소드 호출을 이용한 동적 통신 방법 및 시스템은 전송할 데이터의 종류에 따라, 통신 방법을 제어할 수 있기 때문에 세션 연결 상태에서, 데이터 전송의 효율을 극대화할 수 있다.In addition, the dynamic communication method and system using the remote method call of the present invention can control the communication method according to the type of data to be transmitted, thereby maximizing the efficiency of data transmission in the session connection state.

또한, 본 발명의 원격 메소드 호출을 이용한 동적 통신 방법 및 시스템은 대화 상대의 서버 시스템 접속 여부에 상관없이, 필요에 따라 세션 연결을 위한 호출이 가능하다.In addition, the dynamic communication method and system using the remote method call of the present invention can be called for the session connection, if necessary, regardless of whether or not the chat partner is connected to the server system.

특히, 본 발명의 원격 메소드 호출을 이용한 동적 통신 방법을 수행하는 프로그램을 사용하는 경우에, 사용자들 사이에서 데이터 전송을 위한 최소 동선을 확보할 수 있으며, 고속의 데이터 전송과 보안성을 유지할 수 있다.In particular, when using a program that performs a dynamic communication method using a remote method call of the present invention, it is possible to secure a minimum copper wire for data transmission between users, and to maintain high-speed data transmission and security. .

상기에서는 본 발명에 따른 원격 메소드 호출을 이용한 동적 통신 방법 및 시스템을 바람직한 실시 예를 통하여 상세하게 기술하였지만, 그 내용은 하기 청구범위에 기술된 본 발명의 분야에만 한정되지 않는다. 또한, 상기 기술 분야에 있어서, 통상의 지식을 가진 사람은 본 발명의 범위 내에서 이를 다양하게 변경하거나 수정하는 것이 자명할 것이다.In the above, the dynamic communication method and system using the remote method call according to the present invention have been described in detail through a preferred embodiment, but the content is not limited to the field of the present invention described in the claims below. In addition, in the art, it will be apparent to those skilled in the art that various changes or modifications are made within the scope of the present invention.

Claims (10)

RMI(Remote Method Invocation)을 이용하여 데이터 통신을 수행하는 방법에 있어서,In the method of performing data communication using Remote Method Invocation (RMI), 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC(Remote Method Invocation for Communication) 패킷을 생성하는 단계;Generating a Remote Method Invocation for Communication (RMIC) packet to which an RMI packet capable of invoking a designated method is attached, at least one of a communication method, a connection port, and connection setting data for data communication; 데이터 통신을 수행하기 위하여, 세션을 연결할 상대방 컴퓨터 시스템으로 상기 RMIC 패킷을 전송함으로써, RMIC 패킷을 수신한 상대방 컴퓨터 시스템 내부의 저정된 메소드를 호출하는 단계;In order to perform data communication, calling the stored method inside the counterpart computer system that has received the RMIC packet by transmitting the RMIC packet to the counterpart computer system to which the session is to be connected; 상기 상대방 컴퓨터 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 단계;Receiving a response signal for an RMIC packet from the counterpart computer system; 상기 응답 신호에 응하여, 상대방 컴퓨터 시스템과 세션을 연결하는 단계; 및In response to the response signal, connecting a session with a counterpart computer system; And 세션 연결 상태에서, 지정된 통신 방법으로 데이터를 전송하는 단계In a session connection state, transmitting data in a specified communication method 를 포함하는 원격 메소드 호출을 이용한 동적 통신 방법.Dynamic communication method using a remote method call comprising a. 제1항에 있어서,The method of claim 1, 데이터 전송이 완료된 경우에, 세션 해제를 위한 RMIC 패킷을 전송하는 단계When the data transmission is completed, transmitting an RMIC packet for session release 를 더 포함하는 원격 메소드 호출을 이용한 동적 통신 방법.Dynamic communication method using a remote method call further comprising. 복수의 클라이언트 시스템을 연결하는 서버 시스템을 통하여, RMI를 이용하여 데이터 통신을 수행하는 방법에 있어서,In the method for performing data communication using RMI through a server system connecting a plurality of client systems, 서버 시스템에 접속하여, 데이터 통신을 수행할 상대방 클라이언트 시스템의 IP 어드레스를 제공받는 단계;Accessing a server system and receiving an IP address of a counterpart client system to perform data communication; 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 생성하는 단계;Generating, for a RMI packet capable of invoking a designated method, an RMIC packet to which at least one of a communication method, a connection port, and connection setting data for data communication is attached; 서버 시스템으로부터 제공받은 상대방 클라이언트 시스템의 IP 어드레스를 이용하여, 세션을 연결할 상대방 클라이언트 시스템으로 상기 RMIC 패킷을 전송함으로써, RMIC 패킷을 수신한 상대방 클라이언트 시스템 내부의 저정된 메소드를 호출하는 단계;Calling the stored method inside the counterpart client system that has received the RMIC packet by transmitting the RMIC packet to the counterpart client system to which the session is to be connected using the IP address of the counterpart client system provided from the server system; 상기 상대방 클라이언트 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 단계;Receiving a response signal for an RMIC packet from the counterpart client system; 상기 응답 신호에 응하여, 상대방 클라이언트 시스템과 세션을 연결하는 단계; 및In response to the response signal, establishing a session with a counterpart client system; And 세션 연결 상태에서, 지정된 통신 방법으로 데이터를 전송하는 단계In a session connection state, transmitting data in a specified communication method 를 포함하는 원격 메소드 호출을 이용한 동적 통신 방법.Dynamic communication method using a remote method call comprising a. 제3항에 있어서,The method of claim 3, 상기 서버 시스템에 접속하여, 데이터 통신을 수행할 상대방 클라이언트 시스템의 IP 어드레스를 제공받는 단계는Accessing the server system and receiving an IP address of the other client system to perform data communication 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 생성하는 단계;Generating, for a RMI packet capable of invoking a designated method, an RMIC packet to which at least one of a communication method, a connection port, and connection setting data for data communication is attached; IP 어드레스를 이용하여, 상기 서버 시스템으로 RMIC 패킷을 전송함으로써, RMIC 패킷을 수신한 서버 시스템 내부의 저정된 메소드를 호출하는 단계;Calling an stored method inside the server system that has received the RMIC packet by sending an RMIC packet to the server system using an IP address; 상기 서버 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 단계;Receiving a response signal for an RMIC packet from the server system; 상기 응답 신호에 응하여, 서버 시스템과 세션을 연결하는 단계; 및In response to the response signal, connecting a session with a server system; And 세션 연결 상태에서, 서버 시스템으로부터 전송된 IP 어드레스를 수신하는 단계In a session connection state, receiving an IP address sent from a server system 를 포함하는 원격 메소드 호출을 이용한 동적 통신 방법.Dynamic communication method using a remote method call comprising a. 네트워크를 통하여 연결된 복수의 클라이언트 시스템에 대하여, RMI를 이용하여 데이터 통신을 수행하는 방법에 있어서,In the method for performing data communication using a RMI for a plurality of client systems connected via a network, 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 수신하는 단계;Receiving, for an RMI packet capable of invoking a specified method, an RMIC packet to which at least one of a communication method, a connection port, and connection setting data for data communication is attached; 상기 RMIC 패킷에 포함된 RMI 패킷에 따라, 지정된 메소드를 실행하는 단계;Executing a specified method according to an RMI packet included in the RMIC packet; 상기 RMIC 패킷을 전송한 클라이언트 시스템으로 응답 신호를 전송하는 단계;Transmitting a response signal to a client system that has transmitted the RMIC packet; 상기 RMIC 패킷을 전송한 클라이언트 시스템과 세션을 연결하는 단계; 및Connecting a session with a client system that transmitted the RMIC packet; And 상기 RMIC 패킷을 전송한 클라이언트 시스템으로, 선택된 데이터를 전송하는 단계Transmitting the selected data to the client system that transmitted the RMIC packet; 를 포함하는 원격 메소드 호출을 이용한 동적 통신 방법.Dynamic communication method using a remote method call comprising a. RMI를 이용하여 데이터 통신을 수행하는 시스템에 있어서,In a system for performing data communication using RMI, 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 생성하는 RMIC 패킷 생성부;An RMIC packet generation unit for generating an RMIC packet to which an RMI packet capable of invoking a designated method is attached, at least one of a communication method, a connection port, and connection setting data for data communication; 데이터 통신을 수행하기 위하여, 세션을 연결할 상대방 컴퓨터 시스템으로 상기 RMIC 패킷을 전송함으로써, RMIC 패킷을 수신한 상대방 컴퓨터 시스템 내부의 저정된 메소드를 호출하는 RMIC 패킷 전송부;In order to perform data communication, by sending the RMIC packet to the counterpart computer system to which the session is to be connected, an RMIC packet transmitter for calling a stored method inside the counterpart computer system that has received the RMIC packet; 상기 상대방 컴퓨터 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 수신부;A receiving unit for receiving a response signal to the RMIC packet from the counterpart computer system; 상기 응답 신호에 응하여, 상대방 컴퓨터 시스템과 세션을 연결하는 세션 제어부; 및A session controller for connecting a session with a counterpart computer system in response to the response signal; And 세션 연결 상태에서, 지정된 통신 방법으로 데이터를 전송하는 데이터 전송부Data transmission unit for transmitting data in the specified communication method in the session connection state 를 포함하는 원격 메소드 호출을 이용한 동적 통신 시스템.Dynamic communication system using a remote method call comprising a. 네트워크를 통하여 연결된 복수의 클라이언트 시스템에 대하여, RMI를 이용하여 데이터 통신을 수행하는 시스템에 있어서,In a system for performing data communication using a RMI for a plurality of client systems connected via a network, 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 수신하는 RMIC 패킷 수신부;An RMIC packet receiving unit for receiving an RMIC packet to which an RMI packet capable of invoking a designated method is attached, at least one of a communication method, a connection port, and connection setting data for data communication; 상기 RMIC 패킷에 포함된 RMI 패킷에 따라, 지정된 메소드를 실행하는 메소드 실행부;A method execution unit that executes a specified method according to an RMI packet included in the RMIC packet; 상기 RMIC 패킷을 전송한 클라이언트 시스템으로 응답 신호 및 데이터 신호를 전송하는 신호 전송부; 및A signal transmitter for transmitting a response signal and a data signal to a client system that has transmitted the RMIC packet; And 상기 RMIC 패킷을 전송한 클라이언트 시스템과 세션을 연결하는 세션 제어부Session control unit for connecting the session with the client system that transmitted the RMIC packet 를 포함하는 원격 메소드 호출을 이용한 동적 통신 시스템.Dynamic communication system using a remote method call comprising a. RMI를 이용하여 동적 통신을 수행할 수 있도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 컴퓨터 프로그램 제품에 있어서,In a computer program product that is tangibly embodied in a program of instructions that can be executed by a digital processing device to perform dynamic communication using RMI, and which can be read by the digital processing device, 상기 동적 통신을 수행하는 방법이,The method of performing the dynamic communication, 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 생성하는 단계;Generating, for a RMI packet capable of invoking a designated method, an RMIC packet to which at least one of a communication method, a connection port, and connection setting data for data communication is attached; 데이터 통신을 수행하기 위하여, 세션을 연결할 상대방 컴퓨터 시스템으로 상기 RMIC 패킷을 전송함으로써, RMIC 패킷을 수신한 상대방 컴퓨터 시스템 내부의 저정된 메소드를 호출하는 단계;In order to perform data communication, calling the stored method inside the counterpart computer system that has received the RMIC packet by transmitting the RMIC packet to the counterpart computer system to which the session is to be connected; 상기 상대방 컴퓨터 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 단계;Receiving a response signal for an RMIC packet from the counterpart computer system; 상기 응답 신호에 응하여, 상대방 컴퓨터 시스템과 세션을 연결하는 단계; 및In response to the response signal, connecting a session with a counterpart computer system; And 세션 연결 상태에서, 지정된 통신 방법으로 데이터를 전송하는 단계In a session connection state, transmitting data in a specified communication method 를 포함하는 컴퓨터 프로그램 제품.Computer program product comprising a. 복수의 클라이언트 시스템을 연결하는 서버 시스템에 대하여 RMI를 이용하여 동적 통신을 수행할 수 있도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 컴퓨터 프로그램 제품에 있어서,In order to perform dynamic communication using RMI for a server system connecting a plurality of client systems, a program of instructions that can be executed by the digital processing apparatus is tangibly implemented and can be read by the digital processing apparatus. In a computer program product, 상기 동적 통신을 수행하는 방법이,The method of performing the dynamic communication, 서버 시스템에 접속하여, 데이터 통신을 수행할 상대방 클라이언트 시스템의 IP 어드레스를 제공받는 단계;Accessing a server system and receiving an IP address of a counterpart client system to perform data communication; 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 생성하는 단계;Generating, for a RMI packet capable of invoking a designated method, an RMIC packet to which at least one of a communication method, a connection port, and connection setting data for data communication is attached; 서버 시스템으로부터 제공받은 상대방 클라이언트 시스템의 IP 어드레스를 이용하여, 세션을 연결할 상대방 클라이언트 시스템으로 상기 RMIC 패킷을 전송함으로써, RMIC 패킷을 수신한 상대방 클라이언트 시스템 내부의 저정된 메소드를 호출하는 단계;Calling the stored method inside the counterpart client system that has received the RMIC packet by transmitting the RMIC packet to the counterpart client system to which the session is to be connected using the IP address of the counterpart client system provided from the server system; 상기 상대방 클라이언트 시스템으로부터 RMIC 패킷에 대한 응답 신호를 수신하는 단계;Receiving a response signal for an RMIC packet from the counterpart client system; 상기 응답 신호에 응하여, 상대방 클라이언트 시스템과 세션을 연결하는 단계; 및In response to the response signal, establishing a session with a counterpart client system; And 세션 연결 상태에서, 지정된 통신 방법으로 데이터를 전송하는 단계In a session connection state, transmitting data in a specified communication method 를 포함하는 컴퓨터 프로그램 제품.Computer program product comprising a. 네트워크를 통하여 연결된 복수의 클라이언트 시스템에 대하여, RMI를 이용하여 동적 통신을 수행할 수 있도록, 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 있는 컴퓨터 프로그램 제품에 있어서,For a plurality of client systems connected through a network, programs of instructions executable by the digital processing apparatus are tangibly implemented to be capable of performing dynamic communication using RMI, and can be read by the digital processing apparatus. In a computer program product, 상기 동적 통신을 수행하는 방법이,The method of performing the dynamic communication, 지정된 메소드를 호출할 수 있는 RMI 패킷에 대하여, 데이터 통신을 위한 통신 방법, 연결 포트 및 연결 설정 데이터 중 적어도 하나가 첨부된 RMIC 패킷을 수신하는 단계;Receiving, for an RMI packet capable of invoking a specified method, an RMIC packet to which at least one of a communication method, a connection port, and connection setting data for data communication is attached; 상기 RMIC 패킷에 포함된 RMI 패킷에 따라, 지정된 메소드를 실행하는 단계;Executing a specified method according to an RMI packet included in the RMIC packet; 상기 RMIC 패킷을 전송한 클라이언트 시스템으로 응답 신호를 전송하는 단계;Transmitting a response signal to a client system that has transmitted the RMIC packet; 상기 RMIC 패킷을 전송한 클라이언트 시스템과 세션을 연결하는 단계; 및Connecting a session with a client system that transmitted the RMIC packet; And 상기 RMIC 패킷을 전송한 클라이언트 시스템으로, 선택된 데이터를 전송하는 단계Transmitting the selected data to the client system that transmitted the RMIC packet; 를 포함하는 컴퓨터 프로그램 제품.Computer program product comprising a.
KR1020020022720A 2002-04-25 2002-04-25 Dynamic communication method and system using remote method invocation KR20030084164A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020022720A KR20030084164A (en) 2002-04-25 2002-04-25 Dynamic communication method and system using remote method invocation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020022720A KR20030084164A (en) 2002-04-25 2002-04-25 Dynamic communication method and system using remote method invocation

Publications (1)

Publication Number Publication Date
KR20030084164A true KR20030084164A (en) 2003-11-01

Family

ID=32380399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020022720A KR20030084164A (en) 2002-04-25 2002-04-25 Dynamic communication method and system using remote method invocation

Country Status (1)

Country Link
KR (1) KR20030084164A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100716171B1 (en) * 2005-05-13 2007-05-10 삼성전자주식회사 Apparatus and method for pooling the object of distributed system
WO2012118336A2 (en) * 2011-03-03 2012-09-07 (주)네오위즈게임즈 Packet-dumping system, and management terminal and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100716171B1 (en) * 2005-05-13 2007-05-10 삼성전자주식회사 Apparatus and method for pooling the object of distributed system
WO2012118336A2 (en) * 2011-03-03 2012-09-07 (주)네오위즈게임즈 Packet-dumping system, and management terminal and method
WO2012118336A3 (en) * 2011-03-03 2013-02-07 (주)네오위즈게임즈 Packet-dumping system, and management terminal and method
KR101245261B1 (en) * 2011-03-03 2013-03-19 (주)네오위즈게임즈 Packet Dumping System, Management Device and Method

Similar Documents

Publication Publication Date Title
JP4444518B2 (en) A distributed system that establishes intelligent sessions between anonymous users over various networks
US7631033B2 (en) Hosted method and system for automated proxy creation of device resident services
EP1593231B1 (en) Systems and methods for collaborative communication
US8176189B2 (en) Peer-to-peer network computing platform
US7792924B2 (en) Using a mobile phone to remotely control a computer via an overlay network
US7903656B2 (en) Method and system for message routing based on privacy policies
EP1227634B1 (en) Establishing a secure connection with a private corporate network over a public network
US20030105812A1 (en) Hybrid system architecture for secure peer-to-peer-communications
WO2004082152A2 (en) Supporting the exchange of data by distributed applications
KR100354369B1 (en) Information processing method, information processing apparatus, and storage medium for storing an information processing program
US7385621B2 (en) Private sharing of computer resources over an internetwork
US20030063121A1 (en) Determining availability of participants or techniques for computer-based communication
WO2009009967A1 (en) Instant messenger system, component and method for supplementary services
JP2003110596A (en) Data communication service providing method
US20050135269A1 (en) Automatic configuration of a virtual private network
US20030065723A1 (en) Computer-based communication using multiple communications channels
JP2002152269A (en) Method for internet communication
US20030065955A1 (en) Selection and interconnection of computer-based communications techniques
JP4874900B2 (en) Information processing system with collaborative devices
KR20030084164A (en) Dynamic communication method and system using remote method invocation
KR100430910B1 (en) Group-independent message transfer method and system lending specified application module
JP2002009846A (en) Communication system employing multimedia proxy server
CN113709163A (en) Method and system for realizing remote operation of computer based on wireless terminal
US7516408B2 (en) Method, system and program for switching between various computer-based communication techniques
US20030046398A1 (en) Method and system for managing a plurality of console devices in a network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application