KR20060091878A - The system for driving a jxta-c framework and the method for sending and receiving a message - Google Patents

The system for driving a jxta-c framework and the method for sending and receiving a message Download PDF

Info

Publication number
KR20060091878A
KR20060091878A KR1020050012611A KR20050012611A KR20060091878A KR 20060091878 A KR20060091878 A KR 20060091878A KR 1020050012611 A KR1020050012611 A KR 1020050012611A KR 20050012611 A KR20050012611 A KR 20050012611A KR 20060091878 A KR20060091878 A KR 20060091878A
Authority
KR
South Korea
Prior art keywords
message
jxta
task
framework
sending
Prior art date
Application number
KR1020050012611A
Other languages
Korean (ko)
Other versions
KR100662016B1 (en
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 KR1020050012611A priority Critical patent/KR100662016B1/en
Publication of KR20060091878A publication Critical patent/KR20060091878A/en
Application granted granted Critical
Publication of KR100662016B1 publication Critical patent/KR100662016B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 JXTA-C 프레임 워크 구동 시스템 및 방법에 관한 것으로, 특히 개인 간의 네트워크 서비스를 가능하게 하는 P2P(Peer To Peer) 기술을 지원하는 주요 소프트웨어 기술 중의 하나인 JXTA 프레임 워크를 CDMA 이동전화 단말기 상에 탑재하기 위한 소프트웨어 장치, JXTA 프레임 워크 및 CDMA 단말기 소프트웨어 사이의 통신방법에 관한 것이다.The present invention relates to a system and method for driving the JXTA-C framework. In particular, the JXTA framework, which is one of the major software technologies supporting Peer-to-Peer (P2P) technology that enables network services between individuals, is implemented on a CDMA mobile phone terminal. A communication method between a software device, a JXTA framework, and a CDMA terminal software for mounting on a computer.

본 발명의 JXTA-C 프레임 워크 구동 시스템은 JXTA 태스크로 리퀘스트 메시지를 보내는 UI 태스크; 및 상기 UI 태스크로부터 수신받은 리퀘스트 메시지를 처리하여 UI 태스크로 응답이나 인디케이터를 넘겨주는 JXTA 태스크;로 구성되되, 상기 JXTA 태스크는 상기 UI 태스크와 메시지를 송신 및 수신하고, 메시지 파싱 및 해당 라이브러리의 루틴을 수행하는 태스크 매니저; 상기 JXTA 태스크 내의 모듈의 실행을 관리하는 태스크 스케쥴러; 및 상기 JXTA 태스크의 데이터 송신 및 수신의 버퍼 및 모듈을 관리하는 메시지 큐;를 포함하는 것을 특징으로 한다.The JXTA-C framework driving system of the present invention includes a UI task for sending a request message to a JXTA task; And a JXTA task that processes a request message received from the UI task and passes a response or indicator to a UI task, wherein the JXTA task transmits and receives the UI task and a message, parses a message, and executes a routine of a corresponding library. A task manager to perform the task; A task scheduler for managing execution of modules in the JXTA task; And a message queue managing a buffer and a module for data transmission and reception of the JXTA task.

P2P, CDMA, JXTA, 프레임 워크 P2P, CDMA, JXTA, Framework

Description

JXTA-C 프레임 워크 구동 시스템 및 JXTA 메시지 송수신방법{The system for driving a JXTA-C framework and the method for sending and receiving a message}The system for driving a JXTA-C framework and the method for sending and receiving a message}

도 1은 본 발명의 이동전화 단말기를 위한 JXTA 플랫폼 구조를 나타낸 것이다.1 illustrates a JXTA platform structure for a mobile phone terminal of the present invention.

도 2는 본 발명의 소켓 인터페이스 및 이벤트 처리 모듈을 나타낸 것이다. 2 shows a socket interface and an event processing module of the present invention.

도 3은 본 발명의 메시지 수신 흐름도를 나타낸 것이다.3 shows a message receiving flowchart of the present invention.

도 4는 본 발명의 메시지 송신 흐름도를 나타낸 것이다.4 shows a message transmission flowchart of the present invention.

본 발명은 JXTA-C 프레임 워크 구동 시스템 및 방법에 관한 것으로, 특히 개인 간의 네트워크 서비스를 가능하게 하는 P2P(Peer To Peer) 기술을 지원하는 주요 소프트웨어 기술 중의 하나인 JXTA 프레임 워크를 CDMA 이동전화 단말기 상에 탑재하기 위한 소프트웨어 장치, JXTA 프레임 워크 및 CDMA 단말기 소프트웨어 사 이의 통신방법에 관한 것이다.The present invention relates to a system and method for driving the JXTA-C framework. In particular, the JXTA framework, which is one of the major software technologies supporting Peer-to-Peer (P2P) technology that enables network services between individuals, is implemented on a CDMA mobile phone terminal. And a communication method between the software device for mounting on the PC, the JXTA framework, and the CDMA terminal software.

일반적으로 JXTA와 같은 Java 기반의 소프트웨어 규격들은 멀티 태스킹을 지원하기 위해 다양한 형태의 쓰레드(thread) 기반의 동작 및 서비스를 이용하여 구성되어 있다. JXTA 프레임 워크 역시 각 기능 컴포넌트 및 플랫폼 동작을 위한 세부 프로세스들이 수많은 쓰레드들로 나누어져 동작하게 된다.In general, Java-based software specifications such as JXTA are composed of various types of thread-based operations and services to support multitasking. In the JXTA framework, the detailed processes for each functional component and platform operation are divided into numerous threads.

대부분의 상용 컴퓨팅 환경에서 동작이 가능한 Sun사의 Java 가상 머신은 기본적으로 쓰레드 기반의 실행 환경을 지원할 뿐만 아니라, 자동적인 메모리 관리 기법들을 제공하기 때문에 문제가 없다. 또한, Java 기반이 아닌 일반적인 PC 및 서버 환경에서 동작하는 대부분의 운영체제(윈도우즈, 유닉스 및 리눅스 등)는 별다른 무리 없이 직접 쓰레드 기반의 실행 환경을 지원하기 때문에 유사한 형태의 동작을 지원할 수 있다.Sun's Java virtual machine, which can run in most commercial computing environments, is native because it supports a thread-based execution environment and provides automatic memory management techniques. In addition, most operating systems (such as Windows, Unix, and Linux) that operate in general PC and server environments that are not Java-based can support similar types of operations because they directly support thread-based execution environments.

특히, C언어 기반으로 작성된 JXTA-C 프레임 워크의 경우에 대부분의 공개 표준 플랫폼/프레임 워크 표준들이 이용하고 있는 APR(Apache Runtime) 환경에서 동작할 수 있도록 설계되어 있는데, APR은 널리 알려진 웹 서버 프로그램인 아파치 서버를 모든 PC 환경에서 동작할 수 있도록 지원하는 가상적인 운영체제이므로 쓰레드 기반의 JXTA 프레임 워크에서 요구하는 대부분의 기능을 투명하게 수용한다.In particular, the C language-based JXTA-C framework is designed to run in the Apache Runtime environment, which is used by most open standard platform / framework standards. APR is a well-known web server program. Since it is a virtual operating system that supports in-server Apache to run in all PC environments, it transparently accommodates most of the features required by the thread-based JXTA framework.

한편, 대부분의 실시간 운영 시스템(RTOS)을 채용하고 있는 대부분의 전자 기기들(주로 통신 기기, 제어 시스템 및 계측 기기 등)은 동작의 안정성 및 실행 시간의 정확성을 위해 동적 메모리 관리 기능을 되도록 억제하고, 프로세스 관리도 역시 동적 제어, 할당보다는 테이블 기반의 사전 정의된 태스크 관리 기능을 제공 하며, 메모리 관리 역시 고정적인 메모리의 사전 할당 등을 제공함으로써 중요 산업분야에서 제공하는 미션 크리티컬한 기기들의 동작 오류를 최소화하는 방향으로 개발되는 것이 일반적이다.On the other hand, most electronic devices (mostly communication devices, control systems, and measurement devices, etc.) employing most real-time operating systems (RTOS) suppress dynamic memory management to ensure the stability of operation and the accuracy of execution time. In addition, process management also provides table-based predefined task management rather than dynamic control and allocation. Memory management also provides fixed memory pre-allocation, which can prevent operation-critical operation of mission-critical devices in critical industries. It is generally developed in a way that minimizes.

최근에는 개발이 쉽고, 여러 플랫폼으로의 이식성이 높은 Java 기술이 임베디드 시스템 상에서 다양하게 채용되어 적용되고 있으나, 아직까지는 개발 언어의 편리성과 소프트웨어 개발/관리의 편리함이 요구되는 게임/그래픽 등의 어플리케이션 등을 위한 영역에 한정적이다.Recently, Java technology, which is easy to develop and is highly portable to various platforms, has been adopted and applied to a variety of embedded systems. However, applications such as games and graphics that require convenience of development language and convenience of software development / management are still required. Limited to the area for

이에 본 발명은 상기 문제점을 해결하기 위한 것으로써, 다양한 시도가 확산되고 있는 P2P 네트워킹 기술에 기반한 서비스를 PC 환경에서 구동되는 P2P 소프트웨어(P2P에서는 클라이언트/서버라는 개념 대신에 모든 네트워크 상의 노드들을 하나의 피어라고 칭하고 있으며, 해당 시스템의 성능/역할에 따라 각 피어가 각기 차별적인 기능을 제공하게 된다.)에 대응하는 피어 플랫폼을 이동전화 단말기 상에도 제공하도록 하여 P2P 기반에서 제공될 수 있는 다양한 서비스의 제공 범위를 확장시키는 것을 목적으로 한다.Accordingly, the present invention is to solve the above problems, P2P software (P2P is a client / server in the P2P software running in a PC environment based on the P2P networking technology, which is spreading various attempts to a single node on all networks It is called a peer, and each peer provides distinctive functions according to the performance / role of the system.), The peer platform can be provided on the mobile phone terminal to provide various services that can be provided on a P2P basis. It aims to expand the scope of provision.

본 발명은 JXTA-C 프레임 워크 구동 시스템 및 방법에 관한 것으로, 특히 개인 간의 네트워크 서비스를 가능하게 하는 P2P(Peer To Peer) 기술을 지원하는 주 요 소프트웨어 기술 중의 하나인 JXTA 프레임 워크를 CDMA 이동전화 단말기 상에 탑재하기 위한 소프트웨어 장치, JXTA 프레임 워크 및 CDMA 단말기 소프트웨어 사이의 통신방법에 관한 것이다.The present invention relates to a JXTA-C framework driving system and method, and more particularly to one of the major software technologies supporting peer-to-peer (P2P) technology that enables network services between individuals. A communication method between a software device, a JXTA framework, and CDMA terminal software for mounting on a computer.

본 발명의 JXTA-C 프레임 워크 구동 시스템은 JXTA 태스크로 리퀘스트 메시지를 보내는 UI 태스크; 및 상기 UI 태스크로부터 수신받은 리퀘스트 메시지를 처리하여 UI 태스크로 응답이나 인디케이터를 넘겨주는 JXTA 태스크;로 구성되되, 상기 JXTA 태스크는 상기 UI 태스크와 메시지를 송신 및 수신하고, 메시지 파싱 및 해당 라이브러리의 루틴을 수행하는 태스크 매니저; 상기 JXTA 태스크 내의 모듈의 실행을 관리하는 태스크 스케쥴러; 및 상기 JXTA 태스크의 데이터 송신 및 수신의 버퍼 및 모듈을 관리하는 메시지 큐;를 포함하는 것을 특징으로 한다.The JXTA-C framework driving system of the present invention includes a UI task for sending a request message to a JXTA task; And a JXTA task that processes a request message received from the UI task and passes a response or indicator to a UI task, wherein the JXTA task transmits and receives the UI task and a message, parses a message, and executes a routine of a corresponding library. A task manager to perform the task; A task scheduler for managing execution of modules in the JXTA task; And a message queue managing a buffer and a module for data transmission and reception of the JXTA task.

또한, 본 발명의 JXTA 메시지 수신방법은 소켓이 랑데부로부터 메시지를 받아 올바른 JXTA 메시지 형태인지 검사하여 메시지가 올바른 형태인 경우에는 JXTA 메신저로 보내고, 올바르지 않은 형태인 경우에는 메시지 큐에 있는 메시지를 삭제하는 제1단계; 메시지가 올바른 형태인 경우에 상기 JXTA 메신저가 데이터를 단위별로 분리된 요소의 형태로 추출하여 JXTA 메시지로 보내는 제2단계; 상기 JXTA 메시지가 메시지 요소 중에서 메시지 ID를 가진 데이터를 검색하여 JXTA 응답 핸들러로 보내는 제3단계; 상기 JXTA 응답 핸들러가 메시지 ID 형태에 맞는 데이터를 추출하여 응답 핸들러로 보내는 제4단계; 상기 응답 핸들러가 메시지를 팩(pack)하도록 메시지 팩으로 보내는 제5단계; 및 상기 메시지 팩이 메시지를 팩 처리하여 MPB 서비스를 통하여 상위 JXTA 서비스로 보내는 제6단계;를 포함하여 메시지를 수신하 는 것을 특징으로 한다.In addition, the JXTA message receiving method of the present invention receives a message from the rendezvous and checks whether the socket is in the correct JXTA message type, sends the message to the JXTA messenger if the message is in the correct form, and deletes the message in the message queue if the message is in the wrong form. First step; A second step in which the JXTA messenger extracts data in the form of elements separated by units and sends it as a JXTA message when the message is in a correct form; A third step in which the JXTA message retrieves data having a message ID among message elements and sends the data to a JXTA response handler; A fourth step of the JXTA response handler extracting data corresponding to the message ID form and sending the extracted data to the response handler; A fifth step of sending the response handler to a message pack to pack a message; And a sixth step, wherein the message pack processes the message and sends the message to a higher JXTA service through an MPB service.

또한, 본 발명의 JXTA 메시지 송신방법은 JXTA 리퀘스트 핸들러가 MPB 서비스로부터 요청받는 서비스의 내용에 따라 각각 다른 리퀘스트 함수를 호출하여 메시지 팩을 수행하여 메시지로 보내는 제1단계; 상기 메시지가 팩이 되어진 메시지를 JXTA 엔드 포인트(endpoint) 프로토콜(protocol)에서 사용할 수 있는 요소의 형태로 변환하여 JXTA 메시지로 보내는 제2단계; 상기 JXTA 메시지가 랑데부를 통해서 다른 피어(peer)로 메시지를 전송하기 위해 필요한 정보를 추가하여 소켓으로 보내는 제3단계; 및 상기 소켓이 소켓 함수를 호출하여 랑데부로 메세지를 전송하는 제4단계;를 포함하여 메시지를 송신하는 것을 특징으로 한다.In addition, the JXTA message transmission method of the present invention comprises a first step of the JXTA request handler to call a different request function according to the content of the service requested from the MPB service to perform a message pack and to send a message; A second step of converting the message-packed message into a JXTA message by converting the message into a form of an element usable in a JXTA endpoint protocol; A third step in which the JXTA message adds information necessary for transmitting a message to another peer through a rendezvous and sends it to a socket; And a fourth step of the socket transmitting a message to the rendezvous by calling a socket function.

이하, 본 발명의 실시예에 대한 구성 및 그 작용을 첨부한 도면을 참조하면서 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings, the configuration and operation of the embodiment of the present invention will be described in detail.

도 1은 본 발명의 이동전화 단말기를 위한 JXTA 플랫폼 구조를 나타낸 것이다. 모바일 JXTA-C는 UI 태스크(100)와 JXTA 태스크(200)로 구성되어 있고, JXTA 태스크(200)는 태스크 매니저(210), 태스크 스케쥴러(220) 및 메시지 큐(230)로 구성되어 있다. UI 태스크(100)에서 리퀘스트 메시지를 보내면 JXTA 태스크(200)에서 이를 처리하여 응답이나 인디케이터를 넘겨주는 클라이언트/서버와 유사한 구조로 이루어져 있다. JXTA 태스크(200) 내의 태스크 매니저(210), 태스크 스케쥴러(220) 및 메시지 큐(230)의 기능을 설명하면 다음과 같다.1 illustrates a JXTA platform structure for a mobile phone terminal of the present invention. The mobile JXTA-C is composed of a UI task 100 and a JXTA task 200, and the JXTA task 200 is composed of a task manager 210, a task scheduler 220, and a message queue 230. When the request message is sent from the UI task 100, the JXTA task 200 has a structure similar to that of a client / server which processes the request and passes a response or an indicator. The functions of the task manager 210, the task scheduler 220, and the message queue 230 in the JXTA task 200 will be described below.

태스크 매니저(210)는 JXTA 어플리케이션 라이브러리(211)를 포함하여 UI 태스크(100)와 JXTA 태스크(200) 간의 메시지를 송신 및 수신하고, 메시지 파싱 및 해당 라이브러리의 루틴을 수행한다.The task manager 210 includes a JXTA application library 211 to transmit and receive messages between the UI task 100 and the JXTA task 200, and parse messages and perform routines of the corresponding library.

태스크 스케쥴러(220)는 JXTA 플랫폼(221)을 포함하여 JXTA 태스크(200) 내의 모듈의 실행을 관리한다.Task scheduler 220 includes the JXTA platform 221 to manage the execution of modules in JXTA task 200.

메시지 큐(230)는 메시지 송신기(231)와 메시지 수신기(232)를 포함하여 데이터 송신 및 수신의 버퍼 및 모듈을 관리한다.The message queue 230 includes a message transmitter 231 and a message receiver 232 to manage buffers and modules for data transmission and reception.

상기 JXTA 태스크(200) 내의 태스크 매니저(210), 태스크 스케쥴러(220) 및 메시지 큐(230)와 같은 모듈들은 태스크 매니저(210)를 중심으로 유기적인 상호작용을 통하여 구동된다.Modules such as task manager 210, task scheduler 220, and message queue 230 within JXTA task 200 are driven through organic interaction around task manager 210.

도 2는 본 발명의 소켓 인터페이스 및 이벤트 처리 모듈을 나타낸 것이다. PC 환경을 기반으로 제작된 JXTA를 임베디드 시스템(embedded system)으로 인식하면서 발생한 문제 중의 하나가 소켓의 동작 방식의 차이이다. 윈도우/리눅스 기반에서 동작하는 JXTA 기본 소켓은 블로킹 소켓(blocking socket)을 사용한다. 쓰레드(thread)가 지원하는 시스템에서는 쓰레드 안에서 블로킹 소켓을 사용해서 이벤트를 계속적으로 기다려도 시스템 동작에는 영향을 주지 않지만, 실시간 임베디드 시스템에서는 블로킹 소켓을 사용하면 시스템이 멈춘다.2 shows a socket interface and an event processing module of the present invention. One of the problems caused by recognizing JXTA, which is based on the PC environment, as an embedded system is the difference in the way sockets work. JXTA default sockets running on Windows / Linux use a blocking socket. On systems that support threads, continually waiting for events using blocking sockets within a thread does not affect system behavior, but on a real-time embedded system, using blocking sockets causes the system to hang.

임베디드 시스템에서는 논 블로킹(non-blocking) 소켓을 사용하고, 소켓을 통해서 외부로부터 메시지가 전달되면 이벤트 핸들러(event handler, 500)가 이벤트를 발생해서 어플리케이션 층(application layer, 300)에 알린다. 이벤트를 받은 어플리케이션 층(300)은 APR(Apache Portable Runtime, 400)를 호출해서 소켓층(600)에 있는 소켓 수신 버퍼에 저장되어 있는 메시지를 읽어와서 처리한다. 메시 지를 전송할 때에도 APR 함수(400)를 호출해서 메시지를 소켓층(600)에 있는 소켓 송신 버퍼에 넣어 두면 소켓이 유효해 졌을 때 메시지를 외부로 전송한다.In embedded systems, non-blocking sockets are used, and when a message is passed from the outside through the socket, an event handler 500 generates an event and notifies the application layer 300. The application layer 300 receiving the event calls APR (Apache Portable Runtime, 400) to read and process the message stored in the socket receive buffer in the socket layer 600. When the message is sent, the APR function 400 is called to put the message in the socket send buffer in the socket layer 600. When the socket becomes valid, the message is transmitted to the outside.

도 3은 본 발명의 메시지 수신 흐름도를 나타낸 것이다.3 shows a message receiving flowchart of the present invention.

먼저, 소켓(800)이 랑데부(700)로부터 메시지를 받아(S100) 올바른 JXTA 메시지(1000) 형태인지 검사한다. 메시지가 올바른 형태인 경우에는 JXTA 메신저(900)로 보내고(S110), 올바르지 않은 형태인 경우에는 메시지 큐에 있는 메시지를 삭제한다.First, the socket 800 receives a message from the rendezvous 700 (S100) and checks whether a correct JXTA message 1000 is formed. If the message is in the correct form, it is sent to the JXTA messenger 900 (S110). If the message is in the wrong form, the message in the message queue is deleted.

다음, 메시지가 올바른 형태인 경우에 JXTA 메신저(900)가 로우 데이터(low data) 형태의 데이터를 단위별로 분리된 요소의 형태로 추출하여 JXTA 메시지(1000)로 보낸다(S120).Next, when the message is in the correct form, the JXTA messenger 900 extracts data in a low data form in the form of elements separated by units and sends it to the JXTA message 1000 (S120).

다음, JXTA 메시지(1000)가 메시지 요소 중에서 메시지 ID를 가진 데이터를 검색하여 JXTA 응답 핸들러(1100)로 보낸다(S130).Next, the JXTA message 1000 retrieves data having the message ID among the message elements and sends the data to the JXTA response handler 1100 (S130).

다음, JXTA 응답 핸들러(1100)는 메시지 ID 형태에 맞는 데이터를 추출하여 응답 핸들러(1200)로 보낸다(S140).Next, the JXTA response handler 1100 extracts data corresponding to the message ID form and sends it to the response handler 1200 (S140).

다음, 응답 핸들러(1200)는 MPB 서비스(1400)에서 사용될 형태로 메시지를 팩(pack)하도록 메시지 팩(1300)으로 보낸다(S150).Next, the response handler 1200 sends to the message pack 1300 to pack the message in the form to be used in the MPB service 1400 (S150).

다음, 메시지 팩(1300)은 메시지를 팩 처리하여 MPB 서비스(1400)를 통하여 상위 JXTA 서비스로 보낸다(S160).Next, the message pack 1300 packs the message and sends the message to the upper JXTA service through the MPB service 1400 (S160).

도 4는 본 발명의 메시지 송신 흐름도를 나타낸 것이다.4 shows a message transmission flowchart of the present invention.

먼저, JXTA 리퀘스트 핸들러(1500)는 MPB 서비스(1400)로부터 요청받는 (S200) 서비스의 내용에 따라 각각 다른 리퀘스트 함수를 호출하여 메시지 팩을 수행하여 메시지로 보낸다(S210).First, the JXTA request handler 1500 calls a different request function according to the contents of the service (S200) received from the MPB service 1400, performs a message pack, and sends the message as a message (S210).

다음, 메시지(1600)는 팩이 되어진 메시지를 JXTA 엔드 포인트(endpoint) 프로토콜(protocol)에서 사용할 수 있는 요소의 형태로 변환하여 JXTA 메시지(1000)로 보낸다(S220).Next, the message 1600 converts the packed message into a form of an element that can be used in the JXTA endpoint protocol and sends it to the JXTA message 1000 (S220).

다음, JXTA 메시지(1000)는 랑데부(700)를 통해서 다른 피어(peer)로 메시지를 전송하기 위해 필요한 정보를 추가하여 소켓(800)으로 보낸다(S230). 다른 피어(peer)로 메시지를 전송하기 위해 필요한 정보로는 릴레이(relay) 정보나 메시지를 수신받을 피어의 범용 단일 식별자(Universal Unique Identifier, UUID)가 있다.Next, the JXTA message 1000 adds information necessary for transmitting a message to another peer through the rendezvous 700 and sends it to the socket 800 (S230). Information required for transmitting a message to another peer includes relay information or a universal unique identifier (UUID) of a peer to receive the message.

다음, 소켓(800)이 소켓 함수를 호출하여 랑데부(700)로 메시지를 전송한다(S240).Next, the socket 800 calls the socket function to transmit a message to the rendezvous 700 (S240).

JXTA뿐만 아니라, 대부분의 실시간 운영 시스템에서 동작하기 위한 Java 기술은 개인용 컴퓨터나 서버 환경에서 제공할 수 있는 동적 요소들을 최대한 억제하고 있는 단순화된 구조의 시스템이므로, JXTA 프레임 워크와 같이 복잡도가 높은 소프트웨어의 경우에는 그대로 탑재하는 것에 무리가 있다.In addition to JXTA, Java technology for operating on most real-time operating systems is a simplified architecture that minimizes the dynamic elements that can be provided in a personal computer or server environment. In that case, it is hard to mount it as it is.

따라서, 본 발명은 P2P 서비스뿐만 아니라 다양한 형태로 개발되는 PC 환경에서의 소프트웨어(거의 모든 소프트웨어가 멀티 태스킹 환경에서 동작되도록 개발된다.)를 이동전화 단말기 상으로 가져올 수 있는 하나의 방법을 제공한다. 일례로, JXTA-C 플랫폼을 구동하기 위한 APR의 경우, C 언어로 잘 정의된 멀티태스킹을 지원하는 소프트웨어 플랫폼으로써, 이를 기반으로 하는 다양한 Java 기반의 네트 워크 서비스나 게임 등의 어플리케이션을 이동전화 단말기 등의 임베디드 시스템에 탑재하기 위한 기본적인 소프트웨어 구조를 제시하였다.Accordingly, the present invention provides one method that can bring not only P2P service but also software in a PC environment that is developed in various forms (almost all software is developed to operate in a multitasking environment) onto a mobile phone terminal. For example, APR for running the JXTA-C platform is a software platform that supports well-defined multitasking in C language. It is a mobile phone terminal that supports various Java-based network services or games based on this. Basic software structure for the embedded system is presented.

이상에서 설명한 내용을 통해 본 업에 종사하는 당업자라면 본 발명의 기술사상을 이탈하지 아니하는 범위 내에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용만으로 한정되는 것이 아니라 특허청구범위에 의하여 정해져야 한다.It will be apparent to those skilled in the art that various changes and modifications can be made without departing from the technical spirit of the present invention through the above description. Therefore, the technical scope of the present invention should not be limited only to the contents described in the embodiments, but should be defined by the claims.

이상에서와 같이 본 발명에 의한 JXTA-C 프레임 워크 구동 시스템 및 방법은Java 기술이 JXTA 프레임 워크와 같이 복잡도가 높은 소프트웨어에 그대로 탑재하기에는 무리가 있는 문제점을 개선함으로써 다양한 형태로 개발되는 PC 환경에서의 소프트웨어를 이동전화 단말기 상으로 가져올 수 있는 하나의 방법을 제공한다.As described above, the JXTA-C framework driving system and method according to the present invention improve the problem that Java technology is hard to be installed as it is in software with high complexity such as the JXTA framework. Provides one way to bring software onto a mobile phone terminal.

Claims (8)

JXTA 태스크로 리퀘스트 메시지를 보내는 UI 태스크; 및A UI task for sending request messages to JXTA tasks; And 상기 UI 태스크로부터 수신받은 리퀘스트 메시지를 처리하여 UI 태스크로 응답이나 인디케이터를 넘겨주는 JXTA 태스크;로 구성되되,JXTA task for processing the request message received from the UI task to pass a response or indicator to the UI task; 상기 JXTA 태스크는The JXTA task is 상기 UI 태스크와 메시지를 송신 및 수신하고, 메시지 파싱 및 해당 라이브러리의 루틴을 수행하는 태스크 매니저;A task manager for transmitting and receiving the UI task and the message, parsing a message, and performing a routine of a corresponding library; 상기 JXTA 태스크 내의 모듈의 실행을 관리하는 태스크 스케쥴러; 및A task scheduler for managing execution of modules in the JXTA task; And 상기 JXTA 태스크의 데이터 송신 및 수신의 버퍼 및 모듈을 관리하는 메시지 큐;A message queue that manages buffers and modules for data transmission and reception of the JXTA task; 를 포함하는 것을 특징으로 하는 JXTA-C 프레임 워크 구동 시스템.JXTA-C framework drive system comprising a. 청구항 1에 있어서,The method according to claim 1, 상기 태스크 매니저는 JXTA 어플리케이션 라이브러리를 포함하는 것을 특징으로 하는 JXTA-C 프레임 워크 구동 시스템.The task manager includes a JXTA application library, characterized in that the JXTA-C framework drive system. 청구항 1에 있어서,The method according to claim 1, 상기 태스크 스케쥴러는 JXTA 플랫폼을 포함하는 것을 특징으로 하는 JXTA-C 프레임 워크 구동 시스템.The task scheduler includes a JXTA platform. 청구항 1에 있어서,The method according to claim 1, 상기 메시지 큐는The message queue is 상기 UI 태스크로 메시지를 송신하는 메시지 송신기; 및 A message transmitter for sending a message to the UI task; And 상기 UI 태스크로부터 메시지를 수신하는 메시지 수신기;A message receiver for receiving a message from the UI task; 를 포함하는 것을 특징으로 하는 JXTA-C 프레임 워크 구동 시스템.JXTA-C framework drive system comprising a. 소켓이 랑데부로부터 메시지를 받아 올바른 JXTA 메시지 형태인지 검사하여 메시지가 올바른 형태인 경우에는 JXTA 메신저로 보내고, 올바르지 않은 형태인 경우에는 메시지 큐에 있는 메시지를 삭제하는 제1단계;Receiving a message from the rendezvous and checking whether the message is in the correct JXTA message type and sending the message to the JXTA messenger if the message is in the correct form, and deleting the message in the message queue if the message is in the correct form; 메시지가 올바른 형태인 경우에 상기 JXTA 메신저가 데이터를 단위별로 분리된 요소의 형태로 추출하여 JXTA 메시지로 보내는 제2단계;A second step in which the JXTA messenger extracts data in the form of elements separated by units and sends it as a JXTA message when the message is in a correct form; 상기 JXTA 메시지가 메시지 요소 중에서 메시지 ID를 가진 데이터를 검색하여 JXTA 응답 핸들러로 보내는 제3단계;A third step in which the JXTA message retrieves data having a message ID among message elements and sends the data to a JXTA response handler; 상기 JXTA 응답 핸들러가 메시지 ID 형태에 맞는 데이터를 추출하여 응답 핸들러로 보내는 제4단계;A fourth step of the JXTA response handler extracting data corresponding to the message ID form and sending the extracted data to the response handler; 상기 응답 핸들러가 메시지를 팩(pack)하도록 메시지 팩으로 보내는 제5단계; 및A fifth step of sending the response handler to a message pack to pack a message; And 상기 메시지 팩이 메시지를 팩 처리하여 MPB 서비스를 통하여 상위 JXTA 서비스로 보내는 제6단계;A sixth step in which the message pack processes the message and sends the message to a higher JXTA service through an MPB service; 를 포함하여 메시지를 수신하는 것을 특징으로 하는 JXTA 메시지 수신방법.JXTA message receiving method comprising receiving a message. 청구항 5에 있어서,The method according to claim 5, 상기 제5단계의 데이터는 로우 데이터(low data) 형태인 것을 특징으로 하는 JXTA 메시지 수신방법.And the data of the fifth step is in the form of low data. JXTA 리퀘스트 핸들러가 MPB 서비스로부터 요청받는 서비스의 내용에 따라 각각 다른 리퀘스트 함수를 호출하여 메시지 팩을 수행하여 메시지로 보내는 제1단계;A first step in which the JXTA request handler calls a different request function according to the contents of the service requested from the MPB service, performs a message pack, and sends the message to the message; 상기 메시지가 팩이 되어진 메시지를 JXTA 엔드 포인트(endpoint) 프로토콜(protocol)에서 사용할 수 있는 요소의 형태로 변환하여 JXTA 메시지로 보내는 제2단계;A second step of converting the message-packed message into a JXTA message by converting the message into a form of an element usable in a JXTA endpoint protocol; 상기 JXTA 메시지가 랑데부를 통해서 다른 피어(peer)로 메시지를 전송하기 위해 필요한 정보를 추가하여 소켓으로 보내는 제3단계; 및A third step in which the JXTA message adds information necessary for transmitting a message to another peer through a rendezvous and sends it to a socket; And 상기 소켓이 소켓 함수를 호출하여 랑데부로 메세지를 전송하는 제4단계;A fourth step in which the socket calls a socket function to transmit a message to a rendezvous; 를 포함하여 메시지를 송신하는 것을 특징으로 하는 JXTA 메시지 송신방법.JXTA message transmission method, characterized in that for transmitting a message. 청구항 7에 있어서,The method according to claim 7, 상기 다른 피어로 메시지를 전송하기 위해 필요한 정보는 릴레이(relay) 정보나 메시지를 수신받을 피어의 범용 단일 식별자(Universal Unique Identifier, UUID)인 것을 특징으로 하는 JXTA 메시지 송신방법.The information necessary for transmitting the message to the other peer is relay information or Universal Unique Identifier (UUID) of the peer that will receive the message.
KR1020050012611A 2005-02-16 2005-02-16 The system for driving a JXTA-C framework and the method for sending and receiving a message KR100662016B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050012611A KR100662016B1 (en) 2005-02-16 2005-02-16 The system for driving a JXTA-C framework and the method for sending and receiving a message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050012611A KR100662016B1 (en) 2005-02-16 2005-02-16 The system for driving a JXTA-C framework and the method for sending and receiving a message

Publications (2)

Publication Number Publication Date
KR20060091878A true KR20060091878A (en) 2006-08-22
KR100662016B1 KR100662016B1 (en) 2006-12-27

Family

ID=37593542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050012611A KR100662016B1 (en) 2005-02-16 2005-02-16 The system for driving a JXTA-C framework and the method for sending and receiving a message

Country Status (1)

Country Link
KR (1) KR100662016B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515363A (en) * 2021-08-10 2021-10-19 中国人民解放军61646部队 Special-shaped task high-concurrency multi-level data processing system dynamic scheduling platform

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515363A (en) * 2021-08-10 2021-10-19 中国人民解放军61646部队 Special-shaped task high-concurrency multi-level data processing system dynamic scheduling platform
CN113515363B (en) * 2021-08-10 2022-02-15 中国人民解放军61646部队 Special-shaped task high-concurrency multi-level data processing system dynamic scheduling platform

Also Published As

Publication number Publication date
KR100662016B1 (en) 2006-12-27

Similar Documents

Publication Publication Date Title
US10498625B1 (en) Distributed testing service
US7877091B2 (en) Method and system for executing a container managed application on a processing device
JP3730563B2 (en) Session management apparatus, session management method, program, and recording medium
US20010034782A1 (en) Efficient web based proxy message method and apparatus for message queuing middleware resident on a server computer
US20080313637A1 (en) Prediction-based dynamic thread pool management method and agent platform using the same
US8286194B2 (en) Coupling state aware systems
US10303529B2 (en) Protocol for communication of data structures
US11099915B2 (en) Optimizing startup time for event-driven functions
CN107682460B (en) Distributed storage cluster data communication method and system
US7661030B2 (en) Propagating debug information in a web services environment
US8326913B2 (en) Method and system for service contract discovery
CN113641410A (en) Netty-based high-performance gateway system processing method and system
US20030236826A1 (en) System and method for making mobile applications fault tolerant
CN113778714B (en) Shared shear plate method and device compatible with Android for Linux
EP2015190B1 (en) Technique of controlling communication of installed apparatus with outside by means of proxy server
KR100662016B1 (en) The system for driving a JXTA-C framework and the method for sending and receiving a message
KR100494827B1 (en) Distributed object model based radio server with hardware-independent communication interface and communication control method using the same
CN111857964A (en) Method and equipment for transmitting data of virtual machine CAN port to physical machine CAN port equipment
CN112162868B (en) Data communication method, device and storage medium applied to cluster processing
US7898964B1 (en) Queue information monitoring system and method
CN115914330B (en) Heterogeneous inter-application communication method based on NIO asynchronous thread model
Li et al. Towards A Personal Mobile Cloud via Generic Device Interconnections
KR102515472B1 (en) Rl-based dds middleware system and method for optimizing session management thereof
CN115767448B (en) Message sending method, device, equipment and storage medium
KR100659172B1 (en) Interoperable system between agent platform and non-agent platform and method thereof, and recording medium thereof

Legal Events

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

Payment date: 20121105

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131121

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee